You are on page 1of 12

NI-DAQmx Express VI Tutorial

Publish Date: Aug 20, 2010

Table of Contents
1. Locating the DAQmx Express VI and Launching the DAQ Assistant
2. Configuring DAQmx Express VI using the DAQ Assistant (Analog Input)
3. Configuring DAQmx Express VI using the DAQ Assistant (Analog Output)
4. Configuring DAQmx Express VI using the DAQ Assistant (Counter Input)
5. Configuring DAQmx Express VI using the DAQ Assistant (Counter Output)
6. Configuring DAQmx Express VI using the DAQ Assistant (Digital I/O)
7. Editing DAQmx Express VI Properties using the DAQ Assistant
8. DAQmx Express VI in a Loop
9. Convert DAQmx Express VI to a Task Constant

The National Instruments Getting Started with NI-DAQmx Series is aimed at helping you learn
NI-DAQmx programming fundamentals. Through video and text tutorials, this series will take you
from verifying your device's operation in Measurement & Automation Explorer (MAX) to
programming data acquisition applications using LabVIEW. It is intended for both the beginner who
wants to learn how to use the DAQ Assistant, as well as the experienced user who wishes to take advantage of advanced
NI-DAQmx functionality.
1. Locating the DAQmx Express VI and Launching the DAQ Assistant

The DAQmx Express VI, which uses the DAQ Assistant to configure the task, is located in two different places depending upon
which Functions palette you are using. In the Express Functions palette, the DAQ Assistant Express VI is located in the Input
sub-palette (see Figure 1).

Figure 1

In the Advanced Functions palette, the DAQ Assistant Express VI is located in the NI Measurements >> DAQmx sub-palette (see
Figure 2).

1/12 www.ni.com
Figure 2

Once you have located the DAQ Assistant Express VI in the appropriate location, select it from the palette and drop it on the block
diagram of your VI. By default, the properties page should pop up, allowing you to configure your task. The first step is to select
your type of measurement (see Figure 3).

Figure 3
2. Configuring DAQmx Express VI using the DAQ Assistant (Analog Input)

There are several options for an analog input acquisition. For this document we will step through a simple Analog Input >> Voltage
measurement (see Figure 4).

2/12 www.ni.com
Figure 4

Once you have selected Voltage as the type of Analog Input acquisition, you will have the option to select which channels you
want to acquire from. The first screen you will see will allow you to select the physical channels that you want to acquire from, by
creating local channels (see Figure 5).

Figure 5

However, if you have already created DAQmx Global Virtual Channels in Measurement & Automation Explorer, you can use those
by selecting the Copy Global Channels option and selecting your channel(s) from the list (see Figure 6).

3/12 www.ni.com
Figure 6

Once you have selected the channel(s), click the Finish button. This will bring up the analog input task configuration page (see
Figure 7).

Figure 7

Here you can set up your task to acquire data exactly the way you want. You can set your Signal Input Range to a range suitable
for the signal(s) you are acquiring. You can set the Terminal Configuration to the mode of your acquisition (Differential,
Reference Single Ended, Non-Reference Single Ended). The Custom Scaling option allows you to create a new scale or apply
already existing scales. On the Task Timing tab, you can set how you will acquire your data. You can Acquire 1 Sample at a time
(software timed), Acquire N Samples, which acquires a finite set of samples (hardware timed), or Acquire Continuously (hardware
timed). If you select Acquire N Samples for a finite scan or Acquire Continuously for continuous acquisition, you will have the
option to specify how many Samples To Read and the Rate of your acquisition. Under the Advanced Clock Settings section, you
can specify whether you will be using an internal or an external clock. If you select external for your clock, you will have the option
to select the active edge and what pin the external clock will be connected to. In the Task Triggering tab, you can specify a Start
and/or a Reference Trigger.

Once you are finished configuring your task, click the OK button. This saves your settings and returns you to your block diagram
4/12 www.ni.com
Once you are finished configuring your task, click the OK button. This saves your settings and returns you to your block diagram
where you will see your configured DAQ Assistant Express VI. Your data will be available on the data output. You can wire this
output to an analysis VI, file I/O VI, directly to an indicator, etc. (see Figure 8)

**Note: If the DAQmx Express VI is to be used inside of a loop, refer to the Express VI in a Loop section below

Figure 8
3. Configuring DAQmx Express VI using the DAQ Assistant (Analog Output)

When you select Analog Output for your type of measurement, you will have a couple of options regarding what type of output you
want to do. This document will focus on a simple voltage output (see Figure 9).

Figure 9

Once you have selected Voltage as the Analog Output measurement type, you will be able to select which output channel(s) you
want to use. As with Analog Input, you will be able to select physical channels, through creating local channels, or already created

DAQmx Global Channels. You will see a window similar to Figure 5 or 6 above, except the channels available will be your analog
5/12 www.ni.com
DAQmx Global Channels. You will see a window similar to Figure 5 or 6 above, except the channels available will be your analog
output channels.

Once you have your channel(s) selected, you will come to the analog output task configuration page. Similar to an analog input
task, you can specify your Output Range, Custom Scaling, Task Timing and Task Triggering. However, there is one option
that is not present in an analog input task, and that is the Use timing from waveform data option under the Task Timing tab
(see Figure 10).

Figure 10

By default this option is selected and the Samples to Write and Rate are grayed out. This is because the timing information is
automatically extracted from the waveform input to the configured DAQ Assistant Express VI, eliminating the need to manually
specify the timing information. However, if you deselect the Use timing from waveform data option, then you will have the ability
to set Samples to Write, Rate, and Advanced Clock Settings. Once you have configured your task, click OK to save your
settings and return to your block diagram. Now, simply wire in your data to the data input and run your VI to output your voltages
(see Figure 11).

**Note: If the DAQmx Express VI is to be used inside of a loop, refer to the Express VI in a Loop section below

6/12 www.ni.com
Figure 11
4. Configuring DAQmx Express VI using the DAQ Assistant (Counter Input)

When you select Counter Input as the type of measurement, you will have several options. This document will focus on an Edge
Count measurement (see Figure 12).

Figure 12

Once you select your type of counter input, you will have the option of selecting the counter you want to use. As with previous
examples, you can select to create new local channels or copy already existing DAQmx Global Channels. You will see a window
similar to Figure 5 or 6 above, except the channels available will be your counter channels.

Once you have selected the counter channel, you will come to the task configuration page (see Figure 13).

7/12 www.ni.com
Figure 13

Here you can configure the Active Edge to be rising or falling. You can set the Initial Count of the count register. You can also
select the Count Direction to be Count Up, Count Down, or Externally Controlled. If you select Externally Controlled, the counter
will either count up or down depending upon the signal connected to the Up/Down pin of your counter. This is typically used for
quadrature encoders (refer to Quadrature Encoder Tutorial linked below for more information). Notice below the Count Direction
option there is a statement instructing you to connect the signal to the appropriate PFI pin on your data acquisition board. By
default, the Count Edges option is selected in the Task Timing section. Notice that when the Count Edges option is selected,
Samples To Read, Rate, and Clock Settings are grayed out. This is because the Count Edges operation is software timed and
does not require an external clock. However, if you choose either Count N Samples (Finite) or Count N Samples (Continuous),
which are both buffered operations, you will be able to specify the number of Samples To Read, Rate, and Clock Settings. That
is to say, Count N Samples (Finite) and Count N Samples (Continuous) are hardware timed acquisitions, and you will have to
provide an external clock signal, to the pin specified under Clock Source, in order to perform the buffered operation.

**Note: If the DAQmx Express VI is to be used inside of a loop, refer to the Express VI in a Loop section below
5. Configuring DAQmx Express VI using the DAQ Assistant (Counter Output)

You can use the DAQmx Express VI to generate output on your counters in the form of digital pulses. If you select Counter Output
from the original DAQ Assistant window (Figure 3), you will have one option in the following screen, and that is Pulse Output (see
Figure 14).

8/12 www.ni.com
Figure 14

Once you select Pulse Output, you will be able to select which counter(s) you want to you use in this pulse generation operation.
You will see a window similar to Figure 5 or 6 above, except the channels available will be your counter channels.

Once you have selected your counter(s) you will be able to configure the counter output task (see Figure 15).

Figure 15

Here you can set the Pulse Settings, where you specify how long the pulse is high and low with the High Time and the Low Time,
respectively. You can also specify the Idle State and Initial Delay. The Idle State determines whether the pulse is active high or
active low. Typically, the idle state is generated first followed by the active state. The Initial Delay allows you to specify a time to
delay before generating the first pulse. Under the Task Timing section, you can specify whether you want to generate a Single
Pulse, a Finite Pulse Train, or a Continuous Pulse Train. If Finite Pulse Train is selected, then the option to set the number of
Pulses is available. Click OK to save the task and return to the block diagram.

**Note: If the DAQmx Express VI is to be used inside of a loop, refer to the Express VI in a Loop section below
6. Configuring DAQmx Express VI using the DAQ Assistant (Digital I/O)

9/12 www.ni.com
If you want to use the DAQmx Express VI for digital I/O, you have several options (see Figure 16).

Figure 16

You can select Line Input, Port Input, Line Output, or Port Output. In this document, we will be discussing the Line Input task, but
the other three operations are set up similarly. Once you have chosen Line Input, you will have the option to create a local channel
and select individual lines or copy existing DAQmx Global Virtual Channels. You will see a window similar to Figure 5 or 6 above,
except the channels available will be your digital channels.

Once the channels have been defined or selected, click Next to go to the task configuration page (see Figure 17).

Figure 17

Here you can choose to invert 1 or more of the digital lines that you have specified. Click OK to save the task and return to the
block diagram.

**Note: If the DAQmx Express VI is to be used inside of a loop, refer to the Express VI in a Loop section below
7. Editing DAQmx Express VI Properties using the DAQ Assistant

10/12 www.ni.com
Once the DAQmx Express VI is configured in your block diagram, you can modify the configuration by launching the DAQmx
Assistant from the block diagram. To launch the DAQmx Assistant to change some settings, simply right-click on the configured
DAQmx Express VI and select Properties (see Figure 18), or double-click on the configured DAQmx Express VI.

Figure 18

This will bring you back to the task configuration page where you can change some of the parameters depending upon what type
of task you have configured (see Figures 7,10,13,15,18).
8. DAQmx Express VI in a Loop

Most configurations of a DAQmx Express VI will result in having a stop input available (see Figure 19).

Figure 19

Three different analog input tasks are configured to illustrate the stop input, the stop input will also be available for analog output,
counter input, counter output, and digital I/O tasks. The value wired into the stop input will determine whether or not the Express
VI will have to reconfigure the task on the next iteration. If a True is wired into the stop input, the task will reconfigure on the next
iteration. If a False is wired into the stop input, the task will not have to reconfigure on the next iteration, because the task is left
open. Typically, whenever a DAQmx Express VI is to be used in a while loop, it is a good practice to wire the stop condition into
the stop input of the DAQmx Express VI (see Figure 20). This way, a False will be wired into the stop input on all but the last
iteration. This will improve performance, especially for single sample tasks.

Figure 20

9. Convert DAQmx Express VI to a Task Constant

11/12 www.ni.com
A configured DAQmx Express VI can be converted into a Global Task that you can then use with the more advanced DAQmx VI’s.
This conversion will also make this task available in Measurement & Automation Explorer (MAX). To proceed with this conversion,
simply configure a DAQmx Express VI as previously discussed in this document. Once the VI is configured, right-click on the
Express VI in the block diagram and select Convert to NI-DAQmx Task. This will bring up the task configuration page, which will
allow you to make any changes. Once any changes are completed, click OK, and this will convert the VI into a task constant that
you can then wire into the advanced DAQmx VI’s (see Figure 21).

Figure 21

**Note: You can also convert from an existing task into a DAQmx Express VI by right-clicking on the task constant on the block
diagram and selecting Convert to Express VI.

Customer Reviews

2 Reviews | Submit your review

12/12 www.ni.com

You might also like