Skip to main content

Affectation ExST : S=

Lorsque l'opérande de l'affectation Set passe à TRUE, ensuite TRUE est affecté à la variable à gauche de l'opérateur. La variable est définie.

<variable name> S= <operand name> ;

Les variables et l'opérande ont le type de données BOOL.

Exemple 64. Exemple
PROGRAM PLC_PRG
VAR
        xOperand: BOOL := FALSE;
        xSetVariable: BOOL := FALSE;
END_VAR

xSetVariable S= xOperand;

Lorsque l'opérande xOperand passe de FALSE à TRUE, ensuite TRUE est également affecté à la variable xSetVariable. Mais alors la variable garde cet état, même si l'opérande continue à changer d'état.



Missions multiples

Important

Dans le cas d'affectations multiples dans une ligne de code, les affectations individuelles ne sont pas traitées de droite à gauche, mais toutes les affectations se réfèrent aux opérandes à la fin de la ligne de code.

Exemple 65. Exemple
FUNCTION funCompute : BOOL
VAR_INPUT
        xIn : BOOL;
END_VAR
IF xIn = TRUE THEN
        funCompute := TRUE;
        RETURN;
END_IF

PROGRAM PLC_PRG
VAR
        xSetVariable: BOOL;
        xResetVariable: BOOL := TRUE;
        xVar: BOOL;
END_VAR
xSetVariable S= xResetVariable R= funCompute(xIn := xVar);

xResetVariable obtient le R= affectation de la valeur de retour de funCompute. xSetVariable obtient le S= affectation de ht valeur de retour de funCompute, mais pas de xResetVariable.