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