1. 自行编写流量累计程序时候累计到一定数量级后不累积
自行编写流量累计程序的原理,其实就是积分的最原始算法概念,把单位小间隔时间内的
瞬时流量乘以单位间隔时间,得到单位小间隔时间内的流量,再把这些小流量累加起来,就
的到了累计流量。
在流量累计编程中经常会遇到实数加法问题,实数加法运算的注意事项也应当引起编程人
员的重视,请看下例程序(假设其在 OB35中被调用,目的为每隔一定时间间隔就累计一
次流量)
L MD0 //累计流量存储值
L MD4 //流量瞬时值
+R
T MD 0
以上的程序是否存在问题?很多用户会认为没有问题,但实际情况是此程序在运行一段时
间后就将出现错误。此程序在运行之初是正常的,因为累计流量初始值及流量瞬时值都为一
个很小的浮点数,两数相加后,结果正确。但是当一段时间后,累计流量的数值逐渐增大,
当它与瞬时流量的数值相差很远的时候,两者执行加法操作后,瞬时流量的数值将被忽略掉
(如 9999990.0与 0.2做加法操作)。其实具备计算机常识的人都应当清楚这一点,这是
由于浮点数的存储机制造成的,是所有计算机方面编程都需要考虑的问题。这个问题可以通
过使用二次累加或多次累加的方法来解决。
特别提示:避免数量级相差太多的浮点数之间进行运算。
很多用户反映“加法指令不好用了”,很有可能就是数量级相差很多的实数进行了加法运算
2. 流量累积的误差
2.1 流量计本身没有累计流量功能,但可以把瞬时流量以模拟量的方式(例如 4-20mA)
输出。
此时累计流量的最大误差可以估算为:
流量计本身误差 * 流量计 D/A误差 * 模拟量模块 A/D误差 * PLC流量累计算法
误差
假设上面所有误差都是 1%,则最后的误差约为:4.06%
1.01*1.01*1.01*1.01=1.0406
提示:对于廉价流量计,本身的瞬时流量误差可能就是 3%,所以这样的系统累计流量
的误差可能还要大些。
2.2 流量计本身没有累计流量功能,但可以把瞬时流量以数字量的方式输出。
有些流量计提供数字量接口,可以连接 PLC的数字量输入模板,流量计每流过一定流量
后(例如 0.1吨),此输入点就导通一次,PLC就把累计流量累加 0.1吨即可。
提示:此类系统避免了 A/D,D/A转化的误差,以及 PLC累计算法误差。但是会出现一定时
间内累计流量不变化的情况,实时性不好(每 0.1吨累积的时间)。
2.3 流量计本身有累计流量功能,同时可以把瞬时流量以模拟量的方式(例如 4-20mA)
输出,但无法将累计流量数值送出。
提示:流量计本身累积流量的数值,最后很有可能与 PLC的累计流量数值相差很大,原
因可能是多方面造成的,除去系统累计流量误差(参见 3.1)的因素,如果 PLC系统检修时,
流量计还计量,则 PLC无法累积这部分流量。
2.4 流量计本身有累计流量功能,同时可以通过通信的方式,把瞬时流量及累计流量数
值送给 PLC。
提示:这种情况最理想,当然系统的成本要提高。
2011-10-24
沈世侨 摘于西门子论坛
本文档为【PLC编写流量累积程序时候需要注意的要点】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。