Echtzeit für Windows
Kithara RealTime Suite
Windows-Echtzeiterweiterung für PC-gestützte Automatisierung
Kithara RealTime Suite ist ein modulares Echtzeitbetriebssystem (RTOS) für Windows. Damit realisieren Sie auf einfache Weise industrielle Anwendungen für Automatisierungs-, Steuerungs- und Regelungsaufgaben sowie Bildverarbeitung in Echtzeit.
Fast sämtliche Mechanismen können sowohl von der Kernel- als auch von der Anwendungsebene aus benutzt werden. Dies ermöglicht Entwicklern, individuell zu entscheiden, ob direkt aus dem Anwendungsprogramm heraus auf Hardware zugegriffen werden soll oder ob „harte“ Echtzeit gefordert ist.
Sowohl 32-Bit- als auch 64-Bit-Anwendungen lassen sich aus einer einzigen, einheitlichen Code-Basis erstellen. Beide Welten sind absolut Sourcecode-kompatibel und mit einer speziellen integrierten Funktion (KiK64) sogar binärkompatibel. Sofort verwendbare Programmgerüste für die unten genannten Programmiersprachen und Compiler befinden sich in jeder Software-Lieferung. Jetzt
Testversion anfordern!
Unterstützte Programmiersprachen
Kithara RealTime Suite unterstützt unter anderem C, C++, Delphi und C#. Voraussetzung zum Erreichen von „harten“ Echtzeiteigenschaften ist die Ausführung des hardwarenahen, zeitkritischen Programmcodes auf der Kernel-Ebene des Systems. Dazu wird dieser Code in eine DLL verlagert, welche direkt in den Echtzeit-Kontext geladen wird. Grundsätzlich werden dafür Programmiersprachen benötigt, die nativen Code erzeugen können, zum Beispiel C, C++ oder Delphi. Im Anwendungsfall von C# kann die DLL dafür zum Beispiel in C++ programmiert werden.
Weitere Eckdaten
Module
Kithara RealTime Suite besteht aus verschiedenen Modulen. Die Software kann kundenspezifisch aus diesen Modulen zusammengestellt werden. Das Base/Kernel Module ist immer erforderlich. Nachfolgende Grafik illustriert die Beziehungen der Module zueinander:
Basisfunktionen
Base/Kernel Module
-
Unterstützt die folgenden Betriebssysteme: Windows 10 und 11 (32 und 64 Bit) sowie Windows Server 2016, 2019 und 2022, jeweils mit Dedicated Mode
-
Unterstützung von Mehrkernprozessoren, Hyperthreading und NUMA-Multiprozessor-PCs
-
Funktionen für: Öffnen des Treibers, Ausführung von Echtzeit-Code auf der Kernel-Ebene, Echtzeit-Speicherverwaltung, Device-Handling, Versionskontrolle, Debug-Hilfen, Systeminformationen
-
Echtzeit-Tasks, Events, Callbacks, Shared Memory, Daten- und Message-Pipes, schnelle Mutex-Objekte
Weitere Informationen …
System Module
-
Abfangen von Systemereignissen wie Schutzverletzungen und Systemabstürzen auf der Kernel-Ebene (zum Beispiel FailSafe-Handler/„BlueScreen-Handler“)
Weitere Informationen …
Echtzeitsystem
Timer Module
-
Ermittlung der Systemzeit in verschiedenen, auch anwenderspezifischen Zeitformaten, Auflösung bis ca. 0,1 μs
-
Hochgenaue Kurzzeitverzögerungen
-
Langzeitsynchronisation bei Systemuhren, Synchronisation mit EtherCAT Distributed Clocks (DC) und IEEE 1588
-
Erstellung einfacher Windows-Timer
Weitere Informationen …
RealTime Tasking Module
-
Entwicklung hochfrequenter Echtzeit-Timer-Routinen
-
Timer-Frequenz bis zu 20 kHz und mehr
-
Jitter im einstelligen Mikrosekundenbereich
-
Präemptives Echtzeitsystem mit bis zu 255 Prioritätsstufen
-
Betrieb von CPU-Kernen ausschließlich im Echtzeitmodus zur Vermeidung von Windows-Beeinflussung
Weitere Informationen …
PTP Module
-
Präzise Synchronisation mehrerer Netzwerkteilnehmer
-
Genaue Zeitstempel mit Abweichungen im Sub-Mikrosekundenbereich
-
Konfigurierbarer BMCA (Best Master Clock Algorithm)
-
Manuelle Einstellung von Master und Slaves
Weitere Informationen …
Kommunikation
Network Module
-
Ethernet-Kommunikation bis 200 Gbit/s in Echtzeit, beliebige Ethernet-Protokolle inklusive IP
-
Raw-Ethernet sowie UDP/TCP
-
Abfrage- oder ereignisgesteuert, automatische Adressermittlung durch ARP-Unterstützung
-
IP- und MAC-Multicast, Broadcast, Jumbo-Frames je nach verwendetem Controller
-
Unterstützung von Intel- oder RealTek-Netzwerk-Controllern (Hardware-Unterstützung auf Anfrage)
-
Unterstützung von BroadR-Reach (100BASE-T1)
Weitere Informationen …
USB RealTime Module
-
Ansprechen von USB-Geräten bis einschließlich USB 3.1 in Echtzeit über direkten und exklusiven Zugriff auf xHCI-Controller (Extensible Host Controller Interface)
-
Schnelle Reaktionszeiten und größtmöglicher Datendurchsatz
-
Control-, Bulk-, Interrupt- und Isochron-Transfer
-
Reaktion auf alle Plug-and-Play- und Power-Management-Ereignisse
Weitere Informationen …
USB Driver Module
-
Ansprechen von USB-Geräten bis einschließlich USB 3.1 über Windows-Treiberstack
-
Low-, Full-, High-Speed
-
Control-, Bulk-, Interrupt- und Isochron-Transfer
-
Reaktion auf alle Plug-and-Play- und Power-Management-Ereignisse
Weitere Informationen …
Serial/UART Module
-
Serielle Kommunikation in Echtzeit durch spezielle Hardware-Treiber auf UART-16550-kompatibler Hardware
-
Signal- und Handshake-Leitungen direkt ansteuerbar
-
Handler für alle Schnittstellen-Ereignisse in Echtzeit
-
Für alle nicht echtzeitfähigen COM-Ports wird ein alternatives API mitgeliefert
Weitere Informationen …
Device Module
-
Bereitstellung eines Windows-Programmier-Interfaces für Gerätekommunikation (ReadFile, WriteFile, DeviceIoControl)
-
Beliebige Gerätenamen, zum Beispiel für virtuelle COM-Ports
Weitere Informationen …
Hardware-Zugriff
IoPort Module
-
Zugriff auf alle I/O-Register des PCs aus Anwendung oder DLL
-
Ermittlung der PCI-Konfigurationsdaten und Ressourcen-Daten
Weitere Informationen …
Memory Module
-
Zugriff auf externen physischen Speicher (Dual-Port-RAM)
-
Bereitstellung von PC-Speicher für externe Hardware (DMA-Speicher)
Weitere Informationen …
Interrupt Module
-
Behandlung von Hardware-Interrupts auf der Anwendungs- oder Kernel-Ebene
-
Nutzung der Betriebssystem-Mechanismen zur Interrupt-Behandlung
-
Bei Vorliegen des RealTime Tasking Modules auch Echtzeit-Interrupts an PCI- oder PCIe-Hardware
Weitere Informationen …
MultiFunction Module
-
Zugriff auf Multifunktions-Erweiterungskarten in Echtzeit
-
Funktionen für A/D-, D/A- und Digital-I/O für Steuerung und Datenerfassung, Analog-I/O als Einzelwert, -Sequenz, -Block und -Endlos-Stream
-
Einheitliches API für Karten verschiedener Hersteller
Weitere Informationen …
Automatisierung
EtherCAT Module
-
EtherCAT in Echtzeit
-
Eigens entwickelter EtherCAT-Stack
-
Automatische Ermittlung der EtherCAT-Topologie; Synchronisation über XML-Datei oder SII-Protokoll
-
Prozessdaten- und Servicedaten-Kommunikation (PDO + SDO) sowie Mailbox-Kommunikation
-
CoE, EoE, FoE, SoE, DC, Safety-over-EtherCAT (TwinSAFE)
Weitere Informationen …
EtherCAT Automation Protocol
-
EtherCAT® Automation Protocol
-
Neuer Standard an Konnektivität bei Automatisierungsanlagen
-
Übertragungsrate von beispielsweise 1000 MBit/s und bis 200 GBit/s
Weitere Informationen …
CANopen Module
-
CANopen Master in Echtzeit, automatische Ermittlung der CANopen-Topologie
-
Prozessdaten- und Servicedaten-Kommunikation (PDO+SDO) sowie Mailbox-Kommunikation
Weitere Informationen …
Bildverarbeitung
Camera Module
-
Bilderfassung von GigE-Vision- und USB3-Vision-Kameras in Echtzeit, abfrage- oder ereignisgesteuert
-
Mehrere Kameras gleichzeitig, Hot-Plug-fähig, Fehlerbehandlung, Konfiguration nach GenICam 2.0
Weitere Informationen …
Vision Module
-
Bildverarbeitung von Bilddaten in Echtzeit über verschiedene Bildverarbeitungsbibliotheken
-
Unterstützung von Halcon Version 10 bis 13 sowie 18.11 und 20.11
-
Unterstützung von OpenCV 3, 3.4 und 4.1
Weitere Informationen …
Datenspeicherung
Storage Module
-
Echtzeit-Datenspeicherung über NVMe-SSD mit den jeweils aktuell angebotenen Kapazitäten
-
Highspeed-Lesen und -Schreiben mit mehreren Gbyte/s
-
UDF-Dateisystem
Weitere Informationen …
PCAPng Module
-
Echtzeit-Datenspeicherung im Wireshark-kompatiblen PCAPng-Format
-
Auslesen von z. B. Mess- oder Bilddaten zur späteren Analyse
Weitere Informationen …
MDF Module
-
Echtzeit-Datenspeicherung im Measurement Data Format (MDF)
-
Auslesen von erfassten und berechneten Daten zur späteren Analyse oder Lagerung
Weitere Informationen …
Automotive
FlexRay Module
-
FlexRay-Kommunikation in Echtzeit
-
Windows-PC als vollwertiger FlexRay-Knoten
-
Verwendung als Leading- oder Following-Start-Cold-Node
Weitere Informationen …
CAN Module
-
Echtzeit-Kommunikation über CAN (Controller Area Network)
-
Unterstützt Karten von Peak, Star Cooperation (Eberspächer), EMS Dr. Wünsche, ESD, Ixxat und Kvaser (Hardware-Unterstützung auf Anfrage)
-
Unterstützung von CAN FD (Flexible Data Rate)
Weitere Informationen …
LIN Module
-
Echtzeitkommunikation über LIN (Local Interconnect Network)
-
Kommunikation via UART (Hardware-Unterstützung auf Anfrage)
Weitere Informationen …
Bibliotheken
Library Module
-
C-Standard-Bibliothek in Echtzeit
-
Mathematische/trigonometrische sowie String-/Memory-Funktionen
-
Unterstützung von Anwendungs- und Kernel-Ebene
-
Unterstützung externer Bibliotheken für Bildverarbeitung und Machine Learning
Weitere Informationen …
Halcon Extension
-
Echtzeit-Bildverarbeitung mit Halcon
-
Automatische Parallelisierung
-
Integrierte Entwicklungsumgebung HDevelop
-
Unmittelbare Kontrollreaktion auf verarbeitete Bilddaten zum Beispiel über EtherCAT oder CANopen
Weitere Informationen …
OpenCV Extension
-
Echtzeit-Bildverarbeitung mit OpenCV
-
Automatische Parallelisierung
-
Unmittelbare Kontrollreaktion auf verarbeitete Bilddaten zum Beispiel über EtherCAT oder CANopen
Weitere Informationen …
Kundenspezifische Software-Zusammenstellung
Stellen Sie sich Ihren eigenen, maßgeschneiderten Custom Driver entsprechend den benötigten Funktionen einfach selbst zusammen oder lassen Sie sich kostenlos von uns beraten. Dieser Custom Driver bietet Ihnen so die höchste Flexibilität und hat folgende Eigenschaften:
-
Kithara RealTime Suite ist modular aufgebaut und ermöglicht ein individuell maßgeschneidertes Echtzeitbetriebssystem
-
Sie können für die Entwickler- und Runtime-Dateien einen eigenen Namen festlegen.
-
Stabiles API – keine Anpassung bei neuen Versionen erforderlich.
-
Mit dem Erwerb der Module erhalten Sie automatisch eine Entwicklerlizenz.
-
Günstige Staffelkonditionen für Runtime-Lizenzen je nach Bedarf.
-
Mehrere Updates über einen Zeitraum von 12 Monaten nach Ersterwerb
-
Update-Service jeweils um weitere 12 Monate verlängerbar.
-
Jederzeit um zusätzliche Module erweiterbar.
-
10 Stunden Entwickler-Support inklusive, darüber hinaus verschiedene Support-Pakete erhältlich (20, 50, 100 Stunden)
-
Support wird im übersichtlichen Kithara-Ticketsystem bearbeitet, ermöglicht schnellen und direkten Kontakt mit Entwicklern
Unser qualifiziertes Support-Team garantiert Ihnen den bestmöglichen Service bei der Einbindung der Software in Ihr Projekt und unterstützt Sie durch unseren Entwickler-Support (auch über Kithara-Software hinaus).
Plattformen
Echtzeitfähigkeit wird nur auf der Kernel-Ebene erzielt. Dazu wird eine Programmiersprache und -umgebung benötigt, die nativen Maschinencode erzeugt, wie etwa C, C++, Delphi und andere. Dennoch unterstützt
Kithara RealTime Suite verschiedene Plattformen, beispielsweise auch die .NET-Umgebung. Die Lösung besteht darin, den zeitkritischen Code in eine DLL zu verlagern, die mit den Funktionen von Kithara RealTime Suite direkt auf die Kernel-Ebene geladen wird und dadurch in den Echtzeit-Kontext gelangt. Sofort verwendbare Programmgerüste für die genannten Plattformen befinden sich in jeder Software-Lieferung.
Systemvoraussetzungen
Kithara RealTime Suite unterstützt eine breite Palette von Hardware- und Software-Kombinationen. Bei Fragen hierzu
kontaktieren Sie uns bitte!
Betriebssystem
Die Software unterstützt folgende Betriebssysteme:
-
Windows 10 und 11 (32 und 64 Bit), Dedicated Mode
-
Windows Server 2016, 2019 und 2022, Dedicated Mode
Hardware
Die Software läuft auf folgender Hardware:
-
CPU: AMD (ab Athlon) oder Intel (ab Pentium 2), 32 oder 64 Bit
-
Dual- oder Multi-Core; mit Multi-Core optional Hyperthreading verwendbar, derzeit bis 48 logische CPUs, darüber auf Anfrage
-
ACPI erforderlich (Advanced Control and Power Interface)
-
der PC muss PAE (Page Address Extension) unterstützen
-
Gigabit-Ethernet bis 200 GBit/s: Fast alle Controller von Intel und RealTek werden unterstützt
Compiler
Sofort verwendbare Programmgerüste für folgende Programmiersprachen/Compiler sind Teil der Software-Lieferung (auch weitere Programmiersprachen können auf Anfrage unterstützt werden):
-
Visual Studio 20xx C++ mit MFC-Oberfläche (mitgelieferte Projektdateien: VS 2010/12/13/15/17/19/22)
-
C++Builder (Embarcadero, ehem. Borland) mit VCL-Oberfläche
-
Delphi (Embarcadero, ehem. Borland) mit VCL-Oberfläche
-
Visual Studio 20xx C# mit WPF-Oberfläche (inkl. C++-DLL für Echtzeit-Ausführung, mitgelieferte Projektdateien: VS 2010/12/13/15/17/19/22)
Für die Code-Ausführung im Echtzeitkontext ist im Prinzip jeder Compiler verwendbar, der eine DLL mit nativem Maschinencode erzeugen kann. Die Windows-Anwendung kann jedoch auch mit anderen Programmiersprachen erzeugt werden, zum Beispiel mit C#.
EtherCAT® und Safety over EtherCAT® sind eingetragene Marken und patentierte Technologien, lizenziert durch die
Beckhoff Automation GmbH, Deutschland.
CANopen® ist ein registriertes Warenzeichen des
CAN in Automation e. V.
GigE Vision® ist ein registriertes Warenzeichen der
Automated Imaging Association.
USB3 Vision® ist ein registriertes Warenzeichen der
Automated Imaging Association.