三菱 副本 副本

马波斯 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 轴机械坐标✅ 完全相同同上

⚠️ 读取规则:跳跃坐标是触发瞬间的锁定值——官方说明「#5061~#5060+n 的坐标值记忆了机械移动中跳跃输入信号接通的瞬间,因此之后随时可读取」(编程说明书 22.2)。所以不是”下一程序段必须立即读取”;但再次触发会更新同一组变量,多段测量时应在下一次触发之前读取上一点的坐标。

标准读取模式:

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 G31 的加减速指令(R0/R1)与变速跳跃(Fn)

三菱官方要求在每条 G31 指令中给出加减速指令 R0/R1:省略时按 R0(加减速时间常数=0)动作;指定 R1 时,即使输入跳跃信号也执行插补后自动加减速。R 是加减速指令,不是”触发后的退刀速度”——早期版本这样写是错的。触发后的变速由官方的变速跳跃实现:G31 X__ R__ F__ F1=__ … Fn=__;(按跳跃信号 1~8 分别指定接通后的速度,Fn=0 表示停止)。

G31 Z-20. F500 R0 F1=50   ; Z轴以F500下移;输入跳跃信号1后按 F1=50 继续

2.5 G31 P — 跳跃信号指令(多段跳跃功能 2)

官方定义:用跳跃信号指令 p 指定跳跃信号,p 在 1~255 的范围内指定(超出指令范围发生程序错误 P35)。p 表示跳跃信号 1~8 的逻辑和组合——例如 P5 表示在输入跳跃信号 1 或 3 时执行跳跃。该指令同时用于多系统同时跳跃。它不是”P1~P4 选择 SKIP1~SKIP4 通道”,也不限于 4 个取值。

G31 X100. P5 F100 ; 输入跳跃信号 1 或 3 时执行跳跃

2.6 SKIP 信号硬件链路

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

测头触发
  ↓
无线/红外发射 ← 测头内置发射器(如马波斯 VOS/WRS)
  ↓
接收器收到信号
  ↓
PMC 输入信号(DI 点) ← 由电气接线 / 梯形图决定(SKIP 信号的映射与极性在此处理)
  ↓
系统内部 SKIP 信号(跳跃信号)
  ↓
G31/G37 指令响应 ← 由跳跃规格(选件)+ 参数 #1174 / #12022 决定

关键点:

  • SKIP 信号要在 PMC 梯形图中映射到系统内部跳跃信号;映射方式与极性由梯形图处理,官方跳跃参数表中没有”SKIP 极性”参数
  • G31/G37 能否使用属规格(选件)问题:未选购跳跃规格时执行 G31 会发生程序错误 P601 NO SKIP SPEC(官方处理栏只有一句”Check the specifications”)
  • 速度与加减速:#1174 skip_F(G31 跳跃速度)、#12022 skipF_spec(bit0 切削进给倍率、bit1 空运行、bit2 无 F 指令时的速度来源);三菱官方要求每条 G31 中给出加减速指令 R0/R1(省略时按 R0,即加减速时间常数=0)
  • G37 的传感器信号(测量位置到达信号)与跳跃信号共用,因此跳跃链路正常是 G37 正常工作的前提

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. 移动停止

前置条件:

条件说明必须
跳跃规格已开通G37 的传感器信号(测量位置到达信号)与跳跃信号共用;未选购跳跃规格时执行即报警 P601 NO SKIP SPEC,属规格问题,与测头/接线无关✅
测量位置与减速区域设定正确G37 α__ R__ D__ F__;:α=测量轴地址及测量位置坐标值、R=以测量速度开始移动的点与测量位置的距离(增量)、D=刀具应停止的范围(增量)、F=测量速度;省略 R/D/F 时取参数 #8005 / #8006 / #8004✅
未超出测量允许范围超出时轴移动停止并发生程序错误 P607✅
G43 已建立(推荐)更新的补偿量何时生效随系统而异:L系为 G37 的下一条 T 指令,M系为 G37 的下一条 Z 轴(测量轴)指令建议

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


三、SKIP 相关参数配置表

3.1 核心参数总表

三菱系统中与 G31/G37 相关的官方参数如下(依据三菱 M800/M80/E80/C80 系列编程说明书「跳跃」「自动刀具长度测定」章节):

参数号(位)含义设定值说明
#1174skip_F — G31 跳跃速度按机床规格G31 程序段省略 F 指令时按此速度;该值为 0 且无 F 指令 → 程序错误 P603
#12022 bit0skipF_spec/bit0 — 切削进给倍率按机床制造商规格G31 中切削进给倍率有效 / 无效
#12022 bit1skipF_spec/bit1 — 空运行按机床制造商规格G31 中空运行有效 / 无效
#12022 bit2skipF_spec/bit2 — 无 F 指令时的速度来源0 或 10:按 #1174 的跳跃速度;1:按执行 G31 时的 F 模态
#2102skip_tL — 跳跃时间常数按机床制造商规格设定不正确 → 发生 MCP 报警(Y51 15)
#2103skip_t1 — 跳跃时间常数按机床制造商规格设定不正确 → 发生 MCP 报警(Y51 16)
#8004自动刀具长度测定 — 测量速度L系 0~60000 mm/min/M系 0~1000000 mm/min加工参数画面「自动刀具长度测定」;G37 省略 F 指令时使用
#8005自动刀具长度测定 — 减速区域 r0~99999.999 mm对应 G37 的 R 指令
#8006自动刀具长度测定 — 减速区域 d0~99999.999 mm对应 G37 的 D 指令
#1926(待核实)网络 / IP 相关设定按现场网络用于 VTS Bridge 以太网通信;参数号与设定方式请以机型《连接说明书》为准

3.2 参数详解

#1174 skip_F — G31 跳跃速度

官方定义:G31 程序段没有 F 指令时,按参数 #1174(G31 跳跃速度) 的设定值作为跳跃速度;若该参数值为 0 且程序段中又没有 F 指令,则发生程序错误 P603。程序段中写 F 指令时,指令速度即为跳跃速度(F1 位进给在此无效)。

现场含义:G31 走完全程不停、或速度明显异常时,先看程序段里有没有 F——没有 F 就全靠 #1174;#1174 与现场工艺不匹配会表现为”速度不对、惯性移动量大”(惯性移动量同时受 #1174 与 F 指令影响)。

#12022 skipF_spec — G31 中的倍率、空运行与 F 语义

位作用官方说明
bit0切削进给倍率G31 中切削进给倍率有效 / 无效,按机床制造商的规格确认
bit1空运行G31 中空运行有效 / 无效,按机床制造商的规格确认
bit2无 F 指令时的速度来源=0:按参数 #1174 的跳跃速度;=1:按执行 G31 时的 F 模态

现场含义:调试时打表 / 倍率对 G31 有没有影响、试跑会不会改变触测速度,都由这两位的设定决定——同一段程序在两台机床上表现不同,先查 #12022。

G31 的加减速指令 R0 / R1

官方要求:在每条 G31 指令中给出加减速指令 R0/R1;省略时按 R0(加减速时间常数=0)动作,不执行插补后自动加减速。指定 R1 时,即使输入跳跃信号也执行插补后自动加减速。相关时间常数由 #2102 skip_tL / #2103 skip_t1 设定,设定不正确会发生 MCP 报警(#2102 → Y51 15、#2103 → Y51 16)。

G37 的测量条件:#8004 / #8005 / #8006

G37 的指令格式为 G37 α__ R__ D__ F__;:α=测量轴地址及测量位置坐标值、R=以测量速度开始移动的点与测量位置的距离(半径值固定/增量值)、D=刀具应停止的范围(增量值)、F=测量速度。省略 R/D/F 时使用参数 #8005 / #8006 / #8004(加工参数画面的”自动刀具长度测定”)。

超出测量允许范围时轴移动停止并发生程序错误 P607;更新的补偿量何时生效随系统而异:L系为 G37 的下一条 T 指令,M系为 G37 的下一条 Z 轴(测量轴)指令。传感器信号(测量位置到达信号)与跳跃信号共用,其处理延迟(除去 PLC 端延迟)为 0~0.2 ms。

3.3 参数设定方法

方法一:在参数页面手动设定(推荐)

  • M800/M80 系列:Mainte 页面 → Param → 参数页面,设定 #1174 / #12022 / #2102 / #2103;G37 用的 #8004 / #8005 / #8006 在”加工参数”画面的”自动刀具长度测定”下
  • M700/M70V 系列:Mainte 页面 → Param,按该机型参数手册核对上述参数号后设定

方法二:可编程参数输入(G10 L70)

三菱 M800/M80/E80/C80 系列的”可编程参数输入”官方指令为 G10 L70(编程说明书 15.7.1 节),格式为 G10 L70; P__ S__ A__ H□__ ;(位参数)/P__ S__ A__ D__ ;(数值参数),以 G11 结束(P=参数编号、S=系统编号、A=轴编号、H□=位型数据;数值参数用 D__)。注意两点:①手册附录 3 另列有”可编程参数输入 (G10 L50, G11)”,并注明 G10 L50 为特定机种专用——M700V/M70V 系列手册明确写”本系列无此规格”;②三菱不是发那科那种 N____ R________ 位串写法,请以随机型手册的参数编号 / 数据编号定义为准。

方法三:宏程序不能直接给系统参数赋值

系统参数不是用户宏变量,宏程序内不能用 #参数号 = 值 的方式改写参数;参数修改须走参数页面,或按机型手册确认的可编程参数输入指令。跳跃功能是否可用属规格(选件)问题,参数页面里”改一个位就开通”的写法不成立。

3.4 SKIP 信号相关 PMC 地址

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

信号名典型 PMC 地址说明
SKIPX 地址(由参数决定)基本 SKIP 输入
跳跃信号 1~8X 地址(按梯形图)G31 用 Pp 指定其逻辑和,p=1~255

实际地址分配需查阅机床电气图纸和 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 参数写入指令(可编程参数输入)

三菱 M800/M80/E80/C80 系列的官方”可编程参数输入”为 G10 L70,格式 G10 L70; P__ S__ A__ H□__ ;(位参数)/P__ S__ A__ D__ ;(数值参数),以 G11 结束。手册附录 3 的 G10 L50 注明为特定机种专用(M700V/M70V 系列手册明确”本系列无此规格”),且其格式为 P__ N__ H□__,与发那科 N____ R________ 的位串写法不同。此前”三菱与发那科写法相同”的说法不成立,请按随机型手册的参数编号定义执行。

其他 G10 格式:

功能三菱官方指令说明
写系统参数G10 L70(特定机种:G10 L50)M800/M80 为 G10 L70;G10 L50 注明特定机种专用,M700V/M70V 无此规格;写法与发那科不同
写工件偏置G10 L2 / L20可编程补偿输入(工件偏置量)
写刀补G10 L10 / L11 / L12可编程补偿输入(刀具补偿量)
写素材形状G10 L101可编程素材形状输入

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步: 设定三菱系统参数
  ├─ 确认该机型已选购跳跃规格(未选购时执行 G31 会报 P601)
  ├─ 参数 #1174  (G31 跳跃速度)
  ├─ 参数 #12022 (skipF_spec: 倍率/空运行/无F时的速度来源)
  ├─ 使用 G37 时确认 #8004/#8005/#8006 (测量速度/减速区域)
  ↓
第4步: 检查 G31 功能是否正常
  └─ 执行 G91 G31 Z-20. F5. 并手动触发测头验证
  ↓
第5步: 安装标定基准刀,运行 P9376 标定
  └─ G65 P9376 H1. (H=基准刀刀补号)
  ↓
第6步: 运行测量循环验证
  └─ G65 P9377 H3. (测量刀具并写入刀补)

说明:以上参数在系统参数页面(或”加工参数”画面的”自动刀具长度测定”)中设定;跳跃功能是否可用属机床规格(选件)问题,先确认规格,再排查测头与接线。

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 地址:

IP 地址请在 CNC 侧的网络设定画面中修改(参数号与写入方式以机型《连接说明书》为准)。系统参数不能用宏程序或发那科式的位串写法直接赋值。

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 文件至 DHCUS.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 Pp跳跃信号指令(多段跳跃功能 2)—✅ p=1~255语义不同:三菱的 P 是跳跃信号 1~8 的逻辑和
G31 R0/R1加减速指令—✅ 官方要求给出R 不是速度参数;触发后变速用 F1=~Fn=
G37自动刀长测定✅✅功能兼容,参数映射不同
G65/G66宏调用✅✅完全兼容
G43刀长补偿✅✅语法一致
G10 L70(写参数)写系统参数发那科为 G10 L50✅ M800/M80 为 G10 L70写法不同;G10 L50 在三菱为特定机种专用
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 L50(N__ R________)G10 L70(P__ S__ A__ H□__,S=系统编号)写法不同;G10 L50 为特定机种专用

八、常见问题与排查

8.1 G31 不触发

现象可能原因解决方案
G31 走过指定距离不停该机型规格不含跳跃功能(选件未开通),或 SKIP 信号未映射到系统先确认规格(未选购时执行 G31 报 P601 NO SKIP SPEC);再按梯形图确认 SKIP 输入映射
G31 不响应测头触发SKIP 信号链路(测头→接收器→PMC 输入→系统)中段不通逐段测量:接收器输出是否翻转、PMC 输入点是否变化;映射与极性在梯形图中处理
G31 偶尔触发正常测头电池电量低更换电池
G31 触发但误差大预行程未统一标定与测量用相同 F 值;确认 R0/R1 加减速设定一致
G31 触发慢 / 延迟大PMC 扫描周期 / 信号滤波检查 PMC 扫描时间;核对 #2102 / #2103 跳跃时间常数设定

8.2 G37 不工作

现象可能原因解决方案
G37 无反应跳跃规格未开通,或 α / R / D / F 与 #8004~#8006 设定不当先确认规格(P601);再按 G37 α__ R__ D__ F__; 检查测量位置与减速区域
G37 超程报警(P607)超出测量允许范围检查测量位置、R(减速起点距离)、D(停止范围)与 #8005 / #8006
G37 触发但刀长写入错误补偿方向 / 基准不对确认 G43 方向;补偿量生效时点:L系为下一条 T 指令、M系为下一条 Z 轴(测量轴)指令

8.3 MIDA 宏程序问题

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

8.4 移植后常见问题

问题原因解决
宏程序内用 #参数号 = 值 写系统参数系统参数不是宏变量,无法这样赋值在参数页面设定,或按机型手册确认可编程参数输入(M800/M80 为 G10 L70)的格式
变量 #500~#599 值异常三菱部分变量被系统占用改用 #800~#899 区域
程序号 O9xxx 不能保存宏保护区未设置在系统参数页面设置保护范围
VTS Bridge 通信失败config.txt 中 IP/变量号不匹配确认 CNC IP、config.txt、宏中变量号一致
对刀仪 M 代码无效PMC 中 M 代码映射不同查阅 PMC 梯形图确认

8.5 排查流程图

                          G31/测头不触发
                              ↓
              ┌─── ┌──────────────────────────────┐
              │ ①  │ 该机型已选购跳跃规格?         │
              │    ├─ 否 → 未选购时 G31 报 P601 │
              │    │      → 查规格/加装选件      │
              │    └─ 是 → 继续                  │
              │                 ↓
              │    ┌──────────────────────────────┐
              │ ②  │ SKIP 信号已到达系统(PMC 输入)?│
              │    ├─ 否 → 检查接收器输出/接线    │
              │    │ 是 → 继续                      │
              │    └──────────────────────────────┘
              │                 ↓
              │    ┌──────────────────────────────┐
              │ ③  │ 测头电池/接收器状态正常?      │
              │    ├─ 否 → 更换电池/检查接收器      │
              │    │ 是 → 继续                      │
              │    └──────────────────────────────┘
检查方向       │                 ↓
自顶向下       │    ┌──────────────────────────────┐
              │ ④  │ PMC 梯形图 SKIP 信号映射正确? │
              │    ├─ 否 → 修正 PMC 梯形图          │
              │    │ 是 → 检查硬件链路:              │
              │    │     测头→发射器→接收器→PMC→系统│
              │    └──────────────────────────────┘
              │                 ↓
              │           问题已解决?
              │            ├─ 是 → 结束
              │            └─ 否 → 联系马波斯技术支持
              └───

                          G37/对刀仪不工作
                              ↓
              ┌─── ┌──────────────────────────────┐
              │ ①  │ G37 的测量位置(R/D/F)合理?    │
              │    ├─ 否 → 按 G37 α R D F 重设 │
              │    │      或改 #8004~#8006        │
              │    └─ 是 → 继续                  │
              │                 ↓
              │    ┌──────────────────────────────┐
              │ ②  │ 未超出测量允许范围(P607)?     │
              │    ├─ 否 → 增大 R/D 或行程余量    │
              │    │ 是 → 继续                      │
              │    └──────────────────────────────┘
              │                 ↓
              │    ┌──────────────────────────────┐
              │ ③  │ 对刀仪硬件连接正常?            │
              │    ├─ 否 → 检查接线/电源             │
              │    │ 是 → 继续                      │
              │    └──────────────────────────────┘
              │                 ↓
              │    ┌──────────────────────────────┐
              │ ④  │ 手动测试: 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 宏程序源(通用)
IB-1501277 / IB-1501290 等三菱 M800/M80/E80/C80 系列 编程说明书(L系 / M系)跳跃(G31 / G160)、22.1 自动刀具长度测定(G37)、15.7 可编程参数输入的官方来源
IB-1501279 等三菱 M800/M80/E80 系列 报警 / 参数说明书P601 / P603 / P607 等程序错误与参数号的官方来源

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


FAQ精选问答

问:马波斯VTS影像对刀仪在三菱系统上怎么和CNC通信?
答:通过VTS Bridge软件+以太网通信。VTS影像系统将测量结果写入#149变量(默认),CNC侧的宏程序(O9700~O9769系列)读取该变量获取测量值。通信配置在config.txt文件中设定,包括CNC类型、IP地址、端口号22375和通信变量号。

问:三菱系统上VTS Bridge通信不通怎么办?
答:按顺序四步排查:①确认VTS Bridge软件正在运行(Windows任务栏);②检查config.txt配置(CNC类型、IP地址、端口号22375、变量号149);③在CNC侧手动读#149变量确认可读写;④ping CNC IP确认网络连通。网络通但Bridge不读数时,查Windows防火墙是否放行了端口22375。

问:马波斯VTS在三菱上用的宏程序号和发那科上一样吗?
答:马波斯VTS影像对刀仪的宏程序在三菱和发那科上是同一套O9700~O9769系列(共23个程序),调用格式和参数接口完全一致。两者的区别仅在于通信方式:三菱通过VTS Bridge软件走以太网桥接(config.txt配置),发那科通过Focas2通信库。如果你问的是接触式对刀仪(P9376/P9388)或工件测量宏程序(O9301~O9392),三菱没有官方发布包,需将发那科版移植使用。

相关阅读


官方预约:jcetech.cn/contact
咨询热线:157-5780-7400 / 132-2194-1413
寄修地址:宁波鄞州研发园 A2-12B17

更正说明

本文早期版本引用过一组”三菱 SKIP / G37 系统参数”(#60001 位 6/位 7、#60002 位 7、#60010、#60011;#60025~#60026)以及”G10 L50 + N____ R________“的写法。经与三菱官方说明书逐条核对:#60001~#64700 是刀具寿命管理的系统变量(L系手册印为 #60001~#63016)(#60001=登录刀具个数、#60002=寿命当前值),与跳跃(skip)、G31、G37 无关;三菱官方的跳跃相关参数为 #1174 / #12022 / #2102 / #2103,G37 的测量条件由程序 R / D / F 或 #8005 / #8006 / #8004 给定;「可编程参数输入」在 M800/M80 上为 G10 L70,附录 3 的 G10 L50 注明为特定机种专用(M700V/M70V 系列无此规格),均不是发那科的 N____ R________ 位串写法。上述错误内容已全部删除并按官方手册更正。