(57)【特許請求の範囲】
【請求項１】
内燃機関の燃焼室への燃料の供給が中断されるフューエルカット運転が終了されて前記燃焼室への燃料の供給が再開されるとき、前記燃焼室において燃焼に供される混合気の空燃比が理論空燃比よりもリッチな空燃比となるように前記燃焼室に供給される燃料の量を制御するリッチ制御を行う内燃機関の制御装置であって、
複数の燃焼室を備えるとともに前記複数の燃焼室に燃料が順次に供給される燃料供給サイクルを繰り返す内燃機関に該制御装置が適用される場合、前記複数の燃焼室のうちの第１の燃焼室において前記リッチ制御が開始される第１時点が含まれる燃料供給サイクルと、前記複数の燃焼室のうちの前記第１の燃焼室とは異なる第２の燃焼室において前記リッチ制御が開始される第２時点が含まれる燃料供給サイクルと、が互いに異なるように、前記第１時点および前記第２時点を設定する、内燃機関の制御装置。
【請求項２】
請求項１に記載の制御装置において、
前記内燃機関が、前記第１の燃焼室から排出されるガスが導入される第１の触媒と、前記第２の燃焼室から排出されるガスが導入される第２の触媒と、を備える場合、
前記第１の触媒の劣化度および前記第２の触媒の劣化度に基づき、前記第１時点および前記第２時点を設定する、内燃機関の制御装置。
【請求項３】
請求項２に記載の制御装置において、
前記第１の触媒の劣化度が前記第２の触媒の劣化度よりも大きい場合、
前記第１の触媒および前記第２の触媒のうちの少なくとも前記第１の触媒の温度が閾値温度よりも高ければ、前記第１時点が含まれる燃料供給サイクルが前記第２時点が含まれる燃料供給サイクルよりも先に行われるように、前記第１時点および前記第２時点を設定し、
前記少なくとも前記第１の触媒の温度が前記閾値温度以下であれば、前記第１時点が含まれる燃料供給サイクルが前記第２時点が含まれる燃料供給サイクルよりも後に行われるように、前記第１時点および前記第２時点を設定する、
内燃機関の制御装置。
【請求項４】
請求項２または請求項３に記載の制御装置において、
前記第１の触媒の劣化度が前記第２の触媒の劣化度よりも大きい場合、
前記フューエルカット運転中に前記第１の触媒および前記第２の触媒のうちの少なくとも前記第１の触媒に導入されたガスの合計量が閾値量よりも多ければ、前記第１時点が含まれる燃料供給サイクルが前記第２時点が含まれる燃料供給サイクルよりも後に行われるように、前記第１時点および前記第２時点を設定し、
前記フューエルカット運転中に前記少なくとも前記第１の触媒に導入されたガスの合計量が前記閾値量以下であれば、前記第１時点が含まれる燃料供給サイクルが前記第２時点が含まれる燃料供給サイクルよりも先に行われるように、前記第１時点および前記第２時点を設定する、
内燃機関の制御装置。
【請求項５】
請求項２〜請求項４のいずれか一項に記載の制御装置において、
前記第１の触媒の劣化度および前記第２の触媒の劣化度のうちの少なくとも一方が取得されていない場合、または、前記第１の触媒の劣化度が前記第２の触媒の劣化度と同一である場合、
今回のフューエルカット運転よりも前に行われた前記フューエルカット運転に関する前記第１時点および前記第２時点の履歴に基づき、前記今回のフューエルカット運転に関する前記第１時点および前記第２時点を設定する、内燃機関の制御装置。
【請求項６】
請求項５に記載の制御装置において、
前記今回のフューエルカット運転の直前に行われた前記フューエルカット運転に関して前記第１時点が含まれる燃料供給サイクルが前記第２時点が含まれる燃料供給サイクルよりも先に行われた場合、前記第１時点が含まれる燃料供給サイクルが前記第２時点が含まれる燃料供給サイクルよりも後に行われるように、前記今回のフューエルカット運転に関する前記第１時点および前記第２時点を設定し、
前記今回のフューエルカット運転の直前に行われた前記フューエルカット運転に関して前記第１時点が含まれる燃料供給サイクルが前記第２時点が含まれる燃料供給サイクルよりも後に行われた場合、前記第１時点が含まれる燃料供給サイクルが前記第２時点が含まれる燃料供給サイクルよりも先に行われるように、前記今回のフューエルカット運転についての前記第１時点および前記第２時点を設定する、
内燃機関の制御装置。
【請求項７】
請求項１〜請求項６のいずれか一項に記載の制御装置において、
前記内燃機関が、前記第１の燃焼室を含む複数の燃焼室の群である第１の燃焼室群と、前記第２の燃焼室を含むとともに前記第１の燃焼室群に属する燃焼室を含まない複数の燃焼室の群である第２の燃焼室群と、を備える場合、
前記第１時点が含まれる燃料供給サイクルにて前記第１の燃焼室群に属する燃焼室における前記リッチ制御が開始され、前記第２時点が含まれる燃料供給サイクルにて前記第２の燃焼室群に属する燃焼室における前記リッチ制御が開始される、内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の燃焼室への燃料の供給が中断される運転であるフューエルカット運転が行われる内燃機関に適用される制御装置に関する。
【背景技術】
【０００２】
従来から、内燃機関の燃費を向上する等の観点から、特定の条件が成立している期間において（例えば、内燃機関のアクセルペダル開度がゼロである場合に）フューエルカット運転が行われる内燃機関が提供されている。この種の内燃機関においては、フューエルカット運転が終了されて燃焼室への燃料の供給が再開されるとき、種々の目的を達成するために燃料の量が調整される場合がある。
【０００３】
例えば、従来の内燃機関の制御装置の一つ（以下、「従来装置」とも称呼される。）は、燃焼室から排出されるガス（排ガス）を浄化するための触媒を備えた内燃機関に適用され、フューエルカット運転が終了されて燃焼室への燃料の供給が再開されるとき、燃焼室において燃焼に供される混合気の空燃比が理論空燃比よりもリッチな空燃比となるように燃料の量を制御する。これにより、従来装置は、触媒に吸蔵されている酸素の量（酸素吸蔵量）を調整するとともに、触媒が排ガスを高い効率にて浄化し得る状態を維持するようになっている（例えば、特許文献１を参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２５５３５５号公報
【発明の概要】
【０００５】
上述したように、従来装置は、触媒による排ガスの浄化効率を考慮し、フューエルカット運転が終了された後の燃料の量（換言すると、混合気の空燃比）を制御する。より詳細に述べると、混合気の空燃比は、混合気が燃焼したときに生じる排ガスに含まれる酸素の量に影響を及ぼす。そのため、触媒に導入される排ガスに含まれる酸素の量を考慮して混合気の空燃比が制御されることにより（例えば、上述したように、理論空燃比よりもリッチな空燃比となるように制御されることにより）、触媒の酸素吸蔵量が調整され得る。
【０００６】
一方、混合気の空燃比は、一般に、内燃機関から出力されるトルク（以下、「出力トルク」とも称呼される。）にも影響を及ぼす。そのため、フューエルカット運転が終了された後の混合気の空燃比が理論空燃比よりもリッチな空燃比に制御されると、フューエルカット運転が終了される前の出力トルクよりも、フューエルカット運転が終了された後の出力トルクが大きいことになる。すなわち、フューエルカット運転が終了された後、出力トルクの大きさが増大する。
【０００７】
上述した出力トルクの大きさの変化（以下、「トルク変動」とも称呼される。）の度合いは、種々のパラメータ（例えば、フューエルカット運転が終了された後の空燃比の大きさ、ならびに、排気量、気筒の配列および気筒の点火順序などの内燃機関の構成）に応じて変化すると考えられる。よって、それらパラメータによっては、トルク変動の大きさは、必ずしも内燃機関の運転に実質的な影響を及ぼす程度に大きいことにはならないとも考えられる。しかしながら、トルク変動の大きさは、出来る限り低減されることが望ましい。
【０００８】
本発明の目的は、上記課題に鑑み、フューエルカット運転が終了された後に混合気の空燃比が理論空燃比よりもリッチな空燃比に制御される場合であってもトルク変動の大きさを出来る限り低減することができる内燃機関の制御装置を提供することにある。
【０００９】
上記課題を解決するための本発明による内燃機関の制御装置は、内燃機関の燃焼室への燃料の供給が中断される「フューエルカット運転」が終了されて前記燃焼室への燃料の供給が再開されるとき、前記燃焼室において燃焼に供される混合気の空燃比が理論空燃比よりもリッチな空燃比となるように前記燃焼室に供給される燃料の量を制御する「リッチ制御」を行う。
【００１０】
上記「フューエルカット運転」は、一般に、内燃機関の運転状態などを考慮して定められる特定の条件が成立している期間において行われる。例えば、フューエルカット運転は、内燃機関に要求されている発生トルクの大きさが小さい（例えば、アクセルペダルの開度がゼロである）場合、および、燃料の供給が中断されても内燃機関の運転が継続され得ると判断される（例えば、機関回転速度が所定の閾値以上である）場合、などに行われ得る。
【００１１】
上記「燃焼に供される混合気」は、本発明の制御装置によってその量が制御される燃料と、空気と、が含まれるガスであればよく、特に制限されない。例えば、燃料に供される混合気として、燃焼室の外部において空気と燃料とが混合されることによって生成された後に燃焼室内に導入されるガス（例えば、いわゆるポート噴射によって生成されるガス）、および、燃焼室の内部において空気と燃料とが混合されることによって生成されるガス（いわゆる、気筒内噴射によって生成されるガス）、などが採用され得る。
【００１２】
なお、上記「理論空燃比」とは、周知のように、混合気が燃焼するときに空気と燃料とが過不足なく反応する空燃比（質量比において、約１４．７）を表す。また、上記「理論空燃比よりもリッチな空燃比」とは、周知のように、理論空燃比の混合気に含まれる単位量当たりの燃料の量よりも多い量の燃料を単位量当たりに含む混合気の空燃比（すなわち、理論空燃比よりも小さい値の空燃比）を表す。逆に、「理論空燃比よりもリーンな空燃比」とは、周知のように、理論空燃比の混合気に含まれる単位量当たりの燃料の量よりも少ない量の燃料を単位量当たりに含む混合気の空燃比（すなわち、理論空燃比よりも大きい値の空燃比）を表す。
【００１３】
以下、便宜上、理論空燃比よりもリッチな空燃比は単に「リッチ空燃比」とも称呼され、理論空燃比よりもリーンな空燃比は単に「リーン空燃比」とも称呼される。
【００１４】
上記「リッチ制御」が行われる目的は、特に制限されない。例えば、後述されるように、燃焼室から放出される排ガスを浄化するための触媒が排ガスを高い効率にて浄化し得る状態を維持することを目的とし、リッチ制御が行われ得る。さらに、上記リッチ制御が行われるときの空燃比の具体的な値も、特に制限されない。例えば、リッチ制御が行われるときの空燃比は、内燃機関の運転状態、内燃機関を構成する部材（例えば、触媒など）の性能、および、リッチ制御が行われる目的など、に応じた適値に設定され得る。
【００１５】
ここで、上述したように、混合気の空燃比が内燃機関の出力トルクに影響を及ぼすことに起因し、リッチ制御が行われることによってトルク変動が生じ得る。例えば、内燃機関が複数の燃焼室を有する場合、内燃機関は、一般に、複数の燃焼室に燃料が順次に供給される一連の処理（以下、「燃料供給サイクル」とも称呼される。）、および、そのように供給された燃料が順次に燃焼される一連の処理が繰り返されることにより、作動する。この内燃機関において、同一の（単一の）燃料供給サイクルにて全ての燃焼室においてリッチ制御が行われると、内燃機関の出力トルクが急激に増大し、内燃機関の運転に実質的な影響を及ぼす程度にトルク変動の大きさが大きいことになる可能性があると考えられる。
【００１６】
そこで、本発明の制御装置が「複数の燃焼室を備えるとともに前記複数の燃焼室に燃料が順次に供給される「燃料供給サイクル」を繰り返す内燃機関」に適用される場合、本発明の制御装置は、前記複数の燃焼室のうちの第１の燃焼室において前記リッチ制御が開始される第１時点が含まれる燃料供給サイクルと、前記複数の燃焼室のうちの前記第１の燃焼室とは異なる第２の燃焼室において前記リッチ制御が開始される第２時点が含まれる燃料供給サイクルと、が互いに「異なる」ように、前記第１時点および前記第２時点を設定する。
【００１７】
これにより、複数の燃焼室のうちの一の燃焼室（第１の燃焼室）におけるリッチ制御と、他の燃焼室（第２の燃焼室）におけるリッチ制御と、が別個の燃料供給サイクルにおいて行われることになる。別の言い方をすると、リッチ制御が行われる燃料供給サイクルが分散されることになる。よって、フューエルカット運転が終了された後にリッチ制御が行われる場合であっても、同一の（単一の）燃料供給サイクルにて複数の燃焼室の全てにおいてリッチ制御が行われる場合に比べ、トルク変動の大きさが低減される。
【００１８】
上記説明から理解されるように、「第１時点が含まれる燃料供給サイクル」と「第２時点が含まれる燃料供給サイクル」とは異なる燃料供給サイクルであればよく、それら燃料供給サイクルの順序は特に制限されない。また、「第１時点が含まれる燃料供給サイクル」と「第２時点が含まれる燃料供給サイクル」とは、連続した燃料供給サイクルであってもよく、連続した燃料供給サイクルでなくてもよい。すなわち、「第１時点が含まれる燃料供給サイクル」が行われた直後の燃料供給サイクルとして「第２時点が含まれる燃料供給サイクル」が行われてもよく、「第１時点が含まれる燃料供給サイクル」と「第２時点が含まれる燃料供給サイクル」との間に一又は複数回の燃料供給サイクルが行われてもよい。
【００１９】
ところで、上記内燃機関における「複数の燃焼室」の配置（配列）は、特に制限されない。例えば、内燃機関は、複数の燃焼室の中心軸線が同一の平面上に配列されるように構成され得る（いわゆる、直列エンジン）。さらに、例えば、内燃機関は、一のグループに属する複数の燃焼室の中心軸線と、他のグループに属する複数の燃焼室の中心軸線と、が２つの異なる平面（バンク）上に配列されるように構成され得る（例えば、いわゆるＶ型エンジン）。
【００２０】
また、上記燃料供給サイクルに含まれる燃焼室の数は、特に制限されない。例えば、一の燃料供給サイクルに含まれる燃焼室の数は、複数の燃焼室の数そのものであってもよく、複数の燃焼室の数よりも大きい数（例えば、複数の燃焼室の数の自然数倍の数）であってもよい。
【００２１】
以下、本発明の制御装置のいくつかの態様（第１の態様〜第６の態様）が説明される。
【００２２】
・第１の態様
内燃機関の燃焼室において燃焼に供された混合気は、燃焼室から排出される。燃焼室から排出されたガス（排ガス）は、一般に、窒素酸化物（NOx）および未燃物などの種々の物質を含んでいる。これら物質の排出量（エミッション排出量）は、出来る限り低減されることが望ましい。そこで、従来から、これら物質を排ガスから除去することによって排ガスを浄化する触媒を備えた内燃機関が提案されている。
【００２３】
なお、上記「排ガスを浄化する」とは、排ガスに含まれる窒素酸化物および未燃物などの浄化対象物質の少なくとも一部をその排ガスから除去することを意味し、必ずしも浄化対象物質の全てをその排ガスから除去することを意味しない。
【００２４】
触媒による排ガスの浄化性能は、種々の理由によって低下する場合がある。例えば、触媒を構成する物質（例えば、貴金属、酸素吸蔵物質、および、担体など）が高温の排ガスに曝されること等によって熱変性すること、および、触媒を構成する物質に排ガスに含まれる成分などが付着または吸着すること、などにより、触媒の排ガス浄化性能が低下する場合がある。すなわち、触媒に導入される排ガスの状態（例えば、温度、酸素濃度、および、排ガスに含まれる成分の量など）に応じて、触媒の排ガス浄化性能が低下する場合がある。以下、触媒の排ガス浄化性能が低下することは、「触媒が劣化する」とも称呼される。
【００２５】
内燃機関が複数の触媒を備える場合、エミッション排出量を低減する観点から、それら複数の触媒の劣化の度合いが出来る限り均一であることが望ましいと考えられる。
【００２６】
そこで、本発明の制御装置は、
前記内燃機関が、前記第１の燃焼室から排出されるガスが導入される第１の触媒と、前記第２の燃焼室から排出されるガスが導入される第２の触媒と、を備える場合、
前記第１の触媒の劣化度および前記第２の触媒の劣化度に基づき、前記第１時点および前記第２時点を設定する、ように構成され得る。
【００２７】
これにより、各々の触媒の劣化の度合い（劣化度）が考慮されながら、リッチ制御による排ガスが触媒に導入されることが開始されるタイミング（換言すると、フューエルカット運転による排ガス（すなわち、空気）が触媒に導入されることが終了されるタイミング）が設定され得る。よって、第１の触媒の劣化度と第２の触媒の劣化度とが、出来る限り均一に維持され得る。
【００２８】
ところで、上記「触媒」は、排ガスを浄化することができる触媒であればよく、特に制限されない。例えば、触媒として、三元触媒およびＮＯｘ吸蔵還元触媒などが採用され得る。
【００２９】
上記「触媒の劣化度」は、触媒が本来有する（例えば、新品状態（未使用）の触媒が有する）排ガス浄化性能を基準とする排ガス浄化性能の低下の度合いを表し得る指標であればよく、特に制限されない。例えば、触媒の劣化度は、排ガスに含まれる特定の成分の量を特定の度合いだけ減少させる（例えば、ＮＯｘの量を５０％だけ減少させる）ために要求される触媒の温度の最低値に基づき、取得され得る。さらに、例えば、触媒の劣化度は、触媒に吸蔵され得る酸素の量の最大値（最大酸素摂取量）に基づき、取得され得る。加えて、例えば、触媒の劣化度は、触媒に吸蔵または吸着されている成分（例えば、硫黄成分など）の量に基づき、取得され得る。なお、本発明において、触媒の劣化度の値は、その値が大きいほど触媒の排ガス浄化性能の低下の度合いが大きいことを表す。
【００３０】
次いで、上述した第１の態様の具体例が、第２の態様〜第５の態様として説明される。
【００３１】
・第２の態様
発明者は、触媒に導入されるガスの状態と、触媒の劣化度と、の関係について種々の実験および考察などを行った。発明者によるこれら実験および考察などによれば、触媒に導入されるガスに含まれる酸化性物質または還元性物質の量（すなわち、触媒が酸化雰囲気にあるか又は還元雰囲気にあるか）、および、触媒の温度、に応じ、触媒の劣化が進行する度合い（換言すると、触媒の劣化度が増大する度合い）が変化することが確認された。
【００３２】
より具体的に述べると、触媒の温度が特定の温度よりも高いときには、触媒にリーン空燃比のガスが導入される（換言すると、触媒が酸化雰囲気にある）場合の方が、触媒にリッチ空燃比のガスが導入される（換言すると、触媒が還元雰囲気にある）場合よりも、触媒の劣化度が増大することが確認された。逆に、触媒の温度が上記特定の温度以下であるときには、触媒にリッチ空燃比のガスが導入される（触媒が還元雰囲気にある）場合の方が、触媒にリーン空燃比のガスが導入される（触媒が酸化雰囲気にある）場合よりも、触媒の劣化度が増大することが確認された。さらに、これらのことから、触媒の温度に応じてフューエルカット運転が継続される時間長さ（つまり、触媒にリーン空燃比のガスが導入される時間長さ）を調整することにより、触媒の劣化度が増大する度合いが調整され得ることが確認された。
【００３３】
別の言い方をすると、触媒の温度が特定の温度よりも高いときには、フューエルカット運転が継続される時間長さが「短い」ほど触媒の劣化度が増大する度合いが低減され、触媒の温度が特定の温度以下であるときにはフューエルカット運転が継続される時間長さが「長い」ほど（フューエルカット運転の後に行われるリッチ制御を考慮すると）触媒の劣化度が増大する度合いが低減される、ことが確認された。
【００３４】
そこで、本発明の制御装置は、
前記第１の触媒の劣化度が前記第２の触媒の劣化度よりも「大きい」場合、
（Ａ）前記第１の触媒および前記第２の触媒のうちの少なくとも前記第１の触媒の温度が閾値温度よりも「高い」ならば、前記第１時点が含まれる燃料供給サイクルが前記第２時点が含まれる燃料供給サイクルよりも「先に」行われるように、前記第１時点および前記第２時点を設定し、
（Ｂ）前記少なくとも前記第１の触媒の温度が前記閾値温度「以下」ならば、前記第１時点が含まれる燃料供給サイクルが前記第２時点が含まれる燃料供給サイクルよりも「後に」行われるように、前記第１時点および前記第２時点を設定する、
ように構成され得る。
【００３５】
これにより、劣化度がより大きい触媒（第１の触媒）の温度が特定の温度（閾値温度）よりも高いとき（上記Ａ）、劣化度がより大きい触媒（第１の触媒）に導入される排ガスを放出する燃焼室においてリッチ制御が開始されるタイミング（第１時点）が、劣化度がより小さい触媒（第２の触媒）に導入される排ガスを放出する燃焼室においてリッチ制御が開始されるタイミング（第２時点）よりも、早いことになる。すなわち、劣化度がより大きい触媒（第１の触媒）に導入される排ガスを放出する燃焼室におけるフューエルカット運転が、より早く終了されることになる。
【００３６】
換言すると、劣化度がより大きい触媒（第１の触媒）にリーン空燃比のガス（フューエルカット運転中の排ガス）が導入される時間長さが「短く」される。逆に、劣化度がより小さい触媒（第２の触媒）にリーン空燃比のガスが導入される時間長さが「長く」される。よって、劣化度がより大きい触媒（第１の触媒）の劣化度が増大する度合いが、劣化度がより小さい触媒（第２の触媒）の劣化度が増大する度合いよりも、小さいことになる。この結果、第１の触媒の劣化度と、第２の触媒の劣化度と、の差が縮小されることになる。したがって、第１の触媒の劣化度と第２の触媒の劣化度とが、出来る限り均一に維持され得る。
【００３７】
逆に、劣化度がより大きい触媒（第１の触媒）の温度が特定の温度（閾値温度）「以下」であるとき（上記Ｂ）、劣化度がより大きい触媒（第１の触媒）にリーン空燃比のガス（フューエルカット運転中の排ガス）が導入される時間長さが「長く」されるとともに、劣化度がより小さい触媒（第２の触媒）にリーン空燃比のガス（フューエルカット運転中の排ガス）が導入される時間長さが「短く」される。よって、上記同様、劣化度がより大きい触媒（第１の触媒）の劣化度が増大する度合いが、劣化度がより小さい触媒（第２の触媒）の劣化度が増大する度合いよりも、小さいことになる。したがって、第１の触媒の劣化度と第２の触媒の劣化度とが、出来る限り均一に維持され得る。
【００３８】
なお、上記「少なくとも」第１の触媒の温度が閾値温度よりも高いとは、第１の触媒および第２の触媒の双方の温度が閾値温度よりも高い場合、および、第１の触媒の温度が閾値温度よりも高く且つ第２の触媒の温度が閾値温度以下である場合、の双方を含む。同様に、上記「少なくとも」第１の触媒の温度が閾値温度以下であるとは、第１の触媒および第２の触媒の双方の温度が閾値温度以下である場合、および、第１の触媒の温度が閾値温度以下であり且つ第２の触媒の温度が閾値温度よりも高い場合、の双方を含む。上記説明から理解されるように、これらいずれの場合であっても、上述したように第１時点および第２時点が設定されれば（上記Ａおよび上記Ｂ）、第１の触媒の劣化度と第２の触媒の劣化度との差が縮小されることになる。
【００３９】
・第３の態様
発明者による更なる実験および考察などによれば、フューエルカット運転が行われている期間中に触媒に導入されるガスの量が特定の量よりも多い場合、触媒の温度が上記特定の温度（第２の態様を参照。）以下となることが確認された。
【００４０】
そこで、本発明の制御装置は、
前記第１の触媒の劣化度が前記第２の触媒の劣化度よりも大きい場合、
（Ｃ）前記フューエルカット運転中に前記第１の触媒および前記第２の触媒のうちの少なくとも前記第１の触媒に導入されたガスの合計量が閾値量よりも「多い」ならば、前記第１時点が含まれる燃料供給サイクルが前記第２時点が含まれる燃料供給サイクルよりも「後に」行われるように、前記第１時点および前記第２時点を設定し、
（Ｄ）前記フューエルカット運転中に前記少なくとも前記第１の触媒に導入されたガスの合計量が前記閾値量「以下」ならば、前記第１時点が含まれる燃料供給サイクルが前記第２時点が含まれる燃料供給サイクルよりも「先に」行われるように、前記第１時点および前記第２時点を設定する、
ように構成され得る。
【００４１】
これにより、劣化度がより大きい触媒（第１の触媒）にフューエルカット運転中に導入されたガスの合計量が閾値量よりも多いとき（上記Ｃ）、劣化度がより大きい触媒（第１の触媒）に導入される排ガスを放出する燃焼室においてリッチ制御が開始されるタイミング（第１時点）が、劣化度がより小さい触媒（第２の触媒）に導入される排ガスを放出する燃焼室においてリッチ制御が開始されるタイミング（第２時点）よりも、遅いことになる。すなわち、劣化度がより大きい触媒（第１の触媒）に導入される排ガスを放出する燃焼室におけるフューエルカット運転が、より遅く終了されることになる。
【００４２】
換言すると、劣化度がより大きい触媒（第１の触媒）にリーン空燃比のガス（フューエルカット運転中の排ガス）が導入される時間長さが「長く」されるとともに、劣化度がより小さい触媒（第２の触媒）にリーン空燃比のガスが導入される時間長さが「短く」される。よって、劣化度がより大きい触媒（第１の触媒）の劣化度が増大する度合いが、劣化度がより小さい触媒（第２の触媒）の劣化度が増大する度合いよりも、小さいことになる。したがって、第１の触媒の劣化度と第２の触媒の劣化度とが、出来る限り均一に維持され得る。
【００４３】
逆に、劣化度がより大きい触媒（第１の触媒）にフューエルカット運転中に導入されたガスの合計量が閾値量以下であるとき（上記Ｄ）、劣化度がより大きい触媒（第１の触媒）にリーン空燃比のガス（フューエルカット運転中の排ガス）が導入される時間長さが「短く」されるとともに、劣化度がより小さい触媒（第２の触媒）にリーン空燃比のガス（フューエルカット運転中の排ガス）が導入される時間長さが「長く」される。したがって、上記同様、第１の触媒の劣化度と第２の触媒の劣化度とが、出来る限り均一に維持され得る。
【００４４】
なお、上記「少なくとも」第１の触媒に導入されたガスの合計量が閾値量よりも多いとは、第１の触媒に導入されたガスの合計量および第２の触媒に導入されたガスの合計量の双方が閾値量よりも多い場合、および、第１の触媒に導入されたガスの合計量が閾値量よりも多く且つ第２の触媒に導入されたガスの合計量が閾値量以下である場合、の双方を含む。同様に、上記「少なくとも」第１の触媒に導入されたガスの合計量が閾値量以下であるとは、第１の触媒に導入されたガスの合計量および第２の触媒に導入されたガスの合計量の双方が閾値量以下である場合、および、第１の触媒に導入されたガスの合計量が閾値量以下であり且つ第２の触媒に導入されたガスの合計量が閾値量よりも多い場合、の双方を含む。上記説明から理解されるように、これらいずれの場合であっても、上述したように第１時点および第２時点が設定されれば（上記Ｃおよび上記Ｄ）、第１の触媒の劣化度と第２の触媒の劣化度との差が縮小されることになる。
【００４５】
さらに、第３の態様の制御装置は、「少なくとも第１の触媒に導入されたガスの合計量」が閾値量よりも多いか否かに代えて、「フューエルカット運転中に第１の触媒に導入されたガスの合計量と、フューエルカット運転中に第２の触媒に導入されたガスの合計量と、の総和」が特定の量よりも多いか否か、に基づいて第１時点および第２時点を設定するようにも構成され得る。
【００４６】
・第４の形態
上述したように、第２の態様および第３の態様の制御装置は、「第１の触媒の劣化度および第２の触媒の劣化度が取得されており、かつ、第１の触媒の劣化度と第２の触媒の劣化度とが異なる場合」にそれら劣化度の差を縮小することにより、第１の触媒の劣化度と第２の触媒の劣化度とを出来る限り均一に維持するように構成されている。
【００４７】
これに対し、本発明の制御装置は、
前記第１の触媒の劣化度および前記第２の触媒の劣化度のうちの「少なくとも一方が取得されていない」場合、または、前記第１の触媒の劣化度が前記第２の触媒の劣化度と「同一」である場合、
今回のフューエルカット運転よりも前に行われた前記フューエルカット運転に関する前記第１時点および前記第２時点の「履歴」に基づき、前記今回のフューエルカット運転に関する前記第１時点および前記第２時点を設定する、ように構成され得る。
【００４８】
これにより、過去のフューエルカット運転後のリッチ制御の情報（第１時点および第２時点の履歴）が考慮されながら、今回のフューエルカット運転後のリッチ制御によって第１の触媒および第２の触媒に排ガスが導入されるタイミング（第１時点および第２時点）が設定され得る。よって、第１の触媒の劣化度と第２の触媒の劣化度とが、出来る限り均一に維持され得る。
【００４９】
ところで、上記「フューエルカット運転に関する第１時点および第２時点」とは、上記説明から理解されるように、フューエルカット運転が終了された後に行われるリッチ制御についての第１時点および第２時点を表す。
【００５０】
上記「第１時点および第２時点の履歴」とは、今回のフューエルカット運転よりも前に行われたフューエルカット運転に関する第１時点および第２時点についての情報であればよく、特に制限されない。例えば、第１時点および第２時点の履歴として、今回のフューエルカット運転よりも前に行われた一又は複数回のフューエルカット運転に関する第１時点および第２時点についての情報、が採用され得る。より具体的に述べると、例えば、第１時点および第２時点の履歴として、今回のフューエルカット運転の直前に行われた（前回の）フューエルカット運転に関する第１時点および第２時点の順序、が採用され得る。さらに、例えば、第１時点および第２時点の履歴として、今回のフューエルカット運転よりも前に行われた複数回のフューエルカット運転に関する第１時点および第２時点の順序および回数、が採用され得る。
【００５１】
・第５の態様
上記第４の態様の制御装置の一の具体例として、本発明の制御装置は、
前記今回のフューエルカット運転の「直前に」行われた前記フューエルカット運転に関して前記第１時点が含まれる燃料供給サイクルが前記第２時点が含まれる燃料供給サイクルよりも「先に」行われた場合、前記第１時点が含まれる燃料供給サイクルが前記第２時点が含まれる燃料供給サイクルよりも「後に」行われるように、前記今回のフューエルカット運転に関する前記第１時点および前記第２時点を設定し、
前記今回のフューエルカット運転の直前に行われた前記フューエルカット運転に関して前記第１時点が含まれる燃料供給サイクルが前記第２時点が含まれる燃料供給サイクルよりも「後に」行われた場合、前記第１時点が含まれる燃料供給サイクルが前記第２時点が含まれる燃料供給サイクルよりも「先に」行われるように、前記今回のフューエルカット運転についての前記第１時点および前記第２時点を設定する、
ように構成され得る。
【００５２】
これにより、今回のフューエルカット運転の直前に行われた（すなわち、前回の）フューエルカット運転に関する第１時点および第２時点の順序とは「逆の」順序となるように、今回のフューエルカット運転に関する第１時点および第２時点が設定されることになる。よって、前回のフューエルカット運転に関する第１時点および第２時点の順序と同一の順序となるように第１時点および第２時点が設定される場合に比べ、第１の触媒の劣化度と第２の触媒の劣化度とが均一に維持される可能性が高いことになると考えられる。
【００５３】
以上が、触媒の劣化度を考慮してリッチ制御が開始されるタイミングを設定する態様（第１の態様）の具体例である。
【００５４】
・第６の態様
本発明の制御装置が適用される内燃機関の形態は、特に制限されない。換言すると、本発明の制御装置は、内燃機関の形態に合わせるように内燃機関に適用され得る。
【００５５】
例えば、本発明の制御装置は、
前記内燃機関が、前記第１の燃焼室を含む複数の燃焼室の群である「第１の燃焼室群」と、前記第２の燃焼室を含むとともに前記第１の燃焼室群に属する燃焼室を含まない複数の燃焼室の群である「第２の燃焼室群」と、を備える場合、
前記第１時点が含まれる燃料供給サイクルにて前記第１の燃焼室群に属する燃焼室における前記リッチ制御が開始され、前記第２時点が含まれる燃料供給サイクルにて前記第２の燃焼室群に属する燃焼室における前記リッチ制御が開始される、ように構成され得る。
【図面の簡単な説明】
【００５６】
【図１】本発明の第１実施形態に係る制御装置が適用される内燃機関の概略図である。
【図２】図１に示した上流側酸素濃度センサの出力値と、排ガスの空燃比と、の関係を示すグラフである。
【図３】図１に示した下流側酸素濃度センサの出力値と、排ガスの空燃比と、の関係を示すグラフである。
【図４】本発明の第１の実施形態に係る制御装置の作動を示す概略フローチャートである。
【図５】本発明の第１実施形態に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図６】本発明の第１実施形態に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図７】本発明の第１実施形態に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図８】本発明の第１実施形態に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図９】本発明の第１実施形態に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１０】本発明の第１実施形態に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１１】本発明の第２実施形態に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１２】上流側空燃比と、下流側酸素濃度センサの出力値と、触媒の酸素吸蔵量と、の関係を示すタイムチャートである。
【図１３】本発明の第３実施形態に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１４】本発明の第３実施形態に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１５】本発明の第３実施形態に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１６】本発明の第４実施形態に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１７】本発明の第５実施形態に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【発明を実施するための形態】
【００５７】
以下、本発明による制御装置の各実施形態（第１実施形態〜第５実施形態）が、図面を参照しながら説明される。
【００５８】
（第１実施形態）
＜装置の概要＞
図１は、本発明の第１実施形態に係る制御装置（以下、「第１装置」とも称呼される。）を内燃機関１０に適用したシステムの概略構成を示している。内燃機関１０は、４サイクル火花点火式多気筒（Ｖ型８気筒）機関である。以下、便宜上、「内燃機関１０」は単に「機関１０」とも称呼される。
【００５９】
この機関１０は、燃料噴射系統を含むエンジン本体２０、エンジン本体２０に空気と燃料とが混合されることによって生成されたガス（混合気）を導入するための吸気系統３０、エンジン本体２０から排出されるガス（排ガス）を機関１０の外部に放出するための排気系統４０、アクセルペダル５１、各種のセンサ６１〜６８、および、電子制御装置７０を備えている。
【００６０】
エンジン本体２０は、第１シリンダヘッド２１ａ、第２シリンダヘッド２１ｂ、インジェクタ２２、および、点火プラグ２３、を有している。第１シリンダヘッド２１ａは４つの気筒に対応しており、第２シリンダヘッド２１ｂは４つの気筒に対応している。インジェクタ２２は、図示されない燃料タンクと接続されており、８つの気筒のそれぞれに対応する図示されない吸気ポート内に（換言すると、気筒内の燃焼室に）燃料を供給するようになっている。点火プラグ２３は、８つの気筒のそれぞれの上部に設けられている。
【００６１】
より具体的に述べると、第１シリンダヘッド２１ａに属する気筒群（燃焼室群）の中心軸線と、第２シリンダヘッド２１ｂに属する気筒群（燃焼室群）の中心軸線と、は２つの異なる平面（バンク）上に配列されている。さらに、この２つの面は、図示されないクランクシャフトを中心としたＶ字型を構成している。
【００６２】
以下、便宜上、第１シリンダヘッド２１ａに属する気筒群は「第１の気筒群」とも称呼され、第２シリンダヘッド２１ｂに属する気筒群は「第２の気筒群」とも称呼される。
【００６３】
吸気系統３０は、図示されない吸気ポートを介して各々の気筒に連通されたインテークマニホールド３１、インテークマニホールド３１の上流側の集合部に接続された吸気管３２、吸気管３２内の開口面積（開口断面積）を変更することができるスロットル弁３３、電子制御装置７０からの指示信号に応じてスロットル弁３３を回転駆動するスロットル弁アクチュエータ３３ａ、および、スロットル弁３３の上流側において吸気管３２に設けられたエアクリーナ３４、を有している。インテークマニホールド３１および吸気管３２は、吸気通路を構成している。
【００６４】
排気系統４０は、第１シリンダヘッド２１ａに対応する排気系統と、第２シリンダヘッド２１ｂに対応する排気系統と、に大別される。第１シリンダヘッド２１ａに対応する排気系統は、図示されない排気ポートを介して各々の気筒に連通されたエキゾーストマニホールド４１ａ、エキゾーストマニホールド４１ａの下流側の集合部に接続された排気管４２ａ、および、排気管４２ａに設けられた排ガス浄化用触媒４３ａ、を有している。同様に、第２シリンダヘッド２１ｂに対応する排気系統は、エキゾーストマニホールド４１ｂ、排気管４２ｂ、および、排ガス浄化用触媒４３ｂ、を有している。エキゾーストマニホールド４１ａおよび排気管４２ａ、ならびに、エキゾーストマニホールド４１ｂおよび排気管４２ｂは、排気通路を構成している。以下、排ガス浄化用触媒（４３ａ，４３ｂ）は、単に「触媒」とも称呼される。
【００６５】
触媒４３ａ，４３ｂは、酸素吸蔵物質としてのセリア・ジルコニア共触媒（ＣｅＯ２−ＺｒＯ２）と、担体としてのセラミクス（アルミナなど）と、触媒成分としての貴金属（白金およびロジウムなど）と、から構成される三元触媒である。触媒４３ａ，４３ｂは、その温度が特定の活性温度以上であり、かつ、浄化される対象のガスの空燃比が理論空燃比（理論空燃比の混合気が燃焼した際に生じる排ガスの空燃比）の近傍」である場合、触媒成分においてガスに含まれる未燃物（ＨＣ，ＣＯなど）および窒素酸化物（ＮＯｘ）の酸化還元反応を促進させ、それらを高い浄化率にて浄化することができる。
【００６６】
さらに、触媒４３ａ，４３ｂに含まれる酸素吸蔵物質は、触媒４３ａ，触媒４３ｂに導入されるガスの空燃比が理論空燃比よりも大きいときに（すなわち、リーン空燃比であるときに）過剰な酸素を吸蔵し、そのガスの空燃比が理論空燃比よりも小さいときに（すなわち、リッチ空燃比であるときに）吸蔵されている酸素を放出する。これにより、触媒４３ａ，触媒４３ｂに導入されるガスの空燃比が理論空燃比の近傍とは異なる空燃比であっても、触媒成分における空燃比が理論空燃比に一致するように調節されるので、そのガスが高い浄化率にて浄化される状態が維持される。
【００６７】
以下、触媒に吸蔵されている酸素の量は、「酸素吸蔵量OSA」とも称呼される。また、触媒に吸蔵され得る酸素の量の最大値は、「最大酸素吸蔵量Cmax」とも称呼される。
【００６８】
アクセルペダル５１は、機関１０の外部に設けられている。アクセルペダル５１は、機関１０に加速要求などを入力するべく、機関１０の操作者によって操作される。
【００６９】
各種のセンサ６１〜６８として、吸入空気量センサ６１、スロットル弁開度センサ６２、カムポジションセンサ６３ａ，６３ｂ、クランクポジションセンサ６４、水温センサ６５、上流側酸素濃度センサ６６ａ，６６ｂ、下流側酸素濃度センサ６７ａ，６７ｂ、および、アクセル開度センサ６８、が所定の箇所に設けられている。
【００７０】
吸入空気量センサ６１は、吸気通路（吸気管３２）に設けられている。吸入空気量センサ６１は、吸気管３２内を流れる空気の質量流量である吸入空気量（すなわち、機関１０に吸入される空気の質量）に応じた信号を出力するようになっている。この信号に基づき、吸入空気量Gaが取得される。
【００７１】
スロットル弁開度センサ６２は、スロットル弁３３の近傍に設けられている。スロットル弁開度センサ６２は、スロットル弁３３の開度に応じた信号を出力するようになっている。この信号に基づき、スロットル弁開度TAが取得される。
【００７２】
カムポジションセンサ６３ａは、第１シリンダヘッド２１ａにおける図示されないインテークカムシャフトの近傍に設けられている。また、カムポジションセンサ６３ｂは、第２シリンダヘッド２１ｂにおける図示されないインテークカムシャフトの近傍に設けられている。カムポジションセンサ６３ａ，６３ｂは、インテークカムシャフトが９０°回転する毎に（すなわち、クランクシャフトが１８０°回転する毎に）一つのパルスを有する信号を出力するようになっている。この信号に基づき、インテークカムシャフトの回転位置（カムポジション）が取得される。
【００７３】
クランクポジションセンサ６４は、図示されないクランクシャフトの近傍に設けられている。クランクポジションセンサ６４は、クランクシャフトが１０°回転する毎に幅の狭いパルスを有する信号を出力するとともに、クランクシャフトが３６０°回転する毎に幅の広いパルスを有する信号を出力するようになっている。これら信号に基づき、クランクシャフトの単位時間あたりの回転数（以下、「機関回転速度NE」とも称呼される。）が取得される。
【００７４】
水温センサ６５は、エンジン本体２０に設けられている冷却水の通路に設けられている。水温センサ６５は、冷却水の温度に応じた信号を出力するようになっている。この信号に基づき、冷却水の温度THWの測定値が取得される。
【００７５】
上流側酸素濃度センサ６６ａは、触媒４３ａの上流側の排気通路（排気管４２ａ）に設けられている。また、上流側酸素濃度センサ６６ｂは、触媒４３ｂの上流側の排気通路（排気管４２ｂ）に設けられている。上流側酸素濃度センサ６６ａ，６６ｂは、公知の限界電流式の酸素濃度センサである。上流側酸素濃度センサ６６ａ，６６ｂは、触媒４３ａ，４３ｂに導入される排ガスの空燃比に応じた電圧であるVabyfsa，Vabyfsbを出力するようになっている。
【００７６】
上流側酸素濃度センサ６６ａの出力値Vabyfsaは、図２に示すように、触媒４３ａに導入されるガスの空燃比が理論空燃比であるときに値Vstoichに一致する。さらに、触媒４３ａに導入されるガスの空燃比が大きいほど、出力値Vabyfsaは増大する。以下、図２に示す出力値Vabyfsaと空燃比A/Fとの関係は「テーブルMapabyfsa」とも称呼される。また、上流側酸素濃度センサ６６ｂの出力値Vabyfsbと触媒４３ｂに導入されるガスの空燃比A/Fとの関係は、図２に示される上記関係と同一である。
【００７７】
再び図１を参照すると、下流側酸素濃度センサ６７ａは、触媒４３ａの下流側の排気通路（排気管４２ａ）に設けられている。また、下流側酸素濃度センサ６７ｂは、触媒４３ｂの下流側の排気通路（排気管４２ｂ）に設けられている。下流側酸素濃度センサ６７ａ，６７ｂは、公知の起電力式（濃淡電池型）の酸素濃度センサである。下流側酸素濃度センサ６７ａ，６７ｂは、触媒４３ａ，４３ｂから排出される排ガスの空燃比に応じた電圧であるVoxsa，Voxsbを出力するようになっている。
【００７８】
下流側酸素濃度センサ６７ａの出力値Voxsaは、図３に示すように、触媒４３ａから排出されるガスの空燃比が理論空燃比からリッチ側に向けて離れるほど増大し、同ガスの空燃比が理論空燃比からリーン側に向けて離れるほど減少する。また、下流側酸素濃度センサ６７ｂの出力値Voxsbと触媒４３ｂから排出されるガスの空燃比A/Fとの関係は、図３に示される上記関係と同一である。
【００７９】
アクセル開度センサ６８は、アクセルペダル５１の近傍に設けられている。アクセル開度センサ６８は、アクセルペダル５１の開度に応じた信号を出力するようになっている。この信号に基づき、アクセルペダル開度Accpが取得される。
【００８０】
電子制御装置７０は、ＣＰＵ７１、ＣＰＵ７１が実行するプログラム、テーブル（マップ）および定数などをあらかじめ記憶したＲＯＭ７２、ＣＰＵ７１が必要に応じて一時的にデータを格納するＲＡＭ７３、電源が投入された状態でデータを格納すると共に格納したデータを電源が遮断されている間も保持するバックアップＲＡＭ７４、ならびに、ＡＤコンバータを含むインターフェース７５を有する。ＣＰＵ７１、ＲＯＭ７２、ＲＡＭ７３、ＲＡＭ７４およびインターフェース７５は、互いにバスで接続されている。
【００８１】
インターフェース７５は、上記各センサと接続され、ＣＰＵ７１にそれらセンサから出力される信号を伝えるようになっている。さらに、インターフェース７５は、スロットル弁アクチュエータ３３ａ、インジェクタ２２および点火プラグ２３などと接続され、ＣＰＵ７１の指示に応じてそれらに指示信号を送るようになっている。
【００８２】
＜装置の作動の概要＞
以下、機関１０に適用される第１装置の作動の概要が、図４を参照しながら説明される。図４は、第１装置の作動の概要を示す「概略フローチャート」である。
【００８３】
第１装置が適用される機関１０においては、特定の条件が成立する場合に「フューエルカット運転」が行われるとともに、フューエルカット運転が終了されて燃焼室への燃料の供給が再開されるときに「リッチ制御」が行われる。第１装置は、複数の燃焼室のうちの一の燃焼室（第１の燃焼室）においてリッチ制御が開始される第１時点が含まれる燃料供給サイクルと、他の燃焼室（第２の燃焼室）においてリッチ制御が開始される第２時点が含まれる燃料供給サイクルと、が異なるように第１時点および第２時点を設定する。
【００８４】
具体的に述べると、第１装置は、図４のステップ４１０にて、フューエルカット制御条件（この条件の詳細は後述される。）が成立しているか否かを判定する。フューエルカット制御条件が成立する場合、第１装置は、ステップ４１０にて「Ｙｅｓ」と判定してステップ４２０に進む。これにより、フューエルカット運転が行われる。
【００８５】
第１装置は、フューエルカット運転中にもフューエルカット制御条件が成立するか否かを判定し続ける。そして、フューエルカット運転中にフューエルカット制御条件が成立しなくなった場合、第１装置は、ステップ４１０にて「Ｎｏ」と判定する。さらに、第１装置は、ステップ４３０にて「Ｙｅｓ」と判定する。そして、第１装置は、ステップ４４０にて、第１時点が含まれる燃料供給サイクルと第２時点が含まれる燃料供給サイクルとが異なるように、第１時点および第２時点を決定する。
【００８６】
次いで、第１装置は、ステップ４５０に進む。これにより、第１時点において第１の燃焼室にて、リッチ制御が開始される。その後、第１装置は、ステップ４６０に進む。これにより、第２時点において第２の燃焼室にて、リッチ制御が開始される。
【００８７】
なお、フューエルカット運転が行われていないとき、第１装置は、ステップ４１０およびステップ４３０にて「Ｎｏ」と判定し、ステップ４７０に進む。これにより、通常運転（例えば、混合気の空燃比が理論空燃比である運転）が行われる。
以上が、第１装置の作動の概要である。
【００８８】
以下、便宜上、リッチ制御が行われている期間中の運転は、「リッチ運転」とも称呼される。
【００８９】
＜空燃比制御＞
次いで、上述したフューエルカット運転、リッチ運転および通常運転を行うための空燃比制御が、説明される。
【００９０】
第１装置においては、「第１シリンダヘッド２１ａに対応する排気系統」および「第２シリンダヘッド２１ｂに対応する排気系統」のそれぞれにて個別に空燃比制御が行われる。しかし、これら排気系統のそれぞれにて行われる空燃比制御は、同一の考え方に従って行われるものである。そこで、以下、便宜上、これら排気系統のそれぞれにおいて行われる空燃比制御が、排気系統の区別なく説明される。具体的に述べると、例えば、以下の説明においては、上流側酸素濃度センサ６６ａ，６６ｂは「上流側酸素濃度センサ６６」と総称され、下流側酸素濃度センサ６７ａ，６７ｂは「下流側酸素濃度センサ６７」と総称される。これらセンサの出力値などについても、同様に総称される。
【００９１】
第１装置における空燃比制御は、上流側酸素濃度センサ６６の出力値Vabyfsに基づいて得られる上流側空燃比abyfsを上流側目標空燃比abyfrに一致させるための「メインフィードバック制御」、および、下流側酸素濃度センサ６７の出力値Voxsを下流側目標出力値Voxsrefに一致させるための「サブフィードバック制御」から構成される。
【００９２】
より具体的に述べると、まず、上流側酸素濃度センサ６６の出力値Vabyfsが、「下流側酸素濃度センサ６７の出力値Voxsと下流側目標出力値Voxsrefとの差である出力偏差量DVoxsを小さくするように算出されたサブフィードバック量Vafsfb」により補正される。次いで、この補正によって得られた「フィードバック制御用出力値Vabyfc」がテーブルMapabyfs（図２を参照。）に適用されることにより、「フィードバック制御用空燃比（補正検出空燃比）abyfsc」が算出される。そして、このフィードバック制御用空燃比abyfscと「上流側目標空燃比abyfr」とが一致するように、燃料噴射量Fiが制御される。以下、この空燃比制御がより詳細に説明される。
【００９３】
なお、この空燃比制御においては、現時点（時点k）における特定のパラメータの値と、現時点よりも過去の時点（時点k−N）における特定のパラメータの値と、が用いられる。以下、特に注釈が付されることなくそれらパラメータの値が記載されている場合、それら値は現時点（時点k）における値を表す。
【００９４】
１．メインフィードバック制御
まず、第１装置が行うメインフィードバック制御が説明される。
第１装置は、下記（１）式に従い、フィードバック制御用出力値Vabyfcを算出する。下記（１）式において、Vabyfsは上流側酸素濃度センサ６６の出力値を、Vafsfbは下流側酸素濃度センサ６７の出力値Voxsに基づいて算出されるサブフィードバック量を、表す。サブフィードバック量Vafsfbの算出方法は後述される。
【００９５】
Vabyfc＝Vabyfs＋Vafsfb    ・・・（１）
【００９６】
次いで、第１装置は、下記（２）式に従い、上記フィードバック制御用出力値VabyfcをテーブルMapabyfs（図２を参照。）に適用することにより、フィードバック制御用空燃比abyfscを決定する。
【００９７】
abyfsc＝Mapabyfs（Vabyfc）    ・・・（２）
【００９８】
次いで、第１装置は、下記（３）式に従い、現時点（時点k）にて気筒内に吸入される空気の量である筒内吸入空気量Mc（k）を現時点（時点k）における上流側目標空燃比abyfr（k）によって除算することにより、基本燃料噴射量Fbaseを算出する。上流側目標空燃比abyfr（k）の算出方法は後述される。
【００９９】
Fbase＝Mc（k）／abyfr（k）    ・・・（３）
【０１００】
上記筒内吸入空気量Mcは、各気筒において吸気行程が行われる毎に、その時点の吸入空気量Gaと機関回転速度NEとに基づいて算出される。例えば、筒内吸入空気量Mcは、吸入空気量Gaに対して一次遅れ処理を施した値を機関回転速度NEで除算することによって算出される。この筒内吸入空気量Mcは、吸気行程が行われる各時点（時点k−N、・・・、時点k−1、時点k、時点k＋1、・・・）と関連付けられたデータとして、ＲＡＭ８３内に格納される。なお、筒内吸入空気量Mcは、公知の吸入空気量モデル（吸気通路における空気の挙動を模して構築されたモデル）によって算出されてもよい。
【０１０１】
次いで、第１装置は、下記（４）式に従い、上記基本燃料噴射量Fbaseをメインフィードバック量DFiによって補正する（基本燃料噴射量Fbaseにメインフィードバック量DFiを加える）ことにより、最終燃料噴射量Fiを算出する。そして、第１装置は、最終燃料噴射量Fiだけの燃料を吸気行程が行われる気筒のインジェクタ２２から噴射させる。メインフィードバック量DFiの算出方法は後述される。
【０１０２】
Fi＝Fbase＋DFi    ・・・（４）
【０１０３】
上記（４）式におけるメインフィードバック量DFiは、以下のように算出される。
まず、第１装置は、下記（５）式に従い、現時点よりもNサイクル前の時点（時点k−N）における筒内吸入空気量Mc（k−N）を上記フィードバック制御用空燃比（補正検出空燃比）abyfscにて除算することにより、現時点よりもNサイクル前の時点において燃焼室２５に供給された燃料の量である「筒内燃料供給量Fc（k−N）」を算出する。
【０１０４】
Fc（k−N）＝Mc（k−N）／abyfsc    ・・・（５）
【０１０５】
なお、上記（５）式においては、現時点からNサイクル前の筒内吸入空気量Mc（k−N）を（現時点における）フィードバック制御用空燃比abyfscで除算することにより、現時点からNサイクル前の筒内燃料供給量Fc（k−N）を算出している。これは、燃焼室２５内で燃焼された混合気が上流側酸素濃度センサ６６に到達するまでに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は特定の係数を、SDFcは筒内燃料供給量偏差DFcの積分値を、表す。
【０１１１】
DFi＝（Gp・DFc＋Gi・SDFc）・KFB    ・・・（８）
【０１１２】
上記（７）式および上記（８）式に示すように、第１装置は、フィードバック制御用空燃比abyfscと上流側目標空燃比abyfrとに基づく比例積分制御によってメインフィードバック量DFiを算出する。このメインフィードバック量DFiは、上記（４）式に示すように基本燃料噴射量Fbaseに加算される。これにより、最終燃料噴射量Fiが算出される。以上が、第１装置が行うメインフィードバック制御である。
【０１１３】
２．サブフィードバック制御
次いで、第１装置が行うサブフィードバック制御が説明される。
第１装置は、下記（９）式に従い、下流側目標出力値Voxsrefから現時点の下流側酸素濃度センサ６７の出力値Voxsを減算することにより、出力偏差量DVoxsを算出する。
【０１１４】
DVoxs＝Voxsref−Voxs    ・・・（９）
【０１１５】
次いで、第１装置は、下記（１０）式に従い、サブフィードバック量Vafsfbを算出する。下記（１０）式において、Kpはあらかじめ設定された比例ゲイン（比例定数）を、Kiはあらかじめ設定された積分ゲイン（積分定数）を、SDVoxsは出力偏差量DVoxsの積分値を、表す。
【０１１６】
Vafsfb＝Kp・DVoxs＋Ki・SDVoxs    ・・・（１０）
【０１１７】
上記（９）式および上記（１０）式に示すように、第１装置は、下流側酸素濃度センサ６７の出力値Voxsと下流側目標出力値Voxsrefとに基づく比例積分制御によってサブフィードバック量Vafsfbを算出する。このサブフィードバック量Vafsfbは、上記（１）式に示すように、上流側酸素濃度センサ６６の出力値Vabyfsに加算される。これにより、フィードバック制御用出力値Vabyfcが算出される。以上が、第１装置が行うサブフィードバック制御である。
【０１１８】
３．空燃比制御の総括
上述したように、第１装置は、上流側酸素濃度センサ６６の出力値Vabyfsにサブフィードバック量Vafsfbを加算することによって出力値Vabyfsを補正し、この補正によって得られたフィードバック制御用出力値Vabyfc（＝Vabyfs＋Vafsfb）に基づいてフィードバック制御用空燃比abyfscを算出する。そして、第１装置は、算出されたフィードバック制御用空燃比abyfscと、上流側目標空燃比abyfrと、が一致するように、燃料噴射量Fiを算出する。
【０１１９】
その結果、上流側空燃比abyfsが上流側目標空燃比abyfrに近づくとともに、下流側酸素濃度センサ６７の出力値Voxsが下流側目標出力値Voxsrefに近づくことになる。換言すると、触媒５３の上流側の空燃比および下流側の空燃比の双方が、それぞれの目標値に近づけられることになる。
以上が、第１装置が行う空燃比制御である。
【０１２０】
＜実際の作動＞
以下、第１装置の実際の作動が説明される。
第１装置において、ＣＰＵ７１は、フューエルカット運転制御のための図５、触媒温度推定のための図６、燃料噴射制御のための図７、メインフィードバック制御のための図８、サブフィードバック制御のための図９、および、リッチ制御のための図１０、に示した各ルーチンを特定のタイミング毎に繰り返し実行するようになっている。
【０１２１】
第１装置においては、「第１の気筒群（第１シリンダヘッド２１ａに属する気筒群）に含まれる気筒」および「第２の気筒群（第２シリンダヘッド２１ｂに属する気筒群）に含まれる気筒」のそれぞれにて個別に上述した各ルーチンが実行される。しかし、以下、便宜上、特に明記されない限り、これら気筒のそれぞれにおいて実行される各ルーチンが気筒の区別なく説明される。
【０１２２】
ＣＰＵ７１は、上述した各ルーチンにおいて、フューエルカット運転フラグXFCおよびリッチ運転フラグXRICHを用いる。
【０１２３】
フューエルカット運転フラグXFCは、その値が「０」である場合、機関１０の運転状態がフューエルカット運転が行われるべき状態ではないことを表す。一方、フューエルカット運転フラグXFCは、その値が「１」である場合、機関１０の運転状態がフューエルカット運転が行われるべき状態であることを表す。
【０１２４】
リッチ運転フラグXRICHは、その値が「０」である場合、リッチ運転が行われるべきではないことを表す。一方、リッチ運転フラグXRICHは、その値が「１」である場合、リッチ運転が行われるべきことを表す。
【０１２５】
なお、フューエルカット運転フラグXFCの値およびリッチ運転フラグXRICHの値は、機関１０が始動されるとき、初期値としての「０」に設定されるようになっている。
【０１２６】
以下、現時点において、フューエルカット運転フラグXFCの値およびリッチ運転フラグXRICHの値の双方は「０」に設定されていると仮定される。以下、便宜上、この仮定は「初期設定仮定」とも称呼される。
【０１２７】
ＣＰＵ７１は、任意の気筒のクランク角度が吸気行程前の特定のクランク角度（例えば、排気上死点前９０度クランク角度）θｆに一致する毎に、図５にフローチャートによって示した「フューエルカット運転制御ルーチン」を繰り返し実行するようになっている。ＣＰＵ７１は、このルーチンにより、機関１０の運転状態に基づいて「フューエルカット運転を行うべきか否か」を判定するとともに、その判定の結果に応じてフューエルカット運転フラグXFCおよびリッチ運転フラグXRICHの値を設定する。
【０１２８】
以下、便宜上、クランク角が上記所定クランク角θｆに一致する吸気行程前の気筒は、「燃料噴射気筒」とも称呼される。
【０１２９】
具体的に述べると、ＣＰＵ７１は、特定のタイミングにて図５のステップ５００から処理を開始すると、ステップ５０５に進む。ＣＰＵ７１は、ステップ５０５にて、リッチ運転フラグXRICHの値が「０」であるか否かを判定する。上記初期設定仮定に従えば、現時点におけるリッチ運転フラグXRICHの値は「０」であるので、ＣＰＵ７１は、ステップ５０５にて「Ｙｅｓ」と判定してステップ５１０に進む。
【０１３０】
ＣＰＵ７１は、ステップ５１０にて、フューエルカット運転を行うための条件である「フューエルカット制御条件」が成立するか否かを判定する。より具体的に述べると、ＣＰＵ７１は、ステップ５１０にて、下記条件（ａ−１）および（ａ−２）の双方が成立したとき、フューエルカット制御条件が成立すると判定する。換言すると、ＣＰＵ７１は、下記条件（ａ−１）および（ａ−２）のうちの少なくとも一方が成立しないとき、フューエルカット制御条件が成立しないと判定する。
【０１３１】
（条件ａ−１）アクセルペダル開度Accpがゼロである、または、スロットル弁開度TAがゼロである。
（条件ａ−２）機関回転速度NEが所定の閾値以上である。
【０１３２】
条件（ａ−１）は、機関１０に要求されているトルクの大きさが十分に小さいか否かを判断するための条件である。条件（ａ−２）に係る閾値は、機関１０への燃料の供給が中断されても機関１０の運転が継続され得ると判断される適値に設定される。よって、例えば、機関１０に対して加速要求が入力されている場合には上記フィードバック制御条件は成立しない。
【０１３３】
以下、フューエルカット制御条件が成立しない場合、および、フューエルカット制御条件が成立する場合、のそれぞれについて、各ルーチンにおける処理が説明される。
【０１３４】
１．フューエルカット制御条件が「成立しない」場合
この場合、ＣＰＵ７１は、ステップ５１０にて「Ｎｏ」と判定してステップ５１５に進む。ＣＰＵ７１は、ステップ５１５にて、フューエルカット運転フラグXFCの値が「１」であるか否かを判定する。上記初期設定仮定に従えば、現時点におけるフューエルカット運転フラグXFCの値は「０」であるので、ＣＰＵ７１は、ステップ５１５にて「Ｎｏ」と判定する。その後、ＣＰＵ７１は、ステップ５９５に進んで本ルーチンを一旦終了する。
【０１３５】
さらに、ＣＰＵ７１は、所定時間が経過する毎に、図６にフローチャートによって示した「触媒温度推定ルーチン」を繰り返し実行するようになっている。ＣＰＵ７１は、このルーチンにより、燃料噴射気筒から排出されるガスが導入される触媒の温度TempCを取得（推定）する。なお、触媒の温度TempCは、後述されるメインフィードバック制御ルーチンにおいて用いられる。
【０１３６】
具体的に述べると、ＣＰＵ７１は、特定のタイミングにて図６のステップ６００から処理を開始してステップ６１０に進み、現時点が機関１０の始動直後であるか否かを判定する。
【０１３７】
現時点が機関１０の始動直後である場合、ＣＰＵ７１は、ステップ６１０にて「Ｙｅｓ」と判定してステップ６２０に進む。ＣＰＵ７１は、ステップ６２０にて、「始動時冷却水温THWSと、触媒温度TempCと、の関係」をあらかじめ定めた始動時触媒温度推定関数f（THWS）に、現時点における冷却水温THWSを適用することにより、現時点における触媒の温度TempCを取得（推定）する。
【０１３８】
始動時触媒温度推定関数f（TWS）において、触媒の温度TempCは、始動時冷却水温THWSが増大するにつれて増大するように定められる。
【０１３９】
次いで、ＣＰＵ７１は、ステップ６３０に進む。ＣＰＵ７１は、ステップ６３０にて、「筒内吸入空気量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は、筒内吸入空気量Mcおよび機関回転速度NEに基づいて取得（推定）される。すなわち、第１装置において、第１の気筒群に属する気筒から排出されるガスが導入される触媒４３ａの温度、および、第２の気筒群に属する気筒から排出されるガスが導入される触媒４３ｂの温度、は、同一であると仮定されている。
【０１４５】
さらに、ＣＰＵ７１は、燃料噴射気筒のクランク角度が吸気行程前の特定のクランク角度（例えば、排気上死点前６０度クランク角度）θｇに一致する毎に、図７にフローチャートによって示した「燃料噴射制御ルーチン」を繰り返し実行するようになっている。ＣＰＵ７１は、このルーチンにより、最終燃料噴射量Fiを決定するとともに、その最終燃料噴射量Fiだけの燃料をインジェクタ２２から噴射させる。
【０１４６】
具体的に述べると、ＣＰＵ７１は、特定のタイミングにて図７のステップ７００から処理を開始してステップ７１０に進み、フューエルカット運転フラグXFCの値が「０」であるか否かを判定する。上記初期設定仮定に従えば、現時点におけるフューエルカット運転フラグXFCの値は「０」であるので、ＣＰＵ７１は、ステップ７１０にて「Ｙｅｓ」と判定してステップ７２０に進む。
【０１４７】
ＣＰＵ７１は、ステップ７２０にて、リッチ運転フラグXRICHの値が「０」であるか否かを判定する。上記初期設定仮定に従えば、現時点におけるリッチ運転フラグXRICHの値は「０」であるので、ＣＰＵ７１は、ステップ７２０にて「Ｙｅｓ」と判定してステップ７３０に進む。
【０１４８】
ＣＰＵ７１は、ステップ７３０にて、上流側目標空燃比abyfr（k）に「理論空燃比stoich」を格納する。次いで、ＣＰＵ７１は、ステップ７３０に続くステップ７４０〜ステップ７６０の処理を、この順に実行する。ステップ７４０〜ステップ７６０にて実行される処理は、以下の通りである。
【０１４９】
ステップ７４０：ＣＰＵ７１は、吸入空気量Gaと機関回転速度NEとに基づき、燃料噴射気筒に吸入される空気の量である筒内吸入空気量Mc（k）を取得する。
ステップ７５０：ＣＰＵ７１は、上記（３）式に従い、基本燃料噴射量Fbaseを算出する。
ステップ７６０：ＣＰＵ７１は、上記（４）式に従い、基本燃料噴射量Fbaseをメインフィードバック量DFiによって補正することにより、最終燃料噴射量Fiを算出する。
【０１５０】
次いで、ＣＰＵ７１は、ステップ７７０に進む。ＣＰＵ７１は、ステップ７７０にて、最終燃料噴射量Fiの燃料を噴射するよう、燃料噴射気筒に設けられているインジェクタ２２に指示を与える。その後、ＣＰＵ７１は、ステップ７９５に進んで本ルーチンを一旦終了する。
【０１５１】
このように、上述した各処理によって最終燃料噴射量Fiが算出されるとともに、その最終燃料噴射量Fiだけの燃料が燃料噴射気筒に噴射される。これにより、上流側目標空燃比abyfrが理論空燃比stoichに設定された運転（通常運転）が実行される。
【０１５２】
ところで、ＣＰＵ７１は、ＣＰＵ７１が図７の「燃料噴射制御ルーチン」を実行する前の所定の時点にて、図８にフローチャートによって示した「メインフィードバック量算出ルーチン」を実行するようになっている。ＣＰＵ７１は、このルーチンにより、メインフィードバック量DFiを算出する。
【０１５３】
具体的に述べると、ＣＰＵ７１は、特定のタイミングにて図８のステップ８００から処理を開始してステップ８０５に進み、メインフィードバック制御を行うための条件である「メインフィードバック制御条件」が成立するか否かを判定する。より具体的に述べると、ＣＰＵ７１は、ステップ８０５にて、下記条件ｂ−１〜ｂ−５の全てが成立したとき、メインフィードバック制御条件が成立すると判定する。換言すると、ＣＰＵ７１は、下記条件ｂ−１〜ｂ−５のうちの少なくとも１つが成立しないとき、メインフィードバック制御条件が成立しないと判定する。
【０１５４】
（条件ｂ−１）触媒の温度TempCが所定の閾値以上である。
（条件ｂ−２）冷却水温THWが所定の閾値以上である。
（条件ｂ−３）吸入空気量Gaが所定の閾値以下ある。
（条件ｂ−４）燃料噴射気筒に対応する上流側酸素濃度センサが活性化している。
（条件ｂ−５）フューエルカット運転が実行中ではない。
【０１５５】
条件ｂ−１に係る閾値は、触媒が活性化していると判断され得る適値に設定される。条件ｂ−２に係る閾値は、機関１０の暖機が完了していると判断され得る適値に設定される。条件ｂ−３に係る閾値は、機関１０の負荷が過大ではないと判断され得る適値に設定される。条件ｂ−４は、メインフィードバック制御にて上流側酸素濃度センサの出力値Vabyfsが用いられるために設けられている条件である。条件ｂ−５は、フューエルカット運転中は燃料噴射量を変化させることができないために設けられている条件である。よって、例えば、機関１０が暖機運転されている期間中、および、フューエルカット運転が実行されている期間中においては、メインフィードバック制御条件は成立しない。
【０１５６】
現時点においてメインフィードバック制御条件が「成立しない」場合、ＣＰＵ７１は、ステップ８０５にて「Ｎｏ」と判定してステップ８１０に進む。ＣＰＵ７１は、ステップ８１０にて、メインフィードバック量DFiにゼロを格納する。
【０１５７】
次いで、ＣＰＵ７１は、ステップ８１５に進む。ＣＰＵ７１は、ステップ８１５にて、筒内燃料供給量偏差DFcの積分値SDFcにゼロを格納する。その後、ＣＰＵ７１は、ステップ８９５に進んで本ルーチンを一旦終了する。
【０１５８】
このように、メインフィードバック制御条件が成立しない場合、メインフィードバック量DFiはゼロに設定される。そのため、この場合、上述した「メインフィードバック量DFiによる基本燃料噴射量Fbaseの補正」は行われない（図７のステップ７６０を参照。）。
【０１５９】
さらに、ＣＰＵ７１は、ＣＰＵ７１が図８の「メインフィードバック量算出ルーチン」を実行する前の所定の時点にて、図９にフローチャートによって示した「サブフィードバック量算出ルーチン」を実行するようになっている。ＣＰＵ７１は、このルーチンにより、サブフィードバック量Vafsfbを算出する。
【０１６０】
具体的に述べると、ＣＰＵ７１は、特定のタイミングにて図９のステップ９００から処理を開始してステップ９１０に進み、サブフィードバック制御を行うための条件である「サブフィードバック制御条件」が成立しているか否かを判定する。より具体的に述べると、ＣＰＵ７１は、ステップ９１０にて、下記条件ｃ−１〜ｃ−３の全てが成立したとき、サブフィードバック制御条件が成立すると判定する。換言すると、ＣＰＵ７１は、下記条件ｃ−１〜ｃ−３のうちの少なくとも１つが成立しないとき、サブフィードバック制御条件が成立しないと判定する。
【０１６１】
（条件ｃ−１）メインフィードバック条件が成立している。
（条件ｃ−２）上流側目標空燃比abyfrが理論空燃比stoichに設定されている。
（条件ｃ−３）燃料噴射気筒に対応する下流側酸素濃度センサが活性化している。
【０１６２】
条件ｃ−１および条件ｃ−２は、サブフィードバック制御は通常運転が実行されている際にメインフィードバック制御とともに実行される制御であるために設けられている条件である。条件ｃ−３は、サブフィードバック制御にて下流側酸素濃度センサの出力値Voxsが用いられるために設けられている条件である。よって、例えば、機関１０が暖機運転されている期間中、フューエルカット運転が実行されている期間中、ならびに、リッチ運転が実行されている期間中においては、サブフィードバック制御条件は成立しない。
【０１６３】
上述したように現時点においてメインフィードバック制御条件が成立しない場合、サブフィードバック制御条件は成立しない（条件ｃ−１を参照。）。そのため、この場合、ＣＰＵ７１は、ステップ９１０にて「Ｎｏ」と判定してステップ９２０に進む。ＣＰＵ７１は、ステップ９２０にて、サブフィードバック量Vafsfbにゼロを格納する。
【０１６４】
次いで、ＣＰＵ７１は、ステップ９３０に進む。ＣＰＵ７１は、ステップ９３０にて、出力偏差量DVoxsの積分値SDVoxsにゼロを格納する。その後、ＣＰＵ７１は、ステップ９９５に進んで本ルーチンを一旦終了する。
【０１６５】
このように、サブフィードバック制御条件が成立しない場合、サブフィードバック量Vafsfbはゼロに設定される。そのため、この場合、後述する「サブフィードバック量Vafsfbによる上流側酸素濃度センサの出力値Vabyfsの補正」は行われない（図８のステップ８２０を参照。）。
【０１６６】
以上にて述べたように、現時点においてメインフィードバック制御条件が「成立しない」場合、メインフィードバック量DFiがゼロに設定されるとともに、サブフィードバック量Vafsfbがゼロに設定される。そのため、吸入空気量Ga、機関回転速度NEおよび上流側目標空燃比abyfr（理論空燃比stoichに設定されている。）に基づいて定められる基本燃料噴射量Fbaseの燃料が、燃料噴射気筒に噴射される（図７のステップ７３０〜ステップ７７０を参照。）。
【０１６７】
これに対し、現時点においてメインフィードバック制御条件が「成立する」場合、ＣＰＵ７１は、図８のステップ８０５にて、「Ｙｅｓ」と判定する。次いで、ＣＰＵ７１は、ステップ８０５に続くステップ８２０〜ステップ８５０の処理を、この順に実行する。ステップステップ８２０〜ステップ８５０にて実行される処理は、以下の通りである。
【０１６８】
ステップ８２０：ＣＰＵ７１は、上記（１）式に従い、フィードバック制御用出力値Vabyfcを算出する。なお、上述したように、現時点におけるサブフィードバック量Vafsfbはゼロである。
ステップ８２５：ＣＰＵ７１は、上記（２）式に従い、フィードバック制御用空燃比abyfscを決定する。
ステップ８３０：ＣＰＵ７１は、上記（５）式に従い、現時点よりもNサイクル前の時点における筒内燃料供給量Fc（k−N）を算出する。
ステップ８３５：ＣＰＵ７１は、上記（６）式に従い、現時点よりもNサイクル前の時点における目標筒内燃料供給量Fcr（k−N）を算出する。
ステップ８４０：ＣＰＵ７１は、上記（７）式に従い、筒内燃料供給量偏差DFcを算出する。
ステップ８４５：ＣＰＵ７１は、上記（８）式に従い、メインフィードバック量DFiを算出する。第１装置において、係数KFBとして「１」が採用される。筒内燃料供給量偏差DFcの積分値SDFcは、現時点までの筒内燃料供給量偏差DFcの値が積算された値である（下記ステップ８５０を参照。）。
ステップ８５０：ＣＰＵ７１は、現時点における筒内燃料供給量偏差DFcの積分値SDFcにステップ８４０にて取得された筒内燃料供給量偏差DFcを加算することにより、新たな筒内燃料供給量偏差の積分値SDFcを算出（更新）する。
【０１６９】
ステップ８５０の処理を実行した後、ＣＰＵ７１は、ステップ８９５に進んで本ルーチンを一旦終了する。これにより、メインフィードバック量DFiが比例積分制御により算出される（ステップ８４５を参照。）。そして、このメインフィードバック量DFiを用いて最終燃料噴射量Fiが補正される（図７のステップ７６０を参照。）。
【０１７０】
さらに、ＣＰＵ７１は、図９のステップ９１０にて、サブフィードバック制御条件が成立しなければ「Ｎｏ」と判定し、ステップ９２０およびステップ９３０を経由してステップ９９５に進み、本ルーチンを一旦終了する。この場合、上述したように、サブフィードバック量Vafsfbは算出されない。
【０１７１】
一方、サブフィードバック制御条件が成立すれば、ＣＰＵ７１は、ステップ９１０にて「Ｙｅｓ」と判定する。次いで、ＣＰＵ７１は、ステップ９１０に続くステップ９４０〜ステップ９６０の処理を、この順に実行する。ステップ９４０〜ステップ９６０にて実行される処理は、以下の通りである。
【０１７２】
ステップ９４０：ＣＰＵ７１は、上記（９）式に従い、出力偏差量DVoxsを算出する。第１装置においては、触媒５３の排ガス浄化性能を考慮し、下流側目標出力値Voxsrefとして理論空燃比よりもわずかにリッチ側の空燃比に対応する値が採用される。
ステップ９５０：ＣＰＵ７１は、上記（１０）式に従い、サブフィードバック量Vafsfbを算出する。第１装置において、比例ゲインKpおよび積分ゲインKiとして、所定の適値が採用される。
ステップ９６０：ＣＰＵ７１は、現時点における出力偏差量の積分値SDVoxsにステップ９４０にて取得した出力偏差量DVoxsを加算することにより、新たな出力偏差量の積分値SDVoxsを算出（更新）する。
【０１７３】
ステップ９６０の処理を実行した後、ＣＰＵ７１は、ステップ９９５に進んで本ルーチンを一旦終了する。これにより、サブフィードバック量Vafsfbが比例積分制御によって算出される（ステップ９５０を参照。）。そして、このサブフィードバック量Vafsfbを用いて上流側酸素濃度センサの出力値Vabyfsが補正される（図８のステップ８２０を参照。）。さらに、補正されたフィードバック制御用出力値Vabyfcに基づいてメインフィードバック量DFiが算出されるとともに（図８のステップ８４５を参照。）、このメインフィードバック量DFiを用いて最終燃料噴射量Fiが補正される（図７のステップ７６０を参照。）。
以上が、フューエルカット制御条件が「成立しない」場合の各ルーチンにおける処理である。
【０１７４】
２．フューエルカット制御条件が「成立する」場合
この場合、ＣＰＵ７１は、図５のステップ５０５を経由してステップ５１０に進むと、ステップ５１０にて「Ｙｅｓ」と判定してステップ５２０に進む。ＣＰＵ７１は、ステップ５２０にて、フューエルカット運転フラグXFCの値に「１」を格納する。
【０１７５】
次いで、ＣＰＵ７１は、ステップ５２５に進む。ＣＰＵ７１は、ステップ５２５にて、触媒の酸素吸蔵量OSAに最大酸素吸蔵量Cmaxを格納する。これは、フューエルカット運転中に触媒に多量の空気（リーン空燃比のガス）が導入されることにより、触媒の酸素吸蔵量OSAが最大酸素吸蔵量Cmaxに到達すると考えられるからである。その後、ＣＰＵ７１は、ステップ５９５に進んで本ルーチンを一旦終了する。
【０１７６】
さらに、ＣＰＵ７１は、図７のステップ７１０に進むと、現時点におけるフューエルカット運転フラグXFCの値は「１」であるので、ステップ７１０にて「Ｎｏ」と判定してステップ７８０に進む。ＣＰＵ７１は、ステップ７８０にて、最終燃料噴射量Fiにゼロを格納する。
【０１７７】
次いで、ＣＰＵ７１は、ステップ７７０に進む。現時点における最終燃料噴射量Fiはゼロであるので、燃料は噴射されない。その後、ＣＰＵ７１は、ステップ７９５に進んで本ルーチンを一旦終了する。
【０１７８】
このように、フューエルカット制御条件が成立する場合、最終燃料噴射量Fiがゼロに設定される。これにより、燃料噴射気筒への燃料の供給が中断される運転（フューエルカット運転）が実行される。
【０１７９】
なお、この場合、メインフィードバック制御条件およびサブフィードバック制御条件が成立しないため（上述した条件ｂ−５および条件ｃ−１を参照。）、メインフィードバック量DFiによる基本燃料噴射量Fbaseの補正、および、サブフィードバック量Vafsfbによる上流側酸素濃度センサの出力値Vabyfsの補正、は行われない。
以上が、フューエルカット制御条件が「成立する」場合の各ルーチンにおける処理である。
【０１８０】
上述したようにフューエルカット運転が開始されると、フューエルカット制御条件が成立している限りフューエルカット運転が継続される。そして、フューエルカット運転中にフューエルカット制御条件が成立しないことになると、フューエルカット運転が終了される。以下、フューエルカット運転が終了された後に行われる「リッチ制御」が説明される。
【０１８１】
具体的に述べると、フューエルカット制御条件が成立している限り、ＣＰＵ７１は、図５のステップ５０５、ステップ５１０、ステップ５２０およびステップ５２５の処理を繰り返す。これにより、フューエルカット運転が継続される。そして、ＣＰＵ７１は、フューエルカット運転中にフューエルカット制御条件が成立しないこととなったとき、ステップ５１０にて「Ｎｏ」と判定し、ステップ５１５に進む。
【０１８２】
現時点におけるフューエルカット運転フラグXFCは未だに「１」であるので、ＣＰＵ７１は、ステップ５１５にて「Ｙｅｓ」と判定してステップ５３０に進む。ＣＰＵ７１は、ステップ５３０にて、フューエルカット運転フラグXFCの値に「０」を格納する。
【０１８３】
次いで、ＣＰＵ７１は、ステップ５３５に進む。ＣＰＵ７１は、ステップ５３５にて、リッチ運転フラグXRICHの値に「１」を格納する。その後、ＣＰＵ７１は、ステップ５９５に進んで本ルーチンを一旦終了する。
【０１８４】
さらに、ＣＰＵ７１は、図７のステップ７１０に進むと、現時点におけるフューエルカット運転フラグXFCの値は「０」であるので、ステップ７１０にて「Ｙｅｓ」と判定してステップ７２０に進む。現時点におけるリッチ運転フラグXRICHの値は「１」であるので、ＣＰＵ７１は、ステップ７２０にて「Ｎｏ」と判定し、ステップ７９０に進む。
【０１８５】
ＣＰＵ７１は、ステップ７９０にて、「図１０に示されるルーチン」を実行する。ＣＰＵ７１は、図１０に示すルーチンにより、リッチ制御を開始するタイミング（第１時点または第２時点）を、燃料噴射気筒に応じて（燃料噴射気筒が第１の気筒群および第２の気筒群のいずれに属するか、に応じて）調整する。
【０１８６】
ここで、第１の気筒群に属する気筒には気筒群番号CYL_GRとして「１」が関連付けられており、第２の気筒群に属する気筒には気筒群番号CYL_GRとして「２」が関連付けられている。ＣＰＵ７１は、この気筒群番号CYL_GRを確認することにより、燃料噴射気筒が第１の気筒群および第２の気筒群のいずれに属するかを確認する。
【０１８７】
具体的に述べると、ＣＰＵ７１は、図１０のステップ１０００から処理を開始すると、ステップ１０１０に進む。ＣＰＵ７１は、ステップ１０１０にて、燃料噴射気筒に関連付けられている気筒群番号CYL_GRが「１」であるか否か（すなわち、燃料噴射気筒が第１の気筒群に属する気筒であるか否か）を判定する。
【０１８８】
現時点における燃料噴射気筒の気筒群番号CYL_GRが「１」である場合、ＣＰＵ７１は、ステップ１０１０にて「Ｙｅｓ」と判定し、ステップ１０２０に進む。ＣＰＵ７１は、ステップ１０２０にて、上流側目標空燃比abyfr（ｋ）にリッチ空燃比richを格納する。その後、ＣＰＵ７１は、ステップ１０９５に進んで本ルーチンを一旦終了する。そして、ＣＰＵ７１は、図７のルーチンに戻る。
【０１８９】
ＣＰＵ７１は、図７のルーチンに戻ると、ステップ７９０に続くステップ７４０〜ステップ７７０の処理を実行する。具体的に述べると、混合気の空燃比が上流側目標空燃比（リッチ空燃比richに設定されている。）に一致するように基本燃料噴射量Fbaseが算出されるとともに（ステップ７５０）、その基本燃料噴射量Fbaseがメインフィードバック量DFiによって補正されて最終燃料噴射量Fiが算出される（ステップ７６０）。そして、最終燃料噴射量Fiの燃料が燃料噴射気筒に供給される（ステップ７７０）。
【０１９０】
このように、燃料噴射気筒の気筒群番号CYL_GRが「１」である場合（燃料噴射気筒が第１の気筒群に属する場合）、図１０に示すルーチンにおいて「即座に」上流側目標空燃比abyfr（ｋ）がリッチ空燃比richに設定される（図１０のステップ１０１０およびステップ１０２０）。これにより、フューエルカット運転が終了された後、上流側目標空燃比abyfrがリッチ空燃比richに設定された運転（リッチ運転）が「即座に」実行されることになる。
【０１９１】
これに対し、現時点における燃料噴射気筒の気筒群番号CYL_GRが「１」ではない場合（すなわち、気筒群番号CYL_GRが「２」である場合）、ＣＰＵ７１は、ステップ１０１０にて「Ｎｏ」と判定してステップ１０３０に進む。ＣＰＵ７１は、ステップ１０３０にて、現時点におけるクランク角度CAを基準クランク角度CArefに格納する。
【０１９２】
次いで、ＣＰＵ７１は、ステップ１０４０に進む。ＣＰＵ７１は、ステップ１０４０にて、現時点のクランク角度CAが「基準クランク角度CArefと、待機クランク角度CAwaitと、の和」に一致するか否かを判定する。待機クランク角度CAwaitは、第１の気筒群に属する気筒においてリッチ制御が開始される時点（第１時点）が含まれる燃料供給サイクルと、第２の気筒群に属する気筒においてリッチ制御が開始される時点（第２時点）が含まれる燃料供給サイクルと、が互いに異なるような適値に、設定されている。
【０１９３】
現時点のクランク角度CAは基準クランク角度CArefと同一であるので（ステップ１０３０を参照。）、ＣＰＵ７１は、ステップ１０４０にて「Ｎｏ」と判定する。その後、ＣＰＵ７１は、クランク角度CAが「基準クランク角度CArefと待機クランク角度CAwaitとの和」に一致するまで、ステップ１０４０の処理を繰り返す。すなわち、ＣＰＵ７１は、現時点のクランク角度CAが基準クランク角度CArefに格納されてから（実質的には図１０のルーチンが開始されてから）、クランク角度CAが待機クランク角度CAwaitだけ変化するまで、ステップ１０４０にて待機する。
【０１９４】
その後、現時点のクランク角度CAが「基準クランク角度CArefと待機クランク角度CAwaitとの和」に到達すると、ＣＰＵ７１は、ステップ１０４０にて「Ｙｅｓ」と判定してステップ１０２０に進む。そして、ＣＰＵ７１は、ステップ１０２０にて、上流側目標空燃比abyfr（ｋ）にリッチ空燃比richを格納する。その後、図７のルーチンにおいて、混合気の空燃比が上流側目標空燃比abyfr（リッチ空燃比rich）に一致するように、最終燃料噴射量Fiの燃料が燃料噴射気筒に供給される（ステップ７７０）。
【０１９５】
このように、燃料噴射気筒の気筒群番号CYL_GRが「２」である場合（燃料噴射気筒が第２の気筒群に属する場合）、図１０に示すルーチンにおいて「待機クランク角度CAwaitだけ待機された後に」上流側目標空燃比abyfr（ｋ）がリッチ空燃比richに設定される（図１０のステップ１０３０およびステップ１０４０、ならびに、ステップ１０２０）。これにより、フューエルカット運転が終了された後、「第１の気筒群に属する気筒においてリッチ制御が開始される時点が含まれる燃料供給サイクルとは異なる燃料供給サイクルにおいて開始されるように」リッチ運転が実行されることになる。換言すると、第１の気筒群に属する気筒においてリッチ制御が開始される時点が含まれる燃料供給サイクルと、第２の気筒群に属する気筒においてリッチ制御が開始される時点が含まれる燃料供給サイクルと、が互いに異なるように、リッチ制御が開始される時点（第１時点および第２時点）が設定されることになる。
【０１９６】
上述したようにリッチ運転が開始されると、リッチ運転フラグXRICHが「１」である限りリッチ運転が継続される。そして、リッチ運転中にリッチ運転フラグXRICHが「０」に設定されると、リッチ運転が終了される。
【０１９７】
具体的に述べると、ＣＰＵ７１は、リッチ運転中に図５のステップ５０５に進むと、現時点におけるリッチ運転フラグXRICHの値は「１」であるので、ステップ５０５にて「Ｎｏ」と判定する。
【０１９８】
ＣＰＵ７１は、ステップ５０５に続くステップ５４０およびステップ５４５にて、触媒の酸素吸蔵量OSAを算出する。すなわち、ＣＰＵ７１は、ステップ５４０にて、下記（１２）式に従い、触媒の酸素吸蔵量OSAの変化量ΔO2を算出する。下記（１２）式において、数値０．２３は標準状態における空気の酸素濃度（重量パーセント濃度）を、Fiは現時点の直前の時点における最終燃料噴射量Fiを、richはリッチ空燃比を、stoichは理論空燃比を、表す。なお、周知のように、標準状態とは、温度がゼロ℃（２７３．１５Ｋ）であり且つ圧力が１ｂａｒ（１０５Ｐａ）である状態を意味する。
【０１９９】
ΔO2＝0.23×Fi×（rich−stoich）    ・・・（１２）
【０２００】
上記（１２）式の右辺から明らかなように、上記（１２）式により、「単位時間当たりに触媒に導入される排ガスに含まれる酸素量を、理論空燃比の排ガスに含まれる酸素量を基準として表した値ΔO2」が算出される。なお、リッチ空燃比richの値は理論空燃比stoichの値よりも小さいので、ΔO2は負の数である。
【０２０１】
より簡便に述べると、ΔO2は、「理論空燃比の排ガスに含まれる酸素量を基準とする酸素の不足量」を表す値である。換言すると、ΔO2（負の値）は、単位時間当たりに触媒から「放出」される酸素量を表す。
【０２０２】
次いで、ＣＰＵ７１は、ステップ５４５にて、下記（１３）式に従い、触媒の酸素吸蔵量OSAを算出する。なお、ステップ５４５が初めて実行されるときの触媒の酸素吸蔵量OSAは、最大酸素吸蔵量Cmaxである（ステップ５２５を参照。）。
【０２０３】
OSA＝OSA＋ΔO2    ・・・（１３）
【０２０４】
上述したように、ΔO2は負の値である。そのため、上記（１３）式により、最大酸素吸蔵量CmaxからΔO2だけ減算されて得られる酸素吸蔵量が、新たな酸素吸蔵量OSAとして算出（更新）される。
【０２０５】
次いで、ＣＰＵ７１は、ステップ５５０に進む。ＣＰＵ７１は、ステップ５５０にて、触媒の酸素吸蔵量OSAが所定の閾値OSAthよりも小さいか否かを判定する。閾値OSAthは、触媒の排ガス浄化性能などを考慮した適値（例えば、最大酸素吸蔵量Cmaxの半分の値）に設定されている。
【０２０６】
現時点における酸素吸蔵量OSAが「閾値OSAth以上」である場合、ＣＰＵ７１は、ステップ５５０にて「Ｎｏ」と判定し、ステップ５９５に進んで本ルーチンを一旦終了する。この場合、リッチ運転フラグXRICHの値は「１」に維持される。そして、図７〜図１０のルーチンが実行されることにより、リッチ運転が継続される。
【０２０７】
一方、現時点における酸素吸蔵量OSAが「閾値OSAthよりも小さい」場合、ＣＰＵ７１は、ステップ５５０にて「Ｙｅｓ」と判定して、ステップ５５５に進む。ＣＰＵ７１は、ステップ５５５にて、リッチ運転フラグXRICHの値に「０」を格納する。
【０２０８】
次いで、ＣＰＵ７１は、ステップ５１０に進む。現時点にてフューエルカット制御条件が成立していなければ（リッチ制御が実行されている期間中であるので、一般に、フューエルカット制御条件は成立しない。）、ＣＰＵ７１は、ステップ５１０にて「Ｎｏ」と判定し、ステップ５１５に進む。さらに、現時点におけるフューエルカット運転フラグXFCの値は「０」であるので、ＣＰＵ７１は、ステップ５１５にて「Ｎｏ」と判定する。その後、ＣＰＵ７１は、ステップ５９５に進んで本ルーチンを一旦終了する。
【０２０９】
次いで、ＣＰＵ７１は、図７のステップ７００から処理を開始すると、現時点におけるフューエルカット運転フラグXFCおよびリッチ運転フラグXRICHの値は「０」であるので、ステップ７１０およびステップ７２０にて「Ｙｅｓ」と判定し、ステップ７３０に進む。ＣＰＵ７１は、ステップ７３０にて上流側目標空燃比abyfr（ｋ）に理論空燃比stoichを格納する。その後、ステップ７４０〜ステップ７７０の処理が実行されることにより、通常運転が再開される。
【０２１０】
このように、触媒の酸素吸蔵量OSAが所定の閾値OSAthよりも小さくなるまで、リッチ運転が継続される。そして、触媒の酸素吸蔵量OSAが閾値OSAthよりも小さくなると、通常運転が再開される。
【０２１１】
以上に説明したように、第１装置は、フューエルカット運転が終了されて燃焼室への燃料の供給が再開されるときに「リッチ制御」を行う。第１装置は、第１の気筒群に属する気筒においてリッチ制御が開始される時点（第１時点）が含まれる燃料供給サイクルと、第２の気筒群に属する気筒においてリッチ制御が開始される時点（第２時点）が含まれる燃料供給サイクルと、が異なるように、それら時点（第１時点および第２時点）を設定する。
以上が、第１装置についての説明である。
【０２１２】
（第２実施形態）
次に、上記第１装置（第１時点が含まれる燃料供給サイクルと第２時点が含まれる燃料供給サイクルとが異なるように、第１時点および第２時点が設定される。）の一の具体例として、「触媒の劣化度に基づいてリッチ制御を開始する時点が設定される」実施形態が、説明される。
【０２１３】
この実施形態に係る制御装置（以下、「第２装置」とも称呼される。）は、第１装置が適用される機関１０と同様の構成を有する機関（図１を参照。以下、便宜上、「機関１０」とも称呼される。）に適用される。
【０２１４】
＜装置の作動の概要＞
以下、機関１０に適用される第２装置の作動の概要が、図１１を参照しながら説明される。図１１は、第２装置の作動の概要を示す「概略フローチャート」である。
【０２１５】
第２装置が適用される機関１０においては、特定の条件が成立する場合に「フューエルカット運転」が行われるとともに、フューエルカット運転が終了されて燃焼室への燃料の供給が再開されるときに「リッチ制御」が行われる。第２装置は、触媒４３ａ，４３ｂの劣化度に基づき、複数の燃焼室のうちの一の燃焼室（第１の燃焼室）においてリッチ制御が開始される第１時点が含まれる燃料供給サイクルと、他の燃焼室（第２の燃焼室）においてリッチ制御が開始される第２時点が含まれる燃料供給サイクルと、が異なるように第１時点および第２時点を設定する。
【０２１６】
具体的に述べると、第２装置は、図１１のステップ１１１０にて、フューエルカット制御条件（第１装置と同様）が成立しているか否かを判定する。フューエルカット制御条件が成立する場合、第２装置は、ステップ１１１０にて「Ｙｅｓ」と判定してステップ１１２０に進む。これにより、フューエルカット運転が行われる。
【０２１７】
第２装置は、フューエルカット運転中にもフューエルカット制御条件が成立するか否かを判定し続ける。そして、フューエルカット運転中にフューエルカット制御条件が成立しなくなった場合、第２装置は、ステップ１１１０にて「Ｎｏ」と判定する。さらに、第１装置は、ステップ１１３０にて「Ｙｅｓ」と判定する。
【０２１８】
次いで、第２装置は、ステップ１１４０に進み、触媒４３ａ，４３ｂの劣化度を取得する（劣化度の取得方法は後述される。）。そして、第２装置は、ステップ１１５０にて、触媒４３ａ，４３ｂの劣化度に基づき、第１時点が含まれる燃料供給サイクルと第２時点が含まれる燃料供給サイクルとが異なるように、第１時点および第２時点を決定する。
【０２１９】
次いで、第２装置は、ステップ１１６０に進む。これにより、第１時点において第１の燃焼室にて、リッチ制御が開始される。その後、第２装置は、ステップ１１７０に進む。これにより、第２時点において第２の燃焼室にて、リッチ制御が開始される。
【０２２０】
なお、フューエルカット運転が行われていないとき、第２装置は、ステップ１１１０およびステップ１１３０にて「Ｎｏ」と判定し、ステップ１１８０に進む。これにより、通常運転（例えば、混合気の空燃比が理論空燃比である運転）が行われる。
【０２２１】
以上に説明したように、第２装置は、触媒４３ａ，４３ｂの劣化度に基づき、第１の気筒群に属する気筒においてリッチ制御が開始される時点（第１時点）、および、第２の気筒群に属する気筒においてリッチ制御が開始される時点（第２時点）、を設定する。
【０２２２】
触媒による排ガスの浄化性能は、種々の理由によって低下する場合がある。内燃機関が複数の触媒を備える場合、エミッション排出量を低減する観点から、それら複数の触媒の劣化の度合いが出来る限り均一であることが望ましい。そのため、上述したように触媒４３ａ，４３ｂの劣化度に基づいて第１時点および第２時点が設定されることにより、触媒４３ａ，４３ｂの劣化度が出来る限り均一に維持され得るとともに、エミッション排出量が低減され得る。
【０２２３】
触媒４３ａ，４３ｂの劣化度に基づいて第１時点および第２時点を設定する具体的な方法としては、内燃機関の構成および触媒の特性などを考慮した種々の方法が採用され得る。そこで、第２装置の実際の作動のいくつかの具体的が、後述される実施形態として説明される。
以上が、第２装置についての説明である。
【０２２４】
（第３実施形態）
次に、上記第２装置の一の具体例として、「触媒の劣化度と、触媒の温度と、を考慮してリッチ制御を開始する時点が設定される」実施形態が、説明される。
【０２２５】
この実施形態に係る制御装置（以下、「第３装置」とも称呼される。）は、第１装置が適用される機関１０と同様の構成を有する機関（図１を参照。以下、便宜上、「機関１０」とも称呼される。）に適用される。
【０２２６】
＜触媒の劣化度の取得方法＞
以下、触媒の劣化度の取得方法が説明される。第３装置においては、「触媒４３ａの劣化度Dcata」および「触媒４３ｂの劣化度Dcatb」のそれぞれが個別に取得される。しかし、これら触媒のそれぞれについての劣化度の取得方法は、同一の考え方に従って行われるものである。そこで、以下、便宜上、これら触媒のそれぞれについての劣化度の取得方法が、触媒の区別なく説明される。具体的に述べると、例えば、以下の説明においては、触媒４３ａ，触媒４３ｂは「触媒４３」と総称され、劣化度Dcata，Dcatbは「劣化度Dcat」と総称される。
【０２２７】
１．最大酸素吸蔵量の取得
第３装置は、後述する「触媒劣化度取得条件」が成立するとき、触媒４３の劣化度Dcatを取得するための制御（以下、「触媒劣化度取得制御」とも称呼される。）を行う。この触媒劣化度取得制御が、図１２に示すタイムチャートを参照しながら説明される。
【０２２８】
図１２は、（ａ）上流側空燃比abyfsと、（ｂ）下流側酸素濃度センサ６７の出力値Voxsと、（ｃ）触媒４３の酸素吸蔵量OSAと、の関係を示すタイムチャートである。なお、図１２においては、理解が容易になるように、実際の各値の波形が模式化されたものが示されている。このタイムチャートにおける時刻t0においては、触媒に導入されるガスの空燃比（上流側空燃比abyfs）を理論空燃比stoichに一致させる「通常運転」が行われている。図１２に示す例においては、時刻t0における下流側酸素濃度センサ６７の出力値Voxsは最大出力値maxであり、酸素吸蔵量OSAはゼロ近傍の所定値である、と仮定されている。なお、この所定値は、時刻t0における運転に応じて定まる値である。
【０２２９】
時刻t1にて「触媒劣化度取得条件」が成立すると、「触媒劣化度取得制御」が開始される。具体的に述べると、第３装置は、時刻t1にて、触媒に導入されるガスの空燃比（上流側空燃比abyfs）がリーン空燃比leanとなるように機関１０を制御する。
【０２３０】
これにより、時刻t1において上流側空燃比abyfsはリーン空燃比leanとなる。このとき、リーン空燃比leanの排ガスが触媒４３に導入されるので、触媒４３はこの排ガスに含まれる過剰な酸素を吸蔵する。そのため、触媒４３の酸素吸蔵量OSAは、時刻t1以降において時間が経過するにつれて増大する。一方、このとき、触媒に導入されるガスに含まれる酸素の実質的に全てが消費されるので（排ガスの浄化に必要な量の酸素は触媒成分における酸化反応に用いられ、過剰な酸素は触媒４３に吸蔵されるので）、触媒排出ガスには酸素が実質的に含まれない。したがって、時刻t1以降においても、下流側酸素濃度センサ６７の出力値Voxsは最大出力値maxに維持される。
【０２３１】
なお、実際には、上流側空燃比abyfsがリーン空燃比leanとなる制御が開始されてから、リーン空燃比leanの排ガスが上流側酸素濃度センサ６６に達するまで、には特定の時間長さを要する。そのため、実際には、時刻t1からその特定の時間長さが経過した後の時点にて、触媒に導入されるガスの空燃比abyfsがリーン空燃比leanとなる。しかし、本説明においては、理解が容易になるように、触媒に導入されるガスの空燃比abyfsは時刻t1において瞬時にリーン空燃比leanとなる、と仮定されている。以下、同様に、「上流側空燃比abyfsを変更する制御が開始されてから、その変更に応じた空燃比の排ガスが上流側酸素濃度センサ６６に達するまで、の時間長さ」はゼロである、と仮定して説明を続ける。
【０２３２】
その後、時刻t2において、触媒４３の酸素吸蔵量OSAは最大酸素吸蔵量Cmaxに達する。このとき、触媒４３は触媒に導入されるガスに含まれる過剰な酸素を実質的に吸蔵することができないので、過剰な酸素は、触媒４３から排出される。よって、時刻t2において、下流側酸素濃度センサ６７の出力値Voxsはリーン空燃比leanを表す値（本例においては、最小出力値min）となる。
【０２３３】
時刻t2において、第３装置は、触媒に導入されるガスの空燃比（上流側空燃比abyfs）がリッチ空燃比richとなるように機関１０を制御する。
【０２３４】
これにより、時刻t2において上流側空燃比abyfsはリッチ空燃比richとなる。このとき、リッチ空燃比richの排ガスが触媒４３に導入されるので、触媒４３は吸蔵されている酸素を排ガスの酸化反応のために放出する。そのため、触媒４３の酸素吸蔵量OSAは、時刻t2以降において時間が経過するにつれて減少する。一方、このとき、触媒４３に吸蔵されている酸素によって上記酸化反応が行われるので、触媒に導入されるガスに含まれる酸素（未燃酸素）は、上記酸化反応のために用いられない。よって、触媒に導入されるガスに含まれる未燃酸素は、触媒排出ガス中に残存する。したがって、時刻t2以降においても、下流側酸素濃度センサ６７の出力値Voxsは最小出力値minに維持される。
【０２３５】
その後、時刻t3において、触媒４３の酸素吸蔵量OSAはゼロに達する。このとき、触媒に導入されるガスに含まれる未燃酸素の実質的に全てが排ガスの酸化反応のために用いられるので、触媒排出ガスには酸素が実質的に含まれない。したがって、時刻t3において、排ガスの空燃比はリッチ空燃比richを表す値（本例においては、最大出力値max）となる。
【０２３６】
時刻t3以降において、第３装置は「通常運転」を再開する。これにより、時刻t3以降、上流側空燃比abyfsは理論空燃比stoichとなる。なお、時刻t3以降における下流側酸素濃度センサ６７の出力値Voxsおよび触媒４３の酸素吸蔵量OSAは、機関１０の運転状態に応じた値となる。
【０２３７】
上述した運転を行った後、第３装置は、下記（１３）式および下記（１４）式に従い、触媒４３の最大酸素吸蔵量Cmaxを算出する。下記（１３）式において、数値０．２３は標準状態における空気の酸素濃度（重量パーセント濃度）を、Fsumは単位時間Δt内における燃料噴射量の積算値を、abyfsaveは上流側空燃比abyfsの単位時間Δt内の平均値を、stoichは理論空燃比を、表す。下記（１４）式において、同式の右辺はΔO2を時刻t2から時刻t3までの範囲において時間tについて積分した値の絶対値を表す。
【０２３８】
ΔO2＝0.23×Fsum×（abyfsave−stoich）    ・・・（１３）
Cmax＝｜Σ［t＝t2，t3］（ΔO2）｜    ・・・（１４）
【０２３９】
上記（１３）式の右辺から明らかなように、上記（１３）式により、「単位時間あたりに触媒４３に導入される排ガスに含まれる酸素量を、理論空燃比の排ガスに含まれる酸素量を基準として表した値ΔO2」が算出される。より簡便に述べると、ΔO2は、「理論空燃比の排ガスに含まれる酸素量を基準とする酸素の過剰量または不足量」を表す値である。なお、酸素量が過剰であればΔO2は正の値となり、酸素量が不足していればΔO2は負の値となる。換言すると、ΔO2が正の値であるときΔO2は単位時間あたりに触媒４３に「吸蔵」される酸素量を表し、ΔO2が負の値であるときΔO2は単位時間あたりに触媒４３から「放出」される酸素量を表す。
【０２４０】
したがって、上記（１４）式に示すように、時刻t2（酸素吸蔵量OSAが最大酸素吸蔵量Cmaxである時点）から時刻t3（酸素吸蔵量OSAがゼロである時点）までの範囲においてΔO2を時間tについて積分することにより、触媒４３の最大酸素吸蔵量Cmaxが算出される。
以上が、触媒４３の最大酸素吸蔵量Cmaxの取得方法である。
【０２４１】
２．触媒の劣化度の取得
第３装置は、上述したように取得された最大酸素吸蔵量Cmaxに基づき、触媒４３の劣化度Dcatを取得する。具体的に述べると、第３装置は、下記（１５）式に従い、触媒４３の劣化度Dcatを算出する。下記（１５）式において、Cmaxnewは、触媒４３が新品状態であるときの最大酸素吸蔵量を表す。Cmaxnewは、あらかじめ実験などによって取得され得る。
【０２４２】
Dcat＝1−（Cmax／Cmaxnew）    ・・・（１５）
【０２４３】
上記（１５）式の右辺から明らかなように、触媒４３が全く劣化していなければ（すなわち、CmaxとCmaxnewとが一致していれば）劣化度Dcatはゼロである。一方、触媒４３の劣化の度合いが大きくなるにつれて（すなわち、CmaxとCmaxnewとの差が大きくなるにつれて）劣化度Dcatは増大する。
以上が、触媒４３の劣化度Dcatの取得方法である。
【０２４４】
＜実際の作動＞
以下、第３装置の実際の作動が説明される。
第３装置において、ＣＰＵ７１は、フューエルカット運転制御のための図５、触媒温度推定のための図６、燃料噴射制御のための図７、メインフィードバック制御のための図８、サブフィードバック制御のための図９、触媒劣化度取得のための図１３、リッチ制御パラメータ取得のための図１４、および、リッチ制御のための図１５、に示した各ルーチンを特定のタイミング毎に繰り返し実行するようになっている。
【０２４５】
第３装置は、ＣＰＵ７１が、「図１３」および「図１４」に示すフローチャートを実行する点、および、図１０に示すフローチャートに代えて「図１５」に示すフローチャートを実行する点についてのみ、第１装置と相違している。そこで、以下、この相違点を中心として、ＣＰＵ７１が実行する各ルーチンが説明される。
【０２４６】
ＣＰＵ７１は、所定の時間が経過する毎に、図１３にフローチャートによって示した「触媒劣化度取得ルーチン」を繰り返し実行するようになっている。ＣＰＵ７１は、このルーチンにより、触媒４３ａの劣化度Dcataおよび触媒４３ｂの劣化度Dcatbを取得する。
【０２４７】
具体的に述べると、ＣＰＵ７１は、所定のタイミングにて図１３のステップ１３００から処理を開始し、ステップ１３１０に進む。ＣＰＵ７１は、ステップ１３１０にて、「触媒４３ａ，触媒４３ｂの劣化度Dcata，Dcatbを取得するための条件（触媒劣化度取得条件）」が成立しているか否かを判定する。より具体的に述べると、ＣＰＵ７１は、ステップ１３１０にて、以下の条件ｄ−１〜ｄ−３の全てが成立したとき、触媒劣化度取得条件が成立すると判定する。換言すると、ＣＰＵ７１は、条件ｄ−１〜ｄ−３のうちの少なくとも１つが成立しないとき、触媒劣化度取得条件が成立しないと判定する。
【０２４８】
（条件ｄ−１）冷却水の温度THWが所定の閾値以上である。
（条件ｄ−２）スロットル弁開度TAの単位時間あたりの変化量の絶対値が所定の閾値以下である。
（条件ｄ−３）図示されない車速センサによって取得される車速の単位時間あたりの変化量の絶対値が所定の閾値以下である。
【０２４９】
条件ｄ−１に係る閾値は、機関１０の暖機が完了していると判断し得る適値に設定される。条件ｄ−２および条件ｄ−３に係る閾値は、機関１０が定常運転されていると判断し得る適値に設定される。
【０２５０】
現時点において劣化度取得条件が成立しない場合、ＣＰＵ７１は、ステップ１３１０にて「Ｎｏ」と判定してステップ１３９５に直接進み、本ルーチンを一旦終了する。よって、劣化度取得条件が成立しない場合、触媒４３ａ，４３ｂの劣化度Dcata，Dcatbは取得されない。
【０２５１】
これに対し、現時点において劣化度取得条件が成立する場合、ＣＰＵ７１は、ステップ１３１０にて「Ｙｅｓ」と判定し、ステップ１３２０に進む。ＣＰＵ７１は、ステップ１３２０にて、上記（１３）式および上記（１４）式に従い、触媒４３ａの最大酸素吸蔵量Cmaxaおよび触媒４３ｂの最大酸素吸蔵量Cmaxbを取得する。
【０２５２】
次いで、ＣＰＵ７１は、ステップ１３３０に進む。ＣＰＵ７１は、ステップ１３３０にて、上記（１５）式に従い、現時点における触媒４３ａの最大酸素吸蔵量Cmaxaと、触媒４３ａが新品状態であるときの最大酸素吸蔵量Cmaxnewaと、に基づいて触媒４３ａの劣化度Dcataを取得する。同様に、ＣＰＵ７１は、現時点における触媒４３ｂの最大酸素吸蔵量Cmaxbと、触媒４３ｂが新品状態であるときの最大酸素吸蔵量Cmaxnewbと、に基づいて触媒４３ｂの劣化度Dcatbを取得する。なお、この最大酸素吸蔵量Cmaxnewa，Cmaxnewbは、あらかじめ実験などによって取得されるとともにＲＯＭ８２に格納されている。その後、ＣＰＵ７１は、ステップ１３９５に進み、本ルーチンを一旦終了する。
【０２５３】
さらに、ＣＰＵ７１は、第１装置と同様、図５〜図９のルーチンを実行する。これにより、フューエルカット制御条件（図５のステップ５１０）が成立しているとき、フューエルカット運転が実行される。そして、フューエルカット運転が終了された後、ＣＰＵ７１は、触媒４３ａ，４３ｂの劣化度を考慮しながらリッチ制御を行う。
【０２５４】
具体的に述べると、ＣＰＵ７１は、フューエルカット運転が終了されるとき（フューエルカット制御条件が成立しないことになったとき）、図７のステップ７９０にて、「図１４および図１５に示すルーチン」を実行する。ＣＰＵ７１は、図１４に示すルーチンにより、触媒４３ａ，４３ｂの劣化度Dcata，Dcatbなどに基づき、リッチ制御に用いられるパラメータ（燃料噴射気筒のリッチ制御順序番号）を決定する。さらに、ＣＰＵ７１は、図１５に示すルーチンにより、リッチ制御を開始するタイミング（第１時点または第２時点）を、燃料噴射気筒に応じて（燃料噴射気筒が第１の気筒群および第２の気筒群のいずれに属するか、に応じて）調整する。
【０２５５】
具体的に述べると、ＣＰＵ７１は、図１４のステップ１４００から処理を開始すると、ステップ１４１０に進む。ＣＰＵ７１は、ステップ１４１０にて、触媒４３ａの劣化度Dcataが触媒４３ｂの劣化度Dcatbよりも大きいか否かを判定する。
【０２５６】
以下、触媒４３ａの劣化度Dcataが触媒４３ｂの劣化度Dcatbよりも大きい場合、触媒４３ａの劣化度Dcataが触媒４３ｂの劣化度Dcatbよりも小さい場合、および、触媒４３ａの劣化度Dcataが触媒４３ｂの劣化度Dcatbと同一である場合、のそれぞれについて、図１４のルーチンにおける処理が説明される。
【０２５７】
１．触媒４３ａの劣化度Dcataが触媒４３ｂの劣化度Dcatbよりも大きい場合
この場合、ＣＰＵ７１は、ステップ１４１０にて「Ｙｅｓ」と判定し、ステップ１４２０に進む。ＣＰＵ７１は、ステップ１４２０にて、触媒４３ａの温度TempCaが閾値TempCathよりも高いか否かを判定する。現時点における触媒４３ａの温度TempCaが閾値TempCathよりも高い場合、ＣＰＵ７１は、ステップ１４２０にて「Ｙｅｓ」と判定し、ステップ１４３０に進む。ＣＰＵ７１は、ステップ１４３０にて、リッチ制御優先番号RICH_PRIに「１」を格納する。その後、ＣＰＵ７１は、ステップ１４９５に進んで本ルーチンを一旦終了する。
【０２５８】
一方、現時点における触媒４３ａの温度TempCaが閾値TempCath以下である場合、ＣＰＵ７１は、ステップ１４２０にて「Ｎｏ」と判定し、ステップ１４４０に進む。ＣＰＵ７１は、ステップ１４４０にて、リッチ制御優先番号RICH_PRIに「２」を格納する。その後、ＣＰＵ７１は、ステップ１４９５に進んで本ルーチンを一旦終了する。
【０２５９】
なお、リッチ制御優先番号RICH_PRIの値（１または２）は、「第１の気筒群に属する気筒におけるリッチ制御と、第２の気筒群に属する気筒におけるリッチ制御と、のいずれが優先されて（先に）開始されるか」を表す値（気筒群番号）である。すなわち、リッチ制御優先番号RICH_PRIの値が「１」である場合には第１の気筒群に属する気筒において優先的にリッチ制御が開始され、リッチ制御優先番号RICH_PRIの値が「２」である場合には第２の気筒群に属する気筒において優先的にリッチ制御が開始される。詳細については、後述される（図１５を参照。）。
【０２６０】
２．触媒４３ａの劣化度Dcataが触媒４３ｂの劣化度Dcatbよりも小さい場合
この場合、ＣＰＵ７１は、ステップ１４１０にて「Ｎｏ」と判定し、ステップ１４５０に進む。ＣＰＵ７１は、ステップ１４５０にて、触媒４３ａの劣化度Dcataが触媒４３ｂの劣化度Dcatbよりも小さいか否かを判定する。そして、ＣＰＵ７１は、ステップ１４５０にて「Ｙｅｓ」と判定し、ステップ１４６０に進む。
【０２６１】
ＣＰＵ７１は、ステップ１４６０にて、触媒４３ｂの温度TempCbが閾値TempCbthよりも高いか否かを判定する。現時点における触媒４３ｂの温度TempCbが閾値TempCbthよりも高い場合、ＣＰＵ７１は、ステップ１４６０にて「Ｙｅｓ」と判定し、ステップ１４４０に進み、リッチ制御優先番号RICH_PRIに「２」を格納する。
【０２６２】
一方、現時点における触媒４３ｂの温度TempCbが閾値TempCbth以下である場合、ＣＰＵ７１は、ステップ１４６０にて「Ｎｏ」と判定し、ステップ１４３０に進み、リッチ制御優先番号RICH_PRIに「１」を格納する。その後、ＣＰＵ７１は、ステップ１４９５に進んで本ルーチンを一旦終了する。
【０２６３】
３．触媒４３ａの劣化度Dcataが触媒４３ｂの劣化度Dcatbと同一である場合
この場合、ＣＰＵ７１は、ステップ１４１０およびステップ１４５０にて「Ｎｏ」と判定し、ステップ１４７０に進む。
【０２６４】
ＣＰＵ７１は、ステップ１４７０にて、現時点における（すなわち、前回、図１４のルーチンが実行されたときに設定された）リッチ制御優先番号RICH_PRIの値が「１」であるか否かを判定する。現時点におけるリッチ制御優先番号RICH_PRIの値が「１」である場合、ＣＰＵ７１は、ステップ１４７０にて「Ｙｅｓ」と判定してステップ１４４０に進み、リッチ制御優先番号RICH_PRIに「２」を格納する。
【０２６５】
一方、現時点におけるリッチ制御優先番号RICH_PRIの値が「２」である場合、ＣＰＵ７１は、ステップ１４７０にて「Ｎｏ」と判定してステップ１４３０に進み、リッチ制御優先番号RICH_PRIの値に「１」を格納する。その後、ＣＰＵ７１は、ステップ１４９５に進んで本ルーチンを一旦終了する。
【０２６６】
このように、触媒４３ａの劣化度Dcataが触媒４３ｂの劣化度Dcatbと「異なる」場合、劣化度がより大きい触媒の温度が所定の閾値よりも高いときにはリッチ制御優先番号RICH_PRIに「劣化度がより「大きい」触媒に対応する気筒群番号」が格納され、劣化度がより大きい触媒の温度が所定の閾値以下であるときにはリッチ制御優先番号RICH_PRIに「劣化度がより「小さい」触媒に対応する気筒群番号」が格納される。一方、触媒４３ａの劣化度Dcataが触媒４３ｂの劣化度Dcatbと「同一」である場合、「図１４のルーチンが前回実行されたときに設定されたリッチ制御優先番号RICH_PRIとは「異なる」気筒群番号」がリッチ制御優先番号RICH_PRIに格納される。
【０２６７】
さらに、ＣＰＵ７１は、図１５のルーチンを実行する。図１５に示したルーチンは、ステップ１５１０およびステップ１５２０が追加されている点においてのみ、図１０に示したルーチンと相違している。そこで、図１５における図１０に示したステップと同一の処理を行うためのステップには、図１０のそのようなステップに付された符号と同一の符号が付されている。これらステップについての詳細な説明は、適宜省略される。
【０２６８】
ＣＰＵ７１は、図１５のステップ１５００から処理を開始すると、ステップ１５１０に進む。ＣＰＵ７１は、ステップ１５１０にて、リッチ制御優先番号RICH_PRIの値が「１」であるか否かを判定する。現時点におけるリッチ制御優先番号RICH_PRIの値が「１」である場合、ＣＰＵ７１は、ステップ１５１０にて「Ｙｅｓ」と判定し、ステップ１０１０に進む。
【０２６９】
そして、ＣＰＵ７１は、燃料噴射気筒の気筒群番号CYL_GRが「１」である場合、ステップ１０１０にて「Ｙｅｓ」と判定し、即座に上流側目標空燃比abyfr（ｋ）にリッチ空燃比richを設定する（ステップ１０２０）。一方、ＣＰＵ７１は、燃料噴射気筒の気筒群番号CYL_GRが「２」である場合、ステップ１０１０にて「Ｎｏ」と判定し、待機クランク角度CAwaitだけ待機された後に上流側目標空燃比abyfr（ｋ）にリッチ空燃比richを設定する（ステップ１０３０およびステップ１０４０）。
【０２７０】
このように、リッチ制御優先番号RICH_PRIの値が「１」である場合、気筒群番号CYL_GRが「１」である気筒において優先的にリッチ制御が開始される。すなわち、第１の気筒群に属する気筒においてリッチ制御が開始される時点が含まれる燃料供給サイクルが、第２の気筒群に属する気筒においてリッチ制御が開始される時点が含まれる燃料供給サイクルよりも「先に」行われる。
【０２７１】
これに対し、現時点におけるリッチ制御優先番号RICH_PRIの値が「２」である場合、ＣＰＵ７１は、ステップ１５１０にて「Ｎｏ」と判定し、ステップ１５２０に進む。ＣＰＵ７１は、ステップ１５２０にて、燃料噴射気筒の気筒群番号CYL_GRが「２」であるか否かを判定する。
【０２７２】
そして、ＣＰＵ７１は、燃料噴射気筒の気筒群番号CYL_GRが「２」である場合、ステップ１５２０にて「Ｙｅｓ」と判定し、即座に上流側目標空燃比abyfr（ｋ）にリッチ空燃比richを設定する（ステップ１０２０）。一方、ＣＰＵ７１は、燃料噴射気筒の気筒群番号CYL_GRが「１」である場合、ステップ１５２０にて「Ｎｏ」と判定し、待機クランク角度CAwaitだけ待機された後に上流側目標空燃比abyfr（ｋ）にリッチ空燃比richを設定する（ステップ１０３０およびステップ１０４０）。
【０２７３】
このように、リッチ制御優先番号RICH_PRIの値が「２」である場合、気筒群番号CYL_GRが「２」である気筒において優先的にリッチ制御が開始される。すなわち、第１の気筒群に属する気筒においてリッチ制御が開始される時点が含まれる燃料供給サイクルが、第２の気筒群に属する気筒においてリッチ制御が開始される時点が含まれる燃料供給サイクルよりも「後に」行われる。
【０２７４】
以上に説明したように、第３装置は、触媒４３ａ，４３ｂの劣化度Dcata，Dcatbに基づき、第１の気筒群に属する気筒においてリッチ制御が開始される時点（第１時点）、および、第２の気筒群に属する気筒においてリッチ制御が開始される時点（第２時点）、を設定する。具体的に述べると、劣化度がより大きい触媒の温度が所定の閾値よりも高い場合、劣化度がより大きい触媒に対応する気筒群に属する気筒において、優先的にリッチ制御が開始される。一方、劣化度がより大きい触媒の温度が所定の閾値以下である場合、劣化度がより小さい触媒に対応する気筒群に属する気筒において、優先的にリッチ制御が開始される。
以上が、第３装置についての説明である。
【０２７５】
（第４実施形態）
次に、上記第２装置の他の具体例として、「触媒の劣化度と、フューエルカット運転中に触媒に導入されたガスの合計量と、を考慮してリッチ制御を開始する時点が設定される」実施形態が、説明される。
【０２７６】
この実施形態に係る制御装置（以下、「第４装置」とも称呼される。）は、第１装置が適用される機関１０と同様の構成を有する機関（図１を参照。以下、便宜上、「機関１０」とも称呼され。）に適用される。
【０２７７】
＜実際の作動＞
以下、第４装置の実際の作動が説明される。
第４装置において、ＣＰＵ７１は、フューエルカット運転制御のための図５、触媒温度推定のための図６、燃料噴射制御のための図７、メインフィードバック制御のための図８、サブフィードバック制御のための図９、触媒劣化度取得のための図１３、リッチ制御パラメータ取得のための図１６、および、リッチ制御のための図１５、に示した各ルーチンを特定のタイミング毎に繰り返し実行するようになっている。
【０２７８】
第４装置は、ＣＰＵ７１が、図１４に示すフローチャートに代えて「図１６」に示すフローチャートを実行する点についてのみ、第３装置と相違している。そこで、以下、この相違点を中心として、ＣＰＵ７１が実行する各ルーチンが説明される。
【０２７９】
ＣＰＵ７１は、第３装置と同様に図５〜図９および図１３のルーチンを実行する。これにより、触媒４３ａ，触媒４３ｂの劣化度Dcata，Dcatbが取得され、必要に応じてフューエルカット運転が実行される。そして、フューエルカット運転が終了された後、ＣＰＵ７１は、触媒４３ａ，４３ｂの劣化度Dcata，Dcatbを考慮しながらリッチ制御を行う。
【０２８０】
具体的に述べると、ＣＰＵ７１は、フューエルカット運転が終了されるとき（フューエルカット制御条件が成立しないことになったとき）、図７のステップ７９０にて、「図１６および図１５に示すルーチン」を実行する。
【０２８１】
図１６に示したルーチンは、ステップ１４２０がステップ１６１０に置換されている点、ステップ１４６０がステップ１６２０に置換されている点、および、これらステップの置換に伴う修正（ステップ１４３０およびステップ１４４０の位置の変更、および、図中のフロー（矢印）の変更）がなされている点においてのみ、図１４に示したルーチンと相違している。そこで、図１６における図１４に示したステップと同一の処理を行うためのステップには、図１４のそのようなステップに付された符号と同一の符号が付されている。これらステップについての詳細な説明は、適宜省略される。
【０２８２】
具体的に述べると、ＣＰＵ７１は、図１６のステップ１６００から処理を開始すると、ステップ１４１０に進む。そして、触媒４３ａの劣化度Dcataが触媒４３ｂの劣化度Dcatbよりも大きい場合、ステップ１４１０にて「Ｙｅｓ」と判定し、ステップ１６１０に進む。
【０２８３】
ＣＰＵ７１は、ステップ１６１０にて、フューエルカット運転中に触媒４３ａに導入されたガスの合計量SMcaが閾値SMcathよりも大きいか否かを判定する。現時点における合計量SMcaが閾値SMcathよりも大きい場合、ＣＰＵ７１は、ステップ１６１０にて「Ｙｅｓ」と判定してステップ１４４０に進み、リッチ制御優先番号RICH_PRIに「２」を格納する。
【０２８４】
一方、現時点における合計量SMcaが閾値SMcath以下である場合、ＣＰＵ７１は、ステップ１６１０にて「Ｎｏ」と判定してステップ１４３０に進み、リッチ制御優先番号RICH_PRIに「１」を格納する。
【０２８５】
これに対し、触媒４３ａの劣化度Dcataが触媒４３ｂの劣化度Dcatbよりも小さい場合、ＣＰＵ７１は、ステップ１４１０にて「Ｎｏ」と判定するとともにステップ１４５０にて「Ｙｅｓ」と判定し、ステップ１６２０に進む。
【０２８６】
ＣＰＵ７１は、ステップ１６２０にて、フューエルカット運転中に触媒４３ｂに導入されたガスの合計量SMcbが閾値SMcbthよりも大きいか否かを判定する。現時点における合計量SMcbが閾値SMcbthよりも大きい場合、ＣＰＵ７１は、ステップ１６２０にて「Ｙｅｓ」と判定し、ステップ１４３０に進み、リッチ制御優先番号RICH_PRIに「１」を格納する。
【０２８７】
一方、現時点における合計量SMcbが閾値SMcbth以下である場合、ＣＰＵ７１は、ステップ１６２０にて「Ｎｏ」と判定し、ステップ１４４０に進み、リッチ制御優先番号RICH_PRIに「２」を格納する。
【０２８８】
なお、触媒４３ａの劣化度Dcataが触媒４３ｂの劣化度Dcatbと同一である場合、第３装置と同様、ＣＰＵ７１は、ステップ１４７０に進み、図１４のルーチンが前回実行されたときに設定されたリッチ制御優先番号RICH_PRIとは異なる値をリッチ制御優先番号RICH_PRIに格納する。
【０２８９】
このように、触媒４３ａの劣化度Dcataが触媒４３ｂの劣化度Dcatbと「異なる」場合、劣化度がより大きい触媒にフューエルカット運転中に導入されたガスの合計量が所定の閾値よりも大きいときにはリッチ制御優先番号RICH_PRIに「劣化度がより「小さい」触媒に対応する気筒群番号」が格納され、劣化度がより大きい触媒にフューエルカット運転中に導入されたガスの合計量が所定の閾値以下であるときにはリッチ制御優先番号RICH_PRIに「劣化度がより「大きい」触媒に対応する気筒群番号」が格納される。一方、触媒４３ａの劣化度Dcataが触媒４３ｂの劣化度Dcatbと「同一である」場合、図１４のルーチンが前回実行されたときに設定されたリッチ制御優先番号RICH_PRIとは「異なる」気筒群番号がリッチ制御優先番号RICH_PRIに格納される。
【０２９０】
さらに、ＣＰＵ７１は、第３装置と同様に図１５のルーチンを実行する。これにより、リッチ制御優先番号RICH_PRIの値が「１」である場合、第１の気筒群に属する気筒においてリッチ制御が開始される時点が含まれる燃料供給サイクルが、第２の気筒群に属する気筒においてリッチ制御が開始される時点が含まれる燃料供給サイクルよりも「先に」行われる。一方、リッチ制御優先番号RICH_PRIの値が「２」である場合、第１の気筒群に属する気筒においてリッチ制御が開始される時点が含まれる燃料供給サイクルが、第２の気筒群に属する気筒においてリッチ制御が開始される時点が含まれる燃料供給サイクルよりも「後に」行われる。
【０２９１】
以上に説明したように、第４装置は、触媒４３ａ，４３ｂの劣化度Dcata，Dcatbに基づき、第１の気筒群に属する気筒においてリッチ制御が開始される時点（第１時点）、および、第２の気筒群に属する気筒においてリッチ制御が開始される時点（第２時点）、を設定する。具体的に述べると、劣化度がより大きい触媒にフューエルカット運転中に導入されたガスの合計量が所定の閾値よりも大きい場合、劣化度がより大きい触媒に対応する気筒群に属する気筒において、優先的にリッチ制御が開始される。一方、劣化度がより大きい触媒にフューエルカット運転中に導入されたガスの合計量が所定の閾値以下である場合、劣化度がより小さい触媒に対応する気筒群に属する気筒において、優先的にリッチ制御が開始される。
以上が、第４装置についての説明である。
【０２９２】
（第５実施形態）
上述した第３実施形態および第４実施形態においては、触媒の劣化度が取得されている場合において、それら触媒の劣化度を考慮してリッチ制御を開始する時点が設定されている。これに対し、上記第２装置の更に他の具体例として、「触媒の劣化度が取得されていない場合、リッチ制御の履歴に基づいてリッチ制御を行う」実施形態が、以下に説明される。
【０２９３】
本実施形態におけるリッチ制御の考え方は、上記説明から理解されるように、第３実施形態および第４実施形態の双方に適用され得る。そこで、本実施形態におけるリッチ制御の考え方が第３実施形態（第３装置）に適用された例が、代表例として、以下に説明される。
【０２９４】
この実施形態に係る制御装置（以下、「第５装置」とも称呼される。）は、第１装置が適用される機関１０と同様の構成を有する機関（図１を参照。以下、便宜上、「機関１０」とも称呼される。）に適用される。
【０２９５】
＜実際の作動＞
以下、第５装置の実際の作動が説明される。
第５装置において、ＣＰＵ７１は、フューエルカット運転制御のための図５、触媒温度推定のための図６、燃料噴射制御のための図７、メインフィードバック制御のための図８、サブフィードバック制御のための図９、触媒劣化度取得のための図１３、リッチ制御パラメータ取得のための図１７、および、リッチ制御のための図１５、に示した各ルーチンを特定のタイミング毎に繰り返し実行するようになっている。
【０２９６】
第５装置は、ＣＰＵ７１が、図１４に示すフローチャートに代えて「図１７」に示すフローチャートを実行する点についてのみ、第３装置と相違している。そこで、以下、この相違点を中心として、ＣＰＵ７１が実行する各ルーチンが説明される。
【０２９７】
ＣＰＵ７１は、第３装置と同様に図５〜図９および図１３のルーチンを実行する。これにより、必要に応じてフューエルカット運転が実行される。そして、フューエルカット運転が終了された後、ＣＰＵ７１は、触媒４３ａ，４３ｂの劣化度Dcata，Dcatbを考慮しながらリッチ制御を行う。
【０２９８】
具体的に述べると、ＣＰＵ７１は、リッチ制御を開始すべきタイミングになると（リッチ運転フラグXRICHの値に「１」が格納されると）、図７のステップ７９０にて、「図１７および図１５に示すルーチン」を実行する。
【０２９９】
図１７に示したルーチンは、ステップ１７１０が追加されている点においてのみ、図１４に示したルーチンと相違している。そこで、図１７における図１４に示したステップと同一の処理を行うためのステップには、図１４のそのようなステップに付された符号と同一の符号が付されている。これらステップについての詳細な説明は、適宜省略される。
【０３００】
具体的に述べると、ＣＰＵ７１は、図１７のステップ１７００から処理を開始すると、ステップ１７１０に進む。ＣＰＵ７１は、ステップ１７１０にて、触媒４３ａの劣化度Dcataおよび触媒４３ｂの劣化度Dcatbの双方が既に取得されているか否かを判定する。
【０３０１】
現時点において触媒４３ａの劣化度Dcataおよび触媒４３ｂの劣化度Dcatbが取得されている場合、ＣＰＵ７１は、ステップ１７１０にて「Ｙｅｓ」と判定し、ステップ１４１０に進む。そして、ＣＰＵ７１は、第３装置と同様にステップ１４１０〜ステップ１４７０の処理を行う。すなわち、ＣＰＵ７１は、触媒４３ａ，４３ｂの劣化度Dcata，Dcatbの大きさ並びに触媒４３ａ，４３ｂの温度に応じ、リッチ制御優先番号RICH_PRIを設定する。
【０３０２】
なお、仮に、第５装置におけるリッチ制御の考え方が第４装置に適用された場合、ＣＰＵ７１は、ステップ１７１０にて「Ｙｅｓ」と判定した後、図１６のルーチンにおけるステップ１４１０、ステップ１４３０〜ステップ１４５０、ステップ１４７０、ステップ１６１０およびステップ１６２０の処理を行うことになる。すなわち、ＣＰＵ７１は、触媒４３ａ，４３ｂの劣化度Dcata，Dcatbの大きさ並びに触媒４３ａ，４３ｂにフューエルカット運転中に導入されたガスの合計量に応じ、リッチ制御優先番号RICH_PRIを設定することになる。
【０３０３】
これに対し、現時点において触媒４３ａの劣化度Dcataおよび触媒４３ｂの劣化度Dcatbの少なくとも一方が取得されていない場合、ＣＰＵ７１は、ステップ１７１０にて「Ｎｏ」と判定し、ステップ１４７０に進む。そして、ＣＰＵ７１は、ステップ１４７０に進み、第３装置と同様、図１４のルーチンが前回実行されたときに設定されたリッチ制御優先番号RICH_PRIとは異なる値をリッチ制御優先番号RICH_PRIに格納する。
【０３０４】
さらに、ＣＰＵ７１は、第３装置と同様に図１５のルーチンを実行する。これにより、リッチ制御優先番号RICH_PRIの値が「１」である場合、第１の気筒群に属する気筒においてリッチ制御が開始される時点が含まれる燃料供給サイクルが、第２の気筒群に属する気筒においてリッチ制御が開始される時点が含まれる燃料供給サイクルよりも「先に」行われる。一方、リッチ制御優先番号RICH_PRIの値が「２」である場合、第１の気筒群に属する気筒においてリッチ制御が開始される時点が含まれる燃料供給サイクルが、第２の気筒群に属する気筒においてリッチ制御が開始される時点が含まれる燃料供給サイクルよりも「後に」行われる。
【０３０５】
以上に説明したように、第５装置は、触媒４３ａ，４３ｂの劣化度Dcata，Dcatbに基づき、第１の気筒群に属する気筒においてリッチ制御が開始される時点（第１時点）、および、第２の気筒群に属する気筒においてリッチ制御が開始される時点（第２時点）、を設定する。具体的に述べると、触媒４３ａ，４３ｂの劣化度Dcata，Dcatbの少なくとも一方が取得されていない場合、今回のフューエルカット運転の直前に行われたフューエルカット運転において優先的にリッチ制御が開始された気筒群とは異なる気筒群に属する気筒において、優先的にリッチ制御が開始される。
以上が、第５装置についての説明である。
【０３０６】
＜実施形態の総括＞
図１〜図１７を参照しながら説明したように、本発明の実施形態に係る制御装置（第１装置〜第５装置）は、機関１０の燃焼室への燃料の供給が中断されるフューエルカット運転が終了されて前記燃焼室への燃料の供給が再開されるとき（図７のステップ７２０にて「Ｎｏ」と判定されるとき）、前記燃焼室において燃焼に供される混合気の空燃比が理論空燃比stoichよりもリッチな空燃比richとなるように前記燃焼室に供給される燃料の量を制御するリッチ制御を行う。
【０３０７】
本発明の制御装置は、複数の燃焼室（複数の気筒。図１を参照。）を備えるとともに前記複数の燃焼室に燃料が順次に供給される燃料供給サイクルを繰り返す機関１０に該制御装置が適用される場合、前記複数の燃焼室のうちの第１の燃焼室（第１の気筒群に属する気筒）において前記リッチ制御が開始される第１時点が含まれる燃料供給サイクルと、前記複数の燃焼室のうちの前記第１の燃焼室とは異なる第２の燃焼室（第２の気筒群に属する気筒）において前記リッチ制御が開始される第２時点が含まれる燃料供給サイクルと、が互いに異なるように、前記第１時点および前記第２時点を設定する（例えば、図１０のルーチンを参照。）。
【０３０８】
本発明の制御装置において、前記機関１０が、前記第１の燃焼室から排出されるガスが導入される第１の触媒４３ａと、前記第２の燃焼室から排出されるガスが導入される第２の触媒４３ｂと、を備える場合、前記第１の触媒４３ａの劣化度Dcataおよび前記第２の触媒４３ｂの劣化度Dcatbに基づき、前記第１時点および前記第２時点を設定する、ように構成され得る（例えば、図１４のルーチンを参照。）。
【０３０９】
さらに、本発明の制御装置は、前記第１の触媒４３ａの劣化度Dcataが前記第２の触媒４３ｂの劣化度Dcatbよりも大きい場合、前記第１の触媒４３ａおよび前記第２の触媒４３ｂのうちの少なくとも前記第１の触媒４３ａの温度TempCaが閾値TempCathよりも高ければ（図１４のステップ１４２０にて「Ｙｅｓ」と判定される場合）、前記第１時点が含まれる燃料供給サイクルが前記第２時点が含まれる燃料供給サイクルよりも先に行われるように前記第１時点および前記第２時点を設定する（リッチ制御優先番号RICH_PRIに「１」を格納する。）ように構成され得る。
【０３１０】
一方、本発明の制御装置は、前記少なくとも前記第１の触媒４３ａの温度TempCaが前記閾値TempCath以下であれば（ステップ１４２０にて「Ｎｏ」と判定される場合）、前記第１時点が含まれる燃料供給サイクルが前記第２時点が含まれる燃料供給サイクルよりも後に行われるように前記第１時点および前記第２時点を設定する（リッチ制御優先番号RICH_PRIに「２」を格納する）ように構成され得る（図１４のルーチンを参照。）。
【０３１１】
一方、本発明の制御装置は、前記第１の触媒４３ａの劣化度Dcataが前記第２の触媒４３ｂの劣化度Dcatbよりも大きい場合、前記フューエルカット運転中に前記第１の触媒４３ａおよび前記第２の触媒４３ｂのうちの少なくとも前記第１の触媒４３ａに導入されたガスの合計量SMcaが閾値量SMcathよりも多ければ（図１６のステップ１６１０にて「Ｙｅｓ」と判定される場合）、前記第１時点が含まれる燃料供給サイクルが前記第２時点が含まれる燃料供給サイクルよりも後に行われるように、前記第１時点および前記第２時点を設定する（リッチ制御優先番号RICH_PRIに「２」を格納する。）ように構成され得る。
【０３１２】
一方、本発明の制御装置は、前記フューエルカット運転中に前記少なくとも前記第１の触媒４３ａに導入されたガスの合計量SMcaが前記閾値量SMcath以下であれば（ステップ１６１０にて「Ｎｏ」と判定される場合）、前記第１時点が含まれる燃料供給サイクルが前記第２時点が含まれる燃料供給サイクルよりも先に行われるように、前記第１時点および前記第２時点を設定する（リッチ制御優先番号RICH_PRIに「１」を格納する）ように構成され得る（図１６のルーチンを参照。）。
【０３１３】
なお、本発明の制御装置は、前記第１の触媒４３ａの劣化度Dcataおよび前記第２の触媒４３ｂの劣化度Dcatbのうちの少なくとも一方が取得されていない場合（図１７のステップ１７１０にて「Ｎｏ」と判定される場合）、または、前記第１の触媒４３ａの劣化度Dcataが前記第２の触媒４３ｂの劣化度Dcatbと同一である場合（例えば、図１７のステップ１４１０およびステップ１４５０にて「Ｎｏ」と判定される場合）、今回のフューエルカット運転よりも前に行われた前記フューエルカット運転に関する前記第１時点および前記第２時点の履歴に基づき、前記今回のフューエルカット運転に関する前記第１時点および前記第２時点を設定する、ように構成され得る（図１７のルーチンを参照。）。
【０３１４】
例えば、本発明の制御装置は、前記今回のフューエルカット運転の直前に行われた前記フューエルカット運転に関して前記第１時点が含まれる燃料供給サイクルが前記第２時点が含まれる燃料供給サイクルよりも先に行われた場合（図１７のステップ１４７０にて「Ｙｅｓ」と判定される場合）、前記第１時点が含まれる燃料供給サイクルが前記第２時点が含まれる燃料供給サイクルよりも後に行われるように、前記今回のフューエルカット運転に関する前記第１時点および前記第２時点を設定する、ように構成され得る。
【０３１５】
一方、本発明の制御装置は、前記今回のフューエルカット運転の直前に行われた前記フューエルカット運転に関して前記第１時点が含まれる燃料供給サイクルが前記第２時点が含まれる燃料供給サイクルよりも後に行われた場合（ステップ１４７０にて「Ｎｏ」と判定される場合）、前記第１時点が含まれる燃料供給サイクルが前記第２時点が含まれる燃料供給サイクルよりも先に行われるように、前記今回のフューエルカット運転についての前記第１時点および前記第２時点を設定する、ように構成され得る。
【０３１６】
ところで、本発明の制御装置が適用される前記機関１０が、前記第１の燃焼室を含む複数の燃焼室の群である第１の燃焼室群（第１の気筒群）と、前記第２の燃焼室を含むとともに前記第１の燃焼室群に属する燃焼室を含まない複数の燃焼室の群である第２の燃焼室群（第２の気筒群）と、を備える場合、本発明の制御装置は、前記第１時点が含まれる燃料供給サイクルにて前記第１の燃焼室群に属する燃焼室における前記リッチ制御が開始され、前記第２時点が含まれる燃料供給サイクルにて前記第２の燃焼室群に属する燃焼室における前記リッチ制御が開始される、ように構成され得る。
【０３１７】
本発明は上記各実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。
【０３１８】
例えば、上記複数の実施形態（第１実施形態〜第４実施形態）のうちの「一の実施形態」に適用されているリッチ制御の考え方に、同複数の実施形態のうちの「他の実施形態の一または複数」におけるリッチ制御の考え方が、適用され得る。別の言い方をすると、上記複数の実施形態のうちの一の実施形態と、一または複数の他の実施形態と、が組み合わせられ得る。
【０３１９】
さらに、上記各実施形態（第２装置〜第５装置）においては、触媒の最大酸素摂取量に基づいて触媒の劣化度が取得されている（図１３を参照。）。しかし、触媒の劣化度は、他の情報に基づいて取得されてもよい。例えば、触媒の劣化度は、触媒に導入されるガスに含まれる窒素酸化物（ＮＯｘ）の量を半分にまで減少させるために要求される触媒の温度の最低値（いわゆる、ＮＯｘ５０％浄化温度）に基づき、取得され得る。
【０３２０】
加えて、上記各実施形態（第１装置〜第５装置）においては、触媒の温度は、排ガスの温度に基づいて取得されている（図６を参照。）。しかし、触媒の温度は、例えば、触媒の温度を取得するための温度センサの出力値に基づいて取得され得る。
【０３２１】
上記各実施形態（第２装置〜第５装置）においては、今回のフューエルカット運転の直前に行われた（前回の）フューエルカット運転に関する第１時点および第２時点の履歴に基づき、今回のフューエルカット運転に関する第１時点および第２時点が設定される場合がある（例えば、図１４のステップ１４７０）。しかし、上記「履歴」は、前回のフューエルカット運転に関する第１時点および第２時点の情報に限られない。例えば、今回のフューエルカット運転よりも前に行われた複数回のフューエルカット運転に関する第１時点および第２時点の履歴に基づき（例えば、第１時点が先の時点に設定された回数、および、第２時点が先の時点に設定された回数、が出来る限り均一になるように）、今回のフューエルカット運転に関する第１時点および第２時点が設定され得る。
【０３２２】
上記各実施形態（第１装置〜第５装置）においては、吸気ポート内に燃料を噴射するインジェクタ２２によって機関１０に燃料が供給されている。しかし、燃料は、気筒内（燃焼室内）に燃料を直接噴射するインジェクタによって機関１０に供給されてもよい。
【符号の説明】
【０３２３】
１０…内燃機関、２２…インジェクタ、４３ａ，４３ｂ…触媒、６６ａ，６６ｂ…上流側酸素濃度センサ、６７ａ，６７ｂ…下流側酸素濃度センサ、７０…電子制御装置
【図１】
0005287959.tif 000002
【図２】
0005287959.tif 000003
【図３】
0005287959.tif 000004
【図４】
0005287959.tif 000005
【図５】
0005287959.tif 000006
【図６】
0005287959.tif 000007
【図７】
0005287959.tif 000008
【図８】
0005287959.tif 000009
【図９】
0005287959.tif 000010
【図１０】
0005287959.tif 000011
【図１１】
0005287959.tif 000012
【図１２】
0005287959.tif 000013
【図１３】
0005287959.tif 000014
【図１４】
0005287959.tif 000015
【図１５】
0005287959.tif 000016
【図１６】
0005287959.tif 000017
【図１７】
0005287959.tif 000018