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 的 IP | 192.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,1 | Identity Object → Vendor ID |
0x01,1,2 | Identity Object → Device Type |
0x01,1,7 | Identity Object → Product Name(字符串) |
0x6B,1,1 | Symbol Class instance 1 attribute 1 |
0x6C,1,1 | Template Class |
如何获取 CIP 坐标
- 在 Studio5000 的 Tag Browser 中确认属性信息
- 使用 Wireshark 等工具捕获现有的 EIP 通信数据包进行确认
- 利用制造商 / 集成合作伙伴的映射表
如果您更熟悉符号标签,上面提到的 通过 Kepware 的方式 要简单得多。
数据类型匹配
| PLC 的值 | 数据类型 | 格式辅助 |
|---|---|---|
| 字符串(产品名、状态等) | String | (留空) |
| 整数(Vendor ID、DeviceType 等) | Integer | (留空) |
| 实数 | Float | (留空) |
| Boolean | Boolean | (留空) |
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 示例。