Skip to main content

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 : aiCounter

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 : 2

L'index est valable du minimum d'index au maximum d'index. Exemple: 0..9

Exemple 194. Exemples

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 : sPolygon

Pour plus d'informations, voir : Attribuer un identifiant

<nom du composant>

Exemple : aiStart

Exemple 195. 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 (FUNCTION_BLOCK) ou un programme (PROGRAM)

Exemple: fbController

Pour plus d'informations, voir : Attribuer un identifiant

<nom de la variable>

Variable du POU

Exemple: xStart

Exemple 196. 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;