GM 代码 CNC 加工到底是什么
GM 代码 CNC 加工就是把一串字母加数字的字变成机床运动。程序是一叠程序段。每个程序段是一行,每行携带 G01、X50.0、F250 或 M08 这样的字。控制器按顺序读取程序段并驱动机床。看到格式之后,它一点也不抽象。
G 字母是准备功能。它告诉控制器接下来是哪种运动或模式。G00 是快速定位,G01 是直线进给,G02 和 G03 是圆弧。M 字母是辅助功能,也就是机床功能。M03 启动主轴正转,M05 停止主轴,M08 打开切削液。
其余都是数据。X、Y、Z 是坐标。F 是进给率,单位 mm/min 或 in/min。S 是主轴转速。T 选择刀具,H 或 D 选择与之对应的偏置寄存器。一个程序段可以同时包含多个字,控制器在移动任一轴之前会先解析全部字。
读一行真实代码,逻辑很快就清楚了。N100 G01 X50.0 Y25.0 F250 M08 的意思是:第 100 行,以 250 mm/min 直线进给到该点,切削液开启。这一行里没有任何内容是给人下命令,它是对伺服下命令。
G 字和 M 字各司其职
G 字设定机床模式。其中大多数是模态的,意思是控制器会记住最后一个,直到同一组中的另一个 G 字替换它。写一次 G01,接下来二十行都会直线进给,即使那些行只带 X 和 Y 值。
M 字触发一个动作。有些也是模态的,但大多数是一次性的。M08 打开切削液并保持开启。M30 结束程序并倒回开头。在某些控制器上,如果换刀前忘了 M09,切削液会在换刀过程中继续流动,淹没工件夹持。
陷阱在于模态状态跟随刀路,而不是跟随注释。早前工序遗留的 G41 刀具补偿或 G43 刀具长度偏置,会悄悄偏移之后的每一次切削。好的 PDF 参考正是因此把模态组印在代码列表旁边。
01 组最关键:G00、G01、G02 和 G03 都在这一组。同一时间只能有一个生效。02 组涵盖平面选择,G17、G18 和 G19。03 组是单位,G20 为英寸,G21 为毫米。用错单位组启动程序,每个尺寸都会差 25.4 倍。
如何用 PDF 指南而不必背下来
PDF 指南是查询表,不是教科书。不要从头读到尾。把它开在第二块屏幕上,搜索你正盯着看的那个字,然后关掉。价值在于排版:单一按字母或数字排列的列表,每个字一行,旁边印着模态组。
指南好用的关键在于把阅读和编写分开。读程序是搜索你不认识的那个字。写程序是先检查组,避免在同一程序段里堆两个同组的字。这是两种不同的任务,好的指南两者都支持。
大多数下载来的指南的失败之处在于混用了控制器。Haas 的 M 代码列表不是 Siemens 的列表,两者也都对不上 Mitsubishi 线切割。信任某一行之前,先看封面上的控制器系列。如果指南没有写明控制器,就只当通用参考。
把你实际用到的十个字打印出来贴在机床上。对大多数三轴铣削工作来说,就是 G00、G01、G02、G03、G17、G21、G43、G54、M03 和 M08。四页速查表胜过你从不打开的 300 页 PDF。其余的留在文件里。
手写代码在哪些场合仍然合理
没人会用 G&M 代码手写五轴叶轮程序。CAM 软件处理曲面数学、刀轴倾斜和碰撞检查。工程师仍然手写的是小东西:一次端面走刀、一次定心钻、一个去毛刺循环、一个测头程序、一个断刀后的恢复程序段。
这就是边界。如果几何形状可以用几个坐标、一个半径和一个进给来描述,直接写比打开 CAM 会话更快。如果几何形状需要曲面模型,手写代码就成了责任。两者的分界通常在你需要两个以上轴联动的地方。
在我们自己的车间里,比例大致如你所料。CAM 生成零件几何,手写或编辑的代码处理装夹程序段、工件偏置、在机测量和返修刀路。在 4,000 mm 的零件上,装夹程序段和刀路一样重要,因为一个错误的 G54 代价比慢进给更大。
一条实用规则:如果手写程序段无法在几分钟内通过空运行验证,就放回 CAM。主轴停止、Z 偏置抬高后空切程序的成本很低。报废一个接近完工的零件则不然。
导致零件报废的模态、偏置和单位错误
这些错误在各家车间反复出现。程序头缺少 G21,会让公制程序跑在英制控制器上。G43 没有正确的 H 号,要么空切,要么更糟,切到虎钳。上一道工序遗留的 G41 仍处于激活状态,会让下一个轮廓偏移半个刀具直径。
偏置错误代价最高,因为代码看起来没问题。程序读起来完全正确,仿真干净,零件却仍然做错,原因是刀具长度寄存器装入了错误的数值。要在机床上核对偏置,而不是在文件里核对。
接下来是圆弧错误。G02 和 G03 需要正确的平面处于激活状态,有些控制器会拒绝起点与终点半径在公差内不匹配的圆弧。0.01 mm 的半径不匹配,在一台控制器上可能触发报警,在另一台上则切出可见的台阶。
切削液和主轴状态是最安静的一类。手动换刀前 M03 没有对应的 M05,或者 M08 始终没有 M09,这首先是安全问题,其次才是质量问题。把每个 M 字都当作人必须能看到和听到的东西。
常用字及其适用场合
数值为 Fanuc 风格控制器的典型值。务必对照机床制造商手册确认。
| 字 | 作用 | 何时重要 |
|---|---|---|
| G00 | 快速移动,不切削 | 切削之间的定位;注意间隙 |
| G01 | 以 F 进给率直线进给 | 每一段直线切削 |
| G02 / G03 | 顺时针/逆时针圆弧 | 圆角、过渡圆角、圆形型腔 |
| G17 / G18 / G19 | 选择激活平面 | 某些控制器上 G02 或 G03 之前需要 |
| G20 / G21 | 英制/公制输入 | 程序第一行,每次都要 |
| G28 | 返回机床原点 | 装夹、报警后恢复 |
| G41 / G42 | 刀具补偿左 / 右 | 需要补偿刀具半径的轮廓 |
| G43 | 应用刀具长度偏置 | 新刀第一次切削之前 |
| G54–G59 | 工件坐标系 | 同一工作台上多个虎钳或工装夹具 |
| M03 / M04 / M05 | 主轴正转/反转/停止 | 每个切削循环的开始和结束 |
| M06 | 换刀 | 仅在安全 Z 高度和主轴停止时 |
| M08 / M09 | 切削液开 / 关 | 深腔、铝件、排屑困难 |
| M30 | 结束程序并回卷 | 文件的最后一个程序段 |
工程师常问的 G&M 代码问题
G 代码在每台 CNC 机床上都一样吗?
不是。G00、G01、G02、G03 接近通用,M03、M05、M30 也一样。除此之外,字地址在 Fanuc、Haas、Siemens、Mitsubishi 和 Heidenhain 控制器之间会有差异。
下载的 PDF 指南在核对封面页之前,一律按控制器专用对待。如果它没有写明控制器系列,只作一般阅读,任何关键内容都要对照机床制造商手册确认。
能否手动修改 CAM 程序而不破坏它?
可以,这是常规做法。CAM 输出文件后,装夹程序段、工件偏置、进给倍率、测头程序和返修刀路通常都手动修改。
修改要小且隔离。改一处,空运行,再执行。在五轴侧刃铣削中手动修改刀路,正是容易出问题的地方。
CNC 程序中的模态是什么意思?
模态指控制器会记住该字,直到同组的另一个字替换它。G01 对后续只带坐标的每一行都保持激活。
这既方便又危险。前道工序遗留的 G41 或 G43 仍处于激活状态,会继续作用于下游很远的切削。所以好的参考指南会在每个代码旁印出模态组。
CAM 软件已输出代码,还需要 PDF 指南吗?
如果只按启动,不需要。如果负责装夹、试切或排查机床故障,就需要。你需要读懂别人写的程序,找出引发报警的那一个字。
多数车间靠一张打印的速查表就够了,上面是实际用到的十到十五个字,其余内容放在网络上的完整手册里。
五轴机床上 G&M 代码有何不同?
它增加了旋转轴,通常是 A、B 或 C,还增加了更多偏置和运动学处理。五轴联动需要控制器知道刀尖点,因此 G43.4 或类似功能成为其中一部分。
到了这一步,手写就不实际了。我们运行 16 台五轴联动加工中心,每一台的零件几何都由 CAM 提供。
代码正确后能保证什么公差?
代码正确是前提,不是结果。在我们的机床上,精密件可做到 ±0.005 mm(±0.0002 in),精加工表面粗糙度 Ra 0.2–0.8 μm,标准高光洁度走刀为 Ra 0.8–1.6 μm。
这些数值取决于刀具、材料和装夹,与程序同样重要。发货前 100% 检验,可按要求提供报告。
