波龙 TC50/TC52 测头在机测量编程指南
发那科加工中心篇
文档版本: V1.0 编制单位: 由宁波匠测科技有限公司(专注工业精密测量15年)技术服务部根据官方手册原创编制 适用系统: FANUC Macro B(0i~31i 系列) 软件料号: P03.8000-031.360 / Version V2B 测头型号: TC50 / TC52 控制系统: FANUC
目录
- 4.1 单点测量
- 4.2 两轴角点测量
- 4.3 三轴角点测量
- 4.4 内宽测量
- 4.5 外宽测量
- 4.6 内径测量
- 4.7 外径测量
- 4.8 三点内径测量
- 4.9 三点外径测量
- 4.10 障碍物内宽/内径测量
1. 概述
1.1 关于 BLUM Quickstart 测量软件
BLUM Quickstart 测量软件适用于波龙 TC50 和 TC52 测头系统,安装在 FANUC 数控系统的加工中心上,用于工件的在机测量与找正。该软件由 8 个宏程序组成,占用约 10 KB 内存。
宏程序清单:
| O9700 | MAIN | 主程序:执行所有测量任务及结果评估 |
| O9701 | XYZ TOUCH | 辅助程序:XYZ 触测 |
| O9702 | XY CONTOUR | 辅助程序:XY 轮廓 |
| O9703 | PROTECTED MOVE | 保护定位移动 |
| O9704 | MEASURE | 辅助程序:测量 |
| O9705 | SET WCS | 辅助程序:设定工件坐标系 |
| O9706 | SET TOOL | 辅助程序:设定刀具数据 |
| O9707 | ANGLE DISTANCE | 辅助程序:角度与距离计算(如不需要可跳过) |
O9700(MAIN) 和 O9703(PROTECTED MOVE) 是用户直接调用的程序。O9700 通过调用参数的组合决定测量任务类型。
1.2 支持的测量任务
- 单点触测
- 两轴角点
- 三轴角点
- 内宽
- 外宽
- 内径
- 外径
- 角度测量
- 距离测量
- 零点测量
- 公差检查
- 刀具数据修正
- 温度补偿
1.3 使用前的准备工作
首次测量前必须完成以下准备:
1.4 工件找正与在机测量的区别
两者在逻辑上的唯一区别是尺寸标注方式不同:
- 工件找正(第 3 章):调用参数中的尺寸是相对于工件的距离,即测球到工件的距离
- 在机测量(第 4 章):调用参数使用绝对尺寸,即在活动 WCS 中的绝对坐标。通过附加参数 A1 标记
除此外,找正测量和程序内的在机测量在功能上完全相同——第 3 章的所有功能在第 4 章中同样可用,反之亦然。
2. 编程核心规则
2.1 调用格式
所有测量循环均通过宏程序调用指令 G65 执行:
G65 P9700 A1 X… Y… Z… S… W… [其他可选参数]
- P9700 — 主程序号,调用 MAIN
- 字母参数传递数值
- 所有数值参数必须包含小数点,即使为整数也要加 .
2.2 参数传递规则
正确写法:
G65 P9700 A1 X0.
G65 P9700 A1 S60.
G65 P9700 A1 S20. X1
错误写法:
G65 P9700 A1 X0 ❌ X参数缺少小数点
G65 P9700 A1 S60 ❌ S参数缺少小数点
2.3 绝对尺寸模式 (A1)
在机测量中必须使用 A1 参数。当 A1 被传递时:
- X/Y/Z 参数被解释为活动 WCS 中的绝对坐标,而非测球到工件的距离
- 结果参数的正确计算依赖于 A1 的传递
2.4 测量方向标识
对于宽度和直径类测量,使用 X1 或 Y1 指定测量方向:
- X1 — X 方向测量
- Y1 — Y 方向测量
2.5 工件坐标系 (WCS) 编号
使用 W 参数指定需要设定或修正的 WCS 编号:
- W54 ~ W59 — 标准 WCS(G54 ~ G59)
- W53 — 外部零点偏置(External Zero Offset)
- 负值传递可选 WCS(如 W-40 对应 G54.1 P40)
3. 标定
3.1 为什么需要标定
测量时,测头向工件移动并触测。当测杆被工件偏转后,机床停止运动并将主轴的实际位置存储到特殊变量中。但存储的主轴位置与工件边缘的实际位置不一致,原因有三:
标定过程中会测量并存储包含控制延迟和测球半径的标定值,以及测球偏心值。共确定并存储 5 个标定值:
| #[#135+0] | X 轴标定值 |
| #[#135+1] | Y 轴标定值 |
| #[#135+2] | X 轴偏心值 |
| #[#135+3] | Y 轴偏心值 |
| #[#135+5] | Z 轴标定值 |
3.2 什么时候需要标定
- 本软件首次投入使用时
- O9700(MAIN) 中的参数被更改时
- 测杆同心度重新调整后
- 需要进行高精度测量时
3.3 X/Y 轴标定
需要一个已知精确内径的校准环(Calibration Ring),将其安装在工作区域内。将测头大致定位在校准环的中心。
调用格式:
G65 P9700 C1 S…
参数:
| C1 | 执行标定 |
| S | 校准环的微米级精确内径值 |
示例:
G65 P9700 C1 S50.002
结果: X 轴和 Y 轴的 4 个标定值被存储到参数 #[#135+0] ~ #[#135+3]。
3.4 Z 轴标定
准备一个校准平面(如校准环的上表面),精确确认其在机床坐标系中的 Z 位置并输入任意 WCS。将测头定位在校准平面上方(测球到平面的距离不小于 5 mm),激活存储了校准平面位置的 WCS。
调用格式:
G65 P9700 C1 Z…
参数:
| C1 | 执行标定 |
| Z | 测球到校准平面的距离 |
示例:
G54
G65 P9700 C1 Z-10.
结果: Z 轴标定值被存储到参数 #[#135+5]。
4. 在机测量 10 种方式详解
4.1 单点测量
用途
测量工件的一个表面,获取该表面在活动 WCS 中的位置及与设定值的偏差。
调用格式
X 轴: G65 P9700 A1 X…
Y 轴: G65 P9700 A1 Y…
Z 轴: G65 P9700 A1 Z…
必需参数
| A1 | 使用绝对尺寸模式 |
| X/Y/Z | 触测轴及目标边缘在活动 WCS 中的设定位置 |
可选参数
| E | 需修正的刀具编号 |
| T | 边缘位置公差 |
| W | 需设定/修正的 WCS 编号 |
| I/J/K | 新 WCS 中边缘的设定位置(X→I, Y→J, Z→K) |
结果变量
| X | #100 = X 边位置 | #103 = X 偏差 |
| Y | #101 = Y 边位置 | #104 = Y 偏差 |
| Z | #102 = Z 边位置 | #105 = Z 偏差 |
示例
G54
G65 P9700 A1 X0.
G54
G65 P9700 A1 Y0.
G54
G65 P9700 A1 Z0.
4.2 两轴角点测量
用途
测量工件的角点(两条边的交点),确定角点在两个轴上的位置。由预定位决定触测的边。
调用格式
XY 角: G65 P9700 A1 X… Y…
XZ 角: G65 P9700 A1 X… Z…
YZ 角: G65 P9700 A1 Y… Z…
必需参数
| A1 | 使用绝对尺寸模式 |
| X/Y/Z | 触测轴(2 轴)和角点在活动 WCS 中的设定位置 |
可选参数
| T | 角点位置公差 |
| W | 需设定/修正的 WCS 编号 |
| I/J/K | 新 WCS 中边缘的设定位置(X→I, Y→J, Z→K) |
结果变量
| X | #100 = X 边位置 | #103 = X 偏差 |
| Y | #101 = Y 边位置 | #104 = Y 偏差 |
| Z | #102 = Z 边位置 | #105 = Z 偏差 |
示例
G54
G65 P9700 A1 X50. Y0.
G56
G65 P9700 A1 X0. Z100.
4.3 三轴角点测量
用途
测量工件的三维角点(三条边的交点),确定角点在 X、Y、Z 三个轴上的位置。
调用格式
G65 P9700 A1 X… Y… Z…
必需参数
| A1 | 使用绝对尺寸模式 |
| X, Y, Z | 触测轴(全部 3 轴)和角点在活动 WCS 中的设定位置 |
可选参数
| T | 角点位置公差 |
| W | 需设定/修正的 WCS 编号 |
| I/J/K | 新 WCS 中边缘的设定位置(X→I, Y→J, Z→K) |
结果变量
| X | #100 = X 边位置 | #103 = X 偏差 |
| Y | #101 = Y 边位置 | #104 = Y 偏差 |
| Z | #102 = Z 边位置 | #105 = Z 偏差 |
示例
G57
G65 P9700 A1 X0. Y0. Z0.
4.4 内宽测量
用途
测量键槽、沟槽等内部宽度,确定内宽的实际尺寸和中心点位置。
调用格式
X 方向: G65 P9700 A1 S… X1
Y 方向: G65 P9700 A1 S… Y1
必需参数
| A1 | 使用绝对尺寸模式(对结果参数至关重要) |
| S | 设定内宽值 |
| X1/Y1 | 测量方向标识 |
可选参数
| E | 需修正的刀具编号 |
| T | T 负值 = 中心点位置公差;T 正值 = 内宽尺寸公差 |
| W | 需设定/修正的 WCS 编号 |
| I/J | 新 WCS 中中心点的设定位置(X→I, Y→J) |
结果变量
| #106 | 内宽实测值 |
| #107 | 与设定宽度的偏差 |
| #100 (X方向) | X 中心位置 |
| #103 (X方向) | X 偏差 |
| #101 (Y方向) | Y 中心位置 |
| #104 (Y方向) | Y 偏差 |
示例
G58
G65 P9700 A1 S20. X1
G59
G65 P9700 A1 S30. Y1
4.5 外宽测量
用途
测量工件外部宽度,确定外宽的实际尺寸和中心点位置。
调用格式
X 方向: G65 P9700 A1 S… X1 Z…
Y 方向: G65 P9700 A1 S… Y1 Z…
必需参数
| A1 | 使用绝对尺寸模式 |
| S | 设定外宽值 |
| X1/Y1 | 测量方向标识 |
| Z | 活动 WCS 中 Z 轴的测量点位置 |
可选参数
| E | 需修正的刀具编号 |
| T | T 负值 = 中心点位置公差;T 正值 = 外宽尺寸公差 |
| W | 需设定/修正的 WCS 编号 |
| I/J | 新 WCS 中边缘的设定位置(X→I, Y→J) |
| R | 安全距离(通常 10 mm,外宽 R 必须为正) |
结果变量
| #106 | 外宽实测值 |
| #107 | 与设定宽度的偏差 |
| #100 (X方向) | X 中心位置 |
| #103 (X方向) | X 偏差 |
| #101 (Y方向) | Y 中心位置 |
| #104 (Y方向) | Y 偏差 |
示例
G57
G65 P9700 A1 S20. X1 Z50.
G54
G65 P9700 A1 S35. X1 Z0.
4.6 内径测量
用途
测量镗孔、钻孔等内孔直径,确定孔径实际尺寸和圆心位置。
调用格式
G65 P9700 A1 S…
必需参数
| A1 | 使用绝对尺寸模式(对结果参数至关重要) |
| S | 设定孔径值 |
可选参数
| E | 需修正的刀具编号 |
| T | T 负值 = 中心点位置公差;T 正值 = 直径公差 |
| W | 需设定/修正的 WCS 编号 |
| I/J | 新 WCS 中中心点的设定位置(X→I, Y→J) |
结果变量
| #106 | 孔径实测值 |
| #107 | 与设定直径的偏差 |
| #100 | X 中心位置 |
| #103 | X 偏差 |
| #101 | Y 中心位置 |
| #104 | Y 偏差 |
示例
G55
G65 P9700 A1 S60.
4.7 外径测量
用途
测量轴类工件外径,确定轴径实际尺寸和圆心位置。
调用格式
G65 P9700 A1 S… Z…
必需参数
| A1 | 使用绝对尺寸模式 |
| S | 设定轴径值 |
| Z | 活动 WCS 中 Z 轴的测量点位置 |
可选参数
| E | 需修正的刀具编号 |
| T | T 负值 = 中心点位置公差;T 正值 = 直径公差 |
| W | 需设定/修正的 WCS 编号 |
| I/J | 新 WCS 中中心点的设定位置(X→I, Y→J) |
| R | 安全距离(通常 10 mm,外径 R 必须为正) |
结果变量
| #106 | 轴径实测值 |
| #107 | 与设定直径的偏差 |
| #100 | X 中心位置 |
| #103 | X 偏差 |
| #101 | Y 中心位置 |
| #104 | Y 偏差 |
示例
G54
G65 P9700 A1 S30. Z0.
4.8 三点内径测量
用途
通过三点触测测量内径,适用于测头无法在孔中心精确定位或存在干涉的情况。
调用格式
G65 P9700 A1 S… H… U… V…
必需参数
| A1 | 使用绝对尺寸模式 |
| S | 设定孔径值 |
| H | 第一触测角度(参照 X 正轴) |
| U | 第二触测角度(参照 X 正轴) |
| V | 第三触测角度(参照 X 正轴) |
可选参数
| E | 需修正的刀具编号 |
| T | T 负值 = 中心点公差;T 正值 = 直径公差 |
| W | 需设定/修正的 WCS 编号 |
| I/J | 新 WCS 中中心点的设定位置(X→I, Y→J) |
结果变量
| #106 | 孔径实测值 |
| #107 | 与设定直径的偏差 |
| #100 | X 中心位置 |
| #103 | X 偏差 |
| #101 | Y 中心位置 |
| #104 | Y 偏差 |
注意事项
4.9 三点外径测量
用途
通过三点触测测量轴类外径。
调用格式
G65 P9700 A1 S… Z… H… U… V…
必需参数
| A1 | 使用绝对尺寸模式 |
| S | 设定轴径值 |
| Z | 活动 WCS 中 Z 轴的测量位置 |
| H | 第一触测角度(参照 X 正轴) |
| U | 第二触测角度(参照 X 正轴) |
| V | 第三触测角度(参照 X 正轴) |
可选参数
| E | 需修正的刀具编号 |
| T | T 负值 = 中心点公差;T 正值 = 直径公差 |
| W | 需设定/修正的 WCS 编号 |
| I/J | 新 WCS 中中心点的设定位置(X→I, Y→J) |
| R | 安全距离(外径 R 必须为正) |
结果变量
| #106 | 轴径实测值 |
| #107 | 与设定直径的偏差 |
| #100 | X 中心位置 |
| #103 | X 偏差 |
| #101 | Y 中心位置 |
| #104 | Y 偏差 |
注意事项
4.10 障碍物内宽/内径测量
用途
当内宽或内孔上方存在障碍物(如工件凸台、夹具等)时,测头无法从正上方直接进入。该模式增加 Z 轴安全距离参数,使测头在安全距离外预先定位后进入测量。
调用格式
内径: G65 P9700 A1 R… S… Z…
内宽 X: G65 P9700 A1 R… S… X1 Z…
内宽 Y: G65 P9700 A1 R… S… Y1 Z…
附加参数
| R | 安全距离(内径和内宽 R 必须为负值) |
| Z | 活动 WCS 中 Z 轴的测量位置 |
结果和可选参数
与普通内宽测量(§4.4)或内径测量(§4.6)相同。
示例
G58
G65 P9700 A1 R-5. S30. X1 Z0.
G59
G65 P9700 A1 R-10. S30. Z0.
5. 保护定位移动
5.1 用途
在加工区域内安全地移动测头。如果移动过程中测杆被偏转,机床将立即停止运动,测头自动返回起始位置,从而避免碰撞和损坏测头。
5.2 调用程序
程序 O9703(PROTECTED MOVE) — 既可被 O9700(MAIN) 内部调用用于预定位,也可由用户直接调用。
5.3 调用格式
G65 P9703 X… Y… Z…
5.4 参数
| X/Y/Z | 活动 WCS 中的目标位置 |
5.5 行为说明
从起始位置移动到目标位置。如果移动过程中测头被偏转,运动立即停止,测头自动返回起始位置。
5.6 配置影响
参数 #130 的 Bit1 控制保护行为:
- Bit1=0 — 带保护移动(使用 #128 定义的进给速度)
- Bit1=1 — G0 快速移动(无保护,有碰撞风险)
6. 角度和距离测量
6.1 原理
先后测量两个测量点,通过两点的坐标差值计算距离和角度。
6.2 适用范围
- 内宽角度
- 外宽角度
- 表面角度
- 两孔心距
- 两角点距离
- 台阶高度/宽度
6.3 操作步骤
第 1 步: 用常规方式测量第 1 点
G65 P9700 …
第 2 步: 用手轮或 MDI 将测头移到第 2 点
第 3 步: 用附加参数 D 测量第 2 点
G65 P9700 D… …
6.4 附加参数
| D | 设定角度(数学角度定义);仅测距时通常传 D0 |
| W | 角度测量时将角度偏差存入指定 WCS(可用于调整第 4 轴) |
6.5 结果变量
| #110 | X 方向距离(宽度/直径类指向中心点) |
| #111 | Y 方向距离(宽度/直径类指向中心点) |
| #112 | Z 方向距离 |
| #108 | 实测角度(范围 -90° ~ +90°) |
| #109 | 与设定角度 D 的偏差 |
6.6 重要限制
| FANUC 0 | 0040.6 (COMC) | x1xxxxxx |
| FANUC 10/11/12/15 | 7000.6 (CLV) | x1xxxxxx |
| FANUC 16/18/21 | 6001.6 (CCV) | x1xxxxxx |
7. 温度补偿
7.1 目的
补偿因温度变化引起的机床轴线和主轴漂移。
7.2 要求
在加工区域内安装一个固定的校准基准块(Calibration Master)。
7.3 基本流程
① 基准测量(Reference Measurement)
将测头定位到校准基准块。定位必须使用 MDI,以确保基准测量和对比测量时精确定位一致。用任意 WCS 对工件做零点测量:
G65 P9700 … W…
② 对比测量(Comparison Measurement)
使用与基准测量相同的 MDI 指令将测头定位到相同位置。激活存储工件零点的 WCS,使用与基准测量相同的参数加上附加参数 W53:
G…
G65 P9700 … W53
结果
W53 对比测量将测得的偏差值写入控制器的外部零点偏置(External Zero Offset),从而自动补偿热漂移。
7.4 推荐方案
以下两种方案适用于三轴温度补偿:
方案一:三轴角点测量
G65 P9700 A1 X… Y… Z… W…
一次性完成 X、Y、Z 三个方向的补偿。
方案二:内径测量 + Z 轴单点触测
需要两次 MDI 定位和两次程序调用,分别测量内孔(X/Y)和 Z 表面(Z)。
7.5 重要说明
基准测量之后可进行任意次对比测量,即每次加工新工件前都可执行对比测量,将温度漂移对工件偏差的影响降到最低。
8. 完整调用参数表
8.1 通用调用参数
| A1 | 绝对尺寸模式——调用中的位置解释为活动 WCS 的绝对坐标 | 测量模式必需 |
| C1 | 执行标定 | 仅标定用 |
| D | 角度测量时的设定角度;仅测距时用 D0 | §6 角度/距离测量 |
| E | 刀具修正——传递需修正的刀具编号。测量后更新刀具表中对应刀具的几何或磨损数据 | §4.1/4.4/4.5/4.6/4.7/4.8/4.9(角点除外) |
| H | 三点触测的第 1 角度(参照 X 正轴) | §4.8/§4.9 |
| I | X 轴设定位置——新 WCS 中 X 边缘或中心点的设定值 | 全部(可选) |
| J | Y 轴设定位置——新 WCS 中 Y 边缘或中心点的设定值 | 全部(可选) |
| K | Z 轴设定位置——新 WCS 中 Z 边缘的设定值 | §4.1/4.2/4.3 |
| M | 测头开关控制:M1=仅开、M2=仅关、M3=不开也不关。连续多个测量任务时,首次传 M1,末次传 M2,中间传 M3 | 通用 |
| Q | X/Y 方向超越行程覆盖值(替代 #141);Z 超越行程 = Q/2 | 通用(可选) |
| R | 安全距离:内尺寸 R 负、外尺寸 R 正(通常 10 mm) | §4.5/4.7/4.9/4.10 |
| S | 测量点尺寸——内宽/外宽尺寸或孔径/轴径 | 宽度/直径类测量 |
| T | 公差检查:T 正值 = 表面/角点/宽度/直径公差;T 负值 = 中心点位置公差 | 通用(可选) |
| U | 三点触测的第 2 角度 | §4.8/§4.9 |
| V | 三点触测的第 3 角度 | §4.8/§4.9 |
| W | WCS 编号(W54~W59, W53=外部零点偏置);可选 WCS 传负值(如 W-40=G54.1 P40) | 通用(可选) |
| X | 测量宽度/直径时:X1 标识测量方向;测量表面/角点时:无 A1 时为 X 方向距离,有 A1 时为 X 绝对位置 | 通用 |
| Y | 测量宽度/直径时:Y1 标识测量方向;测量表面/角点时:无 A1 时为 Y 方向距离,有 A1 时为 Y 绝对位置 | 通用 |
| Z | 无 A1 时为 Z 方向距离/Z 轴位移量;有 A1 时为 Z 绝对位置。对外宽/外径/障碍物测量为 Z 轴测量位置 | 通用 |
9. 结果参数表
9.1 结果变量详解
| #100 | X 测量结果——测量表面/角点时:X 轴表面位置;测量宽度/直径时:X 轴中心点位置 |
| #101 | Y 测量结果——测量表面/角点时:Y 轴表面位置;测量宽度/直径时:Y 轴中心点位置 |
| #102 | Z 测量结果——Z 轴表面位置 |
| #103 | X 测量结果与 X 设定位置的偏差。无 X 设定位置时等于 X 测量结果 |
| #104 | Y 测量结果与 Y 设定位置的偏差。无 Y 设定位置时等于 Y 测量结果 |
| #105 | Z 测量结果与 Z 设定位置的偏差。无 Z 设定位置时等于 Z 测量结果 |
| #106 | 测量点实测尺寸——内宽/外宽/孔径/轴径 |
| #107 | 实测尺寸与 S 设定尺寸的偏差 |
| #108 | 实测角度(范围 -90° ~ +90°) |
| #109 | 实测角度与 D 设定角度的偏差 |
| #110 | 两点间 X 方向距离(宽度/直径类指向中心点) |
| #111 | 两点间 Y 方向距离(宽度/直径类指向中心点) |
| #112 | 两点间 Z 方向距离 |
9.2 变量归属矩阵
| 单点 X | ✓ | — | — | ✓ | — | — | — | — |
| 单点 Y | — | ✓ | — | — | ✓ | — | — | — |
| 单点 Z | — | — | ✓ | — | — | ✓ | — | — |
| 2 轴角点 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | — | — |
| 3 轴角点 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | — | — |
| 内宽/外宽 | ✓ | ✓ | — | ✓ | ✓ | — | ✓ | ✓ |
| 内径/外径 | ✓ | ✓ | — | ✓ | ✓ | — | ✓ | ✓ |
| 三点内/外径 | ✓ | ✓ | — | ✓ | ✓ | — | ✓ | ✓ |
10. 完整编程示例
10.1 综合内孔测量与刀具补偿
以下示例展示一个完整的加工步骤:测量内孔直径、自动修正刀具磨损、检查公差。
%
O1000
N10 G90 G80 G40 G49
N20 G91 G28 Z0.
N30 M06 T1 ; 换刀至加工刀具
N40 G54 ; 激活工件坐标系
N50 G65 P9703 X100. Y0. Z-10.; 保护移动到孔上方
N60 G65 P9700 A1 S60. E1 T0.05; 测量内径 S=60, 修正刀具1, 公差0.05
N70 #3001=0
N80 G04 X1.
N90 #1=#3001
N100 M30
%
10.2 温度补偿循环
基准测量(首次运行时执行):
%
O2000
N10 G90 G80 G40 G49
N20 G65 P9703 X50. Y50. Z-5. ; 保护移动到校准基准块
N30 G54 ; 激活存储零点的 WCS
N40 G65 P9700 A1 X0. Y0. Z0. W55 ; 三轴角点测量,存储到 W55
N50 M30
%
对比测量(每次加工新工件前执行):
%
O2001
N10 G90 G80 G40 G49
N20 G65 P9703 X50. Y50. Z-5. ; 相同 MDI 定位
N30 G55 ; 激活工件零点 WCS
N40 G65 P9700 A1 X0. Y0. Z0. W53 ; 三轴角点测量,写入外部零点偏置
N50 M30
%
10.3 角度测量示例
测量内宽的角度:
%
O3000
N10 G90 G80 G40 G49
N20 G54
N30 G65 P9700 A1 S20. X1 ; 测量内宽第1点
N40 G00 X120. Y80. ; 移动到第2点(MDI方式)
N50 G65 P9700 A1 S20. X1 D45. ; 测量第2点,设定角度45°
N60 #3001=0
N70 G04 X1.
N80 #1=#108 ; #1 = 实测角度
N90 #2=#109 ; #2 = 角度偏差
N100 M30
%
10.4 多测头控制(M 参数用法)
连续测量多个特征时,使用 M 参数优化测头开关:
%
O4000
N10 G90 G80 G40 G49
N20 G54
N30 G65 P9700 A1 X0. M1 ; 测量 X 单点,仅开测头
N40 G65 P9700 A1 Y0. M3 ; 测量 Y 单点,不开也不关
N50 G65 P9700 A1 S30. X1 M3 ; 测量内宽,不开也不关
N60 G65 P9703 X100. Y50. Z-10. M3 ; 保护移动,不开也不关
N70 G65 P9700 A1 X0. M2 ; 关闭测头
N80 M30
%
11. 常见陷阱与注意事项
陷阱 1:参数缺少小数点
G65 调用中的数值必须包含小数点。无小数点的整数会被 FANUC 当作其他地址字母处理。
❌ 错误: G65 P9700 A1 S60 ; S被解释为S60.0以外值
✓ 正确: G65 P9700 A1 S60.
陷阱 2:A1 参数遗漏
在机测量(第 4 章模式)中必须使用 A1。遗漏会导致程序将坐标解释为距离而非绝对位置,结果完全错误。
❌ 错误: G65 P9700 S60. ; 使用距离模式
✓ 正确: G65 P9700 A1 S60.
陷阱 3:R 参数正负混淆
内径/内宽测量时 R 必须为负值,外径/外宽测量时 R 必须为正值。正负搞反会导致测头碰撞。
❌ 错误: G65 P9700 A1 R5. S30. Z0. ; 内径R应该为负
✓ 正确: G65 P9700 A1 R-5. S30. Z0.
陷阱 4:角度/距离测量时切换 WCS
两次测量之间更改或激活不同的 WCS 会导致计算结果全部错误。两次测量必须在同一 WCS 下完成。
陷阱 5:角度/距离测量时删除全局参数
在两次测量之间删除或清零 #100 ~ #149 参数会导致数据丢失。FANUC 系统必须确认参数设置(COMC/CLV/CCV 位)保证全局变量不会在关机后被清除。
陷阱 6:温度补偿时定位不一致
基准测量和对比测量必须使用完全相同的 MDI 指令定位于同一位置。手轮定位无法保证重复性,必须使用 MDI 方式。
陷阱 7:外径/外宽测量缺少 Z 参数
外径和外宽测量必须提供 Z 参数(测量位置的 Z 坐标)。遗漏 Z 参数会导致程序运行异常。
❌ 错误: G65 P9700 A1 S30. ; 外径测量缺Z
✓ 正确: G65 P9700 A1 S30. Z0.
陷阱 8:T 公差正负意义混淆
T 参数的正负号决定检查对象:
- T 正值:检查表面/角点/宽度/直径的尺寸公差
- T 负值:检查中心点位置公差
混淆正负号会导致错误的公差判定。
陷阱 9:三点触测角度选择不当
H、U、V 三个角度应尽量均分圆周(如 120°、240°、360°)。如果角度过于集中,测量结果可靠性下降。
陷阱 10:保护定位移动 Bit1 设置不当
如果 #130 的 Bit1 被设置为 1,O9703 将使用 G0 快速移动而不带保护功能。测头碰撞时不会自动停止,有损坏风险。调试期间应确保 Bit1 = 0。
陷阱 11:WCS 编号混淆
W53 用于外部零点偏置(温度补偿时使用)。W54 ~ W59 对应 G54 ~ G59。如果要使用 G54.1 Pxx 扩展坐标系,必须传负值(如 W-40)。传递错误编号可能导致零偏覆盖到错误的坐标系。
陷阱 12:标定值存储地址冲突
标定值存储地址由 #135 定义,需要连续 6 个永久存储参数(如 #800 ~ #805)。如果这些地址已被其他用途占用,会导致数据冲突。必须选用空闲的永久参数区域。
12. 附录:系统参数与误差代码
12.1 O9700(MAIN) 系统参数表
| #33 | — | — | 刀具长度存储器基地址 |
| #15 | — | — | 测头 H 编号(对应刀库位置) |
| #126 | — | — | 测球半径 |
| #144 | — | — | Z 轴测球半径(如与 X/Y 不同) |
| #127 | ~2000 | ~2000 | 测量进给(mm/min)≤200=X4.7接口,>200=高速skip |
| #128 | ~5000 | ~5000 | 保护 MDI 进给(mm/min) |
| #135 | — | — | 永久存储参数起始地址(存储6个标定值) |
| #136 | 0 | 0 | 第4轴编号和方向(0=无, +4=绕X, +5=绕Y, +6=绕Z) |
| #130 | — | — | 选项位组合值 |
| #141 | 10 | 6 | X/Y 超越行程(overtravel) |
| #142 | 5 | 3 | Z 超越行程 |
| #143 | — | — | 循环结束后 Z 轴退刀位置(MCS) |
| #145 | 0 | 0 | 电池信号检查输出地址(0=不检查) |
#130 选项位计算
#130 = Bit0×1 + Bit1×2 + Bit2×4 + Bit3×8 + Bit4×16 + Bit5×32 + Bit6×64
| Bit0 | 无机床主轴定向 | 有机床主轴定向 |
| Bit1 | O9703 保护移动(#128 进给) | O9703 G0 快速移动(无保护) |
| Bit2 | IR 接收器非永久自动闪光模式 | IR 接收器永久自动闪光模式 |
| Bit3 | 不检查触发点有效性 | 检查触发点有效性 |
| Bit4 | 不检查测量块前的启动条件 | 检查测量块前的启动条件 |
| Bit5 | 参数 5006.6 与 6006.4 不同 | 参数 5006.6 与 6006.4 相同 |
| Bit6 | 循环结束后测头停留在起始位置 | 循环结束后测头退到 #143 位置(MCS) |
示例: #130=99 对应 Bit6=1(64) + Bit5=1(32) + Bit1=1(2) + Bit0=1(1) = 99
#127 测量进给说明
| ≤200 | X4.7 接口 | 每个测量块执行一次触测,进给速度 = #127 |
| >200 | 高速 Skip | 每个测量块执行两次触测:第一次快触(#128×0.3),第二次慢触(#127);第一次快触后退刀距离存储在 #[#135+4] |
12.2 误差代码表
| 101 | INVALID CALL PARAMETERS | 调用参数错误或矛盾 | 检查程序调用参数 |
| 102 | TOLERANCE EXCEEDED | 超出了参数 T 定义的最大公差 | 检查工件或调整公差值 |
| 103 | UNEXPECTED OBSTRUSION | 保护移动中测头被意外偏转 | 检查移动路径,调整程序调用 |
| 104 | MEASURING BLOCK WITHOUT TRIGGER POINT | 测量块执行时未触测到表面 | 检查移动路径和程序调用 |
| 105 | ERROR TOOL COMPENSATION | 角点测量后无法修正刀具数据 | 检查程序调用(角点不支持刀具补偿) |
| 106 | ERROR START/END POSITION | 原因1:IR 传输问题导致无效触发点;原因2:启动条件不满足 | 检查 IR 传输状况、移动路径 |
| 107 | INVALID MEASURING POSITION | 角度/距离测量中前后两个测量点类型不兼容 | 检查两次测量的参数一致性 |
| E108 | BATTERY WEAK | 电池电量不足(仅在电池检查启用时) | 更换测头电池 |
12.3 FANUC 系统参数设置
FANUC 15-MB / 150MB
| 7200.4 (HSS) | 1 | Skip 使用高速 Skip |
| 7200.5 (SFP) | 0 | 进给率 Skip 功能执行 |
| 7200.6 (SRE) | 0 | Skip 标志上升沿触发 |
| 7201.x (1S1) | 1 | 高速 Skip 输入1用于 G31 |
| 7300.7 (SEB) | 1 | 加减速/伺服延迟补偿 B 型 |
| 2401.6 | 0 | 标准缓冲模式(5块) |
| 2400.0 | 1 | 刀具偏置输入单位 mm |
FANUC 16-MB / 160-MB / 18-MB / 180-MB / 16i / 160i
| 6200.4 (HSS) | 1 | Skip 使用高速 Skip |
| 6200.6 (SRE) | 0 | Skip 标志上升沿触发 |
| 6200.7 (SKF) | 1 | 启用手轮进给/倍率/自动加减速 |
| 6202.x (1S1) | 1 | 高速 Skip 输入1用于 G31 |
| 6201.1 (SEB) | 1 | 加减速/伺服延迟补偿 B 型 |
12.4 版权与参考信息
文档编号: P03.8000-031.360 / Version V2B / English 软件料号: P03.8000-031.360 发布日期: 23.08.2010 Version: V2B 原始文件: FANUC_V2Ba_UK.doc 版权: by Blum-Novotest GmbH 2005 修改权保留: Modification rights reserved
参考文档: BLUM PROGRAMMING MANUAL “QUICKSTART” — Measuring Software for Workpiece Referencing and Measurement — TC50 / TC52 — FANUC Control
制造商:
| 德国总部 | Blum-Novotest GmbH, Postfach 1202, 88182 Ravensburg, Germany |
本文档基于 BLUM Quickstart 编程手册(P03.8000-031.360 V2B, FANUC)编写,所有技术数据来源于该手册原文。在机使用时请务必以机床制造商提供的最终适配程序为准。
编制单位:宁波匠测科技有限公司 技术部