TestStand's LabVIEW Adapter Shows Broken VI

Updated Nov 29, 2023

Reported In

Software

  • TestStand
  • LabVIEW

Issue Details

I am developing a test using TestStand, and I am using LabVIEW VIs in action steps. However, when I point the Step Settings to my VI, I get the following error:

 

The parameters specified by the step do not match the controls and indicators of the VI, or the VI may be broken.

Click this icon to reload the prototype, which maps the current arguments to the controls and indicators wired to the VI connector pane.

If the error persists, open the VI in the LabVIEW development System and ensure it is not broken.

 

Solution

This error can happen for multiple reasons. We recommend trying the following:

  1. Check that your VI has correctly mapped its controls and indicators to its Icon/Connector terminal: Building the Connector Pane
  2. Make sure the VI is executable (does not show a broken arrow in LabVIEW) when opened in the LabVIEW Development Environment.
  3. Try Force Recompiling all the VIs that are used by that VI. Find more information about this process here: Forcing a VI to Recompile
  4. If using the LabVIEW adapter with the LabVIEW's Run-Time, check that your VI and subVIs have the compiled code with them. To do this, check that all of them have disabled the option to Separate the Compiled Code from them. Learn more about this setting here: Separating Compiled Code from VIs and Other File Types
  5. Make sure the VIs called by TestStand have all their dependencies available.  If this error happens during deployment, make sure all your VI's dependencies are in the Support Directory folder where they can be accessed.

Additional Information

LabVIEW VIs are saved with both their compiled code and block diagram. When TestStand makes calls to them using the Run-Time Engine, it uses the VI's compiled code to execute them. However, if this code is not available, or does not match the prototype that TestStand is expecting, it will throw this error.

To avoid this, when using the LabVIEW Run Time Adapter, it is recommended that all LabVIEW VIs called in your TestStand sequence be put in a project and built into a packed project library (PPL). Then call the VIs from the PPL as opposed to their source directory.

To increase ease of debugging, TestStand 2019 added a new feature that allows you to switch between PPL and source VIs without having to reconfigure the step as you switch between the Development and Run Time adapters.