【DoCAN】車両診断通信 その48【UDS⑧】

【DoCAN】車両診断通信 その48【UDS⑧】 車両診断通信

バックナンバーはこちら。
https://www.simulationroom999.com/blog/diagnostic-communication-backnumber/

はじめに

ISO14229ことUDSの話。
UDSシミュレーションで使用するサービスについて。

登場人物

博識フクロウのフクさん

イラスト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

UDSシミュレーションで使用するサービス。

フクさん
フクさん

さて、UDSシミュレーションに向けていろいろ始めるんだけど、
先に使用するサービスを決めておこう。

太郎くん
太郎くん

全部はやらないの?

フクさん
フクさん

全部やれた方が良いんだけど、
それはそれでいろいろ大変なんだよねー。
全サービスを説明して、それを全部シミュレーションするのって。

太郎くん
太郎くん

確かに結構な数あったもんね・・・。

フクさん
フクさん

とりあえず、私の方でピックアップしておいた。

ServiceSIDDescription
DiagnosticSessionControl$10診断セッションの制御
SecurityAccess$27セキュリティアンロック
TesterPresent$3Eオフボードテスタの存在の通知。(セッション維持等に利用)
ReadDataByIdentifier$22DataIdentifierによって識別されるレコードの現在値の読み取み
WriteDataByIdentifier$2EdataIdentifierで指定されたレコードの書き込み

UDSシミュレーションの基本フロー

太郎くん
太郎くん

この5つのサービスを選んだ理由とかあるの?

フクさん
フクさん

うん。
診断通信の基本的なフローを再現できる組み合わせを意識した。

太郎くん
太郎くん

どんなフローになるの?

フクさん
フクさん

今考えてるのはこんなの。

①DiagnosticSessionControlで非デフォルトセッションへ移動
②SecurityAccessでセキュリティアンロック
③TesterPresentでセッション維持
④ReadDataByIdentifierで特定データ読み出し
⑤WriteDataByIdentifierで特定データの書き換え

WriteDataByIdentifierはセキュリティアンロック状態じゃないと使えないという設定にしておく。

太郎くん
太郎くん

なるほど。
ReadDataByIdentifierとWriteDataByIdentifierで読み書きをするってのが目的なんだけど、
WriteDataByIdentifierを実現するためにはセッション移動とセキュリティアンロックが必要って流れだね。
確かに組み合わせとして面白そう。

各サービスのリクエストメッセージとレスポンスメッセージ

フクさん
フクさん

というわけで、上記5つのサービスに絞った
リクエストメッセージとレスポンスメッセージを次回から順次説明していこうと思う。

太郎くん
太郎くん

またCANフレームにどうのるとかって感じ?

フクさん
フクさん

CANフレームまでの説明はしない予定。
CANフレームへの分割はISO15765-2の時に説明したし、
各フレームパターンはサービス依存じゃなくてメッセージ長依存なんで、
今回は触れない。

太郎くん
太郎くん

そういえば、メッセージ長依存だったね。
7以下だとシングルフレームのみ
8byte以上だとマルチフレームになるんだった。
これだけ覚えておけば、上位層のISO14229-1で改めて考える必要はないね。

フクさん
フクさん

まぁ実際のシミュレーションの時はASCファイルでログ取るから
最終的にはCANフレームを見ることにはなるけど、メッセージ仕様としては意識しない感じだね。

まとめ

フクさん
フクさん

まとめだよ。

  • UDSシミュレーションで実現するサービスは5つ
    • DiagnosticSessionControl。
    • SecurityAccess。
    • TesterPresent。
    • ReadDataByIdentifier。
    • WriteDataByIdentifier。
  • リクエストメッセージとレスポンスメッセージの説明の際はCANフレームまでの落とし込みはしない。
    • あくまでISO14229-1のレイヤのみでISO15765-2のレイヤの話はしない。

バックナンバーはこちら。

コメント

タイトルとURLをコピーしました