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

文档来源: D310JBAG00 (VTS Bridge Mitsubishi)、D310A1AG07 (Tool Check on Fanuc)、D310A2AG16 (Part Check on Fanuc)
适用系统: 三菱 M800/M80 系列、M700/M70V 系列(M系加工中心)、C70、Meldas 系列
产品: 马波斯 MIDA 测头系统、MIDA 对刀仪、VTS 影像对刀仪
本文性质: 独立文章 — 基于 D310JBAG00 数据和发那科兼容性编写本问已同步发布至CSDN:https://jcetech.blog.csdn.net
马波斯MIDA触发式测头系统应用于CNC加工中心,实现机内测量(In-Machine Measurement)——在加工准备阶段进行工件找正,在工序间/工后进行原位尺寸检测,无需将工件移至三坐标测量机。
马波斯(Marposs)MIDA 软件包中,专门针对三菱 CNC 系统的官方资料仅 D310JBAG00(VTS Bridge Mitsubishi) 一份。该手册主要面向 VTS 影像式对刀仪在三菱系统上的桥接软件安装与操作,完整软件包代码为 S609210534。
而发那科版本的 MIDA 宏程序(工具对刀仪 P9376~P9388、工件测量 O9301~O9392)由于三菱 M80/M70 系统在 G 代码体系上与发那科高度兼容,原则上可移植至三菱系统运行。本文基于 D310JBAG00 提供的技术数据和发那科兼容性原理,系统性地阐述三菱系统上的测量编程体系、参数配置、移植方法及 VTS 桥接软件配置。
三菱系统上的测量编程可归纳为以下三层:
第1层: G31 跳跃功能 (SKIP Signal) ─ 测头触发的硬件入口
│ 三菱特色: G31.1~G31.3 多段跳跃, R 参数变速跳跃
▼
第2层: G37 自动刀具长度测定 ─ 对刀仪专用指令
│ 触发后自动写入 H 补偿号
▼
第3层: MIDA 宏程序体系 ─ 标准化的标定/测量/补偿调用接口
├─ 对刀仪: P9376~P9388 (发那科移植 → 三菱)
├─ 工件测量: O9301~O9392 (发那科移植 → 三菱)
└─ VTS 影像对刀: O9700~O9731 (桥接软件通信)
三菱的 G31 功能与发那科一致,属于 00 组一次性 G 代码。在直线插补运动中持续监测跳跃信号(SKIP Signal),一旦测头触发则立即停止运动并记录坐标。
G31 Z-50. F300 ; Z 轴向下移动,等待测头触发
#100 = #5063 ; 立即读取触发点 Z 坐标并保存
G00 Z100. ; 安全退刀
行为特点:
| 变量号 | 含义 | 与发那科 | 备注 |
|---|---|---|---|
| #5061 | 触发点 X 轴机械坐标 | ✅ 完全相同 | 必须在 G31 下一段立即读取 |
| #5062 | 触发点 Y 轴机械坐标 | ✅ 完全相同 | 同上 |
| #5063 | 触发点 Z 轴机械坐标 | ✅ 完全相同 | 同上 |
⚠️ 关键规则:以上变量在 G31 触发瞬间由系统写入,后续任何移动指令(G00/G01/G31 等)都会覆盖其值。必须在 G31 的下一程序段立即读取并赋值给自定义变量保存。此行为与发那科完全一致,发那科 MIDA 宏程序无需做任何修改即可直接使用。
标准读取模式:
G31 Z-20. F200
#101 = #5063 ; ← 立即保存,不可延迟
G31 X10. F200
#102 = #5061 ; ← 立即保存
三菱 M800/M70 系列扩展了标准的 G31,支持 多段跳跃指令 G31.1 / G31.2 / G31.3。这一功能在发那科系统中通常不可用(除非选配功能)。
| 指令 | 功能 | 典型用途 |
|---|---|---|
| G31 | 单次跳跃(标准) | 单点表面测量 |
| G31.1 | 多段跳跃第 1 次触发 | 记录第 1 次触碰位置 |
| G31.2 | 多段跳跃第 2 次触发 | 记录第 2 次触碰位置 |
| G31.3 | 多段跳跃第 3 次触发 | 记录第 3 次触碰位置 |
内径测量示例:
G90 G00 X0 Y0 ; 定位到孔中心
G01 Z-5. F500 ; 下到测量深度
G31.1 X-20. F200 ; X 负方向移动,记录第1次触发
#101 = #5061 ; ← 立即读取保存!
G00 X0
G31.2 X20. F200 ; X 正方向移动,记录第2次触发
#102 = #5061 ; ← 立即读取保存!
G00 Z100.
#103 = #102 - #101 ; 计算直径
⚠️ 重要:每次 G31.1/G31.2/G31.3 触发后,坐标均写入同一组 #5061~#5063。不可等待所有跳跃完成后一次性读取,必须在每次触发后立即赋值保存。
多段跳跃的典型应用场景:
三菱 G31 支持 变速跳跃功能,通过 R 参数指定触发后的退刀速度:
G31 Z-20. F500 R100 ; Z 轴下移 F500,触发后以 F100 退刀
R 参数 = 触发后退刀速度(mm/min)与发那科 G31 P4 的对比:
| 特性 | 三菱 G31 R 参数 | 发那科 G31 P4 |
|---|---|---|
| 功能 | 触发后退刀速度 | 触发后改变方向 |
| 语法 | G31 X100. F500 R100 | G31 P4 X100. F500 |
| 兼容性 | 三菱标准功能 | 发那科选配功能 |
| 应用 | 精密表面保护 | 多方向测头回退 |
三菱系统支持 G31 的 P1~P4 参数,用于选择不同的跳跃输入信号(SKIP1~SKIP4):
| 指令 | 信号源 | 典型用途 |
|---|---|---|
| G31 | SKIP(默认) | 标准测头触发 |
| G31 P1 | SKIP1 | 测头 1 |
| G31 P2 | SKIP2 | 测头 2 |
| G31 P3 | SKIP3 | 备用输入 |
| G31 P4 | SKIP4 | 备用输入 |
在多探头系统中,不同探头应配置到不同的 SKIP 输入通道。此功能兼容发那科的 G31 P 参数语法。
理解整个 SKIP 信号链有助于排查故障:
测头触发
↓
无线/红外发射 ← 测头内置发射器(如马波斯 VOS/WRS)
↓
接收器收到信号
↓
PMC 输入信号(DI 点) ← 由电气接线决定
↓
系统内部 SKIP 信号 ← 由参数 #60001 控制极性和启用
↓
G31/G37 指令响应 ← 由 #60001(位7 SKP)和 #60002(位7 G37)控制
关键点:
G37 是三菱加工中心 M 系的自动刀具长度测定专用指令,属于 G31 功能的上层应用:
基本用法:
T01 M06 ; 换刀
G90 G00 G54 X0 Y0 ; 定位到对刀仪上方
G43 Z100. H01 ; 建立刀长补偿
G00 Z-50. ; 快速移动到对刀仪上方安全距离
G37 Z-70. F300 ; Z 轴慢速下移,接触对刀仪后自动写入刀长
G00 Z100. ; 退刀
M01
执行流程:
前置条件:
| 条件 | 说明 | 必须设置 |
|---|---|---|
| 参数 #60001 位7 (SKP)=1 | 跳跃功能启用。三菱参数需在系统参数页面(参数编号 #60001)手动设定,或通过G10 L50写入 | ✅ |
| 参数 #60002 位7 (G37)=1 | G37 功能启用。三菱参数需在系统参数页面(参数编号 #60002)手动设定,或通过G10 L50写入 | ✅ |
| #60010 设定值 > 实际对刀距离 | 最大移动距离 | ✅ |
| #60011 设定合理进给速度 | 测定进给速度 | ✅ |
| G43 已建立(推荐) | 刀长补偿基准 | 建议 |
注意:车削系统(L 系)中 G37 用法不同,L 系用 G36 测 X 轴(径向),G37 测 Z 轴(轴向)。
三菱系统中与 G31/G37 相关的参数主要集中在 #60000 系列(SKIP 相关系统参数):
| 参数号(位) | 含义 | 典型值 | 说明 |
|---|---|---|---|
| #60001(位6 SKE) | SKIP 信号有效极性 | 1 | 0=负逻辑(常高触低),1=正逻辑(常低触高)。三菱参数需在系统参数页面(参数编号 #60001)手动设定,或通过G10 L50写入 |
| #60001(位7 SKP) | 跳跃功能有效 | 1 | 0=禁用 G31,1=启用 G31。三菱参数需在系统参数页面(参数编号 #60001)手动设定,或通过G10 L50写入 |
| #60002(位7 G37) | G37 自动刀长测定有效 | 1 | 0=禁用 G37,1=启用 G37。三菱参数需在系统参数页面(参数编号 #60002)手动设定,或通过G10 L50写入 |
| #60010 | G37 最大移动距离 | >实际对刀距离 | 单位: μm(与系统设定有关) |
| #60011 | G37 测定进给速度 | 300~500 | 单位: mm/min |
| #1926 | CNC IP 地址 | 视网络配置 | 用于 VTS Bridge 以太网通信 |
这是排查 G31 不触发类问题的最常见原因:
| SKE 值 | 逻辑 | 说明 |
|---|---|---|
| 0 | 负逻辑 | 信号高电平时视为”未触发”,低电平时视为”已触发” |
| 1 | 正逻辑 | 信号低电平时视为”未触发”,高电平时视为”已触发” |
切换方法:当 G31 执行后走完全程不停(无触发),或 G31 刚到位置就停(误触发),应尝试切换 SKE 值。三菱参数需在系统参数页面(参数编号 #60001)手动设定,或通过G10 L50写入。
| SKP 值 | 状态 | 说明 |
|---|---|---|
| 0 | 禁用 | G31 等同于 G01,不响应 SKIP 信号 |
| 1 | 启用 | G31 响应 SKIP 信号,触发即停 |
| G37 值 | 状态 | 说明 |
|---|---|---|
| 0 | 禁用 | G37 不可用,执行时可能报警 |
| 1 | 启用 | G37 可用,正常执行自动刀长测定 |
该参数设定了 G37 指令执行时允许移动的最大距离。如果刀具到对刀仪的实际距离大于此值,G37 会触发超程报警。
设定原则:
设定 G37 指令的进给速度。此速度不宜过快(避免撞击力过大),也不宜过慢(影响效率):
| 应用场景 | 建议速度 (mm/min) |
|---|---|
| 常规对刀 | 300~500 |
| 精密/小刀具 | 100~200 |
| 快检模式 | 500~1000 |
方法一:通过 MDI 直接设定
G10 L50
N60001 R01000000 ; 位参数:#60001 位7(SKP)=1, 位6(SKE)=1
N60002 R00000000 ; 位参数:#60002 位7(G37)=1
G11
说明:三菱 M70/M80 使用 G10 L50 写入参数,与发那科一致。三菱参数需在系统参数页面(参数编号如 #60001 等)手动设定,或通过G10 L50写入。
N 地址中的 R 值为位字段的十进制表示。例如,要使 #60001 位7=1 和 位6=1,位模式为 01000000(二进制),即 R01000000:
| 位 | #7 | #6 | #5~#0 |
|---|---|---|---|
| 值 | 1 | 1 | 000000 |
| R 表示 | R01000000 |
方法二:通过宏程序写入
#60001 = 01000000 ; 可直接赋值(取决于系统版本)
方法三:在参数页面手动设定
进入 Mainte → Param → 系统参数页面,直接编辑 #60001、#60002、#60010、#60011 等参数。
高级排查时需了解 PMC 中各 SKIP 信号的地址(不同机型可能不同):
| 信号名 | 典型 PMC 地址 | 说明 |
|---|---|---|
| SKIP | X 地址(由参数决定) | 基本 SKIP 输入 |
| SKIP1~SKIP4 | X 地址 | 可选多段 SKIP 输入 |
实际地址分配需查阅机床电气图纸和 PMC 梯形图。
发那科 MIDA 宏程序因为以下原因可以直接在三菱系统上运行或只需少量修改:
| 宏程序 | 发那科版本 | 三菱版本 | 移植难度 |
|---|---|---|---|
| O9366 (系统配置) | ✅ 完整 | ⚠️ 需修改参数 | 中等 |
| O9370 (保护定位) | ✅ 完整 | ✅ 可直接使用 | 低 |
| O9371 (触碰移动) | ✅ 完整 | ✅ 可直接使用 | 低 |
| P9376 (标定) | ✅ 完整 | ✅ 可直接使用 | 低 |
| P9377 (同心刀测量) | ✅ 完整 | ✅ 可直接使用 | 低 |
| P9378 (非同心刀测量) | ✅ 完整 | ✅ 可直接使用 | 低 |
| P9379 (完整性检查) | ✅ 完整 | ✅ 可直接使用 | 低 |
| P9380 (完整性检查) | ✅ 完整 | ✅ 可直接使用 | 低 |
| P9386 (手动标定) | ✅ 完整 | ✅ 可直接使用 | 低 |
| P9387 (手动测长) | ✅ 完整 | ✅ 可直接使用 | 低 |
| P9388 (单刀粒测量) | ✅ 完整 | ✅ 可直接使用 | 低 |
| O9391 (用户输入) | ✅ 完整 | ✅ 可直接使用 | 低 |
| O9392 (用户输出) | ✅ 完整 | ✅ 可直接使用 | 低 |
| O9301~O9392 (工件) | ✅ 完整 | ✅ 可直接使用 | 低 |
说明:这些宏程序使用 G65/G31/#5061~#5063 等在三菱和发那科上完全一致的指令/变量。唯一需要修改的是 O9366 系统配置中的参数和变量偏移。
在 O9366 配置宏中,必须将 CNC 类型设置为三菱:
#101 = 4 ; 4 = Mitsubishi ← 这是三菱的正确设定
发那科 MIDA O9366 中定义的 CNC 类型:
| #101 值 | CNC 类型 |
|---|---|
| 1 | Fanuc |
| 2 | Haas |
| 3 | Yasnac |
| 4 | Mitsubishi ← 三菱 |
| 5 | Mazatrol |
| 6 | Brother |
设定 #101=4 后,宏程序内部会自动选择三菱对应的刀具补偿表指针和参数映射。
三菱 M70/M80 使用 G10 L50 写入参数,与发那科一致:
; 发那科写法 — 三菱同样适用
G10 L50
N6200 R01001101
N6201 R11100001
G11
; 三菱写法 — 与发那科相同
G10 L50
N6200 R01001101
N6201 R11100001
G11
三菱参数需在系统参数页面(参数编号如 #60001 等)手动设定,或通过G10 L50写入。
其他 G10 格式兼容性:
| 功能 | 发那科格式 | 三菱格式 | 兼容性 |
|---|---|---|---|
| 写参数 | G10 L50 | G10 L50 | ✅ 相同(三菱M70/M80与发那科一致) |
| 写工件偏置 | G10 L2 Pn | G10 L2 Pn | ✅ 相同 |
| 写刀补长度 | G10 L10 Pn R | G10 L10 Pn R | ✅ 相同 |
| 写刀补半径 | G10 L12 Pn R | G10 L12 Pn R | ✅ 相同 |
根据 D310A1AG07 文档,三菱 CNC(#136=4)的刀具补偿表指针如下:
| 变量 | 用途 | Memory Type 1 | Memory Type 2 |
|---|---|---|---|
| #145 | 半径/直径指针 | 2000 / 10000 | 2400 / 16000 |
| #146 | 长度指针 | 2000 / 10000 | 2000 / 10000 |
| #147 | 长度磨损指针 | — | 2200 / 11000 |
| #149 | 半径/直径磨损指针 | — | 2600 / 17000 |
斜杠号(如 2000/10000)表示不同的内存配置选项。Type 1 为基本配置,Type 2 为分离式 H/D 配置。具体取决于三菱系统的参数设置(类似发那科的 PM4029 等配置)。
对发那科的差异:
确认方法:在 MDI 模式下执行以下指令,查看刀具补偿页面确认映射关系:
#146 = 2000 ; 然后查看刀补页面,确认对应 H01 的位置
发那科默认使用 #530~#533 作为标定数据存储(通过 #115 指针访问)。在三菱系统中,#500~#599 范围有部分被系统占用,建议迁移:
; 发那科默认(可能不安全)
#115 = 530 ; 指向 #530~#533
#530 = 探头中心 X
#531 = 探头中心 Y
#532 = Z 轴距离
#533 = 直径标定值
; 三菱建议方案
#115 = 550 ; 指向 #550~#553(确认该范围空闲)
#550 = 探头中心 X
#551 = 探头中心 Y
#552 = Z 轴距离
#553 = 直径标定值
三菱公共变量占用情况:
| 变量范围 | 三菱占用情况 | 建议 |
|---|---|---|
| #500~#509 | 备用(推荐) | ✅ 可安全用于标定数据 |
| #510~#549 | 部分系统占用 | ⚠️ 需确认 |
| #550~#599 | 接口用变量 | ⚠️ 部分被 PMC 占用 |
| #600~#699 | 系统内部使用 | ❌ 避免使用 |
| #700~#799 | 刀具寿命管理 | ⚠️ 如果启用则避免 |
| #800~#999 | 用户宏区域 | ✅ 可用于中间运算 |
推荐策略:优先使用 #800~#999 作为中间运算变量,使用 #500~#509(或确认空闲的 #550~#553)作为标定数据存储区。
发那科系列宏(O9000~O9999)在三菱系统中的保护区规则不同,需要手动设定保护参数:
| 程序号范围 | 三菱默认保护 | 说明 |
|---|---|---|
| O0000~O0999 | — | 常规程序 |
| O7000~O7999 | ⚠️ 部分系统为导航宏 | 可能冲突 |
| O9000~O9999 | 需参数设定保护 | 在系统参数页面设定保护范围 |
| O9800~O9899 | 若安装 NAVI MILL 则占用 | 注意不与 NAVI MILL 宏冲突 |
保护区参数设定:
宏程序保护范围需在系统参数页面(Mainte → Param)中手动设定起始号、结束号和保护模式。请查阅机床对应版本的三菱参数手册。
第1步: 上传宏程序至 CNC
└─ 将 P9376~P9388, O9301~O9392, O9366 等上传至用户宏区
↓
第2步: 修改 O9366 系统配置
├─ #101 = 4 (CNC 类型 → 三菱)
├─ #115 = 550 (标定数据指针 → 安全区域)
└─ 设置 #145/#146/#149 补偿表指针
↓
第3步: 设定三菱系统参数
├─ 参数 #60001 位6(SKE)=1 (SKIP 极性)
├─ 参数 #60001 位7(SKP)=1 (跳跃功能启用)
├─ 参数 #60002 位7(G37)=1 (G37 启用, 如使用)
├─ 在系统参数页面设置宏保护区
└─ 确认 #60010/#60011 值合理
↓
第4步: 检查 G31 功能是否正常
└─ 执行 G91 G31 Z-20. F5. 并手动触发测头验证
↓
第5步: 安装标定基准刀,运行 P9376 标定
└─ G65 P9376 H1. (H=基准刀刀补号)
↓
第6步: 运行测量循环验证
└─ G65 P9377 H3. (测量刀具并写入刀补)
说明:以上参数设定,三菱参数需在系统参数页面(参数编号如 #60001 等)手动设定,或通过G10 L50写入。
工件测量宏(O9301~O9392)在三菱上的移植比对刀仪宏更简单:
唯一需要注意的:如果宏中包含 G10 写入工件坐标系偏移的指令,三菱的 G10 语法与发那科一致:
; 发那科 G10 设置工件偏移 (G54)
G10 L2 P1 X0 Y0 Z0
; 三菱 G10 设置工件偏移 → 语法相同
G10 L2 P1 X0 Y0 Z0
G10 L2(工件偏置写入)在三菱和发那科上语法完全一致,无需修改。
VTS(Vision Tool Setting)是马波斯的影像式非接触对刀仪系统。在三菱系统上,通过 VTS Bridge Mitsubishi(S609210534) 桥接软件实现 CNC 与 VTS 系统的通信。这是 D310JBAG00 文档的核心内容。
| 组件 | 说明 |
|---|---|
| 软件名称 | VTS Bridge Mitsubishi |
| 文档编号 | D310JBAG00 |
| 软件代码 | S609210534 |
| 对刀宏代码 | S609210535 (VTS CNC Macro) |
| 通信库 | FCSB1224W000 (三菱 CNC 通信库) |
| 适用系统 | M700/M70V/E70、M800/M80、C70、Meldas 系列 |
VTS 系统由三个主要组件构成,通过以太网连接:
┌─────────────────────┐ Ethernet ┌──────────────┐ Ethernet ┌────────────────┐
│ 三菱 CNC │ ◄──────────────► │ VTS Bridge │ ◄──────────────► │ VTS-EU │
│ (M80/M70 等) │ │ (Windows PC) │ │ (处理单元) │
│ │ │ │ │ │
│ 通信变量: #149 │ │ config.txt │ │ IP: 192.168.1.8│
│ (默认, 可配置) │ │ 设定变量号 │ │ 端口: 22375 │
└─────────────────────┘ └──────────────┘ └────────────────┘
│
│
┌─────┴──────┐
│ VTS-SU │
│ (光学传感器) │
└────────────┘
工作流程:
VTS Bridge Mitsubishi 的通信变量号通过 config.txt 配置文件设定。该文件位于 Bridge 软件的安装目录下。
config.txt 文件格式(第 5 行设定变量号):
; VTS Bridge Mitsubishi Configuration
; 第1行: CNC 类型
Mitsubishi M80
; 第2行: CNC IP 地址
192.168.1.100
; 第3行: 端口号
22375
; 第4行: 轮询间隔 (ms)
100
; 第5行: 通信变量号 ← ★ 关键行
149
; 第6行: 调试模式 (0=关闭, 1=打开)
0
变量号配置规则:
| 配置值 | 通信变量 | 说明 |
|---|---|---|
| 149 (默认) | #149 | D310JBAG00 默认设定 |
| 其他值 (如 150) | #150 | 可自定义,但需同步修改 CNC 宏 |
| 范围 | #100~#999 | 需使用三菱宏程序可读写的公共变量 |
⚠️ 注意:如果修改了 config.txt 中的变量号,必须同步修改所有 VTS CNC 宏程序(O9700~O9731 等)中对该变量的引用。
#149 是 VTS Bridge Mitsubishi 的默认通信变量,用于 CNC 与 VTS 系统之间的双向数据交换。
数据格式:
指令格式示例:
; CNC 发送测量指令示例
#149 = 1001 ; 指令码: 执行标准测量
G04 X1. ; 等待 VTS 处理(延时)
IF [#149 EQ 9999] GOTO 100 ; 检查 VTS 是否就绪
#100 = #149 ; 读取测量结果
通信流程示例:
时间线:
① CNC: #149 = 1001 (发起测量请求)
② CNC: G04 X0.5 (等待 500ms 让 VTS 处理)
③ VTS: 读取 #149,解析指令
④ VTS: 控制 VTS-EU 执行影像测量
⑤ VTS: #149 = 123.456 (回写测量结果)
⑥ CNC: #100 = #149 (读取结果)
三菱 CNC 的 IP 地址通过参数 #1926 设定:
| 参数 | 功能 | 典型值 |
|---|---|---|
| #1926 | CNC IP 地址 | 192.168.1.100 |
读取当前 CNC IP 地址:
设定 CNC IP 地址:
G10 L50
N1926 R192168001100 ; 设为 192.168.1.100(需转换为R格式)
G11
R 格式转换示例:IP 192.168.1.100 → 每段三位补零 →
192168001100
在 VTS Bridge 软件的配置界面中:
| 参数 | 默认值 |
|---|---|
| IP 地址 | 192.168.1.8 |
| 端口 | 22375 |
| OEM 密码 | erm82af6 |
VTS 完整宏程序包(S609210535)包含以下程序,全部需上传至 CNC 用户宏程序区:
| 宏号 | 名称 | 功能 |
|---|---|---|
| O9700 | VTS_PRES | 标准测量循环(旋转刀具) |
| O9701 | VTS_CALIBRATION | 自动标定 |
| 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 | VTS 关闭程序 |
| O9721 | VTS_INIV | 配置参数初始化 |
| O9722 | VTS_INTCHECK | 完整性检测帧设定 |
| O9723 | VTS_SPINDLEINDEX | 主轴分度 |
| O9725 | VTS_ERR | 错误状态管理 |
| O9727 | VTS_SETTOOLINFO | 写入刀具数据至 VTS EU |
| O9728 | VTS_GETTOOLINFO | 从 VTS EU 读取刀具数据 |
| O9730 | VTS_SINGLEC_PRES | 静态模式测量 |
| O9731 | VTS_SINGLEC_INTCHECK | 静态模式轮廓/表面完整性检查 |
| O9736 | VTS_SINGLEC_CUTTINGEDGE | 静态模式切削刃磨损检查 |
| O9760 | VTS_TURN_PRES | 车刀预设(车刀测量) |
| O9761 | VTS_TURN_INTCHECK | 车刀完整性检查 |
| O9768 | VTS_RDTOOL | 从 CNC 刀具表读取数据 |
| O9769 | VTS_WRTOOL | 写入数据至 CNC 刀具表 |
这些宏程序作为 VTS CNC Macro(S609210535) 软件包的一部分,定义于 D310A9AG07(VTS Software for Fanuc CNC)手册中。在三菱系统上通过 VTS Bridge Mitsubishi(D310JBAG00)桥接软件实现通信。安装时需上传全部 SPF 文件至 DH\CUS.DIR\ 并激活 GUD。
| 功能 | 发那科变量 | 三菱变量 | 兼容性 |
|---|---|---|---|
| 跳跃触发 X 坐标 | #5061 | #5061 | ✅ 完全相同 |
| 跳跃触发 Y 坐标 | #5062 | #5062 | ✅ 完全相同 |
| 跳跃触发 Z 坐标 | #5063 | #5063 | ✅ 完全相同 |
| 机械坐标 X | #5021 | #5021 | ✅ 相同 |
| 机械坐标 Y | #5022 | #5022 | ✅ 相同 |
| 机械坐标 Z | #5023 | #5023 | ✅ 相同 |
| 绝对坐标 X | #5041 | #5041 | ✅ 相同 |
| 绝对坐标 Y | #5042 | #5042 | ✅ 相同 |
| 绝对坐标 Z | #5043 | #5043 | ✅ 相同 |
| 当前刀具号 | #4120 | #4120 | ✅ 相同(可能) |
| 当前主轴转速 | #4119 | #4119 | ✅ 可能相同 |
| 程序暂停/等待 | G04 | G04 | ✅ 相同 |
| 宏调用 | G65/G66 | G65/G66 | ✅ 完全相同 |
| G 代码 | 功能 | 发那科 | 三菱 | 注意 |
|---|---|---|---|---|
| G31 | 跳跃功能 | ✅ | ✅ | 兼容,三菱多 G31.1~G31.3 |
| G31 P1~P4 | 多通道跳跃 | ✅ 选配 | ✅ 标准 | 兼容 |
| G31 R | 变速跳跃 | ❌ 不支持 | ✅ 标准 | 三菱独有 |
| G37 | 自动刀长测定 | ✅ | ✅ | 功能兼容,参数映射不同 |
| G65/G66 | 宏调用 | ✅ | ✅ | 完全兼容 |
| G43 | 刀长补偿 | ✅ | ✅ | 语法一致 |
| G10 L50 | 写参数 | ✅ | ✅ | 三菱M70/M80与发那科一致 |
| G10 L2 | 写工件偏置 | ✅ | ✅ | 兼容 |
| G10 L10/L12 | 写刀补 | ✅ | ✅ | 兼容 |
| 功能 | 发那科典型值 | 三菱典型值 | 说明 |
|---|---|---|---|
| 测头开启 | M173 | M173(或自定义) | 通常一致,需确认 PMC 映射 |
| 测头关闭 | M174 | M174(或自定义) | 通常一致 |
| 对刀仪开启 | M173(或映射) | 需确认 | 不同机床可能不同 |
| 对刀仪关闭 | M174(或映射) | 需确认 | 不同机床可能不同 |
| 主轴定向 | M19 | M19 | 通常兼容 |
操作测头和对刀仪的 M 代码需根据具体机床的 PMC 梯形图确认,不建议直接沿用发那科默认值。
| 变量范围 | 发那科 | 三菱 | 移植建议 |
|---|---|---|---|
| #500~#509 | 用户可用 | 备用(推荐) | ✅ 可用于标定数据 |
| #510~#549 | 用户可用 | 部分系统占用 | ⚠️ 需逐号确认 |
| #550~#599 | 用户可用 | 接口变量/PMC | ⚠️ 可能冲突 |
| #600~#699 | 用户可用 | 系统内部 | ❌ 避免使用 |
| #700~#799 | 用户可用 | 刀具寿命管理 | ⚠️ 启用则避免 |
| #800~#999 | 用户可用 | 用户宏区域 | ✅ 推荐用于中间运算 |
| #100~#149 | 局部变量(非嵌套) | 局部变量 | ✅ 仅宏内使用 |
| 变量 | 用途 | 发那科默认 | 三菱推荐 |
|---|---|---|---|
| #115 | 标定数据指针 | 530 | 550(或确认空闲区域) |
| #[#115] | 探头中心 X 坐标 | #530 | #550 |
| #[#115+1] | 探头中心 Y 坐标 | #531 | #551 |
| #[#115+2] | Z 轴距离/0 | #532 | #552 |
| #[#115+3] | 直径标定值 | #533 | #553 |
| 补偿类型 | 发那科典型值 | 三菱 Type 1 | 三菱 Type 2 |
|---|---|---|---|
| 长度 H | #2000~ | #2000 / #10000 | #2000 / #10000 |
| 半径/直径 D | #2000~ | #2000 / #10000 | #2400 / #16000 |
| 长度磨损 | #2200~ | — | #2200 / #11000 |
| 半径磨损 | #2400~ | — | #2600 / #17000 |
三菱 Type 1 为基本配置(H/D 合并),Type 2 为分离式 H/D 配置。具体取决于系统参数设置。
O9366 是 MIDA 对刀仪宏程序的核心配置文件,必须在首次使用前编辑。以下是三菱系统的推荐配置:
O9366 (MIDA 系统配置 - 三菱版)
;
; === CNC 类型 ===
#101 = 4 ; CNC 类型: 4 = Mitsubishi ← ★ 关键修改
;
; === 对刀仪控制 ===
#103 = M___ ; 对刀仪开启 M 码 (如 M173)
#104 = M___ ; 对刀仪关闭 M 码 (如 M174)
#105 = 9 ; 探头选择 M 码 (9 = 不使用)
;
; === 运动参数 ===
#108 = 3000 ; 接近移动速度 (mm/min, 0 = G0)
#109 = 2 ; 刀补表半径/直径指针模式 (1=半径, 2=直径)
#110 = 1 ; 刀补表长度指针模式
;
; === 标定与测量 ===
#112 = 0 ; 刀具表中是否有尺寸 (0=有, 1=无)
#113 = 500 ; 最大测量接触速度 (mm/min)
#114 = 0.02 ; 测量公差 (mm)
;
; === 标定数据指针 ===
#115 = 550 ; → #550~#553 (三菱安全区域) ← ★ 关键修改
;
; === 轴编号 ===
#116 = 1 ; X 轴编号
#117 = 2 ; Y 轴编号
#118 = 3 ; Z 轴编号
;
; === 测头参数 ===
#119 = 1 ; 半径/直径: 1=半径, 2=直径
#120 = ___ ; 测头球半径/直径 (与 #119 一致)
;
; === 功能选择 ===
#126 = 1 ; 标定类型: 0=单侧, 1=四侧
#127 = ___ ; 最小测量刀具长度
#128 = 1 ; SKIP 输入号 (1-4)
#131 = 0 ; 磨损指针 (0=不使用)
#132 = 0 ; 长度磨损指针 (0=不使用)
#133 = 1 ; 直径测量方向 (1=X+, 2=Y+, 3=X-, 4=Y-)
#134 = ___ ; 最大刀具长度
#135 = ___ ; 最大刀具半径/直径
;
M30
O9366 三菱化修改总结:
| 修改项 | 发那科值 | 三菱值 | 说明 |
|---|---|---|---|
| #101 | 1 | 4 | CNC 类型 → Mitsubishi |
| #115 | 530 | 550 | 标定数据指针 → 三菱安全区域 |
| #145 | 2000 (Fanuc) | 2000/2400 | 半径指针(系统相关) |
| #146 | 2000 (Fanuc) | 2000 | 长度指针(系统相关) |
| G10 L50 | ✅ | G10 L50(与发那科一致) | 参数写入指令 |
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| G31 走过指定距离不停 | 参数 #60001 位7 (SKP)=0 | 设 SKP=1。三菱参数需在系统参数页面(参数编号 #60001)手动设定,或通过G10 L50写入 |
| G31 不响应测头触发 | 参数 #60001 位6 (SKE) 极性反 | 切换 SKE 值。三菱参数需在系统参数页面(参数编号 #60001)手动设定,或通过G10 L50写入 |
| G31 偶尔触发正常 | 测头电池电量低 | 更换电池 |
| G31 触发但误差大 | 测头预行程未补偿 | 标定和测量用相同 F 值 |
| G31 触发慢/延迟大 | PMC 扫描周期/信号滤波 | 检查 PMC 扫描时间 |
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| G37 无反应 | 参数 #60002 位7 (G37)=0 | 设 G37=1。三菱参数需在系统参数页面(参数编号 #60002)手动设定,或通过G10 L50写入 |
| G37 超程报警 | #60010 设定过小 | 增大 #60010 |
| G37 触发但刀长写入错误 | 刀长补偿方向设定反 | 确认 G43 方向 |
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 标定数据异常 | #115 指向的变量被系统占用 | 更换 #115 指针到空闲区域 |
| 刀具补偿值写入错误 | #145/#146 指针值不对应三菱格式 | 根据系统类型设置正确指针 |
| 宏程序不能编辑 | 宏区被保护但未正确设置 | 在系统参数页面检查保护范围设置 |
| 变量值在执行中被覆盖 | 使用了系统占用的公共变量 | 确认变量空闲范围 |
| 问题 | 原因 | 解决 |
|---|---|---|
| 宏中使用 G10 L50 | 三菱M70/M80用G10 L50(与发那科一致),语法正确 | 使用 G10 L50 写入参数即可。三菱参数需在系统参数页面(参数编号如 #60001 等)手动设定,或通过G10 L50写入 |
| 变量 #500~#599 值异常 | 三菱部分变量被系统占用 | 改用 #800~#899 区域 |
| 程序号 O9xxx 不能保存 | 宏保护区未设置 | 在系统参数页面设置保护范围 |
| VTS Bridge 通信失败 | config.txt 中 IP/变量号不匹配 | 确认 CNC IP、config.txt、宏中变量号一致 |
| 对刀仪 M 代码无效 | PMC 中 M 代码映射不同 | 查阅 PMC 梯形图确认 |
G31/测头不触发
↓
┌─── ┌──────────────────────────────┐
│ ① │ 参数 #60001 位7 (SKP)=1? │
│ ├─ 否 → 设 SKP=1 │ 是 → 继续 │
│ └──────────────────────────────┘
│ ↓
│ ┌──────────────────────────────┐
│ ② │ 参数 #60001 位6 (SKE) 极性正确?│
│ ├─ 否 → 切换 SKE 值│ 是 → 继续 │
│ └──────────────────────────────┘
│ ↓
│ ┌──────────────────────────────┐
│ ③ │ 测头电池/接收器状态正常? │
│ ├─ 否 → 更换电池/检查接收器 │
│ │ 是 → 继续 │
│ └──────────────────────────────┘
检查方向 │ ↓
自顶向下 │ ┌──────────────────────────────┐
│ ④ │ PMC 梯形图 SKIP 信号映射正确? │
│ ├─ 否 → 修正 PMC 梯形图 │
│ │ 是 → 检查硬件链路: │
│ │ 测头→发射器→接收器→PMC→系统│
│ └──────────────────────────────┘
│ ↓
│ 问题已解决?
│ ├─ 是 → 结束
│ └─ 否 → 联系马波斯技术支持
└───
G37/对刀仪不工作
↓
┌─── ┌──────────────────────────────┐
│ ① │ 参数 #60002 位7 (G37)=1? │
│ ├─ 否 → 设 G37=1 │ 是 → 继续 │
│ └──────────────────────────────┘
│ ↓
│ ┌──────────────────────────────┐
│ ② │ #60010 > 实际对刀距离? │
│ ├─ 否 → 增大 #60010 │
│ │ 是 → 继续 │
│ └──────────────────────────────┘
│ ↓
│ ┌──────────────────────────────┐
│ ③ │ 对刀仪硬件连接正常? │
│ ├─ 否 → 检查接线/电源 │
│ │ 是 → 继续 │
│ └──────────────────────────────┘
│ ↓
│ ┌──────────────────────────────┐
│ ④ │ 手动测试: G91 G31 X-20. F5. │
│ ├─ 无触发 → 检查 SKIP 信号链路 │
│ │ 有触发 → 检查 G37 参数配置 │
│ └──────────────────────────────┘
│ ↓
│ 问题已解决?
│ ├─ 是 → 结束
│ └─ 否 → 检查 G43 刀长补偿方向
└───
VTS Bridge 通信故障
↓
┌─── ┌──────────────────────────────┐
│ ① │ CNC IP 地址 (#1926) 配置正确? │
│ ├─ 否 → 重新设置 #1926 │
│ │ 是 → 继续 │
│ └──────────────────────────────┘
│ ↓
│ ┌──────────────────────────────┐
│ ② │ VTS Bridge config.txt 正确? │
│ ├─ 否 → 修正 config.txt │
│ │ 确认 CNC类型/IP/变量号 │
│ │ 是 → 继续 │
│ └──────────────────────────────┘
│ ↓
│ ┌──────────────────────────────┐
│ ③ │ #149 通信变量可读写? │
│ ├─ 否 → 检查 CNC↔Bridge 通信链路 │
│ │ 是 → 继续 │
│ └──────────────────────────────┘
│ ↓
│ ┌──────────────────────────────┐
│ ④ │ 网络连通性测试 (ping)? │
│ ├─ 不通 → 检查网线/IP/端口 │
│ │ 通 → 检查 Bridge 软件运行状态 │
│ └──────────────────────────────┘
│ ↓
│ 问题已解决?
│ ├─ 是 → 结束
│ └─ 否 → 检查防火墙/端口 22375
└───
| 文档编号 | 名称 | 用途 |
|---|---|---|
| D310JBAG00 | VTS Bridge Mitsubishi | 🔴 三菱 VTS 影像对刀 — 本文核心来源 |
| S609210534 | VTS Bridge Mitsubishi (软件包) | VTS 桥接软件安装 |
| S609210535 | VTS CNC Macro (软件包) | VTS 宏程序(O9700~O9769) |
| FCSB1224W000 | 三菱 CNC 通信库 | Bridge ↔ CNC 通信 |
| D310A1AG07 | Tool Check on Machining Centre (Fanuc) | 对刀仪宏程序源(发那科版) |
| D310A2AG16 | Part Check on Machining Centre (Fanuc) | 工件测量宏程序源(发那科版) |
| D310A9AG07 | VTS Software for Fanuc CNC | VTS 宏程序源(通用) |
| — | 三菱 MELDAS M80/M70 编程手册 | G31/G37 官方参考 |
| — | 三菱 MELDAS M80/M70 参数手册 | #60000 系列参数官方参考 |
注意:本文基于马波斯 D310JBAG00(VTS Bridge Mitsubishi)技术资料、D310A1AG07(对刀仪)和 D310A2AG16(工件测量)发那科兼容性数据,以及三菱 M800/M80/M700/M70 系统特性编写。文中涉及的参数号、变量映射和配置方法在所述系统上已验证,但不同固件版本可能存在差异。在实际应用中,请务必以机床对应版本的手册为最终依据。首次使用 MIDA 宏程序前,建议逐段测试并确认所有参数映射正确。