(57)【要約】  【課題】  空燃比センサの応答特性を無駄時間とｎ次遅れ特性とに分けて検出できるようにする。  【解決手段】  定常運転状態で空燃比センサの出力が安定しているときに、燃料供給量をステップ的に増量して、センサ出力の変化勾配がしきい値を越えた点を変化開始点として検出し、燃料増量タイミングから変化開始点までの時間を無駄時間ＴＡとして検出する。この後、燃料増量前のセンサ出力の定常値ＢＡからのセンサ出力の変化量が、燃料増量後のセンサ出力の定常値ＡＡまでの変化量（ＡＡ−ＢＡ）の所定割合に達するまでの応答時間ＴＢを算出する。そして、無駄時間ＴＡと応答時間ＴＢに基づいて空燃比センサ２４の異常の有無を判定すると共に、無駄時間ＴＡと応答時間ＴＢに基づいて空燃比フィードバック制御パラメータの修正が必要と判断されたときには、該パラメータを修正する。  【選択図】  図２
2005307961.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の排出ガスの空燃比又は酸素濃度を検出するセンサの出力に基づいて内燃機関に供給する燃料量をフィードバック制御する空燃比制御システムに適用されるセンサ応答特性検出装置において、
前記内燃機関への燃料供給量の変化タイミングを判定する燃料変化タイミング判定手段と、
前記燃料供給量の変化前後の前記センサ出力の挙動を監視して前記センサの応答特性を前記燃料供給量が変化した時点から前記センサ出力が変化し始めるまでの無駄時間とその後のセンサ出力変化特性を表すｎ次遅れ特性（ｎは正の整数）とに分けて検出する応答特性検出手段と
を備えていることを特徴とするセンサ応答特性検出装置。
【請求項２】
前記応答特性検出手段で検出した無駄時間とｎ次遅れ特性の少なくとも一方に基づいて前記センサの異常の有無を判定する異常判定手段を備えていることを特徴とする請求項１に記載のセンサ応答特性検出装置。
【請求項３】
前記応答特性検出手段で無駄時間又はｎ次遅れ特性を検出する処理中にその処理時間が正常範囲を越えたときに前記センサの異常と判定する異常判定手段を備えていることを特徴とする請求項１又は２に記載のセンサ応答特性検出装置。
【請求項４】
前記センサの応答特性に影響を与える運転パラメータ、該センサの出力に重畳するノイズの検出情報及び内燃機関の運転条件のうちの少なくとも１つに基づいて正常範囲を設定する正常範囲設定手段を備え、
前記異常判定手段は、前記正常範囲設定手段で設定した正常範囲を用いて前記センサの異常の有無を判定することを特徴とする請求項２又は３に記載のセンサ応答特性検出装置。
【請求項５】
前記異常判定手段が前記センサの異常有りと判定したときにそれを警告する警告手段を備えていることを特徴とする請求項２乃至４のいずれかに記載のセンサ応答特性検出装置。
【請求項６】
前記応答特性検出手段で検出した無駄時間とｎ次遅れ特性の少なくとも一方に基づいて空燃比フィードバック制御パラメータを変更又は補正する手段を備えていることを特徴とする請求項１乃至５のいずれかに記載のセンサ応答特性検出装置。
【請求項７】
前記応答特性検出手段は、内燃機関を目標空燃比近傍で定常運転しているときに前記燃料供給量をステップ的に変化させて無駄時間とｎ次遅れ特性を検出することを特徴とする請求項１乃至６のいずれかに記載のセンサ応答特性検出装置。
【請求項８】
前記応答特性検出手段は、前記燃料供給量の変化後に前記センサ出力が変化し始める点（以下「変化開始点」という）を検出して、前記燃料供給量の変化タイミングから変化開始点までの時間を無駄時間として検出することを特徴とする請求項１乃至７のいずれかに記載のセンサ応答特性検出装置。
【請求項９】
前記応答特性検出手段は、前記燃料供給量の変化後に前記センサ出力の変化勾配がしきい値を越えた点を変化開始点として検出することを特徴とする請求項８に記載のセンサ応答特性検出装置。
【請求項１０】
前記応答特性検出手段は、前記燃料供給量の変化後に前記センサ出力の変化勾配がしきい値を所定回数越えるまで変化開始点の検出を継続することを特徴とする請求項９に記載のセンサ応答特性検出装置。
【請求項１１】
前記センサ出力に重畳するノイズに影響を与える運転パラメータ又は該ノイズの検出情報に基づいて前記しきい値を設定するしきい値設定手段を備えていることを特徴とする請求項９又は１０に記載のセンサ応答特性検出装置。
【請求項１２】
前記応答特性検出手段は、ｎ＋１個以上の応答時間を検出してｎ次遅れのセンサ出力変化曲線を推定し、このセンサ出力変化曲線と前記燃料供給量の変化前の定常状態のセンサ出力とに基づいて、前記燃料供給量の変化後にセンサ出力が変化し始めた点（以下「変化開始点」という）を推定し、その変化開始点を用いて無駄時間を算出することを特徴とする請求項１乃至７のいずれかに記載のセンサ応答特性検出装置。
【請求項１３】
前記応答特性検出手段は、前記燃料供給量の変化後にセンサ出力が変化し始める点（以下「変化開始点」という）を検出して、前記燃料供給量の変化タイミングから前記変化開始点までの時間を無駄時間として検出する第１の無駄時間算出手段と、ｎ＋１個以上の応答時間を検出してｎ次遅れのセンサ出力変化曲線を推定し、このセンサ出力変化曲線と前記燃料供給量の変化前の定常状態のセンサ出力とに基づいて変化開始点を推定し、その変化開始点を用いて無駄時間を算出する第２の無駄時間算出手段とを有し、前記燃料供給量の変化前のセンサ出力の変動量又は運転条件に応じて前記第１の無駄時間算出手段と前記第２の無駄時間算出手段のいずれか一方を選択して無駄時間を算出することを特徴とする請求項１乃至７のいずれかに記載のセンサ応答特性検出装置。
【請求項１４】
前記応答特性検出手段は、ｎ次遅れ特性を検出する際に前記センサ出力の変化量が所定割合に達するまでの応答時間又はｎ次遅れの伝達関数の係数を算出することを特徴とする請求項１乃至１３のいずれかに記載のセンサ応答特性検出装置。
【請求項１５】
前記応答特性検出手段は、ｎ次遅れ特性を検出する際に、前記燃料供給量の変化前の定常状態を基準にしてセンサ出力の変化量を算出し、その変化量が前記燃料供給量の変化前の定常状態から変化後の定常状態までの変化量の所定割合に達するまでの応答時間を算出することを特徴とする請求項１４に記載のセンサ応答特性検出装置。
【請求項１６】
前記応答特性検出手段は、ｎ次遅れ特性を検出する際に、ｎ＋１個以上の応答時間を検出して、ｎ＋１個以上の応答時間に基づいてｎ次遅れの応答を表す伝達関数の係数を算出することを特徴とする請求項１４に記載のセンサ応答特性検出装置。
【請求項１７】
前記応答特性検出手段は、前記センサの応答特性を所定の運転条件で検出し、その検出値に基づいて他の運転条件での応答特性を推定することを特徴とする請求項２乃至６のいずれかに記載のセンサ応答特性検出装置。
【請求項１８】
前記異常判定手段は、前記センサの出力がリッチからリーンに変化した場合とリーンからリッチに変化した場合にそれぞれ前記センサの異常の有無を判定することを特徴とする請求項２又は３に記載のセンサ応答特性検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の排出ガスの空燃比又は酸素濃度を検出するセンサの出力に基づいて内燃機関に供給する燃料量をフィードバック制御する空燃比制御システムにおいて、センサの応答特性を検出するセンサ応答特性検出装置に関する発明である。
【背景技術】
【０００２】
近年の電子制御化された自動車は、内燃機関（エンジン）の排出ガスの空燃比又は酸素濃度を検出するセンサを排気管に設置し、このセンサの出力に基づいて排出ガスの空燃比を目標空燃比付近に維持するように内燃機関に供給する燃料量をフィードバック制御することで、排気エミッション、燃費等のエンジン性能を向上させるようにしている。近年の空燃比フィードバック制御系は、制御対象である燃料供給量を変化させてから排出ガスの空燃比が変化する応答特性を無駄時間＋１次遅れ特性（又は２次遅れ特性）でモデル化して設計されているため、排出ガスの空燃比を検出するセンサの特性劣化や故障によりセンサの応答特性が変化すると、空燃比検出精度ひいては空燃比制御精度が悪化して、エンジン性能の悪化に繋がってしまう。
【０００３】
この対策として、特許文献１（特開平８−１７７５７５号公報）に記載されているように、内燃機関への燃料供給量の変化（燃料カット開始又は燃料カット復帰）を検出してからのセンサ出力の変化率（変化速度）を検出して、センサの応答特性の劣化の有無を判定するようにしたものがある。
【特許文献１】特開平８−１７７５７５号公報（第２頁〜第３頁等）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上記特許文献１のセンサの応答特性検出方法では、燃料供給量の変化後のセンサ出力の変化率を検出するだけであって、本来の空燃比フィードバック制御系を設計している応答特性（無駄時間と１次遅れ特性又は２次遅れ特性）を検出していないため、センサの応答特性劣化や故障による空燃比フィードバック制御性の悪化を精度良く検出することが困難であった。このため、センサの異常を精度良く検出することも困難であった。また、本来の空燃比フィードバック制御系を設計している応答特性（無駄時間と１次遅れ特性又は２次遅れ特性）を検出していないため、応答特性を検出してその検出値に応じて空燃比フィードバック制御パラメータを修正することも困難であった。
【０００５】
そこで、本発明の第１の目的は、本来の空燃比フィードバック制御系を設計している応答特性（無駄時間とｎ次遅れ特性）を検出して、センサの応答特性劣化や故障による空燃比フィードバック制御性の悪化を精度良く検出できるようにすることであり、また、第２の目的は、センサの異常を精度良く検出できるようにすることであり、更に、第３の目的は、センサの応答特性に応じて空燃比フィードバック制御パラメータを適正に修正できるようにすることである。
【課題を解決するための手段】
【０００６】
上記第１の目的を達成するために、請求項１に係る発明は、内燃機関への燃料供給量の変化タイミングを燃料変化タイミング判定手段により判定すると共に、応答特性検出手段によって、燃料供給量の変化前後のセンサ出力の挙動を監視してセンサの応答特性を前記燃料供給量が変化した時点からセンサ出力が変化し始めるまでの無駄時間とその後のセンサ出力変化特性を表すｎ次遅れ特性（ｎは正の整数）とに分けて検出するようにしたものである。この構成では、センサの応答特性を無駄時間とｎ次遅れ特性とに分けて検出することができるため、本来の空燃比フィードバック制御系を設計している応答特性（無駄時間とｎ次遅れ特性）を検出することができて、センサの応答特性劣化や故障による空燃比フィードバック制御性の悪化を精度良く検出することができる。
【０００７】
更に、前記第２の目的を達成するために、請求項２のように、応答特性検出手段で検出した無駄時間とｎ次遅れ特性の少なくとも一方に基づいてセンサの異常の有無を異常判定手段によって判定するようにすると良い。つまり、無駄時間とｎ次遅れ特性との関係は、センサの故障モードによって異なってくるため、無駄時間とｎ次遅れ特性とに分けて異常診断を行えば、従来では検出できないような故障モードでも検出することが可能となり、センサの異常診断精度を向上できる。
【０００８】
また、請求項３のように、応答特性検出手段で無駄時間又はｎ次遅れ特性を検出する処理中にその処理時間が正常範囲を越えたときにセンサの異常と判定するようにしても良い。このようにすれば、検出処理の途中で、無駄時間が異常に長くなることが判明した時点、又は、ｎ次遅れ特性の検出処理の時間が異常に長くなることが判明した時点で、検出処理を中止して、直ちにセンサの異常と判定することができるため、センサの異常発生時にその異常を早期に検出できると共に、検出処理の時間が異常に長くなることを防止できる利点がある。
【０００９】
この場合、請求項４のように、センサの応答特性に影響を与える運転パラメータ、該センサの出力に重畳するノイズの検出情報及び内燃機関の運転条件のうちの少なくとも１つに基づいて正常範囲を正常範囲設定手段により設定し、設定した正常範囲を用いてセンサの異常の有無を判定するようにしても良い。このようにすれば、センサの応答特性に影響を与える運転パラメータ、センサの出力に重畳するノイズ、運転条件毎のばらつき等に応じた適正な正常範囲を設定することが可能となり、運転パラメータ、ノイズ、運転条件の影響を排除した精度の高いセンサの異常診断を行うことができると共に、様々な条件下でセンサの異常診断を行うことができるため、異常診断の実行頻度を高めることができ、センサの異常を早期発見することができる。
【００１０】
また、請求項５のように、センサの異常有りと判定されたときに、それを警告手段によって警告するようにすると良い。このようにすれば、センサの異常発生時に、速やかに修理等の必要性を運転者に知らせることができて、長期間にわたりセンサ異常による排気エミッション悪化の状態が放置されることを回避することができる。
【００１１】
また、前記第３の目的を達成するために、請求項６のように、応答特性検出手段で検出した無駄時間とｎ次遅れ特性の少なくとも一方に基づいて空燃比フィードバック制御パラメータを変更又は補正するようにしても良い。このようにすれば、近年の一般的な空燃比フィードバック制御系の応答特性（無駄時間とｎ次遅れ特性）の変化に応じて空燃比フィードバック制御パラメータを適正に修正でき、空燃比制御精度を向上できる。
【００１２】
また、無駄時間とｎ次遅れ特性を検出する処理を開始する前提条件となる燃料供給量の変化は、例えば燃料カット開始又は燃料カット復帰を利用しても良いが、請求項７のように、内燃機関を目標空燃比近傍で定常運転しているときに燃料供給量をステップ的に変化させて無駄時間とｎ次遅れ特性を検出するようにすると良い。燃料カットを利用して応答特性を検出する場合は、本来の空燃比フィードバック制御を実施している空燃比領域から外れた空燃比領域で応答特性を検出することになる。従って、空燃比領域によって応答特性が変化する場合は、燃料カットを利用して応答特性を検出すると、本来の空燃比フィードバック制御系で制御する空燃比領域の応答特性を精度良く検出できない可能性があるが、請求項７のように、内燃機関を目標空燃比近傍で定常運転しているときに燃料供給量をステップ的に変化させて応答特性を検出すれば、本来の空燃比フィードバック制御系で制御する空燃比領域の応答特性を精度良く検出できる。しかも、燃料供給量のステップ変化に対する応答特性を検出するため、ステップ変化以外の変化と比較して応答特性を検出しやすくなり、エンジン制御コンピュータの処理負荷が過負荷になったりメモリ容量が不足することを防止できる。
【００１３】
また、無駄時間の検出方法は、請求項８のように、燃料供給量の変化後にセンサ出力が変化し始める点（以下「変化開始点」という）を検出して、燃料供給量の変化タイミングから変化開始点までの時間を無駄時間として検出するようにしても良い。このようにすれば、簡単な処理で無駄時間を検出することができる。
【００１４】
この場合、変化開始点は、所定割合応答点（例えば１０％応答点）としても良いが、請求項９のように、燃料供給量の変化後にセンサ出力の変化勾配がしきい値を越えた点を変化開始点として検出するようにしても良い。このようにすれば、簡単な処理で変化開始点を検出することができる。
【００１５】
更に、請求項１０のように、燃料供給量の変化後にセンサ出力の変化勾配がしきい値を所定回数越えるまで変化開始点の検出を継続するようにしても良い。このようにすれば、ノイズ等による変化開始点の誤検出を未然に防止することができる。
【００１６】
この場合、しきい値は、演算処理の簡略化のために予め設定した固定値としても良いが、請求項１１のように、センサ出力に重畳するノイズに影響を与える運転パラメータ又は該ノイズの検出情報に基づいてしきい値をしきい値設定手段により設定するようにしても良い。このようにすれば、実際のノイズの大きさに応じた適正なしきい値を設定することができ、ノイズ等による誤検出を防止しながら、変化開始点をより正確に検出することができる。
【００１７】
また、請求項１２のように、ｎ＋１個以上の応答時間を検出してｎ次遅れのセンサ出力変化曲線（伝達関数）を推定し、このセンサ出力変化曲線と燃料供給量の変化前の定常状態のセンサ出力とに基づいて変化開始点を推定し、その変化開始点を用いて無駄時間を算出するようにしても良い。このようにすれば、変化開始点付近のノイズが大きい場合でも、変化開始点（無駄時間）を精度良く推定することができる。
【００１８】
また、請求項１３のように、燃料供給量の変化後にセンサ出力の変化開始点を検出して無駄時間を検出する第１の無駄時間算出手段と、ｎ＋１個以上の応答時間を検出してｎ次遅れのセンサ出力変化曲線を推定し、このセンサ出力変化曲線と燃料供給量の変化前の定常状態のセンサ出力とに基づいて変化開始点を推定して無駄時間を算出する第２の無駄時間算出手段とを有し、燃料供給量の変化前のセンサ出力の変動量又は運転条件に応じて前記第１の無駄時間算出手段と前記第２の無駄時間算出手段のいずれか一方を選択して無駄時間を算出するようにしても良い。このようにすれば、例えば、燃料供給量の変化前のセンサ出力の変動量又は運転条件に基づいてノイズが比較的小さいと推定される運転領域では、第１の無駄時間算出手段を選択して無駄時間を精度良く検出することができ、一方、燃料供給量の変化前のセンサ出力の変動量又は運転条件に基づいてノイズが比較的大きいと推定される運転領域では、第２の無駄時間算出手段を選択して無駄時間を精度良く推定することができる。このように、ノイズの大きさに応じて第１の無駄時間算出手段と第２の無駄時間算出手段とを使い分ければ、ノイズの大小の影響を受けずに無駄時間を精度良く検出又は推定することができる。
【００１９】
また、請求項１４のように、ｎ次遅れ特性を検出する際にセンサ出力の変化量が所定割合に達するまでの応答時間又はｎ次遅れの伝達関数の係数を算出するようにすると良い。応答時間や伝達関数の係数は、ｎ次遅れ特性を表す代表的なパラメータであるためである。
【００２０】
この場合、請求項１５のように、ｎ次遅れ特性を検出する際に、燃料供給量の変化前の定常状態を基準にしてセンサ出力の変化量を算出し、その変化量が燃料供給量の変化前の定常状態から変化後の定常状態までの変化量の所定割合に達するまでの応答時間を算出するようにすると良い。この場合、定常状態のセンサ出力も検出するため、センサの静的な精度（空燃比に対する出力特性）と応答特性（応答時間）とを分離して、応答特性のみを精度良く検出することができる。
【００２１】
また、請求項１６のように、ｎ次遅れ特性を検出する際に、ｎ＋１個以上の応答時間を検出して、ｎ＋１個以上の応答時間に基づいてｎ次遅れの応答を表す伝達関数の係数を算出するようにしても良い。これにより、ｎ次遅れの応答を表す伝達関数の係数を精度良く算出することができる。
【００２２】
また、請求項１７のように、前記応答特性検出手段によってセンサの応答特性を所定の運転条件で検出し、その検出値に基づいて他の運転条件での応答特性を推定するようにしても良い。このようにすれば、応答特性が検出（実測）されていない運転条件でも、他の運転条件での検出結果に基づいて応答特性を推定して、その推定値に基づいてセンサの異常診断を行ったり、空燃比フィードバック制御パラメータを変更又は補正することが可能となる。このため、全ての運転条件で応答特性を検出（実測）する必要がなくなり、検出工数低減が可能となる。しかも、内燃機関運転中に応答特性を検出困難な運転条件でも、応答特性の推定が可能となる利点がある。
【００２３】
また、請求項１８のように、センサの出力がリッチからリーンに変化した場合とリーンからリッチに変化した場合にそれぞれセンサの異常の有無を判定するようにしても良い。一般に、センサの出力がリッチからリーンに変化した場合とリーンからリッチに変化した場合とでは応答特性が多少異なるため、センサの出力の変化方向によって異なる診断条件でセンサの異常診断を行うようにすれば、より精度の高い異常診断を行うことができると共に、リッチ、リーンのいずれの変化方向で異常が発生したかによりセンサの異常部位の特定が可能となる利点もある。但し、本発明は、センサの出力の変化方向が異なっても、同じ診断条件でセンサの異常診断を行うようにしても良いことは言うまでもない。
【発明を実施するための最良の形態】
【００２４】
以下、本発明を実施するための最良の形態を具体化した実施例１〜３を説明する。
【実施例１】
【００２５】
本発明を吸気ポート噴射エンジンに適用した実施例１を図１乃至図９に基づいて説明する。まず、図１に基づいてエンジン制御システム全体の概略構成を説明する。内燃機関であるエンジン１１の吸気管１２の最上流部には、エアクリーナ１３が設けられ、このエアクリーナ１３の下流側に、吸入空気量を検出するエアフローメータ１４が設けられている。このエアフローメータ１４の下流側には、モータ１０によって開度調節されるスロットルバルブ１５とスロットル開度を検出するスロットル開度センサ１６とが設けられている。  更に、スロットルバルブ１５の下流側には、サージタンク１７が設けられ、このサージタンク１７には、吸気管圧力を検出する吸気管圧力センサ１８が設けられている。また、サージタンク１７には、エンジン１１の各気筒に空気を導入する吸気マニホールド１９が設けられ、各気筒の吸気マニホールド１９の吸気ポート近傍に、それぞれ燃料を噴射する燃料噴射弁２０が取り付けられている。また、エンジン１１のシリンダヘッドには、各気筒毎に点火プラグ２１が取り付けられ、各点火プラグ２１の火花放電によって筒内の混合気に着火される。
【００２６】
また、エンジン１１の吸気バルブ２８には、該吸気バルブ２８の開閉タイミング（吸気バルブタイミング）を可変する可変吸気バルブタイミング機構２９が設けられ、排気バルブ３０には、該排気バルブ３０の開閉タイミング（排気バルブタイミング）を可変する可変排気バルブタイミング機構３１が設けられている。
【００２７】
一方、エンジン１１の排気管２２には、排出ガス中のＣＯ，ＨＣ，ＮＯｘ等を浄化する三元触媒等の触媒２３が設けられ、この触媒２３の上流側に、排出ガスの空燃比（又は酸素濃度）を検出する空燃比センサ２４が設けられている。また、エンジン１１のシリンダブロックには、冷却水温を検出する冷却水温センサ２５や、エンジン１１のクランク軸が一定クランク角回転する毎にパルス信号を出力するクランク角センサ２６が取り付けられている。このクランク角センサ２６の出力信号に基づいてクランク角やエンジン回転速度が検出される。
【００２８】
これら各種センサの出力は、エンジン制御回路（以下「ＥＣＵ」と表記する）２７に入力される。このＥＣＵ２７は、マイクロコンピュータを主体として構成され、内蔵されたＲＯＭ（記憶媒体）に記憶された各種のエンジン制御プログラムを実行することで、空燃比センサ２４で検出した排出ガスの空燃比を目標空燃比に一致させるように空燃比フィードバック補正係数を算出して、エンジン１１に供給する燃料量（燃料噴射量）をフィードバック補正するようにしている。この空燃比フィードバック制御系は、制御対象である燃料供給量を変化させてから排出ガスの空燃比が変化する応答特性を無駄時間＋１次遅れ特性でモデル化して設計されている。尚、この応答特性を無駄時間＋２次遅れ特性でモデル化しても良く、要は、無駄時間＋ｎ次遅れ特性（ｎは正の整数）でモデル化すれば良い。      
【００２９】
更に、ＥＣＵ２７は、後述する図４乃至図６に示す各ルーチンを実行することで、エンジン１１を目標空燃比近傍で安定して運転している定常運転中に、燃料供給量をステップ的に変化させて空燃比センサ２４の応答特性を無駄時間と１次遅れ特性（ｎ次遅れ特性）とに分けて検出するようにしている。
【００３０】
以下、空燃比センサ２４の応答特性の検出方法を図２及び図３のタイムチャートに基づいて説明する。図２のタイムチャートは、ＥＣＵ２７が、時刻ｔ１で、エンジン運転状態が定常運転状態であると判定して、定常運転フラグがＯＮに切り換え、その後、時刻ｔ２で、応答特性検出実行条件が成立して計測処理フラグをＯＮに切り換え、応答特性の計測処理を開始する。ここで、応答特性検出実行条件は、定常運転状態で空燃比センサ２４の出力（以下単に「センサ出力」という）が目標空燃比近傍で安定してセンサ出力の変動量が小さいことである。センサ出力が不安定な状態では、空燃比センサ２４の応答特性を精度良く検出できないためである。
【００３１】
応答特性の計測開始時ｔ２から所定時間Ｔ１が経過するまでの期間（ｔ２〜ｔ３）は、空燃比フィードバック制御を継続して定常運転状態を維持しながら、センサ出力の平均値をなまし処理又は相加平均等の平均化処理によって算出する。このセンサ出力の平均値は“燃料増量前のセンサ出力の定常値ＢＡ”としてＥＣＵ２７のメモリに記憶される。尚、応答特性の計測開始時ｔ２において、センサ出力が定常値ＢＡで十分に安定している場合は、応答特性の計測開始時ｔ２にサンプリングしたセンサ出力をそのまま燃料増量前のセンサ出力の定常値ＢＡとしても良い。
【００３２】
そして、燃料増量前のセンサ出力の定常値ＢＡの計測を終了した時点ｔ３で、空燃比フィードバック制御を停止して、燃料増量フラグをＯＮに切り換え、燃料供給量（燃料噴射量）をステップ的に増量して、無駄時間ＴＡの計測を開始する。この後は、センサ出力の変化勾配がしきい値を越えた点を変化開始点として検出する。
【００３３】
このセンサ出力の変化勾配の算出方法は種々の方法が考えられるが、本実施例１では、現在のセンサ出力ＡＦ(N) と前回のセンサ出力ＡＦ(N-1) との差［ＡＦ(N) −ＡＦ(N-1) ］をセンサ出力の変化勾配として用いる。尚、現在のセンサ出力ＡＦ(N) とＳ回前のセンサ出力ＡＦ(N-S) との差［ＡＦ(N) −ＡＦ(N-S) ］をセンサ出力の変化勾配として用いるようにしても良い。
【００３４】
このセンサ出力の変化勾配［ＡＦ(N) −ＡＦ(N-1) ］が最初にしきい値を越えた点を変化開始点として検出するようにしても良いが、本実施例１では、ノイズ等による変化開始点の誤検出を未然に防止するために、センサ出力の変化勾配がしきい値を所定回数越えるまで変化開始点の検出を継続するようにしている。
【００３５】
この場合、しきい値は、演算処理の簡略化のために予め設定した固定値としても良いが、本実施例１では、センサ出力に重畳するノイズに影響を与える運転パラメータ（例えばエンジン回転速度と空燃比）に基づいて、例えば図９のマップを用いて、しきい値を設定するようにしている。このようにすれば、実際のノイズの大きさに応じた適正なしきい値を設定することができ、ノイズ等による誤検出を防止しながら、変化開始点をより正確に検出することができる。
尚、変化開始点は、所定割合応答点（例えば１０％応答点）としても良い。
【００３６】
以上のようにして変化開始点を検出した後、燃料増量タイミングｔ３から変化開始点ｔ４までの時間を無駄時間ＴＡとして検出する。変化開始点を検出した時点ｔ４で、変化開始点検出フラグをＯＮに切り換えて、１次遅れ特性の計測処理を開始する。
【００３７】
１次遅れ特性の計測処理開始後は、燃料増量タイミングｔ３から所定時間Ｔ０が経過するまでの期間に、燃料増量前のセンサ出力の定常値ＢＡからのセンサ出力の変化量が、燃料増量後のセンサ出力の定常値ＡＡまでの変化量（ＡＡ−ＢＡ）の所定割合（例えば６３％）に達するまでの応答時間ＴＢを算出する。この応答時間ＴＢは、１次遅れ特性を評価する情報として用いられる。
【００３８】
この際、燃料増量後のセンサ出力の定常値ＡＡは、運転領域毎に学習した学習値を用いるようにしても良いが、本実施例１では、燃料増量タイミングｔ３から所定時間Ｔ０が経過した時点ｔ６で、空燃比フィードバック制御を再開して、所定時間Ｔ２が経過するまで、燃料増量分だけ目標空燃比をリッチ側にずらして燃料供給量をフィードバック補正することで、センサ出力を目標空燃比近傍（定常値ＡＡ）で安定させる。この期間（ｔ６〜ｔ７）のセンサ出力の平均値をなまし処理又は相加平均等の平均化処理によって算出し、この平均値を、“燃料増量後のセンサ出力の定常値ＡＡ”として用いる。尚、燃料増量タイミングｔ３から所定時間Ｔ０経過時ｔ６において、センサ出力が定常値ＡＡで十分に安定している場合は、所定時間Ｔ０経過時ｔ６のセンサ出力を燃料増量後のセンサ出力の定常値ＡＡとしても良い。
【００３９】
以上のようにして、燃料増量後のセンサ出力の定常値ＡＡの計測を終了した時点ｔ７で、計測処理フラグをＯＦＦに切り換えて、応答特性の計測処理を終了する。尚、燃料増量後のセンサ出力の定常値ＡＡが予め学習値等で判明している場合は、センサ出力がその定常値ＡＡまで達した時点で、計測処理フラグをＯＦＦに切り換えて、応答特性の計測処理を終了するようにしても良い。
【００４０】
応答特性計測処理終了後は、目標空燃比を通常運転時の目標空燃比に切り換えて空燃比フィードバック制御を実行する。尚、本実施例１では、応答特性検出のために燃料供給量を増量して空燃比をリッチ側に変化させたが、これとは反対に燃料供給量を減量して空燃比をリーン側に変化させるようにしても良い。或は、応答特性計測開始時に燃料供給量をステップ的に減量（又は増量）して空燃比をリーン側（又はリッチ側）にずらしてセンサ出力の定常値ＢＡを算出した後、燃料供給量をステップ的に増量（又は減量）して空燃比をリッチ側（又はリーン側）にずらしてセンサ出力の定常値ＡＡを算出し、燃料増量前（又は減量前）のセンサ出力の定常値ＢＡからのセンサ出力の変化量が、燃料増量後（又は減量後）のセンサ出力の定常値ＡＡまでの変化量（ＡＡ−ＢＡ）の所定割合（例えば６３％）に達するまでの応答時間ＴＢを算出するようにしても良い。
【００４１】
更に、ＥＣＵ２７は、後述する図７に示す空燃比センサ異常診断ルーチンを実行することで、空燃比センサ２４の応答特性（無駄時間ＴＡと応答時間ＴＢ）の検出結果に基づいて空燃比センサ２４の異常の有無を判定する。図３に示すように、無駄時間ＴＡと応答時間ＴＢ（１次遅れ特性）との関係は、空燃比センサ２４の故障モードによって異なってくる。例えば、ある故障モード(1) では、無駄時間ＴＡのみが異常に長くなり、応答時間ＴＢが正常時とあまり変わらないが、他の故障モード(2) では、無駄時間ＴＡが正常時とあまり変わらず、応答時間ＴＢのみが異常に長くなることがある。そこで、本実施例１では、次の３つの条件(a) 〜 (c)のうち１つでも該当する条件があれば、空燃比センサ２４の異常と判定するようにしている。
(a) 無駄時間ＴＡが許容範囲外であること
(b) 応答時間ＴＢが許容範囲外であること
(c) 無駄時間ＴＡと応答時間ＴＢとの合計時間（ＴＡ＋ＴＢ）が許容範囲外であること
【００４２】
ＥＣＵ２７は、空燃比センサ２４の異常を検出したときには、警告ランプ３２（警告手段）を点灯又は点滅させたり、運転席のインストルメントパネルの表示部（図示せず）に警告表示して運転者に警告する。
以下、ＥＣＵ２７が実行する図４乃至図８の各ルーチンの処理内容を説明する。
【００４３】
［空燃比センサ応答特性検出メインルーチン］
図４の空燃比センサ応答特性検出メインルーチンは、エンジン運転中に周期的に実行され、特許請求の範囲でいう応答特性検出手段としての役割を果たす。本ルーチンが起動されると、まずステップ１０１で、応答特性検出実行条件が成立しているか否か（計測処理フラグがＯＮであるか否か）を判定する。ここで、応答特性検出実行条件は、エンジン運転状態が定常運転状態（定常運転フラグがＯＮ）で、空燃比センサ２４の出力（センサ出力）が目標空燃比近傍で安定してことである。センサ出力が不安定な状態では、空燃比センサ２４の応答特性を精度良く検出できないためである。
【００４４】
このステップ１０１で、応答特性検出実行条件が成立していないと判定されれば、以降の処理を行うことなく、本ルーチンを終了するが、応答特性検出実行条件が成立していると判定されれば、次のようにして応答特性の検出処理が実行される。まず、ステップ１０２で、応答特性の計測を開始し、所定時間Ｔ１が経過するまで待機する（ステップ１０３）。応答特性計測開始後は、燃料増量前のセンサ出力の定常値ＢＡを算出するデータとなるセンサ出力の時系列データをＥＣＵ２７のメモリに記憶する。そして、応答特性計測開始から所定時間Ｔ１が経過するまでの期間に、空燃比フィードバック制御を継続して定常運転状態を維持しながら、燃料増量前のセンサ出力の定常値ＢＡ（平均値）をなまし処理又は相加平均等の平均化処理によって算出する。
【００４５】
そして、応答特性計測開始から所定時間Ｔ１が経過した時点で、ステップ１０４に進み、空燃比フィードバック制御を停止して、燃料増量フラグをＯＮに切り換え、次のステップ１０５で、燃料供給量（燃料噴射量）をステップ的に増量する。この後、ステップ１０６に進み、燃料増量タイミングから所定時間Ｔ０が経過するまで待機する。ここで、所定時間Ｔ０は、燃料増量後にセンサ出力が定常値ＡＡで安定するまでに必要な時間に設定されている。燃料増量開始から所定時間Ｔ０が経過するまでの期間には、応答時間ＴＢを算出するデータとなるセンサ出力の時系列データがＥＣＵ２７のメモリに記憶される。
【００４６】
その後、燃料増量開始から所定時間Ｔ０が経過した時点で、ステップ１０７に進み、空燃比フィードバック制御を再開して、所定時間Ｔ２が経過するまで（ステップ１０８）、燃料増量分だけ目標空燃比をリッチ側にずらして燃料供給量をフィードバック補正することで、センサ出力を目標空燃比近傍（定常値ＡＡ）で安定させる。この期間のセンサ出力の平均値をなまし処理又は相加平均等の平均化処理によって算出し、この平均値を、“燃料増量後のセンサ出力の定常値ＡＡ”として用いる。
【００４７】
そして、所定時間Ｔ２が経過した時点で、ステップ１０９に進み、応答特性の計測を終了し、目標空燃比を通常運転時の目標空燃比に切り換えて空燃比フィードバック制御を実行する。
【００４８】
この後、ステップ１１０に進み、後述する図７の空燃比センサ異常診断ルーチンを実行して、無駄時間ＴＡと応答時間ＴＢに基づいて空燃比センサ２４の異常の有無を判定した後、ステップ１１１に進み、後述する図８の空燃比フィードバック制御パラメータ修正ルーチンを実行して、無駄時間ＴＡと応答時間ＴＢに基づいて空燃比フィードバック制御パラメータの修正が必要と判断されたときには、該パラメータを修正する。
【００４９】
［無駄時間算出ルーチン］
図５の無駄時間算出ルーチンは、エンジン運転中に周期的に実行され、特許請求の範囲でいう応答特性検出手段としての役割を果たす。本ルーチンが起動されると、まずステップ２０１で、無駄時間算出条件が成立しているか否かを判定する。この無駄時間算出条件は、(1) 計測処理フラグがＯＮ（応答特性の計測処理中）であること、(2) 無駄時間ＴＡがまだ算出されていないことであり、これら２つの条件(1) 、(2) のうちのいずれか一方でも満たさない条件があれば、無駄時間算出条件が不成立となり、以降の処理を行うことなく、本ルーチンを終了する。
【００５０】
一方、上記２つの条件(1) 、(2) を同時に満たせば、無駄時間算出条件が成立して、ステップ２０２に進み、燃料供給量が増量されるまで待機する。このステップ２０２の処理が特許請求の範囲でいう燃料変化タイミング判定手段としての役割を果たす。
【００５１】
この後、燃料供給量が増量された時点で、ステップ２０３に進み、現在のセンサ出力の変化勾配［ＡＦ(N) −ＡＦ(N-1) ］をしきい値と比較し、センサ出力の変化勾配［ＡＦ(N) −ＡＦ(N-1) ］がしきい値を越えるまで待機する。
【００５２】
そして、センサ出力の変化勾配［ＡＦ(N) −ＡＦ(N-1) ］がしきい値を越えたときに、変化開始点と判断して、ステップ２０４に進み、変化開始点検出カウンタＣｏｕｎｔをカウントアップして、ステップ２０５に進み、変化開始点検出カウンタＣｏｕｎｔのカウント値が所定値Ｍに達したか否かを判定して、所定値Ｍに達していなければ、ステップ２０３に戻り、上述した処理を繰り返す。これにより、センサ出力の変化勾配［ＡＦ(N) −ＡＦ(N-1) ］がしきい値を所定回数（Ｍ回）越えるまで、変化開始点の検出を継続する。
【００５３】
その後、センサ出力の変化勾配［ＡＦ(N) −ＡＦ(N-1) ］がしきい値を所定回数（Ｍ回）越えて変化開始点検出カウンタＣｏｕｎｔのカウント値が所定値Ｍに達した時点で、ステップ２０６に進み、燃料増量タイミング（ｊ）から変化開始点（Ｎ−Ｍ）までの無駄時間ＴＡを次式により算出する。
ＴＡ＝｛（Ｎ−Ｍ）−Ｊ｝×演算周期
【００５４】
ここで、（Ｎ−Ｍ）は、センサ出力の変化勾配［ＡＦ(N) −ＡＦ(N-1) ］が最初にしきい値を越えた点を変化開始点とみなして、この変化開始点をそれまでの累積演算回数で表したものであり、Ｊは、燃料増量タイミングをそれまでの累積演算回数で表したものである。
【００５５】
［１次遅れ特性算出ルーチン］
図６の１次遅れ特性算出ルーチンは、エンジン運転中に周期的に実行され、特許請求の範囲でいう応答特性検出手段としての役割を果たす。本ルーチンが起動されると、まずステップ３０１で、応答時間算出条件が成立しているか否かを判定する。この応答時間算出条件は、(1) 計測処理フラグがＯＦＦ（応答特性の計測処理終了）であること、(2) 応答時間ＴＢがまだ算出されていないことであり、これら２つの条件(1) 、(2) のいずれか一方でも満たさない条件があれば、応答時間算出条件が不成立となり、以降の処理を行うことなく、本ルーチンを終了する。
【００５６】
一方、上記２つの条件(1) 、(2) を同時に満たせば、応答時間算出条件が成立して、ステップ３０２に進み、無駄時間ＴＡが検出されるまで待機する。この後、無駄時間ＴＡが検出された時点で、ステップ３０３に進み、ＥＣＵ２７のメモリに記憶されたセンサ出力の時系列データに基づいて燃料増量前のセンサ出力の定常値ＢＡと燃料増量後のセンサ出力の定常値ＡＡを算出する。ここで、燃料増量前のセンサ出力の定常値ＢＡは、計測処理開始から所定時間Ｔ１が経過するまでのセンサ出力の平均値であり、燃料増量後のセンサ出力の定常値ＡＡは、計測処理終了前の所定時間Ｔ２のセンサ出力の平均値である。
【００５７】
この後、ステップ３０４に進み、燃料増量前の定常値ＢＡから燃料増量後の定常値ＡＡまでの変化量（ＡＡ−ＢＡ）の所定割合（例えば６３％）に相当するセンサ出力ＡＦ６３を次式により算出する。
ＡＦ６３＝（ＡＡ−ＢＡ）×所定割合
【００５８】
この後、ステップ３０５に進み、ＥＣＵ２７のメモリに記憶されたセンサ出力の時系列データを検索して、センサ出力がＡＦ６３に達した時点ＮＴを求めた後、ステップ３０６に進み、変化開始点（Ｎ−Ｍ）からセンサ出力がＡＦ６３に達した時点ＮＴまでの応答時間ＴＢを次式により算出する。
ＴＢ＝｛ＮＴ−（Ｎ−Ｍ）｝×演算周期
【００５９】
尚、本ルーチンでは、応答特性の計測処理終了後（計測処理フラグのＯＦＦ時）に、ＥＣＵ２７のメモリに記憶されているセンサ出力の時系列データに基づいて燃料増量前後のセンサ出力の定常値ＢＡ，定常値ＡＡを算出するようにしたが、応答特性の計測処理開始時（計測処理フラグのＯＮ時）に、燃料増量前後のセンサ出力の定常値ＢＡ，ＡＡが学習値等により予め判明している場合には、応答特性の計測処理中に、変化開始点（無駄時間ＴＡ）を検出するまでに、ＡＦ６３＝（ＡＡ−ＢＡ）×所定割合の演算を行っておき、変化開始点（無駄時間ＴＡ）の検出後に、センサ出力のサンプリング毎にセンサ出力をＡＦ６３と比較して、センサ出力がＡＦ６３に達した時点ＮＴをリアルタイムで検出するようにしても良い。
【００６０】
また、１次遅れの応答時間に代えて、２次遅れの応答時間、或は３次以上の応答時間を検出するようにしても良い。また、応答時間に代えて、ｎ次遅れの伝達関数の係数を算出するようにしても良い。
【００６１】
［空燃比センサ異常診断ルーチン］
図７の空燃比センサ異常診断ルーチンは、前記図４の空燃比センサ応答特性検出メインルーチンのステップ１１０で実行されるサブルーチンであり、特許請求の範囲でいう異常判定手段としての役割を果たす。本ルーチンが起動されると、まずステップ４００で、前記図５及び図６の各ルーチンによって無駄時間ＴＡと応答時間ＴＢが算出されるまで待機する。そして、無駄時間ＴＡと応答時間ＴＢが算出された時点で、ステップ４０１に進み、現在のエンジン運転状態に応じて、標準無駄時間ＴＡｒｅｆ、標準応答時間ＴＢｒｅｆ、標準検出時間ＴＡＢｒｅｆをマップ等により算出する。ここで、標準無駄時間ＴＡｒｅｆは標準的な無駄時間ＴＡであり、標準応答時間ＴＢｒｅｆは標準的な応答時間ＴＢであり、標準検出時間ＴＡＢｒｅｆは、無駄時間ＴＡと応答時間ＴＢの合計時間（＝検出時間ＴＡＢ）の標準値である。
【００６２】
この後、ステップ４０２に進み、無駄時間ＴＡ、応答時間ＴＢ、検出時間ＴＡＢに対する許容誤差ΔＴＡ、ΔＴＢ、ΔＴＡＢを現在のエンジン運転状態に応じてマップ等により算出する。
【００６３】
そして、次のステップ４０３で、無駄時間ＴＡと標準無駄時間ＴＡｒｅｆとの差が許容誤差ΔＴＡ以下であるか否かを判定し、無駄時間ＴＡと標準無駄時間ＴＡｒｅｆとの差が許容誤差ΔＴＡよりも大きければ、ステップ４０７に進み、空燃比センサ２４が異常であると判定する。
【００６４】
一方、上記ステップ４０３で、無駄時間ＴＡと標準無駄時間ＴＡｒｅｆとの差が許容誤差ΔＴＡ以下であると判定されれば、ステップ４０４に進み、応答時間ＴＢと標準応答時間ＴＢｒｅｆとの差が許容誤差ΔＴＢ以下であるか否かを判定し、応答時間ＴＢと標準応答時間ＴＢｒｅｆとの差が許容誤差ΔＴＢよりも大きければ、ステップ４０７に進み、空燃比センサ２４が異常であると判定する。
【００６５】
一方、上述したステップ４０４で、応答時間ＴＢと標準応答時間ＴＢｒｅｆとの差が許容誤差ΔＴＢ以下であると判定されれば、ステップ４０５に進み、検出時間ＴＡＢと標準検出時間ＴＡＢｒｅｆとの差が許容誤差ΔＴＡＢ以下であるか否かを判定する。ここで、ΔＴＡＢ＜ΔＴＡ＋ΔＴＢの関係に設定されている。このステップ４０５で、検出時間ＴＡＢと標準検出時間ＴＡＢｒｅｆとの差が許容誤差ΔＴＡＢよりも大きいと判定されれば、ステップ４０７に進み、空燃比センサ２４が異常であると判定する。
【００６６】
以上のようにして、空燃比センサ２４の異常が検出された場合は、ステップ４０８に進み、異常情報をＥＣＵ２７のバックアップＲＡＭ等の書き換え可能な不揮発性メモリ（図示せず）に記憶すると共に、警告ランプ３２を点灯又は点滅させたり、運転席のインストルメントパネルの表示部（図示せず）に警告表示して運転者に警告する。
これに対して、ステップ４０３〜４０５で全て「Ｙｅｓ」と判定された場合は、ステップ４０６に進み、空燃比センサ２４が正常であると判定する。
【００６７】
尚、無駄時間又は応答時間を計測する処理中にその処理時間が正常範囲を越えたときに空燃比センサ２４の異常と判定するようにしても良い。このようにすれば、計測処理の途中で、無駄時間が異常に長くなることが判明した時点、又は、応答時間が異常に長くなることが判明した時点で、計測処理を中止して、直ちに空燃比センサ２４の異常と判定することができるため、空燃比センサ２４の異常発生時にその異常を早期に検出できると共に、計測処理の時間が異常に長くなることを防止できる利点がある。
【００６８】
［空燃比フィードバック制御パラメータ修正ルーチン］
図８の空燃比フィードバック制御パラメータ修正ルーチンは、前記図４の空燃比センサ応答特性検出メインルーチンのステップ１１１で実行されるサブルーチンである。本ルーチンが起動されると、まずステップ５０１で、無駄時間ＴＡと標準無駄時間ＴＡｒｅｆとの差が所定値よりも大きいか否かを判定し、無駄時間ＴＡと標準無駄時間ＴＡｒｅｆとの差が所定値よりも大きければ、ステップ５０２に進み、制御モデルの無駄時間を修正（変更又は補正）して、ステップ５０３に進む。一方、無駄時間ＴＡと標準無駄時間ＴＡｒｅｆとの差が所定値以下であれば、制御モデルの無駄時間を修正せずに、ステップ５０３に進む。
【００６９】
このステップ５０３では、応答時間ＴＢと標準応答時間ＴＢｒｅｆとの差が所定値よりも大きいか否かを判定し、応答時間ＴＢと標準応答時間ＴＢｒｅｆとの差が所定値よりも大きければ、ステップ５０４に進み、制御モデルの１次遅れ特性（又は制御ゲイン）を修正する。一方、応答時間ＴＢと標準応答時間ＴＢｒｅｆとの差が所定値以下であれば、制御モデルの１次遅れ特性（又は制御ゲイン）を修正せずに、本ルーチンを終了する。
【００７０】
以上説明した本実施例１では、燃料増量前後の空燃比センサ２４の出力の挙動を監視して空燃比センサ２４の応答特性を燃料増量タイミングからセンサ出力が変化し始めるまでの無駄時間とその後のセンサ出力変化特性を表す１次遅れ特性（応答時間）とに分けて検出するようにしたので、本来の空燃比フィードバック制御系を設計している応答特性（無駄時間と１次遅れ特性）を検出することができて、空燃比センサ２４の応答特性劣化や故障による空燃比フィードバック制御性の悪化を精度良く検出することができる。
【００７１】
しかも、本実施例１では、エンジン１１を目標空燃比近傍で定常運転しているときに燃料供給量をステップ的に増量して応答特性を検出するようにしたので、本来の空燃比フィードバック制御系で制御する空燃比領域の応答特性を精度良く検出できる。更に、燃料供給量のステップ変化に対する応答特性を検出するため、ステップ変化以外の変化と比較して応答特性を検出しやすくなり、ＥＣＵ２７の処理負荷が過負荷になったりメモリ容量が不足することを防止できる。
【００７２】
また、本実施例１では、検出した無駄時間と１次遅れ特性（応答時間）とに基づいて空燃比センサ２４の異常診断を行うようにしたので、従来では検出できないような故障モードでも検出することが可能となり、空燃比センサ２４の異常診断精度を向上できる。
【００７３】
更に、本実施例１では、検出した無駄時間と１次遅れ特性（応答時間）とに基づいて空燃比フィードバック制御パラメータを変更又は補正するようにしたので、空燃比フィードバック制御系の応答特性（無駄時間と１次遅れ特性）の変化に応じて空燃比フィードバック制御パラメータを適正に修正でき、空燃比制御精度を向上できる。
【実施例２】
【００７４】
上記実施例１では、エンジン１１の定常運転中に燃料供給量をステップ的に増量（又は減量）して空燃比をステップ的にリッチ側（又はリーン側）に変化させて空燃比センサ２４の応答特性を検出するようにしたが、本発明の実施例２では、エンジン１１の定常運転中に目標空燃比がリッチ側又はリーン側に切り換えられて燃料供給量が変化（増量又は減量）したときに、この燃料供給量の変化を利用して空燃比センサ２４の応答特性（無駄時間ＴＡと応答時間ＴＢ）を検出するようにしている。
【００７５】
本実施例２では、エンジン運転中に図１０の無駄時間算出ルーチンを周期的に実行することで、次のようにして無駄時間を算出する。本ルーチンが起動されると、まずステップ２１１で、無駄時間算出条件が成立しているか否かを判定する。この無駄時間算出条件は、(1) 計測処理フラグがＯＮ（応答特性の計測処理中）であること、(2) 無駄時間ＴＡがまだ算出されていないことであり、これら２つの条件(1) 、(2) のうちのいずれか一方でも満たさない条件があれば、無駄時間算出条件が不成立となり、以降の処理を行うことなく、本ルーチンを終了する。
【００７６】
一方、上記２つの条件(1) 、(2) を同時に満たせば、無駄時間算出条件が成立して、ステップ２１２に進み、燃料供給量が変化するまで待機する。このステップ２１２の処理が特許請求の範囲でいう燃料変化タイミング判定手段としての役割を果たす。
【００７７】
この後、燃料供給量が変化した時点で、ステップ２１３に進み、燃料供給量の変化が増量側への変化（変化前の燃料供給量＜変化後の燃料供給量）であるか否かを判定し、燃料供給量の変化が増量側への変化であれば、ステップ２１４〜２１６の処理により、センサ出力の立上がり勾配［ＡＦ(N) −ＡＦ(N-1) ］がしきい値を所定回数（Ｍ回）越えるまで、変化開始点の検出を継続する。
【００７８】
その後、センサ出力の立上がり勾配［ＡＦ(N) −ＡＦ(N-1) ］がしきい値を所定回数（Ｍ回）越えて変化開始点検出カウンタＣｏｕｎｔのカウント値が所定値Ｍに達した時点で、ステップ２２０に進み、燃料供給量の変化タイミング（ｊ）から変化開始点（Ｎ−Ｍ）までの無駄時間ＴＡを次式により算出する。
ＴＡ＝｛（Ｎ−Ｍ）−Ｊ｝×演算周期
【００７９】
一方、上記ステップ２１３で、燃料供給量の変化が減量側への変化（変化前の燃料供給量＞変化後の燃料供給量）であると判定されれば、ステップ２１７〜２１９の処理により、センサ出力の立下がり勾配［ＡＦ(N) −ＡＦ(N-1) ］が−しきい値を所定回数（Ｍ回）越えるまで、変化開始点の検出を継続する。
【００８０】
その後、センサ出力の立下がり勾配［ＡＦ(N) −ＡＦ(N-1) ］が−しきい値を所定回数（Ｍ回）越えて変化開始点検出カウンタＣｏｕｎｔのカウント値が所定値Ｍに達した時点で、ステップ２２０に進み、燃料供給量の変化タイミング（ｊ）から変化開始点（Ｎ−Ｍ）までの無駄時間ＴＡを上式により算出する。
【００８１】
尚、本実施例２においても、応答時間ＴＢの算出は、前記実施例１で説明した図６の１次遅れ特性算出ルーチンを用いれば良い。
【実施例３】
【００８２】
上記実施例１，２では、燃料供給量の変化後にセンサ出力の変化勾配がしきい値を越えた点を変化開始点として検出するようにしたが、ｎ＋１個以上の応答時間を検出してｎ次遅れのセンサ出力変化曲線の近似式（伝達関数）を推定し、このセンサ出力変化曲線と燃料供給量の変化前の定常状態のセンサ出力（定常値ＢＡ）とに基づいて変化開始点を推定し、その変化開始点を用いて無駄時間を算出するようにしても良い。
【００８３】
以下、この無駄時間の算出方法を、図１１及び図１２に示す本発明の実施例３を用いて説明する。本実施例３では、図１２の無駄時間算出ルーチンを実行することで、２個の応答時間（例えば３０％応答時間ＮＴ１と６３％応答時間ＮＴ２）を検出して、１次遅れのセンサ出力変化曲線の近似式（伝達関数）を推定する。
【００８４】
図１２の無駄時間算出ルーチンは、エンジン運転中に周期的に実行され、まずステップ６０１で、無駄時間算出条件が成立しているか否かを判定する。この無駄時間算出条件は、(1) 計測処理フラグがＯＦＦ（応答特性の計測処理終了後）であること、(2) 無駄時間ＴＡがまだ算出されていないことであり、これら２つの条件(1) 、(2) のうちのいずれか一方でも満たさない条件があれば、無駄時間算出条件が不成立となり、以降の処理を行うことなく、本ルーチンを終了する。
【００８５】
一方、上記２つの条件(1) 、(2) を同時に満たせば、無駄時間算出条件が成立して、ステップ６０２に進み、ＥＣＵ２７のメモリに記憶されたセンサ出力の時系列データに基づいて燃料増量前のセンサ出力の定常値ＢＡと燃料増量後のセンサ出力の定常値ＡＡを算出する。この後、ステップ６０３に進み、燃料増量前の定常値ＢＡから燃料増量後の定常値ＡＡまでの変化量（ＡＡ−ＢＡ）の所定割合１（例えば３０％）に相当するセンサ出力ＡＦ１を次式により算出する。
ＡＦ１＝（ＡＡ−ＢＡ）×所定割合１
この後、ステップ６０４に進み、ＥＣＵ２７のメモリに記憶されたセンサ出力の時系列データを検索して、センサ出力がＡＦ１に達した時点ＮＴ１（３０％応答時間）を求める。
【００８６】
そして、次のステップ６０５で、燃料増量前の定常値ＢＡから燃料増量後の定常値ＡＡまでの変化量（ＡＡ−ＢＡ）の所定割合２（例えば６３％）に相当するセンサ出力ＡＦ２を次式により算出する。
ＡＦ２＝（ＡＡ−ＢＡ）×所定割合２
この後、ステップ６０６に進み、ＥＣＵ２７のメモリに記憶されたセンサ出力の時系列データを検索して、センサ出力がＡＦ２に達した時点ＮＴ２（６３％応答時間）を求める。
【００８７】
以上のようにして３０％応答時間ＮＴ１と６３％応答時間ＮＴ２を求めた後、ステップ６０７に進み、応答時間ＮＴ１と６３％応答時間ＮＴ２を用いて、１次遅れのセンサ出力変化曲線の近似式（伝達関数）を推定する。この伝達関数は、下記のように表される。
Ｇ（ｓ）＝１／（１＋Ｔ×ｓ）
【００８８】
この後、ステップ６０８に進み、推定した１次遅れのセンサ出力変化曲線と燃料増量前の定常値ＢＡとの交点を変化開始点Ｎとして算出する。この際、所定割合応答点（例えば１０％応答点）を変化開始点Ｎとして算出するようにしても良い。
【００８９】
この後、ステップ６０９に進み、燃料増量タイミングｊから変化開始点Ｎまでの無駄時間ＴＡを次式により算出する。
ＴＡ＝（Ｎ−Ｊ）×演算周期
【００９０】
以上説明した本実施例３では、２個の応答時間ＮＴ１，ＮＴ２を検出して１次遅れのセンサ出力変化曲線の近似式（伝達関数）を推定し、このセンサ出力変化曲線と燃料増量前の定常値ＢＡとに基づいて変化開始点Ｎを推定し、その変化開始点Ｎを用いて無駄時間ＴＡを算出するようにしたので、変化開始点Ｎ付近のノイズが大きい場合でも、変化開始点（無駄時間）を精度良く推定することができる。
【００９１】
尚、１次遅れのセンサ出力変化曲線の近似式を推定する場合に、３個以上の応答時間を検出するようにしても良い。
また、２次遅れのセンサ出力変化曲線の近似式を推定する場合には、３個以上の応答時間を検出すれば良く、要は、ｎ次遅れのセンサ出力変化曲線の近似式を推定する場合には、ｎ＋１個以上の応答時間を検出すれば良い。
【００９２】
２次遅れのセンサ出力変化曲線の近似式（伝達関数）は次式で表される。
Ｇ（ｓ）＝ω2 ／（ｓ2 ＋２×ζ×ω×ｓ＋ω2 ）
ここで、ωは固有角周波数、ζは減衰係数である。
【００９３】
また、前記実施例１（又は実施例２）の無駄時間算出方法と実施例３の無駄時間算出方法とを燃料供給量の変化前のセンサ出力の変動量又は運転条件に応じて切り換えて使用するようにしても良い。例えば、燃料供給量の変化前のセンサ出力の変動量又は運転条件に基づいてノイズが比較的小さいと推定される運転領域では、実施例１（又は実施例２）の無駄時間算出方法を選択して無駄時間を算出し、一方、燃料供給量の変化前のセンサ出力の変動量又は運転条件に基づいてノイズが比較的大きいと推定される運転領域では、実施例３の無駄時間算出方法を選択して無駄時間を算出するようにしても良い。このように、ノイズの大きさに応じて実施例１（又は実施例２）の無駄時間算出方法と実施例３の無駄時間算出方法とを使い分ければ、ノイズの大小の影響を受けずに無駄時間を精度良く算出することができる。
【実施例４】
【００９４】
本発明の実施例４では、前記図７の空燃比センサ異常診断ルーチン又は他の空燃比センサ異常診断ルーチンによって空燃比センサ２４の応答性（無駄時間ＴＡ、応答時間ＴＢ、検出時間ＴＡＢ）に基づいて空燃比センサ２４の異常診断を行う際に、空燃比センサ２４の応答性に影響を与える運転パラメータ（例えば燃料噴射量等）、該空燃比センサ２４の出力に重畳するノイズの検出情報及びエンジン運転条件（例えばエンジン回転速度、吸入空気量等）のうちの少なくとも１つに基づいて正常範囲判定しきい値（許容値ΔＴＡ、ΔＴＢ、ΔＴＡＢ）を設定し、設定した正常範囲判定しきい値を用いて空燃比センサ２４の異常の有無を判定するようにしている。
【００９５】
本実施例４では、例えば、図１３のマップを参照して、空燃比センサ２４の出力に重畳するノイズに影響を与えるエンジン運転条件であるエンジン回転速度に基づいて正常範囲判定しきい値を設定し、空燃比センサ２４の応答性と正常範囲判定しきい値とを比較して空燃比センサ２４の異常の有無を判定するようにしている。
【００９６】
このようにすれば、空燃比センサ２４のノイズに影響を与えるエンジン運転条件に応じた適正な正常範囲判定しきい値を設定することが可能となり、ノイズの影響を排除した精度の高い空燃比センサ２４の異常診断を行うことができる。しかも、ノイズが比較的大きいエンジン回転速度でも空燃比センサ２４の異常診断を行うことが可能となるため、異常診断の実行頻度を高めることができ、空燃比センサ２４の異常を早期発見することができる。
【００９７】
尚、正常範囲判定しきい値の設定に用いるパラメータは、エンジン回転速度の代わりに吸入空気量等の他のエンジン運転条件を用いても良く、或は、空燃比センサ２４の出力に重畳するノイズの検出情報や空燃比センサ２４の応答性に影響を与える運転パラメータ（例えば燃料噴射量等）を用いても良い。
【実施例５】
【００９８】
本発明の実施例５では、空燃比センサ２４の応答特性（無駄時間とｎ次遅れ特性）を所定の運転条件下で検出し、予め決められた運転条件と応答特性との関係に基づいて他の運転条件での応答特性を推定するようにしている。
【００９９】
これを具体的に説明すると、例えば図１４に示すように、予め吸入空気量とｎ次遅れ特性係数（又は無駄時間）との関係を実験データ又は設計値に基づいてマップ化又は数式化してＥＣＵ２７のＲＯＭ（不揮発性メモリ）に実装しておき、エンジン運転中に所定の吸入空気量でｎ次遅れ特性係数（又は無駄時間）を検出したときに、その検出値に基づいて吸入空気量とｎ次遅れ特性係数との関係（マップ値又は数式等）を補正して、他の吸入空気量でのｎ次遅れ特性係数（又は無駄時間）を推定する。この際、吸入空気量以外の運転条件（例えばエンジン回転速度）とｎ次遅れ特性係数（又は無駄時間）との関係を検出して、他の運転条件でのｎ次遅れ特性係数（又は無駄時間）を推定するようにしても良い。      
【０１００】
このようにすれば、応答特性が検出（実測）されていない運転条件でも、他の運転条件での検出結果に基づいて応答特性を推定して、その推定値に基づいてセンサの異常診断を行ったり、空燃比フィードバック制御パラメータを変更又は補正することが可能となる。このため、全ての運転条件で応答特性を検出（実測）する必要がなくなり、検出工数低減が可能となる。しかも、エンジン運転中に応答特性を検出困難な運転条件でも、応答特性の推定が可能となる利点がある。
【実施例６】
【０１０１】
本発明の実施例６では、図１５及び図１６の空燃比センサ異常診断ルーチンを実行することで、空燃比センサ２４の出力がリッチからリーンに変化した場合とリーンからリッチに変化した場合にそれぞれ空燃比センサ２４の応答特性（無駄時間ＴＡ、応答時間ＴＢ、検出時間ＴＡＢ）を検出して、この応答特性に基づいて空燃比センサ２４の異常の有無を判定するようにしている。この際、本実施例６では、空燃比センサ２４の出力がリッチからリーンに変化した場合とリーンからリッチに変化した場合とでは応答特性が多少異なることを考慮して、空燃比センサ２４の出力の変化方向によって異なる診断条件を用いて空燃比センサ２４の異常診断を行うようにしている。
【０１０２】
以下、図１５及び図１６の空燃比センサ異常診断ルーチンの処理内容を説明する。本ルーチンは、前記図４の空燃比センサ応答特性検出メインルーチンのステップ１１０で実行されるサブルーチンであり、特許請求の範囲でいう異常判定手段としての役割を果たす。本ルーチンが起動されると、まずステップ６００で、前記図５及び図６の各ルーチンによって無駄時間ＴＡと応答時間ＴＢが算出されるまで待機する。そして、無駄時間ＴＡと応答時間ＴＢが算出された時点で、ステップ６０１に進み、空燃比センサ２４の出力変化がリッチ→リーンの変化であるか否かを判定し、リッチ→リーンの変化であれば、ステップ６０２に進み、現在のエンジン運転状態に応じて、リッチ→リーン変化時の標準無駄時間ＴＡｒｅｆ１、標準応答時間ＴＢｒｅｆ１、標準検出時間ＴＡＢｒｅｆ１をマップ等により算出する。ここで、標準無駄時間ＴＡｒｅｆ１はリッチ→リーン変化時の標準的な無駄時間ＴＡであり、標準応答時間ＴＢｒｅｆ１はリッチ→リーン変化時の標準的な応答時間ＴＢであり、標準検出時間ＴＡＢｒｅｆ１は、リッチ→リーン変化時の無駄時間ＴＡと応答時間ＴＢの合計時間（＝検出時間ＴＡＢ）の標準値である。
【０１０３】
この後、ステップ６０３に進み、リッチ→リーン変化時の無駄時間ＴＡ、応答時間ＴＢ、検出時間ＴＡＢに対する許容誤差ΔＴＡ１、ΔＴＢ１、ΔＴＡＢ１を現在のエンジン運転状態に応じてマップ等により算出する。
【０１０４】
そして、次のステップ６０４で、リッチ→リーン変化時の無駄時間ＴＡと標準無駄時間ＴＡｒｅｆ１との差が許容誤差ΔＴＡ１以下であるか否かを判定し、この差が許容誤差ΔＴＡ１よりも大きければ、ステップ６０８に進み、空燃比センサ２４が異常であると判定する。
【０１０５】
一方、上記ステップ６０４で、リッチ→リーン変化時の無駄時間ＴＡと標準無駄時間ＴＡｒｅｆ１との差が許容誤差ΔＴＡ１以下であると判定されれば、ステップ６０５に進み、リッチ→リーン変化時の応答時間ＴＢと標準応答時間ＴＢｒｅｆ１との差が許容誤差ΔＴＢ１以下であるか否かを判定し、この差が許容誤差ΔＴＢ１よりも大きければ、ステップ６０８に進み、空燃比センサ２４が異常であると判定する。
【０１０６】
一方、上述したステップ６０５で、リッチ→リーン変化時の応答時間ＴＢと標準応答時間ＴＢｒｅｆ１との差が許容誤差ΔＴＢ１以下であると判定されれば、ステップ６０６に進み、リッチ→リーン変化時の検出時間ＴＡＢと標準検出時間ＴＡＢｒｅｆ１との差が許容誤差ΔＴＡＢ１以下であるか否かを判定する。
【０１０７】
ここで、ΔＴＡＢ１＜ΔＴＡ１＋ΔＴＢ１の関係に設定されている。このステップ６０６で、リッチ→リーン変化時の検出時間ＴＡＢと標準検出時間ＴＡＢｒｅｆ１との差が許容誤差ΔＴＡＢ１よりも大きいと判定されれば、ステップ６０８に進み、空燃比センサ２４が異常であると判定する。
【０１０８】
以上のようにして、リッチ→リーン変化時に空燃比センサ２４の異常が検出された場合は、ステップ６０９に進み、異常情報をＥＣＵ２７のバックアップＲＡＭ等の書き換え可能な不揮発性メモリ（図示せず）に記憶すると共に、警告ランプ３２を点灯又は点滅させたり、運転席のインストルメントパネルの表示部（図示せず）に警告表示して運転者に警告する。
これに対して、ステップ６０４〜６０６で全て「Ｙｅｓ」と判定された場合は、ステップ６０７に進み、空燃比センサ２４が正常であると判定する。
【０１０９】
また、上記ステップ６０１で、リーン→リッチの変化と判定されれば、図１６のステップ６１０に進み、現在のエンジン運転状態に応じて、リーン→リッチ変化時の標準無駄時間ＴＡｒｅｆ２、標準応答時間ＴＢｒｅｆ２、標準検出時間ＴＡＢｒｅｆ２をマップ等により算出する。ここで、標準無駄時間ＴＡｒｅｆ２はリーン→リッチ変化時の標準的な無駄時間ＴＡであり、標準応答時間ＴＢｒｅｆ２はリーン→リッチ変化時の標準的な応答時間ＴＢであり、標準検出時間ＴＡＢｒｅｆ２は、リーン→リッチ変化時の無駄時間ＴＡと応答時間ＴＢの合計時間（＝検出時間ＴＡＢ）の標準値である。
【０１１０】
この後、ステップ６１１に進み、リーン→リッチ変化時の無駄時間ＴＡ、応答時間ＴＢ、検出時間ＴＡＢに対する許容誤差ΔＴＡ２、ΔＴＢ２、ΔＴＡＢ２を現在のエンジン運転状態に応じてマップ等により算出する。
【０１１１】
そして、次のステップ６１２で、リーン→リッチ変化時の無駄時間ＴＡと標準無駄時間ＴＡｒｅｆ２との差が許容誤差ΔＴＡ２以下であるか否かを判定し、この差が許容誤差ΔＴＡ２よりも大きければ、ステップ６１６に進み、空燃比センサ２４が異常であると判定する。
【０１１２】
一方、上記ステップ６１２で、リーン→リッチ変化時の無駄時間ＴＡと標準無駄時間ＴＡｒｅｆ２との差が許容誤差ΔＴＡ２以下であると判定されれば、ステップ６１３に進み、リーン→リッチ変化時の応答時間ＴＢと標準応答時間ＴＢｒｅｆ２との差が許容誤差ΔＴＢ２以下であるか否かを判定し、この差が許容誤差ΔＴＢ２よりも大きければ、ステップ６１６に進み、空燃比センサ２４が異常であると判定する。
【０１１３】
一方、上述したステップ６１３で、リーン→リッチ変化時の応答時間ＴＢと標準応答時間ＴＢｒｅｆ２との差が許容誤差ΔＴＢ２以下であると判定されれば、ステップ６１４に進み、リーン→リッチ変化時の検出時間ＴＡＢと標準検出時間ＴＡＢｒｅｆ２との差が許容誤差ΔＴＡＢ２以下であるか否かを判定する。
【０１１４】
ここで、ΔＴＡＢ２＜ΔＴＡ２＋ΔＴＢ２の関係に設定されている。このステップ６１４で、リーン→リッチ変化時の検出時間ＴＡＢと標準検出時間ＴＡＢｒｅｆ２との差が許容誤差ΔＴＡＢ２よりも大きいと判定されれば、ステップ６０８に進み、空燃比センサ２４が異常であると判定する。
【０１１５】
以上のようにして、リーン→リッチ変化時に空燃比センサ２４の異常が検出された場合は、ステップ６１７に進み、異常情報をＥＣＵ２７のバックアップＲＡＭ等の書き換え可能な不揮発性メモリ（図示せず）に記憶すると共に、警告ランプ３２を点灯又は点滅させたり、運転席のインストルメントパネルの表示部（図示せず）に警告表示して運転者に警告する。
これに対して、ステップ６０４〜６０６で全て「Ｙｅｓ」と判定された場合は、ステップ６０７に進み、空燃比センサ２４が正常であると判定する。
【０１１６】
以上説明した本実施例６によれば、リッチ→リーン変化時とリーン→リッチ変化時にそれぞれ空燃比センサ２４の応答特性を検出して、この応答特性に基づいて空燃比センサ２４の異常の有無を判定すると共に、リッチ→リーン変化時とリーン→リッチ変化時とでは応答特性が多少異なることを考慮して、空燃比センサ２４の出力の変化方向によって異なる診断条件を用いて空燃比センサ２４の異常診断を行うようにしたので、空燃比センサ２４の出力がリッチ、リーンのいずれの方向に変化した場合でも、精度の高い異常診断を行うことができると共に、リッチ、リーンのいずれの変化方向で異常が発生したかにより空燃比センサ２４の異常部位の特定が可能となる利点もある。但し、本発明は、空燃比センサ２４の出力の変化方向が異なっても、同じ診断条件で空燃比センサ２４の異常診断を行うようにしても良いことは言うまでもない。
【０１１７】
尚、リッチ→リーン変化時とリーン→リッチ変化時にそれぞれ無駄時間又は応答時間を計測する処理中にその処理時間が正常範囲を越えたときに空燃比センサ２４の異常と判定するようにしても良い。このようにすれば、リッチ→リーン変化時やリーン→リッチ変化時に計測処理の途中で、無駄時間が異常に長くなることが判明した時点、又は、応答時間が異常に長くなることが判明した時点で、計測処理を中止して、直ちに空燃比センサ２４の異常と判定することができるため、空燃比センサ２４の異常発生時にその異常を早期に検出できると共に、計測処理の時間が異常に長くなることを防止できる利点がある。この場合、リッチ→リーン変化時とリーン→リッチ変化時とで空燃比センサ２４の応答特性が多少異なることを考慮して、処理時間の正常範囲をリッチ→リーン変化時とリーン→リッチ変化時とで異ならせるようにすると良い。
【０１１８】
［その他の実施例］
空燃比センサ２４の応答特性を算出する手法は、上記各実施例に限定されず、例えば、一般的なシステム同定法であるパラメトリック手法やノンパラメトリック手法を用いて空燃比センサ２４の応答特性を算出するようにしても良い。
【０１１９】
ノンパラメトリック手法では、図１７に示すように、ステップ応答をＳ字で近似してロジスティック曲線を作成し、このロジスティック曲線の変曲点で接線を引き、この接線と２本の漸近線との交点を求め、２つの交点間の時間を６３％応答時間とする。
尚、空燃比センサ２４の出力の変化割合が分かっている場合は、簡易的に５０％応答時の接線の傾きを求め、この傾きの２倍を６３％応答時間としても良い。
【０１２０】
一方、パラメトリック手法では、ＡＲＸモデル（無駄時間＋１次遅れ）で、入力を燃料外乱、出力を空燃比（空気過剰率λ）としてシステム同定を行い、６３％応答時間を算出する。このパラメトリック手法は連続データを取り扱える（ステップ応答を計測する必要がない）という特徴があり、ノイズのない信号や、ノイズの原因が明確かつ分離可能な信号で効果を発揮するものと思われる。
【０１２１】
また、図５の無駄時間算出ルーチンのステップ２０３において、センサ出力ＡＦ(I) の変化勾配を１階差分ＡＦ'(J)［＝ＡＦ(I+1) −ＡＦ(I) ］で求めるようにしたが、これを２階差分ＡＦ"(K)［＝ＡＦ'(J+1)−ＡＦ'(J)］で求めるようにしても良い（図１８参照）。
【０１２２】
また、図７、図１５、図１６の空燃比センサ異常診断ルーチンにおいて、空燃比の外乱発生を予測して、次の異常診断禁止条件が成立しているときに、空燃比センサ２４の異常診断を禁止するようにしても良い。
【０１２３】
(1) 過渡運転時
(2) ＥＧＲ（排気還流制御）の実行時
(3) エバポガス（燃料蒸発ガス）を吸気系にパージしているとき（又はエバポ濃度が高濃度であるとき）
(4) 失火発生時
(5) 燃料系システムの自己診断結果が異常であるとき
【０１２４】
これら５つの条件(1) 〜(5) のうち、いずれか１つでも該当する条件があれば、異常診断禁止条件が成立して異常診断を禁止する。
このようにすれば、空燃比の外乱発生による異常の誤診断を防止することができ、異常診断の信頼性を向上させることができる。
【０１２５】
また、図７、図１５、図１６の空燃比センサ異常診断ルーチンによって空燃比センサ２４の異常診断を行う際に、応答特性検出値（無駄時間、応答時間、検出時間）として、その所定回数分の平均値を用いるようにしても良い。或は、応答特性検出値（無駄時間、応答時間、検出時間）とその標準値との偏差として、その所定回数分の平均値を用いるようにしても良い。いずれの場合でも、ノイズ等による応答特性検出値のばらつきの影響を少なくすることができて、ノイズ等による異常の誤診断を防止することができる。
【図面の簡単な説明】
【０１２６】
【図１】本発明の実施例１におけるエンジン制御システム全体の概略構成図である。
【図２】実施例１の応答特性検出方法を説明するタイムチャートである。
【図３】実施例１の空燃比センサの異常診断方法を説明するタイムチャートである。
【図４】実施例１の空燃比センサ応答特性検出メインルーチンの処理の流れを示すフローチャートである。
【図５】実施例１の無駄時間算出ルーチンの処理の流れを示すフローチャートである。
【図６】実施例１の１次遅れ特性算出ルーチンの処理の流れを示すフローチャートである。
【図７】実施例１の空燃比センサ異常診断ルーチンの処理の流れを示すフローチャートである。
【図８】実施例１の空燃比フィードバック制御パラメータ修正ルーチンの処理の流れを示すフローチャートである。
【図９】実施例１のしきい値算出マップの一例を説明する図である。
【図１０】実施例２の無駄時間算出ルーチンの処理の流れを示すフローチャートである。
【図１１】実施例３の応答特性検出方法を説明するタイムチャートである。
【図１２】実施例３の無駄時間算出ルーチンの処理の流れを示すフローチャートである。
【図１３】実施例４の正常範囲判定しきい値のマップの一例を説明する図である。
【図１４】実施例５における空燃比センサの応答特性の推定方法を説明する図である。
【図１５】実施例６の空燃比センサ異常診断ルーチンの処理の流れを示すフローチャートである（その１）。
【図１６】実施例６の空燃比センサ異常診断ルーチンの処理の流れを示すフローチャートである（その２）。
【図１７】ノンパラメトリック手法で６３％応答時間を算出する方法を説明する図である。
【図１８】センサ出力ＡＦ(I) とその１階差分ＡＦ'(J)と２階差分ＡＦ"(K)との関係を説明する図である。
【符号の説明】
【０１２７】
１１…エンジン（内燃機関）、１２…吸気管、１５…スロットルバルブ、１８…吸気管圧力センサ、１９…吸気マニホールド、２０…燃料噴射弁、２２…排気管、２３…触媒、２４…空燃比センサ、２７…ＥＣＵ（燃料変化タイミング判定手段，応答特性検出手段，異常判定手段，正常範囲設定手段）、３２…警告ランプ（警告手段）
【図１】
2005307961.tif 000003
【図２】
2005307961.tif 000004
【図３】
2005307961.tif 000005
【図４】
2005307961.tif 000006
【図５】
2005307961.tif 000007
【図６】
2005307961.tif 000008
【図７】
2005307961.tif 000009
【図８】
2005307961.tif 000010
【図９】
2005307961.tif 000011
【図１０】
2005307961.tif 000012
【図１１】
2005307961.tif 000013
【図１２】
2005307961.tif 000014
【図１３】
2005307961.tif 000015
【図１４】
2005307961.tif 000016
【図１５】
2005307961.tif 000017
【図１６】
2005307961.tif 000018
【図１７】
2005307961.tif 000019
【図１８】
2005307961.tif 000020