各位工控圈的小伙伴们,大家好!
很多新手朋友在学会点动机器人、编写简单的 TP 程序后,往往会卡在最后一步:如何让机器人脱离示教器,听从 PLC的指令全自动跑起来?
在 FANUC 机器人的世界里,实现全自动运行有两个核心“暗号”:RSR和 PNS。今天,咱们就深度拆解这两个自动启动模式的奥秘,并结合常用的 LRMate 200iD型机器人送上一份实战设置指南!
---
RSR和PNS是FANUC工业机器人外部自动运行的两种模式,因为在实际应用场景中的需求不同,所以两种模式的方式是有区别的。我们把他俩一个比做“排队”,一个比做“点名”。
一、 RSR启动模式:随叫随到的“排队专家”
RSR 的全称是Robot Service Request,中文意思是“机器人服务请求”。它的最大特点是支持排队。
运行逻辑:当 PLC 发出一个 RSR 信号时,如果机器人正忙,它不会报错,而是把这个请求存入队列,等当前任务结束后按顺序执行。
命名规则:程序名必须为 RSR + 4位数字(如 RSR0001),否则机器人无法识别。
计算方式:程序编号 = RSR 记录号 + 基础编号(Base Number)。
下面我们为 LRMate 200iD 型机器人配置一套搬运程序,来作为实例演示:
场景设定:
我们先将基础编号 (Base Number)设定为 500。
对于RSR的设置:
将 RSR1记录号设为 1。
将 RSR2记录号设为 12。
当 PLC触发信号时:
触发 RSR1 信号:
计算:1 (记录号) + 500 (基础编号) = 501。
锁定程序名:机器人会自动在内存中寻找并启动名为 RSR0501的程序。
触发 RSR2 信号:
计算:12 (记录号) + 500 (基础编号) = 512。
锁定程序名:机器人会自动寻找并启动名为 RSR0512的程序。
为什么这样设计呢?
这种设计最大的好处是“模块化管理”。
比如你有两台机器人做同样的动作,你可以把它们的 RSR 记录号都设为 1、2、3,但机器人 A 的基础编号设为 1000,机器人 B 设为 2000。
这样你只需要维护 RSR1001和 RSR2001两个程序,而不需要在 PLC 端改动复杂的触发逻辑。
注意:如果计算出的程序名在机器人里不存在,系统会直接报错,无法启动。
二、 PNS:严谨精准的“点名高手”
PNS 的英文全称是Program Number Selection,即“程序号码选择”。
它比 RSR 更严谨,适合工艺复杂的产线。
运行逻辑:PNS 采用二进制组合选点。PLC 先通过 PNS1-8 发送编号,再给出一个 PNSTROBE(选通信号)脉冲,机器人锁定程序后回传 SNO 编号进行双向确认。
启动机制:PNS 只是“选中”程序,必须紧接着接收到 PROD_START(启动信号)的下降沿,机器人才会真正开始动作。
命名规则:程序名必须为 PNS + 4位数字(如 PNS0025)。
PNS使用小案例:PLC启动并运行机器人的“5 号程序”
假设你的机器人里存了很多程序,你想运行编号为 5的程序(程序名必须存为 PNS0005)。
PLC下单(设定编号):PLC 像拨动开关一样,通过二进制信号告诉机器人:“我要点 5 号菜!”
它会将信号 PNS1和 PNS3置为 ON(二进制中 1+4=5),其他 PNS 信号置为 OFF。
按铃呼叫(发送选通信号):PLC 发出一个 PNSTROBE脉冲信号。这就像顾客按了一下桌上的服务铃,提示厨师:“看一眼我选的编号。”
厨师确认(双向核对):机器人看到 5 号编号后,会回传一个 SNO信号给 PLC,内容也是“5”,并闪烁一下 SNACK灯。这相当于厨师大声复读一遍:“好的,5 号菜一份,对吗?”
开始烹饪(正式启动):PLC 确认机器人收到的编号没错,于是发送一个 PROD_START启动信号。机器人随即开始跑 PNS0005程序。
核心规则小贴士:
名字必须整齐:程序名不能随便叫,必须是 PNS后接 4 位数字(如 PNS0005),少一个零都不行。
计算公式:程序编号 = PNS 信号值 + 基础编号 (Base Number)。如果你的基础编号设为 100,PLC 输入 5,机器人就会去找 PNS0105。
---
三、 实战演练:LRMate 200iD 机器人 PNS 启动设置全流程
假设我们有一台 FANUC LRMate 200iD机器人(配套 R-30iB Mate 控制器),需要通过 PLC 远程启动名为 PNS0008的抓取程序。
第一步:配置逻辑接口 (UOP 分配)
对于 LR Mate 200iD,我们通常使用控制器主板上的 CRMA15/16 接口。
进入 [MENU] -> 5 I/O-> [F1TYPE] -> UOP。
在分配画面中,将 UI和 UO分配到对应的机架(Rack)和插槽(Slot)。
核心提示:确保外围设备输入信号 *IMSTP(瞬时停止)、*HOLD(暂停)、ENBL(使能)均处于 ON状态,否则机器人会被死死锁住。
第二步:设置程序选择模式
按下 [MENU] -> 6 SETUP -> [F1TYPE] -> ProgSelect。
将 程序选择模式 (Program select mode)修改为 PNS。
基础编号 (Base Number):设为 0。
自动运行检查:建议将“原点检查”设为有效,确保机器人从安全位置启动。
第三步:创建程序并准备环境
创建一个 TP 程序,命名为 PNS0008。
将示教器有效开关拨至 OFF。
将操作面板上的模式开关切至 AUTO。
系统变量 $RMT_MASTER必须设为 0(由外围设备远程控制)。
第四步:PLC侧的启动时序
PLC 需要按照以下逻辑“指挥”:
发送编号:将 PNS4 置为 ON(二进制 8),其余 PNS1-8 置为 OFF。
选通脉冲:给 PNSTROBE一个至少 30ms 的脉冲。
确认反馈:PLC 检查机器人的输出信号 SNO1-8是否也等于 8,且 SNACK是否发出响应。
执行指令:确认无误后,发送 PROD_START信号(ON 持续 100ms 后关断),机器人在信号下降沿正式跑起程序。
---
四、 启动失败的自查方法
如果配置完成后机器人不动,请依次检查以下关键条件:
信号拦截:检查 UI *IMSTP、UI *HOLD、UI ENBL是否全都为 ON。
名称强校验:程序名必须补足 4 位数字。比如想运行 8 号程序,必须叫 PNS0008,少一个零机器人都不认。
远程控制权限:确认示教器画面的状态栏是否显示 RVO或远程字样,若 $RMT_MASTER不为 0,PLC 的信号将被忽略。
---
博主总结
掌握了 PNS 和 RSR,你就拿到了工业机器人集成的“入场券”。RSR 胜在支持排队、简单高效,PNS 胜在双向确认、严谨可控。
如果你觉得这篇干货拆解帮到了你,别忘了点个**“在看”**并分享给身边的工友!
下一期,我们将带大家走进发那科的高级功能——如何通过 PLC远程修改机器人的寄存器数值,敬请期待!