# 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.
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
### Funktionsprinzip

EtherCAT 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

Versendet 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

Das Ü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

Der 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

Aufgrund 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

Die 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

Die 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.

#### CAN application protocol over EtherCAT (CoE)

CANopen-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)

SERCOS 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
#### Ethernet over EtherCAT (EoE)

Beliebige 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)

Dieses 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)

Parallel 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

Da 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 (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

Ü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
### MainDevice (ehem. MainDevice)

MainDevice 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 MainDevice gestellt, dieser erhält die Daten bereits als fertig sortiertes Prozessabbild.

### SubDevice (ehem. Main)

Im Gegensatz zum Standard-Ethernet werden die EtherCAT-Frames von den SubDevices im Durchlauf bearbeitet. Dies führt dazu, dass auf der SubDevice-Seite Hardware-integrierte EtherCAT-SubDevice-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-SubDevice-Schnittstelle auf dem Markt.
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-SubDevice-Stacks von verschiedenen kommerziellen Anbietern aufgeführt. Daneben existiert mit SOES ein Open-Source Stack und von Beckhoff kostenfreier, jedoch nicht quelloffener Code für einen EtherCAT SubDevice-Stack. Weiterhin sind Entwicklungswerkzeuge und Frameworks verfügbar, welche auf den EtherCAT SubDevice-Stack-Code aufsetzen.

## Anwendungen
### Steuerung und Regelung

Zur 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

Moderne 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)

Die 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.
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) stellt die Interoperabilität und Protokollkonformität der EtherCAT-Geräte sicher.

## Internationale Normung

EtherCAT 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.