When the operand of the Set assignment switches to TRUE, then TRUE is assigned to the variable to the left of the operator. The variable is set.
<variable name> S= <operand name> ;
The variables and the operand have the data type BOOL.
Example
PROGRAM PLC_PRG VAR xOperand: BOOL := FALSE; xSetVariable: BOOL := FALSE; END_VAR xSetVariable S= xOperand;
When the operand xOperand switches from FALSE to TRUE, then TRUE is also assigned to the variable xSetVariable. But then the variable keeps this state, even if the operand continues to change
its state.
Multiple assignments




NOTICE

In the case of multiple assignments within a code line, the individual assignments are not processed from right to left, but all assignments refer to the operands at the end of the code line.
Example
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 gets the R= assignment of the return value of funCompute. xSetVariable gets the S= assignment of ht return value of funCompute, but not from xResetVariable.