DQMH Consortium Toolkits Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

When to use DQMH?


@FlatCat wrote:

...

Here's another potential confusion I have related to someone else's writing about DQMH. Sam Taggert (https://blog.sasworkshops.com/simple-dqmh-dos-donts/) recommends in the section titled "Do be very cognizant of coupling" that all modules be arranged in a tree, and that broadcasts only go up the tree and requests go down. In his scheme, if you have a main with DAQ, Analyze, Display, and Log modules, could DAQ, for example, message the other three directly, or would DAQ have to  have to message the Main Module, and then Main would message the other three. Or perhaps I am not understanding what the tree structure would be in this case.

 


If you have such a tree, with Main up top, and all the other modules listed below it, then yes, DAQ would have to message Main first, and then Main would then distribute this info to the other modules as required.  So Main is acting as a message broker of sorts.

 

If performance is more important, you could make the Analyze/Display/Log modules be dependent on the DAQ module and therefore they could receive the broadcasts from DAQ directly.

 

Ozfarmboy_0-1673994699254.png

 

Christopher Farmer

Certified LabVIEW Architect and LabVIEW Champion
DQMH Trusted Advisor
https://wiredinsoftware.com.au

0 Kudos
Message 11 of 13
(562 Views)

In practice, I find the tree approach in larger DQMH applications is often dogmatic and over-complicates module messaging. Sometimes, coupling is ok. It can be hard sometimes to figure out when those 'sometimes' are. 🙂

0 Kudos
Message 12 of 13
(558 Views)

Note: having two components message each other doesn't actually require they be coupled (other than agreeing on the datatype of the User Event carrying the message, that is).  

0 Kudos
Message 13 of 13
(553 Views)