The Functional Mock-upInterface (FMI) (Modelica Association 2021[b]) is a tool independent standardfor the exchange of dynamic models and for co-simulation. FMI2.0, released in 2014, is recognized as the de-facto standard in industry for exchanging models and tool coupling,and is currently supported by more than 160 simulation tools. Version 3.0 of the standard brings many new features that allow for advanced co-simulation algorithms and new use cases such as packaging and simulation of highly accurate virtual Electronic Control Units (vECUs). Besides Model-Exchange and Co-Simulation, a third interface type, Scheduled Execution, is defined forpurely discrete, RTOS-like, simulation and supports preemption.Clocks allow the synchronization of events between Functional Mock-up Units (FMUs) and the importer. There is better support for data types including binary data and arrays. Advanced co-simulation approaches are enabled by intermediate variable access between communication points and allowing event handling. The composition of systems from FMUs is simplified by terminals that can bundle multiple signals. The concept of layered standards allows the extension of the FMI standard.
What will be the new features of FMI 3.0?
The FMI Steering Committee is happy to announce the preliminary (Alpha) feature list for FMI 3.0. “Preliminary” means that we might be forced to drop some features from that list for the actual release. This list is based on the results of the respective working groups which were discussed at the FMI Design Meeting Nov 2017 and updated by the FMI Steering Committee decisions in Apr 2019 (extending Intermediate Output Values to Intermediate Variable Access) and Oct 2019 (adding extra directory).
- Ports and Icons:Help the user to build consistent systems from FMUs and render the systems more intuitively with better representation of structured ports (for instance busses and physical connectors) in the modelDescription.xml.
- Array variables:Allow FMUs to communicate multi-dimensional variables and change their sizes using structural parameters.
- Clocks and Hybrid Co-Simulation:Introduces clocks for synchronization of variables changes across FMUs. Allows co-simulation with events.
- Binary Data Type:Adds an opaque binary data type to FMU variables to allow, for instance, efficiently exchanging of complex sensor data.
- Intermediate Variable Access:Allow access to intermediate input and output values between communication time points from the FMU to disclose relevant subsystem behavior for analysis or advanced co-simulation master algorithms for enhanced numerical stability.
- Source code FMUs:Adding more information to the modelDescription.xml file to improve automatic import of source code FMUs.
- Numeric Variable Types: Adds 8, 16, 32 and 64-bit signed and unsigned integer and single precision floating point variable types to improve efficiency and type safety when importing / exporting models from the embedded, control and automotive domains. Extra directory: Adding a new folder in the ZIP Archive representing an FMU, providing addtional data to travel with the FMU which can be modified by different tools, allowing for layered standards