NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

vi fails to load on remote host

I am trying to run a vi on a remote RT pxi chassis from teststand. I have two vi's the first is very simple and runs on the RT remote host fine. The second is calling niFgen sub vi's which will not run. I get the error "failed to load vi on remote host. The vi is not executable" and I get an error -17600. However if I run this vi from labview targeting the RT system it runs fine. Also if I run the vi from Labview and then without unloading it I run my sequence this also works. Any ideas anyone?

Nick
0 Kudos
Message 1 of 8
(4,687 Views)
Nick,

I suspect the following is causing you problem:

The runtime engine is not finding the correct version of Merge Errors VI. When using the runtime engine there really isn't a vi.lib or a user.lib. As a convenience TestStand tries to search LabVIEW VI.lib and user.lib when LabVIEW is present. If you have multiple copies of VIs with the same name in your Labview directory the search can find the wrong one.

The default install of LabVIEW RT installs the Fuzzy logic toolkit. This toolkit contains a copy of Merge Errors.vi from LV 6. This VI is found before the correct Merge Errors.vi in the utilities directory. Using the fuzzy logic's copy of Merge Errors.vi requires the calling VI to be recompiled. The LabVIEW RTE cannot compile and thus the VI is broken.



Solution :

If you remove the Merge Errors.vi from Program Files\National Instruments\LabVIEW 7.1\vi.lib\addons\control\fuzzy\fuzzy logic.llb then TestStand will find the right VI, opening the fuzzy logic VIs will search and find the merge error.vi from vi.lib\utilities.

If this solution doesn't solve the problem write back and we will investigate further.
0 Kudos
Message 2 of 8
(4,686 Views)
Hi Rick,

Thanx for the prompt reply, unfortunately I have already tried this (god bless the support portal). Could this old vi be found in multiple locations? Any help greatly appreciated.

Nick
0 Kudos
Message 3 of 8
(4,686 Views)
Hi Nick,

Since TestStand is able to run the VI if it is already in memory in the PXI Chassis, it makes me think that not all subVIs have the same version. Running the VI from LabVIEW compiles all VIs to the same version.
Open the VI you are trying to run in the PXI chassis in LabVIEW and do Save All and try to run the VI from TestStand.

If it does not work as Rick mentioned, we will have to investigate further.
0 Kudos
Message 4 of 8
(4,686 Views)
Hi Joseph,

I think that you are correct and there must be one of the sub-vis being found in a different location that is also an earlier version of LV. I have got a work around by saving my vi as an application distribution llb including vi.lib vis and then choosing the top level vi from the llb. This works and reinforces the idea that has been discussed above.

Thanx for your help so far,

Nick
0 Kudos
Message 5 of 8
(4,686 Views)
Nick,

It is certainly possible that there are other copies of merge errors (or other VIs in the hierarchy. I would suggest using Tools->Find VIs on Disk... Search for every VI in the hierarchy. If you find two instances that's no good. See the attachment for an example.

-Rick
0 Kudos
Message 6 of 8
(4,688 Views)
Hi,

What do I do when I find two copies of it?



hellolv
0 Kudos
Message 7 of 8
(4,030 Views)
Remove the merge errors VI from <LabVIEW 7.1>\vi.lib\addons\control\fuzzy\fuzzy logic.llb
Test Engineer - CTA
0 Kudos
Message 8 of 8
(4,015 Views)