LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

labview project

Solved!
Go to solution

Hi All,

 

I have a project, which has several VI's each doing its own task. All these VI's pass data between themselves using single process variables which I added in the project. 

1) Right now, I have to open individual VI's and then click RUN for each one of them to function as a whole unit. How can I just click RUN in one of the VI"s ( TOP Level) so that all VI's function automatically. 

2) Right now the User has to set things in all the VI's and its cumbersome. I want to have a top level VI, where the operator can set all the values and then these can trickle to individual VI's ( control reference?? ctl). What are my options and how do I implement them ?

 

Thanks for all your suggestions

 

birapxi

 

 

 

0 Kudos
Message 1 of 3
(3,373 Views)
Solution
Accepted by topic author BIRA_PXI
You kind of answered your own question here.  You do need a top level VI that calls subVI's.  You can pass data into each subVI from the top level VI.  I don't know much about your application, but it may make sense to use a statemachine architecture here, where the statemachine is your top level VI and the subVI's are called depending on what state the top level is in.  Do a search on statemachine and you will get a plethera of helpful hits.
Message 2 of 3
(3,367 Views)

Hi BIRA_PXI,

 

You've got a few options.

1) You can manually start each of your VIs in order for them to collaborate.  (Sounds like this is what you're currently doing.)

2) You can create one top-level VI that would start whichever subVIs you tell it to.  (This was just recommended to you.)

3) You can programmatically start, run, and close other VIs from one of your existing VIs using Invoke Nodes.

 

Kevin S.

Applications Engineer

National Instruments

Message 3 of 3
(3,340 Views)