Sign In

DQMH by DQMH Consortium - Toolkit for LabVIEW Download

DQMH is the Future of Team-Based LabVIEW™ Development!

* 34 ↓10,462
 screenshot
Version6.1.0.90
ReleasedMar 22, 2022
Publisher DQMH Consortium
License DQMH License
LabVIEW VersionLabVIEW>=15.0
Operating System Windows, Mac, and Linux
Project links Homepage   Documentation  

Description

The Delacor Queued Message Handler (short: DQMH®) toolkit is a freely available reference design (also called a template or framework) for LabVIEW. It expands 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. Today, the DQMH® is arguably the most popular LabVIEW framework out there.

The LabVIEW ecosystem often sees teams of software developers with members of varying proficiency. Teams that are growing rapidly. Teams that need to onboard new members regularly. Teams that need to employ subcontractors, and teams that don’t want to be dependent on a single source. DQMH® was created with these small teams in mind!

There’s a vast amount of content available: An exceptionally detailed manual, a plethora of videos and presentations, even podcasts! All of this makes it really easy to get new users of all proficiency levels up to speed very quickly. On top of that, there are lots of consultants – both the DQMH® Trusted Advisors and other 3rd parties – who are happy to offer courses, trainings and workshops for DQMH®.

This package installs all the packages needed for the DQMH toolkit:
DQMH Palette
DQMH Project Template
DQMH Event Scripter
DQMH Thermal Chamber Examples

Release Notes

6.1.0.90 (Mar 22, 2022)

====== DQMH 6.1 ======
* DQMH 6.1.0.90
* DQMH Palette 6.1.0.18
* DQMH Project Template 6.1.0.94
* DQMH Event Scripter 6.1.0.128
* DQMH Thermal Chamber Example 6.1.0.51

Release notes can be found at https://dqmh.org/release-notes
The online version includes links to forum posts and blog posts relevant to the release notes.
For DQMH Help go to Help>>DQMH Consortium>>DQMH Help....

Release notes for DQMH 6.1
This is the first DQMH release that drops support for LabVIEW 2014.

### Major new features
#744 Validate tests for broken VIs. Return a validate failure if the Main VI and/or Tester VI for a module are broken.
#733 More custom fields in Module Template. When creating a DQMH Module Template, the user can now specify default values for Tester virtual folder, Module virtual folder, and relative path location for the new module. Then, whenever that template is used in the New DQMH Module dialog, those fields are pre-populated with the values from the module template and can be changed by the user. The last used virtual folder for tester, virtual folder for module, and relative path on disk for module are stored in the LabVIEW INI file. These will then be used when creating the next module with the Add New Module UI. Additionally, there is now a 'Reset path and folder fields to default' button in the UI so the user can see what the default paths for different module types are if he doesn't want to use his last-used path.
#734 New Scripting API for DQMH. VIs currently implemented are:
- Get all modules in a project
- Get all events in a module library
- Get all callers of a request VI in the project
- Get all VIs registered for a broadcast in the project
#735 Quick Drop plugin for calling DQMH tools. The Ctrl-E quick drop shortcut will now launch all DQMH scripting tools. Read the description of the plugin (Quick Drop > Configure > Ctrl-Key Shortcuts > Launch DQMH Tool) to see the commands for launching each tool.
#732 Ignore individual validation results. The Validation Results UI now allows you to right-click any validation failure and choose to ignore it for future validation runs. There is also a button in the results UI that lets you manage the validation failures for your modules. Note that this information is currently stored in a (human-readable) tag in the module .lvlib XML. The headless validator will fire a Validation Finished event even if the validation didn't start due to an error. Validation tests that can flag individual VIs will check for the Issue Text in the VI description and if so, will not return a failure.
#729 New 'Show Diagram on Init' data member All our shipping modules (Project Template, CML Template, Module Template, and shipping example) have been updated to have a new 'show main VI diagram on init' checkbox on their testers. This parameter is wired to the “Start Module” VI for those modules and implements the new functionality where, on startup, the module main VI diagram is displayed and Retain Wire Values is enabled. A validate+fixer has been added to update old modules to include this new functionality.
#737 New progress VI for headless validation. The 'Obtain Progress Events.vi' will be on the DQMH Scripting palette and will allow the user to monitor the progress of a headless validation via events.
#741 Rename 'Delacor' menu to 'DQMH Consortium'. Rename the Tools > Delacor menu to Tools > DQMH Consortium.

### DQMH Palette
#734 New Scripting API for DQMH. VIs currently implemented are:
- Get all modules in a project
- Get all events in a module library
- Get all callers of a request VI in the project
- Get all VIs registered for a broadcast in the project
#735 Quick Drop plugin for calling DQMH tools. The Ctrl-E quick drop shortcut will now launch all DQMH scripting tools. Read the description of the plugin (Quick Drop > Configure > Ctrl-Key Shortcuts > Launch DQMH Tool) to see the commands for launching each tool.
#729 New 'Show Diagram on Init' data member All our shipping modules (Project Template, CML Template, Module Template, and shipping example) have been updated to have a new 'show main VI diagram on init' checkbox on their testers. This parameter is wired to the “Start Module” VI for those modules and implements the new functionality where, on startup, the module main VI diagram is displayed and Retain Wire Values is enabled. A validate+fixer has been added to update old modules to include this new functionality.
#737 New progress VI for headless validation. The 'Obtain Progress Events.vi' will be on the DQMH Scripting palette and will allow the user to monitor the progress of a headless validation via events.
#756 New Legal and Version Info Constant VIs.
#723 About VI. There is now an 'About DQMH' VI in the DQMH palette. The Project Template, CML Template, Module Template, and Shipping Example have all been updated with a button in various UIs to launch the About box.

### Module Template
#733 More custom fields in Module Template. When creating a DQMH Module Template, the user can now specify default values for Tester virtual folder, Module virtual folder, and relative path location for the new module. Then, whenever that template is used in the New DQMH Module dialog, those fields are pre-populated with the values from the module template and can be changed by the user. The last used virtual folder for tester, virtual folder for module, and relative path on disk for module are stored in the LabVIEW INI file. These will then be used when creating the next module with the Add New Module UI. Additionally, there is now a 'Reset path and folder fields to default' button in the UI so the user can see what the default paths for different module types are if he doesn't want to use his last-used path.

### DQMH Scripter
#747 Don't list modules with RT testers already. When running the Create RT Tester utility, don't list modules in the module list that already have an RT tester.
#728 Module description field. When running the Create New Module utility, there is now an optional description field for specifying a module description (which will populate the Description field of the module library file).
#748 Improve scripting for 'event only' modules. The New Event scripting tool now works properly for scripting the new event in the main VI even if the EHL does not have a Delacor Message Queue tunnel input
#734 New Scripting API for DQMH. VIs currently implemented are:
- Get all modules in a project
- Get all events in a module library
- Get all callers of a request VI in the project
- Get all VIs registered for a broadcast in the project
#722 Don't try to parse PPLs. When parsing the project to find DQMH modules, ignore modules inside PPLs (as they can't be modified or inspected with our scripting tools).
#727 Remove extraneous text from error labels. Renamed the Reply Payload error cluster to just “error” instead of “[request name] error”. Updated the scripting code to create new reply payload error clusters with the simple label “error”.
#746 Improve Error Reported error reporting. Improved the code in the Error Reported broadcast of the tester VIs to return more useful error information. This change was made to the testers in the module template, project template, and CML template. There is also a validate+fixer to fix the issue in the existing code.
#749 New Null Broadcast Events--constant VI. Added the new 'Null Broadcast Events–constant.vi' to all template DQMH modules. Also added a new validate+fixer to add this VI to old modules that don't have it.
#741 Rename 'Delacor' menu to 'DQMH Consortium'. Rename the Tools > Delacor menu to Tools > DQMH Consortium.

### DQMH Validation Tool
#744 Validate tests for broken VIs. Return a validate failure if the Main VI and/or Tester VI for a module are broken.
#745 Wired Start Async Call output. New validate module test that returns a failure if the user has wired the VI Reference output of the Start Asynchronous Call function in the Start Module VI of a cloneable module.
#743 Improve namespace handling in timeout fixer. The fixer that adds the Timeout Error subVI to a Request and Wait for Reply VI now does a better job with only parsing VIs that are directly part of the module namespace (and ignores sublibraries that may have identically-named VIs)
#732 Ignore individual validation results. The Validation Results UI now allows you to right-click any validation failure and choose to ignore it for future validation runs. There is also a button in the results UI that lets you manage the validation failures for your modules. Note that this information is currently stored in a (human-readable) tag in the module .lvlib XML. The headless validator will fire a Validation Finished event even if the validation didn't start due to an error. Validation tests that can flag individual VIs will check for the Issue Text in the VI description and if so, will not return a failure.
#746 Improve Error Reported error reporting. Improved the code in the Error Reported broadcast of the tester VIs to return more useful error information. This change was made to the testers in the module template, project template, and CML template. There is also a validate+fixer to fix the issue in the existing code.
#749 New Null Broadcast Events--constant VI. Added the new 'Null Broadcast Events–constant.vi' to all template DQMH modules. Also added a new validate+fixer to add this VI to old modules that don't have it.
#752 Validate+fixer for Stop Module event ordering. The new fixer will update the Wait on Stop Sync VI to use the new mechanism to register for Module Did Stop before firing the Stop Module event. The fixer also fixes up the two callers of Wait on Stop Sync (Stop Module.vi and Close Module.vi).
#752 Add semaphores to singleton modules. Project Template, CML Template, and Module Template updated to include semaphore synchronization in all their semaphore modules. There is also a validate+fixer to detect this issue in older modules and update them.
#729 New 'Show Diagram on Init' data member All our shipping modules (Project Template, CML Template, Module Template, and shipping example) have been updated to have a new 'show main VI diagram on init' checkbox on their testers. This parameter is wired to the “Start Module” VI for those modules and implements the new functionality where, on startup, the module main VI diagram is displayed and Retain Wire Values is enabled. A validate+fixer has been added to update old modules to include this new functionality.
#737 New progress VI for headless validation. The 'Obtain Progress Events.vi' will be on the DQMH Scripting palette and will allow the user to monitor the progress of a headless validation via events.

### DQMH Thermal Chamber Examples
#752 Add semaphores to singleton modules. Project Template, CML Template, and Module Template updated to include semaphore synchronization in all their semaphore modules. There is also a validate+fixer to detect this issue in older modules and update them.
#729 New 'Show Diagram on Init' data member All our shipping modules (Project Template, CML Template, Module Template, and shipping example) have been updated to have a new 'show main VI diagram on init' checkbox on their testers. This parameter is wired to the “Start Module” VI for those modules and implements the new functionality where, on startup, the module main VI diagram is displayed and Retain Wire Values is enabled. A validate+fixer has been added to update old modules to include this new functionality.
#723 About VI. There is now an 'About DQMH' VI in the DQMH palette. The Project Template, CML Template, Module Template, and Shipping Example have all been updated with a button in various UIs to launch the About box.

### DQMH CML Project Template
#752 Add semaphores to singleton modules. Project Template, CML Template, and Module Template updated to include semaphore synchronization in all their semaphore modules. There is also a validate+fixer to detect this issue in older modules and update them.
#729 New 'Show Diagram on Init' data member All our shipping modules (Project Template, CML Template, Module Template, and shipping example) have been updated to have a new 'show main VI diagram on init' checkbox on their testers. This parameter is wired to the “Start Module” VI for those modules and implements the new functionality where, on startup, the module main VI diagram is displayed and Retain Wire Values is enabled. A validate+fixer has been added to update old modules to include this new functionality.
#723 About VI. There is now an 'About DQMH' VI in the DQMH palette. The Project Template, CML Template, Module Template, and Shipping Example have all been updated with a button in various UIs to launch the About box.

### Help
- Updated link to obtain DQMH Framework Badge
- Replaced all the instructions to go to Tools>Delacor> to Tools>DQMH Consortium>DQMH to use DQMH Toolkit
- Updated video link to Validating an Existing DQMH Module that shows the new features for DQMH 6.1 and how to validate an existing DQMH 6.0 project to match DQMH 6.1
- Updated New Module Dialog Image showing the new fields on DQMH 6.1 release.
- Added Using Quick Drop Section.
- Added “DQMH New… Menu” to the list of Third Party Products
- Updated DQMH in LabVIEW Real-Time section
- Updated URLs from delacor.com to the equivalent content on dqmh.org
- Changed the footer to have clickable text elements instead of showing URLs
- Updated Release Notes URLs in What is New in DQMH? section
- Added link to https://dqmh.org/training from How to Learn DQMH section
- Removed build number from DQMH Versions 4.0 and greater in the Change History section
- Published documentation at https://documentation.dqmh.org


Install with VIPM Download Package

Note: Get VIPM Desktop to install this package into directly into LabVIEW.

Versions
Featured in

  Post an Idea   Post a Resource

Recent Posts

Resource in Spanish - Diseño de una arquitectura - CLA - QMH
Diseño de una arquitectura en español. Arquitectura QMH

by VIPM Community, 1 year, 8 months ago, 0 , 1
DQMH Discussion Forum
Find answers to your DQMH questions or post new ones

by Fabiola De la Cueva, 1 year, 8 months ago, 0 , 0
resource
DQMH Feature Requests
If you have a feature request or a new idea for DQMH please add it to the DQMH Feature Request (aka…

by Fabiola De la Cueva, 1 year, 8 months ago, 0 , 1
resource
Resource in french -- DQMH, un peu plus qu'un framework ?
Lors d'une rencontre de développeurs LabVIEW, Olivier Jourdan a présenté sa vision du framework DQM…

by Wovalab, 1 year, 8 months ago, 0 , 3
DQMH Tutorial Series Introduction
A DQMH approach to a simulated vending machine. This commit uses 5 DQMH modules (Model, Keypad, Sto…

by VIPM Community, 1 year, 9 months ago, 4 , 8
Broadcast Event Messages in DQMH
This video is part of a series, watch it from the start here: https://www.youtube.com/watch?v=TAhix…

by VIPM Community, 1 year, 9 months ago, 0 , 3