Main Content

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 and 2.0. For FMI version 2.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 TagSimulink

ScalarVariable has attributes set as follows:

  • causality="none" or causality="internal"

  • variability="parameter"

  • start value is defined

Interprets ScalarVariable element as block parameter


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

CapabilityFMI Version 2.0 SupportFMI Version 1.0 Support

Save model operating point to base workspace


Fast restart


Simulation Stepper


Solver Jacobian


Linearize models


Declare parameter as tunable and tune it during simulation


For Each subsystem blocks

(Supported only when canBeInstantiatedOnlyOncePerProcess attribute is set to false in modelDescription.xml file)


Parameters of type string

Rapid accelerator mode

Software-in-the-loop (SIL) and processor-in-the-loop (PIL) modes


Code generation


Supports code generation target slrealtime.tlc in Co-Simulation mode. Does not support FMU blocks for Model Exchange mode. For more information, see Apply Functional Mock-up Units by Using Simulink Real-Time (Simulink Real-Time).

FMU export

Protected model export

Model coverage


Simulink Design Verifier™


Model reference in accelerator mode

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


Import Co-Simulation FMU into Simulink

This model shows how to use the FMU block to load an FMU file that supports Co-Simulation mode.

Importing a Model Exchange FMU into Simulink

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 bus signals and structure parameters in an FMU block that supports Model Exchange mode.

See Also

Related Topics

External Websites