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.