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 können EtherCAT Slaves welche Distributed Clocks (DC) benötigen normalerweise nicht betrieben werden.

Eine Möglichkeit zur deutlichen Verbesserung des Verhaltens unter Windows besteht darin, eine CPU für die Echtzeitanwendung und den EtherCAT Master zu isolieren. Dies erfolgt einerseits mit Windows Bordmitteln und andererseits unter Verwendung der Real-time Accelerator Technologie. Mit Hilfe der Real-time Accelerator Technologie wird, zum Einen ein stabiler, präziser Takt erzeugt und zum Anderen der direkte Zugriff des EtherCAT Masters auf den Ethernet Controller ermöglicht.

Eine alternative Lösung, bei welcher der Echtzeitpart nicht auf Windows basiert, 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 Real-time Operating System (RTOS) parallel auszuführen. Dies ermöglicht die Erstellung extrem schneller, deterministischer und harter Echtzeit-EtherCAT-Anwendungen.

Im Folgenden werden die verschiedenen Optionen beschrieben, die acontis für eine EtherCAT Master-Implementierung unter Windows bietet.

Lösung 1: Standard Installation mit acontis 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.

  • Es kann jedes handelsübliche Windows ohne spezielle Einstellungen verwendet werden
  • EC-Master und Kundenanwendung laufen im Windows User Space
  • acontis Windows NDIS-Filtertreiber ermöglicht die Verwendung einer beliebigen Ethernet-Schnittstelle für EtherCAT
  • Mindestzykluszeit = 4 ms. Nicht zuverlässig!
  • Der Betrieb von Slaves mit Distributed Clocks (DC) ist in der Regel nicht möglich!
  • Einfache und schnelle Installation
  • Standardmäßig Windows 10/11 Pro und Enterprise

Lösung 2: CPU Isolation, basierend auf acontis Real-time Accelerator Technologie mit Windows 10 IoT

Auf PCs mit Windows IoT Enterprise ermöglicht die acontis Real-time Accelerator Technologie den stabilen, echtzeitfähigen Betrieb des EtherCAT Masters und der Applikation mit einer garantierten Zykluszeit von 1 ms. Zunächst wird mit Hilfe des RtaccConfig Tools eine CPU exklusiv für die Echtzeitanwendung reserviert. Die verbliebenen CPUs stehen den Standard Windows Anwendungen zur Verfügung.

Der RtaccTimer.sys Windows System Treiber liefert den präzisen, einstellbaren Takt für die gesamte Anwendung, einschließlich des EtherCAT Masters. Um deterministisches Verhalten sicherzustellen, ist es außerdem erforderlich, den Standard Windows Netzwerktreiber durch einen acontis Real-time Ethernet Treiber zu ersetzen.

Der RtaccDevice.sys Kernel Treiber gewährt hierbei den 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-Stacks. Das Ergebnis ist ein deterministisches Verhalten, ein kleinerer Jitter, eine deutlich geringere CPU-Auslastung und kein negativer Einfluss durch Verkehr auf anderen Netzwerkinterfaces.

  • Windows 10 IoT Enterprise
  • EC-Master und Kundenanwendung laufen im Windows User Space
  • Nicht-Echtzeit-Teil und Echtzeit-Teil innerhalb eines einzigen Anwendungsprozesses
  • Minimale zuverlässige Zykluszeit = 1 ms
  • Harte Echtzeit mit Real-Time Accelerator Technologie mit Hilfe von CPU-Isolation
  • Real-time Accelerator Technologie
    • Der Echtzeitteil der Anwendung und der Master-Stack laufen auf einer isolierten CPU
    • RtaccTimer Treiber zur Erzeugung einer stabilen Zykluszeit
    • RtaccDevice Treiber ermöglicht den direkten Zugriff auf den Ethernet Controller

Lösung 3: Vollständige Isolation basierend auf acontis Echtzeit Hypervisor Technologie

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 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 Real-time Linux ausgeführt, dies ermöglicht eine harte Echtzeitleistung mit Aktualisierungsraten von bis zu 10 kHz (100 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 Real-time 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 Linux kontrolliert durch acontis Hypervisor läuft parallel zu Windows
  • EC-Master und Kundenanwendung laufen mit Echtzeitperformance auf Real-time Linux
  • Minimale zuverlässige Zykluszeit = 100 mikrosekunden
  • Windows- und die Echtzeitanwendung sind isoliert und vollständig getrennt
  • Windows Systemfehler (Blue Screen of Death): Die Echtzeitanwendung läuft weiter
  • Kommunikationsschicht zwischen Windows und Echtzeitanwendung erforderlich

Real-time Ethernet Treiber (Link Layer)

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

Mehr Informationen