【FMU】最小構成のMBD事例 第2章 その51【FMILibrary⑧】

【FMU】最小構成のMBD事例 第2章 その51【FMILibrary⑧】 事例
【FMU】最小構成のMBD事例 第2章 その51【FMILibrary⑧】

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

はじめに

FMILibraryのビルド時にサンプルプロジェクトも生成されている。
fmi2_import_cs_testというプロジェクトが手っ取り早く動作確認できそう。

といって、ただ実行するだけでは何も起きない。
(一応、ビルドは出来ている)

まずはコイツを動作させねば・・・。

登場人物

博識フクロウのフクさん

指差しフクロウ

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

fmi2_import_cs_testの引数について

太郎くん
太郎くん

前回、fmi2_import_cs_testを使おうとしてうまく行かなかったんだよねぇ・・・。

フクさん
フクさん

まぁ引数を渡してないからね。

太郎くん
太郎くん

その引数は何を渡せば良いの?

フクさん
フクさん

前回、とりあえず実装した際に答えは出てはいるんだけどね。
以下が前回の引数無しで実行した時に表示されたメッセージ。

C:\FMILibrary-2.0.3\build-fmi\MinSizeRel>fmi2_import_cs_test.exe
Usage: fmi2_import_cs_test.exe <fmu_file> <temporary_dir>
Press 'Enter' to exit
太郎くん
太郎くん

<fmu_file>

<temporary_dir>
が必要?

フクさん
フクさん

そうそう。

fmi2_import_cs_testに渡すFMUについて

太郎くん
太郎くん

<fmu_file>はその名のとおりFMUを指定すれば良いんだと思うのだけど、
適当なFMUを渡せば良いのかな?

フクさん
フクさん

それだと良かったのだけど、
中のコード見る感じだとFMULibraryのサンプルとして用意されてるFMUを渡す必要があるようだ。

太郎くん
太郎くん

え゛
そんなのどこにあるんだ?

フクさん
フクさん

以前ライブラリをビルドする時に作成したbuild-fmiの中に生成されてるね。
具体的な位置は
\build-fmi\Testing\
に各種FMUがあるね。

太郎くん
太郎くん

この各種FMUのどれでも良いの?

フクさん
フクさん

FMI仕様がversion1.0と2.0があって、
今回使うfmi2_import_cs_testはFMIversion2.0を想定している。
されあにMEではなく、CSを想定している。
よって、消去法で
BouncingBall2_cs.fmu
を指定してあげることになるね。

太郎くん
太郎くん

なるほど。
使えるのは1個なのね。
それはそれで悩まなくて良いな。

fmi2_import_cs_testに渡すについて

太郎くん
太郎くん

次に<temporary_dir>だけど・・・。

フクさん
フクさん

これはその名の通り、テンポラリ用のディレクトリを指定すれば良い。
カレントディレクトリで”.\”って指定しておけば良いんじゃないかな。

太郎くん
太郎くん

結局そのテンポラリ用ディレクトリは何に使われるの?

フクさん
フクさん

FMUを展開して
modelDescription.xmlとDLLを展開するためだね。

太郎くん
太郎くん

ん?
ということはmodelDescription.xmlとDLLがぶちまけられる?

フクさん
フクさん

まぁそうなるね。
嫌だったら事前にフォルダ作ってそこを指定しても良いだろう。

太郎くん
太郎くん

まぁそんなに実害もなさそうだからとりあえず良いか・・・。

まとめ

フクさん
フクさん

まとめだよ。

  • fmi2_import_cs_testの引数について確認。
    • fmu_fileとtemporary_dir。
  • fmu_fileはその名の通りFMUを指定。
    • 今回はFMI2.0且つCSのFMUであるBouncingBall2_cs.fmuが該当。
  • temporary_dirはFMUを展開するためのワーク用。

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

コメント

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