Créez des structures dans un projet en tant qu'objets DUT (Data Type Unit) à l'aide de la boîte de dialogue
.
Les structures commencent par les mots clés TYPE
et STRUCT
et se terminent par END_STRUCT
et END_TYPE
.
TYPE <structurename>:
STRUCT
<declaration of variables 1>
...
<declaration of variables n>
END_STRUCT
END_TYPE
Le type <nom de la structure> est reconnu dans l'ensemble du projet et peut être utilisé comme type de données standard.
Les structures imbriquées sont autorisées, à la seule condition que les variables ne soient pas affectées à des adresses (déclaration AT
non autorisée).
Exemple de définition de structure nommée 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
Exemple :
Poly_1:polygonline := ( Start:=[3,3], Point1:=[5,2], Point2:=[7,3], Point3:=[8,5], Point4:=[5,7], End:= [3,5]);
Il est impossible d'initialiser des structures avec des variables. Pour consulter un exemple d'initialisation d'un tableau de structure, reportez-vous au chapitre Tableaux.
La syntaxe suivante permet d'accéder aux composants d'une structure :
<nomstructure>.<nomcomposant>
Pour l'exemple précédent de la structure Polygonline
, vous pouvez accéder au composant Start
par Poly_1.Start
.
BIT est un type de données spécial réservé aux structures. Occupant 1 bit d'espace mémoire, il vous permet d'adresser les bits individuels d'une structure par leur nom.
TYPE <structurename>:
STRUCT
<bitname bit1> : BIT;
<bitname bit2> : BIT;
<bitname bit3> : BIT;
...
<bitname bitn> : BIT;
END_STRUCT
END_TYPE
Vous pouvez utiliser la syntaxe suivante pour accéder au composant BIT
d'une structure :
<nomstructure>.<nombit>
BIT
. En outre, les variables BIT
ne sont pas autorisées dans les tableaux.