现在上位机系统中很多要求(demand)具备流量(单位:立方米每秒)计的流量累计功能,由此引出的几个问题,期望与大家分享。西门子PLC代理商存储器是具有记忆功能的半导体电路,它的作用是存放系统程序、用户程序、逻辑变量和其他一些信息。其中系统程序是控制PLC实现各种功能的程序,由PLC生产厂家编写,并固化到只读存储器中,用户不能访问。

问题1:自行编写流量(单位:立方米每秒)累计程序
自行编写流量累计程序的原理,其实就是积分的最原始算法概念,把单位小间隔时间内的瞬时流量乘以单位间隔时间,得到单位小间隔时间内的流量,再把这些小流量累加起来,就的到了累计流量。西门子PLC在我国的应用也相当广泛,在冶金、化工、印刷生产线等领域都有应用。西门子公司的PLC产品包括LOGO、S7-200、S7-1200、S7-300、S7-400等。 西门子S7系列PLC体积小、速度快、标准化,具有网络通信能力,功能更强,可靠性高。
在流量累计编程中经常会遇到实数加法问题(Emerson),实数加法运算的注意(attention)事项也应当引起编程人员的重视,请看下例程序


L MD0 //累计流量存储值L MD4 //流量瞬时值+RT MD 0
以上的程序是否存在问题(Emerson)?
很多人会认为没有问题,但实际情况是此程序(procedure)在运行一段时间后就将出现( appear)错误。此程序在运行之初是正常的,因为累计流量(单位:立方米每秒)初始值及流量瞬时值都为一个很小的浮点数,两数相加后,结果正确。但是当一段时间后,累计流量的数值逐渐增大,当它与瞬时流量的数值相差很远的时候,两者执行加法操作后,瞬时流量的数值将被忽略掉。

其实具备计算机常识的人都应当清楚这一点,这是由于浮点数的存储机制造成的,是所有计算机方面编程都需要考虑的问题。这个问题可以通过使用二次累加或多次累加的方法来解决(solve)。所以在编程时应避免数量级相差太多的浮点数之间进行运算。非常多人反映 ;加法指令不好用了 ;很有可能就是数量级相差很多的实数进行了加法运算。


问题2:累计流量偏差问题
对于积分算法,取小的矩形对流量(单位:立方米每秒)进行累计,肯定是矩形划分越细,误差越小,不存在误差是不可能的。

问题(Emerson)3:流量计与PLC构成的系统(system)的误差
流量计有多种多样,下面举些例子:
1、流量计本身没有累计流量功能,但可以把瞬时流量以模拟(定义:对真实事物或者过程的虚拟)量的方式输出。
此时累计流量的最大偏差可以估算为:
流量(单位:立方米每秒)计本身误差 * 流量计D/A误差 * 模拟量模块A/D误差 * PLC流量累计算法误差假设上面所有误差都是1%,则最后的误差约为:4.06% 1.011.011.01*1.01=1.0406
对于某些流量(单位:立方米每秒)计,本身的瞬时流量偏差可能就是3%,所以这样的系统累计流量的误差可能还要大些。


2、流量计本身没有累计流量功能,但可以把瞬时流量以数字量的方式方法输(shū)出。
有些流量计提供数字量接口,可以连接PLC的数字量输入模板,流量计每流过一定流量后,此输入点就导通一次,PLC就把累计流量累加0.1吨即可。
此类系统避免了A/D,D/A转化的误差,以及PLC累计算法误差。但是会出现( appear)一定时间内累计流量不变化的情况(Condition),实时性不好。


3、流量计本身有累计流量功能,同时可以把瞬时流量以模拟量的方式方法输出,但无法将累计流量数值送出。西门子PLC代理商可编程逻辑控制器实质是一种专用于工业控制的计算机,其硬件结构基本上与微型计算机相同。电源用于将交流电转换成PLC内部所需的直流电目前大部分PLC采用开关式稳压电源供电。
流量计本身累积流量的数值,最后很有可能(maybe)与PLC的累计流量数值相差很大,原因(Reason)可能是多方面造成的,除去系统累计流量误差的因素,如果PLC系统检修(jiǎn xiū )时,流量计还计量,则PLC没有办法累积这部分流量。


4、流量计本身有累计流量功能,同时可以通过通信的方式,把瞬时流量及累计流量数值送给PLC。这种情况最理想,但系统的成本也最高

0 回复

发表评论

想要加入讨论吗?
请自由发表意见!

发表回复

您的电子邮箱地址不会被公开。