CNC Path Analyzer

G00 快速移动与 G01 直线切削:看似都是直线,为何不同

从速度、路径形状、模态性质和安全高度的角度说明 G00 与 G01 的区别,并以铣削示例介绍如何结合路径图阅读接近、下刀、切削和退刀的顺序。

一句话概括

G00 的意思是“尽快到达那个坐标”,G01 的意思是“以指定的进给速度 F 走一条精确的直线过去”。两者都只写终点坐标,但刀具是否允许接触工件则完全不同。

G00 与 G01 的速度差异

G00 会忽略程序中的 F 值,按机床参数中各轴设定的快速移动速度运动。加工中心上达到每分钟几十米的情况很常见。只能通过操作面板上的快速倍率(通常为 F0、25%、50%、100%)来降低速度。

G01 必须有进给速度。它使用同一程序段或之前程序段中指定的 F,单位取决于当前是 G94(每分钟进给,mm/min)还是 G95(每转进给,mm/rev)。许多车床控制器以 G98/G99 表示相同含义。在从未指定过 F 的状态下执行 G01,大多数控制器会报警。

路径形状:G00 不一定是直线

在屏幕上,G00 常被画成连接起点和终点的线,但实际机床可能不同。因为许多控制器在默认设置下让各轴同时以各自的最高速度起步。例如用 G00 在 X 方向移动 100 mm、Y 方向移动 20 mm,Y 会先到达,剩下的行程只有 X 在动,路径就成了一条折线(狗腿线)。

FANUC 系列可以通过参数选择直线型快速定位,但各台设备的设置不同。因此有经验的编程人员在 G00 移动经过压板或台钳附近时,会把轴分开写,例如先抬起 Z,再移动 XY。示例中的 G00 X-10. Y5. Z50. 只有在刀具已经处于高处的前提下才是安全的。

通过示例看接近、下刀、切削、退刀

从安全高度接近,以 2 mm 深度沿 U 形槽切削的铣削路径

O2001
T1 M6
G21 G90 G17 G40 G49 G80 G94
G54
S3000 M03
G00 X-10. Y5. Z50.
Z3.
G01 Z-2. F80
X60. F300
Y25.
X-10.
G00 Z50.
M30
从安全高度接近,以 2 mm 深度沿 U 形槽切削的铣削路径 — XY 路径XY
浅蓝虚线表示G00快速移动,橙色实线表示切削移动。圆弧以计算后的静态曲线展开。

上图是CNC Path Analyzer对该程序的解析结果 (快速移动 3 段, 直线切削 4 段).

逐行阅读原文

  1. G21 G90 G17 G40 G49 G80 G94:毫米单位、绝对坐标、XY 平面,取消刀具半径补偿、刀具长度补偿和固定循环,每分钟进给。这是在程序开头初始化模态状态的安全程序段。
  2. G00 X-10. Y5. Z50.:快速接近到工件外侧上方。
  3. Z3.:G00 是模态的,所以仍是快速移动。快速下降到工件上表面(Z0)以上 3 mm。
  4. G01 Z-2. F80:从这里开始切削。这是垂直下刀的区段,所以以 F80 缓慢下降。
  5. X60. F300:保持 G01,只把进给提高到 F300,沿 X 方向铣槽。
  6. Y25.、X-10.:以同样的 G01 和 F300 完成 U 形路径。
  7. G00 Z50.:快速退回到安全高度。

模态指令会持续有效

G00 和 G01 是属于同一组(01 组)的模态指令。一旦指令,在出现同组的其他代码(G01、G02、G03、固定循环等)之前一直有效。示例中像 Y25. 这样只有坐标的行也会作为切削执行,原因就在于此。

由这种性质引发的典型事故是“误以为是 G00 的 G01”以及相反的情况。如果在修改程序时删掉了写有 G01 的程序段,而下一行的坐标位于工件内侧,那么这一行会按之前的模式 G00 解释,刀具可能以快速移动而不是切削进给进入工件。删除程序段或调整顺序时,一定要重新确认上下各行会处于什么模式。

何时用哪一个

情况推荐理由
换刀后移动到工件附近G00刀具在空中,缩短时间很重要
下降到工件上表面以上几毫米G00仅在工件高度和刀具长度补偿确定无误时
切入工件的第一次移动G01 + 较低的 F保护刀刃,减少切入冲击
轮廓与槽的切削G01 / G02 / G03确定的速度和路径决定质量
加工后退刀G00先垂直离开加工面,再移动

用数字建立感觉:F 值与加工时间

每分钟进给 F300 表示每分钟移动 300 mm。示例的切削区段为 X 70 mm、Y 20 mm、X 70 mm,共 160 mm,因此纯切削时间为 160 ÷ 300 ≈ 0.53 分钟,约 32 秒。垂直下刀 5 mm(Z3 → Z-2)用 F80,再加上 5 ÷ 80 × 60 ≈ 3.8 秒。

把同样的 F300 换算成每个刀刃切下的厚度,就能估计刀具负荷。两刃立铣刀以 S3000 旋转时,每分钟有 6,000 次刀刃经过,所以每齿进给为 300 ÷ 6,000 = 0.05 mm。参照刀具样本推荐的每齿进给来确定 F,比凭感觉决定更能稳定刀具寿命。

数值计算式示例
切削时间(分钟)移动距离 ÷ F160 ÷ 300 = 0.53
每齿进给(mm)F ÷ (S × 刃数)300 ÷ (3000 × 2) = 0.05
每转进给(mm/rev)F ÷ S300 ÷ 3000 = 0.1

在 CNC Path Analyzer 中确认的方法

在工具中,快速移动区段和切削区段以不同的颜色和线型显示,播放时当前程序段会在原文中高亮。如果快速移动的线穿过工件区域,或切削线从比预期高的位置开始,请先怀疑 G00/G01 模式切换或 Z 值。圆弧移动请接着阅读 G02/G03 圆弧插补一文。

常见问题

G0 和 G00 是同一个指令吗?
是的。前导 0 可以省略,所以 G0 与 G00、G1 与 G01 分别含义相同。按照公司内部规则统一为一种写法,审查会更容易。
在 G00 中写 F 会怎样?
对 G00 移动本身没有影响,但这个 F 值会作为模态被记住,可能在之后的 G01 程序段中使用。它可能导致意外的进给速度,因此在 G00 程序段中不写 F 更安全。

后续步骤

在CNC Path Analyzer中检查路径