23 July 2001
by Steven Neo
A new protocol provides fast, open systems I/O for PC-based control.
Proprietary programmable logic controllers (PLCs) are rapidly losing ground to PC-based controllers for monitoring and control applications for the same reasons proprietary computers gave way to PCs for commercial applications: cost, speed, compatibility, the freedom to choose from a broader array of hardware and software, faster access to new technology, and easier-to-find tech support, among others.
However, I/O has been a sticking point. Early PC-based controllers relied on I/O systems originally designed for use with PLCs, including those based on RS-485's point-to-point protocol. However, at 115 kilobits per second, these were pitifully slow compared with what the PCs could handle.
Now Ethernet, the premier protocol for commercial LANs, is being pressed into service as a control I/O solution in an attempt to duplicate the PC's success of using a commercial product for control purposes. Although Ethernet works well in some control applications, it's burdened with high messaging overhead, currently requires the added expense of network interface cards at its I/O points, and wasn't originally designed to work in real real time.
A relatively new data transmission technology, high-speed link (HSL), may supply a better answer. An application of the RS-422 multidrop protocol, HSL is a full-duplex serial technology that uses CAT-5 cable for point-to-point connections between its major components. The technology is effective for distances up to 200 meters without repeaters (Figure 1).
Fast, Fast, Fast
Currently operating at 6 megabits per second, HSL's effective throughput is very high, in part because its messaging overhead is low. In current implementations, 1,000 I/O points can be scanned per millisecond (msec). Parallelism can come into play to make the effective scan rate much greater than that.
Speed isn't HSL's only advantage. Costs are lower than for PLC applicationsmuch lower in large applicationsand expensive network interface cards aren't needed.
Compatibility isn't an issue at either end. At the sensor level, a digital on/off signal is simply on or off. At the application software level, HSL vendors provide I/O drivers to work with Windows, Linux, and popular real-time operating systems (RTOSs).
Finally, expansion and change can be a breeze, depending on the vendor's architecture.
Our own implementation of HSL technology is one of the first available in the U.S. for control applications. It's based on only two components: a peripheral components interconnect (PCI) bus master card with either two or four I/O ports for the PC end, and slave units distributed at or near the I/O points.
The first of each master card port pair serves 32 slave units; the second port of each pair adds another 31. Because up to eight four-port (two-pair) cards can be used, 1,008 daisy-chained slaves could theoretically be attached to a single PC controller. And the fan out is only the beginning (Figure 2).
Slaves include one or two hot-swappable daughter boards within a terminal base that provides connections for up to 32 input and 32 output points. More than 1,000 slaves can be interconnected. Therefore, if the HSL system were to be absolutely fully configured, more than 32,000 input and output points could be physically connected to a single PC. Not reasonable, perhaps, but the flexibility is there.
Slave units are interconnected by single CAT-5 cables with RJ-45 connectors on each end, as shown in Figure 3. Links from the terminal bases to the I/O points are plain copper wires. And because the slaves can be placed near the sensors they monitor, active signal runs can be a fraction of what they'd be with PLC direct connections, reducing potential noise and signal losses. CRC12 error correction is applied to make the transmission even more assured.
Expanding a configuration or making changes is as easy as plugging in new master cards or adding or moving slaves. Analog input boards, analog output boards, and others that mix digital inputs and relays are available to suit the application.
Master cards poll the slaves, and each slave's response requires 30.1 microseconds (µsec). As each slave may have up to 32 I/O points, this is equivalent to a scan rate of just over 1 million input points per second (32 points ÷ 30.1 µsec x 1 million µsec/sec).
Polling 32 slaves, the maximum number on a port, requires 0.963 msec (32 x 30.1 µsec). Because ports are paired and each pair has a maximum of 63 slaves, polling two ports takes almost twice that long-but still less than 2 msec.
Fortunately, port pairs operate independent of other port pairs, so the entire array (up to 32,256 points) can be scanned in less than 2 msec.
Most importantly, the timing isn't variable. Unlike shared bandwidth networks, HSL speeds aren't affected by traffic, nor are they affected by how populated the slave modules are. (This is yet another reason why expansions are so easy. If there's space on the terminal base, plug in another I/O point. It won't affect the timing.)
How It Works
Master cards continually scan their slaves, and slaves continually scan their I/O points. Scan results are stored in static RAM on the master cards, and software drivers running in the PC tell the control program where to find them. The data is refreshed every 2 msec, no matter how large the network is. How often the controller scans the data that's there or sends output commands is up to the programmer.
Where output points are present (which may not be on every slave), the outputs are transmitted before input statuses are scanned. Analog-to-digital conversions are done by the daughter boards.
Significantly, none of the polling, message handling, or data conversion puts any additional burden on the PC. It's all handled by the master and daughter cards.
The daughter cards also make the system self-diagnosing. Inputs are recorded as on, off, or "no response," and the latter are recorded and flagged.
HSL is a data transport mechanism that can be made transparent to the control program. The PC's control program accesses the HSL master card as it would any other PCI interface. However, HSL vendors can be expected to promote the new technology by providing tools to speed its implementation.
Our own HSL control products are compatible with popular operating systems and RTOSs, including Windows (95, 98, 2000, and NT), Embedded NT (4.0), and Linux. HSL-compatible drivers have been developed for use with dynamic link library and Active X libraries under Windows and Visual C/C++ (4.0 or above), Visual Basic (4.0 or above), or Borland C++ (5.0 or above).
Our DAQBench libraries (under Active X) add additional support for programmers developing complex user interfaces, displaying and analyzing data, and controlling digital and analog boards. eVision libraries support functions such as image measurement, character recognition, and mark inspection.
Isagraf support is provided for use with Embedded NT so PLC programmers can work with IEC 1131-3 SoftLogic functions, including SoftPLC, when converting from proprietary PLCs to open PCs. They can use the same sequential function charts, function block diagrams, ladder diagrams, structured text, and instruction lists with which they're already comfortable.
GNU C provides a programming environment under Linux (x86 Version 2.2.x or later), and an ELF library and PCIS-DASK/X are provided.
All of these already work with HSL.
Pricing: Obviously, some users will choose HSL over PLCs or Ethernet strictly based on cost. Small, inexpensive HSL systems are just as fast as larger ones and can later be expanded to cover many thousands of points. In addition, the price per I/O point using HSL goes down as system size increases.
Speed: Where instantaneous response is needed, such as for emergency shutdown systems, HSL's speed will be the determinant. Speed also argues for HSL in systems requiring complex decision making, where large numbers of points need to be scanned nearly simultaneously.
Cabling: Finally, HSL will be the data transmission system of choice where wire runs are long and where wire runs are difficult or expensive, as in both cases only a single CAT-5 cable is required between the controller and a slave unit at a remote site.
HSL is based on an open systems protocol and works with off-the-shelf PCs and popular operating systems. It provides an easy and inexpensive way to lay out control systems using conventional cable and connectors, as well as to expand or change those layouts when desired. It provides a means for minimizing active signal runs, reducing potential noise and signal losses.
Capable of scan rates up to 1 million points per second, HSL is designed for, not adapted to, real real-time operation. Its messaging overhead is minimal; its transmissions are error corrected; and its network is self-diagnosing.
Anxious to promote their new technology, HSL vendors are rushing to provide drivers and software tools to make incorporation of the technology fast and painless.
With all that going for HSL, prudent users will have to consider it for their next systems. MC
Figures and Graphics
- Figure 1. Slave units daisy chain to the PC controller, using CAT-5 cabling up to 200 m long without repeaters. Each slave connects up to 32 input and 32 output points.
- Figure 2. HSL's architecture promotes daisy-chaining multiple slaves to a single controller.
- Figure 3. Slave modules incorporate a terminal base for wiring connections to I/O points and a hot-swappable daugther board.
- Rapid Transmit [pdf file]
Steven Neo is the director of
ADLink Technology America, Inc. He joined
the company in 1999 and has been involved in research and development, sales,
marketing, and product management. Steven graduated from The Open University
at Milton Keynes, U.K., receiving a bachelor's degree in computer science. He
received his electronic engineering degree from the French Singapore Institute.
Contact him at 17951 Sky Park Circle, Suite H, Irvine, CA 92614; tel: (949)
250-3339; fax: (949) 250-3336.