博图SCL编程——简单的温度分段控制(IF指令的使用)

首先了解以下IF指令的功能和使用方式。

这里是引用
PS.学过编程语言的可以扫一眼略过
说明
使用“条件执行”指令,可以根据条件控制程序流的分支。该条件是结果为布尔值(TRUE 或 FALSE)的表达式。可以将逻辑表达式或比较表达式作为条件。
执行该指令时,将对指定的表达式进行运算。如果表达式的值为 TRUE,则表示满足该条件;如果其值为 FALSE,则表示不满足该条件。
参数
根据分支的类型,可以对以下形式的指令进行编程:
  IF 分支:
  IF THEN
  END_IF;
如果满足该条件,则将执行 THEN 后编写的指令。如果不满足该条件,则程序将从 END_IF 后的下一条指令开始继续执行。
  IF 和 ELSE 分支:
  IF THEN
  ELSE
  END_IF;
如果满足该条件,则将执行 THEN 后编写的指令。如果不满足该条件,则将执行 ELSE 后编写的指令。程序将从 END_IF 后的下一条指令开始继续执行。
  IF、ELSIF 和 ELSE 分支:
  IF THEN
  ELSIF THEN
  ELSE
  END_IF;
如果满足第一个条件(<条件 1>),则将执行 THEN 后的指令(<指令 1>)。执行这些指令后,程序将从 END_IF 后继续执行。
如果不满足第一个条件,则将检查第二个条件(<条件 2>)。如果满足第二个条件(<条件 2>),则将执行 THEN 后的指令(<指令 2>)。执行这些指令后,程序将从 END_IF 后继续执行。
如果不满足任何条件,则先执行 ELSE 后的指令(<指令 0>),再执行 END_IF 后的程序部分。
在 IF 指令内可以嵌套任意多个 ELSIF 和 THEN 组合。可以选择对 ELSE 分支进行编程。

IF 指令的语法如下所示:
博图SCL编程——简单的温度分段控制(IF指令的使用)_第1张图片
范例:有个电加热炉,电加热总功率为60KW,分ABC三组各20KW的电加热控制。在150℃以下ABC三组电加热全部运行,150~ 250℃运行AB组电加热,250℃~300℃只运行A组电加热,300℃以上关闭所有电加热。若温度超过350摄氏度,则停机报警。
程序如下:

IF "TIC1" < 150 THEN
    "heating_A" := TRUE;
    "heating_B" := TRUE;
    "heating_C" := TRUE;
ELSIF "TIC1" >= 150 AND "TIC1" < 250 THEN
    "heating_A" := TRUE;
    "heating_B" := TRUE;
    "heating_C" := FALSE;
ELSIF "TIC1" >= 250 AND "TIC1" < 300 THEN
    "heating_A" := TRUE;
    "heating_B" := FALSE;
    "heating_C" := FALSE;
ELSIF "TIC1" >= 300 THEN
    "heating_A" := FALSE;
    "heating_B" := FALSE;
    "heating_C" := FALSE;
	IF "TIC1" >= 350 THEN
        "Alarm_Overheat" := TRUE;
    END_IF;
END_IF;

当然,里面的TRUE和FALSE可以用1和0代替,看各人习惯吧,我bool变量习惯用TRUE/FALSE,这样比较容易跟整数区分。

你可能感兴趣的:(博图(Tia,Portal)使用学习,博图,SCL,Tia,Portal,IF指令)