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
-
指令
+关注
关注
1文章
607浏览量
35695 -
SCL
+关注
关注
1文章
239浏览量
17057
原文标题:SCL--IF小练
文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
GPRS通讯程序编码练习
SIMATIC使用方法和PLC的应用练习

51单片机学习教程之基础指令的练习

S7-1200比较操作-变量指令说明
Variant类型的变量指令说明
SCL语言for指令的用法

评论