Limit control to property of a waveform graph

I have a waveform graph in which I would like to limit practically all the property of the contextual menu. Such as:
Visible items, Auto scale X and Y...
There is a way to do that. By setting "Disabled" to 1.
My problem: I would still like to let the user change the Y scale by double clicking it.
Thanks
Nitrof

Nitrol,
Unless I'm mistaken (it happens), the only way to really do this is completely disable all functionality and add the functionality back through your front panel. I would suggest a very easy approach by putting two digital controls (or one array with two elements, or a cluster, or...) which would be the min and max of the Y scale. You can even make it more simple by just adding a Property Node of the graph, selecting the Y scale, and creating a control. That would save you a lot of work. It wouldn't be as neat and tidy, but it would get the job done with the least amount of work.
If you want to know how to do this exactly as you specified, here goes:
Place a picture control over the y scale of the graph. Make the picture invisible (the "T"
color for the frame and the drawing area. Then, with the picture selected, move it to the front. Next, in the diagram, get the mouse down data from the Mouse property in a while loop. Throw the mouse down data into a shift register. Make the loop have a delay (wait) of about 200ms. AND the output of the mouse down button with the previous one. When the output is true (of the AND), stop the loop. You have detected a double click of the Y scale. NOW, you have to add a subVI that pops up (dialog) options for the Y scale. The user will change the scale, and then you can input these into the Y scale of the graphs property node. Yes, its quite complicated, but the results are exactly what you are looking for.
Of course, I always recommend the KISS principle (Keep It Simple Stupid).
Good luck

Similar Messages

  • Control Waveform Graph - Set Lower Limit and Autoscale Upper Limit

    In a waveform graph is their a way to set the lower graph Y limit at zero and then have it autoscale the maximum Y limit as a percentage (150% for example) of the maximum Y graph value ?
    Direction to examples or a starting point to read up on would be great !
    Thanks,
    Joe
    Ireland
    Solved!
    Go to Solution.

    Turn off autoscale and set the max with a property node based on the array max of the data.
    LabVIEW Champion . Do more with less code and in less time .

  • Dispaying a waveform graph with control of the cursor in the document.

    I would like to be able to control the cursor when I save my waveform graph in html. I'm currently saving the graph through the report vi's

    I am not sure I understand your question. Do you want to simply control where the cursor is on the picture you are appending to the html report. If so then when you use the Append Control Image to Report VI it basically takes a snap shot at that moment and displays it. Therefore you just need to place the cursor where you wnat it before you add the image.
    To programttically control the cursor you will need to use property nodes of the Waveform Graph. A good start would be the property cursor>>cursor position>>all elements.

  • Y scale flip in waveform graph when using property node.

    I'm having problem with property node. I'm trying to build a stackable scope with Waveform Graph And dynamically change the number of plots. It is working. But The Y scale is flipping. The minimum goes on the upper part and the minimum scale goes down. when I change it appearance it's not very fast. It take about 1 or 2 second on my computer.
    The way it is build actually is:
    Cluster_1 is containing 8 clusters. And each of the 8 clusters are containing a Waveform Graph. By reference I change the property of each Waveform to make visible or not each of the Waveforms.
    First I would like to solve the scale problem and second accelerate the redrawing of my scope.
    Maybe there is an other way t
    o do what I need.
    Thanks.
    Nitrof
    Attachments:
    MultiScopeExample.llb ‏192 KB

    Wow, you have a neat program! The problem with your y axis flipping is because the last four charts in the cluster were programmed with a flipped axis. I relabeled the charts and it worked correctly.
    From what I could tell with your code, you do not need the sequence structures. The one inside of the even actually runs the same code twice. Remove this duplication and you should see improvement. Also clusters are slow, so you should not expect it to blink back with additional coding. Use defer panel updates to get that behavior. I incorporated these changes and attached the program.
    Jeremy Braden
    National Instruments
    Attachments:
    MultiScopeExample.vi ‏163 KB

  • How the waveform graph indicator doesn't change its property ?

    I have designed a printcontrol vi which I only want to print the plots in the waveform graph on the front panel.In order to acquire this effect, I use the property to set the plot area background colour to transparency. In the course of running,the property works,
    I mean the waveform graph changes transparent.But I hope it will not change because it will not convient for the user.I don't know how to achieve this goal.Hope to get your help,thanks a lot!
    Attachments:
    11.vi ‏97 KB

    One of your problems is the fact that you reset the panel color only after the event has completed and since it generates the full report, this can take some time.
    The problem will be much less noticeable if you reset the changed properties right after grabbing the image.
    Attached is a quick draft. Modify as needed.
    (Sorry, I don't have 7.1, so I downconverted from 8.0. There could be some conversion errors that should be easy to fix.)
    You should also make sure to place the terminals of the latch action booleans INSIDE their corresponding event case, else it might not reset to false during execution of the event.
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    11MOD.vi ‏58 KB

  • Picture Control to Waveform Graph

    Hello everyone,
    I'm utilizing the Draw Text at Point VI to display the string "eo" on the picture control.  To put the fear of intense imagining behind, I bring up the question, is there any way to convert the Picture Control, and it's contents, to Waveform graphs?  I could have sworn I worked with intensity graphs and did conversions in this fashion but for the life of me I cannot remember how it was done.
    If not, is there any simple way to bring up actual text in a waveform graph for laser imaging to follow?
    Thanks for any help...
    Regards

    Hi Steve,
    I had a colleague transfer an image into a Waveform Graph.  What came out was not at all the original picture.  The IMAQ driver was used.  I don't know of a method like what you have described.
    Kevin S.
    Applications Engineer
    National Instruments

  • How to use offset and multiplier property in waveform graph?

    hello,
    i m using a waveform graph and wanted to update its x-axis scale depending on the multiplier value. Also how this
    formula of offset n multiplier works (deltaX)*X+X0? What is delta X and X?
    Regards,
    vijtin
    Solved!
    Go to Solution.

    hi,
    X0 is the offset and X is the multiplier.  So the graph will start at a cetain offset and will aa to that the delta value times the multiplier.
    e.g.
    If you would have these normal X-values : 0 ; 1 ; 2 ; 3 ; 4 ; 5 and a multiplier of 2 and ofset of 5 you would get the result on the X-as = 5 ; 7 ; 9 ; 11 ; 13
    Hope this helps
    Kind regards,
    - Bjorn -
    Have fun using LabVIEW... and if you like my answer, please pay me back in Kudo's
    LabVIEW 5.1 - LabVIEW 2012

  • How do I Get the value from a mouse click - on a waveform graph?

    If I have made a plot into a Waveform Graph and later want to do a zoom of my data
    (Not zoom into the Waveform Graph, but regenerate the data). How do I read the mouse
    coordinate if I click on the graph window. I know how to put up the horiz and vert
    cursors but don't know how to just read the mouse click. I would really like to
    follow the windows standard that identifys a rectangle by clicking and draging and then
    be able to read the corners of the rectangle. Thanks, Rick
    PS: Using Labview 6i

    I would recommend to 'translate' your graph in a picture and dislay it in a picture control (see picture examples in LV6).
    Once you did it, pictures have an extremely useful property called Mouse that returns the mouse coordinates and click events when you place the cursor on the picture.
    By this you can re-arrange the graph on picture appearance.
    There are also other methods such as using a Window's API that returns the mouse position referred to the whole screen window, but I believe this would be much more difficult to implement.
    Let me know if this was clear and if you need an example vi.
    Good luck,
    Alberto

  • How do I get the reference numbers for cursors in a waveform graph (other than through an event structure)?

    I want to control cursors in a waveform graph programmatically.  I've tried using the "Cursor list" property, modifying the cursor clusters and writing the results back to the cursor list property, but this only works sporadically.  Modifying the cursors by ref number works well, but you have to get the refnumbers  from an event structure during a cursor event.  Is there any way to get cursor reference numbers aside from through an event structure?
    Thanks!

    Hi barryinbo,
    On the controls pallette, go to refnums> Control refnum>Control. Then right click the refnum and point to select vi server class>Generic > and you will see a cursor there. This will be a "loose typed refnum" but you can right click the refnum to include data type. An alternative is to drag a cursor to the refnum, this will make it strict typed.
    Hope this helps
    Chris Co.

  • Waveform graph x scrollbar in LV7.0?

    LV7.0.   Why does the Waveform Graph have a Show Scrollbar property if the scrollbar is not active?
    Thanks.

    No, it's the correct way
    Are you zooming in on the x axis like this? You also need to have data on the plot in order for the control to be active...
    CTA, CLA, MTFBWY
    Attachments:
    Untitled 4 Front Panel _2012-06-20_17-40-14.png ‏16 KB
    Untitled 4 Front Panel _2012-06-20_17-40-32.png ‏14 KB

  • Waveform graphs not autoscaling in X

    Hello, I have an annoying problem in drawing data with waveform graphs (LV2011).
    I will put it in a short statement: I need to compel graphs to properly rescale on the X scale.
    Now the details:
    I need to show data acquired during a given "event", updating a graph every second. I don't know how long the event will last, but I prefer not to set the X-axis as autoscaled because I don't like the axis rescaling effect. So I initally set the graph as fixed (ScaleFit=0) to a reasonable width in abscissa. When the acquisition ends, I want to show all the data maximized on the available control width, so I set the X axis scaling property to 2. Unfortunately, the graph is often not rescaled. I also tried leaving ScaleFit to 0 and setting the Range:Maximum to the proper value or using the ForceRedraw method, to no avail.
    Do you know any trick to compel the X axis to be rescaled?
    Paolo
    LV 7.0, 7.1, 8.0.1, 2011

    No, GerdW, it doesn't work
    I tried also with ScaleFit=1 (Autoscale once now) and with more complicated pattern (for example reinit to default, then autoscale, then rewrite data). No success.
    In all cases, it mainly works (but not always) when I run the program in the LV environment. The very opposite when I deal with an executable.
    Paolo
    LV 7.0, 7.1, 8.0.1, 2011

  • Turn off a single plot of a multiple plot waveform graph

    I have a multiple plot waveform graph (4 plots). I want to turn off one of the plots, say plot 2. Is this posible from the graphs property node? The property node seems to only give a reference to plot 0. I am using labview 7.
    Cheers,
    Wayne

    I think you can use "active plot" together with "plot.visible"
    property node to control which one you'd like to display. By default,
    the property node refers to plot 0, but you can change to plot 1 or
    other plots by changing active plot property node. You can search
    "Plot" in LabVIEW Help if you'd like to know details.
    Good luck,
    Jian
    On 18 Feb 2004 03:28:49 GMT, [email protected] (Computerman74)
    wrote:
    >>
    >>I have a multiple plot waveform graph (4 plots). I want to turn off
    >>one of the plots, say plot 2. Is this posible from the graphs
    >>property node? The property node seems to only give a reference to
    >>plot 0. I am using labview 7.
    >>Cheers,
    >>Wayne
    >>
    >>
    >>
    >>
    >>
    >>
    >
    >I would love to know if this is possible. I have been trying to figure i
    t out
    >myself.
    >There is a way to turn a single array off and that is what I am doing for now
    >untill this is possible. The plot is still there but reads zero when tunred
    >off. It would be cool to have the abillty to turn off a single plot.
    >I have tryed all the property nodes with no luck. The answer may be in the
    >array size but I can't seem to control that either.
    >For now you can use wire all 4 channels using the comparison select. Use a
    >constant of 0 And wire up a swtich. When the input is false the output is zero
    >in effect making the plot inactive but it still there.

  • Problem about selecting waveform in waveform graph

    Hi all:
    I am developing a project by Labview. Now I meet a problem about selecting the waveform in the waveform graph.
    I am not sure whether it is possible about my idea.
    for example:
    In the waveform graph,  the different waveforms from a couple of channels are displayed. and then I want to select one waveform of them, and corresponding data about this waveform are shown. 
    Thanks so lot
    regards

    hanwei wrote:
    1.  can I zoom in and out in that "waveform graph"??
    You can do this using the graph palette. Just make it visible. The middle control allows you to zoom.
    2.  can I display the plot array or plot index that I select in the waveform graph?
    You can connect the same wire that goes to the ActivePlot property node to an indicator.
    3.  I build a sample codes for my project, in which , I used a random number generater to simulate a DAQmx data collection, and generate a overlapping waveform in the waveform graph.
         but it seems the program is not stable, when i first run the codes, it is ok, and I can select the plot what I want. but after I stop and restart the program, there is error message about "Property Node".
         it seems something wrong about the "waveform graph properties"
    I attached my codes here, anybody know what wrong about it?
    For some strange reason the property node is "messed up". I've seen this happen sometimes with graphs. I don't know what causes it, and the only way I've found to fix the problem is to delete the graph, put a new one on the front panel, and recreate the property nodes. I've typically seen this happen when copying code from another VI that has a graph with property nodes, as I suspect you did. If you delete the graph, put a new one on there, and recreate the property node you should be OK.
    That said, a few comments regarding the code:
    The architecture seems to be a mish-mash of operations, and I'm thinking that you probably want to look at using a producer-consumer architecture. Your producer loop responds to events, and the consumer loop does your DAQ collection.
    You have a race condition with your use of the "size(s) 2" local variable.
    Avoid right-to-left wires.
    The method of creating your arrays seems convoluted. However, since you said you will actually be getting the data from a DAQ system, the actual project code will likely be considerably different.

  • How can I programmatically remove a selection of plots from a waveform graph?

    I have a waveform graph to display a number of plots, which I need to programmatically add and delete to as selections of data are chosen by the user for display.
    I've looked under the VI Server Property node and cannot see anything suitable for adding extra plots, or removing existing plots. I expected to see a Plot Data array variable, with each element containing the data for each of the plots on the graph. There is such an array for the annotations, which I can easily edit by Removing Subset for Array, or Insert into Array, but nothing for the plot data. The Value property is a Variant, which I'm unsure how to handle. Should I be working with this perhaps? Can this be done by creating a Local Variable read node? Or am I missing something simple here??
    Thoric (CLA, CLED, CTD and LabVIEW Champion)

    Hi Mike,
    I was trying to use the Property Node (Value) to read the waveform graph, but I was getting a Variant type back, not a 2D array of DBLs as I expected. Turns out I was passing the graph control reference to a subvi whose control refnum had the Include Type flag unchecked. As a result of this explicit definition, Value was of an uncertain (undefined) type and couldn't be natively provided. It would have had to have been cast into a more specific type to work. Have solved the problem by ensuring all my references are of a strict type, and now (as you recommend) the Property Node (Value) is useful
    Many thanks for the response!
    And many thanks for the demo too! You put that together remarkably quickly!
    Thoric (CLA, CLED, CTD and LabVIEW Champion)

  • How can I have a waveform graph (or chart) updated using the value propertynode without loosing previous data plots?

    I want to have a master waveform graph (or chart) capable of displaying data via the value property node. There are several value nodes in a flat sequence structure. The problem is that the graph (or chart) doest keep the previous data and does display just the very last value property node. Can anybody help me? 

    A graph does not "keep" any data. It is strictly an indicator which displays the most recent values written to it. 
    A chart has an internal buffer, called, Chart History which retains previously written data until the buffer is full. Then it removes the oldest data when new data is sent to the chart.
    1. Sequence structures are almost never needed in good LabVIEW programs. They defeat dataflow and limit parallelism.
    2. Value property nodes (and local variables) should only be used under special circumstances and a sequence structure is not one of those.
    A state machine with shift registers or a Producer/Consumer architecture are more likely to be better ways of doing what you are trying to do and can be implemented without sequence structures or Value property nodes.
    Lynn

Maybe you are looking for

  • HT1923 I Tunes and Windows 8.1

    Just moved to Windows 8.1 from 7- what a bad decision I Tunes worked easily and perfectly under 7 I have Windows Media Player installed. I have a large library of Operatic arias under composer, performer etc. I can open them with difficulty but it th

  • Unable to sign in: PDF TO WORD

    I purchased to be able to convert pdfs to word for £15.62/year When I open adobe and try to sign in this message is potrayed: an error occured when signing in

  • Gaming and Temperatures

    So I am looking into purchasing my favorite gaming series newest addition to their line up: Civilization 5. I tried the demo and it works fine in boot camp on medium settings which is great. My issue is the temperature of my macbook pro. I have a pro

  • ALV Block List

    What is ALV Block List, anybody have documentation or sample programs, mail to [email protected] Regards Vijaya

  • Sending an http request

    Hi, I want to send an http request with a string(this is an xml string)which will give me a response which contains an xml string again.Can anybody tell me how can i do it in java.Any sample code will be a great help thanks in advance.