Strukturen werden als DUT-Objekte (Data Type Unit) über das Dialogfeld
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
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.
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 Ihnen, einzelne 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>
BIT
-Variablen ist nicht möglich. Außerdem dürfen BIT
-Variablen nicht in Arrays verwendet werden.