NI-DAQmx basics
Understand the driver, API, software package and how it relates to tools such as MAX and the DAQ Assistant.
Manufacturing Test Data Resource
Browse manual-grounded NI-DAQmx FAQ answers with section and page references. For faster help, request free early access to our NI-DAQmx User Manual assistant.
This page contains NI-DAQmx FAQ answers generated from the NI-DAQmx User Manual. Each answer is included as indexable page content with a manual section and page reference.
The early-access assistant uses the same manual-grounded approach, but lets you ask questions directly and get answers faster. For the original source, open the NI-DAQmx User Manual.
Understand the driver, API, software package and how it relates to tools such as MAX and the DAQ Assistant.
Look up manual-grounded explanations for physical channels, virtual channels, tasks, custom scales and naming conventions.
Check how the manual describes sample clocks, finite and continuous sampling, hardware timing, buffers and read/write behavior.
Find references for measuring and generating voltage, current, temperature, digital values and related data formats.
Review cited manual sections for counters, pulses, trigger types, signal routing and synchronization behavior.
Use the manual references for TDMS logging, simulated devices, deployment and distributed application topics.
Browse the indexed FAQ answers below, or request early assistant access to ask follow-up questions faster.
Use the FAQ stack below to check the manual-grounded answer and page reference.
Use the FAQ stack below to find the cited manual section and page reference.
Use the FAQ stack below to check the manual-grounded definition and page reference.
Browse manual-grounded NI-DAQmx FAQ answers. Each answer includes the NI-DAQmx User Manual section and page reference used to support it.
NI-DAQmx is the driver software used to communicate with and control NI data acquisition (DAQ) devices.
Manual reference: NI-DAQmx Overview, p. 27
Who Must Use Traditional NI-DAQ (Legacy) Install and use Traditional NI-DAQ (Legacy) if one of the following situations apply: Simpler, more intuitive APIs for creating DAQ applications using fewer functions and VIs than earlier versions of NI-DAQ.
Manual reference: Measurement Studio., p. 273
Strain gage rosettes are used to perform such measurements. Full-Bridge Type III Circuit Diagram
Manual reference: Full-Bridge Type III Circuit Diagram, p. 621
Use this workflow from the manual:
Manual reference: LabVIEW; LabVIEW require properties. ANSI C and LabWindows/CVI employ the Get and Set, pp. 29, 75
Use this workflow from the manual:
Manual reference: LabVIEW require properties. ANSI C and LabWindows/CVI employ the Get and Set; How does DAQmx Work Together with Other Applications and, pp. 75, 28
Use this workflow from the manual:
Manual reference: Measurement Studio with Visual C++, Visual C#, or Visual, p. 30
Use this workflow from the manual:
Manual reference: DAQmx ANSI C directory., p. 31
SignalExpress If you use your NI-DAQmx-supported device in SignalExpress, you can create a project that includes NI-DAQmx steps. With SignalExpress, you can log and analyze data.
Manual reference: For help with using the DAQ Assistant with Visual Studio .NET, refer to Using NI-DAQmx, p. 32
Each API includes a collection of programming examples to help you get started developing an application. Getting Started with NI-DAQmx The Getting Started with NI-DAQmx series on ni.com helps you learn NI-DAQmx programming fundamentals.
Manual reference: Getting Started with NI-DAQmx, p. 33
To access the series, go to Getting Started with NI-DAQmx on ni.com. The Getting Started with NI-DAQmx series on ni.com helps you learn NI-DAQmx programming fundamentals.
Manual reference: Getting Started with NI-DAQmx; How does DAQmx Work Together with Other Applications and, pp. 33, 28
Through video and text tutorials, this series takes you from verifying your device's operation in Measurement & Automation Explorer (MAX) to programming data acquisition applications using LabVIEW. What is Measurement & Automation Explorer (MAX)? For more information, refer to the Measurement & Automation Explorer Help for NI DAQmx or Getting Started.
Manual reference: Getting Started with NI-DAQmx; NI-DAQmx Overview, pp. 33, 27
To run examples without hardware installed, you can use an NI-DAQmx simulated NI-DAQmx Software and Hardware Installation
Manual reference: Getting Started with NI-DAQmx, p. 33
NI-DAQmx tasks using NI-DAQmx simulated devices are verified just as tasks are on physical devices.
Manual reference: Task Behavior of NI-DAQmx Simulated Devices, p. 265
Task Behavior of NI-DAQmx Simulated Devices NI-DAQmx tasks using NI-DAQmx simulated devices are verified just as tasks are on physical devices. If a property is set to an invalid value, the error returned for an NI DAQmx simulated device is identical to the error returned for a real device.
Manual reference: Task Behavior of NI-DAQmx Simulated Devices, p. 265
Task Behavior of NI-DAQmx Simulated Devices NI-DAQmx tasks using NI-DAQmx simulated devices are verified just as tasks are on physical devices. If a property is set to an invalid value, the error returned for an NI DAQmx simulated device is identical to the error returned for a real device.
Manual reference: Task Behavior of NI-DAQmx Simulated Devices, p. 265
What is Measurement & Automation Explorer (MAX)? For more information, refer to the Measurement & Automation Explorer Help for NI DAQmx or Getting Started.
Manual reference: NI-DAQmx Overview, p. 27
You can launch the DAQ Assistant from your NI application software or from MAX. After you launch the DAQ Assistant, follow the wizard instructions to create your new task or channel. Creating Channels and Tasks with the DAQ Assistant
Manual reference: Creating Channels and Tasks with the DAQ Assistant, p. 142
When Is A Task Done? If the measurement or generation is finite, the task is done when you acquire or generate the final sample or when you call the Stop Task function/VI.
Manual reference: Until Done function/VI before stopping the task. After the Wait Until Done function/VI; Task Behavior of NI-DAQmx Simulated Devices, pp. 134, 265
For example, if the physical channel is Dev1/ai1, the device identifier is Dev1, and the channel identifier is ai1.
Manual reference: Physical Channel Names, p. 125
Virtual channels and tasks are fundamental components of NI-DAQmx.
Manual reference: NI-DAQmx Key Concepts, p. 121
Virtual channels, or sometimes referred to generically as channels, are software entities that encapsulate the physical channel along with other channel specific information—r ange, terminal configuration, and custom scaling— that formats the data. Virtual channels are software entities that encapsulate the physical channel along with other channel specific information—r ange, terminal configuration, and custom scaling— that formats the data. Virtual channels and tasks are fundamental components of NI-DAQmx.
Manual reference: NI-DAQmx Key Concepts, p. 121
Channels: Physical, Virtual, Local Virtual, and Global Virtual Virtual channels and tasks are fundamental components of NI-DAQmx. Virtual channels, or sometimes referred to generically as channels, are software entities that encapsulate the physical channel along with other channel specific information—r ange, terminal configuration, and custom scaling— that formats the data.
Manual reference: NI-DAQmx Key Concepts; DAQmx applies these attributes to the virtual channel., pp. 121, 123
Use this workflow from the manual:
Manual reference: DAQmx applies these attributes to the virtual channel.; DAQmx software framework to refer to the physical channel.; Creating Tasks with the API, pp. 123, 122, 129
Use this workflow from the manual:
Manual reference: Creating Tasks with the API; You have now created a task called myTemperatureTask that uses a local virtual, pp. 129, 130
Use this workflow from the manual:
Manual reference: DAQmx applies these attributes to the virtual channel.; DAQmx software framework to refer to the physical channel., pp. 123, 122
Use this workflow from the manual:
Manual reference: Port NI-DAQmx Physical Channel Name (Lines) NI-DAQmx Physical Channel Name; DAQmx software framework to refer to the physical channel., pp. 395, 122
Port—A port is a c ollection of digital lines. Digital lines and ports are important parts of a digital input/output system.
Manual reference: Dev1/port0:1, p. 126
For Ports 0 through 3, you can configure a port width of 8, 16, or 32 bits.
Manual reference: Port NI-DAQmx Physical Channel Name (Lines) NI-DAQmx Physical Channel Name, p. 395
Cold-Junction Compensation Channels On devices with built-in cold-junction compensation (CJC) channels, the CJC channel is read once per sample clock edge.
Manual reference: Cold-Junction Compensation Channels, p. 128
Scaling, including custom scales, is not applied if PFI 0 is the trigger source.
Manual reference: Scaling, including custom scales, is not applied if PFI 0 is the trigger source. For; Prescaled Versus Scaled Units, pp. 286, 271
Scaling, including custom scales, is not applied if PFI 0 is the trigger source. Scaling, including custom scales, is not applied if APFI 0 or APFI 1 is the trigger source. However, if you use an analog input channel as the trigger source, you could use scaled units.
Manual reference: Scaling, including custom scales, is not applied if PFI 0 is the trigger source. For; Prescaled Versus Scaled Units, pp. 286, 271
The task state model consists of five states—Unv erified, Verified, Reserved,
Manual reference: Until Done function/VI before stopping the task. After the Wait Until Done function/VI, p. 134
Keep in mind that setting the value of a channel, timing, or triggering attribute/ property does not implicitly transition the task back to the Unverified state.
Manual reference: Transitioning the State Backwards, p. 141
For example, if the task was in the Verified state and you called the Start Task function/VI to start the task, the task is reserved, committed, and started, transitioning to the Reserved state and to the
Manual reference: Transitioning the State Backwards, p. 141
As another example, suppose the task is in the Reserved state, and you call the Read function/VI to perform a finite measurement. For example, if the task is in the Reserved state and you set the value of timing attribute/property, the task remains in the Reserved state.
Manual reference: Transitioning the State Backwards, p. 141
Task function/VI, the task is not just stopped and transitioned from the Running state to the Committed state. Committed state before transitioning to the Running state.
Manual reference: Transitioning the State Backwards, p. 141
Task function/VI, the task is not just stopped and transitioned from the Running state to the Committed state. Committed state before transitioning to the Running state.
Manual reference: Transitioning the State Backwards, p. 141
Implicit Task State Transitions Although you can explicitly transition a task through each of its states as described in
Manual reference: These operations occur each time the application performs a read or write, p. 139
Transitioning the State Backwards When a task is implicitly transitioned backwards, it returns to the state of the task prior to the last operation that resulted in a forward state transition.
Manual reference: Transitioning the State Backwards, p. 141
Use this workflow from the manual:
Manual reference: You have now created a task called myTemperatureTask that uses a local virtual; Starting a Finite Measurement Task, pp. 130, 131
Using Is Task Done When Is A Task Done?
Manual reference: Using Is Task Done, p. 133
After the Wait Until Done function/VI executes, the finite generation has been completed, and you can stop the task.
Manual reference: Until Done function/VI before stopping the task. After the Wait Until Done function/VI, p. 134
Until Done function/VI before stopping the task. After the Wait Until Done function/VI executes, the finite generation has been completed, and you can stop the task.
Manual reference: Until Done function/VI before stopping the task. After the Wait Until Done function/VI, p. 134
Other settings, such as the sample counter, cannot be programmed when the task is committed because they need to be programmed every time the task is started. NI-DAQmx programs some of the settings for the resources when the task is committed.
Manual reference: In certain cases, NI-DAQmx will coerce the values of attributes/properties when, p. 136
A timing engine is the circuitry a device uses to control an acquisition or generation.
Manual reference: Timing engines for different devices and subsystems provide different functionality., p. 177
You can time control loops using software timing or hardware timing. Software timing is not deterministic. Controlling a while loop and using the Wait Until Next ms Multiple VI to handle timing is an example of a software timed loop.
Manual reference: Timing Control Loops, p. 262
External clocking of the AI Convert Clock is not supported. When devices with reference clocks are in a task, you cannot set an external SampClk.Src or SampClkTimebase.
Manual reference: AI Convert Clock Considerations, p. 468
Each sample timing type is a different stimulus for triggering the action of producing a sample.
Manual reference: Trigger and Clock Distinction, p. 149
When using Sample Clock timing, all measurements returned are a valid, complete cycle of your input signal. Sample Clock Timing Support for Time-Based Measurements
Manual reference: Sample Clock Timing, p. 224
Refer to your device documentation to see if handshaking is supported on your device.
Manual reference: Handshaking; Burst Handshaking Signals, pp. 151, 152
Burst Handshaking Signals For devices that support burst handshake timing, three signals are used:
Manual reference: Burst Handshaking Signals, p. 152
For 8255-based devices, the ports in the task affect which handshaking lines are used. Handshaking Signals for 8255-Based Devices
Manual reference: Handshaking Signals for 8255-Based Devices, p. 153
This mode is similar to hardware-timed single point sample mode but with slower performance and no error checking. Hardware-Timed Single Point Sample Mode
Manual reference: Hardware-Timed Non-Buffered Sample Mode, p. 476
When sampling a signal it is important to consider device range, input limits, sampling rate, resolution, and code width. Sampling Considerations Sampling Rate
Manual reference: Zin; Each multiplexed C Series device has a separate convert clock. The convert clock, pp. 582, 481
Setup and Hold Times When a DAQ device samples a digital signal, the signal must remain stable for a period of time before and after the assertion of the clock edge used for timing.
Manual reference: Setup and Hold Times, p. 156
Simultaneous Analog Output On-Demand Timing Typically, when you use software timing to output samples on multiple AO channels,
Manual reference: Setup and Hold Times, p. 156
Timing Response Modes Digital I/O and DAQ devices typically use the single-cycle timing response mode, meaning the device responds to an external signal by the next active sample clock edge.
Manual reference: Setup and Hold Times, p. 156
Single Sample Digital Input Programming Flowchart Acquiring a single sample is an on-demand operation. For example, if you periodically needed to monitor the fluid level in a tank, you acquire single data points.
Manual reference: DAQmx includes functions for timing, triggering, reading, and writing samples., p. 78
How Is Buffer Size Determined? If your acquisition is finite (sample mode on the Timing function/VI set to Finite For example, if you specify samples per channel of 1,000 samples and your application uses two channels, the buffer size would be 2,000 samples.
Manual reference: How Is Buffer Size Determined?, p. 192
Continuous Acquisition and Generation with Finite Buffer Size If you use the Timing function/VI and set the sample mode to finite or continuous, A buffer is a temporary storage in computer memory for acquired or to-be-generated samples.
Manual reference: Buffering, p. 191
Controlling Where in the Buffer to Read Samples Changing the settings of these two attributes/properties controls where in the buffer data is read. Reference Trigger, NI-DAQmx reads samples beginning with the first sample acquired with each subsequent read beginning where the previous one left off.
Manual reference: Controlling Where in the Buffer to Read Samples, p. 195
Read Status Attributes/Properties and Buffers The three Read Status attributes/properties are useful for observing the progress of your acquisition. The Current Read Position is the place in the buffer where the next read begins if the Relative To attribute/property is Current Read Position and the Offset is 0.
Manual reference: Controlling Where in the Buffer to Read Samples, p. 195
Controlling Where in the Buffer to Write Samples By default, NI-DAQmx writes samples sequentially beginning with the first sample in the buffer, and each write begins where the previous one left off. Space Available in Buffer is computed by first calculating the Current Write Position based on the settings of the Relative To and Offset attributes/properties and then subtracting this number from the sum of Total Samples per Channel Generated and the buffer size.
Manual reference: Controlling Where in the Buffer to Write Samples, p. 196
Write Status Attributes/Properties and Buffers The three Write Status attributes/properties are useful for observing the progress of your generation. The Current Write Position is the place in the buffer where the next write begins if the Relative To attribute/property is Current Write Position and the Offset is 0.
Manual reference: Controlling Where in the Buffer to Write Samples, p. 196
Use this workflow from the manual:
Manual reference: Use Ohm's Law to measure voltage dropped across the load and the resistor while also, p. 51
Use this workflow from the manual:
Manual reference: Time-Varying Multiple Samples, p. 115
You can measure current through an analog input connector. Many measurement devices can measure and generate current. To measure or generate current with a DAQ device, you need a resistor.
Manual reference: You can use charge sensors to measure physical phenomenon such as acceleration, p. 54
To measure AC current, insert a precisely calibrated, low-value resistor into the signal path and measure the voltage drop across the resistor. Tips on Measuring AC Current Measuring current is an example of an analog input measurement.
Manual reference: Measuring current is an example of an analog input measurement. Refer to Analog; You can use charge sensors to measure physical phenomenon such as acceleration, pp. 57, 54
The following flowchart depicts the main steps required in an NI-DAQmx application to measure temperature with a thermocouple. Measuring temperature is an example of analog input measurement. Measuring Temperature with a Thermocouple Programming
Manual reference: Measuring temperature is an example of analog input measurement. Refer to Analog, p. 111
Signal conditioning is generally required to measure temperature using an RTD. An RTD is a temperature sensing device with resistance that increases with temperature. Numerous types of RTDs exist, and they are typically defined by their material, their nominal resistance, and their temperature coefficient of resistance (TCR).
Manual reference: An RTD is a temperature sensing device with resistance that increases with, p. 631
The following flowchart depicts the main steps required in an NI-DAQmx application to measure temperature with a thermistor. Measuring Temperature with a Thermistor Programming Alternatively, you can configure a task for measuring temperature using the DAQ Assistant.
Manual reference: Measuring Temperature with a Thermistor Programming; Measuring temperature is an example of analog input measurement. Refer to Analog, pp. 110, 111
The following flowchart depicts the main steps required in an NI-DAQmx application to measure temperature with a thermocouple. Measuring Temperature with a Thermocouple Programming Measuring temperature is an example of analog input measurement.
Manual reference: Measuring temperature is an example of analog input measurement. Refer to Analog, p. 111
To measure strain, you can use one or more strain gages in a Wheatstone bridge in one of several bridge configurations. The following flowchart depicts the main steps required in an NI-DAQmx application to measure strain. Alternatively, you can configure a task to measure strain with a strain
Manual reference: Measuring Strain, p. 104
The following flowchart depicts the main steps required in an NI-DAQmx application to measure force with a piezoelectric force sensor. Measuring force is an example of analog input measurement. Measuring Force with a Piezoelectric Sensor Programming
Manual reference: Measuring Force with a Piezoelectric Sensor Programming, p. 64
The following flowchart depicts the main steps required in an NI-DAQmx application to measure force with a piezoelectric force sensor. Measuring Force with a Piezoelectric Sensor Programming Measuring force is an example of analog input measurement.
Manual reference: Measuring Force with a Piezoelectric Sensor Programming, p. 64
The following flowchart depicts the main steps required in an NI-DAQmx application to measure pressure. Measuring pressure is an example of analog input measurement. Measuring Pressure Programming Flowchart
Manual reference: Measuring Pressure Programming Flowchart, p. 95
The following flowchart depicts the main steps required in an NI-DAQmx application to measure sound pressure. Measuring sound pressure is an example of an analog input measurement. Measuring Sound Pressure Programming Flowchart
Manual reference: Measuring Sound Pressure Programming Flowchart, p. 103
Use this workflow from the manual:
Manual reference: Errors in the 2-wire measurements are introduced by the lead resistance, RLead, when, p. 596
Use this workflow from the manual:
Manual reference: Use Ohm's Law to measure voltage dropped across the load and the resistor while also; Edge counting is an example of a counter measurement. Refer to Counter, pp. 51, 50
You can configure a task for finite analog input using the DAQ Assistant. Finite Analog Input Programming Flowchart One way to acquire multiple samples for one or more channels is to acquire single samples in a repetitive manner.
Manual reference: Finite Analog Input Programming Flowchart, p. 69
Instead, you can configure a task for continuous analog input using the DAQ Assistant. Continuous Analog Input Programming Flowchart If you want to view, process, or log a subset of the samples as they are being acquired, you need to continually acquire samples.
Manual reference: Continuous Analog Input Programming Flowchart, p. 70
Continuous Analog Output Programming Flowchart generate a finite number of voltage samples in a buffered generation.
Manual reference: Continuous Analog Output Programming Flowchart, p. 73
Continuous Analog Output Programming Flowchart The following flowchart depicts the main steps required in an NI-DAQmx application to continuously generate voltage samples. If you prefer, you can configure this task using the DAQ Assistant.
Manual reference: Continuous Analog Output Programming Flowchart; Analog Output Timing Considerations for C Series Devices, pp. 73, 471
This type of regeneration is sometimes called PC memory or user buffer regeneration.
Manual reference: When the Use Only Onboard Memory attribute/property is false, NI-DAQmx; USB Bulk, pp. 200, 199
The following flowchart depicts the main steps required in an NI-DAQmx application to measure digital values. Measuring and generating digital values are used in a number of applications, including controlling relays and monitoring alarm states. Generally, measuring and generating digital values is used in laboratory testing, production testing, and industrial process monitoring and control.
Manual reference: This section covers software-timed digital input/output operations—or uns trobed, p. 59
The following flowchart depicts the main steps required in an NI-DAQmx application to measure digital values. Measuring and generating digital values are used in a number of applications, including controlling relays and monitoring alarm states. Generally, measuring and generating digital values is used in laboratory testing, production testing, and industrial process monitoring and control.
Manual reference: This section covers software-timed digital input/output operations—or uns trobed, p. 59
Finite Digital Input Programming Flowchart One way to acquire multiple samples for one or more channels is to acquire single samples in a repetitive manner. You can configure a task for measuring digital values using the DAQ Assistant.
Manual reference: Finite Digital Input Programming Flowchart, p. 79
Continuous Digital Input Programming Flowchart If you want to view, process, or log a subset of the samples as they are being acquired, you need to continually acquire samples. Single Sample Digital Input Programming Flowchart
Manual reference: Continuous Digital Input Programming Flowchart, p. 80
Continuous Digital Output Programming Flowchart The following flowchart depicts the main steps required in an NI-DAQmx application to continuously generate digital values. If you prefer, you can configure a task for generating digital values using the DAQ Assistant.
Manual reference: Continuous Digital Output Programming Flowchart, p. 83
Continuous Digital Output Programming Flowchart The following flowchart depicts the main steps required in an NI-DAQmx application to continuously generate digital values. If you prefer, you can configure a task for generating digital values using the DAQ Assistant.
Manual reference: Continuous Digital Output Programming Flowchart, p. 83
Digital lines and ports are important parts of a digital input/output system. Port—A port is a c ollection of digital lines. Digital Lines, Ports, and Port Width
Manual reference: Dev1/port0:1, p. 126
Digital Pattern Triggering For digital pattern triggering, you configure the device to detect a specific digital pattern on specific physical channels.
Manual reference: TTL Signal, p. 163
The following flowchart depicts the main steps required in an NI-DAQmx application to measure digital frequency or period. Digital frequency and period are examples of counter measurements. Measuring Digital Frequency and Period Programming
Manual reference: Digital frequency and period are examples of counter measurements. Refer to Counter, p. 66
Use this workflow from the manual:
Manual reference: Measuring Analog Frequency Programming Flowchart; For devices that cannot measure frequency directly, you need to use software, pp. 41, 39
Digital frequency and period are examples of counter measurements. The following flowchart demonstrates the main steps required in an NI-DAQmx application to measure semi-period and pulse width. Measuring Semi-Period, Two-Edge Separation, and Pulse
Manual reference: Digital frequency and period are examples of counter measurements. Refer to Counter, p. 93
The following flowchart demonstrates the main steps required in an NI-DAQmx application to measure semi-period and pulse width. Measuring Semi-Period, Two-Edge Separation, and Pulse Alternatively, you can configure a task for measuring semi-period and pulse width using the DAQ Assistant.
Manual reference: Digital frequency and period are examples of counter measurements. Refer to Counter, p. 93
Period, semi-period, two-edge separation, and pulse width is an example of a counter measurement. Pressure is a measure of force per unit area. You can use bridge-based sensors to measure pressure.
Manual reference: Period, semi-period, two-edge separation, and pulse width is an example of a counter; Period measurements measure the time between consecutive rising or falling edges of, pp. 94, 91
Period, semi-period, two-edge separation, and pulse width is an example of a counter measurement. Pressure is a measure of force per unit area. You can use bridge-based sensors to measure pressure.
Manual reference: Period, semi-period, two-edge separation, and pulse width is an example of a counter; Digital frequency and period are examples of counter measurements. Refer to Counter, pp. 94, 93
Use this workflow from the manual:
Manual reference: Measuring Duty Cycle, p. 60
Before you generate a pulse, you need to determine if you want to output the pulse or pulse train in terms of frequency, time, or number of ticks of the counter timebase. The following flowchart depicts the main steps required in an NI-DAQmx application to generate a pulse. If you prefer, you can configure a task to generate a pulse using the
Manual reference: Before you generate a pulse, you need to determine if you want to output the pulse or, p. 98
Generating a Finite Pulse Train Programming Flowchart The following flowchart depicts the main steps required in an NI-DAQmx application for generating a finite pulse train. Alternatively, you can configure a task for generating the pulse train using the DAQ Assistant.
Manual reference: Generating a Finite Pulse Train Programming Flowchart; Before you generate a pulse, you need to determine if you want to output the pulse or, pp. 99, 98
Use this workflow from the manual:
Manual reference: Generating a Continuous Pulse Train Programming Flowchart; Before you generate a pulse, you need to determine if you want to output the pulse or, pp. 100, 98
Paired counters are generally numbered sequentially. NI-DAQmx automatically takes care of making the internal routes necessary to perform the measurement across paired counters.
Manual reference: Paired Counters, p. 209
Large-Range Two-Counter Measurement Method To perform measurements using this method in NI-DAQmx, a paired counter is used to
Manual reference: To determine if you should use the high-frequency measurement method, refer to the, p. 210
Large-Range Two-Counter Measurement Method Use the lareg-range two-counter method to measure signals with large ranges or high frequencies.
Manual reference: To determine if you should use the high-frequency measurement method, refer to the, p. 210
Large-Range Two-Counter Measurement Method Use the lareg-range two-counter method to measure signals with large ranges or high frequencies.
Manual reference: To determine if you should use the high-frequency measurement method, refer to the, p. 210
For example, if the counter timebase rate is 20 MHz, and the frequency of the input signal is 5 MHz, the measured value can be 3, 4, or 5 due to quantization error. Quantization Error with One Counter Time Measurements
Manual reference: Quantization Error, p. 212
As a result, the dynamic averaging method balances measurement accuracy vs. During an acquisition, the dynamic averaging method will average between 1 period and divisor periods of the input signal to determine the input signal's frequency.
Manual reference: During an acquisition, the dynamic averaging method will average between 1 period, p. 219
Counter Parts The main parts of a counter include the following:
Manual reference: Counter Output Event as the signal name. After you route the internal output of a, p. 222
Use this workflow from the manual:
Manual reference: Generating Pulses, p. 97
Setting Pulse Train Polarity and the Initial Delay State The idle state, which controls the pulse train polarity, is applied to the signal when a task transitions to the Committed state (which happens automatically when the task starts). The idle state polarity also determines the state of the initial delay.
Manual reference: Initial Delay, p. 228
Counter Frequency Coercion The frequency of the counter output must be evenly divisible into the frequency of its timebase.
Manual reference: Initial, p. 229
One type of sensor used to measure angular displacement is a rotary variable differential transformer (RVDT). Another type of sensor used to measure angular displacement is a resolver, which is a rotating transformer that can measure An angular displacement sensor is a device whose output signal represents the rotation of the shaft; it cannot measure the physical displacement of the whole shaft.
Manual reference: Input Programming Flowcharts for additional flowcharts that can help you create an, p. 42
You also can measure velocity with two-pulse encoders, but you need to use a sample clock with a fixed frequency. To measure velocity, use the following formula: The linear variable differential transformer (LVDT) is a sensor that measures linear displacement.
Manual reference: GPS timestamp is an example of a counter measurement. Refer to Counter, p. 87
Measuring Velocity with an IEPE Velocity Transducer A velocity transducer is an IEPE sensor that converts velocity to voltage. Velocity transducers are typically used to measure vibration.
Manual reference: Measuring temperature is an example of analog input measurement. Refer to Analog, p. 112
Linear velocity can be measured with X1, X2, and X4 quadrature encoders. Measuring Linear Velocity (Encoder) On devices that support it, you can use the counters to perform velocity measurements with encoders.
Manual reference: The counter measures the velocity of the encoder using the A and B signals, which are, p. 114
An eddy current proximity probe is a transducer that uses changes in voltage to measure proximity. The following flowchart depicts the main steps required in an NI-DAQmx application to measure proximity using an eddy current proximity probe. Eddy current proximity probes use a high-frequency radio signal to convert voltage to a proximity measurement.
Manual reference: Measuring Proximity, p. 96
GPS timestamp is an example of a counter measurement. The linear variable differential transformer (LVDT) is a sensor that measures linear displacement. You also can measure velocity with two-pulse encoders, but you need to use a sample clock with a fixed frequency.
Manual reference: GPS timestamp is an example of a counter measurement. Refer to Counter, p. 87
An Advance Trigger causes a switch device to execute the next entry in its instruction
Manual reference: Triggering; Pretrigger, pp. 157, 159
The Arm Start Trigger is used to arm the task and waits for a single trigger event before allowing the Start Trigger to activate.
Manual reference: Pretrigger, p. 159
Expiration Trigger An Expiration Trigger expires a watchdog task.
Manual reference: Expiration Trigger, p. 158
A Handshake Trigger is a control signal from a peripheral device.
Manual reference: Expiration Trigger, p. 158
Pause Trigger is deasserted. Pause Trigger is asserted, not at the end of a pulse.
Manual reference: Pause Triggers can affect your measurement., p. 355
Reference Trigger A Reference Trigger establishes the reference point in a set of input samples.
Manual reference: Expiration Trigger, p. 158
A Start Trigger begins an acquisition or generation. The Arm Start Trigger is used to arm the task and waits for a single trigger event before allowing the Start Trigger to activate.
Manual reference: Pretrigger, p. 159
Analog Edge Triggering For analog edge triggering, you configure the measurement device to look for a certain signal level and slope (either rising or falling).
Manual reference: Pretrigger, p. 159
Analog Level Triggering An analog level trigger is similar to an analog edge trigger.
Manual reference: Hysteresis+Level, p. 161
Analog Window Triggering A window trigger occurs when an analog signal either passes into (enters) or passes out of (leaves) a window defined by two voltage levels.
Manual reference: Analog Window Triggering, p. 162
Digital Edge Triggering A digital trigger is usually a TTL signal with two discrete levels: a high and a low level.
Manual reference: Analog Window Triggering, p. 162
Digital level triggering starts, stops, or pauses an acquisition or measurement based on the value read on a digital line.
Manual reference: TTL Signal, p. 163
Digital Pattern Triggering For digital pattern triggering, you configure the device to detect a specific digital pattern on specific physical channels.
Manual reference: TTL Signal, p. 163
Software Triggers Software triggering starts, stops, or pauses an acquisition or measurement or advances a scan list based on a software trigger command being sent.
Manual reference: Requested, p. 164
Triggered Acquisition Programming Flowchart The following flowchart depicts the main steps you follow for adding triggering to an acquisition. If you prefer, you can configure triggering with the DAQ Assistant.
Manual reference: Triggered Acquisition Programming Flowchart; LabVIEW require properties. ANSI C and LabWindows/CVI employ the Get and Set, pp. 84, 68
Valid Analog Trigger Sources for DSA Devices The analog trigger source must be a channel included in your physical channel list. 0 is not a valid analog trigger source.
Manual reference: Valid Analog Trigger Sources for DSA Devices, p. 284
Sample Clock synchronization allows you to synchronize tasks on multiple devices at the same rate. Reference Clock synchronization ensures that all synchronized devices maintain phase
Manual reference: Sample Clock Synchronization, p. 170
Handshaked synchronization (or stimulus/response) is two or more devices acting in sequence. In handshaked synchronization, triggers and events are typically shared. Types of Synchronization, Lockstep and Handshaked
Manual reference: Selecting a terminal as the source of a clock or a trigger constructs a route. On PCI, p. 166
Master and Slave Devices However, the shared Start Trigger must travel from the master device to the slave devices, resulting in skew.
Manual reference: Reference Clock synchronization minimizes or eliminates skew in the clocks. However,, p. 172
You can describe timing errors in several different ways. There are several sources of error when synchronizing measurements:
Manual reference: Sources of Error, p. 168
Sample Clock synchronization allows you to synchronize tasks on multiple devices at the same rate. On multiplexed devices, Sample Clock synchronization results in jitter because, even though you synchronized the Sample Clock, the devices do not synchronize the AI Convert Clock.
Manual reference: Sample Clock Synchronization, p. 170
Reference Clock synchronization allows you to synchronize timing for the synchronized devices, even if the devices operate at different rates or belong to different subsystems.
Manual reference: Reference Clock synchronization allows you to synchronize timing for the, p. 171
Sample Clock synchronization allows you to synchronize tasks on multiple devices at the same rate.
Manual reference: Sample Clock Synchronization, p. 170
Sample Clock synchronization allows you to synchronize tasks on multiple devices at the same rate.
Manual reference: Sample Clock Synchronization, p. 170
Reference Clock synchronization allows you to synchronize timing for the synchronized devices, even if the devices operate at different rates or belong to different subsystems. For counter operations, Reference Clock synchronization ensures the following:
Manual reference: Reference Clock synchronization allows you to synchronize timing for the, p. 171
Master Timebase synchronization ensures the following: Master Timebase synchronization results in skew due to the time required for the clock to travel between devices.
Manual reference: Reference Clock synchronization minimizes or eliminates skew in the clocks. However,; When using Master Timebase synchronization, slave devices replace their onboard, pp. 172, 173
Sample Clock Timebase synchronization allows you to synchronize devices at different rates.
Manual reference: Sample Clock Timebase Synchronization, p. 174
The ways that NI-DAQmx handles timing, triggering, buffering, and signal routing are also central in the NI-DAQmx API. A physical channel is a terminal or pin at which you can measure or generate an analog or digital signal.
Manual reference: NI-DAQmx Key Concepts; E Series and S Series Valid Sources for the Analog Trigger, pp. 121, 285
Single-Device Routing Versus Multi-Device Routing A single-device route is a connection between two terminals on the same physical device. NI-DAQmx introduces multi-device routing.
Manual reference: Specifying a Route, p. 203
To create a multi-device route, the source and destination devices must share a trigger bus both physically and logically in MAX. Creating Multi-Device Routes You simply specify the source terminal and destination terminal.
Manual reference: Specifying a Route, p. 203
Use this workflow from the manual:
Manual reference: You must use a RTSI cable to connect the devices, and you must identify the cable; Specifying a Route, pp. 512, 513, 203
Task-based routing is the most common form of routing.
Manual reference: Dynamically Selecting Trigger Bus Lines, p. 204
Immediate routing is not associated with any task. Immediate Routing
Manual reference: Dynamically Selecting Trigger Bus Lines, p. 204
Logical Inversion of Signals If you route a signal to or from an external device, you might need to invert the polarity of the signal.
Manual reference: Logical Inversion of Signals, p. 205
Routing and Hardware Sharing Device Resetting and Interactions with Routing
Manual reference: Logical Inversion of Signals, p. 205
Refer to Lazy Line Transitions for more information. Lazy Line Transitions
Manual reference: Dynamically Selecting Trigger Bus Lines, p. 204
Refer to Device Resetting and Interactions with Routing for more information. There are other ways to destroy routes such as resetting the device. Multi-device routing allows you to dynamically select trigger lines at run time.
Manual reference: Dynamically Selecting Trigger Bus Lines, p. 204
Device Routing in MAX To find the device routing table for your device, launch MAX and select Devices and Note MAX does not display the device routing table for SCXI chassis, SCC connector blocks, or RTSI cable devices.
Manual reference: Device Routing in MAX, p. 208
Use this workflow from the manual:
Manual reference: When the Use Only Onboard Memory attribute/property is false, NI-DAQmx, p. 200
Selecting Read and Write Data Format and Organization The read and write VIs have two major selection criteria: data format and data organization. Data Transfer Mechanisms
Manual reference: Reading and Writing Data; There are often multiple legal data organizations to choose from. The main tradeoff to, pp. 182, 186
Selecting Read and Write Data Format and Organization The read and write VIs have two major selection criteria: data format and data organization. This section covers buffering and selecting data formats and organization.
Manual reference: Reading and Writing Data; Data Formats in NI-DAQmx, pp. 182, 183
There are often multiple legal data organizations to choose from. The main tradeoff to consider for data organization is difficulty in manipulation of the data.
Manual reference: There are often multiple legal data organizations to choose from. The main tradeoff to, p. 186
Interleaving Interleaved samples prioritize samples before channels, such that the array lists the first sample from every channel in the task, then the second sample from every channel, up to the last sample from every channel.
Manual reference: Interleaving; Unscaled Data, pp. 188, 190
The raw data format is defined by the native data format of the device. Data format deals with the type of the data that is read or written.
Manual reference: Data Formats in NI-DAQmx; The port format is the most efficient in terms of space, as it requires only a bit of, pp. 183, 185
Unscaled data is in the native format of the device, read directly from the device or buffer without scaling.
Manual reference: Unscaled Data, p. 190
Waveform Timing Limitations The limitation on t0 is that NI-DAQmx calculates the starting time for the task when data is read the first time.
Manual reference: Unscaled Data, p. 190
Data Transfer Mechanisms This section covers buffering and selecting data formats and organization.
Manual reference: Reading and Writing Data, p. 182
Technical Data Management Streaming (TDMS) is a binary file format that allows for high-speed data logging.
Manual reference: When the Use Only Onboard Memory attribute/property is false, NI-DAQmx, p. 200
You can split TDMS logs across multiple files by using either the DAQmx Start New File function/VI or the Logging.SampsPerFile attribute/property. Logging Across Multiple Files If the logging mode is set to Log, data is written to disk on multiples of the Logging.FileWriteSize attribute/property.
Manual reference: Logging Across Multiple Files, p. 201
On-Demand Logging For on-demand logging, NI-DAQmx creates a Time channel in the TDMS file that contains timestamp data.
Manual reference: To change a file immediately, you can also use the DAQmx Start New File function/VI, p. 202
A terminal, on the other hand, is a named location where a signal is either generated (output or produced) or acquired (input or consumed).
Manual reference: Signal Versus Terminal, p. 230
A terminal, on the other hand, is a named location where a signal is either generated (output or produced) or acquired (input or consumed). When a terminal shares a name with a signal, it is not always clear which is being referred to— the terminal or the signal. Within most devices, there is a terminal such that the signal at that terminal is always used as the sample clock.
Manual reference: Signal Versus Terminal, p. 230
When a terminal shares a name with a signal, it is not always clear which is being referred to— the terminal or the signal. For analog output tasks, this terminal is named the ao/
Manual reference: Signal Versus Terminal, p. 230
Analog Input Accessory Terminal Names The following table lists the revised names for analog input terminal names.
Manual reference: Analog Input Accessory Terminal Names, p. 237
Analog Output Accessory Terminal Names The following table lists the revised names for analog output terminal names.
Manual reference: Analog Output Accessory Terminal Names, p. 238
Counter Accessory Terminal Names Analog Output Accessory Terminal Names
Manual reference: Analog Output Accessory Terminal Names, p. 238
Digital Accessory Terminal Names The following table lists the revised names for digital terminal names.
Manual reference: Digital Accessory Terminal Names, p. 239
The syntax for terminal names is a unique identifier that refers to a physical terminal in your system. Syntax for Terminal Names
Manual reference: Digital Accessory Terminal Names, p. 239
C Series and TestScale Module Signal Connections for Counters (Large Range with Two Counters) PFI 0 PFI 4 PFI 3 PFI 7
Manual reference: C Series and TestScale Module Signal Connections for Counters, p. 309
Use this workflow from the manual:
Manual reference: Device Calibration Signal Connections for M Series and NI 6010; Device Calibration Signal Connections for S Series Devices, pp. 302, 301
Use this workflow from the manual:
Manual reference: Device Calibration Signal Connections for M Series and NI 6010; Device Calibration Signal Connections for S Series Devices, pp. 302, 301
Use this workflow from the manual:
Manual reference: Device Calibration Signal Connections for M Series and NI 6010, p. 302
Device calibration consists of verifying the measurement accuracy of a device and adjusting for any measurement error.
Manual reference: Device Calibration Considerations, p. 289
Device calibration consists of verifying the measurement accuracy of a device and adjusting for any measurement error.
Manual reference: Device Calibration Considerations, p. 289
Virtual Channel Calibration Support The following devices do not support NI-DAQmx virtual channel calibration:
Manual reference: Virtual Channel Calibration Support, p. 291
Device Groups in NI-DAQmx Refer to the following list to see how devices are grouped in NI-DAQmx.
Manual reference: NI-DAQmx Device Considerations, p. 275
There are many data processing algorithms to consider when creating a control application.
Manual reference: Timing Control Loops, p. 262
Timing control loops, synchronizing analog input and output, using control algorithms, single-point real-time applications, and setting priorities for control applications in LabVIEW are described.
Manual reference: Control in NI-DAQmx; Sample Application—Har dware-Timed Counter Tasks, pp. 243, 253
An example of this kind of application is an analog control loop that reads samples from a specific number of multiplexed analog input channels, processes the data using a control algorithm (such as PID), and writes the new control values to the analog output channels using a software-timed task. Input samples are hardware-timed.
Manual reference: Hardware-Timed Input, Software-Timed Output, p. 250
Hardware-Timed Counter Tasks Requirement—U se hardware-timed counter input operations to drive a control loop.
Manual reference: Hardware-Timed Counter Tasks, p. 252
You can time control loops using software timing or hardware timing. Timing Control Loops Control Loops in the Common Applications section uses hardware timing.
Manual reference: Timing Control Loops, p. 262
Timing control loops, synchronizing analog input and output, using control algorithms, single-point real-time applications, and setting priorities for control applications in LabVIEW are described. Setting Priorities for Control Applications in LabVIEW
Manual reference: Control in NI-DAQmx, p. 243
The input and output operations along with any processing performed during a single sample clock period are called I/O cycles.
Manual reference: I/O Cycles; Digital Logic States, pp. 264, 590
I/O Server for distributed applications. DAQmx I/O Server and Virtual Channels
Manual reference: Digital data is always returned as if each eight-bit port were a binary counter for both; You must deploy your tasks and channels using the MAX Export Wizard if you create, pp. 266, 268
Use this workflow from the manual:
Manual reference: DAQmx applies these attributes to the virtual channel., p. 123
Call the Traditional NI-DAQ (Legacy) Device Reset function/VI. The device must be calibrated using the Traditional NI-DAQ (Legacy) driver. Right-click the Traditional NI-DAQ (Legacy) Devices folder in MAX and select Reset
Manual reference: NI 6614 Calibration, p. 296
Choosing Whether to Use the API or the DAQ Assistant Creating Channels and Tasks with the DAQ Assistant Use the DAQmx Task Name control to open the DAQ Assistant.
Manual reference: Creating Channels and Tasks with the DAQ Assistant, p. 142
You can use software timing or hardware timing to control when a signal is generated. Timing, Hardware Versus Software With hardware timing, a digital signal, such as a clock on your device, controls the rate of generation.
Manual reference: Timing, Hardware Versus Software, p. 144
This constraint applies to virtual channels as well as physical channels. The following example illustrates the difference between physical and virtual channels and demonstrates how to create virtual channels with the API. With this function/VI, you choose the name to assign for the virtual channel, which is used in the rest of the NI DAQmx software framework to refer to the physical channel.
Manual reference: This constraint applies to virtual channels as well as physical channels. For example, if; DAQmx software framework to refer to the physical channel., pp. 497, 122
These channels can be either global virtual channels or local virtual channels. Types of Virtual Channels You have now created a virtual channel.
Manual reference: DAQmx applies these attributes to the virtual channel., p. 123
These bidirectional digital lines allow you to Port NI-DAQmx Physical Channel Name (Lines) NI-DAQmx Physical Channel Name To configure a 16-bit port, use channel names that refer to all the lines in multiple consecutive ports:
Manual reference: Port NI-DAQmx Physical Channel Name (Lines) NI-DAQmx Physical Channel Name, p. 395
Program all devices to use the same signal as their Digital Edge Start Trigger. On some devices using Reference This results in skew in the trigger signal.
Manual reference: Program all devices to use the same signal as their Digital Edge Start Trigger. This is, p. 176
Sample Clock Synchronization Sample Clock synchronization allows you to synchronize tasks on multiple devices at the same rate. When using Sample Clock synchronization, slave devices replace the Sample Clock for a given subsystem with the Sample Clock from another device.
Manual reference: Sample Clock Synchronization, p. 170
Unscaled Data Unscaled data is in the native format of the device, read directly from the device or buffer without scaling. The limitation on t0 is that NI-DAQmx calculates the starting time for the task when data is read the first time.
Manual reference: Unscaled Data, p. 190
The FAQ answers and assistant are grounded in the NI-DAQmx User Manual. They are not a replacement for NI support, device-specific documentation or engineering review. If the manual does not clearly support an answer, the assistant should mark the question as unsupported rather than inventing an answer.
Practical guides for production test data, LabVIEW, TestStand, traceability, yield and quality.
AI AssistantHow Arc helps teams ask questions across test results, yield, failures, retests, traceability and engineering context.
Tool GuideA guide for teams managing production test data generated by LabVIEW, TestStand, TDMS files, CSV exports and SQL databases.
Manual AssistantsHow retrieval quality, citation checks and source boundaries affect technical manual assistants.
The FAQ answers are available on this page. Request free early access to the assistant when you want to ask manual-grounded NI-DAQmx questions directly and get answers faster.
Get free access