Skip to main content

Asignación ExST: R=

Cuando el operando de la asignación Reset cambia a TRUE, entonces FALSE se asigna a la variable a la izquierda del operador. La variable se reinicia.

<variable name> R= <operand name> ;

Las variables y el operando tienen el tipo de dato BOOL.

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

xResetVariable R= xOperand;

Cuando el operando xOperand cambia de FALSE a TRUE, entonces FALSE también se asigna a la variable xResetVariable. Pero entonces la variable mantiene su estado, incluso si el operando continúa cambiando de estado.



Múltiples asignaciones

Importante

En el caso de asignaciones múltiples dentro de una línea de código, las asignaciones individuales no se procesan de derecha a izquierda, sino que todas las asignaciones se refieren a los operandos al final de la línea de código.

ejemplo 67. Ejemplo
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 obtiene el R= asignación del valor de retorno de funCompute. xSetVariable obtiene el S= asignación de ht valor de retorno de funCompute, pero no de xResetVariable.