バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/
はじめに
前回はVector社製ツールのCANoeを仮想HILS化するための実験ロードマップを提示。
大雑把にはFMU importとXCPマスタの2つの機能を実現させればOK。
まずはCANoeはFMUを本当に扱えるかを確認していく。
登場人物
博識フクロウのフクさん

イラスト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
CANoeでFMU import&動作実験の全体構成

今回からCANoeでFMUを扱えるか実験し始める感じだね。

まずは実験構成の確認だ。
ネットワーク構成と論理構成の2つを見せよう。

恒例のパターンだね。
CANoeでFMU import&動作実験のネットワーク構成

PyFMIでやったマルチFMUと同じく3つのFMUを使用する。
ただし、繋ぎはCAN-FDを想定。


シミュレーションバスってVirtual CAN Busのことで良いんだっけ?

Virtual CAN Busとは別物だな。
CANoeの中だけで閉じてるCAN Busだ。

まぁ似たようなもんなのかな?

まぁ仮想的なCAN Busって意味では一緒だね。
ただ、CANoe内のシミュレーションバスは外部インターフェースと繋がっていないことを前提にシミュレーション時間を早めることができる。

ほう?
早めても大丈夫なものなの?

CANoeで閉じていること前提なんで、シミュレーション時間が実時間と一致している必要も無いんだよ。
まぁ演算処理が重ければ早くすることはできないのだけど、ほとんどの場合はかなり早くシミュレーションを終えることができる。

SimulinkやOpenModelicaもシミュレーション自体は一瞬だったもんね。
あれと同じようなイメージか。

そうそう。
そのイメージで合ってる。
CANoeでFMU import&動作実験の論理構成

次は論理構成だが、
まぁこれはいつもの通りだな。
この構成が崩れたらそもそも目的の動作にはならないし。


CANのシグナルが論理的な信号線を果たすってことだね。

そういえば、さっきのネットワーク構成もそうなんだけど、
CANoeでこの構成って昔どっかで見たような・・・。

あー、たぶんSimulinkDLLをCANoeに読み込ませた時の実験のやつじゃない?

なんか思い出してきたぞ!
確か前シリーズでやったやつだ!
たしかここらへんでやった。

この時はSimulinkモデルをSimulinkDLLにしてCANoeに取り込ませたわけだけど、
今回はこのSimulinkDLLがFMUになった。
って感じか。

正解。

なんとなくやりたい事のイメージがつかめてきた。

構成の確認もできたし、次回からは割と地味な作業に突入だ。

(そもそも地味じゃない作業の方が少ない・・・。)
まとめ

まとめだよ。
- CANoeでFMU import&動作実験の全体構成提示。
- 恒例のネットワーク構成と論理構成。
- FMU間の各信号の接続はCAN経由で行う。
- 実は以前SimulinkDLLをCANoeで駆動させた時と近似の構成。
- SimulinkDLLの代わりにFMUになっただけ。
バックナンバーはこちら。
コメント