现在很多西门子组态软件wincc上位机系统需要流量计的流量累计功能,并提出了几个问题,我希望与您分享。 问题1:编写自己的流量累积计划 编写流量累积程序本身的原则实际上是积分的最原始算法概念。将小间隔时间内的瞬时流量乘以单位间隔时间以获得小间隔时间内的流量,然后累积这些小流量。累积流量已到达。 在流量累积编程中,经常遇到实数增加问题。程序员也应注意实际加法操作的注意事项。请参阅以下示例(假设它在OB35中调用,目的是定期累积。一次流 L MD0 //累积流量存储值 L MD4 //流量瞬时值 + R T MD 0 上述程序有问题吗?该程序在操作开始时是正常的,因为累积流量的初始值和流量的瞬时值都是小的浮点数,添加两个数字后,结果是正确的。但是,经过一段时间后,累积流量的值逐渐增加。当它远离瞬时流量值时,在加法运算后(例如9999990.0和0.2)将忽略瞬时流量的值。
事实上,具有计算机常识的人应该意识到这一点,这是由浮点数的存储机制引起的,并且这是所有计算机方面都需要考虑的问题。该问题可以通过使用第二累积或多重累积方法来解决。因此,在编程时,应避免在数量级不同的浮点数之间进行操作。许多人报告说添加指令不容易使用。很可能会添加具有很大差异的实数。 问题2:累积流量错误问题 对于积分算法,采用一个小矩形来积累流量,矩形的划分当然越薄,误差越小,不存在误差。 问题3:由流量计和西门子plc组成的系统有各种误差流量计。
以下示例:
1.流量计本身没有累积流量功能,但可以模拟瞬时流量(例如,4-20 mA)输出。
2.流量计本身不具有累积流量功能,但可以以数字方式输出瞬时流量。一些流量计提供可连接到西门子plc的数字输入模板的数字接口。在流量计的每个流量(例如,0.1吨)之后,输入点打开一次,并且西门子plc增加0.1吨的累积流量。这样的系统避免了A/D,D/A转换和西门子plc累积算法错误中的错误。但是,存在累积流量在一定时间内没有变化,实时性能不好(每0.1吨的累计时间)的情况。 3.流量计本身具有累积流量功能。同时,可以以模拟方式(例如,4-20mA)输出瞬时流量,但不能发送累积流量值。流量计本身的累积流量可能与西门子plc的累积流量值非常不同。原因可能是由许多因素造成的。如果系统的累积流量误差被消除,如果在检查西门子plc控制系统期间仍检查流量计,则西门子plc不能累积这部分流量。 4.流量计本身具有累积流量功能,瞬时流量和累计流量值可通过通讯发送到西门子plc。