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

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

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

はじめに

何とかFMILibraryのビルドを通すことができた。

これから実際にFMILibraryを使っていくことになるが、
ビルドした際にサンプルプロジェクトも生成された様子。
よって、このサンプルプロジェクトをベースに話を進める。

登場人物

博識フクロウのフクさん

指差しフクロウ

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

サンプルプロジェクトの在り処

太郎くん
太郎くん

確か、サンプルプロジェクトがあるって話だったけど、
どこにあるの?

フクさん
フクさん

ビルドする時にbuild-fmiというフォルダを作成して、
その中でビルドしたと思う。

太郎くん
太郎くん

うん。
build-fmiでやった。

フクさん
フクさん

その中にFMILibrary.slnってファイルがあるんで、
それが全サンプルプロジェクトを抱え込んだソリューションファイルになる。

太郎くん
太郎くん

あ、ホントだ!
FMILibrary.slnってがある!
これを起動すればいいんだな。ポチー

どのサンプルプロジェクトを使用するのか?

太郎くん
太郎くん

なんかむくちゃプロジェクトがあるんだけど・・・。

FMILibraryサンプルプロジェクト、fmilib、fmilib_shared、fmixml、fmizip、fmu1_dll_cs、fmu1_dll_me、fmu2_dll_cs、fmu2_dll_me、INSTALL、jm_vector_test、jmutils、Nightly、NightlyMemoryCheck、RUN_TESTS、ZERO_CHECK、ALL_BUILD、BouncingBall_cs_FMU、BouncingBall_cs_tc_FMU、BouncingBall_malformed_mf_FMU、BouncingBall_me_FMU、BouncingBall2_cs_FMU、BouncingBall2_malformed_mf_FMU、BouncingBall2_me_FMU、compress_test_fmu_zip、Continuous、expatex、Experimental、fmi_import_cs_test、fmi_import_me_test、fmi_import_test、fmi_import_xml_test、fmi_zip_unzip_test、fmi_zip_zip_test、fmi1_capi_cs_test、fmi1_capi_me_test、fmi1_logger_test、fmi1_xml_parsing_test、fmi2_import_cs_test、fmi2_import_me_test、fmi2_import_xml_test、fmi2_xml_parsing_test、fmicapi、fmiimport
フクさん
フクさん

まぁ使うプロジェクトは一個だ。
fmi2_import_cs_testってプロジェクトをベースにする。

FMILibraryサンプルプロジェクト_fmi2_import_cs_test、fmilib、fmilib_shared、fmixml、fmizip、fmu1_dll_cs、fmu1_dll_me、fmu2_dll_cs、fmu2_dll_me、INSTALL、jm_vector_test、jmutils、Nightly、NightlyMemoryCheck、RUN_TESTS、ZERO_CHECK、ALL_BUILD、BouncingBall_cs_FMU、BouncingBall_cs_tc_FMU、BouncingBall_malformed_mf_FMU、BouncingBall_me_FMU、BouncingBall2_cs_FMU、BouncingBall2_malformed_mf_FMU、BouncingBall2_me_FMU、compress_test_fmu_zip、Continuous、expatex、Experimental、fmi_import_cs_test、fmi_import_me_test、fmi_import_test、fmi_import_xml_test、fmi_zip_unzip_test、fmi_zip_zip_test、fmi1_capi_cs_test、fmi1_capi_me_test、fmi1_logger_test、fmi1_xml_parsing_test、fmi2_import_cs_test、fmi2_import_me_test、fmi2_import_xml_test、fmi2_xml_parsing_test、fmicapi、fmiimport
太郎くん
太郎くん

これをそのまま使うの?

フクさん
フクさん

すでにビルド済みのものが、
\build-fmi\MinSizeRel
の中に
fmi2_import_cs_test.exe
として存在はしてるけどねー。
FMI2.0仕様に則って動作する。

フクさん
フクさん

ちなみに似た名前で
fmi_import_cs_test.exe
ってのがあるけど、
こっちはFMI1.0仕様の方だね。

実行方法

太郎くん
太郎くん

なんだ。
じゃー、そのまま実行!

太郎くん
太郎くん

・・・

太郎くん
太郎くん

あれ?
コマンドプロンプトっぽいのが一瞬だけ表示したような気がしたけど、
すぐ消えた???

太郎くん
太郎くん

動かし方がわからん!!

フクさん
フクさん

まぁ引数付で起動しないといけないタイプのプログラムなんで、
先にコマンドプロンプトを起動してから該当プログラムを起動だな。

太郎くん
太郎くん

なるほど!

太郎くん
太郎くん

じゃーあらためてコマンドプロンプト経由で・・・。

太郎くん
太郎くん

・・・。

太郎くん
太郎くん

なんか動いた・・・のか?

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
フクさん
フクさん

こらこら!
引数付きで起動っていったでしょ!!

太郎くん
太郎くん

あ、そっか。

太郎くん
太郎くん

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

フクさん
フクさん

さっき太郎くんが実行した画面に答えは書いてあるけどねー。
まぁ次回はそこらへんをやるか。

まとめ

フクさん
フクさん

まとめだよ。

  • FMILibraryのサンプルプロジェクトを確認。
    • 大量にある。
    • 今回はfmi2_import_cs_testを使用。
    • すでにビルド済みのものが存在。
  • fmi2_import_cs_testは引数を要求するタイプの実行プログラム。
    • よって、ただ起動しただけでは何もしてくれない。
    • 引数については次回説明予定。

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

コメント

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