CNC Path Analyzer

G02/G03 圆弧插补:方向判断以及 R 指令与 I/J/K 指令的区别

结合铣削示例和路径图,说明如何结合平面选择判断 G02(顺时针)与 G03(逆时针)、R 指令的 180 度问题、I/J/K 圆心指令以及整圆加工。

圆弧程序段需要的三项信息

直线只要有终点就能画出来,圆弧却不行。因为经过同一起点和终点的圆有无数个。所以圆弧程序段必须同时具备旋转方向(G02 或 G03)、终点以及半径或圆心位置。

顺时针是从哪一侧看的

G02 是顺时针(CW),G03 是逆时针(CCW)。但“顺时针”的基准是从垂直于所选平面的轴的正方向朝负方向看过去。在加工中心的默认平面 G17(XY)中,视线是从上方俯视工作台,因此与直觉一致。

在 G18(ZX)或 G19(YZ)中,观察方向改变,可能会感觉与屏幕上画的图纸方向相反。车床默认是 G18,而图纸上看到的旋转方向会因刀塔位于主轴中心上方(后置)还是下方(前置)而翻转。车床 X 轴的表示方法另见车床直径编程与 G18。

平面指令观察方向主要用途
XYG17从 +Z 看向 -Z加工中心默认
ZXG18从 +Y 看向 -Y车床默认,铣削侧面
YZG19从 +X 看向 -X铣削侧面加工

R 指令的注意事项

像 G03 X40. Y10. R10. 这样直接给出半径,几乎不需要计算,在手工编写的程序中被广泛使用。但即使起点、终点和半径都相同,也可能有两个圆:较短的一段(180° 以下)和较长的一段(超过 180°)。

大多数控制器把 R 为正解释为 180° 以下的圆弧,R 为负解释为超过 180° 的圆弧。本想画 270° 圆弧却漏写了 R 的符号,就会得到 90° 的圆弧,刀具会切到错误的位置。另外,起点和终点相同的整圆不能用 R 定义,因为只有圆的大小,没有确定其位置的信息。

I/J/K 指令:直接给出圆心

I、J、K 分别是 X、Y、Z 方向上从圆弧起点到圆心的距离。在大多数控制器中,即使处于 G90 绝对模式,I/J/K 也按以起点为基准的增量值读取。示例中的 G02 X50. Y40. I10. J0. 是以距起点 (40,30) 沿 X 方向 10 的 (50,30) 为圆心、半径为 10 的圆弧。

I/J/K 方式的圆心明确,因此适用于整圆、超过 180° 的圆弧以及 CAM 输出等对精度要求高的场合。反过来,如果终点实际上不在那个圆上,起点半径和终点半径就会不一致,差值超过允许值时会报警。

示例路径

第一段圆弧是 R 指令逆时针,第二段是 I/J 指令顺时针,最后一个程序段是起点和终点相同的整圆。可以通过图形确认三者如何在一条路径中连接起来。

把 R 指令逆时针圆弧、I/J 指令顺时针圆弧和 I/J 指令整圆连在一起的路径

O2002
T2 M6
G21 G90 G17 G94
G54
S2500 M03
G00 X0. Y-5. Z5.
G01 Z-1. F80
Y0. F250
X30.
G03 X40. Y10. R10.
G01 Y30.
G02 X50. Y40. I10. J0.
G01 X70.
G02 X70. Y40. I0. J-15.
G00 Z50.
M30
把 R 指令逆时针圆弧、I/J 指令顺时针圆弧和 I/J 指令整圆连在一起的路径 — XY 路径XY
浅蓝虚线表示G00快速移动,橙色实线表示切削移动。圆弧以计算后的静态曲线展开。

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

查找圆弧错误的检查清单

  • 平面:G17/G18/G19 中是否选择了预期的平面?平面不同,同样的 G02 会变成另一方向的圆。
  • R 的符号:超过 180° 的圆弧是否把 R 写成了正值?
  • 终点一致:由 I/J 算出的半径与圆心到终点的距离是否相等?小数点后第三位的舍入误差累积起来也会导致报警。
  • 刀具半径补偿:在 G41/G42 有效的状态下,如果内侧圆弧半径小于刀具半径,就无法生成补偿路径。
  • 进给速度:加工圆弧内侧时,刀具中心的速度与刀刃处的速度不同。对于小半径的内侧圆弧,通常会降低 F。

计算练习:把 R 指令改写成 I/J

示例中的 G03 X40. Y10. R10. 是从起点 (30, 0) 到终点 (40, 10)、半径为 10 的逆时针 90° 圆弧。沿逆时针方向经过这两点、半径为 10 的短圆弧,其圆心在 (30, 10)。起点到圆心的距离为 X 0、Y +10,因此同一圆弧也可以写成 G03 X40. Y10. I0. J10.。

最后的整圆 G02 X70. Y40. I0. J-15. 圆心为 (70, 25),半径为 15。周长为 2 × π × 15 ≈ 94.2 mm,F250 时走一圈约需 22.6 秒。

工具中的显示

CNC Path Analyzer 用短直线段近似绘制圆弧;对于方向或半径对不上的圆弧程序段,不会臆造路径,而是连同原因行一起发出警告。警告行的起点是前一程序段的终点,所以很多时候出错的不是圆弧程序段本身,而是紧挨在上面的直线程序段坐标。

常见问题

在同一程序段中同时写 R 和 I/J 会怎样?
FANUC 系列一般优先采用 R,忽略 I/J/K。由于不同控制器可能不同,原则上一个程序段只使用一种方式。
螺旋加工也用 G02/G03 吗?
是的。在同一程序段中同时指令圆弧平面以外的轴(G17 时为 Z),该轴会与圆弧同时做直线移动,形成螺旋路径。常用于螺纹铣削和扩孔时的切入。

后续步骤

在CNC Path Analyzer中检查路径