(57)【要約】  【課題】ガスセンサが異常状態にあるか否かの診断を、より精度よく、早く行うことができるガスセンサの異常診断方法、ガスセンサの異常診断装置を提供する。  【解決手段】エンジンに供給する混合気の空燃比がリッチ側からリーン側へ反転する回数が目標空燃比反転回数として定められた回数（例えば５回）に達するまでの期間を診断期間とする。また、所定間隔（１０ｍｓｅｃ）毎にガスセンサより排気ガス中の特定ガス成分の濃度に応じた検出信号（空燃比実測値）を取得し、その診断期間中に検出信号がリッチ側からリーン側へ移行した回数である実空燃比移行回数を求める。そして診断期間中の移行回数に基づいて、ガスセンサの出力の応答性が異常状態にあるか否かの診断を行う。【選択図】図８
2008203140.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関から排出される排気ガスに晒されたガスセンサの出力する当該排気ガス中の特定ガス成分の濃度に応じた検出信号に基づいて、前記ガスセンサが異常状態にあるか否かを診断するためのガスセンサの異常診断方法であって、
内燃機関に供給される混合気の目標空燃比が特定空燃比を境界にリッチ側からリーン側またはリーン側からリッチ側に反転した反転回数の計数が行われる目標空燃比反転回数計数工程と、
前記反転回数の計数が開始されてから予め定められた複数回の回数に達するまでの期間である診断期間において、一定のタイミング毎に前記ガスセンサの前記検出信号が取得される検出信号取得工程と、
前記診断期間において、前記検出信号がリッチ側からリーン側またはリーン側からリッチ側に移行した移行回数の計数が行われる移行回数計数工程と、
前記移行回数に基づき、前記ガスセンサが異常状態にあるか否かを診断する異常診断工程と
を有することを特徴とするガスセンサの異常診断方法。
【請求項２】
前記異常診断工程では、前記移行回数と予め定められたしきい値との比較結果に基づき、前記ガスセンサが異常状態にあるか否かが診断されることを特徴とする請求項１に記載のガスセンサの異常診断方法。
【請求項３】
前記異常診断工程は、前記診断期間における前記移行回数の算出が複数回の当該診断期間に対し繰り返し行われる繰り返し計数工程を有し、
前記複数回の診断期間に対応して得られた前記移行回数に基づき、前記ガスセンサが異常状態にあるか否かを診断することを特徴とする請求項１に記載のガスセンサの異常診断方法。
【請求項４】
前記異常診断工程は、前記繰り返し計数工程により得られた複数回分の前記移行回数をすべて合計した移行回数合計値が算出される移行回数合計値算出工程を有し、
前記移行回数合計値と予め定められたしきい値との比較結果に基づき、前記ガスセンサが異常状態にあるか否かが診断されることを特徴とする請求項３に記載のガスセンサの異常診断方法。
【請求項５】
前記診断期間において、取得された前記検出信号に、予め定められたなまし係数を用いたなまし演算を適用してなまし信号が算出されるなまし信号算出工程と、
現在取得された検出信号と現在算出されたなまし信号との偏差が算出される偏差算出工程と
を有し、
前記異常診断工程では、前記移行回数に加え、前記偏差に基づいて前記ガスセンサが異常状態にあるか否かが診断されることを特徴とする請求項１乃至４のいずれかに記載のガスセンサの異常診断方法。
【請求項６】
前記ガスセンサは、前記排気ガス中の酸素濃度に応じてリニアに検出信号の出力値が変化する酸素センサであることを特徴とする請求項１乃至５のいずれかに記載のガスセンサの異常診断方法。
【請求項７】
内燃機関から排出される排気ガスに晒されたガスセンサの出力する当該排気ガス中の特定ガス成分の濃度に応じた検出信号に基づいて、前記ガスセンサが異常状態にあるか否かを診断するためのガスセンサの異常診断装置であって、
内燃機関に供給される混合気の目標空燃比が特定空燃比を境界にリッチ側からリーン側またはリーン側からリッチ側に反転した反転回数を計数する目標空燃比反転回数計数手段と、
前記反転回数の計数が開始されてから予め定められた複数回の回数に達するまでの期間である診断期間において、一定のタイミング毎に前記ガスセンサの前記検出信号を取得する検出信号取得手段と、
前記診断期間において、前記検出信号がリッチ側からリーン側またはリーン側からリッチ側に移行した移行回数を計数する移行回数計数手段と、
前記移行回数に基づき、前記ガスセンサが異常状態にあるか否かを診断する異常診断手段と
を備えたことを特徴とするガスセンサの異常診断装置。
【請求項８】
前記異常診断手段は、前記移行回数と予め定められたしきい値との比較結果に基づき、前記ガスセンサが異常状態にあるか否かを診断することを特徴とする請求項７に記載のガスセンサの異常診断装置。
【請求項９】
前記異常診断手段は、前記診断期間における前記移行回数の算出を複数回の当該診断期間に対し繰り返し行う繰り返し計数手段を備え、
前記複数回の診断期間に対応して得られた前記移行回数に基づき、前記ガスセンサが異常状態にあるか否かを診断することを特徴とする請求項７に記載のガスセンサの異常診断装置。
【請求項１０】
前記異常診断手段は、前記繰り返し計数手段により得られた複数回分の前記移行回数をすべて合計した移行回数合計値を算出する移行回数合計値算出手段を備え、
前記移行回数合計値と予め定められたしきい値との比較結果に基づき、前記ガスセンサが異常状態にあるか否かを診断することを特徴とする請求項９に記載のガスセンサの異常診断装置。
【請求項１１】
前記診断期間において、取得された前記検出信号に、予め定められたなまし係数を用いたなまし演算を適用してなまし信号を算出するなまし信号算出手段と、
現在取得された検出信号と現在算出されたなまし信号との偏差を算出する偏差算出手段と
を備え、
前記異常診断手段は、前記移行回数に加え、前記偏差に基づいて前記ガスセンサが異常状態にあるか否かを診断することを特徴とする請求項７乃至１０のいずれかに記載のガスセンサの異常診断装置。
【請求項１２】
前記ガスセンサは、前記排気ガス中の酸素濃度に応じてリニアに検出信号の出力値が変化する酸素センサであることを特徴とする請求項７乃至１１のいずれかに記載のガスセンサの異常診断装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、排気ガスの空燃比を検出するガスセンサが異常状態にあるか否かを診断するためのガスセンサの異常診断方法、ガスセンサの異常診断装置に関するものである。
【背景技術】
【０００２】
従来より、自動車のエンジンなどの内燃機関の排気通路に取り付けられ、排気ガス中の特定ガス成分の濃度を検出するガスセンサが知られている。そして、ガスセンサ（詳細には、ガスセンサを構成するセンサ素子）から出力される検出信号はＥＣＵ（電子制御ユニット）に送信され、ＥＣＵでは、受信した検出信号に基づき排気ガスの空燃比を検出し、エンジンにおける燃料の噴射量の調整等の空燃比フィードバック制御が行われる。なお、このようなガスセンサとしては、排気ガス中の酸素濃度を検出する酸素センサが知られており、近年ではより精密な空燃比フィードバック制御を実現する等の目的から、排気ガス中の酸素濃度に応じてリニアにセンサ出力値が変化する全領域空燃比センサが使用されるようになってきている。
【０００３】
ところで、ガスセンサを長期間使用した場合、ガスセンサのプロテクタ（詳細にはセンサ素子の周囲を覆って保護するプロテクタ）に形成されたガス流通孔や排気ガスをセンサ素子内部に導く多孔質部が目詰まりを起こす等の経時劣化を生ずることがある。ガスセンサにこのような劣化が生ずると、排気ガス中の特定ガス成分の濃度変化に応じたセンサ出力値の応答が劣化していないガスセンサ（即ち、正常時）と比べ遅くなる。
【０００４】
このようにガスセンサが劣化した場合、エンジンの運転性能の低下や燃費の低下、排気ガスの清浄性の低下等を招く虞があるため、ガスセンサの検出信号に基づいてガスセンサが異常状態にあるか否かの診断が行われている。例えば、ガスセンサの出力する検出信号の値がリッチ側とリーン側との間で反転を繰り返すときの周期（以下、「移行周期」という。）を求め、この移行周期が所定値以上であれば、ガスセンサが異常状態（劣化状態）にあると診断する装置が開示されている（例えば、特許文献１参照。）。
【０００５】
具体的に、特許文献１では、ガスセンサの検出信号に基づく検出当量比ＫＡＣＴの値が所定上限値ＫＬＡＦＬＭＴＨより大きい値となったときからアップカウントタイマｔｍＷＡＶＥによるタイマカウントを開始して、検出当量比ＫＡＣＴが所定上限値ＫＬＡＦＬＭＴＨより大きい値となる度にカウンタＮＷＡＶＥをインクリメントし、リッチ側からリーン側へ移行した回数を計数している。そのインクリメント時に、アップカウントタイマｔｍＷＡＶＥが所定時間ＴＭＷＡＶＥより大きな値となっていれば、アップカウントタイマｔｍＷＡＶＥをカウンタＮＷＡＶＥで除算することで、移行周期（周期ｔｍＣＹＣＬ）を求めている。そして、この周期ｔｍＣＹＣＬが所定周期ｔｍＣＹＣＬＯＫ以上の値であった場合に、ガスセンサが異常状態にあると診断している。
【特許文献１】特許第３３７７３３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら上記移行周期は、エンジンに供給される混合気の目標とする空燃比が反転する周期（以下「反転周期」という。）によって左右され、その目標空燃比の反転周期はエンジンの運転状態に応じて調整されるものであるため、特許文献１のように、移行周期を一定値（所定周期ｔｍＣＹＣＬＯＫ）と比較する方法では、異常状態の診断を精度よく行えるとは言い難かった。また、特許文献１では、異常状態の診断を行うための所定時間ＴＭＷＡＶＥが経過していても、検出当量比ＫＡＣＴの値が所定上限値ＫＬＡＦＬＭＴＨより大きい値となるタイミングまではアップカウントタイマｔｍＷＡＶＥによるタイマカウントが継続されることとなる。このため、ガスセンサの劣化状態が進行して移行周期（周期ｔｍＣＹＣＬ）が長くなった場合、ガスセンサが異常状態にあるか否かの診断結果が出るまで時間がかかってしまうという問題があった。
【０００７】
本発明は上記問題点を解決するためになされたものであり、ガスセンサが異常状態にあるか否かの診断を、より精度よく、早く行うことができるガスセンサの異常診断方法、ガスセンサの異常診断装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、請求項１に係る発明のガスセンサの異常診断方法は、内燃機関から排出される排気ガスに晒されたガスセンサの出力する当該排気ガス中の特定ガス成分の濃度に応じた検出信号に基づいて、前記ガスセンサが異常状態にあるか否かを診断するためのガスセンサの異常診断方法であって、内燃機関に供給される混合気の目標空燃比が特定空燃比を境界にリッチ側からリーン側またはリーン側からリッチ側に反転した反転回数の計数が行われる目標空燃比反転回数計数工程と、前記反転回数の計数が開始されてから予め定められた複数回の回数に達するまでの期間である診断期間において、一定のタイミング毎に前記ガスセンサの前記検出信号が取得される検出信号取得工程と、前記診断期間において、前記検出信号がリッチ側からリーン側またはリーン側からリッチ側に移行した移行回数の計数が行われる移行回数計数工程と、前記移行回数に基づき、前記ガスセンサが異常状態にあるか否かを診断する異常診断工程とを有することを特徴とする。
【０００９】
また、請求項２に係る発明のガスセンサの異常診断方法は、請求項１に記載の発明の構成に加え、前記異常診断工程では、前記移行回数と予め定められたしきい値との比較結果に基づき、前記ガスセンサが異常状態にあるか否かが診断されることを特徴とする。
【００１０】
また、請求項３に係る発明のガスセンサの異常診断方法は、請求項１に記載の発明の構成に加え、前記異常診断工程は、前記診断期間における前記移行回数の算出が複数回の当該診断期間に対し繰り返し行われる繰り返し計数工程を有し、前記複数回の診断期間に対応して得られた前記移行回数に基づき、前記ガスセンサが異常状態にあるか否かを診断することを特徴とする。
【００１１】
また、請求項４に係る発明のガスセンサの異常診断方法は、請求項３に記載の発明の構成に加え、前記異常診断工程は、前記繰り返し計数工程により得られた複数回分の前記移行回数をすべて合計した移行回数合計値が算出される移行回数合計値算出工程を有し、前記移行回数合計値と予め定められたしきい値との比較結果に基づき、前記ガスセンサが異常状態にあるか否かが診断されることを特徴とする。
【００１２】
また、請求項５に係る発明のガスセンサの異常診断方法は、請求項１乃至４のいずれかに記載の発明の構成に加え、前記診断期間において、取得された前記検出信号に、予め定められたなまし係数を用いたなまし演算を適用してなまし信号が算出されるなまし信号算出工程と、現在取得された検出信号と現在算出されたなまし信号との偏差が算出される偏差算出工程とを有し、前記異常診断工程では、前記移行回数に加え、前記偏差に基づいて前記ガスセンサが異常状態にあるか否かが診断されることを特徴とする。
【００１３】
また、請求項６に係る発明のガスセンサの異常診断方法は、請求項１乃至５のいずれかに記載の発明の構成に加え、前記ガスセンサは、前記排気ガス中の酸素濃度に応じてリニアに検出信号の出力値が変化する酸素センサであることを特徴とする。
【００１４】
また、請求項７に係る発明のガスセンサの異常診断装置は、内燃機関から排出される排気ガスに晒されたガスセンサの出力する当該排気ガス中の特定ガス成分の濃度に応じた検出信号に基づいて、前記ガスセンサが異常状態にあるか否かを診断するためのガスセンサの異常診断装置であって、内燃機関に供給される混合気の目標空燃比が特定空燃比を境界にリッチ側からリーン側またはリーン側からリッチ側に反転した反転回数を計数する目標空燃比反転回数計数手段と、前記反転回数の計数が開始されてから予め定められた複数回の回数に達するまでの期間である診断期間において、一定のタイミング毎に前記ガスセンサの前記検出信号を取得する検出信号取得手段と、前記診断期間において、前記検出信号がリッチ側からリーン側またはリーン側からリッチ側に移行した移行回数を計数する移行回数計数手段と、前記移行回数に基づき、前記ガスセンサが異常状態にあるか否かを診断する異常診断手段とを備えている。
【００１５】
また、請求項８に係る発明のガスセンサの異常診断装置は、請求項７に記載の発明の構成に加え、前記異常診断手段は、前記移行回数と予め定められたしきい値との比較結果に基づき、前記ガスセンサが異常状態にあるか否かを診断することを特徴とする。
【００１６】
また、請求項９に係る発明のガスセンサの異常診断装置は、請求項７に記載の発明の構成に加え、前記異常診断手段は、前記診断期間における前記移行回数の算出を複数回の当該診断期間に対し繰り返し行う繰り返し計数手段を備え、前記複数回の診断期間に対応して得られた前記移行回数に基づき、前記ガスセンサが異常状態にあるか否かを診断することを特徴とする。
【００１７】
また、請求項１０に係る発明のガスセンサの異常診断装置は、請求項９に記載の発明の構成に加え、前記異常診断手段は、前記繰り返し計数手段により得られた複数回分の前記移行回数をすべて合計した移行回数合計値を算出する移行回数合計値算出手段を備え、前記移行回数合計値と予め定められたしきい値との比較結果に基づき、前記ガスセンサが異常状態にあるか否かを診断することを特徴とする。
【００１８】
また、請求項１１に係る発明のガスセンサの異常診断装置は、請求項７乃至１０のいずれかに記載の発明の構成に加え、前記診断期間において、取得された前記検出信号に、予め定められたなまし係数を用いたなまし演算を適用してなまし信号を算出するなまし信号算出手段と、現在取得された検出信号と現在算出されたなまし信号との偏差を算出する偏差算出手段とを備え、前記異常診断手段は、前記移行回数に加え、前記偏差に基づいて前記ガスセンサが異常状態にあるか否かを診断することを特徴とする。
【００１９】
また、請求項１２に係る発明のガスセンサの異常診断装置は、請求項７乃至１１のいずれかに記載の発明の構成に加え、前記ガスセンサは、前記排気ガス中の酸素濃度に応じてリニアに検出信号の出力値が変化する酸素センサであることを特徴とする。
【発明の効果】
【００２０】
請求項１に係る発明のガスセンサの異常診断方法は、ガスセンサが正常な状態にある場合に、内燃機関に供給される混合気の目標空燃比のリッチ側とリーン側と間での反転に追従するように検出信号がリッチ側とリーン側との間で移行するのに対し、ガスセンサが異常状態にある場合には、検出信号の移行が目標空燃比の反転に追従できなくなって遅れが発生することから、移行回数に差が生ずることに基づいて行うものである。従って、目標空燃比の反転回数に応じた診断期間を定め、その診断期間中における検出信号の移行回数を計数することで、診断期間を基準として、ガスセンサの異常状態の診断を行うことができる。診断期間は検出信号の移行の周期には影響されないので、ガスセンサが異常状態となり目標空燃比の反転の周期に対して検出信号の移行の周期に遅れが生じても、診断期間が長引くことはない。
【００２１】
また、ガスセンサが正常な状態にある場合、目標空燃比の反転に対し検出信号の移行が追従するため、目標空燃比の反転回数と検出信号の移行回数とがほぼ同じとなる。エンジンの運転状態に応じて目標空燃比の反転周期が調整されても、目標空燃比の反転に対し検出信号の移行が追従する限り、目標空燃比の反転回数と検出信号の移行回数とがほぼ同じとなる。従って、診断期間中に目標空燃比の反転周期が変動しても、ガスセンサが正常な状態にある場合に得られる検出信号の移行回数には影響がないため、検出信号の移行回数に基づいてガスセンサが正常な状態にある場合と異常状態となった場合とを容易に区別することができ、異常状態の診断の精度をより高くすることができる。
【００２２】
また、検出信号の移行回数を計数する診断期間の長さが予め定められた複数回の目標空燃比の反転回数によって決められることから、上記のように、ガスセンサが正常な場合に得られる検出信号の反転回数は、その予め定められた複数回の目標空燃比の反転回数とほぼ同じとなる。従って、ガスセンサが異常状態にあるか否かを診断するにあたって、請求項２に係る発明のように、検出信号の移行回数に対するしきい値を定めて両者を比較すれば、精度よく容易にガスセンサの異常診断を行うことができる。
【００２３】
また、請求項３に係る発明のように、診断期間を複数回繰り返して行い、各診断期間にそれぞれ移行回数を求め、その移行回数に基づいてガスセンサの異常診断を行うことで、一度の診断期間において得られた移行回数から異常診断を行うよりも、より精度よく、ガスセンサの異常診断を行うことができる。
【００２４】
さらに、請求項４に係る発明のように、診断期間における検出信号の移行回数の計数を、複数回の診断期間に対し繰り返し行って移行回数合計値を求めれば、正常状態にある場合に取り得る移行回数合計値の範囲と、異常状態にある場合に取り得る移行回数合計値の範囲との差異をさらに明確にすることができ、ガスセンサが異常状態にあるか否かの診断をより精度よく行うことができる。
【００２５】
また、請求項５に係る発明では、診断期間において、ガスセンサの出力する検出信号と、その検出信号をなましたなまし信号との偏差を求め、求めた偏差から、ガスセンサが異常状態にあるか否かを診断している。このときなまし信号は、検出信号を基に算出されるものであって、ガスセンサの検出信号の変化に対して緩慢に追従するように変化する。このため、異常診断の対象であるガスセンサより出力される検出信号の値が、ガスセンサの個体間バラツキの影響によって狙い値よりも上側または下側の値を示す傾向にあっても、その検出信号との間で偏差を求めるための基準値であるなまし信号もまた、各ガスセンサの検出信号の変化に追従して変化する。従って同程度の劣化状態のガスセンサであっても、従来のように個体間バラツキに起因して求められる偏差がまちまちとなってしまうことを抑制することができる。このように、本発明のガスセンサの異常診断方法によれば、ガスセンサが異常状態にあるか否かの診断をより精度よく行うことができる。そしてこのようななまし信号を用いた異常診断に加え、上記のような移行回数に基づくガスセンサの異常診断を行うことで、ガスセンサが異常状態にあるか否かの診断をさらに精度よく行うことができる。
【００２６】
そして、このようなガスセンサの異常診断方法を、請求項６に係る発明のように、排気ガス中の酸素濃度に応じてリニアに検出信号の出力値が変化する構成の酸素センサに適用することで、この酸素センサの異常状態を精度よく、確実に検出することができる。
【００２７】
次に、請求項７に係る発明のガスセンサの異常診断装置は、ガスセンサが正常な状態にある場合に、内燃機関に供給される混合気の目標空燃比のリッチ側とリーン側と間での反転に追従するように検出信号がリッチ側とリーン側との間で移行するのに対し、ガスセンサが異常状態にある場合には、検出信号の移行が目標空燃比の反転に追従できなくなって遅れが発生することから、移行回数に差が生ずることに基づいて行うものである。従って、目標空燃比の反転回数に応じた診断期間を定め、その診断期間中における検出信号の移行回数を計数することで、診断期間を基準として、ガスセンサの異常状態の診断を行うことができる。診断期間は検出信号の移行の周期には影響されないので、ガスセンサが異常状態となり目標空燃比の反転の周期に対して検出信号の移行の周期に遅れが生じても、診断期間が長引くことはない。
【００２８】
また、ガスセンサが正常な状態にある場合、目標空燃比の反転に対し検出信号の移行が追従するため、目標空燃比の反転回数と検出信号の移行回数とがほぼ同じとなる。エンジンの運転状態に応じて目標空燃比の反転周期が調整されても、目標空燃比の反転に対し検出信号の移行が追従する限り、目標空燃比の反転回数と検出信号の移行回数とがほぼ同じとなる。従って、診断期間中に目標空燃比の反転周期が変動しても、ガスセンサが正常な状態にある場合に得られる検出信号の移行回数には影響がないため、検出信号の移行回数に基づいてガスセンサが正常な状態にある場合と異常状態となった場合とを容易に区別することができ、異常状態の診断の精度をより高くすることができる。
【００２９】
また、検出信号の移行回数を計数する診断期間の長さが予め定められた複数回の目標空燃比の反転回数によって決められることから、上記のように、ガスセンサが正常な場合に得られる検出信号の反転回数は、その予め定められた複数回の目標空燃比の反転回数とほぼ同じとなる。従って、ガスセンサが異常状態にあるか否かを診断するにあたって、請求項８に係る発明のように、検出信号の移行回数に対するしきい値を定めて両者を比較すれば、精度よく容易にガスセンサの異常診断を行うことができる。
【００３０】
また、請求項９に係る発明のように、診断期間を複数回繰り返して行い、各診断期間にそれぞれ移行回数を求め、その移行回数に基づいてガスセンサの異常診断を行うことで、一度の診断期間において得られた移行回数から異常診断を行うよりも、より精度よく、ガスセンサの異常診断を行うことができる。
【００３１】
さらに、請求項１０に係る発明のように、診断期間における検出信号の移行回数の計数を、複数回の診断期間に対し繰り返し行って移行回数合計値を求めれば、正常状態にある場合に取り得る移行回数合計値の範囲と、異常状態にある場合に取り得る移行回数合計値の範囲との差異をさらに明確にすることができ、ガスセンサが異常状態にあるか否かの診断をより精度よく行うことができる。
【００３２】
また、請求項１１に係る発明では、診断期間において、ガスセンサの出力する検出信号と、その検出信号をなましたなまし信号との偏差を求め、求めた偏差から、ガスセンサが異常状態にあるか否かを診断している。このときなまし信号は、検出信号を基に算出されるものであって、ガスセンサの検出信号の変化に対して緩慢に追従するように変化する。このため、異常診断の対象であるガスセンサより出力される検出信号の値が、ガスセンサの個体間バラツキの影響によって狙い値よりも上側または下側の値を示す傾向にあっても、その検出信号との間で偏差を求めるための基準値であるなまし信号もまた、各ガスセンサの検出信号の変化に追従して変化する。従って同程度の劣化状態のガスセンサであっても、従来のように個体間バラツキに起因して求められる偏差がまちまちとなってしまうことを抑制することができる。このように、本発明のガスセンサの異常診断方法によれば、ガスセンサが異常状態にあるか否かの診断をより精度よく行うことができる。そしてこのようななまし信号を用いた異常診断に加え、上記のような移行回数に基づくガスセンサの異常診断を行うことで、ガスセンサが異常状態にあるか否かの診断をさらに精度よく行うことができる。
【００３３】
そして、このようなガスセンサの異常診断方法を、請求項１２に係る発明のように、排気ガス中の酸素濃度に応じてリニアに検出信号の出力値が変化する構成の酸素センサに適用することで、この酸素センサの異常状態を精度よく、確実に検出することができる。
【発明を実施するための最良の形態】
【００３４】
［第１の実施の形態］
以下、本発明を具体化したガスセンサの異常診断方法、ガスセンサの異常診断装置の第１の実施の形態について、図面を参照して説明する。まず、図１を参照し、本発明のガスセンサの異常診断方法を実現可能な異常診断装置として、ガスセンサの出力する検出信号に基づきガスセンサが異常状態にあるか否かを診断することが可能なＥＣＵ（電子制御ユニット）５を例に説明する。また、ガスセンサとしては、全領域空燃比センサ１を例に説明する。図１は、ＥＣＵ５と全領域空燃比センサ１との電気的な構成を説明するためのブロック図である。
【００３５】
なお、第１の実施の形態では、全領域空燃比センサ１とＥＣＵ５との間に図示外の中継基板を介在させ、その中継基板上の一回路部として、後述するセンサ駆動回路部３を設けた場合を例に説明を行う。もっともセンサ駆動回路部３は、ＥＣＵ５上の一回路部としてＥＣＵ５に設けられる場合もある。従って、本発明における「ガスセンサの出力」とは、厳密には、全領域空燃比センサ１とセンサ駆動回路部３とから構成されるセンサユニット４の出力が相当するものではあるが、便宜上、全領域空燃比センサ１の出力として、以下の説明を行うものとする。
【００３６】
図１に示す全領域空燃比センサ１は、自動車のエンジンの排気通路（図示外）に取り受けられ、排気通路を流通する排気ガス中の特定ガス成分（例えば酸素）の濃度に基づき排気ガスの空燃比を検出するためのセンサである。全領域空燃比センサ１は、内部に細長で長尺な板状をなすセンサ素子１０を、図示外のハウジング内に保持した構造を有する。全領域空燃比センサ１からは、このセンサ素子１０の出力する信号を取り出すための信号線が引き出されており、全領域空燃比センサ１とは離れた位置に取り付けられる中継基板（図示外）上のセンサ駆動回路部３に電気的に接続されている。そして、全領域空燃比センサ１とセンサ駆動回路部３とから構成されるセンサユニット４の出力が、自動車のＥＣＵ（電子制御ユニット）５に入力されている。ＥＣＵ５では、センサユニット４からの出力、すなわち全領域空燃比センサ１の出力に基づき、エンジンの空燃比フィードバック制御を行う。
【００３７】
まず、センサ素子１０の構造について説明する。センサ素子１０は、排気ガス中の酸素濃度を検出するための検出体２８と、検出体２８を加熱するためのヒータ体２７とから構成されている。検出体２８は、ジルコニアを主体とする固体電解質体１１，１３，１４と、アルミナを主体とする絶縁基体１２とを、固体電解質体１４，１３，絶縁基体１２，固体電解質体１１の順に積層した構造を有する。固体電解質体１１の積層方向両面には、白金を主体とする一対の電極１９，２０がそれぞれ形成されており、同様に、固体電解質体１３の積層方向両面にも一対の電極２１，２２がそれぞれ形成されている。また、電極２２は固体電解質体１３，１４に挟まれ、固体電解質体中に埋設された形態となっている。なお、固体電解質体１１，１３，１４および絶縁基体１２は、いずれも細長い短冊状の板体として形成されており、図１ではその板体の延長方向と直交する断面を示している。
【００３８】
絶縁基体１２の延長方向の一端側には、固体電解質体１１，１３をそれぞれ積層方向側の一壁面としつつ、排気ガスを導入可能な中空の内部空間としてのガス検出室２３が形成されている。このガス検出室２３の幅方向の両端には、ガス検出室２３内に排気ガスを導入する際の流入量を規制するための多孔質状の拡散律速部１５が設けられている。上記した固体電解質体１１上の電極２０と、固体電解質体１３上の電極２１は、このガス検出室２３内にそれぞれ露出されている。
【００３９】
次にヒータ体２７は、アルミナを主体とし、上記検出体２８と同様の板状をなす２枚の絶縁基体１８，１７を積層しつつ、両絶縁基体間に白金を主体とする発熱抵抗体２６を挟んで埋設した構造を有する。ジルコニアからなる固体電解質体は常温では絶縁性を示すが、高温環境下（例えば６００℃以上）では活性化され酸素イオン導電性を示すことが知られており、ヒータ体２７は固体電解質体１１，１３，１４を加熱して活性化させるためのものである。
【００４０】
ヒータ体２７は、検出体２８の固体電解質体１１側の外層に配設されている。そしてヒータ体２７の絶縁基体１８と、検出体２８の固体電解質体１１との間には、ガスが流通可能な間隙が形成されている。この間隙内に配置された固体電解質体１１上の電極１９は、その表面がセラミックスからなる多孔質性の保護層２４に覆われており、排気ガスに含まれるシリコン等の被毒成分によって電極１９が劣化しないように保護されている。
【００４１】
このように構成されたセンサ素子１０において、固体電解質体１１とその積層方向両面に設けられた一対の電極１９，２０は、外部からガス検出室２３内に酸素を汲み入れ、あるいはガス検出室２３から外部へ酸素を汲み出す酸素ポンプセル（以下、固体電解質体１１および電極１９，２０を総じて「Ｉｐセル」ともいう。）として機能する。同様に、固体電解質体１３とその積層方向両面に設けられた一対の電極２１，２２は、両電極間の酸素濃度に応じて起電力を発生させる酸素濃度検出セル（以下、固体電解質体１３および電極２１，２２を総じて「Ｖｓセル」ともいう。）として機能する。また、電極２２は、ガス検出室２３内の酸素濃度の検出のための基準となる酸素濃度を維持する酸素基準電極として機能する。なお、ＩｐセルおよびＶｓセルの詳細な機能については後述する。
【００４２】
次に、センサ素子１０に接続されるセンサ駆動回路部３の構成について説明する。センサ駆動回路部３は、ヒータ電圧供給回路３１、ポンプ電流駆動回路３２、電圧出力回路３３、微小電流供給回路３４および基準電圧比較回路３５から構成され、センサ素子１０から排気ガス中の酸素濃度に応じた電流値を電圧信号として得るための電気回路部である。なお前述したように、このセンサ駆動回路部３は後述するＥＣＵ５の一回路部として設けられる場合もある。
【００４３】
ヒータ電圧供給回路３１は、センサ素子１０のヒータ体２７の発熱抵抗体２６の両端に電圧Ｖｈを印加して発熱させ、固体電解質体１１，１３，１４の加熱を行う。微小電流供給回路３４は、Ｖｓセルの電極２２から電極２１側へ微小電流Ｉｃｐを流し、電極２２側に酸素イオンを移動させて酸素を溜め込ませることで、電極２２を排気ガス中の酸素濃度を検出するための基準となる酸素基準電極として機能させる。電圧出力回路３３は、Ｖｓセルの電極２１，２２間に生ずる起電力Ｖｓを検出するものである。基準電圧比較回路３５は、予め定められた基準電圧（例えば４５０ｍＶ）と、電圧出力回路３３にて検出した起電力Ｖｓとの比較を行い、比較結果をポンプ電流駆動回路３２にフィードバックするものである。ポンプ電流駆動回路３２は、基準電圧比較回路３５から得られた比較結果に基づき、Ｉｐセルの電極１９，２０間に流すポンプ電流Ｉｐを制御して、Ｉｐセルによるガス検出室２３内への酸素の汲み入れやガス検出室２３からの酸素の汲み出しが行われるようにする。
【００４４】
次に、ＥＣＵ５の構成について説明する。ＥＣＵ５は、自動車のエンジンの駆動等を電子的に制御するための装置であり、全領域空燃比センサ１の出力（検出信号）が入力される。また、その他の情報として、その他のセンサからの信号（例えば、エンジンのピストン位置や回転数を検出できるクランク角、冷却水の水温、燃焼圧などの情報）も入力され、制御プログラムの実行に従って燃料の噴射タイミングや点火時期の制御を行うものである。ＥＣＵ５にはＣＰＵ６、ＲＯＭ７、ＲＡＭ８が設けられており、図示外の信号入出力部を介してセンサユニット４のセンサ駆動回路部３から得られる排気ガス中の酸素濃度に応じた出力（検出信号）をＡ／Ｄ変換した値（後述する空燃比実測値）がＲＡＭ８に記憶されて、後述する異常診断プログラムにて用いられる。
【００４５】
第１の実施の形態では、後述する異常診断プログラムの実行に従い、全領域空燃比センサ１からの出力値に基づいて、センサ素子１０が異常状態にあるか否かの診断を行っている。異常診断プログラムはＲＯＭ７に記憶されており、ＣＰＵ６によって実行される。以下、ＲＯＭ７およびＲＡＭ８の各記憶エリアについて図２，図３を参照して説明する。図２は、ＲＯＭ７の記憶エリアの構成を示す概念図である。図３は、ＲＡＭ８の記憶エリアの構成を示す概念図である。
【００４６】
ＲＯＭ７には、後述する異常診断プログラムの他に、各種の制御プログラムや初期値等が記憶されている。図２に示すように、ＲＯＭ７の異常診断プログラムに係る記憶エリアには、プログラム記憶エリア７１、設定値記憶エリア７２、初期化条件フラグ記憶エリア７３、運転パラメータ条件フラグ記憶エリア７４等が設けられている。
【００４７】
プログラム記憶エリア７１には、異常診断プログラムを含め、各種プログラムがインストールされた際に記憶される。設定値記憶エリア７２には、異常診断プログラムの実行時に使用される初期値や設定値等が記憶されている。具体的には、後述する異常診断プログラムの応答遅れ診断処理において、混合気の目標空燃比がリッチかリーンかを判定するための基準となる目標中心空燃比（例えば理論空燃比を基準とする場合には１４．６）や、全領域空燃比センサ１の出力として得られる空燃比実測値と比較して排気ガスの空燃比がリッチかリーンかを判定するための基準となる実空燃比中央値が記憶されている。第１の実施の形態では、全領域空燃比センサ１の出力（検出信号）をＡ／Ｄ変換した値（後述する空燃比実測値）の取り得る範囲の中央の値を実空燃比中央値とするが、この値はエンジンの制御形態によって適宜変更されるものであり、中央の値に限定するものではない。なお、目標中心空燃比が、本発明における「特定空燃比」に相当する。
【００４８】
また、第１の実施の形態では、混合気の目標空燃比がリッチ側からリーン側へ反転した時を起点とし、それ以後に目標空燃比がリッチ側からリーン側へ反転する毎にその反転回数を数え、基準反転回数として定められた回数（例えば５回）に達するまでの期間を、異常診断のため全領域空燃比センサ１の出力を取得する診断期間としている。そしてこの診断期間中に、空燃比実測値についてもリッチ側からリーン側へ移行した回数を数え、基準移行回数として定められた回数（例えば３回）以下だった場合に全領域空燃比センサ１が異常状態にあると診断（判定）している。設定値記憶エリア７２には、診断期間を決定するための基準反転回数や、移行回数のしきい値としての基準移行回数も予め定められて記憶されている。さらに、異常診断を開始する条件として全領域空燃比センサ１が活性化したか否かを判定する際に用いる基準値としてのセンサ活性判定値も記憶されている。
【００４９】
また、初期化条件フラグ記憶エリア７３には、異常診断プログラムの実行の際に参照される初期化条件フラグの値が記憶される。初期化条件フラグは、異常診断プログラムとは異なる他の制御プログラムからの出力に応じ、あるいは直接書き込まれることにより立てられるフラグである。他の制御プログラムによりエンジンの状態が監視され、例えば自動車のイグニッションキーがＯＦＦにされエンジンが停止された場合や、エンジンが不意に作動を停止（いわゆるエンスト）した場合などに１が記憶される。
【００５０】
また、運転パラメータ条件フラグ記憶エリア７４には、異常診断プログラムの実行の際に参照される運転パラメータ条件フラグの値が記憶される。運転パラメータ条件フラグもまた、異常診断プログラムとは異なる別の制御プログラムにより立てられるフラグである。ＣＰＵ６により実行される別の制御プログラムによりエンジンを中心としたシステム全体の稼働状況が監視され、例えばエンジンの回転数や冷却水の水温などが、予め設定された正常とみなせる値の範囲内で所定時間（例えば１秒間）維持された場合に、エンジンの運転状況が正常であるとして１が記憶される。なお、エンジンの回転数や冷却水の水温の正常とみなせる範囲として、第１の実施の形態では、エンジン回転数が２０００ｒｐｍ以上５０００ｒｐｍ以下であり、水温が５０℃以上３００℃以下である範囲（条件）を設定している。また、ＲＯＭ７には図示外の各種記憶エリアも設けられている。
【００５１】
次に、ＲＡＭ８の記憶エリアについて説明する。図３に示すように、ＲＡＭ８の異常診断プログラムに係る記憶エリアには、フラグ記憶エリア８１、目標空燃比記憶エリア８２、空燃比実測値記憶エリア８３、目標空燃比反転回数記憶エリア８４、実空燃比移行回数記憶エリア８５等が設けられている。フラグ記憶エリア８１には、異常診断プログラムの実行時に利用されるフラグが一時的に記憶される。ところで、ＣＰＵ６では、異常診断プログラムとは別に燃料の噴射タイミングおよび噴射量を制御するプログラムが実行されており、そのプログラムにおいて、混合気の目標とする空燃比がエンジンの運転状態に応じて決定されている。目標空燃比記憶エリア８２には、そのプログラムにおいて使用される記憶エリアから読み込まれた目標空燃比が記憶される。
【００５２】
また、空燃比実測値記憶エリア８３には、センサ駆動回路部３より出力される全領域空燃比センサ１の出力として、Ｉｐセルに流されたポンプ電流ＩｐをＡ／Ｄ変換した値が空燃比実測値として記憶される。目標空燃比反転回数記憶エリア８４には、リッチ側とリーン側との間で繰り返し反転する混合気の目標空燃比がリッチ側からリーン側へ移行したときを１回としてカウントした回数が記憶される。実空燃比移行回数記憶エリア８５にも同様に、全領域空燃比センサ１の出力として排気ガスの空燃比を示す空燃比実測値がリッチ側からリーン側へ移行したときを１回としてカウントした回数が記憶される。また、ＲＡＭ８には図示外の各種記憶エリアも設けられている。
【００５３】
ところで、上記したフラグ記憶エリア８１には、計測完了フラグ、目標空燃比フラグ、実空燃比フラグ、異常判定フラグ等が記憶される。計測完了フラグは、センサの異常診断が完了した時点で立てられるフラグである。第１の実施の形態の異常診断プログラムでは、１回のエンジンの駆動開始から停止までの間に一度、センサの異常診断が行われるように構成されており、上記運転パラメータ条件フラグおよび計測完了フラグと、ＲＯＭ７に記憶される初期化条件フラグを用いて、異常診断のための各処理を実施するか否かが決定される。
【００５４】
また、目標空燃比フラグは、目標空燃比記憶エリア８２に記憶された目標空燃比がリッチかリーンかを判定した結果に従って立てられるフラグである。設定値記憶エリア７２に記憶された目標中心空燃比を目標空燃比と比較し、目標空燃比がリッチである場合に１が記憶され、リーンである場合に０が記憶される。同様に実空燃比フラグは、空燃比実測値記憶エリア８３に記憶された空燃比実測値がリッチかリーンかを判定した結果に従って立てられるフラグである。設定値記憶エリア７２に記憶された実空燃比中央値を空燃比実測値と比較し、空燃比実測値がリッチである場合に１が記憶され、リーンである場合に０が記憶される。異常判定フラグは、異常診断プログラムによってセンサが異常状態にあると診断（判定）された場合に立てられるフラグである。異常判定フラグの値はＣＰＵ６により実行される他のプログラムにおいて参照され、１が記憶されている場合に全領域空燃比センサ１に異常が生じたことを運転者に報知する処理等の実施に用いられる。
【００５５】
次に、全領域空燃比センサ１を用いて排気ガスの酸素濃度（空燃比）を検出する動作について簡単に説明する。まず、図１に示すように、微小電流供給回路３４によりＶｓセルの電極２２から電極２１に向けて微小電流Ｉｃｐを流す。この通電より、電極２１側から電極２２側に固体電解質体１３を介して酸素が汲み込まれ、電極２２が酸素基準電極として機能する。そして、電圧出力回路３３により両電極２１，２２間に発生する起電力Ｖｓを検出し、この起電力Ｖｓを基準電圧比較回路３５で基準電圧（例えば４５０ｍＶ）と比較する。ポンプ電流駆動回路３２では、基準電圧比較回路３５による比較結果に基づいて、起電力Ｖｓが基準電圧となるようにＩｐセルの電極１９，２０間に流すポンプ電流Ｉｐの大きさや向きを制御する。
【００５６】
例えば、ガス検出室２３内に流入した排気ガスの空燃比がリッチであった場合、排気ガス中の酸素濃度が薄いため、Ｉｐセルにおいて外部からガス検出室２３内に酸素を汲み入れるように、電極１９，２０間に流すポンプ電流Ｉｐが制御される。一方、ガス検出室２３内に流入した排気ガスの空燃比がリーンであった場合、排気ガス中には多くの酸素が存在するため、Ｉｐセルにおいてガス検出室２３から外部へ酸素を汲み出すように、電極１９，２０間に流すポンプ電流Ｉｐが制御される。このときのポンプ電流Ｉｐが全領域空燃比センサ１の出力（空燃比実測値）としてＥＣＵ５に出力され、そのポンプ電流Ｉｐの大きさと向きから排気ガス中に含まれる酸素濃度、ひいては排気ガスの空燃比を検出できるのである。
【００５７】
ＥＣＵ５では、エンジンの制御等に係る複数のプログラムがＣＰＵ６により実行されており、そのうちの１つである異常診断プログラムでは、取得した全領域空燃比センサ１の出力（検出信号）に対する演算処理等が行われ、全領域空燃比センサ１が異常状態にあるか否かの診断が行われる。以下、図４〜図６のフローチャートに従って、図１〜図３および図７，図８を参照しながら、異常診断プログラムの各処理について説明する。図４は、異常診断プログラムのメインルーチンのフローチャートである。図５は、異常診断プログラムの応答遅れ診断処理のフローチャートである。図６は、異常診断プログラムの応答遅れ診断処理のフローチャートである。図７は、ガスセンサが異常状態にない場合において、空燃比実測値が目標空燃比の反転に追従して変化する様子の一例を示すグラフである。図８は、ガスセンサが異常状態にある場合において、空燃比実測値が目標空燃比の反転に追従できず遅延して変化する様子の一例を示すグラフである。なお、フローチャートの各ステップについては「Ｓ」と略記する。また、図６，図７に示すグラフの時間軸における各タイミングを「Ｔ」と略記する。
【００５８】
異常診断プログラムは、図２に示すＲＯＭ７のプログラム記憶エリア７１に記憶されており、例えばイグニッションキーをＯＮした場合などを契機にＥＣＵ５のＣＰＵ６が稼働されると、エンジンを制御するための他のプログラムと共にＣＰＵ６により実行される。
【００５９】
図４に示す、異常診断プログラムのメインルーチンが実行されると、まず初期化処理が行われ、ＲＡＭ８に異常診断プログラムに使用される変数やフラグ、カウンタ等の記憶エリアが確保される（Ｓ１０）。次にセンサユニット４のセンサ駆動回路部３に指示が送信され、全領域空燃比センサ１の固体電解質体１１，１３，１４の活性化のため、ヒータ電圧供給回路３１によるヒータ体２７への通電が行われる。また、センサユニット４より固体電解質体１３の内部抵抗値を示すセンサ抵抗値信号がＡ／Ｄ変換回路（図示外）を介して取得される。このセンサ抵抗値信号の大きさを、予め定められ設定値記憶エリア７２に記憶されているセンサ活性判定値と比較することにより、全領域空燃比センサ１の活性化の有無の判断が行われる（Ｓ１１）。このとき全領域空燃比センサ１が活性化していないと判断された場合には、全領域空燃比センサ１が活性化するまでセンサ抵抗値信号の取得とセンサ活性判定値との比較が繰り返し行われる（Ｓ１１：ＮＯ）。
【００６０】
なお、図１に図示していないが、センサ駆動回路部３は、公知のセンサ抵抗値検出回路を備えている。このセンサ抵抗値検出回路は、具体的に、微小電流供給回路３４とは別に設けられた電流供給回路より一定値の電流をＶｓセルに対して定期的に供給し、その際にＶｓセルの電極２１，２２間に発生する電位差をセンサ抵抗値信号として検出し、この信号をＥＣＵ５に出力している。このとき、センサ素子１０のＶｓセルにおける温度とセンサ抵抗値信号との間には相関関係があり、センサ抵抗値信号に基づいてセンサ素子１０の温度を検出することが可能となる。
【００６１】
図４に戻り、全領域空燃比センサ１が活性化したと判断されると（Ｓ１１：ＹＥＳ）、次に異常診断プログラムとは別途実行されるタイマプログラム（図示外）が起動され、実行が開始される（Ｓ１２）。タイマプログラムは、異常診断プログラムの各処理を実行するタイミングの基準となるカウント値を一定時間間隔でインクリメント（あるいはデクリメントであってもよい。）するプログラムである。異常診断プログラムは、メインプログラムのＳ１３〜Ｓ２５の処理を１０ｍｓｅｃ毎に１度、繰り返し実行するように構成されており、カウント値は前回の実行時から１０ｍｓｅｃが経過したか否かを判断するために用いられる。このため、Ｓ１３においてタイマプログラムの現在のカウント値をリセットし、その時点を基準に時間計測を開始する処理が行われる（Ｓ１３）。
【００６２】
次に、初期化条件フラグ記憶エリア７３の初期化条件フラグが参照される（Ｓ１５）。上記したように初期化条件フラグは異常診断プログラムとは異なる他の制御プログラムにより値が管理されており、異常診断プログラムの実行時には前回エンジンを停止した際に１が書き込まれているのでＳ１６に進む（Ｓ１５：ＹＥＳ）。そしてＳ１６では、異常診断プログラムで一時使用される各変数やフラグをリセットする処理が行われる（Ｓ１６）。具体的には、フラグ記憶エリア８１の目標空燃比フラグ、実空燃比フラグ、異常判定フラグ、計測完了フラグ、および初期化条件フラグ記憶エリア７３の初期化条件フラグにそれぞれ０が記憶され、目標空燃比反転回数記憶エリア８４の目標空燃比反転回数、および実空燃比移行回数記憶エリア８５の実空燃比移行回数にもそれぞれ０が記憶される。その後Ｓ２５に進む。
【００６３】
Ｓ２５では、Ｓ１２で実行が開始されたタイマプログラムのカウント値が参照される。カウント値はＳ１３においてリセットされており、Ｓ２５で参照されたときに１０ｍｓｅｃに相当する値未満だった場合には待機し、カウント値の参照が継続して行われる（Ｓ２５：ＮＯ）。そしてカウント値が１０ｍｓｅｃに相当する値以上となれば（Ｓ２５：ＹＥＳ）、Ｓ１３に戻り、再度カウント値がリセットされて、Ｓ１５〜Ｓ２５の処理が繰り返されることとなる。
【００６４】
２周目となるＳ１５の処理では初期化条件フラグが０となっているので（Ｓ１５：ＮＯ）、Ｓ１８に進み、運転パラメータ条件フラグ記憶エリア７４の運転パラメータ条件フラグが参照される（Ｓ１８）。上記したように運転パラメータ条件フラグは異常診断プログラムとは異なる別の制御プログラムにより値が管理されており、エンジンの回転数や冷却水の水温が予め設定された正常とみなせる値の範囲に達しないうちは、初期状態、すなわち０が記憶されている（Ｓ１８：ＮＯ）。従ってＳ２５に進み、上記同様、１０ｍｓｅｃの経過を待ってＳ１３に戻る。
【００６５】
エンジンの回転数や冷却水の水温が予め設定された正常とみなせる値の範囲内に収まり、その状態が所定時間維持された場合、運転パラメータ条件が成立したとして、上記別の制御プログラムにより運転パラメータ条件フラグ記憶エリア７４の運転パラメータ条件フラグに１が記憶される。するとＳ１８の処理ではＳ２０に進めるようになるので（Ｓ１８：ＹＥＳ）、次にフラグ記憶エリア８１の計測完了フラグが参照される（Ｓ２０）。Ｓ１６の処理で計測完了フラグには０が記憶されているので（Ｓ２０：ＮＯ）、Ｓ２１に進む。
【００６６】
Ｓ２１では、目標空燃比の取得が行われる。ＥＣＵ５では、全領域空燃比センサ１の出力として得られる排気ガスの空燃比の情報に基づいてエンジンに供給する混合気の空燃比を調整し、それにあわせ燃料の噴射量や噴射タイミングなどを制御する、いわゆる空燃比フィードバック制御が行われている。その空燃比フィードバック制御を行うためのプログラムでは、混合気の空燃比の調整のため、エンジンに供給する混合気の空燃比の目標とする目標空燃比の設定を行い、それに従った燃料噴射を制御している。Ｓ２１の処理では、そのプログラムで設定された現時点（Ｓ２１が実行されたタイミング）における目標空燃比の取得が行われ、取得された目標空燃比が目標空燃比記憶エリア８２に記憶される（Ｓ２１）。
【００６７】
次いで全領域空燃比センサ１の出力（検出信号）すなわち空燃比実測値が取得される（Ｓ２２）。空燃比実測値は、前述したようにＩｐセルに流れるポンプ電流Ｉｐの値をＡ／Ｄ変換したものであり、空燃比実測値記憶エリア８３に記憶される。なお、Ｓ２２において、全領域空燃比センサ１より出力される検出信号を一定のタイミング毎（例えば１０ｍｓｅｃ毎）に取得する処理が、本発明における「検出信号取得工程」に相当し、この処理を実行するＣＰＵ６が、本発明における「検出信号取得手段」に相当する。
【００６８】
そしてＳ２３に進み、応答遅れ診断処理のサブルーチン（図５，図６参照）がコールされる（Ｓ２３）。ところで、応答遅れ診断処理のサブルーチンから戻るとＳ２５に進み１０ｍｓｅｃの経過を待機してＳ１３に戻ることとなるが、全領域空燃比センサ１の異常診断が完了するまで、計測完了フラグは０のまま維持されるようになっている。従ってメインルーチンのＳ１３〜Ｓ２５までの処理は、以降も今回と同様の処理順に進められるので、ここではＳ２３からコールされる図５，図６の応答遅れ診断処理について、図７のグラフを参照しつつ説明する。
【００６９】
図５に示すように、応答遅れ診断処理のサブルーチンでは、まず、全領域空燃比センサ１の検出した現在の排気ガスの空燃比がリッチ側にあるかリーン側にあるかを判定する処理を行うため、フラグ記憶エリア８１の実空燃比フラグが参照される（Ｓ３０）。初期状態では空燃比実測値が実空燃比中央値を基準にリッチ側かリーン側かの判定がなされておらず、Ｓ１６（図４参照）の処理により０が設定され、仮に、前回の排気ガスの空燃比がリーンであった状態に設定されている（Ｓ３０：ＮＯ）。そこで現在の排気ガスの空燃比がリッチ側にあるかリーン側にあるかを確認するため、空燃比実測値記憶エリア８３に記憶された現在の排気ガスの空燃比に対応した空燃比実測値と、設定値記憶エリア７２に記憶された実空燃比中央値とが比較される（Ｓ３５）。例えば図７に示すＴ０タイミングに応答遅れ診断処理が初めて実行された場合、１点鎖線で示される空燃比実測値がリッチ側かリーン側かの判定基準としての実空燃比中央値より小さい値であるので、このＴ０タイミングでは、図５に示すように、現在の排気ガスの空燃比がリッチ側にあると判断され（Ｓ３５：ＹＥＳ）、フラグ記憶エリア８１の実空燃比フラグに１が記憶されてＳ４０（図６参照）に進む（Ｓ３６）。
【００７０】
次いで、目標空燃比についても同様に、リッチ側にあるかリーン側にあるかの判定が行われる。図６に示すように、まず、フラグ記憶エリア８１の目標空燃比フラグが参照される（Ｓ４０）。初期状態では目標空燃比が目標中心空燃比を基準にリッチ側かリーン側かの判定がなされておらず、Ｓ１６（図４参照）の処理により０が設定され、仮に、目標空燃比がリーン側にある状態とされている（Ｓ４０：ＮＯ）。そこで実際の目標空燃比がリッチ側にあるかリーン側にあるかを確認するため、目標空燃比記憶エリア８２に記憶された目標空燃比と、設定値記憶エリア７２に記憶された目標中心空燃比との比較が行われる（Ｓ４５）。例えば図７に示すＴ０タイミングに応答遅れ診断処理が初めて実行された場合、点線で示される目標空燃比が目標中心空燃比より小さい値であるので、このＴ０タイミングでは、図６に示すように、目標空燃比がリッチ側にあると判断され（Ｓ４５：ＹＥＳ）、フラグ記憶エリア８１の目標空燃比フラグに１が記憶される（Ｓ４６）。
【００７１】
第１の実施の形態では、排気ガスの空燃比がリッチ側からリーン側へ移行したとき、および目標空燃比がリッチ側からリーン側へ反転したときの回数を求めて異常診断を行うため、これら空燃比がリーン側からリッチ側へ移行または反転した場合あるいは変化のない場合には何も行わず、メインルーチンに戻る。そして１０ｍｓｅｃの経過後（図４、Ｓ２５）、新たな目標空燃比の取得と、新たな全領域空燃比センサ１の出力（検出信号）の取得とが行われ（図４、Ｓ２１，Ｓ２２）、次周の応答遅れ診断処理が再度実施される（Ｓ２３）。
【００７２】
以後、例えば図７におけるＴ０〜Ｔ２タイミングのように排気ガスの空燃比がリッチ側にある間、空燃比実測値は実空燃比中央値より小さい値となるため（図５、Ｓ３０：ＹＥＳ，Ｓ３１：ＮＯ）、実空燃比フラグは１のまま維持される。また、目標空燃比についても同様に、例えば図７におけるＴ０〜Ｔ２タイミングのように目標空燃比がリッチ側にある間は目標中心空燃比より小さいため（図６、Ｓ４０：ＹＥＳ，Ｓ４１：ＮＯ）、目標空燃比フラグは１のまま維持されて、メインルーチンに戻る。
【００７３】
そしてＴ２タイミング（図７参照）において目標空燃比が反転し、目標中心空燃比以上となると（図６、Ｓ４０：ＹＥＳ，Ｓ４１：ＹＥＳ）、図６に示すように、他の制御プログラムで設定されている混合気の目標空燃比がリーン側に移行したと判断され、フラグ記憶エリア８１の目標空燃比フラグに０が記憶される（Ｓ４２）。
【００７４】
次に、目標空燃比反転回数記憶エリア８４に記憶された目標空燃比反転回数が、設定値記憶エリア７２に記憶された基準反転回数（例えば５回）以上の回数となったか否かの確認が行われる（Ｓ５０）。初めてこの処理が実行された際には、Ｓ１６（図４参照）において目標空燃比反転回数に０が記憶されているのでＳ６０に進み（Ｓ５０：ＮＯ）、その目標空燃比反転回数が０か否か確認が行われる（Ｓ４０）。目標空燃比反転回数が０である場合には実空燃比移行回数がリセットされて（Ｓ６０：ＹＥＳ，Ｓ６１）、そうでなければ実空燃比移行回数のリセットは行われない（Ｓ６０：ＮＯ）。この処理において異常診断の診断（判定）対象となる実空燃比移行回数をリセットすることによって、このタイミング（図７におけるＴ２タイミング）が、ガスセンサの異常診断を行う診断期間を開始する起点とされる。診断期間は、目標空燃比反転回数が基準反転回数に達するまで継続し、その間、排気ガスの空燃比がリッチ側からリーン側に移行した回数、すなわち実空燃比移行回数が計数されることとなる。Ｓ６０，Ｓ６１の処理は、診断期間の起点（図７におけるＴ２タイミング）以前に計数された実空燃比移行回数を無効とし、診断期間中にて排気ガスの空燃比がリッチ側からリーン側に移行した回数のみを計数するためのリセット処理である。その後Ｓ６３に進み、目標空燃比反転回数に１が加算されてから（Ｓ６３）、メインルーチンに戻る。なお、Ｓ６３において目標空燃比反転回数に１を加算する処理が、本発明における「目標空燃比反転回数計数工程」に相当し、この処理を実行するＣＰＵ６が、本発明における「目標空燃比反転回数計数手段」に相当する。
【００７５】
図７のＴ２タイミング以降、目標空燃比はリーン側へ反転したものの、排気ガスの空燃比は即座にリーン側へ移行するわけではなく、Ｔ２〜Ｔ３タイミングのように、リッチ側からリーン側へ移行途中の状態となる。次周以降の応答遅れ診断処理では、図５に示すように、排気ガスの空燃比がリッチ側であることから実空燃比フラグが１のまま維持され（Ｓ３０：ＹＥＳ，Ｓ３１：ＮＯ）、図６に示すように、目標空燃比がリーン側であることから目標空燃比フラグが０のまま維持されて（Ｓ４０：ＮＯ，Ｓ４５：ＮＯ）、そのままメインルーチンに戻る処理が繰り返される。
【００７６】
そして図７のＴ３タイミングに、空燃比実測値が実空燃比中央値以上の値となり、図５に示すように、排気ガスの空燃比がリッチ側からリーン側へ移行したと判断されると（Ｓ３０：ＹＥＳ，Ｓ３１：ＹＥＳ）、実空燃比フラグに０が記憶されると共に（Ｓ３２）、実空燃比移行回数に１が加算される（Ｓ３３）。このタイミングでは目標空燃比はリーン側のままであり、図６に示すように、目標空燃比フラグが０のまま維持されて（Ｓ４０：ＮＯ，Ｓ４５：ＮＯ）、そのままメインルーチンに戻る。なお、Ｓ３３において実空燃比移行回数に１を加算する処理が、本発明における「移行回数計数工程」に相当し、この処理を実行するＣＰＵ６が、本発明における「移行回数計数手段」に相当する。
【００７７】
図７に示す、Ｔ３〜Ｔ４タイミングでは、排気ガスの空燃比および目標空燃比が共にリーン側となり、実空燃比フラグが０のまま維持され（図５、Ｓ３０：ＮＯ，Ｓ３５：ＮＯ）、目標空燃比フラグも０のまま維持されて（図６、Ｓ４０：ＮＯ，Ｓ４５：ＮＯ）、そのままメインルーチンに戻る処理が繰り返される。そしてＴ４タイミングに目標空燃比がリッチ側に反転され、Ｔ５タイミング移行には排気ガスの空燃比もリッチ側に移行する。応答遅れ診断処理では、Ｔ４タイミング以降の最初の実行時に、目標空燃比が目標中心空燃比より小さくなることから目標空燃比フラグに１がセットされることとなる（図６、Ｓ４０：ＮＯ，Ｓ４５：ＹＥＳ，Ｓ４６）。同様に、Ｔ５タイミング以降の最初の実行時に、空燃比実測値が実空燃比中央値より小さくなることから実空燃比フラグに１がセットされることとなる（図５、Ｓ３０：ＮＯ，Ｓ３５：ＹＥＳ，Ｓ３６）。
【００７８】
そして目標空燃比が再びリッチ側からリーン側へ反転されるまで（Ｔ５〜Ｔ７タイミング）、目標空燃比はリーン側にあり、排気ガスの空燃比もリーン側の値を示し、それぞれに対応する目標空燃比フラグと実空燃比フラグとが共に１となっている。従って、図５，図６に示す応答遅れ診断処理では、Ｔ０〜Ｔ２タイミングと同様に、そのままメインルーチンに戻る処理が繰り返される（図５、Ｓ３０：ＹＥＳ，Ｓ３１：ＮＯ，図６、Ｓ４０：ＹＥＳ，Ｓ４１：ＮＯ）。
【００７９】
以降、図７におけるＴ７〜Ｔ１２タイミング、Ｔ１２〜Ｔ１７タイミング、Ｔ１７〜Ｔ２２タイミング、Ｔ２２〜Ｔ２７タイミングには、Ｔ２〜Ｔ７タイミングと同様の処理が行われる。その間、目標空燃比が目標中心空燃比以上となってリッチ側からリーン側に反転するＴ７，Ｔ１２，Ｔ１７，Ｔ２２タイミングでは、前回までの目標空燃比反転回数が基準反転回数（例えば５回）より小さい値となっているため（図６、Ｓ５０：ＮＯ）、Ｔ２タイミングと同様に、目標空燃比反転回数が１ずつ加算されてそのままメインルーチンに戻ることとなる（図６、Ｓ６３）。また、空燃比実測値が実空燃比中央値以上の値となって排気ガスの空燃比がリッチ側からリーン側に移行するＴ８，Ｔ１３，Ｔ１８，Ｔ２３タイミングには、それぞれ、Ｔ３タイミングと同様に、実空燃比移行回数が１ずつ加算される（図５、Ｓ３０：ＹＥＳ，Ｓ３１：ＹＥＳ，Ｓ３３）。
【００８０】
図７のＴ２７タイミングに再び目標空燃比が目標中心空燃比以上となってリッチ側からリーン側に反転するが、このとき、前回までの目標空燃比反転回数が５回となっており、図６に示すＳ５０の処理が行われたときには基準反転回数以上となっているため（Ｓ５０：ＹＥＳ）、計測完了フラグに１が記憶されて診断期間が終了する（Ｓ６５）。そしてＳ７０に進み、診断期間中に計数した実空燃比移行回数と、設定値記憶エリア７２に記憶された基準移行回数とを比較することによって、異常診断が行われる（Ｓ７０）。このとき、実空燃比移行回数が基準移行回数以上であれば（Ｓ７０：ＮＯ）、全領域空燃比センサ１の出力の応答性に異常がなく正常であると診断され（Ｓ７５）、そのままメインルーチンに戻る。一方、実空燃比移行回数が基準移行回数より小さいと（Ｓ７０：ＹＥＳ）、全領域空燃比センサ１の出力の応答性に異常があると診断され、フラグ記憶エリア８１の異常判定フラグに１が記憶されて（Ｓ７６）、メインルーチンに戻る。なお、Ｓ７０において、実空燃比移行回数を基準移行回数と比較してガスセンサが異常状態にあるか否かを診断（判定）する処理が、本発明における「異常診断工程」に相当し、この処理を実行するＣＰＵ６が、本発明における「異常診断手段」に相当する。
【００８１】
ここで、図７に示すように、全領域空燃比センサ１が正常な状態にあり、空燃比実測値が目標空燃比の反転に良好に追従して変化している場合、空燃比実測値は、Ｔ２〜Ｔ２７タイミングの診断期間中、Ｔ３，Ｔ８，Ｔ１３，Ｔ１８，Ｔ２３タイミングにそれぞれ実空燃比中央値を基準にリッチ側からリーン側の値に移行する。このため、実空燃比移行回数は比較的多くなり（図７では５回）、目標空燃比反転回数（図７では５回）に近づくこととなる。
【００８２】
一方、図８に示すように、全領域空燃比センサ１が異常状態にあり、空燃比実測値が目標空燃比の反転に良好に追従できず遅延が生じている場合、空燃比実測値は、Ｔ２〜Ｔ２７タイミングの診断期間中、Ｔ１１，Ｔ２１タイミングにそれぞれ実空燃比中央値を基準にリッチ側からリーン側の値に移行する。このため、実空燃比移行回数は比較的少なくなる（図８では２回）。基準移行回数は両者を区別可能な回数（例えば３回）に設定されており、図５，図６の応答遅れ診断処理では、これをしきい値として異常判定フラグの値の決定が行われる。異常判定フラグの値はＣＰＵ６により実行される他のプラグラムにおいて繰り返し参照されており、参照時に１が記憶されていれば、例えば運転者への報知等が行われるのである。なお、診断期間が開始される前のＴ１タイミングにも、排気ガスの空燃比がリッチ側からリーン側へ移行し、実空燃比移行回数がカウントされている。しかし、上記したように、診断期間の開始時にＳ６０，Ｓ６１の処理で実空燃比移行回数がリセットされるので、実空燃比移行回数は、診断期間中にのみ、排気ガスの空燃比がリッチ側からリーン側へ移行した回数がカウントされることとなる。
【００８３】
そして、図４に示す、次回以降のＳ１３〜Ｓ２５の処理では、計測完了フラグに１が記憶されているため（Ｓ２０：ＹＥＳ）、Ｓ２５に進み、以降、応答遅れ診断処理が実行されることはない。しかし、イグニッションキーのＯＦＦやエンストなどの発生により初期化条件フラグに１が記憶されてＳ１６の処理が行われ、計測完了フラグに再度０が記憶されると、また応答遅れ診断処理が行われるようになる。
【００８４】
［第２の実施の形態］
次に、本発明に係るガスセンサの異常診断方法、ガスセンサの異常診断装置の第２の実施の形態について説明する。第２の実施の形態は、第１の実施の形態における診断期間を複数回繰り返し行って、各診断期間において求めた実空燃比移行回数をすべて合計した実空燃比積算移行回数をもって基準移行回数（第１の実施の形態とは回数が異なる。）と比較することにより、ガスセンサが異常状態にあるか否かの診断を行うものである。図９に、第２の実施の形態に係る異常診断プログラムの応答遅れ診断処理のフローチャートを示す。
【００８５】
第２の実施の形態では、図示しないが、ＲＡＭ８に、計測回数記憶エリアおよび実空燃比積算移行回数記憶エリアが設けられている。計測回数記憶エリアには、診断期間を繰り返し実施する回数をカウントする変数としての計測回数が記憶され、初期値には０が記憶される。実空燃比積算移行回数記憶エリアには、１回の診断期間が終了する毎に実空燃比移行回数をその都度加算することで、基準繰り返し回数分の実空燃比移行回数を合算して求める変数としての実空燃比積算移行回数が記憶され、初期値には０が記憶される。また、ＲＯＭ７の設定値記憶エリア７２には、診断期間を繰り返し実施する回数を定めた基準繰り返し回数（例えば３回）が記憶されている。なお、実空燃比積算移行回数が、本発明における「移行回数合計値」に相当する。
【００８６】
そして図４に示す、異常診断プログラムのメインルーチンのＳ１６において、第２の実施の形態では、第１の実施の形態でリセットされた各フラグや変数に加え、計測回数および実空燃比積算移行回数のリセットを行う。また、図９に示す、第２の実施の形態の応答遅れ診断処理では、Ｓ５０の判定処理でＹＥＳとなった場合にＳ５１〜Ｓ５８の処理を追加し、Ｓ５８からＳ６５の処理に接続もしくはメインルーチンに戻ると共に、Ｓ６５から接続されるＳ７１にて、基準移行回数と比較する対象を実空燃比積算移行回数とする。
【００８７】
上記を除き第２の実施の形態における異常診断装置の構成や、異常診断プログラムのその他の処理については第１の実施の形態と同様であるので、以下、応答遅れ診断処理を中心に説明し、その他の部分は省略または簡略化して説明する。なお、図９において、第１の実施の形態と同様の処理については同一のステップ番号を付している。
【００８８】
第１の実施の形態と同様に、ＣＰＵ６により図４に示した異常診断プログラムのメインルーチンが実行され、初期化条件フラグ、運転パラメータ条件フラグ、および計測完了フラグによる場合分けの各条件が揃うと、図５，図９に示す、応答遅れ診断処理のサブルーチンが実施されるようになる。そして、混合気の目標空燃比がリッチ側からリーン側へ反転したタイミング（図７に示すＴ２タイミング）より、診断期間が開始される（図９、Ｓ４０：ＹＥＳ，Ｓ４１：ＹＥＳ，…，Ｓ６１）。診断期間中は第１の実施の形態と同様に、排気ガスの空燃比がリッチ側からリーン側へ移行する毎に実空燃比移行回数が１加算される（図５、Ｓ３０：ＹＥＳ，Ｓ３１：ＹＥＳ，…，Ｓ３３）。同様に、混合気の目標空燃比がリッチ側からリーン側へ反転する毎に目標空燃比反転回数が１加算される（図９、Ｓ４０：ＹＥＳ，Ｓ４１：ＹＥＳ，…，Ｓ６３）。そして、目標空燃比反転回数が基準反転回数（例えば５回）以上となると（図９、Ｓ５０：ＹＥＳ）、１回目の診断期間が終了する。
【００８９】
このとき、図９に示すように第２の実施の形態では、第１の実施の形態とは異なり、２回目の診断期間が開始される。すなわちＳ５１に進み、目標空燃比反転回数記憶エリア８４の目標空燃比反転回数に１が記憶される（Ｓ５１）。そしてＲＡＭ８の所定の記憶エリアの実空燃比積算移行回数が読み込まれ（初期状態では０）、１回目の診断期間中に計数した実空燃比移行回数と加算されて、その加算結果が新たな実空燃比積算移行回数としてＲＡＭ８の所定の記憶エリアに上書き記憶される（Ｓ５２）。この処理の後、２回目の診断期間において実空燃比移行回数を０から計数するため、実空燃比移行回数記憶エリア８５に０が記憶される（Ｓ５３）。さらに、ＲＡＭ８の所定の記憶エリアに記憶された計測回数（初期状態では０）に１が加算される（Ｓ５７）。なお、Ｓ５２において、複数回繰り返される個々の診断期間中に得られたそれぞれの実空燃比移行回数を加算（合計）した実空燃比積算移行回数を求める処理が、本発明における「移行回数合計値算出工程」に相当し、この処理を実行するＣＰＵ６が、本発明における「移行回数合計値算出出手段」に相当する。
【００９０】
次に、計測回数が基準繰り返し回数以上となったかの確認が行われる（Ｓ５８）。この処理では診断期間が基準繰り返し回数に定められた回数（例えば３回）分、繰り返し行われたかの確認がなされる。１回目の診断期間の終了後ではまだ満たされていないので（Ｓ５８：ＮＯ）、そのままメインルーチンへ戻る。以降の応答遅れ診断処理では、上記同様、混合気の目標空燃比がリッチ側からリーン側へ反転する毎に目標空燃比反転回数が１加算され（Ｓ４０：ＹＥＳ，Ｓ４１：ＹＥＳ，…，Ｓ６３）、その一方で、排気ガスの空燃比がリッチ側からリーン側へ移行する毎に実空燃比移行回数が１加算される（図５、Ｓ３０：ＹＥＳ，Ｓ３１：ＹＥＳ，…，Ｓ３３）。そして、目標空燃比反転回数が再び基準反転回数（例えば５回）以上となると２回目の診断期間が終了し（Ｓ５０：ＹＥＳ）、１回目と同様にＳ５１〜Ｓ５７の処理が実行される。なお、Ｓ５８において、計測回数が基準繰り返し回数以上となるまで計測完了フラグを０で維持し、診断期間を繰り返し実施させる処理が、本発明における「繰り返し計数工程」に相当し、この処理を実行するＣＰＵ６が、本発明における「繰り返し計数手段」に相当する。
【００９１】
このように診断期間は、一の診断期間が終了する毎に１加算される計測回数が基準繰り返し回数未満であるうちは繰り返される（Ｓ５８：ＮＯ）。各診断期間中は、排気ガスの空燃比がリッチ側からリーン側へ移行する毎に実空燃比移行回数に１が加算され（図５、Ｓ３１：ＹＥＳ，…，Ｓ３３）、診断期間が終了すれば（Ｓ５０：ＹＥＳ）、その診断期間中に求められた実空燃比移行回数が実空燃比積算移行回数に上乗せ加算される（Ｓ５２）。
【００９２】
そして計測回数が基準繰り返し回数以上となったとき（Ｓ５８：ＹＥＳ）、診断期間が次周以降繰り返し実施されないように、計測完了フラグに１が記憶される（Ｓ６５）。実空燃比積算移行回数には、それまでに行われた各診断期間の実空燃比移行回数の合計が求められた状態となり、この実空燃比積算移行回数が、設定値記憶エリア７２の基準移行回数と比較される（Ｓ７１）。例えば基準繰り返し回数が３回に設定されていれば、基準移行回数としては、３回分の診断期間中に排気ガスの空燃比がリッチ側からリーン側に移行する回数として、ガスセンサが異常である場合と正常である場合とを区別可能な回数があらかじめ実験等により求められ、記憶されている。実空燃比積算移行回数が基準移行回数以上であれば（Ｓ７１：ＮＯ）、全領域空燃比センサ１の出力の応答性に異常がなく正常であると診断される（Ｓ７５）。一方、実空燃比積算移行回数が基準移行回数より小さければ（Ｓ７１：ＹＥＳ）、全領域空燃比センサ１の出力に異常があると診断され、フラグ記憶エリア８１の異常判定フラグに１が記憶されるのである（Ｓ７６）。そしてこの異常判定フラグの値が、運転者への報知等に用いられる。
【００９３】
このように第２の実施の形態では、実空燃比積算移行回数として得られる値が大きくなり、全領域空燃比センサ１が正常な場合に得られる実空燃比積算移行回数と、異常状態にある場合に得られる実空燃比積算移行回数との間の差を、より広げることができるので、異常診断の精度を高めることができる。
【００９４】
［第３の実施の形態］
次に、本発明に係るガスセンサの異常診断方法、ガスセンサの異常診断装置の第３の実施の形態について説明する。第３の実施の形態は、第１の実施の形態で行った実空燃比移行回数に基づく異常診断に加え、空燃比実測値に対し、後述するなまし演算を行って算出した実空燃比なまし値と空燃比実測値との差分（偏差）に基づいて異常診断を行うことで、異常診断の精度をより高めたものである。図１０に、第３の実施の形態に係る異常診断プログラムの応答遅れ診断処理のフローチャートを示す。
【００９５】
第３の実施の形態では、図示しないが、ＲＯＭ７の設定値記憶エリア７２に、実空燃比なまし値を算出する際に用いられるなまし係数αの値（例えば０．２）や、上記偏差に基づいて全領域空燃比センサ１が異常状態にあるか否かを診断（判定）する際に比較される基準値としての異常診断基準値が記憶されている。
【００９６】
また、図示しないが、ＲＡＭ８には、実空燃比なまし値記憶エリアおよび面積合計値記憶エリアが設けられている。実空燃比なまし値記憶エリアには、全領域空燃比センサ１の出力（検出信号）として得られた（現在の）空燃比実測値と前回のなまし演算で算出した実空燃比なまし値とを、なまし係数αで与えられる一定の割合で掛け合わせるなまし演算を行ってなました（現在の）実空燃比なまし値が記憶される。具体的には、実空燃比なましは以下の式によって与えられる。
実空燃比なまし値＝α×空燃比実測値＋（１−α）×（前回の）実空燃比なまし値  ・・・  （１）
（ただし、αは０＜α＜１で与えられるなまし係数であり、第１の実施の形態では０．２である。）
また、面積合計値記憶エリアには、算出された実空燃比なまし値と空燃比実測値との差分の絶対値を偏差として求め、その偏差を加算した値、すなわち積分値が、面積合計値として記憶される。
【００９７】
そして異常診断プログラムのメインルーチンのＳ１６（図４参照）において、第３の実施の形態では、第１の実施の形態でリセットされた各フラグや変数に加え、面積合計値のリセットが行われる。また、図１０に示す、第３の実施の形態の応答遅れ診断処理では、図６に示す第１の実施の形態の応答遅れ診断処理と比較して、以下の各処理が追加されている。まず、Ｓ４１で目標空燃比が目標中心空燃比以上の値となった場合（Ｓ４１：ＹＥＳ）に、Ｓ５０に進む前に、現在の空燃比実測値を実空燃比なまし値に代入する処理が追加されている（Ｓ４３）。次に、Ｓ４０で目標空燃比フラグが１出なかった場合（Ｓ４０：ＮＯ）、Ｓ４１で目標空燃比が目標中心空燃比未満の値であった場合（Ｓ４１：ＮＯ）に、メインルーチンに戻る前に、実空燃比なまし値を算出し（Ｓ４７）、実空燃比なまし値と空燃比実測値との差分から偏差を求め（Ｓ７７）、その偏差を面積合計値に加算する処理（Ｓ７８）が追加されている。また、Ｓ６０で目標空燃比反転回数が０であった場合（Ｓ６０：ＹＥＳ）、Ｓ６３に進む前に、面積合計値をリセットする処理が追加されている（Ｓ６２）。第１の実施の形態と同様に、診断期間は異常診断プログラムの実行後最初に目標空燃比がリッチ側からリーン側へ反転したタイミングを起点として開始されるが、それ以前の期間にも偏差の面積合計値への加算が行われており、この処理により、診断期間の開始以前に加算された面積合計値がリセットされる。そしてＳ６３の処理後、メインルーチン戻る前に、上記のＳ７７，Ｓ７８の処理を経るようにしている。さらに、Ｓ７０で実空燃比移行回数が基準移行回数以上であった場合（Ｓ７０：ＮＯ）、Ｓ７５に進む前に、面積合計値が異常診断基準値未満であるか否かを判定する処理が追加されている（Ｓ７２）。このとき面積合計値が異常診断基準値未満であればＳ７５に進み、面積合計値が異常診断基準値未満以上であればＳ７６に進むようにしている。
【００９８】
この第３の実施の形態においても、上記を除き第２の実施の形態における異常診断装置の構成や、異常診断プログラムのその他の処理については第１の実施の形態と同様であるので、以下、図１１，図１２に示すグラフを参照しながら応答遅れ処理を中心に説明し、その他の部分は省略または簡略化して説明する。図１１は、ガスセンサが異常状態にない場合において、空燃比実測値が目標空燃比の反転に追従して変化する様子の一例を示すグラフである。図１２は、ガスセンサが異常状態にある場合において、空燃比実測値が目標空燃比の反転に追従できず遅延して変化する様子の一例を示すグラフである。なお、図１０において、第１の実施の形態と同様の処理については同一のステップ番号を付している。
【００９９】
第１の実施の形態と同様に、ＣＰＵ６により図４に示した異常診断プログラムのメインルーチンが実行され、初期化条件フラグ、運転パラメータ条件フラグ、および計測完了フラグによる場合分けの各条件が揃うと、図５，図１０に示す、応答遅れ診断処理が実施されるようになる。応答遅れ診断処理は、目標空燃比の取得（図４、Ｓ２１）と全領域空燃比センサ１の出力（検出信号）の取得（図４、Ｓ２２）と共に、１０ｍｓｅｃ毎に繰り返し実施される（図４、Ｓ２５）。
【０１００】
診断期間は、混合気の目標空燃比がリッチ側からリーン側へ反転したタイミング（図１１に示すＴ２タイミング）より、開始される（図９、Ｓ４０：ＹＥＳ，Ｓ４１：ＹＥＳ，…，Ｓ６１）。診断期間中には、第１の実施の形態と同様に、排気ガスの空燃比がリッチ側からリーン側へ移行する毎（図１１に示すＴ３，Ｔ８，Ｔ１３，Ｔ１８，Ｔ２３タイミング）に、実空燃比移行回数が１加算されている（図５、Ｓ３０：ＹＥＳ，Ｓ３１：ＹＥＳ，…，Ｓ３３）。同様に、混合気の目標空燃比がリッチ側からリーン側へ反転する毎（図１１に示すＴ７，Ｔ１２，Ｔ１７，Ｔ２２，Ｔ２７タイミング）に、目標空燃比反転回数が１加算されている（図９、Ｓ４０：ＹＥＳ，Ｓ４１：ＹＥＳ，…，Ｓ６３）。
【０１０１】
また図１０に示すように、診断期間中に、応答遅れ診断処理が実施される毎（１０ｍｓｅｃ毎）に、目標空燃比がリッチ側からリーン側へ反転した場合（Ｓ４０：ＹＥＳ，Ｓ４１：ＹＥＳ）を除き、実空燃比なまし値の算出が行われている。設定値記憶エリア７２に記憶されたなまし係数αの値と、実空燃比なまし値記憶エリアに記憶された前回の実空燃比なまし値（初期状態ではＳ１０の初期化処理により０が記憶されている。）と、空燃比実測値記憶エリア８３に記憶された空燃比実測値とがそれぞれ読み込まれ、上記（１）の式に従って実空燃比なまし値が算出される（Ｓ４７）。この算出結果は、実空燃比なまし値記憶エリアに上書き記憶される。なお、Ｓ４７において、実空燃比なまし値を算出する処理が、本発明における「なまし信号算出工程」に相当し、この処理を実行するＣＰＵ６が、本発明における「なまし信号算出手段」に相当する。
【０１０２】
実空燃比なまし値の算出後はＳ７７に進み、実空燃比なまし値記憶エリアに記憶された今回（現在）の実空燃比なまし値と、空燃比実測値記憶エリア８３に記憶された今回（現在）の空燃比実測値とが読み込まれ、差分の絶対値が偏差として算出される（Ｓ７７）。この偏差は、図１１においては１点鎖線で示される空燃比実測値と２点鎖線で示される実空燃比なまし値との高さの差として示されるものである。
【０１０３】
次いで図１０に示すように、面積合計値記憶エリアから面積合計値が読み込まれ（初期状態ではＳ１６の処理により０が記憶されている。）、この面積合計値にＳ７７で算出された偏差を加算した結果が、面積合計値記憶エリアに上書き記憶される（Ｓ７８）。このように、診断期間においてＳ４７，Ｓ７７，Ｓ７８の処理が繰り返し実施されることによって、図１１において、空燃比実測値のグラフ（１点鎖線）と実空燃比なまし値のグラフ（２点鎖線）とに囲まれた部分の面積を面積合計値として求める処理が行われることとなる。なお、Ｓ７７において、空燃比実測値と実空燃比なまし値との差分を偏差として算出する処理が、本発明における「偏差算出工程」に相当し、この処理を実行するＣＰＵ６が、本発明における「偏差算出手段」に相当する。また、診断期間中、偏差合計値を加算することで、診断期間に得られたすべての偏差を合計した面積合計値を算出する処理が、本発明における「偏差合計値算出工程」に相当し、この処理を実行するＣＰＵ６が、本発明における「偏差合計値算出手段」に相当する。
【０１０４】
なお、診断期間において、目標空燃比がリッチ側からリーン側へ反転した場合に（Ｓ４０：ＹＥＳ，Ｓ４１：ＹＥＳ）、空燃比実測値を実空燃比なまし値として上書き記憶することで、なまし具合をほぼ定期的に初期状態、すなわち、なまされていない状態に戻す処理が行われている。
【０１０５】
そして、目標空燃比反転回数が基準反転回数（例えば５回）以上となると（図１０、Ｓ５０：ＹＥＳ）、診断期間が終了する。第１の実施の形態と同様に計測完了フラグに１が記憶され（Ｓ６５）、実空燃比積算移行回数と基準移行回数との比較によって異常診断が行われる（Ｓ７０）。診断期間中に計数した実空燃比移行回数が基準移行回数より小さければ（Ｓ７０：ＹＥＳ）、全領域空燃比センサ１の出力の応答性に異常があると診断される（Ｓ７６）。
【０１０６】
一方、実空燃比移行回数が基準移行回数以上の場合には（Ｓ７０：ＮＯ）、さらに、面積合計値と異常診断基準値との比較によって異常診断が行われる（Ｓ７２）。面積合計値がＲＯＭ７の設定値記憶エリア７２に記憶された異常診断基準値よりも小さい場合（Ｓ７２：ＹＥＳ）、全領域空燃比センサ１の出力の応答性に異常があると診断されてメインルーチンに戻る（Ｓ７６）。しかし面積合計値が異常診断基準値以上であれば（Ｓ７２：ＮＯ）、全領域空燃比センサ１の出力の応答性に異常がなく正常であると診断されてメインルーチンに戻る（Ｓ７５）。なお、Ｓ７０において実空燃比移行回数と基準移行回数とを比較し、さらに、Ｓ７２において、面積合計値を異常診断基準値と比較して、ガスセンサが異常状態にあるか否かを診断（判定）する処理が、本発明の請求項５における「異常診断工程」に相当し、この処理を実行するＣＰＵ６が、本発明の請求項１１における「異常診断手段」に相当する。
【０１０７】
ここで、図１１に示すように、全領域空燃比センサ１が正常な状態にあり、空燃比実測値が目標空燃比の反転に良好に追従して変化している場合、空燃比実測値がリーン側とリッチ側とで交互に変動する機会が多くなるため、偏差も比較的大きな値を取る機会が多くなるので、診断期間中における面積合計値は比較的大きな値となる。一方、図１２に示すように、全領域空燃比センサ１が異常状態にあり、空燃比実測値が目標空燃比の反転に良好に追従できず遅延が生じている場合、目標空燃比の変動に対し空燃比実測値は比較的緩やかに変動するため、偏差は比較的大きな値を取る機会が少なくなり、診断期間中における面積合計値は比較的小さい値となる。異常診断基準値は両者を区別可能な値に設定されており、図１０のＳ７２では、これをしきい値とした異常判定フラグの値の決定が行われる。異常判定フラグの値はＣＰＵ６により実行される他のプラグラムにおいて繰り返し参照されており、参照時に１が記憶されていれば、例えば運転者への報知等が行われるのである。このように、異常診断プログラムでは、診断期間中に求めた実空燃比移行回数が基準移行回数以上となり、且つ、診断期間中に求めた面積合計値が異常診断基準値以上となった場合に、初めて、全領域空燃比センサ１が正常状態にあると診断することで、異常診断の精度をより高めることができる。
【０１０８】
なお、本発明は各種の変形が可能なことはいうまでもない。例えば、応答遅れ診断処理は１０ｍｓｅｃ毎に繰り返し実行されるようにしたが、必ずしも処理時間間隔を１０ｍｓｅｃに限定するものではなく、任意に設定可能である。また、前述したように、センサ駆動回路部３をＥＣＵ５の一回路部として構成してもよい。あるいは、センサ駆動回路部３にマイクロコンピュータを搭載し、そのマイクロコンピュータによって異常診断プログラムを実行できるようにしてもよい。
【０１０９】
また、診断期間が決定される基準反転回数を５回としたが、これに限らず、１回でも２回でも、あるいは６回以上でもよい。また、基準移行回数についても３回に限るものではなく、基準反転回数にあわせて任意に設定可能であり、ガスセンサが正常な状態と異常が生じた状態とを区別可能な回数を設定すればよい。また、目標空燃比反転回数の計数を目標空燃比がリッチ側からリーン側に移行したタイミングに行ったが、リーン側からリッチ側に反転したタイミングに行ってもよい。同様に、実空燃比移行回数の計数を排気ガスの空燃比がリッチ側からリーン側に移行したタイミングに行ったが、リーン側からリッチ側に移行したタイミングに行ってもよい。さらに、本実施の形態では、イグニッションキーがＯＮされる毎に１回だけ、ガスセンサの応答遅れ診断処理を行う構成としたが、診断回数はこれに限定されず、イグニッションキーがＯＮされてＯＦＦされるまでの間繰り返しガスセンサの応答遅れ診断処理を行うようにしてもよい。
【０１１０】
また、Ｓ３１およびＳ３５で空燃比実測値と実空燃比中央値との比較を行う際に、ノイズの影響等により全領域空燃比センサ１の出力値が小刻みに上下した場合を考慮して、実空燃比中央値からノイズの取り得る範囲の最大値を差し引いた値を求め、これを空燃比実測値と比較してもよい。あるいは予めノイズの影響を考慮した実空燃比中央値を設定してもよい。
【０１１１】
また、初期化条件フラグや運転パラメータ条件フラグは異常診断プログラムとは異なる他のプログラムにより値が管理されるとしたが、異常診断プログラムが他のプログラムからそれらのフラグの値（またはそれに相当する出力）を取得してもよい。あるいは、異常診断プログラムがそれらの条件の成立の有無を確認する処理を有してもよい。
【０１１２】
また、第２の実施の形態では、診断期間を複数回繰り返して行い、各診断期間に得られた実空燃比移行回数を加算して実空燃比積算移行回数を求め、これを基準移行回数と比較することで異常診断を行ったが、各診断期間が終了する毎に実空燃比移行回数と基準移行回数とを比較してその都度異常診断を行ってもよい。具体的には図９に示すフローチャートにおいて、Ｓ５１の後のＳ５２の処理を削除し、図６のＳ７０の判断処理を行ってＳ７５またはＳ７６に分岐し、その後はＳ５３に接続する。そしてＳ６５の処理の後はメインルーチンに戻るようにする。このようにすれば診断期間の度にガスセンサの異常診断を行え、一度でも異常状態にあると診断（判定）されれば異常判定フラグが１となるので、ガスセンサが正常な状態にあると診断（判定）された場合の信頼性を高めることができる。
【０１１３】
また、第２の実施の形態で行った実空燃比移行積算回数に基づく異常診断に加え、第３の実施の形態で空燃比実測値と実空燃比なまし値との差分（偏差）から求めた面積合計値を、複数回繰り返される診断期間毎に加算した面積積算値に基づいて異常診断を行って、異常診断の精度をさらに高めてもよい。例えば図１３に示す異常診断プログラムの応答遅れ診断処理の変形例のフローチャートのように、図６に示した第１の実施の形態の応答遅れ診断処理に対し、図９に示した第２の実施の形態と同様のＳ５１〜Ｓ５８の処理を追加し、Ｓ７０の処理をＳ７１の処理に置き換える。さらに、図１０に示した第３の実施の形態と同様のＳ４３，Ｓ４７，Ｓ６２，Ｓ７２，Ｓ７７，Ｓ７８の処理を追加する。そして、新たにＳ５３とＳ５７の処理の間に、診断期間が終了する毎にその診断期間中に求めた面積合計値を面積積算値に加算するＳ５５の処理と、次の診断期間において新たな面積合計値を求めるため面積合計値をリセットするＳ５６の処理とを追加する。また、Ｓ７２の処理に置き換え、Ｓ７１で実空燃比積算移行回数が基準移行回数より少ない場合に面積積算値と異常診断基準値とを比較し、面積積算値が異常診断基準値以上であれば正常と診断（判定）し（Ｓ７３：ＮＯ，Ｓ７５）、面積積算値が異常診断基準値よりも小さければ異常と診断（判定）するＳ７３の処理を行うとよい。
【０１１４】
このようにすれば、第２の実施の形態のように診断期間を繰り返し実施すると共に、各診断期間において、第３の実施の形態のように空燃比実測値と実空燃比なまし値との偏差（差分）を合計した面積合計値を求めつつ、それらを加算した面積積算値を、実空燃比積算移行回数を求める工程と同様に求めることができる。そして、各診断期間中に求めた実空燃比移行回数を合計した実空燃比積算移行回数が基準移行回数以上となり、且つ、各診断期間中に求めた面積合計値を合計した面積積算値が異常診断基準値以上となった場合に、初めて、全領域空燃比センサ１が正常状態にあると診断することで、異常診断の精度をさらに高めることができる。
【図面の簡単な説明】
【０１１５】
【図１】ＥＣＵ５と全領域空燃比センサ１との電気的な構成を説明するためのブロック図である。
【図２】ＲＯＭ７の記憶エリアの構成を示す概念図である。
【図３】ＲＡＭ８の記憶エリアの構成を示す概念図である。
【図４】異常診断プログラムのメインルーチンのフローチャートである。
【図５】第１の実施の形態に係る異常診断プログラムの応答遅れ診断処理のフローチャートである。
【図６】第１の実施の形態に係る異常診断プログラムの応答遅れ診断処理のフローチャートである。
【図７】ガスセンサが異常状態にない場合において、空燃比実測値が目標空燃比の反転に追従して変化する様子の一例を示すグラフである。
【図８】ガスセンサが異常状態にある場合において、空燃比実測値が目標空燃比の反転に追従できず遅延して変化する様子の一例を示すグラフである。
【図９】第２の実施の形態に係る異常診断プログラムの応答遅れ診断処理のフローチャートである。
【図１０】第３の実施の形態に係る異常診断プログラムの応答遅れ診断処理のフローチャートである。
【図１１】ガスセンサが異常状態にない場合において、空燃比実測値が目標空燃比の反転に追従して変化する様子の一例を示すグラフである。
【図１２】ガスセンサが異常状態にある場合において、空燃比実測値が目標空燃比の反転に追従できず遅延して変化する様子の一例を示すグラフである。
【図１３】異常診断プログラムの応答遅れ診断処理の変形例のフローチャートである。
【符号の説明】
【０１１６】
１    全領域空燃比センサ
３    センサ駆動回路部
４    センサユニット
５    ＥＣＵ
６    ＣＰＵ
７    ＲＯＭ
８    ＲＡＭ
１０    センサ素子
【図１】
2008203140.tif 000003
【図２】
2008203140.tif 000004
【図３】
2008203140.tif 000005
【図４】
2008203140.tif 000006
【図５】
2008203140.tif 000007
【図６】
2008203140.tif 000008
【図７】
2008203140.tif 000009
【図８】
2008203140.tif 000010
【図９】
2008203140.tif 000011
【図１０】
2008203140.tif 000012
【図１１】
2008203140.tif 000013
【図１２】
2008203140.tif 000014
【図１３】
2008203140.tif 000015