Prozessdaten anlegen
Ü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 ARM-Prozessor unterschiedlich verarbeitet werden. Der ARM-Prozessor 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.