What is the right way to collect XY data?

The way our Labview code works is very poor. We want to do the following:
Initialize a DAC, and then in a loop:
1. Read from an ADC or counter. Plot the reading as a point on an XY Graph (DAC setting as x, ADC reading as y)
2. Set the DAC to a new value
3. Wait some amount of time for the equipment to equilibrate
4. Read the ADC again,
etc.
I don't know a good way to keep the data and send it to the XY graph. Our old program initialized a 2D array, with one column being the DAC ramp and the other holding all zeros. Then, as data was collected, the zeros were updated with the data. This method isn't good, because the graph always showed a flat line graph until all the data was collected, instead of scaling correctly to the bounds of the actual data. Is there an example or a tutorial to help with this concept? I basically understand flow control using error and task, but I don't have a grasp of shift registers and initializing.
Solved!
Go to Solution.

Rgann wrote:
 Our old program initialized a 2D array, with one column being the DAC ramp and the other holding all zeros.
You should initialize the 2D array with the ramp for x and the y row containing all NaN. Any point containing a NaN will not be shown on the graph.
I usually prefer to keep the x range constant instead of rescaling with every new point, but if you want to keep the x scale tight, you could update the range min and max using property nodes depending on the current insert point.
You already must be using a shift register (or feedback node) to contain your array, so that should be OK as is.
Also remember that if the ramp is linearly spaced, you can use a waveform graph. You simply need to set x0 and dx accordingly. (An xy graph is only needed if the points are not spaced equally in x.)
LabVIEW Champion . Do more with less code and in less time .

Similar Messages

  • What's the right way to delete an entire backup ?

    I've had two Macs doing wireless Time Machine backups to one Time Capsule.
    Question: I got rid of one Mac, and want to delete its backup entirely (but leave the other computer's backups untouched). What's the right way to do it?

    Bob Timmons wrote:
    Jespes, welcome to the discussions!
    Open your hard drive. Your Time Capsule icon should appear under the SHARED heading.
    Click on the Time Capsule and a folder will appear to the right.
    Double click the folder and you should see a xxxxxx.sparsebundle file for each computer that has been backing up.
    Click on the xxxxx.sparsebundle file that you want to delete to highlight it and then click the gear shaped icon just above. Select Move to Trash. (Do not drag the file to the Trash as this will not work).
    Be careful, as the file will be deleted instantly and you will not be able to retrieve it.
    many thanks!

  • What is the right way to move a directory to another drive?

    When I move a directory to another location using drag and drop in the Elements 11 Organizer folder tree most, if not all, of the images become unlinked. What is the right way to move a directory and have the image paths updated in the Organizer database? Thanks.

    Bazsl wrote:
    When I move a directory to another location using drag and drop in the Elements 11 Organizer folder tree most, if not all, of the images become unlinked. What is the right way to move a directory and have the image paths updated in the Organizer database? Thanks.
    That's something I just did successfully one hour ago...
    I suppose your are in the 'folder' view with full folder tree, not in the 'My folder' view which only shows the lower subfolder level recorded in the database.
    Do you try to move a folder with its subfolders ?

  • What's the right way to add a swipe handler to a DataGrid?

    H All:
    What’s the right way to add a swipe handler to a DataGrid?
    (Target = Android, AIR using Flash IDE)
    Adding a handler to the DataGrid works; but (as expected) it only works on  the datagrid itself. Like if you swipe on the background before rows are fully  added. Adding columns over the datagrid, prevents the datagrids’ swipe handler  from firing.
    Trying to add a swipe hander to the columns themselves, results in the  below error.
    //  Below code fails with
    //  1061: Call to a possibly undefined method addEventListener through a reference with static type
    //   fl.controls.dataGridClasses:DataGridColumn.  So ... DataGridColumn doesn’t support addEventListener...
    There must be a better way(?).
    Thanks
                import fl.controls.DataGrid;
                import fl.controls.dataGridClasses.DataGridColumn;
               // Works, but only on the grid itself; as when the rows do not  fill the space tor the datagrid.
                myDataGrid.addEventListener  (TransformGestureEvent.GESTURE_SWIPE, swipeGridHandler);
                var c1:DataGridColumn = new DataGridColumn("Notes"); 
                c1.width = 90;
                c1.cellRenderer = CenterAlignCell;
                c1.addEventListener (TransformGestureEvent.GESTURE_SWIPE,  swipeGridHandler);

    Adobe list of properties and methods:
    http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/controls/dataGridCla sses/DataGridColumn.html

  • What is the right  way to display a table in Java web dynpro using a node.

    Hi experts,
      I am trying to show a node of cardinality 0...n as a table in an adobe form in Java web dynpro. But its not showing it properly. Can anybody please tell me what is the right way to display a table on adobe form using a node of cardinality 0...n or 1...n in Java Webdynpro.  In ABAP webdynpro, we can drag and drop a node of cardianlity 0...n or 1...n to  show as a table and it works fine. Is the same possible in Java webdynpro also. Please help.
    Thanks and Regards.
    Vaibhav Tiwari.

    Please refer to my post.. you will get the answer
    Dynamic Table -  same data repeating in all rows
    Special care should be taken in designing the context for table attribute.
    The attribute type singletone also plays a important role. I have this doubt from the beginning when you have reported this problem for the first time but finally you marked it as solved so i thought there might be some other issues but again when you reported that again i did some analysis.
    Now coming to final solution :
    For designing a table in adobe interactive form you have consider following
    You have to design the view context upto three level, I am explaining you the properties
    PDFDataSource (Parent Level1) - Cardinality 1:1 - Signetone -True - This is assigned to datasource
    TableList (Parent Level2) - Cardinality (1:1) - Signetone -True
    TableWrapper(Parent Level3) - Cardinality (0:n) - Signetone -True
    TableData (Parent Level4) - Cardinality (0:1) - Signetone - false (This is the main point)
    Then under TableData value node, you have to put all your table attributes.
    This Value Node name can be anything but hierarchy should be same as I have mentioned above.
    Please try out these steps and get back to me if you have any doubt.

  • What is the right way to connect the adapter to my macbook when charging?

    what is the right way to connect the adapter to my macbook when charging.
    is it connect the magsafe connector first before plugging the adapter to the outlet? or the way around? or both ways will do?
    what if i'm using a surge protection with a on/off button, can I just turn the surge protector extension on and off without disconnecting the magsafe connector and adapter plug from my laptop when i'm not using it?
    thank you very much

    If there is any arcing it may be because the adapter is dirty. It is best to plug in the wall wart then attach the magsafe to the MacBook. As GfulDedFan mentioned this reduces the chance of power surging the MacBook. I have done mine this way since he day I bought it and have never had an arc. I keep it clean to reduce the chance of this happening. The following will help in the care of your supply.
    Apple: Use and cleaning of MagSafe power connector

  • What is the right way to handle events?

    What is the right way to handle events? If I start doing stuff in the AWT event thread (particulaly things that create their own events) should I be starting a new thread?
    A link to a good book or reference source will do
    thanks in advance

    http://java.sun.com/docs/books/tutorial/uiswing/events/

  • I am giving away a computer, what is the best way to wipe out data prior to depature

    i am giving away a computer, what is the best way to wipe out data prior to depature

    Did the Mac come with two grey disks when new? If so, use disk one to erase the drive using Disk Utility and then re-install the OS from the same disk. Once installed, quit and when the new owner boots they can set it up as a new out-of-the-box Mac when they boot it up. The grey disks need to be passed on with the computer.
    If you need detailed instructions on how to erase and re-install please post back.
    If the Mac came with Lion or Mountain Lion installed the above process can be done using the Recovery HD as since Lion no restore disks are supplied with the Mac.
    The terms of the licence state that a Mac should be sold/passed on with the OS installed that was on the machine when new (or words to that effect).

  • What is the best way to edit meta data..

    What is the best way to edit meta data and tag photos, faces, places etc. and have the data saved to the original photo.
    On a PC I would just use Windows Gallery. iPhoto on the Mac allows for some tagging, but it doesn't save to the original file.
    I like to have my photos in a folder, edit them and save the changes.
    What software would work best on a MAC to accomplish this?
    Thanks for any help,
    Nick

    iPhoto is a database and any metadata you add or edit is available in any app - if you learn how to use it.
    iPhoto is a non-destructive processor. It never touches the original file - it treats it like a film shooter treats the negative.
    If you want a copy of the original file with the metadata included simply export a copy.
    This User Tip
    https://discussions.apple.com/docs/DOC-4921
    has details of the options in the Export dialogue.
    As an FYI:
    For help accessing your photos in iPhoto see this user tip:
    https://discussions.apple.com/docs/DOC-4491

  • What is the best way to captue current date and time?

    I got a field in table to capute current date and time...i am
    using SQL Server.
    field name datatype length
    enter_datetime datetime 8
    What is the best way to get current date and time and insert
    to table?.
    Is this way?.
    <cfset curtime = 'dateformat(#now()#,'mm/dd/yyyy')&"
    "&timeformat(#now()#,'hh:mm:ss')'>
    This way looks like time is not entered correctly.
    or any other better way?.

    > get current date and time and insert to table?
    You can use cfqueryparam
    <cfqueryparam value="#now()#"
    cfsqltype="cf_sql_timestamp">
    Or as was suggested, set the default for your table column to
    getdate(). Then you won't have to insert anything. Sql server will
    do it automatically when a new record is created.

  • What is the best way to insert massive data into an existing excel file?

    dear gurus,
    i am wondering that what is the best way to insert massive data into an existing excel file, more performance perspective.
    the file is read from BDS , and we want to insert data into it .
    the way i can think of is
    1. OLE AUTOMATION
       i think performance will be a big problem
    2. Office integration
        i am not sure it's facing the same performance issue ?
    3 . XXL_SIMPLE_API/FULL_API
        I am not sure whether they can insert data into an existing excel file?
    could you please give me some advices?
    br.
    jun

    Hi,
    If you want to APPEND data( add data to an existing excel file) from SAP, then use GUI_DOWNLOAD fm with APPEND = 'X' paramter.
    Best regards,
    Prashant

  • What is the best way to transfer my date from my old iMac to my new iMac?

    what is the best way to transfer my date from my old iMac to my new iMac? I don't have a time capsule, so I cannot use time machine.
    thanks

    Your best bet by far is to use Setup Assistant when the new Mac first starts up to transfer directly from the old one. 
    It's similar to Migration Assistant, but doing it that way will avoid having an extra user account.
    Either way, you can connect them via FireWire, Thunderbolt, or your network, but avoid wireless if at all possible.  You can connect both to your netwrork via Ethernet, or put a single cable between the two. 
    See Using Setup Assistant on Mountain Lion or Lion for details.

  • What is the 'quickest' way to read char data from a txt file

    Hello,
    What is the 'quickest' way to read character data from a txt file stored on the phone to be displayed into the screen?
    Regards

    To be even a bit more constructive...
    Since J2me does not have a BufferedInputStream, it will help to implement it yourself. It's much faster since you read large blocks at ones in stread of seperate chars.
    something line this lets you read lines very fast:
      while ( bytesread < filesize ) {
             length = configfile.read( buff, 0, buff.length );
             // append buffer to temp String
             if ( length < buff.length ) {
                byte[]  buf  = new byte[length];
                System.arraycopy( buff, 0, buf, 0, length );
                tmp.append( new String( buf ) );
             } else {
                tmp.append( new String( buff ) );
             // look in tmp string for \r\n
             idx1 = tmp.toString().indexOf( "\r\n" );
             while ( idx1 >= 0 ) {
                //if found, split into line and rest of tmp
                line = tmp.toString().substring( 0, idx1 );
             /// ... do with it whatever you want ... ////
                tmp = new StringBuffer( tmp.toString().substring( idx1 + 2 ) );
                idx1 = tmp.toString().indexOf( "\r\n" );
             bytesread += length;
          }

  • What is the right way to change the active JInternalFrame for and MDI app?

    I am working on my own implementation of the window menu. The action that is triggered when a customer chooses a window to activate from the list in the menu is not behaving as I expected. The code I wrote (below) switches frames correctly but the caption bar never gets updated and if you restore a frame from an icon the frame is not correctly activated, there is even a restore button which if you push fixes things up and the frame then behaves normally     if (frameToActivate.isIcon ())  {
              //  Restore from icon
              desktopPane().getDesktopManager().deiconifyFrame (frameToActivate);
         desktopPane().getDesktopManager().activateFrame (frameToActivate);
         desktopPane().setSelectedFrame (frameToActivate);I did a search of the web and found a tip on JavaWorld (http://www.javaworld.com/javaworld/jw-05-2001/jw-0525-mdi.html) which led me to try doing this from a different angle - the JInternalFrame's point of view. This code works     try {
              if (frameToActivate.isIcon ())  {
                   //  Restore from icon
                   frameToActivate.setIcon (false);
              frameToActivate.moveToFront();
              frameToActivate.setSelected (true);
         } catch (PropertyVetoException error) {
              error.printStackTrace();
         }My question is why does the desktop based approach not work? If methods exist that appear to let you restore and switch between frames why are the ineffective? Am I missing something obvious that I should be doing?
    If using the JInternalFrame methods is the right way to go then I will It just seems like if the DesktopManager has methods that advertise that is supports managing the active frame then they should work. Before I ignore them I want to check with you to see if there is a right way to use them.
    Ian

    So, this is another batch of duke dollars I cannot assign - since I solved my own problem:-)
    I had an epiphany and tried setting break points to see what code was executed when you click on an inactive frame. From that I determined that DefaultDesktopManager.activateFrame, as implemented, does not activate the frame but acknowledges the activation of a frame and does a small amount of bookeeping work for the DesktopManager. So, the solution is the code I wrote to switch focus using the JInternalFrame's methods. Since I did not want to have to write those nine lines of code in the couple of places I want to programmatically switch the active frame I added a get/setActiveFrame method to my JDesktopPane derivative. In case others face this problem here is the code (warning I have not yet setup building the JavaDocs for this project so I cannot vouch for the validity of the JavaDoc, but the code does work):/**
    * Bring frameToActivate to the front (restoring from icon if neccessary) and make it the
    * selected frame.  This method does all the things required to switch the active frame for
    * an MDI application unlike: @link JDesktopPane.setSelectedFrame, which does not change the
    * focus; @link javax.swing.DefaultDesktopManager.activateFrame which does not correctly
    * handle iconified frames or switch the focus properly; and
    * @link javax.swing.JInternalFramesetSelected which also does not handle iconified frames.
    * @param frameToActivate the frame to bring to the front and become the active window
    * @throws IllegalArgumentException
    public void setActiveFrame (JInternalFrame frameToActivate) throws IllegalArgumentException  {
        if (frameToActivate == null)
            throw new IllegalArgumentException ("setActiveFrame a frame must be passed a non null valie.");
        try {
            if (frameToActivate.isIcon ())  {
                //  Restore from icon
                frameToActivate.setIcon (false);
            frameToActivate.moveToFront();
            frameToActivate.setSelected (true);
        } catch (PropertyVetoException error) {
    * This method returns the currently active frame.  This method returns the same frame
    * as <code>getSelectedFrame</code> and is provided for symetry for <code>setActiveFrame</code>. 
    * @return the currently active frame
    * @see LDesktopPane.setActiveFrame
    * @see javax.swing.JDesktopPane.getSelectedFrame
    public JInternalFrame getActiveFrame ()  {
        return getSelectedFrame ();
    }IL

  • What is the right way to set the physical path of a folder?

    I want to upload .PDF files using an Upload form on a JSP page which is located on the App Server. The .PDF files will be uploaded into the Web Server. The App Server and Web Server are on separate machines. My JSP page contains the path (eg: /apps/Server4/docs/Upload/) that should point to the physical folder on the Web Server. My problem is that I get an error stating that the folder cannot be found as the path was invalid. My question is, when I have this sort of setup, what is the right form of the physical path? Can you give me an example of a path that points from the App Server to the Web Server which sits on another machine. OR should I just install the Web Server in the same machine as
    the App Server? I was developing on a setup where both the Apps and Web Server was on the same machine
    and I didn't have this 'path problem'. The problem arise when the application was deployed onto our staging server. Why do I want to upload it onto the Web Server? This is because I need to view the .PDF files using Acrobat Reader straight from the server without downloading the .PDF file. I found out I couldn't do this if the .PDF files were uploaded into a folder which sits in the App Server.

    Well the problem is, as you have found out, is that the JVM is executing on the appserver which may or may not have access to the webserver. There no way (within your existing application) that you can tell the webserver to save the file, since the webserver isn't executing any code.
    So you have several options:
    1. You can have the application server and webserver run on the same physical machine. This obviously gives the application server access to the physical directory structure of the webserver. (Assuming that you set permissions correctly.) The disadvantage is that there are many architectural advantages (including security) that you would want to separate your webserver and appserver.
    2. You can NFS mount the webserver directory on the appsever box. This allows you to treat the webserver directory as if it was local. The downside to this is that you will have additional security concerns. (Exposing the webserver via NFS, firewall issues between the two servers etc.)
    3. Fix the MIME problem occuring when you serve PDF's from the appserver. You might have to write your own PDF serving servlet to do this.

Maybe you are looking for