ksDAQ - Software for the National Instruments M-Series Boards
I have worked with about a half dozen of National Instrument's M-Series boards in personal and work projects. I love their products, but still lament their dropping of Delphi programming support. Yet, years later and with a little help from the Delphi programming community I am doing fine using these boards in my programs.
Whatever one programs with there is a learning curve to these types of things. To get up to speed on these boards I wrote a test program that over time grew as I used yet more and more of the capabilities of these boards. The result is a unit (module, reusable code) that I can use in other projects, plus a nice little program that I can use for basic digital and analog I/O, including reading thermocouples and thermistors. It has turned out to be very useful when making simple measurements and when diagnosing problems in a customer's system.
The software uses a tabbed notebook where each sheet is dedicated to a different type of measurement. A brief description and screen shots are shown in the tabbed panel below.
Availability: This software is not available for distribution yet, even though there are a few copies in the field already, being used in a limited capacity. But it needs more testing and validation. Plus, I'd like to provide a proper manual and on-line help with it. When time permits, or if it becomes a priority, I'll do just that.
- Device Status
- Analog In Scan
- Static Analog Out
- Digital I/O
- Analog In
- Analog In (0-15)
This sheet displays the status and features of the M-Series board. The memo on the right contains a log of the activity of this program.
Scan any or all of channels 0 through 15. Check the boxes to specify which channels to scan, enter the frequency and duration of the scan, then start the scan. When the scan is complete the readings will be listed in the table. This process will run once.
Analog output channels 0 through 3 will output the voltage (±10 volts) shown in the gauge and red text. Turning the knobs controls the voltage. This process will run continuously until the user halts it.
Select a digital I/O port and bank, click a radio box to specify if the line is to be used for input, output, or not used. Click the square buttons to toggle the state of output lines. This process will run continuously until the user halts it.
Select the input voltage range, specify the channel type, and then the channel number. The readings will be displayed in the LED text and the dial gauge. This process will run continuously until the user halts it.
Specify the type of thermocouple, the channel number, the number of readings to average, and the cold-junction compensation method. The temperature readings will be displayed in the LED text and using the dial gauge. This routine runs continuously until stopped by the user.
Specify the channel and the thermistor constants and read the temperature on the dial gauge and the dot-matrix. This routine runs continuously until stopped by the user.
Specify the voltage range and click the "Start" button. The voltage readings obtained from single-ended input channels 0 - 15 will be displayed using the dial gauges. This routine runs continuously until stopped by the user.