CNC Faceoff: PC Platforms with Virtualization
Computer numerical control (CNC) systems based on multi-core processor systems can run applications on real-time operating systems (RTOS) in multiple cores, while maintaining coordination and communication among segments of the application. It offers flexible price/performance options for future CNC machine designs.
The CNC (computer numerical control) machine market is ultra competitive. To offer more value to customers, machine vendors carve out specialty niches and push machines to new heights of productivity per dollar invested. With each generation of machine, CNC vendors can decide which technologies to develop and refine to differentiate their machines from others. Standard PC platforms offer the highest versatility and performance per dollar, and many CNC suppliers design and build machines using PC-based architecture to provide competitive advantages.
User interface appearance, usability, and flexibility are areas of intense competition among proprietary developments. Making machines easier to use has a direct correlation with improving productivity and accomplishing product differentiation in specific applications. For many CNC vendors, human-machine interfaces (HMIs) are implemented using Microsoft Windows operating system. These include:
- Biesse S.p.A. of Pesaro, Italy, for its Rover line of CNC machines used to make components for furniture and cabinetry items (Figure 1)
- Cleveland Motion Controls (CMC) of Cleveland, Ohio, focusing on plasma cutting
- Anca Motion Pty. Ltd. of Bayswater, North Victoria, Australia, addressing applications including laser cutting, water jet cutting, and tool grinding.
All three machine tool original equipment manufacturers (OEMs) augment Microsoft Windows with other software tools.
CNC machines are some of the most complex systems in the manufacturing world. Even the simplest CNC machines may have four motors driving motion axes that must move synchronously, at high speed, with very high precision. Control software orchestrates the motion, making new decisions on how the motion axes must move and establishing a new target position every one or two milliseconds. In addition, some machines incorporate a fieldbus machine network, and because of high precision timing and oversampling requirements of some fieldbus interfaces (such as EtherCAT), the cycle times of control loops that manage these need to be as short as 100 microseconds.
Microsoft Windows is not designed to manage all these control tasks simultaneously and guarantee that they will be processed with predictable timing (determinism), so most high-speed machines run their control loop software on real-time operating systems (RTOS).
Running two operating systems (Microsoft Windows and an RTOS) on the same platform poses technical challenges that has caused some CNC machine vendors to incorporate separate computing platforms, one for real-time control functions and another to manage the HMI. Multiple computers increase complexity and cost, reduce reliability, and add cost to the end customer. The three CNC technology suppliers mentioned run the RTOS and Microsoft Windows on the same platform.
While software technologies that enable multiple operating systems to coincide on the same computing platform have existed for a long time, construction of multi-OS platforms has received a boost with the advent of multi-core processing units.
Anca Motion has had a philosophy of using one CPU for the CNC and the operator interface, but with the introduction of multi-core CPUs, the option to use a lower powered but dual core processor became available. While the new design requires a change in system architecture, company engineers wanted to add functionality and performance without increasing system costs. Choosing an energy efficient, dual-core processor saved cost while consuming less power than other multicore processor chips, generating less heat, which lowers the complexity and cost of cooling the system electronics. That helps Anca Motion customers, who will use the products in warm climates.
Key to combining OS environments is embedded virtualization – the ability of one computer system to partition processing to present separate native processing environments and input/output (I/O) hardware resources for exclusive and directed use to different operating systems that co-reside in the system. With embedded virtualization, each OS thinks that it has full control of the processor. Unlike server virtualization environments, such as VMware, that support multiple OSs but are not designed to handle real-time events, embedded virtualization techniques enable CNC applications to run multiple OSs without sacrificing determinism.
Embedded virtualization enables dual-core processors as used in the Biesse system to support two operating systems by dedicating one CPU core to the RTOS and one to Microsoft Windows (see Figure 4). The CPU instruction cycles of the RTOS core are available 100% for the real-time applications, while the CPU cycles of the remaining core become the exclusive property of a Microsoft Windows virtual machine.
The two processor cores communicate by using the RTOS’s built-in inter-process communication mechanisms implemented via shared memory. This eliminates the need to develop proprietary code for the RTOS and Microsoft Windows applications to pass information to each other. Using this technique, real-time interrupt latencies are reduced by an order of magnitude compared to Microsoft Windows alone, from 10-30 microseconds down to 1-3 microseconds.
Loop cycle times in the 50-200 microsecond range can operate with high precision and accuracy. The result is a significant improvement in the quality and bandwidth of control algorithms that can be deployed on a real-time Microsoft Windows platform.
Use of shared memory is only one implementation detail of the embedded virtualization support provided by the RTOS for Microsoft Windows environment. INtime also directs hardware interrupt functions of I/O devices to ensure that user interface events, such as key presses on the operator touch screen, do not interrupt real-time tasks, such as controlling the CNC machine’s cutting motors.
Anca Motion’s designs also take advantage of RTOS support for standard high-performance network interfaces, such as industrial Ethernet protocol, for connecting to motor drives and I/O modules. Some industrial Ethernet supports deterministic high bandwidth communications (100Mb/sec) and requires RTOS support to ensure that the protocol’s timing requirements are met. Using commodity Ethernet hardware is another factor that helps Anca Motion’s customers keep machine cost under control while improving performance.
Tightly linking real-time and Microsoft Windows environments, CNC technology suppliers have a growth path by which they can add new features in future iterations of CNC products. For example, CMC Controls is considering porting the software-based PLC run-time engine to execute on the RTOS kernel to increase system throughput.
CNC manufacturers that have embraced multicore technology can also look forward to scaling their systems as the number of processor cores provided by chip manufacturers increases in the future. The Anca Motion engineers expect to upgrade their system from dual to quad-core processors to provide new functionality, such as online simulations of cutting or grinding operations.
Users can expand their applications beyond single processor systems and run RTOS applications across several cores, while maintaining coordination and communication between segments of the application via global objects. Doing so will enable future CNC machines to offer an appropriate number of processor cores to match required price and performance needs.
Technology review: RTOS + Microsoft on one PC
- TenAsys’ INtime RTOS has been used to add a real-time operating system (RTOS) to Microsoft Windows systems for more than a decade.
- Anca Motion selected the dual-core Intel Atom processor, saving cost, and energy; the Atom processor consumes less power than other multicore processor chips, generating less heat.
- INtime offers real-time support for standard high-performance network interfaces, such as EtherCAT (an industrial Ethernet protocol) for connecting to motor drives and I/O modules. EtherCAT supports deterministic high bandwidth communications (100Mb/sec) and requires RTOS support to ensure that the protocol’s timing requirements are met.
- TenAsys INtime for Windows RTOS offers a global object networking facility called GOBSnet, which enables running RTOS applications across several cores, while maintaining coordination and communication between segments of the application via global objects.
Kim Hartman is vice president of marketing and sales of TenAsys.