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