要点速览
CNC 机床的 G 代码实际控制什么
G 代码是一组带编号的指令,机床控制系统逐段读取。每个程序段是一行,每行可包含多个字:G 代码指定运动模式,X/Y/Z 指定位置,F 指定进给,S 指定主轴转速。在铣床上,G0 以全速快速移动到某点。G1 按编程进给率直线进给。G2 和 G3 顺时针或逆时针走圆弧。
控制系统不对零件做任何决定,它只执行 CAM 后处理器交给它的内容。这就是为什么两家工厂加工同一模型,名义几何相同,加工节拍和表面处理却可能不同:G 代码背后的刀路、步距和进刀方式不一样。
程序段不是人类语言的句子。G1 X50.0 Y20.0 F800 在多数公制控制系统上表示以 800 mm/min 进给到该坐标,在英制编程的机床上则是 800 in/min。单位由 G20 和 G21 设定,混用是报废零件最快的方式之一。
- 1模态代码保持有效直到被更改,例如 G1、G54 或 G21。
- 2单次代码在所在程序段执行一次,例如 G4 暂停或 G28 返回。
- 3字顺序Fanuc 风格控制系统按固定顺序执行程序段,与书写顺序无关。
每个程序都会出现的运动代码
程序大部分由四个运动代码构成。G0 以快速移动,从不用于切削。G1 按指令进给率直线插补。G2 和 G3 切削圆弧,需要 R 字或 I、J、K 偏移来定义圆心。仅用 R 写整圆会有歧义,所以多数后处理器对超过 180° 的圆弧输出 I 和 J。
G17、G18 和 G19 选择圆弧插补和刀具补偿的平面。G17 是 XY 平面,覆盖几乎所有三轴铣削。G18 和 G19 出现在车床上,以及在 XZ 或 YZ 平面加工的零件上。选错平面,圆弧仍会运行,只是方向不是你想要的。
刀具补偿是另一组值得了解的代码。G41 将刀具偏置在路径左侧,G42 在右侧,G40 取消。在较老的控制系统上,操作员可在机床上输入磨损值调整尺寸,而不用修改程序。许多现代工厂把补偿留在 CAM 输出中,通过机床刀具表中的刀具半径偏置控制尺寸。
- 1G0快速定位。使用前先让刀具离开零件。
- 2G1直线进给移动。任何切削的主力。
- 3G2 / G3在当前平面内顺时针和逆时针圆弧。
- 4G40 / G41 / G42取消、左、右刀具补偿。
工件坐标系、刀具长度,以及 G54 为何无处不在
G54 到 G59 是工件坐标系。它们告诉控制系统零件原点相对机床原点的位置。三轴铣床上的台钳可能是 G54;同一工作台上的第二个台钳可能是 G55。同一程序无需任何修改即可在两个位置运行。G10 允许程序在代码内部写入这些偏置,这在批量工装夹具上很常见。
刀具长度补偿是另一回事。G43 应用当前刀具存储的长度偏置,通常配合 H 号。G49 取消。如果换刀后没有 G43 H 字,下一次 Z 移动会走到错误高度。在 ±0.005 mm 的加工精度下,缺少长度偏置不是小误差。
G28 将轴送回机床参考点,G30 前往第二参考点。两者都用于工序间的安全退刀。许多控制系统上,换刀前对 Z 轴执行 G28 是标准做法,因为它在刀库旋转前让主轴离开工装夹具。
G92 在程序内设定临时坐标偏移。它适合快速手动装夹,在生产文件中很危险,因为偏移会持续存在,如果没人清除,会与后续偏置叠加。
- 1G54–G59存储在控制系统中的零件原点,每个工装工位一个。
- 2G43 / G49应用和取消刀具长度补偿。
- 3G28 / G30将轴返回参考位置,用于安全退刀。
- 4G92临时偏移。不要用于生产程序。
固定循环与真正节省加工节拍的代码
固定循环把重复动作打包成一个程序段。G81是简单钻孔循环。G83分步啄钻,便于排屑,在深孔和6061、316L这类粘性材料中很重要。G73是高速啄钻,断屑但不完全退刀。G84攻丝,必须与主轴同步,否则丝锥会破坏螺纹。
在铣床上,G84刚性攻丝需要主轴编码器,且进给率等于螺距乘以转速。算错几个百分点,螺纹用通止规看似乎没问题,但通止规检验会不合格。G85铰孔带进给退刀,比快速退回的孔更直。
车床用相同编号表示不同循环。G71是粗车循环,G70精车,G76车螺纹。在铣床上,G76是精镗循环。程序员在两种机床间切换时不查控制手册,写出的程序能运行,但会切出错误形状。
固定循环在有限意义上具有模态性。G83激活后,每个新的X/Y位置都会钻一个孔,直到G80取消循环。在G0移动前忘记G80是典型撞机,因为控制系统会试图在新位置钻孔。
- 1G80取消任何激活的固定循环。移动前务必调用。
- 2G81 / G83普通钻孔和带排屑的啄钻。
- 3G84攻丝。进给必须等于螺距×主轴转速。
- 4G85铰孔,以受控进给退出孔。
M代码:主轴、切削液和换刀
M代码改变机床状态而非位置。M3主轴顺时针启动,M4逆时针,M5停止。M8开切削液,M9关。M6调用换刀,通常需要带刀具号的T字。在车床上,M3和M4同样设定主轴方向,但周围的G代码含义不同。
有些M代码是机床专用的。托盘交换器、棒料送料器或测头宏各用不属于任何标准的M代码。这些编号来自机床制造商,后处理器必须针对该具体机床配置。在不同制造商的机床之间复制这些代码不会生效。
程序结构以M30结束,停止程序并倒回开头。M0是计划停止,等待操作员。首件手动检查前用M0,同一程序的生产版本中要去掉。
安全启动块在这里声明所有内容。典型的安全启动块取消补偿、取消循环、用G90选择绝对定位、用G21设定单位,并在任何运动发生前调用第一个工件坐标系。
- 1M3 / M4 / M5主轴顺时针、逆时针和停止。
- 2M6换刀。与T字配对。
- 3M8 / M9切削液开和关。
- 4M0 / M30计划停止和程序结束并倒回。
G代码选择如何体现在成品零件上
两个程序可以产生相同的名义尺寸,却仍在关键方面不同。G1直线切入型腔壁会留下接刀痕。G2圆弧切入融入壁面,几乎不留痕迹。在可见外观面上,这一个程序段决定零件之后是否需要手工抛光。
进给和转速来自材料和刀具,而非控制系统。用6 mm硬质合金立铣刀以12,000 rpm切削7075铝是正常的。同样刀具以该转速加工Inconel几秒内就会损坏,因此G代码会携带低得多的S值和更轻的每齿进给。控制系统不知道区别。
热增长是人们忘记的部分。机床连续切削六小时,主轴和滚珠丝杠升温会产生漂移。G代码可以包含预热循环和定期重新探测参考特征。在±0.005 mm的工件上,跳过这一步会表现为生产批次中尺寸缓慢趋势。
表面粗糙度目标对刀路密度的影响超过任何单个代码。粗加工Ra 1.6–3.2 μm对粗加工走刀是正常的。小步距和恒定 engagement 路径的精加工走刀可达Ra 0.8–1.6 μm,精细精加工策略可推向Ra 0.2–0.8 μm。代码相同,背后的参数不同。
- 1切入方式圆弧切入隐藏接刀痕;直线切入不能。
- 2每齿进给由刀具和材料设定,而非控制系统。
- 3热漂移预热和重新探测在长时间运行中保持尺寸稳定。
- 4步距步距更小,表面更好,加工节拍更长。
当仅靠G代码不是正确答案时
手写G代码适合简单几何:一个面、一个槽、一个钻孔阵列。对于轮廓5轴曲面或有40个型腔的零件则是糟糕选择。平滑过渡刀路的数学不是人在控制面板前手敲的。CAM处理它,后处理器把结果转成G代码。
后处理器是大多数错误隐藏的地方。为3轴机床写的后处理器会输出看似有效但没有旋转轴运动的程序。装到5轴加工中心上,零件会以错误方向切削。每种机床型号,通常每台机床,都需要自己经过验证的后处理器。
有些特征仅靠刀路无法加工,无论G代码多好。尖锐内角需要带圆角的刀具,圆角会留在角落。倒扣需要不同刀轴或第二次装夹。深窄型腔需要长刀具,除非减小切深和步距,否则会让刀。
这时问题从编程转向工艺。如果几何需要五轴联动,或薄壁上的公差很紧,机床和装夹的选择比代码更重要。我们运行16台五轴联动加工中心以及27台三轴机床,因此同一零件可以按真正适合它的工艺报价。
- 1简单几何手写代码快速且易于验证。
- 2复杂曲面用经过验证的后处理程序做 CAM,是唯一可行的路径。
- 3内角刀具半径决定能切出的最小内角。
- 4薄壁决定可达公差的是让刀变形,不是代码。
同一段代码,不同机床:铣床与车床
这些数字的含义随控制系统类型而不同。
| 代码 | 在铣床上 | 在车床上 |
|---|---|---|
| G70 | 精加工循环,部分控制系统 | 粗加工轮廓的精加工循环 |
| G71 | 很少使用 | 带切削深度的粗加工循环 |
| G76 | 精镗循环 | 车螺纹循环 |
| G84 | 刚性攻丝循环 | 主轴转向指令 |
| G96 | 部分车床的恒线速度 | 恒线速度控制 |
| G98 / G99 | 固定循环返回平面 | 每分钟进给或每转进给 |
| G28 | 返回机床参考点 | 返回机床参考点 |
| G2 / G3 | 当前平面内的圆弧 | 零件轮廓上的圆弧 |
工程师接下来会问的问题
询价时需要附上 G 代码吗?
不需要。提供 3D 模型和带公差的 2D 图纸即可。我们根据 STEP 文件在内部生成刀路和 G 代码,并在切削前做 DFM 评审。
如果你已有针对特定机床验证过的程序,可以说明。这是有用的背景信息,但我们仍会按自己的机床几何和后处理进行核对。
生成 G 代码用哪种文件格式最好?
STEP 和 IGES 能干净地处理 3D 几何。DXF 适合平面零件和钣金轮廓。原生 CAD 文件也可以,PDF 图纸便于标注公差、基准和说明。
仅靠模型很少能承载全部信息。公差、表面处理标注和基准方案应写在图纸上。
同一零件能在 3 轴和 5 轴机床上加工吗?
通常可以,但装夹次数更多。3 轴机床每加工一个面都要重新定位零件,每次重新定位都会引入定位误差。5 轴加工中心一次装夹即可到达相同特征,通常各面之间的位置保持得更好。
对于四个面都有特征、且公差跨面累积的零件,5 轴路线更稳妥。对于带钻孔的简单板件,3 轴更快、更便宜。
程序在切削金属前如何验证?
我们针对毛坯模型和工装夹具模拟刀路,然后在几何风险高的地方做空运行或废料首件试切。首件检验合格后才开始批量加工。
每件产品发货前都经过检验,包括原材料检查、过程监控和终检。检测报告可按需提供。
材料会改变 G 代码吗?
结构不变,数值改变。6061 和 7075 铝用高主轴转速和轻切削载荷。316L 不锈钢和 17-4PH 用较低转速和更多切削液。钛合金 TC4 和 Inconel 转速更低,减小步距并注意控制热量。
这些材料我们都在内部加工,另外还有黄铜、铜、工具钢,以及 PEEK、碳纤维等工程塑料。
如果零件需要刀路无法产生的表面效果怎么办?
那就转到二次加工。喷砂、滚光、拉丝、抛光、阳极氧化、电镀和激光打标都在机加工后处理。激光打标最小字符高度为 1.5 mm。
加工程序仍然重要,因为表面越粗糙,达到最终表面效果所需的工作量越大。
