ARTICLE DETAIL

资讯详情

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

三菱R系列PLC远程IO与机器人通信及触摸屏配方多屏集成实践

三菱R系列PLC远程IO与机器人通信及触摸屏配方多屏集成实践 1. 项目架构解析与选型先交代一句这套方案不是从教科书上抄来的而是我在实际产线上落地过的真实组合。项目要解决的问题很典型一台三菱R系列PLC既要带现场分散的IO又要跟机器人实时交换信号还得让操作员能在多个触摸屏上调用配方、切换画面。很多工程师一看到远程IO机器人通信配方管理多屏操作这四个词同时出现就头大其实拆开来看每个都是成熟技术难的是怎么把它们捏合成一套稳定、好维护、不互相打架的系统。先说选型。R系列我选的是R04CPU标准型自带以太网口处理速度和内存足够应对中小型产线。这里有一个很多人会犯的误区一上来就上R08或R16觉得越高越好。实际上R04对于远程IO加机器人通信加触摸屏这种负载IO点数撑死两百来点、程序量两三万步的场景完全够用省下来的预算不如砸在通讯模块或者后续扩展上。CPU的选型逻辑很简单看两个数一是程序容量二是每个扫描周期能跑多少指令。R04大概能跑3万步级别够用。远程IO这块我选的是CC-Link IE Field Basic网络。为什么不用CC-Link IE Field现场网络或者干脆走模拟量线原因有三个第一R系列本身的以太网口支持CC-Link IE Field Basic不需要额外加通讯模块成本立刻就下来了第二Basic模式走标准的以太网线布线方便现场施工的人不会搞错普通超五类线就能跑第三它支持IO从站的循环通讯和报文转发跟后面机器人通信、触摸屏以太网直连都能共用同一个物理网络拓扑简洁。有人会担心Basic模式比不了现场总线的实时性实际测试下来在从站数量十来台以内、数据量不大的场景刷新周期完全能控制在几十毫秒级别这对IO响应来说足够。机器人通信是另一个大头。产线上用的机器人是三菱的工业机器人跟PLC同品牌通信上有一个巨大的优势就是可以直接走三菱自家协议不需要写复杂的转换程序。三菱机器人的控制柜上带了以太网口支持与R系列PLC进行直接的数据映射通信简单点说就是机器人内部可以配置一组寄存器或者位软元件跟PLC的软元件通过以太网做实时映射读写都不需要额外写通信代码。如果你用的是其他品牌的机器人比如发那科或者安川那就得走标准协议比如TCP/IP里的自定义报文或者走三菱PLC的Socket通信功能自己编报文解析。这个我在后面会详细拆。触摸屏这块项目要求有两个重点配方管理和多屏操作。触摸屏选的是GOT2000系列GT251010.1寸宽屏。GOT2000对配方的支持很成熟自带的配方功能可以直接通过GT Designer3配置不需要在PLC里做很重的数据管理逻辑。多屏操作则涉及到GOT的多台GOT连接功能也就是说多个触摸屏可以通过以太网连接到同一台PLC各自访问数据既能互不干扰也能通过全局标签或者公共变量做联动。这里有一个坑后面会专门讲多屏操作如果没处理好网络负载和站号分配会出现画面卡死或者数据闪烁。整个系统的网络架构最后是这样的R04CPU的以太网口接一个工业交换机交换机下面挂远程IO从站、一台机器人、两台GOT触摸屏。这套结构能成立的关键在于R系列PLC的以太网口支持多协议并行也就是CC-Link IE Field Basic、TCP/IP报文通信、GOT连接这些可以同时跑在一个网口上互不占用规划太死只要在参数里把各协议的服务端口规划好就行。2. 远程IO配置实操2.1 远程IO从站选型与硬件接线远程IO从站我选的是三菱的NX系列I/O模块加一个以太网适配器型号是NZ2EX12-40这个适配器支持CC-Link IE Field Basic可以带多个NX模块输入输出点数灵活扩展。我这边具体用了两组从站一组放在机器人旁边的夹具工位接了12点输入、8点输出用来检测工件在位、气缸到位、夹紧信号这些另一组放在产线末端接了16点输入、8点输出做成品检测和分拣机构的控制。选NX系列而不选旧的远程IO模块理由很实际NX模块的拆装是免螺丝的直接卡在导轨上检修的时候一拔一插就换了产线停机时间能省一大截。而且NX模块的端子是弹簧式的接线不用压线钳现场施工效率高。从站供电我用的是DC24V注意一点从站电源要单独走开关电源不要跟输出负载共用一路否则负载一动作电压跌落容易导致从站掉线。有个细节很多人不注意远程IO从站的接地。NX适配器上有PE端子必须单独接地而且不能跟其他大功率设备的接地串在一起。我在这条产线上吃过亏一开始偷懒把从站接地和机器人控制柜接地接在同一个接地点上结果机器人一动作远程IO偶尔就丢一个输入信号查了整整两天最后把接地分离才解决。2.2 CC-Link IE Field Basic参数设置远程IO的参数设置是在GX Works3里完成的。R04CPU自带以太网口在导航窗口里打开以太网端口的设置选择CC-Link IE Field Basic协议然后把网络编号、站号这些按规划填进去。这里有一个特别关键的参数刷新周期和站号分配。CC-Link IE Field Basic的站号范围是0到63每个站占用的刷新大小按模块点数自动计算一般一个32点的从站占用4字节输入、4字节输出。在参数里要为每个从站分配一个起始站号并且把循环通讯的扫描设置打开。我这边两个从站分别设了站号10和11中间留了间隔为的是以后扩站时不至于要整体改参数。另一个容易踩坑的地方是始终刷新和事件刷新的选择。如果产线对IO响应的实时性要求高选始终刷新就是PLC每个扫描周期都会跟从站交换一次数据如果从站数量多、网络负载大可以改选事件刷新也就是数据变化时才触发通讯。我的经验是中小型系统无脑用始终刷新就好除非你确认自己的网络吞吐已经吃紧。设置完之后一定要做一件事在GX Works3里进行CC-Link IE Field Basic配置验证软件会检查从站的型号、占用点数、站号有没有冲突。这一步很多人跳过结果一上电从站全部掉线再回头查参数浪费时间。2.3 远程IO的数据映射与程序调用远程IO的数据映射是自动的GX Works3在配置完成后会自动生成对应的循环数据标签比如从站1的输入会被分配成NZ2EX12_10_0这样的软元件名。我习惯的做法是在程序里不做直接引用而是先写一段传送逻辑把循环数据映射到内部中间继电器。举例来说远程IO从站1的输入地址是RX0到RX11我在程序里用一段简单的传送指令把这些输入映射到M1000到M1011。这样做的目的有两个第一如果将来从站地址变了或者扩展了IO点数只需要改传送逻辑的映射范围不需要去翻程序里所有用这个信号的梯形图第二在触摸屏上也直接用中间继电器做画面监视编程逻辑清晰。输出侧同理程序逻辑里控制Y或者M软元件最后通过一段传送指令写到远程IO从站的输出地址。这里要强调一个细节传送指令要放在程序的末尾确保所有控制逻辑都已经执行完毕输出的才是最终结果。如果你把传送指令放在中间后面还有程序在修改输出软元件那远程IO的输出就会跟最终逻辑不一致现场就是那种明明条件都满足了输出就是不动作的怪问题。映射完成之后可以通过GX Works3的软件监视功能直接监控远程IO的输入输出状态不需要到现场拿万用表捅端子调试效率高很多。这一步是远程IO调试的基础几乎每一个现场问题都可以从这里开始排查。3. 机器人通信实现3.1 通信协议选型自家协议还是Socket机器人跟PLC通信协议选型直接决定程序编写难度和系统稳定性。我这台是三菱的MELFA系列机器人控制器的网络模块本身支持三菱PLC的MC协议也就是说PLC可以直接通过以太网读写机器人控制器里的软元件。这个能力太方便了PLC侧不需要做复杂的报文解析只要在机器人侧配置好通信映射就行。三菱MELFA机器人在示教器上有网络通信或者以太网功能的设定页面可以定义一批软元件比如把机器人的D0到D49定义为与PLC的D100到D149映射把机器人的M0到M15定义为与PLC的M500到M515映射。映射的方向是双向往来的PLC写D100机器人读D0就等于读到同一个值机器人改D5PLC读D105也能读到。如果你的机器人不是三菱的或者控制器的以太网功能没这么方便那就得走Socket通信。R系列PLC的以太网口支持Socket通信功能相当于PLC可以作为TCP客户端或者服务器跟对端设备建立连接然后发送和接收自定义报文。这种方式灵活性高什么品牌的机器人都能通但代价是你得自己定义报文格式、处理分包粘包、做超时重发。我的建议是只要有自家协议可用优先用自家协议省事且调试效率高只有第三方设备才被迫用Socket。3.2 握手逻辑与数据交换程序不管是自家协议映射还是SocketPLC跟机器人通信都必须有一层握手逻辑。千万别直接上来就交换数据否则程序刚开始运行时PLC和机器人都在初始化数据状态不稳定很容易误动作。我在程序里写的握手流程是这样PLC上电后先把所有发给机器人的控制字清零比如一个16位的控制字M520每一位代表一个命令全部为0。PLC置位请求握手位等待机器人回复握手成功位。机器人侧收到握手请求后把状态字M560中的通讯正常位置1PLC收到后进入正常运行状态。这个握手周期大概就几百毫秒但意义重大它保证了PLC跟机器人之间的数据链路已经建立而且双方的初始化程序都执行完了才允许后续的逻辑投用。实际的数据交换内容我一般分三类。第一类是控制命令字比如允许启动请求搬运切换夹具动作这种用位软元件每个命令一个位第二类是状态反馈字机器人把当前动作状态、报警代码、是否需要人工确认这种反馈给PLC第三类是数值数据比如工件数量、位置偏移量、速度倍率用字软元件。分类清晰了程序就好写后期查问题也快。有一个常见问题数据映射是循环刷新的但PLC扫描周期跟机器人的IO刷新周期不同步可能造成数据不稳定。我处理的办法是在PLC侧读机器人状态字的时候加一个两次读取校验连续两次读到的状态字一致才认为数据有效。这个在工业现场很实用可以过滤掉大部分由于时序交错带来的假信号。3.3 联锁保护与报警处理机器人通信里最容易忽略的是联锁保护。程序功能跑通了大家都很开心但一旦机器人在动作过程中需要紧急停止或者PLC检测到安全门打开必须能让机器人停下来。这不能单靠通信报文因为通信本身有延迟紧急情况下报文可能还没发出去。我的做法是在硬件层加一组安全联锁回路。机器人的控制柜上有外部急停输入端子我直接把PLC驱动的外部急停继电器信号送到机器人控制柜的急停回路里同时机器人侧的安全输出也接到PLC的急停回路里形成双向硬件联锁。这样不管哪一侧触发急停另外一侧立刻断电不依赖通信。通信层做的报警处理比如机器人报伺服异常、PLC报IO故障这些属于软联锁处理速度慢一点但作为第二道防线也必须有。报警处理上PLC侧要把机器人反馈的报警代码读过来存到数据寄存器里同时置位一个机器人报警中间继电器触摸屏上做一个报警显示画面直接读取这个报警寄存器的值转换成文本。寄存器转文本这一步需要写一个查表程序把报警代码跟报警文本关联起来你可以把文本直接存放在触摸屏里用代码索引也可以放在PLC的注释里看你怎么方便。4. 触摸屏配方与多屏操作4.1 配方数据结构设计与存储配方这块我用的是GOT2000传感器自带的配方功能而不是在PLC里自己写一套配方管理。这句话要说清楚因为很多PLC工程师的习惯是PLC里做配方数据块用触摸屏画面去维护数据但GOT2000的配方功能其实已经很成熟可以做到配方数据存在触摸屏内部存储器需要下发时一键写到PLC。配方结构设计是最关键的一步直接影响后续维护的舒适度。我的建议是先画一张配方清单明确产品有哪些工艺参数。比如这条产线有A、B、C三种产品每种产品有10个参数包括气缸压紧时间、机器人搬运速度、电机旋转圈数、传感器阈值这些。我就在GT Designer3里建一个配方表每行一个配方每列一个参数配方表的列数跟PLC的数据寄存器是一一对应的。配方参数在PLC侧的存储地址我规划为D200到D299共100个字。A配方占用D200到D209B配方占用D210到D219以此类推。这样规划的优点是触摸屏下发配方的时候只需要指定把配方编号为1的数据写到D200开头的地址逻辑非常直观。配方数据还有一个版本管理的问题简单说就是改了参数想要追溯之前用的版本。GOT2000的配方功能支持在触摸屏上导入导出到U盘我习惯在每个配方文件命名时加上日期比如配方A_20250115.csv这样哪一天改了配方回头整理文件就能看到记录。这个习惯在后期应对审计或者追查质量问题时非常好用。4.2 配方调用逻辑设计调用配方的逻辑很简单触摸屏画面上做一个配方选择窗口操作工选好产品型号按下下载配方按钮GOT2000就把对应的配方数据写到PLC的D200起始地址。PLC侧的程序要做的是在收到配方下载完成信号之后把D200到D209的数据做一次校验比如求和校验或者CRC校验校验通过后才允许设备启动。这里要多说一句配方下发后别立刻让设备跑起来最好加一个确认步骤。我遇到过操作工误选了配方设备启动后把产品参数搞错了结果废了一整批。后来我在程序里加了配方确认机制按下下载后触摸屏弹出一个窗口显示配方编号和关键参数给操作工二次确认确认后PLC才允许启动。这个改进看起来很笨但实际效果相当好操作工的误操作概率降了一大截。配方数据的校验算法不用搞得太复杂求和校验就够了。在PLC里做一段循环求和把所有配方的数据寄存器相加跟触摸屏下发的校验值比对一致就通过。如果校验失败置位一个配方异常报警触摸屏上提示操作工重新下载。另一点要注意的是配方的断电保持。GOT2000的配方数据存在触摸屏内部断电不会丢失但PLC里的D200区域如果你没有设置断电保持PLC一断电参数就回到默认值了。我建议在PLC参数里把D200到D299设置为锁存区域这样即使PLC断电上一次下发的配方参数也不会丢设备重新上电就能直接使用。如果你用的是标准软件别忘了在CPU参数里配置锁存范围这个很关键。4.3 多屏操作同步、锁与权限多屏操作是这个项目里看起来最简单、实际坑最多的地方。我这边两台GOT2000触摸屏一台在设备正面一台在设备后面靠近机器人区域它们通过以太网连接同一台R04CPU。理论上GOT2000支持多台触摸屏同时访问PLC不需要做任何特殊设置但实际运行你会发现不做规划会出现两类问题。第一类是网络负载问题。两台触摸屏同时在画面刷新、配方上传下载、报警记录查览PLC的以太网口会有压力尤其当触摸屏画面里有大量数据点需要刷新时数据会变得延迟甚至闪烁。第二类是操作冲突。两个操作工在不同的触摸屏上同时操作可能一个在启动另一个在急停造成混乱。多屏同步方面GOT2000有一个公共变量功能可以定义一组变量在不同的触摸屏之间共享。比如我在公共变量里定义了一个当前操作模式变量0是手动、1是自动、2是维护任何一台触摸屏修改了这个变量另一台触摸屏的相应画面控件也会自动更新。这个功能的配置位置在GT Designer3的公共设置里设置非常简单但确保两台触摸屏的公共变量名称完全一致并且用同一个工程文件版本。操作锁和权限这块我的做法最土但最有效用PLC的M寄存器做一把操作锁。触摸屏上设置操作权限分级管理员可以切换操作模式、修改配方操作工只能做启动、停止、选择配方。权限本身在GOT2000里设置但真正操作时触摸屏按钮执行的很多动作都要通过PLC的中间继电器我在PLC程序里加了一段逻辑如果操作锁被占用其他触摸屏上的启动/停止按钮就无效。换句话说同一时刻只能有一台触摸屏对设备发出控制命令。为了这个操作锁我在PLC里写了一个简单的逻辑M10代表正面屏锁定M11代表反面屏锁定任何一个屏触发启动命令前先检查M10和M11的状态如果都不是锁定状态才可以置位启动命令。实际效果是操作工在正面屏上按下启动后启动命令正常执行同时正面屏的操作锁被占用反面屏再按启动就不会有反应避免了两个人同时操作的可能。4.4 GOT2000画面组态的细节画面组态这部分我做几个容易忽略但很重要的分享。第一配方画面不要用GOT2000自带的配方表控件直接给操作工看那个界面显示信息太多容易看花眼我用的是自定义画面加配方选择列表只显示产品型号和产品名称简单明了。第二报警画面一定要合理利用GOT2000的报警采集功能在GT Designer3里设置报警显示为PLC侧报警也就是通过PLC里报警寄存器的变化来触发报警列表这样比触摸屏自己监视数据更实时。多屏操作还有一个网络规划细节两台触摸屏和PLC的IP地址要在同一个网段而且最好固定分配不要用DHCP。我这边PLC是192.168.10.1触摸屏1是192.168.10.10触摸屏2是192.168.10.11机器人的控制器是192.168.10.20远程IO从站分别是.30和.31。固定IP的好处是排障时直接ping一下就知道哪台设备掉线不用去翻路由器分配记录。触摸屏通信设置里有一个通信超时参数默认是3秒如果你的网络偶尔有延迟建议适当调大到5秒避免触摸屏误报通信错误。反过来说如果调太大真掉线时操作工要等很久才看到错误提示这个权衡按现场情况来。5. 调试笔记与故障排查5.1 常见问题速查表我把这个项目调试过程中遇到的问题整理成一张表几乎涵盖了这套系统常见故障的80%。每个问题后面附上排查思路方便你直接在现场对表操作。现象可能原因排查与解决远程IO从站上电后掉线从站未分配到站号或从站供电不足检查从站上的LED状态确认站号拨码用万用表量从站供电电压确保不低于21.6V全系统通信都偶尔丢包接地不良或网络线缆松动逐一检查交换机端口指示灯摇晃网线看有没有松动重点检查控制柜内的接地母排机器人通信数据时好时坏握手逻辑没有加数据校验检查PLC里的两次读取校验逻辑没写就直接加检查机器人侧映射是否被其他程序改写触摸屏配方下载后PLC参数没变配方目标地址不匹配在GT Designer3里双击配方控件确认写入地址和起始地址是否正确多屏操作时按钮无效操作锁被另一台屏占用在PLC监控M10和M11的状态确定哪台屏占用了锁修改程序做超时自动释放触摸屏画面数据闪烁网络负载过高或PLC扫描周期太长查看触摸屏通信监视统计刷新频率优化PLC程序减少主扫描周期机器人报警无法复位PLC侧没有释放报警复位命令检查报警复位命令位的时序必须保持足够时间机器人侧才能检测到设备启动瞬间远程IO输出抖动输出电源共用或未加抑制器远程IO输出回路加续流二极管或阻容吸收检查电源是否与感性负载共用5.2 网络线缆与交换机的选型经验你可能觉得网线不是重点随便用根普通网线就行。我劝你别这么想。工业现场的网线跟办公室不一样干扰源多振动大温度高普通百兆网线用几个月就可能出现接触不良或者性能衰减。我的做法是所有PLC、机器人、触摸屏之间的网线全部用超六类屏蔽网线而且屏蔽层要两端可靠接地。交换机选型上用工业交换机至少是支持DIN导轨安装的。不需要上什么网管型交换机傻瓜型工业交换机就够了但这个交换机必须支持IEEE 802.3和10/100/1000M自适应这个没什么好说的。有一点要注意交换机端口数量要留余量我这条产线目前只用了交换机8个端口中的5个剩下3个是给以后扩展用的如果你接满了再加设备就尴尬了。5.3 调试顺序与快速定位技巧这套系统的调试顺序很重要我总结出来一套比较可靠的流程先单独调试PLC把PLC主程序跑通用软件监视确认输入输出信号都正常。再调试远程IO把从站逐个上电确认所有输入信号能在PLC里读到输出能驱动现场设备。然后调试机器人通信先不做联锁只做数据交换确认读写映射正确。接着调试触摸屏单机确认画面能访问PLC数据、配方能正常读写。最后做多屏联动打开两台触摸屏确认公共变量同步、操作锁有效。这套顺序的好处是每一步都建立在前一步稳定的基础上出问题就只在当前这一步排查不需要考虑更底层的变量。调试时多利用GX Works3的软件监视在线修改功能碰到小问题直接在线改程序不用反复下载。触摸屏侧则用GT Designer3的模拟模式在电脑上仿真画面检查画面逻辑没问题了再下载到GOT。这两个技巧能让你调试速度快很多。5.4 维护与扩展建议项目交付不是终点后续维护的便利性才是体现工程师水平的地方。我在交付这套系统时额外做了几件事第一在GX Works3里把所有软元件注释写全尤其是那些中间继电器每一段逻辑都写上注释方便后来接手的工程师快速理解。第二在触摸屏画面的角落放了一个诊断页面包含PLC的CPU状态、远程IO从站状态、机器人通信状态、触摸屏通信状态维护人员打开这个页面就能看到系统的整体健康状况。第三把配方文件备份了一份放在U盘里标好日期和产品型号放在控制柜内万一触摸屏坏了或者配方误删直接插U盘恢复。给这套系统留扩展点也很重要。我预留了PLC里的一段空闲寄存器区专门给以后增加传感器或者设备用以太网交换机的空闲端口就是给未来扩展IO从站或者PC上位机监控用的机器人通信的映射地址也留了几个空余以后加功能不用重新设计映射表。这一套做下来后来的人维护这套系统会轻松很多。我自己的体会是这套系统的每个单独环节其实都不算新颖难点在于把远程IO、机器人通信、触摸屏配方和多屏操作整合在一起时如何保证它们稳定协同。我的核心建议是通信架构先规划后施工网络参数固定死数据映射简单清晰每个环节都做握手和校验多屏操作务必做操作锁。这些经验这次全部分享出来希望能让正在折腾类似项目的同行少走几个弯路。
返回列表