【PyFMI】最小構成のMBD事例 第2章 その138【CAN連携②】

【PyFMI】最小構成のMBD事例 第2章 その138【CAN連携②】 事例
【PyFMI】最小構成のMBD事例 第2章 その138【CAN連携②】

バックナンバーはこちら。
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を模すのはわかるけど、
どういった構成にする?

フクさん
フクさん

とりあえず以下の構成を考えている。

Python、Virtual CAN Bus、Python-CAN、CANを経由してControllerへ指令を出すイメージ共にリアルタイム(実時間)動作、仮想HILS、テストプログラム、PyFMI、FMU、PID、DCモータ、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に対して追加する。
    • 入力パターンが増えるイメージ。

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

コメント

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