バックナンバーはこちら。
https://www.simulationroom999.com/blog/diagnostic-communication-backnumber/
はじめに
ISO14229ことUDSの話。
UDSの機能単位の内の、
Stored Data Transmission
Input/Output Control
について。
登場人物
博識フクロウのフクさん
![](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
Stored Data Transmission
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
次はStored Data Transmission。
Service | SID | Description |
---|---|---|
ClearDiagnosticInformation | $14 | 診断情報(DTC,フリーズデータ)をクリア |
ReadDTCInformation | $19 | 診断情報(DTC,フリーズデータ)を要求 |
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
今回のはずいぶん少ないね。
診断情報のクリアと要求ってことで、
診断情報ってのがポイントになるのかな?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
そうだね。
DTC(Diagnostic Trouble Codes)こと故障コードとフリーズデータが診断情報ってことになる。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
故障コードって具体的にはどんな感じなの?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
基本的には16bit長のコードなんだけど、
UDSとしては24bit長フォーマットを前提としている。
ともにSAE-J2012という規格で定義されているが、
細かい話をし出すと結構なボリュームになるんだよねー。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」20アップ.png)
まじか。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まぁDTCに関してはVector社の「はじめての診断」の「DTCとステータス」のところでも触れてるんで、
そのレベルの認識で良いかな。
Vector社の「はじめての診断」
![太郎くん](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/「技術者a」13アップ.png)
スナップショット?
何に使うの?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
故障の原因調査用だね。
DTCからでも結構予測は付くことは多いんだけど、
さらに詳細に調査しようと思うと、故障した瞬間、またはその直前に何があったかを知りたいじゃん?
それのヒントのようなものだね。
さすがにあらゆるデータを格納ってわけにはいかないんで、必要最低限の主要なデータのみになるけど。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者03アップ.png)
おー。
確かにそういうのがあると、原因究明の大きなヒントにはなるね。
Input/Output Control
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
次のInput/Output Controlはサービスとしては1種類のみ。
Service | SID | Description |
---|---|---|
InputOutputControlByIdentifier | $2F | I/O制御要求 |
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
これはまたシンプルだねー。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/考え中フクロウ.png)
でも機能としては結構メンドクサイタイプだね。
何しろ、I/O制御要求だから通信だけの実装じゃ話は終わらないね。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者03アップ.png)
確かに!
![太郎くん](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/「技術者a」13アップ.png)
検査用?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
うん。
部品交換したはいいけど、
車両を走らせてみないと大丈夫かどうかわからないじゃ怖いよね。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者03アップ.png)
あ、確かに!
車両を動かさなくても、単発で何かしらのアクチュエータを制御して動作確認するためのものか!
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
そうそう。
![太郎くん](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/技術者02アップ.png)
一台一台全部走って確認じゃ大変だし、危ないしね。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
あと、このサービスは動作条件とかもシビアだったりするね。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
動作条件?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
車両が走っている最中に強制的にI/O制御されるとどうなる?
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」10アップ.png)
むっちゃ危ない!!
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
よって、車速が0[km/h]でなければ拒否したり、
I/O制御中に車速が0[km/h]以外になったらI/O制御を自動キャンセルしたりする。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」10アップ.png)
なんか本当に通信以外で気を付けることが多い感じだね。
まとめ
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まとめだよ。
- Stored Data Transmissionの説明。
- DTC及びフリーズデータの取得とクリア。
- Input/Output Controlの説明。
- ECUのI/O制御。
- 便利な反面、車両状態によっては危険なこともあるので、セーフティ機能含めて考える必要があるサービス。
バックナンバーはこちら。
コメント