Cut Setup and Programming Time With NI-DAQmx
-- Test & Measurement World, 12/12/2003
With the goal of cutting setup and programming time for data-acquisition
systems, National Instruments has rewritten its NI-DAQ drivers for its line of
data-acquistion, imaging, and signal-conditioning cards. NI-DAQmx brings many
functions and features found in programming environments and moves them down to
the driver, thus making it easier to setup and run a card.
The move is analogous to how Microsoft adds features to its operating systems. For example, do you remember how you used a browser under Windows 3.1? To connect to your ISP, you had to install a TCP/IP stack and dialer such as Trumpet Winsock, then first connect to your ISP before opening Netscape. Now, everything you need to browse the Web comes in Windows. NI-DAQmx does the same thing for data-acquistion.
When you think of a driver, you think of software that gives application programs access to hardware fuctions. Of course, NI-DAQmx still provides that. But this version (also called NI-DAQ 7) consists of several function blocks. Collectively, NI refers to these blocks as "Measurement Services."
Starting from the top, a configuration manger--part of the Measurement and Automation Explorer--finds all NI data-acquisition cards in your system and lets you configure them. Test panels, analogous to VXIplug&play's soft-front panels, let you operate a card and prove that your system can communicate with it. The automation explorer will also locate and identify sensors that use Transducer Electronic Data Sheet (TEDS) technology. TEDS, also known as IEEE 1451.4 sensors, contain identification and calibration data that the sensor can download into a computer. Thus, you can cut setup time because NI-DAQmx can retrieve sensor data for you.
The next step in setting up an instruments cards comes in the DAQ assistant. This function moves down from LabView 7 into NI-DAQmx, provides step-by-step, menu-driven setups for your hardware. Because this function now resides in the driver, you can programmatically configure a card from languages other than LabView.
Another function brought down from LabView and LabWindows/CVI is a code generator. But, because the code generator resides in the driver software, it will generate code that you can import into text-based lanaguages, too. For example, you can generate code in C, C++, C#, Visual Basic.NET, or any other language supported by Microsoft Visual Studio. You no longer have to write your own application code to make driver calls.
The application programming interface, which gives you access to the hardware, does more. In much the same was that GPIB instrument drivers may add functionality to an instrument, NI-DAQmx provides scaling of an ADC's raw counts into volts. It also provides functions such as device and system calibration.
NI-DAQmx's driver engine has been completely rewritten. Thus, it adds featrues such as multithreading and multi-device triggering. Multithreading (also brought down from LabView) lets the driver control several hardware functions at once. Thus, you can simultaneously perfrom hardware operations with languages other than LabView. Muti-device triggering lets you trigger several cards based on a single measurement or event.
The rewritten driver engine dramatically speeds hardware operations when conducting single-point I/O control. In control applications where the hardware takes a single measurement and generates a correponding analog output for control applications. NI-DAQmx outperforms its predecessor, NI-DAQ 6.9, by about 10x.
NI-DAQmx comes with all National Instruments data-acquisition cards.


















