Creating a Virtual Channel in NI-DAQmx and Using It in LabVIEW

Updated Jul 16, 2026

Environment

Software

  • LabVIEW
  • Measurement & Automation Explorer (MAX)

Driver

  • NI-DAQmx

A virtual channel is a collection of settings such as a name, a physical channel, input terminal connections, the type of measurement or generation, and can include scaling information. In NI-DAQmx, you can configure virtual channels as part of a task or separate them from a task. Virtual channels created inside a task are local virtual channels. Virtual channels defined outside a task are global virtual channels.

In NI-DAQmx, virtual channels are integral to every measurement, this guide explains some application examples and naming guidelines as well as linking out to the manual for how to create the virtual channel and an example on how to use one. 

You can create virtual channels with the DAQmx Create Virtual Channel VI - NI or with the DAQ Assistant - NI . As explained in this article, DAQ Assistant is accessible from NI Measurement & Automation Explorer (MAX) or NI application software, to configure channels and measurement tasks.

 

Naming and Referencing the Virtual Channels in LabVIEW

To name the virtual channel, use the following guidelines:

  • Use any alphanumeric characters.
  • Do not use non-alphanumeric characters with the following exception:
    • Spaces are allowed.
  • You can use underscores within the channel name, but you cannot use leading underscores, such as _Dev1.
  • You must use no more than 256 characters.

With the DAQmx Create Virtual Channel VI, you can reference the channel by using a control and selecting it from the front panel:

 

 

Alternatively, you can reference it by wiring a string constant that contains the channel name in the block diagram.

You can also change your device alias name by following the directions at the end of Can I Change the NI Device Name in NI Measurement & Automation Explorer (NI MAX) - NI, and use it as the channel name in your task.

 

Configuring the Virtual Channels

After referencing the channel name, the final step is to complete the configuration, which depends on your specific application. You can open the context help by selecting the VI and pressing <Ctrl-H> to review the available features. The required terminals are shown in bold.

 

With the DAQ Assistant, refer to the NI-DAQmx Express VI Tutorial - NI for more information.
 
 
Local Virtual Channels and Global Virtual Channels

You can create global virtual channels in MAX or in your application software and save them in MAX. Global virtual channels are listed in MAX under the DAQmx Channel tree. 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 in which you reference that global virtual channel.

Local virtual channels are created inside a task. If you create the same local virtual channel in three separate tasks, the local virtual channels are considered to be three distinct virtual channels. If one local virtual channel is modified, the other two local virtual channels remain unchanged.

Application Examples

1. I want to measure temperature in the range 50°C to 200°C using a J-type thermocouple that is wired to channel 0 on an E Series device configured as Device 1. Should I use a physical channel or a virtual channel?  

    • Data acquisition using the physical channel will acquire data as a voltage even though the E Series device is connected to a thermocouple. However, this voltage actually corresponds to a real-world temperature value, which would normally require you to add a separate conversion routine to your existing program. A virtual channel returns the data as a temperature without any additional routines.

 

2. I want to expand my application from above. I want to measure temperature at a rate of 1000 samples/sec beginning only after the temperature reaches 75°C. What would the differences be between using a virtual channel or a task?

    • A virtual channel will return data that has been properly scaled and has the unit of °C. However, with virtual channels, it is up to you to explicitly program the other details of timing and triggering in setting up the application. A task encapsulates all of the information in the virtual channel plus the timing and triggering information.