我用4-20mA信号接收现场的瞬时流量,现在想计算累计流量。自己做了一个一秒的计时器,想达到1s累加一次的效果,但是实际的值总是偏大,这是为什么那?一个程序段,一个扫描周期只执行一次吧?监控的时候发现不是1S累加一次的。图中MD570就是现场的瞬时流量,M1.2就是我做的定时器。 是不是定时器的动作受程序扫描周期的影响?M1.2常开触点最大的接通时间即使不是瞬间的,也是一个扫描周期吧?一个扫描周期只接通扫描处理一次,也不应该偏大啊。。。
问题补充:
我主要是想知道为什么我这样做不对,谢谢大家
图片说明:
最佳答案
一个周期只能这些一次,这个一定是没有错的!一段程序仍然在一个周期中执行一次也是一定没有错的。
你的问题可能出现在如何定义1S周期上,一般类似的定义是调用定时中断组织块上,如OB35,定义时间为1S,并下载到cpu中。
如果你已经定义了M1.2为1S的脉冲信号,那么也应该用沿触发,如果没有沿触发,则每一个周期MD574与MD564均累加。
提问者对于答案的评价:
对于M1.2,我的理解是到了一秒后,PLC执行程序刷新M1.2线圈,进行一次累加。下一个扫描周期定时器断开,M1.2线圈断开,这个周期不进行累加,因此累加出来的数值应该偏小,累加的时间不是1秒而是1秒加上一个扫描周期。实际应用出来的却是偏大,就想你说的那样每个扫描周期都在累加,但我认为M1.2一个周期加上1秒只会接通一次
最佳答案作者回复:
如果是普通定时器是异步刷新的,不一定是绝对的同步。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc366480.html