バックナンバーはこちら。
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の中身が気になるので、簡単に説明予定。
バックナンバーはこちら。
コメント