马波斯 MIDA 宏程序编程 — 三菱系统篇

马波斯 MIDA 宏程序编程 — 三菱系统篇

文档来源: 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


目录

  1. 概述
  2. 三菱 M800/M70 G31 跳步功能详解
  3. SKIP 相关参数配置表
  4. 发那科 MIDA 宏程序移植到三菱
  5. VTS Bridge Mitsubishi 完整配置
  6. 三菱与发那科变量兼容性对照表
  7. O9366 系统配置(三菱推荐值)
  8. 常见问题与排查

一、概述

马波斯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.1 三菱系统测量编程三层架构

三菱系统上的测量编程可归纳为以下三层:

第1层: G31 跳跃功能 (SKIP Signal) ─ 测头触发的硬件入口
        │ 三菱特色: G31.1~G31.3 多段跳跃, R 参数变速跳跃
        ▼
第2层: G37 自动刀具长度测定 ─ 对刀仪专用指令
        │ 触发后自动写入 H 补偿号
        ▼
第3层: MIDA 宏程序体系 ─ 标准化的标定/测量/补偿调用接口
       ├─ 对刀仪: P9376~P9388 (发那科移植 → 三菱)
       ├─ 工件测量: O9301~O9392 (发那科移植 → 三菱)
       └─ VTS 影像对刀: O9700~O9731 (桥接软件通信)

1.2 系统要求

  • 三菱自定义宏 B(标准配置)
  • G31 跳步输入信号(SKIP)
  • 用户宏程序存储空间
  • 以太网通信接口(VTS 桥接)

二、三菱 M800/M70 G31 跳步功能详解

2.1 G31 基本行为

三菱的 G31 功能与发那科一致,属于 00 组一次性 G 代码。在直线插补运动中持续监测跳跃信号(SKIP Signal),一旦测头触发则立即停止运动并记录坐标。

G31 Z-50. F300       ; Z 轴向下移动,等待测头触发
#100 = #5063          ; 立即读取触发点 Z 坐标并保存
G00 Z100.             ; 安全退刀

行为特点

  • 与 G01 共用相同进给速度模态(F 值)
  • 只响应一次跳跃信号,触发后停止
  • 若全程未触发则产生超程报警(PS0032 等),需在程序中用 #3000 或 ONERROR 捕获

2.2 触发坐标系统变量

变量号含义与发那科备注
#5061触发点 X 轴机械坐标✅ 完全相同必须在 G31 下一段立即读取
#5062触发点 Y 轴机械坐标✅ 完全相同同上
#5063触发点 Z 轴机械坐标✅ 完全相同同上

⚠️ 关键规则:以上变量在 G31 触发瞬间由系统写入,后续任何移动指令(G00/G01/G31 等)都会覆盖其值。必须在 G31 的下一程序段立即读取并赋值给自定义变量保存。此行为与发那科完全一致,发那科 MIDA 宏程序无需做任何修改即可直接使用。

标准读取模式

G31 Z-20. F200
#101 = #5063          ; ← 立即保存,不可延迟
G31 X10. F200
#102 = #5061          ; ← 立即保存

2.3 三菱独有:多段跳跃 G31.1 ~ G31.3

三菱 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。不可等待所有跳跃完成后一次性读取,必须在每次触发后立即赋值保存。

多段跳跃的典型应用场景

  1. 内径/外径测量 — 两次反向触碰求差值
  2. 键槽/凹槽宽度 — 两侧触碰记录
  3. 台阶高度 — 两个 Z 平面的差值测量
  4. 偏心检测 — 多角度触碰记录位置偏差

2.4 三菱独有:变速跳跃(R 参数)

三菱 G31 支持 变速跳跃功能,通过 R 参数指定触发后的退刀速度:

G31 Z-20. F500 R100   ; Z 轴下移 F500,触发后以 F100 退刀
  • R 参数 = 触发后退刀速度(mm/min)
  • 发那科标准 G31 不支持此语法
  • 此功能在三菱 M800/M80 系列中标准支持
  • 适合 薄壁件、精密表面 等需要减少触发后过冲的场景

与发那科 G31 P4 的对比

特性三菱 G31 R 参数发那科 G31 P4
功能触发后退刀速度触发后改变方向
语法G31 X100. F500 R100G31 P4 X100. F500
兼容性三菱标准功能发那科选配功能
应用精密表面保护多方向测头回退

2.5 G31 P1~P4 多段跳跃输入选择

三菱系统支持 G31 的 P1~P4 参数,用于选择不同的跳跃输入信号(SKIP1~SKIP4):

指令信号源典型用途
G31SKIP(默认)标准测头触发
G31 P1SKIP1测头 1
G31 P2SKIP2测头 2
G31 P3SKIP3备用输入
G31 P4SKIP4备用输入

在多探头系统中,不同探头应配置到不同的 SKIP 输入通道。此功能兼容发那科的 G31 P 参数语法。

2.6 SKIP 信号硬件链路

理解整个 SKIP 信号链有助于排查故障:

测头触发
  ↓
无线/红外发射 ← 测头内置发射器(如马波斯 VOS/WRS)
  ↓
接收器收到信号
  ↓
PMC 输入信号(DI 点) ← 由电气接线决定
  ↓
系统内部 SKIP 信号 ← 由参数 #60001 控制极性和启用
  ↓
G31/G37 指令响应 ← 由 #60001(位7 SKP)和 #60002(位7 G37)控制

关键点

  • SKIP 信号需在 PMC 梯形图中正确映射到系统的内部 SKIP 地址
  • 参数 #60001(位6 SKE)控制极性,若极性设反则测头触发时系统不响应。三菱参数需在系统参数页面(参数编号 #60001)手动设定,或通过G10 L50写入
  • 部分三菱系统需要额外设定 SKIP 信号的选择参数(信号来源选择)

2.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

执行流程

  1. Z 轴以 F 速度向下移动
  2. 刀具接触对刀仪 → SKIP 信号触发
  3. 系统记录当前位置 Z 坐标
  4. 自动计算并从当前刀具的 H 补偿号写入刀长值
  5. 移动停止

前置条件

条件说明必须设置
参数 #60001 位7 (SKP)=1跳跃功能启用。三菱参数需在系统参数页面(参数编号 #60001)手动设定,或通过G10 L50写入
参数 #60002 位7 (G37)=1G37 功能启用。三菱参数需在系统参数页面(参数编号 #60002)手动设定,或通过G10 L50写入
#60010 设定值 > 实际对刀距离最大移动距离
#60011 设定合理进给速度测定进给速度
G43 已建立(推荐)刀长补偿基准建议

注意:车削系统(L 系)中 G37 用法不同,L 系用 G36 测 X 轴(径向),G37 测 Z 轴(轴向)。


三、SKIP 相关参数配置表

3.1 核心参数总表

三菱系统中与 G31/G37 相关的参数主要集中在 #60000 系列(SKIP 相关系统参数):

参数号(位)含义典型值说明
#60001(位6 SKE)SKIP 信号有效极性10=负逻辑(常高触低),1=正逻辑(常低触高)。三菱参数需在系统参数页面(参数编号 #60001)手动设定,或通过G10 L50写入
#60001(位7 SKP)跳跃功能有效10=禁用 G31,1=启用 G31。三菱参数需在系统参数页面(参数编号 #60001)手动设定,或通过G10 L50写入
#60002(位7 G37)G37 自动刀长测定有效10=禁用 G37,1=启用 G37。三菱参数需在系统参数页面(参数编号 #60002)手动设定,或通过G10 L50写入
#60010G37 最大移动距离>实际对刀距离单位: μm(与系统设定有关)
#60011G37 测定进给速度300~500单位: mm/min
#1926CNC IP 地址视网络配置用于 VTS Bridge 以太网通信

3.2 参数详解

#60001 位6 (SKE) — SKIP 信号极性

这是排查 G31 不触发类问题的最常见原因:

SKE 值逻辑说明
0负逻辑信号高电平时视为”未触发”,低电平时视为”已触发”
1正逻辑信号低电平时视为”未触发”,高电平时视为”已触发”

切换方法:当 G31 执行后走完全程不停(无触发),或 G31 刚到位置就停(误触发),应尝试切换 SKE 值。三菱参数需在系统参数页面(参数编号 #60001)手动设定,或通过G10 L50写入。

#60001 位7 (SKP) — 跳跃功能启用

SKP 值状态说明
0禁用G31 等同于 G01,不响应 SKIP 信号
1启用G31 响应 SKIP 信号,触发即停

#60002 位7 (G37) — G37 功能启用

G37 值状态说明
0禁用G37 不可用,执行时可能报警
1启用G37 可用,正常执行自动刀长测定

#60010 — G37 最大移动距离

该参数设定了 G37 指令执行时允许移动的最大距离。如果刀具到对刀仪的实际距离大于此值,G37 会触发超程报警。

设定原则

  • 值应略大于刀具到对刀仪的实际距离(留 5~10 mm 余量)
  • 值过大则失去保护意义(刀具可能撞到对刀仪却不触发)
  • 具体单位取决于系统设定(通常为 μm 或 0.001 mm)

#60011 — G37 测定进给速度

设定 G37 指令的进给速度。此速度不宜过快(避免撞击力过大),也不宜过慢(影响效率):

应用场景建议速度 (mm/min)
常规对刀300~500
精密/小刀具100~200
快检模式500~1000

3.3 参数设定方法

方法一:通过 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
11000000
R 表示R01000000

方法二:通过宏程序写入

#60001 = 01000000      ; 可直接赋值(取决于系统版本)

方法三:在参数页面手动设定

进入 Mainte → Param → 系统参数页面,直接编辑 #60001、#60002、#60010、#60011 等参数。

3.4 SKIP 信号相关 PMC 地址

高级排查时需了解 PMC 中各 SKIP 信号的地址(不同机型可能不同):

信号名典型 PMC 地址说明
SKIPX 地址(由参数决定)基本 SKIP 输入
SKIP1~SKIP4X 地址可选多段 SKIP 输入

实际地址分配需查阅机床电气图纸和 PMC 梯形图。


四、发那科 MIDA 宏程序移植到三菱

4.1 移植可行性总览

发那科 MIDA 宏程序因为以下原因可以直接在三菱系统上运行或只需少量修改:

宏程序发那科版本三菱版本移植难度
O9366 (系统配置)✅ 完整⚠️ 需修改参数中等
O9370 (保护定位)✅ 完整✅ 可直接使用
O9371 (触碰移动)✅ 完整✅ 可直接使用
P9376 (标定)✅ 完整✅ 可直接使用
P9377 (同心刀测量)✅ 完整✅ 可直接使用
P9378 (非同心刀测量)✅ 完整✅ 可直接使用
P9379 (完整性检查)✅ 完整✅ 可直接使用
P9380 (完整性检查)✅ 完整✅ 可直接使用
P9386 (手动标定)✅ 完整✅ 可直接使用
P9387 (手动测长)✅ 完整✅ 可直接使用
P9388 (单刀粒测量)✅ 完整✅ 可直接使用
O9391 (用户输入)✅ 完整✅ 可直接使用
O9392 (用户输出)✅ 完整✅ 可直接使用
O9301~O9392 (工件)✅ 完整✅ 可直接使用

说明:这些宏程序使用 G65/G31/#5061~#5063 等在三菱和发那科上完全一致的指令/变量。唯一需要修改的是 O9366 系统配置中的参数和变量偏移。

4.2 必须修改的五大要点

4.2.1 CNC 类型设定 (#101=4)

在 O9366 配置宏中,必须将 CNC 类型设置为三菱:

#101 = 4      ; 4 = Mitsubishi ← 这是三菱的正确设定

发那科 MIDA O9366 中定义的 CNC 类型:

#101 值CNC 类型
1Fanuc
2Haas
3Yasnac
4Mitsubishi ← 三菱
5Mazatrol
6Brother

设定 #101=4 后,宏程序内部会自动选择三菱对应的刀具补偿表指针和参数映射。

4.2.2 参数写入指令(G10 L50)

三菱 M70/M80 使用 G10 L50 写入参数,与发那科一致:

; 发那科写法 — 三菱同样适用
G10 L50
N6200 R01001101
N6201 R11100001
G11

; 三菱写法 — 与发那科相同
G10 L50
N6200 R01001101
N6201 R11100001
G11

三菱参数需在系统参数页面(参数编号如 #60001 等)手动设定,或通过G10 L50写入。

其他 G10 格式兼容性

功能发那科格式三菱格式兼容性
写参数G10 L50G10 L50✅ 相同(三菱M70/M80与发那科一致)
写工件偏置G10 L2 PnG10 L2 Pn✅ 相同
写刀补长度G10 L10 Pn RG10 L10 Pn R✅ 相同
写刀补半径G10 L12 Pn RG10 L12 Pn R✅ 相同

4.2.3 刀具补偿表指针配置

根据 D310A1AG07 文档,三菱 CNC(#136=4)的刀具补偿表指针如下:

变量用途Memory Type 1Memory Type 2
#145半径/直径指针2000 / 100002400 / 16000
#146长度指针2000 / 100002000 / 10000
#147长度磨损指针2200 / 11000
#149半径/直径磨损指针2600 / 17000

斜杠号(如 2000/10000)表示不同的内存配置选项。Type 1 为基本配置,Type 2 为分离式 H/D 配置。具体取决于三菱系统的参数设置(类似发那科的 PM4029 等配置)。

对发那科的差异

  • 发那科长度补偿通常在 #2000~#2999 或 #10000~#10999(取决于 H/D 分离配置)
  • 三菱的补偿表存储区不同,但宏程序通过 #145/#146 等指针变量间接访问,因此只需在 O9366 中设置正确的指针值

确认方法:在 MDI 模式下执行以下指令,查看刀具补偿页面确认映射关系:

#146 = 2000          ; 然后查看刀补页面,确认对应 H01 的位置

4.2.4 标定数据存储变量迁移

发那科默认使用 #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)作为标定数据存储区。

4.2.5 宏程序号与保护区设置

发那科系列宏(O9000~O9999)在三菱系统中的保护区规则不同,需要手动设定保护参数:

程序号范围三菱默认保护说明
O0000~O0999常规程序
O7000~O7999⚠️ 部分系统为导航宏可能冲突
O9000~O9999需参数设定保护在系统参数页面设定保护范围
O9800~O9899若安装 NAVI MILL 则占用注意不与 NAVI MILL 宏冲突

保护区参数设定

宏程序保护范围需在系统参数页面(Mainte → Param)中手动设定起始号、结束号和保护模式。请查阅机床对应版本的三菱参数手册。

4.3 移植工作流程

第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写入。

4.4 工件测量宏移植要点

工件测量宏(O9301~O9392)在三菱上的移植比对刀仪宏更简单:

  1. ✅ 使用 G31 跳跃功能 — 三菱与发那科语法一致
  2. ✅ 使用 #5061~#5063 读取触发坐标 — 变量号相同
  3. ✅ 使用 G65 调用 — 语法完全相同
  4. ✅ 不依赖刀具补偿表指针 — 除非涉及自动写入偏移

唯一需要注意的:如果宏中包含 G10 写入工件坐标系偏移的指令,三菱的 G10 语法与发那科一致:

; 发那科 G10 设置工件偏移 (G54)
G10 L2 P1 X0 Y0 Z0

; 三菱 G10 设置工件偏移 → 语法相同
G10 L2 P1 X0 Y0 Z0

G10 L2(工件偏置写入)在三菱和发那科上语法完全一致,无需修改。


五、VTS Bridge Mitsubishi 完整配置

5.1 概述

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 系列

5.2 系统架构

VTS 系统由三个主要组件构成,通过以太网连接:

┌─────────────────────┐     Ethernet      ┌──────────────┐     Ethernet      ┌────────────────┐
│ 三菱 CNC            │ ◄──────────────► │ VTS Bridge   │ ◄──────────────► │ VTS-EU         │
│ (M80/M70 等)        │                   │ (Windows PC) │                   │ (处理单元)      │
│                     │                   │              │                   │                │
│ 通信变量: #149      │                   │ config.txt   │                   │ IP: 192.168.1.8│
│ (默认, 可配置)      │                   │ 设定变量号    │                   │ 端口: 22375    │
└─────────────────────┘                   └──────────────┘                   └────────────────┘
                                                                                     │
                                                                                     │
                                                                               ┌─────┴──────┐
                                                                               │ VTS-SU     │
                                                                               │ (光学传感器) │
                                                                               └────────────┘

工作流程

  1. CNC 宏程序向通信变量(默认为 #149)写入指令数据
  2. VTS Bridge 定时轮询该变量,读取到变化后解析指令
  3. Bridge 通过以太网将指令转发给 VTS-EU(处理单元)
  4. VTS-EU 控制 VTS-SU(光学传感器)执行影像测量
  5. 测量结果通过 VTS Bridge 回写到 #149 变量
  6. CNC 宏程序读取该变量获取测量结果

5.3 config.txt 配置文件

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 (默认)#149D310JBAG00 默认设定
其他值 (如 150)#150可自定义,但需同步修改 CNC 宏
范围#100~#999需使用三菱宏程序可读写的公共变量

⚠️ 注意:如果修改了 config.txt 中的变量号,必须同步修改所有 VTS CNC 宏程序(O9700~O9731 等)中对该变量的引用。

5.4 #149 通信变量详解

#149 是 VTS Bridge Mitsubishi 的默认通信变量,用于 CNC 与 VTS 系统之间的双向数据交换。

数据格式

  • CNC 写入 #149 → 发送指令给 VTS(指令码 + 参数)
  • VTS 写入 #149 → 返回结果给 CNC(状态码 + 测量数据)

指令格式示例

; CNC 发送测量指令示例
#149 = 1001           ; 指令码: 执行标准测量
G04 X1.               ; 等待 VTS 处理(延时)
IF [#149 EQ 9999] GOTO 100  ; 检查 VTS 是否就绪
#100 = #149           ; 读取测量结果
  • 指令码范围:1000~9999(由 D310A9AG07 宏程序定义)
  • 响应格式:状态码 + 数据(具体编码见 VTS 宏程序代码)
  • 同步机制:CNC 在写入 #149 后需等待 VTS 完成处理后再读取结果

通信流程示例

时间线:
  ① CNC: #149 = 1001        (发起测量请求)
  ② CNC: G04 X0.5           (等待 500ms 让 VTS 处理)
  ③ VTS: 读取 #149,解析指令
  ④ VTS: 控制 VTS-EU 执行影像测量
  ⑤ VTS: #149 = 123.456     (回写测量结果)
  ⑥ CNC: #100 = #149        (读取结果)

5.5 IP 地址配置

CNC 端 IP 地址

三菱 CNC 的 IP 地址通过参数 #1926 设定:

参数功能典型值
#1926CNC IP 地址192.168.1.100

读取当前 CNC IP 地址

  • M800/M80 系列:Diagn 页面 → H/W config → 读取 CNC 型号 → Mainte 页面 → Param → Ethernet param → 读取参数 #1926
  • M700/M70V 系列:Diagn 页面 → H/W S/W config → H/W config → 读取 CNC 型号 → Mainte 页面 → Param → Ethernet param → 读取参数 #1926

设定 CNC IP 地址

G10 L50
N1926 R192168001100   ; 设为 192.168.1.100(需转换为R格式)
G11

R 格式转换示例:IP 192.168.1.100 → 每段三位补零 → 192168001100

VTS Bridge 端配置

在 VTS Bridge 软件的配置界面中:

  1. 输入 CNC IP 地址(与 #1926 一致)
  2. 选择 CNC 类型(Mitsubishi M80/M70)
  3. 设定通信端口(默认 22375)

VTS-EU 默认地址

参数默认值
IP 地址192.168.1.8
端口22375
OEM 密码erm82af6

5.6 VTS 宏程序清单

VTS 完整宏程序包(S609210535)包含以下程序,全部需上传至 CNC 用户宏程序区:

宏号名称功能
O9700VTS_PRES标准测量循环(旋转刀具)
O9701VTS_CALIBRATION自动标定
O9702VTS_MOVEG1直线移动
O9703VTS_MOVETOUCH测量移动
O9704VTS_FASTCHECK运行状态初始检查
O9706VTS_FOCUS焦距状态采集
O9709VTS_ROICALCROI 及角步长计算
O9712VTS_SKIP跳步功能
O9717VTS_GEOMAN测量计算
O9719VTS_SHUTDOWNVTS 关闭程序
O9721VTS_INIV配置参数初始化
O9722VTS_INTCHECK完整性检测帧设定
O9723VTS_SPINDLEINDEX主轴分度
O9725VTS_ERR错误状态管理
O9727VTS_SETTOOLINFO写入刀具数据至 VTS EU
O9728VTS_GETTOOLINFO从 VTS EU 读取刀具数据
O9730VTS_SINGLEC_PRES静态模式测量
O9731VTS_SINGLEC_INTCHECK静态模式轮廓/表面完整性检查
O9736VTS_SINGLEC_CUTTINGEDGE静态模式切削刃磨损检查
O9760VTS_TURN_PRES车刀预设(车刀测量)
O9761VTS_TURN_INTCHECK车刀完整性检查
O9768VTS_RDTOOL从 CNC 刀具表读取数据
O9769VTS_WRTOOL写入数据至 CNC 刀具表

这些宏程序作为 VTS CNC Macro(S609210535) 软件包的一部分,定义于 D310A9AG07(VTS Software for Fanuc CNC)手册中。在三菱系统上通过 VTS Bridge Mitsubishi(D310JBAG00)桥接软件实现通信。安装时需上传全部 SPF 文件至 DH\CUS.DIR\ 并激活 GUD。

5.7 安装步骤汇总

  1. 安装 VTS Bridge 软件:在 Windows PC 上安装 S609210534
  2. 配置 config.txt:设定 CNC 类型、IP 地址、通信变量号
  3. 配置 CNC 以太网:通过 #1926 设定 CNC IP 地址
  4. 上传宏程序:将 VTS CNC Macro(S609210535)上传至 CNC 用户宏程序区
  5. 网络连接测试:确认 CNC ↔ Bridge PC ↔ VTS-EU 网络连通
  6. 运行初始配置:调用 O9721(VTS_INIV)初始化参数
  7. 标定:运行 O9701(VTS_CALIBRATION)完成系统标定

六、三菱与发那科变量兼容性对照表

6.1 系统变量对照

功能发那科变量三菱变量兼容性
跳跃触发 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✅ 可能相同
程序暂停/等待G04G04✅ 相同
宏调用G65/G66G65/G66✅ 完全相同

6.2 G 代码兼容性对照

G 代码功能发那科三菱注意
G31跳跃功能兼容,三菱多 G31.1~G31.3
G31 P1~P4多通道跳跃✅ 选配✅ 标准兼容
G31 R变速跳跃❌ 不支持✅ 标准三菱独有
G37自动刀长测定功能兼容,参数映射不同
G65/G66宏调用完全兼容
G43刀长补偿语法一致
G10 L50写参数三菱M70/M80与发那科一致
G10 L2写工件偏置兼容
G10 L10/L12写刀补兼容

6.3 M 代码兼容性

功能发那科典型值三菱典型值说明
测头开启M173M173(或自定义)通常一致,需确认 PMC 映射
测头关闭M174M174(或自定义)通常一致
对刀仪开启M173(或映射)需确认不同机床可能不同
对刀仪关闭M174(或映射)需确认不同机床可能不同
主轴定向M19M19通常兼容

操作测头和对刀仪的 M 代码需根据具体机床的 PMC 梯形图确认,不建议直接沿用发那科默认值。

6.4 公共变量占用对照

变量范围发那科三菱移植建议
#500~#509用户可用备用(推荐)✅ 可用于标定数据
#510~#549用户可用部分系统占用⚠️ 需逐号确认
#550~#599用户可用接口变量/PMC⚠️ 可能冲突
#600~#699用户可用系统内部❌ 避免使用
#700~#799用户可用刀具寿命管理⚠️ 启用则避免
#800~#999用户可用用户宏区域✅ 推荐用于中间运算
#100~#149局部变量(非嵌套)局部变量✅ 仅宏内使用

6.5 标定数据变量映射(推荐方案)

变量用途发那科默认三菱推荐
#115标定数据指针530550(或确认空闲区域)
#[#115]探头中心 X 坐标#530#550
#[#115+1]探头中心 Y 坐标#531#551
#[#115+2]Z 轴距离/0#532#552
#[#115+3]直径标定值#533#553

6.6 刀具补偿表地址对照

补偿类型发那科典型值三菱 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 系统配置(三菱推荐值)

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 三菱化修改总结

修改项发那科值三菱值说明
#10114CNC 类型 → Mitsubishi
#115530550标定数据指针 → 三菱安全区域
#1452000 (Fanuc)2000/2400半径指针(系统相关)
#1462000 (Fanuc)2000长度指针(系统相关)
G10 L50G10 L50(与发那科一致)参数写入指令

八、常见问题与排查

8.1 G31 不触发

现象可能原因解决方案
G31 走过指定距离不停参数 #60001 位7 (SKP)=0设 SKP=1。三菱参数需在系统参数页面(参数编号 #60001)手动设定,或通过G10 L50写入
G31 不响应测头触发参数 #60001 位6 (SKE) 极性反切换 SKE 值。三菱参数需在系统参数页面(参数编号 #60001)手动设定,或通过G10 L50写入
G31 偶尔触发正常测头电池电量低更换电池
G31 触发但误差大测头预行程未补偿标定和测量用相同 F 值
G31 触发慢/延迟大PMC 扫描周期/信号滤波检查 PMC 扫描时间

8.2 G37 不工作

现象可能原因解决方案
G37 无反应参数 #60002 位7 (G37)=0设 G37=1。三菱参数需在系统参数页面(参数编号 #60002)手动设定,或通过G10 L50写入
G37 超程报警#60010 设定过小增大 #60010
G37 触发但刀长写入错误刀长补偿方向设定反确认 G43 方向

8.3 MIDA 宏程序问题

现象可能原因解决方案
标定数据异常#115 指向的变量被系统占用更换 #115 指针到空闲区域
刀具补偿值写入错误#145/#146 指针值不对应三菱格式根据系统类型设置正确指针
宏程序不能编辑宏区被保护但未正确设置在系统参数页面检查保护范围设置
变量值在执行中被覆盖使用了系统占用的公共变量确认变量空闲范围

8.4 移植后常见问题

问题原因解决
宏中使用 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 梯形图确认

8.5 排查流程图

                          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
              └───

参考文档

文档编号名称用途
D310JBAG00VTS Bridge Mitsubishi🔴 三菱 VTS 影像对刀 — 本文核心来源
S609210534VTS Bridge Mitsubishi (软件包)VTS 桥接软件安装
S609210535VTS CNC Macro (软件包)VTS 宏程序(O9700~O9769)
FCSB1224W000三菱 CNC 通信库Bridge ↔ CNC 通信
D310A1AG07Tool Check on Machining Centre (Fanuc)对刀仪宏程序源(发那科版)
D310A2AG16Part Check on Machining Centre (Fanuc)工件测量宏程序源(发那科版)
D310A9AG07VTS Software for Fanuc CNCVTS 宏程序源(通用)
三菱 MELDAS M80/M70 编程手册G31/G37 官方参考
三菱 MELDAS M80/M70 参数手册#60000 系列参数官方参考

注意:本文基于马波斯 D310JBAG00(VTS Bridge Mitsubishi)技术资料、D310A1AG07(对刀仪)和 D310A2AG16(工件测量)发那科兼容性数据,以及三菱 M800/M80/M700/M70 系统特性编写。文中涉及的参数号、变量映射和配置方法在所述系统上已验证,但不同固件版本可能存在差异。在实际应用中,请务必以机床对应版本的手册为最终依据。首次使用 MIDA 宏程序前,建议逐段测试并确认所有参数映射正确。

相关阅读