前言

马波斯MIDA触发式测头系统应用于CNC加工中心,实现机内测量(In-Machine Measurement)——在加工准备阶段进行工件找正,在工序间/工后进行原位尺寸检测,无需将工件移至三坐标测量机。

发格 FAGOR 8070 是西班牙 FAGOR 自动化的中高端数控系统,广泛应用于加工中心和铣床。马波斯 MIDA LASER 激光对刀系统在 FAGOR 8070 上使用独立的 ML_ 前缀宏程序包,通过安装程序(Fagor Laser.exe)一键部署。

本文基于马波斯官方手册 D310M3AG01(Software for FAGOR 8070 CNC for Tool Check with Mida Laser System)。


一、系统概述

1.1 硬件架构

MIDA LASER 激光对刀系统通过 E32U 接口连接至 FAGOR 8070 CNC:

FAGOR 8070 CNC ◄── E32U ──► MIDA LASER 发射器 ──► 激光束
                    │
                    └── 接收器 ──► SKIP 信号

1.2 系统能力

  • 最大支持 2 台激光器 + 3 个工作头
  • 支持工作区域逻辑划分——每个工作区域与特定激光器关联
  • 全局区域激活时,系统自动选择距当前工作头最近的激光器执行测量
  • 非接触式测量,适用于高速自动化生产

1.3 工作区域管理

当系统配置 2 台激光器时,逻辑空间被划分为多个工作区域:

工作头1 ── 激光1(区域1)
工作头2 ── 激光1(区域2)或 激光2(区域3)
工作头3 ── 激光1 或 激光2

二、软件安装

马波斯 MIDA LASER 系统在 FAGOR 8070 上使用独立的 ML_ 前缀宏程序包(包含 9 个测量循环、初始化程序及用户辅助程序),所有程序通过 Fagor Laser.exe 一键部署至 CNC 硬盘,无需手动复制或搬运文件。安装程序自动创建完整的目录结构(MDL、CYC、HLP、LGT、MSG、GRA),并注册 EDISIMU 图形编程环境。

2.1 安装包结构

马波斯提供的安装包包含以下文件:

Fagor Laser.exe      — 安装程序(支持图形界面)
Fagor Laser.iss      — 安装配置文件
Fagor Laser (文件夹)  — 程序文件

2.2 安装步骤

  1. 运行 Fagor Laser.exe(可直接从 CD-ROM 或 U 盘运行)
  2. 选择安装语言
  3. 等待文件复制完成
  4. 安装完成后,CNC 的 EDISIMU 部分将显示测量程序和图形编程界面

2.3 安装文件清单

测量循环(9个)
程序名功能
ML_LCALMIDA 激光标定
ML_PRES刀具预设(长度/半径)
ML_INTS直刃刀具完整性检测
ML_INTP复杂刀具轮廓检测
ML_INTC圆形刀具扇区检查
ML_INTL轴向断刀检测
ML_DISC盘铣刀预设
ML_TMC热漂移检测
ML_BAR镗刀半径和长度测量
初始化程序
程序名功能
ML_HEAD初始化调用程序(设置激光数量、工作头数量、语言)
ML_INIL1激光1 / 工作头1 参数初始化
ML_INIL2 *激光2 / 工作头1 参数初始化
ML_INIL3 *激光1 / 工作头2 参数初始化
ML_INIL4 *激光2 / 工作头2 参数初始化
ML_INIL5 *激光1 / 工作头3 参数初始化
ML_INIL6 *激光2 / 工作头3 参数初始化

* 单激光单工作头配置时不需要

用户辅助程序
程序名功能
ML_IN1~ML_IN6自定义输入文件(每个循环开始时执行)
ML_OUT1~ML_OUT6自定义输出文件(每个循环结束时执行)

三、测量循环详解

3.1 ML_HEAD 初始化配置

在使用任何测量循环前,需编辑 ML_HEAD 程序,设置以下参数:

ML_HEAD 参数表
参数行号参数名称说明取值范围默认值
P1N_LASER本机安装的 MIDA LASER 激光器数量1~21
P2N_HEAD本机的工作主轴头数量1~31
P3LANGUAGE报警消息与界面显示语言0=英文, 1=德文, 2=法文, 3=意大利文, 4=西班牙文, 5=中文, 6=葡萄牙文, 7=日文0
P4TOOL_TABLE刀具表起始行号1~9991
P5ERROR_MODE错误处理模式0=仅显示报警, 1=显示报警并停止1

系统最多支持 2 台激光器 + 3 个工作头。当 N_LASER=1 且 N_HEAD=1 时,无需安装 ML_INIL2~ML_INIL6。修改 ML_HEAD 后需重新启动 EDISIMU 环境或重启 CNC 使配置生效。

多激光多工作头矩阵映射

当系统配置 2 台激光器时,ML_INILx 文件与激光器/工作头的对应关系如下:

INI 文件关联激光器关联工作头生效条件
ML_INIL1激光器 #1工作头 #1始终存在
ML_INIL2激光器 #2工作头 #1N_LASER ≥ 2
ML_INIL3激光器 #1工作头 #2N_HEAD ≥ 2
ML_INIL4激光器 #2工作头 #2N_LASER ≥ 2 且 N_HEAD ≥ 2
ML_INIL5激光器 #1工作头 #3N_HEAD ≥ 3
ML_INIL6激光器 #2工作头 #3N_LASER ≥ 2 且 N_HEAD ≥ 3

3.2 ML_INIL1~ML_INIL6 参数配置

每个 INI 文件(ML_INIL1~ML_INIL6)定义对应激光器与工作头组合的测量参数。以下为完整的参数字段表:

ML_INILx 参数详解
参数行号参数名称说明单位取值范围推荐值
P1APPROACH_FEED接近进给速度 —— 激光接近时的快速移动速度mm/min100~100003000~5000
P2MEASURE_FEED测量进给速度 —— 贯穿激光束时的稳定测量速度mm/min10~2000300~500
P3RETRACT_DIST退回距离 —— 测量完成后退回的安全距离mm0.1~50.05.0~10.0
P4SIGNAL_POLARITY信号极性 —— SKIP 跳步信号的有效电平0=常开(NO), 1=常闭(NC)0
P5OVER_TRAVEL过行程保护 —— 超过此距离仍无触发信号则报错mm1.0~100.020.0~50.0
P6TOOL_TYPE_MIN刀具类型范围下限 —— 适用刀具类型编号起始值1~991
P7TOOL_TYPE_MAX刀具类型范围上限 —— 适用刀具类型编号结束值1~9920
P8WAIT_TIME等待稳定时间 —— 激光开启后等待信号稳定的时间ms0~50050~100
P9AIR_PURGE_DELAY气幕延时 —— 开启气幕后等待吹气稳定的延时ms0~2000500~1000
P10OFFSET_REGISTER偏置寄存器号 —— 长度/半径补偿写入目标寄存器1~999视刀具表而定
参数配置注意事项
  • 接近速度(P1):过高会导致振动影响定位精度,过低则延长循环时间。建议硬轨机取 3000,线轨机取 5000。
  • 测量速度(P2):直接影响标定精度,速度越低精度越高。精密刀具建议 ≤300 mm/min。
  • 退回距离(P3):太短有碰撞风险;太长影响效率。建议设为刀具直径的 1~2 倍。
  • 过行程(P5):应大于退回距离 + 刀具最大半径 + 安全余量。建议至少 20 mm。
  • 信号极性(P4):通常设为 0(常开),即激光被遮挡时 SKIP 信号有效。如 E32U 硬件配置为常闭则设为 1。

3.3 ML_LCAL — 激光标定

使用已知尺寸的基准刀具标定激光传感器的精确位置。必须在首次使用或更换激光器/工作头后执行。

执行流程:

  1. 系统将刀具移至激光束初始位置
  2. 沿 X 方向移动贯穿激光束
  3. 记录刀具上下沿触发时刻的坐标
  4. 计算激光束轴线位置
ML_LCAL 输入参数
参数说明单位推荐值
P_REF_TOOL基准刀具编号(已在刀具表中预置已知直径)1
P_CAL_DIR标定方向(0=X+, 1=X-, 2=Y+, 3=Y-)0
P_SAFE_DIST标定起始安全距离mm10.0
P_START_POS标定起始位置mm视机床而定
P_FEEDRATE标定测量速度mm/min200~500
P_N_PASSES标定重复次数(取平均值提高精度)1~5

3.4 ML_PRES — 刀具预设

测量旋转刀具的长度和半径,将结果写入 FAGOR 刀具表。

适用刀具:

  • 标准铣刀(平底/球头)
  • 钻头
  • 丝锥
  • 铰刀
ML_PRES 输入参数
参数说明单位推荐值
P_TOOL_NUM待测量刀具在刀具表中的编号
P_MEAS_MODE测量模式(0=仅长度, 1=仅半径, 2=长度+半径)2
P_SPINDLE_SPEED测量时主轴转速rpm刀具推荐转速
P_SAFE_DIST接近激光前的安全距离mm10.0
P_LENGTH_OFFSET长度测量偏置量mm0.0
P_RADIUS_OFFSET半径测量偏置量mm0.0
P_TOLERANCE结果容差(超差则报警)mm0.01~0.05

3.5 ML_INTS — 直刃完整性检测

扫描刀具直刃部分,检测是否有破损或崩刃。

检测方式: 激光沿平行于刀具轴线的方向扫描,比对刀齿数量和刃口高度。适用于批量生产中自动化断刀检测。

ML_INTS 输入参数
参数说明单位推荐值
P_TOOL_NUM待检测刀具编号
P_N_TEETH刀具齿数2~6
P_SCAN_LENGTH扫描长度(沿刀具轴向)mm10.0~30.0
P_START_Z扫描起始高度mm视刀具而定
P_FEEDRATE扫描速度mm/min200~500
P_BREAK_LIMIT破损判别阈值(齿高差异百分比)%20%
P_TOLERANCE位置容差mm0.01~0.05

3.6 ML_INTP — 复杂刀具轮廓检测

适用于非标准轮廓刀具(成型刀具、球头刀等)的轮廓完整性检测。

检测原理: 刀具旋转一圈,激光多点采样建立完整轮廓数字指纹,实时比对。

ML_INTP 输入参数
参数说明单位推荐值
P_TOOL_NUM待检测刀具编号
P_N_SAMPLES每圈采样点数36~360
P_SCAN_RADIUS扫描半径mm刀具半径 + 0.5
P_FEEDRATE测量速度mm/min100~300
P_PROFILE_TOL轮廓比对容差mm0.02~0.10
P_COMPARE_MODE比对模式(0=绝对值, 1=相对百分比)0

3.7 ML_INTC — 圆形刀具扇区检查

专用于检查圆形刀具(如圆角铣刀)特定扇区的切削刃状态。

ML_INTC 输入参数
参数说明单位推荐值
P_TOOL_NUM待检测刀具编号
P_SECTOR_START扇区起始角度°0
P_SECTOR_END扇区结束角度°90~360
P_STEP_ANGLE步进角度°1~10
P_FEEDRATE测量速度mm/min200~400
P_WEAR_LIMIT磨损量报警阈值mm0.05~0.20

3.8 ML_INTL — 轴向断刀检测

快速检测刀具轴向长度是否变化,判断刀具是否断裂。

ML_INTL 输入参数
参数说明单位推荐值
P_TOOL_NUM待检测刀具编号
P_REF_LENGTH参考长度(刀具表中标准长度)mm
P_DEVIATION_LIMIT允许偏差量(超差判为断刀)mm0.5~2.0
P_MEAS_HEIGHT测量高度位置mm刀尖上方 5~10
P_FEEDRATE测量速度mm/min300~600
P_RETURN_MODE检测后动作(0=报警停止, 1=跳过继续)0

3.9 ML_DISC — 盘铣刀预设

专用于盘铣刀的测量循环,测量总长度和刀片位置。

ML_DISC 输入参数
参数说明单位推荐值
P_TOOL_NUM待测量盘铣刀编号
P_DISC_DIAM盘铣刀标称直径mm
P_N_INSERTS刀片数量4~20
P_MEAS_DEPTH测量切入深度mm2.0~5.0
P_FEEDRATE测量速度mm/min200~400
P_OFFSET_UPDATE是否自动更新刀具表偏移(0=否, 1=是)1

3.10 ML_TMC — 热漂移检测

监测机床热变形引起的刀具长度漂移,用于高精度长时间加工。

ML_TMC 输入参数
参数说明单位推荐值
P_REF_TOOL参考刀具编号(基准刀)1
P_INTERVAL检测时间间隔min10~60
P_TEMP_SENSOR温度传感器通道号(如有机床测温)0=不使用
P_DRIFT_LIMIT热漂移报警阈值mm0.01~0.05
P_AUTO_COMP自动补偿模式(0=仅报警, 1=自动修正偏置)1

3.11 ML_BAR — 镗刀半径和长度测量

适用于镗刀的专用测量循环,支持单刃和多刃镗刀。

ML_BAR 输入参数
参数说明单位推荐值
P_TOOL_NUM待测量镗刀编号
P_BAR_DIAM镗刀标称直径mm
P_N_EDGES切削刃数量1~4
P_MEAS_MODE测量模式(0=仅半径, 1=长度+半径)1
P_FEEDRATE测量速度mm/min100~300
P_TOLERANCE直径容差mm0.005~0.020

四、PLC 程序要求

机床制造商需在 PLC 中提供以下功能:

项目说明
激光气动快门开启/关闭保护光学窗口
激光发射开关控制激光源
SKIP 信号管理将接收器的触发信号接入 CNC 跳步输入
工作区域切换多激光系统中的区域选择

五、FAGOR 8070 错误代码表

使用 MIDA LASER 系统时,FAGOR 8070 CNC 可能产生的常见报警及排查方法如下:

错误代码描述可能原因排查与解决方案
E1001激光信号未触发SKIP 信号未在规定行程内到达;激光束未对准或接收器未收到信号检查气动快门是否开启→检查激光电源指示灯→确认 E32U 接口连接→运行 ML_LCAL 重新标定
E1002激光标定数据无效ML_LCAL 标定结果超出合理范围;基准刀具直径与实际不符确认基准刀具编号是否正确→检查刀具表中直径数据→使用标准校准棒重新标定
E1003刀具超出测量范围刀具直径/长度超过 INI 文件中定义的过行程范围增大 ML_INILx 中 P5(OVER_TRAVEL)参数值→检查刀具尺寸是否超出激光测量能力
E1004多激光区域冲突当前工作头与激光器映射关系未正确配置检查 ML_HEAD 中的 N_LASER 和 N_HEAD→确认对应 ML_INILx 文件存在且参数正确
E1005主轴转速未达到循环要求主轴旋转但实际转速为零或过低检查主轴使能信号→确认 S 指令已正确执行→检查 PLC 中主轴控制逻辑
E1006刀具表写入失败循环结果无法写入 FAGOR 刀具表;刀具号超出表范围检查 ML_HEAD 中 TOOL_TABLE 起始行号→确认刀具表已初始化且行数足够
E1007气动快门超时气动快门开/关未在规定时间内完成检查气源压力(≥5 bar)→检查电磁阀线圈→检查 PLC 中快门控制梯形图→确认 I/O 接线
E1008测量结果超差刀具磨损或破损导致测量结果超出预设容差检查 P_TOLERANCE 值是否过于严格→目视检查刀具状态→如刀具正常则重做标定
E1009EDISIMU 环境错误测量循环程序未正确加载到 EDISIMU 环境重新运行 Fagor Laser.exe 安装程序→检查 CNC 硬盘中 Fagor Laser 文件夹完整性
E1010通信超时 —— E32U 连接中断E32U 接口模块与 CNC 之间通信丢失检查 E32U 模块电源灯→重新插拔 DB25 连接线→关机重启 CNC→如仍故障则更换 E32U 模块
E1011激光传感器温度过高激光发射器或接收器内部温度超出工作范围检查冷却风扇是否运转→清理散热片积尘→降低环境温度→停机冷却后复位
E1012工作头选择无效指定的工作头编号超出 ML_HEAD 中 N_HEAD 的设置范围确认调用程序中的工作头参数→检查 ML_HEAD 中 N_HEAD 设置→检查 ML_INILx 文件完整性
E1013过行程保护触发刀具移动超过 OVER_TRAVEL 距离仍未触发 SKIP 信号检查刀具是否对准激光束→增大 P5 参数→检查 SKIP 信号线是否断开→执行手动触发测试

所有错误代码可通过 FAGOR 8070 CNC 的报警页面查看详细描述。自行配置机床时,建议将上述错误处理逻辑写入 PLC 报警表。


六、完整安装目录结构

Fagor Laser.exe 在 FAGOR 8070 CNC 硬盘中部署的完整文件结构如下:

Fagor Laser/
│
├── MDL/
│   ├── ML_HEAD.SUB          — 初始化调用程序(入口,不可删除)
│   ├── ML_INIL1.SUB         — 激光1 / 工作头1 参数初始化
│   ├── ML_INIL2.SUB         — 激光2 / 工作头1 参数初始化(如配置)
│   ├── ML_INIL3.SUB         — 激光1 / 工作头2 参数初始化(如配置)
│   ├── ML_INIL4.SUB         — 激光2 / 工作头2 参数初始化(如配置)
│   ├── ML_INIL5.SUB         — 激光1 / 工作头3 参数初始化(如配置)
│   ├── ML_INIL6.SUB         — 激光2 / 工作头3 参数初始化(如配置)
│   ├── ML_IN1.SUB           — 自定义输入程序(循环开始前执行)
│   ├── ML_IN2.SUB           — 自定义输入程序
│   ├── ML_IN3.SUB           — 自定义输入程序
│   ├── ML_IN4.SUB           — 自定义输入程序
│   ├── ML_IN5.SUB           — 自定义输入程序
│   ├── ML_IN6.SUB           — 自定义输入程序
│   ├── ML_OUT1.SUB          — 自定义输出程序(循环结束后执行)
│   ├── ML_OUT2.SUB          — 自定义输出程序
│   ├── ML_OUT3.SUB          — 自定义输出程序
│   ├── ML_OUT4.SUB          — 自定义输出程序
│   ├── ML_OUT5.SUB          — 自定义输出程序
│   └── ML_OUT6.SUB          — 自定义输出程序
│
├── CYC/
│   ├── ML_LCAL.SUB          — 激光标定循环
│   ├── ML_PRES.SUB          — 刀具预设循环(长度/半径)
│   ├── ML_INTS.SUB          — 直刃完整性检测循环
│   ├── ML_INTP.SUB          — 复杂刀具轮廓检测循环
│   ├── ML_INTC.SUB          — 圆形刀具扇区检查循环
│   ├── ML_INTL.SUB          — 轴向断刀检测循环
│   ├── ML_DISC.SUB          — 盘铣刀预设循环
│   ├── ML_TMC.SUB           — 热漂移检测循环
│   └── ML_BAR.SUB           — 镗刀半径和长度测量循环
│
├── HLP/
│   ├── ML_XX.HLP            — 帮助文件(按语言版本命名)
│   └── ML_XX.CNT            — 帮助索引文件
│
├── LGT/
│   ├── ML_INGLES.LGT        — 英文语言文件
│   ├── ML_ALEMAN.LGT        — 德文语言文件
│   ├── ML_FRANCES.LGT       — 法文语言文件
│   ├── ML_ITALIANO.LGT      — 意大利文语言文件
│   ├── ML_SPANISH.LGT       — 西班牙文语言文件
│   ├── ML_CHINO.LGT         — 中文语言文件
│   ├── ML_PORTUGUES.LGT     — 葡萄牙文语言文件
│   └── ML_JAPONES.LGT       — 日文语言文件
│
├── MSG/
│   ├── ML_INGLES.MSG        — 英文报警消息文件
│   ├── ML_ALEMAN.MSG        — 德文报警消息文件
│   ├── ML_FRANCES.MSG       — 法文报警消息文件
│   ├── ML_ITALIANO.MSG      — 意大利文报警消息文件
│   ├── ML_SPANISH.MSG       — 西班牙文报警消息文件
│   ├── ML_CHINO.MSG         — 中文报警消息文件
│   ├── ML_PORTUGUES.MSG     — 葡萄牙文报警消息文件
│   └── ML_JAPONES.MSG       — 日文报警消息文件
│
├── GRA/
│   └── ML_*.GRA             — 图形界面资源文件(EDISIMU 用)
│
├── Fagor Laser.ISS          — 安装配置脚本
├── Fagor Laser.PDI          — PDI 协议配置文件
└── UNINSTALL                — 卸载程序

目录功能说明

目录用途
MDL/模型文件 —— 包含初始化程序、参数配置文件及用户自定义输入/输出程序
CYC/循环文件 —— 9 个核心测量循环本体,由 ML_HEAD 按需调用
HLP/帮助文件 —— 按语言版本划分的在线帮助文档和索引
LGT/语言文件 —— 界面文字翻译表,支持 8 种语言的 UI 显示
MSG/消息文件 —— 报警和提示消息的本地化文本
GRA/图形资源 —— EDISIMU 图形编程界面所需的图标、布局文件

⚠️ 警告: 不要手动修改 CYC/ 目录下的循环本体文件。所有用户自定义逻辑应写入 MDL/ 目录下的 ML_INx.SUB(如 ML_IN1.SUB)等文件中,防止系统升级时定制内容被覆盖。


七、调用方式与示例

FAGOR 8070 通过执行程序名直接调用测量循环(与发那科 G65 语法不同):

; 激光标定
EXEC ML_LCAL

; 刀具预设
EXEC ML_PRES

; 断刀检测
EXEC ML_INTL

; 盘铣刀预设
EXEC ML_DISC

FAGOR 8070 也提供 EDISIMU 图形编程界面,用户可通过菜单选择循环并填写参数。


八、常见问题与排查

现象可能原因解决方案
激光不响应ML_HEAD 中激光数量设置错误确认 ML_HEAD 中激光和工作头数量
测量结果异常INI 文件中的标定数据不正确重新执行 ML_LCAL 标定
触发值不稳气幕未开启导致光学窗口污染检查气动快门和吹气系统
循环无法调用程序路径未在 CNC 注册重新运行 Fagor Laser.exe 安装程序
多激光串扰工作区域与激光器映射错误检查 INI 文件中各激光器配置

九、参考文档

文档编号名称
D310M3AG01Software for FAGOR 8070 CNC for Tool Check with Mida Laser System

宁波匠测科技(www.jcetech.cn)—— 专业 CNC 测头与对刀仪维修服务

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐