バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/
はじめに
前回はFMUをzipファイルと見なして解凍してみた。
ライブラリ本体、依存関係のあるファイル、ソースコード、
そして、パラメータを定義したxmlファイルなどがそこにあった。
今回はFMUを使用する際の位置づけ、
そこと仕様から見える利用手順、
などを確認してみる。
登場人物
博識フクロウのフクさん

イラスト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
FMU/FMIの位置づけ

以前、FMU/FMIのプラットフォーム上での位置づけの話はしたと思う。

うん。
たしかここでやってた。

その時の絵をもってくる。


これが位置づけってことでいいの?

これとは別にユーザ視点に於いての位置づけも確認することで
利用方法って方へ落とし込もうかと思う。

ほう?
FMUのユーザ視点に於いての位置づけ

ざっと絵にするとこんな感じだな。


なるほど!
これだとmodelDescription.xmlとMotor.DLLの位置づけが分かりそうだ!

で、modelDescription.xmlをreadして、
Motor.DLLをcontrolするってことなんだけど、
具体的にはどういう手順になるの?

本当の具体的手順はツール依存になるとは思うが、
FMU/FMI仕様の性質上、おおよそ以下の手順になるはずだ。
①modelDescription.xmlを読み込む
②各種シグナルが列挙する
③使用するシグナルを選択
④シミュレーションツールのブロックにシグナルを割り当てる
⑤シミュレーション開始直前にMotor.DLLをLoad&紐づけ。
⑥シミュレーション実施。

そういえば、modelDescription.xmlに各種パラメータが定義されているから、
これを元に制御したいシグナルを探すってことか。

そういうことだねー。

となると、modelDescription.xmlどうなってるかってのが気になりはするなー。

ほう?
めずらしいね?

そう?

いつもだったら、
「知らなくても使えるなら知らなくてもいいじゃん!」
的な事をいいそうだなって思って。

まぁ本音はそっちだけど、
なんというか毒を喰らわば皿までって心境に・・・。

(毒・・・なのか?)

まぁあんまり深く説明すると相当なボリュームになるしね。
簡単なパラメータ定義のところだけを見てみようか。

おー!
まとめ

まとめだよ。
- FMU/FMIのプラットフォーム上での位置づけを再確認。
- FMUのユーザ視点に於いての位置づけを確認。
- modelDescription.xmlとMotor.DLLの位置づけなど。
- これを元に仕様の性質から予測される利用手順を列挙。
- やはりmodelDescription.xmlの中身が気になるので、簡単に説明予定。
バックナンバーはこちら。
コメント