【西门子篇】雷尼绍Inspection Plus宏程序编程指南

西门子 (SINUMERIK) 原生测量循环与雷尼绍 L98xx 宏程序编程及调试指南

文档编号: RG-SI07-v3.0
编制单位: 宁波匠测科技有限公司 技术部
适用系统: SINUMERIK 828D / 840D / 840D sl
核心主题: 区分并掌握西门子系统自带的原生测量循环(CYCLE97x)与雷尼绍 Inspection Plus 软件包(L98xx)的双模编程,附 10 大防撞避坑指南与结果回写。


目录

  1. 概述:西门子系统与发那科系统的编程哲学差异
  2. 西门子原生测量循环 (CYCLE97x) 架构详解
  3. 雷尼绍 Inspection Plus for Siemens (L98xx) 软件包详解
  4. 结果回传与全局变量 (_OVR 数组与 GUD 变量)
  5. 实战对比:原生 CYCLE 与雷尼绍 L98xx 代码例程
  6. 调试与防错:10 大西门子在机测量安全避坑指南
  7. 常见故障诊断与技术 FAQ

1. 概述:西门子系统与发那科系统的编程哲学差异

在数控在机测量(On-Machine Measurement, OMM)领域,**发那科(Fanuc)西门子(SINUMERIK)**系统代表了两种完全不同的底层设计理念:

  • 发那科体系:一切测量基于“宏程序”开发。雷尼绍的 Inspection Plus 软件包在发那科上通过 G65 P98xx 命令来调用 O9xxx 系列用户子程序,参数通过英文字母地址(D, Z, S, H 等)传递。
  • 西门子体系:具备“双轨制”测量路线。
    1. 西门子原生测量技术(Measuring Technology):直接嵌入在系统内核中。西门子系统自带了一套高精度、深度集成的原生测量循环,即 CYCLE971CYCLE998。调用时不依赖任何雷尼绍宏程序,直接从数控系统界面或 NC 代码中调用。
    2. 雷尼绍 Inspection Plus 软件包(西门子版):这是雷尼绍为西门子系统定制开发的一套独立的测量子程序,通常以 L98xx(如 L9810, L9812)命名。它的指令和流程虽然在模仿发那科,但在西门子系统下是以独立的子程序形态存在。

行业技术漏洞纠正
在现场应用或各大数控论坛上,许多工程师和技术文章常常将西门子自带的原生循环(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)对外圆、方凸起物进行寻心并将中心点一键改写进坐标系。
L98153D角点触测 (Corner Measurement)自动触碰两个相交面,计算其理论角点交点和夹角。
L98175点矩形触测 (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 软件包采用以下两种灵活的调用语法:

  1. 参数赋值调用(标准西门子传递)

    L9812 DI=80.0 ZZ=-10.0 S=1
    (其中 DI 对应发那科的 Dd 参数,ZZ 对应 Zz 深度,S 代表写入 1 号坐标系即 G54)

  2. 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]#143Y 轴测量偏差值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 M30

N130 ERROR_PROCESS:
N140 MSG(“雷尼绍警告:工件实测孔径偏大,当前偏差:” << R50)
N150 M0
N160 M30


6. 调试与防错:10 大西门子在机测量安全避坑指南

西门子系统的控制机制极为灵敏,在机测量对环境和变量极其敏感。为了降低现场发生物理碰撞(撞针)和数据漂移的故障率,务必在调试时严格遵守以下 10 大安全防错指南

  1. 打断系统预读锁 (STOPRE)
    西门子具有极强的多段超前预读(Look-Ahead)能力。在执行任何测量循环(不管是原生 CYCLE97x 还是 L98xx)的前后段,必须插入 STOPRE 指令打断系统预读! 否则,CNC 可能会在测量动作尚未完成时就读取结果变量,或者在测头尚未到达测量深度时便提前判断为触发,引发逻辑混乱和撞机。
  2. 绝对禁止手动覆盖 R100 到 R249
    雷尼绍在西门子底层运算时,会大量临时读写公共变量 R100 至 R249。在编写排屑、冲水、四轴自锁等与测量无关的数控宏程序时,千万不要占用 R100 到 R249 区间! 否则一旦测量计算数值被后台覆盖,测头会瞬间丧失球心偏摆补偿和标定高度,导致下次下刀触测时以极高进给直接顶碎测针!
  3. 高速硬中断接口校验 (DB 选件锁)
    无论是 L9810 保护移刀还是西门子原生 CYCLE,其触测保护全靠高速跳过输入(HSS)的微秒级硬中断。西门子必须开通 “在机测量/硬中断响应功能接口”系统软件选件。如果未开通该选件,任何调用 MEAS/MEAW 相关的测量,在碰触时系统均不会发出进给刹车信号,测头会被活活挤断!
  4. 测球材质与高精度底层原理解析
    现场在机测量之所以能保证单向重复定位精度在 2μm 以内,是基于雷尼绍底层的精密电学触点结构原理(Kinematic resistive switch):测针连杆底座通过 3 个 120° 导电销卡合在 6 个精密碳化钨球形触点组成的导电回路上。测针一旦受到 0.1μm 级的微小接触力,便会使其中 1 个触点发生微分离,导致闭合回路的阻抗瞬间跳变,发出硬中断。该结构对侧向拉力极敏感,现场切忌随意更换非原装、无阻抗标定的蓝宝石测球。
  5. **轴偏零写入安全锁 ( 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 强行修改该坐标系,严防数据覆盖带来二次碰撞风险。
  6. 主轴机械强定位限制 (M19 的同步响应)
    在执行测孔(L9812)、测圆柱(L9814)或进行偏心标定前,主轴必须精确锁定在同一个物理取向(通常是 M19 定向锁住)! 如果机床厂的 PLC 没有把 M19 定向完成信号反馈给系统的 NC 控制器内核,即使程序中调用了测量指令,也会在定向等待中超时,或因主轴自由转动导致 3D 标定偏心数据完全失真,测量结果发生漂移。
  7. 测头电池欠压 DB 信号关联防护
    当测头电池(如 Saft 1/2AA 锂电池)电压低于系统警戒线时,红外光学通信强度会瞬间减弱。PLC 必须在后台把 OMI-2 接收器的“Battery Low”信号引脚关联至系统 DB 接口(如发出 PLC 报警 700025)。如果强行执行,可能会在测下刀过程中红外信号突发中断,系统未捕捉到 G31 信号进而引发直插撞机!
  8. 吹气吹屑自净延时 (空气自吹气 0.4MPa 调试)
    在对工件和对刀仪进行触测之前,必须确保 0.4MPa 气源工作 2-3 秒,彻底吹飞接触部位的切屑和乳化液。由于乳化液具有极高的粘滞阻力,如果不完全吹净,测头触测时会因乳化液膜的存在产生虚假触发或延迟触发,测量结果会发生 10-15μm 的严重精度波动。
  9. 旋转测量必须使用主轴反转
    在执行刀具动态半径检测(L9857)时,为防撞坏对刀仪,主轴必须反转(M04)。如果错用 M03 正转,精加工铣刀和硬质合金锋利的刃口在瞬间接触盘面时,会将高精密研磨的盘型测头测盘硬生生刮伤或啃断!
  10. 防撞“弱拉针”保护措施
    雷尼绍接触式对刀仪(如 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 测量循环手册》以及雷尼绍现场调试标准。上机实测前请务必单段低速调试,做好充分防撞验证。

内容概要:本文围绕可变桨叶四旋翼无人机的规范控制与点对点运动模拟展开,重点研究优化推力分配策略在翻转动作中的应用与性能比较。通过Matlab代码实现,构建了四旋翼动力学模型,并设计了多种控制算法以实现精确的姿态调整与轨迹跟踪。研究对比了不同推力分配方案在执行高机动性翻转动作时的稳定性、能耗效率与响应速度,旨在提升无人机在复杂飞行任务中的动态性能与控制精度。该仿真研究为无人机飞控系统的设计与优化提供了理论依据和技术支持。; 适合人群:具备一定自动控制理论基础和Matlab编程能力,从事无人机控制、飞行器动力学或机器人系统研究的科研人员及研究生。; 使用场景及目标:① 实现四旋翼无人机在三维空间中的精确点对点运动控制;② 对比分析不同推力分配策略在执行翻转等高难度动作时的控制效果与能耗表现,优化飞行性能;③ 为无人机自主飞行、特技飞行及复杂环境下的机动控制提供算法验证平台。; 阅读建议:此资源以Matlab仿真为核心,建议读者结合相关控制理论知识,深入理解代码实现细节,重点关注动力学建模、控制律设计与推力分配模块。在学习过程中,应动手调试参数,复现文中翻转动作的仿真结果,并尝试拓展至其他复杂飞行任务,以加深对无人机控制机理的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值