Address
宁波研发园A区2栋12B17
聚贤街道,鄞州区,宁波市,浙江中国
Work Hours
周一 to 周五: 8:30AM - 10:30PM
周六 to 周日: 9:30AM - 10:30PM

数据来源:雷尼绍 Inspection Plus for Mazak INTEGREX/VORTEX 编程手册 H-2000-6447-14-A;Inspection Plus for Okuma OSP 编程手册 H-2000-6550-07-A;GoProbe cycles for Inspection Plus for Okuma H-2000-6864-0A-A;GoProbe 接触式对刀编程手册(发那科/Meldas)H-2000-6826-0A-A;马波斯 MIDA 宏程序编程指南(D310A2AG16 工件测量篇、D310A1AG07 对刀仪篇);波龙 BLUM QUICKSTART 测量循环手册 P03.8000-031.360-EN V3A、LaserControl NT 参数手册(P87.0634-030.360 V5D);发那科 0i 系列操作说明书(编程篇)B-64604 系列;三菱 M800/M80 系列编程说明书 IB-1501292-H。
本文涉及数控系统跳步功能(G31/MEAS)、宏程序变量与刀具补偿写入逻辑。由于各机床厂(马扎克、德玛吉、牧野、哈斯及国产各品牌)的 PLC 梯形图控制逻辑、二次开发变量地址、刀具补偿记忆类型及坐标系设定存在差异,在首次上机调试或运行任何自动写刀补宏程序前,请务必严格执行以下防呆操作:
在机内测量落地过程中,有一个比”测头准不准”更常被忽视的问题:测完了,结果怎么进刀补?
很多工厂的现状是这样的:测头在机内把工件测了一遍,宏程序把尺寸打印在屏幕上,操作员抄下数值,走到操作面板前,调出刀补页面,手动把偏差敲进对应刀号的补偿栏。整个过程看似简单,实则包含三个隐患:一是人工抄录环节可能抄错数字、写错刀号;二是”测量→人工输入→下一件加工”之间隔着时间,误差件已经流出;三是批量加工时每个班次都要重复这套动作,节拍和人力都被消耗。
测头测量的价值主张从来不只是”测得准”,而是”测完就能用”。所谓闭环,就是把”测头读数→偏差计算→刀补更新→下一件加工”这条链路用宏程序接通,让测量结果自动写回刀具补偿变量。本文要做的,就是把这条链路拆开,逐段画出变量路径:触发坐标存在哪(G31 与 #5061)、测量结果存在哪(发那科 #135~#142、大隈 VS75~VS89、马波斯 #111~#121 区间、波龙 #100~#112)、刀补本身存在哪(发那科 #10001 系列与 #13001 系列)、以及用什么方式写回去(宏程序直接赋值、G10 指令、外部偏置、专用循环内建写回)。
文中所有变量号、循环号均以官方手册核对为准,查不到官方出处的内容一律标注”以官方数据表/所装版本手册为准”,不作推测。案例部分标注”案例数据,实际结果因现场而异”。
所谓”开环”加工,是刀具装上去、刀补设一次,然后一直干到尺寸漂出公差为止——中间没有任何反馈。所谓”闭环”,是让加工过程引入测量环节,把每一次(或每一个批次)的实测偏差转化为下一次加工的输入。
对于测头应用来说,闭环有两种常见形态:
| 形态 | 触发点 | 反馈内容 | 写回目标 | 典型场景 |
|---|---|---|---|---|
| 工件测量闭环 | 首件/抽检件加工完成后 | 工件实际尺寸与名义尺寸的偏差 | 刀具磨损补偿(长度/半径)或工件偏置 | 批量铣削时补偿刀具磨损、热变形 |
| 刀具测量闭环 | 每把刀装刀/换刀后 | 刀具实际长度、半径与刀表值的偏差 | 刀具长度补偿、半径补偿 | 对刀仪自动对刀、断刀检测后的刀长更新 |
两条闭环的底层数据流完全一样,都是”触发→锁存→计算→写回”四步。区别只在于测量对象是工件还是刀具,以及写回的是哪个补偿号。
把一条自动写刀补的宏程序数据流展开,是六个环节:
1. 触发(G31 跳步) —— 测针接触工件/对刀仪,跳步信号中断当前移动;
2. 坐标锁存 —— CNC 把触发瞬间的轴位置写入系统变量(发那科/三菱为 #5061~#5064);
3. 宏计算偏差 —— 测量宏把锁存坐标换算成实测尺寸,与名义值相减得到偏差(发那科 Inspection Plus 输出 #140~#142 等);
4. 判断与限幅 —— 偏差是否在可信区间内(防止误触发/撞针产生的离谱数值写进刀补);
5. 写入刀具补偿变量 —— 把偏差叠加到对应刀号的补偿变量(发那科 #10001 系列/#13001 系列,或用 G10 指令、专用循环内建写回);
6. 下次加工生效 —— 下一段程序调用 G43 Hxx/G41 Dxx 时,新刀补值参与坐标计算。
其中第 4 步最容易被省略,而它恰恰是整条链路的安全阀:没有限幅的自动写回,等于让一次误触发直接改掉一把刀的全部补偿数据。
自动写刀补不是把几行赋值语句接上就能跑,它成立的前提有三个:
自动写刀补的第一个关键问题:宏程序从哪里拿到测量结果?不同系统、不同品牌软件的答案不同,但有一条主线——G31 跳步把触发坐标锁存进系统变量,测量循环把坐标换算成结果,结果再输出到约定的变量区。
发那科系统的跳步功能中,G31 程序段触发瞬间的轴位置被写入系统变量 #5061(第 1 轴,通常为 X)、#5062(Y)、#5063(Z)、#5064(第 4 轴)。这一层是所有测量宏的地基:不管后续是单面、孔、轴还是角度测量,物理事实都在 #5061~#5064 里。
在此基础上,雷尼绍 Inspection Plus 测量宏把原始坐标换算成工程结果,输出到 #135~#142 变量区。这是”变量路径全图解”中最核心的一段:
| 变量 | 含义 | 出现在哪些循环 |
|---|---|---|
| #135 | X 位置(实测) | 单面测量 O9811、孔/轴 O9814 等 |
| #136 | Y 位置(实测) | 同上 |
| #137 | Z 位置(实测) | 同上 |
| #138 | 尺寸(直径/宽度) | O9812 腹板/型腔、O9814 孔/轴 |
| #139 | 角度 | 角度测量循环 |
| #140 | X 方向误差 | 多数测量循环输出 |
| #141 | Y 方向误差 | 多数测量循环输出 |
| #142 | Z 方向误差 | 多数测量循环输出 |
以上变量含义以雷尼绍官方手册原文核对(Inspection Plus for Mazak 编程手册 H-2000-6447-14-A 的输出变量表)。也就是说,用户宏程序读取 #140/#141/#142,就拿到了”实测位置与名义位置在 XYZ 三个方向的偏差”——这正是写刀补所需的输入。
发那科/马扎克体系的注意点:标定数据使用 #500 区(如 #518 标定 Z 半径、#519 名义测针半径),这部分变量严禁用户宏占用;结果变量 #135~#142 可以在测量宏返回后立即读取,但读取后应尽快存入自己的公共变量或直接参与计算,避免被后续宏调用覆盖。
大隈 OSP 系统的 Inspection Plus 输出不走 # 变量,而是走 VS 系统变量区(VS75~VS89)。官方手册(H-2000-6550-07-A)列出的关键变量:
| 变量 | 含义 |
|---|---|
| VS75 / VS76 / VS77 | X / Y / Z 位置(实测) |
| VS78 | 起始点尺寸 |
| VS79 | 最小距离 |
| VS80 | X 方向误差 |
| VS81 | Y 方向误差 |
| VS82 | Z 方向误差 |
| VS83 | 尺寸误差 |
| VS84 / VS85 / VS86 | 最大值 / 最小值 / 变化量 |
自动写刀补时,取 VS80/VS81/VS82/VS83 即对应发那科体系的 #140/#141/#142/#138。大隈 GoProbe 简化循环(H-2000-6864-0A-A)则输出到 #100(主测量值,随模式变化)、#101(两点差值)、#102(角度)——三个变量,含义依调用模式而定,写宏前务必核对所用循环的参数表。
马波斯 MIDA 工件测量循环(发那科篇,D310A2AG16)的结果输出没有统一的”#135~#142″式固定区,而是各循环输出到 #111~#121 区间内的一组变量。已经核实的典型分布:
| 循环 | 输出变量 | 含义 |
|---|---|---|
| O9312(孔/轴,S=1 内孔/2 外圆) | #114/#115 | 中心 X/Y(绝对坐标) |
| O9312 | #116/#117 | 中心 X/Y(机床坐标) |
| O9312 | #118/#119 | 宽度 X/Y |
| O9312 | #120 | 实测尺寸 |
| O9312 | #121 | 对名义值的误差 |
| O9335(三点确定孔/轴,Premium/Ultimate) | #111/#112 | 中心 X(绝对/机床坐标) |
| O9335 | #113/#114 | 中心 Y(绝对/机床坐标) |
| O9335 | #115 | 平均直径 |
| O9335 | #116 | 对名义值的误差 |
写回刀补时通常取 #120/#121(O9312)或 #115/#116(O9335)。注意:不同循环的结果变量布局不同,不能把”#121=误差”当作所有 MIDA 循环的通用约定,每个循环要以手册的输出表为准。
马波斯对刀仪循环(D310A1AG07)中,P9377/P9378(同心/非同心刀具测量)的输出是 #143:0=合格、1=超差,配合 I/J 参数(可接受的长度/半径磨损公差)使用——这是”对刀→公差判断→自动写刀表”的完整闭环,详见第六章。
波龙 QUICKSTART(发那科,TC50/TC52 触测)的结果变量区是 #100~#112(P03.8000-031.360-EN V3A 手册结果参数表):
| 变量 | 含义 |
|---|---|
| #100 / #101 / #102 | X / Y / Z 实测结果(活动工件坐标系) |
| #103 / #104 / #105 | 对设定值的偏差 X / Y / Z |
| #106 | 实测尺寸(内/外宽、孔/轴直径) |
| #107 | 尺寸对名义值 S 的偏差 |
| #108 / #109 | 实测角度 / 角度偏差 |
| #110 / #111 / #112 | ΔX / ΔY / ΔZ |
写刀补时,#103~#105(位置偏差)或 #107(尺寸偏差)是主要输入。另需注意:波龙体系的 #135 是标定数据起始指针(#[#135+0..3]=X/Y 标定值与偏心、[+5]=Z 标定值),不是结果变量——”波龙也输出 #135~#149 结果”是常见误读。
雷尼绍 GoProbe 接触式对刀(H-2000-6826-0A-A)走的是”结果直写”路线:调用 G65 P9921 M21.、G65 P9921 M22. D5.、G65 P9921 M23.,分别执行刀长测量、刀长+直径测量、断刀检测。M21/M22 的测量结果由循环自动写入刀具偏置表(T 参数指定的刀号),不存在用户读取中间变量的步骤——这是”变量路径最短”的一类实现:测完即写、写错即险,因此对刀仪循环内部自带公差与报警逻辑(M23 断刀公差默认 0.5 mm,超差报警;M22 的 D 参数是刀具直径)。
| 体系 | 触发坐标 | 结果变量 | 偏差/误差变量 | 写回方式 |
|---|---|---|---|---|
| 发那科 Inspection Plus | #5061~#5064 | #135~#138(位置/尺寸) | #140/#141/#142(X/Y/Z 误差) | 用户宏读取后写入刀补 |
| 大隈 Inspection Plus | VS 体系 | VS75~VS79 | VS80/VS81/VS82/VS83 | 用户宏读取后写入刀补 |
| 马波斯 MIDA | #5061~#5064 | #111~#121 区间按循环分布 | #120/#121、#115/#116 等 | 用户宏读取;P9377 自带写表 |
| 波龙 QUICKSTART | #5061~#5064 | #100~#112 | #103~#105/#107 | 用户宏读取;O9706 自带写表 |
| GoProbe 对刀 | 硬件触发 | 无中间变量 | 循环内部处理 | M21/M22 自动写刀具偏置 |
拿到了偏差,下一步是把偏差写进刀补。这一节说清楚:刀补值在数控系统里放在哪些变量里,以及这些变量的分区逻辑。
发那科系统变量中,刀具补偿数据按”记忆类型”(A/B/C)摆放,机床厂在参数里设定类型后,变量映射随之确定。加工中心最常见的扩展记忆(Type C)下,H 代码(刀长)与 D 代码(刀径)各自独立,且几何与磨损分开存放:
| 变量区 | 补偿类型 | 说明 |
|---|---|---|
| #10001~#10099 | 刀长磨损(H) | 1 号刀长磨损 = #10001,n 号 = #10000+n |
| #11001~#11099 | 刀长几何(H) | 1 号刀长几何 = #11001 |
| #12001~#12999 | 刀径磨损(D) | 1 号刀径磨损 = #12001 |
| #13001~#13999 | 刀径几何(D) | 1 号刀径几何 = #13001 |
所以行业内常说的”#10001~#10010 是刀长(磨损区)、#13001~#13010 是刀径(几何区)“,对应的是扩展刀补记忆下最常见的映射:写磨损用 #10000+n,写几何用 #11000+n(长)、#13000+n(径)。
两点必须提醒:
#[10000+#4120]=#[10000+#4120]+偏差——用 #4120 做间接寻址的前提,是确认本机床 #4120 语义为标准 T 号,且刀补号与 T 号一一对应(部分机床厂设定不满足,需现场核实)。自动写刀补必须先回答一个问题:偏差叠加到几何还是磨损?
工程惯例是:刀具装夹后的实测长度/半径与刀表名义值的差异写几何,加工过程中因磨损产生的微小变化写磨损。理由有三:一是磨损量小(微米级),几何量大(毫米级),分开存放便于操作员在面板上分拣;二是磨损补偿范围受参数 5013/5014(磨损量上下限)约束,超限报警,起到天然的限幅作用;三是对刀仪自动对刀通常更新”几何+磨损清零”,而工件测量闭环通常只累加磨损。具体写到哪个区,各品牌循环的参数不同(见第六章),但“几何磨损写反”是自动写刀补最常见的事故之一,现场案例见第七章。
| 系统 | 刀补存放 | 要点 |
|---|---|---|
| 三菱 M70/M80 | 与发那科同体系(#10001/#13001 系列,G65/G66、G10 语法兼容) | 变量映射随记忆类型设定,以三菱参数手册为准 |
| 西门子 840D sl | 刀具管理 TOA,刀沿数据经 $TC_DP 系列系统变量读写 | 对刀循环(CYCLE97x、L98xx、BL99xx)通常自带写回,用户宏直接操作 $TC_DP 需谨慎 |
| 海德汉 TNC | 刀具表 TOOL.T,触测循环(CYCLE DEF 体系)直接更新刀具表 | 不用 G65 宏,参数经 Q 参数传递 |
| 大隈 OSP | 刀具数据在 OSP 刀表,经系统变量/刀表管理指令读写 | 结果经 VS80~83 取得后,写回按 OSP 手册的刀表更新方式执行 |
以上概览为各系统通用体系描述,具体变量号与指令以所装版本官方手册为准。
偏差算好了,刀补号确认了,接下来是写入动作本身。实际工程中有三条主要路径,各有适用场景。
最简单直接的方式:在用户宏里把偏差叠加到刀补变量。
O9010 (自动写刀补示例,发那科体系)
100=#140 (取 Inspection Plus 的 X 误差)
IF [ABS[#100] GT 0.05] GOTO 900 (限幅:偏差超 0.05 mm 转报警)
[10000+#4120]=#[10000+#4120]+#100 (叠加到当前刀号的刀长磨损)
GOTO 999
N900 #3000=100 (X 偏差超限报警)
N999 M99
这段代码体现了全部要点:取结果变量、限幅判断、间接寻址写磨损、超限报警。直接赋值适合”用户自己写闭环宏”的场景,自由度最高,也最需要防呆纪律。
G10 是发那科系”程序化数据输入”指令,可以在程序中直接写刀补、工件偏置与参数,三菱 M70/M80 与发那科语法一致:
| 指令 | 用途 |
|---|---|
| G10 L10 Pn Rn | 写入第 n 号刀长补偿(H) |
| G10 L12 Pn Rn | 写入第 n 号刀径补偿(D) |
| G10 L2 Pn Xx Yy Zz | 写入第 n 号工件偏置(G54~G59 等) |
| G10 L50 | 写入参数(个别系统版本受限,马扎克版 IP 体系无此指令) |
G10 适合”整值覆写”场景:比如对刀仪测出某把刀的新长度,用 G10 L10 P5 R-12.345 把 5 号刀的刀长几何整值写进去;或测量闭环算出新的坐标,用 G10 L2 更新工件偏置。注意 L10/L12 与直接赋值一样受记忆类型影响,写几何还是磨损以版本手册为准。
第三条路径不直接改刀补,而是把偏差写到”外部偏置”或工件零点偏置区,让整把刀/整个坐标系整体平移。典型形态:
外部偏置适用于”整体偏移”而非”单刀修正”,例如加工热变形补偿:测一个基准面,偏差写外部偏置,整个坐标系跟着走,比逐刀改刀补更高效。但它也是”影响面最大”的写入路径——写错一次,所有刀、所有坐标系全部偏移,因此更必须在写入前做方向与限幅判断(见第五章)。
前面三条路径都是”用户宏自己动手”,第四条路径是”循环替你动手”:各品牌的成品循环内置了写回逻辑,调用时传对参数即可。
雷尼绍 GoProbe 对刀:G65 P9921 M21. (刀长测完自动写 T 刀号刀补)
马波斯对刀循环:G65 P9377 H5. I0.01 J0.005 (5 号刀,长度/半径磨损公差,合格直接写刀表)
波龙 QUICKSTART:G65 P9706 E5. (SET TOOL,按 E 指定的刀具号更新刀表)
波龙激光对刀:G65 P9602 H5. B0. S0.05 W0. A3. R0.01 (H 为刀补号,测量+公差判断+写回)
内建写回的好处是公差判断、写表逻辑都封装在循环里;代价是”写哪、怎么写”由循环参数决定,调用时参数传错(比如 H 传成 0、E 传成别的刀号)同样会造成错误覆写,安全防护仍然不能省略。
自动写回的本质是”机器替你改数据”,改错了没人立刻发现。因此闭环程序必须内置四道防护,缺一不可。
写回前先判断偏差绝对值是否在可信区间内:超阈值报警,不写。
IF [ABS[#140] GT 0.05] THEN #3000=100 (X ERROR OUT OF LIMIT)
阈值选取原则:正常磨损/补偿量级之外、故障量级之内。例如切削磨损补偿量级是几微米到几十微米,那么 0.05 mm(50 μm)作为阈值既不会挡住正常补偿,又能在撞针、误触发、测针断裂时拦住离谱数值。阈值应可调(存公共变量),不要写死在程序里。
偏差的正负号直接决定刀补往哪个方向改——写反一次,尺寸会往错误方向越跑越远,直到下一次测量又”反向修正”回来,形成振荡。常见错误根源:
判断方法:写回前做一次”干跑”——用 MDI 手动执行一次测量,把偏差打印出来,人工按几何关系确认符号方向后,再让自动写回投入运行。
写回的目标刀号必须经过校验,防止三个典型错误:刀号=0(空刀,可能把补偿写进 0 号位);T 号与 H 号不对应(车间常用 T 号=H 号,但并非强制);间接寻址越界(#4120 异常值导致 #[10000+#4120] 指向非刀补变量区)。校验写法:
IF [#4120 EQ 0] GOTO 900 (空刀报警)
IF [#4120 GT 50] GOTO 900 (刀号越界报警(上限按机床刀库容量设))
部分系统还有刀补号范围参数(如磨损量上下限 5013/5014,以所装版本参数手册为准),写磨损超限会触发系统报警,这本身就是一道”免费”的限幅防线。
写入动作完成后,把目标变量读回来与预期值比对,确认写入真实生效:
[10000+#4120]=#[10000+#4120]+#100
101=#[10000+#4120]
IF [ABS[#101-[#102+#100]] GT 0.0001] THEN #3000=101 (WRITE VERIFY ERROR)
回读校验能抓住写保护生效、变量区被占用(写进去被其他程序覆盖)、数据类型异常等”写入没生效”的隐性故障。批量闭环程序建议至少做一次回读抽查。
| 防护项 | 成品循环内建(典型) | 用户宏自建(必备) |
|---|---|---|
| 公差限幅 | 波龙 O9700 T 参数超差中断;马波斯 U 参数公差报警(170);GoProbe M23 断刀公差 | IF/THEN 阈值判断 + #3000 报警 |
| 方向符号 | 循环按接近方向参数自行处理 | 干跑验证 + 注释写明几何关系 |
| 刀号校验 | H/T/E 参数传入即校验(波龙 O9602 无效 H 报错) | #4120 空刀/越界判断 |
| 写后回读 | 部分循环自带(马波斯 P9377 超差输出 #143) | 回读比对 |
这一节把三大进口品牌(雷尼绍、马波斯、波龙)的典型闭环循环与变量路径逐条列出。所有循环号以官方手册核对为准。
工件测量闭环(发那科/马扎克体系):调用 Inspection Plus 通用测量循环(保护定位 O9810、单面 O9811、腹板/型腔 O9812、孔/轴 O9814、内拐角 O9815、外拐角 O9816、PCD 孔 O9819、余量 O9820、标定 O9801~O9804),测量结果在 #135~#142 输出。用户宏读取 #140/#141/#142 与 #138,按第四章任一路径写回刀补。发那科版与马扎克版同为 #135~#142 体系;马扎克车铣复合的 B90 姿态测量用 O96xx 循环。
大隈体系:调用形式为 CALL O9xxx + P 前缀参数,结果在 VS75~VS89,写回时取 VS80~VS83。
对刀闭环:GoProbe 接触式对刀 G65 P9921 M21.(刀长)/G65 P9921 M22. D5.(刀长+直径)/G65 P9921 M23.(断刀检测),结果自动写入 T 参数指定刀号的刀具偏置,无中间变量环节;默认首次接触进给 1000 mm/min、过行程 5 mm、断刀公差 0.5 mm(官方默认值)。GoProbe 基础程序:O9832 开测头、O9833 关测头、O9810 保护移动。
对刀闭环(自动循环):P9377 同心测量 G65 P9377 H5. I0.01 J0.005——H=目标刀具刀补号,I/J=可接受的长度/半径磨损公差;测量结果与公差比较,合格则直接把新值写入刀表对应刀补号,超差则输出 #143=1(超差),配合 #3000 报警拦截。P9378 为非同心版本(X 必填)。手动版本 P9387。这一设计把”公差判断+写表”打包在循环内,是典型的”合格自动写、超差自动拦”闭环。
工件测量闭环:O9312 等循环输出 #120(实测尺寸)/#121(名义误差),调用参数中有 T(补偿刀补号)——即测量宏本身预留了与刀补号关联的接口,用户宏读取 #121 后按 T 号写入刀补。
大隈 OSP 上的马波斯:调用为 CALL O9301 PA=... 等 P 前缀参数形式,结果走 VC/VSCO/VSXO 变量体系(如标定输出 VC[VC102]~VC[VC102+17]),无 # 变量——把发那科版的 # 变量改写移植到大隈是常见错误。
波龙 QUICKSTART(发那科,TC50/TC52)把”写回”做成独立循环:
激光对刀闭环:LaserControl NT 的 O9602 刀长测量 G65 P9602 H5. B0. S0.05 W0. A3. R0.01——H=长度/半径刀补号(实践层面必传,官方参数表标为 optional、未传时用活动 H 代码 #4111)、S=长度公差(默认 0.05)、W=附加长度偏置、A=重复次数(默认 3)、R=最大偏差(默认 0.010 mm);超 S 公差报 #600=16,两次超差报 #600=19。O9603 为刀长+半径(偏心刀具,需 D 码)。接触式对刀 Z-NANO/Z-3D 体系:O9914/O9911 标定+温度补偿、O9915/O9912/O9913 刀长(+半径)测量。
| 体系 | 测量循环 | 结果去向 | 写回路径 |
|---|---|---|---|
| 发那科/马扎克(雷尼绍) | O9811/12/14 等 | #135~#142 | 用户宏写 #10000+n/#13000+n 或 G10 |
| 大隈(雷尼绍) | CALL O98xx 等 | VS75~VS89 | 用户宏按 OSP 刀表更新 |
| 三菱 M70/M80 | G31/G65 与发那科兼容 | #5061~#5064 | G10 L10/L12 语法与发那科一致 |
| 西门子 840D sl | CYCLE97x + MEAS;雷尼绍 L98xx;波龙 BL99xx | 系统测量变量 | 循环/宏按 TOA 刀具管理写回 |
| 海德汉 TNC | CYCLE DEF 触测循环(FN 0 逻辑) | Q 参数与刀具表 | 触测循环直接更新 TOOL.T |
| 马波斯(大隈) | CALL O93xx | VC 体系 | 按 OSP 刀表更新,无 # 变量 |
表中西门子、海德汉列为通用体系描述,具体循环编号以所装版本官方手册为准(西门子 840D sl 的 CYCLE9960 功能未经核实,本文不展开)。
以下案例均为现场案例整理,标注”案例数据,实际结果因现场而异”。
某零件厂加工铝合金壳体,加工中心配雷尼绍测头(OMP60,1.00 μm 2σ 机械运动学触发)+ Inspection Plus。改造前的流程:每 10 件抽 1 件停机下机测量,超差后人工改刀补。问题:测量频次低(漏失差件多)、人工改刀补错误率高(一个班次发生过 2 次把 3 号刀改到 5 号刀的事故)。
改造后的流程:每件加工完,宏程序自动调用孔测量循环,实测直径与名义值比较,偏差叠加写入当前刀具的刀长磨损变量(发那科 #10000+#4120 区),限幅 0.05 mm,超限报警停机。连续运行 4 周后统计:孔径尺寸散差(极差)从约 ±0.03 mm 收窄到 ±0.012 mm,超差件为零,人工干预从每天 6~8 次降到 0~1 次(案例数据,实际结果因现场而异)。散差收窄的原因不是测头把尺寸”改准了”,而是磨损补偿从”人工滞后”改成”每件即时”——刀具磨损曲线被逐件跟随,系统误差不再累积。代价是每件增加约 10~15 秒的机内测量时间(含定位移动与两次触测,案例数据),对单件节拍 5 分钟的零件来说占比约 3%~5%(案例数据)。
另一车间(马波斯 VOP40 测头 + 国产立加)的机外预调+人工对刀流程中,刀具长度录入错误是首件报废的主要来源之一。引入自动对刀闭环后:每把刀装刀时调用一次对刀测量(马波斯 P9377 体系,公差内直接写刀表),刀长与半径随装随写,不再经过人工抄录。运行 3 个月统计:换刀后首件报废率明显下降,对刀环节耗时从人工 3~5 分钟缩短到循环自动完成(案例数据,实际结果因现场而异)。同时保留了超差报警:磨损公差 I/J 参数收紧到 0.005 mm 后,刀具非正常磨损在装刀时即被拦截,而不是等首件尺寸超差才发现。
需要说明的是,“写回刀补”这个动作本身(几行变量赋值/G10 指令)耗时在毫秒级,不构成节拍负担;节拍代价来自测量动作本身(定位移动、触测、回退)。所以评估闭环 ROI 时,应把”测量时间”与”写回时间”分开计算。优化方向是减少测量次数(抽检改定检)、压缩移动路径(保护移动速度与安全平面设置),而不是在写回逻辑上省时间。
| # | 错误 | 后果 | 对策 |
|---|---|---|---|
| 1 | 写错补偿号(H/D 混淆、刀号错位) | 尺寸整体偏移,下一件超差 | 刀号校验 + 干跑验证 + 回读比对 |
| 2 | 单位混淆(mm 与 μm、半径与直径) | 补偿量差 1000 倍或 2 倍 | 统一单位约定并在程序头注释写明 |
| 3 | 几何/磨损写反 | 磨损越限报警不断,或几何被污染 | 按记忆类型核对变量区,MDI 试写验证 |
| 4 | 符号方向反 | 补偿振荡,尺寸越修越偏 | 接近方向/内外尺寸几何关系确认 |
| 5 | 未限幅直接写 | 一次误触发毁掉一把刀的补偿 | 阈值判断 + 报警中断 |
| 6 | 省略小数点习惯(发那科参数 3401#0) | 宏数值被截断/移位,写入量级错误 | 统一带小数点编程,参数设定确认 |
| 7 | 中间变量占用系统变量区(如 #5xx 标定区) | 标定数据被覆盖,测量结果失真 | 中间变量用 #100~#199 公共区并避开品牌约定区 |
其中第 1、2、3 条在自动写刀补场景中占比最高。一套三条纪律可以兜住 80% 的事故:
问 1:测头测完,结果为什么不能直接”自动”进刀补?
“自动”与否取决于程序里有没有写回指令。成品测量循环(如 O9811/O9312 等)默认只测不算、只输出不写;写回要么用配套的对刀循环(GoProbe M21/M22、马波斯 P9377、波龙 O9706),要么在用户宏里显式写变量赋值或 G10 指令。换句话说:测量循环给了你结果变量(#140~#142、#120/#121、#103~#107),写不写、写哪、写多少,由调用它的程序决定。
问 2:#140(X 误差)和 #5061(触发坐标)什么关系?
问 3:写刀补用 #10001 还是 #2001?
取决于机床刀补记忆类型:常见扩展记忆(Type C)下 #10001 系列是刀长磨损、#11001 系列是刀长几何、#12001 系列是刀径磨损、#13001 系列是刀径几何;Type A 下 H/D 共用 #2001~#2200 别名区(单值,无几何/磨损之分)。写之前先在 MDI 写已知值回读验证,确定本机床映射。
问 4:自动写刀补会不会把刀补”写坏”?
会,且事故形态集中在三处:刀号写错(其他刀的补偿被覆盖)、符号方向写反(补偿振荡)、离谱数值写入(误触发未限幅)。对策即第五章的四道关:限幅、方向判断、刀号校验、回读验证。成品循环自带公差报警(波龙 T 参数、马波斯 U 参数、GoProbe 断刀公差)是最省事的第一道防线。
问 5:几何和磨损,自动写哪个?
对刀仪自动对刀一般更新几何(刀具装夹实测值),加工过程的磨损补偿一般累加磨损(微米级小量)。磨损区通常有 5013/5014 参数限幅,写超限报警,反过来也是一道保护。具体写到哪个区由循环参数决定(如马波斯 P9377 的 I/J 磨损公差、波龙 O9602 的 W 附加长度偏置),以所用循环手册为准。
问 6:马扎克、大隈、西门子的变量体系能照搬发那科的吗?
不能。大隈用 VS/VC 体系(VS80~83 是误差)、无 #5061 语义;马扎克车铣复合有 O96xx B90 循环与 GoProbe O9901/O9902,且无 G10 L50;西门子无 G31,用 MEAS 与 CYCLE97x 体系,刀补走 TOA 刀具管理。跨系统移植时,变量号、循环号、写回指令必须按目标系统手册逐一改写。
问 7:自动写回后,操作员还能手动改刀补吗?
可以,且应该保留。手动改刀补是现场最后的兜底手段(比如测量系统故障时人工介入)。需要注意的只是:下一轮自动写回会基于”当前刀补值+新偏差”累加,如果上一轮人工改动与测量系统对偏差的定义不一致(比如人工改了 0.1 mm 而测量认为还差 0.02 mm),自动写回会在人工值基础上继续叠加。因此建议自动写回采用”实测值覆写”(整值写几何)而非”偏差累加”(叠加磨损)的场合,先确认现场流程。
问 8:自动写刀补适合所有加工吗?
不是。单件小批量、测量时间占比过高的场景,闭环收益有限;测量系统不稳定(频繁误触发)、机械精度不足以支撑微米级修正的场景,自动写回反而会把系统误差闭环放大。适合的场景特征是:批量稳定、刀具磨损可预测、测量链路经过验证——先解决”测不准”再谈”自动写”。
本文技术数据与变量号均取自以下官方文档,引用时已按原文核对:
| 类别 | 文档 |
|---|---|
| 雷尼绍 | Inspection Plus for Mazak INTEGREX/VORTEX 编程手册 H-2000-6447-14-A(#135~#142 输出变量表);Inspection Plus for Okuma OSP 编程手册 H-2000-6550-07-A(VS75~VS89 输出变量表);GoProbe cycles for Inspection Plus for Okuma H-2000-6864-0A-A(#100/#101/#102);GoProbe 接触式对刀编程手册(发那科/Meldas)H-2000-6826-0A-A(G65 P9921、M21/M22/M23、默认值);Inspection Plus 循环清单(O9810/O9811/O9812/O9814/O9815/O9816/O9819/O9820/O9830 及标定 O9801~O9804) |
| 马波斯 | MIDA 宏程序编程指南 发那科篇(D310A2AG16 工件测量:O9312 输出 #114~#121、O9335 输出 #111~#116、T 补偿刀补号参数);MIDA 对刀仪篇(D310A1AG07:P9377/P9378 I/J 磨损公差与 #143 输出、O9366 #109/#110 刀补指针) |
| 波龙 | BLUM QUICKSTART 测量循环手册 P03.8000-031.360-EN V3A(O9700~O9716、结果变量 #100~#112、O9705 W 参数、O9706 SET TOOL E 参数);LaserControl NT 参数手册 P87.0634-030.360 V5D(O9601/O9602 调用格式与默认值、错误 #600=16/19);Z-NANO/Z-3D 手册(O9911~O9915) |
| 发那科/三菱 | 发那科 0i 系列操作说明书(编程篇)B-64604 系列(G31、#5061~#5064、G10 L10/L12/L2/L50、刀补系统变量 #10001/#11001/#12001/#13001 系列、#4120、外部工件偏置等);三菱 M800/M80 系列编程说明书 IB-1501292-H(G31 与发那科兼容体系) |
| 系统差异 | 马扎克(O96xx B90 循环、无 G10 L50、M19 主轴定向)、西门子(无 G31、CYCLE97x+MEAS、TOA 刀具管理)、海德汉(CYCLE DEF 触测循环、TOOL.T 刀具表)为各系统通用体系描述,具体编号以所装版本官方手册为准 |
本文中未获得官方数据表支撑的量级估计(如单次测量耗时占比)均已在正文标注”案例数据,实际结果因现场而异”或”工程参考,以官方数据为准”,不作精确承诺。
文档版本:V1.0
编辑:宁波匠测科技技术部
本文技术数据引自上述官方技术手册,如有疑问请以原版手册为准。
每台机床的配置、工况和预算都不一样,本文给出的只是参考框架。您可以:
宁波匠测科技——15 年专注精密测量,服务雷尼绍、马波斯、波龙全系测头与对刀仪的选型、安装、校准、维修与维保。
| 联系方式 | 信息 |
|---|---|
| 官方预约 | jcetech.cn/contact |
| 咨询热线 | 157-5780-7400 / 132-2194-1413 |
| 寄修地址 | 宁波鄞州研发园 A2-12B17 |
| 服务范围 | 全国上门 · 加急维修 48 小时响应 |
把问题发给我们,让专业工程师帮您算清楚这笔账。
打开微信扫一扫,关注「宁波匠测」
获取维修进度查询与技术支持
打开企业微信或微信扫一扫
添加专属顾问,随时沟通