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.
PLCDirect, Cumming, Ga., has been touting a WinCE product almost from the very beginning stages of interest in Windows CE. It was announced in October 1998, and is expected to sell for $399. The company says it will be available with Think & Do software. How did it get to market more quickly than some competitive PC-based products? Gary Marchuk, PC controls product manager, says its because the WinPLC is based on a Hitachi SH3 processor, not an X86 platform.
As far as being suitable for real time, Marchuk says, Last year, Think & Do chaired a conference on Windows NT and the attendees said NTwithout real-time extensionswas fast enough for 50-80% of control applications. WinCE is just as deterministic as NT.
Tough to Get Running
Another complaint is that WinCE applications are difficult to get running on a X86 target platform using only the Microsoft embedded tool kit (ETK) platform builder. This may be because Microsoft never designed it that way. Microsoft never intended for CE to run on a PC as a target system, says Eppel, so it never developed drivers for PC devices such as floppy disks, IDE hard disks, and CD/ROMs, among others. Companies like Annasoft and VenturCom developed kits with drivers that make Microsofts tools easier to use.
ZTR Control System builds embedded controls for locomotives, diesel engines, and gensets based on 386 processors, and Postma says he wanted to retrofit CE software into existing products. It would have been great to add the CE file structures, networking, and GUIs into our products, says Postma, but Microsoft says the 386 has something wrong with its memory management. Microsofts Schmidt confirms this, saying WinCE requires a 32-bit processor with a memory management unit (MMU), making 486s the oldest usable X86 platform.
Postma says that ZTR is not alone in this predicament. Id guess that the vast majority of embedded controls are eight and 16-bit controls, and many are 386-based. None can use CE. Most OEMs arent ready to convert to 32-bit RISC processors, but it looks like we may have to.
Ahnen reports that getting a WinCE application running even on a certified system is not easy. Documentation is lacking, Microsofts support is not very good, and the drivers are a pain to get up and running. We worked with Version 2.0 and everything was so delicate, says Ahnen. There are too many loose ends with CE. We decided to go with an OS that we knew would work, and well port our application to CE later.
Limited industrial support is apparently another problem with CE. Only a few WinCE industrial cards are available, says Laura Letellier, a registered professional engineer at Geneer Software Development Partners in Des Plaines, Ill. And there are no standard libraries of industrial functions. Geneer develops OIs, control systems, and MES software for third parties, such as GE Fanuc and Boeing. We have proposed several CE projects to our clients, but so far no one has shown any interest. They seem to be immune to Microsofts high-level marketing efforts, and they are cautious about embracing new, unproven technology. Letellier reports that Geneer ran into development problems similar to Postma and Ahnen, but Microsoft responded very quickly when Geneers programmers had questions.
Jeff Hamilton, director of new business development, Rockwell Software, Milwaukee, agrees with Letellier about the lack of support. The biggest problem we see is a lack of computer platforms that can run CE, says Hamilton. Most of the CE systems at the ISA show were probably running under CE emulation on a PC platform, or were running on prototype hardware that no one can buy yet. Were expecting to see several CE platforms become available in 1999 from people like Xycom, Dynapro, Total Control Products (TCP), and Siemens. Many of the first products will be X86 platforms. The only non-X86 platform Ive seen is from TCP, which is based on a Hitachi SH3.
This might make a potential user wonder if the hassle is worth it. If an OEM has the capability in-house to write all the drivers and support software needed to adapt I/O and other devices to WinCE, they probably dont need CE, says Letellier. But programmers who can write drivers in assembler language and understand real-time operating system kernels are getting scarce. Fortunately, Windows CE is ideal for programmers who are experienced in Windows-based programming such as C++ and Visual Basic, or Java.
Tom Tait, product manager for operator interfaces at Cutler Hammer, Milwaukee., agrees, saying one advantage of CE is that its easy to find programming help. There is a huge base of engineering talent that can readily adapt to writing Windows CE applications, and a large portion of the computer world is developingor will be developinghardware and accessories for CE products. Cutler-Hammer says it will release low-cost OIs based on CE in the first half of 1999, but will not be using it in control products until Version 3.0 is available.
Watch Out For the Penguin
Linux, the free, small footprint shareware/geekware operating system derivative of UNIX, is said to be faster, more reliable, and can do nearly everything that WinCE or NT can do, including multitasking, virtual memory, shared libraries, web servers, and TCP/IP networking. It runs on X86, Alpha, MIPS, PowerPC, SPARC, Sun, and Intel CPUs. It is slowly gaining application support from major industrial-technology companies, and, while a long-shot at best, might begin to appear as a CE alternative. It bears watching out for.