EtherNet/IP is an implementation of the Common Industrial Protocol (CIP) on the standard Ethernet. It uses two types of messaging between devices: explicit messaging for purely informational data and implicit messaging for time-critical data transfer.
All four industrial networks (EtherNet/IP, DeviceNet, ControlNet and CompoNet) that use CIP at the application layer support both 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 decoded and responded by the receiving device or node, and each request must contain the source address, destination address and CIP connection ID.
Explicit messages are transmitted via TCP (Transmission Control Protocol), and since each message contains destination, source, and connection information, the efficiency of explicit messaging is lower than implicit messaging, but it provides a high degree of flexibility Sex.
The client (for example, controller or HMI) can send explicit messages at any time, and the server (field device, for example, servo drive) can respond when it is available. Therefore, explicit messaging is only used for information that is not time-critical, such as diagnostics or configuration data.
Implicit messaging for real-time control
When time-critical information needs to be exchanged, EtherNet/IP uses implicit messaging.
In this message format, the control device (such as a PLC) first establishes a connection with an adapter device (such as an actuator) (called a "CIP connection"), and identifies the information to be exchanged in the following cases: the connection is established. ConnectionID was also assigned at that time, and the meaning of the data was implicitly defined by ConnectionID.
The rate of generation and use of implicit messages is defined by a predetermined "trigger" mechanism (called the Requested Packet Interval (RPI)). The mechanism can be cyclic, state change, or application-based.
Implicit messages are transmitted via UDP (User Datagram Protocol), which allows the network to use the production-consumption transmission model, in which one producer sends a message to many consumers. Because each individual message does not need to contain a lot of information about its meaning, implicit messaging has less "overhead" and is more effective than "explicit messaging".
Implicit messaging is used for application-specific, time-critical data, and is usually used for real-time control applications. In these applications, fast transmission speed and low latency are essential.
Implicit messaging is sometimes called "I/O messaging" because it is usually used in remote I/O applications, but there are other functions that require implicit messaging, such as scheduled communication between controllers.
EtherNet / IP device terminology
For explicit messaging, the device that initiates the communication is called the "client", and the device that responds to those communications is called the "server."
For implicit messaging, the device that initiates the communication is called the "scanner", and the device that responds to those communications is called the "adapter."
However, in some cases, the terms implicit and explicit devices can be used interchangeably. Moreover, although it is beyond the scope of the ODVA classification, some people refer to the device that initiates communication as the "master device" and the device that responds to these communications as the "slave device."