03-22-2011 05:18 AM
Hi folks,
I am using LabView 8.20 on a Windows XP machine. The application generates TDMS data files and all works fine in the development environment. When I compile the TDMS files are not written to correctly. The files are created (I can see them appear in the folder at the appropriate time) but no data is written to them.
The app uses absolute paths to the files, so the issue with stripping the extra layer off the EXE path does not apply.
I have USI installed.
Any ideas how I can look deeper into this, or if this is a know bug that has been solved?
Thanks,
Ian
03-22-2011 08:17 PM
Hi Ian,
Is that convenient for you to post a VI to reproduce this problem here? So that we can do some investigation on your problem. Thanks.
Yongqing Ye
NI R&D
03-24-2011 05:38 AM
I spent a while trying to find the point of the problem, and I am closer now. A TDMS file is created from a valid path, and a refnum generated. The numeric value of this refnum is 1 in both the development system and EXE. The attached screen section shows where this happens, and the refnum being passed into another VI, Set File Info. This VI is posted.
The test details are handled correctly, but the TDMS Write block generates error 1, Invalid input parameter. This error only occurs in the EXE, not the development system.
Any ideas?
Thanks,
Ian
03-24-2011 08:34 PM
I remember in EXE, the file path is different in some cases, but I couldn't remember all the details, sorry.
I would recommend you check the file path in both VI and exe to see whether they are the same.
04-02-2011 06:17 AM
can you help me????
04-05-2011 09:56 PM
Hi Joju,
I took a look at your attached VI. What I'm curious is why you used 2 while loops. I don't think it's a good idea of using the 2 while loops there especially without close and reopen the file. TDMS Standard API nodes has a global lock (mutex) on each other, in another word, the node will block each other, maybe that can somehow explain why you saw the rutines stop or restart to work.
04-05-2011 11:22 PM - edited 04-05-2011 11:23 PM
If you are using a VI's path as your starting point, you will have to strip an extra layer in an EXE.
04-06-2011 01:20 AM
Hi Yongqing Ye;
I agree with you, but this Vi, it's only a test Vi, don't matter this double loop, without the second loop the problem it's the same, the writer vi's don't work at some moments, for some soconds or minutes and after this it's rework rightly, without errors, I don't know. have you some idea??????
04-06-2011 01:30 AM
Hi Joju,
I don't have a specific idea for this behavior. Do you have any problem for this or it's just your observation? I guess that can be because the nodes block each other, but not very sure, and I couldn't reproduce what you saw by running your attached VI.
04-06-2011 01:43 AM
I have a severe problem, with a big aplication, this vi's is only a simplification of the problem, if you run this vi, you can reproduce the issue, I found a unique method to work rightly, that is: TDMS version 1.0, buffering size 0, and defracmentation of TDMS at the end of generation, but I'm not sure of realy stability of this option.