Write to measurement file timing

I am trying to make a VI that allows the user to turn on and name channels through the front panel. After the user has configured the channels, they can push a button and record voltages from the enabled channels and save them using the "Write to Measurement File".vi.  I would like the user to be able to record a measurement file that is consistent in length each time they push the button...in this case, 5 seconds of data.  The current VI doesn't appear to be doing this...everytime I push the record button, the data gets recorded for 0.045 seconds.  Apparently I must be missing something as this isn't behaving how I expected it to.  See attached VI.
Attachments:
Select Channel rev 3.vi ‏244 KB

It waits 5 seconds then saves the last 10 samples.  Because that is the way you programmed it.  The while loop returns only the data from the last iteration.
Two ways to do what you want: 1. Read 5 seconds * 200 samples/second = 1000 samples.  No loop required.
2. Read 10 samples at a time and accumulate the data until you have 5 seconds of data.  To avoid memory reallocations the way to do this is to Initialize an array with 1000 elements outside the loop. Wire it to a shift register.  Inside the loop Read the samples and use Replace Array Subset to put the new data into the initialized array. Wire the output of the shift register to the file VI.
You generally should not put any time consuming code inside an event structure.  Read the caveats in the detailed help for the event structure.  Consider a Producer/Consumer architecture.
Lynn

Similar Messages

  • Write to measurement file

    Hello,
    I have to measure my spectrometer values every thirty seconds and have to write it to a text file. I need to create a new text file each time for writing my values. So i used the write to measurement File option for doing this. The problem is that this block measures the values only every one minute, but i need to measure the values every thirty seconds. Could any one help me out with this ?
    Thanks in advance
    Swarna

    Some issues you have for the timing part of your code:
    1. Use the Time has Elapsed output of the Elapsed Time VI.  It already does the comparison for you, so just use it.
    2. I'm pretty sure you want the Write Measurement File to be in the TRUE case.
    3. Use the AutoReset option on the Elapsed Time VI.
    But those do not point to a data point every 1 minute.  How long does it take your instrument to do the sweep before sending it to you?  I have seen some take a long time, so it is worth looking into.

  • Write to measurement file at every n iterations

    Hi guys,
    I would like some help with saving data in labview 2010 SP1 (base development system). I am using a "Write to measurement fil express VI" inside a while loop and the data out from the DAQmn Read is wired to the signal in of the "Write to measurement fil express VI".
    The way I have wired it is the VI saves the data as a text file after it has recorded 100 samples (the nuber of samples to read in this case was set to 100). I would like to know if there is a way to control the rate at which the express VI saves the data. As in, I want the express VI to save the data at specified time interval or at every nth iteration. I have attached the main VI and its 2 sub-VIs for reference. Please let know if anyone can help me resolve this issue. Thank you for your time and inputs in this regard.
    Raj

    Robert,
    First, you must understand that the above code resides inside a loop. The blue square i terminal is known as the iteration terminal. It provides the current loop iteration count, starting from zero.
    The first input (x) to the Quotient & Remainder Function comes from this iteration count (i) terminal of the loop.
    The second input (y) to the Quotient & Remainder Function comes from the control N.
    We wish to write to the measurement file every N iterations of the loop. If we take our current iteration count (i) and divide by our desired N, every Nth iteration of the loop, the remainder will be zero. For all other iterations, the remainder will be non-zero.
    That being said, we check the remainder and compare it to zero. If it is zero, we will send a True value to the Enable terminal on the Write To Measurement File Express VI. Any time a True value is sent, we will write to file. Anytime a False value is sent, nothing will be written to the file.
    The green new_file input on the Write To Measurement File Express VI is used when the "Save to series of files (multiple files)" radio button is selected in the Configure dialog box of this Express VI. When "Save to one file" is selected, this option does not apply, and so it is not included in the input list, which is why you are not seeing this.
    This new_file input is used to tell the Write To Measurement File Express VI when to start writing to a new file.
     

  • Hi am trying to save Data into a write to measurement file vi using a NI PXI 1042Q with a real time mode but it is not working but when i run it with uploading it into the PXI it save in to the file

    Hi am trying to save Data into a write to measurement file vi using a NI PXI 1042Q and DAQ NI PXI-6229 with a real time mode but it is not working but when i run it without uploading it into the PXI it save in to the file please find attached my vi
    Attachments:
    PWMs.vi ‏130 KB

     other problem is that the channel DAQmx only works at real time mode not on stand alone vi using Labview 8.2 and Real time 8.2

  • Labview 9.0: Error 1 occurred at Write To Measurement File

    Hi
    Our University recently got the latest version of Labview (9.0 32-bit) which I installed today.The labview file I am using (my6008v6.vi)  used to work fine with the older version (8.5 i think). My write-to-file VI is enabled at certain time intervals in order to log data. As soon as it is enabled for the second time I get the following error:
    Error 1 occurred at Write To Measurement File->Copy of murray6008v6.vi
    Possible reason(s):
    LabVIEW:  An input parameter is invalid. For example if the input is a path, the path might contain a character not allowed by the OS such as ? or @.
    =========================
    NI-488:  Command requires GPIB Controller to be Controller-In-Charge.
    I made a simple file (simplew2f.vi) to test this, with a button which I can press to enable/disable the writing of data. I am able to start writing data and then stop writing data but as soon as I try resume the writing the same error occurs.
    This confuses me greatly since this wasn't a problem using the old version and my Labview knowledge is minimal. Any help would be appreciated.
    Attachments:
    my6008v6.vi ‏214 KB
    simplew2f.vi ‏64 KB

    So, which VI are you having problems with?  Sounds like both...
    Okay... - sigh - where to start....   
    Well..  Let's start with a few comments. 
    1.  Try to stay away from the Express VI.  I know the Marketing guys at NI will not like me for saying so, but I am saying so.  They are a nice marketing feature that Grumpy Old Men like myself do not like.   They make it easy to write quick code..  And I will limit my comments to that.  (It's not your fault.. )
    2.  The wiring on your diagram is not clear or easy to read.  Yes, with additional time and double-clicking each wire I can tell where they are going.  However, a rule of thumb, alway wire from Left to Right.  Never right to left.  And do not run the wires under objects, even the ones you are wiring to.
    3.  simplew2f.vi:  You should put a small delay in the While Loop.  I ran it three times and it wrote to the files without error.  And yes, I used LV2009.
    4.  my6008v6.vi:  Avoid wiring from the top of the While Loop.  At frist, it looked like the data was coming out of the While Loop because the wires went to the left side of all the index node of the Index Array function.  
    You should set your Browse Option for the file path to "Files or Folders" and "New or existing".  I did that and I was not getting the error message you described.
    R
    Message Edited by Ray.R on 03-03-2010 08:33 AM
    Attachments:
    pathProperty.PNG ‏13 KB

  • Formatting the time stamp in "Write LabVIEW Measurement File"

    When I use the "Write LabVIEW Measurement File" vi to write data
    the files first column contains the number of seconds since the staart of the file
    How can I get the computer date and time or at least the time HH:MMS???
    Tom
    PS, And how can I put some sensible label on each columns in the file?

    Tom,
    The vi I'm attaching demonstrates how to use the computer system time for the timestamp on your LVM file. It takes a reading from the DAQ Assistant and applies a system time stamp. It's in version 7.1, but let me know if you need it in version 7.0.
    As for inserting meaningful column headers, you won't be able to do that with the express vi, but you could use the regular file i/o vis to create a file like that is similar to a LVM file, but is a little more customizeable and can be formatted however you like. The express vi is meant to be a quick solution, but does not offer all the versatility of the vis on the palette. I hope this helps you out. Have a good one, Tom!
    Tyler S
    Attachments:
    LVM_timestamp_7_1[1].vi ‏265 KB

  • How to put the proper header at each column in write to measurement file (.lvm) ?

    Hi,
           i would like to know one thing about the write to measurement file. Can i put the proper header at each column in write to measurement file (.lvm) ? and how can i do for it ? Could you show me a way to make it ?
    i am looking forward your kindly reply.
    thank you so much ..
    best regard,
    roxy

    Hi Mike,
                  Thank you very much for your help. It works .
    By the way, i would like to ask you about setting time interval. In the pic, X_Value column is for time column
    i would like to ask that when i use the write to measurement file, there got the x column that show time inside the excel file. In this column, i would like to set the time interval at every 210ms .The data may come in every msec but i just want to record the data at every 210ms .  for example, 210ms-420ms-630ms ..etc. how can i set it ?
    One more thing .. can i do it in graph as well ?
    i am looking forward your kindly reply.
    Thank you for your time.
    Best Regard,
    Roxy

  • Quickie: Write to measurement file VI, how to create new file?

    I am using the write to measurement file express VI in my code and I have wired into it a control that sets the location to save the measurement file
    The only problem is the measurement file has to exist first!! I cant for example, from the front panel, click the browse directory box, navigate to a folder and type in a name for the file. It just says file not found! Its like the file directory control is opening a file to save to, rather than creating a new file in that location
    How can I solve this?
    Solved!
    Go to Solution.

    Project attached
    If I go in browse options what do i do? Just chose new and existing files?
    Attachments:
    engine.zip ‏119 KB

  • Remove milliseconds from timestamp in write to measurement file

    I'm logging data to a binary tdms file using the write to measurement file express vi. I choose my x axis to be time and see that an absolute timestamp is written with millisecond precision. I only need to-the-second precision. Is there anyway to change this default behavior?
    Attachments:
    remove.png ‏10 KB
    remove.png ‏10 KB

    Where is your data coming from. When I open the express vi to look, it looks like the time format doesn't determine that, but the
    signal data cluster coming in does. So where does the data come from, and in what form?
    Putnam
    Certified LabVIEW Developer
    Senior Test Engineer
    Currently using LV 6.1-LabVIEW 2012, RT8.5
    LabVIEW Champion

  • Strange data saved by write to measurment file

    Hi all,
    I have developed a simple program that permits to visualize data from a channel, but it records data, just when the saving data button is pressed. Data are saved through write to measurment file, but unfortunately there is something wrong since the saved data is strange. In the attachment there are the VI file and the saved data.
    As you can see there are several header and dates are strange (i.e. the saving date is 23/12/1916) and I get much more sample than I should have. Why do I get this?
    Any suggestion is appreciated.
    23/12/1916
    Solved!
    Go to Solution.
    Attachments:
    simulated_data.xlsx ‏1426 KB
    read a channel and save data.vi ‏63 KB

    Your many headers may be because of this:
    Beginner? Try LabVIEW Basics
    Sharing bits of code? Try Snippets or LAVA Code Capture Tool
    Have you tried Quick Drop?, Visit QD Community.

  • Include time stamp in Write to Measurement file

    Dear Experts,
    I would like to include the time stamp in the data sheet I saved using a Write to Measurement file. Currently only 1 column of data was saved without the time stamp. Is there anyway I can save the data together with its time stamp in a single file (side by side column)? 
    Thank you.
    Regards,
    CYTeoh

    Did you configure the Express VI to create a time channel:
    Christian

  • Problem with Write To Measurement File Express VI not writing to file if file was deleted after the first call (7.1)

    I'm using the Express Write to LabVIEW Measurement File in LV7.1.
    I have it set to "Save to one file"  and have tried both "Overwrite file" and "Using next available file name" for the "If a file already exists" conditions.
    The path/filename is passed into the function.
    It works fine the first time around.  If the file is deleted before the function is called again, an error occurs since LV is unable to find the file.
    I have had to stop and re-run my program in order to write to use the function again.
    Since I am able to delete the file I assume it was closed but it seems like LV expects it to be there, even though the function was supposed to create/open/close the file...  Is there any way to reset this without stopping/restarting the program?
    Since my application creates several files (only one using the Express VI) I am checking for the filenames and requiring that they be deleted (or a new filename be used) before acquiring data.  Everything has worked great, except for the Express VI.
    Thank you,
    David

    Ok, I've edited the VI you posted to reproduce my error (this time with 8.0). 
    I added a "master stop" and "start log" button.  To demonstrate my problem:
    1.  Run the VI
    2.  Click "START LOGGING" - c:\test.txt is created
    3.  Click "STOP" - c:\test.txt is closed
    4.  Delete the file c:\test.txt with Windows shell or explorer
    5.  Click "START LGGING" - a new c:\test.txt file should be created but instead an error is raised in the Write LabVIEW Measurement File function.
    Any ideas?
    Thanks,
    Dave
    Attachments:
    Write LV Meas File 2.vi ‏96 KB

  • How to populate column titles for y values when using Write to Measurement File Express VI with a tab delimited text-based .lvm file?

    The .lvm file generated by the Write to Measurement File Express VI includes column heading titles for the y values, but they are a default value of "untitled".  See attached example of a sample file when opened in Excel, the values in question are highlighted.  Is there a way to specify the column titles when the file is written?
    This is a similar question to this posting, which received a work around response to use the Write to Spreadsheet File.vi, rather than a solution when using this VI.
    Message Edited by Hightop Raven on 05-02-2007 03:37 PM
    Attachments:
    column_titles.gif ‏13 KB

    Sorry for the late reply.  I was out of the office Friday.
    You can do it, but the code can get rather ugly.  Under the hood, the dynamic data type (the dark blue wire) is an array of waveforms.  In your case, the scalar values you convert to a dynamic data type are being converted to an array of waveforms, each waveform having one element.  You have two options.
    Explicitly convert your scalars to one-element waveforms (t0=0, dt=1) and add the title before conversion to a dynamic data type.
    Convert your dynamic data type to an array of waveforms and loop through them to add the column labels.  The conversion blocks are in the Signal Manipulation Express palette.
    I would recommend 2, since it is the easiest to add.  It is also the easiest to run only on the first iteration.  Just put a case selector around the loop, wire the selection to the While loop iterator, and set the case containing the label code to 0.  The default case simply passes through the dynamic data.
    My apologies for not including a screen shot.  I am in the process of upgrading my machine and can't run LabVIEW.  If you need one, let me know and I can post one tomorrow.
    This account is no longer active. Contact ShadesOfGray for current posts and information.

  • Capturing data using write to measurement file for encoder

    hello dear,
    can anyone help to check with my encoder to measure data?
    i have connect the write to measurement file but when i open the .txt file,
    no result appear, thanks so much for your help
    Solved!
    Go to Solution.
    Attachments:
    encoder capture.vi ‏180 KB

    well, I have never used that method to write data to a file, but if you double click on your write the write LabVIEW measurement file object and look at the configuration you have selected save to a series of files.  Is that what you wanted, or did you just want one file?
    Jim
    Jim
    LV 2013

  • Help with saving time stamps to "write to measurement file" excel format.

    I am having problems saving the timestamps from my data to the write to measurement express vi for excel.  My incoming data is converted from dynamic data to a 1d array for processing, which I understand you lose the time stamp data. I added a new array for time stamps but this array then cannot be converted back to the dynamic data that is requested to go into the write to measurement file express vi.  I would prefer to leave the data in an array to be saved rather than converting it to a waveform so is there any way to add the time stamps from my 1d array back into the write to measurement file? 

    I set it up to build a waveform now but I am still having issues with it saving the correct timestamp.  The time just incriments for every second (as it did before converting the dynamic data to the waveform). I attached a screenshot.  
    Attachments:
    waveform.png ‏36 KB

Maybe you are looking for

  • Win 7 can't find inf file through network.

    I have an old hp G85 that works great. i have the printer connected via usb to a computer that is running windows xp and that computer is connect via network cable into the wireless router. my other laptop is running win xp and works fine using a wir

  • OSB - how to handle poll file error in FTP Proxy Service

    I configed a proxy service to poll file from a FTP server. How can I capture the error when the proxy service cannnot poll? (FTP server is down, folder not found, username invalid, etc ) I want to make it show in the Operations >Message Reports table

  • How do I scan a photo and move it to iPhoto?

    I know that I can transfer images from my printer to iPhoto because I've done it before. I guess it's been a long time and I've forgotten how. I've tried placing a photo on my HP Deskjet 4480 glass and pushing scan. I just get multiple print outs and

  • How to recover recent calls history deleted by mistake

    does anyone know how to recover recent calls history deleted by mistake on my iphone

  • How to identify which Hub is at 0x4b300000

    Most recent instances; 2/18/12 9:13:19 PM kernel USBF: 160.386 AppleUSBHubPort[0xb52b200]::FatalError - Port 4 of Hub at 0x4b300000 reported error 0xUSBF: e00002eb while doing 160.setting port power 2/18/12 9:13:35 PM kernel AppleUSBHubPort[0xb533500