Accès aux variables dans les tableaux, les structures et les blocs
Accès aux éléments du tableau
Syntaxe :
<nom de la variable du tableau> [<liste d'index de dimension séparés par des virgules>]
<nom de la variable du tableau> | Nom de la variable du tableau Exemple : Pour plus d'informations, voir : Attribuer un identifiant |
<liste d'index de dimension séparés par des virgules> | Un index par dimension, afin qu'un élément du tableau soit identifié Exemple : L'index est valable du minimum d'index au maximum d'index. Exemple: |
Tableau unidimensionnel avec 10 composants
//Declaration
VAR
aiCounter : ARRAY[0..9] OF INT;
iLocalVariable : INT;
END_VAR
// Implementation
iLocalVariable := aiCounter[2]; Tableau bidimensionnel avec 2 fois 2 composants
//Declaration
VAR
aiCardGame : ARRAY[1..2, 3..4] OF INT;
iLocal_1 : INT;
END_VAR
//Implementation
iLocal_1 := aiCardGame[1, 3];Pour plus d'informations, voir : ARRAY OF
Accès aux composants de la structure
Syntaxe :
<nom de la variable de structure> . <nom du composant>
<nom de la variable de structure> | Exemple : Pour plus d'informations, voir : Attribuer un identifiant |
<nom du composant> | Exemple : |
//Declaration type
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
//Declaration structure variable
VAR
sPolygon : S_POLYGONLINE;
iPoint : INT;
END_VAR
//Implementation
iPoint := sPolygon.aiPoint1[1];
Pour plus d'informations, voir : STRUCT
Accès aux variables dans les POU
Syntaxe :
<Nom du POU> . <nom de la variable>
<Nom du POU> | Nom d'une instance de bloc fonction ( Exemple: Pour plus d'informations, voir : Attribuer un identifiant |
<nom de la variable> | Variable du POU Exemple: |
FUNCTION_BLOCK FB_Controller
VAR_INPUT
xStart : BOOL;
END_VAR
VAR_OUTPUT
END_VAR
VAR
ControlDriveA : S_CONTROL;
END_VAR
IF xStart = TRUE THEN
//Symbolic bit access
ControlDriveA.bitEnableOperation := TRUE;
END_IF
PROGRAM PLC_PRG
fbController : FB_Controller;
END_VAR
fbController();
fbController.xStart := TRUE;