01-25-2013 02:10 PM
I'm using TDMS as the basis for a set of file types in LV 2011 SP1, and I need to be able to concurrently access properties in the files from different sessions. The documentation and examples show that data can be accessed concurrently, so I figured it would work for properties, too. I even called "TDMS Flush" after every instance of "TDMS Set Properties" to guarantee that nothing was stuck in a write buffer. Unfortunately, it isn't working in my application, and the attached POC doesn't work, either.
Is it possible to perform synchronous writes and reads on properties in a TDMS file from multiple session wires?
Does TDMS flush execute synchronously, or is it an asynchronous call?
01-27-2013 10:40 PM
CAR 388525 is filed to track this issue.
01-28-2013 09:27 AM
So it's a bug? And not fixed in any current version of LV?
01-28-2013 05:39 PM - edited 01-28-2013 05:40 PM
A CAR at NI is a "Corrective Action Report". It means we know about the problem and were able to replicate it. This one has not been implimented yet in LabVIEW. You can read more about bug reporting here.
01-28-2013 05:43 PM
Thanks, Kurt. When you say, "This has not been implemented in LV", what is "this"? A fix to the bug? Or the feature of synchronizing properties across TDMS sessions? I built an entire set of file IO APIs on TDMS under the assumption that this would work (my mistake, I guess), so I'm trying to understand exactly what the situation is as I might need to make some major changes to my design.
01-28-2013 09:23 PM
Attached please find a wordaround to solve this issue.
Workaround: Call one more "TDMS Get Properties".
01-29-2013 02:45 PM
Thank you Bo Xie! I played with the VI you posted, and I've deduced: