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.
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.
|
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.