LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

TDMS vs LVM data logging

Hello,

 

I am a novice at logging of buffered data using Labview although I have been using Labview for point-by-point applications with very low (<25Hz) aquistion rate requirements for a while.

 

I am starting by using write to measurment file.vi to log 120s of data from a NI USB-6218 BNC device acquired in Labview via DAQ assistant.vi in continuous aquistion mode (4 analog channels, 5kHz rate, 1k samples buffer). Here is a comparison of the file sizes I achieve

 

Without time column: TDMS 19MB, LVM 23.4MB

With single time column: TDMS 28.8MB, LVM 28.4MB

 

I have a few questions about this.

 

1) Why is the effect of adding a time column larger for the TDMS file format than it is for the LVM file format?

 

2) If I don't include a time column to the data file, how can I be sure that all the data has been logged without any gaps?

 

3) I understand there are some advantages to using TDMS over LVM (e.g. file size and speed). However, in my case the file size advantage of TDMS vs LVM (~20%) when time column is absent is not so big that it would put me off using LVM, and it is non-existent when a time column is included. Therefore I am considering using LVM for ease of data sharing and analysis (I will be using Matlab for analysis). But I don't know if the speed of logging is an important factor for me. When does the added speed of logging to TDMS become important? I will probably need to capture 4 channels of analog data at 5 to 10 kHz for 3 to 4 minutes at a time.

 

4) Ideally I would like to plot the data on waveform charts whilst it is being logged. What is the standard practice for establishing if additional tasks in the VI (plotting, analysis etc) are having a detrimental effect (causing dropped data points) on data logging?     

 

Thank you

0 Kudos
Message 1 of 3
(3,621 Views)

Hi,

As far as the data aquistion speed is less than the logging speed. Both TDMS and LVM can satisfy your requirements. LVM is based on ASCII, in many cases, it will result in larger size of file. As for your 4) question, TDMS support replaying while logging just by use of TDMS Read.

0 Kudos
Message 2 of 3
(3,593 Views)

TDMS should actually be much smaller than LVM.  Make sure you enable buffering before starting so that you are not saving each point individually.  If you only have one channel, you may want to save with only one header, as well.  See the LabVIEW help on TDMS files for details.

0 Kudos
Message 3 of 3
(3,577 Views)