Jump to content

How to select the best LabVIEW architecture?


Recommended Posts

Hi,All:

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

application?

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?

Thanks,

Link to comment

Hi,All:

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

application?

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?

Thanks,

Standard acrhitectures are good for standard problems but your is not standard so... Let the application determine its structure. Imagine implementing the application a 100 years ago with faithful assistants (vey fast assistants) that tielessly carry out their job. Give them official titles and draw up how they interact to accomplish the job. Use that set of documentation to guide you program development.

Whatever design you come up with can be implemented in LVOOP if you are up to it. The ability to dynamically load now classes is a nice feature that allows modes to application to support future changes but it does introduce some complexity that you don't run into with a non-LVOOP app.

Just my 2 cents,

Ben

Re the QSM

I was describing what I was going through to convert an app developed using the QSM to my wife and buddy Friday night and stumbled apon the explanation

"A QSM is the Worm Oroboros implemented in software. It eats its tail and is best managed by keeping it starved. Let it feed iteslf and it will explode."

Edited by neBulus
Link to comment
  • 4 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.