CAN のメッセージを編集・送信・受信する
このページでは、TestRunner の GUI から手動で CAN 通信のメッセージを編集・送信する操作を行う方法、および送受信メッセージの確認方法を説明します。
事前準備
- テスト実行の前提条件 が満たされていることを確認してください。
- [ファイル] > [各種設定] > [CAN 通信設定] で使用するツールの設定を追加し ch を有効にしてください。
- CAN 通信の設定については リファレンスを参照してください。
GUI から CAN メッセージを編集する
ここでは手動送信について記載します。手動送信の詳細や定期送信についてはリファレンスを参照してください。
CAN 通信設定を有効にすると、[操作] ペインに CAN 送信パネルが表示されます。
送信できるデータサイズは 0~8 byte です。
リストを右クリックし、[行の追加] を行います。
新規行が追加されます。
追加された行の各セルをダブルクリックし、テキストを編集します。
[Message] 列は任意の文字列を入力できます。メッセージの定義名を任意に入力してください。
[ID] 列は送信するメッセージの ID を入力します。
- 11 bit ID の場合、0x0~0x7FF の範囲で 16 進数表記の値を入力してください。
- 29 bit ID の場合、0x0~0x1FFFFFFF の範囲で 16 進数表記の値を入力してください。
- 不正な値の場合、入力値は破棄されます。
[DataX] 列は送信するデータを入力します。1 セルにつき、1 byte のデータを入力します。
- 0~9 , A~F の 16 進数表記でデータを入力してください。不正な値の場合、入力値は破棄されます。
編集が完了したら、[ファイル] > [プロジェクトを上書き保存] から編集したデータを保存します。
DBC ファイルのシグナル定義から CAN メッセージを編集する
CAN 通信設定で DBC ファイルを設定している場合は行を選択した際に、送信パネル下部の詳細パネルにシグナル定義が表示されます。
Note
[Physical Value] は浮動小数点値で表現されますが、[Factor] と同じ桁数に切り捨てて表示されます。
[Physical Value] 列および [Raw Value] 列が編集可能です。編集した場合、送信パネルの選択行に反映されます。
詳細パネルのサイズはスプリッターをドラッグすることで調整できます。
DBC ファイルが設定されていない場合や、[ID] に対応するシグナルが存在しない場合はリストは表示されません。
Physical Value 列の編集
[Physical Value] 列は負の値を含む整数及び小数が入力可能です。
[Physical Value] 列を編集した場合、[Factor] と [Offset] の値から [Raw Value] に変換し、選択行のメッセージに反映されます。
Note
入力時の注意事項はリファレンスを参照してください。
Raw Value 列の編集
[Raw Value] 列には 16 進数の値が入力可能です。[Raw Value] は [Length] の値によって 1 byte 単位で表示されます。byte 単位でのサイズを超える入力はエラーになります。
[Raw Value] 列を編集した場合、編集したデータが選択行のメッセージに反映されますが、[Length] 以上の bit データは反映されません。
CAN メッセージを送信する
[テスト開始]ボタンでテストを開始します。
CAN デバイスに正常に接続できた場合は、[テスト終了] に切り替わります。
送信したい行を選択します。色が変わっている行が選択されている行です。
送信したいチャンネルを選択します。ラジオボタンで選択ができます。
[送信] ボタンを押下すると、選択された行のデータが送信されます。
送信したデータは、[CAN] ペインに表示されます。
送信したデータは [Direction] に ”Send” が表示されます。
CAN メッセージを受信する
テスト実行中に受信したメッセージは、送信メッセージと同様に [CAN] ペインに表示されます。
受信したメッセージは [Direction] に ”Receive” が表示されます。
CAN メッセージの詳細を確認する
CAN 通信設定で DBC ファイルを設定している場合はデータ行を選択した際に、[CAN] ペイン下部に詳細パネルが表示されます。
使用する DBC ファイルは選択行の [Identification Name] [Ch] [ID] から決定されます。
詳細パネルのサイズは中央のスプリッターをドラッグすることで調整できます。
DBC ファイルが設定されていない場合や、ID に対応するシグナルが存在しない場合はリストは表示されません。
Note
[CAN] ペインのデータは編集できません。
定義ファイルを直接編集する
GUI 上で編集したメッセージはメッセージ定義ファイルに保存されます。
メッセージ定義ファイルは CSV 形式のファイルです。テキストエディタ等で直接編集できます。
メッセージ定義ファイルは <プロジェクトルート>\Settings\CanMessage_X.csv (X は CAN 設定の識別名) に保存されます。
定義ファイルを Excel やテキストエディタ等で開き、編集を行います。
- 先頭行はヘッダ行です。GUI には反映されません。任意の文字を入力してください。
- 先頭列は GUI 上の [Message] 列に相当します。任意の文字を入力してください。
- 2 列目は GUI 上の [ID] 列に相当します。
- 16 進数で表記してください。各データの先頭に ”0x” は不要です。
- 11 bit ID の場合、0x0~0x7FF の範囲で記載してください。
- 29 bit ID の場合、0x0~0x1FFFFFFF の範囲で記載してください。
- 3 列以降が [DataX] に相当します。1 byte 単位で ”,”(カンマ) 区切りで送信データを記述してください。
- 16 進数で表記で記載してください。各データの先頭に ”0x” は不要です。
ファイルを保存し、同様に <プロジェクトルート>\Settings 以下に配置してください。
禁止
🚫 ファイル名は変更しないでください。
TestRunner を起動し、プロジェクトを読み込むと <プロジェクトルート>\Settings 以下にあるメッセージ定義ファイルが読み込まれ、CAN 手動送信パネルに表示されます。
Note
記述時の注意事項は 設定ファイルについて を参照してください。
メッセージフィルタを設定する
TestRunner の GUI から手動で CAN 通信のメッセージを編集・送信する操作に必須の設定ではありません。
ここでは受信した CAN メッセージに対し、フィルタリングを行いログに保存する設定について説明します。
メッセージフィルタ設定ダイアログの表示ボタンを押下します。
表示されたダイアログからメッセージフィルタの設定を行います。
下部の表 (ユーザー定義) に右クリックでフィルタするメッセージを追加します。
上部の表 (DBC 定義) には、DBC ファイルを CAN 通信設定で設定していた場合、DBC ファイルの内容が表示されます。
有効のチェックボックスにチェックを入れ、ID を入力します。
パスフィルタに設定し保存します。
メッセージフィルタを有効にします。
テストを開始します。
テスト中に受信したメッセージのうち、フィルタに設定したメッセージ (今回は ID:0x100) は受信に表示されます。設定していないメッセージ (例として ID:0x200) は受信したとしても CAN ペインに表示されません。
Note
ストップフィルタに設定していた場合、逆の挙動となります。フィルタに設定したメッセージ (今回は ID:0x100) は受信したとしても CAN ペインに表示されません。設定していないメッセージ (例として ID:0x200) は CAN ペインに表示されます。