02-10-2012 12:25 PM
Hello All,
I currently have a loop to read data from 8 9215 cDAQ boards (4 channels each, +/-10 V DC) using the DAQmx read command. I output it as a 2D array and am trying to save it to a TDMS file. I have tried using the configure logging subVI but that has created problems when the TDMS file grows over 100 MB (I have worked with NI to try and resolve this). One thing we want to try is using another TDMS writing method, so I am using TDMS write. The problem is that when I feed the TDMS write command the data, rather than appending the data to the existing channels (a total of 8x4=32 channels) it creates new ones at every writing. How can I make TDMS properly take in a 2D array and append it to the existing channels? The amount of channels I read will never change throughout the reading process so it will always be nx32 array.
Thanks!
02-11-2012 05:03 PM - edited 02-11-2012 05:09 PM
Hello Andras.
For the TDMS write you will have to wire the same Group Name and Channel Names everytime, so that the data is written to the same channels. I am attaching a Figure as an example. In this case I am logging Time and Data. This is why you see two times the TDMS write vi, as the data types are different. The "tdms file in" control is supposed to be connected to the output tdms file of a TDMS open vi. The "channel names(s)" control is an array of channel names of size equal to the number of channels you are logging with the 2d array of data. If you don't want to use a control for the channel names you can wire a constant array, as I have done for the "Time channel". I hope this helps.