Data Acquisition Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
0 Kudos
Ron_@_Fluor-Bettis

Programmatic Remote Creation of DAQmx Global Virtual Channels To Facilitate Distributed Networked Data Acquisition

Status: New

The use of NI DAQmx Global Virtual Channels is the best way that I have found to configure and manage parameter scaling to provide measurement data directly in engineering units. The software architecture of our data acquisition applications is centered around the use of Global Channels (aka Virtual Channels). Configuring Global Channels using NI MAX (Measurement & Automation Explorer) is convenient for a small number of measurement channels. However, in system configurations with hundreds of channels, to create and manage them effectively, you need to build your own application for this task.  We have built custom Global Channel creation VIs in LabVIEW for each type of analog input or sensor type that we use. These VIs are designed to read a configuration table in CSV format, and then loop through creating a Global Channel for each table row of information.  This process allows for more flexibility in naming the channels as well as setting different scaling and storage of other channel-specific metadata.

 

We employ multiple networked data acquisition systems with Linux-based NI controllers, and we manage those DAQmx Global Channels across our network.  Currently, to create DAQmx Global Channels on these systems, we must directly connect to the NI controller in the LabVIEW Project View and run our suite of Global Channel creation apps on that particular controller using their accompanying, locally-stored CSV configuration file.  Currently, our networked distributed data acquisition system has grown to 10 controllers, each with their own set of common I/O.  The creation of those Global Channels has now become cumbersome because we have five I/O types to manage and hence five custom LabVIEW applications each with a specific configuration file to run on 10 controllers individually.

 

A potential simplification to the process would be to run our custom LabVIEW applications on a Windows host PC and create the DAQmx Global Channels remotely.  That would eliminate the need to directly connect to each controller from the LabVIEW Project View and copy a common set of config files to each controller and run the same applications on individually on each controller.  However, the current version of DAQmx makes no provision for remotely creating DAQmx Global Channels.  Note that NI-MAX is able to create DAQmx Global Channels remotely, but this functionality is not exposed for LabVIEW programmers to utilize.  My idea/suggestion is that NI make this functionality available in LabVIEW.