Software Virtualization Environment Enhances Control
Industrial control systems can be divided into two categories, those that are designed for general-purpose control functions and are fully programmable by the end user, and those designed for a special purpose, such as controlling a milling machine or an injection molding system.
In the first category, one typically finds PLCs and general-purpose industrial computers. The second category uses dedicated controllers with built-in support for special functions, such as closed-loop motion control. Both systems benefit from multitasking—the ability to perform more than one function at the same time—but dedicated controllers place special requirements on the operating system’s coordination of concurrent tasks.
Where time-critical functions are involved, such as the control and coordination of multiple axes of motion, the operating system must guarantee that time critical signals from motion tracking sensors are not missed by the control application’s critical threads. An operating system like Microsoft Windows cannot provide sufficient response guarantees to host such an application, because it is optimized to provide services to a variety of general-purpose tasks, such as interaction with human operators, network interfaces, database engines, etc.
This general-purpose aim does not bode well for the timing requirements of an industrial control application, which requires a real-time operating system to guarantee the coordination of time-critical functions. But the highly specialized nature of a real-time operating system is also a severe limitation.
A general-purpose operating system like Microsoft Windows has many third-party tools available to shorten the time required to implement operator interface screens, access databases, and communicate with network protocols. In fact, the most popular computing platform for the development of industrial automation software is the PC, and PC-compatible processors running Microsoft Windows have become the de-facto standard human-machine interface (HMI) in use today. There is also a growing base of software-based PLC applications. These software-based PLC applications deliver the control functionality of a PLC and familiar PLC programming models in a Windows environment.
What can a control system developer do when he/she wants to combine real-time and general-purpose operating environments? Run multiple operating systems at the same time on a single hardware platform.
Configurable CNC controller
This is the solution that was selected by Cleveland Motion Controls (CMC) of Cleveland, OH, a subsidiary of ITT Corp. CMC focusing on providing easy to use shape-cutting motion control solutions for oxy-fuel, plasma, laser and water jet cutting machines, and routing, engraving and dispensing equipment. The company’s newest PC-based computer numerical control (CNC) controller is the Burny XL, which incorporates an Intel Mobile processor. The system delivers precise and repeatable real-time control of metal-cutting axes, with an HMI that makes the machine’s operators highly productive. It is designed to be a configurable platform around which CNC machine builders can customize their own products. It operates in harsh environments and comes in two versions: an integrated control platform and HMI panel, and a remote panel version.
Using a unique software virtualization environment supplied by TenAsys Corp. of Beaverton, OR, the Burny XL can simultaneously run Microsoft Windows XP Embedded and the TenAsys INtime real-time operating system (RTOS) on one embedded PC. This gives the Burny XL multitasking capability that enables future jobs to be loaded, stored, and nested by a task manager while a current job is being processed.
Such multitasking gives the Burny XL an advantage over other CNC controllers by shortening the downtime between jobs. In addition to enabling multiple tasks to perform simultaneously, the INtime RTOS supports deterministic real-time responsiveness that guarantees that the CNC’s motion steps are performed on time regardless of the method (oxyfuel, plasma, laser, etc.) the machine is using to make cuts.
When CNC machine builders customize the Burny XL to their own products, they use a built-in software-based PLC and touchscreen interface designed by Cleveland Motion Control. This IEC 61131-compatible Microsoft Windows application can be programmed using ladder logic and can interpret standard “M” and “G” coded CNC programs. The software-based PLC provides target position set points to the real-time motion software, and manages all non-real-time operations directly. A shared memory interface common to the Windows and INtime virtual machines is used to pass information and commands between the software-based PLC and the time-critical motion control software that runs concurrently on the INtime RTOS (see software architecture graphic, above).
Use of shared memory is only one implementation detail of the OS virtualization support provided by the TenAsys INtime environment. INtime also directs hardware interrupt functions of connected I/O devices to ensure that less-time-critical events, such as key presses on the operator touchscreen, do not interrupt real-time tasks such as controlling CMC’s cutting motors. Because of the way that the TenAsys virtualization software is implemented, Windows and Windows-application software run on the system without modification.
Depending on the motion hardware employed by the CNC system, the INtime real-time system hosts one of two motion control loops. It can host a one-millisecond loop for conventional analog drives (where velocity is deduced from position feedback) or a two-millisecond loop that controls SERCOS drives (a high-level digital motion control interface). Auxiliary I/O, such as limit switches and general-purpose I/O points, is also managed by INtime real-time applications.
Using this virtualization approach, both INtime and Windows applications run in protection ring three (user mode) on the Intel architecture processor, rather than running in ring zero (supervisor mode), as do applications in many other real-time operating systems. If a process should fail, it can be safely halted or aborted without stopping the entire system. This provides a high degree of safety to INtime-based systems, and simplifies identifying faulty applications.
Another advantage for CMC to using the INtime RTOS is the fact that real-time applications are developed and debugged directly from within the Microsoft Visual Studio development environment, just as they already do for their Windows applications.
One environment saves time
Using a single development environment, including source code debugger, for real-time and non-real-time portions of the system greatly shortens the time required to port code from an old system to INtime. It also significantly reduces the time required to get both real-time and non real-time portions of a machine working together smoothly.
By having the real-time OS and Windows tightly linked, CMC has a path on which to add new features in future iterations of their CNC products. Currently, the Burny XL uses a single-core Intel processor, but the company is planning to move its system to a multi-core platform. This would add further performance enhancements by taking advantage of TenAsys’ support for running the INtime RTOS and Microsoft Windows on separate processor cores.
|Kim Hartman is vice president of sales and marketing at TenAsys, which has served the embedded market with hardware analysis tools and RTOS products for 25 years. Hartman has recently been a featured speaker for Intel and Microsoft on the topic of embedded virtualization. Cleveland Motion Controls (CMC) offers a broad line of Motion Controllers and automation components, including software-based PLCs.|