Using LabVIEW VIs as Models (Model Interface Toolkit)
- Updated2023-02-21
- 4 minute(s) read
Using LabVIEW VIs as Models (Model Interface Toolkit)
You can convert other LabVIEW VIs into compiled .lvmodel or .lvmodelso files that the Model Interface API can run. This might be useful if you want to distribute the .lvmodel or .lvmodelso to other users to work with in the Model Interface Toolkit or VeriStand systems. You can convert LabVIEW VIs, or convert simulation subsystems you create using the LabVIEW Control Design and Simulation Module. The following sections describe how the Model Interface API supports these models.
![]() |
Note You must install additional software to enable LabVIEW models for targets running a Linux Real-Time OS (.lvmodelso files). For more information about how to use LabVIEW models with Linux, visit the NI website. |
Verifying That LabVIEW Model Support is installed
Before you can compile models in LabVIEW, you must install the LabVIEW Model Support feature, available on the VeriStand DVD you receive with your purchase. More information.
Verifying Support for Your Hardware Target
Before you convert a LabVIEW VI into a compiled .lvmodel or .lvmodelso, answer the following questions to determine whether your target supports these models:
- Do you want to run the model on a Windows computer or an RT target?
- (Windows)—Windows targets support .lvmodel files. You can skip the remaining questions.
- (RT)—Support depends on the real-time operating system (RTOS) the target runs. Continue to the next question.
- What RTOS does my RT target run?
Refer to the KnowledgeBase at ni.com for a list of RT targets and the RTOS that each runs, and then continue to the next question. - Given the RTOS my target runs, are.lvmodel or .lvmodelso files supported?
- (Phar Lap ETS)—.lvmodel files are supported as long as the source VI does not contain code with certain Windows function calls that are not supported by the RTOS.
- (NI Linux Real-Time)—.lvmodelso files are supported as long as the source VI does not contain code with certain Windows function calls that are not supported by the RTOS.
Preparing VIs to be Converted to Models
In the source VI to be compiled, you must assign front panel controls and indicators in VIs to the connector pane so the Model Interface API can identify them as inports, outports, and parameters when it loads the compiled .lvmodel or .lvmodelso. Build the VI connector pane according to how you want each control or indicator to work VeriStand, as the following table describes.
Desired component in test application | VI connector pane assignment | Is default value maintained? |
---|---|---|
Inport | Required input | No |
Outport | Any output | No |
Parameter | Optional or Recommended input | Yes |
Supported Data Types
Ensure that front panel controls or indicators assigned to the VI connector pane have only the following data types:
- Numerics
- Booleans
- 1D arrays of numerics
- 1D arrays of Booleans
- Clusters containing the previous data types
If you use an unsupported data type, LabVIEW returns an error when you try to convert the VI to a compiled .lvmodel or .lvmodelso. Note controls and indicators not assigned to the connector pane can have other data types because these objects are not part of the compiled model.
Related Links
Assigning Terminals to Controls and Indicators
Setting Required, Recommended, and Optional Inputs and Outputs
Configuring Global and Local Parameters
A compiled .lvmodel or .lvmodelso can contain two types of parameters, global parameters and block parameters:
- Local, or block, parameters apply only to the specific model to which they belong. If you want a front panel control in the source VI to become a local parameter, place that control in a cluster shell before you compile the VI into a .lvmodel or .lvmodelso. You can identify local parameters as those whose paths are in the form of Model Name/Cluster Name/Parameter Name.
- A global parameter applies to any model in the system that contains a parameter with the same name. To ensure a front panel control in the source VI becomes a global parameter in VeriStand, do not place that control in a cluster. You can identify global parameters as those whose paths are in the form of Model Name/Parameter Name.
![]() |
Tip To determine whether a parameter is global or block based on its path, use the Get Paths VI to return the paths of model parameters in a model. |
A .lvmodel or .lvmodelso can contain both local and global parameters.
Considerations for VIs with Array Terminals
If a VI contains an array control or indicator you want to include in the .lvmodel or .lvmodelso, enter a value in the nth element of the array, where n is the desired number of elements. Then, right-click the array control and select Data Operations»Make Current Value Default. Otherwise, the array becomes a single scalar value when the Model Interface API loads the model.
Related Links
Generating Compiled Models from VIs
ni.com: Purchase the Control Design and Simulation Module