From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

TDMS to ASCII (txt) conversion problem due to huge memory data

I measured noise signal with sampling rate 100k for 1.5 hour.

Thus, the measured TDMS data file's storage is 12 GB.

 

Now I am suffering from TDMS-to-ASCII conversion problem.

I have a program which converts TDMS to ASCII, but it results in error "Not enough memory to complete this operation".

 

Here is my computer's specification.

CPU: Intel Core i7 CPU X990 @ 3.47 GHz / RAM: 24.0 GB / 64bit

 

I think I need a program which repeats reading-one-block-and-writing-one-block process, and might not cause memory shortage problem.

However, I am very novice to LabView.

 

If there is any NI software or Lab View program which can resolve my problem, please let me know.

I need help.

 

The attached file is my program, which works well only for small data.

0 Kudos
Message 1 of 4
(2,731 Views)

I don't think there is an example that does exactly that in LabVIEW, but there are quite a lot of examples related to TDMS, if you feel adventurous you can learn from the examples to implement what you've discribed, reading chunck by chunk to export from TDMs to ASCII is the right way to go. that would be a great start to teach yourself some LabVIEW.

If you don't want to follow this learining process, you can dig into the forum, I'm pretty sure some examples to do this have been posted, if not on forums.ni.com, then on community.ni.com or on lavag.org.

 

Last note, the search engines on those forums are not always great (in the case of lavag.org, it really sucks, and I'm being very polite) so you might want to use google to search on those site, to restrict google's search to LAVA, type this in the seacrh bar : "site:lavag.org TDMS chunk"

 

Good luck


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Kudos
Message 2 of 4
(2,720 Views)

I have two questions:

1. Do you use LabVIEW 2012 Windows 64bit?

2. Could you use LabVIEW TDMS File Viewer (http://zone.ni.com/reference/en-XX/help/371361J-01/glang/tdms_file_viewer/) to view the content of your 12 GB .tdms file?

 

If the answer for above two questions are both "yes", I recommend you to defragment (http://zone.ni.com/reference/en-XX/help/371361J-01/glang/tdms_defrag/) the 12 GB .tdms file first, and then do TDMS2ASCII convert.

0 Kudos
Message 3 of 4
(2,713 Views)

As Titou said, you need to read and write in chunks.  You should get away from using the express VI and the Write to Spreadsheet String.  Open both files before entering a loop.  Inside the loop read in chunks, format the data, write to the text file.  After the loop, close both files.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 4 of 4
(2,698 Views)