Table of Contents

21 Real-Time

DQMH modules are fully supported on all NI Real-Time target platforms, both with and without Embedded UI.

Seeing as modules have a front-panel-related invoke node (FP.Open) in the “Initialize” case of the MHL, you might experience front panels popping up during or after deployment.

You can find more details about these phenomena here: LabVIEW Real-Time Deployment

To avoid these front panels popping up, you can wrap the FP.Open node in a Conditional Disable Structure to keep it from being executed on RT platforms.

Note: Seeing as some RT targets can have Embedded UI enabled, it might not be good enough to exclude the FP-related nodes from running on TARGET_TYPE == RT. We usually add a custom symbol EMBEDDED_UI to the project to have better control over when to run the FP-related code.


DQMH® 5.0 and later

DQMH 5.0 and later supports both Singleton and Cloneable modules in LabVIEW Real Time. DQMH 5.0 modifies how the DQMH modules are launched. DQMH now uses Start Asynchronous Call instead of the Run VI VI Server method.


DQMH® up to 4.2.1

Linux RT (cRIO-903x) with Embedded UI enabled and using DQMH v3.1.0.18 - v4.2.1.46

Singleton modules cannot be used in a real-time application on Linux RT. The problem only shows when running the application from the run-time engine (run as startup app) with Embedded UI enabled.

The first symptom is the rendezvous functions timing out. Also, setting any controls of the main.vi inside the Module startup VI does not work.

There seems to be a bug with the Ctrl Value Set node on Linux RT when executed in the runtime engine with embedded UI enabled, where the value is not written to the control.

This NI Forums thread discusses the problem.

This leads to the module admin not being set correctly, and thus the External Launch property being false inside the module.

We created a workaround for this problem as part of our DQMH-related libraries:
DQMH RT Fix

Tested Devices and Cases

Used Software:

Target Workaround Start-up mode Embedded UI Result
NI-cRIO 9030 (LinuxRT) No Development Off Working
NI-cRIO 9030 (LinuxRT) Yes Development Off Working
NI-cRIO 9030 (LinuxRT) No Start-up Off Working
NI-cRIO 9030 (LinuxRT) Yes Start-up Off Working
NI-cRIO 9030 (LinuxRT) No Development On Working
NI-cRIO 9030 (LinuxRT) Yes Development On Working
NI-cRIO 9030 (LinuxRT) No Start-up On Not Working
NI-cRIO 9030 (LinuxRT) Yes Start-up On Working
NI-cRIO 9030 (LinuxRT) Build with FP Start-up On Not Working
NI-sbRIO 9637 (LinuxRT) No Development Off Working - FP-controls working but no FP-events
NI-sbRIO 9637 (LinuxRT) Yes Development Off Working - FP-controls working but no FP-events
NI-sbRIO 9637 (LinuxRT) No Start-up Off Working
NI-sbRIO 9637 (LinuxRT) Yes Start-up Off Working
NI-sbRIO 9636 (VsWorks) No Development Off Working - FP-controls working but no FP-events
NI-sbRIO 9636 (VxWorks) Yes Development Off Working - FP-controls working but no FP-events
NI-sbRIO 9636 (VxWorks) No Start-up Off Working
NI-sbRIO 9636 (VxWorks) Yes Start-up Off Working

There is no difference if a display is connected to the controller or not.