(57)【特許請求の範囲】
【請求項１】
車両に搭載される電子制御装置において、
車両制御処理を実行するＣＰＵと、
所定の車両挙動が発生したか否かを判定する挙動判定手段と、
前記挙動判定手段が前記所定の車両挙動が発生したと判定すると、車両の運転停止中もデータを保持する書き換え可能な記憶部に車両の挙動情報として車両走行情報を記憶する挙動情報記憶手段と、
前記挙動情報記憶手段が前記記憶部に前記挙動情報を記憶してから車両が運転を停止して電力供給が遮断されるまでの間に、前記ＣＰＵの作動が異常か否かの異常判定を実行する異常判定手段と、
前記異常判定手段による異常判定結果を異常判定情報として前記記憶部に記憶する判定情報記憶手段と、
前記挙動情報記憶手段が前記記憶部に前記車両走行情報を記憶すると、前記異常判定の実行条件が成立しているか否かを判定する実行条件判定手段と、
を備え、
前記異常判定の実行条件が成立していると前記実行条件判定手段が判定すると、前記異常判定手段は前記異常判定を実行する、
ことを特徴とする電子制御装置。
【請求項２】
前記異常判定手段は、前記記憶部に前記車両走行情報が記憶されている場合、車両が運転を停止するときに前記異常判定を実行することを特徴とする請求項１に記載の電子制御装置。
【請求項３】
前記異常判定手段は、前記ＣＰＵが使用する記憶領域の全域ではなく一部に対して、記憶されているデータが異常であるか否かをチェックすることにより、前記異常判定を実行することを特徴とする請求項１または２に記載の電子制御装置。
【請求項４】
前記挙動情報記憶手段は、前記車両走行情報を記憶したときの時刻を前記挙動情報の一部として前記記憶部に記憶し、
前記判定情報記憶手段は、前記異常判定手段が前記異常判定を実行した時刻を前記異常判定情報の一部として前記記憶部に記憶する、
ことを特徴とする請求項１から３のいずれか一項に記載の電子制御装置。
【請求項５】
前記判定情報記憶手段は、前記異常判定手段が前記異常判定を実行したか否かを表わす判定実行情報を前記異常判定情報の一部として前記記憶部に記憶することを特徴とする請求項１から４のいずれか一項に記載の電子制御装置。
【請求項６】
請求項１から５のいずれか一項に記載の電子制御装置に接続される診断ツールにおいて、
前記記憶部に記憶されている前記挙動情報および前記異常判定情報を読み出す読出し手段と、
前記読出し手段が前記記憶部から前記挙動情報および前記異常判定情報を読み出した結果、前記記憶部に前記車両走行情報が記憶されているときに、前記異常判定情報の前記異常判定結果が前記ＣＰＵの作動は正常であることを示している場合、前記挙動情報および
前記異常判定情報を出力し、前記異常判定結果が前記ＣＰＵの作動は異常であることを示している場合、前記挙動情報および前記異常判定情報のうち少なくとも前記挙動情報を出力しないか、あるいは前記挙動情報および前記異常判定情報のうち少なくとも前記異常判定情報を出力するとともに前記ＣＰＵの作動異常警告を出力する出力手段と、
を備えることを特徴とする診断ツール。
【請求項７】
請求項５に記載の電子制御装置に接続される診断ツールにおいて、
前記記憶部に記憶されている前記挙動情報および前記異常判定情報を読み出す読出し手段と、
前記読出し手段が前記記憶部から前記挙動情報および前記異常判定情報を読み出した結果、前記記憶部に前記車両走行情報が記憶されているときに、前記異常判定情報の前記判定実行情報が前記異常判定は実行されたことを示している場合、前記挙動情報および前記異常判定情報を出力し、前記異常判定情報の前記判定実行情報が前記異常判定は実行されていないことを示している場合、前記挙動情報および前記異常判定情報に加え前記異常判定が実行されていないことを示す警告を出力する出力手段と、
を備えることを特徴とする診断ツール。
【請求項８】
請求項１から５のいずれか一項に記載の電子制御装置と、
前記電子制御装置に接続される診断ツールであって、前記記憶部に記憶されている前記挙動情報および前記異常判定情報を読み出す読出し手段、ならびに前記読出し手段が前記記憶部から前記挙動情報および前記異常判定情報を読み出した結果、前記記憶部に前記車両走行情報が記憶されている場合、前記挙動情報および前記異常判定情報を出力する出力手段を有する診断ツールと、
を備えることを特徴とする診断システム。
【請求項９】
請求項１から５のいずれか一項に記載の電子制御装置と、
請求項６に記載の診断ツールと、
を備えることを特徴とする診断システム。
【請求項１０】
請求項５に記載の電子制御装置と、
請求項７に記載の診断ツールと、
を備えることを特徴とする診断システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両挙動を解析するために車両走行情報を記憶する車載電子制御装置、診断ツールおよび診断システムに関する。
【背景技術】
【０００２】
従来、特許文献１に開示されているように、車両に搭載された各種センサの検出信号から、車両挙動を診断し、解析する技術が知られている。また、衝突等により車両に衝撃が加わったときに、衝突前後の各種センサの出力情報を車両走行情報として記憶する技術が公知である。
【０００３】
また、センサやアクチュエータに異常が発生した場合には、異常状態に対応したダイアグコードと、そのときの時間軸に沿ったセンサ出力や制御データを車両走行情報（フリーズフレームデータ）として記憶することが行われている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第５７５４９６５号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ダイアグコードおよびフリーズフレームデータはセンサやアクチュエータ等に異常が発生したときに記憶されるので、例えば、センサおよびアクチュエータに異常は発生しておらず正常であるが、運転者の運転操作に対応しない車両挙動が発生したときには、そのときの車両走行情報は記憶されない。その結果、運転者の運転操作に対応しない車両挙動が発生しても、その原因を車両走行情報に基づいて解析できないという問題がある。
【０００６】
本発明は、上記課題を解決するためになされたものであり、所定の車両挙動が発生すると、そのときの車両走行情報に基づいて所定の車両挙動が発生した原因を適切に解析可能とする車載電子制御装置、診断ツールおよび診断システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本願発明者は、所定の車両挙動を設定しておき、所定の車両挙動が発生すると、車両の運転停止中もデータを保持する書き換え可能な記憶部に車両走行情報を記憶しておき、記憶した車両走行情報に基づいて所定の車両挙動の発生原因を解析する技術について検討した。その結果、本願発明者は、所定の車両挙動が発生した場合、車両制御処理を実行するＣＰＵの作動異常が原因で、所定の車両挙動が発生する可能性があることに思い至った。
【０００８】
しかしながら、例えば運転者の運転操作に対応しない車両挙動が発生した場合に、運転者がディーラ等に車両を持ち込む前に車両の運転を停止すると、記憶部に記憶された車両走行情報は保持されているが、ＣＰＵの作動状態を表わす情報が消失するので、車両の運転を再開したときにＣＰＵの作動異常が再現せず、ディーラ等でＣＰＵの作動異常を検出できないことがある。
【０００９】
その結果、所定の車両挙動が発生したときに記憶された車両走行情報だけでは、所定の車両挙動がＣＰＵの作動異常によって発生したのか、ＣＰＵ以外の原因で発生したのかを判別することができず、所定の車両挙動が発生した原因を適切に解析することができないという問題が生じる。
【００１０】
そこで、請求項１から１０に記載の発明によると、車両に搭載される電子制御装置において、挙動判定手段が所定の車両挙動が発生したと判定すると、挙動情報記憶手段は車両の運転停止中もデータを保持する書き換え可能な記憶部に車両の挙動情報として車両走行情報を記憶し、挙動情報記憶手段が記憶部に車両走行情報を記憶してから車両が運転を停止して電力供給が遮断されるまでの間に、異常判定手段は車両制御処理を実行するＣＰＵの作動が異常か否かの異常判定を実行し、判定情報記憶手段は、異常判定手段による異常判定結果を異常判定情報として記憶部に記憶する。
【００１１】
これにより、所定の車両挙動が発生し車両走行情報が記憶されると、車両が運転を停止し電力供給が遮断されるまでの間に、ＣＰＵの作動が異常であるか否かの異常判定結果が記憶部に保持される。
【００１２】
その結果、ＣＰＵの作動が正常である異常判定結果が記憶されている場合には、車両の運転が停止されてから、記憶されている車両走行情報を読み出し、読み出した車両走行情報に基づいて所定の車両挙動が発生した原因を解析できる。一方、ＣＰＵの作動が異常である異常判定結果が記憶されている場合には、記憶されている車両走行情報を採用せず、所定の車両挙動が発生した原因はＣＰＵの作動異常の可能性があると解析できる。
【００１３】
請求項１から１０に記載の発明のように、ＣＰＵの作動が異常か否かに関わらず、所定の車両挙動が発生すると車両走行情報を記憶する方式では、ＣＰＵの作動が異常か否かを判定して異常判定結果を記憶しておくことが、記憶された車両走行情報に基づいて所定の車両挙動の発生原因を解析するときに、ＣＰＵの作動が異常であるか否かに基づいて適切な処理をする上で必要である。
さらに請求項１から１０に記載の発明によると、実行条件判定手段は、挙動情報記憶手段が記憶部に車両走行情報を記憶すると、異常判定の実行条件が成立しているか否かを判定し、異常判定の実行条件が成立していると実行条件判定手段が判定すると、異常判定手段は異常判定を実行する。
これにより、所定の車両挙動が発生し車両走行情報が記憶されると、無条件にＣＰＵの
作動に対する異常判定を実行するのではなく、異常判定の実行条件が成立しているときだけ異常判定を実行する。例えば、車両の走行停止中や、異常判定よりも優先順位の高い処理が実行されていない等を異常判定の実行条件とすることにより、ＣＰＵの作動に対する異常判定を実行しても車両挙動に与える影響を極力低減することができる。
【００１４】
請求項２に記載の発明によると、異常判定手段は、記憶部に車両走行情報が記憶されている場合、車両が運転を停止するときに異常判定を実行する。
車両が運転を停止するときはＣＰＵが実行する車両制御処理が限定されるので、ＣＰＵの作動に対する異常判定を実行しても車両制御に与える影響を極力低減できる。
【００１５】
請求項３に記載の発明によると、異常判定手段は、ＣＰＵが使用する記憶領域の全域ではなく一部に対して、記憶されているデータが異常であるか否かをチェックすることにより、異常判定を実行する。
【００１６】
このように、ＣＰＵが使用する記憶領域の全域ではなく一部に対してデータチェックを実行するので、ＣＰＵの作動に対する異常判定に要する時間を短縮できる。これにより、異常判定以外の車両制御処理の待機時間を極力短縮し、車両制御に与える影響を極力低減できる。
【００１７】
特に、ＣＰＵの作動に対する異常判定を車両の運転中に実行する場合、異常判定に要する時間を短縮することにより、車両運転中における異常判定以外の車両制御処理の待機時間を極力短縮し、車両制御に与える影響を極力低減することが望ましい。
【００２０】
請求項４に記載の発明によると、挙動情報記憶手段は、車両走行情報を記憶したときの時刻を挙動情報の一部として記憶部に記憶し、判定情報記憶手段は、異常判定手段が異常判定を実行した時刻を異常判定情報の一部として記憶部に記憶する。
【００２１】
これにより、所定の車両挙動が発生したときに車両走行情報を記憶したときの時刻と、ＣＰＵの作動に対する異常判定を実行した時刻との時間差に基づいて、所定の車両挙動が発生したことにより記憶された車両走行情報と、ＣＰＵの作動に対する異常判定結果の関連性の大小を判定できる。例えば、時間差が短い場合には、ＣＰＵの作動に対する異常判定結果が示すＣＰＵの作動状態と所定の車両挙動の発生との関連性は高く、時間差が長い場合には、ＣＰＵの作動に対する異常判定結果が示すＣＰＵの作動状態と所定の車両挙動の発生との関連性は低いと判定できる。
【００２２】
ところで、所定の車両挙動が発生して車両走行情報を記憶したがＣＰＵの作動に対する異常判定が実行できなかった場合、ＣＰＵは異常である可能性がある。したがって、所定の車両挙動が発生して車両走行情報を記憶したがＣＰＵの作動に対する異常判定が実行できなかった場合には、ＣＰＵの作動に対する異常判定結果に基づいて車両走行情報を処理すると、誤った処理を実行する可能性がある。
【００２３】
そこで、請求項５に記載の発明によると、判定情報記憶手段は、異常判定手段が異常判定を実行したか否かを表わす判定実行情報を異常判定情報の一部として記憶部に記憶する。
【００２４】
これにより、判定実行情報が異常判定を実行したことを表わしている場合には、異常判定結果に基づいて車両走行情報を処理し、判定実行情報が異常判定を実行したことを表わしていない場合には、ＣＰＵの作動が異常または正常であるかを判定できないので、記憶された車両走行情報の信頼性は低いと判断する等の適切な処理を実行できる。
【００２８】
請求項６および９に記載の発明によると、請求項１から５のいずれか一項に記載の電子制御装置に接続される診断ツールにおいて、読出し手段が電子制御装置の記憶部から挙動情報および異常判定情報を読み出した結果、記憶部に車両走行情報が記憶されているときに、出力手段は、異常判定情報の異常判定結果がＣＰＵの作動は正常であることを示している場合、挙動情報および異常判定情報を出力し、異常判定結果がＣＰＵの作動は異常であることを示している場合、挙動情報および異常判定情報のうち少なくとも挙動情報を出力しないか、あるいは挙動情報および異常判定情報のうち少なくとも異常判定情報を出力するとともにＣＰＵの作動異常警告を出力する。
【００２９】
これにより、診断ツールが電子制御装置から読み出した挙動情報および異常判定情報に基づいて、ＣＰＵの作動が正常であるか異常であるかが区別できるように、診断ツールが自動で出力を制御する。その結果、診断ツールが電子制御装置から読み出した挙動情報および異常判定情報に基づいて、ＣＰＵの作動が正常であるか異常であるかをオペレータが判断する必要がなく、オペレータが出力を調整する工数を省略できる。
【００３０】
請求項７および１０に記載の発明によると、請求項５に記載の電子制御装置に接続される診断ツールにおいて、読出し手段が電子制御装置の記憶部から挙動情報および異常判定情報を読み出した結果、記憶部に車両走行情報が記憶されているときに、出力手段は、異常判定情報の判定実行情報が異常判定は実行されたことを示している場合、挙動情報および異常判定情報を出力し、異常判定情報の判定実行情報が異常判定は実行されていないことを示している場合、挙動情報および異常判定情報に加え異常判定が実行されていないことを示す警告を出力する。
【００３１】
これにより、診断ツールが電子制御装置から読み出した挙動情報および異常判定情報に基づいて、ＣＰＵの異常判定が実行されたか実行されなかったかが区別できるように、診断ツールが自動で出力を制御する。その結果、診断ツールが電子制御装置から読み出した挙動情報および異常判定情報に基づいて、ＣＰＵの異常判定が実行されたか実行されなかったかをオペレータが判断する必要がなく、オペレータが出力を調整する工数を省略できる。
【図面の簡単な説明】
【００３２】
【図１】本実施形態による診断システムを示すブロック図。
【図２】ＥＣＵへの電力制御回路を示す回路図。
【図３】ＥＣＵの挙動情報記憶処理および異常判定処理を示すフローチャート。
【図４】ＥＣＵの他の挙動情報記憶処理および異常判定処理を示すフローチャート。
【図５】ＥＣＵの他の挙動情報記憶処理および異常判定処理を示すフローチャート。
【図６】診断ツールの出力処理を示すフローチャート。
【図７】診断ツールの他の出力処理を示すフローチャート。
【図８】診断ツールの他の出力処理を示すフローチャート。
【発明を実施するための形態】
【００３３】
以下、本発明の実施形態を図に基づいて説明する。
図１に、本実施形態の診断システムを示す。診断システム１０は、エンジンＥＣＵ（以下、単にＥＣＵとも言う。）２０と、診断ツール１００とから構成されている。
【００３４】
ＥＣＵ（Electronic Control Unit）２０は、ＣＰＵ２２、ＲＯＭ２４、ＲＡＭ２６、ＳＲＡＭ（スタンバイＲＡＭ）２８、ＥＥＰＲＯＭ３０、入力回路４０、出力回路４２、通信回路５０、およびメインリレー制御回路６０（図２参照）等から構成されている。
【００３５】
ＥＣＵ２０は、ＲＯＭ２４に記憶されている制御プログラムをＣＰＵ２２が実行することにより、アクセル開度、エンジン回転数、吸気量、吸気温、水温、イグニションのオン、オフ等の検出信号を各種センサ等から入力回路４０を介して入力する。そして、これら検出信号に基づいて、図示しないインジェクタの燃料噴射制御、点火プラグの点火制御、警告灯の点灯制御、電源のメインリレー制御等の制御信号を、出力回路４２を介して出力する。
【００３６】
ＥＣＵ２０の制御プログラムが作業用に使用し、イグニションスイッチ４がオフされると電力供給が遮断されることにより記憶データが消失するＲＡＭ２６と異なり、図２に示すように、イグニションスイッチ４のオン、オフに関わらず、ＳＲＡＭ２８にはバッテリ２から電力が供給される。したがって、ＳＲＡＭ２８に記憶されているデータは、バッテリ２の交換等により電力供給が遮断されない限り保存される。
【００３７】
ＥＥＰＲＯＭ３０は、書き換え可能な不揮発性の記憶手段である。バッテリ２から電力供給が遮断されても、ＥＥＰＲＯＭ３０に記憶されているデータは保存される。
通信回路５０は、ＣＡＮ（Controller Area Network）等の車内ＬＡＮによる通信ライン２００を介して車両に搭載されている他のＥＣＵと通信したり、ＳＲＡＭ２８またはＥＥＰＲＯＭ３０に記憶している情報を通信ライン２００を介して診断ツール１００に送信したりすることに使用される。
【００３８】
図２に示すように、メインリレー制御回路６０は、イグニションスイッチ４がオフであっても、ＥＣＵ２０がメインリレー信号をオンにしている場合には、メインリレー６をオン状態に保持するので、バッテリ２からＥＣＵ２０に電力が供給される。イグニションスイッチ４とメインリレー信号とが両方オフになるとメインリレー６がオフになるので、ＣＰＵ２２への電力供給は遮断される。
【００３９】
診断ツール１００は、ＣＰＵ、ＲＯＭ、ＲＡＭ等からなるマイクロコンピュータにより主に構成されている。診断ツール１００は、通信ライン２００に接続し、ＥＣＵ２０から、後述する所定の車両挙動が発生したときの挙動情報と、ＣＰＵ２２の作動に対する異常判定結果を含む異常判定情報とをＥＣＵ２０から読み出し、読み出した情報をディスプレィ等に出力する。
【００４０】
次に、ＲＯＭ２４等に記憶されている制御プログラムをＣＰＵ２２が実行することにより、ＥＣＵ２０が機能する各手段について説明する。
（挙動判定手段）
ＥＣＵ２０は、所定の車両挙動として以下の（１）、（２）に示すような所定の車両挙動を予め設定しておき、所定の車両挙動が発生したか否かを各種センサの検出信号に基づいて判定する。これら所定の車両挙動は、運転者の操作に対応していない車両挙動である。
（１）アクセルペダルを踏んでいないのに、スロットル開度が所定開度（例えば５°）以上開く。
（２）シフトレンジがニュートラルに設定されているのに、エンジン回転数が２０００ｒｐｍ以上に急激に上昇する。
【００４１】
（挙動情報記憶手段）
ＥＣＵ２０は、前述した所定の車両挙動が発生すると、そのときの車両走行情報を記憶したか否かを表わす記憶実行情報と、車両走行情報を記憶した時刻と、次に列挙する車両走行情報とを、挙動情報としてＳＲＡＭ２８またはＥＥＰＲＯＭ３０に記憶する。記憶実行情報の初期値は、「記憶なし」に設定されている。
○記憶される車両走行情報
アクセル開度、エンジン回転数、スロットル開度、トランスミッションの変速位置、吸気量、吸気温、水温、車速。
【００４２】
これら車両の運転状態を表わす情報に加え、車載カメラやナビゲーション装置を搭載している場合には、車載カメラが撮像した画像データの解析結果に基づく車両周囲の他車両の走行状態、地図データ情報に基づく曲率や勾配等の走行道路の形状等を車両走行情報として記憶してもよい。
【００４３】
本実施形態では、所定の車両挙動が時間軸上で複数回発生しても、最新の挙動情報を前回の挙動情報に上書きして記憶する。ただし、記憶容量に余裕があれば、所定の車両挙動が発生したときの挙動情報をそれぞれ記憶してもよい。
【００４４】
（異常判定手段）
ＥＣＵ２０は、所定の車両挙動が発生し挙動情報が記憶されると、エンジンが運転を停止し、ＣＰＵ２２への電力供給を遮断するまでの間に、ＣＰＵ２２の作動が異常であるか否かを判定する。
【００４５】
ＣＰＵ２２の作動に対する異常判定は、所定の車両挙動が発生し、そのときの車両走行情報を記憶してから極力早く実行してもよいし、エンジンが停止してからＣＰＵ２２への電力供給が遮断されるまでの間に実行してもよい。
【００４６】
所定の車両挙動が発生し、そのときの車両走行情報を記憶してから極力早くＣＰＵ２２の作動に対する異常判定を実行する場合には、所定の車両挙動が発生したときのＣＰＵ２２の作動状態が一時的な現象であっても、所定の車両挙動が発生したときのＣＰＵ２２の作動状態が変化する前にＣＰＵ２２の作動状態を判定できるという効果がある。
【００４７】
一方、エンジンが停止してからＣＰＵ２２への電力供給が遮断されるまでの間に、ＣＰＵ２２の作動に対する異常判定を実行する場合には、車両制御に与える影響を極力低減してＣＰＵ２２の作動に対する異常判定を実行できるという効果がある。
【００４８】
ＣＰＵ２２の作動異常の判定方法として、以下の（１）〜（５）に示す項目が考えられる。（１）〜（５）に示す項目を組み合わせて異常判定を実行してもよい。
（１）ＲＯＭ２４およびＲＡＭ２６に記憶されているデータのチェックとしてサムチェックを行う。この場合、ＲＯＭ２４およびＲＡＭ２６の記憶領域の全域に対してサムチェックを行ってもよいし、車両が運転中の場合には、全域ではなく一部の記憶領域に対してだけサムチェックを行ってもよい。
【００４９】
サムチェックを実行する記憶領域を一部に限定することにより、ＣＰＵ２２の異常判定に要する時間を短縮できるので、異常判定以外の車両制御処理の実行が待ち合わされる時間を短縮できる。
【００５０】
尚、サムチェックを行う記憶領域を限定する場合、例えば、燃料噴射弁に対する噴射制御データ等の車両制御処理の重要度が高いデータが記憶されている記憶領域に対してはサムチェクを実行せず、センサやアクチュエータに対する診断データ等の車両制御処理の重要度が低いデータが記憶されている記憶領域に対してサムチェクを実行することが望ましい。
【００５１】
これは、車両制御処理の重要度が高いデータが記憶されている記憶領域に対して、該当する車両制御処理以外の処理がアクセスすることを極力避けるためである。
（２）ＲＯＭ２４およびＲＡＭ２６のそれぞれを２重化（ミラーリング）し、データの整合性をチェックする。
（３）ＲＡＭ２６に記憶されているデータの上限値または下限値のチェック。例えば、センサの出力信号のレベルが規定範囲内か否か。
（４）ＣＰＵ２２の温度。
（５）他のＥＣＵからデータを取得してＣＰＵ２２で所定の演算を行った結果と、他のＥＣＵで同じデータに対して同じ所定の演算を行った結果とを照合し、不一致の場合、自ＥＣＵ２０のＣＰＵ２２に作動異常の可能性があると判定する。
【００５２】
（判定情報記憶手段）
ＥＣＵ２０は、ＣＰＵ２２の作動が異常であるか否かを判定すると、ＣＰＵ２２の作動に対する異常判定を実行したか否かを表わす判定実行情報と、異常判定結果と、判定した時刻とを、異常判定情報としてＳＲＡＭ２８またはＥＥＰＲＯＭ３０に記憶する。
【００５３】
本実施形態では、判定実行情報の初期値は「実行していない」、異常判定結果の初期値は「正常」に設定されている。
（実行条件判定手段）
ＥＣＵ２０は、所定の車両挙動が発生したことにより、ＣＰＵ２２の作動に対する異常判定を実行する場合、異常判定を実行する条件が成立しているか否かを判定してもよい。異常判定を実行する条件としては、例えば、車速が０になっており、異常判定を実行しても車両挙動に与える影響を極力低減できる車両走行状態が考えられる。車速が０になりエンジンがアイドル運転を実行している場合には、ＣＰＵ２２の作動に対する異常判定を実行しても車両挙動に与える影響を極力低減できる。
【００５４】
次に、所定の車両挙動が発生してからＣＰＵ２２の作動異常を判定するまでのＥＣＵ２０における処理について、図３〜図５に基づいて説明する。図３〜図５において「Ｓ」はステップを表わしている。
【００５５】
（挙動情報記憶処理および異常判定処理１）
図３は、ＥＣＵ２０における挙動情報記憶処理および異常判定処理１を示すフローチャートである。まずＥＣＵ２０は、前述した「挙動判定手段」の項目で説明した所定の車両挙動が発生しているか否かを判定する（Ｓ４００）。所定の車両挙動が発生していない場合（Ｓ４００：Ｎｏ）、ＥＣＵ２０はＳ４０４に処理を移行する。
【００５６】
所定の車両挙動が発生している場合（Ｓ４００：Ｙｅｓ）、ＥＣＵ２０は、前述した「挙動情報記憶手段」の項目で説明した、所定の車両挙動が発生したときの車両走行情報と、時刻と、車両走行情報を記憶したことを表わす記憶実行情報とを、挙動情報としてＳＲＡＭ２８またはＥＥＰＲＯＭ３０に記憶する（Ｓ４０２）。
【００５７】
Ｓ４０４においてＥＣＵ２０は、イグニションスイッチがオフされた後、エンジンの運転が停止したか否かを、エンジン回転数が０の状態が例えば１秒以上継続したか否かによって判定する。エンジンが停止していない場合（Ｓ４０４：Ｎｏ）、ＥＣＵ２０は本処理を終了する。
【００５８】
エンジンが停止すると（Ｓ４０４：Ｙｅｓ）、ＥＣＵ２０は、ＳＲＡＭ２８またはＥＥＰＲＯＭ３０の所定領域に記憶されている挙動情報の記憶実行情報から、所定の車両挙動が発生したために車両走行情報が記憶されているか否かを判定する（Ｓ４０６）。車両走行情報が記憶されていない場合（Ｓ４０６：Ｎｏ）、ＥＣＵ２０はＳ４１２に処理を移行する。
【００５９】
車両走行情報が記憶されている場合（Ｓ４０６：Ｙｅｓ）、ＥＣＵ２０は、前述した「異常判定手段」の項目で説明したＣＰＵ２２の作動に対する異常判定を実行し（Ｓ４０８）、ＣＰＵ２２の作動が異常であるか正常であるかの異常判定結果と、作動異常の判定を実行した時刻と、異常判定を実行したことを表わす判定実行情報とを異常判定情報として、ＳＲＡＭ２８またはＥＥＰＲＯＭ３０に記憶する（Ｓ４１０）。
【００６０】
Ｓ４１２においてＥＣＵ２０は、メインリレー信号をオフにして、ＣＰＵ２２への電力供給を遮断する（Ｓ４１２）。
図３に示す挙動情報記憶処理および出力処理１では、エンジンが運転を停止して電力供給が遮断されるまでの間にＣＰＵ２２の作動に対する異常判定を実行する。このように車両が運転を停止するときにはＣＰＵ２２が実行する車両制御処理が限定されるので、ＣＰＵ２２の作動に対する異常判定を実行しても車両制御に与える影響を極力低減できる。
【００６１】
（挙動情報記憶処理および異常判定処理２）
図４は、ＥＣＵ２０における挙動情報記憶処理および異常判定処理２を示すフローチャートである。図４のＳ４２４およびＳ４２６が図３のＳ４０２の次に加えられており、図４のその他のＳ４２０、Ｓ４２２、Ｓ４２８〜Ｓ４３６は図３のＳ４００〜Ｓ４１２と実質的に同一処理である。
【００６２】
図４において、所定の車両挙動が発生していない場合（Ｓ４２０：Ｎｏ）、ＥＣＵ２０はＳ４２８に処理を移行する。
所定の車両挙動が発生し（Ｓ４２０：Ｙｅｓ）、そのときの車両走行情報と、時刻と、記憶実行情報とを、挙動情報としてＳＲＡＭ２８またはＥＥＰＲＯＭ３０に記憶すると（Ｓ４２２）、ＥＣＵ２０は、ＲＯＭ２４およびＲＡＭ２６の限定された記憶領域に対してサムチェックを実行することによりＣＰＵ２２の作動が異常であるかを判定し（Ｓ４２４）、異常判定結果と、時刻と、判定実行情報とを車両運転中に実行した異常判定情報として、ＳＲＡＭ２８またはＥＥＰＲＯＭ３０において、Ｓ４３４で記憶するエンジン停止時の異常判定情報とは異なる記憶領域に記憶する（Ｓ４２６）。そして、ＥＣＵ２０はＳ４２８に処理を移行する。Ｓ４２８以降の処理は、図３のＳ４０４以降の処理と実質的に同じである。
【００６３】
つまり図４では、所定の車両挙動が発生したことにより車両走行情報を記憶した直後に加え、エンジンが停止してから電力供給が遮断されるまでの間にもＣＰＵ２２の作動に対する異常判定が実行され、２種類の判定結果が記憶されることになる。これは、Ｓ４２４で実行されるＣＰＵ２２の作動に対する異常判定は、ＣＰＵ２２が使用する記憶領域の全域ではなく限定された一部の記憶領域に対して実行されるので、エンジンが停止してから電力供給が遮断されるまでの間に、極力広い記憶領域でＣＰＵ２２の作動に対する異常判定を実行し、異常判定の正確性を向上させるためである。
【００６４】
図４に示す挙動情報記憶処理および出力処理２では、所定の車両挙動が発生し、車両走行情報が記憶された直後にＣＰＵ２２の作動に対する異常判定を実行する。これにより、所定の車両挙動が発生し車両走行情報が記憶されると、ＣＰＵ２２の作動状態が変化する前に、速やかにＣＰＵ２２の作動が異常であるか否かを判定できる。
【００６５】
また、車両運転中には、ＣＰＵ２２が使用するＲＯＭ２４およびＲＡＭ２６の記憶領域の全域に対してデータチェックを実行するのではなく、限定された一部の記憶領域だけに対してデータチェックを実行するので、データチェックによるＣＰＵ２２の作動に対する異常判定に要する時間を短縮できる。これにより、異常判定以外の車両制御処理の待機時間を極力短縮し、車両制御に与える影響を極力低減できる。
【００６６】
この場合、車両制御処理の重要度が高いデータが記憶されている記憶領域に対するアクセスを極力避けるために、車両制御処理の重要度が低いデータが記憶されている記憶領域に対してデータチェックをすることが望ましい。
【００６７】
（挙動情報記憶処理および異常判定処理３）
図５は、ＥＣＵ２０における挙動情報記憶処理および異常判定処理３を示すフローチャートである。図５のＳ４４４が図３のＳ４０２の次に追加され、図５のＳ４４６〜Ｓ４５４が図３のＳ４０４の前に加えられており、図５のＳ４５８が図３のＳ４０４とＳ４０６との間に追加されている。図５のその他のＳ４４０、Ｓ４４２、Ｓ４５６、Ｓ４６０〜Ｓ４６６は図３のＳ４００〜Ｓ４１２と実質的に同一処理である。
【００６８】
図５において、所定の車両挙動が発生していない場合（Ｓ４４０：Ｎｏ）、ＥＣＵ２０はＳ４４６に処理を移行する。
所定の車両挙動が発生すると（Ｓ４４０：Ｙｅｓ）、ＥＣＵ２０は、そのときの車両走行情報と、時刻と、記憶実行情報とを、挙動情報としてＳＲＡＭ２８またはＥＥＰＲＯＭ３０に記憶する（Ｓ４４２）。そして、挙動情報を記憶すると、ＣＰＵ２２の作動に対する異常判定を実行するために、作動異常の判定を実行したか否かを表わす判定実行情報を初期化し（Ｓ４４４）、Ｓ４４６に処理を移行する。前述したように、判定実行情報の初期値は「実行していない」である。
【００６９】
Ｓ４４４で判定実行情報を初期化するのは、所定の車両挙動が時間軸上で複数回発生して、最新の挙動情報を前回の挙動情報に上書きして記憶する場合に、ＣＰＵ２２の異常判定も最新の挙動情報に対して行いたいためである。
【００７０】
Ｓ４４６においてＥＣＵ２０は、判定実行情報に基づき、ＣＰＵ２２の作動に対する異常判定を実行したか否かを判定する。異常判定をすでに実行した場合（Ｓ４４６：Ｙｅｓ）、ＥＣＵ２０は、記憶された最新の挙動情報に対してＣＰＵ２２の作動に対する異常判定が一度実行されているので二度目を実行する必要はないと判断し、Ｓ４５６に処理を移行する。
【００７１】
異常判定を実行していない場合（Ｓ４４６：Ｎｏ）、ＥＣＵ２０は、記憶実行情報に基づき、車両走行情報を記憶したか否かを判定する（Ｓ４４８）。車両走行情報を記憶していない場合（Ｓ４４８：Ｎｏ）、ＥＣＵ２０は、ＣＰＵ２２の作動に対する異常判定を実行する必要はないと判断し、Ｓ４５６に処理を移行する。
【００７２】
車両走行情報を記憶した場合（Ｓ４４８：Ｙｅｓ）、ＥＣＵ２０は、車両走行状態がＣＰＵ２２の作動に対する異常判定を実行しても車両挙動に与える影響を極力小さくできる安全状態にあるか否か、つまりＣＰＵ２２の作動に対する異常判定の実行条件が成立しているか否かを判定する（Ｓ４５０）。車両走行状態が安全状態ではない場合（Ｓ４５０：Ｎｏ）、ＥＣＵ２０はＳ４５６に処理を移行する。
【００７３】
ＣＰＵ２２の作動に対する異常判定の実行条件としては、前述したように、車速が０になっていることが考えられる。
車両走行状態が安全状態である場合（Ｓ４５０：Ｙｅｓ）、ＥＣＵ２０は、図３のＳ４０８と同様にＣＰＵ２２の作動に対する異常判定を実行し（Ｓ４５２）、ＣＰＵ２２が異常であるか正常であるかの異常判定結果と、作動異常の判定を実行した時刻と、作動異常の判定を実行したか否かを表わす判定実行情報とを、異常判定情報としてＳＲＡＭ２８またはＥＥＰＲＯＭ３０に記憶する（Ｓ４５４）。そして、ＥＣＵ２０はＳ４５６に処理を移行する。
【００７４】
イグニションスイッチがオフされた後、エンジンが停止していない場合（Ｓ４５６：Ｎｏ）、ＥＣＵ２０は本処理を終了する。エンジンが停止すると（Ｓ４５６：Ｙｅｓ）、Ｓ４５８においてＥＣＵ２０は、判定実行情報に基づき、ＣＰＵ２２の作動に対する異常判定を実行したか否かを判定する。
【００７５】
異常判定をすでに実行した場合（Ｓ４５８：Ｙｅｓ）、ＥＣＵ２０はＳ４６６に処理を移行する。これは、車両運転中にＣＰＵ２２の作動に対する異常判定をすでに実行した場合、エンジンが停止したときに異常判定を実行する必要はないと判断するからである。
【００７６】
異常判定を実行していない場合（Ｓ４５８：Ｎｏ）、ＥＣＵ２０はＳ４６０に処理を移行する。Ｓ４６０以降の処理は、図３のＳ４０６以降の処理と実質的に同じである。
図５に示す挙動情報記憶処理および出力処理３によると、挙動情報記をＳＲＡＭ２８またはＥＥＰＲＯＭ３０に記憶した直後に、極力早く無条件にＣＰＵ２２の作動に対する異常判定を実行するのではなく、車速が０になったことを異常判定の実行条件とすることにより、ＣＰＵ２２の作動に対する異常判定を実行しても車両挙動に与える影響を極力低減することができる。
【００７７】
（出力処理１）
図６は、図３または図５に示すＥＣＵ２０における処理に対応して、診断ツール１００で実行される出力処理１を示すフローチャートである。
【００７８】
まず診断ツール１００は、車両の挙動情報と、ＣＰＵ２２の作動に対する異常判定に関する異常判定情報との読出し要求があると（Ｓ４７０：Ｙｅｓ）、所定の車両挙動が発生したために車両走行情報を記憶したか否かを表わす記憶実行情報、ならびに記憶した場合はそのときの時刻および車両走行情報を含む挙動情報と、ＣＰＵ２２の作動に対する異常判定結果、ならびに、そのときの時刻を含む異常判定情報とを、ＥＣＵ２０のＳＲＡＭ２８またはＥＥＰＲＯＭ３０の所定の記憶領域から読み出す（Ｓ４７２）。
【００７９】
そして、挙動情報の記憶実行情報が車両走行情報を記憶したことを表わしていない場合（Ｓ４７４：Ｎｏ）、ＥＣＵ２０は本処理を終了する。
記憶実行情報が車両走行情報を記憶したことを表わしている場合（Ｓ４７４：Ｙｅｓ）、ＥＣＵ２０は、ＣＰＵ２２の作動に対する異常判定結果が正常か否かを判定する（Ｓ４７６）。異常判定結果が異常の場合（Ｓ４７６：Ｎｏ）、診断ツール１００は、ＣＰＵ２２の作動が異常であるメッセージと、ＣＰＵ２２の異常判定に関する異常判定情報と、所定の車両挙動が発生したことに関する挙動情報とを診断ツール１００のディスプレイ等に出力する（Ｓ４７８）。異常メッセージとして、例えば、「ＣＰＵが異常です。このため、車両走行情報が記憶される車両挙動が発生した可能性があります。」等が表示される。
【００８０】
異常判定結果が正常の場合（Ｓ４７６：Ｙｅｓ）、診断ツール１００は、ＣＰＵ２２の作動に対する異常判定を実際に実行したか否かを、ＥＣＵ２０から読み出したＣＰＵ２２の異常判定情報のうち判定実行情報により判定する（Ｓ４８０）。
【００８１】
図３および図５の処理においては、エンジンが停止してから電力供給が遮断されるまでの間に、ＣＰＵ２２の作動に対する異常判定は実行されるのであるが、異常判定の実行中にメインリレー制御回路６０の故障等で電力供給が遮断されると、異常判定が正常に終了しないことがある。
【００８２】
さらに、本実施形態ではＣＰＵ２２の作動に対する異常判定結果の初期値は正常に設定されており、異常判定を実行していない場合、異常判定結果が正常のままになっているので、異常判定を実際に実行した結果が正常であるか否かを判別する必要がある。
【００８３】
異常判定を実際に実行した場合（Ｓ４８０：Ｙｅｓ）、診断ツール１００は、所定の車両挙動が発生したことに関する挙動情報と、ＣＰＵ２２の作動に対する異常判定に関する異常判定情報とを表示する（Ｓ４８２）。
【００８４】
異常判定を実際には実行していない場合（Ｓ４８０：Ｎｏ）、診断ツール１００は、ＣＰＵ２２の作動に対する異常判定を実行していないことを表わすメッセージと、所定の車両挙動が発生したことに関する挙動情報と、ＣＰＵ２２の作動に対する異常判定に関する異常判定情報とを表示する（Ｓ４８２）。異常判定を実行していないことを表わすメッセージとして、例えば、「異常判定を実行していません。」等が表示される。
【００８５】
（出力処理２）
図７は、図４に示すＥＣＵ２０における処理に対応して、診断ツール１００で実行される出力処理２を示すフローチャートである。
【００８６】
図７のＳ４９６およびＳ４９８が図６のＳ４７４とＳ４７６との間に加えられており、図７のその他のＳ４９０〜Ｓ４９４、Ｓ５００〜Ｓ５０８は図６のＳ４７０〜Ｓ４８４と実質的に同一処理である。
【００８７】
診断ツール１００は、車両の挙動情報と、ＣＰＵ２２の作動に対する異常判定に関する異常判定情報との読出し要求があると（Ｓ４９０：Ｙｅｓ）、挙動情報と異常判定情報とを、ＥＣＵ２０のＳＲＡＭ２８またはＥＥＰＲＯＭ３０の所定の記憶領域から読み出す（Ｓ４９２）。そして、挙動情報の記憶実行情報が車両走行情報を記憶したことを表わしている場合（Ｓ４９４：Ｙｅｓ）、診断ツール１００は、車両運転中に実行したＣＰＵ２２の作動に対する異常判定結果が正常であるか否かを判定する（Ｓ４９６）。
【００８８】
車両運転中の異常判定結果が異常の場合（Ｓ４９６：Ｎｏ）、診断ツール１００は、図６のＳ４７８と同様に、ＣＰＵ２２の作動が異常であるメッセージと、異常判定情報と、挙動情報とを診断ツール１００のディスプレイ等に出力する（Ｓ５０２）。
【００８９】
車両運転中の異常判定結果が正常の場合（Ｓ４９６：Ｙｅｓ）、診断ツール１００は、車両運転中にＣＰＵ２２の作動に対する異常判定を実際に実行したか否かを、ＥＣＵ２０から読み出したＣＰＵ２２の異常判定情報のうち判定実行情報により判定する（Ｓ４９８）。
【００９０】
これは、前述したように、本実施形態では車両運転中に実行されるＣＰＵ２２の作動に対する異常判定結果の初期値は正常に設定されているので、異常判定を実行していない場合、車両運転中の異常判定結果が正常のままになっているので、異常判定を実際に実行した結果が正常であるか否かを判別する必要があるからである。
【００９１】
車両運転中に異常判定を実際に実行した場合（Ｓ４９８：Ｙｅｓ）、診断ツール１００はＳ５００に処理を移行する。Ｓ５００以降の処理は、図６のＳ４７６以降の処理と実質的に同一である。
【００９２】
車両運転中に異常判定を実際には実行していない場合（Ｓ４９８：Ｎｏ）、図６のＳ４８４と同様に、診断ツール１００は、ＣＰＵ２２の作動に対する異常判定を実行していないことを表わすメッセージと、所定の車両挙動が発生したことに関する挙動情報と、ＣＰＵ２２の作動に対する異常判定に関する異常判定情報とを表示する（Ｓ５０８）。
【００９３】
尚、図７の出力処理では、車両運転中の異常判定結果が異常の場合（Ｓ４９６：Ｎｏ）、エンジン停止時の異常判定情報は出力されないが、車両運転中の異常判定結果が異常の場合にも、エンジン停止時の異常判定情報を出力してもよい。
【００９４】
また、車両運転中にＣＰＵ２２の作動に対する異常判定が実行されていない場合（Ｓ４９８：Ｎｏ）、エンジン停止時の異常判定情報は出力されないが、車両運転中にＣＰＵ２２の作動に対する異常判定が実行されていない場合にも、エンジン停止時の異常判定情報を出力してもよい。
【００９５】
また、図７の出力処理２のＳ５０６では、車両運転中またはエンジン停止時の一方ではなく、両方の異常判定情報を出力することが望ましい。
（出力処理３）
図８では、図７のＳ５０２に代えてＳ５２２を実行する。図８のその他のＳ５１０〜Ｓ５２０、Ｓ５２４〜Ｓ５２８は図７のＳ４９０〜Ｓ５００、Ｓ５０４〜Ｓ５０８と実質的に同一処理である。
【００９６】
車両運転中またはエンジン停止時に実行した異常判定結果が異常の場合（Ｓ５１６：Ｎｏ、Ｓ５２０：Ｎｏ）、診断ツール１００は、ＣＰＵ２２の作動が異常であるメッセージだけを表示し、車両の挙動情報およびＣＰＵ２２の異常判定情報は表示しない（Ｓ５２２）。
【００９７】
以上説明した本実施形態では、所定の車両挙動が発生し挙動情報として車両走行情報が記憶されると、挙動情報を記憶してから車両が運転を停止し電力供給が遮断されるまでの間に、ＣＰＵ２２の作動が異常であるか否かの異常判定が実行され、異常判定結果が異常判定情報としてＳＲＡＭ２８またはＥＥＰＲＯＭ３０に保持される。
【００９８】
その結果、ＣＰＵ２２の作動が正常である異常判定結果が記憶されている場合には、記憶されている車両走行情報に基づいて所定の車両挙動が発生した原因を解析できる。一方、ＣＰＵ２２の作動が異常である異常判定結果が記憶されている場合には、記憶されている車両走行情報を採用せず、所定の車両挙動が発生した原因はＣＰＵ２２の作動異常であると適切に解析できる。
【００９９】
また、挙動情報の一部として車両走行情報を記憶した時刻と、ＣＰＵ２２の作動に対する異常判定を実行した時刻とを記憶するので、所定の車両挙動が発生して車両走行情報を記憶した時刻と、ＣＰＵ２２の作動に対する異常判定を実行した時刻との時間差に基づいて、所定の車両挙動の発生に対して、ＣＰＵ２２の作動に対する異常判定結果の関連性の大小を判断できる。
【０１００】
例えば、時間差が短い場合には、ＣＰＵ２２の作動に対する異常判定結果が示すＣＰＵの作動状態のときに所定の車両挙動が発生した可能性は高いと判断し、時間差が長い場合には、ＣＰＵの作動に対する異常判定結果が示すＣＰＵの作動状態のときに所定の車両挙動の発生した可能性は低いと判断できる。
【０１０１】
また、ＣＰＵ２２の作動に対する異常判定を実行したか否かを表わす判定実行情報を異常判定情報の一部として記憶するので、判定実行情報が異常判定を実行したことを表わしていない場合には、異常判定結果に関わらず、記憶された車両走行情報の信頼性は低いと判断できる。
【０１０２】
また、診断ツール１００は、ＥＣＵ２０のＳＲＡＭ２８またはＥＥＰＲＯＭ３０から挙動情報および異常判定情報を読み出した結果、挙動情報の記憶実行情報が車両走行情報を記憶したことを示しており、異常判定情報の異常判定結果がＣＰＵの作動は正常であることを示している場合、挙動情報および異常判定情報を出力し、異常判定結果がＣＰＵ２２の作動は異常であることを示している場合、挙動情報および異常判定情報のうち少なくとも異常判定情報を出力するとともにＣＰＵ２２の作動異常警告を出力する。
【０１０３】
このように、本実施形態では、ＥＣＵ２０から読み出した挙動情報および異常判定情報に基づいて、ＣＰＵ２２の作動が正常であるか異常であるかが区別できるように、診断ツール１００が自動で出力を調整する。その結果、診断ツール１００がＥＣＵ２０から読み出した挙動情報および異常判定情報に基づいて、ＣＰＵ２２の作動が正常であるか異常であるかをオペレータが判断する必要がなく、ＥＣＵ２０から読み出した挙動情報および異常判定情報に基づいてオペレータが出力を調整する工数を省略できる。
【０１０４】
また、診断ツール１００は、ＥＣＵ２０から挙動情報および異常判定情報を読み出した結果、挙動情報の記憶実行情報が車両走行情報を記憶したことを示しており、異常判定情報の異常判定結果がＣＰＵの作動は正常であることを示している場合であっても、異常判定情報の判定実行情報がＣＰＵ２２の作動に対する異常判定は実行されていないことを示している場合には、異常判定が実行されていないことを示す警告を出力する。
【０１０５】
このように、ＥＣＵ２０から読み出した挙動情報および異常判定情報に基づいて、診断ツール１００がＣＰＵ２２の異常判定が実行されたか実行されなかったかが区別できるように、診断ツールが自動で出力を調整するので、診断ツール１００がＥＣＵ２０から読み出した挙動情報および異常判定情報に基づいて、ＣＰＵ２２の作動に対する異常判定が実行されたか実行されなかったかをオペレータが判断する必要がなく、ＥＣＵ２０から読み出した挙動情報および異常判定情報に基づいてオペレータが出力を調整する工数を省略できる。
【０１０６】
本実施形態では、診断システム１０が本発明の診断システムに相当し、ＥＣＵ２０が本発明の電子制御装置に相当し、診断ツール１００が本発明の診断ツールに相当し、ＳＲＡＭ２８またはＥＥＰＲＯＭ３０が本発明の記憶部に相当し、ＲＯＭ２４およびＲＡＭ２６の記憶領域が、本発明のＣＰＵが使用する記憶領域に相当する。
【０１０７】
そして、ＥＣＵ２０は、本発明の挙動判定手段、挙動情報記憶手段、異常判定手段、判定情報記憶手段および実行条件判定手段が実行する機能を実現する。
また、診断ツール１００は、本発明の読出し手段および出力手段が実行する機能を実現する。
【０１０８】
また、図３のＳ４００と図４のＳ４２０と図５のＳ４４０との処理が本発明の挙動判定手段が実行する機能に相当し、図３のＳ４０２と図４のＳ４２２と図５のＳ４４２との処理が本発明の挙動情報記憶手段が実行する機能に相当し、図３のＳ４０８と図４のＳ４２４およびＳ４３２と図５のＳ４５２およびＳ４６２との処理が本発明の異常判定手段が実行する機能に相当し、図３のＳ４１０と図４のＳ４２６およびＳ４３４と図５のＳ４５４およびＳ４６４との処理が本発明の判定情報記憶手段が実行する機能に相当し、図５のＳ４５０の処理が本発明の実行条件判定手段が実行する機能に相当する。
【０１０９】
また、図６のＳ４７２と図７のＳ４９２と図８のＳ５１２との処理が本発明の読出し手段が実行する機能に相当し、図６のＳ４７８、Ｓ４８２およびＳ４８４と、図７のＳ５０２、Ｓ５０６およびＳ５０８と、図８のＳ５２２、Ｓ５２６およびＳ５２８との処理が本発明の出力手段が実行する機能に相当する。
【０１１０】
［他の実施形態］
上記実施形態では、所定の車両挙動が発生し、挙動情報を記憶した直後の車両運転中にＣＰＵ２２の作動に対する異常判定としてＲＯＭ２４およびＲＡＭ２６に対してサムチェック等のデータチェックを実行する場合、車両制御に与える影響を極力低減するように、データチェックを行う記憶領域を限定した。これに対し、エンジン停止時と同様に、車両運転中においても記憶領域の全域に対しサムチェック等のデータチェックを実行してもよい。
【０１１１】
また、上記実施形態では、所定の車両挙動が発生したときに、車両走行情報と、車両走行情報を記憶した時刻と、車両走行情報を記憶したか否かを表わす記憶実行情報とを、挙動情報として記憶した。これに対し、挙動情報としては少なくとも車両走行情報が記憶されていればよく、記憶時刻および記憶実行情報の少なくとも一つは記憶しなくてもよい。
【０１１２】
また、上記実施形態では、ＣＰＵ２２の異常判定情報として、ＣＰＵ２２の異常判定結果と、異常判定を実行した時刻と、異常判定を実行したか否かを表わす判定実行情報とを、異常判定情報として記憶した。これに対し、異常判定情報としては少なくとも異常判定結果が記憶されていればよく、判定実行時刻および判定実行情報の少なくとも一つは記憶しなくてもよい。
【０１１３】
また、エンジンが停止してから電力供給が遮断されるまでの間にＣＰＵ２２の作動に対する異常判定を実行する場合、例えば、ＣＰＵ２２の作動に対する異常判定よりも優先順位の高い処理のために異常判定の実行を省略する必要があるか否かなど、異常判定の実行条件が成立しているか否かを判定してもよい。
【０１１４】
また、所定の車両挙動が発生したときの車両走行情報を記憶してから車両が運転を停止して電力供給が遮断されるまでの間に、車両制御処理を実行するＣＰＵの作動が異常か否かの異常判定を実行し、異常判定結果を記憶部に記憶する電子制御装置はエンジンＥＣＵに限るものではなく、他の車載ＥＣＵであってもよい。
【０１１５】
また、車両走行情報を含む挙動情報、ならびに異常判定結果を含む異常判定情報を記憶する記憶部は、自ＥＣＵに搭載している記憶部に限らず他の記憶部であってもよい。
また、所定の車両挙動が発生したときの車両の挙動情報と、ＣＰＵ２２の異常判定情報とを記憶する記憶部はＳＲＡＭ２８またはＥＥＰＲＯＭ３０に限らず、車両の運転停止中もデータを保持できるのであればどのような記憶部でもよい。
【０１１６】
本発明は、ガソリンエンジンまたはディーゼルエンジン等の内燃機関を駆動源とする車両、あるいは内燃機関とモータとを併用したハイブリッド車両、あるいはモータを駆動源とする電気自動車のいずれに適用してもよい。
【０１１７】
このように、本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。
【符号の説明】
【０１１８】
１０：診断システム、２０：エンジンＥＣＵ（電子制御装置、挙動判定手段、挙動情報記憶手段、異常判定手段、判定情報記憶手段、実行条件判定手段）、２２：ＣＰＵ、２８：ＳＲＡＭ（記憶部）、３０：ＥＥＰＲＯＭ（記憶部）、１００：診断ツール（読出し手段、出力手段）
【図１】
0005360123.tif 000002
【図２】
0005360123.tif 000003
【図３】
0005360123.tif 000004
【図４】
0005360123.tif 000005
【図５】
0005360123.tif 000006
【図６】
0005360123.tif 000007
【図７】
0005360123.tif 000008
【図８】
0005360123.tif 000009