1.1.1 插补功能指令
(1)平面选择:G17、G18、G19
①指令格式:G17
G18
G19
②指令功能 分别用来指定程序段中刀具的圆弧插补平面和刀具半径补偿平面。
③指令说明
a.G17表示选择XY加工平面;
b.G18表示选择XZ加工平面;
c.G19表示选择YZ加工平面(如图1-1所示)。
图1-1 加工平面的选定
④应用举例
例如,加工如图1-2所示零件,当铣削圆弧面1时,就在XY平面内进行圆弧插补,应选用G17;当铣削圆弧面2时,应在YZ平面内加工,选用G19。
图1-2 平面选择举例
立式三轴加工中心大都在X、Y平面内加工,参数一般都将数控系统开机默认G17状态,故G17在正常情况下可以省略不写。
(2)英制尺寸/公制尺寸指令
①指令格式:G20
G21
②指令功能 数控系统可根据所设定的状态,利用代码把所有的几何值转换为公制尺寸或英制尺寸,同样进给率F的单位也分别为mm/min(in/min)或mm/r(in/r)。
③指令说明
a.G20 英制输入
b.G21 公制输入
该G代码必须要在设定坐标系之前,在程序中用独立程序段指定。一般机床出厂时,将公制输入G21设定为参数缺省状态。
公制与英制单位的换算关系为:
1mm≈0.0394in
1in≈25.4mm
④注意事项
a.在程序的执行过程中,不能在G20和G21指令之间切换。
b.当英制输入(G20)切换到公制(G21)或进行相互切换时,刀具补偿值必须根据最小输入增量单位在加工前设定(当机床参数No.5006 #0 为1时,刀具补偿值会自动转换而不必重新设定)。
(3)绝对值编程与增量值编程
①指令格式:G90
G91
②指令功能 G90和G91指令分别对应着绝对位置数据输入和增量位置数据输入。
③指令说明 G90 绝对值编程
G91 增量值编程
当使用G90 绝对值编程时,不管零件的坐标点在什么位置,该坐标点的X、Y、Z都是以坐标系的坐标原点为基准去计算。坐标的正负方向可以通过象限的正负方向去判断。
当使用G91增量值编程时,移动指令的坐标值X、Y、Z都是以上一个坐标终点为基准来计算的,也可以通俗地理解为刀具在这个动作中移动的距离。正负判定:当前点到终点的方向与坐标轴同向取正,反向则为负。
④应用举例
例如图1-3所示,刀具以A→B→C→A的走刀顺序快速移动,使用绝对坐标与增量坐标方式编程。
图1-3 使用绝对坐标与增量坐标方式编程
增量方式编程为:
G90 G54 G0 X0 Y0 Z0;刀具定位到编程原点
G91 G00 X20.Y10.; 从编程原点→A 点
X20.Y20.; 从A 点→B 点
X20.; 从B 点→C 点
X- 40 Y- 20; 从C 点→A 点
绝对坐标编程为:
G90 G54 G0 X0 Y0 Z0;刀具定位到编程原点
X20.Y10.; 刀具快速移动到A 点
X40.Y30.; 从A 点→B 点
X60.; 从B 点→C 点
X20.Y10.; 从C 点→A 点
(4)快速点定位G00
①指令格式:G00 X__Y__Z;
②指令功能 使刀具以点位控制的方式从刀具起始点快速移动到目标位置。
③指令说明 在G00的编程格式中X__Y__Z分别表示目标点的坐标值。G00的移动速度由机床参数设定,在机床操作面板上有一个快速修调倍率能够对移动速度进行百分比缩放。
④注意事项
a.因G00的移动速度非常快(根据机床的档次和性能不同,最高的G00速度也不尽相同,但一般普通中档机床也都会在每分钟十几米以上),所以G00 不能参与工件的切削加工,这是初学者经常会出现的加工事故,希望读者注意。
b.G00的运动轨迹不一定是两点一线,而有可能是一条折线(是直线插补定位还是非直线插补定位,由参数No.1401 第1位设置)。所以我们在定位时要考虑刀具在移动过程中是否会与工件、夹具干涉,我们可采用三轴不同段编程的方法去避免这种情况的发生。
即刀具从上往下移动时:
编程格式:G00 X__Y__;
Z__;
刀具从下往上移动时:
编程格式:Z__;
G00 X__Y__;
即刀具从上往下时,先在XY平面内定位,然后Z轴再下降或下刀;刀具从下往上时,Z轴先上提,然后再在XY平面内定位。
⑤应用举例
例如图1-4所示,刀具从A点快速移动至B点,使用绝对坐标与增量坐标方式编程。
图1-4 快速点定位G00
增量坐标方式:G91 G00 X30.Y20.;
绝对坐标方式:G90 G00 X40.Y30.;
(5)直线插补G01
①指令格式:G01 X__Y__Z__F__;
②指令功能 使刀具按进给指定的速度从当前点运动到指定点。
③指令说明 G01指令后的坐标值为直线的终点值坐标,G01与格式里面的每一个字母都是模态代码。
(6)圆弧插补指令G02、G03
①指令格式: ;
②指令功能 圆弧插补指令命令刀具在指定平面内按给定的进给速度F做圆弧运动,切削出圆弧轮廓。
③指令说明
a.G02、G03的判断 圆弧插补指令分为顺时针圆弧插补指令(G02)和逆时针圆弧插补指令(G03)。判断方法为:沿着刀具的进给方向,圆弧段为顺时针的为G02,逆时针则为G03;如图1-5所示,刀具以A→B→C→D顺序进给加工时,BC圆弧段因为是顺时针,故是G02;CD圆弧段则为逆时针,故为G03;假使现在进给方向从D→C→B→A这样的进给路线,那么两圆弧的顺逆都将颠倒一下,所以在判断时必须牢记沿进给方向去综合判断。
图1-5 G02、G03的判断
b.G02/G03的编程格式
ⅰ.用圆弧半径编程
这种格式在平时的圆弧编程中最为常见,也较容易理解,只需按格式指定圆弧的终点和圆弧半径R即可。格式中的R有正负之分,当圆弧小于等于半圆(180°)时取+R,“+”在编程中可以省略不写;当圆弧大于半圆(180°)小于整圆(360°)时R应写为“-R”。
应用举例:
如图1-5所示,各点坐标为A(0,0)、B(20,0)、C(40,20)、D(55,30)。轮廓的参考程序如下。
G90 G54 G0 X0 Y0 M03 S800; 定位到A 点
G01 X20.F200; 从A点进给移动到B点
G02 X40.Y20.R20.; 走圆弧BC
G03 X55.Y30.R- 35.; 走圆弧CD
注意:圆弧半径R编程不能加工整圆。
ⅱ.用I、J、K编程
这种编程方法一般用于整圆加工。
在格式中的I、J、K分别为X、Y、Z方向相对于圆心之间的距离(矢量),X方向用I表示,Y方向用J表示,Z方向用K表示(但在G17平面上编程K均为0)。I、J、K的正负可以这样去判断:刀具停留在轴的负方向,往正方向进给,也就是与坐标轴同向,那么就取正值,反之则为负。
应用举例:
加工如图1-6所示的圆弧型腔,参考程序如下。
图1-6 圆弧型腔
O001;
N10 G90 G54 G0 X0 Y0 Z30.M03 S800; 刀具快速定位到圆的中心点
N20 Z3.; 刀具接近工件表面
N30 G01 Z-5.F100; 下刀
N40 Y-25.F200; 刀具移动到圆弧的起点处A点
N50 G02 J25.; 因加工整圆时起点等于终点值坐标,故X、Y值可以省略不写。又因刀具是移动到Y轴线上,圆弧的起点A点相对于圆心距离是25,而且是刀具停在Y轴的负方向上,往正方向走,所以是J25.
N60 G01 X0 Y0; 刀具进给移回到圆心点,必须使用G01,因为圆的中间部分还有残料
N70 G0 Z30.; 快速抬刀
N80 M30; 程序结束并返回到程序头
小技巧:在加工整圆时,一般把刀具定位到中心点,下刀后移动到X轴或Y轴的轴线上,这样就有一根轴是0,便于编程。
(7)刀具半径补偿指令G41、G42、G40
①指令格式:G01(G00) X__Y__D__(F__);
…
…
G40 G01(G00)X__Y__(F__);
②指令功能 使用了刀具半径补偿后,编程时不需再计算刀具中心的运动轨迹,只需按零件轮廓编程。操作时还可以用同一个加工程序,通过改变刀具半径的偏移量,对零件轮廓进行粗、精加工。
③指令说明
a.G41为刀具半径左补偿,定义为假设工件不动,沿着刀具运动(进给)方向向前看,刀具在零件左侧的刀具半径补偿,如图1-7所示;G42为刀具半径右补偿,定义为假设工件不动,沿刀具运动方向向前看,刀具在零件右侧的刀具半径补偿,如图1-8所示。
图1-7 刀具半径补偿1
图1-8 刀具半径补偿2
b.在进行刀具半径补偿时必须要有该平面的轴移动,(例在G17平面上建立刀补则必须要有XY轴的移动)而且移动量必须要大于刀具半径补偿值,否则机床将无法正常加工。
c.在执行G41、G42及G40指令时,其移动指令只能用G01或G00,而不能用G02或G03。
d.当刀补数据为负值时,则G41、G42功效互换。
e.G41、G42指令不能重复指定,否则会产生特殊状况。
f.G40、G41、G42都是模态代码。
g.在建立刀具半径补偿时,如果在3段程序中没有该平面的轴移动(如在建刀补后加了暂停、子程序名、M99返回主程序、第三轴移动等),就会产生过切。
④应用举例
加工图1-9所示零件,参考程序如下。
图1-9 刀具半径补偿应用
O0001;
G90 G55 G0 X-80.Y-80.;
S1500 M3;
G0 Z10.;
G01 Z-10.F100;
G41 X-50.D01 F200;
X-35.;
Y35.;
X35.;
Y-35.;
X-80.;
G0 Z3;
G40 X0 Y0;
G01 Z-10.F100;
G41 X0.Y-10.D02 F200;
Y-15.;
X17.;
G3 X25.Y-7.R8.;
G1 Y7.;
G3 X17.Y15.R8.;
G1 X-17.;
G3 X-25.Y7.R8.;
G1 Y-7.;
G3 X-17Y-15R8.;
G1 X10.;
G40 X0 Y0;
G0 Z5;
M30;
(8)刀具长度补偿指令G43、G44、G49
①指令格式 Z__H__;
…
G49 Z0;
②指令功能 当使用不同类型及规格的刀具或刀具磨损时,可在程序中使用刀具长度补偿指令补偿刀具尺寸的变化,而不需要重新调整刀具或重新对刀。
③指令说明 G43表示刀具长度正补偿;G44指令表示刀具长度负补偿;G49指令表示取消刀具长度补偿。
如图1-10所示,T1为基准刀。T2比T1长了50,那么就可以使用G43刀具长度正补偿把刀具往上提到与T1相同位置,具体操作为在程序开头加G43 Z100.H01,再在OFFSET偏置页面找到“01”位置,在H长度里面输入50; T3比T1短了80,使用G44刀具长度负补偿把刀具往下拉一段距离,让其与基准刀T1相等,具体操作与G43相同。
图1-10 刀具长度补偿G43、G44
H指令对应的偏置量在设置时可以为“+”、也可以为“-”,使用负值时G43、G44功能互换。在平时的生产加工中,一般只用一个G43,然后在偏置里面加正负值。
在撤销刀具长度补偿时,切勿采用单独的G49格式,否则容易产生撞刀现象。
(9)子程序调用指令
①指令格式:M98 P△△△ □□□□ O□□□□
… …
M30; M99;
②指令功能 某些被加工的零件中,常会出现几何尺寸形状相同的加工轨迹,为了简化程序可以把这些重复的内容抽出,编制成一个独立的程序即为子程序,然后像主程序一样将它作为一个单独的程序输入到机床中。加工到相同的加工轨迹时,在主程序中使用M98调用指令调用这些子程序。
③指令说明 M98 P△△△ □□□□,M98表示调用子程序,P后面跟七位数字(完整情况下,可按规定省略)。前三位表示调用该子程序的次数,后四位表示被调用的子程序名。
例如:M98 P0030082 表示调用O0082号子程序3次;M98P82 当调用次数为一次时可以省略前置零。
子程序的编写与一般程序基本相同,只是程序用M99(子程序结束并返回到主程序)结束。
子程序再调用子程序这种情况叫嵌套,如图1-11所示。根据每个数控系统的强弱也不尽相同,FANUC 可以嵌套4层。
图1-11 子程序嵌套
小技巧:在使用子程序时,最关键的一个问题,就是主程序与子程序的衔接,应该知道刀每一步为什么要这样走,以达到程序精简正确。这也是新手在学习数控时需要不断提升的部分。
(10)坐标系旋转指令G68、G69
①指令格式:G68 X__ Y__ R__;
…
G69;
②指令功能 用该功能可将工件放置某一指定角度。另外,如果工件的形状由许多相同的图形组成,则可将图形单元编成子程序,然后再结合旋转指令调用,以达到简化程序、减少节点计算的目的。
③指令说明 G68表示旋转功能打开,X__Y__表示旋转的中心点,坐标轴并不移动。R__旋转的角度,逆时针为正,顺时针为负。G69指令表示取消旋转。
④应用举例 加工图1-12实线所示方框,参考程序如下。
O0001;
G90 G40 G49; 取消模态指令,使机床处于初始状态
G68 X0 Y0 R30.; 打开旋转指令
G0X-65.Y-25.M3 S1200; 刀具定位(上一步虽有X、Y但含义不同,刀具未移动)
G43 H01 Z100.; 使用刀具长度补偿并定位到Z 100的地方
Z30.; 确认工件坐标系
Z5.; 接近工件表面
G01 Z-2.F100; 下刀
G41 X-25.D01 F200; 建立刀具半径补偿
Y15.;
X25.;
Y-15.;
X-65.F300;
G0 Z30.; 抬刀
G69 G40; 取消旋转和刀具半径补偿
G91 G30 Z0 Y0; 机床快速退回到Z的第二参考点,Y轴退到机床零点,以便于测量
M30; 程序结束
图1-12 坐标系旋转指令
小技巧:可以使用旋转指令旋转180°替代镜像指令,而且要比镜像指令更加简便好用。