1. 从一台"不听话"的机械手说起:为什么通讯和安全防护必须一起做
三菱机械手和PLC之间的通讯,是很多自动化产线集成时绕不开的一道坎。我见过太多现场,机械手单独跑动作演示时一切正常,一旦接入整线PLC联调,要么信号丢帧、要么急停之后机械手还在惯性滑行、要么安全门打开后PLC以为机械手已经停了但实际没有。这些问题的根源,往往不是设备本身有毛病,而是通讯链路和安全防护逻辑没有作为一个整体来设计。
这篇内容面向的是正在做三菱机械手与PLC集成的一线工程师、设备调试人员,以及需要理解这套系统逻辑的产线维护人员。我会把通讯链路的搭建、信号交互的设计、安全防护的分层逻辑、以及现场调试中最容易踩的坑,按照实际项目的推进顺序讲清楚。核心关键词围绕三菱机械手、PLC通讯、安全防护展开,但不会停留在概念层面,而是落到具体的信号定义、参数配置和排查方法上。
先说一个基本判断:机械手和PLC的通讯,本质上解决的是"谁指挥谁、谁确认谁"的问题。PLC通常是产线的指挥中枢,负责协调上下游设备、管理节拍、处理安全连锁;机械手是执行单元,负责精确的轨迹运动和抓取放置。两者之间的通讯不只是"发一个启动信号"那么简单,它涉及到状态同步、故障互锁、安全等级匹配等一系列工程问题。而安全防护则是独立于常规通讯之外的一套逻辑,它的优先级最高,响应时间要求最严,绝不能和普通控制信号混在一起处理。
我在多个3C装配线和汽车零部件产线上做过这类集成,下面把完整的思路和实操细节拆开来讲。
2. 三菱机械手与PLC的通讯链路怎么搭:从硬件选型到信号握手
2.1 先搞清楚你的机械手支持哪种通讯方式
三菱机械手(比如RV系列、MELFA系列)常见的通讯接口有几种:以太网(TCP/IP)、RS-232C串口、以及通过I/O板卡做的硬线连接。不同型号支持的接口不一样,选型阶段就要确认清楚。以太网通讯适合数据量较大、需要传输坐标或状态字的场景;串口通讯适合老设备改造,成本低但速率有限;硬线I/O最简单直接,但信号数量受限于I/O点数。
我一般优先推荐以太网通讯,原因是它天然支持双向数据交换,PLC可以读机械手的当前状态、报警代码、当前位置,机械手也可以接收PLC的启动、停止、配方切换等指令。串口通讯虽然也能做,但调试时经常遇到波特率不匹配、校验位设置错误、线序接反等问题,排查起来比较费时间。硬线I/O的优点是响应快、抗干扰强,缺点是扩展性差,信号一多就要加I/O模块,成本反而上去了。
注意:如果你的机械手是较老的型号,只支持串口或专用I/O,不要强行加转换网关去走以太网。转换环节越多,故障点越多,现场调试时你会被通讯超时折磨到怀疑人生。
2.2 PLC侧的通讯模块配置要点
以三菱FX系列或Q系列PLC为例,走以太网通讯时通常需要配置以太网模块(如FX3U-ENET-L或QJ71E71)。配置步骤大致是:在GX Works中设置模块的IP地址、子网掩码、端口号,然后建立与机械手的连接通道。这里有一个容易被忽略的细节:PLC的以太网模块通常支持多个连接通道,但每个通道的打开方式(Active/Passive)要设置正确。如果两边都设成Active,连接可能建立不起来;如果都设成Passive,那就永远在等对方发起连接。
我的习惯是让PLC侧作为Active端主动发起连接,机械手侧作为Passive端等待连接。这样做的理由是PLC通常处于产线控制的核心位置,由它来管理连接状态更符合逻辑,而且PLC的看门狗和重连机制更容易统一配置。
信号握手方面,最基本的几个信号包括:PLC发给机械手的启动指令、停止指令、复位指令;机械手回给PLC的运行中状态、到位信号、报警信号、急停状态。这些信号在PLC程序中要分配明确的地址,并且在机械手侧做好对应的I/O映射。我见过有人把启动信号和停止信号分配在相邻的地址上,结果程序里一个误写就把两个信号同时触发了,机械手收到矛盾指令后直接报错停机。所以地址分配要留足间隔,并且做好注释。
2.3 通讯数据区的规划:别把所有东西塞进一个寄存器
如果走的是以太网或串口通讯,通常会有一个数据交换区,比如PLC的D寄存器对应机械手的某个数据区。规划这个区域时,我建议按功能分块:状态区、指令区、参数区、报警区各占一段,段与段之间留出备用地址。这样做的好处是后期扩展时不用重新调整整个映射表,而且排查问题时可以快速定位是哪一类数据出了异常。
举个例子,假设用D100-D119存机械手状态,D120-D139存PLC指令,D140-D159存报警代码,D160-D199留作备用。机械手侧对应的数据区也要做同样的划分。两边约定好之后,写进通讯协议文档里,谁改谁负责更新文档。这个文档在后期维护时价值极高,尤其是设备换了人管之后。
3. 安全防护的独立逻辑:为什么不能和普通控制信号混在一起
3.1 安全防护的核心原则:独立、冗余、失效导向安全
机械手的安全防护,核心就三条:独立于常规控制、关键环节冗余、失效时导向安全状态。独立的意思是安全信号不走普通通讯链路,而是走独立的硬线或专用安全总线。冗余的意思是急停按钮、安全门开关、光栅这些安全元件要采用双通道甚至三通道设计,防止单点失效。失效导向安全的意思是,一旦安全回路断开或通讯中断,机械手必须进入停止状态,而不是保持当前动作或进入不确定状态。
我见过一个反面案例:某产线把安全门的信号接入了普通PLC输入点,然后通过以太网通讯传给机械手。结果有一次网络交换机故障,安全门打开了但机械手没收到停止指令,幸好操作员及时拍了急停。这个案例说明,安全信号绝对不能依赖普通通讯链路,必须走独立的硬线回路。
3.2 安全等级匹配:PLd还是PLe,别拍脑袋决定
机械手的安全防护等级要根据风险评估来确定。ISO 13849-1里定义了PLd(Performance Level d)和PLe等级,对应不同的风险程度。一般来说,如果机械手的工作区域有人员频繁进入,或者机械手的负载较大、运动速度较快,安全等级要求就更高。确定等级之后,安全继电器、安全门开关、急停按钮的选型都要满足对应的等级要求。
这里有一个实操中的常见误区:有人觉得用了安全继电器就万事大吉了,但实际上安全继电器只是安全回路中的一个环节,整个回路的等级取决于最薄弱的那个环节。如果急停按钮是单通道的,那整个回路的等级就被拉低了。所以选型时要看整个回路的架构,而不是单个元件的参数。
3.3 机械手侧的安全停止方式:别只会断电
三菱机械手通常支持几种停止方式:急停停止(Emergency Stop)、暂停停止(Pause Stop)、保持停止(Hold Stop)。急停停止是切断伺服电源,机械手会因惯性继续运动一段距离后停止;暂停停止是减速停止,保持伺服使能;保持停止是立即停止但保持当前位置。安全防护设计时,要根据具体场景选择合适的停止方式。
比如安全门打开的场景,如果机械手正在高速运动,直接急停可能导致机械手因惯性撞到安全门或周边设备,这时候用暂停停止更合适。但如果是人员已经进入了危险区域,那就必须用急停停止,哪怕有惯性风险也要优先保证人员安全。这个逻辑要在PLC程序里和安全回路里同时体现,不能只靠机械手自身的参数设置。
4. 现场调试中最容易踩的五个坑
4.1 通讯超时设置太短,产线一忙就断连
以太网通讯的看门狗时间设置是个技术活。设得太短,产线节拍一快、网络负载一高,就容易误判断连;设得太长,真断连了又半天发现不了。我的经验值是:常规状态查询的看门狗设在500ms到1s之间,关键指令的确认超时设在200ms到500ms之间。具体数值要根据实际网络负载和机械手响应速度来调,调完之后要跑至少一个完整生产班次来验证稳定性。
4.2 急停复位后机械手自动重启,差点出事
急停复位后,机械手不应该自动恢复运行,而应该保持在停止状态,等待操作员通过启动按钮重新启动。这个逻辑要在PLC程序里明确写出来:急停复位只清除急停状态标志,不触发启动指令。我见过有程序把急停复位和启动做成了同一个按钮的不同状态,结果操作员复位急停时机械手直接动了,非常危险。
4.3 安全门开关的安装位置不对,留了死角
安全门开关要安装在门完全关闭时才能触发的位置,而且要考虑门的变形和磨损余量。我见过一个现场,安全门开关装在门框顶部,门用久了之后下垂,门关了但开关没触发,PLC以为门还开着,产线一直停着。后来把开关改到门框侧面,并且加了导向槽,问题才解决。这个细节在安装阶段就要考虑,不要等调试时才发现。
4.4 机械手报警代码没有映射到PLC,故障了不知道原因
机械手的报警代码要通过通讯映射到PLC的报警区,并且在HMI上显示出来。我见过有的项目只映射了一个"报警中"的总信号,具体是什么报警要跑到机械手示教器上看,这在产线运行时非常不方便。正确的做法是把常用报警代码都映射过去,HMI上做一个报警列表,操作员一眼就能看到是哪个轴过载、哪个传感器异常。
4.5 通讯中断后的恢复逻辑没做,重启要手动干预
通讯中断恢复后,PLC和机械手要能自动重新建立连接并同步状态,而不是要求操作员手动重启整个系统。这个逻辑需要在PLC程序里做状态机:检测到通讯中断后,进入等待重连状态;重连成功后,先同步状态,再根据当前产线状态决定是否恢复运行。如果中断发生在机械手运动过程中,恢复后不能直接继续运动,而要回到安全位置再重新开始。
5. 一套可复用的信号交互模板
5.1 PLC发给机械手的信号清单
| 信号名称 | 地址示例 | 说明 |
|---|---|---|
| 启动指令 | D120.0 | 上升沿触发,机械手开始执行当前任务 |
| 停止指令 | D120.1 | 上升沿触发,机械手暂停停止 |
| 复位指令 | D120.2 | 上升沿触发,清除机械手报警 |
| 配方选择 | D121 | 数值对应不同的任务配方 |
| 安全门状态 | D122.0 | 1=门关闭,0=门打开 |
| 急停状态 | D122.1 | 1=急停按下,0=急停释放 |
5.2 机械手回给PLC的信号清单
| 信号名称 | 地址示例 | 说明 |
|---|---|---|
| 运行中 | D100.0 | 1=机械手正在运动 |
| 到位信号 | D100.1 | 1=机械手到达目标位置 |
| 报警中 | D100.2 | 1=机械手有报警 |
| 急停状态 | D100.3 | 1=机械手急停被触发 |
| 当前报警代码 | D101 | 数值对应具体报警 |
| 当前坐标 | D102-D107 | 各轴当前位置 |
这个模板可以根据实际项目增减信号,但分块规划的思路不变。状态区、指令区、报警区分开,地址留备用,文档要更新。
5.3 安全回路的硬线连接要点
安全回路不走通讯,走硬线。急停按钮的双通道触点分别接入安全继电器的两个输入通道,安全继电器的输出触点控制机械手的伺服使能和PLC的安全输入点。安全门开关同理,双通道接入。光栅的输出也要接入安全继电器。整个回路的接线要严格按照安全继电器厂家的手册来,不要自己发挥。
提示:安全回路的接线完成后,要用安全继电器的手动复位功能测试每个安全元件是否独立有效。拔掉一个通道的线,安全继电器应该报警并切断输出;恢复后手动复位才能重新使能。这个测试每个安全元件都要做一遍,不能跳过。
6. 从调试到维护:几个长期有效的经验
6.1 通讯日志要留,但不要刷屏
PLC程序里可以做一个简单的通讯日志功能,记录每次通讯中断的时间、持续时长、恢复时间。但不要记录每一条通讯报文,那样数据量太大,反而不好查。只记录异常事件就够了。这个日志在后期分析偶发故障时非常有用,能帮你判断是网络问题、机械手问题还是PLC程序问题。
6.2 安全回路要定期测试,不是装完就完事
安全回路不是装完就一劳永逸的。急停按钮的触点会氧化,安全门开关的机械结构会磨损,安全继电器的输出触点会粘连。建议每季度做一次安全回路功能测试,每年做一次全面检查。测试记录要存档,这在安全审计时是必须的。
6.3 机械手和PLC的固件版本要匹配
三菱机械手的固件版本和PLC的通讯模块固件版本之间可能存在兼容性问题。我在一个项目里遇到过机械手固件升级后,PLC侧的通讯模块需要同步升级才能正常通讯的情况。所以做系统集成时,要确认两边的固件版本是否在兼容列表里,升级前要做好备份和回退方案。
6.4 操作员培训要覆盖异常处理
再好的安全防护设计,如果操作员不知道异常情况下怎么处理,也是白搭。培训时要覆盖:急停触发后怎么复位、安全门打开后怎么恢复、通讯报警后怎么排查、机械手报警后怎么查看代码。最好做一个简单的异常处理卡片贴在设备旁边,操作员遇到问题能快速对照处理。
7. 一个真实的联调案例:从频繁断连到稳定运行
去年在一个汽车零部件装配线上,客户用的是三菱RV-7F机械手和FX5U PLC,走以太网通讯。调试初期遇到的问题是:产线运行半小时左右,通讯就会断一次,断连后机械手停在半路,PLC报通讯超时。排查过程是这样的:先检查网线和交换机,换了一根屏蔽网线、换了一个工业交换机,问题依旧;然后用Wireshark抓包,发现断连时PLC侧有大量的重传请求,说明网络链路质量有问题;进一步检查发现,机械手的以太网口和PLC的以太网模块之间的网线走线经过了变频器旁边,变频器工作时产生的电磁干扰导致通讯误码率升高。
解决方案是:把网线改走金属线槽,并且线槽接地;同时在PLC程序里把通讯看门狗的阈值从200ms放宽到500ms,给重传留出时间。改完之后连续运行了72小时,没有再出现断连。这个案例说明,通讯稳定性不只是软件参数的问题,硬件布线和抗干扰同样重要。
另一个问题是安全门打开后机械手停止太慢。原来的逻辑是安全门信号直接触发机械手急停,机械手因惯性还会运动一段距离。后来改成:安全门打开先触发暂停停止,同时PLC启动一个定时器,如果500ms内机械手没有停止,再触发急停。这样既保证了安全性,又避免了急停带来的机械冲击。这个逻辑在PLC程序里实现起来不复杂,但效果很明显。
8. 写在最后:几个容易被忽视的细节
机械手和PLC的通讯电缆,如果是走拖链的,一定要选高柔性的屏蔽电缆,普通电缆在拖链里弯折几次就断了。这个坑我踩过,换线换到崩溃。
安全回路的接地要独立,不要和动力设备的接地混在一起。接地混接会导致安全继电器误动作,而且这种故障是偶发的,排查起来非常头疼。
PLC程序里的安全逻辑和普通控制逻辑要分开写,最好放在不同的程序块里,并且加注释标明"安全逻辑,修改需审批"。这样后期维护时不会有人误改安全逻辑。
机械手的示教器上要设置好安全速度限制,手动模式下速度不能太快,防止操作员在示教时被机械手撞到。这个参数在机械手的系统设置里,不同型号的位置不一样,调试时要翻手册确认。
通讯协议文档要随着程序更新同步更新,不要程序改了文档还是旧的。我见过因为文档没更新,新来的工程师按旧文档接线,结果信号全错,查了一整天。
以上这些内容,都是我在实际项目中积累下来的。三菱机械手和PLC的通讯与安全防护,技术本身不算特别复杂,但细节很多,每一个细节处理不好都可能变成现场的大问题。希望这些经验能帮你少走一些弯路。