PCs Adapt to the Factory Floor
PCs have traveled the long road from hobbyist's basement to word processor's desk, to engineer's workbench, to plant control room, and now can be found in all types of environments, executing industrial software. The trip has not been as easy one, nor one without its detractors. Despite comments that the "personal" is being taken out of the PC and with heed to warnings on the use of a disk-based operating system in a closed control loop, engineers continue to apply PCs to a growing list of control applications.
One reason for this is the vast amount of MS-DOS software available for industrial control. A quick look through computer and trade publications reveals a number of interesting software products for PC-based design, monitoring, and control. Another reason for PC proliferation is the significant improvements made in the electronics and packaging of PCs. When asked how industrial pc have changed since IBM introduced its first hardened PC, manufacturers cite a number of enhancements.
Software development and revision for a LC2 is performed interactively from its PC host, using the host computer for disk and terminal services. Each LC2 contains 32 Kbytes of battery backed-up RAM and 32 Kbytes of PROM. The full polyFORTH multitasking operating system, peripheral drivers, and application software fits into the 32 Kbytes PROM, leaving RAM for data storage and communication buffers.
The PC-AT polyFORTH is similarly compact. Although the PC-AT contains 512 Kbytes of memory, most of it is reserved for data buffers. All the program code executes out of the first 64 Kbytes of memory for maximum run-time speed, and most of it is resident. Some infrequently used functions are handled with compiled overlays. Multiple independent tasks in the host PC-AT software are used for high level monitoring and control of the remote processors.
A single LC2 and associated multiplexers can monitor and control hundreds of individual factor)' data points. Since the PC-AT can handle 16 or more multidropped serial lines, each one containing up to 255 LC2s, a single PC can control a very large number of data points. Such a distributed system also tends to be reliable, since each processor controls a relatively small number of loops, and any loss of LC2 to PCAT communications does not interrupt critical loop control.
A special network communication protocol provides 9,600 baud bidirectional communications among all the processors in the network. This permits real time transmission of data and programs between any two CPUs. It is even possible and desirable to have several independent tasks in a host PC communicating with different tasks in the same local processor over the single serial line.
In the large environmental control system mentioned earlier, there were five separate tasks communicating between each LC2 and its PC-AT host: one for LC2 access to the AT's disk; one for operator interaction from the PC-AT to the LC2; one to pass alarms from the LC2 to the PC-AT; one to pass data from the LC2 to the PC-AT; and one to pass data configuration commands from the PC-AT to the LC2. Although this may sound like a very complex communication design, the application code to perform all these functions in each CPU is much shorter and simpler than if all communications had been required to be channeled through a single message handler on each end of the line.
Data from multiple tasks can be displayed simultaneously on the PC-ATs text screen in real-time, using multiple windows. The factory network can handle any number of asynchronous tasks running concurrently, and can display any number of simultaneous windows of varying sizes, limited only by the
screen size and the amount of data to be displayed. Pictorial data such as bar graphs from various tasks can be presented concurrently on the EGA high-resolution graphics display. The use of multitasking communications can be illustrated in a representative screen display on the PCAT. The upper left, upper right, and lower left quadrants could be assigned as windows in three different LC2 slave processors.
Each processor could be asynchronously and concurrently updated as the data changes. At the same time, the lower right quadrant could show a concurrent interactive session where the operator at the PC-AT is changing some limits on the same LC2 processor that is providing data at the lower left of the display.
An important factor for design of the network is that polyFORTH is an interactive, application-specific language and operating system. Interactivity provides that the code for a particular configuration is compiled, tested, and debugged in very small modules, greatly speeding up the development process. Application-specific provides that the language and the operation system can be extended or customized to include basic operations specific to the application, and only features actually needed by the application are included in the final code, thus keeping the PROM and RAM usage to a minimum.
More info at Jawest .