By Rich Merritt, Technical Editor
For the past year, industrial magazines across the country have been describing Windows CE in sycophantic fashion, saying WinCE will be the perfect operating system for embedded computer products. And while that may very well turn out to be the case, right now its a statement about the future, not the current state of machine control.
At ISA Expo in October, and later at the Embedded and Real-Time Computing Show in Toronto, software running under Windows CE was hard to find.
Several companies at the ISA Show claimed they were running beta software under Windows CE, but a close examination indicated that some were actually running under Windows NT emulation instead. One disgruntled attendee said he found one CE system with its NT toolbar blatantly displayed, and had good reasons for doubting several others.
Warren Postma, programmer at ZTR Control Systems, London, Ontario, reports that Windows CE resellers at the Toronto show could not demonstrate their CE products. Postma was very disappointed, because he had been trying to get a Windows CE system up and running, and was hoping to find help at the show. I gave up after an eight-hour fight to get a demo configuration to build on a X86 target, says Postma.
Inside Windows CE
WinCE appears to be a good real-time operating (RTOS) for embedded applications. Its compatible with Windows NT, so OEMs can make a scalable family of products. CE requires less memory than NT, so it can run in diskless systems and embedded controllers. According to Marcus Schmidt, industry marketing manager for manufacturing at Microsoft, Redmond, Wash., the basic CE kernel takes only 256 Kbytes of memory. CE is componentized, so that an OEM can choose whatever configuration is needed for an embedded task, says Schmidt. With a few components added, such as communications stacks, it takes 512 Kbytes. A full blown system requires 2 Mbytes.
An OEMs product family could include low-end systems running under a CE kernel in diskless processors, larger systems running under full-blown CE, and high-end systems running under Windows NT. All software could be developed on the same Windows NT desktop.
This outline of performance capabilities sounds great. Problem is, theres not much out there actually running CE in OEM products.
WinCE has been available in palmtop and handheld computers since 1997. It was designed to be an embedded OS from the beginning. Some people erroneously think that CE is a stripped down version of Windows 95/98, but Schmidt says it was developed from the ground up, using Windows as a guide.
Richard Eppel, president of Annasoft, San Diego, Calif., says CE was designed to be an architecture-independent operating system. WinCE runs on a wide variety of RISC, 486 and 586 microprocessors, says Eppel. This includes 32-bit processors from Hitachi, AMD, Motorola, NEC, Phillips, Toshiba, ARM, Sun, PowerPC, and Intel, with more being announced every day.
Annasoft sells software tools for implementing CE systems and works with computer manufacturers in its Embedded Initiative program. At present, we have certified products from 18 manufacturersincluding Xycom, Teknor, Advantech, and Dynaproto run Windows CE in their embedded computers and industrial workstations, says Eppel.
An embedded WinCE system is economical. In quantity, a 32-bit RISC processor with a Windows CE kernel is about $20. Although the current price of a Windows CE run-time license is about $35, several industry observers say we may be looking at the coming of sub-$5 processor chips and $5 software licenses for OEMs who build machine controls in quantity.
Schmidt suggests that anyone who wants to try out CE should purchase a platform builder from Annasoft, VenturCom, or a Microsoft distributor. The platform builder will allow an OEM to emulate a Windows CE application on a PC and then download it to any of several hardware platforms. Its a good way to see if CE will work in a given application.
Problems in Paradise
One frequently heard complaint is Windows CE is not a genuine hard real-time operating system because it is not fully deterministic, i.e., it is impossible to guarantee that a particular piece of code will run within X microseconds after an event occurs. This makes it difficult to use Windows CE for time-critical control applications (see sidebar, Real-Time CE Is Coming).
Mike Walker, president, AGI Inc., Rochester, N.Y., would love to use WinCE. AGI builds a line of embedded products for machine control and data communications. WinCE is a generation or two away from becoming a truly useful RTOS for embedded processors, says Walker. The potential is great, but until Microsoft can cut the interrupt latency time down, we cant use it for machine control. Rick Ahnen, R&D engineer, Gilman Engineering, Janesville, Wis., also is waiting for real-time CE. Gilman Engineering builds assembly automation equipment. We were working with CE until we realized its lack of determinism would not work in our application, says Ahnen. So while we wait for Version 3.0, were using Pharlaps TNT RTOS in our control processor, and CE in our operator interface (OI) processor.
Determinism does not stop WinCE from being used for industrial applications that are not time critical, such as the Allen-Bradley DriveExplorer. By using CE as the operating system, the drive configuration software can be supported in a handheld, palm top-type device for maximum portability. In fact, current products available for CE are almost all OIs and similar products that do not require hard real-time capability.
Siemens acknowledges that its WinCE-based Simatic MP270 Multifunctional Platform (MP), a combination OI and soft PLC, is not for use in hard real time. Uwe Frank, head of Siemens Simnatic Human Machine Interface Group in Germany, argues that the MP defines a new product category between such classic components as an operator panel and PLC on the one hand and a PC on the other.