IF语句用于检查条件,并根据此条件执行后续语句。
判断条件为布尔表达式的值。如果表达式返回TRUE,则满足条件并执行THEN之后的相应语句。如果表达式返回FALSE,则将执行ELSIF之后的相应语句。如果ELSIF条件返回TRUE,则在相应的THEN之后执行语句。如果所有条件都返回FALSE,则执行ELSE之后的语句。
因此,最多执行IF语句的一个分支。ELSIF分支和ELSE分支是可选的。
.语法
IF <判断条件> THEN
<语句>
( ELSIF <判断条件> THEN
<语句> )*
( ELSE
<语句> )?
END_IF;
// ( ...)* 无,一次或几次
// ( ...)? 可选的
.例如
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;
该程序在runtime中按以下方式运行:
为了评估表达式iTemp < 17 = TRUE,将执行以下语句并打开加热功能。为了评估表达式iTemp < 17 = FALSE,评估了随后的ELSIF条件iTemp > 25。如果为TRUE,则执行ELSIF中的语句并打开视图。如果所有条件都为FALSE,则执行ELSE中的语句并关闭加热。