【FMI/FMU】最小構成のMBD事例 第2章 その84【PyFMI①】

【FMI/FMU】最小構成のMBD事例 第2章 その84【PyFMI①】 事例
【FMI/FMU】最小構成のMBD事例 第2章 その84【PyFMI①】

バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/

はじめに

今回からPythonからFMUを制御する話に突入。
たぶん前回までのFMILibraryの知識も無駄にはならない。

(環境の依存関係にFMILibraryが居たり、Python経由であってもFMILibraryの仕様が見え隠れと思う)

登場人物

博識フクロウのフクさん

指差しフクロウ

イラスト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

PythonからFMU制御

太郎くん
太郎くん

今回からPythonによるFMU制御環境に突入だね。

フクさん
フクさん

そうだね。
心機一転!
ってほどではないが、少し切り替えていこう。

太郎くん
太郎くん

で、PythonからのFMUの制御って具体的にどうやるの?

フクさん
フクさん

まぁそういうPythhonライブラリがあるってだけだねー。

太郎くん
太郎くん

ほう?
それはどんなライブラリ?

PyFMI

フクさん
フクさん

その名は「PyFMI」!!!!

太郎くん
太郎くん

すごい!!
そのまんまで何のひねりも無い!!!

太郎くん
太郎くん

でも、それを使えば簡単にPythonからFMUを制御できるってことか。

フクさん
フクさん

そうだね。

太郎くん
太郎くん

ざっくりPyFMIを説明するとどんな感じになるの?

PyFMIのざっくり説明

フクさん
フクさん

まぁPyFMIの公式サイトの情報を元に若干調査して情報保管した程度だが。

PyFMI公式

  • PyFMIは、FMUと対話するためのPythonインターフェースを提供。
    • FMUモデルのロード、モデルパラメーターの設定、モデル方程式の評価が可能。
      • ※ 内部でFMI Libraryを使用しているようで、FMILibrary利用時にやったことは基本的にはできる。
  • PyFMIは、スタンドアロンパッケージかJModelica.orgディストリビューションの一部として利用可能。
    • PyFMIから呼び出すAssimuloパッケージは産業グレードのシミュレーションが可能。
      • ※ Assimuloはsolver
  • JModelicaはmodelon AB社(スウェーデン?)の商用且つオープンソースのModelicaPlatform。
    • ※ 2019年にClosed Sourceに移行。
    • FMILibraryも開発元はmodelon AB社。
太郎くん
太郎くん

ほう。
内部でFMILibraryを使ってるのか。

太郎くん
太郎くん

solverってなんだっけ?

フクさん
フクさん

ODE solvreこと常微分方程式(ODE:Ordinary Differential Equation)の解法のことだな。

太郎くん
太郎くん

そういや以前やったっけ。

太郎くん
太郎くん

まぁPyFMIはJModelicaってツールの一部でmodelon AB社が作ったものってのはわかった。

フクさん
フクさん

とりあえずはその程度の認識でOKだろう。

まとめ

フクさん
フクさん

まとめだよ。

  • PythonからFMUを制御するPyFMIの紹介。
    • 内部でFMILibraryを使用している。
  • JModelicaの一部。
    • JModelicaはmodelon AB社のModelicaPlatform。
      • 2019年にClosed Sourceに移行。
      • FMILibraryも開発元はmodelon AB社。

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

コメント

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