Authors:
Christian Møldrup Legaard
1
;
Daniella Tola
1
;
Thomas Schranz
2
;
Hugo Daniel Macedo
1
and
Peter Gorm Larsen
1
Affiliations:
1
DIGIT, Department of Electrical and Computer Engineering, Aarhus University, Aarhus, Denmark
;
2
Graz University of Technology, Graz, Austria
Keyword(s):
Co-simulation, Functional Mock-up Interface, Functional Mock-up Unit, Tool.
Abstract:
Producing independent simulation units that can be used in a Functional Mock-Up Interface (FMI) setting is challenging. In some cases, a modelling tool may be available that provides the exact capabilities needed by exporting such units. However, there may be cases where existing tools are not suitable, or the cost is prohibitive, thus it may be necessary to implement a Functional Mock-up Unit (FMU) from scratch. Correctly implementing an FMU from scratch requires a deep technical understanding of the FMI specification and the technologies it is built upon. A consequence of FMI being a C-based standard is that an FMU must, generally, be implemented in C or a compiled language that offers a binary-compatible with C such as C++, Rust, or Fortran. In this paper we present UniFMU, a tool that makes it possible to implement FMUs in any language, by writing an adapter that can be plugged in to our modular approach. UniFMU also provides both a graphical user interface and command-line inter
face feature for generating new FMUs from a selection of programming languages. We expect our tool and approach to be useful for the simulation community both when porting simulators written in languages without FMI support, and when implementing or re-implementing such support.
(More)