Skip to main content

Assegnazione ExST: S=

Quando l'operando dell'assegnazione Set passa a TRUE, poi TRUE è assegnato alla variabile a sinistra dell'operatore. La variabile è impostata.

<variable name> S= <operand name> ;

Le variabili e l'operando hanno il tipo di dati BOOL.

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

xSetVariable S= xOperand;

Quando l'operando xOperand passa da FALSE a TRUE, poi TRUE viene assegnato anche alla variabile xSetVariable. Ma poi la variabile mantiene questo stato, anche se l'operando continua a cambiare il suo stato.



Incarichi multipli

Importante

In caso di assegnazioni multiple all'interno di una riga di codice, le singole assegnazioni non vengono elaborate da destra a sinistra, ma tutte le assegnazioni si riferiscono agli operandi alla fine della riga di codice.

Esempio 65. Esempio
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 ottiene il R= assegnazione del valore di ritorno di funCompute. xSetVariable ottiene il S= assegnazione di ht valore di ritorno di funCompute, ma non da xResetVariable.