ところで、上記従来の診断方法では、燃料供給の中断開始時から所定時間経過後に酸素センサのセンサ素子からのセンサ出力値自身が1度でも基準値を超えたか否かで、ガスセンサが異常状態にあるか否かを診断する構成となっている。しかしながら、酸素センサ等、特定ガスを検出するガスセンサの出力値の燃料供給の中断期間中の経時変化は、一般に極値が複数表れる波形を示す。また、ガスセンサのセンサ出力値には、ノイズ等の特異な値が含まれることがある。このため、従来のガスセンサの異常診断方法では、センサ出力値の波形の状態やノイズ等の重畳の影響によっては、ガスセンサが未だ正常な状態にあったとしても誤って異常が発生したと判定することがあり、ガスセンサが異常状態にあるか否かを的確に診断できない虞があった。
本発明は上記問題点を解決するためになされたものであり、ガスセンサが異常状態にあるか否かを精度よく診断することができるガスセンサの異常診断方法およびガスセンサ制御装置を提供することを目的とする。
上記課題を解決するため、請求項1に係る発明のガスセンサの異常診断方法は、内燃機関から排出される排気ガス中の特定ガス成分の濃度に応じたセンサ出力値を出力するガスセンサが、異常状態にあるか否かを診断するガスセンサの異常診断方法であって、前記ガスセンサのセンサ出力値を所定間隔で取得するセンサ出力値取得工程と、前記内燃機関への燃料供給の中断を検出する中断検出工程と、前記中断検出工程において燃料供給の中断が検出されている期間内、前記センサ出力値取得工程において連続して取得されるセンサ出力値のうち、極大値および極小値の少なくともいずれか一方を極値として取得する極値取得工程と、前記極値取得工程において取得された前記極値と予め定められた第1閾値とを比較する極値比較工程と、前記極値取得工程において前記極値が第1所定数取得されたとき、当該第1所定数分の前記極値比較工程における比較結果に基づいて、前記ガスセンサが異常状態にあるか否かを診断する異常診断工程とを備えている。なお、本発明において、「極大値」(local maximal value)とは、連続して取得されるセンサ出力値の局所的な最大値を言い、センサ出力値の経時変化を示すグラフにおいて上に凸の山になる値である。同様に、「極小値」(local minimal value)とは、連続して取得されるセンサ出力値の局所的な最小値を言い、センサ出力値の経時変化を示すグラフにおいて下に凸の谷になる値である。即ち、極大値および極小値の少なくともいずれか一方からなる極値は局所的な概念であるため、ある時点で極値として取得されたセンサ出力値が、連続して取得されるセンサ出力値の全域的な最大値又は最小値を取るとは限らない。
また、請求項2に係る発明のガスセンサの異常診断方法は、請求項1に記載の発明の構成に加え、前記極値取得工程は、前記中断検出工程において燃料供給の中断が検出されてから前記所定間隔よりも長い時間に設定された所定時間経過後、前記極値の取得を開始することを特徴とする。
また、請求項3に係る発明のガスセンサの異常診断方法は、請求項1又は2に記載の発明の構成に加え、前記極値取得工程では、前記センサ出力値取得工程において取得された取得順序が連続する3つの前記センサ出力値に基づき、当該3つのセンサ出力値の中の取得順序が2番目の前記センサ出力値が前記極値であるか否かを判断し、前記極値であると判断された前記センサ出力値を当該極値として取得することを特徴とする。
また、請求項4に係る発明のガスセンサの異常診断方法は、請求項1乃至3のいずれかに記載の発明の構成に加え、前記極値比較工程では、前記極値取得工程において取得された前記極値が、前記第1閾値として設定される上限値よりも大きいと判断される前記極値の数を算出し、前記異常診断工程では、当該極値の数に基づき、前記ガスセンサが異常状態にあるか否かを診断することを特徴とする。
また、請求項5に係る発明のガスセンサの異常診断方法は、請求項1乃至3のいずれかに記載の発明の構成に加え、前記極値比較工程では、前記極値取得工程において取得された前記極値が前記第1閾値として設定される下限値未満であると判断される前記極値の数を算出し、前記異常診断工程では、当該極値の数に基づき、前記ガスセンサが異常状態にあるか否かを診断することを特徴とする。
また、請求項6に係る発明のガスセンサの異常診断方法は、請求項1乃至5のいずれかに記載の発明の構成に加え、前記異常診断工程では、前記センサ出力値取得工程において取得された前記センサ出力値のうち、前記極値取得工程において前記極値として取得されなかった前記センサ出力値の数が第2所定数に達したとき、当該第2所定数に達した時以後に取得した1又は複数の前記センサ出力値と、予め定められた第2閾値とを比較して、前記ガスセンサが異常状態にあるか否かを診断することを特徴とする。
また、請求項7に係る発明のガスセンサの異常診断方法は、請求項1乃至5のいずれかに記載の発明の構成に加え、前記異常診断工程では、前記センサ出力値取得工程において取得された前記センサ出力値のうち、前記極値取得工程において前記極値として取得されなかった前記センサ出力値の数が第2所定数に達したとき、当該第2所定数に達した時以後の前記センサ出力値を第3所定数取得し、当該第3所定数のセンサ出力値を平均化処理した値と、予め定められた第3閾値とを比較して、前記ガスセンサが異常状態にあるか否かを診断することを特徴とする。
また、請求項8に係る発明のガスセンサの異常診断方法は、請求項1乃至5のいずれかに記載の発明の構成に加え、前記異常診断工程では、前記センサ出力値取得工程において取得された前記センサ出力値のうち、前記極値取得工程において前記極値として取得されなかった前記センサ出力値の数が第2所定数に達したとき、前記極値取得工程において取得された前記極値を平均化処理した値と、予め定められた第4閾値とを比較して、前記ガスセンサが異常状態にあるか否かを診断することを特徴とする。
また、請求項9に係る発明のガスセンサ制御装置は、内燃機関から排出される排気ガス中の特定ガス成分の濃度に応じたセンサ出力値を出力するガスセンサが、異常状態にあるか否かを診断するガスセンサ制御装置であって、前記ガスセンサのセンサ出力値を所定間隔で取得するセンサ出力値取得手段と、前記内燃機関への燃料供給の中断を検出する中断検出手段と、前記中断検出手段により燃料供給の中断が検出されている期間内、前記センサ出力値取得手段により連続して取得されるセンサ出力値のうち、極大値および極小値の少なくともいずれか一方を極値として取得する極値取得手段と、前記極値取得手段により取得された前記極値と予め定められた第1閾値とを比較する極値比較手段と、前記極値取得手段により前記極値が第1所定数取得されたとき、当該第1所定数分の前記極値比較手段による比較結果に基づいて、前記ガスセンサが異常状態にあるか否かを診断する異常診断手段とを備えている。
また、請求項10に係る発明のガスセンサ制御装置は、請求項9に記載の発明の構成に加え、前記極値取得手段は、前記中断検出手段により燃料供給の中断が検出されてから前記所定間隔よりも長い時間に設定された所定時間経過後、前記極値の取得を開始することを特徴とする。
また、請求項11に係る発明のガスセンサ制御装置は、請求項9又は10に記載の発明の構成に加え、前記極値取得手段は、前記センサ出力値取得手段により取得された取得順序が連続する3つの前記センサ出力値に基づき、当該3つのセンサ出力値の中の取得順序が2番目の前記センサ出力値が前記極値であるか否かを判断し、前記極値であると判断された前記センサ出力値を当該極値として取得することを特徴とする。
また、請求項12に係る発明のガスセンサ制御装置は、請求項9乃至11のいずれかに記載の発明の構成に加え、前記極値比較手段は、前記極値取得手段により取得された前記極値が、前記第1閾値として設定される上限値よりも大きいと判断される前記極値の数を算出し、前記異常診断手段は、当該極値の数に基づき、前記ガスセンサが異常状態にあるか否かを診断することを特徴とする。
また、請求項13に係る発明のガスセンサ制御装置は、請求項9乃至11のいずれかに記載の発明の構成に加え、前記極値比較手段は、前記極値取得手段により取得された前記極値が前記第1閾値として設定される下限値未満であると判断される前記極値の数を算出し、前記異常診断手段は、当該極値の数に基づき、前記ガスセンサが異常状態にあるか否かを診断することを特徴とする。
また、請求項14に係る発明のガスセンサ制御装置は、請求項9乃至13のいずれかに記載の発明の構成に加え、前記異常診断手段は、前記センサ出力値取得手段により取得された前記センサ出力値のうち、前記極値取得手段により極値として取得されなかった前記センサ出力値の数が第2所定数に達したとき、当該第2所定数に達した時以後に取得した1又は複数の前記センサ出力値と、予め定められた第2閾値とを比較して、前記ガスセンサが異常状態にあるか否かを診断することを特徴とする。
また、請求項15に係る発明のガスセンサ制御装置は、請求項9乃至13のいずれかに記載の発明の構成に加え、前記異常診断手段は、前記センサ出力値取得手段により取得された前記センサ出力値のうち、前記極値取得手段により極値として取得されなかった前記センサ出力値の数が第2所定数に達したとき、当該第2所定数に達した時以後の前記センサ出力値を第3所定数取得し、当該第3所定数のセンサ出力値を平均化処理した値と、予め定められた第3閾値とを比較して、前記ガスセンサが異常状態にあるか否かを診断することを特徴とする。
また、請求項16に係る発明のガスセンサ制御装置は、請求項9乃至13のいずれかに記載の発明の構成に加え、前記異常診断手段は、前記センサ出力値取得手段により取得された前記センサ出力値のうち、前記極値取得手段により極値として取得されなかった前記センサ出力値の数が第2所定数に達したとき、前記極値取得手段により取得された前記極値を平均化処理した値と、予め定められた第4閾値とを比較して、前記ガスセンサが異常状態にあるか否かを診断することを特徴とする。
請求項1に係る発明のガスセンサの異常診断方法によれば、異常診断に用いるセンサ出力値として、内燃機関への燃料供給の中断が検出されている期間内に連続して取得されるセンサ出力値のうち、極大値および極小値の少なくともいずれか一方の値(極値)を用いるようにしている。そして、取得された第1所定数分の極値を予め定められた第1閾値と比較し、それら第1所定数分の比較結果に基づいて、ガスセンサが異常状態にあるか否かを診断するようにしている。このため、内燃機関への燃料供給の中断が検出されている期間内にノイズ等の特異なセンサ出力値が偶発的に取得された場合にも、ガスセンサが異常な状態にあるか否かを精度よく、的確に判断することができる。さらに、本発明のガスセンサの異常診断方法によれば、第1所定数分の極値が取得された時点でガスセンサが異常状態にあるか否かを診断することができるため、燃料供給の中断解除を待たずして、早期に的確なガスセンサの異常診断を行うことができる。
また、請求項2に係る発明のガスセンサの異常診断方法によれば、請求項1に記載の発明の効果に加え、内燃機関への燃料供給の中断開始から、ガスセンサの周囲に存在する排気ガスが既知の濃度のガスに入れ替わるのに必要な時間に基づき適切に定められた所定時間経過後に、異常診断処理に用いるセンサ出力値の極値を取得するようにしている。このため、センサ出力値の波形が比較的安定した状態において極値の取得を行うことができ、ガスセンサが異常状態にあるか否かをより精度よく判断することができる。
また、請求項3に係る発明のガスセンサの異常診断方法によれば、請求項1又は2に記載の発明の効果に加え、センサ出力値取得工程において取得された取得順序が連続する3つの前記センサ出力値に基づき、それら3つのセンサ出力値の中の取得順序が2番目のセンサ出力値が極値であるか否かを判断して極値を取得するようにしているので、簡単な処理により、連続して取得されるセンサ出力値の中から極値を確実に取得することができる。
また、請求項4に係る発明のガスセンサの異常診断方法によれば、請求項1乃至3のいずれかに記載の発明の効果に加え、取得された極値のうち、第1閾値として設定される上限値よりも大きいと判断される数に基づいてガスセンサの異常診断を行うことにより、ガスセンサの検出感度が大きすぎる「ゲイン大異常」であるか否かを、精度よく診断することができる。
また、請求項5に係る発明のガスセンサの異常診断方法によれば、請求項1乃至3のいずれかに記載の発明の効果に加え、取得された極値のうち、第1閾値として設定される下限値未満であると判断される数に基づいてガスセンサの異常診断を行うことにより、ガスセンサの検出感度が小さすぎる「ゲイン小異常」であるか否かを、精度よく診断することができる。
また、請求項6に係る発明のガスセンサの異常診断方法によれば、請求項1乃至5のいずれかに記載の発明の効果に加え、取得されたセンサ出力値のうち、極値として取得されなかったセンサ出力値が第2所定数に達したとき、第2所定数に達した時以後に取得した1又は複数のセンサ出力値と、予め定められた第2閾値とを比較して、ガスセンサが異常状態にあるか否かを診断している。このため、燃料供給の中断が検出される前の内燃機関の運転状態等が影響してセンサ出力値の極値が第1所定数取得できなかった場合であっても、ガスセンサが異常状態にあるか否かを補完的に診断することができる。さらに、極値として取得されなかったセンサ出力値の数が第2所定数となった時点でガスセンサが異常状態にあるか否かを診断することも可能であるため、センサ出力値の極値が第1所定数取得できなかった場合であっても、燃料供給の中断解除を待たずして、早期に的確なガスセンサの異常診断を行うことが可能である。
また、請求項7に係る発明のガスセンサの異常診断方法によれば、請求項1乃至5のいずれかに記載の発明の効果に加え、取得されたセンサ出力値のうち、極値として取得されなかったセンサ出力値が第2所定数に達したとき、第2所定数に達した時以後に取得した第3所定数のセンサ出力値を平均化処理した値と、予め定めた第3閾値とを比較して、ガスセンサが異常状態にあるか否かを診断している。第3所定数のセンサ出力値を平均化処理した値を用いて診断することにより、1個のセンサ出力値を用いてガスセンサが異常状態であるか否かを診断する場合に比べ、ノイズ等の特異なセンサ出力値が偶発的に取得された場合の影響を小さくすることができる。このため、燃料供給の中断が検出される前の内燃機関の運転状態等が影響してセンサ出力値の極値が第1所定数取得できなかった場合であっても、ガスセンサが異常状態にあるか否かを補完的に、かつ、的確に判断することができる。なお、センサ出力値の平均化処理としては、第3所定数分のセンサ出力値を累積(積算)して当該第3所定数で除した単純な平均化処理の他、第3所定数のセンサ出力値の加重平均を行う処理等が挙げられる。
また、請求項8に係る発明のガスセンサの異常診断方法によれば、請求項1乃至5のいずれかに記載の発明の効果に加え、取得されたセンサ出力値のうち、極値として取得されなかったセンサ出力値が第2所定数に達したとき、それまでに取得した極値を平均化処理した値と、予め定められた第4閾値とを比較して、ガスセンサが異常状態にあるか否かを診断している。このため、燃料供給の中断が検出される前の内燃機関の運転状態等が影響してセンサ出力値の極値が第1所定数取得できなかった場合であっても、ガスセンサが異常状態にあるか否かを補完的に、かつ、的確に判断することができる。なお、センサ出力値の極値の平均化処理としては、取得された数分の極値を累積(積算)してその取得数で除した単純な平均化処理の他、極値の加重平均を行う処理等が挙げられる。
また、請求項9に係る発明のガスセンサ制御装置によれば、異常診断に用いるセンサ出力値として、内燃機関への燃料供給の中断が検出されている期間内に連続して取得されるセンサ出力値のうち、極大値および極小値の少なくともいずれか一方の値(極値)を用いるようにしている。そして、取得された第1所定数分の極値を予め定められた第1閾値と比較し、それら第1所定数分の比較結果に基づいて、ガスセンサが異常状態にあるか否かを診断するようにしている。このため、内燃機関への燃料供給の中断が検出されている期間内にノイズ等の特異なセンサ出力値が偶発的に取得された場合にも、ガスセンサが異常な状態にあるか否かを精度よく、的確に判断することができる。さらに、本発明のガスセンサ制御装置によれば、第1所定数分の極値が取得された時点でガスセンサが異常状態にあるか否かを診断することができるため、燃料供給の中断解除を待たずして、早期に的確なガスセンサの異常診断を行うことができる。
また、請求項10に係る発明のガスセンサ制御装置によれば、請求項9に記載の発明の効果に加え、内燃機関への燃料供給の中断開始から、ガスセンサの周囲に存在する排気ガスが既知の濃度のガス(大気等)に入れ替わるのに必要な時間に基づき適切に定められた所定時間経過後に、異常診断処理に用いるセンサ出力値の極値を取得するようにしている。このため、センサ出力値の波形が比較的安定した状態において極値の取得を行うことができ、ガスセンサの異常状態にあるか否かをより精度よく判断することができる。
また、請求項11に係る発明のガスセンサ制御装置によれば、請求項9又は10に記載の発明の効果に加え、センサ出力値取得工程において取得された取得順序が連続する3つの前記センサ出力値に基づき、それら3つのセンサ出力値の中の取得順序が2番目のセンサ出力値が極値であるか否かを判断して極値を取得するようにしているので、簡単な処理により、連続して取得されるセンサ出力値の中から極値を確実に取得することができる
また、請求項12に係る発明のガスセンサ制御装置によれば、請求項9乃至11のいずれかに記載の発明の効果に加え、取得された極値のうち、第1閾値として設定される上限値よりも大きいと判断される数に基づいてガスセンサの異常診断を行うことにより、ガスセンサの検出感度が大きすぎる「ゲイン大異常」であるか否かを、精度よく診断することができる。
また、請求項13に係る発明のガスセンサ制御装置によれば、請求項9乃至11のいずれかに記載の発明の効果に加え、取得された極値のうち、第1閾値として設定される下限値未満であると判断される数に基づいてガスセンサの異常診断を行うことにより、ガスセンサの検出感度が小さすぎる「ゲイン小異常」であるか否かを精度よく診断することができる。
また、請求項14に係る発明のガスセンサ制御装置によれば、請求項9乃至13のいずれかに記載の発明の効果に加え、取得されたセンサ出力値のうち、極値として取得されなかったセンサ出力値が第2所定数に達したとき、第2所定数に達した時以後に取得した1又は複数のセンサ出力値と、予め定められた第2閾値とを比較して、ガスセンサが異常状態にあるか否かを診断している。このため、燃料供給の中断が検出される前の内燃機関の運転状態等が影響してセンサ出力値の極値が第1所定数取得できなかった場合であっても、ガスセンサが異常状態にあるか否かを補完的に診断することができる。さらに、極値として取得されなかったセンサ出力値の数が第2所定数となった時点でガスセンサが異常状態にあるか否かを診断することが可能であるため、センサ出力値の極値が第1所定数取得できなかった場合であっても、燃料供給の中断解除を待たずして、早期に的確なガスセンサの異常診断を行うことが可能である。
また、請求項15に係る発明のガスセンサ制御装置によれば、請求項9乃至13のいずれかに記載の発明の効果に加え、取得されたセンサ出力値のうち、極値として取得されなかったセンサ出力値が第2所定数に達したとき、第2所定数に達した時以後に取得した第3所定数のセンサ出力値を平均化処理した値と、予め定めた第3閾値とを比較して、ガスセンサが異常状態にあるか否かを診断している。第3所定数のセンサ出力値を平均化処理した値を用いて診断することにより、1個のセンサ出力値を用いてガスセンサが異常状態であるか否かを診断する場合に比べ、ノイズ等の特異なセンサ出力値が偶発的に取得された場合の影響を小さくすることができる。このため、燃料供給の中断が検出される前の内燃機関の運転状態等が影響してセンサ出力値の極値が第1所定数取得できなかった場合であっても、ガスセンサが異常状態にあるか否かを補完的に、かつ、的確に判断することができる。
また、請求項16に係る発明のガスセンサ制御装置によれば、請求項9乃至13のいずれかに記載の発明の効果に加え、取得されたセンサ出力値のうち、極値として取得されなかったセンサ出力値が第2所定数に達したとき、それまでに取得された極値を平均化処理した値と、予め定められた第4閾値とを比較して、ガスセンサが異常状態にあるか否かを診断している。このため、燃料供給の中断が検出される前の内燃機関の運転状態等が影響してセンサ出力値の極値が第1所定数取得できなかった場合であっても、ガスセンサが異常状態にあるか否かを補完的に、かつ、的確に判断することができる。
以下、本発明を具体化したガスセンサの異常診断方法およびガスセンサ制御装置の一実施の形態について、図面を参照して説明する。一例として、理論空燃比点、およびリッチ領域からリーン領域までの全空燃比に対応した酸素濃度の検出が可能な全領域空燃比センサ素子10(以下、単に「センサ素子10」と言う。)を備え、ガスセンサユニット3から出力されるセンサ出力値により自動車等の内燃機関の排気ガス中に含まれる酸素の濃度を検出し、その酸素濃度の検出結果を内燃機関の空燃比を制御するために用いる第1の実施形態のガスセンサ制御装置1に本発明を適用した場合について説明する。
まず、図1を参照して、ガスセンサ制御装置1およびガスセンサユニット3の構成について説明する。図1は、ガスセンサ制御装置1およびガスセンサユニット3の概略構成を表したシステム構成図である。ガスセンサユニット3は、内燃機関の排気ガス中に含まれる酸素濃度に応じたセンサ出力値を出力するものであり、センサ素子10およびセラミックヒータ41を備えるガスセンサ2,並びに、センサ素子10に接続されるセンサ制御回路31およびセラミックヒータ41に接続されるヒータ電圧供給回路43を備えるセンサ駆動回路部4を備えている。また、ガスセンサユニット3は、センサ素子10とセンサ制御回路31とを電気的に接続するための3本のリード線(ポンプ側リード線53,共通リード線54,検出側リード線55)を備えている。一方、ガスセンサ制御装置1は、ガスセンサ2が異常状態にあるか否かを診断するとともに、ガスセンサユニット3が備えるセンサ制御回路31から別途に出力されるセンサ抵抗値信号に基づきヒータ電圧供給回路43の制御を行うECU60を備え、図示しないが、本発明の異常診断処理の診断結果を報知するためのディスプレイ、警報器等の報知手段や、外部機器に出力するための通信機器等の出力手段を必要に応じて備えている。
なお、ヒータ電圧供給回路43,ECU60およびセンサ制御回路31は、内燃機関の起動時に外部から入力される起動信号に同期して、それぞれ動作を開始する。
以下、ガスセンサユニット3が備える各構成について詳述する。まず、ガスセンサ2が備えるセンサ素子10について図1を参照して説明する。センサ素子10は、図1に示すように、遮蔽層23と、酸素濃度検出セル15と、ガス検出室19と、酸素ポンプセル11とが、この順に下から上へ積層されている。以下、センサ素子10が備える各構成について図1を参照して詳述する。
酸素ポンプセル11は、板状の固体電解質体12の両板面(表側板面、裏側板面)に多孔質電極13,14を備え、ガスセンサ2が検出する特定ガスである酸素(O2)のポンピングを行うものである。酸素濃度検出セル15は、板状の固体電解質体16の両板面(表側板面、裏側板面)に多孔質電極17,18を備え、酸素濃度に応じて起電力を発生するものである。またガス検出室19は、この酸素ポンプセル11と酸素濃度検出セル15との間に設けられ、被検出ガスが導入される空間であり、酸素ポンプセル11の多孔質電極14および酸素濃度検出セル15の多孔質電極17は、このガス検出室19に面するように配置されている。また、被検出ガスをガス検出室19に導入するための経路には、ガス検出室19内に導入される被検出ガスの拡散律速を行うためのガス拡散多孔質層21が配置されている。なお、固体電解質体12,16および遮蔽層23は、イットリアを安定化剤として固溶させた部分安定化ジルコニアを主体に形成され、多孔質電極13,14,17,18は、白金を主体に形成されている。
また、酸素濃度検出セル15のガス検出室19側とは反対側の面には、多孔質電極18を挟んで、遮蔽層23が配設されている。この遮蔽層23と酸素濃度検出セル15との間に挟み込まれた多孔質電極18の多孔質の隙間には、酸素が蓄積され、その蓄積された酸素は、酸素濃度検出セル15において、被検出ガスの酸素濃度を検出する際の基準酸素となる。このため、多孔質電極18は、酸素基準電極として機能する。
次に、ガスセンサ2が備えるセラミックヒータ41について、図1を参照して説明する。セラミックヒータ41は平板状に形成され、センサ素子10の酸素ポンプセル11に対向して配置されている。セラミックヒータ41は、センサ素子10を活性化させるためのものであり、ヒータ電圧供給回路43から供給される電力により、センサ素子10の温度が所定温度になるように制御される。一方、ヒータ電圧供給回路43は、後述するECU60による制御に従い、ガスセンサ2が備えるセラミックヒータ41に電力を供給する。
次に、センサ制御回路31について、図1を参照して説明する。センサ制御回路31は、前述の3本のリード線によりセンサ素子10と電気的に接続され、ECU60にセンサ出力値を出力するものである。このセンサ制御回路31は公知の回路である、ポンプ電流駆動回路33と、電圧出力回路35と、基準電圧比較回路39と、微小電流供給回路40とを備えている。
センサ制御回路31が備える微小電流供給回路40は、酸素濃度検出セル15の多孔質電極18側から多孔質電極17側へと微小電流Icpを通電するものである。この微小電流供給回路40による微小電流Icpの通電により、多孔質電極18側に酸素が汲み込まれ、多孔質電極18が酸素基準電極として機能する。電圧出力回路35は、酸素濃度検出セル15の多孔質電極17,18間に発生する起電力Vsを検出するものである。また、基準電圧比較回路39は、予め定められた基準電圧(本実施例では450[mV])を内部に保持しており、電圧出力回路35にて検出した起電力Vsと基準電圧との比較を行い、比較結果をポンプ電流駆動回路33にフィードバックするものである。そして、ポンプ電流駆動回路33は、基準電圧比較回路39から受け取った比較結果に基づいて、酸素ポンプセル11に流すポンプ電流Ipを制御するものである。
次に、ガスセンサ制御装置1が備えるECU60について図1を参照して説明する。ECU60は、ヒータの通電制御を行うヒータ電圧供給回路43を制御するとともに、ガスセンサ制御装置1の主制御を司るCPU61,プログラムや後述する異常診断処理において用いる各種設定値等を格納するROM62,および、任意に読み書き可能な記憶素子であるRAM63を備えている。このECU60には、センサ駆動回路部4を介してガスセンサ2から出力されるセンサ出力値やセンサ抵抗値信号が入力される他、内燃機関への燃料供給状況に関する信号、イグニッションスイッチのON,OFFに関する信号、内燃機関の運転状態を示す各種運転パラメータ条件が所定時間継続して全て成立しているか否かに関する信号等のその他の情報が入力されるようになっている。なお、ガスセンサ制御装置1がセンサ制御回路31およびヒータ電圧供給回路43のいずれか一方、又は双方を備えるように構成してもよく、同様に、ガスセンサユニット3が、センサ制御回路31およびヒータ電圧供給回路43のいずれか一方、又は双方を備えないようにしてもよい。例えば、ガスセンサ制御装置1がセンサ制御回路31およびヒータ電圧供給回路43を備える場合には、センサ出力値が、直接ガスセンサ2からガスセンサ制御装置1に入力されることとなる。即ち、本発明では、ガスセンサ2から出力されるセンサ出力値は、直接ガスセンサ制御装置1に入力される場合の他、センサ制御回路31等の各種インターフェースを介してガスセンサ制御装置1に入力されるようにしてもよい。第1の実施形態では、ガスセンサ2から出力されるセンサ出力値は、センサ制御回路31を介してガスセンサ制御装置1に入力されるようになっているため、「ガスセンサユニット3から出力されるセンサ出力値」が、本発明の「ガスセンサのセンサ出力値」に相当する。
このECU60が備えるRAM63の記憶エリアを、図2を参照して説明する。図2は、RAM63の記憶エリアを説明するための概念図である。図2に示すように、RAM63は、ROM62から読み出された各種設定値、CPU61が演算処理した演算結果を収容するワークエリア631と、内燃機関の各種運転パラメータ条件が所定時間成立しているか否かを示す確認フラグを記憶する確認フラグ記憶エリア632とを備えている。またRAM63は、ガスセンサユニット3から出力されるセンサ出力値を記憶するセンサ出力値記憶エリア633と、図示外のタイマプログラムによって所定時間ごとに値が所定量ずつ加算されるカウント値が記憶されるタイマカウンタ記憶エリア634とを備えている。またRAM63は、異常診断処理において用いられるパラメータである、所定間隔で取得されるセンサ出力値のうち、局所的な最大値である「極大値」、取得されたセンサ出力値のうち極大値が取得された回数である「極大値取得回数」、取得されたセンサ出力値のうち極大値ではないセンサ出力値が取得された回数である「極大値未得回数」、センサ出力値の極大値が上限値aより大きいと判断される回数である「aより大きい回数」、センサ出力値の極大値が下限値b未満と判断される回数である「b未満回数」等をそれぞれ記憶するパラメータ記憶エリア635を備えている。またRAM63は、異常診断処理の実施の有無を示す計測完了フラグを記憶する計測完了フラグ記憶エリア636と、異常診断処理における診断結果を記憶する診断結果記憶エリア637と、ガスセンサ制御装置1に入力される、内燃機関への燃料供給状況に関する信号、イグニッションスイッチのON,OFFに関する信号、内燃機関の運転状態を示す各種運転パラメータ条件が所定時間継続して全て成立しているか否かに関する信号等のその他の情報を記憶する入力情報記憶エリア638とを備えている。さらに、RAM63は、図示外の各種記憶エリアを必要に応じて備えている。
次に、ガスセンサ制御装置1によるヒータ電圧供給回路43の制御について簡単に説明する。ガスセンサ制御装置1は、図1に図示していないが、センサ制御回路31内に公知のセンサ抵抗値検出回路を備えている。このセンサ抵抗値検出回路は具体的に、微小電流供給回路40とは別の電流供給回路から一定値の電流を酸素濃度検出セル15に対して定期的に供給し、その際に酸素濃度検出セル15の多孔質電極17,18間に発生する電位差をセンサ抵抗値信号として検出し、この信号をECU60に出力している。そして、ECU60はガスセンサユニット3から出力されるセンサ抵抗値信号に基づいて、センサ素子10の温度Tcを検出し、検出した温度Tcに基づいてセラミックヒータ41への印加電圧を制御するための信号をヒータ電圧供給回路43に出力している。より具体的には、センサ素子10の温度Tcが活性化温度(例えば、600[℃])以上の常用温度(例えば、800[℃])となるように、換言すれば、酸素濃度検出セル15のセンサ抵抗値Rpvsがこの常用温度に対応した目標抵抗値Rtaとなるように、センサ制御回路31からのセンサ抵抗値信号に基づきヒータへの印加電圧VHの大きさを調整する温度制御処理が実行される。なお、センサ素子10の酸素濃度検出セル15における温度Tcとセンサ抵抗値Rpvsとの間には、相関関係があり、センサ抵抗値Rpvsに基づいてセンサ素子10の温度Tcを検出することが可能である。この結果、酸素ポンプセル11および酸素濃度検出セル15が活性化温度以上に加熱され、センサ素子10は、酸素を検出可能な活性化状態となる。なお、ECU60にて実行される温度制御処理については、公知の手法を採用して実行すればよく、具体的には、特開2003−185626号公報にて開示された手法等にて実行することができるため、これ以上の説明は省略する。
次に、ガスセンサユニット3から出力されるセンサ出力値に基づき、ガスセンサ制御装置1が排気ガス中の酸素濃度を検出し、空燃比を検出する方法について簡単に説明する。センサ素子10が備える酸素濃度検出セル15の多孔質電極17と多孔質電極18との間には、ガス検出室19の内部における酸素濃度に応じた起電力Vsが発生する。この起電力Vsが一定値(例えば、450[mV])となる様に、センサ素子10では、酸素ポンプセル11を用いてガス検出室19の内部に対する酸素(O2)の汲み出し又は汲み入れが行われる。このとき、酸素ポンプセル11に流れるポンプ電流Ipの電流値および電流方向が、排気ガス中の酸素濃度に応じて変化することから、ポンプ電流Ipの検出結果に基づいて排気ガス中の酸素濃度を検出できる。なお、第1の実施形態では、このポンプ電流Ipの量に比例した電圧をセンサ出力値としてセンサ制御回路31からECU60を備えるガスセンサ制御装置1に出力しており、ECU60がこのセンサ出力値を用いて排気ガスの酸素濃度を検出したり、ガスセンサ2が異常状態にあるか否かを診断したりしている。そしてECU60は、排気ガス中の酸素濃度と空燃比とには相関関係があることから、検出した酸素濃度を用いることで、内燃機関の空燃比を検出している。
次に、ガスセンサ2のセンサ出力値に基づいて、ガスセンサ2が異常状態にあるか否かを診断する処理について、図3〜図6を参照して説明する。図3は、内燃機関への燃料供給の中断開始後におけるガスセンサユニット3から出力されるセンサ出力値の経時変化を示すセンサ信号の一例を示すグラフであり、図4は、図3の点線で囲んだ部分130を拡大したグラフである。また、図5は、ガスセンサ2が異常状態にあるか否かを診断する異常診断処理のメイン処理の流れを示すフローチャートであり、図6は、図5に示すメイン処理において実行される異常診断処理の流れを示すフローチャートである。なお、図5および図6に示す各処理を実行させるプログラムは、ROM62に記憶されており、ECU60において実行される他のプログラム同様、図1に示すCPU61により実行される。
まず、ガスセンサ2が異常状態にあるか否かを診断する異常診断処理に用いられるセンサ出力値の経時変化を示すセンサ信号の一例を、図3および図4を参照して簡単に説明する。図3に示すグラフ100は、内燃機関への燃料供給の中断(以下、「F/C」と言う。)開始後におけるセンサ信号の波形の一例として、センサ信号101乃至104を示している。センサ信号101は、後述する異常診断処理により排気ガス中の酸素濃度に対するセンサ出力値が大きすぎる(換言すれば、ガスセンサ2の検出感度が大きすぎる)「ゲイン大異常」であると診断される例であり、センサ信号102は、周期がほぼ一定で振幅が周期的に変動する波形を示し、後述する異常診断処理により「ゲイン大異常」であると診断される例である。また、センサ信号103は、周期がほぼ一定で振幅が周期的に変動する波形を示し、後述する異常診断処理により正常であると診断される例であり、センサ信号104は、周期がほぼ一定で振幅が周期的に変動する波形を示し、後述する異常診断処理により排気ガス中の酸素濃度に対するセンサ出力値が小さすぎる(換言すれば、ガスセンサ2の検出感度が小さすぎる)「ゲイン小異常」であると診断される例である。なお図4には、このセンサ信号102のうち、図3の点線で囲んだ部分130を拡大し、矢印111で示すF/C開始から所定期間X1経過後の、センサ出力値201〜206を示している。
次に、第1の実施形態の異常診断処理の概略について簡単に説明する。F/C中はガスセンサ2には大気が供給されることになるため、F/C開始から所定時間経過後には、ガスセンサユニット3から出力されるガスセンサ2のセンサ出力値は大気の酸素濃度に応じた所定の値を示すようになる。排気ガス中に含まれるリン等の被毒成分がガスセンサ2の多孔質部(具体的には、ガス拡散多孔質層21)に多量に付着したり、センサ素子10にクラックが発生したり等のガスセンサ2の劣化が生じると、酸素濃度の変化に対するガスセンサ2の検出感度が過度に小さくなったり、過度に大きくなったりし、大気の酸素濃度に応じた予測される範囲のセンサ出力値とは異なる値を示すようになる。
したがって、F/C開始から所定時間経過後におけるガスセンサ2が正常な状態であると判断されるセンサ出力値の範囲を定める上限値又は下限値と、ガスセンサユニット3から出力されたセンサ出力値とを用いることにより、ガスセンサ2が異常状態にあるか否か診断することができる。ただし、一般に、ガスセンサ2のセンサ出力値の経時変化をプロットしたグラフは、図3に示すグラフ100のセンサ信号102乃至104のように極値が複数表れる波形を示すため、センサ出力値と上記上限値又は下限値とを直接比較し、一度でもセンサ出力値が上記上限値を超えたり、上記下限値を下回ったりした際にガスセンサに異常が発生したと判断するようにすると安定した診断結果が得られない。また、センサ信号104のセンサ出力値210のようなノイズ等の特異なセンサ出力値が現れることがあるため、センサ出力値と上記上限値又は下限値とを直接比較し、一度でもセンサ出力値が上記上限値を超えたり、上記下限値を下回ったりした際にガスセンサに異常が発生したと判断するようにすると、的確な異常診断が実施できない。これに対し、本発明のガスセンサの異常診断方法では、所定間隔で連続して取得されるセンサ出力値のうち、大きな値側に出現する極大値を順次取得し、第1所定数分得られた極大値とガスセンサ2が異常と判断される第1閾値である上限値又は下限値とを比較するようにしている。そして、第1所定数の個々の極大値と上限値とを比較する場合には、上限値よりも大きいと判断される極大値の数に基づき、ガスセンサ2が異常状態にあるか否かを診断するようにしている。このため、センサ出力値が、図3に示すグラフ100のセンサ信号102乃至104のように極値が複数表れる波形を示した場合や、センサ出力値にノイズが重畳した場合等にも、本発明のガスセンサの異常診断方法によれば、ガスセンサの異常を的確に診断できる。
次に、本発明のガスセンサに相当するガスセンサ2が異常状態にあるか否かを診断する異常診断処理のメイン処理を、図5に示すフローチャートを参照して説明する。図5のフローチャートに示すように、メイン処理ではまず、種々のデータやフラグ等の初期化が行われる(S5)。この処理において、例えば、異常診断処理の実施の有無を示す計測完了フラグに、未実施を示す0がセットされ、RAM63の計測完了フラグ記憶エリア636に記憶され、センサ出力値記憶エリア633に記憶されたセンサ出力値とその取得順序nとがクリアされる(S5)。続いて、センサ素子10が活性化しているか否かが判断される(S10)。この処理は、ガスセンサ2内の酸素イオンの移動度が高くなる温度に至るまでセンサ素子10が加熱され、検出が可能な状態になっているか否かを判断するための処理である。前述のように、センサ素子10の酸素濃度検出セル15における温度Tcとセンサ抵抗値Rpvsとの間には、相関関係があるため、この処理において、酸素濃度検出セル15のセンサ抵抗値Rpvsに基づいてセンサ素子10が活性化しているか否かが判断される。
センサ素子10が活性化していないと判断される場合には(S10:No)、活性化したと判断されるまで待機する。一方、センサ素子10が活性化したと判断される場合には(S10:Yes)、続いて、ガスセンサユニット3から出力されるガスセンサ2のセンサ出力値を所定間隔で取得するためのタイマがスタートされる(S15)。この処理により、別途実行される他のプログラムにより、タイマカウンタ記憶エリア634に記憶されるカウント値は所定時間ごとに自動的に更新される。続いて、タイマのカウント値がリセットされ、タイマカウンタ記憶エリア634に記憶される(S20)。この処理は、タイマリセット時から、後述するS45の処理を実行する時までの経過時間が分かるようにタイマがリセットされればよい。なお、センサ素子10が活性化したと判断される場合には(S10:Yes)、センサ制御回路31を用いたセンサ素子10の駆動制御も開始されることになる。
続いて、RAM63の確認フラグ記憶エリア632が参照され、内燃機関の運転状態を示す各種運転パラメータ条件が所定時間継続して全て成立しているか否かが判断される(S25)。この処理は、異常診断処理を実施する条件が整っているか否かを判断するための処理である。第1の実施形態のガスセンサ制御装置1では、別途実行される他のプログラムにより、各種運転パラメータが監視され、すべての運転パラメータ条件が所定時間継続して成立している状態が確認された場合には、RAM63の確認フラグ記憶エリア632に条件成立を示す1が記憶されるようになっている。この運転パラメータ条件としては、内燃機関の構成や特性等に応じて適宜定めることができるが、第1の実施形態では、エンジン回転数が2000rpm以上5000rpm以下の条件であって、かつ、エンジン冷却水の水温が50℃以上300℃以下の条件を運転パラメータ条件として設定している。
S25において、RAM63の確認フラグ記憶エリア632が参照され、確認フラグが条件不成立を示す0が記憶されている場合には(S25:No)、続いて、異常診断処理に用いられるパラメータである極大値、極大値取得回数、極大値未得回数、aより大きい回数、b未満回数にそれぞれ0がセットされ、RAM63のパラメータ記憶エリア635に記憶される(S35)。続いて、ガスセンサ2のセンサ出力値が取得され、センサ出力値記憶エリア633に記憶される(S40)。一方、S25において、確認フラグが条件成立を示す1が記憶されている場合には(S25:Yes)、ガスセンサ2が異常状態にあるか否かを診断する異常診断処理が実施される(S30)。この異常診断処理については、図6に示すフローチャートを参照して後述する。
S30又はS40に続いて、タイマカウンタ記憶エリア634が参照され、S20のタイマリセット後、10[msec]経過したか否かが判断される(S45)。この処理は、所定間隔(第1の実施形態では、10[msec])で、センサ出力値を取得するための処理である。なお、この所定間隔はガスセンサユニット3(ガスセンサ2)の特性や用途等に応じて適宜定めればよく、第1の実施形態の10[msec]に限定されない。S45において、10[msec]経過していないと判断される場合には(S45:No)、10[msec]経過したと判断されるまで待機する。一方、10[msec]経過したと判断される場合には(S45:Yes)、S20に戻り処理を繰り返す。
以上の詳述したように、ガスセンサ制御装置1のメイン処理が実行される。続いて、図5に示すメイン処理において実行される異常診断処理を、図6に示すフローチャートを参照して説明する。図6のフローチャートに示すように、異常診断処理ではまず、計測完了フラグ記憶エリア636,入力情報記憶エリア638が参照され、イグニッションスイッチ(IG SW)がONされた後、一度も異常診断処理がされていないか否かが判断される(S305)。
計測完了フラグ記憶エリア636に、異常診断処理が未実施であることを示す0が記憶されている場合には(S305:Yes)、続いて、内燃機関への燃料供給状況に関する信号を記憶した入力情報記憶エリア638が参照され、F/C中であるか否かが判断される(S310)。この処理は、本発明の中断検出工程に相当する処理であり、F/C中であるか否かを検出して、ガスセンサ2が異常状態にあるか否かを診断するための処理である。このため、このS310の処理は、F/C中であるか否かを検出できればよく、第1の実施形態の処理方法に限定されない。F/C中であると判断される場合には(S310:Yes)、続いて、F/C開始から所定時間X1経過しているか否かが判断される(S315)。この所定時間X1は、F/C開始後において、排気管中の排気ガスが大気に置き換わるのに必要な時間に基づき適宜定められるS45の所定間隔よりも長い時間であり、図3に示す具体例では矢印111で示す3.0[sec]間である。
S315において、F/C開始から所定時間X1経過していると判断される場合には(S315:Yes)、大気に含まれる酸素濃度に応じたセンサ出力値を取得可能と判断されるので、続いて、ガスセンサユニット3から出力されるセンサ出力値が取得され、センサ出力値の取得順序nとともにセンサ出力値記憶エリア633に記憶される(S320)。この処理は、本発明のセンサ出力値取得工程に相当する処理であり、所定間隔(第1の実施形態では、10[msec])で、センサ出力値が取得される。
一方、S305において計測完了フラグ記憶エリア636に異常診断処理が実施されていることを示す1が記憶されている場合(S305:No)、S310においてF/C中ではないと判断される場合(S310:No)、又は、S315においてF/C開始から所定時間X1経過していないと判断される場合には(S315:No)、ガスセンサ2が異常状態にあるか否かの診断を実施する条件が整っていないと判断されるので、続いて、異常診断処理に用いられるパラメータであるセンサ出力値の極大値、極大値取得回数、極大値未得回数、aより大きい回数およびb未満回数にそれぞれ0がセットされ、RAM63のパラメータ記憶エリア635に記憶される(S450)。この処理は異常診断処理に用いられるパラメータをリセットするための処理であり、この処理により、継続して異常診断を実施する条件が整っていると判断された場合にのみ、ガスセンサ2が異常状態にあるか否かを診断することができる。続いて、異常診断処理を終了し、図5のメイン処理に戻る。
S320に続いて、センサ出力値記憶エリア633が参照され、取得順序が連続する直近の3つのセンサ出力値、即ち、取得順序がn−2番目、n−1番目、および、n番目のセンサ出力値が取得され、n−2番目のセンサ出力値がn−1番目のセンサ出力値以下、かつ、n−1番目のセンサ出力値がn番目のセンサ出力値より大きい条件を満たすか否かが判断される(S325)。この処理と後述するS330は、本発明の極値取得工程に相当する処理であり、取得順序が連続する3つのセンサ出力値に基づき、それら3つのセンサ出力値の中の取得順序が2番目のセンサ出力値が、局所的な最大値であり、図3に示すグラフにおいては上に凸の山となる極大値であるか否かを判断するための処理である。F/C開始から所定時間X1経過後の直後の場合であって、nが1又は2の場合は、直近の3つのセンサ出力値が記憶されていないため、この処理を省略するようにしてもよい。なお、F/C開始から所定時間X1経過前から、連続して出力されるセンサ出力値を取得順序nとともに記憶する場合、例えば、前述のS450の直前又は直後において、ガスセンサユニット3から出力されるセンサ出力値を取得し、センサ出力値の取得順序nとともにセンサ出力値記憶エリア633に記憶させる処理を行う場合には、F/C開始から所定時間X1経過前に取得された取得順序がn−2番目のセンサ出力値と、F/C開始から所定時間X1経過後に取得されたn−1番目、n番目のセンサ出力値とを用いて、上記条件を満たすか否かの判断を行うようにしてもよい。このようにした場合には、F/C開始から所定時間X1経過直後に取得されたセンサ出力値が極大値である場合にも、そのセンサ出力値を極大値として取得することができる(S325:Yes,S330)。
取得順序が連続する3つのセンサ出力値が、図4に示すセンサ信号102のセンサ出力値204乃至206である場合のように、上記条件を満たし、n−1番目のセンサ出力値が極大値(図4に示す具体例では、黒丸で示すセンサ出力値)であると判断される場合には(S325:Yes)、続いて、取得順序が2番目のセンサ出力値であるn−1番目のセンサ出力値、前述の具体例では黒丸で示すセンサ出力値205が極大値として、パラメータ記憶エリア635に記憶される(S330)。一方、上記条件を満たさず、n−1番目のセンサ出力値が極大値ではないと判断される場合の処理は(S325:No)後述する。
S330に続いて、パラメータ記憶エリア635の極大値が参照され、ガスセンサ2が正常な状態であると判断されるセンサ出力値の範囲を定める上限値aより、極大値の方が大きいか否かが判断される(S335)。この処理は、本発明の極値比較工程に相当する処理である。上限値aは、ガスセンサ2が大気に含まれる酸素濃度に応じたセンサ出力値を正常に出力していると判断される範囲に基づき定められ、図3に示す具体例では点線112で示す4.5[V]である。前述の具体例では、図4に示すようにセンサ出力値205は点線112で示す4.5[V]より大きいと判断され(S335:Yes)、続いて、ガスセンサ2が正常な状態であると判断されるセンサ出力値の範囲に入っていないと判断されるため、続いて、aより大きい回数が1増加(インクリメント)され、パラメータ記憶エリア635に記憶される(S345)。この処理は、S335とともに、極値比較工程に相当する処理であり、取得された極大値が、上限値aよりも大きいと判断される極大値の数を算出するための処理である。
一方、極大値は上限値a以下であると判断される場合には(S335:No)、続いて、パラメータ記憶エリア635の極大値が参照され、ガスセンサ2が正常な状態であると判断されるセンサ出力値の範囲を定める下限値b未満であるか否かが判断される(S340)。この処理はS335と同様に、本発明の極値比較工程に相当する処理であり、下限値bは、ガスセンサ2が大気に含まれる酸素濃度に応じたセンサ出力値を正常に出力していると判断される範囲に基づき定められ、図3に示す具体例では点線113で示す3.0[V]である。
このS340において、極大値が下限値b未満であると判断される場合には(S340:Yes)、ガスセンサ2が正常な状態であると判断されるセンサ出力値の範囲に入っていないと判断されるため、b未満回数が1増加(インクリメント)され、パラメータ記憶エリア635に記憶される(S350)。この処理は、S340とともに、極値比較工程に相当する処理であり、取得された極大値が、下限値b未満であると判断される極大値の数を算出するための処理である。一方、極大値が下限値b以上であると判断される場合には(S340:No)、極大値が正常な範囲に収まっていると判断される。S345,S350又はS340に続いて、極大値取得回数が1増加(インクリメント)され、パラメータ記憶エリア635に記憶される(S355)。この処理は、S330において極大値として取得したセンサ出力値の数を積算するための処理である。
続いて、パラメータ記憶エリア635の極大値取得回数が参照され、極大値が所定数A以上取得されたか否かが判断される(S360)。この処理は、極大値と上限値aとの比較を第1所定数A分行い、それらの比較結果に基づいて、ガスセンサ2が異常状態にあるか否かを診断するための処理である。この所定数Aは本発明の第1所定数に相当する数であり、ガスセンサ2の特性や用途、センサ出力値が取得される所定間隔等に応じて適宜定められ、第1の実施形態では15と定められる。極大値が所定数A以上取得されていないと判断される場合には(S360:No)、ガスセンサ2が異常状態にあるか否かを診断するのに十分な数の比較結果が得られていないと判断されるので、異常診断処理を終了し、図5に示すメイン処理に戻る。
一方、極大値が所定数A以上取得されたと判断される場合には(S360:Yes)、ガスセンサ2が異常状態にあるか否かを診断するのに十分な数の比較結果が得られたと判断されるので、続いて、パラメータ記憶エリア635のaより大きい回数が参照され、aより大きい回数が所定数B以上であるか否かが判断される(S365)。この所定数Bは、ガスセンサ2の特性や異常診断の精度等に応じて適宜定められ、第1の実施形態では10と定められる。aより大きい回数が所定数B以上であると判断される場合には(S365:Yes)、ガスセンサ2の検出感度が大きすぎる「ゲイン大異常」であると診断され、その診断結果は診断結果記憶エリア637に記憶される(S375)。一方S365において、aより大きい回数が所定数B未満であると判断される場合には(S365:No)、続いて、パラメータ記憶エリア635のb未満回数が参照され、b未満回数が所定数B以上か否かが判断される(S370)。b未満回数が所定数B以上であると判断される場合には(S370:Yes)、ガスセンサ2の検出感度が小さすぎる「ゲイン小異常」であると診断され、その診断結果は診断結果記憶エリア637に記憶される(S380)。一方、b未満回数が所定数B未満であると判断される場合には(S370:No)、ガスセンサ2は正常であると診断され、その診断結果が診断結果記憶エリア637に記憶される(S385)。
このように、極大値取得回数が所定数Aに達したとき(S360:Yes)、所定数A分のセンサ出力値の極大値と、上限値a又は下限値bとの比較結果に基づいて(S365,S370)、ガスセンサ2が異常状態にあるか否かを診断する(S375,S380およびS385)、S365,S370,S375,S380およびS385は、本発明の異常診断工程に相当する処理である。このように、所定数A分の比較結果を用いてガスセンサ2が異常状態にあるか否かを診断しているので、ノイズ等の特異なセンサ出力値が偶発的に取得された場合にも、ガスセンサが異常な状態にあるか否かを精度よく、的確に判断することができる。なお、S365およびS370において、同じ所定数Bを用いていたが、この所定数は、S365とS370とで異なる値を用いるようにしてもよい。
S375,S380又はS385に続いて、計測完了フラグに、異常診断処理が実施されたことを示す1がセットされ、計測完了フラグ記憶エリア636に記憶される(S390)。この処理は、イグニッションスイッチがONされるごとに1回だけ、異常診断処理を行うための処理であり、次回以降に実行される異常診断処理においては、S305において、すでに異常診断処理を実施したと判断されることになる(S305:No)。続いて、異常診断処理を終了し、図5に示すメイン処理に戻る。
S325において、取得順序が連続する3つのセンサ出力値が図4に示すセンサ出力値201乃至203のように、n−2番目のセンサ出力値がn−1番目のセンサ出力以上、かつ、n−1番目のセンサ出力値がn番目のセンサ出力値より大きい条件を満たさず、n−1番目のセンサ出力値(前述の具体例では白丸で示すセンサ出力値202)が極大値ではないと判断される場合には(S325:No)、続いて、極大値未得回数が1増加(インクリメント)され、パラメータ記憶エリア635に記憶される(S405)。この処理は、極大値として取得されなかったセンサ出力値(図4の具体例では、白丸で示すセンサ出力値)の数を極大値未得回数として積算するための処理である。続いて、パラメータ記憶エリア635の極大値未得回数が参照され、極大値未得回数が所定数C以上であるか否かが判断される(S410)。この処理は、センサ出力値が極大値を示さない場合があっても、ガスセンサ2が異常状態にあるか否かを補完的に診断するための処理である。この所定数Cは本発明の第2所定数に相当する数であり、想定される極大値の取得頻度や極大値を取得する回数を規定する所定数A等に応じて適宜定めることができ、第1の実施形態では100と定められる。
極大値未得回数が所定数C未満であると判断される場合には(S410:No)、異常診断処理を終了し、図5に示すメイン処理に戻る。一方、極大値未得回数が所定数C以上であると判断される場合には(S410:Yes)、続いて、センサ出力値記憶エリア633が参照され、n番目のセンサ出力値が前述の上限値aよりも大きいか否かが判断される(S415)。この上限値aは第2閾値に相当し、S335に用いられる上限値(第1閾値)と同じ値であってもよいし、別の値であってもよい。n番目のセンサ出力値が前述の上限値aよりも大きいと判断される場合には(S415:Yes)、ガスセンサ2は、ゲイン大異常であると診断され、その診断結果が診断結果記憶エリア637に記憶される(S420)。一方、n番目のセンサ出力値が前述の上限値a以下であると判断される場合には(S415:No)、ガスセンサ2は正常であると診断され、その診断結果が診断結果記憶エリア637に記憶される(S425)。このように、極大値として取得されなかったセンサ出力値の数である極大値未得回数が所定数Cに達したとき(S410:Yes)、その所定数に達したときの取得順序n番目のセンサ出力値と、予め定められた第2閾値である上限値aとを比較して(S415)、ガスセンサ2が異常状態にあるか否かを診断する(S420,S425)、S410,S415,S420およびS425の処理は、本発明の異常診断工程に相当する処理である。
S420又はS425に続いて、計測完了フラグに、異常診断処理が実施されたことを示す1がセットされ、計測完了フラグ記憶エリア636に記憶される(S430)。この処理はS390と同様の処理である。続いて、異常診断処理を終了し、図5に示すメイン処理に戻る。
以上の詳述したように第1の実施形態の異常診断処理が実行される。なお、上記異常診断処理における診断結果は、ECU60において別途実行されるプログラムにより、ガスセンサ制御装置1が備える図示しない表示ディスプレイ等の表示手段、警報器やスピーカ等の音声報知手段、警報ランプ等によりユーザに対して報知するようにしてもよいし、専用の出力端子から外部機器に対して出力してもよく、あるいは、シリアル通信により外部機器に対して出力してもよい。
なお上記第1の実施形態において、図6に示すS310において、RAM63の入力情報記憶エリア638を参照して、内燃機関への燃料供給の中断を検出する、図1に示すCPU61は、本発明の中断検出手段として機能する。またガスセンサ2のセンサ出力値を所定間隔で取得する(S320)、図1に示すCPU61は、本発明のセンサ出力値取得手段として機能する。また、内燃機関への燃料供給の中断が検出されてから、センサ出力値を取得する所定間隔よりも長い時間に設定された所定時間X1経過後(S315:Yes)、取得順序が連続する3つのセンサ出力値に基づき、それら3つのセンサ出力値の中の取得順序が2番目の前記センサ出力値が極大値であるか否かを判断し(S325)、極大値であると判断されたセンサ出力値を極大値として取得する(S325:Yes,S330)、図1に示すCPU61は、本発明の極値取得手段として機能する。
また、図6に示すフローチャートのS335において、S330で取得されたセンサ出力値の極大値と予め定められた第1閾値である上限値aとを比較し、上限値aよりも大きいと判断される極大値の数を算出する(S335:Yes,S345)、図1に示すCPU61は、本発明の極値比較手段として機能する。S335と同様に、図6に示すフローチャートのS340において、取得された極大値と予め定められた第1閾値である下限値bとを比較し(S340)、下限値b未満であると判断される極大値の数を算出する(S340:Yes,S350)、図1に示すCPU61は、本発明の極値比較手段として機能する。また、極大値が所定数取得されたとき(S360:Yes)、それら所定数分のS335,S340における比較結果に基づいて(S365,S370)、ガスセンサ2が異常状態にあるか否かを診断する(S375,S380,S385)、図1に示すCPU61は、本発明の異常診断手段として機能する。また、図6に示すフローチャートのS320において取得されたセンサ出力値のうち、極大値として取得されなかったセンサ出力値が所定数Cに達したとき(S410:Yes)、その所定数Cに達したときのセンサ出力値と、予め定められた第2閾値である上限値aとを比較して(S415)、ガスセンサ2が異常状態にあるか否かを診断する(S420,S425)、図1に示すCPU61は、本発明の異常診断手段として機能する。
以上詳述した第1の実施形態のガスセンサの異常診断方法およびガスセンサ制御装置1によれば、内燃機関への燃料供給の中断が検出されている期間内、連続して取得されるセンサ出力値のうち局所的な最大値であり、図3に示すグラフにおいては上に凸の山となる極大値を取得し、取得した極大値と予め定められた第1閾値である上限値aと下限値bとを順次比較し、所定数A分の極大値と第1閾値との比較結果に基づいて、ガスセンサが異常状態にあるか否かを診断するようにしているため、ノイズ等の特異なセンサ出力値が偶発的に取得された場合にも、ガスセンサが異常な状態にあるか否かを精度よく、的確に判断することができる。さらに、本発明の第1所定数に相当する所定数A分の極値が取得された時点、又は、極値として取得されなかったセンサ出力値が本発明の第2所定数に相当する所定数Cになった時点で、ガスセンサ2が異常状態にあるか否かを診断することができるため、燃料供給の中断解除を待たずして、早期に的確なガスセンサの異常診断を行うことができる。
また、F/C開始から、ガスセンサ2の周囲に存在する排気ガスが既知の濃度のガスである大気に入れ替わるのに必要な時間に基づき定められた所定時間X1経過後に、異常診断処理に用いるセンサ出力値の極値を取得するようにしているので、センサ出力値の波形が所定時間X1中のそれに比べて比較的安定した状態下で極値の取得を行うことができ、ガスセンサの異常状態にあるか否かをより的確に判断することができる。以上のように、第1の実施形態のガスセンサの異常診断方法およびガスセンサ制御装置1によれば、ガスセンサ2が異常状態にあることをより精度よく検出できるので、早期にガスセンサの交換を促すことで排気ガス中の有害成分の増加を防止することができるという副次的な効果が得られる。
次に、第2の実施形態の異常診断処理を図7および図8に示すフローチャートを参照して説明する。第2の実施形態のガスセンサ制御装置1において実行される異常診断処理は、極大値として取得されなかったセンサ出力値の数が所定数Cに達したときの処理が、図6のフローチャートに示す上記第1の実施形態の異常診断処理と異なる。
第2の実施形態のガスセンサ制御装置1の物理的構成は第1の実施形態と同様であるので説明を省略する。また、第2の実施形態のガスセンサ制御装置1の電気的構成はRAM63の構成を除いて第1の実施形態と同様である。第2の実施形態のRAM63には、第1の実施形態のRAM63が備える記憶エリアの他、極大値未得回数が所定数C以上の場合の診断方法を切り替える診断切替フラグを記憶する診断切替フラグ記憶エリア(図示せず)が設けられている。また、第2の実施形態のRAM63のパラメータ記憶エリア635には、第1の実施形態において記憶される項目に加え、極大値未得回数が所定数C以上である場合に、ガスセンサ2が異常状態にあるか否かを補完的に診断する処理に用いられるパラメータが記憶される。即ち、第2の実施形態のRAM63のパラメータ記憶エリア635には、極大値を積算する「極大値積算」、極大値積算を極大値取得回数で除して求めた「極大値平均値」、および、診断切替フラグが1である場合にセンサ出力値を積算する「センサ出力値積算」がそれぞれ記憶される。また第2の実施形態のRAM63のパラメータ記憶エリア635には、センサ出力値積算に積算されたセンサ出力値の数を積算する「平均値カウンタ」、および、センサ出力値積算を平均値カウンタで除して求めた「センサ出力平均値」がそれぞれ記憶される。
また、第2の実施形態のガスセンサ制御装置1において実行される、異常診断処理のメイン処理は、図5に示すフローチャートのS5,S30およびS35を除き第1の実施形態と同様である。第1の実施形態と同様な処理については説明を省略し、以下、第1の実施形態のメイン処理とは異なる処理について説明する。第2の実施形態のS5およびS35では、第1の実施形態で実行される処理に加え、パラメータ記憶エリア635に記憶されている第2の実施形態に特有の上記項目が初期化される。即ち、第2の実施形態のS5およびS35では、異常診断処理に用いられるパラメータである極大値、極大値取得回数、極大値未得回数、aより大きい回数、b未満回数の他、極大値積算、診断切替フラグ、センサ出力値積算、平均値カウンタ、センサ出力平均値、極大値平均値にそれぞれ0がセットされ、RAM63の診断切替フラグ記憶エリア(図示せず)又はパラメータ記憶エリア635に記憶する処理が実行される。
次に、図5に示すメイン処理において実行される第2の実施形態の異常診断処理(S30)を図7および図8のフローチャートを参照して説明する。図7および図8は、図5に示すメイン処理において実行される第2の実施形態に係る異常診断処理の流れを示すフローチャートである。なお、図7および図8に示す各処理を実行させるプログラムは、ROM62に記憶されており、ECU60において実行される他のプログラム同様、図1に示すCPU61により実行される。なお、図7および図8のフローチャートにおいて、図6のフローチャートに示す第1の実施形態の異常診断処理と同様な処理を実行する場合には、同じステップ番号を付与している。第1の実施形態と同様な処理については説明を省略又は簡略化し、以下、第1の実施形態の異常診断処理とは異なる処理について詳述する。
図7のフローチャートにおいて、S305,S310,および、S315の処理は、図6のフローチャートに示す第1の実施形態と同様であるため、説明を省略する。S305,S310,又は、S315の条件を満たしていないと判断される場合には(S305:No,S310:No又はS315:No)、異常診断処理に用いられるパラメータであるセンサ出力値の極大値、極大値取得回数、極大値未得回数、aより大きい回数、b未満回数にそれぞれ0がセットされ、RAM63のパラメータ記憶エリア635に記憶される(S451)。さらに第2の実施形態では、極大値未得回数が所定数C以上である場合に、ガスセンサ2が異常状態にあるか否かを補完的に診断する処理に用いられるパラメータである極大値積算、診断切替フラグ、センサ出力値積算、平均値カウンタ、センサ出力平均値、および、極大値平均値にそれぞれ0がセットされ、RAM63の診断切替フラグ記憶エリア(図示せず)又はパラメータ記憶エリア635に記憶される(S451)。続いて、異常診断処理を終了し、図5のメイン処理に戻る。
S315において、F/C開始から所定時間X1経過していると判断される場合には(S315:Yes)、続いてセンサ出力値が取得される(S320)。この処理は、第1の実施形態と同様であるので説明を省略する。S320に続いて、RAM63の診断切替フラグ記憶エリア(図示せず)が参照され、診断切替フラグに0がセットされているか否かが判断される(S323)。診断切替フラグが0ではないと判断される場合(S323:No)の処理は後述する。一方、診断切替フラグが0であると判断される場合には(S323:Yes)、続いて、図8のフローチャートに示すように、S325の処理が実行される。このS325の処理は第1の実施形態と同様であるので説明を省略する。
S325においてn−2番目のセンサ出力値がn−1番目のセンサ出力値以下、かつ、n−1番目のセンサ出力値がn番目のセンサ出力値より大きい条件を満たすと判断される場合には(S325:Yes)、続いて、図6のフローチャートに示す第1の実施形態と同様のS330の処理が実行される。続いて、極大値積算にS330において取得された極大値が積算され、パラメータ記憶エリア635に記憶される(S333)。続いて、極大値取得時処理が実行される(S700)。この処理では、図6のフローチャートに示す第1の実施形態のS335〜S390と同様の処理が実行される。
一方、S325において、n−2番目のセンサ出力値がn−1番目のセンサ出力値以下、かつ、n−1番目のセンサ出力値がn番目のセンサ出力値より大きい条件を満たしていないと判断される場合には(S325:No)、続いて第1の実施形態と同様のS405,S410の処理が順に実行される。S410において極大値未得回数が所定数C未満であると判断される場合には(S410:No)、異常診断処理を終了し、図5に示すメイン処理に戻る。一方、極大値未得回数が所定数C以上であると判断される場合には(S410:Yes)、続いて、パラメータ記憶エリア635の極大値取得回数が参照され、極大値取得回数が、所定数Dより大きく、かつ、所定数A未満であるか否かが判断される(S605)。この処理は、極大値未得回数が所定数C未満であると判断された時点での極大値取得回数に応じて、極値として取得されなかったセンサ出力値が第2所定数に達したときに実行される処理を決定するための処理である。なお、所定数Aおよび所定数Dは、ガスセンサ2の特性や用途、センサ出力値が取得される所定間隔等に応じて適宜定められる。第2の実施形態では、所定数Aは図6のフローチャートに示す第1の実施形態のS360と同様であって15と定められ、所定数Dは5と定められている。
極大値取得回数が、所定数Dより大きく、かつ、所定数A未満ではない場合には(S605:No)、続いて、極大値取得回数が所定数D以下であるか否かが判断される(S645)。極大値取得回数が所定数D以下である場合には(S645:Yes)、続いて、診断切替フラグに1がセットされ、診断切替フラグ記憶エリア(図示せず)に記憶される(S650)。この診断切替フラグが1である場合には、後述するように、極大値未得回数が所定数Cに達した時以後に取得した所定数Eのセンサ出力値から算出したセンサ出力平均値を用いて、ガスセンサ2が異常状態であるか否かを判断する処理が実行される(S505〜S550)。続いて、異常診断処理を終了し、図5のメイン処理に戻る。一方、極大値取得回数が所定数D以下ではない場合には(S645:No)、続いて、異常診断処理を終了し、図5のメイン処理に戻る。
S605において、極大値取得回数が、所定数Dより大きく、かつ、所定数A未満である場合には(S605:Yes)、続いて、極大値積算を極大値取得回数で除して極大値平均値が算出され、パラメータ記憶エリア635に記憶される(S610)。この極大値平均値は、本発明の「極値を平均化処理した値」に相当する。続いて、パラメータ記憶エリア635の極大値平均値が参照され、極大値平均値が上限値aより大きいか否かが判断される(S615)。S615における上限値aは本発明の「第4閾値」に相当する値である。極大値平均値が上限値aより大きいと判断される場合には(S615:Yes)、ガスセンサ2の検出感度が大きすぎる「ゲイン大異常」であると診断され、その診断結果は診断結果記憶エリア637に記憶される(S625)。一方S615において、極大値平均値が上限値aより大きくはないと判断される場合には(S615:No)、続いて、極大値平均値が下限値b未満か否かが判断される(S620)。S620における下限値bは、上限値aとともに本発明の「第4閾値」に相当する値である。極大値平均値が下限値b未満であると判断される場合には(S620:Yes)、ガスセンサ2の検出感度が小さすぎる「ゲイン小異常」であると診断され、その診断結果は診断結果記憶エリア637に記憶される(S630)。一方、極大値平均値が下限値b未満ではないと判断される場合には(S620:No)、ガスセンサ2は正常であると診断され、その診断結果が診断結果記憶エリア637に記憶される(S635)。
このように、極大値未得回数が所定数Cに達したとき(S410:Yes)、第4閾値に相当する上限値aおよび下限値bと極大値平均値とをそれぞれ比較して(S615,S620)、ガスセンサ2が異常状態にあるか否かを診断する処理(S625,S630,S635)は、本発明の異常診断工程に相当する処理である。なお、第2の実施形態では第4閾値として、図6のフローチャートに示す第1の実施形態のS335およびS340において用いた上限値aおよび下限値bと同じ値を用いていたが、上限値aおよび下限値bとは異なる値を用いるようにしてもよい。また第2の実施形態では第4閾値として、2つの異なる値である上限値aと下限値bとを用いていたが、いずれか一方を用いるようにしてもよい。但し、より精度の高い的確な診断を実施するためには、第2の実施形態のように2つの異なる第4閾値を用いることが好ましい。
S625,S630又はS635に続いて、計測完了フラグに、異常診断処理が実施されたことを示す1がセットされ、計測完了フラグ記憶エリア636に記憶される(S640)。この処理は、図6のフローチャートに示す第1の実施形態のS390と同様の処理である。続いて、異常診断処理を終了し、図5に示すメイン処理に戻る。
S323において、診断切替フラグが1であり、0ではないと判断される場合には(S323:No)、続いて、センサ出力値積算にS320において取得したセンサ出力値が加算され、パラメータ記憶エリア635に記憶される(S505)。続いて、平均値カウンタが1増加(インクリメント)され、パラメータ記憶エリア635に記憶される(S510)。続いて、パラメータ記憶エリア635の平均値カウンタが参照され、平均値カウンタが所定数E以上であるか否かが判断される(S515)。この所定数Eは本発明の第3所定数に相当する数であり、ガスセンサ2の特性や用途、センサ出力値が取得される所定間隔等に応じて適宜定められ、第2の実施形態では5と定められる。平均値カウンタが所定数E以上ではないと判断される場合には(S515:No)、続いて、異常診断処理を終了し、図5に示すメイン処理に戻る。一方、平均値カウンタが所定数E以上であると判断される場合には(S515:Yes)、続いて、センサ出力値積算を所定数E(平均値カウンタ)で除してセンサ出力平均値が算出され、パラメータ記憶エリア635に記憶される(S520)。このセンサ出力平均値は、本発明の「第3所定数のセンサ出力値を平均化処理した値」に相当する。
続いて、パラメータ記憶エリア635のセンサ出力平均値が参照され、センサ出力平均値が上限値aより大きいか否かが判断される(S525)。S525における上限値aは本発明の「第2閾値」および「第3閾値」に相当する値である。センサ出力平均値が上限値aより大きいと判断される場合には(S525:Yes)、ガスセンサ2の検出感度が大きすぎる「ゲイン大異常」であると診断され、その診断結果は診断結果記憶エリア637に記憶される(S535)。一方S525において、センサ出力平均値が上限値aより大きくはないと判断される場合には(S525:No)、続いて、センサ出力平均値が下限値b未満か否かが判断される(S530)。S530における下限値bは、上限値aとともに本発明の「第2閾値」および「第3閾値」に相当する値である。センサ出力平均値が下限値b未満であると判断される場合には(S530:Yes)、ガスセンサ2の検出感度が小さすぎる「ゲイン小異常」であると診断され、その診断結果は診断結果記憶エリア637に記憶される(S540)。一方、センサ出力平均値が下限値b未満ではないと判断される場合には(S530:No)、ガスセンサ2は正常であると診断され、その診断結果が診断結果記憶エリア637に記憶される(S545)。
このように、極大値未得回数が所定数Cに達したとき(S410:Yes)極大値未得回数が所定数Cに達した時以後に取得した所定数Eのセンサ出力値から算出したセンサ出力平均値と、上限値aおよび下限値bとをそれぞれ比較して(S525,S530)、ガスセンサ2が異常状態にあるか否かを診断する処理は(S535,S540,S545)、本発明の異常診断工程に相当する処理である。なお、第2の実施形態では第3閾値(第2閾値)として、図6のフローチャートに示す第1の実施形態のS335およびS340において用いた上限値aおよび下限値bと同じ値を用いていたが、上限値aおよび下限値bとは異なる値を用いるようにしてもよい。また第2の実施形態では第3閾値(第2閾値)として、2つの異なる値である上限値aと下限値bとを用いていたが、いずれか一方を用いるようにしてもよい。但し、より精度の高い的確な診断を実施するためには、第2の実施形態のように2つの異なる第3閾値(第2閾値)を用いることが好ましい。
S535,S540又はS545に続いて、計測完了フラグに、異常診断処理が実施されたことを示す1がセットされ、計測完了フラグ記憶エリア636に記憶される(S550)。この処理は、図6のフローチャートに示す第1の実施形態のS390と同様の処理である。続いて、異常診断処理を終了し、図5に示すメイン処理に戻る。
以上の詳述したように第2の実施形態の異常診断処理が実行される。なお上記第2の実施形態において、図7に示すフローチャートのS320において取得されたセンサ出力値のうち、極大値として取得されなかった(S325:No)センサ出力値の数が所定数Cに達したとき(S410:Yes)、所定数Cに達した時以後のセンサ出力値を所定数E取得して(S320)積算し(S505)、それら所定数Eのセンサ出力値の平均値であるセンサ出力平均値と、上限値aおよび下限値bとそれぞれを比較して(S525,S530)、ガスセンサ2が異常状態にあるか否かを診断する(S535,S540,S545)、図1に示すCPU61は、本発明の異常診断手段として機能する。
図7に示すフローチャートのS320において取得されたセンサ出力値のうち、極大値として取得されなかった(S325:No)センサ出力値の数が所定数Cに達したとき(S410:Yes)、極大値平均値と、上限値aおよび下限値bとをそれぞれ比較して(S615,S620)、ガスセンサ2が異常状態にあるか否かを診断する(S625,S630,S635)、図1に示すCPU61は、本発明の異常診断手段として機能する。
上記第2の実施形態の異常診断方法によれば、極大値として取得されなかったセンサ出力値が所定数Cに達したとき(S410:Yes)、極大値取得回数に応じて(S605)、S610〜S640の処理と、S520〜S550の処理とを切り替える。極大値取得回数が所定数D以下である場合には(S605:No,S645:Yes)、所定数Cに達した時以後に所定数Eのセンサ出力値を取得して(S320)積算し(S505)、それらの平均値を求め(S520)、このセンサ出力平均値と上限値aおよび下限値bとを比較して(S525,S530)、ガスセンサが異常状態にあるか否かを診断している(S535,S540,S545)。第3所定数のセンサ出力値の平均値を用いて診断することにより、1個のセンサ出力値を用いてガスセンサが異常状態であるか否かを診断する場合に比べ、ノイズ等の特異なセンサ出力値が偶発的に取得された場合の影響を小さくすることができる。
一方、極大値取得回数が所定数Dより大きく、かつ、所定数A未満である場合には(S605:Yes)、それまでに取得した極大値平均値と、上限値aおよび下限値bとを比較して(S615,S620)、ガスセンサが異常状態にあるか否かを診断している(S625,S630,S635)。
このように、第2の実施形態によれば、燃料供給の中断が検出される前の内燃機関の運転状態等が影響してセンサ出力値の極値が第1所定数取得できなかった場合であっても、ガスセンサが異常状態にあるか否かを補完的に、かつ、的確に判断することができる。さらに、極大値取得回数に応じて診断方法を切り替えることにより、極大値取得回数に適した診断方法により、的確にガスセンサが異常状態にあるか否かを診断することができる。
なお、本発明は上記第1および第2の実施形態に限られず、本発明の要旨を逸脱しない範囲内において種々変更を加えてもよい。例えば、第1および第2の実施形態では、排気ガス中の特定ガスとして酸素を検出するガスセンサ2が、異常状態にあるか否かを診断する場合について説明したが、異常診断の対象となるガスセンサとしては、特定ガス成分として酸素濃度を検出するガスセンサに限定されず、HC,CO,NOx等を特定ガス成分とし、それらの濃度を検出するガスセンサを適用することもできる。
また第1の実施形態では、図6に示す異常診断処理において、ゲイン大異常であるか否かを診断する処理(S365,S415)と、ゲイン小異常であるか否かを診断する処理(S370)を実施するようにしていたが、これらの処理はいずれか1つのみを実施するようにしてもよいし、任意の2つの組合せを実施するようにしてもよい。但し、より精度の高い的確な診断を実施するためには、第1の実施形態のように2つの異なる第1閾値である上限値と下限値とを用いて、ガスセンサが異常状態にあるか否かを診断することが好ましい。
また第1および第2の実施形態では、図6に示す異常診断処理のS325において、取得順序が連続する直近の3つのセンサ出力値、即ち、取得順序がn−2番目、n−1番目、および、n番目を取得して、n−2番目のセンサ出力値がn−1番目のセンサ出力値以下、かつ、n−1番目のセンサ出力値がn番目のセンサ出力値より大きい条件を満たすか否かが判断し、n−1番目のセンサ出力値が極大値であるか否かを判断していたが(S325)、この処理は極値を取得する処理であればよくこの方法に限定されない。したがって、例えば、極値の出現周期が予め分かっている場合には、極値の取得開始後、最初に取得する極値のみ第1の実施形態のように取得順序が連続する3つのセンサ出力値を用いて、その3つのセンサ出力値のうち、2番目のセンサ出力値が極値であるか否かを判断して取得し、その後は、最初に取得された極値が取得されたタイミングと、極値の出現頻度とに基づき極値を取得するようにしてもよい。
また第1の実施形態では図6に示す異常診断処理において、第2の実施形態では図7および図8に示す異常診断処理において、本発明の極値として極大値を用いるようにしていたが、これに限定されず、極値として極小値を用いるようにしてもよいし、極大値と極小値の双方を用いるようにしてもよい。さらに、第1および第2の実施形態では、イグニッションスイッチがONされるごとに1回だけ、ガスセンサの異常診断処理を行う処理としたが、これに限定されず、イグニッションスイッチがONされてOFFされるまでの間に複数回、ガスセンサの異常診断処理を行うようにしてもよい。
また第1の実施形態では、図6に示す異常診断処理のS335において、極大値が上限値aよりも大きいと判断される極大値の数を、aより大きい回数として算出し、S365においてaより大きい回数が所定数B以上である場合に(S365:Yes)、ガスセンサ2がゲイン大異常である判断していたが(S375)、これに限定されない。例えば、S335において、極大値が上限値以下と判断される極大値の数を、上限値a以下回数として算出し、S365において、その上限値a以下回数が所定数B未満であるか否かを判断し、上限値a以下回数が所定数B未満であると判断される場合に、ガスセンサ2がゲイン大異常である判断するようにしてもよい。図6に示す第1の実施形態の異常診断処理のS340およびS370における処理、および、図7および図8に示す第2の実施形態の異常診断処理のS700における処理においても同様である。
また第1の実施形態では、図6に示す異常診断処理のS415において、直近のセンサ出力値であるn番目のセンサ出力値と上限値aとを比較してガスセンサ2が異常状態にあるか否かを診断していたが、同様に、直近のセンサ出力値であるn番目のセンサ出力値と下限値bとを比較して、n番目のセンサ出力値が下限値bより小さい場合には「ゲイン小異常」であり、n番目のセンサ出力値が下限値b以上である場合には正常な状態であると判断するようにしてもよい。また、図6に示す異常診断処理のS415において、所定数Cに達した時以後に取得した1又は複数のセンサ出力値と上限値aとを比較してガスセンサ2が異常状態にあるか否かを診断するようにしてもよい。
また第2の実施形態では、図7に示すフローチャートのS320において取得されたセンサ出力値のうち、極大値として取得されなかった(S325:No)センサ出力値の数が所定数Cに達したとき(S410:Yes)の処理として、極大値取得回数に応じて(S605)、図8のフローチャートに示すS610〜S640の処理と、図7のフローチャートに示すS520〜S550の処理とを切り替えるようにしていたが、これに限定されない。例えば、極大値取得回数に関わらず、S610〜S640の処理およびS520〜S550の処理のいずれかを実行させるようにしてもよいし、極大値取得回数に応じて、S610〜S640の処理およびS520〜S550の処理のいずれかと、図6のフローチャートに示す第1の実施形態のS415〜S430とを切り替えるようにしてもよい。ただし、S610〜S640の処理は、センサ出力値の数が所定数Cに達した時点で、極値が1以上取得されていないと実施できないため、第2の実施形態のようにガスセンサ2が異常状態にあるか否かを診断できる別の処理も別途実施できる構成にすることが好ましい。
また第2の実施形態では、この所定数Cに達した時以後に取得した1又は複数のセンサ出力値と上限値a(下限値b)とを比較してガスセンサ2が異常状態にあるか否かを診断すればよく、図7のフローチャートに示すS520〜S550の処理に限定されない。例えば、所定数Cに達した時以後に取得した複数のセンサ出力値の積算値と第2閾値とを比較するようにしてもよい。
また、第2の実施形態の第3閾値(第2閾値)および第4閾値は、第1閾値と同様の値を設定していたが、これに限定されず、それぞれ別の値を設定するようにしてもよい。