Strukturen

Überblick

Erstellen Sie Strukturen in einem Projekt als DUT-Objekte (Data Type Unit) über das Dialogfeld Objekt hinzufügen.

Sie beginnen mit den Schlüsselwörtern TYPE und STRUCT und enden mit END_STRUCT und END_TYPE.

Syntax

TYPE <structurename>:
STRUCT
    <declaration of variables 1>
    ...
    <declaration of variables n>
END_STRUCT
END_TYPE

<structurename> ist ein Typ, der im gesamten Projekt erkannt wird, und wie ein Standard-Datentyp verwendet werden kann.

Verschachtelte Strukturen sind erlaubt. Die einzige Einschränkung besteht darin, dass Variablen nicht Adressen zugewiesen werden dürfen (die AT-Deklaration ist nicht zulässig).

Beispiel

Beispiel für eine Strukturdefinition mit dem Namen Polygonline:

TYPE S_POLYGONLINE :
STRUCT
        aiStart : ARRAY[1..2] OF INT := [-99, -99];
        aiPoint1 : ARRAY[1..2] OF INT;
        aiPoint2 : ARRAY[1..2] OF INT;
        aiPoint3 : ARRAY[1..2] OF INT;
        aiPoint4 : ARRAY[1..2] OF INT;
        aiEnd : ARRAY[1..2] OF INT := [99, 99];
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 vorherige Beispiel der Struktur Polygonline können Sie auf die Komponente Start über Poly_1.Start zugreifen.

Bitzugriff in Strukturen

Der Datentyp BIT ist ein spezieller Datentyp, der 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

Sie können auf die Strukturkomponente BIT unter Verwendung der folgenden Syntax zugreifen:

<structurename>.<bitname>

HINWEIS: Verwendung von Referenzen und Zeigern auf BIT-Variablen sind nicht möglich. Darüber hinaus sind BIT-Variablen in Arrays nicht zulässig.