事例 【FMU】最小構成のMBD事例 第2章 その60【FMILibrary⑰】 修正済みfmi2_import_cs_testを実行。 パッと見変化がわからないので以前の実行結果と比較。 明らかに初期のボールの高さは変わっている。 グラフにして確認。 初期のボールの高さが変わっているので、跳ね方も変わる。 このように初期パラメータもFMILibrary経由で変更可能。 2021.08.05 事例
事例 【FMU】最小構成のMBD事例 第2章 その59【FMILibrary⑯】 修正コードができたので確認。 内容の詳細説明。 読み出すvalueReference群の定義。 fmi2_import_get_realで一気に読み出し。 ボールの初期の高さだけ変更。 fmi2_import_set_realで一気に書き戻し。 数値解析ツール由来のベクトルで一気に制御する方式になっている。 2021.08.04 事例
事例 【FMU】最小構成のMBD事例 第2章 その58【FMILibrary⑮】 modelDescription.xmlでインターフェース定義を確認。 fmi2_import_set_realに渡すvalueReferenceはmodelDescription.xmlに定義されてるvalueReferenceを渡せばOK。 これを踏まえた上で最もシンプルと思われるコードサンプル提示。 2021.08.03 事例
事例 【FMU】最小構成のMBD事例 第2章 その57【FMILibrary⑭】 fmi2_import_set_realのAPI仕様確認。 FMI statusの定義確認。 モデル記述オブジェクトはfmi2_import_parse_xmlで取得できるfmi制御用のハンドル。 FMUを展開した後に出てくるのmodelDescription.xmlを指定する必要がある。 2021.08.02 事例
事例 【FMU】最小構成のMBD事例 第2章 その56【FMILibrary⑬】 FMUのシミュレーションパラメータを変更することができる。 ただし、イニシャルモード中。 イニシャルモードを指定するAPIが存在。 fmi2_import_set_realというAPIでパラメータ変更が可能。 型に応じたAPIになっており、他にinteger、boolean、string用のAPIが存在する。 2021.08.01 事例
事例 【FMU】最小構成のMBD事例 第2章 その55【FMILibrary⑫】 fmi2_import_cs_testのシミュレーションステップとシミュレーション時間を変えてみた。 上記のシミュレーションを実行。 精度を細かくしたのと、シミュレーション時間を延ばしたことでデータ量は増えた。 グラフで確認。 前回の100msサンプリングと同じ特性で精度、時間が変わっていた。 2021.07.31 事例
事例 【FMU】最小構成のMBD事例 第2章 その54【FMILibrary⑪】 シミュレーション時間とシミュレーションステップはFMUの外側の制御の仕方次第で確定する。 FMU処理自体はfmi2_import_do_stepという関数の中で指定時間分実施する動き。 サンプルプロジェクトfmi2_import_cs_testの場合はhstepとtendを調整すればOK。 時間は「秒」である点に注意。 2021.07.30 事例
事例 【FMU】最小構成のMBD事例 第2章 その53【FMILibrary⑩】 fmi2_import_cs_testの実行結果のうちシミュレーション部分のところだけ抜き出し。 Ball heightとBall speedのパラメータがある。 本シミュレーションはボールを投げたあとのバウンドに伴うボールの高さと縦方向の速度を示したもの。 Excelでグラフ表示してみたところ確かにそんな感じ。 2021.07.29 事例
事例 【FMU】最小構成のMBD事例 第2章 その52【FMILibrary⑨】 fmi2_import_cs_testの起動時パラメータ確認。 FMUとテンポラリディレクトリのPathを設定。 実行と結果を取得。 「log level = VERBOSE」ってのはFMILibraryの内部のデバッグログ。 Ball height、Ball speedとその次に続いている数値がシミュレーション上重要。 2021.07.28 事例
事例 【FMU】最小構成のMBD事例 第2章 その51【FMILibrary⑧】 fmi2_import_cs_testの引数について確認。 fmu_fileとtemporary_dir。 fmu_fileはその名の通りFMUを指定。 今回はFMI2.0且つCSのFMUであるBouncingBall2_cs.fmuが該当。 temporary_dirはFMUを展開するためのワーク用。 2021.07.27 事例