Data Acquisition Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
crossrulz

Additional TDMS Metadata

Status: New

Just ran into a situation where I need to stream a lot of data to TDMS.  The only problem is that I need to store additional metadata with the channels.  I could go through all of the generated TDMS files and insert them after the fact, but this is kind of tedius.  I propose a way to add metadata to the channel.  My first thought was to use a variant input on the Create DAQmx Channel, but some of the polymorphics already have really fully connector panes.  So I am now thinking to just add a property to the Channel Property Node that is just a variant.  When logging to TMDS, the variant attributes can be put in the metadata of the channel.  Do something similar for the group so that we can have additional group metadata.

 

Metadata that I'm currently thinking about could include sensor serial number and calibration data.  I'm sure there is plenty of other information we would like to store with the TDMS file.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
8 Comments
JÞB
Knight of NI

Lets see if I understand.

 

Using DAQmx Logging you would wish to add attributes to the waveform group or channel you are acquiring by attaching those attributes and values to the task or channel.  Additionally, it would be sweet if when using a DAQmx Read with a Scalar or nD Waveform data type the the waveform attributes would contain user defined attributes stored with the Task.   If That is not your intent It would make a great Idea!  

 

The available work around would be to not use DAQmx logging (reducing available throughput) and manually set the waveform attibutes before logging to TDMS or to set the attributes in the file based on guessing the file group and channel names that DAQmx Logging handles under the hood.


"Should be" isn't "Is" -Jay
crossrulz
Knight of NI

Jeff, that is precisely what I am asking for.  I didn't initially think about having the added metadata in the Waveform Attributes.  That would be a logic add on while they are mucking around in that code.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
JÞB
Knight of NI

Kudos duly given.  I just needed get to my cube at work to consult an especially tuned prognostication device I picked up in Austin last year to get what you meantSmiley LOL

 

Honestly I can't imagine a better implementation than to have a set user atttributes 

Capture.PNG

Useful for TDMS and quite a bit of other things.

 


"Should be" isn't "Is" -Jay
BrianGShea@NGC
Member

I second that need, I would prefer to have the metadata written prior to streaming so that it can be avialble to read while data is being streamed. Yes, i know that there are preformance issues here, but I my reasons.

 

Also, some default values that should be added are T0 (Trigger Time of a triggered task, or start time if no trigger is setup.). dT of the data samples, units would also be very helpful.

 

Please reference SR# 2160327

Brian G. Shea
Former Certified LabVIEW Architect
MultisimJesus
Member

Yeah, I think this is a pretty good idea.

crossrulz
Knight of NI

If you like the idea, give it a Kuods.  Just a comment will not give NI an idea of how the community wants this feature.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
Henrik_Volkers
Trusted Enthusiast

AT least with LV2012 I run into the problem, that cluster can be attached to the wfrm properties, but TDMS doesn't support cluster. So the variant would need checking 😉

 

I like the idea of attaching user attributes to a tasks & channels

to be added to the output wfrm or TDMS stream (NI can also add them to the dynamicdataWHATtypeISit ... I avoid to use them :D)

 

Add a vi for some DAQ properties as a checklist: SN, temp,date of last cal, last self cal....    (OK, I can do it for myself once 😉 since I have it for wfrm attributes )

 

A test that you haven't documented has never been done!

Greetings from Germany
Henrik

LV since v3.1

“ground” is a convenient fantasy

'˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'


russ_comer
Member

Kudos given, I hope this is implemented. This would save me so much time and aggravation.