EtherNet/IP, which is the implementation of the Common Industrial Protocol (CIP) over standard Ethernet, uses two types of messaging between devices: explicit messaging for data that is purely informational, and implicit messaging for time-critical data.
All four industrial networks that use CIP at the application layer — EtherNet/IP, DeviceNet, ControlNet, and CompoNet — support explicit and implicit messaging.
Explicit messaging for information exchange
Explicit messaging treats each communication between devices as a separate query and response. Each request contains explicit information that the receiving device, or node, decodes and responds to, and each request must include a source address, a destination address, and a CIP ConnectionID. Explicit messages are transmitted by TCP (Transmission Control Protocol), and because every message includes destination, source, and connection information, explicit messaging is less efficient than implicit messaging, but it offers a high degree of flexibility.
Explicit messages can be sent by the client (a controller or HMI, for example) at any time, and the server (a field device, such as a servo drive) can respond when it is available. Therefore, explicit messaging is used only for information that is not time-critical, such as diagnostic or configuration data.
Implicit messaging for real-time control
When time-critical information needs to be exchanged, EtherNet/IP uses implicit messaging. In this messaging format, a control device (such as a PLC) establishes a connection — referred to as a “CIP connection” — with an adapter device (such as an actuator) at the outset, and the information to be exchanged is identified when the connection is established. ConnectionIDs are also assigned at that time, and the meaning of the data is implicitly defined by the ConnectionID. Implicit messages are produced and consumed at a rate — referred to as the requested packet interval (RPI) — defined by a predetermined “trigger” mechanism, which can be cyclic, change-of-state, or application-based.
Implicit messages are transported via UDP (User Datagram Protocol), which allows the network to use the producer-consumer transmission model, in which one producer sends a single message to many consumers. Because each individual message doesn’t need to include extensive information about its meaning, implicit messaging has less “overhead” and is more efficient than explicit messaging.
Implicit messaging is used for application-specific, time-critical data, typically in real-time control applications where fast transmission speed and low latency are paramount. (Latency is the amount of time between an event and the system’s response to the event.) Implicit messaging is sometimes referred to as “I/O messaging” because it’s often used in remote I/O applications, but there are other functions that require implicit messaging as well, such as scheduled communications between controllers.
EtherNet/IP device terminology
The ODVA — the organization responsible for CIP and its implementations, including EtherNet/IP — classifies EtherNet/IP devices as follows:
For explicit messaging, devices that initiate communications are referred to as “clients,” and devices that respond to those communications are referred to as “servers.”
For implicit messaging, devices that initiate communications are referred to as “scanners,” and devices that respond to those communications are referred to as “adapters.”
However, in some cases, the terms for implicit and explicit devices are used interchangeably. And although outside the scope of ODVA classifications, some people refer to devices that initiate communications as “masters” and devices that respond to those communications as “slaves.”