LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 
Reply

Modal Sub VI

New Labviewer here and I'm trying to figure things out.  

Switching between VI screens in Labview and I have the basics done but when switch form one front panel to the other, the VI opens briefly with the full menu displayed then switches to modal view.  When I say briefly, I'm talking for maybe a few milli-seconds.  But when I'm switching from one modal view to another, it is rather distracting.  

Anyone have an idea on how I can fix this?  I've posted the project files. 

First VI loaded will be the Splash Screen

 

Thanks

Marc

0 Kudos
Message 1 of 9
(294 Views)

(It would really help to place multiple files in a zip archive before attaching to keep things together.)


LabVIEW Champion Do more with less code and in less time
0 Kudos
Message 2 of 9
(288 Views)
Message 3 of 9
(260 Views)

Some comments:

  • You use the term "project files".  If you are using the LabVIEW Project (.lvproj) scheme, and have all your files in the same Folder, you can compress the Folder and attach the resulting .zip.  This way, we get the Project, as well.
  • If you made simple icons (a box with "Splash", "Start", "View 1", etc.), it would make viewing and understanding your VIs much easier (for us and for you).
  • There are good reasons for "standardizing" on the Connector Pattern.  The 4-2-2-4 pattern, which comes up by default, is a (subtle) good choice, as it encourages several good practices:
    • It "encourages" the practices of always putting Error In and Error Out Controls on the lower left and lower right connectors.
    • Having "standard locations" for Connections makes for neat wire routing in sequential VIs.  A Neat VI is an Easier-to-Understand VI.
    • Most VIs should have few Inputs and Outputs.  The Upper Right and Upper Left should be your most commonly-used terminals (after Error In/Out, of course).
  • You describe yourself as a New LabVIEWer (might as well learn the correct way to write LabVIEW -- it's an Acronym, after all, as well as being a Trademark).  Yet you seem to be starting with Fancy Front Panel manipulations instead of creating a Virtual Instrument to do some Engineering function.  What are you really trying to do?  Why?

Bob Schor

Message 4 of 9
(254 Views)

Wow tough crowd.

 

Bob thanks for at least replying.  Why you ask am I trying to start with a Fancy Front Panel instead of instruments?  Probably because I've already written my back end in C++ and really don't need to have LabView do that for me.  I'm really wanting to see what I can do with LabView and what it's limits are.  If I can't make simple screen transitions using LabView, guess I'll stick with C++ or one of the many other programming languages out there.   I just figured someone on here might be able to help me solve the problem that I'm having, if it there is a better way of doing it.  

 

Oh by the way LabViewEr was just a play on words.  I fully understand that LabView is an acronym for Laboratory Virtual Instrument Engineering Workbench.  Being an engineer myself, I get it.  My play on words was akin to saying a Googler or Wazer, however, I guess my slight humor was lost on you.  No biggie.  

 

 

 

0 Kudos
Message 5 of 9
(234 Views)
Highlighted

@marc99 wrote:

I fully understand that LabView is an acronym for Laboratory Virtual Instrument Engineering Workbench.


Close, but no cigar -- it's LabVIEW, not Labview or LabView or even (as happens to me when I'm typing too fast) LabvIEW.

 

bOB sCHOR

Message 6 of 9
(229 Views)

You might investigate subPanels in LabVIEW.  This lets you designate a region on your Top Level VI (it looks like a "window", or a sub-Panel) inside of which you can see the Front Panel of another sub-VI that may-or-may-not be running.  Of course, you want it to be running ...

 

Here's how simple it is to set up (the hardest part is to get the two Front Panels sized the same and sized to fit into the sub-Panel of the TLVI (Top-Level VI)).  Let's say the two VIs are Test Gaussian Fit and Capture Front Panel (these are two sub-VIs I happen to have lying around),  They are ordinary VIs that run when you call them and stop when they stop (because they're done, you tell them to stop, whatever).  So here is code that loads Test Gaussian Fit into the sub-Panel, runs it, waits for it to finish, then loads Capture Front Panel, runs it, and when it exits, turns off the sub-Panel.

Using SubPanels.png

As you can see, the code is very simple and straight-forward -- you run the two VIs in series (since they are sharing the same sub-Panel), "showing" them just before you run them the simple LabVIEW way, by placing them on the Error Line and having the Data Run Through It (I didn't show the data flowing in and out, but this is cobbled together to illustrate the point).  No fancy passing of parameters.  You can even (if you want) run both of these in parallel, and have two sub-Panels, one for each VI (you are only limited by your Imagination and Screen Size).  Took me 10-15 minutes to code this up (I had the sub-VIs already), faster and simpler than C++, I'm sure ...

 

Bob Schor

 

0 Kudos
Message 7 of 9
(222 Views)

@Bob_Schor wrote:
  • You describe yourself as a New LabVIEWer (might as well learn the correct way to write LabVIEW -- it's an Acronym, after all, as well as being a Trademark).  Yet you seem to be starting with Fancy Front Panel manipulations instead of creating a Virtual Instrument to do some Engineering function. 

LabFFFIEW Smiley LOL

0 Kudos
Message 8 of 9
(205 Views)

TabControls can also be used to switch FP content, standalone or combined with SubPanels.

 

SP seem absolutely right, as you already made the (right) decision to divide functionality into subVIs.

0 Kudos
Message 9 of 9
(201 Views)