要点速览
CNC 编码到底是什么
CNC 编码是把刀路变成机床控制器可读文本的步骤。控制器看不到模型,它看到的是行,每一行是一组字。一个字是字母加数字:G01 X42.5 Y18.0 F250。字母表示后面是什么信息,数字给出数值。
核心就是这些。CNC 编码基础中的其余内容都是建立在其上的约定:有哪些字母、哪些数字合法、以及一行不完整时控制器如何处理。一旦你能读一段文本并想象出刀具的运动,你就能审查程序,而不是盲目信任它。
两类代码承担大部分工作。G 代码描述运动和机床状态。M 代码开关功能,如主轴旋转、切削液和程序停止。Fanuc 风格控制器在铣削和车削中占主导,所以即使机床是其他品牌,车间里也多用这套术语。
对采购来说,这件事的实际意义是成本。尊重装夹、刀具清单和公差带的程序一次走完。与装夹相冲突的程序会多出第二套工装夹具、第二次测头循环,或报废一批零件。
- 1程序段程序中的一行,以行号或段结束符结尾。
- 2字一个地址字母加其数值,例如 T07 或 S8000。
- 3模态保持有效,直到同组另一代码替换它。
- 4非模态仅在其出现的程序段中生效。
G 代码组与运动代码的行为
运动代码属于第 1 组。G00 快速移动,G01 直线进给,G02 和 G03 分别顺时针和逆时针切削圆弧。同一时间只能有一个生效。如果程序段中没有运动代码,控制器重复上一个,所以 X50.0 Y20.0 这样的行仍会移动刀具。
圆弧程序段需要的不仅是终点。G02 X50.0 Y20.0 I10.0 J0.0 描述圆弧中心相对起点的位置。I 和 J 写错,控制器要么报警,要么切出你没画的凸起。许多控制器也接受半径地址 R,但 R 无法描述大于半圆的圆弧。
进给率也是模态的。F250 在 G94 模式下表示每分钟 250 mm,在 G95 车削模式下表示每转 0.25 mm。这是 CNC 编码基础中最常见的单位陷阱。按每分钟进给编写的程序,在设为每转进给的控制器上运行,要么爬行,要么断刀。
快速移动不是切削移动。G00 应保持在安全高度,直到刀具定位到位,再用 G01 下刀。CAM 软件会自动这样做,但手工编辑常删掉退刀行,深腔过切往往就出在这里。
- 1G00 快速仅定位,绝不进入毛坯。
- 2G01 直线按编程 F 值直线进给切削。
- 3G02 / G03顺时针和逆时针圆弧,用 I、J、K 或 R。
- 4G17 / G18 / G19选择圆弧插补和刀具补偿的平面。
M 代码、主轴与切削液
M 代码处理循环中非运动的部分。M03 主轴顺时针启动,M04 逆时针,M05 停止。M08 和 M09 控制大流量切削液。M06 调用换刀,通常与程序中先前预备的 T 号配合。
有些 M 代码因控制器而异。M30 结束程序并回卷。M00 是无条件停止。M01 是可选停止,仅在操作员启用时生效,所以它出现在手动测量之前。如果一台控制器对某代码的处理不同,两家车间运行同一文件会得到不同行为。
程序段内的顺序很重要。主轴启动应在第一次进给切入材料之前,切削液应在刀具接触毛坯之前。顺序颠倒不总是致命,但在深腔中意味着前几毫米是干切。
在车铣复合和多轴机床上,代码清单更长。同步代码协调两个刀塔或副主轴,棒料进给或接料指令也是 M 代码。读法不变:字母、数字、状态。
偏置、单位与工件坐标系
程序说明刀具去哪里。偏置说明零件在哪里。工件偏置通常为 G54 到 G59,把机床坐标系平移到毛坯角点或工装夹具基准。刀长偏置告诉控制器当前刀具相对参考的长度。
如果换刀后零件偏差 0.05 mm,而换刀前是好的,首先检查刀具长度补偿。如果所有特征都偏移相同的量,则是工件坐标系偏置错了。这两种症状可以区分两套系统,值得在车间里记住。
单位用 G20 声明英寸,用 G21 声明毫米。该声明是模态的,所以程序顶部一行就能设定整个文件。以英寸启动的系统读取公制程序时会多走 25.4 倍的距离,这就是为什么已验证程序的第一段从不随意修改。
在我们自己的 127 台高精度 CNC 设备上,包括 16 台五轴联动加工中心,我们根据装夹模型设定工件坐标系偏置,并在第一次切削前用测头验证。公差窗口为 ±0.005 mm(±0.0002 in),所以几个百分之一的偏置误差就已经是废品。
CNC 编码难在哪里
简单的 2.5D 加工容错性高。型腔、轮廓和钻孔可以手工编辑,风险不大。情况在 3D 曲面、薄壁和五轴刀矢上就不同了,系统必须在许多短直线段之间插补,小误差会累积成可见的刀纹。
刀具跳动、材料回弹和热膨胀不在程序里。钛合金型腔和铝合金型腔可以用同一段代码,却加工出不同的壁面。这就是精加工余量通常留得小的原因,也是不能假设在 6061 上能用的程序在 Inconel 或 TC4(Ti-6Al-4V)上也能用的原因。
仿真能发现碰撞,发现不了策略问题。已验证的程序仍可能振刀、烧刀或超差,因为步距、刀具伸出长度或工件夹持不对。仿真回答的是机床会不会撞,不是零件会不会合格。
CNC 编码基础在多工序加工中就不够用了。一旦零件需要第二道工序、重新找基准或车铣交接,风险就从代码转移到工艺方案。只看程序无法判断零件能否保证 ±0.005 mm。
代码族及各自控制的内容
逐段审查程序时使用。
| 代码组 | 典型值 | 决定什么 | 注意事项 |
|---|---|---|---|
| 运动 | G00 G01 G02 G03 | 路径形状与进给 | 圆弧缺少 I 或 J |
| 平面 | G17 G18 G19 | 圆弧与补偿平面 | 车床上用错平面 |
| 单位 | G20 G21 | 英寸或毫米输出 | 编辑后数值混用 |
| 进给模式 | G94 G95 | 每分钟或每转 | 手动改动了车床进给 |
| 补偿 | G40 G41 G42 | 刀具半径补偿 | 顺铣时补偿方向反了 |
| 工件偏置 | G54–G59 | 零件原点在机床中的位置 | 沿用上一工件的旧偏置 |
| 换刀 | T 和 M06 | 下一把刀与换刀 | 调用后才备刀 |
| 切削液 | M08 M09 | 切削液开与关 | 深腔第一刀干切 |
工程师接下来会问的问题
G 代码和 CNC 编码是一回事吗?
G 代码是 CNC 编码中最直观的部分,但该术语涵盖整条链:CAD 模型、CAM 刀路、后处理器输出、偏置和机床装夹。两家工厂可以运行相同的 G 代码却做出不同的零件,因为偏置和装夹不同。
程序验证需要多长时间?
对于单件原型,空运行加单段首件通常就够了。对于重复批量生产,首件按图纸检测,检测报告随程序版本一起保存,使下一次运行从已知状态开始。
可以只按图纸而不按 3D 模型加工吗?
可以,对于由尺寸和简单特征定义的零件。许多车削件和板件用 2D 图纸就够了。复杂曲面用 3D 模型更快更稳妥,因为刀路由图纸所描述的同一几何生成。
已验证的程序能保证什么公差?
我们车间的加工公差为 ±0.005 mm(±0.0002 in),精加工表面粗糙度可达 Ra 0.2–0.8 μm,普通加工表面为 Ra 1.6–3.2 μm。要在实际零件上达到这些数值,程序必须与机床、刀具和检测方法相匹配。
分享模型前需要签 NDA 吗?
不需要,但我们可以签。上传文件按保密处理,NDA 可应要求提供。文件仅用于报价和零件本身,检测报告可应要求出具。
报价程序或零件需要提供什么?
3D 模型或标注尺寸的图纸、材料、数量和关键公差。报价和 DFM 分析在 12 小时内返回,批准后 24 小时内可开始生产。没有最小起订量限制,从 1 件原型到 10,000+ 件批量均可。
