バックナンバーはこちら。
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を展開するためのワーク用。
バックナンバーはこちら。
コメント