LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

subvi as a parallel procedure or called?

Solved!
Go to solution

 Hello.

 

I am going to implement a QFSM. Based to the example in https://decibel.ni.com/content/docs/DOC-32964, there are some vi's (the procedures 1 and 2) that are running in parallel with the main vi.

 

These vi's have their own QFSM.

 

My question is this: Is it better to use this kind of parallel vi's or should I implement an architecture that will call the vi to run when needed?

I am worried that the parallel vi's are not going to be efficient, is it correct or it just doesn't matter?

 

I hope that my question is clear. Please forgive my poor use of the English language.

 

Thanks,

Vasilis.

0 Kudos
Message 1 of 3
(2,413 Views)
Solution
Accepted by topic author vakost

There is very little performance overhead in SubVI calls and because LabVIEW is designed around dataflow it's ideally suited to parallel processing.

 

It is a very common architecture to have multiple QFSM loops (one for each 'module' of your software) and then have them send messages to each other to perform their tasks etc. in parallel.

 

It makes the code easier to maintain as each QFSM is dedicated to each task. Yes, there is some additional overhead in having to process multiple loops but it is very small and the trade-off is almost always worth it because you can have tasks running in parallel (e.g. accessing hardware).

 


LabVIEW Champion, CLA, CLED, CTD
(blog)
Message 2 of 3
(2,392 Views)

Thanks for that!

0 Kudos
Message 3 of 3
(2,387 Views)