Operator: OR_ELSE
Der Operator ist eine Erweiterung der Norm IEC 61131-3.
Der Operator OR_ELSE ist nur für die Programmierung im Strukturiertem Text erlaubt: OR-Operation von Operanden des Typs BOOL und BIT, mit Kurzschluss-Auswertung. Das bedeutet:
Wenn mindestens einer der Operanden TRUE ist, ist das Ergebnis der Operation ebenfalls TRUE, ansonsten FALSE.
Im Unterschied zur Verwendung des IEC-Operators OR, werden bei OR_ELSE, sobald einer der Operanden mit TRUE ausgewertet wurde, die Ausdrücke an allen weiteren Operanden nicht mehr ausgeführt.
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 ist FALSE und dw.1 ist TRUE. Somit ist das Ergebnis bX der Operation TRUE. Der Ausdruck am dritten Eingang wird jedoch nicht ausgeführt, bEver bleibt FALSE. Wenn stattdessen die Standard-OR-Operation verwendet würde, wäre bEver auf TRUE gesetzt worden.