The quest to bring lockstep efficiency to labor intensive factory production at first relied on mechanical ingenuity. Over time, as reliable and cost-effective microprocessor technology became available, assembly lines were retooled to use the new electronics to achieve greater automation and productivity. Today, pervasive network technology, including the Internet, is bringing about another evolutionary change in industrial automation. No longer is it sufficient for individual machines to perform their specific tasks independently. Instead, individual parts of a larger process must be aware of each other; they must exchange data in realtime, and adapt to changes in the process or environment. Additionally, it is increasingly necessary to exchange data outside of the traditional industrial network and beyond the factory floor, and to include enterprise LANs and the Internet. Up-to-the-minute information on manufacturing processes needs to be available to analysts, inventory managers, and others within the office environment.

Figure 1. Example of a real-time publish-subscribe system

To achieve this, individual machines need more than the intelligence to drive a particular part of the process; they need instant access to data across the network. This means distributing data, often in real-time, across dozens, hundreds, or even thousands of nodes on a broad network encompassing controllers, sensors, factory-floor computers, desktop PCs and servers.

The key to real-time data distribution is the publish-subscribe approach. Simply put, a data source, such as a programmable logic controller, can publish data to a listener. Other devices, such as an embedded computer-based device, a PC, or an Internet server, can then subscribe to that data source and obtain the data as soon as it is available. The publish-subscribe model can be made to perform in real-time by optimizing the availability and transport of data, so that it can be analyzed and acted upon at almost the same moment in time. This model is illustrated in Figure 1.

In the past, industrial automation applications were not always able to take advantage of real-time publish-subscribe architectures; however, advances in data networking technology are changing this. Manufacturing applications typically have not supported real-time data exchange, except for specific point-to-point data transfers. In many cases, data has been used for record-keeping, rather than to provide real-time analysis and feedback to multiple devices on an industrial network.

Real-time publish-subscribe, however, has significant advantages for industrial networks that seek to optimize process execution. It includes both the communications and data models, so that there is no requirement for separate steps to establish the communications link and then transfer data. The link is established once, when a node subscribes to a data source. Data transfer becomes an inherent part of the link.

Figure 2. Illustration of a system designed to extend real-time data distribution beyond the factory floor.

This also means that nodes can be added and removed without affecting the system as a whole. In processes that have a number of different control and processing points, units may be switched in and out, replaced, or upgraded on a regular basis, without disrupting the publish-subscribe network. If units were no longer available, they simply would not receive data. When new units are added, they are initially set up to publish data they generate, and subscribe to data they need. No other enhancements are required to go online.

Further, the publish-subscribe architecture is highly scalable. With a peer-to-peer implementation, there is no single server or other bottleneck in the system. Because data transfers are normally small and network overhead minimal, there are also few network collisions to bring down performance. Unlike other possible data-sharing models, publish-subscribe networks can grow quite large with little or no degradation in their real-time characteristics.

Publish-subscribe is typically a middleware service, rather than an operating system or network one. This has significant advantages in process control applications, where there are almost always combinations of commercial real-time operating systems, desktop and server operating systems, proprietary systems, and even specialized custom control code. Publish-subscribe is not dependent on services specific to a single underlying platform, and so can be implemented across different devices, even using different processor families and operating systems.

The Object Management Group (OMG) Data Distribution Service for Real-Time Systems (DDS) provides a standard for real-time publish-subscribe. DDS is designed for predictable distribution of data with minimal overhead for real-time applications. It specifies the available resources and provides policies that allow the middleware to align the resources to critical requirements. Since it is a documented standard, it is possible to intermix devices from different vendors, using different platforms and software. The DDS standard also includes control of Quality of Service (QoS) parameters, ensuring defined levels of reliability, bandwidth control, delivery deadlines, and resource limits. The parameters can be tuned to a specific application, process, set of devices, or data transfer requirements.


Because of these advantages in communication and real-time data transfer, it makes sense to use real-time publish-subscribe services in industrial devices of all types, including programmable logic controllers. On the factory floor, it is the programmable logic controller (PLC) that brings intelligence to individual machines. A PLC is a specialized computer that is armored for severe conditions (dust, moisture, heat, cold, etc) and is capable of handling extensive input/output ports. These ports connect the PLC to sensors and actuators. PLCs read limit switches, analog process variables (such as temperature and pressure), and the positions of complex positioning systems. On the actuator side, PLCs operate electric motors, pneumatic or hydraulic cylinders, magnetic relays or solenoids, or analog outputs.

Implementing a real-time publish-subscribe design in industrial devices, however, can be a significant technical challenge, because of memory and processing limitations. Different classes of PLCs and other industrial devices have little processing resources to spare, because they may be simple, single-purpose devices, or have minimum features in order to meet cost targets for manufacturing.

But in support of resource-constrained devices, Real-Time Innovations (RTI), one of the creators of the OMG DDS standard, has implemented a compact DDS service. The entire middleware stack can reside and execute in less than 100 KB of memory. This makes it appropriate for devices with simpler processors and limited memory to run across all points of an industrial process. Despite its small footprint, this implementation has the essential communication and data features required by this class of embedded device, so in practice a device running the resource-constrained version can in most ways be treated just like a device with the full version.

In Pursuit of Standards

The portability of DDS middleware and its conservative use of computing resources makes it feasible to retrofit PLCs with real-time publish-subscribe services. Because DDS makes no distinction between operating systems, users can outfit a factory with DDS services even if control devices are of different manufacture.

Extending DDS outside of the factory, into the business and beyond on the Internet, presents some intriguing possibilities. Factories can become more automated, with real-time analysis, feedback, and control occurring at an offsite location. This could be a boon for low-maintenance facilities, hazardous operations, or plants that are located in areas where it can be difficult to obtain qualified operations staff.

At the very least, factory operations can be made more efficient as data is shared and analyzed across different steps of a complex multistage process. Individual points in the process can automatically adjust based on feedback from other devices, allowing for efficient use of raw materials, and automatically correcting small problems before they become big ones.

Outside of the factory environment, data can be aggregated on servers, analyzed, and made available for business evaluation and decision-making. While it is less likely that this information would be needed in real time, it will be essential in making live business decisions based on aggregated feedback from all of the points that constitute the relevant process (Figure 2).

Last, the foundation of this vision of full real-time data connectivity is standards. Without an agreed upon way of exchanging data that has been codified as a standard, it is not possible to create a true system of process communications. Implementations from multiple control vendors should be able to work together seamlessly. Because of the distributed nature of real-time publish-subscribe, this is more than simply a promise. It is one of the principal design features of DDS.

This article was written by David Barnett, Vice President of Product Management, Real-Time Innovations, Inc. (Sunnyvale, CA). For more information, contact Mr. Barnett at This email address is being protected from spambots. You need JavaScript enabled to view it. or visit here .

Embedded Technology Magazine

This article first appeared in the March, 2009 issue of Embedded Technology Magazine.

Read more articles from this issue here.

Read more articles from the archives here.