Laser-induced Fluorescence Detection Control
For this project, L’Monte designed and created a control
program for an add-on device to a high-end, automated capillary
electrophoresis system. The system supported a number of
separation modes including capillary zone electrophoresis and
focusing. The add-on product was a laser induced fluorescence
(LIF) device, which employed photomultiplier (PM) detectors.
The control program for the LIF add-on was designed to allow
the user to control various state variables of the PM tubes
and lasers, start and stop data collection, and enable digital
of the data stream from the PM tubes as well as numerous
other hardware functions. The program also managed data archival
allowed sophisticated, real-time graphical views of generated
The overall architecture of the add-on control program was
conceived as a separate executable plus an extension DLL.
This structure suggested itself because of intensive modifications,
which were simultaneously being made to the main instrument
control program. This structure was also appealing because
it allowed a single API of new functions to be exported to
the existing main instrument control program as well as that
to the add-on. Because the add-on control program was designed
to be spawned by the main program, the two communicated using
IPC mechanisms and a proprietary communications protocol.
Hardware and software development proceeded in tandem. In
addition, a number of high-risk elements were identified
early in the project planning stage. For these reasons, an
evolutionary prototyping model was selected as the software
development methodology. This model made sense because it
allowed developers to first focus on high-risk elements since
the outcome for these elements would determine design directions
for better-understood subsystems.
This project was begun in September 1996 and was finished on schedule,
10 months later. It contained 100% of its originally specified
features plus a diagnostics utility, which, although not originally
specified, was created to facilitate unit and acceptance testing.