WHAT ARE REAL-TIME COMMUNICATIONS?
The words “real-time” may be among the most misused words in the history of industrial automation. In other contexts, real-time means experiencing something live such as the video from the parking lot camera. Real-time in these applications is synonymous with “live communications” and applications like Skype, Slack, and Zoom. On the plant floor, “real-time” is what’s necessary for two systems to communicate appropriately for the application. In a tank level application, that can be tens of seconds. When evaluating a grain of rice in a quality control application, it can be much less than a millisecond.
On the factory floor, there are three distinct types of control system application layer messaging connections: open system communications, soft real-time communications, and hard real-time communications.
Open System Communications Connections
An open system connection is a type of computer communication interaction that is a “best-effort” connection. An open system connection doesn’t concern itself with precise communication performance. Emphasis is on best efforts performance in achieving a reliable communication interaction.
Modbus TCP messages, PROFINET IO acrylic messages, and EtherNet/IP explicit messaging are good examples of an open system connection-oriented application protocol. It utilizes a connection-oriented transport protocol, the Transmission Control Protocol (TCP), to provide the properties of an open system connection. EtherNet/IP explicit messages are guaranteed to arrive and guaranteed to be delivered in the order that they were sent, or the connection is explicitly terminated with both the sender and receiver being notified of a communication failure.
There is no explicit requirement or promise as to the delivery of application messages for EtherNet/IP explicit messages. For applications like EtherNet/IP that occasionally send connection-oriented traffic, delays can be measured in multiples of the typical message delivery time (some number of milliseconds). It takes some number of message delivery times to know something is amiss, for the missing message to be resent and for the message to be received.
When the application’s cyclic data update rate is measured in multiple seconds as it is with EtherNet/IP explicit messages, a corrupt data recovery behavior measured in tens of milliseconds hardly matters.
A soft real-time system connection is a type of computer communication interaction in which there are specific message delivery requirements but where some amount of missed delivery is tolerable. Rapid and efficient communication of continuously updated data is the goal of soft real-time systems.
In open system connections, procedures are in place to manage missed deliveries. In soft real-time connections, missed deliveries are tolerated by continuing the stream of data and assuming the missed delivery data is now obsolete.
EtherNet/IP implicit messages are an example of a soft real-time system. EtherNet/IP implicit messages use the connectionless User Datagram Protocol (UDP) transport layer protocol to send inputs from an end device to an EtherNet/IP scanner (typically a programmable controller) and to send outputs from an EtherNet/IP scanner to an end device (drive, valve…etc.) Each implicit message is a series of data bytes whose context is known to both the sender and the receiver.
The soft real-time, EtherNet/IP implicit message connection sacrifices the open system connection guarantee of in-sequence data delivery to provide more timely data delivery. Control system data passed over a cyclic, soft real-time connection tolerates dropped or missing messages as the next received message contain more up to date data than any previous message. And unlike an open system connection, the receiving entity of a soft real-time connection is not required to re-send what would now be obsolete data.
A hard real-time connection is a type of computer communication interaction requiring precise, uninterruptable timing. Hard real-time connections are found in our automobile safety systems, pacemakers, and airplane flight controls.
EtherNet/IP is not often used in systems requiring these types of connections, but it can be extended using the CIP Sync and CIP Motion extensions. CIP Sync uses the IEEE 1588 standard, known as the Precision Time Protocol (PTP), to very precisely synchronize clocks in devices across the network. CIP Sync automatically corrects for infrastructure delays and network latencies. With CIP Sync and PTP, clocks in distributed devices are synchronized to an accuracy of hundreds of nanoseconds.
The words “real-time” are difficult to understand as they can mean different things in different applications. In this article we’ve looked at four applications of real-time: real-time as in experiencing some live event, real-time in most open system contexts, real-time in the context of EtherNet/IP, and hard real-time – systems requiring precise timing.