NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Labview and Ni Test Stand Runtime Environment

Hello,

 

I have this topic to understand:

 

I have a PC with labview and teststand development environment, and I develop my labview application that call test stand sequences. I develop my sequence that call labview vi from labview project (not from a packet library)

in this PC all is working fine, I can debug without issue

 

when I have to release final application in final PC, final PC has only runtime environment for labview execution and basic test stand license that not allow to modify sequence. in that PC test stand adapter will be set in Labview Runtime Engine.

 

what I would like to understand is: is test stand step able to run vis that come from labview project? I expect that it is not able, because vis don't come from packet library. is that right?

 

If I'm in right I have this point: is it possible to create a test stand sequence that is able to understand by itself if it has call vi from labview project or packet library? to solve issue regarding debugging (vi from packet lib is not debuggable)

 

thank you for supporting me

 

Michele

0 Kudos
Message 1 of 7
(253 Views)

Hi Michele,

 

You should create a deployment! (Tools -> Deploy...)

The deployment tool will do all the modifications to your steps in your sequence to remove the dependence to your LV project.

 

At the end you'll get an image and an installer. Use the installer on your target PC and you'll get sequences calling steps at the correct place and project dependencies fixed.

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 2 of 7
(207 Views)

Hello Cyril,

 

thank you, deployment tool provides all dependencies to deploy application in deployment PC, all the process from development to deployment is working fine

 

I have another point to understand: does deployment tool have the option to select the scope of execution of all process of my application? I'm using UI, based on NI example

 

"C:\Program Files (x86)\National Instruments\TestStand 2021\UserInterfaces\Simple\LabVIEW\Source Code\Build Script.lvproj"

 

in development machine, I can call DQMH requests directly from Main UI, also if DQMH modules are started by test stand sequence

main UI:

C:\Program Files (x86)\National Instruments\TestStand 2021\UserInterfaces\Simple\LabVIEW\Source Code\TestExec.llb\Top-Level VI.vi

 

but when executable of Top-Level VI.vi is created, in the deployment machine, DQMH requests didn't work, because DQMH modules were started by test stand sequence that is running in another SCOPE of execution, that is not the same of the SCOPE of main UI.EXE

 

i'm searcing if there is an option in deployment tool to set the scope of UI

 

thank you

 

 

0 Kudos
Message 3 of 7
(147 Views)

Hi Michele,

 

during dev time, looks like your code module and the OI are running in the same LabVIEW appliction instance, that's why they communicate.

 

When you run the executable, which creates itts' own application instance which differs from the DQMH modules which have been started by TestStand. 

 

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

 

I would highly recommend reconsiering you approach... TestStand OIs should be decoupled as much as possible from the code modules.

 

There are dedicated communication mechanisms:

https://knowledge.ni.com/KnowledgeArticleDetails?id=kA03q000000x3tWCAQ&l=de-DE

https://youtu.be/hi8to3K-g9k?feature=shared

 

Message 4 of 7
(127 Views)

Hi Oli,

 

I agree with you regarding decoupling.

 

to have the UI and teststand operation in the same scope smells like poorly developed software

 

but in my experience to have section of UI that allow user to send command directly to modules somethimes is usefull. I can do that by opening DQMH module tester from test stand sequence, and all is working (on development side and deployment side), what I'm searching is a trick that allows me to insert tester vi or panel for manual operation (started by teststand) in a subpanel of labview UI

 

I will search inside documentation and I will check your video!

 

thank you

 

 

0 Kudos
Message 5 of 7
(117 Views)

Hello,

 

attached lv project

 

labview Project -->3\Source Code\Build Script.lvproj

labview UI --> 3\Source Code\TestExec.llb\Top-Level VI.vi

TS sequence --> 3\Source Code\sequenze\Sequence UI.seq

labview vi/tester called by TS Seq --> 3\Source Code\Libraries\Test Module 1 API.vi

 

here point on TS Seq where i would like to generate an event detected by labview vi to insert Test Module 1 API.vi in sub panel of Top-Level VI.vi

Michele___0-1745835363345.png

 

best regards

 

Michele

 

0 Kudos
Message 6 of 7
(96 Views)

Good practices are to create 2 deployements : one for the UI, one for the test system.

In both cases I advice to create a workspace and work from there.

Then I would avoid specifying a LV project in the TS steps.

 

Also, working with DQMH I would advsie using the DQMH TSifier : it will create autonomous libs of your DQMH modules and prepare them for being called into TS.

 

Once built, always keep your code with the same relative path hierarchy.
TS UI provided in NI examples are ... examples. Work fro; the example to create your own separate solution, but don't try to directly work from it.

CLA, CTA, LV Champion
View Cyril Gambini's profile on LinkedIn
This post is made under CC BY 4.0 DEED licensing
Message 7 of 7
(78 Views)