Skip to main content

Assegnazione ExST: R=

Quando l'operando dell'assegnazione Reset passa a TRUE, poi FALSE รจ assegnato alla variabile a sinistra dell'operatore. La variabile viene ripristinata.

<variable name> R= <operand name> ;

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

Esempio 66. Esempio
VAR
        xOperand: BOOL := FALSE;
        xResetVariable: BOOL := TRUE;
END_VAR

xResetVariable R= xOperand;

Quando l'operando xOperand passa da FALSE a TRUE, poi FALSE viene assegnato anche alla variabile xResetVariable. Ma poi la variabile mantiene il suo 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 67. 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.