事例 【PyFMI】最小構成のMBD事例 第2章 その114【リアルタイム描画⑧】 チェックボックスの配置。 チェック状態を確認するための変数を用意し、ウィジット生成時に渡しておく。 この変数を見ればチェック状態が分かる。 チェック状態をPython側から変更することも可能。 placeで座標指定して配置。 同様の処理を必要なチェックボックス分実施。 GUI上でも設置されていることを確認。 2021.09.28 事例
事例 【PyFMI】最小構成のMBD事例 第2章 その113【リアルタイム描画⑦】 FigureCanvasTkAggを使用してtkinterへmatplotlibを埋め込み。pack(side = tkinter.RIGHT)でメインウィンドウの右端に接するよう配置。NavigationToolbar2Tkを使用してメニューバー配置。place(x=0, y=h/2-40)を使用して座標指定で配置。 2021.09.27 事例
事例 【PyFMI】最小構成のMBD事例 第2章 その112【リアルタイム描画⑥】 matplotlibをtkinterに埋め込む際には以下のモジュールが必要。 matplotlib.pyplot。 プロット用。 FigureCanvasTkAgg。 プロット画面埋め込み用。 NavigationToolbar2Tk。 メニューバー。 埋め込む前に図(figure)を用意しておく。 2021.09.26 事例
事例 【PyFMI】最小構成のMBD事例 第2章 その111【リアルタイム描画⑤】 tkinterのimportはそのまんま。 「import tkinter」 VisualStudioのリソースエディタのようなものは無い。 メインウィンドウ生成方法解説。 titleも指定可能。 メインウィンドウの大きさと位置指定。 文字列で以下のような感じで指定。 '960x540+960+0'。 2021.09.25 事例
事例 【PyFMI】最小構成のMBD事例 第2章 その110【リアルタイム描画④】 tkinterはPython標準ライブラリのためインストール済み。 動作確認。 「python -m tkinter」でウィンドウが出てくればとりあえずOK。 メインウィンドウをrootとして定義し、そこに各ウィジットを生成&紐づけしていく。 matplotlib関連もtkinter連携用モジュールが存在する。 2021.09.24 事例
事例 【PyFMI】最小構成のMBD事例 第2章 その109【リアルタイム描画③】 実験構成はGUIから決めていく。 GUIでおおよそのインターフェースが確定しそうだから。 GUIの概要図を描いた。 各種チェックボックス、Scale、plot画面。 上記の機能、目的を定義。 処理負荷が分かるようにする。 pauseに関してはリアルタイム描画を抑制した際の負荷を見る為に設置。 2021.09.23 事例
事例 【PyFMI】最小構成のMBD事例 第2章 その108【リアルタイム描画②】 実験環境は「シミュレーションしながらリアルタイムで波形表示」。 上記以外にも以下を組み込む。 スライダー等で入力を手動操作。 sin波、のこぎり波などを入力。 リアルタイム表示の一時停止。 tkinterを使用する予定。 Tk GUIツールキットをPythonから呼ぶライブラリ。 2021.09.22 事例
事例 【PyFMI】最小構成のMBD事例 第2章 その107【リアルタイム描画①】 前回までやってたシミュレーション時間と実時間の同期には課題がある。 シミュレーション時間の方が長いと破綻。 Python側でグラフ表示等すると破綻し易い。 よって、別案。 前回まではシミュレーション時間に実時間を追いつかせる。 対して、新方式は実時間に対してシミュレーション時間を追いつかせる。 2021.09.21 事例
事例 最小構成のモデルベース開発事例 バックナンバー A/D、D/Aだけを持った装置にPID制御を載せるという最小構成の制御ユニットをモデルベース開発に則って開発するという事例のお話。 途中からインターフェースがA/D、D/AからCANに変わるという、とんでもない仕様変更をくらう若干事実っぽいエピソードも入る。 2020.07.24 事例
事例 【上流検証】最小構成のモデルベース開発事例 その57【ドライビングシミュレータ⑦】 ついに動かす時。 そして「最小構成のモデルベース開発事例」の最終回でもある。 CARLAにPID制御を組み込めた。 自動車業界で自動運転以外でもPythonの使いどころは多い。 自動テスト環境の一部とか。 コスト構造を意識すると問題点が見えやすい。 これにより何に対して創意工夫をすれば良いかが分かる。 ご拝読ありがとうございました! 2020.07.24 事例