ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

FANUC机器人外部轴配置与DeviceNet IO映射调试全攻略

FANUC机器人外部轴配置与DeviceNet IO映射调试全攻略 接手过不少带外部轴的FANUC机器人项目从伺服焊枪到L型变位机再到行走第七轴。每次调试最折腾人的往往不是机器人本体动作而是外部轴激活和DeviceNet总线IO配置这一串事情。很多工程师私信问我说机器人本体示教没问题但一配外部轴就报SRVO报警或者PLC那边死活读不到IO信号其实大部分坑都出在参数映射和总线通信的细节上。这篇文章我把实际项目中验证过的配置流程完整走一遍从运动组设定到IO映射再到常见报警的处理思路给正在调这类系统的朋友一份可以直接对着做的参考。1. 先搞清楚外部轴到底要配什么1.1 外部轴的类型和适用场景FANUC机器人说的外部轴官方叫法是“追加轴”或“外部机械单元”本质上是把伺服电机从控制器里扩展出来由机器人伺服放大器统一驱动再通过运动学定义把它和本体六个轴组合成一个多轴联动的运动组。我接触过的外部轴大致分三类。第一类是最常见的伺服焊枪用于点焊或压铆通常只有一两个轴位置控制精度要求高动作速度快对伺服动态响应要求比较苛刻。第二类是变位机包括单轴回转变位机、双轴L型变位机、三轴翻转台这类轴的特点是负载大、惯量大、加减速时候冲击明显伺服参数如果不调很容易报过载或过电流。第三类是行走轨道第七轴机器人本体装在上面做长距离移动这种轴行程长需要格外注意软限位和硬限位的匹配。不同的外部轴类型配置时关注点完全不一样。焊枪看重的是焊钳开口行程和加压时序变位机看重的是与机器人本体的协调运动行走轴看重的是定位重复精度和同步性。所以在动手配置之前先确认外部轴的机械类型、电机编码器规格、减速比和行程范围这几项数据直接决定后面伺服参数里填哪些数比上来就翻菜单重要得多。1.2 DeviceNet在外部轴方案里的角色DeviceNet是一种基于CAN总线的工业现场总线协议在FANUC机器人上主要用于和PLC、视觉系统、焊机等设备交换IO信号。它本身和外部轴的伺服驱动没关系伺服驱动走的是FANUC专用的FSSB光纤总线但外部轴要参与到整个自动化单元的工作循环里就离不开DeviceNet这条“神经网络”。举个例子变位机转到焊接工位到位信号得告诉PLCPLC确认安全门关闭后发出焊接允许信号焊机报焊接完成机器人收到指令后才开始下一步动作。这一串联锁信号如果放在传统硬接线IO上一台设备可能要好几十根线改一个信号要去柜子里查线。走DeviceNet之后全部信号进总线报文PLC那边一个字的位操作就够了。所以外部轴项目里DeviceNet承担的是设备级IO通信而不是轴控制——轴控制还是靠FANUC自己的系统内部总线。理解这个边界后面排查问题才不会找错方向。1.3 硬件选型与系统组成清单我习惯在开配之前先列一份硬件核对清单现场已经碰到过好几次因为硬件缺了或版本不对导致配置不下去的情况。控制器型号R-30iB、R-30iB Plus或R-30iB Mate不同型号支持的外部轴数量和软件版本有差异外部轴伺服放大器R-30iB系列通常用A/B轴放大器模块带外部轴的系统需要选带扩展轴控制的放大器比如A05B-2250系列伺服电机确认编码器类型串行编码器还是绝对编码器绝对编码器要配电池首次通电前必须确认编码器电池已安装否则报BZAL报警DeviceNet单元/接口板FANUC控制柜里的DeviceNet从站模块如A03B-0819-C192等或者通过现场总线接口卡接入终端电阻、通信电缆、节点地址设定开关硬件确认完再看软件选项。外部轴功能需要在控制启动模式下确认“追加轴控制”功能选项通常选项号6DeviceNet通信也需要对应选项选项号56或类似编号以实际控制器技术规格书为准。选项没激活的情况下菜单里根本不会出现外部轴配置界面这一步卡住了不少第一次做外部轴项目的人。2. 外部轴的参数配置核心逻辑2.1 运动组与伺服放大器的映射FANUC把机器人的运动系统分成若干个“运动组”Motion Group本体六轴默认是GROUP 1增加的外部轴可以分配到GROUP 2、3、4。运动组的意义在于同一个组内的轴可以协同插补运动比如变位机和机器人本体一起做协调运动不同组之间则是各自独立或者通过协调功能联动。进入方式是在示教器上按MENU进入“系统”菜单找到“外部轴”或“轴控制”界面。首次配置时要选择“组”把外部轴分配到一个组里。这里有个关键点如果你希望外部轴和机器人本体做协调运动比如变位机带着工件转机器人在同一个运动组里同步调整姿态那么外部轴必须和本体分在同一个运动组里此时GROUP 1的轴数就会变成7或8如果外部轴只是独立动作比如焊枪只在点焊时加压、平时不参与轨迹插补那可以放在GROUP 2机器人本体的程序里用独立运动指令控制它。实际项目中大多数变位机项目都会选择把外部轴和本体放在同一组因为只有同一组才能实现真正意义上的七轴联动插补。但这种做法的代价是系统计算量变大轨迹点精度受伺服同步影响调试时要更仔细地观察TCP移动轨迹是否平滑。2.2 关键伺服参数与行程设置外部轴分配好运动组之后真正花时间的是伺服参数设定。这块的数值不是拍脑袋填的每一项都要根据机械图纸和电机减速比算出来。首先是“每转脉冲数”FANUC机器人外部轴的伺服采样周期和电机编码器分辨率是固定的需要确认电机规格书中每转的反馈脉冲数常见的是65536或131072等。这个数值填错的话轴运动距离会按倍数出错位置完全不对。其次是“减速比”也就是电机转多少圈输出轴转一圈。比如变位机减速机减速比是1:100那这里就填100。减速比填错轴移动范围会偏大或偏小运动速度也面目全非。我见过把减速比填成1:10的示教器上输入旋转90度变位机实际转了900度幸好当时是在空载慢速测试不然机械上直接撞坏。然后是“行程范围”和“软限位”。外部轴行程范围要覆盖机械结构允许的最大角度或毫米数同时回零方向、软限位正负方向也要一并确认。软限位是控制器内部做位置比较的一旦超程会报软限位报警机械结构不会马上损坏但硬限位仍要装在机械行程末端这是双保险。参数设置完必须做一次“回零”。外部轴绝对编码器首次使用或更换电池后必须设置机械原点。在外部轴配置界面里执行“设定零点”操作让轴回机械参考点并把当前位置记录为原点。这一步不做后续所有位置数据都是不可信的机器人程序里的目标位置在外部轴坐标上会漂移。2.3 软限位与硬限位处理技巧软限位和硬限位的关系我常用“停车线和隔离墩”来比喻。软限位是控制器程序里设的停车线轴走到这个位置就减速停下来正常情况下永远不会撞到机械限位硬限位是装在机械末端的隔离墩万一程序失控或参数错误它兜底挡住机械移动。配置时有一个细节软限位范围一定要设置得比硬限位范围小而且要有足够的余量至少留5到10度或5到10毫米的安全缓冲。有人图省事把软限位和硬限位设置成一样大结果一次超程程序还没来得及让轴停稳机械就直接怼上硬限位了。加速度大的外部轴惯性滑行距离远比想象中长。另一个容易忽略的是回零方向的软限位。变位机如果双向都能转正负方向的软限位都要设置而且回零方向必须正确否则回零时会先撞限位再去找原点。这个在做单轴回转变位机时尤其容易踩坑因为机械结构上看起来正反转都能走但原点和软限位的逻辑关系搞反了一开机就报警。3. DeviceNet总线的IO配置实操3.1 硬件连接与通信参数核对DeviceNet的硬件连接看起来不复杂CANH、CANL双绞线再带一根屏蔽层末端接120欧终端电阻节点地址通过模块上的拨码开关或软件设定。但恰恰是这看似简单的几个环节让很多现场通信起不来。我做事的原则是上电之前先把物理层全部量一遍。用万用表量总线两根线之间的电阻正常终端电阻匹配好的网络应该在50到70欧姆左右——一头一尾各一个120欧并联结果差不多60欧。如果量出来完全是0欧或无穷大说明总线终端电阻有问题通信肯定不稳定。另外节点地址要确认FANUC机器人作为DeviceNet从站节点地址MAC ID必须和PLC主站组态里的地址完全一致我习惯选一个比较靠后的地址比如10到20之间避开PLC和触摸屏常用的低地址防止冲突。波特率也要统一125k、250k、500k三档机器人端必须在IO界面里的DeviceNet诊断页面设置PLC端在组态软件里也要选一致。这里要特别强调接线长度超过100米时尽量用125k波特率距离短、数据量大的场合才用500k。实际出问题时先看波特率再看地址大多数总线通信故障都是这两件事搞出来的。3.2 IO地址映射从RACK/SLOT到DI/DOFANUC的DeviceNet IO配置关键在“映射”两个字。DeviceNet模块在硬件上连接好之后还要在软件里告诉控制器总线上的哪个字对应到机器人内部的哪个DI/DO地址。这就是为什么有些人硬件接得好好的PLC也通了但机器人程序里就是读不到信号——IO映射没做或做错了。进入Menu - IO - DeviceNet可以看到“映射”配置界面需要填写RACK、SLOT、START等参数。这些参数的含义可以类比成物流分拣面单RACK是哪个货架区SLOT是哪个货架层START是货架层上从第几个位置开始取。FANUC控制器内部有固定的DI/DO空间通过RACK和SLOT确定是哪个总线槽位再通过START确定从这个槽位上的哪个地址开始建立对应关系。做映射时我强烈建议先画一张地址对照表把PLC侧的IO地址、总线上传输的字地址、机器人内部的DI/DO地址一行行列出来。比如PLC输出给机器人的字0到字3分别控制什么信号对应到机器人内部的DI[1]到DI[32]机器人状态反馈给PLC的字0到字3对应DO[1]到DO[32]。这张表不仅是配置的依据也是后期维护和排查问题的地图调试完一定要连同程序备份一起归档。3.3 组信号与信号编组的作用搜索热词里有人专门问了“在IO定义中给信号编组有什么作用”这确实是应用层面的一个进阶点。FANUC的IO类型里除了普通的数字输入DI和数字输出DO还有组输入GI和组输出GO它们把16个连续的输入位或输出位打包成一个字来整体传输。组信号的核心价值在于传输“数据”而不只是“开关量”。举个例子机器人要告诉PLC当前变位机在哪个工位、当前使用的是哪套焊接规范号这些如果是数字量一个数值要拆成8到16个DI点占一堆地址用组信号后一个GI字就解决了PLC端一次读取字数据直接解析成整数程序简洁排查也直观。信号编组的另一个作用是降低总线负载和简化配置。当确认一批信号只是按字整体使用、不需要单点位控制时把它们编成组信号无论是机器人端还是PLC端程序看起来都清晰得多。但要注意编组之前必须明确哪些信号是开关量联锁必须用DI/DO点对点哪些是数据量可以用GI/GO组传输。把开关量混进组信号里虽然省了地址但多人维护时误读风险会增加不好查。3.4 UOP信号与外部轴启停联动UOP是FANUC机器人标准的外围操作面板信号通常定义在固定的DI/DO地址上用来实现PLC对整个机器人系统的远程控制包括启动、暂停、急停、报警复位等。配置外部轴时UOP信号的联动尤其重要。外部轴如果和本体在同一运动组那本体的UOP控制逻辑会对外部轴生效按启动轴使能外部轴处于伺服ON状态按暂停轴保持外部轴立刻停止触发急停所有轴包括外部轴一起断电制动。这一点从安全逻辑上没有问题但也意味着外部轴调试时必须和本体信号联调不能在PLC侧单独给外部轴使能。如果外部轴独立分配在GROUP 2那UOP是否联动取决于系统配置里“组间联锁”的设定。有些变位机调试时工程师希望本体暂停后变位机还能手动微调就需要把GROUP 2的伺服使能独立出来。这个在系统参数里有专门的设定项默认是联动的改之前要评估安全联锁逻辑防止工人在机器人没停稳的情况下转动变位机造成意外。4. 实战踩坑配置过程中的高频报警与排查4.1 外部轴伺服报警排查外部轴项目里最常见的报警一个是SRVO-062过流/过载一个是SRVO-105制动器异常还有一个是SRVO-200位置偏差过大。有一次调一台双轴L型变位机重载测试时一加速就报SRVO-062排查思路从负载侧一步步往前推。以前我习惯先怀疑伺服放大器硬件故障但那次检查发现放大器电流曲线完全正常真正的问题是变位机重心没有做平衡加速瞬间等效惯性力矩远超电机额定能力。后来通过FANUC的伺服调试界面把加速度曲线调缓同时在机械上加装配重问题才彻底解决。这里分享一条经验遇上外部轴过载报警先分清机械问题和电气问题不要一上来就换放大器也别一上来就调伺服增益先把机械惯量准确估算清楚。SRVO-105制动器异常多半是抱闸接线或制动器电源问题。外部轴电机断电时靠抱闸锁紧抱闸信号由伺服放大器控制。常见故障是抱闸线接反或者抱闸回路熔断导致电机在断电状态下仍处于自由旋转状态。调试时我一个人扶不住一根垂直安装的变位机轴结果一断电就滑下去差点把地面设备砸了。从那之后但凡涉及带抱闸的外部轴我都在断电前先确认抱闸动作正常用垫块做好机械防护再断电。位置偏差报警SRVO-200一般是电机实际反馈位置和指令位置差异过大。原因通常有三个机械连接松动联轴器打滑、伺服增益太低导致跟踪误差、加速度设定太猛。排查时先看机械连接是否紧固再逐步加大伺服增益并测试加减速判定标准是实际位置曲线能平滑跟踪指令位置没有明显滞后。4.2 总线IO通信故障排查DeviceNet通信故障属于“看起来很简单查起来很玄学”的问题。症状多为PLC工作正常机器人也没报警但IO数据时通时断或者干脆全无。我按照从物理层到配置层的顺序总结了一套排查流程。第一步量总线电阻正常应当在50到70欧姆之间。电阻不对就检查终端电阻和分支接线。第二步查节点地址和波特率在机器人IO界面和PLC组态软件里逐一对照。第三步检查屏蔽层接地DeviceNet屏蔽层要单端接地避免形成接地环流这个在现场干扰环境下非常重要我在一个电焊车间里遇到IO偶发丢数据最后就是屏蔽层两端都接地导致的共模干扰。还有一个容易被忽略的问题总线电缆走线和动力电缆绑扎在一起。电焊机的电流冲击通过耦合干扰总线信号现象就是焊接起弧瞬间总线丢包。后来把通信电缆单独走线槽离动力电缆至少30厘米以上问题再也没有出现过。所以给DeviceNet布线时千万不要图省事和动力线走同一个桥架。4.3 进不去系统与SYS报警的处理搜索热词里“发那科机器人进不去系统怎么办”是高频问题很多情况是在配置外部轴或IO后重启时出现。外部轴配置错误、伺服参数非法有时会导致控制器启动异常卡在系统加载阶段或者反复重启。处理办法用控制柜门上或示教器背面的模式开关切换到“引导”模式BOOT启动进入启动菜单后选择“受控启动”Controlled Start。在受控启动界面里可以临时跳过外部轴配置加载进入系统后优先修改或删除异常参数再恢复正常启动。另外配置外部轴插入了新的选项或硬件后偶尔会提示SYS-212等系统报警要求应用DCS参数。这类报警通常和系统安全校验功能DCSDual Check Safety的参数版本有关不是设备真正发生了硬件故障。处理方法是进入DCS相关设定界面按当前系统的实际配置确认或重新加载参数然后重启控制器。如果对DCS不熟最稳妥的做法是先备份原始系统文件再在工程师指导下处理避免误改了安全联锁参数导致设备运行状态发生不可控的变化。4.4 问题速查表我把这些年外部轴配置里的高发问题整理成一张排查表方便现场对照处理。现象可能原因排查建议外部轴位置乱走、距离不对每转脉冲数或减速比参数错误对照电机和减速机铭牌重新核算加速时SRVO-062过流负载惯量大、加速度过猛先确认机械平衡再调加速度断电后轴下滑抱闸未动作、抱闸电源故障检查抱闸接线和放大器抱闸输出DeviceNet全无信号节点地址、波特率不一致两端核对地址和波特率DeviceNet偶发丢数据屏蔽接地错误、和动力线共槽屏蔽单端接地分开布线重启后进不了系统外部轴参数非法引导模式进入受控启动修正提示SYS报警需应用DCS参数安全校验参数和配置不一致备份后重新应用DCS参数并重启4.5 与PLC侧联调时的信号对表方法外部轴配置完成后联调是最后一个大关卡。这里有一个我每次调试都会做的动作和PLC工程师一起对表。假设PLC组态里定义了输入字IW0给机器人PLC输出给机器人输出字QW0接收机器人状态那么调试时先由PLC侧强制置位若干个位机器人示教器IO界面观察对应的DI位有没有亮起再由机器人侧强制置位DO位PLC程序里监控对应QW0的位有没有变化。这样双向过一遍哪个地址错位一目了然。有些情况下地址错位不会整体平移而是差了个别字节。最常见的原因是RACK/SLOT起始地址设置时把某个字的偏移量算错了。比如机器人内部D[1]到DI[16]对应总线字0但如果START参数设成了1那对应关系就变成DI[17]开始所有信号整体向后偏移16位PLC侧收到信号自然全对不上。通过双向对表这种偏移问题通常在几分钟内就能定位。联调时还要特别检查急停和门联锁信号的传递方向。机器人外部轴设备要正常伺服ON安全回路里包括机器人急停、外部轴急停、安全门开关等多个信号任何一个断开都会断开伺服电源。这些安全信号在DeviceNet上是禁止替代硬接线的项目验收时也一定要保留硬接线安全回路总线上传递的只能是常规运行状态信号绝对不能把急停只传在总线上而省略硬线这是安全底线。5. 配置完成后的数据备份与现场管理经验外部轴参数、DeviceNet映射表、DCS安全参数都调好后我最想提醒的一件事就是把控制器系统完整备份。用示教器插上U盘到备份与恢复界面做系统镜像备份备份内容包括所有系统参数、伺服参数、IO映射、程序文件。这个备份在生产现场的价值无可替代——万一后续有人改乱了参数或者控制器存储异常直接恢复镜像就能回到调试完成时的状态省去重复配置几个小时甚至几天的时间。备份之外把调试期间记录下来的IO地址对照表、外部轴参数清单、最终组态截图一起归档。我不止一次遇到现场设备运行半年后因为追加一个传感器需要改IO映射结果原调试人员已经离职新来的工程师翻遍资料也找不到原始地址表只能从零开始重新排查。这个教训比任何技术细节都值钱归档做得好后面维护的人能省大半精力。还有一点是版本管理。FANUC控制器的系统软件版本会影响外部轴和DeviceNet功能的配置方式不同版本菜单路径可能略有差异。调试记录里注明控制器软件版本和备份文件的生成日期后续升级系统软件时才有回退依据不会出现升级后发现外部轴参数不兼容又找不到旧备份的尴尬情况。根据我个人的经验外部轴配置和DeviceNet联调这件事本身不复杂但步骤多、细节密任何一步疏忽都会在调试时以报警或异常的形式反弹回来。最稳妥的做法不是追求一次成功而是每一步都留下记录、每改一个参数都缩小变量范围这样出了问题能快速回溯。按上面这套流程走下来大多数外部轴项目都能在一天内从零配置到联调通过剩下的时间留给现场生产验证和微调整体节奏会从容很多。
返回列表