可编程控制器(PLC)编程如何使用ST语言实现上升沿和下降沿触发

上升沿,下降沿在工业自动化中的应用非常广泛,在梯形图时代,它的实现非常容易,只需一个简单的符号就可以实现。

可编程控制器(PLC)编程如何使用ST语言实现上升沿和下降沿触发

梯形图实现上升沿

如上图所示,PLC采集到变量A的上升沿的时候,变量B有输出。说到边沿触发,不得不提一下西门子中的边沿触发

可编程控制器(PLC)编程如何使用ST语言实现上升沿和下降沿触发

如上图所示,不知为何,非要加个变量A1用于储存上一次扫描的信号状态,个人认为,真是多此一举,好像所有的PLC 都没有这种操作,实在不知是和意图,反正我是觉得没用,毕竟作为PLC 的使用者,我们只关心采集到这个输入的上升沿。

但是在ST 语言中,它的实现就没那么容易了,毕竟ST语言是从计算机高级语言移植而来,计算机系统不可能会直接处理来自工业现场的信号,因此也不太可能有直接的边沿信号处理指令,这就需要我们换一下思路,曲线救国,其实,上升沿和下降沿在梯形图中是可以采用功能块实现的,如下图

可编程控制器(PLC)编程如何使用ST语言实现上升沿和下降沿触发

我们使用功能块 R_TRIG 来实现上升沿,PLC扫描功能块输入管脚 CLK 处变量A,当扫描到A 的上升沿的时候,输出管脚Q 为TRUE。图中两行 梯形图是等价的。只是在梯形图中很少这样用而已,因为它真的太麻烦了,而且一点不直观。所以,在ST 中实现上升沿,就是调用功能块R_TRIG

可编程控制器(PLC)编程如何使用ST语言实现上升沿和下降沿触发

ST实现上升沿

这就是用ST 实现上升沿,而实现下降沿和实现上升沿是一样的,只不过是调用 F_TRIG。

所以,当有些元素无法在ST 中直接实现的时候,原则就是用功能块在梯形图中实现,然后用调用功能块的方法,在ST中实现。掌握了这个原则,使用ST就会得心应手,游刃有余。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据