LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

A TDM file can't be opened

256 MB of RAM isn't the world.
I have checked which version contains the changed save mechanisms for TDM.
Actually you should make sure, that the  production system has at least
USI 1.4 installed which should fix the problems that might occure in a
system that subsequential save changes to an TDM file using the storage VI's.

At all it would be sufficient to update the USI version which can be done by installing
a Demo version of  LabVIEW 8.2.1, DIAdem 10.1 or create the installer using
LabVIEW 8.2.1.

Do you know how big the files were aproximately before the error occured?
This might give me a hint why it failed. (The xerces library used to handle the XML
seems to eat a lot of memory in some use cases.)

The recovery of the file isn't that easy. Because I am one of the developers of
the file format I can check with a short view if the file can be restored.
(Tahts the good thing about a human readable file format :-))
I created a script that creates the missing elements in a text file and just
attached them to your file after removing all the empty lines.

So if you want to you can attach your second file to another posting and I will give it a look.
If its to big you can remove the empty lines before zipping it. The empty lines aren't of any sense at all.

Greetings
Andreas Krantz
National Instruments

0 Kudos
Message 11 of 17
(896 Views)

Hi Andreas,

The first error ocurred when the file was 20MB approximatedly. Then I erased the corrupted TDM file and restarted the database, the second error ocurred when the file was 10MB.

Just a few questions:

- If I create my installer in LabVIEW 8.2.1 and install in the computer which has the application now, will this error never appear?

- What should the minimun requirements be in order to install these kinds of applications which use TDM VI's?

- Can this problem ocurr if I use the TDMs APIs? (I am thinking about replace the TDM VIs for the TDMs APIs in my main program)

I attached the other corrupted file. I´m sorry for not erase any data because I was afraid of removing some important information.

I really appreciate  your help, it's been very useful!!

Regards,

JC

 

0 Kudos
Message 12 of 17
(889 Views)

- If I create my installer in LabVIEW 8.2.1 and install in the computer which has the application now, will this error never appear?

Yes. If the installer is craeted with LabVIEW 8.2.1 including USI 1.4 this error will never appear.

- What should the minimun requirements be in order to install these kinds of applications which use TDM VI's?

The machine should fullfill the requirements. The problem is a bug in the XML writer (Pretty Print Feature) that makes the file grow in such streaming use cases. Because the file keep growing the Memory consumption is increasing which causes the system to fail at some point. This won't happen with USI 1.4 any more.

 

- Can this problem ocurr if I use the TDMs APIs? (I am thinking about replace the TDM VIs for the TDMs APIs in my main program)

If I understand you right, your application does streaming to the file. So it attaches a value to each channel in time intervals. This means that the TDMs API which is created for streaming would better match your needs. The problem with the XML based TDM file format is that a XML file is always complete. So it is not possible to attach to its end but you have to rewrite the file in case of changes.

The TDM(s) streaming format is designed to easily attach to the end of the file without having to rea or touch the start of the file. So probably you won't have any problems if you switch to a newer USI version but it might be a good idea for the future to swich to the TDMs API.


I have attached your second file including the retored header to give you a chance to compare with your old header to see what I have done to restore the file.


Greetings from rainy Germany

Andreas Krantz

National Instruments

0 Kudos
Message 13 of 17
(872 Views)

Hi Andreas,

You have done a great job with my tdm files, thanks so much.  Now, I will create the new installer in LabVIEW 8.2.1 to solve the problem that I have with my application and the next version of my program I will use the TDMs API.

I'm glad that you have helped me to solve this problem and thank you very much again for all your support.

My regards,

JC

0 Kudos
Message 14 of 17
(862 Views)

I am having the same problem with all the other user. I wonder if anyone can help me recover the corrupted TDM file that I have. Appreciate very much.

0 Kudos
Message 15 of 17
(541 Views)

Hi DevM,

 

what kind of situation causes this corrupt TDM file (empty header)?
In case you still have the information of how many channels has been written to the file and what data type the channels have (maybe you have the source code available), it might be possible to restore your data.

 

Greetings from rainy Aachen

Stefan

0 Kudos
Message 16 of 17
(527 Views)

This one looks worse.

The tdm header that describes the content of the binary tdx file has size 0.

It it wasn't written at all.

 

Assuming that the data file contains double channels you can try to use the attached header.

It will read the file, as if it contains one R64 channel. So all the data is concanated.

I assume this dosn't help a lot 😞

 

Greetings

Andreas

0 Kudos
Message 17 of 17
(516 Views)