APP下载

基于PLC的流量累积精确问题研究

2017-11-09杨秋贤李佳莹吴大强

电子技术与软件工程 2017年19期
关键词:精确度

杨秋贤+李佳莹+吴大强

摘 要流量累积作为工业数据一个重要参数数据,对统计工业一些原料用量具有重要意义。所以如何保证流量累积数据的精确性是一个重要的工作。本文主要探讨如何编写精确的流量累积算法。

【关键词】流量累积 精确度 PLC

流量的检测环节是流量累积的基础,其精确度取决于检测的方法。而累积流量的精确度除了需要准确的瞬时流量值支撑,也在很大程度上受后续的计算方式影响。在由PLC控制的流量累积系统中,编写的程序便会影响最终累积流量的精确度。

1 流量累积常用方法简介

在PLC中,定义一个单精度32位REAL类型的浮点数变量FQ作为流量累积变量,并在指定周期时间累积。积分过程中可以近似认为在周期时间内瞬时流量是线性的,故周期时间越短精度越高。根据经验,周期为100MS即可获得较为精确的累积值。

定义F1为周期首处瞬时流量,F2为周期尾处瞬时流量,F1和F2均为浮点数变量。每次周期更新时的瞬时流量分别f1,f2,f3……

则初始周期内的累积流量FQ=(F1+F2)/2=(f1+f2)/2;在下个周期将f2赋值给F1,新获取的瞬时流量f3赋值给F2,累积流量FQ在原有基础上增加(F1+F2)/2即(f2+f3)/2,使FQ=(f1+f2)/2+(f2+f3)/2;如此循环来计算流量的累积值。

2 常用方法例程

以西门子S7-300 CPU为例,配置一个S7-300站,添加一个模拟量输入模块,采用OB35循环中断,设置周期为100MS,确保累积值的精确度。累积器在累积到最大数值或手动条件下复位。

现场流量经变送器转换为4~20mA信号,传入PLC的模拟量输入模块。经PLC的FC105计算,将瞬时流量换算成m3/s后进行每秒累加,并将瞬时流量与累积流量传由计算机显示。

3 实际流量累积出现的问题

按照上述方法,将流量累积值放入单精度浮点数存储来进行流量累积,理论是正确的。但实际上,平均流量为3000m3/h的某介质管道,流量累积值从105m3开始,单周期流量值会只有第一位小数有效;累积值达到106m3(不到15d),周期流量值的小数部分被舍弃,误差增大;累积值达到107m3(不到半年)后,其值就基本不再增加。显然,单精度浮点数的定义和运算舍入原则会造成该方法的误差甚至错误。

在生产过程中,操作员为观察生产和设备状况,通常需要较长时间的累积值(如半年或更久),而按照上述方法得到的累积值仅能保证在前某段时间的准确性。

4 更精确和正确的流量累积计算方法

比较简便可行的方法是使用DINT型即双字整型数据来存储流量累积值:分别定义3个DINT型数据,用以存储千位以内(L)、千位至百万位(T)、百万位以上(M)的数值。将各数值乘以相应的数量级并求和,即可得到较为精确和正确的流量累积值。

下面以西门子Step7-300梯形图语言为例实现流量累积程序(程序至于OB35中,循环中断周期为100MS)。如图1所示。

5 結论

流量累积的运算,要尽量避免计算过程中的误差,一是要选择正确的运算方式,二是要避免运算值超出数值范围和有效位数范围,三是尽可能减少采样时间的定时器带来的误差。在上面程序逻辑中,使用长预置值的参考循环中断,并使所有被用到的浮点数的有效位数不超出范围,不出现大数加小数,避免了丢失小的数值,从而实现高精度的累积运算。此流量累积方式相当于采用串级方式依次对累积存储地址进行赋值,然后清零累加,最后得到精确的累积结果。

参考文献

[1]廖长初,陈晓东.PLC应用技术[M].2版.北京:机械工业出版社,2005.

[2]IEEE.Standards Board.IEEEStd 754-1985:IEEEStandard forBinary-Point Arithmetic[Z].1985,3:3-6.

[3]林春方.可编程控制器原理及其应用[M].上海:上海交通大学出版社,2004:23-43.

作者单位

1.吉林化工学院信息与控制工程学院 吉林省吉林市 132022

2.中国石油吉林石化公司丙烯腈厂仪表车间 吉林省吉林市 132022

猜你喜欢

精确度
研究核心素养呈现特征提高复习教学精确度
“硬核”定位系统入驻兖矿集团,精确度以厘米计算
放缩法在递推数列中的再探究
浙江省大麦区试的精确度分析
近似数1.8和1.80相同吗