Grundlagen zur Funktion
Die ET2000 wird betriebsbereit ausgeliefert. Es sind keinerlei Einstellungen an der Hardware vorzunehmen. Die ET2000 wird in eine Ethernet-Leitung eingeschleust und spiegelt dann alle Ethernet-Frames über einen 1 GBit-Port zu einem datenaufzeichnenden PC. Die ET2000 verfügt über keinen eigenen Speicher, dadurch ist die Verwendung einer 1 GBit-Uplink-Verbindung zwingend vorgeschrieben.
Die ET2000 versieht jeden aufgezeichneten Frame mit einem Zeitstempel. Dieser Zeitstempel kann zur genaueren Netzwerkverkehrsanalyse verwendet werden. Der Erfassungszeitpunkt ist der StartOfFrame (SoF).
Inbetriebnahme - Hardware
- Schließen Sie die ET2000 entsprechend der Bezeichnung an eine 24V DC Versorgungsspannung an.
- LED 3 und 4 leuchten (siehe LED Status).
- Schließen Sie den 1 GBit/s-Uplink an einen ebenfalls 1 GBit-fähigen Netzwerkport Ihres PCs an. Der Betrieb an einem 100MBit-Port ist nicht möglich.
- Leiten Sie nun den zu analysierenden Netzwerkverkehr über eine der 4 Lines (Kanäle) der ET2000. Alle 4 Kanäle können gleichzeitig benutzt werden. Die Activity-LED zeigen jeweils Datenverkehr an. Der jeweils linke Port (IN) ist als Eingang in Vorwärtsrichtung zu sehen, der rechte Port (OUT) als Ausgang, s. Abb. "Draufsicht auf die ET2000".


![]() | Gespiegelte Frames (ab Firmware 02) Für eine optimale Anwendung der ET2000 in einem EtherCAT-Netzwerk arbeitet die ET2000 in folgender Weise: wenn auf einem Kanal nur ein Port beschaltet ist, spiegelt die ET2000 alle ankommenden Frames wieder auf diesen Port zurück. Durch diese Funktion wird sichergestellt, dass ein EtherCAT-Zweig auch während des Anschlussvorgangs ohne Frame-Verlust weiterlaufen kann. In Netzwerken, die nicht auf zurückgespiegelte Frames ausgelegt sind, kann diese Funktion zu Konflikten führen! Dies kann z.B. bei managebaren Switchen mit LoopBack-Überwachung auftreten. Soll dieser Effekt vermieden werden, muss an der ET2000 zuerst der Netzwerkteilnehmer angeschlossen werden, der reflektierte Frames verarbeiten kann. |
![]() | Einsatz in Profinet IRT-Systemen Ein Frame wird beim einfachen Durchlauf durch eine Line der ET2000 um typ. 540 +/- 40 ns verzögert. Beim Einsatz in Profinet IRT-Systemen ist dies zu berücksichtigen. |
Anwendungsbeispiel im EtherCAT System
In Abb. "Beispielanschluss der ET2000" wird beispielhaft die Verwendung in einem EtherCAT System zum Mitschnitt der Protokolldaten gezeigt.

Inbetriebnahme - Software
Jeder aufgezeichnete Ethernet-Frame wird von der ET2000 um 16 Byte Daten ergänzt, die Informationen über den verwendeten Port, die Datenintegrität und den Zeitstempel enthalten. Diese Ergänzung wird hinten an die Nutzdaten als Postfix angefügt, das Datenformat wird als ESL (EtherCAT Switch Link) bezeichnet. Der Empfangszeitpunkt des Ethernet-Frames an der ET2000 (Start of Frame, SoF) wird als 64-bit-Timestamp-Wert erfasst und ist in den Nutzdaten enthalten.
Dieser erweiterte Frame wird nun über die 1 GBit-Uplink-Verbindung zum PC gesendet. Dort können die fortlaufend eintreffenden Ethernet-Frames mit entsprechender Software aufgezeichnet werden. Diese Software ist nicht im Lieferumfang enthalten und kann z.B. aus dem Internet frei bezogen werden. Die aktuell beste Unterstützung ist für Wireshark ab Version 1.0.2 gegeben.
Beim Versenden werden von der ET2000 eine neue Checksumme/CRC und ein neuer Header erstellt.
- Betrieb ohne ESL-Auswertung
Mit dem standardmäßig in Wireshark > 1.0.2 integrierten Parser ..\Wireshark\Plugins\ethercat.dll werden nur EtherCAT-Frames entschlüsselt und lesbar gemacht. Die 16 Byte Zusatzdaten (ESL) werden als "Padding Byte" bezeichnet. Eine Filterung auf die darin enthaltenen Informationen ist nicht möglich. - Betrieb mit ESL-Auswertung
Nach Austausch der ethercat.dll gegen eine spezielle Version von Beckhoff ist zusätzlich die ESL-Information entschlüsselt:
- CRC Error im ursprünglichen Frame
- Alignment Error
- Zeitstempel der ET2000
![]() | Anzeige EtherCAT-Frames mit ESL Information Im oben genannten Fall kann Wireshark nur noch von der ET2000-gesendete, also eine ESL-Information enthaltende Ethernet-Frames anzeigen! Um wieder Ethernet-Frames ohne ESL-Information lesen zu können, muss die ethercat.dll gelöscht/umbenannt und Wireshark neu gestartet werden. |
In dieser Anleitung wird nur Software für Windows-Betriebssysteme berücksichtigt.
Betrieb ohne ESL/Zeitstempelauswertung
Zum Aufzeichnen der Ethernet-Frames ist prinzipiell jede entsprechende Software geeignet, z.B. Microsoft Network Monitor (NetMon) oder Wireshark/Etherreal Network Analyser. Zur Analyse der in den Frames enthaltenen Informationen sind u. U. Zusatzwerkzeuge nötig, die nicht für jede beliebige Software verfügbar sind. Die weiteren Vorgänge werden deshalb am Beispiel der Netzwerkanalysesoftware Wireshark beschrieben.
![]() | Etherreal vs. Wireshark Etherreal wird z. Z. im Gegensatz zu Wireshark nicht mehr weiterentwickelt. Wireshark ist die Fortführung und Weiterentwicklung des bekannten Netzwerkanalyseprogramms Etherreal unter neuem Namen. Beide sind frei verfügbar und können (wie auch NetMon) mit Skripten automatisiert werden. |
- Installieren Sie eine aktuelle Version von Wireshark (www.wireshark.org) auf Ihrem PC. Wireshark stellt dabei die Bedienungsoberfläche und das Datenverwaltungsmanagement für die aufgezeichneten Frames bereit. Falls noch nicht vorhanden, wird bei der Installation der aktuelle WinPcap-Treiber mitinstalliert. Dieser übernimmt die Ethernet-Frames vom Netzwerkport am PC und leitet sie an Wireshark weiter.
- Starten Sie nach der Installation Wireshark, wählen Sie über Capture --> Interfaces den 1 GBit-Netzwerport aus an den die ET2000 sendet und starten sie die Aufzeichnung.
![]() | Datenmengen Je nach EtherCAT-Zykluszeit und Prozessdatenumfang können u. U. in kürzester Zeit erhebliche Datenmengen anfallen! |

Abb. "Screenshot einer Wireshark-Aufzeichnung" zeigt den Mitschnitt von EtherCAT-Frames des TwinCAT EtherCAT Masters, in den Fenstern darunter wird der Inhalt eines Frames (wenn möglich) aufgeschlüsselt. In der Spalte "Time" wird der Zeitpunkt des Eintreffens von dem ET2000 gesendeten Frame am GBit-Port des PCs angezeigt. Da hierbei einige Windows-Protokoll-Schichten durchlaufen werden, ist die Genauigkeit dieser Werte kritisch zu hinterfragen.
Betrieb mit ESL/Zeitstempelauswertung
Falls keine weiteren Maßnahmen getroffen werden, geben die Angaben in der Spalte "Time" den ungefähren Ankunftszeitpunkt des von der ET2000 gesendeten Ethernet-Frames am GBit-Port des PC an. Dieser Wert kann u .U. erheblich von dem Durchlaufzeitpunkt des originalen Frames durch die ET2000 abweichen. Zur Auswertung des von der ET2000 angefügten Zeitstempels ist eine von Beckhoff bereitgestellte Erweiterung für Wireshark notwendig, die für Wireshark ab Version 1.0.2 erstellt wurde. Es handelt sich dabei um einen modifizierten EtherCAT-Parser "EtherCAT.dll", der dafür sorgt, dass Wireshark einen Ethernet-Frame mit EtherCAT-Datagrammen in seine Bestandteile aufschlüsseln kann, s. Abb. "Screenshot einer Wireshark-Aufzeichnung".
Durch den Austausch gegen die standardmäßige EtherCAT.dll kann Wireshark auch die ESL-Information lesen - andere als ESL-beinhaltende Ethernet-Frames werden dann allerdings nicht mehr aufgezeichnet.
Diese dll-Datei kann von der Beckhoff-Website (Link) heruntergeladen werden. Die Wireshark-Installation enthält bereits eine EtherCAT.dll, die jedoch ggf. noch nicht das ESL-Protokoll unterstützt. Nach Ersetzen der vorhandenen EtherCAT.dll im Ordner Wireshark/Plugins/<build>/ kann dieser Dissector (i.e. Aufschlüsselung) unter Edit/Preferences angeschaltet werden, s. Abb. "Anschalten des ESL Dissectors in Wireshark". Dann wird in der Spalte "Time" der Wireshark-Oberfläche der Zeitstempel der ET2000 angezeigt, ansonsten der Zeitpunkt, an dem der Frame am GBit-Port des PC eintraf.
![]() | Dateiversionen EtherCAT.dll • vor Version 1.0.2: Modifikation des WinPcap-Treibers nötig, kein Support • ab Version 1.0.2: zum Download (Link) • ab Version 1.2.0: zum Download (Link) • ab Version 1.6: bereits in Wireshark integriert, keine separate Nachinstallation erforderlich |
Unter View/TimeDisplayFormat/ kann die Auflösung der Anzeige bis auf 1 ns erhöht werden.

![]() | Zusätzliche Daten (16 Byte) Die ET2000 fügt an den gespiegelten Frame zum Aufzeichnungs-PC 16 Byte weitere Daten als Postfix an. Hat der originale Frame bereits die nach Ethernet-Standard maximal erlaubte Länge von 1500 Byte, kann der GBit-Port des PC den nun 1516 Byte langen Frame evtl. verwerfen. Ggf. sind in den Treibereigenschaften des Netzwerkport Einstellungen zu JumboPackets zu ändern. |

Aufbau der 16 Byte Zusatzdaten
Die 16 Byte Zusatzdaten der ET2000 haben der Reihenfolge nach folgende Bedeutung, s. Abb. "Von der ET2000 angefügte Zusatzdaten im ESL (EtherCAT Switch Link) Protokoll":
6 Byte | Identifier 01 01 05 10 00 00 (symbolische MAC-Adresse) |
---|---|
1 Byte | Portangabe 0..7 auf dem der Frame ankam
|
1 Byte | bit 0..2 reserved, |
8 Byte | Timestamp in ns (Genauigkeit: 10 ns) - x00 00 00 5D 34 81 99 08 (Leserichtung rückwärts) |
![]() | ET2000 Erweiterungen Diese Beschreibung ist nicht endgültig. Zukünftige Funktionalitätserweiterungen können einen veränderten Aufbau der Zusatzdaten nötig machen. Eine entsprechende Version der EtherCAT.dll wird dann zum Download bereitgestellt. |
![]() | Ausgleich der minimalen Ethernet-Framelänge Wenn nur wenig Prozessdaten im EtherCAT Protokoll vorliegen, weil z.B. nur ein kleiner Aufbau mit wenig Teilnehmern verwendet wird, liegen so wenig Nutzdaten vor, dass der Ethernet-Frame zwischen dem regulären Frameende und der ET2000-Erweiterung (16 Byte) mit Füllbytes (Padding bytes, x00) aufgefüllt wird um die minimale Ethernet-Framelänge zu erreichen. |
![]() | Alignment Fehler Das Alignment-Fehlerbit in den ESL-Informationen zeigt an, dass der aufgezeichnete Frame nicht an einer Bytegrenze endete. In diesem Fall muss das letzte Byte der Daten vor den ESL-Informationen ignoriert werden. |
Analyse von EtherCAT-Datagrammen
Abb. "Screenshot einer Wireshark-Aufzeichnung" zeigt den Mitschnitt von EtherCAT-Frames des TwinCAT EtherCAT Masters. Frame 348 ist markiert, sein Inhalt wird in den Feldern darunter aufgeschlüsselt dargestellt. Im mittleren Fenster werden im unteren Abschnitt die im Frame 348 enthaltenen EtherCAT-Datagramme mit Erläuterungen aufgeschlüsselt.
![]() | Parser Für jedes zu analysierende Netzwerkprotokoll ist ein eigener Parser im Verzeichnis <Wireshark Installationsverzeichnis>\plugins\<Version> erforderlich. Diese Parser können meist von der jeweiligen Nutzerorganisation bezogen werden. |
Der Parser ist z. Z. in Versionen für Microsoft NetMon, Wireshark und Etherreal erhältlich. Legen Sie ihn am o. a. Ort ab und starten Sie Wireshark neu. Nun kann Wireshark die EtherCAT-Datagramme wie in Abb. "Screenshot einer Wireshark-Aufzeichnung" darstellen.
Beispiele für Filtereinstellungen und ihr Nutzen
- "(esl.crcerror == 1) or malformed": von der ET2000 als defekt markierte Ethernet Frames werden angezeigt
- "ecat.adp==0x03ed and (ecat.ado==0x120 or ecat.ado==0x130)": Kontrolle der Statusübergänge des EtherCAT-Slave 0x03EDhex/1005d.
- "ecat_mailbox": nur Mailboxkommandos werden angezeigt
- "((ecat.cmd==4)&&(frame.number>110)): alle FPRD-Datagramme ab dem 110.Ethernet-Frame werden angezeigt.
Siehe dazu auch das gesonderte Beispiel.