(57)【要約】【課題】  診断頻度を低下させることなく、高精度な診断結果を得ることができる空燃比センサの異常診断装置を提供する。【解決手段】  ＥＣＵ４９は、診断値ｔ（ｎ）が補正許可上限値Ｂよりも小さいとき、外乱のないときに正常な空燃比センサ３３で得られる標準的な診断値である補正標準値Ａを診断値ｔ（ｎ）から減算することで、該診断値ｔ（ｎ）にオフセット量として含まれていると考え得る値を外乱補正値Δｔ（ｎ）として演算し、各診断値ｔ（ｎ）の平均値ｔaveと異常判定値Ｃとの比較に基づいて空燃比センサ３３の異常判定を行う際に、各外乱補正値Δｔ（ｎ）の平均値Δｔaveを用いて異常判定値Ｃを補正することにより、外乱の影響を的確に考慮した上で、空燃比センサ３３の異常判定を行う。【選択図】  図３
2006328975.tif 000002
【特許請求の範囲】
【請求項１】
エンジンが予め設定した運転状態にあるとき、予め設定した空燃比制御を行って空燃比センサの応答に係る診断値を複数回計測する診断値計測制御手段と、
上記各診断値の平均値と予め設定した異常判定値との比較に基づいて上記空燃比センサが異常であるか否かを判定する異常判定手段と、
上記診断値計測手段で計測した上記各診断値を、正常な空燃比センサで予め複数回計測した各正常診断値の平均値と異常な空燃比センサで予め複数回計測した各異常診断値の平均値との間の値に予め設定した補正許可上限値とそれぞれ比較し、上記診断値が上記補正許可上限値よりも小さいとき当該診断値から予め設定した補正標準値を減算して外乱補正値を演算する一方、上記診断値が上記補正許可上限値よりも大きいとき当該診断値に対する外乱補正値を零に設定する外乱補正値演算手段と、
上記異常判定手段による判定時に、上記各外乱補正値の平均値に基づいて上記各診断値の平均値と上記異常判定値との相対関係を補正する補正手段とを備えたことを特徴とする空燃比センサの異常診断装置。
【請求項２】
上記補正許可上限値は、上記各正常診断値の平均値に当該各正常診断値の正規分布の標準偏差の８倍値を最大値とする予め定められた値を加算した値を基準として設定されていることを特徴とする請求項１記載の空燃比センサの異常診断装置。
【請求項３】
上記補正許可上限値は、上記各異常診断値の平均値から当該各異常診断値の正規分布の標準偏差の４倍値を最大値とする予め定められた値を減算した値を基準として設定されていることを特徴とする請求項１または請求項２記載の空燃比センサの異常診断装置。
【請求項４】
上記補正標準値は、上記各正常診断値の平均値を基準として設定されていることを特徴とする請求項１乃至請求項３の何れか１つに記載の空燃比センサの異常診断装置。
【請求項５】
上記異常判定手段により上記空燃比センサが異常であることを判定した場合であっても、上記各診断値の平均値が上記異常判定値よりも大値側に設定した第２の異常判定値よりも小さいとき、上記空燃比センサの異常の判定をキャンセルする異常判定キャンセル手段を備えたことを特徴とする請求項１乃至請求項４の何れか１つに記載の空燃比センサの異常診断装置。
【請求項６】
上記異常判定手段により上記空燃比センサが異常でありことを判定した場合であっても、上記各診断値の最小値が上記異常判定値よりも小値側に設定した第３の異常判定値よりも小さいとき、上記空燃比センサの異常の判定をキャンセルする異常判定キャンセル手段を備えたことを特徴とする請求項１乃至請求項５の何れか１つに記載の空燃比センサの異常診断装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジンの排気ガス中の酸素濃度から理論空燃比を含むリッチからリーンにかけての空燃比をリニアに検出する広域空燃比センサの異常診断装置に関する。
【背景技術】
【０００２】
従来より、広域空燃比センサの異常診断を行うための技術として、エンジンが予め設定された運転状態（定常状態）にあるとき、所定の空燃比制御を行って空燃比センサの応答に係る診断値を計測し、この診断値が異常判定値を超えたとき空燃比センサの異常を判定する技術が知られている。
【０００３】
ところで、この種の異常診断によって高精度な診断結果を得るためには、連続的に複数回繰り返して計測した診断値に基づいて、空燃比センサが異常か否かの最終的な判定を行うことが好ましい。そこで、例えば、特許文献１には、目標空燃比をリーンからリッチに判定させた時点から空燃比センサの検出値が目標空燃比（リッチ側目標値）を横切るまでの時間を診断値として繰り返し計測し、診断値が２回連続して所定値（異常判定値）を超えたとき、或いは、所定割合の診断値が異常判定値を超えたとき、空燃比センサの異常を判定する技術が開示されている。
【特許文献１】特開平１０−１６９４９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
その一方で、この種の異常診断では、エンジンの定常状態が継続して維持されていることを前提としており、診断値の計測時に加減速のある過渡状態等が介在すると、その外乱によって正しい診断結果を得ることが困難となる。
【０００５】
従って、上述の特許文献１に開示された技術のように、異常診断時に診断値を複数回計測する技術では、異常診断可能な機会が限定されてしまい、十分な診断頻度を確保することが困難となる虞がある。
【０００６】
本発明は上記事情に鑑みてなされたもので、診断頻度を低下させることなく、高精度な診断結果を得ることができる空燃比センサの異常診断装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、エンジンが予め設定した運転状態にあるとき、予め設定した空燃比制御を行って空燃比センサの応答に係る診断値を複数回計測する診断値計測制御手段と、上記各診断値の平均値と予め設定した異常判定値との比較に基づいて上記空燃比センサが異常であるか否かを判定する異常判定手段と、上記診断値計測手段で計測した上記各診断値を、正常な空燃比センサで予め複数回計測した各正常診断値の平均値と異常な空燃比センサで予め複数回計測した各異常診断値の平均値との間の値に予め設定した補正許可上限値とそれぞれ比較し、上記診断値が上記補正許可上限値よりも小さいとき当該診断値から予め設定した補正標準値を減算して外乱補正値を演算する一方、上記診断値が上記補正許可上限値よりも大きいとき当該診断値に対する外乱補正値を零に設定する外乱補正値演算手段と、上記異常判定手段による判定時に、上記各外乱補正値の平均値に基づいて上記各診断値の平均値と上記異常判定値との相対関係を補正する補正手段とを備えたことを特徴とする。
【発明の効果】
【０００８】
本発明の空燃比センサの異常診断装置によれば、診断頻度を低下させることなく、高精度な診断結果を得ることができる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照して本発明の形態を説明する。図面は本発明の一形態に係わり、図１はエンジン制御系の概略構成図、図２は燃料噴射パルス幅と噴射タイミングの設定ルーチンを示すフローチャート、図３は空燃比センサの異常診断ルーチンを示すフローチャート、図４は空燃比ステップ応答制御時の目標空燃比と空燃比センサ出力との関係を示すタイムチャート、図５は診断値及び外乱補正値の一例を示す図表である。
【００１０】
図１において、符号１はエンジンを示し、本実施形態においては水平対向４気筒エンジンである。このエンジン１のシリンダヘッド２に形成された各吸気ポート２ａにはインテークマニホルド３が連通され、インテークマニホルド３に、各気筒の吸気通路が集合するエアチャンバ４を介して吸気管５が連通されている。
【００１１】
また、吸気管５の吸入空気取入口側にエアクリーナ６が取り付けられ、このエアクリーナ６の下流に、例えばホットワイヤ式の吸入空気量センサ７が介装されている。さらに、吸気管５の中途にはスロットルバルブ８が介装され、このスロットルバルブ８に、スロットル開度を検出するスロットルセンサ９が連設されている。
【００１２】
また、インテークマニホルド３には、各気筒の各吸気ポート２ａの直上流側にインジェクタ１０が臨まされている。さらに、シリンダヘッド２には、先端を燃焼室に露呈する点火プラグ１１が気筒毎に取り付けられている。この点火プラグ１１には、点火コイル１２が連設され、この点火コイル１２にはイグナイタ１３が接続されている。
【００１３】
また、エンジン１のシリンダヘッド２に形成された冷却水路２３には、水温センサ２４が臨まされている。また、シリンダブロック１ａに支承されたクランクシャフト１ｂに、クランク角検出用のクランクロータ２５が軸着され、このクランクロータ２５の外周に、電磁ピックアップ等からなるクランク角センサ２６が対設されている。さらに、クランクシャフト１ｂには、クランク角検出用のクランクロータ２５と同軸的に、気筒判別用のクランクロータ２７が軸着されており、この気筒判別用のクランクロータ２７の外周に、電磁ピックアップ等からなる気筒判別センサ２８が対設されている。
【００１４】
また、シリンダヘッド２の各排気ポート２ｂには、エグゾーストマニホルド２９が連通され、このエグゾーストマニホルド２９によって各気筒からの排気通路が合流する合流部には触媒コンバータ３０を介して排気管３１が連通されている。この排気管３１の終端にはマフラ３２が配設され、触媒コンバータ３０の上流側には、排気ガス中の酸素濃度から理論空燃比を含むリッチからリーンにかけての空燃比をリニアに検出する空燃比センサ（広域空燃比センサ）３３が介装されている。
【００１５】
また、図中符号４０は、エンジン１の電子制御を行う電子制御ユニット（ＥＣＵ）を示す。このＥＣＵ４０は、マイクロコンピュータを中心として構成され、メモリに記憶されている制御プログラムに従い、各センサ、スイッチ類からの出力信号を読み込んでエンジン運転状態を検出し、検出したエンジン運転状態に基づいて、燃料噴射量（燃料噴射パルス幅）及び噴射タイミング、点火時期等を演算し、エンジン制御を所定周期毎に実行する。
【００１６】
次に、ＥＣＵ４０で実行される燃料噴射パルス幅及び噴射タイミングの設定ルーチンについて、図２に示すフローチャートに従って説明する。このルーチンは所定時間毎に繰り返し実行されるもので、先ず、ステップＳ１０１において、ＥＣＵ４０は、例えば、水温センサ２４で検出した冷却水温度ＴＷに基づき、ＲＯＭ内に格納された燃料噴射終了磁気マップを参照して燃料噴射終了時期（角度）ＩＮＪENDを補間計算付きで設定する。
【００１７】
続くステップＳ１０２において、ＥＣＵ４０は、燃料噴射終了タイミングＴINJENDを算出する。この燃料噴射終了タイミングＴINJENDは、クランク角センサ２６からから入力される基準クランク角の信号（θ1パルス）を基準として、周知の演算により、角度データとしての燃料噴射終了時期ＩＮＪENDを時間データに変換したものである。
【００１８】
そして、ステップＳ１０３に進むと、ＥＣＵ４０は、クランク角センサ２６からの出力信号に基づくエンジン回転数ＮEと吸入空気量センサ７からの出力信号に基づく吸入空気量Ｑとに基づき、演算或いはマップ検索等により基本燃料噴射パルス幅ＴPを設定する。
【００１９】
その後、ＥＣＵ４０は、ステップＳ１０４において、基本燃料噴射パルス幅ＴP を、混合比補正、高負荷補正、エアコン増量補正などの各種増量分補正係数ＣＯＥＦ、空燃比フィードバック補正係数α、目標空燃比ＫTG、各種センサの経時劣化などを補償する学習補正係数ＫBLRC、および、電圧補正係数ＴS で補正して燃料噴射パルス幅Ｔi を設定する（Ｔi ←ＴP ×ＣＯＥＦ×α×ＫTG×ＫBLRC＋ＴS）。
【００２０】
次いで、ステップＳ１０５において、ＥＣＵ４０は、燃料噴射パルス幅Ｔi と燃料噴射終了タイミングＴINJENDに基づき、θ1 パルスを基準とする燃料噴射開始時期、すなわち、燃料噴射開始タイミングＴINJST を設定し（ＴINJST←ＴINJEND−Ｔi）、ルーチンを抜ける。これにより、燃料噴射タイミングは、エンジン１の排気行程から吸気行程の間で可変に設定される。
【００２１】
このような制御時において、ＥＣＵ４０は、エンジン１が予め設定した運転状態となったとき、空燃比センサ３３の異常診断を行う。ここで、ＥＣＵ４０は、例えば、エンジン１の暖機後において、エンジン１の運転状態が所定の定常状態となったとき、異常診断条件が成立したと判定し、空燃比センサ３３の異常診断を実行する。
【００２２】
異常診断条件が成立すると、ＥＣＵ４０は、予め設定した空燃比制御を行って空燃比センサ３３の応答に係る診断値ｔ（ｎ）を、連続的に複数回（例えば、５回）繰り返して計測する。そして、ＥＣＵ４０は、各診断値ｔ（ｎ）の平均値ｔaveと、予め設定した異常判定値Ｃとの比較に基づいて空燃比センサ３３が異常であるか否かを判定する。具体的には、ＥＣＵ４０は、診断値の平均値ｔaveが異常判定値Ｃよりも大きいとき空燃比センサ３３が異常であると判定する。
【００２３】
この異常判定に際し、ＥＣＵ４０は、各診断値ｔ（ｎ）を予め設定された補正許可上限値Ｂと比較し、診断値ｔ（ｎ）が補正許可上限値Ｂよりも小さいとき、予め設定された補正標準値Ａを用い、以下の（１）式により外乱補正値Δｔ（ｎ）を演算する。  
Δｔ（ｎ）＝ｔ（ｎ）−Ａ  …（１）
一方、ＥＣＵ４０は、診断値ｔ（ｎ）が補正許可上限値Ｂよりも小さいとき、当該診断値ｔ（ｎ）に対する外乱補正値Δｔ（ｎ）を零に設定する。
【００２４】
そして、ＥＣＵ４０は、各診断値ｔ（ｎ）の平均値ｔaveと異常判定値Ｃとの比較に基づく上述の異常判定を行う際に、各外乱補正値Δｔ（ｎ）の平均値Δｔaveに基づいて診断値の平均値ｔaveと異常判定値Ｃとの相対関係を補正することで、判定結果が外乱に影響されることを抑制する。
【００２５】
さらに、本実施形態において、ＥＣＵ４０は、空燃比センサ３３の異常診断を多面的に実現するため、上述の異常判定とは異なる異常判定を行う。具体的には、ＥＣＵ４０は、各診断値ｔ（ｎ）の平均値ｔaveと、異常判定値Ｃよりも大値側に設定された第２の異常判定値Ｄとを比較し、診断値の平均値ｔaveが第２の異常判定値Ｄよりも大きい場合に空燃比センサ３３が異常であと判定する。また、ＥＣＵ４０は、各診断値ｔ（ｎ）の最小値ｔminと、異常判定値Ｃよりも小値側に設定された第３の異常判定値Ｅとを比較し、診断値の最小値ｔminが第３の異常判定値Ｅよりも大きい場合に空燃比センサ３３が異常であると判定する。
【００２６】
そして、ＥＣＵ４０は、異常判定値Ｃを用いた異常判定によって空燃比センサ３３が異常であると判定していたとしても、他の異常判定で空燃比センサ３３が異常であると判定していない場合には、従前の空燃比センサ３３が異常であるとの判定をキャンセルする。換言すれば、ＥＣＵ４０は、各異常判定値Ｃ〜Ｅを用いた全ての異常判定において空燃比センサ３３の異常を判定したとき、空燃比センサ３３が異常であるとの最終的な診断結果を出力する。
【００２７】
このように、本実施形態において、ＥＣＵ４０は、診断値計測制御手段、異常判定手段、外乱補正値演算手段、補正手段、及び、異常判定キャンセル手段としての各機能を実現する。
【００２８】
ここで、本実施形態において、補正標準値Ａ、補正許可上限値Ｂ、異常判定値Ｃ、第２の異常判定値Ｄ、及び、第３の異常判定値Ｅは、例えば、正常な空燃比センサで予め複数回繰り返し計測した各正常診断値ｔOK（ｍ）及び、異常な空燃比センサで予め複数回繰り返し計測した各異常診断値ｔNG（ｍ）を用いて以下の通り設定される。  
すなわち、補正標準値Ａは、例えば、各正常診断値ｔOK（ｍ）の平均値ｔOKaveを基準とした所定値に設定されている。本実施形態において、具体的には、補正標準値Ａ＝ｔOKave＝４００となっている。このように、補正標準値Ａは、外乱のないときに正常な空燃比センサ３３で得られる標準的な診断値に設定されている。
【００２９】
また、補正許可上限値Ｂは、例えば、各正常診断値ｔOK（ｍ）の平均値ｔOKaveと、各異常診断値ｔNG（ｍ）の平均値ｔNGaveとの間の所定値に設定されている。好適には、補正許可上限値Ｂは、各異常診断値の平均値ｔNGaveから、当該各異常診断値ｔNG（ｍ）の正規分布の標準偏差σNGの４倍値を最大値とする予め定められた値を減算した値を基準とした所定値に設定される。例えば、本実施形態において、２倍値を用い、具体的には、補正許可上限値Ｂ＝ｔNGave−２・σNG＝８５０となっている。ここで、補正許可上限値Ｂは、各正常診断値の平均値ｔOKaveに、当該各正常診断値ｔOK（ｍ）の正規分布の標準偏差σOKの４倍値を加算した値を基準とした所定値に設定してもよく、さらに、（ｔOKave＋４・σOK）から（ｔNGave−２・σNG）までの間に限定された所定値に設定してもよい。このように、補正許可上限値Ｂは、診断値ｔ（ｎ）がエンジン１の過渡応答等により外乱の影響受けていると仮定した場合に、空燃比センサ３３が正常であるとは言い難いが、異常であると断定するには無理のある値に設定されている。
【００３０】
また、異常判定値Ｃは、例えば、各異常診断値の平均値ｔNGaveを基準とした所定値に設定されている。本実施形態において、具体的には、異常判定値Ｃ＝ｔNGave＝８５０となっている。このように、異常判定値Ｃは、各診断値ｔ（ｎ）が何れも外乱の影響を受けていないと仮定した場合に、診断値の平均値ｔaveに基づいて空燃比センサ３３の異常を的確に判定し得る値に設定されている。
【００３１】
また、第２の異常判定値Ｄは、例えば、各異常診断値の平均値ｔNGaveに、当該各異常診断値ｔNG（ｍ）の正規分布の標準偏差σNGを加算した値を基準とした所定値に設定されている。本実施形態において、具体的には、第２の異常判定値Ｄ＝ｔNGave＋σNG＝１０２０となっている。
【００３２】
また、第３の異常判定値Ｅは、例えば、各異常診断値の平均値ｔNGaveから、当該各異常診断値ｔNG（ｍ）の正規分布の標準偏差σNGの８倍値を最大値とする予め定められた値、例えば、４〜５倍値を減算した値を基準とした所定値に設定されている。本実施形態において、具体的には、第３の異常判定値Ｅ＝５８４となっている。
【００３３】
なお、空燃比センサ３３の仕様等に応じて診断精度を向上するため、上述の補正標準値Ａ、補正許可上限値Ｂ、異常判定値Ｃ、第２の異常判定値Ｄ、及び、第３の異常判定値Ｅを、上述の各基準値に対して適宜チューニングしてもよいことは勿論である。
【００３４】
次に、ＥＣＵ４０で実行される空燃比センサ３３の異常診断ルーチンについて、図３に示すフローチャートに従って説明する。このルーチンがスタートすると、ＥＣＵ４０は、先ず、ステップＳ２０１において、診断値ｔ（ｎ）の計測回数を示すカウンタｎをクリア（ｎ←０）する。
【００３５】
続くステップＳ２０２において、ＥＣＵ４０は、現在、空燃比センサ３３に対する異常診断条件が成立しているか否かを調べ、異常診断条件が成立していないと判定した場合には、そのままルーチンを抜ける。逆に、ステップＳ２０２において、異常診断条件が成立していると判定すると、ＥＣＵ４０は、ステップＳ２０３に進む。
【００３６】
ステップＳ２０２からステップＳ２０３に進むと、ＥＣＵ４０は、カウンタｎをインクリメント（ｎ←ｎ＋１）してステップＳ２０４に進み、燃料噴射パルス幅Ｔｉの設定の際の目標空燃比ＫTG（すなわち、上述のステップＳ１０４の処理における目標空燃比ＫTG）をステップ応答制御して診断値ｔ（ｎ）を計測する。
【００３７】
具体的には、ステップＳ２０４において、ＥＣＵ４０は、例えば、図４に示すように、目標空燃比ＫTGを所定のリッチ側目標空燃比ＫTGRとリーン側目標空燃比ＫTGLとでステップ応答制御し、目標空燃比ＫTGがリーン側目標空燃比ＫTGLからリッチ側目標空燃比ＫTGRに反転した時点から空燃比センサ３３の検出値がリーン側目標空燃比ＫTGLを横切るまでの時間を診断値ｔ（ｎ）として計測する。なお、目標空燃比ＫTGがリッチ側目標空燃比ＫTGRからリーン側目標空燃比ＫTGLに反転した時点から空燃比センサ３３の検出値がリッチ側目標空燃比ＫTGRを横切るまでの時間を診断値ｔ（ｎ）として計測してもよい。
【００３８】
続くステップＳ２０５において、ＥＣＵ４０は、計測した診断値ｔ（ｎ）が補正許可上限値Ｂよりも大きいか否かを調べる。そして、ステップＳ２０５において診断値ｔ（ｎ）が補正許可上限値Ｂ以下であると判定すると、ＥＣＵ４０は、ステップＳ２０６に進み、上述の（１）式を用いて外乱補正値Δｔ（ｎ）を演算した後、ステップＳ２０８に進む。逆に、ステップＳ２０５において診断値ｔ（ｎ）が補正許可上限値Ｂよりも大きいと判定すると、ＥＣＵ４０は、ステップＳ２０７に進み、外乱補正値Δｔ（ｎ）を「０」に設定した後、ステップＳ２０８に進む。
【００３９】
すなわち、診断値ｔ（ｎ）が補正許可上限値Ｂ以下である場合には、該診断値ｔ（ｎ）がエンジン１の過渡応答等に起因して通常時よりもオフセットされている可能性があるので、当該診断値ｔ（ｎ）にオフセット量として含まれていると考え得る値（外乱補正値Δｔ（ｎ））を、ステップＳ２０６において演算する。
【００４０】
ステップＳ２０６或いはステップＳ２０７からステップＳ２０８に進むと、ＥＣＵ４０は、カウンタｎが「５」に達したか否か（すなわち、診断値ｔ（１）〜ｔ（５）が順次計測され、外乱補正値Δｔ（１）〜Δｔ（５）が演算されたか否か）を調べ、カウンタｎ≠５である場合には、ステップＳ１０２に戻る。
【００４１】
一方、ステップＳ２０８において、カウンタｎ＝５であると判定すると、ＥＣＵ４０はステップＳ２０９に進み、診断値ｔ（１）〜ｔ（５）の平均値であるｔaveを演算し、続くステップＳ２１０において、外乱補正値Δｔ（１）〜Δｔ（５）の平均値であるΔｔaveを演算した後、ステップＳ２１１に進む。
【００４２】
そして、ステップＳ２１１において、ＥＣＵ４０は、外乱補正値の平均値Δｔaveに基づき、以下の（２）式を用いて異常判定値Ｃを補正し、異常判定値の補正値Ｃ’と診断値の平均値ｔaveとの比較に基づいて、空燃比センサ３３が異常か否かの判定を行う。  
Ｃ’＝Ｃ＋（Δｔave・ｋ）  …（２）
ここで、（２）式において、ｋは、正常な空燃比センサ３３の診断値ｔ（ｎ）に外乱が作用した場合にも、外乱のない標準時と同等の異常判定値が得られるよう、Δｔaveを用いて異常判定値Ｃを調整するための調整係数である。本実施形態において、この調整係数ｋは、予め実験等に基づいて求められており、具体的には、例えば、ｋ＝１．６６２となっている。
【００４３】
そして、ステップＳ２１１において、診断値の平均値ｔaveが異常判定値の補正値Ｃ’以下であるとき、ＥＣＵ４０は、空燃比センサ３３は正常であると判定し、そのままルーチンを抜ける。すなわち、ＥＣＵ４０は、最終的な診断結果として空燃比センサ３３が正常であることを判定する。
【００４４】
一方、ステップＳ２１１において、診断値の平均値ｔaveが異常判定値の補正値Ｃ’よりも大きいとき、ＥＣＵ４０は、空燃比センサ３３は異常であると判定し、ステップＳ２１２に進み、空燃比センサ３３の異常判定フラグＦをセット（Ｆ←１）した後、ステップＳ２１３に進む。
【００４５】
ステップＳ２１２からステップＳ２１３に進むと、ＥＣＵ４０は、診断値の平均値ｔaveと第２の異常判定値Ｄとの比較に基づいて、空燃比センサ３３が異常か否かの判定を行う。そして、ステップＳ２１３において、診断値の平均値ｔaveが第２の異常判定値Ｄよりも大きいとき、ＥＣＵ４０は、空燃比センサ３３は異常であると判定し、異常判定フラグＦ＝１を維持したままステップＳ２１４に進む。逆に、ステップＳ２１３において、診断値の平均値ｔaveが第２の異常判定値Ｄ以下であるとき、ＥＣＵ４０は、空燃比センサ３３は正常であると判定し、ステップＳ２１５に進む。
【００４６】
ステップＳ２１３からステップＳ２１４に進むと、ＥＣＵ４０は、診断値の最小値ｔminと第３の異常判定値Ｅとの比較に基づいて、空燃比センサ３３が異常か否かの判定を行う。そして、ステップＳ２１４において、診断値の最小値ｔminが第３の異常判定値Ｅよりも大きいとき、ＥＣＵ４０は、空燃比センサ３３は異常であると判定し、異常判定フラグＦ＝１を維持したまま、ルーチンを抜ける。すなわち、ＥＣＵ４０は、最終的な診断結果として空燃比センサ３３が異常であることを判定する。
【００４７】
逆に、ステップＳ２１４において、診断値の最小値ｔminが第３の異常判定値Ｅ以下であるとき、ＥＣＵ４０は、空燃比センサ３３は正常であると判定し、ステップＳ２１５に進む。
【００４８】
そして、ステップＳ２１３或いはステップＳ２１４からステップＳ２１５に進むと、ＥＣＵ４０は、空燃比センサ３３の異常判定フラグＦをクリア（Ｆ←０）した後、ルーチンを抜ける。すなわち、ＥＣＵ４０は、従前の判定結果である空燃比センサ３３の異常の判定をキャンセルし、最終的な診断結果として空燃比センサ３３が正常であることを判定する。
【００４９】
次に、上述の異常診断の具体例について、図５を参照して説明する。  
各診断値ｔ（ｎ）として、例えば、図５（ａ）に示す診断値が計測された場合、これら各診断値ｔ（１）〜ｔ（５）は何れも補正許可上限値Ｂ（＝８５０）よりも大きいため、ＥＣＵ４０は、ステップＳ２０７において、Δｔ（１）＝Δｔ（２）＝Δｔ（３）＝Δｔ（４）＝Δｔ（５）＝０を設定する。また、ＥＣＵ４０は、ステップＳ２０９において、ｔave＝１０４０を演算し、ステップＳ２１０において、Δｔave＝０を演算する。そして、Ｃ’＝８５０＋（０×１．６６）＝８５０であり、ｔave＞Ｃ’（１０４０＞８５０）の関係が成立するので、ＥＣＵ４０は、ステップＳ２１１において、空燃比センサ３３が異常であると判定する。さらに、ステップＳ２１３において、ｔave＞Ｄ（１０４０＞１０２０）の関係が成立し、ステップＳ２１４において、ｔmin＞Ｅ（８５０＞５１０）の関係が成立するので、ＥＣＵ４０は、最終的な診断結果として空燃比センサ３３が異常であることを判定する。
【００５０】
また、各診断値ｔ（ｎ）として、例えば、図５（ｂ）に示す診断値が計測された場合、診断値ｔ（１），ｔ（２），ｔ（４），ｔ（５）は補正許可上限値Ｂ（＝８５０）よりも小さいため、ＥＣＵ４０は、ステップＳ２０６において、Δｔ（１）＝４４０、Δｔ（２）＝６０、Δｔ（４）＝４２０、Δｔ（５）＝４４０を演算する。また、診断値ｔ（３）は補正許可上限値Ｂよりも大きいため、ＥＣＵ４０は、ステップＳ２０７において、Δｔ（３）＝０を設定する。また、ＥＣＵ４０は、ステップＳ２０９において、ｔave＝８５２を演算し、ステップＳ２１０において、Δｔave＝２７２を演算する。そして、Ｃ’＝８５０＋（２７２×１．６６）＝１３０２であり、ｔave＞Ｃ’（８５２＞１３０２）の関係が成立しないので、ＥＣＵ４０は、ステップＳ２１１において、空燃比センサ３３が正常であると判定する。すなわち、ＥＣＵ４０は、最終的な診断結果として空燃比センサ３３が正常であることを判定する。
【００５１】
このような実施形態によれば、診断値ｔ（ｎ）が補正許可上限値Ｂよりも小さいとき、外乱のないときに正常な空燃比センサ３３で得られる標準的な診断値である補正標準値Ａを診断値ｔ（ｎ）から減算することで、該診断値ｔ（ｎ）にオフセット量として含まれていると考え得る値を外乱補正値Δｔ（ｎ）として演算し、各診断値ｔ（ｎ）の平均値ｔaveと異常判定値Ｃとの比較に基づいて空燃比センサ３３の異常判定を行う際に、各外乱補正値Δｔ（ｎ）の平均値Δｔaveを用いて異常判定値Ｃを補正することにより、外乱の影響を的確に考慮した上で、空燃比センサ３３の異常判定を行うことができる。
【００５２】
従って、エンジン１の運転状態が定常状態であるか否かを判定する際の条件等を緩和することができ（すなわち、異常診断条件を緩和することができ）、連続的に複数回繰り返して計測した診断値に基づいて空燃比センサ３３の異常診断を行う場合にも、診断頻度の低下を抑制しつつ、高精度な診断結果を得ることができる。
【００５３】
また、補正許可上限値Ｂを、各正常診断値ｔOK（ｍ）の平均値ｔOKaveと各異常診断値ｔNG（ｍ）の平均値ｔNGaveとの間の所定値であって、診断値ｔ（ｎ）がエンジン１の過渡応答等により外乱の影響受けていると仮定した場合に、空燃比センサ３３が正常であるとは言い難いが、異常であると断定するには無理のある値に設定することにより、外乱の影響を受けている可能性があると考え得る診断値ｔ（ｎ）を的確に切り分けることができる。具体的には、各異常診断値の平均値ｔNGaveから当該各異常診断値ｔNG（ｍ）の正規分布の標準偏差σNGの４倍値を最大値とする、予め定められた値を減算した値、各正常診断値の平均値ｔOKaveに当該各正常診断値ｔOK（ｍ）の正規分布の標準偏差σOKの８倍値を最大値とする、予め定められた値を加算した値、或いは、これら両値を基準とすることにより、補正許可上限値Ｂを適切な値に設定することができる。
【００５４】
また、補正標準値Ａを、各正常診断値ｔOK（ｍ）の平均値ｔOKaveを基準とした所定値に設定し、外乱のないときに正常な空燃比センサ３３で得られる標準的な診断値に設定することにより、診断値ｔ（ｎ）から、適切な外乱補正値Δｔ（ｎ）を演算することができる。
【００５５】
さらに、各診断値ｔ（ｎ）を用い、第２の異常判定値Ｄ及び第３の異常判定値Ｅに基づく空燃比センサ３３の異常判定を行い、何れかの判定において空燃比センサ３３が正常であると判定した場合には、空燃比センサ３３が異常であるとの最終的な判定を行わない構成とすることにより、空燃比センサ３３の診断を多角的に実施することができ、空燃比センサ３３が異常であるとの誤判定を的確に抑制することができる。
【００５６】
なお、上述の実施形態においては、診断値ｔ（ｎ）の平均値ｔaveと異常判定値Ｃとの比較に基づいて空燃比センサ３３の異常判定を行う際に、外乱補正値Δｔ（ｎ）の平均値Δｔaveに基づいて異常判定値Ｃを補正する一例について説明したが、本発明はこれに限定されるものではなく、例えば、以下の（３）式を用い、異常判定値Ｃに代えて、診断値の平均値ｔaveを補正してもよいことは勿論である。  
ｔave’＝ｔave−（Δｔave・ｋ）  …（３）
すなわち、本発明においては、診断値ｔ（ｎ）の平均値ｔaveと異常判定値Ｃとの比較に基づいて空燃比センサ３３の異常判定を行う際に、これらの相対関係を外乱補正値Δｔ（ｎ）の平均値Δｔaveに基づいて補正する構成であればよい。
【図面の簡単な説明】
【００５７】
【図１】エンジン制御系の概略構成図
【図２】燃料噴射パルス幅と噴射タイミングの設定ルーチンを示すフローチャート
【図３】空燃比センサの異常診断ルーチンを示すフローチャート
【図４】空燃比ステップ応答制御時の目標空燃比と空燃比センサ出力との関係を示すタイムチャート
【図５】診断値及び外乱補正値の一例を示す図表
【符号の説明】
【００５８】
１  …  エンジン
３３  …  空燃比センサ
４０  電子制御ユニット（診断値計測制御手段、異常判定手段、外乱補正値演算手段、補正手段、異常判定キャンセル手段）
Ａ  …  補正標準値
Ｂ  …  補正許可上限値
Ｃ  …  異常判定値
Ｄ  …  第２の異常判定値
Ｅ  …  第３の異常判定値
ＫTG  …目標空燃比
ＫTGL  …  リーン側目標空燃比
ＫTGR  …  リッチ側目標空燃比
ｋ  …  調整係数
ｔ（ｎ）  …  診断値
ｔave  …  診断値の平均値
ｔmin  …  診断値の最小値
Δｔ（ｎ）  …  外乱補正値
Δｔave  …  外乱補正値の平均値
ｔNG（ｍ）  …  異常診断値
ｔNGave  …  異常診断値の平均値
σNG  …  異常診断値の正規分布の標準偏差
ｔOK（ｍ）  …  正常診断値
ｔOKave  …  正常診断値の平均値
σOK  …  正常診断値の正規分布の標準偏差
【図１】
2006328975.tif 000003
【図２】
2006328975.tif 000004
【図３】
2006328975.tif 000005
【図４】
2006328975.tif 000006
【図５】
2006328975.tif 000007