バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/
はじめに
前回はCANoeの仮想HILS化に向けてdbcファイルによるネットワーク定義を行った。
このdbcファイルがあることでCANoeのインポートウィザードでノードの自動生成やCANoe.ILと呼ばれる便利機能が使える。
というわけで今回はCANoeへのdbcのインポートの話となる。
登場人物
博識フクロウのフクさん
![指差しフクロウ](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
dbcファイルが出来上がったので
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
dbcファイルが出来上がったから、
次はCANoeにこれを読み込ませるんだよね?
たしかインポートウィザードってのがあって、dbcファイルに則って簡単にノードが作れるとかなんとか。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
そうそう。
一回これを経験すると、CANoeの使い方変わると思うよ。
単なるCAN回線モニタからネットワークシミュレーションツールって感じで。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
そういわれると今までは確かに勿体ない使い方してたのかー。
って気分になるなー。
CANoeのインポートウィザード
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
じゃ、早速インポートウィザードを使ってみよう。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」08アップ.png)
おー!
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
流れとしては以下になる。
- シミュレーション設定の右側のツリーのデータベースを右クリックしてインポートウィザードを起動
- 作成したdbcファイルを選択
- dbcファイル内で定義したノードが「利用可能ノード」にでてくるので「割り当て済みノード」へ移動
- そしてOKボタンを押す
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」20アップ.png)
以前も行ったけど、文章だけだと・・・。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
と思って、一応簡単な解説図を作ってきた。
![CANoeデータベースインポートウィザード概要、シミュレーション設定、CANネットワーク、データベース、インポートウィザード、データベースインポートウィザードの定義、利用可能ノード、割り当て済みノード、dbcで定義したノードが自動生成](https://www.simulationroom999.com/blog/wp-content/uploads/2022/01/02_CANoeデータベースインポートウィザード概要-1024x686.png)
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
ほうほう。
こんな感じでやるのか。
CANoe.IL機能一端
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
これで、必要なネットワークノードがCANoe上に作成されたことになる。
ちなみに、この状態でもdbcで定義したCANメッセージが指定の周期で各ノードから送信される。
今回だと1ms周期で各ノードから1つ、合計3つのCANメッセージが送信されるね。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者03アップ.png)
え?
これだけでCANメッセージの送信ができるようになっちゃうの?!
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
なっちゃうの。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まぁCANメッセージに載せたシグナルを更新していないんで、全部デフォルト値の0値になってるけどね。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
もしかして、これがCANoe.IL機能ってやつ?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
そうそう。
ILはInteraction Layerの略で利用者側にCAN送信/受信を意識させずに
シグナルだけを意識させることで相互運用だけに着目したツールの使い方ができる。
って感じだ。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
わざわざCAN送信したり、CAN受信した際に何かしたりってのが気にしなくて良い。
って感じ?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/まるフクロウ.png)
その認識でOKだ。
![フクさん](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)
まとめだよ。
- dbcファイルが出来上がったのでCANoeのデータベースインポートウィザードを使ってみた。
- dbcを読み込むことでdbc内で定義されているネットワークノードをCANoeに割り当てることが可能。
- 生成されたノードはdbcで定義されたCANメッセージを同じく定義された送信周期で送信可能。
- CANoe.IL機能の一端。
バックナンバーはこちら。
コメント