(57)【特許請求の範囲】
【請求項１】
排気系に設けた理論空燃比を含む広範囲の空燃比を連続的に検出可能な空燃比センサと、
該空燃比センサの出力と目標空燃比に相当する目標出力との偏差に基づいて、機関に供給する混合気の空燃比が該目標空燃比となるように燃料噴射量をフィードバック制御する空燃比フィードバック制御手段と、
該空燃比フィードバック制御手段による空燃比フィードバック制御の実行中において、燃料噴射補正量の変動量ΔＦＴを所定期間の間積算することにより変動量積算値ΣΔＦＴを算出する変動量積算値算出手段と、
該変動量積算値算出手段により算出された変動量積算値ΣΔＦＴが所定値を越えた時に、前記空燃比センサが劣化していると判定する劣化判定手段と、
を備えた空然比センサの劣化判定装置。
【請求項２】
排気系に設けた理論空燃比を含む広範囲の空燃比を連続的に検出可能な空燃比センサと、
該空燃比センサの出力と目標空燃比に相当する目標出力との偏差に基づいて、機関に供給する混合気の空燃比が該目標空燃比となるように燃料噴射量をフィードバック制御する空燃比フィードバック制御手段と、
該空燃比フィードバック制御手段による空燃比フィードバック制御の実行中において、燃料噴射補正量の変動量ΔＦＴと該空燃比センサの出力の変動量ΔＶとをそれぞれ所定期間の間積算することにより、対応する変動量積算値ΣΔＦＴ及びΣΔＶを算出する変動量積算値算出手段と、
該変動量積算値算出手段により算出された該変動量積算値ΣΔＦＴとΣΔＶとの比に基づいて、前記空燃比センサの劣化の有無を判定する劣化判定手段と、
を備えた空然比センサの劣化判定装置。
【請求項３】
排気系に設けた理論空燃比を含む広範囲の空燃比を連続的に検出可能な空燃比センサと、
該空燃比センサの出力と目標空燃比に相当する目標出力との偏差に基づいて、機関に供給する混合気の空燃比が該目標空燃比となるように燃料噴射量をフィードバック制御する空燃比フィードバック制御手段と、
該空燃比フィードバック制御手段による空燃比フィードバック制御の実行中において、 該空燃比センサの出力Ｖと空燃比センサの出力の変動量ΔＶとを所定期間の間積算することにより、出力積算値ΣＶ及び変動量積算値ΣΔＶを算出する出力積算値及び変動量積算値算出手段と、
該出力積算値及び変動量積算値算出手段により算出された該出力積算値ΣＶと該変動量積算値ΣΔＶとの比に基づいて、前記空燃比センサの劣化の有無を判定する劣化判定手段と、
を備えた空然比センサの劣化判定装置。
【請求項４】
請求項３に記載の空然比センサの劣化判定装置において、
前記空燃比フィードバック制御手段による空燃比フィードバック制御の実行中における燃料噴射補正量の変動量ΔＦＴと前記空燃比センサの出力の変動量ΔＶとを前記所定期間の間積算することにより、対応する変動量積算値ΣΔＦＴ及びΣΔＶを算出する変動量積算値算出手段を更に備え、
前記劣化判定手段は、前記出力積算値ΣＶと変動量積算値ΣΔＶとの比及び前記変動量積算値ΣΔＦＴとΣΔＶとの比に基づいて、前記空燃比センサの劣化の有無を判定する、
空然比センサの劣化判定装置。
【請求項５】
請求項４に記載の空然比センサの劣化判定装置において、前記劣化判定手段は、前記出力積算値ΣＶと変動量積算値ΣΔＶとの比と、前記変動量積算値ΣΔＦＴとΣΔＶとの比との積に基づいて、前記空燃比センサの劣化の有無を判定する、空然比センサの劣化判定装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内燃機関（エンジン）において、吸入空気量に応じて適量の燃料を供給することにより、空気と燃料との混合比（空燃比：Ａ／Ｆ）を所望の値に制御する空燃比制御装置に用いられる空燃比センサの劣化判定装置に関する。より詳細には、本発明は、空燃比フィードバック制御を行うために排気浄化触媒の上流側に設けられ、空燃比をリニアに検出可能な空燃比センサ（Ａ／Ｆセンサ）の劣化を判定する装置に関する。
【０００２】
【従来の技術】
従来より、自動車用エンジンにおいては、排気ガス浄化対策として、排気ガス中の未燃成分（ＨＣ，ＣＯ）の酸化と窒素酸化物（ＮＯＸ）の還元とを同時に促進する三元触媒が利用されている。そのような三元触媒による酸化・還元能力を高めるためには、エンジンの燃焼状態を示す空燃比（Ａ／Ｆ）を理論空燃比近傍（ウィンドウ）に制御する必要がある。そのため、エンジンにおける燃料噴射制御においては、排気ガス中の残留酸素濃度に基づき空燃比が理論空燃比よりもリッチかリーンかを感知するＯ２センサ（酸素濃度センサ）（図１参照）を設け、そのセンサ出力に基づいて燃料量を補正する空燃比フィードバック制御が行われている。
【０００３】
一方、近年においては、三元触媒が常に一定の安定した浄化性能を発揮しうるように空燃比を制御する内燃機関も開発されている。三元触媒は、通過する排気ガスの空燃比がリーン状態にあるときに排気ガス中の酸素を吸着し、通過する排気ガスの空然比がリッチ状態にあるときに吸着した酸素を放出するＯ２ストレージ作用を行うが、このような三元触媒のＯ２ストレージ能力は有限なものである。従って、Ｏ２ストレージ能力を効果的に利用するためには、排気ガスの空然比が次にリッチ状態またはリーン状態のいずれとなってもよいように、触媒中に貯蔵されている酸素の量を所定量（例えば、最大酸素貯蔵量の半分）に維持することが肝要であり、そのように維持されていれば、常に一定のＯ２吸着・放出作用が可能となり、結果として触媒による一定の酸化・還元能力が常に得られる。
【０００４】
このように触媒の浄化性能を維持すべくＯ２ストレージ量を一定に制御する内燃機関においては、理論空然比を含む広範囲の空燃比をリニアに検出可能な空燃比センサ（Ａ／Ｆセンサ）（図２参照）が用いられ、比例及び積分動作（ＰＩ動作）によるフィードバック制御（Ｆ／Ｂ制御）が行われる。すなわち、
次回燃料噴射補正量＝ＫＰ＊（今回の燃料差）＋ＫＳ＊Σ（これまでの燃料差）
ただし、燃料差＝（実際に筒内で燃焼せしめられた燃料量）
−（吸入空気をストイキとする目標筒内燃料量）
実際に燃焼せしめられた燃料量＝空気量検出値／空燃比検出値
ＫＰ＝比例項ゲイン
ＫＳ＝積分項ゲイン
なる演算により、フィードバック制御による燃料噴射補正量が算出される。
【０００５】
上記した燃料噴射補正量の演算式からわかるように、その比例項は、Ｏ２センサによるフィードバック制御と同様に、空燃比をストイキ（理論空然比）に維持すべく作用する成分であり、積分項は、定常偏差（オフセット）を消去するように作用する成分である。すなわち、この積分項の作用により、触媒におけるＯ２ストレージ量が一定に維持される結果となる。例えば、急加速等でリーンガスが発生した場合には、かかる積分項の作用により、リッチガスが発生せしめられ、リーンガス発生の効果が相殺される。
【０００６】
上述したように、Ａ／Ｆセンサの出力電圧に基づく空燃比フィードバック制御においては、その出力電圧と目標電圧（ストイキ相当電圧）との偏差が大きいほど燃料噴射補正量が大きくなるように制御されるため、Ａ／Ｆセンサが排気ガスの熱や燃料、潤滑油中に含まれる鉛、燐などの被毒の作用により劣化してくると、Ａ／Ｆセンサの応答性（実際の空然比変化に追従する速さ）が低下し、所望の空燃比フィードバック制御を達成することが困難となる。
【０００７】
そこで、空然比センサの劣化を検出する従来の装置として、例えば特開平５−１０６４８６号公報に記載された空然比センサの劣化判定装置がある。この劣化判定装置では、理論空然比を含む広範囲の空然比を連続的に検出可能な空然比センサの出力に基づき、目標空然比を理論空然比（ストイキ）に設定した時と理論空然比と異なる空然比（リーン空然比）に設定した時にそれぞれ空然比センサの出力に基づくフィードバック補正量を学習する共に、これらの学習値の相違に基づいて空然比センサの劣化を判定するようにしている。
【０００８】
【発明が解決しようとする課題】
上記の空然比センサの劣化判定装置では、２つの異なる目標空然比（ストイキ及びそれ以外）の制御時にそれぞれフィードバック補正量を学習し、その学習値を比較する必要があるため、空然比センサの劣化判定に時間を要する。更に、空燃比センサの劣化が判定できるのは、ストイキ制御及びリーン制御の両方を実施する空燃比制御システムに限定され、空燃比を常に１つの目標空然比（例えば、理論空燃比）に制御するシステムには適用できない。また、この劣化判定装置は、空燃比センサ劣化時にはリーン（ストイキ以外の空然比）制御時の出力バラツキが大きいことを利用して判定を行っているために、判定が特定の制御領域でのセンサ特性の劣化・バラツキに依存し、安定した判定結果を得ることが困難である。
【０００９】
本発明は、上記事情に鑑みてなされたものであり、その目的とするところは、理論空然比を含む広範囲の空然比を連続的に検出可能な空然比センサを用いた空然比制御装置において、ストイキ以外の制御領域におけるセンサ特性に依存することなく、早期に劣化が検出可能な空然比センサの劣化判定装置を提供することにある。
【００１０】
【課題を解決するための手段】
本発明による空然比センサの劣化判定装置は、排気系に設けた理論空燃比を含む広範囲の空燃比を連続的に検出可能な空燃比センサと、該空燃比センサの出力と目標空燃比に相当する目標出力との偏差に基づいて、機関に供給する混合気の空燃比が該目標空燃比となるように燃料噴射量をフィードバック制御する空燃比フィードバック制御手段と、該空燃比フィードバック制御手段による空燃比フィードバック制御の実行中において、燃料噴射補正量の変動量ΔＦＴを所定期間の間積算することにより変動量積算値ΣΔＦＴを算出する変動量積算値算出手段と、該変動量積算値算出手段により算出された変動量積算値ΣΔＦＴが所定値を越えた時に、前記空燃比センサが劣化していると判定する劣化判定手段と、を備えており、そのことにより上記目的が達成される。
【００１３】
また、本発明による空然比センサの劣化判定装置は、排気系に設けた理論空燃比を含む広範囲の空燃比を連続的に検出可能な空燃比センサと、該空燃比センサの出力と目標空燃比に相当する目標出力との偏差に基づいて、機関に供給する混合気の空燃比が該目標空燃比となるように燃料噴射量をフィードバック制御する空燃比フィードバック制御手段と、該空燃比フィードバック制御手段による空燃比フィードバック制御の実行中において、燃料噴射補正量の変動量ΔＦＴと該空燃比センサの出力の変動量ΔＶとをそれぞれ所定期間の間積算することにより、対応する変動量積算値ΣΔＦＴ及びΣΔＶを算出する変動量積算値算出手段と、該変動量積算値算出手段により算出された該変動量積算値ΣΔＦＴとΣΔＶとの比に基づいて、前記空燃比センサの劣化の有無を判定する劣化判定手段と、を備えており、そのことにより上記目的が達成される。
【００１４】
また、本発明による空然比センサの劣化判定装置は、排気系に設けた理論空燃比を含む広範囲の空燃比を連続的に検出可能な空燃比センサと、該空燃比センサの出力と目標空燃比に相当する目標出力との偏差に基づいて、機関に供給する混合気の空燃比が該目標空燃比となるように燃料噴射量をフィードバック制御する空燃比フィードバック制御手段と、該空燃比フィードバック制御手段による空燃比フィードバック制御の実行中において、該空燃比センサの出力Ｖと空燃比センサの出力の変動量ΔＶとを所定期間の間積算することにより、出力積算値ΣＶ及び変動量積算値ΣΔＶを算出する出力積算値及び変動量積算値算出手段と、該出力積算値及び変動量積算値算出手段により算出された該出力積算値ΣＶと該変動量積算値ΣΔＶとの比に基づいて、前記空燃比センサの劣化の有無を判定する劣化判定手段と、を備えており、そのことにより上記目的が達成される。
【００１５】
本発明の一つの実施形態において、前記空然比センサの劣化判定装置は、好ましくは、前記空燃比フィードバック制御手段による空燃比フィードバック制御の実行中における燃料噴射補正量の変動量ΔＦＴと前記空燃比センサの出力の変動量ΔＶとを前記所定期間の間積算することにより、対応する変動量積算値ΣΔＦＴ及びΣΔＶを算出する変動量積算値算出手段を更に備えており、前記劣化判定手段は、前記出力積算値ΣＶと変動量積算値ΣΔＶとの比及び前記変動量積算値ΣΔＦＴとΣΔＶとの比に基づいて、前記空燃比センサの劣化の有無を判定する。
【００１６】
本発明の他の実施形態による前記空然比センサの劣化判定装置において、前記劣化判定手段は、好ましくは、前記出力積算値ΣＶと変動量積算値ΣΔＶとの比と、前記変動量積算値ΣΔＦＴとΣΔＶとの比との積に基づいて、前記空燃比センサの劣化の有無を判定する。
【００１７】
【発明の実施の形態】
以下、添付の図面を参照しながら本発明の実施形態について説明する。
【００１８】
まず、本発明による空然比センサの劣化判定装置を適用する内燃機関システムの一例について概略的に説明する。図３は、本発明の劣化判定装置によって判定を行う空燃比センサ及び空燃比制御装置を備えた電子制御式内燃機関１００の全体概要を示している。
【００１９】
エンジンの燃焼に必要な空気は、エアクリーナ２でろ過され、スロットルボデー４を通ってサージタンク（インテークマニホルド）６で各気筒の吸気管７に分配される。なお、その吸入空気流量は、スロットルボデー４に設けられたスロットル弁５により調節されるとともに、エアフローメータ４０により計測される。また、吸入空気温度は、吸気温センサ４３により検出される。さらに、吸気管圧力は、バキュームセンサ４１によって検出される。
【００２０】
また、スロットル弁５の開度は、スロットル開度センサ４２により検出される。また、スロットル弁５が全閉状態のときには、アイドルスイッチ５２がオンとなり、その出力であるスロットル全閉信号がアクティブとなる。また、スロットル弁５をバイパスするアイドルアジャスト通路８には、アイドル時の空気流量を調節するためのアイドル回転速度制御弁（ＩＳＣＶ）６６が設けられている。
【００２１】
一方、燃料タンク１０に貯蔵された燃料は、燃料ポンプ１１によりくみ上げられ、燃料配管１２を径て燃料噴射弁６０により吸気管７に噴射される。
【００２２】
吸気管７では、空気と燃料とが混合され、その混合気は、吸気弁２４を介してエンジン本体すなわち気筒（シリンダ）２０の燃焼室２１に吸入される。燃焼室２１において、混合気は、ピストン２３により圧縮された後、点火されて爆発・燃焼し、動力を発生する。そのような点火は、点火信号を受けたイグナイタ６２が、点火コイル６３の１次電流の通電及び遮断を制御し、その２次電流が、点火ディストリビュータ６４を介してスパークプラグ６５に供給されることによりなされる。
【００２３】
なお、点火ディストリビュータ６４には、その軸が例えばクランク角（ＣＡ）に換算して７２０゜ＣＡごとに基準位置検出用パルスを発生させる基準位置検出センサ５０、及び３０゜ＣＡごとに位置検出用パルスを発生させるクランク角センサ５１が設けられている。なお、実際の車速は、車速を表す出力パルスを発生させる車速センサ５３によって検出される。また、エンジン本体（気筒）２０は、冷却水通路２２に導かれた冷却水により冷却され、その冷却水温度は、水温センサ４４によって検出される。
【００２４】
燃焼した混合気は、排気ガスとして排気弁２６を介して排気マニホルド３０に放出され、次いで排気管３４に導かれる。なお、排気管３４には、排気ガス中の酸素濃度に基づき空燃比をリニアに検出するＡ／Ｆセンサ４５が設けられている。さらにそれより下流の排気系には、触媒コンバータ３８が設けられており、その触媒コンバータ３８には、排気ガス中の未燃成分（ＨＣ，ＣＯ）の酸化と窒素酸化物（ＮＯＸ）の還元とを同時に促進する三元触媒が収容されている。こうして触媒コンバータ３８において浄化された排気ガスが大気中に排出される。
【００２５】
また、このエンジンは、Ａ／Ｆセンサ４５による空燃比フィードバック制御の目標制御中心を変動させるべくサブ空燃比フィードバック制御を実施するエンジンであり、触媒コンバータ３８より下流の排気系には、Ｏ２センサ４６が設けられている。本発明においては、Ｏ２センサ４６は必須ではないが、Ｏ２センサ４６が設けられているほうが好ましい。
【００２６】
エンジン電子制御ユニット（エンジンＥＣＵ）７０は、燃料噴射制御（空燃比制御）、点火時期制御、アイドル回転速度制御などに加え、Ａ／Ｆセンサの応答特性の劣化判定を実行するマイクロコンピュータシステムであり、そのハードウェア構成は、図４のブロック図に示される。リードオンリメモリ（ＲＯＭ）７３に格納されたプログラム及び各種のマップに従って、中央処理装置（ＣＰＵ）７１は、各種センサ及びスイッチからの信号をＡ／Ｄ変換回路７５又は入力インタフェース回路７６を介して入力し、その入力信号に基づいて演算処理を実行し、その演算結果に基づき駆動制御回路７７ａ〜７７ｄを介して各種アクチュエータ用制御信号を出力する。ランダムアクセスメモリ（ＲＡＭ）７４は、その演算・制御処理過程における一時的なデータ記憶場所として使用される。また、バックアップＲＡＭ７９は、バッテリ（図示せず）に直接接続されることにより電力の供給を受け、イグニションスイッチがオフの状態においても保持されるべきデータ（例えば、各種の学習値）を格納するために使用される。また、これらのＥＣＵ内の各構成要素は、アドレスバス、データバス、及びコントロールバスからなるシステムバス７２によって接続されている。
【００２７】
以上のようなハードウェア構成を有する内燃機関（エンジン）において実行されるＥＣＵ７０のエンジン制御処理について、以下、説明する。
【００２８】
点火時期制御は、クランク角センサ５１から得られるエンジン回転速度及びその他のセンサからの信号により、エンジンの状態を総合的に判定し、最適な点火時期を決定し、駆動制御回路７７ｂを介してイグナイタ６２に点火信号を送るものである。
【００２９】
また、アイドル回転速度制御は、アイドルスイッチ５２からのスロットル全閉信号及び車速センサ５３からの車速信号によってアイドル状態を検出するとともに、水温センサ４４からのエンジン冷却水温度等によって決められる目標回転速度と実際のエンジン回転速度とを比較し、その差に応じて目標回転速度となるように制御量を決定し、駆動制御回路７７ｃを介してＩＳＣＶ６６を制御して空気量を調節することにより、最適なアイドル回転速度を維持するものである。
【００３０】
以下では、本発明を適用する空燃比制御（燃料噴射制御）システム及び本発明によるＡ／Ｆセンサの応答特性の劣化の検出について詳細に説明するために、関連する処理ルーチンの手順を順次示す。
【００３１】
図５は、筒内空気量推定及び目標筒内燃料量算出ルーチンの処理手順を示すフローチャートである。本ルーチンは、所定のクランク角ごとに実行される。まず、本ルーチンの前回までの走行により得られている筒内空気量ＭＣｉ及び目標筒内燃料量ＦＣＲｉを更新する。すなわち、第ｉ（ｉ＝０，１，…，ｎ−１）回前のＭＣｉ及びＦＣＲｉを、第“ｉ＋１”回前のＭＣｉ＋Ｉ及びＦＣＲｉ＋１とする（ステップ１０２）。これは、図６に示されるように、過去ｎ回分の筒内空気量ＭＣｉ及び目標筒内燃料量ＦＣＲｉのデータをＲＡＭ７４内に記憶し、今回新たにＭＣ０及びＦＣＲ０を算出するためである。
【００３２】
次いで、バキュームセンサ４１、クランク角センサ５１、及びスロットル開度センサ４２からの出力に基づいて、現在の吸気管圧力ＰＭ、エンジン回転速度ＮＥ、及びスロットル開度ＴＡを求める（ステップ１０４）。次いで、これらのＰＭ、ＮＥ、及びＴＡのデータより、筒内に供給される空気量ＭＣ０を推定する（ステップ１０６）。なお、一般に、筒内空気量は、吸気管圧力ＰＭ及びエンジン回転速度ＮＥから推定可能であるが、本実施例では、スロットル開度ＴＡの値の変化より過渡状態を検出し、過渡状態においても精密な空気量が算出されるようにしている。
【００３３】
次いで、筒内空気量ＭＣ０及び理論空燃比（ストイキ）ＡＦＴに基づき、
ＦＣＲ０←ＭＣ０／ＡＦＴ
なる演算を実行して、混合気をストイキとするために筒内に供給されるべき目標燃料量ＦＣＲ０を算出する（ステップ１０８）。このようにして算出された筒内空気量ＭＣ０及び目標筒内燃料量ＦＣＲ０は、今回得られた最新のデータとして、図６に示されるような形式でＲＡＭ７４内に記憶される。
【００３４】
次に、空然比フィードバック制御ルーチン及び燃料噴射ルーチンを説明する。図７は、空燃比フィードバック制御ルーチンの処理手順を示すフローチャートである。このルーチンは、所定のクランク角ごとに実行される。まず、フィードバック制御を実行すべき条件が成立するか否かを判定する（ステップ１１２）。例えば、冷却水温が所定値以下の時、機械始動中、始動後増量中、暖機増量中、Ａ／Ｆセンサ４５の出力信号変化がない時、燃料カット中等は、フィードバック制御条件不成立となり、その他の場合は条件成立となる。条件不成立のときには、フィードバック制御による燃料噴射補正量ＦＴを０とし（スッテプ１２４）、本ルーチンを終了する。
【００３５】
フィードバック制御条件成立時には、本ルーチンの前回までの走行により得られている燃料量差（実際に筒内で燃焼せしめられた燃料量と目標筒内燃料量との差）ＦＤ１を更新する。すなわち、第ｉ（ｉ＝０，１，・・・，ｍ−１）回前のＦＤｉを第“ｉ＋１”回前のＦＤｉ＋１とする（ステップ１１４）。これは、過去ｍ回分の燃料量差ＦＤｉのデータをＲＡＭ７４内に記憶し、今回新たに燃料量差ＦＤ０を算出するためである。
【００３６】
次いで、Ａ／Ｆセンサ４５の出力電圧ＶＡＦを検出する（ステップ１１６）。次に、この出力電圧ＶＡＦに基づき図２の特性図を参照することにより、現在の空燃比ＡＢＦを決定する。（ステップ１１８）。なお、図２の特性図は、マップ化されてＲＯＭ７３にあらかじめ格納されている。
【００３７】
次に、筒内空気量推定及び目標筒内燃料算出ルーチンにより既に算出されている筒内空気量ＭＣｎ及び目標筒内燃料量ＦＣＲｎ（図６参照）に基づき、
ＦＤ０  ←  ＭＣｎ／ＡＢＦ−ＦＣＲｎ
なる演算により、実際に筒内で燃焼せしめられた燃料量と目標筒内燃料量との差を求める（ステップ１２０）。なお、このようにｎ回前の筒内空気量ＭＣｎ及び目標筒内燃料量ＦＣＲｎを採用する理由は、現在Ａ／Ｆセンサにより検出されている空燃比と実際の燃焼との時間差を考慮したためである。換言すれば、過去ｎ回分の筒内空気量ＭＣｉ及び目標筒内燃料量ＦＣＲｉを記憶しておく必要があるのは、そのような時間差のためである。
【００３８】
次いで、
ＦＴ  ←  ＫＰ＊ＦＤ０＋Ｋｓ＊ΣＦＤｉ
なる演算により、比例・積分制御（ＰＩ制御）による燃料噴射補正量ＦＴが決定される（ステップ１２２）。なお、右辺第１項はＰＩ制御の比例項であり、ＫＰは比例項ゲインである。また、右辺第２項はＰＩ制御の積分項であり、Ｋｓは積分項ゲインである。
【００３９】
図８は、燃料噴射制御ルーチンの処理手順を示すフローチャートである。このルーチンは、所定のクランク角ごとに実行される。最初に、前述した筒内空気量推定及び目標筒内燃料量算出ルーチンにおいて算出された目標筒内燃料量ＦＣＲ０、及び空燃比フィードバック制御ルーチンにおいて算出された燃料噴射補正量ＦＴに基づき、
ＦＩ  ←  ＦＣＲ０＊α＋ＦＴ＋β
なる演算を実行して、燃料噴出量ＦＩを決定する（ステップ１４２）。なお、α及びβは、他の運転状態パラメータによって定まる乗算補正係数補正量及び加算補正量である。例えば、αには、吸気温センサ４３、水温センサ４４等の各センサからの信号に基づく基本的な補正が含まれ、また、βには、燃料の壁面付着量（過渡運転状態において吸気管圧力の変化に伴い変化する）の変化に基づく補正が含まれている。最後に、求められた燃料噴出量ＦＩを燃料噴射弁６０の駆動制御回路７７ａにセットする（ステップ１４４）。
【００４０】
以上、触媒上流側に設けたＡ／Ｆセンサの出力によってフィードバック制御を行う場合について説明したが、触媒下流側に設けたＯ２センサによるサブ空然比フィードバック制御を行うこともできる。その場合、触媒下流側のＯ２センサ出力に基づいて、触媒上流側のＡ／Ｆセンサの出力電圧ＶＡＦを以下のように補正する。
【００４１】
ＶＡＦ  ←  ＶＡＦ＋ＤＶ
この場合、上記で補正されたＶＡＦの値を用いてその積算値を算出することになる。
【００４２】
さて、本発明は、Ａ／Ｆセンサ出力と目標空燃比とのズレ量から燃料噴射量を補正し空燃比を目標値に制御する空燃比フィードバック制御システムにおいて、Ａ／Ｆセンサの応答特性の劣化を判定する装置を提供するものである。まず、その原理について説明する。
【００４３】
図９（ａ）及び（ｂ）は、現実に測定されるＡ／Ｆセンサ出力電圧ＶＡＦ（実線）と実際のＡ／Ｆに応じて本来出力されるべきＡ／Ｆセンサ出力電圧（実Ａ／Ｆ相当電圧）（破線）との関係を模式的に示している。図９（ａ）はＡ／Ｆセンサが正常な応答特性（高応答特性）を有する場合を示しており、正常な応答特性を有するＡ／Ｆセンサ（高応答Ａ／Ｆセンサ）の出力ＶＡＦは、実Ａ／Ｆ相当電圧にほぼ従った出力となる。図９（ｂ）はＡ／Ｆセンサが劣化した応答特性（低応答特性）を有する場合の一例を示している。劣化した応答特性を有するＡ／Ｆセンサ（低応答Ａ／Ｆセンサ）の出力ＶＡＦ’は、実Ａ／Ｆ相当電圧に対する追従性が悪くなり、例えば、図９（ｂ）に示されるように、高応答Ａ／Ｆセンサの出力ＶＡＦと比較して出力波形の位相が遅れることになる。なお、図９（ａ）では、Ａ／Ｆセンサ出力電圧ＶＡＦと目標電圧（ストイキ相当電圧）ＶＡＦＴとの偏差を振幅ＶＰで表わしている。
【００４４】
空燃比フィードバック制御では、出力電圧ＶＡＦと、理論空然比に対応する目標電圧ＶＡＦＴとの偏差（即ち、ＶＡＦＴを中心としたＶＡＦの振幅ＶＰ）が大きいほど燃料噴射補正量を大きくするように制御される。例えば、筒内空気量ＭＣ０及び理論空然比ＡＦＴに基づき算出された目標筒内燃料量ＦＣＲ０に、吸気温などによる補正を加えた基本燃料量を基準とし、この基本噴射量に対して、実際の排気ガスの空燃比をＡ／Ｆセンサにより計測し、理論空燃比からのずれに応じたフィードバック補正を加える。
【００４５】
図１０（ａ）及び（ｂ）は、燃料噴射量に対するフィードバック補正の一例を示しており、図１０（ｂ）の燃料噴射補正量ＦＴは、上述の基本噴射量に対するフィードバック補正分に相当する。高応答Ａ／Ｆセンサの場合には、実Ａ／Ｆ相当電圧をほぼ正確に反映する出力ＶＡＦに基づいてフィードバック補正が行われるのに対し、低応答Ａ／Ｆセンサの場合には、劣化した応答特性、例えば実Ａ／Ｆ相当電圧よりも位相の遅れた出力ＶＡＦ’に基づいてフィードバック補正が行われることになる。
【００４６】
図１０（ａ）に示されるように、時刻ｔ０からのフィードバック制御をみると、実Ａ／Ｆ相当電圧にほぼ従う高応答Ａ／Ｆセンサの出力ＶＡＦは、リッチ側から徐々に増加し（振幅は減少）、理論空然比ＶＡＦＴを横断して（振幅ゼロ）さらにリーン側に変化している（振幅増加）。そして、高応答Ａ／Ｆセンサの出力ＶＡＦは、時刻ｔ１をすぎた後、再び減少している（振幅減少）。このとき、図１０（ｂ）に示されるように、燃料噴射補正量ＦＴは、所定の補正量に達した後、再び増加する。
【００４７】
一方、低応答Ａ／Ｆセンサの出力ＶＡＦ’は、応答が遅いため、高応答Ａ／Ｆセンサの出力がすでにリッチ側から理論空然比ＶＡＦＴを横切ってリーン側に転じていても、依然としてリーン側で単調増加している（振幅減少）（図１０（ａ）の時間ｔ０〜ｔ１）。従って、図１０（ｂ）に示されるように、本来ならば（即ち、Ａ／Ｆセンサの応答特性が劣化せず、実Ａ／Ｆ相当電圧が正しく反映されていれば）燃料噴射補正量を増加させるべきであるにもかかわらず、燃料噴射補正量ＦＴ’は、適正な補正量を超過してそのまま減少し続けることになる。  従って、このような空燃比制御システムにおいて、用いるＡ／Ｆセンサの応答特性が低下して、フィードバック系が想定するセンサ応答特性を外れた場合、基本噴射量に対して過度に補正が加えられることになる。例えば、図１０（ｂ）に示されるように、低応答Ａ／Ｆセンサを用いた場合の時刻ｔ０からｔ１の間の燃料噴射補正量の変動量ΔＦＴ’は、高応答Ａ／Ｆセンサを用いた場合の燃料噴射補正量の変動量ΔＦＴに比較して大きな値となっている。
【００４８】
このため、フィードバック制御における空燃比の目標値への収束性が悪化し、目標空燃比よりも過度にリッチな状態と過度にリーンな状態とをくりかえすことになる。この時、単位時間（所定時間間隔）当たりの燃料噴射補正量が大きく変動し、Ａ／Ｆセンサの出力ＶＡＦの変動も大きくなる。従って、燃料噴射補正量、あるいはＡ／Ｆセンサ出力に関連する変動量を所定時間にわたって積算した値は、正常な高応答Ａ／Ｆセンサに比べて大きくなるため、このような量を用いてＡ／Ｆセンサの劣化を明確に判定することができる。
【００４９】
以下の記載では、燃料噴射補正量として、基本噴射量に対する補正の割合を表わす燃料噴射量補正率（％）を用いることにし、図１１（ａ）及び（ｂ）を用いてより具体的に説明する。図１１（ａ）はＡ／Ｆセンサ出力の一例を示し、図１１（ｂ）は、上記のようなフィードバック制御による対応する燃料噴射量補正率（％）を示している。低応答特性のＡ／Ｆセンサに対して燃料噴射量補正率ＦＴの変動量ΔＦＴｍを一定時間毎に算出して積算して得られる積算値Ｓ１＝ΣΔＦＴｍは、正常な応答特性を有するＡ／Ｆセンサを用いた場合よりも大きな値になる。尚、図１１（ｂ）では、一定時間間隔を６５ｍｓとした例において、ΔＦＴ１及びΔＦＴ２を示している。
【００５０】
また、Ａ／Ｆセンサの応答特性の劣化を示す指標として、Ａ／Ｆセンサ出力の絶対値を一定時間毎に算出して積算した値、Ａ／Ｆセンサの出力と目標空然比に相当する目標出力との偏差を一定時間毎に算出して積算した値、あるいはＡ／Ｆセンサ出力の変動量を一定時間毎に算出して積算した値を用いることもできる。例えば、図１１（ａ）に示すように、一定時間毎に算出したＡ／Ｆセンサ出力と理論空然比に相当する目標出力ＶＡＦＴとの偏差Ｖｎを所定時間間隔にわたって積算した値Ｓ２＝ΣＶｍ、あるいは、一定時間毎に算出したＡ／Ｆセンサ出力の変動量ΔＶｎを所定時間間隔にわたって積算した値Ｓ３＝ΣΔＶｎも、応答特性の劣化したＡ／Ｆセンサにおいては、正常な応答特性をもったＡ／Ｆセンサを用いた場合に比べて大きくなる。従って、これらの値が所定値を越えた場合に、Ａ／Ｆセンサの特性が劣化したと判断して、Ａ／Ｆセンサの異常を検出することができる。
【００５１】
また、Ａ／Ｆセンサの応答特性の劣化に伴う追従性の低下に着目した場合、所定時間間隔（期間）における燃料噴射量補正率の変動量を、同じ所定期間におけるセンサ出力変動量で割った値Ｐは、Ａ／Ｆセンサの応答特性が劣化するほど大きな値となる。例えば、図１０（ａ）に示すように、低応答Ａ／Ｆセンサを用いた場合の時刻ｔ０から時刻ｔ１の間のＡ／Ｆセンサ出力の変動量ΔＶ’は、高応答Ａ／Ｆセンサを用いた場合の時刻ｔ０から時刻ｔ１の間のＡ／Ｆセンサ出力の変動量ΔＶに比較して小さくなっている。従って、先に図１０（ｂ）を用いて説明した、応答特性の劣化したＡ／Ｆセンサを用いた場合の時刻ｔ０から時刻ｔ１の間の燃料噴射補正量の変動量ΔＦＴ’の積算値ΣΔＦＴ’を対応する変動量ΔＶ’の積算値ΣΔＶ’で割った値Ｐ’は、高応答Ａ／Ｆセンサを用いた場合の燃料噴射補正量の変動量ΔＦＴの積算値ΣΔＦＴを対応する変動量Ｖの積算値ΣΔＶで割った値Ｐよりも大きくなる。このようなＡ／Ｆセンサの応答特性とＰ＝ΣΔＦＴ／ΣΔＶ（Ｐ’＝ΣΔＦＴ’／ΣΔＶ’）との関係を図１２に模式的に示す。従って、値Ｐ＝ΣΔＦＴ／ΣΔＶ（＝Ｓ１／Ｓ３）が所定の値を越えた場合にはセンサの応答特性が低下したものと判断され、Ａ／Ｆセンサの異常を検出できる。
【００５２】
また、Ａ／Ｆセンサの出力波形の幾何学的特徴に注目すると、センサ出力の積算値及びセンサ出力変動量の積算値とを用いてＡ／Ｆセンサの応答特性の劣化を判定できる。図１３（ａ）及び（ｂ）に示すように、Ａ／Ｆセンサ出力変動量の積算値Ｓ３＝ΣΔＶｎは、Ａ／Ｆセンサ出力の変動周波数及び出力振幅の両方に比例する。一方、Ａ／Ｆセンサ出力と理論空然比に相当する出力との偏差Ｖｍの積算値Ｓ２＝ΣＶｍは、出力振幅にほぼ比例するが変動周波数への依存は小さい。従って、Ａ／Ｆセンサ出力と理論空然比に相当する出力との偏差Ｖｍの積算値Ｓ２をＡ／Ｆセンサ出力の変動量積算値Ｓ３で割った値Ｑ＝Ｓ２／Ｓ３＝ΣＶｍ／ΣΔＶｎは、Ａ／Ｆセンサ出力振幅の影響が取り除かれＡ／Ｆセンサ出力の変動周波数に逆比例する。すなわち、この値Ｑ＝ΣＶｍ／ΣΔＶｎは変動周期Ｔ（Ｔ’）に比例する。
【００５３】
図１３（ａ）及び（ｂ）からもわかるように、Ａ／Ｆセンサ出力の変動周期はセンサの持つ応答特性に依存するため、値Ｑ＝ΣＶｍ／ΣΔＶｎ、即ちＡ／Ｆセンサの出力積算値／出力変動積算値は、Ａ／Ｆセンサの応答特性の低下に従って大きな値となる。この関係を図１４に模式的に示す。従って、この値Ｑ＝ΣＶｍ／ΣΔＶｎが所定の値を越えた場合にはＡ／Ｆセンサの応答特性が劣化したと判断し、Ａ／Ｆセンサの異常を判定できる。
【００５４】
また、上述の値Ｐ及びＱは、互いに独立してＡ／Ｆセンサの応答特性と相関を持っており、これらを乗じた下記の式（１）で表わされる積Ｒによってさらに明確な相関を得ることが可能である。
【００５５】
0003607962.tif 000002
従って、積Ｒが所定値を越えた場合にはＡ／Ｆセンサの応答特性が劣化したと判断し、Ａ／Ｆセンサの異常を判定できる。
【００５６】
更に、上記で求めた値のうちのいずれか一つまたはこれらの組み合わせによってＡ／Ｆセンサ出力の特性劣化を判定でき、更に、Ａ／Ｆセンサ出力の特性劣化に起因する空燃比制御性能の低下とその結果生ずる排気エミッションの悪化を早期に検出及び防止することが可能となる。
【００５７】
以下、上記で説明した各値Ｓ１、Ｓ２、Ｓ３、Ｐ、Ｑ及びＲを用いたＡ／Ｆセンサ出力の応答特性劣化の判定を、対応するフローチャートに従ってより詳細に説明する。以下の各実施例で説明する処理は、エンジンＥＣＵ７０（図３）に含まれるＣＰＵ７１（図４）を用いて行う。図４を参照しながら既に詳述したように、各部品やシステム及び各種センサはＡ／Ｄ変換回路７５あるいは入力インターフェース７６を介してＣＰＵ７１に連結されており、これらから与えられる必要な信号に基づいて、以下の処理及び判定が行われる。また、処理に必要なデータや測定値はＲＡＭ７４に蓄積されて用いられる。以下の各実施例によるＡ／Ｆセンサ出力の劣化（異常）判定ルーチンは、所定のクロックに基づいて実行され、所定の周期で繰り返される。
【００５８】
（実施例１）
実施例１においては、上述の燃料噴射量補正率の変動量ΔＦＴの積算Ｓ１＝ΣΔＦＴを用いてＡ／Ｆセンサの応答特性の劣化を判定する場合について説明する。図１５は、実施例１によるＡ／Ｆセンサ出力の劣化判定（異常検出）ルーチンを示すフローチャートである。
【００５９】
図１５に示されるように、まずステップ２０１において、Ａ／Ｆセンサの異常検出を実行すべき前提条件、たとえば、車速が所定範囲内にあること、エンジン回転数が所定範囲内にあること、フィードバック制御が実行中であること、他の部品やシステムの異常による誤検出のおそれが無いこと等が成立するかどうかのチェックを行う。これらの前提条件のチェックは、各センサなどからの入力信号を検出することによって行われる。異常検出を実行するべき条件が成立中であれば次のステップ２０２に進む。前提条件が不成立であれば、前回までの処理の値ΣΔＦＴをクリア（ステップ２１０）した後、異常検出処理のルーチンから抜け出す。
【００６０】
燃料噴射量補正率の変動量ΔＦＴは、所定の時間間隔Ｔ１秒毎に算出される。この時間間隔Ｔ１は、燃料噴射量補正率の変動量の精度を確保するため、十分短い時間である事が必要である。ステップ２０２では、異常検出処理のルーチン周期（所定のクロックタイミング）が、燃料噴射量補正率の変動を算出すべき所定の時間間隔Ｔ１秒毎のタイミングにあるかどうかのチェックを行う。チェックの結果、現在のルーチン周期が時間間隔Ｔ１のタイミングでない時には、何の処理も実行せずに異常検出処理のルーチンから抜け出す。チェックの結果、異常検出処理のルーチン周期がＴ１毎のタイミングにあると判定された時は、次のステップ２０３に進む。
【００６１】
尚、異常検出処理のルーチン周期が燃料噴射量補正率の変動を算出すべき時間間隔Ｔ１秒毎のタイミングに等しく設定されている場合には、ステップ２０２は不要となる。ただし、異常検出処理のルーチン周期は燃料噴射量補正率の変動量ΔＦＴを算出すべき時間間隔Ｔ１以下であることが必要である。
【００６２】
ステップ２０３では、ステップ２０１において異常検出処理の実行のための前提条件が不成立の状態から成立の状態に移行したと確認された後、Ｔ２秒以上経過しているかどうかをチェックする。燃料噴射量補正率の変動量ΔＦＴを時間間隔Ｔ１毎に算出するにあたり、前提条件（ステップ２０１）が成立している場合の燃料噴射量補正率の値のみを用いることにより、正確な算出データを得ることができる。更に、前提条件が不成立の状態である時の影響を除いて燃料噴射量補正率の変動量ΔＦＴの積算データの精度を確保するために、前提条件成立後Ｔ２秒以上経過してから燃料噴射量補正率の変動量ΔＦＴの積算を実行することが望ましい。また、Ｔ２は少なくとも燃料噴射量補正率の変動量ΔＦＴを積算すべき時間周期Ｔ１以上とするのが望ましい（即ち、Ｔ１≦Ｔ２）。前提条件成立後の経過時間がＴ２秒未満の場合には、ステップ２０９の処理を実行（現在の燃料噴射補正率ＦＴを記憶）し、異常検出処理ルーチンから抜け出す。前提条件成立後の経過時間がＴ２秒以上の場合には、次のステップ２０４に進む。
【００６３】
ステップ２０４では、これまでの処理においてステップ２０９で記憶していたＴ１秒前の燃料噴射量補正率の値（ＦＴｍ−１とする）と現在の燃料噴射量補正率の値（ＦＴｍとする）との差の絶対値ΔＦＴｍ＝｜ＦＴｍ−ＦＴｍ−１｜を算出し、前回までの積算値（ΔＦＴｍ−１迄の積算値）に加算し、積算値ΣΔＦＴを更新する。ステップ２０１〜２０３が成立した後、初めてステップ２０４の処理を実行する場合は、「前回までの積算値」として初期値（＝０）を用いる（ステップ２０１不成立時の処理）。
【００６４】
ステップ２０５では、ステップ２０４で実行した「積算」処理の実行回数ｍをカウントする。これまでに積算が実行された回数をｍとすると、ｍ×Ｔ１が燃料噴射量補正率変動量の積算が行われた時間（これまでの積算実行時間）Ｔｓとなる。積算を実行すべき回数をＭ（後述のステップ２０６において判断される）とすると、Ｍ×Ｔ１が燃料噴射量補正率変動量の積算を行なうべき所定の時間間隔（積算実行時間）ＴΣとなる。あるいは、ステップ２０３の条件（Ｔ２以上経過）が成立した後の継続時間Ｔｃｏｎｔを計測することにより、この所定の時間間隔を管理してもよい。フィードバック補正による燃料噴射量補正率の変動周期に比べて十分に長い時間に渡って積算が実行されるように、積算実行回数Ｍ（積算実行時間ＴΣ）、あるいは、ステップ２０３の条件が成立した後に継続すべき継続時間ＴΣ’を設定する。
【００６５】
ステップ２０６では、ステップ２０５でカウントされた積算実行回数の積算値ｍが、上述の所定の積算実行回数Ｍ以上であるかどうかのチェックを行う。あるいは、積算実行回数ｍの代わりに継続時間Ｔｃｏｎｔによって積算実行時間ＴΣを管理する場合は、ステップ２０６ではステップ２０３の条件成立後の継続時間Ｔｃｏｎｔが所定の積算実行時間ＴΣ’以上であるかどうかのチェックを行う。
【００６６】
ここで、燃料噴射量補正率変動量の積算実行時間ＴΣは必ずしも連続した時間間隔である必要は無い。例えば、燃料噴射量補正率変動量の積算実行時間Ｔｓが所定の値ＴΣに達する前にステップ２０１の条件が不成立となった場合、燃料噴射量補正率変動量ΔＦＴの積算値ΣΔＦＴや積算実行時間Ｔｓ（積算実行回数ｍ、あるいはステップ２０３の条件成立後の継続時間Ｔｃｏｎｔ）をクリアせずに記憶しておき、ステップ２０１〜２０３における条件が再び成立した後に、これらの処理を再開し、燃料噴射量補正率変動量ΔＦＴの積算処理や、積算実行回数ｍあるいはステップ２０３の条件成立後の継続時間Ｔｃｏｎｔのカウントを続行しても良い。尚、このような再開・継続処理については後に詳述する。ステップ２０６の条件が成立した時（所定時間間隔ＴΣに対する積算が実行された後）はステップ２０７に進む。ステップ２０６の条件が不成立時はステップ２０９の処理のみを実行（現在の燃料噴射補正率ＦＴを記憶）して異常検出処理ルーチンから抜け出す。
【００６７】
ステップ２０７においては、それまでに積算された燃料噴射量補正率変動量の積算値ΣΔＦＴが、あらかじめ設定した所定の判定値ΣΔＦＴ（ｔｈ）を越えたかどうかをチェックする。ΣΔＦＴが判定値ΣΔＦＴ（ｔｈ）を越えていない場合はＡ／Ｆセンサの特性は正常であると判断し（ステップ２０８ｂ）、越えている場合にはＡ／Ｆセンサの特性が劣化したとして異常と判断する（ステップ２０８ａ）。Ａ／Ｆセンサが異常であると判断された場合には、インスツルメントパネル内の異常警告表示を点灯する等の処理をおこなう。
【００６８】
（実施例２）
実施例２においては、上述のＡ／Ｆセンサ出力と理論空然比に相当する出力との偏差（Ａ／Ｆセンサ出力の絶対値Ｖ）の積算値Ｓ２＝ΣＶを用いてＡ／Ｆセンサの応答特性の劣化を判定する場合について説明する。図１６は、実施例２によるＡ／Ｆセンサ出力の劣化判定（異常検出）ルーチンを示すフローチャートである。
【００６９】
図１６に示されるように、まずステップ３０１において、Ａ／Ｆセンサの異常検出を実行すべき前提条件、たとえば、車速が所定範囲内にあること、エンジン回転数が所定範囲内にあること、フィードバック制御が実行中であること、他の部品やシステムの異常による誤検出のおそれが無いこと等が成立するかどうかのチェックを行う。これらの前提条件のチェックは、各センサなどからの入力信号を検出することによって行われる。異常検出を実行するべき前提条件が成立中であれば次のステップ３０２に進む。前提条件が不成立であれば、前回までの処理の値ΣＶをクリア（ステップ３１０）した後、異常検出処理のルーチンから抜け出す。
【００７０】
Ａ／Ｆセンサ出力の絶対値は、所定の時間間隔Ｔ１秒毎に算出される。この時間間隔Ｔ１は、出力積算値ΣＶの精度を確保するため、Ａ／Ｆセンサ出力の変動周期に比べて十分に短い時間である事が必要である。出力ステップ３０２では、異常検出処理のルーチン周期（所定のクロックタイミング）が、Ａ／Ｆセンサ出力の絶対値Ｖを算出すべき所定の時間間隔Ｔ１秒毎のタイミングにあるかどうかのチェックを行う。チェックの結果、現在のルーチン周期が時間間隔Ｔ１のタイミングでない時には、何の処理も実行せずに異常検出処理のルーチンから抜け出す。チェックの結果、異常検出処理のルーチン周期がＴ１秒毎のタイミングにあると判定された時は、次のステップ３０３に進む。
【００７１】
尚、異常検出処理のルーチン周期がＡ／Ｆセンサ出力の絶対値Ｖを算出すべき時間間隔Ｔ１秒毎のタイミングに等しく設定されている場合には、ステップ３０２は不要となる。ただし、異常検出処理のルーチン周期はＡ／Ｆセンサ出力の絶対値Ｖを算出すべき時間間隔Ｔ１以下であることが必要である。
【００７２】
ステップ３０３では、ステップ３０１において異常検出処理実行のための前提条件が不成立の状態から成立の状態に移行したと確認された後、Ｔ２秒以上経過しているかどうかをチェックする。前提条件が不成立の状態である時の影響を除いてＡ／Ｆセンサ出力絶対値Ｖの積算データの精度を確保するために、前提条件成立後Ｔ２秒以上経過してからＡ／Ｆセンサ出力絶対値Ｖの積算を実行することが望ましい。また、Ｔ２は少なくともＡ／Ｆセンサの出力の絶対値Ｖを積算すべき時間周期Ｔ１以上とするのが望ましい（即ち、Ｔ１≦Ｔ２）。前提条件成立後の経過時間がＴ２秒未満の場合には、異常検出処理ルーチンから抜け出す。前提条件成立後の経過時間がＴ２秒以上の場合には、次のステップ３０４に進む。
【００７３】
ステップ３０４では、現在のＡ／Ｆセンサ出力の絶対値Ｖを算出し、前回までの積算値ΣＶに加えて積算値を更新する。この積算処理において、理論空燃比におけるＡ／Ｆセンサ出力がゼロでない場合、例えば、理論空燃比におけるＡ／Ｆセンサ出力に一定のオフセットを設けている場合等にはこのオフセット値を除いて積算を行う。また、空燃比の制御目標が理論空燃比ではない場合には、目標空燃比からのズレ量の絶対値を積算する等とする。尚、ステップ３０１〜３０３が成立した後、初めてステップ３０４の処理を実行する場合は、「前回までの積算値」として初期値（＝０）を用いる（ステップ３０１不成立時の処理）。
【００７４】
ステップ３０５では、ステップ３０４で実行した「積算」処理の実行回数ｍをカウントする。これまでに積算が実行された回数をｍとすると、ｍ×Ｔ１がＡ／Ｆセンサ出力の絶対値Ｖの積算が行われた時間（これまでの積算実行時間）Ｔｓとなる。積算を実行すべき回数をＭ（後述のステップ３０６において判断される）とすると、Ｍ×Ｔ１がＡ／Ｆセンサ出力の絶対値Ｖの積算を行なうべき所定の時間間隔（積算実行時間）ＴΣとなる。あるいは、ステップ３０３の条件（Ｔ２以上経過）が成立した後の継続時間Ｔｃｏｎｔを計測することにより、この所定の時間間隔を管理してもよい。フィードバック補正によるＡ／Ｆセンサ出力の変動周期に比べて十分に長い時間に渡って積算が実行されるように、積算実行回数Ｍ（積算実行時間ＴΣ）、あるいは、ステップ３０３の条件が成立した後に継続すべき継続時間ＴΣ’を設定する。
【００７５】
ステップ３０６では、ステップ３０５でカウントされた積算実行回数の積算値ｍが、上述の所定の積算実行回数Ｍ以上であるかどうかのチェックを行う。あるいは、積算実行回数ｍの代わりに継続時間Ｔｃｏｎｔによって積算実行時間ＴΣを管理する場合は、ステップ３０６ではステップ３０３の条件成立後の継続時間Ｔｃｏｎｔが所定の積算実行時間ＴΣ’以上であるかどうかのチェックを行う。
【００７６】
ここで、Ａ／Ｆセンサ出力の絶対値Ｖの積算実行時間ＴΣは必ずしも連続した時間間隔である必要は無い。例えば、Ａ／Ｆセンサ出力の絶対値Ｖの積算実行時間Ｔｓが所定の値ＴΣに達する前にステップ３０１の条件が不成立となった場合、Ａ／Ｆセンサ出力の絶対値Ｖの積算値ΣＶや積算実行時間Ｔｓ（積算実行回数ｍ、あるいはステップ３０３の条件成立後の継続時間Ｔｃｏｎｔ）をクリアせずに記憶しておき、ステップ３０１〜３０３における条件が再び成立した後に、これらの処理を再開し、Ａ／Ｆセンサ出力の絶対値Ｖの積算処理や、積算実行回数ｍあるいはステップ３０３の条件成立後の継続時間Ｔｃｏｎｔのカウントを続行しても良い。ステップ３０６の条件が成立した時（所定時間間隔ＴΣに対する積算が実行された後）はステップ３０７に進む。ステップ３０６の条件が不成立時には異常検出処理ルーチンから抜け出す。
【００７７】
ステップ３０７においては、それまでに積算されたＡ／Ｆセンサ出力の絶対値Ｖの積算値ΣＶが、あらかじめ設定した所定の判定値ΣＶ（ｔｈ）を越えたかどうかをチェックする。ΣＶが判定値ΣＶ（ｔｈ）を越えていない場合はＡ／Ｆセンサの特性は正常であると判断し（ステップ３０８ｂ）、越えている場合にはＡ／Ｆセンサの特性が劣化したとして異常と判断する（ステップ３０８ａ）。Ａ／Ｆセンサが異常であると判断された場合には、インスツルメントパネル内の異常警告表示を点灯する等の処理をおこなう。
【００７８】
尚、本実施例においては、Ｔ１秒前のＡ／Ｆセンサ出力との差ΔＶや、Ｔ１秒前の燃料噴射量補正率との差ΔＦＴを算出する必要がないため、他の実施例のように、異常検出ルーチンを抜け出す前に現在のＡ／Ｆセンサの出力を記憶しておく必要がない。
【００７９】
（実施例３）
実施例３においては、上述のＡ／Ｆセンサ出力の変動量ΔＶの積算Ｓ３＝ΣΔＶを用いてＡ／Ｆセンサの応答特性の劣化を判定する場合について説明する。図１７は、実施例３によるＡ／Ｆセンサ出力の劣化判定（異常検出）ルーチンを示すフローチャートである。
【００８０】
図１７に示されるように、まずステップ４０１において、Ａ／Ｆセンサの異常検出を実行すべき前提条件、たとえば、車速が所定範囲内にあること、エンジン回転数が所定範囲内にあること、フィードバック制御が実行中であること、他の部品やシステムの異常による誤検出のおそれが無いこと等が成立するかどうかのチェックを行う。これらの前提条件のチェックは、各センサなどからの入力信号を検出することによって行われる。異常検出を実行すべき前提条件が成立中であれば次のステップ４０２に進む。前提条件が不成立であれば、前回までの処理の値ΣΔＶをクリア（ステップ４１０）した後、異常検出処理のルーチンから抜け出す。
【００８１】
Ａ／Ｆセンサ出力の変動ΔＶは、所定の時間間隔Ｔ１秒毎に算出される。この時間間隔Ｔ１は、変動量積算値ΣΔＶの精度を確保するため、Ａ／Ｆセンサ出力の変動周期に比べて十分に短い時間である事が必要である。ステップ４０２では、異常検出処理のルーチン周期（所定のクロックタイミング）が、Ａ／Ｆセンサ出力の変動ΔＶを算出すべき所定の時間間隔Ｔ１秒毎のタイミングにあるかどうかのチェックを行う。チェックの結果、現在のルーチン周期が時間間隔Ｔ１のタイミングでない時には、何の処理も実行せずに異常検出処理のルーチンから抜け出す。チェックの結果、異常検出処理のルーチン周期がＴ１秒毎のタイミングにあると判定された時は、次のステップ４０３に進む。
【００８２】
尚、異常検出処理のルーチン周期がＡ／Ｆセンサ出力の変動ΔＶを算出すべき時間間隔Ｔ１秒毎のタイミングに等しく設定されている場合には、ステップ４０２は不要となる。ただし、異常検出処理のルーチン周期はＡ／Ｆセンサ出力の変動ΔＶを算出すべき時間間隔Ｔ１以下であることが必要である。
【００８３】
ステップ４０３では、ステップ４０１において異常検出処理実行のための前提条件が不成立の状態から成立の状態に移行したと確認された後、Ｔ２秒以上経過しているかどうかをチェックする。前提条件が不成立の状態である時の影響を除いてＡ／Ｆセンサ出力の変動ΔＶの積算データの精度を確保するために、前提条件成立後Ｔ２秒以上経過してからＡ／Ｆセンサ出力の変動ΔＶの積算を実行することが望ましい。また、Ｔ２は少なくともＡ／Ｆセンサの出力の変動ΔＶを積算すべき時間周期Ｔ１以上とするのが望ましい（即ち、Ｔ１≦Ｔ２）。前提条件成立後の経過時間がＴ２秒未満の場合には、ステップ４０９の処理を実行（現在のＡ／Ｆセンサの出力を記憶）し、異常検出処理ルーチンから抜け出す。前提条件成立後の経過時間がＴ２秒以上の場合には、次のステップ４０４に進む。
【００８４】
ステップ４０４では、これまでの処理においてステップ４０９で記憶していたＴ１秒前のＡ／Ｆセンサ出力（Ｖｍ−１とする）と現在のＡ／Ｆセンサ出力（Ｖｍとする）との差の絶対値ΔＶｍ＝｜Ｖｍ−Ｖｍ−１｜を算出し、前回までの積算値（ΔＶｍ−１迄の積算値）に加算し、積算値ΣΔＶを更新する。ステップ４０１〜４０３が成立した後、初めてステップ４０４の処理を実行する場合は、「前回までの積算値」として初期値（＝０）を用いる（ステップ４０１不成立時の処理）。
【００８５】
ステップ４０５では、ステップ４０４で実行した「積算」処理の実行回数ｍをカウントする。これまでに積算が実行された回数をｍとすると、ｍ×Ｔ１がＡ／Ｆセンサ出力の変動ΔＶの積算が行われた時間（これまでの積算実行時間）Ｔｓとなる。積算を実行すべき回数をＭ（後述のステップ４０６において判断される）とすると、Ｍ×Ｔ１がＡ／Ｆセンサ出力の変動ΔＶの積算を行なうべき所定の時間間隔（積算実行時間）ＴΣとなる。あるいは、ステップ４０３の条件（Ｔ２以上経過）が成立した後の継続時間Ｔｃｏｎｔを計測することにより、この所定の時間間隔を管理してもよい。フィードバック補正によるＡ／Ｆセンサ出力の変動周期に比べて十分に長い時間に渡って積算が実行されるように、積算実行回数Ｍ（積算実行時間ＴΣ）、あるいはステップ４０３の条件が成立した後に継続すべき継続時間ＴΣ’を設定する。
【００８６】
ステップ４０６では、ステップ４０５でカウントされた積算実行回数の積算値ｍが、上述の所定の積算実行回数Ｍ以上であるかどうかのチェックを行う。あるいは、積算実行回数ｍの代わりに継続時間Ｔｃｏｎｔによって積算実行時間ＴΣを管理する場合は、ステップ４０６ではステップ４０３の条件成立後の継続時間Ｔｃｏｎｔが所定の積算実行時間ＴΣ’以上であるかどうかのチェックを行う。
【００８７】
ここで、Ａ／Ｆセンサ出力の変動ΔＶの積算実行時間ＴΣは必ずしも連続した時間間隔である必要は無い。例えば、Ａ／Ｆセンサ出力の変動ΔＶの積算実行時間Ｔｓが所定の値ＴΣに達する前にステップ４０１の条件が不成立となった場合、Ａ／Ｆセンサ出力の変動ΔＶの積算値ΣΔＶや積算実行時間Ｔｓ（積算実行回数ｍ、あるいはステップ４０３の条件成立後の継続時間Ｔｃｏｎｔ）をクリアせずに記憶しておき、ステップ４０１〜４０３における条件が再び成立した後に、これらの処理を再開し、Ａ／Ｆセンサ出力の変動ΔＶの積算や、積算実行回数ｍあるいはステップ４０３の条件成立後の継続時間Ｔｃｏｎｔのカウントを続行しても良い。ステップ４０６の条件が成立した時（所定時間間隔ＴΣに対する積算が実行された後）はステップ４０７に進む。ステップ４０６の条件が不成立時はステップ４０９の処理のみを実行（現在のＡ／Ｆセンサ出力を記憶）して異常検出処理ルーチンから抜け出す。
【００８８】
ステップ４０７においては、それまでに積算されたＡ／Ｆセンサ出力の変動量ΣΔＶが、あらかじめ設定した所定の判定値ΣΔＶ（ｔｈ）を越えたかどうかをチェックする。ΣΔＶが判定値ΣΔＶ（ｔｈ）を越えていない場合はＡ／Ｆセンサの特性は正常であると判断し（ステップ４０８ｂ）、越えている場合にはＡ／Ｆセンサの特性が劣化したとして異常と判断する（ステップ４０８ａ）。Ａ／Ｆセンサが異常であると判断された場合には、インスツルメントパネル内の異常警告表示を点灯する等の処理をおこなう。
【００８９】
（実施例４）
実施例４においては、上述の燃料噴射量補正率の変動ΔＦＴの積算Ｓ１＝ΣΔＦＴ及びＡ／Ｆセンサ出力の変動量ΔＶの積算Ｓ３＝ΣΔＶを用いてＡ／Ｆセンサの応答特性の劣化を判定する場合について説明する。図１８は、実施例４によるＡ／Ｆセンサ出力の劣化判定（異常検出）ルーチンを示すフローチャートである。
【００９０】
図１８に示されるように、まずステップ５０１において、Ａ／Ｆセンサの異常検出を実行すべき前提条件、たとえば、車速が所定範囲内にあること、エンジン回転数が所定範囲内にあること、フィードバック制御が実行中であること、他の部品やシステムの異常による誤検出のおそれが無いこと等が成立するかどうかのチェックを行う。これらの前提条件のチェックは、各センサなどからの入力信号を検出することによって行われる。異常検出を実行するべき前提条件が成立中であれば次のステップ５０２に進む。前提条件が不成立であれば、前回までの処理の値ΣΔＦＴ及びΣΔＶをクリア（ステップ５１３）した後、異常検出処理のルーチンから抜け出す。
【００９１】
燃料噴射量補正率の変動ΔＦＴ及びＡ／Ｆセンサ出力の変動ΔＶは、所定の時間間隔Ｔ１秒毎に算出される。この時間間隔Ｔ１は、燃料噴射量補正率の変動ΔＦＴ及びＡ／Ｆセンサ出力の変動ΔＶの積算値の精度を確保するため、Ａ／Ｆセンサ出力の変動周期に比べて十分に短い時間である事が必要である。ステップ５０２では、異常検出処理のルーチン周期（所定のクロックタイミング）が、燃料噴射量補正率の変動ΔＦＴ及びＡ／Ｆセンサ出力の変動ΔＶを算出すべき所定の時間間隔Ｔ１秒毎のタイミングにあるかどうかのチェックを行う。チェックの結果、現在のルーチン周期が時間間隔Ｔ１のタイミングでない時には、何の処理も実行せずに異常検出処理のルーチンから抜け出す。チェックの結果、異常検出処理のルーチン周期がＴ１秒毎のタイミングにあると判定された時は、次のステップ５０３に進む。
【００９２】
尚、異常検出処理のルーチン周期が燃料噴射量補正率の変動ΔＦＴ及びＡ／Ｆセンサ出力の変動ΔＶを算出すべき時間間隔Ｔ１秒毎のタイミングに等しく設定されている場合には、ステップ５０２は不要となる。ただし、異常検出処理のルーチン周期は燃料噴射量補正率の変動ΔＦＴ及びＡ／Ｆセンサ出力の変動ΔＶを算出すべき時間間隔Ｔ１以下であることが必要である。
【００９３】
ステップ５０３では、ステップ５０１において異常検出処理実行のための前提条件が不成立の状態から成立の状態に移行したと確認された後、Ｔ２秒以上経過しているかどうかをチェックする。前提条件が不成立の状態である時の影響を除き、燃料噴射量補正率の変動ΔＦＴの積算データ及びＡ／Ｆセンサ出力の変動ΔＶの積算データの精度を確保するために、前提条件成立後Ｔ２秒以上経過してから燃料噴射量補正率の変動ΔＦＴ及びＡ／Ｆセンサ出力の変動ΔＶの積算を実行することが望ましい。また、Ｔ２は、少なくとも燃料噴射量補正率の変動ΔＦＴ及びＡ／Ｆセンサの出力の変動ΔＶを積算すべき時間周期Ｔ１以上とするのが望ましい（即ち、Ｔ１≦Ｔ２）。前提条件成立後の経過時間がＴ２秒未満の場合には、ステップ５１１の処理（現在の燃料噴射量補正率の記憶）及びステップ５１２の処理（現在のＡ／Ｆセンサの出力の記憶）を実行し、異常検出処理ルーチンから抜け出す。前提条件成立後の経過時間がＴ２秒以上の場合には、次のステップ５０４に進む。
【００９４】
ステップ５０４では、これまでの処理においてステップ５１１で記憶していたＴ１秒前の燃料噴射量補正率の値（ＦＴｍ−１とする）と現在の燃料噴射量補正率の値（ＦＴｍとする）との差の絶対値ΔＦＴｍ＝｜ＦＴｍ−ＦＴｍ−１｜を算出し、前回までの積算値（ΔＦＴｍ−１迄の積算値）に加算することにより、積算値Σ△ＦＴを更新する。ステップ５０１〜５０３が成立した後、初めてステップ５０４の処理を実行する場合は、「前回までの積算値」として初期値（＝０）を用いる（ステップ５０１不成立時の処理）。
【００９５】
ステップ５０５では、これまでの処理においてステップ５１２で記憶していたＴ１秒前のＡ／Ｆセンサ出力（Ｖｍ−１とする）と現在のＡ／Ｆセンサ出力（Ｖｍとする）との差の絶対値ΔＶｍ＝｜Ｖｍ−Ｖｍ−１｜を算出し、前回までの積算値（ΔＶｍ−１迄の積算値）に加算し、積算値ΣΔＶを更新する。ステップ５０１〜５０３が成立した後、初めてステップ５０５の処理を実行する場合は、「前回までの積算値」として初期値（＝０）を用いる（ステップ５０１不成立時の処理）。
【００９６】
ステップ５０６では、ステップ５０４及び５０５で実行した「積算」処理の実行回数ｍをカウントする。これまでに積算が実行された回数をｍとすると、ｍ×Ｔ１が燃料噴射量補正率の変動ΔＦＴ及びＡ／Ｆセンサ出力の変動ΔＶの積算が行われた時間（これまでの積算実行時間）Ｔｓとなる。積算を実行すべき回数をＭ（後述のステップ５０７において判断される）とすると、Ｍ×Ｔ１が燃料噴射量補正率の変動ΔＦＴ及びＡ／Ｆセンサ出力の変動ΔＶの積算を行なうべき所定の時間間隔（積算実行時間）ＴΣとなる。あるいは、ステップ５０３の条件（Ｔ２以上経過）が成立した後の継続時間Ｔｃｏｎｔを計測することにより、この所定の時間間隔を管理してもよい。フィードバック補正による燃料噴射量補正率の変動周期及びＡ／Ｆセンサ出力の変動周期に比べて十分に長い時間に渡って積算が実行されるように、積算実行回数Ｍ（積算実行時間ＴΣ）、あるいはステップ５０３の条件が成立した後に継続すべき継続時間ＴΣ’を設定する。
【００９７】
ステップ５０７では、ステップ５０６でカウントされた積算実行回数の積算値ｍが、上述の所定の積算実行回数Ｍ以上であるかどうかのチェックを行う。あるいは、積算実行回数ｍの代わりに継続時間Ｔｃｏｎｔによって積算実行時間ＴΣを管理する場合は、ステップ５０７ではステップ５０３の条件成立後の継続時間Ｔｃｏｎｔが所定の積算実行時間ＴΣ’以上であるかどうかのチェックを行う。ここで、燃料噴射量補正率の変動ΔＦＴ及びＡ／Ｆセンサ出力の変動ΔＶの積算実行時間ＴΣは、必ずしも連続した時間間隔である必要は無い。例えば、燃料噴射量補正率の変動ΔＦＴ及びＡ／Ｆセンサ出力の変動ΔＶの積算実行時間Ｔｓが所定の値ＴΣに達する前にステップ５０１の条件が不成立となった場合、燃料噴射量補正率の変動ΔＦＴの積算値ΣΔＦＴ、Ａ／Ｆセンサ出力の変動ΔＶの積算値ΣΔＶ、積算実行時間Ｔｓ（積算実行回数ｍ、あるいはステップ５０３の条件成立後の継続時間Ｔｃｏｎｔ）などをクリアせずに記憶しておく。そして、ステップ５０１〜５０３における条件が再び成立した後に、これらの処理を再開し、燃料噴射量補正率の変動ΔＦＴ及びＡ／Ｆセンサ出力の変動ΔＶの積算や、積算実行回数ｍあるいはステップ５０３の条件成立後の継続時間Ｔｃｏｎｔのカウントを続行しても良い。ステップ５０６の条件が成立した時（所定時間間隔ＴΣに対するそれぞれの積算処理が実行された後）はステップ５０８に進む。ステップ５０７の条件が不成立の時はステップ５１１の処理（現在の燃料噴射量補正率ＦＴを記憶）及び５１２の処理（現在のＡ／Ｆセンサ出力を記憶）のみを実行して異常検出処理ルーチンから抜け出す。
【００９８】
ステップ５０８では、それまでの処理によって得られた積算された燃料噴射量補正率変動量ΣΔＦＴと積算されたＡ／Ｆセンサ出力の変動量ΣΔＶとの比Ｐ＝ΣΔＦＴ／ΣΔＶを算出する。
【００９９】
ステップ５０９においては、ステップ５０８で求めた比Ｐ＝ΣΔＦＴ／ΣΔＶが、あらかじめ設定した所定の判定値Ｐｔｈを越えたかどうかをチェックする。比Ｐが判定値Ｐｔｈを越えていない場合はＡ／Ｆセンサの特性は正常であると判断し（ステップ５１０ｂ）、越えている場合にはＡ／Ｆセンサの特性が劣化したとして異常と判断する（ステップ５１０ａ）。Ａ／Ｆセンサが異常であると判断された場合には、インスツルメントパネル内の異常警告表示を点灯する等の処理をおこなう。
【０１００】
尚、比Ｐ＝ΣΔＦＴ／ΣΔＶを所定の判定値Ｐｔｈと比較する際には、あらかじめ正常な特性を持ったＡ／Ｆセンサにおける比ΣΔＦＴ／ΣΔＶの標準値Ｐ０を求めておき、その標準値Ｐ０に対する測定値Ｐの比率が所定の判定値を越えたかどうかをチェックする等としても良い。
【０１０１】
（実施例５）
実施例５においては、上述のＡ／Ｆセンサ出力の絶対値Ｖの積算Ｓ２＝ΣＶ及びＡ／Ｆセンサ出力の変動量ΔＶの積算Ｓ３＝ΣΔＶを用いてＡ／Ｆセンサの応答特性の劣化を判定する場合について説明する。図１９は、実施例５によるＡ／Ｆセンサ出力の劣化判定（異常検出）ルーチンを示すフローチャートである。
【０１０２】
図１９に示されるように、まずステップ６０１において、Ａ／Ｆセンサの異常検出を実行すべき前提条件、たとえば、車速が所定範囲内にあること、エンジン回転数が所定範囲内にあること、フィードバック制御が実行中であること、他の部品やシステムの異常による誤検出のおそれが無いこと等が成立するかどうかのチェックを行う。これらの前提条件のチェックは、各センサなどからの入力信号を検出することによって行われる。異常検出を実行するべき前提条件が成立中であれば次のステップ６０２に進む。前提条件が不成立であれば、前回までの処理の値ΣＶ及びΣΔＶをクリア（ステップ６１２）した後、異常検出処理のルーチンから抜け出す。
【０１０３】
Ａ／Ｆセンサ出力の絶対値Ｖ及びＡ／Ｆセンサ出力の変動ΔＶは、所定の時間間隔Ｔ１秒毎に算出される。この時間間隔Ｔ１は、出力積算値ΣＶの精度を確保するため、Ａ／Ｆセンサ出力の変動周期に比べて十分に短い時間である事が必要である。ステップ６０２では、異常検出処理のルーチン周期（所定のクロックタイミング）が、Ａ／Ｆセンサ出力の絶対値Ｖ及びＡ／Ｆセンサ出力の変動ΔＶを算出すべき所定の時間間隔Ｔ１秒毎のタイミングにあるかどうかのチェックを行う。チェックの結果、現在のルーチン周期が時間間隔Ｔ１のタイミングでない時には、何の処理も実行せずに異常検出処理のルーチンから抜け出す。チェックの結果、異常検出処理のルーチン周期がＴ１秒毎のタイミングにあると判定された時は、次のステップ６０３に進む。
【０１０４】
尚、異常検出処理のルーチン周期がＡ／Ｆセンサ出力の絶対値Ｖ及びＡ／Ｆセンサ出力の変動ΔＶを算出すべき時間間隔Ｔ１秒毎のタイミングに等しく設定されている場合には、ステップ６０２は不要となる。ただし、異常検出処理のルーチン周期はＡ／Ｆセンサ出力の絶対値Ｖ及びＡ／Ｆセンサ出力の変動ΔＶを算出すべき時間間隔Ｔ１以下であることが必要である。
【０１０５】
ステップ６０３では、ステップ６０１において異常検出処理実行のための前提条件が不成立の状態から成立の状態に移行したと確認された後、Ｔ２秒以上経過しているかどうかをチェックする。前提条件が不成立の状態である時の影響を除き、Ａ／Ｆセンサ出力の絶対値Ｖの積算データ及びＡ／Ｆセンサ出力の変動ΔＶの積算データの精度を確保するために、前提条件成立後Ｔ２秒以上経過してからＡ／Ｆセンサ出力の絶対値Ｖ及びＡ／Ｆセンサ出力の変動ΔＶの積算を実行することが望ましい。また、Ｔ２は、少なくともＡ／Ｆセンサ出力の絶対値Ｖ及びＡ／Ｆセンサの出力の変動ΔＶを積算すべき時間周期Ｔ１以上とするのが望ましい（即ち、Ｔ１≦Ｔ２）。前提条件成立後の経過時間がＴ２秒未満の場合には、ステップ６１１の処理（現在のＡ／Ｆセンサの出力の記憶）を実行し、異常検出処理ルーチンから抜け出す。前提条件成立後の経過時間がＴ２秒以上の場合には、次のステップ６０４に進む。
【０１０６】
ステップ６０４では、現在のＡ／Ｆセンサ出力の絶対値Ｖを算出し、前回までの積算値ΣＶに加えて積算値を更新する。この積算処理において、理論空燃比におけるＡ／Ｆセンサ出力がゼロでない場合、例えば、理論空燃比におけるＡ／Ｆセンサ出力に一定のオフセットを設けている場合等にはこのオフセット値を除いて積算を行う。また、空燃比の制御目標が理論空燃比ではない場合には、目標空燃比からのズレ量の絶対値を積算する等とする。尚、ステップ６０１〜６０３が成立した後、初めてステップ６０４の処理を実行する場合は、「前回までの積算値」として初期値（＝０）を用いる（ステップ６０１不成立時の処理）。
【０１０７】
ステップ６０５では、これまでの処理においてステップ６１１で記憶していたＴ１秒前のＡ／Ｆセンサ出力（Ｖｍ−１とする）と現在のＡ／Ｆセンサ出力（Ｖｍとする）との差の絶対値ΔＶｍ＝｜Ｖｍ−Ｖｍ−１｜を算出し、前回までの積算値（ΔＶｍ−１迄の積算値）に加算し、積算値ΣΔＶを更新する。ステップ６０１〜６０３が成立した後、初めてステップ６０５の処理を実行する場合は、「前回までの積算値」として初期値（＝０）を用いる（ステップ６０１不成立時の処理）。
【０１０８】
ステップ６０６では、ステップ６０４及び６０５で実行した「積算」処理の実行回数ｍをカウントする。これまでに積算が実行された回数をｍとすると、ｍ×Ｔ１がＡ／Ｆセンサ出力の絶対値Ｖ及びＡ／Ｆセンサ出力の変動ΔＶの積算が行われた時間（これまでの積算実行時間）Ｔｓとなる。積算を実行すべき回数をＭ（後述のステップ６０７において判断される）とすると、Ｍ×Ｔ１がＡ／Ｆセンサ出力の絶対値Ｖ及びＡ／Ｆセンサ出力の変動ΔＶの積算を行なうべき所定の時間間隔（積算実行時間）ＴΣとなる。あるいは、ステップ６０３の条件（Ｔ２以上経過）が成立した後の継続時間Ｔｃｏｎｔを計測することにより、この所定の時間間隔を管理してもよい。フィードバック補正によるＡ／Ｆセンサ出力の変動周期に比べて十分に長い時間に渡って積算が実行されるように、積算実行回数Ｍ（積算実行時間ＴΣ）、あるいはステップ６０３の条件が成立した後に継続すべき継続時間ＴΣ’を設定する。
【０１０９】
ステップ６０７では、ステップ６０６でカウントされた積算実行回数の積算値ｍが、上述の所定の積算実行回数Ｍ以上であるかどうかのチェックを行う。あるいは、積算実行回数ｍの代わりに継続時間Ｔｃｏｎｔによって積算実行時間ＴΣを管理する場合は、ステップ６０７ではステップ６０３の条件成立後の継続時間Ｔｃｏｎｔが所定の積算実行時間ＴΣ’以上であるかどうかのチェックを行う。ここで、Ａ／Ｆセンサ出力の絶対値Ｖ及びＡ／Ｆセンサ出力の変動ΔＶの積算実行時間ＴΣは、必ずしも連続した時間間隔である必要は無い。例えば、Ａ／Ｆセンサ出力の絶対値Ｖ及びＡ／Ｆセンサ出力の変動ΔＶの積算実行時間Ｔｓが所定の値ＴΣに達する前にステップ６０１の条件が不成立となった場合、Ａ／Ｆセンサ出力の絶対値Ｖの積算値ΣＶ、Ａ／Ｆセンサ出力の変動ΔＶの積算値ΣΔＶ、積算実行時間Ｔｓ（積算実行回数ｍ、あるいはステップ６０３の条件成立後の継続時間Ｔｃｏｎｔ）などをクリアせずに記憶しておく。そして、ステップ６０１〜６０３における条件が再び成立した後に、これらの処理を再開し、Ａ／Ｆセンサ出力の絶対値Ｖ及びＡ／Ｆセンサ出力の変動ΔＶの積算や、積算実行回数ｍあるいはステップ６０３の条件成立後の継続時間Ｔｃｏｎｔのカウントを続行しても良い。ステップ６０７の条件が成立した時（所定時間間隔ＴΣに対するそれぞれの積算処理が実行された後）はステップ６０８に進む。ステップ６０７の条件が不成立の時はステップ６１１の処理（現在のＡ／Ｆセンサ出力を記憶）のみを実行して異常検出処理ルーチンから抜け出す。
【０１１０】
ステップ６０８では、それまでの処理によって得られた積算されたＡ／Ｆセンサ出力の絶対値ΣＶと積算されたＡ／Ｆセンサ出力の変動量ΣΔＶとの比Ｑ＝ΣＶ／ΣΔＶを算出する。
【０１１１】
ステップ６０９においては、ステップ６０８で求めた比Ｑ＝ΣＶ／ΣΔＶが、あらかじめ設定した所定の判定値Ｑｔｈを越えたかどうかをチェックする。比Ｑが判定値Ｑｔｈを越えていない場合はＡ／Ｆセンサの特性は正常であると判断し（ステップ６１０ｂ）、越えている場合にはＡ／Ｆセンサの特性が劣化したとして異常と判断する（ステップ６１０ａ）。Ａ／Ｆセンサが異常であると判断された場合には、インスツルメントパネル内の異常警告表示を点灯する等の処理をおこなう。
【０１１２】
尚、比Ｑ＝ΣＶ／ΣΔＶを所定の判定値Ｑｔｈと比較する際には、あらかじめ正常な特性を持ったＡ／Ｆセンサにおける比ΣＶ／ΣΔＶの標準値Ｑ０を求めておき、その標準値Ｑ０に対する測定値Ｑの比率が所定の判定値を越えたかどうかをチェックする等としても良い。
【０１１３】
（実施例６）
実施例６においては、上述の燃料噴射量補正率の変動ΔＦＴの積算Ｓ１＝ΣΔＦＴ、Ａ／Ｆセンサ出力の絶対値Ｖの積算Ｓ２＝ΣＶ、及びＡ／Ｆセンサ出力の変動量ΔＶの積算Ｓ３＝ΣΔＶを用いてＡ／Ｆセンサの応答特性の劣化を判定する場合について説明する。図２０は、実施例６によるＡ／Ｆセンサ出力の劣化判定（異常検出）ルーチンを示すフローチャートである。
【０１１４】
図２０に示されるように、まずステップ７０１において、Ａ／Ｆセンサの異常検出を実行すべき前提条件、たとえば、車速が所定範囲内にあること、エンジン回転数が所定範囲内にあること、フィードバック制御が実行中であること、他の部品やシステムの異常による誤検出のおそれが無いこと等が成立するかどうかのチェックを行う。これらの前提条件のチェックは、各センサなどからの入力信号を検出することによって行われる。異常検出を実行するべき前提条件が成立中であれば次のステップ７０２に進む。前提条件が不成立であれば、前回までの処理の値ΣΔＦＴ、ΣＶ及びΣΔＶをクリア（ステップ７１４）した後、異常検出処理のルーチンから抜け出す。
【０１１５】
燃料噴射量補正率の変動ΔＦＴ、Ａ／Ｆセンサ出力の絶対値Ｖ及びＡ／Ｆセンサ出力の変動ΔＶは、所定の時間間隔Ｔ１秒毎に算出される。この時間間隔Ｔ１は、出力積算値ΣＶの精度を確保するため、Ａ／Ｆセンサ出力の変動周期に比べて十分に短い時間である事が必要である。ステップ７０２では、異常検出処理のルーチン周期（所定のクロックタイミング）が、燃料噴射量補正率の変動ΔＦＴ、Ａ／Ｆセンサ出力の絶対値Ｖ及びＡ／Ｆセンサ出力の変動ΔＶを算出すべき所定の時間間隔Ｔ１秒毎のタイミングにあるかどうかのチェックを行う。チェックの結果、現在のルーチン周期が時間間隔Ｔ１のタイミングでない時には、何の処理も実行せずに異常検出処理のルーチンから抜け出す。チェックの結果、異常検出処理のルーチン周期がＴ１秒毎のタイミングにあると判定された時は、次のステップ７０３に進む。
【０１１６】
尚、異常検出処理のルーチン周期が燃料噴射量補正率の変動ΔＦＴ、Ａ／Ｆセンサ出力の絶対値Ｖ及びＡ／Ｆセンサ出力の変動ΔＶを算出すべき時間間隔Ｔ１秒毎のタイミングに等しく設定されている場合には、ステップ７０２は不要となる。ただし、異常検出処理のルーチン周期はＡ／Ｆセンサ出力の絶対値Ｖ及びＡ／Ｆセンサ出力の変動ΔＶを算出すべき時間間隔Ｔ１以下であることが必要である。
【０１１７】
ステップ７０３では、ステップ７０１において異常検出処理実行のための前提条件が不成立の状態から成立の状態に移行したと確認された後、Ｔ２秒以上経過しているかどうかをチェックする。前提条件が不成立の状態である時の影響を除き、燃料噴射量補正率の変動ΔＦＴの積算データ、Ａ／Ｆセンサ出力の絶対値Ｖの積算データ及びＡ／Ｆセンサ出力の変動ΔＶの積算データの精度を確保するために、前提条件成立後Ｔ２秒以上経過してから燃料噴射量補正率の変動ΔＦＴ、Ａ／Ｆセンサ出力の絶対値Ｖ及びＡ／Ｆセンサ出力の変動ΔＶの積算を実行することが望ましい。また、Ｔ２は、少なくとも燃料噴射量補正率の変動ΔＦＴ、Ａ／Ｆセンサ出力の絶対値Ｖ及びＡ／Ｆセンサの出力の変動ΔＶを積算すべき時間周期Ｔ１以上とするのが望ましい（即ち、Ｔ１≦Ｔ２）。前提条件成立後の経過時間がＴ２秒未満の場合には、ステップ７１２の処理（現在のＡ／Ｆセンサの出力の記憶）及びステップ７１３の処理（現在の燃料噴射量補正率の記憶）のみを実行し、異常検出処理ルーチンから抜け出す。前提条件成立後の経過時間がＴ２秒以上の場合には、次のステップ７０４に進む。
【０１１８】
ステップ７０４では、現在のＡ／Ｆセンサ出力の絶対値Ｖを算出し、前回までの積算値ΣＶに加えて積算値を更新する。この積算処理において、理論空燃比におけるＡ／Ｆセンサ出力がゼロでない場合、例えば、理論空燃比におけるＡ／Ｆセンサ出力に一定のオフセットを設けている場合等にはこのオフセット値を除いて積算を行う。また、空燃比の制御目標が理論空燃比ではない場合には、目標空燃比からのズレ量の絶対値を積算する等とする。尚、ステップ７０１〜７０３が成立した後、初めてステップ７０４の処理を実行する場合は、「前回までの積算値」として初期値（＝０）を用いる（ステップ７０１不成立時の処理）。
【０１１９】
ステップ７０５では、これまでの処理においてステップ７１２で記憶していたＴ１秒前のＡ／Ｆセンサ出力（Ｖｍ−１とする）と現在のＡ／Ｆセンサ出力（Ｖｍとする）との差の絶対値ΔＶｍ＝｜Ｖｍ−Ｖｍ−１｜を算出し、前回までの積算値（ΔＶｍ−１迄の積算値）に加算し、積算値ΣΔＶを更新する。ステップ７０１〜７０３が成立した後、初めてステップ７０５の処理を実行する場合は、「前回までの積算値」として初期値（＝０）を用いる（ステップ７０１不成立時の処理）。
【０１２０】
ステップ７０６では、これまでの処理においてステップ７１３で記憶していたＴ１秒前の燃料噴射量補正率の値（ＦＴｍ−１とする）と現在の燃料噴射量補正率の値（ＦＴｍとする）との差の絶対値ΔＦＴｍ＝｜ＦＴｍ−ＦＴｍ−１｜を算出し、前回までの積算値（ΔＦＴｍ−１迄の積算値）に加算することにより、積算値ΣΔＦＴを更新する。ステップ７０１〜７０３が成立した後、初めてステップ７０６の処理を実行する場合は、「前回までの積算値」として初期値（＝０）を用いる（ステップ７０１不成立時の処理）。
【０１２１】
ステップ７０７では、ステップ７０４〜７０６で実行した「積算」処理の実行回数ｍをカウントする。これまでに積算が実行された回数をｍとすると、ｍ×Ｔ１が燃料噴射量補正率の変動ΔＦＴ、Ａ／Ｆセンサ出力の絶対値Ｖ及びＡ／Ｆセンサ出力の変動ΔＶの積算が行われた時間（これまでの積算実行時間）Ｔｓとなる。積算を実行すべき回数をＭ（後述のステップ７０７において判断される）とすると、Ｍ×Ｔ１が燃料噴射量補正率の変動ΔＦＴ、Ａ／Ｆセンサ出力の絶対値Ｖ及びＡ／Ｆセンサ出力の変動ΔＶの積算を行なうべき所定の時間間隔（積算実行時間）ＴΣとなる。あるいは、ステップ７０３の条件（Ｔ２以上経過）が成立した後の継続時間Ｔｃｏｎｔを計測することにより、この所定の時間間隔を管理してもよい。フィードバック補正による燃料噴射量補正率の変動周期及びＡ／Ｆセンサ出力の変動周期に比べて十分に長い時間に渡って積算が実行されるように、積算実行回数Ｍ（積算実行時間ＴΣ）、あるいはステップ７０３の条件が成立した後に継続すべき継続時間ＴΣ’を設定する。
【０１２２】
ステップ７０８では、ステップ７０７でカウントされた積算実行回数の積算値ｍが、上述の所定の積算実行回数Ｍ以上であるかどうかのチェックを行う。あるいは、積算実行回数ｍの代わりに継続時間Ｔｃｏｎｔによって積算実行時間ＴΣを管理する場合は、ステップ７０８ではステップ７０３の条件成立後の継続時間Ｔｃｏｎｔが所定の積算実行時間ＴΣ’以上であるかどうかのチェックを行う。ここで、燃料噴射量補正率の変動ΔＦＴ、Ａ／Ｆセンサ出力の絶対値Ｖ及びＡ／Ｆセンサ出力の変動ΔＶの積算実行時間ＴΣは、必ずしも連続した時間間隔である必要は無い。例えば、燃料噴射量補正率の変動ΔＦＴ、Ａ／Ｆセンサ出力の絶対値Ｖ及びＡ／Ｆセンサ出力の変動ΔＶの積算実行時間Ｔｓが所定の値ＴΣに達する前にステップ７０１の条件が不成立となった場合、燃料噴射量補正率の変動ΔＦＴの積算値ΣΔＦＴ、Ａ／Ｆセンサ出力の絶対値Ｖの積算値ΣＶ、Ａ／Ｆセンサ出力の変動ΔＶの積算値ΣΔＶ、積算実行時間Ｔｓ（積算実行回数ｍ、あるいはステップ７０３の条件成立後の継続時間Ｔｃｏｎｔ）などをクリアせずに記憶しておく。そして、ステップ７０１〜７０３における条件が再び成立した後に、これらの処理を再開し、燃料噴射量補正率の変動ΔＦＴ、Ａ／Ｆセンサ出力の絶対値Ｖ及びＡ／Ｆセンサ出力の変動ΔＶの積算や、積算実行回数ｍあるいはステップ７０３の条件成立後の継続時間Ｔｃｏｎｔのカウントを続行しても良い。ステップ７０８の条件が成立した時（所定時間間隔ＴΣに対するそれぞれの積算処理が実行された後）はステップ７０９に進む。ステップ７０８の条件が不成立の時はステップ７１２の処理（現在のＡ／Ｆセンサ出力を記憶）及びステップ７１３の処理（現在の燃料噴射量補正率を記憶）のみを実行して異常検出処理ルーチンから抜け出す。
【０１２３】
ステップ７０９では、それまでの処理によって得られた積算されたＡ／Ｆセンサ出力の絶対値ΣＶと積算されたＡ／Ｆセンサ出力の変動量ΣΔＶとの比Ｑ＝ΣＶ／ΣΔＶと、及び積算された燃料噴射量補正率の変動ΣΔＦＴと積算されたＡ／Ｆセンサ出力の変動量ΣΔＶとの比Ｐ＝ΣΔＦＴ／ΣΔＶとを算出する。
【０１２４】
ステップ７１０においては、ステップ７０８で求めた比Ｑ＝ΣＶ／ΣΔＶと比Ｐ＝ΣΔＦＴ／ΣΔＶとの積Ｒ＝ＰＱを求める。そして、積Ｒがあらかじめ設定した所定の判定値Ｒｔｈを越えたかどうかをチェックする。積Ｒが判定値Ｒｔｈを越えていない場合はＡ／Ｆセンサの特性は正常であると判断し（ステップ７１１ｂ）、越えている場合にはＡ／Ｆセンサの特性が劣化したとして異常と判断する（ステップ７１１ａ）。Ａ／Ｆセンサが異常であると判断された場合には、インスツルメントパネル内の異常警告表示を点灯する等の処理をおこなう。
【０１２５】
尚、積Ｒ＝（ΣΔＦＴ・ΣＶ）／（ΣΔＶ）２を所定の判定値Ｒｔｈと比較する際には、あらかじめ正常な特性を持ったＡ／Ｆセンサにおける積（ΣΔＦＴ・ΣＶ）／（ΣΔＶ）２の標準値Ｒ０を求めておき、その標準値Ｒ０に対する測定値Ｒの比率が所定の判定値を越えたかどうかをチェックする等としても良い。
【０１２６】
（実施例７）
実施例７においては、実施例１と同様に、燃料噴射量の変動量ΔＦＴの積算Ｓ１＝ΣΔＦＴを用いてＡ／Ｆセンサの応答特性の劣化を判定する場合を説明する。本実施例においては、積算実行時間ＴΣが必ずしも連続した時間間隔ではない場合の適用について、燃料噴射量補正率の変動量ΔＦＴを用いたＡ／Ｆセンサ出力の応答特性の劣化判定を例として説明する。他の実施例の場合についても同様にして適用できる。
【０１２７】
図２１は、実施例７によるＡ／Ｆセンサ出力の劣化判定（異常検出）ルーチンを示すフローチャートである。
【０１２８】
図２１に示されるように、まずステップ８０１において、Ａ／Ｆセンサの異常検出を実行すべき前提条件、たとえば、車速が所定範囲内にあること、エンジン回転数が所定範囲内にあること、フィードバック制御が実行中であること、他の部品やシステムの異常による誤検出のおそれが無いこと等が成立するかどうかのチェックを行う。これらの前提条件のチェックは、各センサなどからの入力信号を検出することによって行われる。異常検出を実行するべき条件が成立中であれば次のステップ８０２に進む。前提条件が不成立であれば、前回までの処理の値ΣΔＦＴをクリア（ステップ８１４）した後、異常検出処理のルーチンから抜け出す。
【０１２９】
燃料噴射量補正率の変動量ΔＦＴは、所定の時間間隔Ｔ１秒毎に算出される。この時間間隔Ｔ１は、燃料噴射量補正率の変動量の精度を確保するため、十分に短い時間である事が必要である。ステップ８０２では、異常検出処理のルーチン周期（所定のクロックタイミング）が、燃料噴射量補正率の変動を算出すべき所定の時間間隔Ｔ１秒毎のタイミングにあるかどうかのチェックを行う。チェックの結果、現在のルーチン周期が時間間隔Ｔ１のタイミングでない時には、何の処理も実行せずに異常検出処理のルーチンから抜け出す。チェックの結果、異常検出処理のルーチン周期がＴ１秒毎のタイミングにあると判定された時は、次のステップ８０３に進む。
【０１３０】
尚、異常検出処理のルーチン周期が燃料噴射量補正率の変動を算出すべき時間間隔Ｔ１秒毎のタイミングに等しく設定されている場合には、ステップ８０２は不要となる。ただし、異常検出処理のルーチン周期は燃料噴射量補正率変動を算出すべき時間間隔Ｔ１以下であることが必要である。
【０１３１】
ステップ８０３では、ステップ８０１において異常検出処理実行のための前提条件が不成立の状態から成立の状態に移行したと確認された後、Ｔ２秒以上経過しているかどうかをチェックする。燃料噴射量補正率の変動量ΔＦＴを時間間隔Ｔ１秒毎に算出するにあたり、前提条件（ステップ８０１）が成立している場合の燃料噴射量補正率の値のみを用いることにより、正確な算出データを得ることができる。更に、前提条件が不成立の状態である時の影響を除いて燃料噴射量補正率の変動量ΔＦＴの積算データの精度を確保するために、前提条件成立後Ｔ２秒以上経過してから燃料噴射量補正率の変動量ΔＦＴの積算を実行することが望ましい。また、Ｔ２は少なくとも燃料噴射量補正率の変動量ΔＦＴを積算すべき時間周期Ｔ１以上とするのが望ましい（即ち、Ｔ１≦Ｔ２）。前提条件成立後の経過時間がＴ２秒未満の場合には、ステップ８１３の処理を実行（現在の燃料噴射補正率ＦＴを記憶）し、異常検出処理ルーチンから抜け出す。前提条件成立後の経過時間がＴ２秒以上の場合には、次のステップ８０４に進む。
【０１３２】
ステップ８０４では、これまでの処理においてステップ８１３で記憶していたＴ１秒前の燃料噴射量補正率の値（ＦＴｍ−１とする）と現在の燃料噴射量補正率の値（ＦＴｍとする）との差の絶対値ΔＦＴｍ＝｜ＦＴｍ−ＦＴｍ−１｜を算出し、前回までの積算値（ΔＦＴｍ−１迄の積算値）に加算し、積算値ΣΔＦＴを更新する。ステップ８０１〜８０３が成立した後、初めてステップ８０４の処理を実行する場合は、「前回までの積算値」として初期値（＝０）を用いる（ステップ８０１不成立時の処理）。
【０１３３】
ステップ８０５では、ステップ８０３の条件（即ち、ステップ８０１における前提条件成立後の経過時間がＴ２秒以上）が成立してからの継続時間ｔ１を計測する。
【０１３４】
ステップ８０６においては、継続時間ｔ１が所定の時間Ｔ３に到達しているかどうかが判断される。継続時間ｔ１が所定の時間Ｔ３に到達していない場合、ステップ８１３の処理（現在の燃料噴射量補正率の記憶）のみが実行され、ステップ８０１に戻って異常検出ルーチンが繰り返される。即ち、継続時間ｔ１が所定の時間Ｔ３に到達するまでの間、ΔＦＴの算出を実行し、積算値ΣΔＦＴを更新する（ステップ８０１〜８０５）。ステップ８０６において継続時間ｔ１が所定の時間Ｔ３に到達したと判断されると、ステップ８０７に進む。
【０１３５】
ステップ８０７においては、それまでに得られた積算値ΣΔＦＴ、即ちＴ３秒分の積算値ΣΔＦＴを、前回のＴ３秒分の積算値ΣΔＦＴに加算し、Σ（ΣΔＦＴ）の値を更新する。ステップ８０７において、Ｔ３秒分の積算値ΣΔＦＴが初めて算出された場合には、「前回のＴ３秒分の積算値」は、初期値として０を用いる。
【０１３６】
ステップ８０８においては、カウンタを用いてステップ８０７の実行回数をカウントし、カウント数Ｃ１をインクリメントする。そして、ステップ８０９において、ステップ８０５で計測された時間ｔ１をクリアする。
【０１３７】
ステップ８１０においては、カウンタのカウント数Ｃ１が、所定の値Ｎ以上であるかどうかが判断される。カウント数Ｃ１が所定の値Ｎに到達していない場合、ステップ８１３の処理（現在の燃料噴射量補正率の記憶）のみが実行され、ステップ８０１に戻って異常検出ルーチンが繰り返される。即ち、カウンタのカウント数Ｃ１が所定の値Ｎになるまでの間、Ｔ３秒分のΣΔＦＴの積算（即ち、Σ（ΣΔＦＴ））を繰り返す（ステップ８０１〜８０９）。ステップ８１０においてカウンタのカウント数Ｃ１が所定の値Ｎに達した場合、ステップ８１１に進む。
【０１３８】
ステップ８１１においては、それまでに得られた積算値Σ（ΣΔＦＴ）、即ち、Ｔ３×Ｃ１秒分のΔＦＴの積算値を、あらかじめ設定した所定の判定値Σ（ΣΔＦＴ）ｔｈと比較する。Σ（ΣΔＦＴ）が判定値Σ（ΣΔＦＴ）ｔｈを越えていない場合はＡ／Ｆセンサの特性は正常であると判断し（ステップ８１２ｂ）、越えている場合にはＡ／Ｆセンサの特性が劣化したとして異常と判断する（ステップ８１２ａ）。Ａ／Ｆセンサが異常であると判断された場合には、インスツルメントパネル内の異常警告表示を点灯する等の処理をおこなう。
【０１３９】
この実施例において、カウンタのカウント数Ｃ１が所定の値Ｎに達する前にステップ８０１の前提条件が不成立となった場合には、その時点（その時点ではｔ１＜Ｔ３）で積算途中であったＴ３秒間の積算値ΣΔＦＴはステップ８１４でクリアされるが、それまでに実行されたＴ３秒間の積算値の積算結果Σ（ΣΔＦＴ）はそのまま記憶されている。従って、再びステップ８０１の前提条件が成立した時点から「Ｔ３秒間の積算」を続行し、カウンタのカウント数Ｃ１が所定の値Ｎに達するまでΣΔＦＴの積算を行うことにより、Ｃ１回×Ｔ３秒＝ＴΣだけの時間にわたって燃料噴射量補正率の変動量の積算が実行される。
【０１４０】
この実施例の場合は、所定の積算実行時間ＴΣに対してＴ３を短く設定することにより、ステップ８０１の前提条件が成立・不成立を繰り返した場合にも効率よく燃料噴射量補正率の変動量の積算をＴΣにわたって実施することが可能であり、Ａ／Ｆセンサの異常を早期に検出することが可能となる。
【０１４１】
この実施例７の方法以外の方法でも、断続的に燃料噴射量補正率の変動量の積算を実行することによりＡ／Ｆセンサの異常を早期に検出可能である。
【０１４２】
また、本実施例で説明した、所定の積算実行時間ＴΣに至るまで断続的に積算を実行する処理は、他の実施例においても同様にして行うことができる。例えば、実施例２に応用する場合、ステップ３０１〜ステップ３０６（図１６参照）を、実施例７におけるステップ８０１〜８１０の処理に対応するステップに置き換えることによって実行できる。
【０１４３】
以上、本発明によるＡ／Ｆセンサの劣化判定装置を各実施例によって説明したが、本発明はこれらに限られるものではない。例えば、上記の各実施例による判定装置を個別に実施するだけでなく、実施例１〜６で説明した判定方法を２つ以上組み合わせてＡ／Ｆセンサの劣化を判定してもよい。また、劣化を判定すべきＡ／Ｆセンサのタイプや応答特性の劣化の程度に応じて、各実施例による判定方法を組み合わせた劣化判定装置を構成してもよい。
【０１４４】
【発明の効果】
上述のように、本発明によれば、理論空然比を含む広範囲の空然比を連続的に検出可能な空然比センサ（Ａ／Ｆセンサ）を用いた空然比制御装置において、ストイキ以外の制御領域におけるセンサ特性に依存することなく、早期に劣化が検出可能な空然比センサの劣化判定装置を提供することができる。
【図面の簡単な説明】
【図１】空燃比とＯ２センサ出力電圧との関係を示す特性図である。
【図２】空燃比とＡ／Ｆセンサ出力電圧との関係を示す特性図である。
【図３】本発明の一実施形態によるＡ／Ｆセンサの劣化判定装置を適用するＡ／Ｆセンサを用いた空燃比制御装置を備えた電子制御式内燃機関の一例を示す全体概要図である。
【図４】図３に示す電子制御式内燃機関におけるエンジンＥＣＵのハードウェア構成の一例を示すブロック図である。
【図５】筒内空気量推定及び目標筒内燃料量算出ルーチンの処理手順を示すフローチャートである。
【図６】推定された筒内空気量及び算出された目標筒内燃料量の記憶状態を説明するための図である。
【図７】空然比フィードバック制御ルーチンの処理手順を示すフローチャートである。
【図８】燃料噴射制御ルーチンの処理手順を示すフローチャートである。
【図９】測定されるＡ／Ｆセンサ出力電圧ＶＡＦ（実線）と実際のＡ／Ｆに応じて本来出力されるべきＡ／Ｆセンサ出力電圧（実Ａ／Ｆ相当電圧）（破線）との関係を、Ａ／Ｆセンサが（ａ）正常な応答特性を有する場合と、（ｂ）劣化した応答特性を有する場合とについて示す図である。
【図１０】（ａ）は高応答及び低応答Ａ／Ｆセンサの出力の一例を示す図であり、（ｂ）は燃料噴射量に対するフィードバック補正の一例を示す図である。
【図１１】（ａ）は、Ａ／Ｆセンサ出力の一例を示し、（ｂ）はフィードバック制御による燃料噴射量補正率を示す図である。
【図１２】Ａ／Ｆセンサの応答特性と、燃料噴射補正量ＦＴとＡ／Ｆセンサ出力の変動量Ｖとの比との関係を模式的に示す図である。
【図１３】（ａ）は高応答Ａ／Ｆセンサの出力特性を示す図であり、（ｂ）は低応答Ａ／Ｆセンサの出力特性を示す図である。
【図１４】Ａ／Ｆセンサの応答特性と、Ａ／Ｆセンサ出力の絶対値Ｖの積算と変動ΔＶの積算との比との関係を模式的に示す図である。
【図１５】本発明の１つの実施例による、Ａ／Ｆセンサ出力の劣化判定を示すフローチャートである。
【図１６】本発明の他の実施例による、Ａ／Ｆセンサ出力の劣化判定を示すフローチャートである。
【図１７】本発明のもう１つの実施例による、Ａ／Ｆセンサ出力の劣化判定を示すフローチャートである。
【図１８】本発明のもう１つの実施例による、Ａ／Ｆセンサ出力の劣化判定を示すフローチャートである。
【図１９】本発明のもう１つの実施例による、Ａ／Ｆセンサ出力の劣化判定を示すフローチャートである。
【図２０】本発明のもう１つの実施例による、Ａ／Ｆセンサ出力の劣化判定を示すフローチャートである。
【図２１】本発明のもう１つの実施例による、Ａ／Ｆセンサ出力の劣化判定を示すフローチャートである。
【符号の説明】
２…エアクリーナ
４…スロットルボデー
５…スロットル弁
６…サージタンク（インテークマニホルド）
７…吸気管
８…アイドルアジャスト通路
１０…燃料タンク
１１…燃料ポンプ
１２…燃料配管
２０…エンジン本体（気筒）
２１…燃焼室
２２…冷却水通路
２３…ピストン
２４…吸気弁
２６…排気弁
３０…排気マニホルド
３４…排気管
３８…触媒コンバータ
４０…エアフローメータ
４１…バキュームセンサ
４２…スロットル開度センサ
４３…吸気温センサ
４４…水温センサ
４５…Ａ／Ｆセンサ
４６…Ｏ２センサ
５０…基準位置検出センサ
５１…クランク角センサ
５２…アイドルスイッチ
５３…車速センサ
６０…燃料噴射弁
６２…イグナイタ
６３…点火コイル
６４…点火ディストリビュータ
６５…スパークプラグ
６６…アイドル回転速度制御弁（ＩＳＣＶ）
６８…アラームランプ
７０…エンジンＥＣＵ
７１…ＣＰＵ
７２…システムバス
７３…ＲＯＭ
７４…ＲＡＭ
７５…Ａ／Ｄ変換回路
７６…入力インタフェース回路
７７ａ，７７ｂ、７７ｃ，７７ｄ…駆動制御回路
７９…バックアップＲＡＭ
【図１】
0003607962.tif 000003
【図２】
0003607962.tif 000004
【図３】
0003607962.tif 000005
【図４】
0003607962.tif 000006
【図５】
0003607962.tif 000007
【図６】
0003607962.tif 000008
【図７】
0003607962.tif 000009
【図８】
0003607962.tif 000010
【図９】
0003607962.tif 000011
【図１０】
0003607962.tif 000012
【図１１】
0003607962.tif 000013
【図１２】
0003607962.tif 000014
【図１３】
0003607962.tif 000015
【図１４】
0003607962.tif 000016
【図１５】
0003607962.tif 000017
【図１６】
0003607962.tif 000018
【図１７】
0003607962.tif 000019
【図１８】
0003607962.tif 000020
【図１９】
0003607962.tif 000021
【図２０】
0003607962.tif 000022
【図２１】
0003607962.tif 000023