10-02-2015 12:11 PM
Hi,
In LabVIEW 2014 and earlier version, when TDMS List Contents function is used, if no group or no channel in the TDMS file, the TDMS List Contents function will output empty string for group name or channel name. However in LabVIEW 2015, for the same situation, the TDMS List Contents function will output the previous contents for group names or channel names and output an error message (error code: -2532). Does anybody know the reason for the change?
Thank you
Steve
Solved! Go to Solution.
10-05-2015 03:04 PM - edited 10-05-2015 03:18 PM
Is what you are describing the same issue you already posted about?
If not you need to post an example VI demonstrating the issue, I don't remember seeing the issue as you describe.
EDIT: I just tested using the List Contents in 2014 and 2015 on a TDMS with one group and 3 channels in that group and both returned the same results.
Double EDIT: Oh you mean on an empty file. Yeah maybe that could be a bug, let me test.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
10-05-2015 03:25 PM - edited 10-05-2015 03:30 PM
So I used a blank TDMS file with no groups and listed the contents in 2014 and no error and output was blank. I then opened that VI in 2015 and it automatically inserted the clear -2532 error. I'm guessing NI changed something that may cause that error to be seen, they will have to chime into explain why.
I tried listing the contents of the blank TDMS in 2015 both with and without the clear errors, and no error was generated, and the output of List Contents was always blank. Can you post an example of when this error happens, along with the odd output.
EDIT: Also wouldn't a decent work around just be, if that output generated an error, to then clear out the output of that function? Attached is an example.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
10-06-2015 03:04 PM
Thank you very much.
10-07-2015 10:08 PM
@Shijie wrote:
Hi,
In LabVIEW 2014 and earlier version, when TDMS List Contents function is used, if no group or no channel in the TDMS file, the TDMS List Contents function will output empty string for group name or channel name. However in LabVIEW 2015, for the same situation, the TDMS List Contents function will output the previous contents for group names or channel names and output an error message (error code: -2532). Does anybody know the reason for the change?
Thank you
Steve
The TDMS List Contents function does have the behavior change between LV2014 and LV2015. It returns the error code -2532 if the wired group name does not exist, because it does not make sense to ignore this error and tell the user that there is nothing wrong when listing a "non-existing" group. Actually we were introducing this behavior change in LV2015 for TDMS List Contents function due to the complains from other users that TDMS List Contents function should report the error when the wired group doesn't exist.
And TDMS will insert the clear -2532 error as the mutation from LV2014 to LV2015 to ensure those VIs saved in LV2014 can still work correctly even if they're listing the "non-existing" group in TDMS file.
10-07-2015 10:14 PM
BTW, the workaround for the issue is just mentioned by Hooovahh, you need to manually wire the clear -2532 error if you might possibly list any 'non-existing' groups.
10-08-2015 07:17 AM
Thanks for this information. I do have a few more follow up questions.
Is this type of older VI mutation supposed to be documented in the LabVIEW upgrade notes? I didn't see anywhere that the List Contents function was mentioned, or that the clear -2532 would be inserted.
It appears that there is a bug related to using the TDMS List Contents, on a group that doesn't exist. Have you looked at the example I posted earlier? It appears that if you use the List Contents on a group that does exist (ex "Group 1"), it returns it's data, then if you use the List Contents on a group that doesn't exist (ex "Group 2") it returns an error like you described. But the Channel Names returned on the second call is the same data that was returned from the first called (Group 1 call) making it seem as if the second group has channels, when it doesn't.
I spent the time to make a VI that demonstrates the issue, and showed that the output of the List Contents is different from 2014 to 2015 (not just from the error output), but have yet to hear if this is a bug, or have a CAR assigned.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
10-09-2015 07:31 AM
We consider this change as a fix for the wrong behavior in older LabVIEWs, it's not a new functionality or feature for LabVIEW 2015, so this type of change does not meet the criteria for the contents documented in LabVIEW upgrade notes.
But the issue you mentioned that the channel names returned on the second call is same as the data returned by the first call, this is an issue that should be fixed, so CAR 550019 has been filed to track this issue.
Thank you very much for your significant efforts on narrowing down this issue for us.
10-09-2015 08:29 AM
Thank you, for some reason I thought automatic mutation of a VI from an older version, would be something mentioned in the Upgrade Notes. By that I mean the automatic inserting of the clear error when opening a VI in a previous version.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord