バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/
はじめに
前回は、採用するDCモータモデルとそれの分解方針を決めた。
とりあえず以下3つに分解予定。
- Ramp
- PID制御器
- DCモータ
実際の分解して、PyFMI上で利用する上で
どのような構成になるかを検討する。
登場人物
博識フクロウのフクさん

イラスト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
DCモータモデル分解とFMU export

Modelicaモデルの分解はコピペすればOK。

FMUのexportも以前やった方法でたぶんOK。

ちなみにFMUのexportはここらへんでやった。

そこらへんは過去のやり方を踏襲すればOKだろう。
PyFMIからのFMU呼び出し構成

それぞれのFMUができたという体で話を進める。

次は実際のPyFMIから呼び出す?

その前に大雑把な構成の確認だな。

一応こんなイメージでいる。


PyFMI経由でFMU制御して、
各信号の接続はPython側でやるって感じか。

おそらくそのイメージで行けるだろうとは思ってる。

以前やったPyFMIからのFMU制御だと
FMU一個だけだったからFMUの信号接続って概念は出て来なかったもんね。

こうしてみると分からんことはまだまだあったんだなー。
って思う。

まぁ何をどんなにやっても中々極めるって状態になることもないねー。
ゴールを設定して、そのゴールに至れたかどうかって判断の仕方しかできない。
ってのが現実だ。

「FMU/FMIを完璧に把握したかもしれん」
は完全に幻想だった。

(「しかも今回のネタをやっても多分完璧にマルチFMU制御には至らなそう」ってのはまだ黙っておこう。)
次は?

で、大まかな構成はわかったから次は実際にPythonから呼び出してみるって感じかな?

そうだね。
次回までにざっくりとコードを書いてくるよ。
まずはそれの解説ってところかな。

じゃーよろしくー。
まとめ

まとめだよ。
- DCモータモデル分解とFMU exportを実施。
- 前回までのやり方で簡単にできるはず。
- (よって詳細説明は端折った)
- PyFMIからのFMU呼び出しをする際のおおまかな構成を提示。
- 各FMUの信号はPython側で接続するイメージ。
- マルチFMU制御ならではの処理。
- (それだけでは解決しない話もあったり)
- 各FMUの信号はPython側で接続するイメージ。
バックナンバーはこちら。
コメント