From Saturday, Nov 23rd 7:00 PM CST - Sunday, Nov 24th 7:45 AM CST, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Saturday, Nov 23rd 7:00 PM CST - Sunday, Nov 24th 7:45 AM CST, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
You can find information about how to install NI-DAQmx and your DAQ hardware in the DAQ Getting Started Guide. The Getting Started with NI-DAQmx: Main Page refers to several useful FAQs, examples, and tutorials.
When NI-DAQmx is installed, it includes help documentation and examples for supported ADEs. This help documentation includes the NI-DAQmx Help, which you can access at Start»All Programs»National Instruments»NI-DAQ»NI-DAQmx Help.
Refer to the NI-DAQ Readme for device support lists. You can access the Readme at Start»All Programs»National Instruments»NI-DAQ»NI-DAQ Readme. You can also review the supported devices listed in the readmes on the online release notes pages.
You can use NI-DAQmx for Windows with a number of different programming languages including the following:
You can use NI-DAQmx for Linux with the following programming languages:
For additional information on programming using NI-DAQmx and text-based languages, refer to Using NI-DAQ in Text-Based Programming Environments, Python Resources for NI Hardware and Software and to the NI-DAQmx Readme.
NI-DAQmx for Windows works with many of the most popular ADEs. When installing NI-DAQmx, you can choose to install support for various ADEs including:
To install support for these ADEs, select the appropriate support during the NI-DAQmx installation. When you first install NI-DAQmx, expand the NI-DAQmx section on the feature tree. Then, select the APIs you plan to use to install the appropriate support. If you have already installed NI-DAQmx and want to change your preferences, run Add/Remove Programs. Select the NI Software entry and click Change. Next, select NI-DAQmx on the list of NI software installed on your machine. Click Modify to launch the NI-DAQmx installer, where you can specify your API support preferences. When installing NI-DAQmx for Linux, you can choose to install support for the following ADEs including:
NI-DAQmx supports the following operating systems:
See NI-DAQmx and Microsoft Windows Compatibility to get the latest compatibility information.
The NI-DAQmx installer includes driver support for various programming languages and application development environments. In addition, the installer includes NI Measurement & Automation Explorer (MAX) software. The installer includes the following components:
If you are using a Microsoft development environment, consider using Measurement Studio to dramatically reduce your application development time. Measurement Studio provides tools designed specifically for Microsoft Visual Basic, Visual C# .NET, and Visual C++ to bring you simplified integration with data acquisition and instrument control interfaces for easier hardware integration.
With the LabVIEW Project Explorer, you can create and organize NI-DAQmx tasks, global virtual channels and scales within the LabVIEW project. These components are saved with the project and are not added to MAX. Refer to Using NI-DAQmx with LabVIEW Project for more information. Learn 10 Functions in NI-DAQmx and Handle 80 Percent of Your Data Acquisition Applications.
For a full description of how these tools compare, use the driver comparison chart at ni.com/dataacquisition/software.
Although NI-DAQmx and NI-DAQmx Base have a similar API, the two APIs also have completely different architectures.
NI-DAQmx Base does not have several of the software features included with NI-DAQmx. A few of the features available only in NI-DAQmx include the following:
While NI encourages you to take advantage of NI-DAQmx benefits in your applications, there are a couple of situations where using NI-DAQmx is not ideal.
Install and use Traditional NI-DAQ (Legacy) if one of the following situations apply:
Install and use NI-DAQmx Base if one of the following situations apply:
For additional help deciding which driver software option is right for you, use the following resources:
When you purchase hardware supported by NI-DAQmx for Windows from NI, you receive an NI-DAQ CD that contains the latest version of NI-DAQmx for Windows.
You can download the latest version of NI-DAQmx for Windows and NI-DAQmx for Linux for FREE using the following steps:
For your convenience, NI also offers copies of the NI-DAQmx for Windows and NI-DAQmx for Linux CDs for a small fee to cover administrative costs.
NI-DAQmx is localized into six languages: English, French, German, Japanese, Korean, and Simplified Chinese. Increasing support for localized languages is a key priority for NI-DAQmx releases. For the latest information on device, software, and documentation localized support, please refer to the NI-DAQmx Readme.
The DAQ Assistant is a step-by-step guide that helps you configure DAQ tasks, virtual channels, and scales with zero programming required. You can launch the DAQ Assistant from NI application software for Windows such as LabVIEW, LabWindows/CVI, Measurement Studio, or MAX.
Using the DAQ Assistant, you can do the following:
Note: You must use version 7.x or later of LabVIEW, LabWindows/CVI, and Measurement Studio to use the DAQ Assistant. You also can use the DAQ Assistant to generate NI-DAQmx code, run your tasks and global virtual channels, or move your tasks and channels to other systems.
The DAQ Assistant is built on top of the NI-DAQmx API and can serve as both a configuration tool and a learning tool to help you get up to speed quickly on the new NI-DAQmx API.
After configuration, the DAQ Assistant Express VI in LabVIEW contains all the API code necessary to run your configured task, but it is hidden from the block diagram. If you want to view or modify the API functions in your configuration instead of using DAQ Assistant dialogs, the DAQ Assistant includes code-generation capability for LabVIEW, LabWindows/CVI, and Measurement Studio applications.
An NI-DAQmx task is a collection of one or more virtual channels with timing, triggering, and other properties. Conceptually, a task represents a measurement or generation you want to perform. You can set up and save the configuration information in a task and use the task in an application.
In NI-DAQmx, you can configure virtual channels as part of a task or separate from a task. Virtual channels created inside a task are local virtual channels. Virtual channels defined outside a task are global virtual channels.
You can create global virtual channels in MAX or in your application software and save them in MAX. You can use global virtual channels in any application or add them to a number of different tasks. If you modify a global virtual channel, the change affects all tasks that reference that global virtual channel.
Tasks are necessary for any operation that utilizes timing and/or buffered operations. On demand operations can also utilize tasks to reuse settings and improve performance. Also, tasks can contain multiple physical channels and global virtual channels with different gain, terminal configuration and custom scaling settings while using the same timing settings.
A global virtual channel references only a single physical channel and does not contain timing or triggering. However, a global virtual channel can be contained and referenced by multiple tasks, making them ideal for channels that need to be used in multiple tasks while maintaining settings such as physical channels, terminal configuration and custom scaling.
With NI-DAQmx 7.4 and later, you can programmatically create and save tasks, global virtual channels, and scales. The programmatically saved objects appear in MAX, and you can use them in the DAQ Assistant and in your applications.
Programmatically saving tasks, channels, and scales simplifies system configuration and deployment to multiple locations and reduces the chance for error and need for debugging.
Using MAX, you can export your system configuration for use as a backup or for deployment to other machines.
Use the export wizard to copy configuration data from a system to a file. To start the Export Wizard, select File»Export in MAX.
Property nodes are LabVIEW constructs that you can use to access attributes on the referenced object. NI-DAQmx uses these constructs to provide complete programmatic control for all properties supported by the NI-DAQmx API, and these property nodes form the base functionality of the API.
In addition to property nodes, NI-DAQmx also provides a set of NI-DAQmx VIs that you can use to write your application. These VIs are functionally equivalent to using property nodes but are generally easier and more convenient to use. For instance, the following two examples are equivalent in functionality; however; the first example uses NI-DAQmx VIs, and the other example uses NI-DAQmx property nodes.
For most applications, NI-DAQmx VIs provide the functionality required. However, for more advanced applications, you may need the property nodes to access some driver attributes and features.
Even with Filtering, the list of property nodes for a device can be extensive. To view a tree of the properties in the property node, right click on the property selector and click Select Property.
With this dialog box, you can browse the entire property node hierarchy. You can search for properties by clicking the search icon in to upper right hand corner of the Select Property dialog box.
With NI-DAQmx for Windows 7.4 and later, you can create an NI-DAQmx simulated device of most devices supported by NI-DAQmx and add it to your hardware configuration in MAX. Then, you can use the simulated device in your application software. For instructions for creating an NI-DAQmx simulated device, refer to the Measurement & Automation Explorer Help for NI-DAQmx.
NI-DAQmx simulated devices are useful for creating and running NI-DAQmx programs and for trying out tools such as the DAQ Assistant without any physical hardware present.
Tasks using NI-DAQmx simulated devices are verified just as they are on real devices. If a property is set to an invalid value, the error returned for a simulated device is identical to the error returned for a real device. All resources necessary for the task are reserved for NI-DAQmx simulated devices. RTSI lines, PXI trigger lines, DMA channels, counters, and so on are counted and reserved just as they are on real devices.
With NI-DAQmx version 8.6 and newer, the NI-DAQmx driver is signed in accordance with Microsoft policies for driver signing. In addition to assuring system security, this feature allows for select NI USB DAQ devices to be installed on a Windows XP machine without requiring Administrator privileges or manually accepting a Windows prompt to install a device driver. In many situations including academic labs and using a machine as a guest, it is not possible to get Administrator privileges. A signed NI-DAQmx driver now alleviates the situation as long as the driver was originally installed by an Administrator. Supported devices include:
For Windows Vista x64 Edition, Microsoft requires a digital signature on all drivers. By requiring new, signed drivers, Microsoft aims to reduce failures and improve stability by shining a spotlight on vendor responsibility for bugs. With Windows Vista x86, administrators can install unsigned drivers, but Microsoft continues to discourage their use. All NI-DAQmx data acquisition devices are digitally signed for Windows Vista x86 and x64. With digital signing, all devices will install without user prompts or Administrator privileges. PCI devices will install automatically upon start up, and USB devices will install when plugged in and (if necessary) powered on.
NI-DAQmx includes support for LabVIEW, which can take advantage of the increased processing power of multicore processor technology. LabVIEW is multithreaded and inherently parallel. When used with a multithreaded driver such as NI-DAQmx, the LabVIEW compiler automatically finds parallelisms in the code and assign them to run on separate processors to optimize operation.
Along with LabVIEW, NI-DAQmx is now optimized for multicore systems. Originally, NI-DAQmx was introduced to provide a new easy-to-use, high-performance driver that would allow the next generation of data acquisition systems to keep pace with emerging PC technologies. One of the performance improvements of NI-DAQmx is multithreaded access. The ability to access the driver from multiple threads unblocks system bottlenecks and can greatly improve performance in DAQ applications. With the emergence of multicore PCs, NI-DAQmx now allows I/O tasks to execute in parallel on different cores through multithreaded operation.
Additionally, NI-DAQmx leverages the new multithreaded support added in LabVIEW Real-Time providing greater performance on multicore real-time targets. Multiple NI-DAQmx real-time tasks can execute in parallel on different cores allowing real-time DAQ applications to fully utilize the multicore architecture of modern processors.
NI-DAQmx provides support for PC buses including USB 2.0, PCI, PCI Express, PXI, and PXI Express. Unlike other data acquisition drivers, NI-DAQmx provides a bus and device impartial framework to allow for the same driver and developed application to run on multiple devices. For instance, an application originally developed for use with the PCI-6229 low-cost M Series device also works with the PXI-6281 high-accuracy M Series device, the USB-6259 BNC high-speed M Series device, and more.
You can select different runtimes of the NI-DAQmx driver to decrease the disk space by more than 70 percent. This allows you to repackage NI-DAQmx so that you can install it with your deployed applications.
NI-DAQmx installs much more than just the basic .dll driver. NI-DAQmx is a componentized, extensible driver software package featuring necessary components required to simplify configuration, device management, development, and cross-device functionality. In addition, NI-DAQmx includes a set of measurement services which go far beyond a basic API to make device function calls. NI-DAQmx includes Measurement & Automation Explorer (MAX), documentation, examples, and the DAQ Assistant.
The NI-DAQmx installer extracts the installation files to your hard disk in the C:\National Instruments Downloads\NI-DAQmx folder. After the installation of NI-DAQmx is complete, the installation files remain on the hard disk and take up close to 1 GB of disk space. If you ever need to free up disk space on your hard disk, you can delete these files without affecting the functionality of NI-DAQmx. However, in the future, if you wish to install additional features of NI-DAQmx or include NI-DAQmx in an installer created in LabVIEW, you must extract these files back onto your hard disk or place them on a CD-ROM.
Many deployed LabVIEW and NI LabWindows/CVI data acquisition applications do not require support for all of the functionality of the NI-DAQmx driver and utilities. With NI-DAQmx version 8.6.1 and previous, you can deploy five different runtime versions of NI-DAQmx, ranging from the full-featured driver to a size-optimized runtime engine. With any version 8.7.1 or newer, the only install type selectable is Full. The additional options were removed because omitting specific features such as Measurement & Automation Explorer (MAX), makes it much harder to program the source files that use the DAQmx driver. Before choosing a limited runtime of NI-DAQmx, be aware of the difficulty in future development if building an NI-DAQmx installer with the limited selections.
With NI-DAQmx, you can either build the different runtime engines yourself while building an installer for your LabVIEW application, or you can download one of the different runtimes from ni.com. The following sections describe the five different NI-DAQmx runtime engines and provide possible use cases for each version.
Complete the following steps to access the custom runtime capabilities:
This distribution installs all the driver software included in NI-DAQmx.
Use Case: This is the default selection when building a custom installer that includes NI-DAQmx. Use this version if you need to do additional development in NI-DAQmx on your target machine.
This distribution installs all the driver software included in NI-DAQmx but does not include:
Use Case: If you are deploying your NI-DAQmx application into an executable that requires no further development, and you used the DAQ Assistant in the development of the application, you can use this option when creating the NI-DAQmx installer.
This distribution installs all the driver software included in NI-DAQmx but does not include:
Use Case: If you are deploying your NI-DAQmx application into an executable that requires no further development, and you did not use the DAQ Assistant in the development of the application, you can use this option when creating the NI-DAQmx installer.
This distribution installs all the driver software included in NI-DAQmx but does not include:
Use Case: If you are deploying your NI-DAQmx application into an executable that requires no further development, you did not use the DAQ Assistant in the development of the application, and you do not require NI-DAQmx documentation including help files on your target machine, you can use this option when creating the NI-DAQmx installer.
This distribution installs all the driver software included in NI-DAQmx but does not include:
Use Case: If you are deploying your NI-DAQmx application into an executable that requires no further development, you did not use the DAQ Assistant in the development of the application, you do not require NI-DAQmx documentation including help files on your target machine, and the application will not be deployed to a LabVIEW Real-Time target, you can use this option when creating the NI-DAQmx installer.
This distribution installs all the driver software included in NI-DAQmx but does not include:
Use Case: If you are deploying your NI-DAQmx application into an executable that requires no further development; you did not use the DAQ Assistant in the development of the application; you do not require NI-DAQmx documentation including help files on your target machine; the application will not be deployed to a LabVIEW Real-Time target; and you do not require MAX for such things as troubleshooting installation, setting up device configurations including device names, tasks, scales, and channels, you can use this option when creating the NI-DAQmx installer.
The NI-DAQmx task state machine keeps track of which configuration operations you need to perform before a data acquisition or generation can begin. Configuration operations include checking the configuration (verify), reserving resources (reserve), and programming the hardware (commit).
NI-DAQmx implements a state machine to ensure that expensive operations such as task verification, resource reservation, and hardware programming are performed only when needed. A DAQ application can benefit from improved performance when performing explicit configuration operations outside the main acquisition or generation loop. NI-DAQmx offers explicit commands that cause a verify, reserve, or commit operation to be performed. When a task is explicitly verified, reserved, committed, or started outside an acquisition or generation loop, NI-DAQmx does not repeat these operations at every loop iteration, so overall, the application runs faster.
For additional information about each of the NI-DAQmx states, refer to the NI-DAQmx Help.
Disk I/O bandwidth, CPU bandwidth, and bus bandwidth are the primary factors that limit streaming-to-disk performance.
The typical system with an IDE drive is primarily limited by the disk throughput.
Potential improvements include adding a dedicated drive or controller for streaming. A dedicated drive circumvents performance problems due to fragmentation and disk access by the OS or other application. High-speed drives and a high-speed RAID controller increase the disk I/O bandwidth.
Note: Check the CPU bandwidth and bus bandwidth before investing in drives and controllers to avoid increasing disk I/O beyond what you can realistically use.
For unscaled data, processor bandwidth generally impacts performance only in systems where a high-speed RAID controller has been installed. In these systems, the CPU can impact how quickly you can retrieve and write acquired data to the disk drive. Even with a dedicated RAID controller, a portion of the CPU bandwidth is consumed while writing data to disk. For scaled data, processor bandwidth is often the limiting factor.
Increasing the number of CPUs in the system and the speed of the CPUs increases the system bandwidth.
Even when a CPU uses less than 100 percent, minimize tasks and operations done in parallel. Competition for scarce resources can lower streaming-to-disk performance.
Finally, tune the streaming code for the particular system. For systems with multiple CPUs, executing some code in parallel may increase the throughput of the system.
Note: Parallel disk I/O operations to the same drive generally reduce performance.
Optimize code to avoid memory copies and other operations that waste CPU bandwidth.
A typical desktop system with a single PCI/PXI bus can be limited by bus bandwidth. The theoretical bandwidth for standard PCI/PXI is around 130 MB/s. The actual bandwidth is lower depending on the amount of bus contention. Generally, more devices operating at the same time on the same bus lower bus bandwidth.
Note: A single NI 6115 DAQ device can generate 80 MB/s of data.
Increasing the number of buses in the system is the only way to increase bus bandwidth. For example, some high-end motherboards include two or more independent PCI buses. This helps you set up a system with a RAID controller and DAQ devices on separate buses. For these motherboards, bridge chips may limit the total throughput of all of the combined buses.
NI-DAQmx primarily affects streaming-to-disk performance because it uses CPU bandwidth while moving and scaling data acquired by devices. Therefore, on systems where CPU bandwidth is a limiting factor, it is critical that NI-DAQmx efficiently uses the CPU.
NI-DAQmx has undergone multiple optimizations since its first release to reduce CPU usage while reading and writing. For example, between the NI-DAQ 7.3 and 7.4 releases, the performance of scaled analog input benchmarks has increased from 8 to 60 percent. The performance of unscaled analog input benchmarks has increased from 12 to 40 percent. The performance increase translates directly to higher streaming-to-disk throughput on systems where CPU bandwidth is an issue.
NI-DAQmx implements an extremely simple form of compression. Bits at the end of samples are simply thrown out and the resulting samples are packed into memory. NI-DAQmx does not implement any other lossless or lossy compression algorithms such as LZW or JPEG.
In some cases, no data is “lossed” because the samples already contain unused bits. For example, a channel with 12-bit resolution and a 16-bit sample size contains four unused bits. You can discard the four bits with no loss while reducing the required disk space by 25 percent.
In addition, you can configure NI-DAQmx to discard one or more of the least significant bits in a sample. For example, you can configure a channel with 24-bit resolution and a 32-bit sample size to return only the 20 highest-order bits. A total of 12 bits are discarded, including eight unused bits, which reduces the required disk space by 37.5 percent.
Upgrading from Traditional NI-DAQ (Legacy) to NI-DAQmx offers a number of benefits. One important reason is that NI engineers focus on improving the productivity and performance of NI-DAQmx, not Traditional NI-DAQ (Legacy). NI-DAQmx users stand to reap the benefits of innovation if they are using the latest version of NI-DAQmx.
Independent of the current engineering efforts, users may choose to upgrade to NI-DAQmx simply because of software feature advantages when compared to Traditional NI-DAQ (Legacy). A few of these advantages include the following:
Another reason to upgrade to NI-DAQmx is to take advantage of the latest DAQ hardware NI offers. The newest and most innovative DAQ devices provide technologies available with no other vendor and on no other devices. The latest NI DAQ devices are supported only by NI-DAQmx.
The Developer Zone at ni.com includes excellent resources for helping Traditional NI-DAQ (Legacy) users upgrade their applications to NI-DAQmx.
There are three tutorials available depending on the desired method of transition:
These show that although many of the programming techniques are similar between Traditional NI-DAQ (Legacy) and NI-DAQmx, there are some slight differences. This tutorial describes the similarities and differences between the most common VIs and functions in each of the APIs.
The next step can be found here: Learn 10 Functions in NI-DAQmx and Solve 80 Percent of Data Acquisition Applications, which describes how you can use NI-DAQmx to replace dozens of Traditional NI-DAQ (Legacy) functions and VIs with 10 functions and VIs in NI-DAQmx. This tutorial illustrates how to use each of the 10 VIs that make up the NI-DAQmx API core."
For users who plan to upgrade to NI-DAQmx but want to use their current Traditional NI-DAQ (Legacy) applications with new NI-DAQmx-supported hardware, NI has created the Traditional NI-DAQ (Legacy) compatibility VIs. These VIs replace certain Traditional NI-DAQ (Legacy) VI libraries with libraries that work with both Traditional NI-DAQ (Legacy) and NI-DAQmx. These VIs look identical to the existing Traditional NI-DAQ (Legacy) VIs and integrate seamlessly into existing applications. The compatibility VIs were created to use while waiting for the application to be rewritten using NI-DAQmx, but you can still use NI-DAQmx-only devices.
Note: These VIs do not support all features on all devices and are not guaranteed to be updated with future revisions. To learn more about these VIs, visit ni.com.
Additionally, the NI Web site has thousands of DAQ example programs available at ni.com/examples. Hundreds of these examples show how to use NI-DAQmx to accomplish the most common DAQ tasks.
You can use Traditional NI-DAQ (Legacy) and NI-DAQmx at the same time if you have two DAQ devices and one of them is using Traditional NI-DAQ (Legacy) and the other NI-DAQmx. If you only have one DAQ device, you can still use both Traditional NI-DAQ (Legacy) and NI-DAQmx but only in sequence – not at the same time. You need to reset your device to switch between Traditional NI-DAQ (Legacy) and the NI-DAQmx driver as part of the sequence.
In LabVIEW, use the Device Reset VI at the end of Traditional NI-DAQ (Legacy) sequence and the DAQmx Reset Device VI at the end of your NI-DAQmx sequence. You still need to create a Traditional NI-DAQ (Legacy) virtual channel and an NI-DAQmx Task for use with each driver respectively.
You can now use the Export function in NI-DAQmx to transfer your hardware configurations between machines.
Go to MAX and select File»Export to start the Configuration Export Wizard. Using this wizard, you can select the configurations to export and save them to a file of your choice for exporting. To import the configurations, go to MAX, File»Import and import the configurations from the file generated by the Configuration Export Wizard.
SCXI channel strings used in Traditional NI-DAQ (Legacy) are no longer used with NI-DAQmx. The format is now SCxMody/channel.
The table below shows similar NI-DAQmx and Traditional NI-DAQ (Legacy) VIs to help convert them:
Traditional NI-DAQ (Legacy) | NI-DAQmx |
Counter Group Config VI | DAQmx Create Channel VI |
Counter Set Attribute VI | DAQmx Channel Property Node VI |
Counter Source (TIO) VI | DAQmx Trigger Property Node VI |
Counter Source (STC) VI | DAQmx Property Node VI |
Counter Control VI | DAQmx Start VI |
Counter Get Attribute VI | DAQmx Read VI |
Counter Control VI | DAQmx Stop VI |
Refer to the Transition Traditional NI-DAQ to NI-DAQmx tutorial in the Developer Zone at ni.com for additional help on writing counter applications in NI-DAQmx.
If you are doing double-buffered I/O, you would most likely be polling the buffers to continuously acquire data. In NI-DAQmx, you can achieve this simply by using the NI-DAQmx timing function and setting the Sample Mode parameter to Continuous.
NI-DAQmx uses circular buffers. For input operations, portions of data are read from the buffer while the buffer is filled. Likewise for output operations, portions of the buffer can be written to while the buffer is emptied. Using a circular buffer, you can set up your device to continuously acquire data in the background while NI-DAQmx retrieves the acquired data.
Refer to the Measurement & Automation Explorer Help for NI-DAQmx for instructions on configuring SCXI devices.
You can still set SCXI module properties in MAX by selecting NI-DAQmx Devices, right-clicking the SCXI chassis, and selecting Properties. You see each module that resides in your chassis and you can set the properties of each module by clicking the Details tab.
The only property not exposed in MAX is the gain setting. NI-DAQmx can automatically configure the device for the best gain settings based on the I/O limits of your signal.
Note: NI-DAQmx for Linux does not include MAX but does include a separate utility for configuring hardware devices including SCXI.
In NI-DAQmx, you can simplify your program by using the general DAQmx Create Channel functions and select Counter Output»Pulse Generation»Frequency. In Traditional NI-DAQ (Legacy), you must use the Generate Pulse Train function to define the polarity, frequency, and duty cycle of the pulse train. Besides frequency and duty cycle, NI-DAQmx uses the Idle State parameter to configure the polarity of the pulse train.
Future NI DAQ devices will be supported by NI-DAQmx but not by Traditional NI-DAQ (Legacy). NI engineers focus on the productivity and performance of NI-DAQmx instead of using resources to develop legacy driver software.
Refer to the NI-DAQ Readme for a complete list of device support.
NI has no plans to continue developing Traditional NI-DAQ (Legacy). However, to maintain existing applications, NI will continue to support Traditional NI-DAQ (Legacy) and make it available for users.
DAQ performance in a user application is a combination of many factors, including sampling rate, bus speed, driver performance, analysis, and other operations. NI-DAQmx can increase application performance over Traditional DAQ (Legacy) in many applications because of the driver architecture improvements including the following:
NI-DAQmx offers better single-point I/O performance than Traditional NI-DAQ (Legacy) in almost every case. However, there are cases when Traditional NI-DAQ (Legacy) offers better performance.
Specifically, NI-DAQmx offers better single-point performance for the following:
Traditional NI-DAQ (Legacy) offers better performance for the following:
The NI-DAQmx team is constantly working on new features that improve the performance of the driver.
Note: Traditional NI-DAQ (Legacy) users may not be familiar with hardware-timed single point. More specifically, these applications use hardware timing, a buffer size of zero, and reading or writing one sample at a time.