The Functional Mockup Interface for Tool independent Exchange of Simulation Models

Similar documents
Functional Mockup Interface for Model Exchange and Co-Simulation

Functional Mockup Interface for Tool and Model Interoperability

Functional Mockup Interface (FMI) A General Standard for Model Exchange and Simulator Coupling

The Functional Mockup Interface for Tool independent Exchange of Simulation Models

INTEROPERABILITY WITH FMI TOOLS AND SOFTWARE COMPONENTS. Johan Åkesson

POTENTIAL AND BENEFITS OF FUNCTIONAL MOCK-UP INTERFACE - FMI FOR VIRTUAL VEHICLE INTEGRATION

Functional Mockup Interface 2.0: The Standard for Tool independent Exchange of Simulation Models

Functional Mock-up Interface for Model Exchange MODELICA Association Project FMI

1 Although other ways of exporting like using the 2 s 1

Consistent Simulation Environment with FMI based Tool Chain

Generic FMI-compliant Simulation Tool Coupling

SIMULATOR TO FMU: A PYTHON UTILITY TO SUPPORT BUILDING SIMULATION TOOL INTEROPERABILITY

Improving Interoperability of FMI-supporting Tools with Reference FMUs

Experiences with the new FMI Standard Selected Applications at Dresden University

FMI for physical models on automotive embedded targets

Generation of Functional Mock-up Units from Causal Block Diagrams

Modelica-Association-Project System Structure and Parameterization Early Insights

Simulation-based development of automotive control software with Modelica

Simulation-based development of automotive control software with Modelica

Decoupling Test Cases from Real and Virtual Test Systems with ASAM HIL API

Experience with Industrial In-House Application of FMI

EFFICIENT DEVELOPMENT OF COMPLEX SYSTEMS USING A UNIFIED MODULAR APPROACH

Automatic Regression Testing of Simulation Models and Concept for Simulation of Connected FMUs in PySimulator

Yosuke Ogata 1) Bruno Loyer 2) Antoine Viel 3)

FMI Kit for Simulink version by Dassault Systèmes

Master for Co-Simulation Using FMI

Model-Based Dynamic Optimization with OpenModelica and CasADi

Extending the IPG CarMaker by FMI Compliant Units

Real-time transient stability simulation tool

How to Improve FMI Compliance

Multi-Physics RecurDyn Style Interoperability

Development of Custom Workflows for Simulation and Analysis of Functional Mock-up Units

Anticipatory Shifting Optimization of a Transmission Control Unit for an Automatic Transmission through Advanced Driver Assistance Systems

Real-Time Simulation of Modelica-based Models

Modelica for Embedded Systems

Exploitable Results by Third Parties

On Extending JGrafchart with Support for FMI for Co-Simulation

From versatile analysis methods to interactive simulation with a motion platform based on SimulationX and FMI

Modelica. Language, Libraries, Tools, Workshop and EU-Project RealSim

SysML and FMI in INTO-CPS

ASAM XIL. Datasheet. Generic Simulator Interface AE. Title Category Current Version Release Date Download Application Areas

Using Functional Mock-up Units for Nonlinear Model Predictive Control

ASAM AE XIL-MA v2.1 Release Presentation. Dr. Rainer Rasche, dspace GmbH

Release Presentation ASAM AE XIL-MA Generic Simulator Interface for Simulation Model Access 2016 / 02 / 22

Multi-core Simulation of Internal Combustion Engines using Modelica, FMI and xmod

Vision of Building Simulation

Proceedings of the 4th International Modelica Conference, Hamburg, March 7-8, 2005, Gerhard Schmitz (editor)

Advanced Modelica Tutorial Exercises

Design Approach for a Generic and Scalable Framework for Parallel FMU Simulations

Artop (AUTOSAR Tool Platform) Whitepaper

A Modular Technique for Automotive System Simulation

Modelica Association Project Distributed Co-Simulation Protocol. Martin Krammer DCP MAP Leader

Modeling Technical Systems [ ] Mag MA MA Schweiger Gerald TU Graz Spring 2017

Software-Entwicklungswerkzeuge

Software-Entwicklungswerkzeuge. Modelica Overview. Contents. 1. Modelica Introduction. 2. Modelica Users View. 3. Modelica Libraries

Further Developments and Applications of SIMPACK Code Export

Modelica Change Proposal MCP-0021 Component Iterators Status: Under Evaluation , version v2, #1848

Remarks on the Implementation of the Modelica Standard Tables

Applications for MBS-FEM-coupling with MpCCI using automotive simulation as example.

This is the published version of a paper presented at IEEE PES General Meeting 2013.

A new Approach for Modeling and Verification of Discrete Control Components within a Modelica Environment 1

ODX Process from the Perspective of an Automotive Supplier. Dietmar Natterer, Thomas Ströbele, Dr.-Ing. Franz Krauss ZF Friedrichshafen AG

Design optimisation of industrial robots using the Modelica multi-physics modeling language

Proceedings of the 4th International Modelica Conference, Hamburg, March 7-8, 2005, Gerhard Schmitz (editor)

MA-Project System Structure and Parameterization Current Status and Plans

A co-simulation framework interoperability for Neo-campus project

Dymola Dynamic Modeling Laboratory

FMI to NI VeriStand & LabVIEW Add-on. User Guide

Requirements for the Simulation of Complex Heterogeneous Systems

Reuse of Hardware Independent Test Sequences across MiL-, SiL- and HiL-Test Scenarios

On the integration of HLA and FMI for supporting interoperability and reusability in distributed simulation

Co-simulation of semi-autonomous systems: the Line Follower Robot case study

Dymola Dynamic Modeling Laboratory


Towards more Insight with Functional Digital Mockup

Ready, Set, Go! Measuring, Mapping and Managing with XIL API 2.0

Conference Dynamic Simulation in Vehicle Engineering Realtime Simulation of Vehicles Containing Detailed Components

Virtualizing the TCU of BMW's 8 speed transmission

An XML representation of DAE systems obtained from continuous-time Modelica models

AUTOMATED TEST OF CVT CONTROL SOFTWARE, USING FMI AND MODELICA MODELS

Lessons learned from CPES co-simulation with distributed, heterogeneous systems

Nonlinear State Estimation with an Extended FMI 2.0 Co-Simulation Interface

AUTOSAR proofs to be THE automotive software platform for intelligent mobility

AVS: A Test Suite for Automatically Generated Code

SYSTEMC AMS ARCHITECTURE EXPLORATION FOR MIXED SIGNAL SYSTEMS

CLOSING THE DESIGN CYCLE LOOP WITH EXECUTABLE REQUIREMENTS AND OSLC

Silver + TestWeaver Tools for Simulation-Based Design System Test and Validation

Integrated Modeling of CPS including Requirements: Open Source MBSE Tools Based on Modelica and UML

VT System Smart HIL Testing

D6.1 INITIAL SIMULATION ENVIRONMENT

Automated Modelica Package Generation of Parameterized Multibody Systems in CATIA

Modelica3D. Platform Independent Simulation Visualization. Christoph Höger. Technische Universität Berlin Fraunhofer FIRST

AltiumLive 2017: Novel Thermal Analysis Tool for Altium Designer

DSH plus a HWPA Program Gateway into Model-Based Design of Mechatronic Systems

DLR FF-DR-ER, Technical Report TR R101-93, March

Integrated Modeling, Control Synthesis and Code Generation with Modelica and Dymola

Traceability Support in OpenModelica using Open Services for Lifecycle Collaboration (OSLC)

External Interface(s) Application Guide

Model-Based Development of Multi-Disciplinary Systems Challenges and Opportunities

Proceedings of the 4th International Modelica Conference, Hamburg, March 7-8, 2005, Gerhard Schmitz (editor)

Transcription:

The Functional Mockup Interface for Tool independent Exchange of Simulation Models Torsten Blochwitz (ITI), Martin Otter (DLR-RM) M. Arnold University of Halle C. Bausch, M. Monteiro Atego Systems GmbH C. Clauß, S. Wolf Fraunhofer IIS EAS, Dresden H. Elmqvist, H. Olsson Dassault Systèmes, Lund A. Junghanns, J. Mauss QTronic, Berlin T. Neidhold ITI, Dresden, D. Neumerkel Daimler AG, Stuttgart J.-V. Peetz Fraunhofer SCAI, St. Augustin Modelica 2011, 21 st,22 nd March

Functional Mock-up Interface (FMI) - Motivation (1) Problems / Needs Component development by supplier Integration by OEM Many different simulation tools supplier1 supplier2 supplier3 supplier4 supplier5 OEM? Solution supplier1 supplier2 supplier3 supplier4 supplier5 Reuse of supplier models by OEM: DLL (model import) and/or Tool coupling (co-simulation) Protection of model IP of supplier tool 1 tool 2 tool 3 tool 4 tool 5 FMI OEM Added Value Early validation of design Increased process efficiency and quality supplier1 supplier2! OEM slide from Nick Suyam, Daimler (adapted) supplier3 Modelica 2011: Functional Mockup Interface Slide 2

FMI - Motivation (2) No standards available for: Model interface based on C or binaries Co-simulation between simulation tools Lots of proprietary interfaces: Simulink: S-function Modelica: external function, external object interface QTronic Silver: Silver-Module API SimulationX: External Model Interface NI LabVIEW: External Model Interface, Simulation Interface Toolkit Simpack: uforce routines ADAMS: user routines Modelica 2011: Functional Mockup Interface Slide 3

FMI Overview The FMI development is part of the ITEA2 MODELISAR project (2008-2011; 29 partners, Budget: 30 Mill. ) FMI development initiated, organized and headed by Daimler AG Improved Software/Model/Hardware-in-the-Loop Simulation, of physical models from different vendors. Open Standard 14 Automotive Use-Cases to evaluate FMI. etc. Engine with ECU Gearbox with ECU Thermal systems Automated cargo door Chassis components, roadway, ECU (e.g. ESP) functional mockup interface for model exchange and tool coupling courtesy Daimler Modelica 2011: Functional Mockup Interface Slide 4

FMI - Main Design Idea (1) FMI for Model Exchange: Tool FMU Solver Model Version 1.0 released in January 2010 FMI for Co-Simulation: Reuses as much as possible from FMI for Model Exchange standard Tool FMU Model Solver Version 1.0 released in October 2010 Modelica 2011: Functional Mockup Interface Slide 5

FMI - Main Design Idea (2) A component which implements the interface is called Functional Mockup Unit (FMU) Separation of Description of interface data (XML file) Functionality (C code or binary) A FMU is a zipped file (*.fmu) containing the XML description file and the implementation in source or binary form Additional data and functionality can be included Interface specification: www.functional-mockup-interface.org Modelica 2011: Functional Mockup Interface Slide 6

XML schema (.xsd) defined by the FMI specification Modelica 2011: Functional Mockup Interface Slide 7

FMI XML Schema Information not needed for execution is stored in one xml-file: Complex data structures give still simple interface. Reduced overhead in terms of memory. Definition of display units Definition of type defaults Default stop time, tol. etc. Tool specific data Variable names and attributes Modelica 2011: Functional Mockup Interface Slide 8

Example modeldescription.xml <?xml version="1.0" encoding="utf8"?> <fmimodeldescription fmiversion="1.0" modelname="modelica.mechanics.rotational.examples.friction" modelidentifier="modelica_mechanics_rotational_examples_friction" guid="{8c4e810f-3df3-4a00-8276-176fa3c9f9e0}"... numberofcontinuousstates="6" numberofeventindicators="34"/> <UnitDefinitions> <BaseUnit unit="rad"> <DisplayUnitDefinition displayunit="deg" gain="57.2957795130823"/> </BaseUnit> </UnitDefinitions> <TypeDefinitions> <Type name="modelica.siunits.angularvelocity"> <RealType quantity="angularvelocity" unit="rad/s"/> </Type> </TypeDefinitions> <ModelVariables> <ScalarVariable name="inertia1.j" valuereference="16777217" description="moment of inertia" variability="parameter"> <Real declaredtype="modelica.siunits.torque" start="1"/> </ScalarVariable>... </ModelVariables> </fmimodeldescription> Modelica 2011: Functional Mockup Interface Slide 9

C-Interface Two C-header files: Platform dependent definitions (basic types): C-functions: 18 core functions 6 utility functions no macros C-function name: <ModelIdentifier>_<name>, e.g. Drive_fmiSetTime" Modelica 2011: Functional Mockup Interface Slide 10

C-Interface Instantiation: fmicomponent fmiinstantiatexxx(fmistring instancename,...) Returns an instance of the FMU. Returned fmicomponent is a parameter of the other interface functions. It is of type void* for the master. The FMU uses it to hold all necessary information. Functions for initialization, termination, destruction Support of real, integer, boolean, and string inputs, outputs, parameters Set and Get functions for each type: fmistatus fmisetreal (fmicomponent c, const fmivaluereference vr[], size_t nvr, const fmireal value[]) fmistatus fmisetinteger(fmicomponent c, const fmivaluereference vr[], size_t nvr, const fmiinteger value[]) Identification by valuereference, defined in the XML description file for each variable Modelica 2011: Functional Mockup Interface Slide 11

FMI for Model Exchange (1) Import and export of input/output blocks (FMU Functional Mock-up Unit) described by differential-, algebraic-, discrete equations, with time-, state, and step-events FMU can be large (e.g. 100000 variables) FMU can be used in an embedded system (small overhead) FMUs can be connected together Modelica 2011: Functional Mockup Interface Slide 12

FMI for Model Exchange Signals of an FMU For example: 10 input/output signals (u/y) for connection and 100000 internal variables (v) for plotting Modelica 2011: Functional Mockup Interface Slide 13

Example: // Set input arguments fmisettime(m, time); fmisetreal(m, id_u1, u1, nu1); fmisetcontinuousstates(m, x, nx); // Get results fmigetcontinuousstates(m, derx, nx); fmigeteventindicators (m, z, nz); Modelica 2011: Functional Mockup Interface Slide 14

Co-Simulation Definition: Coupling of several simulation tools Each tool treats one part of a modular coupled problem Data exchange is restricted to discrete communication points Subsystems are solved independently between communication points Motivation: Simulation of heterogeneous systems Partitioning and parallelization of large systems Multirate integration Hardware-in-the-loop simulation Modelica 2011: Functional Mockup Interface Slide 15

FMI for Co-Simulation Master/slave architecture Considers different capabilities of simulation tools Support of simple and sophisticated coupling algorithms: Iterative and straight forward algorithms Constant and variable communication step size Allows (higher order) interpolation of continuous inputs Support of local and distributed co-simulation scenarios FMI for Co-Simulation does not define: Co-simulation algorithms Communication technology for distributed scenarios Modelica 2011: Functional Mockup Interface Slide 16

FMI for Co-Simulation Signals of an FMU for Co-Simulation t 0, p v Enclosing Co-Simulation Model Master u y t Model External Model Solver (FMU instance) Co-Simulation Slave (FMU instance) Inputs, outputs, and parameters, status information Derivatives of inputs, outputs w.r.t. time can be set/retreived for supporting of higher order approximation Modelica 2011: Functional Mockup Interface Slide 17

FMI for Co-Simulation C-Interface Execution of a time step: fmistatus fmidostep(fmicomponent c, fmireal currentcommunicationpoint, fmireal communicationstepsize, fmiboolean newstep) communicationstepsize can be zero in case of event iteration newstep = fmitrue if last step was accepted by the master It depends on the capabilities of the slave which parameter constellations and calling sequences are allowed Depending on internal state of the slave and the function parameters, slave can decide which action is to be done before the computation Return values are fmiok, fmidiscard, fmierror, fmipending Asynchronous execution is possible Modelica 2011: Functional Mockup Interface Slide 18

FMI for Co-Simulation Use Case Co-Simulation stand alone: Executable Master Library (DLL) Slave Model Solver Process Co-Simulation tool: Executable Master Library (DLL) FMI Wrapper Simulation tool Slave Model Solver Process 1 Process 2 Modelica 2011: Functional Mockup Interface Slide 19

FMI for Co-Simulation Use Case Distributed co-simulation scenario Data exchange is handled by a communication layer which is implemented by a special FMI wrapper Master and slave utilize FMI for Co-Simulation only Modelica 2011: Functional Mockup Interface Slide 20

Tools supporting FMI (from FMI web site, March 2011) Modelica 2011: Functional Mockup Interface Slide 21

Conclusions and Outlook FMI has a high potential being widely accepted in the CAE world: Initiated, organized and pushed by Daimler to significantly improve the exchange of simulation models between suppliers and OEMs. Defined in close collaboration of different tool vendors. Industrial users were involved in the proof of concept. FMI can already be used with several Modelica tools, Simulink, multibody and other tools. FMI is maintained and further developed: Unification and harmonization of FMI for Model Exchange and Co-Simulation (FMI 2.0) within Modelisar. Improved handling of time events. Clean handling of changeable parameters. Efficient interface to Jacobian matrices. Modelica 2011: Functional Mockup Interface Slide 22

Acknowledgments FMI initiated and organized: Daimler AG (Bernd Relovsky,...) Head of FMI development: Dietmar Neumerkel (Daimler AG) Head of FMI-for-Model-Exchange: Martin Otter (DLR-RM) FMI-for-Model-Exchange Core-Design by: Other MODELISAR contributors: Other contributors: Torsten Blochwitz (ITI) Hilding Elmqvist (Dassault Systèmes -Dynasim) Andreas Junghanns (QTronic) Jakob Mauss (QTronic) Hans Olsson (Dassault Systèmes -Dynasim) Martin Otter (DLR-RM) Ingrid Bausch-Gall, Bausch-Gall GmbH Alex Eichberger, SIMPACK AG Rainer Keppler, SIMPACK AG Gerd Kurzbach, ITI GmbH Carsten Kübler, TWT Johannes Mezger, TWT Thomas Neidhold, ITI GmbH Dietmar Neumerkel, Daimler AG Peter Nilsson, Dassault Systèmes-Dynasim Antoine Viel, LMS International Daniel Weil, Dassault Systèmes Johan Akesson, Lund University Joel Andersson, KU Leuven Roberto Parrotto, Politecnico di Milano Modelica 2011: Functional Mockup Interface Slide 23

Acknowledgments FMI for Co-Simulation Martin Arnold, University Halle, Germany Core-Design by: Constanze Bausch, Atego Systems GmbH, Wolfsburg, Germany Torsten Blochwitz, ITI GmbH, Dresden, Germany Christoph Clauß, Fraunhofer IIS EAS, Dresden, Germany Manuel Monteiro, Atego Systems GmbH, Wolfsburg, Germany Thomas Neidhold, ITI GmbH, Dresden, Germany Jörg-Volker Peetz, Fraunhofer SCAI, St. Augustin, Germany Susann Wolf, Fraunhofer IIS EAS, Dresden, Germany Contributors: Jens Bastian, Fraunhofer IIS EAS, Dresden, Germany Christoph Clauß, Fraunhofer IIS EAS, Dresden, Germany Dietmar Neumerkel, Daimler AG, Böblingen, Germany Martin Otter, DLR, Oberpfaffenhofen, Germany Tom Schierz, University Halle, Germany Wolfgang Trautenberg, Simpack AG, Germany Klaus Wolf, Fraunhofer SCAI, St. Augustin, Germany Partially funded by: BMBF, VINNOVA, DGCIS, organized by ITEA2 Modelica 2011: Functional Mockup Interface Slide 24