(57)【特許請求の範囲】
【請求項１】
排気通路に触媒を備える内燃機関の制御装置であって、
前記触媒の上流で排気空燃比を検出するメインセンサと、
前記触媒の下流で排気空燃比を検出するサブセンサと、
前記触媒の上流における排気空燃比が理論空燃比を挟んで振動するように燃料噴射量を制御する噴射量制御手段と、
所定の運転条件下で燃料の噴射をカットするフューエルカット手段と、
前記フューエルカットが開始された後、前記サブセンサの出力が空気に対応する値となるまでに前記触媒に流れ込んだ酸素量を増加酸素量として算出する増加酸素量算出手段と、
前記増加酸素量を、前記触媒の最大酸素吸蔵量の５０％とみなす最大酸素吸蔵量算出手段と、を備え、
前記噴射量制御手段は、所定の条件下で、混合気の空燃比がリッチとなるように燃料の増量補正を行うリッチ運転実現手段を備え、
前記フューエルカットが、前記増量補正の後、所定期間内に実行された場合には、前記最大酸素吸蔵量算出手段による処理の実行を禁止する吸蔵量算出禁止手段を備えることを特徴とする内燃機関の制御装置。
【請求項２】
前記触媒の温度を取得する触媒温度取得手段と、
前記最大酸素吸蔵量を、前記温度に基づいて、前記触媒が標準温度である場合に確保される最大酸素吸蔵量に補正する吸蔵量補正手段と、
を含むことを特徴とする請求項１記載の内燃機関の制御装置。
【請求項３】
前記増加酸素量、或いは当該増加酸素量に基づいて算出される最大酸素吸蔵量が所定の判定値に満たない場合に、前記触媒の劣化を判定する触媒劣化判定手段を備えることを特徴とする請求項１または２記載の内燃機関の制御装置。
【請求項４】
前記フューエルカットが開始された後、第１判定時間が経過するまでに、前記メインセンサの出力がリーン出力とならなかった場合に、当該メインセンサの異常を判定するメインセンサ異常判定手段と、
前記フューエルカットが開始された後、第２判定時間が経過するまでに、前記サブセンサの出力がリーン出力とならなかった場合に、当該サブセンサの異常を判定するサブセンサ異常判定手段と、のうち少なくとも一方を備えることを特徴とする請求項１乃至３の何れか１項記載の内燃機関の制御装置。
【請求項５】
排気通路に触媒を備える内燃機関の制御装置であって、
前記触媒の最大酸素吸蔵量を取得する最大酸素吸蔵量取得手段と、
所定の運転条件下で燃料の噴射をカットするフューエルカット手段と、
前記フューエルカットの実行中に前記触媒に流れ込んだ流入酸素量を算出する流入酸素量算出手段と、
前記流入酸素量と、偏差ガード値とのうち、小さい方を酸素吸蔵量偏差の初期値とする偏差初期値設定手段と、
前記触媒上流における排気空燃比をリッチとするリッチ制御の実現手段と、
前記フューエルカットの終了後に、前記酸素吸蔵量偏差の初期値に相当する量の酸素が前記触媒から放出されるように、前記リッチ制御を実行するリッチ制御実行手段と、を備え、
前記偏差ガード値は、前記触媒の最大酸素吸蔵量の１／２以下であり、かつ、前記触媒に所望の還元能力を持たせるために必要な酸素吸蔵容量以上の値であることを特徴とする内燃機関の制御装置。
【請求項６】
内燃機関の始動時に、前記触媒が活性状態にあるか否かを判定する始動時活性状態判定手段を備え、
前記偏差初期値設定手段は、内燃機関の始動時に、前記触媒が活性状態であった場合には、前記偏差ガード値を前記酸素吸蔵量偏差の初期値に代入する強制設定手段を備えることを特徴とする請求項５記載の内燃機関の制御装置。
【請求項７】
前記リッチ制御実行手段は、前記フューエルカットの終了時に、前記酸素吸蔵量偏差の初期値が０より大きい場合に、前記リッチ制御を開始させるリッチ制御開始手段を備えることを特徴とする請求項５または６記載の内燃機関の制御装置。
【請求項８】
空燃比フィードバック係数を用いて燃料噴射量を算出する噴射量算出手段と、
前記触媒の上流における排気空燃比がリッチである場合に前記空燃比フィードバック係数を減少方向に更新し、前記触媒の上流における排気空燃比がリーンである場合に前記空燃比フィードバック係数を増大方向に更新するフィードバック係数更新手段と、を備え、
前記リッチ制御の実現手段は、
前記空燃比フィードバック係数を所定値だけ嵩上げすることで前記リッチ制御を実現する第１実現手段と、
前記空燃比フィードバック係数の増大速度を、その減少速度に比して早めることで前記リッチ制御を実現する第２実現手段と、
アイドル時には前記第１実現手段を選択し、非アイドル時には前記第２実現手段を選択する選択手段と、を備えることを特徴とする請求項７記載の内燃機関の制御装置。
【請求項９】
前記触媒が活性状態であるか否かを判別する触媒活性状態判定手段と、
前記触媒が活性状態でない場合には、前記リッチ制御の実行を禁止するリッチ制御実行禁止手段と、
を備えることを特徴とする請求項５乃至８の何れか１項記載の内燃機関の制御装置。
【請求項１０】
前記リッチ制御の実行に伴って前記触媒から放出される放出酸素量を算出する放出酸素量算出手段と、
前記酸素吸蔵量偏差の初期値から前記放出酸素量を減算して、酸素吸蔵量偏差を算出する偏差算出手段と、
前記酸素吸蔵量偏差が０以下となった時点で、前記リッチ制御を終了させるリッチ制御終了手段と、
を備えることを特徴とする請求項５乃至９の何れか１項記載の内燃機関の制御装置。
【請求項１１】
前記触媒の下流で排気空燃比を検出するサブセンサと、
前記リッチ制御の実行中に、前記触媒の下流でリッチな排気空燃比が検出された場合に、その時点で前記酸素吸蔵量偏差を０以下とする偏差リセット手段と、
を備えることを特徴とする請求項１０記載の内燃機関の制御装置。
【請求項１２】
前記触媒の下流で排気空燃比を検出するサブセンサと、
前記サブセンサの出力を燃料噴射量の算出に反映させるサブフィードバック手段と、
前記酸素吸蔵量偏差が所定値より大きな値である場合には、前記サブセンサの出力を前記燃料噴射量の算出に反映させる係数の更新を禁止するサブフィードバック禁止手段と、
を備えることを特徴とする請求項１０または１１記載の内燃機関の制御装置。
【請求項１３】
前記触媒の上流で排気空燃比を検出するメインセンサと、
前記触媒の下流で排気空燃比を検出するサブセンサと、
前記メインセンサの出力と前記サブセンサの出力との間に所定の相関が認められる場合に、前記触媒の劣化を判定する触媒劣化判定手段と、
前記酸素吸蔵量偏差が所定値より大きな値である場合には、前記触媒の劣化判定を禁止する触媒劣化判定禁止手段と、
を備えることを特徴とする請求項１０乃至１２の何れか１項記載の内燃機関の制御装置。
【請求項１４】
直列に配列された上流触媒と下流触媒とを含む触媒ユニットを排気通路に備える内燃機関の制御装置であって、
所定の運転条件下で燃料の噴射をカットするフューエルカット手段と、
前記フューエルカットの実行中に前記触媒ユニットに流れ込んだ酸素量をユニット流入酸素量として算出するユニット流入酸素量算出手段と、
前記ユニット流入酸素量と、ユニット偏差ガード値とのうち、小さい方を、前記触媒ユニットの酸素吸蔵量偏差の初期値とするユニット偏差初期値設定手段と、
前記上流触媒と前記下流触媒との間で排気空燃比を検出するサブセンサと、
前記フューエルカットの実行中、前記サブセンサの出力が空気に対応する値となった後に前記触媒ユニットに流れ込んだ酸素量を下流流入酸素量として算出する下流流入酸素量算出手段と、
前記下流流入酸素量と、下流偏差ガード値とのうち、小さい方を、前記下流触媒の酸素吸蔵量偏差の初期値とする下流偏差初期値設定手段と、
前記触媒ユニット上流における排気空燃比をリッチとするリッチ制御の実現手段と、
前記フューエルカットの終了後に、前記リッチ制御を実行するリッチ制御実行手段と、
前記リッチ制御の実行に伴って前記触媒ユニットから放出される酸素量を、ユニット放出酸素量として算出するユニット放出酸素量算出手段と、
前記触媒ユニットの酸素吸蔵量偏差の初期値から前記ユニット放出酸素量を減算して、ユニット酸素吸蔵量偏差を算出するユニット偏差算出手段と、
前記リッチ制御の実行中、前記サブセンサの出力がリッチ出力に変化した後に前記触媒ユニットから放出される酸素量を下流放出酸素量として算出する下流放出酸素量算出手段と、
前記下流触媒の酸素吸蔵量偏差の初期値から前記下流放出酸素量を減算して、下流酸素吸蔵量偏差を算出する下流偏差算出手段と、
前記ユニット酸素吸蔵量偏差および前記下流酸素吸蔵量偏差の少なくとも一方が０以下となった時点で、前記リッチ制御を終了させるリッチ制御終了手段と、
を備えることを特徴とする内燃機関の制御装置。
【請求項１５】
前記触媒ユニットの最大酸素吸蔵量を取得するユニット最大酸素吸蔵量取得手段を備え、
前記ユニット偏差ガード値は、前記触媒ユニットの最大酸素吸蔵量の１／２以下であり、かつ、前記触媒ユニットに所望の還元能力を持たせるために必要な酸素吸蔵容量以上の値であることを特徴とする請求項１４記載の内燃機関の制御装置。
【請求項１６】
前記下流触媒の最大酸素吸蔵量を取得する下流最大酸素吸蔵量取得手段を備え、
前記下流偏差ガード値は、前記下流触媒の最大酸素吸蔵量から前記触媒ユニットの最大酸素吸蔵量の１／２を減じた値以下であり、かつ、前記上流触媒の最大酸素吸蔵量との和が前記触媒ユニットに所望の還元能力を持たせるために必要な酸素吸蔵容量以上となるような値であることを特徴とする請求項１４または１５記載の内燃機関の制御装置。
【請求項１７】
前記上流触媒の上流で排気空燃比を検出するメインセンサと、
前記上流触媒の上流における排気空燃比が理論空燃比を挟んで振動するように燃料噴射量を制御する噴射量制御手段と、を備え、
前記ユニット最大酸素吸蔵量取得手段は、
前記フューエルカットが開始された後、前記サブセンサの出力が空気に対応する値となるまでに前記触媒ユニットに流れ込んだ酸素量を上流増加酸素量として算出する上流増加酸素量算出手段と、
前記上流増加酸素量を、前記上流触媒の最大酸素吸蔵量の５０％とみなして当該上流触媒の最大酸素吸蔵量を算出する上流最大酸素吸蔵量算出手段と、
前記下流触媒の最大酸素吸蔵量を取得する下流最大酸素吸蔵量取得手段と、
前記上流触媒の最大酸素吸蔵量と、前記下流触媒の最大酸素吸蔵量とを加算して前記ユニット最大酸素吸蔵量を算出する加算手段と、を備えることを特徴とする請求項１５または１６記載の内燃機関の制御装置。
【請求項１８】
前記下流触媒の下流で排気空燃比を検出する第２サブセンサと、
前記上流触媒の上流における排気空燃比が理論空燃比を挟んで振動するように燃料噴射量を制御する噴射量制御手段と、を備え、
前記下流最大酸素吸蔵量取得手段は、
前記フューエルカットの実行中、前記サブセンサの出力が空気に対応する値となった後、前記第２サブセンサの出力が空気に対応する値となるまでに前記触媒ユニットに流れ込んだ酸素量を下流増加酸素量として算出する下流増加酸素量算出手段と、
前記下流増加酸素量を、前記下流触媒の最大酸素吸蔵量の５０％とみなして当該下流触媒の最大酸素吸蔵量を算出する下流最大酸素吸蔵量算出手段と、を備えることを特徴とする請求項１６または１７記載の内燃機関の制御装置。
【請求項１９】
内燃機関の始動時に、前記触媒ユニットが活性状態にあるか否かを判定する始動時活性状態判定手段を備え、
前記ユニット偏差初期値設定手段は、内燃機関の始動時に、前記触媒ユニットが活性状態であった場合には、前記ユニット偏差ガード値を前記触媒ユニットの酸素吸蔵量偏差の初期値に代入する第１強制設定手段を備え、
前記下流偏差初期値設定手段は、内燃機関の始動時に、前記触媒ユニットが活性状態であった場合には、前記下流偏差ガード値を前記下流触媒の酸素吸蔵量偏差の初期値に代入する第２強制設定手段を備えることを特徴とする請求項１４乃至１８の何れか１項記載の内燃機関の制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内燃機関の制御装置に係り、特に、排気通路に触媒を備える内燃機関の制御に好適な制御装置に関する。
【０００２】
【従来の技術】
従来、例えば特開平８−１９３５３７号公報に開示されるように、内燃機関の排気通路に触媒を配置し、内燃機関から排出される排気ガスをその触媒により浄化するシステムが知られている。排気ガスの浄化に用いられる触媒は、その内部に適量の酸素を吸蔵することができ、排気ガスにNOxが含まれている場合は、酸素を吸蔵することでそのN0xを還元し、また、排気ガスにHCやCOが含まれている場合は、酸素を放出することでそれらを酸化することができる。このため、上記のシステムよれば、NOxやCH、或いはHCなどの排出量を十分に小さく抑制することができる。
【０００３】
排気通路に配置された触媒が、適正な浄化能力を発揮するためには、触媒内部に適量の酸素が吸蔵されており、かつ、触媒の酸素吸能力に余力が残されていることが必要である。内燃機関の通常の制御では、排気空燃比が、理論空燃比を挟んでリーン側およびリッチに振動するように燃料噴射量の制御が行われる。つまり、NOxを含む排気ガスとHCやCOを含む排気ガスが交互に排出されるように燃料噴射量が制御される。この場合、触媒の酸素吸蔵状態が常に適正な状態に保たれるため、良好な浄化能力が継続的に発揮される。
【０００４】
ところで、車載用の内燃機関において、燃料の供給が不要な場合には、フューエルカットの制御が行われる。フューエルカットの間は、排気通路に空気が流通する。このため、フューエルカットがある程度の時間継続して行われると、触媒は、酸素を一杯に吸蔵した状態となる。
【０００５】
触媒内部に酸素が一杯に吸蔵されている状態で、NOxを含む排気ガスが排出された場合、そのNOxは還元されることなく触媒を吹き抜けてしまう。そこで、従来のシステムでは、そのような吹き抜けを防止するため、フューエルカットの終了直後から、所定期間に渡って、混合気の空燃比を強制的にリッチとするリッチ制御が実行される。
【０００６】
リッチ制御の実行中は、HCやCOを含む排気ガスが排出される。その間、触媒は、HCやCOを酸化するために酸素を放出する。その結果、リッチ制御が適当な期間行われると、触媒は、適量の酸素を吸蔵した状態に復帰する。そして、触媒がその状態に復帰した後に通常の燃料噴射量制御を再開すれば、HCやCOを排出することなく、フューエルカットの直後を含めて、継続的に良好な排気エミッション特性を維持することができる。
【０００７】
上記従来のシステムにおいて、リッチ制御の実行期間を適切に制御するためには、触媒の最大酸素吸蔵量を学習することが必要である。従来のシステムでは、この要求を満たすために、所定の実行条件が成立する場合に、混合気の空燃比を所定期間に渡って強制的にリッチおよびリーンに固定する処理が行われる。
【０００８】
混合気の空燃比が強制的にリッチに固定された場合、触媒内に酸素が残存している間は、触媒下流にHCやCOは流出しない。一方、触媒内の吸蔵酸素が全て放出されると、触媒下流にHCやCOを含むガスが流出してくる。従って、混合気の空燃比を強制的にリッチに固定すると、その後、触媒下流における排気空燃比を監視することで、触媒内に吸蔵されている全ての酸素が放出された時点を検知することができる。
【０００９】
混合気の空燃比が強制的にリーンに固定された場合、触媒の酸素吸蔵能力に余力がある間は、触媒下流にNOxは流出しない。一方、その酸素吸蔵能力が使い果たされ、触媒に酸素が一杯に吸蔵された状態になると、以後、触媒下流にNOxを含むガスが流出してくる。従って、混合気の空燃比を強制的にリーンに固定すると、その後、触媒下流における排気空燃比を監視することで、触媒の酸素吸蔵能力が使い果たされた時点を検知することができる。
【００１０】
従来のシステムは、混合気の空燃比を強制的にリッチ或いはリーンに固定することで、触媒内の酸素が全て放出された状態と、触媒が酸素を一杯に吸蔵した状態とを交互に実現する。そして、それらの状態が入れ替わる間に、触媒に流入した酸素の総量、或いは触媒から放出された酸素の総量を算出する。この場合、その算出値は、触媒が空の状態から一杯の状態になるまでに吸蔵し得る酸素の量、すなわち、触媒の最大酸素吸蔵量に対応する。このように、従来のシステムによれば、空燃比を強制的にリッチまたはリーンに固定することで、最大酸素吸蔵量を求めることができる。
【００１１】
【発明が解決しようとする課題】
しかし、内燃機関において、混合気の空燃比を強制的にリッチまたはリーンに固定することは、極めて限られた状況下で許容されるに過ぎない。このため、上記従来のシステムでは、最大酸素吸蔵量を所望の頻度で算出することが困難であり、最大酸素吸蔵量として記憶されている値が、現実の最大酸素吸蔵量から乖離し易いという問題が生じ易い。
【００１２】
更に、上記従来のシステムでは、上述した最大酸素吸蔵量の乖離などが原因となり、フューエルカットの後に、リッチ制御が過剰に実行されることがある。リッチ制御が過剰に実行されると、その制御が終了される時点で、触媒内の酸素吸蔵量は過小となる。この場合、HCやCOに対する触媒の酸化能力が不十分となり、リッチな排気ガスを適正に浄化し得ない事態が生じ得る。
【００１３】
本発明は、上記のような課題を解決するためになされたもので、触媒の浄化能力を常に適正に維持するための内燃機関の制御装置を提供することを目的とする。
【００１４】
【課題を解決するための手段】
請求項１記載の発明は、上記の目的を達成するため、であって、排気通路に触媒を備える内燃機関の制御装置であって、
前記触媒の上流で排気空燃比を検出するメインセンサと、
前記触媒の下流で排気空燃比を検出するサブセンサと、
前記触媒の上流における排気空燃比が理論空燃比を挟んで振動するように燃料噴射量を制御する噴射量制御手段と、
所定の運転条件下で燃料の噴射をカットするフューエルカット手段と、
前記フューエルカットが開始された後、前記サブセンサの出力が空気に対応する値となるまでに前記触媒に流れ込んだ酸素量を増加酸素量として算出する増加酸素量算出手段と、
前記増加酸素量を、前記触媒の最大酸素吸蔵量の５０％とみなす最大酸素吸蔵量算出手段と、を備え、
前記噴射量制御手段は、所定の条件下で、混合気の空燃比がリッチとなるように燃料の増量補正を行うリッチ運転実現手段を備え、
前記フューエルカットが、前記増量補正の後、所定期間内に実行された場合には、前記最大酸素吸蔵量算出手段による処理の実行を禁止する吸蔵量算出禁止手段を備えることを特徴とする。
【００１５】
請求項２記載の発明は、請求項１記載の内燃機関の制御装置であって、
前記触媒の温度を取得する触媒温度取得手段と、
前記最大酸素吸蔵量を、前記温度に基づいて、前記触媒が標準温度である場合に確保される最大酸素吸蔵量に補正する吸蔵量補正手段と、
を含むことを特徴とする。
【００１６】
請求項３記載の発明は、請求項１または２記載の内燃機関の制御装置であって、
前記噴射量制御手段は、所定の条件下で、混合気の空燃比がリッチとなるように燃料の増量補正を行うリッチ運転実現手段を備え、
前記フューエルカットが、前記増量補正の後、所定期間内に実行された場合には、前記最大酸素吸蔵量算出手段による処理の実行を禁止する吸蔵量算出禁止手段を備えることを特徴とする。
【００１７】
請求項３記載の発明は、請求項１または２記載の内燃機関の制御装置であって、前記増加酸素量、或いは当該増加酸素量に基づいて算出される最大酸素吸蔵量が所定の判定値に満たない場合に、前記触媒の劣化を判定する触媒劣化判定手段を備えることを特徴とする。
【００１８】
請求項４記載の発明は、請求項１乃至３の何れか１項記載の内燃機関の制御装置であって、
前記フューエルカットが開始された後、第１判定時間が経過するまでに、前記メインセンサの出力がリーン出力とならなかった場合に、当該メインセンサの異常を判定するメインセンサ異常判定手段と、
前記フューエルカットが開始された後、第２判定時間が経過するまでに、前記サブセンサの出力がリーン出力とならなかった場合に、当該サブセンサの異常を判定するサブセンサ異常判定手段と、のうち少なくとも一方を備えることを特徴とする。
【００１９】
請求項５記載の発明は、排気通路に触媒を備える内燃機関の制御装置であって、
前記触媒の最大酸素吸蔵量を取得する最大酸素吸蔵量取得手段と、
所定の運転条件下で燃料の噴射をカットするフューエルカット手段と、
前記フューエルカットの実行中に前記触媒に流れ込んだ流入酸素量を算出する流入酸素量算出手段と、
前記流入酸素量と、偏差ガード値とのうち、小さい方を酸素吸蔵量偏差の初期値とする偏差初期値設定手段と、
前記触媒上流における排気空燃比をリッチとするリッチ制御の実現手段と、
前記フューエルカットの終了後に、前記酸素吸蔵量偏差の初期値に相当する量の酸素が前記触媒から放出されるように、前記リッチ制御を実行するリッチ制御実行手段と、を備え、
前記偏差ガード値は、前記触媒の最大酸素吸蔵量の１／２以下であり、かつ、前記触媒に所望の還元能力を持たせるために必要な酸素吸蔵容量以上の値であることを特徴とする。
【００２０】
請求項６記載の発明は、請求項５記載の内燃機関の制御装置であって、
内燃機関の始動時に、前記触媒が活性状態にあるか否かを判定する始動時活性状態判定手段を備え、
前記偏差初期値設定手段は、内燃機関の始動時に、前記触媒が活性状態であった場合には、前記偏差ガード値を前記酸素吸蔵量偏差の初期値に代入する強制設定手段を備えることを特徴とする。
【００２１】
請求項７記載の発明は、請求項５または６記載の内燃機関の制御装置であって、
前記リッチ制御実行手段は、前記フューエルカットの終了時に、前記酸素吸蔵量偏差の初期値が０より大きい場合に、前記リッチ制御を開始させるリッチ制御開始手段を備えることを特徴とする。
【００２２】
請求項８記載の発明は、請求項７記載の内燃機関の制御装置であって、
空燃比フィードバック係数を用いて燃料噴射量を算出する噴射量算出手段と、
前記触媒の上流における排気空燃比がリッチである場合に前記空燃比フィードバック係数を減少方向に更新し、前記触媒の上流における排気空燃比がリーンである場合に前記空燃比フィードバック係数を増大方向に更新するフィードバック係数更新手段と、を備え、
前記リッチ制御の実現手段は、
前記空燃比フィードバック係数を所定値だけ嵩上げすることで前記リッチ制御を実現する第１実現手段と、
前記空燃比フィードバック係数の増大速度を、その減少速度に比して早めることで前記リッチ制御を実現する第２実現手段と、
アイドル時には前記第１実現手段を選択し、非アイドル時には前記第２実現手段を選択する選択手段と、を備えることを特徴とする。
【００２３】
請求項９記載の発明は、請求項５乃至８の何れか１項記載の内燃機関の制御装置であって、
前記触媒が活性状態であるか否かを判別する触媒活性状態判定手段と、
前記触媒が活性状態でない場合には、前記リッチ制御の実行を禁止するリッチ制御実行禁止手段と、
を備えることを特徴とする。
【００２４】
請求項１０記載の発明は、請求項５乃至９の何れか１項記載の内燃機関の制御装置であって、
前記リッチ制御の実行に伴って前記触媒から放出される放出酸素量を算出する放出酸素量算出手段と、
前記酸素吸蔵量偏差の初期値から前記放出酸素量を減算して、酸素吸蔵量偏差を算出する偏差算出手段と、
前記酸素吸蔵量偏差が０以下となった時点で、前記リッチ制御を終了させるリッチ制御終了手段と、
を備えることを特徴とする。
【００２５】
請求項１１記載の発明は、請求項１０記載の内燃機関の制御装置であって、
前記触媒の下流で排気空燃比を検出するサブセンサと、
前記リッチ制御の実行中に、前記触媒の下流でリッチな排気空燃比が検出された場合に、その時点で前記酸素吸蔵量偏差を０以下とする偏差リセット手段と、
を備えることを特徴とする。
【００２６】
請求項１２記載の発明は、請求項１０または１１記載の内燃機関の制御装置であって、
前記触媒の下流で排気空燃比を検出するサブセンサと、
前記サブセンサの出力を燃料噴射量の算出に反映させるサブフィードバック手段と、
前記酸素吸蔵量偏差が所定値より大きな値である場合には、前記サブセンサの出力を前記燃料噴射量の算出に反映させる係数の更新を禁止するサブフィードバック禁止手段と、
を備えることを特徴とする。
【００２７】
請求項１３記載の発明は、請求項１０乃至１２の何れか１項記載の内燃機関の制御装置であって、
前記触媒の上流で排気空燃比を検出するメインセンサと、
前記触媒の下流で排気空燃比を検出するサブセンサと、
前記メインセンサの出力と前記サブセンサの出力との間に所定の相関が認められる場合に、前記触媒の劣化を判定する触媒劣化判定手段と、
前記酸素吸蔵量偏差が所定値より大きな値である場合には、前記触媒の劣化判定を禁止する触媒劣化判定禁止手段と、
を備えることを特徴とする。
【００２８】
請求項１４記載の発明は、直列に配列された上流触媒と下流触媒とを含む触媒ユニットを排気通路に備える内燃機関の制御装置であって、
所定の運転条件下で燃料の噴射をカットするフューエルカット手段と、
前記フューエルカットの実行中に前記触媒ユニットに流れ込んだ酸素量をユニット流入酸素量として算出するユニット流入酸素量算出手段と、
前記ユニット流入酸素量と、ユニット偏差ガード値とのうち、小さい方を、前記触媒ユニットの酸素吸蔵量偏差の初期値とするユニット偏差初期値設定手段と、
前記上流触媒と前記下流触媒との間で排気空燃比を検出するサブセンサと、
前記フューエルカットの実行中、前記サブセンサの出力が空気に対応する値となった後に前記触媒ユニットに流れ込んだ酸素量を下流流入酸素量として算出する下流流入酸素量算出手段と、
前記下流流入酸素量と、下流偏差ガード値とのうち、小さい方を、前記下流触媒の酸素吸蔵量偏差の初期値とする下流偏差初期値設定手段と、
前記触媒ユニット上流における排気空燃比をリッチとするリッチ制御の実現手段と、
前記フューエルカットの終了後に、前記リッチ制御を実行するリッチ制御実行手段と、
前記リッチ制御の実行に伴って前記触媒ユニットから放出される酸素量を、ユニット放出酸素量として算出するユニット放出酸素量算出手段と、
前記触媒ユニットの酸素吸蔵量偏差の初期値から前記ユニット放出酸素量を減算して、ユニット酸素吸蔵量偏差を算出するユニット偏差算出手段と、
前記リッチ制御の実行中、前記サブセンサの出力がリッチ出力に変化した後に前記触媒ユニットから放出される酸素量を下流放出酸素量として算出する下流放出酸素量算出手段と、
前記下流触媒の酸素吸蔵量偏差の初期値から前記下流放出酸素量を減算して、下流酸素吸蔵量偏差を算出する下流偏差算出手段と、
前記ユニット酸素吸蔵量偏差および前記下流酸素吸蔵量偏差の少なくとも一方が０以下となった時点で、前記リッチ制御を終了させるリッチ制御終了手段と、
を備えることを特徴とする。
【００２９】
請求項１５記載の発明は、請求項１４記載の内燃機関の制御装置であって、
前記触媒ユニットの最大酸素吸蔵量を取得するユニット最大酸素吸蔵量取得手段を備え、
前記ユニット偏差ガード値は、前記触媒ユニットの最大酸素吸蔵量の１／２以下であり、かつ、前記触媒ユニットに所望の還元能力を持たせるために必要な酸素吸蔵容量以上の値であることを特徴とする。
【００３０】
請求項１６記載の発明は、請求項１４または１５記載の内燃機関の制御装置であって、
前記下流触媒の最大酸素吸蔵量を取得する下流最大酸素吸蔵量取得手段を備え、
前記下流偏差ガード値は、前記下流触媒の最大酸素吸蔵量から前記触媒ユニットの最大酸素吸蔵量の１／２を減じた値以下であり、かつ、前記上流触媒の最大酸素吸蔵量との和が前記触媒ユニットに所望の還元能力を持たせるために必要な酸素吸蔵容量以上となるような値であることを特徴とする。
【００３１】
請求項１７記載の発明は、請求項１５または１６記載の内燃機関の制御装置であって、
前記上流触媒の上流で排気空燃比を検出するメインセンサと、
前記上流触媒の上流における排気空燃比が理論空燃比を挟んで振動するように燃料噴射量を制御する噴射量制御手段と、を備え、
前記ユニット最大酸素吸蔵量取得手段は、
前記フューエルカットが開始された後、前記サブセンサの出力が空気に対応する値となるまでに前記触媒ユニットに流れ込んだ酸素量を上流増加酸素量として算出する上流増加酸素量算出手段と、
前記上流増加酸素量を、前記上流触媒の最大酸素吸蔵量の５０％とみなして当該上流触媒の最大酸素吸蔵量を算出する上流最大酸素吸蔵量算出手段と、
前記下流触媒の最大酸素吸蔵量を取得する下流最大酸素吸蔵量取得手段と、
前記上流触媒の最大酸素吸蔵量と、前記下流触媒の最大酸素吸蔵量とを加算して前記ユニット最大酸素吸蔵量を算出する加算手段と、を備えることを特徴とする。
【００３２】
請求項１８記載の発明は、請求項１６または１７記載の内燃機関の制御装置であって、
前記下流触媒の下流で排気空燃比を検出する第２サブセンサと、
前記上流触媒の上流における排気空燃比が理論空燃比を挟んで振動するように燃料噴射量を制御する噴射量制御手段と、を備え、
前記下流最大酸素吸蔵量取得手段は、
前記フューエルカットの実行中、前記サブセンサの出力が空気に対応する値となった後、前記第２サブセンサの出力が空気に対応する値となるまでに前記触媒ユニットに流れ込んだ酸素量を下流増加酸素量として算出する下流増加酸素量算出手段と、
前記下流増加酸素量を、前記下流触媒の最大酸素吸蔵量の５０％とみなして当該下流触媒の最大酸素吸蔵量を算出する下流最大酸素吸蔵量算出手段と、を備えることを特徴とする。
【００３３】
請求項１９記載の発明は、請求項１４乃至１８の何れか１項記載の内燃機関の制御装置であって、
内燃機関の始動時に、前記触媒ユニットが活性状態にあるか否かを判定する始動時活性状態判定手段を備え、
前記ユニット偏差初期値設定手段は、内燃機関の始動時に、前記触媒ユニットが活性状態であった場合には、前記ユニット偏差ガード値を前記触媒ユニットの酸素吸蔵量偏差の初期値に代入する第１強制設定手段を備え、
前記下流偏差初期値設定手段は、内燃機関の始動時に、前記触媒ユニットが活性状態であった場合には、前記下流偏差ガード値を前記下流触媒の酸素吸蔵量偏差の初期値に代入する第２強制設定手段を備えることを特徴とする。
【００３４】
【発明の実施の形態】
以下、図面を参照してこの発明の実施の形態について説明する。尚、各図において共通する要素には、同一の符号を付して重複する説明を省略する。
【００３５】
先ず、本発明の実施の形態において使用され得るシステムの構成について説明する。
図１は、本発明の実施の形態において使用され得る典型的なシステム構成の１例を示す。図１に示す構成は、内燃機関１０を備えている。内燃機関１０には、吸気通路１２および排気通路１４が連通している。吸気通路１２は、上流側の端部にエアフィルタ１６を備えている。
【００３６】
エアフィルタ１６の下流には、エアフロメータ２０が配置されている。エアフロメータ２０は、吸気通路１２を流れる吸入空気量Gaを検出するセンサである。エアフロメータ２０の下流には、スロットルバルブ２２が設けられている。スロットルバルブ２２の近傍には、スロットル開度TAを検出するスロットルセンサ２４と、スロットルバルブ２２が全閉となることでオンとなるアイドルスイッチ２６とが配置されている。
【００３７】
スロットルバルブ２２の下流には、サージタンク２８が設けられている。また、サージタンクの更に下流には、内燃機関１０の吸気ポートに燃料を噴射するための燃料噴射弁３０が配置されている。
【００３８】
排気通路１４には、触媒３２が連通している。触媒３２は、ある程度の酸素を吸蔵することができ、排気ガス中にHCやCOなどの未燃成分が含まれている場合は、吸蔵している酸素を用いてそれらを酸化し、また、排気ガス中にNOxなどの酸化成分が含まれている場合は、それらを還元し、放出された酸素を吸蔵することができる。内燃機関１０から排出される排気ガスは、触媒３２の内部で上記の如く処理されることにより浄化される。
【００３９】
排気通路１４には、また、触媒３２の上流および下流に、メインO２センサ３４とサブO２センサ３６が配置されている。メインO２センサ３４およびサブO２センサ３６は、何れも、被検出ガス中の酸素濃度に応じて出力を変化させるセンサであり、排気空燃比がリッチとなると、以後、その空燃比がリーンになるまで１V近傍の電圧を発生し、また、排気空燃比がリーンになると、以後、その空燃比がリッチになるまで０．１V程度の電圧を発生するセンサである。
【００４０】
メインO２センサ３４によれば、触媒３２の上流における排気空燃比がリッチであるかリーンであるか、すなわち、内燃機関１０から排出されてくる排気ガスがリッチであるのか、或いはリーンであるかを検出することができる。また、サブO２センサ３６によれば、触媒３２の下流に、空燃比のリッチな排気ガス（HC、COを含む排気ガス）が流出してきたか、或いは空燃比のリーンな排気ガス（NOxを含む排気ガス）が流出してきたかを判断することができる。
【００４１】
本実施形態のシステムは、図１に示すように、ECU(Electronic Control Unit)４０を備えている。ECU４０には、上述した各種センサおよび燃料噴射弁３０に加えて、内燃機関１０の冷却水温THWを検出する水温センサ４２が接続されている。
【００４２】
図２は、本発明の実施の形態において使用され得る構成の変形例を、簡略化して示した図である。上記図１に示すシステムは、既述の通り、内燃機関１０の排気通路１４に、１つの触媒３２と２つのO２センサ３４，３６を備えている。図２（Ｂ）に示す構成は、このシステムの構成を表しているものとする。以下、この構成を「１触媒２センサ構成」と称す。
【００４３】
図２（Ａ）は、内燃機関１０の排気通路１４に、１つの触媒３２と１つのO２センサ３４を備えている。この構成は、図１に示すシステム構成から、サブO２センサ３６を取り除いた構成を表しているものとする。以下、この構成を「１触媒１センサ構成」と称す。
【００４４】
図２（Ｃ）は、内燃機関１０の排気通路１４に、２つの触媒３２，４４と２つのO２センサ３４,３６を備えている。この構成は、図１に示すシステム構成において、サブO２センサ３６の下流に２つ目の触媒４４を付け加えた構成を表しているものとする。以下、この構成を「２触媒２センサ構成」と称す。
【００４５】
図２（Ｄ）は、内燃機関１０の排気通路１４に、２つの触媒３２，４４と３つのO２センサ３４,３６，４８を備えている。この構成は、図１に示すシステム構成において、サブO２センサ３６の下流に２つ目の触媒４４を付け加え、その更に下流に第２サブO２センサ４８を付け加えた構成を表しているものとする。以下、この構成を「２触媒３センサ構成」と称す。
【００４６】
尚、以下の記載において、図２（Ｃ）に示す２触媒２センサ構成、或いは図２（Ｄ）に示す２触媒３センサ構成について説明する場合には、２つの触媒３２，４４を区別するため、上流側の触媒３２および下流側の触媒４４を、それぞれ「上流触媒３２」および「下流触媒４４」と称することとする。更に、上流触媒３２と下流触媒４４を総称する場合には、それらを「触媒ユニット４６」と称するものとする。
【００４７】
ところで、上述したシステムの構成では、排気空燃比を検出するセンサとして、排気空燃比がリッチであるかリーンであるかを検出するO２センサを利用しているが、そのセンサはこれに限定されるものではない。すなわち、図１および図２に示す構成に含まれるO２センサは、排気空燃比に応じた信号を発生する空燃比センサで置き換えることとしてもよい。
【００４８】
実施の形態１．
次に、図３乃至図２１を参照して、本発明の実施の形態１について説明する。
本実施形態のシステムは、図１および図２（Ｂ）に示す構成、すなわち、１触媒２センサ構成を用いて実現することができる。
図３は、本実施形態のシステムにおいて、ECU４０により実行される主な処理の流れを説明するためのフローチャートである。
【００４９】
図３に示す通り、本実施形態のシステムでは、先ず、触媒３２の最大酸素吸蔵量（触媒酸素吸蔵能力）の算出処理が行われる（Ｓ１００）。
ECU４０は、機関回転数NEが高く、スロットルバルブ２２が全閉とされているような場合に、燃料噴射弁３０からの燃料噴射を停止する処理、すなわち、フューエルカットを行う。本工程Ｓ１００では、そのフューエルカットの際に、後述する手法で、触媒３２の最大酸素吸蔵量が算出される。
【００５０】
次に、触媒酸素吸蔵量偏差の初期値が算出される（Ｓ２００）。
酸素吸蔵量偏差とは、触媒３２の平均的な酸素吸蔵量、或いは、触媒３２が所望の還元能力を発揮するための酸素吸蔵量の上限と、現実の酸素吸蔵量の推定値との偏差を意味する概念である。換言すると、酸素吸蔵量偏差は、触媒３２に所望の還元能力を付与するために、触媒３２から放出させるべき酸素量を意味する値である。本工程Ｓ２００では、フューエルカットの終了時等に、後述する手法により酸素吸蔵量偏差が算出されると共に、その算出値が酸素吸蔵量偏差の初期値として記録される。
【００５１】
次に、リッチ制御が実行される（Ｓ３００）。
触媒３２に吸蔵された酸素は、空燃比のリッチな排気ガスを触媒３２に供給することで放出させることができる。リッチ制御は、酸素吸蔵量偏差を減らすべく、空燃比のリッチな排気ガスを触媒３２に供給するために実行される処理である。尚、リッチ制御の内容は、後に詳細に説明する。
【００５２】
次に、触媒３２の酸素吸蔵量偏差を減算するための処理が行われる（Ｓ４００）。
触媒３２の酸素吸蔵量は、リッチ制御の実行に伴って減少する。従って、所望の還元能力を与えるために触媒３２から放出させるべき酸素の量、すなわち、酸素吸蔵量偏差は、リッチ制御の実行に伴って減少する。本工程Ｓ４００では、後述する手法に従って、リッチ制御の過程で触媒３２から放出される酸素の量が算出される。そして、酸素吸蔵量偏差の初期値からその放出量を減じることにより、酸素吸蔵量偏差が実状に適合した値に更新される。
【００５３】
次に、関連制御の制限に関する処理が行われる（Ｓ５００）。
本実施形態のシステムは、サブO２センサ３６の出力をいくつかの関連制御に利用している。サブ0２センサ３６は、触媒３２の下流に位置しているため、その出力は、触媒３２の酸素吸蔵状態の影響を受ける。従って、フューエルカットの実行に伴って触媒３２内部に酸素が過剰に吸蔵されているときは、サブO２センサ３６の出力が通常時と異なった値となることがある。本工程Ｓ５００では、そのような状況下で関連制御が不当に進められることがないように、触媒３２が酸素過多である場合に、関連制御の実行を制限するための処理が行われる。
【００５４】
以下、図４乃至図８を参照して、図３に示すＳ１００の内容、すなわち、本実施形態のシステムが、触媒３２の最大酸素吸蔵量を算出する手法を説明する。
図４は、フューエルカット（図４（Ａ））の前後で、メインO２センサ３４の出力に生ずる変化（図４（Ｂ））、およびサブO２センサ３６の出力に生ずる変化（図４（Ｃ））を示す。
【００５５】
図４（Ａ）は、時刻t1においてフューエルカットが行われたことを示している。また、図４（Ｂ）は、フューエルカットが行われるまで（時刻t1以前）は、ECU４０によって、メインO２センサ３４の出力に基づく空燃比フィードバック制御が実行されていたことを示している。
【００５６】
空燃比フィードバック制御は、空燃比フィードバック係数FAFを用いて燃料噴射時間TAUを補正するための制御である。ここで、空燃比フィードバック係数FAFは、燃料噴射時間TAUを伸縮させるための補正係数であり、例えば、混合気の空燃比がリッチである間、すなわち、メインO２センサ３４がリッチ出力（約１V）を発している間は、燃料噴射時間TAUを短縮すべく徐々に小さな値に更新される。FAFがこのように短縮方向に更新されると、燃料噴射時間TAUが僅かずつ減少し、混合気の空燃比がやがてリーンとなり、その結果、メインO２センサ３４の出力がリーン出力（約０．１V）に反転する。
【００５７】
メインO２センサ３４の出力がリーン出力に反転すると、空燃比フィードバック係数FAFは、その時点で大きく増加方向にスキップされる。そして、メインO２センサ３４の出力がリッチ出力に反転するまで、すなわち、混合気の空燃比がリッチとなるまで、FAFは徐々に大きな値に更新される。その結果、燃料噴射時間TAUが僅かずつ増加し、混合気の空燃比がやがてリッチとなり、メインO２センサ３４の出力がリッチ出力（約１V）に反転する。メインO２センサ３４の出力がリッチ出力に反転すると、空燃比フィードバック係数FAFがその時点で大きく減少方向にスキップされる。以後、上述した更新処理が繰り返し実行されることにより、混合気の空燃比が理論空燃比の近傍に維持される。その結果、メインO２センサ３４の出力は、図４（Ｂ）中、時刻t1以前に示すように反転を繰り返し、また、混合気の空燃比（触媒３２の上流における排気空燃比）は、ほぼ理論空燃比を中心として増減を繰り返す。
【００５８】
空燃比フィードバック制御の実行中、触媒３２の上流における排気空燃比がリッチである間は、排気ガスに含まれるHCやCOを酸化するため、触媒３２内の吸蔵酸素が消費（放出）される。一方、空燃比フィードバック制御の実行中、触媒３２の上流における排気空燃比がリーンである間は、NOxの還元に伴って生ずる酸素が触媒３２内に吸蔵される。このため、空燃比フィードバック制御の実行中は、触媒３２内の吸蔵酸素量が増減を繰り返し、結果的に、適正な状態、すなわち、所望の酸化能力を発揮するために必要な量の酸素が触媒３２内に確保されており、かつ、所望の還元能力を発揮するために必要な酸素吸蔵能力が触媒３２に残されている状態が維持されている。
【００５９】
内燃機関１０においてフューエルカットが実行されると、その後、排気通路１４には空気が流通する。その結果、図４（Ｂ）に示すように、時刻t1の後、メインO２センサ３４の出力は空気中の酸素濃度に応じた値に変化する。この際、その出力は、具体的には、空燃比フィードバック制御の実行中に出力されるリーン出力（０．１V）に比して十分に小さな値（０V近傍）にまで低下する。従って、メインO２センサ３４の出力を監視すれば、フューエルカットが開始された後、現実に触媒３２に空気が流入し始めたタイミング（時刻t2）を検知することができる。
【００６０】
排気通路１４に空気が流通し始めると、空気中の酸素が触媒３２に吸蔵され、触媒３２内の吸蔵酸素量が急増する。そして、触媒３２が能力一杯に酸素を吸蔵すると、すなわち、触媒３２内の酸素吸蔵量が最大酸素吸蔵量に達すると、内燃機関１０から排出された空気と同じ成分の空気が触媒３２の下流に吹き抜け始める。その結果、図４（Ｃ）に示すように、サブO２センサ３６の出力は、空気中の酸素濃度に応じた値に変化する。従って、サブO２センサ３６の出力を監視すれば、能力一杯の酸素が触媒３２に吸蔵されたタイミング（時刻t3）を検知することができる。
【００６１】
ところで、図４は、フューエルカットの実行前に、サブO２センサ３６がリッチ出力（約１V）を発していた場合のタイミングチャートである。これに対して、フューエルカットの実行前にサブO２センサ３６がリーン出力（約0.1V）を発していた場合のタイミングチャートを図５に示す。図５（Ｃ）に示すように、サブO２センサ３６が空気に対して出力する値（約０V）は、そのセンサ３６が空燃比フィードバック制御の実行中に発するリーン出力に比して十分に小さな値である。従って、フューエルカットの実行前にサブO２センサ３６がリーン出力（約0.1V）を発していた場合にも、その出力を監視することで、触媒３２の酸素吸蔵量が最大酸素吸蔵量に達したタイミング（時刻t3）を検知することができる。
【００６２】
上述の如く、本実施形態のシステムでは、メインO２センサ３４の出力を監視することで、触媒３２の上流に空気が到達したタイミングを検知し、また、サブO２センサ３６の出力を監視することで、触媒３２が能力一杯に酸素を吸蔵したタイミングを検知することができる。より具体的には、メインO２センサ３４の出力が通常時には生じない値（例えば0.1V）にまで低下した時点（時刻t2）を触媒３２の上流に空気が到達したタイミングとして検知し、また、サブO２センサ３６の出力が通常時には生じない値（例えば0.1V）にまで低下した時点（時刻t2）を触媒３２が能力一杯に酸素を吸蔵したタイミングとして検知することができる。従って、図４または図５に示す例においては、時刻t2から時刻t3までの期間を、フューエルカットの過程で触媒３２が新たに酸素を吸着した期間と捕らえることができる。
【００６３】
図６は、本実施形態のシステムにおいて、フューエルカットの前後で触媒３２の酸素吸蔵量に生ずる変化のイメージを説明するための図である。
図６（Ａ）は、フューエルカットが実行される前、すなわち、フィードバック運転時における触媒３２の状態を表した図である。この図において、符号▲１▼を付して示す帯域は、フィードバック運転時における平均的な酸素吸蔵量のレベルを表している。また、符号▲２▼を付して示す領域は、所望の還元能力を発揮するために触媒３２内部に確保しておくべき酸素吸蔵能力の余力を表している。通常は、最大酸素吸蔵量の１／３程度の吸蔵能力がこの余力▲２▼として要求される。
【００６４】
フィードバック運転時には、既述の通り、酸素吸蔵量の増減が繰り返される。この運転が長期に渡って行われると（断続的な場合を含む）、酸素吸蔵量は、確率的に最大酸素吸蔵量の５０％程度に収束する。このため、通常の状態では、触媒３２において、余力▲２▼に関する要件は満たされている。
【００６５】
図６（Ｂ）は、フューエルカットの実行に伴って、触媒３２が能力一杯に酸素を吸蔵した状態を表した図である。上述した図４または図５に示す例において、時刻t2の時点では、触媒３２が図６（Ａ）に示す状態となっている。そして、時刻t2から時刻t3にかけて触媒３２に酸素が吸蔵されることにより、時刻t3の時点では、触媒３２において、図６（Ｂ）に示す状態が形成されている。
【００６６】
ここで、時刻t2から時刻t3にかけて触媒３２に吸蔵された酸素量は、触媒３２の最大酸素吸蔵量から通常時における酸素吸蔵量を減じた値、すなわち、触媒３２の最大酸素吸蔵量の約５０％に相当すると推定できる。そこで、本実施形態では、時刻t2から時刻t3にかけて触媒３２に吸蔵された酸素量の２倍が、触媒３２の最大酸素吸蔵量であると仮定して、その最大酸素吸蔵量を算出することとしている。
【００６７】
図６（Ｃ）は、リッチ制御が実行されることにより、触媒３２の酸素吸蔵能力に関する余力▲２▼が、必要な量に回復された状態を示す。上記の如く、触媒３２には、最大酸素吸蔵量の１／３程度の余力▲２▼が要求される。本実施形態において、上記Ｓ３００におけるリッチ制御は、フューエルカットの実行に伴って使い果たされた余力▲２▼が、図６（Ｃ）に示すように最大酸素吸蔵量の１／３程度にまで回復するように実行される。
【００６８】
図７は、図３に示す工程Ｓ１００を実現するために実行される第１群の処理のフローチャートである。より具体的には、図７は、触媒３２の最大酸素吸蔵量の実測値を得るためにECU４０が実行する一連の処理のフローチャートである。
【００６９】
図７に示すルーチンでは、先ず、最大酸素吸蔵量の実測値を得るための前提条件が成立しているか否かが判別される。具体的には、触媒３２が活性状態となっているか、或いはメインO２センサ３４およびサブO２センサ３６が活性状態となっているかなどが判別される（ステップ１０２）。
【００７０】
その結果、前提条件が成立していないと判別された場合は、図７に示す他の処理がジャンプされる。一方、前提条件が成立していると判別された場合は、次に、フューエルカットが実行されているか否かが判別される（ステップ１０４）。
【００７１】
本実施形態のシステムは、最大酸素吸蔵量を算出するために必要なデータを、フューエルカット中に取得する。このため、フューエルカットが実行されていないと判別された場合は、以後、図７に示す他の処理がジャンプされる。一方、フューエルカットが実行されていると判別された場合は、次に、フューエルカットの実行前、所定期間の間に、リッチ運転が実行されていなかったか否かが判別される（ステップ１０６）。
【００７２】
リッチ運転とは、混合気の空燃比がリッチとなるように、燃料噴射量が増量補正される運転である。例えば、運転者によって車両の加速が要求されている場合、或いは、触媒３２の加熱（OT: Over Temperature)を防ぐために排気空燃比をリッチにすること（その結果、触媒温度を下げることができる）が要求される場合などに実行される。
【００７３】
リッチ運転の実行中は、HCやCOを含む排気ガスが触媒３２に流入して、触媒３２内の吸蔵酸素が消費される。このため、リッチ運転の直後は、触媒３２の酸素吸蔵量が、通常時の吸蔵量より少量となる。本実施形態のシステムは、触媒３２の酸素吸蔵量が通常値であることを前提として最大酸素吸蔵量の算出を行う。従って、触媒３２の酸素吸蔵量が通常値より少ない場合には、最大酸素吸蔵量を精度良く算出することはできない。
【００７４】
そこで、上記ステップ１０６の条件が成立しない場合（リッチ運転が行われていた場合）は、最大酸素吸蔵量の算出処理が停止され、以後、速やかに図７に示すルーチンが終了される。一方、上記ステップ１０６の条件が成立する場合は、酸素吸蔵量が通常値であるものと見なされ、最大酸素吸蔵量を算出するための処理が継続される。具体的には、メインO２センサ３４の出力が０．１Vを下回っているか否かが判別される（ステップ１０８）。
【００７５】
上記ステップ１０８の条件が成立しないと判別される場合は、燃料を含まない空気が未だ触媒３２に到達していないと判断できる。図７に示すルーチンでは、この場合、以下の処理がジャンプされる。一方、上記ステップ１０８の条件が成立する場合は、燃料を含まない空気が触媒３２に流入していると判断できる。この場合、次に、移送遅れ時間が経過したか否かが判別される（ステップ１１０）。
【００７６】
移送遅れ時間とは、排気ガスがメインO２センサ３４の位置からサブO２センサ３６の位置まで流れるのに要する時間である。図４および図５を参照して説明した例では、メインO２センサ３４の出力が０．１Vを下回った時刻t2から、サブO２センサ３６の出力が０．１Vを下回る時刻t3までが、触媒３２が酸素を吸着する期間と捕らえ得ることを既述している。しかしながら、時刻t3の時点で触媒３２内部に残存している空気は、触媒３２が能力一杯に酸素を吸蔵した後にその内部に流入した空気である。従って、触媒３２が酸素を吸蔵する期間は、厳密には、「時刻t2から、時刻t3より移送遅れ時間だけ早い時刻まで」と捕らえる必要がある。そこで、図７に示すルーチンでは、メインO２センサの出力が０．１Vを下回った後、移送遅れ時間が経過するまでの時間を、触媒３２が酸素を吸蔵する時間から減ずることにより、移送遅れ時間の影響を排除することとしている。
【００７７】
上記ステップ１１０の判別は、上記の機能を実現するための処理である。図７に示すルーチンでは、上記ステップ１１０の条件が成立しない場合、以下の処理がジャンプされる。そして、上記ステップ１１０の条件が成立すると、次に、吸入空気量Gaの積算が開始される（ステップ１１２）。
本ステップ１１２の処理が実行されると、以後、他のルーチンにより、エアフロメータ２０により検出される吸入空気量Gaを積算することで、積算空気量が算出される。
【００７８】
図７に示すルーチンでは、次に、サブO２センサ３６の出力が０．１Vを下回っているか否かが判別される（ステップ１１４）。
【００７９】
その結果、上記ステップ１１４の条件が成立していないと判別された場合は、触媒３２が未だ能力一杯の酸素を吸蔵していないと判断される。この場合、以後、図７に示す他の処理がジャンプされる。一方、サブO２センサ３６の出力が０．１Vを下回っていると判別された場合は、触媒３２に、能力一杯の酸素が吸蔵されたと判断される。この場合、次に、サブO２センサ３６の出力が０．１Vを下回るまでに算出された積算空気量に基づいて、触媒３２による酸素吸蔵期間中に現実に吸蔵された酸素量が算出される（ステップ１１６）。
【００８０】
本ステップ１１６では、具体的には、積算空気量に、空気中の酸素割合（０．２３）を掛け合わせることにより、吸入酸素量が算出される。ところで、本実施形態では、エアフロメータにより検出される吸入空気量Gaを現実に積算することで積算空気量を算出しているが、積算空気量の算出方法はこれに限定されるものではない。すなわち、フューエルカット中は、スロットルバルブ２２が全閉とされるため、その間に生ずる単位時間当たりの吸入空気量Gaは、ほぼ固定された値となる。このため、積算空気量は、その固定値に、上記ステップ１１０の条件が成立した後、上記ステップ１１４の条件が成立するまでの時間を掛け合わせることにより求めることとしてもよい。
【００８１】
以上説明した通り、上述した一連の処理によれば、フューエルカットの過程で触媒３２に新たに吸蔵された酸素量、すなわち、触媒３２の最大吸蔵酸素量の５０％に相当すると推定される酸素量を算出することができる。ところで、触媒３２の最大吸蔵酸素量は、触媒温度によって変動する。従って、上記ステップ１１６において算出された酸素量は、触媒温度の影響を受けた値である。
【００８２】
図７に示すルーチンでは、その影響を排除するため、上記ステップ１１６の処理が終了した後、先ず、現在の触媒温度が取得される（ステップ１１８）。
触媒温度は、フューエルカットが実行される以前の内燃機関１０の運転状態から公知の手法で予測することができる。また、触媒３２に床温センサを配置して、触媒温度を実測により取得することとしてもよい。
【００８３】
次に、上記ステップ１１８で取得した触媒温度に基づいて、上記ステップ１１６で算出された酸素量を、標準温度時の酸素量に換算する処理が行われる（ステップ１２０）。
本実施形態において、ECU４０には、任意の触媒温度で得られた酸素量を、触媒温度が標準温度である場合に得られるべき酸素量に換算するための係数が、マップ形式で記憶されている。本ステップ１２０では、そのマップから読み出された係数が上記ステップ１１６で算出された酸素量に掛け合わされることにより、標準温度時の酸素量が算出される。
【００８４】
上述した一連の処理により算出された標準温度時の酸素量は、標準温度時における触媒３２の最大酸素吸蔵量の１／２と見なすことのできる値である。従って、その酸素量を２倍すれば、標準温度時における触媒３２の最大酸素吸蔵量を求めることができる。しかしながら、上記の酸素量には、その値を算出する際の環境のばらつきに起因する誤差が重畳している。そこで、本実施形態のシステムは、その酸素量のばらつきを吸収するため、上記ステップ１２０で算出された酸素量を直接用いて最大酸素吸蔵量を求めるのではなく、上述した手順で算出された複数の酸素量の平均値に基づいて最大酸素量を求めることとしている。このため、図７に示すルーチンでは、上記ステップ１２０において算出された酸素量が、ｎ番目のデータNnとして一旦保存される。
【００８５】
図８は、図３に示す工程Ｓ１００を実現するために実行される第２群の処理のフローチャートである。より具体的には、図８は、上記図７に示す処理により算出された個々の酸素量に基づいて、触媒３２の最大酸素吸蔵量を算出するためにECU４０が実行する一連の処理のフローチャートである。
【００８６】
図８に示すルーチンでは、先ず、ｎ番目のデータNnの更新処理が行われたか否かが判別される（ステップ１３０）。
【００８７】
その結果、データNnの更新処理が行われていないと判別された場合は、以後、図８に示す他の処理がジャンプされる。一方、データNnが更新されていると判別された場合は、次に、０番目のデータN0からｎ番目のデータNnまでの平均値が算出される（ステップ１３２）。
【００８８】
次に、その平均値の２倍が、触媒３２の最大酸素吸蔵量として算出される（ステップ１３４）。
上記の処理によれば、個々の酸素量が算出される過程の環境のばらつきが平準化され、より現実の状態に適合した最大酸素吸蔵量を求めることができる。
【００８９】
上記の処理が終了すると、次回の処理に備えて、酸素量のデータの入れ替え、すなわち、１番目のデータN1〜ｎ番目のデータNnを、それぞれ、０番目のデータN0〜n-1番目のデータNn-1に保存し直す処理が実行される。
【００９０】
以上説明した通り、図７および図８に示すルーチンによれば、フューエルカットの過程で触媒３２に新たに吸蔵された酸素量を最大酸素吸蔵量の５０％と見なして、触媒温度や環境のばらつきを考慮した上で最大酸素吸蔵量を求めることができる。この手法によれば、空燃比を強制的にリッチやリーンに固定することなく、ほぼフューエルカットが実行される毎に、高い頻度で最大酸素吸蔵量を求めることができる。このため、本実施形態のシステムによれば、常に現実の状態に精度良く適合した最大酸素吸蔵量を把握することができる。
【００９１】
ところで、本実施形態のシステムでは、上記図３に示すメインの処理とは別に、下記の機能を実現するための処理が実行される。
(1)上記の手法で得られた最大酸素吸蔵量に基づいて触媒３２に劣化を判定する処理、並びに、
(2)フューエルカットの開始後に生ずる現象を利用してメインO２センサ３４およびサブO２センサ３６の異常を判定する処理。
【００９２】
図９は、上記(1)の機能を実現するためにECU４０が実行するルーチンのフローチャートである。
図９に示すルーチンでは、先ず、上記ステップ１３４において算出された最大酸素吸蔵量が、所定の判定値より小さいか否かが判別される（ステップ６００）。
【００９３】
触媒３２の最大酸素吸蔵量は、触媒３２の劣化が進むに連れて減少する。上記の判定値は、標準温度の触媒３２が最低限有するべき最大酸素吸蔵量に相当する値である。従って、最大酸素吸蔵量＜判定値が成立しないと判別される場合は、触媒３２に許容できない劣化は生じていないと判断できる。この場合、以後、何ら処理が実行されることなく今回の処理サイクルが終了される。一方、上記の条件が成立する場合は、触媒３２に、許容できない劣化が生じていると判断できる。この場合、今回の処理サイクルは、触媒３２の劣化が判定された後に終了される（ステップ６０２）。
【００９４】
以上説明した通り、図９に示すルーチンによれば、図７および図８に示すルーチンにより算出された最大酸素吸蔵量に基づいて、触媒３２に劣化判定を、容易かつ精度良く行うことができる。
【００９５】
図１０は、上記(2)の機能を実現するために、すなわち、メインO２センサ３４およびサブO２センサの異常を判定するためにECU４０が実行するルーチンのフローチャートである。
図１０に示すルーチンでは、先ず、フューエルカットが実行されているか否かが判別される（ステップ６１０）。
【００９６】
その結果、フューエルカットが実行されていないと判別された場合は、判定カウンタがリセットされた後（ステップ６１２）、今回の処理サイクルが終了される。ここで、判定カウンタは、フューエルカットが開始された後の経過時間を計数するためのカウンタである。
【００９７】
一方、上記ステップ６１０において、フューエルカットが実行中であると判別された場合は、先ず、判定カウンタのカウントアップ処理が行われる（ステップ６１４）。
【００９８】
次に、メインO２センサ３４の出力が、０．１Vより小さな値に変化したか否かが判別される（ステップ６１６）。
【００９９】
その結果、上記の条件が成立する場合は、メインO２センサ３４の出力が適正に変化していると判断することができる。この場合、メインO２センサ３４が正常であると判断され、以後、ステップ６１８および６２０の処理がジャンプされる。一方、上記の条件が成立しないと判別された場合は、次に、判定カウンタの計数値が、第１判定時間T1より小さいか否かが判別される（ステップ６１８）。
【０１００】
図４および図５に示すように、フューエルカットが開始された後、メインO２センサ３４の出力が０．１Vを下回る値に変化するまでには、ある程度の時間を要する。第１判定時間T1は、その時間に対応する時間である。従って、判定カウンタ＜T1が成立する場合は、未だ、メインO２センサ３４の出力が正常であるか、或いは異常であるかを特定することはできない。このため、このような場合には、ステップ６２０の処理がジャンプされる。一方、上記の条件が成立しない場合、すなわち、判定カウンタがT1以上である場合は、メインO２センサ３４の出力が正常に変化していないと判断することができる。この場合、図１０に示すルーチンでは、メインO２センサ３４の異常判定がなされる（ステップ６２０）。
【０１０１】
上述した一連の処理が終了すると、次に、サブO２センサ３６の出力が、０．１Vより小さな値に変化したか否かが判別される（ステップ６２２）。
【０１０２】
その結果、上記の条件が成立する場合は、サブO２センサ３６の出力が適正に変化していると判断することができる。この場合、サブO２センサ３６が正常であると判断され、以後、ステップ６２４および６２６の処理がジャンプされる。一方、上記の条件が成立しないと判別された場合は、次に、判定カウンタの計数値が、第２判定時間T2より小さいか否かが判別される（ステップ６２４）。
【０１０３】
図４および図５に示すように、フューエルカットが開始された後、サブO２センサ３６の出力が０．１Vを下回る値に変化するまでには、ある程度の時間を要する。第２判定時間T2は、その時間に対応する時間である。従って、判定カウンタ＜T2が成立する場合は、未だ、サブO２センサ３６の出力が正常であるか、或いは異常であるかを特定することはできない。このため、このような場合には、ステップ６２０の処理がジャンプされる。一方、上記の条件が成立しない場合、すなわち、判定カウンタがT2以上である場合は、サブO２センサ３６の出力が正常に変化していないと判断することができる。この場合、図１０に示すルーチンでは、サブO２センサ３６の異常判定がなされる（ステップ６２６）。
【０１０４】
以上説明した通り、図１０に示すルーチンによれば、フューエルカットの実行後に、メインO２センサ３４の出力が適正に変化するか、或いは、サブO２センサ３６の出力が適正に変化するかに基づいて、それらのセンサ３４，３６に異常が生じているか否かを、容易かつ精度良く判定することができる。
【０１０５】
次に、図１１および図１２を参照して、図３に示すＳ２００の内容、すなわち、本実施形態のシステムが、触媒３２の酸素吸蔵量偏差の初期値を算出する手法を説明する。
図１１は、図３に示す工程Ｓ２００を実現するために実行される第１群の処理のフローチャートである。より具体的には、図１１は、フューエルカットの終了直後に、酸素吸蔵量偏差の初期値を設定するためにECU４０が実行する一連の処理のフローチャートである。
【０１０６】
図１１に示すルーチンでは、先ず、フューエルカットが実行されているか否かが判別される（ステップ２０２）。
【０１０７】
本実施形態のシステムは、酸素吸蔵量偏差の初期値を算出するために必要なデータを、フューエルカット中に取得する。このため、フューエルカットが実行されていないと判別された場合は、以後、速やかに図１１に示すルーチンが終了される。一方、フューエルカットが実行されていると判別された場合は、次に、フューエルカット中（開始から終了までの間）に生じた吸入空気量Gaの積算値、すなわち、フューエルカット中における積算吸入空気量が算出される（ステップ２０４）。
【０１０８】
積算吸入空気量は、フューエルカットの開始から停止までの間、エアフロメータ２０により検出される吸入空気量Gaを積算することで算出することができる。但し、積算吸入空気量の算出方法はこれに限定されるものではない。すなわち、フューエルカット中は、スロットルバルブ２２が全閉とされるため、その間に生ずる単位時間当たりの吸入空気量Gaは、ほぼ固定された値となる。このため、積算吸入空気量は、その固定値に、フューエルカットの実行時間を掛け合わせることにより求めてもよい。
【０１０９】
積算吸入空気量が算出されたら、その値に空気中の酸素割合（０．２３）を掛け合わせることにより、フューエルカット中に触媒３２に流入した酸素量が算出される（ステップ２０６）。
【０１１０】
次いで、上記ステップ２０６で算出された流入酸素量が、偏差ガード値より小さいか否かが判別される（ステップ２０８）。
ここで、偏差ガード値は、上記図７および８の処理により算出された最大酸素吸蔵量（標準温度時の値）に、所定割合αを掛け合わせた値である。また、所定割合αは、本実施形態では１／３に設定されている。従って、本ステップ２０８では、具体的には、ステップ２０６で算出された流入酸素量が、最大酸素吸蔵量の１／３より少ないか否かが判別されている。
【０１１１】
上記ステップ２０８において、流入酸素量＜偏差ガード値（最大酸素吸蔵量／３）が成立すると判別された場合は、その流入酸素量が、酸素吸蔵量偏差の初期値に設定される（ステップ２１０）。
一方、上記ステップ２０８の条件が成立しないと判別された場合は、偏差ガード値（最大酸素吸蔵量／３）が酸素吸蔵量偏差の初期値に設定される（ステップ２１２）。
【０１１２】
酸素吸蔵量偏差は、既述の通り、触媒３２に所望の還元能力を付与するために、触媒３２から放出させるべき酸素量を意味する値である。図１１に示す処理によれば、フューエルカットが終了すると同時に、フューエルカット中に触媒３２に流入した酸素の量と、最大酸素吸蔵量の１／３に設定された偏差ガード値のうち、小さい方を、酸素吸蔵量偏差の初期値、すなわち、その後のリッチ制御で触媒３２から放出させるべき酸素量として設定することができる。
【０１１３】
つまり、図１１に示す処理によれば、フューエルカットの実行中に、最大酸素吸蔵量の１／３に満たない少量の酸素しか触媒３２に流入しなかった場合には、その流入酸素量を、その後のリッチ制御で触媒３２から放出させるべき酸素量として設定することができる。この場合、フューエルカット中、およびリッチ制御中に触媒３２の酸素吸蔵量に生ずる増減量が少量であることから、リッチ制御の実行により、触媒３２の状態を、比較的容易にフューエルカットの実行前の状態、すなわち、酸化能力および還元能力を適正に発揮状態に復帰させることができる。
【０１１４】
また、図１１に示す処理によれば、フューエルカットの実行中に、最大酸素吸蔵量の１／３を超える多量の酸素が触媒３２に流入した場合には、最大酸素吸蔵量の１／３を、その後のリッチ制御で触媒３２から放出させるべき酸素量として設定することができる。この場合、リッチ制御によって不当に多量の酸素が触媒３２から放出されてしまうのを確実に防止することができると共に、リッチ制御の終了時に、触媒３２の酸素吸蔵能力に、最大酸素吸蔵量の１／３にあたる余力を確実に与えることができる。
【０１１５】
前者の効果（過剰酸素放出防止効果）によれば、リッチ制御の終了時点で、触媒３２が適正な酸化能力を発揮することを保証することができる。また、後者の効果により確保される酸素吸蔵能力の余力（最大酸素吸蔵量の１／３）は、触媒３２が所望の還元能力を発揮するのに十分な値である。従って、図１１に示すルーチンによれば、リッチ制御が終了する段階で、触媒３２に適正な還元能力を取り戻させることができる。
【０１１６】
以上説明した通り、図１１に示すルーチンによれば、フューエルカットの終了時に、酸素吸蔵量偏差の初期値を適正な値に設定することができる。そして、その設定値に従って後にリッチ制御が実行されると、その制御の終了時には、触媒３２を、適正に酸化能力および還元能力を発揮する状態に回復させることができる。
【０１１７】
ところで、上記の説明においては、酸素吸蔵量偏差の初期値を設定する際に用いた偏差ガード値を、最大酸素吸蔵量の１／３としているが、そのガード値の値はこれに限定されるものではない。すなわち、偏差ガード値は、触媒３２の最大酸素吸蔵量の１／２以下であり、かつ、触媒３２が所望の還元能力を発揮するために確保すべき酸素吸蔵能力の余力以上の値であればよい。例えば、本実施形態の構成では、最大酸素吸蔵量の１／２〜１／３の範囲に属する任意の値を偏差ガード値として用いることができる。
【０１１８】
図１２は、図３に示す工程Ｓ２００を実現するために実行される第２群の処理のフローチャートである。より具体的には、図１２は、内燃機関１０の始動直後に酸素吸蔵量偏差の初期値を設定するためにECU４０が実行する一連の処理のフローチャートである。
【０１１９】
図１２に示すルーチンでは、先ず、内燃機関１０の始動時であるか否かが判別される（ステップ２２０）。
本ステップ２２０では、例えば、前回の処理サイクル時から今回の処理サイクル時にかけて、イグニッションスイッチ（図示せず）がオフからオンに変化したような場合に、内燃機関１０の始動が判別される。
【０１２０】
上記ステップ２２０において、内燃機関１０の始動時ではないと判別された場合は、図１２に示す他の処理がジャンプされる。一方、内燃機関１０の始動時であると判別された場合は、次に、触媒３２が既に活性状態となっているか否かが判別される（ステップ２２２）。
ECU４０は、本ルーチンとは別に、触媒３２の活性状態を判定するためのルーチンを実行している（図１３参照）。本ステップ２２２では、そのルーチンの実行結果に従って、触媒３２の活性状態が判定される。
【０１２１】
上記ステップ２２２において、触媒３２が活性状態ではないと判別された場合は、以後速やかに図１２に示す処理が終了される。一方、上記ステップ２２２において、触媒３２が活性状態であると判別された場合は、次に、酸素吸蔵量偏差の初期値として、偏差ガード値、すなわち、最大酸素吸蔵量の１／３が設定される（ステップ２２４）。
【０１２２】
内燃機関１０の始動時には、触媒３２に、燃料を含まない空気が流通する。この際、触媒３２が既に活性状態であると、触媒３２の酸素吸蔵量は、最大酸素吸蔵量付近にまで増加する。また、触媒３２が既に活性状態である場合は、その直後から、空燃比フィードバック制御の実行が要求される。このため、このような場合には、リッチ制御を実行して、触媒３２に、所望の還元能力を発揮するために必要な酸素吸蔵能力の余力を速やかに与えることが必要である。
【０１２３】
図１２に示すルーチンによれば、内燃機関１０の始動時に触媒３２が既に活性状態となっていれば、その時点で最大酸素吸蔵量の１／３を酸素吸蔵量偏差の初期値として、すなわち、リッチ制御により触媒３２から放出させるべき酸素量として設定することができる。このため、図１２に示すルーチンによれば、内燃機関１０の始動時に既に触媒３２が活性状態である場合に、その後速やかに、触媒３２を、適正に酸化能力および還元能力を発揮し得る状態に移行させることができる。
【０１２４】
また、内燃機関１０の始動時に触媒３２が非活性の状態であれば、その後即座に空燃比フィードバック制御が実行されることはない。このため、このような場合には、始動の時点で敢えてリッチ制御を実行する必要はない。更に、その時点では、触媒３２が浄化能力を発揮しないため、HCやCOを多量に排出させるリッチ制御を実行するべきではない。
【０１２５】
図１２に示すルーチンによれば、内燃機関１０の始動時に触媒３２が非活性であれば、その時点で酸素吸蔵量偏差に値がセットされることはない。つまり、その場合は、リッチ制御により放出させるべき酸素量の存在が認識されることはない。この場合、リッチ制御は実行されないため、上記の要求を満たすことができる。
【０１２６】
以上説明した通り、図１２に示すルーチンによれば、内燃機関１０の始動時に触媒３２が既に活性化されている場合には、リッチ制御の実行を要求して、触媒３２を速やかに適正な状態に移行させることができる。また、内燃機関１０の始動時に触媒３２が非活性な状態であれば、不要なリッチ制御の実行を阻止することで排気エミッションの悪化を避けることができる。このため、図１２に示すルーチンによれば、内燃機関１０の始動直後のエミッション特性を常に良好に保つことができる。
【０１２７】
図１３は、本実施形態において、ECU４０が、上記図３に示すメインの処理とは別に、触媒３２の活性状態を判定するために実行するルーチンのフローチャートである。
図１３に示すルーチンでは、先ず、内燃機関１０が始動時であるか否かが判別される（ステップ６３０）。
【０１２８】
その結果、内燃機関１０の始動時であると判別された場合は、その時点の冷却水温THW、すなわち、内燃機関１０の始動時冷却水温THWSが読み込まれる（ステップ６３２）。
【０１２９】
次に、上記ステップ６３２で読み込まれた始動時冷却水温THWSに基づいて、触媒３２が活性状態に達するまでに必要とされる吸入空気量Gaの総量予測値（以下、「活性吸入空気量」と称す）が算出される（ステップ６３４）。
ECU４０は、活性吸入空気量と始動時冷却水温THWSとの関係を定めたマップを記憶している。本ステップ６３４では、そのマップを参照して活性吸入空気量が算出される。
【０１３０】
次回以降、本ルーチンが起動される際には、上記ステップ６３０において、内燃機関１０の始動時ではないとの判断がなされる。この場合、上記ステップ６３２および６３４の処理がジャンプされる。従って、以後、内燃機関１０が停止されるまでの間は、上記ステップ６３４で算出された活性吸入空気量がそのままの値で維持される。
【０１３１】
図１３に示すルーチンでは、上述した一連の処理に次いで、内燃機関１０の始動後に生じた積算吸入空気量が読み込まれる（ステップ６３６）。
【０１３２】
次に、その積算吸入空気量が、活性吸入空気量以上であるか否かが判別される（ステップ６３８）。
【０１３３】
その結果、積算吸入空気量≧活性吸入空気量の条件が成立しないと判別された場合は、触媒３２の未活性が判定される。
【０１３４】
一方、上記ステップ６３８で、積算吸入空気量≧活性吸入空気量の条件が成立すると判別された場合は、触媒３２の活性が判別される（ステップ６４０）。
尚、始動時冷却水温THWSが十分に高い場合、上記ステップ６３４では、活性吸入空気量が０に設定される。従って、この場合は、内燃機関１０の始動後即座に触媒３２の活性が判定される。
【０１３５】
以上説明した通り、図１３に示すルーチンによれば、始動時冷却水温THWSに基づいて、内燃機関１０の始動直後から、触媒３２が活性状態となっているか否かを精度良く判定することができる。
尚、触媒３２が活性状態となっているか否かを判定する手法は、図１３に示す手法に限られるものではない。例えば、触媒３２の温度を検出する床温センサを設けて触媒温度を実測し、その触媒温度から触媒３２の活性状態を直接的に判定することとしてもよい。
【０１３６】
次に、図１４乃至図１６を参照して、図３に示すＳ３００の内容、すなわち、本実施形態において実行されるリッチ制御の内容を説明する。
図１４は、図３に示す工程Ｓ３００を実現するために実行される第１のリッチ制御の内容を説明するためのタイミングチャートである。より具体的には、図１４（Ａ）は、第１のリッチ制御を実現するための空燃比フィードバック係数FAFの波形である。また、図１４（Ｂ）は、図１４（Ａ）に示すFAFに対応するメインO２センサ３４の出力波形である。
【０１３７】
第１のリッチ制御は、フューエルカットの終了時に内燃機関１０がアイドル状態（アイドルスイッチ２６がオン状態）である場合に実行される制御である。図１４において、時刻t1は、フューエルカットの終了時点を示す。図１４（Ａ）に示すように、空燃比フィードバック係数FAFは、フューエルカットの実行中は０とされている。尚、空燃比フィードバック係数FAFは、既述した通り、燃料噴射時間TAUを伸縮させるための補正係数である（FAFが大きいほどTAUは長時間となり、FAFが小さいほどTAUは短時間となる）。第１のリッチ制御は、フューエルカットの終了時に、FAFに所定の嵩上げ値を加算し、その後、通常の空燃比フィードバック制御を行うことで実現される。
【０１３８】
フューエルカットの実行中は、メインO２センサ３４がリーン出力を発する。また、フューエルカットが終了された後、その終了時（時刻t1）に噴射された燃料がメインO２センサ３４に到達するまでの期間（期間▲１▼）は、メインO２センサ３４の出力がリーン出力に維持される。その間、ECU４０は、排気空燃比がリーンであることから、燃料噴射時間TAUを延ばすべくFAFを徐々に大きな値に更新する。その結果、期間▲１▼の終了時（時刻t2）には、空燃比のリッチな排気ガスがメインO２センサ３４の周囲に到達する。
【０１３９】
ECU３４は、その時点（時刻t2）で、空燃比フィードバック係数FAFを通常のスキップ値で減少させ、更に、その後メインO２センサ３４の出力がリーン出力に反転するまで（時刻t3）、FAFを徐々に減少させる（期間▲２▼）。そして、時刻t2以降、通常の手法で空燃比フィードバック制御が継続される。
【０１４０】
上述した一連の処理によれば、図１４（Ｂ）に示す通り、フューエルカットの終了後に、長期に渡って排気空燃比がリッチとなる期間▲２▼を作り出すことができる。このため、第１のリッチ制御によれば、フューエルカット中に増加した触媒３２内の酸素吸蔵量偏差を減少させることができる。
【０１４１】
図１５は、図３に示す工程Ｓ３００を実現するために実行される第２のリッチ制御の内容を説明するためのタイミングチャートである。より具体的には、図１５（Ａ）は、第２のリッチ制御を実現するための空燃比フィードバック係数FAFの波形である。また、図１５（Ｂ）は、図１５（Ａ）に示すFAFに対応するメインO２センサ３４の出力波形である。
【０１４２】
第２のリッチ制御は、フューエルカットの終了後、内燃機関１０が非アイドル状態（アイドルスイッチ２６がオフ状態）である場合に実行される制御である。この制御は、空燃比フィードバック係数FAFのスキップ値を以下のように設定して空燃比フィードバック制御を行うことで実現することができる。
(1)メインO２センサ３４の出力がリーンからリッチに反転した際にFAFに施す減少スキップ値を、通常値skipLより所定値αだけ小さな値skipL−αとする。
(2) メインO２センサ３４の出力がリッチからリーンに反転した際にFAFに施す増加スキップ値を、通常値skipRより所定値αだけ大きな値skipR＋αとする。
【０１４３】
FAFの減少スキップ値がskipL−αとされると、実質的にFAFの減少速度が遅くなるため、メインO２センサ３４の出力がリーンからリッチに反転した後（時刻t4、t6）、比較的長期に渡って排気空燃比がリッチに維持される（図１５（Ｂ）中、期間▲４▼、▲６▼参照）。一方、FAFの増加スキップ値がskipR＋αとされると、実質的にFAFの増加速度が早くなり、メインO２センサ３４の出力がリーンからリッチに反転した後（時刻t5、t7）、排気空燃比がリーンに維持される期間（図１５（Ｂ）中、期間▲５▼参照）は、比較的短くなる。このように、第２のリッチ制御によれば、排気空燃比のリッチ期間とリーン期間を不均衡として、その空燃比の平均をリッチ側に偏らせることができる。このため、第２のリッチ制御によれば、フューエルカット中に増加した触媒３２内の酸素吸蔵量偏差を減少させることができる。
【０１４４】
ところで、上述した第１のリッチ制御では、フューエルカットの終了時に、一度だけ空燃比フィードバック係数FAFに大きな変化が与えられる。フューエルカットの終了時には、当然に内燃機関１０の出力に変化が生ずるため、上記のFAF変化は、車両の運転者に違和感を与えることはない。この点、第１のリッチ制御は、アイドル運転中など、内燃機関１０の出力変化が機関回転数NEの変動に大きく影響する環境下で、空燃比をリッチ化させる手法として好適である。
【０１４５】
これに対して、第２のリッチ制御では、排気空燃比がリッチからリーンに反転する毎に、空燃比フィードバック係数FAFが、通常時に比して大きくスキップ増加される。FAFのスキップ増加は、燃料噴射時間TAUのスキップ増加を生じさせ、その結果、内燃機関１０の出力をスキップ的に増大させる。このような出力変化は、アイドル運転時には、機関回転数NEの変動を生じさせ、車両のドライバビリティを低下させる。この点、第２のリッチ制御は、非アイドル時に空燃比をリッチ化させる手法として好適な手法である。
【０１４６】
本実施形態では、第１のリッチ制御と、第２のリッチ制御が上記の如くそれぞれ備える特性を考慮して、フューエルカットの終了時に内燃機関１０がアイドル運転中であればその時点で一度だけ第１のリッチ制御を行い、更に、内燃機関１０が非アイドル運転に移行した後に、触媒３２から所望の酸素量が放出されるまで、第２のリッチ制御を行うこととしている。
【０１４７】
図１６は、図３に示す工程Ｓ３００を実現するために実行される処理のフローチャートである。より具体的には、図１６は、フューエルカットの終了後に、上記の手法で第１リッチ制御および第２リッチ制御を実行するためにECU４０が実行する一連の処理のフローチャートである。
【０１４８】
図１６に示すルーチンでは、先ず、空燃比フィードバック制御の実行条件が成立しているか否かが判別される（ステップ３０２）。
本ステップ３０２では、例えば、冷却水温THWが所定温度を超えているか、メインおよびサブのO２センサ３４，３６が活性化されているか、更には、フューエルカットの実行条件が不成立であるか、などの成立性が判断される。
【０１４９】
上記ステップ３０２において、空燃比フィードバック制御の実行条件が成立していないと判別された場合は、以後、図１６に示す全ての処理がジャンプされる。一方、その実行条件が成立していると判別された場合は、次に、触媒３２が活性化されているか否かが判別される（ステップ３０４）。
【０１５０】
触媒３２が未だ活性化されていないと判別された場合は、リッチ制御を実行するべきではないため、以後、速やかに図１６に示すルーチンが終了される。一方、触媒３２が既に活性化されていると判別された場合は、次に、酸素吸蔵量偏差が０より大きいか否かが判別される（ステップ３０６）。
【０１５１】
酸素吸蔵量偏差は、上記の如く、リッチ制御によって触媒３２から放出させるべき酸素の量である。本実施形態では、上記の如く、図３に示す工程Ｓ２００により、すなわち、図１１または図１２に示す一連の処理により、フューエルカットの終了時に、或いは、内燃機関１０の始動時に、酸素吸蔵量偏差の初期値が算出される。そして、この酸素吸蔵量偏差は、後述する処理により、触媒３２から放出された酸素の量だけ小さな値に更新される。
【０１５２】
従って、上記ステップ３０６において、酸素吸蔵量偏差＞０が成立しないと判別された場合は、リッチ制御によって触媒３２から放出させるべき酸素は既に存在していないと判断することができる。図１６に示すルーチンでは、この場合、以下の処理がジャンプされる。一方、上記ステップ３０６の条件が成立すると判別された場合は、リッチ制御によって触媒３２から放出させるべき酸素が未だ存在していると判断できる。この場合、次に、内燃機関１０がアイドル状態であるか否か、より正確にはアイドルスイッチ２６がオン状態であるか否かが判別される（ステップ３０８）。
【０１５３】
その結果、アイドルスイッチ２６がオン状態であると判別された場合は、第１のリッチ制御を実行すべきか否かを判断するため、次に、今回の処理サイクルが、空燃比フィードバック制御の再開時のサイクルであるか、すなわち、フューエルカットの終了後初めて実行されるサイクルであるかが判別される（ステップ３１０）。
【０１５４】
第１のリッチ制御は、上述した通り、通常の空燃比フィードバック制御が実行されている環境下で、フューエルカットの終了時に一度だけ、空燃比フィードバック係数FAFに嵩上げ値を加算することで実現することができる。本実施形態において、通常の空燃比フィードバック制御に必要な処理は、他のルーチンで行われている。従って、図１６に示すルーチンには、第１のリッチ制御を実現するうえで、フューエルカットの終了時にFAFに嵩上げ値を加算する機能だけが求められている。
【０１５５】
このため、上記ステップ３１０において、今回の処理サイクルが、空燃比フィードバック制御の再開時のサイクルではないと判別された場合は、速やかに図１６に示すルーチンが終了される。一方、上記ステップ３１０において、上記の条件が成立すると判別された場合は、FAFに加算される嵩上げ値が算出される（ステップ３１２）。
【０１５６】
上記ステップ３１２において、嵩上げ値は、工程Ｓ２００（図１１または図１２）において算出された酸素吸蔵量偏差の初期値に基づいて算出される。ECU４０は、酸素吸蔵量偏差の初期値と、嵩上げ値との関係を定めたマップを記憶している。本ステップ３１２において、ECU４０は、そのマップを参照して嵩上げ値を算出する。その結果、嵩上げ値は、酸素吸蔵量偏差の初期値が大きいほど、大きな値に算出される。
【０１５７】
図１６に示すルーチンでは、次に、空燃比フィードバック係数FAFに嵩上げ値が加算される（ステップ３１４）。
尚、本ステップ３１４において、嵩上げ値に加えられる空燃比フィードバック係数FAFは、フューエルカットが開始される前に用いられていた値、或いは、FAFの基準値（例えば０）である。
【０１５８】
上述した処理によれば、フューエルカットの終了後に、図１４（Ａ）に示す波形で空燃比フィードバック係数FAFを変化させることができる。このため、上記の処理によれば、排気空燃比をリッチに偏らせるという所期の目的を達成することができる。
【０１５９】
図１６に示すルーチン中、上記ステップ３０８において、アイドルスイッチ２６がオン状態ではないと判別された場合は、以後、第２のリッチ制御を実現するための処理が実行される。具体的には、先ず、前回から今回の処理サイクル時にかけて、メインO２センサ３４の出力が反転しているか否かが判別される（ステップ３１６）。
【０１６０】
その結果、メインO２センサ３４の出力が反転していると判別された場合は、更に、その反転が、空燃比フィードバック係数FAFの増量スキップを要求するものであるか、より具体的には、その反転が、リッチ出力からリーン出力への反転であったかが判別される（ステップ３１８）。
【０１６１】
そして、上記ステップ３１８の条件が成立する場合は、空燃比フィードバック係数FAFのスキップ値skipに、適当な増量補正（例えば１％分の増量補正）がなされる（ステップ３２０）。
一方、上記ステップ３１８の条件が成立しない場合は、そのスキップ値skipに適当な減量補正（例えば１％分の減量補正）がなされる（ステップ３２２）。
【０１６２】
上述した処理によれば、フューエルカットの終了後、０より大きな酸素吸蔵量偏差が生じている限り、非アイドル運転時において、図１５（Ａ）に示す波形で空燃比フィードバック係数FAFを変化させることができる。このため、上記の処理によれば、排気空燃比をリッチに偏らせるという所期の目的を達成することができる。
【０１６３】
次に、図１７を参照して、図３に示すＳ４００の内容、すなわち、リッチ制御の実行に伴って、触媒３２の酸素吸蔵量偏差を減算する処理について説明する。
図１７は、上記の機能を実現すべくECU４０により実行される一連の処理のフローチャートを示す。
【０１６４】
図１７に示すルーチンでは、先ず、最新の酸素吸蔵量偏差、すなわち、今回の処理サイクル時に設定された酸素吸蔵量偏差の初期値、或いは、前回の処理サイクル時に算出された酸素吸蔵量偏差の最新値が、０より大きいか否かが判別される（ステップ４０２）。
【０１６５】
酸素吸蔵量偏差が０より大きくないと判別された場合は、図１７に示す処理を進める必要がないと判断され、以後、速やかにこのルーチンが終了される。一方、酸素吸蔵量偏差＞０が成立すると判別された場合は、次に、内燃機関１０がアイドル状態であるか否か、すなわち、アイドルスイッチ２６がオン状態であるか否かが判別される（ステップ４０４）。
【０１６６】
本実施形態のシステムは、上記の如く、アイドルスイッチ２６がオンである場合は、第１のリッチ制御（図１４参照）により空燃比のリッチ化を図る。そこで、上記ステップ４０４でアイドルスイッチ２６がオン状態であると判別された場合は、以後、第１のリッチ制御を想定した酸素吸蔵量偏差の減算処理が行われる。
【０１６７】
具体的には、この場合、先ず、第１のリッチ制御による嵩上げリッチ中か否かが判別される（ステップ４０６）。
本ステップ４０６では、フューエルカットが終了した後、図１４に示す期間▲２▼が終了するまで「嵩上げリッチ中」であると判断される。より具体的には、フューエルカットが終了した後、メインO２センサ３４の出力が初めてリッチ出力からリーン出力に反転するまで、「嵩上げリッチ中」であると判断される。
【０１６８】
上記ステップ４０６で、嵩上げリッチ中でないと判別された場合は、以後、ステップ４０８、４１２および４１４の処理がジャンプされる。一方、嵩上げリッチ中であると判別された場合は、次に、メインO２センサ３４がリッチ出力を発しているか否かが判別される（ステップ４０８）。
【０１６９】
フューエルカットが終了した後、燃料を含む排気ガスがメインO２センサ３４の位置に到達するまでの期間、すなわち、触媒３２に空気が流入している期間は、既述した通りメインO２センサ３４がリーン出力を発し続ける（図１４、期間▲１▼）。この間、上記ステップ４０８では、メインO２センサ３４の出力がリッチ出力ではないと判別される。図１７に示すルーチンでは、この場合、次に、メインO２センサ３４の出力が、前回の処理サイクル時から今回の処理サイクル時にかけてリッチ出力からリーン出力に反転したものであるかが判別される（ステップ４１０）。
【０１７０】
フューエルカットの終了後、触媒３２に空気が流入している期間（図１４，期間▲１▼）は、メインO２センサ３４が継続的にリーン出力を発生する。従って、この場合は、上記ステップ４１０の条件は成立しないと判断される。そして、以後、酸素吸蔵量偏差の更新処理が行われることなく、ステップ４２２以降の処理が開始される。フューエルカットの終了後、触媒３２に空気が流入している期間は、触媒３２内の酸素吸蔵量偏差に変化は生じない。上述した一連の処理によれば、そのような場合に、酸素吸蔵量偏差を適正に初期値のまま維持することができる。
【０１７１】
本実施形態のシステムにおいて、フューエルカットが終了した後、燃料を含む排気ガスがメインO２センサ３４の位置に到達すると、すなわち、触媒３２に燃料を含む排気ガスが流入し始めると、以後、メインO２センサ３４はリッチ出力を発生する（図１４、期間▲２▼）。この間、上記ステップ４０８では、メインO２センサ３４の出力に関する条件が成立すると判別される。
【０１７２】
上記ステップ４０８の条件が成立すると、次に、その条件が成立した後に触媒３２に流入した空気の積算量と、嵩上げ値（％換算値）の１／２との乗算値が算出される。そして、その乗算値に基づいて、触媒３２から放出された酸素量（放出酸素量）が算出される（ステップ４１２）。
【０１７３】
次に、上記ステップ４１２の処理により算出された放出酸素量を酸素吸蔵量偏差の初期値から減算することにより、酸素吸蔵量偏差が算出される（ステップ４１４）。
【０１７４】
上述したステップ４１２および４１４の処理は、メイン0２センサ３４の出力がリーン出力に反転するまで繰り返し実行される。その結果、上記ステップ４１２では、最終的に、図１４に示す期間▲２▼における平均的なリッチ度合いに、その期間▲２▼中に生じた積算吸入空気量をかけた算出値を得ることができ、更に、その算出値に対応する酸素放出量を得ることができる。このような演算処理によれば、期間▲２▼の間に触媒３２から放出された酸素の量を、精度良く算出することができる。そして、上記ステップ４１４の処理によれば、精度良く算出された放出酸素量を酸素吸蔵量偏差の初期値から減ずることにより、第１のリッチ制御の終了時に、触媒３２内部に残存している酸素吸蔵量偏差を精度良く求めることができる。
【０１７５】
第１のリッチ制御による嵩上げリッチ中に、メイン0２センサ３４の出力がリッチからリーンに反転すると、すなわち、図１４に示す期間▲２▼が終了すると、図１７に示すルーチンでは、ステップ４０８において条件不成立の判別がなされ、次いで、ステップ４１０において条件成立の判別がなされる。この場合、図１７に示すルーチンでは、次に、嵩上げリッチの終了が判定される（ステップ４１２）。
その結果、以後、上記ステップ４０６の処理が実行される場合には、常に、その条件の成立が否定される。
【０１７６】
図１７に示すルーチン中、上記ステップ４０４で、アイドルスイッチ２６がオン状態でないと判別された場合は、以後、第２のリッチ制御を想定した酸素吸蔵量偏差の減算処理が行われる。
【０１７７】
具体的には、この場合、先ず、第２のリッチ制御が開始された後（上記ステップ４０４の条件が成立した後）に触媒３２に流入した空気の積算量と、FAFskipリッチ時A/Fとの乗算値が算出される。そして、その乗算値に基づいて、触媒３２から放出された酸素量（放出酸素量）が算出される（ステップ４１８）。
ここで、「FAFskipリッチ時A/F」とは、第２のリッチ制御が実行されることにより、すなわち、FAFの増加スキップ値と減少スキップ値とが不均衡とされることにより実現される平均的な排気空燃比である。ECU４０は、予め実験的に求めたFAFskipリッチ時A/Fを記憶しており、その記憶値を用いて本ステップ４１８の処理を実行する。
【０１７８】
図１７に示すルーチンでは、次に、上記ステップ４１８の処理により算出された放出酸素量を酸素吸蔵量偏差の初期値から減算することにより、酸素吸蔵量偏差が算出される（ステップ４２０）。
【０１７９】
上記ステップ４１８の処理によれば、第２のリッチ制御の実行に伴って触媒３２から放出される酸素量を精度良く算出することができる。そして、上記ステップ４２０の処理によれば、精度良く算出された放出酸素量を酸素吸蔵量偏差の初期値から減ずることにより、第２のリッチ制御の実行中に、触媒３２内部に残存している酸素吸蔵量偏差を精度良く求めることができる。
【０１８０】
図１７に示すルーチンでは、上記上述した一連の処理に次いで、サブO２センサ３６がリッチな排気空燃比を検出したか否かが判別される（ステップ４２２）。
サブO２センサ３６がリッチな排気空燃比を検出するのは、触媒３２の下流にリッチな排気ガスが流出している場合である。ここで、触媒３２の下流にリッチな排気ガスが流出するのは、触媒３２が、HCやCOを酸化することができなかった場合、つまり、触媒３２内部に十分な酸素吸蔵量が確保されていない場合に限られる。このため、本ステップ４２２の条件が成立する場合は、触媒３２内部に、リッチ制御で放出すべき酸素量、すなわち、酸素吸蔵量偏差は残存していないと判断できる。
【０１８１】
図１７に示すルーチンでは、上記ステップ４２２の条件が成立する場合は、その時点で酸素吸蔵量偏差が０とされる（ステップ４２４）。
一方、上記ステップ４２２の条件が成立しない場合は、上記ステップ４２４がジャンプされ、上記ステップ４０４〜４２０の処理により設定された酸素吸蔵量偏差がそのまま維持される。
【０１８２】
上記の処理によれば、酸素吸蔵量偏差の初期値や放出酸素量などの算出誤差に起因して、現実には触媒３２内の酸素吸蔵量が極めて少ないにも関わらず、計算上は０より大きな酸素吸蔵量偏差が生じているような場合に、計算上の酸素吸蔵量偏差を速やかに０として、リッチ制御の実行を停止させることができる。このため、本実施形態のシステムによれば、酸素吸蔵量偏差が不足している環境下で、不当にリッチ制御が継続されるのを確実に防止することができる。
【０１８３】
次に、図１８乃至図２１を参照して、図３に示すＳ５００の内容、すなわち、本実施形態において実行される関連制御の制限について説明する。
図１８は、本実施形態のシステムにおいて実行される第１の関連制御の内容、具体的には、サブフィードバック制御の内容を説明するためのタイミングチャートである。
【０１８４】
上述の如く、本実施形態のシステムでは、メインO２センサ３４の出力に基づいた空燃比フィードバック制御が実行されている。これに加えて、本実施形態のシステムでは、サブO２センサ３６の出力を利用したサブフィードバック制御が実行されている。
【０１８５】
空燃比フィードバック制御の実行中は、図４（Ａ）に示すように、メインO２センサ３４の出力が、リッチ出力とリーン出力との間で反転を繰り返す。その結果、触媒３２に流れ込む排気ガスの空燃比が理論空燃比の近傍に維持される。この際、サブO２センサ３６がリッチ出力を発していれば（図１８（Ｂ）左欄）、触媒３２に流れ込む排気ガスの空燃比は、全体としてリッチに偏っていると判断できる。一方、サブO２センサ３６がリーン出力を発していれば（図１８（Ｂ）右欄）、触媒３２に流れ込む排気ガスの空燃比は、全体としてリーンに偏っていると判断できる。
【０１８６】
本実施形態のシステムでは、図１５を参照して、第２のリッチ制御の説明として既述した通り、空燃比フィードバック係数FAFのスキップ値を、増加側と減少側とで不均衡（増加スキップ値＞減少スキップ値）とすることで、排気空燃比をリッチに偏らせることができる。以下、この設定を「リッチ設定」と称す。また、増加スキップ値と減少スキップ値の大小関係を、上記関係から反転させれば、排気空燃比をリーン側に偏らせることができる。以下、この設定を「リーン設定」と称す。
【０１８７】
本実施形態において、サブフィードバック制御では、サブO２センサ３６がリッチ出力を発している場合には、FAFのスキップ値がリーン設定側に更新される。また、サブO２センサ３６がリーン出力を発していれば、FAFのスキップ値がリッチ設定側に更新される。そして、このようなサブフィードバック制御によれば、メインO２センサ３４の出力に基づく空燃比フィードバック制御の結果、全体としてリッチ側或いはリーン側に偏る空燃比を、理論空燃比側へ修正することができる。
【０１８８】
ところで、上述したサブフィードバック制御は、触媒３２に流れ込む排気ガスの空燃比が、空燃比フィードバック制御の機能により、リッチ側とリーン側に均等に振動していること、および、触媒３２が適正に酸化・還元能力を示すことを前提として行われる。従って、フューエルカットの直後など、触媒３２に酸素が過剰に吸蔵されているような環境下では、サブフィードバック制御によるスキップ値の更新が続けられると、燃料噴射時間TAUの過補正が生じ、空燃比の制御精度が却って悪化する事態が生じ得る。そこで、本実施形態のシステムは、触媒３２に酸素が過剰に吸蔵されている状況下では、サブフィードバック制御によるスキップ値の更新を禁止して、燃料噴射時間TAUの過補正等の問題を回避することとしている。
【０１８９】
図１９は、上記の機能を実現するために、図３に示す工程Ｓ５００において、ECU４０が実行する第１群の処理のフローチャートである。
図１９に示すルーチンでは、先ず、工程Ｓ４００で算出された酸素吸蔵量偏差、すなわち、上記図１７に示すルーチンにより算出された酸素吸蔵量偏差が、０より大きいか否かが判別される（ステップ５０２）。
【０１９０】
その結果、酸素吸蔵量偏差＞０が成立する場合は、サブフィードバック制御によるスキップ値の更新が禁止される（ステップ５０４）。
一方、酸素吸蔵量偏差＞０が成立しない場合は、サブフィードバック制御によるスキップ値の更新が許可される（ステップ５０６）。
【０１９１】
以上説明した通り、図１９に示すルーチンによれば、触媒３２の酸素吸蔵量が通常の値である場合に限り、サブフィードバック制御の実行を許可することができる。このため、本実施形態のシステムによれば、フューエルカットの直後などに、サブフィードバック制御の実行に伴って空燃比の制御精度が却って悪化するような事態が生ずるのを、有効に避けることができる。
【０１９２】
図２０は、本実施形態のシステムにおいて実行される第２の関連制御の内容、具体的には、メインO２センサ３４の出力と、サブO２センサ３６の出力との相関に基づく触媒３２の劣化判定処理の内容を説明するためのタイミングチャートである。ここで、図２０中、左側の欄に示すタイミングチャートは、触媒３２が十分に大きな最大酸素吸蔵量を有する場合に対応しており、一方、右側の欄に示すタイミングチャートは、触媒３２の最大酸素吸蔵量が僅かである場合に対応している。
【０１９３】
触媒３２は、十分に大きな最大酸素吸蔵量を有する場合には、大きな酸化能力および還元能力を発揮する。このため、このような場合は、メインO２センサ３４の出力と、サブO２センサ３６の出力との間に殆ど相関は見られず、サブO２センサ３６の出力は、リッチ出力或いはリーン出力で安定する。
【０１９４】
これに対して、触媒３２の最大酸素吸蔵量が僅かである場合は、触媒３２が排気ガスを十分に浄化し切れないため、触媒３２の上流で生ずる排気空燃比の変化が、そのまま触媒３２の下流に伝達される。このため、このような場合には、メインO２センサ３４の出力と、サブO２センサ３６の出力との間に、相関が現れる。
【０１９５】
触媒３２の最大酸素吸蔵量は、既述の通り、その劣化が進むに連れて減少する。従って、メインO２センサ３４の出力と、サブO２センサ３６の出力との間に、図２０中、右側の欄に示すような相関が認められる場合には、触媒３２に許容できない劣化が生じていると判断できる。そこで、本実施形態のシステムでは、それら２つのセンサ出力に、所定の相関が認められる場合に、触媒３２の劣化を判定することとしている。
【０１９６】
ところで、触媒３２の劣化を判定するための上記の手法は、触媒３２の酸素吸蔵量が最大酸素吸蔵量の５０％程度であることを前提としている。つまり、フューエルカットの直後など、触媒３２に能力一杯の酸素が吸蔵されているような場合には、触媒３２が劣化しており、最大酸素吸蔵量が低下していたとしても、メインO２センサ３４の出力と、サブO２センサ３６の出力との間には相関が現れない。この場合、見かけ上適正な状態が維持されるため、メインO２センサ３４の異常が見落とされてしまう。また、上記の状況とは逆に、触媒３２の酸素吸蔵量が非常に少ない状態でリッチ制御が継続されると、メインO２センサ３４の出力はリッチとリーンを繰り返す（平均的にはリッチ）にも関わらず、サブO２センサ３６の出力がリッチのまま維持され、両者間に相関が認められない事態が生ずる。この場合も、見かけ上は適正な状態が維持されるため、メインO２センサ３４の異常が見落とされてしまう。そこで、本実施形態のシステムは、触媒３２に酸素が過剰に吸蔵されている状況下では、上記の手法で触媒３２の劣化を判定することを禁止することとしている。
【０１９７】
図２１は、上記の機能を実現するために、図３に示す工程Ｓ５００において、ECU４０が実行する第２群の処理のフローチャートである。
図２１に示すルーチンでは、先ず、工程Ｓ４００で算出された酸素吸蔵量偏差、すなわち、上記図１７に示すルーチンにより算出された酸素吸蔵量偏差が、０より大きいか否かが判別される（ステップ５１０）。
【０１９８】
その結果、酸素吸蔵量偏差＞０が成立する場合は、センサ出力に相関に基づく触媒３２の劣化判定が禁止される（ステップ５１２）。
一方、酸素吸蔵量偏差＞０が成立しない場合は、センサ出力の相関に基づく触媒３２の劣化判定が許可される（ステップ５１４）。
【０１９９】
以上説明した通り、図２１に示すルーチンによれば、触媒３２の酸素吸蔵量が通常の値である場合に限り、センサ出力の相関に基づく触媒３２の劣化判定を許可することができる。このため、本実施形態のシステムによれば、フューエルカットの直後など、過剰な酸素吸蔵量が生じている環境下で、触媒３２の劣化が誤判定されるのを有効に防止することができる。
【０２００】
ところで、上述した実施の形態１においては、システムの構成として、図１および図２（Ｂ）に示す１触媒２センサ構成を用いることとしているが、その構成はこれに限定されるものではない。すなわち、本実施形態では、システムの構成として、図２（Ａ）に示す１触媒１センサ構成、或いは、図２（Ｃ）に示す２触媒２センサ構成を採用することとしてもよい。
【０２０１】
図３に示す工程Ｓ１００の処理は、触媒３２の前後にメインO２センサ３４とサブO２センサ３６が配置されることを要求する。従って、システムの構成として１触媒１センサ構成を用いる場合は、工程Ｓ１００により触媒３２の最大酸素吸蔵量を算出することはできない。この場合、触媒３２の最大酸素吸蔵量を固定値として、工程Ｓ２００以降の処理を実行すればよい。
【０２０２】
また、上述した実施の形態１では、触媒３２を１つだけ用いる１触媒２センサ構造が採られているため、サブO２センサ３６がリッチな排気空燃比を検出した場合には、その時点でリッチ制御を終了させることとしている（上記ステップ４２２，４２４参照）。しかしながら、システムの構成として、２つの触媒３２，４４を用いる２触媒２センサ構成が用いられる場合は、上流触媒３２の下流にリッチな排気ガスが排出されても、その排気ガスは下流触媒４４により浄化することができる。このため、この場合は、サブO２センサ３６によりリッチな排気空燃比が検出された場合に、その時点で酸素吸蔵量偏差を０とせず、以後、酸素吸蔵量偏差が計算上０となるまで、リッチ制御を継続することとしてもよい。
【０２０３】
尚、上述した実施の形態１においては、メインO２センサ３４が前記請求項１記載の「メインセンサ」に、サブO２センサ３６が前記請求項１記載の「サブセンサ」に、それぞれ相当していると共に、ECU４０が、空燃比フィードバック制御を実行することにより前記請求項１記載の「噴射量制御手段」が、所定の条件下でフューエルカットを行うことにより前記請求項１記載の「フューエルカット手段」が、上記ステップ１０４〜１１６の処理を実行することにより前記請求項１記載の「増加酸素量算出手段」が、上記ステップ１３４の処理を実行することにより前記請求項１記載の「最大酸素吸蔵量算出手段」が、それぞれ実現されている。
【０２０４】
また、上述した実施の形態１においては、ECU４０が、上記ステップ１１８の処理を実行することにより前記請求項２記載の「触媒温度取得手段」が、上記ステップ１２０の処理を実行することにより前記請求項２記載の「吸蔵量補正手段」が、それぞれ実現されている。
【０２０５】
また、上述した実施の形態１においては、ECU４０が、リッチ運転を行うことにより前記請求項１記載の「リッチ運転実現手段」が、上記ステップ１０６の処理を実行することにより前記請求項１記載の「吸蔵量算出禁止手段」が、それぞれ実現されている。
【０２０６】
また、上述した実施の形態１においては、ECU４０が、上記図４に示すルーチンを実行することにより前記請求項３記載の「触媒劣化判定手段」が実現されている。
【０２０７】
また、上述した実施の形態１においては、ECU４０が、上記ステップ６１６〜６２０の処理を実行することにより前記請求項４記載の「メインセンサ異常判定手段」が、上記ステップ６２２〜６２６の処理を実行することにより前記請求項４記載の「サブセンサ異常判定手段」が、それぞれ実現されている。
【０２０８】
また、上述した実施の形態１においては、ECU４０が、上記図７および図８に示すルーチンを実行することにより前記請求項５記載の「最大酸素吸蔵量取得手段」が、所定の条件下でフューエルカットを行うことにより前記請求項５記載の「フューエルカット手段」が、上記ステップ２０４および２０６の処理を実行することにより前記請求項５記載の「流入酸素量算出手段」が、上記ステップ２０８〜２１２の処理を実行することにより前記請求項５記載の「偏差初期値設定手段」が、上記ステップ３１４、３２０および３２２の処理を実行することにより前記請求項５記載の「リッチ制御の実現手段」が、上記ステップ３０６〜３２２の処理を実行することにより前記請求項５記載の「リッチ制御実行手段」が、それぞれ実現されている。
【０２０９】
また、上述した実施の形態１においては、ECU４０が、上記ステップ２２０および２２２の処理を実行することにより前記請求項６記載の「始動時活性状態判定手段」が、上記ステップ２２４の処理を実行することにより前記請求項６記載の「強制設定手段」が、それぞれ実現されている。
【０２１０】
また、上述した実施の形態１においては、ECU４０が、上記ステップ３０６の処理を実行することにより前記請求項７記載の「リッチ制御開始手段」が実現されている。
【０２１１】
また、上述した実施の形態１においては、ECU４０が、FAFを用いてTAUを算出することにより前記請求項８記載の「噴射量算出手段」が、メインO２センサ３４の出力に基づいてFAFを更新することにより前記請求項８記載の「フィードバック係数更新手段」が、上記ステップ３１４の処理を実行することにより前記請求項８記載の「第１実現手段」が、上記ステップ３１８〜３２２の処理を実行することにより前記請求項８記載の「第２実現手段」が、上記ステップ３０８の処理を実行することにより前記請求項８記載の「選択手段」が、それぞれ実現されている。
【０２１２】
また、上述した実施の形態１においては、ECU４０が、上記図１３に示すルーチンを実行することにより前記請求項９記載の「触媒活性状態判定手段」が、上記ステップ３０４の処理を実行することにより前記請求項９記載の「リッチ制御実行禁止手段」が、それぞれ実現されている。
【０２１３】
また、上述した実施の形態１においては、ECU４０が、上記ステップ４１２または４１８の処理を実行することにより前記請求項１０記載の「放出酸素量算出手段」が、上記ステップ４１４および４２０の処理を実行することにより前記請求項１０記載の「偏差算出手段」が、上記ステップ３０６の処理を実行することにより前記請求項１０記載の「リッチ制御終了手段」が、それぞれ実現されている。
【０２１４】
また、上述した実施の形態１においては、サブO２センサ３６が前記請求項１１記載の「サブセンサ」に相当していると共に、ECU４０が、上記ステップ４２２および４２４の処理を実行することにより前記請求項１１記載の「偏差リセット手段」が実現されている。
【０２１５】
また、上述した実施の形態１においては、サブO２センサ３６が前記請求項１２記載の「サブセンサ」に相当していると共に、ECU４０が、サブO２センサ３６の出力に基づくサブフィードバック制御を実行することにより前記請求項１２記載の「サブフィードバック手段」が、上記図１９に示すルーチンを実行することにより前記請求項１２記載の「サブフィードバック禁止手段」が、それぞれ実現されている。
【０２１６】
また、上述した実施の形態１においては、メインO２センサ３４が前記請求項１３記載の「メインセンサ」に、サブO２センサ３６が前記請求項１３記載の「サブセンサ」にそれぞれ相当していると共に、ECU４０が、メインO２センサ３４の出力とサブO２センサ３６の出力の相関に基づいて触媒３２の劣化を判定することにより前記請求項１３記載の「触媒劣化判定手段」が、上記図２１に示すルーチンを実行することにより前記請求項１３記載の「触媒劣化判定禁止手段」が、それぞれ実現されている。
【０２１７】
実施の形態２．
次に、実施の形態１の説明において参照した図面に加えて、更に図２２乃至図２４を参照して、本発明の実施の形態２について説明する。
本実施形態のシステムは、図２（Ｃ）に示す２触媒２センサ構成を有している。すなわち、本実施形態のシステムは、排気通路１４に、上流触媒３２と下流触媒４４とからなる触媒ユニット４６を備えている。
【０２１８】
排気通路１４に一つだけ触媒３２が配置される構成、すなわち、図２（Ａ）に示す１触媒１センサ構成や図２（Ｂ）に示す１触媒２センサ構成では、フューエルカットの後に、触媒３２を適正な状態に回復させる必要がある。これに対して、本実施形態のシステムでは、２つの触媒３２，４４を含む触媒ユニット４６が、フューエルカットの後に、全体として適正な酸化能力および還元能力を回復することが望ましい。そこで、本実施形態のシステムでは、触媒ユニット４６を対象として最大酸素吸蔵量や酸素吸蔵量偏差を算出し、フューエルカットの後に、触媒ユニット４６が適正状態に復帰するように、リッチ制御を実行することとしている。
【０２１９】
本実施形態において、ECU４０による主な処理は、実施の形態１の場合と同様に、図３に示すフローチャートに沿って進められる。以下、図３に示す個々の工程につき、実施の形態１の場合と相違する点を中心として説明を行う。
【０２２０】
本実施形態において、図３に示す工程Ｓ１００では、図７および図８に示すルーチンと共に、図２２に示すルーチンが実行される。
図２２に示すルーチンは、図７および図８に示すルーチンにより算出された上流触媒３２の最大酸素吸蔵量と、予め固定値としてECU４０に記憶されている下流触媒４４の最大酸素吸蔵量とに基づいて、触媒ユニット４６の最大酸素吸蔵量を算出するためのルーチンである。
【０２２１】
図２２に示すルーチンは、ECU４０が実行するメインの処理において、図７および図８に示すルーチンに続いて実行される。
このルーチンでは、先ず、下流触媒４４の最大酸素吸蔵量としてECU４０に記憶されている値、すなわち、下流最大酸素吸蔵量が読み出される（ステップ１４０）。
【０２２２】
次に、図７および図８に示すルーチンにより算出された上流触媒３２の最大酸素吸蔵量と、上記ステップ１４０で取得した下流最大酸素吸蔵量とを加算することで、触媒ユニット４６の最大酸素吸蔵量が算出される（ステップ１４２）。
【０２２３】
以上説明した通り、本実施形態では、工程Ｓ１００において、上流触媒３２の最大酸素吸蔵量の他に、下流触媒４４の最大酸素吸蔵量、および触媒ユニット４６の最大酸素吸蔵量を取得することができる。
【０２２４】
本実施形態において、図３に示す工程Ｓ２００では、図１１および図１２に示すルーチンと共に、図２３に示すルーチンが実行される。
図１１および図１２に示すルーチンは、フューエルカットの終了時、或いは内燃機関１０の始動時に、酸素吸蔵量偏差の初期値を設定するためのルーチンである。本実施形態において、これらのルーチンは、触媒ユニット４６の酸素吸蔵量偏差の初期値を設定するために実行される。
【０２２５】
尚、それらのルーチンにおいて、上記の機能は、ステップ２０８または２２４で用いられる「最大酸素吸蔵量」を触媒ユニット４６の最大酸素吸蔵量とし、かつ、ステップ２１０、２１２、または２２４で算出される「酸素吸蔵量偏差の初期値」を、触媒ユニット４６の酸素吸蔵量偏差の初期値として記憶することにより実現することができる。
【０２２６】
図２３に示すルーチンは、ECU４０が、フューエルカットの終了時に、下流触媒４４の酸素吸蔵量偏差の初期値を算出するために実行するルーチンである。図２３に示すルーチンは、ECU４０が実行するメインの処理において、図１１および図１２に示すルーチンに続いて実行される。
【０２２７】
このルーチンでは、先ず、フューエルカットが実行されているか否かが判別される（ステップ２３０）。
【０２２８】
本実施形態のシステムは、下流触媒４６の酸素吸蔵量偏差の初期値を算出するために必要なデータを、フューエルカット中に取得する。このため、フューエルカットが実行されていないと判別された場合は、以後、速やかに図２３に示すルーチンが終了される。一方、フューエルカットが実行されていると判別された場合は、次に、サブO２センサ３６がリーンな空燃比を検出したかが判別される（ステップ２３２）。
【０２２９】
サブO２センサ３６がリーンな空燃比を検出していない間は、フューエルカットに伴って流通する空気中の酸素が上流触媒３２により吸蔵されており、下流触媒４６の酸素吸蔵量は増加していないと判断できる。この場合、以後、図２３に示す他の全ての処理がジャンプされる。
【０２３０】
一方、サブO２センサ３６がリーンな空燃比を検出していると判別される場合は、上流触媒３２が既に能力一杯に酸素を吸蔵しており、下流触媒４６に、酸素が流入していると判断できる。この場合、図２３に示すルーチンでは、その時点からフューエルカットが終了するまでの間に生じた吸入空気量Gaの積算値（以下、「下流積算吸入空気量」と称す）が算出される（ステップ２３４）。
【０２３１】
下流積算吸入空気量は、サブO２センサ３６がリーンな空燃比を検出した後、フューエルカットが停止までの期間中、エアフロメータ２０により検出される吸入空気量Gaを積算することで算出することができる。但し、下流積算吸入空気量は、フューエルカット中に生ずる吸入空気量Gaの基準値（固定値）に、上記の期間の継続時間を掛け合わせることにより求めてもよい。
【０２３２】
下流積算吸入空気量が算出されたら、その算出値に空気中の酸素割合（０．２３）を掛け合わせることにより、フューエルカット中に下流触媒４４に流入した酸素量（以下、「下流流入酸素量」と称す）が算出される（ステップ２３６）。
【０２３３】
次いで、上記ステップ２３６で算出された下流流入酸素量が、下流偏差ガード値より小さいか否かが判別される（ステップ２３８）。
ここで、下流偏差ガード値は、上記ステップ１４０で取得した下流最大酸素吸蔵量に、所定割合β（例えば、１／５）を掛け合わせた値である。従って、本ステップ２３８では、具体的には、ステップ２３６で算出された下流流入酸素量が、下流触媒４４の最大酸素吸蔵量のβ倍より少ないか否かが判別されている。
【０２３４】
上記ステップ２３８において、下流流入酸素量＜下流偏差ガード値（下流最大酸素吸蔵量＊β）が成立すると判別された場合は、その下流流入酸素量が、下流触媒４４の酸素吸蔵量偏差の初期値、すなわち、下流酸素吸蔵量偏差の初期値に設定される（ステップ２４０）。
一方、上記ステップ２３８の条件が成立しないと判別された場合は、下流偏差ガード値（下流最大酸素吸蔵量＊β）が下流酸素吸蔵量偏差の初期値に設定される（ステップ２４２）。
【０２３５】
下流酸素吸蔵量偏差は、触媒ユニット４６に所望の還元能力を付与するために、下流触媒４４から放出させるべき酸素量を意味する値である。図２３に示す処理によれば、フューエルカットが終了すると同時に、フューエルカット中に下流触媒４４に流入した酸素の量と、下流最大酸素吸蔵量＊βに設定された下流偏差ガード値のうち、小さい方を、下流酸素吸蔵量偏差の初期値、すなわち、その後のリッチ制御で下流触媒４４から放出させるべき酸素量として設定することができる。
【０２３６】
つまり、図２３に示す処理によれば、フューエルカットの実行中に、下流最大酸素吸蔵量のβ倍に満たない少量の酸素しか下流触媒４４に流入しなかった場合には、その下流流入酸素量を、その後のリッチ制御で下流触媒４４から放出させるべき酸素量として設定することができる。この場合、フューエルカット中、およびリッチ制御中に下流触媒４４の酸素吸蔵量に生ずる増減量が少量であることから、リッチ制御の実行により、下流触媒４４の状態を、比較的容易にフューエルカットの実行前の状態、すなわち、酸化能力および還元能力を適正に発揮状態に復帰させることができる。
【０２３７】
また、図２３に示す処理によれば、フューエルカットの実行中に、下流最大酸素吸蔵量のβ倍を超える多量の酸素が下流触媒４４に流入した場合には、下流最大酸素吸蔵量のβ倍を、その後のリッチ制御で下流触媒４４から放出させるべき酸素量として設定することができる。この場合、リッチ制御によって不当に多量の酸素が下流触媒４４から放出されてしまうのを確実に防止することができると共に、リッチ制御の終了時に、下流触媒４４の酸素吸蔵能力に、最大酸素吸蔵量のβ倍にあたる余力を確実に与えることができる。
【０２３８】
前者の効果（過剰酸素放出防止効果）によれば、リッチ制御の終了時点で、触媒ユニット４６が適正な酸化能力を発揮することを保証することができる。また、後者の効果により下流触媒４４に確保される酸素吸蔵能力の余力（下流最大酸素吸蔵量のβ倍）は、上流触媒３２の最大酸素吸蔵量と合わせると、触媒ユニット４６が所望の還元能力を発揮するのに十分な値である。従って、図２３に示すルーチンによれば、リッチ制御が終了する段階で、触媒ユニット４６に適正な還元能力を取り戻させることができる。
【０２３９】
以上説明した通り、図２３に示すルーチンによれば、フューエルカットの終了時に、下流酸素吸蔵量偏差の初期値を適正な値に設定することができる。そして、その設定値に従って後にリッチ制御が実行されると、その制御の終了時には、触媒ユニットを、適正に酸化能力および還元能力を発揮する状態に回復させることができる。
【０２４０】
ところで、上記の説明においては、下流酸素吸蔵量偏差の初期値を設定する際に用いた下流偏差ガード値を、下流最大酸素吸蔵量のβ倍（例えば１／５倍）としているが、そのガード値はこれに限定されるものではない。すなわち、下流偏差ガード値は、触媒ユニット４６の最大酸素吸蔵量の１／２以上の酸素がリッチ制御の過程で触媒ユニット４６から放出されるのを防止し、かつ、リッチ制御の終了時点で、触媒ユニット４６に、所望の還元能力を付与し得る値であればよい。
【０２４１】
具体的には、本実施形態において、下流偏差ガード値は、下記の要求を満たす任意の値であればよい。
(1)下流最大酸素吸蔵量から、触媒ユニット４６の最大酸素吸蔵量の１／２を減じた値より大きいこと、かつ、
(2)上流触媒３２の最大酸素吸蔵量との和が、所望の還元能力を持たせるために触媒ユニット４６内に確保すべき酸素吸蔵能力の余力より大きい値となること、すなわち、所望の還元能力を発揮するために触媒ユニット４６が有するべき酸素吸蔵能力の余力から、上流触媒３２の最大酸素吸蔵量を減じた値より大きいこと。
【０２４２】
また、上記の説明では、内燃機関１０の始動時に酸素吸蔵量偏差の初期値を設定する処理（図１２に示す処理）は、触媒ユニット４６についてのみ実行されることとしているが、本実施形態の構成は、これに限定されるものではない。すなわち、本実施形態においては、図１２に示す処理と同様の手順で、内燃機関１０の始動時に下流酸素吸蔵量偏差の初期値を設定することとしてもよい。
【０２４３】
以上説明した通り、本実施形態では、工程Ｓ２００の処理により、フューエルカットの終了時に、或いは内燃機関１０の始動時に、触媒ユニット４６の酸素吸蔵量偏差の初期値と、下流触媒４４の酸素吸蔵量偏差の初期値を、それぞれ適正な値に設定することができる。
【０２４４】
本実施形態において、図３に示す工程Ｓ３００では、実施の形態１の場合と同様の処理が実行される。すなわち、工程Ｓ３００では、図１５に示すフローチャートの手順に従って、酸素吸蔵量偏差＞０が成立しないと判別されるまで（ステップ３０６参照）リッチ制御が実行される。
【０２４５】
本実施形態において、図３に示す工程Ｓ４００では、上記図１７に示すルーチンに代えて、図２４に示すルーチンが実行される。
図２４は、本実施形態において、ECU４０が、リッチ制御の実行に伴って、触媒ユニット４６の酸素吸蔵量偏差、および下流触媒４４の酸素吸蔵量偏差を減算するために実行するルーチンのフローチャートである。尚、図２４において、上記図１７に示すステップと同一のステップについては、同一の符号を付してその説明を省略または簡略する。
【０２４６】
図２４に示すルーチンにおいて、ステップ４０２〜４２２の処理は、図１７に示すステップと同一である。但し、それらのステップ中、ステップ４１４および４２０では、触媒ユニット４６の酸素吸蔵量偏差の初期値から放出酸素量が減算され、その結果、触媒ユニット４６の酸素吸蔵量偏差が算出されるものとする。
【０２４７】
上記ステップ４２２において、サブO２センサ３６がリッチな空燃比を検出したと判別された場合は、上流触媒３２の酸素が使い果たされて、その下流にHCやCOを含む排気ガスが流出していると判断できる。また、上流触媒３２の下流にHCやCOを含む排気ガスが排出されている場合は、その排気ガスを浄化するために、下流触媒４４の酸素が放出されていると判断できる。図２４に示すルーチンでは、この場合、次に、下流触媒４４から放出された酸素量の積算値、すなわち、下流放出酸素量が算出される（ステップ４３０）。
【０２４８】
リッチ制御が開始された後、下流触媒４４の吸蔵酸素が放出され始めるのは、通常、第２のリッチ制御が開始された後である。このため、上記ステップ４３０では、上記ステップ４１８と同様の手法で下流放出酸素量が算出される。より具体的には、サブO２センサ３６がリッチな空燃比を検出した後に下流触媒４４に流入した空気の積算量に、FAFskipリッチ時A/Fを掛け合わせることにより下流放出酸素量が算出される。
【０２４９】
尚、本実施形態では、第１のリッチ制御の実行中に下流触媒４４の吸蔵酸素が放出され始めることはない、との前提の下に、下流放出酸素量の算出手法を、上記の如く第２のリッチ制御に対応した手法に限定しているが、その算出手法はこれに限定されるものではない。すなわち、第１のリッチ制御の実行中に下流触媒４４の吸蔵酸素が放出される可能性がある場合は、その算出手法として、第１のリッチ制御に対応する手法（上記ステップ４１２と同様の手法）と、第２のリッチ制御に対応する手法とを、選択的に用いることとしてもよい。
【０２５０】
図２４に示すルーチンでは、次に、上記ステップ４３０の処理により算出された下流放出酸素量を、下流酸素吸蔵量偏差の初期値から減算することにより下流、酸素吸蔵量偏差が算出される（ステップ４３２）。
【０２５１】
次に、上記の処理により算出された下流酸素吸蔵量偏差が、０より大きいか否かが判別される（ステップ４３４）。
【０２５２】
その結果、下流酸素吸蔵量偏差＞０が成立すると判別される場合は、未だ、下流触媒４４から、十分な酸素が放出されていないと判断することができる。この場合、ステップ４３６の処理がジャンプされ、速やかに図２４に示すルーチンが終了される。図２４に示すルーチンがこのようにして終了された場合は、未だ０より大きな酸素吸蔵量偏差が認識されているため、以後、リッチ制御は継続される。
【０２５３】
一方、上記ステップ４３４において、下流酸素吸蔵量偏差＞０が成立しないと判別された場合は、触媒ユニット４６に所望の還元能力を与えるための酸素が、下流触媒４４から既に放出されたと判断することができる。つまり、この場合は、リッチ制御の終了条件が既に成立していると判断できる。図２４に示すルーチンでは、この場合、酸素吸蔵量偏差を０とする処理が行われる（ステップ４３６）。
【０２５４】
図２４に示すルーチンが上記ステップ４３６を経て終了された場合は、次回の処理サイクル時には、工程Ｓ３００において、酸素吸蔵量偏差＞０が不成立であると判別される（図１１、ステップ３０６参照）。従って、この場合は、今回の処理サイクルをもってリッチ制御の実行が終了される。
【０２５５】
このように、図２４に示すルーチンによれば、触媒ユニット４６の酸素吸蔵量偏差、および下流触媒４４の酸素吸蔵量偏差の何れか一方が０以下となった時点で、リッチ制御を終了させることができる。
【０２５６】
本実施形態において、図３に示す工程Ｓ５００では、実施の形態１の場合と同様の処理が実行される。すなわち、工程Ｓ５００では、図１９または図２１に示すフローチャートの手順に従って、酸素吸蔵量偏差＞０が成立する場合には、サブフィードバック制御の実行、および触媒３２の劣化判定が禁止される。
【０２５７】
以上説明した通り、本実施形態のシステムでは、触媒ユニット４６全体の酸素吸蔵量偏差と、下流触媒４４単体の酸素吸蔵量偏差とをそれぞれ別個に監視し、それらの何れか一方が０以下となった時点でリッチ制御を終了させることができる。このような手法によれば、排気通路１４に２つの触媒３２，４４が存在する場合に、下流触媒４４より更に下流に未浄化の排気ガスが流出するのを確実に防止しながら、それら２つの触媒３２，４４からなる触媒ユニット４６の酸素吸蔵能力を効率的に利用することができる。このため、本実施形態のシステムによれば、フューエルカットの直後や内燃機関１０の始動直後を含めて、あらゆる状況下で優れた排気エミッション特性を実現することができる。
【０２５８】
ところで、上述した実施の形態２においては、工程Ｓ１００において、上流触媒３２の最大酸素吸蔵量を算出し、その算出値と下流触媒４４の最大酸素吸蔵量とを加算することで触媒ユニット４６の最大酸素吸蔵量を取得することとしているが、本発明は、これに限定されるものではない。すなわち、触媒ユニット４６の最大酸素吸蔵量は、下流触媒４４の最大酸素吸蔵量と同様に、固定値としてECU４０に予め記憶させておくこととしてもよい。
【０２５９】
また、上述した実施の形態２においては、システムの構成として、図２（Ｃ）に示す２触媒２センサ構成を用いることとしているが、その構成はこれに限定されるものではない。すなわち、本実施形態では、システムの構成として、図２（Ｄ）に示す２触媒３センサ構成を採用することとしてもよい。
【０２６０】
２触媒３センサ構成を用いる場合は、メインO２センサ３４とサブO２センサとを利用して、上記の如く上流触媒３２の最大酸素吸蔵量が算出できると共に、メインO２センサ３４と第２サブO２センサ４８とを利用することで、触媒ユニット４６の最大酸素吸蔵量が算出でき、更に、サブO２センサ３６と第２サブO２センサ４８とを利用することにより、下流触媒４４の最大酸素吸蔵量が算出できる。このため、２触媒３センサ構成を用いる場合は、工程Ｓ１００において、触媒ユニット４６の最大酸素吸蔵量、並びに下流触媒４４の最大酸素吸蔵量を、それぞれ算出により取得することとしてもよい。
【０２６１】
尚、上述した実施の形態２においては、サブO２センサ３６が前記請求項１４記載の「サブセンサ」に相当している。また、上述した実施の形態２においては、ECU４０が、所定の条件下でフューエルカットを行うことにより前記請求項１４記載の「フューエルカット手段」が、上記ステップ２０４および２０６の処理を実行することにより前記請求項１４記載の「ユニット流入酸素量算出手段」が、上記ステップ２０８〜２１２の処理を実行することにより前記請求項１４記載の「ユニット偏差初期値設定手段」が、上記ステップ２３４および２３６の処理を実行することにより前記請求項１４記載の「下流流入酸素量算出手段」が、上記ステップ２３８〜２４２の処理を実行することにより前記請求項１４記載の「下流偏差初期値設定手段」が、上記ステップ３１４、３２０および３２２の処理を実行することにより前記請求項１４記載の「リッチ制御の実現手段」が、上記ステップ３０６〜３２２の処理を実行することにより前記請求項１４記載の「リッチ制御実行手段」が、上記ステップ４１２または４１８の処理を実行することにより前記請求項１４記載の「ユニット放出酸素量算出手段」が、上記ステップ４１４および４２０の処理を実行することにより前記請求項１４記載の「ユニット偏差算出手段」が、上記ステップ４３０の処理を実行することにより前記請求項１４記載の「下流放出酸素量算出手段」が、上記ステップ４３２の処理を実行することにより前記請求項１４記載の「下流偏差算出手段」が、上記ステップ３０６、４３４および４３６の処理を実行することにより前記請求項１４記載の「リッチ制御終了手段」が、それぞれ実現されている。
【０２６２】
また、上述した実施の形態２においては、ECU４０が、上記ステップ１４２の処理を実行することにより前記請求項１５記載の「ユニット最大酸素吸蔵量取得手段」が実現されている。
【０２６３】
また、上述した実施の形態２においては、ECU４０が、上記ステップ１４０の処理を実行することにより前記請求項１６記載の「下流最大酸素吸蔵量取得手段」が実現されている。
【０２６４】
また、上述した実施の形態２においては、メインO２センサ３４が前記請求項１７記載の「メインセンサ」に相当していると共に、ECU４０が、空燃比フィードバック制御を実行することにより前記請求項１７記載の「噴射量制御手段」が、上記ステップ１０４〜１１６の処理を実行することにより前記請求項１７記載の「上流増加酸素量算出手段」が、上記ステップ１３４の処理を実行することにより前記請求項１７記載の「上流最大酸素吸蔵量算出手段」が、上記ステップ１４０の処理を実行することにより前記請求項１７記載の「下流最大酸素吸蔵量取得手段」が、上記ステップ１４２の処理を実行することにより前記請求項１７記載の「加算手段」が、それぞれ実現されている。
【０２６５】
また、上述した実施の形態２においては、第２サブO２センサ４８が前記請求項１８記載の「第２サブセンサ」に相当していると共に、ECU４０が、空燃比フィードバック制御を実行することにより前記請求項１８記載の「噴射量制御手段」が実現されている。更に、この実施形態においては、ECU４０に、サブO２センサ３６と第２サブO２センサ４８を利用して、上記ステップ１０４〜１１６と同様の手順で、触媒ユニット４６に流れ込んだ酸素量を算出させることにより前記請求項１８記載の「下流増加酸素量算出手段」を、上記ステップ１３４と同様の手順で下流触媒４４の最大酸素吸蔵量を算出させることにより前記請求項１８記載の「下流最大酸素吸蔵量算出手段」を、それぞれ実現することができる。
【０２６６】
また、上述した実施の形態２においては、ECU４０が、上記ステップ２２０および２２２の処理を実行することにより前記請求項１９記載の「始動時活性状態判定手段」が、上記ステップ２２４の処理を実行することにより前記請求項１９記載の「第１強制設定手段」が、それぞれ実現されている。また、この実施形態では、ECU４０に、下流触媒４４を対象として上記ステップ２２４に対応する処理を実行させることにより、前記請求項１９記載の「第２強制設定手段」を実現することができる。
【０２６７】
【発明の効果】
この発明は以上説明したように構成されているので、以下に示すような効果を奏する。
請求項１記載の発明によれば、フューエルカットが開始された後、サブセンサが空気に対応する出力を発するまでに触媒に流れ込んだ酸素量を、触媒の酸素吸蔵量の増加分、すなわち、増加酸素量として算出することができる。そして、その増加酸素量を、最大酸素吸蔵量の５０％とみなすことができる。フューエルカットの開始前は、触媒内に、ほぼ酸素吸蔵量の５０％にあたる酸素が吸蔵されている。このため、上記のみなし処理によれば、最大酸素吸蔵量を精度良く推定することができる。
また、この発明によれば、フューエルカットが、増量補正の直後に実行された場合に、最大酸素吸蔵量の算出を禁止することができる。増量補正中は、触媒内の酸素が消費され、その酸素吸蔵状態が通常の状態でなくなるため、そのような環境下で最大酸素吸蔵量が算出されると、不適正な値が算出される。本発明によれば、そのような不適正な算出が実行されるのを有効に防止することができる。
【０２６８】
請求項２記載の発明によれば、触媒温度が標準温度である場合に確保される最大酸素吸蔵量を、精度良く算出することができる。
【０２７０】
請求項３記載の発明によれば、触媒の劣化を精度良く判定することができる。
【０２７１】
請求項４記載の発明によれば、メインセンサの異常、或いはサブセンサの異常を精度良く判定することができる。
【０２７２】
請求項５記載の発明によれば、フューエルカットの終了後に、酸素吸蔵量偏差の初期値に相当する量の酸素が触媒から放出されるように、リッチ制御を実行することができる。この際、酸素吸蔵量偏差の初期値は、最大酸素吸蔵量の１／２以下であり、かつ、触媒に所望の還元能力を持たせるために必要な酸素吸蔵容量以上の値（偏差ガード値）にガードされる。このため、本発明によれば、リッチ制御を実行することで、触媒の酸素吸蔵量が過小となるのを避けつつ、触媒に対して、確実に所望の還元能力を付与することができる。
【０２７３】
請求項６記載の発明によれば、内燃機関の始動時に触媒が活性状態であった場合には、酸素吸蔵量偏差の初期値に偏差ガード値を代入することができる。内燃機関の始動時には、触媒内に空気が流通する。従って、その時点で触媒が既に活性状態であれば、触媒内には多量の酸素が吸蔵される。本発明によれば、その状況を酸素吸蔵量偏差の初期値に正確に反映させることができる。
【０２７４】
請求項７記載の発明によれば、フューエルカットの終了時に、酸素吸蔵量偏差の初期値が０より大きい場合に、リッチ制御を開始させることができる。
【０２７５】
請求項８記載の発明によれば、アイドル時には空燃比フィードバック係数の嵩上げによりリッチ制御を実現し、非アイドル時には空燃比フィードバック係数の増大速度の非対象化によってリッチ制御を実現することができる。このため、本発明によれば、アイドル時には、大きな回転変動を生じさせることなく空燃比をリッチ化させることができ、また、非アイドル時には継続的に空燃比をリッチ化させることができる。
【０２７６】
請求項９記載の発明によれば、触媒が非活性である場合には、リッチ制御の実行を禁止することができる。触媒は、非活性の状態では、十分な酸素吸蔵能力を発揮しない。従って、そのような状況下でリッチ制御が実行されると、HCやCOが吹き抜けて排気エミッションが悪化することがある。本発明によれば、そのような排気エミッションの悪化を確実に防止することができる。
【０２７７】
請求項１０記載の発明によれば、リッチ制御に伴って触媒から酸素が放出されるのに対応して、酸素吸蔵量偏差（放出すべき酸素量）を更新することができる。そして、酸素吸蔵量偏差が０以下となった時点でリッチ制御を終了させることにより、適正なタイミングでリッチ制御を終了させることができる。
【０２７８】
請求項１１記載の発明によれば、触媒の下流にリッチな排気ガスが流出してきた時点で酸素吸蔵量偏差を０以下とすることができる。触媒の下流には、触媒内の酸素がほぼ完全に放出された時点でリッチな排気ガスが流出する。従って、そのような状況下では、速やかにリッチ制御を終了することが要求される。本発明によれば、その状況が生じた場合に、酸素吸蔵量偏差を０として、速やかに上記の要求に応えることができる。
【０２７９】
請求項１２記載の発明によれば、酸素吸蔵量偏差が所定値より大きい場合には、サブセンサの出力を燃料噴射量の算出に反映させる係数の更新を禁止することができる。酸素吸蔵量偏差が所定値より大きい場合は、触媒が酸素過多の状態である。この場合、触媒下流に位置するサブセンサの出力は、通常の値と異なる値を示し易い。本発明によれば、このような状況下で、不適切な制御が実行されるのを有効に防止することができる。
【０２８０】
請求項１３記載の発明によれば、酸素吸蔵量偏差が所定値より大きい場合には、サブセンサの出力とメインセンサの出力との相関に基づく触媒の劣化判定が禁止される。酸素吸蔵量偏差が所定値より大きい場合は、触媒が酸素過多の状態である。この場合、触媒下流に位置するサブセンサの出力は、通常の値と異なる値を示し易い。本発明によれば、このような状況下で、触媒の劣化判定が誤って行われるのを有効に防止することができる。
【０２８１】
請求項１４記載の発明によれば、フューエルカットの終了時点で、触媒ユニットの酸素吸蔵量偏差の初期値と、下流触媒の酸素吸蔵量偏差の初期値とを求めることができる。また、その後リッチ制御の実行中に、触媒ユニットから流出する酸素量に基づいてユニット酸素吸蔵量偏差を算出し、更に、下流触媒から流出する酸素量に基づいて下流酸素吸蔵量偏差を算出することができる。そして、ユニット酸素吸蔵量偏差および下流酸素吸蔵量偏差の少なくとも一方が０以下となった時点で、リッチ制御を終了させることができる。このような手順によれば、触媒ユニットから過剰に酸素が放出されてしまうのを確実に防止しつつ、下流触媒の更に下流に、リッチな排気ガスが吹き抜けるのを確実に防止することができる。
【０２８２】
請求項１５記載の発明によれば、触媒ユニットの酸素吸蔵量偏差の初期値を、触媒ユニットの最大酸素吸蔵量の１／２以下であり、かつ、触媒ユニットに所望の還元能力を持たせるために必要な酸素吸蔵容量以上の値（ユニット偏差ガード値）にガードすることができる。このため、本発明によれば、リッチ制御を実行することで、触媒ユニットの酸素吸蔵量が過小となるのを避けつつ、触媒ユニットに対して、確実に所望の還元能力を付与することができる。
【０２８３】
請求項１６記載の発明によれば、下流触媒の酸素吸蔵量偏差の初期値を、触媒ユニットから過剰に酸素が放出されるのを防止し、かつ、触媒ユニットに所望の還元能力を持たせるために必要な値とすることができる。このため、本発明によれば、リッチ制御を実行することで、触媒ユニットの酸素吸蔵量が過小となるのを避けつつ、下流触媒に対して、確実に所望の還元能力を付与することができる。
【０２８４】
請求項１７記載の発明によれば、フューエルカットが開始された後、サブセンサが空気に対応する出力を発するまでに触媒に流れ込んだ酸素量を、上流触媒の酸素吸蔵量の増加分、すなわち、上流増加酸素量として算出することができる。そして、その上流増加酸素量を、最大酸素吸蔵量の５０％とみなして、上流触媒の最大酸素吸蔵量を算出することができる。フューエルカットの開始前は、上流触媒内に、ほぼ酸素吸蔵量の５０％にあたる酸素が吸蔵されている。このため、上記のみなし処理によれば、上流触媒の最大酸素吸蔵量を精度良く推定することができる。更に、本発明によれば、上記の如く算出された上流触媒の最大酸素吸蔵量を、下流触媒の最大酸素吸蔵量に加えることにより、触媒ユニットの最大酸素吸蔵量を精度良く算出することができる。
【０２８５】
請求項１８記載の発明によれば、サブセンサが空気に対応する出力を発した後、第２サブセンサが空気に対応する出力を発するまでに触媒に流れ込んだ酸素量を、下流触媒の酸素吸蔵量の増加分、すなわち、下流増加酸素量として算出することができる。そして、その下流増加酸素量を最大酸素吸蔵量の５０％とみなして、下流触媒の最大酸素吸蔵量を算出することができる。フューエルカットの開始前は、下流触媒内に、ほぼ酸素吸蔵量の５０％にあたる酸素が吸蔵されている。このため、上記のみなし処理によれば、下流触媒の最大酸素吸蔵量を精度良く推定することができる。
【０２８６】
請求項１９記載の発明によれば、内燃機関の始動時に触媒ユニットが活性状態であった場合には、触媒ユニットの酸素吸蔵量偏差の初期値、および下流触媒の酸素吸蔵量偏差の初期値に、それぞれユニット偏差ガード値、或いは下流偏差ガード値を代入することができる。内燃機関の始動時には、触媒ユニット内に空気が流通する。従って、その時点で触媒ユニットが既に活性状態であれば、上流触媒および下流触媒の内部には、それぞれ多量の酸素が吸蔵される。本発明によれば、その状況を酸素吸蔵量偏差の初期値に正確に反映させることができる。
【図面の簡単な説明】
【図１】  本発明の実施の形態において使用され得る典型的なシステム構成の１例を示す。
【図２】  本発明の実施の形態において使用され得るシステム構成の変形例を説明するための図である。
【図３】  本発明の実施の形態１において実行されるメインの処理の流れを説明するためのフローチャートである。
【図４】  本発明の実施の形態１において、フューエルカットの前後でメインO２センサおよびサブO２センサの出力に生ずる変化の１例を示すタイミングチャートである。
【図５】  本発明の実施の形態１において、フューエルカットの前後でメインO２センサおよびサブO２センサの出力に生ずる変化の他の例を示すタイミングチャートである。
【図６】  本発明の実施の形態１において、フューエルカットの前後で触媒の酸素吸蔵量に生ずる変化のイメージを説明するための図である。
【図７】  本発明の実施の形態１において、図３に示す工程Ｓ１００を実現するために実行される第１群の処理のフローチャートである。
【図８】  本発明の実施の形態１において、図３に示す工程Ｓ１００を実現するために実行される第２群の処理のフローチャートである。
【図９】  本発明の実施の形態１において、触媒の劣化を判定するために実行されるルーチンのフローチャートである。
【図１０】  本発明の実施の形態１において、O２センサの異常を判定するために実行されるルーチンのフローチャートである。
【図１１】  本発明の実施の形態１において、図３に示す工程Ｓ２００を実現するために実行される第１群の処理のフローチャートである。
【図１２】  本発明の実施の形態１において、図３に示す工程Ｓ２００を実現するために実行される第２群の処理のフローチャートである。
【図１３】  本発明の実施の形態１において、触媒の活性状態を判定するために実行されるルーチンのフローチャートである。
【図１４】  本発明の実施の形態１において実行される第１のリッチ制御の内容を説明するためのタイミングチャートである。
【図１５】  本発明の実施の形態１において実行される第２のリッチ制御の内容を説明するためのタイミングチャートである。
【図１６】  本発明の実施の形態１において、図３に示す工程Ｓ３００を実現するために実行される処理のフローチャートである。
【図１７】  本発明の実施の形態１において、図３に示す工程Ｓ４００を実現するために実行されるの処理のフローチャートである。
【図１８】  本発明の実施の形態１において実行されるサブフィードバック制御の内容を説明するためのタイミングチャートである。
【図１９】  本発明の実施の形態１において、図３に示す工程Ｓ５００を実現するために実行される第１群の処理のフローチャートである。
【図２０】  本発明の実施の形態１において実行される触媒劣化判定処理の内容を説明するためのタイミングチャートである。
【図２１】  本発明の実施の形態１において、図３に示す工程Ｓ５００を実現するために実行される第２群の処理のフローチャートである。
【図２２】  本発明の実施の形態２において、図３に示す工程Ｓ１００を実現するために、図７および図８に示す処理と共に実行される第３群の処理のフローチャートである。
【図２３】  本発明の実施の形態２において、図３に示す工程Ｓ２００を実現するために、図１１および図１２に示す処理と共に実行される第３群の処理のフローチャートである。
【図２４】  本発明の実施の形態２において、図３に示す工程Ｓ４００を実現するために実行される第３群の処理のフローチャートである。
【符号の説明】
１０  内燃機関
１４  排気通路
３２  触媒（上流触媒）
３４  メインO２センサ
３６  サブO２センサ
４０  ECU(Electronic Control Unit
４４  下流触媒
４６  触媒ユニット
４８  第２サブO２センサ
【図１】
0004103379.tif 000002
【図２】
0004103379.tif 000003
【図３】
0004103379.tif 000004
【図４】
0004103379.tif 000005
【図５】
0004103379.tif 000006
【図６】
0004103379.tif 000007
【図７】
0004103379.tif 000008
【図８】
0004103379.tif 000009
【図９】
0004103379.tif 000010
【図１０】
0004103379.tif 000011
【図１１】
0004103379.tif 000012
【図１２】
0004103379.tif 000013
【図１３】
0004103379.tif 000014
【図１４】
0004103379.tif 000015
【図１５】
0004103379.tif 000016
【図１６】
0004103379.tif 000017
【図１７】
0004103379.tif 000018
【図１８】
0004103379.tif 000019
【図１９】
0004103379.tif 000020
【図２０】
0004103379.tif 000021
【図２１】
0004103379.tif 000022
【図２２】
0004103379.tif 000023
【図２３】
0004103379.tif 000024
【図２４】
0004103379.tif 000025