LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Master Program?

Solved!
Go to solution

This is probably a newbie question but....

 

I am the manager of a lab that does optical calibration and I there are many insturments and processes that we use LabVIEW for. I want to create a master program that will run everything in the lab under one umbrella.

 

Of course one way to do this is to create a VI that calls each VI individually and displays them in a new window, but I would like to keep everything contained in one VI. So basically I would like to keep things modular by letting each VI be complete in itself but use the master program to display the front panel of each VI within the master VI.

 

One of my ideas right now is to use a tab container, and hide the tabs so that when the experiment is selected from the first "tab" it pulls up another tab that runs the modular VI. I tried using subpanels but it seemed there were some latency problems when I used  a simple test VI. I also got error 1000 when I used a more complex VI within the subpanel. I am not sure what feature was being "editted" but it locked up the whole program. 

 

In the end I want a program that neatly and eloquently groups all of my working VIs under one umbrella while maintaining functionality. If anyone knows a good way to do that please let me know.

 

I would post code exmaples but I am at home. I can post some later if necessary.

 

Thanks!

0 Kudos
Message 1 of 5
(2,566 Views)

Hi,

 

You can use the tab idea. Also, you can use subvis, in some case structure or event structure, and when you want to open these subvis and closing them using the active x nodes (property node and invoke node), I used this idea, in a project in which I need the subvis to run all the time, and to call more one sub vi at the same time.

 

Hope this helps

0 Kudos
Message 2 of 5
(2,558 Views)

Thanks for the reply. I do use a lot of sub vis in my programming which is the beauty of using a graphical programming language like LabVIEW, but I still need a way to display the VIs effectively without having to recode the front panel displays into the master program.

 

Ben

0 Kudos
Message 3 of 5
(2,534 Views)
Solution
Accepted by topic author benabner27

You can find lots of good ideas here: Large LabVIEW Application Development Blog. I personally like the plugin architecture.



Mark Yedinak
Certified LabVIEW Architect
LabVIEW Champion

"Does anyone know where the love of God goes when the waves turn the minutes to hours?"
Wreck of the Edmund Fitzgerald - Gordon Lightfoot
Message 4 of 5
(2,524 Views)

First paragraph kinda screams "VI Server" to me.

 

Basically you build up your top-level with controls like exit, save, comm configuration, etc... the high-level stuff that you use in all the modules.

 

Then you build modules that have a common connection diagram and size that will be inserted into the subpanel in the top-level VI.  All your specific test-related stuff goes in there.

 

Nice thing with that is you can load and unload subpanels without stopping and restarting the toplevel VI.  But... you do need to put some effort into defining the architecture and inputs/outputs of the plugins before you start coding.

Message 5 of 5
(2,522 Views)