最近做了个齿轮加工类的磨床,使用了802d sl G/N plus数控系统,通过自定义用户画面输入工艺参数,在自定义用户画面中的xml文件中有一些比较复杂的计算公式,这些公式计算的结果直接存储在自定义GUD变量里供零件加工程序使用,但我发现自定义用户画面中计算的结果不够精确,看下面的语句:
0
"gud/angle_b0"
"gud/ridia_r0" = ("gud/mod_z0")*("gud/g_num")/(2.0*var37)
其中angle_b0、mod_z0、ridia_r0在sgud.ini文件中定义为real类型,g_num在sgud.ini文件中定义为int类型,在工艺参数界面中设置mod_z0=3.75、angle_b0=10.0、g_num=60,则用户自定义界面计算结果ridia_r0=114.235465,而通过计算机计算得到ridia_r0=114.235493837,可以看出在小数点第5位数已经有误差了,这只是个很简单的运算,而如果计算步骤更多,其误差竟然达到几个μ,这个对于精度要求比较高的磨床已经不允许了,802d sl系统的运算精度通过什么控制,能够更改吗?如果就保留到小数点后第6位,那么使用double类型有什么意义?如果使用float类型岂不是精度更差?