Import FMUs
Use the FMU block to import Functional Mockup Units (FMUs) into Simulink®.
The FMU block automatically selects the FMU mode based on the existing FMU you want to import:
Co-Simulation
— Integrate FMUs that implement an FMI Co-Simulation interface. These FMUs can contain local solvers used for tool coupling.Model Exchange
— Integrate FMUs that implement an FMI model exchange interface. These FMUs do not contain local solvers. Instead, these FMUs inherit solvers from Simulink.
This block supports FMI versions 1.0, 2.0 and 3.0. For FMI version 2.0 and 3.0, if your FMU contains both Co-Simulation and Model Exchange elements, the block detects this state and prompts you to select the operation mode for the block.
You can use your FMU block as you do other Simulink blocks. The FMU block supports normal, rapid accelerator, and accelerator modes. Rapid accelerator mode is unsupported for FMU blocks with FMU logging.
This topic assumes that you provide a .fmu
file.
FMU XML File Directives
The default parameter values derive from the corresponding parameter
start
value defined in the FMU ModelDescription.xml
file. A block parameter value overwrites the initial value of the corresponding parameter
defined in the FMU binary implementation.
Simulink interprets these FMU tags accordingly.
FMU Tag | Simulink |
---|---|
| Interprets |
| Interprets block parameter as edit field |
| Interprets block parameter as edit field |
| Interprets block parameter as check box |
| Interprets block parameter as drop-down list |
| Interprets as UTF-8 encoded string |
The FMU block supports the following encoding formats for the model description XML file:
ISO-8859–1
UTF-8
UTF-16
Additional Support and Limitations
Capability | FMI Version 3.0 Support | FMI Version 2.0 Support | FMI Version 1.0 Support |
---|---|---|---|
Save model operating point to base workspace |
(FMU flags that it supports this feature by
setting |
(FMU flags that it supports this feature by
setting | |
Fast restart |
(FMU flags that it supports this feature by
setting |
(FMU flags that it supports this feature by
setting | |
Simulation Stepper |
(FMU flags that it supports this feature by
setting |
(FMU flags that it supports this feature by
setting | |
Solver Jacobian |
(FMU flags that it supports this feature by
setting |
(FMU flags that it supports this feature by
setting | |
Linearize models |
(FMU flags that it supports this feature by
setting |
(FMU flags that it supports this feature by
setting | |
Declare parameter as tunable and tune it during simulation |
(FMU flags that it supports this feature by
setting |
(FMU flags that it supports this feature by
setting | |
For Each subsystem blocks |
(Supported only when
|
(Supported only when
| |
Parameters of type string | (Array of string type parameters are not supported) |
|
|
Rapid accelerator mode |
|
|
|
Software-in-the-loop (SIL) and processor-in-the-loop (PIL) modes | |||
Code generation |
|
|
|
Nested FMU export |
|
|
|
Protected model export |
|
|
|
Model coverage | |||
Simulink Design Verifier™ | |||
Model reference in accelerator mode |
|
|
|
Event Mode |
| ||
Scheduled Execution Mode | |||
Enumerated data type for inputs, outputs and parameters |
|
|
Simulink supports stepping back and forth, tuning parameters in between, and saving
states for the FMU Import block as long as the FMU itself supports these features. FMU flags
that it supports these features by setting canGetAndSetFMUstate
and
canSerializeFMUstate
fields in its model description XML to
true
.
FMU Import Examples
Example | Description |
---|---|
This model shows how to use the FMU block to load an FMU file that supports Co-Simulation mode. | |
This model shows how to use the FMU block to load an FMU file that supports Model Exchange mode. | |
Simplify Interface for Structured Data with FMU Import Block | This model shows how to use buses and structure parameters in an FMU block that supports Model Exchange mode. |