PLC做水量累计 为什么ADD_real模块两输入real型数值不累加,怎么解决?两数分别为(0.0625;1627262.2)
最佳答案
实数相加的话,要注意的一个问题当两个数的数量级别相差太大的时候,就会出现不累加的情况。
在S7中实数的定义和计算可保持精确到小数点后6位
加和减时,是按照指数归齐,也就是基数和指数对加和减相同,只加入尾数。
0.0625 = 6.25e-2
1627262.2 = 1.627262e+6(最后1个2是舍去的)
相加的时候,按照指数归齐那么
6.25e-2 = 0.0000000625e+6 (指数为6要对齐)
这时小数点后只保留6位,那么就是
0.000000e+6 也就是0
所以相加后的数据就出现你说的不能累加的情况。
解决的方法可以将流量累加的一定数值后,比如累计1个小时后,将累加值及时保存到DB块中,然后清空累加值,再重新累计。
提问者对于答案的评价:
很清楚
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc312237.html