12-09-2014 03:42 AM
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.
Solved! Go to Solution.
12-09-2014 06:40 AM - edited 12-09-2014 06:43 AM
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).
12-09-2014 06:41 AM
Thanks for that!