Error Loading LabVIEW VI with Compiled Code Separated Using the LabVIEW Run-Time Engine Adapter in Teststand

Updated Jun 30, 2020

Reported In

Software

  • TestStand
  • LabVIEW Runtime

Issue Details

I am calling a VI in TestStand and everytime I switch the adapter to LabVIEW Run-Time Engine, I receive an error which indicates that the VI is a source - only component and its compiled code could not be found in the compiled object cache.

Solution

This behaviour is caused by the way how a LabVIEW VI is composed.

By default, a VI contains two kinds of code: the graphical source code that you edit and a compiled version of this code that LabVIEW uses to run the VI.

Do not separate the compiled code from VIs that you intend to load or run using the LabVIEW Run-Time Engine. The Run-Time Engine cannot run source-only VIs because it has no access to the compiled object cache that stores the separate compiled code.

To overcome this issue:
  1. Open the VI.
  2. Navigate to VI Properties in the General window (ctrl+I).
  3. Disable the Separate compiled code from source file option.
  4. Repeat this step for every subVI used in the main VI and then perform a mass compilation.

Alternatively, you can create an image deployment of your sequence file using the TestStand Deployment Utility. The tool performs a LabVIEW source distribution and removes the separation option from the called VIs.

Additional Information

If you intend for VI hierarchies that you check into source control to run on the Run-Time Engine, build a source distribution with the VIs or use the TestStand Deployment Utility.