TDMS digital data

Hello,
we are developing datalogging system for our customer and we need to save analog and digital data to TDMS file. There is probably no problem with analog data streaming. But on the other side writing digital data inside TDMS file looks like a problem... So we tried to use background streaming (DAQmx Logging) where size of file is acceptable (8xDI(1B) x 512samples + TDMS header). But we need to log analog and digital data with timestamp channel so we can not use DAQmx background streaming instead we must program our application. When we used TDMS write for digital waveform, digital data result in TDMS viewer and DIAdem is OK but file size is (8x1B for each digital channel). We also look at TDMS by DAQmx logging where internal file structure (attached file  tdms_tsdata.png) contains parameter NI_DigitalLine which is bit in data byte index (i think). Another parameter is NI_DataType = 5 (UInt8). From these two params I deduced some ideas and do some tests with unsatysfying results. Only one of tested ways was to write direct UInt8 of DI (entire port) to ensure file size ... 8xDI=1B x samples. However those TDMS can not be correctly read by TDMS Viewer as structure of digital inputs but only as number.
Is there any chance to write manually and effectively digital data in TDMS file (like DAQmx logging)?
Thank you in advance for any hint.
Michal.
Attachments:
tdms_tsdata.png ‏40 KB

Hi kel072,
You are right, you can not write just as one  byte and expect Diadem, or TDMS file viewer to interpret directly as 8 lines boolean data.
This is an expected behavior because there is no information about the number of lines.
Therefore, I have two suggestions:
1. You can build your custom TDMS file viewer (pack your data as u8 bit, transfer it into the TDMS file and later build your own VI that will read from TDMS, reconstruct the data in boolean 1D array and display the data). In this scenario, Diadem will still not be able to interpret them as 1 bit data.
2. Write your data to a binary file in the format you specify. Then you can read it directly in LV or any other programming language that supports that format, or you can build a data plugin for Diadem that will allow it to interpret the data in the particular way you want ( and use it for your application). This method requires the most programming but gives you the most flexibility (packing data, display in Diadem, display in LabVIEW etc).
Check the links bellow for more information on the data plugin:
1. http://www.ni.com/white-paper/13803/en/
2. http://www.ni.com/example/29822/en/

Similar Messages

  • Code for capture digital data when change of state

    Dear Sir,
    I had written a program to capture the digital data when it change of state.
    It work well when I check the check box "Lock file for faster access".
    But error occur when it unchecked.
    Because I need to open the tdm file at the vi running, thus I need to uncheck it.
    Please kindly to advise any solution for it.
    The program is attached.
    Thank You.
    Attachments:
    datalogcos.vi ‏53 KB

    Hi Jayme,
    Sorry for late reply.
    The screen capture of error message is attached.
    Thanks for your helping.
    Poly-Alex
    Attachments:
    error.jpg ‏24 KB

  • I have made a burn folder with photos exported from I-photo.  It now shows in information, that the date is created and modified is different from the original digitized date.  How can I get the original date to show in the info from Finder?

    I have made a burn folder with photos exported from I-photo.  It now shows in information, that the date  created and modified is different from the original digitized date.  How can I get the original date to show in the info from Finder?

    The Finder reports File information. The date and time of the photo are in the Photo's Exif metadata. The Finder has no awareness of this. All photos apps on any system do.
    Regards
    TD

  • Save Digital Data to a Text File

    I have digital data collected from two ports simultaneously as N number of samples in waveform that I do calculations on to get a result. I would like to save the raw data in a text file so that it can be easily viewed in an external program, like Excel.  This file would be used as verification of the result calculated in my program. I would think this would be a simple thing to do in labview but as yet have not figured it out. I’ve tried to change the digital to analog and then save as a text file but the data no longer gives the same results when recalculated in an external program. Thanks for any input on this subject.
    Tessa

    I am using 8.20. 
    Thanks, Tessa
    Attachments:
    Cannon Screenshot2.JPG ‏154 KB

  • How do I change Digitized Date

    I need to change the digitized date in some of my photos in iPhoto '08. The Adjust Date & Time function only changes the original date/time and the Batch Change function doesn't offer an option to change the digitized date either.

    I believe that digitized date corresponds to the EXIF Capture Date if the photo is from a digital camera. If the photo has been copied to other media or emailed it may lose that date in the process. You will have to use an EXIF editor like PhotoInfo to change it. If the photo has been scanned or form some web sites it may not have that EXIF field in the file and cannot be changed.
    Do you Twango?
    TIP: For insurance against the iPhoto database corruption that many users have experienced I recommend making a backup copy of the Library6.iPhoto database file and keep it current. If problems crop up where iPhoto suddenly can't see any photos or thinks there are no photos in the library, replacing the working Library6.iPhoto file with the backup will often get the library back. By keeping it current I mean backup after each import and/or any serious editing or work on books, slideshows, calendars, cards, etc. That insures that if a problem pops up and you do need to replace the database file, you'll retain all those efforts. It doesn't take long to make the backup and it's good insurance.
    I've created an Automator workflow application (requires Tiger), iPhoto dB File Backup, that will copy the selected Library6.iPhoto file from your iPhoto Library folder to the Pictures folder, replacing any previous version of it. It's compatible with iPhoto 08 libraries. iPhoto does not have to be closed to run the application, just idle. You can download it at Toad's Cellar. Be sure to read the Read Me pdf file.

  • I want to send the digital data to the tlv1572

    hi i am characterizing the tlv1572 adc.  i need to capture the 10 bit digital data generated by the tlv1572. can anyody help me in doing this. i am using daq 6251 and scb 68 connector

    Hi Ravi,
    You can generate analog voltage of the AO line and read in the o/p of ADC using the digital line on 6251. There are some good online example plus tons of example in Labview to multiple task simultaneously.
    -lab

  • How to find photos with no original or digitized date?

    I have probably 500-1000 photos that have neither Original or Digitized Date info. They are scattered all throughout my iPhoto library (30,000). They do have Modified and Imported Dates; but of course, not only do those dates differ (sometimes substantially) from when the photo was taken, iPhoto seems to use the Modified Date for sorting purposes if the Original Date isn't there. That means these "dateless" photos are way out of sequence when View, Sort Photos is set to By Date.
    What I need is some way to easily find these photos. I can't set the date search feature to a "null" value, nor can I create a smart album that filters for a null date value. If I slowly scroll through all my photos and watch the numbers carefully, I can usually see which photos have no Original Date because they're out of sequence, but with 30,000 photos, that's going to take forever.
    Does anyone know any tricks or third-party software for this?
    Thanks!

    If a file doesn't have an EXIF date then the file created/modified date is used by iPhoto. Files that have been scanned or optimized for web use fall into that category.
    The demo version ofMedia Expression can catalog an iPhoto library and then with a search for Date is after 1/1/84 you will find all files with an EXIF date. After applying a label to all found you can display all files without a label which would be your files. How you would then identify those so that they can be found in iPhoto I don't know. Any keywords you might add or other metadata would not be recognized by iPhoto unless they were reimported. If you are interested in trying that post back and I can give you a workflow. It would involve creating a new library and importing the Originals folder of the old library after you run Expression Media on it to embed the keywords (those from iPhoto and those you add to the dateless files), titles and comments to the files. It can be done but might be a bit involved.
    TIP: For insurance against the iPhoto database corruption that many users have experienced I recommend making a backup copy of the Library6.iPhoto (iPhoto.Library for iPhoto 5 and earlier) database file and keep it current. If problems crop up where iPhoto suddenly can't see any photos or thinks there are no photos in the library, replacing the working Library6.iPhoto file with the backup will often get the library back. By keeping it current I mean backup after each import and/or any serious editing or work on books, slideshows, calendars, cards, etc. That insures that if a problem pops up and you do need to replace the database file, you'll retain all those efforts. It doesn't take long to make the backup and it's good insurance.
    I've created an Automator workflow application (requires Tiger or later), iPhoto dB File Backup, that will copy the selected Library6.iPhoto file from your iPhoto Library folder to the Pictures folder, replacing any previous version of it. It's compatible with iPhoto 6 and 7 libraries and Tiger and Leopard. Just put the application in the Dock and click on it whenever you want to backup the dB file. iPhoto does not have to be closed to run the application, just idle. You can download it at Toad's Cellar. Be sure to read the Read Me pdf file.
    Note: There's now an Automator backup application for iPhoto 5 that will work with Tiger or Leopard.

  • Change Digitized Date on Photos

    I was wondering if there is a way to change the digitized date on photos. If you look at my web gallery http://gallery.mac.com/s.krasi#100001 you will see in the lower right hand corner a date on the photo when the picture was taken. Is there anyway to make this disappear from the photo without causing any damage to the photo. I am not the great at Photoshop but I have a feeling you might be able to do it in there. Any help is appreciated. Thanks

    Krasi:
    You can use the Photos->Batch Change menu option to change the date on files and have the original files changed also. The only problem with it is you have to set the time and have a user specified interval between photos. So if the photos are from different times during the same day they will all be at the same time but with the interval selected. If it's the date that's important then the time thing is not critical.
    For batch changing the EXIF Capture Date outside of iPhoto you can use PhotoInfo. It will batch change a folder of photos by a user given time differential, i.e. 1 day, 1 hour, etc. It's very good. But you will have to reimport those photos into iPhoto before the change will be registered. That's why it has to be done outside of iPhoto.
    Do you Twango?
    TIP: For insurance against the iPhoto database corruption that many users have experienced I recommend making a backup copy of the Library6.iPhoto database file and keep it current. If problems crop up where iPhoto suddenly can't see any photos or thinks there are no photos in the library, replacing the working Library6.iPhoto file with the backup will often get the library back. By keeping it current I mean backup after each import and/or any serious editing or work on books, slideshows, calendars, cards, etc. That insures that if a problem pops up and you do need to replace the database file, you'll retain all those efforts. It doesn't take long to make the backup and it's good insurance.
    I've created an Automator workflow application (requires Tiger), iPhoto dB File Backup, that will copy the selected Library6.iPhoto file from your iPhoto Library folder to the Pictures folder, replacing any previous version of it. It's compatible with iPhoto 08 libraries and Leopard. iPhoto does not have to be closed to run the application, just idle. You can download it at Toad's Cellar. Be sure to read the Read Me pdf file.

  • Analog data to digital data conversion in labwindows

    Hi
    Is there any library function available in Labwindows for converting Analog data to Digital Data..
    Thank You

    shoukat,
    could you please provide some more information about the background of this question? Is there any link to motion control (this is the Motion Control forum)?
    I don't understand exactly, what you are looking for. All data that you use in a programming environment are digital data - regardless of the data type. Are you looking for a data conversion from floating point to binary (e. g. a boolean array) or are you looking for data acquisition hard- and software?
    Regards,
    Jochen Klier
    National Instruments

  • Writing/re​ading serial digital data

    I'm trying to figure out how to both read and write digital data in a serial fashion. Mainly, I'd prefer to be able to do so serially because I need to 16 bits apiece for both input and output, and this becomes cumbersome to do in parallel.
    Ideally, what I'd like to be able to do is have a 16 bit unsigned integer as input, convert to a boolean array (or maybe digital waveform) and write this data to a single digital output channel. I have been unable to find very much useful information on how to do this, although I did find a somewhat helpful message on these forums (http://forums.ni.com/ni/board/message?board.id=170​&message.id=289673&query.id=56887). The example VI mentioned in that post (Cont Write Dig Chan-Burst.vi and similar VIs) does not work, though. When attempting to run it, I get an error message related to the DAQmx Timing:
    Error -200077 occurred at Property Node DAQmx Timing (arg 1) in DAQmx Timing (Burst Export Clock).vi:1->Cont Write Dig Chan-Burst.vi
    Possible reason(s):
    Measurements: Requested value is not a supported value for this property.
    Property: SampTimingType
    You Have Requested: Burst Handshake
    You Can Select: On Demand, Handshake
    The hardware in question is the SCB-100 for digital I/O. I'm running LabView 8.5 with DAQmx 8.7.1.
    I'd be interested in suggestions on either how to get these example VIs working properly or alternative methods for how to write digital data serially (I'm sure the reading will be easy enough once I figure out how to do the writing).

    Hi,
    The DIO communication on the 6025E is only timed through software while on the PXI-6534 (mentioned in the other post you linked to) uses hardware timing.
    Since you're limited to software timing, your communication will be significantly slower. The fastest that Windows typically controls software-timed DIO is on the order of 1kHz. However, I don't know your application, so perhaps that rate is fast enough.
    Assuming that you want to use your 6025E card, I would suggest looking at some of the digital port and channel examples that ship with LabVIEW. The example finder is under LabVIEW » Help » Find Examples. From there, navigate to Hardware Input and Output » DAQmx. There are two folders for Digital Generation and Digital Measurements, and the example finder will list the devices that support each example in the lower right. The ones that will work on your card are 'Read Dig Chan.vi', 'Read Dig Port.vi', 'Write Dig Chan.vi', 'Write Dig Port.vi'.
    Please experiment with those and use them to build the application you need. If you need further clarification, please let me know.
    Joe Friedchicken
    NI VirtualBench Application Software
    Get with your fellow hardware users :: [ NI's VirtualBench User Group ]
    Get with your fellow OS users :: [ NI's Linux User Group ] [ NI's OS X User Group ]
    Get with your fellow developers :: [ NI's DAQmx Base User Group ] [ NI's DDK User Group ]
    Senior Software Engineer :: Multifunction Instruments Applications Group
    Software Engineer :: Measurements RLP Group (until Mar 2014)
    Applications Engineer :: High Speed Product Group (until Sep 2008)

  • SPDIF "No Digital Data"

    ![ I have had problems with SPDIF "locking" and not letting any sound through mainly with PCM, but lately AC3 streams wont return after I pause and unpause or seek in MPC-HC and my Z-5500 shows message "No Digital Data". I used to "unlock" SPDIF with closing iTunes but now it doesn't always help and I found that system volume mute/unmute hel
    ps.
    Usually speakers show PCM 96-24 and mostly this doesn't change when I play something, but sometimes it does change to PCM 48 or 44 and often after this when I pause or stop playing it "locks" to "No Digital Data". I use Audigy 4 under XP and it seems that after installing latest drivers this problem got a little worse (AC3 locking is really annoying). Is there any solutions to this or am I stuck with always closing programs and muting/unmuting volume?

    So am I the only one with this annoying problem? I'm tired of muting/unmuting or closing programs after every pause or seek or sometimes even after sound stops playing.

  • Record digital data

    I am having a problem writing digital data to a file. I am using the example VI Multi-Function-Synch AI-Read Dig Chan.VI
    I am aquireing 6 channels of digital and 15 channels of analog synchronusly (at the same rate), and I need to write the time stamped digital data to a file ordered in columns. When I convert the data to analog then use the Write LVM express VI it records all the data into one column. I just need to save the time stamed digital data to a file. It should not be that hard to do, I just can't figure it out.
    Thanks
    Scott Donahue

    Scott,
    I took a look a the example program you mentioned and have made some edits to it in order to get the digital data and analog data in the same file with the "time stamps". The time stamps can actually be calculated by looking at the T0 and adding dT to it depending on which sample you're concerned with. For example, if T0 = 12:01:00.00 pm and you are sampling at 10 samples per second, then dT = 0.1 seconds and the fifth sample's time stamp would be 12:01:00.50 pm. Hopefully the attached code will act as a guide to solving the problem and may even completely solve the problems itself. Post if you have any more questions.
    Best Regards,
    Chris C
    Applications Engineering
    National Instruments
    Chris Cilino
    National Instruments
    LabVIEW Product Marketing Manager
    Certified LabVIEW Architect
    Attachments:
    Multi-Function-Synch AI-Read Dig Chan edit.vi ‏246 KB

  • Is it possible to read digital data using an external clock (PCI-6259 M)?

    I’m using a NI PCI-6259 M Series card and trying to write my program in VC++6.0 using the functions in the DAQmx driver.
    Question1: Not all functions listed in the NI-DAQmx C Reference Help seems to be supported by my NI-card, where can I find information about which of the functions that are supported?
    Question2: I want to read data from a device that clock out data on the falling edge of a clock signal. The clock signal and the data signal are routed to two DIO terminals on the NI-card. The question is if it is possible to read data using the clock as a sample clock? See two code examples below that doesn’t work. In both cases 10 samples are read at once, even if the external clock is not present.
    Example 1
    // Create tasks
    Status = DAQmxCreateTask("", &m_ReadTrimTask);
    // Set up read task
    status = DAQmxCreateDIChan(m_ReadTrimTask, "Dev1/port2/line0", "", DAQmx_Val_ChanPerLine);
    status = DAQmxCfgChangeDetectionTiming(m_ReadTrimTask,"Dev1/port2/line6","Dev1/port2/line6",DAQmx_Val_FiniteSamps, 10);
    // Read data
    int32 sampsPerChanRead, numBytesPerSamp;
    status = DAQmxReadDigitalLines(m_ReadTrimTask, 10, 10.0, DAQmx_Val_GroupByChannel, result, 10, &sampsPerChanRead, &numBytesPerSamp ,NULL);
    Example 2
    // Create tasks
    Status = DAQmxCreateTask("", &m_ReadTrimTask);
    // Set up read task
    status = DAQmxCreateDIChan(m_ReadTrimTask, "Dev1/port2/line0", "", DAQmx_Val_ChanPerLine);
    status = DAQmxSetSampTimingType(m_ReadTrimTask, DAQmx_Val_SampClk);
    status = DAQmxSetSampClkRate(m_ReadTrimTask, 1000.0);
    status = DAQmxSetSampClkActiveEdge(m_ReadTrimTask, DAQmx_Val_Falling);
    status = DAQmxSetSampClkSrc(m_ReadTrimTask, " Dev1/port2/line6");
    // Read data
    int32 sampsPerChanRead, numBytesPerSamp;
    status = DAQmxReadDigitalLines(m_ReadTrimTask, 10, 10.0, DAQmx_Val_GroupByChannel, result, 10, &sampsPerChanRead, &numBytesPerSamp ,NULL);

    Hello Magnus,
    Thank you for contacting National Instruments.
    "Question1: Not all functions listed in the NI-DAQmx C Reference Help seems to be supported by my NI-card, where can I find information about which of the functions that are supported?"
    The best place to look for this information would be the M Series Help Manual. There you can find the features of your PCI-6259 and what operations it supports.
    "Question2: I want to read data from a device that clock out data on the falling edge of a clock signal. The clock signal and the data signal are routed to two DIO terminals on the NI-card. The question is if it is possible to read data using the clock as a sample clock? See two code examples below that doesn’t work. In both cases 10 samples are read at once, even if the external clock is not present."
    Look at the "ContReadDigChan-ExtClk_Fn.c" example project which ships with the NI-DAQ driver. This is located at: C:\Program Files\National Instruments\NI-DAQ\Examples\DAQmx ANSI C\Digital\Read Values\Cont Read Dig Chan-Ext Clk.
    You will have to make some minor modifications to convert this to a finite acquisition, but that is simply a matter of changing the "sampleMode" parameter of the DAQmxCfgSampClkTiming() function. You will also have to route your clock signal to a PFI line and specify which line in your code.
    I hope this helps.
    Sean C.
    Applications Engineering
    National Instruments

  • TDMS HCM data transfer - no data transferred to receiver and no errors

    Hi,
    I am experiencing problems with a "Package for HCM Personnel Dev. PD & PA Receiver " for my client who has approximately 800 employees.
    I have no errors in any of the phases, and I can see the TDMS SEND and RECEIVER jobs executing during the data transfer. However, the data transfer phase executes for approximately 1-2 minutes but when I check the tables in the RECEIVER the tables (such as HRP1001) are empty.
    There are 42 tables selected, and CNVHCM_TR_TAB contains 1533 entries.
    Below is a sample from the 'Transfer Selection Criteria' phase:
    Transfer Target - System ECR / Client 210                                                                               
    The Transfer Program ran in PA Delete Mode                                                                               
    The Transfer Program ran in PD Delete Mode                                                                               
    Object Type: C // Total number: 5                                                                               
    Object Type: O // Total number: 5                                                                               
    Object Type: P // Total number: 28                                                                               
    Object Type: S // Total number: 31                                                                               
    Table HRITABNR - Time(ms) 10 - Entries 3                                                                               
    Table HRP1000 - Time(ms) 57 - Entries 65                                                                               
    Table HRP1001 - Time(ms) 39 - Entries 158                                                                               
    Table HRP1007 - Time(ms) 38 - Entries 5                                                                               
    Table HRP1018 - Time(ms) 39 - Entries 3                                                                               
    Table HRT1018 - Time(ms) 17 - Entries 3                                                                               
    Table PA0000 - Time(ms) 53 - Entries 47                                                                               
    Table PA0001 - Time(ms) 83 - Entries 76
    So I would reasonably assume that if there are no errors anywhere in the Sender, Receiver or the Central system - that table HRP1001 would contain an extra 158 entries or PA0001 would contain 76 entries. This is not the case PA0001 is empty and HRP1001 contains the same number of rows as before the Data Transfer executed.
    Has anyone come across this situation before, or got suggestions on troubleshooting the cause of no data transfer when all the phases are green.
    Any assistance is appreciated. Regards,, Sheryl.

    Hi Poonam,
    The reason why there is no extra PA* tables above is that this was just a short snapshot of the tables, those tables are included.
    I have selected the following for the Data Transfer:
    Plan Version = 01
    Object Type = O
    Object ID = 500383 (Contracts)
    Objects Status = All Existing
    Evaluation Path = BSSORG
    Status Vector = 1
    PD Selection tab:
    Use Current PD Selections - ticked
    Transfer PD Infotypes - 0000 to 9402 - ticked
    All other PD values unticked
    PD Delete and Target options:
    Delete target area - ticked
    Target plan version = 01, and transfer 1:1 without change chosen
    Root options:
    Without new root - chosen
    PA Selections
    Use current PA selections - ticked
    Transfer Master Data - Infotypes 0000 to 9402 - ticked
    Transfer Cluster Data - ticked
    Transfer Central Person - ticked
    Partial cut-off date - 01.07.2011
    PA Delete and Target Options
    Delete Target Area - ticked
    Target PERNR Options - Target range - 700000 to 99999999, maximum number range= 99999, transfer 1:1 without change (chosen)
    When I choose CONFIRM ONLINE the only warning messages I receive in the log file is (there are no error messages):
    No CP Object Type records will be transferred from the sender system
    Table PA3xxxx / PERNI is not registered as being released
    Table HRPxxxx / PERNI is not registered as being released
    Table PA09xx / PERNI is not registered as being released
    Hi Toribio,
    When I run the test with PD and PA Authorisation with granularity 04 I get no messages on the next screen. All users have SAP_ALL. SAP_NEW, SAP_TDMS_MASTER, SAP_TDMS_HCM_MASTER plus extra specific HR authorisations for PA and PY.
    Thankyou both for your assistance, hopefully we can get to the bottom of this problem.
    Regards,
    Sheryl.

  • Concatonat​e TDMS file data to live data

    I am monitoring 20 or 30 channels at any given time and storing all data to a TDMS file (LV 8.6). At any given time we are only displaying 3 channels on a waveform chart. The chart displays 5 minutes of data. say for the first minute I am viewing channels 1, 2, & 3. Then I switch over to 4 - 6 but in addition to the live data coming in I want to see what has happened since the test started a minute ago (or up to 5 minutes ago), as if I had been viewing these three channels all along.
    What I have tried is to read the stored data from the TDMS file, copy the most recent data (up to 15K samples = 5 min at 50Hz). Then I take the live acquired waveforms, break out the array of  Y values, concatonate with the Y values from file and rebuild the wavform. But it isn't workin. Seems like it should but I don't know what is wrong.
    Any ideas?
    Lawrence M. David Jr.
    Certified LabVIEW Architect
    cell: 516.819.9711
    http://www.aleconsultants.com
    [email protected]
    Attachments:
    extendedWaveforms.vi ‏15 KB

    well I tried using the "ignore attributes" property, both above the 'value' property, and below (top down ordering - didn't make any difference). Also I verified that the data is being concatonated; normally we are adding one point to the plot every 50mS, when we toggle to a different set of channels, the Y component of the waveform is not an array of one element but of (in this shot anyway) over 9000 elements. the screne seems to flash with a block of data and then the plot resumes filling 1 point at a time from the present time stamp. Maybe I can set an attribute of the x axis to be an earlier timestamp based on the number of points in the Y array?
    Lawrence M. David Jr.
    Certified LabVIEW Architect
    cell: 516.819.9711
    http://www.aleconsultants.com
    [email protected]
    Attachments:
    propertyNode.JPG ‏11 KB
    probes.JPG ‏45 KB

Maybe you are looking for