バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/
はじめに
前回は仮想HILSの大雑把な改修計画を説明。
- 少なくとも仮想HILS以外の改修は不要。
- GUI追加が必要
- MDFに書き込むためのストレージが必要(今回はメモリ上に蓄える)
上記の流れで詳細作業を説明して行く。
登場人物
博識フクロウのフクさん

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

まずは恒例のimportのところだねー。
まぁこれはMDFの実験でも追加していた以下になるのかな。
from asammdf import MDF, Signal

そうそう。
基本的にはMDFの構造を決定するモジュールと
Signalの構造を決定するモジュールがあればOKだ。

Signalを取りまとめるChannelGroupとかDataGroupe相当は、
通常のリストを使用してMDFに渡すことになるので、
MDFの構造に含まれる話になる。

そうね。
たしかそんな感じだったね。
ボタンGUIの追加

次はボタンGUIの追加かな?

まぁボタンに関してはチェックボックスと似たようなやり方だから
それほど難しくはない。
以下のコードを追加すればOKだ。
# ボタンの作成
btn = tkinter.Button(self.root, text='save mdf', command = self.btn_click)
btn.place(x=10, y=140)

tkinter.Buttonで生成するのね。
btn.place(x=10, y=140)で配置を決めるのか。

command = self.btn_click
は、なんだっけ?

スケールを生成する時に
command=self.change
みたいな引数があって、
スケールを走査したらself.changeメソッドが呼び出される。
みたいな構造だったと思ったけど。

ちゃんと覚えているとはエラい!

スケールの時より話はシンプルだよ。
ボタンが押されたときに呼び出されるメソッドを指定しているだけだ。
このメソッド内でMDF保存処理を実施する予定だ。

なるほど。
それは分かりやすい。
まとめ

まとめだよ。
- MDF生成をするためのimportを説明。
- 以前のMDF生成実験の時と一緒。
- ボタンGUI追加方法説明。
- 以前のチェックボックス、スケールの時と似たような感じ。
- スケールの時と同じくイベントハンドラを設定可能。
- ボタン押下時のイベントに紐づいて呼び出されるメソッドを設定可能。
バックナンバーはこちら。
コメント