How to run a subVI without poping up normally, but when clicking a button, popup the front panel?

I know pop-up the front panel of a subVi when called by selecting VI Properties>>Windows apperence.
But what I need to do is: always run the SubVI inside the parent VI as the nornal subVI do without poping up. But when I click a button"show front panel", the SubVI popup the front panel.
Is there anyway to do this?
Thanks,

ossoo,
         You can use a static VI reference to the subVI and then use the Front Panel Open invoke method to show the front panel when you want. I have attached two VIs that show this. I saved these VIs for LabVIEW 2009 so you should be able to open them up and run them in 2009 or later. Add.VI is the subVI that you are calling. The Caller.VI is just a While Loop that contiually calls the Add subVI. Inside of the While Loop is also a Case Structure with a Static VI Reference (you might need to change the path this is pointing to after downloading the VIs to your computer for this to work) and the Front Panel Open invoke method. You can run the Caller.VI and interact with the main Front Panel as normal and see the subVI but then you can click the Open subVI? boolean button and it will open the subVI's front panel. You can continue to interact with the main front panel and see the values update on the subVI's front panel as well. You can just close the subVI's front panel when you are done viewing it. Does this help?
Grant H.
National Instruments
LabVIEW Product Marketing Manager
Attachments:
Caller.vi ‏19 KB
Add.vi ‏23 KB

Similar Messages

  • 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

  • I am having trouble uploading an Aperture photographic book to Apple. The first time I tried "Buy Book" the order proceeded normally but when it came to uploading the book to Apple it "uploaded" for six hours without going through so I aborted the attempt

    I am having trouble uploading anAperture photographic book to Apple. The first time I tried “Buy Book” theorder proceeded normally but when it came to uploading the book to Apple it"uploaded" for six hours without going through so I aborted theattempt and cancelled the order.
    The second time I tried the samething happened so after nine hours I found that the "Quit Aperture"button had greyed out so I had to Force Quit. I do not know if the order wascancelled but I do not think that the upload was successful.
    What can I do about this problem?

    I also am not able to print a book.  I have Aperture on two Mac, MacBook Pro (current) and a MacPro - both printed books prior to update 3.1.3 now all I get is the spinning ball then I have to Force Quit.  I tried books I have ordered in the past (trying to print a new book) and they also failed.  This is not a picture problem but a problem with 3.1.3 update.   I would like to print some more books and give Apple some money but can't.
    Any suggestions?
    Ken

  • Is it possible to run the vi with a button on the front panel?

    Hi to all,
    I was wondering if it is possible to run a vi with a button placed on the front panel.
    Regards,
    Palazzo

    Palazzo wrote:
    Run vi when opened is not useful in my application, I know that option, thanks.
    Can you elaborate? Programmed as a proper state machine, have the program run in an idle state that only waits for for a button press.
    There is no need ever to go to edit mode during execution of a finished program.
    while I have written a demo Xcontrol to show that everything is possible, I strongly recommend against it. It makes no sense.
    See here for the example and instructions. But please read the entire thread, though.
    LabVIEW Champion . Do more with less code and in less time .

  • How do I stop sub-tools from automatically showing up when clicking a tool in the palette?

    I must have clicked something or inadvertantly pressed a keyboard shortcut or something because a couple of weeks ago, the sub-tools on the tool palette started popping up without me having to hold down the mouse button for a second. Now when I click a tool (the rectangular marqee tool for example), the hidden tools (eliptical marqee, single row etc.). Please make it stop! It's annoying as hell.
    I'm using PS CS5 on Windows 7.

    I don't believe there's any configuration option that changes that behavior, but I know what you're seeing has been discussed here before.  Unfortunately, it might be difficult to think of the right terms to search for it.   I don't recall if there was a specific fix or workaround found, though.  I'm wracking my brain and I don't remember one.
    Is there any chance you've gotten the right and left mouse buttons swapped?  Do they pop up immediately when you click the right mouse button (as they should)?
    Have you reconfigured your mouse double-click speed or any other mouse parameters recently?
    Do you have an alternate mouse you can try?
    Have you tried clearing your Photoshop preferences (by pressing and holding Control - Shift - Alt immediately after launching Photoshop)?
    -Noel

  • 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?

  • I want to save an image of the front panel, (with data), after every VI run

    When I try to copy the front panel (using a select all), and paist to paint, all the data in the graphs show up as they did after the last run, but the data in the charts dissapear. The chart itself is copied but the data is not. Any ideas on how to solve this?
    Thanks,
    Brian
    Attachments:
    Brians_graph_compilation2.vi ‏1363 KB

    This Knowledgebase also has some information on programatically saving VI images
    http://digital.ni.com/public.nsf/websearch/942DAA35C7B35616862565FE005F713F?OpenDocument
    (KB 197BB7VJ if the link doesn't work).
    Note that you don't have to put the code in the VI you are running in order to save it to a file, so you don't actually have to modify your VI. You can just run a seperate VI that uses the VI name from the first one (I've attached a VI which could either be run standalone or used as a SubVI, as well as an example of using it as a SubVI).
    If you don't want to do it programatically you could just hit the print screen button on your keyboard and then paste it into paint and crop off the extra windows stuff.
    Attachments:
    CreateVIJPEG.vi ‏34 KB
    ImageExample.vi ‏24 KB

  • How do I get the Label for a Front Panel Control to appear in the Block Diagram but not on the Front Panel?

    How do I get the Label for a Front Panel Control to appear in the Block Diagram but not on the Front Panel? On the Front Panel I am making a complex control that consists of a Slider and a Numerical Input box. Both Controls display the same information and either can be used for Input. When one changs, the other is made to display the same value.
     But I only want the Slider to display the Label on the Front Panel, to avoid confusion. On the Block Diagram however, I want both controls to display their Labels so that I know what they are. How do I display the Label for a Control on the Block diagram, but not display its Label on the Front Panel?

    No.  The Label Visible property is separate for the front panel control label and the block diagram terminal label.
    How did you start out with the block diagram's label not being visible?  Whenever I drop a control or indicator, the label is always visible on both the FP and BD by default.  Maybe there is a LabVIEW option that causes new controls/indicators not to have their labels visible by default, but I have yet to find it.  I don't think an item should ever be dropped without the label visible, good LabVIEW coding practice demands that the labels for control terminals on the block diagram be visible so that you know what control or indicator a wire is going to.
    That being said, I have seen a lot of VI's posted where the label for the terminal on the BD is not shown (against good programming practice.)  I've gone to the BD and right clicked to show the label.  Sometimes, the people have an empty label (which will turn off the visibility for both the FP and BD) and I'm forced to add some text of my own into the label so I can figure out what their code is doing.  When I add some text to the label, at that time, I find both the BD and FP labels become visible.
    Are you dealing with controls that have empty labels to start?
    Good programming practices:
    1.  Always have a name for all of your controls, never use and empty label by deleting the text in the label.
    2.  Make the labels unique.  For example, don't have two controls both called Stop.  How do you know quickly know which terminal relates to which control?
    3.  Always show the labels on the block diagram, so you know the function of a control's terminal.  If you want to hide the label on the FP, that's okay.
    4.  If you want a different label to appear on the FP than whatever you actually called the control, then use the caption.  You can hide the label and show the caption.  This is useful if you need to programmatically change what the "label" is on the front panel such if you are making an application that needs to change its user interface such as for a foreign language.

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

  • How to run java servlet without using Web.xml?

    How to run servlet without using Web.xml? From a book, I know that web.xml descriptor is optional, but the book doesn't tell us how to run java servelet without web.xm descriptor. So how to do that? Thanks a lot.

    How to run servlet without using Web.xml?But Tomcat now uses a web.xml for its global server-wide configuration.
    If you'd like to invoke a servlet with:
    http://host/servlet/ServletName
    you have to enable the invoker servlet.
    [from an HTML]
      <FORM METHOD="POST" ACTION="/servlet/HGrepSearchSJ">
    [from resin.conf of Resin Web Server 2.1.12]
      <!--
         - The "invoker" servlet invokes servlet classes from the URL.
         - /examples/basic/servlet/HelloServlet will start the HelloServlet
         - class.  In general, the invoker should only be used
         - for development, not on a deployment server, because it might
         - leave open security holes.
        -->
      <servlet-mapping url-pattern='/servlet/*' servlet-name='invoker'/>
    [from TOMCAT5.0.19/conf/web.xml, a global server-wide web.xml file]
      <!-- The "invoker" servlet, which executes anonymous servlet classes      -->
      <!-- that have not been defined in a web.xml file.  Traditionally, this   -->
      <!-- servlet is mapped to URL pattern "/servlet/*", but you can map it    -->
      <!-- to other patterns as well.  The extra path info portion of such a    -->
      <!-- request must be the fully qualified class name of a Java class that  -->
      <!-- implements Servlet (or extends HttpServlet), or the servlet name     -->
      <!-- of an existing servlet definition.     This servlet supports the     -->
      <!-- following initialization parameters (default values are in square    -->
      <!-- brackets):                                                           -->
      <!--                                                                      -->
      <!--   debug               Debugging detail level for messages logged     -->
      <!--                       by this servlet.  [0]                          -->
        <servlet>
            <servlet-name>invoker</servlet-name>
            <servlet-class>
              org.apache.catalina.servlets.InvokerServlet
            </servlet-class>
            <init-param>
                <param-name>debug</param-name>
                <param-value>0</param-value>
            </init-param>
            <load-on-startup>2</load-on-startup>
        </servlet>
    ---comment out below----------------------------------------------------------
        <!-- The mapping for the invoker servlet -->
    <!--
        <servlet-mapping>
            <servlet-name>invoker</servlet-name>
            <url-pattern>/servlet/*</url-pattern>
        </servlet-mapping>
    -->

  • Running a subVI without interferin​g?

    I have a main VI that runs in a continuos while loop, outside of that while loop I bring up a subVI to display data that is gathered in the main VI. The problem occurs in the sense that I want the subVI to come up at the beginning (no problem) and to stay up everytime a user clicks a button on the main VI (problem), instead it dissappears into the background and te user always has to click on the menu below to bring it into view, any way to avoid this? Setting Priorities?

    Hi Helper
    if you download the LV Window Utilities VIs from the NI site, you can use
    the function "Make window always on top.vi". I think this is what you are
    looking for.
    this is the link to the Window Utilities:
    http://zone.ni.com/devzone/devzoneweb.nsf/opendoc?​openagent&74DDE683A1AFF698
    8625683A000C0D73&cat=034E59A8530E09DF8625689000187​07A
    if the link doesn't work, search for:
    Windows API Function Utilities (32-bit) for LabVIEW
    Good luck
    Denis

  • 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

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

  • How to display the status of a SubVI on the front panel?

    Hi,
    I am writing a program to control an instrument through a serial communication port. The control and communication functions are integrated in a SubVI and they work fine.
    In the front panel of the main VI, I want to add some indicators to display the status of those controls in real time, such as using some LEDs to show whether the program is running in some loops of the SubVI, or use some indicators to show some variables in the SubVI.
    I tried using global variables, but I can't make them work in real time (or maybe I didn't do it right). The values of the global variables are actually changing on the fly, but the indicators on the front panel wouldn't reflect those changes until the program return
    ed from the SubVI.
    Is there a way to do this in Labview 6.0.2?
    Your earlist help is very much appreciated.
    Best regards,
    Hua

    Hua,
    I have attached an example in which a front panel boolean indicator is toggled in the subvi. Also, a front panel stop button is used to stop the loop execution in the subvi. References are passed to the subvi instead of the actual control values.
    Without seeing your code I'm not sure what was going on with the globals, but you had to have a data dependency somewhere which was keeping the code from running until after the execution of the subvi. The code must be totally independent of the subvi in order to run. Also, in order for the update to work it would have to be operating in a loop.
    Attachments:
    Main.vi ‏13 KB
    subvi.vi ‏20 KB

  • How to see the full program on the front panel when it is running?

    Hi, my program is really big, and when I run it and obverserve the program on the front panel, I cannot drag the window to see the other parts. Also, I tried the method like hold control, then press + to zoom in or press - to zoom out. However, labview seems doesnt have this function. Does anyone know how I can see the full program then it is running, maybe zoom out or drag the windows? thanks! 
    Attachments:
    not running.png ‏85 KB
    running.png ‏72 KB

    You should use a Tab control.  Group your front panel objects together and put the grouped items in tabs.  Then you can select the Tab you want to display while the program is running.
    It is never a good idea to make your screen too big to fit on one display.  This goes for the block diagram also.  If you have to scroll to see it all, use more subvi's.  Make it modular.  A state machine is a good way to put a lot of code on one display screen.
    - tbob
    Inventor of the WORM Global

Maybe you are looking for

  • Surface pro type cover not working

    I just installed arch on my surface pro and the touch screen works well, as does the stylus, but the type cover/touchpad doesn't type or function at all. On startup two error messages are shown: hid-multitouch 0003:045E:07A9:0005: HID_DG_INPUTMODE ou

  • ReadAllQuery using named EJBQL from Mapping Workbench

    Hi, how to use named EJBQL queries defined in Mapping Workbench in code. ReadObject queries can be done using: MyObject o = (MyObject)getUnitOfWork().executeQuery("findById", MyObject.class, id); But I need to a Collection back. So how do I have to d

  • Driver Notebook HP

    HiI have an HP Pavilion Notebook dv6-6b55sl with windows 7 64bit .. later go on to windows 10 .. I wanted to know if you will update the drivers for this notebook on the site hp ..

  • How to user Error Trigger for mapping - trying to catch row-based errors

    Hello everyone, Has anyone managed to use the error trigger for a mapping? I created a row based map with the right parameters (i set the error trigger procedure which I already created in the database). For this map after run i have 5 warnings which

  • Change document type in Tcode  F.13

    Dear all, My client wants to change the document type AB when running TCODE F.13 for clearing bank postings in transitory bank accounts.Is there any way to do this without using a substitution? Thank you very much in advance Regards