运算符:OR_ELSE
运算符是 IEC 61131-3 标准的扩展。
这 OR_ELSE 运算符仅允许用于结构化文本中的编程: OR 操作 BOOL 和 BIT 具有短路评估的操作数。这意味着:
当至少一个操作数产生 TRUE, 运算结果也产生 TRUE;否则 FALSE.
与使用 OR IEC 运算符,用于 OR_ELSE 一旦操作数之一被评估为,则不会立即评估所有其他运算符上的表达式 TRUE.
例 118. 例子
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。