How is it best to develope a multiple window (front panel) application in LabVIEW?

I have only been using LabVIEW for a couple months so keep this in mind while I ask this question.
I have been testing out multiple ways of developing a application using multiple windows and passing data between them, in LabVIEW. I am not sure how to best do this. First (See attached TestApp1.0) I used the Open VI.vi to open and close the VIs as I wanted to use them. This worked well I could have multiple windows open at once and could easily pass data to them by simply laying the VI in the main while loop. The draw back was it required polling and lots of extra logic to open and close the different VIs.
Next I used the event loop ( see TestApp2.0)and eliminat
ed the use of Open VI by simply laying the VIs into the event loop and selecting them to display front panel when called. The draw back to this was I could only have one window opened at a time, and since I had to put the SubVIs in loops I could not pass data easily from another form to it while it was running.
Finally, I have seen examples using a VI server. This looks much more complex and I am not sure if it would be worth the time figuring it out.
Does anyone have any suggestions for what the best way to design this type of application is? Am I missing something?
Attachments:
TestApp1.0.zip ‏31 KB
TestApp2.0.zip ‏23 KB

Hello NIBOUND,
I looked into your "Method 1"-files. That's roughly
the way I would do this, but I changed the files a
little bit.
The subform2 (input of data) is now only called when
the user wants to input some data. I changed the
window setting to "Open when called" and "Close after
run". The other vi subform1 runs the whole time in
your main loop. Is this wanted? If not, then you can
change it to the same behaviour as subform2...
Best regards
Gerd
Best regards,
GerdW
CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
Kudos are welcome
Attachments:
Test1.zip ‏32 KB

Similar Messages

  • Multiple (floating) front panel application in labview

    I am trying to build a multi-window application. My goal is to be able to have multiple floating windows open simultaneously, which all allow user input. 
    My problem is, when I open a new floating window, I can no longer click buttons in the other windows.
    I've attached a simple example of what I'm trying to do. The Main.vi has two parallel loops and two event structures. One loop has the sole purpose of running the Sub.vi after a button is clicked. The other loop performs some functions when the other buttons are clicked. Since these loops run in parallel, I would think that I can interact with both VI's when the front panels are open.
    What am I missing here?
    Any help is appreciated. Thanks. 

    Your bottom loop stops because you have a regular call to the subVI.
    The event loop cannot finish until the subVI finishes.
    To strictly answer your question, Take a look at the options for the EVENT structure.  By default the LOCK OUT KEYBOARD UNTIL THIS EVENT IS FINISHED is set ON.
    That means just what it says.  When you call that subVI, the event locks out the keyboard/mouse on the calling (MAIN) VI.
    Having TWO event structures in one VI is asking for trouble.
    I have an app with 10-12 windows, all of which are overlappable, and usable.
    the way you do it is to run all 10 VIs at startup, but keep them closed.
    Send each one an EVENT from the main VI when you want it to open.  All they do in response to that event is FP.OPEN.
     

  • Crio to host multiple remote front panels

    Hello all,
    I've a question abt remote front panel hosted by a cRIO system (cRIO9068 to be more specific, running RTOS).
    I have a top level VI (main) as the start up vi in my cRIO system, and it would call a subvi during run. I'd like to enable remote front panel for both the main vi and the sub vi so that I can see both front panels using a web browser. I'm not sure if such a configuration is possible at all and would like to listen to comments by users who have similar experiences.
    Thank you very much!
    Best,
    Jidong

    Hello hhaamm,
    To the best of my knowledge, I don't believe it is possible to host multiple remote front panels from the same executable, and, if it is, would be very difficult. The NI Web Server configuration file only specifies one port on which an executable can run web services, like remote front panels. In, short, I am not sure how you would be able to accomplish this.
    Another thing to keep in mind is that what you want to accomplish can be done in many different ways that would be much easier than creating multiple remote front panels.
    One of these is to move all of your controls and indicators to the top level VI. i.e. make the data you want to see from the sub-VI an output of the sub-VI and create a new indicator for this on your top-level front panel. This way you can still use a remote front panel and can use different decorations and labels to separate the top-level and sub-VI outputs.
    Another way to do this is to use the tab control to create multiple tabs, one for your top-level indicators, and one for your sub-VI indicators. This would still enable you to use remote front panels and would allow for the separation of your different indicators. Here is a note on how to do that:
    http://zone.ni.com/reference/en-XX/help/371361H-01/lvhowto/creating_tab_controls/
    And here is a more in-depth forum post on how to create them:
    https://forums.ni.com/t5/LabVIEW/how-do-you-create-tabs-on-the-front-panel/td-p/201495
    The final way I can think how you would accomplish this is to use a web service instead of remote front panels and host the output of the sub-VI as a separate website. 
    Hope this helps!
    Collin D.
    Applications Engineer
    National Instruments

  • HT1438 How long does it take to repair a broken front panel of the iPhone 5 at the apple store?

    How long does it take to repair a broken front panel of the iPhone 5 at the apple store?

    apple doesnt fix them they switch them out

  • How to change the font and type in the front panel

    Can you tell me how to change the font and type in the front panel if i want to make it looks more beautiful.
    1110340040

    Hi there,
    You can change the font size and type as shown below:
    - Ee Lim -
    See that button on the left side of this post...
    If you feel my post is helpful, all you need is just (at most) 2 seconds to click that button, to show your appreciation. Thank you~~

  • How to add silver front panel theme for labview 2010

    how to add silver front panel theme for labview 2010

    Mahisnair wrote:
    yes i had tried this way but the vi built with silver theme doesnt look good in 2010 :-(
    wish if there was a way to include silver theme in 2010
    The only way I see to make it like that would be to recreate the theme in LabVIEW 2010 with external bitmap objects. Unfortunately it won't be as functional as the silver controls in various terms such scaling (bitmaps scale very badly) or transparency and click through functionality (a bitmap assigned to a control part will always catch all clicks and never allow a click to pass through anywhere to a lower layered part).
    The silver controls are using special internal graphic objects that were added in LabVIEW 2011, so recreating silver controls with the same functionality in earlier LabVIEW versions is impossible.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Loading Hex Files with multiple records with each line starting with : record marker, how do I load this hex file into a front panel table ? thanks in advance, Jeff.

    I have written a routine that loads a Hex file, checks for record marker,length,address etc then loads the data into a table on front panel. However, my routine only loads single record hex files. I need to be able to load multiple record files, I need to identify the ':' colon record marker start for each record in the hex file, I just can't see how to loop my routine so that all records with ':' prefix marker are loaded.

    Jeff,
    I'm not exactly sure of what you are trying to do. Is it possible you could post your code, or a screen shot of the diagram in question, so that I can get a better understanding, and possibly offer some assistance?
    I am familiar with hex files, but not with the : marker separating records. This may be able to be solved with simple text parsing, and as I am not familiar with how you are retrieving and/or displaying the files, I require more information.
    Thanks

  • How can I make sure the text size on front panel will be adjusted by itself from PC to PC?

    In my VIs under VI Properties -- Window Size, I checked the two boxes:
     --Maintain proportions of window for different monitor resolutions
    --Scale all objects on front panel as the window resizes
    It seems that it worked for everything on front panel except the pure text wording that I put there for instruction purpose.  The size of those text stuff didn't get changed proportionally after my application was built and run on different machines so some of them got cut off and looked messy.
    Does anyone know how to fix this problem?
    Thanks very much!

    Hi Andrew,
    Thank you for looking at my problem!
    Both my development system and test system are Window XP. The font size are all set to Normal. What other details do you need to know?
    The text on front panel shows well on my development machine. But when the .exe runs on my test machine, the text size was not adjusted by itself so the text body got cut off.
    I found a way to "fix" this problem: I had to drag the text box down and right so there is enough magin between the text body and the box on the right and at the bottom. I had to try it a few times until it finally shows well on my test machine. However, with those magins, it doesn't look nice on my development machine anymore. Also, I only tried on one test machine, if it looks good on one test machine, will it look good on all the other machines? Eventually my app is going to run on Window 7. I'll have to test that out and find out if it's still going to be a problem. Anyway, I don't feel this is the right way to do it. I hope someone knows what I'm talking about and have a soluction to it.
    Thanks very much!

  • How do I programmatically display jpeg files on the front panel

    Hi,
    I would like to be able to programmatically display various jpeg images on the front panel of a VI. I would mostly like to be able to display one image at a time and have the ability to programmatically change the image to different ones under program control. I found a picture indicator but not sure how to use if or if this is the best way. Thanks for any help.
    Dave Adams

    Yes, you can use a picture indicator.
    The attached simple codelet shows how to display a jpeg image on it (Make sure the image indicator is big enough).
    Let us know if you need help with the rest of the coding.
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    DrawJpeg.gif ‏2 KB

  • How do I store front panel values on LabVIEW RT

    I have a program that auto launches on a PXI. Is there any way to store the front panel values, so that the program starts up again with the last values that were used? The ini file method will not work because I am using LabVIEW RT.
    Regards,
    S G
    Certified LabVIEW Architect, Certified TestStand Developer, Certified Professional Instructor

    The best way to initialize inputs in RT is to use constants, or use the Communication Wizard in LabVIEW 7.0 to create a VI that initializes communication to the code running on the RT target. This becomes your user interface. One final suggestion is to use the Operate>>Make Current Values Default feature that is available in RT also.

  • How to return data from Ejb as collection to Front End application.

    Hi,
    I am creating a J2ee application. Here i am accessing BAPIs using stateless session bean through JCO connection. Now the BAPI is returning a return Table and return Structure to the EJB.
    I have coded the following code in one of the Ejb Method as follows:
    JCO.Table returnTable = null;
    JCO.Structure returnStructure = null;
    JCO.ParameterList paramList = siteBAPI.getExportParameterList();
    JCO.ParameterList paramList2 = siteBAPI.getTableParameterList();
    returnTable = paramList2.getTable("SITE_SUBSITE_INSTL");
    returnStructure = paramList.getStructure("BAPIRET2");
    Now i want to sent this data( returnTable & returnStructure) to front end application where front end developer accessing this returned data using Jsp.
    My scenario is that , first i want to convert this returnTable & returnStructure in a single collection and then sent this collection to Front end.
    My aim is that , the front end the application should not receive the Data, using JCO.table Variable but as a single Collection.
    I am using NWDI-2004s sps10.
    i need urgent help on this issue and i would really appreciate if somebody can put the answer with some sample code on how to return the data as Collection.

    if you want to return a result, then you probably shouldn't be using a message bean. message beans for for asynchronous tasks. session beans for for synchronous tasks. thus it would make much more sense to have your jsp call the session bean directly.

  • Is there a way to change the colors of multiple VI front panels?

    Hi,
    I am currently creating a LabView program controlling a lot of sensors and actuators. I have based the GUI on a tab-control with different buttons which again opens up different VI front panels in a singel sub panel below. I realy want to have a different color theme on my program than the standard gray LabView theme, but I would like to change the colors for all my VIs in a smooth and quick way. I really would not like to click on all controls, indicators etc. to get new colors, as there are a lot of them! Any ideas out there, if this is possible?
    Thanks in advance!
    Lars

    Lars,
    please note that using the grayscale theme is recommended not only by NI. Using color is very delicate thing since you have to consider:
    - readability of text might suffer due to insufficient contrast
    - overuse of (signaling) color might distract the user from important settings/information
    - color-blind user?
    That being said, you can color the frontpanels of the VIs you include in the sub panel dynamically. Please take a look into attached example on how this could be done (LV 2009).
    Please note that this is recoloring the frontpanel background only. If you need other elements to recolor as well, this can be done similar but is more effort....
    hope this helps,
    Norbert
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.
    Attachments:
    FP ColorChange.vi ‏14 KB

  • How to lock block diagram alone from editing leaving front panel for editing?

    i want to lock block diagram from editing but front panel can be edited for creating controls, moving controls editing properties...

    executables will be delivered to customer and they can create new vi and edit frontpanel and link tag through databinding. but i dont want them to open block diagram...
    Natasftw is right - you seem confused about the difference.
    If the customer can "create a new VI and edit frontpanel" then they have to have LabVIEW Development System.
    If you give them an EXE, and they don't have the DevSys, then they can use your VIs, but not edit them or look at the code.
    If they have the DevSys, then they can edit your VI and look at the code, UNLESS you protect it.
    If you save a VI with protection (VI PROPERTIES - PROTECTION ) then you can LOCK it (user has to explicitly unlock it with an extra step), or you can PASSWORD PROTECT it (user has to explicitly unlock it by giving a password).  Either way requires the DevSys.
    There is no situtation where one can edit the front panel without being able to edit the block diagram.
    Steve Bird
    Culverson Software - Elegant software that is a pleasure to use.
    Culverson.com
    Blog for (mostly LabVIEW) programmers: Tips And Tricks

  • Multiple remote front panels?

    I have two separate applications running with remote front panels from this KB:
    How can I use Remote Front Panels with Executables?
    I can not get the two to run at the same time.  I was then shown this:
    How can I run Two or more Executable with remote front panels?
    This seems to be a little old (Version 8).  I am running 2012.
    Has anyone gotten this to work?  How do you set up the web server to listen on more than 1 port?  How do you then direct that port to a particular app?

    Thank you for the solution Todd. I was having the exact same problem.
    LabVIEW 2013 SP1
    Windows 7 64bit
    Windows Server 2012 64 bit
    Windows 8.1 32 bit

  • How can a PowerPoint presentation be shown inside the front panel of a given application ?

    I´m developing a application and I thought it would be a great idea if I could somehow show a PowerPoint presentation inside its front panel. Can it be done using LabVIEW active x vis or can´t it be done at all ?
    Thanks in advance !!

    Like I said, I tried that option (and even got it work somehow, by connecting nodes from other places and using type casts), but I don't think it can manage that in a real app.
    After thinking about this some more, I've come to an unlikable conclusion - it's possible that there is no AX control for PP. Not for animation, anyway. If I remember correctly, when you open a PP presentation in Internet Explorer, you see the slides, but not the animation. If an AX control would exist, I'm sure IE would use it, which is why I think there probably isn't one.
    You can get a presentation into an AX container very easily by choosing the third option (open from file). Then, if you select a PP presentation, it will open in the container. However, if I remember correctly, you have no properties and methods to control it, and I don't think it will show the animation, so it's a bit useless.
    Maybe someone does know of a way...
    Try to take over the world!

Maybe you are looking for