LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

TDM storage of multi-channels

Is there a more elegant way to store multiple channels than to use "Write Data [Channel]" for each of the channels acquired?
Regards,
RL
Message 1 of 4
(3,144 Views)
I'm not sure if I got the question right, since "Write Data" writes multiple channels at a time ... could you describe your use case / desired data structure in a little more detail ? What exactly is it that you would like to solve in a more elegant way ?
Message 2 of 4
(3,144 Views)
Thank you for the rapid response. I did not understand how to save multiple channels with the use of one "Write Data" i.e. could not figure out how to use a channel group that would consist of many channels, therefore telephoned the Support Hotline. I was told to use multiple "Write Data". That sounded like a kludge, hence my request for assistance.

At this time I am saving 4 channels from a PCI-4452 and together with some text strings (using Get-Properties).

Regards,
RL
0 Kudos
Message 3 of 4
(3,144 Views)
Besides creating single channels from single values or 1D arrays (float, int, string, timestamp), "Write Data" supports array types that result in creating/appending multiple channels (1D array of waveforms, Express dynamic data type etc.). If you are acquiring data from a DAQ card, you probably find an appropriate solution amongst these:

1) The easiest thing is using the Express VI "DAQ Assistant", just wire the "data" output to the "Signal" terminal of "Write Data". Channel names, time information, units etc. will automatically be transferred from the DAQ Assistant to "Write Data".

2) If you are using DAQmx or traditional NI DAQ, you probably retrieve an array of waveforms or a 2D array of doubles from the DAQ VIs.
- A
rrays of waveforms can be directly wired to "Write Data", resulting in the creation of multiple channels. Names and units are automatically transferred from DAQmx to "Write Data".
- 2D Arrays of double can also be wired to "Write Data". When you do that, LabVIEW will automatically insert a VI that converts the 2D array into a dynamic data type wire. This also results in the creation of multiple channels, but in this case, no names are available on the wire, so "Write Data" will name the channels "Untitled 0" etc.

In all of these cases, any additional property wired to "Write Data" will be written to all channels created/appended by "Write Data". If you wire a value to the "Name" property, "Write Data" will automatically enumerate the names of multiple channels.

One thing "Write Data" cannot do is handling numeric and string type channels at the same time. The reason for that is that LabVIEW does not provide a way of concatenating these to an array. Therefor, you need one "Write
Data" for your numeric data and an additional one for each string channel.
Download All
0 Kudos
Message 4 of 4
(3,144 Views)