【FMIライブラリ】最小構成のMBD事例 第2章 その82【DCモータ⑩】

【FMIライブラリ】最小構成のMBD事例 第2章 その82【DCモータ⑩】 事例
【FMIライブラリ】最小構成のMBD事例 第2章 その82【DCモータ⑩】

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

はじめに

以前FMILibraryのサンプルFMUに対してやったことだが、
固定値の変更が
OpenModelicaからexportしたFMUに対しても実施可能化?
ソースコードの改造は前回やっているので
今回は実際の挙動確認。

登場人物

博識フクロウのフクさん

指差しフクロウ

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

固定値パラメータの変更の挙動確認

太郎くん
太郎くん

よし!実行だ!

Version returned from FMU:   2.0
Platform type returned:      default
GUID:      {a0fc21cc-cc37-466f-a812-cf044bde7fd3}
ramp.duration:valueReference is 268
ramp.startTime:valueReference is 271
Initial Parameters.
vr:268,iniTmp is 0.800000
vr:271,iniTmp is 0.200000
Modified parameters.
vr:268,iniTmp is 1.500000
vr:271,iniTmp is 0.300000
target:valueReference is 93
voltage:valueReference is 94
current:valueReference is 13
speed:valueReference is 91
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,         0,         0,         0,
 0.0666667,      0.05,         0,         0,
  0.133333,  0.101667, 0.0333333,         0,
       0.2,  0.154416,       0.1,7.07355e-05,
  0.266667,  0.207735,  0.199581,0.000282942,
  0.333333,  0.261174,  0.331298,0.000706466,
       0.4,   0.31435,  0.494071, 0.0014095,
  0.466667,   0.36694,   0.68657,0.00245795,
  0.533333,   0.41868,  0.907268, 0.0039149,
  
         /* 省略 */
  
       100,    68.619,   94.6445,    100.21,
       100,   68.6159,   94.7054,   100.198,
       100,   68.6129,   94.7669,   100.187,

出力結果確認

太郎くん
太郎くん

とりあえず、動いてはいるが、
数値だけだとRampの挙動が変わったかは分かりにくいな・・・。

太郎くん
太郎くん

こういう場合はグラフで確認だね。

DCモータモデル、FMU、目標値、制御電圧、モータ電流、モータ角速度
太郎くん
太郎くん

おー!
ホントにRampによる目標値(target)の挙動が変わって、
それに合わせて全体の挙動も変わってる。

フクさん
フクさん

どうやらうまく行ったみたいだね。

太郎くん
太郎くん

うん。
ちゃんとRampの挙動が変わってた。

太郎くん
太郎くん

これ、他の固定値も変えられるのかな?

フクさん
フクさん

パラメータになっていれば、おおよそ変えられるはずだよ。
変えられないのはアルゴリズムそのものや信号線の繋ぎぐらいだね。

太郎くん
太郎くん

まぁサンプルFMUでも出てた話だね。

まとめ

フクさん
フクさん

まとめだよ。

  • 固定値パラメータの変更の挙動確認。
    • Rampの挙動を変えた。
  • 目標値(target)の挙動を変えたため、それに合わせて全体の挙動が変化。
    • 狙った挙動になっている。
  • パラメータになっていれば、おおよそ変更可能。
    • 変えられないのはアルゴリズムそのものや信号線の繋ぎぐらい。

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

コメント

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