Manufacturing Does Windows … Linux Knocks at the Door

The much-anticipated arrival of Microsoft's (Redmond, Wa.) version 3 of Windows CE with "hard real time" has refocused attention on operating systems. Just a few years ago, only design engineers knew which microprocessor chip and real-time operating system (RTOS) powered a controller. Now every control engineer seeks information about the guts of a controller before specifying one.

By Gary A. Mintchell, CONTROL ENGINEERING September 1, 2000

KEYWORDS

PC-based control

Computer software

Embedded control

Microsoft

Operating systems

Sidebars: Windows is family affair Linux provides an alternative Real-time operating systems thrive

The much-anticipated arrival of Microsoft’s (Redmond, Wa.) version 3 of Windows CE with ‘hard real time’ has refocused attention on operating systems. Just a few years ago, only design engineers knew which microprocessor chip and real-time operating system (RTOS) powered a controller. Now every control engineer seeks information about the guts of a controller before specifying one. Controller designers, too, have more options aiding in the search for the appropriate product specification.

Engineers are studying operating systems and other underlying technologies for good reasons. Developers want an easy-to-use and consistent development environment. They also need to choose a product that will be around for a number of years, is economical, and supports communications. Users require products that not only provide a foundation for control, but also have built-in communications, like TCP/IP, as well as ability to integrate with HMI (human-machine interface) and business applications.

This chart from Think & Do Software shows how the Microsoft family of operating systems provides scalable control from embedded devices to workstations with common programming and standard communications.

Almost all HMI applications and most control programming development packages are based on Microsoft Windows NT. Windows NT, with or without real-time additions, also is the foundation of much PC-based control. Microsoft originally developed Windows CE for embedded devices like TV set-top boxes and to compete with Palm OS for the popular Palm Pilot PDAs (personal digital assistants). Manufacturing control developers saw great benefits in CE and began designing control and HMI products on it.

Third among the Microsoft family of operating systems is Windows NT Embedded (NTE). While CE is an embedded OS with scaled-down features, NTE gives the complete NT feature set in an, albeit large, embedded format.

The final Microsoft product discussed is Windows 2000, which is the next generation of NT. This operating system adds robustness and improved systems administration tools for large applications, including servers.

Making Windows real-time

Windows NT was never designed to be a real-time operating system for control. Developers saw the need to have a control operating system that easily interfaces with application software, supports graphics, and provides extensive communication tools. Extensions to NT provide real-time operation for control, yet permit full NT operation-providers and solutions include Nematron (Ann Arbor, Mich.-HyperKernel), Radisys (Hillsboro, Ore.-Intime) who has since sold its product line to TenaSys (Beaverton, Ore.), VenturCom (Cambridge, Mass.-RTX), and others. After these extensions, a burst of PC-based control products for automation markets followed.

VenturCom uses a Real-time Scheduler extension within Windows NT to enableNT to perform real-time control while performing regular computing functions.

Several RTOS developers target industrial automation. Originally designed for any embedded application, these operating systems have long labored in anonymity buried in PLCs (programmable logic controllers) and special controllers. Several RTOSs are discussed in a sidebar.

In a blurring of controller boundaries, a PLC may have an Intel microprocessor with one of the RTOSs. Adding Windows makes the PLC a form of PC-based control. Technology advances force movement from religious arguments over controller type to pragmatic evaluation and decisions as to appropriateness for the application.

Another operating system is beginning to impact manufacturing-Linux. This UNIX-like operating system adds ‘open source’ to the OS equation. Open source means that the source code is freely available for anyone to change, tweak, improve, etc. Linus Torvalds developed Linux and maintains control over official releases. Programmers around the world send bug fixes and improvements to him for potential inclusion. None of the programmers, evidently including Mr. Torvalds, profits from this work directly leading to the most fascinating feature of the OS-it’s free. Embedded and real-time developments of Linux are discussed in another sidebar.

Are users really interested in the device’s operating system? Dan Benson, Ann Arbor Technology (Ann Arbor, Mich.) vp, says he’s seen more inquiries about Windows CE products since the announced release of version 3.0. Most want CE-based industrial computers for control applications.

Study shows Windows rules

Venture Development Corp. (Natick, Mass.) recently studied users attitudes about programming and operating systems. Project manager, Tim Shea, notes, ‘The top three criteria users had regarding OSs were having a large market share, real-time, and robustness, reliability, and stability. Other issues cited included compatibility with hardware [PLCs, office desktops, and IT department]. Basically, Windows NT, migrating to Windows 2000, is the OS of choice, with hard real-time and/or Windows CE for control applications.’

Advantech Automation (Cincinnati, O.) develops systems for control and HMI. Mike Rothwell, director of Cincinnati Product Division, says, ‘Advantech is pursuing new products based on Windows CE 3.0 because of its real-time support and cost effectiveness. Of course, compatibility with other Windows OSs makes it the OS of choice for many applications. We are also working with other operating systems for embedded use, such as embedded NT and Linux. Through cooperation with our global partner network, we already have products based on Linux. Cost is very attractive, but the many different versions and Windows compatibility will affect acceptance.’

Rich Bentley, Nematron (Ann Arbor, Mich.) marketing manager, addresses the usual objection to Windows NT as a control operating system-crashes. ‘We feel that those concerns, while understandable, have turned out to be erroneous. First of all, plant floor PCs are used differently from desktop PCs. Most problems occur when loading poorly written software or drivers onto a stable system. For a control application, once the system is validated new software is not usually installed. Second, we’ve developed the HyperKernel real-time subsystem, which provides deterministic performance side-by-side with NT. One application, the Bellagio Hotel fountains in Las Vegas, have run for two years, 24 hours/day, 365 days/year, with no downtime.’

Windows CE aids developers

‘Windows CE can potentially help developers increase productivity with tools that are similar to existing Windows-based environments,’ states National Instruments (Austin, Tex.) manufacturing product team manager, Eric Starkloff. Putting a positive spin on Linux, he adds, ‘Linux offers astrong platform for creating embedded systems. Because the source code is available, developers can use only necessary components, reducing the footprint. For users that prefer or require UNIX, Linux provides it for lower-cost hardware platforms.’

Some developers consider multiple choices when designing controllers. Automation Intelligence (Duluth, Ga.) develops and markets PC-based motion control. President George Kaufman notes, ‘The industrial market has chosen Windows NT as the operating system that supports open-architecture control. Since it is not real-time enough for applications like motion control, we use the real-time extension RTX from VenturCom. However, sometimes NT is not required, so we have developed an embedded motion controller using VxWorks from Wind River Systems. In this way, we can provide a range of options for our customers.’

INtime from TenAsys adds a real-time kernel to Windows NT to obtainreal-time performance while maintaining normal OS functions.

Developers have OS choice

VMIC (Huntsville, Ala.) also provides PC-based control with Windows NT and VxWorks. Michael Darnell, director of industrial automation, says that customers choose the system according to fit with their application rather than asking what OS is used. He doesn’t see an immediate future for Linux in industrial automation. ‘Even thought the price of the OS is appealing, cost of development and support tools, as well as availability of experienced programmers, will limit its growth for some time.’

Wonderware (Irvine, Calif.) not only offers HMI/SCADA software, it also has a software controller. Dr. John Noss, software development engineer, and Scott Kiser, marketing manager, note several reasons for selecting Windows CE for embedded control.

‘Windows CE is open in terms of communication protocols supported,’ they note. ‘It is scalable in terms of hardware supported, is flexible with ability to dynamically load components at runtime, and support multi-purpose devices. Windows CE also does a good job of providing software developers with identical interfaces across multiple processor families. Further, our tests showed excellent determinism with version 2.11 running for over 300 days. Version 3.0 improves on this feature set.’

Reinhold Achatz, Siemens E&A (Alpharetta, Ga.) industrial solutions division vp, notes that it was the first company to introduce an industrial device based on Windows CE. ‘It provides an open platform that can include modules like HMI, soft control, real-time data acquisition, and process data analyses.’

Scalability big factor

PC-based control has been around for several years, but has yet to grab a big chunk of the automation control market. Rainer Wischinski, Intellution’s (Foxborough, Mass.) director of control product marketing, sees part of the answer: ‘Lack of scalability has limited market penetration of PC-based control. With Windows CE 3.0, this will change as compact, robust, low-cost devices integrating control, HMI, and data acquisition capabilities emerge. CE’s capabilities include superior graphics, native connectivity, and family compatibility. This trend will push proprietary solutions down one level into the lower end of the market.’

An oft-cited reason to move to Windows CE as an embedded control platform is this idea of ‘family.’ Andy McMillan, director of marketing at Think & Do Software (Ann Arbor, Mich.), explains, ‘Microsoft’s operating system family gives us the ability to serve a very broad range of needs with a single solution. This solution can be targeted to run on Windows 2000 for PC-based sophisticated applications, Windows NTE for demanding embedded applications, and Windows CE for low-cost embedded applications. This results in dramatic benefits for OEM machine builders and end-users.’

Easy port to CE device

‘Speaking as a developer,’ adds Mr. McMillan, ‘Microsoft’s common programming interfaces and communications mechanisms has been a major factor in our ability to bring flexible solutions to the market at a lower cost than others. For example, our Windows 2000 product includes an application called ESP that provides remote management and debug of CE controllers. When asked for a mobile version for plant- floor engineers and maintenance staff, we were able to port it to a Windows CE handheld device with little effort.’

On the other hand, Mike Klein, Steeplechase Software (Ann Arbor, Mich.) president, isn’t as sanguine about Windows CE. ‘The limited capabilities of CE in terms of performance, networking, DCOM communications, add-in peripherals, and off-the-shelf factory automation software will likely limit CE to displacing proprietary solutions at the low end of the market. The Windows NT platform will remain the optimal platform for PC-based control applications that integrate advanced automation solutions such as logic control, motion control, open I/O buses, data connectivity, and -interfaces to bar-code readers, etc.’

Kevin Tock, sr. vp of Factory Suite for Wonderware, sees advances in the new Windows 2000 platform. ‘One of the biggest things,’ he reports, ‘is bringing thin computing strategy. Win2000 bundled Terminal Services, in addition to improving it. There used to be some difference between Microsoft’s RDP and Citrix for thin clients. Tests with Win2000 reveal the difference has all but disappeared. This is a very appealing platform for the future of HMI.’

Industrial automation seems to be overwhelmingly Microsoft-centric at this time. Everyone is watching Linux and developments in real-time and embedded versions of this UNIX-type OS. If it builds critical mass in the commercial market, look for more industrial applications. While it is not often easy to port applications to different operating systems, the future may see more multi-platform packages. But, for now, manufacturing does Windows.

Windows is family affair

The Microsoft Windows operating system family tree for manufacturing applications includes 2000, NT Embedded (NTE), and CE. 2000 is the latest version of NT. Not considered as a manufacturing platform is the latest version of Windows 98 known as Millennium Edition (ME).

Windows 2000 comes in three flavors: Professional , designed for desktops and notebooks, Server , an entry-level OS for file, print, intranet, communications, and infrastructure services, and Advanced Server that enhances availability and scalability of e-commerce and line-of-business applications. This upgraded version of NT was designed to enhance server reliability. System administrators have more power to control desktops with IntilliMirror management and Active Directory service. With these technologies, a user can log into any machine on the network and see the same familiar desktop.

Enhanced reliability and robustness will be a boon to PC-based control developers. Terminal Server is now bundled with the OS. This service provides enhanced support for thin- client computing, a technology that lends itself to HMI applications. Wonderware has a thin-client solution (see this month’s Technology Update). Look for other thin-client applications to appear very soon.

Windows 2000 is not designed as a ‘real-time’ operating system in the sense required by manufacturing and process control. While it alone handles many manufacturing control tasks, it is safer to use it with a real-time extension or kernel.

TenAsys provides INtime, a real-time extension. It provides an NT Extensions Application (NTX) interface to facilitate both communication and synchronization between real-time processes and non-real-time processes. Further, it modifies the hardware abstraction layer (known as HAL) to guarantee determinism. Operating System Encapsulation Mechanism (OSEM) is a patent-pending manager for concurrent operation of Windows and INtime kernels.

VenturCom’s RTX solution modifies HAL in two areas. First, RTX installs a hard real-time scheduler, in addition to the Windows scheduler, that offers 128 levels of priorities all higher than Windows 32 priority levels. RTX also captures a Windows NT Stop event (known as bluescreen) and continues with critical tasks.

Nematron’s HyperKernel is another solution that adds a real-time component to Windows NT/2000 for control applications.

Windows CE v. 3 arrives

Long anticipated by the control industry, Microsoft’s latest version of its embedded OS, Windows CE, adds enhanced real-time support, a modular design, built-in Web server and Internet Explorer browser, and DCOM communications. Many enhancements were designed with input from manufacturing users through the Open Modular Architecture Controls (OMAC,

Other additions, but far from an exhaustive list, include support for on-chip debugging, support for semaphores, dial-up boot loader, enhanced USB support, and enhanced display driver support.

CE’s success combined with more interest by embedded developers for a richer set of Windows APIs led to the development of NT Embedded. Much more a full version of NT, NTE boots from ROM into RAM to run, unlike CE, which is a more traditional embedded OS. Operating system components and capabilities are listed in the Target Designer System Database. Microsoft provides two tools to build the final OS. Target Designer helps create configurations, import components, set boot options, and build NTE images. Component Designer is used to create components. For more information about designing with NTE, see Windows NT Embedded: Step by Step , by Sean Liming (Annabooks) the source of this NTE discussion.

The critical point about this family is that skills and knowledge already gained as a Windows programmer are applicable to the whole family. This enables developers to build a family of scalable control solutions.

Windows DNA (Distributed iNternet Architecture) is a model and platform for building and deploying applications using the Web as an integral part of the architecture. Key technologies are COM and XML. The latter is a public standard through the World Wide Web Consortium (W3C) that defines data tags in a similar manner to HTML defining graphic displays. Windows DNA is becoming the central model to describe the way Microsoft technologies work together.

Linux provides an alternative

‘The principal driver in defining the future of manufacturing control is now communication, and communication is now tied inextricably to the Internet. Openness in the strategic sense is now defined less by architecture than by protocol, and the availability of the full suite of Internet protocols is an important consideration in the selection of a platform. This fact points more toward Linux than toward CE as the platform of choice for the factory given the extreme breadth of protocol support it offers,’ says Ken Crater, president of Control.com (Hopkinton, Mass.), while presenting the challenge to engineers.

Who hasn’t seen the Penguin, symbol of Linux? It was plastered on everything from coffee mugs to T-shirts at the last Comdex. Linux is an ‘open source’ operating system meaning that the source code is available to developers. Programmers can add or delete components to tweak their system to its optimum performance. New components or bug fixes are sent to originator and code czar, Linus Torvalds, who compiles the changes and issues occasional new releases of the ‘official’ code. Thus, Linux is an OS written by a community of developers communicating almost exclusively via the Internet.

‘Linux is now the fastest growing operating system for server applications,’ says Rick Lehrbaum, chairman of the Embedded Linux Consortium (

Citing its POSIX roots and growing number of programmers familiar with Linux, Lynx Real-time Systems (San Jose, Calif.) developed an embedded distribution called Blue Cat Linux and a set of development tools called LynuxWorks. Sold on the future of Linux for embedded applications, the company changed its name recently to LynuxWorks.

Ever seen a penguin wearing a hard hat? Well, when Linux meets embedded applications, the penguin turns industrial. MontaVista Software’s (Sunnyvale, Calif.) distribution of Linux for embedded applications is Hard Hat Linux. The business model is no software licensing, no run-time royalties, free access to source code, open source and open APIs, along with technical support and services and yearly subscriptions.

Real-time operating systems thrive

Windows and Linux generate much press and attention in both general computing and industrial arenas. There is no doubt that they are important to control engineering developers and users. RTOSs, however, are still in demand and valuable for industrial control developers. As microcontroller and DSP chips become smaller and more powerful, these real-time operating systems provide more features and functions for small, powerful embedded controllers.

QNX Software Systems (Ottawa, Ontario, Canada) provides the QNX real-time platform for embedded control. There’s a good chance that it may be the OS running a PLC. QNX provides a microkernel with a small set of core services including thread services, message passing, mutexes, condition variables, semaphores, signals, and scheduling. The kernel can be extended by dynamically plugging service-providing processes such as file systems, networking, POSIX message queues, and device drivers. QNX provides source code for most components with only the kernel and core portions remaining protected.

Wind River Systems (Los Altos, Calif.) makes VxWorks. It consists of the ‘wind’ microkernel along with networking support, file system and file management, I/O management, and C++ and other standard runtime support. Included are more than 1,800 APIs. VxWorks supports TCP/IP plus the latest Berkeley networking features including standard Berkeley sockets and zbufs (known as zero-copy sockets). VxDCOM is an extension to the operating system that implements Distributed Common Object Model (DCOM) communications in embedded applications.

CMX Systems’ (Framingham, Mass.) CMX-RTX multi-tasking OS targets microprocessors, microcomputers, and DSPs. The company supplies all source code and supports several C vendors.

Microware’s (Des Moines, Iowa) OS-9 RTOS has a modular format that allows module upgrade or replacement. The position independent, fully reentrant data/code area enables functionality built into one module to be shared by multiple others, minimizing overall code size. Its cyclic redundancy check detects accidentally or maliciously corrupted modules, providing reliability and security.

Enea OSE Systems (Dallas, Tex.) OSE RTOS offers a structured approach providing an ‘infrastructure’ for code development and run time. For example, every process has its own input message queue of unlimited size, a standard means to receive messages from its queue, and a standard means to send messages to another process’ queue. Every process can locate a process over a network or be notified when it starts and can be notified if and when a process or network stops or fails.