前提:机器人侧已经完成 EIP 配置、重启生效;机器人 IP:
192.168.1.10;示例 Assembly:
Output Assembly(PLC 发给机器人,机器人 Input) Instance=100,8 字节
Input Assembly(机器人发给 PLC,机器人 Output) Instance=101,8 字节✅ 重点记忆:PLC 的 Output = 机器人 Input;PLC 的 Input = 机器人 Output,很多人这里搞反。
方法一:导入 ABB 的 EDS 文件
1、注册 EDS 文件
找到 ABB EDS:RobotStudio 目录
C:\ProgramData\ABB\DistributionPackages\ABB.RobotWare-xxx\RobotPackages\ROBIN\EDS\enip.eds;OmniCore 用omnicore.eds打开 Rockwell 工具:
EDS Hardware Installation Tool(开始菜单→Rockwell Software)Register an EDS file → 选中
enip.eds,完成注册。
2、Studio5000 添加机器人设备
打开项目,左侧 I/O Tree,右键 EtherNet/IP 网络 → New Module
在设备列表找到 ABB Robot EtherNet/IP Adapter,选中,创建
设置机器人 IP 地址:
192.168.1.10,设备名称:Robot_ABB进入模块属性 → Connection,核对 Assembly 参数:
Output Assembly(PLC→机器人) Instance:100,Size:8 字节
Input Assembly(机器人→PLC) Instance:101,Size:8 字节
RPI(刷新周期):5~20ms,推荐 10ms;不要小于 2ms,容易断连
勾选 Use Unconnected Message Timeout,默认即可。
确定保存,软件自动生成
Robot_ABB:I(机器人输入→PLC 接收)、Robot_ABB:O(PLC 输出→机器人)结构体标签。
方法二:Generic Ethernet Module
没有 EDS 文件,直接用通用模块,兼容性强。
I/O Tree 右键 EtherNet/IP 网络 → New Module → 搜索
Generic Ethernet Module填入 Name:
Robot_ABB;IP Address:192.168.1.10Connection 参数
表格
参数 示例值 含义 Input Assembly Instance 101 机器人发给 PLC 的数据(机器人 Output Assembly) Input Size 8 Bytes 机器人输出字节数 Output Assembly Instance 100 PLC 下发给机器人的数据(机器人 Input Assembly) Output Size 8 Bytes PLC 下发字节数 RPI 10 ms 数据包刷新周期 Data Format:选 SINT(字节数组),不要选 INT/DINT,避免高低字节错位。
确定,自动生成标签:
Robot_ABB:I.Data[0..7](机器人→PLC)、Robot_ABB:O.Data[0..7](PLC→机器人)。
3、PLC 侧信号映射(数字量示例,8 字节 = 64 个 Bit)
对应机器人侧:Input Assembly ID100(PLC→机器人 DI);Output Assembly ID101(机器人→PLC DO)
PLC 输出数组
Robot_ABB:O.Data[0]第 0 位 → 机器人 DI0PLC 输出数组
Robot_ABB:O.Data[0]第 1 位 → 机器人 DI1PLC 输入数组
Robot_ABB:I.Data[0]第 0 位 → 机器人 DO0
如果要传递整数 / 浮点数(GI/GO 组信号,机器人坐标、状态字):在 PLC 创建 UDT 结构体,把 SINT 数组转成 DINT/REAL。
示例 UDT(用于传递浮点数)
TYPE Robot_UDT :
STRUCT
HeartBeat : BOOL;
Axis_X : REAL;
Axis_Y : REAL;
END_STRUCT
END_TYPE
注意:ABB 机器人 EIP 字节序为小端模式,REAL 浮点数要注意高低字节调换,这个坑非常常见。
4、下载 PLC 项目,在线测试通讯
下载程序到 AB PLC,PLC 切换到 Run 模式
打开 I/O 树,查看 Robot_ABB 模块:状态绿色 = Class1 连接成功;红色报错
在线监控标签:
PLC 写
Robot_ABB:O.Data[0].0置 1 → 机器人 DI0 应该变为 1机器人 DO0 置 1 → PLC
Robot_ABB:I.Data[0].0读到 1两边同时监控信号,确认收发正常。
常见报错 & 排查
Error Code 16#0106 / Invalid Size:Assembly ID、字节数,机器人与 PLC 不一致(最高发故障)
连接超时、红色三角:
网线 / 交换机,IP 不在同一网段,防火墙,ping 机器人 IP 测试
RPI 设置过小,干扰大;改成 10~20ms 测试
机器人侧 EIP 未启用、841-1/3024-2 授权未激活,机器人没有重启
连上但信号相反 / 乱码:字节序问题,REAL 浮点数需要高低字节交换;数字量一般不会
偶尔断连:屏蔽网线,交换机端口强制 100M 全双工,关闭自动协商
极简核对清单
✅ 机器人已启用 EIP Adapter,授权 OK ✅ 机器人 IP、PLC IP 同网段,可 ping 通 ✅ PLC Output Instance = 机器人 Input Assembly ID、字节相等 ✅ PLC Input Instance = 机器人 Output Assembly ID、字节相等 ✅ RPI:10ms 左右 ✅ 机器人保存配置并重启控制柜。


