Prozessdaten anlegen
![]() | Falsch eingestellte Adressoffsets bei der EtherCAT-Slave-Schnittstelle führen zum Absturz. Bei Geräten mit Prozessoren der Reihe Arm® auf das Alignment achten und korrektes Adressoffset in TwinCAT einstellen.
|
Über die EtherCAT-Slave-Schnittstelle (X101, X102) können maximal 512 Byte Ein- und Ausgangsdaten oder 256 Variablen ausgetauscht werden. Die 512 Byte Ein- und Ausgangsdaten können nicht einzeln angelegt werden, da dafür 512 Variablen benötigt werden.
Um viele Verknüpfungen zu vermeiden, ist es sinnvoll Daten in einer Datenstruktur abzulegen. Achten darauf, dass die verwendeten Datenstrukturen auf einem x86-System und einem Prozessor des Typs Arm® Cortex®-A9 unterschiedlich verarbeitet werden. Ein Prozessor des Typs Arm® Cortex®-A9 legt beispielsweise WORD-Variablen (2 Byte) immer auf eine gerade Adresse und DWORD-Variablen (4 Byte) auf eine durch 4 teilbare Adresse.
Datenstruktur Beispiel:
byTest :BYTE;
udTest:UDINT;
Adresse Arm® | Variable Arm® | Adresse x86 | Variable Arm® |
---|---|---|---|
Byte Offset 0 | Byte | Byte Offset 0 | BYTE |
Byte Offset 4 | UDINT | Byte Offset 1 | UDINT |
Summe: 8 Byte | Summe 5 Byte |
Sie können die Länge einer Datenstruktur auf beiden Systemen mit dem Befehl SIZEOF bestimmen. Wenn sich die Länge der Datenstruktur unterscheidet, dann ist dies ein Hinweis darauf, dass die Datenstruktur nicht passt.
Sie können das Problem lösen, indem Sie die Variablen geschickter anordnen oder mit Füll- oder Dummy Variablen arbeiten.
Adresse Arm® | Variable Arm® | Adresse x86 | Variable Arm® |
---|---|---|---|
Byte Offset 0 | Byte | Byte Offset 0 | BYTE |
Byte Offset 1 | BYTE (Dummy1) | ||
Byte Offset 2 | BYTE (Dummy2) | ||
Byte Offset 3 | BYTE (Dummy3) | ||
Byte Offset 4 | UDINT | Byte Offset 4 | UDINT |
Summe: 8 Byte | Summe 8 Byte |
Legen Sie Prozessdaten wie folgt an:
- 1. Klicken Sie links in der Strukturansicht unter Devices mit rechter Maustaste auf Inputs, um Eingangsvariablen anzulegen.
- 2. Klicken Sie im Kontextmenü auf Add New Item. Das Menü Insert Variable erscheint.
- 3. Wählen Sie die benötigten Variablen und bestätigen mit OK. Drücken Sie auf die Schaltfläche Create Array Type, um Datenstrukturen anzulegen.
- Sie haben erfolgreich Eingangsvariablen angelegt. Wiederholen Sie die Arbeitsschritte, um auf die gleiche Weise Ausgangsvariablen anzulegen.