(57)【特許請求の範囲】
【請求項１】
触媒上流の空燃比に基づいて前記触媒に流入する排ガス成分の流量を演算する流入量演算手段と、
前記触媒下流の空燃比に基づいて前記触媒から流出する排ガス成分の流量を演算する流出量演算手段と、
前記流入量演算手段と前記流出量演算手段との演算結果に基づいて前記触媒の状態を検出する触媒状態検出手段と
を備えた触媒状態検出装置において、
前記流入量演算手段は、前記触媒上流の空燃比と定常運転時の触媒上流の空燃比センサの検出値から演算された前記触媒上流の空燃比中心値との偏差と内燃機関の負荷状態とに基づいて前記触媒に流入する排ガス成分の流量を演算し、
前記流出量演算手段は、前記触媒下流の空燃比と定常運転時の触媒下流の空燃比センサの検出値から演算された前記触媒下流の空燃比中心値との偏差と内燃機関の負荷状態とに基づいて前記触媒から流出する排ガス成分の流量を演算することを特徴とする触媒状態検出装置。
【請求項２】
前記流入流量演算手段は、前記触媒上流の空燃比が定常運転時の触媒上流の空燃比センサの検出値から演算された触媒上流の空燃比中心値よりリッチ側のとき、その偏差に基づいて前記触媒に流入するリッチ成分の流量を演算し、前記触媒上流の空燃比が定常運転時の触媒上流の空燃比センサの検出値から演算された触媒上流の空燃比中心値よりリーン側のとき、その偏差に基づいて前記触媒に流入するリーン成分の流量を演算し、
前記流出量演算手段は、前記触媒下流の空燃比が定常運転時の触媒下流の空燃比センサの検出値から演算された触媒下流の空燃比中心値よりリッチ側のとき、その偏差に基づいて前記触媒から流出するリッチ成分の流量を演算し、前記触媒下流の空燃比が定常運転時の触媒下流の空燃比センサの検出値から演算された触媒下流の空燃比中心値よりリーン側のとき、その偏差に基づいて前記触媒から流出するリーン成分の流量を演算することを特徴とする請求項１に記載の触媒状態検出装置。
【請求項３】
前記流入量演算手段と前記流出量演算手段は、前記排ガス成分の流量をリッチ成分又はリーン成分毎にモル数に換算して求めるモル数換算手段を備えていることを特徴とする請求項１又は２に記載の触媒状態検出装置。
【請求項４】
前記流入量演算手段と前記流出量演算手段は、前記触媒上流又は下流の空燃比と前記触媒上流又は下流の空燃比センサの検出値から演算された空燃比中心値との偏差が所定範囲内のときに、前記排ガス成分流量の演算を禁止する手段を有していこるとを特徴とする請求項１乃至３のいずれかに記載の触媒状態検出装置。
【請求項５】
前記触媒状態検出手段は、前記排ガス成分の流出流量の絶対値が所定値未満であるときに、前記排ガス成分の流入流量から流出流量を減算して求めた値を現在の触媒吸着量と判断する手段を含むことを特徴とする請求項１乃至４のいずれかに記載の触媒状態検出装置。
【請求項６】
前記触媒状態検出手段は、前記排ガス成分の流出流量の絶対値が所定値以上であるときに、前記排ガス成分の流入流量から流出流量を減算して求めた値を触媒最大吸着量と判断する手段を含むことを特徴とする請求項１乃至５のいずれかに記載の触媒状態検出装置。
【請求項７】
前記触媒状態検出手段は、前記排ガス成分の流出流量の絶対値が所定値未満であるときに、前記排ガス成分の流入流量から流出流量を減算して求めた値を現在の触媒吸着量と判断する手段と、前記排ガス成分の流出流量の絶対値が所定値以上であるときに、前記排ガス成分の流入流量から流出流量を減算して求めた値を触媒最大吸着量と判断する手段と、触媒が劣化していないときの触媒最大吸着量と現在の触媒最大吸着量とを比較して前記触媒の劣化度合を検出する触媒劣化検出手段を含むことを特徴とする請求項１乃至４のいずれかに記載の触媒状態検出装置。
【請求項８】
前記触媒状態検出手段は、触媒劣化を判定する劣化判定区間を設定する区間設定手段と、この区間設定手段により設定された劣化判定区間内に積算された前記排ガス成分の総流入量と総流出量に基づいて触媒劣化を検出する触媒劣化検出手段とを含むことを特徴とする請求項１乃至７のいずれかに記載の触媒状態検出装置。
【請求項９】
前記触媒状態検出手段は、
前記劣化判定区間内におけるリーン飽和回数又はリッチ飽和回数をカウントする飽和回数カウント手段と、
前記劣化判定区間内における排ガスリーン成分又は排ガスリッチ成分の総流入量から総流出量を減算して求めた触媒最大吸着量を前記飽和回数カウント手段でカウントした飽和回数で割り算して触媒最大吸着量平均値を求める最大吸着量平均値算出手段とを備え、
前記最大吸着量平均値算出手段により求めた触媒最大吸着量平均値に基づいて前記触媒の劣化度合を検出する手段を含むことを特徴とする請求項８に記載の触媒状態検出装置。
【請求項１０】
前記触媒劣化検出手段は、前記最大吸着量平均値算出手段により求めた触媒最大吸着量平均値と、触媒が劣化していないときの触媒最大吸着量平均値とを比較して前記触媒の劣化度合を検出する手段を含むことを特徴とする請求項９に記載の触媒状態検出装置。
【請求項１１】
前記触媒状態検出手段は、リッチ成分、リーン成分の各々について触媒状態を検出する請求項２に記載の触媒状態検出装置。
【請求項１２】
内燃機関の排ガス通路に設けられた排ガス浄化用触媒と、
前記触媒上流の空燃比を検出する上流側空燃比センサと、
前記触媒下流の空燃比を検出する下流側空燃比センサと、
前記上流側空燃比センサの出力に基づいて前記触媒に流入する排ガス成分の流量を演算する流入量演算手段と、
前記下流側空燃比センサの出力に基づいて前記触媒から流出する排ガス成分の流量を演算する流出量演算手段と、
前記流入量演算手段と前記流出量演算手段との演算結果に基づいて前記触媒の状態を検出する触媒状態検出手段と
を備えた触媒状態検出装置において、
前記下流側空燃比センサは、作動電圧オン中は空燃比に応じて出力がリニアに変化し、作動電圧オフ中は空燃比がリッチかリーンかで出力が反転する出力特性を有し、
前記流出量演算手段は、前記触媒下流の空燃比と定常運転時の前記下流側空燃比センサの出力に基づいて演算された触媒下流の空燃比中心値との偏差と内燃機関の負荷状態とに基づいて前記触媒から流出する排ガス成分の流量を演算すると共に、
前記下流側空燃比センサの作動電圧をオフしたときの下流側空燃比センサの出力に基づいて触媒下流の空燃比中心値を演算するか否かを判断する手段含むことを特徴とする触媒状態検出装置。
【請求項１３】
予め前記下流側空燃比センサが劣化していないときに前記下流側空燃比センサの出力に基づいて演算された触媒下流の空燃比中心値と現在の前記下流側空燃比センサの出力に基づいて演算された触媒下流の空燃比中心値とに基づいて前記下流側空燃比センサの出力を補正する出力補正手段を備えていることを特徴とする請求項１２に記載の触媒状態検出装置。
【請求項１４】
前記下流側空燃比センサとして、排ガスの空燃比がリッチかリーンかで出力が反転する酸素センサを用い、この酸素センサの出力電圧をリニアライズして空燃比に変換する出力リニアライズ手段を備えていることを特徴とする請求項１２に記載の触媒状態検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、排ガス浄化用の触媒の上流側と下流側にそれぞれ設置された空燃比センサの出力に基づいて触媒の状態を検出する触媒状態検出装置に関するものである。
【０００２】
【従来の技術】
近年、排ガス浄化用の触媒の劣化具合（飽和吸着量）を検出するため、特開平６−１７６４０号公報に示すように、触媒下流側に設置された酸素センサの出力が飽和判定レベルに到達するまで、燃料噴射量（目標空燃比）を所定補正量で所定時間継続してリッチ又はリーン方向に変動させる処理を繰り返し、飽和判定レベルに到達したときの燃料噴射量の補正量と補正時間とに基づいて触媒の飽和吸着量（最大吸着量）を算出するようにしたものがある。
【０００３】
【発明が解決しようとする課題】
しかし、上記従来技術では、酸素センサの出力が飽和判定レベルに到達する以前に、触媒がすでに飽和状態となり、触媒内に吸着しきれない排ガスのリッチ成分・リーン成分が触媒下流に流出することで、触媒下流の空燃比が変化して酸素センサの出力が飽和判定レベルに到達するのであるから、酸素センサの出力が飽和判定レベルに到達するのを待って触媒の飽和状態を検出したのでは、触媒の飽和状態を正しく検出することはできない。
【０００４】
本発明はこのような事情を考慮してなされたものであり、従ってその目的は、触媒の状態を精度良く検出することができる触媒状態検出装置を提供することにある。
【０００５】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１の触媒状態検出装置は、触媒上流の空燃比に基づいて触媒に流入する排ガス成分の流量を流入量演算手段により演算すると共に、触媒下流の空燃比に基づいて触媒から流出する排ガス成分の流量を流出量演算手段により演算し、これら排ガス成分の流入流量と流出流量とに基づいて触媒の状態を触媒状態検出手段により検出する。このようにすれば、排ガス成分の流入流量と流出流量との差から触媒内の排ガス成分の吸着量をリアルタイムで検出することが可能となり、触媒の状態をリアルタイムで精度良く検出することができる。
【０００６】
更に、請求項１では、前記流入量演算手段は、触媒上流の空燃比と定常運転時の触媒上流の空燃比センサの検出値から演算された触媒上流の空燃比中心値との偏差と内燃機関の負荷状態とに基づいて前記触媒に流入する排ガス成分の流量を演算し、前記流出量演算手段は、触媒下流の空燃比と定常運転時の触媒下流の空燃比センサの検出値から演算された触媒下流の空燃比中心値との偏差と内燃機関の負荷状態とに基づいて前記触媒から流出する排ガス成分の流量を演算する。このようにすれば、内燃機関の負荷状態に応じて増減する排ガス成分の流入流量と流出流量を定常運転時の空燃比中心値を基準にして精度良く求めることができる。
【０００７】
また、請求項２では、触媒上流の空燃比が定常運転時の触媒上流の空燃比センサの検出値から演算された触媒上流の空燃比中心値よりリッチ側のとき、その偏差に基づいて前記触媒に流入するリッチ成分の流量を演算し、触媒上流の空燃比が定常運転時の触媒上流の空燃比センサの検出値から演算された触媒上流の空燃比中心値よりリーン側のとき、その偏差に基づいて前記触媒に流入するリーン成分の流量を演算する。そして、触媒下流の空燃比が定常運転時の触媒下流の空燃比センサの検出値から演算された触媒下流の空燃比中心値よりリッチ側のとき、その偏差に基づいて前記触媒から流出するリッチ成分の流量を演算し、触媒下流の空燃比が定常運転時の触媒下流の空燃比センサの検出値から演算された触媒下流の空燃比中心値よりリーン側のとき、その偏差に基づいて前記触媒から流出するリーン成分の流量を演算する。このようにすれば、触媒状態をリーン成分とリッチ成分の各々について検出することが可能となり、触媒状態を一層精度良く検出することができる。
【０００８】
また、請求項３では、前記流入量演算手段と前記流出量演算手段は、前記排ガス成分の流量をモル数換算手段によりリッチ成分又はリーン成分毎にモル数に換算して求める。これにより、以後の演算処理が容易になる。
【０００９】
更に、請求項４では、触媒上流又は下流の空燃比と各空燃比センサの検出値から演算された空燃比中心値との偏差が所定範囲内のときには、排ガス成分流量の演算を禁止する。つまり、空燃比中心値の付近は、排ガス中のリッチ成分やリーン成分が少ないストイキ領域であるので、この領域で排ガス成分流量の演算を禁止することで、演算誤差を排除して、排ガス成分を精度良く演算するものである。
【００１０】
また、請求項５では、排ガス成分の流出流量の絶対値が所定値未満であるときに、前記排ガス成分の流入流量から流出流量を減算して求めた値を現在の触媒吸着量と判断する。ここで、流出流量の“絶対値”を比較する理由は、リッチ成分をマイナス値で示し、リーン成分をプラス値で示すためである。そして、排ガス成分の流出流量の絶対値が所定値未満であるとき、つまり排ガス成分の流出流量が少ないときには、触媒がまだ飽和状態になっていないと推定されるので、このときの排ガス成分の流入流量から流出流量を減算することで、現在の触媒吸着量を正確に求めることができる。
【００１１】
また、請求項６では、排ガス成分の流出流量の絶対値が所定値以上であるときに、前記排ガス成分の流入流量から流出流量を減算して求めた値を触媒最大吸着量（飽和吸着量）と判断する。このように、排ガス成分の流出流量の絶対値が所定値以上であるとき、つまり排ガス成分の流出流量が多いときには、触媒が飽和状態になったと推定されるので、このときの排ガス成分の流入流量から流出流量を減算することで、触媒最大吸着量を正確に求めることができる。
【００１２】
また、請求項７では、触媒が劣化するに従って触媒最大吸着量が低下する点に着目し、触媒が劣化していないときの触媒最大吸着量と現在の触媒最大吸着量とを触媒劣化検出手段により比較して触媒の劣化度合を検出する。これにより、触媒の劣化度合を精度良く検出することができる。
【００１３】
また、請求項８では、触媒劣化を判定する劣化判定区間を区間設定手段により設定し、その劣化判定区間内に積算された排ガス成分の総流入量と総流出量に基づいて触媒劣化を判定する。つまり、排ガス成分は、触媒の温度（活性化の度合）や内燃機関の運転状態等によって変化するため、触媒劣化を判定するのに適した区間を選択して触媒劣化を判定することで、触媒劣化を精度良く判定するものである。
【００１４】
一方、請求項９では、前記劣化判定区間内におけるリーン飽和回数又はリッチ飽和回数を飽和回数カウント手段によりカウントする。ここで、リーン飽和回数とは、触媒がリーン成分で飽和した回数であり、リッチ飽和回数とは、触媒がリッチ成分で飽和した回数である。そして、前記劣化判定区間内における排ガスリーン成分又は排ガスリッチ成分の総流入量から総流出量を減算して求めた触媒最大吸着量を、前記飽和回数カウント手段でカウントした飽和回数で割り算して触媒最大吸着量平均値を求め、この触媒最大吸着量平均値に基づいて触媒の劣化度合を触媒劣化検出手段により検出する。このように、触媒最大吸着量平均値を用いることで、触媒劣化検出精度を向上できる。
【００１５】
また、請求項１０では、前記最大吸着量平均値算出手段により求めた触媒最大吸着量平均値と、触媒が劣化していないときの触媒最大吸着量平均値とを比較して触媒の劣化度合を検出する。これにより、劣化していない触媒を基準にして触媒の劣化度合を精度良く検出することができる。
【００１６】
更に、請求項１１では、リーン成分とリッチ成分の各々について触媒状態を検出する。これにより、触媒状態を一層精度良く検出することができる。
【００１７】
また、請求項１２では、触媒上流の空燃比を上流側空燃比センサにより検出し、触媒下流の空燃比を下流側空燃比センサにより検出する。これにより、触媒上流と下流の実空燃比を直接検出することができる。
【００１８】
ところで、空燃比センサ（Ａ／Ｆセンサ）は、作動電圧オン中は空燃比に応じて出力がリニアに変化するが、作動電圧をオフすると、空燃比がリッチかリーンかで出力が反転する酸素センサとして動作する。従って、触媒下流の空燃比が中心値付近にあるか否かは、下流側空燃比センサの作動電圧をオフした方が判別しやすい。
【００１９】
そこで、請求項１３では、下流側空燃比センサの作動電圧をオフしたときの下流側空燃比センサの出力に基づいて触媒下流の空燃比中心値を演算するか否かを判断する。このようにすれば、触媒下流の空燃比中心値を演算するタイミングを的確に判断することができ、触媒下流の空燃比中心値を精度良く演算することができる。
【００２０】
更に、請求項１３では、予め下流側空燃比センサが劣化していないときに前記下流側空燃比センサの出力に基づいて演算された触媒下流の空燃比中心値と現在の前記下流側空燃比センサの出力に基づいて演算された触媒下流の空燃比中心値とに基づいて下流側空燃比センサの出力を出力補正手段により補正する。これにより、下流側空燃比センサの出力特性が経時的に変化しても、それを補正することができ、長期間にわたって良好な検出特性を維持できる。
【００２１】
また、請求項１４では、下流側空燃比センサとして、排ガスの空燃比がリッチかリーンかで出力が反転する酸素センサを用い、この酸素センサの出力電圧を出力リニアライズ手段によってリニアライズして空燃比に変換する。このようにすれば、高価な空燃比センサ（Ａ／Ｆセンサ）に代えて、それより安価な酸素センサを下流側空燃比センサとして用いることができ、その分、低コスト化することができる。
【００２２】
【発明の実施の形態】
《実施形態（１）》
以下、本発明の実施形態（１）を図１乃至図９に基づいて説明する。まず、図１に基づいてエンジン制御システム全体の概略構成を説明する。内燃機関であるエンジン１１の吸気管１２の最上流部には、エアクリーナ１３が設けられ、このエアクリーナ１３の下流側に吸気温度Ｔａｍを検出する吸気温センサ１４が設けられ、この吸気温センサ１４の下流側にスロットルバルブ１５とスロットル開度ＴＨを検出するスロットル開度センサ１６とが設けられている。更に、スロットルバルブ１５の下流側には、吸気管圧力ＰＭを検出する吸気管圧力センサ１７が設けられ、この吸気管圧力センサ１７の下流側にサージタンク１８が設けられている。このサージタンク１８には、エンジン１１の各気筒に空気を導入する吸気マニホールド１９が接続され、この吸気マニホールド１９の各気筒の分岐管部にそれぞれ燃料を噴射するインジェクタ２０が取り付けられている。
【００２３】
また、エンジン１１には各気筒毎に点火プラグ２１が取り付けられ、各点火プラグ２１には、点火回路２２で発生した高圧電流がディストリビュータ２３を介して供給される。このディストリビュータ２３には、７２０℃Ａ（クランク軸２回転）毎に例えば２４個のパルス信号を出力するクランク角センサ２４が設けられ、このクランク角センサ２４の出力パルス間隔によってエンジン回転数Ｎｅを検出するようになっている。また、エンジン１１には、エンジン冷却水温Ｔｈｗを検出する水温センサ３８が取り付けられている。
【００２４】
一方、エンジン１１の排気ポート（図示せず）には、排気マニホールド２５を介して排気管２６（排ガス通路）が接続され、この排気管２６の途中に、排ガス中の有害成分（ＣＯ，ＨＣ，ＮＯｘ等）を低減させる三元触媒等の触媒２７が設けられている。この触媒２７の上流側と下流側には、排ガスの空燃比に応じたリニアな空燃比信号を出力する上流側空燃比センサ２８と下流側空燃比センサ２９が設けられている。
【００２５】
上述した各種のセンサの出力は電子制御回路３０内に入力ポート３１を介して読み込まれる。電子制御回路３０は、マイクロコンピュータを主体として構成され、ＣＰＵ３２、ＲＯＭ３３、ＲＡＭ３４、バックアップＲＡＭ３５を備え、各種センサ出力から得られたエンジン運転状態パラメータを用いて燃料噴射量ＴＡＵや点火時期Ｉｇ等を演算し、その演算結果に応じた信号を出力ポート３６からインジェクタ２０や点火回路２２に出力してエンジン１１の運転を制御する。また、触媒２７の劣化を検出したときには、出力ポート３６から警告ランプ３７に点灯信号を出力する。
【００２６】
更に、この電子制御回路３０は、以下に説明する各ルーチンを実行することで触媒２７の劣化度合を検出する。
【００２７】
［空燃比中心値算出］
図２に基づいて触媒２７の上流側・下流側の空燃比中心値を算出する空燃比中心値算出ルーチンの処理の流れを説明する。本ルーチンでは、まずステップ１０１で、定常運転か否かを判定し、定常運転でない場合には、空燃比がずれて正確な空燃比中心値を算出することはできないので、以降の処理を行うことなく本ルーチンを終了する。一方、定常運転であれば、ステップ１０２に進み、下流側空燃比センサ２９の出力ＲＡ／Ｆが所定範囲内（ＫＲＢ＜ＲＡ／Ｆ＜ＫＲＵ；ＫＲＢ，ＫＲＵは所定値）であるか否かを判定し、この範囲外であれば、空燃比がずれていて正確な空燃比中心値を算出することはできないので、以降の処理を行うことなく本ルーチンを終了する。
【００２８】
これに対し、下流側空燃比センサ２９の出力ＲＡ／Ｆが所定範囲内の場合にはステップ１０３に進み、第１の所定時間が経過するまで（ステップ１０３）、ＲＡ／Ｆ平均値を次式により算出する（ステップ１０４）。
ＲＡ／Ｆ平均値＝｛ＲＡ／Ｆ（今回値）＋ＲＡ／Ｆ平均値（前回値）｝／２
【００２９】
その後、第１の所定時間が経過した時点で、ステップ１０５に進み、第１の所定時間内に求めたＲＡ／Ｆ平均値をＲＡ／Ｆ中心値（触媒下流の空燃比中心値）とする。この後、ステップ１０６で、ＲＡ／Ｆ中心値と見なす範囲の上限Ｒ(+) と下限Ｒ(-) を次式により算出する。
上限Ｒ(+) ＝ＲＡ／Ｆ中心値＋Ｋ１      （Ｋ１は定数）
下限Ｒ(-) ＝ＲＡ／Ｆ中心値−Ｋ２      （Ｋ２は定数）
【００３０】
次に、ステップ１０７〜１１１で、上流側空燃比センサ２８の出力ＦＡ／Ｆに基づいて上述と同様の方法でＦＡ／Ｆ中心値（触媒上流の空燃比中心値）を求める。即ち、上流側空燃比センサ２８の出力ＦＡ／Ｆが所定範囲内（ＫＦＢ＜ＦＡ／Ｆ＜ＫＦＵ；ＫＦＢ，ＫＦＵは所定値）であれば、第２の所定時間内に求めたＦＡ／Ｆ平均値をＦＡ／Ｆ中心値とする（ステップ１０７〜１１０）。この後、ステップ１１１で、ＦＡ／Ｆ中心値と見なす範囲の上限Ｆ(+) と下限Ｆ(-) を次式により算出し、本ルーチンを終了する。
上限Ｆ(+) ＝ＦＡ／Ｆ中心値＋Ｋ３      （Ｋ３は定数）
下限Ｆ(-) ＝ＦＡ／Ｆ中心値−Ｋ４      （Ｋ４は定数）
【００３１】
［排ガス成分流入量算出］
図３に基づいて、触媒２７に流入する排ガス成分の流入量を算出する排ガス成分流入量算出ルーチンの処理の流れを説明する。本ルーチンは、各気筒の燃焼毎に起動され、特許請求の範囲でいう流入量演算手段として機能する。本ルーチンでは、まずステップ１２１，１２２で、上流側空燃比センサ２８の出力ＦＡ／ＦをＦＡ／Ｆ中心値の上下限Ｆ(+) ，Ｆ(-) と比較し、Ｆ(-) ≦ＦＡ／Ｆ≦Ｆ(+) の場合、つまりＦＡ／ＦがＦＡ／Ｆ中心値と見なせる場合には、以降の処理を行わずに本ルーチンを終了する。
【００３２】
これに対し、ＦＡ／Ｆ＞Ｆ(+) の場合、つまり触媒２７上流側の空燃比がＦＡ／Ｆ中心値よりリーン側にずれているときには、ステップ１２３に進み、ＦＡ／Ｆとその中心値上限Ｆ(+) との偏差ΔＡ／Ｆ＝ＦＡ／Ｆ−Ｆ(+) を算出し、続くステップ１２４で、偏差ΔＡ／Ｆを積算してリーン側面積ΣΔＡ／Ｆを算出する（図４参照）。この後、ステップ１２５で、リーン側面積ΣΔＡ／Ｆ算出期間中の排ガス量平均値Ｇavをエンジン運転状態から算出し、続くステップ１２６で、触媒２７に流入する排ガスリーン成分量ＦＬを次式により算出する。
ＦＬ＝ΣΔＡ／Ｆ・Ｇav・ｋ      （ｋは係数）
【００３３】
一方、ＦＡ／Ｆ＜Ｆ(-) の場合、つまり触媒２７上流側の空燃比がＦＡ／Ｆ中心値よりリッチ側にずれているときには、ステップ１２７に進み、ＦＡ／Ｆとその中心値下限Ｆ(-) との偏差ΔＡ／Ｆ＝ＦＡ／Ｆ−Ｆ(-) を算出し、続くステップ１２８で、偏差ΔＡ／Ｆを積算してリッチ側面積ΣΔＡ／Ｆを算出する（図４参照）。この後、ステップ１２９で、リッチ側面積ΣΔＡ／Ｆ算出期間中の排ガス量平均値Ｇavをエンジン運転状態から算出し、続くステップ１３０で、触媒２７に流入する排ガスリッチ成分量ＦＲを次式により算出する。
ＦＲ＝ΣΔＡ／Ｆ・Ｇav・ｋ      （ｋは係数）
【００３４】
以上説明した排ガス成分流入量算出ルーチンにより求められるΣΔＡ／Ｆ、  Ｇav・ｋ、ＦＬ、ＦＲの関係が図４に示されている。
【００３５】
［排ガス成分流出量算出］
図５に基づいて、触媒２７から流出する排ガス成分の流出量を算出する排ガス成分流出量算出ルーチンの処理の流れを説明する。本ルーチンは、各気筒の燃焼毎に起動され、特許請求の範囲でいう流出量演算手段として機能する。本ルーチンでは、まずステップ１３１，１３２で下流側空燃比センサ２９の出力ＲＡ／ＦをＲＡ／Ｆ中心値の上下限Ｒ(+) ，Ｒ(-) と比較し、Ｒ(-) ≦ＲＡ／Ｆ≦Ｒ(+) の場合、つまりＲＡ／ＦがＲＡ／Ｆ中心値と見なせる場合には、以降の処理を行わずに本ルーチンを終了する。
【００３６】
これに対し、ＲＡ／Ｆ＞Ｒ(+) の場合、つまり触媒２７下流側の空燃比がＲＡ／Ｆ中心値よりリーン側にずれているときには、ステップ１３３に進み、ＲＡ／Ｆとその中心値上限Ｒ(+) との偏差ΔＡ／Ｆ＝ＲＡ／Ｆ−Ｒ(+) を算出し、続くステップ１３４で、偏差ΔＡ／Ｆを積算してリーン側面積ΣΔＡ／Ｆを算出する。この後、ステップ１３５で、リーン側面積ΣΔＡ／Ｆ算出期間中の排ガス量平均値Ｇavをエンジン運転状態から算出し、続くステップ１３６で、触媒２７から流出する排ガスリーン成分量ＲＬを次式により算出する。
ＲＬ＝ΣΔＡ／Ｆ・Ｇav・ｋ      （ｋは係数）
【００３７】
一方、ＲＡ／Ｆ＜Ｒ(-) の場合、つまり触媒２７下流側の空燃比がＲＡ／Ｆ中心値よりリッチ側にずれているときには、ステップ１３７に進み、ＲＡ／Ｆとその中心値下限Ｒ(-) との偏差ΔＡ／Ｆ＝ＲＡ／Ｆ−Ｒ(-) を算出し、続くステップ１３８で、偏差ΔＡ／Ｆを積算してリッチ側面積ΣΔＡ／Ｆを算出する。この後、ステップ１３９にて、リッチ側面積ΣΔＡ／Ｆ算出期間中の排ガス量平均値Ｇavをエンジン運転状態から算出し、続くステップ１４０で、触媒２７から流出する排ガスリッチ成分量ＲＲを次式により算出する。
ＲＲ＝ΣΔＡ／Ｆ・Ｇav・ｋ      （ｋは係数）
【００３８】
［リーン成分吸着量算出］
図６に基づいて触媒２７に吸着される排ガスリーン成分の吸着量を算出するリーン成分吸着量算出ルーチンの処理の流れを説明する。本ルーチンでは、まずステップ１４１で、触媒２７に流入する排ガスリーン成分量ＦＬから触媒２７下流に流出する排ガスリーン成分量ＲＬを減算してリーン成分吸着量ＣＡＴＡＬを求める。そして次のステップ１４１で、触媒２７から流出する排ガスリーン成分量ＲＬを所定値ＫＬと比較し、ＲＬ＞ＫＬの場合には、ステップ１４３に進み、ステップ１４１で求めたリーン成分吸着量ＣＡＴＡＬを触媒２７に吸着可能なリーン成分最大吸着量（飽和量）ＯＳＩmax とし、ＲＬ≦ＫＬの場合には、ステップ１４４に進み、ステップ１４１で求めたリーン成分吸着量ＣＡＴＡＬを現在のリーン成分吸着量ＯＳＩとする。
【００３９】
［リッチ成分吸着量算出］
図７に基づいて触媒２７に吸着される排ガスリッチ成分の吸着量を算出するリッチ成分吸着量算出ルーチンの処理の流れを説明する。本ルーチンでは、まずステップ１５１で、触媒２７に流入する排ガスリッチ成分量ＦＲから触媒２７下流に流出する排ガスリッチ成分量ＲＲを減算してリッチ成分吸着量ＣＡＴＡＲを求める。そして次のステップ１５１で、触媒２７から流出する排ガスリッチ成分量ＲＲの絶対値を所定値ＫＲと比較する。ここで、排ガスリッチ成分量ＲＲの絶対値を用いる理由は、排ガスリッチ成分量ＲＲの値がマイナス値となるためである。そして、上記ステップ１５２で、｜ＲＲ｜＞ＫＲの場合には、ステップ１５３に進み、ステップ１５１で求めたリッチ成分吸着量ＣＡＴＡＲを触媒２７に吸着可能なリッチ成分最大吸着量（飽和量）ＯＳＩmin とし、｜ＲＲ｜≦ＫＲの場合には、ステップ１５４に進み、ステップ１５１で求めたリッチ成分吸着量ＣＡＴＡＲを現在のリッチ成分吸着量ＯＳＩとする。
【００４０】
［リーン成分最大吸着量に基づく触媒劣化検出］
図８に基づいて触媒２７の劣化をリーン成分最大吸着量ＯＳＩmax から検出する触媒劣化検出ルーチンの処理の流れを説明する。本ルーチンは、図６のステップ１４３によってリーン成分最大吸着量ＯＳＩmax を算出する毎に実行され、特許請求の範囲でいう触媒劣化検出手段として機能する。本ルーチンでは、まずステップ１６１で、現在のリーン成分最大吸着量ＯＳＩmax を、触媒２７が経時変化する前（新品触媒時）のリーン成分最大吸着量ＯＳＩ０max で割り算して触媒劣化度合判定値ＬＤＥＴＥＲＩＯを求める。次のステップ１６２で、触媒劣化度合判定値ＬＤＥＴＥＲＩＯを所定の劣化判定値Ｆ１と比較し、ＬＤＥＴＥＲＩＯ＜Ｆ１（劣化検出）の状態が所定回数連続したときに最終的に触媒劣化と判定し（ステップ１６２〜１６４）、これ以外の場合には触媒劣化と判定せずに本ルーチンを終了する。
【００４１】
［リッチ成分最大吸着量に基づく触媒劣化検出］
図９に基づいて触媒２７の劣化をリッチ成分最大吸着量ＯＳＩmin から検出する触媒劣化検出ルーチンの処理の流れを説明する。本ルーチンは、図７のステップ１５３によってリッチ成分最大吸着量ＯＳＩmin を算出する毎に実行され、特許請求の範囲でいう触媒劣化検出手段として機能する。本ルーチンでは、まずステップ１７１で、現在のリッチ成分最大吸着量ＯＳＩmin を、触媒２７が経時変化する前（新品触媒時）のリッチ成分最大吸着量ＯＳＩ０min で割り算して触媒劣化度合判定値ＲＤＥＴＥＲＩＯを求める。次のステップ１７２で、触媒劣化度合判定値ＲＤＥＴＥＲＩＯを所定の劣化判定値Ｆ２と比較し、ＲＤＥＴＥＲＩＯ＜Ｆ２（劣化検出）の状態が所定回数連続したときに最終的に触媒劣化と判定し（ステップ１７２〜１７４）、これ以外の場合には触媒劣化と判定せずに本ルーチンを終了する。
【００４２】
尚、図８と図９の各触媒劣化検出ルーチンは、いずれか一方のみを行うようにしても良い。また、図８と図９の双方のルーチンを行う場合、いずれか一方のルーチンで触媒劣化が検出されたときに最終的に触媒劣化と診断する方法と、双方のルーチンで同時に触媒劣化が検出されたときに最終的に触媒劣化と診断する方法の２通りが考えられる。
【００４３】
《実施形態（２）》
上記実施形態（１）では、図２のステップ１０１，１０２で、定常運転で且つ下流側空燃比センサ２９の出力ＲＡ／Ｆが所定範囲内であるか否かで、ＲＡ／Ｆ中心値（触媒下流の空燃比中心値）を算出するか否かを判定するようにしたが、図１０及び図１１に示す本発明の実施形態（２）では、以下のような処理によりＲＡ／Ｆ中心値を精度良く演算しながら、ＲＡ／Ｆの経時変化等による静特性変化を補正できるようにしている。
【００４４】
この実施形態（２）では、下流側空燃比センサ２９は、作動電圧が印加されているときには排ガスの空燃比に応じたリニアな空燃比信号を出力するリニアＡ／Ｆセンサとして動作し、作動電圧が印加されていないときには排ガスの空燃比がリッチかリーンかのみを検出する（リッチかリーンかで出力が反転する）酸素センサとして動作する。
【００４５】
［下流側空燃比センサ制御］
図１０に基づいて下流側空燃比センサ２９の作動電圧をオン／オフする下流側空燃比センサ制御ルーチンの処理の流れを説明する。本ルーチンでは、まずステップ２０１で、前回処理時に後述するステップ２０７でインクリメントされたタイムカウンタＣＯＵＮＴＥＲの値が所定値Ｄに到達したか否か、つまり所定時間経過したか否かを判定し、所定時間が経過していなければ作動電圧印加を停止し（ステップ２０２）、所定時間が経過すれば作動電圧を印加する（ステップ２０３）。
【００４６】
作動電圧印加停止中は、ステップ２０３で、下流側空燃比センサ２９から出力される酸素センサ出力ＶＯＸ２を読み込み、続くステップ２０４で、酸素センサ出力ＶＯＸ２が所定範囲内（Ｋ５＜ＶＯＸ２＜Ｋ６；Ｋ５，Ｋ６は所定値）であるか否かを判定し、所定範囲内であれば、中心値演算実行フラグＦＬＡＧを１にセットし（ステップ２０５）、所定範囲外であれば、中心値演算実行フラグＦＬＡＧを０にする（ステップ２０６）。この後、ステップ２０７で、タイムカウンタＣＯＵＮＴＥＲをインクリメントして本ルーチンを終了する。
【００４７】
一方、作動電圧印加中は、ステップ２０９で、下流側空燃比センサ２９から出力されるリニアＡ／Ｆセンサ出力ＲＡ／Ｆを読み込み、続くステップ２１０で、中心値演算実行フラグＦＬＡＧが１であるか否かを判定し、ＦＬＡＧ＝１の場合には、ＲＡ／Ｆ中心値を演算する。このＲＡ／Ｆ中心値の演算は、図２のステップ１０３〜１０６と同じ方法で行う。そして、次のステップ２１２で、ＲＡ／Ｆの経時変化等による静特性変化を吸収するための補正係数ＫＲＡ／Ｆを次式により算出する。
【００４８】
ＫＲＡ／Ｆ＝ＲＡ／Ｆ０÷ＲＡ／Ｆ中心値
ここで、ＲＡ／Ｆ０は下流側空燃比センサ２９が経時変化していないときのＲＡ／Ｆ中心値であり、このＲＡ／Ｆ０をステップ２１１で求めた現在のＲＡ／Ｆ中心値で割り算することでＲＡ／Ｆ静特性補正係数ＫＲＡ／Ｆを求める。この後、ステップ２１３で、タイムカウンタＣＯＵＮＴＥＲをクリアして本ルーチンを終了する。尚、上記ステップ２１０で、中心値演算実行フラグＦＬＡＧ＝０の場合には、ステップ２１１，２１２の処理を行わずにステップ２１３に進み、タイムカウンタＣＯＵＮＴＥＲをクリアして本ルーチンを終了する。
【００４９】
以上の処理により、下流側空燃比センサ２９の作動電圧印加停止中の酸素センサ出力ＶＯＸ２が所定範囲内で安定しているときのみ、ＲＡ／Ｆ中心値を算出し、ＲＡ／Ｆ静特性補正係数ＫＲＡ／Ｆを算出する。
【００５０】
［排ガス成分流出量算出］
図１１に示す排ガス成分流出量算出ルーチンは、図５にステップ１００を追加したものである。本ルーチンでは、まずステップ１００で、図１０のステップ２１２で求めたＲＡ／Ｆ静特性変化吸収のための補正係数ＫＲＡ／Ｆを下流側空燃比センサ２９の出力ＲＡ／Ｆに乗算して、ＲＡ／Ｆを補正する（このステップ１００の処理が特許請求の範囲でいう出力補正手段として機能する）。これにより、ＲＡ／Ｆは、ＲＡ／Ｆ静特性変化による誤差が取り除かれた正確な値が求められる。これ以降の各ステップの処理は図５と同じであり、ステップ１００で補正されたＲＡ／Ｆを用いて、触媒２７から流出する排ガスリーン成分量ＲＬと排ガスリッチ成分量ＲＲとが精度良く算出される。
【００５１】
尚、この実施形態（２）において、図１０及び図１１以外の処理は、実施形態（１）と同じである。
【００５２】
《実施形態（３）》
前述した実施形態（１）では、図３と図５で、触媒２７に流入／流出する排ガス成分量を算出する際に、空燃比の偏差ΔＡ／Ｆの積算値（面積）ΣΔＡ／Ｆに排ガス量平均値Ｇavを乗算して求めるようにしたが、図１２乃至図１４に示す本発明の実施形態（３）では、偏差ΔＡ／Ｆを算出する毎に排ガス成分流量を算出するようにしている。以下、この算出方法について具体的に説明する。
【００５３】
［排ガス成分流入量算出］
図１２に基づいて、触媒２７に流入する排ガス成分の流入量を算出する排ガス成分流入量算出ルーチンの処理の流れを説明する。本ルーチンでは、まずステップ２２１，２２２で、上流側空燃比センサ２８の出力ＦＡ／ＦをＦＡ／Ｆ中心値の上下限Ｆ(+) ，Ｆ(-) と比較し、Ｆ(-) ≦ＦＡ／Ｆ≦Ｆ(+) の場合、つまりＦＡ／ＦがＦＡ／Ｆ中心値と見なせる場合には、以降の処理を行わずに本ルーチンを終了する。
【００５４】
これに対し、ＦＡ／Ｆ＞Ｆ(+) の場合、つまり触媒２７上流側の空燃比がＦＡ／Ｆ中心値よりリーン側にずれているときには、ステップ２２３に進み、ＦＡ／Ｆとその中心値上限Ｆ(+) との偏差ΔＡ／Ｆ＝ＦＡ／Ｆ−Ｆ(+) を算出し、続くステップ２２４で、エンジン運転状態から排ガス量Ｇを算出する。この後、ステップ２２５で、触媒２７に流入する排ガスリーン成分流量ΔＦＬを次式により算出する。
ΔＦＬ＝ΔＡ／Ｆ・Ｇ・ｋ      （ｋは係数）
【００５５】
この後、ステップ２２６で、排ガスリーン成分流量ΔＦＬを積算して触媒２７に流入する排ガスリーン成分量ＦＬを算出する。
【００５６】
一方、ＦＡ／Ｆ＜Ｆ(-) の場合、つまり触媒２７上流側の空燃比がＦＡ／Ｆ中心値よりリッチ側にずれているときには、ステップ２２７に進み、ＦＡ／Ｆとその中心値下限Ｆ(-) との偏差ΔＡ／Ｆ＝ＦＡ／Ｆ−Ｆ(-) を算出し、続くステップ２２８で、エンジン運転状態から排ガス量Ｇを算出する。この後、ステップ２２９にて、触媒２７に流入する排ガスリッチ成分流量ΔＦＲを次式により算出する。
ΔＦＲ＝ΔＡ／Ｆ・Ｇ・ｋ      （ｋは係数）
【００５７】
この後、ステップ２３０で、排ガスリッチ成分流量ΔＦＲを積算して触媒２７に流入する排ガスリッチ成分量ＦＲを算出する。
以上説明した排ガス成分流入量算出ルーチンにより求められる排ガス成分量ＦＬ，ＦＲとＦＡ／Ｆとの関係が図１４（ａ）に示されている。
【００５８】
［排ガス成分流出量算出］
図１３に基づいて、触媒２７から流出する排ガス成分の流出量を算出する排ガス成分流出量算出ルーチンの処理の流れを説明する。本ルーチンでは、まずステップ２３１，２３２で下流側空燃比センサ２９の出力ＲＡ／ＦをＲＡ／Ｆ中心値の上下限Ｒ(+) ，Ｒ(-) と比較し、Ｒ(-) ≦ＲＡ／Ｆ≦Ｒ(+) の場合、つまりＲＡ／ＦがＲＡ／Ｆ中心値と見なせる場合には、以降の処理を行わずに本ルーチンを終了する。
【００５９】
これに対し、ＲＡ／Ｆ＞Ｒ(+) の場合、つまり触媒２７下流側の空燃比がＲＡ／Ｆ中心値よりリーン側にずれているときには、ステップ１３３に進み、ＲＡ／Ｆとその中心値上限Ｒ(+) との偏差ΔＡ／Ｆ＝ＲＡ／Ｆ−Ｒ(+) を算出し、続くステップ２３４で、エンジン運転状態から排ガス量Ｇを算出する。この後、ステップ２３５で、触媒２７から流出する排ガスリーン成分流量ΔＲＬを次式により算出する。
ΔＲＬ＝ΔＡ／Ｆ・Ｇ・ｋ      （ｋは係数）
【００６０】
この後、ステップ２３６で、排ガスリーン成分流量ΔＲＬを積算して触媒２７から流出する排ガスリーン成分量ＲＬを算出する。
【００６１】
一方、ＲＡ／Ｆ＜Ｒ(-) の場合、つまり触媒２７下流側の空燃比がＲＡ／Ｆ中心値よりリッチ側にずれているときには、ステップ２３７に進み、ＲＡ／Ｆとその中心値下限Ｒ(-) との偏差ΔＡ／Ｆ＝ＲＡ／Ｆ−Ｒ(-) を算出し、続くステップ２３８で、エンジン運転状態から排ガス量Ｇを算出する。この後、ステップ２３９で、触媒２７から流出する排ガスリッチ成分流量ΔＲＲを次式により算出する。
ΔＲＲ＝ΔＡ／Ｆ・Ｇ・ｋ      （ｋは係数）
【００６２】
この後、ステップ２４０で、排ガスリッチ成分流量ΔＲＲを積算して触媒２７から流出する排ガスリッチ成分量ＲＲを算出する。
以上説明した排ガス成分流出量算出ルーチンにより求められる排ガス成分量ＲＬ，ＲＲとＲＡ／Ｆとの関係が図１４（ｂ）に示されている。
【００６３】
《実施形態（４）》
上記各実施形態（１）〜（３）では、下流側空燃比センサ２９として、排ガスの空燃比に応じたリニアな空燃比信号を出力するリニアＡ／Ｆセンサを用いたが、図１５乃至図３７に示す本発明の実施形態（４）では、下流側空燃比センサとして、排ガスの空燃比がリッチかリーンかで出力が反転する酸素センサを用い、この酸素センサの出力電圧を、出力リニアライズ手段（後述する図２３のステップ３５９の処理）によってリニアライズして空燃比に変換し、それを以下の処理で用いる。
【００６４】
［排ガス成分流入量算出］
図１５に基づいて、触媒２７に流入する排ガス成分の流入量を算出する排ガス成分流入量算出ルーチンの処理の流れを説明する。本ルーチンでは、まずステップ３００で、触媒２７の劣化を判定する劣化判定区間内であるか否かを判定する。この劣化判定区間（区間成立フラグ）は、後述する図２０乃至図２２のいずれかの劣化判定区間設定ルーチン（１）〜（３）によって設定され、そのルーチンで設定される区間成立フラグが「１」であるか否かで劣化判定区間内であるか否かが判定される。
【００６５】
判定劣化判定区間内の場合には、ステップ３０１以降の処理に進んで、次のようにして判定劣化判定区間内における排ガス成分の総流入量を算出する。まずステップ３０１，３０２で、上流側空燃比センサ２８の出力ＦＡ／ＦをＦＡ／Ｆ中心値の上下限Ｆ(+) ，Ｆ(-) と比較し、Ｆ(-) ≦ＦＡ／Ｆ≦Ｆ(+) の場合、つまりＦＡ／ＦがＦＡ／Ｆ中心値と見なせる場合には、以降の処理を行わずに本ルーチンを終了する。
【００６６】
これに対し、ＦＡ／Ｆ＞Ｆ(+) の場合、つまり触媒上流側の空燃比がＦＡ／Ｆ中心値よりリーン側にずれているときには、ステップ３０３に進み、ＦＡ／Ｆとその中心値上限Ｆ(+) との偏差ΔＡ／Ｆ＝ＦＡ／Ｆ−Ｆ(+) を算出し、続くステップ３０４で、エンジン運転状態から排ガス量Ｇを算出する。この後、ステップ３０５で、触媒２７に流入する排ガスリーン成分流量モル数ΔＦＬを次式により算出する。
【００６７】
ΔＦＬ＝ΔＡ／Ｆ・Ｇ・ｋ0
ｋ0 ＝ｋ’・ｋL
上式において、ｋ’はモル数変換係数、ｋL はリーン補正係数である。このリーン補正係数ｋL を用いる理由は、次の通りである。図１６は流入ガスの空燃比に対する各成分の濃度を示し、図１７は、空気過剰率λのずれ｜λ｜に対するリーンガス（Ｏ2 ）の濃度とリッチガス（ＣＯ＋Ｈ2 ）の濃度との関係を示している。尚、図１７のグラフでは、リッチガスの中にＨＣが考慮されていないが、図１６に示すように、ＨＣはＣＯやＨ2 と比較して少量であるため、無視したものである。これら図１６及び図１７から明らかなように、空燃比のずれΔＡ／Ｆがリーン方向、リッチ方向に同じ量だけずれていても、リーンガス（Ｏ2 ）のモル数とリッチガス（ＣＯ＋Ｈ2 ）のモル数とは異なる。
【００６８】
そこで、空燃比のずれΔＡ／Ｆから排ガスリーン成分流量モル数ΔＦＬを算出する場合には、モル数変換係数ｋ’をリーンガスとリッチガスとのモル濃度比で補正する。この補正は次の２通りの方法がある。１つ目の方法は、リッチガスを基準（ｋR ＝１）とし、図１８に示すｋL マップを用いて、その時点の｜λ｜に対するリーン補正係数ｋL を求める。２つ目の方法は、リーンガスを基準（ｋL ＝１）にして、図１９に示すｋR マップを用いて、その時点の｜λ｜に対するリッチ補正係数ｋR を求める。
【００６９】
以上のようにしてΔＦＬ＝ΔＡ／Ｆ・Ｇ・ｋ0 を演算した後、ステップ３０６で、このΔＦＬを積算して、触媒２７に流入する排ガスリーン成分総モル数ＦＬを算出する。
【００７０】
一方、ＦＡ／Ｆ＜Ｆ(-) の場合、つまり触媒上流側の空燃比がＦＡ／Ｆ中心値よりリッチ側にずれているときには、ステップ３０７に進み、ＦＡ／Ｆとその中心値下限Ｆ(-) との偏差ΔＡ／Ｆ＝ＦＡ／Ｆ−Ｆ(-) を算出し、続くステップ３０８で、エンジン運転状態から排ガス量Ｇを算出する。この後、ステップ３０９にて、触媒２７に流入する排ガスリッチ成分流量モル数ΔＦＲを次式により算出する。
【００７１】
ΔＦＲ＝ΔＡ／Ｆ・Ｇ・ｋ1
ｋ0 ＝ｋ’・ｋR
上式において、ｋ’はモル数変換係数、ｋR はリッチ補正係数である。このリッチ補正係数ｋR は、前述したように、リーンガスを基準（ｋL ＝１）にする場合には、図１９に示すｋR マップを用いて設定し、リッチガスを基準にする場合には、ｋR ＝１とする。
【００７２】
そして、次のステップ３１０で、ステップ３０９で算出したΔＦＲを積算して触媒２７に流入する排ガスリッチ成分総モル数ＦＲを算出する。
【００７３】
本ルーチンは、各気筒の燃焼毎に割込み処理され、判定劣化判定区間内における排ガスリッチ成分量モル数ＦＬと排ガスリーン成分量モル数ＦＲを算出する。その後、判定劣化判定区間が終了するとステップ３００からステップ３１１へ進み、判定劣化判定区間終了時の排ガスリーン成分量モル数ＦＬと排ガスリッチ成分量モル数ＦＲをそれぞれの区間総合排ガス成分流入量ＦＬtotal ，ＦＲtotal とする。その後、排ガス成分流量モル数ΔＦＬ，ΔＦＲの記憶値をリセットして本ルーチンを終了する。
【００７４】
以上説明したＦＬ，ＦＲの算出処理の一例が図３３のタイムチャートに示されている。
【００７５】
［劣化判定区間設定］
触媒２７の劣化を判定する劣化判定区間は、エンジン始動から触媒２７の暖機が終了する（つまり触媒２７が活性温度に上昇する）までの区間、又は、エンジン完全暖機後に定常運転状態になってから所定時間ｋdtが経過するまでの区間である。ここで、触媒２７の暖機終了を判定する方法としては、エンジン始動後の経過時間から判定する方法と、エンジン始動後の燃焼エネルギを積算してその積算値から判定する方法の２通りがある。従って、劣化判定区間の設定方法は、次の３通りの方法がある。
【００７６】
〈劣化判定区間設定（１）〉
図２０に示す劣化判定区間設定（１）は、エンジン始動後の経過時間から劣化判定区間を判定する方法である。本ルーチンは、所定時間毎に割込み処理され、まずステップ３２１で、エンジン始動後であるか否かを判定し、始動後でなければ、ステップ３２５に進んで、区間成立フラグを劣化判定区間終了（区間前）を意味する「０」にセットして本ルーチンを終了する。
【００７７】
エンジン始動後であれば、ステップ３２１からステップ３２２に進み、エンジン始動後の経過時間Ｔを計測する。そして、次のステップ３２３で、経過時間Ｔが触媒２７の暖機に必要とされる所定時間Ｔ0 に達したか否かを判定し、所定時間Ｔ0 に達していなければ、ステップ３２４に進み、区間成立フラグを劣化判定区間内を意味する「１」にセットして本ルーチンを終了する。
【００７８】
その後、エンジン始動後の経過時間Ｔが所定時間Ｔ0 に達すると、触媒２７の暖機が終了したものとみなして、ステップ３２５に進み、区間成立フラグを劣化判定区間終了を意味する「０」にセットして本ルーチンを終了する。以上の処理により、エンジン始動から所定時間Ｔ0 が経過するまでの区間を劣化判定区間に設定して、その劣化判定区間内は区間成立フラグを「１」に維持する。
【００７９】
〈劣化判定区間設定（２）〉
図２１に示す劣化判定区間設定（２）は、エンジン始動後の燃焼エネルギの積算値から劣化判定区間を判定する方法である。本ルーチンは、各気筒の燃焼毎に割込み処理され、まずステップ３３１で、エンジン始動後であるか否かを判定し、始動後でなければ、ステップ３３５に進んで、区間成立フラグを「０」にセットして本ルーチンを終了する。
【００８０】
エンジン始動後であれば、ステップ３３１からステップ３３２に進み、エンジン始動後の燃焼エネルギＥを積算する。ここで、燃焼エネルギＥは、空燃比、エンジン回転数、吸気管圧力、吸入空気量の少なくとも１つをパラメータとするマップ（図示せず）を用いて算出される。そして、次のステップ３３３で、エンジン始動後の燃焼エネルギ積算値ΣＥが触媒２７の暖機に必要とされる所定値Ｅ0 に達したか否かを判定し、所定値Ｅ0 に達していなければ、ステップ３３４に進み、区間成立フラグを劣化判定区間内を意味する「１」にセットして本ルーチンを終了する。
【００８１】
その後、エンジン始動後の燃焼エネルギ積算値ΣＥが所定値Ｅ0 に達すると、触媒２７の暖機が終了したものとみなして、ステップ３３５に進み、区間成立フラグを劣化判定区間終了を意味する「０」にセットして本ルーチンを終了する。以上の処理により、エンジン始動から燃焼エネルギ積算値ΣＥが所定値Ｅ0 に達するまでの区間を劣化判定区間に設定して、その劣化判定区間内は区間成立フラグを「１」に維持する。
【００８２】
〈劣化判定区間設定（３）〉
図２２に示す劣化判定区間設定（３）は、エンジン完全暖機後に定常運転状態になってから所定時間ｋdtが経過するまでを劣化判定区間として設定する処理である。本ルーチンは、所定時間毎に割込み処理され、まずステップ３４１で、定常運転状態か否かを判定する。ここで、定常運転状態であるか否かは、エンジン回転数、吸気管圧力、吸入空気量等が安定しているか否かで判定される。定常運転状態であれば、ステップ３４２に進み、エンジンが完全暖機状態であるか否かをエンジン冷却水温等によって判定する。定常運転状態でない場合又は完全暖機状態でない場合には、ステップ３４６に進んで、区間成立フラグを「０」にセットして本ルーチンを終了する。
【００８３】
定常運転状態で且つ完全暖機状態である場合には、劣化判定区間が開始され、ステップ３４３に進み、劣化判定区間の経過時間Δｔをカウントする。次いで、ステップ３４４で、劣化判定区間の経過時間Δｔが所定時間ｋdtに達したか否かを判定し、所定時間ｋdtに達していなければ、ステップ３４５に進み、区間成立フラグを劣化判定区間内を意味する「１」にセットして本ルーチンを終了する。その後、劣化判定区間の経過時間Δｔが所定時間ｋdtに達すると、ステップ３４６に進んで、区間成立フラグを劣化判定区間終了を意味する「０」にセットして本ルーチンを終了する。以上の処理により、エンジン完全暖機後に定常運転状態になってから所定時間ｋdtが経過するまでの区間を劣化判定区間に設定して、その劣化判定区間内は区間成立フラグを「１」に維持する。
【００８４】
以上説明した図２０〜図２２の劣化判定区間設定（１）〜（３）は、いずれか１つを実施すれば良いが、（１）と（３）を組み合わせるか、或は、（２）と（３）を組み合わせるようにしても良い。劣化判定区間設定（１）〜（３）は、いずれも特許請求の範囲でいう区間設定手段としての役割を果たす。
【００８５】
［排ガス成分流出量算出］
図２３に基づいて、劣化判定区間内において触媒２７から流出する排ガス成分の総流出量を算出する排ガス成分流出量算出ルーチンの処理の流れを説明する。本ルーチンでは、まずステップ３５８で、下流側酸素センサの出力電圧を取り込み、次のステップ３５９で下流側酸素センサの出力電圧を予め設定された変換テーブル（図２４参照）により触媒下流の空燃比ＲＡ／Ｆに変換する。この後、ステップ３６０で、劣化判定区間内か否かを判定し、劣化判定区間内の場合には、ステップ３６１以降の処理に進んで、次のようにして排ガス成分の流出量を算出する。
【００８６】
この後、ステップ３６１，３６２で、下流側空燃比センサ２９の出力ＲＡ／ＦをＲＡ／Ｆ中心値の上下限Ｒ(+) ，Ｒ(-) と比較し、Ｒ(-) ≦ＲＡ／Ｆ≦Ｒ(+) の場合、つまりＲＡ／ＦがＲＡ／Ｆ中心値と見なせる場合には、以降の処理を行わずに本ルーチンを終了する。
【００８７】
これに対し、ＲＡ／Ｆ＞Ｒ(+) の場合、つまり触媒下流側の空燃比がＲＡ／Ｆ中心値よりリーン側にずれているときには、ステップ１３３に進み、ＲＡ／Ｆとその中心値上限Ｒ(+) との偏差ΔＡ／Ｆ＝ＲＡ／Ｆ−Ｒ(+) を算出し、続くステップ３６４で、エンジン運転状態から排ガス量Ｇを算出する。この後、ステップ３６５で、触媒２７から流出する排ガスリーン成分流量モル数ΔＲＬを次式により算出する。
【００８８】
ΔＲＬ＝ΔＡ／Ｆ・Ｇ・ｋ0
ｋ0 ＝ｋ’・ｋL
上式において、ｋ’はモル数変換係数、ｋL はリーン補正係数（図１８参照）である。そして、次のステップ３６６で、排ガスリーン成分流量モル数ΔＲＬを積算して触媒２７から流出する排ガスリーン成分量モル数ＲＬを算出する。
【００８９】
一方、ＲＡ／Ｆ＜Ｒ(-) の場合、つまり触媒下流側の空燃比がＲＡ／Ｆ中心値よりリッチ側にずれているときには、ステップ３６７に進み、ＲＡ／Ｆとその中心値下限Ｒ(-) との偏差ΔＡ／Ｆ＝ＲＡ／Ｆ−Ｒ(-) を算出し、続くステップ３６８で、エンジン運転状態から排ガス量Ｇを算出する。この後、ステップ３６９で、触媒２７から流出する排ガスリッチ成分流量ΔＲＲを次式により算出する。
【００９０】
ΔＲＲ＝ΔＡ／Ｆ・Ｇ・ｋ1
ｋ0 ＝ｋ’・ｋR
上式において、ｋ’はモル数変換係数、ｋR はリッチ補正係数（図１９参照）である。そして、次のステップ３７０で、排ガスリッチ成分流量ΔＲＲを積算して触媒２７から流出する排ガスリッチ成分量モル数ＲＲを算出する。
【００９１】
本ルーチンは、各気筒の燃焼毎に割込み処理され、判定劣化判定区間内に排ガスリッチ成分量モル数ＲＬと排ガスリーン成分量モル数ＲＲを算出する。その後、判定劣化判定区間が終了すると、ステップ３６０からステップ３７１へ進み、判定劣化判定区間終了時の排ガスリーン成分量モル数ＲＬと排ガスリッチ成分量モル数ＲＲをそれぞれの区間総合排ガス成分流出量ＲＬtotal ，ＲＲtotal とする。その後、排ガス成分流量モル数ΔＲＬ，ΔＲＲの記憶値をリセットして本ルーチンを終了する。
【００９２】
以上説明したＲＬ，ＲＲの算出処理の一例が図３３のタイムチャートに示されている。
【００９３】
［下流側酸素センサ素子温補正］
図２５に示す下流側酸素センサ素子温補正ルーチンは、下流側酸素センサの素子温を推定して、下流側酸素センサの出力電圧を触媒下流の空燃比ＲＡ／Ｆに変換する変換テーブルのリニアライズ特性を素子温に応じて補正する。これは、下流側酸素センサの出力特性が素子温によって変化するためである。
【００９４】
本ルーチンでは、まずステップ３８１にて、エンジン回転数Ｎｅと吸気管圧力Ｐｍとをパラメータとするサチュレート温度マップを検索して、その時点のＮｅとＰｍでほぼ決まる排ガス熱量に対応する下流側酸素センサのサチュレート温度（飽和温度）を求める。この後、ステップ３８２で、サチュレート温度を一次遅れ系で処理して下流側酸素センサの素子温を推定する。排ガスの熱量の変化（Ｎｅ，Ｐｍの変化）に伴う下流側酸素センサの素子温の変化は一次遅れ系で近似できるためである。そして、次のステップ３８３で、下流側酸素センサの出力電圧を空燃比ＲＡ／Ｆに変換する変換テーブルのリーン側及びリッチ側のリニアライズ特性を下流側酸素センサの素子温に応じて補正する（図２６参照）。
【００９５】
［燃料カット時補正］
図２７に示す燃料カット時補正ルーチンは、燃料カット時に、下流側酸素センサの出力電圧を空燃比ＲＡ／Ｆに変換する変換テーブルのリーン側のリニアライズ特性を補正する。本ルーチンでは、まずステップ３９１で、燃料カット（Ｆ／Ｃ）実施中であるか否かを判定し、燃料カット中である場合には、ステップ３９２に進み、燃料カット経過時間が所定時間ｔ1 に達したか否かを判定する。燃料カット中でない場合、又は燃料カット経過時間が所定時間ｔ1 に達しない場合には、以降の処理を実行することなく、本ルーチンを終了する。
【００９６】
一方、燃料カット経過時間が所定時間ｔ1 に達している場合には、ステップ３９３に進み、下流側酸素センサの出力電圧を読み込む。この後、ステップ３９４で、変換テーブルのリーン側のリニアライズ特性を補正する（図２８参照）。
【００９７】
［上流側空燃比状態判定］
図２９に示す上流側空燃比状態判定ルーチンは、触媒上流側の空燃比ＦＡ／Ｆがリッチ、リーン、ストイキのいずれに該当するかを判別する。この判別は図２のステップ１１１で算出したＦ(+) とＦ(-) を用いて次のようにして行う。ここで、Ｆ(+) とＦ(-) はＦＡ／Ｆ中心値と見なす範囲（不感帯）の上限と下限である。
【００９８】
本ルーチンでは、まずステップ４０１，４０２で、上流側空燃比ＦＡ／Ｆが、▲１▼ＦＡ／Ｆ≧Ｆ(+) 、▲２▼Ｆ(+) ＞ＦＡ／Ｆ＞Ｆ(-) 、▲３▼ＦＡ／Ｆ≦Ｆ(-) のいずれに該当するか否かを判定し、ＦＡ／Ｆ≧Ｆ(+) の場合には、リーンと判定してステップ４０３に進み、上流側空燃比フラグを「１」にセットする。ＦＡ／Ｆ≦Ｆ(-) の場合には、リッチと判定してステップ４０４に進み、上流側空燃比フラグを「−１」にセットする。Ｆ(+) ＞ＦＡ／Ｆ＞Ｆ(-) の場合には、ストイキと判定してステップ４０４に進み、上流側空燃比フラグを「０」にセットする。
【００９９】
以上説明した上流側空燃比フラグの切替タイミングの一例は、図３３のタイムチャートに示されている。
【０１００】
［下流側空燃比状態判定］
図３０に示す下流側空燃比状態判定ルーチンは、触媒下流側の空燃比ＲＡ／Ｆがリッチ、リーン、ストイキのいずれに該当するかを判別する。この判別は図２のステップ１０６で算出したＲ(+) とＲ(-) を用いて次のようにして行う。ここで、Ｒ(+) とＲ(-) はＲＡ／Ｆ中心値と見なす範囲（不感帯）の上限と下限である。
【０１０１】
本ルーチンでは、まずステップ４１１，４１２で、下流側空燃比ＲＡ／Ｆが、▲１▼ＲＡ／Ｆ≧Ｒ(+) 、▲２▼Ｒ(+) ＞ＲＡ／Ｆ＞Ｒ(-) 、▲３▼ＲＡ／Ｆ≦Ｒ(-) のいずれに該当するか否かを判定し、ＲＡ／Ｆ≧Ｒ(+) の場合には、リーンと判定してステップ４１３に進み、下流側空燃比フラグを「１」にセットする。ＲＡ／Ｆ≦Ｒ(-) の場合には、リッチと判定してステップ４１４に進み、下流側空燃比フラグを「−１」にセットする。Ｒ(+) ＞ＲＡ／Ｆ＞Ｒ(-) の場合には、ストイキと判定してステップ４１４に進み、下流側空燃比フラグを「０」にセットする。
【０１０２】
以上説明した下流側空燃比フラグの切替タイミングの一例は、図３３のタイムチャートに示されている。
【０１０３】
［キャンセル機能付き排ガス成分流入量算出］
図３１及び図３２に示すキャンセル機能付き排ガス成分量流入量算出ルーチンは、図１５の排ガス成分流入量算出ルーチンにキャンセル機能を付加したものである。従って、図３１及び図３２の処理を採用する場合には、図１５の処理は不要である。
【０１０４】
図３１及び図３２の処理は、各気筒の燃焼毎に割込み処理にて実行され、劣化判定区間内において、上流側空燃比センサにてリーンを検出している間、及び、リーンを検出しなくなってから所定時間Δｔｋ内に、下流側空燃比センサにてリーンを検出しなかった場合に、触媒２７が飽和しなかったとして、上流側空燃比センサの出力から算出する排ガスリーン成分量をキャンセルして（キャンセルフラグ＝１）、触媒劣化検出に反映しないにするものである。
【０１０５】
具体的には、まずステップ４２０で、劣化判定区間内であるか否かを判定し、劣化判定区間内でない場合には、以降の処理を行うことなく、本ルーチンを終了する。一方、劣化判定区間内である場合には、ステップ４２１に進み、上流側空燃比がリーンからストイキ領域に入った後の経過時間ｄｔが所定時間Δｔｋに達したか否かを判定し、所定時間Δｔｋに達していなければ、ステップ４２２に進み、ｄｔカウントフラグが上流側空燃比センサにてリーンを検出しなくなってから開始されるｄｔカウントモードを意味する「１」であるか否かを判定する。
【０１０６】
このステップ４２２で、ｄｔカウントフラグ＝１の場合には、ステップ４２３に進んで、経過時間ｄｔを計測し、続くステップ４２４で、下流側空燃比フラグがリーンを意味する「１」であるか否かを判定し、「１」であれば、ステップ４２５に進み、キャンセルフラグを排ガスリーン成分量ＦＬをキャンセルしないモード「０」にセットしてステップ４２６に進む。上述したステップ４２４で、下流側空燃比フラグがリーンを意味する「１」でない場合には、ステップ４２５を飛び越してステップ４２６に進む。尚、キャンセルフラグの初期値は、排ガスリーン成分量ＦＬをキャンセルするモード「１」に設定されている。
【０１０７】
また、ステップ４２２で、ｄｔカウントフラグが「１」でない場合にも、ステップ４２６に進む。このステップ４２６では、上流側空燃比フラグがリーンを意味する「１」であるか否かを判定し、「１」であれば、ステップ４２７に進み、触媒２７に流入する排ガスリーン成分流量モル数ΔＦＬを次式により算出する。
【０１０８】
ΔＦＬ＝ΔＡ／Ｆ・Ｇ・ｋ0
ΔＡ／Ｆ＝ＦＡ／Ｆ−Ｆ(+)
ｋ0 ＝ｋ’・ｋL
上式において、Ｇは排ガス量、ｋ’はモル数変換係数、ｋL はリーン補正係数である。
【０１０９】
そして、次のステップ４２８で、下流側空燃比フラグがリーンを意味する「１」であるか否かを判定し、「１」であれば、ステップ４２９に進み、キャンセルフラグを「０」にセットし、排ガスリーン成分量ＦＬをキャンセルしないモードとして本ルーチンを終了するが、下流側空燃比フラグが「１」でない場合には、そのまま本ルーチンを終了する。
【０１１０】
前述したステップ４２６で、上流側空燃比フラグが「１」でない場合には、ステップ４３０に進み、前回上流側空燃比フラグが「１」か否か、つまり前回処理時の上流側空燃比がリーンであったか否かを判定する。上流側空燃比センサにてリーンを検出しなくなった直後であれば、このステップ４３０で「Ｙｅｓ」と判定され、ステップ４３１に進み、リーン期間中のΔＦＬを積算して、触媒２７に流入する排ガスリーン成分量ＦＬを算出すると共に、ΣΔＦＬをクリアする。この後、ステップ４３２で、ｄｔカウントフラグをｄｔカウントモードを意味する「１」にセットして本ルーチンを終了する。前述したステップ４３０で、前回上流側空燃比フラグが「１」でない場合、つまり前回処理時の上流側空燃比がリーンでない場合には、以降の処理を行うことなく、本ルーチンを終了する。
【０１１１】
その後、上流側空燃比がリーンからストイキ領域に入った後の経過時間ｄｔが所定時間Δｔｋに達すると、前記ステップ４２１で「Ｙｅｓ」と判定され、図３２にステップ４３３に進んで、キャンセルフラグが排ガスリーン成分量ＦＬをキャンセルするモード「１」であるか否かを判定し、「１」であれば、ステップ４３４に進み、排ガスリーン成分量ＦＬをキャンセルし、ステップ４３５に進む。キャンセルフラグが排ガスリーン成分量ＦＬをキャンセルしないモード「０」であれば、排ガスリーン成分量ＦＬをキャンセルせずにステップ４３５に進む。
【０１１２】
このステップ４３５では、前回の区間総合リーン成分流入量ＦＬtotal に今回の排ガスリーン成分量ＦＬを加算して区間総合リーン成分流入量ＦＬtotal を更新する。そして、次のステップ４３６で、キャンセルフラグをキャンセルモード「１」にセットした後、ステップ４３７で、タイマーｄｔをクリアし、続くステップ４３８で、ｄｔカウントフラグをｄｔカウントモードでないことを意味する「０」にセットして本ルーチンを終了する。
【０１１３】
以上説明した図３１及び図３２のキャンセル処理は、排ガスリーン成分量ＦＬについてのキャンセル処理であるが、排ガスリッチ成分量ＦＲについても、同様の方法でキャンセル処理を行えば良い。このキャンセル処理の一例が図３４のタイムチャートに示されている。
【０１１４】
［リッチ／リーン飽和回数カウント］
図３５に示すリッチ／リーン飽和回数カウントルーチンは、劣化判定区間内において触媒２７がリーン成分で飽和した回数（リーン飽和回数）とリッチ成分で飽和した回数（リッチ飽和回数）とをカウントする処理である。
【０１１５】
本ルーチンでは、まずステップ４４１で、劣化判定区間内であるか否かを判定し、劣化判定区間内であれば、ステップ４４２に進んで、▲１▼下流側空燃比フラグ＝１（リーン）、且つ▲２▼下流側空燃比フラグ−前回下流側空燃比フラグ≠０であるか否かによってリーン飽和したか否かを判定する。▲１▼及び▲２▼の条件を同時に満たす場合には、リーン飽和と判定されて、ステップ４４３に進み、リーンカウントをインクリメントしてステップ４４４に進むが、リーン飽和でない場合には、リーンカウントをインクリメントせずにステップ４４４に進む。
【０１１６】
このステップ４４４では、▲１▼下流側空燃比フラグ＝−１（リッチ）、且つ▲２▼下流側空燃比フラグ−前回下流側空燃比フラグ≠０であるか否かによってリッチ飽和したか否かを判定する。▲１▼及び▲２▼の条件を同時に満たす場合には、リッチ飽和と判定されて、ステップ４４５に進み、リッチカウントをインクリメントして本ルーチンを終了するが、リッチ飽和でない場合には、リッチカウントをインクリメントせずに本ルーチンを終了する。
【０１１７】
その後、劣化判定区間が終了すると、ステップ４４１からステップ４４６，４４７へ進み、劣化判定区間終了時のリーンカウントとリッチカウントをそれぞれｎL とｎR とし、次に説明する図３６及び図３７の触媒劣化検出ルーチンの処理で用いる。
【０１１８】
［リーン側触媒劣化検出］
図３６に示すリーン側触媒劣化検出ルーチンは、劣化判定区間終了直後に実行される（ステップ３５１）。劣化判定区間終了直後に、ステップ３５２に進み、劣化判定区間内におけるリーン成分最大吸着量の平均値ＭＡＸＯＳＩavを、区間総合リーン成分流入量ＦＬtotal と区間総合リーン成分流出量ＲＬtotal と劣化判定区間内のリーン飽和回数ｎL を用いて、次式により算出する。
【０１１９】
ＭＡＸＯＳＩav＝（ＦＬtotal −ＲＬtotal ）／ｎL
このステップ３５２の処理が特許請求の範囲でいう最大吸着量平均値算出手段としての役割を果たす。
【０１２０】
そして、次のステップ３５３で、現在のリーン成分最大吸着量平均値ＭＡＸＯＳＩavを新品触媒時のリーン成分最大吸着量平均値ＭＡＸＯＳＩ０avで割り算して触媒劣化度合判定値ＬＤＥＴＥＲＩＯを求める。次のステップ３５４で、触媒劣化度合判定値ＬＤＥＴＥＲＩＯを所定の劣化判定値ｋL と比較し、ＬＤＥＴＥＲＩＯ＜ｋL の場合には触媒劣化と判定し（ステップ３５５）、これ以外の場合には触媒劣化と判定せずに本ルーチンを終了する。
【０１２１】
［リッチ側触媒劣化検出］
図３７に示すリッチ側触媒劣化検出ルーチンは、劣化判定区間終了直後に実行される（ステップ３６１）。劣化判定区間終了直後に、ステップ３６２に進み、劣化判定区間内におけるリッチ成分最大吸着量の平均値ＭＩＮＯＳＩavを、区間総合リッチ成分流入量ＦＲtotal と区間総合リッチ成分流出量ＲＲtotal と劣化判定区間内のリッチ飽和回数ｎR を用いて、次式により算出する。
ＭＩＮＯＳＩav＝（ＦＲtotal −ＲＲtotal ）／ｎR
このステップ３５２の処理が特許請求の範囲でいう最大吸着量平均値算出手段としての役割を果たす。
【０１２２】
そして、次のステップ３６３で、現在のリッチ成分最大吸着量平均値ＭＩＮＯＳＩavを新品触媒時のリッチ成分最大吸着量平均値ＭＩＮＯＳＩ０avで割り算して触媒劣化度合判定値ＲＤＥＴＥＲＩＯを求める。次のステップ３６４で、触媒劣化度合判定値ＲＤＥＴＥＲＩＯを所定の劣化判定値ｋR と比較し、ＲＤＥＴＥＲＩＯ＜ｋR の場合には触媒劣化と判定し（ステップ３６５）、これ以外の場合には触媒劣化と判定せずに本ルーチンを終了する。
【０１２３】
尚、図３６と図３７の各触媒劣化検出ルーチンは、いずれか一方のみを行うようにしても良い。また、図３６と図３７の双方のルーチンを行う場合、いずれか一方のルーチンで触媒劣化が検出されたときに最終的に触媒劣化と診断する方法と、双方のルーチンで同時に触媒劣化が検出されたときに最終的に触媒劣化と診断する方法の２通りが考えられる。
【０１２４】
《その他の実施形態》
［噴射ディザ供給］
図３８に示す燃料ディザ供給ルーチンでは、まずステップ３７１で、劣化判定区間内であるか否かを判定し、劣化判定区間内である場合には、ステップ３７２に進んで、燃料噴射量をリッチ側とリーン側とに交互に所定幅振る燃料ディザ供給を実行する。劣化判定区間内でない場合には、燃料ディザ供給を実行しない。このように、劣化判定区間内に燃料ディザ供給を実行することで、劣化判定区間内における排ガス成分最大吸着量平均値ＭＡＸＯＳＩav，ＭＩＮＯＳＩ０avの算出精度を向上させるものである。
【図面の簡単な説明】
【図１】本発明の実施形態（１）を示すエンジン制御システム全体の概略構成図
【図２】空燃比中心値算出ルーチンの処理の流れを示すフローチャート
【図３】排ガス成分流入量算出ルーチンの処理の流れを示すフローチャート
【図４】排ガス成分流入量算出の処理タイミングを示すタイムチャート
【図５】排ガス成分流出量算出ルーチンの処理の流れを示すフローチャート
【図６】リーン成分吸着量算出ルーチンの処理の流れを示すフローチャート
【図７】リッチ成分吸着量算出ルーチンの処理の流れを示すフローチャート
【図８】触媒劣化検出（リーン側）ルーチンの処理の流れを示すフローチャート
【図９】触媒劣化検出（リッチ側）ルーチンの処理の流れを示すフローチャート
【図１０】本発明の実施形態（２）に用いる下流側空燃比センサ制御ルーチンの処理の流れを示すフローチャート
【図１１】実施形態（２）に用いる排ガス成分流出量算出ルーチンの処理の流れを示すフローチャート
【図１２】本発明の実施形態（３）に用いる排ガス成分流入量算出ルーチンの処理の流れを示すフローチャート
【図１３】実施形態（３）に用いる排ガス成分流出量算出ルーチンの処理の流れを示すフローチャート
【図１４】実施形態（３）における排ガス成分量算出の処理タイミングを示すタイムチャート
【図１５】実施形態（４）における排ガス成分流入量算出ルーチンの処理の流れを示すフローチャート
【図１６】流入ガスの空燃比Ａ／Ｆに対する各成分の濃度を示す図
【図１７】空気過剰率λのずれ｜λ｜に対するリーンガス（Ｏ2 ）の濃度とリッチガス（ＣＯ＋Ｈ2 ）の濃度との関係を示す図
【図１８】ｋL マップを示す図
【図１９】ｋR マップを示す図
【図２０】劣化判定区間設定（１）の処理の流れを示すフローチャート
【図２１】劣化判定区間設定（２）の処理の流れを示すフローチャート
【図２２】劣化判定区間設定（３）の処理の流れを示すフローチャート
【図２３】排ガス成分流出量算出ルーチンの処理の流れを示すフローチャート
【図２４】下流側酸素センサの出力電圧を触媒下流の空燃比ＲＡ／Ｆに変換する変換テーブルを概念的に示す図
【図２５】下流側酸素センサ素子温補正ルーチンの処理の流れを示すフローチャート
【図２６】下流側酸素センサ素子温による変換テーブルのリニアライズ特性の補正を概念的に示す図
【図２７】燃料カット時補正ルーチンの処理の流れを示すフローチャート
【図２８】燃料カット時における変換テーブルのリーン側のリニアライズ特性の補正を概念的に示す図
【図２９】上流側空燃比状態判定ルーチンの処理の流れを示すフローチャート
【図３０】下流側空燃比状態判定ルーチンの処理の流れを示すフローチャート
【図３１】キャンセル機能付き排ガス成分量流入量算出ルーチンの処理の流れを示すフローチャート（その１）
【図３２】キャンセル機能付き排ガス成分量流入量算出ルーチンの処理の流れを示すフローチャート（その２）
【図３３】劣化判定区間内における処理例を示すタイムチャート
【図３４】排ガス成分流入量をキャンセルするときの挙動を
【図３５】リッチ／リーン飽和回数カウントルーチンの処理の流れを示すフローチャート
【図３６】リーン側触媒劣化検出ルーチンの処理の流れを示すフローチャート
【図３７】リッチ側触媒劣化検出ルーチンの処理の流れを示すフローチャート
【図３８】噴射ディザ供給ルーチンの処理の流れを示すフローチャート
【符号の説明】
１１…エンジン（内燃機関）、１７…吸気管圧力センサ、２４…クランク角センサ、２６…排気管（排ガス通路）、２７…触媒、２８…上流側空燃比センサ、２９…下流側空燃比センサ、３０…電子制御回路（流入量演算手段，流出量演算手段，触媒状態検出手段，触媒劣化検出手段，出力補正手段，モル数換算手段，区間設定手段，最大吸着量平均値算出手段，出力リニアライズ手段）、３７…警告ランプ。
【図１】
0003722167.tif 000002
【図２】
0003722167.tif 000003
【図３】
0003722167.tif 000004
【図４】
0003722167.tif 000005
【図５】
0003722167.tif 000006
【図６】
0003722167.tif 000007
【図７】
0003722167.tif 000008
【図８】
0003722167.tif 000009
【図９】
0003722167.tif 000010
【図１０】
0003722167.tif 000011
【図１１】
0003722167.tif 000012
【図１２】
0003722167.tif 000013
【図１３】
0003722167.tif 000014
【図１４】
0003722167.tif 000015
【図１５】
0003722167.tif 000016
【図１６】
0003722167.tif 000017
【図１７】
0003722167.tif 000018
【図１８】
0003722167.tif 000019
【図１９】
0003722167.tif 000020
【図２０】
0003722167.tif 000021
【図２１】
0003722167.tif 000022
【図２２】
0003722167.tif 000023
【図２３】
0003722167.tif 000024
【図２４】
0003722167.tif 000025
【図２５】
0003722167.tif 000026
【図２６】
0003722167.tif 000027
【図２７】
0003722167.tif 000028
【図２８】
0003722167.tif 000029
【図２９】
0003722167.tif 000030
【図３０】
0003722167.tif 000031
【図３１】
0003722167.tif 000032
【図３２】
0003722167.tif 000033
【図３３】
0003722167.tif 000034
【図３４】
0003722167.tif 000035
【図３５】
0003722167.tif 000036
【図３６】
0003722167.tif 000037
【図３７】
0003722167.tif 000038
【図３８】
0003722167.tif 000039