「テスターのテスト」またはゲートウェイテストを目的としたECUのベーシックダイアグノスティックシミュレーション
CANoe Quick Tip
CANoeの診断機能セット(DFS)は、診断レベルで電子制御ユニット(ECU)を非常に簡単にシミュレートする方法を提供します。これは、次のような場合に非常に役立ちます。
- 実機ECUが利用できない場合に、ECU向けの自動診断テストを作成する場合
- 実機ハードウェアを使用したゲートウェイECUの診断ルーティング機能をテストする場合
この機能で何ができますか?|どのような課題を解決できますか?
ECUの診断動作をシミュレートするには、物理レイヤーに加えて、少なくとも2つの追加の通信レイヤー、すなわちトランスポートプロトコル(TP)レイヤーとアプリケーションレイヤー(ここでは診断)が必要となります。TPレイヤーは使用されるネットワーク(CAN、LIN、FlexRay、車載Ethernet)に依存し、診断レイヤーは対応する診断データベースで定義されているサービスに依存します。このような診断データベースには、TPレイヤーおよび診断レイヤーをパラメータ化する通信パラメータも含まれています。
CANoeに組み込まれている診断チャネルは、CANoe内の診断テスター向けにこれらのレイヤーを実装しているだけではありません。おそらく、皆様はすでに「診断Window」とその機能(診断コンソール、フォールトメモリ、バリアントコーディング、ECU Control、OBD)を通じてこれらをご利用になったことがあるでしょう。また、シミュレーション機能もアクティブ化することができます。必要な操作は、診断データベースを追加し、1つのチェックボックスをオンにし、シミュレーションに使用するシミュレーションノードを選択するだけです。
アクティベーション後に、シミュレーションノードはすべての診断リクエストに対してUDS準拠のレスポンスを返し、その診断パラメーターにはデフォルト値が設定されます。この動作を実現するために、CAPL(ベクターの「Communication Access Programming Language」)を1行も記述する必要はありません。ただし、必要に応じて、シミュレーションの現実性を高めるために、診断レスポンスの内容をカスタマイズすることも可能です。
CANoeのどこにこの機能がありますか?|どのように操作を開始しますか?
CANoeの「Diagnostic/ISO TP」設定ダイアログを開き、任意のネットワークに診断データベースを追加してください。診断データベースをお持ちでない場合は、「ベーシックダイアグノスティック用データベース」を追加することも可能です。その際は、CANoeの「ベーシックダイアグノスティックエディター」で、診断パラメーターとそのデータ型を含むサービス定義を直接指定してください。
「診断データベースの使用方法」の下で、「シミュレーション方法」のチェックボックスをアクティブ化し、使用するシミュレーションノードを選択してください(図):

診断レスポンスをカスタマイズするには、シミュレーションノードにCAPLコードを追加することもできます。ECUのシリアル番号を返すための簡単なCAPLハンドラーは、次のような形になります:
on diagRequest DoorFL.SerialNumber_Read
{
diagResponse this resp;
diagSetParameter(resp, "SerialNumber", 1234567);
diagSendPositiveResponse(resp);
}
CANoeの関連トピック



