Kommunikationsmethoden

Das TwinCAT EAP Gerät unterstützt zwei Kommunikationsarten. Zum einen die zyklische Prozessdatenkommunikation (EtherCAT Type 4) und zum anderen die azyklische EtherCAT Mailbox-Kommunikation (EtherCAT Type 5). Das TwinCAT EAP Gerät unterstützt bei der Mailbox-Kommunikation nur das AoE Protokoll (AoE – ADS over EtherCAT). Die Spezifikation des AoE Protokolls wird in den EtherCAT Enhancements (ETG 1020) beschrieben. Bei der Prozessdatenkommunikation wird zwischen zwei Kommunikationsmodi unterschieden:

Zum einen den Pushed Data Exchange Modus, bei dem ein EAP-Sender zyklisch oder wegen einer Statusänderung seine Prozessinformationen in das Netz sendet und ein EAP-Empfänger entsprechend diese Prozessinformationen erwartet und empfängt. Dieser Modus entspricht dem Publisher Subscriber Prinzip der Netzwerkvariablen (NWV) von TwinCAT 2.
Zum anderen den Polled Data Exchange Modus, bei dem ein EAP-Client ein Anfragetelegramm mit seinen Prozessinformationen an einen EAP-Server sendet und dieser wiederum seine Prozessinformationen in einem Antworttelegramm an den EAP-Client zurückschickt.

Des Weiteren unterstützt das TwinCAT EAP Gerät sowohl unterschiedliche Verbindungsarten als auch unterschiedliche Adressierungsarten bei der Prozessdatenkommunikation. Die unterstützen Verbindungsarten sind:

  • Unicast: Die EAP Nachricht wird von einem Endpunkt zu einem anderen Endpunkt geschickt, mit anderen Worten: Die Nachricht ist an genau einen PC adressiert.
  • Multicast: Die EAP Nachricht wird von einem Endpunkt zu mehreren anderen Endpunkten geschickt, mit anderen Worten: Die Nachricht ist an eine Gruppe von PCs adressiert.
  • Broadcast: Die EAP Nachricht wird von einem Endpunkt zu allen erreichbaren Endpunkten geschickt, mit anderen Worten: Die Nachricht ist an alle Teilnehmer adressiert.

Die Adressierung kann per MAC Adresse, per AMS NetID oder per IP Adresse erfolgen. Je nach Konstellation von Verbindungsart und Adressierungsart wird ein bestimmtes Vermittlungsprotokoll bei der EAP Prozessdatenkommunikation wirksam. Die genaue Zuordnung ist in der folgenden Tabelle festgehalten.

Vermittlungsprotokolle

Adressierungsart

Verbindungsart

MAC Adresse

AMS NetID

IP Adresse

Unicast

Ethernet Protokoll

Ethernet Protokoll

UDP/IP

Multicast

Ethernet Protokoll

Nicht möglich

UDP/IP

Broadcast

Ethernet Protokoll

Nicht möglich

UDP/IP

Im Detail werden die Verbindungsarten Unicast, Multicast und Broadcast in Abhängigkeit von den verschiedenen Adressierungsarten (MAC, AMS NetID und IP) wie folgt unterstützt:

MAC Adressierung:
Die EAP Nachricht wird per Ethernet Protokoll übertragen. Als Zieladresse wird die MAC Adresse des Netzwerkadapters konfiguriert, der die Nachricht empfangen soll. Bei dieser Adressierungsart kann die EAP Nachricht nicht von einem Router in an anderes Subnetz weitergeleitet werden, da dieser auf der Basis von IP Adressen arbeitet. Daher kann die Nachricht nur innerhalb eines Subnetzes über Switche versendet werden.

Broadcast und Multicast

Für eine Broadcast oder Multicast Nachricht sind spezielle MAC Adressen reserviert:

Broadcast MAC: FF-FF-FF-FF-FF-FF

Multicast MAC: Eine Multicast MAC Adresse muss folgende Bedingungen erfüllen.

  • Das niederwertigste Bit (Bit 1) des ersten Bytes hat den Wert 1 (Group-Bit).
  • Das folgende Bit 2 hat den Wert 0, wenn die MAC-Adresse global eindeutig ist;
    oder den Wert 1, wenn die Adresse nur lokal eindeutig ist.
  • Die ersten 24 Bits (Bit 3 bis 24) entsprechen der Herstellerkennung (engl. Organizationally Unique Identifier - OUI) Die OUI der Firma Beckhoff ist "00-01-05".
  • Die verbleibenden 24 Bits (Bit 25 bis 48) können individuell für jede Schnittstelle festgelegt werden. Für das EtherCAT Automation Protocol ist die Folge "04-00-00" definiert.
  • Somit ergibt sich die Standard Multicast MAC-Adresse 01:01:05:04:00:00 für TwinCAT EAP Geräte.

AMS NetID Adressierung:
Die EAP Nachricht wird per EtherCAT Protokoll vom Typ 4 (EAP) übertragen. Die notwendige Ziel MAC Adresse wird mittels Address Resolution Protocol (ARP) unter Verwendung der konfigurierten AMS NetID ermittelt. Wie bei der MAC Adressierung kann die EAP Nachricht nur innerhalb des Subnetzes versendet werden.

Kommunikation via AMS NetID

Die Verwendung einer AMS NetID als Zieladresse hat den Vorteil, dass es sich dabei um eine logische Adressierung handelt. Die MAC Adresse des Zielgerätes wird mit Hilfe eines speziellen ARP Request unter Verwendung der konfigurierten AMS NetID ermittelt.

Ein Anpassen der Konfiguration einer EAP Verbindung ist auch dann nicht notwendig, wenn beispielsweise ein Steuerungsrechner bzw. ein Netzwerkadapter eines Rechners ausgetauscht wird auf Grund dessen sich die MAC Adresse ändert. Es muss nur sichergestellt sein, dass der neue Steuerungsrechner die ursprüngliche AMS NetID erhält.

Wenn die Verbindungsart Unicast konfiguriert wird, ist standardmäßig auch der Subscriber Monitoring Mechanismus konfiguriert (siehe Gegenstellenüberwachung per ARP).

IP Adressierung:
Für die EAP Nachricht wird das Internet Protokoll (IP) zusammen mit dem User Datagram Protocol (UDP) zur Vermittlung bzw. Adressierung des Empfängers verwendet. Die notwendige Ziel MAC Adresse wird mittels Address Resolution Protocol (ARP) unter Verwendung der konfigurierten IP Adresse ermittelt. Mit Hilfe der UDP/IP Adressierung kann die EAP Nachricht auch von einem Router in andere Subnetze weitergeleitet werden (z.B. auch ins Internet).

Für eine Broadcast oder Multicast Nachricht sind spezielle IP Adressen reserviert:

Broadcast IP: Als Broadcast IP Adresse ist 255.255.255.255 festgelegt. Aus dieser wird direkt die Broadcast MAC Adresse FF-FF-FF-FF-FF-FF abgeleitet.

Multicast IP: Eine Multicast IP Adresse muss in dem Adressbereich 224.0.0.0 bis 239.255.255.255 (IPv4) liegen. TwinCAT generiert beim EAP Gerät zu jeder konfigurierten Multicast IP Adresse eine konforme Multicast MAC Adresse, die bei der Inbetriebsetzung von TwinCAT (also beim Schalten in den Run Mode) verwendet wird.

Pushed Data Exchange (n:m Verbindung)

Der Pushed Data Exchange Modus funktioniert nach dem gleichen Modell wie die Übertragung der NWV (Publisher Subscriber Prinzip). Er bietet die Möglichkeit einer n:m-Verbindung in einem Netzwerk. Dabei kann jedes EAP Gerät ein oder mehrere EAP Telegramme mit seinen Ausgangsprozessdaten (TxData) senden. Ebenso kann jedes EAP Gerät darauf „lauschen“, ob die in einem empfangenen EAP Telegramm enthaltenen Prozessdaten zu seinen Eingangsprozessdaten (RxData) passen und diese gegebenenfalls verarbeiten. Ein und dasselbe EAP Gerät kann also sowohl Prozessdaten senden als auch Prozessdaten empfangen. Auf diese Weise lässt sich eine bidirektionale Kommunikation herstellen.

Beim Pushed Data Exchange kann die Adressierungsart (Unicast, Multicast oder Broadcast) pro konfiguriertes EAP Telegramm entsprechend der Notwendigkeit frei gewählt werden.

Polled Data Exchange (1:1 Verbindung)

Der Polled Data Exchange Modus unterliegt dem Prinzip der Client/Server Architektur. Er ermöglicht mit Hilfe dieser Architektur eine „weiche“ Synchronisierung. Dabei kann ein EAP Gerät gleichzeitig sowohl als Client als auch als Server agieren.

Verbindungsart für den Polled Modus

Für den Modus Polled Data Exchange ist ausschließlich die Verbindungsart Unicast eindeutig definiert.

Unicast (1:1-Verbindung)
Ein Client sendet ein EAP Telegramm mit seinen Ausgangsprozessdaten an einen Server, der daraufhin seine Eingangsprozessdaten in einem eigenen EAP Telegramm an den Client zurückschickt.

Vermittlungsprotokolle

Ethernet Protocol
Das Ethernet Protocol ist für die Vermittlung der Datenpakete im Netzwerk verantwortlich. Es übernimmt die Aufgaben der OSI-Schichten 1 und 2 (Bitübertragungsschicht und Sicherungsschicht). Im Ethernet Protocol Header wird eine Absender- und Empfängeradresse eingetragen sowie ein Ethernet-Type, der festlegt, welches Protokoll der nächst höheren OSI-Schicht auf das Ethernet Protocol aufsetzt. Die Absender- und Empfängeradresse wird in Form einer MAC-Address eingetragen. MAC bedeutet Media Access Control und steht hier für die eindeutige Hardware-Adresse, die jedes Ethernet Gerät ab Herstellung hat. Der Ethernet-Port eines Beckhoff-PC könnte z.B. die MAC-Address 00:01:05:34:05:84 haben - "00:01:05" ist die Beckhoff-Kennung, der Rest wird bei der Herstellung gewählt. Über die Absender- und die Empfänger-MAC-Address ist der Weg eines jeden Ethernet-Telegramms zwischen zwei sich im Netzwerk befindlichen PC bestimmt. Ein Ethernet-Telegramm kann über einen Switch, normalerweise aber nicht über einen Router weiterverarbeitet werden.

User Datagram Protocol / Internet Protocol (UDP/IP)
Der Empfänger wird über einen zusätzlichen IP-Header im Ethernet-Telegramm identifiziert und kann auf diese Weise von einem Router weiterverarbeitet werden. Das Telegramm hat den Ether Type 0x0800, wodurch festgelegt ist, dass es sich um ein IP-Telegramm handelt. Im anschließenden UDP-Header wird dann für den Source-Port sowie für den Destination-Port die Portnummer 0x88A4 verwendet. Durch diese Portnummer erkennt das TwinCAT System, dass es sich um ein Echtzeitbasiertes User Datagram handelt.

Ein EAP Telegramm wird von TwinCAT entweder anhand des Ether Types 0x88A4 (beim Ethernet Protocol) oder anhand des Destination-Ports 0x88A4 (beim UDP/IP) identifiziert. Entsprechend schleust der TwinCAT Ethernet Treiber ein empfangenes EAP Telegramm am NDIS Stack des Betriebssystems vorbei, so dass es von TwinCAT bevorzugt als Beckhoff Echtzeit Ethernet Telegramm behandelt wird. Beim Versenden eines EAP Telegramms wird ebenfalls der NDIS Stack des Betriebssystems umgangen.
Nachdem ein EAP Telegramm von einem TwinCAT PC empfangen und als solches identifiziert wurde, findet in der weiteren Telegrammverarbeitung die Zuordnung der im Telegramm transportierten Process Data (PD) zu den beim EAP Gerät konfigurierten RxData statt. Diese Zuordnung erfolgt anhand der PD-ID. Das empfangene PD wird verworfen, wenn beim Empfänger kein RxData mit der passenden PD-ID konfiguriert wurde.

Die Werte der einzelnen Process Variables (PV) eines PD werden letztendlich erst dann übernommen, wenn auch noch die Datenlänge und die Versionsnummer des empfangenen PD mit der erwarteten Datenlänge und Versionsnummer übereinstimmen.