G代码组和含义详细讲解.docx
《G代码组和含义详细讲解.docx》由会员分享,可在线阅读,更多相关《G代码组和含义详细讲解.docx(28页珍藏版)》请在冰豆网上搜索。
G代码组和含义详细讲解
代码组及其含义
“模态代码”和“一般”代码
“模态代码”的功能在它被执行后会继续维持,而“一般代码”仅仅在收到该命令时起作用。
定义移动的代码通常是“模态代码”,像直线、圆弧和循环代码。
反之,像原点返回代码就叫“一般代码”。
每一个代码都归属其各自的代码组。
在“模态代码”里,当前的代码会被加载的同组代码替换。
G代码
组别
解释
G00
1
定位(快速移动)
G01
直线切削
G02
顺时针切圆弧
G03
逆时针切圆弧
G04
0
暂停
G17
2
XY面赋值
G18
XZ面赋值
G19
YZ面赋值
G28
0
机床返回原点
G30
机床返回第2和第3原点
*G40
7
取消刀具直径偏移
G41
刀具直径左偏移
G42
刀具直径右偏移
*G43
8
刀具长度+方向偏移
*G44
刀具长度-方向偏移
G49
取消刀具长度偏移
*G53
14
机床坐标系选择
G54
工件坐标系1选择
G55
工件坐标系2选择
G56
工件坐标系3选择
G57
工件坐标系4选择
G58
工件坐标系5选择
G59
工件坐标系6选择
G73
9
高速深孔钻削循环
G74
左螺旋切削循环
G76
精镗孔循环
*G80
取消固定循环
G81
中心钻循环
G82
反镗孔循环
G83
深孔钻削循环
G84
右螺旋切削循环
G85
镗孔循环
G86
镗孔循环
G87
反向镗孔循环
G88
镗孔循环
G89
镗孔循环
*G90
3
使用绝对值命令
G91
使用增量值命令
G92
0
设置工件坐标系
*G98
10
固定循环返回起始点
*G99
返回固定循环R点
代码解释
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”可以省略。
偏移值指定要求。
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点到孔底的距离
R_:
从初始位置到R点的距离
F_:
切削进给速度
K_:
重复次数
2.功能
G81命令可用于一般的孔加工。
G82 钻孔循环(G82)
1.格式
G82X_Y_Z_R_P_F_K_;
X_Y:
孔位数据
Z_:
从R点到孔底的距离
R_:
从初始位置到R点的距离
P_:
在孔底的暂停时间
F_:
切削进给速度
K_:
重复次数
2.功能
G82钻孔循环,反镗孔循环
G83 排屑钻空循环(G83)
1.格式
G83X_Y_Z_R_Q_F_K_;
X_Y:
孔位数据
Z_:
从R点到孔底的距离
R_:
从初始位置到R点的距离
Q_:
每次切削进给的切削深度F_:
切削进给速度
K_:
重复次数
2.功能
G83中间进给孔底快速退刀。
G84 攻牙循环(G84)
1.格式
G84X_Y_Z_R_P_F_K_;
X_Y:
孔位数据
Z_:
从R点到孔底的距离
R_:
从初始位置到R点的距离
P_:
暂停时间F_:
切削进给速度
K_:
重复次数
2.功能
G84进给孔底主轴反转快速退刀。
G85 镗孔循环(G85)
1.格式
G85X_Y_Z_R_F_K_;
X_Y:
孔位数据
Z_:
从R点到孔底的距离
R_:
从初始位置到R点的距离
F_:
切削进给速度
K_:
重复次数
2.功能
G85中间进给孔底快速退刀。
G86 定点钻孔循环(G86)
1.格式
G86X_Y_Z_R_F_L_;
X_Y:
孔位数据
Z_:
从R点到孔底的距离
R_:
从初始位置到R点的距离
F_:
切削进给速度
K_:
重复次数
2.功能
G86进给孔底主轴停止快速退刀。
G87 反镗孔循环(G81)
1.格式
G87X_Y_Z_R_Q_P_F_L_;
X_Y:
孔位数据
Z_:
从R点到孔底的距离
R_:
从初始位置到R点的距离
Q_:
刀具偏移量
P_:
暂停时间
F_:
切削进给速度
K_:
重复次数
2.功能
G87进给孔底主轴正转快速退刀。
G88 定点钻孔循环(G88)
1.格式
G88X_Y_Z_R_P_F_L_;
X_Y:
孔位数据
Z_:
从R点到孔底的距离
R_:
从初始位置到R点的距离
P_:
孔底的暂停时间
F_:
切削进给速度
K_:
重复次数
2.功能
G88进给孔底暂停,主轴停止快速退刀。
G89 镗孔循环(G89)
1.格式
G89X_Y_Z_R_P_F_L_;
X_Y:
孔位数据
Z_:
从R点到孔底的距离
R_:
从初始位置到R点的距离
P_:
孔底的停刀时间
F_:
切削进给速度
K_:
重复次数
2.功能
G89进给孔底暂停快速退刀。
G90/G91 绝对命令/增量命令(G90/G91)
此命令设定指令中的X,Y和Z坐标是绝对值还是相对值,不论它们原来是绝对命令还是增量命令。
含有G90命令的程序块和在它以后的程序块都由绝对命令赋值;而带G91命令及其后的程序块都用增量命令赋值。