Recentely I write some code for system integration,however,I am often confused about the LabVIEW achitecture.
I want to apply a standard architecture for all kinds of applications(Real time DAQ Acquisition,Audio analysis and so on), but it is difficult for me to make sure which type of architecture is most suitable, I hope the architure can well integrate with the following features: Multi-task(DAQ application), Good error handle mechanism, Good for system update.
Some achitectures I saw are options for the requirements:
1,State machine with String meassage or Queue based(Such as JKI State machine): This is traditional way to write LabVIEW code,but
this is a single task achitecture,if I setup a high speed DAQ and analysis system. This achitecture is limited for this kind of application,
because DAQ system should have 2 task: Data acquisition and analysis,even data storage. So how to use this type of state machine for multi task
2,Engine based State machine architecture: Setup some engines(DAQ engine,Error handler engine,Data analysis engine),LabVIEW UI just control the
engine run mode, using message queue to communication with various of engine. I don't know how to use it in Run-time mode,because this achitecture
is based on Queue message and Dynamic call mechanism. so the engines should be VI rather than EXE.
3,LabVIEW OOP architecture: I hardly use this architecture,how about it? Is this a suggested way or best way for system architecture?
The above is 3 main architecture I often see,could you give me some suggestions for selecting the best architure?