This content is not available in your preferred language.

The content is shown in another available language. Your browser may include features that can help translate the text.

Specified Model Is Incompatible With NI VeriStand Error

Updated Mar 6, 2024

Reported In

Software

  • VeriStand
  • LabVIEW

Issue Details

  • I have used the VeriStand Model Generation Support add-on for Simulink to create and compile a model as described in Creating Simulation Models Using VeriStand Model Generation Support Add-On . When I add the model to VeriStand, I get error -307703
  • I have created a simple VI in LabVIEW, then converted it to a model and imported it into my VeriStand project. However, when trying to run or deploy the project to my Real-Time target I get error 1003 and -307703
  • I am trying to use an FMU model in VeriStand. When I load the FMU model onto the Mapping Diagram using a Simulation Model block, I get a message that says "Load model failed" and the Errors and Warning tab shows one of the following errors.
The error message is either:
NI VeriStand: The specified model is incompatible with NI VeriStand. If you are trying to deploy the model to an RT target, launch the Console Viewer tool to display the console output of the target, which includes information about the source of the error.

NI VeriStand Engine.lvlib:VeriStand Engine Wrapper (RT).vi >> NI VeriStand Engine.lvlib:VeriStand Engine.vi >> NI VeriStand Engine.lvlib:VeriStand Engine State Machine.vi >> Model Execution.lvlib:Initialize Model Loop Data.vi >> Model Execution.lvlib:Initialize Models.vi >> SIT Model API.lvlib:Initialize Model.vi
<append>=============================

Or:


NI VeriStand: The specified model is incompatible with VeriStand or the current deployment target. This can occur if the model does not match the operating system you are deploying to, such as using a Windows model for a an NI Linux Real-Time target.

Solution

This error can have multiple causes, such as
  1. 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.
  2. Errors in the path to your model
  3. Unsupported data types in your model
  4. 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.
  1. Open your VeriStand system definition file and check the operating system is set correctly for your target,
  2. 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.
image.png
  1. Now go to the Hardware Implementation tab and ensure the Device Type is also set correctly to match your targets operating system.
 image.png

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.