PLC怎样计算两次信号触发的时间间隔?
今天这篇文章回答一个小伙伴的问题:行程开关第一次触发开始计时,等到第二次触发时计算两次触发之间的时间间隔。这个用普通的定时器指令做不到,因为延时接通、延时断开的指令都需要设置一个时间值,而问题中两次触发的时间间隔是未知的。解决这类问题要使用日期时间,即第一次触发时记下当前时间,再次触发时记下时间,两个时间相减即可。这个在不同的PLC中有不同的指令,因为他使用的是西门子S7-200 SMART,我这里给出我的解决思路。
本文包括两个主题:
如何计算两次信号触发的时间间隔?
如何计算某个信号的持续时间?
1、如何计算两次信号触发的时间间隔?
在S7-200 SMART中,我们可以使用BGN_ITIME指令,它位于指令列表的【定时器】指令中。
BGN_ITIME可以返回CPU自启动(冷启动或热启动)至今的一个毫秒值,精确到1毫秒(ms),最大值是2的32次方,即49.7天。
我们可以使用上升沿信号记录两次触发的时间,如下图所示:
然后将两个时间相减,做一下处理,就可以计算出两次触发的时间差,如下图所示:
2、如何记录某个信号持续的时间?
使用BGN_ITIME指令可以记录信号触发的时间,使用CAL_ITIME指令可以计算某个时间至今的时间间隔。这两个配合就可以计算某个信号的持续时间,比如某个阀打开后持续至今的时间。
首先,使用信号的上升沿记录当前时间,如下图所示:
然后使用CAL_ITIME指令计算信号触发至今的时间,如下图所示:
好了,关于PLC计算两次信号触发的时间间隔就先介绍到这里。我的书《西门子S7-200 SMART PLC应用技术——编程、通信、装调、案例》已经出版,感兴趣的小伙伴可以点击下面的连接查看:
赞 (0)