G代码是数控程序中最核心的指令,控制刀具的运动轨迹和加工方式。M代码则控制机床的辅助功能(主轴、冷却、换刀等)。本文整理了FANUC系统最常用的G代码和M代码,按功能分类并附使用说明,方便数控操作工和编程员快速查询。
一、准备功能 G代码(按功能分类)
1.1 坐标系与位置指令
| G代码 |
名称 |
功能说明 |
常用性 |
| G00 |
快速定位 |
刀具以最快速度移动到指定位置,不切削 |
★★★★★ |
| G01 |
直线插补 |
刀具以指定进给速度直线切削 |
★★★★★ |
| G02 |
顺时针圆弧 |
刀具顺时针方向圆弧插补 |
★★★★☆ |
| G03 |
逆时针圆弧 |
刀具逆时针方向圆弧插补 |
★★★★☆ |
| G04 |
暂停/ dwell |
程序暂停指定时间(如G04 X2.0暂停2秒) |
★★★☆☆ |
| G09 |
精确停止 |
到终点后减速确认位置,仅本段有效 |
★★☆☆☆ |
| G10 |
数据设定 |
通过程序输入刀具补偿值或工件坐标系 |
★★★☆☆ |
1.2 坐标系指令
| G代码 |
名称 |
功能说明 |
常用性 |
| G17 |
XY平面选择 |
指定圆弧插补和刀具补偿在XY平面 |
★★★★★ |
| G18 |
ZX平面选择 |
指定圆弧插补在ZX平面 |
★★★☆☆ |
| G19 |
YZ平面选择 |
指定圆弧插补在YZ平面 |
★★☆☆☆ |
| G20 |
英制输入 |
程序中尺寸单位为英寸 |
★★☆☆☆ |
| G21 |
公制输入 |
程序中尺寸单位为毫米(国内必用) |
★★★★★ |
| G54~G59 |
工件坐标系 |
调用对应的工件坐标系(G54最常用) |
★★★★★ |
| G68 |
坐标旋转 |
将工件坐标系旋转指定角度 |
★★★☆☆ |
| G69 |
取消坐标旋转 |
取消G68的旋转 |
★★★☆☆ |
1.3 插补模式指令
| G代码 |
名称 |
功能说明 |
常用性 |
| G90 |
绝对坐标 |
所有坐标值相对于工件原点(最常用) |
★★★★★ |
| G91 |
增量坐标 |
坐标值相对于上一位置 |
★★★☆☆ |
| G94 |
每分钟进给 |
进给速度单位mm/min(铣削常用) |
★★★★★ |
| G95 |
每转进给 |
进给速度单位mm/rev(车削常用) |
★★★☆☆ |
1.4 刀具补偿指令
| G代码 |
名称 |
功能说明 |
常用性 |
| G40 |
取消刀补 |
取消刀具半径补偿 |
★★★★★ |
| G41 |
左刀补 |
刀具半径左侧补偿(顺铣常用) |
★★★★☆ |
| G42 |
右刀补 |
刀具半径右侧补偿(逆铣常用) |
★★★★☆ |
| G43 |
刀具长度+补偿 |
调用刀具长度正向补偿(H代码) |
★★★★★ |
| G44 |
刀具长度-补偿 |
调用刀具长度负向补偿 |
★★☆☆☆ |
| G49 |
取消长度补偿 |
取消G43/G44刀具长度补偿 |
★★★★☆ |
1.5 固定循环指令(钻孔)
| G代码 |
名称 |
功能说明 |
常用性 |
| G80 |
取消固定循环 |
取消所有钻孔循环 |
★★★★☆ |
| G81 |
普通钻孔 |
快速下刀→钻孔→快速退回(浅孔) |
★★★★★ |
| G82 |
锪孔/ Counterbore |
钻孔后底部停留(用于锪平面) |
★★★☆☆ |
| G83 |
深孔啄钻 |
分段进给,每次退刀排屑(深孔必用) |
★★★★☆ |
| G84 |
攻丝循环 |
刚性攻丝(主轴转速与进给同步) |
★★★★☆ |
| G85 |
镗孔循环 |
镗孔后工进退回(不留划痕) |
★★★☆☆ |
| G86 |
镗孔循环 |
镗孔后主轴停、快速退回 |
★★★☆☆ |
| G73 |
高速深孔钻 |
分段进给但退刀量小(效率高于G83) |
★★★☆☆ |
| G76 |
精镗循环 |
精镗后主轴定向、偏移后退回(无划痕) |
★★★☆☆ |
1.6 子程序与宏程序
| G代码 |
名称 |
功能说明 |
常用性 |
| G65 |
宏程序调用 |
调用宏程序并传递变量 |
★★★☆☆ |
| G66 |
模态宏调用 |
每个运动段后自动调用宏 |
★★☆☆☆ |
| G67 |
取消模态宏调用 |
取消G66 |
★★☆☆☆ |
| M98 |
子程序调用 |
调用子程序(如M98 P1000 L3调用O1000三次) |
★★★★☆ |
| M99 |
子程序返回 |
子程序结束,返回主程序 |
★★★★☆ |
二、辅助功能 M代码
| M代码 |
功能 |
说明 |
| M00 |
程序暂停 |
无条件停止,按循环启动继续 |
| M01 |
选择性暂停 |
只有”选择停”开关打开时才暂停 |
| M02 |
程序结束 |
程序结束,不返回开头 |
| M03 |
主轴正转 |
主轴顺时针旋转(CW) |
| M04 |
主轴反转 |
主轴逆时针旋转(CCW) |
| M05 |
主轴停止 |
主轴停止旋转 |
| M06 |
自动换刀 |
执行换刀动作(需配合T代码) |
| M08 |
冷却液开 |
打开切削液 |
| M09 |
冷却液关 |
关闭切削液 |
| M19 |
主轴定向 |
主轴旋转到固定角度停止(用于精镗) |
| M29 |
刚性攻丝 |
进入刚性攻丝模式(配合G84) |
| M30 |
程序结束并返回 |
程序结束,光标返回程序开头 |
| M98 |
调用子程序 |
调用指定子程序 |
| M99 |
子程序返回 |
子程序结束返回 |
三、常用T代码和F/S代码
| 代码 |
功能 |
示例 |
| Txx |
刀具选择 |
T01 M06(选择1号刀并换刀) |
| Sxxxx |
主轴转速 |
S1200 M03(主轴1200转/分正转) |
| Fxxx |
进给速度 |
F200(进给200mm/min,铣削) |
| Hxx |
刀具长度补偿号 |
G43 Z50 H01(调用1号刀长补偿) |
| Dxx |
刀具半径补偿号 |
G41 G01 X10 D01(调用1号刀半径补偿) |
四、典型程序结构示例
%
O0001(示例程序)
G40 G49 G80(取消补偿和循环)
G91 G28 Z0(Z回零)
G28 X0 Y0(XY回零)
T01 M06(换1号刀)
G90 G54 G17 G21(绝对坐标/G54/XY平面/公制)
G43 Z100 H01(调用刀长补偿)
S1500 M03(主轴1500转)
M08(冷却开)
G00 X0 Y0(快速定位)
Z5(下刀到安全高度)
G01 Z-5 F100(进给下刀)
X50 F200(直线切削)
Y50
X0
Y0
G00 Z100(抬刀)
M05(主轴停)
M09(冷却关)
G91 G28 Z0
G28 X0 Y0
M30(程序结束)
%
五、G代码速查口诀
G00快退不切削,G01直线慢慢走;
G02顺时G03逆,圆弧插补看方向;
G17选XY G21公制,G54坐标要牢记;
G40取消G41左,G43补偿长度加;
G81浅孔G83深,G84攻丝要同步;
M03正转M05停,M06换刀M30终。
相关阅读: