モデルベース開発

事例

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

「パラメータ名文字列から変数オブジェクト取得」のAPI確認。 fmi2_import_get_variable_by_nameというAPI。 パラメータ名文字列を渡せば、変数オブジェクトが返ってくる。 修正箇所は恒例のイニシャルモード中。 今後のことも考え複数のvalueReferenceを取得する予定。
事例

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

変数リストを取得する以外のvalueReference取得方法がある。 パラメータ名文字列を指定してvalueReference取得したいが、直接それができるAPIは無い。 パラメータ名文字列を元に変数オブジェクトを取得するAPIはある。変数オブジェクトが取得できれば、そこからvalueReferenceは取得できる。
事例

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

変数リストのソートルールが複数あることを思い出した。 よって、他のソートルールも試した。 それぞれ想定通りの動作になっていることを確認。 ソートの変更は現実的にはあまり出番は無さそう。 HILS、RAPIDコントローラで使うかもしれないが、それらもそこそこの性能があるのでやはり使わない?
事例

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

「modelDescription.xml内の変数情報を列挙」を実施。 問題無く動作。 modelDescription.xmlに記載されてる変数がすべて列挙されていることを確認。 ソートルールは「XMLファイルに記載されているオリジナルの順序」 こちらも想定通りの動作になっていることを確認。
事例

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

modelDescription.xml内部変数列挙の処理手順確認。 コード追加箇所説明。 fmi2_import_enter_initialization_modeとfmi2_import_exit_initialization_modeの間。 コード提示。 前回までに説明したAPI(文字列変換含む)を全部使用した。
事例

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

fmi2_import_get_variability、fmi2_import_get_causality、fmi2_import_get_initialと併用して使う便利APIが存在。 上記関数戻り値のenumに準じて文字列を返してくれるAPI。 中身はswich分で実現してるだけ。 次回は実際にソースコード作成。
事例

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

valueReferenceの取得方法確認。 変数オブジェクトを渡すと取得できる。 変数名の取得。 これも変数オブジェクトを渡すと取得できる。 その他のdescription、variability、causality、initial。 これも一緒で変数オブジェクトを渡して取得。
事例

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

「fmi2_import_get_variable_list_sizeによる変数リスト数の取得」の仕様確認。 やってることはそのままでリストの要素数を取得。 「fmi2_import_get_variableによる変数オブジェクトの取得」の仕様確認。 変数オブジェクトは変数関連の情報にアクセスするハンドルのようなもの。
事例

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

fmi2_import_parse_xmlについては以前やったのでスルー。 fmi2_import_get_variable_listはmodelDescription.xmlの情報取得の起点。 ソートルールを切り替えられる。 型/valueReferenceでソートがちょっと特殊。 ベクトル的アクセスで使えそう。
事例

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

FMUはパラメータ名とvalueReferenceの紐づけが出来た方が運用し易い。 FMILibraryはmodelDescription.xmlの内部情報を構造的に抱えている。 よって、APIで各種情報を取得可能。「modelDescription.xmlの内容を列挙」までの流れを確認。手順は多いが、流れはシンプル。