SIMOTION:浮点数一致性检查

问题

当执行检查浮点数一致性的操作时,为什么即使浮点数状态完全一样也会检测到不同的结果?

答案

当应用浮点数(REAL或者LREAL)进行计算时,由于浮点数(指数型)的结构和非常高的数值区间经常会出现舍入误差的情况,以至于计算结果很难保证一致性(所有位都相同)。因此在大多数情况下,浮点数“一致性”的检查不会产生请求的结果。

以下程序段代码允许在一个公差窗口内检查浮点数的一致性。如果两次的比较值的差值部分在显示的公差窗口内,那么结果为真。

程序代码:
Result := (ABS(comparative_value_a – comparative_value_b)) <= (ABS(tolerance_window));

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论