G代码是数控程序中的指令。一般都称为G指令。
1. 代码功能
代码名称-功能简述
G00------快速定位
G01------直线插补
G02------顺时针方向圆弧插补
G03------逆时针方向圆弧插补
G04------定时暂停
G05------通过中间点圆弧插补
G06------抛物线插补
G07------Z 样条曲线插补
G08------进给加速
G09------进给减速
G10------数据设置
G16------极坐标编程
G17------加工XY平面
G18------加工XZ平面
G19------加工YZ平面
G20------英制尺寸(法兰克系统)
G21-----公制尺寸(法兰克系统)
G22------半径尺寸编程方式
G220-----系统操作界面上使用
G23------直径尺寸编程方式
G230-----系统操作界面上使用
G24------子程序结束
G25------跳转加工
G26------循环加工
G30------倍率注销
G31------倍率定义
G32------等螺距螺纹切削,英制
G33------等螺距螺纹切削,公制
G34------增螺距螺纹切削
G35------减螺距螺纹切削
G40------刀具补偿/刀具偏置注销
G41------刀具补偿——左
G42------刀具补偿——右
G43------刀具偏置——正
G44------刀具偏置——负
G45------刀具偏置+/+
G46------刀具偏置+/-
G47------刀具偏置-/-
G48------刀具偏置-/+
G49------刀具偏置0/+
G50------刀具偏置0/-
G51------刀具偏置+/0
G52------刀具偏置-/0
G53------直线偏移,注销
G54------设定工件坐标
G55------设定工件坐标二
G56------设定工件坐标三
G57------设定工件坐标四
G58------设定工件坐标五
G59------设定工件坐标六
G60------准确路径方式(精)
G61------准确路径方式(中)
G62------准确路径方式(粗)
G63------攻螺纹
G68------刀具偏置,内角
G69------刀具偏置,外角
G70------英制尺寸(这个是西门子的,法兰克的是G21)
G71------公制尺寸 毫米
G74------回参考点(机床零点)
G75------返回编程坐标零点
G76------车螺纹复合循环
G80------固定循环注销
G81------外圆固定循环
G331-----螺纹固定循环
G90------绝对尺寸
G91------相对尺寸
G92------预制坐标
G93------时间倒数,进给率
G94------进给率,每分钟进给
G95------进给率,每转进给
G96------恒线速度控制
G97------取消恒线速度控制
2. 功能详解
快速定位
格式:G00 X(U)__Z(W)__
说明:
(1)该指令使刀具按照点位控制方式快速移动到指定位置。移动过程中不得对工件
进行加工。
(2)所有编程轴同时以参数所定义的速度移动,当某轴走完编程值便停止,而其他轴继续运动,
(3)不运动的坐标无须编程。
(4)G00可以写成G0
例:G00 X75 Z200
G01 U-25 W-100
先是X和Z同时走25快速到A点,接着Z向再走75快速到B点。
G01—直线插补
格式:G01 X(U)__Z(W)__F__(mm/min)
说明:
(1)该指令使刀具按照直线插补方式移动到指定位置。移动速度是由F指令
进给速度。所有的坐标都可以联动运行。
(2)G01也可以写成G1
例:G01 X40 Z20 F150
两轴联动从A点到B点
逆圆插补
格式1:
G02X(u)____Z(w)____I____K____F_____
说明:
(1)X、Z在G90时,圆弧终点坐标是相对编程零点的绝对坐标值。在G91时,
圆弧终点是相对圆弧起点的增量值。无论G90,G91时,I和K为圆弧的圆心相对于起点的增量坐标。I是X方向值、K是Z方向值。圆心坐标在圆弧插补时不得省略,除非用其他格式编程。
(2)G02指令编程时,可以直接编过象限圆,整圆等。
注:过象限时,会自动进行间隙补偿,如果参数区末输入间隙补偿与机床实际反向间隙悬殊,都会在工件上产生明显的切痕。
(3)G02也可以写成G2。
例:G02 X60 Z50 I40 K0 F120
格式2:G02X(u)____Z(w)____R(+\-)__F__
说明:
(1)不能用于整圆的编程
(2)R为工件单边R弧的半径。R为带符号,“+”表示圆弧角小于180度;“-”表示圆弧角大于180度。其中“+”可以省略。
(3)它以终点点坐标为准,当终点与起点的长度值大于2R时,则以直线代替圆弧。
例:G02 X60 Z50 R20 F120
格式3:G02X(u)____Z(w)____CR=__(半径)F__
格式4:G02X(u)____Z(w)__D__(直径)F___
这两种编程格式基本上与格式2相同
顺圆插补
说明:除了圆弧旋转方向相反外,格式与G02指令相同。
G04—定时暂停
格式:G04__F__ 或G04__K__
说明:加工运动暂停,时间到后,继续加工。暂停时间由F后面的数据指定。单位是秒。范围是0.01秒到300秒。
中间点圆弧插补
格式:G05X(u)____Z(w)____IX_____IZ_____F_____
说明:(1)X,Z为终点坐标值,IX,IZ为中间点坐标值。其它与G02/G03相似
例: G05 X60 Z50 IX50 IZ60 F120
加速/减速
格式:G08
说明:它们在程序段中独自占一行,在程序中运行到这一段时,进给速度将增加10%,
如要增加20%则需要写成单独的两段。
半径编程
格式:G22
说明:在程序中独自占一行,则系统以半径方式运行,程序中下面的数值也是以半径为准的。
G23(G230)—直径尺寸编程方式
格式:G23
说明:在程序中独自占一行,则系统以直径方式运行,程序中下面的数值也是以直径为准的。
跳转加工
格式:G25 LXXX
说明: 当程序执行到这段程序时,就转移它指定的程序段。(XXX为程序段号)。
G26—循环加工
格式:G26 LXXX QXX
说明:当程序执行到这段程序时,它指定的程序段开始到本段作为一个循环体,循环次数由Q后面的数值决定。
倍率注销
格式:G30
说明:在程序中独自占一行,与G31配合使用,注销G31的功能。
倍率定义
格 式:G31 F_____
G32—等螺距螺纹加工(英制)
G33—等螺距螺纹加工(公制)
格式:G32/G33 X(u)____Z(w)____F____
说明:
(1)X、Z为终点坐标值,F为螺距
(2)G33/G32只能加工单刀、单头螺纹。
(3)X值的变化,能加工锥螺纹
(4)使用该指令时,主轴的转速不能太高,否则刀具磨损较大。
G50—设定工件坐标/设定主轴最高(低)转速
格式:G50 S____Q____
说明:S为主轴最高转速,Q为主轴最低转速
G54—设定工件坐标一
格式:G54
说明:在系统中可以有几个坐标系,G54对应于第一个坐标系,其原点位置数值在机床参数中设定。
G55—设定工件坐标二
同上
G56—设定工件坐标三
同上
G57—设定工件坐标四
同上
G58—设定工件坐标五
同上
G59—设定工件坐标六
同上
准确路径方式
格式:G60
说明:在实际加工过程中,几个动作连在一起时,用准确路径编程时,那么在进行下一段加工时,将会有个缓冲过程(意即减速)
连续路径方式
格式:G64
说明:相对G60而言。主要用于粗加工。
G74—回参考点(机床零点)
格式:G74 X Z
说明:
(1)本段中不得出现其他内容。
(2)G74后面出现的的坐标将以X、Z依次回零。
(3)使用G74前必须确认机床装配了参考点开关。
(4)也可以进行单轴回零。
G75—返回编程坐标零点
格式:G75 X Z
说明:返回编程坐标零点
G76—返回编程坐标起始点
格式:G76
说明:返回到刀具开始加工的位置。
G81—外圆(内圆)固定循环
格式:G81__X(U)__Z(W)__R__I__K__F__
说明:
(1)X,Z为终点坐标值,U,W为终点相对 于当前点的增量值 。
(2)R为起点截面的要加工的直径。
(3)I为粗车进给,K为精车进给,I、K为有符号数,并且两者的符号应相同。符号约定如下:由外向中心轴切削(车外圆 )为“—”,反这为“+”。
(4)不同的X,Z,R 决定外圆不同的开关,如:有锥度或没有度,正向锥度或反向锥度,左切削或右切削等。
(5)F为切削加工的速度(mm/min)
(6)加工结束后,刀具停止在终点上。
例:G81 X40 Z 100 R15 I-3 K-1 F100
加工过程:
1:G01进刀2倍的I(第一刀为I,最后一刀为I+K精车),进行深度切削:
2:G01两轴插补,切削至终点截面,如果加工结束则停止:
3:G01退刀I到安全位置,同时进行辅助切面光滑处理
4:G00快速进刀到高工面I外,预留I进行下一步切削加工 ,重复至1。
G90—绝对值方式编程
格式:G90
说明:
(1)G90编入程序时,以后所有编入的坐标值全部是以编程零点为基准的。
(2)系统上电后,机床处在G状态。
N0010 G90 G92 x20 z90
N0020 G01X40 Z80 F100
N0030 G03X60 Z50 I0 K-10
N0040 M02
增量方式编程
格式:G91
说明:G91编入程序时,之后所有坐标值均以前一个坐标位置作为起点来计算运动的编程值。在下一段坐标系中,始终以前一点作为起始点来编程。
例: N0010 G91 G92 X20 Z85
N0020 G01X20 Z-10 F100
N0030 Z-20
N0040 X20 Z-15
N0050 M02
设定工件坐标系
格式:G92 X__ Z__
说明:
(1)G92只改变系统当前显示的坐标值,不移动坐标轴,达到设定坐标原点的目的。
(2)G92的效果是将显示的刀尖坐标改成设定值。
(3)G92后面的XZ可分别编入,也可全编。
G94—进给率,每分钟进给
说明:这是机床的开机默认状态。
G20—子程序调用
格式:G20 L__N__
说明:
(1)L后为要调用的子程序N后的程序名,但不能把N输入。
N后面只允许带数字1~99999999。
(2)本段程序不得出现以上描述以外的内容。
子程序结束返回
格式:G24
说明:
(1)G24表示子程序结束,返回到调用该子程序程序的下一段。
(2)G24与G20成对出现
(3)G24本段不允许有其它指令出现。
3. 实例
例:通过下例说明在子程序调用过程中参数的传递过程,请注意应用
程序名:P10
M03 S1000
G20 L200
M02
N200 G92 X50 Z100
G01 X40 F100
Z97
G02 Z92 X50 I10 K0 F100
G01 Z-25 F100
G00 X60
Z100
G24
如果要多次调用,请按如下格式使用
M03 S1000
N100 G20 L200
N101 G20 L200
N105 G20 L200
M02
N200 G92 X50 Z100
G01 X40 F100
Z97
G02 Z92 X50 I10 K0 F100
G01 Z-25 F100
G00 X60
Z100
G24
G331—螺纹加工循环
格式:G331 X__ Z__I__K__R__p__
说明:
(1)X向直径变化,X=0是直螺纹
(2)Z是螺纹长度,绝对或相对编程均可
(3)I是螺纹切完后在X方向的退尾长度,±值
(4)R螺纹外径与根径的直径差,正值
(5)K螺距KMM
(6)p螺纹的循环加工次数,即分几刀切完
提示:
1、每次进刀深度为R÷p并取整,最后一刀不进刀来光整螺纹面
2、内螺纹退尾根据沿X的正负方向决定I值的称号。
3、螺纹加工循环的起始位置为将刀尖对准螺纹的外圆处。
例子:
M3
G4 f2
G0 x30 z0
G331 z-50 x0 i10 k2 r1.5 p5
G0 z0
M05
4. 注意事项
1、G00与G01
G00运动轨迹有直线和折线两种,该指令只是用于点定位,不能用于切削加工
G01按指定进给速度以直线运动方式运动到指令指定的目标点,一般用于切削加工
2、G02与G03
G02:顺时针圆弧插补 G03:逆时针圆弧插补
3、G04(延时或暂停指令)
一般用于正反转切换、加工盲孔、阶梯孔、车削切槽
4、G17、G18、G19 平面选择指令,指定平面加工,一般用于铣床和加工中心
G17:X-Y平面,可省略,也可以是与X-Y平面相平行的平面
G18:X-Z平面或与之平行的平面,数控车床中只有X-Z平面,不用专门指定
G19:Y-Z平面或与之平行的平面
5、G27、G28、G29 参考点指令
G27:返回参考点,检查、确认参考点位置
G28:自动返回参考点(经过中间点)
G29:从参考点返回,与G28配合使用
6、G40、G41、G42 半径补偿
G40:取消刀具半径补偿
7、G43、G44、G49 长度补偿
G43:长度正补偿 G44:长度负补偿 G49:取消刀具长度补偿
8、G32、G92、G76
G32:螺纹切削 G92:螺纹切削固定循环 G76:螺纹切削复合循环
9、车削加工:G70、G71、72、G73
G71:轴向粗车复合循环指令 G70:精加工复合循环 G72:端面车削,径向粗车循环 G73:仿形粗车循环
10、铣床、加工中心:
G73:高速深孔啄钻 G83:深孔啄钻 G81:钻孔循环G82:深孔钻削循环
G74:左旋螺纹加工 G84:右旋螺纹加工 G76:精镗孔循环 G86:镗孔加工循环 G85:铰孔 G80:取消循环指令
11、编程方式 G90、G91
G90:绝对坐标编程 G91:增量坐标编程
12、主轴设定指令
G50:主轴最高转速的设定 G96:恒线速度控制 G97:主轴转速控制(取消恒线速度控制指令) G99:返回到R点(中间孔) G98:返回到参考点(最后孔)
13、主轴正反转停止指令 M03、M04、M05
M03:主轴正传 M04:主轴反转 M05:主轴停止
14、切削液开关 M07、M08、M09
M07:雾状切削液开 M08:液状切削液开 M09:切削液关
15、运动停止 M00、M01、M02、M30
M00:程序暂停 M01:计划停止 M02:机床复位M30:程序结束,指针返回到开头
16、M98:调用子程序
17、M99:返回主程序