Caveats for Configuring the LabVIEW Adapter to Use a LabVIEW Run-Time Engine or Other Executable Server

When you select LabVIEW Run-Time Engine or Other Executable as a server in the LabVIEW Adapter Configuration dialog box, you must ensure that the server can locate the complete hierarchy of VIs, including any subVIs, that TestStand executes. The version of the VIs that TestStand executes must match the version of the LabVIEW RTE or the version of LabVIEW that built the executable.
Note   TestStand can use newer versions of the LabVIEW RTE when you install LabVIEW on your development system. You can include newer versions of the LabVIEW RTE in deployments using the Drivers and Components dialog box of the TestStand Deployment Utility. If you do not have a LabVIEW development system installed on the computer, the default value of the LabVIEW RTE option is Auto detect using VI version, and you do not need to deploy the Adapters.cfg file that specifies the LabVIEW RTE version to use.

When you use the TestStand Version Selector to activate a different version of TestStand, TestStand copies new versions of the VIs to the <LabVIEW>\vi.lib\addons\TestStand directory. If you select LabVIEW Run-Time Engine as the server on a development system, TestStand might report that it cannot load some VIs in the LabVIEW RTE, even though the VIs run successfully using the LabVIEW development system as the server, because TestStand cannot load a subVI that was saved in a different version of LabVIEW than the LabVIEW RTE specified in the LabVIEW Adapter Configuration dialog box. This discrepancy occurs most often when a top-level VI uses a subVI or controls located in the <LabVIEW>\vi.lib\addons\TestStand directory and that subVI was saved in a different version of LabVIEW than the LabVIEW RTE. Mass compiling the <LabVIEW>\vi.lib\addons\TestStand directory usually resolves the discrepancy. You can also mass compile top-level VIs, which in turn compiles any subVIs. Mass compile the VIs located in this directory after you activate the new version of TestStand.

This behavior can also occur in the following situations:

  • When you try to run a VI you save in the <TestStand>\API directory and the <TestStand Public>\Examples directory
  • When the directories contain VIs with the same names as the subVIs the VI uses
  • When the VIs were saved with a different version of LabVIEW

Save VIs in a working directory instead of using the TestStand directories to work around this issue.

Normally, the LabVIEW RTE can execute top-level VIs only when you save the VI with the entire VI hierarchy or when the LabVIEW RTE can locate the subVIs using the LabVIEW search directories. By default, the LabVIEW RTE does not search for required subVIs within the LabVIEW development system, such as files in vi.lib. However, when TestStand loads a LabVIEW RTE on a computer where you also installed the LabVIEW development system, TestStand automatically adds directories from the development system to the search paths for the LabVIEW RTE, but only for directories where the version of the development system matches the version of the LabVIEW RTE. Therefore, when TestStand executes a top-level VI saved without a hierarchy, the LabVIEW RTE searches the directory of the top-level VI and then searches the directories TestStand added to find subVIs. When the LabVIEW RTE finds a subVI saved in a different version of LabVIEW first, the LabVIEW RTE cannot load the subVI and does not load the top-level VI.