Error -307703 the Specified Model Is Incompatible With NI VeriStand

Updated Jan 30, 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
  • Or, I have created a simple VI in LabVIEW, 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 the following error 1003 and -307703
 
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>=============================

Solution

This error can have multiple causes, such as
  1. Trying to deploy to an operating system your model was not built for
  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

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 by going to Code Generation tab and ensure that Toolcahin is set correctly for your target operating system.
  3. Now go to the Hadware Implementation tab and ensure the Device Type is also set correctly to match your targets operating system.
 

LabVIEW VI

  • 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.