Pop Up Subvi in Labview

Hello, all
I am having the following issue. I would like to have a subVI pop-up window when user wants to do so, in other words at the press of a button. I can do this by playing with "Windows Appearance" parameters, however, my subVI is need to be called continuosly as it displays the data coming from the instrument. Thus I can not figure the way to close this pop-up window, as the my whole program is in a while loop. Every time I call the subVI the pop-up window appears, and there is not way to get rid of it. 
I would greatly appreacite i quick and dirty solution for this issue
Thanks for your time
Regards,
Viktar Tatsiankou 

Hi Victoroza
I have done something as you describe...and application with a pop up that display some data and can be closed or opened at any time.
On the Windows Appearence of the pop up vi I custimize the following options:
     Show front panel when called
     Close afterwards if originally closed
Window Behavior : Floating
Next, to call the popup I use the Call By Reverence Node Function (on application control pallette)... Setup this to load the popup vi and on loading options check the "Load and retain on first call"
Well, I hope this can be usefull for you.
 Regards,
Matthuz

Similar Messages

  • Help remove pop up subvi

    Hello, I have a strange situation with labview. A subvi pops up
    everytime it is called during the operation of the main program. This
    is annoying becuase the display in the front panel is completely
    blocked by this popped up subvi. Is there any recommendation on how I
    can prevent this sub vi from popping up (this subvi has some global
    and local variables)? I would also like to know why this sub vi is
    popping up while the others are work just fine.
    Thanks.

    Double check that the window properties are not set to "Show front panel
    when called." (Right click on the icon in the upper right corner, VI
    Properties...->Category->Window Appearance->Customize...)
    "Sam" wrote in message
    news:[email protected]​om...
    > Hello, I have a strange situation with labview. A subvi pops up
    > everytime it is called during the operation of the main program. This
    > is annoying becuase the display in the front panel is completely
    > blocked by this popped up subvi. Is there any recommendation on how I
    > can prevent this sub vi from popping up (this subvi has some global
    > and local variables)? I would also like to know why this sub vi is
    > popping up while the others are work just fine.
    >
    > Thanks.
    >

  • How do I create a LLB that includes the top level VI and all SubVis for LabVIEW 8.0.1?

    I've searched the boards, and I have not found a solution for creating
    a LLB with all subVIs for LabVIEW 8.0.1.  I've seen the answer to
    use Save With Options.  I haven't been able to locate this. 
    I'm not too familiar with all of LabVIEWs options, so I greatly
    appreciate any help that can be offered on this.

    You can do Save As... and then go to Duplicate Hierarchy to new location and then under Packiging options, select custom and then check the box that says save as llb.
    Yo u can also specifiy the loaction of the files in this screen.
    Kenny
    Kenny

  • Can i make subcircuit in multisim like subvi in labview?

    in my project i have to work in modules, so can i connect those?
    like we use SUBVI in labview, can i make subcircuit in multisim? 
    Solved!
    Go to Solution.

    Yes! You can just right select all the components you want to make a subcircuit out of and right click » Replace by subcircuit...
    You now have a subcircuit that is saved with your design. If you like having different files for your modules (I personally do), you can instead create the subcircuit in a different file, attach HB/SC connectors to the pins you want to send the signals outof/into, save the file and in your main circuit, right click » Place on schematic » Hierarchical block from file... this way, the module can be reused as many times as you like.
    Cheers,
    Miguel V
    National Instruments

  • How to convert Subvi into Labview function

    Hi,
    I made costum vis of UDP Read and Write using dot net functions.when i tried to Make them reentrant. It is halting the application.
    i want to run these vis in sepate thread.
    Can you please tell me how can i convert  sub vi in labview fuction(like yellow one in Function pallet eg.Index arry or replace array).
    Regards
    Sandeep soni
    9922958092

    From help
    Adding VIs and Controls to the User and Instrument Drivers Subpalettes
    Adding VIs and Controls to the User and Instrument Drivers Subpalettes
    The
    User Controls and User Libraries palettes
    contain subpalettes for each directory, LLB, or palette (.mnu) file in labview\user.lib and icons for each file in labview\user.lib.
    Save
    subVIs in the user.lib directory only if they are usable, without
    modification, across projects. Paths to VIs in user.lib are relative to the labview directory. Paths to subVIs you save elsewhere are
    relative to the parent VI. Therefore, copying a VI from user.lib to modify it for a special case does not change
    the path to its subVIs located in user.lib.
    Caution  Do not save
    your own VIs and other files in LLB
    files installed with LabVIEW. Save your controls and VIs in the user.lib directory to add them to the
    Controls and Functions
    palettes.
    Complete the following steps to add new VIs and controls to the
    user palettes.
    Save the controls and VIs in the labview\user.lib directory to add them to the
    User Controls and User Libraries palettes,
    respectively.
    Restart LabVIEW. LabVIEW updates the palettes to contain the controls and
    VIs in the labview\user.lib directory.
    The
    Instrument Drivers palette corresponds to the labview\instr.lib directory. Save instrument drivers in
    this directory to add them to the Functions palette.
    Note  If you add a subdirectory or LLB to the labview\user.lib or labview\instr.lib directory and the subdirectory or
    filename begins with an underscore (_), the
    contents of the subdirectory or file do not appear on the User
    Libraries or Instrument Drivers palettes.

  • Passing control reference to subVI crashes labview

    Hi,
    using a image control (as indicator) provided by imaq Vision, I tried to pass the reference of the control to a subVI. On a computer it works and on a other (same labview version, same vision version, same os, same hardware and hardware drivers!), this crashes labview. I tried to close the control refnum at the end of the subVI, but that changed nothing to the issue. Now I use the reference as a global variable and it seems to work...nevertheless, I would like to understand what the issue and if I should remove any passing to subVI of control ref because this can potentially triggers an error. My correlated question is if this global passing is a "fake" workaround or have real chance of improving (this before going through the whole code for changing all passing of reference to subVI)
    thanks a lot

    Hi,
    thank CoastalMaineBird for your answer
    How do you know it's this issue which causes the crash?
    When I remove this parameter from and the only property node in the subVi that write to it, I have no longer any problem. Moreover, to ensure that's really the "passing", and made a global variable containing the reference to this control and use my original SubVi that do access the control through its reference number
    , and it works! In this last exemple, the only change is the way of transmitting the reference
    What LabVIEW version?
    8.0.1
    up to date according Measurement & Automation update tool
    Given that one computer works OK, and another crashes, I would say that
    you are seeing the effect of something else, not the cause. If passing
    a control ref via terminals was fatal, it would be fatal all the time.
    You have some other sort of issue, perhaps timing of the different
    machines triggers the bug, perhaps running out of memory, perhaps
    LabVIEW is corrupted on one machine.... But I don't think changing all
    your code to use globals would solve the real problem. Actually, saying that I wonder about problem of synchronisation. I know from Visual C++ that this kind of error happens if two process try to access the same control at the same time. This is typically an error changing from a computer to an other, and mutex or semaphore are the way to deal nicely with that. But does labview contains already such a securisation? If so, the global variable point on a single object and can "fell" the semaphore/mutex. But passing make a copy that will likely have two different semaphore/mutex but will point to a single control! Do someone know if I'm wrong in this idea or not?
    Thanks

  • Can I Run a labview application in a hidden window (i.e. I don't want the front panel to pop up in this Labview created EXE)?

    I have a executable labview 6.1 program with a front panel. The front panel pops up every time I run it. Can I force the program to run without popping up its front panel.
    Thanks in Advance

    If you're using MS Window, you can use lvwutil32.zip to hide the front panel. lvwutil32.zip can be downloaded from NI site.
    Or you can move your front offscreen, so that user can't see it. And save your vi. When you run your vi again, it'll popup at the offscreen position. NI uses this trick to hide windows from LabVIEW users. You can also set front panel size to 0.
    George Zou
    http://gtoolbox.yeah.net

  • Running independent subVIs on LabVIEW FPGA

    I currently have a collection of read and write functions on my FPGA VI that need to be running independent from each other.  The issue that I am facing is that the read function writes to a DMA FIFO and every time that read function completes I want the FIFO to be read by the Host VI.  I have tried putting these sets of VIs in a while loop to ensure independence, but when I do this the Host VI does not know when to read from the FIFO.  I have tried adding interrupts when the read function ends, but this doesn't seem to be working either.  I'm not really sure what else I can do to get the result that i am looking for.  Any help is appreciated.
    Thanks

    I usually just always have my host reading the DMA in a loop on its own.  I also add extra bits to the data in the DMA to tell the host what the data is.  I use this to command the host when the acquisition is done and it can react however it needs to from there.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Labview 7.1.1 crash on right click of subvi

    We've started having a problem on one computer, with a 3.4ghz, Intel dual core motherboard, win XP pro. When a subvi, usually homemade, and begun under an earlier version of labview, is right clicked in the diagram, we get a dialog stating that "Labview has encountered a problem and needs to close". No kidding. It goes away like somebody filed a paternity suit. We are using some Measurement Computing devices, and their vi's seem particularly prone to this. I read the earlier thread from 2005, which didn't offer much help. Have already installed updated Intel graphics drivers(seemed to fix for a while, but NOT), removed/reinstalled Labview,  tried Repair per Travis H. advice in aforementioned fourm thread:
    ttp://forums.ni.com/ni/board/message?board.id=170&message.id=105471&query.id=402919#M105471
     Also tried setting computer to use single core in BIOS. Anybody got new ideas?? 
    Solved!
    Go to Solution.

    Hi bill_gilbert,
    Thanks for the post and I hope your well today!
    It seems you have followed some pretty good advice so far.
    Is it only this one subVI? 
    Have you tried re-compiling the subVI under LabVIEW 7.1.1? Best way to do this is Shifht+Control+RunArrow, or alteratively delete a wire, replace the wire and save the vi.
    Are you using a type def that was created in an older version of LabVIEW in this program?
    I have also read about a very similar issue which was casued by an error in user.lib because of an icon in the Tools library. When deleting dir.mnu the problem is solved.
    Please let me know what you think and if anything works,
    Kind Regards,
    James. 
    Kind Regards
    James Hillman
    Applications Engineer 2008 to 2009 National Instruments UK & Ireland
    Loughborough University UK - 2006 to 2011
    Remember Kudos those who help!

  • Pop-up in event structure halts execution

    If I place a pop-up subVI in an event case of an event structure and this pop-up subVI contains a while loop and a stop button that would stop this while loop (thereby closing the subVI), will other events declared in the event structure be handled only after the user clicked the stop button of the subVI? If yes, is there a way for other events to be handled while the pop-up subVI is still running? 
    Solved!
    Go to Solution.

    Yes, it will stop everything in you rmain VI until the popup VI returns. The events will still be buffered, but they won't be handled by the event structure, until your pop up is closed (assuming your pop up is non-modal). If it's modal, the user won't be able to click anything at all, except controls on the pop up itself.
    If you still want the user to be able to interact with your front panel while the pop up is showing, and have the FP respond, you will want to launch the popup dynamically in its own parallel process. If you are using LV 2012 you can use the start asynchronous call node. If you are using an earlier version of LabVIEW, you will have to use the "Run" method with an invoke node.
    CLA, LabVIEW Versions 2010-2013

  • Problems calling SubVI

    Hi,
    I am currently writing a program in which I need a "pop up" SubVI.
    The SubVI opens when the user presses a button and closes again when it is finished. I am doing this with an event structure.
    Tha main program consists of several while loops.
    When I start the program for the first time, everything will run fine. If I now stop the main program with the LabView stop button and the restart the program, everything is still running fine.
    If I however stop the program by terminating all the while loops in the main program and then restart and Call the SubVI, the main program will behave as if everything works fine, however the SubVI Frontpanel (or the entire SubVI, I don't know) won't open.
    I really have no Idea what I did wrong there. Apparently the way I close the program does make a difference. As I undestand it, however it shouldn't, should it?
    Or does it matter, that the "Pop Up" Sub-VI is called in an extra SubVI that doesn't pop up?
    I have tried to reproduces this scenario in a simple example that I've attached. However, even though it is in all means similar to the real program, here, the error doesn't occur.
    Maybe anyone of you had the same problem before or has an idea what happens there?
    Thanks for your help!
    In the attachments, "test" is the main Program!
    Solved!
    Go to Solution.
    Attachments:
    SubVI.vi ‏7 KB
    CallSubVI.vi ‏6 KB
    Test.vi ‏13 KB

    You may have misunderstood my earlier comments. The reason your code does not exit is that you are simply reading the value of the stop button in the loop with the event structure. That loop cannot complete until everything in it has completed. That means it is a MUST to check the stop condition after an event has been processed. Doing it outside of the event structure like your code does will mean that the while loop is sitting there waiting for the event structure to complete. This will never happen once you stop you application using the button as currently written. If you hit the stop button and then follow that with pressing the Call subVI button your application will actually stop. In addition, your event structure will not process the Stop button until the subVI (your pop-up) has actually exited. The event containing that call will not complete until the subVI completes.
    I have posted a simple modification to your code that includes some of the suggestions I made earlier.
    Mark Yedinak
    "Does anyone know where the love of God goes when the waves turn the minutes to hours?"
    Wreck of the Edmund Fitzgerald - Gordon Lightfoot
    Attachments:
    Test-modified.vi ‏17 KB

  • Touch panel pop up windows

    I am using the touch panel module to build an application onto a NI TPC-2106T. I am finding that if I use functions like a dialog box, or call the front panel of a sub VI, nothing happens in the touch panel display. Is this because the pop-up windows need to be positioned correctly, or does the touch panel not support this kind of thing?
    mstudio

    Hi there,
    With reference to this thread:
    http://forums.ni.com/ni/board/message?board.id=170&message.id=317640&requireLogin=False
    Some of LabVIEW's features/functionality operates differently with the Touchpanel Module, or is not available. The above thread mentions about the behaviour of pop up subVIs, so this should help you with your question.
    Regards,
    Dan - NIUK

  • Subvi terminals in loops

    I'm trying to create a subVI from a VI in which most of the controls and indicators (that will become the terminals of the subVI) reside in loops. I then connect the resulting subVI into a wrapper VI.
    One boolean control within a while loop in the subVI is assigned to a terminal. If I connect a button in the wrapper VI to this terminal, the subVI doesn't seem to notice the input from the button at all. If I push the button on the subVI front panel, however, this works fine.
    For indicators that reside in loops, the corresponding output terminals do not seem to reflect the subVI outputs either.
    What am I doing wrong?

    Barry_Wealand wrote:
    What am I doing wrong? 
    You don't understand dataflow yet.
    A subVI receives values on all inputs when called and returns values on all outputs after it completes. The callling VI cannot continue with anything depending on the subVI output and thus it will also not read the control you are changing until the next iteration. Once called, all operations are local to the subVI. You can do what you are trying to do by wiring control references into the suVI and read values via value propety nodes wired to the references, for example. There are many other ways, though. Some better than others.
    It would probably help i you could describe what you are trying to achieve with all this. Most likley there are much better solutions. Why is there a loop in the subVI?
    Can you attach a simplified version of your architecture (i.e. toplevel VI and subVI)?
    LabVIEW Champion . Do more with less code and in less time .

  • Front Panel Controller SubVI?

    Here is the scenario, I have a main VI that uses an event structure to call various other SubVI's depending on what control is pressed and to update the front panel accordingly.  The front panel of the Main VI is a Tab Control with ~25 controls total.  As you can imagine, some controls should not be enabled until other events happen.  For example, I have a menu ring called "Report Type" of which you can choose 'HTML' or 'Send to Printer.'  Next to this ring is a boolean control called "Open in Browser?" , I want to only enable this boolean control only when "Report Type" is set to 'HTML.'   Likewise I want both the "Report Type" and "Open in Browser?" controls to be disabled if the user has not hit the "Download Data" control to get data from the RT Controller (otherwise there would be nothing to report.) 
    These are just a few examples of what I need to do, I have been adding 'Disabled' property nodes throughout my event cases but it is becoming very unwieldy and making my block diagram quite cluttered and hard to understand.  What I want to do is have a 'Front Panel Controller SubVI' of sorts, of which I define about 10 or so various states the front panel can be in and pass that state to the controller SubVI which in turn disables/enables controlls accordingly.  This idea sounds good but so far the implementation seems pretty bad.  I was hoping I could just make a cluster of control references and pass that into the SubVI but LabVIEW 8.2 doesn't seem to allow me to wrap up references in a cluster.  This has forced me to use VI Server to get the references.   What I've been able to come up with using VI Server works, but I can't believe its the most elegant solution.  Basically, for each of the possible states, I iterate over all the controls in the front panel and have a case structure for their Label Text which determins if that control should be enabled/disabled for the given state passed in.  Also, for some reason it seems that it is not grabbing references to ALL of my controls.  There is a menu ring control on the front panel that isn't in the Controls[] array.  I should mention that this particular Control already has a reference node created for it that gets passed to a SubVI, perhaps this is why its not found in the Controls[] array, but this doesn't seem to be very intuititve, or documetned for that matter.
    <a href="http://tinypic.com" target="_blank"><img src="http://i37.tinypic.com/fjgwtv.gif" border="0" alt="Image and video hosting by TinyPic"></a>

    Thats a very good idea, although I'd probably want to put a case structure around the disable property node and have it only change value when the search array function does *not* return -1, otherwise I'll be disabling things I might want to maintain in an enabled state.
    Just before I read your post, another thought came to me and that why use a SubVI, I could just use a parallel loop with queues to send back state information.  Since queues can be blocking, this would not negate my event structure.  I could combine the idea you gave me with this architecture.  Thanks

  • Teststand error states that a vi failed to load in the Labview Run-Time Engine

    I am getting an error in teststand that states that a vi failed to load in the Labview Run-Time Engine version '14.0.1'
    If I look at the software loaded on my system with the NI Measurement and Automation Explorer I have Labview Run Time engines for version 2009, 2010, 2011, 2012, 2013, & 2014 on my system.
    How do I get this VI to run on this system when it is called by test Stand?
    Thank you

    The RTE 14.0 was loaded as part of my deployment and after I ran this I got an update notice for the F1 patch which I also loaded.
    I do not have labview loaded on this system, only the run time engines from running my deployment.
    When I launch t he teststand sequence, when it calls the labview VI, I get the following error moessage:
    Error: Failed to load VI 'C:\builds\RelayVoltageMeaure.vi' in the LabVIEW Run-Time Engine version '14.0.1'. LabVIEW: The VI is not executable. This error may occur because the VI is either broken or contains a subVI that LabVIEW cannot locate. Select File>>Open to open the VI and verify that you can run it. VI Path: C:\builds\RelayVoltageMeaure.vi[Error Code: -17600, Failed to load a required step's associated module. ]
    I have attached the teststand sequence if this helps.
    Thanks
    Attachments:
    QuantumDigitalBd.seq ‏13 KB

Maybe you are looking for