跳到主要内容

Allen-Bradley / Rockwell — 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 模块。


标签的 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 中查看 attribute 信息
  • 使用 Wireshark 等抓取既有 EIP 通信报文进行确认
  • 利用厂商 / 集成合作伙伴提供的映射表

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


数据格式匹配

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

EIP 驱动会将响应的 raw 字节原样作为字符串读取,然后在后处理中按 [数据格式] 进行转换。若需要大整数 / 实数转换,请使用 应用计算公式 进行后处理。


常见问题与解决

现象 / 消息可能原因解决方法
“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 验证坐标
数值显示乱码因为 raw 字节被原样作为 String 读取建议用计算公式按 little-endian 解析,或改为经由 Kepware

更多示例 / 自动化注册

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