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