Skip to main content

Operador: OR_ELSE

El operador es una extensión del estándar IEC 61131-3.

El operador OR_ELSE sólo está permitido para programar en Texto Estructurado: OR-Operación de operandos de tipo BOOL y BIT, con evaluación de cortocircuito. Eso significa:

Si al menos uno de los operandos TRUE es, por lo que es el resultado de la operación TRUE, de lo contrario FALSE.

En contraste con el uso del operador IEC OR, convertirse en OR_ELSE, tan pronto como uno de los operandos con TRUE fue evaluado, las expresiones en todos los demás operandos ya no se ejecutan.

ejemplo 117. Ejemplo
VAR
        bEver: BOOL;
        bX: BOOL;
        dw: DWORD := 16#000000FF;
END_VAR

bEver := FALSE;
bX := dw.8 OR_ELSE dw.1 OR_ELSE (bEver := TRUE);

dw.8 es FALSE y dw.1 es TRUE. Así es el resultado bX la operacion TRUE. Sin embargo, la expresión en la tercera entrada no se ejecuta, bEver restos FALSE. Si en su lugar se utilizara la operación OR estándar, sería bEver se ha establecido en VERDADERO.