VI Front Panel in SubPanel reacts slowly

In LabView 2010F2, I have a VI that has several buttons and other controls on the Front Panel. When I run that VI standalone, it runs very quickly, uses less than 20% CPU, and is very responsive. ALl of the controls react very quickly. But when I put that same VI FP in a subpanel in a small VI, all of the controls in the VI in the subpanel are now running very slowly. There buttons are slow to react. There is almost a 1/2 second delay on the buttons. The CPU is stall down around 25% usage. The hosting VI does not do much and should not be responsible for this delay.
If the CPU is not very busy, what is the cause for the delay in the reaction of a Front Panel of a VI that is placed in a subpanel?
What can be done to significantly improve the response of a FP that is placed in a subpanel?

dbaechtel wrote:
Ben wrote:
How is you memory doing?
Do you have "show Kernal time' selected?
Ben
CPU Usage and Kernel Time do not pudge much during Save All or Clean Up Diagram of large diagram.  CPU usage stays about 25%, Kernel time stays about 50-75% of Total CPU Usage.
I don't see any reason why LV would show "not responding" under these conditions unless there are some long LV processes that are being executed that include significant I/O delays that do not relinquish the CPU to do other things while executing these long LV processes. If LV was not blocked by I/O (disk) delays then I should see near 100% CPU usage. If LV was being delayed by memory swapping, the I should see less than 50% memory free,
I'll leave the discusion of Internals and Data Structure for another thread.  
Spoiler (Highlight to read)
Both of my copies of that book are much more worn.
Both of my copies of that book are much more worn.
It is going to take some work to narrow down the possiblitlites since you have presented this situation as an interaction problem.
Generally speaking there is one hot button that comes to mind and that is the UI (User Inteface) thread where all GUI updates are handled as well as those things that do not play well if left to run in their own threads (property nodes for example).
SO I would like to suggest you start by trimming it down to something that work good and then start adding stuff back until you can detect the performance hit. At tath point step back and look for contention issues.
If I remebe correctly you can't post code images so asking you to post images of teh code that does not play nice together is a no-go.
You could also run the performance monitor.
THe Trace Execution tool kit should aslo help you get a the root of this situation.
Trying to help, wondering if if I can,
Ben
PS Regarding the bug thread. I depend on that thread to stay on top of potential bugs. I asked and Laura moved the off-topic posts to the proper thread. Please excuse my "anal-retentive" side.
Ben Rayner
I am currently active on.. MainStream Preppers
Rayner's Ridge is under construction

Similar Messages

  • Load subVI front panel in subpanel

    I want to load subvi front panel in subpanel. I have attached VI , however instead of path of VI I want to provide sub vi reference.Is it possible to this?
    Attachments:
    SetSubPaneOrigin_LV861.vi ‏10 KB

    Use a Static VI Reference that can be found on the Application Control pallette.
    After dropping it, right click and browse.
    Ben
    Discalimer: In an eralier version of LV, Static refs did not work correctly in an executable.
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Retain VI front panel in Subpanel after VI containing subpanel is stopped

    Is there a way to retain the front panel image of a VI in a subpanel after the VI containing the subpanel is stopped?  The default action causes the subpanel to clear when the VI containing the subpanel is stopped but not closed.
    Thanks in advance...
    Steve
    Solved!
    Go to Solution.

    If you want the image of the FP, you can place a picture control under the SP, use the Get Panel Image method and push the result into the picture control. When the VI will stop the SP will become transparent and you will see the picture control.
    I assume, though, what you actually want is for the FP itself to stay in the SP and I believe the answer is no. My experience has been that the caller removes the SP VI when it stops, whether you removed it or not, and a quick test indicates you can't insert a VI into an SP which isn't running. Personally, I never needed the SP to have a VI when the caller stopped. 
    One workaround you might be able to use is to place the SP in an XControl. Xcontrols run at edit time as well, so I'm guessing this will work, but I haven't tried it.
    Try to take over the world!

  • Programatically alther the properties of the front panel of another vi (vi server)

    hi all,
    check out the attached code (lv 8.6). this is a standard example of how to modify the properties of another vi (test.vi and test1.vi in this case). although the properties of the called vi are set, the front panel does not react accordingly. for example:i set fp.minimizable to false and double checked that the value is actually set. but the front panel still is minimizable. why? where is the error?
    thanks in advace
    labviewette
    p.s if you want to run the attached code, you have to create a test vi in the same directory in which the code is saved.
    Attachments:
    Setting Window Options.vi ‏22 KB

    Minor errors in your code :
    1 - set  "wait until done to false" when running Test.vi from your vi
    2 - connect "Show menu bar" to the case input instead of a constant 
    Then everything runs nicely. See modified vi below.
    Chilly Charly    (aka CC)
             E-List Master - Kudos glutton - Press the yellow button on the left...        
    Attachments:
    Setting Window Options.vi ‏22 KB

  • Leaving the front panel displayed on a subpanel after stopping

    I have a tab control.
    Each tab control has a subpanel.
    Each subpanel has a static vi reference attached to it for launching.
    I would like the image of the front panel displayed in the subpanel after the program has finished running so that any information that was displayed is still present.
    Is there a way to retain all the settings between run's?
    -Regards
    eximo
    UofL Bioengineering M.S.
    Neuronetrix
    "I had rather be right than be president" -Henry Clay
    Attachments:
    NeuroNetriX TestSet.vi ‏12 KB

    When you say settings, do you mean controls? If so, you can right click on them and select Data Operations >> Make Current Value Default. That will keep the settings initialized how ever you set them up.
    I believe you can use use the Get Front Panel Image VI Method node, similar to the way to run the VI. You can create one by right clicking on the VI reference wire and selecting Method for VI Class >> Front Panel >> Get Image. 
    I've attached a code snippet of the node. If you want you can just drag the file into your block diagram and it should turn into code. 
    Applications Engineer
    National Instruments
    CLD Certified

  • LabVIEW 2011 Block Diagram/Fr​ont Panel reacts slowly

    Since today the block diagram as well as the Front Panel of my application (using LabVIEW 11.0) became very slow. Any modification (add item, move item, scroll etc.) takes more than a second. Restarting LabVIEW helps for some time and then it becomes slow again. Restarting the PC did not help either.
    So, I tried to remove all items added today but the effect remains the same. When I try to close the Project Explorer LabVIEW does not react anymore (not responding). Very annoying.
    I tried also modifying the settings of the graphics card: nope.
    What do I do? Start the project again?
    Any suggestions except not using LabVIEW for further projects?
    Would be appreciated.
    Ben
    Solved!
    Go to Solution.

    BMajor7 wrote:
    Any suggestions except not using LabVIEW for further projects?
    seems to be funny
    Thanks as kudos only

  • Front panel state of VI in subpanel

    Up until last week this code has been working flawlessly ... I have been dynamically loading VIs in and out of a subpanel.  While the VI is in the subpanel, the user has been interacting with it using custom events within that VI.  In the process of trying to create a simpler way of keeping track of the dynamically loaded VIs from the main VI, the whole process of interacting with the dynamically loaded VIs in the subpanel has stopped working.  The VIs load into the subpanel just fine, but their front panel state remains at "standard" instead of changing to "hidden".  what could be preventing this?  I've included a snippet from the main VI that shows how the VIs are dynamically loaded.
    Attachments:
    subpanel.png ‏75 KB

    Hi.
    Why do you open up your front panel first? remove that 
    Make sure the VI is running in memory. Load you VI into the Sub panel. Front Panel Windowtate should show closed by default before loading into subpanel (atleast when I clone multiple VIT's in memory and show them in a subpanel) if not configured otherwise. After loading teh state should be standard.

  • How adjust front panel placement of a sub VI in the subpanel

    Ok so I've learnt how to use tabs and how to place Sub VI's in the tabs. Last, I would like to change the position of the front panel of some of these sub VI's
    because they're not positioned to my liking  
    Whats the way to go?
    Thanks!
    Solved!
    Go to Solution.

    by default, a VI loaded into a subpanel will show up with the same FP position as when you last saved it.  That's not often what you want, and it's easy to move the FP around inside the window and forget you're changing it.  But this should be good enough to get going.
    one trick that I use is to load the subvi into the subpanel with the same origin in each.  So both the front panel and the pane that it is in have their own coordinates.  For the pane (which is normally the window boundary, and here is the subpanel boundary) the origin is 0,0 at the upper left corner.  On the front panel, look for a little dot with the grid visible.  That's (0,0) on the FP.
    So what we can do programmatically is to use property nodes to set the pane origin to the front panel origin:
     (LV2009f2)
     ok so the snippet ate my constant but there should be two 0's (I32) in that cluster.  Just create a constant on the Origin property and it'll make it.
    -B 
    -Barrett
    CLD

  • Open sub VI front panel in a tab-- Possible?

    Well, the question is basically in the subject: Is it possible to call sub VI's and display their front panel in a tab. I do NOT wish to have the front panel in a new window when called.
    Solved!
    Go to Solution.

    _Faust wrote:
    Well, the question is basically in the subject:<...>
    The answer is also basically in the picture:
    You can find SubPanel element in the same palette as the Tab Control container. Place a SubPanel on the Tab Control and wire a reference of the VI whose front panel you want to display.
    Message Edited by Giedrius.S on 02-13-2010 11:08 PM
    While evaluating my code please have in mind that I am a LV novice. Therefore sometimes my code might violate some coding rules that I have to learn about myself. But how else could I do that...
    Chart zoom with "Mouse Over" effect

  • 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

  • Opening multiple sub VIs (front panels) in an application

    Hi, 
    I am working on a small process control application. The main VI represents a layout of various equipment (pumps, valves, heat exchangers). Each TYPE of equipment
    can be turned on/off through a particular subVI. The subVI is displayed when the operator clicks on the component.  At the moment only one subVI front panel can be loaded. I would like to have multiple panels open at the same time; this to include multiple instances of a same VI and different subVIs.
    I have tried to set properties in the WindowsApperance dialog box but cannot acheive the desired operation. 
    Any suggestions?
    Thanks

    Trust my personal experience: You do NOT want multiple dialog windows open.  The users will hate you and curse your name if you do.  You really want to use subpanels and limit what the user can do.  Subpanels are a way of inserting a VI's front panel into another VI's front panel.  So you want to have a section of your main front panel that the user can load whatever control subVI they need.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Using more than one front panel at the same time

    I have a main program where I can call sub vi’s and then the sub vi’s front panel opens.
    I want to use/see/operate more than one front panel at the same time. How I can do it?
    For example when I close the main program it won’t close before I close all the sub vi’s front panels.
    I use event case to call these sub vi’s. Can I close all vi's using one button?

    I wouldn't use subVIs for display, at least not if you plan to have them open all the time. Instead, I would suggest that you have one loop with a FP VI which will talk to the FP all the time and will pass to the data to the other loops through a variable or a functional global.
    Then, you can use a tab control to organize your display. If there is no specific reason for not having the graphs in the same VI, you can use a tab control to organize it. If you can't, you can also use subpanels to display the VIs and put several subpanels in your VI.
    If you still want to display the VIs seperately, you can control their positions and sizes through their proerty nodes, but I don't think there's any reason for this.
    To learn more, I suggest you read the LabVIEW style guide. I think it has some tips about application design.
    Try to take over the world!

  • Multiple subvi's in main front panel

    Hello and welcome (it is my first post here),
    sorry if such subject was already risen, however I don't know how to specify it exactly in terms of LV nomenclature (I'm a beginner in LV) what makes it quite difficult to search the forum.
    I need to create an interface with user specified number of input channels (specified during application work, so dynamic loading is necessary). Each channel is to be controlled by subVI. I'd like to load panels of all running input subVI's into some container in a main front panel (similarly to subpanel, but loading multiple VI, not single one). Is there a container capable of this? Is it at all possible in LV?
    Regards,
    kaolpr
    Solved!
    Go to Solution.

    You can use multiple subpanels. Unfortunately the number of subpanels must be set during development. You could create a method of cycling through your various channels. This would involve loading and unloading the multiple subpanels that you do include in the UI.
    Another alternative would be to use a table or something similar. Have your subVIs post updates to the UI code via queues, notifiers or user events. Tables are much easier to manage when your number of elements varies. If you need to have the UI pass information to the subVIs it can also use queues, notifiers or user events.
    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

  • Why am I unable to select the boolean indicators on my front panel?

    Hello all,
    This has to be an easy one for you guys, but here goes...
    I created a front panel with approximately 20 boolean indicators on it (LEDs). I realized that I only had 10 functional, so I made the others 'greyed out and disabled'. Well, now the ones I disabled are functional again, so I want to enable them. Problem is, when I go to the diagram and select 'show indicator' it is still grayed out. I cannot click on the indicator on the front panel to 'enable' the indicators. I cannot select them at all.
    I've tried creating property nodes and enabling them that way. They are no longer grayed out when I do this, but I still cannot click on them to move them about the front panel.
    All
    I want to do is select them so I can rearrange the way they look on the panel, but I cannot click on them.
    And, yes, I've had my tool palete on both 'Automatic Tool Selection' and 'Position/Size/Select'. It is also interesting that I can select and move the indicators which I never disabled in the first place.
    Any help would be great!
    Thanks in advance,
    Dave Neumann
    [email protected]

    "Neumannium" wrote in message
    news:[email protected]..
    > Paul,
    >
    > Part of the problem is that I cannot click on them at all. If I try
    > to right click, the Controls palette pops up (like it would if there's
    > nothing on the front panel).
    >
    > If I drag a box around them, they are not selected. It's as if they
    > don't exist, but they do! They still function -- I can still run the
    > test and the booleans react as they should, but they are not where I
    > want them to be (the user cannot see them all without scrolling).
    What happens if you go to the diagram and double click on the control? It
    should take you to the front panel and highlight/select the control.

  • Dynamic front panel

    Hi,
    I'm working on a VI that will be used to control a number of RC Quadcopters and cars.
    The VI gets the amount of vehicles from tracking tools, and then runs a loop and finds out for each vehicle if it's a quad or a car.
    Now that that stage is completed, I want the front panel to display a line of controlls and indicators for each of the vehicles, and have a different line for quads or cars (i.e for quads I need indicators for x, y, z coordinates and a "takeoff" button, while for cars I need indicators for x, y coordinates and a speed limit control).
    Is there a way to create the front panel dynamically depending on input?
    the best way I found up until now will be using invisible tabs, so I'll have a tab for each number of vehicles containing said number of lines, and then each line would have two tabs (quad/car), and the tabs to display would be picked at runtime.
    The problem is that that would require me to set a maximum number of vehicles, and would require a lot of work if I'll introduce a new type of vehicle, so I'd rather have a more modular system.
    I would love some fresh ideas about that problem.
    Thank you!
    Shayelk
    Solved!
    Go to Solution.

    shayelk wrote:
    looks great, I'll try it out!
    In the example you attached the different controlls are displayed in a number of windows, is there a way of displaying them in a single FP?
    thank you!
    Yes!
    Use subpanels. 
    I'm assuming you are LVOOPing the class "RC Vehicle" with children classes of "RC Car", "RC Plane", "RC Submarine.Yellow"...etc?
    Just dynamically dispatch the "Control RC vehicle" methods to a subpanel.
    OK, "JUST" is an oversimplification..... but that is the way I would look into if it was my project.
    Jeff

Maybe you are looking for