Version 1.0 2012-06-28 Restrictions Abstract Public Document このアプリケーションノートは初めて CANalyzer.J1939 を使って測定 解析を行う方のための入門書です Table of Contents 1.0 はじめに... 2 2.0 CANalyzer.J1939 の設定... 2 2.1 新規コンフィギュレーションの作成... 2 2.2 ボーレートの設定... 3 2.3 チャンネル数の設定... 3 2.4 データベースの割り当て... 4 3.0 測定 解析のための機能ブロックの設定と利用... 5 3.1 トレース Window... 5 3.2 データ Window... 6 3.3 グラフィック Window... 7 3.4 J1939 イベントフィルター (J1939 フィルターブロック )... 8 3.4.1 PG フィルター... 8 3.4.2 ノードフィルター... 9 3.5 J1939 診断モニター (DTC モニター )...11 3.6 J1939 スキャナ...12 3.7 インタラクティブジェネレーターブロック (IG)...14 4.0 よくあるご質問 (FAQ)...16 4.1 ユーザー独自の PG( メッセージ ) を追加するには?...16 4.1.1 データベースを開く...16 4.1.2 シグナルの新規作成...16 4.1.3 メッセージの新規作成とシグナルの割り当て...17 4.1.4 データベースの保存...19 4.2 簡単に J1939 のリクエストを送信するには?...19 4.2.1 J1939 スキャナを利用してリクエストを送信する...19 4.2.2 インタラクティブジェネレーターブロックを利用してリクエストを送信する...21 4.3 CANalyzer.J1939 fun でメッセージを受信してそれに対する応答メッセージを送信するには?...22 4.4 J1939 トランスポートプロトコルの送信間隔を制御するには (CAPL)?...22 5.0 参考情報...23 6.0 お問い合わせ先...23 Copyright 2013 - Vector Japan Co.,Ltd. 1
1.0 はじめに この資料では 初めて CANalyzer.J1939 を使って測定 解析を行うために必要な J1939 特有の設定や機能を説明します 測定 解析機能のための CANalyzer の基本的な利用方法は CANoe/CANalyzer クイックマニュアル に記載されておりますので 併せてご覧下さい また 本資料に書かれている機能を利用するには CANalyzer のオプション製品である オプション J1939 が必要です 2.0 CANalyzer.J1939 の設定 ここでは 測定を開始する前に必要な設定のうち J1939 特有のものに関して説明します 尚 ハードウェアの接続とチャンネル数の設定に関しては CANoe/CANalyzer クイックマニュアル をご覧下さい 2.1 新規コンフィギュレーションの作成 CANalyzer.J1939 のメインメニューの [ ファイル ]-[ 新規コンフィギュレーション ] を選択すると 下記のようなテンプレート選択ダイアログが表示されます J1939 用のテンプレート [J1939.tcw] を選択します [OK] ボタンを押すと以下のような 3 つのデスクトップやトレース Window などが含まれるコンフィギュレーションが作成されます 2
2.2 ボーレートの設定 J1939 の規格では ボーレートは 250kBaud または 500 kbaud が規定されています CANoe/CANalyzer.J1939 の Version8.0 以降のバージョンをお使いの場合は ネットワークハードウェア設定の [J1939 設定 ] で 250kbaud または 500kbaud を選択できます それ以前のバージョンをお使いの場合は ネットワークハードウェア設定の [J1939 設定 ] では 250kbaud を選択できます ( 以前のバージョンのものをお使いの場合は [ 設定 ] 画面で 500kbps に変更できます ) ネットワークハードウェアの設定は CANalyzer のメインメニューの [ 設定 ]-[ ネットワークハードウェア設定 ] を選択して表示できます [J1939 設定 ] を選択したら [ 適応 ] ボタンまたはチェックボックス選択して ボーレートを設定します 2.3 チャンネル数の設定 メインメニューの [ 設定 ]-[ オプション ] を選択すると 下記のようなオプション設定ダイアログが表示されます [ コンフィギュレーションの設定 ]-[ チャンネルの利用状況 ] を選択し CAN のチャンネル数を設定します 利用するチャンネル数はお客様のシステムに応じて適切に選択して下さい 3
2.4 データベースの割り当て メッセージの中の個々のデータを分かりやすく表示するためには CANalyzer にメッセージの定義情報であるデータベースを登録する必要があります CANalyzer.J1939 にはサンプルデータベースが付属しています サンプルデータベースファイル J1939.dbc には J1939 規格で定義されたメッセージが含まれています サンプルのデータベースは サンプルコンフィギュレーションをインストールしたディレクトリーの下のディレクトリー <Demo_J1939_CL\Database> 中に存在します CANalyzer Version7.6 の場合のデフォルトのインストールフォルダ : <C:\Documents and Settings\All Users\Documents\Vector\CANalyzer\7.6\CANalyzer Demos> 以下の手順でデータベースを割り当てます メインメニューの [ ファイル ]-[ データベースを関連付け ] を選択し データベース管理 Window を表示します 次に データベース管理 Window で [ チャンネル 1]-[ データベースを追加 ] を選択します 次に J1939.dbc 選択します 作成済みのデータベースを持っている場合は そのデータベースファイルを選択します 4
3.0 測定 解析のための機能ブロックの設定と利用 ここでは J1939 の PG( メッセージ ) を測定 解析の機能で J1939 特有の機能と設定を紹介します 3.1 トレース Window トレース Window のカラムには PGN( パラメーターグループナンバー ) Src( ソースアドレス ) Dest( デスティネーションアドレス ) Prio( プライオリティ ) などの J1939 特有の情報が表示されます トレース Window のカラムを個別に表示 非表示にできます また J1939 特有のカラムを選択して追加できます カラムを右クリックして [ カラム設定 ] を選択するとカラム設定ダイアログが表示されます (J1939 テンプレートを使用してコンフィギュレーションを作成した場合は J1939 特有のカラムがデフォルトで追加されます ) 5
3.2 データ Window データ Window には SA( ソースアドレス ) と DA( デスティネーションアドレス ) J1939 インジケーターのカラムが追加できます 複数のノードから同じパラメーターグループ ( メッセージ ) が送信されている場合に 同じ名前のシグナルの送信元アドレスが簡単に判断できます シグナルは データ Window 上で右クリックし [ シグナルを追加 ] を選択し 追加できます J1939 インジケーターは シグナルの値に応じて 緑色 : 有効な値 黄色 : 無効な値 赤色 : エラーのアイコンが表示されます また データ Window 上でシグナルを選択し 右クリックをして [ 編集 ] を選択すると編集ダイアログが表示されます このダイアログでは 各シグナルの送り元アドレス (SA), 送り先アドレス (DA) を指定できます この設定は データベースに定義されたパラメーターグループ ( メッセージ ) のアドレスが未定義 (*NULL) の場合に指定できます この設定は 1 つのノードが複数のノードに対して同じ種類の PG( メッセージ ) を送信している場合と 複数のノードから同じ種類の PG が送信されている場合に利用します 6
3.3 グラフィック Window グラッフィック Window はシグナルを視覚的に分かりやすく表示し データの傾向が判断できます 指定した測定点の値と 2 点間の差分も表示できます グラフィック Window で右クリックをして [ 設定 ] を選択するとグラフィックの設定ダイアログが表示されます [ 設定 ]-[ シグナルリスト ] を選択すると 登録されているシグナルの一覧が表示されます シグナルリストのカラムには J1939 インジケーターのカラムがあります このチェックボックスを有効にすると 登録したシグナルは J1939 規格のシグナルコーディングに従って解釈されます シグナル値が Not available の場合には グラフにデータは表示されず 最後の有効範囲内の値が破線で表示されます 7
3.4 J1939 イベントフィルター (J1939 フィルターブロック ) J1939 イベントフィルターを利用して トレース Window に見たいメッセージだけを測定し表示できます J1939 イベントフィルターは測定設定 Window の各機能ブロックの前のホットスポットを右クリックして [ イベントフィルターを挿入 ]-[J1939] を選択して追加できます 追加した [JFB] のブロックをダブルクリックすると J1939 フィルターブロックの設定画面が表示されます イベントフィルターには PG フィルターと ECU フィルターの 2 種類のフィルターがあります 通過フィルター / ブロックフィルターを設定し 特定 PG や特定の ECU に対して送信される PG などをフィルタリングできます 3.4.1 PG フィルター J1939 フィルターブロックの [PG フィルター ] タブを選択し フィルターブロックの [ 編集 ] メニューから [ データベースから追加 ]/[PG フィルターを追加 ]/[PG 範囲フィルターを追加 ] のいずれかを選択してフィルター設定を追加します 8
下の画面は [ データベースから追加 ] を選択して PG フィルターを設定したものです 必要に応じて ソースアドレス デスティネーションアドレスも設定します 3.4.2 ノードフィルター ノードフィルターは特定のノードで送受信される PG だけを表示させる場合や 特定のノードの送受信される PG だけを表示させないようにするために利用できます J1939 フィルターブロックの [ ノードフィルター ] タブを選択し フィルターブロックの [ 編集 ] メニューから [ データベースから追加 ] または [ ノードフィルターを追加 ] のどちらかを選択してフィルター設定を追加します 9
下の画面は [ データベースから追加 ] を選択して ECU フィルターを設定したものです 必要に応じて プロパティも設定します 10
3.5 J1939 診断モニター (DTC モニター ) J1939 DTC モニターは ECU が送信する J1939-73 既定の診断メッセージを視覚的に分かりやすく表示します 各 ECU のアドレス毎に異常機能や警告などの状態を表示できますので 車両内の各 ECU の状態を一目で把握できます Window 下部のタブに現在有効な DTC や DTC の履歴の内容が表示されますので 各 ECU の状態をより詳細に監視できます また さまざまな診断メッセージをこの Window からリクエストできます DTC モニターは 測定設定 Window に追加します 測定ウィンドウの機能ブロックを選択し 右クリックすると下記のようなコンテキストメニューが表示されます [J1939 診断モニターを挿入 ] を選択し 追加します 追加したブロックをダブルクリックすると J1939 診断モニターが表示されます 赤枠で囲まれたメッセージアイコン隣の矢印をクリックするとコンテキストメニューが表示されます コンテキストメニューはタブ毎に表示される項目が異なります ノードを選択した場合は 選択したノードに対してリクエストが送信されます ノードが選択されていない場合は リスト表示されている全てのノードに対して個別にリクエストが送信されます [ グローバル ] を選択した場合はグローバルアドレス宛に送信されます 11
3.6 J1939 スキャナ J1939 スキャナは J1939 規格では必須機能であるアドレスクレームの情報を元に ネットワーク上に存在する ECU とそのアドレス さらにアドレスの変化を分かりやすく表示します J1939 スキャナは 測定設定 Window に追加します 機能ブロックを選択し 右クリックすると下記のようなコンテキストメニューが表示されます [J1939 スキャナを挿入 ] を選択し 追加します 追加したブロックをダブルクリックすると J1939 スキャナが表示されます J1939 スキャナの [ システム ] タブを選択し 表示されたネットワークノードを選択すると 右側にデバイス名などが表示されます 12
[ ノード ] タブを選択すると アドレスを取得した時間が表示されます 13
3.7 インタラクティブジェネレーターブロック (IG) インタラクティブジェネレーターブロックは メッセージを送信するための機能です 周期送信やボタンやキーを押しての送信など さまざまな方法でメッセージを送信できます インタラクティブジェネレーターブロックは 測定設定 Window の送信ブランチに追加します 送信ブランチの四角いボックス ( ホットスポット ) を右クリックするとコンテキストメニューが表示されます [ インタラクティブジェネレーターブロックを挿入 ] を選択すると IG のブロックが追加されます IG のブロックをダブルクリックすると IG の Window が表示されます IG でメッセージを送信するためには 送信するメッセージを登録する必要があります IG の [ 新規 ] ボタンを押すと [ メッセージおよびバスイベントの選択 ] 画面が表示されますので ここでメッセージを選択します 画面の上部にあるテキストボックスにメッセージ名の一部を入力して 双眼鏡のアイコンをクリックするとメッセージを検索できます 14
オプション J1939 の場合 [J1939] タブを選択できます Prio( プライオリティ ) SRC( ソースアドレス ) DST( デスティネーションアドレス ) EDP DP など J1939 特有のフィールドを自由に設定できます IG の下半分の画面には メッセージの中のデータ ( シグナル ) が表示され ここで値を設定します 下の図でオレンジ色に強調されているシグナルは J1939 のシグナルコーディングに基づき Not Available と解釈されたものです 15
4.0 よくあるご質問 (FAQ) 4.1 ユーザー独自の PG( メッセージ ) を追加するには? データベースにユーザー独自の PG を追加できます 追加方法は下記の手順で行います データベースを開く シグナルの新規作成 メッセージの新規作成とシグナルの割り当て データベースを保存 既に CANalyzer のコンフィギュレーションを作成し データベースが割り当てられていることを想定し手順を示します ここでは 名前が UserPG PGN が 0xFF01 ソースアドレスが 0x08, プライオリティが 6 である PG を追加します また メッセージ長は 1 バイト シグナルは 8 ビットの符号なしデータで名称は UserData とします 4.1.1 データベースを開く CANalyzer のデータベース管理 Window を選択し 割り当てたデータベースをダブルクリックします Vector CANdb++ エディターが起動され データベースが表示されます 4.1.2 シグナルの新規作成 左側のツリービューの [ シグナル ] を右クリックして [ 新規 ] を選択します シグナル編集ダイアログが表示されるので [ 名前 ] に UserData を入力し [ 値タイプ ] は Unsigned を選択し [OK] ボタンを押します 16
4.1.3 メッセージの新規作成とシグナルの割り当て 左側のツリービューの [ メッセージ ] を右クリックして [ 新規 ] を選択します メッセージ編集ダイアログが表示されるので [ 名前 ] に UserPG と入力し [DLC] を 1 に変更します さらに [ID] の入力ボックスの右側のボタンを押し ID 編集ダイアログを表示させます ここでは [PGN] を 0xFF01 優先度を 0x06 送信側を 0x08 に設定します また メッセージの [ タイプ ] は J1939 PG(ext.ID) を選択します 17
次に メッセージ編集ダイアログの [ レイアウト ] を選択し [ 追加 ] ボタンを押します シグナルを選択するダイアログが表示されるので [ 値 ] の入力ボックスに UserData と入力し [ フィルター ] ボタンを押します 登録したシグナルがリストボックスに表示されるので UserData を選択し OK ボタンを押します 以下のように割り当てられたら [OK] ボタンを押して メッセージの編集を終了します 以上の手順で下記のようにメッセージが登録されます 18
4.1.4 データベースの保存 データベースにメッセージを追加したら [ ディスク ] アイコンをクリックして保存します 4.2 簡単に J1939 のリクエストを送信するには? 簡単に J1939 のリクエストを送信する方法は下記の 2 通りの方法があります J1939 スキャナを利用する方法 インタラクティブジェネレーターブロックを利用する方法 ここでは アドレス 0xF9 の ECU A からアドレス 0x01 の ECU B に対して EEC1(0x00F004) をリクエストする例を示します 4.2.1 J1939 スキャナを利用してリクエストを送信する この方法は リクエストの宛先のノードからのメッセージを J1939 スキャナが受信している場合にのみ利用できます 初めに J1939 スキャナを表示し アドレス 0x01 のノードが表示されていることを確認してノードを選択します 19
次に 右側に [ パラメーターグループをリクエスト ] の項目を表示し EEC1 を選択し [PG をリクエスト ] ボタンを押します リクエストに対する応答を受信すると 受信データは下記のように表示されます 20
4.2.2 インタラクティブジェネレーターブロックを利用してリクエストを送信する インタラクティブジェネレーターブロックの追加方法は 3.7 章の インタラクティブジェネレーターブロック を参照してください ここでは リクエストメッセージの選択とデータの設定方法を説明します データベースはサンプルデータベース J1939.dbc が割り当てられているものとして説明します IG の Window を表示し [ 新規 ] ボタンを押します [ メッセージおよびバスイベントの選択 ] 画面が表示されますので ここでメッセージを選択します 画面の上部にあるテキストボックスに RQST と入力して 双眼鏡のアイコンをクリックするとメッセージが選択されます [OK] ボタンを押し IG のリストに登録します 次に ソースアドレス (SRC) に 0xF9 デスティネーションアドレス (DST) に 0x01 ParameterGroupNumber に 0xF004 を入力し 設定は完了です 21
測定を開始して IG の送信トリガーの [ 今すぐ ] ボタンを押して リクエストが送信されることを確認します 4.3 CANalyzer.J1939 fun でメッセージを受信してそれに対する応答メッセージを送信するには? メッセージを受信して任意のメッセージを送信するためには CAPL でプログラミングする必要があります そのため CANalyzer.J1939 pro が必要になります 4.4 J1939 トランスポートプロトコルの送信間隔を制御するには (CAPL)? output() 関数で J1939 トランスポートプロトコルのデータを送信する場合 送信間隔は固定です 送信間隔を制御したい場合は CAPL を用いて J1939 トランスポートプロトコルをプログラミングする必要がございます 22
5.0 参考情報 CANoe/CANalyzer クイックマニュアル (pdf) QM-JSP-10801-1 CANoe/CANalyzer -ファーストセットアップ(Web ページ ) 6.0 お問い合わせ先 ベクター ジャパン株式会社 ( 東京本社 ) 140-0002 東京都品川区東品川 2-2-20 天王洲郵船ビル 16F ( 名古屋支社 ) 460-0008 愛知県名古屋市中区栄 4-5-3 KDX 名古屋栄ビル 9F URL: http://www.vector-japan.co.jp 営業部 ( 東京 ) TEL: 03-5769-6980 FAX: 03-5769-6975 ( 名古屋 ) TEL: 052-238-5020 FAX: 052-238-5077 E-mail: sales@jp.vector.com カスタマーサポート部 ( 東京 ) TEL: 03-5769-6971 E-mail: Support@jp.vector.com 23