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