EtherCAT

Wie funktioniert EtherCAT?

Wie funktioniert EtherCAT?

Was ist EtherCAT?

Wer sich mit industrieller Kommunikation befasst, wird früher oder später auf EtherCAT stoßen. Dieses von Beckhoff erstmals 2003 vorgestellte, weitverbreitete Protokoll ist ein sogenanntes Industrial Ethernet, also eine Erweiterung der bekannten Ethernet-Technologie für Heim- und Büronetzwerke, um Netzwerkfunktionen speziell auch für industrielle Anwendungen zu ermöglichen. Gerade für moderne Automatisierungsaufgaben in Fertigung und Forschung sind Industrial-Ethernet-Varianten mittlerweile der bevorzugte Standard für eine leistungsfähige Vernetzung und haben sich als Nachfolger klassischer Feldbusse etabliert. EtherCAT (Ethernet for Control Automation Technology) gilt hierbei als besonders schnelles Industrial Ethernet, was Durchsatzraten und Echtzeitfähigkeit angeht.

Doch was genau macht EtherCAT so leistungsstark und wie funktioniert das?

Wie funktioniert EtherCAT?

EtherCAT verwendet Standard-Ethernet-Frames, also netzwerktypische Datenpakete, um die Kommunikation zwischen allen Netzwerkteilnehmern zu realisieren. Im Fall von EtherCAT setzen sich diese zusammen aus Ethernet-Header, EtherCAT-Header, 1 bis 15 EtherCAT-Telegrammen (sogenannte Datagramme), die insgesamt 44 bis 1498 Byte an Lese- und Schreibaufträgen umfassen sowie der Prüfsumme zur Erkennung von Bitfehlern.

Die Steuerung erfolgt durch ein Master-Slave-System. Dabei sendet der Master Solldaten an die Slaves und erhält Istdaten von den Slaves zurück. Solldaten können beispielsweise Steuerungsanweisungen an ausführende Geräte (Aktoren) sein, um bestimmte Aktionen durchzuführen, wie etwa die Drehgeschwindigkeit eines Motors vorzugeben. Unter Istdaten versteht man hingegen Informationen von messenden Geräten (Sensoren) über verschiedene Zustände, wie beispielsweise die aktuelle Position, Drehzahl oder Temperatur.

Der Master stellt also EtherCAT-Datagramme zusammen und schickt diese anschließend durch alle angeschlossenen Slaves. Die Besonderheit von EtherCAT dabei ist, dass noch während des Durchlaufs jeder Slave die für ihn bestimmten Solldaten aus dem laufenden Datagramm entnimmt und seine Istdaten in das Datagramm einfügt. Alle übrigen nicht für den jeweiligen Slave bestimmten Daten werden unverändert weitergeleitet. Nachdem das Datagramm nun alle Slaves durchlaufen hat, tritt es den Rückweg an und wird letztlich vom Master wieder empfangen. Dieser Vorgang ist auch bei einer hohen Anzahl miteinander verbundener EtherCAT-Slaves sehr schnell, da die Durchlaufverzögerung in jedem einzelnen Slave nur wenige Nanosekunden beträgt.

Im Ergebnis sind nach jedem Durchlauf also alle relevanten Daten zwischen dem Master und den Slaves ausgetauscht. Für einen durchgehend exakten Abgleich führt der Master den Datenaustausch zyklisch durch, mit hohen Wiederholraten, die durchaus einige Kilohertz betragen können.

Wie funktioniert EtherCAT: Datenaustausch

Welche Topologien können verwendet werden?

EtherCAT arbeitet im Vollduplex-Modus, benutzt also ein Leitungspaar im Kabel für das Versenden von Daten durch alle Slaves und das andere Leitungspaar zum Zurücksenden von Daten, nachdem der letzte Slave durchlaufen wurde. EtherCAT besitzt dadurch immer eine logische Ringstruktur, unabhängig von der verwendeten Topologie, und ermöglicht so durchgehend stabile Echtzeiteigenschaften. Damit wird ein hoher Grad an Flexibilität für die Vernetzung erreicht, und es lassen sich Topologien als Linie, Baum oder Stern sowie nahezu beliebige Kombinationen aus diesen umsetzen. Abzweigungen von Linien-Topologien lassen sich beispielsweise durch spezielle EtherCAT-Hardware (sogenannte Koppler) realisieren. Weiterer Vorteil: Die Vernetzung über Standard-Ethernet-Kabel ist nicht nur kostengünstig, sondern bietet zudem eine Vielfalt an möglichen Konfigurationen.

Wie funktioniert EtherCAT: Topologie

Synchronisation mit Distributed Clocks

Bei automatisierten Systemen mit physisch verteilten Komponenten wird oft ein genauer zeitlicher Abgleich vorausgesetzt, damit diese optimal zusammenarbeiten können. Ein Beispiel sind hier die unterschiedlichen Servo-Achsen eines Roboterarms, die erst im exakten Zusammenspiel eine schnelle und akkurate Bewegung ausführen. Um die einzelnen „Uhren“ aller teilnehmenden EtherCAT-Komponenten zu synchronisieren, wird das sogenannte Distributed-Clocks-Konzept (DC) eingesetzt. Hierbei wird die Uhr aus einem DC-tauglichen Slave als Referenzuhr herangezogen, um alle weiteren Uhren im System auf diese zu synchronisieren. Da die Referenzuhr hardwarebasiert ist, wird eine extrem hohe Synchronisierungsgenauigkeit mit sehr geringen Abweichungen im Bereich weniger Nanosekunden erreicht. Das Synchronisierungsprinzip ist vergleichbar mit dem „Precision Time Protocol“-Ethernet-Standard IEEE 1588.

Wie kann ich denn nun als Anwendungsentwickler mit EtherCAT umgehen?

Die gute Nachricht vorweg: Die Automatisierungsanwendung muss sich nicht um den eigentlichen Datenaustausch kümmern. Dafür sorgt der EtherCAT Master wie oben beschrieben. Dieser stellt – stellvertretend für alle Soll- und Ist-Datenbereiche der angeschlossenen Slaves – einen Speicherbereich bereit, in dem die einzelnen Variablen der Slaves angeordnet sind. Dieser Speicherbereich wird nun dem Anwendungsprogramm zur Verfügung gestellt. Dieses hat somit einen direkten Zugriff auf das Speicherabbild der Slave-Variablen.

Da die Automatisierungsanwendung EtherCAT-Daten zyklisch neu berechnen muss, wird üblicherweise eine Timer-Routine erstellt. Falls, wie im Zusammenhang mit Distributed Clocks, auch hier eine hohe Synchronisierungsgenauigkeit erreicht werden muss, wird dafür gesorgt, dass auch die zyklische Berechnung im Anwendungsprogramm mit der DC-Referenzuhr synchronisiert erfolgt. Somit wird eine geringstmögliche Verzögerung von der Anwendung bis in die Aktor-Sensor-Ebene ermöglicht. Es lassen sich also zeitkritische Teile des Anwendungsprogramms im Echtzeitkontext ausführen, was Entwicklern erlaubt, echtzeitfähige Steuerungsanwendungen auf EtherCAT-Basis zu implementieren. Die hierfür benötigten Mechanismen können beispielsweise mit dem Echtzeit-EtherCAT-Master von Kithara RealTime Suite umgesetzt werden.

Anwendungsbereiche

EtherCAT ist ein modernes und leistungsfähiges Protokoll für industrielle Echtzeit-Automatisierung und Maschinensteuerung, das sich in fast allen Industriezweigen anwenden lässt. So ist beispielsweise die EtherCAT Technology Group mit über 6650 Unternehmen die weltweit größte Feldbus-Nutzerorganisation. Durch die genannten Besonderheiten und Leistungseigenschaften eignet es sich vor allem für Anwendungen, die einen hohen Automatisierungsgrad mit besonders zeitkritischen Anforderungen verbinden müssen, zum Beispiel bei Prüfständen zur Qualitätssicherung oder Robotern in der industriellen Fertigung. Anwenderbericht des Unternehmens MacroTech.

Wie funktioniert EtherCAT: Aufbau

EtherCAT® und Safety over EtherCAT® sind eingetragene Marken und patentierte Technologien, lizenziert durch die Beckhoff Automation GmbH, Deutschland.