Controlling property node inside a arrayed cluster

I need help on how can i change programmaticaly a color of led/boolean on a specific element in an arrayed cluster.
attached is sample vi, i need to change the color of the status led boolen to yellow if the sn = 'No Unit'.
tried to use property node but it did change all the element in an array. 
mytestautomation.com
...unleashed the power, explore and share ideas on power supply testing
nissanskyline.org
...your alternative nissan skyline information site
Solved!
Go to Solution.
Attachments:
try.vi ‏12 KB

Arrays must contain identical elements.  If those elements are clusters its not an issue but lets simplify your array to an array of booleans for clarity.  but each element in an array most have the same properties.  You will not be able to change the Colors4[] property on one element of the array although you can set the Colors4[]property on ALL elements of the array. 
In your case- it sounds like you need a control type that can have multiple values (color box) to display one of several colors (Green=good ser, Yellow = No ser, Red = Bad ser, ect.) and not a boolean that has exactly 2 possible values.  Here's a custom button I got as a gift a while back.  See if it helps
Jeff
Attachments:
Round Color Box.ctl ‏4 KB

Similar Messages

  • Tab Control Property Node gives a build error when used in a VI for LabVIEW PDA

    Hello,
        Iam new to LabVIEW development & need help regarding this:
        We are trying to port a LabVIEW application from desktop to a Windows Mobile PDA. Please note that the LabVIEW application works fine on the desktop. In one of the VIs, a Tab control property node is used which gives a build error with LabVIEW PDA project. A sample VI which shows the problem & the error list snapshot is attached with this post. Can anyone please suggest an alternate approach to achieve the same functionality with LabVIEW PDA? Waiting for an early response from anyone...
    Thanks & Regards,
    Subhashini
    Attachments:
    VI_Error.zip ‏31 KB

    Hello Ton,
        Am glad that i got a response, thanks. The following links indicate that Tab control is supported on PDA target:
    http://digital.ni.com/public.nsf/allkb/CBA335641E27B858862571490015EA88?OpenDocument
    http://forums.ni.com/ni/board/message?board.id=170&message.id=221507&requireLogin=False
        I feel that the Tab control property node that has been used in the VI (which is attached earlier) may not be supported on the PDA target. Can u (or any LabVIEW expert) suggest an alternate approach to achieve the same goal with LabVIEW PDA (changing colour of Tab control pages programatically)??
        I had missed out some details earlier: We are using LabVIEW 8.5 PDA module on a Windows Mobile PDA.
    Thanks & Regards,
    Subhashini

  • Tree Control Property Node for Accessing "Child Text" String Array

    When adding items to a tree control using the EditTreeItems invoke nodes, the inputs include "Child Tag", "Item Indent", "Child Only?", "Glyph Index", "Child Text", and "Left Cell String" as can be seen in this screenshot.
    There are property nodes for the tree control for accessing each of these elements, except for the "Child Text", which is an array of strings. It is possible to access this data as outlined in this forum post, but this method is somewhat involved and round about. 
    I suggest that a property for the Tree class be created to access the Child Text array directly.

     The work around only works if you do not have an empty string element some where in the middle.
    At lest could the "Active Celltring Property" read return an error when you have gone beyond the end of the array.

  • Property nodes to items in cluster are FRAGILE

    This issue has bugged me for a long time .  I just got bit again and I wonder if anyone else has a workaround.
    I just checked and LV 2009 has it too.
    Create a custom control of a cluster with three elements named A, B, C (numeric controls, booleans, whatever, it doesn't matter).
    Make it a TYPE DEF (non-strict) and save it.
    Put an instance of it on a new VI panel.
    Create a PROPERTY NODE for item B and set it to DISABLED property.
    Wire a constant to that property node.
    Now, if you run the VI, it sets the DISABLED property of item B to the value of the constant.  Fine.
    Now go to the TYPEDEF, and add another item, called A2 to the cluster.
    Re-arrange the cluster order so that it's A, A2, B, C, and save the type def.
    Look at your diagram.  The property node is no longer linked to B, it's now linked to A2.
    Apparently, LV uses the cluster order internally to keep track of the links.  So now I'm linked to A2, not B.
    If A2 was a different type of object from B, then you MIGHT get lucky and the diagram breaks. At least then, you can see the fact that it changed.
    But almost everything has a DISABLED and a VISIBLE property, if that's the one you're using, then you won't notice that it was changed behind your back.
    I have taken to adding a free label with the name of the expected control (in parentheses) next to the property node, along with the true label.  So if I see a discrepancy between the true label and the free label, I can recognize such a case.
    But that's only if I remember that this crap happens.
    Anybody got any better ideas?  How can I prevent, or at least recognize, such an unwanted change?
    Bonus question: the same thing happens with events, for the same reason (I suppose).  If I tied an event to item B, that event switches to item A2 behind my back.
    Steve Bird
    Culverson Software - Elegant software that is a pleasure to use.
    Culverson.com
    Blog for (mostly LabVIEW) programmers: Tips And Tricks

    CoastalMaineBird wrote:
    This issue has bugged me for a long time .  I just got bit again and I wonder if anyone else has a workaround.
    I just checked and LV 2009 has it too.
    Create a custom control of a cluster with three elements named A, B, C (numeric controls, booleans, whatever, it doesn't matter).
    Make it a TYPE DEF (non-strict) and save it.
    Put an instance of it on a new VI panel.
    Create a PROPERTY NODE for item B and set it to DISABLED property.
    Wire a constant to that property node.
    Now, if you run the VI, it sets the DISABLED property of item B to the value of the constant.  Fine.
    Now go to the TYPEDEF, and add another item, called A2 to the cluster.
    Re-arrange the cluster order so that it's A, A2, B, C, and save the type def.
    Look at your diagram.  The property node is no longer linked to B, it's now linked to A2.
    Apparently, LV uses the cluster order internally to keep track of the links.  So now I'm linked to A2, not B.
    If A2 was a different type of object from B, then you MIGHT get lucky and the diagram breaks. At least then, you can see the fact that it changed.
    But almost everything has a DISABLED and a VISIBLE property, if that's the one you're using, then you won't notice that it was changed behind your back.
    I have taken to adding a free label with the name of the expected control (in parentheses) next to the property node, along with the true label.  So if I see a discrepancy between the true label and the free label, I can recognize such a case.
    But that's only if I remember that this crap happens.
    Anybody got any better ideas?  How can I prevent, or at least recognize, such an unwanted change?
    Bonus question: the same thing happens with events, for the same reason (I suppose).  If I tied an event to item B, that event switches to item A2 behind my back.
    For the disabled property inside of cluster whos definition hcanges... we are screuued.
    For the events your idea to include the text name, is the same technique that Jim Kring shared with us when he discovered the same thing can happen with dynamic event references. I belive that was CAR'd.
    No solutions so no bonus points.
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Is it possible to put property node inside for loop?

    I have created three separate property nodes (plot color) for my 3 XY graphs.
    Is it possible to have one property node, say plot_color_i and put this inside the for loop where i runs from 1 to N,
    where plot_color_1 would update XY Graph 1, plot_color_2 would update XY Graph 2, etc.?
    See the attached VI.
    Solved!
    Go to Solution.
    Attachments:
    XY Plot Example.vi ‏18 KB

    Yes.  Create an array of references of the XY graphs and have that auto-index into the property node in the For Loop
    Attachments:
    XYPlotExampleMOD.vi ‏18 KB

  • Tab Control Property Node unknown error on TPC

    I am using Lab View 8.6.  I am programming an HMI onto a TPC 2106.  I am using a Tab Control and it workls fine.  The problem is when I add a property node for the tab control to the block diagram.  I get an unknown error no matter which property I choose or if it is read or write.  I tried it on a vi destined for the computer and it works fine.  It seems to be an issue with the TPC 2106 as the destination.

    Hi vrundquist,
    When compiling a VI for a TPC, there are many properties of controls and indicators that will not be supported.  Which properties specifically have you tried?  I want to be sure you are choosing a property that should be OK.  For example, try the Visible property.  Also, is there anything else going on in your code, or can you reproduce this with a VI that has nothing but a tab control?
    Regards,
    Brian A.
    National Instruments
    Applications Engineer

  • VI Reference Property Node inside sub-vi

    Hey Folks,
    I was always curious about why this is:
    If I open a vi-reference in one vi, and pass the reference to a sub-vi, I can put a property node in the sub-vi and get all properties just fine - as long as I am in debug mode.  When I compile to an executable this problem has its own error message and everything.  So why does debug mode not throw an error too?  I'm just trying to deduce what the heck is the difference.
    Check my painstakingly time-consuming example.
    -Devin
    I got 99 problems but 8.6 ain't one.
    Attachments:
    OpenMyReference.zip ‏42 KB

    When I discovered this issue I was coding an "About" modal screen that a user could select from a run-time menu.  This was supposed to work just like Labview's "Help->About Labview" screen, giving program description and version information.  So I tried to simply link in the revision from my vi's proerties because that would automatically keep a revision count and I didn't care what the format was as long as I could get a number.  I just wanted an easy way to check the revision, and its easy to give someone simple instructions to check the "about" screen.  Is there an easy way for a user to check the revision if all I do is put it in the application builder?  User-friendliness is key, because for me to support the application I will need to have them tell me the revision they are using over the phone or in an email.
    Will it be possible to create this screen in 8?  If I just do it in the application builder, is there any way to link to it and build an "About" screen?  I don't really care what format.  It could be revision 728 as long as a user can get to it in a simple way.  Otherwise I will have to just build a screen with plain text on it and edit the text by hand every time I build an application.  Isn't there a more elegant way to do it?
    Message Edited by billings11 on 10-20-2005 11:28 AM
    -Devin
    I got 99 problems but 8.6 ain't one.

  • How can I set the caption text of picture controls inside an array or how can I choose which array element is assigned using the array elements caption text property.

    I have 8 picture controls inside an array and I would like to set the caption text of these controls.
    I have used the property node of the array and used the array elements property caption text to set the text.
    The problem is however that I set the same text to all the picture controls inside the array.
    My question is how to set caption text of specific elements (Picture control) that I have so far only been able to access using the array elements caption text property.

    Some more help
    1 You could use the caption of the array and place it in front of the selected picture and update that using property nodes.
    2 Like Norbett said if you use a cluster of pictures then their caption can be updated individually.
    Here is a an example that demonstrates the above
    David
    Attachments:
    Modify the Captions Of Pictures.vi ‏83 KB

  • Problem in writing to a property node of a cluster

    Hello together!
    I have a problem in writing to a property node of a cluster which contains several control elements, such as combo boxes or string controls.
    I would like to set the options to choose for an array of such clusters.
    I tried to do this by writing to property node --> value, but the the control element in the cluster does not remain a control, but instead an indicator. The can't choose one of
    the options that I set. So I further set the property node --> indicator (of the cluster) to "False", with the purpose to keep the control as a control. This results in a comment from Labview,
    that this is not possible as long as the Vi is not in edit mode. I don't understand this comment. If I look to Labviews toolbar "Operate", I see that I am obviously in edit mode.
    If anybody could help me, or suggest a better solution to solve my problem I would be very glad.
    Thanks a lot!
    Woodi
    An example of what I tried to do:
    Attachments:
    How to write to a cluster.vi ‏42 KB

    I took the liberty to modify your VI for an alternative approach (LabVIEW 7.1). You should keep your array of 32 clusters in a shift register and show only a single cluster as a front panel control.
    Selecting a different transducer from the listbox on the left will load its settings into that control via a local variable.
    Any changes to the settings will modify the currently selected array element
    At any give time, a boolean array shows which transducers have changed settings
    At any given time, a listbox summarizes all settings.
    Let me know it this makes sense to you. These are just some ideas, modify as needed. Good luck!
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    How_to_write_to_a_clusterMOD.vi ‏87 KB

  • Can i create a property node of a property node?

    hello - i made a small vi that im attaching to visiualize what i am wanting to do. i have two modes in my vi - one with automation on and the other off... in manual control mode.
    in automation mode...i am reading a sensor (hall effect) and when the boolean is true, then the property node of a stop motor event is automatically executed.
    if i want to be in manual mode, i don't want that property node to execute whenever the boolean reads true. i only want to be able to press the stop button manually.
    so i tried creating a property node of a property node, and chose the "disabled" property wiring a 1 constant into it which should be "disabled".
    anyway - i don't know if this is even possible cause i am getting an error. can i make this work or how can i turn automation off and therefore turning the property node to the stop motor off too?
    thanks!
    Attachments:
    AUTOMATION CONTROL TESTING.vi ‏85 KB

    Don't overcomplicate things!
    You don't need a property node of a property node, that would make little sense. Simply place the property node inside a case structure so it only executes under certain conditions.
    LabVIEW Champion . Do more with less code and in less time .

  • I don't know how to use the property node to get information out of my sub vi while it is working.

    I had a question answered earlier about passing information out of a sub vi, and was helped out. The problem is that I don't understand what is happening as I can not reproduce the results. I am now trying to take results of a comparison (true-false) and pass that back out of my sub vi. I tried a property node and to connect a refnum control to it in the sub vi. Then I tried to connect an indicator to its terminal in the main vi, but was unsuccessful can someone tell me how and why, step by step, to pass this information out. Starting with the point of information in the sub vi to the indicator in the vi. I would appreciate any help that you could give m
    e.
    Attachments:
    Pass_a_Reference.vi ‏15 KB
    GL_Flicker_mod.vi ‏77 KB

    Step by step:
    1. On your main vi Front Panel, create your boolean indicator.
    2. On the block diagram, right click the new boolean indicator and select Create - Reference.
    3. On sub-vi front panel, create boolean indicator (or use one that is already created).
    4. On sub-vi front panel, create a reference (Controls Palette - Refnum - Control Refnum).
    5. Right click on the newly created Refnum and select Select Vi Server Class - Generic - GObject - Control - Boolean. The refnum label changes to BoolRefnum.
    6. On sub-vi block diagram, create Property Node (Functions - Application Control - Property Node). Find the BoolRefnum and move it close to the new Property Node.
    7. Wire the BoolRefnum to the reference input of the property node.
    8.
    Right click on the property node and select Change to All Write.
    9. Move mouse to point to Visible inside property node box, left click and select Value.
    10. Wire the boolean indicator from step 3 to the Value input of the property node.
    11. On sub-vi front panel, right click on icon and select Show Connector.
    12. Click on empty connector spot then click on the new BoolRefnum. Save your sub-vi.
    13. On main vi block diagram, connect refernece created in step 2 to the new connector terminal of sub-vi.
    14. Save and run.
    Here are the modified vi's.
    - tbob
    Inventor of the WORM Global
    Attachments:
    Pass_a_Reference.vi ‏20 KB
    GL_Flicker_mod.vi ‏83 KB

  • Coercion dots, Typedef. and Property Nodes

    Hi,
    following problem:
    1. I place a simple Control (Button 1) and connect it to an Indicator (Indicator 1) -> OK
    2. I place a Button as Typedef. (Button 2) and connect it to an Indicator (Indicator 2) -> Coercion dot on Indicator 2 (I don't see the point of a boolean coercion, but OK)
    3. I create a property node for Indicator 1 (Value) and try to connect a constant (right-click>Create>Constant -> the constant is grayed out and the error message is 'type definition not found or contains error'
    Details: The master copy for this type definition could not be found or the master copy has errors. You must find and fix the master copy, or right-click this type definition and select Disconnect.
    4. I remove Button 2 and repeat step 3 -> the same thing happens
    If I connect an existing boolean constant to the property node there is a coercion dot. As a matter of fact for using one Typedef. Control in a VI all other control property nodes suddenly have coercion dots even if I remove the Typedef. control. Does it mean either all controls and indicators better are typedef. or none at all?
    Thanks in advance.
    P.S.: the problem occurred originally in a VI with much more than two buttons...

    benMyer wrote:
    Something else: did you realize that the spell-checker for this forum does not know the word 'LabView'?
    Because you are spelling it wrong. try LabVIEW instead.
    LabVIEW Champion . Do more with less code and in less time .

  • Property node of a control inside of cluster inside an array

    I've created a control that has a cluster made of a Boolean, a String and a Numeric.  Then in my front panel I've created an array of these custom controls.  I would like to have access to the property of the controls inside of the cluster within the array.  ie, I want to change the color of the Boolean or make it blink, or "disable and gray" the text box.  I think I'm on the right track, or maybe I'm on the wrong path.  I've attached and example VI (testtray.vi) and the control that I'm using (UUT_Display.ctl).  Please excuse the use of a Flat Sequence Structure, I know it's poor programming practices, but I just wanted to throw something together.
    Any help would be appreciated.
    kevin
    Solved!
    Go to Solution.
    Attachments:
    testTray.vi ‏19 KB
    UUT_Display.ctl ‏5 KB

    I have enclosed a quick and dirty example of replicating the blinking in an array of clusters.  You can turn it on and off, but as we have noted, only for all of the elements.  If you were only showing one element of the array you could change properties based on which element was displayed.  You probably want to see them all.  In that case, you could use a cluster of clusters.  This may be a pain, but I would suggest that you use an array of clusters to do your manipulations.  Use Array->Cluster to convert to a cluster for display purposes.  Then you can manipulate the properties of the cluster.
    My guess is easier said than done, good luck.
    Attachments:
    Blink182.vi ‏98 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

  • Save array control to .cfg with property nodes.

    Hi there!
    I have a front panel with many (and I mean many!) boolean arrays in tabs, and I want the option to save the values selected by the user to a .cfg file, which will be used to make the same selection again without the tedium of clicking on buttons. The only controls I want to save the value of are 1D boolean arrays of length 7 or 11, and these occur only on some of the tab pages; the others have been setup so that on their iteration a false criteria is met and no code executes.
    I have managed to get references to each control in each tab, and using a 'more specific class' function to narrow it down to Array controls only. However, when this runs, an error from 'convert variant to data' pops up, and use of a probe tells me the reference being called by my property node at the time of the error is that of an array INDICATOR, rather than a control. I thought the 'controls on page' node and subsequently the array control class specifier would mean that references for other types of array wouldn't make it into the true case where the saving to config file happens.
    The indicator in question is an array of a cluster of two strings and a string array, if that makes any sense/has any relevancy, and the error occurs on iteration 1 of the outer loop and iteration 21 of the inner loop, corresponding to the 22nd control reference from the second tab.
    I hope I've made the problem clear.

    There is a property called Is Control? (or Is Indicator?) that will help you sort them out.  I do not recall the exact name of the property but that should get you close enough to find it.
    Lynn

Maybe you are looking for

  • ASA 5505 VPN HELP!!!

    I have two ASA 5505's.  One is currently setup as my firewall connected to the Cox Cable modem and wireless AP.  I have another ASA that I would like to use, I have an idea that I could set that one up as a VPN unit, but not sure how I could do that.

  • The share feature in pages is not opening my email?

    When I try to share a document in Pages under the Share in word or pdf. It doesn't open up my email and attach the file so I can send it like it used too. Any idea what is causing this?

  • How to find Area Report for individual module

    I have created .v file and instantiated several modules.After simulating,how can i get the individual module report 

  • Safari not displaying screens

    i guess this is because of flash...it this correct?

  • Security Question - Departed Employees

    Hi all, Quick question: Let's say a user is a member of couple of Native Groups in Shared Services. What happens when he leaves the company and his LAN ID is removed from the network? Will he be removed from the native groups automatically? Currently