首页 理论教育 如何使用取整函数来保留精度?

如何使用取整函数来保留精度?

时间:2023-06-30 理论教育 版权反馈
【摘要】:② 地址指令中使用ROUND函数时,按其地址的最小设定单位四舍五入。假定最小设定单位是1/1000mm,变量#1是1.2345,变量#2是2.3456,则:N1#1=1.2345;N2#2=2.3456;N3 G00 G91 X-#1;移动1.235mmN4 G01 X-#2 F300;移动2.346mmN5 G00 X[#1+#2];由于1.2345+2.3456=3.5801移动距离为3.580,刀具不返回到初始位置。FUP和FIX函数常用来确定迭代次数。对于负数的处理应小心。当执行#3=FUP[#1]时,2.0赋给#3。

如何使用取整函数来保留精度?

1.ROUND函数

ROUND函数是对给出的值取整,有两种操作模式。

① 如果函数ROUND用于运算指令或在IF、WHILE条件表达式中,对数据小数部分四舍五入

例:#2=ROUND[#1];

当#1=1.2345时,#2=1。当#1=1.567时,#2=2。

例:IF[#1 LE ROUND[#2]]GOTO10;

如果#2=4.567,则ROUND[#2]=5。

地址指令中使用ROUND函数时,按其地址的最小设定单位四舍五入。

例:G01 X[ROUND[#1]];

如果#1=1.4567,X的最小设定单位是0.001,那么该程序段就变成G01 X1.457。

在该例中,这个指令与G01 X#1;等同。

例:编写钻削加工程序,按变量#1和#2的值切削,然后返回到初始位置。假定最小设定单位是1/1000mm,变量#1是1.2345,变量#2是2.3456,则:

N1#1=1.2345;

N2#2=2.3456;

N3 G00 G91 X-#1;移动1.235mm(www.xing528.com)

N4 G01 X-#2 F300;移动2.346mm

N5 G00 X[#1+#2];由于1.2345+2.3456=3.5801移动距离为3.580,刀具不返回到初始位置。

此时,可将N5程序段作如下修改。

N5 G00X-[ROUND[#1]+ROUND[#2]];此时,ROUND[#1]=1.235,ROUND[#2]=2.346,刀具移动距离为-3.581,刀具返回到初始位置。

2.FUP和FIX函数

FUP为上取整,将给定值圆整为与之接近的最大整数。FIX为下取整,将给定值圆整为与之接近的最小整数。FUP和FIX函数常用来确定迭代次数。

CNC处理数值运算时,若操作后产生的整数绝对值大于原数的绝对值时为上取整;若小于原数的绝对值为下取整。对于负数的处理应小心。

例如:

假定#1=1.2,并且#2=-1.2。

当执行#3=FUP[#1]时,2.0赋给#3。

当执行#3=FIX[#1]时,1.0赋给#3。

当执行#3=FUP[#2]时,-2.0赋给#3。

当执行#3=FIX[#2]时,-1.0赋给#3。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈