Address
宁波研发园A区2栋12B17
聚贤街道,鄞州区,宁波市,浙江中国
Work Hours
周一 to 周五: 8:30AM - 10:30PM
周六 to 周日: 9:30AM - 10:30PM

马波斯MIDA触发式测头系统应用于CNC加工中心,实现机内测量(In-Machine Measurement)——在加工准备阶段进行工件找正,在工序间/工后进行原位尺寸检测,无需将工件移至三坐标测量机。
SELCA是意大利早期CNC系统品牌(后被发格FAGOR收购),其 30xx/40xx 系列数控系统曾广泛配套于意大利产加工中心。马波斯 MIDA 为 SELCA 系统定制了工件测量和激光对刀两套独立的宏程序包。
本文基于马波斯官方手册 D310F2AG00(工件测量)和 D310F3AG04(激光对刀)。
与发那科 G65 体系的区别:SELCA 系统不使用发那科的 G65/G66 宏调用方式,而是通过 L 命令(如
L\MARPPRB\O9301:)进行子程序跳转调用,参数通过 P0~P999 变量传递。所有工件测量和激光对刀宏程序均遵循此调用约定,详见后文各章节示例。
SELCA 30xx/40xx 系统的工件测量宏程序使用 O930x 系列编号,通过 SELCA 的 L 命令调用(类似子程序跳转)。
在 CNC 硬盘的工件程序根目录下创建文件夹:
D:S4000PARTPROGMARPPRB
将以下文件复制到此目录:
| 文件 | 功能 |
|---|---|
| O9301 | 标准标定循环 |
| O9302 | 单轴标定循环 |
| O9304 | 测头保护定位 |
| O9305 | 单面测量 |
| O9306 | 型腔/台阶测量 |
| O9307 | 孔/销测量(4/6触) |
| O9308 | 角点检测 |
| O9360~O9364 | 系统配置 + 触测移动 + 串行输出 |
| O9391~O9393 | 辅助输入/输出/自定义 |
如果 CNC 存储空间有限,可只加载需要的测量循环,但标定循环(O9301/O9302)和公共循环(O9360~O9393)是必需的。
在首次使用任何测量循环前,必须先编辑 O9360.SSB 文件,设置以下参数:
| 参数 | 说明 | 取值 |
|---|---|---|
| P51 | 测量单位 | 1 = 毫米(mm) |
| P52 | 标定数据指针(首个参数号) | 例如 P52=501,则占用 P501~P515(15个参数) |
| P53 | 触测进给速度(mm/min) | 推荐 100~400 mm/min |
| P54 | 快速移动速度(mm/min) | 推荐 1000~2000 mm/min |
| P55 | 探针球头半径(mm 或 in) | 需精确输入 |
标定数据指针(P52)指向的 15 个连续参数用于存储三个探头的标定结果(每个探头5个方向数据):
| P52+n | 方向 | 探头1 | 探头2 | 探头3 |
|---|---|---|---|---|
| +0 | X+ 标定值 | P(P52) | P(P52+6) | P(P52+12) |
| +1 | X- 标定值 | P(P52+1) | P(P52+7) | P(P52+13) |
| +2 | Y+ 标定值 | P(P52+2) | P(P52+8) | P(P52+14) |
| +3 | Y- 标定值 | P(P52+3) | P(P52+9) | P(P52+15) |
| +5 | Z- 标定值 | P(P52+5) | P(P52+11) | P(P52+17) |
系统支持最多 3 个测头同时在机,各使用独立的标定数据集。
对测头进行 X+/X-/Y+/Y-/Z- 六方向标定,使用已知尺寸的基准规。
调用格式:
P1=... ; 标定类型:1=分度主轴,2=非分度主轴
P7=... ; 基准规尺寸(mm 或 in)
P4=... ; Z-触测时X方向偏移(相对基准规中心)
P5=... ; Z-触测时Y方向偏移(相对基准规中心)
P19=... ; 基准规类型:1=内径,2=外径
P3=... ; 探头编号:1~3
P6=... ; Z触测深度(绝对坐标,相对当前工件原点)
LMARPPRBO9301: ; 调用标定循环
参数详解:
| 参数 | 说明 | 取值范围 |
|---|---|---|
| P1=1 | 分度主轴模式:系统自动通过分度触测找基准规中心 | 适用带分度功能主轴 |
| P1=2 | 非分度主轴模式:需预先设定基准规中心的精确坐标 | 适用普通主轴 |
| P7 | 基准规的实际测量尺寸 | 必须精确已知(如 49.995 mm) |
| P4 | Z-触测时X方向偏移量,从基准规中心向外 | 建议 20~30mm |
| P5 | Z-触测时Y方向偏移量 | 0 = 沿X方向即可 |
| P19=1 | 内径测量(环规) | 探针向内触碰 |
| P19=2 | 外径测量(圆柱) | 探针向外触碰 |
| P3 | 多测头系统中选择使用第几组标定数据 | 1、2 或 3 |
| P6 | Z轴触测深度(绝对值),在基准规表面以下 | 例如 -8mm |
完整示例:
T3 M6 ; 装测头到主轴
G48 I0 ; 清除刀长补偿
G49 I0 ; 清除半径补偿
M32 ; 测头开启
G4 K10 ; 等待测头稳定(10秒)
O1 ; 激活1号工件原点
G90 ; 绝对值编程
P1=2 ; 非分度主轴
P7=49.995 ; 基准规内径 49.995mm
P4=30 ; Z-触测时 X+30mm 偏移
P5=0 ; Y方向不偏移
P19=1 ; 内径基准规
P3=2 ; 使用第2组标定数据
P6=-8 ; Z触测深度 -8mm
LMARPPRBO9301: ; 执行标定
M42 ; 测头关闭
对指定单一方向进行标定,适用于更换探针后快速修正某个方向。
支持标定方向:X+, X-, Y+, Y-, Z+, Z-。
调用格式(独立格式):
P1=... ; 标定方向
P24=... ; 目标位置(如起点 X20 Y30 Z40,P24=30 → X+ 方向移动;P24=10 → X- 方向移动)
P3=... ; 探头编号:1~3
LMARPPRBO9302: ; 调用单轴标定循环
输出:单轴标定结果布局含 +4=Z+ 行 P(P52+4)(O9301 无 Z+ 行)。
带碰撞保护的安全定位移动循环。在移动过程中持续监控测头信号,遇碰撞立即停止。
调用格式:
P1=... ; 移动轴:1=X, 2=Y, 3=Z
P24=... ; 目标位置(工件坐标)
LMARPPRBO9304: ; 调用安全定位循环
| 参数 | 说明 |
|---|---|
| P1 | 移动轴(1=X / 2=Y / 3=Z) |
| P24 | 目标位置(工件坐标) |
| 速度 | 通过 O9360 的 P54 设定 |
对工件在 X、Y 或 Z 轴单一方向进行触碰测量,获取该面坐标值。
应用场景: 工件找边、Z轴高度确认、余量测量。
测量凹槽或凸台的内外尺寸,适用于型腔宽度、台阶高度等特征。
测量圆孔、方孔、外圆、方形销的圆心坐标和直径/边长。支持 4 触或 6 触模式。
4 触模式: 适用于标准圆孔/外圆,X+/X-/Y+/Y- 四个方向。
6 触模式: 适用于方形或需更高精度的场合,增加对角触测。
检测内角或外角的顶点坐标,用于工件找正和坐标系偏置。
| 宏号 | 功能 |
|---|---|
| O9360 | 系统配置参数设定(P51~P55) |
| O9361~O9363 | X/Y/Z 轴触测移动底层循环 |
| O9364 | 串行输出(测量结果打印/下载) |
| O9391~O9393 | 用户自定义输入/输出/辅助 |
SELCA 30xx/40xx 上的 MIDA LASER 非接触激光对刀系统使用独立的程序包,最大支持 2 台激光器 + 3 个工作头 的配置。
在 CNC 硬盘的工件程序根目录下创建文件夹:
D:S4000PARTPROGLASER
将以下所有文件复制到此目录:
| 程序名 | 功能 |
|---|---|
| MARPOSS1 | MIDA 激光标定 |
| MARPOSS2 | 刀具预设(长度/半径) |
| MARPOSS3 | 直刃刀具切削效率检测 |
| MARPOSS4 | 复杂刀具刃口检测 |
| MARPOSS5 | 圆形刀具扇区检查 |
| MARPOSS6 | 轴向断刀检测 |
| MARPOSS7 | 盘铣刀预设 |
| MARPOSS8 | 热漂移检测 |
| MARPOSS9 | 镗刀半径和长度测量 |
| 程序名 | 功能 |
|---|---|
| LSHEAD | 初始化调用程序(需自定义激光数量和工作头数量) |
| INI1 | 激光1 / 工作头1 参数初始化 |
| INI2 | 激光2 / 工作头1 参数初始化(单激光时不需要) |
| INI3 | 激光1 / 工作头2 参数初始化 |
| INI4 | 激光2 / 工作头2 参数初始化 |
| INI5 | 激光1 / 工作头3 参数初始化 |
| INI6 | 激光2 / 工作头3 参数初始化 |
| 程序名 | 功能 |
|---|---|
| AUX_IN1~6 | 自定义输入文件(每个循环开始时执行) |
| AUX_OUT1~6 | 自定义输出文件(每个循环结束时执行) |
| LSON / LSOFF | 激光开关程序 |
| RDTOOL / WRTOOL | 刀具表数据读/写 |
| MOVEG1 / MOVEG2 / MOVEG3 / MOVEGT | 移动控制底层 |
| TOUCH | 触测程序 |
| TLASER | 静态输出测试 |
| ENGLISH~GERMAN | 多语言报警消息 |
| LASPOS1~6 | 标定参数调用(激光×工作头) |
| SELUSIN / SELUSOUT | 可定制输入/输出调用 |
| MESSAGE | 消息显示调用 |
LSHEAD 程序必须在使用前自定义,设置以下核心参数(官方参数编号):
| 参数 | 说明 | 取值 |
|---|---|---|
| P20 | 激光/工作头数量 | 0=1 台激光器 + 1 个工作头;1=多激光/多工作头 |
| P146 | 报警消息显示语言 | 1=意大利语, 2=英语, 3=法语, 4=西班牙语, 5=德语 |
| P178 | 镗刀不转测量转速 | 1000 |
每个 INI 文件(INI1~INI6)中定义的参数,官方编号为 P0~P24:
| 参数 | 说明 |
|---|---|
| P0 | 测量单位(1=mm;0.0394=in) |
| P1 | 标定基准类型(1=盘形;2=带球) |
| P2 | 动态输出脉冲时长(0.005 / 0.010 / 0.020 / 0.100 s) |
| P3 | 半径测量接近方向(±1) |
| P4 | 长度测量接近方向(±1) |
| P5~P7 | 激光束位置(半径轴/平行轴/长度轴) |
| P8 | 激光叉深 |
| P9 | 工作平面(1~6) |
| P10 | 断刀管理(0=不停机;1=停机报警) |
| P11 | 触测重复性(0.005) |
| P12~P14 | 最小刀长 / 最大刀长 / 最大刀径 |
| P15~P17 | 第1/2/3次触测回退 |
| P18 | 快速速度 |
| P19 | 测量速度 |
| P21 / P22 | 激光开/关 M 码(51/52) |
| P23 / P24 | 动态输出使能/禁止(53/54) |
注:官方 INI 参数为 P0~P24 编号体系,无”刀具类型””信号极性”参数(原描述已删除)。
机床制造商必须在 PLC 中提供以下 M 功能:
| M 功能 | 作用 |
|---|---|
| 气动快门开启/关闭 | 在激光窗口前形成或消除气幕 |
| 激光开启/关闭 | 控制激光发射 |
| CWDTF=1 | 在 PLC 初始化段 INIZ 中写入,禁用测量按键报警(激光专用) |
当系统配置 2 台激光器(Laser A / Laser B)和 3 个工作头(Head 1 / Head 2 / Head 3)时,机床空间被划分为若干逻辑工作区域,每个区域映射到一台特定的激光器:
┌──────────────────────────────────────────────┐
│ 空间划分 │
│ │
│ 工作头1 (Head 1) ── 区域 A1 ── Laser A │
│ 工作头2 (Head 2) ── 区域 A2 ── Laser A │
│ 区域 B2 ── Laser B │
│ 工作头3 (Head 3) ── 区域 A3 ── Laser A │
│ 区域 B3 ── Laser B │
└──────────────────────────────────────────────┘
区域分配规则:
每区域独占一台激光器 — 每个工作区域必须始终分配一台激光器,不允许存在无激光器覆盖的区域。例如 Head 1 可固定分配 Laser A,Head 2 可根据实际布局选择 Laser A 或 Laser B。
全局区域模式 — 当全局区域(Global Zone)激活时,系统自动计算机床各工作头与激光器的空间距离,选择距当前工作头最近的激光器执行测量,确保最短移动路径和最快换刀检测。
INI 文件对应关系 — 每台激光器在每个工作头的配置参数通过独立的 INI 文件管理,各 INI 文件与激光器、工作头的对应关系如下:
| INI 文件 | 所属激光器 | 所属工作头 | 作用 |
|---|---|---|---|
| INI1 | 激光器 1 (Laser A) | 工作头 1 | 激光1·头1 接近速度、进给速度、退回距离等 |
| INI2 | 激光器 2 (Laser B) | 工作头 1 | 激光2·头1 配置参数 |
| INI3 | 激光器 1 (Laser A) | 工作头 2 | 激光1·头2 配置参数 |
| INI4 | 激光器 2 (Laser B) | 工作头 2 | 激光2·头2 配置参数 |
| INI5 | 激光器 1 (Laser A) | 工作头 3 | 激光1·头3 配置参数 |
| INI6 | 激光器 2 (Laser B) | 工作头 3 | 激光2·头3 配置参数 |
即每台激光器在每个工作头位置都有独立的配置参数,实际使用中仅需配置与装机数量相符的 INI 文件(例如单激光系统只需 INI1、INI3、INI5)。调用测量循环时,系统根据当前活动区域自动路由到对应的激光器和 INI 配置文件。
SELCA 系统使用 L 命令调用宏程序,与发那科的 G65 体系不同:
; 工件测量 — 通过 L 命令跳转到 MARPPRB 目录下的程序
P1=2
P7=49.995
LMARPPRBO9301: ; 调用标定循环
; 激光对刀 — 官方 F3AG04 调用格式文本为 LMARPOSS1:(未带路径前缀)
LMARPOSS2: ; 调用刀具预设(是否带 LLASER 路径前缀待官方确认)
SELCA 系统以 P 参数 传递数据(类似发那科的 # 变量),参数范围从 P0 到 P999。
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 标定循环不触发 | 测头未开启(M32未执行) | 标定前执行 M32 + G4 K10 延时 |
| 标定结果异常 | P52 标定数据指针与系统占用参数重叠 | 将 P52 改为空闲参数区域(如 P600+) |
| 激光不响应 | LSHEAD 中激光数量设置错误 | 确认 LSHEAD 中 P20 与实际激光和工作头数量一致 |
| 触测速度不合适 | P53 设定过快导致测头过冲 | 将 P53 降至 200 mm/min 以下 |
| 气幕未形成 | PLC 中气动快门 M 码未触发 | 检查 PLC 梯形图中气动快门开/关逻辑 |
| 多激光系统串光 | 工作区域与激光器映射错误 | 检查 INI1~INI6 中各自激光器的配置参数 |
| 文档编号 | 名称 | 用途 |
|---|---|---|
| D310F2AG00 | Part Check on Machining Centres – CNC SELCA Series 30xx/40xx | 工件测量宏程序 |
| D310F3AG04 | Tool Check on Machining Centre – SELCA CNC Series 30xx/40xx | 激光对刀系统 |
每台机床的配置、工况和预算都不一样,本文给出的只是参考框架。您可以:
宁波匠测科技——15 年专注精密测量,服务雷尼绍、马波斯、波龙全系测头与对刀仪的选型、安装、校准、维修与维保。
| 联系方式 | 信息 |
|---|---|
| 官方预约 | jcetech.cn/contact |
| 咨询热线 | 157-5780-7400 / 132-2194-1413 |
| 寄修地址 | 宁波鄞州研发园 A2-12B17 |
| 服务范围 | 全国上门 · 加急维修 48 小时响应 |
把问题发给我们,让专业工程师帮您算清楚这笔账。
打开微信扫一扫,关注「宁波匠测」
获取维修进度查询与技术支持
打开企业微信或微信扫一扫
添加专属顾问,随时沟通