LabHelper has five active menus available when the program is not busy gathering data. Note: In Mac OS 8 or above, the "Help" menu contains LabHelper's on-line help option (it's in the Apple menu in earlier operating systems), and several calculator functions useful for open-system respirometry.
| FILE | EDIT | VIEW | A-D | D-A |
The 'D-A'
menu is for handling the analog voltage outputs for National
Instruments cards (Lab-NB, PCI-1200, or DAQCard-1200). This menu
doesn't work for external A-D converters like the ADC-1 or the DataTaker,
and is not available for the Oscilloscope or Multichannel Oscilloscope
recording modes.
All of the NI cards contain two separate analog voltage output (AO) channels (designated 1 and 2), which are independent of each other (click here to see how to connect to these outputs through a junction box). You can use these voltage outputs to automatically adjust any device that is capable of using an externally-applied voltage as a control signal (the range of possible control voltages is -5 V to +5 V in steps of approximately 0.00244 V for 12-bit cards and 0.0049 V for 16-bit cards). Timing is in units of minutes, and the resolution limit of the timing control system is 0.000278 minutes (1/60 second).
LabHelper lets you control the analog outputs (and the devices they are attached to) in two ways:
Analog output scripts are timed sequences of output voltages. Different scripts can be running simultaneously on each of the two AO channels. What you do with analog output scripts is more or less up to your imagination. There is an upper limit of 100 steps (but you can also set up a looping structure that will repeat part or all of the sequence).
Another option is feedback control. The computer reads a value (using the normal acquisition channels) and uses negative feedback principles to adjust a control voltage to an effector (such as a heater, pump, etc.) so as to maintain some user-set condition (or setpoint). An example would be a thermostat: you specify a desired temperature (the setpoint), and the computer reads the actual temperature and then adjusts a heater (or cooler) appropriately.
Analog output scripts and feedback control can be extremely useful, but.....
If you want to use the analog voltage output
options,
you need to read the following
cautions!
The National Instruments cards can only supply a control voltage at very low amperage. They cannot provide any significant power. Therefore, external devices, unless they run with extremely small current drains, cannot be driven directly by the Lab-NB, PCI-1200, -16XE-50 cards, or DAQCard-1200. Instead, use the card's voltage output only as a control or reference voltage for external devices that respond to control inputs in the range of ± 5 volts.
Warning: If you connect ANY external device to a computer, the responsibility for safe operation is yours, and yours alone. There are NO guarantees or warranties associated with Warthog systems, and I and the University of California will accept no liability of any kind for the use of this software.
Analog output scripts let you program timed sequences of analog output voltages
("scripts") from either of the two analog output channels on National
Instruments cards. These can be used to control any instrument or
other external device that responds to voltages (±5 volt range).
You can program two separate scripts, one for each channel, that run simultaneously
and independently (but you cannot use channel 2 for both output scripts
and feedback control at the same time). There are separate (but identical)
menu selections for setting up scripts for each of the two AO channels ("Analog
out #1 script" and "Analog out #2 script").
Each AO script can contain up to 100 steps. For each step you need to specify:
When these data are entered, press the 'add step' button to append the step to the script. As steps are added or modified, the computer shows a graphical display of the current script, including the total number of steps and the cumulative time (see example below).
For the script as a whole, you need to set:
Scripts may loop back upon themselves, in which case they will run indefinitely unless interrupted by an ending condition or by the conclusion of sampling. A loop can return to any step in the script.
You may modify a script by editing any step ('update' button), appending new steps ('add step' button), inserting new steps into the middle of the sequence ('insert' buttons), removing any step ('delete' button), or removing the entire script ('clear' button).
You can store and retrieve output scripts using the Open and Save selections in the D-A menu.
The AO script setup window looks like this example:
This script (for output channel 1) contains 8 steps lasting a total of 10 minutes. Ramped outputs occur in steps 2, 5, and 7. At the end of the sequence, a loop returns control to the first step. The script sequence will terminate if the "x" key is struck. It will start when the "s" key is struck (this is shown being selected from the pop-up menus in the upper right corner of the window). The pre-run voltage is zero and the post-run condition (when the "x" key is struck or data gathering ceases) is to switch to a value of 0.44 volts.
The Feedback control option
(channel 2 only) lets you use the principle of negative feedback to control
an external variable (such as temperature, flow rate, etc.). The computer
reads an input channel to get the current condition of the variable,
compares it to a user-defined setpoint, and adjusts the output voltage
to the effector (a device -- such as a heater or flow control valve
-- that influences the variable of interest). Note that the current
condition and the setpoint are in converted units (degrees C, ml/min, etc.)
-- not 'raw' voltages.
The main advantage of using the feedback control routines is flexibility and precision: you can specify a series of setpoints (up to 100) that occur at different times. This allows pre-programmed control of complex experimental conditions. It also helps insure that identical protocols are used in repeated experiments, which is critical in maintaining consistency.
However, you need to remember that feedback control is abolished when LabHelper is not running. More importantly, if the computer is unattended and a malfunction occurs, the feedback mechanism will fail, leaving the effector in an unpredictable condition. In some circumstances this could have very serious consequences. For example, you don't want to leave a high-wattage heating unit in an unregulated condition unless you are willing to risk overheating or even a fire. Accordingly, feedback control should always be used with caution, and whenever possible, with safety back-ups that are independent of the computer (for example, thermal cut-offs for emergency temperature control). |
Two additional caveats to keep in mind:
To set up a feedback control system, you need to tell the computer what's being regulated and how it should handle the regulation. As you enter data, the script is shown graphically (see the example below). For the script as a whole, you need to set:
For each step you need to specify:
When these data are entered, press the 'enter these values as a new step' button to append the step to the script. As steps are added or modified, the computer shows a graphical display of the current script.
You can modify a feedback script by first indicating the step to be changed ('edit step' button). You can then edit the step (by changing the setpoint, etc. and then clicking the 'modify as above' button) or remove the step ('delete' button). You can also remove the entire script ('clear' button).
You can store and retrieve output scripts using the Open and Save selections in the D-A menu.
A typical feedback setup is shown here:
In this example, we are using negative-slope feedback to control temperature (channel 4). This means that as temperature falls below the setpoint, an increasing control voltage is sent to the effector (here, a heater).
The feedback script contains series of decreasing temperature setpoints, starting at 20 C and eventually declining to -20 C before returning to 20 C. Each setpoint is maintained for 10 minutes and has a precision of ± 1 C and a regulatory voltage range of 0 to 5 volts. This means that when the temperature is exactly equal to (or higher than) the setpoint, a control signal of 0 volts will be sent to the effector. As temperature falls below setpoint, the control voltage to the effector increases. When temperature is more than 1 C below setpoint, the maximum control voltage (5 volts) is sent to the effector.
This script doesn't contain any loops, so it will stop automatically
at the conclusion of the last step (step 7); it will also stop when the
'q' key is struck. When not gathering data, LabHelper will
check and update the feedback condition every second.
OPEN AO DATA...
+O Loads a stored
script file into memory. After loading the script, the program checks
to see if a script sequence exists for either of the AO channels.
If a script does exist, that channel's menu selection is highlighted with
a check-mark.
SAVE AO DATA...
Saves an existing script file to disk (these files
have special icons: ).
The saved file contains complete data for both AO channels and for feedback
control.
go back to the LabHelper Topics page