EL66xx - Non Realtime
EL66xx und Ethernet-Transport über Mailbox-Kommunikation
Neben dem regulären zyklischen Prozessdatenaustausch verfügt ein EtherCAT-Master noch über einen weiteren Mechanismus, um Daten zu einem EtherCAT-Slave zu transportieren bzw. von diesem zu lesen. Dieser Mechanismus wird für einmaligen oder dynamisch wechselnden Datenaustausch benutzt, wie z. B. die Parametrierung eines EtherCAT-Slaves. Die Mailbox-Kommunikation kann aber auch dazu verwendet werden, um azyklisch große Datenblöcke auf Wunsch von Master oder Slave zu transportieren. Diese Zusatzkommunikation findet in den Zeiten zwischen den zyklischen Prozessdaten-Frames (den klassischen EtherCAT-Frames) auf dem EtherCAT-Bus statt.
Datendurchsatz bei Mailbox-Kommunikation Weil die Mailbox-Kommunikation nur zwischen den regulären Prozessdaten-Frames stattfinden kann, ist der Datendurchsatz mit dieser Kommunikationsmethode abhängig von der Auslastung des EtherCAT-Busses. Damit ist auch der Ethernet-Durchsatz der EL6601 von der Auslastung des zugrundeliegenden EtherCAT-Feldbusses abhängig. |
Für die EL66xx wird das EoE-Verfahren (Ethernet over EtherCAT) benutzt. Dafür sind im System Manager eigene Einstellungen vorhanden.
Datendurchsatz
Der Datendurchsatz der EL66xx an Ethernet-Frames bzw. Bytes/Sekunde ist abhängig
- von der EtherCAT-Zykluszeit auf dem Feldbus: je kürzer der für die Prozessdaten verwendete EtherCAT-Zyklus, desto mehr azyklische Mailbox-Abfragen können durchgeführt werden. Werden mehrere unterschiedliche EtherCAT-Zykluszeiten auf einem EtherCAT-Strang eingesetzt, ist die schnellste Zykluszeit maßgebend.
- von der Zeit zwischen den Prozessdatenrahmen, die für die Mailbox-Kommunikation zur Verfügung steht: je länger die Ethernet-Leitung für die azyklische Mailbox-Kommunikation frei ist, desto höher ist der Ethernet-Datendurchsatz der EL6601.
- von der Größe der Mailbox in Byte: je größer die Mailbox, desto mehr Ethernet-Frames kann die EL6601 in gleicher Zeit zum EtherCAT-Master verschicken bzw. von diesem annehmen.
- von der Anzahl der im EtherCAT-System verwendeten Klemmen, die gleichzeitig Mailbox-Kommunikation verwenden.
- von den EoE-Einstellungen im TwinCAT System Manager, Kapitel EoE.
Folgende Werte wurden exemplarisch ermittelt (TwinCAT 2.10, 2.11)
- > 5 MBit/s abgehend von der EL6601 an das Ethernet-Gerät.
- > 2 MBit/s ankommend an der EL6601 vom Ethernet-Gerät.
bei einer EtherCAT-Zykluszeit von 100 µs und einer Mailboxgröße von 1024 Byte.
Tipps zur Verkürzung der Antwortzeiten Für die Verkürzung der Antwortzeiten in Ihrer Applikation (z. B. auf ping-Anfragen) empfiehlt sich folgende Vorgehensweise: Verringern sie die aktuell verwendete EtherCAT-Zykluszeit deutlich bzw. fügen Sie eine neue Task mit einer kleineren Zykluszeit ein, z. B.: 500 µs wenn Sie bisher 2.5 ms EtherCAT-Zyklus verwendet haben. Wichtig: diese Task muss auf echte IO-Prozessdaten aus den EtherCAT-Slaves zugreifen und unter Gerät EtherCAT -> Reiter EtherCAT erkennbar sein, s. Abb. Realer Frameaufbau aus dem TwinCAT System Manager |
Hinweis zu den angegeben Werten Diese Angaben sind typisch und ohne Garantie; die Durchsatzraten können in verschiedenen Applikationen nach den o.a. Randbedingungen abweichen! |
Adressvergabe
Ab FW03 kann die EL6601/6614 auch IP-Adressen an angeschlossene Geräte vergeben und arbeitet als DHCP- oder BOOTP-Server für ein Gerät. Die Einstellungen hierzu sind im System Manager (EL66xx --> Advanced Settings --> Mailbox --> EoE) wie folgt vorzunehmen:
- Einstellung "Switch Port", Abb. Standardeinstellung der EL66xx als Switch-Port ohne IP-Adressenvergabe.
Die EL66xx arbeitet wie ein normaler Switch und leitet Ethernet-Frames transparent an TwinCAT/Windows durch. - Einstellung ""IP Port", Abb. Ab FW03: Einstellungen für dynamisch vergebene IP-Adresse
Die EL66xx arbeitet mit Adressvergabe an ein angeschlossenes Ethernet-Gerät. Im Gerät ist ein DHCP- oder BootP-Client zu aktivieren (siehe Netzwerkadaptereinstellungen im Betriebssystem). Die EL66xx antwortet auf die entsprechende DHCP/BootP-Anfrage des Geräts indem es die angegebene IP-Adresse/Subnetzmaske an das Gerät vergibt. Im DHCP-Verfahren wird diese Adresse regelmäßig vom Client erneut angefragt und vom Server/EL66xx vergeben.
Dabei ist zu beachten:
- die Checkbox "DHCP" ist nicht zu benutzen - die Checkbox "IP-Address" aktiviert die DHCP/BootP-Funktion in der EL66xx.
- die Einstellungen Gateway, Maske und Server werden ebenfalls dem Client/Gerät mitgeteilt.
- es kann nur eine Adresse vergeben werden, d.h. es darf kein Switch mit angeschlossenen Teilnehmern nachfolgen.
- der Adressbereich muss mit dem des EtherCAT-Adapters übereinstimmen.
- DHCP Server Identifier: manche DHCP Server benötigen im Antworttelegramm eine ServerID.
Lösung für EL6601 ab FW15: Im CoE 0xF800:01 ist der Wert 0x1000 einzutragen. Wenn in der EL6601 ein Default Gateway eingetragen ist wird diese dann als DHCP Server Identifier genutzt.
Einstellungen der Mailbox
Die Mailbox-Größe kann im Beckhoff TwinCAT System Manager geändert werden:
Standardmäßig ist die Mailbox auf 522 Byte Input und 522 Byte Output (20 Ahex) eingestellt, s. Abb. Default Einstellungen der Mailbox, Einträge für SyncManager 0 und 1. Zur Erhöhung des Datendurchsatzes kann die Mailbox auf bis zu 1024 Byte vergrößert werden, s. Abb. Vergrößerung der Mailbox.
Default Mailboxgröße Ab Revision EL66xx-0000-0018 ist die Mailbox standardmäßig bereits auf 1024 Byte in beiden Richtungen eingestellt, kann also nicht weiter vergrößert werden. |
Unter EL6601 -> Karteireiter EtherCAT -> "Erweiterte Einstellungen..." -> "Mailbox" kann die "Out Size" hexadezimal auf Werte zwischen 42dez/2 Ahex und 1024dez/400hex Byte eingestellt werden. Ethernet-Frames, die größer sind als die Mailbox der EL6601, werden von der EL6601 bzw. dem EtherCAT-Master fragmentiert und nach Durchlaufen des EtherCAT-Systems wieder zusammengesetzt.
Einstellung virtueller Switch
Die im TwinCAT-System vorhandenen EL66xx treten insgesamt als virtueller Switch auf, mit dem EtherCAT-System als "Backbone".
Die Einstellungen dazu finden sich unter TwinCAT | Gerät EtherCAT | Erweiterte Einstellungen
Hinweise
- wird eine große Anzahl an EL66xx im EtherCAT-Strang verwendet, kann es sinnvoll sein die Angabe MaxFrames zu erhöhen
- wird die EL66xx ausschließlich für Netzwerkvariablen-Verkehr benutzt, sollte ConnectToTcpStack deaktiviert werden
- IP-Routing ist standardmäßig aktiviert, dies kann auch durch Eingabe von "ipconfig /all" in der Kommandozeile (Windows) überprüft werden