(57)【要約】【課題】排気浄化用触媒の下流側に設けられる酸素濃度センサの劣化をより正確に判定することができる劣化検出装置を提供する。【解決手段】目標当量比ＫＣＭＤを理論空燃比よりリッチ側の空燃比に対応するリッチ側所定値ＫＯＳＯ２Ｈに、リッチ設定時間ＴＲＩＣＨに亘って設定する。次に目標当量比ＫＣＭＤを理論空燃比よりリーン側の空燃比に対応するリーン側所定値ＫＯＳＯ２Ｌに変更し、その時点ｔ１から酸素濃度センサ出力ＳＶＯ２が第１所定電圧ＳＶＯ２Ｗに達する時刻ｔ２までのむだ時間ＴＮＲを計測する。さらに時刻ｔ２から酸素濃度センサ出力ＳＶＯ２が第２所定電圧ＳＶＯ２ＳＴＰに達するまでの変化時間ＴＦＳを計測する。変化時間ＴＦＳがむだ時間ＴＮＲに応じて設定される判定閾値ＴＳＶＯＨより大きいとき、酸素濃度センサ１５が劣化していると判定する。【選択図】  図２
2004324475.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の排気通路に配置された酸素吸蔵能力を有する排気浄化用触媒の下流側に設けられた下流側酸素濃度センサの劣化を検出する酸素濃度センサの劣化検出装置において、
前記下流側酸素濃度センサの劣化判定の実行条件を判定する実行条件判定手段と、
前記実行条件が成立したときに、前記機関に供給する混合気の空燃比を理論空燃比よりリッチ側の所定リッチ空燃比に設定するリッチ空燃比設定手段と、
該リッチ空燃比設定手段による空燃比のリッチ化時点から所定リッチ化時間経過したときに、前記空燃比を理論空燃比よりリーン側の所定リーン空燃比に変更する空燃比変更手段と、
該空燃比変更手段により前記空燃比が変更された時点から、前記下流側酸素濃度センサの出力が第１所定値に達するまでのむだ時間を計測するむだ時間計測手段と、
前記むだ時間に応じて判定閾値を設定する判定閾値設定手段と、
前記下流側酸素濃度センサの出力が前記第１所定値から、前記第１所定値より高い酸素濃度を示す第２所定値に達するまでの変化時間を計測する変化時間計測手段と、
前記変化時間が前記判定閾値より大きいときに、前記下流側酸素濃度センサが劣化していると判定する判定手段とを備えることを特徴とする酸素濃度センサの劣化検出装置。
【請求項２】
内燃機関の排気通路に配置された酸素吸蔵能力を有する排気浄化用触媒の下流側に設けられた下流側酸素濃度センサの劣化を検出する酸素濃度センサの劣化検出装置において、
前記排気浄化用触媒の上流側に設けられた上流側酸素濃度センサと、
前記下流側酸素濃度センサの劣化判定の実行条件を判定する実行条件判定手段と、
前記実行条件が成立したときに、前記機関に供給する混合気の空燃比を理論空燃比よりリッチ側の所定リッチ空燃比に設定するリッチ空燃比設定手段と、
該リッチ空燃比設定手段による空燃比のリッチ化時点から所定リッチ化時間経過したときに、前記空燃比を理論空燃比よりリーン側の所定リーン空燃比に変更する空燃比変更手段と、
該空燃比変更手段により前記空燃比が変更された後に、前記上流側酸素濃度センサの出力が理論空燃比よりリーン側の空燃比を示す値に変化した時点から、前記下流側酸素濃度センサの出力が第１所定値に達するまでのむだ時間を計測するむだ時間計測手段と、
前記むだ時間に応じて判定閾値を設定する判定閾値設定手段と、
前記下流側酸素濃度センサの出力が前記第１所定値から、前記第１所定値より高い酸素濃度を示す第２所定値に達するまでの変化時間を計測する変化時間計測手段と、前記変化時間が前記判定閾値より大きいときに、前記下流側酸素濃度センサが劣化していると判定する判定手段とを備えることを特徴とする酸素濃度センサの劣化検出装置。
【請求項３】
前記判定閾値設定手段は、上側判定閾値及び該上側判定閾値より小さい下側判定閾値を、前記むだ時間に応じて設定し、前記判定手段は、前記変化時間が前記上側判定閾値より大きいとき、前記下流側酸素濃度センサが劣化していると判定し、前記変化時間が前記下側判定閾値より小さいときは、前記下流側酸素濃度センサは正常と判定し、前記変化時間が前記下側判定閾値以上でかつ前記上側判定閾値以下であるときは、判定を保留することを特徴とする請求項１または２に記載の酸素濃度センサの劣化検出装置。
【請求項４】
判定が保留され、その後に前記実行条件が成立したときは、前記リッチ空燃比設定手段、空燃比変更手段、むだ時間計測手段、判定閾値設定手段及び判定手段による劣化判定を再度実行することを特徴とする請求項３に記載の酸素濃度センサの劣化検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内燃機関の排気通路に配置される排気浄化用触媒の下流側に設けられる酸素濃度センサの劣化検出装置に関する。
【０００２】
【従来の技術】
内燃機関の排気通路には、排気浄化用触媒が設けられ、排気の浄化が行われる。また、排気浄化用触媒の下流側に酸素濃度センサ（以下「下流側酸素濃度センサ」という）を配置し、その下流側酸素濃度センサに検出信号に基づく排気浄化用触媒の劣化判定や、排気浄化用触媒の浄化能力を最大限に利用するための空燃比制御を行う装置が従来より知られている。
【０００３】
この下流側酸素濃度センサが劣化すると、排気浄化用触媒の劣化判定や空燃比制御を適切に行うことができなくなるため、下流側酸素濃度センサの劣化を判定する手法が提案されており、その一例が特許文献１に示されている。この手法によれば、目標空燃比がリッチ空燃比からリーン空燃比に変更されたときに、下流側酸素濃度センサの出力がリッチ側からリーン側へ変化を開始した時点から所定量変化するまでの時間（出力変化時間）が検出され、この出力変化時間が所定時間以上であるとき、下流側酸素濃度センサが劣化していると判定される。
【０００４】
【特許文献１】
特開平１０−１６９４９４号公報
【０００５】
【発明が解決しようとする課題】
上記判定手法では、劣化判定のための閾値である所定時間は一定であるため、排気浄化用触媒が燃料に含まれる硫黄成分により劣化した場合や機関運転状態が変化した場合には、誤判定する可能性が高いという課題があった。すなわち、排気浄化用触媒の硫黄成分の蓄積量が大きくなったときや機関排気流量少ないときは、下流側酸素濃度センサが正常であっても空燃比変更後の出力変化速度が遅くなる（出力変化時間が長くなる）傾向があり、正常であるの劣化していると誤判定することがあった。
【０００６】
本発明はこの点に着目してなされたものであり、排気浄化用触媒の下流側に設けられる酸素濃度センサの劣化をより正確に判定することができる劣化検出装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記目的を達成するため請求項１に記載の発明は、内燃機関の排気通路（１２）に配置された酸素吸蔵能力を有する排気浄化用触媒（１６）の下流側に設けられた下流側酸素濃度センサ（１５）の劣化を検出する酸素濃度センサの劣化検出装置において、前記下流側酸素濃度センサ（１５）の劣化判定の実行条件を判定する実行条件判定手段と、前記実行条件が成立したとき（ｔ０）に、前記機関に供給する混合気の空燃比を理論空燃比よりリッチ側の所定リッチ空燃比（ＫＯＳＯ２Ｈ）に設定するリッチ空燃比設定手段と、該リッチ空燃比設定手段による空燃比のリッチ化時点（ｔ０）から所定リッチ化時間（ＴＲＩＣＨ）経過したとき（ｔ１）に、前記空燃比を理論空燃比よりリーン側の所定リーン空燃比（ＫＯＳＯ２Ｌ）に変更する空燃比変更手段と、該空燃比変更手段により前記空燃比が変更された時点（ｔ１）から、前記下流側酸素濃度センサの出力（ＳＶＯ２）が第１所定値（ＳＶＯ２Ｗ）に達するまでのむだ時間（ＴＮＲ）を計測するむだ時間計測手段と、前記むだ時間（ＴＮＲ）に応じて判定閾値（ＴＳＶＯＨ）を設定する判定閾値設定手段と、前記下流側酸素濃度センサの出力（ＳＶＯ２）が前記第１所定値（ＳＶＯ２Ｗ）から、前記第１所定値より高い酸素濃度を示す第２所定値に（ＳＶＯ２ＳＴＰ）達するまでの変化時間（ＴＦＳ）を計測する変化時間計測手段と、前記変化時間（ＴＦＳ）が前記判定閾値（ＴＳＶＯＨ）より大きいときに、前記下流側酸素濃度センサ（１５）が劣化していると判定する判定手段とを備えることを特徴とする。
【０００８】
この構成によれば、空燃比がリッチ空燃比からリーン空燃比に変更され、該変更時点から、下流側酸素濃度センサの出力が第１所定値に達するまでのむだ時間が計測される。次に下流側酸素濃度センサの出力が前記第１所定値から、前記第１所定値より高い酸素濃度を示す第２所定値に達するまでの変化時間が計測され、この変化時間が、前記むだ時間に応じて設定される判定閾値より大きいとき、下流側酸素濃度センサが劣化していると判定される。むだ時間（ＴＮＲ）及び変化時間（ＴＦＳ）は、排気浄化触媒の劣化が進んでいるときは短くなり、排気流量が小さいときは長くなる傾向があるので、このむだ時間に応じて判定閾値を設定することより、正確な判定を行うことができる。
【０００９】
請求項２に記載の発明は、内燃機関の排気通路（１２）に配置された酸素吸蔵能力を有する排気浄化用触媒（１６）の下流側に設けられた下流側酸素濃度センサ（１５）の劣化を検出する酸素濃度センサの劣化検出装置において、前記排気浄化用触媒（１６）の上流側に設けられた上流側酸素濃度センサ（１４）と、前記下流側酸素濃度センサ（１５）の劣化判定の実行条件を判定する実行条件判定手段と、前記実行条件が成立したとき（ｔ０）に、前記機関に供給する混合気の空燃比を理論空燃比よりリッチ側の所定リッチ空燃比（ＫＯＳＯ２Ｈ）に設定するリッチ空燃比設定手段と、該リッチ空燃比設定手段による空燃比のリッチ化時点（ｔ０）から所定リッチ化時間（ＴＲＩＣＨ）経過したとき（ｔ１）に、前記空燃比を理論空燃比よりリーン側の所定リーン空燃比（ＫＯＳＯ２Ｌ）に変更する空燃比変更手段と、該空燃比変更手段により前記空燃比が変更された後に、前記上流側酸素濃度センサの出力（ＰＶＯ２）が理論空燃比よりリーン側の空燃比を示す値に変化した時点（ｔ１ａ）から、前記下流側酸素濃度センサの出力（ＳＶＯ２）が第１所定値（ＳＶＯ２Ｗ）に達するまでのむだ時間（ＴＮＲａ）を計測するむだ時間計測手段と、前記むだ時間（ＴＮＲａ）に応じて判定閾値（ＴＳＶＯＨ）を設定する判定閾値設定手段と、前記下流側酸素濃度センサの出力（ＳＶＯ２）が前記第１所定値（ＳＶＯ２Ｗ）から、前記第１所定値より高い酸素濃度を示す第２所定値に（ＳＶＯ２ＳＴＰ）達するまでの変化時間（ＴＦＳ）を計測する変化時間計測手段と、前記変化時間（ＴＦＳ）が前記判定閾値（ＴＳＶＯＨ）より大きいときに、前記下流側酸素濃度センサ（１５）が劣化していると判定する判定手段とを備えることを特徴とする。
【００１０】
この構成によれば、空燃比がリッチ空燃比からリーン空燃比に変更され、該変更後に、上流側酸素濃度センサの出力が理論空燃比よりリーン側の空燃比を示す値に変化した時点から、下流側酸素濃度センサの出力が第１所定値に達するまでのむだ時間が計測される。次に下流側酸素濃度センサの出力が前記第１所定値から、前記第１所定値より高い酸素濃度を示す第２所定値に達するまでの変化時間が計測され、この変化時間が、前記むだ時間に応じて設定される判定閾値より大きいとき、下流側酸素濃度センサが劣化していると判定される。むだ時間（ＴＮＲａ）及び変化時間（ＴＦＳ）は、排気浄化触媒の劣化が進んでいるときは短くなり、排気流量が小さいときは長くなる傾向があるので、このむだ時間に応じて判定閾値を設定することより、正確な判定を行うことができる。
【００１１】
請求項３に記載の発明は、請求項１または２に記載の酸素濃度センサの劣化検出装置において、前記判定閾値設定手段は、上側判定閾値（ＴＳＶＯＨ）及び該上側判定閾値より小さい下側判定閾値（ＴＳＶＯＬ）を、前記むだ時間（ＴＮＲ）に応じて設定し、前記判定手段は、前記変化時間（ＴＦＳ）が前記上側判定閾値（ＴＳＶＯＨ）より大きいとき、前記下流側酸素濃度センサ（１５）が劣化していると判定し、前記変化時間（ＴＦＳ）が前記下側判定閾値（ＴＳＶＯＬ）より小さいときは、前記下流側酸素濃度センサ（１５）は正常と判定し、前記変化時間（ＴＦＳ）が前記下側判定閾値（ＴＳＶＯＬ）以上でかつ前記上側判定閾値（ＴＳＶＯＨ）以下であるときは、判定を保留することを特徴とする．
【００１２】
この構成によれば、上側判定閾値及び該上側判定閾値より小さい下側判定閾値が、前記むだ時間に応じて設定され、前記変化時間が前記上側判定閾値より大きいとき、前記下流側酸素濃度センサが劣化していると判定され、前記変化時間が前記下側判定閾値より小さいときは、下流側酸素濃度センサは正常と判定され、前記変化時間が前記下側判定閾値以上でかつ前記上側判定閾値以下であるときは、判定が保留される。すなわち、確実な判定が困難であるときは、判定を保留するようにしたので、誤判定を防止することができる。
【００１３】
請求項４に記載の発明は、請求項３に記載の酸素濃度センサの劣化検出装置において、判定が保留され、その後に前記実行条件が成立したときは、前記リッチ空燃比設定手段、空燃比変更手段、むだ時間計測手段、判定閾値設定手段及び判定手段による劣化判定を再度実行することを特徴とする。
【００１４】
この構成によれば、判定が保留されたときは、再度劣化判定が行われる。一度判定が保留された場合でも、機関運転状態が変化すれば、劣化または正常と判定できることがあるので、再度判定を行うことにより、判定保留となる割合を低下させ、正確な判定結果を早期に得ることができる。
【００１５】
【発明の実施の形態】
以下本発明の実施の形態を図面を参照して説明する。
図１は、本発明の一実施形態にかかる内燃機関（以下「エンジン」という）及びその制御装置の構成を示す図であり、例えば４気筒のエンジン１の吸気管２の途中にはスロットル弁３が配されている。スロットル弁３にはスロットル弁開度（ＴＨ）センサ４が連結されており、当該スロットル弁３の開度に応じた電気信号を出力して電子制御ユニット（以下「ＥＣＵ」という）５に供給する。
【００１６】
燃料噴射弁６は吸気管２内に燃料を噴射するように各気筒毎に設けられており、各噴射弁は図示しない燃料ポンプに接続されていると共にＥＣＵ５に電気的に接続されてＥＣＵ５からの信号により燃料噴射弁６の開弁時間が制御される。
一方、スロットル弁３の直ぐ下流には、吸気管内圧力検出手段としての吸気管内絶対圧（ＰＢＡ）センサ７が設けられており、この絶対圧センサ７により電気信号に変換された絶対圧信号はＥＣＵ５に供給される。また、その下流には吸気温（ＴＡ）センサ８が取付けられており、吸気温ＴＡを検出して対応する電気信号を出力してＥＣＵ５に供給する。
【００１７】
エンジン１の本体に装着されたエンジン水温（ＴＷ）センサ９はサーミスタ等から成り、エンジン水温（冷却水温）ＴＷを検出して対応する温度信号を出力してＥＣＵ５に供給する。
ＥＣＵ５には、エンジン１のクランク軸（図示せず）の回転角度を検出するクランク角度位置センサ１０が接続されており、クランク軸の回転角度に応じた信号がＥＣＵ５に供給される。クランク角度位置センサ１０は、エンジン１の特定の気筒の所定クランク角度位置でパルス（以下「ＣＹＬパルス」という）を出力する気筒判別センサ、各気筒の吸入行程開始時の上死点（ＴＤＣ）より所定クランク角度前のクランク角度位置で（４気筒エンジンではクランク角１８０度毎に）ＴＤＣ信号パルスを出力するＴＤＣセンサ及びＴＤＣパルスより短い一定クランク角周期（例えば３０度周期）で１パルス（以下「ＣＲＫパルス」という）を発生するＣＲＫセンサから成り、ＣＹＬパルス、ＴＤＣパルス及びＣＲＫパルスがＥＣＵ５に供給される。これらのパルスは、燃料噴射時期、点火時期等の各種タイミング制御及びエンジン回転数（エンジン回転速度）ＮＥの検出に使用される。
【００１８】
三元触媒１６はエンジン１の排気通路１２に配置されている。三元触媒１６は、排気中の酸素を吸蔵する能力を有し、ＨＣ，ＣＯ，ＮＯｘ等の成分の浄化を行う。排気通路１２の三元触媒１６の上流側には、比例型空燃比センサ１４（以下「ＬＡＦセンサ１４」という）が装着されており、このＬＡＦセンサ１４は排気中の酸素濃度（空燃比）にほぼ比例する検出信号を出力しＥＣＵ５に供給する。三元触媒１６の下流側には、排気中の酸素濃度を検出する酸素濃度センサ（以下「Ｏ２センサ」という）１５が設けられている。Ｏ２センサ１５は、その出力が理論空燃比の前後において急激に変化する特性を有し、その出力は理論空燃比よりリッチ側で高レベルとなり、リーン側で低レベルとなる。Ｏ２センサ１５は、ＥＣＵ５に接続されており、その検出信号はＥＣＵ５に供給される。
【００１９】
エンジン１は、吸気弁及び排気弁のバルブタイミングを、エンジンの高速回転領域に適した高速バルブタイミングと、低速回転領域に適した低速バルブタイミングとの２段階に切換可能なバルブタイミング切換機構３０を有する。このバルブタイミングの切換は、弁リフト量の切換も含み、さらに低速バルブタイミング選択時は２つの吸気弁のうちの一方を休止させて、空燃比を理論空燃比よりリーン化する場合においても安定した燃焼を確保するようにしている。
【００２０】
バルブタイミング切換機構３０は、バルブタイミングの切換を油圧を介して行うものであり、この油圧切換を行う電磁弁及び油圧センサ（図示せず）がＥＣＵ５に接続されている。油圧センサの検出信号はＥＣＵ５に供給され、ＥＣＵ５は電磁弁を制御してエンジン１の運転状態に応じたバルブタイミングの切換制御を行う。
【００２１】
また図示はしていないが、燃料タンクで発生する蒸発燃料を一時的に貯蔵するキャニスタを含む蒸発燃料処理装置が設けられている。この蒸発燃料処理装置のキャニスタはパージ通路を介して吸気管２に接続されており、キャニスタに貯蔵された蒸発燃料が適宜吸気管２に供給される。
【００２２】
ＥＣＵ５には、エンジン１によって駆動される車両の走行速度（車速）ＶＰを検出する車速センサ２１が接続されており、その検出信号がＥＣＵ５に供給される。
ＥＣＵ５は、各種センサからの入力信号波形を整形し、電圧レベルを所定レベルに修正し、アナログ信号値をデジタル信号値に変換する等の機能を有する入力回路、中央演算処理ユニット（以下「ＣＰＵ」という）、該ＣＰＵで実行される各種演算プログラム及び演算結果等を記憶する記憶回路、前記燃料噴射弁６、点火プラグ１１などに駆動信号を供給する出力回路等から構成される。
【００２３】
ＥＣＵ５のＣＰＵは、上述した各種センサの検出信号に基づいて、種々のエンジン運転状態を判別するとともに、該判別されたエンジン運転状態に応じて、次式（１）に基づき、ＴＤＣ信号パルスに同期して開弁作動する燃料噴射弁６による燃料噴射時間ＴＯＵＴを演算する。
ＴＯＵＴ＝ＴＩ×ＫＣＭＤ×ＫＬＡＦ×Ｋ１＋Ｋ２              （１）
【００２４】
ここに、ＴＩは燃料噴射弁６の基本燃料噴射時間であり、エンジン回転数ＮＥ及び吸気管内絶対圧ＰＢＡに応じて設定されたＴＩマップを検索して決定される。ＴＩマップは、マップ上のエンジン回転数ＮＥ及び吸気管内絶対圧ＰＢＡに対応する運転状態において、エンジン１に供給される混合気の空燃比がほぼ理論空燃比になるように設定されている。
【００２５】
ＫＣＭＤは目標空燃比係数であり、エンジン回転数ＮＥ、吸気管内絶対圧ＰＢＡ、エンジン水温ＴＷ等のエンジン運転パラメータ及びＯ２センサ１５の検出信号に応じて設定される。目標空燃比係数ＫＣＭＤは、空燃比Ａ／Ｆの逆数、すなわち燃空比Ｆ／Ａに比例し、理論空燃比のとき値１．０をとるので、目標当量比ともいう。
【００２６】
ＫＬＡＦは、ＬＡＦセンサ１４の検出空燃比から算出される検出当量比ＫＡＣＴが目標当量比ＫＣＭＤに一致するように算出される空燃比補正係数である。なお、ＬＡＦセンサ１４の検出空燃比に応じたフィードバック制御を行わないときは、無補正値（１．０）または学習値に設定される。
【００２７】
Ｋ１及びＫ２は夫々各種エンジンパラメータ信号に応じて演算される他の補正係数および補正変数であり、エンジン運転状態に応じた燃費特性、エンジン加速特性等の諸特性の最適化が図れるような所定値に決定される。
【００２８】
さらにＥＣＵ５のＣＰＵは、以下に説明するようにＯ２センサ１５の劣化判定を行う。先ず図２を参照して、本実施形態における劣化判定手法の概要を説明する。
【００２９】
時刻ｔ０において劣化判定の実行条件が成立すると、実行条件フラグＦＭＣＮＤが「１」に設定され、劣化判定が開始される。最初はリッチ設定時間ＴＲＩＣＨに亘って、目標当量比ＫＣＭＤが「１．０」より大きなリッチ側所定値ＫＯＳＯ２Ｈ（例えば１．０５）に設定される。Ｏ２センサ１５は、三元触媒１６の下流側に設けられているため、Ｏ２センサ１５の出力（以下「Ｏ２センサ出力」という）ＳＶＯ２は、空燃比リッチ化時点（ｔ０）より遅れて、上昇し始める。
【００３０】
時刻ｔ０からリッチ設定時間ＴＲＩＣＨ経過後の時刻ｔ１において、目標当量比ＫＣＭＤがリーン側所定値ＫＯＳＯ２Ｌ（例えば０．９８）に変更される。この時刻ｔ１から、Ｏ２センサ出力ＳＶＯ２が第１所定電圧ＳＶＯ２Ｗ（例えば０．４Ｖ）に達する時刻ｔ２までの時間がむだ時間ＴＮＲとして計測される。
【００３１】
次に時刻ｔ２からＯ２センサ出力ＳＶＯ２が第２所定電圧ＳＶＯ２ＳＴＰ（例えば０．１５Ｖ）に達する時刻ｔ３までの時間が、変化時間ＴＦＳとして計測される。そして、むだ時間ＴＮＲに応じて、上側判定閾値ＴＳＶＯＨ及び下側判定閾値ＴＳＶＯＬが設定され、変化時間ＴＦＳが上側判定閾値ＴＳＶＯＨより大きいとき、Ｏ２センサ１５が劣化していると判定される。また、変化時間ＴＦＳが下側判定閾値ＴＳＶＯＬより小さいときは、Ｏ２センサ１５は正常と判定される。また、変化時間ＴＦＳが下側判定閾値ＴＳＶＯＬ以上でかつ上側判定閾値ＴＳＶＯＨ以下であるときは、判定が保留される。判定が保留されたときは、劣化判定の実行条件が次に成立したときに、再度同様の劣化判定処理が実行される。
【００３２】
図３は、むだ時間ＴＮＲと、変化時間ＴＦＳの相関を示す図である。この図において、破線で囲んだ領域Ｒ１，Ｒ３は、Ｏ２センサ１５が劣化した状態における計測データの分布範囲を示し、実線で囲んだ領域Ｒ２，Ｒ４は、Ｏ２センサ１５が正常な状態における計測データの分布範囲を示す。また同図（ａ）は硫黄成分が少ない燃料を使用した場合に対応し、同図（ｂ）は硫黄成分が多い燃料を使用した場合に対応する。
【００３３】
図３に示すように、むだ時間ＴＮＲと変化時間ＴＦＳとは相関があり、むだ時間ＴＮＲが増加するほど、変化時間ＴＦＳが増加する。むだ時間ＴＮＲ及び変化時間ＴＦＳは、三元触媒１６の劣化度合や排気流量により変化するので、むだ時間ＴＮＲに応じて判定閾値を設定することにより、三元触媒１６の劣化度合や排気流量に拘わらず、正確な劣化判定が可能となる。
【００３４】
同図（ａ）では、領域Ｒ１と領域Ｒ２が重なっていないので、判定閾値をむだ時間ＴＮＲに応じて直線Ｌ１に対応させて設定すれば、劣化したＯ２センサを正しく判定することができる。しかし、同図（ｂ）では、領域Ｒ３と領域Ｒ４とが重なっているため、正常または劣化と判定できない場合がある。
【００３５】
そこで本実施形態では、直線Ｌ２に相当する上側判定閾値ＴＳＶＯＨと、直線Ｌ３に相当する下側判定閾値ＴＳＶＯＬとをむだ時間ＴＮＲに応じて設定し、上述したように変化時間ＴＦＳが下側判定閾値ＴＳＶＯＬ以上でかつ上側判定閾値ＴＳＶＯＨ以下であるときは、判定を保留することとした。これにより、誤判定を防止することができる。
【００３６】
さらに判定が保留された場合でも、エンジン１の運転状態が変化すれば、劣化判定または正常判定を確定できることがあるので、判定が保留されたときは、再度劣化判定処理を実行することとした。これにより、正確な判定結果を早期に得ることができる。
【００３７】
図４は、Ｏ２センサ１５の劣化判定処理のフローチャートである。この処理は、ＥＣＵ５のＣＰＵで所定時間（例えば１０ミリ秒）毎に実行される。
ステップＳ１１では、図６に示す実行条件判定処理を実行し、劣化判定の実行条件が成立するか否かを判別する。この処理では、実行条件が成立するときは、実行条件フラグＦＭＣＮＤが「１」に設定される。続くステップＳ１２では、実行条件フラグＦＭＣＮＤが「１」であるか否かを判別し、その答が否定（ＮＯ）であるときは、アップカウントタイマＴＦＳＴの値を「０」にリセットして（ステップＳ１５）、本処理を終了する。
【００３８】
ステップＳ１２の答が肯定（ＹＥＳ）、すなわち実行条件が成立するときは、図１１に示すむだ時間計測処理を実行し、むだ時間ＴＮＲを計測する（ステップＳ１３）。図１１の処理では、むだ時間計測が終了すると、むだ時間計測終了フラグＦＭＵＤＡＦＩＮが「１」に設定される。
【００３９】
ステップＳ１４では、むだ時間計測終了フラグＦＭＵＤＡＦＩＮが「１」であるか否かを判別し、その答が否定（ＮＯ）であるときは、図９に示す中断判定処理を実行する（ステップＳ２６）。中断判定処理では、むだ時間ＴＮＲの計測時間が所定上限時間ＴＭＬＭＴ（例えば１５秒）に達すると、中断フラグＦＴＬＭＴが「１」に設定される。続くステップＳ２７では中断フラグＦＴＬＭＴが「１」であるか否かを判別し、その答が肯定（ＹＥＳ）であるときは、Ｏ２センサ出力ＳＶＯ２が減少しないかあるいは減少速度が非常に遅いことを示す。したがって、Ｏ２センサ１５は劣化していると判定し、ステップＳ２０に進み、劣化フラグＦＦＳＤを「１」に設定するとともに、正常フラグＦＯＫを「０」に設定する。次いで判定終了フラグＦＤＯＮＥを「１」に設定し（ステップＳ２５）、本処理を終了する。またステップＳ２７でＦＴＬＭＴ＝０であるときは、前記ステップＳ１５に進む。
【００４０】
むだ時間計測終了フラグＦＭＵＤＡＦＩＮが「１」となると、ステップＳ１６に進み、むだ時間ＴＮＲに応じて図５に示すＴＳＶＯＬテーブル及びＴＳＶＯＨテーブルを検索し、下側判定閾値ＴＳＶＯＬ及び上側判定閾値ＴＳＶＯＨを算出する。ＴＳＶＯＬテーブル及びＴＳＶＯＨテーブルは、それぞれ図３に示す直線Ｌ３及びＬ２に対応する。
【００４１】
ステップＳ１７では、Ｏ２センサ出力ＳＶＯ２が第２所定電圧ＳＶＯ２ＳＴＰ以下か否かを判別し、ＳＶＯ２＞ＳＶＯ２ＳＴＰであるときは、タイマＴＦＳＴの値が最大変化時間ＴＭＡＸ（例えば２５秒）以上か否かを判別する（ステップＳ１８）。この答が否定（ＮＯ）であるときは、直ちに本処理を終了する。一方タイマＴＦＳＴの値が最大変化時間ＴＭＡＸに達したときは、空燃比をリーン空燃比に変更したにも拘わらず、Ｏ２センサ出力ＳＶＯ２がリーン空燃比を示す電圧まで低下しないので、Ｏ２センサ１５は劣化していると判定し、前記ステップＳ２０に進む。
【００４２】
ステップＳ１７で、Ｏ２センサ出力ＳＶＯ２が第２所定電圧ＳＶＯ２ＳＴＰに達したときは、ステップＳ１９に進み、タイマＴＦＳＴの値、すなわち変化時間ＴＦＳが上側判定閾値ＴＳＶＯＨより大きいか否かを判別する。その結果、ＴＦＳＴ＞ＴＳＶＯＨであるときは、Ｏ２センサ１５は劣化していると判定し、前記ステップＳ２０に進む。
【００４３】
ステップＳ１９の答が否定（ＮＯ）であるときは、タイマＴＦＳＴの値（変化時間ＴＦＳ）が下側判定閾値ＴＳＶＯＬより小さいか否かを判別する（ステップＳ２１）。その結果、ＴＦＳＴ＜ＴＳＶＯＬであるときは、Ｏ２センサ１５は正常と判定し、正常フラグＦＯＫを「１」に設定する（ステップＳ２２）。
【００４４】
ステップＳ２１の答が否定（ＮＯ）、すなわち変化時間ＴＦＳが下側判定閾値ＴＳＶＯＬ以上でかつ上側判定閾値ＴＳＶＯＨ以下であるときは、ホールドフラグＦＨＯＬＤが「１」であるか否かを判別する。最初はＦＨＯＬＤ＝０であるので、ステップＳ２４に進み、第１ステップ終了フラグＦＳＴＥＰ１ＦＩＮを「１」に設定する。第１ステップ終了フラグＦＳＴＥＰ１ＦＩＮが「１」に設定されると、判定が保留され、劣化判定処理の再実行が必要であることを示す。またホールドフラグＦＨＯＬＤは、図１０に示す処理で設定され、第１ステップ終了フラグＦＳＴＥＰ１ＦＩＮが「１」に設定されると、「１」に設定される。
【００４５】
劣化判定処理が再実行され、再度ステップＳ２３に至ったときは、ホールドフラグＦＨＯＬＤは「１」に設定されているので、前記ステップＳ２５に進み、判定終了フラグＦＤＯＮＥを「１」に設定する。判定終了フラグＦＤＯＮＥが「１」に設定されると、エンジン１が停止され、再始動されるまで、劣化判定は行われない。
【００４６】
図６及び図７は、図４のステップＳ１１で実行される実行条件判定処理のフローチャートである。
ステップＳ３１では、パージカットフラグＦＦＭＰＧが「１」であるか否かを判別する。パージカットフラグＦＦＭＰＧは、燃料供給系の故障診断実行中に蒸発燃料処理装置から吸気管２への蒸発燃料供給を停止（パージカット）するとき「１」に設定される。ＦＦＭＰＧ＝１であるときは、ダウンカウントタイマＴＳＯ２ＤＰＧを所定時間ＴＭＳＯ２ＤＰＧ（例えば２．５秒）に設定してスタートさせ（ステップＳ５３）、実行条件不成立と判定して、実行条件フラグＦＭＣＮＤを「０」に設定する。ダウンカウントタイマＴＳＯ２ＤＰＧは、後述するステップＳ５５で参照される。
【００４７】
ステップＳ３１でＦＦＭＰＧ＝０であるときは、フュエルカットフラグＦＦＣが「１」であるか否かを判別する（ステップＳ３２）。フュエルカットフラグＦＦＣは、エンジン１への燃料供給を停止（フュエルカット）するとき「１」に設定される。ＦＦＣ＝０であってフュエルカット中でないときは、ダウンカウントタイマＴＦＣを所定時間ＴＭＦＣ（例えば６０秒）に設定してスタートさせる（ステップＳ３３）。また、ＦＦＣ＝１であってフュエルカット中であるときは、ステップＳ３３でスタートしたタイマＴＦＣの値が「０」であるか否かを判別する（ステップＳ３９）。そしてＴＦＣ＞０である間は、前記ステップＳ５３に進み、ＴＦＣ＝０となると、ダウンカウントタイマＴＦＣ１を所定時間ＴＭＦＣ１（例えば４０秒）に設定してスタートさせる。ダウンカウントタイマＴＦＣ１は、後述するステップＳ５０で参照される。
【００４８】
ステップＳ３４では、吸気管内絶対圧ＰＢＡが所定上限値ＰＢＣＡＨ（例えば６４ｋＰａ（４８０ｍｍＨｇ））及び所定下限値ＰＢＣＡＬ（例えば２４ｋＰａ（１８０ｍｍＨｇ））の範囲内にあるか否かを判別し、その答が肯定（ＹＥＳ）であるときは、吸気温ＴＡが所定下限吸気温ＴＡＣＫＬ（例えば−２５℃）より高いか否かを判別し（ステップＳ３５）、その答が肯定（ＹＥＳ）であるときは、エンジン水温ＴＷが所定下限水温ＴＷＣＫＬ（例えば７０℃）より高いか否かを判別し（ステップＳ３６）、その答が肯定（ＹＥＳ）であるときは、エンジン回転数ＮＥが所定上限値ＮＣＫＡＨ（例えば２２５０ｒｐｍ）及び所定下限値ＮＣＫＡＬ（例えば１０５０ｒｐｍ）の範囲内にあるか否かを判別し（ステップＳ３７）、その答が肯定（ＹＥＳ）であるときは、車速ＶＰが所定下限車速ＶＣＫＬ（例えば４１ｋｍ／ｈ）より高いか否かを判別する（ステップＳ３８）。
【００４９】
ステップＳ３４〜Ｓ３８の何れかの答が否定（ＮＯ）であるときは、前記ステップＳ５３に進み、ステップＳ３４〜Ｓ３８の答がすべて肯定（ＹＥＳ）であるときは、図８に示す変動判定処理を実行する（ステップＳ４１）。変動判定処理では、吸気管内絶対圧ＰＢＡ及び目標当量比ＫＣＭＤの変動が小さいとき、変動フラグＦＡＦＣＮＤが「１」に設定される。
【００５０】
ステップＳ４２では、変動フラグＦＡＦＣＮＤが「１」であるか否かを判別し、その答が否定（ＮＯ）であるときは、前記ステップＳ５３に進む。ＦＡＦＣＮＤ＝１であって吸気管内絶対圧ＰＢＡ及び目標当量比ＫＣＭＤの変動が小さいときは、図１０に示す再実行判定処理を実行する。再実行判定処理では、前記第１ステップ終了フラグＦＳＴＥＰ１ＦＩＮが「１」に設定されると、先ず再実行フラグＦＲＥＴＲＹが「１」に設定される。これにより、次の図６の処理の演算タイミングで実行条件フラグＦＭＣＮＤが「０」に設定され、劣化判定が終了する。その際、図６の処理に含まれるサブルーチンである図１０の再実行判定処理で再実行フラグＦＲＥＴＲＹがすぐに「０」に戻されるので、再度劣化判定が実行可能となる。
【００５１】
ステップＳ４６では、再実行フラグＦＲＥＴＲＹが「１」であるか否かを判別し、その答が肯定（ＹＥＳ）であるときは、前記ステップＳ５３に進む。ＦＲＥＴＹ＝０であるときは、ステップＳ４７に進み、高負荷運転フラグＦＷＯＴが「１」であるか否かを判別する。高負荷運転フラグＦＷＯＴは、スロットル弁３がほぼ全開とされる高負荷運転状態において「１」に設定される。
【００５２】
ＦＷＯＴ＝１であるときは、前記ステップＳ５３に進み、ＦＷＯＴ＝０であるときは、フィードバック制御フラグＦＬＡＦＦＢが「１」であるか否かを判別する（ステップＳ４８）。フィードバック制御フラグＦＬＡＦＦＢは、ＬＡＦセンサ１４の出力に応じた空燃比フィードバック制御の実行しているとき「１」に設定される。
【００５３】
ＦＬＡＦＦＢ＝０であるときは、前記ステップＳ５３に進み、ＦＬＡＦＦＢ＝１であるときは、ＬＡＦ故障診断フラグＦＭＣＮＤ６１Ａが「１」であるか否かを判別する（ステップＳ４９）。ＬＡＦ故障診断フラグＦＭＣＮＤ６１Ａは、ＬＡＦセンサ１４の故障診断を実行しているとき「１」に設定される。
【００５４】
ＦＭＣＮＤ６１Ａ＝１であるときは、前記ステップＳ５３に進み、ＦＭＣＮＤ６１Ａ＝０であるときは、ステップＳ４０でスタートしたダウンカウントタイマＴＦＣ１の値が「０」であるか否かを判別する（ステップＳ５０）。ＴＦＣ１＞０である間は前記ステップＳ５３に進み、ＴＦＣ１＝０となると、リミットフラグＦＫＬＡＦＬＭＴが「０」であるか否かを判別する（ステップＳ５１）。リミットフラグＦＫＬＡＦＬＭＴは、空燃比補正係数ＫＬＡＦがリミット値に所定時間以上留まったとき、「１」に設定される。
【００５５】
ＦＬＡＦＬＭＴ＝１であるときは前記ステップＳ５３に進み、ＦＬＡＦＬＭＴ＝０であるときは、蒸発燃料処理装置から吸気管２への蒸発燃料の供給を停止（パージカット）し（ステップＳ５４）、前記ステップＳ５３でスタートしたダウンカウントタイマＴＳＯ２ＤＰＧの値が「０」であるか否かを判別する（ステップＳ５５）。ＴＳＯ２ＤＰＧ＞０である間は前記ステップＳ５９に進み、ＴＳＯ２ＤＰＧ＝０となると、実行条件フラグＦＭＣＮＤが既に「１」に設定されているか否かを判別する（ステップＳ５６）。ＦＭＣＮＤ＝１であるときは、直ちにステップＳ６０に進む。ＦＭＣＮＤ＝０であるときは、目標当量比ＫＣＭＤが理論空燃比相当の値ＫＢＳ０ＲＡＭ（１．０）に設定されているか否かを判別する（ステップＳ５７）。この答が否定（ＮＯ）であるときは前記ステップＳ５９に進み、ＫＣＭＤ＝ＫＰＳ０ＲＡＭであるときは、Ｏ２センサ出力ＳＶＯ２が所定開始電圧ＳＶＯ２Ｌ（例えば０．５Ｖ）より高いか否かを判別する（ステップＳ５８）。この答が否定（ＮＯ）であるときは、前記ステップＳ５９に進み、ＳＶＯ２＞ＳＶＯ２Ｌであるときは、実行条件成立と判定し、実行条件フラグＦＭＣＮＤを「１」に設定する（ステップＳ６０）。
【００５６】
図８は、図６のステップＳ４１で実行される変動判定処理のフローチャートである。
ステップＳ７１では、吸気圧変化量ＤＰＢＡＣＹＬの絶対値が、所定変化量ＤＰＢ０（例えば５．３ｋＰａ（４０ｍｍＨｇ））以上か否かを判別し、その答が肯定（ＹＥＳ）であるときは変動フラグＦＡＦＣＮＤを「０」に設定する（ステップＳ７２）。吸気圧変化量ＤＰＢＡＣＹＬは、吸気管内絶対圧ＰＢＡの１燃焼サイクル前の値ＰＢＡ（ｎ−４）（４気筒エンジンの場合）と今回値ＰＢＡ（ｎ）との差（ＰＢＡ（ｎ）−ＰＢＡ（ｎ−４））として算出される。
【００５７】
ステップＳ７１で、｜ＤＰＢＡＣＹＬ｜＜ＤＰＢ０であるときは、ＡＦリッチフラグＦＡＦＲＩＣＨが「１」であるか否かを判別する（ステップＳ７３）。ＡＦリッチフラグＦＡＦＲＩＣＨは、実行条件が成立後、空燃比がリッチ空燃比に設定されているとき「１」に設定される。この答が否定（ＮＯ）であるときは、ＡＦリーンフラグＦＡＦＬＥＡＮが「１」であるか否かを判別する（ステップＳ７４）。この答も否定（ＮＯ）であるときは、変動フラグＦＡＦＣＮＤを「１」に設定する（ステップＳ７８）。
【００５８】
ステップＳ７３で、ＦＡＦＲＩＣＨ＝１であるときは、目標当量比ＫＣＭＤがリッチ側所定値ＫＯＳＯ２Ｈ以上か否かを判別する（ステップＳ７５）。この答が否定（ＮＯ）であるときは、前記ステップＳ７８に進む。目標当量比ＫＣＭＤがリッチ側所定値ＫＯＳＯ２Ｈに達しているときは、ステップＳ７７に進み、目標当量比の変化量ＤＫＣＭＤの絶対値が所定変化量ＤＫＣＭＤ０（例えば０．０１６）以上であるか否かを判別する。変化量ＤＫＣＭＤは、目標当量比ＫＣＭＤの前回値ＫＣＭＤ（ｎ−１）と今回値ＫＣＭＤ（ｎ）との差（ＫＣＭＤ（ｎ）−ＫＣＭＤ（ｎ−１））として算出される。
【００５９】
ステップＳ７７の答が否定（ＮＯ）であるときは前記ステップＳ７８に進み、｜ＤＫＣＭＤ｜≧ＤＫＣＭＤ０であるときは、変動フラグＦＡＦＣＮＤを「０」に設定する（ステップＳ７９）。
ステップＳ７４で、ＦＡＦＬＥＡＮ＝１であるときは、目標当量比ＫＣＭＤがリーン側所定値ＫＯＳＯ２Ｌ以下か否かを判別する（ステップＳ７６）。この答が否定（ＮＯ）であるときは、前記ステップＳ７８に進む。目標当量比ＫＣＭＤがリーン側所定値ＫＯＳＯ２Ｌに達しているときは、前記ステップＳ７７に進む。
【００６０】
図８の処理によれば、吸気管内絶対圧ＰＢＡの変動が小さく、且つ目標当量比ＫＣＭＤの変動が小さいとき、変動フラグＦＡＦＣＮＤが「１」に設定される。
【００６１】
図９は、図６のステップＳ４３で実行される中断判定処理のフローチャートである。
ステップＳ８１では、ＡＦリーンフラグＦＡＦＬＥＡＮが「１」であるか否かを判別し、その答が否定（ＮＯ）であるときは、アップカウントタイマＴＬＭＴの値を「０」にリセットし（ステップＳ８３）、中断フラグＦＴＬＭＴを「０」に設定する（ステップＳ８６）。
【００６２】
ステップＳ８１でＦＡＦＬＥＡＮ＝１であってリーン運転中であるときは、むだ時間計測終了フラグＦＭＵＤＡＦＩＮが「１」であるか否かを判別する（ステップＳ８２）。ＦＭＵＤＡＦＩＮ＝１であってむだ時間ＴＮＲの計測が終了しているときは、前記ステップＳ８３に進む。
【００６３】
ＦＭＵＤＡＦＩＮ＝０であってむだ時間ＴＮＲの計測が終了していないときは、タイマＴＬＭＴの値が所定上限時間ＴＭＬＭＴ（例えば１５秒）以上であるか否かを判別する（ステップＳ８４）。この答が否定（ＮＯ）であるときは前記ステップＳ８６に進む。一方ＴＬＭＴ≧ＴＭＬＭＴであるときは、中断フラグＦＴＬＭＴを「１」に設定する（ステップＳ８５）。
【００６４】
図９の処理によれば、Ｏ２センサ１５の劣化判定のためのリーン運転を開始した時点から所定上限時間ＴＭＬＭＴ以上経過すると、中断フラグＦＴＬＭＴが「１」に設定される。
【００６５】
図１０は、図６のステップＳ４５で実行される再実行判定処理のフローチャートである。
ステップＳ９１では、第１ステップ終了フラグＦＳＴＥＰ１ＦＩＮが「１」であるか否かを判別する。最初はＦＳＴＥＰ１ＦＩＮ＝０であるので、ステップＳ９２に進み、ホールドフラグＦＨＯＬＤを「０」に設定し（ステップＳ９２）、次いで再実行フラグＦＲＥＴＲＹを「０」に設定する（ステップＳ９６）。
【００６６】
図４の処理で判定が保留され、第１ステップ終了フラグＦＳＴＥＰ１ＦＩＮが「１」に設定されると（図４、ステップＳ２４）、ステップＳ９１からステップＳ９３に進み、ホールドフラグＦＨＯＬＤが「１」であるか否かを判別する。最初はＦＨＯＬＤ＝０であるので、ホールドフラグＦＨＯＬＤ及び再実行フラグＦＲＥＴＲＹをともに「１」に設定する（ステップＳ９４，Ｓ９５）。
【００６７】
ステップＳ９４が実行されると、次回はステップＳ９３の答が肯定（ＹＥＳ）となり、ステップＳ９６に進んで再実行フラグＦＲＥＴＲＹが「０」に戻される。
【００６８】
図１０の処理によれば、再実行フラグＦＲＥＴＲＹは最初「０」に設定され、図４の処理で判定が保留されると、一度「１」に設定される。これにより、次の図６の処理の演算タイミングで実行条件フラグＦＭＣＮＤが「０」に設定され、劣化判定が終了する。その際、図６の処理に含まれるサブルーチンである図１０の再実行判定処理で再実行フラグＦＲＥＴＲＹがすぐに「０」に戻されるので、再度劣化判定が実行可能となる。
【００６９】
図１１は、図４のステップＳ１３で実行されるむだ時間計測処理のフローチャートである。
ステップＳ１０１では、ＡＦリーンフラグＦＡＦＬＥＡＮが「１」であるか否かを判別し、その答が否定（ＮＯ）であるときは、むだ時間計測終了フラグＦＭＵＤＡＦＩＮを「０」に設定する（ステップＳ１０３）。次いで、むだ時間ＴＮＲを「０」に設定するとともに、アップカウントタイマＴＮＲＴの値を「０」にリセットする（ステップＳ１０４）。
【００７０】
ステップＳ１０１でＦＡＦＬＥＡＮ＝１であってリーン運転中であるときは、目標当量比ＫＣＭＤがリーン側所定値ＫＯＳＯ２Ｌ以下か否かを判別する（ステップＳ１０２）。この答が否定（ＮＯ）であるときは、前記ステップＳ１０３に進む。目標当量比ＫＣＭＤがリーン側所定値ＫＯＳＯ２Ｌに達すると、ステップＳ１０５に進み、むだ時間計測終了フラグＦＭＵＤＡＦＩＮが「１」であるか否かを判別する。最初はＦＭＵＤＡＦＩＮ＝０であるので、ステップＳ１０６に進み、タイマＴＮＲＴの値をむだ時間ＴＮＲとして記憶する。次いで、Ｏ２センサ出力ＳＶＯ２が第１所定電圧ＳＶＯ２Ｗ以下であるか否かを判別し（ステップＳ１０８）、その答が否定（ＮＯ）であるときは直ちに本処理を終了する。
【００７１】
ステップＳ１０８の答が肯定（ＹＥＳ）、すなわちＯ２センサ出力ＳＶＯ２が第１所定電圧ＳＶＯ２Ｗに達すると、ステップＳ１０８からステップＳ１０９に進んで、むだ時間計測終了フラグＦＭＵＤＡＦＩＮを「１」に設定する。
ステップＳ１０９が実行されると、ステップＳ１０５の答が肯定（ＹＥＳ）となり、タイマＴＮＲＴの値が「０」にリセットされる（ステップＳ１０７）。
【００７２】
図１１の処理により、Ｏ２センサ１５の劣化判定のための空燃比リーン運転を開始した（目標当量比ＫＣＭＤがリーン側所定値ＫＯＳＯ２Ｌに達した）時点から、Ｏ２センサ出力ＳＶＯ２が第１所定電圧ＳＶＯ２Ｗに達するまでのむだ時間ＴＮＲが計測される。
【００７３】
図１２及び図１３は、目標当量比ＫＣＭＤを設定する処理のフローチャートである。この処理は、ＥＣＵ５のＣＰＵでＴＤＣパルスの発生に同期して実行される。
ステップＳ１１１では、実行条件フラグＦＭＣＮＤが「１」であるか否かを判別し、ＦＭＣＮＤ＝０であって実行条件が成立していないときは、通常制御、すなわちエンジン運転状態に応じた目標当量比ＫＣＭＤの設定を行う（ステップＳ１１２）。目標当量比ＫＣＭＤは、基本的には、エンジン回転数ＮＥ及び吸気管内絶対圧ＰＢＡに応じて算出され、エンジン水温ＴＷの低温状態や所定の高負荷運転状態では、それらの運転状態に応じた値に変更される。
【００７４】
続くステップＳ１１３では、ＡＦリッチフラグＦＡＦＲＩＣＨ、ＡＦリーンフラグＦＡＦＬＥＡＮ、及びＡＦ設定フラグＦＫＯ２ＳＥＴをいずれも「０」に設定する。
【００７５】
実行条件が成立し、実行条件フラグＦＭＣＮＤが「１」に設定されると、ステップＳ１１１からステップＳ１１４に進み、ＡＦ設定フラグＦＫＯ２ＳＥＴが「１」であるか否かを判別する。最初はＦＫＯ２ＳＥＴ＝０であるので、ステップＳ１１５に進み、目標当量比の今回値ＫＣＭＤ（ｎ）を、リッチ側所定値ＫＯＳＯ２Ｈに設定する。次いで、目標当量比の今回値ＫＣＭＤ（ｎ）から前回値ＫＣＭＤ（ｎ−１）を減算することにより、変化量ＤＫＣＭＤＴを算出する（ステップＳ１１６）。ステップＳ１１７では、変化量ＤＫＣＭＤＴが変化リミット値ＤＫＣＲ（例えば０．０００９７７）より大きいか否かを判別し、この答が肯定（ＹＥＳ）であるときは、目標当量比の今回値ＫＣＭＤ（ｎ）を、前回値ＫＣＭＤ（ｎ−１）に変化リミット値ＤＫＣＲを加算した値に変更する（ステップＳ１１８）。これにより、目標当量比ＫＣＭＤの急変が防止される。ステップＳ１１７でＤＫＣＭＤＴ≦ＤＫＣＲであるときは、直ちにステップＳ１１９に進む。
なお、変化リミット値ＤＫＣＲは、エンジン回転数ＮＥに応じて、エンジン回転数ＮＥが高くなるほど減少するように設定してもよい。
【００７６】
ステップＳ１１９では、ＡＦ設定フラグＦＫＯ２ＳＥＴを「１」に設定し、次いでダウンカウントタイマＴＰＲＥを所定時間ＴＲＳＭＡＶ（例えば２秒）に設定してスタートさせる（ステップＳ１２０）。このダウンカウントタイマＴＰＲＥは、後述するステップＳ１２２で参照される。
【００７７】
ステップＳ１２１では、ダウンカウントタイマＴＭＯＮＩＳＴを所定時間ＴＭＭＯＮＩＳＴ（例えば５秒）に設定してスタートさせる。このダウンカウントタイマＴＭＯＮＩＳＴは、後述するステップＳ１２４で参照される。続くステップＳ１２５では、ダウンカウントタイマＴＲＩＣＨＤＬＹを所定時間ＴＭＲＩＣＨＤＬＹ（例えば０．３秒）に設定してスタートさせる。このダウンカウントタイマＴＲＩＣＨＤＬＹは、後述するステップＳ１２６で参照される。さらにＡＦリーンフラグＦＡＦＬＥＡＮを「０」に設定するとともに、ＡＦリッチフラグＦＡＦＲＩＣＨを「１」に設定し（ステップＳ１３３，Ｓ１３４）、本処理を終了する。
【００７８】
ステップＳ１１９が実行されると、ステップＳ１１４の答は肯定（ＹＥＳ）となるので、ステップＳ１２２に進み、ステップＳ１２０でスタートしたタイマＴＰＲＥの値が「０」であるか否かを判別する。ＴＰＲＥ＞０である間は前記ステップＳ１２５に進む。ＴＰＲＥ＝０となると、ステップＳ１２３に進み、Ｏ２センサ出力ＳＶＯ２が第３所定電圧ＳＶＯ２ＳＯ２（例えば０．６Ｖ）以上であるか否かを判別する。その答が肯定（ＹＥＳ）であるとき直ちにステップＳ１２６に進む。ＳＶＯ２＜ＳＶＯ２ＳＯ２であるときは、ステップＳ１２１でスタートしたタイマＴＭＯＮＩＳＴの値が「０」であるか否かを判別する（ステップＳ１２４）。ＴＭＯＮＩＳＴ＞０である間は前記ステップＳ１２５に進み、ＴＭＯＮＩＳＴ＝０となると、ステップＳ１２６に進む。
【００７９】
ステップＳ１２６では、ステップＳ１２５でスタートしたタイマＴＲＩＣＨＤＬＹの値が「０」であるか否かをを判別する。ＴＲＩＣＨＤＬＹ＞０である間は、前記ステップＳ１３３に進んでリッチ運転を継続する。ＴＲＩＣＨＤＬＹ＝０となると、目標当量比の今回値ＫＣＭＤ（ｎ）をリーン側所定値ＫＯＳＯ２Ｌに設定する（ステップＳ１２７）。
【００８０】
次いで、目標当量比の今回値ＫＣＭＤ（ｎ）から前回値ＫＣＭＤ（ｎ−１）を減算することにより、変化量ＤＫＣＭＤＴを算出する（ステップＳ１２８）。ステップＳ１２９では、変化量ＤＫＣＭＤＴの絶対値が変化リミット値ＤＫＣＬ（例えば０．０００９７７）より大きいか否かを判別し、この答が肯定（ＹＥＳ）であるときは、目標当量比の今回値ＫＣＭＤ（ｎ）を、前回値ＫＣＭＤ（ｎ−１）から変化リミット値ＤＫＣＬを減算した値に変更する（ステップＳ１３０）。これにより、目標当量比ＫＣＭＤの急変が防止される。ステップＳ１２９で｜ＤＫＣＭＤＴ｜≦ＤＫＣＬであるときは、直ちにステップＳ１３１に進む。
なお、変化リミット値ＤＫＣＬは、エンジン回転数ＮＥに応じて、エンジン回転数ＮＥが高くなるほど減少するように設定してもよい。
【００８１】
ステップＳ１３１では、ＡＦリーンフラグＦＡＦＬＥＡＮを「１」に設定し、次いでＡＦリッチフラグＦＡＦＲＩＣＨを「０」に戻して（ステップＳ１３２）、本処理を終了する。
【００８２】
図１２及び図１３の処理によれば、劣化判定の実行条件が成立すると、先ず目標当量比ＫＣＭＤがリッチ側所定値ＫＯＳＯ２Ｈに向かって徐々に移行し、空燃比を理論空燃比よりリッチ側に設定するリッチ運転が、リッチ設定時間ＴＲＩＣＨに亘って実行される。この処理では、リッチ設定時間ＴＲＩＣＨは、（ＴＲＭＡＶ＋ＴＭＲＩＣＨＤＬＹ）から（ＴＲＭＡＶ＋ＴＭＲＩＣＨＤＬＹ＋ＴＭＭＯＮＩＳＴ）の間の値となる。
【００８３】
本実施形態では、ＬＡＦセンサ１４及びＯ２センサ１５が、それぞれ上流側酸素濃度センサ及び下流側酸素濃度センサに対応し、燃料噴射弁６がリッチ空燃比設定手段及び空燃比変更手段の一部を構成する。またＥＣＵ５が実行条件判定手段、リッチ空燃比設定手段及び空燃比変更手段の一部、むだ時間計測手段、判定閾値設定手段、変化時間計測手段、並びに判定手段を構成する。より具体的には、図６及び図７の処理が実行条件判定手段に相当し、図１２及び図１３のステップＳ１１１，Ｓ１１４〜Ｓ１１９がリッチ空燃比設定手段に相当し、図１３のステップＳ１２０〜Ｓ１３０が空燃比変更手段に相当し、図１１の処理がむだ時間計測手段に相当し、図４のステップＳ１６が判定閾値設定手段に相当し、図４のステップＳ１４，Ｓ１５，及びＳ１７が変化時間計測手段に相当し、図４のステップＳ１９〜Ｓ２４が判定手段に相当する。
【００８４】
なお本発明は上述した実施形態に限るものではなく、種々の変形が可能である。例えば、図１２及び図１３の処理によれば、目標当量比ＫＣＭＤを変更するときは、その変化量に制限が加えられる（ステップＳ１１６〜Ｓ１１８，Ｓ１２８〜Ｓ１３０）が、このような制限処理はなくてもよい。図２は、この制限処理がない場合に対応している。
【００８５】
また上述した実施形態では、目標当量比ＫＣＭＤ（目標空燃比）をリーン側所定値ＫＯＳＯ２Ｌに変更した時点（図２，時刻ｔ１）から、Ｏ２センサ出力ＳＶＯ２が第１所定電圧ＳＶＯ２Ｗまで低下する時点（時刻ｔ２）までをむだ時間ＴＮＲとしたが、図１４に示すように、時刻ｔ１より若干遅れてＬＡＦセンサ１４の出力ＰＶＯ２がリーン空燃比を示す値に変化する時刻ｔ１ａから、Ｏ２センサ出力ＳＶＯ２が第１所定電圧ＳＶＯ２Ｗまで低下する時点（時刻ｔ２）までをむだ時間ＴＮＲａとして計測し、このむだ時間ＴＮＲａに応じて上側判定閾値ＴＳＶＯＨ及び下側判定閾値ＴＳＶＯＬを設定するようにしてもよい。
【００８６】
またＬＡＦセンサ１４に代えて、Ｏ２センサ１５と同様の特性を有する酸素濃度センサを上流側酸素濃度センサとして使用してもよい。
【００８７】
【発明の効果】
以上詳述したように請求項１に記載の発明によれば、空燃比がリッチ空燃比からリーン空燃比に変更され、該変更時点から、下流側酸素濃度センサの出力が第１所定値に達するまでのむだ時間が計測される。次に下流側酸素濃度センサの出力が前記第１所定値から、前記第１所定値より高い酸素濃度を示す第２所定値に達するまでの変化時間が計測され、この変化時間が、前記むだ時間に応じて設定される判定閾値より大きいとき、下流側酸素濃度センサが劣化していると判定される。むだ時間（ＴＮＲ）及び変化時間（ＴＦＳ）は、排気浄化触媒の劣化が進んでいるときは短くなり、排気流量が小さいときは長くなる傾向があるので、このむだ時間に応じて判定閾値を設定することより、正確な判定を行うことができる。
【００８８】
請求項２に記載の発明によれば、空燃比がリッチ空燃比からリーン空燃比に変更され、該変更後に、上流側酸素濃度センサの出力が理論空燃比よりリーン側の空燃比を示す値に変化した時点から、下流側酸素濃度センサの出力が第１所定値に達するまでのむだ時間（ＴＮＲａ）が計測される。次に下流側酸素濃度センサの出力が前記第１所定値から、前記第１所定値より高い酸素濃度を示す第２所定値に達するまでの変化時間が計測され、この変化時間が、前記むだ時間（ＴＮＲａ）に応じて設定される判定閾値より大きいとき、下流側酸素濃度センサが劣化していると判定される。むだ時間（ＴＮＲａ）及び変化時間（ＴＦＳ）は、排気浄化触媒の劣化が進んでいるときは短くなり、排気流量が小さいときは長くなる傾向があるので、このむだ時間に応じて判定閾値を設定することより、正確な判定を行うことができる。
【００８９】
請求項３に記載の発明によれば、上側判定閾値及び該上側判定閾値より小さい下側判定閾値が、前記むだ時間に応じて設定され、前記変化時間が前記上側判定閾値より大きいとき、前記下流側酸素濃度センサが劣化していると判定され、前記変化時間が前記下側判定閾値より小さいときは、下流側酸素濃度センサは正常と判定され、前記変化時間が前記下側判定閾値以上でかつ前記上側判定閾値以下であるときは、判定が保留される。すなわち、確実な判定が困難であるときは、判定を保留するようにしたので、誤判定を防止することができる。
【００９０】
請求項４に記載の発明によれば、判定が保留されたときは、再度劣化判定が行われる。一度判定が保留された場合でも、機関運転状態が変化すれば、劣化または正常と判定できることがあるので、再度判定を行うことにより、判定保留となる割合を低下させ、正確な判定結果を早期に得ることができる。
【図面の簡単な説明】
【図１】図１は本発明の一実施形態にかかる内燃機関及びその制御装置の構成を示す図である。
【図２】本発明の劣化判定手法を説明するためのタイムチャートである。
【図３】むだ時間（ＴＮＲ）と変化時間（ＴＦＳ）との相関を示す図である。
【図４】酸素濃度センサの劣化を判定する処理のフローチャートである。
【図５】図４の処理で使用されるテーブルを示す図である。
【図６】図４の処理で実行される実行条件判定処理のフローチャートである。
【図７】図４の処理で実行される実行条件判定処理のフローチャートである。
【図８】図６の処理で実行される変動判定処理のフローチャートである。
【図９】図６の処理で実行される中断判定処理のフローチャートである。
【図１０】図６の処理で実行される再実行判定処理のフローチャートである。
【図１１】図４の処理で実行されるむだ時間計測処理のフローチャートである。
【図１２】目標当量比（ＫＣＭＤ）を算出する処理のフローチャートである。
【図１３】目標当量比（ＫＣＭＤ）を算出する処理のフローチャートである。
【図１４】変形例を説明するためのタイムチャートである。
【符号の説明】
１  内燃機関
５  電子制御ユニット（実行条件判定手段、リッチ空燃比設定手段、空燃比変更手段、むだ時間計測手段、判定閾値設定手段、変化時間計測手段、判定手段）
６  燃料噴射弁（リッチ空燃比設定手段、空燃比変更手段）
１２  排気通路
１４  酸素濃度センサ（上流側酸素濃度センサ）
１５  酸素濃度センサ（下流側酸素濃度センサ）
１６  三元触媒（排気浄化用触媒）
【図１】
2004324475.tif 000003
【図２】
2004324475.tif 000004
【図３】
2004324475.tif 000005
【図４】
2004324475.tif 000006
【図５】
2004324475.tif 000007
【図６】
2004324475.tif 000008
【図７】
2004324475.tif 000009
【図８】
2004324475.tif 000010
【図９】
2004324475.tif 000011
【図１０】
2004324475.tif 000012
【図１１】
2004324475.tif 000013
【図１２】
2004324475.tif 000014
【図１３】
2004324475.tif 000015
【図１４】
2004324475.tif 000016