马波斯 MIDA 断刀检测与 VTS 影像对刀 — 海德汉系统篇
前言
除了激光对刀,马波斯 MIDA 在海德汉 CNC 系统上还有两套重要的测量工具:TBD 断刀检测仪 和 VTS 影像式对刀仪。TBD 通过 C545 循环在 TNC 530 上实现非接触断刀检测;VTS 则通过高分辨率 CCD 图像分析,实现微米级的刀具预设和完整性检测。
本文综合马波斯官方手册 D310H7AG00(TBD TNC530)、D310R9AG00(VTS TNC620/640)、D310HBAG00(VTS Bridge iTNC530)和 D310RBAG00(VTS Bridge TNC620/640)内容,由宁波匠测科技有有限公司整理,如有未尽之处,欢迎批评指正。
一、TBD 断刀检测(D310H7AG00)
1.1 系统概述
TBD(Tool Breakage Detector)是马波斯的非接触式断刀检测仪,专为海德汉 TNC 530 数控系统开发。它使用非接触式传感器快速检测刀具轴向长度变化,适用于批量自动化加工中的在线断刀监控。
核心特点:
- 非接触式检测——无需触碰刀具,无磨损
- 极快检测速度——单个刀具检测仅需 1~2 秒
- 适用于所有类型刀具(铣刀、钻头、丝锥等)
- 可在加工循环中快速调用
1.2 硬件组成
TBD 传感器 ──► E32U 信号调理 ──► TNC 530 SKIP 输入
│
└── 气动快门/气幕保护
| TBD 传感器头 | 安装在机床工作台上的红外/电容式非接触传感器 |
| E32U 接口 | 信号调理、触发电平设置、跳步信号输出 |
| 气动防护 | 保护传感器面,防止切削液污染 |
| 固定支架 | 调整传感器在工作台上的安装高度和角度 |
1.3 C545 — 刀具轴向断刀检测
检测原理:
以预先存储的刀具长度为基准,通过非接触式传感器检测刀具尖端到传感器的距离,判断刀具轴向长度是否发生异常变化。
调用方式:
; TNC 530 断刀检测
TOOL CALL 5 Z ; 激活待检测刀具
C545 ; 执行断刀检测
检测流程:
适用场景:
- 大批量自动化加工中的在线断刀监控
- 无人值守生产(夜班/周末自动运行)
- 多主轴机床的快速刀具巡检
1.4 安装配置
| 1 | 安装 TBD 传感器头到机床工作台固定支架 |
| 2 | 连接 E32U 接口模块(电源 + 信号线) |
| 3 | 配置 E32U DIP 开关(信号极性、触发电平等) |
| 4 | 连接电缆至 TNC 530 SKIP 输入端口 |
| 5 | 在 TNC 系统中加载 TBD 软件(C545 循环) |
| 6 | 定位传感器并执行位置标定 |
1.5 参数设置
| 检测间隙(mm) | 刀具尖端到传感器的距离 | 0.5~2.0 |
| 断刀阈值(mm) | 超过此偏差即判定断刀 | 0.1~0.5 |
| 检测速度(mm/min) | 刀具接近传感器的速度 | 500~1000 |
| 信号采样次数 | 重复测量取平均 | 2~3 |
1.6 TBD 断刀检测完整编程示例
以下是 TBD 系统在 TNC 530 上的完整编程示例,包含参数设置、传感器标定和断刀检测三部分。
第一步:传感器位置标定
在首次安装后,使用基准刀具标定 TBD 传感器的精确位置:
; TBD 传感器位置标定 — TNC 530
; 使用已知长度的基准刀具(刀号 T1)
TOOL CALL 1 Z S0 ; 调用基准刀具,主轴停止
L Z+100 F2000 ; 移至 Z 轴安全高度
L X+300 Y+0 F3000 ; 移至 TBD 传感器上方
L Z+10 F1000 ; 缓慢接近传感器
C545 ; 执行 C545 检测循环
; 系统自动记录触发时的 Z 坐标到 #101 和 #102
FN 0: Q1 = #101 ; 保存标定参考位置 Z_ref
FN 0: Q2 = #102 ; 保存标定偏置值
; 标定完成,将 Z_ref 写入刀具表
TOOL DEF 1 L+Q1 ; 更新 T1 刀具长度
第二步:断刀阈值参数配置
通过全局变量设置断刀检测阈值:
; 断刀检测参数配置
FN 0: Q10 = 0.3 ; 断刀长度偏差阈值(mm),超过即触发报警
FN 0: Q11 = 0.8 ; 检测间隙(mm),刀具尖端到传感器面的距离
FN 0: Q12 = 600 ; 检测进给速度(mm/min)
FN 0: Q13 = 2 ; 重复采样次数,取平均值提高可靠性
FN 0: Q14 = 0 ; 0=断刀检查, 1=磨损检查
第三步:在线断刀检测子程序
; TBD 在线断刀检测 — 主程序调用示例
; 文件: TBD_CHECK.H
BEGIN PGM TBD_CHECK MM
; — 参数传入 —
; Q1 = 待检测刀具号
; Q10 = 断刀阈值 (mm)
; Q11 = 检测间隙 (mm)
; Q12 = 检测速度 (mm/min)
TOOL CALL Q1 Z S0 ; 调用待检刀具,主轴停止
L Z+100 FMAX ; 快速定位至安全高度
L X+300 Y+0 FMAX ; 移动至 TBD 传感器位置
; 检测接近
L Z+Q11+5 F1000 ; 快速接近至距传感器 5mm 处
L Z+Q11 FQ12 ; 以设定速度接近至检测位置
C545 ; 执行断刀检测循环
; 结果判断
FN 9: IF +Q1 EQU +1 ; 若检测结果正常(Q1=1)
FN 0: Q100 = 0 ; 设置状态=正常
ELSE
FN 0: Q100 = 1 ; 设置状态=断刀
FN 16: F-TI-PRINT ; 触发报警输出
END IF
L Z+100 FMAX ; 检测完成,抬刀至安全高度
END PGM TBD_CHECK MM
第四步:自动化加工中的典型调用
; 主程序 — 每加工 N 件后调用断刀检测
CYCL DEF 7.0 DATUM SHIFT
CYCL DEF 7.1 X+0
; 加工主程序 …(省略)
; 每 50 件执行一次断刀巡检
FN 9: IF +Q200 EQU +50
FN 0: Q1 = +5 ; 检测 T5 刀具
CALL PGM TBD_CHECK ; 调用断刀检测子程序
FN 9: IF +Q100 EQU +1
CYCL DEF 9.0 DWELL
CYCL DEF 9.1 DWELL 300 ; 停机等待人工确认
END IF
FN 0: Q200 = 0 ; 计数器重置
END IF
补充说明: 在实际应用中,建议将 TBD 标定数据保存在独立的标定参数文件中,配合刀具寿命管理功能实现全自动断刀巡检。传感器表面应每班次清洁,防止切削液残留造成误触发。
二、VTS 影像对刀系统
2.1 系统概述
VTS(Vision Tool Setting)影像式对刀仪使用高分辨率 CCD 图像传感器捕捉刀具轮廓,通过图像分析算法实现微米级精度的非接触测量。
核心特点:
- 非接触测量,无磨损、不影响刀具寿命
- 重复精度达 0.2 μm
- 可同时检测所有切削刃(不仅是最大直径)
- 支持刀具数字指纹——基于刀具几何特征的唯一标识
- 可检测复杂轮廓刀具的每个刃口状态
2.2 系统架构
海德汉 CNC
│
├── VTS 宏程序(O970x 系列 / C 循环)
│ 安装于 CNC 用户循环区
│
├── 以太网 ──► VTS Bridge PC(Windows 桥接软件)
│ │
│ ├── 以太网 ──► VTS-EU(处理单元)
│ │ │
│ │ └── VTS-SU(光学传感器)
│ │
│ └── config.ini(通信变量配置)
2.3 VTS 测量循环
TNC 620/640 版(O970x 系列)
| O9700 (VTS_PRES) | 标准测量循环 | 旋转刀具长度/半径预设 |
| O9701 (VTS_CALIBRATION) | 自动标定 | VTS 系统位置和光学标定 |
| O9730 (VTS_SINGLEC_PRES) | 静态模式测量 | 非旋转状态刀具测量 |
| O9731 (VTS_SINGLEC_INTCHECK) | 静态完整性检查 | 静态轮廓/表面检测 |
| O9702~O9728 | 辅助循环 | 参数配置、状态检测、错误管理等 |
O9700(VTS_PRES)测量参数详解:
; 调用示例 — TNC 620/640
; O9700 H<刀补号> K<测量深度> F<进给速度> C<探头编号>
O9700 H5 K25 F3000 C1
| H | Tool Offset No. | 整数 | 必填 | 刀具表中的刀补号(TOOL.T 中的刀具索引),系统将测量结果写入该刀具的记录中 |
| K | Measuring Depth | 实数 | 20.0 | 刀具沿 Z 轴进入 VTS 测量区域的深度(mm),需确保刀具全长被覆盖 |
| F | Feed Rate | 实数 | 2000 | 刀具进给至测量位置的速度(mm/min),建议 1000~5000 以避免冲击影响成像 |
| C | Camera/Probe No. | 整数 | 1 | VTS 相机编号,多相机配置时指定(1~4),单相机系统固定为 1 |
O9701(VTS_CALIBRATION)标定参数详解:
; 调用示例 — 自动标定循环
; O9701 H<基准刀号> K<测量深度> F<进给速度> C<相机号>
O9701 H1 K30 F1500 C1
| H | Reference Tool No. | 整数 | 必填 | 基准刀具在 TOOL.T 中的刀号,该刀具的长度/半径已精确已知,用于标定坐标偏置 |
| K | Calibration Depth | 实数 | 25.0 | 标定时 Z 轴移动深度(mm),应覆盖基准刀具刀刃范围 |
| F | Feed Rate | 实数 | 1500 | 标定进给速度(mm/min),低速可提高图像采集稳定性 |
| C | Camera No. | 整数 | 1 | 需要标定的 VTS 相机编号,与 O9700 的 C 参数对应 |
注意: 以上宏程序中的参数通过全局变量 #149 传递至 VTS Bridge,再由桥接软件解析后发送至 VTS-EU 执行测量。
辅助循环包含以下程序:
| O9702 | VTS_MOVEG1 | 直线移动控制 |
| O9703 | VTS_MOVETOUCH | 触测移动控制 |
| O9704 | VTS_FASTCHECK | 运行状态初始检查 |
| O9706 | VTS_FOCUS | 焦距状态采集 |
| O9709 | VTS_ROICALC | ROI 区域及角步长计算 |
| O9712 | VTS_SKIP | 跳步功能 |
| O9717 | VTS_GEOMAN | 测量几何计算 |
| O9719 | VTS_SHUTDOWN | 系统关闭程序 |
| O9721 | VTS_INIV | 配置参数初始化 |
| O9722 | VTS_INTCHECK | 完整性检测帧设定 |
| O9723 | VTS_SPINDLEINDEX | 主轴分度 |
| O9725 | VTS_ERR | 错误状态管理 |
| O9727 | VTS_SETTOOLINFO | 写入刀具数据至 VTS EU |
| O9728 | VTS_GETTOOLINFO | 从 VTS EU 读取刀具数据 |
2.4 VTS Bridge 桥接软件
VTS Bridge 是通过以太网连接海德汉 CNC 和 VTS 系统的 Windows 桥接软件。
| VTS Bridge iTNC530 | 海德汉 iTNC530 | D310HBAG00 |
| VTS Bridge TNC620/640 | 海德汉 TNC620/640 | D310RBAG00 |
通信方式:
- 海德汉侧:HeidenhainDNC COM Component 库
- VTS 侧:马波斯专有协议
- 需海德汉 DNC 许可
桥接软件 config.ini 完整参数表:
; VTS Bridge 配置文件
[NETWORK]
CNC_IP=192.168.1.10 ; 海德汉 CNC 以太网 IP 地址
CNC_PORT=19000 ; DNC 通信端口(默认 19000)
VTS_IP=192.168.1.20 ; VTS-EU 处理单元 IP 地址
VTS_PORT=52000 ; VTS 相机数据端口(默认 52000)
[VARIABLE]
VAR_NUM=149 ; 数据交换变量号(范围 1~999,默认 #149)
VAR_DATA_TYPE=0 ; 0=整数, 1=浮点数(默认 0)
[TIMEOUT]
MEASURE_TIMEOUT=30 ; 测量结果等待超时(秒,范围 10~120)
CONNECT_TIMEOUT=10 ; TCP 连接超时(秒,默认 10)
RETRY_COUNT=3 ; 通信失败重试次数(默认 3)
[LOGGING]
LOG_LEVEL=1 ; 0=静默, 1=正常, 2=调试详细(默认 1)
LOG_FILE=VTS_Bridge.log ; 日志文件路径
LOG_MAX_SIZE=10 ; 日志文件最大大小(MB,默认 10)
配置参数说明:
| CNC_IP | 字符串 | 192.168.1.10 | 海德汉数控系统以太网接口 IP 地址,需与 CNC 网络设置一致 |
| CNC_PORT | 整数 | 19000 | 海德汉 DNC 通信端口号,须匹配 CNC 侧的 LSV2 端口配置 |
| VTS_IP | 字符串 | 192.168.1.20 | VTS 处理单元(VTS-EU)的固定 IP 地址 |
| VTS_PORT | 整数 | 52000 | VTS-EU 数据通信端口,马波斯专用协议默认 52000 |
| VAR_NUM | 整数 | 149 | CNC 全局变量编号,用于 VTS Bridge 与 CNC 宏程序之间的数据交换 |
| VAR_DATA_TYPE | 整数 | 0 | 数据类型:0=整型, 1=浮点型。通常保持默认 0 |
| MEASURE_TIMEOUT | 整数 | 30 | 单次测量命令等待结果返回的最大时间(秒),超时触发 Error 100 |
| CONNECT_TIMEOUT | 整数 | 10 | TCP 套接字连接建立的超时时间(秒) |
| RETRY_COUNT | 整数 | 3 | 通信失败后自动重试次数,超过后报错并终止测量流程 |
| LOG_LEVEL | 整数 | 1 | 日志详细程度:0=仅错误, 1=正常信息, 2=调试级(含报文内容) |
| LOG_FILE | 字符串 | VTS_Bridge.log | 日志文件保存路径,支持绝对路径和相对路径 |
| LOG_MAX_SIZE | 整数 | 10 | 日志文件滚动上限(MB),超出后自动归档为新文件 |
2.5 VTS 标定流程
步骤 1:光学标定
使用标准校准件对 VTS 相机进行光学标定,确定像素/微米转换比例。
步骤 2:位置标定
使用基准刀具确定 VTS 在机床坐标系中的精确位置。将基准刀具移至 VTS 测量区域,系统自动采集并计算坐标偏置。
步骤 3:刀具测量
将待测刀具移至 VTS 测量区域,系统完成影像采集和分析,输出测量结果至海德汉刀具表(TOOL.T)。
2.6 VTS 数字指纹功能
每次刀具测量时,系统自动生成该刀具的 数字指纹——包含以下特征参数:
| 刀具总长度 | 尖端到刀柄基准面的距离 |
| 最大半径 | 旋转时最大径向投影 |
| 刀刃数量 | 实际检测到的切削刃数量 |
| 各刀刃高度 | 每个切削刃的径向伸出量 |
| 轮廓形状码 | 刀具轮廓的几何特征编码 |
| 对称性指标 | 各刀刃的对称度 |
后续检测时,系统自动比对该数字指纹,任何参数偏差超出设定阈值即触发报警。这种方式可以有效检测:
- 微量崩刃(肉眼不可见)
- 不对称磨损
- 刀具变形
2.7 VTS 系统常见故障代码
VTS 系统通过宏程序返回值和 VTS Bridge 日志文件输出故障代码,下表整理了 TNC 620/640 和 iTNC530 上最常见的故障类型。
通信错误类(Error 100~199):
| 100 | MEASURE_TIMEOUT | 测量超时,VTS-EU 在设定时间内未返回结果 | 检查 config.ini MEASURE_TIMEOUT(默认 30s),增大超时值或检查网络延迟 |
| 101 | CNC_CONNECT_FAIL | 无法连接海德汉 CNC,DNC 握手失败 | 确认 CNC_IP 和 CNC_PORT(默认 19000)是否匹配 CNC 侧 LSV2 端口 |
| 102 | VTS_CONNECT_FAIL | 无法连接 VTS-EU 处理单元 | 检查 VTS_IP 和 VTS_PORT(默认 52000),确认 VTS-EU 电源和网线状态 |
| 103 | VAR_READ_ERROR | 从 CNC 变量 #149 读取数据失败 | 确认 VAR_NUM(默认 149)未被其他程序占用,检查变量数据类型是否匹配 |
| 104 | VAR_WRITE_ERROR | 向 CNC 变量 #149 写入数据失败 | 同上,检查 CNC 变量写权限设置 |
| 105 | DNC_LICENSE_MISSING | 未检测到海德汉 DNC 通信许可 | 安装海德汉 DNC 授权许可,重启 VTS Bridge 服务 |
| 106 | PROTOCOL_MISMATCH | VTS Bridge 与 VTS-EU 协议版本不匹配 | 检查 VTS Bridge 和 VTS-EU 固件版本是否一致,需配套升级 |
| 107 | RETRY_EXCEEDED | 重试次数耗尽,通信持续失败 | 检查网络稳定性,增大 RETRY_COUNT(默认 3),排查物理链路 |
光学/图像错误类(Error 200~299):
| 200 | IMAGE_CAPTURE_FAIL | 相机图像采集失败,未收到 VTS-SU 图像数据 | 检查相机电缆连接,重启 VTS-EU 电源 |
| 201 | FOCUS_FAIL | 自动对焦失败,无法找到清晰焦平面 | 清洁 VTS 光学窗口,检查气幕气压是否正常(建议>0.3 MPa) |
| 202 | ILLUMINATION_FAIL | 背光照明异常,图像过暗或过曝 | 检查 LED 光源驱动,调整曝光时间参数 |
| 203 | EDGE_DETECT_FAIL | 刀具边缘检测失败,图像中未识别到刀具轮廓 | 确认刀具已完全进入测量区域,检查 K 参数是否足够 |
| 204 | CALIBRATION_DRIFT | 光学标定参数偏移超过阈值(>0.5 μm) | 重新执行 O9701 光学标定,检查基准刀具是否磨损 |
| 205 | LOW_CONTRAST | 刀具与背景对比度过低,影响边缘识别 | 清洁刀具表面油污,调整光源亮度或更换测量模式 |
| 206 | ROLL_ANGLE_ERROR | 相机安装旋转角超差,图像倾斜 > ±2° | 重新调整 VTS-SU 传感器安装水平度,执行机械校准 |
硬件系统错误类(Error 300~399):
| 300 | EU_TEMP_OVER | VTS-EU 处理单元温度过高(>60°C) | 检查控制柜散热风扇,降低环境温度,确保通风 |
| 301 | SENSOR_COMM_LOST | VTS-EU 与 VTS-SU 传感器通信中断 | 检查 SU 与 EU 之间的高速数据线连接 |
| 302 | AIR_PRESSURE_LOW | 气动防护气幕气压不足(<0.2 MPa) | 检查气源压力,清洁气路过滤器,确保供气压力 0.4~0.6 MPa |
| 303 | SHUTTER_ERROR | 气动快门开/关状态与预期不符 | 检查快门电磁阀和气路连接,手动测试快门动作 |
| 304 | FAN_FAILURE | VTS-EU 散热风扇故障 | 检查风扇供电和运转状态,及时更换故障风扇 |
| 305 | POWER_SUPPLY_FAULT | VTS-EU 电源模块输出电压异常 | 测量 24V DC 供电是否稳定(允许范围 22~26V),检查电源模块 |
应用错误类(Error 400~499):
| 400 | TOOL_NOT_FOUND | 指定的刀具号在 TOOL.T 中不存在 | 检查 O9700 的 H 参数是否对应已定义的刀具号 |
| 401 | INVALID_PARAM | 宏程序传入参数超出有效范围 | 检查 H/K/F/C 参数值是否符合规格(如 K 建议 5~100 mm) |
| 402 | MEASUREMENT_FAILED | 测量算法处理失败,刀具数据异常 | 检查刀具是否完整,清除刀尖附着的切屑后重试 |
| 403 | FINGERPRINT_MISMATCH | 刀具数字指纹与历史数据偏差过大 | 现场处理步骤:① 清洁 VTS 光学窗口(去除切削液/油污污染)→ ② 重新执行 O9701 光学标定 → ③ 确认刀具状态正常(无崩刃、过度磨损、切屑缠绕)→ ④ 重新采集刀具数字指纹以更新基准;若上述步骤无效,检查刀具是否被更换 |
提示: 故障代码通过 VTS Bridge 日志文件(LOG_LEVEL ≥ 1 时记录)和 CNC 屏幕上返回的错误信息共同呈现。推荐在日常生产中设置 LOG_LEVEL=1,在调试阶段设置为 2 获取更详细的诊断信息。
三、TBD 与 VTS 功能特性对比
| 检测方式 | 非接触传感器(红外/电容式),通过刀具轴向长度变化判断断刀 | 非接触 CCD 图像分析,捕捉刀具轮廓进行几何测量 |
| 速度 | 极快,单把刀具 1~2 秒 | 中等,单把刀具 5~10 秒(含图像采集和处理) |
| 精度 | 一般(约 ±10 μm),适合断刀/不断刀的二元判定 | 高(0.2 μm 重复精度),支持微米级刀具预设和刃口检测 |
| 适用场景 | 大批量自动化加工在线断刀巡检、无人值守生产、多主轴快速刀具巡检 | 精密刀具预设、完整性全检、崩刃/不对称磨损检测、数字指纹比对 |
| 可测参数 | 仅长度变化(轴向断刀检测) | 长度/半径/轮廓/各刀刃高度/刀刃数量/对称性 |
| 适用刀具 | 所有类型刀具(铣刀、钻头、丝锥等) | 各类刀具,最小可检测 10 μm 刀刃 |
| 硬件成本 | 较低(传感器+接口模块) | 较高(CCD 相机+处理单元+桥接软件+以太网通信) |
| 维护要求 | 定期清洁传感器面,防止切削液污染 | 光学窗口持续吹气防护,每班次清洁镜头,定期标定 |
四、安装注意事项
参考文档
| D310H7AG00 | TBD Software – Tool Check on Machining Centre – CNC HEIDENHAIN TNC 530 |
| D310R9AG00 | VTS Software – Tool Measure on Machining Center – HEIDENHAIN TNC 620/640 |
| D310HBAG00 | VTS Bridge HEIDENHAIN iTNC530 |
| D310RBAG00 | VTS Bridge HEIDENHAIN TNC 620/640 |




