EAP zwischen TwinCAT 2 und 3

Das EtherCAT Automation Protocol ist kompatibel zu den herkömmlichen Netzwerkvariablen (NWV) aus TwinCAT 2. Es gibt allerdings beim EAP unter TwinCAT 3 ein paar Erweiterungen zu den Netzwerkvariablen, die eine erhöhte Aufmerksamkeit erfordern, wenn eine Kommunikation zwischen TwinCAT 2 NWV und TwinCAT 3 EAP etabliert werden soll.

Beachtung der Publisher NetID

Wenn TwinCAT2 einen NWV Publisher nutzt, wird als AmsNetID die AmsNetID des Gesamtsystems verwendet. Diese kann bei dem Empfänger entsprechend eingetragen werden.
EAP zwischen TwinCAT 2 und 3 1:

Im Gegensatz dazu verwendet TwinCAT 3 bei EAP als Publisher die AmsNetID des EAP-Gerätes.
EAP zwischen TwinCAT 2 und 3 2:

Die Option „Ignore Data Type Hash“

Ein weiterer zu beachtender Punkt ergibt sich aus der Erweiterung des Datentypsystems zwischen den TwinCAT Versionen 2 und 3:

TwinCAT 2 berechnet bei der Verwendung eines komplexen (also eines nicht nativen) Datentypen einen 16 Bit Hash-Wert, der diesen Datentypen eindeutig identifiziert. Für native Datentypen ist dieser Data Type Hash stets 0. Beim Versenden einer Publisher Variable der Data Type Hash als Versionsnummer mitgeschickt. Auf der Empfängerseite wird diese Versionsnummer dann mit dem Data Type Hash der konfigurierten Subscriber Variable verglichen. Meldet der Vergleich Übereinstimmung, werden die Daten vom Subscriber angenommen.

In TwinCAT 3 ist jedem Datentypen ein Global Unique Identifier (GUID) zugeordnet. Dieser hat eine Datenlänge von 128 Bit. Entsprechend wird bei der Konfiguration einer Publisher oder Subscriber Variablen als Versionsnummer stets der Wert 0 verwendet.

Wegen dieses Unterschieds zwischen TwinCAT 2 und 3 muss bei der Verwendung von komplexen Datentypen folgendermaßen vorgegangen werden:

  • Vorausgesetzt, es sollen Variablen zwischen TwinCAT 2 und TwinCAT 3 verschickt werden, die von einem komplexen, als nicht nativen Datentypen sind.
1. Bei der Subscriber Variablen muss in diesem Fall die Option „Ignore Data Type Hash“ aktiviert werden.
  • Diese Einstellung unterdrückt die Vergleichsoperation auf der Empfängerseite und die Daten werden ohne Versionsvergleich vom Subscriber angenommen.

Subscriber Variable per „Browse for Computer“ oder „Browse for File“ anlegen

Durch die Änderung des Dateiformates eines TwinCAT 2 Projektes zum TwinCAT 3 Projekt sind die beiden Varianten „Browse for Computer“ oder „Browse for File“, um eine Subscriber Variable passend zu einer bestehenden Publisher Variable anzulegen aktuell nur Abwärtskompatibel. Das heißt, dass es zurzeit nur möglich ist, von einem TwinCAT 3 System aus diese beiden Varianten zu verwenden, um eine Subscriber Variable automatisch anhand einer Publisher Variablen aus einem TwinCAT 2 Projekt erzeugen zu lassen. Im umgekehrten Fall muss eine Subscriber Variable manuell erzeugt werden (Variante „Create new Variable“).