バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/
はじめに
前回はさらなるHILSっぽさを求めて外部インターフェースを用意する話だった。
結果としてはとりあえずCANを採用。(楽なんで)
といってもまだ具体的な構成は決めていない。
なんにしてもまずは具体的な実験構成を決めて、
それをもって実現性を評価する方針としたい。
登場人物
博識フクロウのフクさん
イラスト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
CANを実現するためのインターフェース装置とかはどうする?
とりあえず外部インターフェースはCANに決まったけど、
どういった構成にするの?
何かしらCANのインターフェース装置とか用意しないといけないような気がするけど。
忘れたの?
CANでシミュレーションといえば、他のシリーズでも散々扱ったアレがあるじゃん?
あ!
なんだっけ?!
アレだろアレ!!
ほら!アレ!
(「アレ」しか言ってない・・・。)
Vector社のXL Driver Library付属のVirtual CAN Busだな。(無償)
それ!
それそれ!
(「アレ」が「それ」になった・・・。)
実験構成
まぁVirtual CAN Bus使ってCANを模すのはわかるけど、
どういった構成にする?
とりあえず以下の構成を考えている。
PID制御とDCモータはそのままで
指令器を外部から制御する感じか。
前回までのtkinterの入力も指令器の差し替えだったからね。
そこらへんの構成は踏襲してる感じだ。
まぁシンプルだし、連携できることが分かればOKだし、これでいいんじゃないかな?
拡張方針
とりあえず、前回までのtkinterの構成を拡張するイメージで居る。
元々、Scaleによる手動入力、sin波、のこぎり波とか入れてたから、
そこに新しく、「CAN input」みたいなチェックボックスを追加して
そのチェックボックスが有効であれば、CANからの指令を受けつける。
ってノリか。
いいね。
その方針を採用だ。
PythonでVirtual CAN Busを使用するのも久しぶり過ぎて
いろいろ忘れてるから、そこら辺も簡単に復習してもらえると助かるなー。
まぁコードとしてはそこまで複雑な増え方はしないと思うし、
逐次説明しよう。
まとめ
まとめだよ。
- CANをHILSのインターフェースにするには本来では専用のインターフェース装置が必要。
- しかし、今回はVector社のXL Driver Library付属のVirtual CAN Busを使用。(無償)
- 実験構成は指令値をCANで指定。
- 前回までのtkinterに対して追加する。
- 入力パターンが増えるイメージ。
バックナンバーはこちら。
コメント