【DoCAN】車両診断通信 その58【UDS⑱】

車両診断通信

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

スポンサーリンク

はじめに

ISO14229ことUDSの話。
ReadDataByIdentifierサービスのメッセージについて。

スポンサーリンク

登場人物

博識フクロウのフクさん

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

スポンサーリンク

ReadDataByIdentifierサービスのリクエストメッセージ

フクさん
フクさん

じゃ、早速だけど、
ReadDataByIdentifierサービスのリクエストメッセージはこんなん。

PositionParameter NameValue
1ReadDataByIdentifier Request SID0x22
2~3dataIdentifier#10xFFFF
n~n+1dataIdentifier#m0xFFFF
太郎くん
太郎くん

dataIdentifierってDIDだっけ?
これを元に読みだすパラメータが決まるってやつ。

フクさん
フクさん

そうそう。
良く覚えてたね。

太郎くん
太郎くん

あれ?
DIDって複数送れるの?

フクさん
フクさん

うん。
まぁ完成車メーカ依存の仕様としての個数制限とか
レスポンスメッセージ長の都合でエラーになることもあるけど。

太郎くん
太郎くん

完成車メーカ依存の仕様はわかるけど、
「レスポンスメッセージ長の都合でエラー」ってのは?

フクさん
フクさん

1DIDで結構な長さの電文になることがあるんだけど、
DIDの個数が多いとその分必要な電文長が長くなる。
その結果、ECU側で内包している送信バッファサイズ
ISO15765-2で規定されている4095byteを超えるようだとエラー。
ってだけ。

太郎くん
太郎くん

あー。言われてみればそうだね。

スポンサーリンク

ReadDataByIdentifierサービスのレスポンスメッセージ

フクさん
フクさん

次はレスポンスメッセージ。

PositionParameter NameValue
1ReadDataByIdentifier Response SID0x62
2~3dataIdentifier#10xFFFF
4~xdataRecord#1XXXX
n~n+1dataIdentifier#m0xFFFF
n+2~xdataRecord#mXXXX
太郎くん
太郎くん

うーん、表からだとちょっとイメージ湧かないけど、
DIDの後に欲しいデータことdataRecordが来て、複数のDIDを要求されていると
必要数分、その並びが出来る感じかな?

フクさん
フクさん

そうだね。

太郎くん
太郎くん

そういえば、このdataRecordの長さって決まってるの?

フクさん
フクさん

決まってない。
完成車メーカの方でDID毎に自由に決めてるね。

太郎くん
太郎くん

そうすると、複数DIDで要求すると
レスポンスメッセージのどこが次のDIDかわからなくない?

フクさん
フクさん

電文からだと分からないねー。
ここは読み出す側が知っていること前提になるよ。

太郎くん
太郎くん

え?そうなの?
複数DIDで読み出せるのは便利と思う反面、
実際に読み出す場合、実は結構面倒だったり?

フクさん
フクさん

そうだねー。
ここら辺は別の定義ファイル等を読み込んで
DID長とかをオフボードテスタ―が事前に知っている必要はあるね。
それを嫌って複数DIDでは読み出さないようなツールもあるといえばある。

太郎くん
太郎くん

へー。

スポンサーリンク

まとめ

フクさん
フクさん

フクさん:
まとめだよ。

 

  • ReadDataByIdentifierサービスのリクエストメッセージの説明。
    • 複数DIDが設定できる。
    • 設定できるDIDの個数制限がある場合があり、それを超えるとエラー。
    • レスポンスメッセージが4095byteを超える場合もエラー。
  • ReadDataByIdentifierサービスのレスポンスメッセージの説明
    • DIDとdataRecordの組み合わせ。
    • 複数DIDの場合は上記組み合わせが複数一つの電文に載る。

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

コメント

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