View Cluster Control/Indicator as Icon on Front Panel (sub VI's)

I make a lot of use of clusters to pass data into and out of sub vi's.  I keep everything typedef'd and the clusters can often grow to be rather large on the front panel which makes navigating the front panel quite difficult.  I usually have maybe 2 or 3 other controls and indicators that are not within the cluster.
Is it possible to view the cluster as an icon in a similar way to the block diagram?

Hello DNichols,
I recommend placing the cluster(s) in question partway off-screen, with the label displayed.  If you really need to minimize the footprint of the cluster front panel object, set AutoSizing to "None" via the right-click menu and resize as needed, but keep in mind that the FP object is now more-or-less useless to future developers except for ease of clicking to link to the connector pane.  Since you're type-defining everything, accessing or viewing the contents of the cluster might not matter much, though.
Redefining your architecture is probably not a priority right now, but you might also want to consider using classes in the future, as others have suggested.
Regards, 
Tom L.

Similar Messages

  • How do I group a large logic circuit into a single icon that still allows for control of that VI's front panel?

    I have a graphical representation of a P&ID made of LED lights that turns green or red depending on if that 
    process line is open or closed. The coorisponding block diagram is a rather large logic circuit that controls 
    these LED lights.
    My problem is that I want to essentailly block that large piece of code into a "Sub VI" but I still want to use that 
    code to control THAT VI's front panal. This would allow me to, in the future, make an automated sequence that can 
    still use this light show without opening another VI's front panal.
    If anyone has used Simulink this is the exact same thing as its grouping function...

    Are you asking how to control the front panel of one VI from the front panel of one of its subVIs (or another VI)?  Is so, check out VI server.  VI server functions are found on the Application Control palette.  For a short demo, right click on one of your controls and select Create»Reference.  You will be switched to the block diagram and have a reference node attached to your cursor.  Drop it.  Now go to the Application Control palette and select and drop a Property Node.  Connect the newly created reference to the Property Node top left terminal.  Click the Property Node's Property area and scroll down to the Value property and select it.  Right click on the Value and select Change to Write.  Wire a value to this input and it will change the value of the control.  You now have a method that allows you to change the value of a control from another VI.
    Some caveats.  This can be slow.  It is synchronous, meaning that the function will not return until the front panel has been updated.  If you want to do a lot of controls at once, use the VI property Defer Panel Updates to turn updates of the front panel off while you are writing to it.  Don't forget to turn it back on.  If you can use a terminal or local variable, do not use the Value property.
    My apologies if I have misinterpreted your request.  Let us know if you need more info.
    This account is no longer active. Contact ShadesOfGray for current posts and information.

  • How to find VI's connected terminals when controls are hidden on the front panel?

    When working with a sub-VI which has terminals connected to hidden controls is there a straight-forward way to find the terminals on the block diagram?
    I click on the terminal and an outline appears on the front panel but when I try to click on that outline I can not unhide the control. 
    The only way I have discovered to find the terminal of the connected control is just check each terminal on the block diagram which looks like it might be connected.
    I'm using LV7.1 but also use 8.5.
    Thanks,
    Davey

    Ben wrote:
    smercurio_fc wrote:
    If I understood the premise of the question it sounds like you have controls/indicators wired to the VI connector pane, but for some reason these controls/indicators are hidden. If this is a VI you wrote slap yourself. If this is a VI someone else wrote, go slap them.
    One way that you can find the terminals on the block diagram by performing a search by text. The context help will show you the names of the controls/indicators. The only problem with this approach is that if the control/indicator has the caption visible rather than the label, then the context help will show the caption, not the label.
    Another method is to use scripting. Not sure if it's worth the effort for just one VI, though.
    Before we get all slap-happy I have to ask...
    If I have a sub-VI which is set for Print on completion and the controls in/out for the icon connector are NOT supposed to show up on the final report, isn't setting those objects as hidden a viable option?
    Ben
    Well, of course, Ben. My comment was not meant to be taken seriously... hence the smiley happy icon. To respond to your question in a more serious matter, though, there's always exceptions to rules. That's why they're rules - they're meant to be broken. Otherwise they wouldn't be rules. It's a strange state of the universe, isn't it? Although, one could probably just place the control behind another object. That sort of hides it, doesn't it?

  • Why cannot the block diagram view of a VI show the "connector pane" view in the UR corner, like the front panel view does?

    Perhaps there is a good reason for this that I just haven't figured out. I haven't seen any questions about it searching the NI site, however.
    But it just seems totally inconvenient to always have to go to the front panel to get to the connector pane view, especially if some of those connectors are hidden. Then I have to go to the block diagram, guess which control/indicator I want to unhide, go back to the FP to check it on the connector pane, then go back and hide it again, and repeat if necessary. Even if the C/I is visible on the FP, it's still an extra step or two.
    When I'm building connections using the block diagrams and planning where to put connectors in subVIs so they would be easier to wire up (line up inputs/outputs on sides, not have to go top-to-bottom, etc.), it sure would be nice to be able to work totally in the block diagram realm.
    Cameron
    To err is human, but to really foul it up requires a computer.
    The optimist believes we are in the best of all possible worlds - the pessimist fears this is true.
    Profanity is the one language all programmers know best.
    An expert is someone who has made all the possible mistakes.
    To learn something about LabVIEW at no extra cost, work the online LabVIEW tutorial(s):
    LabVIEW Unit 1 - Getting Started
    Learn to Use LabVIEW with MyDAQ
    Solved!
    Go to Solution.

    Yamaeda wrote:
    Good idea, put it in Idea Exchange!
    It has been there for a while already. No need to duplicate....
    LabVIEW Champion . Do more with less code and in less time .

  • How do you control LED lights on the front panel to identify the number of steps a stepper motor has taken?

    I am controlling a stepper motor that is coupled with a valve with four outlets (using an Arduino).  I've got a general understanding of how to control the motor, but I want LED lights on the front panel to light up that indicate which outlet the valve is currently at after the steps are taken.  The method I'm thinking about involves a lot of repetitive code.  I'm not that experienced with LabVIEW, I'm assuming I need some sort of loop structure but I don't know how to set it up in order to control the sequence of the LEDs.  I've attached my current block diagram for a visual aid if needed.
    Attachments:
    Capture.JPG ‏33 KB

    I was thinking about using the Stepper To Go and Stepper Write functions four separate times, using the same constants for the steps each time since the distance between each outlet is equivalent.  The only difference would be what's connected to the "steps remaining" node, which would be the function that activates one of the four LEDs (if that makes sense).  I was thinking that doing it this way would be a little counterintuitive since the only thing that needs to be changed is the LED indicator.

  • Can not open front panel sub VI when running an application VI.

    When I create an application of my program a problem occurs. When I select options (press a button or so) from the main front panel that should result in a popup menu (sub VI cal) LabVIEW indicates that something is happening but the front panel does not open. The mouse indicator changes to the time glass so LabVIEW is doing something but the window of the sub VI does not open.
    The problem has the same characteristics on several places. There are some sub VI front panels that opens but I ca not find the reason for why these open and not other.

    Hi
    there are three ways trhough which you can force a subVI to show its front panel
    1. open the perticular SUB VI
    click File->VI properties select window appearence catagory.
    click customize button and select "Show Front Panel when called" and "close afterwads if originally closed" check boxes
    save the VI
    whenever you use this Sub VI every time it will pop up front panel
    2. dont perform the changes suggested in option 1. place the instance of subVI in your main application and if you want that instance to popup a front panel then right click on subVI and Select "SubVI Node Setup" again select "Show Front Panel when called" and "close afterwads if originally closed" check boxes
    with this option only certain instances of SUB VI will cause pop up to occur
    3. this is the most flexible option. use invoke node to show front panel. in invoke node select show front panel method to popup the VI and use close front panel method to close the pop up window.
    Tushar Jambhekar
    [email protected]
    Jambhekar Automation Solutions
    LabVIEW Consultancy, LabVIEW Training
    Rent a LabVIEW Developer, My Blog

  • Is it possible to sort the controls and indicators on the front panel?

    Programming events would be much easier in an application with lots of
    controls and indicators, if there where a means to sort and group them.
    Is there any means to do so such that you see a sorted list when choosing the control that triggers an event etc..?

    I am not aware of a way to sort the list of controls (that are listed in the edit events dialog) by name. They seem to be sorted in the order they were created.
    I agree, sorting could be useful for large VIs.
    LabVIEW Champion . Do more with less code and in less time .

  • Print only a specific control or indicator on a front panel to HTML document

    Is there any way to print a specific control or indicator (not the whole front panel) to HTML document? I am trying to print a report that has a graph and some indicator value on it.

    There is a VI called "Append Control Image to Report.vi" which will allow you to do this. It's located in the Functions>>Report Generation pallette. Take a look at this and see if it's what you're looking for.
    J.R. Allen

  • How to create a cluster, whose elements are all scattered across the front panel?

    Hi everyone!
    I've been designing a front panel, which (I think :-)) feels pretty well when the override switches are scattered all over the screen. Anyway I'd like to process their states in a cluster. I tried pulling them in a cluster in the block diagram, which didn't do anything (actually they hid underneath the cluster). I tried bundling them, but the only way I could do so was after creating a hidden cluster on the front panel and filling it with the same number of boolean controls as I've got override switches.
    Anybody got any suggestions?
    Kindest regards,
    Severin

    Severin,
    You should be able to bundle the elements without creating a dummy cluster. You cannot use Bundle by Name without a control (or indicator), however.
    One possibility, if you need a cluster, is to make a cluster which is bigger than your front panel. Make the background transparent or the same color as the panel. The problem with this is how you handle other controls or indicators which are not part of the cluster. You could put them behnid the transparent cluster, but then you cannot operate the controls and panel updates are slowed considerably by overlapping front panel objects. You may be able to slide them in front of the cluster without embedding them into the cluster by placing them on the panel outside the cluster and using the keyboard arrows to move them. This works for some things; I have not tried it with clusters. You still have overlapping objects.
    Lynn

  • How can I access the member of a cluster on the front panel by selecting the label?

    I have a cluster of Controls. i would like to choose the element of the cluster by his label on the front panel and then show the value. Does anyone have an idea?

    I think I understand what you are trying to do. I've whipped up an example that uses property nodes, see if it helps...
    Brian
    Attachments:
    ClusterSelect.vi ‏35 KB

  • Can i place controls from the properties dialog of an express vi on the front panel?

    I'm using the spectral measurements express vi in my vi and I'd like to put the "window" and "number of averages" controls from the properties dialog on the front panel. However, there are not outputs on the express vi icon for these parameters. Can I place controls for these on the front panel somehow or do I always have to go into the block diagram and open the properties dialog to change the values?

    The way to do this is to right click on the express VI and select Open Front Panel. This will convert it to a standard subVI. then go into the subVI and replace the Spectrum Averaging and Spectrum Window constants to front panel controls by right click on them. Right click the icon and select Show Connector. Wire the new controls to a free terminal on the connector. You may have to add additional terminals if there aren't any available to wire to the new controls.

  • Front Panel Objects control

    How can I passingly Disabled all controls of same type on front panel together using a unique Property node?
    I try to use the Class Specifier Constant but it doesn't work.
    Thanks,  Fabio

    Hi,
    put all these controls in a single cluster and disable that cluster.
    regards
    Dev

  • Front panel slide control

    Is there a way to programmically control the scale of a front panel slide control? Like wiring the "i" and "N" of a For loop to a FP slide control?

    Thank you miguelc for the answer.  Now I can "wire up" to the slider's scale max & min values.  So now they are dynamic and not static constants.  My slide control's scale now can change dynamically as the "N" (total For loop iterations) value changes a couple times throughout run-time (as well as showing the preogress as "i" approaches "N"), and my progress meter changes according to jobs done and to-do as expected. 

  • Dr. Damien's Developmen​t - The Xylophone Project X - Font Issues and Front Panel Layout

    The Show Raw Data button was made active in this installment. Doing this in a robust fashion was more involved than one might think, due to font and platform issues (remember I want to port this to a Windows Mobile device eventually). The following changes were made.
    The A frequency indicator was made active. This was an oversight from the last update.
    A front panel object, XylophoneFP.lvclass, was created to hold the front panel references and methods.
    The front panel object was used to implement the Show Raw Data button.
    The front panel object was used to compensate for font issues.
    When testing this application on Windows Vista, I noticed that the font differences between Vista and XP were annoying enough that I wanted to fix them. This will also lay the groundwork for any layout issues when porting to Windows Mobile. Usually, I create a cluster containing all my front panel references, but this time I put them into an object. Besides the usual object boilerplate, there are two methods, one to rearrange the front panel and one to show/hide the data graphs.
    Once the controls and indicators are properly arranged, showing and hiding the data graphs is simple. VI server methods are used to find the edges of the outer controls, some whitespace is added, then the front panel size is reset. Arranging the controls in the first place is much more complex. Dialog controls are used, and these controls change size based on the default font size. Font sizes can change due to user preference or when using the application in a different operating system than it was developed in. Button sizes can also change due to localization.
    This problem is difficult to solve cleanly, and the VI which does this, XylFP.lvlib:XylophoneFP.lvclass:ArrangeControls.vi, shows the problem. It relies on the actual sizes of the controls/indicators to rearrange the front panel in a hopefully pleasing fashion. Even though this is a relatively simple UI, the VI is fairly complex. It uses VI server calls to determine the current sizes of controls and then rearrange them. If you choose to do something similar, consider the following hints:
    The Bounds property of all controls is not writable. To change the size of controls, you need to find the property or properties which change the size. There may be more than one (which is why Bounds is not writable). For example, to change the size of a boolean, use the Button Size property.
    In many cases, the property you use to change the size of the control will not be the same value as the Bounds property. Using the boolean again, the Bounds of a 3D LED include the 3D effect around the LED, but the Button Size only includes the LED itself. Comparing the Bounds property to the result of a query to the property you will be setting will give you the necessary offset to convert between the two.
    Make sure you label your wires if you attempt to do things like this. Long wires are very common in this type of programming. It is difficult enough to keep track of things without the added aggravation of having the trace wires back to their source to identify them.
    A few judiciously placed type converters can eliminate many type conversion dots. This is not usually a real problem in this context, but you should get into the habit of efficient programming.
    I will be hiking through the mountains of New Mexico with the Boy Scouts for the next couple of weeks, so do not be dismayed if I do not reply to comments very quickly. However, comments and suggestions are still welcome and encouraged. I will reply when I return.
    Previous Installments
    Data Acquisition Concept
    GUI Concepts
    Specifications
    Core Architecture
    Data Acquisition and Note Analysis
    Sound Acquisition Revisited
    Sound Analysis
    Configuration Dialog
    Calibration Dialog
    Message Edited by DFGray on 06-05-2009 03:09 PM
    This account is no longer active. Contact ShadesOfGray for current posts and information.
    Attachments:
    XylophoneX.zip ‏1259 KB

    DFGray wrote:
    I put the event structure in the command loop so that events are processed synchronously.  In the past, I have run into a variety of race condition/synchronization issues when separating the event and command loops and prefer to keep them together to make the program structure simpler.
    It is simpler but you give up any multi CPU performance.  That LV is inherently parallel is one (the only) real advantage over a text based development system.  I can write good structured text that is almost as visually easy to parse as LV.  With modern syntax coloring engines, the difference in icons vs. structured text is not that great.
    But the challenge I give the traditional text coders is to keep track of many mulitple threads.  This is why dataflow is a powerful concept.  Yes it does lead to asynchronous execution but if you impose synchronicity on your code you are working against LV.  I get most first time programs where everything is in a sequence structure.  "Just to be safe".  
    Of course this is much better but  my first design goal is that any application should take advantage of a much hardware as possible, degrade gracefully on slower hardware and play nice with other running applications.  This simpler structure severely handicaps that first goal.
    In this case it is simple enough to "get away" with it since as you point out that there should not be anything that takes significant CPU time.   But that may not be true on the PDA?
    If you are going to run it on the PDA will we be discussing techniques to seamlessly use both NIDAQmx Base and NIDAQmx in the same system?  That is a real challenge.  I look forward to more of this!
    Cheers! 

  • Display a particular array element on the front panel

    Hello,
    I was wondering if it's possible to change which element of an array control is displayed on the front panel from within the program.
    Here's why I want to do it: I have an array of clusters, each of which contains a set of controls.  The controls in each cluster specify a bunch of different parameters for a few different instruments that are being controlled by Labview.  The user changes all the values on the front panel before the program starts, then the program steps through the array elements one by one.  I'd like to be able to change the array's display so that the user can know which set of parameters is active (and thus what is currently in force) while the program is going -- otherwise the element that is displayed is just wherever the user left it last.
    Thanks in advance for any help.

    See also: http://forums.ni.com/ni/board/message?board.id=170&view=by_date_ascending&message.id=317419#M317419
    LabVIEW Champion . Do more with less code and in less time .

Maybe you are looking for

  • Questions about sender JDBC adapter

    Normally we use sender jdbc adapter in this way: query statement: SELECT * FROM table WHERE processed = 0 update statement: UPDATE table SET processed = 1 WHERE processed = 0; The update statement will be executed after the message has been successfu

  • Odd cue point problme

    Howdy all I have 4 frames in a urlMC on each frame is a button. They all work fine. I have a FLV that plays and a cue point moves the urlMC to the next frame to reveal the new button. When used this way the buttons don't work. Any thoughts? Thanks.

  • How can i copy and  paste from applet  text controls

    we are using applet text box how can we copy paste from this text box to other applications

  • Can my old IPhone be used to boost ram on a PC or Mac?

    Well, I have an old iPhone 3GS and soon enough this 4 will be retired as well. That being said I know that both of these devices are still quite worthy of use in various functions. I wouldn't get anything for turning them back into the store and I ho

  • Certificate Revocation on SAP Web Dispatcher

    We have recently set up X.509 Certificate based authentication. The SSL handshake is performed by the Web Dispatcher. Requests are forwarded to SAP Netwewaver 2004s Portal with the certificate in the header field. All of this works "as advertised". C