TDMS questions


How long have you run your test?   I have a .tdms file that is 2 M, the index is only 10K.

Tags: NI Hardware

Similar Questions

  • TDMS Defrag progress switch Question

    Starting in 2015 from LabVIEW (I think), there is a bundled with LabVIEW example that shows how to defragment a PDM file and get the status of the defragmentation process.  This example uses two screws again, one to enable and disable the indicator telling the defragmentation to provide status and other VI to actually get the progress.

    My current design is through an actor architecture where each test site will be a reentrant VI manages journaling of the criterion on this location.  And I wanted to get this actor of logging check to see if the file is fragmented and defragment it periodically.  I join defragment at the end of the trial.  I thought I had a this defragmentation progress would be a great feature, but with these two screws being undocumented, I don't know how they will work when there are parallel processes potentially also defrags on other files.

    My question is in what regards progress switch turning off.  For progress should be submitted, you must turn on the switch, then you can read the current status and in the example, it shows the turning off of the switch.  But if I'm defragmentation with a progress bar in a parallel process, turn off the switch it disables all files and this isn't what I want.  What impact could I see so if I leave the switch of defragmentation on throughout the life of the application?  A small example of what I'm hearing is attached.  It generates two files, one who takes one longer defrag than the other, but they both start at the same time.  If I turn off the switch when the first stops, then progress will be not indicated for the second file.  I'm okay leaving activated forever?  Or do I need to track which files are to be defragmented and turn off the switch when they are all done?

    Either way, the lack of documentation on these features exist in 2016.

    As you have found that if you turn off the switch of progress, may not be all the defrags for different files. Leaving eanbled forever is good, but can do a little slower for the case of not having to view the progress of the defragmentation.

    Jie

    OR R & D

  • iMac darkens when in display mode using target (TDM) and the lack of brightness slider!

    Hi all

    I use a MacBook Pro (13 "to end 2011) and iMac (27", by the end of 2012). Both are up to date, running El Capitan 10.11.5. They are connected with a thunderbolt cable in order to use the iMac as a second screen (TDM).

    Now, when I press CMD + F2 to the iMac, iMac gets used as second screen as expected, but it goes really dark! He's not black, you can still see the desktop but on a sunny day, it's really hard to see anything. Now, it's pretty embarrassing, but the second part of the question makes it a pain in the *. When the iMac is dark, I always go to the system preferences and open the settings for the display. I can see a window with the parameters for the iMac, but there is no cursor for the brightness! There is no way to make it brighter!

    The only solution is to disable the target (CMD + F2) just display mode to enable it again after a few seconds. Sometimes I have to activate the TDM twice but sometimes it takes 4 or 5 loops toggle just to see the brightness slider!

    Here is a screenshot of the settings without the cursor window

    And that's what it looks like after a few loops, and then I can adjust the brightness.

    Any ideas why this happens? Any advice on a possible solution? Why - what is darkening the iMac? Why is the cursor missing?

    Best,

    Stephan

    There are other topics on this issue, like the one below. One of the workarounds suggested is to use shades free app: http://www.charcoaldesign.co.uk/shades

    Unable to control the brightness in target display mode

  • How to filter the traces of tension TDMS after acquisition?

    Simple question. We have acquired a lot of electrophysiological data with express signal. We now need to filter data after the acquisition for later analysis. I can import the files TDMS tension of previous experiences, but can't seem to run the filters we used on the side of the acquisition to filter the existing traces. Is there a simple way to do this?

    -smb

    Hello Chinchilla,

    I enclose a few screenshots on how to add a step to an analog input filtering. You can select the type of filter and order too.

    In this screenshot you can check how to change the configuration of the filter

    Finally, you can access the TDMS of LabVIEW file with one of the examples of PDM. Please follow these instructions:

    1. open LabVIEW

    2 - go to help > find examples to open the Finder 'example '.

    3 - Go to Fundamentals > file Input and Output > TDMS > Standard Read and Write and select the VI named TDMS read Events.vi

    You will need to know the data present in the file to read correctly. For this, you can use the leading PDM Viewer VI:

    http://zone.NI.com/reference/en-XX/help/371361K-01/Glang/tdms_file_viewer/

    Or you can use the Toolbox for excel: http://www.ni.com/example/27944/en/ (allows you to transfer the data to Microsoft Excel).

    4. After reviewing the data, you will need to apply a filter. You can find the filter functions in the range of Signal Processing.

    Please let me know if you have any questions on this subject.

    Kind regards

  • TDMS file corruption when using FTP

    I use FTP to transfer files a cRIO to computer TDMS.  The transfer looks like it works; However, when I try to open the crowd using TDMS files Viewer, I get an error indicating that the file in not a PDM standards.  That being said, I use Windows to FTP the same file to compare.  I use the PDM viewer to open this file very well... no problems.  Have any ideas?

    Did you find the difference between the size of the TDMS files before and after the transfer? If so, maybe it's quite possible that the "transfer mode" software FTP questions, maybe you can try to use "binary" instead of "text" for fashion?

  • Concatenate with DIAdem TDMS files, depending on the time

    This question is in French and English.

    Hello

    I'm trying to find a way to concatenate/merge several files TDMS analog measurements with DIAdem 2012, in order to have more than one file. I be provided with attachment 1.

    I am beginner in DIAdem and don't know not the language of the script code. En 986KO on this forum, I found the script 'Import data from several Files.VBS use', and changed lines 17 and 18 not 'csv' by replacing "tdms" (as it was stated on another topic on the forum). This script also appealed to "concatenate groups."

    The problem is that the TDMS files contain several groups (the slots on frame of measures Canada) each containing several different channels. This script concatenates so each group and the result makes more sense the script to modifier is certainly "CONCATENATE Groups", but in what way?

    Thank you

    Olivier

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    I'm trying to find a way to concatenate/merge several files TDMS analog measurements with DIAdem 2012, in order to have at the end only one file. You can find these files with my mail 1.

    I am a beginner in tiara and do not know the language of the script code.

    By searching on this forum, I found the script 'Import data from several Files.VBS use' and changed lines 17 and 18, replacing 'csv' by "tdms" (as demonstrated in another topic on the forum). This script also uses "groups of concatenate.
    The problem is that the TDMS files contain several groups (pointing to the slots on the frame measurements), each containing several different channels. If this script concatenates each group and the result is meaningless. I think the script that needs to be changed is "CONCATENATE Groups", but how?

    Thank you

    Olivier

    Hi Oliver,.

    Try to run the script you downloaded once for each group and encodinng group to load in the assignment of "ChannelSet" in line 10 using the index group, like this:

    ChannelSet = "[1] / *" or ChannelSet = "[2] / *".

    I just found out that this example breaks in 2014 DIAdem because the 'DataFileHeaderAccess' command has been relegated and replaced by a new.  I need update soon.

    Brad Turpin

    Tiara Product Support Engineer

    National Instruments

  • TDMS & Diadem best practices: what happens if my mark has breaks/cuts?

    I created a LV2011 datalogging application that stores a lot of data to TDMS files.  The basic architecture is like this:

    Each channel has these properties:

    To = start time

    DT = sampling interval

    Channel values:

    Table 1 d of the DBL values

    After the start of datalogging, I still just by adding the string values.  And if the size of the file the PDM goes beyond 1 GB, I create a new file and try again.  The application runs continuously for days/weeks, so I get a lot of TDMS files.

    It works very well.  But now I need to change my system to allow the acquisition of data for pause/resume.  In other words, there will be breaks in the signal (probably from 30 seconds to 10 minutes).  I had originally considered two values for each point of registration as a XY Chart (value & timestamp) data.  But I am opposed to this principal in because according to me, it fills your hard drive unnecessarily (twice us much disk footprint for the same data?).

    Also, I've never used a tiara, but I want to ensure that my data can be easily opened and analyzed using DIAdem.

    My question: are there some best practices for the storage of signals that break/break like that?  I would just start a new record with a new time of departure (To) and tiara somehow "bind" these signals... for example, I know that it is a continuation of the same signal.

    Of course, I should install Diadem and play with him.  But I thought I would ask the experts on best practices, first of all, as I have no knowledge of DIAdem.

    Hi josborne;

    Do you plan to create a new PDM file whenever the acquisition stops and starts, or you were missing fewer sections store multiple power the same TDMS file?  The best way to manage the shift of date / time is to store a waveform per channel per section of power and use the channel property who hails from waveform TDMS data - if you are wiring table of orange floating point or a waveform Brown to the TDMS Write.vi "wf_start_time".  Tiara 2011 has the ability to easily access the time offset when it is stored in this property of channel (assuming that it is stored as a date/time and not as a DBL or a string).  If you have only one section of power by PDM file, I would certainly also add a 'DateTime' property at the file level.  If you want to store several sections of power in a single file, PDM, I would recommend using a separate group for each section of power.  Make sure that you store the following properties of the string in the TDMS file if you want information to flow naturally to DIAdem:

    'wf_xname '.
    'wf_xunit_string '.
    'wf_start_time '.
    'wf_start_offset '.
    'wf_increment '.

    Brad Turpin

    Tiara Product Support Engineer

    National Instruments

  • nilibddc dll: opening files tdms with the corrupt index files

    Hello

    I have a question about the error handling when using the nilibddc.dll.

    I want to use nilibddc.dll to open the .tdms file. At the time I experimented with some error cases and got stuck in a case:

    When I try to open a file with a corrupted file .tdms_index .tdms I get code error-6211 (DDC_StorageCouldNotBeOpened).

    The file .tdms_index is corrupted due to errors during the copy of the file.

    The problem I've noticed is that I have a lock on the corrupted file .tdms_index file after DDC_OpenFile (...) (I can rename it, but I can't delete the file!).

    As you can see in the code snippet - it is not really special...

    int ddcError = 0, length;
    DDCFileHandle file = 0;

    ddcError = DDC_OpenFile (file_path, NULL, &file);)

    Here, I get ddcError is-6211
    If (ddcError == 0)
    {
    do something with the file...

    ddcError = DDC_CloseFile (leader);

    If (ddcError == 0)
    {
    < "no="" error="" -="" everything="" done"=""><>
    }
    }

    System ("pause");

    I miss something here? Should I use DDC_FreeMemory in somehow to free open handles?

    I also tried to use the DDC_OpenFileEx (...) with readOnly set to true. But that doesn't change anything!

    Thanks in advance for the help,

    Daniel

    You are right. The sample file you attached to your message causes an access violation. If no normal flow program and apllication in undefined state.

    I will direct the file to developers. I tried to generate a file that causes the same by beating some index files, but has failed to create one on my own. It happened to your site more than once?

    What can we do?

    In the first place, simply copy the PDM. The index file will be recreated when the file is accessed. What is lost when the index file is not copied, therefore the time required to create the index file by scanning once the PDM file.

    I hope this helps a little

    Andreas

  • Reading TDM-"TDM C DLL" files to OR does not.

    Hello

    This isn't really a question of DASYLab, but I don't know where to post this:

    I want to read a file TDM using CT C - DLL provided on this page OR: http://digital.ni.com/public.nsf/allkb/A3663DE39D6A2C5A86257204005C11CA

    The sample data file created with DASYLab 12 (see attachments).

    (Attached) code is compiled without errors in Visual Studio 2010.

    When I run the executable, that an error is posted (see attached image).

    What is the problem?

    Yes, the reason for the error is the first group with no channel.

    I changed the example to read your file tdm without errors. Please take a look at the attachment.

  • NCL TDMS Converter

    Hey guys, it's going to be my first post so please forgive me if I forgot to provide crucial information.

    Is what I'm trying to do with LabVIEW to create a VI that uses the examples of OR pre-built "Display NCL Logfile as"Target-BUS"Frames" to write the contents of these logs in a single TDMS file so that you can view several newspapers in a single file.

    So far, my approach contains the real top level VI NCL_Viewer. You will first need to provide a file path or a directory, in both cases the VI lists each .ncl file in the specified folder and calls the "display logfile...". "- VI for each of them.

    The Subvi then determines if the NCL file is of type CAN, LIN and FlexRay and she turns the respective table but - different from the original NOR-VI - is not write in a PDM file but a table hint. This, however, leads to ~ 500MB including the PDM file and the corresponding index - ratio 50: 50 - what is bad, I know and also takes about 10 minutes to write. Defrag reduced this Mo ~ 25 PDM and<1MB>

    FIRST QUESTION: Can I prevent this somehow? I'm not sure on how to use buffering in the case, but given the fact that defragmentation can reduce the size of the file, I have to believe it must be possible to create smaller files in the first place.

    In addition all these logs to a TDMS file would be kind of chaotic display, as TDMS allows only two levels of internal file structure. That's why I set up my own new group names in dieting 'Filename-ID' (e.g. CAN_01-963 963 ID in the first newspaper CAN). I did my own version modified DDHN-Viewer-VI incorporated so that it splits the name of group in CAN_01, 963, and creates a new tree like:

    CAN_01

    -963

    -Channels

    Even if this isn't the way the TDMS file is built, I can do look as if he was.

    SECOND QUESTION: I keep coming with a corresponding number of entries of CAN_01 number of connected on this BUS, rather than just a single entry, listing all the different ID of ID. What is wrong here?

    As to help you reproduce my problems I downloaded all the screws in my project, but also a NCL-Logfile for each type of BUS.

    I thank in advance and forgive me if any transition is difficult to read - English is not my mother tongue.

    PS: Check the path access-controls/constants so that they are valid for your PC.

    Just to close this topic, I got the second problem solved and the first omitted.

  • Problem in ANSI C for example - error TDMS-ContAcq-IntClk 200877

    Hello

    I tried the examples in the 'ANSI C examples' folder and ran into a snag with the example in:

    "" \DAQmx ANSI C\Analog In\Measure Voltage\Acq TDMS-Cont-Int Clk".

    When I run it as it is, I get the following error:

    DAQmx error: requested each interval of N samples event is not supported for the given the mechanism of transfer of data and the buffer size. To keep the DMA or USB in bulk as the data transfer mechanism, change the size of the buffer or the interval of event Every N samples so the size of the buffer is a multipleof even interval event Every N samples. To keep the same each event interval of N samples and the size of the buffer, modify the mechanism for transfer of data interruptions if taken in charge. Property: DAQmx_Every N samples CQI event IntervalRequested value buffer: size 1000Buffer: 12288Task name: _unnamedTask<0>State :-200877End of the program Code, press the Enter key to exit

    As I was typing this, I did a quick test. I tried to comment this line in the code:

    / / * / / PDM DAQmx Configure Code / * / DAQmxErrChk (DAQmxConfigureLogging(taskHandle,"C:\\example.tdms",DAQmx_Val_LogAndRead,"GroupName",DAQmx_Val_OpenOrCreate));)

    and it worked, as I suspected.

    My gut feeling is that the DAQmxConfigureLogging function expects a block of 12 288 bytes, and in the rest of the code, the number of samples is set to 1000, with a sampling frequency of 10000.

    In any case, I fixed it by changing from 1000 to 1024 (1024 because * 12 = 12288) anywhere in the code, so solve the original problem.

    I don't have a few new questions now:

    1. is this an error in the example, or am I missing something?

    2. How do you change the default size 12288 DAQmxConfigureLogging() waiting for let say 5000?

    Thank you.

    Hall

    Hey Bob,

    In fact, it is a bug with this example.  It comes with the value 1000 for the wrong sampling interval since it is an example of logging.  When logging is enabled on a task, default buffer sizes are slightly different from the default values without connecting.  This is because the default buffer sizes are powers of 10, while hard drives prefer to powers of 2.  It is a maneuver of performance as we listen to disc directly from the buffer DAQmx.

    I think you should be able to use 1024 as your sampling instead of 1000 interval in this example.  In this example, the default value will change so that it is not immediately error (Corrective Action Request #177199).

  • TDMS.dll error loading file in tiara

    I'm trying to load a TDMS file written in LabVIEW 2010 in DIAdem 2010, but the error attached indicating an ACCESS VIOLATION in tdms.dll.

    I have several machines that this file loads into DIAdem 2010 of course, but of course on what I need to work was the only one that it does not work on.

    The machine in question is a 'new' installation of Windows XPSP3 with one minimum of other stuff installed (it's a Dell Optiplex GX620, if this themes).  As mentioned, the file load fine on several other machines with DIAdem 2010 on it.  It works very well on the machines run Windows XPSP3, XPSP4 and Win7 (all Dell machines).  I have attached a list of applications installed on the PC in question.

    Anyone have any ideas?  There are programs that are not compatible with DIAdem?  Are there any installers that DIAdem (or tdms.dll in particular) that depend on must be installed also?

    I copied the newer DLL on the machine that did not work, and that seems to have solved the problem.

    2010f2 LabVIEW installs a newer version of the DLL that DIAdem 2010 don't?

  • Start TDM importer Excel automation index

    I'm trying to create a macro in excel to import and format data from a .tdm file.

    The files to import sometimes exceed the limit of 1 M in Excel line, when that happens, so I want to generate two workbooks. One of these binders to be generated from a starting index of 1 and the other must be generated from a beginning index of 1048576. Right now I use the silent mode to give a hint of departure of 1 and then again run the importer and enter 1048576 manually to the second workbook.

    My question is: is it possible to set the index of departure via a macro?

    I looked at using the sendkey command to generate the key sequence "tab tab 1048576 enter" required, but excel cannot interrupt the object call command to do this.

    Thank you very much

    Alex

    Alex

    I did a fairly complex treatment with DIAdem.  Your request is not a big deal to do in tiara.

    For maximum flexibility, you can take the references to the chain. As shown below in oChan01.  This will allow you to manage a channel such as a table. The limits of this approach is the speed, built-in functions are faster that approach and should be used as much as possible.   The chnfind command is an examle that is much faster to find a specific value in a channel.

    OptionExplicit'Forces the declaration explicitly all variables in a script.

    Dim oChan01, i, GPB, dVal

    define the GPB = data. Root.ChannelGroups ("EXAMPLE")

    Set oChan01 = oGrp.Channels ("Time")

    for i = 1 oChan01.Size

    dVal = oChan01 (2)

    next

    Paul

  • Progress of asynchronous data TDMS wrote for LabVIEW RT

    Hi all

    I save data in many channels TDMS files.

    Data record should be done on a real-time target OR SMU 8135 with LabVIEW RT operating system.

    The data of all channels of the recording in a cycle time of 1ms.

    Question: What Advanced TDMS mode should be better suited for this task? Sysnchronous or asynchronously?

    It seems that the advanced TDMS asynchronous logging is not supported by LabVIEW RT? Is this true?

    Thank you.

    Rahul

    Hello Rahul,

    Advanced asynchronous PDM are not supported on RT.

    Best regards

    Christoph

  • Executable file do not write in tdm/PDM files.

    Hello

    I wrote a wrapper around a VI that controls the entries to designed the hardware and monitors the outputs for the prolonged lifetime of testing purposes.  We use compact DAQ for control and data acquisition.  We do not wish to moor a LabVIEW license for six months to run the desired test, I compiled an executable and built an installation program.  Everything worked without problems on a PC with LabVIEW and everything seemed to work well on a PC without LabVIEW with the executable... until I decided it was time to start analyzing the outputs recorded (tdms files).  The application is able to not control my material, no problem, I could see it passes through different States and key measures that I display on the user interface are valid, but the log files are simply cannot be created, not even an empty file.  At the lowest level, the open storage VI [TDM] is called to open or create the file (filename is entered by the user or created with timestamp if he did not) and each 'bit' of data is written by writing data [group of channels] and write data [channel] live on the PC with LabVIEW, the output files are created without problem.

    Did not work with executables before.  How can I start to debug (without installing LabVIEW on the PC in question - and when all goes well when run on a computer with LabVIEW installed)?  Have tried to build the executable with active debugging, but do not know how to "enable" debugging or a walk through as in LabVIEW... or if it's even possible...  I don't get warnings or errors during the race.  Is there something special I need to do in the construction of my executable or installer, particularly writing executables TDMS files?

    Thanks in advance

    -Andy


Maybe you are looking for