(57)【要約】【課題】  排気浄化触媒の上下流の空燃比を検出するセンサの内で下流側センサに起因した空燃比異常を適切に抑制してエミッションの悪化を確実に防止する。【解決手段】  触媒コンバータ下流に存在するＯ2センサの出力電圧がリーン側にずれたことを出現頻度Ｌｒの値により検出し、この出現頻度Ｌｒに応じて制限幅Ｂを設定し（Ｓ２０８）、補正量の学習値ＤＶＧに加えてプラス側ガード値ｄＶｇｒｄ（＋）を設定している（Ｓ２１０，Ｓ２１８）。制限幅ＢによりＯ2センサの異常状態の程度を補正量に反映でき、学習値ＤＶＧを基準にしているのでプラス側ガード値ｄＶｇｒｄ（＋）には上流側の空燃比センサの特性ばらつきも反映される。このためＯ2センサの異常状態の程度と共に、空燃比センサの特性ばらつきも吸収できる適切な範囲に補正量を制限することができる。こうして課題が達成される。【選択図】      図９
2005337139.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の排気系に設けられた排気浄化触媒の上流側と下流側とに排気成分から空燃比状態を検出するセンサをそれぞれ備えて、上流側センサの出力値に基づいて空燃比制御を実行すると共に、下流側センサの出力値に基づいて設定される補正量により前記空燃比制御に対する補正を実行する内燃機関の空燃比制御装置であって、
前記下流側センサの異常状態を検出する下流側センサ異常状態検出手段と、
前記下流側センサ異常状態検出手段が異常状態を検出していない時に前記補正量の値を学習値として保持する補正量学習手段と、
前記下流側センサ異常状態検出手段が異常状態を検出している時に、前記補正量学習手段にて保持されている学習値を基準として前記空燃比制御に対する補正量に異常時用限界を設定する補正量調節手段と、
を備えたことを特徴とする内燃機関の空燃比制御装置。
【請求項２】
請求項１において、前記補正量調節手段は、前記空燃比制御に対する補正量の異常時用限界の幅を、前記下流側センサ異常状態検出手段にて検出された異常状態の程度に応じて設定することを特徴とする内燃機関の空燃比制御装置。
【請求項３】
請求項１又は２において、前記下流側センサ異常状態検出手段は、前記下流側センサの出力値の出現頻度分布に応じて異常状態を検出することを特徴とする内燃機関の空燃比制御装置。
【請求項４】
請求項１〜３のいずれかにおいて、前記下流側センサ異常状態検出手段は、前記下流側センサの出力値の出現頻度分布がリーン側で大きくなるほど、異常状態の程度が高いと判定することを特徴とする内燃機関の空燃比制御装置。
【請求項５】
請求項１〜４のいずれかにおいて、前記下流側センサ異常状態検出手段は、リーン側に基準出力値を設け、前記下流側センサの出力の内、前記基準出力値よりもリーン側の出力の出現頻度を、前記下流側センサの異常状態の程度として検出することを特徴とする内燃機関の空燃比制御装置。
【請求項６】
請求項１〜５のいずれかにおいて、前記補正量調節手段は、前記下流側センサ異常状態検出手段にて検出された異常状態の程度が高いほど、空燃比のリッチ化を抑制する方向に前記異常時用限界の幅を設定することを特徴とする内燃機関の空燃比制御装置。
【請求項７】
請求項１〜６のいずれかにおいて、前記下流側センサは、理論空燃比を中心としてリッチ側とリーン側とで急激に出力値が変化するＯ2センサであることを特徴とする内燃機関の空燃比制御装置。
【請求項８】
請求項１〜７のいずれかにおいて、前記上流側センサは、空燃比に応じて徐々に出力値が変化する空燃比センサ、又は理論空燃比を中心としてリッチ側とリーン側とで急激に出力値が変化するＯ2センサであることを特徴とする内燃機関の空燃比制御装置。
【請求項９】
請求項１〜８のいずれかにおいて、前記空燃比制御は、前記上流側センサの出力値と理論空燃比相当出力値との差に基づいて燃料噴射量の算出処理を実行するとともに、該算出処理において前記下流側センサの出力値と理論空燃比相当出力値との差に基づいて算出された前記補正量による補正を加えることを特徴とする内燃機関の空燃比制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の排気系に設けられた排気浄化触媒の上流側と下流側とに排気成分から空燃比状態を検出するセンサをそれぞれ備えて、上流側センサの出力値に基づいて空燃比制御を実行すると共に、下流側センサの出力値に基づいて前記空燃比制御に対する補正を実行する内燃機関の空燃比制御装置に関する。
【背景技術】
【０００２】
従来、内燃機関の排気浄化触媒を有効に機能させるために、排気浄化触媒の上流にセンサ（例えば空燃比に応じて徐々に出力値が変化するセンサ）を備えて、理論空燃比を中心とする極めて狭い範囲に、排気浄化触媒に流入する排気の空燃比を制御している。更にこのように空燃比制御された状況下での排気浄化触媒による排気浄化が常に適切に実行されるように、排気浄化触媒の下流側にもう一つのセンサ（例えばＯ2センサ）を設けることにより排気浄化触媒下流側の酸素濃度に基づいて前記空燃比制御に補正を加えるシステムが存在する（例えば特許文献１参照）。
【０００３】
又、排気浄化触媒下流側センサの素子割れを出力頻度分布から検出する異常診断システムが存在する（例えば特許文献２参照）。
【特許文献１】特開平７−１９７８３７号公報（第６−８頁、図３）
【特許文献２】特開２００３−１４６８３号公報（第６−７頁、図７）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
前記特許文献２に示すごとくの異常診断システムにて下流側センサの割れ発生が検出された時には、下流側センサの出力ずれにより排気中の酸素濃度が実際より可成り高く検出される状態となっている。このような時には前記特許文献１のシステムでは燃料濃度を増加することで空燃比を低下させる補正が過剰に実行されてしまう。このため異常診断システムにて異常と診断された時には既に排気浄化に適切な空燃比から可成り外れてエミッションが悪化しているおそれがあり、更に、下流側センサを取り替えるまでの退避走行においても、空燃比を過剰に低下させる補正が継続されていることになる。したがって上記特許文献１，２の技術では退避走行におけるエミッション悪化には対処できない。
【０００５】
このようなエミッション悪化に対処するために、下流側センサの出力ずれに基づいて、明確に異常が検出されるまで又は待避走行時において、空燃比制御に対する補正量を制限することが考えられる。しかし、このような下流側センサの出力ずれに基づく制限では上流側センサ特性のばらつきを吸収できなくなるおそれがある。このためエミッション悪化防止が不十分となるおそれがある。
【０００６】
本発明は、排気浄化触媒の下流側センサの出力に起因した空燃比異常を適切に抑制することにより、下流側センサ異常時のエミッションの悪化を確実に防止することを目的とするものである。
【課題を解決するための手段】
【０００７】
以下、上記目的を達成するための手段及びその作用効果について記載する。
請求項１に記載の内燃機関の空燃比制御装置は、内燃機関の排気系に設けられた排気浄化触媒の上流側と下流側とに排気成分から空燃比状態を検出するセンサをそれぞれ備えて、上流側センサの出力値に基づいて空燃比制御を実行すると共に、下流側センサの出力値に基づいて設定される補正量により前記空燃比制御に対する補正を実行する内燃機関の空燃比制御装置であって、前記下流側センサの異常状態を検出する下流側センサ異常状態検出手段と、前記下流側センサ異常状態検出手段が異常状態を検出していない時に前記補正量の値を学習値として保持する補正量学習手段と、前記下流側センサ異常状態検出手段が異常状態を検出している時に、前記補正量学習手段にて保持されている学習値を基準として前記空燃比制御に対する補正量に異常時用限界を設定する補正量調節手段とを備えたことを特徴とする。
【０００８】
補正量調節手段は、補正量学習手段にて保持されている学習値を用い、下流側センサ異常状態検出手段が異常状態を検出している時に、この学習値を基準として空燃比制御に対する補正量に異常時用限界を設定している。
【０００９】
このため、まず下流側センサの異常状態を、補正量の異常時用限界として空燃比制御に反映できる。そして異常時用限界の基準となっている学習値には異常状態が検出されていない時に前記補正量の値が学習されて保持されているので、異常時用限界には上流側センサ特性のばらつきが反映されている。このため上流側センサ特性のばらつきも吸収できる適切な範囲に前記補正量を制限することができる。
【００１０】
このようにして排気浄化触媒の下流側センサの出力に起因した空燃比異常を適切に抑制することができ、下流側センサ異常時のエミッションの悪化を確実に防止することができる。
【００１１】
請求項２に記載の内燃機関の空燃比制御装置では、請求項１において、前記補正量調節手段は、前記空燃比制御に対する補正量の異常時用限界の幅を、前記下流側センサ異常状態検出手段にて検出された異常状態の程度に応じて設定することを特徴とする。
【００１２】
補正量の異常時用限界の幅は、異常状態の程度に応じて設定することとしても良い。このように異常状態の程度に応じた限界幅を補正量に対して設定することで、異常状態の程度に対応した制限を補正量に対して実行でき、下流側センサの異常が空燃比制御に影響しにくくなる。そしてこの場合も異常時用限界の幅は前記学習値を基準として設定されることにより、上流側センサ特性のばらつきも吸収できる適切な範囲に前記補正量を制限することができる。
【００１３】
このようにして排気浄化触媒の下流側センサの出力に起因した空燃比異常を適切に抑制することができ、下流側センサ異常時のエミッションの悪化を確実に防止することができる。
【００１４】
請求項３に記載の内燃機関の空燃比制御装置では、請求項１又は２において、前記下流側センサ異常状態検出手段は、前記下流側センサの出力値の出現頻度分布に応じて異常状態を検出することを特徴とする。
【００１５】
下流側センサに素子割れなどが生じた場合には、下流側センサの出力値は空燃比制御により実現されている空燃比に対応せずに出力値がずれることになる。下流側センサの出力値の出現頻度分布を見れば前記ずれの程度が判断できるので、出現頻度分布に応じて異常状態を検出できる。
【００１６】
請求項４に記載の内燃機関の空燃比制御装置では、請求項１〜３のいずれかにおいて、前記下流側センサ異常状態検出手段は、前記下流側センサの出力値の出現頻度分布がリーン側で大きくなるほど、異常状態の程度が高いと判定することを特徴とする。
【００１７】
下流側センサは特に割れにより実際の空燃比よりもリーン側に出力値がずれる。これは理論空燃比を中心としてリッチ側とリーン側とで急激に出力値が変化するＯ2センサにおいても、空燃比に応じて徐々に出力値が変化する空燃比センサにおいても同様な傾向にある。そしてこのリーン側へのずれの程度は割れの進行程度に対応している。このことから、下流側センサの出力値の出現頻度分布がリーン側で大きくなるほど異常状態の程度が高いと判定することができる。
【００１８】
したがって補正量調節手段は、リーン側での出現頻度分布の程度に応じて上述したごとく補正量に対する異常時用限界を設定することにより、下流側センサの異常状態の程度及び上流側センサ特性のばらつきを空燃比制御の補正量に反映できる。
【００１９】
このようにして排気浄化触媒の下流側センサの出力に起因した空燃比異常を適切に抑制することができ、下流側センサ異常時のエミッションの悪化を確実に防止することができる。
【００２０】
請求項５に記載の内燃機関の空燃比制御装置では、請求項１〜４のいずれかにおいて、前記下流側センサ異常状態検出手段は、リーン側に基準出力値を設け、前記下流側センサの出力の内、前記基準出力値よりもリーン側の出力の出現頻度を、前記下流側センサの異常状態の程度として検出することを特徴とする。
【００２１】
素子割れによりリーン側に出力値がずれるのを検出する手法として、リーン側に基準出力値を設けて、この基準出力値よりも更にリーン側の出力値の出現頻度を下流側センサの異常状態の程度として検出しても良い。このように基準出力値を設けて、この基準出力値よりもリーン側の出力値かリッチ側の出力値かをカウントして頻度を算出することで、下流側センサの異常状態の程度が検出できるので、容易に下流側センサの異常状態を検出することができる。
【００２２】
請求項６に記載の内燃機関の空燃比制御装置では、請求項１〜５のいずれかにおいて、前記補正量調節手段は、前記下流側センサ異常状態検出手段にて検出された異常状態の程度が高いほど、空燃比のリッチ化を抑制する方向に前記異常時用限界の幅を設定することを特徴とする。
【００２３】
補正量調節手段は、下流側センサの異常状態の程度が高いほど、空燃比のリッチ化を抑制する方向に前記異常時用限界の幅を設定するようにしても良い。
請求項７に記載の内燃機関の空燃比制御装置では、請求項１〜６のいずれかにおいて、前記下流側センサは、理論空燃比を中心としてリッチ側とリーン側とで急激に出力値が変化するＯ2センサであることを特徴とする。
【００２４】
ここで下流側センサとしては上記Ｏ2センサを用いることができる。Ｏ2センサは理論空燃比を中心として急激に出力値が変化するが、このような出力であっても出力値に基づいて空燃比制御に対する補正を実行できる。そしてＯ2センサの異常状態の程度がＯ2センサの出力値の出現頻度分布に現れることから、下流側センサの異常状態を反映して補正量の異常時用限界を設定することが容易となる。
【００２５】
このようにして排気浄化触媒の下流側センサの出力に起因した空燃比異常を適切に抑制することができ、下流側センサ異常時のエミッションの悪化を確実に防止することができる。
【００２６】
請求項８に記載の内燃機関の空燃比制御装置では、請求項１〜７のいずれかにおいて、前記上流側センサは、空燃比に応じて徐々に出力値が変化する空燃比センサ、又は理論空燃比を中心としてリッチ側とリーン側とで急激に出力値が変化するＯ2センサであることを特徴とする。
【００２７】
上流側センサとしては、上記空燃比センサ又は上記Ｏ2センサを用いることができる。そしてこのような上流側センサを用いて空燃比制御する際に、この上流側センサの出力やこの出力から算出した空燃比制御用パラメータなどを補正する補正量に対して、下流側センサの異常状態を反映した異常時用限界を設定する。
【００２８】
このようにして排気浄化触媒の下流側センサの出力に起因した空燃比異常を適切に抑制することができ、下流側センサ異常時のエミッションの悪化を確実に防止することができる。
【００２９】
請求項９に記載の内燃機関の空燃比制御装置では、請求項１〜８のいずれかにおいて、前記空燃比制御は、前記上流側センサの出力値と理論空燃比相当出力値との差に基づいて燃料噴射量の算出処理を実行するとともに、該算出処理において前記下流側センサの出力値と理論空燃比相当出力値との差に基づいて算出された前記補正量による補正を加えることを特徴とする。
【００３０】
この補正量による補正が加えられることにより、適切な空燃比となるように燃料噴射量が算出され、排気浄化触媒による排気浄化が常に適切に実行されるようになる。そしてこの補正量に前記異常時用限界が設定される。
【００３１】
このようにして排気浄化触媒の下流側センサの出力に起因した空燃比異常を適切に抑制することができ、下流側センサ異常時のエミッションの悪化を確実に防止することができる。
【発明を実施するための最良の形態】
【００３２】
［実施の形態１］
図１は、車両に搭載された内燃機関としてのガソリンエンジン（以下、「エンジン」と略す）２、及び空燃比制御装置としての電子制御ユニット（以下、「ＥＣＵ」と称す）４の概略構成図を示している。エンジン２は、ここでは４気筒エンジンであるが、図１では１気筒のみ縦断面図にて示している。尚、気筒数は他の気筒数、例えば３気筒、６気筒、あるいは８気筒などでも良い。又、図では各気筒には吸気バルブ２ａと排気バルブ２ｂとはそれぞれ１つ示されているが、４バルブエンジンでも５バルブエンジンでも良い。
【００３３】
エンジン２の出力は変速機を介して最終的に車輪に走行駆動力として伝達される。エンジン２には、燃焼室１０内の混合気に点火する点火プラグ１４が設けられている。この燃焼室１０には吸気バルブ２ａにより開閉される吸気ポート１６が設けられ、この吸気ポート１６に接続された各吸気通路２０の途中には吸気ポート１６に向けて燃料を噴射する燃料噴射弁１２が気筒毎に設けられている。そして吸気通路２０はサージタンク２２に接続され、サージタンク２２の上流側にはモータ２４によって開度が調節されるスロットルバルブ２６が設けられている。このスロットルバルブ２６の開度（スロットル開度ＴＡ）により吸入空気量ＧＡが調節される。スロットル開度ＴＡはスロットル開度センサ２８により検出されてＥＣＵ４に読み込まれている。吸入空気量ＧＡはスロットルバルブ２６の上流側に設けられた吸入空気量センサ３０により検出されてＥＣＵ４に読み込まれている。尚、燃料噴射弁１２が直接、燃焼室１０内に燃料を噴射する筒内噴射タイプのガソリンエンジンであっても良い。
【００３４】
更に、燃焼室１０には排気バルブ２ｂにより開閉される排気ポート３２が設けられ、排気ポート３２に接続された排気通路３６の途中には触媒コンバータ３８が配置されている。触媒コンバータ３８内には排気浄化触媒としての三元触媒が配置されている。尚、図では触媒コンバータ３８は１つ示しているが、排気の上流と下流とで２つ設けても良い。この場合、上流側の触媒コンバータ内にはスタートキャタリストとしての三元触媒が、エンジン始動時の触媒暖機を短時間で行えるように比較的小量にて配置される。そして下流側の触媒コンバータ内にはメインキャタリストとしての三元触媒が、主触媒として十分な量で配置される。
【００３５】
触媒コンバータ３８の上流側の排気通路３６には、図２に示すごとく排気の空燃比に対応して徐々に変化する電圧Ｖａｆ信号を出力する空燃比センサ４０が配置されている。ここで「３．３Ｖ」が理論空燃比相当出力値に相当する。更に触媒コンバータ３８の下流側の排気通路３６には、図３に示すごとく排気の空燃比に対応して理論空燃比を中心として急激に変化する電圧Ｖｏ2信号を出力するＯ2センサ４４が配置されている。ここで「０．４５Ｖ」が理論空燃比相当出力値に相当する。
【００３６】
ＥＣＵ４はデジタルコンピュータを中心として構成されているエンジン制御回路である。このＥＣＵ４は、上述したスロットル開度センサ２８、吸入空気量センサ３０、空燃比センサ４０、Ｏ2センサ４４以外にもエンジン２の運転状態を検出するセンサ類から信号を入力している。すなわちアクセルペダル４６の踏み込み量（アクセル開度ＡＣＣＰ）を検出するアクセル開度センサ４８、クランクシャフトの回転からエンジン回転数ＮＥを検出するエンジン回転数センサ５０、及び吸気カムシャフトの回転位相から基準クランク角を決定する基準クランク角センサ５２から信号を入力している。更にエンジン冷却水温ＴＨＷを検出する冷却水温センサ５４からも信号を入力している。尚、このようなセンサ以外にも各種のセンサが必要に応じて設けられる。
【００３７】
ＥＣＵ４は、上述した各センサからの検出内容に基づいて、燃料噴射弁１２、点火プラグ１４、あるいはスロットルバルブ用モータ２４に対する制御信号によりエンジン２の燃料噴射時期、燃料噴射量、点火時期及びスロットル開度ＴＡ等を制御する。そして前記燃料噴射量は目標空燃比、ここでは理論空燃比を達成するように空燃比センサ４０及びＯ2センサ４４の出力によりフィードバック制御されている。
【００３８】
次にＥＣＵ４により実行される制御の内、空燃比制御処理について説明する。本処理のフローチャートを図４に示す。本処理はクランクシャフトの一定回転毎（４気筒エンジンであれば、１８０°毎）に繰り返し実行される処理である。尚、個々の処理内容に対応するフローチャート中のステップを「Ｓ〜」で表す。
【００３９】
空燃比制御処理が開始されると、まずＯ2センサ４４による空燃比制御の補正を行うべき条件（サブ空燃比フィードバック条件）が成立しているか否かが判定される（Ｓ１０２）。このサブ空燃比フィードバック条件は、例えば、次の（１）〜（５）が挙げられる。（１）エンジン冷却水温ＴＨＷが規定値以上である。（２）エンジン２の始動が完了している。（３）始動後増量、暖機増量、パワー増量、触媒過熱防止のためのＯＴＰ増量などの燃料増量が実行中でなく、かつこのような増量が終了してから規定時間が経過している。（４）燃料カットが実行中でなく、かつ燃料カットが終了してから規定時間が経過している。（５）エンジン２の始動後、Ｏ2センサ４４の出力が少なくとも一度反転（リーン出力からリッチ出力、またはその逆の変化をしたこと、すなわちＯ2センサ４４が活性化したと判断されたこと）していること等である。そして、これらの条件が全部成立した時のみに、サブ空燃比フィードバック条件成立（Ｓ１０２で「ＹＥＳ」）と判定される。
【００４０】
ここでサブ空燃比フィードバック条件が成立しているとすると（Ｓ１０２で「ＹＥＳ」）、次に式１のごとく基準電圧Ｖos（ここでは理論空燃比で出力される０．４５Ｖ）とＯ2センサ４４が出力している出力電圧Ｖｏ2との差からＯ2センサ出力電圧偏差ΔＶｏ2が算出される（Ｓ１０４）。
【００４１】
［式１］  ΔＶｏ2  ←    Ｖos  −  Ｖｏ2
次にＯ2センサ出力電圧偏差ΔＶｏ2に基づいて積分値ＳＵＭ及びなまし積分値ＡＳＵＭが算出される（Ｓ１０６）。
【００４２】
積分値ＳＵＭについては式２のごとく算出される。尚、右辺の積分値ＳＵＭは前回算出時の値である。
［式２］  ＳＵＭ  ←  ＳＵＭ  ＋  ΔＶｏ2
なまし積分値ＡＳＵＭは、積分値ＳＵＭの短周期の変動を抑制した平均値的な値を示すものであり、式３のごとく上記積分値ＳＵＭの加重平均値として求められる。尚、右辺のなまし積分値ＡＳＵＭは前回算出時の値である。
【００４３】
［式３］  ＡＳＵＭ  ←  ｛（ｎ−１）・ＡＳＵＭ ＋ ＳＵＭ｝／ｎ
ここで数値ｎは、例えば１を越える値が設定されている。なお、加重平均値以外の処理でもよく、積分値ＳＵＭの変動を緩和した平均値的な値としてなまし積分値ＡＳＵＭが得られればよい。
【００４４】
積分値ＳＵＭ及びなまし積分値ＡＳＵＭが算出される（Ｓ１０６）と次にＯ2センサ出力電圧偏差ΔＶｏ2の変化量ｄΔＶｏ2が式４のごとく算出される（Ｓ１０８）。
［式４］  ｄΔＶｏ2  ←  ΔＶｏ2  −  ΔＶｏ2ｏｌｄ
ここで右辺の前回値ΔＶｏ2ｏｌｄは前回算出時のＯ2センサ出力電圧偏差ΔＶｏ2の値である。
【００４５】
次に上述したごとく算出されたＯ2センサ出力電圧偏差ΔＶｏ2、積分値ＳＵＭ及び変化量ｄΔＶｏ2に基づいて、式５のごとく空燃比センサ４０の出力電圧Ｖａｆを補正するための補正量ｄＶａｆが算出される（Ｓ１１０）。
【００４６】
［式５］  ｄＶａｆ ←
ＫＰ・ΔＶｏ2 ＋ ＫＩ・ＳＵＭ ＋ ＫＤ・ｄΔＶｏ2
ここで各係数ＫＰ，ＫＩ，ＫＤは予め実験により決定された値が用いられている。
【００４７】
尚、サブ空燃比フィードバック条件が成立していなければ（Ｓ１０２で「ＮＯ」）、補正量ｄＶａｆには以前のサブ空燃比フィードバック条件成立時に算出されている最新のなまし積分値ＡＳＵＭに基づいて、式６のごとく算出される（Ｓ１１２）。
【００４８】
［式６］  ｄＶａｆ  ←  ＫＩ・ＡＳＵＭ
ステップＳ１１０又はステップＳ１１２にて補正量ｄＶａｆが算出されると、次に補正量ｄＶａｆの学習処理（Ｓ１１３）が実行される。補正量学習処理を図５のフローチャートに示す。
【００４９】
補正量学習処理（図５）では、まず式７により補正量ｄＶａｆの加重平均値ｄＶａｆａｖｅが算出される（Ｓ１３２）。ここで右辺の加重平均値ｄＶａｆａｖｅは前回算出時の値である。
【００５０】
［式７］  ｄＶａｆａｖｅ  ←
｛（ｍ−１）・ｄＶａｆａｖｅ  ＋  ｄＶａｆ｝／ｍ
ここで数値ｍは、例えば１を越える値が設定されている。なお、加重平均値以外の処理でもよく、補正量ｄＶａｆの変動を緩和した平均値的な値が得られればよい。
【００５１】
次に学習条件が成立しているか否かが判定される（Ｓ１３４）。この学習条件は、例えば、次の（１），（２）等が挙げられる。（１）後述するＯ2センサ異常判定フラグＸｄｓｓ＝ＯＦＦ（異常ではない状態）である。（２）加重平均値ｄＶａｆａｖｅが適切に求められる基準回数以上継続して前記式７の計算がなされた。
【００５２】
これら（１），（２）の条件がすべて満足されていれば（Ｓ１３４でＹＥＳ）、今回のステップＳ１３２にて算出されている加重平均値ｄＶａｆａｖｅが、補正量ｄＶａｆの学習値ＤＶＧとしてＥＣＵ４内に備えられているバックアップＲＡＭに記憶される（Ｓ１３６）。
【００５３】
前記（１），（２）の条件の一つでも不成立であれば（Ｓ１３４でＮＯ）、このまま一旦、本処理を終了する。したがって、例えばＯ2センサ異常判定フラグＸｄｓｓがＯＦＦからＯＮに切り替わった場合には、学習値ＤＶＧは直前にＸｄｓｓ＝ＯＦＦの期間に算出されていた値を保持していることになる。
【００５４】
空燃比制御処理（図４）の説明に戻り、補正量学習処理（Ｓ１１３）が終了すると、次に補正量ｄＶａｆのガード処理（Ｓ１１４）が実行される。
この補正量ｄＶａｆのガード処理を図６のフローチャートに示す。
【００５５】
まず、補正量ｄＶａｆが「０（Ｖ）」以上か否かが判定される（Ｓ１５２）。ｄＶａｆ≧０であれば（Ｓ１５２で「ＹＥＳ」）、ｄＶａｆ≦ｄＶｇｒｄ（＋）か否かが判定される（Ｓ１５４）。ここでプラス側ガード値ｄＶｇｒｄ（＋）は、後述するガード値設定処理にて設定されている上限値であり、後述する学習値を基準として補正量ｄＶａｆに設定されている制限を表している。
【００５６】
ｄＶａｆ≦ｄＶｇｒｄ（＋）であれば（Ｓ１５４で「ＹＥＳ」）、補正量ｄＶａｆを変更せずにガード処理を一旦終了する。しかし、ｄＶａｆ＞ｄＶｇｒｄ（＋）であれば（Ｓ１５４で「ＮＯ」）、補正量ｄＶａｆの値にプラス側ガード値ｄＶｇｒｄ（＋）の値が設定される（Ｓ１５６）。このことで補正量ｄＶａｆの値がプラス側ガード値ｄＶｇｒｄ（＋）を上限として制限されることになる。こうして、ガード処理を一旦終了する。
【００５７】
一方、ｄＶａｆ＜０であれば（Ｓ１５２で「ＮＯ」）、ｄＶａｆ≧ｄＶｇｒｄ（−）か否かが判定される（Ｓ１５８）。このマイナス側ガード値ｄＶｇｒｄ（−）も、後述するガード値設定処理にて設定されている下限値であり、後述する学習値を基準として補正量ｄＶａｆに設定されている制限を表している。
【００５８】
ｄＶａｆ≧ｄＶｇｒｄ（−）であれば（Ｓ１５８で「ＹＥＳ」）、補正量ｄＶａｆを変更せずにガード処理を一旦終了する。しかし、ｄＶａｆ＜ｄＶｇｒｄ（−）であれば（Ｓ１５８で「ＮＯ」）、補正量ｄＶａｆの値にマイナス側ガード値ｄＶｇｒｄ（−）の値が設定される（Ｓ１６０）。このことで補正量ｄＶａｆの値がマイナス側ガード値ｄＶｇｒｄ（−）を下限として制限されることになる。こうして、ガード処理を一旦終了する。
【００５９】
図４の説明に戻り、上述したガード処理（Ｓ１１４）が終了すると、式８のごとく補正量ｄＶａｆにより空燃比センサ４０の出力電圧Ｖａｆが補正されて、制御用電圧値Ｖａｆｃが算出される（Ｓ１１６）。
【００６０】
［式８］  Ｖａｆｃ  ←  Ｖａｆ  ＋  ｄＶａｆ
そして制御用電圧値Ｖａｆｃに基づいて、フィードバック演算により、吸入空気量センサ３０から検出されている吸入空気量ＧＡに対して目標空燃比が達成される燃料噴射量ｆｉｎｊが、燃料噴射弁１２の開弁期間として算出される（Ｓ１１８）。そしてこの時間で表された燃料噴射量ｆｉｎｊの値が燃料噴射弁１２の駆動回路に設定される（Ｓ１２０）。このことにより燃焼室１０内に吸入される混合気の空燃比がフィードバック制御される。
【００６１】
図７にガード値設定処理を示す。本処理は一定時間周期で繰り返し実行される処理である。本処理が開始されると、まずＯ2センサ４４の出力電圧Ｖｏ2が読み込まれる（Ｓ１８２）。
【００６２】
次にモニタ条件が成立しているか否かが判定される（Ｓ１８４）。ここでモニタ条件とは、Ｏ2センサ４４の出力電圧Ｖｏ2からＯ2センサ４４自身の出力異常が判定できる状態にあるかを判定するための条件である。例えば、「（１）Ｏ2センサ４４の活性化完了、（２）サブ空燃比フィードバック制御実行中（前記図４のステップＳ１０４〜Ｓ１１０の実行中）、（３）燃料カットからの復帰後に規定時間経過、（４）吸入空気量ＧＡが規定値以上に大きい、（５）アイドル状態ではない」を条件とする。尚、（３）は、燃料カットからの復帰後に燃料カットによる影響が無くなるまで待機するためであり、（４）及び（５）はＯ2センサ４４に素子割れが生じていることが明確に出力電圧Ｖｏ2に現れるようにするために排気の背圧を十分に高めるために条件とされている。
【００６３】
モニタ条件が成立していれば（Ｓ１８４で「ＹＥＳ」）、次にモニタ時間Ｍｔのカウントアップが実行される（Ｓ１８６）。このモニタ時間ＭｔはＥＣＵ４の立ち上がり時の初期設定にて「０」に設定されており、モニタ条件成立時のトータルの経過時間をカウントするためのタイマーカウンタである。
【００６４】
次に出力電圧Ｖｏ2が０．０５Ｖより低いか否かが判定される（Ｓ１８８）。ここでＯ2センサ４４が正常であった場合の出力電圧Ｖｏ2の出現頻度分布を図８(Ａ)に示す。棒グラフは０．０５Ｖ間隔での出現頻度を示している。
【００６５】
このようにＯ2センサ４４が正常である場合には、サブ空燃比フィードバック制御時には０．４５Ｖを中心にして低電圧側と高電圧側でほぼ同等の頻度で出現し、０Ｖ≦Ｖｏ2＜０．０５Ｖである極めてリーンの領域では非常に出現頻度が小さくなっている。
【００６６】
図８(Ｂ)は初期の素子割れにより排気がわずかにＯ2センサ４４の大気側に漏れている状態を示している。この排気のわずかな漏れのため、Ｏ2センサ４４の出力電圧Ｖｏ2はリーン側に傾き、０Ｖ≦Ｖｏ2＜０．０５Ｖの領域については出現頻度が急増している。
【００６７】
図８(Ｃ)は素子割れが進んで、図８(Ｂ)の場合よりも更に多くの排気がＯ2センサ４４の大気側に漏れている状態を示している。このためＯ2センサ４４の出力電圧Ｖｏ2はリーン側のみの出力となり、０Ｖ≦Ｖｏ2＜０．０５Ｖの領域については極めて大きい出現頻度となっている。
【００６８】
このように素子割れによる影響が、０Ｖ≦Ｖｏ2＜０．０５Ｖの領域にて、Ｏ2センサ４４の出力電圧Ｖｏ2の出現頻度として明確に現れる。ステップＳ１８８におけるＶｏ2＜０．０５Ｖか否かの判定は、この領域についての出現頻度を求めるための判定である。
【００６９】
ここでＶｏ2＜０．０５Ｖであれば（Ｓ１８８で「ＹＥＳ」）、過大リーン時間Ｌｔのカウントアップが実行される（Ｓ１９０）。この過大リーン時間ＬｔはＥＣＵ４の立ち上がり時の初期設定にて「０」に設定されており、０Ｖ≦Ｖｏ2＜０．０５Ｖである時のトータルの経過時間をカウントするためのタイマーカウンタである。
【００７０】
ステップＳ１９０の後、あるいはＶｏ2≧０．０５Ｖ（Ｓ１８８で「ＮＯ」）と判定された後は、モニタ時間Ｍｔがモニタ基準時間Ｊｔ以上となったか否かが判定される（Ｓ１９２）。ここでＭｔ＜Ｊｔであれば（Ｓ１９２で「ＮＯ」）、このまま一旦本処理を終了する。
【００７１】
上述した処理を繰り返すことで、モニタ時間Ｍｔ≧Ｊｔとなれば（Ｓ１９２で「ＹＥＳ」）、式９に示すごとく、モニタ時間Ｍｔ内において０Ｖ≦Ｖｏ2＜０．０５Ｖである時の出現頻度Ｌｒ(％)を算出する（Ｓ１９４）。
【００７２】
［式９］  Ｌｒ  ←  １００・Ｌｔ／Ｍｔ
そして、この出現頻度Ｌｒを用いて、前述したガード値ｄＶｇｒｄ（＋），ｄＶｇｒｄ（−）を設定するためのガード値算出処理（Ｓ１９６）を実行する。
【００７３】
ガード値算出処理を図９に示す。本処理では、まず、Ｏ2センサ異常判定フラグＸｄｓｓがＯＮか否かが判定される（Ｓ２０２）。
Ｏ2センサ異常判定フラグＸｄｓｓは後述するＯ2センサ異常判定処理（図１０）にて設定される。
【００７４】
ここでＸｄｓｓ＝ＯＦＦに設定されていれば（Ｓ２０２でＮＯ）、次にプラス側ガード値ｄＶｇｒｄ（＋）に予め設定されている上限ガード値Ｇｐの値が設定される（Ｓ２０４）。そしてマイナス側ガード値ｄＶｇｒｄ（−）に予め設定されている下限ガード値Ｇｍの値が設定される（Ｓ２２０）。尚、本実施の形態では、上限ガード値Ｇｐとして「０．３Ｖ」が、下限ガード値Ｇｍとして「−０．３Ｖ」が設定されている。
【００７５】
すなわち図１１〜図１３に示すごとくＸｄｓｓ＝ＯＦＦの領域では、ｄＶｇｒｄ（＋）＝Ｇｐ、及びｄＶｇｒｄ（−）＝Ｇｍとなり、それぞれ一定値に固定されることになる。尚、図１２は図１１の場合よりも学習値ＤＶＧが大きい場合、図１３は学習値ＤＶＧがマイナス側にある場合を示している。
【００７６】
Ｘｄｓｓ＝ＯＮに設定されている場合には（Ｓ２０２でＹＥＳ）、第１制限値Ａが関数（あるいはマップ）ｆａからガード値設定処理（図７）のステップＳ１９４にて求められている出現頻度Ｌｒに基づいて算出される（Ｓ２０６）。
【００７７】
ここで関数ｆａ（Ｌｒ）は式１０のごとく表される。
［式１０］  Ａ  ←  Ｇｐ  −  Ｋａ（Ｌｒ  −  Ｌｉｍ）
ここで、係数Ｋａは出現頻度Ｌｒの変化を第１制限値Ａに反映する感度に関係し、比較的大きな感度に設定してある。異常判定値Ｌｉｍは後述するＯ2センサ異常判定処理（図１０）にて出現頻度Ｌｒの異常状態を判定するための基準値である。例えば、異常判定値Ｌｉｍ＝３０％に設定されている。
【００７８】
次に制限幅Ｂが関数（あるいはマップ）ｆｂから出現頻度Ｌｒに基づいて算出される（Ｓ２０８）。
ここで関数ｆｂ（Ｌｒ）は式１１のごとく表される。
【００７９】
［式１１］  Ｂ  ←  −Ｋｂ・Ｌｒ  ＋  Ｃ
ここで、係数Ｋｂは出現頻度Ｌｒの変化を制限幅Ｂに反映する感度に関係し、比較的小さな感度（Ｋａ＞Ｋｂ）に設定してある。定数Ｃは「Ｃ＞Ｋｂ・１００」に設定されている。
【００８０】
そして式１２のごとく、この制限幅ＢにバックアップＲＡＭに記憶されている学習値ＤＶＧを加えて、第２制限値ＧＢが設定される（Ｓ２１０）。
［式１２］  ＧＢ  ←  Ｂ  ＋  ＤＶＧ
すなわち図１１〜図１３に示すごとくＸｄｓｓ＝ＯＮの領域に示したごとく、第１制限値Ａのラインと、第２制限値ＧＢのラインとの２本の制限値ラインが設定されていることになる。
【００８１】
次に第１制限値Ａが第２制限値ＧＢよりも大きいか否かが判定される（Ｓ２１２）。ここでＡ＞ＧＢであれば（Ｓ２１２でＹＥＳ）、プラス側ガード値ｄＶｇｒｄ（＋）には第１制限値Ａが設定される（Ｓ２１４）。
【００８２】
一方、Ａ≦ＧＢであれば（Ｓ２１２でＮＯ）、ＧＢ＜Ｇｐか否かが判定される（Ｓ２１６）。ＧＢ＜Ｇｐであれば（Ｓ２１６でＹＥＳ）、プラス側ガード値ｄＶｇｒｄ（＋）には第２制限値ＧＢが設定される（Ｓ２１８）。ＧＢ≧Ｇｐであれば（Ｓ２１６でＮＯ）、プラス側ガード値ｄＶｇｒｄ（＋）に予め設定されている上限ガード値Ｇｐの値が設定される（Ｓ２０４）。
【００８３】
そしてステップＳ２１４，Ｓ２１８、又はＳ２０４にて、プラス側ガード値ｄＶｇｒｄ（＋）が設定された後には、マイナス側ガード値ｄＶｇｒｄ（−）に予め設定されている下限ガード値Ｇｍの値が設定される（Ｓ２２０）。こうして一旦本処理を終了する。
【００８４】
特に、何らかの原因でＧＢ≧Ｇｐであるような特別な場合を除いて、図１１〜図１３に示すごとくＸｄｓｓ＝ＯＮの領域では、実線にて示すごとく第１制限値Ａと第２制限値ＧＢとの内で大きい方の値がプラス側ガード値ｄＶｇｒｄ（＋）に設定されることになる。
【００８５】
尚、第２制限値ＧＢがプラス側ガード値ｄＶｇｒｄ（＋）に設定された場合には、プラス側ガード値ｄＶｇｒｄ（＋）は学習値ＤＶＧを基準として制限幅Ｂ分上方に設定されることになる。
【００８６】
次にＯ2センサ異常判定処理（図１０）について説明する。本処理は一定時間周期で繰り返し実行される。
本処理が開始されると、まず判定条件が成立しているか否かが判定される（Ｓ２４２）。この判定条件は、ここではガード値設定処理（図７）のモニタ条件が成立していることを条件としている。したがって前記モニタ条件不成立であれぱ（Ｓ２４２でＮＯ）、本処理では実質的な処理はなされない。
【００８７】
前記モニタ条件が成立していれば（Ｓ２４２でＹＥＳ）、次に判定経過時間カウンタＣＮＴがインクリメントされる（Ｓ２４４）。尚、判定経過時間カウンタＣＮＴはＥＣＵ４の起動時においてＣＮＴ＝０に初期設定されているカウンタである。
【００８８】
次に前記ガード値設定処理（図７）のステップＳ１９４にて求められている出現頻度Ｌｒが異常判定値Ｌｉｍ以上か否かが判定される（Ｓ２４６）。Ｌｒ≧Ｌｉｍであれば（Ｓ２４６でＹＥＳ）、異常累積カウンタＣＳＮＧがインクリメントされる（Ｓ２４８）。尚、異常累積カウンタＣＳＮＧはＥＣＵ４の起動時においてＣＳＮＧ＝０に初期設定されているカウンタである。
【００８９】
又、Ｌｒ＜Ｌｉｍであれば（Ｓ２４６でＮＯ）、異常累積カウンタＣＳＮＧのインクリメントはなされない。
そしてステップＳ２４８の後、あるいはステップＳ２４６にてＮＯと判定されると、判定経過時間カウンタＣＮＴが判定可能時間値Ｔ１以上か否かが判定される（Ｓ２５０）。ＣＮＴ＜Ｔ１であれば（Ｓ２５０でＮＯ）、判定条件成立から十分な時間が経過していないとして、このまま一旦本処理を終了する。
【００９０】
一方、ＣＮＴ≧Ｔ１であれば（Ｓ２５０でＹＥＳ）、次に異常累積カウンタＣＳＮＧが異常状態累積時間値Ｔ２以上か否かが判定される（Ｓ２５２）。この異常状態累積時間値Ｔ２は、Ｌｒ≧Ｌｉｍである状態、すなわち異常状態であることを確実に判断できる累積時間を表す。
【００９１】
ここでＣＳＮＧ≧Ｔ２であれば（Ｓ２５２でＹＥＳ）、確実に異常状態であるとしてＯ2センサ異常判定フラグＸｄｓｓにＯＮを設定する（Ｓ２５４）。ＣＳＮＧ＜Ｔ２であれば（Ｓ２５２でＮＯ）、異常状態ではないとしてＯ2センサ異常判定フラグＸｄｓｓにＯＦＦを設定する（Ｓ２５６）。
【００９２】
ステップＳ２５４又はＳ２５６にて、Ｏ2センサ異常判定フラグＸｄｓｓが設定されると、判定経過時間カウンタＣＮＴの値をクリアし（Ｓ２５８）、更に異常累積カウンタＣＳＮＧの値をクリアして（Ｓ２６０）、本処理を一旦終了する。
【００９３】
本実施の形態による制御の一例を図１４のタイミングチャートに示す。ここで時刻ｔ０以前では「０Ｖ≦Ｖｏ2＜０．０５Ｖ」の出現頻度ＬｒはＬｉｍ未満であり、プラス側ガード値ｄＶｇｒｄ（＋）＝「０．３Ｖ」、マイナス側ガード値ｄＶｇｒｄ（−）＝「−０．３Ｖ」である。このため補正量ｄＶａｆは正常時の範囲である「−０．３Ｖ〜０．３Ｖ」の範囲に規制されている。
【００９４】
出現頻度ＬｒがＬｉｍ以上となりＸｄｓｓ＝ＯＮになると（ｔ０）、第１制限値Ａによる中間領域を経過した後は、出現頻度Ｌｒの上昇に応じて制限幅Ｂは小さくなる。この制限幅Ｂは学習値ＤＶＧからの幅であるので、プラス側ガード値ｄＶｇｒｄ（＋）は学習値ＤＶＧを基準とした位置から制限幅Ｂの位置に設定されることになる。
【００９５】
上述した構成における請求項との対応関係は、空燃比センサ４０が上流側センサに、Ｏ2センサ４４が下流側センサに相当する。ガード値設定処理（図７）のステップＳ１８６〜Ｓ１９４の処理及びＯ2センサ異常判定処理（図１０）が下流側センサ異常状態検出手段としての処理に相当する。補正量学習処理（図５）が補正量学習手段としての処理に相当する。ガード値算出処理（図９）が補正量調節手段としての処理に相当する。第２制限値ＧＢが異常時用限界であり、制限幅Ｂが異常時用限界の幅に相当する。
【００９６】
以上説明した本実施の形態１によれば、以下の効果が得られる。
（イ）．何らかの原因、ここでは素子割れに起因して触媒コンバータ３８の下流側に存在するＯ2センサ４４の出力電圧Ｖｏ2が標準とするセンサ出力電圧からずれた場合には、図８に示すごとく出現頻度分布に明確に現れる。例えば素子割れでは、標準の出現頻度分布に対してリーン側にずれることになる。
【００９７】
本実施の形態では、この出力頻度分布の状態を、０Ｖ≦Ｖｏ2＜０．０５Ｖとなる出現頻度Ｌｒの値により検出し、この出現頻度Ｌｒの値に応じて制限幅Ｂを設定し、補正量ｄＶａｆの学習値ＤＶＧに加えてプラス側ガード値ｄＶｇｒｄ（＋）を設定している。
【００９８】
したがって、まず制限幅ＢによりＯ2センサ４４の異常状態の程度を補正量ｄＶａｆに反映できる。そして学習値ＤＶＧを基準にして制限幅Ｂが設定されることにより、プラス側ガード値ｄＶｇｒｄ（＋）には空燃比センサ４０の特性ばらつきも反映される。このためＯ2センサ４４の異常状態の程度と共に、空燃比センサ４０の特性ばらつきも吸収できる適切な範囲に補正量ｄＶａｆを制限することができる。
【００９９】
このようにして触媒コンバータ３８の下流にあるＯ2センサ４４の出力に起因した空燃比異常を適切に抑制することができ、Ｏ2センサ４４の異常時のエミッションの悪化を確実に防止することができる。
【０１００】
（ロ）．Ｏ2センサ４４が素子割れによりリーン側に出力値がずれるのを検出する手法として、リーン側に基準出力値（本実施の形態では０．０５Ｖ）を設けて、この基準出力値よりも更にリーン側の出力値の出現頻度ＬｒをＯ2センサ４４の異常状態の程度として検出している。このように出現頻度Ｌｒを算出することで、Ｏ2センサ４４の異常状態の程度が容易に検出できる。
【０１０１】
［その他の実施の形態］
（ａ）．前記実施の形態においては、図１１〜図１３に示したごとくプラス側ガード値ｄＶｇｒｄ（＋）を変化させたが、これ以外のパターンでプラス側ガード値ｄＶｇｒｄ（＋）を変化させても良い。例えば図１５〜図１８に示すごとく変化させても良い。
【０１０２】
図１５の場合は、プラス側ガード値ｄＶｇｒｄ（＋）に第２制限値ＧＢを設定する場合においては、制限幅Ｂを出現頻度Ｌｒに応じて変化させずに一定としている。
図１６の場合は、第１制限値Ａは設けずに、Ｘｄｓｓ＝ＯＮの領域では全て第２制限値ＧＢをプラス側ガード値ｄＶｇｒｄ（＋）に設定している。
【０１０３】
図１７の場合は、第１制限値Ａは設けず、更に制限幅Ｂを出現頻度Ｌｒに応じて変化させずに一定としている。
図１８の場合は、第１制限値Ａは存在するが、Ｂ＝０で一定である。
【０１０４】
尚、前記図１７の例においてＢ＝０としても良い。
図１５〜図１８のいずれの場合においても、第２制限値ＧＢの設定時にはプラス側ガード値ｄＶｇｒｄ（＋）は学習値ＤＶＧを基準として設定されている。
【０１０５】
（ｂ）．前記実施の形態ではＯ2センサ４４における出力電圧Ｖｏ2の出現頻度を、「０．０５Ｖ」を境界（基準出力値）としてこれよりもリーン側の出現頻度を求めたが、エンジンの種類、三元触媒の種類、あるいはＯ2センサの種類によっては適切な基準出力値は異なる。したがって基準出力値は「０．０５Ｖ」に限られるものではなく、実験によりＯ2センサの異常を判定するための適切な基準出力値を求めて設定することにより、前記実施の形態１の効果を生じさせることができる。
【０１０６】
（ｃ）．前記実施の形態ではＯ2センサの出力電圧Ｖｏ2の出現頻度の割合により、制限幅Ｂを変更したが、これ以外に次のようにしても良い。すなわち基準電圧Ｖosよりもリーン側の出現頻度ピーク値とリッチ側の出現頻度ピーク値との比あるいは差を計算し、リーン側の出現頻度ピーク値の方が或る程度以上大きい場合に、前記比あるいは差に応じて、制限幅Ｂを小さくするように設定しても良い。
【０１０７】
（ｄ）．前記実施の形態では、空燃比制御処理（図４）に示したごとく、Ｏ2センサの出力電圧Ｖｏ2の値に基づいて補正量ｄＶａｆを求めて空燃比センサ４０の出力電圧Ｖａｆを補正していたが、これ以外の手法でＯ2センサの出力電圧Ｖｏ2を空燃比制御に反映させても良い。
【０１０８】
例えば、空燃比制御処理（図４）のステップＳ１１６で前記式８の計算は実行せずに、ステップＳ１１８での燃料噴射量ｆｉｎｊ演算時に、補正量ｄＶａｆに相当する燃料噴射補正量又は燃料噴射量補正係数を燃料噴射量ｆｉｎｊに加算あるいは減算、又は掛け算する。このことによりＯ2センサの出力電圧Ｖｏ2を空燃比制御に反映させることができる。そしてこの燃料噴射補正量又は燃料噴射量補正係数に対して前記ガード値ｄＶｇｒｄ（＋），ｄＶｇｒｄ（−）に相当する燃料補正量ガード値を設定して制限する。この制限において燃料噴射量ｆｉｎｊを増量する補正の場合には、プラス側燃料補正量ガード値を前記図１１〜１３，１５〜１８に示したごとく設定することにより、前記実施の形態と同様の効果を生じさせることができる。
【０１０９】
（ｅ）．前記各実施の形態では触媒コンバータの上流側に設けたセンサは、図２に示したごとく空燃比に対応して徐々に変化する電圧Ｖａｆ信号を出力する空燃比センサを用いたが、図３に示したごとく理論空燃比を中心として急激に出力が変化するＯ2センサを上流側センサとして用いても良い。
【０１１０】
この場合にも上流側Ｏ2センサの出力電圧値を、下流側Ｏ2センサの出力電圧Ｖｏ2の値から求めた補正量ｄＶａｆにて補正しても良い。あるいは上流側Ｏ2センサの出力電圧値から求められる燃料噴射量を前記（ｄ）のごとく補正しても良い。この補正において前述したごとく制限することにより前記実施の形態と同様の効果を生じさせることができる。
【０１１１】
又、この場合の空燃比を補正する手法としては、上流側Ｏ2センサがリーン（＜Ｖos）とリッチ（＞Ｖos）との間で変化した時にステップ的に燃料を増減させるスキップ燃料補正量を設けている場合には、このスキップ燃料補正量を下流側Ｏ2センサの出力電圧Ｖｏ2の値に応じて補正しても良い。そしてリーン（＜Ｖos）からリッチ（＞Ｖos）に変化した場合の増量側スキップ燃料補正量に対して、Ｏ2センサの出力電圧Ｖｏ2の出現頻度分布に基づいて制限するようにしても良い。
【０１１２】
（ｆ）．前記実施の形態では触媒コンバータ下流側のＯ2センサの代わりに、図２に示したごとく空燃比に対応して徐々に変化する電圧信号を出力する空燃比センサを用いても良い。
【０１１３】
この場合も、上流側のセンサの出力電圧値を、下流側の空燃比センサの出力電圧値に基づいて求めた補正量ｄＶａｆにて補正する。あるいは（ｄ）のように燃料噴射量を補正する。そしてこのような空燃比センサについても、素子割れ等により出力値の出現頻度分布はリーン側にシフト（この場合は高電圧側へシフト）する。したがって、このような出現頻度分布の変化程度に応じて補正量ｄＶａｆや燃料噴射補正量を前述したごとく制限することにより前記実施の形態と同様の効果を生じさせることができる。
【０１１４】
又、上流側にＯ2センサを用いた場合には増量側のスキップ補正量を（ｅ）で述べたごとく制限しても良い。
（ｇ）．前記実施の形態では、Ｏ2センサ異常判定フラグＸｄｓｓ＝ＯＮ時において、学習値ＤＶＧを基準として制限幅Ｂにて設定されるのは、プラス側ガード値ｄＶｇｒｄ（＋）のみであった。これに加えて、マイナス側ガード値ｄＶｇｒｄ（−）については、Ｘｄｓｓ＝ＯＮ時には、学習値ＤＶＧを基準として制限幅＝「−０．３Ｖ」(マイナス側へ「０．３Ｖ」)に一定にして設定しても良い。
【図面の簡単な説明】
【０１１５】
【図１】実施の形態１のエンジン及びＥＣＵの概略構成図。
【図２】触媒コンバータ上流の空燃比センサによる排気空燃比と出力電圧Ｖａｆとの関係を示すグラフ。
【図３】触媒コンバータ下流のＯ2センサによる排気空燃比と出力電圧Ｖｏ2との関係を示すグラフ。
【図４】実施の形態１のＥＣＵが実行する空燃比制御処理のフローチャート。
【図５】同じく補正量学習処理のフローチャート。
【図６】同じく補正量ｄＶａｆのガード処理のフローチャート。
【図７】同じくガード値設定処理のフローチャート。
【図８】Ｏ2センサの出力電圧Ｖｏ2の出現頻度分布における正常状態及び異常状態の程度を示すグラフ。
【図９】実施の形態１のＥＣＵが実行するガード値算出処理のフローチャート。
【図１０】同じくＯ2センサ異常判定処理のフローチャート。
【図１１】実施の形態１におけるプラス側ガード値ｄＶｇｒｄ（＋）とマイナス側ガード値ｄＶｇｒｄ（−）との設定状態説明図。
【図１２】同じくプラス側ガード値ｄＶｇｒｄ（＋）とマイナス側ガード値ｄＶｇｒｄ（−）との設定状態説明図。
【図１３】同じくプラス側ガード値ｄＶｇｒｄ（＋）とマイナス側ガード値ｄＶｇｒｄ（−）との設定状態説明図。
【図１４】実施の形態１の処理の一例を示すタイミングチャート。
【図１５】他の実施の形態におけるプラス側ガード値ｄＶｇｒｄ（＋）とマイナス側ガード値ｄＶｇｒｄ（−）との設定状態説明図。
【図１６】他の実施の形態におけるプラス側ガード値ｄＶｇｒｄ（＋）とマイナス側ガード値ｄＶｇｒｄ（−）との設定状態説明図。
【図１７】他の実施の形態におけるプラス側ガード値ｄＶｇｒｄ（＋）とマイナス側ガード値ｄＶｇｒｄ（−）との設定状態説明図。
【図１８】他の実施の形態におけるプラス側ガード値ｄＶｇｒｄ（＋）とマイナス側ガード値ｄＶｇｒｄ（−）との設定状態説明図。
【符号の説明】
【０１１６】
２…エンジン、２ａ…吸気バルブ、２ｂ…排気バルブ、４…ＥＣＵ、１０…燃焼室、１２…燃料噴射弁、１４…点火プラグ、１６…吸気ポート、２０…吸気通路、２２…サージタンク、２４…スロットルバルブ用モータ、２６…スロットルバルブ、２８…スロットル開度センサ、３０…吸入空気量センサ、３２…排気ポート、３６…排気通路、３８…触媒コンバータ、４０…空燃比センサ、４４…センサ、４６…アクセルペダル、４８…アクセル開度センサ、５０…エンジン回転数センサ、５２…基準クランク角センサ、５４…冷却水温センサ。
【図１】
2005337139.tif 000003
【図２】
2005337139.tif 000004
【図３】
2005337139.tif 000005
【図４】
2005337139.tif 000006
【図５】
2005337139.tif 000007
【図６】
2005337139.tif 000008
【図７】
2005337139.tif 000009
【図８】
2005337139.tif 000010
【図９】
2005337139.tif 000011
【図１０】
2005337139.tif 000012
【図１１】
2005337139.tif 000013
【図１２】
2005337139.tif 000014
【図１３】
2005337139.tif 000015
【図１４】
2005337139.tif 000016
【図１５】
2005337139.tif 000017
【図１６】
2005337139.tif 000018
【図１７】
2005337139.tif 000019
【図１８】
2005337139.tif 000020