前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

CNC加工中心G代码最详细的解说(cnc加工中心常用g代码大全)

qiguaw 2024-11-15 23:31:33 资源文章 128 ℃ 0 评论

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.格式

G00 X_ Y_ Z_

这个命令把刀具从当前位置移动到命令指定的位置 (在绝对坐标方式下), 或者移动到某个距离处 (在增量坐标方式下)

2.非直线切削形式的定位

我们的定义是:采用独立的快速移动速率来决定每一个轴的位置。刀具路径不是直线,根据到达的顺序,机器轴依次停止在命令指定的位置。

3.直线定位

刀具路径类似直线切削(G01) 那样,以最短的时间(不超过每一个轴快速移动速率)定位于要求的位置。

4.举例

N10 G0 X100 Y100Z65

G01 直线切削进程

1.格式

G01 X_ Y_ Z_F_

这个命令将刀具以直线形式按F代码指定的速率从它的当前位置移动到命令要求的位置。对于省略的坐标轴,不执行移动操作;而只有指定轴执行直线移动。位移速率是由命令中指定的轴的速率的复合速率。

2.举例

G01 G90 X50.F100;

G01 G91 X30.F100;

G01 G90 X50. Y30.F100;

G01 G91 X30. Y15.Z0 F100;

G01 G90 X50. Y30.Z15. F100;

G02/G03

G17/G18/G19 圆弧切削 (G02/G03,G17/G18/G19)

1.格式

圆弧在 XY 面上

G17 G02 ( G03 ) G90( G91 ) X_ Y_ F_;

G17 G02 ( G03 ) G90( G91 ) I_ J_ F_;

G17 G02 ( G03 ) G90( G91 ) R_ F_;

圆弧在 XZ 面上

G18 G02 ( G03 ) G90( G91 ) X_ Z_ F_;

G18 G02 ( G03 ) G90( G91 ) I_ K_ F_;

G18 G02 ( G03 ) G90( G91 ) R_ F_;

圆弧在 YZ 面上

G19 G02 ( G03 ) G90( G91 ) Y_ Z_ F_;

G19 G02 ( G03 ) G90( G91 ) J_ K_ F_;

G19 G02 ( G03 ) G90( G91 ) R_ F_;

圆弧所在的平面用G17, G18 G19命令来指定。但是,只要已经在先前的程序块里定义了这些命令,也能够省略。圆弧的回转方向像下图表示那样,由 G02/G03来指定。在圆弧回转方向指定后,指派切削终点坐标。 G90 是指定在绝对坐标方式下使用此命令;而 G91 是在指定在增量坐标方式下使用此命令。另外,如果G90/G91已经在先前程序块里给出过,可以省略。圆弧的终点用包含在命令施加的平面里的两个轴的坐标值指定 ( 例如,在 XY平面里,G17 X, Y 坐标值 ) 。 终点坐标能够像 G00 G01 命令一样地设置。圆弧中心的位置或者其半径应当在设定圆弧终点之后设置。圆弧中心设置为从圆弧起点的相对距离,并且对应于 XY Z 轴表示为 I, J K。圆弧起点坐标值减去圆弧中心对应的坐标值得到的结果对应分配给 IJK

2.举例

圆弧起点的 X 坐标值 ------------ 30.

圆弧中心的 X 坐标值 ------------ 10.

因此,“I” 就是 20. (10 - 30 = 20)

圆弧起点的 Y 坐标值 ------------ 10.

圆弧中心的 Y 坐标值 ------------ 5.

因此,“J” 就是 5. (10 5 =5)

结果,这个情况下圆弧命令如下所列:

G17 G03 G90 X5.Y25. I-20. J-5.;

或者,

G17 G03 G91 X-25.Y15. I-20. J-5.;

因为圆弧半径通常是已给了的,也能够用圆弧半径给命令赋值。

在已给的例子里,圆弧半径是 20.616。因此,该命令能够如下表示:

G17 G03 G90 X5.Y25. R20.616.;

或者,

G17 G03 G91 X-25.Y15. R20.616;

注意1) 把圆弧中心设置为 “I, J” 和 “K”时,必须设置为圆弧起点到圆弧中心的增量值 (增量命令).

注意2) 命令里的“I0, J0” 和 “K0” 可以省略。偏移值指定要求。

G15/G16极坐标指令 G15/G16 极坐标指令


坐标值可以用极坐标(半径和角度)输入。

角度 的正向是所选平面的第1轴正向的逆时针转向,而负向是顺时针转向。

半径和角度两者可以用绝对值指令或增量值指令(G90,G91

用绝对值指令指定角度和半径

N1 G17 G90 G16

指定极坐标指令和选择XY平面,设定工件坐标系的零点作为极坐标系的原点。

N2 G81 X100.0 Y30.0Z-20.0 R-5.0 F200.0

指定100mm的距离和30度的角度

N3 Y150.0

指定100mm的距离和150度的角度

N4 Y270.0

指定100mm的距离和270度的角度

N5 G15 G80

取消极坐标指令

用增量值指令角度,用绝对值指令极径

N1 G17 G90 G16

指定极坐标之林和和选择XY平面,设定 工件坐标系的零点作为极坐标的原点

N2 G81 X100.0 Y30.0Z-20.0 R-5.0 F200.0

指定100mm的距离和30度的角度

N3 G91 Y120.0

指定100mm的距离和+120度的角度增量

N4 Y120.0

指定100mm的距离和+120度的角度增量

N5 G15 G80

取消极坐标指令


G28/G30 自动原点返回 (G28, G30)

1.格式

第一原点返回:

G28 G90 ( G91 )X_Y_Z_;

第二、三和四原点返回:

G30 G90 ( G91) P2 ( P3, P4 ) X_Y_Z_;

#P2, P3, P4:选择第二、第三和第四原点返回

(如果被省略,系统自动选择第二原点返回 )

X, Y Z 设定的位置叫做中间点。机床先移动到这个点,而后回归原点。省略了中间点的轴不移动;只有在命令里指派了中间点的轴执行其原点返回命令。在执行原点返回命令时,每一个轴是独立执行的,这就像快速移动命令(G00)一样; 通常刀具路径不是直线。因此,要求对每一个轴设置中间点,以免机床在原点返回时与工件碰撞等意外发生。

2.举例

G28 (G30) G90 X150.Y200.;

或者,

G28 (G30) G91 X100.Y150.;

注意:在所给例子里, 去中间点的移动就像下面的快速移动命令一样。

G00 G90 X150.Y200.;

或者

G00 G91 X100.Y150.;

如果中介点与当前的刀具位置一致(例如,发出的命令是 - G28 G91 X0 Y0 Z0;),机床就从其当前位置返回原点。如果是在单程序块方式下运行,机床就会停在中间点;当中间点与当前位置一致,它也会暂时停在中间点(即,当前位置)。

G40/G41/G42 刀具直径偏置功能(G40/G41/G42)

1.格式

G41 X_ Y_;

G42 X_ 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.格式

G43 Z_ H_;

G44 Z_ H_;

G49 Z_;

2.偏置功能

首先用一把铣刀作为基准刀,并且利用工件坐标系的 Z 轴,把它定位在工件表面上,其位置设置为 Z0 (? G92:坐标系设置)

请记住,如果程序所用的刀具较短,那么在加工时刀具不可能接触到工件,即便机床移动到位置Z0。反之,如果刀具比基准刀具长,有可能引起与工件碰撞损坏机床。

为了防止出现这种情况,把每一把刀具与基准刀具的相对长度差输入到刀具偏置内存,并且在程序里让 NC 机床执行刀具长度偏置功能。

G43:把指定的刀具偏置值加到命令的 Z 坐标值上。

G44:把指定的刀具偏置值从命令的 Z 坐标值上减去。

G49:取消刀具偏置值。

在设置偏置的长度时,使用正/负号。如果改变了 (+/-) 符号,G43 G44 在执行时会反向操作。因此,该命令有各种不同的表达方式。举例说:

首先,遵循下列步骤度量刀具长度。

1.把工件放在工作台面上。

2.调整基准刀具轴线,使它接近工件表面上。

3.更换上要度量的刀具;把该刀具的前端调整到工件表面上。

4.此时 Z 轴的相对坐标系的坐标作为刀具偏置值输入内存。

通过这么操作,如果刀具短于基准刀具时偏置值被设置为负值;如果长于基准刀具则为正值。因此,在编程时仅有 G43 命令允许您做刀具长度偏置。

3.举例

G00 ZO;

G00 G43 Z0H01;

G00 G43 Z0 H03;

或者

G00 G44 Z0H02;

或者

G00 G44 Z0 H02;

G43, G44 G49 命令一旦被发出,它们的功效会保持着,因为它们是“模态命令”。因此, G43 G44 命令在程序里紧跟在刀具更换之后一旦被发出;那么 G49 命令可能在该刀具作业结束,更换刀具之前发出。

注意1) 在用 G43 (G44) H 或者用 G 49 命令的指派来省略 Z 轴移动命令时,, 偏置操作就会像G00 G91 Z0 命令指派的那样执行。也就是说,用户应当时常小心谨慎,因为它就像有刀具长度偏置值那样移动。

注意2) 用户除了能够用 G49 命令来取消刀具长度补偿,还能够用偏置号码 H0 的设置(G43/G44 H0) 来获得同样效果。

注意3) 若在刀具长度补偿期间修改偏置号码,先前设置的偏置值会被新近赋予的偏置值替换。

标系就被取消。以上命令也能够用于取消局部坐标系。

注意(1) 当用户执行手动原点返回时,局部坐标系执行原点返回的轴的原点与工件坐标系就等同了。

也就是说,这个操作与 [G52a0;] 命令一样 (a: 是执行原点返回进程的那个轴)

注意(2) 即便已经设置了局部坐标,工件坐标系或者机床坐标系不会被改变。

注意(3) 工件坐标系是用 G92 命令设置的。如果各个坐标值未设置, 局部坐标系里未给坐标值的轴将被设置成先前各轴一样的值。

注意(4) 在刀具直径偏置方式下,用 G52 命令来暂时取消该偏置功能。

注意(5) 当移动命令紧跟在 G52 程序块功能之后发出时,通常必须采用绝对命令。

G53 选择机床坐标系 (G53)

1.格式

( G90 ) G53 X_ Y_Z_;

2.功能

刀具根据这个命令执行快速移动到机床坐标系里的 X_Y_Z 位置。由于 G53 是 “一般” G 代码命令,仅仅在程序块里有 G53 命令的地方起作用。

此外,它在绝对命令 (G90) 里有效,在增量命令里 (G91) 无效。为了把刀具移动到机床固有的位置,像换刀位置,程序应当用 G53 命令在机床坐标系里开发。

注意(1) 刀具直径偏置、刀具长度偏置和刀具位置偏置应当在它的 G53 命令指派之前提前取消。否则,机床将依照指派的偏置值移动。

注意(2) 在执行G53指令之前,必须手动或者用G28 命令让机床返回原点。这是因为机床坐标系必须在G53命令发出之前设定。

G54-G59 工件坐标系选择(G54-G59)

1.格式

G54 X_ 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.功能

进给 孔底 主轴定位停止 快速退刀。

G 80 取消固定循环进程 (G80)

1.格式

G80;

2.功能

这个命令取消固定循环方式,机床回到执行正常操作状态。孔的加工数据,包括 R 点, Z 点等等,都被取消;但是移动速率命令会继续有效。

() 要取消固定循环方式,用户除了发出G80 命令之外,还能够用 G 代码01 (G00, G01, G02, G03 等等) 中的任意一个命令。

G 81 定点钻孔循环(G81)

1.格式

G81 X_Y_Z_R_F_K_;

X_ Y:孔位数据

Z_:孔底深度(绝对坐标)

R_:每次下刀点或抬刀点(绝对坐标)

F_:切削进给速度

K_:重复次数 (如果需要的话)

2.功能

G81命令可用于一般的孔加工。

G 82 钻孔循环(G82)

1.格式

G82 X_Y_Z_R_P_F_K_;

X_ Y:孔位数据

Z_:孔底深度(绝对坐标)

R_:每次下刀点或抬刀点(绝对坐标)

P_:在孔底的暂停时间(单位:毫秒)

F_:切削进给速度

K_:重复次数 (如果需要的话)

2.功能

G82钻孔循环,反镗孔循环

G83 深孔钻削循环(G83)

1.格式

G83 X_Y_Z_R_Q_F_K_;

X_ Y:孔位数据

Z_:孔底深度(绝对坐标)

R_:每次下刀点或抬刀点(绝对坐标)

Q_:每次切削进给的切削深度

F_:切削进给速度

K_:重复次数

2.功能

G83中间进给 孔底 快速退刀。

G84 攻丝循环(G84)

1.格式

G84 X_Y_Z_R_P_F_K_;

X_ Y:孔位数据

Z_:孔底深度(绝对坐标)

R_:每次下刀点或抬刀点(绝对坐标)

P_:暂停时间

F_:切削进给速度

K_:重复次数

2.功能

主轴顺时针旋转执行攻丝,当到达孔底时,为了回退,主轴以相反方向旋转,这个过程生成螺纹。

在攻丝期间进给倍率被忽略,进给暂停不停止机床,直到返回动作完成。

在指定G84之前,用辅助功能使主轴旋转。

G84指令和M代码在同一个程序段中指定时,在执行第一个定位动作的同时,执行到R点的同时加偏置。

G84进给 孔底 主轴反转 快速退刀。

G85 镗孔循环(G85)

1.格式

G85 X_Y_Z_R_F_K_;

X_ Y:孔位数据

Z_:孔底深度(绝对坐标)

R_:每次下刀点或抬刀点(绝对坐标)

F_:切削进给速度

K_:重复次数

2.功能

G85中间进给 孔底 快速退刀。

G86 镗孔循环(G86)

1.格式

G86 X_Y_Z_R_F_L_;

X_ Y:孔位数据

Z_:孔底深度(绝对坐标)

R_:每次下刀点或抬刀点(绝对坐标)

F_:切削进给速度

K_:重复次数

2.功能

G86进给 孔底 主轴停止 快速退刀。

例:

N005 G80 G90 G0 X0Y0 M06 T1;换?20镗刀

N010 G55;调用G55工件坐标系

N020 M03 S1000

N030 G43 H1 Z50;调用长度补偿

N040 G86 Z-30 R1F200;镗孔循环

N050 G80 G0 Z50;取消固定循环???

N060 M05

N070 M30

G87 反镗孔循环(G87)

1.格式

G87X_Y_Z_R_Q_P_F_K_;

X_ Y:孔位数据

Z_:孔底深度(绝对坐标)

R_:每次下刀点或抬刀点(绝对坐标)

Q_:刀具偏移量

P_:暂停时间

F_:切削进给速度

K_:重复次数

2.功能

G87进给 孔底 主轴正转 快速退刀。

:

N005 G80 G90 G0 X0Y0 M06 T1;换20镗刀

N010 G55;调用G55工件坐标系

N020 M03 S1000

N030 G43 H1 Z50;调用长度补偿

N040 G87 Z-30 R1 Q2P2000 F200;反镗孔循环

N050 G80 G0 Z50;取消固定循环

N060 M05

N070 M30

G88 镗孔循环(G88)

1.格式

G88 X_Y_Z_R_P_F_K_;

X_ Y:孔位数据

Z_:孔底深度(绝对坐标)

R_:每次下刀点或抬刀点(绝对坐标)

P_:孔底的暂停时间

F_:切削进给速度

K_:重复次数

2.功能

说明:沿着XY轴定位以后,快速移动到R点,然后,从R点到Z点执行镗孔,当镗孔完成后,执行暂停,然后主轴停止。刀具从孔底手动返回到R点,在R点,主轴正转,并且执行快速移动到初始位置。

在指定G88之前,用辅助功能旋转主轴。

G88指令和M代码在同一程序段中指定时,在第一个定位动作的同时执行M代码,然后,系统处理下一个镗孔动作。

当指定重复次数K时,只对第一个孔执行M代码,对第二或以后的孔,不执行M代码。对第二或以后的孔,不执行M代码。

当在固定循环中指定刀具长度偏置(G43/G44G49)时,在定位到R点的同时加偏置。

限制

轴切换?? 必须在切换镗孔轴之前取消固定循环

镗加工?? 在不包含X.Y.Z或任何其它轴的程序段中,不执行镗加工。

P???????在执行镗孔加工的程序段中指定P,如果在不执行镗孔加工的程序段中指定,P不能作为模态数据被贮存。

取消????不能在同一程序段中指定01G代码和G88,否则G88将被取消。

刀具偏置? 在固定循环方式中,刀具偏置被忽略。

G89 镗孔循环(G89)

1.格式

G89 X_Y_Z_R_P_F_L_;

X_ Y:孔位数据

Z_:孔底深度(绝对坐标)

R_:每次下刀点或抬刀点(绝对坐标)

P_:孔底的停刀时间

F_:切削进给速度

K_:重复次数

2.功能

G89进给 孔底 暂停 快速退刀。

G90/G91使用 绝对值命令/增量值命令 (G90/G91)

此命令设定指令中的 X, Y Z 坐标是绝对值还是相对值,不论它们原来是绝对命令还是增量命令。含有 G90 命令的程序块和在它以后的程序块都由绝对命令赋值; 而带 G91 命令及其后的程序块都用增量命令赋值。

G98/G99返回点平面

当刀具到达孔底后,刀具可以返回到R点平面或初始位置平面,由G98G99指定,一般情况下,G99用于第一次钻孔面G98用于最后钻孔,即使在G99方式中执行钻孔,初始位置品平面也不变。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表