Functional Mock-up Interface (FMI) is a tool independent standard to support both model exchange and co-simulation of dynamic models. Models that are compiled to be FMI compliant are referred to as FMU’s (Functional Mock-up Units).
The first version, FMI 1.0, was published in 2010, followed by FMI 2.0 in July 2014. The FMI development was initiated by Daimler AG with the goal to improve the exchange of simulation models between suppliers and OEMs. As of today, development of the standard continues within the Modelica Association and FMI is supported by over 101 tools. It is used by automotive and non-automotive organizations throughout Europe, Asia and North America.
Dymola
Dassault Systemes is committed to the FMI standard and Dymola fully supports the import and export of FMI compliant models. Using Dymola with the Binary Model Export option, you can export your models as FMU’s that can be freely distributed throughout your organisation or to customers and suppliers so that they can use the same model as part of their analysis work. An FMU contains the model in a binary format and you have control over what information the users can see about the parameters and variables inside the model so that you can make sure your Intellectual Property is protected.
In addition, Dassault Systemes develops an FMI kit for Simulink which enables you to compile a Simulink model into an FMU. This enables existing Simulink models to be compiled and then imported into Dymola (or other FMI compliant tools).
FMI Blockset
Claytex have developed the FMI Blockset which enables FMI compliant models to be imported into Simulink or Microsoft Excel.
In Simulink, we support FMI 1.0 Co-simulation and FMI 2.0 Model Exchange and Co-simulation FMU’s. After importing the FMU’s you can access all the available parameters, to set their values or link them to Matlab workspace variables, and configure the outputs. Once the FMU is configured it can be easily distributed to other Simulink users.
In Excel, we support FMI 2.0 Co-simulation and Excel is used to provide a familiar environment to change parameters and access the simulation results. The interface is designed to easily run parameter sweeps.
