以下、本発明をエンジンECU(Electronic Control Unit)に適用した第1実施形態について、図1ないし図11を参照して説明する。本実施形態のエンジンECU1は、例えばマイコンからなる制御部2と、通信用インターフェース3と、入出力装置4と、不揮発性メモリ5とを備えて構成される。入出力装置4は、各種センサ類6(例えば酸素センサ等)および各種アクチュエータ類7(例えばインジェクタ等)などに接続される。通信用インターフェース3には、コネクタ8を介して車両診断装置9(例えば故障診断テスタ)が接続される構成となっている。
制御部2は、双方向通信部10と、劣化進行度算出部11と、劣化情報記憶部品選択部12と、部品別劣化情報記録部13とを備えている。双方向通信部10は、通信用インターフェース3を介して車両診断装置9に対して信号を送受信する機能を有する。劣化進行度算出部11は、入出力装置4を介して各種センサ類6および各種アクチュエータ類7から信号を受け、これら信号に基づいて車両用の種々の部品(例えばインジェクタや触媒等)の劣化の進行度(以下、劣化度と称す)を各別に算出する機能を有する。この場合、例えば3つの部品A、B、Cの劣化度の変化を、図2に示す。図2の縦軸は劣化度を示し、横軸は時間(年)または走行距離(万km)を示す。この図2において、実線P1は部品Aの劣化度を示し、実線P2は部品Bの劣化度を示し、破線P3は部品Cの劣化度を示す。尚、実線P1、P2、P3は線形(即ち、直線)であるように示したが、実際には非線形である。
劣化情報記憶部品選択部12は、各部品の劣化度が所定の劣化記録用判定値r1(以下判定値r1と称す)に達したか否かを判断することにより、劣化情報を記憶する部品を選択する。劣化情報記憶部品選択部12は、判定部としての機能を有する。尚、上記判定値r1は、劣化解析データを記憶するための劣化度の判定レベルである。図2に示すように、3つの部品A、B、Cについては、同一の判定値r1を用いているが、部品毎に異なる判定値r1を設定するように構成しても良い。また、図2において、基準値r2は、部品が故障したか否かを判定する故障判定値である。
部品別劣化情報記録部13は、部品毎に劣化情報を記録する記録部としての機能を有しており、具体的には、部品A劣化情報記録部14と、部品B劣化情報記録部15と、部品C劣化情報記録部16と、・・・を備えている。この場合、劣化情報記憶部品選択部12により選択された部品に対応する劣化情報記録部14、15、16、・・・によって上記部品の劣化情報、即ち、劣化解析データが不揮発性メモリ5内に設定された劣化情報記憶エリア内に記憶される構成となっている。例えば、本実施形態の場合、部品Aの劣化度が最初に判定値r1に達するので、図3に示すように、最初に部品Cの劣化解析データが不揮発性メモリ5に記憶される。その後、部品Bの劣化度が判定値r1に達するので、部品Bの劣化解析データが不揮発性メモリ5に記憶される。更にその後、部品Cの劣化度が判定値r1に達するので、部品Aの劣化解析データが不揮発性メモリ5に記憶される。この場合、不揮発性メモリ5は、劣化情報記憶部としての機能を有する。
また、不揮発性メモリ5の記憶容量は、車両に搭載された複数の部品の劣化情報の中の最大容量のものよりも大きくなるように構成されている。尚、部品の劣化情報の容量は、部品毎に予め設定されている。また、不揮発性メモリ5は、例えばフラッシュメモリやEEPROMやSDカードメモリ等で構成されている。
次に、上記構成の動作について、図4ないし図11を参照して説明する。尚、図4ないし図10のフローチャートは、制御部2の複数の制御の内容を示しており、これらの制御はパラレルに実行されると共に、設定時間毎に繰り返し実行される構成となっている。図11のフローチャートは、車両診断装置9を用いた修理作業の内容を示す。
まず、図4のフローチャートは、車両用の部品である例えば触媒の劣化故障を検出する制御(即ち、前記部品Aが例えば触媒であるとすると、部品A劣化情報記録部14の制御)の内容を示す。図4のステップS10では、触媒の故障診断実行条件が成立したか否か、即ち、故障判定指標(即ち、劣化判定パラメータ)として、例えば「遅れ時間」を算出するために必要なデータの取得が完了したか否かを判断する。この場合、上記「遅れ時間」は、触媒の前部に設けられたフロント酸素センサがリッチからリーンになった時点t1から、触媒の後部に設けられたリア酸素センサがリッチからリーンになった時点t2までの時間差であることから、上記必要なデータとして、時点t1と時点t2の各計測が完了したか否かを判断すれば良い。なお、「遅れ時間」が短いときほど、「遅れ時間」から算出した劣化度が高い値となる。劣化度およびその判定値r1は各部品の故障判定指標によらないレート、即ち、例えば新品時を0、故障確定時(即ち、r2)を100とする統一された値(例えば百分率)を用いることが望ましい。この為、劣化度の判定については劣化判定パラメータを、前述の統一されたレート(例えば百分率)に変換して判定することが好ましい。そして、例えば百分率を用いた場合、上記判定値r1としては、例えば一律10%劣化が進行したときなどのように設定する方法が好ましい。
上記ステップS10において、故障診断実行条件が成立したら、ステップS20へ進み、故障判定指標として例えば「遅れ時間」、即ち、時点t1から時点t2までの時間差を計算する。次いで、ステップS30へ進み、上記「遅れ時間」が設定された触媒用の故障判定時間(即ち、故障判定値r2に相当する遅れ時間)未満になったか否かを判断する。ここで、「遅れ時間」が触媒用の故障判定時間以上(即ち、触媒の劣化度が故障判定値r2未満)のときには、ステップS40へ進み、所定の正常判定処理を実行する。
続いて、ステップS50へ進み、「遅れ時間」が、劣化解析データを記憶するための劣化度の判定レベルである判定値r1以上になったか否かを判断する。この場合、「遅れ時間」は時間であるため、「遅れ時間」を前記統一されたレート、即ち、劣化度に変換し、変換した劣化度を劣化記録用判定値r1と比較するものとする。上記ステップS50において、「遅れ時間」から算出した触媒の劣化度が判定値r1未満であれば、「NO」へ進み、何もしないで、本制御を終了する。
また、上記ステップS50において、触媒の劣化度が判定値r1以上のときには、ステップS70へ進み、劣化情報記憶部品を選択する制御を呼び出す、具体的には、部品Xとして触媒を設定して、図5の制御を実行する。そして、図5の制御(即ち、上記劣化情報記憶部品を選択する制御)の実行が完了すると、本制御を終了する。
また、上記ステップS30において、「遅れ時間」が触媒用の故障判定時間未満のときには、ステップS60へ進み、所定の故障確定処理を実行する。この場合、触媒故障の故障コードを記憶すると共に、触媒故障をユーザに報知する処理や故障解析用データの記録処理等を実行し、本制御を終了する。
次に、図5を参照して、劣化情報記憶部品を選択する制御について説明する。図5のステップS110においては、部品Xが劣化情報記憶対象部品であるか否かを判断する。ここで、部品Xが劣化情報記憶対象部品でなければ、「NO」へ進み、何もしないで、本制御を終了する。
今の場合、部品Xが触媒であり、劣化情報記憶対象部品であるので、ステップS120へ進み、劣化部品、即ち、呼び出し元で設定された触媒の劣化情報(即ち、劣化解析データ)のサイズの情報を取得する。続いて、ステップS130へ進み、不揮発性メモリ5の劣化情報記憶エリアに空きがあるか否か、即ち、劣化情報記憶エリアの空きエリアのサイズが触媒の劣化情報のサイズよりも大きいか否かを判断する。尚、劣化情報記憶エリアは、不揮発性メモリ5内に予め設定されたサイズの記憶エリアとして確保されている。ここで、劣化情報記憶エリアに空きがないときには、「NO」へ進み、何もしないで、本制御を終了する。
また、上記ステップS130において、劣化情報記憶エリアに空きがあるときには、ステップS140へ進み、劣化部品(即ち、触媒)の劣化情報を記憶する制御を起動する。この場合、S140の処理内容としては、図6の210における判定処理において、劣化情報を記憶する部品としてYESと判定されるよう、S210における判定用フラグをセットすればよい。尚、図6の制御は、図5の制御とパラレルに実行されており、上記判定用フラグがセットされると、図6の制御が実行される。
そして、上記ステップS140の処理の実行が完了すると、ステップS150へ進み、劣化情報記憶エリアの空きエリアのサイズ(即ち、容量)を算出し、この算出結果をエンジンECU1内の図示しないメモリ(例えばRAM等)に記憶する。これにより、本制御を終了する。
次に、図6及び図7を参照して、劣化部品の劣化情報を記憶する制御について説明する。図6のステップS210においては、部品Xが劣化情報記憶対象部品であるか否かを判断する。具体的には、図5のステップS140にて設定される判定用フラグがセットされているか否かにより、判定することが可能である。ここで、部品Xが劣化情報記憶対象部品でなければ、「NO」へ進み、本制御を終了する。上記ステップS210において、部品Xが劣化情報記憶対象部品であるときには、ステップS220へ進む。
このステップS220では、劣化解析用の診断判定毎更新データを取得し、取得したデータをエンジンECU1内のメモリに記憶する。上記診断判定毎更新データは、故障診断時など特定条件成立時の値から計算されるデータであり、例えば、ワーストからN回分の診断判定値のデータと、その時点の運転状態を示すデータ(エンジン回転数、エンジン冷却水温、アクセル開度、車速、加速度等のデータ)が適宜演算されて取得される。
ここで、データを取得するデータ別の処理については、図7の制御を呼び出して実行する。図7のステップS282では、記録対象のデータ(例えば分解能や単位系などのデータ)の演算を実行する。この場合、通常の制御で使用しているデータ(例えばパラメータ)を取得し、取得したデータに基づいて記録対象のデータを計算する、例えば、車速のデータを取得し、この車速のデータに基づいて加速度(即ち、記録対象のデータ)を計算する。
続いて、ステップS284へ進み、書き込むデータが確定したか否か、即ち、エンジンECU1内のメモリに設けられた劣化故障解析用データ記憶メモリに書き込むデータが確定したか否かを判断する。ここで、書き込むデータが確定しないときには、「NO」へ進み、この制御を終了し、以下、記録対象全てのデータの演算を完了(即ち、データが確定)するまで、この制御を繰り返し実行する。尚、データの種別によって、データの確定のタイミングが異なる。
そして、上記ステップS284において、書き込むデータが確定した(即ち、記録対象全てのデータの演算を完了した)ときには、ステップS286へ進み、劣化情報または故障情報として書き込むデータを劣化故障解析用データ記憶メモリに書き込む。ここで、上記劣化故障解析用データ記憶メモリは、エンジンECU1内に設けられたメモリであって、不揮発性メモリ5とは別のメモリ(例えばRAMやEEPROMやフラッシュメモリ等)である。また、劣化故障解析用データ記憶メモリに書き込むデータは、劣化情報として車両診断装置9に出力する予定のデータだけとしており、中途半端なデータは含まない構成となっている。これにより、計算途中の値を劣化情報として書き込む(即ち、読み出す)ことを防止している。
尚、記録対象の各データについては、「それをどのように演算するか」、「定期的に更新を続けていく中で、どのタイミングで劣化情報として有効となるか」、「車両の保守・修理に有効であるか」「部品設計者が当初規定した品質に到達しているか」などの観点から有益なデータを選定し、「劣化故障解析用データ記憶メモリ」に書き込む構成となっている。
次に、図6のステップS230へ進み、劣化解析用のキーオフ毎更新データを取得し、取得したデータをエンジンECU1内のメモリに記憶する。この処理の場合も、前記したステップS220の場合と同様に、図7の制御が適宜呼び出され、繰り返し実行される構成となっている。尚、上記キーオフ毎更新データは、エンジン稼働1回(即ち、キーオンからキーオフまで)を単位(即ち、サイクル)として計測されるデータであり、例えば、上記サイクルの開始から終了までのエンジン稼働時間、走行距離、アイドルストップ(即ち、エンジン停止)回数などのデータが適宜演算されて取得される。尚、上記キーオフ毎更新データは、例えば車両の利用形態を把握する為のデータとして用いられる。
そして、ステップS240へ進み、劣化解析用の消耗データを取得し、取得したデータをエンジンECU1内のメモリに記憶する。この処理の場合も、前記したステップS220、S230の場合と同様に、図7の制御が適宜呼び出され、繰り返し実行される構成となっている。上記消耗データは、部品の保証の分母に対する消化率(即ち、割合)に応じて記録するデータであり、例えば、インジェクタの保証回数として、故障想定がN回の噴射(即ち、駆動)である場合に、Nに対して1%消化(即ち、N/100回噴射)した時点毎に、インジェクタの劣化度のデータが演算されて取得される。尚、インジェクタの劣化度は、新品のインジェクタの開弁時間を0とし、劣化故障したインジェクタの開弁時間を100としたときのレート(即ち、数値)である。
この後、ステップS250へ進み、劣化情報の更新が終了したか否か、即ち、劣化情報を不揮発性メモリ5に書き込む条件に到達したか否かを判断する。この場合、書き込む条件に到達したときとしては、例えば、部品の故障が確定したとき、または、部品の劣化度が図2に示す判定値r1に到達したとき、または、部品の劣化度が図2に示す確定保存レベルr3に到達したときなどがある。尚、確定保存レベルr3は、判定基準値r1と故障判定値r2との間のレベルに適宜設定される値である。また、上記劣化度の他に、部品の耐用年数に対して設定された年数(即ち、耐用年数に対する設定割合)に到達したとき、または、部品の保証の基準に対して設定された基準(即ち、保証の基準に対する設定割合)に到達したとき等も、書き込む条件に含めるように構成することが好ましい。また、これら部品の劣化情報を書き込む条件は、部品毎に設定するように構成することが好ましい。
上記ステップS250において、劣化情報を不揮発性メモリ5に書き込む条件に到達したときには、ステップS260へ進み、部品の劣化情報(即ち、劣化解析データ)または部品の故障情報などを不揮発性メモリ5に書き込む。この場合、図3に示すように、部品の劣化度が最初に判定値r1に達した順に、部品の劣化情報などを不揮発性メモリ5に書き込んでいくように構成されている。これにより、本制御を終了する。尚、ステップS250において、劣化情報を不揮発性メモリ5に書き込む条件に到達していないときには、「NO」へ進み、本制御を終了する。
次に、図8のフローチャートは、車両用の部品である例えばバッテリの劣化故障を検出する制御の内容を示す。図8のステップS310では、バッテリの故障診断実行条件が成立したか否か、即ち、故障判定指標(即ち、劣化判定パラメータ)としての例えば「エンジン始動前後の電圧差」を算出するために必要なデータの取得が完了したか否かを判断する。この場合、上記電圧差は、エンジン始動前のバッテリの電圧V1と、エンジン始動後のバッテリの電圧V2の電圧差であることから、上記必要なデータとして、電圧V1と電圧V2の計測が完了したか否かを判断すれば良い。
上記ステップS310において、故障診断実行条件が成立したら、ステップS320へ進み、故障判定指標として例えば「エンジン始動前後の電圧差」、即ち、電圧V1と電圧V2との電圧差を計算する。次いで、ステップS330へ進み、上記「エンジン始動前後の電圧差」が設定されたバッテリ用の故障判定電圧差(即ち、判定値r2に相当する電圧差)以上になったか否かを判断する。ここで、「エンジン始動前後の電圧差」がバッテリ用の故障判定電圧差未満のときには、ステップS340へ進み、所定の正常判定処理を実行する。
続いて、ステップS350へ進み、「エンジン始動前後の電圧差」からバッテリの劣化度を算出し、算出した劣化度が、劣化解析データを記憶するための劣化度の判定レベルである判定値r1以上になったか否かを判断する。ここで、バッテリの劣化度が判定値r1未満であれば、ステップS350にて「NO」へ進み、何もしないで、本制御を終了する。
また、上記ステップS350において、バッテリの劣化度が判定値r1以上のときには、ステップS370へ進み、図6に示す劣化情報を記憶する部品を選択する制御を呼び出す。この場合、部品Xとしてバッテリを設定する。これによりバッテリーの劣化情報を記憶する図6のフローチャートで構成されたプログラムを起動する。
また、上記ステップS330において、「エンジン始動前後の電圧差」がバッテリ用の故障判定電圧差以上のときには、ステップS360へ進み、所定の故障確定処理を実行する。この場合、バッテリ故障の故障コードを記憶すると共に、アイドルストップ制御を禁止し、また、バッテリ故障をユーザに報知する処理や故障解析用データの記録処理等を実行し、本制御を終了する。
次に、図9のフローチャートは、車両用の部品である例えばインジェクタの劣化故障を検出する制御の内容を示す。図9のステップS410では、インジェクタの故障診断実行条件が成立したか否か、即ち、故障判定指標(即ち、劣化判定パラメータ)としての例えば「インジェクタに通電開始してからインジェクタの開弁を確認するまでの時間」を算出するために必要なデータの取得が完了したか否かを判断する。この場合、上記確認時間は、インジェクタに通電開始した時点t3から、インジェクタの開弁を確認した時点t4までの時間であることから、上記必要なデータとして、時点t3及び時点t4の各計測が完了したか否かを判断すれば良い。
上記ステップS410において、故障診断実行条件が成立したら、ステップS420へ進み、故障判定指標として例えば「インジェクタに通電開始してからインジェクタの開弁を確認するまでの時間」、即ち、時点t3から時点t4までの時間を計算する。次いで、ステップS430へ進み、インジェクタの噴射通電制御の補正量を算出する。この場合、実際にインジェクタに通電する制御を実行するに際して、インジェクタの劣化した分だけ通電開始時期を補正(例えば早く)するために必要な補正量を算出する。
続いて、ステップS440へ進み、「インジェクタに通電開始してからインジェクタの開弁を確認するまでの時間、即ち、開弁所要時間」からインジェクタの劣化度を算出し、算出した劣化度が、劣化解析データを記憶するための劣化度の判定レベルである判定値r1以上になったか否かを判断する。ここで、インジェクタの劣化度が判定値r1未満であれば、ステップS440にて「NO」へ進み、何もしないで、本制御を終了する。
また、上記ステップS440において、インジェクタの劣化度が判定値r1以上のときには、ステップS450へ進み、図6に示す劣化情報記憶部品を選択する制御を呼び出す。この場合、部品Xとしてインジェクタを設定して、図6に示す制御を実行する。そして、図6に示す制御(即ち、上記劣化情報記憶部品を選択する制御)の起動処理が完了すると、本制御を終了する。
次に、図11のフローチャートは、車両診断装置9を車両の診断コネクタ8に接続して車両の点検や車両の故障修理を実行する場合の手順及び動作の内容を示す。この図11のステップS510においては、車両診断装置9(故障診断テスタ)を車両の診断コネクタ8に接続することでエンジンECU1との診断通信を可能にする。続いて、ステップS520へ進み、車両診断装置9は、エンジンECU1から周知の診断情報(例えば故障コードやフリーズフレームデータや故障解析データ等)を取得する。尚、上記診断情報は、不揮発性メモリ5内に記憶しても良いし、エンジンECU1内のメモリ内に記憶しても良い。
そして、ステップS530へ進み、車両診断装置9は、エンジンECU1から部品の劣化情報、即ち、不揮発性メモリ5内の劣化情報記憶エリアに記憶されている各部品の劣化解析用データを取得する。
次いで、ステップS540へ進み、修理作業者(部品交換を行う作業者)は、上記ステップS520で取得した診断情報に基づいて故障部品が有るか、即ち、部品交換など修理作業を行うかを判断する。ここで、故障部品が有るときには、ステップS550へ進み、修理作業者は、故障部品の修理・交換作業を実行する。尚、複数の故障部品が有るときには、ステップS540及びステップS550の各処理を複数回繰り返し実行する。
この後、ステップS552へ進み、故障部品の修理交換作業が終了したら、修理作業者は車両診断装置9を操作することにより、該車両診断装置9からエンジンECU1へ修理交換した部品について情報を読み出し、正常復帰したことを確認する。そして、ステップS554へ進み、修理作業者は車両診断装置9を操作することにより、診断情報を消去する消去要求の情報を送信する。エンジンECU1は受け取った消去要求に基づき診断情報の消去を行う。なお、ステップS550からS554は、従来より実施されてきた修理作業を示すものである。
続いて、ステップS560へ進み、車両診断装置9は、上記取得した劣化情報に基づいて劣化部品(即ち、修理必要部品)が有るか否かを判断する。ここで、劣化部品が有るときには、ステップS570へ進み、修理作業者は、劣化部品の修理・交換作業を実行する。この場合、部品の劣化情報(即ち、劣化解析データ)に基づいて、部品を修理するか、部品を交換するかを判断する。例えば、次回法定点検までに部品が故障する見込みや、部品の劣化が車両の燃費に悪影響を与える可能性などを鑑みて、例えばタイヤがすり減っている場合とほぼ同様にして、車両所有者と対象部品の修理交換について検討・調整し、修理交換すると決定した場合に、その部品の修理交換を行うようにすることが好ましい。尚、複数の劣化部品が有るときには、ステップS560及びステップS570の各処理を複数回繰り返し実行する。
この後、ステップS580へ進み、部品の修理交換作業が終了したら、修理作業者は車両診断装置9を操作することにより、該車両診断装置9からエンジンECU1へ修理交換した部品について情報を読み出し、正常復帰したことを確認する。そして、ステップS590へ進み、正常復帰していることが確認できた場合、修理作業者は車両診断装置9を操作することにより、劣化情報を消去する消去要求の情報を送信する。これにより、本制御を終了する。
次に、エンジンECU1が車両診断装置9から劣化情報を消去する消去要求の情報を受信した場合の制御について、図10を参照して説明する。図10は、エンジンECU1が車両診断装置9から劣化情報の消去要求を受け取った時に、劣化度の算出対象となっている全部品に対して各々実行されるプログラムのフローチャートである。なお、エンジンECU1が車両診断装置9から診断情報の消去要求を受け取った場合も、劣化情報の記録対象部品の診断情報が消去される場合には、図10の制御が実行され、劣化情報も同時に消去される構成としてもよい。
まず、図10のステップS610においては、エンジンECU1は、診断装置9から劣化情報を消去する消去要求の有無を確認する。続いて、ステップS620へ進み、劣化度を算出(即ち、最新の劣化判定パラメータから算出された劣化度を取得)する。
そして、ステップS630へ進み、劣化情報の消去要求の対象部品の劣化度が判定値r1に到達しているか否か(即ち、劣化度が判定値r1以上であるか否か)を判断する。上記ステップS630において、劣化度が判定値r1に到達していないときには、消去要求の対象部品が修理交換されたことを確認できたことから、ステップS640へ進む。このステップS640では、エンジンECU1は、不揮発性メモリ5内の上記修理交換した部品についての劣化情報を消去する。この場合、例えば、エンジンECU1の制御部2の部品別劣化情報記録部13が上記劣化情報の消去を実行するように構成されている。即ち、部品別劣化情報記録部13が、消去部としての機能を有している。上記消去により、不揮発性メモリ5の記憶エリアが初期化され(即ち、メモリが解放され)、他の部品の劣化情報を不揮発性メモリ5内の上記消去エリアに書き込みできるようになる。更に、上記ステップS640においては、上記した消去と共に、エンジンECU1の制御部2の部品別劣化情報記録部13の中の、修理交換された部品に対応する劣化情報記録部の機能(即ち、記録機能)が無効化される構成となっている。これにより、本制御を終了する。
一方、上記ステップS630において、劣化度が判定値r1に到達していたときには、消去要求の対象部品が修理交換されていないこと、または、修理交換が不完全であることがわかることから、ステップS650へ進む。このステップS650では、エンジンECU1は、不揮発性メモリ5内の上記修理交換した部品についての劣化情報を消去しないようにし、消去しない旨を報知する。この場合、例えば、エンジンECU1は、上記消去しない旨の報知情報を車両診断装置9へ送信し、車両診断装置9において表示装置に上記消去しない旨の報知情報を表示するように構成することが好ましい。これにより、本制御を終了する。
このような構成の本実施形態によれば、車両に搭載された部品の劣化度が判定値r1に到達したときに、部品の劣化情報(即ち、劣化解析データ)を不揮発性メモリ5に書き込むように構成したので、車両用の部品の劣化がある程度進んだ時点における部品の劣化情報を記憶することができ、この部品の劣化情報を読み出して解析することにより、部品の故障原因を容易且つ明確に解析することが可能になる。
また、上記実施形態においては、複数の部品の劣化情報について、部品の劣化度が判定値r1に到達したものから順に部品の劣化情報を不揮発性メモリ5に書き込むように構成した。この構成によれば、不揮発性メモリ5の記憶容量が比較的小さい構成であっても、劣化の進んだ部品から、劣化情報を記憶することができるので、部品が故障したときに、劣化情報を参照して故障原因を解析することができる。尚、上記実施形態では、不揮発性メモリ5の記憶容量を、複数の部品の劣化情報の中の最大容量のものよりも大きくなるように構成したので、不揮発性メモリ5内に少なくとも1個以上の部品の劣化情報を確実に記憶させることができる。
更に、上記実施形態では、部品の劣化度が判定値r1に到達し、部品の劣化情報を不揮発性メモリ5に書き込む際において、部品の劣化情報の容量が不揮発性メモリ5の空きエリアの記憶容量よりも大きいときには、書き込みを実行しないように構成した。この構成によれば、不揮発性メモリ5の空きエリアが小さいときには、容量の大きい部品の劣化情報を不揮発性メモリ5に不完全に記憶させるような事態の発生を防止することができ、不揮発性メモリ5の空きエリアよりも容量の小さい部品の劣化情報を不揮発性メモリ5に確実に記憶させることができる。
また、上記実施形態では、車両診断装置9から部品の劣化情報の消去要求を受信したときに、不揮発性メモリ5内の上記部品の劣化情報を消去するように構成したので、読み出したことにより不要になった劣化情報を消去することで不揮発性メモリ5の空きエリアを大きくすることができ、劣化情報を記憶させる部品の個数を増やすことができる。
また、上記実施形態では、車両診断装置9から部品の劣化情報の消去要求を受信したときに、消去要求の対象部品の劣化度が判定値r1に到達していないことを確認した場合、対象部品の劣化情報を記録する機能(即ち、各部品の劣化情報記録部14、15、16等の機能)を無効化するように構成した。この構成によれば、劣化度が判定値r1に到達していない部品の劣化情報を記録するような誤動作の発生を確実に防止することができる。
また、上記実施形態では、車両診断装置9から部品の劣化情報の消去要求を受信したときに、消去要求の対象部品の劣化度が判定値r1に到達していることを確認した場合には、不揮発性メモリ5内の上記部品の劣化情報を消去しないように構成した。この構成によれば、劣化部品の修理交換がなされなかったような場合に、劣化部品の劣化情報を誤って消去してしまうことを確実に防止できる。
また、上記実施形態では、劣化度を検出している部品の全てについて、劣化度が判定値に到達したか否かを判定するように構成したが、これに限られるものではなく、上記全ての部品の中の予め決められたいくつかの重要な部品についてだけ、劣化度が判定値に到達したか否かを判定するように構成しても良い。このように構成する場合、劣化度が判定値に到達したか否かを判定する対象となる部品の指定は、車両診断装置9を接続して該車両診断装置9を操作することにより(即ち、車両診断装置9からの通信データに基づいて)実行可能なように構成することが好ましい。例えば、部品にID(識別子)を対応付けておき、車両診断装置9を操作して部品IDを指定する(即ち、部品ID指定の情報を送信する)ことにより、判定対象部品を指定するように構成しても良い。尚、現在劣化情報を記録中の部品と、上記したように指定された部品のどちらを選択するかについては、優先順位を適宜付けて、優先順位に従って選択するように構成することが好ましい。また、劣化度が判定値に到達していない部品についても、車両診断装置9を操作することにより(即ち、車両診断装置9からの通信データに基づいて)記録指示することが可能な構成として、この記録指示された部品の劣化情報をただちに記録するように構成しても良い。
尚、上記実施形態においては、本発明を例えばエンジンECU1に適用するように構成したが、これに限られるものではなく、他の車載電子制御装置に適用するように構成しても良い。