Variable, Multi-plot XY Graph?

Hey all, first text to the forums so here goes:
The issue I have deals with processing data from a number of strain gages.  My goal is to do the following:
   -  At the press of a button ("Push to Snapshot XY Points"), I need to collect a "snapshot" of the strain data that is continuously flowing out of the DAQ Assistant
   -  This strain data is currently being pulled from DDT and converted to a 2D array "Collected Data", which holds the current value of each channel in its own row.
   -  I want to take each individual channel of this information and pair its "collected data snapshot" value with the current Load Case (a double value I control), creating an (x,y) coordinate pair for each channel (all channels will be assigned the same "Load Case")
   -  I want to then Plot & Store these (x,y) pairs of data for each channel.  When I proceed to then change the "Load Case" and take another snapshot, I want to create a new set of coordinate pairs for each channel, corresponding to the new load case.  The overall goal is to enable the code to produce a XY Graph that looks like the one shown below.  I want this XY Graph to "build" to the right each time I take a new snapshot.
I currently have some code that takes the "Collected Data" Array, and moved it through a FOR loop setup with auto indexing enabled (I imagine I will need some sort of smart FOR loop to handle the variation in channel count).  From here I am having trouble organizing the data into the correct arrays/clusters such that I can store and plot it.  Any help would be much appreciated, thanks!
To Note: LabVIEW 2014, Windows, cDAQ Hardware
Desired Output Graph:
Current Code:
Current Front Panel View of Arrays Being Built:

Without getting too hung up with the correctness of what you're doing (or what I did for that matter), attached is a VI that should do what (I think) you're asking. The values get appended to the storage arrays and those get forward to the start of the next loop iteration via the shift registers.  The transpose array functions are there soley so that I could use auto indexing on the FOR loop when creating the 1D array of clusters for the XY graph.
couple points about your code:
   1] set you "from DDT" signal conversion to 1D array of scalars so you don't have to auto index and then index array inside the FOR loop.  The data is 1D already.
   2] inside your FOR loop you create a cluster and then convert from cluster to array.  Use a single "build array" instead.
Attachments:
display_XY.vi ‏101 KB

Similar Messages

  • How can I update single plot in multi plot xy graph?

    Hi all,
    I'm working on an HMI "front" for a larger acquisition/analysis system, that includes continuous performance monitoring of a turbine. The results of the measurements are stored arrays of contour lines, that represents turbine efficiency and guide vane openings. This analysis is all performed in the background. In the HMI, the performance data is loaded from file when the specific "report" is requested, and is plotted in an XY graph. I would like to indicate the current operation point of the machine by using a plot that is a single point. Thus, that point's position among the contour lines indicates the current performance of the turbine. This point is updated once every second, while the performance data remains the same for considerable amounts of time between recalculations (days to weeks). 
    Is there any way of updating the value of a single plot in a multiple plot XY Graph without having to redraw all the plots?
    I've tried using the "Active Plot" property, which doesn't work. 
    My current solution is to keep all the data as input to the executing while loop and replace a subset of the plot array, but that of course requires the entire rewrite every time the operation point plot is updated.
    Best regards,
    Jarle Ekanger, MSc, CLD
    Flow Design Bureau AS
    Solved!
    Go to Solution.

    You cannot redraw a single plot. If you want to update a single plot, you need to retain all plots in a shift regsiter and replace the data of the desired plot. However, your problem seems much simpler than that. To show a single point on a nearly static plot you have several options.
    You can use a cursor that is controlled programmatically (the style can be a point, don't allow drag).
    You can use annotations.
    You can use the "plot images" feature that allows you to use image commands to draw anything on top of a graph.
    None of these ideas require a redraw of any data.
    I think the cursor idea is probably the easiest and most appropriate. Just use a property node with the following properties:
    active cursor
    cursor position x
    cursor position y
    LabVIEW Champion . Do more with less code and in less time .

  • Multi Plot XY Graph. One Plot Envlope, checking to make sure the other plot falls within the enclope plot

    Hi Guys
    Have a problem with XY graphing, I have 5 xy samples that define an envlope (one plot), samples need to be checked to make sure they are within the selected envlope.
    Any Ideas ?

    Can you split the 4 xy point for your envelope int two envelopes:
    Upper Limit 0,0 3,6 9,9
    Lower Limit 3,0 9,9 (or maybe 0,0 3,0 9,9 if you need to start at x=0)
    Then in your limit check connect both upper and lower envelopes.
    Have a look at the attached vi, it's not very tidy and there may be a problem with the number of samples in the various arrays, it may give you some ideas to try.
    Attachments:
    Check_Envelope.vi ‏72 KB

  • XY graph - multi-plot problem

    Hi,
    I'm experiencing a problem using a multi-plot xy graph. I have to display 2 plots together, and make them appear and disappear many times during the program running.
    But when I close LV and restart it, the second plot (plot1) doesn't appear, and also I lose all the properties I've set for it (name, color,...). If I don't shut down LV everything works well.
    What can I do?

    Stefano Moret wrote:
    When you write about use property nodes, I'm using the "visible" one.
    Your suggestion is to try also to set all the properties from there? Maybe it's a good idea, I'll try.
    Here are some code snippets I used once to initialize the graph and later on change legend entries depending on user selection.
    You can also change the way plots are represented during run time. You always have to start with ActPlot do selct one of the plots.
    Good luck

  • Express XY Graph Multi-plot Cursor point

    Hi,
           In mixed signal graph >> Property >> Cursors Tab >> Enable Allow dragging here if we select Multi-plot, it will show X scale and all Y-scale value in Cursor legend.
    How can I get these same options in Express XY Graph?
    Sivaraj M.S
    CLD

    You need to use a property node and find the curser position and then plot those points in a seperate xy plot (only it will be one point instead of an array). You will still have to plot it as an array of one point.
    Tim
    Johnson Controls
    Holland Michigan

  • Multi plot graph - auxiliary curves

    I am in trouble with a multi plot graph. There is a wave chart that I have to plot an auxiliary line when the user clicks on the graphic. I know how to get the initial point and the final point of the auxiliar line. But I don´t know how can I plot this line in the same graph.
    Any ideas, sugestions or examples?
    Thank you in advance

    Speaking only for myself, I am not sure about the nature of your request.
    Could you please post some code showing an example of what you can do now and a jpg of what you desire.
    This may help us help you.
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Mixed Signal Graph: Cursor Position Property for Multi-Plot Cursor

    I'm working 6 waveforms on 3 different plot areas in a mixed signal graph in LV2009.  When I try to pull the Cursor.PosY property from my cursor (in which Watch All Plots is True, and is set to Multi-Plot in the graph properties), it returns the value of only the first plot in the cluster of waveforms fed into the graph.  I've tried changing the active plot, active plot area, nothing changes.  I am able to retrieve each value via the cursor legend, but I cannot pull each of those values into another portion of my program.  Also, I noticed that when setting events in an event structure, any events relating to a cursor drag aren't present as they are in a waveform graph.  My workaround is to create an indicator for the Cursor.PosX property and monitor when that value changes, but I feel there should be an easier way.  Any help is appreciated.
    Thank you in advance!

    Jeanius,
       I am not quite sure why the cursor pos in the Wavegraph reference does not change when you change the active plot, but if you grab a reference to the specific cursor and then change the active plot things you receive the expected behavior.
    Ben J.
    National Instruments
    Applications Engineer
    Attachments:
    MODDEDmixed graph cursor ex.vi ‏41 KB

  • LabVIEW crashes when you run a VI that contains a mixed signal graph with a multi-plot cursor.

    Hello, LV 8.2.1 notes indicates the following bug fix:
    43SAIR2A  Fixed an issue where LabVIEW crashes when you run a VI that contains a mixed signal graph with a multi-plot cursor.
    I am running this version, and still have this behavior.  Is there anything I may be missing, and/or certain circumstances that may still be causing this?
    thanks in advance,
    Darren

    Darren:
    I looked at the CAR ID that you mentioned and the issue has been resolved in LabVIEW 8.2.1. To verify something similar, I ran the attached VI and things worked just fine. Please feel free to send me the steps to follow to reproduce the issue you are running into in 8.2.1.
    Regards,
    Rudi N.
    Attachments:
    MixedGraphs.vi ‏15 KB

  • Multi plot cursor in Mixed Graph

    If Digital waveform and normal waveform graph is plotted in a mixed graph, and if I choose watch all plots(multi plot) in cursor, LabVIEW closes immediately with an error popup dialog
    I have attached the print screen image of that error popup
    Attachments:
    error.JPG ‏188 KB

    Hi Stephen,
               I found a considerable solution to overcome that error.
               Build all the array data at first and then generate digtal
    waveform in single instance.
               ie., With number of numerical array data, build a 2D array of
    numerical data and make a transpose and then generate a waveform.
               It generates number of digital waveform equal to that of the
    column size of 2D Array.
               Do not build generated digital waveforms. This creates an error
    while using multi plot cursor--> watch--> All plots.
               I have attached the modified, bug removed Vi with this message for
    your reference.
    Regards,
    Raja
    Project Engineer
    Soliton Technologies
    www.solitontech.com
    Attachments:
    Mixed Graph Modified without Error.vi ‏25 KB

  • Multi-plot cursor in xy graph

    I am using an XY graph with 5 curves which belong to one of two y axes each. All curves share the same array of x values. I do not like the cursor legend so I want to read out the values of the one cursor programmatically. I can create a multi-plot cursor which watches all the 5 curves but I cannot find how I can read out the 5 corresponding y values of my cursor. Any help?
    Thanks,
       LX (using LV2014)

    Use the cursor index property value and wire that to an index array function for each y array.

  • Mixed Graph - Multi Plot Cursor Problem

    If I plot both Analog Waveform and Digital Waveform in a single Mixed Graph, and when I choose watch all plots in cursor legend, LabVIEW crashes with an error message.....
    I have also attached  the Print screen image of that Error
    Attachments:
    error.JPG ‏188 KB

    Jared Boothe,
               I found a solution to overcome that error.
               Build all the array data at first and then generate digtal waveform in single instance.
               ie., With number of numerical array data, build a 2D array of numerical data and make a transpose and then generate a waveform.
               It generates number of digital waveform equal to that of the column size of 2D Array.
               Do not build generated digital waveforms. This creates an error while using multi plot cursor--> watch--> All plots.
               I have attached the modified, error free Vi with this message for your reference.
    Regards,
    Raja
    Project Engineer
    Soliton Technologies
    www.solitontech.com 
    Attachments:
    Mixed Graph Modified without Error.vi ‏25 KB

  • Errors with multi-plot cursors on Mixed Signal graphs

    Using a Mixed Signal graph, it seems that a multi-plot cursor does not snap correctly if XScale.Multiplier is not set to 1 - it seems to ignore it altogether.  A single-plot cursor on the same graph does not have this problem.  Am I missing something?
    In the attached VI, XScale.Multipler = 0.1, and Cursor 1 (Single-Plot) shows the correct value, but Cursor 2 (Multi-plot) does not.
    Attachments:
    MixedSignalCursor.vi ‏14 KB

    Hello,
    The behavior I see is that the multi-plot cursor which is snapped to plot 0 seems to generally follow an "imaginary plot" which corresponds to a scaled version of plot 0, where the scale factor is the value wired to the XScale.Multiplier property.  I don't think this is desired behavior so I have filed a corrective action request to R&D to have this addressed.  I am sorry for the inconvenience - hopefully you can live with an X-scale multiplier of 1, or the single plot cursors for the time being.  It also takes the offset property similarly, offsetting the "imaginary plot" by whatever value is set there.
    In any event, if this poses a significant problem with additional contingencies, please let me know and I'll be sure to include any updated information in the corrective action request!
    Thank you,
    Best Regards,
    JLS
    Best,
    JLS
    Sixclear

  • XY Graph overlay multi plot with different colors

    Hi,
    I want to do a cyclic X-Y plot in a for loop and plot the graph for each cycle in different colors.
    I want a plot like XYgraph2 but with different colors and probably even without that tracing line. How do i modify my diagram?
    Thank you for your time and efforts.
    SUCHIT
    Suchit Shah
    Graduate Student
    Electrical & Computer Engineering,
    Northeastern University,
    BOSTON
    MA 02115
    Certified LabVIEW Associate Developer
    Solved!
    Go to Solution.
    Attachments:
    block dia.JPG ‏45 KB
    front dia.JPG ‏122 KB

    Hi all! This is my first post
    My name is Francesco and I'm programming a keithley for measure some FET
    using labview 8.6. I plot my output data on a XY graph but I have several curves,
    one for each value of Vgs. Looking in your forum I've found the code
    MultiplePlots.vi (21 kb) posted by Darin.K about a month ago that use Multiple
    plots and it is perfect for my goal because with this I can plot every curve with a
    different color. The only problem is that I like to plot my data in real time.
    The code, however, use a Loop with N=50, accumulates the values on the edge
    and plot at the end of the Loop the entire line.
    My question is if someone can explain me how to modify the code to plot the line
    point by point, so in real time and not at the end o the loop because I need to see
    the current values during the measurement and not only at the end.
    I think that I need to move the XYgraph inside the loop. I try but without lucky.
    Can anyone help me?
    thanks and sorry for my very bad english.
         Francesco

  • Multi plot cursor

    Dear All,
    I am working on Mixed Signal Graph with Multi plot cursor.
    My target is to move the cursor on X axis time scale and get the y axis values of all the plots.
    i got some ex. on forum but i am facing a typical problem explained as follows:
    By chaning the cursor plot i am getting the y axis values for each plot.
    The problem is that the values are continuously changing of the plot y axis value automatically, ans also the values of the respective plot does'nt match all the time, it changes.
    I have attached a example, in that the values of the respective plot changes every time.
    Am i missing anything, please guide.
    Regards,
    Shrek
    Attachments:
    Mixed Signal Cursor.vi ‏34 KB

    Here is a quick mod .. don't know if it solve your problem, but I get constant values
    Will work only if all plots have the same lenght ...
    Greetings from Germany
    Henrik
    LV since v3.1
    “ground” is a convenient fantasy
    '˙˙˙˙uıɐƃɐ lɐıp puɐ °06 ǝuoɥd ɹnoʎ uɹnʇ ǝsɐǝld 'ʎɹɐuıƃɐɯı sı pǝlɐıp ǝʌɐɥ noʎ ɹǝqɯnu ǝɥʇ'
    Attachments:
    Mixed Signal Cursor.vi ‏27 KB

  • Double Scale in XY Multi Plot

    Hi,
    I really like the look of the graph used in XY Multi Plot.VI
    Does anyone know if you can have two scales on the y-axis for this type of plot? How to implement it?
    Thanks
    aleks.

    Yes, you can have two Y axes.  You right click on the one you have and choose "Duplicate Scale" to get the second scale.  You can then choose to "Swap Sides" if you want it on the other side of the graph.  From the Plot Legend, you can click on a plot to choose which Y scale will be used for that plot.  You might also want to play with grid colors or something like that to get some visual clue which plot goes with which scale.

Maybe you are looking for

  • File adapter:FizeSize property doesn't effective if choose "Append" propert

    Hi I used file adapter to write a file to a Linux box, I use "*Append to existing file*" property, but it seems I can't use FileSize to limit the size of the file? I want to use Append to existing file and if the size of the file over than 1M, then g

  • Wron number of arguments error on URLEncoder.encode(language,

    the following is the code which is an example in The complete Reference JSP I ran this in tomcat it shows an error which is showed down this code.The place where error occuring is underlined in the code <%@ page session="false" import="java.io.*, jav

  • Apple TV video content freezes

    I've got a couple of Apple TV units in my home and love the. Lately however the content freezes momentarily as we're trying to watch movies or TV shows. I stream the content from my 24" iMac instead of syncing content. The freezing, or jerking, is on

  • Front Row Gone Wild?

    Hello! It seems as if Front Row occasionally likes to go nuts and take up 99% of my CPU and exponentially increasing amounts of memory at random intervals. This happens only when I'm not using Front Row and just using my computer regularly. As far as

  • Std. function module to find reporting employees.

    Hi all, i would like to find a std. function module by which  i can find the employees who reports to respected manager. For e.g, i have to pass manager's userid and i will get the list of employee no.s who reports to that manager. Pls help me. any h