バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/
はじめに
CANoeの仮想HILS化に向けてネットワークノード、CAN周りの定義をすべくdbcファイルの作成を始めた。
前回は、とりあえずCANdb++エディターの起動方法やプロトコルの設定まで。
引き続きdbcファイル作成の話が続く。
登場人物
博識フクロウのフクさん
イラスト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
CANdb++エディターで各種定義
前回に引き続きCANdb++エディターによるdbcファイルの作成についてだね。
うん。
手順としては以下だ。
- シグナルの定義
- CANメッセージの定義とシグナルのアサイン(データフィールド上のレイアウト)
- ノードの定義とCANメッセージのアサイン
うーん、言葉で言われても・・・。
じゃー、これでどうだ。
まぁ雰囲気は分かって来たかなー。
細かく言うと
まぁ細かく言っていくと、以下だな。
- 左のツリーのシグナルを右クリック→新規でシグナルの作成
- シグナルはCurrent、Speed、Targetの3つ。
- それぞれ32bit長、Motorola、Signedのシグナル
- シグナルはCurrent、Speed、Targetの3つ。
- 左のツリーのメッセージを右クリック→新規でメッセージの作成
- メッセージはCommand、Sensor、Voltageの3つ。
- Command:ID 0x111、DLC 8、周期時間 1
- Targetシグナルをアサイン。
- Voltage:ID 0x222、DLC 8、周期時間 1
- Voltageシグナルをアサイン。
- Sensor:ID 0x333、DLC 8、周期時間 1
- Speedシグナルをアサイン。
- Command:ID 0x111、DLC 8、周期時間 1
- メッセージはCommand、Sensor、Voltageの3つ。
- 左のツリーのネットワークノードを右クリック→新規でノードを作成
- ノードはCommander、Controller、Plantの3つ
- 各ノードのTxメッセージにCANメッセージを登録
- Commander:Command(0x111)
- Controller:Voltage(0x222)
- Plant:Sensor(0x333)
- 各ノードのTxメッセージにCANメッセージを登録
- ノードはCommander、Controller、Plantの3つ
まぁこれを見ながら一個ずつやっていくかー。
そういえば、「周期時間 1」って何?
CANdb++エディターから編集できないんだけど・・・。
あ、そうか。忘れてた。
メッセージをダブルクリックで詳細がでるんだけど、
上部のタブに属性ってのがあるんだよ。
これの中に「GenMsgCycleTime」ってパラメータがあるんで、
この部分を1にすればOKだ。
ちなみに、ここの数値は何に影響するの?
送信周期だね。
単位はmsなんで、1[ms]でCANメッセージが送信される。
って意味になる。
まぁこれをうまく使うにはCANoe.IL機能ってのを使うのだけど、
それはCANoeを使い始めた時に話そう。
まぁ後で教えてもらえるならとりあえず言われた通りの設定にしておこう。
まとめ
まとめだよ。
- CANdb++エディターで各種定義を実施。
- シグナル、メッセージ、ノードの順番で定義していく。
- メッセージの周期時間は送信周期を示す。
- 単位は[ms]。
- 属性の「GenMsgCycleTime」パラメータを修正することで変更可能。
- CANoe.IL機能を使用する時に生きてくるパラメータ。
バックナンバーはこちら。
コメント