【FMU】最小構成のMBD事例 第2章 その31【FMI②】

【FMU】最小構成のMBD事例 第2章 その31【FMI②】 事例
【FMU】最小構成のMBD事例 第2章 その31【FMI②】

バックナンバーはこちら。
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と言うとここらへんでやった気がするな・・・。

フクさん
フクさん

まぁ絵にかいて比較すると・・・。

SimulinkのS-FunctionとFMUの違い、S-Function、Cコード、コンパイル、コントローラ、プラント(S-Function)、MEX、物理シミュレーションツール、FMU/FMI、プラント(FMU)、FMI、FMU、生成、FMIとFMUの内部構成が標準化されている。
太郎くん
太郎くん

おー?
確かに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側は標準仕様と言うことでもうマルチプラットフォームを意識したものとなっている。

バックナンバーはこちら。

コメント

タイトルとURLをコピーしました