(57)【要約】【課題】検出された故障の故障情報を診断ツールに渡すのに必要な時間を短くする。【解決手段】スレーブＥＣＵ１１〜１４は、検出した故障の種別を表すＤＴＣを、マスタＥＣＵ１０に送信する〈１〉，〈６〉。マスタＥＣＵ１０は、複数種類のＤＴＣのうち、特定の用途に使用される特定ＤＴＣが記録されたテーブル２３と、スレーブＥＣＵ１１〜１４から送られて来るＤＴＣのうち、特定ＤＴＣを保存するための記憶領域２５と、を備える。マスタＥＣＵ１０は、スレーブＥＣＵ１１〜１４から受信したＤＴＣが特定ＤＴＣか否かを上記テーブル２３に基づき判定し、受信したＤＴＣが特定ＤＴＣならば〈２〉、このＤＴＣを記憶領域２５に記憶する〈３〉と共に、このＤＴＣを送信したスレーブＥＣＵに当該ＤＴＣの破棄を指示する〈４〉。また、受信したＤＴＣが特定ＤＴＣでなければ〈７〉、このＤＴＣを送信したスレーブＥＣＵに当該ＤＴＣの記憶を指示する〈８〉。【選択図】図１
2020117058.tif 000002
【特許請求の範囲】
【請求項１】
車載システムであって、
マスタ制御ユニット（１０）と、
前記マスタ制御ユニットと通信バス（３）を介して接続された複数のスレーブ制御ユニット（１１〜１４）と、を備え、
前記複数のスレーブ制御ユニットのそれぞれは、
当該スレーブ制御ユニットが有する故障診断機能によって検出された故障情報を、前記マスタ制御ユニットに送信する（Ｓ１１０）ように構成され、
前記マスタ制御ユニットは、
前記複数のスレーブ制御ユニットのそれぞれで検出され得る複数種類の故障の故障情報のうち、特定の用途に使用される故障情報である特定故障情報が、少なくとも記録された情報テーブル（２３）と、
前記複数のスレーブ制御ユニットから当該マスタ制御ユニットに送信された前記故障情報のうち、前記特定故障情報を保存するための記憶領域（２５）と、を備え、
更に、前記マスタ制御ユニットは、
前記複数のスレーブ制御ユニットの何れかから送信された前記故障情報を受信すると、当該受信した故障情報である受信故障情報が前記特定故障情報であるか否かを、前記情報テーブルに基づいて判定し、前記受信故障情報が前記特定故障情報であると判定した場合には、前記受信故障情報を前記記憶領域に記憶すると共に、前記受信故障情報を送信したスレーブ制御ユニットに当該受信故障情報の破棄を指示し、また、前記受信故障情報が前記特定故障情報ではないと判定した場合には、前記受信故障情報を送信したスレーブ制御ユニットに当該受信故障情報の記憶を指示する（Ｓ２１０〜Ｓ２５０）ように構成されている、
車載システム。
【請求項２】
請求項１に記載の車載システムであって、
前記情報テーブルは、
前記特定故障情報が、当該特定故障情報の発生元の前記スレーブ制御ユニットを特定可能な情報と対応付けて記録されるように構成されている、
車載システム。
【請求項３】
請求項２に記載の車載システムであって、
前記複数のスレーブ制御ユニットのそれぞれは、
前記車両の外部の装置である診断ツールからの故障情報要求を受信すると、前記マスタ制御ユニットに、当該スレーブ制御ユニットが発生元である前記特定故障情報を要求するための出力要求を送信し、当該出力要求に応答して前記マスタ制御ユニットから前記特定故障情報が送られてきたなら、前記マスタ制御ユニットからの前記特定故障情報と、当該スレーブ制御ユニットにおいて記憶されている前記故障情報とを、前記故障情報要求に対する応答として前記診断ツールに送信する（Ｓ３１０〜Ｓ３４０）ように構成されており、
前記マスタ制御ユニットは、
前記複数のスレーブ制御ユニットの何れかが送信した前記出力要求を受信すると、前記出力要求を送信したスレーブ制御ユニットが発生元である前記特定故障情報を、前記情報テーブルから特定し、特定した特定故障情報が前記記憶領域に記憶されていれば、当該記憶されている特定故障情報を、前記出力要求を送信したスレーブ制御ユニットに送信する（Ｓ２４）ように構成されている、
車載システム。
【請求項４】
請求項１ないし請求項３の何れか１項に記載の車載システムであって、
前記マスタ制御ユニットは、
当該マスタ制御ユニットの外部からの追加要求に従って、前記情報テーブルに前記特定故障情報を追加して記録する追加機能（Ｓ３２）を備える、
車載システム。
【請求項５】
請求項４に記載の車載システムであって、
前記マスタ制御ユニットは、
前記追加機能によって前記情報テーブルに前記特定故障情報を追加した場合に、前記情報テーブルに追加した特定故障情報である追加故障情報が、前記複数のスレーブ制御ユニットのうち、当該追加故障情報の発生元のスレーブ制御ユニットに記憶されているならば、前記追加故障情報を前記記憶領域に記憶すると共に、前記発生元のスレーブ制御ユニットから前記追加故障情報を消去させる（Ｓ４１０〜Ｓ５００）ように構成されている、
車載システム。
【請求項６】
請求項１ないし請求項５の何れか１項に記載の車載システムであって、
前記マスタ制御ユニットは、
当該マスタ制御ユニットの外部からの削除要求に従って、前記情報テーブルから当該情報テーブルに記録されている前記特定故障情報の何れかを削除する削除機能（Ｓ４２）を備える、
車載システム。
【請求項７】
請求項６に記載の車載システムであって、
前記マスタ制御ユニットは、
前記削除機能によって前記情報テーブルから前記特定故障情報の何れかを削除した場合に、前記情報テーブルから削除した特定故障情報である削除故障情報が前記記憶領域に記憶されているならば、当該削除故障情報を前記記憶領域から削除すると共に、当該削除故障情報を、前記複数のスレーブ制御ユニットのうち、当該削除故障情報の発生元のスレーブ制御ユニットに記憶させる（Ｓ６１０〜Ｓ６７０）ように構成されている、
車載システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、車載システムに関する。
【背景技術】
【０００２】
例えば下記の特許文献１には、車両に搭載される電子制御ユニット（以下、ＥＣＵ）として、故障診断機能を有するものが記載されている。ＥＣＵは、「Electronic Control Unit」の略である。ＥＣＵが有する故障診断機能は、ＯＢＤとも呼ばれる。ＯＢＤは、「On-Board Diagnostics」の略である。そして、下記の特許文献１には、複数のＥＣＵの何れかで検出された故障の種別を表す故障種別コードを、他のＥＣＵに記憶させる思想が記載されている。上記故障種別コードは、一般にＤＴＣと呼ばれる。ＤＴＣは、「Diagnostic Trouble Code」の略である。
【０００３】
また、近年、ＯＢＤを活用した車両検査（以下、ＯＢＤ車検）の実施が検討されている。ＯＢＤ車検では、車両内で検出され得る複数種類の故障のＤＴＣのうち、特定の１つ以上のＤＴＣが、特定ＤＴＣと定義される。そして、ＯＢＤ車検の実施時において、車両に搭載されている複数のＥＣＵの何れかから、車両の外部の装置である診断ツールによって特定ＤＴＣが読み出された場合には、その車両は不合格とされる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−２１０９１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
発明者の詳細な検討の結果、下記の課題が見出された。
ＥＣＵにおいて、ＤＴＣを記憶するためのメモリ容量は有限であり、記憶可能なＤＴＣの数には上限がある。このため、ＤＴＣの記憶数が上限に達している状態で、新たなＤＴＣを記憶する必要が生じた場合には、例えば、新たなＤＴＣを既に記憶されているＤＴＣに上書きして記憶するか、あるいは、新たなＤＴＣを破棄することが考えられる。但し、このようにすると、特定ＤＴＣが記憶されない可能性がある。特定ＤＴＣに対応する故障が生じているのに、その特定ＤＴＣが記憶されないと、例えばＯＢＤ車検の実施時において、本来ならば不合格の車両が、合格と判断されてしまう。
【０００６】
そこで、複数のＥＣＵのうち、何れかのＥＣＵで検出された故障のＤＴＣを、他の複数のＥＣＵに記憶させるようにシステムを構成すれば、前述した新たなＤＴＣの上書きあるいは破棄の必要性を抑制でき、特定ＤＴＣがどこにも記憶されなくなる可能性を低減できると考えられる。以下では、何れかのＥＣＵで検出された故障のＤＴＣを、他のＥＣＵに記憶させることを、肩代わり記憶という。
【０００７】
しかし、診断ツールによって、複数のＥＣＵの何れかである読出対象ＥＣＵから、その読出対象ＥＣＵが発生元であるＤＴＣを読み出す場合に、長い時間がかかってしまう。読出対象ＥＣＵは、診断ツールからのＤＴＣ要求に対して応答する場合に、他の各ＥＣＵに対して、当該読出対象ＥＣＵが発生元であるＤＴＣ、即ち、肩代わり記憶されたＤＴＣを、逐次的に要求して、その肩代わり記憶されたＤＴＣを収集する必要があるからである。
【０００８】
そこで、本開示の１つの局面は、検出された故障の故障情報を診断ツールに渡すのに必要な時間を、短くすることが可能な車載システムを提供する。
【課題を解決するための手段】
【０００９】
本開示の１つの態様による車載システムは、マスタ制御ユニット（１０）と、このマスタ制御ユニットと通信バス（３）を介して接続された複数のスレーブ制御ユニット（１１〜１４）と、を備える。
【００１０】
複数のスレーブ制御ユニットのそれぞれは、当該スレーブ制御ユニットが有する故障診断機能によって検出された故障の種別を表す故障情報を、マスタ制御ユニットに送信する（Ｓ１１０）ように構成されている。
【００１１】
マスタ制御ユニットは、情報テーブル（２３）と、記憶領域（２５）と、を備える。情報テーブルには、複数のスレーブ制御ユニットのそれぞれで検出され得る複数種類の故障の故障情報のうち、特定の用途に使用される故障情報である特定故障情報が、少なくとも記録されている。記憶領域は、複数のスレーブ制御ユニットからマスタ制御ユニットに送信された故障情報、即ち、何れかのスレーブ制御ユニットで実際に検出された故障の故障情報のうち、特定故障情報を保存するために、マスタ制御ユニットに備えられている。
【００１２】
マスタ制御ユニットは、複数のスレーブ制御ユニットの何れかから送信された故障情報を受信すると、当該受信した故障情報（以下、受信故障情報）が特定故障情報であるか否かを、情報テーブルに基づいて判定し、受信故障情報が特定故障情報であると判定した場合には、受信故障情報を記憶領域に記憶すると共に、受信故障情報を送信したスレーブ制御ユニットに当該受信故障情報の破棄を指示し、また、受信故障情報が特定故障情報ではないと判定した場合には、受信故障情報を送信したスレーブ制御ユニットに当該受信故障情報の記憶を指示する（Ｓ２１０〜Ｓ２５０）。
【００１３】
このような構成によれば、スレーブ制御ユニットの何れかで検出された故障の故障情報のうち、特定故障情報は、マスタ制御ユニットの記憶領域に記憶される。このため、スレーブ制御ユニットにおいて故障情報を記憶するためのメモリ容量が少なくて済み、特定故障情報がどこにも記憶されなくなってしまうことも防止することができる。
【００１４】
そして、各スレーブ制御ユニットは、車両の外部の装置である診断ツールからの要求に応じて、当該スレーブ制御ユニットが発生元である故障情報を診断ツールに送信する場合には、当該スレーブ制御ユニットが発生元である特定故障情報をマスタ制御ユニットから取得すれば良い。
【００１５】
このため、各スレーブ制御ユニットは、他の複数の制御ユニットから特定故障情報を収集する必要がない。よって、車両で検出された故障の故障情報を診断ツールに渡すのに必要な時間を、短くすることができる。また、通信バスの負荷（即ち、トラフィック）が大きくなってしまうことも防止することができる。
【００１６】
また、各スレーブ制御ユニットは、当該スレーブ制御ユニットで検出された故障の故障情報をマスタ制御ユニットに送信した後、その送信した故障情報を、マスタ制御ユニットからの破棄または記憶の指示に応じて、破棄または記憶すれば良い。このことは、「どの故障情報が特定故障情報であるか」という特定故障情報の選定内容によって変わるものではない。そして、特定故障情報の選定内容が変わった場合、マスタ制御ユニットの情報テーブルに記録される特定故障情報を変更することで対応可能となる。
【００１７】
また、情報テーブルは、特定故障情報が、その特定故障情報の発生元のスレーブ制御ユニットを特定可能な情報と対応付けて記録されるように構成されて良い。
このような構成の情報テーブルは、どの故障情報が特定故障情報であるか、という第１種事項だけでなく、特定故障情報の発生元がどのスレーブ制御ユニットであるか、という第２種事項も表すことができる。
【００１８】
そして、このような構成の情報テーブルがマスタ制御ユニットに備えられる車載システムは、下記のように構成されて良い。
複数のスレーブ制御ユニットのそれぞれは、車両の外部の装置である診断ツールからの故障情報要求を受信すると、マスタ制御ユニットに、当該スレーブ制御ユニットが発生元である特定故障情報を要求するための出力要求を送信し、当該出力要求に応答してマスタ制御ユニットから特定故障情報が送られてきたなら、そのマスタ制御ユニットからの特定故障情報と、当該スレーブ制御ユニットにおいて記憶されている故障情報（即ち、非特定故障情報）とを、前記故障情報要求に対する応答として診断ツールに送信する（Ｓ３１０〜Ｓ３４０）。
【００１９】
そして、マスタ制御ユニットは、複数のスレーブ制御ユニットの何れかが送信した前記出力要求を受信すると、その出力要求を送信したスレーブ制御ユニットが発生元である特定故障情報を、前記情報テーブルから特定し、特定した特定故障情報が前記記憶領域に記憶されていれば、当該記憶されている特定故障情報を、前記出力要求を送信したスレーブ制御ユニットに送信する（Ｓ２４）。
【００２０】
このような構成によれば、各スレーブ制御ユニットは、診断ツールからの故障情報要求に対して、当該スレーブ制御ユニットが発生元の故障情報、即ち、特定故障情報と非特定故障情報を、まとめて応答することができる。よって、応答に要する時間が短くなる。
【図面の簡単な説明】
【００２１】
【図１】実施形態の車載システムの構成を示すブロック図である。
【図２】スレーブＥＣＵが行う記憶制御処理を表すフローチャートである。
【図３】マスタＥＣＵが行う記憶制御処理を表すフローチャートである。
【図４】図２，図３の処理によるスレーブＥＣＵ及びマスタＥＣＵの動作を表すラダーチャートである。
【図５】診断ツールからの要求に対してスレーブＥＣＵが応答する場合の作用例を説明する説明図である。
【図６】スレーブＥＣＵが行うＤＴＣ出力制御処理を表すフローチャートである。
【図７】図６の処理によるスレーブＥＣＵの動作と、診断ツール及びマスタＥＣＵの動作とを表すラダーチャートである。
【図８】特定ＤＴＣテーブルに情報を追加する場合の、診断ツールとマスタＥＣＵの動作を表すラダーチャートである。
【図９】図８の動作による作用例を説明する説明図である。
【図１０】特定ＤＴＣテーブルから情報を削除する場合の、診断ツールとマスタＥＣＵの動作を表すラダーチャートである。
【図１１】図１０の動作による作用例を説明する説明図である。
【図１２】マスタＥＣＵが行う追加後整合用処理を表すフローチャートである。
【図１３】スレーブＥＣＵが行う指示対応処理を表すフローチャートである。
【図１４】図１２，図１３の処理によるマスタＥＣＵ及びスレーブＥＣＵの動作を表すラダーチャートである。
【図１５】特定ＤＴＣテーブルに特定ＤＴＣが追加記録された場合の作用例を説明する説明図である。
【図１６】マスタＥＣＵが行う削除後整合用処理を表すフローチャートである。
【図１７】図１６の処理によるマスタＥＣＵの動作と、スレーブＥＣＵの動作とを表すラダーチャートである。
【図１８】特定ＤＴＣテーブルから特定ＤＴＣが削除された場合の作用例を説明する説明図である。
【発明を実施するための形態】
【００２２】
以下、図面を参照しながら、本開示の実施形態を説明する。
［１．構成］
図１に示す実施形態の車載システム１は、車両に搭載されるシステムであり、マスタ制御ユニットに相当するマスタＥＣＵ１０と、複数のスレーブ制御ユニットに相当するスレーブＥＣＵ１１〜１４と、を備える。各スレーブＥＣＵ１１〜１４は、少なくとも１つの故障を検出するための故障診断機能を有している。そして、マスタＥＣＵ１０とスレーブＥＣＵ１１〜１４は、車両内に配設された通信バス３を介して通信可能に接続されている。尚、スレーブＥＣＵ１１〜１４の数は、本実施形態では４であるが、４以外であっても良い。また、図１及び図１と同様の後述する他の図では、スレーブＥＣＵ１１〜１４のそれぞれを、ＥＣＵ＿Ａ〜Ｄとして図示している。
【００２３】
また、マスタＥＣＵ１０には、通信バス３とは別の通信バス５が接続されており、その通信バス５には、車両の外部の装置である診断ツール７が着脱可能になっている。そして、マスタＥＣＵ１０は、診断ツール７とスレーブＥＣＵ１１〜１４との間の通信を中継するゲートウェイとしての機能（即ち、中継機能）も有している。
【００２４】
各ＥＣＵ１０〜１４は、当該ＥＣＵの動作を司る制御部として、例えばマイクロコンピュータ（以下、マイコン）を備える。そして、マイコンは、プログラムを実行するＣＰＵと、ＣＰＵが実行するプログラムや該プログラムの実行時に参照されるデータ等が格納されたＲＯＭと、データを一時的に記憶するためのＲＡＭと、他のメモリと、を備える。後述するＥＣＵ１０〜１４の処理動作は、当該ＥＣＵ１０〜１４のマイコンにおけるＣＰＵがプログラムを実行することにより実現される。
【００２５】
上記他のメモリは、ＥＣＵ１０〜１４の動作停止中においてもデータを保持可能で、且つ、データの書き込み及び読み出しが可能な少なくとも１つのメモリ（以下、保持用メモリ）である。
【００２６】
スレーブＥＣＵ１１〜１４における保持用メモリの記憶領域の一部又は全部は、当該スレーブＥＣＵ１１〜１４の故障診断機能によって検出された故障の種別を表す故障情報としてのＤＴＣのうち、特定ＤＴＣではないＤＴＣ（即ち、非特定ＤＴＣ）を保存するための記憶領域２１になっている。
【００２７】
特定ＤＴＣは、スレーブＥＣＵ１１〜１４のそれぞれで検出され得る複数種類の故障のＤＴＣ、即ち、車両で検出され得る複数種類の故障のＤＴＣのうち、例えばＯＢＤ車検における車両の合否判定に用いられるＤＴＣである。このため、非特定ＤＴＣは、車両の合否判定に用いられないＤＴＣである。
【００２８】
一方、例えば、マスタＥＣＵ１０におけるＲＯＭの記憶領域の一部及び当該ＲＯＭと紐付けられている保持用メモリの記憶領域の一部が、情報テーブルに相当する特定ＤＴＣテーブル２３を構成するための記憶領域になっている。ＲＯＭの記憶領域のうち、少なくとも特定ＤＴＣテーブル２３のための記憶領域は、書き換え可能であって良い。そして、マスタＥＣＵ１０における保持用メモリの記憶領域のうち、特定ＤＴＣテーブル２３のための記憶領域とは別の記憶領域の一部又は全部は、スレーブＥＣＵ１１〜１４からマスタＥＣＵ１０に送信されるＤＴＣのうち、特定ＤＴＣを保存するための記憶領域２５になっている。尚、記憶領域２５と、特定ＤＴＣテーブル２３のための記憶領域とのそれぞれは、１つの保持用メモリにおける異なる記憶領域であっても良いし、物理的に別々の保持用メモリにおける記憶領域であっても良い。
【００２９】
マスタＥＣＵ１０において、特定ＤＴＣテーブル２３には、全ての特定ＤＴＣのそれぞれが、その特定ＤＴＣの発生元のスレーブＥＣＵを特定可能な情報と対応付けて記録されている。ＤＴＣの発生元とは、そのＤＴＣが表す故障を検出するＥＣＵのことである。更に、特定ＤＴＣテーブル２３には、特定ＤＴＣのそれぞれについて、その特定ＤＴＣが記憶領域２５に記憶されているか否かを示す記憶有無情報も、記録される。
【００３０】
このため、特定ＤＴＣテーブル２３は、縦方向に並ぶカラムとして、特定ＤＴＣの発生元のスレーブＥＣＵを示す発生元情報の例である「Ａ〜Ｄ」の何れかが記録されるカラムと、特定ＤＴＣが記録されるカラムと、記憶有無情報の例である「○」または「×」が記録されるカラムと、を備える。そして、発生元情報と特定ＤＴＣと記憶有無情報は、対応するもの同士が同じ行となるように記録される。例えば、特定ＤＴＣテーブル２３に記録される情報のうち、発生元情報と特定ＤＴＣはＲＯＭに記録され、記憶有無情報は保持用メモリに記録されるようになっていて良い。
【００３１】
尚、図１の例では、「ＤＴＣ１」、「ＤＴＣ４」、「ＤＴＣ５」、「ＤＴＣ９」及び「ＤＴＣ１０」が、特定ＤＴＣである。また、ＤＴＣの後に付されている数字は、ＤＴＣを区別するための数字であり、車載システム及び車載システムの構成要素に付された符号とは別のものである。また、記憶有無情報として、「○」は、当該記憶有無情報に対応する特定ＤＴＣが記憶領域２５に記憶されていること、即ち「記憶あり」を示し、「×」は、当該記憶有無情報に対応する特定ＤＴＣが記憶領域２５に記憶されてないこと、即ち「記憶なし」を示す。ここでは、分かりやすくするために、「○」または「×」で説明しているが、記憶有無情報は、例えばビット値が「１」または「０」のフラグであっても良い。
【００３２】
また他の例として、特定ＤＴＣテーブル２３の構成としては、スレーブＥＣＵ１１〜１４のそれぞれについて、そのスレーブＥＣＵが発生元となる特定ＤＴＣの記録場所（例えば、アドレス）が予め定められている構成であっても良い。このような構成であっても、特定ＤＴＣの記録場所によって、発生元のスレーブＥＣＵを特定することができる。この場合、特定ＤＴＣの記録場所が、その特定ＤＴＣの発生元のスレーブＥＣＵを特定可能な情報に相当する。
【００３３】
［２．ＤＴＣを記憶するための処理］
本実施形態では、検出された故障のＤＴＣのうち、特定ＤＴＣはマスタＥＣＵ１０に記憶され、非特定ＤＴＣは発生元のスレーブＥＣＵ１１〜１４に記憶される。尚、ＤＴＣの記憶先の説明として、マスタＥＣＵ１０に記憶されるとは、詳しくは、マスタＥＣＵ１０の記憶領域２５に記憶されることであり、スレーブＥＣＵ１１〜１４に記憶されるとは、詳しくは、スレーブＥＣＵ１１〜１４の記憶領域２１に記憶されることである。
【００３４】
そこで次に、マスタＥＣＵ１０が、検出された故障のＤＴＣのうち、特定ＤＴＣを記憶するために行う記憶制御処理と、スレーブＥＣＵ１１〜１４のそれぞれが、ＤＴＣのうち、非特定ＤＴＣを記憶するために行う記憶制御処理とについて、説明する。尚、以下の説明において、検出された又は検出したＤＴＣとは、検出された又は検出した故障のＤＴＣのことである。
【００３５】
［２−１．スレーブＥＣＵが行う記憶制御処理］
スレーブＥＣＵ１１〜１４は、当該ＥＣＵが有する故障診断機能によって何れかの故障を検出すると、図２に示す記憶制御処理を行う。
【００３６】
図２に示すように、スレーブＥＣＵ１１〜１４は、検出したＤＴＣを、Ｓ１１０にて、マスタＥＣＵ１０に送信する。例えば、スレーブＥＣＵ１１〜１４は、該当のＤＴＣを含むメッセージを、マスタＥＣＵ１０に送信する。また、車載システム１において、ノード間でやりとりされるメッセージには、送信元を示す送信元情報が少なくとも含まれる。ここで言うノードとしては、ＥＣＵ１０〜１４及び診断ツール７が含まれる。
【００３７】
スレーブＥＣＵ１１〜１４は、次のＳ１２０にて、上記Ｓ１１０で送信したＤＴＣに対するマスタＥＣＵ１０からの指示メッセージを受信したか否かを判定し、マスタＥＣＵ１０からの指示メッセージを受信するまで待つ。そして、マスタＥＣＵ１０からの指示メッセージを受信すると、Ｓ１３０に進む。尚、Ｓ１２０で待つマスタＥＣＵ１０からの指示メッセージは、ＤＴＣ破棄とＤＴＣ記憶との、何れかを指示するメッセージである。また、ここで言う破棄は、記憶しないことを意味する。
【００３８】
スレーブＥＣＵ１１〜１４は、Ｓ１３０では、マスタＥＣＵ１０からの指示メッセージが、ＤＴＣ破棄を指示するメッセージであるか否かを判定し、ＤＴＣ破棄を指示するメッセージであれば、Ｓ１４０に進む。そして、Ｓ１４０では、上記Ｓ１１０でマスタＥＣＵ１０に送信したＤＴＣ、即ち検出したＤＴＣを、当該ＥＣＵの記憶領域２１に記憶することなく破棄し、その後、図２の記憶制御処理を終了する。
【００３９】
また、スレーブＥＣＵ１１〜１４は、上記Ｓ１３０にて、マスタＥＣＵ１０からの指示メッセージが、ＤＴＣ破棄を指示するメッセージではない、即ち、ＤＴＣ記憶を指示するメッセージである、と判定した場合には、Ｓ１５０に進む。そして、Ｓ１５０では、上記Ｓ１１０でマスタＥＣＵ１０に送信したＤＴＣを、当該ＥＣＵの記憶領域２１に記憶し、その後、図２の記憶制御処理を終了する。
【００４０】
［２−２．マスタＥＣＵが行う記憶制御処理］
マスタＥＣＵ１０は、スレーブＥＣＵ１１〜１４の何れかが送信した、ＤＴＣを含むメッセージを受信すると、図３に示す記憶制御処理を行う。
【００４１】
図３に示すように、マスタＥＣＵ１０は、Ｓ２１０にて、スレーブＥＣＵ１１〜１４から受信したＤＴＣ（以下、受信ＤＴＣ）を、特定ＤＴＣテーブル２３に記録されている特定ＤＴＣと照合することにより、受信ＤＴＣが特定ＤＴＣテーブル２３に記録されているか否かを判定する。
【００４２】
そして、マスタＥＣＵ１０は、次のＳ２２０にて、上記Ｓ２１０での判定結果に基づいて、受信ＤＴＣが特定ＤＴＣであるか否かを判定する。具体的には、受信ＤＴＣが特定ＤＴＣテーブル２３に記録されていれば、受信ＤＴＣが特定ＤＴＣであると判定し、受信ＤＴＣが特定ＤＴＣテーブル２３に記録されていなければ、受信ＤＴＣが非特定ＤＴＣであると判定する。
【００４３】
マスタＥＣＵ１０は、上記Ｓ２２０にて、受信ＤＴＣが特定ＤＴＣであると判定した場合には、Ｓ２３０に進み、受信ＤＴＣを記憶領域２５に記憶する。更に、Ｓ２３０では、特定ＤＴＣテーブル２３において、受信ＤＴＣと同じ特定ＤＴＣに対応する記憶有無情報を、「記憶あり」に書き換える。
【００４４】
そして、マスタＥＣＵ１０は、次のＳ２４０にて、スレーブＥＣＵ１１〜１４のうち、ＤＴＣを送信してきたスレーブＥＣＵに、前述のＤＴＣ破棄を指示するメッセージを送信し、その後、図３の記憶制御処理を終了する。尚、マスタＥＣＵ１０は、ＤＴＣを送信してきたスレーブＥＣＵを、そのＤＴＣが含まれたメッセージ中の送信元情報によって特定することができる。
【００４５】
よって、スレーブＥＣＵ１１〜１４で検出されたＤＴＣが特定ＤＴＣであった場合、その特定ＤＴＣは、マスタＥＣＵ１０の記憶領域２５に記憶され、スレーブＥＣＵ１１〜１４には記憶されない。
【００４６】
また、マスタＥＣＵ１０は、上記Ｓ２２０にて、受信ＤＴＣが特定ＤＴＣではない、即ち、非特定ＤＴＣである、と判定した場合には、受信ＤＴＣを記憶領域２５に記憶することなく、Ｓ２５０に進む。そして、Ｓ２５０では、スレーブＥＣＵ１１〜１４のうち、ＤＴＣを送信してきたスレーブＥＣＵに、前述のＤＴＣ記憶を指示するメッセージを送信し、その後、図３の記憶制御処理を終了する。
【００４７】
よって、スレーブＥＣＵ１１〜１４で検出されたＤＴＣが非特定ＤＴＣであった場合、その非特定ＤＴＣは、マスタＥＣＵ１０に記憶されず、発生元のスレーブＥＣＵの記憶領域２１に記憶される。
【００４８】
［２−３．ラダーチャートによる動作説明］
図２，図３の各処理により、スレーブＥＣＵ１１〜１４とマスタＥＣＵ１０は、図４に示すように動作する。尚、図４におけるスレーブＥＣＵは、スレーブＥＣＵ１１〜１４のうち、故障を検出したスレーブＥＣＵであり、ここでは、例えばスレーブＥＣＵ１１であるとして説明する。
【００４９】
図４に示すように、スレーブＥＣＵ１１は、Ｓ１１にて、検出したＤＴＣをマスタＥＣＵ１０に送信する。マスタＥＣＵ１０は、Ｓ１２にて、スレーブＥＣＵ１１からの受信ＤＴＣを、特定ＤＴＣテーブル２３に記録されている特定ＤＴＣと照合する。そして、受信ＤＴＣが特定ＤＴＣテーブル２３に記録されていた場合、即ち、受信ＤＴＣが特定ＤＴＣである場合には、Ｓ１３にて、その受信ＤＴＣを記憶領域２５に記憶し、Ｓ１４にて、スレーブＥＣＵ１１に、ＤＴＣ破棄を指示するメッセージを送信する。このメッセージを受信したスレーブＥＣＵ１１は、マスタＥＣＵ１０に送信したＤＴＣを、Ｓ１５にて破棄する。
【００５０】
また、図４には示されていないが、マスタＥＣＵ１０は、受信ＤＴＣが特定ＤＴＣテーブル２３に記録されていなかった場合、即ち、受信ＤＴＣが非特定ＤＴＣである場合には、その受信ＤＴＣを記憶領域２５に記憶せず、スレーブＥＣＵ１１に、ＤＴＣ記憶を指示するメッセージを送信する。このため、スレーブＥＣＵ１１は、マスタＥＣＵ１０に送信したＤＴＣ（即ち、非特定ＤＴＣ）を、当該スレーブＥＣＵ１１の記憶領域２１に記憶する。
【００５１】
［２−４．作用例］
例えば、図１において、スレーブＥＣＵ１１（即ち、ＥＣＵ＿Ａ）が、ＤＴＣ１に対応する故障を検出したとする。そして、ＤＴＣ１は、特定ＤＴＣである。
【００５２】
この場合、下記〈１〉〜〈５〉の動作が行われる。
〈１〉スレーブＥＣＵ１１は、ＤＴＣ１をマスタＥＣＵ１０に送信する。
〈２〉マスタＥＣＵ１０は、スレーブＥＣＵ１１から受信したＤＴＣ１が特定ＤＴＣであるか否かを、特定ＤＴＣテーブル２３に基づいて判定する。
【００５３】
ＤＴＣ１は、特定ＤＴＣであり、特定ＤＴＣテーブル２３に記録されているため、マスタＥＣＵ１０は、ＤＴＣ１が特定ＤＴＣであると判定する。
〈３〉このため、マスタＥＣＵ１０は、スレーブＥＣＵ１１からのＤＴＣ１を、記憶領域２５に記憶する。
【００５４】
〈４〉そして、マスタＥＣＵ１０は、スレーブＥＣＵ１１に、検出したＤＴＣの破棄を指示する。
〈５〉スレーブＥＣＵ１１は、マスタＥＣＵ１０からの指示に従って、ＤＴＣ１を記憶領域２１に記憶せずに破棄する。
【００５５】
よって、特定ＤＴＣであるＤＴＣ１は、マスタＥＣＵ１０に記憶され、スレーブＥＣＵ１１には記憶されない。
また例えば、図１において、スレーブＥＣＵ１２（即ち、ＥＣＵ＿Ｂ）が、ＤＴＣ３に対応する故障を検出したとする。そして、ＤＴＣ３は、非特定ＤＴＣである。
【００５６】
この場合、下記〈６〉〜〈９〉の動作が行われる。
〈６〉スレーブＥＣＵ１２は、ＤＴＣ３をマスタＥＣＵ１０に送信する。
〈７〉マスタＥＣＵ１０は、スレーブＥＣＵ１２から受信したＤＴＣ３が特定ＤＴＣであるか否かを、特定ＤＴＣテーブル２３に基づいて判定する。
【００５７】
ＤＴＣ３は、非特定ＤＴＣであり、特定ＤＴＣテーブル２３に記録されていないため、マスタＥＣＵ１０は、ＤＴＣ３が非特定ＤＴＣであると判定する。このため、マスタＥＣＵ１０は、ＤＴＣ３を記憶領域２５に記憶しない。
【００５８】
〈８〉そして、マスタＥＣＵ１０は、スレーブＥＣＵ１１に、検出したＤＴＣの記憶を指示する。
〈９〉スレーブＥＣＵ１１は、マスタＥＣＵ１０からの指示に従って、ＤＴＣ３を記憶領域２１に記憶する。
【００５９】
よって、非特定ＤＴＣであるＤＴＣ３は、マスタＥＣＵ１０に記憶されず、当該ＤＴＣ３の発生元であるスレーブＥＣＵ１２に記憶される。
［３．ＤＴＣを診断ツールに出力するための処理］
次に、図５に示すように、診断ツール７が通信バス５に接続され、その診断ツール７からのＤＴＣ要求に対して、スレーブＥＣＵ１１〜１４が応答する場合に行われる処理について説明する。
【００６０】
［３−１．スレーブＥＣＵが行うＤＴＣ出力制御処理］
スレーブＥＣＵ１１〜１４は、診断ツール７からマスタＥＣＵ１０を経由して送られて来る当該スレーブＥＣＵ宛てのＤＴＣ出力要求を受信すると、図６に示すＤＴＣ出力制御処理を行う。診断ツール７からのＤＴＣ出力要求は、スレーブＥＣＵ１１〜１４の何れかに対して、当該スレーブＥＣＵで検出されたＤＴＣを要求するためのメッセージであり、故障情報要求に相当する。
【００６１】
図６に示すように、スレーブＥＣＵ１１〜１４は、Ｓ３１０にて、マスタＥＣＵ１０にＤＴＣ出力要求を送信する。スレーブＥＣＵ１１〜１４からのＤＴＣ出力要求は、マスタＥＣＵ１０に対して、記憶領域２５に記憶された特定ＤＴＣのうち、当該スレーブＥＣＵが発生元である特定ＤＴＣを要求するためのメッセージであり、出力要求に相当する。
【００６２】
一方、処理の図示を省略するが、マスタＥＣＵ１０は、スレーブＥＣＵ１１〜１４の何れかが送信したＤＴＣ出力要求を受信すると、下記のＤＴＣ応答制御処理を行う。
マスタＥＣＵ１０は、ＤＴＣ応答制御処理では、受信したＤＴＣ出力要求の送信元のスレーブＥＣＵ（以下、要求元ＥＣＵ）が発生元である特定ＤＴＣを、特定ＤＴＣテーブル２３から特定する。そして、特定した特定ＤＴＣが記憶領域２５に記憶されていれば、その記憶されている特定ＤＴＣを含む応答メッセージを、要求元ＥＣＵに送信する。また、上記特定した特定ＤＴＣが記憶領域２５に記憶されていない場合、あるいは、そもそも要求元ＥＣＵが発生元である特定ＤＴＣが、特定ＤＴＣテーブル２３に記録されていない場合には、ＤＴＣが含まれない応答メッセージを、要求元ＥＣＵに送信する。
【００６３】
このため、スレーブＥＣＵ１１〜１４は、マスタＥＣＵ１０にＤＴＣ出力要求を送信した後、図６のＳ３２０にて、マスタＥＣＵ１０からの応答メッセージを受信したか否かを判定し、マスタＥＣＵ１０からの応答メッセージを受信するまで待つ。そして、スレーブＥＣＵ１１〜１４は、マスタＥＣＵ１０からの応答メッセージを受信すると、Ｓ３３０に進む。
【００６４】
スレーブＥＣＵ１１〜１４は、Ｓ３３０では、マスタＥＣＵ１０からの応答メッセージにＤＴＣが含まれているか否かを判定し、ＤＴＣが含まれていると判定した場合には、Ｓ３４０に進む。そして、Ｓ３４０では、診断ツール７への応答メッセージとして、マスタＥＣＵ１０からの応答メッセージに含まれていたＤＴＣ（即ち、特定ＤＴＣ）と、当該スレーブＥＣＵの記憶領域２１に記憶されているＤＴＣ（即ち、非特定ＤＴＣ）とを含むメッセージを、送信する。その後、スレーブＥＣＵ１１〜１４は、図６のＤＴＣ出力制御処理を終了する。尚、記憶領域２１にＤＴＣが記憶されていない場合には、上記Ｓ３４０で送信される診断ツール７への応答メッセージに非特定ＤＴＣは含まれない。
【００６５】
スレーブＥＣＵ１１〜１４から診断ツール７への応答メッセージは、マスタＥＣＵ１０を経由して診断ツール７に送られる。そして、診断ツール７への応答メッセージに含まれるＤＴＣは、例えば、診断ツール７に備えられた表示部に表示される。
【００６６】
一方、スレーブＥＣＵ１１〜１４は、上記Ｓ３３０にて、マスタＥＣＵ１０からの応答メッセージにＤＴＣが含まれていないと判定した場合には、Ｓ３５０に進む。そして、Ｓ３５０では、診断ツール７への応答メッセージとして、当該スレーブＥＣＵの記憶領域２１に記憶されているＤＴＣを含むメッセージを、送信する。その後、スレーブＥＣＵ１１〜１４は、図６のＤＴＣ出力制御処理を終了する。尚、記憶領域２１にＤＴＣが記憶されていない場合には、上記Ｓ３５０で送信される診断ツール７への応答メッセージにＤＴＣは含まれない。
【００６７】
［３−２．ラダーチャートによる動作説明］
上記ＤＴＣ出力制御処理及びＤＴＣ応答制御処理により、スレーブＥＣＵ１１〜１４とマスタＥＣＵ１０は、図７に示すように動作する。尚、図７におけるスレーブＥＣＵは、例えばスレーブＥＣＵ１１であるとして説明する。
【００６８】
図７に示すように、Ｓ２１にて、診断ツール７がスレーブＥＣＵ１１宛てのＤＴＣ出力要求を送信したとする。
マスタＥＣＵ１０は、Ｓ２２にて、診断ツール７からの要求メッセージとしてのＤＴＣ出力要求を、そのままスレーブＥＣＵ１１に転送する。具体的には、診断ツール７からのＤＴＣ出力要求を通信バス３に送出する。
【００６９】
スレーブＥＣＵ１１は、診断ツール７からのＤＴＣ出力要求を受信すると、Ｓ２３にて、マスタＥＣＵ１０にＤＴＣ出力要求を送信する。
すると、マスタＥＣＵ１０は、Ｓ２４にて、上記ＤＴＣ応答制御処理を行うことにより、記憶領域２５に記憶されている特定ＤＴＣのうち、スレーブＥＣＵ１１が発生元である特定ＤＴＣを含む応答メッセージを、スレーブＥＣＵ１１に送信する。尚、この例では、スレーブＥＣＵ１１が発生元である特定ＤＴＣが、マスタＥＣＵ１０の記憶領域２５に記憶されているものとする。
【００７０】
スレーブＥＣＵ１１は、マスタＥＣＵ１０からの応答メッセージを受信すると、Ｓ２５にて、診断ツール７への応答メッセージとして、マスタＥＣＵ１０からの特定ＤＴＣと、当該スレーブＥＣＵ１１の記憶領域２１に記憶されているＤＴＣ（即ち、非特定ＤＴＣ）とを含むメッセージを、作成する。そして、スレーブＥＣＵ１１は、この作成したメッセージを、Ｓ２６にて、通信バス３に送信する。
【００７１】
すると、マスタＥＣＵ１０は、スレーブＥＣＵ１１から送信された応答メッセージを受信し、この応答メッセージを、Ｓ２７にて、そのまま診断ツール７に転送する。具体的には、スレーブＥＣＵ１１から受信した応答メッセージを通信バス５に送出する。そして、このスレーブＥＣＵ１１からの応答メッセージは、診断ツール７に受信される。
【００７２】
［３−３．作用例］
例えば図５において、〈１１〉に示すように、診断ツール７からスレーブＥＣＵ１１宛てのＤＴＣ出力要求が送信されたとする。
【００７３】
この場合、下記〈１２〉〜〈１４〉の動作が行われる。
〈１２〉スレーブＥＣＵ１１は、マスタＥＣＵ１０にＤＴＣ出力要求を送信する。
〈１３〉マスタＥＣＵ１０は、記憶領域２５に記憶されている特定ＤＴＣのうち、発生元がスレーブＥＣＵ１１である特定ＤＴＣ、即ち、この例ではＤＴＣ１を、スレーブＥＣＵ１１に送信する。
【００７４】
〈１４〉スレーブＥＣＵ１１は、マスタＥＣＵから受信した特定ＤＴＣであるＤＴＣ１と、当該スレーブＥＣＵ１１の記憶領域２１に記憶されている非特定ＤＴＣであるＤＴＣ２とを、合わせて、診断ツール７に応答する。具体的には、これらのＤＴＣを含む診断ツール７宛の応答メッセージを送信する。
【００７５】
すると、診断ツール７の表示部には、ＤＴＣ１とＤＴＣ２が表示される。
［４．特定ＤＴＣテーブルに特定ＤＴＣを追加記録する機能］
特定ＤＴＣが追加された場合、即ち、車両で検出されるＤＴＣのうち、特定ＤＴＣとして定められるものが増やされた場合には、マスタＥＣＵ１０の特定ＤＴＣテーブル２３を更新する必要がある。そこで、特定ＤＴＣテーブル２３に特定ＤＴＣを追加記録する機能について説明する。
【００７６】
［４−１．診断ツールとマスタＥＣＵが行う動作］
図８のラダーチャートに示すように、診断ツール７が、Ｓ３１にて、特定ＤＴＣ追加情報を送信すると、マスタＥＣＵ１０は、その特定ＤＴＣ追加情報を受信する。特定ＤＴＣ追加情報には、追加された特定ＤＴＣと、その特定ＤＴＣの発生元であるスレーブＥＣＵを示す発生元情報とが、少なくとも含まれる。この特定ＤＴＣ追加情報は、外部からの追加要求に相当する。
【００７７】
そして、マスタＥＣＵ１０は、Ｓ３２にて、診断ツール７からの特定ＤＴＣ追加情報に含まれている特定ＤＴＣと、その特定ＤＴＣに対応する発生元情報とを、特定ＤＴＣテーブル２３に追加して記録する。また、特定ＤＴＣテーブル２３において、追加した特定ＤＴＣに対応する記憶有無情報は「×」、即ち「記憶なし」とされる。
【００７８】
その後、マスタＥＣＵ１０は、Ｓ３３にて、診断ツール７に、特定ＤＴＣテーブル２３の更新完了を示す応答メッセージを送信する。
［４−２．作用例］
例えば図９において、〈２１〉に示すように、診断ツール７からマスタＥＣＵ１０へ、「スレーブＥＣＵ１１（即ち、ＥＣＵ＿Ａ）が発生元のＤＴＣ２と、スレーブＥＣＵ１２（即ち、ＥＣＵ＿Ｂ）が発生元のＤＴＣ３を、追加する」という内容を表す特定ＤＴＣ追加情報が送信されたとする。
【００７９】
この場合、マスタＥＣＵ１０は、〈２２〉に示すように、診断ツール７からの特定ＤＴＣ追加情報に従って、特定ＤＴＣテーブル２３に情報を追加する。この例では、図９において、点線で示される更新前の特定ＤＴＣテーブル２３が、実線で示される特定ＤＴＣテーブル２３のように更新される。
【００８０】
そして、マスタＥＣＵ１０は、特定ＤＴＣテーブル２３の更新を完了すると、〈２３〉に示すように、診断ツール７に対して更新完了を示す応答メッセージを送信する。
よって、ＯＢＤ車検における特定ＤＴＣが追加された場合に、特定ＤＴＣテーブル２３を更新することができる。
【００８１】
［５．特定ＤＴＣテーブルから特定ＤＴＣを削除する機能］
特定ＤＴＣが減らされる場合、即ち、車両で検出されるＤＴＣのうち、特定ＤＴＣとして定められるものが減らされる場合もあり得る。そして、この場合には、減らされた特定ＤＴＣを、マスタＥＣＵ１０の特定ＤＴＣテーブル２３から削除する必要がある。そこで、特定ＤＴＣテーブルから特定ＤＴＣを削除する機能について説明する。
【００８２】
［５−１．診断ツールとマスタＥＣＵが行う動作］
図１０のラダーチャートに示すように、診断ツール７が、Ｓ４１にて、特定ＤＴＣ削除情報を送信すると、マスタＥＣＵ１０は、その特定ＤＴＣ削除情報を受信する。特定ＤＴＣ削除情報には、特定ＤＴＣテーブル２３から削除すべき削除対象の特定ＤＴＣが少なくとも含まれる。また、特定ＤＴＣ削除情報には、例えば、削除対象の特定ＤＴＣの発生元であるスレーブＥＣＵを示す発生元情報も含まれて良い。尚、この特定ＤＴＣ削除情報は、外部からの削除要求に相当する。
【００８３】
そして、マスタＥＣＵ１０は、Ｓ４２にて、特定ＤＴＣテーブル２３から、診断ツール７からの特定ＤＴＣ削除情報に含まれている特定ＤＴＣを削除する。
【００８４】
その後、マスタＥＣＵ１０は、Ｓ４３にて、診断ツール７に、特定ＤＴＣテーブル２３の更新完了を示す応答メッセージを送信する。
［５−２．作用例］
例えば図１１において、〈３１〉に示すように、診断ツール７からマスタＥＣＵ１０へ、「ＤＴＣ２とＤＴＣ３が、削除対象の特定ＤＴＣである」という内容を表す特定ＤＴＣ削除情報が送信されたとする。
【００８５】
この場合、マスタＥＣＵ１０は、〈３２〉に示すように、診断ツール７からの特定ＤＴＣ削除情報に従って、特定ＤＴＣテーブル２３から情報を削除する。この例では、図１１おいて、点線で示される更新前の特定ＤＴＣテーブル２３が、実線で示される特定ＤＴＣテーブル２３のように更新される。
【００８６】
そして、マスタＥＣＵ１０は、特定ＤＴＣテーブル２３の更新を完了すると、〈３３〉に示すように、診断ツール７に対して更新完了を示す応答メッセージを送信する。
よって、ＯＢＤ車検において特定ＤＴＣが減らされた場合に、特定ＤＴＣテーブル２３を更新することができる。
【００８７】
［６．特定ＤＴＣテーブルに特定ＤＴＣが追加記録された場合の処理］
特定ＤＴＣテーブル２３に新たな特定ＤＴＣが追加記録された場合に、その新たな特定ＤＴＣがスレーブＥＣＵ１１〜１４の何れかに既に記憶されていて、マスタＥＣＵ１０に記憶されないと、ＤＴＣ記憶の整合が崩れてしまう。ここで言うＤＴＣ記憶の整合とは、「検出されたＤＴＣのうち、特定ＤＴＣはマスタＥＣＵ１０に記憶され、非特定ＤＴＣは発生元のスレーブＥＣＵ１１〜１４に記憶される」ということである。
【００８８】
そこで次に、特定ＤＴＣテーブル２３に新たな特定ＤＴＣが追加記録された場合に、ＤＴＣ記憶の整合を確保するために、マスタＥＣＵ１０とスレーブＥＣＵ１１〜１４とが行う処理について、説明する。
【００８９】
［６−１．マスタＥＣＵが特定ＤＴＣの追加記録後に行う処理］
マスタＥＣＵ１０は、図８の動作によって特定ＤＴＣテーブル２３に特定ＤＴＣを追加記録した後、図１２の追加後整合用処理を行う。尚、図１２の追加後整合用処理は、スレーブＥＣＵ１１〜１４のうち、特定ＤＴＣテーブル２３に追加された特定ＤＴＣの発生元のスレーブＥＣＵ（以下、対象スレーブＥＣＵ）毎について実施される。
【００９０】
図１２に示すように、マスタＥＣＵ１０は、Ｓ４１０にて、対象スレーブＥＣＵにＤＴＣ出力要求を送信する。マスタＥＣＵ１０から対象スレーブＥＣＵへのＤＴＣ出力要求は、対象スレーブＥＣＵに対して、記憶領域２１に記憶されているＤＴＣを要求するためのメッセージである。
【００９１】
一方、処理の図示を省略するが、対象スレーブＥＣＵは、マスタＥＣＵ１０が上記Ｓ４１０で送信したＤＴＣ出力要求を受信すると、記憶領域２１に記憶されている全てのＤＴＣを含む応答メッセージを、マスタＥＣＵ１０に送信する。
【００９２】
このため、マスタＥＣＵ１０は、対象スレーブＥＣＵにＤＴＣ出力要求を送信した後、図１２のＳ４２０にて、対象スレーブＥＣＵからの応答メッセージを受信したか否かを判定し、対象スレーブＥＣＵからの応答メッセージを受信するまで待つ。そして、マスタＥＣＵ１０は、対象スレーブＥＣＵからの応答メッセージを受信すると、Ｓ４３０に進む。
【００９３】
マスタＥＣＵ１０は、Ｓ４３０では、対象スレーブＥＣＵからの応答メッセージに含まれていたＤＴＣ（以下、応答ＤＴＣ）の数を、変数であるＮに代入する。そして、次のＳ４４０にて、Ｎが０であるか否かを判定し、Ｎが０でなければ、Ｓ４５０に進む。
【００９４】
マスタＥＣＵ１０は、Ｓ４５０では、応答ＤＴＣのうち、Ｎ番目のＤＴＣと、特定ＤＴＣテーブル２３に記録されている特定ＤＴＣとを照合することにより、Ｎ番目のＤＴＣが特定ＤＴＣであるか否かを判定する。尚、Ｎ番目の決め方は、どのような規則の決め方でも良い。
【００９５】
マスタＥＣＵ１０は、上記Ｓ４５０にて、Ｎ番目のＤＴＣが特定ＤＴＣであると判定した場合には、Ｓ４６０にて、Ｎ番目のＤＴＣを記憶領域２５に記憶する。更に、Ｓ４６０では、特定ＤＴＣテーブル２３において、Ｎ番目のＤＴＣと同じ特定ＤＴＣに対応する記憶有無情報を「○」、即ち「記憶あり」に書き換える。尚、この場合、Ｎ番目のＤＴＣは、特定ＤＴＣテーブル２３に追加された特定ＤＴＣであり、追加故障情報に相当する。
【００９６】
そして、マスタＥＣＵ１０は、次のＳ４７０にて、後述のＳ５００で対象スレーブＥＣＵに送信する予定の指示メッセージに、Ｎ番目のＤＴＣと、このＤＴＣの破棄を意味する指示情報とを、対応付けて追加し、その後、Ｓ４９０に進む。尚、ここで言う破棄も、消去を意味する。
【００９７】
また、マスタＥＣＵ１０は、上記Ｓ４５０にて、Ｎ番目のＤＴＣが特定ＤＴＣでない判定した場合には、Ｓ４８０に進む。そして、Ｓ４８０では、後述のＳ５００で対象スレーブＥＣＵに送信する予定の指示メッセージに、Ｎ番目のＤＴＣと、このＤＴＣの保持を意味する指示情報とを、対応付けて追加し、その後、Ｓ４９０に進む。
【００９８】
マスタＥＣＵ１０は、Ｓ４９０では、Ｎをデクリメント（即ち、−１）し、その後、Ｓ４４０に戻る。
また、マスタＥＣＵ１０は、上記Ｓ４４０にて、Ｎが０であると判定した場合には、Ｓ５００に進み、Ｓ４７０，Ｓ４８０でＤＴＣ及び指示情報が追加された指示メッセージを対象スレーブＥＣＵに送信する。そして、その後、当該追加後整合用処理を終了する。尚、応答ＤＴＣの数が０であった場合、マスタＥＣＵ１０は、Ｓ５００では、指示メッセージを送信しなくて良い。
【００９９】
［６−２．スレーブＥＣＵが行う指示対応処理］
スレーブＥＣＵ１１〜１４は、マスタＥＣＵ１０が上記Ｓ５００で送信した当該スレーブＥＣＵ宛ての指示メッセージを受信すると、図１３に示す指示対応処理を行う。
【０１００】
図１３に示すように、スレーブＥＣＵ１１〜１４は、Ｓ５１０にて、マスタＥＣＵ１０からの指示メッセージに含まれていたＤＴＣの数を、変数であるＮに代入する。
スレーブＥＣＵ１１〜１４は、次のＳ５２０にて、Ｎが０であるか否かを判定し、Ｎが０でなければ、Ｓ５３０に進む。
【０１０１】
スレーブＥＣＵ１１〜１４は、Ｓ５３０では、マスタＥＣＵ１０からの指示メッセージに含まれているＤＴＣ及び指示情報のうち、Ｎ番目のＤＴＣに対する指示情報を判別することにより、Ｎ番目のＤＴＣを記憶するか否かを判定する。具体的には、Ｎ番目のＤＴＣに対応する指示情報が、ＤＴＣの保持を意味する指示情報であれば、Ｎ番目のＤＴＣを記憶すると判定される。また、Ｎ番目のＤＴＣに対応する指示情報が、ＤＴＣの破棄を意味する指示情報であれば、Ｎ番目のＤＴＣを記憶しない（即ち、消去する）と判定される。
【０１０２】
スレーブＥＣＵ１１〜１４は、上記Ｓ５３０にて、Ｎ番目のＤＴＣを記憶すると判定した場合には、Ｓ５５０に進み、指示メッセージに含まれていたＮ番目のＤＴＣを保持する。つまり、このＮ番目のＤＴＣは、当該スレーブＥＣＵの記憶領域２１に記憶されているＤＴＣであり、このＤＴＣを引き続き記憶領域２１に記憶させておく。そして、その後、Ｓ５６０に進む。
【０１０３】
また、スレーブＥＣＵ１１〜１４は、上記Ｓ５３０にて、Ｎ番目のＤＴＣを記憶しないと判定した場合には、Ｓ５４０に進み、指示メッセージに含まれていたＮ番目のＤＴＣを記憶領域２１から消去する。そして、その後、Ｓ５６０に進む。
【０１０４】
スレーブＥＣＵ１１〜１４は、Ｓ５６０では、Ｎをデクリメントし、その後、Ｓ５２０に戻る。
また、スレーブＥＣＵ１１〜１４は、上記Ｓ５２０にて、Ｎが０であると判定した場合には、そのまま当該指示対応処理を終了する。
【０１０５】
［６−３．ラダーチャートによる動作説明］
上記追加後整合用処理及び指示対応処理により、マスタＥＣＵ１０とスレーブＥＣＵ１１〜１４は、図１４に示すように動作する。尚、図１４におけるスレーブＥＣＵは、例えばスレーブＥＣＵ１１であるとして説明する。
【０１０６】
図１４に示すように、マスタＥＣＵ１０は、Ｓ５１にて、スレーブＥＣＵ１１にＤＴＣ出力要求を送信する。
すると、スレーブＥＣＵ１１は、Ｓ５２にて、記憶領域２１に記憶されている全てのＤＴＣをマスタＥＣＵ１０に送信する。
【０１０７】
マスタＥＣＵ１０は、Ｓ５３にて、スレーブＥＣＵ１１から受信したＤＴＣを、特定ＤＴＣテーブル２３に記録されている特定ＤＴＣと照合することにより、受信したＤＴＣが特定ＤＴＣであるか非特定ＤＴＣであるかを判別する。
【０１０８】
そして、マスタＥＣＵ１０は、スレーブＥＣＵ１１から受信したＤＴＣのうち、特定ＤＴＣであると判定したＤＴＣについては、Ｓ５４にて、記憶領域２５に記憶し、更に、Ｓ５５にて、そのＤＴＣの破棄をスレーブＥＣＵ１１に指示する。
【０１０９】
また、マスタＥＣＵ１０は、スレーブＥＣＵ１１から受信したＤＴＣのうち、特定ＤＴＣでない（即ち、非特定ＤＴＣである）と判定したＤＴＣについては、記憶領域２５に記憶せず、Ｓ５５にて、そのＤＴＣの保持をスレーブＥＣＵ１１に指示する。
【０１１０】
そして、スレーブＥＣＵ１１は、Ｓ５６にて、マスタＥＣＵ１０からの指示に従いＤＴＣの破棄（即ち、消去）又は保持を行う。
［６−４．作用例］
例えば図１５に示すように、図９の例と同様に、点線で示される更新前の特定ＤＴＣテーブル２３が、実線で示される特定ＤＴＣテーブル２３のように更新されたとする。つまり、発生元がスレーブＥＣＵ１１（即ち、ＥＣＵ＿Ａ）のＤＴＣ２と、発生元がスレーブＥＣＵ１２（即ち、ＥＣＵ＿Ｂ）のＤＴＣ３とが、新たな特定ＤＴＣとして、特定ＤＴＣテーブル２３に追加記録されたとする。
【０１１１】
この場合、対象スレーブＥＣＵは、スレーブＥＣＵ１１とスレーブＥＣＵ１２となる。そして、スレーブＥＣＵ１１ついては、下記〈４１〉〜〈４６〉の動作が行われ、スレーブＥＣＵ１２ついては、下記〈５１〉〜〈５５〉の動作が行われる。
【０１１２】
〈４１〉マスタＥＣＵ１０は、スレーブＥＣＵ１１にＤＴＣ出力要求を送信する。
〈４２〉スレーブＥＣＵ１１は、記憶領域２１に記憶されている全てのＤＴＣを、マスタＥＣＵ１０に送信する。この例では、ＤＴＣ２がマスタＥＣＵ１０に送信される。
【０１１３】
〈４３〉マスタＥＣＵ１０は、スレーブＥＣＵ１１から送られてきたＤＴＣ（即ち、ＤＴＣ２）が特定ＤＴＣであるか否かを、特定ＤＴＣテーブルを用いて判定する。この例では、特定ＤＴＣテーブル２３にＤＴＣ２が追加記録されているため、ＤＴＣ２は特定ＤＴＣであると判定される。
【０１１４】
〈４４〉このため、マスタＥＣＵ１０は、ＤＴＣ２を記憶領域２５に記憶する。更に、特定ＤＴＣテーブル２３において、ＤＴＣ２に対応する記憶有無情報を「○」に書き換える。
【０１１５】
〈４５〉そして、マスタＥＣＵ１０は、スレーブＥＣＵ１１に、ＤＴＣ２の破棄を指示する。
〈４６〉スレーブＥＣＵ１１は、マスタＥＣＵ１０からの指示に従って、記憶領域２１からＤＴＣ２を削除する。
【０１１６】
このように、特定ＤＴＣテーブル２３に追加記録されたＤＴＣ２が、発生元のスレーブＥＣＵ１１に既に記憶されている場合には、そのＤＴＣ２は、マスタＥＣＵ１０に記憶され、スレーブＥＣＵ１１からは消去される。
【０１１７】
〈５１〉マスタＥＣＵ１０は、スレーブＥＣＵ１２にもＤＴＣ出力要求を送信する。
〈５２〉スレーブＥＣＵ１２は、記憶領域２１に記憶されている全てのＤＴＣを、マスタＥＣＵ１０に送信する。この例では、ＤＴＣ７がマスタＥＣＵ１０に送信される。
【０１１８】
〈５３〉マスタＥＣＵ１０は、スレーブＥＣＵ１２から送られてきたＤＴＣ（即ち、ＤＴＣ７）が特定ＤＴＣであるか否かを、特定ＤＴＣテーブルを用いて判定する。この例では、特定ＤＴＣテーブル２３にＤＴＣ７が記録されていないため、ＤＴＣ７は非特定ＤＴＣであると判定される。
【０１１９】
〈５４〉よって、マスタＥＣＵ１０は、ＤＴＣ７を記憶領域２５に記憶せず、スレーブＥＣＵ１２に、ＤＴＣ７の保持を指示する。
〈５５〉スレーブＥＣＵ１１は、マスタＥＣＵ１０からの指示に従って、記憶領域２１にＤＴＣ７を記憶したままにする。
【０１２０】
［７．特定ＤＴＣテーブルから特定ＤＴＣが削除された場合の処理］
特定ＤＴＣテーブル２３から何れかの特定ＤＴＣが削除された場合には、特定ＤＴＣでなくなったＤＴＣ（即ち、非特定ＤＴＣ）がマスタＥＣＵ１０に記憶された状態になる可能性がある。つまり、ＤＴＣ記憶の整合が崩れてしまう可能性がある。
【０１２１】
そこで次に、特定ＤＴＣテーブル２３から特定ＤＴＣが削除された場合に、ＤＴＣ記憶の整合を確保するために、マスタＥＣＵ１０とスレーブＥＣＵ１１〜１４とが行う処理について、説明する。尚、マスタＥＣＵ１０は、図１０の動作による特定ＤＴＣテーブル２３の更新、即ち、特定ＤＴＣを削除する更新を行った場合、少なくとも、後述する図１６の削除後整合用処理を完了するまでは、更新前の特定ＤＴＣテーブル２３を保存しておくようになっている。
【０１２２】
［７−１．マスタＥＣＵが特定ＤＴＣの削除後に行う処理］
マスタＥＣＵ１０は、図１０の動作によって特定ＤＴＣテーブル２３から何れかの特定ＤＴＣを削除した後、図１６の削除後整合用処理を行う。
【０１２３】
図１６に示すように、マスタＥＣＵ１０は、Ｓ６１０にて、記憶領域２５に記憶されているＤＴＣの数を、変数であるＮに代入する。そして、次のＳ６２０にて、Ｎが０であるか否かを判定し、Ｎが０でなければ、Ｓ６３０に進む。
【０１２４】
マスタＥＣＵ１０は、Ｓ６３０では、記憶領域２５に記憶されているＤＴＣのうち、Ｎ番目のＤＴＣと、更新後の特定ＤＴＣテーブル２３に記録されている特定ＤＴＣとを照合することにより、Ｎ番目のＤＴＣが特定ＤＴＣであるか否かを判定する。
【０１２５】
マスタＥＣＵ１０は、上記Ｓ６３０にて、Ｎ番目のＤＴＣが特定ＤＴＣであると判定した場合には、そのままＳ６６０に進む。
また、マスタＥＣＵ１０は、上記Ｓ６３０にて、Ｎ番目のＤＴＣが特定ＤＴＣでないと判定した場合には、Ｓ６４０に進む。この場合、Ｎ番目のＤＴＣは、特定ＤＴＣテーブル２３から削除された旧来の特定ＤＴＣ、即ち、特定ＤＴＣから非特定ＤＴＣに変更されたＤＴＣであり、削除故障情報に相当する。
【０１２６】
マスタＥＣＵ１０は、Ｓ６４０では、Ｎ番目のＤＴＣを記憶領域２５から削除する。
マスタＥＣＵ１０は、次のＳ６５０にて、Ｎ番目のＤＴＣの発生元のスレーブＥＣＵを、更新前の特定ＤＴＣテーブル２３から特定する。そして、特定した発生元のスレーブＥＣＵ宛ての指示メッセージに、Ｎ番目のＤＴＣと、このＤＴＣの記憶を意味する指示情報（以下、記憶指示情報）とを、対応付けて追加し、その後、Ｓ６６０に進む。
【０１２７】
マスタＥＣＵ１０は、Ｓ６６０では、Ｎをデクリメントし、その後、Ｓ６２０に戻る。
また、マスタＥＣＵ１０は、上記Ｓ６２０にて、Ｎが０であると判定した場合には、Ｓ６７０に進む。そして、Ｓ６７０では、上記Ｓ６５０で特定した発生元のスレーブＥＣＵ宛ての指示メッセージであって、記憶対象のＤＴＣと記憶指示情報とが含まれた指示メッセージを送信する。そして、その後、当該追加後整合用処理を終了する。
【０１２８】
尚、特定ＤＴＣテーブル２３から削除されたＤＴＣの発生元のスレーブＥＣＵが複数あるのであれば、Ｓ６７０では、その複数の各スレーブＥＣＵに対する指示メッセージが送信される。また、記憶領域２５に記憶されているＤＴＣの数が０であった場合、あるいは、Ｓ６５０の処理が一回も行われなかった場合、マスタＥＣＵ１０は、Ｓ６７０では、指示メッセージを送信しなくて良い。
【０１２９】
一方、処理の図示を省略するが、スレーブＥＣＵ１１〜１４は、マスタＥＣＵ１０が上記Ｓ６７０で送信した当該スレーブＥＣＵ宛ての指示メッセージを受信すると、その指示メッセージ内の記憶指示情報に従って、その指示メッセージ内のＤＴＣを記憶領域２１に記憶する。
【０１３０】
［７−２．ラダーチャートによる動作説明］
マスタＥＣＵ１０が上記削除後整合用処理を行うことにより、マスタＥＣＵ１０とスレーブＥＣＵ１１〜１４は、図１７に示すように動作する。
【０１３１】
図１７に示すように、マスタＥＣＵ１０は、Ｓ６１にて、記憶領域２５に記憶されているＤＴＣを、更新後の特定ＤＴＣテーブル２３に記録されている特定ＤＴＣと照合することにより、記憶領域２５に記憶されているＤＴＣのそれぞれについて、特定ＤＴＣであるか否かを判定する。
【０１３２】
そして、マスタＥＣＵ１０は、特定ＤＴＣでないと判定したＤＴＣ（即ち、旧来の特定ＤＴＣ）を、Ｓ６２にて、記憶領域２５から削除し、Ｓ６３にて、その削除したＤＴＣの発生元のスレーブＥＣＵに対して、そのＤＴＣの記憶を指示する。すると、この指示を受けたスレーブＥＣＵは、Ｓ６４にて、指示されたＤＴＣを記憶領域２１に記憶する。
【０１３３】
［７−３．作用例］
例えば図１８に示すように、図１１の例と同様に、点線で示される更新前の特定ＤＴＣテーブル２３が、実線で示される特定ＤＴＣテーブル２３のように更新されたとする。つまり、発生元がスレーブＥＣＵ１１（即ち、ＥＣＵ＿Ａ）のＤＴＣ２と、発生元がスレーブＥＣＵ１２（即ち、ＥＣＵ＿Ｂ）のＤＴＣ３とが、特定ＤＴＣテーブル２３から削除されたとする。
【０１３４】
この場合、下記〈６１〉〜〈６４〉の動作が行われる。
〈６１〉マスタＥＣＵ１０は、記憶領域２５に記憶されているＤＴＣのそれぞれについて、特定ＤＴＣであるか否かを、更新後の特定ＤＴＣテーブル２３に基づき判定する。この例では、記憶領域２５に記憶されているＤＴＣ２が、特定ＤＴＣでないと判定される。
【０１３５】
〈６２〉このため、マスタＥＣＵ１０は、記憶領域２５からＤＴＣ２を削除する。
〈６３〉そして、マスタＥＣＵ１０は、ＤＴＣ２の発生元のスレーブＥＣＵ１１に対して、ＤＴＣ２の記憶を指示する。
【０１３６】
〈６４〉スレーブＥＣＵ１１は、マスタＥＣＵ１０からの指示に従って、記憶領域２１にＤＴＣ２を記憶する。
このように、特定ＤＴＣテーブル２３から削除されたＤＴＣ２が、マスタＥＣＵ１０に記憶されていた場合には、そのＤＴＣ２が、マスタＥＣＵ１０から削除され、発生元のスレーブＥＣＵ１１に記憶される。
【０１３７】
［８．効果］
以上詳述した実施形態によれば、以下の効果を奏する。尚、上記実施形態では、ＤＴＣが故障情報に相当し、特定ＤＴＣが特定故障情報に相当している。
（１）スレーブＥＣＵ１１〜１４の何れかで検出されたＤＴＣのうち、特定ＤＴＣは、マスタＥＣＵ１０に記憶される。このため、スレーブＥＣＵ１１〜１４においてＤＴＣを記憶するためのメモリ容量（例えば、記憶領域２１の容量）が少なくて済み、特定ＤＴＣがどこにも記憶されなくなってしまうことも防止することができる。
【０１３８】
（２）そして、各スレーブＥＣＵ１１〜１４は、当該ＥＣＵが発生元であるＤＴＣを診断ツール７に送信する場合には、当該ＥＣＵが発生元である特定ＤＴＣをマスタＥＣＵ１０から取得すれば良い。このため、各スレーブＥＣＵ１１〜１４は、他の複数のＥＣＵから特定ＤＴＣを収集する必要がない。よって、車両で検出されたＤＴＣを診断ツール７に渡すのに必要な時間を、短くすることができる。更に、通信バス３の負荷（即ち、トラフィック）が大きくなってしまうことも防止することができる。
【０１３９】
（３）また、各スレーブＥＣＵ１１〜１４は、当該ＥＣＵで検出されたＤＴＣをマスタＥＣＵ１０に送信した後、その送信したＤＴＣを、マスタＥＣＵ１０からの破棄または記憶の指示に応じて、破棄または記憶すれば良い。このことは、「どのＤＴＣが特定ＤＴＣであるか」という特定ＤＴＣの選定内容によって変わるものではない。そして、特定ＤＴＣの選定内容が変わった場合、特定ＤＴＣテーブル２３に記録される特定ＤＴＣを変更することで対応可能となる。
【０１４０】
（４）特定ＤＴＣテーブル２３には、特定ＤＴＣが、その特定ＤＴＣの発生元のスレーブＥＣＵを特定可能な情報と対応付けて記録されている。このため、特定ＤＴＣテーブル２３は、どのＤＴＣが特定ＤＴＣであるか、という第１種事項だけでなく、特定ＤＴＣの発生元がどのスレーブＥＣＵであるか、という第２種事項も表すことができる。
【０１４１】
（５）スレーブＥＣＵ１１〜１４は、診断ツール７から送信された当該ＥＣＵ宛てのＤＴＣ出力要求を受信すると、図６のＤＴＣ出力制御処理を行う。そして、マスタＥＣＵ１０は、スレーブＥＣＵ１１〜１４が図６のＳ３１０で送信するＤＴＣ出力要求を受信すると、前述のＤＴＣ応答制御処理を行う。このため、スレーブＥＣＵ１１〜１４は、診断ツール７からのＤＴＣ出力要求に対して、当該ＥＣＵが発生元の特定ＤＴＣと非特定ＤＴＣを、まとめて応答することができる。よって、応答に要する時間が短くなる。
【０１４２】
（６）マスタＥＣＵ１０は、診断ツール７からの特定ＤＴＣ追加情報（即ち、追加要求）に従って、特定ＤＴＣテーブル２３に特定ＤＴＣを追加して記録する追加機能を備える。このため、車両で検出されるＤＴＣのうち、特定ＤＴＣとして定められるものが増やされた場合にも、対応することができる。
【０１４３】
（７）マスタＥＣＵ１０は、診断ツール７からの特定ＤＴＣ削除情報（即ち、削除要求）に従って、特定ＤＴＣテーブル２３から既に記録されている特定ＤＴＣの何れかを削除する削除機能を備える。このため、車両で検出されるＤＴＣのうち、特定ＤＴＣとして定められるものが減らされた場合にも、対応することができる。
【０１４４】
（８）マスタＥＣＵ１０は、特定ＤＴＣテーブル２３に特定ＤＴＣを追加した場合に、その追加された特定ＤＴＣが発生元のスレーブＥＣＵに記憶されているならば、その追加された特定ＤＴＣを、記憶領域２５に記憶すると共に、発生元のスレーブＥＣＵから消去させる。このため、特定ＤＴＣテーブル２３に特定ＤＴＣが追加された場合に、ＤＴＣ記憶の整合が崩れてしまうことを自動的に解消することができる。
【０１４５】
（９）マスタＥＣＵ１０は、特定ＤＴＣテーブル２３から特定ＤＴＣの何れかを削除した場合に、その削除されたＤＴＣが記憶領域２５に記憶されているならば、そのＤＴＣを記憶領域２５から削除すると共に、そのＤＴＣを、発生元のスレーブＥＣＵに記憶させる。このため、特定ＤＴＣテーブル２３から特定ＤＴＣの何れかが削除された場合にも、ＤＴＣ記憶の整合が崩れてしまうことを自動的に解消することができる。
【０１４６】
［９．他の実施形態］
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
【０１４７】
例えば、各ＥＣＵ１０〜１４の記憶領域２１，２５には、ＤＴＣと対応付けて、そのＤＴＣに関連する他の情報が、付加情報として記憶されても良い。付加情報としては、例えば、ＤＴＣが表す故障の検出時刻や、故障が検出されたときの車両の状態情報（即ち、フリーズフレームデータ）であって良い。フリーズフレームデータとしては、例えば、車速やエンジン回転数やブレーキ操作有無などであって良い。
【０１４８】
また、診断ツール７は、通信バス３に接続されるように構成されても良い。この場合、マスタＥＣＵ１０は、ゲートウェイ機能を備えなくても良い。
また、特定ＤＴＣは、ＯＢＤ車検における合否判定に使用されるＤＴＣに限らず、例えば、車両の特定機能の修理要否を判定するために使用されるＤＴＣ等であっても良い。
【０１４９】
また、本開示に記載の制御ユニット（即ち、ＥＣＵ１０〜１４）及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリを構成することによって提供された専用コンピュータにより、実現されても良い。あるいは、本開示に記載の制御ユニット及びその手法は、一つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されても良い。もしくは、本開示に記載の制御ユニット及びその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリと一つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されても良い。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されても良い。また、制御ユニットに含まれる各部の機能を実現する手法には、必ずしもソフトウェアが含まれている必要はなく、その全部の機能が、一つあるいは複数のハードウェアを用いて実現されても良い。
【０１５０】
また、上記実施形態における１つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、１つの構成要素が有する１つの機能を、複数の構成要素によって実現したりしても良い。また、複数の構成要素が有する複数の機能を、１つの構成要素によって実現したり、複数の構成要素によって実現される１つの機能を、１つの構成要素によって実現したりしても良い。また、上記実施形態の構成の一部を省略しても良い。
【０１５１】
また、上述した車載システム１の他、当該車載システム１の構成要素となるＥＣＵ１０〜１４、当該ＥＣＵ１０〜１４としてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体、故障情報の記憶方法など、種々の形態で本開示を実現することもできる。
【符号の説明】
【０１５２】
１…車載システム、３…通信バス、１０…マスタＥＣＵ、１１〜１４…スレーブＥＣＵ、２３…特定ＤＴＣテーブル、２５…記憶領域
【図１】
2020117058.tif 000003
【図２】
2020117058.tif 000004
【図３】
2020117058.tif 000005
【図４】
2020117058.tif 000006
【図５】
2020117058.tif 000007
【図６】
2020117058.tif 000008
【図７】
2020117058.tif 000009
【図８】
2020117058.tif 000010
【図９】
2020117058.tif 000011
【図１０】
2020117058.tif 000012
【図１１】
2020117058.tif 000013
【図１２】
2020117058.tif 000014
【図１３】
2020117058.tif 000015
【図１４】
2020117058.tif 000016
【図１５】
2020117058.tif 000017
【図１６】
2020117058.tif 000018
【図１７】
2020117058.tif 000019
【図１８】
2020117058.tif 000020