EtherNet/IP Communications

EtherNet/IP is an application level protocol used by Rockwell ControlLogix and CompactLogix PLCs, and is implemented on top of the Ethernet TCP/IP and UDP/IP layers. It shares its object model with ControlNet and DeviceNet through the common Control and Information Protocol (CIP). This protocol allows the transfer of data and I/O signals over Ethernet.

Implicit vs. Explicit Messages

There are two ways of communicating using EtherNet IP: implicit messages and explicit messages. In-Sight vision systems support explicit or implicit messages from a single I/O client (a PLC device communicating with a host vision system) at any given time.

Implicit Messages Explicit Messages
  • Transmit time-critical application specific I/O data, and can be point-to-point or multicast.
  • Uses the UDP/IP protocol layer.
  • Data is pre-defined at the time of connection, which in turn minimizes the processing time of the node during run-time.
  • The data field contains only real-time data.
  • Short, occupying low-overhead, which allows for the time-critical performance.
  • Receiving measurement data from a tool in a vision inspection is an example of an operation suited to implicit messages.
  • Require a response from the receiving device and is point-to-point.
  • Uses the TCP/IP protocol layer.
  • Messages in which the data field carries both protocol information and instructions for service performance
  • Nodes must interpret each message, execute the requested task and generate responses. These types of messages are typically used to transmit configuration, diagnostic and event data.
  • Better suited for operations that occur less frequently.
  • An instruction to change an In-Sight Explorer job is an example of an operation suited to explicit messages.

In-Sight Object Model and Input/Output Assembly Objects

The In-Sight Object Model and Input/Output Assembly Object layout and configuration is dependent on the In-Sight firmware:

Requested Packet Intervals (RPI)

The Requested Packet Interval (RPI) determines how fast the cyclic data packets are exchanged between controller and I/O module, and are typically entered in milliseconds (ms). Sensors accept RPI values in 1 to 15 ms intervals for the first 15 ms. For RPI values greater than 15, sensors will accept values in 5 ms increments. For values between 16 and 20, data will be exchanged in 20 ms increments. For values between 21 and 25, data will be exchanged in 25 ms increments.

This applies to 4.x and 5.x firmware versions.