Software CNC combines diverse processing workloads
By combining processing workloads and taking advantage of the standard PC platform architecture and embedded virtualization, CNC software allows operators to create programs consider the status of the controlled machine and real tool size, improve the machining by making small or large changes in trajectory or processing parameters, and immediately check the result.
PC architecture used for computer numerical control (CNC) machines can reduce system costs by combining human interface functionality with deterministic machine control and network interfacing. The hardware independence that comes with hosting the CNC on a standard PC lets customers select the best platform for their needs, and follow the technology as it evolves. Customers are not locked in to a particular hardware vendor, and PC standards ensure that users can get maximum functionality per dollar spent.
Creating a hardware-independent CNC software platform was a goal for ISAC srl in Italy. CNC machines can contain multiple computing platforms: typically one to support the operator, program development interfaces, and process tracking software, and at least one to control the movement and operation of the machining process. Such a design can result when application software supporting two functions is hosted on different operating environments. Many third-party human-machine interface (HMI) and process control software packages rely on outgrowths of technology developed for PCs, while machine control software typically relies on operating systems that are optimized for responding to hardware-driven events in real time. General-purpose operating systems, such as some versions of Microsoft Windows or Linux, are used for human-directed applications but cannot respond reliably to high-speed machine processes such as in high-performance machine tools.
Real-time CNC requirements
"CNC applications are very demanding of real-time response," said Andrea De Nardis, R&D manager of ISAC. Controlling high-speed motion between target points involves completing mathematical interpolations in less than 1 ms, while network interfaces, such as EtherCAT, an Ethernet protocol governed by the EtherCAT Technology Group (ETG), can require scan times as short as 250 µs. Each operation must be managed simultaneously, without missed data, while workload processing continues in the Microsoft Windows environment. De Nardis said some PC-based operating systems may not do that. Even multi-core platforms can fall short during long-term tests. Software without memory paging and with storage and task scheduling limits may lack the required performance characteristics to support computer-aided machining (CAM) applications coupled with powerful HMIs, suggested De Nardis.
Integrating machine control and human-directed functions on the same computing platform requires simultaneous support for each operating environment. The key is a special kind of software virtualization called embedded virtualization. Unlike the type of virtualization that is currently employed in IT server applications, where multiple copies of the same operating system (OS) are run on a server platform, embedded virtualization allows different operating systems, tailored for different types of tasks, to be run on the same platform while preserving the determinism of the real-time OS (see the Figure).
"We rely on embedded virtualization to enable a mix of operating environments to run on a standard PC at the same time, without sacrificing real-time responsiveness," said De Nardis. "Without embedded virtualization, ensuring determinism would only have been possible using a more expensive multi-platform approach with a dedicated real-time control computer."
Universal fieldbus support is important
EtherCAT is used as the main interface fieldbus because it is supported by a large number of input/output (I/O) and servo device suppliers. This interface supports full duplex communication at 100 Mb/s, information exchange without data buffering, and a distributed clock feature that allows synchronization of distant slave devices in the nanosecond range. ISAC adopted the standard with an integrated configurator. In the ISAC system, the I/O and network interfaces run as separate processing workloads in a real-time operating system (RTOS), which ensures that the timing requirements of the interface are met while other tasks are handled.
Running the CNC software on a standard PC-based platform also means that widely used PC-based software packages can be used to develop application software. For example, to shorten and ease the software development process for real-time as well as Microsoft Windows applications, applications for the real-time software used are developed and debugged using Microsoft Visual Studio.
By combining processing workloads and taking advantage of the standard PC platform architecture and embedded virtualization, ISAC software allows operators to create programs that take into consideration the real status of the controlled machine, such as the real tool size, and improve the machining by making small or large changes in trajectory or processing parameters, and immediately checking the result.
- Kim Hartman is vice president of sales and marketing, TenAsys; edited by Eric R. Eissler, editor-in-chief, Oil & Gas Engineering, firstname.lastname@example.org.
- EtherCAT is used as the main interface fieldbus because it is supported by a large number of I/O and servo device suppliers.
- Integrating machine control and human-directed functions on the same computing platform requires simultaneous support for each operating environment.
- CNC applications require real-time responses.
Could an embedded real-time operating system help your high-performance machining applications?
See additional stories about CNC software below.