Call a front panel

Hi,
did anyone try to make a VI organized in one main panel (main menu) from
where to call others sub-panels with "return to main manu'" function in ?
Thank you for your help.
Roberto

Look at the "Popup Panel Demo" in LabView example (section Advanced,
Customizing Controls and VIs). The architecture is like you said: a vi call
other vi's, and they can be close when you click on "close"!
Philippe Nobert
Université Laval
Dep. Chimie
Québec, Québec
roberto o a écrit :
> Hi,
> did anyone try to make a VI organized in one main panel (main menu) from
> where to call others sub-panels with "return to main manu'" function in ?
> Thank you for your help.
> Roberto

Similar Messages

  • Calling the front panel of a sub.vi

    Is there a way to call the front panel of a sub.vi so that as soon as the sub.vi begins to execute, its front panel is displayed?
    Solved!
    Go to Solution.

    LarsUlrich wrote:
    That link you posted... is that a function I can find from the block diagram somewhere?  I'm looking for it but can't seem to find it (also I am running a pretty old labVIEW 8.5) and I have no clue what the "VI methods" class is. 
    It's a method for a VI reference. You create a reference to a VI (for example, by using the Open VI Reference function), and then connect it to an invoke node. Select the method from the popup list.
    The settings in VI properties will probably be fine, but I can't find it either, (there are 12 menu tabs, after all) and it probably isn't labeled as obviously as "open front panel when run."  My guess is under "execution," maybe the run when opened selection?
    VI Properties -> Window Appearance -> Customize.
    EDIT: The method you used applies only to that instance of the subVI. If you have the subVI in several places on your block diagram, then the other instances are not affected. This would be applicable if your subVI is an information dialog or something.

  • Calling vi front panel object update in a running sub-vi loop?

    Hello All. I have a calling sub-vi with a "Start Test" button on the front panel. I passed a control reference for that Start button into a sub-vi that runs in a while loop. The while loop is monitoring that Start button and other things.
    Problem: Once the sub-vi runs, it no longer takes updates from that Start button. My program never leaves that while loop in response to my Start button.
    Is there some way I can make the sub-vi take an updated value from the calling vi?
    Attached is the sub-vi (top level, LabVIEW 2011). Please note that I have already tried putting the Start Test terminal inside the loop, but that did not help. I put comments in the block diagram and the front panel to help identify the problem code.
    I am going to get around this problem by running this whole vi through a loop in the calling vi, where I can easily respond to button changes. This is mainly an academic or curiosity problem now.
    Thank you, Richard V
    Solved!
    Go to Solution.
    Attachments:
    Channel Setup.llb ‏286 KB

    Lets just whip up a little example then shall we?
    The subvi you see contains:
    Go ahead and run the top vi.  Press OK and watch the value of Value change (up to 20 times per second but that is faster than your eyeball).
    Why the difference between this simple example and what you are seeing?
    If I had to guess (And, I do since the caller wasn't encluded) I would suspect that you misswired the reference.  With that over-burdened connector pane and no required terminals it would be fairly easy to do.
    And thats where you might want to ricght-click the vi and deselect view as icon.
    You'll find out that its a lot easier to wire the right terminals that way.  Also, changing the terminals to "Required" for anything that is as important as an exit condition is a good idea.  Perhaps even exit if the reference is null although that should cause an error on the property node.  Did you shut off automatic error handling?.... Nope you didn't so there is a valid reference going into the sub-vi.  But a reference to what? maybe not the button you think.
    Jeff

  • Problem about asynchronous call: subVI front panel doesn't pop up when called.

    Dear All,
    I'm new to LabVIEW, and this is the first time I try to use the asynchronous call.
    I'm using LabVIEW 2011.
    I want to build a directory for several VIs, and it should allow users to open more than one of the VIs at the same time by pushing the buttons. Before building this directory, I simply tried to use asynchronous call to call a VI form another VI, but found a big problem.
    I followed the steps in the help file, created a strictly typed reference, set the option to x80 because I don't need the return. When I run it for the first time, it worked fine: the subVI popped up and run. Then I closed the subVI. But for the sencond time and on, when I run the caller VI, the subVI didn't pop up, instead it seemed to run silently on background because when I manually opened it from the file I found it running. Besides, I didn't find any option like "show front panel when called" of the asynchronous call.
    The caller VI and subVI are attached. The address of subVI in caller VI should be changed accordingly.
    What should I do to make it work properly? Thanks very much for  any idea!
    Solved!
    Go to Solution.
    Attachments:
    asynchronous_call.vi ‏8 KB
    boolean.vi ‏7 KB

    Jeff·Þ·Bohrer wrote:
    A better approach is to set the vi properties programaticly like this:
    Jeff, you will be happy to know that I used this tactic in full force on a project recently (lots of dialogs in this program).  Not sure how many LabVIEW reboots it has saved me from.  Reuse VIs made it even easier to do.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Plotting to a number of asynchronously called subVI front panels

    Hello everyone,
    I'm working on a DAQ and monitoring program and I have a dream of doing some very flexible window management for my plot windows. Trying to make it easy to quickly open different kinds of plots and display different channels in each window. So as not to reinvent the wheel I'm trying to use Windows windows to do this by calling VIs asynchronously. The VI will be built as an EXE and used by people who don't know LabVIEW, hence trying to make it really flexible and intuitive.
    I've set up my VI like this example and it has me real close: http://zone.ni.com/reference/en-XX/help/371361J-01/lvhowto/acbr_call_clones/
    When I run the VI it opens whatever number of plotting windows (instances of my plotting window SubVI) I've specificed but the plots don't update. Anyone have any tips as to how to get this behavior?
    Xander Cesari
    Automotive/Internal Combustion Test Engineer
    CLAD certified, mainly focused on data acquisition
    Been LabVIEWing for a few years, still a lot to learn
    Solved!
    Go to Solution.

    Bob,
    Thanks for the reply. I'm using a QSM-PC architecture, here's the relevant loop. Looks pretty much identical to the linked example, I hit that point and I decided I needed a bit of help wrapping my head around it. Data's coming in on a queue (the snippet broke the reference). My idea was to pop open all the windows in this state then use another state to plot data to them.
    In 'synchronous' mode I was able to get the desired behavior out of my subVI but it was also set right in a while loop and by playing with the Call Setup a bit I got it to do what I needed (open a new front panel and constantly plot).
    The queue idea is very promising though! I should be able to generate queues right in the For Loop that calls my VIs synchronously then enqueue in a "RUN" state. I'll give that a try.
    Xander Cesari
    Automotive/Internal Combustion Test Engineer
    CLAD certified, mainly focused on data acquisition
    Been LabVIEWing for a few years, still a lot to learn

  • How statechart can access front panel dynamic input

    How can I get the value of a control (as set by the user) on a calling VI Front Panel to evaulate/use within a state Exit while loop in of a called StateChart?

    I started with the async statechart example -- contains trigger loop and a statechart loop.  Inside the statechart loop there is a Run Statechart.  Also in this loop are my inputs to the Statechart. Everything is good so far. As each state is entered, the correct input is obtained.  Then I added a PID.vi inside a loop to one of the state action tabs.  When that particular state is entered and the PID loop runs, I no longer get updated input values.  I've tried to copy and reference the Inputs onto the action tab diagram to no avail.
    I've attached my VI and lvsc for some hopeful assistance.
    Attachments:
    BrewLab.vi ‏86 KB
    BrewLab.lvsc ‏496 KB

  • Readjusting front panel window.

    Double clicking on terminals in the block diagram switches to their counterparts on the front panel. Frequently this leads to an unwanted shift of the front panel, in particular if objects (such as error clusters, ...) are placed outside the visible region of the front panel. Readjustment usually requires several scrollbar actions. I wonder if there exists a simple method to readjust the front panel coordinate system with respect to the top left corner of the front panel using a simple click action.
    I am presently using a workaround which does the job if the misplacement is top-left (see attachment).
    Reimar Spohr
    Attachments:
    Readjusting front panel window.png ‏11 KB

    I am suggesting a modified version according to -lvABC to be dropped into a calling VI. 
    Reimar Spohr
    Attachments:
    Move Calling VI Front Panel to Origin.vi ‏25 KB
    Move Calling VI Front Panel to Origin.png ‏43 KB

  • Open front panel of sub vi when called - how?

    Hello,
    I have a VI with several sub VIs.
    I want some of the sub VI front panels to be opened, if they are not yet opened and if they are called but I want them to stay in the background.
    There are two SubVI Node setups: "Open Front Panel when loaded" and "show front panel when called"
    Both are not what I want. If I select "show front panel when called", then the front panels are opened but flickering because they are called often and alternately.  
    Greetings Johannes
    Using LabVIEW 7.1 and 2009 recently
    Solved!
    Go to Solution.

    johanneshoer wrote:
    No, no issue with my code :-)
    Yeah, we've heard that one before...
    @smercurio_fc: With your example I can see if a subVI is opened or not, but how can I open the subVI during run time if it is not opened
    Just call the method with it set to "write" (right-click and select "Change to Write"). I don't recall if LV 7.0 has a Front Panelpen method. Check the LabVIEW manual.

  • Exporting front panel of subVI to calling VI

    Is there a way to "export" the front panel of a subVI so that it becomes part of the (or a pane of) the calling VI? If so, what is it called? I don't know the right language to search for examples of this concept.
    My problem is as follows:--
    I built a nice, classy interface to a test program that allows the user a great deal of flexibility in controlling the parameters of the device under test and in seeing the impact of those parameters on other parameters. This has about 8-12 control objects, some of which are also wired to act as indicators so that changing one can display on another and vice versa. This interface and its supporting program is big enough that it belongs in its own subVI rather than in the main program. In addition, I built another interface that charts signals from the device under test; this is also big enough that it belongs in its own subVI.
    I would like to have the front panels of both of these VIs be part of the front panel of the main program. That is, the front panel of the main program should "inherit" the front panel of each subVI wholesale. If I need to tweak the interface of one of the subVIs -- for example, to add, delete, or replace controls, indicators, displays, charts, etc. -- I would like to be able to do this without having to wrestle with the main VI and the connector pane between it and the subVI.
    It seems that LabView should be capable of this, but I cannot find any help, guidance, pointers, etc., in the documentation, textbooks, or examples.
    Could someone give me a clue?
    Thanks,
    Hugh Lauer

    So I tried to configure a subpanel, and found it very confusing. It seems that when you put a subpanel control on the front panel, you have to then set up a way to invoke the subVI. Since my subVI has some inputs and outputs on its connector pane, I created a VI reference for it and wired that to the type specifier node of the Open VI Reference node. I then inserted a Call VI by Reference node, so that I could wire up the inputs and outputs of my subVI. Finally, I wired this to the subpanel Invoke Method (Insert VI).
    This is different from the examples I found. In those cases, the subVIs had no inputs or outputs on their connector panes, but rather took all of their information from their front panels.
    I got different behavior on different attempts to run it. The most common (and most recent) behavior is that the subVI front panel opens up a few seconds after the main VI starts, but it is not quite "in" the subpanel. Instead, it is offset about an inch from both the top and left, as if it were a floating window that I cannot move. Also, it has annoying scroll bars on the bottom and right, which I don't want.
    Incidentally, I have two of these subVIs, and I have not yet tried to put the second one into a subpanel.
    What I would really like to do is
    have both subVIs populate their respective subpanels as soon as the main VI starts, but before any work gets done.
    after both subpanels are loaded, run the two subVIs in parallel, one to control the device under test and the other to capture its signals.
    have no scrollbars in the subpanel windows.
    In fact, what would be the best from a GUI point of view is for the two subpanels to be permanently part of the front panel of the main VI.
    Any guidance or insight would be most helpful.
    REgards,
    Hugh

  • Front panel of SubVI locks on 2nd call

    HI!
    I'm calling a SubVI and pass a Boolean Reference to this SubVI. In the SubVI I'm executing a While loop. The stop condition is the value of the boolean control in the VI that calls the SubVI. (Boolean Refnum + Property Node: VALUE connected to while stop condition)
    Mechanical Action of the Boolean in the calling VI is: Switch when pressed.
    For the first time this will be executed it works fine. But the 2nd time the SubVI is called. The Front Panel of the calling VI where the stop button is located will be locked.
    Does anybody have an idea why this happens and how I can solve that problem?
    ANDY

    I tried what you described, using LV 7.1, and I have no problems running the vi over and over again. See the attached examples. Ref1.vi calls Ref2.vi and passes the Boolean reference to it.
    - tbob
    Inventor of the WORM Global
    Attachments:
    Ref.zip ‏21 KB

  • Show LabVIEW VI Front Panel When Sequence Step Called

    Hello,
    By clicking on the “Show VI Front Panel When Called” checkbox in the Step Settings pane displays the LabVIEW VI Front Panel for approximately 100 milliseconds. Is there a configuration way to display the VI front panel for a longer period of time, during that step execution, and allow the user to control the duration of the front panel exposure by clicking to resume execution of the sequence file at their will?
    Thank you.
    Solved!
    Go to Solution.

    Hi,
    You will need to have some sort of structure in your VI for handling front panel response, otherwise you front panel is only going to be visible for as long as it takes to execute an return back to teststand.
    But remember, once you hold your step within that VI which is waiting on the operator to eventual close it, your Sequence will be held as well and if you are expecting steps to continue running after your VI then you will have to consider running it in parallel to your main test sequence.
    You may also need to consider what happens if you want to terminate your Test Sequence, how do you close your VI.
    Check out 'Strategies for Terminating or Breaking Sequences' in the following.
    hope this is of help
    Regards
    Ray Farmer

  • Main VI Menu event calling a subVI front panel

    Hi all,
    I have a subVI whose front panel is loaded upon calling by a main VI.
    I call the subVI using a User-menu event.
    the subvi-properties are set to allow close window and i am not handling a 'panel close' event.
    The problem is....
    when i run the main VI and click on the menu that loads the subVI front panel, subVI window opens, and if i click on the window-close, the main VI hangs.
    i understand that the control remains with the subVI only and never returned to main VI after i close subVI panel.
    but is it the only way to handle the 'panel close event' or any other way out to solve this?

    Try running the VI with highlight execution turned on, and see if anything unexpected is happening, or you could post your vi and let us take a nosey
    Message Edited by yenknip on 09-12-2008 04:30 PM
    - Cheers, Ed

  • VI front panel won't close when it's done executing, when this vi was called by reference.

    I've created a simple vi set to demonstrate the issue I'm having. I'm dynamically launching sub vi's from a main application. Simply put the main application is my test exec and the subvi's I'm calling dynamically are different tests. In the example I'm posting here the test vi is called Electrical Test 1.vi. I've configured this Electrical Test 1.vi to show front panel when called and close afterwards if originally closed.  Problem is it won't close the front.
    Other things to keep in mind
    I want to be able to launch the test vi and not wait till it's done.
    I'm using LabVIEW 2012 SP1.
    Solved!
    Go to Solution.
    Attachments:
    vi_launcher - v5.zip ‏73 KB

    Basically the close after call only matters if the VI is called as a subVI (just like if you open a VI yourself and run it, it doesn't close when it is done).  The two ways around this are to either have your top lvl app close the VI when it is done, this is explained here:
    http://digital.ni.com/public.nsf/allkb/987B2026B41BD39786256CF800032E8C
    or to have your VI close itself when it is done.  Use a This VI reference and the Front Panel:Close invoke node.
    Hope this helps.

  • How to bring a VI front panel to the front (of all open windows) when the parent VI calls a sub-VI in Test Stand.

    In Test Stand when I call a sub-VI front panel, the pop-up window goes behind all the windows and the user just waits for the screen. I want the pop-up to come to the front so that the user can know what to do. I couldn't find any property that I can set which would make the called VI go to the front.

    What version of TestStand are you using? Here are the TestStand palettes in LabVIEW for TestStand 2.0 and 3.1. You can also set a VI to be modal in  VI Properties>Window Appearance. Select Dialog or go to Cutomize and change the Window Behavior.
    Message Edited by Dennis Knutson on 03-07-2006 10:32 AM
    Attachments:
    TestStand palettes.JPG ‏37 KB

  • When I call an external program from Labview, how can I embed the interface into the front panel?

    I'm running Labiew 6i for Linux. I'm using a system exec.vi to call an external program to do image manipulation (since there is no IMAQ for linux). How can I embed the user interface of the external program into the front panel of Labview?

    As far as I know, the only way to embed other GUIs in LabView is an ActiveX in a container.
    As long as you are using Linux, try to place (moving them on the desktop ) the two windows linked (like those 3 of WinAmp).

Maybe you are looking for