ST 声明:IF
这 IF
语句用于检查条件,并根据该条件执行后续语句。
条件编码为 表达 返回一个布尔值。如果表达式返回 TRUE
, 则条件成立并执行相应的语句 THEN
.如果表达式返回 FALSE
,然后是以下条件,它们被标识为 ELSIF
, 被评估。如果 ELSIF
条件返回 TRUE
,则语句在相应的之后执行 THEN
.如果所有条件都返回 FALSE
, 然后语句在之后执行 ELSE
.
因此,最多只有一个分支 IF
语句被执行。 ELSIF
分支机构和 ELSE
分支是可选的。
句法
IF <condition> THEN <statements> ( ELSIF <condition> THEN <statements> )* ( ELSE <statements> )? END_IF; // ( ... )* None, once or several times // ( ... )? Optional
例 70. 例子
PROGRAM PLC_PRG VAR iTemp: INT; xHeatingOn: BOOL; xOpenWindow: BOOL; END_VAR IF iTemp < 17 THEN xHeatingOn := TRUE; ELSIF iTemp > 25 THEN xOpenWindow := TRUE; ELSE xHeatingOn := FALSE; END_IF;
该程序在运行时运行如下:
对于表达式的评估 iTemp < 17 = TRUE
,执行后续语句,开启加热。对于表达式的评估 iTemp < 17 = FALSE
, 随后 ELSIF
状况 iTemp > 25
被评估。如果这是真的,那么中的陈述 ELSIF
执行并打开视图。如果所有条件都满足 FALSE
, 然后语句在 ELSE
并且加热被关闭。