SCL指令练习操作分享

描述

IF:条件执行

使用“条件执行”指令,可以根据条件控制程序流的分支。该条件是结果为布尔值(TRUE 或 FALSE)的表达式。可以将逻辑表达式或比较表达式作为条件。

执行该指令时,将对指定的表达式进行运算。如果表达式的值为 TRUE,则表示满足该条件;如果其值为 FALSE,则表示不满足该条件。

语法

• IF 分支:

IF <条件> THEN <指令>

END_IF;

如果满足该条件,则将执行 THEN 后编写的指令。如果不满足该条件,则程序将从 END_IF 后的下一条指令开始继续执行。

• IF 和 ELSE 分支:

IF <条件> THEN <指令 1="">

ELSE <指令 0="">;

END_IF;

如果满足该条件,则将执行 THEN 后编写的指令。如果不满足该条件,则将执行 ELSE 后编写的指令。程序将从 END_IF 后的下一条指令开始继续执行。

<条件> BOOL I、Q、M、D、L 待求值的表达式

<指令> -在满足条件时,要执行的指令。如果不满足条件,则执行 ELSE 后编写的指令。如果不满足程序循环内的任何条件,则执行这些指令。

以下例子说明了该指令的工作原理:

IF "Tag_1" = 1

THEN "Tag_Value" := 10;

ELSIF "Tag_2" = 1

THEN "Tag_Value" := 20;

ELSIF "Tag_3" = 1

THEN "Tag_Value" := 30;

ELSE "Tag_Value" := 0;

END_IF;

练习:

建立FC150  SCL 联系程序.

指令

实现一个功能按一下按钮,有输出再按一次输出关闭

没按时状态

指令

按时状态

指令

抬起状态

指令

再次按钮时的状态

指令

再次抬起后的状态

指令

FUNCTION FC150 : INT  程序名FC150 / 输出反馈的属性INT

VAR_INPUT  输入变量

a : BOOL; BOOL变量a

END_VAR   输入变量区结束

VAR_outPUT 输出变量

b : BOOL; BOOL变量b

END_VAR  输出变量区结束

VAR_TEMP   临时变量

END_VAR    临时变量区结束

------------程序---------------

IF a = false AND  M1.3=true  THEN  中间标识位

M1.3:=false;   

END_IF;   

IF a = true AND  b=false AND M1.3=false THEN 第一次按”按钮”

b:=true;   激活输出B

END_IF;

IF a = false AND  b=true  THEN 中间标识位

M1.2:=true;   

END_IF;

IF a = true AND b=true AND  M1.2=true THEN 第二次按”按钮”

M1.2:=false;

b:=false;   关闭输出B

M1.3:=true;  

END_IF;

FC150 := 100;  FC反馈值

END_FUNCTION

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分