Skip to main content

演算子:OR_ELSE

演算子は、IEC61131-3規格の拡張です。

The OR_ELSE 演算子は、構造化テキストでのプログラミングにのみ許可されています。 OR の操作 BOOLBIT 短絡評価のあるオペランド。これの意味は:

オペランドの少なくとも1つが TRUE、操作の結果も次のようになります TRUE;それ以外は FALSE

を使用するのとは対照的に OR IEC演算子、 OR_ELSE 他のすべての演算子の式は、オペランドの1つが次のように評価されるとすぐには評価されません。 TRUE

117.
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.8FALSEdw.1TRUE。したがって、結果 bX 操作の TRUE。ただし、3番目の入力の式は実行されず、 bEver 残っている FALSE。一方、標準のOR演算を使用した場合は、 bEver TRUEに設定されます。