Automation solutions developers for today’s machine suppliers and processing facilities feel the persistent tug from at least two factions.
One group consists of end users who must operate the production systems for years or decades, and are focused on obtaining functional, reliable and maintainable equipment designs. Another is made up of operations personnel charged with optimizing throughput, minimizing energy usage and maximizing uptime — they need the same things as the first group, but with added capabilities for industrial internet of things (IIoT), visualization and analytics so they can extract maximum performance from their equipment and production assets.
Achieving basic automation functionality often relies on time-proven solutions, while newer innovations usually call for more advanced technologies. But just because these “basic” and “advanced” objectives may differ does not mean they need to pull a design approach in opposite directions. Indeed, by carefully architecting automation systems, it is possible to align these requirements by providing a system integrating fundamental functionality with innovative extensibility.
Innovations in commercial software development tools, practices and computing technologies are prompting the industrial software space to change in similar ways, although the industrial market consistently lags the commercial market. Industrial users of software systems are calling for straightforward ways to accelerate access to, and take advantage of, commercial progress.
Seamlessly blending leading-edge technologies into traditional industrial-grade automation is best achieved when based on a platform and supplier that has implemented this concept into a comprehensive range of products, while maintaining a focus on industrial end user needs. The right hardware must be available to run a spectrum of software, which in turn provides the necessary flexibility.
Unifying conventional and advanced software
Much of the current buzz throughout industrial automation circles involves “higher level” possibilities for IIoT and analytics, as opposed to conventional aspects of basic control. These higher-level concepts depend on easy networking for seamless remote connectivity, scalable computing and advanced analytics. Each of these items is becoming a necessity for operations everywhere to improve efficiency and performance, but comparatively basic automation — from a monitoring and control perspective — must first be in place to enable higher-level ambitions.
Until relatively recently, developers often used traditional automation environments to create industrial controls somewhat from scratch. Certainly, users gained sophistication and developed their own best practices, copying/pasting and improving as they moved forward. To improve development efficiency and take advantage of more modern programming techniques, however, industrial automation implementers need better options.
For example, today’s proficient automation developers have come to prefer development environments well-supplied with proven and useful function blocks and libraries. By leaning on these building blocks, they minimize custom code development, speeding implementations and improving usability. Automation developers, however, need right-sized library functionality. If too simplistic, libraries will require heavy customization to be useful. Too complex, and libraries become difficult to understand and burdensome consumers of computing resources.
A second notable progression — especially as greater application capability becomes essential — is the convergence of higher-level modules into the edge environment. If developers are reluctant to code the basics from scratch, they are even less likely to attempt the task of creating complex analytical programming starting with a clean sheet. Fortunately, there are many good open-source and commercial machine learning and artificial intelligence (AI) toolsets available that can radically speed the development of analytics.
Related to both these trends is the fact that typical industrial system automation development is performed using ladder logic or other IEC 61131 languages, executing real-time control in programmable logic controllers (PLCs) or programmable automation controllers (PACs). Both the languages and the hardware are optimized for field device monitoring and control, but they are usually insufficient for higher-level tasks. More advanced programming has traditionally required integration with separate PC-based systems using modern languages like C, C++, Python and others, adding to overall solution complexity.
Merging the worlds of conventional and advanced software and hardware has not been easy using legacy automation devices and architectures, but many modern advancements make it viable.
Seeking a flexible architecture
A classic industrial automation architecture uses controllers in the field, supervised and visualized by computers in the control room, and perhaps supported by analytics in the engineering office. However, for modern industrial automation, this relatively rigid old hierarchy has been shifting in favor of a new era of flexibility, driven by an overlap of computing and connectivity advancements.
While not a perfect analogy, a modern consumer smartphone provides insights into a more flexible architectural approach. Smartphones consist of capable hardware coupled with an accommodating software stack. A user can pull a smartphone out of the box and quickly set up basic voice and text communications, and access fundamental apps like a calculator. They can use a standard browser to access remote website information, and with a few easy steps they can add more mission-specific apps to meet more exacting needs. Better smartphones work faster and can do more, but basic versions are also available. The hardware and software are thus architected to span a range of needs.
From an industrial automation perspective, PLCs and industrial PCs have been joined by edge controllers, with the best-of-breed providing a flexible architecture, like a smartphone. An edge controller performs deterministic real-time control just like a PLC, but also incorporates a general-purpose computing portion, which operates like a PC and can run apps. And for even higher-level or geographically distributed tasks, cloud computing is becoming a convenient option. Therefore, a coordinated range of computing platforms is available.
This range of hardware, however, is only as flexible as the software supporting it (Figure 3). The development environment and software architecture need to support real-time programming languages, each deployable to multiple controller sizes. Users want to create and test code one time, and then deploy it at will — without rework or re-validation — to the PLC or edge controller sized for the job. Developers need platforms supplied with useful software library objects, along with ready-made blocks for common field devices, like intelligent variable frequency drives and smart solenoid systems.
Users with sophisticated needs may want the ability to create and deploy custom applications on industrial hardware, and the development environment should provide this capability. But most users prefer to access advanced capabilities in the form of robust application solutions designed to meet common needs and configured using low-code interfaces. Low-code concepts enable a wider range of personnel to configure systems, typically via drag-and-drop interfaces, as opposed to traditional hard-coding which requires more specialized training. For example, a machinery OEM may want software modules for determining overall equipment effectiveness (OEE) and energy consumption (electrical and pneumatic) using out-of-the-box modules.
More options do come with new tradeoffs, requiring changes in how developers think regarding control platforms and architectures. It is important that developers proceed cautiously with regards to software libraries represented as “everything for everyone,” and automation development environments represented as “low-code.” Complex, all-inclusive libraries can be expensive and time-consuming to configure properly. They can also consume excessive computing and memory resources, making them far more brittle than they appear on the surface. Many emerging, low-code platforms are merely window dressing around existing, low-level automation software, with little in the way of reducing complexity or easing implementation. Solutions must be evaluated carefully to determine if they actually address challenges without creating more in the process.
Designing for today and the future
Regardless of whether a specific application requires basic or advanced functionality, or something in between, most designers would like to incorporate a degree of futureproofing into their automation systems. This approach provides longer lifecycles, and it provides a path to expand functionality, without the need to rip-and-replace existing systems.
Commercial computing and connectivity advancements hold great promise for industrial users, but mixing and matching hardware and software elements is a risky way to accomplish industrial-grade digital transformation. The most trustworthy and scalable approach is instead automating with a proven family of PLCs, edge controllers and industrial PCs, all incorporated within a consistent control and IIoT software ecosystem. Benefits are amplified when the platform includes point-specific solutions and applications or plugins supporting advanced but increasingly commonplace needs, like lean manufacturing and energy monitoring.
Darrell Halterman is director of PACSystems controls products at Emerson’s machine automation solutions business, and he is also responsible for the portfolio’s control solutions modernization strategy. He enjoys working with customers to find the right modernization strategy to enhance their existing control solutions with the latest advancements in automation.