Allen-Bradley EtherNet/IP
EtherNet/IP (CIP, Common Industrial Protocol) is the communication protocol used by Allen-Bradley / Rockwell ControlLogix / CompactLogix series PLCs.
Currently, this gateway's EIP driver can only read CIP attributes (class / instance / attribute). The common symbolic tags in ControlLogix (e.g., MyController:Pump1.RPM) require a separate "Read Tag Service" which is planned for a future release. Until then, if you need symbolic tags, we recommend using a gateway such as Kepware and importing the data via OPC-UA.
Registration Form Input Values
| Input Field | What to Enter | Example |
|---|---|---|
| IP Address | PLC IP | 192.168.0.90 |
| Port | EtherNet/IP port | 44818 (standard) |
| Backplane (backplane) | Backplane number | 1 |
| Slot (local-slot) | CPU slot number | 0 |
The EtherNet/IP module must be enabled in RSLogix / Studio5000 on the PLC side.
LOGIX card uses the same driverOn the connection registration screen, EIP and LOGIX appear separately, but they are the same protocol and the same driver. The aliases are provided so that users looking for ControlLogix / CompactLogix can recognize them by name. Whichever you choose, the behavior is identical.
PLC Address Notation for Tags
Enter the EIP CIP coordinates in <class>,<instance>,<attribute> format. Both decimal and hexadecimal starting with 0x are supported.
| Notation | Meaning |
|---|---|
0x01,1,1 | Identity Object → Vendor ID |
0x01,1,2 | Identity Object → Device Type |
0x01,1,7 | Identity Object → Product Name (string) |
0x6B,1,1 | Symbol Class instance 1 attribute 1 |
0x6C,1,1 | Template Class |
How to Determine CIP Coordinates
- Check attribute information in Studio5000's Tag Browser
- Capture existing EIP communication packets using Wireshark or similar tools
- Use the mapping table provided by the manufacturer / integration partner
If you're more familiar with symbolic tags, the Kepware route mentioned above is much simpler.
Data Type Matching
| PLC Value | Data Type | Format Helper |
|---|---|---|
| String (product name, status, etc.) | String | (empty) |
| Integer (Vendor ID, DeviceType, etc.) | Integer | (empty) |
| Real | Float | (empty) |
| Boolean | Boolean | (empty) |
The EIP driver receives the raw response bytes as a string and then casts them during post-processing according to the [data type]. If you need large integer / real conversion, post-process using formula application.
Common Issues and Solutions
| Symptom / Message | Possible Cause | Solution |
|---|---|---|
| "Connection timeout" | Port 44818 blocked, EtherNet/IP module disabled | Enable the EtherNet/IP module in RSLogix / Studio5000 |
| "Forward Open failure" | Mismatched rack/slot or backplane | Correct the backplane / slot referring to the table above |
| "Class/Instance not found" | Incorrect CIP coordinates | Verify the coordinates using Studio5000's Tag Browser or Wireshark |
| Values appear corrupted | Because raw bytes are received as a string | Interpret as little-endian using a formula, or use the Kepware route recommended |
More Detailed Examples / Automated Registration
Refer to the EIP examples in Advanced — REST API.