知方号

知方号

使用SCL语言开发上升沿(下降沿)指令

使用SCL语言开发上升沿(下降沿)指令

图5

1.3 开发检测下降沿指令

与开发检测上升沿指令类似,新建FC并定义接口变量,这里不再一一赘述。在编程上两者有所不同,其编程思想如下:

当#signal由1变成0时,此时作为边沿存储位的#thirdVariable仍保留#singal信号上一周期的状态,#thirdVariable为True,此时满足IF语句,FallingEdgeDetection被赋值为True。

当#signal由1变成0后的下一周期,#thirdVariable上个周期已被#signal赋值为相同状态,即#thirdVariable和#signal都为False,则不再满足IF语言,FallingEdgeDetection被赋值为False。

FallingEdgeDetection输出持续一个周期。

程序代码如图6所示:

图6

1.4 功能测试

使用开发完成的功能块,检测Q0.0的上升沿和下降沿,编程代码如图7所示,Trace时序图如图8所示。

图7

图8

其中:

Data.thirdVariable1为检测上升沿指令所用到的第三方变量;

RisingEdgeDetection为输出上升沿;

Data.thirdVariable2为检测下降沿指令所用到的第三方变量;

FallingEdgeDetection为输出下降沿。

1.5 效果比对

为了更好的说明该自行开发沿指令的优势,我们分别使用R_TRIG指令和RisingEdgeDetection指令编写相同的工艺功能程序,通过对比两者所占用工作存储区大小的差异,加以说明。

工艺功能要求:利用S7-1214C,使用SCL编程语言编程,在FB1中实现1000个Bool信号的上升沿检测。

1.5.1 使用R_TRIG实现相关工艺功能

从上述分析中,我们可以得出自行开发的沿指令RisingEdgeDetection、FallingEdgeDetection比R_TRIG、F_TRIG指令占用更少的工作存储区空间,且适用于SIMATIC S7-1200及S7-1500 PLC。

源:网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系删除,谢谢!

机器人学习资料免费领取↓

机器人学习资料免费领取↓

机器人学习资料免费领取↓

戳”阅读原文“,报名咨询机器人课程

点个「在看」 你最好看查看

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。