Saving waveform to retrieve it back to display on waveform graph

I want to save a waveform that I acquire through my hardware and display it on a sweep chart. Its a time based voltage acquisition. I tried using write to spread sheet or save waveform options in LabVIEW 2009. But when I tried to read it, it only shows me 1 cycle of data(I will be suing a graph here because I want to add cursors to it). I want the exact same whole waveform to be displayed on a graph as I had acquired it. I want to avoid using express vi's since I will be acquiring 10 channels simultaneously so I dont want to slow down the execution speed.
I am attaching the base vi that i made to read and write the waveform to a file(I am using simulate signal in this attached vi just to simulate a square wave and check my logic functionality).
Can anyone help, please!
Thanks in advance.
Attachments:
ro_up_read.vi ‏17 KB
ro_up_write.vi ‏53 KB

First of all, the "Append" should only be True when i does not equal 0.
Secondly, you are only dealing with 1 signal, so have the dynamic data converter output a 1D array of scalers.  I then found that I had to transpose the spreadsheet on both sides (read and write).
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
Attachments:
Write and Read Simulated Signal.png ‏86 KB

Similar Messages

  • Saving "Waveform graph" with cursors, set of different colors, in an image file

    Hello:
    I'm trying to save to a file, a waveform of a "waveform graph" that has cursors, which have different colors. When opening the file I can see that the waves are plotted defined color, but the grids and cursors are colored black.
    Someone can tell me what to do, so that the file is saved with the original colors of the "waveform graph"?
    Best Regards

    Probably this is happening because you are using the Invoke node Image Export, which captures an image with less information. However, if your application allows, using the Invoke Node Get Image, which captures your control, displays all the colors of your waveform, include cursors and grids colors.
    In this link bellow, you can see how use this Invoke Node:
    http://digital.ni.com/public.nsf/allkb/5AE4ADCBB65A6D8F86256FBF007A1AC1?OpenDocument
    I hope this helped you. Success in your application.
    Regards.
    Wesley Rocha
    Applications Engineer
    National Instruments Brazil
    www.ni.com/suporte
    Wesley Rocha
    Application Engineer
    National Instruments Brazil
    Visite a nossa comunidade em PORTUGUÊS!!!

  • Flush data TDMS, programmatically saving data and retrieval

    Hi all,
    The purpose of this LabView is to simulate a DAQ&writting-to-file scenario. The first loop creates the data, within this loop, if the user pushed the write to file toggle switch, the data will be queued and then sent to a TDMS file writing loop (second loop). Finally the last loop retrieves the saved data and displays it in the scroll bar Waveform graph.
    If TDMS-OPEN VI option operation option is "open or create"; at first the program seems to work fine but if I want to run the program again, new values will be appended to the ‘first run’ values. The correct operation would be to rewrite or replace the old file and save it with new values (keep same file name). The most logical thing to do is to change the option of the TDMS OPEN to “create or replace” but this doesn’t work and the data or file is not even created.  I do not understand why this is happening.
    Thanks in advance for your help
    호아킨
    Solved!
    Go to Solution.
    Attachments:
    Waveform with optional file writting.vi ‏30 KB

    For the "False" case frame, it's fine to wire the case structure terminal to the while loop condition terminal, or just wire a "F" boolean constant to it, both way shuold work.
    To stop the VI by clicking only one stop button, I think you should use a global STOP button for all the while loops. For example, you can wire this STOP button to the loop condition terminal of your DAQ while loop, and use two local variable copies of this STOP button in the other write and read while loop. Then all the loops are controlled by the common switch, once it is clicked, the VI will stop running.
    By the way, you should configure this STOP button's properties as below dialog(Right click >> Properties), otherwise the VI might be broken because the local variable copy doesn't work.

  • Transition measurement vi cursors displayed in waveform graph are moving outside of scale

    Using a waveform graph to display pressure over time. I wanted to be able to calculate the fall time of the pressure over time so I'm using the Transition Measurement vi. I copied exactly what was in the example for transition measurement inside help and it is correctly determining the falling transition time but I am having a problem with the cursors on the waveform graph. I should be seeing a set of green vertical cursors marking out the fall start time and fall end time like in the picture I've attached (capture2) like in the example. The problem is they both always start at 3.43 (capture1) and after each sample period they increment by one (4.34, 5.34, 6.34) The come right out of the bundle from the transition measurement output as those numbers. The period of the signal I'm interested in is always less than 2 seconds, so I never see the vertical cursors.
    I've tried substituting my daq signal with a sine wave generator and it does the same thing.
    The block diagram is in the first capture
    also I would be interested in finding out exactly how the numbers wired to the active cursor property of the property node for a waveform graph relate back to the actual cursors on the graph. Are they just automatically numbered starting with 0 from the top-down?
    Wayland
    Solved!
    Go to Solution.
    Attachments:
    Capture.PNG ‏44 KB
    Capture1.PNG ‏7 KB
    Capture2.PNG ‏29 KB

    Hi Wayland,
    The reason the cursors are always apparent in the example VI for the Transition Measurement.vi, is because the signal being generated is always resetting. So, the signal resets to a 'new' signal for the cursors to go over and therefore always remain in the somewhat same location. The Waveform Graph is also configured in such a way that it will not move or continue to show new data coming in, the data cursors have moved onto. So in your case, you will want to right click the graph and make sure "Ignore Time Stamp" is not checked/selected. This will make it so the graph keeps up with your incoming data and the cursors. You can check this in the example file by removing the True Constant going to the waveform generator and changing the time stamp option previously mentioned.
    In order to view the available cursors and their numbered position, you can right click on the Waveform Graph and select properties. In the properties window there is a Cursors tab, inside this tab at the top is a drop down menu that lists all of available cursors, indexed starting with 0 at the top.
    -Jake B.

  • HT201356 I have accidentally deleted my alternate iCloud (email) address. Are there any possibilities to retrieve it back because my iPad is connected to that email address, and now, I can't log out from it on my iPad, because it doesn't exist?

    I have accidentally deleted my alternate iCloud (email) address. Are there any possibilities to retrieve it back because my iPad is connected to that email address, and now, I can't log out from it on my iPad, because it doesn't exist.
    I have alternate icloud email attached to my iPad and I accidentally delete it from appleid.apple.com. And now I can't log out that iCloud account because it doesn't exist and it can't recognize my password.

    If you mean that Find My Phone is asking for a password to a different Apple ID to your current Apple IDand that ID is a previous version of your current ID, not an entirely different one.
    This feature has been introduced to make stolen phones useless to those that have stolen them.
    However it can also arise when the user has changed their Apple ID details with Apple and not made the same changes to their iCloud account/Find My Phone on their device before upgrading to iOS 7, or if you restore from a previous back up made before you changed your details and some other circumstances.
    The only solution is to change your Apple ID back to its previous state with Apple at My Apple ID using your current password, you don’t need access to this address if it’s previously been used with your Apple ID, once you have saved these details enter the password as requested on your device and then turn off "find my phone" and delete the account from your device. It may take a short while to remove the account.
    You should then change your Apple ID back to its current state, save it once again and then log back in using your current Apple ID. Finally, turn "find my phone" back on once again.
    This article provides more information about Activation Lock.

  • I am using Lightroom 5 and am hapy about it, but recently I hav encountered a problem when trying to edit an image in another program, i.e. Elements. I used the clone tool, saved the result and went back to Lightroom to open the image there. I did find a

    I am using Lightroom 5 and am hapy about it, but recently I hav encountered a problem when trying to edit an image in another program, i.e. Elements. I used the clone tool, saved the result and went back to Lightroom to open the image there. I did find a second copy, but this is identic with the one I already had in Lightroom, and I can see noe result of the clone process.

    At the moment I would say it is uncertain whether Acrobat is completely ignoring the change, or whether the changes you are making aren't affecting the ink density. I have a suggestion for a test you could make to see which is the case.
    When editing in Photoshop just add a box or mark on the image, for your tests.
    - If this box does not appear in Acrobat, you know Acrobat is not seeing the edit
    - If this box does appear in Acrobat, you know the problem is that your tool for changing ink densities is not taking effect.

  • Backed up my songs from itunes onto a hard drive and now my playlists in itunes are gone! How do I retrieve them back to the way it was before?

    Help! My husband backed up my songs from itunes onto a hard drive and now my playlists in itunes are gone from my library! How do I retrieve them back to the way it was before?

    Hello Nataroo007,
    Thank you for using Apple Support Communities!
    There is a file in the iTunes library folder that contains your playlist information is the iTunes Library.xml file.
    Try and find the file, usually located in one of these locations depending on your OS:
    Operating System
    Default location of iTunes Folder
    Mac OS X
    /Users/[your username]/Music
    Microsoft Windows XP
    \Documents and Settings\[your username]\My Documents\My Music\
    Microsoft Windows Vista
    \Users\[your username]\Music\
    Microsoft Windows 7
    \Users\[your username]\My Music\
    Then you can import this file to your iTunes Library like this:
    1. Choose File > Library > Import Playlist.
    2. Navigate to the "iTunes Library.xml" file
    3. Windows users: Click Open.
    If your Podcasts list in iTunes is empty after following these steps, learn how to add them back into iTunes.
    Note: information in this post comes from article:
    iTunes: How to re-create your iTunes library and playlists
    http://support.apple.com/kb/HT1451
    Cheers,
    Sterling

  • Display in a waveform graph

    Hello, I need a solution for the follow problem:
    How can I display a generated pulse train by 'DAQ CREATE VIRTUAL CHANNEL CO PULSE FREQ'. After that that mentioned I have a 'DAQ START TASK' and then 'DAQ CLEAR TASK'. I have no idea, because the DAQ READ is the only function I know which has a adapted output to connect with a waveform graph, but DAQ READ doesn't work . I hope for a fast answer, it's very urgent. THANK YOU VERY MUCH..
    Marco

    Tank you for the tip but I can't really solve the problem. Maybe you can look at the .vi in the attachement and give me a further advice how I can display the pulse in the diagramm.
    Thank you very much
    Marco Speicher
    Attachments:
    generate dig pulse -show in waveform.vi ‏63 KB

  • How to store images in database and retrieve them back to page?

    Well I don't know how to store an image file to a database (say MSSQL) from the JSP and retrieve it back whenever needed and put it on the JSP page? Please help me.

    I am not sure how to store images in database but what you can do is store the image into particular folder using FileOutputStream and its unique name into the database...and than retrieve it from the folder using that name retrieved from database...
    <%
    response.setContentType("text/html");
    response.setHeader("Cache-control","no-cache");
    String err = "";
    String lastFileName = "";
    String contentType = request.getContentType();
    String boundary = "";
    final int BOUNDARY_WORD_SIZE = "boundary=".length();
    System.out.println("contentType --> "+contentType);
    System.out.println("BOUNDARY_WORD_SIZE --> "+BOUNDARY_WORD_SIZE);
    if(contentType == null || !contentType.startsWith("multipart/form-data"))
    err = "Ilegal ENCTYPE : must be multipart/form-data\n";
    err += "ENCTYPE set = " + contentType;
    else
    boundary = contentType.substring(contentType.indexOf("boundary=") + BOUNDARY_WORD_SIZE);
    System.out.println("boundary --> "+boundary);
    boundary = "--" + boundary;
    try
    ServletInputStream sis = request.getInputStream();
    byte[] b = new byte[1024];
    int x=0;
    int state=0;
    String name=null,fileName=null,contentType2=null;
    java.io.FileOutputStream buffer = null;
    while((x=sis.readLine(b,0,1024))>-1)
         System.out.println("************ x ********** "+x);
         String s = new String(b,0,x);
                   System.out.println("************ s ********** \n"+s);
         if(s.startsWith(boundary))
         state = 0;
         System.out.println("name="+name);
         System.out.println("filename="+fileName);
         name = null;
         contentType2 = null;
         fileName = null;
         else if(s.startsWith("Content-Disposition") && state==0)
              System.out.println("-- 1 --");
              state = 1;
              System.out.println("s.indexOf(filename=) --> "+s.indexOf("filename="));
              if(s.indexOf("filename=") == -1)
                   name = s.substring(s.indexOf("name=") + "name=".length(),s.length()-2);
                   System.out.println("after name substring 1 "+name);
              else
                   name = s.substring(s.indexOf("name=") + "name=".length(),s.lastIndexOf(";"));
                   System.out.println("after name substring 2 "+name);
                   fileName = s.substring(s.indexOf("filename=") + "filename=".length(),s.length()-2);
                   System.out.println("fileName --> "+fileName);
                   //String fileName1 = s.substring(s.indexOf("filename=") + "filename=".length(),s.length());
                   //System.out.println("fileName1 -->"+fileName1);
                   if(fileName.equals("\"\""))
                   fileName = null;
                   else
                        String userAgent = request.getHeader("User-Agent");
                        System.out.println("userAgent --> "+userAgent);
                        String userSeparator="/"; // default
                        if (userAgent.indexOf("Windows")!=-1)
                        System.out.println("test --> "+"\\");
                        userSeparator="\\";
                        if (userAgent.indexOf("Linux")!=-1)
                        userSeparator="/";
                        System.out.println("userSeparator "+userSeparator);
                        System.out.println("fileName before inserting userSeparators "+fileName);
                        fileName = fileName.substring(fileName.lastIndexOf(userSeparator)+1,fileName.length()-1);
                        System.out.println("fileName after userSeparators "+fileName);
                        if(fileName.startsWith( "\""))
                        fileName = fileName.substring( 1);
              name = name.substring(1,name.length()-1);
              System.out.println("name 2 --> "+name);
              System.out.println("final file name "+fileName);
              if (name.equals("file"))
                   if (buffer!=null)
                   buffer.close();
                   lastFileName = fileName;
                   buffer = new java.io.FileOutputStream("/Documents and Settings/sunil/Desktop/images/"+fileName);
         else if(s.startsWith("Content-Type") && state==1)
                             System.out.println("-- 2 --");
              state = 2;
              contentType2 = s.substring(s.indexOf(":")+2,s.length()-2);
              System.out.println("contentType2 --> "+contentType2);
         else if(s.equals("\r\n") && state != 3)
                   System.out.println("-- 3 --");
              state = 3;
         else
              System.out.println("-- 4 --");     
              if (name.equals("file"))
              System.out.println("Final x :: "+x);     
              buffer.write(b,0,x);
    }     // while closing
    sis.close();
    buffer.close();
    }catch(java.io.IOException e)
    err = e.toString();
    boolean ok = err.equals("");
    if(!ok)
    out.println(err);
    else
    %>
              <SCRIPT language="javascript">
              history.back(1);
              alert('Uploaded <%=lastFileName%>');
              window.location.reload(false);
              </SCRIPT>
    <%
         out.println("done");
    %>
    </BODY>
    </HTML>
    I think it will solve ur problem..

  • How to display on the graph three or more waveforms where time scale is not an index of array but a real time

    How to display on the graph three or more waveforms where time scale is not an index of array but a real time:
    I measure three voltages Va, Vb, and Vc on my Test stands every 3sec. So I’m building four arrays (Va, Vb, Vc, Time) and combine all in one.
    Time
    Va
    Vb
    Vc
    0
    5
    3.5
    2.8
    3
    4.9
    3.6
    2.9
    6
    4.8
    3.8
    2.1
    Now I need to show on the graph in which scale X is “Voltage” and scale Y is “Time”.
    How can I do it?
    Thanks a lot,
    Boris

    Hi, thanks all your reply.
    You may find "points_to_bar_graph.vi" from this website, I find it by this way.
    I will ask a stupid question: I don't have any photo processing software, how can I save the vi into a picture format?
    So here I just paste it into word document.
    Attachments:
    question.doc ‏520 KB
    points_to_bar_graph.vi ‏62 KB

  • My husband backed up our music and movies onto a hard drive and now all my playlists in my itunes have disappeared, how do I retrieve them back into my itunes library???

    My husband backed up our music and movies onto a hard drive and now all my playlists in my itunes have disappeared, how do I retrieve them back into my itunes library???

    Sounds more like the media was moved.
    Move it back.

  • Display many hours in waveform graph

    I'm testing a way to collect the output voltage from a power supply into a waveform graph and display the values in relation to absolute time over a few hours.
    My problem is that I can only see the last few seconds in the graph. In addition, the absolute time on the right side of the x-axis is correct, but as the time is running, the left side of my x-axis show a time that is in the future. This should have been the time when the relating y-values had occured. 
    Do you have any ideas how to solve these challenges?
    Attached you can find my VI.
    Attachments:
    Test2.vi ‏125 KB

    You could use an x-y graph like the attached example.
    Andrew Alford
    Production Test Engineering Technologist
    Sustainable Energy Technologies
    www.sustainableenergy.com
    Attachments:
    value vs time.vi ‏14 KB

  • Working with dynamic scales in waveform graph - display problem

    Hello
    I want to use the same waveform graph in the frontpanel for different measurements. These measurements contains 1 to 8 curves, some of them I need to autoscale and others I want to use fixed scales. I wrote a method containing these functions and the functional behaviour is how I expected. But when it runs several times, LabView cannot correctly manage the graph display. Some scales are behind the graph or two scales are at the same position.
    Perhaps you have a look at my example VI (LV 7.1), I generate a random Waveform and want to display a random number of curves and some of them in fixed, and some in autorange. The more I run the VI, the more the waveform graph display gets wrong. Does anybody know a solution?
    Thank you very much for answering!
    sparti.
    Attachments:
    ScaleProblem.vi ‏165 KB

    hi there
    Ben, thanks for the link. Christian's suggestion is right and describes a similar problem.
    I solved the problem now on an other way. Each time before I change the visability of the scales I reset all settings to the default (startup) values by property nodes (YScale.Maximum, YScale.Minimum, All Visible...). Then I make the scales which I don't need unvisible, link the graphs to the prefered scales and set the Min/Max or autoscale.
    Important: I got 4 scales on each side. When I want to use eg 2 scales on the left, I need to make visible scale number 1 and 2. Scales 3 and 4 can then be set to unvisible (in other words in an incrementing order).
    Makeing scales visible and unvisible is a little bit nervous on the screen. So, during that process I bring a picture of the last waveform on the top of my screen and change to the graph view when all settings are done.
    Now I got a really great waveform viewer with the possibility, scaling some graphs by autoscale, others by fixed scales, using up to 8 scales selectable on the left/right side, user definied colors, names and units.
    Thank you all for taking part of my problem.
    sparti

  • Is there currently a way to change this back to displaying the actually date and

    New helpdesk in version 7.4 seems to have gone back to using '1 week ago', '2 months ago' time stamps for ticket comments.
    Is there currently a way to change this back to displaying the actually date and time?
    This topic first appeared in the Spiceworks Community

    New helpdesk in version 7.4 seems to have gone back to using '1 week ago', '2 months ago' time stamps for ticket comments.
    Is there currently a way to change this back to displaying the actually date and time?
    This topic first appeared in the Spiceworks Community

  • HT1766 how to retrieve the back up files from the itunes

    how to retrieve the back up files from the itunes

    What are you trying to do...extract data from your backup? If so, you need something like this:
    http://www.iphonebackupextractor.com/

Maybe you are looking for