VeriStand Error 1003 When Deploying Custom Device

Updated Oct 16, 2019

Reported In

Software

  • VeriStand
  • ECU Measurement and Calibration Toolkit
  • LabVIEW Electric Motor Simulation Toolkit

Issue Details

I have a VeriStand project that contains a custom device in its System Definition File. When deploying the project to my target controller, I receive the following deployment error:
The VeriStand Gateway encountered an error while deploying the System Definition file.

Details:
Error 1003 occurred at Project Window.lvlib:Project Window.vi >> Project Window.lvlib:Command Loop.vi >> NI_VS Workspace ExecutionAPI.lvlib:NI VeriStand - Connect to System.vi

Error Message: LabVIEW: The VI is not executable. Most likely the VI is broken or one of its subVIs cannot be located. Select File»Open to open the VI and then verify that you are able to run it.

Solution

There are a few possible reasons for this error:
1. Your target controller could be missing a software, driver, or API dependency of the custom device you are using.
2. You may be running out of memory and cannot accommodate all the custom devices, models, and other components of your VeriStand project.
3. There is an issue with the source distribution/build specification of the custom device 
 

  1. Make sure that any dependencies used by your custom device are installed on the target. If you are using a custom device from the VeriStand Add-Ons Community or the VeriStand Open Source Add-Ons GitHub, refer to the Readme file of the custom device for a list of dependencies.
Note: While some dependencies (NI device drivers, for example) can be installed through NI MAX, you may need to manually transfer any 3rd party libraries to the target.

Some examples of NI-supported custom devices that might throw this error are included below:
Deploying a VeriStand project that uses the XCP/CCP Master Custom Device without NI ECU Measurement and Calibration Toolkit  installed on the RT target
Deploying a VeriStand project that uses the Electric Motor Simulation Custom Device without NI Electric Motor Simulation Toolkit installed on the RT target
  1. If the dependencies are all loaded, verify that your device isn't running out of memory. Start by monitoring the system's memory usage. If the target looks like it's maxing out its memory capacity, you may want to minimize the number of components running on the device.If the target is still running out of memory with the minimized load, you may need to consider using a target with more RAM for your project.
  2. This issue is caused by settings in the Build Specification, specifically the Additional Exclusions. 
    a. Right click on the Source Distribution under Build Specification in the LabVIEW Project, and select Properties
    b. On the left hand side, select Additional Exclusions.
    c. Verify that Exclude files from vi.libExclude files from instr.lib and Exclude files from user.lib are unchecked.

Additional Information

Many custom devices used in NI VeriStand are dependent on additional software, drivers, and APIs that may not normally be installed on a computer or NI Real-Time target controller running the VeriStand engine. If one or more of these dependencies are missing from the target, error 1003 will be thrown when the custom device tries to initialize during deployment.