Choosing The Right Real-Time Control System
Should you go with a PC-based Windows NT solution or a proprietary system?
By Ryan McDonald, National Instruments
In today's PC-centric automation systems, three main vehicles exist to execute control -- standard Windows NT, Windows NT with real-time extensions, or a proprietary real-time operating system with dedicated hardware, such as a traditional PLC. To develop a real-time control system, you must understand your system requirements, such as responsiveness, reliability, and cost. With these options for your real-time system, it is sometimes hard to know what to consider for your particular control application.

Defining Real Time
When looking at your system requirements, you need to decide how to respond to real-time events and handle real-time control in your automation application. As its name implies, "real time" stresses a predictable response time. However, in addition to responsiveness, real time includes the issues of reliability and robustness.
Response time depends on many factors in the system, including interrupt latency, execution of the control algorithm, and sensor actuation time. A closed-loop control application has a time specification related to the physical dynamics of the system. Shutdown sequences must execute within a specified time from an event or alarm. These factors help determine your application requirements and the type of hardware that you can use to implement the system -- a PC with Windows NT or dedicated hardware, such as a PLC.
Reliability refers to the system's ability to respond the same way each time. In many applications, a missed event may result in a bad batch or in a defective part produced. In other systems, a missed event may result in danger to personnel or damage to equipment. If the system can guarantee that it will always respond within a given time constraint, then the system is called "deterministic."
Another factor to consider is robustness. Real-time control systems often run 24 hours a day, seven days a week. If a system fails and it can be reset easily without significant loss, then you do not need a robust system. If failure results in notable downtime, damages equipment, or is dangerous to personnel, you need a robust system. Once you decide the critical application requirements for your system, you can determine where to execute your control.

Standard Windows NT
Windows NT is a standard operating environment providing a completely open architecture in which you can use the software and hardware of your choice. It provides features such as a redundant array of independent disks (RAID), file support, and multithreading that increase reliability and performance. As of late 1997, Windows NT was being used in more than 5,000,000 computers. The large installed base of Windows NT ensures a level of stability that leads the industry. Because of the ever-increasing speed of PCs, Windows NT can increasingly satisfy many demanding application requirements. Estimates in the industry for Windows NT response time range from 10 ms to 1 s, depending on the reliability requirements of your application. If your real-time application can withstand the occasional lagging response, then the choice is clear. With its widespread use and open, standard architecture, choose Windows NT.
Extensions to NT
Real-time "extensions" to the Windows NT operating system have come into the limelight in recent years. These extensions attempt to get past the "holes" in Windows NT for deterministic real-time applications. Windows NT real-time extensions are designed to provide determinism and robustness.
All of the real-time extensions require special modifications to Windows NT. The modifications involve either running a separate real-time operating system in parallel to a lower priority Windows NT, or changing the hardware abstraction layer (HAL) of Windows NT. In either case, the solutions provided today negate the "standard" operating system. Use of these non-standard solutions opens the application to future compatibility issues as Microsoft modifies or upgrades the operating system.
Microsoft's Windows CE holds promise for a standard operating system that can work for real-time applications. Although Windows CE is not yet capable of real-time performance, Microsoft has promised to deliver a hard real-time version in mid-1999.
Dedicated Hardware
PLCs and smart devices, such as National Instruments FieldPoint Fieldbus, are examples of dedicated hardware options. These devices typically run with very minimal code, increasing the stability of the environment. Without a doubt, dedicated hardware options today provide the most stable platforms for real-time applications.
The costs of these systems, while decreasing, are usually greater than the costs of using standard PC technology. Further, the tools to program these systems have steeper learning curves than development environments available on the PC. However, in applications that require fast response, flawless reliability, and/or complete robustness, your choice is clear -- use dedicated hardware.
Summary
Although solutions exist today to turn a standard PC into a real-time system, these systems have drawbacks, including future compatibility and cost. Dedicated hardware solutions continue to be the best solution for mission-critical applications; however, the programming tools for dedicated hardware solutions still lag behind standard PC development environments.
As we look to the future, we see a need for standard tools and development environments that can execute on standard PCs or on dedicated hardware. These tools would provide you with the use of a single development environment from which you can decide whether you need "real-time enough" performance from standard Windows NT or "real-time" performance on dedicated hardware.
National Instruments, 6504 Bridge Point Parkway, Austin, TX 78730-5039. Tel: (512) 795-8248; Fax: (512) 418-1111; e-mail: info@natinst.com.