EtherCAT
EtherCAT (Ethernet for Control Automation Technology) ist ein von der Firma Beckhoff Automation initiiertes Echtzeit-Ethernet. Das in IEC-Standard 61158 offengelegte Protokoll eignet sich für harte wie weiche Echtzeitanforderungen in der Automatisierungstechnik. Die Technologie ist durch Patente geschützt und wird durch die Firma Beckhoff lizenziert. Die Lizenzierung von Masterimplementationen ist dauerhaft kostenfrei, die Spezifikation muss dabei vollständig eingehalten werden. Für Slavecontroller werden Lizenzgebühren erhoben.[1]
Die Schwerpunkte der Entwicklung von EtherCAT lagen auf kurzen Zykluszeiten (≤1 ms), niedrigem Jitter für exakte Synchronisierung (≤ 1 µs) und niedrigen Hardwarekosten.
EtherCAT Eigenschaften
BearbeitenFunktionsprinzip
BearbeitenEtherCAT unterscheidet sich wesentlich von vielen anderen Industrial-Ethernet-Lösungen. Während bei diesen der vom Master versendete Standard-Ethernet-Frame (gemäß IEEE 802.3) in jeder Anschaltung zunächst empfangen, dann interpretiert und die Prozessdaten weiterkopiert werden, entnehmen bei EtherCAT und Sercos III die Slave-Geräte die für sie bestimmten Daten, während das Telegramm das Gerät durchläuft. Ebenso werden Eingangsdaten im Durchlauf in das Telegramm eingefügt. Dabei wird ein Rahmen nicht vollständig empfangen, bevor er verarbeitet wird, sondern die Bearbeitung wird so früh wie möglich begonnen. Das Versenden erfolgt ebenso mit einem minimalen Versatz von wenigen Bitzeiten.
ISO/OSI Referenzmodell
Zusatzinformationen zur Grafik:
- Der hier dargestellte TCP/IP-Stack wird für typische Feldgeräte nicht benötigt.
- Die EtherCAT-Master können ohne komplexe Tools über Standard-Mechanismen alle Daten eines EtherCAT-Slaves mit Namen und Datentypen darstellen.
- EtherCAT nutzt den Ethernet Standard (IEEE 802.3 – Ethernet MAC und PHY) ohne Modifikationen.
Protokoll
BearbeitenVersendet wird das für Prozessdaten optimierte EtherCAT-Protokoll innerhalb eines Standard Ethernet-Frames unter Verwendung eines eigenen EtherType (0x88A4). Das EtherCAT-Telegramm kann aus mehreren Subtelegrammen (EtherCAT-Kommandos) bestehen, die jeweils einen Speicherbereich des bis zu 4 Gigabyte großen logischen Prozessabbildes bedienen.
Die datentechnische Reihenfolge ist dabei unabhängig von der physischen Reihenfolge der Teilnehmer im Netz, es kann wahlfrei adressiert werden. Broadcast, Multicast und Querkommunikation zwischen Slaves sind möglich.
Topologie
BearbeitenDas Übertragungsverfahren des EtherCAT beruht auf den Voll-Duplex-Eigenschaften von Ethernet. Auf der Verkabelungsebene ermöglicht EtherCAT eine große Vielfalt von Topologien wie Linie, Baum, Ring, Stern und deren Kombinationen. Damit verknüpft sind unterschiedliche Kommunikationseigenschaften wie Leitungsredundanz, Hot Connect von Segmenten, Gerätetausch bei laufendem Netzwerk oder Master-Redundanz mit Hot Stand-by.
Durch die Kombination von Topologievarianten mit verschiedenen Netzwerkarchitekturen wie etwa unterlagerten oder benachbarten Steuerungssystemen mit durchgängiger Synchronisation ergeben sich damit viele Möglichkeiten. So benötigt man auch keine zusätzlichen Switches.
Die Fast-Ethernet-Physik erlaubt eine Leitungslänge von maximal 100 m zwischen zwei Teilnehmern, der E-Bus (LVDS) ist nur bei modularen Geräten als Bitübertragungsschicht (englisch: Physical Layer) vorgesehen. Für jede Leitungsstrecke kann die Signalvariante individuell ausgewählt werden. Bei größeren Entfernungen oder für vollständige galvanische Trennung zwischen zwei Slaves kommen Lichtwellenleiter zum Einsatz. Mit Monomodefaser können bis zu 20 km zwischen zwei Teilnehmern überbrückt werden. Da bis zu 65535 Teilnehmer je Netzwerksegment angeschlossen werden können, ist die gesamte Netzausdehnung nahezu unbeschränkt.
Synchronisierung
BearbeitenDer exakten Synchronisierung kommt immer dann eine besondere Bedeutung zu, wenn räumlich verteilte Prozesse gleichzeitige Aktionen erfordern, z. B. wo mehrere Servo-Achsen gleichzeitig koordinierte Bewegungen ausführen sollen.
Der leistungsfähigste Ansatz zur Synchronisierung ist der exakte Abgleich verteilter Uhren (Distributed Clocks, DC). Dabei wird die Uhrzeit der Haupt-Uhr via EtherCAT zu den Neben-Uhren übertragen und diese laufzeitkompensiert nachgeregelt. Bei EtherCAT ist die Haupt-Uhr in einem Slave-Gerät, so dass auch hierfür keine spezielle Hardware im Master erforderlich ist. Die Synchronisationsgenauigkeit ist dabei deutlich unter 1 µs, bei 300 Teilnehmern und 120 m Leitungslänge wurden Abweichungen von ± 20 ns erzielt.
Leistungsdaten
BearbeitenAufgrund der Hardware-Integration im Slave und DMA-Zugriff auf die Netzwerkkarte im Master erfolgt die gesamte Protokollbearbeitung in Hardware und ist damit unabhängig von der Laufzeit des Protokollstacks, der CPU-Performance oder Software-Implementierung.
Prozessdaten | Update-Zeit |
---|---|
256 verteilte digitale E/A | 10 µs |
1000 verteilte digitale E/A | 30 µs |
200 analoge E/A | 50 µs bei 20 kHz |
100 Servoachsen, je 8 Byte Ein- und Ausgangsdaten | alle 100 µs |
1 Feldbus Master Gateway (1486 Byte Eingangs- und 1480 Byte Ausgangsdaten) | 150 µs |
Die Bandbreitenausnutzung wird maximiert, da nicht für jeden Teilnehmer und jedes Datum stets ein eigener Rahmen benötigt wird. Damit ergeben sich extrem kurze Zykluszeiten von ≤ 100 µs. Durch die Nutzung der Voll-Duplex-Eigenschaften von 100BASE-TX können effektive Datenraten von über 100 Mbit/s (> 90 Prozent Nutzdatenrate von 2×100 MBit/s) erreicht werden.
Das EtherCAT-Technologieprinzip ist skalierbar und nicht an 100 Mbit/s gebunden. Erweiterungen auf Gigabit-Ethernet wurden mit EtherCAT G und EtherCAT G10 auf der SPS IPC-Drives im November 2018 vorgestellt.
Diagnose
BearbeitenDie schnelle und präzise Erkennung von Störungen ist eine von vielen Diagnoseeigenschaften, die EtherCAT bietet.
Bitfehler in der Übertragung werden durch die Auswertung der CRC-Prüfsumme zuverlässig erkannt: das 32 Bit CRC-Polynom weist eine minimale Hamming-Distanz von 4 auf. Neben der Bruchstellenerkennung und -lokalisierung erlauben Protokoll, Übertragungsphysik und Topologie des EtherCAT-Systems eine individuelle Qualitätsüberwachung jeder einzelnen Übertragungsstrecke. Die automatische Auswertung der entsprechenden Fehlerzähler ermöglicht die exakte Lokalisierung kritischer Netzwerkabschnitte.
Mehr dazu siehe Punkt Monitoring weiter unten.
EtherCAT-Anbindungsentwicklung für CANopen und Sercos-Geräte
BearbeitenDie Geräteprofile beschreiben die Anwendungsparameter und das funktionale Verhalten der Geräte, einschließlich der geräteklassenspezifischen Zustandsmaschinen. Es werden die folgenden Softwareschnittstellen für bestehende Geräteprofile angeboten. Eine herstellerseitige Migration vom bisherigen Feldbus zu EtherCAT durch Anpassen der Firmware und der Hardware wird somit deutlich erleichtert.[2]
CAN application protocol over EtherCAT (CoE)
BearbeitenCANopen-Geräte- und Anwendungsprofile stehen für eine große Vielfalt von Geräteklassen und Anwendungen zur Verfügung: Angefangen von den E/A-Baugruppen über Antriebe (z. B. Antriebsprofil CiA 402 genormt als IEC 61800-7-201/301), Encoder (CiA 406), Proportionalventile und Hydraulikregler (CiA 408), bis hin zu Anwendungsprofilen. EtherCAT ersetzt dann CAN.
Servodrive-Profile over EtherCAT (SoE)
BearbeitenSERCOS interface gilt als leistungsstarke Echtzeit-Kommunikationsschnittstelle insbesondere für anspruchsvolle Motion-Control-Anwendungen. Das SERCOS-Profil für Servoantriebe und die Kommunikationstechnologie sind in IEC 61800-7 genormt. In dieser Norm ist das Mapping des SERCOS Servodrive-Profils auf EtherCAT enthalten (IEC 61800-7-304).
Andere Protokolle
BearbeitenEthernet over EtherCAT (EoE)
BearbeitenBeliebige Ethernetgeräte können innerhalb des EtherCAT-Segments via sogenannter Switchports angeschlossen werden. Die Ethernet-Frames werden durch das EtherCAT-Protokoll getunnelt, wie es bei den Internet-Protokollen üblich ist (z. B. TCP/IP, VPN, PPPoE (DSL) etc.). Das EtherCAT-Netzwerk ist dabei für die Ethernet-Geräte voll transparent und die EtherCAT-Echtzeiteigenschaften werden nicht beeinträchtigt.
File Access over EtherCAT (FoE)
BearbeitenDieses an TFTP angelehnte, sehr einfache Protokoll ermöglicht den Zugriff auf beliebige Datenstrukturen im Gerät. Damit ist z. B. ein einheitlicher Firmware-Upload auf Geräte möglich – unabhängig davon, ob diese TCP/IP unterstützen.
Safety over EtherCAT (FSoE)
BearbeitenParallel zur EtherCAT-Entwicklung wurde auch ein feldbusunabhängiges Safety-Protokoll entwickelt, das für EtherCAT als "Safety over EtherCAT" (FSoE = Fail Safe over EtherCAT) zur Verfügung steht. Damit lässt sich funktionale Sicherheit mit EtherCAT realisieren. Protokoll und Implementierung sind vom TÜV zertifiziert und erfüllen das Safety Integrity Level 3 nach IEC 61508. Safety over EtherCAT ist seit 2010 in IEC 61784-3-12 international genormt.
Dabei verursacht Safety over EtherCAT keine Einschränkung bezüglich Übertragungsgeschwindigkeit und Zykluszeit, da EtherCAT als einkanaliges Kommunikationsmedium genutzt wird. Das Transportmedium wird dabei als „Black Channel“ betrachtet und nicht in die Sicherheitsbetrachtung mit einbezogen.
Monitoring
BearbeitenDa EtherCAT Standard Ethernet-Frames nach IEEE 802.3 verwendet, eignet sich jedes handelsübliche Ethernet-Monitorwerkzeug zur Beobachtung der EtherCAT-Kommunikation. Zusätzlich existieren kostenlose Parser-Software für Wireshark[3] (ehemals Ethereal, ein Open-Source Monitoringwerkzeug) und den Netzwerk-Monitor von Microsoft, mit der mitgeschnittener EtherCAT-Datenverkehr aufbereitet und zur Anzeige gebracht werden kann.
Integration
BearbeitenÜber Gateways lassen sich bestehende Netze wie CANopen, DeviceNet und Profibus nahtlos in die EtherCAT-Umgebung integrieren und bieten darüber hinaus einen stolperfreien Migrationspfad vom klassischen Feldbus zu EtherCAT. Damit werden bestehende Investitionen geschützt.
Dank der Leistungsfähigkeit von EtherCAT wird dabei mit ausgelagerten Feldbusmastern genauso schnell kommuniziert, wie mit den klassischen, über PCI oder andere Rückwandbusse angebundenen Karten. Da dezentrale Feldbusschnittstellen zu kürzeren Ausdehnungen der Feldbusse führen, lassen sich diese häufig sogar noch mit höheren Baudraten betreiben, als dies bei der klassischen Architektur möglich gewesen wäre.
Implementierung
BearbeitenMaster
BearbeitenMaster lassen sich als Software-Lösung auf beliebigen Ethernet-MACs implementieren. Es existiert Code von verschiedenen Herstellern und für unterschiedliche Betriebssysteme, darunter mehrere Open-Source-Projekte (siehe Links).
Es werden aufgrund des verlagerten Mappings in die Slave-Hardware keine großen Anforderungen an die CPU-Leistung des Master gestellt, dieser erhält die Daten bereits als fertig sortiertes Prozessabbild.
Slave
BearbeitenIm Gegensatz zum Standard-Ethernet werden die EtherCAT-Frames von den Slaves im Durchlauf bearbeitet. Dies führt dazu, dass auf der Slave-Seite Hardware-integrierte EtherCAT-Slave-Controller (ESC) eingesetzt werden müssen. ESC sind als ASICs oder auf FPGA-Basis implementiert. Seit Anfang 2012 sind auch erste Standard-Mikroprozessoren mit EtherCAT-Slave-Schnittstelle auf dem Markt.[4]
Für einfache Geräte ist kein zusätzlicher Mikrocontroller erforderlich. Bei komplexeren Geräten mit Mikrocontroller ist die Kommunikations-Performance bei EtherCAT nahezu unabhängig von der Leistungsfähigkeit des verwendeten Controllers. Die Anforderungen an den Mikrocontroller werden daher von der lokalen Anwendung vorgegeben, z. B. der Antriebsregelung. Komplexe Geräte, insbesondere bei Verwendung von CAN application protocol over EtherCAT (CoE), benötigen einen Protokollstack, welcher das CoE-Protokoll implementiert. Im EtherCAT Product Guide sind diverse EtherCAT-Slave-Stacks von verschiedenen kommerziellen Anbietern aufgeführt. Daneben existiert mit SOES ein Open-Source Stack[5] und von Beckhoff kostenfreier, jedoch nicht quelloffener Code für einen EtherCAT Slave-Stack.[6] Weiterhin sind Entwicklungswerkzeuge und Frameworks verfügbar, welche auf den EtherCAT Slave-Stack-Code aufsetzen.[7]
Anwendungen
BearbeitenSteuerung und Regelung
BearbeitenZur Steuerung und Regelung physikalischer Prozesse sind hohe Datenintegrität, Datensicherheit und Synchronität erforderlich. EtherCAT wurde speziell für diese Anwendungen entworfen und erfüllt alle Anforderungen für schnelle Regelungen.
Messsysteme
BearbeitenModerne Messsysteme zeichnen sich durch Vielkanaligkeit, Synchronität und Genauigkeit aus. Durch die Protokolleigenschaften von EtherCAT wird ein effizienter synchroner Datendurchsatz garantiert. Die durch Ethernet gegebenen Netzwerkeigenschaften ermöglichen ein Messnetzwerk mit verteilten Messmodulen.
Nutzerorganisation: EtherCAT Technology Group (ETG)
BearbeitenDie EtherCAT Technology Group (ETG) wurde 2003 gegründet und ist, bezüglich der Anzahl ihrer Mitglieder, heute die größte Nutzerorganisation, bezüglich Industrial Ethernet weltweit.[8]
Sie bietet ihren Mitgliedern Implementierungsunterstützung und Schulungen an, veranstaltet Interoperabilitätstests (sogenannte Plug-Fests) und treibt die Entwicklung und Verbreitung der Technologie mit Hilfe der Mitglieder und Büros in Deutschland, China, Japan, Korea und den USA voran.
In der ETG finden sich Endanwender aus unterschiedlichen Branchen, Maschinenhersteller und Anbieter von leistungsfähiger Steuerungstechnik zusammen, um die EtherCAT-Technologie zu unterstützen und zu fördern. Die Branchenvielfalt gewährleistet, dass EtherCAT für vielfältige Anwendungen optimal vorbereitet ist. Die Systempartner sorgen mit ihrem qualifizierten Feedback für die einfache Integration der Hardware- und Softwarebausteine in alle erforderlichen Geräteklassen.
Das unter Mithilfe von ETG-Mitgliedern entwickelte Conformance Test Tool (CTT[9]) stellt die Interoperabilität und Protokollkonformität der EtherCAT-Geräte sicher.
Internationale Normung
BearbeitenEtherCAT ist seit 2005 IEC-Norm. Die EtherCAT Technology Group (ETG) ist offizieller Normungspartner der IEC Arbeitsgruppen für digitale Kommunikation.
Die Integration in die Internationalen Standards IEC 61158 (Protokolle und Dienste) und IEC 61784-2 (Kommunikationsprofile für die spezifischen Geräteklassen) ist erfolgt. In der IEC 61800-7 (Antriebsprofile und -kommunikation) ist EtherCAT als Kommunikationstechnologie für das SERCOS- und das CANopen-Antriebsprofil genormt. Auch in ISO 15745-4 (Gerätebeschreibung mit XML) ist EtherCAT enthalten.
Seit September 2007 ist EtherCAT zudem SEMI-Standard: die E54.20 beschreibt den Einsatz der Technologie in Halbleiter- und Flachdisplay-Fertigungsanlagen.
Siehe auch
BearbeitenLiteratur
Bearbeiten- IEC 61158-3/4/5/6-12: Industrial communication networks – Fieldbus specifications, Part 3-12: Data-link layer service definition, Part 4-12: Data-link layer protocol specification, Part 5-12: Application layer service specification, Part 6-12: Application layer protocol specification
- IEC 61784-2: Industrial communication networks – Profiles, Part 2: Additional fieldbus profiles for real-time networks based on ISO/IEC 8802-3
- IEC 61784-3: Industrial communication networks – Profiles, Part 3: Functional safety fieldbuses
- IEC 61784-5: Industrial communication networks – Profiles, Part 5: Installation of fieldbuses
- IEC 61800-7: Adjustable speed electrical power drive systems
- ISO 15745-4: Industrial automation systems and integration
- Klaus Kafka: Ein Erfahrungsbericht über die verschiedenen Realtime Ethernet Systeme. In: Günther Brandenburg (Hrsg.): SPS IPC DRIVES 2006: Fachmesse & Kongress 28.–30. Nov. 2006, Nürnberg. VDE-Verlag, Berlin / Offenbach 2006, ISBN 978-3-8007-2994-4
- Frithjof Klasen, Volker Oestreich, Michael Volz: Industrielle Kommunikation mit Feldbus und Ethernet. VDE-Verlag, Berlin/Offenbach 2010, ISBN 978-3-8007-3297-5
Weblinks
BearbeitenEinzelnachweise
Bearbeiten- ↑ FAQs. EtherCAT Technology Group, abgerufen am 14. Oktober 2023.
- ↑ EtherCAT - the Ethernet Fieldbus. EtherCAT Technology Group, abgerufen am 14. Oktober 2023 (englisch).
- ↑ Using Wireshark to Capture EtherCAT Network Packets. National Instruments Corp., 11. November 2022, abgerufen am 15. Oktober 2023 (englisch).
- ↑ Maneesh Soni: EtherCAT® on Sitara™ Processors. In: fiord.com. Januar 2015, abgerufen am 15. Oktober 2023 (englisch).
- ↑ Simple Open EtherCAT Slave or SOES. In: Github. 10. Juli 2013, abgerufen am 15. Oktober 2023 (englisch).
- ↑ ET9300 | EtherCAT Slave Stack Code. In: Beckhoff. Abgerufen am 15. Oktober 2023.
- ↑ Martin Ritz: EtherCAT Slave Entwicklung. In: embedded communication. 22. Juli 2016, abgerufen am 15. Oktober 2023 (deutsch).
- ↑ EtherCAT Technology Group (ETG). In: OPC Foundation. Abgerufen am 15. Oktober 2023 (englisch).
- ↑ ET9400 | EtherCAT-Conformance-Test-Tool (CTT). Beckhoff, abgerufen am 24. September 2021 (deutsch).