Skip to main content

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.

Esempio 117. Esempio
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.