G73、G83钻孔循环指令是常见的钻孔指令,但在实际应用中有时因为循环指令其中的某些加工动作无法控制,却给加工带来麻烦,这个实例我们使用宏程序来仿钻孔循环编制替代程序,在实际工作中能够解决很多的问题,下面就给大家来讲讲我的编程思路。
一、G83钻孔循环宏程序
先看示意图:
编程思路:
初始位置:#8
参考位置:#9
每次切削前工件钻孔表面高度:#5
每次钻孔递增量:#3
距离工件表面的安全间隙:#4
每次开始钻孔进给下刀的高度:#6
孔的最终位置:#7
参考程序如下:
G90G54G40G1Z100F1000M03S1500
G1X0Y0
#9=5
#5=0
#3=7
#4=2
#7=-41
N10#6=#5 #4
#5=#5-#3
IF[#5LE#7]GOTO20
G0Z#6
G1Z#5F100
G0Z#9
IF[#5GT#7]GOTO10
N20G0Z#6
G1Z#7F100
G0Z#9
G1Z5F200
Z100F1000
M5
M30
程序解释:初始赋值之后,循环体里面,第一刀钻孔开始的位置#6=#5 #4=2,然后计算第一次钻孔深度:#5=#5-#3=-7,判断IF[#5LE#7]GOTO20,这个深度是否大于等于最终深度,如果满足则跳出循环到N20位置,直接按最终尺寸加工孔;如果没到深度,先退出至初始位置,IF[#5GT#7]GOTO10跳转到N10位置,计算现在孔深度安全间隙高度#6=#5 #4=-7 2=-5,计算此时要钻的新深度:#5=#5-#3=-7-7,然后按照前面的步骤进行,直到加工完毕。
加工效果:
二、G73钻孔循环宏程序
G73钻孔,和G83指令的区别在于G73每次只是回退一小段距离,用于断屑,走刀示意图如下:
参考程序:
G90G54G40G1Z100F1000M03S1500
G1X0Y0F500
#9=5
#5=0
#3=7
#4=1
#7=-41
G0Z#9
N10#5=#5-#3
IF[#5LE#7]GOTO20
G1Z#5F100
#6=#5 #4
G0Z#6
IF[#5GT#7]GOTO10
N20G1Z#7F100
G0Z#9
G1Z5F200
Z100F1000
M5
M30
三、宏程序应用要点
两份宏程序可以灵活应用,首先各个步骤可以单独设置速度,G0的步骤可以设置为G1直线插补,在使用循环时这些不好改的。另外每步的递增距离,还有回退距离都可以自己设置。如果中间钻头磨损,换刀后,可以直接给定合适的深度参数继续加工。