Strukturen werden als DUT-Objekte (Data Type Unit) über das Dialogfeld Objekt hinzufügen im Projekt angelegt.
Sie beginnen mit den Schlüsselwörtern TYPE und STRUCT und enden mit END_STRUCT und END_TYPE.
TYPE <structurename>:
STRUCT
<declaration of variables 1>
...
<declaration of variables n>
END_STRUCT
END_TYPE
<Strukturname> ist ein Typ, der im gesamten Projekt erkannt wird, und wie ein Standard-Datentyp verwendet werden kann.
Verschachtelte Strukturen sind erlaubt. Die einzige Beschränkung ist, dass Variablen nicht Adressen zugewiesen werden dürfen (die AT-Deklaration ist nicht erlaubt).
Beispiel für eine Strukturdefinition namens Polygonline:
TYPE Polygonline:
STRUCT
Start:ARRAY [1..2] OF INT;
Point1:ARRAY [1..2] OF INT;
Point2:ARRAY [1..2] OF INT;
Point3:ARRAY [1..2] OF INT;
Point4:ARRAY [1..2] OF INT;
End:ARRAY [1..2] OF INT;
END_STRUCT
END_TYPE
Initialisierung von Strukturen
Beispiel:
Poly_1:polygonline := ( Start:=[3,3], Point1:=[5,2], Point2:=[7,3], Point3:=[8,5], Point4:=[5,7], End:= [3,5]);
Initialisierungen mit Variablen sind nicht möglich. Ein Beispiel für die Initialisierung eines Arrays einer Struktur finden Sie unter Arrays.
Zugriff auf Strukturkomponenten
Der Zugriff auf eine Strukturkomponente erfolgt nach der Syntax:
<Strukturname>.<Komponentenname>
Für das obige Beispiel der Struktur Polygonline ist also der Zugriff auf die Komponente Start mit Poly_1.Start möglich.
Der Datentyp BIT ist ein spezieller Datentyp, welcher nur in Strukturen definiert werden kann. Er belegt 1 Bit Speicherplatz und ermöglicht einzelnen Bits einer Struktur über einen Namen zu adressieren.
TYPE <structurename>:
STRUCT
<bitname bit1> : BIT;
<bitname bit2> : BIT;
<bitname bit3> : BIT;
...
<bitname bitn> : BIT;
END_STRUCT
END_TYPE
Der Zugriff auf die Strukturkomponente BIT erfolgt mithilfe der nachstehenden Syntax:
<Strukturname>.<Bitname>
HINWEIS: Die Verwendung von Referenzen und Zeigern auf BIT-Variablen ist nicht möglich. Außerdem dürfen BIT-Variablen nicht in Arrays verwendet werden.
Mit EQ-Operatoren können Operanden des Typs STRUCT (Struktur) verglichen werden, sofern das Zielsystem strukturierte Datentypen unterstützt.