流量累加问题

瞬时值单位为Nm3/h
      L     3.600000e+003
      L     #SCAN   //1S
      /R    
      T     #ELK
      L     #VALUE   //瞬时值 Nm3/h

      L     #NORM    //norm设定值为1000
      /R    
      L     1.000000e+003
      *R    

      L     #ELK
      /R    
      L     #Q     //Nm3
      +R    
      T     #Q


请问这段代码在对瞬时值以S为采样周期累加时,瞬时值先除1000后又乘1000是什么作用啊?

问题补充:
我是在OB35里调用的,OB35的周期改成1000ms

最佳答案

你的这段程序在什么周期的ob中调用呢?和调用它的ob块的周期有关,只是从程序上理解,除以1000再乘以1000是没有用的。比如你在ob35(周期100ms)中调用,则可以
L 0.0
L     #VALUE   //瞬时值 Nm3/h
<R//瞬时流量大于0才累计,否则不累计
JCN M1
L 36000.0
/R
L #Q
+R
T #Q
M1:NOP 0


你的这个程序很多废话呀
1、36000.0除以1保存到ELK中,ELK还是3600.0
2、value除以norm(1000)再乘以1000.0等于没有操作,还是value的值。
3、后面又除以ELK这里才是真正有用的,value除以ELK后转换成一个扫描周期的信号值,然后加到Q上。

你把我说的那些废话都删除后就变成了我上面的程序。只是我的是100ms除以的36000.0,你是1s除以3600.0。

提问者对于答案的评价:
谢谢,这程序是以前别人编的,我觉得有问题,所以咨询下,我按你的意见优化下。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc231355.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日
下一篇 2018年12月1日

相关推荐