LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How to avoid one single large TDMS file?

That was strange. I have several 6 and 7 GB files on my XP 32 bit computer. I am not sure why you have this trouble. But I think this is a OS problem. Not a Labview problem  



Besides which, my opinion is that Express VIs Carthage must be destroyed deleted
(Sorry no Labview "brag list" so far)
0 Kudos
Message 11 of 15
(1,390 Views)

Hi Guosong,

 

Are you using the TDMS logging feature that is built into NI-DAQmx? If so, you should take a look at DAQmx Logging New Features - Split files, non-buffered logging, and pause/resume.

 

Brad

---
Brad Keryan
NI R&D
0 Kudos
Message 12 of 15
(1,372 Views)

If your filesize is more than 4Gigabyte you cannot transfere it between systems with Fat32. Even though the file was created on a system with ntfs, you still cannot transfere it to a system that uses Fat32. I would recommend that you convert your Fat32 systems to NTFS, since Fat32 belong to the previous millenium.

Regards,
Even
_________________________________
Certified LabVIEW Associate Developer

Automated Test Developer
Topro AS
Norway
0 Kudos
Message 13 of 15
(1,359 Views)

The system is already NTFS!!

0 Kudos
Message 14 of 15
(1,352 Views)

Hi Guosong,

 

This is a fairly common issue whenever you're streaming data to disk a relatively high speeds - wanting to limit the size of a given file.

 

How about a simple flush/close and create/open new file periodically?

 

More specifically, if you're reading a known number of samples on each iteration, you can actually pre-compute the number of loop iterations between new file creations pretty easily.

 

Also, not sure what architecture you have going, but if you're streaming at a fairly high rate, it might be helpful to separate the DAQ read and TDMS write loops.  In the DAQ read loop you can read and enqueue the data to a queue, and in the TDMS write loop you can dequeue the data and then write it to TDMS.  You'd of course be doing your periodic flush/close, create/open in the TDMS loop.

 

In the end, you'll produce a series of TDMS files which are size limited to whatever you need.

 

Hope this helps!

 

Best,
JLS
Sixclear
0 Kudos
Message 15 of 15
(1,351 Views)