ARTICLE DETAIL

资讯详情

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

三菱R系列PLC焊装线改造实战:分布式IO与机器人通信解析

三菱R系列PLC焊装线改造实战:分布式IO与机器人通信解析 接手过一条汽车零部件焊装线的改造项目甲方原来的设备用的是Q系列PLCIO点分散在几个大电柜里每台机器人和PLC之间全部靠硬接线IO通断触摸屏只有一块配方数据全靠人工记录和重新录入。改造完成之后整个系统换成了三菱R系列PLC做主站分布式IO铺到工位旁边机器人和PLC走网络通信两块触摸屏同时在线操作配方调用一份配方数据几秒钟就能切换完成。这篇文章就把这套方案从架构设计到具体配置、再到现场调试踩过的坑完整梳理一遍给准备做类似项目的同行做个参考。这套方案听起来不算特别复杂但真正落地的时候涉及到的细节非常多远程IO的站地址分配、机器人握手时序、配方的掉电保护、多屏权限管理每一块单拎出来都有容易犯错的地方。这篇内容更适合正在用三菱R系列做项目、或者准备把老设备往分布式IO和网络化通信方向改造的电气工程师和调试人员阅读我会把每一步的选型逻辑和配置依据讲清楚尽量做到你照着这套思路就能复现整个系统架构。1. 项目背景与控制架构设计思路1.1 为什么选择三菱R系列PLC带队这条产线的控制规模大概是数字量输入输出点600多个模拟量通道32路伺服轴8根外接6台工业机器人外加两套称重传感器和若干视觉检测设备。原来的Q系列CPU跑顺序控制没什么问题但问题出在扩展性和通信能力上。IO模块全挤在中心电柜里最远的工位到电柜的电缆长度接近80米布线像蜘蛛网一样乱而且点位一多查线就成了噩梦。换R系列首先是性能上的考虑。R04CPU以上的型号基本指令处理速度能到0.00044微秒级别相比Q系列提升了至少一个量级对于这种几百个IO点、几百步程序的设备来说扫描周期可以轻松稳定在1毫秒以内。更重要的是R系列在通信上的天然优势CPU本体自带以太网口支持SLMP协议内置了CC-Link IE TSN现场网络的对应能力远程IO、机器人通信、触摸屏挂网这些东西不需要额外加一大堆通信模块一个CPU加一个网络模块就能全部搞定。另外一点是程序的迁移成本。R系列虽然是新一代产品但GX Works3提供了Q系列和A系列程序的转换工具老项目里的梯形图、功能块基本能无缝平移。这条产线上有一些成熟的定位和温度控制逻辑直接转过来改改点位就能用不用重写这对项目周期来说太重要了。1.2 整体网络拓扑与通信协议选型整个系统的网络骨架可以简单理解成三层现场设备层、控制层和人机交互层。现场设备层用的是CC-Link IE TSN网络。这是三菱目前主推的工业以太网协议基于千兆带宽同时支持时间敏感网络技术在传输普通IO数据的同时还能保证运动控制这种对时间同步要求极高的数据按时到达。产线现场放了7个远程IO站分布在不同的工位每个站就近接入附近的传感器、电磁阀、气缸磁性开关、变频器控制端子等站与站之间用工业以太网线串联最后通过一个环网或者星型结构回到主站。控制层的核心就是R04CPU通过CC-Link IE TSN模块挂载远程IO站同时通过SLMP以太网通信和6台机器人交互。机器人的通信方式我纠结过一阵子后面专门有一章细讲。触摸屏用的是三菱GOT2000系列两块屏都通过以太网直接连接到PLC的CPU网口或者交换机上用三菱自己的传输协议通信。这个架构选型的关键考量就是尽量减少通信协议的种类。整个项目里远程IO走CC-Link IE TSN触摸屏走三菱专用传输协议机器人走SLMP主站和远程站的配置全在GX Works3一个软件里完成GOT的程序用GT Designer3完成。调试的时候只需要在PLC侧统一管理这些站点的地址和参数不用来回切换不同的软件平台这一点对现场效率的提升非常明显。1.3 和传统集中式控制相比这套架构解决了什么问题老式的集中式控制模式所有IO模块都插在CPU机架上机架容量有限扩展靠加远程主站模块和子站本质上还是一个电柜里的事情。新架构带来的最直观好处有四个第一个是布线量大幅下降。原来一盏工位灯、一个限位开关都要从80米外的电柜拉线现在只要从最近的远程IO站拉几米线光电缆成本和桥架工程量就能省下相当可观的费用。第二个是查线变得简单。每个远程IO站都有明确的地址范围现场设备接在哪个站就对应哪个输入输出地址对照图纸一目了然。以前那种“只能顺着线找”的黑暗时刻再也不想经历了。第三个是扩展灵活。产品改型或者产能爬坡需要增加设备时买一个新的远程IO站挂上线分配好地址就能用不需要修改主干线缆也不需要重新规划电柜内部布局。对产线频繁调整的项目这个优势尤其明显。第四个是故障诊断到站级。CC-Link IE TSN网络里每个站都有诊断功能哪个站掉线了、通信质量如何、哪个模块出了错触摸屏上都能直接看到。以前查IO故障要在电柜里一个个模块看LED指示灯现在直接在画面或者GX Works3里点开网络诊断就能定位效率完全不在一个档次。这套架构也不是没有代价。它比集中式控制多了一层网络通信主站和远程站之间的网络如果出现问题整个工位的设备都会失去控制所以网络冗余、电源隔离这些配套措施一定要跟上后面章节我会重点说。2. 远程IO网络的搭建与配置要点2.1 远程IO站的选型与站点地址规划远程IO站我用的是三菱的MELSEC iQ-R系列远程站组合现场站型号选的是NZ2GN系列配合NX系列IO模块的组合。核心的型号是NZ2GN2S1-32D型远程站适配器每个站可以挂32点输入和32点输出了再加上数字量IO模块、模拟量模块的组合现场可以根据工位实际需求灵活组合。这里有个经验选远程站时不要只看点数还要看站上需要装什么特殊模块。如果某个工位有伺服或者变频器要挂到网络上那这个站点就得选用带TSN功能的扩展适配器对实时性要求高的场合这一步千万不能省。站点地址规划是远程IO配置里最容易出错的一环。我的习惯是先做一张站点地址分配表把所有远程站按物理位置和设备归属编号从站1到站7每一个站固定下来分配网络地址和占用IO范围。千万不要想到哪个站先配哪个站最后地址乱套了现场查故障能查到崩溃。分配时注意留出裕量。每个远程站虽然当下只用了32点或者64点但我会在地址上预留出至少20%到30%的空余万一现场某个工位后续加设备不用调整整个网络地址规划。比如站1的IO范围设为0到127实际只用到80点剩下的留给未来扩展。这个习惯帮我避免过好几次返工。2.2 网络模块参数配置与扫描周期计算在GX Works3里配置远程IO网络的步骤大概是这样新建工程选择好CPU型号后在“CC-Link IE TSN”参数树里添加站信息选择每个站的型号填写站点号然后配置各站的IO模块类型和起始地址。GX Works3会提示地址冲突所以配置完成后一定要检查一遍“IO地址分配表”确认整个网络覆盖范围内没有重叠地址。配置完成后网络刷新时间是可以计算的。CC-Link IE TSN的刷新时间主要取决于传输字节数和站数。按照我们这套配置7个远程站、总IO点数700多个算下来一个循环的刷新时间大约在1.2毫秒左右。再加上远程站模块的输入延时和输出响应时间整体从传感器信号变化到输出动作的执行时间大概在4到6毫秒对产线设备来说完全够用。这里有个重要的注意事项远程IO的刷新时间和CPU的扫描周期是异步进行的也就是说程序里读取一个远程输入点拿到的数据可能是上一个网络刷新周期的旧值。对普通IO来说没问题但如果要用远程IO做伺服使能、快速停止或者安全联锁就必须考虑这个时延。需要快速响应的信号比如急停、安全门开关我全部拉到CPU机架的本体IO上不用远程站。这一点是远程IO架构里最容易出安全风险的坑有意向做这类项目的朋友务必记住。2.3 布线规范、电源配置与抗干扰措施远程IO站在现场意味着电源和网络线都得跟着往现场走。电源这一块我给每个远程站单独配了24V开关电源并且和主电柜的电源做了分区隔离。原因是现场伺服电机和电磁阀动作时电流冲击会造成电源电压瞬时跌落如果远程站和主站共用一路电源电压波动会直接影响通信模块严重的会导致整个网络掉站。给7个远程站各配一个小功率电源成本增加有限但稳定性提升非常明显。网络布线方面CC-Link IE TSN用的是标准以太网线但现场环境粉尘和油污比较多我全部选用了带金属屏蔽层的工业等级网线和工业连接器接头是镀金弹片型的。这里要特别说一句很多新手贪便宜用办公网线做现场布线初期跑起来没问题但用了半年后氧化物积累开始随机掉线查起来非常痛苦。这种环境下的网线必须按工业标准选。干扰问题更要重视。产线现场有大功率伺服、变频器、焊机这些强干扰源如果网线和动力电缆走在同一根线槽里干扰会直接耦合到网络信号上造成通信误码甚至掉站。我在布线时强制将网络线缆和动力电缆分开桥架间距不小于30厘米实在绕不开的地方用金属隔板隔开。另外网络两端要保证屏蔽层有效接地这里“有效”两个字很关键——屏蔽层单端接地是常识但现场经常出现屏蔽层没压接到金属接头或者接地铜排锈蚀的情况这种隐患必须在施工验收时逐点排查。调试过程中还遇到过远程站模块电源正负极接反烧模块的情况。三菱模块虽然有电源反接保护但有些IO子模块是不带保护的接线前必须确认DC24V的极性。我的习惯是给每个远程站配一个带保险丝的端子台同时在站内粘贴一张电源极性和地址分配的标签方便后续维护。3. 机器人通信的三种实战路径3.1 硬接点IO通信的局限与过渡方案这台产线的6台机器人分别是发那科、安川和ABB三个品牌每种机器人的通信接口和支持协议都不太一样所以通信方案不是一刀切而是根据每台机器人的实际情况选了不同方式。先说说硬接点IO通信。老设备上机器人和PLC之间就是一根根硬线连接PLC输出点接机器人输入点机器人输出接PLC输入程序里通过输入输出点状态来互锁。这套方式原理简单可靠性也不低但缺点很明显一个信号要占用两端各一个IO点像这种双向需要十几个信号的场合光IO占用就吃掉几十个点而且每台机器人还得单独做一个转接板配合中间继电器成本和故障率都高。对于现场不需要高速、大批量数据交换的场景硬接点IO其实不会是错误选择。比如机器人只是执行一个简单的取放动作PLC给它一个启动信号机器人做完后反馈一个完成信号这种情况下硬接点通信足够稳定而且调试时用万用表直接量通断故障排查特别直观。但这条产线的机器人动作比较复杂需要传送目标坐标、速度倍率、工件类型等参数十几个开关量远远不够用所以只有2台动作简单的机器人保留了硬接点IO方式其余4台全部改成了网络通信。3.2 CC-Link IE现场网络对接发那科机器人的配置实例发那科机器人是R-30iB Plus控制器标配支持多种现场网络协议。这台机器人最终走的是CC-Link IE现场网络非TSN版本通过加装三菱的CC-Link IE现场网络接口卡实现和PLC主站通信。配置上有个关键点机器人侧的网络参数和PLC侧的网络参数必须完全对得上。第一步在PLC侧GX Works3预留出这台机器人的站号比如站号8占用IO地址范围设为W0到W100也就是分配100个字给机器人通信第二步在发那科机器人的控制器设置里配置网络模块的站号、传输速度等参数确保和PLC侧一致第三步定义通信字的具体含义比如W0是机器人启动指令、W1是机器人复位指令、W10到W20是目标位置坐标、W50是机器人状态反馈等双方按这个协议文档编写程序。发那科侧的程序编写用的是它自己的KAREL语言和TP程序。把CC-Link IE映射到的内存区域和机器人内部寄存器关联起来然后根据通信协议里的指令字进行解析和执行。比如机器人每100毫秒检查一次W0如果变成1就启动当前程序执行完成后把W50置为2同时将当前实际位置写入W60到W68PLC读到这个状态后才会继续下发下一个动作命令。这种方式的优点是数据吞吐量大、实时性好几十个字的数据一个网络周期内就能完成交换机器人动作的响应速度远优于硬接点IO方式。缺点是配置相对复杂需要同时懂PLC侧和机器人侧的设置而且通信参数不匹配时故障表现很迷——有时是通信建立不上有时是偶发中断。排查时一定要先把物理层确认好站号冲突、线路问题这些低级错误往往占了故障的大头。3.3 各品牌机器人的通信方式对比与取舍再来系统对比一下几种常用方案。除了硬接点IO和CC-Link IE和机器人通信还有一个常见方案是走以太网的SLMP协议。发那科、安川、ABB的现代控制器都支持以太网TCP/IP通信PLC可以通过SLMP报文直接读写机器人的寄存器区域不需要加装额外的网络接口卡。SLMP协议是三菱PLC的标准以太网协议PLC作为主站主动发送请求报文机器人作为从站响应请求。报文格式扫描周期、寄存器编号、读写数据长度等信息PLC侧用GX Works3的通信指令或者用功能块来发送。这个方案成本最低只需要一根网线不需要机器人侧加硬件而且通信距离远可以跨车间通信。但SLMP方案对机器人侧程序编写要求比较高。机器人需要自己维护一个寄存器映射区定时把自己要上报的数据写到这个区域然后PLC用SLMP去读PLC要下发的指令写到另一个区域机器人定时读取。如果两边扫描不同步很容易出现读到的数据是旧的、或者指令覆盖前一条没被执行的情况。所以用SLMP方案时通信协议里必须设计好握手和互锁机制比如PLC先写一个“请求批次号”机器人执行完以后把“完成批次号”回写PLC发现批次号一致才认为这一轮通信成功。从稳定性角度来说CC-Link IE自然是首选毕竟同一生态系统的设备兼容性最好。但实际项目里机器人品牌很多不可能都加装三菱的通信卡对那些没有CCLINK IE条件、又需要传输大量数据的机器人SLMP是不错的替补方案。最后我的选择是发那科两台走CC-Link IE安川两台走SLMPABB两台保留硬接点IO做简单启停控制。每种方案都有它的适用场景没有绝对好坏只有适合不适合。3.4 机器人通信程序的握手与时序设计机器人通信最关键的不是选协议而是通信协议里的时序设计特别是握手和超时处理。这里分享一个我在现场踩过的坑。刚开始调试安川机器人SLMP通信时PLC每100毫秒写一次启动请求机器人检测到后开始动作这看起来没问题。结果运行一个小时后机器人突然不响应了PLC侧显示通信正常但机器人就是不动。排查了半天发现是时序竞态PLC的扫描周期波动导致在一次请求还没被机器人处理的时候PLC又发来了下一个请求机器人侧的程序判断逻辑就死锁了。后来重新设计了握手协议PLC先写一个批次号从1开始递增机器人读到新的批次号且机器人当前空闲时把批次号锁存并开始执行执行完成后把“已完成批次号”回写PLC只有看到“已完成批次号”等于自己发出去的批次号时才会发下一个新批次号。如果超过300毫秒还没收到反馈PLC报警并在触摸屏上显示通信超时机器人侧也做了一个复位逻辑收到新批次号前先清空上一次的锁存值。这个设计原理很像两个人在交替传球只有当对方明确表示接到了球这边才会发下一个球。有了批次号机制之后几台机器人都没有再出现过通信死锁的情况。现场调试机器人和PLC通信时这种状态机和超时控制的思路请务必记在脑子里不要在通信协议里省这一步省掉的时间会在后期调试里加倍还给你。4. 触摸屏配方管理的实现逻辑4.1 配方数据的内存规划与组织结构这条产线要加工好几种规格的工件每个工件对应的焊接参数、定位坐标、速度倍率、压力值等工艺参数完全不一样。以前的做法是操作工根据工件型号对照纸质工艺卡手动输入几十个参数换一次型要花十几分钟而且输入错一个数字整批产品就废了。改用触摸屏配方功能后换型时间压缩到一两分钟以内。配方管理的核心是数据组织方式。我用的是三菱GOT2000系列的配方功能在GT Designer3里配好配方数据每一组配方对应一种工件型号配方里包含所有工艺参数比如“工件A”这张配方里有焊接电流600A、焊枪定位坐标X120.5mm、Y88.2mm、Z45.0mm、送丝速度8.5m/min、夹具夹紧延时0.8秒、检测阈值±0.05mm等。这些配方数据存储在GOT内部的一个配方存储区里同时我也在PLC的保持性寄存器区做了一份镜像。GOT配方功能可以一键把一组配方数据整体写入PLC的对应寄存器区也可以把PLC里当前运行的参数反向保存回GOT配方区实现配方的“上传下载”双向操作。这样既能在触摸屏上直接编辑配方数据又能保证即使触摸屏换了新屏PLC里的参数不丢失反之触摸屏里的配方数据也能永久保存。4.2 配方编号与数据校验机制的实用设计配方的调用不是简单按一个按钮就完事。实际操作中我设计了一套“配方编号 数据校验”机制防止误调用和半途数据异常。第一每一组配方都有一个唯一的配方编号从1到20。触摸屏画面上操作工只能通过数字键输入配方号不能直接选“工件A”或“工件B”这样的名称。用编号的好处是任何时候PLC程序里都可以直接用整数比较简单可靠不受中英文兼容问题影响。然后PLC程序根据配方号用MOV指令把对应编号的配方参数从保持区搬到当前运行区。GOT配方功能里配方名称可以保留中文名但在画面显示时我会设计一个“当前配方名称”的文本显示区由PLC根据配方编号通过查表方式赋值。第二PLC在切换配方时先做一次“数据校验”。比如从GOT传来配方号5PLC先把配方号5的参数读入当前运行区然后延时50毫秒再读一遍同区域的数值两次比较一致才确认切换成功。为什么这样做因为通信报文在传输过程中如果受到干扰可能读到半截数据导致某一两个参数是错误的。加一道重复读校验基本上能把通信传输错误挡在门外。校验失败时PLC会报警并保留原来的运行参数等待操作工重试。这个细节看着简单实际用起来以后几乎没有因为配方切换导致产品质量事故。第三GOT配方数据本身在切换时也可能被误操作覆盖。我在配方画面上加了操作权限和二次确认对话框只有权限级别为管理员的用户才能修改配方内容操作工只能调用不能编辑。这样设计是为了防止操作工“好心”改了一个参数结果下一批产品全按错误参数生产。4.3 GOT配方画面设计与掉电保护策略配方画面的布局我按照“上半部分配方列表、中间参数编辑区、下半部分操作按钮”来设计。配方列表里显示所有配方编号和对应的中文名称操作工点选一行右侧显示该配方的所有参数双击参数值即可修改。按“写入PLC”按钮把当前配方整体下发按“读取当前值”按钮把PLC当前运行的参数反向存回配方区按“新建配方”和“删除配方”两个按钮做配方维护这两个按钮做了管理员权限限制。掉电保护是配方管理里绝对不能忽视的一环。GOT2000的配方数据存储在它内部的非易失性存储区掉电不会丢失。但PLC侧的保持性寄存器区必须要设置保持范围如果不设置或者是用的普通寄存器PLC掉电后当前运行的配方参数会全部清零重新上电后设备状态就乱了。具体在GX Works3里需要在CPU参数里设置锁存(Latch)范围。R系列的锁存起始地址可以在参数中自由设定我把锁存范围设为从D0到D1500覆盖所有配方运行区和配方镜像区。同时把“RUN中写入锁存数据”设为允许这样即使CPU在运行时保存配方数据的保持区也能正常写入。此处需要留意锁存范围一旦设定之后扩展配方或者增加寄存器变量时如果要扩大锁存范围得重新设置参数并且下载到PLC这个过程必须谨慎操作下载时会清空PLC内原有的锁存数据反之前务必先备份。GOT侧我还配置了配方数据的自动备份功能定时把配方区的数据导出到SD卡每周一次自动备份。这样即使GOT本身硬件损坏换一台新触摸屏把SD卡里的配方数据导进去一分钟就能恢复所有配方参数不用重新手工录入几百个参数。4.4 配方切换的操作流程与换型验证这里把完整的配方切换流程顺一遍方便大家照着设计自己的画面。整个流程在触摸屏上分三步第一步操作工在配方选择画面输入目标配方编号触摸屏弹窗显示该配方对应的工件型号名称再次确认后才会触发配方切换指令。第二步PLC程序收到切换请求先检查当前设备状态。如果机器人正在运动中或者气缸动作未完成切换指令不会立刻执行而是先在中控画面上提示“设备忙正在等待动作完成”直到设备停下后才进入切换流程。第三步设备停止后PLC执行配方数据读入、重复校验、数据校验通过后更新当前运行参数同时将“当前配方编号”寄存器更新为新值触摸屏显示“配方切换成功”并且显示新的工件型号。换型完成后操作工可以在调试画面上点“空运行测试”用当前配方参数做一次不带工件的初始动作确认各轴和逻辑都对再开始批量生产。这套流程走了两个月整体运行很稳定最明显的效果就是换型时间从原来手工输入参数时的十五分钟左右压到两分钟以内并且再也没有因为手输参数错误导致的产品报废。配方的价值不只是“少敲几下键盘”而是把工艺经验和生产参数标准化、可追溯这对产线管理来说意义很大。5. 多屏操作的协同设计与权限体系5.1 多台触摸屏的网络连接与变量共享机制这产线上要两块触摸屏同时工作一块在主操作台一块在设备旁边靠近工位的位置方便操作工在换料、调整夹具时也能看到设备状态和进行操作。很多人以为多屏就是一台PLC挂多台触摸屏各自独立做画面其实关键在于变量共享。GOT2000触摸屏和PLC之间是用三菱专用传输协议通信的多台GOT同时连接同一个PLC时PLC侧不需要做特殊处理每台GOT都是独立的客户端彼此的变量操作会实时同步因为都直接读写PLC的同一块寄存器区域。也就是说操作工在主屏上按了启动按钮PLC里那个启动寄存器的值就变了副屏上监控同一个寄存器看到的自然也是启动状态反过来副屏上修改了某个设定值主屏马上也会显示更新后的值。网络结构上PLC的以太网端口通过一个小型工业交换机分成两路到两块GOT。这里注意不要直接把两块GOT都插到PLC同一个网口的直连线上GOT2000支持菊花链连接即一台GOT的LAN端口串到下一台但那样一台断线会影响另一台稳定性不好。用交换机是更好的选择如果预算允许用支持环网冗余的交换机更好。5.2 多屏操作的冲突规避与权限分级多屏操作最大的隐患是并发冲突。比如操作工在主屏上调用配方写入同时设备工程师在副屏上修改一个工艺参数两个操作先后写同一个寄存器最后到底哪个值生效就说不清了。虽然PLC程序里最后写入的值会覆盖前一个但这不是我们期望的结果。解决冲突的办法有两层。第一层是画面层的“互锁标记”。我在每个关键操作按钮上加了“操作中”标志位一台触摸屏触发操作时会先把某个“操作占用”寄存器置1另一块屏检测到这个标志为1时对应按钮就会置灰不可点并且弹窗提示“设备操作中请勿并发操作”。操作完成后标志复位。这一招简单粗暴但非常有效从机制上避免了两块屏同时按同一个按钮的情况。第二层是权限分级。GOT2000本身自带用户权限管理功能可以为不同的用户分配不同的操作权限。我在项目里设了三层权限操作员、技术员、管理员。操作员只能看画面和按启动、停止、复位这些基础按钮配方编辑、参数修改、系统设置等画面默认锁定技术员在输入密码后可以进入配方编辑和参数修改画面管理员则拥有全部权限包括用户账号管理、IP设置、系统时间修改等。权限分级的好处是安全责任清晰。操作工不会因为误入参数设置画面改坏参数技术员能处理日常的工艺调整系统级配置只有管理员碰得到。同时GOT的日志功能会把每一次登录和关键操作记录下来出了事可以回溯到底是谁在什么时间改了什么东西这对产线管理非常有价值。5.3 双屏画面的同步策略与改造旧项目的增量叠加技巧两块触摸屏的画面内容不完全一样。主屏是综合操作画面包含产线总览、所有工位的状态监控、启动停止、配方管理等副屏则更聚焦在机器人周边工位显示机器人当前位置、报警信息、IO状态和单步手动操作功能。但两屏上有些关键信息必须保持同步比如设备启动状态、当前配方编号、报警信息等。办法还是那句共享同一块PLC寄存器区域。所有需要同步的状态量全部通过PLC寄存器中转不搞各屏自己维护的本地变量。各屏本地变量只能用来做按钮的按下反馈这些瞬时效果最终状态一律从PLC的寄存器读。屏幕之间的同步不是靠屏幕之间通信而是靠“都从PLC读同一个地址”来实现。再说一个老项目改造的技巧。如果原来就有一块触摸屏现在要加第二块不建议直接把原工程文件整个复制一份改改内容就下载到新屏。最稳的做法是在原工程的基础上新增第二台GOT的工程配置但保持所有全局标签、HMI变量、IP地址的命名和设置不变只在画面内容上按需增删。这样既不影响原来的画面布局和逻辑又不会在维护时出现“两块屏行为不一致”的怪问题。如果原来用的是老型号GOT比如GT16系列那么GOT2000和它之间的画面工程不能直接互导但是PLC侧变量地址是完全一样的直接对照原屏画面的变量地址对应到新屏即可。改造时建议逐步把旧屏的画面同步到新屏先在副屏只做状态监控运行稳定后再逐步开放操作按钮避免一次性切换带来的风险。6. 常见故障排查与避坑实录6.1 通信类故障的典型现象与排查顺序把这半年多调试和维护过程中遇到的通信故障和解决方案整理一下这部分算是最有实用价值的内容了。故障现象可能原因排查步骤解决方案某个远程IO站偶发掉线指示灯闪红网线接头氧化、网络电缆被干扰、站内电源波动先看站内电源电压再检查线缆接头最后看网络诊断更换工业级网线接头电源加装稳压模块PLC和发那科机器人通信建立不上站号冲突、机器人侧参数未生效、网络端口配置错误检查PLC侧站地址分配表和机器人侧设置界面确认两边站号、速度设置一致重新上电激活SLMP通信偶发超时但报文能收到无握手机制导致死锁查机器人侧程序状态机增加批次号握手和超时报警逻辑触摸屏显示报警信息但不更新寄存器地址绑定错误、GOT缓存检查画面变量绑定的地址和PLC实际地址修正绑定重新下载画面程序换型时配方数据有一两个参数不对通信传输时数据被干扰检查是否做了重复读校验增加校验逻辑两块屏同时操作时参数被覆盖并发冲突无占用锁在按钮逻辑中增加互锁标志增加“操作占用”寄存器这里要多说一句排查顺序的重要性。很多通信故障的第一直接反应是全换设备、改协议这其实是错误的。我的习惯是先物理层、再数据链路层、再应用层。先确认网线、接头、交换机端口这些物理连接是否可靠再确认网络参数站号、IP、速率是否一致最后才分析程序逻辑和时序问题。大量故障最后都查出来是网线水晶头压接不好这类低级原因如果你一上来就改程序、换设备反而会把问题复杂化。6.2 一些容易被忽视的设计陷阱按个人经历列举几个真正会坑人的设计细节希望大家在规划和调试时提前规避。第一个是远程IO的安全信号问题。前面提过的急停、安全门信号必须走CPU本体IO或者专用安全模块不建议走CC-Link IE TSN远程IO就算IO刷新再快也不是硬安全回路。三菱有专门的安全PLC和安全远程站方案涉及安全等级的信号务必按安全规范单独设计这一步不是技术问题是标准要求。第二个是锁存范围设置的坑。CPU参数里锁存范围设置不当轻则配方数据掉电丢失重则PLC程序下载时把所有保持区清零导致生产数据全部归零。修改锁存范围前一定要先通过GX Works3做全量备份把保持寄存器的数据读出来存好改完参数下载后再写回去。第三个是配方数据的浮点数精度问题。配方参数里有不少是浮点数比如坐标、压力值。PLC内部和GOT配方功能之间传递浮点数据时要注意字序三菱的小端字节序到某些第三方协议可能是大端排序如果字序反了本来应该是120.5的值会读出几千万的离谱数值。调试时看到配方参数出现完全不合理的数据第一反应查字节序而不是怀疑硬件坏了。第四个是GOT的SD卡备份电池问题。GOT内部有备份电池用来保持配方数据等掉电保存内容。电池电量不足时GOT画面会提示此时要尽快更换电池并做好数据备份否则换完电池后配方数据可能会初始化。有过一次教训现场在没备份的情况下电池耗尽了几十组配方参数全部丢失重新敲数据花了大半天。从那以后我养成了定时定期备份配方到SD卡的习惯。6.3 现场调试的时间线参考最后放一个现场调试的时间线给大家做个项目排期参考。整个项目从硬件安装到稳定运行大约用了三周时间。第一周主要做硬件安装和网络布线、远程IO站和机器人通信卡安装、触摸屏和交换机组网。这个阶段属于体力活和基础接线同时把GX Works3里的硬件配置和GT Designer3的画面框架搭起来。第二周进入参数配置和程序编写。PLC程序在软件上先写完大部分逻辑再到现场配合机器人厂商工程师调试机器人的通信参数和信号映射。触摸屏画面的设计也在这个阶段同步进行配方数据结构和配方列表先建好。第三周是联调和试运行。所有通信正常建立后重点调试机器人握手续时序、配方调用逻辑、多屏互锁这些联动的场景。联调阶段最容易暴露时序问题要预留充足的时间。试运行阶段先小批量跑确认各工位动作和配方参数稳定无误后再逐步提高到正常节拍。三周结束后系统就已经能做到“上来就能干活”的状态。后续再加设备、加屏、加配方都有了一套成熟的流程可以照搬。这套三菱R系列高端应用方案从我实际实施下来的体会来看真正的价值不在于某个单一功能多花哨而在于整套架构把分布式IO、机器人通信、配方管理、多屏协同这些模块有机整合在一起让设备维护、换型、操作都变得简单高效。如果说有什么遗憾大概是在机器人通信协议的选型上走了点弯路一开始用SLMP方案没设计好握手浪费了不少时间后面改成批次号机制才稳定。如果你也正在做类似的项目我建议从方案设计阶段就把通信协议的握手逻辑、远程IO的安全信号边界、锁存区的数据备份策略这些底层问题想清楚别等到现场调试时再来补那样会被折腾得够呛。希望这篇内容对你有所帮助。
返回列表