Tdm importer macro

Hello, I am recording data into a TDMS file and I am using the TDM Importer add-in for excel to open the tdms files in excel.  I am trying to make a program that will do this automatically, ie: the user clicks a button in my vi to open the file in excel.  I think i could do this using a macro, however I need help making the macro.  Is it even possible to make a macro that uses the tdm importer add-in?  I tried recording a macro but I don't think it recognizes any functions from the add-in.  Has anyone done anything like this?
Thanks
Bryan

Hi Bryan,
One quick question, why are you writing to a TDMS file instead of a spreadsheet?  Are you doing this for speed? 
In any case, I have attached a simple program that I wrote that should convert the TDMS data into a format that can be read by Excel.  Please take a look at this, and let me know if you have any questions.
Best of luck on your application, and have a wonderful day!!!
Regards,
Ching P.
DAQ and Academic Hardware R&D
National Instruments
Attachments:
TDMS_To_Excel_Converter.vi ‏78 KB

Similar Messages

  • TDM Importer in Excel 2003 does not appear in the COM Add-In Menu

    I have a program that will create a TDMS file with the data, and after execution is complete, I would like to import the data into Excel and manipulate it using a macro. I can import the file manually and run the macro by opening a second file containing the macro, but opening up the second file is a hassle.
    I would like to expand the macro so that it automatically imports the TDMS file, and based on what I've seen on the forums, in order to do this, I need to register the TDM importer as a COM Add-In. When I go to the COM menu in Excel and try to add ExcelTDM.dll, it does not appear in the menu.
    Some additional details that may be helpful:
    Excel TDM Importer is version 3.4.0.0
    I have already tried uninstalling and reinstalling the importer
    Using the Excel toolbar works to import the data
    Double-clicking on a file works to import the data
    The installed files are located at C:\Program Files\National Instruments\Shared\TDM Excel Importer. Moving them to C:\Program Files\National Instruments\Excel TDM had no effect.
    Thank you in advance for your help.
    Solved!
    Go to Solution.

    StefanR wrote:
    Does the simple VBA example as described here:
    http://www.ni.com/white-paper/10207/en
    work in your case?
    No, it doesn't. Excel does not see the add-in in the COM Add-In window, so I cannot access it using VBA.

  • Why does TDM Importer start up when I open an Excel file in LabVIEW, and how can I stop it?

    I have a new application using LabVIEW 2012 SP1.  I open an Excel file using the Report Generation toolkit and when I do so, a small TDM Importer window pops up on top of the Excel file.  
    How can I prevent this?

    Hi Steve,
    The TDM Importer pops up because the report generated in LabVIEW is in the TDMS file format.  TDMS is a binary file that requires an importer to make sense of the binary data and translate it into an Excel spreadsheet.  As per this white paper, the appearance of the floating toolbar is expected behavior:  http://www.ni.com/white-paper/5874/en/
    To the best of my knowledge, you cannot get rid of the floating toolbar unless you uninstall the add-in, in which case you probably would not be able to open your LabVIEW-generated reports.  However, as of Excel 2007, the toolbar is embedded in the "Add-Ins" tab instead of floating on your spreadsheet.  You can see how the toolbar looks as of Excel 2007 in step 6 of this white paper:  http://www.ni.com/white-paper/5885/en/
    If there is a way to embed the toolbar in Excel 2003, it would be the exact same way you would embed any other floating customer toolbar in Excel.  In other words, I don't think this has anything to do with the fact that it's NI's add-in.  This is just the way Excel 2003 and earlier treats add-in toolbars.  Someone on these forums may well know a way to embed it (perhaps a macro?), but you may have better luck contacting Microsoft.  I'm not sure whether it's even possible for a user to embed the toolbar.
    David R
    Applications Engineer
    National Instruments

  • TDM Import Error

    I'm trying to open my data file in Excel spread sheet. There are 5000 sheets and Excel stops at sheet 4749 on two different computers.
    "TDM Importer" " An unknown error occured: 0x80004003.
    I'm using Excel 2010 32 bit version with the TDM importer add-In , I have the tdms.dll installed.
    Any reason why it crashes?
    Thanks

    I've never seen a file import/conversion for Access but that doesn't mean one doesn't exist.
    The error code 0x80004003 appears to be an invalid pointer. Perhaps the TDMS file is corrupt or the excel importer can't handle something about that  measurement group.
    Hooovahh is right, the TDMS file viewer would probably do the job.
    Assuming you have LabVIEW installed: Programming > File I/O > TDMS Streaming > TDMS File Viewer.
    If you only have the TDMS files but no LabVIEW then the TDMS Excel import function recommends NI DIAdem for large data sets.
    Looks like someone has compiled a stand-alone version of the viewer here.
    Troy
    CLDEach snowflake in an avalanche pleads not guilty. - Stanislaw J. Lec
    I haven't failed, I've found 10,000 ways that don't work - Thomas Edison
    Beware of the man who won't be bothered with details. - William Feather
    The greatest of faults is to be conscious of none. - Thomas Carlyle

  • TDM Importer Excel start index automation

    I am trying to create a macro within excel to import and format data from a .tdm file.
    The files to be imported sometimes exceed the 1M row limit in Excel, so when this happens, I want to generate two workbooks. One of these workbooks should be generated from a start index of 1 and the other should be generated from a start index of 1048576. Right now I use the silent mode to give a start index of 1 and then rerun the importer and enter 1048576 manually for the second workbook.
    My question is: is there any way to set the start index through a macro?
    I have considered using the sendkey command to generate the "tab tab 1048576 enter" keystrokes required, but excel cannot interrupt the call object command in order to do this.
    Many thanks,
    Alex
    Solved!
    Go to Solution.

    Alex
    I have done quite complex processing with DIAdem.  Your request is not a big deal to do in DIAdem.
    For max flexibilty, you can take out references to the channel. Like shown below in oChan01.  This will allow you to handle a channel like an array. The limitations on this approach is speed,  The built in functions are faster than this approach, and should be used as much as possible.   The chnfind command is one examle that is much faster to find a specific value in a channel.
    OptionExplicit'Forces the explicit declaration of all the variables in a script.
    dim oChan01,i,oGrp,dVal
    set oGrp = data.Root.ChannelGroups("EXAMPLE")
    set oChan01 = oGrp.Channels("Time")
    for i = 1to oChan01.Size
       dVal = oChan01(2)
    next
    Paul

  • Tdm importer error when opening tdms file

    I am getting a error when trying to open a tdms file that had been opened by labview, written to, and then closed. The error is:
    USI encountered an exception:
    (175):Error while initializing interface
    I can sort of understand this error occuring when I have the file open in labview (actually I consider this to be a bug since there is no reason why another application should not be able to access a file in read only mode even if it is currently open by another application)
    but in my case I am definitely closing the tdms reference and it still will not import unless I stop the top level vi.

    It is a known bug that if you open a TDMS file with an option other
    than "read-only", no other process can get access to that file, even if
    it is just for reading. The issue is filed as CAR#  49794JWJ
    (status: fixed). This only applies if the file is still open, which you
    commented on, but which doesn't appear to be your actual problem.
    Apparently, you are using the Storage VIs to handle your TDMS files,
    otherwise you couldn't get a USI exception. Have you tried opening your
    file with the TDMS File Viewer on the TDM Streaming palette? If that
    doesn't work, please provide us with your TDMS file, and if possible,
    your VI. This would be a problem that we're not aware of at this point.
    Thank you,
    Herbert

  • 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

  • Convert/Import TDMS to Excel

    So I have some LabVIEW code which logs to TDMS just fine.  I installed the TDMS Excel Add on to Excell 2007 and it imports the TDMS just fine and it looks good.
    What I would like do do now is instead of just having that TDMS file, I would also like to have the XLS equivalent as well.  As if I imported the TDMS in Excel, and then went to save the workbook as XLS or XLSX.  So I wanted to programatically import the TDMS file, get the active workbook from Excel, and then programatically save the active workbook as XLS, or XLSX in the same directory as the original TDMS.
    I'm having problems with the first step of my plan.  I see here there are some details about how to call the TDMS import using ActiveX but when I use it I get an error.  Calling  ShowAboutDlg or ShowConfigDlg work just fine, but when I call the Import it I get a "An unknown error occured: 0x80004003" which I believe is a invalid pointer.
    Attached is the VI I was using to try to import a TDMS file.  Saved in 8.20, running TDM Importer 3.1.0.25, with Excel 2007, on XP SP3. Thanks.
    EDIT: The VI is pointing to a TDMS file which comes with LabVIEW 2009, this path may need to be changed.
    Message Edited by Hooovahh on 03-11-2010 09:08 AM
    Unofficial Forum Rules and Guidelines - Hooovahh - LabVIEW Overlord
    If 10 out of 10 experts in any field say something is bad, you should probably take their opinion seriously.
    Solved!
    Go to Solution.
    Attachments:
    Import TDMS 82.vi ‏9 KB

    Yeah sorry forgot that I used that OpenG VI, attached is another version which doesn't use it for those of you not on the OpenG bandwagon.
    I've been using this VI for a little while now and it's worked great on several machines.  But recently I've started to see problems where I get an error 97, LabVIEW:  Null Refnum was passed in as input.
    This happens for me coming out of the property node ITDMAddin.  I probed the reference going in and its value is 0, with the variant data also of value 0.  Any ideas on how this could happen or what can be done. 
    I changed the COMAddIn propety node from Object to Description and the string is "National Instruments TDM Importer for MS Excel" So that makes me believe that I am getting the reference to the AddIn but for some reason the Object property returns a value of 0.
    EDIT: Okay I think I figured it out, if Open New Instance is TRUE for the Open Automation it works fine. Not sure why but it fixes it, a new version with the fix is up.
    Message Edited by Hooovahh on 06-01-2010 05:36 PM
    Unofficial Forum Rules and Guidelines - Hooovahh - LabVIEW Overlord
    If 10 out of 10 experts in any field say something is bad, you should probably take their opinion seriously.
    Attachments:
    Convert TDMS to XLSX80 fixed.vi ‏41 KB

  • Cannot import TDMS data into Openoffice Calc ver 2.4.0

    Is the TDMS Openoffice Calc Add-in Tool supposed to work with Openoffice ver 2.4?  I've downloaded the add-in and "installed" per the instructions on th NI web site, but "TDM Importer" never shows up in the Openoffice Calc menu bar.  Any ideas?

    I would agree with you N_Cooper, but I managed to install it on Vista as well.  Maybe you need to uninstall/reinstall OpenOffice?  Do you see TDMImporter.exe in C:\Program Files\OpenOffice.org 2.4\program?  Are you running any antivirus programs that would perhaps prevent files from installing completely?
    Peter K.
    National Instruments
    Attachments:
    vista_tdms.png ‏47 KB

  • How to write macro's in hr abap

    Hi,
    All
    I am new to HR ABAP .Does any body give links to write macro's in HR ABAP
    Thanks in advance.
    regards
    Ram

    h,
    adding to the aboce post.
    chk this.
    Macros:
    Introduction
    Programs that process the cluster data (for example, RX) do not access the cluster independently. The data is accessed using a defined interface created with macros.
    Macro contains some part of source code which it will be useful for number of applications.  Macro is module which is stored
    Naming Conventions of Macro:
    RP-aaa-bb-cc
    •     aaa is the type of Macro. It takes two values
    o     IMP  Import Macro
    o     EXP  Export Macro
    •     bb is the Database table where the data is saved:
    o     C1 Database object PCL1
    o     C2 Database object PCL2
    o     C3 Database object PCL3
    o     C4 Database object PCL4
    •     Cc is the cluster, it may take
    o     RX Cluster object RX
    o     RD Cluster object RD
    o     B2 Cluster object B2      and so on.
    Defining and Calling the Macros
    Defining:
      There are two options for defining the Macros
    •     Macros are defined using the ABAP Commands DEFINE….END-OF-DEFINITION. A macro can be used within a report or within include. If a macro is used in a report, and the macro is defined in include with the DEFINE command, include must be integrated.
    •     Macros can also be defined as RMAC macros. The source code of these modules is stored in the function section of the control table TRMAC. The coding is grouped under a specific name in the table key.
    According to conventions, the first two letters of the name must stand for the application. The rest of the name is freely definable.
    Difference between the two methods is:
    •     If a macro is changed, each report using this macro is automatically regenerated when it is executed.
    •     When you change a RMAC macro in the table TRMAC, the reports that use this macro are not regenerated automatically. You must regenerate them manually.
    Standard HR Macros
    o     The macro RP-PROVIDE-FROM-FRST retrieves the first(start) data record which is valid in the data selection period.
    o     The macro RP-PROVIDE-FROM-LAST retrieves the last(latest) data record which is valid in the data selection period.
    o     The macro RP-READ-INFOTYPE retrieves the data record(s) which is valid in the data selection period.
    How to check whether the macro operation is successful or not
    For every macro, whether the operation was successful or not will be checked with
    PNP-SW-FOUND.
    If PNP-SW-FOUND = 1, then the operation is successful.
    Where exactly the Macro code is stored
    The program code pertaining to this macro is stored in the control table RMAC
    Guidelines for how and when to use the Standard Macros
    o     RP_PROVIDE_FROM_FRST
    Use macro RP_PROVIDE_FROM_FRST in programs for the logical databases PNP and PAP where the first data record for a period (can be a subtype) is read from an infotype table. The infotype table has been filled earlier (for example, with GET PERNR or RP_READ_INFOTYPE). This macro is only helpful if the infotype has time constraint 1 or 2.
    Prerequisites
    •     The validity begin date of the time period must be before or the same as the validity end date.
    •     Validity start and end dates are correct (preferably of the type DATE).
    •     The infotype table is sorted in ascending order. Otherwise, you would receive the first fitting table entry that might not necessarily correspond to the first time entry.
    Features
    The first entry for a specified period is placed in the table header entry from an internal infotype table.
    Parameters
    RP_PROVIDE_FROM_FRST inftytab subty beg end
    IN :     1)     Name of the internal table
         2)     Subtype required or SPACE if no subtype is being specified
         3)     Validity start date of the time interval
         4)     Validity end date of the time interval
    OUT:     1)     PNP-SW-FOUND: has the value 0 if there is no matching entry in the infotype table in the given time period. Otherwise it has the value 1.
         2)     The matching table header entry if PNP-SW-FOUND = 1 or
    the initial table header entry if PNP-SW-FOUND = 0
    Example
    (RP_PROVIDE_FROM_FRST inftytab subty beg end)
    RP_PROVIDE_FROM_FIRST P0021 '1' PN-BEGDA PN-ENDDA.
    IF PNP-SW-FOUND EQ '1'.
    ENDIF.
    or
    RP_PROVIDE_FROM_FRST P0001 SPACE PN-BEGDA PN-ENDDA.
    IF PNP-SW-FOUND EQ '0'.
    WRITE: / 'Error: Org. assignment is missing' REJECT.
    ENDIF.
    o     RP_PROVIDE_FROM_LAST
    You use macro RP_PROVIDE_FROM_LAST in programs for the logical databases PNP and PAP where the last data record for a period (can be a subtype) is read from an infotype table. The infotype table has been filled earlier (for example, with GET PERNR or RP_READ_INFOTYPE). This macro is only helpful if the infotype (or subtype) has time constraint 1 or 2.
    Prerequisites
    •     The validity begin date of the time period must be before or the same as the validity end date.
    •     Validity start and end dates are correct (preferably of the type DATE).
    •     The infotype table is sorted in ascending order. Otherwise, you would receive the last fitting table entry that might not necessarily correspond to the last time entry.
    Features
    The macro RP_PROVIDE_FROM_LAST makes sure that the last entry for a specified period is placed in the table header entry of the report output list.
    Parameters
    RP_PROVIDE_FROM_LAST inftytab subty beg end
    IN :     1) Name of the internal table
         2) Subtype required or SPACE if no subtype is being specified
         3) Validity begin date of the time interval
         4) Validity end date of the time interval
    OUT:     1) PNP-SW-FOUND: has the value 0 if there is no matching entry in the infotype table in the given time period. Otherwise it has the value 1.
         2) The matching table header entry if PNP-SW-FOUND = 1 or
    the cleared table header entry if PNP-SW-FOUND = 0
    Example:
    RP_PROVIDE_FROM_LAST P0021 '1' PN-BEGDA PN-ENDDA.
    IF PNP-SW-FOUND EQ '1'.
    ENDIF.
    OR
    RP_PROVIDE_FROM_LAST P0001 SPACE PN-BEGDA PN-ENDDA.
    IF PNP-SW-FOUND EQ '0'.
    WRITE: / 'Error: Org. assignment is missing'. REJECT.
    ENDIF.
    •     RP_READ_INFOTYPE
    You can use the macro in all programs at any point. You can also use it in function modules. In database PNP, an infotype is usually read with GET PERNR. Using macro RP_READ_INFOTYPE is an exception.
    You can also use the function module HR_READ_INFOTYPE. For information on how to use the function module, see the documentation on Function Modules.
    Prerequisites
    •     The validity begin date of the time period must be before or the same as the validity end date.
    •     Validity begin and end are correct date specifications (preferably of the type DATE).
    •     The infotype table must match the infotype number.
    •     The program using the macro must contain the include DBPNPMAC.
    Features
    The macro RP_READ_INFOTYPE makes sure that all data records for a person for the specified period are placed in an internal infotype table.
    Parameters
    RP_READ_INFOTYPE pernr infty inftytab beg end
    IN :     1)     Personnel number of the person requested
         2)     Infotype number of the required infotype
         3)     Name of the internal infotype table
         4)     Validity start date of the time interval
         5)     Validity end date of the time interval
    OUT:     1)     PNP-SW-FOUND = 0, if there is no matching record in the dataset
               PNP-SW-FOUND = 1, if there is no matching record in the dataset
         2)     PNP-SW-AUTH-SKIPPED-RECORD = 0, if the HR authorization check has not retained any records due to incorrect authorizations.
               PNP-SW-AUTH-SKIPPED-RECORD = 1 , if the HR authorization check has retained at least one record due to lack of authorization
         3)     Internal infotype table, containing all matching records for which the user is authorized (this table can also be empty).
    Example
    (RP_READ_INFOTYPE pernr infty inftytab beg end)
       INFOTYPES: 0001.
       RP-LOWDATE-HIGHDATE.
    DATA: PERNR LIKE P0001-PERNR.
    DATA: BEGDA LIKE P0001-BEGDA, ENDDA LIKE P0001-ENDDA.
    PERNR = '12345678'.
    BEGDA = LOW-DATE + 15
    ENDDA = HIGH-DATE - 5.
    RP-READ-INFOTYPE PERNR 0001 P0001 BEGDA ENDDA.
    IF PNP-SW-AUT-SKIPPED-RECORD EQ '1'.
    WRITE: / 'Insufficient authorization'. STOP.
    ENDIF.
    IF PNP-SW-FOUND EQ '0'.
    WRITE: / 'Infotype 0001 missing'. STOP.
    ENDIF.

  • Syntax for CASE / WHEN in SNP Macros.

    Dear APO Gurus,
    I'm having problems using CASE when in SNP macros, even though I've tried quite  a few syntaxes.
    could someone please tell me how to Use CASE WHEN (WHEN WHEN WHEN...) ENDCASE in macros ? this would save me an awful lot of IF
    Thanks in advance,
    Hugues

    Hi,
    you can import an example macro to see how the CASE usage works. In order to do so, perform the following.
    1.) Enter Makro Builder and enter your new macro book
    2.) In the Menu, choose "Edit" -> "Import macros"
    3.) Choose "SAP Example and template macros" as reference book
    4.) use "Using the Case statement" as reference macro.
    This will import the example macro which you can take as reference.
    Best regards
    Rico Frenzel

  • TDMS Excel Add-in Does not support new Excel 2007 Row Limit

    First off I would like to say the TDM/TMDS format is really useful. It allows you to do all kinds of things that would be a real pain if you tried to do it with tab delimited spreadsheets. You can format data into excel sheets for analysis with seperate tabs and channel names over the columns and the whole nine yards. You can even throw error messages into the properties that show up on the first tab.
    The problem occurs when the user is working with really large files. Excel 2003 and all previous versions of Excel have limits of 65,536 rows by 256 columns. Until the latest version of the TDM Excel Add-in if you tried to import files larger than this it would throw an error and wouldn't create any file at all. Now it imports a file and you specify the index, which is so much better. 
    Excel 2007 supports 1,048,576 rows by 16,384 columns! This is really useful. But the current version of the TDM Excel Add-In does not support the new row limit. Is there any way we can get a version of this for 2007 that supports the new row limits? It would be cool if the Add-in could auto-detect the version and change the import limits accordingly but that may be too much to ask. Has anyone else run into these problems?
    My client would like to record hour long files at 200Hz all day long. Thats 720,000 rows of data per file. Yes, thats a lot but excel can handle it. The TDMS importer cannot. Of course there are work arounds and we will have to use one if a new version of the TDM Excel Add-in is not made soon. Is there a new version coming? Please say yes.
    [will work for kudos]
    Solved!
    Go to Solution.

    I redownloaded the file. I couldnt figure out how to completely uninstall the verison of the TDM importer already installed, so I just tried to install the one i downloaded. The installer said "no software will be installed or removed" and I had to click cancel because there was no next option.
    I tried to import the data again with the importer and got the same 'selective import' dialog box again, limiting me to the 65,535 rows.
    Here is what I am getting.
    How do I uninstall the add-in so that I may reinstall it?
    I uploaded a copy of one of my tdms files to the ftp.ni.com/incoming directory for you to download and attempt to import.
    File: "442732.zip"  size: 82.2 mb
    A little more information about the tdms file
    The data is 14 columns of single precision float and is about 720k rows. There are four sections (sheets in the same excel document) with the data converted differently in each tab/section. The data is the same amount in each section as well. There are also a couple sections listing the constants and scalars used to convert the data, as well as the typical first page of tdms information about the data.
    [will work for kudos]

  • Double datatype in tdm which is converted from tdms

    Hi all,
    In short, to be able to delete channels and groups from a tdms file, I convert the file to a tdm, delete channel or group by making use of storage VIs, and convert it back to tdms. The problem is, when tdms is converted to tdm, double data types (64-bit) became single (32-bit) types. Original tdms file has doubles in it, but tdm and resulting tdms files have singles.
    Attached VI does things I mentioned above. After running it, I open tdms-1.tdms in Excel with tdm importer (v3.3.0.0), and datatype is DT_DOUBLE. But in tdm.tdm and tdms-2.tdms files, datatypes are DT_FLOAT. So the question is, is there a way to prevent doubles from being converted to singles?
    Note: I have to convert tdms file to tdm, because storage VIs which deletes channels and groups do not work with tdms format.
    p.s. I'm on LV2011.
    Solved!
    Go to Solution.
    Attachments:
    tdms-tdm.vi ‏42 KB

    CAR 399895 discussed in this thread has been fixed in LabVIEW 2013. For a more complete list of bugs fixed in LabVIEW 2013, check the LabVIEW 2013 Bug Fixes. You can download an evaluation copy of LabVIEW 2013 at http://www.ni.com/trylabview/ or if you have an earlier version of LabVIEW installed and an active SSP subscription, you will be able to download the latest version of LabVIEW through NI Update Service.
    Jeff Peacock
    Product Support Engineer | LabVIEW R&D | National Instruments

  • TDMS read error-getd​atatype

    Brief background on my project.  I have a PXI system setup to read signals from DSA devices, S-Series, and an Encoder.  I am using matlab to make function calls to the NI Libraries in DAQmx, and nilibddc.h.  I collect data and stream data to disk with the ability to view data during acquisition.  Acquisition occurs for nearly a minute over 37 channels at 100ksamp/sec.  So the .TDMS files are fairly large.  I synchronize my systems by a sort of hybrid master slave device configuration.  I use automatic synchronization across similar device types, and to synchronize different device types i use the sample clock and start trigger from a DSA device to sync my other devices.  Since I use automatic synchronization the .TDMS files can have anywhere between 1 channel or 20 channels in one file.  This makes for a very large file and Microsoft Excel Importer doesn't cut it due to the limitation on size and time it takes to load.  So I am using the nilibddc.dll to read the data from the files which seems to be pretty smooth so far. I have not attempted to read a file with a minute worth of data but worse case I can read chunks of the data file at a time so I am not terribly worried about that.  My problem occurs when I read data from my .tdms file containing my encoder data.
    The part where it gets hung up is my function calling for DDC_GetDataType.  Now when I use my code to read data from analog .tdms files it works smoothly and does everything I want it to.  The error I get for my counter signals is an unexpected error (-6204.)  Now the interesting thing is when I use labview 2009 on another computer, i can read the files with no problem.  I am guessing my labview 2009 uses different libraries though.  For example when I read the file in labview, i go to the functions pallete, select file i/o, tdms streaming, and use either read .tdms or tdms viewer function.  When I am on my primary computer, I am using a call to the DIAdem Connectivity Library I downloaded from NI. The microsoft excel importer seems to also be hung up at the same location (getdatatype).  I found this when inspecting the log file it creates when I try to read it.  Any help would be appreciated.  I have attached the error log I get from microsoft .tdms importer.  I also attached a sample .tdms file with encoder position data in it.  If trying to open outside of labview, don't be fooled if it tells you there is no data available.  It lies, using labview 2009 you can read all 500ksamps without a problem.  Using TDMS viewer or read tdms atleast.  Thanks.
    Solved!
    Go to Solution.
    Attachments:
    Testlog4.tdms.log ‏5 KB
    TDMS Encoder.zip ‏48 KB

    I went ahead and used the tdms_ebd.dll that you attached and tried it out with my code.  Unfortunately I am still getting hung up at the same location on TDMS files with CI data stored in them.  The getdatatype functions returns an unexpected error.  If I try to bypass this in my code by manually setting the datatype, it then runs into the issue where it acts as if there is no data in the file.  I believe the functions asking for the length of the data is where it returns a 0. Now I did download the TDMS C DLL from the link to NI's website.  This is the one I am currently using with the tdms_ebd.dll that you attached in your response. 
    I am trying to read the information into matlab.  I have code written up that is very similar to what most people have done, and I believe might even be what NI has released as a starting point for TDMS reading in matlab. One example that is closely related to my code is found here. Import into Matlab. My code is not as heavily formatted and I would have to go through the same process in order to release my code.  My code is basically the code though that he refers to earlier in his message found in the NI devzone. One thing I wanted to note is this though, depending on where the TDMS C DLL is downloaded, the C formatting for the functions differs slightly.  For example I have found that there are header files with a _m added to the file.  I assume these files were made specifically for usage with matlab, since they are a lot easier to work with then the actual header files.  I do have both types and have tried both types and still no luck. 
    Let me know if you need any more information, but as of right now, the update seems to not have fixed my problem.  Thanks.

  • Excel tdms add in not showing data in spreadshee​t

    I've succesfully installed the Excel TDM Add In on several computers.
    The latest computer I tried to set up lets you select a TDMS file to import but the channel data does not appear. I've uninstalled and reinstalled several times with no luck. There are two example files attached. One from a successful import and another that is missing the data. Both files used the same source TDMS file which is also attached.
    It is running Windows 7 64-bit with MS Office 2010 - no different from the computers that the add in works on.
    Any idea what could be wrong?
    Attachments:
    Failed Export Example.xlsx ‏17 KB
    Successful Export Example.xlsx ‏27 KB
    TDMS.zip ‏8 KB

    What you forgot to mention is what process did you do to import the one that worked, and the one that didn't work?
    Was it the same process?
    All I did was double click the TDMS file.  By default it will open it with the TDMS Importer and open it in Excel.  For me the import was fine and I had all the data that your Successful version did.
    If you are interested in automating this feel free to try out my importer utility.
    https://decibel.ni.com/content/docs/DOC-36555
    It relies on the TDMS Excel add-in but it allows for other formatting, and freezing rows/columns in the data as well as providing an alternative summary page.
    Unofficial Forum Rules and Guidelines - Hooovahh - LabVIEW Overlord
    If 10 out of 10 experts in any field say something is bad, you should probably take their opinion seriously.

Maybe you are looking for

  • Multiple hierarchies for one dimension

    Hi I'm building a repository with The administration tool of OBIEE. the data source is an Oracle 10g datawarehouse created with OWB. There is a geographic dimension with 4 different hierarchies and I want to create the same hierarchies in my reposito

  • Formula entry by selecting multiple cells

    I'm in my 30 day eval of iwork. In Numbers I don't see a way of entering a formula without spelling out the cell references into the cell containing the formula result. For example, in Excel, after selecting the cell for the result, in that cell I st

  • IPad mini lte safari issues

    My iPad mini lte has an issue with safari. I cannot view any websites other than google through the search area. I tried closing, clearing cache, history and even reset. Nothing seem to work. Any help would be appreciated

  • MODBUS Ethernet Writing Invalid Data

    So we have a new anomaly that just started happening on another system. We have coils we monitor in the PLC that tell state of the site security/intrusion detection that are "latched" in memory.  In addition we have other coils that are used to set t

  • JTAPI MAchineCall.java

    i am using Java 5.0 with JTAPI 1.2. I am trying to run MachineCall.java program that is given in JTAPI help files.. after some bug fixup it is compiled sucessfully. but when i run it i get error Exception in Thread "main" java.lang.SecurityException: