(57)【要約】【課題】互いに通信する電子制御装置の何れかに、ある故障診断の処理を行わせる場合に、その処理を実行可能な電子制御装置がどれであるかを事前に知らなくても済むようにすること。【解決手段】スキャンツール９９から強制駆動を命令されたＥＣＵ１０（選択ＥＣＵ）が、自ら処理を実行できない場合、他のＥＣＵ（非選択ＥＣＵ）に処理が実行可能かを照会する（照会処理）。照会を受けた非選択ＥＣＵは、自ら処理できると判断すると、その旨を選択ＥＣＵに報知する。そして選択ＥＣＵは、その報知をしてきた非選択ＥＣＵに強制駆動を実行させる。そして、強制駆動を実行した非選択ＥＣＵは、選択ＥＣＵにその結果を報知する。そして、選択ＥＣＵは、その結果をスキャンツール９９に転送する。【選択図】図３
2010102642.tif 000002
【特許請求の範囲】
【請求項１】
互いに情報の送受信が可能に構成された複数の電子制御装置から成り、外部装置から入力される故障診断処理の実行命令に応答する故障診断システムであって、
前記外部装置からは、前記複数の電子制御装置の内、前記外部装置が選択した電子制御装置に対し、前記実行命令が出力され、
前記各電子制御装置は、
前記外部装置から前記実行命令を受けると、自電子制御装置が前記実行命令に対応する処理を実行可能か否かを判断する第一判断手段と、
自電子制御装置が前記実行命令に対応する処理を実行可能であると前記第一判断手段によって判断されると、前記実行命令に対応する処理を実行する第一実行手段と、
自電子制御装置が前記実行命令に対応する処理を実行可能でないと前記第一判断手段によって判断されると、前記実行命令に対応する処理を実行可能か否かを、他の電子制御装置に照会する照会手段と、
他の電子制御装置から前記照会を受けると、その照会を受けた前記実行命令に対応する処理を自電子制御装置が実行可能か否かを判断する第二判断手段と、
自電子制御装置が前記実行命令に対応する処理を実行可能であると前記第二判断手段によって判断されると、前記照会をしてきた電子制御装置に対して、自電子制御装置が前記実行命令に対応する処理を実行可能であることを報知する内部報知手段と、
他の電子制御装置から前記内部報知手段による前記報知を受けると、その報知をしてきた電子制御装置に、前記実行命令に対応する処理の実行を命令する命令手段と、
他の電子制御装置から前記命令を受けると、その命令に対応する処理を実行する第二実行手段と、
を備えることを特徴とする故障診断システム。
【請求項２】
前記各電子制御装置は、
他の電子制御装置から前記内部報知手段による前記報知を受けた場合、その報知をしてきた電子制御装置を示す特定情報と、その特定情報によって示される電子制御装置によって実行可能であることが当該報知において示された処理の識別情報とを関連付けて記憶する記憶手段と、
前記外部装置から受けた実行命令に対応する処理と、前記記憶手段が記憶している前記識別情報が示す処理の何れかとが一致する場合に、前記照会手段の動作を停止させる停止手段とを備え、
前記命令手段は、前記停止手段によって前記照会手段の動作が停止させられた場合、前記外部装置からの実行命令に対応する処理と一致した前記識別情報に関連付けられて前記記憶手段に記憶されている前記特定情報に対応する電子制御装置に、当該識別情報が示す前記実行命令に対応する処理の実行を命令する
ことを特徴とする請求項１に記載の故障診断システム。
【請求項３】
前記各電子制御装置は、自電子制御装置が備える前記照会手段が動作したにも関わらず他の電子制御装置から前記内部報知手段による前記報知を受けなかった場合、何れの前記電子制御装置によっても前記実行命令に対応する処理を実行不可能であることを前記外部装置に報知する不可能報知手段を備える
ことを特徴とする請求項１又は請求項２に記載の故障診断システム。
【請求項４】
前記各電子制御装置は、
自電子制御装置が備える前記照会手段が動作したにも関わらず他の電子制御装置から前記内部報知手段による前記報知を受けることができなかった場合、当該照会手段の動作において実行可能かが照会された処理の識別情報を記憶する第二記憶手段と、
前記外部装置から受けた実行命令に対応する処理と、前記第二記憶手段が記憶している前記識別情報に対応する処理の何れかとが一致する場合に、前記照会手段の動作を禁止する禁止手段と、
前記禁止手段によって前記照会手段の動作が禁止された場合、何れの前記各電子制御装置によっても前記実行命令に対応する処理を実行不可能であることを前記外部装置に報知する第二不可能報知手段とを備える
ことを特徴とする請求項１〜請求項３の何れか一項に記載の故障診断システム。
【請求項５】
前記外部装置が出力可能な実行命令に対応する複数の故障診断処理の対象機能には、当該機能の識別情報として、それぞれ固有の識別コードが割り当てられており、
前記外部装置は、前記実行命令の出力として、当該実行命令に対応する処理の対象機能の前記識別コードを含むメッセージを、前記選択した電子制御装置に対して出力し、
前記各電子制御装置は、前記外部装置が出力可能な実行命令に対応する複数の処理の対象機能の内、自電子制御装置が制御しているものに対応する前記識別コードを記憶しており、
前記第一判断手段は、前記外部装置から受けたメッセージに含まれる前記識別コードが、前記記憶された識別コードの何れかと一致するか否かを判断することによって、自電子制御装置が前記実行命令に対応する処理を実行可能か否かの判断をし、
前記第一実行手段は、前記外部装置から受けたメッセージに含まれる前記識別コードによって、前記実行命令に対応する処理の対象機能を識別して、その処理を実行し、
前記照会手段は、前記外部装置から受けたメッセージに含まれる識別コードを含む照会メッセージを生成し、その照会メッセージを他の電子制御装置に送信することによって、前記照会の動作を実現し、
前記第二判断手段は、他の電子制御装置から受けた前記照会メッセージに含まれる前記識別コードが、前記記憶している識別コードの何れかと一致するか否かを判断することによって、自電子制御装置が前記実行命令に対応する処理を実行可能か否かの判断をし、
前記内部報知手段は、他の電子制御装置から受けた前記照会メッセージに含まれる前記識別コードを含む報知メッセージを生成し、前記照会メッセージを送信してきた電子制御装置にその報知メッセージを返信することによって、前記自電子制御装置が前記実行命令に対応する処理を実行可能であることを報知し、
前記命令手段は、他の電子制御装置から受けた前記報知メッセージに含まれる前記識別コードを含む命令メッセージを生成し、前記報知メッセージを送信してきた電子制御装置にその命令メッセージを返信することによって、前記実行命令に対応する処理の実行を命令し、
前記第二実行手段は、他の電子制御装置から受けた前記命令メッセージに含まれる前記識別コードによって、前記実行命令に対応する処理の対象機能を識別して、その処理を実行する
ことを特徴とする請求項１〜請求項４の何れか一項に記載の故障診断システム。
【請求項６】
前記外部装置は、前記処理の実行命令と共に当該処理の実行に必要なパラメータを、前記選択した電子制御装置に対して出力し、
前記第一実行手段は、自電子制御装置が前記実行命令に対応する処理を実行可能であると前記第一判断手段によって判断されると、前記実行命令に対応する処理を前記パラメータに基づいて実行し、
前記命令手段は、前記実行命令に対応する処理の実行を命令すると共に、当該命令の命令先に前記パラメータを送り、
前記第二実行手段は、前記命令手段によって送られてきたパラメータに基づいて、前記実行命令に対応する処理を実行する
ことを特徴とする請求項１〜請求項５の何れか一項に記載の故障診断システム。
【請求項７】
前記第二実行手段は、
他の電子制御装置から前記命令を受けると、その命令に対応する処理の当該第二実行手段による実行が可能な状態か否かを判断する第三判断手段を備え、その第三判断手段によって実行可能状態と判断されると、前記命令に対応する処理を実行し、前記第三判断手段によって実行不可能状態と判断されると、その実行不可能の旨とその実行不可能の理由とを、前記命令してきた電子制御装置に対して報知するようになっており、
前記各電子制御装置は、
他の電子制御装置から前記処理の実行不可能の旨および前記実行不可能の理由の報知を受けると、その報知の内容を前記外部装置に対して報知する外部失敗報知手段を備える
ことを特徴とする請求項１〜請求項６の何れか一項に記載の故障診断システム。
【請求項８】
前記各電子制御装置は、車両に搭載された各種車載装置を制御するものであり、
前記外部装置から出力される実行命令に対応する処理は、前記車載装置を故障診断のために強制駆動させるための処理である
ことを特徴とする請求項１〜請求項７の何れか一項に記載の故障診断システム。
【請求項９】
外部装置から出力される故障診断処理の実行命令を受ける一つの電子制御装置であるマスタ装置、及び、前記マスタ装置と情報の送受信が可能に構成された電子制御装置である複数のスレイブ装置から成り、前記外部装置から入力される前記実行命令に応答する故障診断システムであって、
前記マスタ装置は、
前記外部装置から前記実行命令を受けると、前記複数のスレイブ装置の中から、前記実行命令に対応する処理を実行可能なスレイブ装置を検索する検索手段と、
前記実行命令に対応する処理の実行を、前記検索手段が検索したスレイブ装置に命令する命令手段とを備え、
前記各スレイブ装置は、前記命令手段によって命令を受けると、当該命令に対応する処理を実行するスレイブ実行手段を備える
ことを特徴とする故障診断システム。
【請求項１０】
前記各スレイブ装置は、前記スレイブ実行手段の実行結果を、前記マスタ装置に報知する結果報知手段を備え、
前記マスタ装置は、前記結果報知手段によって報知された前記スレイブ実行手段の実行結果を、前記外部装置に報知する外部報知手段を備える
ことを特徴とする請求項９に記載の故障診断システム。
【請求項１１】
前記マスタ装置は、前記各スレイブ装置によって実行可能な処理の種類を示す情報を前記スレイブ装置毎に有したテーブルを保持する保持手段を備え、
前記検索手段は、前記保持手段が保持するテーブルを参照することで、前記実行命令に対応する処理を実行可能なスレイブ装置を検索する
ことを特徴とする請求項９又は請求項１０に記載の故障診断システム。
【請求項１２】
前記各スレイブ装置は、
自電子制御装置によって実行可能な処理の種類を示す実行可能情報を記憶する実行可能情報記憶手段と、
自電子制御装置が備える前記実行可能情報記憶手段が記憶する前記実行可能情報を、前記マスタ装置に送信する送信手段とを備え、
前記検索手段は、前記各スレイブ装置の前記送信手段から送信されてくる前記実行可能情報に基づいて、前記保持手段が保持するテーブルを更新する更新手段を備える
ことを特徴とする請求項１１に記載の故障診断システム。
【請求項１３】
前記送信手段は、自身を備える前記スレイブ装置の電源が投入されたことを契機に動作する
ことを特徴とする請求項１２に記載の故障診断システム。
【請求項１４】
前記マスタ装置は、前記各スレイブ装置のそれぞれに対して、前記送信手段の動作を要求する要求手段を備え、
前記要求手段は、前記検索手段が動作する直前に動作し、
前記送信手段は、前記要求手段からの前記要求を受けると、前記実行可能情報を前記マスタ装置に送信する
ことを特徴とする請求項１２に記載の故障診断システム。
【請求項１５】
前記各スレイブ装置は、車両に搭載された各種車載装置を制御するものであり、
前記外部装置から出力される実行命令に対応する処理は、前記車載装置を故障診断のために強制駆動させるための処理である
ことを特徴とする請求項９〜請求項１４の何れか一項に記載の故障診断システム。
【請求項１６】
互いに情報の送受信が可能に構成された複数の電子制御装置から成り、外部装置から入力される故障診断処理の実行命令に応答する故障診断システムであって、
前記外部装置からは、前記複数の電子制御装置の内、前記外部装置が選択した電子制御装置に対し、前記実行命令が出力され、
前記各電子制御装置は、
前記外部装置から前記実行命令を受けると、自電子制御装置が前記実行命令に対応する処理を実行可能か否かを判断する第一判断手段と、
自電子制御装置が前記実行命令に対応する処理を実行可能であると前記第一判断手段によって判断されると、前記実行命令に対応する処理を実行する第一実行手段と、
自電子制御装置が前記実行命令に対応する処理を実行可能でないと前記第一判断手段によって判断されると、他の電子制御装置に、前記実行命令に対応する処理の実行を命令する命令手段と、
他の電子制御装置から前記命令を受けると、その命令に対応する処理を自電子制御装置が実行可能か否かを判断する第二判断手段と、
自電子制御装置が前記実行命令に対応する処理を実行可能であると前記第二判断手段によって判断されると、その命令に対応する処理を実行する第二実行手段と、
を備えることを特徴とする故障診断システム。
【請求項１７】
互いに情報の送受信が可能に構成された複数の電子制御装置から成り、外部装置から入力される故障診断処理の実行命令に応答する故障診断システムであって、
前記外部装置からは、前記複数の電子制御装置の内、前記外部装置が選択した電子制御装置に対し、前記実行命令が出力され、
前記各電子制御装置は、
前記外部装置から前記実行命令を受けると、自電子制御装置が前記実行命令に対応する処理を実行可能か否かを判断する第一判断手段と、
自電子制御装置が前記実行命令に対応する処理を実行可能であると前記第一判断手段によって判断されると、前記実行命令に対応する処理を実行する第一実行手段と、
自電子制御装置が前記実行命令に対応する処理を実行可能でないと前記第一判断手段によって判断されると、前記実行命令に対応する処理を実行可能か否かを、他の電子制御装置に照会する照会手段と、
他の電子制御装置から前記照会を受けると、その照会を受けた前記実行命令に対応する処理を自電子制御装置が実行可能か否かを判断する第二判断手段と、
自電子制御装置が前記実行命令に対応する処理を実行可能であると前記第二判断手段によって判断されると、前記照会をしてきた電子制御装置に対して、自電子制御装置が前記実行命令に対応する処理を実行可能であることを報知する内部報知手段と、
他の電子制御装置から前記内部報知手段による前記報知を受けると、その報知をしてきた電子制御装置によって、前記実行命令に対応する処理を実行可能であることを、前記外部装置に報知する実行可能報知手段とを備える
ことを特徴とする故障診断システム。
【請求項１８】
互いに情報の送受信が可能に構成された複数の電子制御装置から成り、外部装置から入力される故障診断処理の実行命令に応答する故障診断システムであって、
前記外部装置からは、前記複数の電子制御装置の内、前記外部装置が選択した電子制御装置に対し、前記実行命令が出力され、
前記各電子制御装置は、
前記外部装置から前記実行命令を受けると、自電子制御装置が前記実行命令に対応する処理を実行可能か否かを判断する第一判断手段と、
自電子制御装置が前記実行命令に対応する処理を実行可能であると前記第一判断手段によって判断されると、前記実行命令に対応する処理を実行する第一実行手段と、
自電子制御装置が前記実行命令に対応する処理を実行可能でないと前記第一判断手段によって判断されると、前記実行命令に対応する処理を実行可能か否かを、他の電子制御装置に照会する照会手段と、
他の電子制御装置から前記照会を受けると、その照会を受けた前記実行命令に対応する処理を自電子制御装置が実行可能か否かを判断する第二判断手段と、
自電子制御装置が前記実行命令に対応する処理を実行可能であると前記第二判断手段によって判断されると、自電子制御装置によって前記実行命令に対応する処理を実行可能であることを、前記外部装置に報知する実行可能報知手段とを備える
ことを特徴とする故障診断システム。
【請求項１９】
外部装置から出力される故障診断処理の実行命令を受ける一つの電子制御装置であるマスタ装置、及び、前記マスタ装置と情報の送受信が可能に構成された電子制御装置である複数のスレイブ装置から成り、前記外部装置から入力される前記実行命令に応答する故障診断システムにおいて、前記マスタ装置として用いられる電子制御装置であって、
前記外部装置から前記実行命令を受けると、前記複数のスレイブ装置の中から、前記実行命令に対応する処理を実行可能なスレイブ装置を検索する検索手段と、
前記実行命令に対応する処理の実行を、前記検索手段が検索したスレイブ装置に命令する命令手段と、
を備えることを特徴とする電子制御装置。
【請求項２０】
互いに情報の送受信が可能に構成された複数の電子制御装置から成ると共に、外部装置から、前記複数の電子制御装置の内、その外部装置が選択した電子制御装置に対して、故障診断処理の実行命令が出力され、前記複数の電子制御装置の内の何れかが前記実行命令に対応する故障診断処理を実行する故障診断システムにおいて、前記電子制御装置として用いられる電子制御装置であって、
前記外部装置から前記実行命令を受けると、自電子制御装置が前記実行命令に対応する処理を実行可能か否かを判断する第一判断手段と、
自電子制御装置が前記実行命令に対応する処理を実行可能であると前記第一判断手段によって判断されると、前記実行命令に対応する処理を実行する第一実行手段と、
自電子制御装置が前記実行命令に対応する処理を実行可能でないと前記第一判断手段によって判断されると、前記実行命令に対応する処理を実行可能か否かを、他の電子制御装置に照会する照会手段と、
他の電子制御装置から前記照会を受けると、その照会を受けた前記実行命令に対応する処理を自電子制御装置が実行可能か否かを判断する第二判断手段と、
自電子制御装置が前記実行命令に対応する処理を実行可能であると前記第二判断手段によって判断されると、前記照会をしてきた電子制御装置に対して、自電子制御装置が前記実行命令に対応する処理を実行可能であることを報知する内部報知手段と、
他の電子制御装置から前記内部報知手段による前記報知を受けると、その報知をしてきた電子制御装置に、前記実行命令に対応する処理の実行を命令する命令手段と、
他の電子制御装置から前記命令を受けると、その命令に対応する処理を実行する第二実行手段と、
を備えることを特徴とする電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、故障診断のためのシステム及び電子制御装置に関する。
【背景技術】
【０００２】
車両に搭載されて用いられるＥＣＵ（電子制御装置）について、複数のＥＣＵ間の連携によって故障診断する技術が既に知られている（例えば特許文献１）。この技術においては、複数のＥＣＵを管理するＥＣＵが故障情報を車両外部に設置したサーバに送ると、故障の内容に応じて、所定のＥＣＵが、サーバに記憶された診断プログラムによって、通信ネットワークで結ばれた全対象ＥＣＵに診断を掛け、ＥＣＵ間にまたがる故障の検出を実行する。
【０００３】
この他、強制駆動による故障診断システムが既に知られている（例えば特許文献２）。この故障診断システムにおいては、作業者が、スキャンツール（故障診断装置）を操作して、任意の制御対象を強制駆動させるためのコード（以下「命令コード」という）を入力すると、その命令コードがスキャンツールから電子制御装置へ送信される。そして、電子制御装置は、スキャンツールからの命令コードが示す制御対象を予め定められたパターンで強制的に駆動することになる。
【特許文献１】特開２００３−１９９３１号公報
【特許文献２】特開２００７−２４０４３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで特許文献２の技術は、強制駆動を実行するＥＣＵが特定されている場合のものである。しかし実際には、特許文献１のように、通信ネットワークで複数のＥＣＵが連携していることが多い。このような場合に、ある制御対象の強制駆動を実現しようとすると、その制御対象の駆動を担当しているＥＣＵに、上記強制駆動に対応する命令コードを入力しなくてはならない。そのためには、上記ＥＣＵを、上記命令コードの出力先としてスキャンツールによって指定する必要がある。つまり、目的とする強制駆動の機能がどのＥＣＵに割り付けられているか、検査担当者が知っておかなくてはならない。
【０００５】
ところが、複数のＥＵＣから成る通信ネットワークの機能構成が変わることで、それぞれの制御対象の駆動を担当しているＥＣＵが替わることがある。そうすると、機能構成が変わる以前のＥＣＵを指定しても、目的とする強制駆動は実行できない。そのような場合は都度、強制駆動させたい制御対象の駆動を担当しているＥＣＵがどれであるか、検査担当者は調べなくてはならない。
【０００６】
ここで、図１９・図２０を用いて、この課題について具体例を用いて説明する。図１９は、従来技術による故障診断システム１００及びスキャンツール９９を表している。故障診断システム１００は、ＥＣＵ１１０・１２０・１３０・１４０・１５０・１６０・…、各ＥＣＵをつなぐ通信バス５、及び、通信バス５と外部装置とを結ぶインタフェースとしての接続コネクタ３から成る。また、スキャンツール９９は、接続コネクタ９８を備える。接続コネクタ９８は、接続コネクタ３と接続可能に構成されている。
【０００７】
そして、スキャンツール９９が、接続コネクタ３・９８を介して、ＥＣＵ１１０に出力操作メッセージを送信したとする（出力操作メッセージとは、強制駆動の実行のために、各ＥＣＵが制御対象を操作するのに必要な情報を含んだメッセージである。スキャンツール９９から見ると、あたかも制御対象の出力（機能）を操作しているようなので、この名前で呼ぶ。）。
【０００８】
そうすると、ＥＣＵ１１０は、その出力操作メッセージの内容に従って強制駆動を実現するために制御対象を駆動する。もし、強制駆動が成功すれば、ＥＣＵ１１０は、強制駆動成功の旨を示すメッセージをスキャンツール９９に送信する。
【０００９】
ところで、先述したスキャンツール９９が送信した出力操作メッセージに対応する強制駆動を、ＥＣＵ１１０が常に実行できるとは限らない。システム構成の変更などにより、制御対象とＥＣＵとの対応関係が変化し、ＥＣＵ１１０がその強制駆動を実行できなくなることもある。その様子を図２０を用いて説明する。
【００１０】
図２０は、図１９と同様に、故障診断システム１００及びスキャンツール９９を表している。そして、図１９で説明した出力操作メッセージとは異なる出力操作メッセージが、スキャンツール９９からＥＣＵ１１０に対して送信された場合である。ここで送信される出力操作メッセージは、先述した理由によってＥＣＵ１１０が実行できない強制駆動に対応するものである。
【００１１】
ＥＣＵ１１０は、この出力操作メッセージを受信しても、この出力操作メッセージの内容に従う強制駆動を実行できないので、スキャンツール９９に対して、強制駆動失敗の旨を示すメッセージを送ることになる。つまり、この場合には、検査担当者は、ＥＣＵ１１０によっては強制駆動ができないということが分かるのみなので、どのＥＣＵがその強制駆動を実行できるのかを調べなくてはならない。
【００１２】
なお、故障診断のための処理は強制駆動に限られない。例えば、センサによる測定値が正しく取得されているか、あるいは、ＥＣＵ内部での演算が正常に実行されているかを検査するための処理が挙げられる。
【００１３】
本発明は先述した課題を鑑み、互いに通信する電子制御装置の何れかに、ある故障診断の処理を行わせる場合に、その処理を実行可能な電子制御装置がどれであるかを、検査担当者が事前に知らなくても済むようにすることを目的とする。
【課題を解決するための手段】
【００１４】
先述した課題を解決するために発明された請求項１に記載の故障診断システムは、互いに情報の送受信が可能に構成された複数の電子制御装置から成り、外部装置から入力される故障診断処理の実行命令に応答する故障診断システムである。
【００１５】
そして、外部装置からは、複数の電子制御装置の内、外部装置が選択した電子制御装置に対し、実行命令が出力される。なお、以下の説明では、複数の電子制御装置は、電子制御装置Ａ・電子制御装置Ｂ・電子制御装置Ｃの三つであり、外部装置に選択された電子制御装置は電子制御装置Ａであるとする。
【００１６】
電子制御装置Ａは、外部装置から実行命令を受けると、自装置が実行命令に対応する処理を実行可能か否かを第一判断手段によって判断する。
そして、電子制御装置Ａは、自装置が実行命令に対応する処理を実行可能であると第一判断手段によって判断すると、実行命令に対応する処理を第一実行手段によって実行する。
【００１７】
一方、電子制御装置Ａは、自装置が実行命令に対応する処理を実行可能でないと第一判断手段によって判断すると、実行命令に対応する処理を実行可能か否かを、電子制御装置Ｂ・Ｃに照会手段によって照会する。
【００１８】
電子制御装置Ｂ・Ｃは、電子制御装置Ａから照会を受けると、その照会を受けた実行命令に対応する処理を自装置が実行可能か否かを第二判断手段によって判断する。ここでは、電子制御装置Ｂは実行可能、電子制御装置Ｃは実行不可能であるとする。
【００１９】
電子制御装置Ｂは、自装置が実行命令に対応する処理を実行可能であると第二判断手段によって判断すると、電子制御装置Ａに対して、自装置が実行命令に対応する処理を実行可能であることを内部報知手段によって報知する。
【００２０】
一方、電子制御装置Ｃは、自装置が実行命令に対応する処理を実行不可能であると第二判断手段によって判断すると、本発明の動作としては何もする必要はない。
そして、電子制御装置Ａは、電子制御装置Ｂからの内部報知手段による報知を受けると、電子制御装置Ｂに、実行命令に対応する処理の実行を命令手段によって命令する。
【００２１】
電子制御装置Ｂは、電子制御装置Ａから命令を受けると、その命令に対応する処理を第二実行手段によって実行する。
なお、外部装置から選ばれる電子制御装置は、電子制御装置Ａに限られず、電子制御装置Ｂや電子制御装置Ｃが選択されても、上で説明した電子制御装置Ａと同じ動作をする。また、選択されなかった電子制御装置は、上で説明した電子制御装置Ｂ・Ｃと同じ動作をする。つまり、電子制御装置Ａ・Ｂ・Ｃは、どのようにも入れ替わることがあり得る。このことは、他の請求項の説明でも同じである。
【００２２】
このような各電子制御装置の動作によって、ある故障診断の処理を行わせる場合に、その処理を実行可能な電子制御装置がどれであるかを、検査担当者が事前に知らなくても済むようになる。
【００２３】
次に、請求項２に記載の故障診断システムにおいて、電子制御装置Ａは、例えば電子制御装置Ｂからの内部報知手段による報知を受けた場合、その電子制御装置Ｂを示す特定情報と、電子制御装置Ｂによって実行可能であることが当該報知において示された処理の識別情報とを関連付けて記憶手段によって記憶する。
【００２４】
そして、電子制御装置Ａは、外部装置から出力された実行命令に対応する処理と、記憶手段が記憶している識別情報が示す処理の何れかとが一致する場合に、照会の動作を停止手段によって停止する。
【００２５】
また、電子制御装置Ａは、停止手段によって照会の動作が停止した場合、外部装置から出力された実行命令に対応する処理と一致した識別情報に関連付けられて記憶手段に記憶されている特定情報に対応する電子制御装置に、当該識別情報が示す実行命令に対応する処理の実行を命令手段によって命令する。このようにして、過去に照会が成功した処理については、すぐに実行に移ることができる。
【００２６】
次に、請求項３に記載の故障診断システムにおいて、電子制御装置Ａは、照会手段によって照会をしたにも関わらず電子制御装置Ｂ・Ｃからの内部報知手段による報知を受けなかった場合、何れの電子制御装置によっても実行命令に対応する処理を実行不可能であることを不可能報知手段によって外部装置に報知する。なお、ここでは、電子制御装置Ｂも実行命令に対応する処理を実行不可能とする。
【００２７】
このようにして、何れの電子制御装置によっても実行命令に対応する処理を実行不可能であることを、外部装置を通じて検査担当者に知らせることができる。従って、故障診断のための処理が、故障によって実行できないのか、そもそも実行することができるように設計されていなのかのどちらなのかを、検査担当者は外部装置を通じて知ることができる。
【００２８】
次に、請求項４に記載の故障診断システムにおいて、電子制御装置Ａは、照会手段によって照会をしたにも関わらず電子制御装置Ｂ・Ｃが備える内部報知手段から報知を受けることができなかった場合、実行可能かが照会された実行命令に対応する処理の識別情報を第二記憶手段によって記憶する。
【００２９】
そして、電子制御装置Ａは、外部装置から出力された実行命令に対応する処理と、第二記憶手段によって記憶している識別情報に対応する処理の何れかとが一致する場合には、照会を取り止める。
【００３０】
電子制御装置Ａは、照会を取り止めた場合、さらに、何れの各電子制御装置によっても実行命令に対応する処理を実行不可能であることを外部装置へ第二不可能報知手段によって報知する。
【００３１】
このようにして、過去に照会が失敗した処理については、何れの電子制御装置によっても実行命令に対応する処理を実行不可能であることを、外部装置を通じて検査担当者にすぐに知らせることができる。
【００３２】
次に、請求項５に記載の故障診断システムでは、外部装置が出力可能な実行命令に対応する複数の故障診断処理の対象機能に、当該機能の識別情報として、それぞれ固有の識別コードが割り当てられている。そして、外部装置は、実行命令の出力として、当該実行命令に対応する処理の対象機能の識別コードを含むメッセージを、選択した電子制御装置に対して出力する。
【００３３】
一方、電子制御装置Ａ・Ｂ・Ｃは、外部装置が出力可能な実行命令に対応する複数の処理の対象機能の内、自装置が制御しているものに対応する識別コードを記憶している。
そして、第一判断手段は、外部装置から受信したメッセージに含まれる識別コードが、記憶している識別コードの何れかと一致するか否かを判断することによって、自装置が実行命令に対応する処理を実行可能か否かの判断をする。
【００３４】
第一実行手段は、外部装置から受信したメッセージに含まれる識別コードによって、実行命令に対応する処理の対象機能を識別して、その処理を実行する。照会手段は、外部装置から受信したメッセージに含まれる識別コードを含む照会メッセージを生成し、その照会メッセージを他の電子制御装置に送信することによって、照会の動作を実現する。
【００３５】
第二判断手段は、受信した照会メッセージに含まれる識別コードが、記憶している識別コードの何れかと一致するか否かを判断することによって、自装置が実行命令に対応する処理を実行可能か否かの判断をする。
【００３６】
内部報知手段は、受信した照会メッセージに含まれる識別コードを含む報知メッセージし、照会メッセージを送信してきた電子制御装置にその報知メッセージを返信することによって、自装置が実行命令に対応する処理を実行可能であることを報知する。
【００３７】
命令手段は、報知メッセージに含まれる識別コードを含む命令メッセージを生成し、報知メッセージを送信してきた電子制御装置にその命令メッセージを返信することによって、実行命令に対応する処理の実行を命令する。第二実行手段は、命令メッセージに含まれる識別コードによって、実行命令に対応する処理の対象機能を識別して、その処理を実行する。
【００３８】
このように、各電子制御装置間でメッセージをやり取りするときに、外部装置から入力されたコードを付けるようすれば、確実に処理の対象機能を判別できる。
次に、請求項６に記載の故障診断システムにおいて、外部装置は、処理の実行命令と共に当該処理の実行に必要なパラメータを、選択した電子制御装置に対して出力する。
【００３９】
そして、第一実行手段は、自装置が実行命令に対応する処理を実行可能であると第一判断手段によって判断されると、実行命令に対応する処理をパラメータに基づいて実行する。命令手段は、実行命令に対応する処理の実行を命令すると共に、当該命令の命令先にパラメータを送る。第二実行手段は、命令手段によって送られてきたパラメータに基づいて、実行命令に対応する処理を実行する。このような構成によれば、検査担当者は、外部装置を通じて故障診断処理に必要なパラメータを指定できる。
【００４０】
次に、請求項７に記載の故障診断システムにおいて、電子制御装置Ｂは、電子制御装置Ａから命令を受けると、その命令に対応する処理を自装置が実行可能な状態か否かを第三判断手段によって判断する。
【００４１】
そして、電子制御装置Ｂでは、第三判断手段によって実行可能状態と判断すると、第二実行手段が、命令に対応する処理を実行する。一方、第三判断手段によって実行不可能状態と判断すると、第二実行手段が、当該実行不可能の旨と当該実行不可能の理由とを、電子制御装置Ａに対して報知する。
【００４２】
そして、電子制御装置Ａは、上記処理の実行不可能の旨およびその実行不可能の理由の報知を受けると、その報知の内容を外部装置に対して外部失敗報知手段によって報知する。
【００４３】
このようにすれば、外部装置から出力された命令に対応する処理が何れかの電子制御装置に割り当てられてはいるけれど、その処理を実行できる状態ではないことを、検査担当者に知らせることができる。
【００４４】
次に、請求項８に記載の故障診断システムにおいて、電子制御装置Ａ・Ｂ・Ｃは、車両に搭載された各種車載装置を制御する装置である。そして、外部装置から出力される実行命令に対応する処理は、車載装置を故障診断のために強制駆動させるための処理である。このような構成であれば、強制駆動による故障診断において、引用した請求項が奏する効果が得られる。
【００４５】
一方、請求項９に記載の故障診断システムは、これまでの構成とは異なり、外部装置から出力される故障診断処理の実行命令を受ける一つの電子制御装置であるマスタ装置、及び、マスタ装置と情報の送受信が可能に構成された電子制御装置である複数のスレイブ装置から成り、外部装置から入力される実行命令に応答する故障診断システムである。
【００４６】
マスタ装置は、外部装置から実行命令を受けると、複数のスレイブ装置の中から、実行命令に対応する処理を実行可能なスレイブ装置を検索手段によって検索する。そして、マスタ装置は、実行命令に対応する処理の実行を、検索手段によって検索したスレイブ装置に命令手段によって命令する。
【００４７】
一方、各スレイブ装置は、命令手段によって命令を受けると、当該命令に対応する処理をスレイブ実行手段によって実行する。
このような故障診断システムによれば、請求項１の故障診断システムと同じ効果を得ながら、マスタ装置は検索および命令、スレイブ装置は処理の実行、というように役割を分担することができるので、各装置が実行する処理が簡潔になる。
【００４８】
次に、請求項１０に記載の故障診断システムにおいて、各スレイブ装置は、スレイブ実行手段の実行結果を、マスタ装置に結果報知手段によって報知する。
マスタ装置は、結果報知手段によって報知されたスレイブ実行手段の実行結果を、外部装置に外部報知手段によって報知する。このようにして、外部装置からの命令に基づく処理の実行結果を、外部装置を通じて検査担当者に報知できる。
【００４９】
次に、請求項１１に記載の故障診断システムにおいて、マスタ装置は、各スレイブ装置によって実行可能な処理の種類を示す情報をスレイブ装置毎に有したテーブルを、保持手段によって保持する。そして、マスタ装置の検索手段は、保持手段によって保持されるテーブルを参照することで、実行命令に対応する処理を実行可能なスレイブ装置を検索する。このようにして、マスタ装置は、テーブルに基づいて簡単に検索ができる。
【００５０】
次に、請求項１２に記載の故障診断システムにおいて、各スレイブ装置の送信手段は、自装置によって実行可能な処理の種類を示す実行可能情報を、実行可能情報記憶手段によって記憶する。さらに、各スレイブ装置は、自装置が記憶する実行可能情報を、マスタ装置に送信手段によって送信する。
【００５１】
そして、マスタ装置は、各スレイブ装置から送信されてくる実行可能情報に基づいて、保持手段によって保持するテーブルを、更新手段によって更新する。
この構成によれば、スレイブ装置が実行する処理が変更されても、それをマスタ装置に伝えることができるので、マスタ装置は的確に処理の実行を命令できる。
【００５２】
次に、請求項１３に記載の故障診断システムにおいて、各スレイブ装置の送信手段は、自身を備えるスレイブ装置の電源が投入されたことを契機に、実行可能情報を送信する。このようにすれば、電源投入直後においては常に、テーブルが最新の状態に更新されるので、正しい情報に基づいて検索ができる。
【００５３】
次に、請求項１４に記載の故障診断システムにおいて、マスタ装置は、各スレイブ装置のそれぞれに対して、実行可能情報の送信を、要求手段によって要求する。また、マスタ装置は、この要求を、検索動作の直前に実行する。一方、スレイブ装置の送信手段は、マスタ装置からの前記要求を受けると、実行可能情報をマスタ装置に送信する。
【００５４】
このようにすれば、常に、マスタ装置において検索する直前に、テーブルが最新の状態に更新されるので、正しい情報に基づいて検索ができる。
次に、請求項１５に記載の故障診断システムにおいて、各スレイブ装置は、車両に搭載された各種車載装置を制御する制御装置である。そして、外部装置から出力される実行命令に対応する処理は、車載装置を故障診断のために強制駆動させるための処理である。このような構成によれば、強制駆動による故障診断において、引用した請求項が奏する効果が得られる。
【００５５】
一方、請求項１６に記載の故障診断システムは、互いに情報の送受信が可能に構成された複数の電子制御装置から成り、外部装置から入力される故障診断処理の実行命令に応答する故障診断システムである。そして、外部装置からは、複数の電子制御装置の内、外部装置が選択した電子制御装置に対し、実行命令が出力される。なお、例えば、複数の電子制御装置は、電子制御装置Ａ・電子制御装置Ｂ・電子制御装置Ｃの三つであり、外部装置に選択された電子制御装置は電子制御装置Ａであるとする。ここまでは請求項１と同じであるけれど、以下に説明する各電子制御装置の動作は、請求項１とは異なる。
【００５６】
電子制御装置Ａは、外部装置から実行命令を受けると、自装置が実行命令に対応する処理を実行可能か否かを第一判断手段によって判断する。そして、電子制御装置Ａは、自装置が実行命令に対応する処理を実行可能であると第一判断手段によって判断すると、実行命令に対応する処理を第一実行手段によって実行する。
【００５７】
一方、電子制御装置Ａは、自装置が実行命令に対応する処理を実行可能でないと第一判断手段によって判断すると、電子制御装置Ｂ・Ｃに、実行命令に対応する処理の実行を命令手段によって命令する。
【００５８】
電子制御装置Ｂ・Ｃは、電子制御装置Ａから命令を受けると、その命令に対応する処理を自装置が実行可能か否かを第二判断手段によって判断する。請求項１と同じように、電子制御装置Ｂは実行可能、電子制御装置Ｃは実行不可能であるとする。
【００５９】
電子制御装置Ｂは、自装置が実行命令に対応する処理を実行可能であると第二判断手段によって判断すると、その命令に対応する処理を第二実行手段によって実行する。
一方、電子制御装置Ｃは、自装置が実行命令に対応する処理を実行不可能であると第二判断手段によって判断すると、本発明の動作としては何もする必要はない。
【００６０】
このような故障診断システムによれば、請求項１の故障診断システムによる効果と同じ効果を得ながら、照会および内部報知の動作を省くことができる。
次に、請求項１７に記載の故障診断システムは、請求項１６の説明で請求項１と同じであると述べた構成については、同じように構成されている。そこで、各電子制御装置の動作の説明から始める。
【００６１】
電子制御装置Ａは、外部装置から実行命令を受けると、自装置が実行命令に対応する処理を実行可能か否かを第一判断手段によって判断する。そして、電子制御装置Ａは、自装置が実行命令に対応する処理を実行可能であると第一判断手段によって判断すると、実行命令に対応する処理を第一実行手段によって実行する。
【００６２】
一方、電子制御装置Ａは、自装置が実行命令に対応する処理を実行可能でないと第一判断手段によって判断すると、実行命令に対応する処理を実行可能か否かを、電子制御装置Ｂ・Ｃに照会手段によって照会する。
【００６３】
電子制御装置Ｂ・Ｃは、電子制御装置Ａから照会を受けると、その照会を受けた実行命令に対応する処理を自装置が実行可能か否かを第二判断手段によって判断する。請求項１と同じように、電子制御装置Ｂは実行可能、電子制御装置Ｃは実行不可能であるとする。
【００６４】
電子制御装置Ｂは、自装置が実行命令に対応する処理を実行可能であると第二判断手段によって判断すると、電子制御装置Ａに対して、自装置が実行命令に対応する処理を実行可能であることを内部報知手段によって報知する。
【００６５】
一方、電子制御装置Ｃは、自装置が実行命令に対応する処理を実行不可能であると第二判断手段によって判断すると、本発明の動作としては何もする必要はない。
そして、電子制御装置Ａは、電子制御装置Ｂからの内部報知手段による報知を受けると、電子制御装置Ｂによって、実行命令に対応する処理を実行可能であることを、外部装置に実行可能報知手段によって報知する。
【００６６】
このような故障診断システムによれば、どの電子制御装置が、外部装置から入力された処理が実行可能かを、外部装置を通じて検査担当者に知らせることができる。従って、検査担当者は、外部装置を通じて改めて、実行可能な電子制御装置に命令できるので、ある故障診断の処理を行わせる場合に、その処理を実行可能な電子制御装置がどれであるかを、検査担当者が事前に知らなくても済むようになる。
【００６７】
次に、請求項１８に記載の故障診断システムは、請求項１６・請求項１７の説明で、請求項１と同じであると述べた構成については、同じように構成されている。そこで、各電子制御装置の動作の説明から始める。
【００６８】
電子制御装置Ａは、外部装置から実行命令を受けると、自装置が実行命令に対応する処理を実行可能か否かを第一判断手段によって判断する。そして、電子制御装置Ａは、自装置が実行命令に対応する処理を実行可能であると第一判断手段によって判断すると、実行命令に対応する処理を第一実行手段によって実行する。
【００６９】
一方、電子制御装置Ａは、自装置が実行命令に対応する処理を実行可能でないと第一判断手段によって判断されると、実行命令に対応する処理を実行可能か否かを、電子制御装置Ｂ・Ｃに照会手段によって照会する。
【００７０】
電子制御装置Ｂ・Ｃは、電子制御装置Ａから照会を受けると、その照会を受けた実行命令に対応する処理を自装置が実行可能か否かを第二判断手段によって判断する。請求項１と同じように、電子制御装置Ｂは実行可能、電子制御装置Ｃは実行不可能であるとする。
【００７１】
電子制御装置Ｂは、自装置が実行命令に対応する処理を実行可能であると第二判断手段によって判断すると、自装置によって実行命令に対応する処理を実行可能であることを、外部装置に実行可能報知手段によって報知する。
【００７２】
一方、電子制御装置Ｃは、自装置が実行命令に対応する処理を実行不可能であると第二判断手段によって判断すると、本発明の動作としては何もする必要はない。
このような故障診断システムによれば、前の請求項の発明と同じ効果を得ながら、照会および内部報知の動作を省くことができる。
【００７３】
次に、請求項１９に記載の電子制御装置は、請求項９に記載のマスタ装置である。従って、この電子制御装置は、請求項９の故障診断システムの一部となることができる。
次に、請求項２０に記載の電子制御装置は、請求項１に記載の電子制御装置である。従って、この電子制御装置は、請求項１の故障診断システムの一部となることができる。
【発明を実施するための最良の形態】
【００７４】
以下、図面と共に説明する。
【実施例１】
【００７５】
実施例１では、本発明が適用された故障診断システム１を説明する。図１は、故障診断システム１の概略構成図である。故障診断システム１は種々の車両に搭載されて用いられるものであり、複数のＥＣＵ１０・２０・３０・４０・５０・６０・…と、この各ＥＣＵに接続された制御対象３１０・３２０・…と、各ＥＣＵをつなぐ通信バス５と、通信バス５と外部装置とのインタフェースとしての接続コネクタ３とから成る。そして、故障診断システム１は、各ＥＣＵに、各種車載装置を故障診断のために強制駆動させることができるシステムである。
【００７６】
故障診断システム１は、接続コネクタ３及びスキャンツール９９が備える接続コネクタ９８を介して、外部装置としてのスキャンツール９９に接続される。
各ＥＣＵは、自身に割り当てられた制御対象について、予め定められた強制駆動を実行可能に構成されており、その強制駆動を特定するためのＩＤとして、出力指定ＩＤ及び強制駆動ＩＤの情報を、自身によって実行できるものについてだけ記憶している（この記憶されている情報を、以下「実行可能情報」と言う。ＥＣＵ１０・２０についてのみ図示。）。
【００７７】
なお、各ＥＣＵに記憶されている出力指定ＩＤ及び強制駆動ＩＤは、一対一に対応付けられている。また、スキャンツール９９は、出力指定ＩＤ及び強制駆動ＩＤの情報を、各ＥＵＣに強制駆動を命令するために記憶している。ここで、この二つのＩＤについて説明する。
【００７８】
強制駆動ＩＤとは、故障診断処理として、強制駆動を実施する対象の出力を特定するための情報である。ここで言う出力とは、各制御対象が機能を発揮することで外部にする仕事などのことである。例えば、エアコンの送風量調整もしくは吹き出し口温度調整、又はエンジンの燃料噴射が挙げられる。
【００７９】
一方、出力指定ＩＤとは、本発明に特有の情報であって、各制御対象が担当している出力を特定するものであり、全ＥＣＵ間を通して同じＩＤが異なる出力に割り当てられることはないものである。このため、出力指定ＩＤは、各ＥＣＵによって制御される各制御対象が有する機能、あるいは制御対象そのものを特定するＩＤであるとも言える。
【００８０】
従って、強制駆動による故障診断では、両ＩＤは、同じ情報を表すことになる。しかし、強制駆動以外にも、故障診断処理での出力指定ＩＤの用途として、出力のモニタなどが考えられるため、出力指定ＩＤは、必ずしも、特定した出力の強制駆動を表すわけではない。
【００８１】
ところで、従来技術において、スキャンツール９９から強制駆動のために出力される出力操作メッセージには、強制駆動の対象出力を判別するための情報として、強制駆動ＩＤは含まれていたが、出力指定ＩＤは、当然、存在しなかった。なぜなら、従来のシステムは、スキャンツールからの出力操作メッセージの送信先であるＥＣＵが、そのメッセージに含まれる強制駆動ＩＤに対応する強制駆動を正しく実行できる、ということを前提として組まれていたからである。それに対して実施例１では、強制駆動ＩＤに加えて出力指定ＩＤも、出力操作メッセージに含まれる。理由を以下に説明する。
【００８２】
強制駆動ＩＤは、異なるＥＣＵにおいて、必ずしも共通の規則に基づいて定められたものではない。従って、スキャンツール９９から強制駆動のために出力される出力操作メッセージには、その強制駆動を、出力操作メッセージの送信先のＥＣＵが特定できる強制駆動ＩＤを含ませる必要がある。
【００８３】
そして、出力操作メッセージを受信したＥＣＵがこの強制駆動ＩＤによって特定される強制駆動を実行できるのなら、実行することになる（第一実行処理で詳述）。
それに対して、受信したＥＣＵがその強制駆動を実行できないのなら、その強制駆動を実行できるＥＣＵに実行させたい。しかし、単に強制駆動ＩＤを他のＥＣＵに転送しても、他のＥＣＵは、先述したように強制駆動ＩＤに関する規則が違うことにより、その強制駆動ＩＤによって対象出力を特定できないことがあったり、意図しない出力の操作をしてしまうことがあったりする。
【００８４】
そこで、各ＥＣＵ同士がメッセージを送受信することで、その強制駆動を実行可能なＥＣＵと、そのＥＣＵがその強制駆動を特定できる強制駆動ＩＤとを探し出すための処理（後述する応答処理等）を実行する。
【００８５】
この処理において用いられるのが出力指定ＩＤである。出力指定ＩＤは、先述のように、各ＥＣＵ及びスキャンツール９９に記憶されたもの全てを見回しても、同じＩＤが異なる出力に割り当てられていないものである。つまり「この出力指定ＩＤは、この出力を示す」という規則が各ＥＣＵ間で共通になっている。
【００８６】
そこで、スキャンツール９９又は他のＥＣＵから受信したメッセージに含まれている出力指定ＩＤを、自身が送信するメッセージにも必ず含ませるようにする。このようにして全ＥＣＵ共通の規則に基づくことで、その強制駆動を実行できるＥＣＵ等を探し出すことができる。
【００８７】
なお、出力指定ＩＤは、メッセージの最後の部位に位置させるようになっている。このため、簡単に、いわば機械的に上記内容を実現できる。つまり、受信したメッセージの最後に付いているものを、自身が送信するメッセージの最後に付ければよい、ということである。また、こうすることで、スキャンツール９９に送信するメッセージにも、スキャンツール９９から出力されたメッセージに含まれていた出力指定ＩＤを確実に含ませることができる。
【００８８】
次に、図２は、各出力指定ＩＤに対応する強制駆動が、どのＥＣＵによって実現されるかを、種類の異なる各車両について○印によって示した表である。つまり、各車両に備えられた各ＥＣＵが記憶している情報をまとめて整理することによって作られる表であるので、本発明を構成するものではなく、各車両の設計時等に考慮されるものである。
【００８９】
また、各出力指定ＩＤは、どの車両（車両Ａ、車両Ｂ、…）についても、同じ強制駆動に対応するものである。そして、出力指定ＩＤ毎に、各車両において、その出力指定ＩＤに対応する強制駆動がどのＥＣＵによって実現されるのかが、図２に示す表にまとめられている。そして、スキャンツール９９は、全ての出力指定ＩＤについて適用可能に構成され、いわゆる満艦飾の出力に対応した設定になっている。
【００９０】
このように故障診断システム１及びスキャンツール９９が構成されることで、どの車両でも同じ強制駆動に対し同じ出力指定ＩＤ及び強制駆動ＩＤを指定すればよいので、車両毎にスキャンツール９９のプログラムを変更しなくても、強制駆動が実行可能になる。
【００９１】
図３は、図２０で説明したような、スキャンツール９９からＥＣＵ１０に出力操作メッセージ（［発明が解決しようとする課題］参照）が送信されるけれど、ＥＣＵ１０がそれに対応する強制駆動を実行できない場合のメッセージのやり取りを表している。これから、この具体例を通して、本実施例によって実行される処理を全体的に説明する。
【００９２】
また、スキャンツール９９からの出力操作メッセージの送信先のＥＣＵを選択ＥＣＵ、選択ＥＣＵ以外のＥＣＵを非選択ＥＣＵ、とこれから呼ぶ。図３の場合だと、ＥＣＵ１０が選択ＥＣＵ、ＥＣＵ２０・３０・４０・５０・６０・…が非選択ＥＣＵである。なお、出力操作メッセージの送信先は、特定のＥＣＵに決まっているわけではなく、検査担当者がスキャンツール９９を通じて選択するものである。つまり、故障診断システム１を構成する各ＥＣＵは、選択ＥＣＵと非選択ＥＣＵとの何れにもなり得る。
【００９３】
そして、各ＥＣＵは、ＣＰＵや記憶媒体を備え、記憶媒体に記憶されたプログラムに従ってＣＰＵで演算処理を実行することにより、以下に説明する図４に示す応答処理を含む各種処理を実行する。また、各ＥＣＵは、先述した出力指定ＩＤ及び強制駆動ＩＤも記憶媒体に記憶している。
【００９４】
ここで図４に移る。図４は応答処理を表すフローチャートである。この処理は、何れかのＥＣＵが、スキャンツール９９からの出力操作メッセージを受信した場合に、そのＥＣＵ（選択ＥＣＵ）が実行する処理である。なお、スキャンツール９９から送信される出力操作メッセージには、出力指定ＩＤ、強制駆動ＩＤ、及び強制駆動に必要な出力指令値（パラメータ）の情報とが含まれている。
【００９５】
まず、選択ＥＣＵになったＥＣＵ（図３の例ではＥＣＵ１０）は、自身の実行可能情報に含まれる何れかの出力指定ＩＤと、スキャンツール９９から受信した出力操作メッセージに含まれる出力指定ＩＤ（以下「スキャンツール９９からの出力指定ＩＤ」と言う）とが一致するかを判断する（Ｓ１１０）。
【００９６】
自身の実行可能情報に含まれる何れの出力指定ＩＤとも、スキャンツール９９からの出力指定ＩＤが一致しないと判断すると（Ｓ１１０でＮｏ）、スキャンツール９９からの出力指定ＩＤを、他のＥＣＵ（非選択ＥＣＵ）が実行できると過去に報知してきた強制駆動に対応する出力指定ＩＤとして記憶（後述する照会処理のＳ１６４０で記憶）しているかを判断する（Ｓ１３０）。
【００９７】
報知してきた強制駆動に対応する出力指定ＩＤとして記憶していないと判断すると（Ｓ１３０でＮｏ）、スキャンツール９９からの出力指定ＩＤを、過去に何れのＥＣＵも実行できなかった強制駆動に対応する出力指定ＩＤとして記憶（後述する照会処理のＳ１６５０で記憶）しているかを判断する（Ｓ１４０）。
【００９８】
実行できなかった強制駆動に対応する出力指定ＩＤとして記憶していないと判断すると（Ｓ１４０でＮｏ）、照会処理を実行する（Ｓ１６００）。
ここで図５に移る。図５（ａ）は、Ｓ１６００で実行される照会処理を表すフローチャートである。まず、出力検索メッセージを全ての非選択ＥＣＵに送信する（図３参照）（Ｓ１６１０）。出力検索メッセージの形式は、図５（ｂ）に示されるように、通信ＩＤと、出力検索コードと、出力指定ＩＤとから成る。通信ＩＤは、メッセージの発信元と発信先とを示す情報である。出力検索コードは、このメッセージが出力検索を要求していること、又はその要求に対する返信であることを示す情報である。出力検索とは、ＥＣＵが、自身の実行可能情報の中から、出力検索メッセージに含まれる出力指定ＩＤを検索することである。また、出力検索メッセージに含ませる出力指定ＩＤは、先述したように、スキャンツール９９からの出力指定ＩＤと同じものにする。
【００９９】
そして、非選択ＥＣＵから送信される出力検索応答メッセージを受信したかを判断する（Ｓ１６２０）。ここで図６に移って、内部報知処理を説明する。理由は、Ｓ１６２０は出力操作メッセージを受け取った非選択ＥＣＵが実行する内部報知処理の結果を待つステップだからである。
【０１００】
図６（ａ）は内部報知処理を表すフローチャートである。内部報知処理は、出力検索応答メッセージを受信した非選択ＥＣＵが実行する処理である。まず、出力検索メッセージに含まれる出力指定ＩＤが、自身の実行可能情報に含まれるか否かを判断する（Ｓ２１０）。出力検索メッセージに含まれる出力指定ＩＤが、自身の実行可能情報に含まれていないと判断すると（Ｓ２１０でＮｏ）、内部報知処理を終える。
【０１０１】
一方、出力検索メッセージに含まれる出力指定ＩＤが、自身の実行可能情報に含まれていると判断すると（Ｓ２１０でＹｅｓ）、出力検索応答メッセージを選択ＥＣＵに送信して（図３参照）（Ｓ２２０）、内部報知処理を終える。
【０１０２】
出力検索応答メッセージの形式は、図６（ｂ）に示すように、出力検索メッセージに、強制駆動ＩＤが追加されたものである。この強制駆動ＩＤは、出力検索メッセージを受信したＥＣＵによって、その出力検索メッセージに含まれていた出力指定ＩＤに対応するものとして記憶されているものである。このように強制駆動ＩＤを追加する理由は、選択ＥＣＵが、その強制駆動ＩＤを後述する命令メッセージに含ませる必要があるからである。
【０１０３】
また、この強制駆動ＩＤは、出力検索メッセージに含まれていた出力指定ＩＤに対応するものであるので、その出力指定ＩＤに対応する強制駆動を実行可能なＥＣＵしか記憶していない。従って、その強制駆動ＩＤを出力検索応答メッセージに含ませることで、自身がその強制駆動を実行可能なＥＣＵであることを報知するための出力検索応答メッセージの信頼度を上げている。
【０１０４】
図５（ａ）に戻って、照会処理の説明をＳ１６２０から再開する。出力検索応答メッセージを受信していないと判断すると（Ｓ１６２０でＮｏ）、出力検索メッセージを送信してから所定の時間が過ぎてタイムアウトしたかを判断する（Ｓ１６３０）。タイムアウトしていないと判断すると（Ｓ１６３０でＮｏ）、Ｓ１６２０に戻る。
【０１０５】
一方、タイムアウトしたと判断すると（Ｓ１６３０でＹｅｓ）、Ｓ１６１０で送信した出力検索メッセージに含まれる出力指定ＩＤを記憶する（Ｓ１６５０）。なお、ここで記憶する出力指定ＩＤは、何れのＥＣＵにも割り当てられていない強制駆動の機能に対応する出力指定ＩＤとして、Ｓ１４０での判断に用いられる。そして、失敗報知処理を実行する（Ｓ１５００）。
【０１０６】
図７に移って失敗報知処理を説明する。図７は、失敗報知処理を表すフローチャートである。出力操作メッセージに含まれていた出力指定ＩＤに対応する強制駆動が失敗した旨および失敗理由を示す情報をスキャンツール９９に返して（Ｓ１５１０）、失敗報知処理を終える。
【０１０７】
なお、この場合の失敗理由は、スキャンツール９９からの出力指定ＩＤに対応する強制駆動の機能が、何れのＥＣＵにも割り当てられていない、というものになる。
そして、この場合、失敗報知処理は照会処理によって立ち上げられたので、失敗報知処理を終えることで、照会処理に戻ると共に照会処理も終え、さらには応答処理も終えることになる。
【０１０８】
図５に戻る。タイムアウトする前に出力検索応答メッセージを受信したと判断すると（Ｓ１６２０でＹｅｓ）、受信した出力検索応答メッセージに含まれている通信ＩＤと出力指定ＩＤとを関連付けて記憶する（Ｓ１６４０）。なお、ここで記憶する通信ＩＤ及び出力指定ＩＤは、何れかのＥＣＵに割り当てられている強制駆動の機能に対応する出力指定ＩＤとして、Ｓ１３０での判断に用いられる。そして、命令処理を実行する（Ｓ１７００）。
【０１０９】
図８に移って、命令処理を説明する。図８は命令処理を表すフローチャートである。出力検索応答メッセージを送信してきたＥＣＵに対して、強制駆動の実行を命令するための命令メッセージを返信し（図３参照）（Ｓ１７１０）、命令処理を終える。命令メッセージの形式は、図８（ｂ）に示すように、通信ＩＤ、強制駆動コード、強制駆動ＩＤ、実行時間、所定の個数の設定値、及び、出力指定ＩＤである。強制駆動コードは、このメッセージが強制駆動を命令するものであることを示す情報である。そして、実行時間は強制駆動を実行する時間を特定するためのものであり、各設定値は強制駆動に必要なパラメータである。なお、実行時間および各設定値は、スキャンツール９９から受信した出力操作メッセージに含まれる出力指令値と同じものである。また、出力指定ＩＤ及び強制駆動ＩＤは、出力検索応答メッセージに含まれていたものと同じものである。
【０１１０】
上記の設定値の具体例としては、エンジンのインジェクタを強制駆動する場合だと、どのインジェクタなのかを特定するための値が挙げられる。この他、エアコンの場合だと、設定温度や送風の強弱を決めるための値が挙げられる。
【０１１１】
そして、この場合、命令処理は照会処理によって立ち上げられたので、命令処理を終えることで、照会処理に戻ると共に照会処理も終え、さらには応答処理も終えることになる。
【０１１２】
そして、非選択ＥＣＵは、命令処理において送信された命令メッセージを受信すると、第二実行処理を実行する。第二実行処理を表すフローチャートである図９（ａ）を用いて説明する。
【０１１３】
まず、制御対象や自身の状態が、受信した命令メッセージに含まれる出力指定ＩＤに対応する強制駆動を実行可能な状態であるか否かを判断する（Ｓ３１０）。実行可能状態であると判断すると（Ｓ３１０でＹｅｓ）、その強制駆動を実行する（Ｓ３２０）。そして、強制駆動の実行に成功した旨を報知するために、選択ＥＣＵに出力操作成功メッセージを送信して（図３参照）（Ｓ３３０）、この処理を終える。
【０１１４】
なお、強制駆動に成功した旨を報知するためのメッセージの形式は、図９（ｂ）に示すように、通信ＩＤ、強制駆動コード、強制駆動ＩＤ、及び、出力指定ＩＤから成る。強制駆動コード、強制駆動ＩＤ、及び出力指定ＩＤは、命令メッセージに含まれていたものと同じものである。
【０１１５】
一方、実行可能な状態でないと判断すると（Ｓ３１０でＮｏ）、強制駆動に失敗した旨を報知するために、選択ＥＣＵに出力操作失敗メッセージを送信して（Ｓ３４０）、この処理を終える。
【０１１６】
なお、強制駆動が失敗した旨を報知するためのメッセージの形式は、図９（ｃ）に示すように、通信ＩＤ、否定応答コード、強制駆動コード、強制駆動ＩＤ、否定応答理由、及び、出力指定ＩＤから成る。否定応答コードは、このメッセージが強制駆動失敗の報知のためのものであることを示す。また、否定応答理由は、強制駆動に失敗した理由を表す。
【０１１７】
この場合の失敗理由は、制御対象または非選択ＥＣＵの故障などが該当する。また、強制駆動コード、強制駆動ＩＤ、及び出力指定ＩＤは、命令メッセージに含まれていたものと同じものである。
【０１１８】
そして、選択ＥＣＵは、出力操作成功メッセージを受信すると成功報知処理を実行する。成功報知処理を表すフローチャートである図１０を用いて説明する。
選択ＥＣＵは、出力操作メッセージに含まれていた出力指定ＩＤに対応する強制駆動が成功した旨および実行したＥＣＵを示す情報をスキャンツール９９に返して（図３参照）（Ｓ１８１０）、成功報知処理を終える。先述したように、この出力指定ＩＤは、スキャンツール９９からの出力指定ＩＤと一致することになる。
【０１１９】
一方、選択ＥＣＵは、出力操作失敗メッセージを受信すると、先述した図７の失敗報知処理を実行する。なお、この場合の失敗理由は、出力操作失敗メッセージに含まれていたものが示すもの、つまり、制御対象または非選択ＥＣＵの故障などになる。
【０１２０】
図４に戻る。スキャンツール９９からの出力指定ＩＤを、過去に実行した照会処理のＳ１６５０で記憶していると判断すると（Ｓ１４０でＹｅｓ）、図７の失敗報知処理（Ｓ１５００）を実行して、応答処理を終える。当然、この場合の失敗理由は、スキャンツール９９からの出力指定ＩＤに対応する強制駆動の機能が、何れのＥＣＵにも割り当てられていない、というものになる。
【０１２１】
また、スキャンツール９９からの出力指定ＩＤを、過去に実行した照会処理のＳ１６４０で記憶していると判断すると（Ｓ１３０でＹｅｓ）、その出力指定ＩＤに関連付けられて記憶されている通信ＩＤが示す非選択ＥＣＵに対して、図８で説明した命令処理を実行して（Ｓ１７００）、応答処理を終える。
【０１２２】
また、選択ＥＣＵは、自身の実行可能情報に含まれる何れかの出力指定ＩＤと、スキャンツール９９からの出力指定ＩＤとが一致すると判断すれば（Ｓ１１０でＹｅｓ）、第一実行処理を実行し（Ｓ１２００）、その後、応答処理を終える。
【０１２３】
ここで、図１１を用いて第一実行処理を説明する。図１１は、第一実行処理を表すフローチャートである。まず、制御対象や自身の状態が、スキャンツール９９からの出力指定ＩＤに対応する強制駆動が実行可能であるか否かを判断する（Ｓ１２１０）。実行可能状態であると判断すると（Ｓ１２１０でＹｅｓ）、その強制駆動を実行する（Ｓ１２２０）。そして、図１０で説明した成功報知処理を実行する（Ｓ１８００）。また、実行不可能状態と判断すると（Ｓ１２１０でＮｏ）、図７で説明した失敗報知処理を実行する（Ｓ１５００）。この場合の失敗理由は、制御対象または選択ＥＣＵの故障などが該当する。
【０１２４】
ここで、以上のような故障診断システム１において、各ＥＣＵが、図３の場合に実行する動作を説明する。ＥＣＵ１０は、スキャンツール９９から出力操作メッセージを受信すると、その出力操作メッセージが示す強制駆動を、自身は実行できないと判断する（応答処理Ｓ１１０でＮｏ）。そして、その出力操作メッセージが示す強制駆動が、他のＥＣＵによって実行可能であるとも不可能であるとも記憶していないので（Ｓ１３０でＮｏ・Ｓ１４０でＮｏ）、その出力操作メッセージに示される強制駆動が他のＥＣＵによって実行可能かを照会するために、出力検索メッセージを他のＥＣＵに送信する（照会処理Ｓ１６１０）。
【０１２５】
ＥＣＵ２０・４０・５０・６０・…は、出力検索メッセージを受信すると、その出力検索メッセージが示す強制駆動を、自身は実行できないと判断する（内部報知処理Ｓ２１０でＮｏ）。そうすると、その後は特に何もしない。
【０１２６】
一方、ＥＣＵ３０は、出力検索メッセージを受信すると、その出力検索メッセージが示す強制駆動を、自身が実行できると判断する（内部報知処理Ｓ２１０でＹｅｓ）。そうすると、その旨をＥＣＵ１０に報知するために、出力検索応答メッセージをＥＣＵ１０に送信する（内部報知処理Ｓ２２０）。
【０１２７】
ＥＣＵ１０は、出力検索応答メッセージを受信すると、ＥＣＵ３０に出力操作メッセージが示す強制駆動を命令するために、命令メッセージをＥＣＵ３０に送信する（Ｓ１７１０）。
【０１２８】
ＥＣＵ３０は、命令メッセージを受信すると、命令メッセージに示される強制駆動が実行可能な状態だと判断し（第二実行処理Ｓ３１０でＹｅｓ）、その強制駆動を実行する（第二実行処理Ｓ３２０）。そして、強制駆動に成功した旨をＥＣＵ１０に報知するために、出力操作成功メッセージをＥＣＵ１０に送信する（第二実行処理Ｓ３３０）。
【０１２９】
そして、ＥＣＵ１０は、出力操作成功メッセージを受信すると、スキャンツール９９にメッセージを送信することで、強制駆動に成功した旨を報知する。
次は、図１２を用いて、ＥＣＵ１０に割り当てられていたけれど、何れのＥＣＵにも割り当てられなくなった強制駆動の実行を、そうとは知らずにスキャンツール９９がＥＣＵ１０に初めて命令したときの各ＥＣＵの動作を説明する。
【０１３０】
まず、ＥＣＵ１０は、出力操作メッセージをスキャンツール９９から受け取ると、その出力操作メッセージが示す強制駆動を自身では実行できないと判断する（Ｓ１１０でＮｏ）。そして、初めての命令であるのでＳ１３０でＮｏ、Ｓ１４０でＮｏと進んで、照会処理を実行することになる。
【０１３１】
そして、照会処理のＳ１６１０で出力検索メッセージを非選択ＥＣＵであるＥＣＵ２０・３０・４０・５０・６０・…に向けて送信する。しかし、どの非選択ＥＣＵも出力操作メッセージに含まれる出力指定ＩＤを記憶していないので、全ての非選択ＥＣＵが内部報知処理のＳ２１０でＮｏと判断することになる。
【０１３２】
従って、選択ＥＣＵであるＥＣＵ１０は、出力検索応答メッセージを受信できずにタイムアウトする（Ｓ１６３０でＹｅｓ）ので、その出力操作メッセージに含まれる出力指定ＩＤを記憶し（Ｓ１６５０）、失敗報知処理を実行することになる（Ｓ１５００）。なお、この場合の失敗理由は、どのＥＣＵにもその強制駆動の機能が割り当てられていない、という内容になる。
【０１３３】
次に、図１３を用いて別の例を説明する。図１３は、ＥＣＵ１０及びＥＣＵ２０の二つのＥＣＵに割り当てられていた強制駆動の機能が、ＥＣＵ１０及びＥＣＵ３０に割り当てられるようになった場合に、そうとは知らずにスキャンツール９９がＥＣＵ１０及びＥＣＵ２０に初めて命令したときの動作を簡単に説明する。
【０１３４】
この場合は、ＥＣＵ１０及びＥＣＵ２０の両方が選択ＥＣＵである。従って、これまでに説明した選択ＥＣＵによる処理が、二つのＥＣＵによって並列的に実行される。なお、ＥＣＵ１０にとってＥＣＵ２０は非選択ＥＣＵであり、逆も然りである。
【０１３５】
ＥＣＵ１０は、Ｓ１１０でＹｅｓと判断するので、照会処理などを実行することなく、第一実行処理によって自ら強制駆動を実行する。一方、ＥＣＵ２０は、図３の場合のＥＣＵ１０と同じように、ＥＣＵ３０に強制駆動を実行させる。従って、ＥＣＵ１０及びＥＣＵ２０はそれぞれ、スキャンツール９９に強制駆動の実行が成功した旨を報知することになる。
【０１３６】
また、図示は省くが、さらに他の例を説明する。まず［例イ］として、スキャンツール９９からの出力指定ＩＤに対応する強制駆動の機能はＥＣＵ３０に割り当てられているものの、制御対象の故障によって、その強制駆動が実行できない場合を説明する。ただし、ＥＣＵ３０が命令メッセージを受信するまでは、図３の場合と同じであるので、そこまでの説明は省いて、ＥＣＵ３０が命令メッセージを受信した後から説明する。
【０１３７】
ＥＣＵ３０は、命令メッセージを受信すると、命令メッセージに示される強制駆動が実行不可能な状態と判断し（第二実行処理Ｓ３１０でＮｏ）、強制駆動に失敗した旨をＥＣＵ１０に報知するために、出力操作失敗メッセージをＥＣＵ１０に送信する。
【０１３８】
そして、ＥＣＵ１０は、出力操作失敗メッセージを受信すると、スキャンツール９９にメッセージを送信して、強制駆動に失敗した旨およびその理由を報知する（Ｓ１５１０）。この場合の失敗理由は、制御対象またはＥＣＵ３０の故障などになる。
【０１３９】
次は［例ロ］として、図３の場合と同じ強制駆動の実行が、再び、スキャンツール９９を通じて指令された場合を説明する。
まず、ＥＣＵ１０は、スキャンツール９９から出力操作メッセージを受信すると、その出力操作メッセージが示す強制駆動を、自身は実行できないと判断する（応答処理Ｓ１１０でＮｏ）。そして、ＥＣＵ１０は、過去のＳ１６４０の記憶動作により、その出力操作メッセージに示される強制駆動が、ＥＣＵ３０によって実行可能であると判断するので（Ｓ１３０でＹｅｓ）、ＥＣＵ３０に向けて、その強制駆動の実行を命令する命令メッセージを送信する（Ｓ１７１０）。その後は、図３の場合と同じである。
【０１４０】
次に［例ハ］として、図１２の場合と同じ強制駆動の実行が、再び、スキャンツール９９を通じて指令された場合を説明する。
まず、ＥＣＵ１０は、出力操作メッセージをスキャンツール９９から受け取ると、その強制駆動を自身では実行できないと判断し（Ｓ１１０でＮｏ）、他のＥＣＵが実行できるものとしても記憶していないと判断する（Ｓ１３０でＮｏ）。そして、ＥＣＵ１０は、過去のＳ１６５０の記憶動作により、その出力操作メッセージに示される強制駆動が、何れのＥＣＵによっても実行不可能であると判断する（Ｓ１４０でＹｅｓ）。従って、スキャンツール９９に向けて、スキャンツール９９からの出力指定ＩＤに対応する強制駆動について、実行不可能の旨およびその理由を報知する（Ｓ１５１０）。この場合の失敗理由は、スキャンツール９９からの出力指定ＩＤに対応する強制駆動の機能が、何れのＥＣＵにも割り当てられていない、というものになる。
【０１４１】
ここで、車載装置を強制駆動によって故障診断する故障診断システム１が奏する効果をまとめる。
図３の場合で説明したように、ある強制駆動を実行する場合に、選択ＥＣＵが実行する照会処理および命令処理、並びに、非選択ＥＣＵが実行する内部報知処理および第二実行処理によって、その強制駆動を実行可能なＥＣＵを検査担当者がスキャンツール９９を通じて指定しなくても、その強制駆動が実行される。
【０１４２】
よって、ある強制駆動を何れかのＥＣＵに行わせる場合に、その強制駆動を実行可能なＥＣＵがどれであるかを、検査担当者が事前に知らなくても済むようになる。
一方で、図１２の場合で説明したように、何れのＥＣＵにも実行命令に対応する強制駆動の機能が割り当てられていないこと、又は、［例イ］の場合で説明したように、割り当てられたＥＣＵはあるものの、故障などで実行不可能な状態であることを、失敗報知処理によって、検査担当者に知らせることができる。従って、検査担当者は、強制駆動が実行できない場合、その理由を知ることができる。
【０１４３】
また、［例ロ］の場合で説明したように、Ｓ１６４０での記憶動作とＳ１３０での判断とによって、過去に照会が成功した強制駆動については、すぐに実行に移ることができる。また、［例ハ］の場合で説明したように、Ｓ１６５０での記憶動作とＳ１４０での判断とによって、過去に照会が失敗した強制駆動については、強制駆動の失敗を検査担当者にすぐに知らせることができる。
【０１４４】
また、図３の場合で説明したように、各ＥＣＵ間でやり取りされるメッセージには、スキャンツール９９からの出力指定ＩＤが含まれるので、各ＥＣＵは、どの出力を強制駆動させるかを確実に判別できる。さらに、選択ＥＣＵは、スキャンツール９９に送信するメッセージにも、スキャンツール９９からの出力指定ＩＤを、確実に含ませることができる。
【０１４５】
また、図３の場合で説明したように、強制駆動を実行するＥＣＵにスキャンツール９９から入力されたパラメータが、命令処理によって転送されるので、検査担当者は、強制駆動に必要なパラメータを指定できる。
【０１４６】
また、図３の場合で説明したように、内部報知処理において、出力検索メッセージに含まれる出力指定ＩＤに対応する強制駆動ＩＤを含ませた出力検索応答メッセージを作成するので、出力検索応答メッセージの信頼度が高まる。
【実施例２】
【０１４７】
先述した実施例１は、全てのＥＣＵが、選択ＥＣＵにも非選択ＥＣＵにもなり得るのが特徴であった。そうではなくて、各ＥＣＵを、選択ＥＣＵ専用のＥＣＵ（以下「マスタＥＣＵ」という）と、非選択ＥＣＵ専用のＥＣＵ（以下「スレイブＥＣＵ」という）とに予め分けても良い。
【０１４８】
図１４を用いて具体的に説明する。図１４は、故障診断システム２のブロック構成図である。故障診断システム２は、マスタＥＣＵ２００、及び、スレイブＥＣＵ２１０・２２０・２３０・…を備える。そして、スキャンツール９９からの出力操作メッセージは、常に、マスタＥＣＵ２００が受け取るように構成されている。
【０１４９】
そして、マスタＥＣＵ２００は、出力操作メッセージを受け取ると、実施例１で説明した応答処理を実行する替わりに、図１５のマスタ応答処理を実行する。そして、マスタＥＣＵ２００は、そのマスタ応答処理において、実施例１で説明したＳ１７００の命令処理（図８）、及びＳ１５００の失敗報知処理（図７）を実行するようになっている。一方、スレイブＥＣＵは、マスタＥＣＵ２００の命令処理に応じて、図９の第二実行処理を実行するようになっている。
【０１５０】
また、マスタＥＣＵ２００は、そのマスタ応答処理を実行するために、図２で示したテーブルのうち、自車両の分の情報（以下「自車両用テーブル」と言う。）を記憶媒体に保持している（保持手段に相当）。つまり、自車両に搭載されている各スレイブＥＣＵのそれぞれについて、どの強制駆動が実行可能であるかを記憶している。
【０１５１】
ここからマスタ応答処理を説明する。図１５は、マスタ応答処理を表したフローチャートである。まず、スキャンツール９９からの出力指定ＩＤが、自車両用テーブルに格納されているかを検索する（Ｓ１３５）。
【０１５２】
スキャンツール９９からの出力指定ＩＤが、自車両用テーブルに格納されていれば（Ｓ１３５でＹｅｓ）、その格納されている出力指定ＩＤに関連付けられているスレイブＥＣＵに対し、実施例１で説明した命令処理（Ｓ１７００）を実行して、Ｓ１３５で検索したスレイブＥＣＵに命令メッセージを送信する。
【０１５３】
一方、スキャンツール９９からの出力指定ＩＤが、自車両用テーブルに格納されていなければ（Ｓ１３５でＮｏ）、実施例１で説明した失敗報知処理（Ｓ１５００）を実行する。この場合の失敗理由は、スキャンツール９９からの出力指定ＩＤに対応する強制駆動の機能が、何れのスレイブＥＣＵにも割り当てられていない、というものになる。
【０１５４】
一方、各スレイブＥＣＵは、マスタＥＣＵ２００からの命令メッセージを受け取ると、実施例１と同じように、第二実行処理を実行する。つまり、実行可能状態なら（Ｓ３１０でＹｅｓ）、命令メッセージが示す強制駆動を実行する（Ｓ３２０）と共に、マスタＥＣＵ２００に出力操作成功メッセージを送信する（Ｓ３３０）。一方、実行不可能状態なら、マスタＥＣＵ２００に出力操作失敗メッセージを送信する（Ｓ３４０）。そして、マスタＥＣＵ２００は、そのどちらかのメッセージを受け取ると、メッセージに応じて、成功報知処理（Ｓ１８１０）または失敗報知処理（Ｓ１５００）を実行する。
【０１５５】
このような故障診断システム２によれば、実施例１の故障診断システムと同じ効果を得ながら、マスタ装置は検索および命令、スレイブ装置は強制駆動の実行、というように役割を分担できるので、各装置が実行する処理が単純化される。つまり、実施例１の照会処理、内部報知処理を省くことができるということである。
【０１５６】
この理由を簡単に述べると、実施例２におけるマスタ応答処理は、実施例１における応答処理のＳ１３０又はＳ１４０のどちらかで、常にＹｅｓと判断する処理に相当するものだからである。
【０１５７】
詳述すると、実施例１では、応答処理を実行することで、照会処理の動作を契機に各種メッセージがやり取りされ、Ｓ１３０及びＳ１４０の判断の基になる情報が、照会処理を実行するＥＣＵに徐々に蓄えられていく。そうすると、Ｓ１３０又はＳ１４０のどちらかでＹｅｓと判断できる機会が増えて、照会処理を実行しなくても済むようになる。
【０１５８】
それに対して実施例２では、その蓄えられる情報に相当する自車両用テーブルが、マスタＥＣＵ２００に予め保持されている。だから、マスタ応答処理は、応答処理に比べて簡潔になっている。なお、逆に言えば、実施例１は、自車両用テーブルを予め用意しなくても良いという点で便利である。また、実施例１と同じように、成功報知処理または失敗報知処理によって、強制駆動の実行結果をスキャンツール９９を通じて検査担当者に報知できる。
【０１５９】
ここで、特許請求の範囲と実施例との対応関係を述べる。まず実施例１について述べる。第一判断手段はＳ１１０、第一実行手段は第一実行処理、照会手段は照会処理、第二判断手段はＳ２１０、内部報知手段はＳ２２０、命令手段は命令処理、第二実行手段は第二実行処理、記憶手段はＳ１６５０、停止手段はＳ１３０、不可能報知手段はＳ１６５０後の失敗報知処理、第二記憶手段はＳ１６４０、禁止手段はＳ１４０、第二不可能報知手段はＳ１４０Ｙ後の失敗報知処理、第三判断手段はＳ３１０、内部失敗報知手段はＳ３４０、外部失敗報知手段はＳ３４０後の失敗報知処理、内部成功報知手段はＳ３３０、によってそれぞれ実現される。
【０１６０】
次に、実施例２について述べる。ただし、既に括弧書きで説明したものは省く。検索手段はＳ１３５、命令手段は命令処理、スレイブ実行手段は第二実行処理、結果報知手段はＳ３３０及びＳ３４０、外部報知手段は成功報知処理および失敗報知処理、によってそれぞれ実現される。
【０１６１】
一方、他の変形例について述べる。
まず、請求項１６に対応する変形例として、故障診断システム１で、照会処理および内部報知処理を省いてもよい。具体的には以下の通りである。
【０１６２】
各ＥＣＵは、スキャンツール９９から出力操作メッセージを受けると、図４の応答処理に替えて、図１６（ａ）の応答処理αを実行する。なお、図１６（ａ）において、図４と同じ処理については同一のステップ番号を付しているため説明を省略する。
【０１６３】
図１６（ａ）に示すように、スキャンツール９９からの出力操作メッセージを受けたＥＣＵ（選択ＥＣＵ）は、スキャンツール９９からの出力指定ＩＤが、自身の実行可能情報に含まれていないと判断すると（Ｓ１１０でＮｏ・第一判断手段）、命令メッセージを非選択ＥＣＵの全てに送信する（Ｓ４００・命令手段）。
【０１６４】
そして、非選択ＥＣＵはそれぞれ、その命令メッセージを受信すると、図１６（ｂ）の第二実行処理αを実行する（第二判断手段・第二実行手段）。なお、第二実行処理αについても、図９の第二実行処理との違いだけ説明する。各非選択ＥＣＵは、命令メッセージを受けると、Ｓ３１０の前に、その命令メッセージに含まれる出力指定ＩＤが自身の実行可能情報に含まれているかを判断する（Ｓ３０５）。含まれていれば（Ｓ３０５でＹｅｓ）、Ｓ３１０に進み、含まれていなければ（Ｓ３０５でＮｏ）、この処理を終える。
【０１６５】
このような請求項１６に対応する故障診断システムによれば、本願の課題を解決しながら、故障診断システム１の照会処理および内部報知処理を省くことができる。
また、請求項１７に対応する変形例として、故障診断システム１で、非選択ＥＣＵは、選択ＥＣＵからの出力検索メッセージを受信した場合に、内部報知処理に替えて、出力検索メッセージで示される強制駆動を自身が担当していることを選択ＥＣＵに報知し、その報知を受けた選択ＥＣＵは、その報知内容をスキャンツール９９に報知するようにしても良い。具体的には以下の通りである。
【０１６６】
まず、各ＥＣＵは、スキャンツール９９から出力操作メッセージを受けると、図４の応答処理に替えて、図１７（ａ）の応答処理βを実行する。なお、図１７（ａ）において、図４と同じ処理については同一のステップ番号を付しているため説明を省略する。
【０１６７】
図１７（ａ）に示すように、スキャンツール９９からの出力操作メッセージを受けたＥＣＵ（選択ＥＣＵ）は、スキャンツール９９からの出力指定ＩＤが、自身の実行可能情報に含まれていないと判断すると（Ｓ１１０でＮｏ・第一判断手段）、図１７（ｂ）の照会処理β（Ｓ２６００・照会手段）を実行する。照会処理βでは、まず、出力検索メッセージを非選択ＥＣＵに送信する（Ｓ１６１０）。
【０１６８】
そして、非選択ＥＣＵはそれぞれ、出力検索メッセージを受信すると、実施例１と同じように内部報知処理を実行する。つまり、出力検索メッセージが示す出力指定ＩＤが自身の実行可能情報に含まれていると判断すると（第二判断手段）、出力検索応答メッセージを選択ＥＣＵに送信する（内部報知手段）。
【０１６９】
一方、選択ＥＣＵは、照会処理βをＳ１６１０以降も続ける。ただし、これ以降の説明は、実施例１の照会処理との違いだけを述べる。その違いとは、Ｓ１６４０の次に実行する処理を、命令処理に替えてＳ５００にすることである。Ｓ５００では、スキャンツール９９からの出力指定ＩＤに対応する強制駆動を、今回のＳ１６４０で記憶した通信ＩＤによって示されるＥＣＵ（即ち、出力検索応答メッセージを返してきたＥＣＵ）が担当していることを、スキャンツール９９に報知する（実行可能報知手段）。
【０１７０】
また、請求項１８に対応する変形例として、故障診断システム１で、非選択ＥＣＵは、選択ＥＣＵからの出力検索メッセージを受信した場合に、内部報知処理に替えて、出力検索メッセージに示される強制駆動を自身が担当していることを、直接、スキャンツール９９に報知するようにしても良い。具体的には以下の通りである。
【０１７１】
まず、各ＥＣＵは、スキャンツール９９から出力検索メッセージを受信すると、図４の応答処理に替えて、図１８（ａ）の応答処理γを実行する。なお、図１８（ａ）において、図４と同じ処理については同一のステップ番号を付しているため説明を省略する。
【０１７２】
図１８（ａ）に示すように、スキャンツール９９からの出力操作メッセージを受けたＥＣＵ（選択ＥＣＵ）は、スキャンツール９９からの出力指定ＩＤが、自身の実行可能情報に含まれていないと判断すると（Ｓ１１０でＮｏ・第一判断手段）、出力検索メッセージを非選択ＥＣＵに送信する（Ｓ６００・照会手段）。
【０１７３】
そして、非選択ＥＣＵはそれぞれ、出力検索メッセージを受信すると、実施例１の内部報知処理に替えて、図１８（ｂ）の実行可能報知処理を実行する。
まず、非選択ＥＣＵは、出力検索メッセージに含まれる出力指定ＩＤが自身の実行可能情報に含まれているかを判断する（Ｓ７００・第二判断手段）。出力検索メッセージに含まれる出力指定ＩＤが自身の実行可能情報に含まれていれば、直接、その旨をスキャンツール９９に報知する（Ｓ７１０・実行可能報知手段）。また、出力検索メッセージに含まれる出力指定ＩＤが自身の実行可能情報に含まれていなければ、この処理を終える。
【０１７４】
このような請求項１７・請求項１８に対応する故障診断システムによれば、強制駆動を担当しているＥＣＵをスキャンツール９９を通じて検査担当者に報知できるので、検査担当者は、スキャンツール９９を通じて、そのＥＣＵに対して改めて強制駆動を命令することができる。よって、本願の課題を解決することができる。
【０１７５】
また、実施例２で説明した故障診断システム２の変形例として、次のような構成にしてもよい。この変形例では、各スレイブＥＣＵが、実施例１と同じように、実行可能情報を保持する（実行可能情報記憶手段に相当）。そして、各スレイブＥＣＵは、電源がオンになったときにマスタＥＣＵ２００にこの実行可能情報を送信するようになっている（送信手段に相当）。そして、マスタＥＣＵ２００は、受信した実行可能情報に基づいて自車両用テーブルを更新する（更新手段に相当）ようになっている。従って、マスタＥＣＵ２００は、各スレイブＥＣＵが実行できる強制駆動に変化があったとしても、適切に命令処理が実行できることになる。
【０１７６】
なお、実行可能情報の送信タイミングは、上記のようではなく、次に述べるようにしてもよい。まず、マスタＥＣＵ２００が、マスタ応答処理を実行する直前に、実行可能情報の送信を各スレイブＥＣＵに要求するためのメッセージを送信し（要求手段に相当）、各スレイブＥＣＵが、そのメッセージに対する返信として、実行可能情報をマスタＥＣＵ２００に送信して、マスタＥＣＵ２００が、受信した実行可能情報に基づいて自車両用テーブルを更新するようにしてもよい。
【０１７７】
このようにしても、マスタＥＣＵ２００は、各スレイブＥＣＵが実行できる強制駆動に変化があったとしても、適切に命令処理が実行できることになる。
一方、マスタＥＣＵ２００は、このようにして更新した情報を電源オフの時に消去することで、自車両用テーブルを初期化する。次回の電源オンの時、又はマスタ応答処理を実行する前に再び更新されるので、保持する必要がないからである。具体的には、更新した情報を揮発性の記憶媒体に記憶するようにすればよい。
【０１７８】
この変形例によれば、各スレイブＥＣＵが実行する強制駆動が変更されたとしても、マスタＥＣＵ２００は、その変更の情報を反映させるように自車両用テーブルを更新するので、マスタＥＣＵ２００は的確に命令処理を実行できる。また、電源オフ時にはその更新した情報を保持する必要はないので、記憶媒体を最小限のものにすることができる。
この他、本発明は、先述した例に限られず、発明の要旨の範囲内で種々の形態を取り得る。例えば、出力指定ＩＤは、各メッセージの最後に位置させなくてもよい。つまり、各ＥＣＵが、出力指定ＩＤを認識できれば、どの位置でもよい。また、自動車に搭載されるＥＣＵでなくても、故障診断システムを形成する電子制御装置であれば何でもよい。また、強制駆動による故障診断でなくてもよい。
【図面の簡単な説明】
【０１７９】
【図１】故障診断システム１の概略構成を示す図。
【図２】強制駆動に用いられる情報をテーブルで表した図。
【図３】強制駆動のための各処理によって送受信されるメッセージのやり取りを表した図。
【図４】応答処理を表したフローチャート。
【図５】照会処理を表したフローチャート。
【図６】内部報知処理を表したフローチャート。
【図７】失敗報知処理を表したフローチャート。
【図８】命令処理を表したフローチャート。
【図９】第二実行処理を表したフローチャート。
【図１０】成功報知処理を表したフローチャート。
【図１１】第一実行処理を表したフローチャート。
【図１２】強制駆動のための各処理によって送受信されるメッセージのやり取りを表した図。
【図１３】強制駆動のための各処理によって送受信されるメッセージのやり取りを表した図。
【図１４】故障診断システム２の概略構成を示す図。
【図１５】マスタ応答処理を表したフローチャート。
【図１６】第一の変形例を説明する説明図。
【図１７】第二の変形例を説明する説明図。
【図１８】第三の変形例を説明する説明図。
【図１９】従来技術による、強制駆動のための各処理によって送受信されるメッセージのやり取りを表した図。
【図２０】従来技術による、強制駆動のための各処理によって送受信されるメッセージのやり取りを表した図。
【符号の説明】
【０１８０】
１、２、１００…故障診断システム、３、９８…接続コネクタ、５…通信バス、１０、２０、３０、４０、５０、６０、１１０、１２０、１３０、１４０、１５０、１６０…ＥＣＵ、９９…スキャンツール、２００…マスタＥＣＵ、２１０、２２０、２３０…スレイブＥＣＵ、３１０、３２０…制御対象
【図１】
2010102642.tif 000003
【図２】
2010102642.tif 000004
【図３】
2010102642.tif 000005
【図４】
2010102642.tif 000006
【図５】
2010102642.tif 000007
【図６】
2010102642.tif 000008
【図７】
2010102642.tif 000009
【図８】
2010102642.tif 000010
【図９】
2010102642.tif 000011
【図１０】
2010102642.tif 000012
【図１１】
2010102642.tif 000013
【図１２】
2010102642.tif 000014
【図１３】
2010102642.tif 000015
【図１４】
2010102642.tif 000016
【図１５】
2010102642.tif 000017
【図１６】
2010102642.tif 000018
【図１７】
2010102642.tif 000019
【図１８】
2010102642.tif 000020
【図１９】
2010102642.tif 000021
【図２０】
2010102642.tif 000022