马波斯 MIDA 测头与对刀仪宏程序编程指南 — 三菱M80/M70系统篇
适用系统: 三菱 M800/M80 系列、M700/M70V 系列(M系加工中心)
文档来源: D310JBAG00 (VTS Bridge Mitsubishi)、D310A1AG07 (对刀仪,发那科兼容)、D310A2AG16 (工件测量,发那科兼容)
适用产品: 马波斯 MIDA 测头系统、MIDA 对刀仪、VTS 影像对刀仪
注意事项: 本文由宁波匠测科技有限公司根据官方手册数据进行整理,因现场情况确实复杂多变,我们始终建议文中描述的代码正式参与生产之前,须经技术人员现场验证!
目录
- 概述
- 三菱系统与发那科的兼容性
- G31 跳跃功能体系
- G37 自动刀具长度测定
- 发那科 MIDA 宏程序移植到三菱
- O9366 系统配置(三菱篇)
- 对刀仪宏程序(P9376~P9388)
- 工件测量宏程序(O9301~O9392)
- VTS 影像对刀仪在三菱系统上的应用
- 变量与参数映射参考
- 常见问题与排查
- 附录:完整宏程序索引
一、概述
马波斯MIDA触发式测头系统应用于CNC加工中心,实现机内测量(In-Machine Measurement)——在加工准备阶段进行工件找正,在工序间/工后进行原位尺寸检测,无需将工件移至三坐标测量机。
马波斯(Marposs)MIDA 软件包中,三菱专用手册仅 D310JBAG00(VTS Bridge Mitsubishi) 一份,该手册主要面向 VTS 影像式对刀仪在三菱系统上的桥接软件安装与操作。
发那科版本的 MIDA 宏程序(工具对刀仪 P9376~P9388、工件测量 O9301~O9392)由于三菱 M80/M70 系统在 G 代码体系上与发那科高度兼容,原则上可移植至三菱系统。本指南系统性地阐述移植方法、参数映射、变量差异及注意事项。
三菱系统测量编程三层体系
底层: G31 跳跃功能 (Skip Signal) — 测头触发的硬件入口
│ 三菱特色: G31.1~G31.3 多段跳跃, R参数变速跳跃
▼
中层: G37 自动刀具长度测定 — 对刀仪专用指令
│ 触发后自动写入 H 补偿号
▼
上层: MIDA 宏程序体系 — 标准化的标定/测量/补偿调用接口
├─ 对刀仪: P9376~P9388 (发那科移植)
├─ 工件测量: O9301~O9392 (发那科移植)
└─ VTS 影像对刀: O9700~O9731 (桥接软件)
二、三菱系统与发那科的兼容性
2.1 兼容项
| 项目 | 三菱 M80/M70 | 发那科 | 结论 |
|---|---|---|---|
| 自定义宏 B | ✅ 标准支持 | ✅ 标准 | 兼容 |
| G65/G66 | ✅ 标准 | ✅ 标准 | 完全兼容,调用语法一致 |
| G31 跳跃 | ✅ 支持 | ✅ 支持 | 兼容,三菱多 G31.1~G31.3 |
| G31 P1~P4 | ✅ 支持 | ✅ 支持 | 兼容,多段跳跃输入选择 |
| G37 刀长测定 | ✅ 支持 | ✅ 支持 | 功能兼容,参数映射不同 |
| #5061~#5063 触发坐标 | ✅ 支持 | ✅ 支持 | 相同变量号,可直接移植 |
| #5021~#5023 机械坐标 | ✅ 支持 | ✅ 支持 | 相同 |
| #5041~#5043 绝对坐标 | ✅ 支持 | ✅ 支持 | 相同 |
| G43 刀长补偿 | ✅ 支持 | ✅ 支持 | 语法一致 |
2.2 不兼容项(需修改)
| 项目 | 发那科 | 三菱 | 注意事项 |
|---|---|---|---|
| 公共变量 #500~#999 | 全部可用 | 部分被系统占用 | #500~#599 可用范围受限,#600 以上有不少系统占用 |
| 系统变量 #1000~#2000 | 用户自定义宏用 | 部分区域映射不同 | 需确认机型的宏变量映射表 |
| 宏保护区 O9000~O9999 | 标准保护 | 规则可能不同 | 需通过参数设定保护范围 |
| 参数写入 G10 L50 | 标准 | 三菱用 G10 L50(与发那科一致) | 三菱参数需在系统参数页面(参数编号如 #60001 等)手动设定,或通过G10 L50写入 |
| 刀具补偿表地址 | #2000~#2999 等 | 偏移规则不同 | 见本文第五章 |
| 高速高精度加工模式 | G05.1 Q1 | 三菱不同指令 | 不影响测头宏,但需注意系统上下文恢复 |
2.3 重要差异详解
公共变量范围
发那科 MIDA 宏程序使用 #500~#599 作为标定数据存储,#600~#999 作为中间运算变量。在三菱系统中:
| 变量范围 | 三菱占用情况 | 建议 |
|---|---|---|
| #500~#509 | 备用(推荐) | ✅ 可安全用于标定数据 |
| #510~#549 | 部分系统占用 | ⚠️ 需确认 |
| #550~#599 | 接口用变量 | ⚠️ 部分被 PMC 占用 |
| #600~#699 | 系统内部使用 | ❌ 避免使用 |
| #700~#799 | 刀具寿命管理 | ⚠️ 如果启用则避免 |
| #800~#999 | 用户宏区域 | ✅ 可用于中间运算 |
建议策略:移植时将标定数据从 #500~#599 迁移到 #100~#149(局部迁移)或确认空闲区域后使用新的 #500~#549 范围。
宏程序号范围
发那科系列宏(O9000~O9999)在三菱系统中的保护区规则:
| 程序号范围 | 三菱默认保护 | 说明 |
|---|---|---|
| O0000~O0999 | — | 常规程序 |
| O7000~O7999 | ⚠️ 部分系统为导航宏 | 可能冲突 |
| O9000~O9999 | 需参数设定保护 | 在系统参数页面设定保护范围 |
| O9800~O9899 | 若安装 NAVI MILL 则占用 | 注意不与 NAVI MILL 宏冲突 |
建议:将发那科 MIDA 宏存储为 O9000~O9999 范围,并通过参数设置保护。如果机床已安装 NAVI MILL 的 O9800 系列宏,确保程序号不重叠。
三、G31 跳跃功能体系
3.1 基本行为
三菱的 G31 功能与发那科一致,属于 00 组一次性 G 代码,在直线插补运动中持续监测跳跃信号(SKIP Signal):
G31 Z-50. F300 (Z轴向下移动,等待测头触发)
#100 = #5063 (立即读取触发点Z坐标并保存)
G00 Z100. (安全退刀)
3.2 触发坐标系统变量
| 变量号 | 含义 | 备注 |
|---|---|---|
| #5061 | 触发点X轴机械坐标 | 同发那科 |
| #5062 | 触发点Y轴机械坐标 | 同发那科 |
| #5063 | 触发点Z轴机械坐标 | 同发那科 |
关键:必须在 G31 的下一程序段立即读取并保存——后续任何移动指令都会覆盖这些变量。此行为与发那科完全一致。
3.3 三菱独有:多段跳跃 G31.1 ~ 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。必须在每次触发后立即读取赋值,不能等所有跳跃完成后一次性读取。
3.4 三菱独有:变速跳跃(R 参数)
三菱 G31 支持变速跳跃,在测头接触工件后以指定速度回退,适合薄壁件和精密表面:
G31 Z-20. F500 R100 (Z轴下移 F500,触发后以 F100 退刀)
R参数 = 触发后退刀速度(发那科标准 G31 不支持此语法)- 此功能在三菱 M800/M80 系列中标准支持
3.5 SKIP 信号硬件链路
测头触发 → 接收器(如马波斯 VOS/WRS) → PMC 输入 → 系统内部 SKIP 信号
3.6 关键参数配置
| 三菱参数号(位) | 含义 | 典型值 | 说明 |
|---|---|---|---|
| #60001(位6 SKE) | SKIP 信号有效极性 | 1(高电平有效) | 设反会导致不触发。三菱参数需在系统参数页面(参数编号 #60001)手动设定,或通过G10 L50写入 |
| #60001(位7 SKP) | 跳跃功能有效 | 1(启用) | G31 可用性开关。三菱参数需在系统参数页面(参数编号 #60001)手动设定,或通过G10 L50写入 |
| #60002(位7 G37) | G37 自动刀长测定有效 | 1(启用) | G37 可用性开关。三菱参数需在系统参数页面(参数编号 #60002)手动设定,或通过G10 L50写入 |
| #60010 | G37 最大移动距离 | 根据机床设定 | 刀具到对刀仪的安全距离 |
| #60011 | G37 测定进给速度 | 300~500 mm/min | 接触速度 |
四、G37 自动刀具长度测定
4.1 基本用法
三菱加工中心 M 系中,G37 是自动刀具长度测定的专用指令。该指令触发后:
- 检测 SKIP 信号
- 记录接触点 Z 坐标
- 自动计算刀长偏置并写入当前刀具的 H 补偿号
T01 M06 (换刀)
G90 G00 G54 X0 Y0 (定位到对刀仪上方)
G43 Z100. H01 (建立刀长补偿)
G00 Z-50. (快速移动到对刀仪上方安全距离)
G37 Z-70. F300 (Z轴慢速下移,接触对刀仪后自动写入刀长)
G00 Z100. (退刀)
M01
4.2 G37 执行前置条件
| 条件 | 说明 | 检查 |
|---|---|---|
| 参数 #60001 位7 (SKP)=1 | 跳跃功能已启用。三菱参数需在系统参数页面手动设定,或通过G10 L50写入 | 必须 |
| 参数 #60002 位7 (G37)=1 | G37 功能已启用。三菱参数需在系统参数页面手动设定,或通过G10 L50写入 | 必须 |
| #60010 设定合理 | 移动距离须 > 刀具到对刀仪的实际距离 | 必须 |
| G43 已建立(推荐) | 建立刀补后测出的刀长值相对补偿基准更可预测 | 建议 |
4.3 G37 注意事项
- G37 在加工中心(M 系)中进行轴向(Z 轴)刀长测定
- 在车削系统(L 系)中 G37 的用法可能不同(Z 轴测定),车床 L 系用 G36 测 X 轴(径向)
- G37 触发后自动写入 H 码,无需显式赋值
五、发那科 MIDA 宏程序移植到三菱
5.1 移植策略
发那科 MIDA 宏程序因为以下原因可以直接在三菱系统上运行或只需少量修改:
| 宏程序 | 发那科版本 | 三菱版本 | 移植难度 |
|---|---|---|---|
| O9366 (系统配置) | ✅ 完整 | ⚠️ 需修改参数 | 中等 |
| O9370 (保护定位) | ✅ 完整 | ✅ 可直接使用 | 低 |
| O9371 (触碰移动) | ✅ 完整 | ✅ 可直接使用 | 低 |
| P9376 (标定) | ✅ 完整 | ✅ 可直接使用 | 低 |
| P9377 (同心刀测量) | ✅ 完整 | ✅ 可直接使用 | 低 |
| P9378 (非同心刀测量) | ✅ 完整 | ✅ 可直接使用 | 低 |
| P9379 (完整性检查) | ✅ 完整 | ✅ 可直接使用 | 低 |
| P9380 (完整性检查) | ✅ 完整 | ✅ 可直接使用 | 低 |
| P9386 (手动标定) | ✅ 完整 | ✅ 可直接使用 | 低 |
| P9387 (手动测长) | ✅ 完整 | ✅ 可直接使用 | 低 |
| P9388 (单刀粒测量) | ✅ 完整 | ✅ 可直接使用 | 低 |
| O9391 (用户输入) | ✅ 完整 | ✅ 可直接使用 | 低 |
| O9392 (用户输出) | ✅ 完整 | ✅ 可直接使用 | 低 |
| O9301~O9392 (工件) | ✅ 完整 | ✅ 可直接使用 | 低 |
说明:这些宏程序使用 G65/G31/#5061~#5063 等在三菱和发那科上完全一致的指令/变量。唯一需要修改的是 O9366 系统配置中的参数和变量偏移。
5.2 必须修改的内容
在 O9366 配置宏中,以下内容需要调整为三菱值:
5.2.1 CNC 类型
#101 = 4 (4 = Mitsubishi)
发那科 MIDA O9366 中的 CNC 类型定义:
| #101 值 | CNC 类型 |
|---|---|
| 1 | Fanuc |
| 2 | Haas |
| 3 | Yasnac |
| 4 | Mitsubishi ← 这是三菱的正确设定 |
| 5 | Mazatrol |
| 6 | Brother |
5.2.2 刀具补偿表指针(三菱特有映射)
根据 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 等配置)。
对发那科的差异:
- 发那科长度补偿通常在 #2000~#2999 或 #10000~#10999(取决于 H/D 分离配置)
- 三菱的补偿表存储区不同,但宏程序通过 #145/#146 等指针变量间接访问,因此只需在 O9366 中设置正确的指针值
5.2.3 参数写入指令(G10 L50)
三菱 M70/M80 使用 G10 L50 写入参数,与发那科一致:
; 发那科写法 — 三菱同样适用
G10 L50
N6200 R01001101
N6201 R11100001
G11
; 三菱写法 — 与发那科相同
G10 L50
N6200 R01001101
N6201 R11100001
G11
三菱参数需在系统参数页面(参数编号如 #60001 等)手动设定,或通过G10 L50写入。
注意:G10 L50 是三菱 M70/M80 系统用于写入参数的合法指令,其用法与发那科完全一致。N 地址后的 R 值为位参数的十进制表示。
5.2.4 标定数据存储变量
建议将标定数据从发那科的 #530~#533(默认使用 #115 指针,通常指向 #500 范围)迁移到三菱安全的变量范围:
; 三菱建议
#115 = 550 ; 标定数据指针指向 #550 (确认该范围空闲)
#550 = 探头中心 X ; 而非发那科的 #530
#551 = 探头中心 Y
#552 = Z 轴距离
#553 = 直径标定值
5.3 移植工作流程
1. 上传宏程序 → 2. 修改 O9366 中的 #101=4 和 #115 指针
↓
3. 设定三菱参数 #60001(位6 SKE/SKP)、#60002(位7 G37)。
三菱参数需在系统参数页面(参数编号如 #60001 等)手动设定,或通过G10 L50写入
↓
4. 确认刀具补偿表指针 #145/#146/#147/#149 正确
↓
5. 安装标定基准刀,运行 P9376 标定
↓
6. 验证测量结果
六、O9366 系统配置(三菱篇)
O9366 是 MIDA 对刀仪宏程序的核心配置文件,必须在首次使用前编辑。以下是三菱系统的推荐配置:
O9366 (MIDA 系统配置 - 三菱版)
;
#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
刀具补偿表地址(三菱 M80/M70 典型值)
三菱系统的刀具补偿表地址与系统内存配置有关,建议在机床操作面板上确认:
| 补偿类型 | 发那科典型值 | 三菱典型值(Type 1) | 三菱典型值(Type 2) |
|---|---|---|---|
| 长度 H | #2000~ | #2000 / #10000 | #2000 / #10000 |
| 半径/直径 D | #2000~ | #2000 / #10000 | #2400 / #16000 |
| 长度磨损 | #2200~ | — | #2200 / #11000 |
| 半径磨损 | #2400~ | — | #2600 / #17000 |
通过 MDI 执行
#146 = 2000然后查看刀具补偿页面确认映射关系。
七、对刀仪宏程序(P9376~P9388)
7.1 标定循环
| 宏号 | 功能 | 三菱调用示例 |
|---|---|---|
| P9376 | 自动标定 | G65 P9376 H3. |
| P9386 | 手动标定 | G65 P9386 |
P9376 参数:
| 参数 | 含义 | 默认值 |
|---|---|---|
| H | 长度和半径读取的刀补号 | 必填 |
| [F] | 半径读取刀补号(与 H 不同时) | = H |
| [K] | 直径标定接触深度 | 6 mm |
| [M] | 测量起始区域 | 5 mm |
| [C] | 多探头系统中的探头编号 | 1 |
| [V] | 标定模式:V=1 全部标定, V=2 仅 Z | 1 |
7.2 测量循环
| 宏号 | 功能 | 调用示例 |
|---|---|---|
| P9377 | 同心刀具长度/半径测量 | G65 P9377 H3.K10. |
| P9378 | 非同心刀具长度/半径测量 | G65 P9378 H3.K10. |
| P9388 | 单刀粒刀具测量 | G65 P9388 H3. |
P9377 参数:
| 参数 | 含义 | 默认值 |
|---|---|---|
| [H] | 长度刀补号 | 当前主轴刀具 |
| [F] | 半径刀补号 | = H |
| [K] | 半径测量 Z 深度 | 不指定则不测半径 |
| [I] | 长度磨损公差 | 不指定则直接写入 |
| [J] | 半径磨损公差 | 不指定则直接写入 |
7.3 完整性检查
| 宏号 | 功能 | 调用示例 |
|---|---|---|
| P9379 | 同心刀具轴向完整性检查 | G65 P9379 H3.I1. |
| P9380 | 非同心刀具轴向完整性检查 | G65 P9380 H3.I1. |
7.4 辅助循环
| 宏号 | 功能 | 说明 |
|---|---|---|
| O9371 | 触碰移动(Basic/Touch Movement) | 被其他宏调用 |
| O9370 | 保护定位(Protected Positioning) | 安全接近移动 |
| O9391 | 用户输入辅助 | 可自定义预动作 |
| O9392 | 用户输出辅助 | 可自定义后动作 |
八、工件测量宏程序(O9301~O9392)
8.1 标定循环
| 宏号 | 功能 | 说明 |
|---|---|---|
| O9301 | 标准标定(6 面标定) | 基础标定 |
| O9302 | 斜角标定 | Premium/Ultimate 版 |
| O9303 | 三点直径标定 | Premium/Ultimate 版 |
| O9372 | 多点直径标定 | Premium/Ultimate 版 |
8.2 测量循环
基础触测版(O931x 系列):
| 宏号 | 功能 | 调用示例 |
|---|---|---|
| O9311 | 安全定位 | G65 P9311 X50. Y50. Z-10. |
| O9312 | 内孔/外圆测量 | G65 P9312 H1. D50. |
| O9313 | 腹板/型腔测量 | G65 P9313 H1. |
| O9314 | 单面检测 | G65 P9314 H1. Z-20. |
| O9315 | 角点检测 | G65 P9315 H1. |
| O9316 | 双触角点确定 | G65 P9316 H1. |
| O9317 | Z 面角度检测 | Premium/Ultimate |
| O9318 | XY 工件倾斜检测 | G65 P9318 I40. J30. |
扩展功能版(O935x 系列):
| 宏号 | 功能 |
|---|---|
| O9351/O9352 | 内孔/外圆(带扩展功能) |
| O9353/O9354 | 腹板/型腔 X 方向 |
| O9355/O9356 | 腹板/型腔 Y 方向 |
| O9357/O9358 | 角点检测(扩展版) |
| O9359 | 单面检测(扩展版) |
高级版(O933x 系列,Premium/Ultimate):
| 宏号 | 功能 |
|---|---|
| O9332 | 斜孔/外圆检测 |
| O9333 | 斜腹板/型腔检测 |
| O9334 | 斜面检测 |
| O9335 | 三点直径测量 |
| O9336 | 双孔/外圆工件测量(Ultimate) |
| O9337 | 3/4 孔/外圆测量(Ultimate) |
| O9338 | 余量测量(Ultimate) |
| O9392 | 多点直径测量 |
8.3 工件测量宏在三菱上的移植要点
工件测量宏(O9301~O9392)在三菱上的移植比对刀仪宏更简单,因为:
- ✅ 使用 G31 跳跃功能——三菱与发那科语法一致
- ✅ 使用 #5061~#5063 读取触发坐标——变量号相同
- ✅ 使用 G65 调用——语法完全相同
- ✅ 不依赖刀具补偿表指针——除非涉及自动写入偏移
唯一需注意的:如果宏中包含 G10 写入工件坐标系偏移的指令,确认三菱的 G10 语法与发那科一致:
; 发那科 G10 设置工件偏移 (G54)
G10 L2 P1 X0 Y0 Z0
; 三菱 G10 设置工件偏移 — 语法相同
G10 L2 P1 X0 Y0 Z0
九、VTS 影像对刀仪在三菱系统上的应用
9.1 概述
VTS(Vision Tool Setting)是马波斯的影像式非接触对刀仪系统。在三菱系统上,通过 VTS Bridge Mitsubishi(S609210534) 桥接软件实现 CNC 与 VTS 系统的通信。
| 组件 | 说明 |
|---|---|
| 软件名称 | VTS Bridge Mitsubishi (D310JBAG00) |
| 软件代码 | S609210534 |
| 对刀宏代码 | S609210535 (VTS CNC Macro) |
| 通信库 | FCSB1224W000 (三菱 CNC 通信库) |
| 适用系统 | M700/M70V/E70、M800/M80、C70、Meldas 系列 |
9.2 系统架构
┌─────────────────┐ Ethernet ┌──────────┐ Ethernet ┌────────────┐
│ 三菱 CNC │ ◄──────────────► │ VTS │ ◄──────────────► │ VTS-EU │
│ (M80/M70) │ │ Bridge │ │ (处理单元) │
│ │ │ PC │ │ │
│ 变量 #149 通信 │ │ Windows │ │ IP: 192.168.1.8│
└─────────────────┘ └──────────┘ └────────────┘
│ │
config.txt VTS-SU
设定变量号 (光学传感器)
9.3 通信变量
VTS Bridge 通过读取 CNC 变量 #149(默认,可修改)进行通信:
- 在
config.txt文件第 5 行设定变量号(默认 #149) - CNC 宏程序写入该变量 → Bridge 读取并转发给 VTS EU
- VTS 测量结果通过同一变量返回 CNC
9.4 VTS 宏程序(D310A9AG07 VTS Software for Fanuc CNC)
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。
9.5 安装与配置步骤
M800/M80 系列:
- Diagn 页面 → H/W config → 读取 CNC 型号
- Mainte 页面 → Param → Ethernet param → 读取参数 #1926(CNC IP 地址)
- 在 VTS Bridge 界面输入 CNC IP 地址和 CNC 类型
M700/M70V 系列:
- Diagn 页面 → H/W S/W config → H/W config → 读取 CNC 型号
- Mainte 页面 → Param → Ethernet param → 读取参数 #1926(CNC IP 地址)
- 在 VTS Bridge 界面输入 CNC IP 地址和 CNC 类型
VTS EU 默认地址:
- IP 地址:192.168.1.8
- 端口:22375
- OEM 密码:erm82af6
十、变量与参数映射参考
10.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 | ✅ 相同(可能) |
10.2 三菱 SKIP 相关参数
| 参数号(位) | 含义 | 说明 |
|---|---|---|
| #60001(位6 SKE) | SKIP 信号极性 | 0=负逻辑, 1=正逻辑。三菱参数需在系统参数页面(参数编号 #60001)手动设定,或通过G10 L50写入 |
| #60001(位7 SKP) | 跳跃功能启用 | 0=禁用, 1=启用。三菱参数需在系统参数页面(参数编号 #60001)手动设定,或通过G10 L50写入 |
| #60002(位7 G37) | G37 功能启用 | 0=禁用, 1=启用。三菱参数需在系统参数页面(参数编号 #60002)手动设定,或通过G10 L50写入 |
| #60010 | G37 最大移动距离 | 须 > 实际对刀距离 |
| #60011 | G37 测定进给速度 | mm/min |
| #1926 | CNC IP 地址 | 用于 VTS Bridge 通信 |
10.3 标定数据变量映射(推荐)
| 变量 | 用途 | 发那科默认 | 三菱推荐 |
|---|---|---|---|
| #115 | 标定数据指针 | 530 | 550(或确认空闲区域) |
| #[#115] | 探头中心 X 坐标 | #530 | #550 |
| #[#115+1] | 探头中心 Y 坐标 | #531 | #551 |
| #[#115+2] | Z 轴距离/0 | #532 | #552 |
| #[#115+3] | 直径标定值 | #533 | #553 |
10.4 三菱宏程序保护区设置
三菱系统的宏程序保护范围在系统参数页面中设定:
| 设定方式 | 功能 | 说明 |
|---|---|---|
| 系统参数页面 | 宏程序保护起始/结束号 | 在 Mainte → Param 页面设置保护范围 |
| 系统参数页面 | 宏程序保护模式 | 设定为只读保护模式 |
保护范围设定后,O9000~O9999 等区域不可编辑,防止意外修改。
十一、常见问题与排查
11.1 G31 不触发
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| G31 走过指定距离不停 | 跳跃功能未启用 | 在系统参数页面设置 #60001 的位7(SKP)=1 |
| G31 不响应测头触发 | SKIP 信号极性反 | 切换 #60001 的位6(SKE)值 |
| G31 偶尔触发正常 | 测头电池电量低 | 更换电池 |
| G31 触发但误差大 | 测头预行程未补偿 | 标定和测量用相同 F 值 |
注意:三菱系统执行 G31 时,若到达目标坐标仍未触发 SKIP 信号,机床会停止移动并继续执行下一程序段(不会像发那科系统那样产生超程报警)。因此,在宏程序开发中,必须在 G31 执行后立即比对目标坐标与 #5061~#5063 的差值,以此判定是否发生了"未触碰过行程"的异常。
11.2 G37 不工作
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| G37 无反应 | 参数 #60002 位7 (G37)=0 | 设 G37=1。三菱参数需在系统参数页面(参数编号 #60002)手动设定,或通过G10 L50写入 |
| G37 超程报警 | #60010 设定过小 | 增大 #60010 |
| G37 触发但刀长写入错误 | 刀长补偿方向设定反 | 确认 G43 方向 |
11.3 MIDA 宏程序问题
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 标定数据异常 | #115 指向的变量被系统占用 | 更换 #115 指针到空闲区域 |
| 刀具补偿值写入错误 | #145/#146 指针值不对应三菱格式 | 根据系统类型设置正确指针 |
| 宏程序不能编辑 | 宏区被保护但未正确设置 | 在系统参数页面检查保护范围设置 |
| 变量值在执行中被覆盖 | 使用了系统占用的公共变量 | 确认变量空闲范围 |
11.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、宏中变量号一致 |
11.5 排查流程
G31/测头不触发
↓
① 检查参数 #60001 位7 (SKP)=1? ← 参数页面
② 检查参数 #60001 位6 (SKE) 极性? ← 试切换
③ 检查测头电池/接收器状态? ← 硬件
④ 检查 PMC 梯形图中 SKIP 信号? ← 进阶
↓
G37/对刀仪不工作
↓
① 检查参数 #60002 位7 (G37)=1?
② 检查 #60010 设定是否足够大?
③ 检查对刀仪硬件连接?
④ 运行 G91 G31 X-20. F5. 手动测 SKIP 信号?
十二、附录:完整宏程序索引
调用方式:本文所有宏程序均通过 G65 宏调用指令调用(如
G65 P9376 H3.、G65 O9301),三菱 M80/M70 系统对 G65/G66 语法支持与发那科完全一致,详见第5.1节。
对刀仪(Tool Check)宏程序
| 宏号 | 功能 | 必需的底层宏 | 源文档 |
|---|---|---|---|
| P9376 | 自动标定 | O9370, O9371, O9366 | D310A1AG07 |
| P9377 | 同心刀具长度/半径 | O9370, O9371, O9366 | D310A1AG07 |
| P9378 | 非同心刀具长度/半径 | O9370, O9371, O9366 | D310A1AG07 |
| P9379 | 同心刀具完整性检查 | O9370, O9371, O9366 | D310A1AG07 |
| P9380 | 非同心刀具完整性检查 | O9370, O9371, O9366 | D310A1AG07 |
| P9386 | 手动标定 | O9370, O9371, O9366 | D310A1AG07 |
| P9387 | 手动长度测量 | O9370, O9371, O9366 | D310A1AG07 |
| P9388 | 单刀粒测量 | O9370, O9371, O9366 | D310A1AG07 |
| O9370 | 保护定位(底层) | — | D310A1AG07 |
| O9371 | 触碰移动(底层) | — | D310A1AG07 |
| O9366 | 系统配置(需三菱化) | — | D310A1AG07 |
| O9391 | 用户输入辅助 | — | D310A1AG07 |
| O9392 | 用户输出辅助 | — | D310A1AG07 |
工件测量(Part Inspection)宏程序
| 宏号 | 功能 | 版本要求 | 源文档 |
|---|---|---|---|
| O9301 | 标准标定 (Standard Calibration) | Basic+ | D310A2AG16 |
| O9302 | 斜角标定 (Angular Calibration) | Premium/Ultimate | D310A2AG16 |
| O9303 | 三点直径标定 (3-Point Diameter Cal.) | Premium/Ultimate | D310A2AG16 |
| O9372 | 多点直径标定 (Multi-Point Diameter Cal.) | Premium/Ultimate | D310A2AG16 |
| O9311 | 安全定位 (Safe Positioning) | Basic+ | D310A2AG16 |
| O9312 | 内孔/外圆 (Bore/Boss) | Basic+ | D310A2AG16 |
| O9313 | 腹板/型腔 (Web/Pocket) | Basic+ | D310A2AG16 |
| O9314 | 单面检测 (Single Surface) | Basic+ | D310A2AG16 |
| O9315 | 角点检测 (Corner) | Basic+ | D310A2AG16 |
| O9316 | 双触角点 (Double Touch Corner) | Basic+ | D310A2AG16 |
| O9317 | Z 面角度 (Z-Axis Angle) | Premium/Ultimate | D310A2AG16 |
| O9318 | XY 倾斜 (XY Inclination) | Basic+ | D310A2AG16 |
| O9332 | 斜孔/外圆 (Inclined Bore/Boss) | Premium/Ultimate | D310A2AG16 |
| O9333 | 斜腹板/型腔 (Inclined Web/Pocket) | Premium/Ultimate | D310A2AG16 |
| O9334 | 斜面检测 (Inclined Surface) | Premium/Ultimate | D310A2AG16 |
| O9335 | 三点直径 (3-Point Diameter) | Premium/Ultimate | D310A2AG16 |
| O9336 | 双孔/外圆 (Twin Bore/Boss) | Ultimate | D310A2AG16 |
| O9337 | 3/4 孔/外圆 (3/4 Bore/Boss) | Ultimate | D310A2AG16 |
| O9338 | 余量测量 (Stock Allowance) | Ultimate | D310A2AG16 |
| O9392 | 多点直径 (Multi-Point Diameter) | Premium/Ultimate | D310A2AG16 |
| O9351~O9359 | 手动循环系列 | 手动版 | D310A2AG16 |
| O9324~O9327 | 多工件面系列 | Ultimate | D310A2AG16 |
| O9360~O9364 | 系统辅助 | Basic+ | D310A2AG16 |
VTS 影像对刀宏程序
完整清单见上文 9.4节,源文档 D310A9AG07。
桥接软件请参考 D310JBAG00(VTS Bridge Mitsubishi)。
参考文档
| 文档编号 | 名称 | 用途 |
|---|---|---|
| D310JBAG00 | VTS Bridge Mitsubishi | 三菱 VTS 影像对刀 |
| D310A1AG07 | Tool Check on Machining Centre (Fanuc) | 对刀仪宏程序源 |
| D310A2AG16 | Part Check on Machining Centre (Fanuc) | 工件测量宏程序源 |
| D310A9AG07 | VTS Fanuc | VTS 宏程序源(通用) |
| — | 三菱 MELDAS M80/M70 编程手册 | G31/G37 官方参考 |
| — | 三菱 MELDAS M80/M70 参数手册 | #60000 系列参数 |
注意:本指南基于马波斯 D310JBAG00、D310A1AG07、D310A2AG16 文档以及三菱 M800/M80 系统的特性编写。在实际应用中,请务必以机床对应版本的手册为最终依据。建议在首次使用前逐段测试宏程序,确认所有参数映射正确。
320

被折叠的 条评论
为什么被折叠?



