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

Grundlagen zur Funktion 2:
Draufsicht auf die ET2000
Grundlagen zur Funktion 3:

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.

Grundlagen zur Funktion 4:

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.

Grundlagen zur Funktion 5:
Beispielanschluss der ET2000

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.

Grundlagen zur Funktion 6:

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.

Grundlagen zur Funktion 7:

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.

Grundlagen zur Funktion 8:

Datenmengen

Je nach EtherCAT-Zykluszeit und Prozessdatenumfang können u. U. in kürzester Zeit erhebliche Datenmengen anfallen!

Grundlagen zur Funktion 9:
Screenshot einer Wireshark-Aufzeichnung

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.

Grundlagen zur Funktion 10:

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.

Grundlagen zur Funktion 11:
Anschalten des ESL Dissectors in Wireshark
Grundlagen zur Funktion 12:

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.

Grundlagen zur Funktion 13:
Von der ET2000 angefügte Zusatzdaten im ESL (EtherCAT Switch Link) Protokoll

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

Grundlagen zur Funktion 14:

1 Byte

bit 0..2 reserved,
bit 3: alignment error,
bit 4: CRC Error im aufgezeichneten Frame

8 Byte

Timestamp in ns (Genauigkeit: 10 ns) - x00 00 00 5D 34 81 99 08 (Leserichtung rückwärts)

Grundlagen zur Funktion 15:

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.

Grundlagen zur Funktion 16:

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.

Grundlagen zur Funktion 17:

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.

Grundlagen zur Funktion 18:

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

Siehe dazu auch das gesonderte Beispiel.