Technologie
Der CU2508-0022 erweitert als möglichst transparenter Port-Multiplier einen Gigabit-Ethernet-Port an der Steuerung auf acht Fast-Ethernet-Ports im Feld. Er transportiert IEEE802.3-konforme Ethernet-Frames beliebigen Inhaltes.
Anwendungsbeispiel
Jeder Port des CU2508-0022 sendet und empfängt Fast-Ethernet-Frames (100 MBit, 100BASE-TX) über bis zu 100 m Kupferleitung. Der CU2508-0022 erzeugt selbst keine Frames oder verarbeitet ihren Inhalt, sondern er leitet ausschließlich von einem Software-Treiber an ihn gesendete Frames über seine 8 Ports gezielt weiter an das Feld bzw. leitet aus dem Feld empfangene Frames an den Treiber weiter. Optional ist dabei die hochgenaue zeitliche Information, wann die Frames versendet bzw. empfangen werden.
Der CU2508-0022 verfügt dazu über folgende Ports:
- Ein Uplink-Port X09 (Gigabit-Ethernet) zum Treiber im Controller, der an der Gegenseite mindestens einen Gigabit-Ethernet-Anschluss benötigt.
- Acht Downlink-Ports X01-X08 (10/100 MBit) für den Echtzeitverkehr zu den angeschlossenen Feld-Geräten.
Ein CU2508-0022-System besteht somit aus dem CU2508-0022 und dem CU2508-0022-Treiber, integriert in TwinCAT.
Das CU2508-System ersetzt keine Masterimplementationen von Ethernet-basierenden Feldbussen, sondern es tunnelt vorgegebene Datentelegramme über die Gigabit-Verbindung und versendet die Frames dann zur vorgegebenen Zeit. Es verhält sich für die darüber geführten Protokolle transparent, mit Ausnahme des EtherCAT-Protokolls - hier ist ein CU2508-0022-Teilnehmer als erster Slave in der Konfiguration ersichtlich. Jedem real vorhandenen I/O-System auf der Feldseite muss also eine logische Masterkomponente in der Steuerung gegenüberstehen.
Es können mehrere CU2508-0022 je TwinCAT-System eingesetzt werden.
Im Folgenden werden einige Teilfunktionen des CU2508-0022 und Betriebsarten beschrieben.
Eigenschaften der Downlink-Ports
Die Grundeinstellung des CU2508-0022 ist für eine Verwendung mit EtherCAT-Downlinks optimiert, insbesondere für den Betrieb mit EtherCAT-Kabelredundanz.
Im Falle eines Link-Verlusts am Uplink-Port bleibt an den Downlink-Ports der Link erhalten, eingehende Frames werden aber verworfen.
ESL-Protokoll
Der Software-Treiber im Controller bildet das Gegenstück zum CU2508-0022. Er arbeitet auf einem Gigabit-Ethernet-Port im Controller und "verpackt" die User-Daten in das EtherCAT Switch Link-Protocol (ESL) bzw. entpackt das ESL-Protokoll vom CU2508-0022 und leitet die Nutzdaten weiter zur Anwendung. Es wird also kein gesondertes Telegramm mit Steuerdaten für das Handling der Nutzdaten gesendet, sondern die vom Anwenderprogramm erzeugten Nutzdaten werden um einige Byte Steuerdaten und Informationsdaten ergänzt.
Der CU2508-0022-Treiber ist in TwinCAT 3 und in TwinCAT 2 ab Version 2.11R2 integriert, beachten Sie dazu die Angaben in den Technischen Daten. Das ESL-Protokoll ist offengelegt, siehe Kapitel ESL Protokoll. Außerdem ist es in der Wireshark®-Installation seit der Version 1.4.2 enthalten.
EtherCAT-Zeitverhalten
Eine mögliche Verwendung des CU2508-0022 ist der Betrieb von mehreren EtherCAT-Strängen an einem einzelnen Port des IPC, also als Port-Multiplier.
Beim Betrieb von mehreren EtherCAT-Strängen an den Ports eines CU2508-0022 sind ggf. zeitliche Effekte zu beobachten, die relevant für die Applikation sein können. Dazu im Folgenden einige Erläuterungen.
Der CU2508-0022 unterstützt grundsätzlich die folgenden zwei Betriebsarten:
- Betrieb ohne Distributed Clocks
- Der CU2508-0022 leitet am Uplink-Port ankommende Frames an den gewünschten Downlink-Port weiter, genauso in Gegenrichtung. Es erfolgt keine zeitliche Steuerung der Ethernet-Frames.
- Die EtherCAT-Slaves der unterlagerten Systeme arbeiten frame-getriggert (oder Free Run) und der Zeitpunkt von Ausgaben ist wesentlich abhängig z. B. von Frameverzögerungen/Jitter.
- Betrieb mit Distributed Clocks
- Die weitergeleiteten EtherCAT-Frames unterliegen zeitlicher Beeinflussung durch den sendenden IPC, den CU2508-0022 und den EtherCAT-Slaves.
- Die Ports X01…X08 werden als Reference Clock für Distributed Clocks parametriert.
- Somit arbeiten die EtherCAT-Slaves der unterlagerten Systeme, die Distributed Clocks unterstützen, ebenfalls DC-synchron. Das bedeutet, die Ein/Ausgabe-Operationen in diesen Slaves können synchronisiert erfolgen, auch zeitlich „gleich“ zwischen den EtherCAT-Systemen an Port X01…X08.
Das Gesamtsystem ist dann im Grunde unabhängig von Frameverzögerungen/Jitter, solange diese nicht so wesentlich werden, dass die Distributed Clocks-Regelung beeinträchtigt wird. - Diese Methode ist (in Bezug auf EtherCAT-Betrieb) im Endeffekt die sinnvollste, denn
• die Ein/Ausgabeoperationen der EtherCAT-Teilnehmer sind zeitlich am besten definiert
• es werden keine Zeitpuffer im CU2508 nötig
Berücksichtigen Sie die folgenden Aspekte, um zeitliche Effekte in diesen Betriebsarten abschätzen zu können:
- Ethernet-Frames haben je nach Dateninhalt eine zeitliche Länge von
- Fast Ethernet (Downlink-Ports): 7…128 µs, Interframe Gap (IFG) 9,6 µs
- Gigabit-Ethernet (Uplink-Port): 0,7…12 µs, IFG 0,96 µs
- Beispiel-Szenario zum Einfluss der Frame-Länge:
An den Ports X01 und X02 ist jeweils ein EtherCAT-Strang angeschlossen, der je eine EL2202 (2-Kanal-Digital-Ausgang) enthält. Die Flanken sollen zu Demonstrationszwecken per Oszilloskop nachgemessen werden. Das Bit der jeweils verwendeten EL2022 liegt für X01 in einem kurzen 7 µs Frame und für X02 in einem langen 128 µs Frame. Allein dadurch wird das Signal an der EL2022 an X02 121 µs später ausgegeben.
Abhilfe schafft die Verwendung von Distributed Clocks, siehe oben.
(Die Position der Ausgabe-Daten im EtherCAT-Frame spielt üblicherweise keine Rolle, da Ausgabedaten erst nach vollständiger Passage des Frames am Ausgabegerät nach Kontrolle der Checksumme ausgegeben werden.) - Der CU2508-0022 hat aufgrund der unterschiedlichen Transportgeschwindigkeit für jeden Port einen internen verzögernden Datenpuffer.
- Auf der Uplink-Leitung werden die Frames seriell (nacheinander) übertragen. Die Gigabit-Framelängen können in Relation zu ggf. kurzen TwinCAT-Zykluszeiten bereits in relevanter Größenordnung liegen.
- Sind in TwinCAT mehrere Tasks zu bearbeiten, verarbeitet TwinCAT diese in der Standard-Einstellung seriell (nacheinander). Dies führt dazu, dass die Gigabit-Frames entsprechend verzögert abgeschickt werden.
- Die Verzögerungen, die durch das Management des CU2508-0022 verursacht werden, betragen typischerweise:
- Im Downlink
Gbit X09 to FastEthernet X01..X04: tFE = 1 µs
Gbit X09 to FastEthernet X05..X08: tFE = 1,6 µs - Im Uplink
FastEthernet X01..X04 to Gbit X09: tGE = 0,7 µs
FastEthernet X05..X08 to Gbit X09: tGE = 1,1 µs - Diese Verzögerungen sind also relativ unbedeutend im Vergleich zu den o. a. anderen Faktoren. Was aber anhand der Grafik sofort ins Auge fällt, ist die Bedeutung der Framelänge und der nötigen Zwischenspeicherung im Uplink.
Der CU2508-0022 als EtherCAT-Slave
Jeder Downlink-Port des CU2508-0022 kann als eigenes EtherCAT-Gerät konfiguriert werden, siehe Kapitel Konfiguration eines Ports als EtherCAT-Port. In diesem Fall stellt der Downlink-Port den ersten EtherCAT-Teilnehmer im System dar. Er ist Distributed-Clocks-fähig und kann damit als Reference Clock im Strang dienen.
Durch Kombination zweier solcher EtherCAT-Ports ist die Kombination von EtherCAT-Kabelredundanz und Distributed-Clocks-Funktion möglich.
Zeitgesteuertes Senden/Empfangen (in Vorbereitung)
Die Frameweiterleitung im CU2508-0022 kann einer exakten Zeitkontrolle durch die lokale Uhr unterworfen werden:
- der Treiber bzw. die Anwenderapplikation gibt an, zu welchem Zeitpunkt und über welchen Downlink-Port ein Frame vom CU2508-0022 versendet werden soll.
Diese Angaben werden vom Treiber als Zusatzinformation jedem Frame angefügt. - jeder vom CU2508-0022 an einem Downlink-Port empfangene Frame wird um Empfangsinformationen ergänzt (Empfangsport, Zeitpunkt) und über den Uplink zum Controller weitergeleitet.
Die lokale Hardware-basierte Uhr im CU2508-0022 steuert dann das Versenden der Frames mit einer hohen zeitlichen Güte. Dadurch erlaubt der CU2508-0022 den Aufbau eines Realtime-Ethernet-Netzwerkes (Netzwerkvariablen, Profinet, ...) auch wenn das Steuergerät keine harte Echtzeit in der Versendung der Protokolldaten gewährleisten kann. Das Steuergerät muss jedoch die Daten ausreichend schnell anliefern bzw. abnehmen können.
Die Zeitsteuerung nutzt das vom EtherCAT Distributed Clocks System bekannte 64-Bit-Zeitformat: Auflösung 1 ns und damit ausreichend für ca. 584 Jahre, beginnend ab dem 01.01.2000 um 00:00.
Die Zeitstempelinformationen (Senden und Empfangen) werden vorläufig nur vom CU2508-Treiber ausgewertet und stehen der Anwenderapplikation nicht zur Verfügung.
Als Beginn eines Ethernet-Frames wird der SFD (Start of Frame Delimiter) nach IEEE802.3-Standard gewertet.
EoE und TCP/IP
Der CU2508-0022 ist über die Gigabit-Ethernet-Schnittstelle mit dem IPC verbunden. Diese Schnittstelle tritt im Betriebssystem des IPC mit ihren Eigenschaften (IP-Adresse, Subnetzmaske etc.) auf. Aus der Sicht des Betriebssystems gibt es also nur diesen einen Netzwerkanschluss, an den Telegramme gesendet oder von dem Telegramme empfangen werden können. Der CU2508-0022-Treiber kann nun Datenverkehr der Betriebssystemebene entweder an einen dezidierten Downlink-Port des CU2508-0022 durchleiten oder in den virtuellen Switch (EoE) einspeisen. Siehe auch z.B. die Dokumentation der EP6601-0002 oder EL6601/EL6614. Die Auswahl wird über die Einstellung in TwinCAT getroffen. Über "TCP/IP Port" kann entweder der bestimmte Downlink-Port oder allgemein EoE ausgewählt werden.
Siehe Kapitel Konfiguration der TCP/IP-Kommunikation.
Anwendungen
Die oben beschriebenen Funktionen lassen die Verwendung des CU2508-0022 u.a. für folgende Anwendungen zu:
- Multi-EtherCAT Adapter
Es können bis zu acht eigenständige EtherCAT-Systeme erstellt werden. - Synchronisierte EtherCAT-Systeme
Wird der CU2508-0022 als Reference Clock gewählt, werden die am CU2508-0022 angeschlossenen EtherCAT-Systeme mit gleicher synchronisierter Zeitbasis betrieben. - EtherCAT-Kabelredundanz
Je zwei Downlink-Ports des CU2508-0022 können zu einem kabelredundanten EtherCAT-System zusammengefasst werden. Damit werden weniger Ethernet-Ports an der Steuerung belegt, nur noch ein Gigabit-Ethernet-Port wird für den Uplink benötigt. Es sind somit je CU2508-0022 bis zu vier kabelredundante EtherCAT-Systeme möglich. - EtherCAT Kabelredundanz mit Distributed Clocks
Durch die gemeinsame Zeitbasis des CU2508-0022 sind auch EtherCAT-Slaves, die Distributed Clocks benötigen, im Redundanzfall weiterhin der Synchronisierung unterworfen. - TCP/IP Nutzung ohne Echtzeit
Am CU2508-0022 kann ein Downlink-Port als Nicht-Echtzeit-Ethernet-Port konfiguriert werden, oder der CU2508-0022 arbeitet im Ethernet over EtherCAT (EoE) - Verbund und leitet aus den angeschlossenen EtherCAT-Systemen TCP/IP-Frames weiter. - Echtzeit-Feldbus an Nicht-Echtzeit-Steuerung
Wenn ein Ethernet-basierender Feldbus eine verlässliche Konstanz in Bezug auf das Versenden der Kommunikationstelegramme erfordert, ist ein geringer Jitter in den zyklischen Operationen der Steuerung erforderlich. Vermag eine performante Steuerung zwar die zyklischen Operationen ausreichend häufig (= geforderte kurze Zykluszeit) bearbeiten können, der Jitter, d. h. der regelmäßige Abstand zwischen den Zyklen aber unzulässig hoch liegen, kann das CU2508-0022-System als Echtzeit-Framehandler den konstanten Abstand im Frameversenden bereitstellen, wenn die neuen Daten ausreichend rechtzeitig im CU2508-0022 vorliegen.
Datenumsatz in den unterlagerten EtherCAT-Strängen
Die Ports X01 und X05 sind für EtherCAT-Stränge mit besonders hohem Datenumsatz mit einem vergrößerten Daten-Zwischenspeicher von 16 kByte statt sonst 8 kByte ausgestattet.
„Hoher Datenumsatz“ wird erzeugt durch IO-Systeme mit vielen zyklischen Daten, z. B. wenn viele Teilnehmer (über 100) oder/und Teilnehmer mit großem Datenbedarf (z. B. analoge Oversampling-Klemmen) eingesetzt werden.
Wird ein „großes“ IO-System im EtherCAT-Redundanz-Modus betrieben, ist es zweckmäßig dazu die Ports X01 und X05 zu benutzen.
Die vorgefunden Speicher-Situation wird fallweise von TwinCAT mit „Cu2508 fifo sizes…“ gemeldet:
