瞬时值单位为Nm3/h
L3.600000e+003
L#SCAN//1S
/R
T#ELK
L#VALUE//瞬时值Nm3/h
ASs='html_titleimg_p' STyle='text-align:CEnter;'>
L#NORM//norm设定值为1000
/R
L1.000000e+003
*R
L#ELK
/R
L#Q//Nm3
+R
T#Q
请问这段代码在对瞬时值以S为采样周期累加时,瞬时值先除1000后又乘1000是什么作用啊?
问题补充:
我是在OB35里调用的,OB35的周期改成1000ms
最佳答案
你的这段程序在什么周期的ob中调用呢?和调用它的ob块的周期有关,只是从程序上理解,除以1000再乘以1000是没有用的。比如你在ob35(周期100ms)中调用,则可以
L0.0
L#VALUE//瞬时值Nm3/h
<R//瞬时流量大于0才累计,否则不累计
JCNM1
L36000.0
/R
L#Q
+R
T#Q
M1:NOP0
你的这个程序很多废话呀
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。
提问者对于答案的评价:
谢谢,这程序是以前别人编的,我觉得有问题,所以咨询下,我按你的意见优化下。