GreatLight CNC 加工工厂 logo
CNC 加工
快速原型打样
材料
行业
新闻
关于 GL

获取即时报价

说明

CNC 编码基础

CAD 模型如何变成运动:G 代码字、M 代码指令、偏置与单位。面向需要在切削前判断程序、图纸或报价的工程师和采购。

G 代码与 M 代码单位与偏置±0.005 mmISO 9001:2015
CNC 编码基础:G 代码与 M 代码详解
简要版

要点速览

编码就是地址每个字母开启一个字:G 表示动作,X Y Z 表示位置,F 表示进给。
模态状态规则G 代码一旦激活,就保持有效,直到被替换或取消。
偏置设定原点工件偏置和刀长偏置决定零件实际所在的位置。
单位只声明一次G21 为毫米,G20 为英寸。混用会报废零件。
CAM 输出只是草稿每个程序都需要空运行和单段首切。
基础

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 软件会自动这样做,但手工编辑常删掉退刀行,深腔过切往往就出在这里。

  • 1
    G00 快速仅定位,绝不进入毛坯。
  • 2
    G01 直线按编程 F 值直线进给切削。
  • 3
    G02 / G03顺时针和逆时针圆弧,用 I、J、K 或 R。
  • 4
    G17 / 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切削液开与关深腔第一刀干切

何时信程序,何时信工艺方案

如果零件是 2.5D、单次装夹、铝合金,读 G 代码就够了。如果是五轴、薄壁或需要第二道工序,先审工艺方案再审代码,因为公差成败在此。

常见问题

工程师接下来会问的问题

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+ 件批量均可。

发送模型,获得可制造的答案

上传模型或图纸,我们的工程师在 12 小时内返回带 DFM 说明的报价。每个零件发货前都经过检测,程序随工件保留供下次运行使用。

12 小时报价100% 全检无最小起订量

其他内容

关注 GreatLight

我们发布来自工厂车间的装夹记录、刀具试验和检测数据。

FacebookTikTokYouTubeLinkedInInstagramThreadsPinterest

深受全球工程师和制造商信赖

Tesla Ford Motor Company 比亚迪汽车 电装 麦格纳国际 波音 空客 美敦力 库卡 发那科