1. Project description

The Continuous Measurement and Logging (CML) Delacor Queued Message Handler (DQMH) sample project is a variation of the NI QMH based CML project using DQMH® modules instead of separate Message Handle Loops.

2. Code component descriptions

2.1. DQMH® modules

This section describes DQMH® module responsibilities and relationships.

2.1.1. Preamble

A DQMH module is the main component of an architecture based on DQMH® framework. A DQMH module is used to implement a section of the application that has one responsibility.

DQMH® framework defines two different type of DQMH module.

Singleton:

A Singleton DQMH module can have only one instance running at any given time.

Cloneable:

A Cloneable DQMH module can have one or multiple instances running in parallel.

DQMH® framework defines two different ways to carry data throughout the application and with both other DQMH modules and non-DQMH based code.

Request events:

A request is a code that fires an event requesting the DQMH module to do something. Multiple locations in the code can send events to the DQMH module.

Request events are many-to-one.

Requests are usually named using imperative tense.

Broadcast events:

A broadcast is a code that fires an event broadcasting that the DQMH module did something. Multiple Event Structures can register to handle the Broadcast Events.

Broadcast Events are one-to-many.

Broadcasts are usually named using past tense or passive voice.

Note
Refer to the DQMH® framework official documentation to find more details on how the framework works

The following section gives you details on the project architecture relying on this framework. It gives you an overview of the modules' interaction and detailed information on each module.

Graphs used in this section have the following legend:

Components:

diag cf5f7d4f83eb2ee2e06de453187b399f

Events:

diag 912c60c0ddd0ce2ca9e09aa393be4778

Start and Stop module callers:

diag db7c2ca1c47bbd7580f55ecad5087cce
diag 8f175ca0aed83a6c27e237eaf54a37eb

2.1.2. Modules overview

This project contains the following modules.

Table 1. Modules list
Singleton Cloneable

CML UI.lvlib

Acquisition.lvlib

Logger.lvlib

Settings Editor.lvlib

This graph represents the links between all DQMH modules.

diag 5fea0a74e9493cdf58b8029648e033ee

2.1.3. CML UI.lvlib

Type: Singleton

Responsibility: This module is the user interface of the Continuous Measurement and Logging application.

Module Start/Stop calls
diag 206f83dd7c0c3e06dabb45386e9b80cc
Table 2. Start and Stop module callers
Function Callers

CML UI.lvlib:Start Module.vi

CML Main.vi
Test CML UI API.vi

CML UI.lvlib:Stop Module.vi

CML UI.lvlib:Handle Exit.vi
CML Main.vi
Test CML UI API.vi

Module relationship
diag d190310db8cddfe17c46abbbaf7d7f28
Table 3. Requests callers
Request Name Callers

CML UI.lvlib:Show Panel.vi

CML Main.vi
Test CML UI API.vi

CML UI.lvlib:Hide Panel.vi

Test CML UI API.vi

CML UI.lvlib:Get Module Execution Status.vi

CML UI.lvlib:Start Module.vi
CML UI.lvlib:Obtain Broadcast Events for Registration.vi

CML UI.lvlib:Show Diagram.vi

Test CML UI API.vi

Table 4. Broadcasts Listeners
Broadcast Name Listeners

CML UI.lvlib:Module Did Init.vi

Test CML UI API.vi
CML Main.vi

CML UI.lvlib:Status Updated.vi

Test CML UI API.vi
CML Main.vi

CML UI.lvlib:Error Reported.vi

Test CML UI API.vi
CML Main.vi

CML UI.lvlib:Module Did Stop.vi

Test CML UI API.vi
CML Main.vi

CML UI.lvlib:Update Module Execution Status.vi

Test CML UI API.vi
CML Main.vi

Table 5. Used requests
Module Brodcasts

CML UI.lvlib

CML UI.lvlib:Get Module Execution Status.vi

Acquisition.lvlib

Acquisition.lvlib:Stop Acquiring.vi
Acquisition.lvlib:Calibrate DAQ.vi
Acquisition.lvlib:Start Acquiring.vi

Logger.lvlib

Logger.lvlib:Initialize File.vi
Logger.lvlib:Stop Logging.vi

Settings Editor.lvlib

Settings Editor.lvlib:Show Panel.vi

Table 6. Registred broadcast
Module Brodcasts

Acquisition.lvlib

Acquisition Started.vi
Acquisition Stopped.vi
Data Updated.vi
Device Calibrated.vi
Error Reported.vi
Module Did Init.vi
Status Updated.vi
Update Module Execution Status.vi

Logger.lvlib

Error Reported.vi
Module Did Init.vi
Status Updated.vi
Update Module Execution Status.vi

Settings Editor.lvlib

Error Reported.vi
Module Did Init.vi
Status Updated.vi

2.1.4. Acquisition.lvlib

Type: Singleton

Responsibility: This module handle the continuous data acquisition.

Module Start/Stop calls
diag 17716338c8d5a49d18f74bfdf08becfb
Table 7. Start and Stop module callers
Function Callers

Acquisition.lvlib:Start Module.vi

CML UI.lvlib:Main.vi
Test Acquisition API.vi

Acquisition.lvlib:Stop Module.vi

CML UI.lvlib:Main.vi
Acquisition.lvlib:Handle Exit.vi
Test Acquisition API.vi

Module relationship
diag 2950d6bb4798150ad874ab979ff98093
Table 8. Requests callers
Request Name Callers

Acquisition.lvlib:Show Panel.vi

Test Acquisition API.vi

Acquisition.lvlib:Hide Panel.vi

Test Acquisition API.vi

Acquisition.lvlib:Get Module Execution Status.vi

Acquisition.lvlib:Start Module.vi
Acquisition.lvlib:Obtain Broadcast Events for Registration.vi

Acquisition.lvlib:Show Diagram.vi

Test Acquisition API.vi

Acquisition.lvlib:Stop Acquiring.vi

CML UI.lvlib:Main.vi
Test Acquisition API.vi

Acquisition.lvlib:Calibrate DAQ.vi

CML UI.lvlib:Main.vi
Test Acquisition API.vi

Acquisition.lvlib:Start Acquiring.vi

CML UI.lvlib:Main.vi
Test Acquisition API.vi

Acquisition.lvlib:Wakeup Helper Loop.vi

Acquisition.lvlib:Main.vi

Acquisition.lvlib:Change Settings.vi

Acquisition.lvlib:Main.vi

Table 9. Broadcasts Listeners
Broadcast Name Listeners

Acquisition.lvlib:Module Did Init.vi

CML UI.lvlib:Main.vi
Test Acquisition API.vi

Acquisition.lvlib:Status Updated.vi

CML UI.lvlib:Main.vi
Test Acquisition API.vi

Acquisition.lvlib:Error Reported.vi

CML UI.lvlib:Main.vi
Test Acquisition API.vi

Acquisition.lvlib:Module Did Stop.vi

Test Acquisition API.vi

Acquisition.lvlib:Update Module Execution Status.vi

CML UI.lvlib:Main.vi
Test Acquisition API.vi

Acquisition.lvlib:Acquisition Started.vi

CML UI.lvlib:Main.vi
Test Acquisition API.vi

Acquisition.lvlib:Acquisition Stopped.vi

CML UI.lvlib:Main.vi
Test Acquisition API.vi

Acquisition.lvlib:Data Updated.vi

CML UI.lvlib:Main.vi
Test Acquisition API.vi

Acquisition.lvlib:Device Calibrated.vi

CML UI.lvlib:Main.vi
Test Acquisition API.vi

Table 10. Used requests
Module Brodcasts

Acquisition.lvlib

Acquisition.lvlib:Get Module Execution Status.vi
Acquisition.lvlib:Wakeup Helper Loop.vi
Acquisition.lvlib:Change Settings.vi

Logger.lvlib

Logger.lvlib:Log Data.vi

Settings Editor.lvlib

Settings Editor.lvlib:Update Application Settings.vi

Table 11. Registred broadcast
Module Brodcasts

Settings Editor.lvlib

Application Settings Updated.vi

2.1.5. Logger.lvlib

Type: Singleton

Responsibility: This module handle data logging in file.

Module Start/Stop calls
diag 74a4ace426a21e4435a2b44609c01997
Table 12. Start and Stop module callers
Function Callers

Logger.lvlib:Start Module.vi

CML UI.lvlib:Main.vi
Test Logger API.vi

Logger.lvlib:Stop Module.vi

CML UI.lvlib:Main.vi
Logger.lvlib:Handle Exit.vi
Test Logger API.vi

Module relationship
diag 45a323316c62fb8dc0b29d4f609dc5a1
Table 13. Requests callers
Request Name Callers

Logger.lvlib:Show Panel.vi

Test Logger API.vi

Logger.lvlib:Hide Panel.vi

Test Logger API.vi

Logger.lvlib:Get Module Execution Status.vi

Logger.lvlib:Start Module.vi
Logger.lvlib:Obtain Broadcast Events for Registration.vi

Logger.lvlib:Show Diagram.vi

Test Logger API.vi

Logger.lvlib:Initialize File.vi

CML UI.lvlib:Main.vi
Test Logger API.vi

Logger.lvlib:Log Data.vi

Acquisition.lvlib:Main.vi
Test Logger API.vi

Logger.lvlib:Stop Logging.vi

CML UI.lvlib:Main.vi
Test Logger API.vi

Table 14. Broadcasts Listeners
Broadcast Name Listeners

Logger.lvlib:Module Did Init.vi

CML UI.lvlib:Main.vi
Test Logger API.vi

Logger.lvlib:Status Updated.vi

CML UI.lvlib:Main.vi
Test Logger API.vi

Logger.lvlib:Error Reported.vi

CML UI.lvlib:Main.vi
Test Logger API.vi

Logger.lvlib:Module Did Stop.vi

Test Logger API.vi

Logger.lvlib:Update Module Execution Status.vi

CML UI.lvlib:Main.vi
Test Logger API.vi

Logger.lvlib:Logging Stopped.vi

Test Logger API.vi

Logger.lvlib:File Initialized.vi

Test Logger API.vi

Table 15. Used requests
Module Brodcasts

Logger.lvlib

Logger.lvlib:Get Module Execution Status.vi

Settings Editor.lvlib

Settings Editor.lvlib:Update Application Settings.vi

Table 16. Registred broadcast
Module Brodcasts

Settings Editor.lvlib

Application Settings Updated.vi

2.1.6. Settings Editor.lvlib

Type: Singleton

Responsibility: This module is an ui that allow user to change application settings.

Module Start/Stop calls
diag 3d0b7295aa21f72486d9e68850a104c3
Table 17. Start and Stop module callers
Function Callers

Settings Editor.lvlib:Start Module.vi

CML UI.lvlib:Main.vi
Acquisition.lvlib:Main.vi
Logger.lvlib:Main.vi
Test Settings Editor API.vi

Settings Editor.lvlib:Stop Module.vi

CML UI.lvlib:Main.vi
Settings Editor.lvlib:Handle Exit.vi
Acquisition.lvlib:Main.vi
Logger.lvlib:Main.vi
Test Settings Editor API.vi

Module relationship
diag 8d1e87b62a3198bb5e2ee2e98d8f4bbb
Table 18. Requests callers
Request Name Callers

Settings Editor.lvlib:Show Panel.vi

CML UI.lvlib:Main.vi
Test Acquisition API.vi
Test Logger API.vi
Test Settings Editor API.vi

Settings Editor.lvlib:Hide Panel.vi

Test Settings Editor API.vi

Settings Editor.lvlib:Get Module Execution Status.vi

Settings Editor.lvlib:Start Module.vi
Settings Editor.lvlib:Obtain Broadcast Events for Registration.vi

Settings Editor.lvlib:Show Diagram.vi

Test Settings Editor API.vi

Settings Editor.lvlib:Update Application Settings.vi

Acquisition.lvlib:Main.vi
Logger.lvlib:Main.vi
Test Settings Editor API.vi

Table 19. Broadcasts Listeners
Broadcast Name Listeners

Settings Editor.lvlib:Module Did Init.vi

CML UI.lvlib:Main.vi
Test Settings Editor API.vi

Settings Editor.lvlib:Status Updated.vi

CML UI.lvlib:Main.vi
Test Settings Editor API.vi

Settings Editor.lvlib:Error Reported.vi

CML UI.lvlib:Main.vi
Test Settings Editor API.vi

Settings Editor.lvlib:Module Did Stop.vi

Test Settings Editor API.vi

Settings Editor.lvlib:Update Module Execution Status.vi

CML UI.lvlib:Main.vi
Test Settings Editor API.vi

Settings Editor.lvlib:Application Settings Updated.vi

Acquisition.lvlib:Main.vi
Logger.lvlib:Main.vi
Test Settings Editor API.vi

Table 20. Used requests
Module Brodcasts

Settings Editor.lvlib

Settings Editor.lvlib:Get Module Execution Status.vi

Table 21. Registred broadcast
Module Brodcasts

 — 

 — 

2.2. Libraries

This section describes the libraries contained in the project.

2.2.1. CML Shared.lvlib

This library gathers all the resource shared among the different part of the code.

2.2.2. Launcher Support.lvlib

This library gathers functions used to build and laucnh the application.

2.3. Classes

This section describes the classes contained in the project.

3. VI descriptions

3.1. DQMH® modules

This section describes DQMH® modules events.

3.1.1. CML UI.lvlib

CML UI.lvlib:Start Module.vi

Event type: Not a DQMH Event

CML UI.lvlib:Start Module.vi

Description:

Launches the Module Main.vi. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
CML UI.lvlib:Stop Module.vi

Event type: Not a DQMH Event

CML UI.lvlib:Stop Module.vi

Description:

Send the Stop request to the Module's Main.vi. If Wait for Module to Stop? is TRUE, this VI will wait until the module main VI stops, and will timeout at the Timeout to Wait for Stop value. This value defaults to "-1", which means the VI will not timeout, and will always wait until the module main VI stops before completing execution. Note: The Timeout to Wait for Stop value is ignored if 'Wait for Module to Stop?' is set to FALSE. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
CML UI.lvlib:Show Panel.vi

Event type: Request

CML UI.lvlib:Show Panel.vi

Description:

Send the Show Panel request to the Module's Main.vi. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
CML UI.lvlib:Hide Panel.vi

Event type: Request

CML UI.lvlib:Hide Panel.vi

Description:

Send the Hide Panel request to the Module's Main.vi. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
CML UI.lvlib:Get Module Execution Status.vi

Event type: Request

CML UI.lvlib:Get Module Execution Status.vi

Description:

Fire the Get Module Execution Status request. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
CML UI.lvlib:Show Diagram.vi

Event type: Request

CML UI.lvlib:Show Diagram.vi

Description:

This VI tells the Module to show its block diagram to facilitate troubleshooting (add probes, breakpoints, highlight execution, etc). _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
CML UI.lvlib:Module Did Init.vi

Event type: Broadcast

CML UI.lvlib:Module Did Init.vi

Description:

Send the Module Did Init event to any VI registered to listen to this module's broadcast events. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
CML UI.lvlib:Status Updated.vi

Event type: Broadcast

CML UI.lvlib:Status Updated.vi

Description:

Send the Status Updated event to any VI registered to listen to events from the owning module. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
CML UI.lvlib:Error Reported.vi

Event type: Broadcast

CML UI.lvlib:Error Reported.vi

Description:

Send the Error Reported event to any VI registered to listen to events from the owning module. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
CML UI.lvlib:Module Did Stop.vi

Event type: Broadcast

CML UI.lvlib:Module Did Stop.vi

Description:

Send the Module Did Stop event to any VI registered to listen to this module's broadcast events. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
CML UI.lvlib:Update Module Execution Status.vi

Event type: Broadcast

CML UI.lvlib:Update Module Execution Status.vi

Description:

Broadcast event to specify whether or not the module is running. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.

3.1.2. Acquisition.lvlib

Acquisition.lvlib:Start Module.vi

Event type: Not a DQMH Event

Acquisition.lvlib:Start Module.vi

Description:

Launches the Module Main.vi. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Acquisition.lvlib:Stop Module.vi

Event type: Not a DQMH Event

Acquisition.lvlib:Stop Module.vi

Description:

Send the Stop request to the Module's Main.vi. If Wait for Module to Stop? is TRUE, this VI will wait until the module main VI stops, and will timeout at the Timeout to Wait for Stop value. This value defaults to "-1", which means the VI will not timeout, and will always wait until the module main VI stops before completing execution. Note: The Timeout to Wait for Stop value is ignored if 'Wait for Module to Stop?' is set to FALSE. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Acquisition.lvlib:Show Panel.vi

Event type: Request

Acquisition.lvlib:Show Panel.vi

Description:

Send the Show Panel request to the Module's Main.vi. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Acquisition.lvlib:Hide Panel.vi

Event type: Request

Acquisition.lvlib:Hide Panel.vi

Description:

Send the Hide Panel request to the Module's Main.vi. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Acquisition.lvlib:Get Module Execution Status.vi

Event type: Request

Acquisition.lvlib:Get Module Execution Status.vi

Description:

Fire the Get Module Execution Status request. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Acquisition.lvlib:Show Diagram.vi

Event type: Request

Acquisition.lvlib:Show Diagram.vi

Description:

This VI tells the Module to show its block diagram to facilitate troubleshooting (add probes, breakpoints, highlight execution, etc). _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Acquisition.lvlib:Stop Acquiring.vi

Event type: Request

Acquisition.lvlib:Stop Acquiring.vi

Description:

Requests the Acquisition Module to stop acquiring _____ Created using Delacor QMH Event Scripter 4.0.0.65. _____ Based on Delacor QMH Project Template 4.2.1.64.
Acquisition.lvlib:Calibrate DAQ.vi

Event type: Request

Acquisition.lvlib:Calibrate DAQ.vi

Description:

Add calibration routine, and linear slope and offset to the acquisition helper loop. _____ Created using Delacor QMH Event Scripter 4.0.0.68. _____ Based on Delacor QMH Project Template 4.2.1.64.
Acquisition.lvlib:Start Acquiring.vi

Event type: Request And Wait For Reply

Acquisition.lvlib:Start Acquiring.vi

Description:

Note: This VI was renamed by the DQMH Rename Event utility. Make sure the VI Description is updated to reflect the new event name, then delete this comment. Requests Acquisition Module to start acquiring. _____ Created using Delacor QMH Event Scripter 4.1.0.78. _____ Based on Delacor QMH Project Template 4.2.1.64.
Acquisition.lvlib:Module Did Init.vi

Event type: Broadcast

Acquisition.lvlib:Module Did Init.vi

Description:

Send the Module Did Init event to any VI registered to listen to this module's broadcast events. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Acquisition.lvlib:Status Updated.vi

Event type: Broadcast

Acquisition.lvlib:Status Updated.vi

Description:

Send the Status Updated event to any VI registered to listen to events from the owning module. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Acquisition.lvlib:Error Reported.vi

Event type: Broadcast

Acquisition.lvlib:Error Reported.vi

Description:

Send the Error Reported event to any VI registered to listen to events from the owning module. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Acquisition.lvlib:Module Did Stop.vi

Event type: Broadcast

Acquisition.lvlib:Module Did Stop.vi

Description:

Send the Module Did Stop event to any VI registered to listen to this module's broadcast events. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Acquisition.lvlib:Update Module Execution Status.vi

Event type: Broadcast

Acquisition.lvlib:Update Module Execution Status.vi

Description:

Broadcast event to specify whether or not the module is running. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Acquisition.lvlib:Acquisition Started.vi

Event type: Broadcast

Acquisition.lvlib:Acquisition Started.vi

Description:

Broadcasts that the Acquisition Module started acquiring _____ Created using Delacor QMH Event Scripter 4.0.0.65. _____ Based on Delacor QMH Project Template 4.2.1.64.
Acquisition.lvlib:Acquisition Stopped.vi

Event type: Broadcast

Acquisition.lvlib:Acquisition Stopped.vi

Description:

Broadcasts that the Acquisition Module has stopped acquiring data. _____ Created using Delacor QMH Event Scripter 4.0.0.65. _____ Based on Delacor QMH Project Template 4.2.1.64.
Acquisition.lvlib:Data Updated.vi

Event type: Broadcast

Acquisition.lvlib:Data Updated.vi

Description:

Broadcasts the latest data acquired _____ Created using Delacor QMH Event Scripter 4.0.0.65. _____ Based on Delacor QMH Project Template 4.2.1.64.
Acquisition.lvlib:Device Calibrated.vi

Event type: Broadcast

Acquisition.lvlib:Device Calibrated.vi

Description:

Broadcasts that the Acquisition module calibrated the device. _____ Created using Delacor QMH Event Scripter 4.1.0.72. _____ Based on Delacor QMH Project Template 4.2.1.64.
Acquisition.lvlib:Wakeup Helper Loop.vi

Event type: Request

Acquisition.lvlib:Wakeup Helper Loop.vi

Description:

This is a private request to wake up the Helper Loop and start acquiring. _____ Created using Delacor QMH Event Scripter 4.0.0.65. _____ Based on Delacor QMH Project Template 4.2.1.64.
Acquisition.lvlib:Change Settings.vi

Event type: Request

Acquisition.lvlib:Change Settings.vi

Description:

Fire an event to change the hardware settings in the helper loop. This is a private request event that should only be fired from within the Acquisition Module. If this request was public, other modules could call it and the Settings Editor would not get the notification that the values changed. _____ Created using Delacor QMH Event Scripter 4.0.0.68. _____ Based on Delacor QMH Project Template 4.2.1.64.

3.1.3. Logger.lvlib

Logger.lvlib:Start Module.vi

Event type: Not a DQMH Event

Logger.lvlib:Start Module.vi

Description:

Launches the Module Main.vi. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Logger.lvlib:Stop Module.vi

Event type: Not a DQMH Event

Logger.lvlib:Stop Module.vi

Description:

Send the Stop request to the Module's Main.vi. If Wait for Module to Stop? is TRUE, this VI will wait until the module main VI stops, and will timeout at the Timeout to Wait for Stop value. This value defaults to "-1", which means the VI will not timeout, and will always wait until the module main VI stops before completing execution. Note: The Timeout to Wait for Stop value is ignored if 'Wait for Module to Stop?' is set to FALSE. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Logger.lvlib:Show Panel.vi

Event type: Request

Logger.lvlib:Show Panel.vi

Description:

Send the Show Panel request to the Module's Main.vi. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Logger.lvlib:Hide Panel.vi

Event type: Request

Logger.lvlib:Hide Panel.vi

Description:

Send the Hide Panel request to the Module's Main.vi. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Logger.lvlib:Get Module Execution Status.vi

Event type: Request

Logger.lvlib:Get Module Execution Status.vi

Description:

Fire the Get Module Execution Status request. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Logger.lvlib:Show Diagram.vi

Event type: Request

Logger.lvlib:Show Diagram.vi

Description:

This VI tells the Module to show its block diagram to facilitate troubleshooting (add probes, breakpoints, highlight execution, etc). _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Logger.lvlib:Initialize File.vi

Event type: Request And Wait For Reply

Logger.lvlib:Initialize File.vi

Description:

Request the Logger to initialize the file and report when the Logger has initialized the file. _____ Created using Delacor QMH Event Scripter 4.1.0.75. _____ Based on Delacor QMH Project Template 4.2.1.64.
Logger.lvlib:Log Data.vi

Event type: Request

Logger.lvlib:Log Data.vi

Description:

Note: This VI was renamed by the DQMH Rename Event utility. Make sure the VI Description is updated to reflect the new event name, then delete this comment. Requests Logger module to log data to file _____ Created using Delacor QMH Event Scripter 4.0.0.65. _____ Based on Delacor QMH Project Template 4.2.1.64.
Logger.lvlib:Stop Logging.vi

Event type: Request

Logger.lvlib:Stop Logging.vi

Description:

Requests Logger module to stop logging and the module broadcasts when the logging has stopped. _____ Created using Delacor QMH Event Scripter 4.0.0.65. _____ Based on Delacor QMH Project Template 4.2.1.64.
Logger.lvlib:Module Did Init.vi

Event type: Broadcast

Logger.lvlib:Module Did Init.vi

Description:

Send the Module Did Init event to any VI registered to listen to this module's broadcast events. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Logger.lvlib:Status Updated.vi

Event type: Broadcast

Logger.lvlib:Status Updated.vi

Description:

Send the Status Updated event to any VI registered to listen to events from the owning module. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Logger.lvlib:Error Reported.vi

Event type: Broadcast

Logger.lvlib:Error Reported.vi

Description:

Send the Error Reported event to any VI registered to listen to events from the owning module. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Logger.lvlib:Module Did Stop.vi

Event type: Broadcast

Logger.lvlib:Module Did Stop.vi

Description:

Send the Module Did Stop event to any VI registered to listen to this module's broadcast events. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Logger.lvlib:Update Module Execution Status.vi

Event type: Broadcast

Logger.lvlib:Update Module Execution Status.vi

Description:

Broadcast event to specify whether or not the module is running. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Logger.lvlib:Logging Stopped.vi

Event type: Broadcast

Logger.lvlib:Logging Stopped.vi

Description:

Requests Logger module to stop logging and the module broadcasts when the logging has stopped. _____ Created using Delacor QMH Event Scripter 4.0.0.65. _____ Based on Delacor QMH Project Template 4.2.1.64.
Logger.lvlib:File Initialized.vi

Event type: Broadcast

Logger.lvlib:File Initialized.vi

Description:

Request the Logger to initialize the file and report when the Logger has initialized the file. _____ Created using Delacor QMH Event Scripter 4.1.0.75. _____ Based on Delacor QMH Project Template 4.2.1.64.

3.1.4. Settings Editor.lvlib

Settings Editor.lvlib:Start Module.vi

Event type: Not a DQMH Event

Settings Editor.lvlib:Start Module.vi

Description:

Launches the Module Main.vi. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Settings Editor.lvlib:Stop Module.vi

Event type: Not a DQMH Event

Settings Editor.lvlib:Stop Module.vi

Description:

Send the Stop request to the Module's Main.vi. If Wait for Module to Stop? is TRUE, this VI will wait until the module main VI stops, and will timeout at the Timeout to Wait for Stop value. This value defaults to "-1", which means the VI will not timeout, and will always wait until the module main VI stops before completing execution. Note: The Timeout to Wait for Stop value is ignored if 'Wait for Module to Stop?' is set to FALSE. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Settings Editor.lvlib:Show Panel.vi

Event type: Request

Settings Editor.lvlib:Show Panel.vi

Description:

Send the Show Panel request to the Module's Main.vi. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Settings Editor.lvlib:Hide Panel.vi

Event type: Request

Settings Editor.lvlib:Hide Panel.vi

Description:

Send the Hide Panel request to the Module's Main.vi. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Settings Editor.lvlib:Get Module Execution Status.vi

Event type: Request

Settings Editor.lvlib:Get Module Execution Status.vi

Description:

Fire the Get Module Execution Status request. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Settings Editor.lvlib:Show Diagram.vi

Event type: Request

Settings Editor.lvlib:Show Diagram.vi

Description:

This VI tells the Module to show its block diagram to facilitate troubleshooting (add probes, breakpoints, highlight execution, etc). _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Settings Editor.lvlib:Update Application Settings.vi

Event type: Request And Wait For Reply

Settings Editor.lvlib:Update Application Settings.vi

Description:

Request Settings Editor to return the latest settings. The Settings Editor can send the applications settings as a reply or via broadcast. _____ Created using Delacor QMH Event Scripter 4.1.0.75. _____ Based on Delacor QMH Project Template 4.2.1.64.
Settings Editor.lvlib:Module Did Init.vi

Event type: Broadcast

Settings Editor.lvlib:Module Did Init.vi

Description:

Send the Module Did Init event to any VI registered to listen to this module's broadcast events. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Settings Editor.lvlib:Status Updated.vi

Event type: Broadcast

Settings Editor.lvlib:Status Updated.vi

Description:

Send the Status Updated event to any VI registered to listen to events from the owning module. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Settings Editor.lvlib:Error Reported.vi

Event type: Broadcast

Settings Editor.lvlib:Error Reported.vi

Description:

Send the Error Reported event to any VI registered to listen to events from the owning module. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Settings Editor.lvlib:Module Did Stop.vi

Event type: Broadcast

Settings Editor.lvlib:Module Did Stop.vi

Description:

Send the Module Did Stop event to any VI registered to listen to this module's broadcast events. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Settings Editor.lvlib:Update Module Execution Status.vi

Event type: Broadcast

Settings Editor.lvlib:Update Module Execution Status.vi

Description:

Broadcast event to specify whether or not the module is running. _____ Based on Delacor QMH Project Template 4.0.0.47. _____ Based on Delacor QMH Project Template 4.2.1.64.
Settings Editor.lvlib:Application Settings Updated.vi

Event type: Broadcast

Settings Editor.lvlib:Application Settings Updated.vi

Description:

Request Settings Editor to return the latest settings. The Settings Editor can send the applications settings as a reply or via broadcast. _____ Created using Delacor QMH Event Scripter 4.1.0.75. _____ Based on Delacor QMH Project Template 4.2.1.64.

3.2. Libraries

This section describes libraries public VIs.

3.2.1. CML Shared.lvlib

3.2.2. Launcher Support.lvlib

Launcher Support.lvlib:Determine if Running in Debug Mode.vi
Launcher Support.lvlib:Determine if Running in Debug Mode.vi

Description:

The launcher VI is meant to be run as a headless launcher for the module main VI. The launcher VI can be used as a debugging tool. This VI determines if the launcher VI is running as a debugger by parsing the command line arguments or checking if the VI is running in development mode and sets the Launcher VI properties accordingly. _____ Based on Delacor QMH Project Template 4.2.1.64.
Launcher Support.lvlib:Pre-Build Action.vi
Launcher Support.lvlib:Pre-Build Action.vi

Description:

This Pre-Build Action VI sets the Debug mode to false to ensure the top level VI has the headless properties at build time. _____ Based on Delacor QMH Project Template 4.2.1.64.
Launcher Support.lvlib:Set VI Properties for Debugging Mode.vi
Launcher Support.lvlib:Set VI Properties for Debugging Mode.vi

Description:

This VI sets the properties of the VI Launcher to either headless or debugging mode. _____ Based on Delacor QMH Project Template 4.2.1.64.

3.3. Classes

This section describes classes public VIs.

4.1. Document creation

This document has been generated using the following tools.

4.1.1. Antidoc

Project website: Antidoc

Maintainer website: Wovalab

BSD 3-Clause License

Copyright © 2019, Wovalab, All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  • Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

4.1.2. Asciidoc for LabVIEW™

Project website: Asciidoc toolkit

Maintainer website: Wovalab

BSD 3-Clause License

Copyright © 2019, Wovalab, All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  • Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

4.1.3. Graph Builder

Project website: Graph Builder

BSD 3-Clause License

Copyright (c) 2020, Cyril GAMBINI All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  • Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

4.2. Product used in the project

The documented project has been developed with the following products.

4.2.1. DQMH®

Copyright © 2015-2020 by Delacor, LLC. All Rights Reserved.

Find more details on Delacor website