发那科机床加装测头:哪些系统限制绕得开(上)
引言
给发那科(FANUC)机床加装测头和对刀仪时,很多人碰到的第一道坎,往往是系统侧的"能不能用"问题:写好的宏程序在 MDI 里跑报警,跳步指令不生效,读取变量地址返回的是空值,补偿写不进去。这些现象常被归成一句"这台机床不支持测头",于是方案搁置。实际上,发那科测头闭环依赖的功能大部分属于系统选项与配置,不少"限制"并不等于"做不到",而是对应选项没有开通、参数没有设定、电气通路没有接好。本篇把这类可通过配置、选型或改造绕开的限制逐项拆开,针对宏程序执行能力、用户宏变量区容量、跳步功能、触发坐标读取通路、补偿变量区、宏报警写入六项,给出怎么查、怎么开、找谁开的具体路径。这是系列的上篇,聚焦"绕得开"的部分;真正绕不开的限制,例如高速跳转输入通道本身没有预留、数控系统硬件不支持测量输入等,留给下篇展开。读者读完本篇可以建立一个判断框架:先把可配置项逐一排除,再判断问题是否真的出在系统能力上。文中涉及的宏号、变量号与指令名以系统侧基线为准,超出基线的具体参数号、选项号与诊断号,须查该机床的 FANUC 官方参数手册与选项清单,本文不在此自行推断。
第1章 宏程序能力核查
1.1 宏程序为什么是加装测头的前提
发那科测头闭环的落地形态,绝大多数依赖用户宏程序。测头触发后,控制器锁存触发坐标,后续的读取、计算、补偿写回,都由一段宏程序执行。无论用的是雷尼绍的 Inspection Plus(O9801~O9843 系列)与 GoProbe,还是波龙、马波斯等品牌的宏体系,其入口都是宏调用。也就是说,一台发那科机床能否跑测头程序,首先取决于它能不能执行用户宏程序。如果这台机床没有开通用户宏 B 功能,那么再好的测头硬件也落不了地,因为所有测量逻辑都需要通过宏代码驱动。反过来,只要宏程序执行能力可用,剩下的变量区、跳步、坐标读取等问题,多半就是选项与接线层面的活了。
1.2 宏程序执行器:G65 与 G66 系列调用
发那科宏程序调用有几种方式。G65 是单调调用,执行完返回调用点后继续原程序;G66 是模态调用 A,指定后后续每个移动指令都触发一次宏调用,直到用 G67 取消(取消指令的具体语法,以该机床的 FANUC 官方编程手册为准);G66.1 是模态调用 B,与 G66 类似但触发条件不同。此外,发那科还支持通过 G 代码、以及 M、S、T、B 辅助功能代码来调用宏程序。对测头应用而言,G65 单调调用用得较多,因为测量动作往往是"移动到测量点---触发---读取---回到安全点",每个测量动作是一次性的,用 G65 逐次调用清晰直观;GoProbe 体系里接触式对刀的入口就是 G65 P9921 M21/M22/M23,分别对应刀长、刀长加直径、断刀检测三类动作。
判断机床是否支持这些宏调用,第一步是看它是否具备用户宏 B 的功能选项。发那科的宏程序功能通常作为选配提供,出厂的机床可能没有勾选。判断的现场方法是进入 MDI 方式,输入一条最简单的宏语句,例如给变量区赋值,看系统是否报警。也可以直接调用一个已知的宏程序,如果提示找不到宏程序或不支持该指令,就需要向机床制造商或发那科渠道确认该功能的选项号与开通状态。具体到哪一项选项对应哪个编号,各型号发那科控制器不同,且涉及系统版本,这一项须对照该机床的 FANUC 官方参数手册与选项清单查证。
1.3 宏程序来源与存储位置
宏程序要有地方放。发那科的测量宏程序(例如 O9801~O9843 系列、GoProbe 的 O9832、O9810、O9833 等)需要载入系统的宏程序存储区,或者存放在程序号对应的存储单元里。这意味着除了宏程序执行功能本身,还需要考虑程序存储容量。如果机床上没有足够的存储空间,或者宏程序被锁定、被覆盖,都会表现为"调不出、跑不了"。这类问题看起来像系统不支持,实际上是存储与程序管理层面的配置问题,属于可绕开项。
在排查顺序上,建议先确认宏程序执行功能已开通,再确认宏程序文件已正确载入且程序号没有与机床既有程序冲突,最后确认调用指令的书写符合该机床的手册要求。这三层都通过后,才能把"跑不了"归因到系统能力。
1.4 功能核查的第一张表
把宏程序能力相关的核查点汇总成一张表,便于现场逐项对照。
| 核查项 | 关键指令/程序 | 判定依据 | 走不通时的方向 |
|---|---|---|---|
| 宏程序执行功能 | 用户宏 B | MDI 输入宏语句是否报警 | 向机床厂确认选项开通 |
| 单调调用 | G65 | 调用已知宏是否正常返回 | 检查宏程序文件与程序号 |
| 模态调用 | G66 / G66.1 | 连续移动是否每次触发 | 核对 G67 取消逻辑是否正确 |
| 辅助功能宏调用 | M/S/T/B 代码宏 | 相应辅助代码是否触发 | 核对宏映射与参数设定 |
| 测量宏入口 | O9801~O9843、GoProbe O9832/O9810/O9833 | 能否正常调入执行 | 检查存储区与程序锁 |
1.5 为什么"看是否报警"要先做
加装测头前的系统核查,第一件事不是接线,而是先确认系统侧的执行能力。在 MDI 里跑一句宏赋值、调用一个空宏程序,成本低、反馈直接:不报警说明执行层面通了,问题可以转向变量区、跳步与信号通路;报警则明确指向功能未开通或调用写法有问题。这一步能避免一种常见误区------把宏程序本身写错,却误判成机床不支持宏。因此本章提供的判断路径是"先能力,后写法,再接信号",把系统能力核查放在加装流程的最前面。能力判定通过后,才进入变量区与补偿区等后续核查。
1.6 把"能力"与"写法"分开看
排查宏程序相关报警时,最容易混淆的是两类原因。一类是系统能力层面:这台机床没有开通用户宏程序执行功能,任何宏调用都走不通,这类属于选项问题,可向机床厂申请开通;另一类是程序写法层面:宏号写错、程序号冲突、调用格式与该机床手册不符,这类属于程序编写问题,改正即可,与系统能力无关。判断属于哪一类,可以用一条已知能运行的宏程序做基准------如果已知程序也无法调用,倾向能力层面;如果已知程序正常、只有新写的程序报警,倾向写法层面。把这两类分开,能显著减少无效沟通,也能避免一遇到报警就误判为机床不支持测头。宏程序的调用格式与书写规则,应回到该机床的 FANUC 官方编程手册核对。
1.7 模态调用在测头场景里的实际用法
G66 与 G66.1 模态调用在测头场景中的用法,与 G65 单调调用不同。G65 是一次性调用,适合"单点测量、读坐标、回程"这类独立动作;G66 与 G66.1 则在指定后,后续的每个移动指令都会触发一次宏调用,适合需要沿多个点位连续执行同一测量动作的场合,例如沿工件表面连续触碰取样。两者的触发条件与取消方式(G67 取消)在官方手册中有明确区分。对初次加装测头的机床,建议优先用 G65 单调调用验证能力,把模态调用的验证放在功能确认之后进行,避免在能力未确认时被调用方式的细节干扰判断。G66 与 G66.1 的具体语法与取消规则,见该机床的 FANUC 官方编程手册。
1.8 测量程序与加工程序的衔接
测量宏的调用,通常要嵌进加工程序的流程里:加工到某个节点暂停或退至测量位置,调用测量宏执行触碰测量,读取结果并写回补偿,再继续后续加工。因此宏程序执行能力不仅能独立运行测量动作,还需要能与机床既有的加工程序衔接。核查时建议同时确认:测量宏是否能在自动运行(AUTO)方式下被加工程序正常调用,还是只能在 MDI 方式下临时执行。若测量宏只能在手动调试时运行、无法在自动循环中被加工程序调用,说明系统侧对宏调用的运行方式存在限制,需要确认其是否属于选项配置问题。测量宏与加工程序衔接的具体调用写法,以所用宏程序的手册说明与机床官方编程手册为准。
第2章 变量区与补偿区容量核查
2.1 用户宏变量区是测量的"草稿纸"
测量宏程序的中间计算,落在用户宏变量区。发那科的用户宏公共变量分为两组:#100~#199 与 #500~#599;此外还有局部变量 #1~#33,用于子程序内部的临时计算。公共变量可以在程序之间传递数值,是测量程序中存放测量结果、偏差量、判定标志的常用区域。测头程序算出某一点的实际坐标后,往往先把结果放进公共变量,再根据后续逻辑决定是否写回刀补。如果这台机床的公共变量区容量不足,或者部分变量段被其他程序占用,测量程序的运行就会受到约束。
需要说明的是,#100~#199 这组变量在关机或复位后会被清除,而 #500~#599 这组在关机断电后仍能保持。理解这个差异对加装测头有实际意义:如果希望某次测量得到的结果在机床关机后仍然保留,用于跨班次追溯或交接,就需要使用 #500~#599 区间;如果只是程序运行过程中的中间值,#100~#199 就够用,且不会留下残留数据。具体到测头程序用哪一段,以所用宏程序的手册说明为准。
2.2 变量区容量与占用核查
变量区容量核查的关键,是确认 #100~#199 与 #500~#599 是否都可写、是否被其他功能占用。发那科的部分系统变量区间有专门用途,不能全部当作自由使用的公共变量;同时,机床厂自带的加工程序、自动上下料程序、刀具管理程序等,也可能占用一部分公共变量,与测量宏程序形成冲突。加装测头前,建议先盘点这台机床上现有的宏程序用到了哪些变量号,把测量程序的变量使用范围与之错开,避免互相覆盖。
现场核实变量区是否可用的最简单方法,是在 MDI 里给目标变量赋值,再读回来看值是否一致。例如写入 #150 或 #550 这类中间号段,看能否正常读写。若某个号段赋值后读回异常,说明该号段可能存在占用或读写限制。这里的核心口径是:变量号段的可用性由系统配置决定,凡手册未明确的号段边界,其界定以该机床的 FANUC 官方编程手册为准,不自行推断。变量区"容量不够"这一表述,更准确的说法是"可用号段与现有程序冲突",属可通过规划错开、调整变量分配来解决的问题。
2.3 补偿变量区:测量结果写回刀补的落点
测头测量的一个重要用途,是把测得的偏差写回刀具补偿,让下一次加工自动修正。这是工件测量闭环的关键一步。写入刀补的依据是发那科的补偿变量区:#10001~#10400 为长度几何补偿,写的是刀具长度的基础值;#12001~#12400 为长度磨损补偿,记录刀具长度的磨损量;#13001~#13400 为半径磨损补偿,用于刀具半径的方向修正。这些号段的下标编号通常对应刀具号(T 号),测量宏程序按当前刀具号找到对应的补偿变量,写入或读出补偿值。
补偿变量区是否可用,取决于系统的补偿功能与刀补数据是否被正确设定。如果机床的刀补数据表没有建立,或者补偿类型设定与加工工艺不符,写入补偿变量后可能不产生预期的补偿效果,甚至造成后续刀具补偿错乱。因此核查时不仅要确认变量可写,还要确认机床的刀补数据体系能与测量宏程序的写入方式对齐。补偿变量区的具体使用规则,须查该机床的 FANUC 官方参数手册。
2.4 变量区与补偿区对照表
把两类区域整理成对照表,方便核对各自的用途与注意点。
| 区域 | 区间 | 主要用途 | 关机后保留 | 核查要点 |
|---|---|---|---|---|
| 公共变量(易失) | #100~#199 | 测量中间值、临时判定 | 否 | 是否被现有程序占用 |
| 公共变量(保持) | #500~#599 | 需要跨断电保留的结果 | 是 | 是否与既有宏冲突 |
| 局部变量 | #1~#33 | 子程序内部临时量 | 否 | 单次调用内有效 |
| 长度几何补偿 | #10001~#10400 | 刀具长度基础值 | 依据刀补设定 | 刀补表是否建立 |
| 长度磨损补偿 | #12001~#12400 | 刀具长度磨损量 | 依据刀补设定 | 与长度几何是否一致 |
| 半径磨损补偿 | #13001~#13400 | 刀具半径修正量 | 依据刀补设定 | 与刀具类型是否匹配 |
2.5 变量分配规划的现实做法
加装测头时,变量区最常出现的不是"物理容量不足",而是"号段冲突"。一台已投入使用的发那科机床,往往带着机床厂写入的多种宏程序,公共变量被占用的现象比较普遍。处理这类冲突的做法,是建立一张变量号段分配表:哪些号段给机床已有程序用,哪些号段留给测头测量程序,哪些号段作为跨程序交互的约定通道。分配表建好后,测量宏程序的变量使用范围明确,后续维护、升级或追加测量程序时都能快速定位是否有冲突。
把变量分配纳入加装清单,另一个好处是便于与机床厂或宏程序供应商沟通。当需要调整测量宏的变量使用段时,有了一张清晰的占用表,改动范围与影响面都容易评估。变量号段的分配本身不涉及系统选项开通,属于程序规划层面的工作,是典型的"可绕开"限制:只要号段规划得当、避免冲突,公共变量不会成为加装测头的硬约束。具体到某些号段是否有专用含义、能否自由读写,仍应回到该机床的 FANUC 官方编程手册确认。
2.6 补偿写回与刀具号对应的关系
补偿变量区的下标编号通常与刀具号对应,这带来一个需要现场确认的点:测量宏写入补偿时,用的是哪一把刀的补偿槽位。发那科的刀补是按刀具号组织的,测头程序读取当前刀具的补偿变量、写入偏差值,下一把使用该刀具号的加工循环就会自动带上修正后的补偿。因此核查补偿区时,除了确认变量可写,还要确认:测量时选择的刀具号是否就是后续加工使用的刀具号,写入的补偿槽位是否与期望生效的刀具一致。如果刀具号不匹配,会出现"写入成功但加工没变"的现象,容易误判成补偿不可用。刀补数据按刀具号组织的具体规则,其口径来自该机床的 FANUC 官方参数手册。
2.7 变量读写验证的注意事项
用 MDI 验证变量区可写可读时,有两点需要留意。一是写入与读回的时机:在复位或关机动作之后,易失变量区的内容会被清除,验证时应区分"变量本身可写"与"变量值能否跨断电保留"两个不同结论,不能混为一谈。二是避免用机床正在使用的关键变量做破坏性测试:验证 #100~#199 或 #500~#599 时,尽量用当前程序未占用的号段,写入后及时恢复原值,防止干扰正在运行的加工程序。验证公共变量时如果改动了 #500~#599 这类保持变量区,建议记录原值、验证后恢复,避免遗留干扰后续生产。变量号段的边界与保留特性,其权威定义见该机床的 FANUC 官方编程手册。
第3章 跳步与触发坐标通路核查
3.1 跳步是测头触发的核心机制
发那科机床加装测头,触碰测量依赖跳步指令 G31。G31 的机制是:轴在进给移动中,一旦收到测量输入信号,立即舍去剩余距离、停止当前位置运动,同时把当前坐标锁存到触发坐标系统变量中。测头在移动过程中碰到工件,输出信号经信号通路进入控制器,G31 立即响应并停住,随后宏程序读取锁存坐标,作为测量结果。因此,G31 是否可用、跳步信号通路是否畅通,直接决定了测头能不能完成"碰到即停、停了即读坐标"这个基本动作。
G31 跳步功能是否开通,是系统配置层面的事。不同发那科机型的跳步使能参数不同,涉及的参数号随控制器型号与系统版本而异;基线上已明确一项需要避开的认知误区:跳步使能的相关参数并非某些流传说法中的 5001~5080(那是主轴参数区间),也不是 3006 号参数里的相关位。正确的核查方式,是查该机床的 FANUC 官方参数手册中关于跳步功能的参数设定,而不是套用流传的参数号。凡手册未明确的参数,一律以官方手册为准。
3.2 触发坐标的读取通路
触发坐标系统变量为 #5061~#5064,分别对应第 1 轴到第 4 轴的跳跃坐标。G31 触发时,被锁存的坐标就放在这些变量里,宏程序通过读取 #5061~#5064 拿到触发点在各轴上的实际位置。这里需要确认的是读取通路是否畅通,即 G31 触发后,#5061~#5064 是否确实写入了有效坐标值。如果跳步触发了,但这几个变量读出的值是 0 或空值,说明锁存环节没有建立,问题出在信号通路或参数设定,而非测头本身。
现场核实读取通路的做法,是在 MDI 里运行一段带跳步的验证程序:低速移动轴,人为触发跳步输入,随后读取 #5061~#5064,看是否得到接近当前实际位置的坐标值。若读出的坐标合理,说明触发坐标锁存链路通畅;若读出异常,则需检查跳步输入信号是否真正到达控制器的测量输入通道。普通跳步经 PLC 扫描处理,延迟取决于扫描周期;如果需要更小的延迟,则要考虑高速跳转输入通道,这一点在下篇涉及"绕不开的限制"时会展开。
3.3 信号接入:光耦与测量输入
跳步信号的物理通路,是测头输出经光耦(optocoupler)接入控制器的测量输入。发那科的测量输入既可以是普通跳步输入(SKIP),也可以是高速跳转输入(HighSpeedSkip,常与测头信号直连,接口常标识为 HDIx)。两者的差别在于响应链路:普通跳步经 PLC 扫描,有延迟;高速跳转由专用输入直接响应,延迟更小。对于需要高速度触碰测量的场合,高速跳转更合适;对速度要求不高的对刀等应用,普通跳步即可满足。
信号通路的核查,要确认测头信号实际接到了哪个输入通道、该通道在系统中是否被正确定义为测量输入,以及光耦的电气连接是否符合接线要求。信号接错、接反、或接到了非测量输入口上,都会让 G31 收不到触发信号,表现为"测头碰到了但机床不停"。这类问题属于布线层面,可通过整改接线解决,是明确的"可绕开"项。具体到某个输入口怎么定义、对应哪个信号号,以该机床的 FANUC 官方接线手册与电气图为准。
3.4 高速跳转与普通跳转的区分
把高速跳转与普通跳转分开讲,是因为它们在加装测头时的意义完全不同。普通跳转是控制器对测量输入的标准响应,绝大多数发那科机床具备,经 PLC 扫描链路工作,延迟取决于扫描周期;高速跳转是独立的输入通道,由驱动器或专用输入直接响应,延迟显著更小,常用于要求高触碰速度的场景。两者是两回事,不能混为一谈:一台机床即使普通跳步可用,也不代表它自然具备高速跳转能力------后者是独立的选项与接线需求。
对多数第一次加装测头的机床,普通跳步足够支撑触碰式测量与对刀;只有当工艺要求触碰速度很高、或者信号延迟会影响判定精度时,才涉及高速跳转通道。是否具备高速跳转输入,涉及硬件选项与接线预留,这一项是否属于"绕得开"需视机床配置而定,个别情况可能进入下篇的"绕不开"范畴。加装判定时,先确认普通跳步通路打通,再评估是否需要高速跳转,能避免一上来就被复杂的选项绑定住。
3.5 触发坐标通路核查汇总
| 核查项 | 对象 | 现场判定方法 | 通过后结论 |
|---|---|---|---|
| 跳步指令可用 | G31 | MDI 运行跳步验证程序,观察是否停住 | 跳步功能已开通 |
| 触发坐标写入 | #5061~#5064 | 触发后读变量,看坐标是否合理 | 锁存链路畅通 |
| 信号物理接入 | 测头输出→光耦→测量输入 | 查接线与输入通道定义 | 信号通路已建立 |
| 信号响应方式 | 普通跳步/高速跳转 | 按需评估延迟要求 | 明确应用匹配 |
| 跳步使能参数 | 随机型而定 | 查官方参数手册 | 避免套用错误参数号 |
3.6 一次完整的跳步验证怎么做
把本章的核查串成一次完整验证,可以按三步走。第一步确认信号通路:先不依赖工件与测头,直接在测量输入通道上给出一个可确认的触发信号,观察 G31 是否响应,以此排除接线问题。第二步确认锁存坐标:在 G31 触发后读取 #5061~#5064,对比当前实际位置,看锁存的是否是触发点的坐标。第三步用真实测头复测:接上测头与工件,低速进给触碰,确认完整链路在真实条件下成立。三步都通过,跳步与触发坐标通路才算真正打通。这个验证过程建议写在加装调试记录里,作为后续排障的基线参照。跳步验证程序的具体写法,应依据该机床的 FANUC 官方编程手册编写。
第4章 逐项开通路径与责任方
4.1 谁有权开通、找谁开通
发那科系统功能的开通权限通常不在终端用户手里,而是掌握在机床制造商或发那科授权渠道。用户宏程序功能、特定选项的激活,一般需要机床厂通过系统参数或授权设置完成。这意味着加装测头时的"找谁开",多数情况指向机床制造商(负责出厂配置与保修期内的选项开通)与发那科官方渠道(负责授权与高级选项)。终端用户的职责,更多是把能力核查做在前面,明确"缺什么、卡在哪里",再带着明确问题去找责任方开通,而不是模糊地让对方"看这台机能不能加测头"。
开通路径的分工可以概括为:能通过参数设定解决的功能,由机床厂在参数层面调整;涉及授权选项的,由发那科渠道激活;涉及硬件的(如测量输入通道预留),由机床厂或加装改造方完成布线与电气工作。三条线各司其职,加装方案才推得动。具体某台机床的哪个功能由谁开通、需要什么手续,须结合该机床的 FANUC 官方参数手册、选项清单与机床厂服务条款确认。
4.2 各项能力的开通路径对照
| 能力项 | 通常归属 | 开通方式 | 谁负责 |
|---|---|---|---|
| 用户宏程序执行 | 系统选项 | 选项激活/参数设定 | 机床厂或发那科渠道 |
| 变量区可用 | 系统配置 | 号段盘点与分配规划 | 用户与程序供应商 |
| 补偿变量区 | 系统配置 | 刀补表建立与类型设定 | 用户(配合机床厂) |
| G31 跳步 | 系统参数 + 信号通路 | 参数使能 + 接线确认 | 机床厂(参数)、改造方(接线) |
| 触发坐标锁存 | 系统机制 | 确认 #5061~#5064 通路 | 用户(现场验证) |
| 宏报警 #3000 | 用户宏机制 | 宏程序中直接使用 | 用户(程序编写) |
4.3 宏报警 #3000 的写入规则
宏报警是测量程序中用于向操作者提示状态的机制。发那科提供 #3000 用户宏报警号段,宏程序中写入 #3000 可以在指定条件下给出报警信息,便于操作者发现测量异常。这条要特别区分:用户宏报警应走 #3000 号段,而 PS2000~PS2006 是系统程序报警号段,不可由用户自定义。判断宏报警能否使用,实际上是在确认用户宏程序执行功能是否开通------宏报警与宏程序是同一层能力,只要宏程序能跑,宏报警写入通常也就可用。
写入 #3000 的语法与触发条件,需遵循该机床的 FANUC 官方编程手册。测量宏在判定超差、测头未触发等异常情形下,通过 #3000 提示报警并中止后续动作,是保障加工安全性的常用手段。核查时,可在宏程序中写入一条触发 #3000 的临时验证语句,运行后看系统是否按预期报警并中断,即可确认该通道有效。宏报警是典型的"宏可用即可用"项,不构成独立的系统限制。
4.4 排查的先后次序
系统限制的排查不宜乱序进行,建议按下述次序。第一步确认宏程序执行能力(G65/G66/G66.1 等调用能否执行),这是所有后续工作的地基;第二步盘点变量区与补偿区,明确号段占用与可用范围;第三步验证 G31 跳步与 #5061~#5064 读取通路,这是触碰测量的核心;第四步确认信号物理接入与响应方式;最后验证 #3000 宏报警写入。按这个次序走,每一层都建立在上层成立的基础上,排查效率更高,也能把"是选项没开、还是接线没接、还是根本没有该能力"这三类问题清晰分开。
4.5 沟通时怎么把问题讲清
向机床厂或发那科渠道申请开通某项功能时,有效的沟通是把现象讲成"可核查的事实",而非"我认为不行"。例如:用户宏程序执行报警,具体报什么号、在哪个操作方式下出现;G31 跳步不触发,是信号没到还是到不了控制器;#5061~#5064 读出的值是多少、预期值是多少。带着这些可复现的现象去沟通,责任方更容易定位到系统参数还是硬件接线,开通或整改的路径也会清晰。反过来说,如果只笼统说"测头加不了",沟通会陷入反复试错的循环。把核查清单准备充分,加装推进的速度会明显不同。
第5章 加装前的能力清单
5.1 清单的作用
能力清单是把前四章的方法浓缩成的可直接执行的核查表。加装测头前,按清单逐项确认系统侧能力,能在硬件采购和安装施工之前就把"系统能不能承载"的问题先解决掉。清单的价值在于流程化:不依赖个别人对发那科系统的记忆,而是把核查项、判定方法、责任方写清楚,任何负责加装的人员都能按图排查。同时,清单也是一份与机床厂、改造方沟通的交底文档,避免在开工后才发现系统选项缺失,造成返工。
5.2 逐项能力清单
| 序号 | 核查项 | 通过标准 | 未通过时 | 责任方 |
|---|---|---|---|---|
| 1 | 用户宏程序执行 | MDI 宏语句不报警 | 申请开通宏功能 | 机床厂/发那科渠道 |
| 2 | G65 单调调用 | 已知宏调用正常返回 | 检查宏文件与程序号 | 用户/程序供应商 |
| 3 | G66/G66.1 模态调用 | 连续移动每次触发 | 核对取消逻辑与参数 | 机床厂 |
| 4 | 公共变量 #100~#199 | 可写可读、无冲突 | 调整号段分配 | 用户 |
| 5 | 公共变量 #500~#599 | 可写可读、断电保留 | 调整号段分配 | 用户 |
| 6 | 长度几何补偿 #10001~#10400 | 刀补表可建立可写 | 建立刀补数据 | 用户配合机床厂 |
| 7 | 长度磨损补偿 #12001~#12400 | 写入后生效 | 确认补偿类型 | 用户配合机床厂 |
| 8 | 半径磨损补偿 #13001~#13400 | 写入后生效 | 确认补偿类型 | 用户配合机床厂 |
| 9 | G31 跳步 | 跳步验证程序正常停住 | 使能参数+信号核查 | 机床厂(参数)/改造方(接线) |
| 10 | 触发坐标 #5061~#5064 | 触发后读到合理坐标 | 检查锁存通路 | 用户现场验证 |
| 11 | 信号接入(光耦+测量输入) | 测头信号到达控制器 | 整改接线 | 改造方 |
| 12 | 宏报警 #3000 | 写入后按预期报警 | 复查宏程序逻辑 | 用户 |
5.3 把"可绕开"与"绕不开"分开
本篇清单覆盖的,都是可通过配置、选型或改造绕开的项。清单上通过的项目越多,说明系统侧条件越成熟,加装测头的主要挑战就越集中在信号接线与应用调试上;清单上有未通过项,则要先判断它属于可配置问题(选项未开、参数未设、号段冲突)还是能力缺失(硬件没有测量输入预留、高速跳转通道不具备)。前者归入本清单解决,后者留待下篇展开。这种区分能帮助加装决策聚焦:先把可配置项逐条清掉,再看剩下来的是不是真正的系统能力边界。
5.4 建厂初期就考虑系统配置的好处
对于准备新购发那科机床并计划后续加装测头的单位,在选型阶段就把宏程序功能、跳步输入通道、测量输入接口纳入配置清单,可以避免后期加装的选项开通成本与硬件改造工作量。机床下单前向机床厂明确提出需要开通用户宏程序功能、预留测量输入通道,往往比机床到货后再申请开通更便捷。这里的建议仍是:具体选项与预留项的名称、编号,须以该机床的 FANUC 官方选项清单与机床厂选型沟通为准,不依赖本清单自行拟定。提前规划的好处,在于把"改造成本"前移成"选型成本",整体投入更易控制。
5.5 加装前的三问自查
在正式立项前,可以先用三个问题自查,判断这台机床的加装条件是否基本齐备。第一问:用户宏程序能否执行?这是所有测量程序的地基。第二问:G31 跳步能否触发,触发后是否读到坐标?这是触碰测量的核心。第三问:测量结果能否写回补偿变量区?这是闭环落地的关键。三个问题都得到肯定回答,加装测头的系统侧条件就基本成熟;任何一个没有通过,先按本清单逐项排查,多数情况都能找到可配置的解决路径。三个问题对应的是本系列上篇的核心结论:大量"系统限制"其实是选项与配置问题,不是能力边界。
常见问题
问一:MDI 里输入宏语句报警,是不是就加不了测头?
不一定。宏语句报警通常指向用户宏程序执行功能未开通这一配置问题,属于可绕开项。应先向机床制造商或发那科渠道确认该功能的选项状态,申请开通后再验证。具体选项号与开通手续,须查该机床的 FANUC 官方选项清单。
问二:G31 跳步不触发,问题出在系统还是接线?
需要分两步排查。先确认跳步使能相关参数在官方参数手册中的设定是否正确,再确认测头信号是否经光耦真正到达控制器的测量输入通道。前者属参数配置,后者属电气接线,两者都可整改。
问三:#5061~#5064 读出来是 0 或空值,是变量坏了吗?
不是变量本身的问题,而是触发坐标锁存没有建立。先确认 G31 是否确实被触发,再确认信号是否到达测量输入通道。读取通路畅通的标志,是在跳步触发后读到接近实际位置的坐标。
问四:公共变量 #100~#199 和 #500~#599 该怎么选?
看结果是否需要跨断电保留。#100~#199 在关机或复位后清除,适合程序运行中的中间值;#500~#599 断电后仍保留,适合需要跨班次追溯的结果。同时要盘点现有程序是否占用了这些号段,避免冲突。
问五:补偿变量区写不进去,怎么办?
先确认机床的刀补数据表是否建立,再确认补偿类型与工艺要求是否一致。长度几何补偿在 #10001~#10400,长度磨损在 #12001~#12400,半径磨损在 #13001~#13400,按刀具号找到对应变量写入。仍有异常则以官方手册为准。
问六:为什么不能随便套用网传的参数号?
发那科的参数号随控制器型号与系统版本而异,流传的说法常把主轴参数区间(如 5001~5080)误当作测量相关参数。正确的做法是查该机床的官方参数手册中关于跳步功能的设定,而不是套用固定参数号,以免改错参数影响机床运行。
问七:宏报警 #3000 能用吗?
只要用户宏程序执行功能可用,宏报警 #3000 通常也就可用,二者属同一层能力。需要注意 #3000 是用户宏报警号段,PS2000~PS2006 是系统程序报警号段、不可自定义,不要混淆。
问八:普通跳步和高速跳转必须都有吗?
不一定。普通跳步经 PLC 扫描链路工作,对多数触碰式测量与对刀够用;高速跳转是独立的输入通道,延迟更小,主要面向高触碰速度场景。是否需要高速跳转,取决于工艺对延迟的要求,且该通道涉及硬件选项与接线预留。
数据来源说明
本篇关于发那科系统侧的宏调用(G65/G66/G66.1)、跳步指令 G31、触发坐标系统变量 #5061~#5064、公共变量 #100~#199/#500~#599 与局部变量 #1~#33、补偿变量区(长度几何 #10001~#10400、长度磨损 #12001~#12400、半径磨损 #13001~#13400)、宏报警 #3000(PS2000~PS2006 为系统程序报警号段)、以及测量宏体系(Inspection Plus O9801~O9843、GoProbe O9832/O9810/O9833、G65 P9921 M21/M22/M23)与高速跳转/光耦接入原理,均取自系统侧基线核验的官方手册内容。文中所涉及的各类具体参数号、选项号、诊断号与开通手续,均属该机床的 FANUC 官方参数手册与选项清单的覆盖范围,本篇不自行编造或推断。