(57)【要約】【課題】本発明は、触媒劣化診断の精度を向上させることができるとともに、触媒劣化診断の機会を適切に確保することができる内燃機関の制御装置を提供する。【解決手段】ＥＣＵ１００は、各センサを介して、内燃機関の運転状態と、吸気温と、吸気圧と、排気路における触媒の上流側の空燃比と、排気路における触媒の下流側の空燃比と、車速と、スロットル開度と、アクセル開度とのそれぞれを監視している。待機期間算出手段１０４は、吸入空気量検出手段１０２によって算出された内燃機関の吸入空気量に基づいて、指標値算出手段１０５による触媒劣化指標値についての演算処理の実行開始を遅延させる期間を、待ち時間として算出して設定する。待機期間算出手段１０４は、算出した待ち時間を指標値算出条件として設定する。【選択図】図２
2010112246.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の運転状態と、前記内燃機関の吸気路における吸入空気量と、前記内燃機関の排気路における触媒の上流側の空燃比と、前記排気路の前記触媒の下流側の空燃比とを監視する内燃機関の制御装置であって、
前記内燃機関の運転状態に応じて、所定の触媒劣化診断条件が成立したか否かを判定する診断条件判定手段と、
前記診断条件判定手段によって前記触媒劣化診断条件の成立判定がされた後に、前記上流側の空燃比と、前記下流側の空燃比とに基づいて、前記触媒の劣化を判別するための触媒劣化指標値の算出処理を実行する指標値算出手段と、
前記指標値算出手段によって算出された前記触媒劣化指標値に基づいて前記触媒の劣化状態を診断する触媒劣化診断手段と
を備え、
前記触媒劣化診断条件の成立判定がされた後から前記指標値算出手段が触媒劣化指標値についての算出処理を開始するまでの待機期間を、前記吸気路の吸入空気量に基づいて算出して設定し、前記指標値算出手段による前記触媒劣化指標値についての算出処理の開始を前記待機期間分遅延させる待機期間算出手段
をさらに備えることを特徴とする内燃機関の制御装置。
【請求項２】
前記待機期間算出手段は、前記吸気路における吸入空気量の積算値に基づいて、前記待機期間を算出する
ことを特徴とする請求項１記載の内燃機関の制御装置。
【請求項３】
前記上流側の空燃比に基づいて、前記触媒の酸素吸蔵量を算出する酸素吸蔵量算出手段
をさらに備え、
前記待機期間算出手段は、前記吸気路における吸入空気量と、前記酸素吸蔵量算出手段によって算出された触媒酸素吸蔵量とに基づいて、前記待機期間を算出する
ことを特徴とする請求項１記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、排気ガスを浄化する触媒（三元触媒）の劣化診断機能を有する内燃機関の制御装置に関する。
【背景技術】
【０００２】
例えば、特許文献１に示すような従来の内燃機関の制御装置では、第１酸素センサの出力値が内燃機関の過渡状態に伴って変動する。このような第１酸素センサの出力値の変動に伴って触媒の劣化の誤診断が発生することを回避するために、排気路における触媒の上流側に設けられた第１酸素センサの出力反転周期が所定値以上のときに、触媒劣化診断を所定時間禁止する。
【０００３】
【特許文献１】特開平８−３０３２３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記のような従来の内燃機関の制御装置では、触媒劣化診断を禁止する時間が固定値であり常に一定であるため、第１酸素センサの出力値の変動が収束した場合でも、触媒劣化診断が禁止されることがある。このため、触媒劣化診断の機会が不要に減少してしまうという問題がある。
【０００５】
この発明は、上記のような課題を解決するためになされたものであり、触媒劣化診断の精度を向上させることができるとともに、触媒劣化診断の機会を適切に確保することができる内燃機関の制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係る内燃機関の制御装置は、内燃機関の運転状態と、内燃機関の吸気路における吸入空気量と、内燃機関の排気路における触媒の上流側の空燃比と、排気路の触媒の下流側の空燃比とを監視するものであって、内燃機関の運転状態に応じて、所定の触媒劣化診断条件が成立したか否かを判定する診断条件判定手段と、診断条件判定手段によって触媒劣化診断条件の成立判定がされた後に、上流側の空燃比と、下流側の空燃比とに基づいて、触媒の劣化を判別するための触媒劣化指標値の算出処理を実行する指標値算出手段と、指標値算出手段によって算出された触媒劣化指標値に基づいて触媒の劣化状態を診断する触媒劣化診断手段とを備え、触媒劣化診断条件の成立判定がされた後から指標値算出手段が触媒劣化指標値についての算出処理を開始するまでの待機期間を、吸気路の吸入空気量に基づいて算出して設定し、指標値算出手段による触媒劣化指標値についての算出処理の開始を待機期間分遅延させる待機期間算出手段をさらに備えるものである。
【発明の効果】
【０００７】
この発明の内燃機関の制御装置によれば、待機期間算出手段が待機期間を吸入空気量に基づいて算出して設定し、指標値算出手段による触媒劣化指標値についての算出処理の開始を待機期間分遅延させるので、触媒劣化指標値に含まれる内燃機関の過渡状態に伴う誤差成分を低減させることができ、触媒劣化診断の精度を向上させることができる。これとともに、従来の内燃機関の制御装置のような固定値を待機期間として用いていないことにより、触媒劣化診断の機会を適切に確保することができる。
【発明を実施するための最良の形態】
【０００８】
以下、この発明を実施するための最良の形態について、図面を参照して説明する。
実施の形態１．
図１は、この発明の実施の形態１による内燃機関を示す構成図である。図１において、内燃機関１は、シリンダ２、ピストン３、スパークプラグ４、クランクシャフト５、ウォータジャケット６、吸気用バルブ７及び排気用バルブ８を有している。シリンダ２は、燃焼室を形成している。
【０００９】
ピストン３は、スパークプラグ４の放電による混合ガスの燃焼に伴って、シリンダ２の燃焼室内で変位する。また、ピストン３は、燃焼室内で変位することによってクランクシャフト５に回転力を加える。クランクシャフト５には、クランク角センサプレート９が取り付けられている。クランクシャフト５の回転は、クランク角センサプレート９を介して、クランク角センサ１０によって電気信号に変換される。
【００１０】
ウォータジャケット６は、シリンダ２に組み込まれている。また、ウォータジャケット６の内部には、内燃機関１を冷却するための冷却水が充填されている。さらに、ウォータジャケット６には、冷却水の熱交換用のラジエータ（図示せず）が接続されている。また、ウォータジャケット６には、冷却水の温度に応じた電気信号を生成する水温センサ１２が取り付けられている。
【００１１】
シリンダ２の燃焼室の吸入口には、吸気路を形成する吸気管１３が接続されている。また、シリンダ２の燃焼室の吸入口は、吸気用バルブ７によって開閉される。シリンダ２の燃焼室の排出口には、排気路を形成する排気管１４が接続されている。また、燃焼室の排気口は、排気用バルブ８によって開閉される。
【００１２】
ここで、吸気用バルブ７及び排気用バルブ８は、バルブ駆動機構によって駆動される。バルブ駆動機構のカムには、外周部が凹凸状に形成されたカム角センサプレート１５が取り付けられている。また、バルブ駆動機構のカムの回転角は、カム角センサプレート１５の外周部の凹凸を感知するカム角センサ１６によって電気信号に変換される。
【００１３】
吸気管１３の上流側（内燃機関１の反対側）には、外気を浄化するためのエアクリーナ１７が取り付けられている。吸気管１３による吸気路には、内燃機関１に送られる空気量を調整するためのスロットルバルブ１８と、吸入路内の吸気の温度に応じた電気信号を生成する吸気温センサ１９と、吸入路内の圧力に応じた電気信号を生成する吸気圧センサ２０と、吸気路内に燃料を噴射して混合ガスを生成するインジェクタ２１とが設けられている。
【００１４】
排気管１４による排気路には、内燃機関１から排出される有害ガスを浄化するための触媒（三元触媒）２２が設けられている。具体的に、触媒２２は、酸化作用によって、排気ガスに含まれる炭化水素（ＨＣ）及び一酸化炭素（ＣＯ）を、それぞれ水（Ｈ２Ｏ）及び二酸化炭素（ＣＯ２）に変化させる。これと同時に、触媒２２は、還元作用によって、排気ガスに含まれる窒素酸化物（ＮＯＸ）を、窒素（Ｎ２）及び酸素（Ｏ２）に変化させる。
【００１５】
また、排気管１４による排気路における触媒２２の上流側には、上流側空燃比センサ２３（以下、フロントＯ２センサ又はＦＯ２センサ）が設けられている。フロントＯ２センサ２３は、リニア空燃比センサ（以下、ＬＡＦＳ：Ｌｉｎｅａｒ  Ａｉｒ  Ｆｕｅｌ  Ｓｅｎｓｏｒ）である。また、フロントＯ２センサ２３は、例えば１０〜２３程度の範囲内で、触媒２２の上流側の排気ガスの空燃比（以下、Ａ／Ｆ：Ａｉｒ／Ｆｕｅｌ）に応じた信号を生成する。
【００１６】
排気管１４による排気路における触媒２２の下流側には、下流側空燃比センサ２４（以下、リアＯ２センサ又はＲＯ２センサ）が設けられている。リアＯ２センサ２４は、ラムダＯ２センサである。また、リアＯ２センサ２４は、触媒２２の下流側の排気ガス中の酸素量に応じた信号を生成する。
【００１７】
また、内燃機関１により駆動される車両には、走行速度に応じた電気信号を生成する車速センサ（図示せず）が取り付けられている。さらに、スロットルバルブ１８には、そのスロットルバルブ１８の開度に応じた電気信号を生成するスロットル開度センサ（図示せず）が接続されている。また、車両のアクセル（図示せず）には、そのアクセルの開度に応じた電気信号を生成するアクセル開度センサ（図示せず）が接続されている。
【００１８】
ここで、クランク角センサ１０、水温センサ１２、カム角センサ１６、吸気温センサ１９、吸気圧センサ２０、フロントＯ２センサ２３、リアＯ２センサ２４、車速センサ、スロットル開度センサ及びアクセル開度センサのそれぞれによって生成された電気信号は、電子制御ユニット（以下、ＥＣＵ：Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）１００に送られる。ＥＣＵ１００は、内燃機関１の運転を含めた車両の挙動を統括して制御する。
【００１９】
ＥＣＵ１００は、各センサを介して、内燃機関１の運転状態と、吸気温と、吸気圧と、排気路における触媒２２の上流側の空燃比と、排気路における触媒２２の下流側の空燃比と、車速と、スロットル開度と、アクセル開度とのそれぞれを監視している。また、ＥＣＵ１００は、昇圧コイル２５を介して、スパークプラグ４の放電を制御する。さらに、ＥＣＵ１００は、インジェクタ２１の燃料の噴射量を制御する。
【００２０】
ここで、ＥＣＵ１００は、インジェクタ２１の燃料噴射制御を行う際に、触媒２２の浄化性能を維持させるために、Ａ／Ｆ測定値がほぼ理論空燃比となるように目標Ａ／Ｆを設定する。つまり、ＥＣＵ１００は、目標Ａ／Ｆを調整することによって、インジェクタ２１の燃料噴射量を制御する（内燃機関１の冷機時、高負荷時及び高回転時等の一部の運転条件成立時を除く）。また、アクセル（図示せず）の開閉量に応じて、スロットルバルブ１８の開度を制御する。
【００２１】
次に、ＥＣＵ１００の構成について具体的に説明する。図２は、図１のＥＣＵ１００の触媒劣化診断に関する構成を示すブロック図である。図２において、ＥＣＵ１００は、運転状態検出手段１０１、吸入空気量検出手段１０２、診断条件判定手段１０３、待機期間算出手段１０４、指標値算出手段１０５及び触媒劣化診断手段１０６を有している。
【００２２】
運転状態検出手段１０１は、クランク角センサ１０、水温センサ１２、カム角センサ１６及び吸気温センサ１９からの電気信号に基づいて、内燃機関１の運転状態を監視する。吸入空気量検出手段１０２は、吸気温センサ１９からの電気信号に基づく吸気温と、吸気圧センサ２０からの電気信号に基づく吸気圧（吸気管圧力）とを用いて、吸入空気量を算出する。
【００２３】
ここで、吸入空気量検出手段１０２は、以下の算出式を演算することによって、吸入空気量を算出する。
吸入空気量［ｇ／ｓ］＝排気量［Ｌ］×回転速度［ｒ／ｍ］／（２×６０）×吸気管圧力／１０１．３×空気密度
なお、上記の算出式の空気密度は、以下の算出式によって算出される。
空気密度＝１．２９３／（１＋０．００３６７×吸気温）
【００２４】
診断条件判定手段１０３は、運転状態検出手段１０１により監視されている内燃機関１の運転状態に基づいて、所定の触媒劣化診断条件が成立したか否かを判定する。この触媒劣化診断条件とは、触媒２２の劣化診断における触媒２２の誤診断を低減させるための条件である。この触媒劣化診断条件には、水温条件、車速条件、スロットル開度変化条件、継続条件及び未完了条件等が含まれている。
【００２５】
水温条件とは、内燃機関１が暖機状態であると判断するための条件である。水温条件は、例えば、水温が８０℃以上のときに成立する。車速条件とは、触媒２２が暖機状態であると判断するための条件である。車速条件は、例えば、車速が５０ｋｍ／ｈ以上のときに成立する。スロットル開度変化条件とは、内燃機関１が定常運転状態であると判断するための条件である。スロットル開度変化条件は、例えば、スロットル開度変化が０．１Ｖ以下のときに成立する。
【００２６】
継続条件とは、水温条件、車速条件及びスロットル開度変化条件が所定時間（例えば、３秒）以上継続して成立しているときに成立する条件である。未完了条件とは、今回のドライビングサイクル間（今回キースイッチＯＮから次回キースイッチＯＮまでの間）で一度も触媒劣化診断が完了していないときに成立する条件である。なお、触媒劣化診断条件は、予め設定された所定期間成立し続けると、不成立となる。指標値算出条件も、触媒劣化診断条件の不成立と同時に不成立となる。また、指標値算出条件は、一度成立すれば、吸入空気量の変化に伴ってタイマの計数値が待ち時間未満になっても、触媒劣化診断条件が不成立になるまでは、不成立にならない。
【００２７】
待機期間算出手段１０４は、吸入空気量検出手段１０２によって算出（検出）された内燃機関１の吸入空気量に基づいて、指標値算出手段１０５による触媒劣化指標値についての演算処理の実行開始を遅延させる期間（待機期間）を、待ち時間として算出する。具体的に、待機期間算出手段１０４（ＥＣＵ１００のＲＯＭ内）には、吸入空気量（Ｑａ）と待ち時間とが互いに関連付けて、図３に示すような触媒劣化指標値待ち時間マップが予め登録されている。また、待機期間算出手段１０４は、算出した吸入空気量に基づいて、触媒劣化指標値待ち時間マップを補間参照することによって待ち時間を算出する。そして、待機期間算出手段１０４は、算出した待ち時間を指標値算出条件として設定する。
【００２８】
指標値算出手段１０５は、フロントＯ２センサ２３の電気信号による酸素量と、リアＯ２センサ２４の電気信号による酸素量とに基づいて、触媒劣化指標値を算出する。この触媒劣化指標値とは、触媒２２が劣化しているか否かを判定するための指標値である。触媒劣化診断手段１０６は、指標値算出手段１０５によって算出された触媒劣化指標値に基づいて、触媒２２に対して触媒劣化診断処理を実行する。
【００２９】
酸素吸蔵量算出手段１０７は、フロントＯ２センサ２３の電気信号によるＡ／Ｆ測定値に基づいて、触媒２２の酸素吸蔵量（以下、ＯＳＣ：Ｏｘｙｇｅｎ  Ｓｔｏｒａｇｅ  Ｃａｐａｃｉｔｙ）をＯＳＣ算出値として算出する。また、酸素吸蔵量算出手段１０７は、算出したＯＳＣ算出値を触媒劣化診断手段１０６に送る。さらに、酸素吸蔵量算出手段１０７は、以下の算出式を演算することによって、ＯＳＣ算出値を算出する。
ＯＳＣ算出値＝ＯＳＣ算出値［ｎ−１］＋（Ａ／Ｆ測定値−Ａ／Ｆ基準値）／
（Ａ／Ｆ基準値×吸入空気量×０．２３×０．０１）
なお、ＯＳＣ算出値［ｎ−１］は、前回（１０［ｍｓ］前）の演算処理によって算出されたＯＳＣ算出値である。
【００３０】
ＥＣＵ１００は、演算処理部（ＣＰＵ）、記憶部（ＲＯＭ、ＲＡＭ及びハードディスク等）及び信号入出力部を持ったコンピュータ（図示せず）により構成することができる。ＥＣＵ１００のコンピュータの記憶部は、運転状態検出手段１０１、吸入空気量検出手段１０２、診断条件判定手段１０３、待機期間算出手段１０４、指標値算出手段１０５、触媒劣化診断手段１０６及び酸素吸蔵量算出手段１０７の機能を実現するためのプログラムを格納している。
【００３１】
次に、触媒２２の排気ガスの浄化性能、及び劣化度合について説明する。触媒２２の浄化性能は、触媒２２のＯＳＣと相関関係にある。また、触媒２２の実際のＯＳＣであるＯＳＣ能力値は、触媒２２の劣化度合いに応じて低下する。ここで、待機期間算出手段１０４において、吸入空気量（Ｑａ）と待ち時間とが互いに関連付けて登録されているのは、ＯＳＣ能力値がその最大値又は最小値から、ＯＳＣ能力値の最大値の１／２になるまでの期間が吸入空気量によって概ね決まるためである。
【００３２】
ＥＣＵ１００は、触媒劣化診断処理の実行時において、下限ＯＳＣ能力値の範囲内で目標Ａ／Ｆの振幅を制御し、リアＯ２センサ２４の出力値をフロントＯ２センサ２３の出力値と比較することによって、触媒２２の劣化度合を診断する。なお、下限ＯＳＣ能力値とは、正常であると診断するべき触媒の劣化度合いが下限（劣化寸前の状態）のときのＯＳＣ能力値である。
【００３３】
ここで、触媒２２が正常である場合において、目標Ａ／Ｆの振幅制御のリーン側では、ＥＣＵ１００によって、触媒２２のＯＳＣ能力値の範囲内で目標Ａ／Ｆが設定される。このため、排気路における触媒２２の下流に酸素が流出することがなく、リアＯ２センサ２４の出力値は、リーン側には振れない。これによって、排気ガスに含まれるＮＯｘは、触媒２２の還元作用によって無害化され、排気路における触媒２２の下流へ流出しない。
【００３４】
また、触媒２２が正常である場合において、目標Ａ／Ｆの振幅制御のリッチ側では、触媒２２が吸蔵している酸素を排気ガスが全て使い果たすには至らない。このため、リアＯ２センサ２４の出力値はリッチ側に振れない。これによって、排気ガスに含まれるＣＯ及びＨＣは、触媒２２の酸化作用によって無害化され、排気路における触媒２２の下流へ流出しない。
【００３５】
一方、触媒２２が劣化している場合において、目標Ａ／Ｆの振幅制御のリーン側では触媒２２のＯＳＣ能力値が正常時に比べて低下していることにより、そのＯＳＣ能力値を超えて目標Ａ／Ｆが制御される。このため、排気路における触媒２２の下流に酸素が流出し、リアＯ２センサ２４の出力値はリーン側に振れる。また、触媒２２が劣化している場合において、目標Ａ／Ｆの振幅制御のリッチ側では、触媒２２に吸蔵されている酸素を排気ガスが全て使い果たすので、リアＯ２センサ２４の出力値はリッチ側に振れる。
【００３６】
このように、正常状態の触媒２２では、ＯＳＣ能力値が、下限ＯＳＣ能力値（触媒劣化診断処理の実行時の目標Ａ／Ｆの振幅狙い値）よりも大きい。このため、リアＯ２センサ２４の出力値は、リーン側又はリッチ側に振れない。これに対して、劣化状態の触媒２２では、ＯＳＣ能力値が、下限ＯＳＣ能力値よりも小さい。このため、リアＯ２センサ２４の出力値は、リッチ側に振れることとなり、ＥＣＵ１００による触媒２２の劣化検出が可能となる。
【００３７】
ここで、ＥＣＵ１００は、目標Ａ／Ｆの振幅制御に際して、予め設定された上限ＯＳＣ設定値及び下限ＯＳＣ設定値を用いる。上限ＯＳＣ設定値には、酸素吸蔵量０ｇを基準値（０点）として＋側に下限ＯＳＣ能力値の１／２の値が設定されている。また、下限ＯＳＣ設定値には、酸素吸蔵量０ｇを基準値（０点）としてマイナス側に下限ＯＳＣ能力値の１／２の値が設定されている。なお、図４は、下限ＯＳＣ能力値、上限ＯＳＣ設定値及び下限ＯＳＣ設定値の関係を説明するための説明図である。
【００３８】
ＯＳＣ能力値の１／２が上限ＯＳＣ設定値よりも小さい触媒２２では、内燃機関１からの排気ガスに含まれる酸素が触媒２２の酸素吸蔵量を超過するため、酸素が触媒２２の下流に流出し、リアＯ２センサ２４の出力値に現れる。このため、ＥＣＵ１００によって、触媒２２の劣化を検出可能になる。
【００３９】
ここで、上限ＯＳＣ設定値をＯＳＣ能力値の１／２に設定する理由について説明する。触媒２２が全ての酸素を排出した状態では、酸素吸蔵量が０ｇである。また、触媒２２が酸素を吸蔵すると、酸素吸蔵量が正の値となる。しかし、実施の形態１では、演算処理の容易性を考慮し、正常と診断すべき触媒２２の劣化度合の下限のＯＳＣ能力値の１／２の値を基準値（０点）とし、その基準値を中心にプラス・マイナスの表現とすることによって、相対的なＯＳＣ算出値として取り扱う。なお、上限ＯＳＣ設定値を下限ＯＳＣ能力値の１／２以外の値に設定することもできる。
【００４０】
次に、ＥＣＵ１００の触媒劣化診断に関する動作について説明する。図５は、図２のＥＣＵ１００による触媒劣化診断に関する動作の概要を示すフローチャートである。なお、ＥＣＵ１００は、図５に示す動作を所定時間毎（例えば１０ｍｓ毎）に実行する。図５において、ＥＣＵ１００は、触媒劣化診断条件が成立しているか否かついて判定する（ステップＳ５０１）。触媒劣化診断条件が成立している場合には、ＥＣＵ１００は、診断用の目標Ａ／Ｆの設定処理を実行する（ステップＳ５０２）。
【００４１】
そして、ＥＣＵ１００は、触媒劣化指標値の演算処理に対する待ち時間についての算出処理（待機期間算出処理）を実行し（ステップＳ５０３）、指標値算出条件が成立したか否かを確認する（ステップＳ５０４）。このときに、指標値算出条件が成立している場合には、ＥＣＵ１００は、触媒劣化指標値算出処理を実行する（ステップＳ５０５）。また、指標値算出条件が成立してない場合には、ＥＣＵ１００は、この処理を抜ける。
【００４２】
ここで、触媒劣化診断条件が成立しているか否かついて判定した際に、その触媒劣化診断条件が成立していない場合（ステップＳ５０１のＮＯ方向）には、ＥＣＵ１００は、通常時の目標Ａ／Ｆ設定処理を実行する（ステップＳ５０６）。ここで、通常時の目標Ａ／Ｆは、エンジンが完暖状態であれば理論空燃比である１４．５であり、内燃機関１の冷機及び高負荷等の運転条件の変化により理論空燃比１４．５よりもリッチ側となる。そして、ＥＣＵ１００は、触媒劣化診断処理（ステップＳ５０７）及び触媒劣化診断値の初期値設定処理（ステップＳ５０８）を順に実行する。
【００４３】
なお、触媒劣化診断値の初期値設定処理は、ＥＣＵ１００の電源投入時にも実行される。これに対して、ＥＣＵ１００が電源投入時以外にも初期値設定処理を実行するのは、触媒劣化指標値の算出処理が最後まで完了せずに途中で中断された場合において、ＥＣＵ１００が触媒劣化指標値算出処理を再度実行する際に、触媒劣化指標値を正確に算出するためである。
【００４４】
次に、図５における各処理について、より具体的に説明する。図６は、図５の診断用の目標Ａ／Ｆ設定処理（図５におけるステップＳ５０２）を示すフローチャートである。図６において、ＥＣＵ１００は、ＯＳＣ算出値が上限ＯＳＣ設定値以上であるか否かを確認するとともに（ステップＳ６０１）、ＯＳＣ算出値が下限ＯＳＣ設定値以下であるか否かを確認する（ステップＳ６０２）。
【００４５】
このときに、ＯＳＣ算出値が上限ＯＳＣ設定値以上である場合には、ＥＣＵ１００は、リーン側制御である「目標Ａ／Ｆ＝劣化診断用目標中心Ａ／Ｆ＋劣化診断用加算値」から、リッチ側制御である「目標Ａ／Ｆ＝劣化診断用目標中心Ａ／Ｆ−劣化診断用減算値」に目標Ａ／Ｆを変更する（ステップＳ６０３）。
【００４６】
ここで、劣化診断用加算値及び劣化診断用減算値とは、触媒劣化診断時の目標Ａ／Ｆを、中心値からリッチ側又はリーン側に振幅させるための値である。また、フロントＯ２センサ２３及びリアＯ２センサ２４の特性には、ばらつきが生じる。このため、劣化診断用加算値及び劣化診断用減算値には、各センサ２３，２４の管理公差のばらつきの範囲において、正しく触媒２２の正常／劣化判定可能となる目標Ａ／Ｆ振幅の値が設定されている。なお、劣化診断用目標中心Ａ／Ｆは、通常制御用目標Ａ／Ｆと同じ値であってもよい。
【００４７】
一方、ＯＳＣ算出値が上限ＯＳＣ設定値未満であり、ＯＳＣ算出値が下限ＯＳＣ設定値以下である場合には、ＥＣＵ１００は、リッチ側制御である「目標Ａ／Ｆ＝劣化診断用目標中心Ａ／Ｆ−劣化診断用減算値」からリーン側制御である「目標Ａ／Ｆ＝劣化診断用目標中心Ａ／Ｆ＋劣化診断用加算値」に目標Ａ／Ｆを変更する（ステップＳ６０４）。
【００４８】
また、ＯＳＣ算出値が上限ＯＳＣ設定値未満であり、ＯＳＣ算出値が下限ＯＳＣ設定値を超過している場合には、ＥＣＵ１００は、今回の診断用の目標Ａ／Ｆ設定処理が初回であるかどうかを判定する（ステップＳ６０５）。このときに、初回である場合には、ＥＣＵ１００は、目標Ａ／Ｆをリッチ側制御である「目標Ａ／Ｆ＝劣化診断用目標中心Ａ／Ｆ−劣化診断用減算値」とする。一方、初回でない場合には、ＥＣＵ１００は、目標Ａ／Ｆを変更せずに、診断用の目標Ａ／Ｆ設定処理を終了する。
【００４９】
従って、ＥＣＵ１００は、診断用の目標Ａ／Ｆを算出し、Ａ／Ｆ測定値を目標Ａ／Ｆにフィードバック制御することで、ＯＳＣ算出値が上限ＯＳＣ設定値及び下限ＯＳＣ設定値の範囲内になるように、インジェクタ２１の燃料噴射量を制御する。
【００５０】
次に、図７は、図５の待ち時間の算出処理（図５におけるステップＳ５０３）を示すフローチャートである。図７において、ＥＣＵ１００は、吸入空気量に基づいて触媒劣化指標値演算待ち時間マップ（図３）を補間参照することによって、待ち時間を算出する（ステップＳ７０１）。そして、ＥＣＵ１００は、取得した待ち時間を設定し、タイマ（時間カウンタ）を作動させる（ステップＳ７０２）。なお、タイマは、触媒劣化診断条件の不成立時には常にゼロに設定され、触媒劣化診断条件が成立すると計数を開始する。
【００５１】
ここで、図７に示す待ち時間の算出処理が終了すると、ＥＣＵ１００は、図５のステップＳ５０４において、指標値算出条件が成立したか否かの判定を行う。具体的に、ＥＣＵ１００は、図７のステップＳ７０１において算出された待ち時間と、図７のステップＳ７０２におけるタイマの計数値とを比較する。そして、ＥＣＵ１００は、タイマの計数値が待ち時間を超過したことに応じて、指標値算出条件が成立したと判断する。
【００５２】
次に、図８〜１０は、それぞれ図５の触媒劣化指標値算出処理（図５におけるステップＳ５０５）の一部を示すフローチャートである。なお、図８〜１０は、触媒劣化指標値算出処理についての一連の処理を示している。また、図８，９は、点Ｘで繋がっており、図９，１０は、点Ｙで繋がっている。
【００５３】
図８〜１０において、フロントＯ２センサ２３は、リニアＯ２センサ（ＬＡＦＳ：Ｌｉｎｅａｒ  Ａｉｒ  Ｆｕｅｌ  Ｓｅｎｓｏｒ）である。これに対して、リアＯ２センサ２４は、ラムダＯ２センサである。つまり、フロントＯ２センサ２３及びリアＯ２センサ２４の出力特性は、互いに異なっている。このため、フロントＯ２センサ２３及びリアＯ２センサ２４のいずれか一方の出力値を、それらの他方の出力値に対応するように変換する必要がある。そこで、ＥＣＵ１００は、フロントＯ２センサ２３の出力値であるＡ／Ｆ測定値を、リアＯ２センサ２４のラムダＯ２センサ相当の電圧値（フロントＯ２電圧値）に変換する（ステップＳ８０１）。
【００５４】
そして、ＥＣＵ１００は、フロントＯ２センサ２３の出力値から変換したフロントＯ２電圧値に対して一次フィルタ演算を実行し、フロントＯ２電圧フィルタ値を算出する（ステップＳ８０２）。また、ＥＣＵ１００は、リアＯ２センサ電圧値に対して一次フィルタ演算を実行し、リアＯ２電圧フィルタ値を算出する（ステップＳ８０３）。
【００５５】
ＥＣＵ１００は、フロントＯ２電圧フィルタ値及びリアＯ２電圧フィルタ値を算出すると、フロントＯ２電圧フィルタ値が所定値以上かどうかを判定する（ステップＳ８０４）。ここで、この所定値は、例えばラムダＯ２センサにおいて、Ａ／Ｆ測定値が理論空燃比よりもリッチ側であるか又はリーン側であるかについて判定するための閾値である。ＥＣＵ１００には、この所定値として０．４５Ｖが設定されている。
【００５６】
ＥＣＵ１００は、フロントＯ２電圧フィルタ値が所定値以上であることを確認すると、フロントＯ２電圧フィルタ値がリッチ側出力であると判定する（ステップＳ８０５）。一方、ＥＣＵ１００は、フロントＯ２電圧フィルタ値が所定値未満であることを確認すると、フロントＯ２電圧フィルタ値がリーン出力であると判定する（ステップＳ８０６）。
【００５７】
そして、ＥＣＵ１００は、リアＯ２電圧フィルタ値が所定値以上かを判定する（ステップＳ８０７）。この所定値は、フロントＯ２電圧フィルタ値のリッチ・リーン判定で用いられた所定値と同様に０．４５Ｖである。ＥＣＵ１００は、リアＯ２電圧フィルタ値が所定値以上であることを確認すると、リアＯ２電圧フィルタ値がリッチ出力であると判定する（ステップＳ８０８）。一方、ＥＣＵ１００は、リアＯ２電圧フィルタ値が所定値未満であることを確認すると、リアＯ２電圧フィルタ値がリーン出力であると判定する（ステップＳ８０９）。
【００５８】
ＥＣＵ１００は、フロントＯ２電圧フィルタ値がリーン判定からリッチ判定に反転したかどうかを確認する（ステップＳ９１０）。このときに、ＥＣＵ１００は、フロントＯ２電圧フィルタ値がリーン判定からリッチ判定に反転したことを確認すると、フロントＯ２電圧値の振幅最大値をゼロに設定する（ステップＳ９１１）。
【００５９】
一方、ＥＣＵ１００は、フロントＯ２電圧フィルタ値がリーン判定のままであることを確認すると、「ＦＯ２振幅最大値＝ｍａｘ（ＦＯ２振幅最大値（ｎ−１），ＦＯ２電圧フィルタ値）」を演算し、フロントＯ２電圧値の振幅最大値を更新する（ステップＳ９１２）。ここで、ｍａｘ（）は、括弧内の値のうち大きい値が選択される（以下、同じ）。
【００６０】
その後、ＥＣＵ１００は、フロントＯ２電圧フィルタ値がリッチ判定からリーン判定に反転したかどうかを確認する（ステップＳ９１３）。このときに、ＥＣＵ１００は、フロントＯ２電圧フィルタ値がリッチ判定からリーン判定に反転したことを確認すると、フロントＯ２電圧値の振幅最小値を最大値とする（ステップＳ９１４）。
【００６１】
一方、ＥＣＵ１００は、フロントＯ２電圧フィルタ値がリッチ判定のままであることを確認すると、「ＦＯ２振幅最小値＝ｍｉｎ（ＦＯ２振幅最小値（ｎ−１），ＦＯ２電圧フィルタ値）」を演算し、フロントＯ２電圧値の振幅最小値を更新する（ステップＳ９１５）。ここで、ｍｉｎ（）は、括弧内の値のうち小さい値が選択される（以下、同じ）。
【００６２】
ＥＣＵ１００は、リアＯ２電圧フィルタ値がリーン判定からリッチ判定に反転したかどうかを確認する（ステップＳ９１６）。このときに、ＥＣＵ１００は、リアＯ２電圧フィルタ値がリーン判定からリッチ判定に反転したことを確認すると、リアＯ２電圧値の振幅最大値をゼロに設定する（ステップＳ９１７）。一方、ＥＣＵ１００は、リアＯ２電圧フィルタ値がリーン判定のままであることを確認すると、「ＲＯ２振幅最大値＝ｍａｘ（ＲＯ２振幅最大値（ｎ−１），ＲＯ２電圧フィルタ値）」を演算し、リアＯ２電圧値の振幅最大値を更新する（ステップＳ９１８）。
【００６３】
その後、ＥＣＵ１００は、リアＯ２電圧フィルタ値がリッチ判定からリーン判定に反転したかどうかを確認する（ステップＳ９１９）。このときに、ＥＣＵ１００は、リアＯ２電圧フィルタ値がリッチ判定からリーン判定に反転したことを確認すると、リアＯ２電圧値の振幅最小値を最大値とする（ステップＳ９２０）。一方、ＥＣＵ１００は、リアＯ２電圧フィルタ値がリッチ判定のままであることを確認すると、「ＲＯ２振幅最小値＝ｍｉｎ（ＲＯ２振幅最小値（ｎ−１），ＲＯ２電圧フィルタ値）」を演算し、リアＯ２電圧値の振幅最小値を更新する（ステップＳ９２１）。
【００６４】
そして、ＥＣＵ１００は、「ＦＯ２電圧偏差積分値＝ＦＯ２電圧偏差積分値（ｎ−１）＋｜ＦＯ２電圧フィルタ値−ＦＯ２電圧値｜」を演算し、フロントＯ２電圧値の偏差積分値を算出する（ステップＳ１０２２）。これとともに、ＥＣＵ１００は、「ＲＯ２電圧偏差積分値＝ＲＯ２電圧偏差積分値（ｎ−１）＋｜ＲＯ２電圧フィルタ値−ＲＯ２電圧値｜」を演算し、リアＯ２電圧値の偏差積分値を算出する（ステップＳ１０２３）。
【００６５】
これらの演算の後、ＥＣＵ１００は、フロントＯ２電圧値がリッチ判定からリーン判定、若しくはリーン判定からリッチ判定に反転したかどうかを確認する（ステップＳ１０２４）。このときに、ＥＣＵ１００は、フロントＯ２電圧値がリッチ判定及びリーン判定の一方から他方に反転していないことを確認すると、触媒劣化指標値算出処理を終了させる。
【００６６】
一方、ＥＣＵ１００は、フロントＯ２電圧値がリッチ判定及びリーン判定の一方から他方に反転したことを確認すると、「ＦＯ２電圧振幅積算値＝ＦＯ２電圧振幅積算値（ｎ−１）＋｜ＦＯ２振幅最大値−ＦＯ２振幅最小値｜」を演算し、フロントＯ２電圧値の振幅積算値を算出する（ステップＳ１０２５）。
【００６７】
これとともに、ＥＣＵ１００は、「ＲＯ２電圧振幅積算値＝ＲＯ２電圧振幅積算値（ｎ−１）＋｜ＲＯ２振幅最大値−ＲＯ２振幅最小値｜」を演算して、リアＯ２電圧値の振幅積算値を算出する（ステップＳ１０２６）。そして、ＥＣＵ１００は、触媒劣化指標値算出処理を終了する。
【００６８】
次に、図１１は、図５の触媒劣化診断処理（図５におけるステップＳ５０７）を示すフローチャートである。図１１において、ＥＣＵ１００は、触媒劣化指標値、即ちフロントＯ２電圧値の偏差積分値、リアＯ２電圧値の偏差積分値、フロントＯ２電圧値の振幅積算値、及びリアＯ２電圧値の振幅積算値の算出処理が実行されて完了しているかどうかを確認する（ステップＳ１１０１）。このときに、ＥＣＵ１００は、触媒劣化指標値の算出が完了していないことを確認すると、触媒２２の劣化診断（故障判定）を行わずに、触媒劣化診断処理を終了する。
【００６９】
一方、ＥＣＵ１００は、触媒劣化指標値の算出が完了していることを確認すると、「電圧偏差積分比＝ＲＯ２電圧偏差積分値／ＦＯ２電圧偏差積分値」の演算を実行する（ステップＳ１１０２）。これとともに、ＥＣＵ１００は、「振幅積算比＝ＲＯ２電圧振幅積算値／ＦＯ２電圧振幅積算値」の演算を実行する（ステップＳ１１０３）。また、ＥＣＵ１００は、「触媒劣化診断値＝電圧偏差積分比×振幅積算比」の演算を実行する（ステップＳ１１０４）。
【００７０】
そして、ＥＣＵ１００は、触媒２２の劣化診断として、触媒劣化診断値が所定値（後述の０．３）以上であるかどうかを確認する（ステップＳ１１０５）。このときに、ＥＣＵ１００は、触媒劣化診断値が所定値以上であることを確認すると、触媒２２が故障である（劣化状態である）と判定する（ステップＳ１１０６）。一方、ＥＣＵ１００は、触媒劣化診断値が所定値未満であることを確認すると、触媒２２が正常であると判定する（ステップＳ１１０７）。そして、ＥＣＵ１００は、触媒２２を故障又は正常と判定すると、触媒劣化診断が完了したと判断し（ステップＳ１１０８）、触媒劣化診断処理を終了する。
【００７１】
次に、図１２は、図５の触媒劣化指標値の初期値設定処理（図５におけるステップＳ５０８）を示すフローチャートである。図１２において、ＥＣＵ１００は、触媒劣化指標値の算出処理が実行されて完了しているかどうかを確認する（ステップＳ１２０１）。このときに、ＥＣＵ１００は、触媒劣化指標値の算出処理が実行されて完了していることを確認すると、触媒劣化指標値の初期値設定を行わずに、触媒劣化指標値の初期値設定処理を終了する。
【００７２】
一方、ＥＣＵ１００は、触媒劣化指標値算出処理が完了していないことを確認すると、触媒劣化診断のフラグを未完了として設定する（ステップＳ１２０２）。また、ＥＣＵ１００は、触媒劣化診断条件のフラグを不成立として設定する（ステップＳ１２０３）。そして、ＥＣＵ１００は、フロントＯ２電圧値の偏差積分値、リアＯ２電圧値の偏差積分値、フロントＯ２電圧値の振幅積算値、フロントＯ２電圧値の振幅積算値、リアＯ２電圧値の振幅積算値、電圧偏差積分比及び触媒劣化診断値の各パラメータをゼロに設定する（ステップＳ１２０４〜Ｓ１２０９）。これによって、ＥＣＵ１００は、触媒劣化指標値の初期値設定処理を終了する。
【００７３】
次に、ＥＣＵ１００による触媒劣化診断処理の実行タイミングについて説明する。図１３は、各出力値の変化、及び各条件の成立フラグの変化の一例を説明するための説明図である。なお、図１３の横軸は、時間を示す。また、図１３（ａ）は、触媒劣化診断条件の成立状況の変化を示す。さらに、図１３（ｂ）は、指標値算出条件の成立状況の変化を示す。また、図１３（ｃ）は、タイマの作動状況を示す。さらに、図１３（ｄ）は、燃料カット条件の成立状況の変化を示す。ここで、図１３（ｄ）では、燃料カット条件の成立時には、内燃機関１の燃料遮断状態を示し、燃料カット条件の不成立時には、内燃機関１の燃料供給状態であることを示す。また、図１３（ｅ）は、ＬＡＦＳ（Ａ／Ｆ測定値）の値の変化を示す。さらに、図１３（ｆ）は、フロントＯ２電圧値の変化を示す。さらに、図１３（ｇ）は、リアＯ２電圧値の変化を示す。
【００７４】
図１３において、時点Ａ以前（図１３の左側）では、内燃機関１が燃料カット状態であり、ＬＡＦＳ出力値（Ａ／Ｆ測定値）はリーン側出力の最大値を示している。ＥＣＵ１００は、燃料カット状態から燃料供給状態に復帰すると、ＬＡＦＳ出力値が目標Ａ／Ｆとなるように制御する。これによって、ＬＡＦＳ出力値（図１３（ｅ）の実線）が目標Ａ／Ｆ（図１３（ｅ）の破線）に追従する。ここでの目標Ａ／Ｆは、通常時の目標Ａ／Ｆ設定処理（図５におけるステップＳ５０６）によって設定された値である。
【００７５】
フロントＯ２電圧値（ＦＯ２）は、ＬＡＦＳ出力値をラムダＯ２センサ相当の電圧値に変換した値である。リアＯ２電圧値（ＲＯ２）がラムダＯ２センサの出力値であり、触媒劣化診断はフロントＯ２電圧値（ＦＯ２）とリアＯ２電圧値（ＲＯ２）との近似度合いで診断するため、ＬＡＦＳ出力値をラムダＯ２出力値相当の電圧値に変換する必要がある。そこで、ＥＣＵ１００は、ＬＡＦＳの出力値であるＡ／Ｆ測定値をラムダＯ２相当の電圧値に所定の変換マップにより変換し、その値に一次フィルタを用いてなまし処理を実行する。
【００７６】
時点Ｂで、触媒劣化診断条件が成立すると、タイマが計数を開始する。これと同時に、通常時の目標Ａ／Ｆ設定処理から診断用の目標Ａ／Ｆ設定処理（図５におけるステップＳ５０２）に切り替わる。そして、診断用の目標Ａ／Ｆ設定処理によって、目標Ａ／Ｆが「劣化診断用目標中心Ａ／Ｆ−劣化診断用減算値」又は「劣化診断用目標中心Ａ／Ｆ＋劣化診断用加算値」に設定される。この結果、燃料噴射量は、その設定された目標Ａ／Ｆに応じてフィードバック制御されることになる。
【００７７】
そして、タイマの計数値（時間カウンタ）が待ち時間設定値を超えた時点Ｃで、指標値算出条件が成立し、触媒劣化指標値演算が開始される。また、時点Ｂから時点Ｃまでの間は、燃料カット中に触媒２２に吸蔵された酸素によりリアＯ２電圧値（ＲＯ２）の出力に変動が生じる期間である。ここで、この期間中に触媒劣化指標値算出処理が実行されると、リアＯ２電圧値（ＲＯ２）に基づく触媒劣化指標値が正しく算出されないために、触媒劣化について誤診断が生じる可能性がある。
【００７８】
そこで、ＥＣＵ１００は、指標値算出条件が成立した時点Ｃで、図８〜１０に示す触媒劣化指標値算出処理を実行する。この触媒劣化指標値算出処理は、時点Ｃから時点Ｄの触媒劣化診断条件及び指標値算出条件が成立している間、継続して実行される。また、触媒劣化診断条件及び指標値算出条件が不成立となった時点Ｄで、ＥＣＵ１００は、触媒劣化指標値演算を停止する。これとともに、ＥＣＵ１００は、目標Ａ／Ｆを、診断用の目標Ａ／Ｆ設定処理により設定された値から、通常用の目標Ａ／Ｆ設定処理により設定された値に変更する。
【００７９】
ここで、ＥＣＵ１００は、触媒劣化指標値算出処理（図５におけるステップＳ５０５）に、図１３のフロントＯ２電圧値（ＦＯ２）及びリアＯ２電圧値（ＲＯ２）を用いる。ＦＯ２電圧偏差積分値は、フロントＯ２電圧値（図１３（ｆ）の破線）と、リアＯ２電圧フィルタ値（図１３（ｆ）の実線）とに囲まれた領域（図１３（ｆ）の網掛け部分）である。このＦＯ２電圧振幅積算値は、フロントＯ２電圧フィルタ値（図１３（ｆ）の実線）の最大値と最小値との偏差を、フロントＯ２電圧フィルタ値のリッチ・リーンが反転する度に積算した値である。
【００８０】
ＲＯ２電圧偏差積分値は、リアＯ２電圧値（図１３（ｅ）の破線）とリアＯ２電圧フィルタ値（図１３（ｅ）の実線）とに囲まれた領域（図１３（ｅ）の網掛け部分）である。ＲＯ２電圧振幅積算値は、リアＯ２電圧フィルタ値の最大値と最小値との偏差を、リアＯ２電圧フィルタ値のリッチ・リーンが反転する度に積算した値である。
【００８１】
次に、触媒劣化診断条件の成立後、指標値算出条件が成立するまでの待ち時間の有無による触媒劣化指標値の差について説明する。ここでは、触媒劣化診断値を０．３に設定した場合について説明する。なお、図１３におけるリアＯ２の出力波形は、正常判定すべき劣化度合いの触媒２２についてのものである。
【００８２】
まず、触媒劣化診断条件の成立後、指標値算出条件が成立するまでに待ち時間を設定した場合について説明する。この場合、触媒劣化指標値の算出対象となる区間は、図１３における時点Ｃから時点Ｄである。このような場合において、電圧偏差積分比、振幅積算比及び触媒劣化診断値は、以下のようになる。
電圧偏差積分比  ＝  ＲＯ２電圧偏差積分値／ＦＯ２電圧偏差積分値
＝  ２５．１５／３４．１１  ＝０．７３７
振幅積算比      ＝  ＲＯ２電圧振幅積算値／ＦＯ２電圧振幅積算値
＝  ２．４／６．４  ＝  ０．３７５
触媒劣化診断値  ＝  電圧偏差積分比  ×  振幅積算比
＝  ０．７３７×０．３７５  ＝  ０．２７７
従って、算出された触媒劣化診断値が０．３未満であるため、ＥＣＵ１００は、触媒２２を正常であると判定する。
【００８３】
次に、触媒劣化診断条件の成立後、指標値算出条件が成立するまでの待ち時間が設定されていない場合について説明する。この場合の触媒劣化指標値の算出対象となる区間は、図１３における時点Ｂから時点Ｄである。このような場合において、電圧偏差積分比、振幅積算比及び触媒劣化診断値は、以下のようになる。
電圧偏差積分比  ＝  ＲＯ２電圧偏差積分値／ＦＯ２電圧偏差積分値
＝  ４６．２７／５４．１４  ＝０．８５５
振幅積算比      ＝  ＲＯ２電圧振幅積算値／ＦＯ２電圧振幅積算値
＝  ４．２／１１．２  ＝  ０．３７５
触媒劣化診断値  ＝  電圧偏差積分比  ×  振幅積算比
＝  ０．８５５×０．３７５  ＝  ０．３２０
従って、算出された触媒劣化診断値が０．３以上であるため、ＥＣＵ１００は、触媒２２を劣化状態であると判定する。このように待ち時間（待機期間）を設定していない場合には、触媒劣化について誤診断が生じる。
【００８４】
上記のような内燃機関の制御装置によれば、待機期間算出手段１０４が待ち時間を吸入空気量に基づいて算出して設定し、指標値算出手段１０５による触媒劣化指標値算出処理の開始を待ち時間分遅延させる。この構成により、触媒劣化指標値に含まれる内燃機関１の過渡状態に伴う誤差成分を低減させることができ、触媒劣化診断の精度を向上させることができる。これとともに、従来の内燃機関の制御装置のような固定値を待ち時間として用いていないことにより、触媒劣化診断の機会を適切に確保することができる。
【００８５】
なお、実施の形態１では、図１３（ｃ）に示すように、指標値算出条件成立後にタイマを停止させたが、指標値算出条件成立後にもタイマを継続して作動させてもよい。
【００８６】
実施の形態２．
実施の形態１では、触媒劣化指標値演算の待機期間として、待ち時間を用いた。これに対して、実施の形態２では、触媒劣化指標値演算の待機期間として吸入空気量積算値を用いる。
【００８７】
実施の形態２のＥＣＵ１００は、以下の算出式により、吸入空気量積算値を算出する。
吸入空気量積算値［ｇ］＝吸入空気量積算値（ｎ−１）＋吸入空気量×０．０１
ここで、吸入空気量積算値及び吸入空気量の単位は［ｇ／ｓ］であり、ＥＣＵ１００は、１０［ｍｓ］毎に吸入空気量を算出する。このため、ＥＣＵ１００は、積算する吸入空気量に０．０１を乗算する。また、吸入空気量積算値（ｎ−１）は、１０［ｍｓ］前の吸入空気量積算値である。さらに、ＥＣＵ１００は、触媒劣化診断条件の不成立時には、吸入空気量積算値を０としており、触媒劣化診断条件が成立すると、吸入空気量積算値の算出を開始する。
【００８８】
図１４は、この発明の実施の形態２による内燃機関の制御装置の待ち時間の算出処理を示すフローチャートである。なお、図１４に示す待機期間算出処理は、先の図５におけるステップＳ５０３に対応する処理である。図１４において、ＥＣＵ１００（待機期間算出手段１０４）は、診断用の目標Ａ／Ｆ設定処理の後に、吸入空気量積算値を算出する（ステップＳ１４０１）。そして、ＥＣＵ１００は、算出した吸入空気量積算値が所定値（例えば、１５０〔ｇ〕）を超過したことを確認すると、触媒劣化指標値の算出処理を実行する。他の構成及び動作は実施の形態１と同様である。
【００８９】
上記のような内燃機関の制御装置によれば、触媒２２に吸蔵されている酸素を消費する期間が、燃料噴射量の総量、即ち吸入空気量の総量（積算値）に依存することにより、触媒劣化指標値演算の待機期間として吸入空気量積算値を用いた場合にも、実施の形態１と同様の効果を得ることができる。
【００９０】
実施の形態３．
実施の形態１のＥＣＵ１００（待機期間算出手段１０４）は、吸入空気量に基づいて、触媒劣化指標値演算の待機期間としての待ち時間を算出した。これに対して、実施の形態３のＥＣＵ１００では、吸入空気量及びＯＳＣ算出値に基づいて待ち時間を算出する。
【００９１】
図１５は、この発明の実施の形態３による内燃機関の制御装置の触媒劣化診断に関する構成を示すブロック図である。図１５において、実施の形態３の待機期間算出手段１０４は、酸素吸蔵量算出手段１０７からＯＳＣ算出値を受ける。また、待機期間算出手段１０４（ＥＣＵ１００のＲＯＭ内）には、吸入空気量（Ｑａ）と待ち時間とがＯＳＣ算出値毎に互いに関連付けて、図１６に示すような触媒劣化指標値待ち時間マップが予め登録されている。
【００９２】
実施の形態３の酸素吸蔵量算出手段１０７は、診断用の目標Ａ／Ｆ算出処理の実行時以外にも、常時、ＯＳＣ算出値の算出処理を実行する。これにより、酸素吸蔵量算出手段１０７は、触媒劣化診断条件の成立時点でのＯＳＣ算出値を算出可能になっている。なお、酸素吸蔵量算出手段１０７によるＯＳＣ算出値の算出式は、実施の形態１における酸素吸蔵量算出手段１０７によるＯＳＣ算出値の算出式と同様である。
【００９３】
ここで、待機期間算出手段１０４は、触媒劣化診断条件が不成立から成立となった時点でのＯＳＣ算出値と、触媒劣化診断条件成立後の各時点での吸入空気量とに基づいて、図１６に示す触媒劣化指標値待ち時間マップを補間参照することによって、待ち時間を算出する。これによって、待機期間算出手段１０４は、触媒劣化診断条件が不成立から成立に変化した時点でのＯＳＣ算出値を用いて、触媒劣化指標値演算待ち時間の演算が可能となる。他の構成及び動作は実施の形態１と同様である。
【００９４】
上記のような内燃機関の制御装置によれば、吸入空気量及びＯＳＣ算出値に基づいて待ち時間を算出する場合であっても、実施の形態１と同様の効果を得ることができる。これに加えて、ＯＳＣ算出値が待ち時間の算出の判断要素として加えられていることにより、実施の形態１に比べて、触媒劣化診断の精度をより向上させることができる。
【００９５】
なお、実施の形態１，３では、待機期間として待ち時間を用いたが、待機期間は、待ち時間に限定するものではなく、例えばスパークプラグ４の放電回数（点火回数）を待機期間として用いてもよい。
【図面の簡単な説明】
【００９６】
【図１】この発明の実施の形態１による内燃機関を示す構成図である。
【図２】図１のＥＣＵの触媒劣化診断に関する構成を示すブロック図である。
【図３】図１のＥＣＵに登録された触媒劣化指標値待ち時間マップの一例を説明するための説明図である。
【図４】下限ＯＳＣ能力値、上限ＯＳＣ設定値及び下限ＯＳＣ設定値の関係を説明するための説明図である。
【図５】図２のＥＣＵによる触媒劣化診断に関する動作の概要を示すフローチャートである。
【図６】図５の診断用の目標Ａ／Ｆ設定処理を示すフローチャートである。
【図７】図５の待ち時間の算出処理を示すフローチャートである。
【図８】図５の触媒劣化指標値算出処理の一部を示すフローチャートである。
【図９】図５の触媒劣化指標値算出処理の一部を示すフローチャートである。
【図１０】図５の触媒劣化指標値算出処理の一部を示すフローチャートである。
【図１１】図５の触媒劣化診断処理を示すフローチャートである。
【図１２】図５の触媒劣化診断値の初期値設定処理を示すフローチャートである。
【図１３】各出力値の変化、及び各条件の成立フラグの変化の一例を説明するための説明図である。
【図１４】この発明の実施の形態２による内燃機関の制御装置の待機期間算出処理を示すフローチャートである。
【図１５】この発明の実施の形態３による内燃機関の制御装置の触媒劣化診断に関する構成を示すブロック図である。
【図１６】図１５のＥＣＵに登録された触媒劣化指標値待ち時間マップの一例を説明するための説明図である。
【符号の説明】
【００９７】
１  内燃機関、１３  吸気管、１４  排気管、２２  触媒、２３  上流側空燃比センサ、２４  下流側空燃比センサ、１００  ＥＣＵ、１０１  運転状態検出手段、１０２  吸入空気量検出手段、１０３  診断条件判定手段、１０４  待機期間算出手段、１０５  指標値算出手段、１０６  触媒劣化診断手段、１０７  酸素吸蔵量算出手段。
【図１】
2010112246.tif 000003
【図２】
2010112246.tif 000004
【図３】
2010112246.tif 000005
【図４】
2010112246.tif 000006
【図５】
2010112246.tif 000007
【図６】
2010112246.tif 000008
【図７】
2010112246.tif 000009
【図８】
2010112246.tif 000010
【図９】
2010112246.tif 000011
【図１０】
2010112246.tif 000012
【図１１】
2010112246.tif 000013
【図１２】
2010112246.tif 000014
【図１３】
2010112246.tif 000015
【図１４】
2010112246.tif 000016
【図１５】
2010112246.tif 000017
【図１６】
2010112246.tif 000018