バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/
はじめに
FMILibraryのサンプルプロジェクトfmi2_import_cs_testに対して、
シミュレーションループにvalueReferenceを渡す改造を施した。
やり方としては今までの話の組み合わせをしたのみ。
今回は実際に動かして挙動を見て見る。
登場人物
博識フクロウのフクさん
イラスト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の実行
太郎くん
じゃー、とりあえず実行してしまえばOKかな。
フクさん
そうだね。
まぁ一応動く状態にはしているから、
ビルド、実行は通るはずだ。
結果の精査をする必要はあるだろう。
太郎くん
じゃー、ビルド&実行!
処理結果
target,voltage,current,speed,
0, 0, 0, 0,
0, 0, 0, 0,
0, 0, 0, 0,
0, 0, 0, 0,
/* 省略 */
0, 0, 0, 0,
0.125, 0.09375, 0, 0,
0.25, 0.190625, 0.0625, 0,
0.375, 0.289531, 0.1875,0.000132629,
0.5, 0.389503, 0.374214,0.000530516,
0.625, 0.489701, 0.621184,0.00132462,
0.75, 0.589406, 0.926383,0.00264282,
0.875, 0.688013, 1.28732,0.00460866,
/*省略*/
100, 68.6555, 100.407, 99.9599,
100, 68.6558, 100.406, 99.9608,
100, 68.6562, 100.405, 99.9617,
100, 68.6565, 100.404, 99.9625,
100, 68.6568, 100.403, 99.9634,
100, 68.6571, 100.401, 99.9643,
100, 68.6574, 100.4, 99.9651,
実行結果確認
太郎くん
数字ばっかり大量に出てくるから大半は省略して書いたけど、
まぁそれっぽい動作はしてそうだね。
フクさん
全体像が見えるようにグラフ化してみたら?
太郎くん
そうだね。
やってみよう。
太郎くん
うん。
狙い通りの挙動だ。
フクさん
これで、
OpenModelicaからexportしたFMUもFMILibraryで制御することが可能ってのが証明された。
って感じだ。
太郎くん
ちゃんと制御できるもんなんだねぇ。
これが標準仕様の良さってところだね。
まとめ
フクさん
まとめだよ。
- 改造版fmi2_import_cs_testの実行してみた。
- 問題無く動作している様子。(目標値、制御電圧、モータ電流、モータ角速度)
- 試しにグラフで表示。
- 期待通りの波形が得られた。
- これに伴い、OpenModelicaからexportしたFMUもFMILibraryで制御可能と言える。
バックナンバーはこちら。
コメント