发布于 2011-09-28 11:45:52
7楼
你的扫描周期的问题,ob35的周期和你程序里面用的计时要一致:
L MW 998
L 1
+I
T MW 998
NOP 0
L MW 998
L 10
==I
= M 1000.0
你要求是10次累计一次,但是如果ob35的周期是1s和0.1s的累计时间是完全不同的,如果ob35的周期是1s那么你实际是10s累计1次,如果是0.1s那么你就是1s累计一次了。你要先弄明白你的信号到底要如何累计
另外你的程序麻烦了!你完全可以把ob35的扫描周期设置的和你的累计程序要求的周期一致。那么前面的程序都可以省略,直接用那个流量累计的功能,一个扫描周期就累计一次。
你的流量累计中的功能不知道你是怎么写的, Time_Interval :=1.000000e+000这个是定义的扫描周期还是什么?
一般的累计方法就是:sum=sum+pv/3600.0,pv是小时单位的流量信号;那么如果你的累计放在500ms的周期中执行那么就应该是sum=sum+pv/3600.0,pv是小时单位的流量信号;如果你的累计放在100ms的周期中执行那么就应该是sum=sum+pv/36000.0,pv是小时单位的流量信号。
活到老,学到老!为了生活学习吧!