1. Professional Tool #1: Virtual Channel Calibration
Engineers and scientists developing data acquisition applications can now use the new Channel Calibration Wizard to quickly calibrate the entire measurement path for a channel – from the sensor through to the measurement device – and then apply the resulting correction to every measurement taken on that channel. Engineers calibrate the measurement by applying an external calibration reference and the measured value is compared to the actual value. This calibration supplements internal device calibration by also accounting for errors introduced by the sensor, signal conditioning, and cabling. Many existing drivers only offer device calibration and neglect the inaccuracies introduced through the rest of the measurement path.
Developers can calibrate analog input virtual channels using the Channel Calibration Wizard from the DAQ Assistant.
Follow these instructions, also included in the NI-DAQmx Help, to complete calibration of a virtual channel.
2. Click the Calibration tab in the DAQ Assistant.

Figure 1. Calibrate analog input virtual channels with NI-DAQmx
3. Select one or more virtual channels from the Channel List. You must select only one type of virtual channel. If you select virtual channels of different measurement types, the Calibrate button is disabled.
4. Click Calibrate. The Channel Calibration Wizard launches.
5. Complete the screens to calibrate the selected virtual channel. You can calibrate as many data points as needed to produce a calibration table. The Channel Calibration Wizard stores a set of calibration properties for each virtual channel you calibrate. Select Properties in the Calibration tab of the DAQ Assistant to view calibration history, verify the calibration, re-calibrate the selected virtual channel(s), and generate a calibration report.
6. After calibrating the virtual channel, click Enable Calibration to enable or disable the calibration. If Enable Calibration is disabled, the calibration is saved but not applied to the selected virtual channels. To delete a calibration, select one or more virtual channels in the Channel List and click Delete Calibration.
Refer to the example programs provided as well as the NI-DAQmx Help to learn more about this professional tool:
2. Professional Tool #2: Data Compaction for High-Speed Streaming to Disk
The primary factors which affect high-speed streaming to disk in a PC-based data acquisition system are disk I/O bandwidth, CPU bandwidth, and bus bandwidth. Assuming the professional developer has sufficient bandwidth for both the disk I/O as well as the bus, NI-DAQmx data compaction can provide significant performance gains for high-speed streaming to disk applications.
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 percent to 60 percent. The performance of unscaled analog input benchmarks has increased from 12 percent 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 data compaction. Bits at the end of samples are simply thrown out and the resulting samples are packed into memory. Developers 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. 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. NI-DAQmx does not implement any other lossless or lossy compression algorithms such as LZW or JPEG.

Figure 2. Use NI-DAQmx data compaction to improve high-speed streaming to disk performance
Refer to the example programs provided as well as the NI-DAQmx Help to learn more about this professional tool:
3. Professional Tool #3: Programmatic Saves of NI-DAQmx Tasks, Channels, and Scales
Many professional data acquisition system developers eventually need to deploy the developed system to one or more targets. Deployment refers to developing an application so that it can be distributed, or deployed, on a different computer than the one on which the application was developed. To deploy an application, developers need the saved application and any configuration information the application and system requires. NI-DAQmx and Measurement & Automation Explorer (MAX), using the MAX Export Wizard, allow users to export configurations, including device, task, channel, and scale configurations. To complete the deployment the developer simply needs to Import the configurations on the target system.
With NI-DAQmx 7.4 and later, professional developers can now programmatically create and save tasks, global channels, and scales. The programmatically saved objects appear in MAX and are available for use in DAQ Assistant and all your applications. This provides the developer with a second option for deployment of configuration information. This new option does not require the developer to import task, channel, and scale configurations using the MAX Import Wizard.

Figure 3. Developers can use NI-DAQmx to programmatically create and save tasks, channels, and scales
The ability to programmatically save tasks, channels, and scales helps professional developers to simplify system configuration and deployment to multiple locations, as well as reduces the chance for error and need for debugging.
Refer to the example programs provided as well as the NI-DAQmx Help to learn more about this professional tool:
4. Professional Tool #4: NI-DAQmx Simulated Devices
Beginning with NI-DAQmx 7.4, DAQ system developers can create NI-DAQmx simulated devices. Choose any device supported by NI-DAQmx and add it as a simulated device to the hardware configuration in MAX. This makes the simulated device available for use with any NI application software.

Figure 4. Create simulated devices using NI-DAQmx
NI-DAQmx simulated devices are useful for creating and running NI-DAQmx programs and for trying out tools such as DAQ Assistant or SignalExpress without any physical hardware present. Simulated devices are also useful for discovering the capabilities of a device without the physical hardware actually being present.
Tasks using 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 simulated devices. RTSI lines, PXI trigger lines, DMA channels, counters, and so on are counted and reserved just as they are on real devices.
NI-DAQmx also allows developers to programmatically determine if a device is a simulated device or not using an NI-DAQmx device property node.

Figure 5. Programmatically determine if a device is simulated
Refer to the NI-DAQmx Simulated Devices tutorial and NI-DAQmx Help to learn more about this NI-DAQmx feature.
5. Professional Tool #5: NI-DAQmx Graphical Timing and Triggering Configuration
The purpose of the application is to introduce you to a pair of front panels that pictorially display all the analog input timing and triggering capabilities of your M or E Series board. By manipulating the controls on these panels you will discover and configure all the timing and triggering attributes you need. The VIs that launch the panels may be placed in any LabVIEW 7.x program that will use analog input on an M or E Series board with the NI-DAQmx API. They can be used as an alternative to configuring the inputs and properties of the NI-DAQmx Timing, Triggering and Export Signal VIs and property nodes.

Figure 6. Graphical representation of E Series timing engine.
Refer to the available download and documentation to learn more about this NI-DAQmx tool.
6. Want more NI-DAQmx information?
NI-DAQmx driver software includes the professional tools introduced in this document in addition to many other software tools and features. To learn more about NI-DAQmx visit some of these additional resources:
