Solution
This error can have multiple causes, such as
- Trying to deploy to an operating system for which your model was not built, for example:
- Loading and deploying a model built for Windows to a Linux Real-Time system, or vice-versa.
- Loading and deploying a 32-bit model in a version of VeriStand that only supports 64-bit models.
- Errors in the path to your model
- Unsupported data types in your model
- Errors in the make of your model or
VeriStand Model Generation Support add-on for Simulink Model
If you are using the VeriStand Model Generation Support add-on for Simulink, this error occurs because you have compiled the model for a different operating system than you are trying to deploy to. For example, in the compile options you selected the toolchain for Windows, but are now trying to deploy to a NI Linux real-time target.
To resolve this issue ensure that the name of the LabVIEW VI and LabVIEW model dmodels contain any special characters.
- Open your VeriStand system definition file and check the operating system is set correctly for your target,
- Check the compilation settings for your model in Simulink by opening the Model Configuration, then going to Code Generation tab and ensure that Toolchain is set correctly for your target operating system.
- Now go to the Hardware Implementation tab and ensure the Device Type is also set correctly to match your targets operating system.
FMU Model
If using an FMU model, you must ensure the FMU contains binaries built for the correct operating system.
- If deploying to Linux Real-Time targets, the model should contain a Linux 64-bit binary.
- If deploying to Windows targets, the model should contain:
- A 32-bit Windows binary if using VeriStand 2020 R6 or earlier
- A 64-bit Windows binary if using VeriStand 2021 or later
The FMU can contain unsupported binaries, as long as it contains the binary that matches the deployment target. For example, if an FMU being deployed to a Linux RT target contains a Linux 64-bit, Windows 64-bit, and Windows 32-bit binary, it will load and deploy fine even though the Windows 32-bit binary is incompatible with Linux RT. Refer to
FMU Model Configuration and Execution Support for more information.
LabVIEW Model
- The path of the LabVIEW VI and LabVIEW model can also be a factor. If you are using a model generated from a LabVIEW VI then try saving the model to a different location, preferably a short and simple filepath such as the desktop. Then add the model from the new location.
- This issue can be caused when using unsupported datatypes. The supported datatypes are listed in LabVIEW VI Model Conversion Preparation. Note, that you can use clusters of the supported datatypes, but you can not use nested clusters (clusters containing other clusters).
- If the error is on a Linux Real-time controller, verify that there are no duplicate name VIs in the model VI or libraries used to build the model VI. LabVIEW model files for Linux (.lvmodelso) do not allow duplicate name VIs to be built in a .so file. This can be remedied by generating the intermediate files from the LabVIEW model and copying them to the target's .lvmodelso location.
- If you are using VeriStand 2017, this is an issue that was fixed by the f1 patch. Install the f1 patch (see related links) on the host computer, then reinstall the NI VeriStand Engine on the RT Target you are deploying to. This should resolve the issue as long as the other considerations above are accounted for.
- The source of this error might be the different version of LabVIEW that the model was built compared to the version of VeriStand used to deploy. The LabVIEW functionality in VeriStand always requires like-numbered versions.