(57)【要約】【課題】  触媒のHC被毒を抑制することによりエミッションを良好に維持することができる内燃機関の制御装置を提供すること。【解決手段】  制御装置は、排ガス浄化のための触媒を備えた内燃機関に適用される。制御装置は、触媒のHC被毒の程度を吸入空気の積算質量流量に基づいて判断するとともに（ステップ１０２５又はステップ１０６５）、触媒が重度のHC被毒となる可能性が高いと判断するとき（ステップ１０３０）、フューエルカット運転を実行することができない場合（ステップ１０１５にて「Ｎｏ」と判定される場合）には減速時にリーン運転を実行する（ステップ１０５５）。【選択図】図１０
2010071141.tif 000002
【特許請求の範囲】
【請求項１】
排気通路に配設されるとともに排ガスを浄化する触媒を有する内燃機関に適用され、
前記触媒の温度が所定の許容温度以上であるか否かを判定する触媒温度判定手段と、
前記機関に対する加速操作量が所定の閾値操作量以下であるか否か及び前記機関の機関回転速度が所定の第１回転速度以上であるか否かを判定することにより、同加速操作量が同閾値操作量以下であり且つ同機関回転速度が同第１回転速度以上であることからなるフューエルカット開始条件が成立するか否かを判定するとともに、同フューエルカット開始条件が成立した後の期間において所定のフューエルカット復帰条件が成立するか否かを判定するフューエルカット運転条件判定手段と、
前記フューエルカット運転条件判定手段により前記フューエルカット開始条件が成立すると判定された時点から同フューエルカット運転条件判定手段により前記フューエルカット復帰条件が成立すると判定される時点までの期間、前記機関への燃料供給を停止するフューエルカット運転を実行する運転状態制御手段と、
を備える内燃機関の制御装置であって、
前記触媒温度判定手段により前記触媒の温度が前記許容温度以上であると判定されているときに前記フューエルカット運転が実行された場合、有効フューエルカット運転履歴が存在すると記録するフューエルカット運転履歴記録手段と、
前記触媒温度判定手段により前記触媒の温度が前記許容温度以上であると判定された時点である第１基準時点以降に前記機関に吸入された空気の流量を積算することにより得られる第１積算流量を求める第１流量積算手段と、
前記第１基準時点以降において、前記フューエルカット運転が実行される毎にゼロに設定されて前記フューエルカット運転条件判定手段により前記フューエルカット復帰条件が成立すると判定された時点である第２基準時点以降に前記機関に吸入された空気の流量を積算することにより得られる第２積算流量を求める第２流量積算手段と、
を備えるとともに、
前記運転状態制御手段は、
前記フューエルカット運転条件判定手段により、前記機関に対する加速操作量が前記閾値操作量以下であり、且つ、前記機関の機関回転速度が前記第１回転速度より小さいと判定されているとき、
前記有効フューエルカット運転履歴が存在すると記録されていなければ、
前記第１積算流量が所定の第１許容流量よりも大きく、且つ、前記機関の機関回転速度が前記第１回転速度よりも小さい第２回転速度以上である場合に前記触媒に流入する前記排ガスの空燃比を理論空燃比よりもリーン側の空燃比とするリーン運転を実行し、
前記有効フューエルカット運転履歴が存在すると記録されていれば、
前記第２積算流量が所定の第２許容流量よりも大きく、且つ、前記機関の機関回転速度が前記第２回転速度以上である場合に前記リーン運転を実行し、
前記フューエルカット運転及び前記リーン運転の何れもが実行されていないとき前記排ガスの空燃比を実質的に理論空燃比に一致させる理論空燃比運転を実行するように構成された制御装置。
【請求項２】
排気通路に配設された触媒を有する内燃機関に適用され、
前記触媒の温度が所定の許容温度以上であるか否かを判定する触媒温度判定手段と、
前記機関に対する加速操作量が所定の閾値操作量以下であるか否か及び前記機関の機関回転速度が所定の第１回転速度以上であるか否かを判定することにより、同加速操作量が同閾値操作量以下であり且つ同機関回転速度が同第１回転速度以上であることからなるフューエルカット開始条件が成立するか否かを判定するとともに、同フューエルカット開始条件が成立した後の期間において所定のフューエルカット復帰条件が成立するか否かを判定するフューエルカット運転条件判定手段と、
前記フューエルカット運転条件判定手段により前記フューエルカット開始条件が成立すると判定された時点から同フューエルカット運転条件判定手段により前記フューエルカット復帰条件が成立すると判定される時点までの期間、前記機関への燃料供給を停止するフューエルカット運転を実行する運転状態制御手段と、
を備える内燃機関の制御装置であって、
前記触媒温度判定手段により前記触媒の温度が前記許容温度以上であると判定されているときに前記フューエルカット運転が実行された場合、有効フューエルカット運転履歴が存在すると記録するフューエルカット運転履歴記録手段と、
前記触媒温度判定手段により前記触媒の温度が前記許容温度以上であると判定された時点である第１基準時点以降に前記機関に吸入された空気の流量を積算することにより得られる第１積算流量を求める第１流量積算手段と、
前記第１基準時点以降において、前記フューエルカット運転が実行される毎にゼロに設定されて前記フューエルカット運転条件判定手段により前記フューエルカット復帰条件が成立すると判定された時点である第２基準時点以降に前記機関に吸入された空気の流量を積算することにより得られる第２積算流量を求める第２流量積算手段と、
を備えるとともに、
前記フューエルカット運転条件判定手段は、更に、
前記機関に対する加速操作量が前記閾値操作量以下であり、且つ、前記機関の機関回転速度が前記第１回転速度より小さいと判定しているとき、
前記有効フューエルカット運転履歴が存在すると記録されていなければ、
前記第１積算流量が所定の第１許容流量よりも大きく、且つ、前記機関の機関回転速度が前記第１回転速度よりも小さい第２回転速度以上である場合に前記フューエルカット開始条件が成立すると判定し、
前記有効フューエルカット運転履歴が存在すると記録されていれば、
前記第２積算流量が所定の第２許容流量よりも大きく、且つ、前記機関の機関回転速度が前記第２回転速度以上である場合に前記フューエルカット開始条件が成立すると判定するように構成された制御装置。
【請求項３】
第１変速制御則に従う変速比制御を行う変速制御手段により制御される変速装置を有する車両に搭載される内燃機関であって同機関の排気通路に配設された触媒を有する内燃機関に適用され、
前記触媒の温度が所定の許容温度以上であるか否かを判定する触媒温度判定手段と、
前記機関に対する加速操作量が所定の閾値操作量以下であるか否か及び前記機関の機関回転速度が所定の第１回転速度以上であるか否かを判定することにより、同加速操作量が同閾値操作量以下であり且つ同機関回転速度が同第１回転速度以上であることからなるフューエルカット開始条件が成立するか否かを判定するとともに、同フューエルカット開始条件が成立した後の期間において所定のフューエルカット復帰条件が成立するか否かを判定するフューエルカット運転条件判定手段と、
前記フューエルカット運転条件判定手段により前記フューエルカット開始条件が成立すると判定された時点から同フューエルカット運転条件判定手段により前記フューエルカット復帰条件が成立すると判定される時点までの期間、前記機関への燃料供給を停止するフューエルカット運転を実行する運転状態制御手段と、
を備える内燃機関の制御装置であって、
前記触媒温度判定手段により前記触媒の温度が前記許容温度以上であると判定されているときに前記フューエルカット運転が実行された場合、有効フューエルカット運転履歴が存在すると記録するフューエルカット運転履歴記録手段と、
前記触媒温度判定手段により前記触媒の温度が前記許容温度以上であると判定された時点である第１基準時点以降に前記機関に吸入された空気の流量を積算することにより得られる第１積算流量を求める第１流量積算手段と、
前記第１基準時点以降において、前記フューエルカット運転が実行される毎にゼロに設定されて前記フューエルカット運転条件判定手段により前記フューエルカット復帰条件が成立すると判定された時点である第２基準時点以降に前記機関に吸入された空気の流量を積算することにより得られる第２積算流量を求める第２流量積算手段と、
を備えるとともに、
前記フューエルカット運転条件判定手段により、前記機関に対する加速操作量が前記閾値操作量以下であり、且つ、前記機関の機関回転速度が前記第１回転速度より小さいと判定されているとき、
前記有効フューエルカット運転履歴が存在すると記録されていなければ、
前記第１積算流量が所定の第１許容流量よりも大きい場合、前記第１変速制御則に従う変速比以上の変速比が少なくとも一部の運転領域において得られる第２変速制御則に従って前記変速装置を制御するように前記変速制御手段に要求を発生し、
前記有効フューエルカット運転履歴が存在すると記録されていれば、
前記第２積算流量が所定の第２許容流量よりも大きい場合、前記第２変速制御則に従って前記変速装置を制御するように前記変速制御手段に要求を発生する変速要求手段と
を備えた制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、排ガスを浄化するための触媒装置を備えた内燃機関の制御装置に関する。
【背景技術】
【０００２】
従来から、排ガスを浄化する触媒装置を排気通路に備えた内燃機関が提案されている。この用途に用いられる触媒装置の多くには、三元触媒（以下、単に「触媒」とも称呼する。）が使用される。一般に、三元触媒は、セラミック等からなる担持体に触媒成分（白金及びロジウム等の貴金属）及び酸素吸蔵物質（CeO2等）を担持している。触媒は、触媒成分の温度がその活性温度以上であり、且つ、触媒に流入する排ガスの空燃比が理論空燃比であるとき、排ガス中の未燃物（HC，CO等）と窒素酸化物（NOx）との酸化還元反応を促進し、これらを同時に高い浄化率にて浄化することができる。
【０００３】
しかし、内燃機関の冷間始動（冷機始動）直後においては触媒の温度はその活性温度より低く、触媒の温度が活性温度に到達するまでの期間（以下、「暖機期間」とも称呼する。）、触媒はその排ガス浄化能力を十分に発揮することができない。即ち、この暖機期間においては、触媒は、未燃物及び窒素酸化物を十分に浄化することができない。そこで、従来の内燃機関の制御装置の一つは、触媒の暖機期間における点火時期を暖機期間終了後の点火時期よりも遅角し、排ガス中の未燃物（HC，CO等）の量を低減するようになっている（例えば、特許文献１を参照）。
【特許文献１】特開２００７−４０２５９号公報
【発明の開示】
【０００４】
しかしながら、発明者は、上記暖機期間が終了した後であっても触媒がその排ガス浄化能力を十分に発揮できない場合があることを見出した。以下、この点について述べる。
【０００５】
上述したように、触媒は、排ガス中の未燃物（HC，CO等）と窒素酸化物（NOx）との酸化還元反応を促進する。この酸化還元反応においては、担持体に担持された触媒成分（上述の貴金属等）が酸化還元反応の活性点（触媒活性点）となる。適正な効率にて酸化還元反応を進行させるには、触媒活性点における酸素濃度を適切な値に保つことが重要である。そこで、触媒は、CeO2等の酸素吸蔵物質をその担持体に担持している。
【０００６】
酸素吸蔵物質は、空燃比が理論空燃比よりもリーン側である排ガス（以下、「リーン側空燃比ガス」とも称呼する。）が触媒に流入するときに酸素を吸蔵するとともに、空燃比が理論空燃比よりもリッチ側である排ガス（以下、「リッチ側空燃比ガス」とも称呼する。）が触媒に流入するときに触媒活性点に酸素を放出することにより、触媒活性点における酸素濃度の調節を行うと考えられている。
【０００７】
酸素吸蔵物質のこのような機能は、酸素吸蔵能力（OSC（Oxygen  Storage  Capacity）、酸素ストレージ能力）と称呼される。酸素吸蔵物質は、その温度が所定の温度以上（以下、「酸素移動可能温度」とも称呼する。）であるとき、酸素をその物質内で容易に移動させることができる。酸素移動可能温度は、例えば４００℃程度である。
【０００８】
上述したように、触媒温度が酸素移動可能温度よりも低いとき（例えば、上述の暖機期間）、酸素吸蔵物質はその酸素吸蔵能力を十分に発揮することができない。即ち、触媒温度が酸素移動可能温度よりも低いとき、その触媒が吸蔵することができる酸素量の最大値（以下、「酸素吸蔵可能量」とも称呼する。）は、触媒温度が酸素移動可能温度以上であるときの酸素吸蔵可能量よりも小さい。従って、例えば、このような状態の触媒にリッチ側空燃比ガスが流入した場合、リッチ側空燃比ガス中の未燃物（HC，CO等）の酸化反応に伴って酸素吸蔵物質に吸蔵されていた酸素が消費され、酸素吸蔵物質の吸蔵酸素量がゼロ近傍にまで減少する場合がある（以下、この状態を「還元状態」とも称呼する。）。
【０００９】
この還元状態にある触媒にリッチ側空燃比ガスが更に流入し続けた場合、触媒成分及び酸素吸蔵物質の周囲を未燃物の一つである炭化水素（HC）が被覆する現象が生じる（以下、この現象を「HC被毒」とも称呼する。）。HC被毒が生じた場合、触媒成分が被覆されることによって触媒活性点の数が低下し、酸素吸蔵物質が被覆されることによって酸素吸蔵能力が低下する。これらの被覆が進行し、触媒に重度のHC被毒が生じた場合、触媒はその排ガス浄化性能を十分に発揮できない状態となる（以下、この状態を「半死活状態」とも称呼する。）。
【００１０】
一方、暖機期間が終了した後（即ち、触媒温度がその活性温度以上となった場合）においても、上述のHC被毒によって触媒が半死活状態に至る場合がある。
例えば、排ガス中の窒素酸化物（NOx）を低減させること等を目的とし、機関の空燃比は「実質的に理論空燃比であるが、理論空燃比よりも若干リッチ側の空燃比」に制御される場合がある（以下、この制御を「弱リッチ制御」とも称呼する。）。この弱リッチ制御が長時間継続された場合、触媒に流入する排ガスの空燃比の中心（平均）は、理論空燃比よりも僅かにリッチ側の空燃比になる。従って、暖機期間が終了した後（即ち、触媒温度がその活性温度以上となった後）であっても、弱リッチ制御が長時間継続されると、触媒に流入する過剰な未燃物の酸化反応に伴って酸素吸蔵物質の吸蔵酸素量が減少し、HC被毒が生じる。そして、触媒に重度のHC被毒が生じた場合、上記同様に触媒は半死活状態となる。
【００１１】
触媒が重度のHC被毒によって半死活状態になった場合、暖機期間が終了した後であっても、その触媒は排ガスを十分に浄化することができない。この結果、機関のエミッションが悪化するという問題が生じる。
【００１２】
触媒の「半死活状態」及び「半死活状態に至るまでのHC被毒状態」（以下、これらの状態を便宜的に「HC被毒・半死活状態」とも称呼する。）は、触媒に多量の酸素を供給することによって解消することができる。触媒に多量の酸素を供給する代表的な運転として、機関への燃料供給が停止された運転である「フューエルカット運転」が挙げられる。
【００１３】
しかしながら、一般に、フューエルカット運転は、機関の運転状態が所定の運転状態となったとき（例えば、機関が搭載された車両が減速中であるとき等）に実行される。従って、運転者の意図とは無関係な「触媒の状態のみ」に基づいてフューエルカット運転を行うとドライバビリティが悪化する虞がある。このため、触媒がHC被毒・半死活状態となった場合、フューエルカット運転を任意に実行することによりそのHC被毒・半死活状態を解消することは困難である。
【００１４】
更に、一般に、暖機期間及び暖機期間終了直後においてはフューエルカット運転が実行され難い。この点につき、以下に説明する。
フューエルカット運転の開始条件は、一般に、「スロットルバルブ開度が実質的にゼロであり、且つ、機関回転速度が所定の閾値回転速度以上である場合」である。更に、フューエルカット運転によって機関回転速度が過度に低下しないように、暖機期間及び暖機期間終了直後における閾値回転速度の値は、暖機期間終了後に十分な時間が経過した通常運転時における閾値回転速度よりも大きい値に設定されている。従って、通常運転時に比較し、これらの期間においてはフューエルカット運転が実行され難い。
【００１５】
このように、触媒の暖機期間及び暖機期間終了以降において触媒がHC被毒・半死活状態となった場合、この状態を長期間に亘り解消することができず、その結果、未燃物（HC，CO等）及び窒素酸化物（NOx）の排出量が増大するという問題が生じる。
【００１６】
本発明は、上記課題に対処するためになされたものである。即ち、本発明の目的は、食媒がHC被毒によって半死活状態となることを抑制し、もって、機関のエミッションを良好に維持することができる内燃機関の制御装置を提供することにある。
【００１７】
より具体的に述べると、本発明の内燃機関の第１の制御装置は、
排気通路に配設されるとともに排ガスを浄化する触媒を有する内燃機関に適用される。
【００１８】
この制御装置は、
（１）前記触媒の温度が所定の許容温度以上であるか否かを判定する触媒温度判定手段と、
（２）  前記機関に対する加速操作量が所定の閾値操作量以下であるか否か及び前記機関の機関回転速度が所定の第１回転速度以上であるか否かを判定することにより、同加速操作量が同閾値操作量以下であり且つ同機関回転速度が同第１回転速度以上であることからなる「フューエルカット開始条件」が成立するか否かを判定するとともに、同フューエルカット開始条件が成立している期間（即ち、フューエルカット運転実行中）において所定の「フューエルカット復帰条件」が成立するか否かを判定するフューエルカット運転条件判定手段と、
（３）前記フューエルカット運転条件判定手段により前記フューエルカット開始条件が成立すると判定された時点から同フューエルカット運転条件判定手段により前記フューエルカット復帰条件が成立すると判定される時点までの期間、前記機関への燃料供給を停止するフューエルカット運転を実行する運転状態制御手段と、
を備える。
【００１９】
更に、この制御装置は、
（４）前記触媒温度判定手段により前記触媒の温度が前記許容温度以上であると判定されているときに前記フューエルカット運転が実行された場合、「有効フューエルカット運転履歴」が存在すると記録するフューエルカット運転履歴記録手段と、
（５）前記触媒温度判定手段により前記触媒の温度が前記許容温度以上であると判定された時点である「第１基準時点」以降に前記機関に吸入された空気の流量を積算することにより得られる「第１積算流量」を求める第１流量積算手段と、
（６）前記第１基準時点以降において、前記フューエルカット運転が実行される毎に「ゼロ」に設定されて前記フューエルカット運転条件判定手段により前記フューエルカット復帰条件が成立すると判定された時点である「第２基準時点」以降に前記機関に吸入された空気の流量を積算することにより得られる「第２積算流量」を求める第２流量積算手段と、
を備える。
【００２０】
この制御装置において、
前記運転状態制御手段は、
前記フューエルカット運転条件判定手段により、「前記機関に対する加速操作量が前記閾値操作量以下であり」、且つ、「前記機関の機関回転速度が前記第１回転速度より小さい」と判定されているとき、
（Ａ）前記有効フューエルカット運転履歴が存在すると「記録されていなければ」、
前記第１積算流量が所定の第１許容流量よりも大きく、且つ、前記機関の機関回転速度が「前記第１回転速度よりも小さい第２回転速度」以上である場合に前記触媒に流入する前記排ガスの空燃比を理論空燃比よりもリーン側の空燃比とする「リーン運転」を実行し、
（Ｂ）前記有効フューエルカット運転履歴が存在すると「記録されていれば」、
前記第２積算流量が所定の第２許容流量よりも大きく、且つ、前記機関の機関回転速度が前記「第２回転速度」以上である場合に前記「リーン運転」を実行し、
（Ｃ）前記フューエルカット運転及び前記リーン運転の何れもが実行されていないとき前記排ガスの空燃比を実質的に理論空燃比に一致させる理論空燃比運転を実行するように構成される。
【００２１】
上記構成によれば、「触媒の温度が所定の許容温度以上である」と判定されているときに「フューエルカット運転」が実行された場合に限り、「有効フューエルカット運転履歴が存在する」と記録される。換言すれば、触媒の温度が所定の許容温度にまで到達していない期間（例えば、上述の暖機期間）においては、仮にフューエルカット運転が実行されたとしても、有効フューエルカット運転履歴が存在するとは記録されない。つまり、「有効フューエルカット運転履歴」は、「暖機期間終了後にフューエルカット運転が実行され、そのフューエルカット運転が実行される時点までに触媒に生じたHC被毒が解消された」ことを示す指標である。
【００２２】
更に、上記構成によれば、有効フューエルカット運転履歴が存在するか否かに基づき、後述する「積算流量」が取得されるとともに、「積算流量の許容量（許容流量）」が設定される。そして、「積算流量」と「許容流量」との関係、及び、「機関回転速度」に基づき、機関の運転態様（以下、「運転モード」とも称呼される。）が制御される。
【００２３】
具体的に述べると、上記フューエルカット開始条件につき、「機関に対する加速操作量が所定の閾値操作量以下」であり、且つ、「機関の機関回転速度が所定の第１回転速度より小さい」と判定されているとき（例えば、機関に対して加速は要求されていないが、フューエルカット運転を実行するには機関回転速度が小さ過ぎるとき）に有効フューエルカット運転履歴が存在すると「記録されていない」場合、「第１積算流量」が運転モードの決定のために取得される。
【００２４】
そして、この第１積算流量が所定の許容流量（第１許容流量）よりも大きく、且つ、機関の機関回転速度が「第１回転速度よりも小さい第２回転速度」以上である場合、触媒に流入する排ガスの空燃比を理論空燃比よりもリーン側の空燃比とする「リーン運転」が実行される。
【００２５】
一方、上記フューエルカット開始条件につき、「機関に対する加速操作量が所定の閾値操作量以下」であり、且つ、「機関の機関回転速度が所定の第１回転速度より小さい」と判定されているとき（上記同様、例えば、機関に対して加速は要求されていないが、フューエルカット運転を実行するには機関回転速度が小さ過ぎるとき）に有効フューエルカット運転履歴が存在すると「記録されている」場合、「第２積算流量」が運転モードの決定のために取得される。
【００２６】
そして、この第２積算流量が所定の許容流量（第２許容流量）よりも大きく、且つ、機関回転速度が上記「第２回転速度」以上である場合、上記「リーン運転」が実行される。
【００２７】
ここで、上記「第１積算流量」は、機関の始動時にゼロに設定され、「暖機期間が終了した時点（第１基準時点）」以降に機関に吸入される空気の流量が積算されることにより増加する。また、上記「第２積算流量」は、フューエルカット運転が実行される毎にゼロに設定され、「暖機期間の終了後に実行されたフューエルカット運転が停止（復帰）した時点（第２基準時点）」以降に機関に吸入される空気の流量が積算されることにより増加する。
【００２８】
上述したように、「フューエルカット運転」は、触媒がHC被毒・半死活状態となる可能性が大きいときに常に実行されるとは限らない。そのため、触媒の暖機期間が終了した後であっても、触媒がHC被毒・半死活状態となる虞がある。そこで、第１の制御装置は、触媒がHC被毒・半死活状態となる可能性の大きさを「第１積算流量」又は「第２積算流量」に基づいて評価する。
【００２９】
「第１積算流量」は、触媒の暖機期間が終了した時点以降に機関に流入する空気の積算流量であり、「暖機期間終了後に触媒に生じるHC被毒の程度」を示す値である。そして、第１の制御装置においては、この第１積算流量が第１許容流量よりも大きくなるとき、触媒がHC被毒・半死活状態となる可能性が大きいと判断される。そこで、このとき（即ち、機関に対する加速操作量が閾値操作量以下であり、機関回転速度が第１回転速度より小さく、且つ、第１積算流量が第１許容流量より大きいとき）、機関回転速度が第２回転速度以上であれば、「リーン運転」が実行される。
【００３０】
また、「第２積算流量」は、暖機期間終了後において実行されたフューエルカット運転が停止（復帰）した時点以降に機関に流入する空気の積算流量であり、「フューエルカット運転停止（復帰）後に触媒に生じるHC被毒の程度」を示す値である。そして、第１の制御装置においては、この第２積算流量が第２許容流量より大きくなるときにも、触媒がHC被毒・半死活状態となる可能性が大きいと判断される。そこで、このとき（即ち、機関に対する加速操作量が閾値操作量以下であり、機関回転速度が第１回転速度より小さく、且つ、第２積算流量が第２許容流量より大きいとき）にも、機関回転速度が第２回転速度以上であれば、「リーン運転」が実行される。
【００３１】
一方、第１の制御装置において、「フューエルカット運転」及び「リーン運転」の何れもが実行されていないとき、触媒に流入する排ガスの空燃比を実質的に理論空燃比に一致させる「理論空燃比運転」が実行される。
【００３２】
「リーン運転」は、上述したように、触媒に流入する排ガスの空燃比を理論空燃比よりもリーン側の空燃比とする運転である。従って、「リーン運転」が実行されることにより、「理論空燃比運転」が実行されている場合に比べて多量の酸素を含む排ガスが、触媒に流入する。これにより、触媒のHC被毒の程度を低下させることができ、触媒が半死活状態になることを出来る限り防ぐことができる。
【００３３】
このように、第１の制御装置によれば、触媒のHC被毒の度合いが的確に評価されるとともに、触媒のHC被毒の度合いが高くなると判断される場合に「リーン運転」を実行し、触媒に流入する酸素の量を増加する運転を実行することができる。これにより、触媒が半死活状態になることをできる限り防ぐことができる。その結果、触媒の排ガス浄化性能の低下を出来る限り防ぎ、エミッションを良好に維持することができる。
【００３４】
ここで、触媒の温度の「許容温度」は、触媒に含まれる貴金属が排ガスの酸化還元反応を促進する機能を十分に発現するために必要な「貴金属の活性温度」に基づく値である。即ち、「許容温度」は、例えば、貴金属の活性温度そのものであってもよく、貴金属の活性温度から所定温度を減じた温度（その温度よりも低下した場合、触媒の排気浄化率が許容できない程度まで低下する温度）等に設定することができる。或いは、「許容温度」は、上述した「酸素移動可能温度」を考慮して決定されてもよい。
【００３５】
「フューエルカット開始条件」の一つである「加速操作量」は、例えば、「アクセルペダル操作量」又はアクセルペダル操作量に連動する「スロットルバルブ開度」に基づき、決定することができる。また、加速操作量の「閾値操作量」は、フューエルカット運転を実行するにあたり機関への加速要求が発生していないと判断できる値であればよく、例えば、ゼロ或いはゼロ近傍の値に設定することができる。
【００３６】
「第１回転速度」は、機関の排気量、機関の回転速度が過度に低下することのない回転速度、及び、燃費等を考慮した適値とすることができる。また、「第２回転速度」は、第１回転速度よりも小さい値であればよく、第１回転速度と同様、機関の排気量、機関の回転速度が過度に低下することのない回転速度、及び、燃費等を考慮した適値とすることができる。
【００３７】
「フューエルカット復帰条件」は、例えば、「スロットルバルブ開度がゼロ或いはゼロ近傍の値よりも大きい場合、又は、機関回転速度が「第１回転速度よりも所定回転速度ΔNだけ小さい回転速度」よりも小さい場合、のうちの少なくとも一つが成立する場合」と設定することができる。ここで、回転速度ΔNは、上記同様、機関の排気量、機関の回転速度が過度に低下することのない回転速度、及び、燃費等を考慮した適値とすることができる。
【００３８】
「第１許容流量」は、例えば、第１積算流量がこの第１許容流量に達したときにHC被毒によって触媒が期待される排ガス浄化性能を発揮できなくなると判断できる値に設定することができる。また、「第２許容流量」は、例えば、第１許容流量と同様、第２積算流量がこの第２許容流量に達したときにHC被毒によって触媒が期待される排ガス浄化性能を発揮できなくなると判断できる値に設定することができる。
【００３９】
「リーン運転」が実行される場合に設定される空燃比（目標空燃比）は、理論空燃比よりもリーン側の空燃比であればよく、例えば、機関に要求される出力及び燃費、並びに、触媒の排ガス浄化性能等を考慮した適値に設定することができる。また、「理論空燃比運転」が実行される場合に設定される空燃比（目標空燃比）は、厳密な理論空燃比に限られず、理論空燃比よりも若干リッチ側の空燃比（上記弱リッチ制御が実行されるときの目標空燃比に相当。）としてもよい。即ち、触媒は触媒に流入するガスの空燃比が「理論空燃比を含む所定の空燃比幅（図３に示したウインドウＷ）」内にある場合、触媒は高い効率にて未燃物と窒素酸化物とを浄化することができる。従って、本明細書において、触媒に流入するガスの空燃比がこの空燃比幅（ウインドウＷ）内に制御される場合、「排ガスの空燃比を実質的に理論空燃比に一致させる理論空燃比運転が実行される。」と表現される。
【００４０】
本発明の内燃機関の第２の制御装置は、排気通路に配設された触媒を有する内燃機関に適用される。
【００４１】
この制御装置は、
（１）前記触媒の温度が所定の許容温度以上であるか否かを判定する触媒温度判定手段と、
（２）前記機関に対する加速操作量が所定の閾値操作量以下であるか否か及び前記機関の機関回転速度が所定の第１回転速度以上であるか否かを判定することにより、同加速操作量が同閾値操作量以下であり且つ同機関回転速度が同第１回転速度以上であることからなる「フューエルカット開始条件」が成立するか否かを判定するとともに、同フューエルカット開始条件が成立した後の期間において所定の「フューエルカット復帰条件」が成立するか否かを判定するフューエルカット運転条件判定手段と、
（３）前記フューエルカット運転条件判定手段により前記フューエルカット開始条件が成立すると判定された時点から同フューエルカット運転条件判定手段により前記フューエルカット復帰条件が成立すると判定される時点までの期間、前記機関への燃料供給を停止するフューエルカット運転を実行する運転状態制御手段と、
を備える。
【００４２】
更に、この制御装置は、
（４）前記触媒温度判定手段により前記触媒の温度が前記許容温度以上であると判定されているときに前記フューエルカット運転が実行された場合、「有効フューエルカット運転履歴」が存在すると記録するフューエルカット運転履歴記録手段と、
（５）前記触媒温度判定手段により前記触媒の温度が前記許容温度以上であると判定された時点である「第１基準時点」以降に前記機関に吸入された空気の流量を積算することにより得られる「第１積算流量」を求める第１流量積算手段と、
（６）前記第１基準時点以降において、前記フューエルカット運転が実行される毎に「ゼロ」に設定されて前記フューエルカット運転条件判定手段により前記フューエルカット復帰条件が成立すると判定された時点である「第２基準時点」以降に前記機関に吸入された空気の流量を積算することにより得られる「第２積算流量」を求める第２流量積算手段と、
を備える。
【００４３】
この制御装置において、
前記フューエルカット運転条件判定手段は、更に、
「前記機関に対する加速操作量が前記閾値操作量以下であり」、且つ、「前記機関の機関回転速度が前記第１回転速度より小さい」と判定しているとき、
（Ａ）前記有効フューエルカット運転履歴が存在すると「記録されていなければ」、
前記第１積算流量が所定の第１許容流量よりも大きく、且つ、前記機関の機関回転速度が「前記第１回転速度よりも小さい第２回転速度」以上である場合に「前記フューエルカット開始条件が成立する」と判定し、
（Ｂ）前記有効フューエルカット運転履歴が存在すると「記録されていれば」、
前記第２積算流量が所定の第２許容流量よりも大きく、且つ、前記機関の機関回転速度が前記「第２回転速度」以上である場合に「前記フューエルカット開始条件が成立する」と判定するように構成される。
【００４４】
上記構成によれば、上述した第１の制御装置と同様、「触媒の温度が所定の許容温度以上である」と判定されているときに「フューエルカット運転」が実行されたときに限り、「有効フューエルカット運転履歴が存在する」と記録される。更に、上記構成によれば、有効フューエルカット運転履歴が存在するか否かに基づき、上述した第１の制御装置と同様の処理により、「第１積算流量」又は「第２積算流量」が取得されるとともに、運転モードを決定する際に使用されるパラメータとして「第１許容流量」又は「第２許容流量」の何れかが設定される。
【００４５】
第２制御装置は、上記フューエルカット開始条件が成立したとき、「フューエルカット運転」を実行する。更に、第２制御装置は、上記フューエルカット開始条件が成立しなくとも、後述する状況においてフューエルカット運転を実行する。
【００４６】
第一に、「第１積算流量」が運転モードの決定のために取得されるとき、フューエルカット開始条件が成立しなくとも（即ち、機関に対する加速操作量が閾値操作量以下であって機関回転速度が第１回転速度よりも「小さい」場合においても）その第１積算流量が第１許容流量よりも大きく且つ機関回転速度が「第１回転速度よりも小さい第２回転速度」以上である場合、「フューエルカット運転」が実行される。
【００４７】
第二に、「第２積算流量」が運転モードの決定のために取得されるとき、フューエルカット開始条件が成立しなくとも（上記参照。）その第２積算流量が第２許容流量よりも大きく、且つ、機関回転速度が前記第２回転速度以上である場合に「フューエルカット運転」が実行される。
【００４８】
第２の制御装置は、第１の制御装置と同様、触媒がHC被毒・半死活状態となる可能性の大きさを「第１積算流量」又は「第２積算流量」に基づいて評価する。そして、この可能性が大きいと判断されるとき、フューエルカット開始条件が成立しなくとも（上記参照。）、機関回転速度が第２回転速度以上であれば「フューエルカット運転」が実行される。
【００４９】
上述したように、「フューエルカット開始条件」には、機関回転速度が所定の閾値（第１回転速度）「以上」であることが含まれている。ここで、上述した「第２回転速度」は、フューエルカット開始条件に含まれる「第１回転速度よりも小さい」値に設定されている。即ち、第２の制御装置は、触媒がHC被毒・半死活状態となる可能性が大きいと判断すると、上述した機関回転速度の閾値を低下させることにより、フューエルカット運転が実行され易くする。
【００５０】
このように、第２の制御装置によれば、第１の制御装置と同様、触媒のHC被毒の度合いが的確に評価される。そして、触媒のHC被毒の度合いが高くなると判断される場合にフューエルカット運転が実行され易いように機関が制御されることにより、フューエルカット運転が実行される可能性を大きくすることができる。これにより、触媒が半死活状態になることをできる限り防ぐことができる。その結果、触媒の排ガス浄化性能の低下を出来る限り防ぎ、エミッションを良好に維持することができる。
【００５１】
第２の制御装置おいて、触媒の温度の「許容温度」、「フューエルカット開始条件」、「フューエルカット復帰条件」、「第１許容流量」、「第２許容流量」、「第１回転速度」、及び、「第２回転速度」は、上述した本発明の第１の制御装置と同様に設定することができる。
【００５２】
本発明の内燃機関の第３の制御装置は、
「第１変速制御則」に従う変速比制御を行う変速制御手段により制御される変速装置を有する車両に搭載される内燃機関であって、同機関の排気通路に配設された触媒を有する内燃機関に適用される。
【００５３】
この制御装置は、
（１）前記触媒の温度が所定の許容温度以上であるか否かを判定する触媒温度判定手段と、
（２）前記機関に対する加速操作量が所定の閾値操作量以下であるか否か及び前記機関の機関回転速度が所定の第１回転速度以上であるか否かを判定することにより、同加速操作量が同閾値操作量以下であり且つ同機関回転速度が同第１回転速度以上であることからなる「フューエルカット開始条件」が成立するか否かを判定するとともに、同フューエルカット開始条件が成立した後の期間において所定の「フューエルカット復帰条件」が成立するか否かを判定するフューエルカット運転条件判定手段と、
（３）前記フューエルカット運転条件判定手段により前記フューエルカット開始条件が成立すると判定された時点から同フューエルカット運転条件判定手段により前記フューエルカット復帰条件が成立すると判定される時点までの期間、前記機関への燃料供給を停止するフューエルカット運転を実行する運転状態制御手段と、
を備える。
【００５４】
更に、この制御装置は、
（４）前記触媒温度判定手段により前記触媒の温度が前記許容温度以上であると判定されているときに前記フューエルカット運転が実行された場合、「有効フューエルカット運転履歴」が存在すると記録するフューエルカット運転履歴記録手段と、
（５）前記触媒温度判定手段により前記触媒の温度が前記許容温度以上であると判定された時点である「第１基準時点」以降に前記機関に吸入された空気の流量を積算することにより得られる「第１積算流量」を求める第１流量積算手段と、
（６）前記第１基準時点以降において、前記フューエルカット運転が実行される毎に「ゼロ」に設定されて前記フューエルカット運転条件判定手段により前記フューエルカット復帰条件が成立すると判定された時点である「第２基準時点」以降に前記機関に吸入された空気の流量を積算することにより得られる「第２積算流量」を求める第２流量積算手段と、
を備える。
【００５５】
更に、この制御装置は、
（７）前記フューエルカット運転条件判定手段により、「前記機関に対する加速操作量が前記閾値操作量以下であり」、且つ、「前記機関の機関回転速度が前記第１回転速度より小さい」と判定されているとき、
（７−１）前記有効フューエルカット運転履歴が存在すると「記録されていなければ」、
前記第１積算流量が所定の第１許容流量よりも大きい場合、「前記第１変速制御則に従う変速比以上の変速比が少なくとも一部の運転領域において得られる第２変速制御則」に従って前記変速装置を制御するように前記変速制御手段に要求を発生し、
（７−２）前記有効フューエルカット運転履歴が存在すると「記録されていれば」、
前記第２積算流量が所定の第２許容流量よりも大きい場合、前記「第２変速制御則」に従って前記変速装置を制御するように前記変速制御手段に要求を発生する変速要求手段と
を備える。
【００５６】
上記構成によれば、上述した第１の制御装置と同様、「触媒の温度が所定の許容温度以上である」と判定されているときに「フューエルカット運転」が実行されたときに限り、「有効フューエルカット運転履歴が存在する」と記録される。更に、上記構成によれば、有効フューエルカット運転履歴が存在するか否かに基づき、上述した第１の制御装置と同様の処理により、「第１積算流量」又は「第２積算流量」が取得されるとともに、変速制御則を決定する際に使用されるパラメータとして「第１許容流量」又は「第２許容流量」の何れかが設定される。
【００５７】
そして、「第１積算流量」が運転モードの決定のために取得されるとき、フューエルカット開始条件が成立しない状況にて（即ち、機関に対する加速操作量が閾値操作量以下であって機関回転速度が第１回転速度よりも「小さい」状況にて）その第１積算流量が第１許容流量よりも大きくなると、変速装置を制御するための変速制御則が「第１変速制御則」から「第１変速制御則以上の変速比が少なくとも一部の運転領域において得られる第２変速制御則」へと変更される。
【００５８】
一方、「第２積算流量」が運転モードの決定のために取得されるとき、フューエルカット開始条件が成立しない状況にて（上記参照。）その第２積算流量が第２許容流量よりも大きくなると、上記変速制御則が「第１変速制御則」から上記「第２変速制御則」へと変更される。
【００５９】
第３の制御装置は、第１の制御装置と同様、触媒がHC被毒・半死活状態となる可能性の大きさを「第１積算流量」又は「第２積算流量」に基づいて評価する。そして、フューエルカット開始条件が成立しない状況にて（上記参照。）この可能性が大きいと判断されるとき、変速制御則が「第１変速制御則」から「第２変速制御則」へと変更される。ここで、「第１変速制御則」は、触媒がHC被毒・半死活状態となる可能性が大きいと判断されていない場合に採用される変速制御則である。
【００６０】
第３の制御装置においては、変速装置の「変速比」は、予め設定された「変速制御則」に基づいて制御される。変速制御則は、一般に、「機関を搭載した車両の速度（車速）」、「スロットルバルブ開度」、及び、「変速比」等の関係を示した変速比マップにて規定することができる。また、この変速比マップにおいては、一般に、変速比は車速が低速になるにつれて大きくなるように設定される。なお、ここでの「変速比」とは、周知のように、機関回転速度と駆動輪の回転速度との比を意味する。
【００６１】
第３の制御装置は、触媒がHC被毒・半死活状態となる可能性が大きいと判断されるとき、変速比マップを「第１変速制御則」に対応した変速比マップから「第２変速制御則」に対応した変速比マップへと変更する。このとき（第２変速制御則が採用されているとき）、第１変速制御則が採用されているときに比べ、「車速がより大きく」なるまで「より大きな変速比」が維持される。車速が一定であるとき、変速比が大きいほど機関回転速度は大きい。従って、第２変速制御則が採用されているとき、第１変速制御則が採用されているときに比べてより大きな機関回転速度が得られる車速領域が生じる。
【００６２】
上述したように、「フューエルカット開始条件」には、機関回転速度が所定の閾値（第１回転速度）「以上」であることが含まれている。第３の制御装置は、触媒がHC被毒・半死活状態となる可能性が大きいと判断されるとき、「第２変速制御則」を採用することによって所定の車速領域において大きな機関回転速度が得られるようにし、もって、フューエルカット開始条件が成立し易くする。
【００６３】
このように、第３の制御装置によれば、第１の制御装置と同様、触媒のHC被毒の度合いが的確に評価される。そして、触媒のHC被毒の度合いが高くなると判断される場合に変速制御則が第１変速制御則から第２変速制御則へと変更されることにより、フューエルカット運転が実行される可能性を大きくすることができる。これにより、触媒が半死活状態になることをできる限り防ぐことができる。その結果、触媒の排ガス浄化性能の低下を出来る限り防ぎ、エミッションを良好に維持することができる。
【００６４】
第３の制御装置において、触媒の温度の「許容温度」、「フューエルカット開始条件」、「フューエルカット復帰条件」、「第１許容流量」、「第２許容流量」、「第１回転速度」は、上述した本発明の第１の制御装置と同様に設定することができる。
【００６５】
「第１変速制御則」及び「第２変速制御則」は、機関に要求される出力、加速性能及び燃費、並びに、触媒の排ガス浄化性能等を考慮した適値に設定することができる。また、これらの変速制御則が適用される「変速装置」は、例えば、多段式の自動変速機であっても無段式の変速機（CVT）であってもよい。
【発明を実施するための最良の形態】
【００６６】
以下、本発明による内燃機関の制御装置の各実施形態について、図面を参照しながら説明する。
【００６７】
（第１実施形態）
以下、本発明の第１実施形態に係る制御装置（以下、「第１制御装置」とも称呼する。）について説明する。
【００６８】
＜装置の概要＞
図１は、第１制御装置が適用される内燃機関１０の一例を示す概略断面図である。図１は、第１制御装置を４サイクル火花点火式多気筒（４気筒）内燃機関１０に適用したシステムの概略構成を示している。なお、図１は、特定気筒の断面のみを示しているが、他の気筒も同様な構成を備えている。
【００６９】
この内燃機関１０は、シリンダブロック、シリンダブロックロワーケース及びオイルパン等を含むシリンダブロック部２０と、シリンダブロック部２０の上に固定されるシリンダヘッド部３０と、シリンダブロック部２０にガソリン混合気を供給するための吸気系統４０と、シリンダブロック部２０からの排ガスを外部に放出するための排気系統５０と、変速制御装置８０（電磁弁を含む油圧回路）により制御される変速装置９０（自動変速機）と、を含んでいる。
【００７０】
シリンダブロック部２０は、シリンダ２１、ピストン２２、コンロッド２３及びクランク軸２４を含んでいる。ピストン２２はシリンダ２１内を往復動し、ピストン２２の往復動がコンロッド２３を介してクランク軸２４に伝達され、これにより同クランク軸２４が回転するようになっている。シリンダ２１の壁面及びピストン２２の上面は、シリンダヘッド部３０の下面とともに燃焼室２５を形成している。
【００７１】
シリンダヘッド部３０は、燃焼室２５に連通した吸気ポート３１、吸気ポート３１を開閉する吸気弁３２、吸気弁３２を駆動するインテークカムシャフトを含むとともに同インテークカムシャフトの位相角及びリフト量を連続的に変更する可変吸気タイミング装置３３、可変吸気タイミング装置３３のアクチュエータ３３ａ、燃焼室２５に連通した排気ポート３４、排気ポート３４を開閉する排気弁３５、排気弁３５を駆動するエキゾーストカムシャフト３６、点火プラグ３７、点火プラグ３７に与える高電圧を発生するイグニッションコイルを含むイグナイタ３８及び燃料を吸気ポート３１内に噴射するインジェクタ（燃料噴射手段）３９を備えている。
【００７２】
なお、機関１０は、上記インジェクタ３９に代えて或いは上記インジェクタ３９に加えて、燃料を燃焼室２５内に直接噴射する筒内インジェクタ（図示省略）を備えてもよい。
【００７３】
吸気系統４０は、吸気ポート３１に連通し同吸気ポート３１とともに吸気通路を形成するインテークマニホールドを含む吸気管４１、吸気管４１の端部に設けられたエアフィルタ４２及び吸気管４１内にあって吸気通路の開口断面積を可変とするスロットルバルブ４３を備えている。スロットルバルブ４３は、ＤＣモータからなるスロットルバルブアクチュエータ４３ａにより吸気管４１内で回転駆動されるようになっている。
【００７４】
排気系統５０は、各気筒の排気ポート３４に一端が接続された複数の枝部を含むエキゾーストマニホールド５１、各エキゾーストマニホールド５１の枝部の他端であって総ての枝部が集合している集合部に接続されたエキゾーストパイプ５２、エキゾーストパイプ５２に配設された触媒５３を備えている。排気ポート３４、エキゾーストマニホールド５１及びエキゾーストパイプ５２は、排気通路を構成している。
【００７５】
なお、排気系統５０は、触媒５３に加えて、エキゾーストパイプ５２の触媒５３よりも下流側に下流側触媒（図示省略）を備えてもよい。
【００７６】
触媒５３（上記下流側触媒が配設される場合、触媒５３及び下流側触媒のそれぞれ。以下同様。）は、所謂、ジルコニア等のセラミックからなる担持体に「白金等の貴金属からなる触媒成分」及び「セリア（CeO2）等の酸素吸蔵物質」を担持する三元触媒装置（排気浄化触媒）である。各触媒は、触媒物質の温度が活性温度以上であり、且つ、触媒５３に流入するガスの空燃比が理論空燃比である場合、未燃物（HC，CO等）と窒素酸化物（NOx）との酸化還元反応を促進し、流入するガスを浄化する。
【００７７】
この制御装置は、熱線式エアフローメータ６１、スロットルポジションセンサ６２、カムポジションセンサ６３、クランクポジションセンサ６４、水温センサ６５、上流側空燃比センサ６６、下流側空燃比センサ６７、アクセル開度センサ６８及び車速センサ（図示省略）を備えている。
【００７８】
エアフローメータ６１は、吸気管４１内を流れる吸入空気の質量流量（機関１０に単位時間あたりに吸入される空気の質量。本発明においては、単に「流量」とも称呼する。）Gaに応じた信号を出力するようになっている。
スロットルポジションセンサ６２は、スロットルバルブ４３の開度（スロットルバルブ開度）を検出し、スロットルバルブ開度TAを表す信号を出力するようになっている。
【００７９】
カムポジションセンサ６３は、インテークカムシャフトが９０°回転する毎に（即ち、クランク軸２４が１８０°回転する毎に）一つのパルスを有する信号（G2信号）を発生するようになっている。
クランクポジションセンサ６４は、クランク軸２４が１０°回転する毎に幅狭のパルスを有するとともに同クランク軸２４が３６０°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、後述する電気制御装置７０によって機関回転速度NEに変換される。
水温センサ６５は、内燃機関１０の冷却水の温度を検出し、冷却水温THWを表す信号を出力するようになっている。
【００８０】
上流側空燃比センサ６６は排気通路に配設されている。上流側空燃比センサ６６の配設位置は、エキゾーストマニホールド５１の枝部の集合部又はその集合部よりも下流側である。上流側空燃比センサ６６は限界電流式の酸素濃度センサである。上流側空燃比センサ６６は、図２に示したように、「被検出ガス」の空燃比A/Fに応じた電圧である出力値Vabyfsを出力するようになっている。従って、本実施形態において、上流側空燃比センサ６６は、排気通路であって上流側空燃比センサ６６が配設されている部位を流れるガスの空燃比（従って、触媒５３に流入するガスの空燃比、及び、機関に供給される混合気の空燃比）に応じた出力値Vabyfsを出力するようになっている。
【００８１】
この出力値Vabyfsは、被検出ガスの空燃比が理論空燃比であるときに値Vstoichに一致する。出力値Vabyfsは、被検出ガスの空燃比が大きくなる（リーンとなる）ほど増大する。上流側空燃比センサ６６は、被検出ガスの空燃比の変化に対して出力が連続的に変化する広域空燃比センサである。
【００８２】
後述する電気制御装置７０は、図２に示したテーブル（マップ）Mapabyfsを記憶しており、そのテーブルMapabyfsに実際の出力値Vabyfsを適用することによって空燃比を検出する（検出空燃比abyfsを取得する）ようになっている。以下、上流側空燃比センサ６６の出力値VabyfsとテーブルMapabyfsとによって取得される空燃比を、「上流側空燃比abyfs」とも称呼する。
【００８３】
下流側空燃比センサ６７は、排気通路であって触媒５３よりも下流側に配設されている。なお、下流側触媒が配設される場合、下流側空燃比センサ６７は、触媒５３と下流側触媒との間の排気通路に配設されることが好適である。下流側空燃比センサ６７は、周知の起電力式の酸素濃度センサ（安定化ジルコニアを用いた周知の濃淡電池型の酸素濃度センサ）である。下流側空燃比センサ６７は、排気通路であって下流側空燃比センサ６７が配設されている部位を流れるガスである被検出ガスの空燃比（機関に供給される混合気の空燃比の時間的平均値）に応じた出力値Voxsを発生するようになっている。
【００８４】
この出力値Voxsは、図３に示したように、被検出ガスの空燃比が理論空燃比よりもリッチのとき最大出力値max（例えば、約０．９Ｖ）となり、被検出ガスの空燃比が理論空燃比よりもリーンのとき最小出力値min（例えば、約０．１Ｖ）となり、被検出ガスの空燃比が理論空燃比であるとき最大出力値maxと最小出力値minの略中間の電圧Vst（中間電圧Vst、例えば、約０．５Ｖ）となる。更に、この出力値Voxsは、被検出ガスの空燃比が理論空燃比よりもリッチな空燃比からリーンな空燃比へと変化する際に最大出力値maxから最小出力値minへと急変し、被検出ガスの空燃比が理論空燃比よりもリーンな空燃比からリッチな空燃比へと変化する際に最小出力値minから最大出力値maxへと急変する。
【００８５】
再び、図１を参照すると、アクセル開度センサ６８は、運転者によって操作されるアクセルペダルＡＰの操作量Accpを表す信号を出力するようになっている。
車速センサ（図示省略）は、例えば駆動輪周辺に設置され、車速SPDを表す信号を出力するようになっている。
【００８６】
電気制御装置７０は、互いにバスで接続されたＣＰＵ７１、ＲＯＭ７２、ＲＡＭ７３、バックアップＲＡＭ７４、及び、ＡＤコンバータを含むインターフェース７５等からなるマイクロコンピュータである。
【００８７】
インターフェース７５は、前記センサ６１〜６８と接続され、ＣＰＵ７１にセンサ６１〜６８からの信号を供給するようになっている。更に、インターフェース７５は、ＣＰＵ７１の指示に応じて各アクチュエータ（可変吸気タイミング装置３３のアクチュエータ３３ａ、イグナイタ３８、インジェクタ３９及びスロットルバルブアクチュエータ４３ａ等）に駆動信号（指示信号）を送出するようになっている。
【００８８】
変速制御装置８０は、電気制御装置７０からの要求に基づき、スロットルポジションセンサ６２からの出力信号に基づいて得られるスロットルバルブ開度TA及び車速センサ（図示省略）からの出力信号に基づいて得られる車速SPD等を所定の変速制御則（変速比マップ）に適用することによって採用すべき変速比を決定し、この変速比が得られるように変速装置９０を制御するようになっている。
【００８９】
次に、上述したように構成された第１制御装置の作動について説明する。
【００９０】
＜制御の概要＞
第１制御装置は、機関１０の運転状態を示すパラメータ（アクセルペダル開度Accp、機関回転速度NE、及び、筒内吸入空気量Mc等）に基づいて機関の運転モード（後述するフューエルカット運転、リーン運転、理論空燃比運転等）を決定する。そして、第１制御装置は、決定された運転モードに従う運転を実行するようにインターフェース７５を介して各アクチュエータ等に指示を与える。
以下、機関１０の運転状態及びこの運転状態に基づいて決定される運転モードにつき、図４に示すタイムチャートを参照して説明する。
【００９１】
図４は、機関１０が冷間始動された後、その運転モードが随時変化する様子の一例を示すタイムチャートである。機関１０が時刻t0において冷間始動された後、触媒５３の温度（以下、「触媒温度TempC」とも称呼する。）は徐々に上昇し、時刻t3において触媒閾値温度TempCth（上述した活性温度）に到達する。即ち、時刻t3において触媒５３の暖機期間が終了する。触媒温度TempCは、時刻t3以降も上昇を続けて所定の定常温度に到達する。その後、触媒温度TempCはこの定常温度近傍の温度に維持される。
【００９２】
ここで、触媒温度TempCが触媒閾値温度TempCthに到達した時点（時刻t3）において、触媒５３の暖機が完了したか否かを示す指標である暖機判定フラグＸＴＣの値は「０」から「１」に変更される。暖機判定フラグＸＴＣの値は、触媒温度TempCが触媒閾値温度TempCth以上であるときに「１」に維持される。
【００９３】
上述したように、触媒５３がその活性温度に到達するまでの期間（即ち、暖機期間）、触媒５３はその排ガス浄化性能を十分に発揮することができない。そこで、第１制御装置は、この暖機期間（時刻t0から時刻ｔ3までの期間）においては、「触媒５３に流入する未燃物及び窒素酸化物を低減する運転モード、又は、触媒５３の暖機を促進する運転モード」（後述する「暖機運転」。図４では「Ｗ」と表示。）に従う運転を実行する。
【００９４】
ここで、暖機期間が終了した後（時刻t3以降）、機関１０が上述した「弱リッチ制御」に基づいた運転を継続すると仮定する。弱リッチ制御は、例えば、上流側空燃比センサ６６の出力値により求められる空燃比（上流側空燃比）を理論空燃比に一致させるメインフィードバック制御を実行するとともに、下流側空燃比センサ６６の出力値により求められる空燃比（下流側空燃比）を理論空燃比よりも僅かにリッチ側の空燃比（下流側目標空燃比）に一致させるサブフィードバック制御を行うことにより実現される。下流側目標空燃比は、触媒５３の所謂ウインドウの範囲内の空燃比である。これにより、未燃物及び窒素酸化物が触媒５３によって浄化され、且つ、機関に供給される混合気の空燃比が僅かにリーン側にずれた場合であっても、その空燃比における触媒５３の窒素酸化物の浄化率は高いから、窒素酸化物の排出量を低減することができる。なお、上述したように、この弱リッチ制御による運転は、「排ガスの空燃比を実質的に理論空燃比に一致させる理論空燃比運転」である。空燃比制御の詳細は、後述される。
【００９５】
この時点（時刻t3）以降、第１制御装置は、後述する「理論空燃比運転」（図４では「Ｓ」と表示。）を実行する。また、第１制御装置は、この時点（時刻t3）以降に機関１０に吸入された空気の流量Gaを積算するとともに、積算された流量をフューエルカット運転「前」積算流量Gasc（以下、「Ｆ／Ｃ前積算流量Gasc」とも称呼する。）として取得する。このＦ／Ｃ前積算流量Gascは時間の経過とともに上昇し、時刻t4にて許容積算流量GA(sc)に到達する。
【００９６】
上述したように、弱リッチ制御に基づいた運転が継続された場合、触媒５３にHC被毒が生じる。そして、触媒５３が重度のHC被毒状態となった場合、触媒５３が半死活状態となる。そこで、第１制御装置は、Ｆ／Ｃ前積算流量Gascが許容積算流量GA(sc)に到達した時点（時刻t4）以降であってフューエルカット運転が実行されるまでの期間、車両の運転状態が減速運転状態であれば後述する「リーン運転」（図４では「Ｌ」と表示。）を実行する。上述したように、リーン運転が実行されることにより、触媒５３のHC被毒の程度が低下され、触媒５３が半死活状態になることを出来る限り防ぐことができる。
【００９７】
その後、例えば、時刻t5の直前において自動変速機が低速側に運転者によって強制的にシフトダウンされることに起因して機関回転速度NEが上昇し、それにより時刻t5から時刻t6の期間において「フューエルカット運転」（図４では「Ｆ／Ｃ」と表示。）が実行されると仮定する。図４に示すように、フューエルカット運転が実行される期間、フューエルカットフラグＸＦＣの値は「１」に設定される。また、このフューエルカット運転が実行された時点（時刻t5）において、有効フューエルカット運転履歴フラグＸＦＣｈの値が「０」から「１」に設定される。なお、触媒５３の暖機期間中にフューエルカット運転が実行された場合（図４の時刻t1を参照。）、有効フューエルカット運転履歴フラグＸＦＣｈの値は「０」に維持される。
【００９８】
このフューエルカット運転が実行されることにより、触媒５３のHC被毒が解消される。従って、第１制御装置は、このフューエルカット運転が停止された時点（時刻t6）から「理論空燃比運転」を再開する。また、第１制御装置は、この時点（時刻t6）以降に機関１０に吸入された空気の流量Gaを積算するとともに、積算された流量をフューエルカット運転「後」積算流量Gafc（以下、「Ｆ／Ｃ後積算流量Gafc」とも称呼する。）として取得する。このＦ／Ｃ後積算流量Gafcは時間の経過とともに上昇し、時刻t7にて許容積算流量GA(fc)に到達する。
【００９９】
上述したように、上記フューエルカット運転が実行されることにより、そのフューエルカット運転が実行されるまでに触媒５３に生じたHC被毒は解消される。しかし、フューエルカット運転が実行された後に弱リッチ制御に基づいた運転（理論空燃比運転）が継続されると、触媒５３に再びHC被毒が生じる。そこで、第１制御装置は、Ｆ／Ｃ後積算流量Gafcが許容積算流量GA(fc)に到達した時点（時刻t7）以降であってフューエルカット運転が実行されるまでの期間、車両の運転状態が減速運転状態であれば上述した「リーン運転」を実行する。上述したように、リーン運転が実行されることにより、触媒５３のHC被毒の程度が低下され、触媒５３が半死活状態になることを出来る限り防ぐことができる。
【０１００】
その後、例えば、時刻t8の直前において自動変速機が低速側に運転者によって強制的にシフトダウンされることに起因して機関回転速度NEが上昇し、それにより時刻t8から時刻t9の期間においてフューエルカット運転が実行されると、その時点（時刻t8）までに触媒５３に生じたHC被毒は解消される。そして、第１制御装置は、このフューエルカット運転が停止された時点（時刻t9）から「弱リッチ制御に基づいた運転（理論空燃比運転）」を再開する。そして、第１制御装置は、時刻t9以降においても時刻t6以降と同様の制御を繰り返す。
【０１０１】
なお、第１制御装置は、時刻t6以降にフューエルカット運転が実行される毎に許容積算流量GA(fc)の値をゼロに再設定し、そのフューエルカット運転が停止されて「理論空燃比運転」が再開された時点から再びＦ／Ｃ後積算流量Gafcの積算を行う。
【０１０２】
第１制御装置が上述のように機関１０の運転モードを制御することにより、触媒５３のHC被毒の度合いを的確に評価するとともに、触媒が半死活状態になることを出来る限り防ぐことができる。この結果、触媒５３の排ガス浄化性能の低下を出来る限り防ぎ、エミッションを良好に維持することができる。
【０１０３】
＜空燃比制御＞
以下、上述した空燃比制御を説明する。
第１制御装置は、上流側空燃比センサ６６の出力値Vabyfsに基づいて得られる上流側空燃比abyfsを上流側目標空燃比abyfrに一致させるための「メインフィードバック制御」、及び、下流側空燃比センサ６７の出力値Voxsを下流側目標値Voxsrefに一致させるための「サブフィードバック制御」を含む空燃比フィードバック制御を実行する。
【０１０４】
実際には、まず、上流側空燃比センサ６６の出力値Vabyfsが、「下流側空燃比センサ６７の出力値Voxsと下流側目標値Voxsrefとの出力偏差量Dvoxsを小さくするように算出されたサブフィードバック量Vafsfb」により補正される。そして、この補正によって得られた「フィードバック制御用出力値Vabyfc」が上述したテーブルMapabyfs（図２を参照。）に適用されることにより、「フィードバック制御用空燃比（補正検出空燃比）abyfsc」が算出される。更に、このフィードバック制御用空燃比abyfscが「上流側目標空燃比abyfr」に一致するように燃料噴射量が制御される。第１制御装置においては、このように空燃比フィードバック制御が行われる。以下にて、この空燃比フィードバック制御をより詳細に説明する。
【０１０５】
１．メインフィードバック制御
より具体的に述べると、第１制御装置は、フィードバック制御用出力値Vabyfcを下記（１）式に従って算出する。（１）式において、Vabyfsは上流側空燃比センサ６６の出力値、Vafsfbは下流側空燃比センサ６７の出力値Voxsに基づいて算出されるサブフィードバック量である。これらの値は、何れも現時点において得られている値である。サブフィードバック量Vafsfbの算出方法は後述される。
Vabyfc＝Vabyfs＋Vafsfb    ・・・（１）
【０１０６】
第１制御装置は、下記（２）式に示したように、フィードバック制御用出力値Vabyfcを図２に示したテーブルMapabyfsに適用することによってフィードバック制御用空燃比abyfscを得る。
abyfsc＝Mapabyfs（Vabyfc）    ・・・（２）
【０１０７】
一方、第１制御装置は、現時点（時点k）にて気筒内に吸入される空気量である筒内吸入空気量Mc（k）を求める。筒内吸入空気量Mc（k）は、各気筒の吸気行程毎に、その時点のエアフローメータ６１の出力Gaと機関回転速度NEとに基づいて求められ（例えば、エアフローメータ６１の出力Gaに対して一次遅れ処理を施した値を機関回転速度NEで除することにより求められ）、各吸気行程に対応されながらＲＡＭ７３内に記憶される。筒内吸入空気量Mc（k）は、周知の空気モデル（吸気通路における空気の挙動を模した物理法則に従って構築されたモデル）により算出されてもよい。
【０１０８】
第１制御装置は、下記（３）式に示したように、その筒内吸入空気量Mc（k）を現時点における上流側目標空燃比abyfr（k）によって除すことにより基本燃料噴射量Fbaseを求める。なお、上流側目標空燃比abyfr（k）は、後述するように機関１０の運転モードに応じて決定され、各吸気行程に対応されながらＲＡＭ７３内に記憶される。
Fbase＝Mc（k）／abyfr（k）    ・・・（３）
【０１０９】
第１制御装置は、下記（４）式に示したように、基本燃料噴射量Fbaseをメインフィードバック量DFiにより補正する（基本燃料噴射量Fbaseにメインフィードバック量DFiを加える）ことにより、最終燃料噴射量Fiを算出する。そして、第１制御装置は、最終燃料噴射量Fiの燃料を吸気行程を迎えている気筒のインジェクタ３９から噴射する。メインフィードバック量DFiの算出方法は後述される。
Fi＝Fbase＋DFi    ・・・（４）
【０１１０】
上記（４）式におけるメインフィードバック量DFiは、以下のようにして求められる。
まず、第１制御装置は、下記（５）式に示したように、現時点よりもNサイクル（即ち、N・７２０°クランク角）「前」の時点における筒内吸入空気量Mc（k−N）を、上記フィードバック制御用空燃比（補正検出空燃比）abyfscにて除すことにより、現時点よりもNサイクル前の時点において燃焼室２５に実際に供給された燃料の量である「筒内供給燃料量Fc（k−N）」を求める。
Fc（k−N）＝Mc（k−N）／abyfsc    ・・・（５）
【０１１１】
このように、現時点からNサイクル前の筒内燃料供給量Fc（k−N）を求めるために、現時点からNサイクル前の筒内吸入空気量Mc（k−N）をフィードバック制御用空燃比abyfscで除すのは、燃焼室２５内で燃焼された混合気が上流側空燃比センサ６６に到達するまでにNサイクルに相当する時間を要しているからである。
【０１１２】
次に、第１制御装置は、下記（６）式に示したように、現時点からNサイクル前の筒内吸入空気量Mc（k−N）を現時点からNサイクル前の上流側目標空燃比abyfr（k−N）で除すことにより現時点からNサイクル前の「目標筒内燃料供給量Fcr（k−N）」を求める。
Fcr（k−N）＝Mc（k−N）／abyfr（k−N）    ・・・（６）
【０１１３】
第１制御装置は、下記（７）式に示したように、現時点からNサイクル前の目標筒内燃料供給量Fcr（k−N）から筒内燃料供給量Fc（k−N）を減じた値を「筒内燃料供給量偏差DFc」として設定する。この筒内燃料供給量偏差DFcは、「Nサイクル前の時点で筒内に供給された燃料の過不足分」を表す量となる。
DFc＝Fcr（k−N）−Fc（k−N）    ・・・（７）
【０１１４】
その後、第１制御装置は、下記（８）式に基づいてメインフィードバック量DFiを求める。この（８）式において、Gpは予め設定された比例ゲイン、Giは予め設定された積分ゲインである。（８）式の係数KFBは、機関回転速度NE及び筒内吸入空気量Mc等により可変とすることが好適である。なお、ここでは係数KFBを「１」としている。また、（８）式の値SDFcは筒内燃料供給量偏差DFcの積分値である。即ち、第１制御装置は、フィードバック制御用空燃比abyfscと上流側目標空燃比abyfrとに基づく比例積分制御によりメインフィードバック量DFiを算出する。このメインフィードバック量DFiは上記（４）式に示したように基本燃料噴射量Fbaseに加えられ、それにより、最終的な燃料噴射量Fiが算出される。
DFi＝（Gp・DFc＋Gi・SDFc）・KFB    ・・・（８）
【０１１５】
２．サブフィードバック制御
第１制御装置は上述したサブフィードバック量Vafsfbを次のように算出する。
即ち、第１制御装置は、下記（９）式に示したように、下流側目標値Voxsrefから現時点の下流側空燃比センサ６７の出力値Voxsを減じることにより出力偏差量DVoxsを求める。（９）式における下流側目標値Voxsrefは、後述するように機関１０の運転モードに応じて決定される。
DVoxs＝Voxsref−Voxs    ・・・（９）
【０１１６】
第１制御装置は、下記（１０）式に基づいてサブフィードバック量Vafsfbを求める。（１０）式において、Kpは予め設定された比例ゲイン（比例定数）、Kiは予め設定された積分ゲイン（積分定数）である。また、SDVoxsは、出力偏差量DVoxsの積分値である。
Vafsfb＝Kp・DVoxs＋Ki・SDVoxs    ・・・（１０）
【０１１７】
このように、第１制御装置は、下流側空燃比センサ６７の出力値Voxsと下流側目標値Voxsrefとに基づく比例積分制御によりサブフィードバック量Vafsfbを算出する。このサブフィードバック量Vafsfbは、上述した（１）式に示したように、フィードバック制御用出力値Vabyfcを算出するために使用される。
【０１１８】
以上に説明したように、第１制御装置は、サブフィードバック量Vafsfbを加えることによって上流側空燃比センサ６６の出力値Vabyfsを補正し、その補正によって得られたフィードバック制御用出力値Vabyfc（＝Vabyfs＋Vafsfb）に基づいてフィードバック制御用空燃比abyfscを取得する（図２を参照。）。そして、第１制御装置は、取得したフィードバック制御用空燃比abyfscが上流側目標空燃比abyfrに一致するように燃料噴射量Fiを制御する。
【０１１９】
その結果、上流側空燃比センサ６６の出力値Vabyfsに相当する上流側空燃比abyfsは上流側目標空燃比abyfrに近づき、同時に、下流側空燃比センサ６７の出力値Voxsは下流側目標値Voxsrefに近づく。即ち、第１制御装置は、上流側空燃比センサ６６の出力値Vabyfsとサブフィードバック量Vafsfbとに基づいて機関の混合気の空燃比を上流側目標空燃比abyfrに一致させる空燃比フィードバック制御手段を備えている。
【０１２０】
＜運転モード＞
以下、上述したフューエルカット運転、暖機運転、理論空燃比運転、及び、リーン運転について説明する。
【０１２１】
第１制御装置において、「フューエルカット運転」とは、機関１０への燃料供給（燃料噴射）を停止する運転である。
【０１２２】
第１制御装置において、「暖機運転」とは、触媒５３の暖機期間に実行される運転である。例えば、上述した空燃比フィードバック制御において上流側目標空燃比abyfrを理論空燃比よりもリッチ側の空燃比とする運転、及び、混合気への点火時期をMBT（Maximum  advance  for  Best  Torque）よりも遅角させる運転等が挙げられる。
【０１２３】
第１制御装置において、「理論空燃比運転」とは、触媒がHC被毒・半死活状態となる可能性が大きいと判断されて「いない」場合に実行される運転であり、ある時点での機関１０の運転状態（負荷、機関回転速度、及び、機関１０を搭載した車両の速度等）に基づいて決定される通常の運転を実行するための運転モードである。例えば、上述した空燃比フィードバック制御において上流側目標空燃比abyfrを理論空燃比とするとともに下流側目標値Voxsrefを理論空燃比に対応する値よりも僅かにリッチ側の値とする運転（即ち、上述した「弱リッチ制御」に基づく運転）等が挙げられる。
【０１２４】
第１制御装置において、「リーン運転」とは、触媒５３に流入する排ガスの空燃比を理論空燃比よりもリーン側の空燃比（ウインドウＷを外れた領域内の空燃比。図３を参照。）とする運転である。リーン運転は、上述した空燃比フィードバック制御（ここでは、メインフィードバック制御）において、上流側目標空燃比abyfrを理論空燃比よりもリーン側の値にすることにより実行することができる。このとき、サブフィードバック制御は停止される。
【０１２５】
なお、上述した上流側目標空燃比abyfr及び下流側目標値Voxsrefの設定方法は、後述される。
【０１２６】
＜実際の作動＞
以下、第１制御装置の実際の作動につき、以下の（１）乃至（３）の期間に場合を分けて説明する。
（１）触媒の暖機が完了するまでの期間（図４における時刻t0から時刻t3までの期間）
（２）触媒の暖機が完了した時点から初回のフューエルカット運転が実行されるまでの期間（同時刻t3から時刻t5までの期間）
（３）初回のフューエルカット運転が実行された時点以降の期間（同時刻t5以降の期間）
【０１２７】
（１）触媒の暖機が完了するまでの期間
第１制御装置の電気制御装置７０のＣＰＵ７１は、図５乃至図１４にフローチャートにより示した各ルーチンを所定時間の経過毎に繰り返し実行するようになっている。
【０１２８】
具体的に述べると、ＣＰＵ７１は、所定のタイミングにて図５に示す触媒温度推定ルーチンを実行し、機関始動時の冷却水温TWSを取得するとともに、触媒温度TempCを取得（推定）する。即ち、まず、ＣＰＵ７１は、図５のステップ５００から処理を開始してステップ５１０に進み、現時点が機関１０の始動直後であるか否かを判定する。
【０１２９】
いま、現時点が機関１０が冷間始動された直後であると仮定する。この仮定に従えば、ＣＰＵ７１はステップ５１０にて「Ｙｅｓ」と判定し、ステップ５２０に進む。ＣＰＵ７１はそのステップ５２０にて、水温センサ６５の出力値に基づいて始動時冷却水温TWSを取得するとともに、始動時冷却水温TWSと触媒温度TempCとの関係を予め定めた始動時触媒温度推定関数f（TWS）に取得した始動時冷却水温TWSを適用することにより、「機関が冷間始動した時点における触媒温度TempC」を取得（推定）する。始動時触媒温度推定関数f（TWS）は、始動時冷却水温TWSに対して触媒温度TempCが単調に増加する関数として定められている。
【０１３０】
次いで、ＣＰＵ７１は図５のステップ５３０に進み、筒内吸入空気量Mc及び機関回転速度NE対する排気温度Texの関係を予め定めた排気温度テーブルMapTex（Mc，NE）に現時点における筒内吸入空気量Mc及び機関回転速度NEを適用することにより、現時点における排気温度Texを取得（推定）する。
【０１３１】
その後、ＣＰＵ７１はステップ５４０に進み、下記（１１）式に従って触媒温度TempCを更新・取得（推定）する。（１１）式において、αは０よりも大きく１よりも小さい所定の定数、TempC（k）は更新される前の触媒温度TempC、TempC（k+1）は更新後の触媒温度TempCである。
TempC（k+1）＝α・TempC（k）＋（1−α）・Tex    ・・・（１１）
ＣＰＵ７１は、上記（１１）式に従って触媒温度TempCを更新・取得（推定）した後、ステップ５９５に進んで本ルーチンを一旦終了する。
【０１３２】
更に、ＣＰＵ７１は、所定のタイミングにて図６に示す暖機判定フラグ設定ルーチンを実行し、触媒５３の暖機が完了しているか否かを確認する。即ち、ＣＰＵ７１は、図６のステップ６００から処理を開始してステップ６１０に進み、触媒温度TempCが所定の触媒閾値温度TempCth以上であるか否かを判定する。暖機判定フラグＸＴＣは、その値が「０」であるとき、触媒５３の暖機が完了していない（暖機期間中である）ことを示す。一方、暖機判定フラグＸＴＣは、その値が「１」であるとき、触媒５３の暖機が完了している（暖機期間が終了している）ことを示す。
【０１３３】
上記仮定に従えば、現時点は機関１０が冷間始動された直後であるので、触媒温度TempCは触媒閾値温度TempCthより小さい。従って、ＣＰＵ７１は、図６のステップ６１０にて「Ｎｏ」と判定し、ステップ６２０に進んで暖機判定フラグＸＴＣの値に「０」を設定する。次いで、ＣＰＵ７１は、ステップ６９５に進んで本ルーチンを一旦終了する。
【０１３４】
更に、ＣＰＵ７１は、所定のタイミングにて図７に示す流量積算ルーチンを実行し、機関１０に吸入される空気の流量を積算する。即ち、ＣＰＵ７１は、図７のステップ７００から処理を開始してステップ７１０に進み、暖機判定フラグＸＴＣの値が「１」であるか否かを判定する。現時点では暖機判定フラグＸＴＣの値は「０」である。従って、ＣＰＵ７１はそのステップ７１０にて「Ｎｏ」と判定し、ステップ７９５に直接進んで本ルーチンを一旦終了する。即ち、暖機期間が終了するまでの期間、吸入される空気の流量の積算は行われない。なお、図７のステップ７３０に示されるＦ／Ｃ前積算流量Gasc、及び、ステップ７４０に示されるＦ／Ｃ後積算流量Gafcは、図示しないイグニッション・キー・スイッチがオフからオンに変更されたときに実行されるイニシャルルーチンにおいてゼロに設定されようになっている。
【０１３５】
更に、ＣＰＵ７１は、所定のタイミングにて図８に示す許容流量設定ルーチンを実行し、HC被毒の点で触媒５３が許容し得る吸入空気の積算流量の上限値を取得する。即ち、ＣＰＵ７１は、図８のステップ８００から処理を開始してステップ８１０に進み、暖機判定フラグＸＴＣの値が「１」であるか否かを判定する。現時点では暖機判定フラグＸＴＣの値は「０」である。従って、ＣＰＵ７１はそのステップ８１０にて「Ｎｏ」と判定し、ステップ８９５に直接進んで本ルーチンを一旦終了する。即ち、暖機期間が終了するまでの期間、流量の上限値は取得されない。
【０１３６】
なお、図８のステップ８５０に示される補正後許容積算流量GAは、上記イニシャルルーチンにおいてゼロよりも大きい所定値に設定されるようになっている。この所定値は、後述する図１０のルーチンにおいて暖機期間中に限って使用される便宜的な値であり、実際の許容積算流量を示すものではない。
【０１３７】
更に、ＣＰＵ７１は、所定のタイミングにて図９に示すフューエルカット運転閾値回転速度設定ルーチンを実行し、後述する「フューエルカット開始条件」の一つである閾値回転速度を取得する。即ち、ＣＰＵ７１は、図９のステップ９００から処理を開始してステップ９１０に進み、機関１０の冷却水温THWと閾値回転速度との関係を予め定めた閾値回転速度テーブルMapNEfcth1（THW）及びMapNEfcth2（THW）に対し、水温センサ６５の出力値に基づいて取得した現時点での冷却水温THWを適用することにより、現時点における「第１閾値回転速度NEfcth1」及び「第２閾値回転速度NEfcth2」を取得する。その後、ＣＰＵ７１はステップ９９５に進んで本ルーチンを一旦終了する。
【０１３８】
「第１閾値回転速度NEfcth1」及び「第２閾値回転速度NEfcth2」は、冷却水温THWが高くなるにつれて小さくなるように設定される。また、「第１閾値回転速度NEfcth1」は「第２閾値回転速度NEfcth2」よりも大きくなるように設定されている。
【０１３９】
更に、ＣＰＵ７１は、所定のタイミングにて図１０に示す運転モード設定ルーチンを実行し、現時点での機関１０の状態に基づき、現時点がフューエルカット運転を実行・停止すべき状態であるか否か、及び、現時点がリーン運転を実行・停止すべき状態であるか否かを確認する。即ち、ＣＰＵ７１は、図１０のステップ１０００から処理を開始してステップ１００５に進み、フューエルカットフラグＸＦＣの値が「０」であるか否かを判定する。
【０１４０】
フューエルカットフラグＸＦＣは、その値が「０」であるとき、機関１０がフューエルカット運転を実行すべきではない状態であることを示す。一方、フューエルカットフラグＸＦＣは、その値が「１」であるとき、機関１０がフューエルカット運転を実行すべき状態であることを示す。フューエルカットフラグＸＦＣの値は、上記イニシャルルーチンにおいて「０」に設定されるようになっている。
【０１４１】
上記イニシャルルーチンが実行されるとき、触媒５３の暖機期間終了後に触媒５３のHC被毒を解消する点で有効なフューエルカット運転（以下、「有効フューエルカット運転」とも称呼する。）が実行された履歴が存在するか否かを示す有効フューエルカット運転履歴フラグＸＦＣｈも「０」に設定されるようになっている。有効フューエルカット運転履歴フラグＸＦＣｈは、その値が「１」であるとき、有効フューエルカット運転が実行された履歴が存在することを示す。一方、有効フューエルカットフラグＸＦＣｈは、その値が「０」であるとき、有効フューエルカット運転が実行された履歴が存在しないことを示す。
【０１４２】
上記仮定に従えば、現時点は機関１０が冷間始動された直後である。従って、フューエルカットフラグＸＦＣの値は、上記イニシャルルーチンにおいて設定された「０」である。従って、ＣＰＵ７１は、図１０のステップ１００５にて「Ｙｅｓ」と判定してステップ１０１５以降に進み、後述するフューエルカット開始条件が成立しているか否かを判定する。
【０１４３】
第１制御装置においては、フューエルカット開始条件は以下に述べる条件１及び条件２の双方が成立したときにのみ成立する。
（条件１）スロットルバルブ４３の開度TAが「ゼロ（又は所定開度TAth以下）」であること。なお、ＣＰＵ７１は、スロットルバルブ４３の開度を、アクセルペダル開度Accpが大きくなるほど大きくなるように制御している。また、ＣＰＵ７１は、アクセルペダル開度Accpが閾値開度δであるときにスロットルバルブ４３の開度TAが上記所定開度TAthとなるように制御している。
（条件２）機関回転速度NEが「第１閾値回転速度NEfcth1以上」であること。なお、第１閾値回転速度NEfcth1は、上述した図９のルーチンにおいて取得される。
【０１４４】
上記仮定に従えば、現時点は機関１０が冷間始動された直後である。ここで、更に、機関１０が冷間始動された後、「アクセルペダル開度Accpが閾値開度δ以下」であり、且つ、「機関回転速度NEが第１閾値回転速度NEfcth1より小さい」状態が継続されたと仮定する。このような状態は、例えば、機関１０が車両に搭載されているとき、機関１０が冷間始動された後に機関１０の暖機を目的として車両を停止している場合等に生じる。
【０１４５】
ＣＰＵ７１は、図１０のステップ１０１０にて、アクセルペダル開度Accpが閾値開度δ以下であるか否かを判定する。上記仮定に従えば、ＣＰＵ７１は、そのステップ１０１０にて「Ｙｅｓ」と判定し、ステップ１０１５に進んで機関回転速度NEが第１閾値回転速度NEfcth1以上であるか否かを判定する。上記仮定に従えば、ＣＰＵ７１は、そのステップ１０１０にて「Ｎｏ」と判定し、ステップ１０２０に進んで有効フューエルカット運転履歴フラグＸＦＣｈの値が「０」であるか否かを判定する。現時点においては、有効フューエルカット運転履歴フラグＸＦＣｈの値は、上記イニシャルルーチンにて設定されたゼロである。従って、ＣＰＵ７１はそのステップ１０２０にて「Ｙｅｓ」と判定してステップ１０２５に進み、上述したＦ／Ｃ前積算流量Gascを積算流量Sumに格納する。現時点におけるＦ／Ｃ前積算流量Gascは、上記イニシャルルーチンにて設定されたゼロである。従って、積算質量流量Sumにはゼロが格納される。
【０１４６】
次いで、ＣＰＵ７１はステップ１０３０に進み、積算流量Sumが上述した補正後許容積算流量GAよりも大きいか否かを判定する。上述したように、現時点における補正後許容積算流量GAはゼロよりも大きい値に設定されている。従って、ＣＰＵ７１は、そのステップ１０３０にて「Ｎｏ」と判定し、ステップ１０９５に直接進んで本ルーチンを一旦終了する。即ち、このとき、フューエルカットフラグＸＦＣの値は「０」に維持される。
【０１４７】
更に、ＣＰＵ７１は、所定のタイミングにて図１１に示した燃料噴射制御ルーチンを実行し、最終燃料噴射量Fiの計算及び燃料噴射の指示を行う。ＣＰＵ７１は、このルーチンを、所定の気筒のクランク角が吸気上死点前の所定クランク角度（例えば、BTDC９０°CA）となる毎に、その気筒（以下、「燃料噴射気筒」とも称呼する。）に対して繰り返し実行するようになっている。即ち、ＣＰＵ７１は図１１のステップ１１００から処理を開始してステップ１１０５に進み、フューエルカットフラグＸＦＣの値が「０」であるか否かを判定する。現時点において、フューエルカットフラグＸＦＣの値は「０」である。従って、ＣＰＵ７１、そのステップ１１０５にて「Ｙｅｓ」と判定する。
【０１４８】
次いで、ＣＰＵ７１は、ステップ１１１０に進み、暖機判定フラグＸＴＣの値が「１」であるか否かを判定する。現時点において、暖機判定フラグＸＴＣの値は「０」である。従って、ＣＰＵ７１は、そのステップ１１１０にて「Ｎｏ」と判定してステップ１１１５に進み、上流側目標空燃比abyfr（k）に理論空燃比よりもリッチ側の空燃比rich（以下、「リッチ空燃比rich」とも称呼する。）を格納する。
【０１４９】
次いで、ＣＰＵ７１は、後述するステップ１１２０乃至ステップ１１３５の処理を順に行い、ステップ１１９５に進んで本ルーチンを一旦終了する。
ステップ１１２０：ＣＰＵ７１は、エアフローメータ６１により計測された吸入空気量Gaと機関回転速度NEとに基づき、燃料噴射気筒に吸入される空気量である筒内吸入空気量Mc（k）を取得する。
ステップ１１２５：ＣＰＵ７１は、上記（３）式に従って基本燃料噴射量Fbaseを求める。
ステップ１１３０：ＣＰＵ７１は、上記（４）式に従って基本燃料噴射量Fbaseをメインフィードバック量DFiにより補正し、最終燃料噴射量Fiを求める。
ステップ１１３５：ＣＰＵ７１は、最終燃料噴射量Fiの燃料を燃料噴射気筒に対応して設けられているインジェクタ３９から噴射する。
以上により、最終燃料噴射量Fiの燃料が燃料噴射気筒に対して噴射される。このようにして、上流側目標空燃比abyfrがリッチ空燃比richに設定された「暖機運転」が実行される。
【０１５０】
更に、ＣＰＵ７１は、所定のタイミングにて図１２に示すメインフィードバック量DFi算出ルーチンを実行する。即ち、ＣＰＵ７１は、ステップ１２００から処理を開始してステップ１２０５に進み、メインフィードバック制御条件（上流側空燃比フィードバック制御条件）が成立しているか否かを判定する。第１制御装置において、メインフィードバック制御条件は、触媒５３の暖機期間が終了しており、フューエルカット運転の実行中でなく、機関１０の冷却水温THWが所定の第１温度以上であり、機関の一回転当りの吸入空気量（負荷）が所定値以下であり、且つ、上流側空燃比センサ６６が活性化しているときに成立する。従って、例えば、暖機期間中及びフューエルカット運転中等には、メインフィードバック制御条件は成立しない。
【０１５１】
現時点は、触媒５３の暖機期間中であり、上記メインフィードバック制御条件は成立しない。従って、ＣＰＵ７１はステップ１２０５にて「Ｎｏ」と判定してステップ１２１０に進み、メインフィードバック量DFiにゼロを格納する。次いで、ＣＰＵ７１は、ステップ１２１５に進んで筒内燃料供給量偏差DFcの積分値SDFcにゼロを格納し、ステップ１２９５に進んで本ルーチンを一旦終了する。
【０１５２】
このように、メインフィードバック制御条件が成立しないとき、メインフィードバック量DFiはゼロに設定される。従って、このとき、上述した基本燃料噴射量Fbaseのメインフィードバック量DFiによる補正はなされない。
【０１５３】
更に、ＣＰＵ７１は、所定のタイミングにて図１３に示すサブフィードバック量Vafsfb算出ルーチンを実行する。即ち、ＣＰＵ７１は、ステップ１３００から処理を開始してステップ１３１０に進み、サブフィードバック制御条件が成立しているか否かを判定する。第１制御装置において、サブフィードバック制御条件は、図１２に示すメインフィードバック条件（ステップ１２０５）が成立し、上流側目標空燃比abyfrが理論空燃比stoichに設定され、機関の冷却水温THWが前記第１温度よりも高い第２温度以上であり、且つ、下流側空燃比センサ６７が活性化しているときに成立する。従って、例えば、暖機運転中及びフューエルカット運転中及びリーン運転中等には、サブフィードバック制御は成立しない。
【０１５４】
現時点は、触媒５３の暖機期間中であり、上記サブフィードバック条件は成立しない。従って、ＣＰＵ７１は、そのステップ１３１０にて「Ｎｏ」と判定してステップ１３２０に進み、サブフィードバック量Vafsfbにゼロを格納する。次いで、ＣＰＵ７１は、ステップ１３３０に進んで出力偏差量DVoxsの積分値SDVoxsにゼロを格納し、ステップ１３９５に進んで本ルーチンを一旦終了する。
【０１５５】
このように、メインフィードバック条件が成立しないときにはサブフィードバック条件も成立せず、サブフィードバック量Vafsfbはゼロに設定される。従って、このとき、フィードバック制御用出力値Vabyfcのサブフィードバック量Vafsfbによる補正はなされない。
【０１５６】
その後、触媒温度TempCが触媒閾値温度TempCthに到達するまでの期間（即ち、上述した暖機期間）において、上記フューエルカット開始条件が成立したと仮定する。本仮定に従えば、ＣＰＵ７１は、図１０のステップ１０００から処理を開始し、ステップ１００５乃至ステップ１０１５にて「Ｙｅｓ」と判定してステップ１０３５に進み、フューエルカットフラグＸＦＣの値を「１」に設定する。次いで、ＣＰＵ７１は、ステップ１０４０に進んでフューエルカットフラグＸＦＣの値が「１」であるか否かを判定する。現時点において、暖機判定フラグＸＴＣの値は「０」である。従って、ＣＰＵ７１は、ステップ１０４０にて「Ｎｏ」と判定してステップ１０４５に直接進み、リーン運転フラグＸＬＥＡＮの値を「０」に設定する。次いで、ＣＰＵ７１は、ステップ１０９５に進んで本ルーチンを一旦終了する。このとき、有効フューエルカット運転履歴フラグＸＦＣｈの値は、上記イニシャルルーチンにて設定された「０」に維持される。
【０１５７】
リーン運転フラグＸＬＥＡＮの値は、上記イニシャルルーチンにおいて「０」に設定されるようになっている。リーン運転フラグＸＬＥＡＮは、その値が「１」であるとき、機関１０がリーン運転を実行すべき状態であることを示す。一方、リーン運転フラグＸＬＥＡＮは、その値が「０」であるとき、機関１０がリーン運転を実行すべきではない状態であることを示す。即ち、このとき、リーン運転フラグＸＬＥＡＮの値はイニシャルルーチンにて設定された「０」に維持される。
【０１５８】
この状態（フューエルカットフラグＸＦＣの値が「１」に設定された状態）において、ＣＰＵ７１は、図１１のステップ１１００から処理を開始すると、ステップ１１０５にて「Ｎｏ」と判定する。そして、ＣＰＵ７１はステップ１１９５に直接進んで本ルーチンを一旦終了する。このとき、ステップ１１３５の処理が実行されないので、燃料の噴射がなされない。即ち、「フューエルカット運転」が実行される。
【０１５９】
以上に説明したように、この時点にて、フューエルカット運転が実行される。ただし、上述したように、暖機期間中にフューエルカット運転が実行されたとしても、有効フューエルカット運転履歴フラグＸＦＣｈの値は「０」に維持される。
【０１６０】
また、フューエルカット運転が実行されたとき、後述する「フューエルカット復帰条件」が成立するまでフューエルカット運転は継続される。この点につき、以下に説明する。
第１制御装置においては、フューエルカット復帰条件は、以下に述べる条件３及び条件４のうちの少なくとも一つが成立したときに成立する。
（条件３）スロットルバルブ開度TAが「ゼロ（又は所定開度以下）」より大きいこと。
（条件４）機関回転速度NEが「第１閾値回転速度NEfcth1よりも所定回転速度ΔNだけ小さい回転速度（以下、便宜上、「フューエルカット復帰閾値回転速度NEfcre」と称呼する。）よりも小さい」こと。
【０１６１】
ＣＰＵ７１は、所定のタイミングにて図１４に示すフューエルカット復帰判定ルーチンを実行し、現時点での機関１０の運転状態がフューエルカット運転を停止すべき状態であるか否かを確認する。即ち、ＣＰＵ７１は、図１４のステップ１４００から処理を開始してステップ１４１０に進み、そのステップ１４１０にてフューエルカットフラグＸＦＣの値が「１」であるか否かを判定する。現時点では、フューエルカットフラグＸＦＣの値は「１」である。従って、ＣＰＵ７１は、そのステップ１４１０にて「Ｙｅｓ」と判定してステップ１４２０に進み、アクセルペダル開度Accpが閾値開度δより大きいか否かを判定する。
【０１６２】
ここで、上述したようにフューエルカット運転が開始された後、現時点では上記フューエルカット復帰条件が成立していない（即ち、上記条件３及び条件４の双方が成立していない）と仮定する。本仮定に従えば、ＣＰＵ７１は、そのステップ１４２０にて「Ｎｏ」と判定してステップ１４３０に進み、機関回転速度NEが上記フューエルカット復帰閾値回転速度NEfcreよりも小さいか否かを判定する。上記仮定に従えば、ＣＰＵ７１は、そのステップ１４３０にて「Ｎｏ」と判定してステップ１４９５に直接進み、本ルーチンを一旦終了する。従って、この場合、後述するステップ１４４０の処理が実行されないので、フューエルカットフラグＸＦＣは「１」に維持される。
【０１６３】
このとき、ＣＰＵ７１は、図１１のステップ１１００から処理を開始すると、ステップ１１０５を経てステップ１１９５に進む。このとき、燃料噴射の指示（ステップ１１３５）はなされず、フューエルカット運転が実行される。このように、フューエルカット運転が実行されている期間において上記フューエルカット復帰条件が成立しない場合、フューエルカット運転が継続される。
【０１６４】
ここで、上記フューエルカット運転復帰条件が成立したと仮定する。このような状況は、例えば、フューエルカット運転の実行中において、機関１０に加速が要求された場合（アクセルペダル開度Accpが閾値開度δ以下でなくなったとき）、或いは、車両の減速に伴って機関回転速度NEがフューエルカット復帰閾値回転速度NEfcreよりも小さくなった場合等に生じる。以下では、後者の状況（機関回転速度NEがフューエルカット復帰閾値回転速度NEfcreよりも小さくなった場合）によってフューエルカット復帰条件が成立したと仮定する。
【０１６５】
上記仮定に従えば、ＣＰＵ７１は、図１４のステップ１４００から処理を開始すると、ステップ１４１０、ステップ１４２０及びステップ１４３０を経てステップ１４４０に進み、フューエルカットフラグＸＦＣの値を「０」に設定する。次いで、ＣＰＵ７１は、ステップ１４５０に進んでＦ／Ｃ後積算流量Gafcをゼロに設定し、ステップ１４９５に進んで本ルーチンを一旦終了する。
【０１６６】
このとき、ＣＰＵ７１は、図１１のステップ１１００から処理を開始してステップ１１０５に進むと、そのステップ１１０５にて「Ｙｅｓ」と判定する。そして、ＣＰＵ７１は、ステップ１１１０を経てステップ１１１５に進み、ステップ１１１５に続くステップ１１２０乃至ステップ１１３５の処理を実行し、最終燃料噴射量Fiの燃料を燃料噴射気筒に対して噴射する。その後、ＣＰＵ７１は、ステップ１１９５に進んで本ルーチンを一旦終了する。即ち、「暖機運転」が再開される。
【０１６７】
以上に説明したように、ＣＰＵ７１は、機関が冷間始動してから暖機期間が終了するまでの期間、暖機運転を実行する。また、この期間においてフューエルカット開始条件が成立した場合、ＣＰＵ７１はフューエルカット運転を実行する。更に、このフューエルカット運転を実行中にフューエルカット復帰条件が成立した場合、ＣＰＵ７１はフューエルカット運転を停止し、暖機運転を再開する。
【０１６８】
（２）触媒の暖機が完了した時点から初回のフューエルカット運転が実行されるまでの期間
暖機運転が再開された後、機関１０の運転が継続するとともに触媒５３の温度は上昇する。ここで、現時点が、触媒温度TempCが触媒閾値温度TempCth以上となった直後であると仮定する。なお、触媒温度TempCは、ＣＰＵ７１が図５のルーチンを実行する毎に更新・取得（推定）されている。
【０１６９】
上記仮定に従えば、ＣＰＵ７１は、図６のステップ６００から処理を開始してステップ６１０に進んだとき、そのステップ６１０にて「Ｙｅｓ」と判定する。そして、ＣＰＵ７１は、ステップ６３０に進んで暖機判定フラグＸＴＣの値を「１」に設定し、ステップ６９５に進んで本ルーチンを一旦終了する。
【０１７０】
このとき、ＣＰＵ７１は、図１１のステップ１１００から処理を開始すると、ステップ１１０５及びステップ１１１０にて「Ｙｅｓ」と判定してステップ１１４０に進み、リーン運転フラグＸＬＥＡＮの値が「０」であるか否かを判定する。現時点では、上述したように、リーン運転フラグＸＬＥＡＮの値はイニシャルルーチンにて設定された「０」に維持されている。従って、ＣＰＵ７１は、そのステップ１１４０にて「Ｙｅｓ」と判定してステップ１１４５に進み、上流側目標空燃比abyfr（k）に、理論空燃比stoichを格納する。次いで、ＣＰＵ７１は、ステップ１１２０乃至ステップ１１３５の処理を実行し、最終燃料噴射量Fiの燃料を燃料噴射気筒に対して噴射する。その後、ＣＰＵ７１は、ステップ１１９５に進んで本ルーチンを一旦終了する。
【０１７１】
更に、ここで、図１２に示すメインフィードバック制御条件が成立すると仮定する。本仮定に従えば、ＣＰＵ７１は、図１２のステップ１２００から処理を開始すると、ステップ１２０５にて「Ｙｅｓ」と判定する。次いで、ＣＰＵ７１は、後述するステップ１２２０乃至ステップ１２５０の処理を順に行い、ステップ１２９５に進んで本ルーチンを一旦終了する。
【０１７２】
ステップ１２２０：ＣＰＵ７１は、上記（１）式に従ってフィードバック制御用出力値Vabyfcを取得する。なお、このときの上流側目標空燃比abyfrは、図１１のステップ１１４５にて設定された理論空燃比stoichである。
ステップ１２２５：ＣＰＵ７１は、上記（２）式に従ってフィードバック制御用空燃比abyfscを取得する。
ステップ１２３０：ＣＰＵ７１は、上記（５）式に従って筒内燃料供給量Fc（k−N）を取得する。
ステップ１２３５：ＣＰＵ７１は、上記（６）式に従って目標筒内燃料供給量Fcr（k−N）を取得する。
ステップ１２４０：ＣＰＵ７１は、上記（７）式に従って筒内燃料供給量偏差DFcを取得する。
ステップ１２４５：ＣＰＵ７１は、上記（８）式に従ってメインフィードバック量DFiを取得する。なお、第１制御装置において、係数KFBは「１」に設定されている。筒内燃料供給量偏差DFcの積分値SDFcは次のステップ１２５０にて求められる。
ステップ１２５０：ＣＰＵ７１は、その時点における筒内燃料供給量偏差DFcの積分値SDFcに上記ステップ１２４０にて求められた筒内燃料供給量偏差DFcを加えることにより、新たな筒内燃料供給量偏差の積分値SDFcを取得（更新）する。
【０１７３】
以上により、メインフィードバック量DFiが比例積分制御により求められ、このメインフィードバック量DFiが最終燃料噴射量Fiに反映される（図１１のステップ１１３０を参照。）。
【０１７４】
更に、ここで、図１３に示すサブフィードバック制御条件が成立すると仮定する。本仮定に従えば、ＣＰＵ７１は、図１３のステップ１３００から処理を開始すると、ステップ１３１０にて「Ｙｅｓ」と判定する。次いで、ＣＰＵ７１は、後述するステップ１３４０乃至ステップ１３６０の処理を順に行い、ステップ１３９５に進んで本ルーチンを一旦終了する。
【０１７５】
ステップ１３４０：ＣＰＵ７１は、上記（９）式に従って下流側目標値Voxsrefと下流側空燃比センサ６７の出力値Voxsとの差である出力偏差量DVoxsを取得する。なお、このとき、下流側目標値Voxsrefは理論空燃比に対応する値よりも僅かにリッチ側の値Vrich（以下、「弱リッチ目標値rich」とも称呼する。）に設定する。リッチ側の値Vrichは、図３に示したように、触媒のウインドウＷの幅内の空燃比に相当する値である。
ステップ１３５０：ＣＰＵ７１は、上記（１０）式に従ってサブフィードバック量Vafsfbを取得する。なお、この時点における積分ゲインKiは、予め求められた適値に設定されている。
ステップ１３６０：ＣＰＵ７１は、その時点における出力偏差量の積分値SDVoxsに上記ステップ１３４０にて求めた出力偏差量DVoxsを加えて、新たな出力偏差量の積分値SDVoxsを取得する。
【０１７６】
以上により、サブフィードバック量Vafsfbが比例積分制御により求められ、このサブフィードバック量Vafsfbによって前述した上流側空燃比センサ６６の出力値Vabyfsが補正される（図１２のステップ１２２０を参照。）。そして、補正されたフィードバック制御用出力値Vabyfcに基づいてメインフィードバック量DFiが求められ（図１２のステップ１２４５を参照。）、このメインフィードバック量DFiが最終燃料噴射量Fiに反映される（図１１のステップ１１３０を参照）。
【０１７７】
以上のメインフィードバック制御及びサブフィードバック制御により、現時点からNストローク前の燃料供給量の過不足が補償され、機関の空燃比（従って、触媒５３に流入するガスの空燃比）の平均値が上流側目標空燃比abyfr（現時点では、理論空燃比stoich）よりも僅かにリッチ側の空燃比に制御される。このようにして、触媒５３に流入する排ガスの空燃比が理論空燃比よりも若干リッチ側の空燃比である「理論空燃比運転」が実行される。
【０１７８】
また、上記仮定（現時点が、触媒温度TempCが触媒閾値温度TempCth以上となった直後であるとの仮定）に従えば、ＣＰＵ７１は、図７のステップ７００から処理を開始すると、ステップ７１０にて「Ｙｅｓ」と判定してステップ７２０に進み、有効フューエルカット運転履歴フラグＸＦＣｈの値が「０」であるか否かを判定する。現時点での有効フューエルカット運転履歴フラグＸＦＣｈの値は「０」である。従って、ＣＰＵ７１は、そのステップ７２０にて「Ｙｅｓ」と判定してステップ７３０に進み、下記（１２）式に従ってＦ／Ｃ前積算流量Gascを更新・取得する。（１２）式において、Gaは現時点にて機関１０に吸入される空気の流量、Gasc（k）は更新される前のＦ／Ｃ前積算流量Gasc、Gasc（k+1）は更新後のＦ／Ｃ前積算流量Gascである。
Gasc（k+1）＝Gasc（k）＋Ga    ・・・（１２）
ＣＰＵ７１は、上記（１２）式に従ってＦ／Ｃ前積算流量Gascを更新・取得した後、ステップ７９５に進んで本ルーチンを一旦終了する。
【０１７９】
更に、このとき、ＣＰＵ７１が図８のステップ８００から処理を開始すると、ステップ８１０にて「Ｙｅｓ」と判定してステップ８２０に進み、有効フューエルカット運転履歴フラグＸＦＣｈの値が「０」であるか否かを判定する。現時点では、有効フューエルカット運転履歴フラグＸＦＣｈの値は「０」である。従って、ＣＰＵ７１はそのステップ８２０にて「Ｙｅｓ」と判定し、ステップ８３０に進む。
【０１８０】
ＣＰＵ７１は、そのステップ８３０にて、触媒温度TempCと許容積算流量ga1との関係を予め定めた許容積算流量テーブルMapga1sc（TempC）に現時点での触媒温度TempCを適用することにより、現時点における許容積算流量ga1を取得する。
【０１８１】
この許容積算流量テーブルMapga1sc（TempC）によれば、触媒温度TempCが温度T1よりも小さいとき、許容積算流量ga1はゼロに設定される。また、許容積算流量ga1は、触媒温度TempCが温度T1以上であるときに触媒温度TempCが高くなるにつれて大きくなり、触媒温度TempCが温度T2に到達するときに最大値max1に到達するように設定される。更に、許容積算流量ga1は、触媒温度TempCが温度T2より大きいときに最大値max1を維持するように設定される。
【０１８２】
次いで、ＣＰＵ７１は、ステップ８４０に進む。ＣＰＵ７１は、そのステップ８４０にて、「触媒５３の劣化の程度を表す触媒５３の最大酸素吸蔵量Cmax」と「補正係数kcmax」との関係を予め定めた補正係数テーブルMapkc（Cmax）に現時点での最大酸素吸蔵量Cmaxを適用することにより、現時点における補正係数kcmaxを取得する。最大酸素吸蔵量Cmaxは、図示しないルーチンにより、周知の手法により算出される。
【０１８３】
この補正係数テーブルMapkc（Cmax）によれば、最大酸素吸蔵量Cmaxが値C1よりよりも大きいとき、補正係数kcmaxは１．０に設定される。また、補正係数kcmaxは、最大酸素吸蔵量Cmaxが値C1よりも小さいときに最大酸素吸蔵量Cmaxが小さくなるにつれて小さくなり、最大酸素吸蔵量Cmaxがゼロとなるときに最小値k1となるように設定される。
【０１８４】
なお、最大酸素吸蔵量Cmaxに代え、触媒５３が使用された合計時間及び触媒５３に流入した排ガスの総積算量等に基づいて取得される値を用いてもよい。何れにせよ、補正係数テーブルMapkc（x）に使用される変数xは、触媒が劣化するほど（暖機期間終了後の最大酸素吸蔵量Cmaxが小さくなるほど）小さくなる値として求められる値であればよい。
【０１８５】
次いで、ＣＰＵ７１は、ステップ８５０に進み、下記（１３）式に従って補正後許容積算流量GAを取得する。（１３）式において、ga1は上記ステップ８３０にて取得した許容積算流量ga1、kcmaxは上記ステップ８４０にて取得した補正係数kcmaxである。
GA＝ga1×kcmax    ・・・（１３）
ＣＰＵ７１は、上記（１３）式に従って補正後許容積算流量GAを取得した後、ステップ８９５に進んで本ルーチンを一旦終了する。このようにして求められる補正後許容積算流量GAは、触媒５３の現時点における酸素吸蔵能力に応じた値となる。なお、上記ステップ８３０にて求められた許容積算流量ga1に基づいてステップ８４０にて計算された補正後許容積算流量GAは、便宜上、第１許容流量GAとも称呼される。
【０１８６】
更に、ＣＰＵ７１は、図９のルーチンを実行し、現時点での冷却水温THWに基づく第１閾値回転速度NEfcth1及び第２閾値回転速度NEfcth2を取得する。
【０１８７】
このとき、ＣＰＵ７１は、図１０のステップ１０００から処理を開始すると、ステップ１００５を経てステップ１０１０に進む。ここで、現時点では、「アクセルペダル開度Accpが閾値開度δ以下」であり、且つ、「機関回転速度NEが第１閾値回転速度NEfcth1より小さい」と仮定する。このような状態は、例えば、機関１０を搭載した車両が機関回転速度NEが第１閾値回転速度NEfcth1より小さい状態にて減速された場合等に発生する。
【０１８８】
上記仮定に従えば、ＣＰＵ７１は、そのステップ１０１０にて「Ｙｅｓ」と判定してステップ１０１５に進み、そのステップ１０１５にて「Ｎｏ」と判定してステップ１０２０に進む。現時点では、有効フューエルカット運転履歴フラグＸＦＣｈの値は「０」である。従って、ＣＰＵ７１はそのステップ１０２０にて「Ｙｅｓ」と判定してステップ１０２５に進み、上述したＦ／Ｃ前積算流量Gascを積算流量Sumに格納する。
【０１８９】
次いで、ＣＰＵ７１はステップ１０３０に進む。現時点は、触媒温度TempCが触媒閾値温度TempCth以上となった直後である。従って、現時点では、積算流量Sumは補正後許容積算流量GAよりも小さい。従って、ＣＰＵ７１はそのステップ１０３０にて「Ｎｏ」と判定し、ステップ１０９５に直接進んで本ルーチンを一旦終了する。
【０１９０】
このとき、ＣＰＵ７１は、図１１のステップ１１００から処理を開始すると、ステップ１１０５、ステップ１１１０及びステップ１１４０にて「Ｙｅｓ」と判定し、ステップ１１４５進む。次いで、ＣＰＵ７１は、そのステップ１１４５にて上流側目標空燃比abyfr（k）に理論空燃比stoichを設定し、ステップ１１２０乃至ステップ１１３５の処理を行う。その後、ＣＰＵ７１はステップ１１９５に進んで本ルーチンを一旦終了する。
【０１９１】
更に、ＣＰＵ７１は、上述した図１２のルーチン及び図１３のルーチンに示す処理を実行する。即ち、このとき、「理論空燃比運転」が継続される。
【０１９２】
その後、機関１０が理論空燃比運転を継続すると、図７のステップ７３０の処理が繰り返し実行され、Ｆ／Ｃ前積算流量Gascは徐々に上昇する。いま、Ｆ／Ｃ前積算流量Gascが補正後許容積算流量GA以上となったと仮定する。更に、現時点では、「アクセルペダル開度Accpが閾値開度δ以下」であり、且つ、「機関回転速度NEが第１閾値回転速度NEfcth1より小さい」と仮定する。
【０１９３】
上記仮定に従えば、ＣＰＵ７１は、図１０のステップ１０００から処理を開始すると、ステップ１００５、ステップ１０１０、及び、ステップ１０１５を経てステップ１０２０に進む。現時点では有効フューエルカット運転履歴フラグＸＦＣｈの値は「０」であるので、ＣＰＵ７１は、そのステップ１０２０にて「Ｙｅｓ」と判定してステップ１０２５に進み、Ｆ／Ｃ前積算流量Gascを積算流量Sumに格納してステップ１０３０に進む。上記仮定に従えば、ＣＰＵ７１は、そのステップ１０３０にて「Ｙｅｓ」と判定し、ステップ１０５０に進む。
【０１９４】
ここで、現時点での機関回転速度NEが第２閾値回転速度NEfcth2以上であると仮定する。本仮定に従えば、ＣＰＵ７１は、そのステップ１０５０にて「Ｙｅｓ」と判定してステップ１０５５に進み、リーン運転フラグＸＬＥＡＮの値を「１」に設定する。その後、ＣＰＵ７１はステップ１０９５に進んで本ルーチンを一旦終了する。
【０１９５】
このとき、ＣＰＵ７１は、図１１のステップ１１００から処理を開始すると、ステップ１１０５及びステップ１１１０にて「Ｙｅｓ」と判定してステップ１１４０に進み、リーン運転フラグＸＬＥＡＮの値が「０」であるか否かを判定する。現時点では、リーン運転フラグＸＬＥＡＮの値は「１」である。従って、ＣＰＵ７１は、そのステップ１１４０にて「Ｎｏ」と判定してステップ１１５０に進み、上流側目標空燃比abyfr（k）に、理論空燃比よりもリーン側の空燃比lean（以下、「リーン空燃比lean」とも称呼する。）を格納する。
【０１９６】
次いで、ＣＰＵ７１は、ステップ１１２０乃至ステップ１１３５の処理を実行し、最終燃料噴射量Fiの燃料を燃料噴射気筒に対して噴射する。その後、ＣＰＵ７１は、ステップ１１９５に進んで本ルーチンを一旦終了する。このようにして、上流側目標空燃比abyfrがリーン空燃比leanに設定された「リーン運転」が実行される。
【０１９７】
このとき、上記同様、ＣＰＵ７１は、図１２に示すルーチン及び図１３に示すルーチンを実行してメインフィードバック量DFi及びサブフィードバック量Vafsfbを算出する。但し、サブフィードバック制御条件は不成立であるので、ステップ１３２０の処理によってサブフィードバック量Vafsfbはゼロに設定される。そして、算出された各フィードバック量に基づき、触媒５３に流入するガスの空燃比が上流側目標空燃比abyfr（現時点では、リーン空燃比lean）と略一致せしめられる。
【０１９８】
一方、現時点での機関回転速度NEが第２閾値回転速度NEfcth2よりも小さいとき、ＣＰＵ７１は、図１０のステップ１０５０にて「Ｎｏ」と判定してステップ１０４５に進む。そして、ＣＰＵ７１は、そのステップ１０４５にてリーン運転フラグＸＬＥＡＮの値を「０」に設定し、ステップ１０９５に進んで本ルーチンを一旦終了する。このとき、リーン運転は実行されず、理論空燃比運転が継続される。
【０１９９】
リーン運転が実行されているときに自動変速機が低速側に運転者によって強制的にシフトダウンされることに起因して機関回転速度NEが上昇し、又は、機関回転速度NEが十分に大きい理論空燃比運転が実行されているときにアクセルペダル開度Accpが閾値開度δ以下に設定されることにより、上記フューエルカット開始条件が成立したと仮定する。このとき、ＣＰＵ７１は、図１０のステップ１０００から処理を開始すると、ステップ１００５、ステップ１０１０、及び、ステップ１０１５を経由してステップ１０３５に進み、フューエルカットフラグＸＦＣの値を「１」に設定してステップ１０４０に進む。現時点での暖機判定フラグＸＴＣの値は「１」であるので、ＣＰＵ７１は、ステップ１０４０にて「Ｙｅｓ」と判定してステップ１０６０に進み、有効フューエルカット運転履歴フラグＸＦＣｈの値を「１」に設定する。その後、ＣＰＵ７１は、ステップ１０４５に進んでリーン運転フラグＸＬＥＡＮの値を「０」に設定し、ステップ１０９５に進んで本ルーチンを一旦終了する。
【０２００】
この状態（フューエルカットフラグＸＦＣの値が「１」に設定された状態）において、ＣＰＵ７１は、図１１のステップ１１００から処理を開始すると、ステップ１１０５にて「Ｎｏ」と判定してステップ１１９５に直接進み、本ルーチンを一旦終了する。このとき、燃料の噴射（ステップ１１３５の処理）がなされず、「フューエルカット運転」が実行される。
【０２０１】
以上に説明したように、ＣＰＵ７１は、触媒５３の暖機が完了した時点から初回のフューエルカット運転が実行されるまでの期間、理論空燃比運転を行う。理論空燃比運転が実行されている期間、機関１０に吸入される空気量Gaに応じてＦ／Ｃ前積算流量Gascが積算される。そして、Ｆ／Ｃ前積算流量Gascが補正後許容積算流量GAよりも大きくなると、フューエルカット開始条件が成立しなくとも、機関１０が減速運転中であり且つ機関回転速度NEが第２閾値回転速度NEfcth2以上であれば、リーン運転が実行される。更に、リーン運転が実行されているときに自動変速機が低速側に運転者によって強制的にシフトダウンされることに起因して機関回転速度NEが上昇し、又は、機関回転速度NEが十分に大きい理論空燃比運転が実行されているときにアクセルペダル開度Accpが閾値開度δ以下に設定されることによってフューエルカット開始条件が成立すると、フューエルカット運転が実行されるとともに、有効フューエルカット運転履歴フラグＸＦＣｈの値が「１」に設定される。
【０２０２】
（３）初回のフューエルカット運転が実行された時点以降の期間
上述したように、フューエルカット運転が実行されたとき、ＣＰＵ７１は、上記フューエルカット復帰条件が成立するまでフューエルカット運転を継続する。ここで、フューエルカット運転が実行されている期間において上記フューエルカット運転復帰条件が成立したと仮定する。
【０２０３】
上記仮定に従えば、ＣＰＵ７１は、図１４のステップ１４００から処理を開始すると、ステップ１４２０又はステップ１４３０の何れかにて「Ｙｅｓ」と判定してステップ１４４０に進み、フューエルカットフラグＸＦＣの値を「０」に設定する。次いで、ＣＰＵ７１はステップ１４５０に進んで、フューエルカット運転後積算流量Gafcをゼロに設定する。その後、ＣＰＵ７１は、ステップ１４９５に進んで本ルーチンを一旦終了する。
【０２０４】
このとき、ＣＰＵ７１は、図７のステップ７００から処理を開始すると、ステップ７１０を経てステップ７２０に進む。現時点での有効フューエルカット運転履歴フラグＸＦＣｈの値は「１」であるので、ＣＰＵ７１はそのステップ７２０にて「Ｎｏ」と判定し、ステップ７４０に進む。
【０２０５】
そして、ＣＰＵ７１は、そのステップ７４０にて、下記（１４）式に従ってＦ／Ｃ後積算流量Gafcを更新・取得する。（１４）式において、Gaは現時点にて機関１０に吸入される空気の流量、Gafc（k）は更新される前のＦ／Ｃ後積算流量Gafc、Gafc（k+1）は更新後のＦ／Ｃ後積算流量Gafcである。
Gafc（k+1）＝Gafc（k）＋Ga    ・・・（１４）
ＣＰＵ７１は、上記（１４）式に従ってＦ／Ｃ後積算流量Gafcを更新・取得した後、ステップ７９５に進んで本ルーチンを一旦終了する。
【０２０６】
このとき、ＣＰＵ７１は、図８のステップ８００から処理を開始すると、ステップ８１０を経てステップ８２０に進む。現時点では有効フューエルカット運転履歴フラグＸＦＣｈの値は「１」であるので、ＣＰＵ７１はそのステップ８２０にて「Ｎｏ」と判定し、ステップ８６０に進む。
【０２０７】
ＣＰＵ７１は、そのステップ８６０にて、触媒温度TempCと許容積算流量ga2との関係を予め定めた許容積算流量テーブルMapga2fc（TempC）に現時点での触媒温度TempCを適用することにより、現時点における許容積算流量ga2を取得する。そして、許容積算流量ga2を許容積算流量ga1として格納する。
【０２０８】
この許容積算流量テーブルMapga2sc（TempC）によれば、上述した許容積算流量テーブルMapga1sc（TempC）と同様、触媒温度TempCが温度T1よりも小さいとき、許容積算流量ga2はゼロに設定される。また、許容積算流量ga2は、触媒温度TempCが温度T1以上であるときに触媒温度TempCが高くなるにつれて大きくなり、触媒温度TempCが温度T3に到達するときに最大値max2に到達するように設定される。更に、許容積算流量ga2は、触媒温度TempCが温度T3より大きいときに最大値max2を維持するように設定される。
【０２０９】
なお、上記最大値max2は、上述した許容積算流量テーブルMapga1sc（TempC）の最大値max1よりも大きい値となるよう設定される。これは、現時点は「触媒５３の暖機期間終了後にフューエルカット運転が実行された直後」であるので、触媒５３のHC被毒は解消されており、従って、より多くの排ガス（リッチ側空燃比ガス）が触媒５３を通過するまで触媒５３のHC被毒の程度が軽微であるという理由による。
【０２１０】
次いで、ＣＰＵ７１はステップ８４０に進んで補正係数kcmaxを取得してステップ８５０に進み、上記（１３）式に従って補正後許容積算流量GAを取得する。その後、ステップ８９５に進んで本ルーチンを一旦終了する。なお、上記ステップ８６０にて求められた許容積算流量ga1に基づいてステップ８６０にて計算された補正後許容積算流量GAは、便宜上、第２許容流量GAとも称呼される。
【０２１１】
このとき、ＣＰＵ７１は、図１１のステップ１１００から処理を開始すると、ステップ１１０５、ステップ１１１０及びステップ１１４０にて「Ｙｅｓ」と判定し、ステップ１１４５進む。次いで、ＣＰＵ７１は、そのステップ１１４５にて上流側目標空燃比abyfr（k）に理論空燃比stoichを設定し、ステップ１１２０乃至ステップ１１３５の処理を行う。その後、ＣＰＵ７１はステップ１１９５に進んで本ルーチンを一旦終了する。即ち、このとき、上述した「理論空燃比運転」が開始される。
【０２１２】
その後、理論空燃比運転が継続されると、図７のステップ７４０の処理が繰り返し実行されるので、Ｆ／Ｃ後積算流量Gafcは徐々に上昇する。いま、Ｆ／Ｃ後積算流量Gafcが補正後許容積算流量GAよりも大きくなったと仮定する。更に、現時点では、「アクセルペダル開度Accpが閾値開度δ以下」であり、且つ、「機関回転速度NEが第１閾値回転速度NEfcth1より小さい」と仮定する。なお、第１閾値回転速度NEfcth1及び第２閾値回転速度NEfcth2は、ＣＰＵ７１が図９のルーチンを実行する毎に取得・更新されている。
【０２１３】
上記仮定に従えば、ＣＰＵ７１は、図１０のステップ１０００から処理を開始すると、ステップ１００５、ステップ１０１０、及び、ステップ１０１５を経由してステップ１０２０に進む。現時点では有効フューエルカット運転履歴フラグＸＦＣｈの値は「１」であるので、ＣＰＵ７１は、そのステップ１０２０にて「Ｎｏ」と判定してステップ１０６５に進み、Ｆ／Ｃ後積算流量Gafcを積算流量Sumに格納してステップ１０３０に進む。上記仮定に従えば、ＣＰＵ７１は、そのステップ１０３０にて「Ｙｅｓ」と判定し、ステップ１０５０に進む。
【０２１４】
ここで、現時点での機関回転速度NEが第２閾値回転速度NEfcth2以上であると仮定する。本仮定に従えば、ＣＰＵ７１は、そのステップ１０５０にて「Ｙｅｓ」と判定してステップ１０５５に進み、リーン運転フラグＸＬＥＡＮの値を「１」に設定する。その後、ＣＰＵ７１はステップ１０９５に進んで本ルーチンを一旦終了する。
【０２１５】
このとき、ＣＰＵ７１は、図１１のステップ１１００から処理を開始すると、ステップ１１０５及びステップ１１１０にて「Ｙｅｓ」と判定し、ステップ１１４０に進む。現時点ではリーン運転フラグＸＬＥＡＮの値は「１」であるので、ＣＰＵ７１は、そのステップ１１４０にて「Ｎｏ」と判定してステップ１１５０に進み、上流側目標空燃比abyfr（k）に、リーン空燃比leanを格納する。
【０２１６】
次いで、ＣＰＵ７１は、ステップ１１２０乃至ステップ１１３５の処理を実行し、最終燃料噴射量Fiの燃料を燃料噴射気筒に対して噴射する。その後、ＣＰＵ７１は、ステップ１１９５に進んで本ルーチンを一旦終了する。即ち、「リーン運転」が実行される。
【０２１７】
このとき、上記同様、ＣＰＵ７１は、上述した図１２のルーチン及び図１３のルーチンに示す処理を実行し、空燃比のフィードバック制御を行う。
【０２１８】
更に、リーン運転又は理論空燃比運転が実行されているとき、上記フューエルカット開始条件が成立したと仮定する。本仮定に従えば、ＣＰＵ７１は、図１０のステップ１０００から処理を開始すると、ステップ１００５、ステップ１０１０、及び、ステップ１０１５の全てにて「Ｙｅｓ」と判定し、ステップ１０３５にてフューエルカットフラグＸＦＣの値を「１」に設定する。次いで、ＣＰＵ７１は、ステップ１０４０にて「Ｙｅｓ」と判定してステップ１０６０に進み、有効フューエルカット運転履歴フラグＸＦＣｈの値を「１」に設定する。その後、ＣＰＵ７１は、ステップ１０４５に進んでリーン運転フラグＸＬＥＡＮの値を「０」に設定し、ステップ１０９５に進んで本ルーチンを一旦終了する。
【０２１９】
この状態（フューエルカットフラグＸＦＣの値が「１」に設定された状態）において、ＣＰＵ７１は、図１１のステップ１１００から処理を開始すると、ステップ１１０５にて「Ｎｏ」と判定してステップ１１９５に直接進み、本ルーチンを一旦終了する。このとき、燃料の噴射（ステップ１１３５の処理）がなされず、「フューエルカット運転」が実行される。
【０２２０】
更に、フューエルカット運転が実行されているとき、上述のフューエルカット復帰条件が成立すると、ＣＰＵ７１は、図１４のステップ１４２０又はステップ１４３０の何れかにて「Ｙｅｓ」と判定してステップ１４４０に進み、フューエルカットフラグＸＦＣの値を「０」に設定する。次いで、ＣＰＵ７１はステップ１４５０に進んで、フューエルカット運転後積算流量Gafcをゼロに設定する。その後、ＣＰＵ７１は、ステップ１４９５に進んで本ルーチンを一旦終了する。
【０２２１】
このとき、ＣＰＵ７１は、図１１のステップ１１００から処理を開始すると、ステップ１１０５、ステップ１１１０及びステップ１１４０にて「Ｙｅｓ」と判定し、ステップ１１４５に進む。次いで、ＣＰＵ７１は、そのステップ１１４５にて上流側目標空燃比abyfr（k）に理論空燃比stoichを設定し、ステップ１１２０乃至ステップ１１３５の処理を行う。その後、ＣＰＵ７１はステップ１１９５に進んで本ルーチンを一旦終了する。
【０２２２】
更に、ＣＰＵ７１は、上述したように図１２のルーチン及び図１３のルーチンに示す処理を実行する。即ち、このとき、理論空燃比運転が再開される。
【０２２３】
以上、説明したように、第１制御装置においては、暖機期間終了後に初回のフューエルカット運転が実行され、そのフューエルカット運転の実行中にフューエルカット復帰条件が成立したとき、フューエルカット運転が停止されるとともに理論空燃比運転が実行される。理論空燃比運転が再開された後、機関１０に吸入される空気量Gaに応じてＦ／Ｃ後積算流量Gafcが積算される。そして、Ｆ／Ｃ後積算流量Gafcが補正後許容積算流量GAよりも大きくなると、フューエルカット開始条件が成立しなくとも、機関１０が減速運転中であり且つ機関回転速度NEが第２閾値回転速度NEfcth2以上であれば、リーン運転が実行される。更に、フューエルカット開始条件が成立すると、フューエルカット運転が実行される。また、フューエルカット復帰条件が成立するとき、理論空燃比運転が再開されるとともにＦ／Ｃ後積算流量Gafcがゼロに再設定される。その後、第１制御装置は、上記同様の処理を繰り返す。
【０２２４】
以上、期間（１）乃至（３）に分けて説明したように、第１制御装置は、
触媒５３の温度TempCが所定の許容温度TempCth以上であるか否かを判定する触媒温度判定手段（図５及び図６のルーチンを参照。）と、
機関１０に対する加速操作量Accpが所定の閾値操作量δ以下であるか否か及び機関１０の機関回転速度が所定の第１回転速度NEfcth1以上であるか否かを判定することにより、同加速操作量が同閾値操作量以下であり且つ同機関回転速度が同第１回転速度以上であることからなるフューエルカット開始条件（図１０のステップ１０１０及びステップ１０１５）が成立するか否かを判定するとともに、同フューエルカット開始条件が成立した後の期間において所定のフューエルカット復帰条件（図１４のステップ１４１０、ステップ１４２０及びステップ１４３０）が成立するか否かを判定するフューエルカット運転条件判定手段（図１４のルーチンを参照。）と、
前記フューエルカット運転条件判定手段により前記フューエルカット開始条件が成立すると判定された時点から同フューエルカット運転条件判定手段により前記フューエルカット復帰条件が成立すると判定される時点までの期間、機関１０への燃料供給を停止するフューエルカット運転を実行する運転状態制御手段（図１１のルーチンを参照。）と、
を備える。
【０２２５】
更に、第１制御装置は、
前記触媒温度判定手段により触媒５３の温度TempCが前記許容温度TempCth以上であると判定されているとき（ＸＴＣ＝１のとき）に前記フューエルカット運転が実行された場合、有効フューエルカット運転履歴が存在すると記録する（ＸＦＣｈの値を「１」に設定する）フューエルカット運転履歴記録手段（図１０のステップ１０４０及びステップ１０６０）と、
前記触媒温度判定手段により触媒５３の温度TempCが前記許容温度TempCth以上であると判定された時点である第１基準時点以降に機関１０に吸入された空気の流量Gaを積算することにより得られる第１積算流量Gascを求める第１流量積算手段（図７のステップ７３０）と、
前記第１基準時点以降において、前記フューエルカット運転が実行される毎にゼロに設定されて（図１４のステップ１４５０）前記フューエルカット運転条件判定手段により前記フューエルカット復帰条件が成立すると判定された時点である第２基準時点以降に機関１０に吸入された空気の流量Gaを積算することにより得られる第２積算流量Gafcを求める第２流量積算手段（図７のステップ７４０）と、
を備える。
【０２２６】
第１制御装置において、
前記運転状態制御手段は、
前記フューエルカット運転条件判定手段により、機関１０に対する加速操作量Accpが前記閾値操作量δ以下であり、且つ、機関１０の機関回転速度NEが前記第１回転速度NEfcth1より小さいと判定されているとき（図１０のステップ１０１０にて「Ｙｅｓ」と判定され、ステップ１０１５にて「Ｎｏ」と判定されたとき）、
前記有効フューエルカット運転履歴が存在すると記録されていなければ（ＸＦＣｈ＝０のとき）、
前記第１積算流量Gascが所定の第１許容流量GAよりも大きく（図１０のステップ１０３０にて「Ｙｅｓ」と判定され）、且つ、機関１０の機関回転速度NEが前記第１回転速度NEfcth1よりも小さい第２回転速度NEfcth2以上である場合（図１０のステップ１０５０にて「Ｙｅｓ」と判定された場合）に触媒５３に流入する前記排ガスの空燃比を理論空燃比よりもリーン側の空燃比leanとするリーン運転（図１１のステップ１１５０にて上流側目標空燃比abyfrをリーン空燃比leanに設定する運転）を実行し、
前記有効フューエルカット運転履歴が存在すると記録されていれば（ＸＦＣｈ＝１のとき）、
前記第２積算流量Gafcが所定の第２許容流量GAよりも大きく（図１０のステップ１０３０にて「Ｙｅｓ」と判定され）、且つ、機関１０の機関回転速度NEが前記第２回転速度NEfcth2以上である場合（図１０のステップ１０５０にて「Ｙｅｓ」と判定された場合）に前記リーン運転を実行し、
前記フューエルカット運転及び前記リーン運転の何れもが実行されていないとき前記排ガスの空燃比を実質的に理論空燃比に一致させる理論空燃比運転（図１１のステップ１１４５にて上流側目標空燃比abyfrを理論空燃比stoichに設定し、図１３のステップ１３４０における下流側目標値Voxsrefを弱リッチ目標値Vrichに設定する運転）を実行するように構成される。
【０２２７】
このように、第１制御装置は、「触媒５３がHC被毒・半死活状態となる可能性の大きさ」を「機関１０に吸入される空気の流量の積算値（第１積算流量Gasc又は第２積算流量Gafc）」に基づいて評価する。そして、この可能性が大きいと判断される場合、機関１０が減速状態にあるときに、機関回転速度NEがフューエルカット開始のための閾値回転速度よりも小さくても、そのフューエルカット開始のための閾値回転速度より小さい閾値回転速度以上であれば、リーン運転を実行する。これにより、フューエルカット運転が実行できないために触媒のHC被毒の度合いが高くなる時期にリーン運転が実行される。従って、第１制御装置は、触媒のHC被毒を抑制し、触媒が半死活状態になることを出来る限り防ぐことができる。この結果、触媒の排ガス浄化性能の低下を出来る限り防ぎ、エミッションを良好に維持することができる。
【０２２８】
（第２実施形態）
以下、本発明の第２実施形態に係る制御装置（以下、「第２制御装置」とも称呼する。）について説明する。第２制御装置は、そのＣＰＵが、図１０に示すフローチャートに代わる図１５のフローチャートに示す処理を実行し、図１１に示すフローチャートに代わる図１６のフローチャートに示す処理を実行し、且つ、図１４に示すフローチャートに代わる図１７のフローチャートに示す処理を実行する点につき、第１制御装置と相違している。従って、以下、この相違点を中心として説明を加える。
【０２２９】
第２制御装置は、第１制御装置と同様、図５乃至図９の処理を所定の時間毎に繰り返し実行する。即ち、第２制御装置は、現時点での筒内吸入空気量Mc及び機関回転速度NEに基づき、図５の処理によって現時点での触媒温度TempCを取得（推定）する。そして、第２制御装置は、得られた触媒温度TempCに基づき、図６の処理によって触媒５３の暖機が完了しているか否か（暖機期間が終了しているか否か）を確認する。また、第２制御装置は、機関１０の運転状態（暖機期間が終了しているか否か、及び、有効フューエルカット運転履歴が存在するか否か）に基づき、図７の処理によってＦ／Ｃ前積算流量Gasc又はＦ／Ｃ後積算流量Gafcを取得するとともに、図８の処理によって補正後許容積算流量GAを取得する。更に、第２制御装置は、現時点での冷却水温THWに基づき、図９の処理によって第１閾値回転速度NEfcth1及び第２閾値回転速度NEfcth2を取得する。
【０２３０】
以下、第２制御装置の実際の作動につき、第１制御装置と同様、以下の（１）乃至（３）の期間に場合を分けて説明する。
（１）触媒の暖機が完了するまでの期間
（２）触媒の暖機が完了した時点から初回のフューエルカット運転が実行されるまでの期間
（３）初回のフューエルカット運転が実行された時点以降の期間
【０２３１】
（１）触媒の暖機が完了するまでの期間
ＣＰＵ７１は、所定のタイミングにて図１５に示す運転モード設定ルーチンを実行し、現時点での機関１０の状態に基づいて各運転モードを選択する。図１５に示したルーチンは、現時点での機関１０の運転状態（アクセルペダル開度、機関回転速度、有効フューエルカット運転履歴、積算流量、補正後許容積算流量）に基づいて機関１０の運転モードを選択する点につき、図１０に示したルーチンと類似している。そこで、図１５において図１０に示したステップと同一の処理を行うためのステップには、図１０のそのようなステップに付された符号と同一の符号が付されている。これらのステップについての詳細な説明は適宜省略される。
【０２３２】
いま、触媒５３の暖機期間において（即ち、暖機判定フラグＸＴＣ＝０）、「アクセルペダル開度Accpが閾値開度δ以下」であり、且つ、「機関回転速度NEが第１閾値回転速度NEfcth1より小さい」であると仮定する。本仮定に従えば、ＣＰＵ７１は、図１５のステップ１５００から処理を開始すると、ステップ１００５、ステップ１０１０及びステップ１０１５を経てステップ１０２０に進む。上述した第１制御装置の場合と同様、現時点での有効フューエルカット運転履歴フラグＸＦＣｈの値は「０」である。従って、ＣＰＵ７１は、そのステップ１０２０にて「Ｙｅｓ」と判定し、ステップ１０２５に進んでＦ／Ｃ前積算流量Gascを積算質量流量Sumに格納する。ここで、第１制御装置と同様、現時点におけるＦ／Ｃ前積算流量Gascはイニシャルルーチンにて設定されたゼロであるので、積算質量流量Sumにはゼロが格納される。
【０２３３】
次いで、ＣＰＵ７１は、ステップ１０３０に進む。第１制御装置と同様、現時点における補正後許容積算流量GAはイニシャルルーチンにてゼロよりも大きい値に設定されている。従って、ＣＰＵ７１は、そのステップ１０３０にて「Ｎｏ」と判定してステップ１５９５に直接進んで本ルーチンを一旦終了する。このとき、フューエルカットフラグＸＦＣの値は、イニシャルルーチンにて設定された「０」に維持される。
【０２３４】
更に、ＣＰＵ７１は、所定のタイミングにて図１６に示す燃料噴射制御ルーチンを実行する。図１６に示したルーチンは、ステップ１１４０及びステップ１１５０を含まない点についてのみ図１１と相違している。そこで、図１６において図１１に示したステップと同一の処理を行うためのステップには、図１１のそのようなステップに付された符号と同一の符号が付されている。これらのステップについての詳細な説明は適宜省略される。
【０２３５】
いま、ＣＰＵ７１は、図１６のステップ１６００から処理を開始すると、ステップ１１０５及びステップ１１１０を経てステップ１１１５に進み、そのステップ１１１５にて上流側目標空燃比abyfr（k）にリッチ空燃比richを格納する。次いで、ＣＰＵ７１は、ステップ１１２０乃至ステップ１１３５の処理を実行し、最終燃料噴射量Fiの燃料を燃料噴射気筒に対して噴射する。その後、ＣＰＵ７１は、ステップ１６９５に進んで本ルーチンを一旦終了する。このようにして、上流側目標空燃比abyfrがリッチ空燃比richに設定された「暖機運転」が実行される。
【０２３６】
（２）触媒の暖機が完了した時点から初回のフューエルカット運転が実行されるまでの期間
暖機運転が実行されている期間、触媒５３の温度は上昇する。ここで、現時点において触媒温度TempCが触媒閾値温度TempCth以上となった直後（暖機期間が終了した直後）であると仮定する。このとき、図６に示すルーチンにより、暖機判定フラグＸＴＣの値は「１」に設定される。なお、第１制御装置と同様、触媒温度TempCは、ＣＰＵ７１が図５のルーチンを実行する毎に更新・取得（推定）されている。また、第１閾値回転速度NEfcth1及び第２閾値回転速度NEfcth2も、ＣＰＵ７１が図９のルーチンを実行する毎に取得・更新されている。
【０２３７】
このとき、ＣＰＵ７１は、図１６のステップ１６００から処理を開始すると、ステップ１１０５及びステップ１１１０を経てステップ１１４５に進み、そのステップ１１４５にて上流側目標空燃比abyfr（k）に理論空燃比stoichを格納する。次いで、ＣＰＵ７１は、ステップ１１２０乃至ステップ１１３５の処理を実行し、最終燃料噴射量Fiの燃料を燃料噴射気筒に対して噴射する。その後、ＣＰＵ７１は、ステップ１６９５に進んで本ルーチンを一旦終了する。
【０２３８】
更に、第１制御装置と同様、ＣＰＵ７１は、図１２のルーチン及び図１３のルーチンに示す処理を実行し、空燃比のフィードバック制御を行う。なお、このとき、下流側目標値Voxsref（図１３のステップ１３４０を参照。）は、弱リッチ目標値Vrichに設定される。このようにして、触媒５３に流入する排ガスの空燃比が理論空燃比よりも若干リッチ側の空燃比である「理論空燃比運転」が実行される。
【０２３９】
以下、フューエルカット運転を実行するときの第２制御装置の作動について説明する。
第２制御装置においては、フューエルカット運転は、以下に述べる状況１及び状況２のうちの何れかの状況が生じたときに実行（開始）される。
（状況１）上述した「フューエルカット開始条件」が成立する。
（状況２）上述した「フューエルカット開始条件」が成立しない状況において、触媒５３がHC被毒・半死活状態となる可能性が大きく且つ機関回転速度NEが第２閾値回転速度NEfcth2以上である。
なお、上述したように、触媒５３がHC被毒・半死活状態となる可能性が大きいか否かは、機関１０に吸入される空気の積算流量（Ｆ／Ｃ前積算流量Gasc又はＦ／Ｃ後積算流量Gafc）に基づいて判断される。また、上述したように、「第２閾値回転速度NEfcth2」は、フューエルカット開始条件に含まれる「第１閾値回転速度NEfcth1」よりも小さい機関回転速度である。以下、上記各状況における第２制御装置の作動について説明する。
【０２４０】
まず、上記「状況１」が生じたときの第２制御装置の作動について説明する。
上述したように、暖機期間が終了した後、ＣＰＵ７１は理論空燃比運転を実行する。ここで、理論空燃比運転が実行されているとき、「フューエルカット開始条件」が成立したと仮定する。本仮定に従えば、ＣＰＵ７１は、図１５のステップ１５００から処理を開始すると、ステップ１００５、ステップ１０１０及びステップ１０１５の全てのステップにて「Ｙｅｓ」と判定し、ステップ１５１０に進む。そして、ＣＰＵ７１は、そのステップ１５１０にて閾値回転速度識別フラグＸＮＥの値を「１」に設定する。
【０２４１】
次いで、ＣＰＵ７１は、ステップ１０３５に進んでフューエルカットフラグＸＦＣの値を「１」に設定し、ステップ１０４０に進む。現時点では暖機期間は終了している（即ち、暖機判定フラグＸＴＣの値は「１」である。）ので、ＣＰＵ７１は、そのステップ１０４０にて「Ｙｅｓ」と判定してステップ１０６０に進み、有効フューエルカット運転履歴フラグＸＦＣｈの値を「１」に設定する。その後、ＣＰＵ７１は、ステップ１５９５に進んで本ルーチンを一旦終了する。
【０２４２】
このとき、ＣＰＵ７１は、図１６のステップ１６００から処理を開始すると、ステップ１１０５にて「Ｎｏ」と判定してステップ１６９５に直接進み、本ルーチンを一旦終了する。このとき、ステップ１１３５の処理が実行されないので、燃料の噴射がなされない。即ち、「フューエルカット運転」が実行される。
【０２４３】
次に、上記「状況２」が生じたときの第２制御装置の作動について説明する。
暖機期間が終了した後に理論空燃比運転が継続されると、図７のステップ７３０の処理が繰り返し実行され、Ｆ／Ｃ前積算流量Gascは徐々に上昇する。いま、Ｆ／Ｃ前積算流量Gascが補正後許容積算流量GA以上となったと仮定する。更に、現時点では、「アクセルペダル開度Accpが閾値開度δ以下」であり、且つ、「機関回転速度NEが第１閾値回転速度NEfcth1より小さい」（即ち、上述したフューエルカット開始条件が成立していない）と仮定する。
【０２４４】
上記仮定に従えば、ＣＰＵ７１は、図１５のステップ１５００から処理を開始すると、ステップ１００５、ステップ１０１０、ステップ１０１５を経てステップ１０２０に進む。現時点では有効フューエルカット運転履歴フラグＸＦＣｈの値は「０」であるので、ＣＰＵ７１は、そのステップ１０２０にて「Ｙｅｓ」と判定してステップ１０２５に進み、Ｆ／Ｃ前積算流量Gascを積算流量Sumに格納してステップ１０３０に進む。上記仮定に従えば、ＣＰＵ７１は、そのステップ１０３０にて「Ｙｅｓ」と判定し、ステップ１０５０に進む。
【０２４５】
ここで、現時点での機関回転速度NEが第２閾値回転速度NEfcth2以上であると仮定する。本仮定に従えば、ＣＰＵ７１は、そのステップ１０５０にて「Ｙｅｓ」と判定してステップ１５２０に進み、閾値回転速度識別フラグＸＮＥの値を「０」に設定する。次いで、ＣＰＵ７１は、ステップ１０３５に進み、上記「状況１」における処理と同様、ステップ１０３５、ステップ１０４０、及び、ステップ１０６０を経てステップ１５９５に進み、本ルーチンを一旦終了する。
【０２４６】
このとき、ＣＰＵ７１は、図１６のステップ１６００から処理を開始すると、上記「状況１」における処理と同様、ステップ１１０５を経てステップ１１９５に直接進み、本ルーチンを一旦終了する。従って、燃料の噴射（ステップ１１３５の処理）がなされず、「フューエルカット運転」が実行される。
【０２４７】
なお、上述した閾値回転速度識別フラグＸＮＥは、その値が「１」であるとき、上記「状況１」が生じたことによってフューエルカット運転が実行されたことを示す。また、閾値回転速度識別フラグＸＮＥは、その値が「０」であるとき、上記「状況２」が生じたことによってフューエルカット運転が実行されたことを示す。
【０２４８】
（３）初回のフューエルカット運転が実行された時点以降の期間
ＣＰＵ７１は、所定のタイミングにて図１７に示すフューエルカット復帰判定ルーチンを実行する。図１７に示したルーチンは、アクセルペダル開度及び機関回転速度に基づいてフューエルカット運転を停止すべきか否かを判定する点につき、図１４に示したルーチンと類似している。そこで、図１７において図１４に示したステップと同一の処理を行うためのステップには、図１４のそのようなステップに付された符号と同一の符号が付されている。これらのステップについての詳細な説明は適宜省略される。
【０２４９】
第２制御装置においては、上述した状況１及び状況２のうちの何れかの状況が生じたとき、フューエルカット運転が実行（開始）される。そこで、第２制御装置は、上述した何れの状況に基づいてフューエルカット運転が開始されたかを確認するとともに、フューエルカット運転が開始された状況に応じてフューエルカット運転を停止すべきか否かを個別に判断する。
【０２５０】
即ち、ＣＰＵ７１は、図１７のステップ１７００から処理を開始すると、現時点でのフューエルカットフラグＸＦＣの値は「１」であるので、ステップ１４１０にて「Ｙｅｓ」と判定してステップ１４２０に進む。ここで、フューエルカット運転が実行された後、アクセルペダル開度Accpが閾値開度δ以下である状態が継続されると仮定する。本仮定に従えば、ＣＰＵ７１は、そのステップ１４２０にて「Ｎｏ」と判定してステップ１７１０に進む。
【０２５１】
ＣＰＵ７１は、そのステップ１７１０にて、閾値回転速度識別フラグＸＮＥの値が「１」であるか否かを判定する。換言すると、ＣＰＵ７１は、ステップ１７１０にて、上述した状況１及び状況２のうちの何れの状況に基づいてフューエルカット運転が実行（開始）されたかを判定する。
【０２５２】
即ち、状況１に基づいてフューエルカット運転が実行された場合、閾値回転速度識別フラグＸＮＥの値は「１」である。従って、このとき、ＣＰＵ７１はそのステップ１７１０にて「Ｙｅｓ」と判定してステップ１７２０に進み、閾値回転速度NEfcthに第１閾値回転速度NEfcth1を格納する。次いで、ＣＰＵ７１は、ステップ１７３０に進み、機関回転速度NEが閾値回転速度NEfcthから所定回転速度ΔNだけ小さい回転速度（以下、便宜上、「第１フューエルカット復帰閾値回転速度NEfcre1」とも称呼する。）よりも小さいか否かを判定する。
【０２５３】
ここで、機関回転速度NEが第１フューエルカット復帰閾値回転速度NEfcre1よりも小さいとき、ＣＰＵ７１は、そのステップ１７３０にて「Ｙｅｓ」と判定してステップ１４４０に進み、フューエルカットフラグＸＦＣの値を「０」に設定する。次いで、ＣＰＵ７１は、ステップ１４５０に進んでＦ／Ｃ後積算流量Gafcをゼロに再設定し、ステップ１７９５に進んで本ルーチンを一旦終了する。
【０２５４】
一方、状況２に基づいてフューエルカット運転が実行された場合、閾値回転速度識別フラグＸＮＥの値は「０」である。従って、このとき、ＣＰＵ７１はそのステップ１７１０にて「Ｎｏ」と判定してステップ１７４０に進み、閾値回転速度NEfcthに第２閾値回転速度NEfcth2を格納する。次いで、ＣＰＵ７１は、ステップ１７３０に進み、機関回転速度NEが閾値回転速度NEfcthから所定回転速度ΔNだけ小さい回転速度（以下、便宜上、「第２フューエルカット復帰閾値回転速度NEfcre2」とも称呼する。）よりも小さいか否かを判定する。
【０２５５】
ここで、機関回転速度NEが第２フューエルカット復帰閾値回転速度NEfcre2よりも小さいとき、ＣＰＵ７１は、上述した「状況１」によりフューエルカット運転が実行された場合と同様、ステップ１４４０にてフューエルカットフラグＸＦＣの値を「０」に設定するとともにステップ１４５０にてＦ／Ｃ後積算流量Gafcをゼロに再設定し、ステップ１７９５に進んで本ルーチンを一旦終了する。
【０２５６】
上述した何れの場合においても、フューエルカットフラグＸＦＣの値が「０」に設定されているとき、ＣＰＵ７１は、図１６のステップ１６００から処理を開始すると、ステップ１１０５及びステップ１１１０を経てステップ１１４５に進み、そのステップ１１４５にて上流側目標空燃比abyfr（k）に理論空燃比stoichを格納する。次いで、ＣＰＵ７１は、ステップ１１２０乃至ステップ１１３５の処理を実行し、最終燃料噴射量Fiの燃料を燃料噴射気筒に対して噴射する。更に、ＣＰＵ７１は、図１２及び図１３に示す空燃比フィードバック制御を行う。このようにして、「理論空燃比運転」が再開される。
【０２５７】
なお、フューエルカット運転が実行されている期間においてアクセルペダル開度が閾値開度δよりも大きくなったとき、ＣＰＵ７１は、図１７のステップ１４２０にて「Ｙｅｓ」と判定し、ステップ１４２０に続くステップ１４４０及びステップ１４５０の処理を実行する。その結果、上記同様、「理論空燃比運転」が再開される。即ち、このとき（アクセルペダル開度が閾値開度δよりも大きくなったとき）、状況１及び状況２のうちの何れに基づいてフューエルカット運転が実行された場合においても、フューエルカット運転が停止されて「理論空燃比運転」が再開される。また、ＣＰＵ７１がステップ１７３０に進んだとき、機関回転速度NEが閾値回転速度NEfcthから所定回転速度ΔNだけ小さい回転速度以上であると、ＣＰＵ７１はそのステップ１７３０にて「Ｎｏ」と判定し、ステップ１７９５に直接進んで本ルーチンを一旦終了する。
【０２５８】
理論空燃比運転が再開された後、第２制御装置は、上記同様、上述した「状況１」及び「状況２」のうちの何れかの状況が生じたときにフューエルカット運転を実行する。「状況１」が生じたときの第２制御装置の作動は、上述した作動と同一である。そこで、以下では、理論空燃比運転が再開された後に「状況２」が生じたときの第２制御装置の作動について説明する。
【０２５９】
理論空燃比運転が再開された後、その理論空燃比運転が継続されると、図７のステップ７４０の処理が繰り返し実行されるので、Ｆ／Ｃ後積算流量Gafcは徐々に上昇する。いま、Ｆ／Ｃ後積算流量Gafcが補正後許容積算流量GAよりも大きくなったと仮定する。更に、現時点では、「アクセルペダル開度Accpが閾値開度δ以下」であり、且つ、「機関回転速度NEが第１閾値回転速度NEfcth1より小さい」と仮定する。なお、第１閾値回転速度NEfcth1及び第２閾値回転速度NEfcth2は、ＣＰＵ７１が図９のルーチンを実行する毎に取得・更新されている。
【０２６０】
上記仮定に従えば、ＣＰＵ７１は、図１５のステップ１５００から処理を開始すると、ステップ１００５、ステップ１０１０、ステップ１０１５を経てステップ１０２０に進む。現時点では有効フューエルカット運転履歴フラグＸＦＣｈの値は「１」であるので、ＣＰＵ７１は、そのステップ１０２０にて「Ｎｏ」と判定してステップ１０６５に進み、Ｆ／Ｃ後積算流量Gafcを積算流量Sumに格納してステップ１０３０に進む。上記仮定に従えば、ＣＰＵ７１は、そのステップ１０３０にて「Ｙｅｓ」と判定し、ステップ１０５０に進む。ここで、現時点での機関回転速度NEが第２閾値回転速度NEfcth2以上であれば、ＣＰＵ７１は、そのステップ１０５０にて「Ｙｅｓ」と判定してステップ１５２０に進み、閾値回転速度識別フラグＸＮＥの値を「０」に設定する。
【０２６１】
次いで、ＣＰＵ７１は、ステップ１０３５に進んでフューエルカットフラグＸＦＣの値を「１」に設定し、ステップ１０４０に進む。現時点では暖機期間は終了している（即ち、暖機判定フラグＸＴＣの値は「１」である。）ので、ＣＰＵ７１は、そのステップ１０４０にて「Ｙｅｓ」と判定してステップ１０６０に進み、有効フューエルカット運転履歴フラグＸＦＣｈの値を「１」に設定する。その後、ＣＰＵ７１は、ステップ１５９５に進んで本ルーチンを一旦終了する。
【０２６２】
このとき、ＣＰＵ７１は、図１６のステップ１６００から処理を開始すると、ステップ１１０５にて「Ｎｏ」と判定してステップ１６９５に直接進み、本ルーチンを一旦終了する。このとき、燃料の噴射（ステップ１１３５の処理）がなされず、「フューエルカット運転」が実行される。
【０２６３】
上述したように、フューエルカット運転が実行されている期間において、第２制御装置は、状況１及び状況２のうちの何れの状況に基づいてフューエルカット運転が開始されたかを確認するとともに、フューエルカット運転が開始された状況に応じてフューエルカット運転を停止すべきか否かを個別に判断する。そして、第２制御装置は、フューエルカット運転を停止すべきと判断したとき、フューエルカット運転を停止するとともに理論空燃比運転を再開する。
【０２６４】
以上、説明したように、第２制御装置においては、暖機期間が終了した後、理論空燃比運転が実行される。そして、理論空燃比運転が実行されているとき、フューエルカット開始条件が成立すればフューエルカット運転が実行される。一方、フューエルカット開始条件が成立しなくとも、触媒５３がHC被毒・半死活状態となる可能性が高いと判断されれば、フューエルカット開始条件に定められる第１閾値回転速度NEfcth1よりも「小さい」回転速度（第２閾値回転速度NEfcth2）を閾値回転速度として「フューエルカット運転」が実行される。フューエルカット運転が開始された後、そのフューエルカット運転が開始された状況に応じてフューエルカット運転が停止されるべきか否かが判断される。そして、フューエルカット運転が停止されたとき、理論空燃比運転が再開される。その後、第２制御装置は、上記同様の処理を繰り返す。
【０２６５】
以上、期間（１）乃至（３）に分けて説明したように、第２制御装置は、
触媒５３の温度TempCが所定の許容温度TempCth以上であるか否かを判定する触媒温度判定手段（図５及び図６のルーチンを参照。）と、
機関１０に対する加速操作量Accpが所定の閾値操作量δ以下であるか否か及び機関１０の機関回転速度が所定の第１回転速度NEfcth1以上であるか否かを判定することにより、同加速操作量が同閾値操作量以下であり且つ同機関回転速度が同第１回転速度以上であることからなるフューエルカット開始条件（図１５のステップ１０１０及びステップ１０１５）が成立するか否かを判定するとともに、同フューエルカット開始条件が成立した後の期間において所定のフューエルカット復帰条件（図１７のステップ１４１０、ステップ１４２０及びステップ１７３０）が成立するか否かを判定するフューエルカット運転条件判定手段（図１７のルーチンを参照。）と、
前記フューエルカット運転条件判定手段により前記フューエルカット開始条件が成立すると判定された時点から同フューエルカット運転条件判定手段により前記フューエルカット復帰条件が成立すると判定される時点までの期間、機関１０への燃料供給を停止するフューエルカット運転を実行する運転状態制御手段（図１６のルーチンを参照。）と、
を備える。
【０２６６】
更に、第２制御装置は、
前記触媒温度判定手段により触媒５３の温度TempCが前記許容温度TempCth以上であると判定されているとき（ＸＴＣ＝１のとき）に前記フューエルカット運転が実行された場合、有効フューエルカット運転履歴が存在すると記録する（ＸＦＣｈの値を「１」に設定する）フューエルカット運転履歴記録手段（図１５のステップ１０４０及びステップ１０６０）と、
前記触媒温度判定手段により触媒５３の温度TempCが前記許容温度TempCth以上であると判定された時点である第１基準時点以降に機関１０に吸入された空気の流量Gaを積算することにより得られる第１積算流量Gascを求める第１流量積算手段（図７のステップ７３０）と、
前記第１基準時点以降において、前記フューエルカット運転が実行される毎にゼロに設定されて（図１７のステップ１４５０）前記フューエルカット運転条件判定手段により前記フューエルカット復帰条件が成立すると判定された時点である第２基準時点以降に機関１０に吸入された空気の流量Gaを積算することにより得られる第２積算流量Gafcを求める第２流量積算手段（図７のステップ７４０）と、
を備える。
【０２６７】
第２制御装置において、
前記フューエルカット運転条件判定手段は、更に、
機関１０に対する加速操作量Accpが前記閾値操作量δ以下であり（図１５のステップ１０１０にて「Ｙｅｓ」と判定され）、且つ、機関１０の機関回転速度NEが前記第１回転速度NEfcth1より小さいと判定しているとき（図１５のステップ１０１５にて「Ｎｏ」と判定されているとき）、
前記有効フューエルカット運転履歴が存在すると記録されていなければ（ＸＦＣｈ＝０のとき）、
前記第１積算流量Gascが所定の第１許容流量GAよりも大きく（図１５のステップ１０３０にて「Ｙｅｓ」と判定され）、且つ、機関１０の機関回転速度NEが前記第１回転速度NEfcth1よりも小さい第２回転速度NEfcth2以上である場合（図１５のステップ１０５０にて「Ｙｅｓ」と判定された場合）に前記フューエルカット開始条件が成立すると判定し、
前記有効フューエルカット運転履歴が存在すると記録されていれば（ＸＦＣｈ＝１のとき）、
前記第２積算流量Gafcが所定の第２許容流量GAよりも大きく（図１５のステップ１０３０にて「Ｙｅｓ」と判定され）、且つ、機関１０の機関回転速度NEが前記第２回転速度NEfcth2以上である場合（図１５のステップ１０５０にて「Ｙｅｓ」と判定された場合）に前記フューエルカット開始条件が成立すると判定するように構成される。
【０２６８】
このように、第２制御装置は、触媒５３がHC被毒・半死活状態となる可能性の大きさを機関１０に吸入される空気の流量に基づいて評価する。そして、第２制御装置は、この可能性が大きい場合、フューエルカット開始のための機関回転速度の閾値を低下させることにより、フューエルカット運転が実行され易くする。これにより、第２制御装置は、触媒のHC被毒の度合いを的確に評価することができるとともに、触媒のHC被毒の度合いが高くなると判断される時期にフューエルカット運転が実行される頻度を高める。従って、触媒のHC被毒を抑制して触媒が半死活状態になることを出来る限り防ぐことができる。この結果、触媒の排ガス浄化性能の低下を出来る限り防ぎ、エミッションを良好に維持することができる。
【０２６９】
（第３制御装置）
以下、本発明の第３実施形態に係る制御装置（以下、「第３制御装置」とも称呼する。）について説明する。第３制御装置は、そのＣＰＵが、図９に示すフローチャートに代わる図１８のフローチャートに示す処理を実行し、図１０に示すフローチャートに代わる図１９のフローチャートに示す処理を実行し、且つ、図１１に示すフローチャートに代わる図１６（第２制御装置と同様。）をする点につき、第１制御装置と相違している。従って、以下、この相違点を中心として説明を加える。
【０２７０】
第３制御装置は、第１制御装置と同様、図５乃至図８の処理を所定の時間毎に繰り返し実行する。即ち、第３制御装置は、現時点での筒内吸入空気量Mc及び機関回転速度NEに基づき、図５の処理によって現時点での触媒温度TempCを取得（推定）する。そして、第３制御装置は、得られた触媒温度TempCに基づき、図６の処理によって触媒５３の暖機が完了しているか否か（暖機期間が終了しているか否か）を確認する。また、第３制御装置は、機関１０の運転状態（暖機期間が終了しているか否か、及び、有効フューエルカット運転履歴が存在するか否か）に基づき、図７の処理によってＦ／Ｃ前積算流量Gasc又はＦ／Ｃ後積算流量Gafcを取得するとともに、図８の処理によって補正後許容積算流量GAを取得する。
【０２７１】
更に、第３制御装置は、所定のタイミングにて図１８に示すフューエルカット運転閾値回転速度設定ルーチンを実行し、上述した「フューエルカット開始条件」の一つである第１閾値回転速度NEfcth1を取得する。即ち、ＣＰＵ７１は、所定のタイミングにて図１８のステップ１８００から処理を開始し、ステップ１８１０に進む。ＣＰＵ７１は、そのステップ１８１０にて、機関１０の冷却水温THWと閾値回転速度との関係を予め定めた閾値回転速度テーブルMapNEfcth1（THW）及びMapNEfcth1（THW）に対し、水温センサ６５の出力値に基づいて取得した現時点での冷却水温THWを適用することにより、現時点における「第１閾値回転速度NEfcth1」を取得する。その後、ＣＰＵ７１はステップ１８９５に進んで本ルーチンを一旦終了する。
【０２７２】
以下、第３制御装置の実際の作動につき、第１制御装置と同様、以下の（１）乃至（３）の期間に場合を分けて説明する。
（１）触媒の暖機が完了するまでの期間
（２）触媒の暖機が完了した時点から初回のフューエルカット運転が実行されるまでの期間
（３）初回のフューエルカット運転が実行された時点以降の期間
【０２７３】
（１）触媒の暖機が完了するまでの期間
ＣＰＵ７１は所定のタイミングにて図１９に示す運転モード設定ルーチンを実行し、現時点での機関１０の状態に基づいて各運転モードを選択する。図１９に示したルーチンは、現時点での機関１０の運転状態（アクセルペダル開度、機関回転速度、有効フューエルカット運転履歴、積算流量、補正後許容積算流量）に基づいて機関１０の運転モードを選択する点につき、図１０に示したルーチンと類似している。そこで、図１９において図１０に示したステップと同一の処理を行うためのステップには、図１０のそのようなステップに付された符号と同一の符号が付されている。これらのステップについての詳細な説明は適宜省略される。
【０２７４】
いま、触媒５３の暖機期間において（即ち、暖機判定フラグＸＴＣ＝０）、「アクセルペダル開度Accpが閾値開度δ以下」であり、且つ、「機関回転速度NEが第１閾値回転速度NEfcth1より小さい」であると仮定する。本仮定に従えば、ＣＰＵ７１は、図１９のステップ１９００から処理を開始すると、ステップ１００５、ステップ１０１０及びステップ１０１５を経てステップ１０２０に進む。上述した第１制御装置の場合と同様、現時点での有効フューエルカット運転履歴フラグＸＦＣｈの値は「０」である。従って、ＣＰＵ７１は、そのステップ１０２０にて「Ｙｅｓ」と判定し、ステップ１０２５に進んでＦ／Ｃ前積算流量Gascを積算質量流量Sumに格納する。ここで、第１制御装置と同様、現時点におけるＦ／Ｃ前積算流量Gascはイニシャルルーチンにて設定されたゼロであるので、積算質量流量Sumにはゼロが格納される。
【０２７５】
次いで、ＣＰＵ７１は、ステップ１０３０に進む。第１制御装置と同様、現時点における補正後許容積算流量GAはイニシャルルーチンにてゼロよりも大きい値に設定されている。従って、ＣＰＵ７１は、そのステップ１０３０にて「Ｎｏ」と判定してステップ１９１０に進み、変速制御則識別フラグＸＣＲの値を「０」に設定する。次いで、ＣＰＵ７１はステップ１９９５に進み、本ルーチンを一旦終了する。このとき、フューエルカットフラグＸＦＣの値は、イニシャルルーチンにて設定された「０」に維持される。
【０２７６】
変速制御則識別フラグＸＣＲは、その値が「０」であるとき、変速装置９０を制御するための変速制御則として通常の運転時の「第１変速制御則」を採用することを示す。また、変速制御則識別フラグＸＣＲは、その値が「１」であるとき、上記変速制御則として「第１変速制御則以上の変速比が少なくとも一部の運転領域において得られる第２変速制御則」を採用することを示す。なお、第１変速制御則及び第２変速制御則については後述する。
【０２７７】
更に、ＣＰＵ７１は、所定のタイミングにて図２０に示す運転制御則設定ルーチンを実行する。即ち、ＣＰＵ７１は、所定のタイミングにて図２０のステップ２０００から処理を開始すると、ステップ２０１０に進んで変速制御則識別フラグＸＣＲの値が「０」であるか否かを判定する。現時点での変速制御則識別フラグＸＣＲの値は「０」であるので、ＣＰＵ７１は、そのステップ２０１０にて「Ｙｅｓ」と判定してステップ２０２０に進む。そして、ＣＰＵ７１は、そのステップ２０２０にて、「第１変速制御則」に従って変速装置９０を制御するよう変速制御装置８０に指示を与える。その後、ＣＰＵ７１は、ステップ２０９５に進んで本ルーチンを一旦終了する。
【０２７８】
更に、ＣＰＵ７１は、第２制御装置と同様、所定のタイミングにて図１６に示す燃料噴射制御ルーチンを実行する。図１６に示すルーチンにおける第３制御装置の作動は、第２制御装置と同一である。即ち、このとき、ＣＰＵ７１は、図１６のステップ１６００から処理を開始すると、ステップ１１０５及びステップ１１１０を経てステップ１１１５に進み、そのステップ１１１５に続くステップ１１２０乃至１１３５の処理を実行し、ステップ１６９５に進んで本ルーチンを一旦終了する。これらの処理により、上流側目標空燃比abyfrがリッチ空燃比richに設定された「暖機運転」が実行される。
【０２７９】
（２）触媒の暖機が完了した時点から初回のフューエルカット運転が実行されるまでの期間
暖機運転が実行されている期間、触媒５３の温度は上昇する。ここで、現時点において触媒温度TempCが触媒閾値温度TempCth以上となった直後（暖機期間が終了した直後）であると仮定する。このとき、図６に示すルーチンにより、暖機判定フラグＸＴＣの値は「１」に設定される。なお、第１制御装置と同様、触媒温度TempCは、ＣＰＵ７１が図５のルーチンを実行する毎に更新・取得（推定）されている。また、第１閾値回転速度NEfcth1は、ＣＰＵ７１が図１８のルーチンを実行する毎に取得・更新されている。
【０２８０】
このとき、ＣＰＵ７１は、図１６のステップ１６００から処理を開始すると、ステップ１１０５及びステップ１１１０を経てステップ１１４５に進み、そのステップ１１４５に続くステップ１１２０乃至ステップ１１３５の処理を実行し、ステップ１６９５に進んで本ルーチンを一旦終了する。
【０２８１】
更に、第１制御装置と同様、ＣＰＵ７１は、図１２のルーチン及び図１３のルーチンに示す処理を実行し、空燃比のフィードバック制御を行う。なお、このとき、下流側目標値Voxsref（図１３のステップ１３４０を参照。）は、弱リッチ目標値Vrichに設定される。このようにして、触媒５３に流入する排ガスの空燃比が理論空燃比よりも若干リッチ側の空燃比である「理論空燃比運転」が実行される。
【０２８２】
暖機期間が終了した後に理論空燃比運転が継続されると、図７のステップ７３０の処理が繰り返し実行され、Ｆ／Ｃ前積算流量Gascは徐々に上昇する。いま、Ｆ／Ｃ前積算流量Gascが補正後許容積算流量GA以上となったと仮定する。更に、現時点では、「アクセルペダル開度Accpが閾値開度δ以下」であり、且つ、「機関回転速度NEが第１閾値回転速度NEfcth1より小さい」（即ち、上述したフューエルカット開始条件が成立していない）と仮定する。
【０２８３】
上記仮定に従えば、ＣＰＵ７１は、図１９のステップ１９００から処理を開始すると、ステップ１００５、ステップ１０１０、ステップ１０１５を経てステップ１０２０に進む。現時点では有効フューエルカット運転履歴フラグＸＦＣｈの値は「０」であるので、ＣＰＵ７１は、そのステップ１０２０にて「Ｙｅｓ」と判定してステップ１０２５に進み、Ｆ／Ｃ前積算流量Gascを積算流量Sumに格納してステップ１０３０に進む。上記仮定に従えば、ＣＰＵ７１は、そのステップ１０３０にて「Ｙｅｓ」と判定してステップ１９２０に進み、変速制御則識別フラグＸＣＲの値を「１」に設定する。
【０２８４】
このとき、ＣＰＵ７１は、図２０のステップ２０００から処理を開始すると、現時点での変速制御則識別フラグＸＣＲの値は「１」であるので、ステップ２０１０にて「Ｎｏ」と判定してステップ２０３０に進む。ＣＰＵ７１は、そのステップ２０３０にて「第２変速制御則」に従って変速装置９０を制御するよう変速制御装置８０に指示を与える。その後、ＣＰＵ７１は、ステップ２０９５に進んで本ルーチンを一旦終了する。即ち、この時点から、変速装置９０は「第２変速制御則」に従うよう制御される。
【０２８５】
図２１に、第３制御装置を多段式の自動変速装置に適用する場合の変速比マップ（変速線図）の一例を示す。図２１において、実線は「第１変速制御則」に対応する変速比マップ（変速線）を示し、点線は「第２変速制御則」に対応する変速比マップ（変速線）を示す。変速制御則を第１変速制御則（ＸＣＲ＝０）から第２変速制御則（ＸＣＲ＝１）に変更すると、図２１に示すように、第１変速制御則が採用されているときに比べてより大きな機関回転速度が得られる車速領域（実線と点線とで挟まれる領域）が生じる。この結果、フューエルカット開始条件が成立し易くなる。
【０２８６】
変速装置９０が第２変速制御則に従うよう制御されつつ理論空燃比運転が実行されているとき、上記フューエルカット開始条件が成立したと仮定する。本仮定に従えば、ＣＰＵ７１は、図１９のステップ１９００から処理を開始すると、ステップ１００５、ステップ１０１０及びステップ１０１５の全てのステップにて「Ｙｅｓ」と判定し、ステップ１０３５に進む。ＣＰＵ７１は、そのステップ１０３５にてフューエルカットフラグＸＦＣの値を「１」に設定し、ステップ１０４０に進む。現時点では暖機期間は終了している（即ち、暖機判定フラグＸＴＣの値は「１」である。）ので、ＣＰＵ７１は、そのステップ１０４０にて「Ｙｅｓ」と判定してステップ１０６０に進み、有効フューエルカット運転履歴フラグＸＦＣｈの値を「１」に設定する。次いで、ＣＰＵ７１は、ステップ１９１０に進んで変速制御則識別フラグＸＣＲの値を「０」に設定し、ステップ１９９５に進んで本ルーチンを一旦終了する。
【０２８７】
このとき、ＣＰＵ７１は、図２０のステップ２０００から処理を開始すると、ステップ２０１０にて「Ｙｅｓ」と判定してステップ２０１０に進み、「第１変速制御則」に従って変速装置９０を制御するよう変速制御装置８０に指示を与える。その後、ＣＰＵ７１は、ステップ２０９５に進んで本ルーチンを一旦終了する。即ち、この時点から、変速装置９０は「第１変速制御則」に従うよう制御される。
【０２８８】
更に、このとき、ＣＰＵ７１は、図１６のステップ１６００から処理を開始すると、ステップ１１０５にて「Ｎｏ」と判定してステップ１６９５に直接進み、本ルーチンを一旦終了する。このとき、燃料の噴射（ステップ１１３５の処理）がなされず、「フューエルカット運転」が実行される。
（３）初回のフューエルカット運転が実行された時点以降の期間
ＣＰＵ７１は、所定のタイミングにて図１４に示すフューエルカット復帰判定ルーチンを実行する。図１４に示すルーチンにおける第３制御装置の作動は、第１制御装置と同一である。即ち、ここでフューエルカット復帰条件が成立すると、「理論空燃比運転」が再開される。
【０２８９】
理論空燃比運転が再開された後、その理論空燃比運転が継続されると、図７のステップ７４０の処理が繰り返し実行されるので、Ｆ／Ｃ後積算流量Gafcは徐々に上昇する。いま、Ｆ／Ｃ後積算流量Gafcが補正後許容積算流量GAよりも大きくなったと仮定する。更に、現時点では、「アクセルペダル開度Accpが閾値開度δ以下」であり、且つ、「機関回転速度NEが第１閾値回転速度NEfcth1より小さい」と仮定する。なお、第１閾値回転速度NEfcth1は、ＣＰＵ７１が図１８のルーチンを実行する毎に取得・更新されている。
【０２９０】
上記仮定に従えば、ＣＰＵ７１は、図１９のステップ１９００から処理を開始すると、ステップ１００５、ステップ１０１０、ステップ１０１５を経てステップ１０２０に進む。現時点では有効フューエルカット運転履歴フラグＸＦＣｈの値は「１」であるので、ＣＰＵ７１は、そのステップ１０２０にて「Ｎｏ」と判定してステップ１０６５に進み、Ｆ／Ｃ後積算流量Gafcを積算流量Sumに格納してステップ１０３０に進む。上記仮定に従えば、ＣＰＵ７１は、そのステップ１０３０にて「Ｙｅｓ」と判定し、ステップ１９２０に進んで、変速制御則識別フラグＸＣＲの値を「１」に設定する。その後、ＣＰＵ７１は、ステップ１９９５に進んで本ルーチンを一旦終了する。
【０２９１】
このとき、ＣＰＵ７１は、図２０のステップ２０００から処理を開始すると、ステップ２０１０を経てステップ２０３０に進み、「第２変速制御則」に従って変速装置９０を制御するよう変速制御装置８０に指示を与える。その後、ＣＰＵ７１は、ステップ２０９５に進んで本ルーチンを一旦終了する。即ち、この時点から、変速装置９０は「第２変速制御則」に従うよう制御される。
【０２９２】
変速装置９０が第２変速制御則に従うよう制御されつつ理論空燃比運転が実行されているとき、上記フューエルカット開始条件が成立すると、ＣＰＵ７１は、図１９のステップ１００５、ステップ１０１０及びステップ１０１５を経てステップ１０３５に進み、フューエルカットフラグＸＦＣの値を「１」に設定する。次いで、ＣＰＵ７１は、ステップ１０４０及びステップ１０６０を経てステップ１９１０に進んで変速制御則識別フラグＸＣＲの値を「０」に設定し、ステップ１９９５に進んで本ルーチンを一旦終了する。
【０２９３】
このとき、このとき、ＣＰＵ７１は、図１６のステップ１６００から処理を開始すると、ステップ１１０５にて「Ｎｏ」と判定してステップ１６９５に直接進み、本ルーチンを一旦終了する。このとき、燃料の噴射（ステップ１１３５の処理）がなされず、「フューエルカット運転」が実行される。
【０２９４】
更に、フューエルカット運転の実行中にフューエルカット復帰条件が成立すると、上述したように「理論空燃比運転」が再開される。
【０２９５】
以上、説明したように、第３制御装置においては、暖機期間が終了した後に理論空燃比運転が実行される。理論空燃比運転が実行されているとき、フューエルカット開始条件が成立せず触媒５３がHC被毒・半死活状態となる可能性が高くなると、変速装置９０を制御するための変速制御則が「第１変速制御則」から「第２変速制御則」へと変更される。そして、変速装置９０が「第２変速制御則」に従うよう制御されているとき、フューエルカット開始条件が成立すると、フューエルカット運転が実行されるとともに変速制御則が「第１変速制御則」に変更される。そして、フューエルカット運転が実行されているときにフューエルカット復帰条件が成立した場合、フューエルカット運転を停止して理論空燃比運転を再開する。
【０２９６】
以上、期間（１）乃至（３）に分けて説明したように、第３制御装置は、
触媒５３の温度TempCが所定の許容温度TempCth以上であるか否かを判定する触媒温度判定手段（図５及び図６のルーチンを参照。）と、
機関１０に対する加速操作量Accpが所定の閾値操作量δ以下であるか否か及び機関１０の機関回転速度が所定の第１回転速度NEfcth1以上であるか否かを判定することにより、同加速操作量が同閾値操作量以下であり且つ同機関回転速度が同第１回転速度以上であることからなるフューエルカット開始条件（図１９のステップ１０１０及びステップ１０１５）が成立するか否かを判定するとともに、同フューエルカット開始条件が成立した後の期間において所定のフューエルカット復帰条件（図１４のステップ１４１０、ステップ１４２０及びステップ１４３０）が成立するか否かを判定するフューエルカット運転条件判定手段（図１４のルーチンを参照。）と、
前記フューエルカット運転条件判定手段により前記フューエルカット開始条件が成立すると判定された時点から同フューエルカット運転条件判定手段により前記フューエルカット復帰条件が成立すると判定される時点までの期間、機関１０への燃料供給を停止するフューエルカット運転を実行する運転状態制御手段（図１６のルーチンを参照。）と、
を備える。
【０２９７】
更に、第３制御装置は、
前記触媒温度判定手段により触媒５３の温度TempCが前記許容温度TempCth以上であると判定されているとき（ＸＴＣ＝１のとき）に前記フューエルカット運転が実行された場合、有効フューエルカット運転履歴が存在すると記録する（ＸＦＣｈの値を「１」に設定する）フューエルカット運転履歴記録手段（図１９のステップ１０４０及びステップ１０６０）と、
前記触媒温度判定手段により触媒５３の温度TempCが前記許容温度TempCth以上であると判定された時点である第１基準時点以降に機関１０に吸入された空気の流量Gaを積算することにより得られる第１積算流量Gascを求める第１流量積算手段（図７のステップ７３０）と、
前記第１基準時点以降において、前記フューエルカット運転が実行される毎にゼロに設定されて（図１４のステップ１４５０）前記フューエルカット運転条件判定手段により前記フューエルカット復帰条件が成立すると判定された時点である第２基準時点以降に機関１０に吸入された空気の流量Gaを積算することにより得られる第２積算流量Gafcを求める第２流量積算手段（図７のステップ７４０）と、
を備える。
【０２９８】
更に、第３制御装置は、
前記フューエルカット運転条件判定手段により、機関１０に対する加速操作量Accpが前記閾値操作量δ以下であり、且つ、機関１０の機関回転速度NEが前記第１回転速度NEfcth1より小さいと判定されているとき（図１９のステップ１０１０にて「Ｙｅｓ」と判定され、ステップ１０１５にて「Ｎｏ」と判定されたとき）、
前記有効フューエルカット運転履歴が存在すると記録されていなければ（ＸＦＣｈ＝０のとき）、
前記第１積算流量Gascが所定の第１許容流量GAよりも大きい場合（図１９のステップ１０３０にて「Ｙｅｓ」と判定された場合）、前記第１変速制御則に従う変速比以上の変速比が少なくとも一部の運転領域（特に、スロットルバルブ開度がゼロに近い微小な角度であるとき）において得られる第２変速制御則に従って前記変速装置を制御するように前記変速制御手段に要求を発生し（図２０のステップ２０２０）、
前記有効フューエルカット運転履歴が存在すると記録されていれば（ＸＦＣｈ＝１のとき）、
前記第２積算流量Gafcが所定の第２許容流量GAよりも大きい場合（図１９のステップ１０３０にて「Ｙｅｓ」と判定された場合）、前記第２変速制御則に従って前記変速装置を制御するように前記変速制御手段に要求を発生する（図２０のステップ２０３０）変速要求手段と
を備える。
【０２９９】
このように、第３制御装置は、触媒５３がHC被毒・半死活状態となる可能性の大きさを機関１０に吸入される空気の流量に基づいて評価する。そして、第３制御装置は、この可能性が大きい場合、変速装置９０を制御するための変速制御則を「第１変速制御則」から「第２変速制御則」へと変更することにより、所定の車速領域において大きな機関回転速度が得られるようにする。この結果、フューエルカット開始条件が成立し易くなる。これにより、触媒のHC被毒の度合いを的確に評価するとともに、触媒のHC被毒の度合いが高くなると判断される時期にフューエルカット運転の実行頻度が高められる。従って、触媒のHC被毒を抑制して触媒が半死活状態になることを出来る限り防ぐことができる。この結果、触媒の排ガス浄化性能の低下を出来る限り防ぎ、エミッションを良好に維持することができる。
【０３００】
本発明は上記各実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。
例えば、上述した各制御装置においては、上流側目標空燃比abyfrをリッチ空燃比richに設定することにより、「暖機運転」が実行されている。これに代え、本発明の制御装置は、混合気への点火時期をMBT（Maximum  advance  for  Best  Torque）よりも遅角させることによって暖機運転が実行されるように構成されてもよい。更に、本発明の制御装置は、これらを組み合わせることによって暖機運転が実行されるように構成されてもよい。
【０３０１】
また、上述した各制御装置は、触媒５３の暖機期間の終了後にフューエルカット運転が実行されたとき、そのフューエルカット運転が停止される時点にてＦ／Ｃ後積算流量Gafcをゼロに再設定するように構成されている（図１４のステップ１４５０、図１７のステップ１４５０を参照。）。しかし、Ｆ／Ｃ後積算流量Gafcをゼロに再設定するタイミングはこの時点に限られない。即ち、本発明の制御装置は、触媒５３の暖機期間の終了後にフューエルカット運転が開始されてからそのフューエルカット運転が停止されるまでの期間のうちの何れかの時点にてＦ／Ｃ後積算流量Gafcがゼロに再設定されるように構成されてもよい。
【０３０２】
また、上述した各制御装置は、許容積算流量テーブル（図８のステップ８３０又はステップ８６０）にて取得した許容積算流量ga1を補正係数テーブル（図８のステップ８４０）にて取得した補正係数kcmaxによって補正するよう構成されている。しかし、本発明の制御装置は、許容積算流量ga1の補正を行わないで許容積算流量ga1そのものに基づいて（即ち、図８のステップ８４０を削除して）機関１０の運転モードを決定するように構成されてもよい。
【０３０３】
また、上述した各制御装置は、触媒５３の暖機期間中においてもフューエルカット運転が実行されるように構成されている。しかし、本発明の制御装置は、触媒５３の暖機期間中においてはフューエルカット運転を禁止するように構成されてもよい。
【図面の簡単な説明】
【０３０４】
【図１】本発明の制御装置が適用される内燃機関の概略断面図である。
【図２】空燃比と図１に示した上流側空燃比センサの出力値の関係を示したグラフである。
【図３】空燃比と図１に示した下流側空燃比センサの出力値の関係を示したグラフである。
【図４】本発明の第１制御装置の作動の例を示すタイムチャートである。
【図５】本発明の第１制御装置に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図６】本発明の第１制御装置に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図７】本発明の第１制御装置に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図８】本発明の第１制御装置に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図９】本発明の第１制御装置に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１０】本発明の第１制御装置に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１１】本発明の第１制御装置に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１２】本発明の第１制御装置に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１３】本発明の第１制御装置に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１４】本発明の第１制御装置に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１５】本発明の第２制御装置に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１６】本発明の第２制御装置に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１７】本発明の第２制御装置に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１８】本発明の第３制御装置に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１９】本発明の第３制御装置に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図２０】本発明の第３制御装置に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図２１】本発明の第３制御装置が採用する変速比マップの一例を示す概略図である。
【符号の説明】
【０３０５】
１０…内燃機関、２０…シリンダブロック部、２１…シリンダ、２２…ピストン、２５…燃焼室、３０…シリンダヘッド部、３１…吸気ポート、３２…吸気弁、３４…排気ポート、３５…排気弁、３７…点火プラグ、３９…インジェクタ、４０…吸気系統、４１…吸気管、４３…スロットルバルブ、５０…排気系統、５１…エキゾーストマニホールド、５２…エキゾーストパイプ、５３…触媒、６１…熱線式エアフローメータ、６６…上流側空燃比センサ、６７…下流側空燃比センサ、７０…電気制御装置、７１…ＣＰＵ、７４…バックアップＲＡＭ。
【図１】
2010071141.tif 000003
【図２】
2010071141.tif 000004
【図３】
2010071141.tif 000005
【図４】
2010071141.tif 000006
【図５】
2010071141.tif 000007
【図６】
2010071141.tif 000008
【図７】
2010071141.tif 000009
【図８】
2010071141.tif 000010
【図９】
2010071141.tif 000011
【図１０】
2010071141.tif 000012
【図１１】
2010071141.tif 000013
【図１２】
2010071141.tif 000014
【図１３】
2010071141.tif 000015
【図１４】
2010071141.tif 000016
【図１５】
2010071141.tif 000017
【図１６】
2010071141.tif 000018
【図１７】
2010071141.tif 000019
【図１８】
2010071141.tif 000020
【図１９】
2010071141.tif 000021
【図２０】
2010071141.tif 000022
【図２１】
2010071141.tif 000023