EtherCAT Master Software unter Windows

EtherCAT und Windows

Heute ist EtherCAT zu einer der beliebtesten Echtzeit-Ethernet-Lösungen der Welt geworden. Die EtherCAT Technology Group (ETG) ist dafür verantwortlich, die EtherCAT-Technologie für alle potenziellen Benutzer offen zu halten, außerdem ist sie auch die Feldbusorganisation mit der weltweit größten Mitgliederzahl. Die Mitgliederliste finden Sie auf deren Homepage.
Für die Ausführung eines EtherCAT-Master-Stacks unter Windows ist lediglich eine Standard-Ethernet-Netzwerkschnittstelle erforderlich. Der acontis EtherCAT Master Stack EC-Master verwendet unter Windows entweder einen integrierten Ethernet-Controller (im Motherboard integriert) oder eine kostengünstige externe Standard-Netzwerkkarte. Es ist keine spezielle Schnittstellenkarte erforderlich.

Windows ist kein Echtzeitbetriebssystem (RTOS), und das bedeutet, dass eine deterministische, stabile und schnelle EtherCAT-Zykluszeit nicht garantiert werden kann. Obwohl es möglich ist, Zykluszeiten > = 10 Millisekunden zu erreichen, werden selbst diese relativ langsamen Zykluszeiten nicht zuverlässig eingehalten. Aus diesem Grund kann die DC-Funktion (Distributed Clocks) von EtherCAT normalerweise nicht verwendet werden.

Eine Möglichkeit zur Verbesserung des Verhaltens unter Windows besteht darin, den Windows-Netzwerktreiber durch den Echtzeit-Ethernet-Treiber von acontis zu ersetzen. Durch Ersetzen des Treibers und Verwenden des optimierten Treibers von acontis können die Auswirkungen des Windows-Netzwerk-Stacks beseitigt werden. Dies führt zu einem deutlich verbesserten weichen Echtzeitverhalten, bei dem sogar die Distributed Clocks Funktionalität verwendet werden kann. Es wird jedoch immer noch einen Mangel an Determinismus geben, so dass selbst diese Lösung für Produktionszwecke nicht genutzt werden kann.

Eine bessere Lösung besteht darin, Windows in Verbindung mit der harten EtherCAT Echtzeitlösung EC-Win auszuführen. EC-Win verwendet die Echtzeit-Hypervisor-Technologie von acontis, um Windows und ein RTOS parallel auszuführen. Dies ermöglicht die Erstellung extrem schneller, deterministischer und harter Echtzeit-EtherCAT-Anwendungen mit Aktualisierungsraten von bis zu 20 kHz (50 Mikrosekunden).
Im Folgenden werden die verschiedenen Optionen beschrieben, die acontis für eine EtherCAT Master-Implementierung unter Windows bietet.

Lösung ohne Echtzeit: Windows NDIS Filter Treiber

Die Network Driver Interface Specification (NDIS) ist die Spezifikation für die Windows-Netzwerktreiberarchitektur, mit der Transportprotokolle wie TCP / IP mit einem zugrunde liegenden physischen Netzwerkadapter kommunizieren können. Der acontis Master Stack EC-Master für Windows enthält zum Senden und Empfangen von EtherCAT-Frames einen Treiber für die NDIS-Verbindungsschicht (emllNdis.dll). Damit kann der Windows Ethernet-Treiber verwendet werden, der Teil des Windows-Netzwerk-Stack ist.

Architektur für Zykluszeiten >=10 ms (keine Echtzeit, häufige und große Ausreißer):

Soft Real-time Lösung: Acontis Ethernet Driver

Um schnellere Zykluszeiten zu erzielen, wird der Standard-Windows-Netzwerktreiber durch das Acontis-Kernelmodul EcatDrv und den optimierten Echtzeit-Ethernet-Treiber ersetzt. Das EcatDrv-Kernelmodul gewährt direkten Zugriff auf den physischen Netzwerkcontroller aus dem Windows User-Mode. Dies ermöglicht das Senden und Empfangen von EtherCAT-Frames ohne Verwendung des Windows Netzwerk-Stack.

Das Ergebnis ist eine deutlich geringere CPU-Auslastung, weniger Jitter und keine nachteiligen Auswirkungen durch anderen Netzwerkverkehr.

Architektur für Zykluszeiten >=1 ms (keine harte Echtzeit):

Lösung mit garantierter harter Echtzeit: EC-Win

Für die beste EtherCAT-Performance unter Windows muss ein Echtzeitbetriebssystem (RTOS) in Verbindung mit Windows ausgeführt werden. Acontis bietet hierfür einen Echtzeit-Hypervisor für Windows, mit dem neben Windows auch Echtzeit-Linux (RT-Linux) ausgeführt werden kann. EC-Win ist die Kombination dieser Echtzeitlösung mit dem EC-Master EtherCAT Master Stack.
Mit EC-Win werden der EtherCAT-Master-Stack und die zugehörige EtherCAT-Anwendung unter RT-Linux ausgeführt, dies ermöglicht eine harte Echtzeitleistung mit Aktualisierungsraten von bis zu 20 kHz (50 Mikrosekunden). Darüber hinaus bietet acontis optimierte Echtzeit-Ethernet-Treiber für Linux, die die Gesamtleistung von EtherCAT weiter verbessern. Mit dem Echtzeit-Hypervisor von acontis werden Windows und RT-Linux sicher getrennt, um die Echtzeit-Linux-Anwendungen (einschließlich EtherCAT) vor Windows-Systemfehlern zu schützen. Microsoft® Visual Studio® kann für die Entwicklung und das Debugging verwendet werden, sowohl für Windows-Anwendungen als auch für Echtzeit-Linux-Anwendungen.

Real-time Ethernet Treiber (Link Layer)

  • Windows NDIS Filter Treiber (emllNdis)
  • Intel Pro/1000 (emllI8254x)
  • Realtek Gigabit (emllRTL8169)
  • Beckhoff CCAT (emllCCAT)

Mehr Informationen