Well, OK. The title should be "Commercial Data Acquisition
Software." That was a little hard to fit, though. Most
commercial data acquisition hardware comes with software to use it.
However, what you want to do may not be what the hardware manufacturer
anticipated. So, most of us need another alternative. Often, the
manufacture provides software drivers that interface with the hardware, and
define an API (Application Programming Interface) that you can use to control
the hardware and to send and receive data to and from it. The ActiveX OCXs
that I have written for the simple hardware described elsewhere on this web site
are designed to make the APIs less daunting to use. Writing such an
ActiveX object to utilize the API is a valid way to approach the problem.
However, NIH (Not Invented Here), often is not the best approach. If I
can find a vendor of a commercial add-on that meets my needs, I will always
recommend that it be used. Of course, the relevant qualification is,
"meets my needs." These needs fall into loose categories:
Does it work?
Does it cost less to purchase and distribute, than it would cost to
write? This includes "total cost of ownership" and can be
hard to analyze. However, the effort is well worthwhile.
Don't forget to include the possibility that your project needs may expand
in the future. So, the additional flexibility that you often find in
commercial add-ons may provide the extra justification that you need to use
A general purpose (usable with a number of different data
acquisition vendor's hardware), product that I have used is National Instruments
Measurement Studio. This product is powerful, flexible, and reasonably
priced. It may not be a panacea, but it should be strongly
considered. Here are some of Measurement Studio features:
ActiveX controls are provided for building professional User
Interfaces. These controls include: thermometers, gages, piping,
vessels, motors, pumps, knobs and sliders, numeric edit,
buttons, and a graph/strip-chart control. These are designed to provide the UI
elements that are needed for instruments and data acquisition systems.
They are a great time-saver.
ActiveX controls are provided for controlling specific types of data
acquisition hardware. These include: AIPoint control (single
analog input), AI control (waveform analog input), AOPoint control (single
analog output), AO control (waveform analog output), DIO control (single
point digital input), DI control (buffered digital waveform input), DO
(buffered digital output), Counter control (counting and timing
measurement), and Pulse control (digital pulse and pulse-train generation).
These work with National Instruments DAQ hardware product line.
Included is the VISA control. VISA is a standard I/O API for
interfacing with various physical instrument interfaces (serial, GPIB, and
VXI bus). This allows the user to build software that is independent,
as much as possible, from the actual hardware that may be used.
ActiveX controls are included for Analysis and Control. These
functions are: AC/DC estimator, amplitude/phase spectrum analysis,
audio power spectrum analysis, cross-power spectrum analysis (FFT, etc.), impulse
response, network functions, peak detector, power frequency estimate, scaled
window, spectrum unit conversion, threshold peak detector, and transfer
DataSocket controls and tools also are provided. These allow you to
read, write, and share data on single machines, or multiple machines on a
network, including the Internet.
A complete User Manual with tutorials and example programs are furnished
with Measurement Studio.
Now supports Microsoft Visual Studio .NET, with native .NET
Another alternative that you may want to consider are the
toolkits from IOComp. I have used
the iScopeX component from the Ultra Pack to interface with DacOCX. Read
a review of this product that I wrote for VBxtras (click here). Download
an example from the DacOCX downloads page.
Another product that I have not yet had the opportunity to explore, but that
appears to have some features that may be quite attractive, is Matlab Data
Acquisition Toolbox from The MathWorks.
This software supports a broad range of data acquisition hardware. It is a
complete design environment. The language syntax is quite like
Pascal. This product requires Matlab 5.3 (or later).
Well, what about Microsoft Excel™?
Yes, it makes a fine display and analysis tool. Automation and programming
using VBA (Visual Basic for Applications) is straight-forward. And,
fortunately, many of us already have it on our desktop machines. Rather
than to provide an example here, I am providing a link to an article in EDN
Magazine. Alexander Bell (no, not that one), of Intersoft International,
"Add voice command to virtual instrumentation" in the May 30, 2002 issue.
While I find the voice command portion of the code, and the rational behind the
article, of limited interest, the actual charting, toolbar usage, and
implementation of the Excel Analysis ToolPak VBA add-in to be quite worthwhile
and instructive. Click the link to view the article and to download the
See the links on the left for some more software alternatives.