DQMH Consortium Toolkits Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

Using CML DQMH as cloneable module

Hello Everybody,

 

A big thanks to delacor team. The DQMH framework is lots of fun to learn and use. I used Delacor QMH (Singelton) to run a simple project. The idea of separate modules, Testers etc. was very useful for a Labview beginner. It helped me to neatly organize my code.

 

Now to my question, CML DQMH template was something I was looking for my next project. But I wanted to run it as cloneable. So I created all 4 modules as in template (CML UI, Acquisition, Logger and Settings editor) as cloneable modules.

 

Acquisition, Logger and Settings Editor:

The main.vi of settings editor is launched from Acquisition and Logger modules using its request events. Running a module instance from Acquisition or Logger module opens a corresponding module instance for Settings editor. This works well. Issue is in next part.

 

CML UI:

The main.vi of Acquisition, Logger and Settings Editor module is launched from this module. This scenario is problematic since Settings Editor is in turn called from Acquisition and Logger. This leads to the following problem, creating a module instance in CML UI creates 3 module instance of Settings Editor (1 from Acquisiton, 1 from Logger and 1 from settings editor). Is there a better way to solve this situation? Or am I doing something wrong here?

 

Thanks in advance.

 

Regards,
Deepak

 

Note: Joerg Hampel’s blogpost about helper loops was very helpful and I used local events to call helper loop in acquisition module based on Fabiola suggestion from this post.

0 Kudos
Message 1 of 3
(3,208 Views)

Hi Deepak,

 

The CML DQMH example was kept as close as possible to the NI QMH sample project as a way to provide an easier transition to those who were already familiar with NI QMH. 

 

When we work on Delacor projects, we create a separate DQMH singleton module for the Configuration Editor (looks like the Options Window in LabVIEW) and each module has its own configuration page that gets inserted into the Configuration Editor subpanel. This keeps the configurations separate for each module. 

 

This configuration can either be done using libraries or classes, it depends on how you are more comfortable working. 

 

My suggestion is to look into ways to separate the Settings module from the different modules you have. Make the Settings editor be a singleton and find out a way to have individual settings pages for each one of your modules. If you make this "pages" cloneable, you are halfway there.

 

I have in my to-do list to write about what other changes we would make to the CML DQMH to make it look more like our typical projects but the main difference is the Settings Editor.

 

Thanks for your trust in DQMH and us and I am glad to learn that you are enjoying it.

 

Regards,

Fab

For an opportunity to learn from experienced developers / entrepeneurs (Steve, Joerg, and Brian amongst them):
Check out DSH Pragmatic Software Development Workshop!

DQMH Lead Architect * DQMH Trusted Advisor * Certified LabVIEW Architect * Certified LabVIEW Embedded Developer * Certified Professional Instructor * LabVIEW Champion * Code Janitor

Have you been nice to future you?
Message 2 of 3
(3,160 Views)

Hi Fab, 

 

Thank you for your suggestion.

 

Best regards, 

Deepak

Message 3 of 3
(3,120 Views)