Array of Clusters with Graph - Y Scale Change Event

Hello everyone
I have a Array of Clusters with a Graph inside each cluster. I need to trigger a event when the user type a new value on the graphs' Y scale and hit "Enter" to apply the change. Any ideas how to trigger that?
I am not considering the "mouse enter" event because I have other events linked with that already.
Thanks
Dan07
Solved!
Go to Solution.

dan07 wrote:
I think that I was not clear. Sorry. Lets thing about two arrays of clusters with graphs: Array of clusters 1 and Array of clusters 2. Both of them have their own graphs insides the clusters.
I want to do the same thing that you told me to do, but with two arrays of clusters instead of one. Changing the scale range of any graph of array of cluster 1 will trigger case A of event structure (just an example), and changing the scale range of any graph of array of clusters 2 will trigger case B of event structure (just an example again).
Then try the following. Dynamic Event Registration nodes are expandable:
a.lia-user-name-link[href="/t5/user/viewprofilepage/user-id/88938"] {color: black;} a.lia-user-name-link[href="/t5/user/viewprofilepage/user-id/88938"]:after {content: '';} .jrd-sig {height: 80px; overflow: visible;} .jrd-sig-deploy {float:left; opacity:0.2;} .jrd-sig-img {float:right; opacity:0.2;} .jrd-sig-img:hover {opacity:0.8;} .jrd-sig-deploy:hover {opacity:0.8;}

Similar Messages

  • How do i send an array of clusters with variable size over TCP/IP?

    Hi,
            I'm trying to send an array of clusters with varible size over TCP/IP,. But I'm facing the following problems:
    1) I need to accept the size of array data from the user and increase the size dynamically.
    I'm doing this using the property node but how do I convey the new size to my TCP read?
    2) I need to wire an input to my 'bytes to read' of the TCP read.
    But the number of bytes to read changes dynamically
    How do I ensure  the correct number of bytes are read and reflected on the client side?
    3) Is there anyway I can use global varibles over a network such that their values are updated just as if they would on one computer?
     Will be a great help if someone posts a solution!
    Thank you...

    twilightfan wrote:
    Altenbach,
     ... xml string. ...number of columns that I'm varying using property node s... I solved these problems by using a local variable as the type input ...o TCP read is creating a problem.... second TCP read gets truncated data because
    its no longer just the first four bytes that specify the length of the data, it could be more as my array of cluster can be pretty huge.
    Instead of writing long and complicated sentences that make little sense, why don't you simply show us your code? 
    What does any of this have to do with xml strings???? I don't see how using a local variable as type input changes anything. The user cannot interact with "property nodes", just with controls. Please clarify. Once the array of clusters is flattened to a string you only have one size that describes the size of the data, no matter how huge it is (as long as it is within the limits of I32). Similarly, you read the string of that same defined length and form the array of clusters from it. How big are the strings? What is your definition of "huge"?
    Here's is my earlier code, but now dealing with an array of clusters. Not much of a change. Since you have columns, you want 2D. Add as many diensions you want, but make sure that the control, diagram constant, and indicator all match.
    The snipped shows for a 1D array, while the attached VI shows the same for a 2D array. Same difference.  
    Message Edited by altenbach on 01-31-2010 01:13 AM
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    FlattenArrayOfClusters.vi ‏12 KB
    ioclusters3MOD.png ‏25 KB

  • How can i segregate an array of clusters with channels id in the cluster

    Hi All
    i am using a keithley 2010 DMM for power measurements,
    i am using the 2010 scan read VI which gives the reading output as an array of clusters, these clusters contain the measurement,units,channel.
    i have 6 channels for measuring voltage across and i want to make 5 readings per second on each channel which makes upto 30 readings per second.
    i want to segregate these clusters from the array according to the channel id and take the results,
    please tell me if we have function for this or you have any possible solution for the same.
    i would be very happy to hear from you and get this solved
    please help
    Thanks in advance
    Sandeep K Shyam

    yeah this looks great...thanks for your response,
    i have modified accordingly and attaching the VI, can you please look into this once
    also one more problem i have with this VI is whenever i am trying to run the VI, the  sub VI (Scan config.vi) gets popped up and waits for user response (next) cntrl+right arrow,  how can i get rid of this and run the VI in continues mode?
    i am attaching my VI along with the kei2010 lib,
    please check this
    Thanks again
    sandeep K shyam
    Attachments:
    sandeep-FinalKeithley20101.vi ‏822 KB
    kei2010.llb ‏901 KB

  • Reference to Array of Clusters with an array element

    Hi,
    I have an array of clusters CONTROL (calling it as "top level cluster array") with one of the cluster elements being a cluster array (please see attached).
    I plan to pass "Reference" of this top level cluster to different VIs (like add element VI, insert element VI, delete element VI etc) and access (add/modify delete) the elements in this array.
    In my code, how do I typecast the Array Element (cluster) to the inner cluster (as shown in the figure) ?
    I am using LV RT on PXI.
    Solved!
    Go to Solution.

    You cannot use references in the same way that you use pointers around in C. LabVIEW does not manage memory in the same way that C does. This is actually a good thing, though C programmers find it "cumbersome" or "restrictive". I have also programmed in C, and frankly I prefer LabVIEW's memory management any day of the week.
    You had not initially mentioned that this was going to be done in multiple places at (potentially) the same time. Given that, my recommendation is to look into using Action Engines. They provide a means of basically providing a one-location acccess for your data. By using a single VI to access/modify your data you preclude the generation of race conditions. You may also want to join this with the concept of using variants to provide a means to quickly find your data rather than looping to find the element you're interested in. This technique has been around for a while and it has been discussed before. There are examples floating around. Will need to check to find one. 
    As for your question regarding using the reference method which you tried to employ in your initial approach, that's simply not going to gain you anything. You will still be creating buffers when you try to access the cluster elements. But you already have this information in the array inside the outer for loop, so you're just creating unnecessary extra programming for yourself. 

  • Trying to clear an array of clusters with image info from memory - overflowing!

    I am using a cluster with IMAQ interface name, session info, image array, and individual image and creating an array of that cluster. I try to clear the cluster by deleting the array elements, read an array of images, save them, and repeat the loop. Over time, though the arrays are tearing through all available RAM. I tried removing local variables (which I understand would save a copy of the entire array to memory every loop iteration) and had no luck - actually the code hangs now on the write function, where it thinks there is no image data. I didn't think I changed anything other than to direct wire where there had been local vars to pass information from one part of the sequence to the next. Help! (screenshots of code attached).
    Attachments:
    framegrab sequence 1.jpg ‏8 KB
    framegrab sequence 1a.jpg ‏47 KB
    framegrab sequence 2 - grab and save.jpg ‏149 KB

    Hi, Nasgul,
    Not sure where you have resources leak - from your screenshots its not clear.
    But one is clear - you may not understand that IMAQ Images in LabVIEW passed by references. So, if you want to create array of images, then for each element IMAQ Create should be called with different name, otherwise all elements referred to the same image. For example, if IMAQ Dispose will be called for the first elementh of the array, then other 9 images will be automatically invalid.
    Compare two code snippets below:
    Common recipe for solving troubles with resources - reduce your application step by step by isolating parts of the code with case structures until application will be stable. Then you will found part of code which caused memory leak. 
    best regards,
    Andrey.

  • Change properties of a cluster element withing an array of clusters

    Hello all,
    I have an array of cluster that is shaped as a line with different display elements.
    A list or a tree wouldn't have made it, so I had to use a cluster and make a table.
    The problem is that I want to change not only the text but also the text color.
    Individually.
    I found this :
    http://www.ni.com/example/30904/en/
    But it change the property in all the clusters in the array, not just the one I need.
    Some people have the same problem :
    http://forums.ni.com/t5/LabVIEW/Reference-to-Array-of-Clusters-with-an-array-element/td-p/1006427
    http://forums.ni.com/t5/LabVIEW/Different-set-of-values-for-two-rings-in-an-array-of-clusters/m-p/10...
    http://forums.ni.com/t5/LabVIEW/array-of-clusters-get-references-to-all-the-clusters/td-p/1079456
    http://forums.ni.com/t5/LabVIEW/How-can-I-reference-the-properties-of-a-control-in-a-cluster-in/m-p/...
    http://forums.ni.com/t5/LabVIEW/Writing-only-to-certain-cluster-elements-in-an-array-by/m-p/2200728
    http://forums.ni.com/t5/LabVIEW/Update-Properties-Of-One-Control-In-An-Array/m-p/3015501
    http://forums.ni.com/t5/LabVIEW/Array-of-clusters-and-in-the-cluster-is-a-bar-meter-how-can-I/m-p/15...
    http://forums.ni.com/t5/LabVIEW/Property-node-of-a-control-inside-of-cluster-inside-an-array/m-p/946...
    Obviously, while in a list/table or tree you can change the property of an individual
    cell (font, color) you cannot do it within an array of cluster, by some sort of magic,
    the property of a cluster element (font, color) are all linked together, hence rendering
    the use of an array worthless.
    A possible hack is proprosed by using control masking, setting one visible and the
    other invisble, swapping their position, whatever. It's a hack you have to perform,
    hence add another code to maintain.
    Is that still the case or is there now a more official way to handle individual cluster
    properties, not just its data ? After all that's a common real-life example that should
    be handled by Labview. In my opinion.
    David Koch
    Solved!
    Go to Solution.

    altenbach wrote:
    One of the elements could be a 2D picture indicator of about the same size. You can write text in any color using picture functions.
    Here's what I had in mind. Seems to work just fine (I would fine-tune the font, picture border, etc. but this should get you started).
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    ColorText.png ‏13 KB
    ColorText.vi ‏9 KB

  • How can I modify the cluster values in an array of clusters?

    Hi all - I can't believe that I am having trouble with this but for some reason I am completely wrapped around the axel with it. I have an array of clusters, they are all strings but with different names. I am using key configuration VIs to setup a readable text file for the user. I also want the user to be able to load up the array of clusters with the values that are in the text file. So I am reading the keys and trying to populate the array of clusters to show what is in the text file and then run the test using those values. However I am not able to get the clusters populated correctly. Does any one have an example of what I am trying to do? Basically I am trying to populate an existing array of clusters with new values. That is what it comes down to. Thanks in advance for any help.

    Go to jki and dowload VIPM (VI Package Maager). From there you ca install OpenG. Lot's of useful stuff.
    Also if you cosider XML to be readable you can use flatten to/from XML.
    =====================
    LabVIEW 2012

  • Control mouseover image does not display when contained in an array of clusters.

    I have been using system booleans (with some customization) for the ability to impement mouseover animations.  For example (default system booleans):
    The mouseover feedback works well with my UI, and for the most part everything is going great.
    However, the mouseover image does not load if the the boolean is contained within an array of clusters (a single cluster with the boolean inside or an array of booleans works as expected):
    The mouseover animation does work for a single array element in the above case (the one which was most recently clicked), but this behavior isn't desirable and it seems buggy if I were to leave this on my UI as it is.
    So I guess I'm just wondering if anybody has encountered this or has any suggested workarounds?  The few that I've thought of so far (maintain a separate array for any set of system boolean controls, check coordinates myself on mouse move event and try to update the proper element in the array, avoid using mouseover animations entirely for this set of controls) aren't all that desirable.  Even though this issue could be considered cosmetic, the UI is very important to me as this code is something shipped to customers.
    This is LV 2011 by the way, so if by some chance the behavior in 2012 is correct please let me know (this alone might be reason enough to convert the project up).  If there is a CAR ID for this behavior and an NI employee wishes to share it I would also appreciate that.
    Best Regards,  
    John Passiak
    Solved!
    Go to Solution.

    Hey Jason,
    A reproducing VI would be any VI that contains an array of clusters with a system control boolean inside.  Here's an example:
    Single Boolean, Single Cluster, and Array of Booleans all show the proper mouseover image.
    Array of Clusters always shows the mouseover effect on the last element which was clicked, but does not show the mouseover effect on other array elements (actually, it seems to be inconsistent--every now and then it does show the mouseover effect on other array elements but it is not at all reliable).
    Best Regards,
    John Passiak
    Attachments:
    MouseoverTester.vi ‏9 KB

  • JSpinner generates multiple change events

    Having problem with JSpinner generating two change events when using double values in the model. It looks like the number editor formatter is causing an event to be generated before it rounds and after it rounds.
              final JSpinner s = new JSpinner(
                   new SpinnerNumberModel(20.0, 0.0, 100.0, 0.0025));
              s.setEditor(new JSpinner.NumberEditor(s, "###0.000"));
              // When value is changed, need to process certain events.
              s.addChangeListener(new ChangeListener() {
                   public void stateChanged(ChangeEvent event) {
                        System.out.println("New Value:" + s.getValue());
              JFrame f = new JFrame("Test Spinner");
              f.getContentPane().setLayout(new java.awt.BorderLayout());
              f.getContentPane().add(s, java.awt.BorderLayout.CENTER);
              f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              f.setSize(331, 254);
              f.setVisible(true);If you modify the editor to use the following format, you can see that the two events are not generated because the formatter does not need to round:
    "###0.000##############"I have to actually modify the model to round the incremented or decremented value to a precision where the formatter will not round the value, which is a pretty messy solution.
    Are there any other workarounds (or solutions) that are a little more elegant?
    Thanks.

    Thanks for the reply.
    This workaround reduces the amount of duplicate events, but I still see double change events that make it through the filter.
    You have to filter events to get the relevant one.
    See :
    http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=476
    5246
    import java.awt.*;
    import java.text.*;
    import javax.swing.*;
    import javax.swing.event.*;
    public class SpinnerEvents{
    JSpinner s;
    JSpinner.NumberEditor jne;
    DecimalFormat dfmt;
    public SpinnerEvents() {
    s = new JSpinner(new SpinnerNumberModel(20.0,
    0.0, 0.0, 100.0, 0.0025));
    jne = new JSpinner.NumberEditor(s, "###0.000");
    dfmt = jne.getFormat();
    s.setEditor(jne);
    // When value is changed, need to process only
    only *relevant event*.
    s.addChangeListener(new ChangeListener() {
    public void stateChanged(ChangeEvent event) {
    double val =
    le val = ((Double)s.getValue()).doubleValue();
    // ignore format event
    if
    if
    if
    if
    (!(String.valueOf(val).equals(dfmt.format(val)))){
    myImportantTask();
    JFrame f = new JFrame("Test Spinner");
    f.getContentPane().setLayout(new
    (new java.awt.BorderLayout());
    f.getContentPane().add(s,
    d(s, java.awt.BorderLayout.NORTH);
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.setSize(300, 300);
    f.setVisible(true);
    void myImportantTask(){
    System.out.println("New Value:" +
    :" + dfmt.format(s.getValue()));
    public static void main(String[] args){
    new SpinnerEvents();

  • Array of clusters and in the cluster is a bar meter, how can I change the color individually?

    Array of clusters and in the cluster is a bar meter, how can I change the color of the bar meter individually for each element of the array?  I have just figured out that you can't change properties of one element of the array without all elements changing.  For the scaling I had to make numeric indicators for each tick of the scale so that each bar meter in the clustered array would have individual scales.  I also had to do some math to scale each barmeter to display correct proportions from 0 to 100%.  Now I'm stumped on the color of the bar meter.  Basically, if the value goes over a setpoint, the bar meter needs to turn red.  It has to be in an array to be infinitely scalable.
    Thanks
    Matt
    Solved!
    Go to Solution.

    You can't do that-
    without a little trick.
    You could consider laying a custom color box over the bar graph in the cluster you can set the color based on the value of the bar graph or even make a "Pseudo"- bar graph using a series of color boxes stacked to look lie a bar and changing values of the Color boxs from empty to full to red.
    Here is an example to demonstrate
    Jeff
    Attachments:
    Pseudo bar.vi ‏12 KB

  • How to create array of indicators, with the indicators numeric text value changes as it falls above or below the limit

    Hi,
    I am a newbie here. Just started using Labview for my project. Currently having some difficulties over here. Hopefully someone could enlighten me. I wanted to create an array of 60 indicators, where the indicators value are measured from the PCI card. But now the problem is how to make my indicator values in the array change its numeric text color if it falls below or above the limit set. I've attached the vi together with this. Thanks.
    Regards,
    CH.Ong
    Attachments:
    testing.vi ‏15 KB
    try.vi ‏120 KB

    Maybe, you can try something like this...
    - Partha
    LabVIEW - Wires that catch bugs!
    Attachments:
    To change Boolean Text Color in Array of Clusters.vi ‏18 KB

  • Using Event Structures with Array of Clusters

    Using LabVIEW 8.5
    Hi all,
    I'm trying to convert an existing application to one that can be used
    through a touch screen. I updated the UI and added an event structure
    to listen for mouse ups on controls that require a HMI keyboard or
    numpad to show up. Although I've been programming for a while, I'm new
    to LabVIEW and am struggling with a problem:
    Is there any way to have an event case listen to an event within
    arrays? I've seen a few examples on the forums, but they all start with
    breaking up the arrays into individual variables. Using the variables,
    they build arrays. This seems pretty tedious, and I'm pretty sure I
    can't apply it to one of my arrays. Essentially, I just want to know
    which cluster in which array the user has clicked on, so I can open the
    HMI keyboard or numpad and send the text to that cluster. In my watered down app (Array of Clusters.vi), I've put 3 arrays of clusters and a few stand-alone controls to give you guys an idea of what I'm taking about.
    BTW, I'm using the HMI Keyboard and Numpad built by the Beta Community (http://decibel.ni.com/content/docs/DOC-1062) and modified it to add a "Clear" button to the keyboard and numpad. Please let me know if I implemented this in the best way.
    Thanks for the help,
    Kunal
    Message Edited by bhatiak on 08-04-2008 03:55 PM
    Attachments:
    Array of Clusters4.llb ‏274 KB

    My old tic tac toe example shows how to determine which square of a 2D array has been clicked.
    http://forums.ni.com/ni/board/message?board.id=170&view=by_date_ascending&message.id=247044#M247044
    You probably can adapt some of it for the arrays on the right. If the array can be scrolled, you also need to account for the "indexvals" offset.
    The Layers controls is easiest, because you only show one element. Just read the "index vals" property to get the array element and parse the coordinates to get the cluster element.
    btw: the small while loop on the right serves no purpose at all and acts just as a CPU burner. You can delete it without any change in functionality. Is there anything else to it?
    LabVIEW Champion . Do more with less code and in less time .

  • Event Structure's value change, not detecting changes when tabbing thru array of clusters

    Hi!  I have an array of clusters (int, int, string, int) control, and want to detecting changes made to the it.  I used the Event Structure's value change case on the array, it works excellent except that it'll only detect the changes when you click out of the element or press the enter key (the one by the numbers, not carriage return).  I want it to detect the changes when I tab thru the cluster or array too, but I can't figure it out... Does anyone have any ideas?
    Thanks!

    mfitzsimons wrote:
    altenbach
    Tried Value Change with my example done in 7.1 and it doesn't trgger an event.  That is why I suggested Mouse Down.
    Curious. I did a few minor edits in 8.0 before saving as 7.1, but the simple value change event got triggered just fine when the value vas terminated with a tab in 7.1. Every time.  Strange....
    Are you on 7.1 or 7.1.1? Maybe there's a difference (I am using 7.1.1).
    LabVIEW Champion . Do more with less code and in less time .

  • How do i change 2 row of array into waveform with delta time and time

    Hello,
    How do i change 2 row of array into waveform with delta time and time
    so the waveform graph will display two waveform,
    waveform, not cluster =]
    and how to extract 1d array from waveform?

    Hi AxE,
    Here is an example VI, that do what You asked for.
    Both requests.
    Hope it Helps...
    Attachments:
    2D_to_Waveform.vi ‏75 KB

  • How to change the tabbing order of an array of clusters?

    How to change the tabbing order of an array of clusters?  I have the cluster arranged in table in the front panel.   The cluster element goes horizontal and array element goes vertically.   When I press the tab key, the cursor goes to the next array element instead of the next cluster item (down instead across).
    Solved!
    Go to Solution.

    Broken Arrow wrote:
    Harold asked a perfectly reasonable and necessary question, but how is that a Solution ???
    I believe it is called the Socratic Method.
    Sea-Story time
    I had the privledge of working for Ron Davis when he managed the Allegheny District of DEC. He was an ex-WO4 (Highest possilbe rank for non-commisioned officer in US Navy, required act of congress to confirm).
    Ron never answered any question I ever saw presented to him. I remember a group of managers in a frenzy over some issue  running to him to to see what he thought. He asked them a series of questions that lead them to the solution and soon they were smiling and slapping each other on the back as they walked away.
    Who is that has a signature that read "it is the questions that guide us"?
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

Maybe you are looking for

  • Old disk-loading iMac upgrade from 8.6 to 9.2.2?

    Hello everyone, I have an ancient Bondi Blue iMac (disk-loading) with OS 8.6. I would like to upgrade it to Mac OS 9. I can buy OS 9 from Fastmac.com for $30, but they are sold out of the OS 9.0 CD. My question is: can I buy the 9.2.2 CD full install

  • Updating the G/L Accounts

    When Installing SAP B1 in Clients place, we would like to up date previous data into SAP B1. Client does not have any ERPsystem, How can I import the Existing Data Available in different books. At time of Importing what are the Basic factors to be co

  • Preview in browser not working since update

    Since I updated to Muse cc 2014 the program locks when I try to preview in browser. A massage stating that "Adobe muse CC has encountered an error and will exit" appears followed by "pendingProcessInfo not found in pending processes", I then have to

  • Copying a project into development component project

    hiii, I have a webdynpro project called DP_OrderEntry developed in NWDS 7.0.9. I need to copy it into development component dc_OrderEntry in NWDS 7.0.14. Can anyone tellme the steps for doing it? Can any error can crop up due to the difference in the

  • Can python be invoked inside a fetchlet?

    Hi Guys I'm trying to build a customized plug-in for our storage device which only has a python API exposed to developers. I'm wondering if it is supported by enterprise manager to invoke python script inside a fetchlet. if it is possible, I'll manag