Real Time Simplifies and Diversifies

Real--Time Control and Juggling Are All About Being on Time and In the Right Place

Jim MontagueBy Jim Montague, Executive Editor

Jugglers practice so they can learn to throw objects in consistent arcs and then move their hands to predetermined locations to catch those items and send them on their way again. Components and equipment in production lines, machines, conveyors, robots and other discrete manufacturing applications must do the same—and often at far higher speeds and greater levels of complexity. This requires planning, simplicity, reliable hardware and no-nonsense software—in other words, a real-time operating system (RTOS).

"The main characteristic of an RTOS is the small footprint of its software," says Charles Chen, Moxa's ( business development manager for embedded industrial computing. "This makes its cycle short and fast. For instance, our Moxa operating system is an RTOS, and it's only 16 KB. Windows XP is about 700 MB, which is why industrial computers can't do real time."

Besides their speed, minimal interruptions and switch latency, many real-time operating systems now have multi-threading capabilities that lets them run two or more processes at the same time, adds Chen. "Windows can do multi-threading, but in a manufacturing setting it can experience jitters and blue screens, so it's not good at mission-critical or short-latency situations. Some operating systems can talk at 20 ms, but mission-critical needs 1 ms. This is where an RTOS can help."

Real-time operating systems have a smaller footprint, they send a lot of data much faster through the network, and they also have lots of added connectivity to plant ERP and other systems, says Alexander Damisch, business development manager at Wind River's ( industrial and medical division. "That's why 90% of controls engineers use real-time operating systems for their control systems and motion controls,"  he claims.

"Because motion control devices and PLCs are becoming commodities, users that at one time asked for fast operating systems now ask for consolidated solutions that include the PLC, HMI, motion and I/O equipment in one system," says Damisch. "For example, if you want to combine controls and HMI, then you can start with a scalable VxWorks RTOS and add our Pilcon HMI graphics solution. Or if you're starting with SCADA software that doesn't do real time, then you can add our HyperVisor embedded RTOS that works on the thin software abstraction layer between the CPU and the OS." 

Eric Kaczor, marketing manager for Siemens Industry's ( Factory Automation products, says most manufacturers have tasks that need to be completed quickly and in precise periods of time, such as within in a 2 ms scan, but their PC-based controls might only scan at 5 ms, so they need determinism. "This is why real-time operating systems run at fixed intervals and then do it over and over very quickly," says Kaczor. "However, more applications are using PC-based control platforms, but their Windows or other operating systems don't run fast enough, and so they need some way to get the real-time performance and determinism they need."

As a result, Kaczor reports that Siemens has been using Interval Zero RTX in its PC-based controls because it has a software extension that enables it to run at the highest priority in Windows, for example, and achieve stability by preempting all the other programs on the operating system. Many real-time operating systems take advantage of recent advances in central processing units (CPUs), such as new dual and quad cores. "Previously, all the Windows and other applications went through one core, and each used time slices of the CPU, which could be jittery," says Kaczor. "Now, with dual or quad cores, one core can be exclusively for the RTOS, which makes the whole system more stable and able to do more complex algorithms and applications. And physical PC platforms for real-time operating systems are getting more stable with flash drives and other non-rotating media that produce less heat. This means we can pre-install more base real-time operating systems in embedded devices and platforms."