This paper describes a multiple-process algorithm for Hewlett-Packard computers controlling real-time laboratory automation systems. The algorithm, called the Multiplexer, allows the resident control software to automate several independent experiments concurrently on a time-sharing basis. The multiplexing mechanism is an automated context switching cycle that directs the control software sequentially to one laboratory process at a time. The software carries out scheduled data acquisition and control operations for that process, then switches to the next process until all have been serviced. The Multiplexer keeps track of each experiment by managing context tables stored in the computer's volatile memory. The context tables contain the process hardware driver commands, automation instructions, and run status variables that define each experiment. The Multiplexer also supports context switching from the keyboard. This enables the operator to bring one of the experiments into the foreground where it can be monitored and controlled directly from the keyboard.
The Multiplexer is part of a proprietary process control and scheduling software system that automates laboratory displacement experiments such as core floods, slim tubes, permeameters, and capillary tube viscometers. Scheduled operations include data capture from various analog and digital devices, control of pumps and valves, fluid sample collection, automated gas chromatography, and on-line graphics data processing. The software also permits experiments to be monitored and controlled indirectly over telephone lines from a remote computer.