马波斯 MIDA 宏程序编程 — 发那科系统篇
来源: D310A1AG07 (对刀仪)、D310A2AG16 (工件测量)、D310A4AG05 (车床对刀)、D310A5AG13 (车床工件测量)、D31038FC00 (E32U接口) 适用: FANUC CNC and FANUC Compatible CNC 马波斯MIDA触发式测头系统应用于CNC加工中心,实现机内测量(In-Machine Measurement)——在加工准备阶段进行工件找正,在工序间/工后进行原位尺寸检测,无需将工件移至三坐标测量机。 本文为纯技术文档,抛弃主观描述,由宁波匠测科技有限公司参考官方手册整理而成,希望能与同行多多交流。
一、调用方式
宏程序通过 G65 调用,格式:G65 P9xxx [参数]
例:标定循环 G65 P9301 A1. I20 J0 D25.4 E6.
二、对刀仪(Tool Check)— 36xx/37xx 系列
标定循环
| 宏号 | 功能 | 说明 |
|---|
| P9376 | 标定循环(自动) | 对刀仪位置标定 |
| P9386 | 手动标定循环 | 操作员手动标定 |
P9376 标定循环参数表
调用格式:G65 P9376 Hh [Ff] [Kk] [Mm] [Cc] [Vv]
| 参数 | 变量 | 含义 | 单位 | 必填 | 默认值 |
|---|
| H | #11 | 写入刀补号的序号(必填) — 标定数据写入该长度刀补号 | — | 必填 | 无 |
| F | #9 | 半径刀补号(可选,默认=H) — 当半径刀补号与H不同时指定 | — | 选填 | 等于 H |
| K | #6 | 接触深度 — Z 轴接触探测深度 | mm | 选填 | 6.0 |
| M | #13 | 起始区域 — 快速接近的起始安全距离 | mm | 选填 | 5.0 |
| C | #3 | 探头编号 — 多探头系统时选择探头 | — | 选填 | 1 |
| V | #22 | 标定模式:1=全部标定(长度+半径),2=仅标定 Z 轴(长度) | — | 选填 | 1 |
说明:
- H(必填):指定标定数据写入的刀具长度补偿号(#2001+#11 系列),即写入刀补号的序号。
- F(可选,默认=H):指定半径刀补号。若 F 未指定,半径刀补默认与 H 相同(即长度与半径写入同一刀补组);当需要长度与半径写入不同刀补号时,通过 F 单独指定。
- K 值控制 Z 轴探测深度,过大会导致碰撞风险,建议根据实际对刀仪行程设定。
- M 值设置快速移动的起始安全区,探头在 M 距离外以快进速度移动,进入 M 范围后切换为触测进给。
- C 用于多探头配置(如 MIDA T40 + T45 同时安装),单探头时保持默认 1。
- V=1 执行完整标定(X/Y/Z 三轴);V=2 仅标定 Z 轴长度,适用于仅需更换长度数据的场景。
测量循环
| 宏号 | 功能 | 说明 |
|---|
| P9377 | 同心刀具长度/半径测量 | 标准铣刀、钻头等对称刀具 |
| P9378 | 非同心刀具长度/半径测量 | 非对称刀具 |
| P9388 | 单个刀刃长度/半径测量 | 单刀粒刀具 |
| P9387 | 手动长度测量 | 手动操作模式 |
P9377 同心刀具长度/半径测量 — 参数表
调用格式:G65 P9377 Hh [Ff] [Kk] [Mm] [Cc] [Dd] [Ee]
| 参数 | 变量 | 含义 | 单位 | 默认值 |
|---|
| H | #11 | 长度刀补号(结果写入) | — | 必填 |
| F | #9 | 半径刀补号(结果写入) | — | 等于 H |
| K | #6 | 接触深度 | mm | 6.0 |
| M | #13 | 起始区域 | mm | 5.0 |
| C | #3 | 探头编号 | — | 1 |
| D | #7 | 刀具期望直径(用于破损检测) | mm | 0(不检测) |
| E | #8 | 磨损/破损公差带 | mm | 0(不检测) |
P9378 非同心刀具长度/半径测量 — 参数表
调用格式:G65 P9378 Hh [Ff] [Kk] [Mm] [Cc] [Aa]
| 参数 | 变量 | 含义 | 单位 | 默认值 |
|---|
| H | #11 | 长度刀补号 | — | 必填 |
| F | #9 | 半径刀补号 | — | 等于 H |
| K | #6 | 接触深度 | mm | 6.0 |
| M | #13 | 起始区域 | mm | 5.0 |
| C | #3 | 探头编号 | — | 1 |
| A | #1 | 角度位置(非同心刀具的刀刃角) | ° | 0 |
P9388 单刀刃长度/半径测量 — 参数表
调用格式:G65 P9388 Hh [Ff] [Kk] [Mm] [Cc]
| 参数 | 变量 | 含义 | 单位 | 默认值 |
|---|
| H | #11 | 长度刀补号 | — | 必填 |
| F | #9 | 半径刀补号 | — | 等于 H |
| K | #6 | 接触深度 | mm | 6.0 |
| M | #13 | 起始区域 | mm | 5.0 |
| C | #3 | 探头编号 | — | 1 |
P9387 手动长度测量 — 参数表
调用格式:G65 P9387 Hh [Ff] [Cc]
| 参数 | 变量 | 含义 | 单位 | 默认值 |
|---|
| H | #11 | 长度刀补号 | — | 必填 |
| F | #9 | 半径刀补号 | — | 等于 H |
| C | #3 | 探头编号 | — | 1 |
完整性检查
| 宏号 | 功能 |
|---|
| P9379 | 同心刀具轴向完整性检查 |
| P9380 | 非同心刀具轴向完整性检查 |
P9379 同心刀具完整性检查 — 参数表
调用格式:G65 P9379 Hh [Kk] [Mm] [Cc] [Dd] [Ee]
| 参数 | 变量 | 含义 | 单位 | 默认值 |
|---|
| H | #11 | 待检查的刀补号 | — | 必填 |
| K | #6 | 接触深度 | mm | 6.0 |
| M | #13 | 起始区域 | mm | 5.0 |
| C | #3 | 探头编号 | — | 1 |
| D | #7 | 期望全长尺寸 | mm | 0 |
| E | #8 | 破损/磨损公差 | mm | 0 |
P9380 非同心刀具完整性检查 — 参数表
调用格式:G65 P9380 Hh [Kk] [Mm] [Cc] [Aa] [Dd] [Ee]
| 参数 | 变量 | 含义 | 单位 | 默认值 |
|---|
| H | #11 | 待检查的刀补号 | — | 必填 |
| K | #6 | 接触深度 | mm | 6.0 |
| M | #13 | 起始区域 | mm | 5.0 |
| C | #3 | 探头编号 | — | 1 |
| A | #1 | 非同心刀具的刀刃角度 | ° | 0 |
| D | #7 | 期望全长尺寸 | mm | 0 |
| E | #8 | 破损/磨损公差 | mm | 0 |
辅助循环
| 宏号 | 功能 |
|---|
| O9371 | 基本/触碰移动循环(Basic/Touch Movement) |
三、工件测量(Part Inspection)— 9301/935x/931x 系列
标定循环
| 宏号 | 功能 | 软件版本 |
|---|
| O9301 | 标准标定循环(X+/X-/Y+/Y-/Z+/Z-六面标定) | 基础版+ |
| O9302 | 斜角标定循环 | Premium/Ultimate |
| O9303 | 三点直径标定循环 | Premium/Ultimate |
| O9372 | 多点直径标定循环 | Premium/Ultimate |
| O9324 | 多工件面标定循环 | 多工件面版 |
O9301 标准标定循环 — 参数详表
调用格式:G65 P9301 Aa Ii Jj Dd Ee [Cc] [Kk] [Ss]
| 参数 | 变量 | 含义 | 单位 | 必填 | 说明 |
|---|
| A | #1 | 标定模式:1=标准标定(六面标定) | — | 必填 | 其他值保留 |
| I | #4 | 孔径/外圆直径 — 标定环规/塞规的名义直径 | mm | 必填 | 影响标定点分布 |
| J | #5 | 预留参数 | — | 必填 | 通常设为 0 |
| D | #7 | 标定基准尺寸 — 已知的标准件实际尺寸 | mm | 必填 | 标定结果以此为准校准 |
| E | #8 | 接近距离 — 探测前的安全距离 | mm | 必填 | 通常 3~10 mm |
| C | #3 | 探头编号 | — | 选填 | 默认 1 |
| K | #6 | 超差公差 — 标定结果超差提示 | mm | 选填 | 默认 0(不检查) |
| S | #19 | 主轴转速 — 标定时的主轴转速 | rpm | 选填 | 默认 0(不旋转) |
O9302 斜角标定循环 — 参数详表
调用格式:G65 P9302 Aa Bb Ii Jj Dd Ee [Cc] [Kk]
| 参数 | 变量 | 含义 | 单位 | 必填 | 默认值 |
|---|
| A | #1 | 标定模式 | — | 必填 | — |
| B | #2 | 斜角角度 | ° | 必填 | — |
| I | #4 | 孔径/外圆直径 | mm | 必填 | — |
| J | #5 | 预留参数 | — | 必填 | 0 |
| D | #7 | 标定基准尺寸 | mm | 必填 | — |
| E | #8 | 接近距离 | mm | 必填 | — |
| C | #3 | 探头编号 | — | 选填 | 1 |
| K | #6 | 超差公差 | mm | 选填 | 0 |
O9303 三点直径标定循环 — 参数详表
调用格式:G65 P9303 Aa Ii Jj Dd Ee [Cc]
| 参数 | 变量 | 含义 | 单位 | 必填 | 默认值 |
|---|
| A | #1 | 标定模式 | — | 必填 | — |
| I | #4 | 孔径/外圆直径 | mm | 必填 | — |
| J | #5 | 预留参数 | — | 必填 | 0 |
| D | #7 | 标定基准尺寸 | mm | 必填 | — |
| E | #8 | 接近距离 | mm | 必填 | — |
| C | #3 | 探头编号 | — | 选填 | 1 |
O9372 多点直径标定循环 — 参数详表
调用格式:G65 P9372 Aa Ii Jj Dd Ee [Cc] [Kk]
| 参数 | 变量 | 含义 | 单位 | 必填 | 默认值 |
|---|
| A | #1 | 标定模式 | — | 必填 | — |
| I | #4 | 孔径/外圆直径 | mm | 必填 | — |
| J | #5 | 预留参数 | — | 必填 | 0 |
| D | #7 | 标定基准尺寸 | mm | 必填 | — |
| E | #8 | 接近距离 | mm | 必填 | — |
| C | #3 | 探头编号 | — | 选填 | 1 |
| K | #6 | 测量点数 | — | 选填 | 4 |
测量循环 — 基础触测版(O931x 系列)
| 宏号 | 功能 |
|---|
| O9311 | 安全定位(Safe Positioning) |
| O9312 | 内孔/外圆测量(Bore/Boss) |
| O9313 | 腹板/型腔测量(Web/Pocket) |
| O9314 | 单面检测(X/Y/Z轴) |
| O9315 | 内/外角点检测 |
| O9332 | 斜孔/外圆检测 |
| O9333 | 斜腹板/型腔检测(Premium/Ultimate) |
| O9334 | 斜面检测(Premium/Ultimate) |
| O9335 | 三点直径测量(Premium/Ultimate) |
| O9392 | 多点直径测量(Premium/Ultimate) |
| O9336 | 2孔/外圆工件测量(Ultimate) |
| O9337 | 3/4孔/外圆工件测量(Ultimate) |
| O9338 | 余量测量(Stock Allowance,Ultimate) |
O9311 安全定位循环 — 参数详表
调用格式:G65 P9311 Xx Yy Zz [Ff] [Rr]
| 参数 | 变量 | 含义 | 单位 | 默认值 |
|---|
| X | #24 | 目标 X 坐标 | mm | 当前位置 |
| Y | #25 | 目标 Y 坐标 | mm | 当前位置 |
| Z | #26 | 目标 Z 坐标 | mm | 当前位置 |
| F | #9 | 移动进给速度 | mm/min | 系统当前 |
| R | #18 | 退刀/安全平面 | mm | 0 |
O9312 内孔/外圆测量循环 — 参数详表
调用格式:G65 P9312 Aa Dd Ee [Ii] [Jj] [Ff] [Rr] [Cc]
| 参数 | 变量 | 含义 | 单位 | 必填 | 默认值 |
|---|
| A | #1 | 测量类型:1=内孔(Bore),2=外圆(Boss) | — | 必填 | — |
| D | #7 | 名义直径 | mm | 必填 | — |
| E | #8 | 接近距离 | mm | 必填 | — |
| I | #4 | X 轴偏移量 | mm | 选填 | 0 |
| J | #5 | Y 轴偏移量 | mm | 选填 | 0 |
| F | #9 | 触测进给速度 | mm/min | 选填 | 系统默认 |
| R | #18 | 安全平面绝对坐标 | mm | 选填 | 当前 Z |
| C | #3 | 探头编号 | — | 选填 | 1 |
O9313 腹板/型腔测量循环 — 参数详表
调用格式:G65 P9313 Aa Dd Ee [Ii] [Jj] [Ff] [Rr] [Cc]
| 参数 | 变量 | 含义 | 单位 | 必填 | 默认值 |
|---|
| A | #1 | 测量类型:1=腹板(Web),2=型腔(Pocket) | — | 必填 | — |
| D | #7 | 名义宽度 | mm | 必填 | — |
| E | #8 | 接近距离 | mm | 必填 | — |
| I | #4 | X 轴偏移量 | mm | 选填 | 0 |
| J | #5 | Y 轴偏移量 | mm | 选填 | 0 |
| F | #9 | 触测进给速度 | mm/min | 选填 | 系统默认 |
| R | #18 | 安全平面绝对坐标 | mm | 选填 | 当前 Z |
| C | #3 | 探头编号 | — | 选填 | 1 |
O9314 单面检测循环 — 参数详表
调用格式:G65 P9314 Aa Dd Ee [Ff] [Rr] [Cc]
| 参数 | 变量 | 含义 | 单位 | 必填 | 默认值 |
|---|
| A | #1 | 检测轴:1=X+, 2=X-, 3=Y+, 4=Y-, 5=Z+, 6=Z- | — | 必填 | — |
| D | #7 | 名义位置(理论坐标值) | mm | 必填 | — |
| E | #8 | 接近距离 | mm | 必填 | — |
| F | #9 | 触测进给速度 | mm/min | 选填 | 系统默认 |
| R | #18 | 安全平面绝对坐标 | mm | 选填 | 当前 Z |
| C | #3 | 探头编号 | — | 选填 | 1 |
O9315 内/外角点检测循环 — 参数详表
调用格式:G65 P9315 Aa Bb Dd Ee [Ii] [Jj] [Ff] [Rr] [Cc]
| 参数 | 变量 | 含义 | 单位 | 必填 | 默认值 |
|---|
| A | #1 | 角点类型:1=外角(External),2=内角(Internal) | — | 必填 | — |
| B | #2 | 角点角度(90°为标准直角) | ° | 必填 | 90 |
| D | #7 | 名义边长/深度 | mm | 必填 | — |
| E | #8 | 接近距离 | mm | 必填 | — |
| I | #4 | X 轴偏移量 | mm | 选填 | 0 |
| J | #5 | Y 轴偏移量 | mm | 选填 | 0 |
| F | #9 | 触测进给速度 | mm/min | 选填 | 系统默认 |
| R | #18 | 安全平面绝对坐标 | mm | 选填 | 当前 Z |
| C | #3 | 探头编号 | — | 选填 | 1 |
O9332 斜孔/外圆检测循环 — 参数详表
调用格式:G65 P9332 Aa Dd Ee Bb [Ii] [Jj] [Ff] [Rr] [Cc]
| 参数 | 变量 | 含义 | 单位 | 必填 | 默认值 |
|---|
| A | #1 | 测量类型:1=斜孔,2=斜外圆 | — | 必填 | — |
| D | #7 | 名义直径 | mm | 必填 | — |
| E | #8 | 接近距离 | mm | 必填 | — |
| B | #2 | 斜面角度 | ° | 必填 | 0 |
| I | #4 | X 轴偏移量 | mm | 选填 | 0 |
| J | #5 | Y 轴偏移量 | mm | 选填 | 0 |
| F | #9 | 触测进给速度 | mm/min | 选填 | 系统默认 |
| R | #18 | 安全平面绝对坐标 | mm | 选填 | 当前 Z |
| C | #3 | 探头编号 | — | 选填 | 1 |
O9335 三点直径测量循环 — 参数详表
调用格式:G65 P9335 Aa Dd Ee [Ff] [Rr] [Cc]
| 参数 | 变量 | 含义 | 单位 | 必填 | 默认值 |
|---|
| A | #1 | 测量类型:1=内孔,2=外圆 | — | 必填 | — |
| D | #7 | 名义直径 | mm | 必填 | — |
| E | #8 | 接近距离 | mm | 必填 | — |
| F | #9 | 触测进给速度 | mm/min | 选填 | 系统默认 |
| R | #18 | 安全平面绝对坐标 | mm | 选填 | 当前 Z |
| C | #3 | 探头编号 | — | 选填 | 1 |
O9338 余量测量循环 — 参数详表
调用格式:G65 P9338 Aa Bb Dd Ee [Ff] [Rr] [Cc]
| 参数 | 变量 | 含义 | 单位 | 必填 | 默认值 |
|---|
| A | #1 | 测量轴:1=X, 2=Y, 3=Z | — | 必填 | — |
| B | #2 | 测量方向:1=正向,2=负向 | — | 必填 | — |
| D | #7 | 名义尺寸(理论余量基准) | mm | 必填 | — |
| E | #8 | 接近距离 | mm | 必填 | — |
| F | #9 | 触测进给速度 | mm/min | 选填 | 系统默认 |
| R | #18 | 安全平面绝对坐标 | mm | 选填 | 当前 Z |
| C | #3 | 探头编号 | — | 选填 | 1 |
测量循环 — 手动循环版(O935x 系列,Manual Cycles)
| 宏号 | 功能 |
|---|
| O9351/O9352 | 内孔/外圆(圆形或方形,手动版) |
| O9353/O9354 | 腹板/型腔(X轴方向,手动版) |
| O9355/O9356 | 腹板/型腔(Y轴方向,手动版) |
| O9357/O9358 | 角点检测(Premium/Ultimate) |
| O9359 | 单面检测(X/Y/Z轴,手动版) |
| O9316 | 双触角点确定 |
| O9317 | Z面角度检测(Premium/Ultimate) |
| O9318 | XY工件倾斜检测 |
O9351/O9352 内孔/外圆手动测量 — 参数详表
调用格式:G65 P9351 Aa Dd Ee [Ii] [Jj] [Ff] [Rr]
| 参数 | 变量 | 含义 | 单位 | 必填 | 默认值 |
|---|
| A | #1 | 测量类型:1=内孔/方孔(P9351),2=外圆/方形(P9352) | — | 必填 | — |
| D | #7 | 名义直径/宽度 | mm | 必填 | — |
| E | #8 | 接近距离 | mm | 必填 | — |
| I | #4 | X 轴偏移量 | mm | 选填 | 0 |
| J | #5 | Y 轴偏移量 | mm | 选填 | 0 |
| F | #9 | 触测进给速度 | mm/min | 选填 | 系统默认 |
| R | #18 | 安全平面绝对坐标 | mm | 选填 | 当前 Z |
O9359 单面手动检测 — 参数详表
调用格式:G65 P9359 Aa Dd Ee [Cc] [Ff]
| 参数 | 变量 | 含义 | 单位 | 必填 | 默认值 |
|---|
| A | #1 | 检测轴方向:1=X+,2=X-,3=Y+,4=Y-,5=Z+,6=Z- | — | 必填 | — |
| D | #7 | 名义坐标值 | mm | 必填 | — |
| E | #8 | 接近距离 | mm | 必填 | — |
| C | #3 | 探头编号 | — | 选填 | 1 |
| F | #9 | 触测进给速度 | mm/min | 选填 | 系统默认 |
O9316 双触角点确定 — 参数详表
调用格式:G65 P9316 Aa Bb Dd Ee [Ff] [Rr]
| 参数 | 变量 | 含义 | 单位 | 必填 | 默认值 |
|---|
| A | #1 | 第一角方向(1=外角,2=内角) | — | 必填 | — |
| B | #2 | 第二角方向(1=外角,2=内角) | — | 必填 | — |
| D | #7 | 名义角点位置 | mm | 必填 | — |
| E | #8 | 接近距离 | mm | 必填 | — |
| F | #9 | 触测进给速度 | mm/min | 选填 | 系统默认 |
| R | #18 | 安全平面绝对坐标 | mm | 选填 | 当前 Z |
O9318 XY 工件倾斜检测 — 参数详表
调用格式:G65 P9318 Ii Jj Dd Ee [Ff] [Rr]
| 参数 | 变量 | 含义 | 单位 | 必填 | 默认值 |
|---|
| I | #4 | 第一测量点的 X 坐标 | mm | 必填 | — |
| J | #5 | 第一测量点的 Y 坐标 | mm | 必填 | — |
| D | #7 | 第二测量点与第一点的距离 | mm | 必填 | — |
| E | #8 | 接近距离 | mm | 必填 | — |
| F | #9 | 触测进给速度 | mm/min | 选填 | 系统默认 |
| R | #18 | 安全平面绝对坐标 | mm | 选填 | 当前 Z |
多工件面版(O932x 系列,Ultimate 版)
| 宏号 | 功能 |
|---|
| O9325 | 多工件面孔/外圆测量 |
| O9326 | 多工件面腹板/型腔 |
| O9327 | 多工件面确定 |
O9325 多工件面孔/外圆测量 — 参数详表
调用格式:G65 P9325 Aa Bb Dd Ee [Cc] [Ff] [Rr]
| 参数 | 变量 | 含义 | 单位 | 必填 | 默认值 |
|---|
| A | #1 | 测量类型:1=内孔,2=外圆 | — | 必填 | — |
| B | #2 | 工件面编号(1~N) | — | 必填 | — |
| D | #7 | 名义直径 | mm | 必填 | — |
| E | #8 | 接近距离 | mm | 必填 | — |
| C | #3 | 探头编号 | — | 选填 | 1 |
| F | #9 | 触测进给速度 | mm/min | 选填 | 系统默认 |
| R | #18 | 安全平面绝对坐标 | mm | 选填 | 当前 Z |
系统辅助
| 宏号 | 功能 |
|---|
| O9361/62/63 | X/Y/Z轴触测移动 |
| O9360 | 系统配置 |
| O9364 | 串行输出 |
O9366 系统配置变量完整清单
O9366 为系统配置宏,通过 #100~#150 系列公共变量配置系统行为。以下为完整变量映射表:
| 变量 | 功能 | 默认值 | 范围/说明 |
|---|
| #100 | 触发后移动距离 — 探针触发后的回退量 | 2.0 mm | 0.1~50.0 |
| #101 | 触测进给速度 — 接近表面的测量速度 | 500 mm/min | 10~5000 |
| #102 | 快进速度 — 快速定位速度 | 3000 mm/min | 100~15000 |
| #103 | 最大移动范围 — 单次快进行程上限 | 100.0 mm | 1.0~500.0 |
| #104 | 安全间隙 — 工件表面与探头的安全间距 | 3.0 mm | 0.1~50.0 |
| #105 | 探头过行程极限 — 最大允许过行程距离 | 5.0 mm | 0.5~20.0 |
| #106 | 计数延迟 — 探头稳定时间 | 50 ms | 10~500 |
| #107 | 数据显示模式:0=关闭,1=仅结果,2=详细 | 1 | 0~2 |
| #108 | 自动写入刀补:0=不写入,1=写入刀具补偿 | 0 | 0~1 |
| #109 | 刀具补偿号偏移基数 | 2000 | — |
| #110 | CNC 类型:1=Fanuc,2=Haas,4=Mitsubishi | 1 | 1/2/4 |
| #111 | 探针类型:1=单向触发,2=扫描式 | 1 | 1~2 |
| #112 | 测头柄长度补偿 | 0.0 mm | -100.0~100.0 |
| #113 | 测头球径半径 | 3.0 mm | 0.5~25.0 |
| #114 | 温度补偿系数 — 每摄氏度膨胀/收缩系数 | 0.0 µm/°C | 0~50 |
| #115 | 温度参考值 — 标准温度 | 20.0 °C | 10~40 |
| #116 | 当前温度输入:0=手动输入,1=自动读取 | 0 | 0~1 |
| #117 | 测量数据输出端口:0=不输出,1=RS232,2=以太网 | 0 | 0~2 |
| #118 | 输出格式:0=马波斯格式,1=标准格式 | 0 | 0~1 |
| #119 | 公差检查使能:0=关闭,1=启用超差报警 | 0 | 0~1 |
| #120 | 全局上限公差 | 0.05 mm | 0~10.0 |
| #121 | 全局下限公差 | -0.05 mm | -10.0~0 |
| #122 | 超差时的行为:0=仅提示,1=报警停機,2=M00暂停 | 1 | 0~2 |
| #123 | 自动坐标系更新:0=不更新,1=更新G54~G59 | 0 | 0~1 |
| #124 | 偏置坐标系号 — G54=1, G55=2, G56=3, G57=4, G58=5, G59=6 | 1 | 1~6 |
| #125 | 探头方向角度 — 可旋转探头安装角(用于角度头) | 0.0 ° | 0~360 |
| #126 | Z 轴安全高度 — 绝对坐标 | 50.0 mm | 0~500 |
| #127 | 多探头系统探头数 | 1 | 1~4 |
| #128 | 当前使用探头编号 | 1 | 1~#127 |
| #129 | 信号反转:0=常开(NO),1=常闭(NC) | 0 | 0~1 |
| #130 | 探头触发信号输入地址(宏变量号) | — | 视系统而定 |
| #131 | 机床类型:1=立式,2=卧式,3=龙门 | 1 | 1~3 |
| #132 | 主轴定向使能:0=关闭,1=启用 | 0 | 0~1 |
| #133 | 回退前延迟 — 触发后等待再退刀的延迟 | 100 ms | 0~2000 |
| #134 | 首次触测后额外回退距离 | 0.5 mm | 0~10.0 |
| #135 | 二次触测使能:0=单次触测,1=双次触测取平均 | 0 | 0~1 |
| #136 | 双次触测间偏移量 | 0.1 mm | 0.01~2.0 |
| #137 | 测量结果存储起始 #500 偏移 | 0 | 0~100 |
| #138 | 自动旋转 B/C 轴使能:0=关闭,1=启用 | 0 | 0~1 |
| #139 | 探头更换位置 X 坐标 | 0.0 mm | — |
| #140 | 探头更换位置 Y 坐标 | 0.0 mm | — |
| #141 | 探头更换位置 Z 坐标 | 0.0 mm | — |
| #142 | 刀具补偿表 X 轴指针(右侧刀塔) | 15000 | 车床用 |
| #143 | 刀具补偿表 Z 轴指针(右侧刀塔) | 16000 | 车床用 |
| #144 | 换刀前定位使能:0=关闭,1=定位到换刀位 | 0 | 0~1 |
| #145 | 探测循环间暂停时间 | 0.0 s | 0~10.0 |
| #146 | 测量结果单位:0=mm,1=inch | 0 | 0~1 |
| #147 | X 轴镜像使能:0=关闭,1=镜像测量 | 0 | 0~1 |
| #148 | Y 轴镜像使能:0=关闭,1=镜像测量 | 0 | 0~1 |
| #149 | 预留系统变量 | — | 系统保留 |
| #150 | 预留系统变量 | — | 系统保留 |
说明:
- 以上变量通过 O9360(系统配置宏)或手动设置 #xxx=value 进行配置。
- 默认值因机床配置和软件版本略有差异,建议以具体版本手册为准。
- #110 (CNC类型) 修改后需重启宏程序生效。
- #142/#143 仅用于车床双刀塔配置的车床工件测量(A5AG13)。
四、车床对刀(Lathe Tool Check)— A4AG05
适用于发那科控制的车削中心,以子程序方式调用,参数通过 #100 系列公共变量传递。
系统配置
| 程序 | 功能 |
|---|
| O9010 | 系统配置初始化(设置#100~#143参数) |
标定与测量程序
| 程序 | 功能 | 调用方式 |
|---|
| O9014 / P9014 | 标定循环 | A=1 选标定 |
| O9016 / P9016 | 刀具测量循环 | A 省略或非1 → 刀具测量 |
关键变量
| 变量 | 功能 | 默认值 |
|---|
| #100 | 后刀塔标定数据指针 | 502(占用#502~#505) |
| #101 | 后刀塔测量类型数据指针 | 506(占用#506~#507) |
| #102 | X轴刀具补偿表指针(左侧) | 2007 |
| #103 | Z轴刀具补偿表指针(左侧) | 2008 |
| #110 | CNC类型(1=Fanuc, 2=Haas, 4=Mitsubishi) | 1 |
| #115 | 触测进给速度(mm/min) | 根据实际设定 |
| #116 | 快速移动进给速度(mm/min) | 根据实际设定 |
| #140 | 前刀塔标定数据指针 | 512(占用#512~#515) |
| #142 | X轴刀具补偿表指针(右侧) | 15000 |
| #143 | Z轴刀具补偿表指针(右侧) | 16000 |
- A=1 → 标定;A 省略或非1 → 刀具测量
- 软件需 8KB 宏程序存储空间
五、车床工件测量(Lathe Part Check)— A5AG13
适用于发那科控制的车削中心,软件分为 Basic / Premium / Ultimate 三个软件包级别。所有测量循环以 G65 方式调用。
Basic 包
| 宏号 | 功能 |
|---|
| O9011 | 保护定位循环(Protected Positioning) |
| O9100 | X 轴标定 |
| O9101 | Z 轴标定 |
| O9102 | X 轴单点触测 |
| O9104 | Z 轴单点触测 |
| O9106 | X 轴直径测量 |
| O9108 | Z 轴沟槽/肋测量 |
Premium 包(含 Basic 全部功能)
| 宏号 | 功能 |
|---|
| O9099 | Y 轴标定 |
| O9098 | C 轴标定 |
| O9103 | Y 轴单点触测 |
| O9105 | Y 轴直径测量 |
| O9110 | C 轴中心搜索 |
| O9107 | X 轴直径测量 + C 轴中心搜索 |
| O9109 | Z 轴沟槽测量 + C 轴中心搜索 |
Ultimate 包(含 Premium 全部功能)
| 宏号 | 功能 |
|---|
| O9198 | A 轴标定 |
| O9120 | A 轴中心搜索 |
| O9140 | C 轴倾斜度测量 |
| O9150 | C 轴槽测量 + 触觉搜索 |
| O9161 | C 轴径向跳动 |
| O9162 | A 轴径向跳动 |
| O9163 | C 轴端面跳动 |
| O9164 | A 轴端面跳动 |
| O9165 | C 轴槽搜索 + 原点设定 |
| O9166 | A 轴槽搜索 + 原点设定 |
| O9167 | C 轴端面/HSK锥度检测 |
| O9168 | A 轴端面/HSK锥度检测 |
系统辅助
| 宏号 | 功能 |
|---|
| O9003 | 系统配置宏 |
| O9200 | 测量数据打印 |
| O9315 | (工件测量调用) |
| O9501 | (辅助程序) |
六、E32U 接口 DIP 开关配置
E32U 接口是马波斯 MIDA 探头系统与发那科 CNC 之间的信号接口模块。其 DIP 开关(SW1)共 8 位,用于配置探头信号类型、输出协议和接口模式。参考手册:D31038FC00。
DIP 开关配置表
以下为 SW1 各开关位的 ON/OFF 逻辑含义(出厂默认值以 * 标注):
- SW1-1(探头类型选择):ON = 常开(NO,触发时闭合),OFF = 常闭(NC,触发时断开) — 默认 ON*
- SW1-2(信号输出极性):ON = 正逻辑(高电平=触发信号),OFF = 负逻辑(低电平=触发信号) — 默认 ON*
- SW1-3(输出接口协议):ON = PNP(源型输出),OFF = NPN(漏型输出) — 默认 ON*
- SW1-4(接口模式):ON = 串行模式(RS-232,支持双向数据通信如探头 ID、电池状态),OFF = 并行模式(I/O 点对点,仅传递触发信号) — 默认 OFF*
- SW1-5(探头供电电压):ON = 5V DC,OFF = 12V DC / 24V DC(视探头型号而定) — 默认 OFF*
- SW1-6(过滤时间):ON = 慢速过滤(长线缆 >10 m 或高噪声环境),OFF = 快速过滤(标准环境) — 默认 OFF*
- SW1-7(LED 指示使能):ON = 启用状态 LED 指示,OFF = 禁用 LED 指示 — 默认 ON*
- SW1-8(固件更新模式):ON = 固件更新模式(可通过 USB 升级 E32U 固件),OFF = 正常运行模式 — 默认 OFF*
配置说明:
- SW1-1(探头类型):马波斯 MIDA 触发式探头通常为常开(NO)配置,触发信号闭合。若使用其他品牌常闭探头,需设为 OFF。
- SW1-2(输出极性):应与 CNC 输入信号极性匹配。发那科系统通常使用正逻辑(ON)。
- SW1-3(协议):PNP(ON)适用于大多数发那科 I/O 模块,NPN(OFF)适用于日系特定系统。
- SW1-4(接口模式):串行模式用于双向数据通信(探头 ID、电池状态),并行模式用于简单的触发信号。对于支持 MIDA 智能探头的系统,建议设为 ON(串行)。
- SW1-5(供电电压):务必与探头型号要求的供电电压一致。错误电压可能损坏探头。
- SW1-6(过滤时间):在长电缆(>10m)或电磁干扰较强的环境中设为 ON 以增强抗干扰能力。
- SW1-7(LED):建议启用,便于现场诊断探头触发状态。
- SW1-8(固件更新):仅在更新 E32U 固件时设为 ON,正常工作时必须设为 OFF。
注意事项:
- 所有 DIP 开关配置更改后需断电重启 E32U 模块方可生效。
- 开关编号方向以模块外壳丝印为准,部分批次方向相反。
七、系统要求
- 发那科自定义宏 B(Custom Macro B)
- 用户宏程序区 O9000~O9999 可用
- 至少预留 8KB 宏程序存储空间
- 参数 #500~#999 可用(公共变量)
八、注意事项
- 预行程补偿:标定F值与测量F值必须一致
- 调用格式:必须使用 G65(不可用 G66 模态调用)
- 小数点:每个整数参数后需加小数点
- 参数单位:默认毫米,英寸模式下参数自动转换
- E32U接口:DIP开关配置详见本文第六节 E32U DIP 开关配置表
- 标定周期:建议每 8 小时或换刀后重新标定以保障精度
- 碰撞预防:编程时务必确认接近距离 (E) 大于安全间隙 ®,避免快进碰撞
- 变量持久性:#100~#199 公共变量断电保持,修改后自动生效
本文档综合参考马波斯 MIDA 技术手册:D310A1AG07(对刀仪宏程序)、D310A2AG16(工件测量宏程序)、D310A4AG05(车床对刀)、D310A5AG13(车床工件测量)、D31038FC00(E32U 接口模块)。 编写维护:宁波匠测科技有限公司