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
示例
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
中的语句并关闭暖气。
另见