バックナンバーはこちら。
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利用時にやったことは基本的にはできる。
- FMUモデルのロード、モデルパラメーターの設定、モデル方程式の評価が可能。
- PyFMIは、スタンドアロンパッケージかJModelica.orgディストリビューションの一部として利用可能。
- PyFMIから呼び出すAssimuloパッケージは産業グレードのシミュレーションが可能。
- ※ Assimuloはsolver
- PyFMIから呼び出すAssimuloパッケージは産業グレードのシミュレーションが可能。
- 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社。
- JModelicaはmodelon AB社のModelicaPlatform。
バックナンバーはこちら。
コメント