(57)【特許請求の範囲】
【請求項１】
内燃機関の排気通路の途中に排出ガス浄化用の触媒を設けると共に、この触媒の上流側に排出ガスの空燃比をリニアに検出する空燃比センサを設け、この空燃比センサの出力に基づいて目標空燃比と実空燃比との偏差を小さくするようにフィードバック制御する内燃機関の空燃比制御装置において、
前記触媒内における流入ガス成分の吸着反応、流入ガス成分と触媒内吸着物質との酸化還元反応、触媒内吸着物質の離脱反応、及び、流入ガス成分の未反応部分の存在を考慮に入れた触媒反応モデルを用いて前記空燃比センサの出力に基づいて吸着物質量を推定する吸着物質量推定手段と、
前記吸着物質量推定手段により推定した吸着物質量が所定範囲内に収まるように前記目標空燃比を設定する目標空燃比設定手段とを備え、
前記目標空燃比設定手段は、前記吸着物質量推定手段により推定した吸着物質量が所定範囲内のときに該吸着物質量に基づいて前記目標空燃比を設定し、前記吸着物質量が所定範囲外のときに内燃機関の筒内空気量に基づいて前記目標空燃比を設定することを特徴とする内燃機関の空燃比制御装置。
【請求項２】
前記触媒の下流に流出する流出ガスの空燃比又はリッチ／リーンを検出する下流センサと、
前記触媒反応モデルを前記下流センサのサイズに縮小したセンサ反応モデルを用いて前記下流センサの出力を推定するセンサ出力推定手段と、
前記センサ出力推定手段による推定センサ出力と前記下流センサの実出力との偏差に基づいて前記触媒反応モデルのパラメータを修正するモデル修正手段と
を備えていることを特徴とする請求項１に記載の内燃機関の空燃比制御装置。
【請求項３】
燃料カット復帰後に前記センサ出力推定手段による推定センサ出力と前記下流センサの実出力がリーンからリッチへ反転するまでの時間に基づいて前記触媒の容量変化を判定する触媒容量判定手段を備えていることを特徴とする請求項２に記載の内燃機関の空燃比制御装置。
【請求項４】
前記触媒容量判定手段は、内燃機関が完全暖機されているときに判定した触媒容量の低下度合によって前記触媒の劣化の有無を判定し、触媒劣化時に警告表示手段に警告表示させることを特徴とする請求項３に記載の内燃機関の空燃比制御装置。
【請求項５】
前記触媒の下流に流出する排出ガスの空燃比を検出する下流センサと、
前記触媒反応モデルを用いて求めた触媒下流に流出する流出ガス成分量を一次遅れ系で処理して前記下流センサの出力を推定するセンサ出力推定手段と、
前記センサ出力推定手段による推定センサ出力と前記下流センサの実出力とに基づいて触媒最大容量を求める触媒容量判定手段と、
前記触媒容量判定手段により求めた触媒最大容量に基づいて前記触媒反応モデルのパラメータを修正するモデル修正手段と
を備えていることを特徴とする請求項１に記載の内燃機関の空燃比制御装置。
【請求項６】
前記センサ出力推定手段は、触媒下流に流出する流出ガス成分量に応じて一次遅れ系の時定数を切り換えて下流センサの出力を推定することを特徴とする請求項５に記載の内燃機関の空燃比制御装置。
【請求項７】
前記下流センサは、作動電圧オン中は空燃比に応じて出力がリニアに変化し、作動電圧オフ中は空燃比がリッチかリーンかで出力が反転する出力特性を有する空燃比センサを用い、
前記吸着物質量推定手段により推定した吸着物質量が所定範囲内のときに前記下流センサの作動電圧をオフし、前記吸着物質量が所定範囲外のときに前記下流センサの作動電圧をオンするセンサ特性切換手段を設けたことを特徴とする請求項５又は６に記載の内燃機関の空燃比制御装置。
【請求項８】
前記吸着物質量推定手段により推定した吸着物質量が所定範囲内のときに前記下流センサの作動電圧をオフして第１の空燃比制御を実行する第１の空燃比制御手段と、
前記吸着物質量が所定範囲外のときに前記下流センサの作動電圧をオンして第２の空燃比制御を実行する第２の空燃比制御手段とを備えていることを特徴とする請求項７に記載の内燃機関の空燃比制御装置。
【請求項９】
前記触媒容量判定手段による触媒最大容量の算出と前記モデル修正手段による触媒反応モデルのパラメータの修正を、前記吸着物質量推定手段により推定した吸着物質量が所定範囲外のときに実行することを特徴とする請求項７又は８に記載の内燃機関の空燃比制御装置。
【請求項１０】
触媒上流の空燃比が目標空燃比となるようにフィードバック制御する空燃比制御手段と、
前記触媒内における流入ガス成分の吸着反応、流入ガス成分と触媒内吸着物質との酸化還元反応、触媒内吸着物質の離脱反応、及び、流入ガス成分の未反応部分の存在を考慮に入れた触媒反応モデルを用いて前記触媒上流の空燃比に基づいて前記触媒に吸着されている吸着物質量を推定する吸着物質量推定手段と、
前記吸着物質量推定手段により推定した吸着物質量が所定範囲内に収まるように前記目標空燃比を設定する目標空燃比設定手段とを備え、
前記目標空燃比設定手段は、前記吸着物質量推定手段により推定した吸着物質量が所定範囲内のときに該吸着物質量に基づいて前記目標空燃比を設定し、前記吸着物質量が所定範囲外のときに内燃機関の筒内空気量に基づいて前記目標空燃比を設定することを特徴とする内燃機関の空燃比制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、排出ガスの空燃比をリニアに検出する空燃比センサの出力に基づいて空燃比をフィードバック制御する内燃機関の空燃比制御装置に関するものである。
【０００２】
【従来の技術】
近年、例えば特開平６−７４０７２号公報に示すように、内燃機関の排気通路の途中に排出ガス浄化用の三元触媒を設けると共に、この触媒の上流側に排出ガスの空燃比をリニアに検出する空燃比センサを設け、この空燃比センサの出力信号に基づいて排出ガス中の空燃比を目標空燃比に合わせるようにフィードバック制御すると共に、触媒の下流側に、排出ガス中の空燃比がリッチかリーンかを検出する酸素センサを設け、この酸素センサの出力信号に基づいて上記目標空燃比を補正するようにしたものがある。
【０００３】
【発明が解決しようとする課題】
一般に、触媒に流入する排出ガス中のＣＯ，ＨＣ，ＮＯｘ，Ｈ2 等のガス成分に対して触媒は次のように作用する。
【０００４】
▲１▼触媒内における流入ガス成分の吸着反応
触媒内に流入したガス成分の一部は、触媒内部に吸着される。
【０００５】
▲２▼流入ガス成分と触媒内吸着物質との酸化還元反応
例えば、吸着物質がリーン成分（ＮＯｘ，Ｏ2 等の酸化性成分）の場合には、このリーン成分と流入ガス中のリッチ成分（ＨＣ，ＣＯ，Ｈ2 等の還元性成分）とが酸化還元反応して無害の中性ガス成分（ＣＯ2 ，Ｈ2 Ｏ，Ｎ2 等）が生成され、触媒から排出される。
【０００６】
▲３▼触媒内吸着物質の離脱反応
触媒内吸着物質の一部は、酸化還元反応を起こさずに触媒から離脱して触媒下流に排出される。
【０００７】
▲４▼流入ガス成分の未反応部分の存在（以下「すり抜け」という）
流入ガス成分の一部は、触媒内で吸着反応も酸化還元反応も起こさずにそのまま触媒下流に排出される。
【０００８】
従って、触媒による排出ガスの浄化効率を高めるには、▲１▼の吸着反応と▲２▼の酸化還元反応を増加させ、▲３▼の離脱反応を少なくすると共に、▲４▼のすり抜けを低減することが必要となる。これら▲１▼〜▲４▼の条件は、触媒内の吸着物質量によって大きく変動し、排出ガスの浄化効率を変動させる。例えば、リーン成分の吸着量が増加するに従って、リーン成分の吸着反応が低下し、リーン成分のすり抜けが多くなるが、この状態でも、流入ガス中のリッチ成分の割合が増えれば、酸化還元反応が増加して吸着物質量が減少する。
【０００９】
このような触媒の特性から、本来的には触媒内の吸着物質量によって空燃比を制御することが理想的であるが、前述したように、従来は、触媒下流側の酸素センサの出力信号に基づいて目標空燃比を補正するだけであり、触媒内吸着物質量を適正に考慮に入れた空燃比制御は不可能であった。
【００１０】
本発明はこのような事情を考慮してなされたものであり、従ってその目的は、触媒内吸着物質量を適正に考慮に入れた空燃比制御を行うことができて、排出ガスの浄化効率を高めることができる内燃機関の空燃比制御装置を提供することにある。
【００１１】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１の内燃機関の空燃比制御装置は、図１に例示するように、内燃機関５１の排気通路５２の途中に排出ガス浄化用の触媒５３を設けると共に、この触媒５３の上流側に排出ガスの空燃比をリニアに検出する空燃比センサ５４を設け、この空燃比センサ５４の出力に基づいて目標空燃比と実空燃比との偏差を小さくするようにフィードバック制御するものにおいて、前記触媒５３内における流入ガス成分の吸着反応、流入ガス成分と触媒内吸着物質との酸化還元反応、触媒内吸着物質の離脱反応、及び、流入ガス成分の未反応部分の存在を考慮に入れた触媒反応モデルを用いて前記空燃比センサ５４の出力に基づいて吸着物質量を推定する吸着物質量推定手段５５と、この吸着物質量推定手段５５により推定した吸着物質量が所定範囲内に収まるように前記目標空燃比を設定する目標空燃比設定手段５６とを備えた構成としている。
【００１２】
ここで、触媒５３内の吸着物質量を推定するために用いる触媒反応モデルは、▲１▼触媒５３内における流入ガス成分の吸着反応（リーン成分の吸着とリッチ成分の吸着）、▲２▼流入ガス成分と触媒内吸着物質との酸化還元反応（触媒内リッチ成分が流入ガスのリーン成分により酸化され、触媒内リーン成分が流入ガスのリッチ成分により還元される）、▲３▼触媒内吸着物質の離脱反応、▲４▼流入ガス成分の未反応部分の存在（すり抜け）が全て考慮されている。これら▲１▼〜▲４▼の条件が触媒５３の排出ガス浄化能力を左右する。
【００１３】
このような触媒反応モデルを用いて空燃比センサ５４の出力に基づいて吸着物質量を吸着物質量推定手段５５により推定することで、触媒内リッチ成分の吸着量とリーン成分の吸着量を精度良く推定する。そして、この吸着物質量推定手段５５により推定した吸着物質量が所定範囲内に収まるように（つまり触媒内リッチ成分とリーン成分の吸着量が共に所定量以下となるように）、目標空燃比を目標空燃比設定手段５６により設定し、この目標空燃比に基づいて噴射量演算手段６２により燃料噴射量（噴射パルス幅）を演算し、その演算結果に応じて燃料噴射弁６３を駆動する。これにより、排出ガスの空燃比が触媒５３内の吸着物質量を少なくするように制御され、常に触媒５３の排出ガス浄化能力（つまり吸着反応と酸化還元反応）の低下が抑えられる。
【００１５】
また、請求項１、１０では、目標空燃比設定手段５６は、吸着物質量推定手段５５により推定した吸着物質量が所定範囲内のときに該吸着物質量に応じて目標空燃比を設定し、前記吸着物質量が所定範囲外のときに内燃機関５１の筒内空気量に応じて目標空燃比を設定する。これにより、吸着物質量が所定範囲外になっても、速やかに低減され、所定範囲内に収まる。しかも、吸着物質量が所定範囲内のときに該吸着物質量に応じて目標空燃比を設定するため、触媒内の吸着物質量の変化に追従して目標空燃比が設定され、吸着物質量に対する空燃比制御の精度が向上し、常に排出ガス浄化能力が最良の状態に保たれる。
【００１６】
ところで、触媒５３の下流側に設けられた下流センサ５７（酸素センサ）は、白金電極の触媒作用により流入ガス中のリッチ成分とリーン成分（酸素）とを反応させて、流入ガスの空燃比又はリッチ／リーンを検出する。下流センサ５７の内部でも、触媒５３と同様の触媒反応が起こるため、下流センサ５７の出力を、触媒反応モデルと同様のセンサ反応モデルを用いて推定可能である。
【００１７】
そこで、請求項２では、触媒反応モデルを下流センサ５７のサイズに縮小したセンサ反応モデルを用いて下流センサ５７の出力をセンサ出力推定手段５８により推定し、この推定センサ出力と下流センサ５７の実出力との偏差に応じて触媒反応モデルのパラメータをモデル修正手段５９により修正する。これにより、触媒５３の経時変化に応じて触媒反応モデルが自動的に修正され、触媒５３の経時変化による吸着物質量の推定精度の低下が抑えられる。
【００１８】
また、請求項３では、燃料カット復帰後にセンサ出力推定手段５８による推定センサ出力と下流センサ５７の実出力がリーンからリッチへ反転するまでの時間に基づいて触媒５３の容量変化を触媒容量判定手段６０により判定する。これにより、触媒５３の劣化度合が判定可能となる。
【００１９】
更に、請求項４では、内燃機関５１が完全暖機されているときに判定した触媒容量の低下度合によって触媒５３の劣化の有無を判定し、触媒劣化時に警告表示手段６１に警告表示させる。これにより、触媒劣化時にはこれを運転者が速やかに知ることができる。
【００２０】
上述した請求項２では、下流センサ５７の出力を、触媒反応モデルと同様の原理のセンサ反応モデルを用いて推定したが、下流センサ５７の出力は、触媒下流に流出する流出ガス成分量の変化に応じて変化し、流出ガス成分量の変化が下流センサ５７の出力を変化させる関係は一次遅れ系で近似できる。従って、流出ガス成分量を一次遅れ系で処理しても、下流センサ５７の出力を推定可能である。
【００２１】
そこで、請求項５では、センサ出力推定手段５８は、触媒反応モデルを用いて求めた触媒下流に流出する流出ガス成分量を一次遅れ系で処理して下流センサ５７の出力を推定し、その推定センサ出力と下流センサ５７の実出力とに基づいて触媒最大容量を触媒容量判定手段６０により算出し、この触媒最大容量に基づいて前記触媒反応モデルのパラメータをモデル修正手段５９により修正する。これにより、前記請求項４と同じく、触媒５３の経時変化に応じて触媒反応モデルが自動的に修正され、触媒５３の経時変化による吸着物質量の推定精度の低下が抑えられる。
【００２２】
更に、請求項６では、触媒下流に流出する流出ガス成分量に応じて一次遅れ系の時定数を切り換えて下流センサ５７の出力を推定する。これにより、流出ガス成分に応じて最適な時定数を設定でき、下流センサ出力の推定精度を向上させることができる。
【００２３】
一般に、空燃比センサ（Ａ／Ｆセンサ）は、作動電圧オン中は空燃比に応じて出力がリニアに変化するが、作動電圧をオフすると、空燃比がリッチかリーンかで出力が反転する酸素センサとして動作する。この場合、空燃比が目標空燃比の付近で変化するときには、酸素センサの出力変化の方が空燃比センサの出力変化よりも大きくなるため、目標空燃比の付近では酸素センサの方が空燃比を検出しやすい。また、触媒内の吸着物質量が少ないと、触媒下流の空燃比と目標空燃比との偏差が小さくなり、触媒内の吸着物質量が多くなると、触媒下流の空燃比と目標空燃比との偏差が大きくなるという関係がある。
【００２４】
この関係を利用し、請求項７では、下流センサ５７として空燃比センサを用い、吸着物質量推定手段５５により推定した吸着物質量が所定範囲内のとき、つまり触媒下流の空燃比と目標空燃比との偏差が比較的小さいときには、下流センサ５７の作動電圧をオフして酸素センサとして動作させることで、触媒下流の空燃比の検出精度を高める。これに対し、吸着物質量推定手段５５により推定した吸着物質量が所定範囲外のとき、つまり触媒下流の空燃比と目標空燃比との偏差が比較的大きいときには、下流センサ５７の作動電圧をオンして空燃比センサとして動作させる。これは、触媒下流の空燃比と目標空燃比との偏差が大きい領域では、酸素センサとして動作させたのでは出力変化が少なく、触媒下流の空燃比を検出するのは困難であるため、空燃比センサとして動作させることで、触媒下流の空燃比を精度良く検出するものである。
【００２５】
更に、請求項８では、吸着物質量推定手段５５により推定した吸着物質量が所定範囲内のときには、下流センサ５７の作動電圧をオフして酸素センサとして機能させ、第１の空燃比制御手段により第１の空燃比制御を実行する。そして、吸着物質量が所定範囲外のときには、下流センサ５７の作動電圧をオンして空燃比センサとして機能させ、第２の空燃比制御手段により第２の空燃比制御を実行する。これにより、吸着物質量に応じた最適な空燃比制御が可能となる。
【００２６】
更に、請求項９では、前記触媒容量判定手段６０による触媒最大容量の算出と前記モデル修正手段５９による触媒反応モデルのパラメータの修正を、吸着物質量推定手段５５により推定した吸着物質量が所定範囲外のときに実行する。これは、吸着物質量が所定範囲外のときに、下流センサ５７の作動電圧をオンして空燃比センサとして機能させるため、その空燃比センサの実出力を利用して触媒最大容量を精度良く算出するものである。
【００２７】
【発明の実施の形態】
以下、本発明の実施形態（１）を図２乃至図３２に基づいて説明する。まず、図２に基づいてエンジン制御システム全体の概略構成を説明する。内燃機関であるエンジン１１の吸気管１２の最上流部には、エアクリーナ１３が設けられ、このエアクリーナ１３の下流側に吸気温度Ｔａｍを検出する吸気温センサ１４が設けられ、この吸気温センサ１４の下流側にスロットルバルブ１５とスロットル開度ＴＨを検出するスロットル開度センサ１６とが設けられている。更に、スロットルバルブ１５の下流側には、吸気管圧力ＰＭを検出する吸気管圧力センサ１７が設けられ、この吸気管圧力センサ１７の下流側にサージタンク１８が設けられている。このサージタンク１８には、エンジン１１の各気筒に空気を導入する吸気マニホールド１９が接続され、この吸気マニホールド１９の各気筒の分岐管部にそれぞれ燃料を噴射するインジェクタ２０（燃料噴射弁）が取り付けられている。
【００２８】
また、エンジン１１には各気筒毎に点火プラグ２１が取り付けられ、各点火プラグ２１には、点火回路２２で発生した高圧電流がディストリビュータ２３を介して供給される。このディストリビュータ２３には、７２０℃Ａ（クランク軸２回転）毎に例えば２４個のパルス信号を出力するクランク角センサ２４が設けられ、このクランク角センサ２４の出力パルス間隔によってエンジン回転数Ｎｅを検出するようになっている。また、エンジン１１には、エンジン冷却水温Ｔｈｗを検出する水温センサ３８が取り付けられている。
【００２９】
一方、エンジン１１の排気ポート（図示せず）には、排気マニホールド２５を介して排気管２６（排気通路）が接続され、この排気管２６の途中に、排出ガス中の有害成分（ＣＯ，ＨＣ，ＮＯｘ等）を低減させる三元触媒等の触媒２７が設けられている。この触媒２７の上流側には、排出ガスの空燃比に応じたリニアな空燃比信号を出力する空燃比センサ２８が設けられ、また、触媒２７の下流側には、排出ガス中の空燃比がリッチかリーンかによって出力が反転する酸素センサ２９が“下流センサ”として設けられている。
【００３０】
上述した各種のセンサの出力は電子制御回路３０内に入力ポート３１を介して読み込まれる。電子制御回路３０は、マイクロコンピュータを主体として構成され、ＣＰＵ３２、ＲＯＭ３３、ＲＡＭ３４、バックアップＲＡＭ３５を備え、各種センサ出力から得られたエンジン運転状態パラメータを用いて燃料噴射量ＴＡＵや点火時期Ｉｇ等を演算し、その演算結果に応じた信号を出力ポート３６からインジェクタ２０や点火回路２２に出力する。また、触媒２７の劣化を検出したときには、出力ポート３６から警告ランプ３７（警告表示手段）に点灯信号を出力する。
【００３１】
更に、この電子制御回路３０は、触媒２７内における流入ガス成分の吸着反応、流入ガス成分と触媒内吸着物質との酸化還元反応、触媒内吸着物質の離脱反応及び流入ガス成分の未反応部分の存在を考慮に入れた触媒反応モデルを用いて前記空燃比センサ２８の出力に基づいて吸着物質量を推定する吸着物質量推定手段として機能すると共に、推定した吸着物質量が所定範囲内に収まるように目標空燃比を設定する目標空燃比設定手段としても機能する。以下、これについて詳細に説明する。
【００３２】
［流入ガスモル数演算］
図３は、触媒２７内に流入する排出ガス（流入ガス）の各成分のモル数を演算するルーチンであり、所定クランク角毎又は所定時間毎に繰り返し処理される。処理が開始されると、まずステップ９１で、空燃比センサ２８の出力信号を読み込んで、流入ガスの空燃比Ａ／Ｆを検出する。次のステップ９２で、流入ガス中のＯ2 モル濃度Ｏ２ＩＮＭＣ，Ｈ2 モル濃度Ｈ２ＩＮＭＣ，ＣＯモル濃度ＣＯＩＮＭＣ，ＣＯ2 モル濃度ＣＯ２ＩＮＭＣを空燃比Ａ／Ｆに応じてテーブル検索又は理論式で算出し（図４参照）、これらの算出値を用いて、次のステップ９３にて、Ｈ2 Ｏモル濃度Ｈ２ＯＩＮＭＣを算出する。次のステップ９４では、後述するステップ９７で用いる分数式の分母ＫＫＫＢＵＮＢＯを算出し、続くステップ９５で、基本噴射量Ｔｐｇ（ｇ換算）を基本噴射時間Ｔｐ，インジェクタサイズＩＮＪＳＩＺＥ，燃料比重ρを用いて次式により算出する。
【００３３】
Ｔｐｇ＝Ｔｐ×ＩＮＪＳＩＺＥ×ρ
更に、ステップ９６では、次のステップ９７で用いる変数ＯＦＩＮ，ＯＭＯＬを算出する。この後、ステップ９７で、上述したステップ９２〜９６の処理で求めた数値を用いて流入ガス中のＯ2 モル数Ｏ２ＩＮＭ，Ｈ2 モル数Ｈ２ＩＮＭ，ＣＯモル数ＣＯＩＮＭ，ＣＯ2 モル数ＣＯ２ＩＮＭ，Ｈ2 Ｏモル数Ｈ２ＯＩＮＭを算出する。
【００３４】
［触媒反応モデル］
次に、図５〜図７を用いて触媒反応モデルの処理の流れを説明する。この処理では、まずステップ１００で、空燃比Ａ／Ｆに対するリッチ成分とリーン成分の浄化率ＲＪＯＵＫＡ，ＬＪＯＵＫＡをテーブル検索により求める（図８参照）。次のステップ１０１では、触媒内吸着物質のうち触媒２７から離脱する量ＫＤＲＯＰ１Ｋ，ＫＤＲＯＰ１Ｈ，ＫＤＲＯＰ２Ｈ，ＫＤＲＯＰ２Ｋ（モル数）を、前回の処理で求められた吸着物質量ＯＳＩＯＬＤに係数Ｋ１，Ｋ２，Ｋ３，Ｋ４を乗算して求める。
【００３５】
ここで、ＫＤＲＯＰ１Ｋは、触媒２７内でリーン成分の吸着反応が起こっているときにそのリーン成分の一部が触媒２７下流に離脱する量である。
【００３６】
ＫＤＲＯＰ１Ｈは、触媒２７内に吸着されたリーン成分と流入ガスのリッチ成分との間で反応が起こっているときにリーン成分の一部が反応せずにそのまま触媒２７下流に離脱する量である。
【００３７】
ＫＤＲＯＰ２Ｈは、触媒２７内に吸着されたリッチ成分と流入ガスのリーン成分との間で反応が起こっているときにリッチ成分の一部が反応せずにそのまま触媒２７下流に離脱する量である。
【００３８】
ＫＤＲＯＰ２Ｋは、触媒２７内でリッチ成分の吸着反応が起こっているときにそのリッチ成分の一部が触媒２７下流に離脱する量である。
【００３９】
次のステップ１０２では、前回の処理で求められた吸着物質量ＯＳＩＯＬＤの±を判別することで、吸着物質がリーン成分（＋）であるか、リッチ成分（−）であるかを判別する。更に、ステップ１０３，１０４で、空燃比Ａ／Ｆが理論空燃比（１４．６）以上であるか否かを判別することによって、流入ガスのリーン／リッチを判別する。これらステップ１０２〜１０４の処理により、触媒２７内での反応を下記の表１に示すように４つの反応形態ＬＫ，ＬＨ，ＲＨ，ＲＫに分類し、各反応形態毎に吸着物質量ＯＳＩを算出する。
【００４０】
【表１】
0003820625.tif 000002
【００４１】
各反応形態ＬＫ，ＬＨ，ＲＨ，ＲＫ毎に、ステップ１０５〜１０８で、触媒２７内で浄化されない成分割合ＹＵＫＯＵ０，ＹＵＫＯＵＲを、前記ステップ１００で求められた浄化率ＲＪＯＵＫＡ，ＬＪＯＵＫＡを用いて算出する。この後、ステップ１０９〜１１２で、流入ガスのうち触媒２７内で吸着反応も酸化還元反応も起こさずにそのまま触媒２７下流に排出される未反応成分量（すり抜け量）ＳＵＲＩＮＵＫＥを算出する。反応形態ＬＫ（ステップ１０９）では、リーン成分の吸着反応であるため、Ｏ2 のすり抜け量を算出し、反応形態ＬＨ（ステップ１１０）では、触媒２７内に吸着されたリーン成分が流入ガスのリッチ成分で還元される反応であるため、Ｈ2 とＣＯとの合計すり抜け量を算出する。また、反応形態ＲＨ（ステップ１１１）では、触媒２７内に吸着されたリッチ成分が流入ガスのリーン成分で酸化される反応であるため、Ｏ2 のすり抜け量を算出し、反応形態ＲＫ（ステップ１１２）では、リッチ成分の吸着反応であるため、Ｈ2 とＣＯのすり抜け量を算出する。尚、Ａ１〜Ａ４は係数である。
【００４２】
次のステップ１１３〜１１６では、有効吸着割合ＹＵＫＯＵを算出し、続くステップ１１７〜１２０で、各反応形態を考慮して触媒２７内の吸着物質量ＯＳＩを算出する。この後、ステップ１２１〜１２４で、吸着物質量ＯＳＩを後述するようにガード処理する。ガード処理後、ステップ１２５〜１２４で、触媒２７から流出するガス中のＯ2 モル数Ｏ２ＯＵＴＭ，Ｈ2 モル数Ｈ２ＯＵＴＭ，ＣＯモル数ＣＯＯＵＴＭ，ＣＯ2 モル数ＣＯ２ＯＵＴＭ，Ｈ2 Ｏモル数Ｈ２ＯＯＵＴＭを各反応形態を考慮して算出する。更に、ステップ１２９〜１３２で、各反応形態を考慮して流出ガス中の無害な中性ガス成分（Ｈ2 Ｏ，ＣＯ2 ，Ｏ2 ）の合計モル数ＮＥＵＴＲＡＬＯＵＴを算出する。次のステップ１３３で、今回の処理で求めた吸着物質量ＯＳＩをＯＳＩＯＬＤとして記憶し、これを次回の処理に利用する。
【００４３】
［ガード処理］
上述したステップ１２１〜１２４で行われる吸着物質量ＯＳＩのガード処理１〜４は、図９〜図１２のフローチャートに従って行われる。このガード処理により、ＭＩＮＯＳＩ≦ＯＳＩ≦ＭＡＸＯＳＩとなる。この場合、吸着物質量ＯＳＩはリッチ成分がマイナス値となり、リーン成分がプラス値となる。従って、ＭＩＮＯＳＩはリッチ成分の最大吸着量であり、ＭＡＸＯＳＩはリーン成分の最大吸着量である。
【００４４】
反応形態ＬＫ（ＯＳＩＯＬＤ＞０，Ａ／Ｆ≧１４．６）の場合のガード処理１は、図９に示すように、まずステップ１４１で、吸着物質量ＯＳＩをＭＡＸＯＳＩと比較し、ＯＳＩ≧ＭＡＸＯＳＩの場合には、ステップ１４２に進んで、ＯＳＩ＝ＭＡＸＯＳＩとし、次のステップ１４３で、有効吸着割合ＹＵＫＯＵを０にする。また、ステップ１４４で、吸着物質量ＯＳＩがマイナス値（リッチ成分）と判定された場合には、ステップ１４５に進んで、ＯＳＩ＝０とし、次のステップ１４６で、触媒２７内でリーン成分の吸着反応が起こっているときにそのリーン成分の一部が触媒２７下流に離脱する量ＫＤＲＯＰ１Ｋを計算する。一方、上記ステップ１４１，１４４の判定がいずれも「Ｎｏ」の場合（０≦ＯＳＩ＜ＭＡＸＯＳＩ）には、吸着物質量ＯＳＩのガード処理は行われない。
【００４５】
また、反応形態ＬＨ（ＯＳＩＯＬＤ＞０，Ａ／Ｆ＜１４．６）の場合のガード処理２は、図１０に示すように、まずステップ１５１で、吸着物質量ＯＳＩがマイナス値（リッチ成分）と判定された場合には、ステップ１５２に進んで、ＯＳＩ＝０とし、次のステップ１５３で、触媒２７内に吸着されたリーン成分と流入ガスのリッチ成分との間で反応が起こっているときにリーン成分の一部が反応せずにそのまま触媒２７下流に離脱する量ＫＤＲＯＰ１Ｈを計算する。一方、上記ステップ１５１で、吸着物質量ＯＳＩがプラス値（リーン成分）と判定された場合には、吸着物質量ＯＳＩのガード処理は行われない。
【００４６】
また、反応形態ＲＨ（ＯＳＩＯＬＤ≦０，Ａ／Ｆ≧１４．６）の場合のガード処理３は、図１１に示すように、まずステップ１６１で、吸着物質量ＯＳＩがプラス値（リーン成分）と判定された場合には、ステップ１６２に進んで、ＯＳＩ＝０とし、次のステップ１６３で、触媒２７内に吸着されたリッチ成分と流入ガスのリーン成分との間で反応が起こっているときにリッチ成分の一部が反応せずにそのまま触媒２７下流に離脱する量ＫＤＲＯＰ２Ｈを計算する。一方、上記ステップ１６１で、吸着物質量ＯＳＩがマイナス値（リッチ成分）と判定された場合には、吸着物質量ＯＳＩのガード処理は行われない。
【００４７】
また、反応形態ＲＫ（ＯＳＩＯＬＤ≦０，Ａ／Ｆ＜１４．６）の場合のガード処理４は、図１２に示すように、まずステップ１７１で、吸着物質量ＯＳＩをＭＩＮＯＳＩと比較し、ＯＳＩ＜ＭＩＮＯＳＩの場合には、ステップ１７２に進んで、ＯＳＩ＝ＭＩＮＯＳＩとし、次のステップ１７３で、有効吸着割合ＹＵＫＯＵを０にする。また、ステップ１７４で、吸着物質量ＯＳＩがプラス値（リーン成分）と判定された場合には、ステップ１７５に進んで、ＯＳＩ＝０とし、次のステップ１７６で、触媒２７内でリッチ成分の吸着反応が起こっているときにそのリッチ成分の一部が触媒２７下流に離脱する量ＫＤＲＯＰ２Ｋを計算する。一方、上記ステップ１７１，１７４の判定がいずれも「Ｎｏ」の場合（ＭＩＮＯＳＩ≦ＯＳＩ≦０）には、吸着物質量ＯＳＩのガード処理は行われない。
【００４８】
［酸素センサ流入ガス成分判定］
次に、図１３のフローチャートに基づいて、触媒２７下流の酸素センサ２９に流入するガス成分を判定する処理を説明する。まず、ステップ２００で、酸素センサ２９に流入するガス成分のリーン成分とリッチ成分とのバランスを判定するためのリーン成分／リッチ成分の余剰モル数ＨＡＮＮＯＵとリッチ成分モル数ＣＯＨ２ＯＵＴＭを計算する。
【００４９】
続くステップ２０１〜２０３で、流入するガス成分のリーン成分とリッチ成分とのバランスを余剰モル数ＨＡＮＮＯＵの値によって判定する。ＨＡＮＮＯＵ＝０の場合（バランスが取れている場合）には、ステップ２０４，２０７に進み、中性ガス成分のモル数ＮＥＵＴＲＡＬＩＮＲを算出する。ＨＡＮＮＯＵ＞０（リーン成分が余剰）の場合には、ステップ２０５，２０８に進み、Ｏ2 モル数Ｏ２ＩＮＲと中性ガス成分のモル数ＮＥＵＴＲＡＬＩＮＲを算出する。ＨＡＮＮＯＵ＜０（リッチ成分が余剰）の場合には、ステップ２０６，２０９に進み、リッチ成分のモル数ＣＯＨ２ＩＮＲと中性ガス成分のモル数ＮＥＵＴＲＡＬＩＮＲを算出する。尚、ステップ２０７〜２０９において、ＰＡＲＴは、触媒２７から流出したガスが酸素センサ２９に流入する比率を示す定数である。
【００５０】
［センサ反応モデル］
触媒２７下流の酸素センサ２９は、白金電極の触媒作用により流入ガス中のリッチ成分とリーン成分（酸素）とを反応させて流入ガス中の残存酸素濃度を低下させ、その酸素濃度低下度合によって流入ガスのリッチ／リーンを検出する。つまり、流入ガスがリッチであれば、残存酸素濃度が大幅に低下し、リーンであれば、残存酸素濃度の低下幅が小さい。このように酸素センサ２９の内部でも、触媒２７と同様の触媒反応が起こるため、酸素センサ２９の出力を、触媒反応モデルと同様のセンサ反応モデルを用いて推定可能である。
【００５１】
このセンサ反応モデルを用いて酸素センサ２９の出力を推定する処理が図１４及び図１６に示されている。この処理では、まずステップ３００で、酸素センサ２９内の吸着物質のうち酸素センサ２９から離脱する量ＫＤＲＯＰ１ＲＫ，ＫＤＲＯＰ１ＲＨ，ＫＤＲＯＰ２ＲＨ，ＫＤＲＯＰ２ＲＫ（モル数）を、前回の処理で求められた吸着物質量ＯＳＲＯ２ＯＬＤに係数Ｋ１Ｒ，Ｋ２Ｒ，Ｋ３Ｒ，Ｋ４Ｒを乗算して求める。
【００５２】
ここで、ＫＤＲＯＰ１ＲＫは、酸素センサ２９内でリーン成分の吸着反応が起こっているときにそのリーン成分の一部がセンサ下流に離脱する量である。
【００５３】
ＫＤＲＯＰ１ＲＨは、酸素センサ２９内に吸着されたリーン成分と流入ガスのリッチ成分との間で反応が起こっているときにリーン成分の一部が反応せずにそのままセンサ下流に離脱する量である。
【００５４】
ＫＤＲＯＰ２ＲＨは、酸素センサ２９内に吸着されたリッチ成分と流入ガスのリーン成分との間で反応が起こっているときにリッチ成分の一部が反応せずにそのままセンサ下流に離脱する量である。
【００５５】
ＫＤＲＯＰ２ＲＫは、酸素センサ２９内でリッチ成分の吸着反応が起こっているときにそのリッチ成分の一部がセンサ下流に離脱する量である。
【００５６】
次のステップ３０１では、前回の処理で求められた吸着物質量ＯＳＲＯ２ＯＬＤの±を判別することで、吸着物質がリーン成分（＋）であるか、リッチ成分（−）であるかを判別する。更に、ステップ３０２，３０３では、前述した図１３のステップ２００で算出されたリーン成分／リッチ成分の余剰モル数ＨＡＮＮＯＵの±を判別することで、流入ガスのリーン／リッチを判別する。これらステップ３０１〜３０３の処理により、酸素センサ２９内での反応を前掲した表１に示すように４つの反応形態ＬＫ，ＬＨ，ＲＨ，ＲＫに分類し、ステップ３０４〜３０７で、各反応形態毎に吸着物質量ＯＳＲＯ２を算出する。センサ反応モデルは、触媒反応モデルと基本的に同じ（サイズが小さいだけ）であるが、センサ反応モデルでは、未反応部分の存在（すり抜け）を無視できる（ＹＯＵＫＯＵＲ＝１）。従って、すり抜けに関する図７のステップ１０５〜１１６の処理は省略されている。
【００５７】
以上のようにして各反応形態毎に吸着物質量ＯＳＲＯ２を算出した後、ステップ３０８〜３１１で、吸着物質量ＯＳＲＯ２を後述するようにガード処理する。ガード処理後、ステップ３１２〜３１５で、酸素センサ２９から流出するガス中のＯ2 モル数Ｏ２ＯＵＴＲ，リッチ成分モル数ＣＯＨ２ＯＵＴＲ，中性ガス成分のモル数ＮＥＵＴＲＡＬＯＵＴＲを算出する。
【００５８】
この後、ステップ３１６に進み、酸素センサ２９から流出するガス全体の合計モル数ＴＯＴＡＬＲを算出し、続くステップ３１７で、流出ガス中のＯ2 ガス濃度ＰＯ２Ｒを算出し、更に、ステップ３１８で、流出ガス中のリッチ成分ガス濃度ＰＣＯＨ２Ｒを算出する。次のステップ３１９で、流出ガス中のＯ2 ガス濃度ＰＯ２Ｒとリッチ成分ガス濃度ＰＣＯＨ２Ｒとの濃度差ＰＧＤＥＬＲを算出し、続くステップ３２０で、この濃度差ＰＧＤＥＬＲに応じて所定のセンサ出力電圧テーブル（図１６参照）に基づいて酸素センサ２９の出力電圧推定値ＲＶＴＭを算出する。この後、ステップ３２１で、今回の処理で求めた吸着物質量ＯＳＲＯ２をＯＳＲＯ２ＯＬＤとして記憶し、これを次回の処理に利用する。
【００５９】
［ガード処理］
上述したステップ３０８〜３１１で行われる吸着物質量ＯＳＲＯ２のガード処理１〜４は、図１７〜図２０のフローチャートに従って行われる。このガード処理により、ＭＩＮＯＳＲＯ２≦ＯＳＲＯ２≦ＭＡＸＯＳＲＯ２となる。この場合、吸着物質量ＯＳＲＯ２はリッチ成分がマイナス値となり、リーン成分がプラス値となる。従って、ＭＩＮＯＳＲＯ２はリッチ成分の最大吸着量であり、ＭＡＸＯＳＲＯ２はリーン成分の最大吸着量である。
【００６０】
反応形態ＬＫ（ＯＳＲＯ２ＯＬＤ＞０，ＨＡＮＮＯＵ≧０）の場合のガード処理１は、図１７に示すように、まずステップ３４１で、吸着物質量ＯＳＲＯ２をＭＡＸＯＳＲＯ２と比較し、ＯＳＲＯ２≧ＭＡＸＯＳＲＯ２の場合には、ステップ３４２に進んで、ＯＳＲＯ２＝ＭＡＸＯＳＲＯ２に設定する。また、ステップ３４３で、吸着物質量ＯＳＲＯ２がマイナス値（リッチ成分）と判定された場合には、ステップ３４４に進んで、ＯＳＲＯ２＝０とし、次のステップ３４５で、酸素センサ２９内でリーン成分の吸着反応が起こっているときにそのリーン成分の一部がセンサ下流に離脱する量ＫＤＲＯＰ１ＲＫを計算する。一方、上記ステップ３４１，３４３の判定がいずれも「Ｎｏ」の場合（０≦ＯＳＲＯ２＜ＭＡＸＯＳＲＯ２）には、吸着物質量ＯＳＲＯ２のガード処理は行われない。
【００６１】
また、反応形態ＬＨ（ＯＳＲＯ２ＯＬＤ＞０，ＨＡＮＮＯＵ＜０）の場合のガード処理２は、図１８に示すように、まずステップ３５１で、吸着物質量ＯＳＲＯ２がマイナス値（リッチ成分）と判定された場合には、ステップ３５２に進んで、ＯＳＲＯ２＝０とし、次のステップ３５３で、酸素センサ２９内に吸着されたリーン成分と流入ガスのリッチ成分との間で反応が起こっているときにリーン成分の一部が反応せずにそのままセンサ下流に離脱する量ＫＤＲＯＰ１ＲＨを計算する。一方、上記ステップ３５１で、吸着物質量ＯＳＲＯ２がプラス値（リーン成分）と判定された場合には、吸着物質量ＯＳＲＯ２のガード処理は行われない。
【００６２】
また、反応形態ＲＨ（ＯＳＲＯ２ＯＬＤ≦０，ＨＡＮＮＯＵ≧０）の場合のガード処理３は、図１９に示すように、まずステップ３６１で、吸着物質量ＯＳＲＯ２がプラス値（リーン成分）と判定された場合には、ステップ３６２に進み、ＯＳＲＯ２＝０とし、次のステップ３６３で、酸素センサ２９内に吸着されたリッチ成分と流入ガスのリーン成分との間で反応が起こっているときにリッチ成分の一部が反応せずにそのままセンサ下流に離脱する量ＫＤＲＯＰ２ＲＨを計算する。一方、上記ステップ３６１にて、吸着物質量ＯＳＲＯ２がマイナス値（リッチ成分）と判定された場合には、吸着物質量ＯＳＲＯ２のガード処理は行われない。
【００６３】
また、反応形態ＲＫ（ＯＳＲＯ２ＯＬＤ≦０，ＨＡＮＮＯＵ＜０）の場合のガード処理４は、図２０に示すように、まずステップ３７１で、吸着物質量ＯＳＲＯ２をＭＩＮＯＳＲＯ２と比較し、ＯＳＲＯ２＜ＭＩＮＯＳＲＯ２の場合には、ステップ３７２に進んで、ＯＳＲＯ２＝ＭＩＮＯＳＲＯ２に設定する。また、ステップ３７３で、吸着物質量ＯＳＲＯ２がプラス値（リーン成分）と判定された場合には、ステップ３７４に進んで、ＯＳＲＯ２＝０とし、次のステップ３７５で、酸素センサ２９内でリッチ成分の吸着反応が起こっているときにそのリッチ成分の一部がセンサ下流に離脱する量ＫＤＲＯＰ２ＲＫを計算する。一方、上記ステップ３７１，３７３の判定がいずれも「Ｎｏ」の場合（ＭＩＮＯＳＲＯ２≦ＯＳＲＯ２≦０）には、吸着物質量ＯＳＲＯ２のガード処理は行われない。
【００６４】
［触媒状態判定］
図２１に示す触媒状態判定ルーチンでは、まずステップ４００で、触媒２７内の吸着物質量ＯＳＩが第１の所定範囲内（Ｒ１≦ＯＳＩ≦Ｌ１）か否かを判定する。ここで、Ｒ１はリッチ側の限界値（マイナス値）で、Ｌ１はリーン側の限界値（プラス値）である。もし、吸着物質量ＯＳＩが第１の所定範囲外になれば、ステップ４０３に進み、後述する目標λ設定処理２を実行し、吸着物質量ＯＳＩを速やかに減少させる。一方、吸着物質量ＯＳＩが第１の所定範囲内に収まっていれば、ステップ４０１に進み、後述する目標λ設定切替フラグＦＬＡＧの値によって目標λ設定処理１（ステップ４０２）又は目標λ設定処理２（ステップ４０３）のいずれかを選択して実行する。ここで、目標λとは目標空気過剰率を意味し、次式で表される。
目標λ＝目標空燃比／理論空燃比
従って、目標λを設定することで、目標空燃比を設定することにもなる。
【００６５】
［目標λ設定処理１］
触媒２７内の吸着物質量ＯＳＩが第１の所定範囲内で、ＦＬＡＧ＝１の場合に実行される目標λ設定処理１は、図２２に示されている。この目標λ設定処理１は、吸着物質量ＯＳＩに応じて目標λを設定するものである。この目標λ設定処理１では、まずステップ５００で、目標λ設定切替フラグＦＬＡＧが２であるか否か、つまり前回の目標λＴＧの設定が目標λ設定処理２で行われたか否かを判定し、「Ｙｅｓ」であれば、ステップ５１１に進み、目標λＴＧを１に設定し、目標λ設定切替フラグＦＬＡＧを１にセットした後、ステップ５１３に進み、そのときのリッチ／リーンを記憶して本ルーチンを終了する。
【００６６】
その後、本ルーチンが続けて実行されるときには、ステップ５００，５０１を経てステップ５０２に進み、触媒２７内の吸着物質量ＯＳＩがプラス値であるか否かによって触媒２７内がリーン状態であるか否かを判定し、リーン状態であれば、ステップ５０３に進み、前回処理で求めた吸着物質量ＯＳＩＯＬＤがプラス値であるか否かによって、前回も今回もリーンであるか、或は、前回リッチで今回リーンに反転したか否かを判定する。前回も今回もリーンである場合には、ステップ５０５に進んで、演算タイミング毎に目標λＴＧを所定値λＩＲだけリッチ側に修正する（積分項）。また、前回リッチで今回リーンに反転した場合には、ステップ５０６に進んで、リッチ側へのスキップ量λＳＫＲを前回の吸着物質量ＯＳＩＯＬＤに応じて図２３（ａ）に示すテーブルから求める。この後、ステップ５０７に進み、目標λＴＧをλＩＲ＋λＳＫＲだけリッチ側に修正し、そのときのリッチ／リーンを記憶して（ステップ５１３）、本ルーチンを終了する。
【００６７】
一方、ステップ５０２で、ＯＳＩ≦０の場合、つまり触媒２７内がリッチ状態である場合には、ステップ５０４に進み、前回処理で求めた吸着物質量ＯＳＩＯＬＤがマイナス値であるか否かによって、前回も今回もリッチであるか、或は、前回リーンで今回リッチに反転したか否かを判定する。前回も今回もリッチである場合には、ステップ５０８に進み、演算タイミング毎に目標λＴＧを所定値λＩＬだけリーン側に修正する。また、前回リーンで今回リッチに反転した場合には、ステップ５０９に進み、リーン側へのスキップ量λＳＫＬを前回の吸着物質量ＯＳＩＯＬＤに応じて図２３（ｂ）に示すテーブルから求める。この後、ステップ５１０に進み、目標λＴＧをλＩＬ＋λＳＫＬだけリーン側に修正し、そのときのリッチ／リーンを記憶して（ステップ５１３）、本ルーチンを終了する。
【００６８】
以上説明した目標λ設定処理１により目標λＴＧを設定する場合の挙動が図２４のタイムチャートに示されている。上述したように、リッチ／リーンが反転したときに、スキップ量λＳＫＲ，λＳＫＬを前回の吸着物質量ＯＳＩＯＬＤに応じて変化させることで、常に目標λＴＧを１付近に保つことができる。
【００６９】
尚、上述したステップ５０６，５０９では、スキップ量λＳＫＲ，λＳＫＬをテーブル検索により算出するようにしたが、次式のように、触媒２７内の吸着物質量ＯＳＩに定数Ｃ１，Ｃ２を乗算して求めるようにしても良い。
λＳＫＲ＝Ｃ１×ＯＳＩ
λＳＫＬ＝Ｃ２×（−ＯＳＩ）
【００７０】
［目標λ設定処理２］
触媒２７内の吸着物質量ＯＳＩが第１の所定範囲外の場合、又は目標λ設定切替フラグＦＬＡＧが１以外の場合には、図２５に示す目標λ設定処理２が実行される。この目標λ設定処理２では、まずステップ６００で、目標λ設定切替フラグＦＬＡＧを２にセットし、次のステップ６０１で、触媒２７内の吸着物質量ＯＳＩがプラス値であるか否かによって触媒２７内がリーン状態であるか否かを判定し、リーン状態であれば、ステップ６０２に進み、図２６（ａ）に示すテーブルから目標λであるλＳＴＲをエンジン１１の筒内空気量に応じて求め、このλＳＴＲを目標λＴＧとする（ステップ６０３）。これにより、触媒２７内がリーン状態であるときに、それとは反対のリッチ成分のガスが触媒２７内に流入するように目標λＴＧが設定される。
【００７１】
一方、ステップ６０１で、ＯＳＩ≦０の場合、つまり触媒２７内がリッチ状態である場合には、ステップ６０４に進んで、図２６（ｂ）に示すテーブルから目標λであるλＳＴＬをエンジン１１の筒内空気量に応じて求め、このλＳＴＬを目標λＴＧとする（ステップ６０５）。これにより、触媒２７内がリッチ状態であるときに、それとは反対のリーン成分のガスが触媒２７内に流入するように目標λＴＧが設定される。
【００７２】
この後、ステップ６０６で、触媒２７内の吸着物質量ＯＳＩが第２の所定範囲内（Ｒ２≦ＯＳＩ≦Ｌ２）か否かを判定する。第２の所定範囲は、この目標λ設定処理２から図２２の目標λ設定処理１へ復帰するタイミングを判定するものであり、前述した図２３のステップ４００で判定する第１の所定範囲（Ｒ１〜Ｌ１）よりも幅が狭く、Ｒ１≦Ｒ２＜０＜Ｌ２≦Ｌ１の関係に設定されている。これにより、目標λ設定処理１と目標λ設定処理２の切り替えにヒステリシスを持たせて、制御を安定させる。そして、Ｒ２≦ＯＳＩ≦Ｌ２になれば、ステップ６０７に進み、目標λ設定切替フラグＦＬＡＧを１にセットし、次回の処理では、図２２の目標λ設定処理１を実行する。
【００７３】
以上説明したように、触媒２７内の吸着物質量ＯＳＩが第１の所定範囲外になったときに、目標λＴＧをエンジン１１の筒内空気量に応じて設定することにより、図２９に示すように、吸着物質量ＯＳＩを速やかに低減することができ、排出ガス浄化能力を良好に維持できる。
【００７４】
［触媒容量変化推定］
図２８及び図２９に示す触媒容量変化推定処理では、燃料カット復帰後に図１５のステップ３２０で算出した酸素センサ２９の出力推定値ＲＶＴＭと実出力ＲＶＴＳがリーンからリッチへ反転するまでの時間ＴＳ，ＴＭの比によって触媒２７の容量変化を判定するものである（図３０のタイムチャート参照）。
【００７５】
具体的には、まず、図２８のステップ７００で、燃料カット信号（燃料カットフラグＦＦＣの値）を取り込み、次のステップ７０１で、燃料カットフラグの現在値ＦＦＣと前回値ＦＦＣＯとの差ＤＦＦＣを算出し、このＤＦＦＣが−１であるか否かによって燃料カット復帰であるか否かを判定する（ステップ７０２）。燃料カット復帰（ＤＦＦＣ＝−１）であれば、ステップ７０３に進んで、タイムカウントフラグＣＳ，ＣＭを共にタイムカウント中であることを示す“１”に設定する。次のステップ７０４にて、酸素センサ２９の実出力ＲＶＴＳを０．４５（Ｖ）と比較し、ＲＶＴＳ＞０．４５、つまり実出力ＲＶＴＳの反転タイミングに至れば、ステップ７０５に進み、タイムカウントフラグＣＳを“０”にリセットする。
【００７６】
次のステップ７０６では、図１７のステップ３２０で算出した酸素センサ２９の推定出力ＲＶＴＭを０．４５（Ｖ）と比較し、ＲＶＴＭ＞０．４５、つまり推定出力ＲＶＴＭの反転タイミングに至れば、ステップ７０７に進んで、タイムカウントフラグＣＭを“０”にリセットする。次のステップ７０８で、タイムカウントフラグＣＳがタイムカウント中であることを示す“１”であるか否かを判定し、ＣＳ＝１であれば、ステップ７０９に進み、実出力ＲＶＴＳがリーンからリッチへ反転するまでの時間ＴＳをカウントするタイムカウンタＣＣＳを１カウントアップする。更に、ステップ７１０で、このタイムカウンタＣＣＳの値に定数Ｄを乗算して、燃料カット復帰後に実出力ＲＶＴＳがリーンからリッチへ反転するまでの時間ＴＳを求める。
【００７７】
次のステップ７１１では、タイムカウントフラグＣＭがタイムカウント中であることを示す“１”であるか否かを判定し、ＣＭ＝１であれば、ステップ７１２に進んで、推定出力ＲＶＴＭがリーンからリッチへ反転するまでの時間ＴＭをカウントするタイムカウンタＣＣＭを１カウントアップする。更に、ステップ７１３で、このタイムカウンタＣＣＭの値に定数Ｄを乗算して、燃料カット復帰後に推定出力ＲＶＴＭがリーンからリッチへ反転するまでの時間ＴＭを求める。
【００７８】
この後、ステップ７１４で、触媒２７の容量変化率ＢＡＩＲＩＴＵを次式により算出する。
ＢＡＩＲＩＴＵ＝ＴＳ／ＴＭ×Ｅ      （Ｅ：定数）
【００７９】
上式により算出される触媒２７の容量変化率ＢＡＩＲＩＴＵは、触媒２７の最大吸着容量に対する現在容量の比率である。次のステップ７１５で、現在のリーン成分の最大吸着量ＭＡＸＯＳＩをＭＡＸＯＳＩＯＤに容量変化率ＢＡＩＲＩＴＵを掛け合わせて算出し、現在のリッチ成分の最大吸着量ＭＩＮＯＳＩをＭＩＮＯＳＩＯＤに容量変化率ＢＡＩＲＩＴＵを掛け合わせて算出する。ここで、ＭＡＸＯＳＩＯＤは、新品触媒での完全暖機後のリーン成分の最大吸着量であり、ＭＩＮＯＳＩＯＤは、新品触媒での完全暖機後のリーン成分の最大吸着量である。その後、ステップ７１６で、エンジン冷却水温Ｔｈｗが８０℃以上、つまり完全暖機後であるか否かを判定し、完全暖機前であれば、以降の処理を行わずに本ルーチンを終了する。
【００８０】
完全暖機後であれば、ステップ７１７に進んで、容量変化率ＢＡＩＲＩＴＵの変化が所定範囲内に入ったか否かを判定し、所定範囲内に入っていれば、ステップ７１８に進み、触媒劣化度合ＤＥＴＥＲＩＯを次式により算出する。
ＤＥＴＥＲＩＯ＝ＭＡＸＯＳＩ／ＭＡＸＯＳＩＯＤ
【００８１】
ここで、ＭＡＸＯＳＩは、現在のリーン成分の最大吸着量であり、ＭＡＸＯＳＩＯＤは、新品触媒での完全暖機後のリーン成分の最大吸着量である。次のステップ７１９で、触媒劣化度合ＤＥＴＥＲＩＯを所定の劣化判定値Ｆと比較し、ＤＥＴＥＲＩＯ≦Ｆであれば、触媒劣化と判定される。以上の処理により、ＤＥＴＥＲＩＯ≦Ｆ（触媒劣化）の状態が所定回数続いた時に、最終的に触媒劣化と判定され、警告ランプ３７を点灯させて警告表示する（ステップ７２０）。
【００８２】
［空燃比制御］
前述した図２２又は図２５の処理で求められた目標λＴＧを用いて、図３１の空燃比制御処理により空燃比が目標λＴＧに一致するように制御される。具体的には、まずステップ８０１で、吸気管圧力ＰＭ、エンジン回転数Ｎｅ等の運転状態パラメータに基づいて基本燃料噴射量ＴＰを算出し、続くステップ８０２で、空燃比のフィードバック条件が成立しているか否かを判定する。ここで、フィードバック条件としては、エンジン冷却水温Ｔｈｗが所定温度以上であること、運転状態が高回転・高負荷領域ではないこと等があり、これらの条件を全て満たしたときにフィードバック条件が成立し、ステップ８０４に進むが、フィードバック条件が不成立の場合には、空燃比補正係数ＦＡＦを１．０に設定してオープンループ制御を行う。
【００８３】
フィードバック条件が成立している場合には、ステップ８０４で、前述した図２２又は図２５の処理で求められた目標λＴＧを用い、空燃比補正係数ＦＡＦを算出する（ステップ８０５）。この後、ステップ８０６で、燃料噴射量ＴＡＵを次式により算出する。
ＴＡＵ＝ＴＰ×ＦＡＦ×ＦＡＬＬ      （ＦＡＬＬ：他の補正係数）
【００８４】
［制御特性］
図３２は、本実施例による空燃比制御と従来の空燃比制御とを対比して示すタイムチャートである。本実施例では、触媒反応モデルを用いて吸着物質量ＯＳＩを推定し、その吸着物質量ＯＳＩが所定範囲内に収まるように目標λ（目標空燃比）を設定するようにしたので、従来と比較して、排出ガス中のリーン成分とリッチ成分を低減することができ、排出ガス浄化能力を高めることができる。
【００８５】
以上説明した実施例では、図２２の目標λ設定処理１において、ステップ５０２〜５０４で、触媒２７内の吸着物質量ＯＳＩ，ＯＳＩＯＬＤの正負によってリッチ／リーンを判別すると共に、目標λＴＧのスキップ量λＳＫＲ，λＳＫＬを吸着物質量ＯＳＩＯＬＤに応じてテーブル検索して求めるようにしている（ステップ５０６，５０９）。
【００８６】
これに対し、図３３及び図３４に示す本発明の実施形態（２）では、ステップ５０２ａ〜５０４ａで、酸素センサ２９の出力電圧ＲＶＴＳによってリッチ／リーンを判別すると共に、目標λＴＧのスキップ量λＳＫＲ，λＳＫＬを酸素センサ２９の出力電圧ＲＶＴＳに応じて図３４に示すテーブルから求める（ステップ５０６ａ，５０９ａ）。これ以外の処理は、前述した図２２の処理と同じである。このようにしても前述した実施例と同様の効果を得ることができる。
【００８７】
また、上記実施形態では、図２１、図２２に示されるように、吸着物質量ＯＳＩが所定範囲内のときには吸着物質量ＯＳＩに応じて目標空燃比λＴＧを設定し、所定範囲外のときには内燃機関の筒内空気量に応じて目標空燃比λＴＧを設定しているが、吸着物質の量に関係なく常に吸着物質量ＯＳＩに応じて目標空燃比λＴＧを設定するようにしても良い。これに関して、図３５、図３６に２つの実施例を示している。尚、この場合、図２１にて実行される触媒状態判定は行う必要がない。
【００８８】
図３５に示す実施形態（３）では、図２２のステップ５００，５０１，５１１，５１２を省略することにより、吸着物質量ＯＳＩに応じてのみ目標空燃比λＴＧを設定するようにしている。尚、図３５のフローチャートの各ステップの処理は図２２と同じであるため説明を省略する。
【００８９】
また、図３６に示す実施形態（４）では、目標λ設定処理が実行されると、まずステップ９００にて吸着物質量ＯＳＩが０以上か否かで空燃比がリーンかリッチかを判断する。吸着物質量ＯＳＩが０以上のとき、つまり空燃比がリーンのときには、ステップ９０１に進み、目標空燃比λＴＧを吸着物質量ＯＳＩに応じて次式により算出して本処理を終了する。
λＴＧ＝λＴＧ−Ｃ１・ＯＳＩ
【００９０】
また、ステップ９００にて吸着物質量ＯＳＩが０より小さいとき、つまり空燃比がリッチのときには、ステップ９０２に進み、目標空燃比λＴＧを吸着物質量ＯＳＩに応じて次式により算出して本処理を終了する。
λＴＧ＝λＴＧ＋Ｃ２・（−ＯＳＩ）
以上の処理を実行することにより、吸着物質量ＯＳＩに応じてのみ目標空燃比λＴＧを設定するようにしても良い。
【００９１】
以上説明した各実施形態では、触媒２７の下流に設置する下流センサとして酸素センサ２７を用いたが、空燃比センサ（Ａ／Ｆセンサ）を用いるようにしても良い。この場合、空燃比センサは、作動電圧が印加されているときには排出ガスの空燃比に応じたリニアな空燃比信号を出力するリニアＡ／Ｆセンサとして動作し、作動電圧が印加されていないときには排出ガスの空燃比がリッチかリーンかのみを検出する（リッチかリーンかで出力が反転する）酸素センサとして動作する。
【００９２】
以下、触媒２７の下流に空燃比センサを設置した実施形態（５）について図３７乃至図４４を参照して説明する。以下、触媒２７の下流の空燃比センサを下流側空燃比センサと呼び、前述した実施形態（１）と異なる部分についてのみ説明する。
【００９３】
［下流側空燃比センサ流入ガス成分判定］
図３７のフローチャートに基づいて、下流側空燃比センサに流入するガス成分を判定する処理を説明する。まず、ステップ１２００で、下流側空燃比センサに流入するガス成分のリーン成分とリッチ成分とのバランスを判定するためのリーン成分／リッチ成分の余剰モル数ＨＡＮＮＯＵとリッチ成分モル数ＣＯＨ２ＯＵＴＭを計算する。
【００９４】
続くステップ１２０１〜１２０３で、流入するガス成分のリーン成分とリッチ成分とのバランスを余剰モル数ＨＡＮＮＯＵの値によって判定する。ＨＡＮＮＯＵ＝０の場合（バランスが取れている場合）には、ステップ１２０４，１２０７に進み、中性ガス成分のモル数ＮＥＵＴＲＡＬＩＮＲを算出する。
【００９５】
また、ＨＡＮＮＯＵ＞０（リーン成分が余剰）の場合には、ステップ１２０５，１２０８に進み、Ｏ2 モル数Ｏ２ＩＮＲと中性ガス成分のモル数ＮＥＵＴＲＡＬＩＮＲを算出する。一方、ＨＡＮＮＯＵ＜０（リッチ成分が余剰）の場合には、ステップ１２０６，１２０９に進み、リッチ成分のモル数ＣＯＨ２ＩＮＲと中性ガス成分のモル数ＮＥＵＴＲＡＬＩＮＲを算出する。尚、ステップ１２０７〜１２０９において、ＰＡＲＴは、触媒２７から流出したガスが下流側空燃比センサに流入する比率を示す定数である。
【００９６】
［下流側空燃比センサ出力推定］
前記実施形態（１）では、触媒２７の下流に設置された酸素センサ２９の出力を触媒反応モデルと同様の原理のセンサ反応モデルを用いて推定したが、この実施形態（５）では、触媒反応モデルを用いて求めた触媒２７下流に流出する流出ガス成分量を一次遅れ系で処理して下流側空燃比センサの出力を推定する。これは、下流側空燃比センサの出力は、触媒２７下流に流出する流出ガス成分量の変化に応じて変化し、流出ガス成分量の変化が下流側空燃比センサの出力を変化させる関係は一次遅れ系で近似できるためである。
【００９７】
図３７のフローチャートに基づいて下流側空燃比センサの出力を推定する処理の流れを説明する。まず、ステップ１３００で、下流側空燃比センサに流入するＯ2 モル数Ｏ２ＩＮＲ（図３７のステップ１２０８で算出された値）が０より大きいか否かで、下流側空燃比センサに流入するガスがリーンかリッチかを判別し、Ｏ２ＩＮＲ＞０（リーン）の場合には、ステップ１３０１に進んで、流入ガス中のリーン成分濃度を次式により算出する。
リーン成分濃度＝Ｏ２ＩＮＲ／（ＮＥＵＴＲＡＬＩＮＲ＋Ｏ２ＩＮＲ）
【００９８】
ここで、ＮＥＵＴＲＡＬＩＮＲは、図３７のステップ１２０８で算出された中性ガス成分のモル数である。そして、次のステップ１３０２で、流入ガス中のリーン成分濃度から空燃比ｔＡ／Ｆを換算するテーブルＬ［図３９（ａ）参照］を用いて、ステップ１３０１で算出したリーン成分濃度に対応する空燃比テーブル値ｔＡ／Ｆを求める。
【００９９】
次のステップ１３０３で、この空燃比テーブル値ｔＡ／Ｆを一次遅れ系▲１▼で処理して下流側空燃比センサの出力推定値ＲＡ／ＦＭを算出する。一次遅れ系▲１▼としては、次の（１）式又は（２）式のいずれかを用いれば良い。
ＲＡ／ＦＭ＝ｔＡ／Ｆ・（１−ｅ-ktimeL ）      ……（１）
ＲＡ／ＦＭ＝ｔＡ／Ｆ・（１−ｋnamasiL ）＋前回ＲＡ／ＦＭ・ｋnamasiL ……（２）
【０１００】
ここで、ｋtimeL はリーン時の一次遅れ系の時定数、ｋnamasiL はリーン時のなまし係数である。尚、（２）式は一般になまし処理と呼ばれているが、なまし処理も一次遅れの要素を含み、（１）式とほぼ同じ結果が得られる。従って、特許請求の範囲で言う一次遅れ系とは、なまし処理も含む広義の概念であり、一次遅れの要素を含む系であれば良い。
【０１０１】
一方、前記ステップ１３００で、Ｏ２ＩＮＲ≦０と判断された場合には、ステップ１３０４に進み、下流側空燃比センサに流入するリッチ成分のモル数ＣＯＨ２ＩＮＲ（図３７のステップ１２０９で算出された値）が０より大きいか否かで、下流側空燃比センサに流入するガスがリッチかリーンかを判別する。そして、ＣＯＨ２ＩＮＲ＞０（リッチ）の場合には、ステップ１３０５に進んで、リッチ成分濃度を次式により算出する。
リッチ成分濃度＝ＣＯＨ２ＩＮＲ／（ＮＥＵＴＲＡＬＩＮＲ＋ＣＯＨ２ＩＮＲ）
【０１０２】
ここで、ＮＥＵＴＲＡＬＩＮＲは、図３７のステップ１２０９で算出された中性ガス成分のモル数である。そして、次のステップ１３０６で、流入ガス中のリッチ成分濃度から空燃比ｔＡ／Ｆを換算するテーブルＲ［図３９（ｂ）参照］を用いて、ステップ１３０５で算出したリッチ成分濃度に対応する空燃比テーブル値ｔＡ／Ｆを求める。
【０１０３】
次のステップ１３０７で、この空燃比テーブル値ｔＡ／Ｆを一次遅れ系▲２▼で処理して下流側空燃比センサの出力推定値ＲＡ／ＦＭを算出する。一次遅れ系▲２▼としては、次の（３）式又は（４）式のいずれかを用いれば良い。
【０１０４】
ＲＡ／ＦＭ＝ｔＡ／Ｆ・（１−ｅ-ktimeR ）      ……（３）
ＲＡ／ＦＭ＝ｔＡ／Ｆ・（１−ｋnamasiR ）＋前回ＲＡ／ＦＭ・ｋnamasiR ……（４）
ここで、ｋtimeR はリッチ時の一次遅れ系の時定数、ｋnamasiR はリッチ時のなまし係数である。
【０１０５】
一方、前述したステップ１３００とステップ１３０４のいずれでも「Ｎｏ」と判定された場合、つまり流入ガスがリーンでもリッチでもない、ストイキの場合には、ステップ１３０８に進み、下流側空燃比センサの出力推定値ＲＡ／ＦＭを目標空燃比Ａ／Ｆ０に設定し、次のステップ１３０９で、この値Ａ／Ｆ０を一次遅れ系▲３▼で処理して下流側空燃比センサの出力推定値ＲＡ／ＦＭを算出する。一次遅れ系▲３▼としては、次の（５）式又は（６）式のいずれかを用いれば良い。
【０１０６】
ＲＡ／ＦＭ＝Ａ／Ｆ０・（１−ｅ-ktimeN ）      ……（５）
ＲＡ／ＦＭ＝Ａ／Ｆ０・（１−ｋnamasiN ）＋前回ＲＡ／ＦＭ・ｋnamasiN ……（６）
ここで、ｋtimeN はストイキ時の一次遅れ系の時定数、ｋnamasiN はストイキ時のなまし係数である。
【０１０７】
このように流入ガス成分量に応じて一次遅れ系の時定数を切り換えることで、流入ガス成分量に応じた最適な時定数を設定することができ、下流側空燃比センサの出力の推定精度を向上させることができる。
【０１０８】
［触媒容量変化推定］
図４０及び図４１に示す触媒容量変化推定処理では、燃料カット復帰後に図３８のステップ１３０３で算出した下流側空燃比センサの出力推定値ＲＡ／ＦＭと実出力ＲＡ／ＦＳがリーン状態から目標空燃比Ａ／Ｆ０に達するまでの時間ＴＳ，ＴＭの比によって触媒２７の容量変化と最大容量（最大吸着量）を判定するものであり、前記実施形態（１）で行った図２８と図２９の処理に対応する処理である。
【０１０９】
具体的には、まず、図４０のステップ１７００で、燃料カット信号（燃料カットフラグＦＦＣの値）を取り込み、次のステップ１７０１で、燃料カットフラグの現在値ＦＦＣと前回値ＦＦＣＯとの差ＤＦＦＣを算出し、このＤＦＦＣが−１であるか否かによって燃料カット復帰であるか否かを判定する（ステップ１７０２）。燃料カット復帰（ＤＦＦＣ＝−１）であれば、ステップ１７０３に進んで、タイムカウントフラグＣＳ，ＣＭを共にタイムカウント中であることを示す“１”に設定する。次のステップ１７０４で、下流側空燃比センサの実出力ＲＡ／ＦＳを目標空燃比Ａ／Ｆ０と比較し、ＲＡ／ＦＳ＞Ａ／Ｆ０、つまり実出力ＲＡ／ＦＳがリッチ側に至れば、ステップ１７０５に進み、タイムカウントフラグＣＳを“０”にリセットする。
【０１１０】
次のステップ１７０６では、図３８のステップ１３０３で算出した下流側空燃比センサの推定出力ＲＡ／ＦＭを目標空燃比Ａ／Ｆ０と比較し、ＲＡ／ＦＭ＞Ａ／Ｆ０つまり推定出力ＲＡ／ＦＭがリッチ側に至れば、ステップ１７０７に進んで、タイムカウントフラグＣＭを“０”にリセットする。次のステップ１７０８で、タイムカウントフラグＣＳがタイムカウント中であることを示す“１”であるか否かを判定し、ＣＳ＝１であれば、ステップ１７０９に進み、実出力ＲＡ／ＦＳがリーン状態から目標空燃比Ａ／Ｆ０に達するまでの時間ＴＳをカウントするタイムカウンタＣＣＳを１カウントアップする。更に、ステップ１７１０で、このタイムカウンタＣＣＳの値に定数Ｄを乗算して、燃料カット復帰後に実出力ＲＡ／ＦＳがリーン状態から目標空燃比Ａ／Ｆ０に達するまでの時間ＴＳを求める。
【０１１１】
次のステップ１７１１では、タイムカウントフラグＣＭがタイムカウント中であることを示す“１”であるか否かを判定し、ＣＭ＝１であれば、ステップ１７１２に進んで、推定出力ＲＡ／ＦＭがリーン状態から目標空燃比Ａ／Ｆ０に達するまでの時間ＴＭをカウントするタイムカウンタＣＣＭを１カウントアップする。更に、ステップ１７１３で、このタイムカウンタＣＣＭの値に定数Ｄを乗算して、燃料カット復帰後に推定出力ＲＡ／ＦＭがリーン状態から目標空燃比Ａ／Ｆ０に達するまでの時間ＴＭを求める。
【０１１２】
この後、ステップ１７１４で、触媒２７の容量変化率ＢＡＩＲＩＴＵを次式により算出する。
ＢＡＩＲＩＴＵ＝ＴＳ／ＴＭ×Ｅ      （Ｅ：定数）
【０１１３】
上式により算出される触媒２７の容量変化率ＢＡＩＲＩＴＵは、触媒２７の最大吸着容量（最大容量）に対する現在容量の比率である。次のステップ１７１５で、現在のリーン成分の最大吸着量ＭＡＸＯＳＩをＭＡＸＯＳＩＯＤに容量変化率ＢＡＩＲＩＴＵを掛け合わせて算出し、現在のリッチ成分の最大吸着量ＭＩＮＯＳＩをＭＩＮＯＳＩＯＤに容量変化率ＢＡＩＲＩＴＵを掛け合わせて算出する。ここで、ＭＡＸＯＳＩＯＤは、新品触媒での完全暖機後のリーン成分の最大吸着量であり、ＭＩＮＯＳＩＯＤは、新品触媒での完全暖機後のリーン成分の最大吸着量である。この後、ステップ１７１６で、エンジン冷却水温Ｔｈｗが８０℃以上、つまり完全暖機後であるか否かを判定し、完全暖機前であれば、以降の処理を行わずに本ルーチンを終了する。
【０１１４】
完全暖機後であれば、ステップ１７１７に進んで、容量変化率ＢＡＩＲＩＴＵの変化が所定範囲内に入ったか否かを判定し、所定範囲内に入っていれば、ステップ１７１８に進み、触媒劣化度合ＤＥＴＥＲＩＯを次式により算出する。
ＤＥＴＥＲＩＯ＝ＭＡＸＯＳＩ／ＭＡＸＯＳＩＯＤ
【０１１５】
ここで、ＭＡＸＯＳＩは、現在のリーン成分の最大吸着量であり、ＭＡＸＯＳＩＯＤは、新品触媒での完全暖機後のリーン成分の最大吸着量である。次のステップ１７１９で、触媒劣化度合ＤＥＴＥＲＩＯを所定の劣化判定値Ｆと比較し、ＤＥＴＥＲＩＯ≦Ｆであれば、触媒劣化と判定される。以上の処理により、ＤＥＴＥＲＩＯ≦Ｆ（触媒劣化）の状態が所定回数続いた時に、最終的に触媒劣化と判定され、警告ランプ３７を点灯させて警告表示する（ステップ１７２０）。
【０１１６】
［触媒反応モデルパラメータ修正］
図４２と図４３は、触媒反応モデルのパラメータである最大吸着量ＭＡＸＯＳＩ，ＭＩＮＯＳＩを修正する処理を示している。図４２は、図４１のステップ１７１５で算出されたリーン成分の最大吸着量ＭＡＸＯＳＩを下記の式でなまし処理してリーン成分の最大吸着量ＭＡＸＯＳＩを修正する（ステップ１４００）。
【０１１７】
ＭＡＸＯＳＩ(i)
＝｛ＭＡＸＯＳＩ(i) ＋（ａ−１）・ＭＡＸＯＳＩ(i-1) ｝／ａ
ここで、ａはなまし係数、(i) は今回値、(i-1) は前回値を示す。上式により修正されたリーン成分の最大吸着量ＭＡＸＯＳＩは、図９に示すガード処理に用いられる。
【０１１８】
一方、図４３は、図４１のステップ１７１５で算出されたリッチ成分の最大吸着量ＭＩＮＯＳＩを下記の式でなまし処理してリッチ成分の最大吸着量ＭＩＮＯＳＩを修正する（ステップ１５００）。
ＭＩＮＯＳＩ(i)
＝｛ＭＩＮＯＳＩ(i) ＋（ｂ−１）・ＭＩＭＯＳＩ(i-1) ｝／ｂ
ここで、ｂはなまし係数である。上式により修正されたリッチ成分の最大吸着量ＭＩＮＯＳＩは、図１２に示すガード処理に用いられる。
【０１１９】
［空燃比制御］
空燃比制御は、図４４に示すように、触媒反応モデルを用いて推定した触媒２７の吸着物質量ＯＳＩが所定範囲内にあるか否かで下流側空燃比センサの作動電圧をオン／オフして行う。具体的には、まずステップ１８００にて、触媒反応モデルを用いて推定した触媒２７の吸着物質量ＯＳＩが所定範囲内にあるか否かを判定し、所定範囲内であれば、ステップ１８０１に進んで、下流側空燃比センサの作動電圧印加を停止して、該下流側空燃比センサを、排出ガスの空燃比がリッチかリーンかのみを検出する（リッチかリーンかで出力が反転する）酸素センサとして動作させる。これは、吸着物質量ＯＳＩが所定範囲内のときには、触媒２７下流の空燃比と目標空燃比との偏差が比較的小さいため、酸素センサの出力変化の方が空燃比センサの出力変化よりも大きくなり、空燃比を検出しやすいためである。
【０１２０】
次のステップ１８０２では、酸素センサ（下流側空燃比センサ）の出力ＲＶＴＳを読み込み、続くステップ１８０３で、酸素センサの出力ＲＶＴＳに基づく第１の空燃比制御を実行する。この第１の空燃比制御は、例えば図３３に示すように酸素センサ出力ＲＶＴＳに基づいて目標λＴＧを設定して行う。或は、図２２又は図３５に示すように、触媒反応モデルを用いて推定した触媒２７の吸着物質量ＯＳＩに基づいて目標λＴＧを設定しても良い。
【０１２１】
一方、ステップ１８００で、吸着物質量ＯＳＩが所定範囲外であると判定された場合（触媒２７下流の空燃比と目標空燃比との偏差が比較的大きい場合）には、ステップ１８０４に進み、下流側空燃比センサに作動電圧を印加して、該下流側空燃比センサを、排出ガスの空燃比に応じたリニアな空燃比信号を出力するリニアＡ／Ｆセンサとして動作させる。これは、触媒下流の空燃比と目標空燃比との偏差が大きい領域では、酸素センサとして動作させたのでは出力変化が少なく、触媒下流の空燃比を検出するのは困難であるため、リニアＡ／Ｆセンサとして動作させることで、触媒下流の空燃比を精度良く検出するものである。
【０１２２】
次のステップ１８０５では、下流側空燃比センサ出力ＲＡ／ＦＳを読み込み、続くステップ１８０６で、触媒最大容量を前述した図４０及び図４１に示す触媒容量変化推定処理によって算出する。この後、ステップ１８０７で、前述した図４２及び図４３に示す触媒反応モデルパラメータ修正処理を実行して、触媒反応モデルのパラメータである最大吸着量ＭＡＸＯＳＩ，ＭＩＮＯＳＩを修正する。そして、次のステップ１８０８で、第２の空燃比制御を実行する。この第２の空燃比制御は、例えば図２５に示すように筒内空気量に基づいて目標λＴＧを設定して行う。
【図面の簡単な説明】
【図１】本発明の代表的な実施態様を示すブロック図
【図２】本発明の実施形態（１）を示すエンジン制御システム全体の概略構成図
【図３】流入ガスモル数演算ルーチンの処理の流れを示すフローチャート
【図４】流入ガスの空燃比Ａ／Ｆと各成分の濃度との関係を示す図
【図５】触媒反応モデル演算ルーチンの処理の流れを示すフローチャート（その１）
【図６】触媒反応モデル演算ルーチンの処理の流れを示すフローチャート（その２）
【図７】触媒反応モデル演算ルーチンの処理の流れを示すフローチャート（その３）
【図８】流入ガスの空燃比Ａ／Ｆとリッチ成分浄化率ＲＪＹＯＵＫＡとリーン成分浄化率ＬＪＯＵＫＡとの関係を示す図
【図９】ガード処理１の流れを示すフローチャート
【図１０】ガード処理２の流れを示すフローチャート
【図１１】ガード処理３の流れを示すフローチャート
【図１２】ガード処理４の流れを示すフローチャート
【図１３】酸素センサに流入するガス成分を判定する処理の流れを示すフローチャート
【図１４】センサ反応モデル演算ルーチンの処理の流れを示すフローチャート（その１）
【図１５】センサ反応モデル演算ルーチンの処理の流れを示すフローチャート（その２）
【図１６】酸素センサ出力電圧ＰＶＴＭとＰＧＤＥＬＲとの関係を示す図
【図１７】ガード処理１の流れを示すフローチャート
【図１８】ガード処理２の流れを示すフローチャート
【図１９】ガード処理３の流れを示すフローチャート
【図２０】ガード処理４の流れを示すフローチャート
【図２１】触媒状態判定ルーチンの処理の流れを示すフローチャート
【図２２】目標λ設定処理１の処理の流れを示すフローチャート
【図２３】スキップ量λＳＫＲ，λＳＫＬと触媒内吸着物質量ＯＳＩＯＬＤとの関係を示す図
【図２４】スキップ量λＳＫＲ，λＳＫＬを説明するためのタイムチャート
【図２５】目標λ設定処理２の処理の流れを示すフローチャート
【図２６】スキップ量λＳＫＲ，λＳＫＬと筒内空気量との関係を示す図
【図２７】スキップ量λＳＫＲ，λＳＫＬを説明するためのタイムチャート
【図２８】触媒容量変化推定ルーチンの処理の流れを示すフローチャート（その１）
【図２９】触媒容量変化推定ルーチンの処理の流れを示すフローチャート（その２）
【図３０】触媒容量変化を推定する処理を説明するためのタイムチャート
【図３１】空燃比制御ルーチンの処理の流れを示すフローチャート
【図３２】本実施例の制御特性を従来と対比して示すタイムチャート
【図３３】本発明の実施形態（２）における目標λ設定処理１の処理の流れを示すフローチャート
【図３４】スキップ量λＳＫＲ，λＳＫＬと酸素センサ出力ＲＶＴＳとの関係を示す図
【図３５】本発明の実施形態（３）における目標λ設定処理１の処理の流れを示すフローチャート
【図３６】本発明の実施形態（４）における目標λ設定処理の処理の流れを示すフローチャート
【図３７】本発明の実施形態（５）における下流側空燃比センサに流入するガス成分を判定する処理の流れを示すフローチャート
【図３８】下流側空燃比センサの出力を推定する処理の流れを示すフローチャート
【図３９】（ａ）は下流側空燃比センサに流入するガス中のリーン成分濃度から空燃比ｔＡ／Ｆを換算するテーブルＬを概念的に示す図、（ｂ）は下流側空燃比センサに流入するガス中のリッチ成分濃度から空燃比ｔＡ／Ｆを換算するテーブルＲを概念的に示す図
【図４０】触媒容量変化推定ルーチンの処理の流れを示すフローチャート（その１）
【図４１】触媒容量変化推定ルーチンの処理の流れを示すフローチャート（その２）
【図４２】触媒反応モデルのパラメータＭＡＸＯＳＩを修正する処理の流れを示すフローチャート
【図４３】触媒反応モデルのパラメータＭＩＮＯＳＩを修正する処理の流れを示すフローチャート
【図４４】空燃比制御ルーチンの処理の流れを示すフローチャート
【符号の説明】
１１…エンジン（内燃機関）、１７…吸気管圧力センサ、２６…排気管、２７…触媒、２８…空燃比センサ、２９…酸素センサ（下流センサ）、３０…電子制御回路、３７…警告ランプ（警告表示手段）、５１…内燃機関、５２…排気通路、５３…触媒、５４…空燃比センサ、５５…吸着物質量推定手段、５６…目標空燃比設定手段、５７…下流センサ、５８…センサ出力推定手段、５９…モデル修正手段、６０…触媒容量判定手段、６１…警告表示手段。
【図１】
0003820625.tif 000003
【図２】
0003820625.tif 000004
【図３】
0003820625.tif 000005
【図４】
0003820625.tif 000006
【図５】
0003820625.tif 000007
【図６】
0003820625.tif 000008
【図７】
0003820625.tif 000009
【図８】
0003820625.tif 000010
【図９】
0003820625.tif 000011
【図１０】
0003820625.tif 000012
【図１１】
0003820625.tif 000013
【図１２】
0003820625.tif 000014
【図１３】
0003820625.tif 000015
【図１４】
0003820625.tif 000016
【図１５】
0003820625.tif 000017
【図１６】
0003820625.tif 000018
【図１７】
0003820625.tif 000019
【図１８】
0003820625.tif 000020
【図１９】
0003820625.tif 000021
【図２０】
0003820625.tif 000022
【図２１】
0003820625.tif 000023
【図２２】
0003820625.tif 000024
【図２３】
0003820625.tif 000025
【図２４】
0003820625.tif 000026
【図２５】
0003820625.tif 000027
【図２６】
0003820625.tif 000028
【図２７】
0003820625.tif 000029
【図２８】
0003820625.tif 000030
【図２９】
0003820625.tif 000031
【図３０】
0003820625.tif 000032
【図３１】
0003820625.tif 000033
【図３２】
0003820625.tif 000034
【図３３】
0003820625.tif 000035
【図３４】
0003820625.tif 000036
【図３５】
0003820625.tif 000037
【図３６】
0003820625.tif 000038
【図３７】
0003820625.tif 000039
【図３８】
0003820625.tif 000040
【図３９】
0003820625.tif 000041
【図４０】
0003820625.tif 000042
【図４１】
0003820625.tif 000043
【図４２】
0003820625.tif 000044
【図４３】
0003820625.tif 000045
【図４４】
0003820625.tif 000046