网站标志
导航菜单
当前日期时间
当前时间:
购物车
购物车中有 0 件商品 去结算 我的订单
商品搜索
商品搜索:
文章正文
流量累计问题
作者:管理员    发布于:2015-07-20 18:44:07    文字:【】【】【
 只是由此引出的几个问题,期望与用户分享。
 
    问题1:自行编写流量累计程序。
 
    自行编写流量累计程序的原理,其实就是积分的最原始算法概念,把单位小间隔时间内的瞬时流量乘以单位间隔时间,得到单位小间隔时间内的流量,再把这些小流量累加起来,就的到了累计流量。
 
    在流量累计编程中经常会遇到实数加法问题,实数加法运算的注意事项也应当引起编程人员的重视,请看下例程序(假设其在OB35中被调用,目的为每隔一定时间间隔就累计一次流量)
 
L MD0 //累计流量存储值
 
L MD4 //流量瞬时值
 
+R
 
T MD          0
 
    以上的程序是否存在问题?很多用户会认为没有问题,但实际情况是此程序在运行一段时间后就将出现错误。此程序在运行之初是正常的,因为累计流量初始值及流量瞬时值都为一个很小的浮点数,两数相加后,结果正确。但是当一段时间后,累计流量的数值逐渐增大,当它与瞬时流量的数值相差很远的时候,两者执行加法操作后,瞬时流量的数值将被忽略掉(如9999990.0与0.2做加法操作)。其实具备计算机常识的人都应当清楚这一点,这是由于浮点数的存储机制造成的,是所有计算机方面编程都需要考虑的问题。这个问题可以通过使用二次累加或多次累加的方法来解决。
 
    特别提示:避免数量级相差太多的浮点数之间进行运算。
 
    很多用户反映“加法指令不好用了”,很有可能就是数量级相差很多的实数进行了加法运算。
 
    问题2:累计流量误差问题
 
    对于积分算法,取小的矩形对流量进行累计,肯定是矩形划分越细,误差越小,不存在误差是不可能的。
 
    问题3:流量计与PLC构成的系统的误差
 
流量计有多种多样,下面举些例子:
 
    3.1  流量计本身没有累计流量功能,但可以把瞬时流量以模拟量的方式(例如4-20mA)输出。
 
    此时累计流量的最大误差可以估算为:
 
    流量计本身误差  *  流量计D/A误差  *  模拟量模块A/D误差  *  PLC流量累计算法误差
 
    假设上面所有误差都是1%,则最后的误差约为:4.06%
 
1.01*1.01*1.01*1.01=1.0406
 
    提示:对于廉价流量计,本身的瞬时流量误差可能就是3%,所以这样的系统累计流量的误差可能还要大些。
 
    3.2  流量计本身没有累计流量功能,但可以把瞬时流量以数字量的方式输出。
 
    有些流量计提供数字量接口,可以连接PLC的数字量输入模板,流量计每流过一定流量后(例如0.1吨),此输入点就导通一次,PLC就把累计流量累加0.1吨即可。
 
提示:此类系统避免了A/D,D/A转化的误差,以及PLC累计算法误差。但是会出现一定时间内累计流量不变化的情况,实时性不好(每0.1吨累积的时间)。
 
    3.3  流量计本身有累计流量功能,同时可以把瞬时流量以模拟量的方式(例如4-20mA)输出,但无法将累计流量数值送出。
 
    提示:流量计本身累积流量的数值,最后很有可能与PLC的累计流量数值相差很大,原因可能是多方面造成的,除去系统累计流量误差(参见3.1)的因素,如果PLC系统检修时,流量计还计量,则PLC无法累积这部分流量。
 
    3.4  流量计本身有累计流量功能,同时可以通过通信的方式,把瞬时流量及累计流量数值送给PLC。
 
    提示:这种情况最理想,当然系统的成本要提高。
浏览 (55) | 评论 (0) | 评分(0) | 支持(0) | 反对(0) | 发布人:管理员
将本文加入收藏夹
新闻详情
脚注栏目
|
脚注信息
机电工程网(C) 2015-2020 All Rights Reserved.    联系我们