PCs: Cost-effective, high-performance motion control platforms
The title is correct, but isn't referring to the basic Windows-based PC that we all know. Instead, a virtualized environment with real-time deterministic capability can turn a PC into a motion control platform.
PCs were initially incorporated into industrial systems as the preferred platforms for Human Machine Interfaces (HMIs). With the advent of high-bandwidth fieldbus communications and faster processors, PCs have begun to take on a larger controlling role.
Because of fundamental limitations in the typical PC operating software environments, however, Windows-based PCs haven’t been able to provide complete control for high-performance motion systems without additional hardware help. Industrial system designers have typically relied on multiplatform implementations (see Figure 1) for applications requiring high-performance motion control, with a PC playing the HMI and general-purpose processing role and special motion controllers or motor control add-in boards interfacing to the motion transducers and actuators. Other discrete processing systems are typically required to support high-speed machine image processing systems.
Windows is excellent as an OS for human-directed functions, but no matter how fast the underlying processor is, there’s no way to guarantee that the Windows OS will service I/O interfaces in time to provide the determinism required for supporting precise, high-speed motion control. Furthermore, the multiplatform approach presents major downsides, including higher manufacturing and life-cycle costs and longer development cycles compared to single-platform systems.
New software simplifies motion system design
The technology landscape is changing to the benefit of industrial system developers. As PC hardware and software architectures have evolved, support for controlling sophisticated motion with PC processors has become a reality.
Motion control software suites such as Danaher’s Kollmorgen Automation Suite (KMS), an integrated set of PC-hosted software tools and hardware components, are helping machine designers accelerate system development and create high-performance machines. The KMS suite includes two different graphical motion programming platforms: the pipe network programming paradigm, which allows designers to place motion system components on the computer screen in a graphical model of a multi-axis system to be controlled, and programming via industry-standard motion control function blocks from the PLCopen specification. Programs written using either development paradigm are converted automatically to real-time executable code for the PC by the Kollmorgen software.
PC software is also evolving to simulate motion systems as a means of optimizing machines’ functionality. By performing simulations, system developers can experiment with different control strategies and tune motion system functionality before system hardware components are selected. This can save costs and cut development time by enabling developers to purchase optimal components for the application at the right time. Performing off-line simulations can also ensure operator safety by not involving the real hardware until the right control strategy is resolved. Sophisticated PC-based simulation tools such as QuaRC from Quanser, Inc. of Markham, Ontario, are gaining in popularity. By developing with QuaRC, machine designers can go directly from models developed using Simulink by MathWorks to implementations using real hardware in a single step without reprogramming.
As an example of using simulation to generate motion control programs, consider the following scenario. An automotive alternator supplier wants a test environment that can be used with a wide variety of car engines. The car manufacturer provides information on how different engines operate. Using simulation data and mathematical modeling, the alternator manufacturer implements the motion controls for an alternator test stand that can certify the compatibility and validate the lifetime operability specs of its products with different engine types. Because the engines are being simulated, the alternator manufacturer can push the control envelope and accelerate the lifetime wear cycle to ensure that its products will meet the necessary specifications under all environmental conditions.
Multicore processors reduce costs
As motion control application development software for the PC is improving, so is the performance of the PC hardware platform. One of the biggest advancements in enabling complex motion systems to be constructed on a PC is the advent of multicore processors.
Using the latest multicore processors enables designers to reduce motion system costs without sacrificing performance by hosting real-time-critical motion control algorithms on separate cores of a multicore processor while HMI software and non-time-critical control functions are hosted on other cores. Figure 2 shows how the functions of multiple discrete systems depicted in Figure 1 can be integrated into a multicore processor system.
Embedded virtualization makes it all work
A Real-Time Operating System (RTOS) environment works with the motion software and Windows OS to support the determinism requirements of tomorrow’s motion systems. To handle multiple operating environments at the same time, the system must support virtualization, but not the type of virtualization often used in office and server environments. General-purpose virtualization approaches, such as those that enable servers to run multiple copies of the same human-directed OS, frequently virtualize the entire machine environment with the goal of maximizing CPU utilization. Unfortunately, this usually comes at the expense of responsiveness to external events.
In contrast, an embedded Virtual Machine Manager (VMM) implementation can maximize the predictability of how applications respond to hardware events. The VMM accomplishes this by isolating hardware between virtual environments to avoid hindering the system’s ability to respond quickly to real-time events.
With the ability to run multiple OSs simultaneously on the same multicore processor comes the additional flexibility of mixing legacy software environments with new environments. Older, time-critical software can run without modification on its own core while new applications run on their own cores.
One software product that supports embedded RTOS as well as Windows virtualization is INtime from TenAsys. As shown in Figure 2, multiple OSs can be hosted on separate cores to maintain real-time determinism. INtime partitions the multicore processor’s interrupts and I/O interfaces to ensure that real-time tasks (such as the software that implements motion control loop algorithms) have direct access to the hardware they depend on (for example, motion and position transducers in a robotic system), while enabling Windows to control nondeterministic tasks.
With the right software and multicore processor hardware, the PC platform can deliver maximum performance at lower system cost than would be encountered if the motion system were constructed as a discrete add-on to the PC.
Kim Hartman is VP of sales and marketing at TenAsys (Beaverton, Oregon), serving the embedded market with hardware analysis tools and RTOS products for 25 years. Kim was recently a featured speaker for Intel and Microsoft on the topic of embedded virtualization. He is a Computer Engineering graduate of the University of Illinois, Urbana-Champaign and degreed MBA professional of Northern Illinois University.