Operatore: OR_ELSE
L'operatore è un'estensione della norma IEC 61131-3.
Il OR_ELSE operatore è consentito solo per la programmazione in testo strutturato: OR Operazione di BOOL e BIT operandi con valutazione di cortocircuito. Questo significa:
Quando almeno uno degli operandi cede TRUE, anche il risultato dell'operazione cede TRUE; altrimenti FALSE.
In contrasto con l'utilizzo del OR Operatore IEC, per OR_ELSE le espressioni su tutti gli altri operatori non vengono valutate non appena uno degli operandi viene valutato come TRUE.
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 è FALSE e dw.1 è TRUE. Pertanto, il risultato bX dell'operazione è TRUE. Tuttavia, l'espressione al terzo input non viene eseguita e bEver resti FALSE. Se invece è stata utilizzata l'operazione OR standard, bEver sarebbe impostato su TRUE.