Our semiconductor processing machinery is controlled by our proprietary embedded controller with a mature homegrown operating system. We're looking to upgrade, and we're wondering what's the best choice for an industrial strength OS. There are lots of options at various price points, and we're a bit confused about the best way to go. We're used to supporting our own OS, so our level of technical expertise is pretty high. Does anyone have machine control experience with an off-the-shelf OS for embedded control that they'd like to share?
—from February '10 Control Design
Tested and Reliable
Selecting the right off-the-shelf operating system should be based on the technical details of the platform, such as determinism, driver availability, hardware support, performance and footprint, as well as the business impact of the deployed system cost, time to market and future scalability. Several real-time operating systems will be able to do the job; the difference will come in the details of the development tools and the ecosystem surrounding the platform.
Initially, the control system's current requirements and possible future requirements should be clearly defined and compared with the potential RTOS platforms. Many soft real-time operating systems are marketed for use in embedded designs, but fail to provide the hard real-time performance required for critical processes or machine control. The requirements around the level of determinism required should be well understood. Additionally, the level of real-time safe communication mechanisms for inter-process and intra-process communication that are included with the platform should be considered along with the availability of application-specific functions and algorithms necessary to complete the project. While testing and validation is always necessary for a reliable system, vendor or community-provided code bases will save time, rather than spend it to design and implement new reusable functions for communication, analysis and control. Because no application is ever written perfectly the first time, the platform's debugging tools for viewing threads and tasks, identifying priority inversions and resource contentions and tracking down errors should also be evaluated.
Hardware and driver support is another chief concern that affects time to market, the flexibility to scale to the right controller, available I/O and peripherals, and the ability to leverage new technology, such as multi-core processors and FPGAs. The startup time alone typically required to bring up your own board and validate that the RTOS is working correctly can be drastically reduced by selecting an offering that supports commercial-off-the-shelf (COTS) hardware, rather than custom-assembled boards. These savings are on top of the reduced risk and additional time savings gained with vendor-tested, industry-vetted I/O drivers that allow the user to easily expand the system's hardware components and interfaces to the real world when projects experience feature creep. Any system can be expanded; however, some platforms will require register level development to get support for specific I/O.
National Instruments offers real-time software and a wide range of ruggedized modular hardware, designed and tested to work together. NI LabView provides an intuitive graphical programming approach that allows engineers to develop advanced, hard real-time applications, leveraging the latest technology, while reducing time to market and overall system maintenance cost.
LabView Real-Time & Industrial Software
We have embedded controllers running vxWorks, Linux and Windows XP Embedded with various real-time extensions. These were selected to provide a range of real-time performance at different price points, while all have mature, robust development tools. Some key decision points are:
Integration of third-party devices—Most machine controllers use COTS devices for vision, motion and process control, plus other specialized tasks. Suppliers provide an API and/or IDE and tools that typically run on Windows and specific embedded operating systems. Identify the top candidates for each requirement and determine which OS will provide integrated API and tools. This will minimize integration cost and can significantly reduce time to market.
Development tools and programming interface—Obviously, the IDE will need to support your preferred programming language and should include debugging tools to reduce development time. Developers should be focused on improving process, not building and supporting development tools. Consider the third-party APIs and whether you plan to run the HMI directly on the machine controller or via an external panel.
Maturity, reliability and portability of OS—Choose an operating system that supports a broad range of processors and base hardware platforms. Make a decision that considers future advances in CPU technology and provides a clear roadmap to leverage current investment on future designs.
It is not always necessary to purchase a new OS. A complex motion system such as the one that supports your semiconductor machinery can be constructed by combining your existing software with new devices and new application code.
The combination of these elements and the ability to handle multiple operating environments at the same time is possible through technology called virtualization. This is not the type of virtualization often used in office and server environments that can sometimes fail in time-critical applications. Embedded virtualization technology maximizes the predictability of the response of the application code in order to support a multi-OS environment to hardware-generated signals. It does so by isolating hardware between virtual environments so as not to detract from the system's ability to respond quickly.
One example of this virtualization technology is our eVM for Windows embedded virtualization platform. Your existing embedded OS runs in parallel with Windows on a standard PC-compatible platform enabling faster migration from outdated hardware to modern embedded platforms. In addition to preserving your legacy system, the technology provides the deterministic response necessary for time-critical events by partitioning and allocating hardware devices ensuring that time-critical I/O resources aren't virtualized. While the solution sounds complicated, it's sold as an out-of-the-box system with all of the necessary components and integration tools. eVM enables you to combine the old and new worlds, while saving costs and improving reliability at the same time.
Vice President, Sales and Marketing
Here's a COTS Product
In the past, machine builders had to venture outside their core competencies to design custom operating systems because PC operating systems were not designed to be real-time and not stable enough for machine control.
Today, commercial off-the-shelf products for embedded automation controls are available. For example, Simatic WinAC RTX from Siemens is a programmable logic controller designed to run on open platform PC systems. It offers the I/O logic control of a PLC with integration to standard PC platform interfaces and high-level languages. Although it operates on Microsoft Windows embedded platforms, its real-time and deterministic capabilities are met by operating in an Ardence RTX real-time OS extension. This extremely stable solution is perfect for embedded control solutions, even ones that require high-speed or machine-safety capabilities. With its Open Developers Kit, migrating existing high-level programs and intellectual designs is possible, saving time and money by not having to recreate the wheel.
Product Manager, Discrete Automation