Solution - Software

 

he controlling software was written in C and took advantage of the National Instruments API to control the system through the PCI-6601 DAQ/IO card.  It is an autonomous executable which provides a text-based user interface and high level system control.

All measurements are made as per Interface Level Measurement section.  The software makes one measurement without Cx in the circuit, then activates an analog switch to include Cx and makes another measurement.  After mathematical manipulation, and reference to a lookup table, an interface level is determined.  If the interface has just been moved, the software will make several of these measurements until it is satisfied that all settling has finished before reporting the value.

The software performs the following functions:

1. Reports current interface height
Reports percent height to screen.
2. Allows manual raising or lowering of the interface
Gives the user control over the pump or valve, respectively.
3. Provides automated level setting for the interface
This is a more complicated procedure.  The user enters a desired interface level, which is then compared against a measured level to determine the direction the interface must move.  Levels may be specified between 5% and 95 % of the height of the cylinder.

Due to the physical limitations of the system, and in the interest of scalability to allow an indeterminate number of Flo.Point devices to be connected, it is not possible to move the interface to the desired level in one step.  Rather, the program takes an iterative approach, stepping in the correct direction, measuring to determine the new interface level, and repeating.