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.

Similar Messages

  • Hi. I want to build a GUI based on several windows appearing following a certain sequence. How can i create different windows in the same VI? Also, i want the front panel of a subvi to appear when i run, how can i enable this.Thanks

    Having several windows appear ...

    Hi,
    You can't create several windows for one VI. But you can use the "Tab Control" and change tab's in the program. Or you can use sub VI's and show ther front panels.
    To show the front panel of a sub VI you have to open the VI you want to show and select "File->VI Properties". In the VI Properties window select Category "Window Appearance" and click Customize...
    In the Customize Window Appearence window, here you can set a number of attributes for how the window will appear, select "Show front panel when called" and "Close afterwards if originally closed" click OK and OK and save the VI, done.
    Now the VI front panel will appear then you use it as a sub VI.
    /Thomas

  • 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

  • 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).

  • How can I call the SubVI like a child window one or more times in the front panel of my main VI ? See the example atached...

    I would like to create a aplication where I call dynamically the same SubVi many times in the front panel of my main VI ... I saw this kind of programmation in other languages like Delphi, C++ Builder and Visual Basic.
    For explanation: I have 10 channels to read in the list, but I would like to see only 3 channels ... Then I will click in the channels choosed of my list and will open the same SubVI 3 times, where each one will show the individual channel.
    Thanks for attention...
    Cleber
    Attachments:
    Opening SubVi many times.jpg ‏118 KB

    TiTou certainly pointed you down the right path... For a few more details, refer to my post to this thread:
    http://forums.ni.com/ni/board/message?board.id=170&message.id=141811
    You could use the same technique, except instead of opening the clone's front panel, use the VI reference you have to it to poke it into a subpanel. Please note: I have never actually tried building a VI with more than one subpanel on its front panel, but it should work. Also you will not want to close the VI references because you will need them to stop the clones when you shutdown your application.
    Mike...
    Certified Professional Instructor
    Certified LabVIEW Architect
    LabVIEW Champion
    "... after all, He's not a tame lion..."
    Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

  • How to show the front panel when launching VI with Call by reference node??

    Hello!
    I just wonder how I make the front panel visible during execution when I launch the VI with CALL BY REFERENCE NODE.
    Se example.
    Could u also show me how to change different properties (window size ..) of the front panel??? (launched with CALL BY REFERENCE NODE)
    Thank you!
    Attachments:
    test.vi ‏18 KB

    In VI Properties>>Window Apperance>>Customize you can check "Show front panel when called". This will open the front panel on each call. It doesn't matter how the call was initiated.
    You can set a lot of Front panel properties during runtime. Place a Property Node in the block diagram. Change the class from App to VI. Under properties select Front Panel window>>Panel bounds to set the position and size of the front panel.
    Waldemar
    Using 7.1.1, 8.5.1, 8.6.1, 2009 on XP and RT
    Don't forget to give Kudos to good answers and/or questions

  • How can I display a changing variable in a subvi on the front panel of the main vi as the subvi is excuting

    In the document attached the vi on the right is sub to the vi on the left. On the subvi on the right the variable "Field Reading" is continuously updated on the front panel of the subvi as the "for" loop is executed, but only the last value of the variable is updated on the main vi front panel which is what is expected. My question is how can I display the changing value of "Field Reading" on the main vi front panel as the "for" loop in the subvi is running?
    Thank you.
    Solved!
    Go to Solution.
    Attachments:
    Doc2.docx ‏554 KB

    Hopefully I can explain it well enough. It really is simple.
    1) Create an empty global variable and call it something like User Interface References.vi
    2) For each and every control and indicator on your front panel, right-click and select Create/Reference
    3) Place these references wherever you like (I use a series of Event cases to perform my initialisation and these all live in one of these event cases). They can be placed anywhere in the main vi.
    4) For each of the references, right-click and select Create/Indicator
    5) Moving to the front panel, Cut all the indicators and Paste them in the global variable (eg. User Interface References.vi)
    6) Moving back to the block diagram, wire the global variable to each of the references and select the same named global variable.
    All the hard work is now done (until you add another user interface terminal). You should now have something that look as shown below, [except the reference labels would be to the left (not sure why the snippet put them above)]. In my latest program I have 82 references!
    Done. You can now access all your front panel controls and indicators anywhere in your program as shown below.
    You can just select Value in most cases, but in this particular case I wanted to fire off an Event to do some things (log the alarm) as well as just update the value. So, this is another bonus with the method.
    Hopefully this all makes sense. If not, let me know.

  • Is there a way the user can change the equation in the formular node from the front panel on the fly, dynamically?

    Is there a way the user can change the equation in the formular node from the front panel on the fly, dynamically?

    Sorry, I don't think so. That would be pretty cool if you could create a property node for a formula node and then enter a formula on the front panel and use it to update the formula. But you can't create a property node for a formula node and the only way of modifying the formula is by typing it into the formula node on the diagram. And you can't modify a diagram of a running VI.
    You could create a VI which is only a formula node with the maximum number of inputs and outputs you expect. Have a button on the calling VI to Edit Formula. When the button is pressed, use a VI server to display the front panel on the formula VI, display a dialog box telling the user how to display the diagram of the formula VI, then stop the calling VI. (You can't edit a sub-VI while t
    he calling VI is running). The user will then need to rerun the calling VI to use the new formula.
    You might be able to do something by calling MatLab or something like that to get an interactive formula window.

  • Is there a way to place a button on the front panel that when clicked gives a pop up dialog box with more info in it?

    Hi Everyone,
     The simulations that I am creating are very simple themselves but are intended for use in a classroom setting to help students learn more about the theory being demonstrated.  I am hoping to be able to place a "Help" or "more info" button on the front panel so that if a student wants more info about the theory they can click on it and a pop up appears with background info on it.  It should also have a second button to close it and return to the main front panel again.  Can anyone lead me in the right direction?
    Thank you!
    Solved!
    Go to Solution.

    Use an event structure on the main vi that when the button is clicked, launches a "Help" sub vi. Inside the sub vi (with the properties set to load front panel when called of course), use another event structure to wait for the button of the subVI to be clicked so you can return to the main VI. Do you need help with using event structures?
    Charles
    Charles Chickering
    Architecture is art with rules.
    ...and the rules are more like guidelines

  • How to set the Front panel to "Set origin at top left"???

    Hello all,
    Whenever i run the program the position of controls and indicators in sub panel changes so i wish to set the front panel which i am calling in sub panel to set its origin at top left corner. but i dont know how to do that.
    Can anyone help me in this???
    Thanks in advance...
    Pals

    Hi All,
    This is the sub vi which i need to call in sub panel.....
    Scroll bar on mail vi is ok but to make all the controls ad indicators visible i need to keep on scroll of called vi also.
    Thanks a lot...
    pals
    Attachments:
    Untitled.jpg ‏80 KB

  • When I m going to move the front panel or a window for 3d scene instant hang the program.

    When I m going to move the front panel or a window for 3d scene instant hang the program.
    Υou can easily try to "generate sound" in the examples.
    Can I overcome this? (without lock movement).
    tnx
    Giannis

    Yes, I was right -- you have a single loop where you generate data points and display them.  Consider the operation of your program if you do not display the data as a Chart, but instead simply display (as an indicator) the most recent value.  The loop will go into your sub-VI, wait the appropriate time to generate a point, return, display, and immediately call the sub-VI again.  Fine, it should run at the speed of the sub-VI.
    Now add the Chart.  Same thing happens, but now you move the Chart.  The top-level routine, tasked with displaying the Chart, needs to use additional time to repaint the Front Panel, so it take it.  Now when you call the sub-VI again, time has elapsed.
    What you need to do is to run two loops in parallel, so-called Producer-Consumer Design Pattern.  Have your sub-VI return a Waveform (not a Chart).  This loop becomes the Producer -- all it does is "produce" a Waveform at whatever rate the sub-VI specifies.  Create a Queue of Waveforms outside this loop, and enqueue the Waveform onto it.  In a parallel loop (usually written below the Producer Loop), write the Consumer loop, into which you pass the same Queue.  Here you Dequeue the (latest) Waveform and display it on the Chart.
    Now, while this runs, move the Chart.  The Consumer loop will be delayed (because you are refreshing its Front Panel), but the Producer loop, running in parallel, just keeps going, putting more points on the Queue.  When the Consumer finishes its Front Panel update, it blithely plots whatever is on the Queue.  If you look carefully at the traces being plotted, you should notice that when you move the Chart, the plotting temporarily stops, then the "missing" points are speedily plotted and plotting resumes at whatever rate it was before you moved things.  This is the power of parallel processing and LabVIEW.
    Bob Schor
    P.S. -- there are examples of Producer Consumer patterns -- if you open LabVIEW and go to File, New, you should see some examples under From Template.

  • How do I monitor parameters from a SubVI on the front panel of the main VI?

    Good day.  I have a LabView program that I am modifiying (actually it is a National Instruments demo program called Simple PID Demo).  On the Front Panel of the main VI, I need to monitor several parameters that are on a SubVI.  How do I do this?
    Thank you very much for your time and help.
    Michael

    Hi Michael,
    Global Variables should solve your problem.
    Looks like you have to pass values  from  Sub VI that will execute continously inside a main vi.
    Look at attached VI
    Hope you can implement this type of logic in your program.
    regards
    Dev
    Attachments:
    Main_1.llb ‏53 KB

  • How can I display the front panel of the dinamically loaded VI on the cliente computer, the VI dinamically loaded contains files, I want to see the files that the server machine has, in the client machine

    I can successfully view and control a VI remotly. However, the remote VI dinamically loads another VI, this VI loaded dinamically is a VI that allows open others VIs, I want to see the files that contains the server machine, in the client machine, but the front panel of the dinamic VI appears only on the server and not on the client, How can I display the fron panel with the files of the server machine of the dinamically loaded VI on the client computer?
    Attachments:
    micliente.llb ‏183 KB
    miservidor.llb ‏186 KB
    rdsubvis.llb ‏214 KB

    I down loaded your files but could use some instructions on what needs run.
    It seems that you are so close yet so far. You need to get the data on the server machine over to the client. I generally do this by doing a call by reference (on the client machine) of a VI that is served by the server. THe VI that executes on the server should pass the data you want to diplay via one of its output terminals. You can simply wire from this terminal (back on the client again) to an indicator of your choosing.
    Now theorectically, I do not think that there is anything that prevents use from getting the control refnum of the actual indicator (on the server) of the indicator that has the data, and read its "Value" using a property node. I have never tried this idea but it seems t
    hat all of the parts are there. You will need to know the name of the VI that holds the data as well as the indicator's name. You will also have to serve all VI's. This is not a good idea.
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • How can i print an excel spreadshee​t file by clicking a button on the front panel

    i have designed a vi that logs data into an excel spreadsheet. i want to take print out of the file when the user clicks a button on the front panel. what to do if there is very large amount of data.

    Preet,
    Printing the Excel sheet is just an ActiveX method call to print the worksheet. To add data to the worksheet, you already have the reference, just call a print method. As for handling large amounts of data, that is a vague question. The data will print how ever you placed it on the worksheet. If what you mean is that you don't want to print out 25 pages every time, the print method has options to only print specific pages or ranges. You may want to play around with a sample spreadsheet to learn the printing options. For help on the ActiveX functions, make sure you have the Visual Basic help installed for Excel.
    Randy Hoskin
    Applications Engineer
    National Instruments
    http://www.ni.com/ask

  • How do I input data to a table on the front panel and stop the program immediatel​y as button is pressed?

    What should I do if I want to display on the front panel in real time the values from Polarizer #, P1, P2 and the last calculated value (P2/P1 * 100) called T% in a table or some graphical representation like that?  What would I have to do?  It could just be Polarizer # and T% if that would be simpler.  I just want to let the user know the values in a list, spreadsheet or table as they go.  One last thing is that I would like to be able to stop the program at any point in time as soon as the stop button is pressed.  As of now, when the button is pressed it goes through the iteration currently in progress and then one afterwards.  I want the program to end as soon as the stop button is pressed no matter what sequence it is.  What can I do to achieve this?  Could you give me an example or modify my program to show me this.
    Thanks,
    Steve
    Stephen Coward
    Northrop Grumman
    [email protected]
    Attachments:
    EPM2000 almost done.vi ‏50 KB

    Put a single frame sequence structure around your stop button and then wire from the error cluster going into the error handler to the edge of the sequence structure. Now your code will stop at the end of the current iteration. To see why this works, watch you code execute with execution highlighting turned on and review the section of the manual talking about "Dataflow".
    Mike...
    Certified Professional Instructor
    Certified LabVIEW Architect
    LabVIEW Champion
    "... after all, He's not a tame lion..."
    Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

Maybe you are looking for

  • Time stops after 1-2 minutes after resetting it. Any ideas on what to do?

    I'm having latest version on the iPhone operating system. ( iOS 7.1.2 ) A couple of days the clock on my phone ( and homescreen ) just stops working, freezes. Any suggestions?

  • Midlet-Servlet interaction

    Hi there, Could someone please help with a problem I am having when running a MIDlet on the POSE Emulator.I am trying to run a Midlet which calls a servlet to find the number of hits .I do not have any compilation errors.I am using J2me ToolKit 1.0.4

  • Build Error

    I have a very strange problem with workshop. I'm working on an application that contains several control projects, several java projects and a web project. Last week everything was working perfectly and suddenly on Thursday whenever I tried to build

  • Forgot ipod password how to I get into ipod?

    I forgot my ipod password so what can I do to access the ipod?

  • Transfer of Address Book, Mail, Bookmarks (From Tiger)

    Hi Gang I'm finally thinking about going with Leopard. Although I've been quite satisfied with Tiger, but I hear constantly that Leopard will run smoother, even on an older 1.8 G5 Single Processor? Anyway, about backing up my old mail, bookmarks, and