Functional Mockup Interface: Unterschied zwischen den Versionen
Cg (Diskussion | Beiträge) |
Cg (Diskussion | Beiträge) |
||
Zeile 17: | Zeile 17: | ||
==== Instantiate FMU ==== |
==== Instantiate FMU ==== |
||
The "FMU [Instantiate]" action takes as input an FMU-Identifier as generated by "FMU [Load]" and tells the CBridge to perform the instantiation, eventually leading to the FMU's "fmi2Instantiate()" function to be called.<br>The action generates a Component-identifier at its output which is needed later to interact with the unit.<br> |
The "FMU [Instantiate]" action takes as input an FMU-Identifier as generated by "FMU [Load]" and tells the CBridge to perform the instantiation, eventually leading to the FMU's "fmi2Instantiate()" function to be called.<br>The action generates a Component-identifier at its output which is needed later to interact with the unit.<br>In principle, an FMU can be instantiated multiple times. |
||
See an example in the "FMU [Instantiate]" action's Test/Demo page. |
See an example in the "FMU [Instantiate]" action's Test/Demo page. |
Version vom 12. Juni 2023, 15:47 Uhr
Notice: the FMI plugin as described here is "work in progress"; more features are being developed and will be made available in a future release.
Inhaltsverzeichnis
Introduction[Bearbeiten]
Functional Mockup Units are modules to simulate physical and non-physical components in an orchestrated setup. Each such module implements a well defined interface ("FMI" for Functional Mockup Interface) and is packaged in a standardized container (actually a zip container), which contains both the executable code (as binary and optional source) and a meta description, which describes the input/output parameters and other simulation details.
The motivation behind is that manufacturers of hard- and software components can provide such simulation components for their real components, and that a project engineer can use those to simulate the system in an early planing phase. This includes both fully simulated systems, but also in-the-loop setups, where simulated parts interact with real components.
FMUs in Expecco[Bearbeiten]
Expecco can load binary FMUs (i.e. ".fmu" files) and execute them within an automation or test scenario. The functionality is provided by the CBridge and an API is provided by the "FMU Interface Library".
Low Level Actions[Bearbeiten]
Load FMU[Bearbeiten]
The "FMU [Load]" action takes as input a filename (which can come from an attachment). It extracts th binary and the model description and loads the binary into the CBridge. The CBridge may be running on a remote host.
The action generates an FMU-Identifier at its output which is needed later to instantiate the unit.
See an example in the "FMU [Load]" action's Test/Demo page.
Instantiate FMU[Bearbeiten]
The "FMU [Instantiate]" action takes as input an FMU-Identifier as generated by "FMU [Load]" and tells the CBridge to perform the instantiation, eventually leading to the FMU's "fmi2Instantiate()" function to be called.
The action generates a Component-identifier at its output which is needed later to interact with the unit.
In principle, an FMU can be instantiated multiple times.
See an example in the "FMU [Instantiate]" action's Test/Demo page.