Better ways for reliable, deterministic data distribution in industrial systems
After the 1980s network-centric era, the application-centric era that started in the mid-1990s has proven of great value in taming the ever-increasing complexity of the industrial automation landscape. Today, much effort has been focused on reducing the total cost of ownership, reliability, effectiveness, and interoperability of industrial systems, as the industry continues to move from hardware-based to more software-based devices.
Software is becoming pervasive in every aspect of our lives, and the industrial automation landscape is no exception to this evolution. The greater flexibility, adaptability, and future-proof solution that software provides come at a cost, no doubt. Yet if properly engineered and maintained, the overall cost of evolving a software solution remains in most cases cheaper than upgrading an extensive park of hardware kits with the associated underlying networking infrastructure. Relying on standard Ethernet networking infrastructure (10, 100 Mbps or 1 Gbps speed on copper, fiber, fiber ring, or wireless) is also a good way to reduce capital expenditure.
A missing piece in the software jigsaw puzzle is the tedious requirement to get applications to talk to one another. Various middleware solutions that glue systems together came and went. At a high level, service-orientated architecture, which is more of an architecture style than a middleware solution, is here to stay. Likewise, at the level where the rubber meets the road - in other words, where demanding industrial applications meet the network - several solutions are starting to emerge as viable middleware stacks ensure that information is shared and being made available between publishers and subscribers in a real-time, deterministic matter.
With a proven track record over the last decade in life- and mission-critical aerospace and defense systems, the DDS open software standard has demonstrated its potential to significantly improve the industrial automation field for systems that require distribution latency in the 100 micro second range with very low jitter, typically in the 5-10 micro second range.
In industrial automation systems, sending data in real time is generally easy. Conceptually, one can use brute force to do so, especially if there are no real-life resource constraints to take into consideration. However, the way protocols such as CAN or Fieldbus practically worked around constraints was to reduce the amount of useful information sent around or reduce flexibility to deal with that information at the sender/receiver ends. In most cases, both amount and flexibility were restricted.
With the onus put on software and more intelligence embedded in software applications, the quantity and complexity of information and data managed in industrial systems makes dedicated network protocols a hindering factor in reaping the real rewards of software.
At the same time, getting data in real time all the time, even during heavy bursts of activities and with only one resource (network bandwidth) at hand requires the DDS communication software infrastructure to do some heavy lifting.
Solving the real-time problem
High-performance DDS implementations achieve this through a comprehensive set of Quality of Service (QoS) policies and mechanisms controlling resource and information properties: data availability between producers and consumers while in the bus, data delivery, data timeliness, and resource control. Having these capabilities and the means to control data distribution behavior not only releases the burden on the developer, but also avoids any interference between the applications and actual communication layer.
From an application point of view, DDS becomes an extension of the application, reaping the benefit of a predictable information distribution service between data publishers and subscribers. A rich set of basic QoS parameters allows several different aspects of data availability, delivery, and timeliness to be configured. These are used to control and optimize networks, computing resources, and costs. The complexity of making it happen ìhiddenî in the middleware layer (shown in Figure 1) frees up the application to do what it's best at: solving the industrial automation problem for which it was designed.
Within the middleware, a Publisher (respectively, Subscriber) acts on behalf of a DataWriter (respectively, DataReader) it owns, and is responsible for managing the actual data dissemination (respectively, reception). Dissemination and reception are driven by the QoS associated with the DataWriter/Reader, the Publisher/Subscriber, and the data's Topic. A DataWriter/Reader is associated with only one Publisher/Subscriber and one Topic. It embeds the knowledge of dealing with the Topic's Data Type.
Inherent to PrismTech's DDS implementation, OpenSplice DDS architecture (see Figure 2) uses network channels to handle priority bands, network partitions for multicast groups, and traffic shaping to manage activity bursts and deliver the expected throughput. OpenSplice DDS' preemptive network scheduler ensures determinism and safety of the overall distributed system by arbitrating the best resource utilization.
This combination of the network scheduler and QoS parameters is really where the heavy lifting is done; the application can provide real-time, predictable behavior on top of a non-real-time transport while removing virtually all constraints on data complexity and quantity found in CAN or Fieldbus.
At the higher level
Playing at a higher level than EtherNet/IP and Common Industrial Protocol (CIP) services, DDS' publish/subscribe model involving data producers, consumers, and a strong object orientation tool complements these emerging technologies by adding the functionality and flexibility modern software-driven industrial systems require. It empowers the application with fewer constraints and greater flexibility and doesn't compromise on its main value: getting the right data to the right place at the right time, all the time.
Laurent Seraphin is senior director of products for PrismTech in Burlington, Massachusetts, where he is responsible for the company's OpenFusion (CORBA) and OpenSplice DDS product lines. Laurent has more than 15 years of experience in the IT industry, with particular expertise in middleware, integration, and development tools. He has hands-on software architecture and development experience and has developed business and mission-critical products used in a variety of industries, including telecommunications, defense and aerospace, and finance. Laurent earned a 'Diplome d'Ingenieur' MSc in Software from ESSI, Sophia Antipolis, France.