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 轴机械坐标 | ✅ 完全相同 | 同上 |
⚠️ 读取规则:跳跃坐标是触发瞬间的锁定值——官方说明「#5061~#5060+n 的坐标值记忆了机械移动中跳跃输入信号接通的瞬间,因此之后随时可读取」(编程说明书 22.2)。所以不是”下一程序段必须立即读取”;但再次触发会更新同一组变量,多段测量时应在下一次触发之前读取上一点的坐标。
标准读取模式:
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 指令中给出加减速指令 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 继续
官方定义:用跳跃信号指令 p 指定跳跃信号,p 在 1~255 的范围内指定(超出指令范围发生程序错误 P35)。p 表示跳跃信号 1~8 的逻辑和组合——例如 P5 表示在输入跳跃信号 1 或 3 时执行跳跃。该指令同时用于多系统同时跳跃。它不是”P1~P4 选择 SKIP1~SKIP4 通道”,也不限于 4 个取值。
G31 X100. P5 F100 ; 输入跳跃信号 1 或 3 时执行跳跃
理解整个 SKIP 信号链有助于排查故障:
测头触发
↓
无线/红外发射 ← 测头内置发射器(如马波斯 VOS/WRS)
↓
接收器收到信号
↓
PMC 输入信号(DI 点) ← 由电气接线 / 梯形图决定(SKIP 信号的映射与极性在此处理)
↓
系统内部 SKIP 信号(跳跃信号)
↓
G31/G37 指令响应 ← 由跳跃规格(选件)+ 参数 #1174 / #12022 决定
关键点:
G37 是三菱加工中心 M 系的自动刀具长度测定专用指令,属于 G31 功能的上层应用:
基本用法:
T01 M06 ; 换刀
G90 G00 G54 X0 Y0 ; 定位到对刀仪上方
G43 Z100. H01 ; 建立刀长补偿
G00 Z-50. ; 快速移动到对刀仪上方安全距离
G37 Z-70. F300 ; Z 轴慢速下移,接触对刀仪后自动写入刀长
G00 Z100. ; 退刀
M01
执行流程:
前置条件:
| 条件 | 说明 | 必须 |
|---|---|---|
| 跳跃规格已开通 | 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 轴(轴向)。
三菱系统中与 G31/G37 相关的官方参数如下(依据三菱 M800/M80/E80/C80 系列编程说明书「跳跃」「自动刀具长度测定」章节):
| 参数号(位) | 含义 | 设定值 | 说明 |
|---|---|---|---|
| #1174 | skip_F — G31 跳跃速度 | 按机床规格 | G31 程序段省略 F 指令时按此速度;该值为 0 且无 F 指令 → 程序错误 P603 |
| #12022 bit0 | skipF_spec/bit0 — 切削进给倍率 | 按机床制造商规格 | G31 中切削进给倍率有效 / 无效 |
| #12022 bit1 | skipF_spec/bit1 — 空运行 | 按机床制造商规格 | G31 中空运行有效 / 无效 |
| #12022 bit2 | skipF_spec/bit2 — 无 F 指令时的速度来源 | 0 或 1 | 0:按 #1174 的跳跃速度;1:按执行 G31 时的 F 模态 |
| #2102 | skip_tL — 跳跃时间常数 | 按机床制造商规格 | 设定不正确 → 发生 MCP 报警(Y51 15) |
| #2103 | skip_t1 — 跳跃时间常数 | 按机床制造商规格 | 设定不正确 → 发生 MCP 报警(Y51 16) |
| #8004 | 自动刀具长度测定 — 测量速度 | L系 0~60000 mm/min/M系 0~1000000 mm/min | 加工参数画面「自动刀具长度测定」;G37 省略 F 指令时使用 |
| #8005 | 自动刀具长度测定 — 减速区域 r | 0~99999.999 mm | 对应 G37 的 R 指令 |
| #8006 | 自动刀具长度测定 — 减速区域 d | 0~99999.999 mm | 对应 G37 的 D 指令 |
| #1926(待核实) | 网络 / IP 相关设定 | 按现场网络 | 用于 VTS Bridge 以太网通信;参数号与设定方式请以机型《连接说明书》为准 |
官方定义:G31 程序段没有 F 指令时,按参数 #1174(G31 跳跃速度) 的设定值作为跳跃速度;若该参数值为 0 且程序段中又没有 F 指令,则发生程序错误 P603。程序段中写 F 指令时,指令速度即为跳跃速度(F1 位进给在此无效)。
现场含义:G31 走完全程不停、或速度明显异常时,先看程序段里有没有 F——没有 F 就全靠 #1174;#1174 与现场工艺不匹配会表现为”速度不对、惯性移动量大”(惯性移动量同时受 #1174 与 F 指令影响)。
| 位 | 作用 | 官方说明 |
|---|---|---|
| bit0 | 切削进给倍率 | G31 中切削进给倍率有效 / 无效,按机床制造商的规格确认 |
| bit1 | 空运行 | G31 中空运行有效 / 无效,按机床制造商的规格确认 |
| bit2 | 无 F 指令时的速度来源 | =0:按参数 #1174 的跳跃速度;=1:按执行 G31 时的 F 模态 |
现场含义:调试时打表 / 倍率对 G31 有没有影响、试跑会不会改变触测速度,都由这两位的设定决定——同一段程序在两台机床上表现不同,先查 #12022。
官方要求:在每条 G31 指令中给出加减速指令 R0/R1;省略时按 R0(加减速时间常数=0)动作,不执行插补后自动加减速。指定 R1 时,即使输入跳跃信号也执行插补后自动加减速。相关时间常数由 #2102 skip_tL / #2103 skip_t1 设定,设定不正确会发生 MCP 报警(#2102 → Y51 15、#2103 → Y51 16)。
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。
方法一:在参数页面手动设定(推荐)
方法二:可编程参数输入(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________ 位串写法,请以随机型手册的参数编号 / 数据编号定义为准。
方法三:宏程序不能直接给系统参数赋值
系统参数不是用户宏变量,宏程序内不能用 #参数号 = 值 的方式改写参数;参数修改须走参数页面,或按机型手册确认的可编程参数输入指令。跳跃功能是否可用属规格(选件)问题,参数页面里”改一个位就开通”的写法不成立。
高级排查时需了解 PMC 中各 SKIP 信号的地址(不同机型可能不同):
| 信号名 | 典型 PMC 地址 | 说明 |
|---|---|---|
| SKIP | X 地址(由参数决定) | 基本 SKIP 输入 |
| 跳跃信号 1~8 | X 地址(按梯形图) | G31 用 Pp 指定其逻辑和,p=1~255 |
实际地址分配需查阅机床电气图纸和 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 后,宏程序内部会自动选择三菱对应的刀具补偿表指针和参数映射。
三菱 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 | 可编程素材形状输入 |
根据 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步: 设定三菱系统参数
├─ 确认该机型已选购跳跃规格(未选购时执行 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. (测量刀具并写入刀补)
说明:以上参数在系统参数页面(或”加工参数”画面的”自动刀具长度测定”)中设定;跳跃功能是否可用属机床规格(选件)问题,先确认规格,再排查测头与接线。
工件测量宏(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 地址:
IP 地址请在 CNC 侧的网络设定画面中修改(参数号与写入方式以机型《连接说明书》为准)。系统参数不能用宏程序或发那科式的位串写法直接赋值。
在 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 文件至 DHCUS.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 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 | 写刀补 | ✅ | ✅ | 兼容 |
| 功能 | 发那科典型值 | 三菱典型值 | 说明 |
|---|---|---|---|
| 测头开启 | 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(N__ R________) | G10 L70(P__ S__ A__ H□__,S=系统编号) | 写法不同;G10 L50 为特定机种专用 |
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| G31 走过指定距离不停 | 该机型规格不含跳跃功能(选件未开通),或 SKIP 信号未映射到系统 | 先确认规格(未选购时执行 G31 报 P601 NO SKIP SPEC);再按梯形图确认 SKIP 输入映射 |
| G31 不响应测头触发 | SKIP 信号链路(测头→接收器→PMC 输入→系统)中段不通 | 逐段测量:接收器输出是否翻转、PMC 输入点是否变化;映射与极性在梯形图中处理 |
| G31 偶尔触发正常 | 测头电池电量低 | 更换电池 |
| G31 触发但误差大 | 预行程未统一 | 标定与测量用相同 F 值;确认 R0/R1 加减速设定一致 |
| G31 触发慢 / 延迟大 | PMC 扫描周期 / 信号滤波 | 检查 PMC 扫描时间;核对 #2102 / #2103 跳跃时间常数设定 |
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| G37 无反应 | 跳跃规格未开通,或 α / R / D / F 与 #8004~#8006 设定不当 | 先确认规格(P601);再按 G37 α__ R__ D__ F__; 检查测量位置与减速区域 |
| G37 超程报警(P607) | 超出测量允许范围 | 检查测量位置、R(减速起点距离)、D(停止范围)与 #8005 / #8006 |
| G37 触发但刀长写入错误 | 补偿方向 / 基准不对 | 确认 G43 方向;补偿量生效时点:L系为下一条 T 指令、M系为下一条 Z 轴(测量轴)指令 |
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 标定数据异常 | #115 指向的变量被系统占用 | 更换 #115 指针到空闲区域 |
| 刀具补偿值写入错误 | #145/#146 指针值不对应三菱格式 | 根据系统类型设置正确指针 |
| 宏程序不能编辑 | 宏区被保护但未正确设置 | 在系统参数页面检查保护范围设置 |
| 变量值在执行中被覆盖 | 使用了系统占用的公共变量 | 确认变量空闲范围 |
| 问题 | 原因 | 解决 |
|---|---|---|
宏程序内用 #参数号 = 值 写系统参数 | 系统参数不是宏变量,无法这样赋值 | 在参数页面设定,或按机型手册确认可编程参数输入(M800/M80 为 G10 L70)的格式 |
| 变量 #500~#599 值异常 | 三菱部分变量被系统占用 | 改用 #800~#899 区域 |
| 程序号 O9xxx 不能保存 | 宏保护区未设置 | 在系统参数页面设置保护范围 |
| VTS Bridge 通信失败 | config.txt 中 IP/变量号不匹配 | 确认 CNC IP、config.txt、宏中变量号一致 |
| 对刀仪 M 代码无效 | PMC 中 M 代码映射不同 | 查阅 PMC 梯形图确认 |
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
└───
| 文档编号 | 名称 | 用途 |
|---|---|---|
| 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 宏程序源(通用) |
| 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 宏程序前,建议逐段测试并确认所有参数映射正确。
问:马波斯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________ 位串写法。上述错误内容已全部删除并按官方手册更正。
打开微信扫一扫,关注「宁波匠测」
获取维修进度查询与技术支持
打开企业微信或微信扫一扫
添加专属顾问,随时沟通