Problem updating an array of clusters that contain guages

Hello,
I'm having problems when I write to an array of clusters that contain guages.
I wrote an example program to illustrate the problem.
I create an array of cluster of [numeric, numeric].
I populate 4 elements of the array with data.
If I pull out each element with an Index Array function and write the data to 4 indicator clusters independently, I have no problems.
If I wire the 4 element array to an array of clusters, the needles on the guages won't redraw properly.
However, simply moving the mouse over the array element causes the display to redraw just that element.
I've played around with Synchronous Display and Defer Panel Updates but they don't seem to affect this behaviour.
Any thoughts?
A picture of the problem and the VI are attached.
Solved!
Go to Solution.
Attachments:
guage.JPG ‏56 KB
DisplayUpdateTest.vi ‏56 KB

johnsold wrote:
Interestingly one element of the array (but not always the same element) seems to update properly while the others do not. Note Index  1 in the  image.  I saw it do this with Index 2 earlier. This also shows in the OPs image.
Lynn
I too witnessed this same behavior, but it was intermittent.
Reese, (former CLAD, future CLD)
Some people call me the Space Cowboy!
Some call me the gangster of love.
Some people call me MoReese!
...I'm right here baby, right here, right here, right here at home

Similar Messages

  • Problem in downloading an html page that contains images

    Hi,
    This is surekha
    I am facing a problem in downloading an html page that contains images
    The file is downloading , but when I access the the downloaded file it displays X marks in the place where images r present....
    How can i download a html file along the images it contains
    Please help me ...........

    Try posting at the Web Development / Standards Evangelism forum at MozillaZine. The helpers over there are more knowledgeable about web page development issues with Firefox. <br />
    http://forums.mozillazine.org/viewforum.php?f=25 <br />
    You'll need to register and login to be able to post in that forum.

  • How to update a table with strin that contains &

    Hi,
    I would like to update ename col of emp table with a string that contains &
    update emp set ename = 'tom&jerry' where empno = 7369But this gives an error.Please advice.
    Regards,

    Consult the sql*plus reference manual on how to disable the &
    Software engineers should be capable of doing research themselves, please stop abusing this forum to increase your salary by being spoon fed for free.
    Sybrand Bakker
    Senior Oracle DBA

  • An array of vectors that contain a user defined class gives: warning: [unch

    I've read two tutorial on Generics and still don't get everything.
    Anyway I have a user defined class called a Part. I have some Vectors of Part objects, and these Vectors of Part objects are stored in an Array of Vectors.
    Amazingly, I got all the checking right so far; however, am now trying to loop through my Array, an pass the individual Vectors to a method:
    //create a single list of all parts numbers
    //add the part number from each vector/part into a new vector of strings
    for(int y=0; y < ArrayOfPartVectors.length; y++) {
        Vector<Part> vTemp = ArrayOfPartVectors[y];
        vAllPartNumbers.addAll(pm.getPartNumbersFromVector(vTemp));
    }I get the following warning:
    com\gdls\partMatrix\PartMatrix.java:75: warning: [unchecked] unchecked conversion
    found   : java.util.Vector
    required: java.util.Vector<com.gdls.partMatrix.Part>
                                    Vector<Part> vTemp = VectorArrayParts[y];
                                                                         ^
    1 warningNow I have put the 'check' (<Part>) in every concievable spot in that statement, and I get a compler error now instead of a warning.
    Any guidance would be appreciated.
    Thank you,

    The problem is not with Vector. If you want to use it that's fine.
    You could also want to use ArrayList because the class is roughly equivalent to Vector, except that it is unsynchronized.
    But your problem is that arrays and generics don't mix well as previously mentioned in the first reply.
    You did not specify the type of ArrayOfPartVectors but I guess it is Vector[], not Vector<Part>[], right?
    So you'll have an unchecked warning when doing the conversion from Vector to Vector<Part> in the assignment within the loop.
    Maybe you tried to use a ArrayOfPartVectors of type Vector<Part>[] instead but found it impossible to create it with new
    You can do it with Array.newinstance() but you'll get an unchecked warning at this line instead of later.
    So mixing generics and arrays will allways result in warnings.
    You should read: [url http://www.angelikalanger.com/Articles/Papers/JavaGenerics/ArraysInJavaGenerics.htm]Arrays in Java Generics.
    Regards

  • Waveform Chart NOT allowed inside array of clusters; Dynamic plot stacking?

    The NI Developer Zone has a VI that does something I want - dynamically
    stack plots in a useful way. Unfortunately, I would like those plots
    to actually be Waveform Charts and NOT Waveform Graphs (as the
    documentation specifies but LIES!)
    A little further experimentation shows you that it is seemingly not
    possible to make an array of clusters that contain Waveform Charts!
    Why?
    Alternatively, are there any other ways to smartly show many signals at
    once? I have found multiplots to be frustrating as it is difficult to
    assign the number of plots once you start the VI (hence the existence
    of Dynamic Stack Plots).
    DynamicStackPlots here:
    http://sine.ni.com/apps/utf8/niepd_web_display.display_epd4?p_guid=B123AE0CB938111EE034080020E74861

    If you have LabVIEW 8.0, have a look at the new "Mixed Signal Graph"
    (see e.g.: http://zone.ni.com/devzone/conceptd.nsf/webmain/C6B79FA61959D9D68625706E006F7462 )
    LabVIEW Champion . Do more with less code and in less time .

  • Type defined array of clusters for holding configuration data - setting default values for each array element

    Hi,
    I was wondering if I could get some information and opinions about using a type defined array of clusters to hold configuration data.  I am creating a program to test multiple DUTs and wanted to have a type defined control for each DUT containing the information needed to create the DAQmx tasks for all of the signals for that DUT.  I am wanting to do this so that the data is hard-coded and not in a file that the user could mess up.
    The type def controls are then put in a subVI that chooses the appropriate one based on the DUT Type enumeration wired to a case structure.  
    I am having problems with the type defined control.  I am seeing issues when attempting to save a unique configuration to each array element in the array of clusters.  Somehow it worked to begin with, but now clicking "Data Operations --> Make Current value default" on individual elements of the cluster or the entire cluster (array element) is not saving the data when I re-open the type def control.  What am I doing wrong?  Am I trying to do something with arrays of clusters that I should not be doing?
    I have attached one of the type defined controls for reference.  I tried changing it to Strict to see if that helped, but no luck.
    To reproduce, change the resource string for array element 0 and make the new value the default value.  Then close the type def, and re-open it.  The old value is still present in that element.  The VI is saved in LabVIEW 2012.
    Solved!
    Go to Solution.
    Attachments:
    CM_AnalogInputs.ctl ‏11 KB

    Values of a typedef are not proprigated to instances of the control. THey will pick it up if created AFTER the data values have been changed. THey will not get updated with future changes. You should either create a VI specifically for hardcoding your values or implement a file based initialization. The file based would be much better and more flexible. If you don't want users to modify the data simply encrypt it. There is a noce blowfish library you can download.
    Mark Yedinak
    "Does anyone know where the love of God goes when the waves turn the minutes to hours?"
    Wreck of the Edmund Fitzgerald - Gordon Lightfoot

  • Keyboard "tab" control in Array of Clusters

    I'm trying to polish some of my LabVIEW user interfaces so that my users can work faster in them and so that they follow more "Windows UI Standards" (or whatever).
    I have an array of clusters.  The cluster has 3 numerics.
    When a user "focusses" on the first numeric within a cluster and hits the tab key, it moves the focus to the second numeric.  Hit tab again, and it jumps to the 3rd numeric.  Hit the tab key a 3rd time and it jumps back to the first numeric in the cluster.  What I want to happen is for the focus to move to the first numeric in the next element of the array.
    I've started to play around with the "Key Down" event case that has a conditional looking for "TAB" and then checks the "FindCtrlWithKeyFocus" with the last numeric.  My probes within this event show that the "TAB" key detection is working, but the "FindCtrlWithKeyFocus" never has a TRUE output from the "CtrlFound?" output of the Invoke Node.
    Even if I did know if tab was pressed in the last element, I'm not real sure how to move focus to the first numeric within the next cluster element of the array.
    A numeric array behaves in the correct way.  I could get the program working the way I want with a 2d array of numerics.  However, each numeric has different data entry parameters and there is also a lost of "self documentation".  I would like to find a solution because this has come up with other, more complex, array of clusters that would not be solveable with a 2d array of a base type.
    Seems overly complicated to me.
    Bonus Question: The default value of my numerics is 0.  When my user clicks a numeric the cursor is on either side of the 0 and the user has to delete the 0 prior to their data input.  When a numeric is entered via the Tab key, the whole field is selected.  When the whole field is selected, whatever the user inputs will replace the original "0" that was in the field.  Anyway to have the whole field selected when the user uses the mouse?
    Sorry for the wall-of-text post (and the preposition hell).  Thanks for your input.
    Solved!
    Go to Solution.

    Well I've gone and gotten the tabbing behavior you're looking for.
    -the key is to set "skip when tabbing" on the controls inside the clusters to true, and leave it false for the array elements.  Now when keyfocus is on one of the cluster controls and Tab is pressed, LV will put the keyfocus on the next visible array element.
    -then use a "key down?" filtering event to check and see if any of those controls have keyfocus when Tab is pressed.  If so, and it's not the last control in the cluster, discard the keypress and programmatically advance keyfocus to the next item.  
    -Finally if the Tab press was not discarded, use a normal "key down" UI event to check if one of the array elements now has keyfocus and if so, set KF to the first control in its array.
    So in short, this setup turns off tabbing along a row so that every tab will move to the next row.  Then it filters out Tab if it's not yet at the end of the row.  Finally, it automatically puts the cursor in the first column when the row has advanced.
    One significant drawback is that it only tabs between visible array elements.  You can probably make it auto scroll.
    I'll leave it as an exercise for the reader to handle the shift+Tab (reverse tabbing) key presses.
    To me, this runs up against three holes in LV UI programming:
    1) Array Element events should be available.     The Array:Key Down event only handles key presses when the array has keyfocus, not when things inside it do.  Any kind of key filtering has to be done at the VI level (!!!).
        The data source for these events should include the element index (eg what cell was clicked on?)
    2) There aren't effective ways in VI server to deal with individual array elements.  I recognize that some of it is the basis that array elements have the same properties, but there are display and selection properties that do differ between cells.  I ought to be able to specify that a particular cell index has keyfocus.  Arrays, why can't you be more like Tables?
    3)Tab order should be flat, not hierarchical.
    edit: in case the snippet messes things up, file is attached.
    -Barrett
    CLD
    Attachments:
    Tab through cluster array elements.vi ‏28 KB

  • How to increment array that contains two clusters whose visibility is controlled by a visible property node and selected by a radio button.

    I am trying to use a property node: visible in order to enable or disable one of two clusters. These clusters are in a larger cluster and this larger cluster is in an array. The two clusters are controlled by a radio button (one labeled transistor and the other diode). When diode is selected, the corresponding diode parameters cluster should be visible and when transistor is selected, the corresponding transistor parameters cluster should be visible. In the mean time, the cluster of the device that is not selected should not be visible. There are at least 45 elements in the array (but not more than 45). Data is entered into each cluster (diode or transistor data) for each element in the array via the increment/decrement. The problem is when you select the first radio button (transistor) and enter data, when you increment the array for a new device selection, since a visible property node was used on the cluster, a loop is created where a new cluster is trying to be shown, but the old cluster is also trying to be shown (because it is the one referenced by the property node. How do I get rid of this loop and still be able to increment the array and keep my data intact for future use? Attached is the vi
    Attachments:
    ChooseScan.vi ‏17 KB

    You could try something like this.  However, if you know how to use an xcontrol, that would be a better way to implement the above functionality so that these UI characteristics are not a part of your main VI.  The problem with the above VI is that you're looping every 100 ms just to update your UI.
    Also, try using the "disabled" property node, instead of the "visible" one.  That way, the user will still see the options he has but they will be grayed out.
    Message Edited by Sudhir Gopinath on 06-25-2007 04:45 PM
    S G
    Certified LabVIEW Architect, Certified TestStand Developer, Certified Professional Instructor
    Attachments:
    ChooseScan_1.vi ‏19 KB

  • After a malware attack last week that rewrote my registers I had to restart from a restore point. The problem is now when firefox wants to update, it want to use the site that contains malware. I need to reset it to the proper site how do I do this?

    My son was using the cpu at the time of the first attack. He got it cleared out and working. A day later it hit again when I was using the computer. As soon as I saw the fake virus scan I brought up taskmaster and stopped it. Almost immediately it started running again so I stopped it a second time. When I did, it shut down windows explorer. The only thing that would run was the malware. I brought it up at a restore point and it ran normally. This cycle has been repeated several times.
    Both Avast and SpybotSD will find and delete the malware, and both of these update normally. I think that when firefox updates itself, it is requesting data from a malware site rater than from you. How do I reset this?

    Try this:
    #Go to '''Tools '''| '''Options '''| '''Advanced '''and click the '''Network '''tab.
    #In the Offline Storage menu, click the '''Clear Now''' button.
    #In the location bar, type '''about:config '''and hit Enter.
    #In the filter at the top, type: '''keyword.URL'''
    #Double click it and remove whatever's in there. You'll see it revert to "Default" and "String".
    #Go to File | Exit
    #Restart Firefox and go to the page you want to set as your homepage
    #Go to '''Tools '''| '''Options '''| '''General'''.
    #Make sure it says "''Show My Homepage''" in the first dropdown menu.
    #Click the button called "'''Use Current Pages'''" to set the homepage to the one you have on the screen.

  • 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

  • Brick Wall Problem: Array of Clusters, Size of array from reference

    Good Morning Forums,
    I have hit a brick wall with my application and I am hoping somebody can help!
    I have an array of clusters of indeterminate size (the cluster is generic, data contained not relevant.).
    Inputs to the VI are: a reference to the array, and a variant containing the data.
    My problem is I need to determine the array size from these two inputs and I cannot find a way to do it!
    If the array contained a standard data type I can use the class name property to determine data type, and the size of the array returned from "select size" property to determine dimension size.  With this information i can cast the variant into the correct data type and use this to determine the size of the array.  If the data is a cluster the class name simply returns "cluster" so I cannot cast the variant and therefore am unable to determine the size.
    I am not worried about casting the data (once i determine the size this bit is no issue), I just need to determine the size (and preferably number of dimensions) of the array. Can this be done?
    Cheers for any help
    J
    John.P | Certified LabVIEW Architect | NI Alliance Member
    Solved!
    Go to Solution.

    John.P wrote:
    Good Morning Forums,
    I am not worried about casting the data (once i determine the size this bit is no issue), I just need to determine the size (and preferably number of dimensions) of the array. Can this be done?
    Cheers for any help
    J
    There seem to be a couple of potential solutions.:
    #1 if the varient is created within LabVIEW you can wite size(s) to a varient attribute.  This would be pretty straightforward and easy to implement- I imagine you would have thought of that so you may not have access to the code writing cluster to varient and it gets a bit trickier.
    #2 cast the varient to string and return string length-  this should give you a measure of total size and you would need to know the size per element of cluster (just cast one instance of cluster array to varient and then to string with size and size++) but this only returns the total size of the array since nDim arrays are actually stored sequentially. 
    Hope this helped
    Jeff

  • Array of clusters does not updates properly

    Hello...
    I builded a VI to split a series of 10000 values in many segments, each one overlapped by 50 %. The product of all the values of each segment is calculated and by means of visual inspection and Led selection (green means that the segment will be used, red means that the segment will not be used), I can select which segment will be used for the final sum. For example: if I have 20 segments, but only segments 4, 8, 15 are green, only the products of the segments 4, 8 and 15 will be summed to generate the final result. The final result should be refreshed if the Lenght of the Segment is changed or if any Led is switched to green or red, but the update does not occur properly. Sometimes all the segments are showed properly but if I change one Led or the Lenght of Segment control, the given result is wrong. When the Lenght of Segments control is changed, all the Leds need to be adjusted to green state.
    I don't know where is the problem in my code, but I think that is something related to the cluster constant that is wired to the first Unbundle by name, since that this constant was created from the cluster before it was inserted into array, and not from the array. If I create the constant from the array, the code returns an error.
    To avoid race conditions I used flat sequence.
    Thanks in advance for attention and help.
    Dan07
    Message Edited by dan07 on 07-26-2008 08:31 AM
    Attachments:
    Array of clusters.vi ‏43 KB

    I spotted one problemous area:
    Where you have an uninitialized shift register, so for every event the value of the last iteration is used.
    What's the meaning of this piece of code?
    I think you devide the length of the array by half the length of the segment?
    Ton
    Message Edited by TonP on 07-26-2008 05:34 PM
    Free Code Capture Tool! Version 2.1.3 with comments, web-upload, back-save and snippets!
    Nederlandse LabVIEW user groep www.lvug.nl
    My LabVIEW Ideas
    LabVIEW, programming like it should be!
    Attachments:
    Array of clusters_BD.png ‏2 KB
    Array of clusters_BD2.png ‏1 KB

  • When i update to the latest version (7.0.3), there is a message appear to me when i open any application that contains notification such as (What'sApp or BBM),this message said (Connect to iTunes to use push Notification),How I can to stop these message?

    When i update to the latest version (7.0.3), there is a message appear to me when i open any application that contains notification such as (What'sApp or BBM) , this message said (Connect to iTunes to use push Notification) , How I can to stop these messages that appear to me constantly?

     Hi,
    One of my ex-colleagues has installed a NI-DAQ 6.5 in our system. [And I do not see any other naitional instruments card in the CPU of the computer, may be he removed it] I deleted the account and all his files in the system. When I am trying to install version8.0, its not getting installed and giving me a message that I should uninstall the previous version by going to Add/Remove programs in the control panel.
    I tried doing that, but the "Change/Remove" button does not seem to work...[There is no response and so unable to install the new version...]
    Any idea how can this problem be solved?
    It is a windowsXP operating system with SP2 installed on a machine with P4 processor.
    Thanks

  • Update a slider insider an array of clusters

    I have an array of clusters. Each clusters has several controls, one of
    which is a slider. I want to change the scale of the slider
    dynamically, since I have one slider per variable in my system. I'm
    using a for loop to access each cluster in the array and update the
    scale of the slider to match the range of the variable. But when doing
    this, the scales in all the sliders are updated at once, thus all
    sliders end up having the range of the last variable.
    Is there a way to avoid this automatic update of all the elements in an array?

    In the unlikely chance that your array size is fixed you could work with a cluster of clusters
    You can then use the Controls[] property to access the individual maximum and scales property nodes.
    Incidently I had seen this before http://forums.ni.com/ni/board/message?board.id=170&message.id=170076&query.id=49401#M170076. There are some tips on how to get around the array to cluster limitations. They might apply to you.
    David
    Message Edited by David Crawford on 06-21-2006 07:53 AM
    Message Edited by David Crawford on 06-21-2006 07:53 AM
    Attachments:
    Cluster Of 5.jpg ‏31 KB

  • Had to remove itunes from my computer to reset the computer. Now I'm having problems syncing my iphone with the computer. Computer is saying it wants to download updates to the phone but that will delete things I downloaded straight from the phone. Help!

    Had to remove itunes from my computer to reset the computer. Now I'm having problems syncing my iphone with the computer. Computer is saying it wants to download updates to the phone but that will delete things I downloaded straight from the phone. Help!

    iTunes thinks you have a new computer because you restored the OS. Open iTunes and authorize it to the same account you have on the iPhone. Did you restore your iTunes content from a backup after resetting your computer? Have you been syncing regularly with the computer, and does the iTunes library on the computer contain your apps, music and videos? If so just sync and your content will be removed then restored.
    If you have not hopefully you have now learned something. You can recover apps and purchased songs by connecting the phone, without syncing, and choose "Transfer purchases..." from the File menu.

Maybe you are looking for