TDMS read fails on the channels of different lengths

Experts in LV...

It seems that there is an error in the PDM to read functions.   I have a TDMS file generated by a built executable, this file has a group of 9 channels.  Channel 5 is data taken at a higher rate (IE 20 MHz) compared to the date in the other 8 channes (1 Mhz).  1 Mhz channels have 110 000 points, of course, the 20 Mhz channel has 2 200 000 points.

If I read this by using the playback feature TDMS passing an array of the names of Channel 9.  It runs and returns a table of 9 waveforms with Y0 dt values correct and the correct.  However Channel 4 (the 5th string, that long) a garbage in the data for all points since the stop the 110 000 in other channels.  This trash is as numbers-10 ^ 304 and zero.  The first 110 000 points are correct.

The file itself is not damaged.  If I read the file in a loop 1 channel at the time, and to build the table of waveforms I get all 9 waveforms and the correct data of variable length.  A trivial example to read the actual data file is attached with the data file (I hope that boards that leave be attached).  Intrigue albums has corrupted data to read it all-in-one and the bottom has the accurate version of loop data.  The waveforms of tables on the left show that corruption occurs precisely at the location 110 000 table where the other tables

Yes, the data file is too long for the forums.  You can get the program file and the simple example data

TDMS error.zip

No Council or if it is a real mistake.  I don't see anything in the documentation that I'm doing something wrong.  The fact that it returns a length of valid array and no error code is leads me to believe it's a bug of LV.

Hi sth.

Thank you for your results. The issue you reported is for playback of several channels of scaling in staircase once. (PDM read on several channels in staircase of unscaling works very well). The .tdms file, you provided, including the scaling of the data.

I can give you two workaround solutions. The first is what you mentioned, read each channel of scale inside a loop. The second is that always read all channels once, but rank all length strings in descending order. (The first is the channel with a maximum length; the last is the channel of a minimum length).

Kind regards

Jie

OR R & D

Tags: NI Software

Similar Questions

  • Overview of the levels on the channel is different cause - sometimes! The causes?

    Hello

    General (and maybe useful to some) information: in CS3, I use a filter dust and scratches on a layer in an image in high resolution (3200 + ppi) 16bpc, then traditionally change the blending mode of the layer to difference, make a duplicate of a channel which has the clearest information where the filtered changes have been made and usage levels to increase the contrast on a copy of this channel. Sometimes I get this result if - levels adjustment preview shows the tasks clearly, but clicking OK results in something very different from the preview. This seems to happen occasionally.

    So a snippet looks like this:

    levels01.jpg

    and the result looks like this:

    levels02.jpg

    As the purpose of the channel is to make a mask, the result is not as good as I would like. I assumed that the problem could be the gray color of the start of the round, so I pushed the 0 to 9 to try to get a uniform K value of 100% on the darker areas and then ran a second levels adjustment to make the brighter white spots. The second levels adjustment led roughly the same result as above, even once, not what was shown in the preview. I also assume that it may be up to numbers and that the levels is sometimes too limited to deal with all the shades of gray on a 16-bit channel. No doubt wrongly that normally this works exactly as required.

    Only, this happens from time to time and is not that big a deal - I can quite happily go and use a curve instead. I wonder why the insight into the setting window is different from the actual result. The fact that it happens on some of my images, what worries me - purge all beforehand makes no difference.

    Anyone any idea what is the cause and how to get accurate results in the preview? Is the preview by using a different method to show the results? Unfortunately I don't have a copy of the CS6 to try this on that a few weeks so not sure that the best way for a person to attempt to reproduce on the newer versions.

    Write you about a problem with 16 bpc documents, but provide a doc. 8 bpc won't provide you with a 16-bit/channel doc?

    Anyway, even with your doc of PCBs 8 and works in 8-bit mode, the reason for the difference between an extract and actual adaptation, it's only when zoomed less than 64 per cent and with levels higher than 1 Cache, the preview image is calculated with very low precision. Photoshop is very low accuracy display calculation with adjustment layers and layer of mixture in general, too, unless the zoom is at least 64% or Cache levels is 1.

    Display of low accuracy tends to be the most worrying in 16-bit mode than in 8-bit mode due to the greater reduction in accuracy in the old mode.

    To prevent this lowering of the display accuracy, you can set Cache levels to 1 in preferences > performance then restart Photoshop, but some graphics cards may experience problems in 16-bit mode when the CL is limited to 1. Also, reduced levels of cache can significantly cause jaggy interpolation of pixels to display zoomed and reduction of the speed of Photoshop.

    Ironically, Photoshop CS6 requires us to have a computer powerful enough modern for its latest features, while he still uses to display shortcuts which I assume have been deliberately made very inaccurate for the program would work reasonably fast on old equipment.

  • File.Read () fails with the binary file

    It's annoying me like I thought it would be trivial (and according to the docs, quite possible).

    I open a tiff file, and I'm reading all data.  I put binary encoding after opening.heres my simple code:

    var file is File.openDialog ("select the file");. leader. Open ("r"); leader. Encoding = "binary"; Alert (file. Read());

    I use this file:

    https://area51.d4creative.com/cgi-bin/fastLink.cgi?LinkId=922 & starts 5162 = & keycode = 9tlpQ3dS

    my alert box says: MM if I open this file in a text editor, there is more data after MM.  What is the problem?  Extendscript really not correctly read binary data despite demand of textbooks he can?

    Mike Cardeiro

    If I do this way:

    {
    var myFile = File.openDialog ("Select binary file.");
    myFile.open ("r");
    myFile.encoding = "BINARY";

    var myChar, myByte;
    var i = 0;
    s = "";
    While (! myFile.eof) {}
    myChar = myFile.readch ();
    myByte = myChar.charCodeAt (0) m:System.NET.SocketAddress.ToString (16);
    If (myByte.length< 2)="" mybyte="0" +="">
    s += myByte + "";
    If (I %16 == 15) s += "\r";
    i ++ ;
    }
    myFile.close ();
    $.writeln (s);
    }

    That's what I get:

    2A of the 4 d 4 d 00 00 00 00 08 00 00 00 04 00 00 fe 0c
    00 01 00 00 00 00 01 00 00 03 00 00 00 01 00 04
    01 00 00 01 00 03 00 00 00 01 00 04 00 00 01 02
    00 03 00 00 00 03 00 00 00 9th 01 03 00 03 00 00
    00 01 00 01 00 00 01 06 00 03 00 00 00 01 00 02
    00 00 01 11 00 04 00 00 00 01 00 00 00 01 15 bc
    03 00 00 00 00 01 00 03 00 00 01 16 00 03 00 00
    00 01 00 04 00 00 01 17 00 04 00 00 00 01 00 00
    01 30 00 1 C 00 03 00 00 00 01 00 01 00 00 86 49
    00 01 00 00 00 18 00 00 00 00 00 00 00 00 08 a4
    00 08 00 08 38 42 49 4 d 04 28 00 00 00 00 00 0c
    00 00 00 01 00 00 00 00 00 00 3f f0 ff ff ff ff
    FF ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
    FF ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
    FF ff ff ff ff ff ff ff ff ff ff ff

    Dan

  • Difficulties to get its entry set up and its entry to read more than 2 channels

    I need a multichannel audio for my project. I can't read more than 2 channels of my audio interface.

    The interface Im using is a mixer Alesis Multimix8 USB 2 and audio interface. It supports 10 channels and 2 outputs. With other software, I can read that all the channels simultaneously, without any difficulty of entry. When I specify the audio set up and read of input sound, to read more than 2 channels of any extra channel is a white signal. I'm using Labview 8.5 here.

    Have a look here

    http://forums.NI.com/T5/LabVIEW/play-waveform-express-VI-list-devices-on-front-panel/TD-p/1559336

  • 2 channels of AI on a data acquisition with the range of different sensitivity

    This vi is based on the 'new project' state machine on the home screen at the start of LV.

    A time loop is parallel to the main loop of the state machine, shown in the picture.

    It works continuously until you press the Exit button.

    The problem seems to be in start this... > read >... stop start > read >... stop along the error line.

    The reason for this clumsy arrangement power is measured voltages are in two lines of different sensitivity.

    The shunt voltage is small and needs-. 2 to the range of V.2. The load voltage is greater and 09:50 V range is good.

    In the initializing state, two separate vi 'create a channel' have been used to specify the range of voltage to the physical channel. The corresponding tasks are sent via via local variables.

    DAQmx errors happen randomly, sometimes the first iteration, sometimes the 50th.

    I tried to disable one or the other start > read > stop for the shunt voltage or load.

    I tried replacing them with the DAQ assistant.

    I tried various DAQmx vi: "wait" and "accomplishment of the tasks by resource cancel selected".

    But error-50103 "specify resource is reserved" keeps popping up.

    Is it possible to create two tasks on the device even when they are not used at the same time?

    The only reason is to measure in two voltage ranges.

    Win 7 Pro 64-bit

    2014 LV database

    Data acquisition equipment: USB-6210

    Thank you.

    This has been discussed many times. Do NOT use separate tasks. You can use different ranges for different channels with a single task. Just wire the task from one channel to another channel to create task.

    You also use local variables when they are certainly not needed.

  • Using the channel of the flaws with the reading of data

    Is it possible to substitute a model output when I want real data playback using the stim profile editor?

    I understand how to use the flaws of the stim profile editor to replace an unique to a single value output channel, but is there a way to "fault" of the channel to the data I read (.csv file)?

    Don't know how I missed that...  Exactly what I was looking for.

    Thank you
    Matt

  • How to import a single channel of different TDMS files?

    Hello

    I have several tdms files which have the same structure of channel (ch1 - chx). Each channel by tdms file has a stored value.

    I would like to see the same channel, lets say ch1, of EVERY file of PDM, in order to have a responsible for all the tdms files 2D field

    the data portal.

    If I drag a channel from a PDM file, loaded on the data portal, I see a value of course. I would like to drag lets say five

    channels at once to get a 2D-plot in the display section.

    Is there an easy way to solve the problem?

    Thank you in advcance

    Hi Norick_17,

    I think you could do that with advanced search in the browser of DIAdem.

    Configure advanced as the attached picture. You can configure the search, so that you find ch1 on all files. Also, the select the minimum/maximum/average as additional search criteria.

    In the list of results, you will see a Channel.Maximum column. You can select this column and drag & drop it into your data portal. Each maximum value will be concatenated to a string.

    Best regards, Stephan

  • Can I read out the channel of AI to control ao channel?

    Hello

    I use a USB-6211 to acquire two voltage signals synchronized to an LVDT (ai0) and a load cell (ai1). LVDT signal and load cell already amplified and conditioned before travelling in the ADF. LVDT and scale read displacement and force on a rod having position is controlled by a linear actuator. The actuator is controlled by a voltage waveform coming out of the 6211 (ao0). Is it possible to reference each input signal (one or the other, perhaps based on a Boolean value) to control the amplitude with the output signal?

    For example, if I wanted to move the stem a specific distance or press the stem into something with a certain force, could I refer to the distance or the strength of the input signal of the channels to set the amplitude of the signal ao AI?

    I guess what I would really like to do is to close the loop on the actuator so that it knows where it is in terms of force and distance. Is it possible using this material?

    USB-6211 (http://sine.ni.com/nips/cds/view/p/lang/en/nid/203190)

    Best,

    amproctor

    If you do a sample or wave? I have not found a typical...

    See the wink, it's here Sample sample. The Subvi icon has your correction formula.

  • When my wife read his emails, the following error message is displayed before that windows live mail stops. Failed assertion. Program: c: Program Files | Windows Live\Mail\wlmail.exe

    When my wife read his emails, the following error message is displayed before that windows live mail stops. Failed assertion. Program: c: Program Files | Windows Live\Mail\wlmail.exe File:C\boost_1_36_0\boost/shared_ptr.hpp line 419 Expression: px! = 0 someone at - it ideas?

    original title: failure of the Assertion in windows Live Mail

    All Windows Mail issues belong to http://windowslivehelp.com/product.aspx?productid=15

  • I get error code 0 x 80070005 that reads "system restore failed during the restoration of the registry since the restore point.

    Original title: Windows 7 system restore always fail.

    I get error code 0 x 80070005 that reads "system restore failed during the restoration of the registry since the restore point.  I don't have Norton AntiVirus.

    If anyone can help solve me this problem I would be very grateful.

    Thank you for your response.  I forgot to mention in my first post, I tried both methods without success.  However, I finally understand how to solve the problem that led me to want to do a restore of the system in the first place. for now, I am therefore able to avoid a system restore.

    Thanks again.

  • How to prevent the appearance of "Failed to open Document" "Please check if you have read permissions for the file above.  This problem occurs when I try to convert a word in a PDF doc.

    How to prevent the appearance of "Failed to open Document" "Please check if you have read permissions for the file above? This problem occurs when I try to convert a word in a PDF doc.

    Hi [email protected] ,

    Please try to follow the steps mentioned in this thread with a similar problem: Impossible to open the document. Please check if you have read permissions for the above file.

    Also, let us know the acrobat version you have and the version of the OS on your system.

    Let us know if that helps.

    Concerning
    Sarojini

  • All of a sudden my 5.7 LR on win10 64-bit start fails with the error message something like "error reading from the cache of the preview... Please restart." reboot, repair, reinstall, or rename SLCache helps to repair.

    All of a sudden my 5.7 LR on win10 64-bit start fails with the error message something like "error reading from the cache of the preview... Please restart." reboot, repair, reinstall, or rename SLCache helps to repair.

    Unbenannt.PNG

    Hello

    Greetings!

    Close to Lightroom.
    Navigate to the location where the catalog is present (default value is within the pictures folder lightroom file)

    And delete the file previews.lrdata.

    Note: do not delete the catalog with the extension .lrcat file.

    Concerning

    Jitendra

  • How to read the data with different XML schemas within the unique connection?

    • I have Oracle database 11g
    • I access it via JDBC: Slim, version 11.2.0.3, same as xdb.
    • I have several tables, each has an XMLType column, all based on patterns.
    • There are three XML schemas different registered in the DB
    • Maybe I need to read the XML data in multiple tables.
    • If all the XMLTypes have the same XML schema, there is no problem,
    • If patterns are different, the second reading will throw BindXMLException.
    • If I reset the connection between the readings of the XMLType column with different schemas, it works.

    The question is: How can I configure the driver, or the connection to be able to read the data with different XML schemas without resetting the connection (which is expensive).

    Code to get data from XMLType is the implementation of case study:

     1   ResultSet resultSet = statement.executeQuery( sql ) ; 
    2   String result = null ;
    3    while(resultSet.next()) {
    4   SQLXML sqlxml = resultSet.getSQLXML(1) ;
    5   result = sqlxml.getString() ;
    6   sqlxml.free();
    7   }
    8   resultSet.close();
    9    return result ;

    It turns out, that I needed to serialize the XML on the server and read it as BLOB. Like this:

     1    final Statement statement = connection.createStatement() ;  2    final String sql = String.format("select xmlserialize(content xml_content_column as blob encoding 'UTF-8') from %s where key='%s'", table, key ) ;  3   ResultSet resultSet = statement.executeQuery( sql ) ;  4   String result = null ;  5    while(resultSet.next()) {  6   Blob blob = resultSet.getBlob( 1 );  7   InputStream inputStream = blob.getBinaryStream();  8   result = new Scanner( inputStream ).useDelimiter( "\\A" ).next();  9   inputStream.close(); 10   blob.free(); 11   } 12   resultSet.close(); 13   statement.close(); 14  15   System.out.println( result ); 16    return result ; 17
    

    Then it works. Still, can't get it work with XMLType in resultset. On the customer XML unwrapping explodes trying to pass to another XML schema. JDBC/XDB problem?

  • How to access the channel values?

    I'm new to scripting language DIAdem.  I TDMS has a group and several channels with String type all.   How to read the first 4 characters of each string values and store into the new channel?  Example of data file attached.

    I tried for the statement in the Script window

    Ch("[1]/result") = Ch("[1]/Frame")

    or

    Ch("[1]/result") = Right (Ch ("[1] / framework", 3))

    All gave me error...

    Hi NiCoder,

    It's the way you read and write individual channel values, but what to do value-by-value is much slower that make them all with a single call to ChnCalculate():

    Set Group = Data.Root.ChannelGroups (1)
    Define FrameChannel = Group.Channels ("Frame")
    Set ResultChannel = Group.Channels.Add ("Result", DataTypeString)
    iMax = FrameChannel.Size
    FOR i = 1 TO iMax
    ResultChannel (i) = Right (FrameChannel (i), 3)
    NEXT ' I

    Brad Turpin

    Tiara Product Support Engineer

    National Instruments

  • Problem with the number of lines in the channel

    Dear community LabView,

    I'm relatively new to labview and I came across a problem that (I assume) can easily be resolved with your help.

    I need to create a digital signal to trigger a camera, but I have a problem with the configuration of my lines or exit lanes. I would not use that line output to trigger the camera. (I use a card NI PCIe-6353). LabVIEW is telling me that the number of lines in the channel does not have the number of rows of data:

    Possible reasons:

    Specified read or write operation failed because the number of rows in the data of a string is not the lines in the channel.

    If you use the digital waveform data type, make sure that the number of lines in the digital waveforms is the number of lines in the channel. If you are using Boolean data, make sure that the dimension of the array for the rows of the data is the number of lines in the channel.

    Number of lines in the channel: 1
    Number of data lines: 2

    Task name: _unnamedTask<11>

    How and why the number of data rows is connected to the resolution of my analog digital converter?

    I would appreciate your help! Labview code and a screenshot attached.

    Thank you

    Beff

    I got it to work by changing the "data format" "binary not signed" OR by plugging is not the "offset" for the Square Wave VI.  I think that the default "offset binary" data format works correctly if there is a negative value.

Maybe you are looking for