Adapting control architectures for smarter machines
Cover story: Embedded systems help create smart machines, providing flexibility, increasingly autonomous operations, diagnostics, and adaptive improvements to add productivity. Algorithms and tools that were used for high-end research a few years ago are now breaking into the industrial market.
The rise and proliferation of smart machines is evident. These systems perform repetitive tasks at soaring speeds and high accuracy and can adapt to changing conditions and operate more autonomously than ever. Like generations of technologies before, smart machines will impact almost every domain of life. They will alter how we produce goods, how doctors perform surgeries, how logistics companies organize storage, and even how future generations receive education.
Debates around the subject range from the fear of losing low- and middle-skilled jobs to the hope of sparking the resurgence of manufacturing in high-pay countries. While research institutes, economists, and the media debate the impact of machines infused with information technology (IT), engineers and scientists are tasked with providing manufacturing systems that are dramatically more flexible and versatile. These systems must help the manufacturing industry satisfy the need for product variety and deal with the ever-decreasing lifecycles of consumer goods.
Smart machines characteristics
Two sides drive innovation in manufacturing equipment: One is individuality and complexity of produced goods, and the other is the ever-increasing demand for productivity and quality. Smart machines are characterized by five characteristics:
1. Flexibility: Machine and device builders no longer design single-purpose machines. They create flexible multipurpose machines that address today's manufacturing needs such as smaller lot sizes, customer-specific variations of products, and the trend toward highly integrated products that combine different functionality in one device.
2. Autonomous operations: Modern machines can operate more autonomously than ever before.
3. Diagnostics: Smart machines can also prevent, as well as correct, processing errors caused by disturbances like changing conditions in the raw material, the drift of the thermal working point, or the wear and tear of mechanical components. With an extensive network of sensors, smart machines hold information about the process, the machine condition, and their environment. This improves uptime and increases the level of quality.
4. Adaptive improvements: Machine systems can improve their performance over time and learn through mining data, leveraging simulation models, or applying application-specific learning algorithms.
5. Communications: Machines exchange information with other automation systems and provide status information to a higher level control system. This allows for intelligent factories and automation lines that can adjust to changing conditions, balance the workload between machines, and inform service personnel before a machine fails.
Design approach, challenges
Modern machine control systems take advantage of data and information about the environment, processes, and machine parameters to adapt to changing conditions, perform tasks that are not purely repetitive, or increase efficiency and performance. Sensors and measurement technology play an increasingly important role because they give machine builders the ability to create systems that are aware of their environment, perform real-time process monitoring, ensure the health of critical mechanical components, and use this information for adaptive control. This requires control systems that can integrate sensor data, gather information in real time, and use information from multiple sensors in parallel with running high-speed control loops. High-performance embedded systems with industrial-grade ruggedness provide direct sensor connectivity through modular input/output (I/O) devices. Today leading machine builders adapt heterogeneous computing architectures that combine a real-time processor and programmable hardware to solve the most demanding applications.
To address today's manufacturing needs, machine builders must design highly modular systems that extend to satisfy customer-specific requests or adapt on-site for different manufacturing processes and product variations—sometimes even without the need of operator interaction. Although a modular approach helps original equipment manufacturers (OEMs) develop reusable components that they can use across their machine offerings and simplifies the integration of off-the-shelf subcomponents, it significantly changes the way OEMs complete system design. The mechanical system's modularity needs to be reflected in the control system architecture. Rather than use a traditional monolithic system, modern machines are based on a network of control systems. A seamless communication infrastructure is required that can handle the time-critical data, lower priority data, as well as status information and communication with a supervisory system.
Smart machine differentiation
Leading machine builders differentiate their smart machines through features that require the adoption of key technologies such as the following:
- The combination of multiple control systems and heterogeneous computing architectures
- A hardware and software platform that provides signal analysis tools, high-speed control loops, and algorithms; simulation and modeling tools; and networking and communication capabilities
- A software-centric design approach that helps deal with the increased complexity of these systems.
Smart machine technologies
Modern machines use decentralized cooperative control, a modular approach. They contain a network of intelligent subsystems that jointly perform all the automation tasks within the machine and communicate with higher level control systems on the plant level, making intelligent factories possible. To enable systems that are adaptable and extendable, the control system architecture needs to reflect this modularity as well. Protocols for industrial communication are required to interconnect subsystems and maintain timing and synchronization.
A shift toward a software-centric design approach and programming tools that provide the ability to use one design tool to implement different automation tasks allows customers to reflect the modularity of the mechanical system in their control software.
While simple systems might get away with the classical concept of one central controller connected to decentralized I/O, modern machines implement a control architecture with a hierarchical structure where higher level control systems are connected to slave controllers that perform clearly defined and contained automation operations.
Traditional programmable logic controllers (PLCs) still play an important role in this setup, especially for the implementation of logic or safety functions, but modern machine control systems incorporate embedded control and monitoring systems to implement advanced control, machine vision, and motion control capabilities or machine condition monitoring. Besides connectivity to a main controller, the intelligent subsystems usually can also interact with systems on the same level to trigger and synchronize tasks to enable applications like high-performance, vision-guided motion or position-based triggering and data acquisition.
One of the biggest challenges for machine builders today is the adoption of embedded technology. In the face of tight time-to-market requirements and fierce competition, the time and resources are limited in order to justify the development of custom embedded hardware. Often times, there are no embedded engineers on staff, leaving them with the option of outsourcing these efforts.
With add-on modules for motion control, machine vision, and control design and simulation, features for machine prognostics and condition monitoring, and extensive support for I/O hardware and communication protocols, machine builders have the ability to consolidate their development tool chain and further streamline the design process. Hardware selection for machine control systems can be a daunting task. System engineering departments often need to trade the ease of use and low risk of black box solutions with the performance and price benefits of a custom embedded system, allowing them to build in differentiated features that can make all the difference between their machine's success or failure in the marketplace. Because custom solutions usually drive these design teams out of their comfort zone, they often tend toward traditional solutions knowing full well that this might limit their capability to add the differentiating smarts to their machines.
Heterogeneous computing architecture
As machine control applications grow in complexity, hardware architectures and embedded system design tools must evolve to address increasingly demanding requirements as well as minimize design time. Historically, many embedded systems have featured one CPU, so system designers have relied on CPU clock speed improvements, the shift to multicore computing, and other innovations to achieve the processing throughput required by complex applications. However, more and more system designers are migrating to computing architectures that feature multiple distinct processing elements to provide a more optimal balance between throughput, latency, flexibility, cost, and other factors. Heterogeneous computing architectures provide all of these advantages and enable the implementation of high-performance embedded systems for advanced machine applications.
To illustrate some of the benefits that heterogeneous computing architectures can provide, consider an architecture composed of a CPU, a field programmable gate array (FPGA), and I/O. FPGAs are ideally suited to handle parallel computations such as parallel control loops, signal processing operations on a large number of data channels, and the execution of independent automation tasks within one system. Additionally, because FPGAs implement computations directly in hardware, they provide a low-latency path for tasks like custom triggering and high-speed, closed-loop control. And, incorporating FPGAs into computing architectures also improves the flexibility of embedded systems, making them easier to upgrade than systems with fixed logic and enables them to adapt to changing I/O requirements. Coupling a CPU and an FPGA in the same heterogeneous architecture means that system designers do not need to choose between these FPGA advantages and the corresponding strengths of a CPU. Additionally, a heterogeneous architecture can be more optimal than attempting to adapt a single-element solution to a problem for which the element is not well suited. For example, one FPGA might handle a parallel task requiring low latency equally as well as a large number of CPUs.
Although embedded system designs that feature multiple processing elements have many advantages, they raise some challenges when it comes to software development. The specialized architectures of individual processing elements and the fragmented set of tools and expertise required to program them means they often require large design teams. For example, FPGA programming commonly requires knowledge of VHDL programming—a skill that can require a significant training investment, larger staff, or costly outsourcing. [VHSIC is a very high-speed integrated circuit. VHDL is VHSIC hardware description language, defined in IEEE 1076.]
Developing the software stack to support a heterogeneous architecture is a considerable undertaking that involves driver integration, board support, middleware for inter-element communication, I/O interface logic, and more. System designers can address these challenges with an integrated hardware and software platform composed of a standard heterogeneous architecture, interchangeable I/O, and high-level system design software. Building on knowledge of the underlying hardware, high-level design tools abstract both the system architecture and I/O during the development process, improving productivity and reducing the need for system designers to manage low-level implementation details.
When developing embedded systems based on heterogeneous architectures, system designers can use high-level system design tools that can abstract the architectures of individual computing elements, such as FPGAs, and provide a unified programming model that can help designers take advantage of the capabilities of different elements. Furthermore, abstraction in high-level design software aids in the concise description of functional behavior and facilitates code reuse despite changes in hardware or communication interfaces.
The landscape for machine designers has changed. Demands to reduce the design cycle and design more complex machines with increased functionality have profoundly changed the design approach. Design tools can now offer an unprecedented level of flexibility and speed. Algorithms and tools that were available only for high-end research a few years ago are now breaking into the industrial market along with the increased capabilities to cycle in the design between hardware and software.
- Christian Fritz is principal product manager, NI. Edited by Mark T. Hoske, content manager, CFE Media, Control Engineering, firstname.lastname@example.org.
- Embedded systems are creating smarter machines.
- Smart machines are flexible, autonomous, self-diagnosing, and adaptive.
- Intelligent system design requires smarter design tools.
To design smarter machines, do you need smart design tools?
See related articles below.