DQMH Consortium Toolkits Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

Common Public API Requests

Solved!
Go to solution

I'm working with DQMH modules and have encountered a challenge that I hope someone can help me with.

 

In DQMH, each module comes with a set of default requests, such as "Stop Module." Normally, to stop a module, I would call the Stop Module.vi from that module's public API. However, when I have a monitor module that tracks all running modules and I want to stop all of them from this monitor, I need to call the Stop Module.vi for each individual module. This means referencing multiple VIs from different libraries—even though they all perform essentially the same function but in the context of their respective modules.

 

What I'm aiming for is a generic monitor that can stop any registered module without having to invoke each module's specific Stop Module.vi. I'd like to achieve this without recompiling or modifying existing modules (I'm using PPLs).

 

I've noticed that in the HSE Flavored DQMH, there's a method to retrieve default broadcast events generically, which is great for monitoring purposes. But I'm struggling with finding a way to send default requests—like "Stop Module"—to modules in a generic way.

 

So my question is: How can I create a mechanism that allows my monitor to send default requests to any module generically, without directly referencing each module's public API VIs? Essentially, I want to invoke default requests (such as "Stop Module" or any other default event) on any registered module without the need for recompilation or specific dependencies.

 

Has anyone dealt with this issue before, or does anyone have suggestions on how to implement such a generic request-sending mechanism within the DQMH framework?

 

Any insights or advice would be greatly appreciated!

Michał Bieńkowski
CLA, CTA, CPI

  1. Did someone devote their time to help solve your problem? Appreciate it and give kudos.
  2. Problem solved? Accept as a solution so that others can find it faster in the future.
  3. Contribute to the development of TestStand by voting on the TestStand Idea Exchange.
0 Kudos
Message 1 of 4
(169 Views)
Solution
Accepted by topic author bienieck

Hey Mike, thanks for bringing this up!

 

If you look at the HSE Application Template's startup.vi, it does call requests of modules dynamically. Does that simple and straight-forward solution cover your use case maybe?




DSH Pragmatic Software Development Workshops (Fab, Steve, Brian and me)
Release Automation Tools for LabVIEW (CI/CD integration with LabVIEW)
HSE Discord Server (Discuss our free and commercial tools and services)
DQMH® (Developer Experience that makes you smile )


0 Kudos
Message 2 of 4
(139 Views)

Hi Joerg, I saw the HSE solution, but I always thought it was impossible to do something like this with PPLs. Am I mistaken?

 

EDIT: It seems that it IS possible. Learn something new every day 😄

Michał Bieńkowski
CLA, CTA, CPI

  1. Did someone devote their time to help solve your problem? Appreciate it and give kudos.
  2. Problem solved? Accept as a solution so that others can find it faster in the future.
  3. Contribute to the development of TestStand by voting on the TestStand Idea Exchange.
0 Kudos
Message 3 of 4
(136 Views)

@bienieck wrote:

Hi Joerg, I saw the HSE solution, but I always thought it was impossible to do something like this with PPLs. Am I mistaken?


Oh yeah, sure can do:

 

Bildschirmfoto 2024-11-18 um 17.52.34.png

Edit: Too slow 😉




DSH Pragmatic Software Development Workshops (Fab, Steve, Brian and me)
Release Automation Tools for LabVIEW (CI/CD integration with LabVIEW)
HSE Discord Server (Discuss our free and commercial tools and services)
DQMH® (Developer Experience that makes you smile )


Message 4 of 4
(113 Views)