Technical Article
海德汉循环220:终止角改成180°,为什么还钻到下半圆?
海德汉TNC 640循环220修改Q246终止角后,孔位为何不变?用半圆五孔算例复核Q247角步距优先级、首末孔重复、全圆与扇形分度,给出NC对照、XY坐标及30.6147毫米弦长验收。
把一圈孔改成半圈孔,Q246 已经从360°改成180°,程序却仍然出现270°的孔位,末次还回到首孔。遇到这种现象,先检查循环220里的 Q247:它只要不是0,孔位就按固定角步距排列,Q246终止角不再参与计算。 改圆心或工件零点,解决不了这个参数优先级问题。
本文限定海德汉 TNC 640,NC软件34059x-18、FUNCTION MODE MILL铣削模式,依据10/2023版官方加工循环手册。以下为原创“半圆五孔”教学算例,坐标和距离均由手册规则计算。
1. 五次加工,不一定得到五个不同孔
假设XY平面内有一组孔:圆心X50、Y50,节圆直径80,要求从0°到180°逆时针等分,包含两端,共5孔。角度以正X方向为0°,刀具轴为Z;算例中不叠加旋转、镜像或缩放。
旧程序从另一组固定90°步距的孔阵列复制而来。修改时只改了终止角,留下这些参数:
Q244=+80 ;PITCH CIRCLE DIA Q245=+0 ;START ANGLE Q246=+180 ;STOP ANGLE Q247=+90 ;FIXED ANGLE STEP Q241=5 ;NUMBER OF OPERATIONS
Q244是节圆直径,Q241是加工次数,不能把两者认反。由于Q247=+90,控制器按起始角0°、每次增加90°、共5次排列。按这条规则推得的序列是0°、90°、180°、270°、360°,而不是被180°截断。

这组输入同时暴露两个问题:第4次落在下半圆,第5次与第1次位置重合。计数仍为5,不同的XY中心却只有4个。 因此不能只数钻孔循环被调用了几次,还要比较首末位置及所有中心坐标。
| 加工次序 | 遗留Q247=90的角度 | X / mm | Y / mm |
|---|---|---|---|
| 1 | 0° | 90.0000 | 50.0000 |
| 2 | 90° | 50.0000 | 90.0000 |
| 3 | 180° | 10.0000 | 50.0000 |
| 4 | 270° | 50.0000 | 10.0000 |
| 5 | 360° | 90.0000 | 50.0000 |
2. 让终止角生效,把Q247明确写成0
官方手册第264页把两种意图区分得很清楚:Q247=0,由起始角、终止角和加工次数求角度步距;Q247非零,则按给定步距布点,忽略Q246。非零步距的正负号还决定排列方向。
本例要求“在0°和180°之间安排5孔”,应采用自动分度。下面是修改前后唯一需要改变的孔位参数:
;BEFORE: Q246 IS IGNORED Q247=+90 ;AFTER: USE START / STOP / COUNT Q247=+0
为便于逐项核对,修正后的循环220定义如下。它以前面已经定义并审核合格的钻孔加工循环为前提;这段只展示孔位阵列及示例高度,不包含换刀、主轴与完整加工程序。
CYCL DEF 220 POLAR PATTERN ~ Q216=+50 ;CENTER X ~ Q217=+50 ;CENTER Y ~ Q244=+80 ;PITCH CIRCLE DIA ~ Q245=+0 ;START ANGLE ~ Q246=+180 ;STOP ANGLE ~ Q247=+0 ;AUTO ANGLE STEP ~ Q241=5 ;NUMBER OF OPERATIONS ~ Q200=+2 ;SET-UP CLEARANCE ~ Q203=+0 ;SURFACE COORDINATE ~ Q204=+50 ;SECOND CLEARANCE ~ Q301=1 ;MOVE AT SECOND CLEARANCE ~ Q365=0 ;STRAIGHT TRAVERSE
Q203是相对当前基准的绝对表面坐标,Q200和Q204是沿刀具轴的增量距离。本例假设工件表面为Z0,因此Q203=0、Q200=2、Q204=50对应的安全位置为Z2和Z50,均为教学取值;Q301=1选择孔间在第二安全高度移动,Q365=0选择直线转移。采用这组数值之前,必须结合实际刀具、夹具最高点及机床运动路径,核对首孔接近和每次孔间移动的净空,不能把“第二安全高度”当成自动避障。
这三个高度参数还会影响后续调用。手册第263页说明,循环220会覆盖配合使用的200—209、251—267加工循环中的Q200、Q203、Q204,并持续到它们再次被覆盖。因此从另一孔阵列复制定义后,不能只检查当前五孔,还应回看后续CYCL CALL或M99使用的表面高度与安全距离。
还要注意执行时机:循环220属于DEF-active循环,程序运行到定义段就会调用此前定义的加工循环,不需要再加一行CYCL CALL来“启动阵列”。做后处理检查时,应把该定义段当作会开始加工的指令,而不是只存参数的设置段。
3. 半圆五孔,为什么除以4而不是5
非全圆且包含起止两端的等分阵列,在次数N≥2时,两端之间只有N−1个间隔。本例角度步距为:
Δθ = (180° − 0°) ÷ (5 − 1) = 45° X = 50 + 40 × cos θ Y = 50 + 40 × sin θ
修正后的五个孔位如下。四位小数是算例坐标的舍入位数,不是机床精度或工件公差。
| 加工次序 | 角度 | X / mm | Y / mm |
|---|---|---|---|
| 1 | 0° | 90.0000 | 50.0000 |
| 2 | 45° | 78.2843 | 78.2843 |
| 3 | 90° | 50.0000 | 90.0000 |
| 4 | 135° | 21.7157 | 78.2843 |
| 5 | 180° | 10.0000 | 50.0000 |
如果工艺本来就要求“从0°起、每45°一次、共5次”,也可以明确写Q247=+45、Q241=5。这时恰好得到相同五个中心,但控制条件不同:Q246依然无效。后续若把终止角改为120°,固定45°步距的孔位不会随之改变。应根据图纸约束选择表达方法,避免两个意图混在同一份程序里。
4. 全圆五孔不能照搬半圆分母

全圆是闭合阵列。5个不同位置把一圈分为5段,步距为360°÷5=72°;角度为0°、72°、144°、216°、288°。360°已经回到首孔,不需要再当作一个新孔加入。
官方手册第276—277页给出了Q245=0、Q246=360、Q247=0、Q241=10的全圆示例及10点示意。沿用这种全圆定义,本例若改为全圆5孔,应写:
Q245=+0 Q246=+360 Q247=+0 Q241=5
不要把Q245与Q246都写成0来表达全圆;该版手册明确要求起止角不要填同一个数值。也不要把非全圆的“跨度÷(N−1)”直接套给全圆,否则很容易把首孔重复计入。
固定步距同样要检查次数:Q247=+45、Q241=8得到0°至315°的8个不同位置;如果把次数改为9,第9次就是360°,与首孔重合。把Q246写成360°并不能消除这次重复,因为非零Q247下它不参与计算。
5. 按坐标验收,不只看屏幕上的终止角
对“中心50/50、φ80、0°到180°的五孔”这一个算例,图形测试或离线孔位核对至少应满足以下条件:
• 执行5次加工,输出5个不同的XY中心;不能出现首末中心重合。
• 首孔为(90,50),末孔为(10,50),次序与上表一致。
• 所有孔中心Y≥50,不出现(50,10)的下半圆位置。
• 每个中心到(50,50)的距离为40 mm。
• 相邻孔中心的理论弦长均为2×40×sin22.5°,约30.6147 mm。
• 核对Q247的值及符号;自动分度检查起止角,固定步距检查步距与加工次数,不把被忽略的Q246当边界。
这些是理论几何验收值。比较已舍入的坐标时可按显示位数判断数值舍入差,实际孔距和孔位公差仍按图纸检验。若几何通过而运动有碰撞风险,应回到首孔接近路径、孔间直线、Z高度及刀具实体检查,不能用正确孔中心代替运动安全验证。
孔位正确后,钻孔深度还需单独核对。可继续阅读海德汉Q395钻孔深度基准。若圆心本身随程序段改变,则应区分本文的孔阵列规则与CC增量圆心参考位置。
官方依据
HEIDENHAIN TNC 640加工循环手册,NC 34059x-18,10/2023:第262—263页为循环执行时机及共享高度参数的影响;第264—265页为Q241、Q244—Q247及高度参数;第276—277页为全圆孔阵列示例。本文的坐标表、弦长计算和示意图均按这些规则重新构造。