バックナンバーはこちら。
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のリストの宣言の仕方について簡単に説明。
- 空っぽのリストも宣言できる。
- データ保持用のストレージの候補を列挙。
- 上記に合わせて空っぽのリストを事前に宣言。
- 本来であれば一時ファイルの方が望ましいので、必要であればファイルアクセスに差し替える必要がある。
バックナンバーはこちら。
コメント