Ethernet/IP

Extending off-the-shelf Ethernet to the Common Industrial Protocol (CIP)! 🔌

This Industrial Ethernet Protocol (Ethernet/IP) was originally developed by Rockwell Automation and is now managed by the Open DeviceNet Vendors Association (ODVA).

About Ethernet/IP

Ethernet/IP is a communication protocol used in industrial settings to exchange data between devices. In Ethernet/IP, a packet (a package containing information) is transferred using TCP/IP. Ethernet/IP is based on a larger protocol called the Common Industrial Protocol (CIP), which is used in various industrial automation applications. CIP provides a set of messages and services that allow devices to communicate with each other.

In Ethernet/IP, devices on the network present their data in a structured way called attributes. These attributes are then grouped together into sets called objects. So, objects are like containers that hold related data.

What is CIP

Ethernet/IP, DeviceNet and ControlNet are all linked by one thing, Common Industrial Protocol (CIP). Ethernet/IP is essentially CIP implemented over Ethernet, let's explain a bit more!

The Common Industrial Protocol (CIP) is a media independent, connection-based, objectoriented protocol designed for industrial automation. You can think of it like a "communication architecture", the framework behind how two things can talk to each other. Of course, this framework can be used in different ways or built upon, but it provides some baseline rules.

CIP follows a producer-consumer communication model, which means that some devices produce data while others consume it. It's also an object-oriented protocol, which means it treats data and commands as objects with attributes (data), services (commands), connections, and behaviors (relationship between attribute values and services).

EtherNet/IP maps the CIP communication services to Ethernet and TCP/IP, enabling you to talk with different devices as long as they support Ethernet/IP!

The Nitty Gritty of Ethernet/IP - Objects

Within the CIP application layer (using the OSI Model), devices are represented using an object model. What does that mean?

Objects within a device are groups of related data and behavior associated with this data. CIP requires certain objects to describe a device, how it functions, communicates and its unique identity. There are three types of objects defined by CIP:

  • Required Objects must be included in all CIP devices. These objects include the Identity Object, the Message Router Object and network-specific objects.
  • Application Objects describe how data is encapsulated by a device. These objects are specific to the Device Type and function. For example, an input device would have an input object with attributes that describe the value and fault status of a particular input point.
  • Vendor-specific Objects describe services that are specific to a particular vendor; they are optional and not described in a predefined Device Profile.

What's actually in an Object? CIP objects are divided into classes, instances and attributes.

  • A class is a set of objects that all represent the same component.
  • An instance is the current representation of a particular object. Each instance has the same attributes, but possibly with different attribute values.
  • Data items within an object are called Attributes.

What is an Electronic Data Sheet? (EDS file)

Electronic Data Sheet is the product’s identity.

An EDS is a text-based file provided by the manufacturer that allows a tool to learn about the device’s:

  • Structure and meaning of I/O data.
  • What I/O data transfer types are available.
  • Network accessible application configuration parameters.
  • Network capacity capabilities of the device.
  • What optional attributes/services are supported in the various object classes.

Types of Ethernet/IP Communication

There's two primary types of communication in Ethernet/IP: explicit and implicit.

  • Implicit messaging (Often referenced as a Class 1 connection).
  • Explicit messaging (Often referenced as a Class 3 connection).

Message Types – Explicit Messages

  • Used for Client/server point-to-point type transactions on demand.
  • You can open up this message and read the request. Yo ucan see it wants to read this Object, Instance and this Attribute.
  • It's for a one-time transport of a data item. Examples of this include, configuration data, diagnostic information or data collection.

Message Types – Implicit Messages

  • Normally used for real-time I/O data.
  • Both parties must know in advance which data is being transferred.
  • Can be sent multicast or point to point .
  • Data transfer is more efficient because the meaning of the data is known ahead of time

Common Troubleshooting

Check these things!

  • EDS File
  • PLC Diagnostics
  • I/O Size
  • Input/Output Assembly
  • LED status & meaning
  • Check if PLC is in RUN mode