【MDF】最小構成のMBD事例 第2章 その313【仮想HILS③】

【MDF】最小構成のMBD事例 第2章 その313【仮想HILS③】 事例
【MDF】最小構成のMBD事例 第2章 その313【仮想HILS③】

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

はじめに

前回は、MDF生成のためのimport、ボタンGUI追加の説明を実施。
importは以前のMDF生成実験の時と一緒。
ボタンGUIはチェックボックス、スケールと似た感じで、
commnadの引数にメソッドを渡すことでボタン押下時のイベントに紐づけが可能。

引き続き、仮想HILS改修の話となる。

登場人物

博識フクロウのフクさん

指差しフクロウ

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

Pythonのリスト

太郎くん
太郎くん

じゃ、引き続き仮想HILSの改修の話ってことで。

フクさん
フクさん

今回は「データ保持用のストレージ」を追加する。
まぁストレージと言っても単なるリストを用意するだけなんだけど。

太郎くん
太郎くん

Pythonのリストってこんな感じで宣言するやつだっけ?

list = [1, 2, 3]
フクさん
フクさん

そうそう。

太郎くん
太郎くん

でも、リストを用意する場合、最初に空っぽにしておかないといけないよね?
空っぽのリストはどう宣言すれば良いんだ?

フクさん
フクさん

そのまんまで空っぽで宣言すればOKだ。

list = []
太郎くん
太郎くん

あ、そういう書き方をするのね。

データ保持用のストレージ

太郎くん
太郎くん

となると、仮想HILSも似たような感じで必要なリストを宣言して上げればよいのか。

フクさん
フクさん

必要なリストは以下だな。

  • タイムスタンプ
  • 制御電圧
  • 電流
  • 回転角速度
  • 負荷トルク
  • 目標回転角速度
太郎くん
太郎くん

あ、そっか。
matplotlibで表示している波形に加えてタイムスタンプを追加しておけばOKなのか。

太郎くん
太郎くん

だったら、以下の宣言を事前にしておけばOKだね。

# MDF セットアップ
self.mdf = MDF()
self.time_sig = []
self.voltage_sig = []
self.current_sig = []
self.speed_sig = []
self.loadTorque_sig = []
self.target_sig = []
フクさん
フクさん

もしかしたら追加で何か必要になるかもしれないが、
まずはこれでOKだろう。
ちなみにMDFのインスタンスを事前に生成しておいた方が利便性が良さそうなので追加しておいた。

太郎くん
太郎くん

あ、勝手にいつの間にか・・。

フクさん
フクさん

ちなみに、これらのリストを利用して、
ボタン押下時にMDF生成をすることになるはずだ。

太郎くん
太郎くん

リスト名さえ分かってれば楽勝だ。

フクさん
フクさん

以前にも言ったが、本来メモリ枯渇回避のため一時ファイルの方が望ましいのだが、
このリストに相当するデータを一時ファイルに差し替えればOKだ。

太郎くん
太郎くん

そっか。
そういえばそういうことも言ってたね。
ここらへんは後で僕が修正すると思うから覚えておくよ。

まとめ

フクさん
フクさん

まとめだよ。

  • Pythonのリストの宣言の仕方について簡単に説明。
    • 空っぽのリストも宣言できる。
  • データ保持用のストレージの候補を列挙。
    • 上記に合わせて空っぽのリストを事前に宣言。
    • 本来であれば一時ファイルの方が望ましいので、必要であればファイルアクセスに差し替える必要がある。

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

コメント

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