DQMH Consortium Toolkits Feature Requests

Community Browser
Labels
Top Authors
cancel
Showing results for 
Search instead for 
Did you mean: 
Overview
Get support when using Delacor toolkits.
Post an idea
0 Kudos
Nicolas_Bats

It could be nice if "reply code" for a request and reply would we wrapped into a subVI and not scripted into the MHL.

 

For example, a request and reply named "Request X" would generate 2 VIs:

- One VI "Request X.vi" to send the request.

- Another VI "Reply to Request X.vi" to send the reply to the caller from the MHL.

 

Screenshots illustrate the idea. "bis" files are just a cosmetic alternative to simplify the reply VI inputs and wiring.

 

I like the idea of having messaging code into subVIs of the framework not in the MHL.

Download All
0 Kudos
Nicolas_Bats

Error management in a DQMH module could be compatible with multiple errors feature in error clusters. 

>> Send an « Error reported » broadcast for each error in the error cluster. 

>> Display only the first / last error in the module tester. 

>> Apply errors filtering for each error in the error cluster. 

0 Kudos
Justin_Gilbert

I am using DQMH 7.1.2.1547 and have found that when I create new Local Instance Only requests for modules with a helper loop that registers for broadcasts of other DQMH modules, it shifts the User Event case for the other DQMH modules in the helper loop only down by one event. Typically in these modules, I am only registering for other broadcasts in a helper loop, leaving the event handling loop only with the events for the current module. Whenever I create a new local instance I have to edit each test case to select the User Event I previously configured. This behavior seems to be the same regardless of the event consuming loop. If this can be corrected in the next update I would appreciate it!

0 Kudos
avogadro5

For those of us building DQMH modules into PPLs as runtime dependencies, we can add requests and distribute an updated PPL with no issue. Broadcasts on the other hand cause a problem because all broadcasts appear on the connector pane of not just "Obtain Broadcast Events..." but "Start Module.vi," so every user of a module will have a static call site with that big cluster. If I build an exe that calls "Start Module.vi" from an external PPL, and later a broadcast is added to the PPL, the exe will break and need to be rebuilt because the conpane has changed.

Instead, for this use case it would be better if the big cluster was totally private (not just the typedef) so it does not occur on callers' block diagrams. Instead, each broadcast would have a public VI that returns the UE (or a pre-registered refnum) for that specific broadcast. This would allow new broadcasts to be added without breaking existing compiled callers.

Because this approach won't really benefit anyone who isn't building PPLs/VIs to be loaded directly in the runtime engine, it may make sense to have it be an option when creating the module or perhaps only when adding broadcasts to an existing module.

bcast vis.png

AlexElb

2026-03-27_10-54.png

I propose helper loops (HL) to register only for explicitly used events instead all cases.

 

Arguments:

  • Improves readability: It becomes immediately clear which events the HL reacts to.
  • Reduces cognitive load: No need to navigate through case structures to understand behavior.
  • Enhances maintainability: Adding/removing events is more transparent and less error-prone.

This would align well with our preference for simple, explicit, and robust designs.

 

Currently, this is not possible, as it would break existing scripting functionality, when creating a new request, which should be handled by the HL.

 

 

2026-03-27_11-03.png

By the way:Great that we have seen the scripting of the helper loop already being improved regarding...

0 Kudos
beddrazzu

It would be really helpful to have direct access to the current state of the Message Queue.
In one of my applications, I needed to know how many items were waiting in the queue, so I implemented the following modification to retrieve that information.

 

 
Immagine 2026-03-19 090140.jpg

Petru_Tarabuta

This suggestion is inspired by the following recent post in the LabVIEW Idea Exchange: Remove description of Error In and Error Out terminals 

 

It would be useful if the description of all error in/out terminals in all DQMH VIs was cleared (set to empty string). This would save 638 characters (0.62 KB) of disk space for each DQMH VI that uses error in/out terminals. It may help reduce EXE sizes, and may help speed up project load times and EXE build times, even if just by a fraction.

 

Many thanks,
Petru

MichaelAivaliotis

This request is focused on simplifying the block diagram, one node at a time. it seems that when receiving a request and reply, you always need to pass the current module ID back. This seems to be a very common use-case. So common that perhaps there should be a convenient Module ID indicator on the Addressed to This Module VI? The purpose of this would be to reduce the clutter and allow more space for module functionality vs framework code.

 

Screenshot 2026-03-03 165118.png

FlatCat

Reposting this from the general DQMH forums:

 

Today I ran into my first instance of what is likely a common problem where my helper loop swamped the MHL with more requests than the MHL could handle (because of a hardware timeout problem). Since this was my first foray into Helper Loops, it took me a bit to track the problem down, using cumbersome history probes on DQMH Enqueue Message and DQMH Dequeue Message. 

 

What would have helped a lot would be an additional output terminal on DQMH Dequeue Messages that told how many items were still in the queue (using Get Queue Status). A person could ignore this terminal, probe it, or put in some code to check it and generate an error if too many messages built up. If I understand correctly, all that would be needed is a Get Queue Status in DQMH Dequeue Message wired to any of the free terminals. Making this change would not enable any forbidden manipulation of the queue itself; it would simply provide a sometimes-critical piece of information about the health of the module.

Some previous discussions of similar requests are here and here

MichaelAivaliotis

I've been using cloneable modules on a regular basis. Wiring consecutive request VI calls become tedious with regards to the module ID. Having that as a pass-through makes so much more sense. This is kind of like a reference to the cloneable module if you think about it. So that wire should be treated as such on the connector pane.

 

Screenshot 2026-03-02 155845.png

Nicolas_Bats

When using the "Rename DQMH Event" feature, the scripting tools regenerate the VI icon and erase any customization in the VI icon (icon text, icon template, layers ...).

 

It would be greate if the scripting tools could update icon text and "Border" layer but keep icon template or additional layers if existing.

avogadro5

This typedef should be public:

avogadro5_0-1768933786458.png

Here's a thread where a DQMH user is confused by a strange code break when they use subVIs to deal with launching modules. Here's another.

 

This datatype necessarily occurs in wires on the block diagram when registering for broadcasts therefore it is not "really" private, and scoping it private prevents us from using subVIs to register for events. Since subVIs are the main way we segregate code and prevent block diagrams from growing without limit, it should be possible to register for events in a subVI.

Kenny_K

We utilize VI Analyzer in our code analysis, but when using DQMH modules, it requires a lot of copy and paste for the same issue in any DQMH event code.

 

I am proposing that DQMH ship with the #Via_ignore for certain VI Analyzer tests.

 

Examples:

 

-Obtain Request Events (this is a non-reentrant VI in a Shared Clone reentrant VI)

Kenny_K_0-1768575630749.png

- Wired Terminals in Subdiagrams (terminals from a wait and reply are in a subdiagram)

Kenny_K_2-1768575767754.png

 

 

 

 

 

joerg.hampel

DQMH does store some settings in the LabVIEW.ini file. For example, "The last used virtual folder for tester, virtual folder for module, and relative path on disk for module" (see WhatisNewInDQMH.html). 

 

I would like a Settings dialog that exposes all available settings and configurations so I

 

a) can learn about what's configurable
b) can switch settings easily and quickly

 

We could implement a "Tools -> DQMH -> Settings..." menu or add to the LabVIEW Options dialog.

MichaelAivaliotis

Similar to this request.

I would like a button, on the API tester VI that ships with DQMH, to clear the status display.

 

MichaelAivaliotis_0-1763580487137.png

 

0 Kudos
Enrique.Noe

Hi, I'm currently refactoring some old code that contains helper loops, those helper loops weren't created using the DQMH Scripting tool, to homologize them, I'm following the helper loop prerequisites described here , one of the prerrequisites is that the error debug input to have a constant with the label "DQMH_HELPER_LOOP" and write the actual name of the helper loop, what I'm proposing here is to change the Error Debug name to this label only for the Error handler - helper loop.vi

This will help us create a constant for this input with the label already there, eliminating the need to visit the DQMH documentation website to get the right name.


Screenshot 2025-11-17 at 12.30.29 p.m..png

 

Best Regards,

Enrique.

Olivier-JOURDAN

It would be interesting to have the option to export the validation results from the UI with as much information as possible.

Adding the option to the CLI tool would also be interesting to create reports.

 

Format could be a CSV file (or HTML or PDF using the Asciidoctor toolkit 😉 ).

Darren

The 'External Launch' module data for a DQMH module indicates whether or not the Main VI was started externally (True) or launched as a top-level VI (False). For the top-level VI case, the last thing that runs in your DQMH Module Main VI is the following:

Darren_0-1762450138400.png


I propose that we change the code to this:

Darren_1-1762450200016.png


When running a Main VI as a top-level EXE, it should have standard shutdown behavior.

joerg.hampel

When using the API Tester to, well, test my module, and an error occurs, I always would like to be able to clear the error indicator before moving on - just to make my life easier by being able to see clearly when new, further errors occur. 

 

Like this:

 

Screenshot 2025-10-21 at 19.43.38.png

 

Is there anything at all speaking against adding this nifty little feature? 

adkin

There doesn't appear to be a distinction between standard Requests and Wait for Reply type requests for LOCAL INSTANCE.

 

I think this why when using the Remove DQMH Event Tool on a LOCAL INSTANCE Request and Wait for Reply, the "Request (Reply Payload)--cluster.ctl" file is not removed from the library and deleted as it is for public Requests.

 

Not a big deal, but would be a nice addition to not have to remember to remove it manually.

 

Thanks,

Aaron