Automatic conversion of TDMS files to *.mat procedure in Diadem

Hello to all,
I have a very large set of data aquired with a PXI chassis. The data is saved in TDMS files. Each TDMS file contains data from  10 acquisition channel. I have to convert this data into Matlab readable fiels, *.mat files. Unfortnately, there are a lot of files (900GB), each file is very large (17GB), and therefore manual conversion is very long and I cannot afford to waste so much time. 
Does anybody know if I can develop an automatic procedure in Diadem that will take a TDMS file and output 10 *.mat files?
I have to mention that I have tried to convert the TDMS files using Matlab scripts found on Matlab Central, but with no success. I have also tried using some VIs I found on the NI Support forums, but all failed. I am left woth this third solution in Diadem that works, but takes a lot of time.
I am open to any suggestion.
Thank you all,
Jean

Hi Jean,
Have you looked at this document: http://digital.ni.com/public.nsf/allkb/1706BA4C65A8533686256C630062DD03
You can use this dataplugin in DIAdem, to import/export files from/to MATlab: http://zone.ni.com/devzone/cda/epd/p/id/4178
Let me know if you need more informations.
Regards,
Benoit S. - Field Sales Engineer
Certified LabVIEW Developer
Certified TestStand Developer
National Instruments France
#adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
Été de LabVIEW 2014
12 présentations en ligne, du 30 juin au 18 juillet

Similar Messages

  • Automatic Import of TDMS file into Excel

    I was looking at the NI TDMS import plugin for Excel and it seems that the newest version of the plugin uses the COM API which could allow the import function to be used automatcially. There is a short info page about this here http://zone.ni.com/devzone/cda/tut/p/id/10207 but I'm new to Excel Macros and VBA so I'm not sure how to go from this tutorial to what I am wanting to do.
    Specifically, I am wondering if anyone knows (and could post an example of) how to do the following:
    From within a labview VI, the user would select a path to a tdms file. Once this path is selected, the VI would call the TDMS import excel plugin and run it on the file.
    Solved!
    Go to Solution.

    After playing with things, I have worked out the solution to this and I am posting it for everyone in case it can be of some use. In order to use this solution to work out of the box, you will need the report generation toolkit. If you don't have that, you would need some other way of launching Excel from labview and running a macro. Hopefully someone who has the knowledge on how to do that will post that portion in this thread for those who don't have the toolkit
    To start out, open excel and in the menubar select Tools -> Macros -> Visual Basic Editor. The source for the macro you will create is:
    Sub TDMImport(fileName)
    'Get TDM Excel Add-In
    Dim obj As COMAddIn
    Set obj = Application.COMAddIns.Item("ExcelTDM.TDMAddin")
    obj.Connect = True
    'Confirm only importing "Description" properties for Root
    Call obj.Object.Config.RootProperties.SelectAll
    'Show the group count as property
    Call obj.Object.Config.RootProperties.Select("Groups")
    'Select all the available properties for Group
    Call obj.Object.Config.GroupProperties.SelectAll
    'Import custom properties
    obj.Object.Config.RootProperties.SelectCustomProperties = True
    obj.Object.Config.GroupProperties.SelectCustomProperties = True
    obj.Object.Config.ChannelProperties.SelectCustomProperties = True
    'Import the selected file
    Call obj.Object.ImportFile(fileName, False)
    'Record down the current workbook
    Dim Workbook As Object
    Set Workbook = ActiveWorkbook
    End Sub
    Once you have copied/pasted this into the editor go to the menubar and hit File -> Export File and save the macro as a .BAS file
    You will also need to go to Tools -> Macros-> Security and select the Trust Visual Basic Project option in order for the macro to be called from LV.
    Once all this is done, you can use the attached VI (Saved in LV 8.6) Simply supply the path to the BAS file and the TDMS file via the front panel controls and click run and the TDMS import will happen automatically.
    Attachments:
    Automatic TDMS Excel Import.vi ‏14 KB

  • Automatic conversion from XDP file fo PDF file

    Hello!
    I have an application that creates an XDP file with a certain report.
    I can open the XDP file in Designer 7.0 and then save it as PDF, but I would like to know, how can I automatically produce PDF file from XDP file.
    Is it possible?
    Thanks for your answers,
    Bostjan

    Hi All:
    We have a similar requirement for our product.
    We have existing XDP templates (for use with Form server), but we have a need for another Client using an older version of XML Forms - AcroForms (PDF Forms).
    So, we need to convert these XML forms in XDP files into PDF Forms (AcroForms). We tried File->SaveAs (PDF Forms) from Adobe designer, but it looks like the hidden fields (in XDP files) get messed-up.
    Did you guys find any solution for this? I would appreciate if you can share your experiences and insights in this regard.
    Thanks
    Shashi Velur

  • DIAdem not saving all samples from TDMS file

    Hello to all,
    I have several large TDMS files (1.8Gb each) containing approx. 120 million sampels. When I try to open these fiels in Diadem it previews the correct amount of samples (120 Million), but when I try to save tha data in Matlab format it saves me only half the samples, 60 Million. Also, I have a Matlab script that opens the TDMS files and does exactly the same thing, it is not saving all samples. 
    Can you please advise me on this issue? Is there a way to automatically fragment large TDMS files into smaller ones?
    Best regards,
    Ion 

    Hello Jean Baptiste,
    It seems your TDMS file is fine since you have the correct number of data in DIAdem.
    It may comes from the conversion to the MatLab format. Maybe MatLab can't accept more than 60 millions data. You should ask that to the MatLab expert on their forum.
    However, if you want to fragment your TDMS file, you have to do it manually in DIAdem, when you load the file into the Data Portal, or you can automate the function by using VBScript. (Last panel in DIAdem)
    An other solution would be to fragment your TDMS file directly where you write it. (In LabVIEW maybe?)
    Regards,
    Benoit S. - Field Sales Engineer
    Certified LabVIEW Developer
    Certified TestStand Developer
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    Été de LabVIEW 2014
    12 présentations en ligne, du 30 juin au 18 juillet

  • Automatic conversions...A Bug? or just a feature(How to turn it off?)

    I Using TS 3.0(.0.12373) I seem to have stubbled over a annoying 'feature' which I can't turn off...Any one got ant ideas.......
    Every sequence file I load(eg from the \examples\) when When loaded the '*' appears next to the file name indicating a change has happend. When closing the file TS asked "......file modified due to automatic conversions TestStand performed when loading file".
    The only change that happened to the .seq file is a change to the Path, timestamps, and Version(From 3.0.0.12373 in the original to 3.0.0.12374 in the Updated one) at certain points in the file (found using a examine differences program ExamDiff.exe) examples below.
    Any ideas how this feature is switched on,
    and more importantly how to switch it off?
    Cheers
    Attachments:
    rtebeep.seq ‏18 KB
    rtebeep_new.seq ‏18 KB

    Wojtek -
    It appears that somehow you have edited an NI type and incremented the version number. Your debug work was correct, so looking at the sequence file you will notice that the following sections have a changed version number:
    [Action]
    %VERSION = "3.0.0.12374"
    [Error]
    %VERSION = "3.0.0.12374"
    Basically TestStand assumes that the newly edited NI type superceeds the one the TestStand finds in the sequence file. For most NI types, the default copy is stored in the type palette files and these probably have the 3.0.0.12374 version. Depending on which NI type was edited, a copy of the newly edited type might also be in the INI files that TestStand uses in the Cfg directory.
    In TestStand 2.x if a user attempted to
    edit an NI type instead of creating your own copy of the type, the sequence editor would warn them and suggest not editing the NI type. In TestStand 3.0, we wanted to be more strict and not allow editing of NI types at all, but the code did not work properly when released and instead it allows anyone to edit NI types without a warning. TestStand 3.1 now propertly prevents the editing of NI types.
    What I recommend is to search all INI files under TestStand and all your sequence files for the '%VERSION = "3.0.0.12374"' text and hand edit them to replace this text with '%VERSION = "3.0.0.12373"'. This should address the issue for you.
    If you have sent sequence files to others, and you do not want them to see the automatic conversion issue, their files should also be hand edited. Sorry for the inconvenience.
    Sincerely,
    Scott Richardson (NI)
    Scott Richardson
    National Instruments

  • Getting "... file has and invalid format. (Error no. 11)" when importing .tdms file into DIAdem 11

    I developed a script for processing .tdms files in DIAdem 11.1, now I'm deploying the script on the very PXI system that created the .tdms files.  This system had DIAdem 11.0, but when I try to open (DataFileLoadSel) the tdms file in my script I get the error message:
    "D:\MyFileName.tdms" has an invalid fiel format.  (Error no. 11)
    The tdms files are created by a LabView application.
    If I delete the correspondin .tdms index file, I get a little further, it loads the first two of four groups, using DataFileLoadSel on the first group, and DataFileLoadRed on the 2nd group, on third group, another DataFileLoadRed, I get the following error:
    Error in <MyScript> (Line: x, Column: y):
    Cannot load the file "D:\MyFileName.tdms" with the loader "TDMS"
    Further information:
    Cannot open the file "D:\MyFileName.tdms".
    Is there a difference between DIAdem 11.0 and 11.1 that affects the import of .tdms files, if so, can I get around it?
    Thanks,
    Eric
    Solved!
    Go to Solution.

    Hello eberg,
    Before we go into more detailed error trapping, could you please try to install the TDMS 2.0 format on the DIAdem 11.0 computer (DIAdem 11.1 and LabVIEW 2009 come with the TDMS 2.0 stuff already installed).
    Please get the download here: http://zone.ni.com/devzone/cda/tut/p/id/9995
    Once installed, please try running the Scripts again (in DIAdem 11.0) and let us know if that fixed the issue. It might not help to install this, but it's a quick thing to try before we dig deeper into the issue.
    Best regards,
          Otmar
    Otmar D. Foehner
    Business Development Manager
    DIAdem and Test Data Management
    National Instruments
    Austin, TX - USA
    "For an optimist the glass is half full, for a pessimist it's half empty, and for an engineer is twice bigger than necessary."

  • How do I export *.TDMS file format to *.UFF file format?

    Hello
    How do I convert TDMS file to UFF file?
    I've heard that it's possible to convert the file by using Labview.
    Is it true?
    I can't find the method in Labview.
    The version is Labview 8.6 
    By using SignalExpress, I can convert TDMS file to UFF file.
    But it's troublesome job, because the procedure is made unfriendly for users when converting many files.
    TDMS file tree is... (for example)
    file_1.TDMS --- strain --- S1,S2, ... S10
                      --- voltage --- V1,V2, ..., V10
                      --- temperature --- T1,T2, ..., T10
    I have file_1, file_2, ...
    I wanna convert the TDMS file to UFF file.
    Please, let me know the method to convert (export) file format in Labview
    Best Regards,
    KimYoungJin
    Research Engineer, Hyundai Motro Company, Korea
    E-mail : [email protected]
    김영진 연구원 / 파워트레인구조해석팀
    Kim Young Jin Research Engineer / POWERTRAIN STRUCTURE CAE TEAM
    연구개발본부 (Research & Development Division)
    772-1 경기도 화성시 장덕동 현대기아 연구개발 총괄본부 Tel: +82-31-368-1262 Cel: +82-10-5557-4333
    772-1, Jangduk-Dong, Hwaseong-Si, Gyeonggi-Do, Korea

    Hi,
         Using of NI Sound
    and Vibration Toolkit you can convert .TDMS to .UFF file format. Click Here you will get answer for this conversion with some of the example.
    Sivaraj M.S
    CLD

  • I write digital port by 'DAQmx Configure Logging.vi​' and receive TDMS file with 8 boolean channels. How can I write to 1 integer channel?

    Hello!
    I want to write 1 digital port from PXI-6536 with streaming to TDMS file.
    I'm writing by 'DAQmx Configure Logging.vi' and become TDMS file with 8 boolean channels.
    How can I write to 1integer channel?
    Attachments:
    1.JPG ‏27 KB

    Hey Atrina,
    The actual data stored on disk is just the raw data (that is, a byte per sample in your case).  It's really just a matter of how that data is being represented in LabVIEW whenever you read back the TDMS file.
    I'm not sure if there is a better way to do this, but here is a way to accomplish what you're wanting:
    Read back the TDMS file as a digital waveform.  Then there's a conversion function in LabVIEW called DWDT Digital to Binary.  This function will convert that set of digital channels into the "port format" that you're wanting.  I've attached an example of what I mean.
    Note: When looking at this VI, there are a few things that the downgrade process did to the VI that I would not recommend for these TDMS files.  It added a 1.0 constant on the TDMS Open function, and it set "disable buffering" on the TDMS Open function to false; you can get rid of both of those constants.
    Message Edited by AndrewMc on 01-27-2010 11:21 AM
    Thanks,
    Andy McRorie
    NI R&D
    Attachments:
    digitalconvert.vi ‏13 KB

  • How to store data (in tdm files)

    I'm looking for advice on how to store data in tdm/tdx files.
    The main challenge is like this: At regular time intervals there is new data available (say every 10 minutes there are 10 minutes of new data available). All data is time based. So every ten minutes I may create a new tdm/tdx file containing this data segment. However, when i want to analyze the data i dont necessarily want to view 10 minutes of data from all channels, but maybe 20 hours of data from one particular channel.
    The way I've achieved this so far is to manually load each 10 minute segment of this particular channel and then add these parts together. This is both time consuming and cumbersome. Is there a better way to do this that I've simply not discovered yet? Is there a better way to store data to simplify this process?
    One solution is of course to save data from several 10-minute frames in one file, but seeing as there is a never ending supply of data i cant simply save all data in one giant file, it has to be split up at some point, and the problem will still remain.
    One factor to have in mind here is that this is rather large amounts of data (maybe 10GB each day), so the option to simply load all the data into memory goes out the window rather quickly.
    Feel free to ask if I've not made myself very clear

    Hi salte,
    If your test ever ended, and if you had LabVIEW 8.20 or higher, I would recommend using a TDMS file, which handles data appeands flawlessly.  DIAdem 10.1 now also does data reduction and index windowing during file loading for TDM / TDMS / DataPlugin files, so that you could easily load out only the part of the file you wanted to look at.  But since you describe your data acquisition as never stopping and amassing 10 GB per day, I agree that it would be impractical to use only 1 data file.  So we are stuck with some number of files which each contain a part of your measurement.  This approach can have advantages, since you can save operational properties for each "buffer" such as average value, dominant frequency, ambient room temperature, etc., and later on you can use the DataFinder to query out only the data buffers which meet specific conditions based on these properties.  The problem remains to load and assemble data based on multiple files.  This is an old problem in DIAdem, and one for which I have an efficient and I hope satisfactory workaround application.  It does what you describe already doing in the minimum amount of time and with the minimum amount of user interaction, and it can be highly parametrized to suit your particular situation.  The ideal way to start the application would be as part of a ResultsList custom menu.  This would enable you to query out the buffers you wanted, highlight those rows in the ResultsList, right-click and choose your custom menu, and WHAM! the selected buffers for your queried channel(s) are automatically appended together in the DataPortal.  Launching from a ResultsList custom menu would mean that you could skip the file dialog and just read out the data sources directly from the ResultsList selection.
    Let me know what you think,
    Brad Turpin
    DIAdem Product Support Engineer
    National Instruments
    Attachments:
    Importing Data from Multiple DataPlugin Files.zip ‏198 KB

  • Time stamp to name a TDMS file

    Hi:
    I am using data from excel files to create a time stamp, after that,my VI creates TDMS files with this data in files with 5000 samples, also I am using time stamp to named the TDMS files, but my problem is that my first file takes the name 180000.000, How can I modify this? because I need my file´s name will be the first data from excel.
    I attached my VI and two excel files, the idea is that the first file will be 84327.500 and the second will be 84740.950
    Attachments:
    test1.xlsx ‏150 KB
    test2.xlsx ‏151 KB
    testfile.vi ‏56 KB

    First, let me congratulate you on taking your first steps to learning LabVIEW. If you have not already done it, I highly recommend you go through the online tutorials. You have an actual project to work on, so application of what you learn will be fairly immediate.
    For your actual program issue, you need to read the data from the Excel file and convert it to a timestamp before you set your filename. The order of operation of your program is to set the TDMS file name while simulataneously reading from the Excel file. After you have already created the TDMS file, you convert the data to a timestamp and write this to your timestamp front panel control. Note that the first point you write to the TDMS file may or may not be what you think it is. It could easily be the same 180000.000 value you are using to name the TDMS file. You have what is known as a race condition. The order of operation between the read and write of the timestamp control is not known and can be variable. It is one of the reasons that you should NEVER use local variables to pass data around. Use wires. In LabVIEW, wires are the data and take the place of variables in a text base language. Front panel controls should be used only for user interace reasons. In your loop, you should wire the timestamp from its current conversion (wired into the timestamp on the front panel) directly to the TDMS write (currently wired from a local variable of timestamp).
    A couple of other things. You do not need to convert your data arrays to matrices to index them. This can be done directly with Index Array from the array palette. This single primitive will replace the Array Subset, convert to matrix, and index matrix primitives.
    You do not need to go through a string conversion to produce a timestamp. The Date/Time to Seconds primitive in the timing palette will do it directly. You will need to populate the cluster input.
    When you posted your code, you did not include your subVIs. In the future, include all your VIs, either separately or in a ZIP file.
    Finally, to solve your intial problem, use Index Array to pull the first row of data from the Excel file, then convert this to a timestamp using Date/Time to Seconds. Use this to create your TDMS file.
    You may have noticed, if you do all this, you do not need your timestamp front panel control, other than as a simple monitor.
    Good luck! Welcome to LabVIEW.
    This account is no longer active. Contact ShadesOfGray for current posts and information.

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

    I have hundreds of data files that have been sorted (by date).  In certain cases, I want to analyze subsets of this data in particular groupings.  I would like to save these groupings in a TDM file but I don't want to another copy of the bulk data.  However, I notice that if I save a TDM, it automatically saves the TDX, and I'm not sure it's possible to save/open a TDM without its same-name TDX file.  Does anyone else have a similar need and/or know of a data management method that can suit my need?
    Thanks.
    Solved!
    Go to Solution.

    Hmm...  But it seems that the TDMS file simply puts all the information in a single file and, in the end, is almost as big as the TDX file.  What I'm trying to do is only save the meta data but not the bulk data, since I already have a copy of the bulk data in another set of TDM/TDX files. 
    Maybe I'm asking the wrong question.  Here is a simplified example of what I'm trying to do:
    I have several (let's say, 6) original TDM files.  Each of these original TDM files have 20 or more channels.  I've created a new TDM file, pulling out only 5 of the channels from each of the original TDM files but organizing them into 6 groups corresponding to the original 6 TDM files.  From this new TDM file, I've created a TDR file where the plots are based on the 6 channel groupings.  Due to this TDR to new TDM association, I think I need to save the new TDM.  However, that means I now have a new giant file that contains duplicate data from the original TDM files.  I don't want this duplicate data.  Being very new to DIAdem, maybe I'm just going about this the wrong way because I haven't figured out the "right way" to accomplish my needs.  Can anyone advise?

  • Properties in TDMS file not visible in Diadem

    Hi,
    I'am using Diadem 2011 to read a tdms file created in LabVIEW 2011.
    In diadem i cannot see the properties (file, group or channel) i added myself to the tdms file, in LabVIEW withe the TDMS file reader they are visible.
    Attached (in the zip), the TDMS file and an word doc with some screenshots.
    Somebody knows what i'm doing wrong?
    thx
    Ben Engelen
    Solved!
    Go to Solution.
    Attachments:
    No Properties in Diadem 2011.docx ‏186 KB
    BenenWalter.zip ‏190 KB

    Hello Ben,
    the properties are loaded but not all properties are displayed in the Properties node in the tree control automatically. The context menu offers the ability to display properties in the tree.
    But if you klick on the main root/group/channel node in the tree the properties are displayed in the window right bottom. There you will see your properties.
    But in the DIAdem/DataFinder naming conventions following happens.
    If you use one of the following characters in a custom property name, DIAdem replaces this character with an underscore: ., :, ,, ;, ', \, @, <, >, #, [, ], %, (, ), {, }, |, *, ?, =, !, ", ^, $, &, +, -, /, and a space.
    So if you do not want to run into this you should rename the properties
    Greetings
    Andreas

  • How can I incluce a hyperlink to TDMS file in the report?

    Hi,
    I am storing the measured data in TDMS file in each step. File name is written to the ResultText property so it is visible in the report.
    I would like to have hyperlink in the report that opens this TDMS file automatically either with DIADEM or with the TDMS VIEWER (LabVIEW application)
    Any help in creating hyperlink in the report (XML, HTML) would help.
    Thanks,
    Andras

    Hi Andras,
    you can also write the links within a new step to the report.
    As shown in the attached file.
    Regards
    DianaS
    Attachments:
    Sequence File 2.seq ‏5 KB
    hallo3.vi ‏12 KB

  • Conversion of Flat file Idoc to Idoc

    hello SDNers
    I am currently working on conversion of Flat file representation of an IDoc to IDoc XML. There is a document available in
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/46759682-0401-0010-1791-bd1972bc0b8a regarding this
    conversion.I am new to this field. Please help me out
    1)  step by step process of how its working?
    2) Or any other ways to do the conversion?

    Hi,
    >>>1) step by step process of how its working?
    the document you mention is just a mapping which you need to add to your scenario
    and it will work
    >>>2) Or any other ways to do the conversion?
    if you have PI 7.1 and EhP1 then there is a java adapter module that you can add to the file adapter
    and it will do the transformation automatically
    Regards,
    Michal Krawczyk

  • Automatic conversion

    Hi,
    I would like to now if SAP KM can handle automatic conversion to a neutral documents formats (like PDF).
    TREX converts all the documents to HTML but this result is not available as a document in the portal (only when you use the HTML version link in the search results). I would like this result (HTML, PDF or some other format) as a new document...
    Who can help me out here?
    Thanks!

    Hello Simon,
    as far as I know, there's no mechanism in KM to convert documents automatically.
    But there is a business package called "Business Package for Web Editing"
    (find it <a href="https://www.sdn.sap.com/irj/sdn/developerareas/contentportfolio">here</a> by searching for 'web editing').
    This package contains a KM Service that convertes office documents to HTML-Files automatically using the "save as html"-functionality of MS Office. The result is quite excellent.
    Unfortunately this package is developed by SAP Consulting and they charge a fee for it.
    Please reward points, if this helped to solve your problem,
    Carsten

Maybe you are looking for

  • Selecting more than one photo in pictures folder to import to iPhoto

    Just started using iPhoto '08 and I want to import most of the photos from my pictures folder. When I have iPhoto open and click the option to import, and then select my Pictures folder...how do I then select multiple photos to import at one time...i

  • Please help. Half my contacts are missing and think I've tried everything!

    Hi there Sorry this is a long post but I'm a bit desperate and hope you can help: I dont have a PC or ipad or anything but do have an iphone 5 and over the weekend my emails (to my live.com account) weren't sending off my phone.  So I deleted the liv

  • Mac mini 2012 windows 8 no hdmi audio

    Hi guys I've tryed everything discussed here, and on the intel support community. I have the latest intel hd graphics 4000 driver, installed with the intel driver update utility. My mac mini is plugged to my tv by the hdmi cable (alredy tryed another

  • 'S' numbers for the web-site

    I know that this is probably not the place to raise this, but I really dont know where to look for a solution to this. I have a customer who I have requested SAP Portal USer ID's for and they have all been generated 'S' numbers accroding to my reques

  • Widget like in Adobe Flash interface

    I am developping plugin for NetBeans. I need widget pretty close to Flash timeline. Please, see screenshot: [http://foto.mail.ru/mail/ice_holod/803/s-810.jpg|http://foto.mail.ru/mail/ice_holod/803/s-810.jpg] I would use tasks instead of graphic layer