搜索文章与案例

Technical Article

海德汉 CC 增量圆心:为什么插入一段定位,圆弧就变了?

海德汉 TNC 640 的 CC 增量圆心从哪个位置计算?用两组坐标说明插入定位段、重复输出 CC 后圆心如何改变,并给出 Mastercam 后处理的状态核对方法。

海德汉程序里,圆弧前只多插了一段定位,后面的 CC 和 C 数字没改,圆弧却对不上了。遇到这种情况,我会先找 CC 前面最后一个编程位置,而不是先改圆弧终点或提高小数位。

本文只讨论 TNC 640、NC 软件 34059x-18 的 Klartext 普通笛卡尔轮廓,依据厂商 10/2023 版手册。算例采用毫米、刀具轴 Z、XY 平面、固定 Z 和 R0;不叠加坐标变换,不穿插 FK 自由轮廓段。以下是坐标逻辑片段,进入该平面的安全高度、刀具调用、主轴和进给须由实际工序建立。

一、CC 定义位置,不产生定位运动

CC X+20 Y+10 定义绝对圆心 (20,10)。CC IX-10 IY+0 则从最后编程的刀具位置,沿 X 减 10、沿 Y 加 0 求圆心。两种写法只有在前序位置合适时才等价。

CC 本身不会把刀具移到圆心。后面的 C 从当时最后编程的刀具位置起弧。因此,读程序时至少要分开记两项:刀具目前编程到哪里,以及当前圆心定义在哪里。不能把 CC 当成一段没有写 F 的定位。

10 L X+30 Y+10 R0
11 CC IX-10 IY+0
12 C X+20 Y+20 DR+

第 10 段给出 S=(30,10),第 11 段求出 C=(20,10),第 12 段到 E=(20,20)。起点和终点距圆心均为 10 mm;沿 +Z 向 XY 平面看,DR+ 对应逆时针,本例是 90°圆弧。这里没有给出用于切削的 F 值,不能将片段直接当成完整加工程序。

二、先定义增量圆心,再移动到起点,容易把基准用错

假设为整理接近路线,输出被改成下面的顺序。设计要求仍是圆心 (20,10),但 CC 的增量值没有跟着重新计算:

10 L X+35 Y+10 R0
11 CC IX-10 IY+0
12 L X+30 Y+10 R0
13 C X+20 Y+20 DR+

执行第 11 段时,基准是 P=(35,10),所以圆心已经定义成 C′=(25,10)。第 12 段虽然回到原来的起点 S,却不会把这个已定义圆心自动改回去。

海德汉CC增量基准对比:从30,10减去10得到圆心20,10;从35,10减去10则得到25,10,两图共用横向比例。
图 1:CC 中的增量要按它执行时的前序编程位置计算。

用输出数字验算:S 到 C′ 为 5 mm,E 到 C′ 为 √125≈11.18034 mm,两条半径相差约 6.18034 mm,已经不是同一个圆。这里不需要猜测报警号,也不应靠放宽圆弧容差消除差异。

如果要保留“先定义圆心、后走到起点”的顺序,本例可写绝对圆心 CC X+20 Y+10;如果必须使用增量圆心,则要按 P 计算为 IX-15 IY+0。另一种办法是把增量 CC 放到真正的起点定位之后,并重新核对上下文。三种处理改变的是输出组织方式,不能只按字符串替换而不检查坐标。

三、连续圆弧共用圆心,不等于每段重复同一组增量

在本文限定的普通连续轮廓中,圆心定义会保留,直到重新定义。沿上例从 E₁=(20,20) 再走到 E₂=(10,10),可继续使用既有的 C=(20,10):

10 L X+30 Y+10 R0
11 CC IX-10 IY+0
12 C X+20 Y+20 DR+
13 C X+10 Y+10 DR+
同一圆心20,10的两段逆时针90度圆弧:30,10到20,20,再到10,10;刀具位置改变但圆心保持。若在20,20重新写CC IX负10 IY零,圆心会变成10,20。
图 2:编程位置在变;没有重新定义时,圆心保持不变。

若在第 12、13 段之间机械地重复 CC IX-10 IY+0,新圆心会按 E₁ 重算成 (10,20)。更容易漏检的是:此时 E₁、E₂ 到新圆心恰好仍都是 10 mm!半径一致并不能证明轮廓正确,原路径是围绕 (20,10) 的逆时针 90°圆弧;换成 (10,20) 后,起点在新圆心右侧、终点在下方,DR+ 会选择逆时针 270°长弧。

因此,检查不能只做“起终点半径是否相等”。还要将实际圆心、方向和经过的区域,与预期轮廓比对。如果后处理选择每段都输出增量 CC,同一圆心的第二段应从新起点 E₁ 重新计算,得到 IX+0 IY-10,而不是复用上一段的数值。

四、后处理检查要把 CC 的位置放进测试用例

  • 先还原状态:逐段记录最后编程位置;遇到增量 CC 时求出实际圆心;遇到 C 时记录实际起点、终点和 DR。不要使用 CAM 内部尚未输出的点替代 NC 数字。

  • 再查输出顺序:重点对比插入接近段前后、第一段弧与第二段同心弧。增量圆心计算应对应最终输出中 CC 前的编程位置。

  • 测试能“正常成圆”的错误:本例第二段换错圆心后两半径仍相等,适合用来检查仅靠圆弧闭合判断的盲区。比较轮廓位置和走向,不能只比较是否报警。

  • 明确重新进入轮廓的边界:工序重启、子程序入口等位置,输出清楚可追溯的圆心定义更便于审核。本文不把“持续有效”推广到 FK 分段;官方手册说明,普通轮廓与 FK 分段交错时,圆心/极点信息存在丢失边界,必须按相应章节重新定义。

如果同时涉及零点表或重复程序,先分别确认TRANS DATUM TABLE 的选择关系和CALL LBL REP 的重复次数,再回到每次执行 CC 时的位置状态,不要把不同层面的坐标问题混在一起。

需要排查 Mastercam 输出时,建议提供系统完整软件号、所用 Klartext 后处理版本、问题 CC 前的定位段、连续两段 C,以及预期圆心和轮廓截图。只截报警的 C 行,往往看不到基准已经在哪一段变了。

资料依据:HEIDENHAIN TNC 640 Klartext Programming User’s Manual,34059x-18,10/2023,增量坐标章节、印刷页 164–166(CC/C)及 188(FK 边界)。文中坐标、两幅技术图和半径计算为独立构造的示例,没有声称实机验证。