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

文档编号: RG-TS08-v2.0
编制单位: 宁波匠测科技有限公司 技术部
适用系统: 发那科 Fanuc / Meldas — 西门子 Siemens 840D
适用硬件: TS27R(有线)、RTS(射频无线)、OTS(红外光学)接触式对刀仪
入口宏: P9921(发那科/Meldas)/ 西门子子程序
核心参考手册: H-2000-6826-0A-A (Fanuc/Meldas), H-2000-6833-0A-A (Siemens)
雷尼绍 GoProbe 接触式对刀系统是一套简化、标准化的 CNC 对刀编程方案。与完整的 O985x 宏程序系列(Haas VF 专用)不同,GoProbe 采用统一的入口宏程序,通过功能代码选择不同测量模式,极大降低了编程复杂度和对操作者的记忆负担。
GoProbe 接触式对刀系统支持三种硬件平台:
| 型号 | 传输方式 | 典型接口 | 重复精度 | 典型应用 |
|:—|:—|:—|—:|:—|
| TS27R | 有线(硬接线) | MI 8-4 / HSI / HSI-C | 1.00 μm 2σ | 三轴加工中心,可靠稳定 |
| RTS | 射频 FHSS 2.4 GHz | RMI-Q | 1.00 μm 2σ | 五轴/龙门,无法布线的场合 |
| OTS | 红外光学(调制光) | OMI-2 / OMI-2T / OMI-2H / OMM-2C+OSI | 1.00 μm 2σ | 多主轴/交换工作台,无线灵活 |
三种对刀仪均采用相同测针结构和触发原理,GoProbe 编程接口完全一致——同一段代码可在三种硬件上无差别运行。
对刀仪安装后需在 CNC 系统中正确设定安装位置偏置。对于发那科系统,通常使用 #5xxxx 系列宏变量记录对刀仪的工作位置坐标:
; 对刀仪安装位置设置示例(发那科/Meldas)
#501 = 350.0 ; 对刀仪在机床坐标系中的 X 位置 (mm)
#502 = 215.0 ; 对刀仪在机床坐标系中的 Y 位置 (mm)
#503 = -150.0 ; 对刀仪在机床坐标系中的 Z 位置 (mm) — 盘型测针上表面高度
#504 = 25.0 ; 盘型测针直径 (mm)
发那科/Meldas 系统使用 G65 P9921 作为统一入口,通过 M 代码选择子功能:
| M 代码 | 功能 | 说明 |
|:—|:—|—:|
| M21 | 刀长测量(Tool Length Measurement) | 测量当前主轴刀具的 Z 向长度 |
| M22 | 刀长 + 直径测量(Tool Length + Diameter Measurement) | 同时测量刀具长度和直径/半径 |
| M23 | 断刀检测(Broken Tool Detection) | 检测刀具有无断裂或磨损超差 |
| M24 | 对刀仪标定(Tool Setter Calibration) | 标定对刀仪 Z 和 XY 基准位置 |
⚠️ 重要提示:在 GoProbe 官方体系中,对刀仪的综合标定(Z轴高度及XY偏置)统一集成于 M24(西门子为 R0=24)功能代码中。请切勿与早期机床厂 OEM 定制版宏程序中分离的检查/标定代码混淆,一切以本手册为准。
西门子 840D 系统使用独立的 SPF 子程序文件,通过 R0 参数选择子功能:
| R0 值 | 功能 | 说明 |
|:—|:—|—:|
| R0=21 | 刀长测量 | 测量当前主轴刀具 Z 向长度 |
| R0=22 | 刀长 + 直径测量 | 同时测量长度和直径 |
| R0=23 | 断刀检测 | 检测刀具有无断裂 |
| R0=24 | 对刀仪标定 | 标定对刀仪基准位置 |
⚠️ 重要提示:在 GoProbe 官方体系中,对刀仪的综合标定(Z轴高度及XY偏置)统一集成于 M24(西门子为 R0=24)功能代码中。请切勿与早期机床厂 OEM 定制版宏程序中分离的检查/标定代码混淆,一切以本手册为准。
| 功能 | 发那科 M 代码 | 西门子 R0 值 |
|---|---|---|
| 刀长测量 | M21 | R0=21 |
| 刀长+直径测量 | M22 | R0=22 |
| 断刀检测 | M23 | R0=23 |
| 对刀仪标定 | M24 | R0=24 |
对刀仪安装后或更换测针后,必须进行标定。标定的本质是让 CNC 系统”记住”对刀仪盘型测针在机床坐标系中的精确位置(Z 高度和 XY 中心)。
标定使用一把已知长度和直径的标准刀具(标定棒),通过以下步骤完成:
; ==================================================
; GoProbe 接触式对刀仪标定 — 发那科/Meldas 系统
; 调用格式: G65 P9921 M24 Aa. [Bb.] [Ff.]
; 参数说明:
; A1 — Z 轴标定(仅标定 Z 方向)
; A2 — Z + XY 综合标定(完整标定)
; Bb — 标准刀具直径 (mm),A2 模式下必输
; Ff — 首次接触进给率 (mm/min),可选,默认 480
; 前提条件:
; 1) 将已知长度的标定棒装入主轴
; 2) 手动移动刀具至对刀仪上方安全位置
; 3) 标准刀具长度已在刀具偏置表中正确设定
; ==================================================
; — 示例 1: Z 轴标定 —
; 使用标定棒仅标定 Z 方向
; 适用于仅需长度测量、直径精度要求不高的场合
G65 P9921 M24 A1. F300.
; — 示例 2: 完整标定 (Z + XY) —
; 标定棒直径 20.0 mm,全面标定对刀仪
G65 P9921 M24 A2. B20.0 F300.
; — 示例 3: 快速标定(使用默认进给率)—
G65 P9921 M24 A2. B20.0
; ==================================================
; GoProbe 接触式对刀仪标定 — 西门子 840D 系统
; 调用格式: R0=24 Aa. [Bb.] [Ff.]
; 参数说明同发那科版
; ==================================================
; 示例 1: Z 轴标定
R0=24 A1. F300.
; 示例 2: 完整标定 (Z + XY)
R0=24 A2. B20.0 F300.
; 示例 3: 快速标定
R0=24 A2. B20.0
标定完成后,建议使用标定棒再次运行刀长测量(M21/R0=21)验证标定结果。测量值应与标定棒的已知长度一致,偏差应在 ±0.005 mm 以内。
; 标定验证 — 发那科
G65 P9921 M21 T1. ; 测量 1 号刀具(标定棒)
#100 = #506 ; 读取测量结果(假设宏变量 #506 存储测量长度)
IF [#100 GT 0.005] GOTO 9000 ; 偏差超差则跳转报警
刀长测量是最常用的功能,用于自动测量当前主轴中刀具的 Z 向长度,并将结果写入刀具偏置表。
刀具以设定的进给速度向下移动,触碰对刀仪盘型测针上表面触发跳跃信号(Skip Signal),CNC 系统记录触发位置并计算刀具长度。测量完成后,刀具自动回退至安全位置。
| 参数 | 含义 | 默认值 | 备注 |
|---|---|---|---|
| Tt | 目标刀具号 | 当前主轴刀具 | 指定写入偏置的刀具号 |
| Ff | 首次接触进给率 | 480 mm/min | 快进至接近位置后减速 |
| Hh | 公差上限 | — | 超出此公差则报警 |
| Jj | 过行程增量 | 2.0 mm | 超过测针表面的额外行程 |
| 安全增量 | 5.0 mm | 快进停止距测针表面的距离 |
; ==================================================
; 刀长测量 — 发那科/Meldas 系统
; 调用格式: G65 P9921 M21 [Tt.] [Ff.] [Hh.] [Jj.] [Qq.]
; ==================================================
; — 示例 1: 基本刀长测量 —
; 测量当前主轴刀具长度,写入刀具偏置
G65 P9921 M21
; — 示例 2: 指定刀具号和进给率 —
; 测量结果写入 5 号刀具偏置,测量进给 300 mm/min
G65 P9921 M21 T5. F300.
; — 示例 3: 带公差控制的刀长测量 —
; 若测量值与预期偏差超过 ±0.1 mm 则报警
G65 P9921 M21 T5. H0.1 F300.
; — 示例 4: 完整参数示例 —
; T5=5号刀, F200=200mm/min, H0.05=公差±0.05mm
; J3.0=过行程3mm, Q8.0=安全距离8mm
G65 P9921 M21 T5. F200. H0.05 J3.0 Q8.0
; ==================================================
; 刀长测量 — 西门子 840D 系统
; 调用格式: R0=21 [Tt.] [Ff.] [Hh.] [Jj.] [Qq.]
; ==================================================
; 示例 1: 基本刀长测量
R0=21
; 示例 2: 指定刀具号
R0=21 T5. F300.
; 示例 3: 公差控制
R0=21 T5. H0.1 F300.
; 示例 4: 完整参数
R0=21 T5. F200. H0.05 J3.0 Q8.0
在实际生产中,刀长测量通常集成在自动换刀循环中,每次换刀后自动测量新刀具长度:
; ==================================================
; 自动换刀 + 刀长测量集成循环
; 发那科/Meldas 系统
; ==================================================
O9001 (AUTO TOOL CHANGE WITH LENGTH MEASUREMENT)
;
IF [#20 EQ #0] GOTO 9000 ; 未指定刀具号则报警
;
; 步骤 1: 将当前刀具放回刀库
M6 T#20 ; 执行换刀
;
; 步骤 2: 移动至对刀仪上方安全位置
G90 G53 G0 Z0 ; Z 轴回第二参考点(换刀位)
G53 G0 X350.0 Y215.0 ; 移动至对刀仪上方
G53 G0 Z-100.0 ; 下降至测量接近位置
;
; 步骤 3: 执行刀长测量
G65 P9921 M21 T#20 F300. H0.1
;
; 步骤 4: 移动至加工起始位置
G53 G0 Z0
M99
;
N9000 #3000 = 100 (TOOL NOT SPECIFIED)
M99
M22/R0=22 同时测量刀具长度和直径(或半径),适用于需要在一次装夹中完整获取刀具几何参数的场景。测量循环按以下顺序执行:
| 参数 | 含义 | 默认值 | 备注 |
|---|---|---|---|
| Tt | 目标刀具号 | 当前主轴刀具 | — |
| Ff | 首次接触进给率 | 480 mm/min | Z 和 XY 均使用此进给 |
| Hh | 长度公差 | — | 长度测量公差 |
| Jj | 过行程增量 | 2.0 mm | — |
| 安全增量 | 5.0 mm | — | |
| Dd | 盘型测针直径 | 系统已存 | 通常标定时已记录 |
| Bb | 刀具预期直径 | — | 用于 XY 接近逻辑 |
; ==================================================
; 刀长 + 直径测量 — 发那科/Meldas 系统
; 调用格式: G65 P9921 M22 [Tt.] [Ff.] [Hh.] [Jj.] [Qq.] [Bb.]
; ==================================================
; — 示例 1: 基本用法 —
; 同时测量刀具长度和直径
G65 P9921 M22
; — 示例 2: 指定刀具号和进给率 —
G65 P9921 M22 T8. F250.
; — 示例 3: 带预期直径的测量 —
; B12.0 告知系统刀具预期直径约 12mm,优化 XY 接近路径
G65 P9921 M22 T8. B12.0 F250.
; — 示例 4: 完整参数 —
G65 P9921 M22 T8. B12.0 H0.05 J2.5 Q6.0 F200.
; ==================================================
; 刀长 + 直径测量 — 西门子 840D 系统
; 调用格式: R0=22 [Tt.] [Ff.] [Hh.] [Jj.] [Qq.] [Bb.]
; ==================================================
; 示例 1: 基本用法
R0=22
; 示例 2: 指定刀具号
R0=22 T8. F250.
; 示例 3: 带预期直径
R0=22 T8. B12.0 F250.
; 示例 4: 完整参数
R0=22 T8. B12.0 H0.05 J2.5 Q6.0 F200.
直径测量精度受多种因素影响,以下是最佳实践:
; ==================================================
; 高精度直径测量示例
; ==================================================
; 技巧 1: 降低进给率提高精度
; 对于精加工刀具,使用更低的进给率
G65 P9921 M22 T12. F100. ; 100 mm/min 确保高精度
; 技巧 2: 多次测量取均值
#110 = 0
#111 = 1
N100 G65 P9921 M22 T12. F150.
#110 = #110 + #506 ; 累加测量值
#111 = #111 + 1
IF [#111 LE 3] GOTO 100 ; 测量 3 次
#112 = #110 / 3 ; 计算平均值
断刀检测用于在加工循环中或加工完成后自动检查刀具有无断裂或严重磨损。GoProbe M23/R0=23 检测逻辑如下:
| 参数 | 含义 | 默认值 | 备注 |
|---|---|---|---|
| Tt | 目标刀具号 | 当前主轴刀具 | 需在偏置表中有正确基准值 |
| Hh | 断刀判断公差 | 0.5 mm | 超出此值判定为断刀 |
| Ff | 检测进给率 | 480 mm/min | — |
| Jj | 过行程增量 | 2.0 mm | — |
; ==================================================
; 断刀检测 — 发那科/Meldas 系统
; 调用格式: G65 P9921 M23 [Tt.] [Hh.] [Ff.]
; ==================================================
; — 示例 1: 基本断刀检测 —
; 检测当前主轴刀具是否断裂,公差 0.5 mm
G65 P9921 M23
; — 示例 2: 指定刀具号和公差 —
; 检测 6 号刀,若长度变化超过 ±0.2 mm 则报警
G65 P9921 M23 T6. H0.2
; — 示例 3: 精密刀具检测 —
; 微小钻头(如 Ø0.5 mm 钻头),严格公差
G65 P9921 M23 T4. H0.05 F100.
; — 示例 4: 粗加工刀具检测 —
; 直径较大的面铣刀,容差可以放宽
G65 P9921 M23 T1. H1.0 F500.
; ==================================================
; 断刀检测 — 西门子 840D 系统
; 调用格式: R0=23 [Tt.] [Hh.] [Ff.]
; ==================================================
; 示例 1: 基本检测
R0=23
; 示例 2: 指定刀具和公差
R0=23 T6. H0.2
; 示例 3: 精密刀具
R0=23 T4. H0.05 F100.
; 示例 4: 粗加工刀具
R0=23 T1. H1.0 F500.
以下是将断刀检测集成到完整加工循环中的典型示例:
; ==================================================
; 钻孔循环 + 断刀检测集成
; 发那科/Meldas 系统
; ==================================================
O9100 (DRILLING WITH BROKEN TOOL CHECK)
;
; 步骤 1: 换刀和测量
T3 M6 ; 换 3 号钻头
G65 P9921 M21 T3. F300. ; 测量钻头长度,记录基准值
;
; 步骤 2: 执行钻孔加工
G90 G54 G0 X50.0 Y50.0
G43 Z5.0 H3 M3 S3000
G81 Z-20.0 R3.0 F150.
X100.0
X150.0
X200.0
G80
G0 Z50.0 M5
;
; 步骤 3: 加工后断刀检测
G53 G0 X350.0 Y215.0 ; 移动至对刀仪
G65 P9921 M23 T3. H0.2 ; 检测钻头是否断裂(若断刀则在宏程序内直接报警停机)
;
N100 M99
雷尼绍 GoProbe 推荐以下五步标准化对刀流程,适用于绝大多数加工场景:
| 步骤 | 操作 | GoProbe 调用 | 说明 |
|---|---|---|---|
| 1 | 安装对刀仪并接线 | — | 硬件安装,连接 SKIP 信号 |
| 2 | 设定对刀仪位置偏置 | 宏变量赋值 | 记录对刀仪在机床坐标系中的坐标 |
| 3 | 对刀仪标定 | M24 / R0=24 | 使用标准标定棒标定 Z 和 XY |
| 4 | 标定验证 | M21 / R0=21 | 验证标定精度 |
| 5 | 批量刀具测量 | M21/M22 | 正式生产中自动测量每把刀具 |
; ================================================ ;
; GoProbe 接触式对刀 — 完整五步流程 ;
; 发那科/Meldas 系统 ;
; 适用于首件调试或更换对刀仪后的初始设置 ;
; ================================================ ;
;
; — 步骤 0: 环境准备 — ;
; 手动操作:将标准标定棒(已知长度 L=100.0mm,直径 D=20.0mm)装入主轴 ;
; 手动操作:将带测刀具装入刀库并设定初始偏置 ;
;
; — 步骤 1: 设定对刀仪位置偏移变量 — ;
; (根据实际安装位置修改以下值) ;
#501 = 350.0 ; 对刀仪 X 位置
#502 = 215.0 ; 对刀仪 Y 位置
#503 = -150.0 ; 对刀仪 Z 位置(测针上表面)
#504 = 25.0 ; 盘型测针直径
;
; — 步骤 2: 移动至对刀仪上方 — ;
G90 G53 G0 X#501 Y#502 ; 快速定位至对刀仪 XY 中心
M5 ; 主轴停止
N50 G43 H10 Z[#503 + 50.0] ; 建立标定棒长度补偿并安全定位至上空 50mm 处
( —- 步骤 3: 进行 Z 轴及 XY 综合标定 —- )
N60 G01 Z[#503 + 5.0] F1000 ; 标定棒下插至测针上空 5mm 处
; 调用 GoProbe 对刀宏,M24 为标定,A2 代表 Z 与 XY 综合标定,B 为标定棒直径
N70 G65 P9921 M24 A2. B20.0 F300.
G00 Z100. ; 标定结束,迅速安全抬刀
M30 ; 标定主程序结束
标定完成后,对刀仪已具备高精度测量基准。以下是进行自动刀具长度和半径检测的完整生产实例:
本程序用于精加工刀具的长度自动测量并写入刀补。
%
O2000 (TOOL LENGTH AUTO-MEASURE)
G21 G40 G80 G90 G94 ; 安全设定
T02 M06 ; 调入 2 号立铣刀(直径 10.0mm)
G54 G00 X0. Y0. ; 快速定位至工件中心上空
G43 H02 Z50. ; 建立初始刀长偏置,安全下刀至 Z50.( —- 调用雷尼绍 GoProbe 对刀宏程序 —- )
( P9921 为对刀仪核心调用入口,M21.1 代表长度测量并自动写入 2 号刀补长度 )
G65 P9921 M21.1 S2.0 ; 自动测量并更新 H02 的刀具长度G00 Z150. M5 ; 快速退回安全高度,主轴停止
M30 ; 程序结束
%
为了消除主轴高速旋转偏摆带来的尺寸偏差,本程序使刀具以 500 RPM 反转并进行侧向动态半径检测。
%
O3000 (TOOL RADIUS AUTO-MEASURE)
G21 G40 G80 G90 G94 ; 安全设定
T03 M06 ; 调入 3 号立铣刀(直径 12.0mm)
G54 G00 X0. Y0. ; 定位至安全原点
G43 H03 Z50. ; 建立初始偏置( —- 调用 GoProbe 半径动态测量 —- )
( M22.2 代表半径测量并自动写入 3 号刀补半径,D12.0 为刀具标称直径 )
G65 P9921 M22.2 D12.0 S3.0 ; 自动进行旋转侧向测量,并将半径结果更新至 D03G00 Z150. M5 ; 安全回退
M30 ; 程序结束
%
在自动化大批量加工或夜间无人值守(“黑灯工厂”)生产中,必须在工序末尾加入断刀检测。如果检测到刀具折断(偏差大于 0.2mm),机床自动报警并停机。
%
O4000 (TOOL BROKENAGE DETECTION)
G21 G40 G80 G90 G94 ; 安全设定
T02 M06 ; 调入刚才精加工的 2 号刀
G43 H02 Z30. ; 快速下降至 Z30( —- 调用 GoProbe 断刀检测 —- )
( M23 代表断刀检测,S2.0 对应 2 号刀,T0.2 为最大允许公差值 )
( 如果刀具实际磨损或折断超过 0.2mm,系统将自动触发 #3000 硬件报警停机 )
G65 P9921 M23. S2.0 T0.2 ; 执行自动对刀断刀比对G00 Z150. ; 安全退刀
M30 ; 程序结束
%
| 故障现象 | 可能原因 | 现场诊断及排除措施 |
|---|---|---|
| 测头发射器不亮红绿灯 | 1. 电池电量耗尽(RTS) 2. TS27R 线路松动 | 1. 检查 RTS 测头电池,更换 2 节 1.5V 锂电池。 2. 用万用表检测 MI-12 接口箱的 24V 输出,重新紧固 TS27R 的 4 芯接线端。 |
| 对刀触发时机床无 Skip 信号 | 1. 跳过线(X4.7)断开 2. 系统参数配置错误 | 1. 现场检查系统的跳过输入信号 X 地址变动。 2. 检查 FANUC 参数 6200#4 是否启用(开启高速跳过功能)。 |
| 长度重复定位精度极差(>10μm) | 1. 对刀仪上表面残留切屑 2. 测头基座松动 3. 标定参数被意外覆盖 | 1. 吹净上表面,调整对刀自吹气延时(G04 X1.0)。 2. 使用扭矩扳手重新检查工作台底座固定螺丝。 3. 重新运行一次 O2000 标定程序。 |
版权声明: 本文档由宁波匠测科技有限公司技术部原创编制,旨在为数控维保工程师及机床厂电气调试员提供第一手的雷尼绍对刀仪应用指南。
声明:本文中引用的 Renishaw、GoProbe 均为雷尼绍公司注册商标。宏程序语法及参数定义以官方技术文档 H-2000-6826 及 H-2000-6833 为准,现场应用前请严格做好防撞模拟验证。