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功能时,可以指定作其它用途。