发布于 2009-01-05 14:55:19
0楼
不知道楼主是读仪表自身的累计量呢?还是读实时量进行累加?如果是读自身的累计量应该不会出现问题。如果是读实时量进行累加,很可能以下问题:
众所周知,两个实数相加,如果阶码不一致,必须先对阶,对阶操作规定使尾数右移,尾数右移后阶码作相应增加,其数值保持不变。显然,一个增加后的阶码与另一个阶码相等,增加的阶码的一定是小阶。关键就是这个尾数右移,本来很小的数,经过尾数右移这后,最低有效位就丢失了,可能就变为0了。这样较小的量就不会加到累计量里去。长时间这样累加的话,PLC中累计的量就会比实际的累计量要小很多。我们以前做配料累计的时候,开始用浮点数相加,最后上位机中显示的累计量要比实际现场仪表显示的量要少很多。后来改为两个DINT分别计算,效果就很好了。