ADS over EtherCAT (AoE)

Das TwinCAT EAP Gerät unterstützt des Weiteren das AoE Protokoll. Die Spezifikation des AoE Protokolls ist in den EtherCAT Protocol Enhancements (ETG 1020) zu finden. Der Unterschied zwischen der ADS/AMS Kommunikation und AoE Kommunikation ist der, dass bei der AoE Kommunikation im Gegensatz zur ADS/AMS Kommunikation kein TwinCAT Router notwendig ist. Das AoE Protokoll ist eines der Protokolle, die in TwinCAT unter die Rubrik der Mailbox-Kommunikation eingeordnet werden. Für die Vermittlung von AoE wird ein EtherCAT Telegramm vom Typ 5 (Mailbox-Kommunikation) verwendet. Ein Mailbox Telegramm kann vom bzw. zum TwinCAT EAP Gerät übermittelt werden:

via Ethernet (EtherType = 0x88A4) oder

via UDP/IP (UDP Port = 0x88A4)

Es besteht die Möglichkeit verschiedene Protokolle per Mailbox Kommunikation zu transportieren (tunneln). Das zu tunnelnde Protokoll wird anhand des Feldes Type im Mailbox Header festgelegt. Das AoE Protokoll ist durch den Wert 1 spezifiziert (vgl. Mailbox Header in folgender Abbildung). An den Mailbox Header schließt sich dann direkt der AoE Header gefolgt von den AoE Daten an. Deren Aufbau ist identisch zum ADS/AMS-Protokoll (vgl. dazu auch die TwinCAT ADS/AMS-Spezifikation im Beckhoff Informationssystem). Daraus ergibt sich die Möglichkeit, die CANopen SDO Kommunikation auch über das Mailbox Protokoll zu verwenden. Es kann analog zum ADS/AMS-Protokoll auf das CANopen OD des TwinCAT EAP Gerätes zugegriffen werden, wie in Kapitel Das TwinCAT ADS Interface zum EAP Gerät beschrieben.

ADS over EtherCAT (AoE) 1:

Beispiel:
Um die Vendor ID des Identity Objekts aus dem EAP Objektverzeichnis auszulesen, wird im AoE Header anhand der Command ID das ADS Kommando festgelegt:

AoE Kommando

Command ID

Beschreibung

ADS Read

2

ADS Read Kommando, um Daten zu lesen

ADS Write

3

ADS Write Kommando, um Daten zu schreiben


Anhand des 0-ten Bits im State Flag des AoE Headers wird zwischen Request = 0 und Response = 1 unterschieden. Anschließend wird das AoE Data Feld mit folgendem Inhalt versehen (vgl. folgende Abbildung):

Zu Beginn steht ein ADS Read Request Header mit

  • Index Group = 0x0000F302, um den Inhalt des Parameters zu lesen,
  • Index Offset = 0x10180001, um den Parameter Vendor ID zu adressieren,
  • und Read Length = 4, um die Größe des verfügbaren Datenpuffers mitzuteilen.

Anschließend folgt der Datenpuffer für die zu lesenden Daten.

ADS over EtherCAT (AoE) 2: