Echtzeit-Kommunikation
Kithara RealTime Suite ist eine modulare Echtzeiterweiterung für Windows-Betriebssysteme. Sie enthält verschiedene Module für die deterministische Datenkommunikation über Ethernet, USB und Serial.
Echtzeit-Ethernet – RealTime Sockets
Ethernet-basierte Kommunikation beherrscht zunehmend auch industrielle Anwendungen. Die Standardfunktionen der Betriebssysteme können jedoch nicht mehr mithalten, echtzeitfähige Mechanismen sind erforderlich. Mit der Echtzeit-Ethernet-Umgebung können industrielle Kommunikationsaufgaben über alle Ethernet-basierten Protokolle in Echtzeit realisiert werden (einschließlich IP, also die weit verbreiteten Protokolle TCP und UDP).
Das Network Module von
Kithara RealTime Suite stellt die erforderlichen Mechanismen zur Verfügung, um über Ethernet-Controller in Echtzeit kommunizieren zu können, sowohl für Raw-Ethernet als auch für TCP und UDP. Die Echtzeit-Datenkommunikation erfolgt über Fast-Ethernet-Karten sowie Netzwerkkarten mit Gigabit-Ethernet-Controllern von Intel und Realtek, sodass auch schnelle Messwerterfassung oder
industrielle Bildverarbeitung realisierbar sind.
Zur Erreichung der Echtzeitfähigkeit werden die Netzwerkcontroller direkt angesteuert. Dadurch steht die gesamte Bandbreite der Verbindung zur Verfügung und die sofortige Reaktion auf eintreffende Datenpakete erfolgt in Echtzeit. Anders als sonst oftmals in Betriebssystemen üblich werden bei dieser Implementierung in der Regel jegliche Kopieroperationen vermieden. Sowohl beim Senden als auch beim Empfang benutzen Sie den gleichen Speicher wie der Netzwerk-Controller. Sie erreichen dadurch höchstmögliche Übertragungsraten und kürzeste Reaktionszeiten.
Funktionen für CRC-Berechnung und Byteorder-Wandlung werden bereitgestellt. Die Socket-Applikation erstellt der Entwickler, wie von Kithara gewohnt, komfortabel im Rahmen der Anwendung, die in C, C++ oder Delphi programmiert werden kann. Als DLL kann die Echtzeit-Applikation auch in eine C#-.NET-Anwendung eingebettet werden.
Kithara RealTime Suite geht damit weit über die Möglichkeiten von Windows-Betriebssystemen hinaus, die aufgrund mangelnder Echtzeitfähigkeit zur Lösung industrieller Anforderungen oftmals nicht geeignet sind.
Module
Echtzeit-Kommunikation besteht im modularen System von Kithara RealTime Suite aus folgenden Komponenten:
Network Module
Native Echtzeit-Treiber für schnelle Ethernet-Kommunikation
-
Allgemein
-
Features
-
Hardware-Unterstützung
-
Erweiterungen
Das Network Module stellt native Echtzeit-Ethernet-Treiber für die unterstützten Netzwerk-Controller bereit, sowohl für Kommunikation über Raw-Ethernet als auch UDP und TCP. Hierbei wird unter Umgehung sämtlicher behindernder Windows-Mechanismen mit hohen Übertragungsgeschwindigkeiten und unmittelbarer Reaktion für eine hohe Leistungsfähigkeit der Netzwerkkommunikation gesorgt. Unterstützt werden nahezu sämtliche Netzwerk-Controller von Intel und RealTek (siehe Hardware-Unterstützung).
Für maximal zwei Ethernet-Ports, darüber Network Port Extension erforderlich.
Bis zu 1 Gbit/s, darüber Network Data Rate Extension erforderlich.
-
Ethernet-Kommunikation bis 200 GBit/s in Echtzeit
-
Verzögerungsfreies Senden und sofortige Reaktion beim Empfang
-
Senden und Empfangen direkt aus dem Echtzeitkontext möglich
-
Beliebige Ethernet-Protokolle, inklusive IP, UDP und TCP
-
Raw-Ethernet
-
Ethernet-Kommunikation abfrage- oder ereignisgesteuert
-
Unterstützte Hardware: Intel und RealTek, bis zu 200 GBit/s (siehe Hardware-Kompatibilitätsliste)
-
Jumbo-Frames bis 16128 Byte, je nach NIC
-
IP- und MAC-Multicast, Broadcast, Promiscuous-Mode für Empfang aller Pakete
-
Empfang von Datenpaketen entweder durch Callback-Funktion direkt im Interrupt-Kontext oder im Polling-Betrieb
-
Priorisierung von zu sendenden Paketen in vier Stufen möglich
-
Automatische Adressermittlung durch ARP-Unterstützung
-
Funktionen für CRC-Berechnung und Byteorder-Wandlung enthalten
-
Erfordert
RealTime Tasking Module
Optionale Erweiterungen:
-
BroadR-Reach: Echtzeitanbindung für die physische Ethernet-Übertragungschicht BroadR-Reach (100BASE-T1, 1000BASE-T1); Automotive Ethernet mit garantierten Reaktionszeiten
-
Network 10 Gbit/s: Echtzeit-Ethernet mit bis zu 10 Gbit/s
-
Network 200 Gbit/s: Echtzeit-Ethernet mit bis zu 200 Gbit/s
-
Network Port: Erweiterung um zusätzliche Ethernet-Ports
-
Network PTM: Erstellung virtueller Netzwerkadapter sowie -brücken zwischen Windows und Kithara-Echtzeit
Zur Erreichung von Echtzeitfähigkeit muss der Standard-Windows-Treiber der Netzwerkkarte durch einen speziell entwickelten Echtzeit-Treiber von Kithara RealTime Suite ersetzt werden. Unterstützt werden nahezu sämtliche derzeit verfügbaren Netzwerk-Controller von Intel und RealTek.
200 Gbit/s
Intel
100 Gbit/s
Intel
40 Gbit/s
Intel
25 Gbit/s
Intel
10 Gbit/s
Intel
-
82599
-
X540, X550
-
X710
-
X722
2,5 Gbit/s
Intel
1 Gbit/s
Intel
-
82540, 82541, 82544, 82545, 82546, 82547
-
82566, 82567
-
82571, 82572, 82573, 82574
-
82576
-
82577, 82578, 82579
-
82580, 82583, i350
-
i210, i211
-
i217, i219
RealTek
-
8100E, 8101E, 8102E, 8110S
-
8168B/8111B, 8168C/8111C, 8168CP/8111CP, 8168D/8111D+DL
-
8168DP/8111DP, 8168E/8111E, 8168EVL/8111EVL
-
8168F/8111F, 8168G/8111G, 8168H/8111H
-
8168EP/8111EP
-
8169, 8169S, 8169SB/8110SB, 8169SC/8110SC
Asix USB 3.0 Gigabit Ethernet controller
-
AX88179 (beispielsweise Digitus USB 3.0 Ethernet Adapter)
100 Mbit/s
Beckhoff
-
CX5000 CCAT(Beckhoff CX50xx, CX20xx, CX51xx Embedded PCs)
Intel
RealTek
Star Corporation
-
FL3X Interface-PMC (FL3X Tiny2 1*100BASE-T1; FL3X Tiny2 1*100BASE-TX)
Die Funktionalität der Software in Verbindung mit spezifischen Komponenten ist aufgrund verschiedener Hardware-Variationen nur unter Vorbehalt gewährleistet. Für Fragen bezüglich der Kompatibilität mit einzelnen Hardware-Konfigurationen kontaktieren Sie uns bitte.
Network Port Extension
Erweiterung um zusätzliche Ethernet-Ports
-
Extended Level: bis 8
-
Unlimited Level (benötigt Extended Level): unbegrenzt
Network PTM Extension
Die Network PTM Extension ermöglicht die Generierung virtueller Ethernet-Schnittstellen für die Kommunikation zwischen Echtzeit und Windows via Port Passthrough oder Port Mirroring. Passthrough erlaubt es Windows, direkt mit der Kithara-Echtzeitumgebung zu kommunizieren, während Mirroring den Echtzeit-Datenverkehr mitschneidet und diesen Windows für Analysezwecke zur Verfügung stellt.
-
Erstellung virtueller Ethernet-Schnittstellen
-
Port Passthrough für direkte Kommunikation zwischen Windows und Echtzeit
-
Port Mirroring für Mitschneiden des Echtzeitdatenverkehrs und Auslesen in Windows mit Wireshark
-
Unterstützt alle Ethernet-basierten Technologien: Socket-Kommunikation, EtherCAT, GigE Vision, PTP und BroadR-Reach
Network BroadR-Reach Extension
BroadR-Reach (100BASE-T1) ist eine physische Ethernet-Übertragungsschicht speziell für die Automobilvernetzung.
Network Data Rate Extension
Echtzeit-Ethernet mit hohen Datenraten
-
Extended Level: bis 10 Gbit/s
-
Maximum Level (benötigt Extended Level): bis 200 Gbit/s
USB RealTime Module
Echtzeit-Kommunikation mit USB-Geräten über direkten xHCI-Zugriff
-
Allgemein
-
Features
-
Hardware-Unterstützung
Das USB RealTime Module von Kithara RealTime Suite garantiert, dass alle USB-basierten Schnittstellen und Geräte, wie etwa Kameras, mit schnellen Reaktionszeiten und größtmöglichem Durchsatz verwendet werden können. Dies wird durch einen speziell programmierten und einfach anwendbaren Zugang zum Extensible Host Controller Interface (xHCI) realisiert, welcher von Kithara RealTime Suite bereitgestellt wird. Grundprinzip dabei ist, den xHCI-Controller direkt aus dem Echtzeitkontext exklusiv anzusteuern.
Für maximal zwei USB-Geräte, darüber USB Device Extension erforderlich. Durchgeschliffene Geräte zählen nicht mit.
-
Echtzeit-Kommunikation mit Geräten bis einschließlich USB 3.1 über xHCI-Zugang
-
xHCI-Controller wird exklusiv genutzt
-
Zugriff unmittelbar aus dem Echtzeit-Multitasking-Kontext
-
Niedrigste Reaktionszeit
-
Größtmöglicher Datendurchsatz erreichbar
-
Zuverlässige Vermeidung von Datenausfällen durch frei wählbare Puffergrößen
-
Low-, Full-, High- und Super-Speed
-
Control-, Bulk-, Interrupt- und Isochron-Transfer
-
Reaktion auf alle Plug-and-Play- und Power-Management-Ereignisse
-
Erfordert
RealTime Tasking Module
Im Zusammenhang mit dem USB RealTime Module können grundsätzlich alle mit der xHCI-Spezifikation 1.1 kompatiblen USB 3.1 Hostcontroller eingesetzt werden.
xHCI-Controller folgender Hersteller sind derzeit mit Kithara RealTime Suite verwendbar: Intel, AMD, Renesas, Etron, NEC und VIA.
Die Funktionalität der Software in Verbindung mit spezifischen Komponenten ist aufgrund verschiedener Hardware-Variationen nur unter Vorbehalt gewährleistet. Für Fragen bezüglich der Kompatibilität mit einzelnen Hardware-Konfigurationen kontaktieren Sie uns bitte.
USB Driver Module
Kommunikation mit USB-Geräten über Windows-Treiberstack
Das USB Driver Module von Kithara RealTime Suite erlaubt die Kommunikation mit USB-Geräten über einfach anwendbare Funktionen. Es basiert auf dem Windows-USB-Treiberstack und besitzt daher nur eingeschränkte Echtzeit-Eigenschaften. Für „harte“ Echtzeit empfehlen wir das USB RealTime Module. Unterstützt werden USB 1.0, USB 1.1, USB 2.0, USB 3.0, USB 3.1, USB 3.2 und USB4.
-
Entwicklung von USB-Gerätetreibern
-
Zugriff auf eigene oder fremde USB-Geräte von Anwendungs- oder Kernel-Ebene aus
-
Unterstützt USB 1.0, USB 1.1, USB 2.0, USB 3.0, USB 3.1, USB 3.2, USB4
-
Low-, Full-, High-Speed
-
Control-, Bulk-, Interrupt- und Isochron-Transfer
-
Reaktion auf alle Plug-and-Play- und Power-Management-Ereignisse
Serial/UART Module
Einfach anwendbare Funktionen für schnelle serielle Kommunikation
-
Allgemein
-
Features
-
Hardware-Unterstützung
-
Erweiterungen
Das Serial Module von Kithara RealTime Suite stellt einfach anwendbare Funktionen für die schnelle Kommunikation über die seriellen UART- sowie COM-Schnittstellen bereit. Die UART-Funktionen erfordern entsprechende, UART-16550-kompatible Hardware sowie einen vorliegenden Echtzeittreiber. Im Echtzeitbetrieb sind die UART-Funktionen auch aus Echtzeit-Tasks heraus und auf dedicated-CPUs nutzbar.
Bei der COM-Kommunikation werden sämtliche Schnittstellen unterstützt, für die ein Windows-Treiber installiert ist. Da die COM-Funktionen so über Windows-Mechanismen laufen, können keine Echtzeiteigenschaften erreicht werden.
Für maximal zwei Serial Ports, darüber Serial Port Extension erforderlich.
-
Serielle Kommunikation in Echtzeit auf der Kernel-Ebene durch speziellen Hardware-Treiber
-
Handshake- und Signal-Leitungen direkt ansteuerbar
-
Handler für alle Schnittstellen-Ereignisse können auch für Echtzeitkontext und Dedicated-CPUs angemeldet werden
-
Für UART-Funktionen: UART-16550-kompatible Hardware erforderlich
-
Für COM-Funktionen: serielle Kommunikation auf der Anwendungsebene erlaubt Programmierung über alle im System bekannten COM-Schnittstellen
Zur Erreichung von Echtzeitfähigkeit müssen speziell entwickelte Echtzeit-Treiber von Kithara RealTime Suite für die gewünschte serielle COM-Schnittstelle verwendet werden. Dazu werden derzeit folgende seriellen Schnittstellenkarten unterstützt. Diese Liste bezieht sich stets auf die aktuelle Version unserer Software:
-
Standard COM Schnittstelle (PNP0501)
PCIe
-
StarTech PEX2S952, 2 × RS232
-
Longshine LCS6321O, 2 × RS232
-
Delock 89220, 2 × RS232
-
Delock 89236, 1 × RS232
-
ADDI-DATA APCIe-7300, 1-fach seriell
-
ADDI-DATA APCIe-7420, 2-fach seriell
-
ADDI-DATA APCIe-7500, 4-fach seriell
-
ADDI-DATA APCIe-7800, 8-fach seriell
ExpressCard
-
I-Tec EXRS232, 1 × RS-232
-
StarTech EC1S1P55254, 1-fach seriell, 1-fach parallel (Netmos 9912 Chipsatz)
PCI
-
MOXA 4-port RS-232 C104H/PCI
-
MOXA 8-port RS-232 C168H/PCI
-
MOXA 2-port RS-422/485 CP132/PCI
-
MOXA 4-port RS-422/485
-
EXSYS 41052 serial card
-
EXSYS 43092 serial card
-
Oxford Serial Card Quad Port
-
SUNIX 2-port RS-232 parallel
-
SUNIX 2-port RS-232 PCI
-
Meilhaus ME9000 8-port RS-485
-
EXAR (XR17C152) 2-port UART PCI
-
ADDI-DATA APCI-7300-3, 1-fach seriell
-
ADDI-DATA APCI-7420-3, 2-fach seriell
-
ADDI-DATA APCI-7500-3, 4-fach seriell
-
ADDI-DATA APCI-7800-3, 8-fach seriell
CardBus
-
Socket PCMCIA Serial Card
-
Delock PCMCIA Serial Card
Die Funktionalität der Software in Verbindung mit spezifischen Komponenten ist aufgrund verschiedener Hardware-Variationen nur unter Vorbehalt gewährleistet. Für Fragen bezüglich der Kompatibilität mit einzelnen Hardware-Konfigurationen kontaktieren Sie uns bitte.
Serial Port Extension
Erweiterung um zusätzliche Serial Ports
-
Extended Level: bis 8
-
Unlimited Level (benötigt Extended Level): unbegrenzt
Device Module
Erzeugung virtueller Schnittstellen
Das Device Module von Kithara RealTime Suite stellt dem Endanwender ein API zu Gerätetreibern über Betriebssystem-Funktionen bereit. Mit dem Device Module behandeln Sie Aufrufe dieser Funktionen auf der Kernel-Ebene und damit im Kontext des Gerätetreibers.
Außerdem erlaubt das Device Module die Erzeugung von virtuellen Schnittstellen – in einer Sonderform sogar von virtuellen COM-Schnittstellen.
-
Bereitstellung eines Windows-APIs für Gerätekommunikation (ReadFile, WriteFile, DeviceIoControl)
-
Beliebige Gerätenamen, zum Beispiel für virtuelle „COM-Ports“