TDM file query property names

I use the TDM files to save data from the trial.  At the file level, I am inserting a number of custom property labels (using the Property.vi defined in the IO file-> storage-> advanced storage pallet).

Is it possible to query the names of these properties once the file has been written?  For example, if I put in a custom property "TestLocation", is there a way I can find the name of this property afterwards, so I can read the value?

JoeG

Hey Joe,

Please try the attached VI for the names of the custom properties.

Best regards

Mavis

Tags: NI Software

Similar Questions

  • Name of the TDMS file for use in Diadem report

    I received a large number of TDMS files collected with Signal Express 2014 and all of these files are called voltage.tdms in several subfolders, when I opened a sample of these files in Diadem I see that they have unique names in the field title properties voltage.tdms and so I would like to use this in a report model that I created. What I failed to find it is an easy way to capture the value of this title and put it in my report model, there is a variable called ChnDataFileName name, but it gives me "voltage.tdms", I don't see any of these variables to extract the field title, anyone know how to access this field?

    Hi ADobson

    The easiest way is to drag & give up the property from the data of the report portal. Then you will get something like

    Title: @Data.Root.Properties ("title"). Value @.

    Hope that helps

    Winfried

  • How do you find the name of the Group and channel your TDMS file name?

    How do you find the name of the Group and channel your TDMS file name?

    Nevermind, I've used the file viewer.

  • Can I save a TDM file without its TDX data?

    I have hundreds of data files that have been sorted (by date).  In some cases, I want to analyze subsets of these data in specific groups.  I would like to save these groupings in a TOC file, but I don't want another copy of the data block.  However, I notice that if I record a TDM, it automatically records the TDX and I'm not sure that it is possible to save/open a TDM without its same name TDX file.  Someone else has a similar need and/or to know a method of data management that may be suitable for my needs?

    Thank you.

    Although there are technical ways such as Brad described it is built directly into the mechanism to implement your use case.

    What you can try to do (if possible) use datafinder to define your new file as a query and load the results of the query instead of a file of tdm.

    • Find a query that contains contains the strings that you want to load it:
      for example, channels where channel.name is channel.name root.creationdate or 'abc' and 'def' is...

    • Load the result of the query in the data portal

    • You can save these queries as tdq and those file that allows you to set your content of the resulting file/portal of the tdm

    The result is almost equal, because if you delete files tdm you assembled tdm file would be invalid and the query would return fewer channels.

  • Integrated Properies of TDMS files

    I found a problem with CVI 2010 SP1 built-in properties of a PDM file reading.

    Functions:

    • TDMS_GetFileStringPropertyLength with property TDMS_FILE_NAME
    • TDMS_GetFileProperty with property TDMS_FILE_NAME
    • TDMS_GetChannelGroupStringPropertyLength with property TDMS_CHANNELGROUP_DESCRIPTION

    error-6629 TDMS_PropertyDoesNotExist if these properties exist but are an empty string!

    I think that this error is returned only if the property is not really exist, not if it is an empty string.

    I have seen this with example TdmsReader provided with one of my TDMS files.

       

    Hey Vix,

    The file was created in CVI or LabVIEW? When you create the TDMS file in CVI, the name property is required or the TDMS_CreateFileEx returns an error. However, the TDMS vi open (with the create option) does not require the property name to set. So if the file has been created in LV, so unless the name property has been specifically created, then there is no. In the Excel plugin, if the name property does not exist, it uses by default the name of the file (the name property does not necessarily match file name).

    Since you have access to LV, you can simply add this property yourself with vi TDMS Set Property. It can also be a good habit of always set the 4 standard properties when creating files in LV TDMS

  • Encrypting data by connecting to tdms files

    Hello

    The project I'm working on that saves its data in tdms files.

    But it is necessary to protect the intellectual property of the data, so that the client wants the encrypted data.

    Does anyone have a suggestion regarding best practices for encrypting the files in data/PDM?

    THX

    Ben Engelen

    TDMS is not a built-in encryption feature. There are several options as to how you can manage encryption.

    1. You could write a TDMS files unencrypted to the disk and encrypt it using a 3rd party software (e.g. PGP).
    2. You can use a file encrypted hard disk, partition or container you write directly the TDMS file (TrueCrypt is a good choice for this).
    3. If you consider the temporary presence of a dangerous unencrypted file, you can also encrypt all the relevant parts of the file (names of properties and vales, raw data) within your application LabVIEW and then write to PDM. Of course, you then have a player application that implements the decryption.

    Hope that helps,

    Herbert

  • write with a fixed size tdms files

    Hi guys, I'm stuck with the problem of how to write a series of files tdms with each file has a fixed size of continuous analog sound recordings. Each file is named by the timestamps. The solution that I am trying at the moment is to create a new tdms file all the few seconds (provided) using the PDM open function. This idea implies a case structure for the State. When it is true, the new file name is created and then the open function tdm is called. When it is not true, I would use the name of the file created earlier. However, I do not know how to get the filename that is created previously, and so I'm unable to wire the false conditon of the structure of the case. Any help would be appreciated.

    An excerpt from play with him:

  • Creation Waveform TDMS file using the functions DDC_ in C 6.0?

    I'm trying to implement an export written in C 6.0. I can make the TDMS files using the DDC_ controls without any problem. But I can't understand how waveform TDMS files. I thought that if I added properties wf_ I should be able to define the waveform = Yes. But it seems to be more complicated than that.

    Here's what I work until now... (with the exception of the error handling to make it easier to see)

    DDC_CreateFile (sDestFileName, "TDMS", gszinfoline1, gszinfoline2, gszinfoline3, gszinfoline4, & hOutputFile);

    DDC_AddChannelGroup (hOutputFile, szGROUP_NAME, szGROUP_DESC, & hgroup)

    DDC_CreateChannelGroupPropertyTimestampComponents (hgroup,
    szCHANNEL_NAME,
    year (unsigned int),
    months (unsigned int).
    days (unsigned int).
    hours (unsigned int).
    minutes (unsigned int).
    wholeseconds (unsigned int),
    (double) fractionseconds);

    DDC_AddChannel (hgroup, DDC_Double, szCHANNEL_NAME, szCHANNEL_DESC, szCHANNEL_UNITS, & lphchannel);

    DDC_CreateChannelProperty (lphchannel, "wf_increment", DDC_Double, dInterval);
    DDC_CreateChannelProperty (lphchannel, 'wf_xname', DDC_String, 'Time');
    DDC_CreateChannelProperty (lphchannel, "wf_xunit_string", DDC_String, "s");
    DDC_CreateChannelProperty (lphchannel, "wf_start_offset", DDC_Double, 0,0);

    Any suggestions? (Details of this aid are intended for LV or completely absent)

    Thank you very much

    Don

    Hi Don,

    Thanks for the additional information.  After doing research a bit more, it seems that there are 3 required properties so that the property of waveform to be set to yes.  These are wf_start_offset, wf_increment and wf_samples.  If you add in a call such as the following, this should solve the problem:

    DDC_CreateChannelProperty (lphchannel, "wf_samples", DDC_Int32, 5);

    Just replace with the length of your table 5.

    Kind regards

  • Get the properties of a large TDMS file is very slow

    I have a very large file PDM with about 3000 properties. After that I open the file, it will take about 2 sec to read a property with the PDM get properties VI. I'm reading all the properties, so I can do some calculations on them. It takes too long to read them all. Y at - it a faster way to read. I think now I should have stored the values in a channel, but it does not help my situation.

    George

    Thank you for your answer, George!

    Then, I'm afraid that there is no simple workaround solution unfortunately. If possible, you may want to consider splitting the TDMS file to some smaller TDMS files. We had similar bugs report, on the performance of the PDM get properties, especially when having a large number of properties PDM, we worked on possible optimization now.

  • Extract strings in the tdms files and write the strings in the file txt or lvm

    Hi all

    I'm struggling to extract strings from a file of tdms to write them in a txt file.

    The strings were written in tdms is a time stamp data recorded to a compact RIO.

    I put the chain in a different group from the PDM, but when I use the function read tdms with the group name, as I said, an error message is always take place.

    Thanks for all the help.

    PS: I have attached an example of tdms file I got over here.

    Kind regards

    Yifeng

    I tried your attached file and it seems that everything goes file. I have attached the screenshot of my VI here, what do you want?

  • TDMS files will not correctly import in Matlab

    I am trying to load the content of the TDMS files in MATLAB for post-processing. I'm not too picky on what method to use to achieve this, but I want that he be relatively simplified for processing batch and I want it to work (this is key)! I tried the NEITHER provided DLL with sample files ".m" (see "reading TDM/PDM files with The MathWorks, Inc.® software MATLAB", http://zone.ni.com/devzone/cda/epd/p/id/5957). I can get to work perfectly with the TDM file provided, but it does not properly cover my own TDMS files. I also tried to treat the binary TDMS file using MATLAB Central M-script (see "ConvertTDMS", http://www.mathworks.com/matlabcentral/fileexchange/28771). This file was written to process files TDMS file format description-based of NOR (see "Internal TDMS File Format Structure", http://zone.ni.com/devzone/cda/tut/p/id/5696). M-script is my preferred solution since it does not require a bunch of other files such as the DLL approach does, but I'm willing to take the approach that works best.

    All I want to do is to be able to read all properties (names and values) and each group of channels (the names and values) to a TDMS file in MATLAB. Is this too much to ask? Any help is greatly appreciated.

    See the attachment document that has several screenshots to explain the problems I encounter. I have also attached my modified versions of the scripts mentioned above and my example of TDMS file which is not treated properly.

    Thank you

    Mike


  • Why the TDMS file is bigger that we should

    Hello

    I write data rate simultaneously two analog channels to TDMS file to sample 10 kHz using the capture of data OR PCI card - 6111 12-bit.

    Simply calculate:

    10000 samples per second x 12 bit x 2 channels is 240000 bits per second = 30 kbytes/s = 1.8 MB per minute.

    I have 766 seconds takes long recording, so it should be: 30 kbytes/s x 766 second = about 23 MB.

    But my TDMS file takes 123 MB! and I have problem with these large treatment TDMS files, for example I have no memory of enogh for analysis of FOIA. Where is the problem?

    Best regards

    Kacper

    DFGray,

    You're right, I wrote the values of voltage in volts as waveform (DBL) of DAQmx, but number DBL is 64-bit, that's why my files was so great.

    Now, I write not adjusted data represented as I16 (16-bit integer), and everything is ok.

    It is possible to further reduce the size of the file using property DAQmx Channel node - http://zone.ni.com/devzone/cda/tut/p/id/3697#toc1

    Kacper

  • Number of groups of TDMS files?

    Hello

    Is there a way I can read the number of groups in a pre-existing TDMS file? I want that the groups to be named numerically so that if I know how many groups there is a file that has been opened, I automatically the name of the group to the next.

    Kenny

    TDMS content list, that's what you're looking for.

    You can then make a size of table on the list of group names coming out.

  • The decisive TDMS file size when running.

    I have a request where the .tdms file can grow very quickly, due to the amount of stored data - 7 channels of data acquisition in 50 000 samples dry.

    I want to determine when the file has reached about 2 GB and close the .tdms file and create a new one with a different/timestamp name.  I want to break these files due to portability problems.

    It is, how to determine the size of the .tdms file?  When I try to give the Sub - VI "to get the size of the file" the .tdms, a GPIB controller file path must be in error of the charge occurs.  Also, the refnum of the tdms file is not the same as the file refnums, so the Subvi "get file pointer" will not accept the PDM refnums.

    I could probably calculate somehow what is happening in the PDM file, but that seems to be a workaround and will not exact due to the header information.

    You can't get the size directly from the refnum file, but you can probably still get the size another way. Use the file/directory information of the pallet of Advanced File i/o. It takes a path as input, not a refnum. This should give a specific semi file size value, although it will be possible that there is data to cache that has not yet been emptied to the file. Yet, when you talk about the file sizes in the range of 2 GB, it should be close.

    It is roughly the same thing that I look in Windows Explorer as the TDMS file size expands as it is written.

  • Card data scope of device to the TDMS file buffer

    How transfer brought data card device buffer to TDMS file directly bye passing buffers LabVIEW and Windows. In the same way as DAQmx configure logging (VI) do we have any function scope?

    The API OR-SCOPE doesn't have the ability to record data acquired directly on the disc like the DAQmx API offers.  All data must be retrieved from the on-board memory, which makes data transfer OR-SCOPE kernel driver via DMA, and a copy must then happen to transfer data from the space of the kernel in user space (LabVIEW), how it can be manipulated.

    The main reason for this flow is because the calibration scale occurs in the NOR-SCOPE driver and not the material.  So if you were to save data directly to the disk as DAQmx, he stock raw ADC codes, without correction calibrated.  The API OR-SCOPE allows to recover the coefficients of scale if you want to apply them at a later date after extraction of the data from the hardware.  To optimize flow of data applications, it is recommended.

    The only exception to the logging directly on the disk would be the Oscilloscope Reconfigurable SMU-5171R.  It is being implemented with LabVIEW FPGA firmware using the design of Instrument libraries, code is open for editing.  With the open nature of this software stack, it is possible to implement "direct to TDMS" functionality with LabVIEW FPGA Read region node.

    I hope this helps!

    -Nathan

Maybe you are looking for