Skip to main content

Allen-Bradley EtherNet/IP

EtherNet/IP (CIP, Common Industrial Protocol) is the communication protocol used by Allen-Bradley / Rockwell ControlLogix / CompactLogix series PLCs.

Symbolic Tag (Logix Tag) Limitation

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 FieldWhat to EnterExample
IP AddressPLC IP192.168.0.90
PortEtherNet/IP port44818 (standard)
Backplane (backplane)Backplane number1
Slot (local-slot)CPU slot number0

The EtherNet/IP module must be enabled in RSLogix / Studio5000 on the PLC side.

The LOGIX card uses the same driver

On 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.

NotationMeaning
0x01,1,1Identity Object → Vendor ID
0x01,1,2Identity Object → Device Type
0x01,1,7Identity Object → Product Name (string)
0x6B,1,1Symbol Class instance 1 attribute 1
0x6C,1,1Template 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 ValueData TypeFormat Helper
String (product name, status, etc.)String(empty)
Integer (Vendor ID, DeviceType, etc.)Integer(empty)
RealFloat(empty)
BooleanBoolean(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 / MessagePossible CauseSolution
"Connection timeout"Port 44818 blocked, EtherNet/IP module disabledEnable the EtherNet/IP module in RSLogix / Studio5000
"Forward Open failure"Mismatched rack/slot or backplaneCorrect the backplane / slot referring to the table above
"Class/Instance not found"Incorrect CIP coordinatesVerify the coordinates using Studio5000's Tag Browser or Wireshark
Values appear corruptedBecause raw bytes are received as a stringInterpret 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.