From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

What are TDMS properties?

Hello,

I'm a little confused about what TDMS file properties are. I was thinking they are the values that are stored in channels, and the White Paper on TDMS internal structure (http://www.ni.com/white-paper/5696/en/) doesn't say exactly what they are. I know they can be used to describe the file, group, or channel. Are they just setting details about the channel or group? For example, if I have a TDMS file with groups `Test1, Test2, Test3` and each of those groups have channels `sample1, sample2`, then would properties be things like `Date`, `Purpose`, and other details about that sample? Or I could set the properties or `Test1`, or any other group? I just want to make sure I understand the properties correctly.

0 Kudos
Message 1 of 3
(3,410 Views)

Hi Quark,

 

you might read this or that

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 2 of 3
(3,406 Views)

I did an NI Week presentation on TDMS in 2016, which you might find interesting.

 

http://forums.ni.com/t5/Past-NIWeek-Sessions/TS9046-TDMS-File-Format-Usage-In-LabVIEW/ta-p/3315943

 

The slide most useful for this topic is Slide 7.  Basically TDMS properties are meta data.  You are right that if a file needs some scalar information tied to it, you can make a property on the file, group or channel.  But what this is really depends on the type of data you are storing and how.

 

For instance lets say I have one TDMS file for every unique part that is tested.  Each test performed can be a group, and each signal recorded can be a channel in that group.  In this case example properties for the file would be things that are common for the whole file (when was the file made, last modified, if all tests passed, device type and serial number, etc)  You might then have a group that also has a pass or fail status for that test ran.  But you can also store things specific to that test like what was the test parameters, who ran the test, what tester performed the test, how long did the test take.  These could all be properties of that group.  Then there are the channels and the kinds of properties useful here could be things specific to the channel like scaling information, or calibration information.  These examples of things you'd put as properties are going to vary greatly depending on the structure of your file.  

 

What if I have one TDMS that has all parts in it?  Well then my structure is going to change, along with the properties I may want to log.  What if one part gets one TDMS for each test performed?  That will change things too.

 

And taken from my slide:

 

These properties are the things that can be more easily searched for later. If you want to know if the test passed, searching for a property is much easier than going through the whole file evaluating limits for each measurement. Logging these types of meta data can make life much easier if it is done when the test is being performed, or when it is ending the test.

So if I want to find all TDMS files that have a device serial number of something specific, and passed all tests, I could open the TDMS file, and just read those properties instead of reading the whole file.  This is a how Diadem, and the DataFinder toolkit allow for quick searching and reporting.

0 Kudos
Message 3 of 3
(3,388 Views)