NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

TestStand can't find subVIs with Labview RTE

Solved!
Go to solution

I read through the user manual about how to config Adapter if I want to call a VI with labivew RTE, but still, I am puzzle about TestSatnd can't find the subVIs.

 

Here is what I have:

1. A teststand development PC with correct Labview RTE version installed.

2. Another PC installed labview development system

3. I created a VI in labview PC using report generator features. Obviously, it calls some subVIs from labview vi.lib.

4. Then I copy this VI to Teststand PC and try to load the VI from sequence, it turns it's can't find the subVIs.

 

I wonder if Labview RTE includes all the vi.lib, instr.lib. What should I do if I want to call this VI without install the development system in the teststand machine?

0 Kudos
Message 1 of 27
(5,810 Views)

A correct deployment process should bring all of those VIs over to the deployment PC. 

 

More on that can be found here: http://www.ni.com/white-paper/9923/en/

 

Hope this helps,

jigg
CTA, CLA
testeract.com
~Will work for kudos and/or BBQ~
0 Kudos
Message 2 of 27
(5,807 Views)

I read through the whole white paper. I think it is talk about how to deploy a teststand sequence which includes labview modules to a deploy system. It's different from my question.

0 Kudos
Message 3 of 27
(5,803 Views)

I don't see how it is any different.  The way the deployment utility works is that it gets ALL VIs in your code module hierarchy and puts them in the SupportVIs folder.  As long as that is in your search directories it should find them.

 

Regards,

jigg
CTA, CLA
testeract.com
~Will work for kudos and/or BBQ~
0 Kudos
Message 4 of 27
(5,797 Views)

The white paper talking about build the deployment from teststand once the sequence development is done. But now I even can't load the VI in the teststand development enviroment. Actually, it said in the document:

LabVIEW Development Environment vs. LabVIEW Runtime Engine

Typical TestStand Deployment Systems use the LabVIEW Run-Time Engine to execute VIs and do not have the LabVIEW Development Environment. This means that you must configure TestStand to use the LabVIEW Run-Time Engine instead of the LabVIEW Development Environment on the Deployment System.

Running VIs with the Run-Time Engine has special considerations to keep in mind. The LabVIEW Development Environment allows you to create, edit and debug VIs. The Development Environment is also backwards compatible, meaning that it can open and run VIs written in previous versions of LabVIEW.

 

 

From that decription, I should be able to call the VI since I installed the RTE in teststand development PC already.

 

0 Kudos
Message 5 of 27
(5,791 Views)

What I understand is if labview RTE includes vi.lib and instr.lib, then I should be able to call the VI and it's subVIs since I have the RTE installed already.

0 Kudos
Message 6 of 27
(5,787 Views)

Tambrook,

 

TestStand uses things called search directories.  If a VI is not reachable by one of the TestStand search directories then the engine cannot find it.  Therefore the engine will throw an error saying that the VI is not reachable.  That is only true for VIs directly called by TestStand, also known as code modules.  A code module being a VI in which TestStand is directly interfacing to.

 

Code module VIs store information about how and where to find their SubVIs.  These SubVIs come from vi.lib, instr.lib, project directories and basically anywhere on the machine.  When you run the TestStand Deployment Utility what it does is takes the SubVIs and stuffs them into a directory called SupportVIs.  Then it recompiles all of the Code Module VIs to relatively point to the new location. You can look at the Image folder that is output by the Deployment Utility and verify which VIs have been included into your SupportVIs folder.

 

As far as I understand vi.lib and instr.lib are not included in the LV RTE.  However, your automation should still work because those VIs you needed should be in the SupportVIs folder.

 

Now looking at the LabVIEW adapter.  On the Deployment PC your adapter should be set to use the LV RTE.  You just need to make sure that all of the Code Module VIs are reachable by the search directories.  Remember they are all recompiled to relatively find their SubVIs.  In fact in the newer version of TestStand your sequence file is edited and recompiled by the Deployment Utility to use relative paths to your Code Module VIs. 

 

Hopefully this will shed some light onto what you could be doing incorrectly.

 

One other thing.  I've noticed that sometimes if you include VIs that are part of a vilib then you need to include the entire vilib in your workspace and deploy the whole vilib.  But that could have been special cases and I didn't take the time to nail down exactly what the root cause was.

 

Regards,

jigg
CTA, CLA
testeract.com
~Will work for kudos and/or BBQ~
0 Kudos
Message 7 of 27
(5,776 Views)

Thanks for the detail explainations, Jigg! I am really appreciate.

 

Talking about deployment, I think in my case it should be then deploy labview since I don't have labview development enviroment in a Teststand Development PC. If you said there is not vilib and other librabry files included in RFE, would that means I will need to do  source destribtion for labview VI and includes the files from vilib and instrlib? See the attached file.

0 Kudos
Message 8 of 27
(5,763 Views)

Why are you using LabVIEW to deploy your VIs?  You should just need the TestStand Deployment Utility.  It will automatically include all of your dependancies.

 

Regards,

jigg
CTA, CLA
testeract.com
~Will work for kudos and/or BBQ~
0 Kudos
Message 9 of 27
(5,751 Views)

But my Teststand PC doesn't have Labview development installed. It's just a Teststand development enviroment with RTE. How could it deploy the labivew library file if it even doesn't have them?

0 Kudos
Message 10 of 27
(5,748 Views)