【上流検証】最小構成のモデルベース開発事例 その27【ネットワークMILS⑥】

【上流検証】最小構成のモデルベース開発事例 その27【ネットワークMILS⑥】 事例

バックナンバーはこちら
https://www.simulationroom999.com/blog/model-based-of-minimum-backnumber/

はじめに

前回でCANoeのノードに組み込むSimulinkDLLを作成した。
今回こそは動かす!

登場人物

博識フクロウのフクさん

イラスト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

復習

太郎くん
太郎くん

さぁ今回こそ動かすんだよね?

フクさん
フクさん

その予定だが、予想以上に回数を重ねてしまったので
一回復習しよう。

太郎くん
太郎くん

えー。

フクさん
フクさん

すぐ終わるから!
絵で描くと一発だよ。
こんな感じ。

Simulinkの制御モデルをDLL化、ノードへ割り当て、CANdbエディタ、dbc、モデル生成ウィザード、ネットワークノード自動生成、シミュレーション、ネットワーク構成の定義
太郎くん
太郎くん

うん。こんな感じ。
長かったなぁ(遠い目)

フクさん
フクさん

まだ終わってないよ!

フクさん
フクさん

一応、流れも列挙しておこう。

  • CANDB++でdbcファイル作成。
    • ネットワーク構成、ノード(ECU)構成、メッセージ(CAN)構成、シグナル(交換データ)構成を定義する。
  • dbcファイルをCANoeの「モデル生成ウィザード」に喰わせる。
    • dbcファイルに定義されているネットワーク構成が自動生成される。
  • Simulinkモデルの入出力に「CANoe I/Oを接続」。
    • CANoe I/Oはdbcで定義したシグナルに対して割り付けができる。
  • SimulinkモデルをDLL化し、CANoeのノードに割り当てる。
  • シミュレーション開始。

シミュレーション開始

フクさん
フクさん

さぁいよいよシミュレーション開始だ。

太郎くん
太郎くん

よし、動かすよ!

CANoe上で制御器とプラントのシミュレーション
太郎くん
太郎くん

おー。

なんかPIDの動きしてるよ!
しかも、Simulinkモデルが表示されて信号線のところにリアルタイムでデータ表示されてる!

フクさん
フクさん

CANモニタも見てみたら?

太郎くん
太郎くん

うん。

CANoe上で制御器とプラント間の通信を確認
太郎くん
太郎くん
 
 

これもしっかり動いてる!

フクさん
フクさん

今回はプラント側もシミュレーションしてるけど、
実際に車両とつなぐときはプラント用のノードを無効にすれば良いよ。

太郎くん
太郎くん

そんなこともできるんだ。
シミュレーションバスで疑似的なプラントに対して可能な限りテストをして、
実車時は実バスにしてテストすればいいんだね。

フクさん
フクさん

そうそう。
まぁとりあえず動いたけど、実際の仕様を完全に再現したわけじゃないから
あとはうまく調整するんだね。

太郎くん
太郎くん

うん。やり方はわかったからあとは自分で出来そうだよ。
ホントありがとう。

一応、動画版

まとめ

フクさん
フクさん

まとめだよ。

  • dbc、モデル生成ウィザード、SimulinkDLL、シミュレーションまでの流れを復習。
  • そしてやっと動かした!
  • あとは徐々に本物と差し替えたりすると応用の幅が広がる。

バックナンバーはこちら

コメント

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