バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/
はじめに
前回は仮想HILSと仮想ECUの精度が上がらなかった原因を予測し、
「ほぼ間違いなく応答性」と推測。
これが原因となるとPythonベースの仮想HILSでは解消は難しい。
だからと言って本当のHILSを導入するにはかなりの費用が発生する。
そこで、折衷案でVector社のCANoeが使用できないかを検討することとなった。
登場人物
博識フクロウのフクさん
![指差しフクロウ](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
![技術者太郎](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
仮想HILSの機能を列挙
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
今回はCANoeで仮想HILSができそうか検討するんだよね?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
そうだね。
そこでまず現行の仮想HILSの機能を列挙してみよう。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者03アップ.png)
あ、なるほど。
機能を列挙して、それぞれがCANoeで可能な機能なのかを検討していくのね。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
そうそう。
というわけで列挙してみた。
- FMU import&実行
- 各種信号のグラフ表示
- CAN受信
- XCPマスタ
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
まぁ大雑把にはこんなもんだよね。
CANoeで仮想HILSが実現可能か検討
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まず最初の「FMU import&実行」だが、
これは恐らく可能だろう。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者02アップ.png)
確かここらへんの話でFMU importに対応してるのは間違い無さそうだよね。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/考え中フクロウ.png)
ただ、この時はFMIで定義されたシグナルが参照できるかを見ただけなので、
本当に動作するか実験しておいた方が良いだろう。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
「各種信号のグラフ表示」、「CAN受信」は問題無いね。
これが目的のツールだし。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
うん。そこは気にしなくてOKだ。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
「XCPマスタ」はどうなんだろう?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/考え中フクロウ.png)
CANoeを「XCPマスタ」として動作させるには「オプションXCP/AMD」という追加ライセンスが必要みたいだな。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」10アップ.png)
え゛
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」09アップ.png)
たぶん、僕が持ってるCANoeライセンスにはそんなの入ってないよ?!
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
じゃ、XCPマスタの機能は使えない。
CANoeでXCPマスタの機能の実現は不可能なのか?
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」11アップ.png)
じゃーもうだめじゃーん!
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/はてなフクロウ.png)
まぁXCP自体は複雑なプロトコルでは無いし、
我々もXCPの実験をしていた初期の頃ってPython-canでCANフレームをそのまま送ってたじゃん?
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
そういえば、最初はPython-canでやってて途中からPyXCPを使い始めたんだっけか?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
というわけで、汎用的なXCPマスタは無理だが、
Python-canでやってた時のようにCANフレーム単位の送受信で今回の仮想HILS、仮想ECU連携に特化したXCPマスタは作れると思う。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者02アップ.png)
確か、CAPLを使うと割と自由にCAN送受信ができるから、
そのノリってPython-canを使ってる時と同じようなものってことになるのか。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
というわけでXCPマスタも一応可能と判断して良いだろう。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者03アップ.png)
ということはCANoeで仮想HILSが作れる!
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
かなり見込みはあるそうだね。
まぁそれでも一個ずつ確認していく必要はあるだろうけど。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
じゃー、そこらへんの実験ロードマップを考えないとね。
まとめ
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まとめだよ。
- CANoeで仮想HILSの実現が可能かを検討する間に現行の仮想HILSの機能を列挙した。
- FMU import&実行。
- たぶんOK。でも要確認
- 各種信号のグラフ表示&CAN受信。
- 間違い無くできる。
- XCPマスタ
- 本当のXCPをするなら追加ライセンスが必要。
- しかし、CAPLを駆使すれば今回の目的は達成できそう。
バックナンバーはこちら。
コメント