跳到主要内容

Allen-Bradley EtherNet/IP

EtherNet/IP (CIP, Common Industrial Protocol) 是 Allen-Bradley / Rockwell 的 ControlLogix / CompactLogix 系列 PLC 所使用的通信协议。

符号标签(Logix Tag)限制

当前此网关的 EIP 驱动仅读取 CIP 属性(class / instance / attribute)。ControlLogix 常见的符号标签(例如 MyController:Pump1.RPM)需要单独的 “Read Tag Service”,将在后续版本中支持。在此之前,如果需要符号标签,建议通过 Kepware 等网关,经由 OPC-UA 导入。


注册表单输入值​

输入项填写内容示例
IP 地址PLC 的 IP192.168.0.90
端口EtherNet/IP 端口44818(标准)
Backplane (backplane)背板编号1
Slot (local-slot)CPU 槽位编号0

PLC 端需要在 RSLogix / Studio5000 中启用 EtherNet/IP 模块。

LOGIX 卡也使用相同的驱动

在连接注册界面中,EIP 和 LOGIX 分开显示,但它们是相同的协议,相同的驱动。 这只是为了让寻找 ControlLogix / CompactLogix 的用户更容易通过名称识别。 无论选择哪个,其行为完全一致。


标签的 PLC 地址表示​

以 <class>,<instance>,<attribute> 格式输入 EIP CIP 坐标。支持十进制或以 0x 开头的十六进制。

表示含义
0x01,1,1Identity Object → Vendor ID
0x01,1,2Identity Object → Device Type
0x01,1,7Identity Object → Product Name(字符串)
0x6B,1,1Symbol Class instance 1 attribute 1
0x6C,1,1Template Class

如何获取 CIP 坐标​

  • 在 Studio5000 的 Tag Browser 中确认属性信息
  • 使用 Wireshark 等工具捕获现有的 EIP 通信数据包进行确认
  • 利用制造商 / 集成合作伙伴的映射表

如果您更熟悉符号标签,上面提到的 通过 Kepware 的方式 要简单得多。


数据类型匹配​

PLC 的值数据类型格式辅助
字符串(产品名、状态等)String(留空)
整数(Vendor ID、DeviceType 等)Integer(留空)
实数Float(留空)
BooleanBoolean(留空)

EIP 驱动会将响应的原始字节原样作为字符串接收,然后根据 [数据类型] 在后续处理中进行转换。如果需要大小端整数/实数转换,请通过 应用计算公式 进行后续处理。


常见问题与解决​

症状/消息可能原因解决方法
“Connection timeout”端口 44818 被阻止,EtherNet/IP 模块未启用在 RSLogix / Studio5000 中启用 EtherNet/IP 模块
“Forward Open failure”rack/slot 或 backplane 不匹配参考上表修正 backplane / slot
“Class/Instance not found”错误的 CIP 坐标使用 Studio5000 的 Tag Browser 或 Wireshark 验证坐标
数值显示异常原始字节被直接作为 String 接收通过计算公式进行 little-endian 解析,或建议通过 Kepware

更详细的示例 / 自动化注册​

请参考 高级 — REST API 中的 EIP 示例。