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;

Datenstruktur mit BYTE- und UDINT-Variablen

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.

Datenstruktur mit Füll- oder Dummy-Variablen.

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.
Prozessdaten anlegen 1:
2. Klicken Sie im Kontextmenü auf Add New Item. Das Menü Insert Variable erscheint.
Prozessdaten anlegen 2:
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.