G代码(或G指令)是在数控系统插补运算之前需要预先规定,为插补运算作好准备的工艺指令,如:坐标平面选择、插补方式的指定、孔加工等固定循环功能的指定等。G代码以地址G后跟两位数字组成,常用的有G00~G99,见表3-2。现代数控系统有的已扩展到三位数字。
G代码按功能类别分为模态代码和非模态代码。表3-2内第二栏中所示的a、c、d、……j、k等9组,同一组对应的G代码称为模态代码,它表示组内某G代码(如c组中G17)一旦被指定,功能一直保持到出现同组其它任一代码(如G18或G19)时才失效,否则继续保持有效。所以在编下一个程序段时,若需使用同样的G代码则可省略不写,这样可以简化加工程序编制。而非模态代码只在本程序段中有效。
表2-2
准备功能G代码(JB3208-83)
代码
|
模态
|
非模态
|
功能
|
代码
|
模态
|
非模态
|
功能
|
G00
|
a
|
|
点定位
|
G50
|
#(d)
|
#
|
刀具偏置0/-
|
G01
|
a
|
|
直线插补
|
G51
|
#(d)
|
#
|
刀具偏置+/0
|
G02
|
a
|
|
顺时针方向圆弧插补
|
G52
|
#(d)
|
#
|
刀具偏置-/0
|
G03
|
a
|
|
逆时针方向圆弧插补
|
G53
|
f
|
|
直线偏移,注销
|
G04
|
|
*
|
暂停
|
G54
|
f
|
|
直线偏移X
|
G05
|
#
|
#
|
不指定
|
G55
|
f
|
|
直线偏移Y
|
G06
|
a
|
|
抛物线插补
|
G56
|
f
|
|
直线偏移Z
|
G07
|
#
|
#
|
不指定
|
G57
|
f
|
|
直线偏移XY
|
G08
|
|
*
|
加速
|
G58
|
f
|
|
直线偏移XZ
|
G09
|
|
*
|
减速
|
G59
|
f
|
|
直线偏移YZ
|
G10~G16
|
#
|
#
|
不指定
|
G60
|
h
|
|
准确定位1(精)
|
G17
|
c
|
|
XY平面选择
|
G61
|
h
|
|
准确定位2(中)
|
G18
|
c
|
|
ZX平面选择
|
G62
|
h
|
|
快速定位(粗)
|
G19
|
c
|
|
YZ平面选择
|
G63
|
|
*
|
攻螺纹
|
G20~G32
|
#
|
#
|
不指定
|
G64~G67
|
#
|
#
|
不指定
|
G33
|
a
|
|
螺纹切削、等螺距
|
G68
|
#(d)
|
#
|
刀具偏置,内角
|
G34
|
a
|
|
螺纹切削、增螺距
|
G69
|
#(d)
|
#
|
刀具偏置,外角
|
G35
|
a
|
|
螺纹切削、减螺距
|
G70~G79
|
#
|
#
|
不指定
|
G36~G39
|
#
|
#
|
永不指定
|
G80
|
e
|
|
固定循环注销
|
G40
|
d
|
|
刀具补偿/刀具偏置注销
|
G81~G89
|
e
|
|
固定循环
|
G41
|
d
|
|
刀具补偿—左
|
G90
|
j
|
|
绝对尺寸
|
G42
|
d
|
|
刀具补偿—右
|
G91
|
j
|
|
增量尺寸
|
G43
|
#(d)
|
#
|
刀具偏置—正
|
G92
|
|
*
|
预置寄存
|
G44
|
#(d)
|
#
|
刀具偏置—负
|
G93
|
k
|
|
时间倒数,进给率
|
G45
|
#(d)
|
#
|
刀具偏置+/+
|
G94
|
k
|
|
每分钟进给
|
G46
|
#(d)
|
#
|
刀具偏置+/-
|
G95
|
k
|
|
主轴每转进给
|
G47
|
#(d)
|
#
|
刀具偏置-/-
|
G96
|
i
|
|
恒线速度
|
G48
|
#(d)
|
#
|
刀具偏置-/+
|
G97
|
i
|
|
每分钟转数(主轴)
|
G49
|
#(d)
|
#
|
刀具偏置0/+
|
G98~G99
|
#
|
#
|
不指定
|
注:1.
表中凡有小写字母a,b,c,d,…指示的G代码为同一组代码,称为模态指令;
2.
表中“#”代表如选作特殊用途,必须在程序格式说明中说明;
3.
表中第二栏括号中字母(d)可以被同栏中没有括号字母d所注销或代替,亦可被有括号的字母(d)所注销或代替;
4.
表中“不指定”、“永不指定”代码分别表示在将来修订标准时,可以被指定新功能和永不指定功能;
5.
数控系统没有G53到G59、G63功能时,可以指定作其它用途。