ARTICLE DETAIL

资讯详情

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

三菱PLC与发那科川崎机器人CC-Link总线通信配置与调试指南

三菱PLC与发那科川崎机器人CC-Link总线通信配置与调试指南 1. 为什么我劝你上总线而不是继续堆IO线1.1 传统硬接线方案在机器人工位里的尴尬做自动化集成这几年最头疼的不是机器人学不会也不是PLC程序写不出来而是现场那一堆设备和PLC之间“说话”的方式。前几天整理一个老项目资料翻到最早用硬接线的图纸光是机器人互锁信号和外围设备状态就画了快一百根线为了查一个光电开关的虚接我和同事在现场扛了大半天。后来凡是涉及多台机器人的项目只要条件允许我基本都建议直接上总线通信。今天拿一个典型场景来说道说道三菱PLC和川崎机器人、发那科机器人这三方通过CC-Link总线把信号跑起来到底要做什么、怎么做、有哪些坑。传统做法里机器人要和PLC交换信号最常见的方案是“点对点硬接线”。机器人控制器里有一堆DI/DO点PLC这边也加一堆输入输出模块然后把急停、运行中、报警、请求启动、允许运行、工作模式这些信号一根一根对接。听起来不复杂但实际项目里往往不是一两台机器人可能是一台机器人对三四个工艺设备再配上一堆传感器、阀岛、安全回路信号数量一上去图纸和端子排就变成了灾难。硬接线的问题有几个具体做过的人应该都有体会接线量巨大一个常规机器人工作站随随便便就几十根信号线每一根都要标注、压端子、穿线管、接进端子排光这一项就占用大量施工工时。故障点太多端子松了、线皮破了、中间继电器坏了、IO模块烧了只要有一根线出问题排查起来就是体力活。信号类型受限硬接线传不了整数、传不了坐标、传不了报警代码。机器人一报警PLC侧只能收到一个“通用报警”位具体报警内容还得人跑去看示教器。扩展困难生产线上想再加一台机器人又得重新布线、加IO模块、改图纸。所以当项目里同时出现“三菱PLC川崎机器人发那科机器人”这种多品牌设备组合时我最先考虑的一定是总线通信方案其中CC-Link是和三菱PLC配合最自然、也最常见的一种选择。1.2 CC-Link总线通信的真正价值CC-Link是三菱电机主导的一种开放式现场总线在国内制造业里的普及度相当高。它允许PLC作为主站各台机器人的总线通信模块作为从站通过一条屏蔽双绞线把数据串起来。很多人第一次接触CC-Link可能会觉得它不如以太网“高级”但它的优势恰恰在实时性、确定性和稳定性上。从工程角度看CC-Link带来的最大变化是“一对多”。原来PLC和机器人之间几十根线现在变成一根总线主站接一个模块从站在机器人侧也接一个模块然后像串糖葫芦一样把设备依次挂上去。每台设备占用一个站号PLC通过站号和它交换数据。以前改一台机器人的IO逻辑要动端子排现在只要在组态软件里改地址映射就行效率完全不是一个量级。数据量也是总线方案的明显优势。CC-Link不仅传开关量还能传寄存器数据。这意味着机器人的坐标值、关节角度、当前速度、报警代码、工艺参数都可以实时送到PLC里做监控和联动。比如发那科机器人把当前报警代码写入寄存器三菱PLC这边一读到非零值就能在上位机组态画面上直接显示中文报警信息而不是只亮一个灯。另外总线方案自带诊断能力。某一个从站掉线、通信超时、站号重复主站模块上的指示灯和诊断软件会直接告诉你问题大概出在哪一段。相比硬接线时代用万用表一段段量线这种排查方式省力太多。1.3 这套方案适合什么样的产线并不是所有项目都必须上CC-Link。如果现场只有一台机器人需要交互的信号就十几个那就老老实实用硬接线成本低、维护门槛也低。但一旦出现下面这些情况总线方案基本是绕不开的两台及以上机器人需要和三菱PLC联动机器人之间还有互锁、节拍协调。机器人需要向PLC传输位置数据、报警代码、统计数据等非开关量信息。产线工艺需要频繁切换IO逻辑经常变动总线方案改配置比改线快得多。客户对设备状态监控有要求需要实时看到每一个从站是否在线、通信是否正常。我见过不少案例前期图省事选了硬接线结果后期工艺调整越来越频繁机器人程序改一次PLC这边IO表就要跟着改一次改到最后图纸和实际已经对不上。等到这时候再换CC-Link成本反而更高。2. 吃透CC-Link的几个核心概念后面才不会懵2.1 主站、远程站、智能设备站想玩转CC-Link先把脑子里那套“总线网线”的概念修正一下。CC-Link是典型的“主从式”总线没有主站主动发起通信从站之间是不直接交换数据的。三菱PLC里的CC-Link主站模块就是整个网络的“指挥官”它定期扫描下面的从站把数据读上来再写下去。从站按功能可以分成几种类型平时项目里遇到最多的是远程IO站、远程设备站和智能设备站。远程IO站最简单只有开关量相当于把远程的输入输出模块通过总线接到了PLC上适合接传感器、按钮、继电器远程设备站除了开关量还能传少量数据常见于变频器、温控器这类设备智能设备站则是最灵活的一种开关量和寄存器都能传数据容量也更大。机器人这种设备在CC-Link网络里通常扮演的是智能设备站或者远程设备站的角色。因为它不仅要把启动、停止、报警等开关量发给PLC还要读回PLC下发的工艺命令和参数甚至要把当前位置、速度、运行时间写到寄存器里给PLC读。选机器人接口模块的时候最好直接确认它支不支持“智能设备站”模式如果只支持远程IO站那寄存器数据这条路就断了。站号分配也要有概念。CC-Link主站固定占用0号从站的站号从1到64不等具体范围取决于主站模块型号和占用站数的设置。每一台从站必须有一个独立站号两台设备设成同一个站号主站立刻会报通信异常。2.2 通信速率、站号与占用站数的关系CC-Link有一个看着不起眼、但实际特别容易出问题的参数通信速率。常用的速率档位有156kbps、625kbps、2.5Mbps、5Mbps和10Mbps档位越高总延长距离就越短。这个不是模块随便定的而是物理层决定的。链路太长、速率又高信号衰减和反射就会导致数据错乱。典型的对应关系如下通信速率使用CC-Link专用电缆时的总延长距离156kbps1200米625kbps900米2.5Mbps400米5Mbps160米10Mbps100米注意这里的“总延长距离”是指从主站到最远从站的总通讯距离不是每一段的距离。如果现场工位比较分散总距离一长就得把速率降下来宁可牺牲一点速度来换稳定性。站号和占用站数需要放在一起看。一个从站如果“占用1站”它在主站的地址表里就占一个站的资源如果某个机器人模块功能比较复杂要使用的远程寄存器和远程IO点数多就可能占用2站甚至4站。比如从站A设了站号1、占用2站那它实际占据的就是站1和站2的地址空间下一个从站就必须从站号3开始配不能还用站2。很多第一次调试CC-Link的工程师在这里最容易摔跟头。自己在组态软件里把机器人从站注册成站号2但机器人侧实际占用了2站端子接好、程序写完一上电主站就把后面所有从站全报错。所以在配站号前先去机器人侧的手册里确认它“占用几站”然后在PLC组态和机器人设置里保持一致。2.3 DA、DB、DG、SLD线缆和终端电阻那些事CC-Link接线看着简单实际坑不少。标准的CC-Link电缆是一根带屏蔽层的双绞线里面有三根芯线分别标DA、DB、DG屏蔽层标SLD。DA和DB是数据线传送差分信号一正一负DG是数字地给信号一个公共参考电位SLD是屏蔽层主要用来抗干扰。接线的时候必须做到整个网络里所有模块的同类端子互连主站的DA接从站1的DA再接到从站2的DADB接DBDG接DG。千万不要在中间交叉交叉两根线通信基本就起不来了。终端电阻是另一个必须重视的细节。CC-Link要求在物理链路的最末端并一个110Ω左右的终端电阻接在DA和DB之间。这个电阻不是可有可无的少了它信号会在电缆末端反射产生数据错误。有的从站模块上面直接设计了终端电阻开关拨到ON就接入了内置终端电阻有的则需要外接一个110Ω电阻。更重要的是终端电阻必须装在链路的最两端主站侧一端最远的从站侧一端。如果你把终端电阻只在最远端装了一个主站侧没有装信号照样会反射。很多现场“通信时好时坏”的问题查到最后往往就是终端电阻没装对。屏蔽层的接地也要讲规矩。现场动力线和总线走同一个桥架、变频器在旁边呼呼响总线通信大概率会出现偶发性异常。建议总线电缆尽量远离变频器输出线和动力电缆屏蔽层单点接地。所谓单点接地就是只在主站这一端把屏蔽层接地不要让屏蔽层再从各个从站分别接地否则容易形成地环路。3. 三菱PLC侧怎么组态一个环节都不能漏3.1 先确认主站模块型号和安装位置三菱PLC家族很大不同系列选用的CC-Link主站模块不太一样。Q系列常用QJ61BT11NL系列用LJ61BT11FX3U系列用FX3U-32CCLFX5U这边如果走的是标准CC-Link需要加FX5-CCL模块或者干脆用CC-Link IE Field Basic走以太网形式的总线。每个模块支持的最大从站数量、数据容量、占用CPU的IO点数都不一样选型时要提前算好。选模块时不能只看“能挂几台”还要看模块本身在PLC基板上占几个槽位、起始IO地址怎么分配。这些信息在三菱PLC的系统手册里都有详细说明。我习惯在做电柜图之前就把模块选好把CPU基板上的槽位和IO地址定下来免得后面硬件到了现场发现槽位不够。主站模块安装好之后它的起始IO地址决定了它对应的输入输出地址范围。比如Q系列主站模块如果设置在基板的某个位置占用XY10到XY1F这一段那组态软件里起始IO号就要填“10”而不是从0开始。3.2 网络参数配置和“在线/离线”模式以GX Works2为例新建工程后在左侧工程导航里找到“智能功能模块”或者“网络参数”选中对应的CC-Link模块型号就会进入CC-Link的参数配置界面。这里要设置的参数包括模块起始IO号必须和实际安装位置一致。主站/本地站选项PLC做主站选“主站”。通信速率要和所有从站设定的速率一致。模式设置有在线模式和离线模式。远程IO刷新软元件把主站扫描到的数据映射到PLC的M区和D区。最容易踩坑的就是“模式设置”。调试时有人会把模式改成“离线”用来模拟从站不在线的情况方便单独调试PLC程序。但调试完成后如果忘记改回“在线模式”整个CC-Link网络就会一直处于离线状态机器人侧明明没问题PLC这边就是没有数据刷新。远程IO刷新软元件的规划也要提前想好。比如我习惯把远程输入RX刷到M500-M599远程输出RY刷到M600-M699远程寄存器RWw刷到D100-D199RWr刷到D200-D299。这样PLC程序里访问通信信号就是访问M区和D区逻辑清晰不会和本地IO模块的实际输入输出地址打架。3.3 刷新范围与PLC软元件映射组态软件里“刷新范围”的意思是把CC-Link主站模块内部缓冲存储器里的数据定时搬运到PLC CPU可以直接访问的软元件区。相当于主站模块先把各从站的数据收进来然后PLC再通过刷新指令把它读到M区、D区。如果刷新范围不设置主站模块内部有数据PLC程序也访问不到。这里给一个典型的映射规划示例数据类型来源方向刷新目标软元件说明远程输入RX从站→PLCM500-M599机器人的DO点最终出现在这里远程输出RYPLC→从站M600-M699PLC下发给机器人的DI点从这里写入远程寄存器RWwPLC→从站D100-D199PLC写给机器人的命令、数据远程寄存器RWr从站→PLCD200-D299机器人回传的状态、坐标、报警代码要注意 M区和D区不是无穷无尽的一个中型项目里M区可能被触摸屏、定位模块、配方功能占掉一大半。规划刷新范围时先用软件查看一下软元件使用情况避开工件占用区尤其是D区很多定位程序、模拟量程序都会用固定的D区段冲突以后程序乱套是必然的。3.4 PLC程序侧怎么读写机器人信号组态和刷新范围设好之后PLC程序侧的操作其实就很“傻瓜”了。想给机器人一个启动信号就用OUT M600.0想读取机器人是否正在运行就用LD M500.0想给机器人下发一个目标位置编号就用MOV K3D100机器人回传当前报警代码就用比较指令把D200里的值取出来分拣到不同报警指示灯。我自己在做这类程序时不会直接在梯形图里到处访问M600、M500这些地址。我会建一个“总线信号接口区”在程序开头把所有映射地址统一赋给带注释的内部继电器或数据寄存器。比如M600.0代表“给1号机器人启动命令”我在程序里起一个内部软元件叫M100.0然后用一行逻辑把M600.0和M100.0关联起来。这样后面同事接手维护时看到的是有意义的变量名而不是一堆裸地址。寄存器数据的读写也建议加上类型定义。机器人回传的数据哪些是整数、哪些是BCD码、哪些是带符号数必须在协议表里写清楚。CC-Link传的是16位二进制数据如果两边一个按有符号数解释、一个按无符号数解释负数温度值、速度值就会变成几千上万的大数非常容易误导判断。4. 机器人侧配置怎么让两台机器人进同一个网段4.1 先搞清楚机器人支持哪种CC-Link方式很多工程师拿到机器人手头第一个问题是机器人就一个网口怎么接CC-Link其实工业机器人的“总线通信”是通过专用总线接口板实现的不是随便一个网口就能接。像发那科、川崎这些品牌通常会在控制器里预留总线扩展槽可以插入对应的CC-Link接口卡插上之后机器人本身就变成了CC-Link网络里的一个从站设备。但也有一种情况很常见机器人用户当初采购时没有选装CC-Link接口卡只装了ProfiNet或者EtherNet/IP。这时候如果现场强制要求接入CC-Link最简单的办法是加一个协议网关模块一端接ProfiNet或者以太网另一端以CC-Link从站方式接入三菱PLC网络。还有一种更传统的做法就是在机器人控制器旁边加一个独立的CC-Link远程IO站模块PLC的总线信号从远程IO模块进出然后远程IO模块的点位再接成硬线信号给机器人的普通DI/DO点。这三种方案优缺点都明显方案数据量实时性成本调试复杂度原厂CC-Link接口卡大支持寄存器高中等低协议网关转接中等中中等偏高中独立远程IO站硬线转接只有开关量中偏低中选型的时候不要只看眼前那几十个信号。如果项目后期要做数据追溯、机器人坐标联动原厂接口卡是首选。如果只是为了互锁和节拍配合远程IO站方案完全够用成本还低。4.2 发那科机器人侧设置的基本流程发那科机器人如果是原生CC-Link选装卡配置基本是在示教器上完成的。我虽然不能说每个版本的菜单路径都一样但核心设置项万变不离其宗总线类型选CC-Link站号设成和PLC组态里一致占用站数按接口卡实际规格填波特率必须和主站统一。很多人在这个环节会忽略一件事CC-Link从站设置里还有一个“站类型”参数比如远程设备站和智能设备站。如果接口卡支持智能设备站但机器人侧被配成了远程IO站PLC组态里又注册的是智能设备站两边模式对不上通信建立不起来。所以机器人侧配置完成后最好再回到PLC的组态软件里核对一遍从站类型、站号、占用站数这三个信息。发那科机器人的IO映射也是一个重点。机器人程序里使用的DI/DO点并不是直接对应总线地址而是要经过一个“组映射”的过程。在示教器里进入IO分配设置把特定组地址和总线卡的远程IO区对应起来。比如PLC下发到机器人DI[17]的信号其实是CC-Link从站收到的第17号远程输出位。如果映射没做或者映射到了一个被其他功能占用的组信号到了机器人里却“消失”了。示教器上还有一个特别好用的功能就是IO监视器。配置好之后进入IO监视画面一边让PLC那边强制输出信号一边看机器人侧对应DI的状态有没有跟着翻转。这个动作能快速验证整个链路是否通了比盲目去改程序高效得多。4.3 川崎机器人侧配置的几点说明川崎机器人的配置思路和发那科大同小异也是在控制柜里装总线通信卡然后通过示教器或者上位软件设置从站参数。川崎的菜单结构和发那科完全不同但凡是支持CC-Link的选装卡界面上一定会出现CC-Link相关的设置项比如“站号”“占用站数”“通信速率”“远程站类型”。你只要摁住这几个关键参数就不会被千奇百怪的菜单绕晕。川崎机器人有一个习惯值得注意不少型号的总线通信参数在改完以后需要“冷启动”控制柜才能生效。所谓冷启动就是把控制柜主电源完全关断再重新上电不是按一下急停或者暂停就能解决的。我遇到过把站号从1改成2之后界面显示已经修改成功但PLC那边一直找不到从站折腾了半天才发现需要冷启动。川崎机器人的通用IO点例如内部DO[1]、DI[1]和总线通信卡的映射通常在系统的“IO管理”里进行配置。你可以把内部信号和总线点位做一个一一对应关系。因此即使两台机器人品牌不同、IO点编号规则不同站在PLC的角度它们都只是CC-Link上的两个从站。只要地址映射表右边对齐PLC程序根本不用分你是“川崎”还是“发那科”。4.4 网关和远程IO站方案值不值得考虑如果预算不够或者不想等原厂卡很多人会考虑用网关。这里我必须说实话网关方案能用但千万别指望它和原生卡一样顺滑。网关模块本身要解析从CC-Link侧来的数据再格式化成对方协议发出去中间多了一层转换通信刷新周期会变长而且一旦网关死机两边的网络都会受影响。远程IO站方案就更加“原始”它本质上还是把总线转换成普通IO点等于绕了一圈又回到硬接线。唯一的好处是PLC侧和机器人侧不用考虑太多协议匹配问题任何一个品牌的机器人只要有足够的DI/DO点都可以和远程IO站模块对接。但开关量点数一旦超过三四十个布线量又上来了方案优势就没了。我的看法是如果是新购机器人直接问销售要CC-Link选装卡报价大概率是最省心的。如果是现场已经有了机器人并且没有CC-Link接口只有几个关键信号要联动远程IO站方案足够如果数据交互量大或者对实时性有要求那就得认真评估网关方案了。5. 从站地址映射和在线调试别让信号变成“幽灵信号”5.1 地址映射的底层逻辑CC-Link网络里主站分配给每个从站的地址并不是随心所欲的而是根据站号和占用站数自动排定。一般规律是主站的远程输入RX区、远程输出RY区、远程寄存器RWw/RWr区里先到先得谁占的站数少谁的地址就靠前。举个例子。假设主站模块起始IO号是0网络上有两台机器人发那科设为站号1、占用1站川崎设为站号2、占用1站。那么主站的远程输入输出区段里第一段32点RX/RY大概率分给站号1第二段32点分给站号2。如果中间有某个从设备占用2站那它的地址范围就会跨两个区段后续设备就要从更后面的地址开始。但这里要特别提醒一句不同系列的CC-Link主站模块地址计算规则并不完全一样有的模块还会在“站号×32偏移”和“顺序分配”两种模式之间切换。所以网上的通用公式只能用来估算最终地址以GX Works2里在线监控到的实际地址为准。调试时我最常用的一招是在PLC组态完成后不写任何通信程序先打开GX Works2的“CC-Link诊断”功能查看每个从站的通信状态和地址分配表。诊断画面里会直接列出每个站对应的RX/RY地址范围、RWw/RWr地址范围把这个地址表截图保存下来作为后续编程和排查的依据。比对着手册算偏移量靠谱得多。5.2 用GX Works2的CC-Link诊断功能校线现场接线完成后别急着写梯形图。先做一次“通信链路体检”。GX Works2里打开“诊断”菜单选择“CC-Link诊断”监控主站模块的运行状态。如果链路正常应该能看到所有注册过的从站都在线每个站的状态显示“正常”。如果某个从站状态异常诊断画面上通常会有对应的错误代码和提示。比如“站号重复”“通信超时”“从站无响应”等。这种提示比你去现场猜要强得多。我把这套流程当作标准动作接线完成后上电先看主站模块上的指示灯再打开CC-Link诊断确认所有站都“亮绿色”然后才允许进入IO映射调试阶段。很多新手一上来就直接写程序写完发现机器人不动又回头怀疑程序逻辑。其实CC-Link通信链路有没有通和PLC逻辑程序正确不正确完全是两回事。链路没通程序写得再好也没用链路通了程序只要逻辑对信号立刻就能跑起来。5.3 握手信号和心跳信号必须设计代码写多了你会发现CC-Link通信本身只负责“把数据从A搬到B”它不关心数据有没有意义。真正让系统稳定运行的是通信双方在数据上建立的“应用层协议”。我每次做机器人通信项目一定会规划两组信号握手信号和心跳信号。握手信号一般是双向的。PLC这边先置位“允许上电”或者“允许运行”机器人收到后回一个“收到允许”信号PLC只有在收到这个回执后才继续下一步。如果PLC发出“允许运行”后一两秒内没收到机器人的回执程序就要报警而不是傻等。这套机制可以避免“PLC以为机器人准备好了机器人根本没收到命令”的错位情况。心跳信号则更简单它是一个周期性翻转的位。机器人每隔几百毫秒把某个总线信号反转一下从0变1再变1变0PLC程序里检测这个信号的跳变沿。如果超过一定时间没看到跳变说明通信链路或者机器人控制器本身可能出了问题PLC立刻把安全输出断开。心跳信号其实不是在防CC-Link掉线而是在防“看起来连着但程序已经死掉”的异常状态。5.4 机器人侧接口卡故障常见的表现总线通信有一个让人特别头疼的现象平时一直正常运行几个小时甚至几天后突然掉线一次重启又恢复。这种“幽灵掉线”大多和硬件环境有关纯粹是参数配置错误的话基本上电就报错不会等到运行后才发作。我遇到过一种情况机器人接口卡的CC-Link通信指示灯偶尔闪烁变红一开始以为是卡的问题换了新卡还是这样。后来把总线段单独拿出来测试才发现线缆走向和变频器输出线挤在同一个线槽里变频器一启动干扰就串进通信线导致偶发误码。把总线电缆挪到另一个线槽、更换成带屏蔽层的专用电缆以后问题再没出现过。所以建议处理现场通信故障时不要只盯着模块和参数还要关注物理环境。总线和动力线分离、屏蔽层可靠接地、接头重新压接这些基础工作做到位能省掉后面90%的疑难杂症。6. 现场调试遇到的那些坑和排查手法6.1 从站不定时掉线查了半天是接线端子没压紧有一次调试三菱PLC加两台机器人的工位通信刚建立的时候一切正常但运行半个小时后PLC主站模块上的错误灯开始闪CC-Link诊断显示其中一个从站“链路断开”。到现场看机器人侧的通信模块指示灯确实红了但没发现明显异常。后来我沿着总线链路逐段检查发现中间一个设备端子的DG线压得不够紧手一碰就轻微松动。CC-Link是菊花链结构中间任何一个节点的端子接触不良不仅影响这个节点本身还可能导致后面所有站全部掉线。重新剥线、压端子、拧紧以后问题彻底消失。这个问题给我们的教训是总线端子必须用冷压端子裸线直接上螺丝压接太容易出虚接。6.2 站号设重复了一路主站报错却不知道是谁两台不同品牌的机器人如果都设成了同一个站号主站诊断画面上会显示“站号1从站通信异常”但你不知道到底是哪一台机器人在“冒名顶替”。我最早遇到的时候还傻乎乎地去挨个检查从站模块后来才学会一个笨办法关掉其中一台机器人的控制柜电源再去看CC-Link诊断看错误是否消失。如果错误还在说明正在工作的那一台就是站号冲突的来源。这种问题在项目现场特别容易发生因为多台设备可能由不同厂家人员调试各调各的根本没有统一计划站号。最好的办法是在项目启动会上就把“站号规划表”确定下来用标签纸贴在每个从站模块上写明站号和设备名称防止后期人员变动后资料丢失。6.3 通信速率和总距离不匹配一个汽车零部件车间的项目PLC电柜和机器人之间的距离大概有一百二三十米但组态时图省事用了默认的10Mbps。结果通信很不稳定从站有时候能上线有时候又掉线。我把速率降到5Mbps问题就没了。后来再看资料10Mbps工况下总延长距离上限就是100米左右超过这个距离降速是必然选择。改速率的动作看起来简单但要注意所有从站模块里的通信速率参数也要跟着改必须和主站保持一致。CC-Link网络里只要有一个从站的速率和其他设备不一致整个网络的扫描就会出现异常严重的时候所有从站都会掉线。改完之后每台机器人重新上电再回到PLC侧诊断确认所有站均正常。6.4 修改了机器人IO映射后没有掉电重启程序仍在用旧表在一次发那科机器人调试中我修改了IO映射把某个启动信号从DI[10]挪到了DI[12]。示教器上显示的配置已经更新了但实际测试时PLC给了信号机器人侧DI[12]却一直为OFF。百思不得其解后来问厂家技术支持答复是“部分IO分配更改需要控制柜冷启动才能加载”。关掉控制柜电源重新上电之后DI[12]的信号立刻正常了。这件事提醒我凡涉及机器人通信参数或IO映射的修改改完后最好主动重启一次控制器不要停留在“界面显示已修改”就以为万事大吉。不同品牌、不同软件版本行为不同但“断电重启”总是最彻底的生效方式。6.5 在线修改PLC程序时发现刷新范围被占用有一次在原有程序上新增功能发现D区地址被大量占用CC-Link的RWw刷新区只能安排在D800结果一运行发现机器人的坐标数值和原本定位程序的中间计算结果串了。查了一下D800区域早被定位参数表占用了。所以在线组态刷新范围之前一定要先看软元件使用表。如果在PLC程序里大量直接使用M区、D区地址后期维护非常痛苦。建议在程序里设置一个“总线信号接口”区域用专门的一个文件或者子程序来集中处理所有CC-Link映射地址。其他程序逻辑只访问这个接口区域内的地址就算以后CC-Link站号调整导致映射地址变化也只需要改接口区里的替换地址不用满程序查找替换。7. 上电前先把这几件事做掉能少熬两个通宵最后分享一点个人习惯。做川崎和发那科机器人与三菱PLC的CC-Link通信项目我从来不会直接上电就开始调而是先开一轮“静态检查会”。先把所有从站模块的站号表格统计出来和PLC组态软件里注册的站号逐个核对然后再核对通信速率、占用站数、主从模式紧接着检查终端电阻是不是挂在最两端、线缆两端的屏蔽层是不是已经处理好最后打开PLC组态软件确认远程IO刷新范围没有和其他程序冲突。这一整套检查不看程序、不看机器人示教器只看参数表和接线通常能在三十分钟内把80%的通信隐患排除掉。做完这些再上电你会发现调试过程顺利得多。很多所谓的“通信疑难杂症”其实都是站号重复、速率不一致、终端电阻漏装、接线虚接这些基础问题。这个内容后面还可以扩展的方向很多比如CC-Link IE Field Basic这种用普通以太网线连接的总线协议或者其他机器人品牌走ProfiNet接入西门子PLC的方案。但不管协议怎么变底层那份“站号规划、地址映射、信号握手机制”的思路都是通用的。把这套思路吃透换任何总线都不会慌。
返回列表