I am using the storage VIs to manipulate a TDM file that was created using the TDM header writer API. When I try to do any operations on it (specifically, deleting a channel), i get error -2561 "Data storage is write-protected.". I have checked the permissions on the file and they should be correct.
I ran some tests and found that i can create a TDM file using the storage VIs and delete a channel without any issues. According to LabVIEW, the file created using this method has the same permissions of the problem file.
Do you think this could be a bug with the TDM header writer VIs? Or am i missing something obvious?
I have attached files showcasing the issue.
Thanks in advance for any help.
Hello, I was able to reproduce this issue. It does seem fairly strange that both files have the same permissions but only one of them gives you an error. I was however able to get around this issue by converting the file to TDMS and then writing something to it. Perhaps this will be a valid workaround. Could you provide more information on how this tdm file was created exactly? Better yet, could you create an example VI that creates a problem file from scratch, and then tries to modify it? This might give me a better idea of what is going on. Thanks!
i found this article which seems to explain things. Aparently it is impossible to edit TDM files created with TDMHW.This is just another hole in NI's support for TDM files. NI, why do you hate me?
According to the article above, the TDMHW does not work because the data in interlaced. Does anyone know of any utilities to un-interlace the file so they can be modified with the data storage VIs?
That is a good idea, but requires a bit of development/debugging. Also, most of my files are 500MB so this approach would be pretty slow and eat lots of resources.
If i do this, I will have a mix of both files. How do i dintinguish between interleaved and end to end files? is there some sort of flag i can check?
And of course the million dollar question is why the "TDM standard" isn't standardized? Or is it even a standard? Just a general idea? Rule of thumb?...If it was a standard, then maybe all TDM tools could follow it.