Data Acquisition Idea Exchange

About Data Acquisition Idea Exchange

Have an idea for new DAQ hardware or DAQ software features?

  1. Browse by label or search in the Data Acquisition Idea Exchange to see if your idea has previously been submitted. If your idea exists be sure to vote for the idea by giving it kudos to indicate your approval!
  2. If your idea has not been submitted click Post New Idea to submit a product idea. Be sure to submit a separate post for each idea.
  3. Watch as the community gives your idea kudos and adds their input.
  4. As NI R&D considers the idea, they will change the idea status.
  5. Give kudos to other ideas that you would like to see implemented!
Showing results for 
Search instead for 
Did you mean: 

Additional TDMS Metadata

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.


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.


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.


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 


Useful for TDMS and quite a bit of other things.



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


Yeah, I think this is a pretty good idea.


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.


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 Smiley Wink


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 Smiley Very Happy)


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 Smiley Wink since I have it for wfrm attributes )


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