LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

one user interface for multiple VIs

I searched and searched for an answer to this so if it's out there please direct me to it.

 

I have an application that has roughly 10 different VIs.  These VIs are virtually the same.  All they are doing is monitoring data for the operator for instance: Temperatures, Pressures, Vibrations, etc.,.  I would like to implement a user interface where the operator could click on a button at the bottom of the screen that would take them to the temperature screen.  Once the temperature screen is displayed, I would like to be able to click on a different button that goes to the Pressure screen.  In other words, I want the operator to be able to access any screen they want from any screen they are currently viewing.  So all the buttons would be at the bottom of every screen.  And any screen would be able to access any other screen.  I just have not found a good way to do this.  Every thing I've tried always ends up coming back to a "main.vi".  

 

Multiple answers are welcome!  Thanks.  

0 Kudos
Message 1 of 16
(3,394 Views)
Sounds like what you want is subpanels. There are some examples located at labview\examples\general\controls\subpanel.llb. You can also find lots on the forum about them.
0 Kudos
Message 2 of 16
(3,393 Views)
I believe I tried this in the past but I had a problem with front panel security once I did this.  Every thing on my VIs are password protected using the DSC module.  If the correct user is not logged in, then items on the VI are not displayed.  When I tried using subpanels, it didn't matter which user was logged in all of my front panel objects were displayed.  Maybe I was doing something wrong.  If I could resolve this issue, then subpanels would be great.  Any advice?  
0 Kudos
Message 3 of 16
(3,382 Views)

You could use control properties to hide certain objects depending upon user login.  Then subpanels would work.

 

- tbob

Inventor of the WORM Global
0 Kudos
Message 4 of 16
(3,375 Views)
Are you saying programmatically look at who is logged in and then use property nodes to hide/disable?  I don't really want to do this because I have probably 200 controls with security already in place.  But maybe I'm misunderstanding.
0 Kudos
Message 5 of 16
(3,373 Views)
How are you currently controlling which controls are shown/hidden if not with property nodes?
0 Kudos
Message 6 of 16
(3,340 Views)

for(imstuck) wrote:
How are you currently controlling which controls are shown/hidden if not with property nodes?

 

DSC has a feature that lets you assign protection levels to each FP control.

 

To OP,

 

You either have to set-up the protection on each sub-panel the same way you did for the top level VI or you are going to have to break down and implement the proctions yourself via property nodes.

 

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 7 of 16
(3,338 Views)
Thanks, Ben.  That is what I figured.  So is subpanel the only way to do what I want?  It sounds like it is.
0 Kudos
Message 8 of 16
(3,336 Views)

Just a query to all the really good programmers out there....

 

Why not use a tab control for this? - then the OP puts each FP in a tab and just has to restrict access to the specific tabs.

 

James

CLD; LabVIEW since 8.0, Currently have LabVIEW 2015 SP1, 2018SP1 & 2020 installed
0 Kudos
Message 9 of 16
(3,331 Views)

Ben wrote:

DSC has a feature that lets you assign protection levels to each FP control.

 


Good to know, having never used DSC. Maybe something to add to my "toolbox" in the future.

0 Kudos
Message 10 of 16
(3,330 Views)