程序中模拟量计算瞬时流量,由瞬时流量计算累计流量,以1ms采样周期,A=瞬时/3600+c,下面程序中两个SM0.5不是1S吗?为什么除以7200呢?实数比较指令 VD180>=1.0 是精度吗?这个1.0是如何计算的呢?那位师傅能多给几个瞬时流量计算累计流量的例子,多谢了。
图片说明:
最佳答案
首先来说这个SM0.5系统时钟标志位,“该脉冲在1秒钟的周期时间内OFF(关闭)0.5秒,ON(打开)0.5秒。该位提供便于使用的延迟或1秒钟时钟脉冲。”所以按你的控制要求SM0.5在1秒钟内有2次状态的变化,又按你采样周期为1mS计算就变为7200了。如果去除其中的一个SM0.5标志位和沿,则只需要除3600。
注意!你这个采样如果精度要求高的话就需要调用中断方式进行。
这个确实是精度的需要,这个数值是根据现场实际情况,编程人员加上的,没有实际经验公式可寻。
采用中断的瞬间流量例子程序:
主程序:
//初始化中断(250mS)
LD SM0.1
MOVB 250, 定时中断:SMB34
ATCH INT_0:INT0, 10
ENI
中断程序:
LD SM0.0
DTR 脉冲频率:VD0, 脉冲频率:VD0
MOVR 脉冲频率:VD0, 霎间流量:VD8
/R 脉冲当量:VD4, 霎间流量:VD8
提问者对于答案的评价:
小弟明白了1S=X/3600 0.5S=X/7200 程序中相当于每0.5S采集一次, VD180就理解为精度吧,谢谢各位师傅了。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc193957.html