您当前的位置:五五电子网电子知识plc技术解决方案PLC5/40C中实现高精度流量累积运算相关策 正文
PLC5/40C中实现高精度流量累积运算相关策

PLC5/40C中实现高精度流量累积运算相关策

点击数:7946 次   录入时间:03-04 11:52:16   整理:http://www.55dianzi.com   解决方案

  我们也可以采用一种技巧来减少因计时器精度带来的误差。我们采用长的时间计时来作。例如,10ms为一个时基的计时器预定计30000(plc 5/40c的计时器的预置值范围为0-32767),其时间计算将是300s正或负10ms。在这其中,我们可以预定一个采样间隔时间为10个时基 (100ms)以上。每次程序扫描,处理器判断如果自从上次累积运算起,时间间隔超过预定时间(例如:100ms),就将这段时间乘以当前的瞬时流量值作 为累加量。在这种算法中,采样间隔时间就不是固定的了。

  另外要考虑的是运算所用到的数据格式。plc 5/40c数据表按不同的格式和范围来存储不同类型的数据。有两种文件格式可以选择,一是n文件(整数型文件),值的范围为-32768+32767, 占116位字;因为在累积运算过程中,数的乘积和多次累加值一般都会超出+32767,所以我们尽量不用n文件。

  另外是f文件(浮点数文件),值的范围为±1.175494e-38到 3.402823e+38,占132位字。浮点数在寄存器中32位的空间表示为:

  s xxxxxxxx mmmmm

  上面: s=符号 x=指数 m=尾数

  可见用浮点数表示的值的十进制有效位数只有7位。因此,必须考虑有效位数问题。举例如下:

  假设a代表计算的总流量,f代表计算上一次累加的流量,把f加到a上就会计算出一个新的总流量。在控制器的存储器中,af使用浮点数文件格式,有效数字 是7位。一旦af大很多时,那么af的加数将会产生误差。

  请看计算过程:

  a=3.632523e+9

  f=4.978e+3

上一页  [1] [2] [3] [4] [5]  下一页


本文关键字:流量  解决方案plc技术 - 解决方案