バックナンバーはこちら。
https://www.simulationroom999.com/blog/diagnostic-communication-backnumber/
はじめに
ISO14229ことUDSの話。
WriteDataByIdentifierサービスの具体的な電文について。
登場人物
博識フクロウのフクさん
![](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
![](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
前提となるDIDリソース状態
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
ReadDataByIdentifierサービスの時と同じようにDIDを先に定義しておこう。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者02アップ.png)
マルチDIDとかは無いから1個でいいんじゃない?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
そうだね。一個だけ定義しよう。
- 0x1234:2byte
送受信
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
定義したDIDを使用した送受信がこんなん。
Req:0x2E 0x12 0x34 0x01 0x02
Res:0x6E 0x12 0x34
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
うーん、驚くほどシンプルだねー。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
実際はセッション移動とかセキュリティ解除が必要になるけどね。
このサービスだけの電文としてはシンプルだね。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」10アップ.png)
そうか、セッションとセキュリティの存在を忘れてた・・・。
NRC含めた送受信
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/考え中フクロウ.png)
もう1パターンやっとくか。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
え?他の通信方法もあるの?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
通信としては一緒なんだけど、NRC$78が入るパターン。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
あー、それは見ておきたい!
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
こんな感じ。
NRC$78は2回入る想定。
Req:0x2E 0x12 0x34 0x01 0x02
Res:0x7F 0x2E 0x78 // ResponsePending(P2*タイマへ移行)
Res:0x7F 0x2E 0x78 // ResponsePending(P2*タイマリセット)
Res:0x6E 0x12 0x34
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
なるほど。
こんなイメージになるのか・・・。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」20アップ.png)
これってオフボードテスタ―側もECU側も結構大変な気がするなー。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
まぁNRC$78仕様はWriteDataByIdentifierサービスに限ったものじゃないで、
結構初期に解決する問題なんだよねー。
だから、あんまり大変とは思ってないかも。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
え?そうなの?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
明確なものは実装難度が高くても設計検証内容が明確なんで
結果的にはそれほど怖くないね。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
ほー。そういうものなのかー。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
一通りシミュレーションで扱うサービスは説明したから
次回から、シミュレーションの構成とかどうCanTpとDcmを繋いでいくかとかの話に突入だな。
まとめ
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まとめだよ。
- WriteDataByIdentifierサービスの具体的送受信例。
- NRC$78を含めた送受信例も。
バックナンバーはこちら。
コメント