浮点计算出错

一台840DSL加工中心,启动循环时提示浮点计算错误,报警号1019,见附件,NCU没有任何错误,更换全新NCU过了2个月又出现一模一样的故障,请教各位老师哪里出了问题?

最佳答案

我个人观点:浮点数计算错误,原因可能是小数点后面数据取舍导致计算结果出现积累性数值偏差造成,意思是小数点后面的数值在乘法或除法运算中存在四舍五入的取值问题,开始该数值较小,对计算结果误差很小,但以后拿这有误差的数据再进行乘除运算,其计算结果误差会越来越大,日积月累,该误差值会达到一个不可忽略的数值,便出现上述警报信息!解决方法可参考网址:http://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_ID=153926&cid=1044

提问者对于答案的评价:
是不是可以认定是软件计算出了问题,该如何解决。

最佳答案作者回复:
不可认为是软件岀错,问题在于我们用软件编写程序中,各种算法后得出的结果值的精度取舍不同,是精密仪器中不可避免的现象,此现象也只有在数据运算中不能被整除而产生余数,小数点乘法后取小数兰后的不同保留位数情况下才岀现!避免的方法是将小数扩大若个倍后再进行乘除运算,得到的结果再缩小相同的倍数,这样做误差才能最小化!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc129221.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年5月29日 下午6:34
下一篇 2017年5月29日

相关推荐