(57)【要約】  【課題】ダイアグ検出頻度低下時、リプロ機能を利用してダイアグ検出部のソフト書き換えを行うことにより、ダイアグ検出頻度低下の原因究明及びダイアグ検出頻度の向上を行うことができる方法を提供する。  【解決手段】ダイアグ検出頻度の低下時、論理積で結ばれたダイアグ検出条件の先頭の条件をターゲットに指定し、指定したターゲットの条件を非適用として対象センサのダイアグ検出を実行する（ステップ101、102）。そして、ダイアグ検出頻度が向上した場合、指定したターゲットの条件が検出頻度低下の原因であると確定する（ステップ103、104）。一方、ダイアグ検出頻度が向上していない場合、または、低下原因を確定した後、ターゲットの条件を次の順番の条件に変更した後、再び、指定したターゲットの条件を非適用として対象センサのダイアグ検出を実行する（ステップ105、106）。  【選択図】図２
2006309716.tif 000002
【特許請求の範囲】
【請求項１】
異常検出頻度低下時、論理積で結ばれた異常検出条件をソフト書き換えによって、所定の順に非適用とすることにより異常検出頻度低下原因を究明することを特徴とする、異常検出頻度低下原因究明方法。
【請求項２】
異常検出頻度低下時、論理積で結ばれた異常検出条件をソフト書き換えによって、検出頻度低下の原因である可能性が高いものを非適用とすることにより異常検出頻度低下原因を究明することを特徴とする、異常検出頻度低下原因究明方法。
【請求項３】
異常検出頻度低下時、論理積で結ばれた異常検出条件の一つをターゲットとし、ソフト書き換えによって、ターゲット条件のみ適用、ターゲット条件のみ非適用を繰り返すことにより異常検出頻度低下原因を究明することを特徴とする、異常検出頻度低下原因究明方法。
【請求項４】
異常検出頻度低下時、他の異常検出頻度が低下した異常検出処理と共通で用いられる異常検出条件から異常検出頻度低下原因を究明することを特徴とする、異常検出頻度低下原因究明方法。
【請求項５】
異常検出条件が複数階層の条件文から成り立っている異常検出処理について、異常検出頻度低下時、各階層の条件文内にモニタ用のフラグのオン又はオフ処理を織り込んでソフトを書き換えることにより、どの階層の条件により異常検出頻度が低下しているのかを特定した後、請求項１〜４のいずれかに記載された異常検出頻度低下原因究明方法を実行することを特徴とする、異常検出頻度低下原因究明方法。
【請求項６】
異常検出頻度低下時、異常検出条件をソフト書き換えによって、容易に成立する条件に変更することにより異常検出頻度低下原因を究明することを特徴とする、異常検出頻度低下原因究明方法。
【請求項７】
請求項１〜５のいずれかに記載された異常検出頻度低下原因究明方法を実行した後、検出頻度低下原因である条件をソフト書き換えによって容易に成立する条件に変更することにより異常検出頻度低下原因を究明することを特徴とする、異常検出頻度低下原因究明方法。
【請求項８】
請求項１〜５のいずれかに記載された異常検出頻度低下原因究明方法を実行した後、検出頻度低下原因である条件をソフト書き換えによって非適用にすることにより異常検出頻度を向上させることを特徴とする、異常検出頻度向上方法。
【請求項９】
請求項７に記載された異常検出頻度低下原因究明方法を実行した後、検出頻度低下原因である条件をソフト書き換えによって容易に成立する条件に変更することにより異常検出頻度を向上させることを特徴とする、異常検出頻度向上方法。
【請求項１０】
請求項１〜７のいずれかに記載された異常検出頻度低下原因究明方法を実行した後、検出頻度低下の原因をセンターに送信することを特徴とする、異常検出頻度低下原因究明方法。
【請求項１１】
請求項１〜７のいずれかに記載された異常検出頻度低下原因究明方法を実行した後、検出頻度低下の原因をセンターに送信し、センターがソフト書き換えによって検出頻度低下原因である条件を非適用とすることにより一時的に検出頻度を向上させることを特徴とする、異常検出頻度向上方法。
【請求項１２】
請求項１〜７のいずれかに記載された異常検出頻度低下原因究明方法を実行した後、検出頻度低下の原因をセンターに送信し、センターがソフト書き換えによって検出頻度低下原因である条件を容易に成立する条件に変更することにより一時的に検出頻度を向上させることを特徴とする、異常検出頻度向上方法。
【請求項１３】
異常検出頻度低下時、車両の制御を行うＥＣＵの動作状態を監視する異常検出マスタＥＣＵが請求項１〜７のいずれかに記載された原因究明方法を実行することを特徴とする、異常検出頻度低下原因究明方法。
【請求項１４】
異常検出頻度低下時、異常検出マスタＥＣＵが異常検出頻度が低下したと判断する他のＥＣＵに原因究明を指示し、指示されたＥＣＵが請求項１〜７のいずれかに記載された原因究明方法を実行することを特徴とする、異常検出頻度低下原因究明方法。
【請求項１５】
異常検出頻度の低下時、各ＥＣＵが個別に請求項１〜７のいずれかに記載された原因究明方法を実行することを特徴とする、異常検出頻度低下原因究明方法。
【請求項１６】
車両走行中、異常検出処理プログラムと、請求項１〜７のいずれかに記載された原因究明方法を実行する原因究明プログラムを同時または交互に実行することを特徴とする、異常検出頻度低下原因究明方法。
【請求項１７】
論理積で結ばれた異常検出条件に基づき異常検出を行う異常検出手段と、
異常検出の頻度の低下が検出されると異常検出条件を所定の順に非適用とすることにより異常検出頻度の低下原因を究明する手段と、を有することを特徴とする電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異常検出頻度低下時に、異常検出頻度低下の原因究明及び異常検出頻度の向上を行う方法に関する。
【背景技術】
【０００２】
車両制御用の電子制御装置（以下、ＥＣＵという）は、ＥＣＵ内の各部の異常検出を行わないと、走行上の不具合を引き起こす可能性があり、場合によっては走行不能となることもあるため、各ＥＣＵに自己診断機能を備えることにより、信頼性の向上が図られている。すなわち、各ＥＣＵはＣＰＵやセンサ類の動作状態を適当な周期で自動的にチェックし、故障時には異常ランプを点灯したり、その故障内容が修理業者に分かるように異常コード（ＤＴＣ）を記憶したりするダイアグノーシス（以下、ダイアグという）処理を行っている。
【０００３】
以下、各ＥＣＵがセンサのダイアグ処理を行う場合の作用について、図１４のフローチャートにより説明する。
センサのダイアグ処理を実行する場合、各ＥＣＵは、図１４のフローチャートに示すセンサの異常診断プログラムを一定周期で実行し、この異常診断プログラムを開始すると、まず、異常検出の実行条件、すなわち、ダイアグ検出条件が成立したか否かを判定する（ステップ７０１）。
例えば、ノックセンサの異常診断を行う場合、水温が８０℃以上、車速が３０km/h以上、水温センサが正常、等の条件が成立した場合、異常検出の実行条件が成立したと判定する。
【０００４】
異常検出の実行条件が成立したと判定すると、次に、例えば、センサの出力値が所定範囲内にない時間が一定時間以上継続したか否かを判定することにより、異常条件が成立したか否かを判定し（ステップ７０２）、異常条件が成立した場合、異常コードをメモリに記憶する（ステップ７０３）。
一方、異常条件が成立していないと判定した場合、例えば、センサの出力値が所定範囲内にある時間が一定時間以上継続したか否かを判定することにより、正常条件が成立したか否かを判定し（ステップ７０４）、正常条件が成立した場合、当該センサの正常をメモリに記憶する（ステップ７０５）。
【０００５】
上記のように各ＥＣＵはダイアグ処理を実行しているが、車両には、通常、ダイアグマスタＥＣＵが装備され、このダイアグマスタＥＣＵは、各センサのダイアグ検出頻度を把握するために、センサ毎に上記の実行条件成立回数とイグニッションスイッチのオンオフ回数に基づく運転回数との比（実行条件成立回数／ＩＧオン回数）、すなわち、レートカウンタを算出することにより、ダイアグ検出頻度が低いセンサをチェックするようにしている。
すなわち、レートカウンタの値が所定値以上であることが米国法規により定められているが、運転者の運転方法や、条件設定が不適切な場合には、レートカウンタの値が所定値以上とならない場合がある。例えば、短距離のみの走行を繰り返してダイアグ検出実行条件が成立しない場合があるので、上記のようにダイアグ検出頻度が低いセンサをチェックするようにしている。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記のように、従来、ダイアグマスタＥＣＵがダイアグ検出頻度が低いセンサをチェックするようにしているが、ダイアグ検出頻度が低いセンサが判明した場合でも、その原因が実行条件又は正常・異常条件のうちどの要素が成立せずダイアグ検出が行われないのか、究明を行うことが困難であり、かかる要素の成立条件を改善してダイアグ検出頻度の向上を図ることができなかった。
【０００７】
本発明は、上記の問題に鑑みてなされたもので、ダイアグ検出頻度低下時、リプロ機能を利用して、自動的にダイアグ検出部のソフト書き換えを行い、「書き換えソフトの変更内容」と「書き換え後の検出頻度の変化」から自動的にダイアグ検出頻度低下の原因究明及びダイアグ検出頻度の向上を行うことができる方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述の目的を達成するため、本発明に係る異常検出頻度低下原因究明方法（１）は、
異常検出頻度低下時、論理積で結ばれた異常検出条件をソフト書き換えによって、所定の順に非適用とすることにより異常検出頻度低下原因を究明することを特徴とする。
【０００９】
また、本発明に係る異常検出頻度低下原因究明方法（２）は、
異常検出頻度低下時、論理積で結ばれた異常検出条件をソフト書き換えによって、検出頻度低下の原因である可能性が高いものを非適用とすることにより異常検出頻度低下原因を究明することを特徴とする。
【００１０】
さらに、本発明に係る異常検出頻度低下原因究明方法（３）は、
異常検出頻度低下時、論理積で結ばれた異常検出条件の一つをターゲットとし、ソフト書き換えによって、ターゲット条件のみ適用、ターゲット条件のみ非適用を繰り返すことにより異常検出頻度低下原因を究明することを特徴とする。
【００１１】
また、本発明に係るダイアグ検出頻度低下原因究明方法（４）は、
異常検出頻度低下時、他の異常検出頻度が低下した異常検出処理と共通で用いられる異常検出条件から異常検出頻度低下原因を究明することを特徴とする。
【００１２】
さらに、本発明に係る異常検出頻度低下原因究明方法（５）は、
異常検出条件が複数階層の条件文から成り立っている異常検出処理について、異常検出頻度低下時、各階層の条件文内にモニタ用のフラグのオン又はオフ処理を織り込んでソフトを書き換えることにより、どの階層の条件により異常検出頻度が低下しているのかを特定した後、異常検出頻度低下原因究明方法（１）〜（４）のいずれかを実行することを特徴とする。
【００１３】
また、本発明に係る異常検出頻度低下原因究明方法（６）は、
異常検出頻度低下時、異常検出条件をソフト書き換えによって、容易に成立する条件に変更することにより異常検出頻度低下原因を究明することを特徴とする。
【００１４】
さらに、本発明に係る異常検出頻度低下原因究明方法（７）は、
異常検出頻度低下原因究明方法（１）〜（５）のいずれかを実行した後、検出頻度低下原因である条件をソフト書き換えによって容易に成立する条件に変更することにより異常検出頻度低下原因を究明することを特徴とする。
【００１５】
また、本発明に係る異常検出頻度向上方法（１）は、
異常検出頻度低下原因究明方法（１）〜（５）のいずれかを実行した後、検出頻度低下原因である条件をソフト書き換えによって非適用にすることにより異常検出頻度を向上させることを特徴とし、
本発明に係る異常検出頻度向上方法（２）は、
異常検出頻度低下原因究明方法（７）を実行した後、検出頻度低下原因である条件をソフト書き換えによって容易に成立する条件に変更することにより異常検出頻度を向上させることを特徴とする。
【００１６】
さらに、本発明に係る異常検出頻度低下原因究明方法（８）は、
異常検出頻度低下原因究明方法（１）〜（７）のいずれかを実行した後、検出頻度低下の原因をセンターに送信することを特徴とする。
【００１７】
また、本発明に係る異常検出頻度向上方法（３）は、
異常検出頻度低下原因究明方法（１）〜（７）のいずれかを実行した後、検出頻度低下の原因をセンターに送信し、センターがソフト書き換えによって検出頻度低下原因である条件を非適用とすることにより一時的に検出頻度を向上させることを特徴とする。
【００１８】
さらに、本発明に係る異常検出頻度向上方法（４）は、
異常検出頻度低下原因究明方法（１）〜（７）のいずれかを実行した後、検出頻度低下の原因をセンターに送信し、センターがソフト書き換えによって検出頻度低下原因である条件を容易に成立する条件に変更することにより一時的に検出頻度を向上させることを特徴とする。
【００１９】
また、本発明に係る異常検出頻度低下原因究明方法（９）は、
異常検出頻度低下時、車両の制御を行うＥＣＵの動作状態を監視する異常検出マスタＥＣＵが異常検出頻度低下原因究明方法（１）〜（７）のいずれかを実行することを特徴とし、
本発明に係る異常検出頻度低下原因究明方法（１０）は、
異常検出頻度低下時、異常検出マスタＥＣＵが異常検出頻度が低下したと判断する他のＥＣＵに原因究明を指示し、指示されたＥＣＵが異常検出頻度低下原因究明方法（１）〜（７）のいずれかを実行することを特徴とする。
【００２０】
さらに、本発明に係る異常検出頻度低下原因究明方法（１１）は、
異常検出頻度の低下時、各ＥＣＵが個別に異常検出頻度低下原因究明方法（１）〜（７）のいずれかを実行することを特徴とし、
本発明に係る異常検出頻度低下原因究明方法（１２）は、
車両走行中、異常検出処理プログラムと、異常検出頻度低下原因究明方法（１）〜（７）のいずれかを実行する原因究明プログラムを同時または交互に実行することを特徴とする。
【００２１】
また、本発明に係る電子制御装置（１）は、
論理積で結ばれた異常検出条件に基づき異常検出を行う異常検出手段と、
異常検出の頻度の低下が検出されると異常検出条件を所定の順に非適用とすることにより異常検出頻度の低下原因を究明する手段と、を有することを特徴とする。
【発明の効果】
【００２２】
本発明に係る異常検出頻度低下原因究明方法（１）〜（３）及び電子制御装置（１）によれば、ソフト書き換えにより、異常検出頻度低下時、論理積で結ばれた異常検出条件を所定の順に非適用とするか、または、検出頻度低下の原因である可能性が高いものを非適用とするか、あるいは、ターゲット条件のみ適用、ターゲット条件のみ非適用が繰り返されるので、ソフトの書き換えのみで異常検出頻度の低下原因を自動的に究明することができる。
また、本発明に係る異常検出頻度低下原因究明方法（４）によれば、異常検出頻度低下時、他の異常検出頻度が低下した異常検出処理と共通で用いられる異常検出条件から異常検出頻度の低下原因が究明されるので、異常検出頻度の低下原因を容易に究明することができる。
【００２３】
さらに、本発明に係る異常検出頻度低下原因究明方法（５）によれば、異常検出条件が複数階層の条件文から成り立っている場合、異常検出頻度低下時、各階層の条件文内にモニタ用のフラグのオン又はオフ処理を織り込んでソフトが書き換えられるので、どの階層の条件により異常検出頻度が低下しているのかを特定することができる。
また、本発明に係る異常検出頻度低下原因究明方法（６）、（７）によれば、ソフト書き換えにより、異常検出頻度低下時、異常検出条件が容易に成立する条件に変更されるので、上記と同様に、ソフトの書き換えのみで異常検出頻度の低下原因を自動的に究明することができる。
【００２４】
さらに、本発明に係る異常検出頻度向上方法（１）、（２）によれば、検出頻度低下原因である条件が非適用または容易に成立する条件に変更されるので、異常検出頻度低下時の原因を究明後、容易に異常検出頻度を向上することができる。
【００２５】
また、本発明に係る異常検出頻度低下原因究明方法（８）によれば、検出頻度低下の原因がセンターに送信されるので、異常検出頻度低下の詳細な原因追及と対策方法の検討が容易となる。
さらに、本発明に係る異常検出頻度向上方法（３）、（４）によれば、センターからソフト書き換えによって検出頻度低下原因である条件を非適用または検出頻度低下原因である条件が容易に成立する条件に変更されるので、一時的に異常検出頻度を向上させることができる。
【００２６】
また、本発明に係る異常検出頻度低下原因究明方法（９）〜（１１）によれば、上記の各種異常検出頻度低下原因究明方法を、車両の制御を行うＥＣＵの動作状態を監視する異常検出マスタＥＣＵ、異常検出マスタＥＣＵの指示を受けたＥＣＵ、あるいは、各ＥＣＵ自体により実行することができる。
さらに、本発明に係る異常検出頻度低下原因究明方法（１２）によれば、車両走行中、異常検出処理プログラムと原因究明プログラムが同時または交互に実行されるので、車両走行中であっても異常検出頻度の低下原因を究明することができる。
【実施例１】
【００２７】
以下、本発明の異常検出頻度低下原因究明方法及び異常検出頻度向上方法の実施例について、図面を用いて説明する。
図１は本発明の異常検出頻度低下原因究明方法及び異常検出頻度向上方法を実施するＥＣＵシステムの構成を示すブロック図である。
図１に示すように、本実施例のＥＣＵシステムは、盗難検出等を行うセキュリティＥＣＵ２、エンジンの制御を行うエンジン制御ＥＣＵ３、所定の条件成立時にエンジン自動停止再始動制御を行うエコランＥＣＵ４、ランプやドアなどの制御を行うボディＥＣＵ５…といった複数のＥＣＵがネットワーク専用の通信線、コントロールエリアネットワーク（Controller Area Network、以下ＣＡＮという）６を介して接続されたネットワークを構築しており、ＣＡＮ６には、これら各ＥＣＵとは別に、ダイアグマスタＥＣＵ１が接続されている。
【００２８】
このダイアグマスタＥＣＵ１は、上記各ＥＣＵの動作状態をＣＡＮ６を介して監視することにより、異常動作しているＥＣＵを検出し、異常動作しているＥＣＵを検出すると、そのＥＣＵをＣＡＮ６を介して初期化するとともに、ダイアグ検出頻度が低下しているセンサがあれば、その原因を究明し、検出頻度を向上させるためのものである。
【００２９】
そして、このダイアグマスタＥＣＵ１は、図に示すように、ＣＰＵ１１、ＲＯＭ（Read Only Memory）１２、ＲＡＭ（Random Access Memory）１３、通信部１４、リモートサーバ１５から構成され、ＣＰＵ１１はダイアグマスタＥＣＵ１のハードウェア各部を制御するとともに、ＲＯＭ１２に記憶されたプログラムに基づいて各種のプログラムを実行する。
ＲＯＭ１２はダイアグ頻度低下原因究明プログラム、ダイアグ頻度向上プログラムや各種センサのダイアグソフトを記憶しており、また、ＲＡＭ１３はＳＲＡＭ等で構成され、センサのダイアグソフトの書き換えプログラム等の一時的に発生するデータを記憶する。
【００３０】
また、通信部１４はＣＡＮ６を介して他のＥＣＵとデータ通信を行う通信手段であり、リモートサーバ１５は、電波等を使用してセンター７との間でデータの送受信を行う。
なお、センター７は、例えば、車両製造メーカや車両販売ディーラーの情報管理センターであり、ダイアグマスタＥＣＵ１から送られてくる「検出頻度低下の原因条件・原因箇所」、「車両情報」をダイアグ検出頻度低下対策の参考データとしたり、あるいは、ソフト書き換えによりダイアグ検出頻度が低下したセンサのダイアグ検出頻度を一時的に向上させる情報をリモートサーバ１５に送信する。
【００３１】
そして、ダイアグマスタＥＣＵ１からの情報によりセンサのダイアグ検出頻度の低下が判明した場合、あるいは、センサが故障しているにも関わらず異常コードが記憶されていない場合等に、車両をディーラー等の修理工場に持ち込み、シャーシ上で車両を走行状態にしてセンサ毎にダイアグ検出頻度の低下原因を究明するが、以下、論理積で結ばれたダイアグ検出条件、すなわち、異常検出の実行条件を備えたダイアグのダイアグ検出頻度低下原因を究明する場合の作用について説明する。
【００３２】
例えば、ＣＡＮ６に接続されたダイアグテスター等からダイアグ検出頻度低下原因の究明を指示されると、ダイアグマスタＥＣＵ１のＣＰＵ１１は、図２のフローチャートに示すダイアグ検出頻度低下原因の究明プログラムを実行し、論理積で結ばれたダイアグ検出条件の先頭の条件をターゲットに指定した（ステップ１０１）後、そのセンサのダイアグソフトを書き換えることにより指定したターゲットの条件を非適用とし、書き換えたダイアグソフトにより、例えば、１０回以上イグニッションスイッチをオン／オフすることにより、対象センサのダイアグ検出を実行する（ステップ１０２）。
【００３３】
次に、ＣＰＵ１１は、書き換えたダイアグソフトによるダイアグ検出のダイアグ検出頻度とソフト書き換え前のダイアグ検出頻度を比較することにより、ダイアグ検出頻度が向上したか否かを判定し（ステップ１０３）、ダイアグ検出頻度が向上したと判定した場合、指定したターゲットの条件が検出頻度低下の原因であると確定する（ステップ１０４）。
一方、ステップ１０３でダイアグ検出頻度が向上していないと判定した場合、あるいは、ステップ１０４で低下原因を確定した後、ＣＰＵ１１は、指定したターゲットの条件が論理積で結ばれたダイアグ検出条件の最後の条件か否かを判定する（ステップ１０５）。
【００３４】
指定したターゲットの条件が論理積で結ばれたダイアグ検出条件の最後の条件でないと判定した場合、ＣＰＵ１１は、ターゲットの条件を次の順番の条件に変更した（ステップ１０６）後、再び、書き換えたダイアグソフトにより対象センサのダイアグ検出を実行する（ステップ１０２）。
また、ステップ１０５で指定したターゲットの条件が論理積で結ばれたダイアグ検出条件の最後の条件であると判定した場合、ＣＰＵ１１はプログラムを終了し、他にダイアグ検出頻度が低下したセンサがあれば、当該センサのダイアグ検出頻度低下原因を究明する。
【００３５】
以上のように、論理積で結ばれたダイアグ検出条件をダイアグマスタＥＣＵがソフト書き換えによって上から順に非適用とし、書き換えたダイアグソフトによって対象となるセンサのダイアグ処理を実行することにより、ダイアグ検出頻度低下原因を自動的に究明することができる。
【実施例２】
【００３６】
上記の実施例では、論理積で結ばれたダイアグ検出条件を上から順に非適用とすることによりダイアグ検出頻度の低下原因を究明したが、論理積で結ばれたダイアグ検出条件の中から検出頻度低下の原因である可能性が高いものから順に非適用とすることによりダイアグ検出頻度低下原因を究明することもでき、以下、この場合の作用を図３のフローチャートにより説明する。
なお、ハードウェア構成は図1と同様であるので、説明を省略するが、各センサのダイアグの論理積で結ばれたダイアグ検出条件の検出頻度低下の原因である可能性が高い順番はＲＯＭ１２に記憶されているものとする。
【００３７】
ダイアグ検出頻度低下原因の究明を指示されると、ダイアグマスタＥＣＵ１のＣＰＵ１１は、図３のフローチャートに示すダイアグ検出頻度低下原因の究明プログラムを実行し、まず、論理積で結ばれたダイアグ検出条件の中の最も原因である可能性が高い条件をＲＯＭ１２から読み出してターゲットに指定した（ステップ２０１）後、そのセンサのダイアグソフトを書き換えることにより指定したターゲットの条件を非適用とし、書き換えたダイアグソフトにより対象センサのダイアグ検出を実行する（ステップ２０２）。
次に、ＣＰＵ１１は、書き換えたダイアグソフトによるダイアグ検出によってダイアグ検出頻度が向上したか否かを判定し（ステップ２０３）、ダイアグ検出頻度が向上したと判定した場合、指定したターゲットの条件が検出頻度低下の原因であると確定する（ステップ２０４）。
【００３８】
一方、ステップ２０３でダイアグ検出頻度が向上していないと判定した場合、あるいは、ステップ２０４で低下原因を確定した後、ＣＰＵ１１は、指定したターゲットの条件が論理積で結ばれたダイアグ検出条件の原因である可能性が最も低い条件か否かを判定する（ステップ２０５）。指定したターゲットの条件が原因である可能性が最も低い条件であると判定した場合、ＣＰＵ１１はプログラムを終了し、原因である可能性が最も低い条件ではないと判定した場合、ターゲットの条件を次に原因である可能性が高い条件に変更した（ステップ２０６）後、再び、書き換えたダイアグソフトにより対象センサのダイアグ検出を実行する（ステップ２０２）。
【００３９】
以上のように、論理積で結ばれたダイアグ検出条件をダイアグマスタＥＣＵがソフト書き換えによって原因である可能性が最も高い条件から順に非適用とし、書き換えたダイアグソフトによって対象となるセンサのダイアグ処理を実行することにより、ダイアグ検出頻度低下原因を自動的に究明することができる。
【実施例３】
【００４０】
さらに、論理積で結ばれたダイアグ検出条件の一つをターゲットとし、「ターゲット条件のみ適用」、「ターゲット条件のみ非適用」を繰り返すことによってダイアグ検出頻度低下原因を究明することもでき、以下、この場合の作用を図４のフローチャートにより説明する。
なお、この実施例では、ダイアグ検出はif（条件Ｘand条件Ｙand条件Ｚ）で行うものとする。
【００４１】
ダイアグ検出頻度低下原因の究明を指示されると、ダイアグマスタＥＣＵ１のＣＰＵ１１は、図４のフローチャートに示すダイアグ検出頻度低下原因の究明プログラムを実行し、まず、条件Ｘをターゲットに指定した（ステップ３０１）後、そのセンサのダイアグソフトを書き換えることにより指定したターゲットのみでダイアグ検出を行うようにし、書き換えたダイアグソフトにより対象センサのダイアグ検出を実行する（ステップ３０２）。
【００４２】
次に、ＣＰＵ１１は、書き換えたダイアグソフトによるダイアグ検出によってダイアグ検出頻度が低下したままか否かを判定し（ステップ３０３）、ダイアグ検出頻度が向上したと判定した場合、指定したターゲットの条件が検出頻度低下の原因ではないと確定する（ステップ３０４）。一方、ステップ３０３でダイアグ検出頻度が低下したままであると判定した場合、ＣＰＵ１１は、指定したターゲットの条件が検出頻度低下の原因であると確定する（ステップ３０５）。
【００４３】
次に、ＣＰＵ１１は、対象のセンサのダイアグソフトを書き換えることにより指定したターゲット以外の条件全てでダイアグ検出を行うようにし、書き換えたダイアグソフトにより対象センサのダイアグ検出を実行する（ステップ３０６）。そして、ＣＰＵ１１は、書き換えたダイアグソフトによるダイアグ検出によってダイアグ検出頻度が低下したままか否かを判定し（ステップ３０７）、ダイアグ検出頻度が向上したと判定した場合、プログラムを終了する。
【００４４】
一方、ステップ３０７でダイアグ検出頻度が低下したままであると判定した場合、あるいは、ステップ３０４で指定したターゲットの条件が検出頻度低下の原因でないと確定した後、ＣＰＵ１１は、ターゲットを条件Ｘから条件Ｙに変更し、条件Ｘを原因究明終了まで非適用にした（ステップ３０８）後、ステップ３０２に戻り、対象センサのダイアグソフトを書き換えることにより指定したターゲットのみでダイアグ検出を行うようにし、書き換えたダイアグソフトにより対象センサのダイアグ検出を実行する。
なお、ステップ３０８でそのときのターゲットが条件Ｙであった場合には、ターゲットを条件Ｙから条件Ｚに変更し、条件Ｘ、条件Ｙを原因究明終了まで非適用にし、以降も同様である。
【００４５】
以上のように、論理積で結ばれたダイアグ検出条件の一つをターゲットとし、「ターゲット条件のみ適用」、「ターゲット条件のみ非適用」を繰り返すことにより、ダイアグ検出頻度低下原因を自動的に究明することができる。
【実施例４】
【００４６】
また、ダイアグ検出頻度低下時、他のダイアグ検出頻度が低下したダイアグと共通で用いられるダイアグ検出条件からダイアグ検出頻度低下原因を究明することもでき、以下、この場合の作用を図５のフローチャートにより説明する。
なお、ハードウェア構成は図1と同様であるので、説明を省略する。
【００４７】
ダイアグ検出頻度低下原因の究明を指示されると、ダイアグマスタＥＣＵ１のＣＰＵ１１は、図５のフローチャートに示すダイアグ検出頻度低下原因の究明プログラムを実行し、まず、他にダイアグ検出頻度が低下したダイアグが存在するか否かを判定し（ステップ４０１）、他にダイアグ検出頻度が低下したダイアグが存在しないと判定した場合、ダイアグ検出頻度低下の原因究明不可とし（ステップ４０２）、プログラムを終了する。
【００４８】
一方、ステップ４０１で他にダイアグ検出頻度が低下したダイアグが存在すると判定した場合、ＣＰＵ１１は、検出頻度の低いダイアグ内で共通の検出条件が存在するか否かを判定し（ステップ４０３）、検出頻度の低いダイアグ内で共通の検出条件が存在しないと判定した場合、ダイアグ検出頻度低下の原因究明不可とし（ステップ４０２）、プログラムを終了する。
【００４９】
また、ステップ４０３で検出頻度の低いダイアグ内で共通の検出条件が存在すると判定した場合、ＣＰＵ１１は、そのセンサのダイアグソフトを書き換えることにより共通の検出条件のみでダイアグ検出を行うようにし、書き換えたダイアグソフトにより対象センサのダイアグ検出を実行する（ステップ４０４）。
【００５０】
次に、ＣＰＵ１１は、書き換えたダイアグソフトによるダイアグ検出によってダイアグ検出頻度が低下したか否かを判定し（ステップ４０５）、ダイアグ検出頻度が向上したと判定した場合、ダイアグ検出頻度低下の原因究明不可とし（ステップ４０２）、プログラムを終了する。一方、ダイアグ検出頻度が低下したと判定した場合、ＣＰＵ１１は、共通の条件が検出頻度低下の原因であると確定し（ステップ４０６）、プログラムを終了する。
【００５１】
以上のように、ダイアグ検出頻度低下時、他のダイアグ検出頻度が低下したダイアグと共通で用いられるダイアグ検出条件が存在するか否かを判定することにより、ダイアグ検出頻度の低下原因を容易に究明することができる。
【実施例５】
【００５２】
さらに、ダイアグ検出条件が、図６に示すように、複数階層の条件文から成り立っているダイアグの場合、ダイアグ検出頻度低下時、各階層の条件文内にモニタ用のフラグのオン処理を織り込んでソフトを書き換えることにより、どの階層の条件によりダイアグ検出低下頻度が低下しているのかを特定した後、上記の実施例１〜４のいずれかに記載されたダイアグ検出頻度低下原因究明方法を実行することによりダイアグ検出頻度低下原因を究明することができ、以下、この場合の作用を図７のフローチャートにより説明する。
なお、ハードウェア構成は図1と同様であるので、説明を省略する。
【００５３】
ダイアグ検出頻度低下原因の究明を指示されると、ダイアグマスタＥＣＵ１のＣＰＵ１１は、図７のフローチャートに示すダイアグ検出頻度低下原因の究明プログラムを実行し、対象センサの複数階層の条件文から成り立っているダイアグのプログラムを、図８に示すように、各条件文の次にその条件文が成立した場合に、モニタ用フラグをオンにする処理を織り込んだリプロ用ソースに書き換え、作成したリプロ用ソースをＲＡＭ１３に記憶する（ステップ５０１）。
【００５４】
次に、ＣＰＵ１１は、ＲＡＭ１３に記憶したリプロ用ソースにより対象センサのダイアグ検出を実行した（ステップ５０２）後、モニタ用フラグのオン処理が無効となっている階層がダイアグ検出頻度低下の原因が存在する階層であると特定する（ステップ５０３）。この後、ＣＰＵ１１は、ダイアグ検出頻度低下の原因が存在する階層の条件文内のどの条件が検出頻度低下の原因条件かを検出する（ステップ５０４）。
なお、この場合、検出頻度低下の原因条件検出は、図２〜図５のフローチャートの原因条件検出のいずれかを実施することにより、原因条件を特定することができる。
【００５５】
ステップ５０４で検出頻度低下の原因条件検出を行った後、ＣＰＵ１１は、検出された条件を非適用とし、再び、リプロ用ソースにより対象センサのダイアグ検出を実行した（ステップ５０５）後、全てのモニタフラグがオンになったか否かを判定し（ステップ５０６）、オンになっていないモニタフラグがあった場合には、ステップ５０３に戻り、モニタ用フラグのオン処理が無効となっている階層がダイアグ検出頻度低下の原因が存在する階層であると特定し、検出頻度低下の原因条件検出を行う。
【００５６】
以上のように、複数階層の条件文から成り立っているダイアグについて、ダイアグ検出頻度低下時、各階層の条件文内にモニタ用のフラグのオン処理を織り込んでリプロ用ソースに書き換え、どの階層の条件によりダイアグ検出頻度が低下しているのかを特定した後、ダイアグ検出頻度低下原因を究明することにより、ダイアグ検出頻度低下原因を自動的に究明することができる。
【実施例６】
【００５７】
また、ダイアグ検出頻度低下時、ダイアグ検出条件をソフトの書き換えによって容易に成立する条件に変更することによりダイアグ検出頻度低下原因を究明することもできる。
すなわち、ダイアグ検出頻度低下時、ダイアグ検出条件が、例えば、「ＡＤ値＞しきい値」であった場合、ＣＰＵ１１がソフト書き換えにより、しきい値を正常値に近い値に変更し、書き換えたダイアグソフトにより対象センサのダイアグ検出を実行し、ダイアグ検出頻度が低下したままか否かを判定し、ダイアグ検出頻度が向上した場合は、「しきい値の設定が不適切」としてダイアグ検出頻度低下の原因と特定することができる。
【００５８】
「特定状態の時間検出」、「特定状態となった回数」などのダイアグ検出条件であった場合も、時間、回数を正常に近い値に変更することにより、同様にして、その条件がダイアグ検出頻度低下の原因か否かを判定することができる。
さらに、図２〜図５及び図７のフローチャートによる原因条件検出のいずれかを実施することにより、ダイアグ検出頻度低下の原因である条件を特定した場合、その条件が「しきい値」、「継続時間」、「回数」など条件成立の容易性を調整できるものを含む場合、その条件を容易に成立する条件に変更することにより、更に詳細な原因究明を行うことが可能である。
【実施例７】
【００５９】
以上の実施例では、車両をディーラー等の修理工場に持ち込み、シャーシ上で車両を走行状態にしてセンサ毎にダイアグ検出頻度の低下原因を究明する場合の例について説明したが、車両走行中にダイアグ検出頻度の低下原因を究明することもでき、以下、車両走行中にダイアグ検出頻度の低下原因を究明する場合について説明する。
なお、ハードウェア構成は図1と同様であるので、説明を省略する。
【００６０】
ダイアグマスタＥＣＵ１のＣＰＵ１１は、図９のフローチャートに示すダイアグ検出と原因究明を交互に実行するプログラムを一定時間毎に、実行しており、このプログラムを開始すると、まず、前回、原因究明プログラムを実施したか否かを判定し（ステップ６０１）、前回、原因究明プログラムを実施したと判定した場合、通常のダイアグ検出プログラムを実施する（ステップ６０２）。
一方、前回、原因究明プログラムを実施していないと判定した場合、ＣＰＵ１１は、レートカウンタの分母の値、すなわち、イグニッションスイッチのオンオフ回数が所定値以上か否かを判定し（ステップ６０３）、レートカウンタの分母の値が所定値以下の場合にはプログラムを終了する。
【００６１】
また、ステップ６０３でレートカウンタの分母の値が所定値以上であると判定した場合、ＣＰＵ１１は、レートカウンタの値（％）が所定値以下か否かを判定し（ステップ６０４）、レートカウンタの値が所定値以上の場合には、ダイアグ検出頻度が低下していないと判断し、プログラムを終了する。
一方、ステップ６０４でレートカウンタの値が所定値以下であると判定した場合、ＣＰＵ１１は、ダイアグ検出頻度が低下していると判断し、原因究明プログラムを実施する（ステップ６０５）。
【００６２】
上記の原因究明プログラムとしては、上記の実施例１〜６で説明した原因条件検出プログラムのいずれかを採用することができるが、例えば、ダイアグ検出条件が、図１０に示すように、水温が８０℃より高い、速度が３０km/hより遅い、センサＡがオン、の三つの条件の論理積であった場合、図１１（ａ）に示すようにダイアグ検出時には、通常の条件でダイアグ検出を行い、原因究明時には、図１１（ｂ）、（ｃ）、（ｄ）に示すように、８０℃を水温が取り得る最小値MINへの書き換え、３０km/hの値を速度が取り得る最大値MAXへの書き換え、第３の条件のセンサＡがオン、オフいずれの場合にも成立する条件への書き換え、を順次実行し、必ず条件が成立するようにすることにより、ダイアグ検出頻度低下の原因条件を究明することができる。
【００６３】
また、ダイアグ検出条件に通常は成立しないオア条件を設定しておくことにより、原因究明時に必ずダイアグ検出条件が成立するようにすることもでき、例えば、図１２に示すように、ダイアグ検出条件の各条件にFLAG1のオア条件を付加するとともに、FLAG1の値をOFFに設定しておき、ダイアグ検出時には、図１２（ａ）に示すように、FLAG1=ONをオア条件とし、原因究明時には図１２（ｂ）、（ｃ）に示すように、FLAG1=OFFをオア条件とするように、順次書き換え、必ず条件が成立するようにすることにより、ダイアグ検出頻度低下の原因条件を究明することができる。
【００６４】
さらに、上記の実施例では、ダイアグ検出周期を通常のダイアグ検出周期の１／２の周期に設定し、ダイアグ検出と原因究明を交互に実行したが、このようにすると検出周期が短くなり、ＣＰＵの処理負荷が高くなるので、図１３に示すようにダイアグ検出プログラムとしてダイアグ検出用と原因究明用のプログラムを結合したものを使用し、通常周期でダイアグ検出と原因究明を同時に実行することにより、ＣＰＵの処理負荷を軽減することができる。
【実施例８】
【００６５】
次に、ダイアグ検出頻度低下の原因である条件を検出した後、ダイアグ検出頻度を向上させる方法について説明する。
ダイアグ検出頻度低下時、図２〜図５及び図７のフローチャートによる原因条件検出のいずれかを実施することによりダイアグ検出頻度低下の原因である条件を特定した場合、ダイアグマスタＥＣＵ１のＣＰＵ１１がＲＯＭ１２から読み出した対象センサのダイアグソフトを書き換えることにより、特定した条件を非適用とし、書き換えたダイアグソフトを対象となるセンサのダイアグソフトと置き換えることによりダイアグ検出頻度を向上することが可能である。
【００６６】
また、ダイアグ検出頻度低下時、図２〜図５及び図７のフローチャートの原因条件検出のいずれかを実施することにより、ダイアグ検出頻度低下の原因条件、原因箇所を特定し、その条件が「しきい値」、「継続時間」、「回数」など条件成立の容易性を調整できるものを含む場合、ＣＰＵ１１がＲＯＭ１２から読み出した対象センサのダイアグソフトを書き換えて、原因条件中の原因箇所（しきい値、継続時間、回数など）を容易に条件成立するように変更し、書き換えたダイアグソフトを対象となるセンサのダイアグソフトと置き換えることによりダイアグ検出頻度を向上することができる。
【実施例９】
【００６７】
また、検出頻度低下の原因条件・原因箇所、車両情報をセンターに送信し、これらのデータをセンターで利用することも可能である。
すなわち、上記の実施例のいずれかのダイアグ検出頻度低下の原因検出を実施することにより、検出頻度低下の原因条件と原因箇所を検出した場合、ダイアグマスタＥＣＵ１のＣＰＵ１１がこれらの情報と原因究明前の車両情報及び原因究明中検出頻度に変化があったときの車両情報をリモートサーバ１５を介してセンター７に送信することにより、センター７では、これらの送信データを基により詳細な検出頻度低下の原因追求と対策方法の検討を行うことが可能となる。
【００６８】
また、ダイアグ検出頻度低下時、ＣＰＵ１１が検出頻度低下の原因条件、原因箇所、原因究明前の車両情報及び原因究明中検出頻度に変化があったときの車両情報をリモートサーバ１５を介してセンター７に送信し、センター７が対象センサのダイアグソフトを書き換えることにより特定した条件をダイアグ検出条件から非適用とし、書き換えたダイアグソフトをダイアグマスタＥＣＵ１のリモートサーバ１５に送信し、ＣＰＵ１１が対象センサのソフトを置き換えることによりダイアグ検出頻度を向上させることができる。
【００６９】
さらに、ダイアグ検出頻度低下時、ＣＰＵ１１が検出頻度低下の原因条件、原因箇所、原因究明前の車両情報及び原因究明中検出頻度に変化があったときの車両情報をリモートサーバ１５を介してセンター７に送信し、ダイアグ検出頻度低下の原因条件が「しきい値」、「継続時間」、「回数」など条件成立の容易性を調整できるものを含む場合、センター７が対象センサのダイアグソフトを書き換えることにより、原因条件中の原因箇所（しきい値、継続時間、回数など）を容易に条件成立するように変更し、書き換えたダイアグソフトをダイアグマスタＥＣＵ１のリモートサーバ１５に送信し、ＣＰＵ１１が対象センサのダイアグソフトを置き換えることによりダイアグ検出頻度を向上させることもできる。
【００７０】
なお、以上の実施例では、ダイアグ検出頻度の低下時に、ダイアグマスタＥＣＵ１またはセンター７が原因究明及び対象センサのダイアグソフトの書き換えを実行したが、ダイアグ検出頻度の低下時に、ダイアグマスタＥＣＵ１が各ＥＣＵに原因究明及び対象センサのダイアグソフトの書き換えを実行させるようにすることもでき、また、各ＥＣＵ自身がダイアグ検出頻度の低下を検出し、ダイアグ検出頻度の低下を検出した場合に、原因究明及び対象センサのダイアグソフトの書き換えを実行するようにしてもよい。
【図面の簡単な説明】
【００７１】
【図１】本発明の方法を実施するＥＣＵシステムの構成を示すブロック図である。
【図２】論理積で結ばれたダイアグ検出条件を上から順に非適用とする場合の作用を示すフローチャートである。
【図３】検出頻度低下の原因である可能性が高いものから順に非適用とする場合の作用を示すフローチャートである。
【図４】「ターゲット条件のみ適用」、「ターゲット条件のみ非適用」を繰り返す場合の作用を示すフローチャートである。
【図５】他のダイアグ検出頻度が低下したダイアグと共通で用いられるダイアグ検出条件から原因を究明する場合の作用を示すフローチャートである。
【図６】複数階層の条件文から成り立っているダイアグの一例である。
【図７】各階層の条件文内にモニタ用のフラグのオン処理を織り込んでソフトを書き換える場合の作用を示すフローチャートである。
【図８】各条件文の次にその条件文が成立した場合に、モニタ用フラグをオンにする処理を織り込んだリプロ用ソースの一例である。
【図９】車両走行中にダイアグ検出頻度の低下原因を究明する場合の作用を示すフローチャートである。
【図１０】ダイアグ検出条件の一例である。
【図１１】図１０に示すダイアグ検出条件をダイアグ検出時とダイアグ検出頻度低下の原因究明時とで書き換えたものである。
【図１２】通常は成立しないオア条件を設定したダイアグ検出条件の一例である。
【図１３】ダイアグ検出用とダイアグ検出頻度低下の原因究明用のプログラムを結合したプログラムの一例である。
【図１４】ＥＣＵが実行する各センサの異常診断プログラムの作用を示すフローチャートである。
【符号の説明】
【００７２】
１  ダイアグマスタＥＣＵ
２  セキュリティＥＣＵ
３  エンジン制御ＥＣＵ
４  エコランＥＣＵ
５  ボディＥＣＵ
６  ＣＡＮ
７  センター
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  通信部
１５  リモートサーバ
【図１】
2006309716.tif 000003
【図２】
2006309716.tif 000004
【図３】
2006309716.tif 000005
【図４】
2006309716.tif 000006
【図５】
2006309716.tif 000007
【図６】
2006309716.tif 000008
【図７】
2006309716.tif 000009
【図８】
2006309716.tif 000010
【図９】
2006309716.tif 000011
【図１０】
2006309716.tif 000012
【図１１】
2006309716.tif 000013
【図１２】
2006309716.tif 000014
【図１３】
2006309716.tif 000015
【図１４】
2006309716.tif 000016