精通 G 码与 M 码:CNC 编程终极指南
引言
您可能觉得掌握 G 码与 M 码很难,实则不然。对 CNC 加工感兴趣或从事 CNC 机加工工作,深入理解这两类代码将助您高效履职。
为此我们整理了完整指南,涵盖:
- G 码与 M 码基础
- CNC 编程发展史
- 机床编程在 CNC 加工中的角色
- G 码与 M 码指令列表
……等更多内容。让我们先破解 G&M 码。
什么是 G 码与 M 码?
不精通 CNC 机床正确用法,无法加工零件。如何熟练驾驭 CNC 机床?
答案在于学习 CNC 编程语言,掌握 G 码、M 码等加工代码。不懂这些代码,就无法成功制造 CNC 零件。现在快速了解这两类代码。
G 码
G 码是最通用的编程语言。 在 CNC 编程中,G 码如同控制器与指挥官,掌控机床运动轨迹,规定如何、何处移动以成型最终产品。
M 码
M 码用于特定机床功能。 M 码控制启停特定动作或程序等非几何运动功能。
G 码与 M 码协同完成 CNC 零部件制造,是制造业与工业领域的基石。
CNC 编程发展史
20 世纪 50 年代末,MIT 伺服机构实验室开发了首个数控编程实现。此后多家商业/非商业机构开发各类数控编程,G 码为主流。
1960 年,美国电子工业联盟标准化了数控编程语言,1980 年 2 月定稿。BCL(二进制刀具语言)是标准化 G 码版本之一,用于控制 CNC 机床直线与圆弧运动。
1970-1990 年代,刀具制造商试图通过标准化机床控制器解决兼容性问题。2010 年后,随着 CAD/CAM 应用普及,控制器差异不再是障碍。
维基百科指出:“G 码初期缺乏循环、条件运算符、程序员声明变量,无法编码逻辑。” 现今 G 码已具备宏语言能力,更接近高级编程语言。
机床编程在 CNC 加工中的角色
CNC 中的“C”代表“Computer”(计算机)。计算机只理解特定语言执行任务,CNC 编程同理。机加工师可手动输入程序或用 CAD 软件生成,无论哪种方式,代码必须完美无误。
计算机编程普及前,NC 编程以纸质介质存储,维护多程序极其困难。
CNC 编程如何控制 CNC 机床?
计算机出现前,机加工师用穿孔卡/磁带控制机床,编码繁琐且介质易损易丢,生产多发故障。计算机普及解决了大部分问题,但早期仍需手动输入代码,复杂零件指令繁多,编码劳动量大。后随高级计算机普及,机加工师仅需指导软件,CAD/CAM 软件自动生成机床可识别的 G/M 码,极大简化编码。
深入理解 G 码与 M 码
什么是 G 码?
G 码即 RS-274D。维基百科定义:G 码是最广泛使用的计算机数控编程语言,控制多种计算机工具,有不同方言,采用逻辑语言编写。G 码中“G”代表“Geometry”(几何)。指令 CNC 机床时,“G”加特定数字即命令改变被加工零件的几何形态。
常用 G 码
- G00 – 快速移动(至指定坐标)
- G01 – 线性插补进给
- G02 – 顺时针圆弧插补进给
- G03 – 逆时针圆弧插补进给
以上 G 码后均跟随几何坐标(X、Y 平面坐标)。
G 码功能字母
G 码不只用 G,还涉及以下字母:
- A:绕 X 轴旋转刀具
- R:指定圆弧半径
- X、Y、Z:刀具三维位置(X 水平、Y 垂直、Z 深度)
- I、J:圆弧增量圆心
- N:程序行号
- F:进给速度
- S:主轴转速
- T:刀具选择
- B:绕 X 轴旋转值
- C:辅助轴绕 Z 轴旋转
- D:刀具直径补偿
- L:循环次数
- P:延时/跳转
具体字母取决于机床能力。G 码可循环执行直至停止。G 码为单字母命令,指令机床做什么,也可控制主轴启停等,赋予 CNC 机床可编程柔性。多数指令为字母数字格式,不同机床读取格式不同(空格有无、字母与数字间零的数量),机加工师须熟悉机床特性以免出错。
如何读取 G 码?
- 步骤 1: 拆解长指令为笛卡尔坐标与标记。
- 步骤 2: 优先识别熟悉代码,借助键位回忆遗忘代码。每串数字有序,G 码遵循严谨结构执行功能。
什么是 M 码?
M 码是控制机床整体程序的机床控制语言,指挥机床功能。M 代表“Miscellaneous”(杂项),亦称“Machine code”,控制非切削操作。无 M 码只能执行 G 码的三大基本运动。需停止程序、换刀、开关冷却液等操作时,必须掌握 M 码。
M 码功能
M 码控制所有非几何机床功能(主轴启停、托盘交换、冷却液开关等)。M 码有两类动作:如冷却液开启后需在温度下降时关闭。M 码方言也因机床而异(如字母与数字间是否需零)。
常用 M 码
- M00 – 停止(当前程序功能)
- M01 – 主轴顺时针旋转
- M08 – 冷却液开启
- M09 – 冷却液关闭
M 码比 G 码更针对特定机床,高度可定制,不同机床差异大(如是否支持字母与数字间加零)。
注意! 设置 G/M 码时,每块信息仅允许一条 M 码命令。M 码可控制机床启停,重复使用会导致程序故障。
如何读取 M 码?
M 码不单独使用,需与其他代码配合激活机床理想设置,显得复杂。但同 G 码一样,有特定顺序保障加工流程顺畅。
G 码与 M 码指令列表
本节列出常用 G/M 码及含义。代码由字母+数字+附加单位组成,部分含义相同,部分单位含义不同。G 码近百条,车削与铣削机床代码有别但也有共用。以下列表供参考。
CNC 车床 G 码表
| G 码 | 功能 |
| G00 | 快速定位运动 |
| G01 | 线性插补运动/线性移动、倒角圆角 – 模态 |
| G02 | 顺时针圆弧插补运动 – 模态 |
| G03 | 逆时针圆弧插补运动 – 模态 |
| G04 | 停顿 (P) P=秒.毫秒 |
| G05 | 精细主轴控制运动(动力刀具) – 可选 |
| G09 | 精确停止 |
| G10 | 可编程偏置设定 |
CNC 车床 M 码表
| M 码 | 功能 |
| M00 | 程序停止 – 模态 |
| M01 | 可选程序停止 – 模态 |
| M02 | 程序结束 – 模态 |
| M03 | 主轴正转 (S) – 模态 |
| M04 | 主轴反转 (S) – 模态 |
| M05 | 主轴停止 – 模态 |
| M08 | 冷却液开启 – 模态 |
| M09 | 冷却液关闭 – 模态 |
| M10 | 卡盘夹紧 – 模态 |
CNC 铣床 G 码表
| G 码 | 功能 |
| G00 | 快速移动 |
| G01 | 线性插补运动 |
| G02 | 顺时针插补运动 |
| G03 | 逆时针插补运动 |
| G04 | 停顿 |
| G09 | 精确停止 |
| G10 | 可编程偏置设定 |
| G12 | 顺时针圆周铣削 |
| G13 | 逆时针圆周铣削 |
| G17 | XY 平面选择 |
CNC 铣床 M 码表
| M 码 | 功能 |
| M00 | 程序停止 |
| M01 | 可选程序停止 |
| M02 | 程序结束 |
| M03 | 主轴顺时针 (S) |
| M04 | 主轴逆时针 (S) |
| M05 | 主轴停止 |
| M06 | 换刀 (T) |
| M08 | 冷却液开启 |
| M09 | 冷却液关闭 |
| M10 | 第 4 轴制动开启 |
G 码与 M 码的核心区别
- G 码关注几何,M 码关注杂项机床功能。
- G 码随机床差异大,M 码在大多数机床中相对统一。
- G 码指令机床运动与产品成型,M 码执行非运动操作。
- G 码启动 CNC 机床,M 码启动机床可编程逻辑控制器 (PLC)。
谁需要学习 G 码与 M 码?
凡在机加工厂工作或意向从事 CNC 编程者,均须掌握两类代码。无论岗位,理解 G/M 码均为必修课。深度视职责而定:基础认知或精通皆可。多数机加工厂提供培训强化员工编程能力。
CNC 机床运行通常无需人工干预,但视零件与工艺而定。编程完成后一般无需修改,若精度不足,仅资深工程师、调试专家、主管可微调。
想深入学习?推荐 TITANS 的 CNC 手动编程教学视频。
结语
G 码与 M 码本质不同:G 码管Geometry(几何),M 码管Machine(机床功能)。G 码让 CNC 机床可编程,赋予制造几乎任意零件的柔性。CNC 编程依赖 G/M 码精确指令机床何时移动、移至何处、如何移动。不懂 G/M 码,无法开启 CNC 机加工职业生涯。
感谢阅读,希望助您更好理解 G/M 码。您今天从中学到了什么有趣知识?欢迎评论分享。
数控机床