The paper proposes an extension of FMI 2.0 for the rigorous treatment of discrete-time models. This includes the introduction of discrete-time states, the declaration of clocks in the model description and an extension of the calling interface for the external activation of clocks by an importing environment.
The synchronous discrete-time extension enables for the first time the synchronization of FMUs with the environment and with other FMUs. It specializes the existing generic event mechanism of FMI 2.0 and maps to synchronous features of Modelica.
Discrete-time FMUs are needed for the generation of controller code from functional models. This paper outlines different use cases, including a simple PI controller, feed forward control with a nonlinear inverse model and nonlinear model predictive control.
The FMI change proposal FCP-001 and the Modelica change proposal MCP-0024 describe the proposed extensions in more detail. Test implementations exist in the simulation tools Dymola and OpenModelica and in the importing optimization solver HQP. The use cases given in this paper served for further refinement of the change proposals and the test implementations.
Keywords: Modelica, Synchonous modeling, Inline Integration, Modelica, Synchonous modeling, Inline Integration, Model-based Control, Nonlinear Inverse Model, Feed Forward Control, NMPC
Proceedings of the 12th International Modelica Conference, Prague, Czech Republic, May 15-17, 2017
T. Blochwitz, M. Otter, J. Åkesson, M. Arnold, C. Clauß, H. Elmqvist, M. Friedrich, A. Junghanns, J. Mauss, D. Neumerkel, H. Olsson, A. Viel: Functional Mockup Interface 2.0: The Standard for Tool independent Exchange of Simulation Models, 9th International Modelica Conference, Munich, 2012. http://www.ep.liu.se/ecp/076/017/ecp12076017.pdf
H. Chen, A. Kremling, F. Allgöwer: Nonlinear Predictive Control of a Benchmark CSTR, Proceedings 3rd European Control Conference ECC’95, Rome, 1995.
H. Elmqvist, M. Otter, S.E. Mattsson: Fundamentals of Synchronous Control in Modelica, 9th International Modelica Conference, Munich, 2012. http://www.ep.liu.se/ecp/076/001/ecp12076001.pdf
H. Elmqvist, M. Otter, F. Cellier: Inline integration: A new mixed symbolic/numeric approach for solving differentialalgebraic equation systems. In Proceedings ESM European Simulation Multiconference, Prague, 1995.
S. Engell, K.-U. Klatt. Nonlinear control of a nonminimum phase CSTR. In Americal Control Conference, Los Angeles, 1993.
R. Franke, E. Arnold: Applying new numerical algorithms to the solution of discrete-time optimal control problems. In: Computer Intensive Methods in Control and Signal Processing: The Curse of Dimensionality, Birhäuser, Basel, 1997.
R. Franke, M. Walther, N. Worschech, W. Braun, B. Bachmann: Model-based control with FMI and a C++ runtime for Modelica. Proceedings of 11th International Modelica Conference, Paris 2015. https://www.modelica.org/events/modelica2015/proceedings/html/submissions/ecp15118339_FrankeWaltherWorschechBraunBachmann.pdf
R. Franke: Initialization of Clocked Discrete States, Modelica Change Proposal MCP-0024 2016. https://svn.modelica.org/projects/MCP/public/MCP-0024_InitializationClockedStates/MCP-0024_InitializationClockedStates.docx
Functional Mock-up Interface for Model Exchange and Co-Simulation, Version 2.0, July 2014.
G. Looye, M. Thümmel, M. Kurze, M. Otter, J. Bals: Nonlinear Inverse Models for Control. Proceedings of 4th International Modelica Conference, Hamburg, 2005. https://www.modelica.org/events/Conference2005/online_proceedings/Session3/Session3c3.pdf
Modelica Association: Modelica – A Unified Ob-ject-Oriented Language for Systems Modeling. Language Specification, Version 3.3. May 9, 2012.
M. Otter, S.E. Mattsson, R. Franke, H. Elmqvist, T. Blochwitz: Discrete States and Time Events in FMI (#353), FMI Change Proposal FCP-001, 2016.
M. Otter, B. Thiele, H. Elmqvist: A Library for Synchronous Control Systems in Modelica, 9th International Modelica Conference, Munich, 2012. http://www.ep.liu.se/ecp/076/002/ecp12076002.pdf