西门子plc流量累积问题的解决方法

来源:电工天下时间:2015-10-30 21:22:17 作者:老电工手机版>>

西门子plc流量累积问题的解决方法

在上位机系统中很多要求具备流量计的流量累计功能,这里通过几个问题的解决方法,了解下其正确的使用方法。

问题1:自行编写流量累计程序
自行编写流量累计程序的原理,其实就是积分的最原始算法概念,把单位小间隔时间内的瞬时流量乘以单位间隔时间,得到单位小间隔时间内的流量,再把这些小流量累加起来,就的到了累计流量。

在流量累计编程中经常会遇到实数加法问题,实数加法运算的注意事项也应当引起编程人员的重视,请看下例程序(假设其在OB35中被调用,目的为每隔一定时间间隔就累计一次流量)
L MD0 //累计流量存储值
L MD4 //流量瞬时值
+R
T MD 0
以上的程序是否存在问题?很多人会认为没有问题,但实际情况是此程序在运行一段时间后就将出现错误。此程序在运行之初是正常的,因为累计流量初始值及流量瞬时值都为一个很小的浮点数,两数相加后,结果正确。

但是当一段时间后,累计流量的数值逐渐增大,当它与瞬时流量的数值相差很远的时候,两者执行加法操作后,瞬时流量的数值将被忽略掉(如9999990.0与0.2做加法操作)。其实具备计算机常识的人都应当清楚这一点,这是由于浮点数的存储机制造成的,是所有计算机方面编程都需要考虑的问题。

这个问题可以通过使用二次累加或多次累加的方法来解决。

因此,在编程时应避免数量级相差太多的浮点数之间进行运算。很多人反映“加法指令不好用了”,很有可能就是数量级相差很多的实数进行了加法运算。

问题2:累计流量误差问题
对于积分算法,取小的矩形对流量进行累计,肯定是矩形划分越细,误差越小,不存在误差是不可能的。

问题3:流量计与plc构成的系统的误差

流量计的几个例子:

1、流量计本身没有累计流量功能,但可以把瞬时流量以模拟量的方式(例如4-20mA)输出。
此时累计流量的最大误差可以估算为:
流量计本身误差 * 流量计D/A误差 * 模拟量模块A/D误差 * PLC流量累计算法误差

假设上面所有误差都是1%,则最后的误差约为:4.06%
1.01*1.01*1.01*1.01=1.0406
对于某些流量计,本身的瞬时流量误差可能就是3%,所以这样的系统累计流量的误差可能还要大些。

2、流量计本身没有累计流量功能,但可以把瞬时流量以数字量的方式输出。

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

3、流量计本身有累计流量功能,同时可以把瞬时流量以模拟量的方式(例如4-20mA)输出,但无法将累计流量数值送出。

流量计本身累积流量的数值,最后很有可能与PLC的累计流量数值相差很大,原因可能是多方面造成的,除去系统累计流量误差的因素,如果PLC系统检修时,流量计还计量,则PLC无法累积这部分流量。

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

相关文章
  • plc流量累积计算程序实例

    plc流量累积计算程序实例

    plc流量累积计算程序实例,plc计算流量累积的方法,plc在流量显示和累积计量上的应用,西门子plc中如何解决流量累积问题的方法,一起来了解下。

    时间:2022-09-18 14:29:15

  • 西门子plc s7-300 计数器输出状态问题解答

    西门子plc s7-300 计数器输出状态问题解答

    西门子plc s7-300 计数器输出状态问题问题:在使用西门子plc进行编程时,加计数器的输出位或常开触点应在计数值到达预置值时接通,但s7-300的加计数器的计数值到达预置值时,其输出

    时间:2020-03-15 10:36:47

  • 【问答】西门子s7-300定时器的剩余时间参与比较的问题

    【问答】西门子s7-300定时器的剩余时间参与比较的问题

    西门子s7-300定时器的剩余时间参与比较的问题,定时器的bi是十六进制数剩余时间值,bcd端输出的是s5t#格式的bcd码,用bi输出值参与比较会方便。

    时间:2020-03-09 10:03:01

  • cpu重启与sfc chart能否继续执行的问题

    cpu重启与sfc chart能否继续执行的问题

    有关cpu重启与sfc chart能否继续执行的问题,在SFC chart的属性中设置启动选项和CPU重启后SFC chart的运行方式,以让cpu重启sfc chart自动运行。

    时间:2020-02-21 10:21:48

  • 【问答】西门子s7-300寄存器间接寻址问题

    【问答】西门子s7-300寄存器间接寻址问题

    西门子s7-300寄存器间接寻址问题,《S7-300/400 PLC应用技术》第3版书上第163页的FC1程序中,第4条指令L W [AR1,P#0.0],后面注释是取指针第1个字内的数据块编号。

    时间:2020-02-21 09:30:31

  • 西门子s7-300编程电缆的应用问题

    西门子s7-300编程电缆的应用问题

    西门子s7-300编程电缆的应用问题,西门子s7-300编程电缆的特性与技术参数,step7 软件的设置,PC适配器的功能与用法等,感兴趣的朋友参考下。

    时间:2020-02-21 09:14:25

  • 【问答】西门子plc模拟量使用问题大全

    【问答】西门子plc模拟量使用问题大全

    西门子plc模拟量使用问题大全,S7-200模拟量输入模块(EM231,EM235)如何寻址,如何将传感器连接到S7-200 模拟量输入模块(EM231,EM235),S7-200 模拟量输入模块时接收到不稳定值的问题等。

    时间:2019-12-21 08:17:17

  • 【图】plc高速输入脉冲测定瞬时流量的几种方法

    plc高速输入脉冲测定瞬时流量

    plc高速输入脉冲测定瞬时流量的几种方法,包括定义高速计数器,高速输入脉冲频率计算,瞬时流量计算,测定脉冲输出信号的流量计的瞬时流量就需要在STEP 7 Micro/WIN中通过三部分编程。

    时间:2015-12-27 10:54:46

Copyright © 2015 - 2022 dgjs123.com All Rights Reserved

电工天下 版权所有