PLC做水量累计 为什么ADD_real模块两输入real型数值不累加,怎么解决?

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日 下午3:05
下一篇 2020年11月1日 下午3:05

相关推荐