CML based on DQMH® frameworkOlivier Jourdan
Table of Contents1. Project description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2. Code component descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.1. DQMH® modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.1.1. Preamble. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.1.2. Modules overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.3. CML UI.lvlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.4. Acquisition.lvlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.5. Logger.lvlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.6. Settings Editor.lvlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2. Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.1. CML Shared.lvlib. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.2. Launcher Support.lvlib. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3. Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3. VI descriptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1. DQMH® modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1.1. CML UI.lvlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.1.2. Acquisition.lvlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.1.3. Logger.lvlib. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.4. Settings Editor.lvlib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2. Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2.1. CML Shared.lvlib. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2.2. Launcher Support.lvlib. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.3. Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4. Legal Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.1. Document creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.1.1. Antidoc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.1.2. Asciidoc for LabVIEW™ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.1.3. Graph Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.2. Product used in the project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.2.1. DQMH® . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Section 1. Project descriptionThe Continuous Measurement and Logging (CML) Delacor Queued Message Handler (DQMH) sampleproject is a variation of the NI QMH based CML project using DQMH® modules instead of separateMessage Handle Loops.
CML based on DQMH® framework
Section 1. Project description | 1
Section 2. Code component descriptions
2.1. DQMH® modulesThis 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 DQMHmodule 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 bothother 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. Multiplelocations 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.
CML based on DQMH® framework
2 | Section 2. Code component descriptions
NOTERefer to the DQMH® framework official documentation to find more details on how theframework works
The following section gives you details on the project architecture relying on this framework. It gives youan overview of the modules' interaction and detailed information on each module.
Graphs used in this section have the following legend:
Components:
Events:
Start and Stop module callers:
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
CML based on DQMH® framework
2.1. DQMH® modules | 3
This graph represents the links between all DQMH modules.
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
Table 2. Start and Stop module callers
Function Callers
CML UI.lvlib:Start Module.vi CML Main.viTest CML UI API.vi
CML UI.lvlib:Stop Module.vi CML UI.lvlib:Handle Exit.viCML Main.viTest CML UI API.vi
Module relationship
CML based on DQMH® framework
4 | Section 2. Code component descriptions
Table 3. Requests callers
Request Name Callers
CML UI.lvlib:Show Panel.vi CML Main.viTest 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.viCML UI.lvlib:Obtain Broadcast Events forRegistration.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.viCML Main.vi
CML UI.lvlib:Status Updated.vi Test CML UI API.viCML Main.vi
CML UI.lvlib:Error Reported.vi Test CML UI API.viCML Main.vi
CML UI.lvlib:Module Did Stop.vi Test CML UI API.viCML Main.vi
CML UI.lvlib:Update Module Execution Status.vi Test CML UI API.viCML Main.vi
CML based on DQMH® framework
2.1. DQMH® modules | 5
Table 5. Used requests
Module Brodcasts
CML UI.lvlib CML UI.lvlib:Get Module Execution Status.vi
Acquisition.lvlib Acquisition.lvlib:Stop Acquiring.viAcquisition.lvlib:Calibrate DAQ.viAcquisition.lvlib:Start Acquiring.vi
Logger.lvlib Logger.lvlib:Initialize File.viLogger.lvlib:Stop Logging.vi
Settings Editor.lvlib Settings Editor.lvlib:Show Panel.vi
Table 6. Registred broadcast
Module Brodcasts
Acquisition.lvlib Acquisition Started.viAcquisition Stopped.viData Updated.viDevice Calibrated.viError Reported.viModule Did Init.viStatus Updated.viUpdate Module Execution Status.vi
Logger.lvlib Error Reported.viModule Did Init.viStatus Updated.viUpdate Module Execution Status.vi
Settings Editor.lvlib Error Reported.viModule Did Init.viStatus Updated.vi
2.1.4. Acquisition.lvlib
Type: Singleton
Responsibility: This module handle the continuous data acquisition.
Module Start/Stop calls
CML based on DQMH® framework
6 | Section 2. Code component descriptions
Table 7. Start and Stop module callers
Function Callers
Acquisition.lvlib:Start Module.vi CML UI.lvlib:Main.viTest Acquisition API.vi
Acquisition.lvlib:Stop Module.vi CML UI.lvlib:Main.viAcquisition.lvlib:Handle Exit.viTest Acquisition API.vi
Module relationship
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.viAcquisition.lvlib:Obtain Broadcast Events forRegistration.vi
Acquisition.lvlib:Show Diagram.vi Test Acquisition API.vi
CML based on DQMH® framework
2.1. DQMH® modules | 7
Request Name Callers
Acquisition.lvlib:Stop Acquiring.vi CML UI.lvlib:Main.viTest Acquisition API.vi
Acquisition.lvlib:Calibrate DAQ.vi CML UI.lvlib:Main.viTest Acquisition API.vi
Acquisition.lvlib:Start Acquiring.vi CML UI.lvlib:Main.viTest 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.viTest Acquisition API.vi
Acquisition.lvlib:Status Updated.vi CML UI.lvlib:Main.viTest Acquisition API.vi
Acquisition.lvlib:Error Reported.vi CML UI.lvlib:Main.viTest Acquisition API.vi
Acquisition.lvlib:Module Did Stop.vi Test Acquisition API.vi
Acquisition.lvlib:Update Module Execution Status.vi CML UI.lvlib:Main.viTest Acquisition API.vi
Acquisition.lvlib:Acquisition Started.vi CML UI.lvlib:Main.viTest Acquisition API.vi
Acquisition.lvlib:Acquisition Stopped.vi CML UI.lvlib:Main.viTest Acquisition API.vi
Acquisition.lvlib:Data Updated.vi CML UI.lvlib:Main.viTest Acquisition API.vi
Acquisition.lvlib:Device Calibrated.vi CML UI.lvlib:Main.viTest Acquisition API.vi
Table 10. Used requests
Module Brodcasts
Acquisition.lvlib Acquisition.lvlib:Get Module Execution Status.viAcquisition.lvlib:Wakeup Helper Loop.viAcquisition.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
CML based on DQMH® framework
8 | Section 2. Code component descriptions
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
Table 12. Start and Stop module callers
Function Callers
Logger.lvlib:Start Module.vi CML UI.lvlib:Main.viTest Logger API.vi
Logger.lvlib:Stop Module.vi CML UI.lvlib:Main.viLogger.lvlib:Handle Exit.viTest Logger API.vi
Module relationship
Table 13. Requests callers
CML based on DQMH® framework
2.1. DQMH® modules | 9
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.viLogger.lvlib:Obtain Broadcast Events forRegistration.vi
Logger.lvlib:Show Diagram.vi Test Logger API.vi
Logger.lvlib:Initialize File.vi CML UI.lvlib:Main.viTest Logger API.vi
Logger.lvlib:Log Data.vi Acquisition.lvlib:Main.viTest Logger API.vi
Logger.lvlib:Stop Logging.vi CML UI.lvlib:Main.viTest Logger API.vi
Table 14. Broadcasts Listeners
Broadcast Name Listeners
Logger.lvlib:Module Did Init.vi CML UI.lvlib:Main.viTest Logger API.vi
Logger.lvlib:Status Updated.vi CML UI.lvlib:Main.viTest Logger API.vi
Logger.lvlib:Error Reported.vi CML UI.lvlib:Main.viTest Logger API.vi
Logger.lvlib:Module Did Stop.vi Test Logger API.vi
Logger.lvlib:Update Module Execution Status.vi CML UI.lvlib:Main.viTest 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
CML based on DQMH® framework
10 | Section 2. Code component descriptions
Responsibility: This module is an ui that allow user to change application settings.
Module Start/Stop calls
Table 17. Start and Stop module callers
Function Callers
Settings Editor.lvlib:Start Module.vi CML UI.lvlib:Main.viAcquisition.lvlib:Main.viLogger.lvlib:Main.viTest Settings Editor API.vi
Settings Editor.lvlib:Stop Module.vi CML UI.lvlib:Main.viSettings Editor.lvlib:Handle Exit.viAcquisition.lvlib:Main.viLogger.lvlib:Main.viTest Settings Editor API.vi
Module relationship
CML based on DQMH® framework
2.1. DQMH® modules | 11
Table 18. Requests callers
Request Name Callers
Settings Editor.lvlib:Show Panel.vi CML UI.lvlib:Main.viTest Acquisition API.viTest Logger API.viTest 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.viSettings Editor.lvlib:Obtain Broadcast Events forRegistration.vi
Settings Editor.lvlib:Show Diagram.vi Test Settings Editor API.vi
Settings Editor.lvlib:Update Application Settings.vi Acquisition.lvlib:Main.viLogger.lvlib:Main.viTest Settings Editor API.vi
Table 19. Broadcasts Listeners
Broadcast Name Listeners
Settings Editor.lvlib:Module Did Init.vi CML UI.lvlib:Main.viTest Settings Editor API.vi
Settings Editor.lvlib:Status Updated.vi CML UI.lvlib:Main.viTest Settings Editor API.vi
Settings Editor.lvlib:Error Reported.vi CML UI.lvlib:Main.viTest Settings Editor API.vi
Settings Editor.lvlib:Module Did Stop.vi Test Settings Editor API.vi
Settings Editor.lvlib:Update Module ExecutionStatus.vi
CML UI.lvlib:Main.viTest Settings Editor API.vi
Settings Editor.lvlib:Application Settings Updated.vi Acquisition.lvlib:Main.viLogger.lvlib:Main.viTest Settings Editor API.vi
CML based on DQMH® framework
12 | Section 2. Code component descriptions
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. LibrariesThis 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. ClassesThis section describes the classes contained in the project.
CML based on DQMH® framework
2.2. Libraries | 13
Section 3. VI descriptions
3.1. DQMH® modulesThis section describes DQMH® modules events.
3.1.1. CML UI.lvlib
CML UI.lvlib:Start Module.vi
Event type: Not a DQMH Event
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
Description:
Send the Stop request to the Module's Main.vi.
If <b>Wait for Module to Stop?</b> is TRUE, this VI will wait until the module main VIstops, and will timeout at the <b>Timeout to Wait for Stop</b> value. This valuedefaults to "-1", which means the VI will not timeout, and will always wait until themodule main VI stops before completing execution.
Note: The <b>Timeout to Wait for Stop</b> value is ignored if 'Wait for Module toStop?' 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 based on DQMH® framework
14 | Section 3. VI descriptions
CML UI.lvlib:Show Panel.vi
Event type: Request
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
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
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 based on DQMH® framework
3.1. DQMH® modules | 15
Description:
This VI tells the Module to show its block diagram to facilitate troubleshooting (addprobes, 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
Description:
Send the Module Did Init event to any VI registered to listen to this module'sbroadcast 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
Description:
Send the Status Updated event to any VI registered to listen to events from the owningmodule._____Based on Delacor QMH Project Template 4.0.0.47._____Based on Delacor QMH Project Template 4.2.1.64.
CML based on DQMH® framework
16 | Section 3. VI descriptions
CML UI.lvlib:Error Reported.vi
Event type: Broadcast
Description:
Send the Error Reported event to any VI registered to listen to events from the owningmodule._____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
Description:
Send the Module Did Stop event to any VI registered to listen to this module'sbroadcast 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
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.
CML based on DQMH® framework
3.1. DQMH® modules | 17
3.1.2. Acquisition.lvlib
Acquisition.lvlib:Start Module.vi
Event type: Not a DQMH Event
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
Description:
Send the Stop request to the Module's Main.vi.
If <b>Wait for Module to Stop?</b> is TRUE, this VI will wait until the module main VIstops, and will timeout at the <b>Timeout to Wait for Stop</b> value. This valuedefaults to "-1", which means the VI will not timeout, and will always wait until themodule main VI stops before completing execution.
Note: The <b>Timeout to Wait for Stop</b> value is ignored if 'Wait for Module toStop?' 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
CML based on DQMH® framework
18 | Section 3. VI descriptions
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
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
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
Description:
CML based on DQMH® framework
3.1. DQMH® modules | 19
This VI tells the Module to show its block diagram to facilitate troubleshooting (addprobes, 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
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
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
Description:
CML based on DQMH® framework
20 | Section 3. VI descriptions
<b>Note</b>: This VI was renamed by the DQMH Rename Event utility. Make sure the VIDescription 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
Description:
Send the Module Did Init event to any VI registered to listen to this module'sbroadcast 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
Description:
Send the Status Updated event to any VI registered to listen to events from the owningmodule._____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
CML based on DQMH® framework
3.1. DQMH® modules | 21
Description:
Send the Error Reported event to any VI registered to listen to events from the owningmodule._____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
Description:
Send the Module Did Stop event to any VI registered to listen to this module'sbroadcast 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
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
Description:
CML based on DQMH® framework
22 | Section 3. VI descriptions
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
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
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
Description:
CML based on DQMH® framework
3.1. DQMH® modules | 23
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
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
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 AcquisitionModule. If this request was public, other modules could call it and the SettingsEditor 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
CML based on DQMH® framework
24 | Section 3. VI descriptions
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
Description:
Send the Stop request to the Module's Main.vi.
If <b>Wait for Module to Stop?</b> is TRUE, this VI will wait until the module main VIstops, and will timeout at the <b>Timeout to Wait for Stop</b> value. This valuedefaults to "-1", which means the VI will not timeout, and will always wait until themodule main VI stops before completing execution.
Note: The <b>Timeout to Wait for Stop</b> value is ignored if 'Wait for Module toStop?' 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
Description:
CML based on DQMH® framework
3.1. DQMH® modules | 25
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
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
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
Description:
CML based on DQMH® framework
26 | Section 3. VI descriptions
This VI tells the Module to show its block diagram to facilitate troubleshooting (addprobes, 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
Description:
Request the Logger to initialize the file and report when the Logger has initializedthe 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
Description:
<b>Note</b>: This VI was renamed by the DQMH Rename Event utility. Make sure the VIDescription 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
CML based on DQMH® framework
3.1. DQMH® modules | 27
Description:
Requests Logger module to stop logging and the module broadcasts when the logging hasstopped._____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
Description:
Send the Module Did Init event to any VI registered to listen to this module'sbroadcast 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
Description:
Send the Status Updated event to any VI registered to listen to events from the owningmodule._____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
CML based on DQMH® framework
28 | Section 3. VI descriptions
Description:
Send the Error Reported event to any VI registered to listen to events from the owningmodule._____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
Description:
Send the Module Did Stop event to any VI registered to listen to this module'sbroadcast 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
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
Description:
CML based on DQMH® framework
3.1. DQMH® modules | 29
Requests Logger module to stop logging and the module broadcasts when the logging hasstopped._____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
Description:
Request the Logger to initialize the file and report when the Logger has initializedthe 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
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
CML based on DQMH® framework
30 | Section 3. VI descriptions
Description:
Send the Stop request to the Module's Main.vi.
If <b>Wait for Module to Stop?</b> is TRUE, this VI will wait until the module main VIstops, and will timeout at the <b>Timeout to Wait for Stop</b> value. This valuedefaults to "-1", which means the VI will not timeout, and will always wait until themodule main VI stops before completing execution.
Note: The <b>Timeout to Wait for Stop</b> value is ignored if 'Wait for Module toStop?' 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
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
Description:
CML based on DQMH® framework
3.1. DQMH® modules | 31
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
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
Description:
This VI tells the Module to show its block diagram to facilitate troubleshooting (addprobes, 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
Description:
CML based on DQMH® framework
32 | Section 3. VI descriptions
Request Settings Editor to return the latest settings. The Settings Editor can sendthe 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
Description:
Send the Module Did Init event to any VI registered to listen to this module'sbroadcast 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
Description:
Send the Status Updated event to any VI registered to listen to events from the owningmodule._____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
Description:
CML based on DQMH® framework
3.1. DQMH® modules | 33
Send the Error Reported event to any VI registered to listen to events from the owningmodule._____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
Description:
Send the Module Did Stop event to any VI registered to listen to this module'sbroadcast 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
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
Description:
CML based on DQMH® framework
34 | Section 3. VI descriptions
Request Settings Editor to return the latest settings. The Settings Editor can sendthe 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. LibrariesThis 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
Description:
The launcher VI is meant to be run as a headless launcher for the module main VI. Thelauncher VI can be used as a debugging tool.
This VI determines if the launcher VI is running as a debugger by parsing the commandline arguments or checking if the VI is running in development mode and sets theLauncher VI properties accordingly._____Based on Delacor QMH Project Template 4.2.1.64.
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 hasthe headless properties at build time._____Based on Delacor QMH Project Template 4.2.1.64.
CML based on DQMH® framework
3.2. Libraries | 35
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. ClassesThis section describes classes public VIs.
CML based on DQMH® framework
36 | Section 3. VI descriptions
Section 4. Legal Information
4.1. Document creationThis 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 providedthat the following conditions are met:
• Redistributions of source code must retain the above copyright notice, this list of conditions and thefollowing disclaimer.
• Redistributions in binary form must reproduce the above copyright notice, this list of conditions andthe 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 orpromote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" ANDANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIEDWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE AREDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FORANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OFUSE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORYOF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OROTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OFTHE 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
CML based on DQMH® framework
4.1. Document creation | 37
that the following conditions are met:
• Redistributions of source code must retain the above copyright notice, this list of conditions and thefollowing disclaimer.
• Redistributions in binary form must reproduce the above copyright notice, this list of conditions andthe 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 orpromote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" ANDANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIEDWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE AREDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FORANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OFUSE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORYOF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OROTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OFTHE 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 providedthat the following conditions are met:
• Redistributions of source code must retain the above copyright notice, this list of conditions and thefollowing disclaimer.
• Redistributions in binary form must reproduce the above copyright notice, this list of conditions andthe 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 orpromote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" ANDANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIEDWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE AREDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FORANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OFUSE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORYOF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OROTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OFTHE POSSIBILITY OF SUCH DAMAGE.
CML based on DQMH® framework
38 | Section 4. Legal Information
4.2. Product used in the projectThe 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
CML based on DQMH® framework
4.2. Product used in the project | 39