事例 【FMIライブラリ】最小構成のMBD事例 第2章 その80【DCモータ⑧】 改造版fmi2_import_cs_testの実行してみた。問題無く動作している様子。(目標値、制御電圧、モータ電流、モータ角速度)試しにグラフで表示。期待通りの波形が得られた。これに伴い、OpenModelicaからexportしたFMUもFMILibraryで制御可能と言える。 2021.08.25 事例
事例 【FMIライブラリ】最小構成のMBD事例 第2章 その79【DCモータ⑦】 シミュレーションループにvalueReferenceを渡すためのfmi2_import_cs_testのソースコード修正を確認。流れは以下。欲しいパラメータ名文字列列挙。変数オブジェクト取得。valueReference取得。valueReferenceをシミュレーションループで利用。 2021.08.24 事例
事例 【FMIライブラリ】最小構成のMBD事例 第2章 その78【DCモータ⑥】 OpenModelicaからexportしたFMUをFMILibraryで読み込んでみた。無事読み込み成功。変数リストによる列挙もできた。必要なパラメータの情報は問題無く取得出来ている。シミュレーションをするために若干の改造が必要。シミュレーションループにvalueReferenceが渡るように修正。 2021.08.23 事例
事例 【FMIライブラリ】最小構成のMBD事例 第2章 その77【DCモータ⑤】 OpenModelicaから無事FMUをexport。FMU内部のmodelDescription.xmlを参照。Outputブロック名のパラメータの存在を確認。上記のvalueReferenceと同値のパラメータも確認。モデル上、同一の信号線上のパラメータが該当。利用するのはOutputブロック側。 2021.08.22 事例
事例 【FMIライブラリ】最小構成のMBD事例 第2章 その76【DCモータ④】 OpenModelicaからFMUをexportするための設定確認が必要。FMIオプション内を確認&修正。バージョン:2.0。タイプ:Co-Simulation。Platforms:Static。Linux環境だとDynamicでもOKだろうが、Windows環境だとStatic推奨。 2021.08.21 事例
事例 【FMIライブラリ】最小構成のMBD事例 第2章 その75【DCモータ③】 クローズループ制御にしたDCモータモデルの動作確認を実施。ちゃんと動いてるっぽい。Outputブロック設置各種信号にエイリアスを振るために設置。目標値をtarget。指令電圧値をvoltage。電流センサで取れる電流をcurrent。角速度センサで取れる角速度をspeed。 2021.08.20 事例
事例 【FMIライブラリ】最小構成のMBD事例 第2章 その74【DCモータ②】 以前使ったDCモータモデルにPID制御器を付けた。PID制御器はModelicaライブラリに最初から存在。実際にはLimPID。パラメータはKp、Ki、KdではなくKp、Ti、Tdな点に注意。とりあえず、クローズループ(PID)制御のDCモータモデルが出来た。(つもり) 2021.08.19 事例
事例 【FMIライブラリ】最小構成のMBD事例 第2章 その73【DCモータ①】 「OpenModelicaで作ったFMUをFMILibraryで制御する」のプランを提示。モデルは以前扱ったDCモータモデルとする。Rampをそのまま電圧としてDCモータに印加するモデル。ただし、そのまま使わずPID制御を追加してみる。オープンループ制御からクローズループ制御のモデルに変更。 2021.08.18 事例
事例 【FMU】最小構成のMBD事例 第2章 その72【FMILibrary㉙】 パラメータ名文字列からFMUの制御までを動作確認。valueReferenceの取得OK。その後のvalueReferenceを使用したパラメータ変更も当然OK。今後の予定としては、OpenModelicaがexportしたFMUを使っていろいろやっていこうと画策している。ぶっちゃけると手探り状態。 2021.08.17 事例
事例 【FMU】最小構成のMBD事例 第2章 その71【FMILibrary㉘】 パラメータ名文字列を元にFMU内パラメータ変更の実験コード提示。変数オブジェクトを取得し、そこからvalueReference取得。valueReferenceが分かれば、FMU内パラメータは好き勝手できる。これにより今後、他のFMUを使う場合になっても比較的楽にパラメータアクセスができそう。 2021.08.16 事例