流量积算方法及精度分析 点击:1202 | 回复:3



glenxu

    
  • 精华:0帖
  • 求助:2帖
  • 帖子:28帖 | 592回
  • 年度积分:0
  • 历史总积分:1862
  • 注册:2004年1月13日
发表于:2014-10-20 11:45:05
楼主

流量积算方法和精度
假设某流量变送器量程为720吨/小时,则每秒流量为720/3600=0.2吨/秒,如果流量积算的计算周期为1秒,则最大可能产生的积算误差为0.2吨,相对误差为0.2/720=2.78X10-4 =0.0278%,作为一般的流量测量装置(测量元件+变送器)包括质量流量计,正常工业计量应用的最高精度平均在0.1%-0.05%左右,加上一次测量元件大都是非线性的,所以对大多数工业应用场合,用1-5秒的离散形式的积分,精度上完全可以替代“高精度”的“实时”积分,从上述计算可以得知,小于1秒的快速运算有意不大。另外上位机得到的数据一般都有一定的迟延,一般的现场通讯负荷下,上位机和PLC之间能够保证0.1-2秒的通讯就已经非常“快”了,毕竟下位机是以完成控制为主的,一般对上位机的通讯实时性能作到100ms就非常困难了,所以在上位机中的流量积算周期作到1-5秒就可以了,无论从精度还是计算机负荷考虑,都能满足使用要求。大家可以根据自己系统精度的要求选择运算周期和方法。
    方法一:上位机脚本中积算(WINCC)
在上位机中做一个一秒的周期触发脚本,脚本中应包含:
a=GetTagDWord (“凝结水流量”)
b=GetTagDWord (“流量积算结果”)
b=b+a/3600
    方法二:PLC中积算(精度最高)
   同样的计算,在PLC中使用一秒(最小到50ms)的时间标志,例如在S7-200和S7-300 PLC中都SM0.5或CK BIT,用它中合适的时标的升或下降沿执行和方法一中“脚本”的算法,即可完成流量积算。当然也可以在定时中断中完成,但由于本误差很小,没有必要。

另外,最终的积算结果请采用“双整型”数据进行“计量和显示”!否则当计算数字大于6位或以上时,可能产生由于浮点精度带来的显示误差,给计量带来损失。最简单办法是将计量结果分为“大数”和“小数”(整型),小数不要大于6位数,这样溢出数也可以做的很大,再不行就用3个整型表示。

当然亿维PLC也是同样可以实现的。

 

 



楼主最近还看过



  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 2121回
  • 年度积分:0
  • 历史总积分:51
  • 注册:2007年10月31日
发表于:2016-11-25 13:30:05
1楼

给个例子程序呀!谢谢了

glenxu

  • 精华:0帖
  • 求助:2帖
  • 帖子:28帖 | 592回
  • 年度积分:0
  • 历史总积分:1862
  • 注册:2004年1月13日
发表于:2017-01-09 15:27:23
2楼

就是太简单了,所以没有例子

累加就行

glenxu

  • 精华:0帖
  • 求助:2帖
  • 帖子:28帖 | 592回
  • 年度积分:0
  • 历史总积分:1862
  • 注册:2004年1月13日
发表于:2017-07-18 11:21:18
3楼

注意:对于很快超过5位数字的流量,建议将变量分为几部分:

高位部分(如大于1000或1M的数字):采用多字节整型累加(+1),

地位部分(如小于1000或1M的数字):采用浮点实时计量,满****清零,高位+1


这样不至于较大的数字时只看见:1.2345E78 格式的尴尬数字,

长期数字不变,“以为”积算坏了,同时误差也增大了。当然,

采用定数清零也是可以的,象过去家里的电度表,只有5位数字,超过了

9999.9便自动从零开始。


热门招聘
相关主题

官方公众号

智造工程师