LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Best method

Hi
 
I am dveloping a big application,so far i have done the pieces of program.
 
Now i am state to combine verything.In my program i have main VI from which i am going to run 18 applications(all the 18 applications are same type but controlling different machines).So i created those 18 applications as subvis and i will call from main vi whenever i need to run.
 
Basically in the main block diagram i used event strucutre to do all this things.
 
From some forum suggestions and materials i read, there are few techniques seems i can use to develope the rest of the program.
1.Queue, 2.Vi Server,3.Call by reference
 
Which will be the easiet because i am just learning and doing this, since my project duration is short i thought of not getting into complex methods(although the other methods will be useful at the moment i profer to do it in the simple method)
 
Any suggestions pls.
Thanks
0 Kudos
Message 1 of 27
(3,396 Views)
Queue has nothing to do with references. Except you can references in a queue. But it is still a very different think.
The best method would be to call the vis as simple subvis. No references no nothing.
Why can't you do that?
 
0 Kudos
Message 2 of 27
(3,390 Views)
Thanks pnt
 
Sorry i forgot to add few things.
 
I need to send control parameters(from a list of controls i will select which controls i am going to use in which subvi,it differs everytime when i start a program) from the main vi to subvi and read back the output values(for all the 18 applications).
 
 
0 Kudos
Message 3 of 27
(3,384 Views)

Hi Veeru,

are this 18 real applications or are this 18 subvi´s? If it are subvi´s and they do all the same except for some configurations, then you can use vi template. The advantage is that you only have to develop one vi, which you can configurate while calling it. To communicate from the main vi to your subvi, i recommend to use queues or notifier depending on what you need.

Hope it helps.
Mike

0 Kudos
Message 4 of 27
(3,379 Views)

Thanks Mike

These are real applications(18 machines which does the same operation but i want to control independently(i am trying to control from main vi,anyhow all these 18 applications will be running simultaneously)). I need to monitor all the 18 applications in main Vi(for ex,temperature measurement on each applications).

Your answers are really superb.as i am learning, sometimes i am getting hold at one issue.If  u dont mind pls give me some detailed tips.It will be much helpful for me to develope knowledge.

Thanks

 

0 Kudos
Message 5 of 27
(3,374 Views)
Hi Veeru,
are these 18 applications all standalone executables or only vi´s which should run in parallel?
Mike
0 Kudos
Message 6 of 27
(3,372 Views)
Thanks Mike
 
The vis runs in parallel(i mean all the 18 applications are activated from the main VI).If i am not clear pls let me know.
0 Kudos
Message 7 of 27
(3,369 Views)
Hi!
   I think the issue is if you have to launch 18 executables from the main VI, or if you have to launch 18 subvis from the main VI.  If the second is your case, use templates: this way you build 18 exact replicas of the same subVI (is similar to __inline__ in C programming, at least the effect should be the same).

   So, are you launching 18  external application, not LabView subVIs? 

   Once a VI is used as subVI, it is PART of the main application/VI, it is no longer a separate application, maybe this is generating some confusion...

graziano
0 Kudos
Message 8 of 27
(3,365 Views)

Hi Veeru,

then use the VI Server functions to start your vi´s, "Open VI Reference", the invoke and property nodes and "Close VI Reference".

Mike

0 Kudos
Message 9 of 27
(3,361 Views)

Thanks Graziano and Mike

Now i am confused,I got those as individual Vis,at the moment i am launching all the applications by the open by reference method(i have attached the part of vi how i am referencing to activate the applications).

Thanks

 

0 Kudos
Message 10 of 27
(3,358 Views)