バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/
はじめに
前回、Modelicaモデルを外部から利用する手段としてFMI/FMUが存在することがわかった。
Wikipedia(英語サイト)の説明を見た範囲ではあまりよく分からない。
- 物理モデルを再利用するための標準インターフェースがFMI
- そのFMIをもったモジュールがFMU
というくらい。
よって、今回はFMU/FMIについて掘り下げていく。
登場人物
博識フクロウのフクさん
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
FMI仕様の在り処
今回からFMI/FMUの話になると思うのだけど
これって標準仕様ってことだったから、どっかで仕様書が公開されてたりするの?
うん。
仕様はFMI-Standardにて公開されている。
英語Onlyか・・・。
まぁサイトの方はあとでゆっくり見るとして、
さくっと説明するとどんな感じになるの?
そうだねー。
MATLAB/Simulinkで言うところの?
MATLAB/Simulinkで言うところのS-Functionみたいなものだね。
MATLAB/SimulinkのS-Functionと言うとここらへんでやった気がするな・・・。
まぁ絵にかいて比較すると・・・。
おー?
確かにS-Functionとそっくりだねー。
まぁS-FunctionはMathworks独自仕様。
FMIは標準仕様。
って違いがあるだけで、コンセプトとしては一緒かもねー。
そういえば、Modelicaも一旦Cコードに変換してからコンパイルしてたし、
S-Functionのmexも結局はDLLだったから、考え方は一緒なのか。
もしかして、OpenModelicaから出力されるFMUは実はDLLだったり?
うーん、その予想は半分くらい当たってるかなー。
半分?!
まぁFMIの方は標準仕様であるが故に仕様レベルでマルチプラットフォームを想定していたりするんで、もう少しややこしいことになってるかなー。
まぁこの話については、後日改めてすると思うよー。
(ということは、まだまだいろいろあるってことなんだな・・・。)
まとめ
まとめだよ。
- FMI仕様の公開場所確認。
- FMI-Standardにて公開されている。
- FMI/FMUはMATLAB/Simulinkで言うところのS-Functionみたいなもの。
- コンセプトとしてはほぼ一緒。
- FMI/FMU側は標準仕様と言うことでもうマルチプラットフォームを意識したものとなっている。
バックナンバーはこちら。
コメント