一直想尝试一下数控机床上的循环嵌套,赶上单位有一批产品需要铣键槽,尺寸要求不高,希望可以提高一点效率,所以一次性装夹了3件,依次赋坐标G54、G55、G56,使用设备为华中数控。
键槽宽度6mm尺寸由刀具控制,深度为4mm,长度20mm,单个循环的程序如下:
G40G49G80G90G54
M3
M8
S1000
F200
G0X0Y0Z20
#1=0.4
WHILE [#1 LE 4]
G0Z-#1
G1Y-20
G0Z0
G0Y0
#1=#1+0.4
ENDW
G0Z100
M5
M9
M30
因为每个产品的键槽尺寸相同,变化的只是坐标,所以考虑用变量来控制坐标,实现变换一次坐标,重新走一遍程序的效果。坐标变量设置为#2,因为一共是3个坐标,所以变量的值控制在54到56之间:
G40G49G80G90G54
M3
M8
S1000
F200
#2=54 //坐标循环开始
WHILE [#2 LE 56]
G#2 //变量坐标
G0X0Y0Z20
#1=0.4 //#1在每次坐标变换后都会被初始化
WHILE [#1 LE 4] //程序循环开始
G0Z-#1
G1Y-20
G0Z0
G0Y0
#1=#1+0.4
ENDW //程序循环结束
G0Z20
#2=#2+1
ENDW //坐标循环结束
G0Z100 //抬刀至安全位置
M5
M9
M30
宏程序利用短短几道程序实现了一个相对复杂的逻辑,而且循环次数与深度可灵活控制,坐标点位也可以随意增删,确实是一个很便利的工具。