西门子 (SINUMERIK) 原生测量循环与雷尼绍 L98xx 宏程序编程及调试指南
文档编号: RG-SI07-v3.0
编制单位: 宁波匠测科技有限公司 技术部
适用系统: SINUMERIK 828D / 840D / 840D sl
核心主题: 区分并掌握西门子系统自带的原生测量循环(CYCLE97x)与雷尼绍 Inspection Plus 软件包(L98xx)的双模编程,附 10 大防撞避坑指南与结果回写。
目录
- 概述:西门子系统与发那科系统的编程哲学差异
- 西门子原生测量循环 (CYCLE97x) 架构详解
- 雷尼绍 Inspection Plus for Siemens (L98xx) 软件包详解
- 结果回传与全局变量 (_OVR 数组与 GUD 变量)
- 实战对比:原生 CYCLE 与雷尼绍 L98xx 代码例程
- 调试与防错:10 大西门子在机测量安全避坑指南
- 常见故障诊断与技术 FAQ
1. 概述:西门子系统与发那科系统的编程哲学差异
在数控在机测量(On-Machine Measurement, OMM)领域,**发那科(Fanuc)与西门子(SINUMERIK)**系统代表了两种完全不同的底层设计理念:
- 发那科体系:一切测量基于“宏程序”开发。雷尼绍的 Inspection Plus 软件包在发那科上通过
G65 P98xx命令来调用 O9xxx 系列用户子程序,参数通过英文字母地址(D, Z, S, H 等)传递。 - 西门子体系:具备“双轨制”测量路线。
- 西门子原生测量技术(Measuring Technology):直接嵌入在系统内核中。西门子系统自带了一套高精度、深度集成的原生测量循环,即
CYCLE971至CYCLE998。调用时不依赖任何雷尼绍宏程序,直接从数控系统界面或 NC 代码中调用。 - 雷尼绍 Inspection Plus 软件包(西门子版):这是雷尼绍为西门子系统定制开发的一套独立的测量子程序,通常以
L98xx(如 L9810, L9812)命名。它的指令和流程虽然在模仿发那科,但在西门子系统下是以独立的子程序形态存在。
- 西门子原生测量技术(Measuring Technology):直接嵌入在系统内核中。西门子系统自带了一套高精度、深度集成的原生测量循环,即
行业技术漏洞纠正:
在现场应用或各大数控论坛上,许多工程师和技术文章常常将西门子自带的原生循环(CYCLE977, CYCLE974 等)与雷尼绍软件包混为一谈,甚至写出类似于CYCLE9812这样根本不存在的虚假调用指令。这是极不专业的。
西门子自带的原生循环是CYCLE97x/CYCLE98x格式;而雷尼绍在西门子上的宏程序则一律是L98xx(例如 L9812 对应内孔测量,L9810 对应安全定位)。两者不能混用,参数传递和结果回写的变量机制也各有规范。
2. 西门子原生测量循环 (CYCLE97x) 架构详解
西门子原生测量循环是 SINUMERIK 系统提供的核心功能,其计算逻辑由西门子系统底层直接处理,无需外部加载任何宏程序文件,具有极高的插补和数据响应速度。
2.1 核心原生测量循环定义
| 原生循环号 | 功能定义 | 对应发那科雷尼绍功能 | 说明 |
|---|---|---|---|
| CYCLE973 | 工件测头单面标定 | O9801 / O9803 | 在已知表面上标定测针长度或有效球半径 |
| CYCLE974 | 单点触测测量 (1-Point Measurement) | O9811 | 沿 X、Y 或 Z 轴单面探针触测并计算位置偏差 |
| CYCLE976 | 测头在标定球/环规上进行 3D 标定 | O9801 / O9802 | 校准测针的球心偏心常数和 3D 球半径 |
| CYCLE977 | 工件寻心测量 (Hole / Shaft / Pocket / Spigot) | O9812 / O9814 / O9817 | 内孔/外圆/型腔/凸台的原生快速多点寻心测量 |
| CYCLE978 | 工件单面测量(带自动刀补更新) | O9811 | 原生支持将测量偏差直接累加写入至指定的刀具磨损中 |
| CYCLE971 | 刀具测量循环 (Tool Measurement) | O9851 / O9852 / O9853 | 自动在对刀仪上测量刀具的长度、径向半径及断刀破损检测 |
2.2 西门子原生循环参数传递机制
西门子原生循环参数并不依赖宏程序局部变量,而是依赖西门子预设的通用变量或参数列表直接传递。
调用格式采用标准的西门子函数格式,如:
CYCLE977(S_MVAR, S_KNUM, S_PRNUM, S_SETVAL, S_FA, S_TSA, S_STA1, …)
3. 雷尼绍 Inspection Plus for Siemens (L98xx) 软件包详解
当客户选择在西门子加工中心上安装雷尼绍官方 Inspection Plus(通常是为了保持与发那科车间程序的一致性,或需要利用雷尼绍独特的双孔距、特征到特征、SupaTouch 标定算法时),其子程序集合将被装入机床的“子程序(SPF)”或“CUS.DIR(用户子程序)”目录下,调用时一律使用 L98xx 格式。
3.1 核心 L98xx 子程序总表
| 子程序号 | 对应名称 | 功能及描述 |
|---|---|---|
| L9810 | 保护性安全定位 (Protected Position Move) | 在两点间进行带碰撞硬跳过监控的快速移刀。中途撞针立停并报警。 |
| L9811 | 单表面测量 (Single Surface) | 单点触测,计算工件在单轴方向的高度并校准坐标系。 |
| L9812 | 内孔 / 型腔寻心 (Bore / Pocket) | 4点自动测出内圆形孔、方形凹槽的中心位置和实测直径尺寸。 |
| L9814 | 外部圆柱 / 凸台寻心 (Boss / Web) | 对外圆、方凸起物进行寻心并将中心点一键改写进坐标系。 |
| L9815 | 3D角点触测 (Corner Measurement) | 自动触碰两个相交面,计算其理论角点交点和夹角。 |
| L9817 | 5点矩形触测 (5-Point Rectangle) | 测量方形孔或方凸台,包含 X/Y 倾斜角度及中心寻中。 |
| L9820 | 工件测头双向标定 (Workpiece Probe Calibration) | 在高精度标定环或标准块上对工件测头执行几何标定。 |
| L9855 | 对刀仪综合标定 (Tool Setter Calibration) | 标定接触式对刀仪的表面 Z 机械高度和 XY 盘面位置偏差。 |
| L9856 | 刀具长度测量 (Tool Length Measure) | 测量主轴上非旋转或旋转刀具的实测绝对长度并更新刀补。 |
| L9857 | 刀具半径测量 (Tool Radius Measure) | 旋转状态下动态测量铣刀半径或盘铣刀的最大旋转外径。 |
| L9858 | 刀具破损检测 (Tool Breakage Detection) | 断刀破损快速在线检查,超过门槛设定值强制停机并报警。 |
3.2 L98xx 宏调用参数赋值机制
在西门子系统下,雷尼绍 L98xx 软件包采用以下两种灵活的调用语法:
- 参数赋值调用(标准西门子传递):
L9812 DI=80.0 ZZ=-10.0 S=1
(其中 DI 对应发那科的 Dd 参数,ZZ 对应 Zz 深度,S 代表写入 1 号坐标系即 G54) - R 变量传值法(经典雷尼绍西门子法):
由于西门子部分早期版本不支持英文字母参数混合传递,雷尼绍也允许使用特定的 R 参数块或系统的O98XX[]变量数组完成参数预定义,然后直接写L9812进行空调用。
4. 结果回传与全局变量 (_OVR 数组与 GUD 变量)
在测量结果的回传机制上,西门子系统与发那科也具有本质区别:
4.1 系统的 _OVR[ ] 数组:西门子与雷尼绍的通用接口
无论是执行西门子原生测量循环(CYCLE97x),还是执行雷尼绍的 L98xx 子程序,其测量计算出的结果(如实测尺寸、中心偏置、偏差量)一律回写并保存到西门子系统内部的 _OVR[ ] 全局系统变量数组中。
核心回写变量映射表 (工件测量):
| 系统 _OVR[ ] 变量 | 对应发那科 # 变量 | 物理含义 | 备注 |
|---|---|---|---|
| _OVR[1] | #138 | 测量尺寸实测值 (内径/外径/宽度) | 包含加工公差校验 |
| _OVR[4] | #135 | 实测 X 轴测量中心值 | 绝对机械坐标 / 相对偏置 |
| _OVR[5] | #136 | 实测 Y 轴测量中心值 | 第二轴绝对坐标 |
| _OVR[6] | #137 | 实测 Z 轴测量高度值 | Z 轴高度实测结果 |
| _OVR[16] | #141 | 实测尺寸偏差量 (实测 - 标称) | 用于判定是否超差、分配刀补 |
| _OVR[20] | #143 | Y 轴测量偏差值 | Y 轴方向的位置偏差 |
调试及自动加工程序可以通过直接读取该数组来做逻辑控制,例如:
IF (_OVR[16] > 0.05) GOTOF OVER_TOLERANCE ; 如果偏差大于0.05mm则跳转到异常刀补处理
4.2 全局用户数据(GUD)的命名与防重名冲突
在发那科系统下,雷尼绍利用 #500 到 #531 来存储偏置参数。在西门子系统中,雷尼绍使用专门的 GUD(Global User Data) 变量库,典型的命名为以 O98XX[] 命名的数组变量。这组变量在 PLC 与 NC 启动时直接载入静态存储区(SRAM)中,在机床断电时也会永久保留。
5. 实战对比:原生 CYCLE 与雷尼绍 L98xx 代码例程
为了让现场工艺员和电气工程师完全掌握两者的本质区别,以下分别给出西门子原生循环 (CYCLE97x) 与 雷尼绍 Inspection Plus (L98xx) 在机床执行“保护定位 -> 内孔寻心写回G54 -> 抬刀 -> 测头关机”的完整 NC 程序(MPF):
5.1 示范程序 A:采用【西门子原生测量循环 CYCLE97x】
; ================================================================
; 示范程序 A:SIEMENS_NATIVE_PROBE.MPF
; 适用:SINUMERIK 828D / 840D sl 原生测量循环写法
; ================================================================
N10 G21 G90 G94 ; 单位与绝对坐标设定
N20 T20 D1 ; 调入测量探针 20 号,激活 D1 长度补偿
N30 G54 G0 X0. Y0. Z100. ; 定位至标称内孔粗心上空,Z 轴安全高度
N40 STOPRE ; 打断系统预读,防止提前触发触测动作; — 步骤 1: 开启测头 —
N50 M19 ; 主轴定向,确保探针触发偏心能由系统常数补偿
N60 G0 Z25. ; 快速下刀
N70 G1 Z10. F1500 ; 慢速至进给平面; — 步骤 2: 原生触测内孔寻中并一键改写 G54 (GUD 变量传入) —
; S_MVAR = 920512 代表:多点圆孔内寻中测量,并将中心改写进当前零偏坐标系中
; S_SETVAL = 50.0 代表:标称直径为 50.0mm
; S_KNUM = 1 代表:写入 1 号可设定坐标系(即 G54)
; S_TSA = 3 代表:测量深度 Z = -5.0mm
N80 CYCLE977(920512, 1, 1, 50.0, 10.0, -5.0, 0.0, 360.0, 4, 1, 1, 0.2, 0.0, 0.0, 0, 1)
N90 STOPRE ; 打断预读; — 步骤 3: 测量计算分析 —
N100 IF (_OVR[16] > 0.03) GOTOF LIMIT_ALARM ; 如果测出的孔径偏大超过 0.03mm,跳转报警; — 步骤 4: 结束抬刀并安全复位 —
N110 G0 Z150. ; 快速安全抬刀
N120 M30 ; 程序正常结束N130 LIMIT_ALARM:
N140 MSG(“孔径尺寸超差:实测偏差已超过阀值 0.03mm!”)
N150 M0 ; 提示并强制暂停
N160 M30
5.2 示范程序 B:采用【雷尼绍 Inspection Plus for Siemens (L98xx)】
; ================================================================
; 示范程序 B:RENISHAW_L98XX_PROBE.MPF
; 适用:安装了雷尼绍官方 Inspection Plus for Siemens 软件包的机床
; ================================================================
N10 G21 G90 G94 ; 安全设定
N20 T20 D1 ; 调入 20 号雷尼绍测头并启用 D1
N30 G54 G0 X0. Y0. Z100. ; 定位至 G54 上方
N40 L9832 ; 调用雷尼绍官方 L9832 子程序开启测头信号; — 步骤 1: 调用 L9810 保护性定位安全下至 Z-5mm 深度 —
N50 L9810 Z-5.0 F3000 ; 以 3000mm/min 速度下潜,全程硬跳过触测报警保护; — 步骤 2: 调用 L9812 执行标准 4 点内孔精密寻中 —
; DI = 50.0 代表:标称孔径 50.0mm
; ZZ = -5.0 代表:Z 向当前测量深度
; S = 1.0 代表:测量完将 X/Y 偏置一键写回 G54(1号坐标系)
N60 L9812 DI=50.0 ZZ=-5.0 S=1.0
N70 STOPRE ; 打断预读,将数据锁定入系统; — 步骤 3: 回读计算出的偏差 —
N80 R50 = _OVR[16] ; 将测量的尺寸偏差(实测值-标称值)转存到 R50 变量中
N90 IF (R50 > 0.03) GOTOF ERROR_PROCESS; — 步骤 4: 抬刀并关闭测头 —
N100 G0 Z150. ; 抬到绝对安全参考高度
N110 L9833 ; 调用雷尼绍官方 L9833 物理关闭测头红外信号
N120 M30N130 ERROR_PROCESS:
N140 MSG(“雷尼绍警告:工件实测孔径偏大,当前偏差:” << R50)
N150 M0
N160 M30
6. 调试与防错:10 大西门子在机测量安全避坑指南
西门子系统的控制机制极为灵敏,在机测量对环境和变量极其敏感。为了降低现场发生物理碰撞(撞针)和数据漂移的故障率,务必在调试时严格遵守以下 10 大安全防错指南:
- 打断系统预读锁 (STOPRE):
西门子具有极强的多段超前预读(Look-Ahead)能力。在执行任何测量循环(不管是原生CYCLE97x还是L98xx)的前后段,必须插入STOPRE指令打断系统预读! 否则,CNC 可能会在测量动作尚未完成时就读取结果变量,或者在测头尚未到达测量深度时便提前判断为触发,引发逻辑混乱和撞机。 - 绝对禁止手动覆盖 R100 到 R249:
雷尼绍在西门子底层运算时,会大量临时读写公共变量 R100 至 R249。在编写排屑、冲水、四轴自锁等与测量无关的数控宏程序时,千万不要占用 R100 到 R249 区间! 否则一旦测量计算数值被后台覆盖,测头会瞬间丧失球心偏摆补偿和标定高度,导致下次下刀触测时以极高进给直接顶碎测针! - 高速硬中断接口校验 (DB 选件锁):
无论是 L9810 保护移刀还是西门子原生CYCLE,其触测保护全靠高速跳过输入(HSS)的微秒级硬中断。西门子必须开通 “在机测量/硬中断响应功能接口”系统软件选件。如果未开通该选件,任何调用MEAS/MEAW相关的测量,在碰触时系统均不会发出进给刹车信号,测头会被活活挤断! - 测球材质与高精度底层原理解析:
现场在机测量之所以能保证单向重复定位精度在 2μm 以内,是基于雷尼绍底层的精密电学触点结构原理(Kinematic resistive switch):测针连杆底座通过 3 个 120° 导电销卡合在 6 个精密碳化钨球形触点组成的导电回路上。测针一旦受到 0.1μm 级的微小接触力,便会使其中 1 个触点发生微分离,导致闭合回路的阻抗瞬间跳变,发出硬中断。该结构对侧向拉力极敏感,现场切忌随意更换非原装、无阻抗标定的蓝宝石测球。 - **轴偏零写入安全锁 ( P U I F R [ ] 保护 ) ∗ ∗ :在运行雷尼绍 L 9812 或原生 C Y C L E 时,如果测量参数配置了写入坐标系(如 ‘ S 1.0 ‘ 或 ‘ S K N U M = 1 ‘ ),系统在触测完毕后会自动写入到系统的零点偏置寄存器中(如 ‘ P_UIFR[ ] 保护)**: 在运行雷尼绍 L9812 或原生 CYCLE 时,如果测量参数配置了写入坐标系(如 `S1.0` 或 `S_KNUM=1`),系统在触测完毕后会自动写入到系统的零点偏置寄存器中(如 ` PUIFR[]保护)∗∗:在运行雷尼绍L9812或原生CYCLE时,如果测量参数配置了写入坐标系(如‘S1.0‘或‘SKNUM=1‘),系统在触测完毕后会自动写入到系统的零点偏置寄存器中(如‘P_UIFR[1]` 对应 G54)。在自动触测运行过程中,绝对不可以使用带有 PLC 或操作面板的手动 G10/MDI 强行修改该坐标系,严防数据覆盖带来二次碰撞风险。
- 主轴机械强定位限制 (M19 的同步响应):
在执行测孔(L9812)、测圆柱(L9814)或进行偏心标定前,主轴必须精确锁定在同一个物理取向(通常是 M19 定向锁住)! 如果机床厂的 PLC 没有把 M19 定向完成信号反馈给系统的 NC 控制器内核,即使程序中调用了测量指令,也会在定向等待中超时,或因主轴自由转动导致 3D 标定偏心数据完全失真,测量结果发生漂移。 - 测头电池欠压 DB 信号关联防护:
当测头电池(如 Saft 1/2AA 锂电池)电压低于系统警戒线时,红外光学通信强度会瞬间减弱。PLC 必须在后台把 OMI-2 接收器的“Battery Low”信号引脚关联至系统 DB 接口(如发出 PLC 报警 700025)。如果强行执行,可能会在测下刀过程中红外信号突发中断,系统未捕捉到 G31 信号进而引发直插撞机! - 吹气吹屑自净延时 (空气自吹气 0.4MPa 调试):
在对工件和对刀仪进行触测之前,必须确保 0.4MPa 气源工作 2-3 秒,彻底吹飞接触部位的切屑和乳化液。由于乳化液具有极高的粘滞阻力,如果不完全吹净,测头触测时会因乳化液膜的存在产生虚假触发或延迟触发,测量结果会发生 10-15μm 的严重精度波动。 - 旋转测量必须使用主轴反转:
在执行刀具动态半径检测(L9857)时,为防撞坏对刀仪,主轴必须反转(M04)。如果错用 M03 正转,精加工铣刀和硬质合金锋利的刃口在瞬间接触盘面时,会将高精密研磨的盘型测头测盘硬生生刮伤或啃断! - 防撞“弱拉针”保护措施:
雷尼绍接触式对刀仪(如 TS27R/RTS)以及工件测头的连杆根部,均设计有专属的“高韧性弱拉针(Break stem)”。当发生意外严重的机械撞击时,弱拉针会自动率先断裂并吸收碰撞能量,防止数千元的高精度光电本体结构报废。在现场拉针折断后,严禁随意找一个不锈钢螺丝或高强铁销代替! 这会彻底丧失二级碰撞泄力保障。
7. 常见故障诊断与技术 FAQ
Q:为什么在西门子 HMI 上调用 L9812 测量圆孔,系统提示“数组溢出或变量定义不存在”?
A:这通常是因为机床没有在系统静态数据(SRAM)中声明雷尼绍的全局变量数组(主要是O98XX[ ]数组定义缺失或未加载)。需要将雷尼绍安装盘里的定义文件(如_N_GUD9_DEF)拷贝进数控系统的用户定义区并执行“启动(SBL)”重置或整机重启,确保系统变量就绪。Q:同一台五轴联动龙门设备上有双主轴,怎么配合雷尼绍红外接收箱实现信号分配?
A:可以采用雷尼绍的 多测头共用(Multiple Probe System)技术。使用带有多信道编码配对功能的 RMI-Q 无线电接收器。两支测头注册在同一个 RMI-Q 上。在 PLC 程序中,根据当前执行加工的 Z 轴主轴 A 或主轴 B 的换刀就绪信号,通过 PLC 的输出控制线发出高低电平控制 RMI-Q 进行测头切换锁死,即可实现红外/射频信号的物理隔离与通讯安全。
版权声明: 本文档由宁波匠测科技有限公司技术部原创编制并发布,旨在为精密机加工领域的设备维保技术人员及电气调试员提供最具深度和实战价值的测量技术支持。
声明:本文中涉及到的所有西门子系统指令(CYCLE973~978 等)及雷尼绍宏程序(L9810/L9811/L9812),均对齐西门子官方《SINUMERIK 测量循环手册》以及雷尼绍现场调试标准。上机实测前请务必单段低速调试,做好充分防撞验证。

被折叠的 条评论
为什么被折叠?



