DQMH Consortium Toolkits Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

Labview DQMH Application and Request VIs in Test Stand.

Hi, 

 

I have created an Application which uses DQMH modules. The Request to these DQMH modules are being triggered through Test Stand. The System runs properly in Development Environment when I am using VI of my Application. But when I use Exe of my Application and try to send Requests using Request VIs I get the error: No instance of the module is running. 

 

Can anyone help me with how do I use request with the Exe.

 

Regards

Linus Koli

0 Kudos
Message 1 of 24
(3,085 Views)

Hey Linu95k, in a nutshell, you cannot use the Request VIs to talk to modules inside a built application. The VIs are executed in a different memory space than the modules inside the exe. 

 

The following links might shed some light on how to go about using executables from TestStand:

 

https://forums.ni.com/t5/NI-TestStand/calling-labview-executable-from-teststand/td-p/1138402?profile...


https://www.ni.com/en-us/support/documentation/supplemental/13/how-teststand-interacts-with-labview-...

 




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® (The Future of Team-Based LabVIEW Development)


Message 2 of 24
(3,069 Views)

Hello Linus

 

TestStand always offers traps when dealing with DQMH modules!

If you have problems with PPL, please have a look at the "Best Parctices"

https://forums.ni.com/t5/DQMH-Consortium-Toolkits/my-DQMH-PPL-and-VILIB-PPL-best-practices/td-p/4155...

 

Claude

CLA / CTD
Message 3 of 24
(3,057 Views)

Hi Claude,

 

I am fairly new to both Test Stand and DQMH to answer you.

1. I am not used PackedLibraries for DQMH.

2. Yes, I am certain the DQMH module are running in run-time. I am using a Main Application and my DQMH modules are loaded in the Sub-panels of the DQMH module. Also my module are interacting with my hardware, for instance my DAQ module is able to perform switching action through it Front Panel controls. However I am having difficulty send it Request via Test Stand to Trigger the same action.

3.Yes my Test Stand Adpater is set to LAbview Runtime.

4.  My GUI and DQMH module are running the same Labview Application Instance. However I have used Labview Test Stand API which Load a Sequence file in which Action steps are loaded with my Request VIs.

5. I am not familiar with PPL but will check the article you have shared.

 

Thank you.

 

Regards,

Linus Koli

 

0 Kudos
Message 4 of 24
(3,053 Views)

Your problem is as follows:

  • The DQMH module is instantiated in the EXE.
  • Your request to the DQMH module is executed directly as a VI and is not in a PPL.
  • This means that the event registry of your request does not know the instance of the EXE.

Solutions:

  • Compile DQMh modules into a PPL.
    Use the TestStand DQMH request from the PPL.
  • Modify Obtain Request Events.vi
    For all GUI-DQMH modules "Obtain Broadcast Events.vi and Obtain Request Events.vi) must be extended. The VI searches via "VI server" the instance with the valid UserEvent registrations).

Fridu_1-1630059281556.png

I recommend starting with PPL first.

 

Claude

 

CLA / CTD
Message 5 of 24
(3,045 Views)

Hi Claude,

My post is purely driven by curiosity, as I've not tested such architecture myself.

Building the TS GUI with the 'source' module and the TS calls from the PPL module, will the requests from the PPL 'find' the module ?

Since the PPL name creates a namespace on top of the containing VIs, I wonder if a request will expect the underlying event to registered by myLVLIBPModule.lvlibp:Main.vi (?). In other words, is it possible that the request stored into the lvlibp won't ever relates to the module used in the exe (since this one is not part of the lvlibp) ?

CLA, CTA, LV Champion
View Cyril Gambini's profile on LinkedIn
This post is made under CC BY 4.0 DEED licensing
0 Kudos
Message 6 of 24
(3,024 Views)

Sounds like the sort of question I asked several months ago when I started out using DQMH modules in TestStand...

 

As Claude has said, you don't build your DQMH into an exe, try a packed project library (PPL) instead. After you've created your PPL, add it to your TestStand workspace and

- In your TestStand sequence, browse for your DQMH module request VI's in the PPL, where each request VI is a new LabVIEW action

- Create File Globals for whatever data you need to pass between your requests, particularly Module ID

- Assign the Module ID file global to the Module ID output terminal of the Start Module vi

- Reference this file global as the Module ID input terminal for all other request VIs

 

The screenshot below shows a basic sequence for calling DQMH requests:

 

Nightshade42_0-1630067580047.png

 

Also, I'd suggest familiarising yourself with Delacor's shipping examples: http://delacor.com/documentation/dqmh-html/ShippingExamplesandIntegrationwi.html

 

Message 7 of 24
(3,021 Views)

Indeed that is the right way to go !

 

However Linus didn't follow that path and now have to make it work without rebuilding the while application.

Maybe there are ways to help him with that today.

CLA, CTA, LV Champion
View Cyril Gambini's profile on LinkedIn
This post is made under CC BY 4.0 DEED licensing
0 Kudos
Message 8 of 24
(3,018 Views)

Yes absolutely, the request can be executed correctly if the same PPL is used by the EXE and TS. The instance is started in the EXE and can be accessed from TestStand via the PLL.Requests.

Requirements:
=> Identical called DQMH.PPL
=> Identical namespace

=> Identical Application Instance

 

Not necessarily the best architecture but it works.

CLA / CTD
0 Kudos
Message 9 of 24
(3,010 Views)

Friday,

 

I had the impression that only the PPL vis was called from TS, and exe relying on the lvlib ones.

 

No conflict to expect when TS will try to load VIs that are already reserved by the EXE (because already running and mounted in memory by the exe)?

CLA, CTA, LV Champion
View Cyril Gambini's profile on LinkedIn
This post is made under CC BY 4.0 DEED licensing
0 Kudos
Message 10 of 24
(2,991 Views)