(57)【特許請求の範囲】
【請求項１】
内燃機関が始動してから該内燃機関の排気系に設置された排出ガス浄化用の触媒が所定温度に達するまでに該触媒内で浄化されるガス成分量（以下「浄化ガス成分量」という）を演算する演算手段と、
前記演算手段により演算した浄化ガス成分量に基づいて前記触媒の劣化を検出する触媒劣化検出手段と
を備えていることを特徴とする排出ガス浄化用触媒劣化検出装置。
【請求項２】
前記触媒劣化検出手段は、前記触媒の劣化を検出するに際して、前記浄化ガス成分量に加え、前記触媒が所定温度に達するまでの触媒流入ガス成分変動も考慮することを特徴とする請求項１に記載の排出ガス浄化用触媒劣化検出装置。
【請求項３】
前記演算手段は、前記触媒の下流側の排出ガスの空燃比に基づいて浄化ガス成分量を演算することを特徴とする請求項１又は２に記載の排出ガス浄化用触媒劣化検出装置。
【請求項４】
前記触媒流入ガス成分変動のデータは、前記触媒に流入する排出ガスの空燃比と排出ガス流量とに基づいて演算されることを特徴とする請求項１乃至３のいずれかに記載の排出ガス浄化用触媒劣化検出装置。
【請求項５】
前記触媒流入ガス成分変動のデータは所定時間毎に演算され、前記所定期間に演算された前記触媒流入ガス成分変動のデータが所定範囲外のとき、この所定期間に演算された前記触媒流入ガス成分変動のデータ及び浄化ガス成分量を無効にすることを特徴とする請求項４に記載の排出ガス浄化用触媒劣化検出装置。
【請求項６】
前記触媒劣化検出手段は、前記触媒の温度が前記所定温度より低い劣化検出開始温度に達するまで触媒劣化検出処理を禁止する手段を有することを特徴とする請求項１乃至５のいずれかに記載の排出ガス浄化用触媒劣化検出装置。
【請求項７】
前記触媒劣化検出手段は、前記内燃機関始動時の前記触媒の温度が所定温度より高い時に触媒劣化検出処理を禁止する手段を有することを特徴とする請求項１乃至６のいずれかに記載の排出ガス浄化用触媒劣化検出装置。
【請求項８】
前記触媒劣化検出手段は、前記内燃機関始動時の冷却水温と吸気温度との差又は該冷却水温と外気温度との差が所定値以上の時に前記内燃機関始動時の前記触媒の温度が所定温度より高いと判断して触媒劣化検出処理を禁止することを特徴とする請求項７に記載の排出ガス浄化用触媒劣化検出装置。
【請求項９】
前記内燃機関の運転状態に基づいて排気温度を推定し、その排気温度に基づいて前記触媒の温度を推定する触媒温度推定手段を備えていることを特徴とする請求項１乃至８のいずれかに記載の排出ガス浄化用触媒劣化検出装置。
【請求項１０】
前記内燃機関停止後の経過時間を計測する停止時間測定手段を備え、
前記触媒温度推定手段は、外気温度、吸気温度、冷却水温のうちの少なくとも１つと前記停止時間測定手段により測定した内燃機関停止後の経過時間とに基づいて内燃機関始動時の触媒温度を推定する手段を備えていることを特徴とする請求項９に記載の排出ガス浄化用触媒劣化検出装置。
【請求項１１】
前記触媒の上流側に空燃比センサを設置し、この空燃比センサの出力に基づいて空燃比フィードバック制御を行うシステムに適用され、
前記空燃比フィードバック制御が開始されてから所定期間が経過するまでは触媒劣化検出処理を禁止する手段を有することを特徴とする請求項１乃至１０のいずれかに記載の排出ガス浄化用触媒劣化検出装置。
【請求項１２】
排出ガス浄化用の触媒の上流側に空燃比センサ、下流側に酸素センサを設置したシステムにおいて、
所定のサンプリング周期で前記下流側酸素センサの出力電圧の変化幅を積算する第１の積算手段と、
前記所定のサンプリング周期で前記上流側空燃比センサで検出した空燃比の目標空燃比からの偏差と排出ガス流量とを乗算してその乗算値を積算する第２の積算手段と、
前記触媒が所定温度に達するまでの前記第１の積算手段による積算値と前記第２の積算手段による積算値とに基づいて前記触媒の劣化を検出する触媒劣化検出手段と
を備えていることを特徴とする排出ガス浄化用触媒劣化検出装置。
【請求項１３】
排出ガス浄化用の触媒の上流側と下流側の双方に空燃比センサを設置したシステムにおいて、
所定のサンプリング周期で前記上流側空燃比センサで検出した空燃比の目標空燃比からの偏差と排出ガス流量とを乗算してその乗算値を積算する第１の積算手段と、
前記所定のサンプリング周期で前記下流側空燃比センサで検出した空燃比の目標空燃比からの偏差と排出ガス流量とを乗算してその乗算値を積算する第２の積算手段と、
前記触媒が所定温度に達するまでの前記第１の積算手段による積算値と前記第２の積算手段による積算値とを比較することで浄化ガス成分量を演算する演算手段と、
前記演算手段により演算した浄化ガス成分量に基づいて前記触媒の劣化を検出する触媒劣化検出手段と
を備えていることを特徴とする排出ガス浄化用触媒劣化検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内燃機関の排気系に設置された排出ガス浄化用の触媒が劣化したときにその劣化を検出する排出ガス浄化用触媒劣化検出装置に関するものである。
【０００２】
【従来の技術】
車両の排出ガス浄化システムでは、触媒が劣化して排出ガス浄化能力が低下した状態で運転が続けられるのを防ぐため、触媒の劣化を検出する触媒劣化検出装置が開発されている（例えば特開平２−１３６５３８号公報や特開平３−２５３７１４号公報参照）。従来の触媒劣化検出装置は、いずれも触媒が活性化温度（一般には３００〜４００℃以上）に暖機された後の排出ガス浄化能力の低下から触媒の劣化を検出するようになっている。
【０００３】
【発明が解決しようとする課題】
ところで、エンジン始動後に触媒が活性化温度に暖機されるまでは、正常な触媒でも排出ガス浄化能力が低く、まして、劣化した触媒では、排出ガス浄化能力が更に低下して排出ガス中の有害成分（エミッション）が増加することになる。しかし、従来の触媒劣化検出方法では、いずれも触媒活性化後の排出ガス浄化能力の低下から触媒の劣化を検出するため、触媒活性化前のエミッション増加度合を考慮した触媒劣化検出を行うことは困難であり、触媒活性化前のエミッション増加により本来は劣化状態であると判定されるべき触媒が劣化無しと判定されるおそれがある。
【０００４】
エンジンを冷間始動すると、冷間始動後の時間の経過に伴って、触媒の活性化が排出ガス流入側（上流側）から進行し、最終的に触媒全体が活性化した状態となる。一般に、触媒全体の容量はある程度余裕を持たせてあるため、触媒全体が活性化した状態では、触媒が多少劣化していても、新品の触媒に近い浄化率が得られ、劣化触媒と新品触媒との間で浄化率の差が少なくなる。従って、触媒の活性化が進むほど、劣化触媒と新品触媒との判別（つまり触媒劣化の検出）が困難となる。よって、触媒活性化後の排出ガス浄化能力の低下から触媒の劣化を検出すると、触媒活性化前のエミッション増加により本来は劣化状態であると判定されるべき触媒が劣化無しと判定されるおそれがある。
【０００５】
本発明はこのような事情を考慮してなされたものであり、従ってその目的は、触媒活性化前のエミッション増加を考慮した触媒劣化検出を行うことができて、触媒劣化検出精度を向上することができる排出ガス浄化用触媒劣化検出装置を提供することにある。
【０００６】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１の排出ガス浄化用触媒劣化検出装置は、触媒の劣化度合に応じて触媒内で浄化されるガス成分量（以下「浄化ガス成分量」という）が変化する点に着目し、内燃機関が始動してから触媒が所定温度に達するまでの浄化ガス成分量を演算手段により演算し、その浄化ガス成分量に基づいて触媒の劣化を触媒劣化検出手段により検出する。これにより、触媒活性化前のエミッション増加を考慮した触媒劣化検出を精度良く行うことができる。
【０００７】
更に、請求項２では、触媒の劣化を検出するに際して、浄化ガス成分量に加え、触媒が所定温度に達するまでの触媒流入ガス成分変動のデータも考慮する。これは、浄化ガス成分量が触媒流入ガス成分変動の影響を受けるためであり、触媒流入ガス成分変動も考慮して触媒劣化検出を行うことで、触媒流入ガス成分変動の影響を排除した高精度な触媒劣化検出が可能となる。
【０００８】
また、請求項３では、触媒下流側の排出ガスの空燃比に基づいて浄化ガス成分量を演算する。これは、触媒下流側の排出ガスの空燃比が浄化ガス成分量を反映したパラメータであることを考慮したものである。
【０００９】
また、請求項４では、触媒流入ガス成分変動のデータを、触媒に流入する排出ガスの空燃比と排出ガス流量とに基づいて演算することで、触媒流入ガス成分変動のデータを精度良く求める。
【００１０】
更に、請求項５では、触媒流入ガス成分変動のデータを所定時間毎に演算し、当該所定期間に演算された触媒流入ガス成分変動のデータが所定範囲外のとき、この所定期間に演算された前記触媒流入ガス成分変動のデータ及び浄化ガス成分量を無効にする。つまり、触媒流入ガス成分変動のデータが過大又は過小の場合には、浄化ガス成分量の演算精度が低下するため、触媒流入ガス成分変動のデータが所定範囲内に入らないときに触媒流入ガス成分変動のデータ及び浄化ガス成分量を無効にすることで、触媒流入ガス成分変動による劣化検出精度低下を防止する。
【００１１】
また、請求項６では、触媒温度が前記所定温度より低い劣化検出開始温度に達するまで触媒劣化検出処理を禁止する。つまり、触媒温度が劣化検出開始温度に達しない状態では、触媒下流側の空燃比を検出するセンサの温度が低く、そのセンサ出力が安定しないので、この期間中に触媒劣化検出処理を禁止することで、触媒劣化検出精度低下を防ぐ。
【００１２】
また、請求項７では、内燃機関始動時の触媒温度が所定温度より高いときに触媒劣化検出処理を禁止する。この触媒劣化検出方法は、触媒が活性化する途中（例えば触媒温度が１５０〜５５０℃の範囲）の浄化ガス成分量から触媒劣化を検出するものである。従って、内燃機関始動時の触媒温度が例えば１５０℃より大幅に上回った場合、浄化ガス成分量がずれ、触媒劣化の検出精度が低下する。よって、内燃機関始動時の触媒温度が所定温度より高いときに触媒劣化検出処理を禁止することで、触媒劣化検出精度低下を防ぐ。
【００１３】
ところで、内燃機関始動時の触媒温度は、触媒温度センサで検出できるが、触媒温度センサが無いシステムでは、例えば、請求項８のように、内燃機関始動時の冷却水温と吸気温度との差又は該冷却水温と外気温度との差が所定値以上の時に内燃機関始動時の触媒温度が所定温度より高いと判断して触媒劣化検出処理を禁止するようにしても良い。
【００１４】
つまり、内燃機関始動時に触媒温度が十分に下がりきっていれば、内燃機関始動時の冷却水温も十分に下がりきっているため、内燃機関始動時の冷却水温と吸気温度（＝外気温度）とがほぼ同じ温度となるが、触媒温度が十分に下がりきっていない場合には、冷却水温も十分に下がりきっていないため、内燃機関始動時の冷却水温が吸気温度よりも高くなる。この関係から、内燃機関始動時の冷却水温と吸気温度（又は外気温度）との差から内燃機関始動時の触媒温度を推定できる。
【００１５】
また、請求項９では、触媒の暖機が排気熱によって行われる点に着目し、内燃機関の運転状態に基づいて排気温度を推定し、その排気温度に基づいて触媒温度を推定する。これにより、触媒温度を検出する温度センサが不要となり、部品コスト削減の要求が満たされる。
【００１６】
ところで、内燃機関停止後の触媒温度は、時間の経過に伴って温度低下し、触媒温度が十分に下がりきってしまえば、触媒温度が冷却水温や吸気温度（＝外気温度）とほぼ同じ温度となる。
【００１７】
このような触媒温度の変化特性から、請求項１０のように、内燃機関停止後の経過時間を停止時間測定手段により計測し、外気温度、吸気温度、冷却水温のうちの少なくとも１つと前記停止時間測定手段により測定した内燃機関停止後の経過時間とに基づいて内燃機関始動時の触媒温度を推定するようにしても良い。このようにすれば、内燃機関始動時の触媒温度を精度良く推定することができ、触媒劣化検出精度を更に向上できる。
【００１８】
ところで、内燃機関始動直後は、上流側空燃比センサの出力に基づく空燃比フィードバックが開始されるまでの間、始動時の燃料増量により空燃比がリッチとなる。この間は、まだ触媒温度が低く、触媒内にリッチ成分が吸着されていく。これにより、触媒内に多くのリッチ成分が吸着された状態で、空燃比フィードバックが開始されるため、空燃比フィードバック開始直後は、空燃比フィードバックが不安定である。
【００１９】
従って、請求項１１に示すように、空燃比フィードバック制御が開始されてから所定期間が経過するまでは触媒劣化検出処理を禁止することが好ましい。このようにすれば、空燃比フィードバックが安定してから、触媒劣化検出処理を開始することができ、触媒劣化検出精度を更に向上できる。ここで、触媒劣化検出処理を禁止する“所定期間”とは、空燃比フィードバック制御開始後に空燃比フィードバックが安定するのに必要な期間であり、空燃比フィードバック制御開始後の経過時間で設定しても良いし、或は、空燃比フィードバック制御開始後に空燃比センサの出力が最初にしきい値を横切るまでの期間としても良い。
【００２４】
また、請求項１２では、排出ガス浄化用の触媒の上流側に空燃比センサ、下流側に酸素センサを設置したシステムにおいて、所定のサンプリング周期で前記下流側酸素センサの出力電圧の変化幅を第１の積算手段により積算する（この積算値は浄化ガス成分量を反映したデータとなる）。更に、前記所定のサンプリング周期で前記上流側空燃比センサで検出した空燃比の目標空燃比からの偏差と排出ガス流量とを乗算してその乗算値を第２の積算手段により積算する（この積算値は触媒流入ガス成分変動のデータとなる）。そして、触媒が所定温度に達するまでの前記第１の積算手段による積算値と前記第２の積算手段による積算値とに基づいて触媒の劣化を触媒劣化検出手段により検出する。これにより、触媒流入ガス成分変動の影響を排除した高精度な触媒劣化検出が可能となる。
【００２５】
また、請求項１３では、排出ガス浄化用の触媒の上流側と下流側の双方に空燃比センサを設置したシステムにおいて、所定のサンプリング周期で前記上流側空燃比センサで検出した上流側空燃比の目標空燃比からの偏差と排出ガス流量とを乗算してその乗算値を第１の積算手段により積算する（この積算値は触媒流入ガス成分変動のデータとなる）。更に、前記所定のサンプリング周期で前記下流側空燃比センサで検出した下流側空燃比の目標空燃比からの偏差と排出ガス流量とを乗算してその乗算値を第２の積算手段により積算する（この積算値は触媒流出ガス成分変動のデータとなる）。そして、前記触媒が所定温度に達するまでの前記第１の積算手段による積算値（触媒流入ガス成分変動のデータ）と前記第２の積算手段による積算値（触媒流出ガス成分変動のデータ）とを比較することで、浄化ガス成分量を演算手段により演算し、その浄化ガス成分量に基づいて触媒劣化を触媒劣化検出手段により検出する。これにより、触媒流入ガス成分変動と触媒流出ガス成分変動とを考慮した高精度な触媒劣化検出が可能となる。
【００２６】
【発明の実施の形態】
《実施形態（１）》
以下、本発明の実施形態（１）を図１乃至図１０に基づいて説明する。まず、図１に基づいてエンジン制御システム全体の概略構成を説明する。内燃機関であるエンジン１１の吸気管１２の最上流部には、エアクリーナ１３が設けられ、このエアクリーナ１３の下流側には、吸気温度Ｔａｍを検出する吸気温度センサ１４と、吸気流量Ｑを検出するエアフローメータ１０とが設けられている。このエアフローメータ１０の下流側には、スロットルバルブ１５とスロットル開度ＴＨを検出するスロットル開度センサ１６とが設けられている。更に、スロットルバルブ１５の下流側には、吸気管圧力ＰＭを検出する吸気管圧力センサ１７が設けられ、この吸気管圧力センサ１７の下流側にサージタンク１８が設けられている。このサージタンク１８には、エンジン１１の各気筒に空気を導入する吸気マニホールド１９が接続され、この吸気マニホールド１９の各気筒の分岐管部にそれぞれ燃料を噴射するインジェクタ２０が取り付けられている。
【００２７】
また、エンジン１１には各気筒毎に点火プラグ２１が取り付けられ、各点火プラグ２１には、点火回路２２で発生した高圧電流がディストリビュータ２３を介して供給される。このディストリビュータ２３には、７２０℃Ａ（クランク軸２回転）毎に例えば２４個のパルス信号を出力するクランク角センサ２４が設けられ、このクランク角センサ２４の出力パルス間隔によってエンジン回転数Ｎｅを検出するようになっている。また、エンジン１１には、エンジン冷却水温Ｔｈｗを検出する水温センサ３８が取り付けられている。
【００２８】
一方、エンジン１１の排気ポート（図示せず）には、排気マニホールド２５を介して排気管２６が接続され、この排気管２６の途中に、排出ガス中の有害成分（ＣＯ，ＨＣ，ＮＯｘ等）を低減させる三元触媒等の触媒２７が設けられている。この触媒２７の上流側には、排出ガスの空燃比Ａ／Ｆに応じたリニアな空燃比信号を出力する上流側空燃比センサ２８が設けられている。この上流側空燃比センサ２８には、活性化を促進するためのヒータ（図示せず）が内蔵されている。また、触媒２７の下流側には、排出ガスの空燃比Ａ／Ｆが理論空燃比に対してリッチかリーンかによって出力電圧ＶＯＸ２が反転する下流側酸素センサ２９が設けられている。この下流側酸素センサ２９には、該酸素センサ２９の活性化を促進するためのヒータ３９が内蔵されている。
【００２９】
上述した各種のセンサの出力は電子制御回路３０内に入力ポート３１を介して読み込まれる。電子制御回路３０は、マイクロコンピュータを主体として構成され、ＣＰＵ３２、ＲＯＭ３３、ＲＡＭ３４、バックアップＲＡＭ３５を備え、各種センサ出力から得られたエンジン運転状態パラメータを用いて燃料噴射量ＴＡＵや点火時期Ｉｇ等を演算し、その演算結果に応じた信号を出力ポート３６からインジェクタ２０や点火回路２２に出力してエンジン１１の運転を制御する。
【００３０】
また、この電子制御回路３０は、後述する図２に示す触媒劣化検出ルーチン及び図３に示す触媒温度推定ルーチンをＲＯＭ３３（記憶媒体）に記憶し、これらのルーチンを実行することにより、触媒２７内で浄化されるガス成分量（浄化ガス成分量）を演算する演算手段及び触媒２７の劣化を検出する触媒劣化検出手段として機能する。また、触媒２７の劣化を検出したときには、出力ポート３６から警告ランプ３７に点灯信号を出力して警告ランプ３７を点灯し、運転者に警告する。
【００３１】
以下、図２に示す触媒劣化検出ルーチンの処理の流れを説明する。本ルーチンは、特許請求の範囲でいう触媒温度推定手段として機能し、所定時間毎（例えば６４ｍｓｅｃ毎）に割込み処理にて実行される。本ルーチンの処理が開始されると、まずステップ１００で、図３に示す触媒温度推定ルーチンを実行し、次のようにして触媒温度ＴＣＡＴを推定する。
【００３２】
図３に示す触媒温度推定ルーチンでは、まずステップ１０１で、エンジン１１が始動されたか否かを判定し、始動前であれば、触媒温度ＴＣＡＴ＝吸気温度Ｔａｍ（＝外気温度）と設定し、本ルーチンを終了する。
【００３３】
一方、エンジン１１が始動されていれば、ステップ１０３に進み、燃料カット中か否かを判定し、燃料カット中でなければ、ステップ１０４に進み、排気温度ＴＥＸを次のようにして推定する。予め、図４に示すように、エンジン回転数Ｎｅと吸気流量Ｑ（＝排出ガス流量）とから排気温度ＴＥＸを推定するマップをＲＯＭ３３に記憶しておき、ステップ１０４の処理を行う毎に、その時点のエンジン回転数Ｎｅと吸気流量Ｑとに応じて図４に示すマップから排気温度ＴＥＸを推定する。この推定法は、エンジン負荷（Ｎｅ，Ｑ）が増加するほど、排気温度ＴＥＸが高くなるという特性を利用したものである。
【００３４】
これに対し、燃料カット中は、燃料の燃焼熱が無くなり、排気温度ＴＥＸが急激に低下するため、排気温度ＴＥＸをエンジン回転数Ｎｅと吸気流量Ｑとから推定できなくなる。従って、ステップ１０３で燃料カット中と判定された場合にはステップ１０５に進み、ＲＯＭ３３に記憶されている図５に示すマップを用いて燃料カット開始時の触媒温度ＴＣＡＴ（推定値）から排気温度ＴＥＸを推定する。この推定法は、触媒温度ＴＣＡＴが高くなるほど、その触媒２７の放熱で排気温度ＴＥＸが高くなるという特性を利用したものである。
【００３５】
以上のようにしてステップ１０４又は１０５で排気温度ＴＥＸを推定した後、ステップ１０６に進み、前回の処理で推定した触媒温度ＴＣＡＴ(n-1) を排気温度ＴＥＸと比較し、触媒温度が下降傾向か、上昇傾向かを判別する。そして、触媒温度ＴＣＡＴが下降傾向の場合（ＴＣＡＴ(n-1) ＞排気温度ＴＥＸ）には、ステップ１０７に進み、次式により今回の触媒温度ＴＣＡＴ(n) を算出する。
【００３６】
ＴＣＡＴ(n) ＝ＴＣＡＴ(n-1) −Ｋ1 ×｜ＴＣＡＴ(n-1) −ＴＥＸ｜
ここで、Ｋ1 は、ＲＯＭ３３に記憶されている図６のデータテーブルを用いて吸気流量Ｑに応じて設定される係数である。尚、エンジン回転数Ｎｅの変動値が大きいとき（非定常時）と小さいとき（定常時）とでＫ1 を異なる値に設定するようにしても良い。
【００３７】
一方、触媒温度ＴＣＡＴが上昇傾向の場合（ＴＣＡＴ(n-1) ≦排気温度ＴＥＸ）には、ステップ１０８に進み、次式により今回の触媒温度ＴＣＡＴ(n) を算出する。
ＴＣＡＴ(n) ＝ＴＣＡＴ(n-1) ＋Ｋ2 ×｜ＴＣＡＴ(n-1) −ＴＥＸ｜
ここで、Ｋ2 は、ＲＯＭ３３に記憶されている図６のデータテーブルを用いて吸気流量Ｑに応じて設定される係数である。
尚、燃料カット中は、Ｋ1 とＫ2 を一定値に固定するようにしても良い。
【００３８】
以上のようにしてステップ１０７又は１０８で触媒温度ＴＣＡＴを推定した後、図２のステップ１１０に戻り、触媒温度ＴＣＡＴが劣化検出開始温度、例えば１５０℃を越えたか否かを判定し、越えていなければ、以降の触媒劣化検出処理を行うことなく、本ルーチンを終了する。これは、触媒温度ＴＣＡＴが劣化検出開始温度に達しない状態では、下流側酸素センサ２９の温度が低く、そのセンサ出力ＶＯＸ２が安定しないので、この期間中に触媒劣化検出処理を禁止することで、劣化検出精度低下を防ぐものである。
【００３９】
そして、触媒温度ＴＣＡＴが劣化検出開始温度（例えば１５０℃）を越えた時点で、ステップ１２０に進み、タイムカウンタ１をインクリメントし、次のステップ１３０で、浄化ガス成分量を反映するデータΣＶ1 （下流側酸素センサ２９の出力電圧変動の軌跡）を次式により算出する（図７参照）。
【００４０】
ΣＶ1(n)＝ΣＶ1(n-1)＋｜ＶＯＸ２(i) −ＶＯＸ２(i-1) ｜
ここで、ＶＯＸ２(i) は今回処理時における下流側酸素センサ２９の出力電圧であり、ＶＯＸ２(i-1) は前回処理時における下流側酸素センサ２９の出力電圧である。つまり、上式は、所定のサンプリング周期（例えば６４ｍｓｅｃ）で下流側酸素センサ２９の出力電圧ＶＯＸ２の変化幅を積算することで、下流側酸素センサ２９の出力電圧変動の軌跡を求め、触媒２７内での浄化ガス成分量を評価するものである。
【００４１】
更に、ステップ１３０では、触媒流入ガス成分変動を数値化したデータΣΔＡ／Ｆ・Ｑ1 を次式により算出する（図８参照）。
ΣΔＡ／Ｆ・Ｑ1(n)＝ΣΔＡ／Ｆ・Ｑ1(n-1)＋Ｑ×｜目標Ａ／Ｆ−Ａ／Ｆ｜
【００４２】
ここで、Ｑは、エアフローメータ１０により検出した吸気流量Ｑであり、排出ガス流量を代用するデータとして用いている。尚、排出ガス流量は吸気流量で代用する他、実際に測定しても良いし、他のデータから推定するようにしても良い。勿論、吸気流量から推定するようにしても良い。Ａ／Ｆは、上流側空燃比センサ２８の出力電圧（つまり排出ガスの空燃比）であり、目標Ａ／Ｆは、空燃比制御の目標となる空燃比（例えば論空燃比）である。上式は、所定のサンプリング周期（例えば６４ｍｓｅｃ）で上流側空燃比センサ２８で検出したＡ／Ｆの目標Ａ／Ｆからの偏差｜目標Ａ／Ｆ−Ａ／Ｆ｜と排出ガス流量（＝吸気流量Ｑ）とを乗算してその乗算値を積算することで、触媒流入ガス成分変動のデータΣΔＡ／Ｆ・Ｑ1 を求めるものである。
【００４３】
この後、ステップ１４０で、タイムカウンタ１のカウント値が１０ｓｅｃを越えたか否かを判定し、１０ｓｅｃを越えていなければ、上記ステップ１１０〜１３０の処理を繰り返す。これにより、１０ｓｅｃ間のΣＶ1 とΣΔＡ／Ｆ・Ｑ1 が算出される。そして、タイムカウンタ１のカウント値が１０ｓｅｃを越えた時点で、ステップ１５０に進み、１０ｓｅｃ間の触媒流入ガス成分変動のデータΣΔＡ／Ｆ・Ｑ1 が所定範囲内か否かを判定し、所定範囲内であれば、ステップ１６０に進み、前回のΣＶ1 の積算値ΣＶに今回のΣＶ1 を積算してΣＶを更新すると共に、前回のΣΔＡ／Ｆ・Ｑ1 の積算値ΣΔＡ／Ｆ・Ｑに今回のΣΔＡ／Ｆ・Ｑ1 を積算してΣΔＡ／Ｆ・Ｑを更新する。この後、ステップ１７０に進み、タイムカウンタ１、ΣＶ1 及びΣΔＡ／Ｆ・Ｑ1 を共にクリアする。
【００４４】
一方、上記ステップ１５０で触媒流入ガス成分変動のデータΣΔＡ／Ｆ・Ｑ1 が所定範囲内に入っていないと判定された場合には、ステップ１６０の積算処理を行うことなく、ステップ１７０に進み、タイムカウンタ１、ΣＶ1 及びΣΔＡ／Ｆ・Ｑ1 を共にクリアする（無効にする）。これは、触媒流入ガス成分変動が過大又は過小の場合には、浄化ガス成分量の演算精度が低下するため、触媒流入ガス成分変動のデータΣΔＡ／Ｆ・Ｑ1 が所定範囲内に入らないときに、ΣＶ1 及びΣΔＡ／Ｆ・Ｑ1 を共にクリアして、積算処理を行わないことで、触媒流入ガス成分変動による劣化検出精度低下を防止するものである。
【００４５】
そして、次のステップ１８０では、ステップ１００で推定した触媒温度ＴＣＡＴが所定温度である５５０℃を越えたか否かを判定し、越えていなければ、触媒２７の劣化を判定することなく、本ルーチンを終了する。そして、触媒温度ＴＣＡＴが所定温度である５５０℃を越えた時点で、ステップ１９０に進み、それまでに積算した浄化ガス成分量を反映するデータΣＶ（下流側酸素センサ２９の出力電圧変動の軌跡）を所定の劣化判定値と比較して、触媒２７の劣化の有無を判定する。
【００４６】
ここで、触媒劣化検出方法を図９に基づいて説明する。図９は、浄化ガス成分量を反映するデータΣＶと触媒流入ガス成分変動のデータΣΔＡ／Ｆ・Ｑとの関係を実測したものである。図９において、○印は新品触媒、□印は劣化触媒、△印はダミー触媒（表面に触媒層が形成されていないセラミック担体のみのもの）についての測定値である。新品触媒（○印）では、ΣΔＡ／Ｆ・Ｑの大小に拘らず、ΣＶが小さいが、劣化触媒（□印）では、ΣΔＡ／Ｆ・Ｑが増加するに従って、ΣＶが増加する傾向がある。触媒劣化が極端に進み、触媒作用が無くなると、ダミー触媒（△印）と同じ状態になる。従って、ΣΔＡ／Ｆ・Ｑが同じであれば、ΣＶが大きいほど、触媒劣化が進んでいることを意味する。
【００４７】
この関係を利用し、ＲＯＭ３３に記憶されている図１０に示すデータテーブルを用いて劣化判定値をΣΔＡ／Ｆ・Ｑに応じて設定し、この劣化判定値よりΣＶが大きいか否かで触媒２７の劣化の有無を判定する。ΣＶが劣化判定値より大きい場合には、劣化と判定し（ステップ２００）、ΣＶが劣化判定値以下の場合には、正常と判定する（ステップ２１０）。
【００４８】
尚、本実施形態において、ΣＶを演算する処理が演算手段に相当し、ΣＶとΣΔＡ／Ｆ・Ｑとに基づいて触媒劣化を検出する処理が触媒劣化検出手段に相当する。
【００４９】
この場合、触媒２７の劣化を検出するに際して、浄化ガス成分量を反映するデータΣＶに加え、触媒２７が所定温度（５５０℃）に達するまでの触媒流入ガス成分変動のデータΣΔＡ／Ｆ・Ｑも考慮されるので、触媒流入ガス成分変動の影響を排除した高精度な触媒劣化検出を行うことができる。
【００５０】
以上、本実施形態によれば、図１２に示すように、触媒暖機前の浄化率（浄化ガス成分量）に基づいて触媒劣化の検出を行う。つまり、触媒暖機前は、新品触媒と劣化触媒との浄化率の差が大きいため、容易且つ正確に触媒劣化を検出することができる。
【００５１】
尚、本実施形態では、劣化判定値をΣΔＡ／Ｆ・Ｑに応じて変化させるようにしたが、ΣＶをΣΔＡ／Ｆ・Ｑに応じて補正するようにしても良い。
【００５２】
また、図９に示すΣＶとΣΔＡ／Ｆ・Ｑとの関係から明らかなように、触媒劣化が進むほど、ΣＶの傾き（ΣＶ÷ΣΔＡ／Ｆ・Ｑ）が大きくなる傾向があるため、ΣＶの傾き（ΣＶ÷ΣΔＡ／Ｆ・Ｑ）の大小で触媒劣化の有無を判定するようにしても良い。
【００５３】
また、本実施形態では、エンジン負荷（Ｎｅ，Ｑ）から排気温度を推定し、その排気温度に基づいて触媒温度を推定するようにしたので、触媒温度を検出する温度センサが不要となり、部品コストを削減できる利点がある。しかしながら、本発明は、排気温度又は触媒温度を検出する温度センサを排気系に設置する構成としても良く、この場合でも、本発明の所期の目的は十分に達成できる。
【００５４】
また、本実施形態では、触媒温度が１５０℃〜５５０℃の浄化ガス成分量に基づいて触媒劣化を検出しているが、浄化ガス成分量の演算期間はこれに限らず、図１２に示すように新品触媒と劣化触媒との浄化率の差が大きい期間であれば良い。
【００５５】
尚、図２の触媒劣化検出ルーチンは、エンジン１１を冷間始動したとき（つまり触媒２７が冷えているとき）に実行され、暖機状態のエンジン１１を再始動する場合には実行されない。つまり、暖機状態のエンジン１１を再始動する場合には、始動直後から既に触媒温度ＴＣＡＴが活性化温度若しくはそれに近い温度になっているため、この状態では図１２に示すように、劣化触媒と新品触媒との間で排出ガス浄化能力の差が少なく、劣化触媒と新品触媒との判別（つまり触媒劣化の検出）が困難となるためである。この際、冷間始動か否かは、水温センサ３８により検出したエンジン冷却水温Ｔｈｗと吸気温度センサ１４により検出した吸気温度Ｔａｍによって判定される。
【００５６】
同様の理由から、図２の触媒劣化検出ルーチンは、冷間始動の場合でも触媒温度ＴＣＡＴが高温（例えば５５０℃）になった以後は実行されない。上述したように、触媒温度ＴＣＡＴが高温になれば、劣化触媒と新品触媒との間で排出ガス浄化能力の差が少なく、劣化触媒と新品触媒との判別が困難となり、触媒劣化検出精度が低下するためである。
【００５７】
《実施形態（２）》
上記実施形態（１）では、触媒２７の下流側に下流側酸素センサ２９を設置したが、実施形態（２）では、下流側酸素センサ２９に代えて、下流側空燃比センサを設置し、触媒の上流側と下流側の双方に空燃比センサを設置している。
【００５８】
このシステムでは、所定のサンプリング周期（例えば６４ｍｓｅｃ周期）で上流側空燃比センサで検出した上流側Ａ／Ｆの目標Ａ／Ｆからの偏差｜目標Ａ／Ｆ−上流側Ａ／Ｆ｜と排出ガス流量（＝吸気流量Ｑ）とを乗算してその乗算値を積算して、触媒流入ガス成分変動のデータΣΔＡ／Ｆin・Ｑを求める（この機能が特許請求の範囲の請求項１１でいう第１の積算手段となる）。
ΣΔＡ／Ｆin・Ｑ(n) ＝ΣΔＡ／Ｆin・Ｑ(n-1) ＋Ｑ×｜目標Ａ／Ｆ−上流側Ａ／Ｆ｜
【００５９】
更に、前記所定のサンプリング周期で下流側空燃比センサで検出した下流側Ａ／Ｆの目標Ａ／Ｆからの偏差｜目標Ａ／Ｆ−下流側Ａ／Ｆ｜と排出ガス流量（＝吸気流量Ｑ）とを乗算してその乗算値を積算して、触媒流出ガス成分変動のデータΣΔＡ／Ｆout ・Ｑを求める（この機能が特許請求の範囲の請求項１１でいう第２の積算手段となる）。
ΣΔＡ／Ｆout ・Ｑ(n) ＝ΣΔＡ／Ｆout ・Ｑ(n-1) ＋Ｑ×｜目標Ａ／Ｆ−下流側Ａ／Ｆ｜
【００６０】
そして、触媒が所定温度に達するまでの触媒流入ガス成分変動のデータΣΔＡ／Ｆin・Ｑから触媒流出ガス成分変動のデータΣΔＡ／Ｆout ・Ｑを差し引くことにより、図１１に斜線で示される浄化ガス成分量を算出する。
浄化ガス成分量＝ΣΔＡ／Ｆin・Ｑ−ΣΔＡ／Ｆout ・Ｑ
【００６１】
この後、浄化ガス成分量を所定の劣化判定値と比較し、浄化ガス成分量が劣化判定値以下であれば、触媒劣化と判定し、浄化ガス成分量が劣化判定値より大きければ、正常と判定する。これにより、触媒流入ガス成分変動と触媒流出ガス成分変動とを考慮した高精度な触媒劣化検出が可能となる。
【００６２】
尚、この場合も、ΣΔＡ／Ｆin・Ｑ又はΣΔＡ／Ｆout ・Ｑが所定範囲内に入らないときには、触媒劣化検出のために演算されたデータを無効にするか、又は触媒劣化検出処理を禁止することが好ましい。
【００６３】
《実施形態（３）》
この実施形態（３）では、図１３に示す触媒温度推定ルーチンを実行する（この触媒温度推定ルーチンは特許請求の範囲でいう触媒温度推定手段としての役割を果たす）。この実施形態（３）のシステム構成は、前述した実施形態（１）と同じく、触媒２７の上流側に上流側空燃比センサ２８を設置し、触媒２７の下流側に下流側酸素センサ２９を設置した図１の構成となっている。また、前述した実施形態（１）では、エンジン始動時の触媒温度を吸気温度と推定したが、この実施形態（３）では、エンジン停止後の経過時間を計測するタイマ（停止時間測定手段）を備え、エンジン停止後の経過時間とエンジン停止時の触媒温度と吸気温度（又は冷却水温）とに基づいてエンジン始動時の触媒温度ＴCATintを設定することで、触媒温度の推定精度を向上させている。
【００６４】
以下、触媒温度を推定する図１３の触媒温度推定ルーチンの処理内容を説明する。エンジン停止後に経過時間をタイマで計測し、エンジン始動時に、ステップ３０１からステップ３０２に進み、タイマの計測時間Ｔtimer 、つまりエンジン停止から始動までの経過時間Ｔtimer が所定時間ｋtimer を越えているか否かを判定する。ここで、所定時間ｋtimer は、エンジン停止後に触媒温度が外気温度（又は冷却水温）まで温度低下するのに要する時間に設定されている。従って、エンジン停止後の経過時間Ｔtimer が所定時間ｋtimer を越えていれば、ステップ３０３に進み、エンジン始動時の触媒温度ＴCATintを吸気温度Ｔam（又は外気温度）に設定する。或は、エンジン始動時の触媒温度ＴCATintを冷却水温ＴＨＷに設定しても良い。エンジン１１が完全に冷機状態（温度が下がりきった状態）になると、吸気温度Ｔam（又は外気温度）と冷却水温ＴＨＷとがほぼ同じ温度になるためである。
【００６５】
一方、上記ステップ３０２で、エンジン停止後の経過時間Ｔtimer が所定時間ｋtimer を経過していないと判定された場合には、ステップ３０４に進み、エンジン停止時の触媒温度ＴCATendとエンジン停止後の経過時間Ｔtimer とをパラメータとする下記の表１の二次元マップから、その時のＴCATendとＴtimer に応じてエンジン始動時の触媒温度ＴCATintを検索する。
【００６６】
【表１】
0003674017.tif 000002
【００６７】
ここで、図１４は外気温度が２５℃の場合のエンジン停止後の触媒温度と冷却水温の挙動を測定したグラフであり、触媒温度の挙動については、エンジン停止時の触媒温度が６００℃と３８０℃の２つの例が測定されている。この測定結果から明らかなように、エンジン停止後の触媒温度の変化は、エンジン停止時の触媒温度とエンジン停止後の経過時間とに依存し、エンジン停止時の触媒温度が異なっても、ある程度の時間が経過すると、ほぼ一定の触媒温度に収束する。このような特性を考慮し、予め、エンジン停止時の触媒温度ＴCATendとエンジン停止後の経過時間Ｔtimer と触媒温度ＴCATintとの関係を試験結果又はシミュレーションによりマップ化し、これをＲＯＭ３３に記憶して、上述したステップ３０４で利用する。
【００６８】
尚、エンジン停止後の触媒温度の変化は、ＴCATend、Ｔtimer の他に外気温度にも依存する。ちなみに、図１５は外気温度が１５℃の場合のエンジン停止後の触媒温度と冷却水温の挙動を測定したグラフであるが、図１４に示す外気温度が２５℃の場合の測定結果と触媒温度の変化具合が異なる。これは、エンジン停止時の触媒温度が同じであっても、外気温度が低くなるほど、触媒２７の放熱が促進され、エンジン停止後の触媒温度が速く低下するためである。従って、上記マップから検索した触媒温度ＴCATintを外気温度によって補正するようにしても良い。この補正は、例えば外気温度（又は吸気温度）による補正係数ｋamを用いて次式によって行えば良い。
【００６９】
ＴCATint＝ＴCATint×ｋam
ここで、外気温度（又は吸気温度）による補正係数ｋamは、例えば下記の表２のテーブルから検索する。
【００７０】
【表２】
0003674017.tif 000003
【００７１】
以上のようにして、図１３のステップ３０３又は３０４で、エンジン始動時の触媒温度ＴCATintを設定した後、ステップ３０５〜３０７の処理により、燃料カット中か否かを考慮して排気温度ＴＥＸを推定する。この排気温度ＴＥＸの推定方法は、前述した実施形態（１）で説明した図３のステップ１０３〜１０５の処理と同じである。
【００７２】
ステップ３０６又は３０７で排気温度ＴＥＸを推定した後、ステップ３０８に進み、前回の処理で推定した触媒温度ＴＣＡＴ(n-1) を排気温度ＴＥＸと比較して、触媒温度が下降傾向か、上昇傾向かを判別する。そして、触媒温度ＴＣＡＴが下降傾向の場合（ＴＣＡＴ(n-1) ＞排気温度ＴＥＸ）には、ステップ３０９に進み、今回の触媒温度ＴＣＡＴ(n) を、エンジン始動時の触媒温度ＴCATintを考慮して次式により算出する。
【００７３】
ＴＣＡＴ(n) ＝ＴＣＡＴ(n-1) −Ｋ1 ×｜ＴＣＡＴ(n-1) −ＴＥＸ｜＋ＴCATint
ここで、Ｋ1 は、ＲＯＭ３３に記憶されている図６のデータテーブルを用いて吸気流量Ｑに応じて設定される係数である。尚、エンジン回転数Ｎｅの変動値が大きいとき（非定常時）と小さいとき（定常時）とでＫ1 を異なる値に設定するようにしても良い。
【００７４】
一方、触媒温度ＴＣＡＴが上昇傾向の場合（ＴＣＡＴ(n-1) ≦排気温度ＴＥＸ）には、ステップ１０８に進み、今回の触媒温度ＴＣＡＴ(n) を、エンジン始動時の触媒温度ＴCATintを考慮して次式により算出する。
【００７５】
ＴＣＡＴ(n) ＝ＴＣＡＴ(n-1) ＋Ｋ2 ×｜ＴＣＡＴ(n-1) −ＴＥＸ｜＋ＴCATint
ここで、Ｋ2 は、ＲＯＭ３３に記憶されている図６のデータテーブルを用いて吸気流量Ｑに応じて設定される係数である。
尚、燃料カット中は、Ｋ1 とＫ2 を一定値に固定するようにしても良い。
【００７６】
以上のようにしてステップ３０９又は３１０で触媒温度ＴＣＡＴを推定した後、図２のステップ１１０に戻り、触媒劣化検出処理を実行する。
【００７７】
この実施形態（３）では、ステップ３０２〜３０３の処理により、エンジン停止後の経過時間とエンジン停止時の触媒温度と吸気温度（又は冷却水温）とに基づいてエンジン始動時の触媒温度ＴCATintを推定し、このＴCATintを基準にしてエンジン始動後の触媒温度ＴＣＡＴを推定するようにしたので、触媒温度の推定精度を向上でき、ひいては触媒劣化検出精度を向上できる。
【００７８】
《実施形態（４）》
この実施形態（４）では、図１６及び図１７に示す触媒劣化検出ルーチンを実行する。この実施形態（４）のシステム構成は、前述した実施形態（１）と同じく、触媒２７の上流側に上流側空燃比センサ２８を設置し、触媒２７の下流側に下流側酸素センサ２９を設置した図１の構成となっている。
【００７９】
図１６及び図１７に示す触媒劣化検出ルーチンは、所定時間毎（例えば６４ｍｓｅｃ毎）に割込み処理にて実行される。本ルーチンの処理が開始されると、まずステップ４０１で、触媒劣化判定演算開始条件が成立しているか否かを判定する。ここで、触媒劣化判定演算開始条件が成立しているか否かは、図１８又は図１９に示す触媒劣化判定演算開始条件判定ルーチンによって判定される。
【００８０】
図１８に示す触媒劣化判定演算開始条件判定ルーチンは、触媒温度センサ又はエンジン停止後の経過時間を計測するタイマが無いシステムに適用される。このシステムでは、エンジン始動時の触媒温度を推定することができない。そこで、本ルーチンでは、まずステップ５０１で、エンジン始動時に触媒温度が十分に下がりきっているか否かを判定するために、エンジン始動時の冷却水温ＴＨＷと吸気温度Ｔamとの差（ＴＨＷ−Ｔam）が所定値ｋtempより小さいか否かを判定する。エンジン始動時に触媒温度が十分に下がりきっていれば、冷却水温ＴＨＷも十分に下がりきっているため、エンジン始動時の冷却水温ＴＨＷと吸気温度Ｔamとがほぼ同じ温度となり、ＴＨＷ−Ｔam＜ｋtempとなる。尚、吸気温度Ｔamの代わりに外気温度を用いても良い。
【００８１】
ＴＨＷ−Ｔam＜ｋtempの場合には、ステップ５０２に進み、エンジン始動時の冷却水温ＴＨＷが所定温度ｋhot より低いか否かでエンジン１１が冷機状態であるか否かを判定し、「Ｙｅｓ」であれば、ステップ５０３に進み、前述した図３の触媒温度推定ルーチンによって推定した触媒温度ＴＣＡＴが所定温度（触媒２７の一部が活性化し始める温度、例えば１５０℃）より高いか否かを判定し、「Ｙｅｓ」であれば、ステップ５０４に進み、上流側空燃比センサ２８が完全に活性化した後（空燃比フィードバックを開始した後）、空燃比フィードバックが安定するのに必要な所定時間ｋactiveが経過したか否かを判定し、「Ｙｅｓ」であれば、ステップ５０５に進み、触媒劣化判定演算開始条件が成立していると判定する。
【００８２】
これに対し、ステップ５０１〜５０４の判定がいずれか１つでも「Ｎｏ」であれば、ステップ５０６に進み、触媒劣化判定演算開始条件が不成立と判定し、触媒劣化判定演算を禁止する。
【００８３】
ここで、触媒劣化判定演算開始条件として、ステップ５０４で、上流側空燃比センサ２８が完全に活性化した後（空燃比フィードバックを開始した後）、所定時間ｋactiveが経過したか否かを判定する理由は、次の通りである。エンジン始動直後は、空燃比フィードバックが開始されるまでの間、始動時の燃料増量により空燃比がリッチとなる。この間は、まだ触媒温度が低く、触媒２７内にリッチ成分が吸着されていく。これにより、触媒２７内に多くのリッチ成分が吸着された状態で、空燃比フィードバックが開始されるため、空燃比フィードバック開始直後は、空燃比フィードバックが不安定である。従って、空燃比フィードバックが安定してから、触媒劣化判定演算を開始するために、ステップ５０４で、所定時間ｋactiveが経過したか否かを判定するものである。
【００８４】
この場合、空燃比フィードバックが開始されてから所定時間ｋactiveが経過したか否かで空燃比フィードバックが安定しているか否かを判断するが、これに代えて、空燃比フィードバック開始後、上流側空燃比センサ２８の出力が目標空燃比を横切ったか否かで、空燃比フィードバックが安定したか否かを判断し、空燃比フィードバックが開始されてから上流側空燃比センサ２８の出力が最初に目標空燃比を横切るまで、触媒劣化判定演算を禁止するようにしても良い。このようにしても、空燃比フィードバックが安定してから、触媒劣化判定演算を開始することができる。
【００８５】
一方、図１９に示す触媒劣化判定演算開始条件判定ルーチンは、触媒温度センサ又はエンジン停止後の経過時間を計測するタイマが装備されているシステムに適用される。このシステムでは、触媒温度センサの出力値又は前述した図１３の触媒温度推定ルーチンによってエンジン始動時の触媒温度を推定することが可能である。そこで、本ルーチンでは、まずステップ５１１で、エンジン始動時の触媒温度ＴＣＡＴが所定温度ｋhotcより低いか否かで冷機状態であるか否かを判定し、「Ｙｅｓ」であれば、ステップ５１２に進み、触媒温度ＴＣＡＴが所定温度（触媒２７の一部が活性化し始める温度、例えば１５０℃）より高いか否かを判定し、「Ｙｅｓ」であれば、ステップ５１３に進み、上流側空燃比センサ２８が完全に活性化した後（空燃比フィードバックを開始した後）、空燃比フィードバックが安定するのに必要な所定時間ｋactiveが経過したか否かを判定し、「Ｙｅｓ」であれば、ステップ５１４に進み、触媒劣化判定演算開始条件が成立していると判定する。
【００８６】
これに対し、ステップ５１１〜５１３の判定がいずれか１つでも「Ｎｏ」であれば、ステップ５１５に進み、触媒劣化判定演算開始条件が不成立と判定し、触媒劣化判定演算を禁止する。
【００８７】
以上のようにして、図１８又は図１９の触媒劣化判定演算開始条件判定ルーチンによって触媒劣化判定演算開始条件が不成立と判定されれば、図１６の触媒劣化検出ルーチンは実行されず、触媒劣化検出は行われない。そして、触媒劣化判定演算開始条件が成立した時に、図１６のステップ４０２に進み、タイムカウンタ１をインクリメントし、タイムカウンタ１が所定時間ｋdly （例えば１０ｓｅｃ）となるまで、ステップ４０３〜４０９の処理を繰り返す。ここで、所定時間ｋdly は、触媒流入ガスを上流側空燃比センサ２８で検出し、そのガスが触媒２７内の反応を経て下流側酸素センサ２９で検出されるまでの遅れ時間による影響を吸収できる時間に設定されている。
【００８８】
ステップ４０３では、図２１に示す下流側酸素センサ２９の静特性を考慮して触媒飽和判定を行う（この処理が特許請求の範囲でいう飽和判定手段としての役割を果たす）。下流側酸素センサ２９の出力電圧ＶＯＸ２は、ストイキ付近では空気過剰率λ（空燃比）に対してリニアに変化するが、ストイキから外れた領域では、空気過剰率λが変化しても、下流側酸素センサ２９の出力電圧ＶＯＸ２はあまり変化せず、触媒流出ガス成分量を正確に検出できないため、ストイキから外れた領域、すなわち、ＶＯＸ２＞ｋrich又はＶＯＸ２＜ｋleanの領域では触媒飽和とみなす。触媒飽和の状態では、触媒２７内で浄化される割合が低くなり、触媒流出ガス成分量は触媒流入ガス成分量と相関関係がある。
【００８９】
そこで、触媒飽和の場合には、ステップ４０４に進み、下流側酸素センサ２９の出力変化量から検出できない触媒流出ガス成分量（以下「触媒飽和補正量」という）ＶＳＡＴＵを上流側空燃比センサ２８の出力値を利用して次式により算出する。
【００９０】
ＶＳＡＴＵ＝｜ΔＡ／Ｆ｜×Ｑ×ｋ
ここで、｜ΔＡ／Ｆ｜は、上流側空燃比センサ２８の出力値（実空燃比）と目標空燃比との偏差の絶対値、Ｑはシリンダ流入空気量、ｋは上流側空燃比センサ２８の出力値と下流側酸素センサ２９の出力値との変換係数である。
【００９１】
一方、上記ステップ４０３で、触媒飽和でない場合、つまりｋlean≦ＶＯＸ２≦ｋrich（ストイキ領域）の場合には、ステップ４０５に進み、触媒飽和補正量ＶＳＡＴＵを０とする。これは、下流側酸素センサ２９の出力電圧ＶＯＸ２の変化量から触媒流出ガス成分量を算出できるためである。
【００９２】
このようにして設定される触媒飽和補正量ＶＳＡＴＵの一例が図２２に示されている。この図２２からも明らかなように、ｋlean≦ＶＯＸ２≦ｋrichの場合には、触媒飽和補正量ＶＳＡＴＵが０に維持される。一方、ＶＯＸ２＜ｋlean又はＶＯＸ２＞ｋrichの場合には、触媒飽和補正量ＶＳＡＴＵを｜ΔＡ／Ｆ｜×Ｑ×ｋの計算から求める。従って、触媒飽和補正量ＶＳＡＴＵは｜ΔＡ／Ｆ｜×Ｑに比例し、｜ΔＡ／Ｆ｜やシリンダ流入空気量Ｑが大きくなるほど、触媒飽和補正量ＶＳＡＴＵが大きくなる。
【００９３】
以上のようにして、図１６のステップ４０４又は４０５で触媒飽和補正量ＶＳＡＴＵを設定した後、ステップ４０６に進み、次式により触媒流入ガス成分量ＧＡＳinを演算する（この処理が特許請求の範囲でいう第１の演算手段としての役割を果たす）。
【００９４】
ＧＡＳin(n) ＝ＧＡＳin(n-1) ＋｜ΔＡ／Ｆ｜×Ｑ
ここで、ＧＡＳin(n) は今回の触媒流入ガス成分量、ＧＡＳin(n-1) は前回計算された触媒流入ガス成分量である。
【００９５】
この後、ステップ４０７で、触媒飽和補正量ＶＳＡＴＵを用いて触媒流出ガス成分量ＧＡＳout を次式により演算する。
ＧＡＳout(n)＝ＧＡＳout(n-1)＋｜ｄＶ｜×Ｑ＋ＶＳＡＴＵ
ここで、ＧＡＳout(n)は今回の触媒流出ガス成分量、ＧＡＳout(n-1)は前回計算された触媒流出ガス成分量、｜ｄＶ｜は下流側酸素センサ２９の出力電圧変化量の絶対値｛｜ｄＶ｜＝ＶＯＸ２(n) −ＶＯＸ２(n-1) ｝である。
【００９６】
このステップ４０７の処理は、特許請求の範囲でいう第２の演算手段としての役割を果たし、更に、ステップ４０４，４０７の処理は、特許請求の範囲でいう飽和補正手段としての役割を果たす。
【００９７】
そして、次のステップ４０８で、第１のキャンセル判定基準として、所定時間ｋdly （１０ｓｅｃ）内の上流側空燃比センサ２８の出力変化量Ａ／Ｆlocsを次式により演算する。
Ａ／Ｆlocs(n) ＝Ａ／Ｆlocs(n-1) ＋｜ｄＡ／Ｆ｜
ここで、｜ｄＡ／Ｆ｜は今回の上流側空燃比センサ２８の出力値と前回の上流側空燃比センサ２８の出力値との差の絶対値である。
【００９８】
この後、ステップ４０９で、第２のキャンセル判定基準として、ＩＮamountを次式により演算する。
ＩＮamount(n) ＝ＩＮamount(n-1) ＋｜ΔＡ／Ｆ｜×Ｑ
ここで、ＩＮamount(n) は、前記ステップ４０６で算出する触媒流入ガス成分量ＧＡＳinと同じである。
【００９９】
以上説明したステップ４０２〜４０９の処理を所定時間ｋdly （１０ｓｅｃ）繰り返し、所定時間ｋdly 経過後に、図１７のステップ４１０からステップ４１１に進み、ステップ４０８で算出した所定時間ｋdly 内の上流側空燃比センサ２８の出力変化量Ａ／Ｆlocsが所定範囲内（ｋlmin＜Ａ／Ｆlocs＜ｋlmax）であるか否かを判定し、所定範囲内でなければ、後述する触媒劣化指標値に反映せず、ステップ４１７に飛び越す。
【０１００】
所定時間ｋdly 内の上流側空燃比センサ２８の出力変化量Ａ／Ｆlocsが所定範囲以下（Ａ／Ｆlocs≦ｋlmin）の場合には、上流側空燃比センサ２８の出力値はストイキである。上流側空燃比センサ２８は、ストイキ近傍の分解能が低く、触媒流入ガス成分量の演算精度が悪くなる。従って、Ａ／Ｆlocs≦ｋlminの場合には、触媒劣化指標値に反映しない。
【０１０１】
また、Ａ／Ｆlocsが所定範囲以上（Ａ／Ｆlocs≧ｋlmax）の場合には、上流側空燃比センサ２８の出力値がストイキから極端に外れるような領域で制御されることを意味する。上流側空燃比センサ２８の出力値がストイキから極端に外れると、空気過剰率λ（空燃比）に対して上流側空燃比センサ２８の出力はリニアな関係を維持できなくなる。従って、Ａ／Ｆlocs≧ｋlmaxの場合にも、触媒流入ガス成分量の演算精度が悪くなるため、触媒劣化指標値に反映しない。
【０１０２】
一方、Ａ／Ｆlocsが所定範囲内（ｋlmin＜Ａ／Ｆlocs＜ｋlmax）である場合には、上流側空燃比センサ２８の分解能が良く、且つ上流側空燃比センサ２８の出力のリニア特性が良い領域であるので、触媒流入ガス成分量の演算精度を十分に確保できる。従って、Ａ／Ｆlocsが所定範囲内の場合には、ステップ４１２に進み、前述したステップ４０９で算出したＩＮamountが所定範囲内（ｋamin＜ＩＮamount＜ｋamax）であるか否かを判定し、所定範囲内でなければ、触媒劣化指標値に反映せず、ステップ４１７に飛び越す。ここで、ＩＮamountは、所定時間ｋdly 内に触媒反応に寄与する触媒流入ガス成分量に相当し、ＩＮamountが所定範囲以下（ＩＮamount≦ｋamin）の場合には、上述したＡ／Ｆlocs≦ｋlminの場合と同じ理由で、触媒劣化指標値に反映しない。
【０１０３】
また、ＩＮamountが所定範囲以上（ＩＮamount≧ｋamax）の場合には、触媒２７に流入するガスの流速が速くなり過ぎるため、触媒２７に吸着若しくは触媒反応に寄与する割合が低くなる。このため、上流側空燃比センサ２８の出力値（実空燃比）と目標空燃比との偏差ΔＡ／Ｆが同じ値でも、シリンダ流入空気量Ｑが小さい時と、大きい時とでは触媒下流の空燃比が異なってしまう。本来、同じ劣化度合の触媒であれば、触媒劣化指標値の演算結果が同じ値にならなければならないが、ＩＮamount≧ｋamaxの場合には、上述した理由により触媒劣化指標値がずれてしまう。従って、ＩＮamount≧ｋamaxの場合には、触媒劣化指標値に反映しない。
【０１０４】
一方、ＩＮamountが所定範囲内（ｋamin＜ＩＮamount＜ｋamax）である場合には、ステップ４１３に進み、燃料カット（Ｆ／Ｃ）中でないか、又は燃料カット（Ｆ／Ｃ）復帰後、所定時間ｋfcret が経過しているか否かを判定する。燃料カット中は、燃料が供給されないため、排出ガス中の空燃比がリーンとなり、上流側空燃比センサ２８にて空燃比を正しく測定できる範囲を越えてしまう。また、燃料カット復帰後、空燃比フィードバック制御が安定するのに必要な所定時間ｋfcret が経過するまで、すなわち上流側空燃比センサ２８の出力値が目標空燃比をよぎるまでは、精度良く空燃比を検出できない。従って、燃料カット中の場合、又は燃料カット復帰後、所定時間ｋfcret 経過していない場合には、触媒劣化指標値に反映しない。
【０１０５】
この場合、燃料カット復帰後、所定時間ｋfcret が経過したか否かで空燃比フィードバックが安定しているか否かを判断するが、これに代えて、燃料カット復帰後、上流側空燃比センサ２８の出力が目標空燃比を横切ったか否かで、空燃比フィードバックが安定したか否かを判断し、燃料カット復帰後に上流側空燃比センサ２８の出力が最初に目標空燃比を横切るまで、触媒劣化判定演算を禁止するようにしても良い。このようにしても、燃料カット復帰後に空燃比フィードバックが安定してから、触媒劣化判定演算を開始することができる。
【０１０６】
以上説明したステップ４１１〜４１３の処理により、▲１▼ｋlmin＜Ａ／Ｆlocs＜ｋlmax、▲２▼ｋamin＜ＩＮamount＜ｋamax、▲３▼燃料カット中でないか、又は燃料カット復帰後の所定時間ｋfcret 経過後、という全ての条件を満たした時、すなわち、正しく空燃比を検出できる時にのみ、所定時間ｋdly 内の触媒流入・流出ガス成分量（積算値）を触媒劣化判定に反映させるために、ステップ４１４に進む。このステップ４１４では、前述したステップ４０６，４０７で算出した所定時間ｋdly 毎の触媒流入ガス成分量ＧＡＳin、触媒流出ガス成分量ＧＡＳout を次式により積算する。
【０１０７】
ＴＧＡＳin(n) ＝ＴＧＡＳin(n-1) ＋ＧＡＳin(n)
ＴＧＡＳout(n)＝ＴＧＡＳout(n-1)＋ＧＡＳout(n)
ＴＧＡＳin(n) ：今回までの触媒流入ガス成分量ＧＡＳinの積算値
ＴＧＡＳin(n-1) ：前回までの触媒流入ガス成分量ＧＡＳinの積算値
ＴＧＡＳout(n)：今回までの触媒流出ガス成分量ＧＡＳout の積算値
ＴＧＡＳout(n-1)：前回までの触媒流出ガス成分量ＧＡＳout の積算値
【０１０８】
この後、ステップ４１５に進み、触媒劣化判定に反映させる回数をカウントする触媒劣化判定カウンタをインクリメントする。次のステップ４１６で、所定時間ｋdly を計測するタイムカウンタ１、触媒流入ガス成分量ＧＡＳin及び触媒流出ガス成分量ＧＡＳout を共に０にして、ステップ４１７に進む。上述したステップ４１１〜４１３のいずれか１つでも「Ｎｏ」と判定されれば、ステップ４１４〜４１６の処理を飛び越してステップ４１７に進む。
【０１０９】
このステップ４１７では、触媒劣化判定演算終了条件が成立しているか否かを判定する。ここで、触媒劣化判定演算終了条件が成立しているか否かは、図２０に示す触媒劣化判定演算終了条件判定ルーチンによって次の手順で判定される。まず、ステップ５２１で、触媒温度ＴＣＡＴが所定温度（例えば５５０℃）を越えたか否かを判定し、越えていなければ、ステップ５２６に進み、触媒劣化判定演算終了条件が不成立と判定する。
【０１１０】
触媒温度ＴＣＡＴが所定温度（例えば５５０℃）を越えた時点で、ステップ５２１からステップ５２２に進み、触媒劣化判定に反映する回数をカウントする触媒劣化判定カウンタが所定値ｋcatcountを越えたか否かを判定し、越えていなければ、ステップ５２５に進み、触媒劣化判定カウンタをクリアしてステップ５２６に進み、触媒劣化判定演算終了条件が不成立と判定する。
【０１１１】
触媒劣化判定カウンタが所定値ｋcatcountを越えた時点で、ステップ５２２からステップ５２３に進み、触媒劣化判定カウンタをクリアして、ステップ５２４に進み、触媒劣化判定演算終了条件が成立していると判定する。
【０１１２】
以上のようにして、図２０の触媒劣化判定演算終了条件判定ルーチンによって触媒劣化判定演算終了条件の成立／不成立を判定し、不成立の場合には、図１７のステップ４１８以降の触媒劣化検出処理を行わずに、触媒劣化検出ルーチンを終了する。
【０１１３】
そして、触媒劣化判定演算終了条件が成立していれば、ステップ４１８に進み、前述したステップ４１４で算出した触媒流入ガス成分量積算値ＴＧＡＳinと触媒流出ガス成分量積算値ＴＧＡＳout とを用いて、触媒劣化指標値ＪＵＤＧＥを次式により演算する。
ＪＵＤＧＥ＝ＴＧＡＳout ／ＴＧＡＳin
【０１１４】
この触媒劣化指標値ＪＵＤＧＥは、触媒温度が１５０℃から５５０℃までの間の触媒反応に寄与する触媒流出ガス成分量積算値ＴＧＡＳout と触媒流入ガス成分量積算値ＴＧＡＳinとの比であり、触媒２７で浄化されなかった割合（非浄化率）に相当する。従って、この触媒劣化指標値ＪＵＤＧＥが大きくなるほど、触媒劣化が進んでいることを意味する。
【０１１５】
そこで、次のステップ４１９では、触媒劣化指標値ＪＵＤＧＥを所定の劣化判定値ｋjudge と比較し、ＪＵＤＧＥ＞ｋjudge であれば、触媒劣化と判定し（ステップ４２０）、ＪＵＤＧＥ≦ｋjudge であれば、正常（触媒劣化無し）と判定する（ステップ４２１）。これらステップ４１８〜４２０の処理が特許請求の範囲でいう触媒劣化検出手段としての役割を果たす。
【０１１６】
《実施形態（５）》
図２３及び図２５に示す実施形態（５）は、上記実施形態（４）の一部の処理を変更したものである。上記実施形態（４）では、触媒流出ガス成分量積算値ＴＧＡＳout と触媒流入ガス成分量積算値ＴＧＡＳinは、触媒反応に寄与するリッチ成分（ＨＣ，ＣＯ，Ｈ2 等の還元性成分）とリーン成分（ＮＯｘ，Ｏ2 等の酸化性成分）の双方を合計するようにしたが、リッチ成分とリーン成分のいずれか一方のみを積算して触媒流出ガス成分量積算値ＴＧＡＳout と触媒流入ガス成分量積算値ＴＧＡＳinを求め、触媒劣化判定を行うようにしても良い。
【０１１７】
この実施形態（５）では、触媒２７のＨＣ浄化率の劣化度合を判定するためにリッチ成分のみを積算し、触媒流出リッチガス成分量積算値ＴＧＡＳout と触媒流入リッチガス成分量積算値ＴＧＡＳinを求め、触媒劣化判定を行う。
【０１１８】
この触媒劣化判定は、図２３に示す触媒劣化検出ルーチンにより行われる。前記実施形態（４）の図１６及び図１７に示す触媒劣化検出ルーチンの処理と異なる部分は、図２３に一点鎖線で囲むステップ４０３ａ〜４０３ｉの処理のみであり、他の処理は前記実施形態（４）と同じである。
【０１１９】
図２３に示す触媒劣化検出ルーチンでは、触媒劣化判定演算開始条件が成立した時にタイムカウンタ１をインクリメントし（ステップ４０１，４０２）、続くステップ４０３ａで、ＶＯＸ２＞ｋrichであるか否かによってリッチ側の触媒飽和判定を行う。前記実施形態（４）では、リッチ側／リーン側の双方の触媒飽和判定を行ったが、この実施形態（５）では、リッチ成分のみを積算するため、リッチ側のみの触媒飽和判定を行う。もし、触媒飽和でなければ（ＶＯＸ２≦ｋrich）、ステップ４０３ｅに進み、触媒飽和補正量ＶＳＡＴＵを０として、ステップ３０４ｆに進む。
【０１２０】
これに対し、触媒飽和の場合（ＶＯＸ２＞ｋrich）には、ステップ４０３ｂに進み、目標空燃比と上流側空燃比センサ２８の出力値（実空燃比）との偏差ΔＡ／Ｆ（＝目標空燃比−上流側空燃比センサ２８の出力値）が負の値であるか否か、つまり目標空燃比よりリッチであるか否かを判定し、ΔＡ／Ｆ≧０（リーン）の場合には、ステップ４０３ｃに進み、ΔＡ／Ｆ＝０とし、触媒流入ガス成分量ＧＡＳinの演算にはΔＡ／Ｆを反映させない。これにより、ΔＡ／Ｆ＜０（リッチ）の場合のみ、ΔＡ／Ｆを触媒流入ガス成分量ＧＡＳinの演算に反映させる。このステップ４０３ｂ，４０３ｃの処理が特許請求の範囲でいう第１のキャンセル手段としての役割を果たす。
【０１２１】
そして、次のステップ４０３ｄでは、下流側酸素センサ２９の出力変化量から検出できない触媒流出ガス成分量（触媒飽和補正量）ＶＳＡＴＵを次式により算出する。
【０１２２】
ＶＳＡＴＵ＝｜ΔＡ／Ｆ｜×Ｑ×ｋ
ここで、Ｑはシリンダ流入空気量、ｋは上流側空燃比センサ２８の出力値と下流側酸素センサ２９の出力値との変換係数である。ΔＡ／Ｆ≧０（リーン）の場合には、ステップ４０３ｃでΔＡ／Ｆ＝０とセットされるため、この触媒飽和補正量ＶＳＡＴＵは０となる。従って、ΔＡ／Ｆ＜０（リッチ）の場合のみ、触媒飽和補正量ＶＳＡＴＵ≠０となる。
【０１２３】
以上のようにして設定される触媒飽和補正量ＶＳＡＴＵの一例が図２４に示されている。この図２４からも明らかなように、触媒飽和補正量ＶＳＡＴＵ≠０となる条件は、ＶＯＸ２＞ｋrich且つΔＡ／Ｆ＜０の場合のみであり、この条件を満たさない場合には、触媒飽和補正量ＶＳＡＴＵ＝０となる。
【０１２４】
上記ステップ４０３ｄ又は４０３ｅで触媒飽和補正量ＶＳＡＴＵを設定した後、ステップ４０３ｆに進み、再度、ΔＡ／Ｆ＜０（リッチ）であるか否かを判定し、ΔＡ／Ｆ≧０（リーン）の場合には、ステップ４０３ｇに進み、ΔＡ／Ｆ＝０として、ステップ４０３ｈに進むが、ΔＡ／Ｆ＜０（リッチ）の場合には、そのままステップ４０３ｈに進む。このステップ４０３ｈでは、下流側酸素センサ２９の出力電圧変化量ｄＶが正の値か否か、つまり触媒流出ガスがリッチ方向に変化しているか否かを判定し、ｄＶ≦０（リーン方向に変化）の場合には、ステップ４０３ｉに進み、ｄＶ＝０にセットして、触媒流出ガス成分量ＧＡＳout の演算にはｄＶを反映させない。ｄＶ＞０（リッチ方向に変化）の場合のみ、ｄＶを触媒流出ガス成分量ＧＡＳout の演算に反映させる。このステップ４０３ｈ，４０３ｉの処理が特許請求の範囲でいう第２のキャンセル手段としての役割を果たす。
【０１２５】
以上の処理を行った後、ステップ４０６に進む。これ以降の処理は、前記実施形態（４）と同じである。従って、図２３の処理を終了すると、図１７の処理を実行する。尚、この実施形態（５）においても、前記実施形態（４）で用いられた図１８（又は図１９）の触媒劣化判定演算開始条件判定ルーチンと図２０の触媒劣化判定演算終了条件判定ルーチンを実行する。また、エンジン停止後の経過時間を計測するタイマが有るシステムに適用する場合には、図１３の触媒温度推定ルーチンによってエンジン始動時の触媒温度を推定する。
【０１２６】
この実施形態（５）では、触媒反応に寄与するガス成分のうち、リッチ成分のみを積算し、触媒流出リッチガス成分量積算値ＴＧＡＳout と触媒流入リッチガス成分量積算値ＴＧＡＳinを求め、リッチガス成分の非浄化率（触媒劣化指標値ＪＵＤＧＥ＝ＴＧＡＳout ／ＴＧＡＳin）から触媒劣化判定を行う。これにより、触媒２７のＨＣ浄化率の劣化度合を判定することができる。
【０１２７】
尚、この実施形態（５）では、リッチ成分のみを積算したが、これとは反対に、リーン成分のみを積算し、リーンガス成分の非浄化率から触媒劣化判定を行うようにしても良い。
【０１２８】
《実施形態（６）》
触媒２７が劣化するほど、下流側酸素センサ２９の出力値ＶＯＸ２がストイキから外れる頻度が多くなる。ストイキから外れると、下流側酸素センサ２９の出力変化量によって触媒流出ガス成分量を検出できないので、上記実施形態（４），（５）では、図１６のステップ４０３、図２３のステップ４０３ａで、触媒飽和判定により下流側酸素センサ２９の出力値ＶＯＸ２がストイキから外れたか否かを判定し、ストイキから外れた時に、上流側空燃比センサ２８の出力値と目標空燃比との偏差に応じて触媒飽和補正量ＶＳＡＴＵを算出し、この触媒飽和補正量ＶＳＡＴＵによって触媒流出ガス成分量ＧＡＳout を補正することで、触媒流出ガス成分量ＧＡＳout の演算精度を向上させるようにしている。このようにすれば、ＨＣの浄化率が新品触媒と劣化触媒とで差が小さくなる触媒完全活性後においても触媒劣化を検出することができる。
【０１２９】
そこで、この実施形態（６）では、触媒劣化判定演算開始／終了条件を図２５と図２６に示す条件判定ルーチンによって判定することで、触媒２７が完全活性した後に触媒劣化判定を行う。以下、この処理について説明する。
【０１３０】
図２５に示す触媒劣化判定演算開始条件判定ルーチンでは、まずステップ６０１で、冷却水温ＴＨＷがエンジン完全暖機完了時の水温（例えば８０℃）を越えたか否かで、触媒２７が完全活性したか否かを判定し、「Ｙｅｓ」であれば、ステップ６０２に進み、上流側空燃比センサ２８が完全に活性化した後（空燃比フィードバックを開始した後）、所定時間ｋactiveが経過したか否かを判定し、「Ｙｅｓ」であれば、ステップ６０３に進み、触媒劣化判定演算開始条件が成立していると判定する。ここで、完全活性後の所定時間ｋactiveの経過を必要とする理由は、再始動時において、水温が高い状態（上流側空燃比センサ２８が完全に活性化した状態）でも、空燃比フィードバックが安定していない状態で触媒劣化判定演算を開始しないようにするためである。
【０１３１】
この場合、上流側空燃比センサ２８の完全活性後（空燃比フィードバック開始後）、所定時間ｋactiveが経過したか否かで空燃比フィードバックが安定しているか否かを判断するが、これに代えて、空燃比フィードバック開始後、上流側空燃比センサ２８の出力が目標空燃比を横切ったか否かで、空燃比フィードバックが安定したか否かを判断し、空燃比フィードバックが開始されてから上流側空燃比センサ２８の出力が最初に目標空燃比を横切るまで、触媒劣化判定演算を禁止するようにしても良い。
【０１３２】
以上説明したステップ６０１〜６０３の処理により、触媒劣化判定演算開始条件が成立した時には、図１６又は図２３の触媒劣化検出ルーチンのステップ４０２以降の処理が実行される。
【０１３３】
これに対し、ステップ６０１と６０２のいずれかで「Ｎｏ」と判定されれば、ステップ６０４に進み、触媒劣化判定演算開始条件が不成立と判定し、触媒劣化判定演算を禁止する。
【０１３４】
また、図２６に示す触媒劣化判定演算終了条件判定ルーチンでは、まずステップ６１１で、触媒劣化判定に反映する回数をカウントする触媒劣化判定カウンタが所定値ｋcatcount2 に達したか否かを判定し、達してなければ、ステップ６１４に進み、触媒劣化判定演算終了条件が不成立と判定する。
【０１３５】
そして、触媒劣化判定カウンタが所定値ｋcatcount2 に達した時点で、ステップ６１１からステップ６１２に進み、触媒劣化判定カウンタをクリアして、ステップ６１３に進み、触媒劣化判定演算終了条件が成立していると判定する。触媒劣化判定演算終了条件が成立した時には、図１７のステップ４１８の以降処理を実行し、触媒劣化指標値ＪＵＤＧＥ（＝ＴＧＡＳout ／ＴＧＡＳin）を算出し、この触媒劣化指標値ＪＵＤＧＥを所定の劣化判定値ｋjudge と比較し、ＪＵＤＧＥ＞ｋjudge であれば、触媒劣化と判定し、ＪＵＤＧＥ≦ｋjudge であれば、正常（触媒劣化無し）と判定する。尚、劣化判定値ｋjudge は、触媒活性途中で劣化判定する実施形態（４），（５）の場合よりも小さな値とする。これにより、ＨＣの浄化率が新品触媒と劣化触媒とで差が小さくなる触媒完全活性後においても触媒劣化を検出することができる。
【図面の簡単な説明】
【図１】本発明の実施形態（１）におけるエンジン制御システム全体の概略構成図
【図２】触媒劣化検出ルーチンの処理の流れを示すフローチャート
【図３】触媒温度推定ルーチンの処理の流れを示すフローチャート
【図４】エンジン回転数Ｎｅと吸気流量Ｑとから排気温度ＴＥＸを推定するマップを概念的に示す図
【図５】燃料カット開始時の触媒温度ＴＣＡＴと排気温度ＴＥＸとの関係を規定するデータテーブルを示す図
【図６】吸気流量Ｑと係数Ｋ1 ，Ｋ2 との関係を規定するデータテーブルを示す図
【図７】浄化ガス成分量を反映するデータΣＶ（下流側酸素センサの出力電圧変動の軌跡）の算出方法を説明する図
【図８】触媒流入ガス成分変動を数値化したデータΣΔＡ／ＦＱの算出方法を説明する図
【図９】浄化ガス成分量を反映するデータΣＶと触媒流入ガス成分変動のデータΣΔＡ／Ｆ・Ｑとの関係を実測した図
【図１０】触媒流入ガス成分変動のデータΣΔＡ／Ｆ・Ｑと劣化判定値との関係を規定するデータテーブルを示す図
【図１１】本発明の実施形態（２）における触媒劣化検出方法を説明する図
【図１２】新品触媒と劣化触媒について冷間始動後のＨＣ浄化率の経時的変化の一例を示す図
【図１３】本発明の実施形態（３）における触媒温度推定ルーチンの処理の流れを示すフローチャート
【図１４】外気温度２５℃の場合のエンジン停止後の触媒温度と冷却水温の挙動の一例を示すタイムチャート
【図１５】外気温度１５℃の場合のエンジン停止後の触媒温度と冷却水温の挙動の一例を示すタイムチャート
【図１６】本発明の実施形態（４）における触媒劣化検出ルーチンの前半部の処理の流れを示すフローチャート
【図１７】図１６の触媒劣化検出ルーチンの後半部の処理の流れを示すフローチャート
【図１８】触媒温度センサ又はエンジン停止後の経過時間を計測するタイマが無いシステムで用いられる触媒劣化判定演算開始条件判定ルーチンの処理の流れを示すフローチャート
【図１９】触媒温度センサ又はエンジン停止後の経過時間を計測するタイマが有るシステムで用いられる触媒劣化判定演算開始条件判定ルーチンの処理の流れを示すフローチャート
【図２０】触媒劣化判定演算終了条件判定ルーチンの処理の流れを示すフローチャート
【図２１】下流側酸素センサの静特性を示す図
【図２２】本発明の実施形態（４）における上流側空燃比センサの出力値、触媒飽和補正量ＶＳＡＴＵ及び下流側酸素センサの出力値との関係を説明するタイムチャート
【図２３】本発明の実施形態（５）における触媒劣化検出ルーチンの前半部の処理の流れを示すフローチャート
【図２４】本発明の実施形態（５）における上流側空燃比センサの出力値、触媒飽和補正量ＶＳＡＴＵ及び下流側酸素センサの出力値との関係を説明するタイムチャート
【図２５】本発明の実施形態（６）における触媒劣化判定演算開始条件判定ルーチンの処理の流れを示すフローチャート
【図２６】触媒劣化判定演算終了条件判定ルーチンの処理の流れを示すフローチャート
【符号の説明】
１０…エアフローメータ、１１…エンジン（内燃機関）、１４…吸気温度センサ、１７…吸気管圧力センサ、２４…クランク角センサ、２６…排気管、２７…触媒、２８…上流側空燃比センサ、２９…下流側酸素センサ、３０…電子制御回路（演算手段，触媒劣化検出手段，飽和判定手段，第１の演算手段，第２の演算手段，飽和補正手段，第１のキャンセル手段，第２のキャンセル手段，第１の積算手段，第２の積算手段）、３７…警告ランプ、３８…水温センサ、３９…下流側酸素センサのヒータ。
【図１】
0003674017.tif 000004
【図２】
0003674017.tif 000005
【図３】
0003674017.tif 000006
【図４】
0003674017.tif 000007
【図５】
0003674017.tif 000008
【図６】
0003674017.tif 000009
【図７】
0003674017.tif 000010
【図８】
0003674017.tif 000011
【図９】
0003674017.tif 000012
【図１０】
0003674017.tif 000013
【図１１】
0003674017.tif 000014
【図１２】
0003674017.tif 000015
【図１３】
0003674017.tif 000016
【図１４】
0003674017.tif 000017
【図１５】
0003674017.tif 000018
【図１６】
0003674017.tif 000019
【図１７】
0003674017.tif 000020
【図１８】
0003674017.tif 000021
【図１９】
0003674017.tif 000022
【図２０】
0003674017.tif 000023
【図２１】
0003674017.tif 000024
【図２２】
0003674017.tif 000025
【図２３】
0003674017.tif 000026
【図２４】
0003674017.tif 000027
【図２５】
0003674017.tif 000028
【図２６】
0003674017.tif 000029