加工中心G代码命令.docx
《加工中心G代码命令.docx》由会员分享,可在线阅读,更多相关《加工中心G代码命令.docx(53页珍藏版)》请在冰豆网上搜索。
加工中心G代码命令
加工中心G代码命令
———————————————————————————————— 作者:
————————————————————————————————日期:
ﻩ
G代码命令
代码组及其含义
“模态代码”和“一般”代码
“形式代码”的功能在它被执行后会继续维持,而“一般代码”仅仅在收到该命令时起作用。
定义移动的代码通常是“模态代码”,像直线、圆弧和循环代码。
反之,像原点返回代码就叫“一般代码”。
每一个代码都归属其各自的代码组。
在“模态代码”里,当前的代码会被加载的同组代码替换。
G代码
组别
解释
G00
01
定位(快速移动)
G01
直线切削
G02
顺时针切圆弧
G03
逆时针切圆弧
G04
00
暂停
G15
02
极坐标指令
G16
G17
XY面赋值
G18
XZ面赋值
G19
YZ面赋值
G28
00
机床返回原点
G30
机床返回第2和第3原点
*G40
07
取消刀具直径偏移
G41
刀具直径左偏移
G42
刀具直径右偏移
*G43
08
刀具长度+方向偏移
*G44
刀具长度-方向偏移
G49
取消刀具长度偏移
G50/G51
14
比例缩放
G68/G69
坐标系选择
*G53
机床坐标系选择
G54
工件坐标系1选择
G55
工件坐标系2选择
G56
工件坐标系3选择
G57
工件坐标系4选择
G58
工件坐标系5选择
G59
工件坐标系6选择
G73
09
高速深孔钻削循环
G74
左螺旋切削循环
G76
精镗孔循环
*G80
取消固定循环
G81
中心钻循环
G82
反镗孔循环
G83
深孔钻削循环
G84
右螺旋切削循环
G85
镗孔循环
G86
镗孔循环
G87
反向镗孔循环
G88
镗孔循环
G89
镗孔循环
*G90
03
使用绝对值命令
G91
使用增量值命令
G92
00
设置工件坐标系
*G98
10
返回点平面
*G99
返回点平面
代码解释
G00 定位
1.格式
G00X_Y_Z_
这个命令把刀具从当前位置移动到命令指定的位置(在绝对坐标方式下),或者移动到某个距离处(在增量坐标方式下)。
2.非直线切削形式的定位
我们的定义是:
采用独立的快速移动速率来决定每一个轴的位置。
刀具路径不是直线,根据到达的顺序,机器轴依次停止在命令指定的位置。
3.直线定位
刀具路径类似直线切削(G01)那样,以最短的时间(不超过每一个轴快速移动速率)定位于要求的位置。
4.举例
N10G0X100Y100Z65
G01 直线切削进程
1.格式
G01X_Y_Z_F_
这个命令将刀具以直线形式按F代码指定的速率从它的当前位置移动到命令要求的位置。
对于省略的坐标轴,不执行移动操作;而只有指定轴执行直线移动。
位移速率是由命令中指定的轴的速率的复合速率。
2.举例
G01G90X50.F100;
或
G01G91X30.F100;
G01G90X50.Y30.F100;
或
G01G91X30.Y15.Z0F100;
G01G90X50.Y30.Z15.F100;
G02/G03
G17/G18/G19 圆弧切削(G02/G03,G17/G18/G19)
1.格式
圆弧在XY面上
G17G02(G03)G90(G91)X_Y_F_;
或
G17G02(G03)G90(G91)I_J_F_;
或
G17G02(G03)G90(G91)R_F_;
圆弧在XZ面上
G18G02(G03)G90(G91)X_Z_F_;
或
G18G02(G03)G90(G91)I_K_F_;
或
G18G02(G03)G90(G91)R_F_;
圆弧在YZ面上
G19G02(G03)G90(G91)Y_Z_F_;
或
G19G02(G03)G90(G91)J_K_F_;
或
G19G02(G03)G90(G91)R_F_;
圆弧所在的平面用G17,G18和G19命令来指定。
但是,只要已经在先前的程序块里定义了这些命令,也能够省略。
圆弧的回转方向像下图表示那样,由G02/G03来指定。
在圆弧回转方向指定后,指派切削终点坐标。
G90是指定在绝对坐标方式下使用此命令;而G91是在指定在增量坐标方式下使用此命令。
另外,如果G90/G91已经在先前程序块里给出过,可以省略。
圆弧的终点用包含在命令施加的平面里的两个轴的坐标值指定(例如,在XY平面里,G17用X,Y坐标值)。
终点坐标能够像G00和G01命令一样地设置。
圆弧中心的位置或者其半径应当在设定圆弧终点之后设置。
圆弧中心设置为从圆弧起点的相对距离,并且对应于X,Y和Z轴表示为I,J和K。
圆弧起点坐标值减去圆弧中心对应的坐标值得到的结果对应分配给I、J、K。
2.举例
圆弧起点的X坐标值------------30.
圆弧中心的X坐标值------------10.
因此,“I”就是20.(10-30=20)
圆弧起点的Y坐标值------------10.
圆弧中心的Y坐标值------------5.
因此,“J”就是5.(10–5=5)
结果,这个情况下圆弧命令如下所列:
G17G03G90X5.Y25.I-20.J-5.;
或者,
G17G03G91X-25.Y15.I-20.J-5.;
因为圆弧半径通常是已给了的,也能够用圆弧半径给命令赋值。
在已给的例子里,圆弧半径是20.616。
因此,该命令能够如下表示:
G17G03G90X5.Y25.R20.616.;
或者,
G17G03G91X-25.Y15.R20.616;
注意1)把圆弧中心设置为“I”,“J”和“K”时,必须设置为圆弧起点到圆弧中心的增量值(增量命令).
注意2)命令里的“I0”,“J0”和“K0”可以省略。
偏移值指定要求。
G15/G16极坐标指令
G15/G16极坐标指令
坐标值可以用极坐标(半径和角度)输入。
角度的正向是所选平面的第1轴正向的逆时针转向,而负向是顺时针转向。
半径和角度两者可以用绝对值指令或增量值指令(G90,G91)
用绝对值指令指定角度和半径
N1G17G90G16
指定极坐标指令和选择XY平面,设定工件坐标系的零点作为极坐标系的原点。
N2G81X100.0Y30.0Z-20.0R-5.0F200.0
指定100mm的距离和30度的角度
N3Y150.0
指定100mm的距离和150度的角度
N4Y270.0
指定100mm的距离和270度的角度
N5G15G80
取消极坐标指令
用增量值指令角度,用绝对值指令极径
N1G17G90G16
指定极坐标之林和和选择XY平面,设定工件坐标系的零点作为极坐标的原点
N2G81X100.0Y30.0Z-20.0R-5.0F200.0
指定100mm的距离和30度的角度
N3G91Y120.0
指定100mm的距离和+120度的角度增量
N4Y120.0
指定100mm的距离和+120度的角度增量
N5G15G80
取消极坐标指令
G28/G30 自动原点返回(G28,G30)
1.格式
第一原点返回:
G28G90(G91)X_Y_Z_;
第二、三和四原点返回:
G30G90 (G91)P2(P3,P4) X_Y_Z_;
#P2,P3,P4:
选择第二、第三和第四原点返回
(如果被省略,系统自动选择第二原点返回)
由X,Y和Z设定的位置叫做中间点。
机床先移动到这个点,而后回归原点。
省略了中间点的轴不移动;只有在命令里指派了中间点的轴执行其原点返回命令。
在执行原点返回命令时,每一个轴是独立执行的,这就像快速移动命令(G00)一样;通常刀具路径不是直线。
因此,要求对每一个轴设置中间点,以免机床在原点返回时与工件碰撞等意外发生。
2.举例
G28(G30)G90X150.Y200.;
或者,
G28(G30)G91X100.Y150.;
注意:
在所给例子里,去中间点的移动就像下面的快速移动命令一样。
G00G90X150.Y200.;
或者
G00G91X100.Y150.;
如果中介点与当前的刀具位置一致(例如,发出的命令是-G28G91X0Y0Z0;),机床就从其当前位置返回原点。
如果是在单程序块方式下运行,机床就会停在中间点;当中间点与当前位置一致,它也会暂时停在中间点(即,当前位置)。
G40/G41/G42 刀具直径偏置功能(G40/G41/G42)
1.格式
G41X_Y_;
G42X_Y_;
当处理工件(“A”)时,就像下图所示,刀具路径(“B”)是基本路径,与工件(“A”)的距离至少为该刀具直径的一半。
此处,路径“B”叫做由A经R补偿的路径。
因此,刀具直径偏置功能自动地由编程给出的路径A以及由分开设置的刀具偏置值,计算出补偿了的路径B。
就是说,用户能够根据工件形状编制加工程序,同时不必考虑刀具直径。
因此,在真正切削之前把刀具直径指派为刀具偏置值;用户能够获得精确的切削结果,就是因为系统本身计算了精确的补偿了的路径。
在编程时用户只要插入偏置向量的方向(举例说,G41:
左侧,G42:
右侧)和偏置内存地址(例如,D2:
在“D”后面是从01到32的两位数字)。
所以用户只要输入偏移内存号码D(根据MDI),只不
过是由精确计算刀具直径得出的半径。
2.偏置功能
G40:
取消刀具直径偏置
G41:
偏置在刀具行进方向的左侧
G42:
偏置在刀具行进方向的右侧
G43/G44/G49 刀具长度偏置(G43/G44/G49)
1.格式
G43Z_H_;
G44Z_H_;
G49Z_;
2.偏置功能
首先用一把铣刀作为基准刀,并且利用工件坐标系的Z轴,把它定位在工件表面上,其位置设置为Z0。
(☼见G92:
坐标系设置)
请记住,如果程序所用的刀具较短,那么在加工时刀具不可能接触到工件,即便机床移动到位置Z0。
反之,如果刀具比基准刀具长,有可能引起与工件碰撞损坏机床。
为了防止出现这种情况,把每一把刀具与基准刀具的相对长度差输入到刀具偏置内存,并且在程序里让NC机床执行刀具长度偏置功能。
G43:
把指定的刀具偏置值加到命令的Z坐标值上。
G44:
把指定的刀具偏置值从命令的Z坐标值上减去。
G49:
取消刀具偏置值。
在设置偏置的长度时,使用正/负号。
如果改变了(+/-)符号,G43和G44在执行时会反向操作。
因此,该命令有各种不同的表达方式。
举例说:
首先,遵循下列步骤度量刀具长度。
1.把工件放在工作台面上。
2.调整基准刀具轴线,使它接近工件表面上。
3.更换上要度量的刀具;把该刀具的前端调整到工件表面上。
4.此时Z轴的相对坐标系的坐标作为刀具偏置值输入内存。
通过这么操作,如果刀具短于基准刀具时偏置值被设置为负值;如果长于基准刀具则为正值。
因此,在编程时仅有G43命令允许您做刀具长度偏置。
3.举例
G00ZO;
G00G43Z0H01;
G00G43Z0H03;
或者
G00G44Z0H02;
或者
G00G44Z0H02;
G43,G44或G49命令一旦被发出,它们的功效会保持着,因为它们是“模态命令”。
因此,G43或G44命令在程序里紧跟在刀具更换之后一旦被发出;那么G49命令可能在该刀具作业结束,更换刀具之前发出。
注意1)在用G43(G44)H或者用G49命令的指派来省略Z轴移动命令时,,偏置操作就会像G00G91Z0命令指派的那样执行。
也就是说,用户应当时常小心谨慎,因为它就像有刀具长度偏置值那样移动。
注意2)用户除了能够用G49命令来取消刀具长度补偿,还能够用偏置号码H0的设置(G43/G44H0)来获得同样效果。
注意3)若在刀具长度补偿期间修改偏置号码,先前设置的偏置值会被新近赋予的偏置值替换。
标系就被取消。
以上命令也能够用于取消局部坐标系。
注意
(1)当用户执行手动原点返回时,局部坐标系执行原点返回的轴的原点与工件坐标系就等同了。
也就是说,这个操作与[G52a0;]命令一样(a:
是执行原点返回进程的那个轴)。
注意
(2)即便已经设置了局部坐标,工件坐标系或者机床坐标系不会被改变。
注意(3)工件坐标系是用G92命令设置的。
如果各个坐标值未设置,局部坐标系里未给坐标值的轴将被设置成先前各轴一样的值。
注意(4)在刀具直径偏置方式下,用G52命令来暂时取消该偏置功能。
注意(5)当移动命令紧跟在G52程序块功能之后发出时,通常必须采用绝对命令。
G53 选择机床坐标系(G53)
1.格式
(G90)G53X_Y_Z_;
2.功能
刀具根据这个命令执行快速移动到机床坐标系里的X_Y_Z位置。
由于G53是“一般”G代码命令,仅仅在程序块里有G53命令的地方起作用。
此外,它在绝对命令(G90)里有效,在增量命令里(G91)无效。
为了把刀具移动到机床固有的位置,像换刀位置,程序应当用G53命令在机床坐标系里开发。
注意
(1)刀具直径偏置、刀具长度偏置和刀具位置偏置应当在它的G53命令指派之前提前取消。
否则,机床将依照指派的偏置值移动。
注意
(2)在执行G53指令之前,必须手动或者用G28命令让机床返回原点。
这是因为机床坐标系必须在G53命令发出之前设定。
G54-G59 工件坐标系选择(G54-G59)
1.格式
G54X_Y_Z_;
2.功能
通过使用G54–G59命令,来将机床坐标系的一个任意点(工件原点偏移值)赋予1221–1226的参数,并设置工件坐标系(1-6)。
该参数与G代码要相对应如下:
工件坐标系1(G54)---工件原点返回偏移值---参数1221
工件坐标系2(G55)---工件原点返回偏移值---参数1222
工件坐标系3(G56)---工件原点返回偏移值---参数1223
工件坐标系4(G57)---工件原点返回偏移值---参数1224
工件坐标系5(G58)---工件原点返回偏移值---参数1225
工件坐标系6(G59)---工件原点返回偏移值---参数1226
在接通电源和完成了原点返回后,系统自动选择工件坐标系1(G54)。
在有“模态”命令对这些坐标做出改变之前,它们将保持其有效性。
除了这些设置步骤外,系统中还有一参数可立刻变更G54~G59的参数。
工件外部的原点偏置值能够用1220号参数来传递。
G73 高速深孔钻削循环(G73)
1.格式
G73X__Y__Z__R__Q__P__F__K__
X_Y:
孔位数据
Z_:
从R点到孔底的距离
R_:
从初始位置到R点的距离
Q_:
每次切削进给的切削深度
P_:
暂停时间
F_:
切削进给速度
K_:
重复次数
2.功能
进给孔底快速退刀。
G74 左螺旋切削循环(G74)
1.格式
G74X__Y__Z__R__Q__P__F__K__
X_Y:
孔位数据
Z_:
从R点到孔底的距离
R_:
从初始位置到R点的距离
Q_:
每次切削进给的切削深度
P_:
暂停时间
F_:
切削进给速度
K_:
重复次数
2.功能
进给孔底主轴暂停正转快速退刀。
G76 精镗孔循环(G76)
1.格式
G76X__Y__Z__R__Q__P__F__K__
X_Y:
孔位数据
Z_:
从R点到孔底的距离
R_:
从初始位置到R点的距离
Q_:
每次切削进给的切削深度
P_:
暂停时间
F_:
切削进给速度
K_:
重复次数
2.功能
进给孔底主轴定位停止快速退刀。
G80 取消固定循环进程(G80)
1.格式
G80;
2.功能
这个命令取消固定循环方式,机床回到执行正常操作状态。
孔的加工数据,包括R点,Z点等等,都被取消;但是移动速率命令会继续有效。
(注)要取消固定循环方式,用户除了发出G80命令之外,还能够用G代码01组(G00,G01,G02,G03等等)中的任意一个命令。
G81 定点钻孔循环(G81)
1.格式
G81X_Y_Z_R_F_K_;
X_Y:
孔位数据
Z_:
孔底深度(绝对坐标)
R_:
每次下刀点或抬刀点(绝对坐标)
F_:
切削进给速度
K_:
重复次数(如果需要的话)
2.功能
G81命令可用于一般的孔加工。
G82 钻孔循环(G82)
1.格式
G82X_Y_Z_R_P_F_K_;
X_Y:
孔位数据
Z_:
孔底深度(绝对坐标)
R_:
每次下刀点或抬刀点(绝对坐标)
P_:
在孔底的暂停时间(单位:
毫秒)
F_:
切削进给速度
K_:
重复次数(如果需要的话)
2.功能
G82钻孔循环,反镗孔循环
G83 深孔钻削循环(G83)
1.格式
G83X_Y_Z_R_Q_F_K_;
X_Y:
孔位数据
Z_:
孔底深度(绝对坐标)
R_:
每次下刀点或抬刀点(绝对坐标)
Q_:
每次切削进给的切削深度
F_:
切削进给速度
K_:
重复次数
2.功能
G83中间进给孔底快速退刀。
G84 攻丝循环(G84)
1.格式
G84X_Y_Z_R_P_F_K_;
X_Y:
孔位数据
Z_:
孔底深度(绝对坐标)
R_:
每次下刀点或抬刀点(绝对坐标)
P_:
暂停时间
F_:
切削进给速度
K_:
重复次数
2.功能
主轴顺时针旋转执行攻丝,当到达孔底时,为了回退,主轴以相反方向旋转,这个过程生成螺纹。
在攻丝期间进给倍率被忽略,进给暂停不停止机床,直到返回动作完成。
在指定G84之前,用辅助功能使主轴旋转。
当G84指令和M代码在同一个程序段中指定时,在执行第一个定位动作的同时,执行到R点的同时加偏置。
G84进给孔底主轴反转快速退刀。
G85 镗孔循环(G85)
1.格式
G85X_Y_Z_R_F_K_;
X_Y:
孔位数据
Z_:
孔底深度(绝对坐标)
R_:
每次下刀点或抬刀点(绝对坐标)
F_:
切削进给速度
K_:
重复次数
2.功能
G85中间进给孔底快速退刀。
G86 镗孔循环(G86)
1.格式
G86X_Y_Z_R_F_L_;
X_Y:
孔位数据
Z_:
孔底深度(绝对坐标)
R_:
每次下刀点或抬刀点(绝对坐标)
F_:
切削进给速度
K_:
重复次数
2.功能
G86进给孔底主轴停止快速退刀。
例:
N005G80G90G0X0Y0M06T1;换?
20镗刀
N010G55;调用G55工件坐标系
N020M03S1000
N030G43H1Z50;调用长度补偿
N040G86Z-30R1F200;镗孔循环
N050G80G0Z50;取消固定循环?
?
?
N060M05
N070M30
G87 反镗孔循环(G87)
1.格式
G87X_Y_Z_R_Q_P_F_K_;
X_Y:
孔位数据
Z_:
孔底深度(绝对坐标)
R_:
每次下刀点或抬刀点(绝对坐标)
Q_:
刀具偏移量
P_:
暂停时间
F_:
切削进给速度
K_:
重复次数
2.功能
G87进给孔底主轴正转快速退刀。
例:
N005G80G90G0X0Y0M06T1;换20镗刀
N010G55;调用G55工件坐标系
N020M03S1000
N030G43H1Z50;调用长度补偿
N040G87Z-30R1Q2P2000F200;反镗孔循环
N050G80G0Z50;取消固定循环
N060M05
N070M30
G88 镗孔循环(G88)
1.格式
G88X_Y_Z_R_P_F_K_;
X_Y:
孔位数据
Z_:
孔底深度(绝对坐标)
R_:
每次下刀点或抬刀点(绝对坐标)
P_:
孔底的暂停时间
F_:
切削进给速度
K_:
重复次数
2.功能
说明:
沿着X和Y轴定位以后,快速移动到R点,然后,从R点到Z点执行镗孔,当镗孔完成后,执行暂停,然后主轴停止。
刀具从孔底手动返回到R点,在R点,主轴正转,并且执行快速移动到初始位置。
在指定G88之前,用辅助功能旋转主轴。
当G88指令和M代码在同一程序段中指定时,在第一个定位动作的同时执行M代码,然后,系统处理下一个镗孔动作。
当指定重复次数K时,只对第一个孔执行M代码,对第二或以后的孔,不执行M代码。
对第二或以后的孔,不执行M代码。
当在固定循环中指定刀具长度偏置(G43/G44或G49)时,在定位到R点的同时加偏置。
限制
轴切换?
?
必须在切换镗孔轴之前取消固定循环
镗加工?
?
在不包含X.Y.Z或任何其它轴的程序段中,不执行镗加工。
P?
?
?
?
?
?
?
在执行镗孔加工的程序段中指定P,如果在不执行镗孔加工的程序段中指定,P不能作为模态数据被贮存。
取消?
?
?
?
不能在同一程序段中指定01和G代码和G88,否则G88将被取消。
刀具偏置?
在固定循环方式中,刀具偏置被忽略。
G89 镗孔循环(G89)
1.格式
G89X_Y_Z_R_P_F_L_;
X_Y:
孔位数据
Z_:
孔底深