EtherNet/IP Integration Guide: EDS Files, Read/Write Configuration & Common Pitfalls

Complete guide to EtherNet/IP integration with protocol gateways — covering EDS files, DATA_TABLE_READ vs WRITE configuration, Assembly Objects, and Allen-Bradley PLC integration patterns.

Categories:

Overview

EtherNet/IP (Ethernet Industrial Protocol) is an industrial networking protocol built on CIP (Common Industrial Protocol). It runs over standard Ethernet infrastructure and is widely used with PLCs and factory automation — particularly Allen-Bradley ControlLogix systems.

In building automation, EtherNet/IP typically appears in crossover projects where industrial equipment (chillers, generators, switchgear) needs to communicate with a BMS via BACnet or Modbus. A QuickServer gateway bridges the two worlds.

This guide covers the critical configuration concepts, the most common integration mistakes, and the intake information needed for a successful project.

EtherNet/IP Gateway Integration Architecture

CIP and EtherNet/IP Fundamentals

CIP (Common Industrial Protocol) is the application layer shared by EtherNet/IP, DeviceNet, and ControlNet. Understanding a few CIP concepts is essential for configuration:

Implicit vs Explicit Messaging

Messaging TypePurposeUse Case
ExplicitConfiguration, diagnostics, on-demand reads/writesReading a single register, uploading EDS files
Implicit (I/O)Real-time, cyclic data exchangeContinuous monitoring of chiller status, setpoints

Most gateway integrations use explicit messaging for point-by-point data exchange.

Assembly Objects

Assembly Objects are CIP data structures that group multiple data points into arrays for efficient transfer. In Allen-Bradley PLCs, these often appear as named arrays:

  • DataFromDevice (e.g., DataFromChiller) — data flowing from the field device to the PLC
  • DataToDevice (e.g., DataToChiller) — data flowing to the field device from the PLC

[!TIP] Ask the PLC programmer for the Assembly Object names and sizes before starting configuration. These determine how the gateway’s data arrays map to the PLC.

EDS Files

An EDS file (Electronic Data Sheet) is a standardized text file that describes an EtherNet/IP device’s communication parameters — supported CIP objects, Assembly sizes, and connection parameters. Think of it as the EtherNet/IP equivalent of a BACnet PICS statement.

Why EDS Files Matter

  • PLC programming software (e.g., RSLogix, Studio 5000) imports EDS files to auto-configure the EtherNet/IP connection
  • Without the correct EDS file, the PLC programmer must manually configure Assembly sizes and connection parameters — error-prone and time-consuming
  • The EDS file defines the device’s identity (Vendor ID, Product Type, Product Code) that the PLC uses to recognize it on the network

Obtaining EDS Files

SourceHow
QuickServerDownload from the QuickServer web interface under EtherNet/IP → EDS File, or extract via the web GUI
Third-party devicesRequest from the device manufacturer, or check the ODVA EDS Library

[!NOTE] The EDS file must match the gateway’s current firmware version and configuration. If you update firmware or change Assembly sizes, regenerate the EDS file.

DATA_TABLE_READ vs DATA_TABLE_WRITE

This is the #1 EtherNet/IP configuration mistake across all Chipkin support projects. Getting this wrong causes silent write failures that are difficult to diagnose on site.

The Problem

The EtherNet/IP driver’s service attribute controls the direction of data flow:

Service AttributeBehavior
DATA_TABLE_READGateway reads data from the PLC into its internal data array. Gateway cannot write to the PLC.
DATA_TABLE_WRITEGateway reads and writes data — bidirectional communication with the PLC.

[!WARNING] DATA_TABLE_READ allows data to flow into the gateway’s data array from the PLC, but silently blocks writes back to the PLC. There is no error message — the write simply doesn’t happen. This makes it extremely difficult to diagnose on site.

When to Use Each

  • DATA_TABLE_READOnly when every single point is read-only (monitoring only, no setpoints, no commands)
  • DATA_TABLE_WRITE — Whenever any point requires write capability (setpoints, enable/disable commands, capacity limits)

Common Write-Required Points

These point types almost always require write capability:

  • SetpointsCoolTempSetpoint, HeatTempSetpoint, capacity limits
  • Enable/Disable commandsEnableStp, StartStop, OccupiedMode
  • Capacity/demand limitsNetworkCapacityLimitPct, DemandLimit
  • Schedule overrides — occupancy commands, time-of-day overrides

[!TIP] Default to DATA_TABLE_WRITE unless the project is confirmed 100% read-only. The performance difference is negligible, and it prevents the most common EtherNet/IP field issue.

Configuration Intake Checklist

Collect this information before starting any EtherNet/IP gateway configuration. Missing items here cause delays and rework on site.

PLC Model and Programming Environment

Identify the PLC platform — this determines data array naming conventions, Assembly Object structure, and EDS file requirements. Common platforms:

  • Allen-Bradley ControlLogix (RSLogix 5000 / Studio 5000)
  • Allen-Bradley CompactLogix
  • Siemens S7 (via EtherNet/IP adapter)

EDS File Availability

Does the PLC programmer have the gateway’s EDS file, or do they need one generated? If the gateway is already on site, the EDS file can be downloaded from the web interface.

Point List with Read/Write Direction

Every point in the mapping must be explicitly marked as read-only or read/write. This determines the DATA_TABLE_READ vs DATA_TABLE_WRITE setting. Ask the customer to annotate their point list — do not assume all points are read-only.

Assembly Object Names and Sizes

For Allen-Bradley PLCs, get the DataFromDevice / DataToDevice array names and sizes from the PLC programmer. These must match the gateway configuration exactly.

IP Address and Network Architecture

  • Gateway IP address and subnet mask
  • PLC IP address
  • Any VLANs or firewalls between the gateway and PLC
  • Whether the gateway sits on the same subnet as the PLC or requires routing

Paired Protocol Details

EtherNet/IP is almost always one side of a conversion. Collect the other protocol’s details too:

  • For BACnet — device instance, network number, MAC addresses (if MS/TP)
  • For Modbus — slave IDs, register map, baud rate (if RTU)

Common Integration Patterns

EtherNet/IP ↔ BACnet

The most common EtherNet/IP conversion — exposing PLC data points to a building management system (BMS) via BACnet/IP or BACnet MS/TP.

Typical scenario: Chiller plant with Allen-Bradley PLCs controlling multiple chillers. The BMS needs to monitor temperatures, statuses, and alarms, and send setpoints/commands back to the PLCs.

Key configuration:

  • EtherNet/IP client connection to each PLC
  • BACnet server exposing mapped points as BACnet objects
  • DATA_TABLE_WRITE if any setpoints or commands are needed

EtherNet/IP ↔ Modbus TCP

Industrial devices with EtherNet/IP connecting to a Modbus TCP master — common in mixed industrial/building automation environments.

Key configuration:

Troubleshooting

Gateway Reads Data but Cannot Write to PLC

Symptom: Data flows into the gateway’s internal data array (values update), but writing values back to the PLC has no effect. No error messages.

Cause: EtherNet/IP service attribute set to DATA_TABLE_READ instead of DATA_TABLE_WRITE.

Fix: Change the service attribute to DATA_TABLE_WRITE in the gateway’s EtherNet/IP client configuration. Restart the connection.

PLC Does Not Recognize the Gateway

Symptom: The PLC cannot establish an EtherNet/IP connection. The gateway shows “no connection” or times out.

Possible causes:

  • Wrong EDS file — regenerate from the gateway’s current firmware/config
  • IP addressing — gateway and PLC not on the same subnet
  • Assembly size mismatch — the gateway’s Assembly Object sizes don’t match what the PLC expects
  • Firewall/VLAN — EtherNet/IP uses TCP port 44818 and UDP port 2222

Data Values Are Wrong or Offset

Symptom: Data arrives but values don’t match what’s expected — wrong point mapped to wrong value.

Possible causes:

  • Array offset error — the data array index in the gateway config doesn’t match the PLC array position
  • Data type mismatch — INT vs DINT vs REAL mapping. Confirm the PLC’s data type for each tag.
  • Byte order — some devices swap bytes. See the byte order reference for diagnostic steps.

Chipkin Tools

Need more help?

If this page does not resolve the issue, contact Chipkin support with the product model, protocol details, and any diagnostics you have already captured.

Open Chipkin Support