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.