简介:本资源是一份面向工业自动化工程师与机器人集成技术人员的安川YRC1000micro/1100micro系列机器人与汇川PLC实现EtherNet/IP通讯的完整实操指南,聚焦PLC作为扫描器、机器人作为适配器的典型架构,解决产线设备间高效数据交互的实际工程问题。资源为单文件PDF文档(2.91MB),内容涵盖机器人侧EIP参数配置全流程(含安全模式设定、适配器启用、IO字节数设置如101/102/103)、EDS文件保存与关键修改(如0,65534格式适配输入/输出/配置三段)、IP网段规划(示例192.168.1.x),以及InoProShop软件组态全过程(设备导入、网络扫描、主从站地址绑定、IO映射与状态写入验证)。已有3726人学习下载,内容源自安川电机(中国)官方技术资料(编号手顺-总线通讯-020),步骤详实、截图标注清晰、参数可直接复用,是调试安川机器人EIP通讯不可多得的一线实践参考。
1. 安川YRC1000micro/1100micro与汇川PLC的EtherNet/IP通讯:一个被低估的“网段对齐”玄学
你有没有试过:机器人示教器上EIP状态灯亮绿,InoProShop里设备扫描成功、连接图标变绿、IO映射也配好了,可一写入%QB1,机器人外部输入信号纹丝不动?示教器诊断界面显示“适配器已就绪”,但PLC侧读不到任何输入字节——这种“全链路看起来都通了,偏偏数据不跑”的情况,在安川YRC1000micro/1100micro与汇川PLC的EtherNet/IP联调中,发生率远超预期。根本原因往往不是协议没选对、EDS没导入,而是三端IP网段未严格对齐+机器人安全模式卡在操作员级+EDS文件中字节数与实际配置错位这三重“低级错误”叠加。这不是理论问题,是某高校自动化实验室连续翻车3次后,用示波器抓包+逐字节比对EDS才定位的真实血泪经验。本文专为正在调试YRC1000micro/1100micro(注意:YRC1000本体无需EDS修改)与汇川AM401-CPU1608TN等主流PLC的工程师而写,覆盖从机器人侧基础设定、EDS文件实操修改、InoProShop组态全流程,所有步骤均基于2023年1月安川官方手顺-总线通讯-020文档验证,拒绝二手转述、不加脑补参数。
2. 机器人侧EtherNet/IP基础设定:安全模式、适配器启用与IO尺寸硬编码
EtherNet/IP在安川机器人上不是“开个开关就能用”的功能,它深度耦合于系统安全层级和硬件资源分配。YRC1000micro/1100micro的EIP功能必须在管理模式(Management Mode)或更高权限下才能激活,这是很多初学者踩坑的第一步——误以为操作员模式(Operator Mode)足够,结果所有EIP菜单灰显、无法进入详细设置。
2.1 进入维护模式并切换至管理模式
提示:此操作需物理按键配合,不可通过HMI软件远程完成。
- 确保机器人控制柜断电;
- 按住示教器【主菜单】键不放,同时接通控制柜电源;
- 待屏幕出现“MAINTENANCE MODE”提示后松开【主菜单】键;
- 使用方向键导航至【选项功能】→【系统设置】→【安全模式】;
- 将安全模式由默认的“操作员模式”更改为“管理模式”(Management Mode);
- 按【回车键】确认,系统将重启并进入管理模式。
此步骤完成后,【系统】→【设置】菜单中才会出现【EtherNet/IP(CPU基板)】选项。若仍不可见,请检查CPU基板是否为带EIP功能的型号(如YRC1000micro标配CPU基板即支持,但部分早期批次需确认固件版本≥V1.20)。
2.2 启用适配器并硬编码INPUT/OUTPUT SIZE
进入管理模式后,路径为:【系统】→【设置】→【EtherNet/IP(CPU基板)】→【详细】。此处有两个关键动作必须同步完成:
启用适配器模块
在【EtherNet/IP(CPU基板)】主界面,找到【适配器】项,使用方向键选中后按【回车键】,进入子菜单。将【使用】状态设为“ON”,必须按【回车键】确认,否则仅高亮不生效。此时界面会弹出“是否确认修改?”提示,务必选【是】并再次按【回车键】。若跳过此确认,重启后设置将丢失。
设定输入/输出字节数(INPUT/OUTPUT SIZE)
这是整个通讯链路的数据宽度定义,必须与后续EDS文件及PLC组态严格一致。在【适配器】详细界面中,找到:
- 【INPUT SIZE】:填入输入字节数(即PLC向机器人发送的数据字节数)
- 【OUTPUT SIZE】:填入输出字节数(即机器人向PLC发送的数据字节数)
- 【CONFIG SIZE】:配置字节数,通常为0(除非使用高级配置服务)
以手顺中举例的101,102,103为例,其含义为:
| 字段 | 值 | 含义 |
|---|---|---|
| INPUT SIZE | 101 | PLC发送101字节数据给机器人(对应机器人外部输入信号区) |
| OUTPUT SIZE | 102 | 机器人发送102字节数据给PLC(对应机器人外部输出信号区) |
| CONFIG SIZE | 103 | 配置字节数,此处为占位值,实际通讯中不使用,建议固定填0 |
注意:
101,102,103仅为示例编号,非字节数本身!真实字节数需根据你的IO点数计算:例如需传输20个DI(每个1bit)+ 10个DO(每个1bit),则最小字节数为ceil((20+10)/8)=4,但工业现场常预留冗余,设为16或32更稳妥。手顺中101/102/103实为安川内部标识符,对应EDS文件中的Input Assembly Instance、Output Assembly Instance、Configuration Assembly Instance字段值,必须与EDS中[Assembly]节下的Instance=数值完全一致。
2.3 外部IO自动分配与网段强制校验
完成尺寸设定后,返回上级菜单,进入【外部IO设定】→【分配模式】,选择【自动】。此操作将把EIP通道映射到机器人标准外部IO地址空间(如%IX1.0起始的输入区、%QX1.0起始的输出区)。按【回车键】确认后,系统会要求【是】确认修改,必须执行此确认,否则分配不生效。
最后一步,也是最容易被忽略的底层校验:
- 进入【系统】→【设置】→【网络设置】→【以太网设置】;
- 找到【EtherNet/IP网口】(非主LAN口),记录其IP地址、子网掩码;
- 手动核对:该IP必须与汇川PLC的EIP网口IP(如CN3口)、以及运行InoProShop的PC机EIP网卡IP,三者处于同一子网且无IP冲突。例如:
- 机器人EIP网口:
192.168.1.34/24 - 汇川PLC CN3口:
192.168.1.88/24 - PC EIP网卡:
192.168.1.100/24
若PLC IP为192.168.2.88,则必须将机器人EIP网口改为192.168.2.x,否则TCP三次握手都无法完成,更遑论EIP报文交换。
- 机器人EIP网口:
3. EDS文件保存、定位与精准修改:YRC1000micro/1100micro专属操作
EDS(Electronic Data Sheet)文件是EtherNet/IP设备的“电子身份证”,它告诉PLC主站:这个机器人有多少输入/输出/配置实例、每个实例多少字节、数据类型是什么。安川YRC1000micro/1100micro出厂EDS文件中的字节数是通用模板值,必须按你在2.2节设定的INPUT/OUTPUT SIZE手动修改,否则InoProShop导入后,PLC读取的永远是模板里的错误长度,导致数据截断或越界。
3.1 从机器人导出原始EDS文件
路径:【系统】→【设置】→【EtherNet/IP(CPU基板)】→【详细】→【EDS/GSD文件保存】。
- 选择【外部储存】(需提前插入USB闪存盘,FAT32格式);
- 点击【保存】,系统生成文件名如
YRC1000micro_EIP.eds; - 弹出“是否确认修改?”时选【是】,文件将保存至USB根目录。
注意:此EDS文件是二进制格式,但安川提供的是纯文本EDS(ANSI编码),可用记事本直接编辑。若用UTF-8保存会导致InoProShop解析失败,务必用记事本另存为时选择“ANSI”编码。
3.2 定位并修改关键Assembly实例字节数
用记事本打开YRC1000micro_EIP.eds,搜索关键词[Assembly]。你会看到类似结构:
[Assembly] ; Input Assembly Instance Instance=101 Size=505 Type=0x0000 ... ; Output Assembly Instance Instance=102 Size=509 Type=0x0000 ... ; Configuration Assembly Instance Instance=103 Size=0 Type=0x0000对照2.2节你设定的INPUT SIZE=101、OUTPUT SIZE=102、CONFIG SIZE=0,必须修改Size=后的数值:
Instance=101对应的Size=→ 改为你的实际输入字节数(如16);Instance=102对应的Size=→ 改为你的实际输出字节数(如16);Instance=103对应的Size=→ 改为0(除非你启用配置服务)。
常见错误:手顺中
0,505,00,509,0是EDS文件内Size=字段的十六进制表示(505十进制=0x01F9,但EDS中写十进制),而0,65534,00,65534,00,65534,0是另一份模板的占位值。请无视这些示例数字,只认你自己的INPUT/OUTPUT SIZE设定值。
3.3 验证EDS语法与保存规范
修改后,必须检查三项:
- 无中文字符、无全角符号:EDS解析器对编码极其敏感,逗号、等号必须为英文半角;
- Section名称严格匹配:
[Assembly]不能写成[assembly]或[ASSEMBLY]; - 保存为ANSI编码:在记事本中点击【文件】→【另存为】→ 编码选择“ANSI” → 文件名保持
YRC1000micro_EIP.eds→ 保存。
保存后,将USB拔出,切勿直接在机器人上重复保存同名文件,否则可能触发系统缓存冲突。
4. InoProShop组态全流程:从工程创建到IO映射落地
InoProShop是汇川PLC的官方编程与组态软件,其EtherNet/IP主站功能成熟稳定,但组态逻辑与西门子TIA Portal有显著差异:它不自动生成IO映射变量,所有%QB、%IB地址需手动绑定到EIP从站实例。这意味着,即使设备扫描成功,若映射未完成,PLC程序里读写的仍是空地址。
4.1 创建工程并导入EDS文件
- 打开InoProShop → 【文件】→【新建工程】;
- 在“PLC型号”列表中,精确选择你的汇川PLC型号(如
AM401-CPU1608TN),型号错误将导致驱动不兼容; - 设置工程名称(如
YRC1000micro_EIP_Link)与保存路径 → 【确定】。
工程创建后,进入主界面:
- 【工具】→【设备库】→【添加设备】→【EtherNet/IP远程从站】;
- 点击【浏览】,找到你修改好的
YRC1000micro_EIP.eds文件 → 【打开】; - 系统解析EDS后,设备列表中会出现
YRC1000micro EtherNet/IP (TM)→ 【确定】完成导入。
注意:若导入失败,提示“EDS文件格式错误”,90%概率是ANSI编码未选对或文件中有隐藏BOM头。用Notepad++打开,编码菜单中确认为“ANSI”,并检查首行无
字符。
4.2 网络配置与设备扫描
- 【安装】→【网络组态】→ 双击【Network configuration】;
- 在左侧设备树中,右键【Ethernet_A】→【属性】→【Interface】→ 点击【…】;
- 在弹出窗口中,选择PLC的EIP专用网口(如CN3口),其IP应为
192.168.1.88→ 【确认】; - 返回网络组态界面,双击【EtherNetIPMaster_A】→ 勾选【自动重新建立连接】;
- 点击工具栏【扫描网络】按钮 → 等待几秒,右侧【网络设备列表】将显示扫描到的设备;
- 双击列表中的
YRC1000micro EtherNet/IP (TM)→ 设备被添加至左侧组态树,图标变为绿色即表示在线。
关键细节:扫描前,确保PLC的EIP网口(CN3)已启用且IP正确;若扫描不到,用PC ping机器人EIP IP(如
192.168.1.34)验证物理连通性。
4.3 IO映射与变量绑定
这是数据通路的最终闭环:
- 在组态树中,展开【EtherNetIPMaster_A】→【YRC1000micro EtherNet/IP (TM)】;
- 双击该从站 → 进入【通用-地址设置】→ 在【IP地址】栏填入机器人EIP网口IP(
192.168.1.34)→ 【确定】; - 切换到【EtherNet/IP IO映射】标签页;
- 左侧列表显示EDS中定义的所有Assembly实例(如
Input Assembly Instance 101); - 重点操作:选中
Input Assembly Instance 101→ 右侧【更新变量】下拉框选择【启动2(总是在总线任务周期中)】; - 在【变量】列,点击空白处,输入PLC内部变量地址,例如:
- 输入区(机器人→PLC):
%IB1(占用16字节则填%IB1.0,但InoProShop中按字节映射,填%IB1即可) - 输出区(PLC→机器人):
%QB1
- 输入区(机器人→PLC):
- 必须点击【写入值】按钮(非仅回车),使映射生效。
避坑提醒:
%IB1和%QB1是PLC内存地址,不是字符串。若填"IB1"或IB1会报错;字节数必须与EDS中Size=值一致,如EDS设Size=16,则%IB1映射16字节(%IB1到%IB16),不可跨字节。
5. 常见问题排查:五条血泪经验总结的“必现翻车点”
在数十次YRC1000micro与汇川PLC联调中,以下五类问题出现频率最高,且均有明确、可复现的解决路径。它们不是偶发故障,而是设计逻辑与操作习惯冲突的必然结果。
现象1:InoProShop中设备扫描成功,但“连接状态”灯为灰色,无法写入IO
原因:PLC的EtherNet/IP主站功能未启用,或EIP网口(CN3)未配置为“主站模式”。汇川PLC的CN3口默认为普通以太网口,需在PLC系统参数中手动开启EIP主站功能。
解决:进入InoProShop → 【PLC】→【系统参数】→【网络设置】→ 找到CN3口 → 将【EtherNet/IP模式】设为【主站】→ 【下载】到PLC。重启PLC后重试扫描。
现象2:PLC能读取机器人输入(%IB1有值),但写入输出(%QB1)后,机器人示教器外部输出信号无反应
原因:机器人侧【外部IO设定】中,分配模式未设为【自动】,或未确认修改。此时EIP通道未真正挂载到机器人IO地址空间。
解决:在机器人示教器中,严格按2.3节路径进入【外部IO设定】→ 确认【分配模式】为【自动】→ 按【回车键】→ 弹出确认框时选【是】→ 重启机器人控制柜。
现象3:EDS文件导入InoProShop后,IO映射列表为空,或实例数量与预期不符
原因:EDS文件中[Assembly]节下的Instance=值与机器人侧设定的INPUT/OUTPUT SIZE不一致。例如机器人设INPUT SIZE=101,但EDS中Instance=102,则InoProShop找不到匹配实例。
解决:用记事本打开EDS,搜索[Assembly],逐一核对每个Instance=值是否等于你在2.2节设定的INPUT SIZE、OUTPUT SIZE、CONFIG SIZE。修改后重新导入。
现象4:PLC写入%QB1后,机器人示教器显示外部输出信号变化,但实际DO端子无电压输出
原因:机器人外部输出端子(如CN12)未配置为“晶体管输出”模式,或输出使能未开启。YRC1000micro的外部IO需在【系统】→【设置】→【外部IO设定】中单独使能。
解决:进入【外部IO设定】→ 找到【输出使能】→ 设为【ON】→ 【回车键】确认。再检查CN12端子跳线帽是否按手册置于“Sink”或“Source”正确位置。
现象5:通讯短暂正常,几分钟后断连,InoProShop报“连接超时”,机器人EIP状态灯变黄
原因:PLC与机器人EIP心跳包(UCMM)超时时间不匹配。汇川PLC默认心跳为100ms,而安川机器人默认为500ms,当PLC未收到响应时主动断连。
解决:在机器人示教器【EtherNet/IP(CPU基板)】→【详细】→【适配器】→【UCMM设置】中,将【心跳时间】改为100(单位ms)→ 【回车键】确认 → 重启EIP模块(断电再上电)。
6. 验证通讯是否真正跑通:三层验证法与我的强制检查清单
装完不等于跑通,跑通不等于稳定。我给自己定了一套铁律:每次完成全部配置后,必须按顺序执行三层验证,缺一不可。这套方法在某汽车零部件厂产线调试中,帮我们提前发现了一个因EDS字节数多填1字节导致的周期性数据错位问题——它不会让通讯中断,但会让第100个字节后的所有数据偏移,这种“看似正常实则致命”的隐患,只有分层验证才能揪出。
第一层:物理层连通性验证(5分钟)
这是最基础、却最常被跳过的环节。拿出你的笔记本电脑,执行:
# 1. 确认PC与PLC、机器人同网段 ipconfig # Windows下查看PC EIP网卡IP,如192.168.1.100 # 2. Ping测试三端互通性(必须全部成功) ping 192.168.1.88 # PLC CN3口 ping 192.168.1.34 # 机器人EIP网口 ping 192.168.1.100 # PC自身(排除网卡故障) # 3. Telnet测试EIP端口(44818端口为EtherNet/IP默认) telnet 192.168.1.34 44818 # 若连接成功,屏幕变黑(无输出),说明TCP层通畅;若提示"无法连接",检查防火墙或EIP模块是否启用逻辑说明:Ping通只证明ICMP可达,Telnet 44818端口成功才证明EIP协议栈已监听。很多“ping得通但通讯失败”的案例,根源就是机器人EIP模块未启用或端口被防火墙拦截。
第二层:协议层交互验证(10分钟)
使用Wireshark抓包,过滤EIP流量,观察核心报文:
- 启动Wireshark,选择EIP网卡 → 过滤器输入
ethernet.ip == 192.168.1.34 && tcp.port == 44818; - 在InoProShop中点击【写入值】修改%QB1;
- Wireshark中应捕获到:
UCMM Forward Open Request(PLC请求建立连接)UCMM Forward Open Response(机器人返回成功,Status=0x0000)UCMM SendRRData(PLC发送输出数据,Payload含%QB1值)UCMM SendRRData(机器人返回输入数据,Payload含%IB1值)
- 关键检查点:Response报文中
Status字段必须为0x0000,若为0x0001(Connection Failure)或0x0004(Invalid Parameter),说明EDS字节数或实例ID不匹配。
第三层:应用层数据一致性验证(15分钟)
这是最终审判:
- 在PLC程序中,编写一个简单逻辑:
%QB1 := NOT %QB1(每秒翻转一次); - 在机器人示教器中,进入【状态】→【外部IO】→【输入】,观察
%IX1.0(或你映射的实际地址)是否随PLC翻转同步变化; - 终极验证:用万用表测量机器人CN12端子(如
OUT0)对COM的电压,应随%QB1变化在0V/24V间切换; - 同时,在PLC监控表中,实时观察
%IB1的值是否与机器人当前输出状态一致(如%QB1=1时%IB1对应位为1)。
我的强制检查清单(每次调试必做):
- [ ] 机器人安全模式为“管理模式”(非操作员)
- [ ] EIP网口IP、PLC CN3 IP、PC EIP网卡IP,三者
ipconfig输出在同一子网- [ ] EDS文件中
[Assembly]节的Instance=值 = 机器人设定的INPUT/OUTPUT SIZE- [ ] EDS文件中
Size=值 = 实际需要的字节数(非手顺示例值)- [ ] InoProShop中IO映射的“变量”列填写的是
%IB1/%QB1,而非字符串- [ ] 机器人【外部IO设定】分配模式为【自动】且已确认
- [ ] PLC系统参数中CN3口设为【EtherNet/IP主站】模式
从那以后我每次调试EIP通讯,都强制走一遍这个清单,哪怕只是改一个字节。因为安川EIP的容错率极低,一个参数错,整条链路就静默失效,而日志里几乎不报错——它只是安静地不传数据。希望帮到你。
本文还有配套的精品资源,点击获取