发那科机床代码速查
本手册用于快速查阅发那科(FANUC)数控程序中的常用地址码与指令含义。实际编程时,请结合机床厂家说明书、系统参数和现场安全规范确认代码功能;不同机床可能对部分 M 代码或宏功能进行定制。
G 代码(准备功能)
G 代码用于定义运动方式、坐标模式、单位、补偿、固定循环等加工准备功能。多数 G 代码具有模态特性,会持续生效,直到被同组代码替换。
| 代码 | 含义 | 示例/说明 |
|---|---|---|
G00 | 快速定位 | G00 X100. Y50.:刀具快速移动到指定位置 |
G01 | 直线插补 | G01 Z-5. F100:按进给速度直线切削到 Z-5. |
G02 | 顺时针圆弧插补 | G02 X50. Y0 I25. J0:顺时针加工圆弧 |
G03 | 逆时针圆弧插补 | G03 X50. Y0 R25.:逆时针加工半径为 25 的圆弧 |
G04 | 暂停/延时 | G04 P1000:暂停约 1 秒(单位依系统参数而定) |
G09 | 准确停止检查 | G09 G01 X50.:当前程序段结束前减速并准确停止 |
G10 | 可编程数据输入 | G10 L2 P1 X0 Y0 Z0:写入工件坐标系数据 |
G17 | 选择 XY 平面 | 常用于铣削、钻孔、XY 平面圆弧插补 |
G18 | 选择 ZX 平面 | 常用于车削或 ZX 平面圆弧插补 |
G19 | 选择 YZ 平面 | 常用于 YZ 平面圆弧插补 |
G20 | 英制单位 | G20:后续尺寸按英寸解释 |
G21 | 公制单位 | G21:后续尺寸按毫米解释 |
G27 | 返回参考点检查 | 检查当前位置是否为参考点 |
G28 | 返回参考点 | G91 G28 Z0:Z 轴经中间点返回机床参考点 |
G29 | 从参考点返回 | 通常与 G28 配合使用 |
G30 | 返回第二/第三/第四参考点 | G30 P2 Z0:返回指定参考点,常用于换刀位 |
G31 | 跳转功能/测量跳步 | 常用于测头检测或跳步信号触发 |
G40 | 取消刀具半径补偿 | G40 G01 X0 Y0:取消刀补后移动 |
G41 | 左刀具半径补偿 | 沿加工方向左侧补偿,需配合 D 补偿号 |
G42 | 右刀具半径补偿 | 沿加工方向右侧补偿,需配合 D 补偿号 |
G43 | 正向刀具长度补偿 | G43 H01 Z50.:启用 H01 刀长补偿 |
G44 | 负向刀具长度补偿 | 较少使用,按负方向应用刀长补偿 |
G49 | 取消刀具长度补偿 | G49:取消当前刀长补偿 |
G50 | 坐标系/主轴限速设定 | 车床常用 G50 S3000 限制最高转速 |
G52 | 局部坐标系设定 | G52 X10. Y0:临时偏移局部坐标系 |
G53 | 机床坐标系定位 | G53 G00 Z0:按机床坐标快速定位 |
G54 | 工件坐标系 1 | G54:选择第一组工件坐标系 |
G55 | 工件坐标系 2 | G55:选择第二组工件坐标系 |
G56 | 工件坐标系 3 | G56:选择第三组工件坐标系 |
G57 | 工件坐标系 4 | G57:选择第四组工件坐标系 |
G58 | 工件坐标系 5 | G58:选择第五组工件坐标系 |
G59 | 工件坐标系 6 | G59:选择第六组工件坐标系 |
G61 | 准确停止模式 | 每段加工结束进行准确停止检查 |
G64 | 切削模式/连续切削 | 系统尽量平滑连续加工,减少段间停顿 |
G65 | 宏程序调用 | G65 P9000 A10. B20.:调用宏程序 O9000 |
G66 | 宏程序模态调用 | 后续程序段持续调用指定宏,直到 G67 取消 |
G67 | 取消宏程序模态调用 | G67:取消 G66 模态宏调用 |
G68 | 坐标旋转 | G68 X0 Y0 R45.:以指定点旋转坐标系 |
G69 | 取消坐标旋转 | G69:取消当前坐标旋转 |
G73 | 高速深孔钻循环 | G73 X0 Y0 Z-20. Q2. F100:小退刀深孔钻 |
G74 | 左旋攻丝/反攻丝循环 | 具体功能依机型与参数配置确认 |
G76 | 精镗循环/螺纹循环 | 加工中心多为精镗;车床常为螺纹复合循环 |
G80 | 取消固定循环 | G80:取消钻孔、攻丝、镗孔等固定循环 |
G81 | 钻孔循环 | G81 X0 Y0 Z-10. R2. F100:普通钻孔 |
G82 | 带暂停钻孔循环 | G82 X0 Y0 Z-10. R2. P500 F100:孔底暂停 |
G83 | 深孔钻循环 | G83 X0 Y0 Z-30. R2. Q5. F80:分段排屑钻孔 |
G84 | 攻丝循环 | G84 X0 Y0 Z-15. R2. F1.5:右旋攻丝 |
G85 | 镗孔循环 | 进给进刀、进给退刀 |
G86 | 镗孔循环 | 孔底主轴停止后快速退刀 |
G87 | 背镗循环 | 常用于反向镗孔,需确认机床支持 |
G88 | 镗孔循环 | 孔底暂停、主轴停止,手动/指定方式退刀 |
G89 | 镗孔循环 | 孔底暂停后进给退刀 |
G90 | 绝对坐标编程 | G90 G00 X100.:目标为坐标系中的绝对位置 |
G91 | 增量坐标编程 | G91 G00 X10.:在当前位置基础上移动 10 |
G92 | 坐标系设定/螺纹循环 | 不同系统和车铣场景含义不同,使用前确认说明书 |
G94 | 每分钟进给 | G94 F200:进给速度为 200 mm/min |
G95 | 每转进给 | G95 F0.2:主轴每转进给 0.2 mm/rev |
G96 | 恒线速度控制 | 车床常用 G96 S180:恒线速度 180 m/min |
G97 | 取消恒线速度/恒转速 | G97 S1200:设定主轴固定转速 1200 rpm |
G98 | 固定循环返回初始点 | 固定循环结束返回循环开始时的初始平面 |
G99 | 固定循环返回 R 点 | 固定循环结束返回 R 平面 |
M 代码(辅助功能)
M 代码用于控制主轴、冷却液、换刀、程序停止、夹紧松开等辅助动作。机床厂家常会扩展或重定义部分 M 代码,现场使用以机床说明书为准。
| 代码 | 含义 | 示例/说明 |
|---|---|---|
M00 | 程序停止 | 无条件停止,按循环启动后继续执行 |
M01 | 选择停止 | 面板选择停止开关有效时才停止 |
M02 | 程序结束 | 程序结束,通常不复位到程序开头 |
M03 | 主轴正转 | S1200 M03:主轴以 1200 rpm 正转 |
M04 | 主轴反转 | S800 M04:主轴以 800 rpm 反转 |
M05 | 主轴停止 | 停止当前主轴旋转 |
M06 | 自动换刀 | T01 M06:调用 1 号刀并换刀 |
M08 | 冷却液开启 | 开启切削液/冷却泵 |
M09 | 冷却液关闭 | 关闭冷却液 |
M10 | 夹紧/锁紧 | 常用于夹具、第四轴或卡盘夹紧,依机床定义 |
M11 | 松开/解锁 | 常用于夹具、第四轴或卡盘松开,依机床定义 |
M13 | 主轴正转并开冷却 | 等效功能常见为 M03 + M08 |
M14 | 主轴反转并开冷却 | 等效功能常见为 M04 + M08 |
M19 | 主轴定向 | 换刀、镗孔退刀或定位加工前使主轴定向 |
M30 | 程序结束并复位 | 程序结束,通常返回程序开头 |
M48 | 进给/主轴倍率有效 | 允许倍率开关生效,依系统参数确认 |
M49 | 进给/主轴倍率无效 | 取消倍率影响,依系统参数确认 |
M60 | 托盘交换 | 加工中心常见 APC 托盘交换,依机床配置 |
M98 | 子程序调用 | M98 P1000 L2:调用子程序 O1000 两次 |
M99 | 子程序返回/循环 | 子程序末尾返回主程序;主程序中可能形成循环 |
T 代码(刀具)
T 代码用于指定刀具号、刀补号或触发换刀流程。加工中心与车床格式常见差异较大。
| 代码 | 含义 | 示例/说明 |
|---|---|---|
T01 | 选择 1 号刀 | 加工中心常用 T01 M06 执行自动换刀 |
T12 | 选择 12 号刀 | T12 M06:调用刀库中 12 号刀 |
T0101 | 刀具号 + 刀补号 | 车床常见格式:前两位为刀号,后两位为补偿号 |
T0100 | 调用刀具并取消补偿 | 车床中常用于保留刀号、取消刀补号 |
T0000 | 取消刀具/刀补 | 车床中常用于取消当前刀具补偿状态 |
S 代码(主轴)
S 代码用于设定主轴转速或恒线速度目标,通常需要配合 M03、M04、G96、G97 使用。
| 代码 | 含义 | 示例/说明 |
|---|---|---|
S1200 | 设置主轴转速 | S1200 M03:主轴正转,目标转速 1200 rpm |
S800 | 设置较低转速 | S800 M04:主轴反转,目标转速 800 rpm |
G97 S1500 | 恒转速模式 | 取消恒线速度,主轴固定为 1500 rpm |
G96 S180 | 恒线速度模式 | 车床常用,设定切削线速度 180 m/min |
G50 S3000 | 主轴最高转速限制 | 车床恒线速度加工时限制最高转速 |
F 代码(进给)
F 代码用于设定切削进给速度。进给单位由 G94、G95 等模式决定。
| 代码 | 含义 | 示例/说明 |
|---|---|---|
F100 | 设置进给值 | G01 Z-5. F100:按当前进给模式以 100 进给 |
G94 F200 | 每分钟进给 | 常见单位为 mm/min,如 200 mm/min |
G95 F0.2 | 每转进给 | 常见单位为 mm/rev,如主轴每转进给 0.2 mm |
G01 X50. F150 | 直线切削进给 | 与 G01、G02、G03 等切削运动配合 |
G00 | 快速移动不受 F 控制 | 快速定位速度通常由机床参数和倍率控制 |
坐标地址与常用地址字
地址字用于给 G/M/T/S/F 等指令提供坐标、半径、补偿号、循环参数或宏参数。
| 代码 | 含义 | 示例/说明 |
|---|---|---|
X | X 轴坐标 | X100.:X 轴移动到或增量移动 100 |
Y | Y 轴坐标 | Y50.:Y 轴移动到或增量移动 50 |
Z | Z 轴坐标 | Z-10.:Z 轴移动到或增量移动 -10 |
A | A 旋转轴 | 通常为绕 X 轴旋转的第四轴 |
B | B 旋转轴 | 通常为绕 Y 轴旋转的旋转轴 |
C | C 旋转轴 | 通常为绕 Z 轴旋转的旋转轴 |
U | X 轴增量地址 | 车床常用,表示 X 方向增量 |
V | Y 轴增量地址 | 表示 Y 方向增量,是否启用依系统配置 |
W | Z 轴增量地址 | 车床常用,表示 Z 方向增量 |
I | 圆弧圆心 X 向偏移 | G02 X50. Y0 I25. J0 中 I 为圆心 X 偏移 |
J | 圆弧圆心 Y 向偏移 | G03 X0 Y50. I0 J25. 中 J 为圆心 Y 偏移 |
K | 圆弧圆心 Z 向偏移 | ZX/YZ 平面圆弧中常用 |
R | 圆弧半径/固定循环 R 点 | G03 X50. Y0 R25.;钻孔中 R2. 为返回平面 |
P | 暂停时间/程序号/参数 | G04 P1000;M98 P1000 调用子程序 |
Q | 每次切深/啄钻量 | G83 Z-30. Q5.:每次钻深 5 |
D | 刀具半径补偿号 | G41 D01:调用 D01 半径补偿 |
H | 刀具长度补偿号 | G43 H01 Z50.:调用 H01 长度补偿 |
L | 重复次数/参数选择 | M98 P1000 L3:子程序重复 3 次 |
N | 程序段号 | N100 G01 X50.:程序段编号便于检索 |
O | 程序号 | O1000:定义或调用程序编号 |
常用组合速查
| 代码 | 含义 | 示例/说明 |
|---|---|---|
G21 G17 G40 G49 G80 G90 | 加工中心安全初始化 | 公制、XY 平面、取消半径/长度补偿、取消循环、绝对编程 |
G54 G00 X0 Y0 | 选择坐标系并快速定位 | 选择 G54 后快速到工件坐标原点 |
T01 M06 | 换 1 号刀 | 加工中心常用换刀格式 |
S1200 M03 | 主轴正转 | 设定 1200 rpm 并启动主轴正转 |
G43 H01 Z50. | 启用刀长补偿 | 调用 H01,移动到安全高度 Z50. |
M08 / M09 | 冷却液开/关 | 加工开始开冷却,加工结束关冷却 |
G91 G28 Z0 | Z 轴回参考点 | 常用于退刀回零,注意增量模式风险 |
M05 M30 | 主轴停止并结束程序 | 程序末尾常用组合 |
使用提示
| 代码 | 含义 | 示例/说明 |
|---|---|---|
G00 | 快速移动需防撞 | 首次运行建议单段、空运行、降低倍率 |
G90 / G91 | 绝对/增量模式需明确 | 回零、阵列加工、宏程序中尤其要确认当前模式 |
G54-G59 | 工件坐标系需核对 | 加工前确认零点、夹具、刀补与程序一致 |
M 代码 | 厂商定制较多 | 夹紧、松开、排屑、吹气、门锁等功能以机床说明书为准 |
T / H / D | 刀具与补偿需匹配 | 确认刀号、长度补偿号、半径补偿号与实际装刀一致 |

