软 EIP 的配置安装流程
一、软 EIP 在汇川 PLC 中的应用
1 软 EIP 的配置环境准备
1.1 环境准备
点击下载资料包
安装汇川PLC调试软件AutoShopAutoShop 软件
版本:V4.10.0.0EDS 文件
compatible_eip_slave_v0.0.1.eds硬件
汇川Easy 521机械臂本体,笔记本电脑,网线,HUB或交换机软件版本
0.29.3-rc.9及以上版本;0.31.0-beta.1及以上版本0.32.0-alpha.9及以上版本查看对应端口和网卡

打开 EIP 服务
示教器软件在 v0.31.1 版本的配置模块新增了配置【EtherNet/IP】功能,在主页依次单击"配置 > 现场总线 > EtherNet/IP",即可对 EIP 服务进行配置。软件内打开/关闭 EIP 服务等操作请参考EtherNet/IP。
1.2 硬件接线
将PLC、控制柜、本机电脑通过交换机连在同一个网络;

1.3 PLC设置静态IP
双击打开
AutoShoop软件,进入主页面,选择【文件】>【新建工程】,如下图所示,并按照步骤标注操作,填写工程名称,并选择汇川 PLC 的型号 Easy521;
点击菜单栏
工具,选择通讯设置,通讯类型下拉框选择对应的网口,点击搜索PLC,正常连接后可以搜索到已通讯的PLC ;
点击
修改IP/设备名,设置新IP地址,该地址需要和机械臂,笔记本在同一网段;
备注 :若在线搜索不到PLC,可使用
type-C转USB线连接PLC与笔记本,通讯类型选择USB,即可修改PLC设备的IP;
1.4 机械臂设置静态IP
打开arcs软件,设置静态IP,静态IP地址需要和PLC,笔记本在同一网段;

1.5 通讯测试
点击
测试,连接状态为已连通,此时PLC与笔记本已建立了正常通讯;
测试连接状态为未联通,需要排查下网线连接,PLC的IP设置在否和笔记本在同一网段;

1.6 PLC 导入 EDS 文件
点击软件左侧【工程管理】> 【配置】> 【Ethernet/IP】
点击软件右侧菜单栏【工具箱】> 【Ethernet/IP Device】,鼠标右键单击【Ethernet/IP Device】,会出现【导入EDS】,点击【导入EDS】导入事前准备好的 EDS 文件;如下图所示:


备注:EDS文件由 AUBO 开发人员提供,可以找相关工程师获取最新版本;
1.7 设备站 IP 设置
双击【Aubo_Robot】,
IP地址设置为机械臂的真实IP;电子匹配中选择精确匹配,其它使用默认值即可,如下图所示:
点击【连接】>【添加连接】

1.8 保存项目 > 下载 > 运行 > 监控
所有配置完成后,保存项目,然后点击【下载】>【运行】 > 【监控】,如下图所示步骤:

将 PLC 切换至运行模式,点击【运行】 > 【监控】后,左侧【配置】>【Ethernet/IP】,【Ethernet/IP】 和 【Aubo_Robot】都变为绿色,表示PLC 与机械臂连接成功,并且能够正常通信;

添加监控的地址变量,在左侧点击【变量监控表】> 【Main】,在 Main 表中点击【...】会弹出选择变量对话框【变量输入助手】,然后点击【UserVar】>【SYS_EIP】选择分配地址;

SYS_EIP里面的地址是根据 EDS 文件导入的,里面的地址是开发人员事先根据 EIP 地址表分配好的地址,这里的地址表跟开发人员提供的 EIP 的通信地址表对应;可以根据 EIP的地址表来选择相应的地址字段;
以下是根据EIP的地址表添加的一些监控地址,包括IO信号、位置坐标、关节角、电压、电流、温度、机器人状态、通用线圈(Robot => PLC)、通用寄存器(Robot => PLC)、通用线圈(PLC => Robot)、通用寄存器(PLC => Robot)、控制工程等等;

1.9 PLC与控制器通信示例
1.9.1 卡槽1数字输出监控
通过EIP地址表查询,DO00-DO07的EIP地址是_IP1_5.0至_IP1_5.7 ,变量监控表 中添加监控地址,打开【arcs软件】>【IO】> 【机器人】> 【数字输出】,通过操作DO01-DO07信号高亮,观察变量监控表的值是否同步变化;

1.9.2 卡槽2 机器人状态监控
通过EIP地址表查询,工程速度限制、末端速度、机器人状态、安全状态的EIP地址是_IP1_99 _IP1_101 _IP1_103 _IP1_105 ,监控变量表中输入该地址,可以观察获取的值,来判定机器人的状态。


2 常见问题
2.1 修改PLC地址失败
- 检查硬件接线是否正确,网线是否有松动,交换机和 PLC 的电源线是否松动;
- 通过
Type-C转USB连接笔记本和PLC,修改PLC的IP地址;
2.2 目标设备离线
排查下网线连接,PLC的IP设置在否和笔记本在同一网段;
使用PING工具,测试PLC和笔记本网络是否可以正常
ping通;重启
AutoShop,重新连接测试;
2.3 搜索不到SYS_EIP地址
SYS_EIP里面的地址是根据 EDS 文件导入的,里面的地址是开发人员事先根据 EIP 地址表分配好的地址;- 【EtherNet/IP】下删除【Auto_Robot】,删除EDS文件后,重新导入;
- 双击添加【Auto_Robot】,删除原来的连接,重新添加连接;
- 下载PLC,点击【运行】【监控】,检查是否可以搜索到
SYS_EIP地址; - 若流程2-4未解决,重启控制柜和
AutoShop软件,重复步骤2-4;
2.4 通讯成功,读取数据错误
- 数据不变化,但是结果不正确,需要检查变量监控监控表的地址是否和EIP地址表一致;
- 数据变化,但是结果不正确,若地址是两个字节,必须把两个字节组成的数据都下发(例如末端速度,机器人状态的地址是两个字节),若获取地址是四个字节,必须把四个字节组成的数据都读取(例如位置坐标,关节角是四个字节);
二、软 EIP 在欧姆龙 PLC 中的应用
1 软 EIP 的配置环境准备
1.1 环境准备
Sysmac Studio 软件
版本:V1.52.0.64010EDS 文件
compatible_eip_slave_v0.0.1.eds硬件
欧姆龙NXP1P2-9024DT机械臂本体,笔记本电脑,网线,HUB或交换机软件版本
0.29.3-rc.9及以上版本;0.31.0-beta.1及以上版本0.32.0-alpha.9及以上版本查看对应端口和网卡

打开 EIP 服务
示教器软件在 v0.31.1 版本配置模块新增了配置【EtherNet/IP】功能,在主页依次单击"配置 > 现场总线 > EtherNet/IP",即可对 EIP 服务进行配置。软件内打开/关闭 EIP 服务等操作请参考EtherNet/IP。
1.2 硬件接线
将PLC、控制柜、本机电脑通过交换机连在同一个网络,接线完毕后,需要使用 ping 命令测试 PLC IP、控制柜 IP、本机 IP 相互之间能否连通,网络通信没有问题后才能进行下面的后续操作;
1.3 PLC设置静态IP
双击打开 Sysmac Studio 软件,进入首界面,如果之前配置过 PLC,并新建保存上次的工程,则可直接点击【在线】-> 【链接到设备】选项,在对话框中选择连接类型为
Ethernet-Hub连接,连接设置中 IP 地址配置为192.168.250.1, 然后点击【连接】;若还没有配置过 PLC 和新建过工程,则跳过该步骤;
直接点击【新建工程】选项弹出对话框,如下图所示,并按照步骤标注操作,填写工程名称,并选择欧姆龙 PLC 的型号
NX1P2-9024DT;然后点击【创建】来新建一个工程;
进入到 Sysmac Studio 软件的主界面后,点击【控制器】-> 【通信设置】;弹出通信设置对话框,在对话框中按照下图步骤依次选择连接类型为
Ethernet-Hub连接,连接设置中 IP 地址配置为192.168.250.1, 然后点击【Ethernet 通信测试】,如果显示通信成功,则点击确定,继续后面的操作,如果显示通信失败,则按步骤 4 操作,重新设置下 PLC 的地址;
如果步骤 3 测试与 PLC 通信时发现通信失败,则需要重新设置 PLC 的IP地址;点击左侧目录树【配置和设置】-> 【控制器设置】-> 【内置 EtherNet/IP 端口设置】进入端口设置页面,在 IP 地址的选项中选择固定 IP 地址,填写 IP 和子网掩码;一般欧姆龙 PLC 的 IP 默认地址为
192.168.250.1, 子网掩码为255.255.255.0, 可以直接使用,无需更改;
设置完后,点击【工具】-> 【更新额配置和设置传送数据】,将配置更新到 PLC 中;

1.4 机械臂设置静态IP
打开arcs软件,设置静态IP,静态IP地址需要和PLC,笔记本在同一网段;

1.5 PLC 导入 EDS 文件
点击【工具】-> 【EtherNet/IP 连接设置】,会显示 EtherNet/IP 设备列表,双击设备列表中的目标 PLC 设备;会打开【内置etherNet/IP 端口设置 连接设置】,进行连接的相关配置;

在右侧【工具箱】-> 【目标设备】中,如果没有加载过eds文件,不会显示目标设备,在空白处鼠标右键,弹出菜单,选择【显示 eds 库】;

点击【显示 eds 库】后,会弹出导入 eds 文件的对话框;点击【安装】,选择事先准备好的 eds 文件;之后【Vendor】列表中会显示加载后的
Aubo Robot; 点击【关闭】;
1.6 设备站 IP 设置
如下图,点击这个添加按钮,添加目标设备;

在右侧显示的工具箱中,分别输入节点地址(EIP 服务的IP地址,即机器人的IP地址),型号名称输入
Aubo Robot, 修订版输入 2;之后点击【添加】按钮添加该目标设备;
添加成功后,目标设备列表会显示设备名称,如下图;

1.7 PLC 和设备栈的连接设置
添加全局变量,在左侧目录树中点击【编程】-> 【数据】-> 【全局变量】,进入全局变量设置页面,添加以下两个输入、输出变量,变量的相关设置如下图;

点击选项卡将页面切换至【内置etherNet/IP 端口设置 连接设置】,首先检查设备信息是否正确,主要看型号名称和节点地址;然后开始添加标签组,点击【全部注册】按钮,会弹出【标签组注册设置对话框】;

在【标签组注册设置对话框】中选中输入标签和输出标签,然后点击【注册】按钮;

标签组添加成功后,标签组的显示如下图;


切换到连接选项卡页面,点击添加按钮,添加连接,然后按照下图的连接参数来设置,注意这里的参数不是随便设置的,必须按照下图显示的参数来设置;

1.8 保存项目 > 传送到控制器 > 运行 > 监控
所有配置完成后,保存项目,点击【在线】按钮,然后点击【传送到控制器】,弹出传送到控制器对话框,选择“是”后,连接配置将会下载到 PLC 中,步骤如下图;

点击【运行】-> 【监控】后,就可以开始监控相关地址的信号值变化,点击【监视(工程)】开始添加信号,步骤如下图;

添加一些示例信号如下图,如果能读到机器人的状态,并且可以设置机器人速度,表明 PLC ==> Robot、Robot ==> PLC 通信没有问题:

2. PLC 与 控制器通信示例
使用 EIP 协议,从地址表中可以看到,PLC 与机械臂进行通信包括的内容有
机械臂 IO 状态(slot_1)
机械臂位姿(slot_2)
机械臂关节电流电压温度(slot_3)
通用线圈和通用保持寄存器(slot_4、slot_5)
其中 slot_1、slot_2、slot_3 可通过 PLC 直接进行读取,slot_4、slot_5 包含了线圈和保持寄存器的内容, 通过 ARCS 系统脚本调用的方式实现PLC跟机器臂通信。
本次通信示例只演示通用保持寄存器和通用线圈的使用;
2.1 通用线圈(Robot ==> PLC)
setBoolOutput(0,true),将 PLC slot_4 起始地址第一个 bool 量置为 true。

根据地址表中的第一个通用线圈(Robot => PLC)的地址,在 Sysmac Studio 软件中的监控(工程)表中添加监控地址 NX1P_IN[110];

在 Sysmac Studio 软件中的监控(工程)表中添加监控地址 NX1P_IN[110]; 此时监控的数据从右到左来看,第0位 false, 第1位 true, 第2位 true, 第3位 false,如下图;

2.2 通用保持寄存器(Robot ==> PLC)
setInt16Register(32,183),将 PLC slot_4 保持寄存器 ( slot_4 第9个字节作为保持寄存器起始地址) 第一个数据写入值183,其中 setInt16Register 的起始地址为 32, 过1s后,再将数据改为99。

根据地址表中的第一个通用寄存器(Robot => PLC)的地址,在 Sysmac Studio 软件中的监控(工程)表中添加监控地址 NX1P_IN[118]和NX1P_IN[119] ;

在 Sysmac Studio 软件中的监控(工程)表中可以看到,此时监控的数据为183,过1s后,监控的数据变为99;可以看到监控的数据在183和99变换;

2.3 通用线圈(PLC ==> Robot)
根据地址表中的第一个通用线圈(PLC => Robot)的地址,在 Sysmac Studio 软件中的监控(工程)表中添加监控地址 NX1P_OUT[3];

在 Sysmac Studio 软件中的监控(工程)表中对地址 NX1P_OUT[3] 写入0000 0001;

bool0 = getBoolInput(0),读取 PLC slot_5 起始地址第一个 bool 量,并保存在变量 bool0 中,此时读到PLC的对应地址的值为 true;

2.4 通用保持寄存器(PLC ==> Robot)
根据地址表中的第一个通用寄存器(PLC => Robot)的地址,在 Sysmac Studio 软件中的监控(工程)表中添加监控地址 NX1P_OUT[8] 和 NX1P_OUT[9];

在 Sysmac Studio 软件中的监控(工程)表中对地址 NX1P_OUT[8] 和 NX1P_OUT[9] 写入100;

tmp0 = getInt16Register(0),机器人读取 PLC slot_5 的第9个字节开始的第一个 寄存器(16Bit) ,并保存在变量tmp0 中, 此时读到PLC的对应地址的值为 100;

三、软 EIP 增加扩展寄存器地址
1 扩展地址变更点
- 输入地址(Robot => PLC)扩展了128字节,输出地址(PLC => Robot)扩展了128字节,其中64字节用于扩展通用16位寄存器,另外64字节作为预留地址备用;
- 更新文件版本名: 地址表版本(v2.0.4 -> v3.0.0), eds版本(v0.0.1 -> v1.0.0);
- 增加寄存器和脚本对应关系;
- 编程节点可以配置EtherNet/IP信号;
- EtherNet/IP的IO页面能实时监测信号变化;
2 扩展地址表环境准备
2.1环境准备
下载EDS文件 compatible_eip_slave_v1.0.0.eds
下载地址表 EtherNetIP地址表_v3.0.0
软件版本
支持版本:0.32.1-alpha.62,0.32.2-alpha.2,0.32.3-alpha.2及以上版本
2.2 导入EDS文件
- 根据【1.6 PLC导入EDS文件】 操作步骤,导入compatible_eip_slave_v1.0.0.eds;

- 导入EDS文件后,Autoshop软件的变量格式和之前也有些差别;

2.3 配置文件增加兼容处理
- 增加
aubo_control.conf的配置字段:eip_compat_version = 2,该配置表示eip 对应兼容的主版本号; - 设置为2表示使用EtherNetIP地址表V2.x.x.xlsx和compatible_eip_slave_v0.0.1.eds;
- 设置为3表示使用 EtherNetIP地址表V3.x.x.xlsx和compatible_eip_slave_v1.0.0.eds;
- 不配置时默认为3;
eip_ifname和eip_enable字段已不需要配置,网口在EIP的服务页面进行选择激活;

3 PLC与控制器通讯示例
3.1 激活EtherNet/IP服务
进入配置-现场总线-EtherNet/IP页面,点击网口下拉框列表,选择对应的网卡名称,点击开关激活服务;
开关激活后,检查EIP服务状态,和PLC通讯正常时,状态显示`主站已接入`,通讯断开时,状态显示`主站已断开`; 确认IP地址正确后,检查从站版本为V3.0.0;

3.2 添加EIP信号
点击添加地址,信号类型选择【输入】,EIP输入地址范围【88-150】,支持寄存器和布尔类型

点击添加地址,信号类型选择【输出】,EIP输出地址范围【182-244】,支持寄存器和布尔类型

支持数据类型:
16 位无符号整数,范围【0 ~ 65535】;
16 位有符号整数,范围【-32768 ~ 32767】;
二进制【16 位 0/1,对应 0 ~ 65535】;
十六进制,范围【0x0000 ~ 0xFFFF】;
浮点数,范围【±3.4×10³⁸】;
交换浮动数;范围【±3.4×10³⁸】;
整数类型示例
二进制示例
十六进制示例
浮点数示例
3.3 编程设置EIP信号
添加EIP信号之后,可以在【编程】-【设置】页面 ,增加EIP输出节点,设置寄存器输出或者布尔变量的信号,运行程序后,观察EIP信号变化;

3.4 查看EtherNet/IP信号状态
运行已编写好的EIP程序,点击I/O-EtherNet/IP页面,可以查看EIP输入/输出地址的实时变化。 
4 常见问题
4.1 修改PLC地址失败
检查通信是否正常,如果通信不正常,则检查硬件接线是否正确,网线是否有松动,交换机和 PLC 的电源线是否松动等;
4.2 通讯成功,读取数据错误
- 数据不变化,结果也不正确,需要检查变量监控表的地址是否和EIP地址表一致,有可能是地址用错;
- 数据变化,但是结果不正确,若地址是两个字节,必须把两个字节组成的数据都下发(例如末端速度,机器人状态的地址是两个字节),若获取地址是四个字节,必须把四个字节组成的数据都读取(例如位置坐标,关节角是四个字节);
4.3 升级软件版本后未同步更新EDS文件故障处理
现场设备升级至支持扩展寄存器的软件版本后,若仅升级软件、未同步更新EDS文件,会导致EtherNet/IP服务持续显示主站已断开,设备与PLC无法正常建立通讯连接。针对该问题,现有两种适配解决方案,可根据现场PLC配置需求灵活选用;
方案一:PLC端更新EDS文件(支持扩展寄存器,功能完整)
现场更新最新EDS文件,适配新版软件扩展寄存器功能,无需改动设备配置文件,默认保持 eip_compat_version = 3,统一使用《EtherNetIP地址表V3.x.x.xlsx》进行参数配置;
注意事项:V3版本与V2版本地址表的变量定义存在差异,需同步适配PLC程序变量。以Autoshop软件为例,旧版EDS0.0.1元件名称格式为 _IP1_*,新版EDS1.0.0元件名称格式调整为 _IP1_1[*]、_IP1_0[*],需对应修改PLC程序内部元件变量名称,保证通讯匹配。该方案可完整使用软件全部扩展寄存器功能;
方案二:不更新EDS文件(兼容旧配置,无需改PLC程序)
若现场无需使用扩展寄存器功能、且不想修改PLC程序,可通过修改设备配置实现通讯恢复。将设备配置文件中参数修改为 eip_compat_version = 2,重启arcs软件后,设备与PLC即可恢复正常通讯;
注意事项:该方案无需改动PLC原有程序,但存在功能限制,软件页面中的扩展寄存器地址功能将无法正常使用,仅适配基础通讯场景,地址表仍使用《EtherNetIP地址表V2.x.x.xlsx》;
4.4 软件版本兼容问题注意事项
版本兼容说明:软件从 V0.29.6、V0.31.0、V0.31.1系列版本升级至 V0.32.1-alpha.62 及以上版本后,EtherNet/IP 服务存在兼容性问题,升级时请重点关注。

