08-01-2013 12:10 PM
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?
Solved! Go to Solution.
08-01-2013 01:19 PM
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,
08-01-2013 01:52 PM
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.
08-01-2013 02:13 PM
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,
08-01-2013 02:58 PM
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:
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.
08-01-2013 03:11 PM
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.
08-01-2013 05:36 PM
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,
08-02-2013 09:03 AM
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.
08-02-2013 04:58 PM
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,
08-02-2013 05:03 PM
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?