前言
本文是基于B站上的《SCL核心应用课项目实战》课程,所做的笔记,主要包括程序代码和自己的理解注释。课程链接:SCL核心应用课项目实战(21课全)
陆杰锋老师讲得非常好,有理论讲解也有实战演练,需要具备一定的梯形图编程基础。
有空我会持续更新。
四、SCL中的边沿指令
1.1200/1500PLC中的边沿指令
上升沿/下降沿指令是PLC编程中的常用指令,一般用上升沿/下降沿指令来实现在某个扫描周期中执行的程序。比如:利用光电开关的上升沿来读取位置传感器当前的值,用光电开关的下降沿来读取位置传感器的当前值,两个值的差就是被测物体的宽度。
和定时器指令的使用技巧类似,调用一次会生成背景数据块。
#PN[1](CLK := #限位报警);//触发上升沿
IF #PN[1].Q THEN//调用上升沿的结果
#报警 := 1;
END_IF;
注意:定时器的背景数据块可以建在FB块内部的Static变量区,以及DB块中,但边沿指令的背景数据块只可以建在FB块内部的Static变量区,不允许建在DB块中。
2.边沿指令实战
1)利用上升沿和加法指令实现计数器功能
#ADD_P(CLK := #检测传感器);//#ADD_P是上升沿指令名称,通过变量“检测传感器”触发
IF #ADD_P.Q THEN
#累计值 := #累计值 + 1;//上升沿触发,累计值依次加一
END_IF;
2)利用上升沿实现一键启停功能
#M_P(CLK := #启停按钮);//通过“启停按钮”触发上升沿#M_P
IF #M_P.Q THEN
#KM := NOT #KM;//对输出线圈KM取反
END_IF;