G81命令一般用于打孔,数控设备一般默认按照绝对坐标(指令为G90)来编制程序。比如需要在下图的零件中加工四个孔,根据绝对坐标编程,假设Z轴零点距离工件上平面20mm,打孔时快进下刀距离18mm,钻孔深度5mm。编制程序如下(注,仅说明加工路线,省略了主轴转速进刀等步骤,下同):
G54
G0X0Y0Z0
G81X15Y25Z-25R-18
X85Y25
X85Y-25
X15Y-25
G0Z0
M30
假如一次需要加工多个工件,可以给不同工件赋予不同的坐标,比如第二块工件的坐标为G55:
G55
G0X0Y0Z0
G81X15Y25Z-25R-18
X85Y25
X85Y-25
X15Y-25
G0Z0
M30
又由于坐标程序段以下M30程序段以上的内容完全相同,我们完全可以将它放入子程序中,在每次更改坐标后调用一次子程序就可以了。
但有时候也会遇到工件之间等距排列,仅采用一个坐标的情况,这个时候还想实现循环,用绝对坐标就不合适了,假设上图中仅为下方工件指定了一个坐标G54,工件之间Y方向上距离为100,那么按照绝对坐标,上方工件的孔为应为(15,125)、(85,125)、(85,75)、(15,75)。
相对坐标(指令为G91)的定位与坐标无关,它的定位基准取决于上一段程序停顿的位置,很适合用于这个单坐标多工件的情况,来看一下两个产品的相对坐标程序:
G54
G0X0Y0Z0 第一个工件定位
G91 开启相对坐标
G81X15Y25Z-7R-18
X70
Y-50
X-70
G90G0Z0 取消相对坐标
G0X0Y100Z0 第二个工件定位
G91 开启相对坐标
G81X15Y25Z-7R-18
X70
Y-50
X-70
G90G0Z0 取消相对坐标
M30
可以注意到,采用相对坐标编程时,从相对坐标开启到关闭之间的程序段是完全相同的,这样我们就可以利用子程序来实现,从而简化程序。需要注意的是,绝对坐标与相对坐标下,G81的参数取值方式也会相应发生改变。