11-16-2024 05:13 PM
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!
Solved! Go to Solution.
11-18-2024 09:34 AM
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 )
11-18-2024 09:43 AM - edited 11-18-2024 09:47 AM
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 😄
11-18-2024 10:53 AM - edited 11-18-2024 10:53 AM
@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:
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 )