我们也可以采用一种技巧来减少因计时器精度带来的误差。我们采用长的时间计时来作。例如,10ms为一个时基的计时器预定计30000次(plc 5/40c的计时器的预置值范围为0-32767),其时间计算将是300s正或负10ms。在这其中,我们可以预定一个采样间隔时间为10个时基 (100ms)以上。每次程序扫描,处理器判断如果自从上次累积运算起,时间间隔超过预定时间(例如:100ms),就将这段时间乘以当前的瞬时流量值作 为累加量。在这种算法中,采样间隔时间就不是固定的了。
另外要考虑的是运算所用到的数据格式。plc 5/40c数据表按不同的格式和范围来存储不同类型的数据。有两种文件格式可以选择,一是n文件(整数型文件),值的范围为-32768到+32767, 占1个16位字;因为在累积运算过程中,数的乘积和多次累加值一般都会超出+32767,所以我们尽量不用n文件。
另外是f文件(浮点数文件),值的范围为±1.175494e-38到 3.402823e+38,占1个32位字。浮点数在寄存器中32位的空间表示为:
s xxxxxxxx mmmmm
上面: s=符号 x=指数 m=尾数
可见用浮点数表示的值的十进制有效位数只有7位。因此,必须考虑有效位数问题。举例如下:
假设a代表计算的总流量,f代表计算上一次累加的流量,把f加到a上就会计算出一个新的总流量。在控制器的存储器中,a和f使用浮点数文件格式,有效数字 是7位。一旦a比f大很多时,那么a和f的加数将会产生误差。
请看计算过程:
a=3.632523e+9
f=4.978e+3
本文关键字:流量 解决方案,plc技术 - 解决方案
上一篇:PLC的常见故障及维修