精通 G 代码:CNC 机床的通用语言

编程是所有 CNC 加工的基础技能,即使自动化与新技术似在替代编程任务。每位机加工师仍需读懂程序与刀具运作。无论 CNC 编程新手或手写代码多年老手,G 代码——最通用 CNC 语言——常如外语般晦涩。更糟者:每台机床方言不同,必须精通。您听懂它们在说什么吗?掌握下列 G 代码编程基础,高效读写高质量加工程序。
什么是 G 代码?
G 代码是指令机床如何/何处运动的 CNC 编程语言。多数机床说不同“方言”,代码随类型/品牌/型号异。每机床附说明书,列该机特定功能代码。
G 代码即“几何代码”,遵循字母数字模式:
N## G## X## Y## Z## F## S## T## M##
N:行号
G:运动模式
X:水平位置
Y:垂直位置
Z:深度
F:进给率
S:主轴转速
T:刀具选择
M:杂项功能
I、J:圆弧增量圆心
R:圆弧半径
字母数字码用于 G 代码编程,因其简洁实现:
- 定义运动/功能 (G##)
- 声明位置 (X## Y## Z##)
- 设定数值 (F## 和/或 S##)
- 选择项目 (T##)
- 开关控制 (M##),如冷却液、主轴、分度运动、轴锁定等
例:
G01 X1 Y1 F20 T01 M03 S500
通常指:线性进给移动 (G01) 至指定 XY 位置,进给率 20,用 1 号刀,主轴转速 500。M 码因机床异,需查说明书确认含义。
机床运动三基元
机床一切动作基于三基本运动:
- 快速移动:以最快速度线性移至 XYZ 位置
- 进给移动:以定义进给率线性移至 XYZ 位置
- 圆弧移动:以定义进给率做圆弧插补
每条 G 代码指定上述基本运动的变体及执行方式。
X、Y 为笛卡尔坐标水平/垂直位置,Z 代表深度。这些字母数字跟随运动/功能命令 (G) 声明机床位置。
F 决定进给率(进给/圆弧移动),S 决定主轴转速。T 选刀。其他如 I、J、R 涉及圆弧圆心与半径。
杂项代码 (M 码)
程序行常含 M 码,指示机床执行动作。虽不保证跨机通用,但常见标准 M 码:
- M00:程序停止
- M01:可选程序停止
- M02:程序结束
- M03:主轴顺时针启动
- M04:主轴逆时针启动
- M05:主轴停止
- M06:换刀
- M08:切削液开
- M09:切削液关
- M30:程序结束/回程序头
- M41:主轴低档
- M42:主轴高档
模态特性
如灯亮直到关灯,G 代码功能(支持模态的控制器)持续激活直到被另一代码取消。同一时刻仅一功能激活。取消功能:选新功能即可。

例:代码以 G00 X1 Y1 快速定位开始。下一行仍快速定位,无需重写 G00,仅写新位置 (X2 Y2) 因模态条件相同。改为线性进给 (G01),下行写 G01 即取消快速、激活进给。
条件一旦设定,持续生效直到关闭或被覆盖。
固定循环
固定循环是将完成常见任务的所有运动集成在单一代码中的模态条件。

例:G81 常为基础钻孔循环。基础钻孔需:1) 定位孔位起点 2) 快移至安全平面 3) 进给至深度 4) 快退。每新孔位重复 4 行代码!G81 激活后仅需指定孔位。固定循环如 G81 大幅精简代码。

G 代码中其他常见固定循环:深孔钻/啄钻、镗孔、攻丝。
模态代码组
模态组允许单行多码,但每组每行仅能有一码,因组内码互相覆盖。
G 码模态组:
- 第 1 组(运动):G00, G01, G02, G03, G80, G81, G82, G84, G85, G86, G87, G88, G89
- 第 2 组(平面选定 XY/YZ/ZX):G17, G18, G19
- 第 3 组(绝对/增量模式):G90, G91
- 第 5 组(进给率模式):G93, G94
- 第 6 组(单位 英制/公制):G20, G21
- 第 7 组(刀具半径补偿 CRC):G40, G41, G42
- 第 8 组(刀具长度补偿 TLO):G43, G49
- 第 10 组(固定循环返回模式):G98, G99
- 第 12 组(工件坐标系选择 WCSS):G54, G55, G56, G57, G58, G59

后处理器
后处理器是将屏幕上刀具路径计算像转译为机床控制语言的翻译器。可参考近似机床样例程序创建后处理器,再修正精准适配自有机床。
G 代码编程实用贴士
- 部分机床/控制器忽略空格。G01 X1 Y1 Z1 等同 G01 X1Y1Z1。
- Z 轴正方向向上。Z1 刀具上提,Z-1 刀具下降。
- 机床方言决定是否需前导零(G01 vs G1)。
- 方言决定小数点是否强制(如 G01 X1. Y1. Z0.5)。
- 建议先跑说明书自带样例程序。样例常跑不通,需记录问题、建立自有基准。
G 代码上手指南
准备好用 G 代码编程?先研读自有机床专属编码表。每台机床皆不同。Haas 的功能码未必等同 Anilam。必须知晓您的机床对目标任务用何代码。
程序常以初始化码 (%)、程序号起头。继之安全码行、换刀行(装刀、设转速)。主体为机床运动定位。
若用行号,建议按 ≥5 递增编号,后续插行仍保序。
编程收尾:系列停止/复位功能,备机床就绪待下一次。
正确用 G 代码,让 CNC 机加工师充分释放机床潜能。集成 CAD/CAM 如 Fusion 360 持续精简 CNC 编码流程,免手写 G 代码。高质量零件产出从未如此高效。

工业技术