(57)【要約】【課題】空燃比センサでの異常の有無の判断を正確に行いつつ、同判断の実行機会が少なくなることを抑制できるようにする。【解決手段】空燃比センサ２６の異常の有無を判断するための異常検出処理は、以下の［ａ］〜［ｃ］の手順により行われる。［ａ］エンジン１の燃料噴射量を周期的に増減させることにより、エンジン１の空燃比を理論空燃比よりもリッチな状態と理論空燃比よりもリーンな状態との間で周期的に変動させるアクティブ空燃比制御を行う。［ｂ］アクティブ空燃比制御中における空燃比センサ２６の出力の応答性に対応するパラメータを同センサ２６の出力に基づき求め、それを異常検出用のデータとして取得する。［ｃ］取得した各データの平均値と異常判定値との比較に基づき、空燃比センサ２６での異常の有無を判断する。上記平均値は、予め定められた回数分だけエンジン１の大吸気量状態で取得した信頼性の高いデータを含めて求められる。【選択図】図１
2010285913.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の排気中の酸素濃度に基づき同機関の空燃比に対応した信号を出力する空燃比センサの異常検出装置であって、内燃機関の空燃比をリッチとリーンとの間で周期的に変動させるアクティブ空燃比制御を行い、同制御中における前記空燃比センサの出力がリッチピークとリーンピークとの間で変化する際の応答性に対応するパラメータを同出力に基づき求めて異常検出用のデータとして取得し、そのデータの取得を複数回行って得られた各データの平均値と異常判定値との比較に基づき空燃比センサでの異常の有無を判断する空燃比センサの異常検出装置において、
前記データの取得回数が第１設定回数以上になったとき、その第１設定回数以上の回数のデータの取得のうち、内燃機関の大吸気量時に前記データの取得を行った回数が第２設定回数以上であれば前記異常の有無の判断を実行し、第２設定回数未満であれば前記異常の有無の判断を禁止して内燃機関の大吸気量時に前記データの取得を行った回数が前記第２設定回数に達するまで前記データの取得を続ける
ことを特徴とする空燃比センサの異常検出装置。
【請求項２】
前記データの取得回数が第１設定回数以上となったとき、その第１設定回数以上の回数のデータの取得のうち、内燃機関の大吸気量時に前記データの取得を行った回数が第２設定回数未満であれば、取得したデータのなかで最も内燃機関の小吸気量時に取得したものを破棄し、前記データの取得を続ける
請求項１記載の空燃比センサの異常検出装置。
【請求項３】
前記第２設定回数は、前記データの取得回数に対し予め定められた設定割合を乗算して得られる回数である
請求項１記載の空燃比センサの異常検出装置。
【請求項４】
前記データの取得回数が第１設定回数未満であっても、内燃機関の大吸気量時に前記データの取得を行った回数が第２設定回数以上となっていれば、取得したデータの平均値と異常判定値との比較に基づく空燃比センサの異常の有無の判断を実行する
請求項１〜３のいずれか一項に記載の空燃比センサの異常検出装置。
【請求項５】
前記データの取得回数が第１設定回数未満の状態で、内燃機関の大吸気量時に前記データの取得を行った回数が第２設定回数以上となったときには、内燃機関の大吸気量時に取得されたデータのみの平均値と前記異常判定値とは別に同平均値用として用意された異常判定値との比較に基づき、空燃比センサの異常の有無の判断を行う
請求項４記載の空燃比センサの異常検出装置。
【請求項６】
前記データの取得に関しては、前記アクティブ空燃比制御中における前記空燃比センサの出力がリッチピークからリーンピークに変化する際の取得と、リーンピークからリッチピークに変化する際の取得とに分けられ、それらデータの取得における取得回数が別々に計測されるものであり、
前記空燃比センサの異常の有無の判断は、前記アクティブ空燃比制御中において、前記空燃比センサの出力がリッチピークからリーンピークに変化する際に取得した前記データの平均値と異常判定値との比較に基づき行われるとともに、前記空燃比センサの出力がリーンピークからリッチピークに変化する際に取得した前記データの平均値と異常判定値との比較に基づき行われる
請求項１〜５のいずれか一項に記載の空燃比センサの異常検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、空燃比センサの異常検出装置に関する。
【背景技術】
【０００２】
自動車用等の内燃機関においては、排気中の酸素濃度に基づき同機関の空燃比に対応した信号を出力する空燃比センサが設けられるとともに、同センサの異常の有無を判断するための装置として例えば特許文献１に示される異常検出装置が設けられる。
【０００３】
この異常検出装置では、以下の［１］〜［３］の手順により、空燃比センサでの異常の有無が判断される。［１］内燃機関の空燃比をリッチとリーンとの間で周期的に変動させるアクティブ空燃比制御を行う。［２］アクティブ空燃比制御中における空燃比センサの出力に基づき同出力の応答性に対応するパラメータを求め、それを異常検出用のデータとして取得する。［３］取得したデータと異常判定値との比較に基づき、空燃比センサでの異常の有無を判断する。なお、上記［２］及び［３］に関しては、空燃比センサでの異常の有無の判断をより正確に行うことを意図して、上記データの取得を複数回行い、取得した各データの平均値と異常判定値との比較に基づき、空燃比センサでの異常の有無を判断するという手順に変更することも可能である。
【０００４】
また、空燃比センサの出力に関する異常の有無を判断するための同出力のモニタ条件として、例えば特許文献２においては、内燃機関が大吸気量状態にあることという条件を設定することが提案されている。同条件を設定するのは、内燃機関の大吸気量状態にあっては、同機関の排気圧（排気の流量に対応）が上昇し、空燃比センサの素子割れ等の影響が同センサの出力に明確に現れるようになるためである。従って、こうした条件を上記空燃比センサの異常の有無の判断における［２］の手順を行うための実行条件とすれば、上記異常の有無の判断をより一層正確に行うことが可能になる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１２１００３公報（段落［０１２３］、図１１、段落［００６３］、［００６４］、［００７８］〜［００８１］）
【特許文献２】特開２００５−３６７４２公報（段落［００６５］）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記［２］の手順を行うための実行条件として、内燃機関が大吸気量状態であることという条件を設定することにより、上記［１］〜［３］の手順による空燃比センサでの異常の有無の判断をより一層正確に行うことが可能にはなる。しかし、こうした条件を設定した分だけ上記［２］の手順を実行する機会が少なくなることは避けられず、それに伴い上記空燃比センサでの異常の有無を判断する機会が少なくなる。
【０００７】
本発明はこのような実情に鑑みてなされたものであって、その目的は、空燃比センサでの異常の有無の判断を正確に行いつつ、同判断の実行機会が少なくなることを抑制できる空燃比センサの異常検出装置を提供することにある。
【課題を解決するための手段】
【０００８】
以下、上記目的を達成するための手段及びその作用効果について記載する。
請求項１記載の発明によれば、以下の手順で空燃比センサでの異常の有無の判断が行われる。すなわち、アクティブ空燃比制御を行い、同制御中に空燃比センサの出力がリッチピークとリーンピークとの間で変化する際、その変化の応答性に対応するパラメータが上記出力に基づき求められて異常検出用のデータとして取得される。そして、データの取得回数が第１設定回数以上になったとき、その第１設定回数以上の回数のデータの取得のうち、内燃機関の大吸気量時に上記データの取得を行った回数が第２設定回数以上であれば、取得した各データの平均値と異常判定値との比較に基づく空燃比センサでの異常の有無の判断が実行される。一方、上述した第１設定回数以上の回数のデータの取得のうち、内燃機関の大吸気量時に上記データの取得を行った回数が第２設定回数未満であれば、上記空燃比センサでの異常の有無の判断が禁止されて、内燃機関の大吸気量時にデータの取得を行った回数が上記第２設定回数に達するまで同データの取得が続けられる。その後、内燃機関の大吸気量時にデータの取得を行った回数が第２設定回数に達すると、上記と同様に空燃比センサでの異常の有無の判断が実行される。
【０００９】
従って、取得した各データの平均値と異常判定値との比較に基づき空燃比センサでの異常の有無を判断する際、上記平均値は、少なくとも第２設定回数分だけ内燃機関の大吸気量状態で取得したデータを含めて求められることとなる。なお、内燃機関の大吸気量状態で取得したデータは、空燃比センサの異常発生に伴いその影響を的確に表した信頼性の高いものとなる。これは、内燃機関の大吸気量状態にあっては、同大吸気量に伴って排気の流量も多くなり、空燃比センサの異常による影響が同センサの出力に現れ易くなるためである。こうした信頼性の高いデータを用いて上記平均値が求められるため、同平均値と異常判定値との比較に基づく空燃比センサでの異常の有無の判断が正確なものとなる。
【００１０】
また、上記アクティブ空燃比制御中に上記パラメータを求めてデータとして取得するに当たり、その実行条件として内燃機関が大吸気量状態であること等の条件は設定されていない。このため、同条件の設定の分だけ上記データの取得を実行する機会が少なくなることは抑制され、その機会が少なくなることに伴い空燃比センサでの異常の有無の判断の実行機会も少なくなることは抑制される。ただし、空燃比センサでの異常の有無の判断の実行に関しては、上述したように、内燃機関の大吸気量時に前記データの取得を行った回数が第２設定回数以上であることが条件となる。こうした条件が空燃比センサでの異常の有無の判断の実行条件とはなるものの、内燃機関の大吸気量状態であること等の条件を実行条件として上記データの取得を行う場合と比較すれば、上記空燃比センサでの異常の有無の判断を実行する機会は多くなる。
【００１１】
以上により、空燃比センサでの異常の有無の判断を正確に行いつつ、同判断の実行機会が少なくなることを抑制できるようになる。
請求項２記載の発明によれば、内燃機関の大吸気量時にデータの取得を行った回数が第２設定回数以上となるまで同データの取得を続ける際、取得したデータのなかで最も内燃機関の小吸気量時に取得したものが破棄され、その状態でデータの取得が行われることとなる。これにより、上記平均値を求めるためのデータとして、可能な限り内燃機関の吸気量が多いときに取得されたデータが用いられるようになる。その結果、上記平均値が信頼性の高い値となり、その平均値と異常判定値との比較に基づく空燃比センサの異常の有無の判断を正確なものとすることが可能になる。
【００１２】
請求項３記載の発明によれば、データの取得回数が増加するに従って第２設定回数も増加してゆく。そして、内燃機関の大吸気量状態で行われたデータの取得の回数が第２設定回数に達したときには、内燃機関の大吸気量状態でのデータの取得がデータの取得回数全体のうちの設定割合に対応した回数だけ行われたことになる。そして、取得した各データの平均値と異常判定値との比較に基づく空燃比センサでの異常の有無の判断が行われる。この場合、取得したデータを破棄することなく、取得したデータ全てを用いて平均値を算出し、その平均値と異常判定値との比較に基づく空燃比センサの異常の有無の判断を行うことが可能となる。これにより、平均値を求めるためのデータを多く確保することができ、求められた平均値を空燃比センサの異常の有無の判断に用いる値として多くのデータに基づく適切なものとすることができる。
【００１３】
請求項４記載の発明によれば、内燃機関の大吸気量時にデータの取得を行った回数が第２設定回数以上になったとき、データの取得回数が第１設定回数未満であるか否かにかかわらず、取得したデータの平均値と異常判定値との比較に基づく空燃比センサの異常の有無の判断が実行されるため、同判断を早期に且つ高い頻度で行うことができる。
【００１４】
請求項５記載の発明によれば、データの取得回数が第１設定回数未満の状態で内燃機関の大吸気量時にデータの取得を行った回数が第２設定回数以上になったことに基づき、取得したデータの平均値と異常判定値との比較に基づく空燃比センサの異常の有無の判断を行う際には、上記平均値として内燃機関の大吸気量時に取得されたデータのみの平均値が用いられる。
【００１５】
ここで、内燃機関の大吸気量状態で取得したデータは、空燃比センサの異常発生に伴いその影響を的確に表した信頼性の高いものとなる。これは、内燃機関の大吸気量状態にあっては、同大吸気量に伴って排気の流量も多くなり、空燃比センサの異常による影響が同センサの出力に現れ易くなるためである。こうした信頼性の高いデータのみを用いて上記平均値が求められるため、同平均値と異常判定値との比較に基づく空燃比センサでの異常の有無の判断が正確なものとなる。
【００１６】
また、上記異常判定値としては、内燃機関の大吸気量時に取得されたデータのみから求められる平均値に対応した値として、通常の値とは別に用意された上記平均値用の異常判定値が用いられる。ここで、内燃機関の大吸気量時に取得されたデータのみから求められる平均値は、通常どおり求められる平均値とは異なる値であって、同平均値と比較して信頼性の高い値となるが、それに合わせて異常判定値を内燃機関の大吸気量時に取得されたデータのみから求められる平均値に対応した適切な値とすることが可能となる。従って、内燃機関の大吸気量時に取得されたデータのみから平均値を求めた場合において、同平均値と上記異常判定値との比較に基づく空燃比センサでの異常の有無の判断を行う際、その判断の結果を正確なものとすることができる。
【００１７】
請求項６記載の発明によれば、アクティブ空燃比制御中に空燃比センサの出力がリッチピークからリーンピークに変化する際に取得したデータの平均値と異常判定値との比較に基づき、空燃比センサの出力がリッチからリーンに変化する際における同センサの異常の有無が判断される。また、上記空燃比センサの出力がリーンピークからリッチピークに変化する際に取得したデータの平均値と異常判定値との比較に基づき、空燃比センサの出力がリーンからリッチに変化する際における同センサの異常の有無を判断することが行われる。このため、空燃比センサの出力がリッチからリーンに変化する際の異常が発生している場合であれ、あるいはリーンからリッチに変化する際の異常が発生している場合であれ、それらの異常に関して異常有りの旨の判断を的確に行うことができる。
【図面の簡単な説明】
【００１８】
【図１】第１実施形態における空燃比センサの異常検出装置が適用されるエンジン全体を示す略図。
【図２】排気中の酸素濃度変化に対する空燃比センサの出力の変化を示すグラフ。
【図３】（ａ）及び（ｂ）は、アクティブ空燃比制御中における燃料噴射量の増減態様、及び空燃比センサの出力の変化態様を示すタイムチャート。
【図４】空燃比センサの異常の有無を判断するための異常検出処理の実行手順を示すフローチャート。
【図５】アクティブ空燃比制御中に空燃比センサの出力がリッチピークからリーンピークに変化する際に、応答性パラメータのデータとして取得された傾きθの最大値θｍａｘの分布を示した分布図。
【図６】アクティブ空燃比制御中に空燃比センサの出力がリーンピークからリッチピークに変化する際に、応答性パラメータのデータとして取得された傾きθの最大値θｍａｘの分布を示した分布図。
【図７】第１実施形態において実行される第１判断処理の実行手順を示すフローチャート。
【図８】第１実施形態において実行される第２判断処理の実行手順を示すフローチャート。
【図９】第２実施形態において実行される第１判断処理の実行手順を示すフローチャート。
【図１０】第２実施形態において実行される第２判断処理の実行手順を示すフローチャート。
【図１１】第３実施形態において実行される第１判断処理の実行手順を示すフローチャート。
【図１２】第３実施形態において実行される第２判断処理の実行手順を示すフローチャート。
【発明を実施するための形態】
【００１９】
［第１実施形態］
以下、本発明を自動車用エンジンに設けられた空燃比センサの異常検出装置に具体化した第１実施形態について、図１〜図８を参照して説明する。
【００２０】
図１に示されるエンジン１においては、各気筒の燃焼室２に吸気通路３及び排気通路４が接続されている。そして、エンジン１の吸入空気量を調整するためのスロットルバルブ１１が設けられた吸気通路３を介して燃焼室２に空気が吸入されるとともに、燃料噴射弁５から吸気通路３内に燃料が噴射供給されることにより、燃焼室２内に空気と燃料とからなる混合気が充填される。この混合気が各気筒の点火プラグ６による点火に基づき燃焼すると、そのときの燃焼エネルギによってピストン７が往復移動し、エンジン１の出力軸であるクランクシャフト８が回転する。また、燃焼後の混合気は排気として排気通路４に送り出される。
【００２１】
上記エンジン１を原動機として搭載する自動車には、同エンジン１の運転制御など各種制御を実行する電子制御装置１９が設けられている。この電子制御装置１９は、上記制御に係る各種演算処理を実行するＣＰＵ、その制御に必要なプログラムやデータの記憶されたＲＯＭ、ＣＰＵの演算結果等が一時記憶されるＲＡＭ、外部との間で信号を入・出力するための入・出力ポート等を備えて構成されている。
【００２２】
電子制御装置１９の入力ポートには、以下に示す各種センサ等が接続されている。
・自動車の運転者によって踏込操作されるアクセルペダル２０の踏み込み量（アクセル踏込量）を検出するアクセルポジションセンサ２１。
【００２３】
・エンジン１の吸気通路３に設けられたスロットルバルブ１１の開度（スロットル開度）を検出するスロットルポジションセンサ２２。
・吸気通路３を通過して燃焼室２に吸入される空気の量を検出するエアフロメータ２３。
【００２４】
・クランクシャフト８の回転に対応した信号を出力するクランクポジションセンサ２４。
・排気通路４に設けられてエンジン１の排気中の酸素濃度に応じた信号を出力する空燃比センサ２６。
【００２５】
また、電子制御装置１９の出力ポートには、燃料噴射弁５、点火プラグ６、及びスロットルバルブ１１といった各種機器の駆動回路が接続されている。
電子制御装置１９は、上記各センサから入力された検出信号より把握されるエンジン運転状態に応じて、上記出力ポートに接続された各機器類の駆動回路に指令信号を出力する。こうして点火プラグ６の点火時期制御、スロットルバルブ１１の開度制御、及び、燃料噴射弁５による燃料噴射の制御といった各種制御が電子制御装置１９により実施されている。
【００２６】
上記燃料噴射弁５による燃料噴射の制御としては、例えば、燃料噴射量の空燃比フィードバック補正を含む燃料噴射量制御があげられる。上記燃料噴射量の空燃比フィードバック補正は、燃料噴射量を補正するための空燃比フィードバック補正値ＦＤをエンジン１の空燃比が理論空燃比となるよう空燃比センサ２６の出力ＶＡＦ等に基づき増減した後、同空燃比フィードバック補正値ＦＤで上記補正を行うことにより実現される。こうした空燃比フィードバック補正を通じてエンジン１の空燃比を理論空燃比に制御することにより、同エンジン１の排気通路４に設けられる排気浄化触媒の排気浄化性能を良好に保ち、エンジン１の排気エミッションの改善を図ることが可能になる。
【００２７】
上記空燃比センサ２６の出力ＶＡＦは、図２に示されるように、排気中の酸素濃度が薄くなるほど小さくなり、理論空燃比での混合気の燃焼が行われたときには、そのときの排気中の酸素濃度Ｘに対応して例えば「１．０ｖ」となる。従って、リッチ混合気の燃焼（リッチ燃焼）に起因して排気中の酸素濃度が薄くなるほど、空燃比センサ２６の出力ＶＡＦが「１．０ｖ」よりも小さい値になる。また、リーン混合気の燃焼（リーン燃焼）に起因して排気中の酸素濃度が濃くなるほど、空燃比センサ２６の出力ＶＡＦ「１．０ｖ」よりも大きい値になる。そして、空燃比センサ２６の出力ＶＡＦが「１．０」よりも大きくなるほど、上記空燃比フィードバック補正値ＦＤがエンジン１の燃料噴射量を増量すべく増大する。また、空燃比センサ２６の出力ＶＡＦが「１．０」よりも小さくなるほど、空燃比フィードバック補正値ＦＤがエンジン１の燃料噴射量を減量すべく減少する。このように変化する空燃比フィードバック補正値ＦＤに基づきエンジン１の燃料噴射量を増減補正することにより、エンジン１の空燃比が理論空燃比に制御される。
【００２８】
次に、電子制御装置１９を通じて行われる空燃比センサ２６の異常の有無を判断するための異常検出処理について説明する。
こうした異常検出処理は、例えば、以下の［ａ］〜［ｃ］の手順により行われる。
【００２９】
［ａ］エンジン１の燃料噴射量を例えば図３（ａ）に示されるように周期的に増減させることにより、エンジン１の空燃比を理論空燃比よりもリッチな状態と理論空燃比よりもリーンな状態との間で周期的に変動させるアクティブ空燃比制御を行う。なお、同制御でエンジン１の空燃比を変動させる際の理論空燃比に対する空燃比の変化量については、例えば、リッチ側及びリーン側に対しそれぞれ理論空燃比の３％程度とされる。
【００３０】
［ｂ］アクティブ空燃比制御中における空燃比センサ２６の出力の応答性に対応するパラメータ（以下、応答性パラメータという）を同制御中における空燃比センサ２６の出力ＶＡＦに基づき求め、それを異常検出用のデータとして取得する。なお、こうしたデータの取得は繰り返し行うことが可能とされ、それによって上記データの取得を複数回行って複数のデータを取得することが可能とされる。
【００３１】
［ｃ］取得した各データの平均値と異常判定値との比較に基づき、空燃比センサ２６での異常の有無を判断する。このように平均値を用いて空燃比センサ２６の異常の有無を判断することで、エンジン１の運転ばらつき等に起因して上記データにばらつきが生じたとしても、それによる影響が上記異常の有無の判断に及ぶことは抑制される。
【００３２】
ここで、上記［ｂ］の手順を行うための実行条件として、エンジン１が大吸気量状態にあることという条件を設定すれば、上記［ａ］〜［ｃ］の手順に基づく空燃比センサ２６での異常の有無の判断を一層正確に行うことができるようになる。
【００３３】
これは、エンジン１の大吸気量状態にあっては、同エンジン１の排気圧（排気の流量に対応）が上昇し、空燃比センサ２６において検出子の存在するセンサカバー内と外部（排気通路４）との間のガス交換が促進されることが関係している。このようにセンサカバーの内部と外部との間のガス交換が促進されると、空燃比センサ２６の異常よる影響が同センサ２６の出力に明確に現れ、同出力に基づき求められる応答性パラメータが上記［ｂ］で信頼性の高いデータとして取得される。その結果、上記［ａ］〜［ｃ］の手順に基づく空燃比センサ２６での異常の有無の判断を正確に行うことが可能になる。
【００３４】
なお、仮にエンジン１が大吸気量状態にあることという実行条件なしに上記［ｂ］の手順が実行されたとすると、エンジン１の小吸気量状態での信頼性の低いデータの取得が重なり、それらデータの平均値を用いた上記［ｃ］での空燃比センサ２６での異常の有無の判断を正確に行えなくなる可能性がある。更に、エンジン１の小吸気量状態での自動車の加減速走行時には、エンジン１における各種機器の応答遅れに起因して上記応答性パラメータが大きく変動するため、上記［ｂ］の手順で取得されたデータは空燃比センサ２６の異常の有無を判別しにくい信頼性の低い値になる可能性が高い。このことからも、エンジン１が大吸気量状態にあることという実行条件なしに上記［ｂ］の手順が実行されたとすると、上記［ｃ］での空燃比センサ２６での異常の有無の判断を正確に行えなくなる可能性が高くなる。しかし、エンジン１が大吸気量状態にあることという条件を上記［ｂ］の手順の実行条件とすれば、上述した不具合の発生を回避することができる。
【００３５】
ただし、上記［ｂ］の手順を行うための実行条件として、上述したようにエンジン１が大吸気量状態にあることという条件を設定すると、その分だけ上記［ｂ］の手順を実行する機会が少なくなることは避けられず、それに伴い上記［ａ］〜［ｃ］の手順に基づく空燃比センサ２６での異常の有無を判断する機会が少なくなる。
【００３６】
図４は、こうした不具合への対処を意図した本実施形態の異常検出処理を実行するための異常検出処理ルーチンを示すフローチャートであり、この異常検出処理の実行を通じて空燃比センサ２６での異常の有無の判断を正確に行いつつ同判断の実行機会が少なくなるという上記不具合の抑制が図られる。この異常検出処理ルーチンは、電子制御装置１９を通じて、例えば所定時間毎の時間割り込みにて周期的に実行される。なお、同ルーチンにおいては、ステップＳ１０１〜Ｓ１０４の処理が上記［ａ］の手順に相当し、ステップＳ１０５，Ｓ１０６の処理が上記［ｂ］の手順に相当し、ステップＳ１０７，Ｓ１０８の処理が上記［ｃ］の手順に相当する。
【００３７】
以下、この実施形態の異常検出処理に係る上記［ａ］〜［ｃ］の手順について個別に詳しく説明する。
［ａ］（Ｓ１０１〜Ｓ１０４）
これらステップＳ１０１〜Ｓ１０４の一連の処理では、まず、空燃比センサ２６での異常の有無を判断する異常検出処理の実行中であるか否かを判断するための診断フラグＦ１，Ｆ２が共に「０（非実行中）」であるか否かが判断される（Ｓ１０１）。ここで肯定判定であれば、上記異常検出処理を実行するうえでの前提条件である診断条件が成立しているか否かが判断される（Ｓ１０２）。上記診断条件が成立している旨の判断は、例えば、エンジン回転速度及びエンジン負荷が上記異常検出処理を実行可能な領域にあること、及びエンジン負荷の変動が許容レベル未満であること等の条件すべての成立をもってなされる。なお、上記エンジン回転速度は、クランクポジションセンサ２４からの検出信号に基づき求められる。また、エンジン負荷は、エンジン１の吸入空気量に対応するパラメータと上記エンジン回転速度とから算出される。ここで用いられる吸入空気量に対応するパラメータとしては、例えば、エアフロメータ２３からの検出信号に基づき求められるエンジン１の吸入空気量の実測値や、スロットルポジションセンサ２２によって検出されるスロットル開度等が用いられる。上記ステップＳ１０２で診断条件が成立している旨判断されると、上記診断フラグＦ１，Ｆ２がそれぞれ「１（実行中）」に設定され（Ｓ１０３）、上述したアクティブ空燃比制御が実行される（Ｓ１０４）。
【００３８】
［ｂ］（Ｓ１０５，Ｓ１０６）
ステップＳ１０５の処理では、アクティブ空燃比制御中において、空燃比センサ２６の出力ＶＡＦがリッチピークからリーンピークまで変化する間の応答性パラメータが求められ、その求められた値がデータとして取得される。一方、ステップＳ１０６の処理では、アクティブ空燃比制御中において、空燃比センサ２６の出力ＶＡＦがリーンピークからリッチピークまで変化する間の応答性パラメータが求められ、その求められた値がデータとして取得される。
【００３９】
上記応答性パラメータとしては、空燃比センサ２６の出力ＶＡＦがリッチピークとリーンピークとの間で変化する際における同出力ＶＡＦの傾きθの最大値θｍａｘを用いることができる。ここで、空燃比センサ２６の出力ＶＡＦの傾きθは、単位時間当たりの同出力ＶＡＦの変化を表す値であって、リッチピークとリーンピークとの間での変化期間中に所定の時間間隔Δｔ毎に同出力ＶＡＦを取り込み、その取り込み毎に次の式「θ＝（今回ＶＡＦ−前回ＶＡＦ）／Δｔ」を用いて算出される。
【００４０】
従って、空燃比センサ２６の出力ＶＡＦにおけるリッチピークからリーンピークまでの変化が完了すると、そのときに上記リッチピークからリーンピークまでの間における同出力ＶＡＦの傾きθの最大値θｍａｘ（正の方向についての最大値）が決定される。そして、この最大値θｍａｘが上記リッチピークからリーンピークまでの間における上記応答性パラメータに対応するデータとして取得される（Ｓ１０５）。より詳しくは、同最大値θｍａｘが電子制御装置１９のＲＡＭに記憶される。こうした最大値θｍａｘの記憶は、アクティブ空燃比制御中、空燃比センサ２６の出力ＶＡＦにおけるリッチピークからリーンピークまでの変化が完了する毎に行われる。
【００４１】
また、空燃比センサ２６の出力ＶＡＦにおけるリーンピークからリッチピークまでの変化が完了すると、そのときに上記リーンピークからリッチピークまでの間における同出力ＶＡＦの傾きθの最大値θｍａｘ（負の方向についての最大値）が決定される。そして、この最大値θｍａｘが上記リーンピークからリッチピークまでの間における上記応答性パラメータに対応するデータとして取得される（Ｓ１０６）。より詳しくは、同最大値θｍａｘが電子制御装置１９のＲＡＭに記憶される。こうした最大値θｍａｘの記憶は、アクティブ空燃比制御中、空燃比センサ２６の出力ＶＡＦにおけるリーンピークからリッチピークまでの変化が完了する毎に行われる。
【００４２】
図５は、空燃比センサ２６の出力ＶＡＦがリッチピークからリーンピークに変化する際に、応答性パラメータのデータとして取得された最大値θｍａｘの分布を示したものである。なお、同図において、「□」は空燃比センサ２６が正常な状態であるときに取得した上記データを示しており、「○」は空燃比センサ２６が正常ではあるものの異常に対し許容下限状態であるときに取得した上記データを示しており、［△］は空燃比センサ２６が劣化等による異常状態であるときに取得した上記データを示している。
【００４３】
上記「□」で示されるデータの分布する領域ＲＡ１は上記［○］で示されるデータの分布する領域ＲＡ２に対し図中上側に位置し、同領域ＲＡ２は上記「△」で示されるデータの分布する領域ＲＡ３に対し図中上側に位置する。これは、空燃比センサ２６に劣化等の異常が生じると、アクティブ空燃比制御中における空燃比センサ２６の出力ＶＡＦの応答性が正常時（図３（ｂ）の実線）に対し二点鎖線で示されるように悪化し、それによる影響が図５上でのデータの分布に現れるためである。また、上記領域ＲＡ１，ＲＡ２，ＲＡ３はそれぞれエンジン１の吸気量が増大するほど図中上側に変位するようになり、その吸気量増大に対する図中上側への変位度合いは領域ＲＡ３、領域ＲＡ２、領域ＲＡ１の順で大きくなる。これは、エンジン１の吸気量増大に伴い同エンジン１の排気圧（排気の流量に対応）が上昇してエンジン１の実空燃比の変化に対する空燃比センサ２６の出力ＶＡＦの応答性が向上し、そうした応答性の向上が空燃比センサ２６の正常時には大となり異常時には小となるためである。
【００４４】
図６は、空燃比センサ２６の出力ＶＡＦがリーンピークからリッチピークに変化する際に、応答性パラメータのデータとして取得された最大値θｍａｘの分布を示したものである。なお、同図においても、図５と同様、「□」は空燃比センサ２６が正常な状態であるときに取得した上記データを示しており、「○」は空燃比センサ２６が正常ではあるものの異常に対し許容下限状態であるときに取得した上記データを示しており、［△］は空燃比センサ２６が異常な状態であるときに取得した上記データを示している。
【００４５】
上記「□」で示されるデータの分布する領域ＲＡ４は［○］で示されるデータの分布する領域ＲＡ５に対し図中下側に位置し、同領域ＲＡ５は「△」で示されるデータの分布する領域ＲＡ６に対し図中下側に位置する。これは、空燃比センサ２６に劣化等の異常が生じると、アクティブ空燃比制御中における空燃比センサ２６の出力ＶＡＦの応答性が正常時（図３（ｂ）の実線）に対し二点鎖線で示されるように悪化し、それによる影響が図６上でのデータの分布に現れるためである。また、上記領域ＲＡ４，ＲＡ５，ＲＡ６はそれぞれエンジン１の吸気量が増大するほど図中下側に変位するようになり、その吸気量増大に対する図中下側への変位度合いは領域ＲＡ６、領域ＲＡ５、領域ＲＡ４の順で大きくなる。これは、エンジン１の吸気量増大に伴い同エンジン１の排気圧（排気の流量に対応）が上昇してエンジン１の実空燃比の変化に対する空燃比センサ２６の出力ＶＡＦの応答性が向上し、そうした応答性の向上が空燃比センサ２６の正常時には大となり異常時には小となるためである。
【００４６】
［ｃ］（Ｓ１０７，Ｓ１０８）
ステップＳ１０７（図４）は、空燃比センサ２６の出力ＶＡＦがリッチからリーンに変化する際における同センサ２６の異常の有無を判断するための処理（以下、第１判断処理という）である。この第１判断処理では、アクティブ空燃比制御中において空燃比センサ２６の出力ＶＡＦがリッチピークからリーンピークに変化する際に取得したデータ（最大値θｍａｘ）が用いられる。詳しくは、アクティブ空燃比制御の実行開始後における上記データの取得回数Ｎ１が数えられる。そして、取得回数Ｎ１が第１設定回数Ａ以上になったとき、同第１設定回数Ａ以上の上記データの取得のうちエンジン１の大吸気量状態での取得回数Ｎ１ｂが第２設定回数Ｂ（＜Ａ）以上であれば、取得した各データの平均値ＡＶ１を求めて同平均値ＡＶ１と異常判定値Ｈ１との比較に基づく空燃比センサ２６での上記異常の有無の判断が行われる。すなわち、平均値ＡＶ１が異常判定値Ｈ１に対し負の方向に離れていれば空燃比センサ２６に上記異常が生じている旨判断され、そうでなければ空燃比センサ２６は正常である旨判断される。こうした異常の有無の判断が行われると、ステップＳ１０１で用いられる診断フラグＦ１が「１（実行中）」から「０（非実行中）」に切り換えられる。なお、診断フラグＦ１が「１」である間は、ステップＳ１０１で否定判定がなされるため、ステップＳ１０２，Ｓ１０３の処理をスキップしてステップＳ１０４以降の処理が実行される。一方、上記エンジン１の大吸気量状態での取得回数Ｎ１ｂが第２設定回数Ｂ未満であれば、上記異常の有無の判断が禁止されて上記データの取得が続けられる。
【００４７】
ステップＳ１０８は、空燃比センサ２６の出力ＶＡＦがリーンからリッチに変化する際における同センサ２６の異常の有無を判断するための処理（以下、第２判断処理という）である。この第２判断処理では、アクティブ空燃比制御中において空燃比センサ２６の出力ＶＡＦがリーンピークからリッチピークに変化する際に取得したデータ（最大値θｍａｘ）が用いられる。詳しくは、アクティブ空燃比制御の実行開始後における上記データの取得回数Ｎ２が数えられる。そして、取得回数Ｎ２が第１設定回数Ａ以上になったとき、その第１設定回数Ａ以上の上記データの取得のうちエンジン１の大吸気量状態での取得回数Ｎ２ｂが第２設定回数Ｂ（＜Ａ）以上であれば、取得した各データの平均値ＡＶ２を求めて同平均値ＡＶ２と異常判定値Ｈ２との比較に基づく空燃比センサ２６での上記異常の有無の判断が行われる。すなわち、平均値ＡＶ２が異常判定値Ｈ２に対し正の方向に離れていれば空燃比センサ２６に上記異常が生じている旨判断され、そうでなければ空燃比センサ２６は正常である旨判断される。こうした異常の有無の判断が行われると、ステップＳ１０１で用いられる診断フラグＦ２が「１（実行中）」から「０（非実行中）」に切り換えられる。なお、診断フラグＦ２が「１」である間は、ステップＳ１０１で否定判定がなされるため、ステップＳ１０２，Ｓ１０３の処理をスキップしてステップＳ１０４以降の処理が実行される。一方、上記エンジン１の大吸気量状態での取得回数Ｎ２ｂが第２設定回数Ｂ未満であれば、上記異常の有無の判断が禁止されて上記データの取得が続けられる。
【００４８】
以上の［ａ］〜［ｃ］の手順に基づく異常検出処理では、［ｃ］の手順における第１及び第２判断処理で用いられる平均値ＡＶ１，ＡＶ２が、少なくとも第２設定回数Ｂ分だけエンジン１の大吸気量状態で取得したデータを含めて求められる。なお、エンジン１の大吸気量状態で取得したデータは、空燃比センサ２６の異常発生に伴いその影響を的確に表した信頼性の高いものとなる。これは、エンジン１の大吸気量状態にあっては、同大吸気量に伴って排気の流量も多くなり、空燃比センサ２６の異常による影響が同センサ２６の出力に現れ易くなるためである。こうした信頼性の高いデータを用いて上記平均値ＡＶ１，ＡＶ２が求められるため、同平均値ＡＶ１，ＡＶ２と異常判定値との比較に基づく空燃比センサ２６での異常の有無の判断が正確なものとなる。
【００４９】
また、［ｂ］の手順において、アクティブ空燃比制御中に最大値θｍａｘ（応答性パラメータ）を求めてデータとして取得するに当たり、その実行条件としてエンジン１が大吸気量状態であること等の条件は設定されていない。このため、同条件の設定の分だけ上記データの取得を実行する機会が少なくなることは抑制され、その機会が少なくなることに伴い空燃比センサ２６での異常の有無の判断の実行機会も少なくなることは抑制される。ただし、［ａ］〜［ｃ］の手順に基づく空燃比センサ２６での異常の有無の判断の実行に関しては、上記取得回数Ｎ２ｂが第２設定回数Ｂ以上であることが条件となる。こうした条件が上記空燃比センサ２６での異常の有無の判断の実行条件とはなるものの、エンジン１の大吸気量状態であること等の条件を実行条件として上記［ｂ］の手順でのデータの取得を行う場合と比較すれば、上記空燃比センサ２６での異常の有無の判断を実行する機会は多くなる。
【００５０】
次に、異常検出ルーチンのステップＳ１０７で行われる第１判断処理の詳細な実行手順について、第１判断処理ルーチンを示す図７のフローチャートを参照して説明する。この第１判断処理ルーチンは、上記異常検出ルーチンのステップＳ１０７に進む毎に実行される。
【００５１】
第１判断処理ルーチンにおいては、空燃比センサ２６の出力ＶＡＦにおけるリッチピークからリーンピークへの変化が完了し、そのリッチピークからリーンピークへの変化の際におけるデータ（最大値θｍａｘ）の取得が行われると（Ｓ２０１：ＹＥＳ）、上記データの取得回数Ｎ１が「１」だけカウントアップされる（Ｓ２０２）。その後、上記データの取得がエンジン１の大吸気量状態での取得であるか否かを判断するため、エンジン１が大吸気量状態であるか否か（Ｓ２０３）、すなわちエンジン１の吸気量が所定値Ｘ１以上であるか否かが判断される。
【００５２】
ここで、図５に示されるように、エンジン１の吸気量が少なくなるほど、領域ＲＡ２と領域ＲＡ３とが図中上下方向において近くなり、これら領域ＲＡ２と領域ＲＡ３との図中の上下方向の距離（矢印Ｙ１の幅）が小さくなる。このことは、エンジン１の吸気量が少ないときには上記データ（最大値θｍａｘ）に空燃比センサ２６での異常の有無による違いが現れにくくなり、エンジン１の吸気量が多くなるほど上記データに空燃比センサ２６での異常の有無による違いが顕著に現れることを意味する。なお、上記所定値Ｘ１に関しては、ステップＳ２０３での肯定判定が上記データに空燃比センサ２６での異常の有無による違いが顕著に表れるエンジン１の吸気量であることを表し得る値として、予め実験等により定められた値が採用されている。
【００５３】
上記ステップＳ２０３（図７）で肯定判定であれば、上記データの取得がエンジン１の大吸気量状態の取得である旨判断され、エンジン１の大吸気量状態での上記データの取得回数Ｎ１ｂが「１」だけカウントアップされる（Ｓ２０４）。一方、ステップＳ２０３で否定判定であれば、上記データの取得がエンジン１の大吸気量状態での取得ではない旨判断され、上記取得回数Ｎ１ｂのカウントアップは行われないようになっている。従って、取得回数Ｎ１ｂに関しては、取得回数Ｎ１のうち上記データに空燃比センサ２６での異常の有無による影響が顕著に表れるほどエンジン１の吸気量が多い状態で上記データの取得が行われた回数を表すこととなる。
【００５４】
そして、上記取得回数Ｎ１が第１設定回数Ａ（例えば５回）以上であるか否かの判断（Ｓ２０５）、及び上記取得回数Ｎ１ｂが第１設定回数Ａよりも少ない第２設定回数Ｂ（例えば１回）以上であるか否かの判断（Ｓ２０６）が行われる。
【００５５】
これらステップＳ２０５とステップＳ２０６とで共に肯定判定であれば、上記第１設定回数Ａ以上の上記データの取得のうちエンジン１の大吸気量状態での取得回数Ｎ１ｂが第２設定回数Ｂ以上であることを意味する。この場合、取得した各データの平均値ＡＶ１が求められ（Ｓ２０７）、その平均値ＡＶ１と異常判定値Ｈ１との比較に基づく空燃比センサ２６での異常の有無の判断が行われる。詳しくは、上記平均値ＡＶ１が異常判定値Ｈ１以上であれば（Ｓ２０８：ＹＥＳ）、空燃比センサ２６の出力ＶＡＦがリッチからリーンに変化する際における同センサ２６の異常は生じておらず、同センサ２６は正常である旨判断される（Ｓ２０９）。また、上記平均値ＡＶ１が異常判定値Ｈ１未満であれば（Ｓ２０８：ＮＯ）、空燃比センサ２６の出力ＶＡＦがリッチからリーンに変化する際における同センサ２６の異常が生じている旨判断される（Ｓ２１０）。そして、これら空燃比センサ２６の正常か異常かの判断（Ｓ２０９、Ｓ２１０）が行われると、診断フラグＦ１が「０（非実行中）」とされるとともに、取得回数Ｎ１，Ｎ１ｂがクリアされて「０」とされる（Ｓ２１１）。なお、上記異常判定値Ｈ１としては、上記のように空燃比センサ２６での異常の有無を判断するうえで適切な値となるよう予め実験等により定められた値が採用される。
【００５６】
一方、ステップＳ２０５で肯定判定であり、且つステップＳ２０６で否定判定であれば、上記第１設定回数Ａ以上の上記データの取得のうちエンジン１の大吸気量状態での取得回数Ｎ１ｂが第２設定回数Ｂ未満であることを意味する。この場合、取得した各データのなかで最もエンジン１の小吸気量時に取得して電子制御装置１９のＲＡＭに記憶されたデータが同ＲＡＭから消去され、同データの破棄が行われる（Ｓ２１２）。その後、上記取得回数Ｎ１が「１」だけカウントダウンされる（Ｓ２１３）。これにより上記データの取得が続けられることとなる。
【００５７】
次に、異常検出ルーチンのステップＳ１０８で行われる第２判断処理の詳細な実行手順について、第２判断処理ルーチンを示す図８のフローチャートを参照して説明する。この第１判断処理ルーチンは、上記異常検出ルーチンのステップＳ１０８に進む毎に実行される。
【００５８】
第２判断処理ルーチンにおいては、空燃比センサ２６の出力ＶＡＦにおけるリーンピークからリッチピークへの変化が完了し、そのリーンピークからリッチピークへの変化の際におけるデータ（最大値θｍａｘ）の取得が行われると（Ｓ３０１：ＹＥＳ）、上記データの取得回数Ｎ２が「１」だけカウントアップされる（Ｓ３０２）。その後、上記データの取得がエンジン１の大吸気量状態での取得であるか否かを判断するため、エンジン１が大吸気量状態であるか否か（Ｓ３０３）、すなわちエンジン１の吸気量が所定値Ｘ２以上であるか否かが判断される。
【００５９】
ここで、図６に示されるように、エンジン１の吸気量が少なくなるほど、領域ＲＡ５と領域ＲＡ６とが図中上下方向において近くなり、これら領域ＲＡ５と領域ＲＡ６との図中の上下方向の距離（矢印Ｙ２の幅）が小さくなる。このことは、エンジン１の吸気量が少ないときには上記データ（最大値θｍａｘ）に空燃比センサ２６での異常の有無による違いが現れにくくなり、エンジン１の吸気量が多くなるほど上記データに空燃比センサ２６での異常の有無による違いが顕著に現れることを意味する。なお、上記所定値Ｘ２に関しては、ステップＳ３０３での肯定判定が上記データに空燃比センサ２６での異常の有無による違いが顕著に表れるエンジン１の吸気量であることを表し得る値として、予め実験等により定められた値が採用されている。
【００６０】
上記ステップＳ３０３で肯定判定であれば、上記データの取得がエンジン１の大吸気量状態の取得である旨判断され、エンジン１の大吸気量状態での上記データの取得回数Ｎ２ｂが「１」だけカウントアップされる（Ｓ３０４）。一方、ステップＳ３０３で否定判定であれば、上記データの取得がエンジン１の大吸気量状態での取得ではない旨判断され、上記取得回数Ｎ２ｂのカウントアップは行われないようになっている。従って、取得回数Ｎ２ｂに関しては、取得回数Ｎ２のうち上記データに空燃比センサ２６での異常の有無による影響が顕著に表れるほどエンジン１の吸気量が多い状態で上記データの取得が行われた回数を表すこととなる。
【００６１】
そして、上記取得回数Ｎ１が第１設定回数Ａ以上であるか否かの判断（Ｓ３０５）、及び上記取得回数Ｎ１ｂが第２設定回数Ｂ以上であるか否かの判断（Ｓ３０６）が行われる。
【００６２】
これらステップＳ３０５とステップＳ３０６とで共に肯定判定であれば、上記第１設定回数Ａ以上の上記データの取得のうちエンジン１の大吸気量状態での取得回数Ｎ２ｂが第２設定回数Ｂ以上であることを意味する。この場合、取得した各データの平均値ＡＶ２が求められ（Ｓ３０７）、その平均値ＡＶ２と異常判定値Ｈ２との比較に基づく空燃比センサ２６での異常の有無の判断が行われる。詳しくは、上記平均値ＡＶ２が異常判定値Ｈ２未満であれば（Ｓ３０８：ＹＥＳ）、空燃比センサ２６の出力ＶＡＦがリーンからリッチに変化する際における同センサ２６の異常は生じておらず、同センサ２６は正常である旨判断される（Ｓ３０９）。また、上記平均値ＡＶ２が異常判定値Ｈ２以上であれば（Ｓ３０８：ＮＯ）、空燃比センサ２６の出力ＶＡＦがリーンからリッチに変化する際における同センサ２６の異常が生じている旨判断される（Ｓ３１０）。そして、これら空燃比センサ２６の正常か異常かの判断（Ｓ３０９、Ｓ３１０）が行われると、診断フラグＦ１が「０（非実行中）」とされるとともに、取得回数Ｎ２，Ｎ２ｂがクリアされて「０」とされる（Ｓ３１１）。なお、上記異常判定値Ｈ２としては、上記のように空燃比センサ２６での異常の有無を判断するうえで適切な値となるよう予め実験等により定められた値が採用される。
【００６３】
一方、ステップＳ３０５で肯定判定であり、且つステップＳ３０６で否定判定であれば、上記第１設定回数Ａ以上の上記データの取得のうちエンジン１の大吸気量状態での取得回数Ｎ２ｂが第２設定回数Ｂ未満であることを意味する。この場合、取得した各データのなかで最もエンジン１の小吸気量時に取得して電子制御装置１９のＲＡＭに記憶されたデータが同ＲＡＭから消去され、同データの破棄が行われる（Ｓ３１２）。その後、上記取得回数Ｎ２が「１」だけカウントダウンされる（Ｓ３１３）。これにより上記データの取得が続けられることとなる。
【００６４】
以上詳述した本実施形態によれば、以下に示す効果が得られるようになる。
（１）［ａ］〜［ｃ］の手順に基づく異常検出処理では、［ｃ］の手順における第１及び第２判断処理で用いられる平均値ＡＶ１，ＡＶ２が、少なくとも第２設定回数Ｂ分だけエンジン１の大吸気量状態で取得した信頼性の高いデータを含めて求められる。こうした信頼性の高いデータを用いて上記平均値ＡＶ１，ＡＶ２が求められるため、同平均値ＡＶ１，ＡＶ２と異常判定値との比較に基づく空燃比センサ２６での異常の有無の判断が正確なものとなる。
【００６５】
また、［ａ］〜［ｃ］の手順に基づく空燃比センサ２６での異常の有無の判断の実行に関しては、上記取得回数Ｎ２ｂが第２設定回数Ｂ以上であることが条件とはなる。こうした条件が上記空燃比センサ２６での異常の有無の判断の実行条件になるとしても、上記［ｂ］の手順でのデータの取得を行う際にエンジン１の大吸気量状態であること等の条件を実行条件として追加する場合などと比較すれば、上記空燃比センサ２６での異常の有無の判断を実行する機会が多くなる。
【００６６】
従って、空燃比センサ２６での異常の有無の判断を正確に行いつつ、同判断の実行機会が少なくなることを抑制できるようになる。
（２）取得回数Ｎ１ｂ，Ｎ２ｂが第２設定回数Ｂ以上となるまでデータの取得を続ける際、取得したデータのなかで最もエンジン１の小吸気量時に取得したものが破棄され、その状態でデータの取得が行われることとなる。これにより、平均値ＡＶ１，ＡＶ２を求めるためのデータとして、可能な限りエンジン１の吸気量が多いときに取得されたデータが用いられるようになる。その結果、上記平均値ＡＶ１，ＡＶ２が信頼性の高い値となり、その平均値ＡＶ１，ＡＶ２と異常判定値Ｈ１，Ｈ２との比較に基づく空燃比センサ２６の異常の有無の判断を正確なものとすることが可能になる。
【００６７】
（３）第１判断処理により、空燃比センサ２６の出力ＶＡＦがリッチピークからリーンピークに変化する際に取得したデータの平均値ＡＶ１と異常判定値Ｈ１との比較に基づき、空燃比センサ２６の出力ＶＡＦがリッチからリーンに変化する際における同センサ２６の異常の有無が判断される。また、第２判断処理により、空燃比センサ２６の出力ＶＡＦがリーンピークからリッチピークに変化する際に取得したデータの平均値ＡＶ２と異常判定値Ｈ２との比較に基づき、空燃比センサ２６の出力ＶＡＦがリーンからリッチに変化する際における同センサ２６の異常の有無が判断される。このため、空燃比センサ２６の出力ＶＡＦがリッチからリーンに変化する際の異常が発生している場合であれ、あるいはリーンからリッチに変化する際の異常が発生している場合であれ、それらの異常に関して異常有りの旨の判断を的確に行うことができる。
【００６８】
また、上記二種類の異常のうちの一方のみが生じている場合、空燃比センサ２６からの出力ＶＡＦに基づく空燃比フィードバック補正により、エンジン１の空燃比を理論空燃比に制御しようとする際、同制御に伴うエンジン１の空燃比の変動中心が理論空燃比からずれることは避けられない。その結果、エンジン１の排気通路４に設けられる排気浄化触媒の排気浄化性能を良好に保つことができず、エンジン１の排気エミッションが悪化するおそれがある。しかし、上述したように二種類の異常のうちの一方のみが生じている場合でも同異常が発生している旨の判断を行うことができるため、その旨の判断に基づき上記異常に対処することで上述した排気エミッションの悪化を抑制することが可能になる。
【００６９】
［第２実施形態］
次に、本発明の第２実施形態を図９及び図１０に基づき説明する。
図９は本実施形態の第１判断処理ルーチンを示すフローチャートである。同ルーチンにおいては、第１実施形態の第１判断処理ルーチン（図７）のステップＳ２０１〜Ｓ２１３と同じ処理（Ｓ４０１〜Ｓ４１３）が行われ、それに加えてステップＳ４１４の処理が行われることとなる。これにより、データの取得回数Ｎ１が第１設定回数Ａ未満であっても、エンジンの大吸気量時に上記データの取得を行った回数である取得回数Ｎ１ｂが第２設定回数Ｂ以上となっていれば、取得したデータの平均値ＡＶ１と異常判定値Ｈ１との比較に基づく空燃比センサ２６の異常の有無の判断が実行される。
【００７０】
詳しくは、ステップＳ４０１〜Ｓ４０４の処理を通じて取得回数Ｎ１，Ｎ１ｂのカウントが行われ、ステップＳ４０５で取得回数Ｎ１が第１設定回数Ａ以上であるか否かが判断される。ここで否定判定であれば、取得回数Ｎ１が第１設定回数Ａ未満である旨判断され、上記ステップＳ４１４に進んで取得回数Ｎ１ｂが第２設定回数Ｂ以上であるか否かが判断される。ステップＳ４１４で肯定判定がなされるということは、取得回数Ｎ１が第１設定回数Ａ未満であっても、取得回数Ｎ１ｂが第２設定回数Ｂ以上になっているという状況であることを意味する。そして、このような状況のもとでも、ステップＳ４０７〜Ｓ４１０の処理を通じて、それまでに取得した各データの平均値ＡＶ１が求められ、同平均値ＡＶ１と異常判定値Ｈ１との比較に基づき、空燃比センサ２６の出力ＶＡＦがリッチからリーンに変化する際における同センサ２６の異常の有無が判断される。
【００７１】
図１０は本実施形態の第２判断処理ルーチンを示すフローチャートである。同ルーチンにおいては、第１実施形態の第２判断処理ルーチン（図８）のステップＳ３０１〜Ｓ３１３と同じ処理（Ｓ５０１〜Ｓ５１３）が行われ、それに加えてステップＳ５１４の処理が行われることとなる。これにより、データの取得回数Ｎ２が第１設定回数Ａ未満であっても、エンジンの大吸気量時に上記データの取得を行った回数である取得回数Ｎ２ｂが第２設定回数Ｂ以上となっていれば、取得したデータの平均値ＡＶ２と異常判定値Ｈ２との比較に基づく空燃比センサ２６の異常の有無の判断が実行される。
【００７２】
詳しくは、ステップＳ５０１〜Ｓ５０４の処理を通じて取得回数Ｎ２，Ｎ２ｂのカウントが行われ、ステップＳ５０５で取得回数Ｎ２が第１設定回数Ａ以上であるか否かが判断される。ここで否定判定であれば、取得回数Ｎ２が第１設定回数Ａ未満である旨判断され、上記ステップＳ５１４に進んで取得回数Ｎ２ｂが第２設定回数Ｂ以上であるか否かが判断される。ステップＳ５１４で肯定判定がなされるということは、取得回数Ｎ２が第１設定回数Ａ未満であっても、取得回数Ｎ２ｂが第２設定回数Ｂ以上になっているという状況であることを意味する。そして、このような状況のもとでも、ステップＳ５０７〜Ｓ５１０の処理を通じて、それまでに取得した各データの平均値ＡＶ２が求められ、同平均値ＡＶ２と異常判定値Ｈ２との比較に基づき、空燃比センサ２６の出力ＶＡＦがリーンからリッチに変化する際における同センサ２６の異常の有無が判断される。
【００７３】
本実施形態によれば、第１実施形態の（１）〜（３）の効果に加え、以下に示す効果が得られるようになる。
（４）取得回数Ｎ１ｂ，Ｎ２ｂが第２設定回数Ｂ以上になったとき、取得回数Ｎ１，Ｎ２が第１設定回数Ａ未満であるか否かにかかわらず、取得したデータの平均値ＡＶ１，ＡＶ２と異常判定値Ｈ１，Ｈ２との比較に基づく空燃比センサ２６の異常の有無の判断が実行されるため、同判断を早期に且つ高い頻度で行うことができる。
【００７４】
［第３実施形態］
次に、本発明の第３実施形態を図１１及び図１２に基づき説明する。
図１１は、本実施形態の第１判断処理を示すフローチャートである。同ルーチンにおいては、第２実施形態の第１判断処理ルーチン（図９）のステップＳ４０１〜Ｓ４１４と同じ処理（Ｓ６０１〜Ｓ６１４）が行われ、それに加えてステップＳ６１５〜Ｓ６１８の処理が行われることとなる。すなわち、取得回数Ｎ１，Ｎ１ｂのカウント処理（Ｓ６０１〜Ｓ６０４）を通じてカウントされた取得回数Ｎ１が第１設定回数Ａ未満である旨判断され（Ｓ６０５：ＮＯ）、更に取得回数Ｎ１が第２設定回数Ｂ以上である旨判断されると（Ｓ６１４：ＹＥＳ）、上記ステップＳ６１５〜Ｓ６１８の処理が行われる。
【００７５】
この一連の処理では、エンジン１の大吸気量時に取得されたデータのみから平均値ＡＶ１が求められ（Ｓ６１５）、その平均値ＡＶ１と異常判定値Ｈ１とは別に同平均値用として用意された異常判定値Ｈ１ｓとの比較に基づき、空燃比センサ２６の異常の有無の判断が行われる（Ｓ６１６〜Ｓ６１８）。すなわち、上記平均値ＡＶ１が異常判定値Ｈ１ｓ以上であれば（Ｓ６１６：ＹＥＳ）、空燃比センサ２６の出力ＶＡＦがリッチからリーンに変化する際における同センサ２６の異常が生じておらず、正常である旨判断される（Ｓ６１７）。また、上記平均値ＡＶ１が異常判定値Ｈ１ｓ未満であれば（Ｓ６１６：ＮＯ）、空燃比センサ２６の出力ＶＡＦがリーンからリッチに変化する際における同センサ２６の異常が生じている旨判断される（Ｓ６１８）。なお、上記異常判定値Ｈ１ｓとしては、上記平均値ＡＶ１に基づく空燃比センサ２６での上記異常の有無を判断するうえで最適な値となるよう予め実験等により定められた値が用いられる。
【００７６】
図１２は、本実施形態の第２判断処理を示すフローチャートである。同ルーチンにおいては、第２実施形態の第２判断処理ルーチン（図１０）のステップＳ５０１〜Ｓ５１４と同じ処理（Ｓ７０１〜Ｓ７１４）が行われ、それに加えてステップＳ７１５〜Ｓ７１８の処理が行われることとなる。すなわち、取得回数Ｎ２，Ｎ２ｂのカウント処理（Ｓ７０１〜Ｓ７０４）を通じてカウントされた取得回数Ｎ２が第１設定回数Ａ未満である旨判断され（Ｓ７０５：ＮＯ）、更に取得回数Ｎ２が第２設定回数Ｂ以上である旨判断されると（Ｓ７１４：ＹＥＳ）、上記ステップＳ７１５〜Ｓ７１８の処理が行われる。
【００７７】
この一連の処理では、エンジン１の大吸気量時に取得されたデータのみから平均値ＡＶ２が求められ（Ｓ７１５）、その平均値ＡＶ２と異常判定値Ｈ２とは別に同平均値用として用意された異常判定値Ｈ２ｓとの比較に基づき、空燃比センサ２６の異常の有無の判断が行われる（Ｓ７１６〜Ｓ７１８）。すなわち、上記平均値ＡＶ２が異常判定値Ｈ２ｓ未満であれば（Ｓ７１６：ＹＥＳ）、空燃比センサ２６の出力ＶＡＦがリーンからリッチに変化する際における同センサ２６の異常が生じておらず、正常である旨判断される（Ｓ７１７）。また、上記平均値ＡＶ２が異常判定値Ｈ２ｓ未満であれば（Ｓ７１６：ＮＯ）、空燃比センサ２６の出力ＶＡＦがリッチからリーンに変化する際における同センサ２６の異常が生じている旨判断される（Ｓ７１８）。なお、上記異常判定値Ｈ２ｓとしては、上記平均値ＡＶ２に基づく空燃比センサ２６での上記異常の有無を判断するうえで最適な値となるよう予め実験等により定められた値が用いられる。
【００７８】
本実施形態によれば、第１及び第２実施形態の（１）〜（４）に示す効果に加え、以下に示す効果が得られるようになる。
（５）データの取得回数Ｎ１，Ｎ２が第１設定回数Ａ未満の状態で、取得回数Ｎ１ｂ，Ｎ２ｂ回数が第２設定回数Ｂ以上になったことに基づき、空燃比センサ２６での異常の有無を判断する際には、平均値ＡＶ１，ＡＶ２としてエンジン１の大吸気量時に取得されたデータ（取得回数Ｎ１ｂ，Ｎ２ｂ回分に対応したデータ）のみの平均値が用いられる。
【００７９】
ここで、エンジン１の大吸気量状態で取得したデータは、空燃比センサ２６の異常発生に伴いその影響を的確に表した信頼性の高いものとなる。これは、エンジン１の大吸気量状態にあっては、同大吸気量に伴って排気の流量も多くなり、空燃比センサ２６の異常による影響が同センサ２６の出力ＶＡＦに現れ易くなるためである。こうした信頼性の高いデータのみを用いて上記平均値ＡＶ１，ＡＶ２が求められるため、同平均値ＡＶ１，ＡＶ２を用いた空燃比センサ２６での異常の有無の判断が正確なものとなる。
【００８０】
また、上記空燃比センサ２６での異常の有無の判断に用いられる異常判定値としては、エンジン１の大吸気量時に取得されたデータのみから求められる平均値ＡＶ１，ＡＶ２に対応した値として、通常の値（Ｈ１，Ｈ２）とは別に用意された上記平均値用の異常判定値Ｈ１ｓ，Ｈ２ｓが用いられる。ここで、エンジン１の大吸気量時に取得されたデータのみから求められる平均値ＡＶ１，ＡＶ２は、通常どおり求められる平均値とは異なる値であって、同平均値と比較して信頼性の高い値となるが、それに合わせて異常判定値を大吸気量時に取得されたデータのみから求められる平均値ＡＶ１，ＡＶ２に対応した適切な値とすることが可能となる。従って、エンジン１の大吸気量時に取得されたデータのみから平均値ＡＶ１，ＡＶ２を求めた場合において、同平均値ＡＶ１，ＡＶ２を用いて空燃比センサ２６での異常の有無の判断を行う際、その判断の結果を正確なものとすることができる。
【００８１】
［その他の実施形態］
なお、上記各実施形態は、例えば以下のように変更することもできる。
・第１〜第３実施形態において、空燃比センサ２６の出力ＶＡＦのリッチからリーンへの変化時に生じる異常の有無の判断とリーンからリッチへの変化時に生じる異常の有無の判断とを別々に行ったが、こうした異常の有無の判断の仕方を必ずしも採用する必要はない。例えば、応答性パラメータとしてアクティブ空燃比制御中における出力ＶＡＦの単位時間当たりの変化量の絶対値をデータとして取得し、そのデータに基づき空燃比センサ２６での異常の有無を判断してもよい。この場合、空燃比センサ２６の出力ＶＡＦの変化方向に関係なく、同センサ２６での異常の有無が判断される。
【００８２】
・第１〜第３実施形態において、第１設定回数Ａ及び第２設定回数Ｂの値を適宜変更してもよい。なお、第２設定回数Ｂに関しては、少なくとも第１〜第３実施形態のように１回とすることが好ましく、２回、３回、又は４回等にすることも可能である。
【００８３】
・第１〜第３実施形態において、第２設定回数Ｂを取得回数Ｎ１，Ｎ２に基づく可変値とし、取得したデータの破棄に関する処理（Ｓ２１２、Ｓ３１２、Ｓ４１２、Ｓ５１２、Ｓ６１２、Ｓ７１２）及び取得回数Ｎ１，Ｎ２のカウントダウンに関する処理（Ｓ２１３、Ｓ３１３、Ｓ４１３、Ｓ５１３、Ｓ６１３、Ｓ７１３）を行わないようにしてもよい。この場合、上記第２設定回数Ｂの可変態様については、例えば以下のように行うことが考えられる。すなわち、第１判断処理で用いられる第２設定回数Ｂを取得回数Ｎ１の２０％となるよう「Ｂ＝Ｎ１×０．２」という式に基づき設定し、第２判断処理で用いられる第２設定回数Ｂを取得回数Ｎ２の２０％となるよう「Ｂ＝Ｎ２×０．２」という式に基づき設定する。なお、上記式の「０．２」という値は、取得回数Ｎ１，Ｎ１に対する第２設定回数Ｂの値の割合（以下、設定割合という）を表している。この設定割合を「０．２」以外の値に適宜変更し、取得回数Ｎ１，Ｎ２の変化に対する第２設定回数Ｂの可変態様を上記以外の態様に変更することも可能である。
【００８４】
上記のように第２設定回数Ｂを可変とすることにより、データの取得回数Ｎ１，Ｎ２が増加するに従って第２設定回数Ｂも増加してゆく。取得回数Ｎ１ｂ，Ｎ２ｂが第２設定回数Ｂに達したときには、エンジン１の大吸気量状態でのデータの取得が取得回数Ｎ１，Ｎ２のうちの設定割合に対応した回数だけ行われたことになる。そして、取得した各データの平均値と異常判定値との比較に基づく空燃比センサ２６での異常の有無の判断が行われる。この場合、取得したデータを破棄することなく、取得したデータ全てを用いて平均値を算出し、その平均値と異常判定値との比較に基づく空燃比センサ２６の異常の有無の判断を行うことが可能となる。これにより、平均値を求めるためのデータを多く確保することができ、求められた平均値を空燃比センサ２６の異常の有無の判断に用いる値として多くのデータに基づく適切なものとすることができる。なお、上記のように第２設定回数Ｂを可変とする場合、取得回数Ｎ１，Ｎ２の増加により第２設定回数Ｂが第１設定回数Ａよりも大きくなる可能性がある。
【００８５】
・第１〜第３実施形態において、アクティブ空燃比制御中に求められる応答性パラメータとして、空燃比センサ２６の出力ＶＡＦのリッチピークとリーンピークとの間での軌跡長ΣＳを用いてもよい。なお、上記軌跡長ΣＳは、空燃比センサ２６の出力ＶＡＦのリッチピークとリーンピークとの間での同出力ＶＡＦの所定時間毎の変化の積算値である。ちなみに、応答性パラメータとしては、上記軌跡長ΣＳを用いる場合と比較して、第１〜第３実施形態のように傾きθの最大値θｍａｘを用いる方が好ましい。これは、傾きθの最大値θｍａｘは、軌跡長ΣＳよりも、アクセル踏込量の変化等の外乱に起因する影響を受けにくく、空燃比センサ２６の異常と正常とを異常判定値との比較に基づいて区別しやすいためである。
【符号の説明】
【００８６】
１…エンジン、２…燃焼室、３…吸気通路、４…排気通路、５…燃料噴射弁、６…点火プラグ、７…ピストン、８…クランクシャフト、１１…スロットルバルブ、１９…電子制御装置、２０…アクセルペダル、２１…アクセルポジションセンサ、２２…スロットルポジションセンサ、２３…エアフロメータ、２４…クランクポジションセンサ、２６…空燃比センサ。
【図１】
2010285913.tif 000003
【図２】
2010285913.tif 000004
【図３】
2010285913.tif 000005
【図４】
2010285913.tif 000006
【図５】
2010285913.tif 000007
【図６】
2010285913.tif 000008
【図７】
2010285913.tif 000009
【図８】
2010285913.tif 000010
【図９】
2010285913.tif 000011
【図１０】
2010285913.tif 000012
【図１１】
2010285913.tif 000013
【図１２】
2010285913.tif 000014