Sign In

Delacor QMH Project Template by Delacor - Toolkit for LabVIEW Download

* 3 ↓543
 logo
Version5.0.0.82
ReleasedApr 17, 2020
Publisher Delacor
LicenseDQMH License
LabVIEW VersionLabVIEW>=14.0
Operating System Windows, Mac, and Linux
Project links Homepage  

Description

This package installs the Delacor QMH Project Template in the Getting Started>>Create Project window.

The Delacor Queued Message Handler (DQMH) template is based on the National Instruments Queued Message Handler Project Template (NI QMH). The DQMH improves on the NI QMH by providing safe, event-based message handling and scripting tools to make development easy, encourage same style between different developers in the same project and improve efficiency. The DQMH is best used in applications where there needs to be multiple modules running in parallel that communicate with each other. The DQMH can also be used for applications that have a single module, where the developer would benefit from having a Tester has the capability of eavesdropping on the different DQMH events and messages.

Each module is implemented following a variation of the National Instruments Queued Message Handler and it has a Test DQMH Module API.vi to help troubleshoot, debug and eavesdrop on the communications between the DQMH Module and its calling code.

Implementing communication between DQMH modules using events was based on the concepts presented by Justin Goeres during CLA Summit 2011 and NIWeek 2011. The main modifications to Justin’s approach were (1) changing the nomenclature from Private/Public events to Request/Broadcast events, (2) using the NI QMH as the basis for the modules instead of the JKI State Machine, and (3) adding an extra rendezvous to synchronize between the time the Main.vi has created its Broadcast user events and when the other module that starts this module registers for them. This additional synchronization is needed because the Delacor QMH Module has to own the creation of its events. Among other benefits, this approach permits calling Request VIs from TestStand without the user event references going stale.

Release Notes

5.0.0.82 (Apr 17, 2020)

1. #DQMH-599 Singleton and Cloneable Module templates updated to use Start Async Call instead of Run VI method for launching Main VI

2. #DQMH-613 Add support for scripting an RT tester for singleton modules

3. #DQMH-646 Added a VI Reference Management lvlib. Updated Init Module.vi to have an optional input to set the Close Master Reference value. This VI includes a long comment explaining the parameter. Updated Close Module.vi to use the new ‘Close Master Reference’ parameter in determining whether to leak the reference

4. #DQMH-650 Updated cloneable module with the Semaphore Solution for ensuring the Start and Stop operations on a cloneable module are atomic

5. #DQMH-589 Added request and wait for reply timeout –error constant VI. Updated all request and wait for reply VIs to return the error on timeout

6. #DQMH-642 New notifier approach for shutting down the event references in Close Module.vi after the last instance stops

7. #DQMH-585 Wrap ‘Stop Module.vi’ call at the end of the API testers in a case structure so it won’t be called if the module was already running when the tester started

8. #DQMH-585 Added an ‘Already running?’ output to the Obtain Broadcast Events for Registration.vi in the cloneable module template

9. #DQMH-597 made changes to Wait on Stop Sync.vi for cloneable modules to make sure the Stop Module.vi does indeed wait for the cloneable module to stop regardless if the caller is waiting for all the modules to stop or just this instance

10. #DQMH-638 Have the module name be sent via the “additional information” parameter when broadcasting Error Reported

11. #DQMH-600 Add ‘Release Queue’ VI call in top-level Error case of module Main VIs

12. #DQMH-651 deleted the unnecessary comment from the Request and Wait for Reply notifier template that gets scripted in the MHL for a reply message, as it is no longer relevant now that we have the ‘wait for reply’ parameter

Install

Note, you must have the VIPM Desktop app installed for this button to work.

Versions

Report a Problem