运算符:OR_ELSE
运算符是 IEC 61131-3 标准的扩展。
这 OR_ELSE
运算符仅允许用于结构化文本中的编程: OR
操作 BOOL
和 BIT
具有短路评估的操作数。这意味着:
当至少一个操作数产生 TRUE
, 运算结果也产生 TRUE
;否则 FALSE
.
与使用 OR
IEC 运算符,用于 OR_ELSE
一旦操作数之一被评估为,则不会立即评估所有其他运算符上的表达式 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.8
是 FALSE
和 dw.1
是 TRUE
.因此,结果 bX
的操作是 TRUE
.但是,不执行第三个输入处的表达式,并且 bEver
遗迹 FALSE
.另一方面,如果使用标准 OR 操作, bEver
将设置为 TRUE。