(57)【要約】  空燃比センサ応答特性の異常を精度良く６つの劣化モードに分類する技術を提供する。本開示は、内燃機関に取り付けられた空燃比センサの応答遅れを検出するマイクロプロセッサを備える制御装置であって、マイクロプロセッサが目標空燃比をリーンおよびリッチ間で変化させる目標空燃比変更部と、目標空燃比変更部によって目標空燃比を前記リーンおよびリッチ間で変化させた場合に、空燃比センサから出力される実空燃比センサ信号において生じる空燃比センサの応答遅れを検出する応答遅れ検出部と、を有する制御装置を提供する。
2020008842.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関に取り付けられた空燃比センサの応答遅れを検出するマイクロプロセッサを備える制御装置であって、
前記マイクロプロセッサは、
目標空燃比をリーンおよびリッチ間で変化させる目標空燃比変更部と、
前記目標空燃比変更部によって前記目標空燃比を前記リーンおよび前記リッチ間で変化させた場合に、前記空燃比センサから出力される実空燃比センサ信号において生じる前記空燃比センサの応答遅れを検出する応答遅れ検出部と、を有する制御装置。
【請求項２】
請求項１において、
前記マイクロプロセッサは、さらに、
前記応答遅れ検出部によって検出された応答遅れが所定の応答遅れＮＧ閾値よりも大きいか判断することにより応答遅れの異常を検出する応答遅れ異常検出部を有する制御装置。
【請求項３】
請求項２において、
前記マイクロプロセッサは、さらに、
前記実空燃比センサ信号の変化を算出し、所定期間における負の変化の回数と正の変化の回数との比の値に基づいて、前記応答遅れの種類を判定する第１故障モード判定部を有する制御装置。
【請求項４】
請求項３において、
前記第１故障モード判定部は、前記実空燃比センサ信号の微分値がゼロ未満の時に負のカウンタをインクリメントして前記負の変化の回数を算出し、前記実空燃比センサ信号の微分値がゼロ以上の時に正のカウンタをインクリメントして前記正の変化の回数を算出し、前記所定期間における前記負のカウンタの値と前記正のカウンタの値との比率から、故障モード１、故障モード２、および故障モード３を判別する、制御装置。
【請求項５】
請求項４において、
前記故障モード１は、前記目標空燃比変更部によって前記目標空燃比をリーンからリッチに変化させた場合に、前記実空燃比センサ信号に第１応答時定数遅れが生じるモードであり、
前記故障モード２は、前記目標空燃比変更部によって前記目標空燃比をリッチからリーンに変化させた場合に、前記実空燃比センサ信号に第２応答時定数遅れが生じるモードであり、
前記故障モード３は、前記目標空燃比変更部によって前記目標空燃比をリーンからリッチに変化させた場合、およびリッチからからリーンに変化させた場合の双方で、前記実空燃比センサ信号に第３応答時定数遅れが生じるモードである、制御装置。
【請求項６】
請求項３において、
マイクロプロセッサは、さらに、
前記応答遅れの異常がある場合の前記第１故障モード判定部によって判定された前記応答遅れの種類の情報に基づいて、前記応答遅れの異常の種類を判定する第１応答劣化異常判定部を有する制御装置。
【請求項７】
請求項１において、
前記マイクロプロセッサは、さらに、
前記目標空燃比と、前記実空燃比センサ信号との時間ずれから無駄時間を検出する無駄時間検出部と、
前記無駄時間検出部によって検出された無駄時間が所定の無駄時間ＮＧ閾値よりも長いか判断することにより無駄時間の異常を検出する無駄時間異常検出部と、を有する制御装置。
【請求項８】
請求項７において、
前記マイクロプロセッサは、さらに、
前記空燃比センサから出力される実空燃比センサ信号の変化を算出し、所定期間における、変化がゼロの回数、負の変化の回数、および正の変化の回数のそれぞれ間の関係に基づいて、前記無駄時間の種類を判定する第２故障モード判定部を有する制御装置。
【請求項９】
請求項８において、
前記第２故障モード判定部は、前記実空燃比センサ信号の微分値がゼロの時にゼロのカウンタをインクリメントして前記変化がゼロの回数を算出し、前記実空燃比センサ信号の微分値が正の時に正のカウンタをインクリメントして前記正の変化の回数を算出し、前記実空燃比センサ信号の微分値が負の時に負のカウンタをインクリメントして前記負の変化の回数を算出し、前記ゼロのカウンタの値と前記正のカウンタの値と前記負のカウンタの値における差分関係から、故障モード４、故障モード５、および故障モード６を判別する、制御装置。
【請求項１０】
請求項９において、
前記故障モード４は、前記目標空燃比変更部によって前記目標空燃比をリーンからリッチに変化させた場合に、前記実空燃比センサ信号において、前記目標空燃比がリーン方向に立ち上がった時点から前記実空燃比センサ信号がリーン方向に立ち上がるまでの時間差である第１無駄時間が存在する故障モードであり、
前記故障モード５は、前記目標空燃比変更部によって前記目標空燃比をリッチからリーンに変化させた場合に、前記実空燃比センサ信号において、前記目標空燃比がリッチ方向に立ち上がった時点から前記実空燃比センサ信号がリッチ方向に立ち上がるまでの時間差である第２無駄時間が存在する故障モードであり、
前記故障モード６は、前記目標空燃比変更部によって前記目標空燃比をリーンとリッチの間で変化させた場合に、前記実空燃比センサ信号において、前記第１および第２無駄時間の両方が存在する故障モードである、制御装置。
【請求項１１】
請求項８において、
前記マイクロプロセッサは、さらに、
前記無駄時間の異常がある場合の前記第２故障モード判定部によって判定された前記無駄時間の種類の情報に基づいて、前記無駄時間の異常の種類を判定する第２応答劣化異常判定部を有する制御装置。
【請求項１２】
内燃機関に取り付けられた空燃比センサの応答遅れを検出するマイクロプロセッサを備える制御装置であって、
前記マイクロプロセッサは、
目標空燃比をリーンおよびリッチ間で変化させる目標空燃比変更部と、
前記目標空燃比変更部によって前記目標空燃比をリーンからリッチに変化させた場合に生じる前記空燃比センサの第１応答遅れと、前記目標空燃比をリッチからリーンに変化させた場合に生じる前記空燃比センサの第２応答遅れと、前記目標空燃比をリーンからリッチに変化した場合、およびリッチからリーンに変化した場合の双方で生じる前記空燃比センサの第３応答遅れと、を前記空燃比センサから出力される実空燃比センサ信号と設定された閾値とに基づいて検出する応答遅れ検出部と、
前記実空燃比センサ信号の傾きを検出する傾き検出部と、
前記傾き検出部により検出された前記傾きが正となっている期間と、前記傾きが負となっている期間との比率に基づいて、前記応答遅れ検出部により検出された応答遅れが前記第１応答遅れか、前記第２応答遅れか、あるいは前記第３応答遅れの何れであるかを判断する判断部と、を有する制御装置。
【請求項１３】
内燃機関に取り付けられた空燃比センサの応答遅れを検出するマイクロプロセッサを備える制御装置であって、
前記マイクロプロセッサは、
目標空燃比をリーンおよびリッチ間で変化させる目標空燃比変更部と、
前記目標空燃比変更部によって前記目標空燃比を前記リーンおよび前記リッチ間で変化させた場合に、前記空燃比センサから出力される実空燃比センサ信号において生じる前記空燃比センサの応答遅れを検出する応答遅れ検出部と、
前記応答遅れ検出部によって検出された応答遅れが所定の応答遅れＮＧ閾値よりも大きいか判断することにより応答遅れの異常を検出する応答遅れ異常検出部と、
前記実空燃比センサ信号の変化を算出し、所定期間における負の変化の回数と正の変化の回数との比の値に基づいて、前記応答遅れの種類を判定する第１故障モード判定部と、
前記応答遅れの異常がある場合の前記第１故障モード判定部によって判定された前記応答遅れの種類の情報に基づいて、前記応答遅れの異常の種類を判定する第１応答劣化異常判定部と、
前記目標空燃比と、前記実空燃比センサ信号との時間ずれから無駄時間を検出する無駄時間検出部と、
前記無駄時間検出部によって検出された無駄時間が所定の無駄時間ＮＧ閾値よりも長いか判断することにより無駄時間の異常を検出する無駄時間異常検出部と、
前記空燃比センサから出力される実空燃比センサ信号の変化を算出し、所定期間における、変化がゼロの回数、負の変化の回数、および正の変化の回数のそれぞれ間の関係に基づいて、前記無駄時間の種類を判定する第２故障モード判定部と、
前記無駄時間の異常がある場合の前記第２故障モード判定部によって判定された前記無駄時間の種類の情報に基づいて、前記無駄時間の異常の種類を判定する第２応答劣化異常判定部と、
前記第１応答劣化異常判定部と前記第２応答劣化異常判定部の判定結果に基づいて、前記空燃比センサの最終的な異常を判定する最終劣化異常判定部と、を有する制御装置。
【請求項１４】
請求項１３において、
前記第１故障モード判定部は、前記実空燃比センサ信号の微分値がゼロ未満の時に負のカウンタをインクリメントして前記負の変化の回数を算出し、前記実空燃比センサ信号の微分値がゼロ以上の時に正のカウンタをインクリメントして前記正の変化の回数を算出し、前記所定期間における前記負のカウンタの値と前記正のカウンタの値との比率から、故障モード１、故障モード２、および故障モード３を判別し、
前記故障モード１は、前記目標空燃比変更部によって前記目標空燃比をリーンからリッチに変化させた場合に、前記実空燃比センサ信号に第１応答時定数遅れが生じるモードであり、
前記故障モード２は、前記目標空燃比変更部によって前記目標空燃比をリッチからリーンに変化させた場合に、前記実空燃比センサ信号に第２応答時定数遅れが生じるモードであり、
前記故障モード３は、前記目標空燃比変更部によって前記目標空燃比をリーンからリッチに変化させた場合、およびリッチからからリーンに変化させた場合の双方で、前記実空燃比センサ信号に第３応答時定数遅れが生じるモードである、制御装置。
【請求項１５】
請求項１３において、
前記第２故障モード判定部は、前記実空燃比センサ信号の微分値がゼロの時にゼロのカウンタをインクリメントして前記変化がゼロの回数を算出し、前記実空燃比センサ信号の微分値が正の時に正のカウンタをインクリメントして前記正の変化の回数を算出し、前記実空燃比センサ信号の微分値が負の時に負のカウンタをインクリメントして前記負の変化の回数を算出し、前記ゼロのカウンタの値と前記正のカウンタの値と前記負のカウンタの値における差分関係から、故障モード４、故障モード５、および故障モード６を判別し、
前記故障モード４は、前記目標空燃比変更部によって前記目標空燃比をリーンからリッチに変化させた場合に、前記実空燃比センサ信号において、前記目標空燃比がリーン方向に立ち上がった時点から前記実空燃比センサ信号がリーン方向に立ち上がるまでの時間差である第１無駄時間が存在する故障モードであり、
前記故障モード５は、前記目標空燃比変更部によって前記目標空燃比をリッチからリーンに変化させた場合に、前記実空燃比センサ信号において、前記目標空燃比がリッチ方向に立ち上がった時点から前記実空燃比センサ信号がリッチ方向に立ち上がるまでの時間差である第２無駄時間が存在する故障モードであり、
前記故障モード６は、前記目標空燃比変更部によって前記目標空燃比をリーンとリッチの間で変化させた場合に、前記実空燃比センサ信号において、前記第１および第２無駄時間の両方が存在する故障モードである、制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、制御装置に関し、例えば、自動車の車載自己診断規制対応する技術に関する。
【背景技術】
【０００２】
自動車の有害排気ガスを減少させ、かつ燃費や運転性を向上させるための手段として、エンジン等内燃機関の排気ガス成分に関する情報によって、空燃比を制御するフィードバック方式の空燃比制御装置が実用化されている。【０００３】
上記の空燃比制御装置において、排気ガス成分の異常や、制御システム上での異常は、使用される空燃比センサ自身の故障や劣化により、制御を適正に行うことができない場合が生じる。特に上記の空燃比センサは、エンジン排気直後に設置されるため、高温、高圧や振動の影響、粗悪燃料等の影響を受けるため、劣化し易い傾向がある。【０００４】
特に、北米向けの自動車は、ＯＢＤＩＩ規制（車載自己診断装置の装着を義務付けた法律）に対応する必要があり、上記空燃比センサに排気規制値の１．５倍を超えるような故障が発生した場合、速やかに運転者に異常を警告し、修理を促す必要がある。したがって、空燃比センサの検出精度が何らかの原因で低下した時には、センサの交換等の適切な処置を施す必要がある。【０００５】
空燃比センサの応答特性は、該空燃比フィードバック制御によって、三元触媒の三元点に、実空燃比を良好に制御するため、正常な状態を保つ必要があり、この応答異常を検出することは、該ＯＢＤＩＩ規制において、必須な技術である。【０００６】
そこで、該空燃比センサ応答特性の診断に対し、６つの劣化モードを検出することが該OBDII規制で義務付けられた。この６つの劣化モードを検出するための方策が求められている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１２−１２７３５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
空燃比センサの応答特性を異常には、６つの劣化モードがある。これはOBDII規制の法規要求であり、必ず検出しなくてはならない。６つの劣化モードは、以下の通りである。
（i）リーン→リッチ応答時間異常（モード１）
（ii）リッチ→リーン応答時間異常（モード２）
（iii）リーン⇔リッチ応答時間異常（モード３）
（iv）リーン→リッチ無駄時間異常（モード４）
（v）リッチ→リーン無駄時間異常（モード５）
（vi）リーン⇔リッチ無駄時間異常（モード６）
OBDIIによれば、これらを的確に検出することが求められている。【０００９】
本開示はこのような状況に鑑みてなされたものであり、空燃比センサ応答特性の異常を精度良く分類する技術を提供する。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本開示は、内燃機関に取り付けられた空燃比センサの応答遅れを検出するマイクロプロセッサを備える制御装置であって、マイクロプロセッサは目標空燃比をリーンおよびリッチ間で変化させる目標空燃比変更部と、目標空燃比変更部によって目標空燃比を前記リーンおよびリッチ間で変化させた場合に、空燃比センサから出力される実空燃比センサ信号において生じる空燃比センサの応答遅れを検出する応答遅れ検出部と、を有する制御装置を提供する。【００１１】
本開示に関連する更なる特徴は、本明細書の記述、添付図面から明らかになるものである。また、本開示の態様は、要素及び多様な要素の組み合わせ及び以降の詳細な記述と添付される特許請求の範囲の様態により達成され実現される。【００１２】
本明細書の記述は典型的な例示に過ぎず、本開示の特許請求の範囲又は適用例を如何なる意味に於いても限定するものではないことを理解する必要がある。
【発明の効果】
【００１３】
本開示によれば、空燃比センサ応答特性の異常を精度良く６つの劣化モードに分類することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】本実施形態による空燃比センサ診断装置１の概略構成例を示すブロック図である。
【図２】本実施形態において診断対象となる内燃機関システムの構成例を示す図である。
【図３】既存の空燃比センサ応答劣化診断の動作を示す図である。
【図４】故障モード１から６を示す図である。
【図５】応答時間遅れの故障モードを検出する原理（時定数劣化診断の原理）を示す図である。
【図６】実際に空燃比センサ信号を応答劣化させた時の仮時定数指標と時定数指標との関係を示す図である。
【図７】故障モード１から３の空燃比センサ２０５の時定数と時定数指標との関係を示す図である。
【図８】故障モード１から３を判別する方法について説明するための図である。
【図９】故障モード１の時の時定数指標と時定数との関係を示す図である。
【図１０】故障モード２の時の時定数指標と時定数との関係を示す図である。
【図１１】故障モード３の時の時定数指標と時定数との関係を示す図である。
【図１２】故障モード１の時の判別結果を示す図である。
【図１３】故障モード２の時の判別結果を示す図である。
【図１４】故障モード３の時の判別結果を示す図である。
【図１５】目標空燃比センサ信号と、実空燃比センサ信号を矩形波とした場合の無駄時間の検出方法を模式的に示す図である。
【図１６】故障モード４から６の空燃比センサ２０５の無駄時間と劣化指標（積算タイマの平均値等）との関係を示す図である。
【図１７】空燃比センサ２０５の故障モード４から６（無駄時間劣化）を判別する方法について説明するための図である。
【図１８】故障モード４の時の無駄時間指標と無駄時間との関係を示す図である。
【図１９】故障モード５の時の無駄時間指標と無駄時間との関係を示す図である。
【図２０】故障モード６の時の無駄時間指標と無駄時間との関係を示す図である。
【図２１】故障モード４の時の判別結果を示す図である。
【図２２】故障モード５の時の判別結果を示す図である。
【図２３】故障モード６の時の判別結果を示す図である。
【図２４】本実施形態による診断領域（診断条件成立）判定処理を説明するためのフローチャートである。
【図２５】実空燃比センサ信号取得処理を説明するためのフローチャートである。
【図２６】本実施形態による目標空燃比を所定時間毎に振る制御（ディザ制御処理）を説明するためのフローチャートである。
【図２７】実空燃比センサ信号の反転回数Nを検出する処理（実空燃比センサ信号反転回数検出処理）を説明するためのフローチャートである。
【図２８】本実施形態による故障モード１から３を判別する処理（故障モード判別処理Ａ）を説明するためのフローチャートである。
【図２９】本実施形態による応答時定数を検出する処理（応答時定数検出処理）を説明するためのフローチャートである。
【図３０】故障モード４から６を判別する処理（故障モード判定処理Ｂ）を説明するためのフローチャートである。
【図３１】本実施形態による無駄時間を検出する処理（無駄時間検出処理）を説明するためのフローチャートである。
【図３２】図２８のモード判定Aと、図２９の応答時定数診断結果と、図３０のモード判定Bと、図３１の無駄時間診断の結果から、最終劣化異常判定をする処理（最終劣化異常判定処理）を説明するためのフローチャートである。
【発明を実施するための形態】
【００１５】
以下、実施形態に基づき、本開示による空燃比センサの診断装置（制御装置と称してもよい）について詳細に説明する。
【００１６】
＜空燃比センサ診断装置の構成例＞
図１は、本実施形態による空燃比センサ診断装置１の概略構成例を示すブロック図である。空燃比センサ診断装置１は、内燃機関制御装置２０７（図２参照）のＭＰＵ２０７１によって実現される。つまり、ＭＰＵ２０７１（図２参照）は、図１に示す空燃比センサ診断装置の各処理部（例えば、プログラムによって実現される）の機能を含んでいる。空燃比センサ診断装置１は、診断領域（診断条件：空燃比センサ２０５の診断を実行するための条件が整ったか）に達したか未達かについて判定する診断領域判定部１０１と、目標空燃比（目標のガスの酸素濃度）をリッチまたはリーンに振る目標空燃比変更部１０２と、実空燃比を検出する実空燃比検出部１０３と、目標空燃比を検出する目標空燃比検出部１０４と、リーン→リッチ応答時定数、リッチ→リーン応答時定数、リーン⇔リッチの応答時定数を検出する応答時定数検出部１０５と、無駄時間１、無駄時間２、および無駄時間１＋無駄時間２を検出する無駄時間検出部１０６と、リーン→リッチの応答時定数遅れ、リッチ→リーン応答時定数遅れ、リーン⇔リッチの応答時定数遅れが、それぞれの閾値を超えた場合、異常と判定する応答時定数遅れの異常検出部１０７と、無駄時間１、無駄時間２、および無駄時間１＋無駄時間２が、それぞれの閾値を超えた場合、異常と判定する無駄時間遅れの異常検出部１０８と、故障モード１、故障モード２、および故障モード３（図４参照）を判別する故障モード判定部Ａ１０９と、故障モード４、故障モード５、および故障モード６（図４参照）を判別する故障モード判定手段Ｂ１１０と、応答時定数遅れの異常検出部１０７による検出結果と故障モード判定部Ａ１０９の判定結果に基づいて、応答遅れの異常の種類を判定する応答劣化異常判定部Ａ１１１と、無駄時間遅れの異常検出部１０８による結果と故障モード判定部Ｂ１１０の判定結果に基づいて、無駄時間遅れの異常の種類を判定する応答劣化異常判定部Ｂ１１２と、最終的な故障モードを判定する（応答時定数遅れの異常検出部１０７で検出した異常、または無駄時間遅れの異常検出部１０８で検出した異常が６つのどの故障モードであるかを判定する）最終劣化異常判定部１１３と、を備えている。
【００１７】
なお、各処理部１０１から１１３は、例えば、プログラムで実現される。実際に動作する際には、ＭＰＵ２０７１がメモリ（例えば、内燃機関制御装置２０７のＲＯＭ）から当該プログラムを読み込み、ＭＰＵ２０７１の内部メモリ（図示せず）に展開して、各処理部１０１から１１３を生成することになる。
【００１８】
＜内燃機関システムの構成例＞
図２は、本実施形態において診断対象となる内燃機関システムの構成例を示す図である。内燃機関システムは、内燃機関と、吸気系と、排気系とを含む。内燃機関は、点火装置２０１と、燃料噴射装置２０２と、回転数検出装置２０３と、を備えている。エアークリーナ２００から流入される空気は、スロットルバルブ２１３で流量が調節された後、流量検出装置２０４で流量を計り、燃料噴射装置２０２から所定の角度で噴射される燃料と混合されて各気筒２１４に供給される。また、排気系は、空燃比センサ２０５と、三元触媒２０６とを備えている。排気ガスは三元触媒２０６で浄化された後に、大気に排出される。
【００１９】
内燃機関制御装置２０７は、流量検出装置２０４の出力信号Ｑａと回転数検出装置２０３によってリングギアまたはプレート２０８の回転数Ｎｅを取り込み、燃料噴射量Ｔｉを計算し、燃料噴射装置の噴射量を制御する。
【００２０】
また、内燃機関制御装置２０７は、空燃比センサ２０５が検出した内燃機関内の空燃比を取得し、内燃機関内の空燃比を理論空燃比になるように燃料噴射量Ｔｉを補正する空燃比フィードバック制御を行う。また、触媒後の空燃比を酸素センサ２１５で検出する。
【００２１】
一方、燃料タンク２０９内の燃料は、燃料ポンプ２１０によって、吸引・加圧された後、プレッシャーレギュレータ２１１を備えた燃料管２１２を通って該燃料噴射装置２０２の燃料入口に導かれ、余分な燃料は、燃料タンク２０９に戻される。
以上が、対象となる内燃機関システムの動作概要である。
【００２２】
＜空燃比センサ応答劣化診断動作＞
（i）既存の空燃比センサ応答劣化判断について
図３は、既存の空燃比センサ応答劣化診断の動作を示す図である。空燃比センサ応答劣化診断は、診断領域（診断条件とも言う。以下、同様）が成立してからの時間を計測し、その間のリッチリーン反転回数を計測する。診断領域が成立してから所定の判定時間経過時に、リッチリーン反転回数のカウンタ値が、所定の閾値以上の場合は、正常と判定し、所定の閾値未満の場合は、異常と判定する。図３の場合は、正常時の動作を示している。
【００２３】
しかし、この既存の方法では、ＯＢＤＩＩ規制対応として、図４に示す６つの故障モードの劣化を判別（区別）することができない。そこで、本開示の実施形態は、図４に示す６つの故障モードの劣化を判別し、異常と判定する技術を提供する。
【００２４】
（ii）故障モード１から６について
図４は、故障モード１から６を示す図である。故障モード１は、指令値をリーンおよびリッチ間で振り、リーンからリッチに移行するときに応答時定数の遅れ（所定閾値以上）が存在するケースである。故障モード２は、指令値をリーンおよびリッチ間で振り、リッチからリーンに移行するときに応答時定数の遅れ（所定閾値以上）が存在するケースである。故障モード３は、指令値をリーンおよびリッチ間で振り、リーンからリッチに移行するとき、およびリッチからリーンに移行するときの両方に応答時定数の遅れ（所定閾値以上）が存在するケースである。
【００２５】
無駄時間遅れは、無駄時間１と無駄時間２という２種類の無駄時間を含む。無駄時間１は、指令値をリーンおよびリッチ間で振り、その時の目標空燃比と実空燃比において、目標空燃比がリーンに立ち上がった時点から実空燃比センサ信号がリーンに立ち上がるまでの時間差を示している。無駄時間２は、目標空燃比がリッチに立ち下がった時点から、実空燃比センサ信号がリッチに立ち下がるまでの時間差を示している。故障モード３は、無駄時間１（所定閾値以上）が存在するケースである。故障モード４は、無駄時間２（所定閾値以上）が存在するケースである。故障モード６は、無駄時間１と無駄時間２の両方（所定閾値以上）が存在するケースである。
【００２６】
（iii）図４に示す応答時間遅れの故障モード１から３の検出方法について
図５は、応答時間遅れの故障モードを検出する原理（時定数劣化診断の原理）を示す図である。
【００２７】
目標空燃比を所定時間間隔でリッチ→リーン、リーン→リッチに振る。その際、仮時定数指標（仮応答劣化指標）は式（１）のように表すことができる。なお、１／τはＯ２センサで応答劣化診断でも用いられる指標である。１／τが求まるのであれば、応答時間遅れの故障モードを検出する場合に、その逆数を取り、時定数τそのものを求めればよいという考えに基づく原理である。
【００２８】
【数１】
2020008842.tif 000003
式（１）において、T＞τが成立するためには、式（２）が成り立たなければならない。
【００２９】
【数２】
2020008842.tif 000004
【００３０】
よって、式（２）からは、仮時定数指標が応答時定数に反比例するパラメータであることが分かる。そこで、式（２）の逆数を取ることで、時定数τに比例する時定数指標を得ることができる（式（３）参照）。
【００３１】
【数３】
2020008842.tif 000005
【００３２】
＜時定数劣化診断の時定数指標と時定数との関係＞
図６は、実際に空燃比センサ信号を応答劣化させた時の仮時定数指標と時定数指標との関係を示す図である。図６において、左図からは、仮時定数指標が時定数に対して反比例の関係であることが分かる。これより、その逆数をとれば、時定数に比例した時定数指標を算出できることになる（図６の右図参照）。
【００３３】
そして、リッチ→リーン時定数指標が所定のNG閾値より大きくなった場合、リッチ→リーン応答時定数異常が発生したと判定される。また、リーン→リッチ時定数指標が所定のNG閾値より大きくなった場合、リーン→リッチ応答時定数異常が発生したと判定する。
【００３４】
＜空燃比センサの時定数と時定数指標との関係＞
図７は、故障モード１から３の空燃比センサ２０５の時定数と時定数指標との関係を示す図である。図７は、故障モード１〜３の時定数劣化診断の時定数指標と時定数との関係（図６の右図）のそれぞれを１つのグラフとして表したものである。
【００３５】
図７に示す通り、グラフ上、故障モード１から３の曲線は重なっている。このため、例えば閾値を１．５に設定した場合、故障モード１から３の全てをＮＧ判定してしまい、どの故障モードか判別がつかない。そこで、各故障モードを判別する必要があることが分かる。つまり、各モードについてそれぞれＮＧ閾値を設定しなければ、故障モードを正確に検出（診断）することができないということである。
【００３６】
＜空燃比センサにおける故障モード１から３の判別について＞
図８は、故障モード１から３を判別する方法について説明するための図である。故障モード判定部Ａ１０９における処理に対応する。
【００３７】
本実施形態は、空燃比センサ２０５の微分値の正と負の比率から、故障モードを判定する方式を採用しており、ロジックの都合上、カウンタ（図示せず：故障モード判定部Ａ１０９内に含まれる）を用いている。空燃比センサ２０５の微分値が「負」であれば、傾き「負」のカウンタＡをインクリメント（＋１する）し、傾き「正」のカウンタＡは保持する。一方、空燃比センサ２０５の微分値が「正」であれば、傾き「正」のカウンタＡをインクリメント（＋１する）し、傾き「負」のカウンタＡは保持する。
【００３８】
ところが、実際の空燃比センサ値には、細かいノイズが乗っており、空燃比センサ２０５の微分値が「正」でも、傾き「負」のカウンタＡが少々インクリメントされる。また、同様に、空燃比センサ２０５の微分値が「負」でも、傾き「正」のカウンタＡが少々インクリメントされる。特に、実空燃比センサ信号の動作時のにぶり具合が悪い時は、ノイズもにぶり、該傾き「負／正」のカウンタＡに差ができてくる。この様子は図８の傾き「負／正」カウンタＡの動作から分かる。つまり、傾き「負」のカウンタＡは「負」の傾きを表したパラメータであり、傾き「正」のカウンタＡは「正」の傾きを表したパラメータとなる。
【００３９】
このような現象を鋭意検討した結果、発明者は、傾き「負」のカウンタＡと傾き「正」のカウンタＡの比率を取ることで、実空燃比センサ信号のリーン→リッチ、リッチ→リーンへの変化時の傾きの差を検出することができるということを見出した。具体的には、当該比率がリーン→リッチへの変化時の傾きとリッチ→リーンへの変化時の傾きの比率を表しており、この値から、実空燃比センサ信号の動作時のにぶり具合を検出することができるという点である。つまり、当該比率が非常に大きい（例：１０以上）の時は、故障モード１と判定（傾きの負側が鈍っている）し、当該比率が非常に小さい（例：ゼロ付近）の時は、故障モード２と判定（傾きの正側が鈍っている）し、それ以外の時は、故障モード３と判定することができる（傾きの正、負両方が鈍っている）。
なお、最終的な当該比率による判定処理は、実空燃比センサ信号が振られた回数がＮに達した時点（診断終了）で行うことができる。
【００４０】
以上より、故障モード１から３の判定が可能となる。そこで、改めて、故障モード毎に、図を描くと、図９、図１０、および図１１のようになる。図７とは異なり、故障モード毎にＯＢＤ規制に基づいた閾値を設定することができる。このため、当該閾値より大きい場合は、異常と判定することができる。一例として、図９では、時定数指標が１．５（τ＝６００ｍｓ）より大きい場合、故障モード１異常と判定し、図１０では、時定数指標が２．５（τ＝５００ｍｓ）より大きい場合、故障モード２異常と判定し、図１１では、時定数指標が３．３（τ＝７００ｍｓ）より大きい場合、故障モード３異常と判定することができる。
【００４１】
そこで、机上シミュレーションではあるが、実際の空燃比センサ信号を劣化させて、検出性を検証した。図１２、図１３、および図１４のそれぞれは、故障モード１から３の判別結果を示す図である。なお、ここでは、例えば、目標空燃比変更部１０２により、空燃比補正係数を通常制御よりも大きく振り（ディザ制御）、実空燃比センサ信号の挙動から、上記で記述した方式により、モード判定および異常判定の検出（診断）性（実際に検出（診断）できるか）について検証した。
【００４２】
図１２は、故障モード１の場合で、ＮＧ閾値を５００ｍｓにし、リーン→リッチの時定数遅れを６００ｍｓに設定した。図１２からは、故障モードを“１”と判定し、時定数遅れがＮＧ閾値（５００ｍｓ）より大きいことから、ＮＧ判定していることが分かる。
【００４３】
図１３は、故障モード２の場合で、ＮＧ閾値を５００ｍｓにし、リッチ→リーンの時定数遅れを同様に６００ｍｓに設定した。図１３からは、故障モードを“２”と判定し、時定数遅れがＮＧ閾値（５００ｍｓ）より大きいことから、ＮＧ判定していることが分かる。
【００４４】
図１４は、故障モード３の場合で、ＮＧ閾値を５００ｍｓにし、リーン⇔リッチの時定数遅れを同様に６００ｍｓに設定した。図１４からは、故障モードを“３”と判定し、時定数遅れがＮＧ閾値（５００ｍｓ）より大きいことから、ＮＧ判定していることが分かる。
以上が、故障モード１から３の検出（診断）方法の例である。続いて、故障モード４から６の検出（診断）方法について説明する。
【００４５】
＜無駄時間診断の原理＞
図１５は、模式的に目標空燃比センサ信号と、実空燃比センサ信号を矩形波とした場合の無駄時間の検出方法を示す図である。
【００４６】
まず、予め積算タイマを準備しておく。目標空燃比センサ信号と、実空燃比センサ信号が重なっている場合は、無駄時間は発生していないので、時間差が無いため、積算タイマはカウントしない。
【００４７】
一方、実空燃比センサ信号が目標空燃比センサ信号からずれてくると、積算タイマがカウントを開始し、実空燃比センサ信号が振られた回数がＮに達した時点（診断終了）で、ＮＧ閾値より積算タイマ値が大きい場合、異常と判定する。実際は、目標空燃比を三角波的に振るので、図４の右図に示したような無駄時間遅れになる。そのため、図１５で示したような単純な方式で無駄時間を検出することは困難で複雑であり、改良された方式が必要となる。
【００４８】
＜故障モードの空燃比センサの無駄時間と劣化指標との関係＞
図１６は、故障モード４から６の空燃比センサ２０５の無駄時間と劣化指標（積算タイマの平均値等）との関係を示す図である。
図１６に示す通り、グラフ上、故障モード４および５の曲線は重なっている（故障モード６は重なっていない）。例えば、閾値を０．６に設定した場合、故障モード４および５を同時にＮＧ判定してしまい、どちらの故障モードか判別がつかない。そこで、故障モード１から３の場合と同様に、各故障モード４から６（無駄時間遅れ）を明確に判別する必要性がある。
【００４９】
＜空燃比センサにおける故障モード４〜６の判別について＞
図１７は、空燃比センサ２０５の故障モード４から６（無駄時間劣化）を判別する方法について説明するための図である。故障モード４から６の藩閥処理は、故障モード判定部Ｂ１１０において実行される。
【００５０】
故障モード４から６の判別も、空燃比センサ２０５の微分値から判定する方法を採用しており、故障モード１から３と同様である。しかし、基本的に故障モード４から６においては、無駄時間の期間における正、負の傾きは変わらず、無駄時間を計るという点では、傾きは検出の材料にはならない。そこで、今回は、傾きゼロのカウンタＢを設定する。当該傾きゼロのカウンタＢは、無駄時間発生中、理論的には、ゼロのままになるが、実際の空燃比センサ信号には、多くのノイズが乗っているため、傾きゼロのカウンタＢも無駄時間発生中にインクリメント（＋１する）されることになる。一方、実際の空燃比センサ信号に無駄時間が乗ってくるとノイズもにぶってきて、傾き正のカウンタ値Ｂと傾き負のカウンタ値Ｂにも差異が出てくる。
【００５１】
本発明者は、これらの現象を鋭意検討した結果、これらの現象を利用して、故障モード４から６の判定を行うことを見出した。モード判定上、上述した傾きカウンタＢ値の差分式の組み合わせで行う。それぞれの傾きのカウンタを以下の（１）、（２）、（３）のように定義する。
（１）：傾きゼロのカウンタＢ
（２）：傾き正のカウンタＢ
（３）：傾き負のカウンタＢ
【００５２】
（i）故障モード４の判定
（１）−（２）＞定数（例：６０）  ＆  （１）−（３）＞定数（例：６０）  ＆  
（２）−（３）≒定数（例：０）  
これが成立する時、故障モード４と判定する。傾きゼロのカウンタＢ値が大きく、傾き正のカウンタＢ値と傾き負のカウンタＢ値はほぼ同一の時である。
【００５３】
（ii）故障モード５の判定
（１）−（２）＞定数（例：６０）  ＆  （１）−（３）＞定数（例：６０）  ＆
（３）−（２）＞定数（例：１０）
【００５４】
これが成立する時、故障モード５と判定する。傾きゼロのカウンタＢ値が大きく、傾き負のカウンタＢ値と傾き正のカウンタＢ値の差は微妙だが、傾き負のカウンタＢ値の方が大きい時である。
【００５５】
（iii）故障モード６の判定
故障モード４および故障モード５以外の時、故障モード６と判定する。
なお、最終的な判定は、実空燃比センサ信号が振られた回数がＮに達した時点（診断終了）で行う。
【００５６】
以上より、故障モード４から６の判定が可能となる。そこで、改めて、故障モード毎に、図を描くと、図１８、図１９、および図２０のようになる。図１６とは異なり、故障モード毎にＯＢＤ規制に基づいた閾値を設定することができるため、閾値より大きい場合は、異常と判定することができる。一例として、図１８では、劣化指標（該積算タイマの平均値等）が０．８２（τ＝４００ｍｓ）より大きい場合、故障モード４異常と判定し、図１９では、劣化指標（該積算タイマの平均値等）が０．８１（τ＝４００ｍｓ）より大きい場合、故障モード５異常と判定し、図２０では、劣化指標（該積算タイマの平均値等）が０．４５（τ＝５００ｍｓ）より大きい場合、故障モード６異常と判定することができる。
【００５７】
そこで、机上シミュレーションではあるが、実際の空燃比センサ信号を劣化させて、検出性を検証した。図２１、図２２、および図２３のそれぞれは、故障モード４から６の判別結果を示す図である。なお、ここでは、例えば、目標空燃比変更部１０２により、空燃比補正係数を通常制御よりも大きく振り（ディザ制御）、実空燃比センサ信号の挙動から、上記で記述した方式により、モード判定および異常判定の検出（診断）性（実際に検出（診断）できるかを検証した。
【００５８】
図２１は、故障モード４の場合で、ＮＧ閾値を５００ｍｓして、リーン→リッチの無駄時間を６００ｍｓに設定した。図２１からは、故障モードを“４”と判定し、無駄時間がＮＧ閾値（５００ｍｓ）より大きいことから、ＮＧ判定していることが分かる。但し、演算した無駄時間が６００ｍｓのはずが５１０ｍｓになっており、演算誤差による影響であると思われる。
【００５９】
図２２は、故障モード５の場合で、ＮＧ閾値を５００ｍｓして、リッチ→リーンの無駄時間を同様に６００ｍｓに設定した。図２２からは、故障モードを“５”と判定し、無駄時間がＮＧ閾値（５００ｍｓ）より大きいことから、ＮＧ判定していることが分かる。これも演算誤差があり、６００ｍｓ設定に対し、５７０ｍｓとなっている。
【００６０】
図２３は、故障モード６の場合で、ＮＧ閾値を５００ｍｓして、リーン⇔リッチの無駄時間を同様に６００ｍｓに設定した。図２３からは、故障モードを“６”と判定し、無駄時間がＮＧ閾値（５００ｍｓ）より大きいことから、ＮＧ判定していることが分かる。これも演算誤差があり、６００ｍｓ設定に対し、５７０ｍｓとなっている。
以上より、故障モード１から６の判定および正常、異常の判定が可能となる。
【００６１】
＜診断領域判定処理＞
図２４は、本実施形態による診断領域（診断条件成立）判定処理を説明するためのフローチャートである。以下の説明では、診断領域判定部１０１を動作主体としているが、診断領域判定部１０１はＭＰＵ２０７１内に構成されているので、ＭＰＵ２０７１を動作主体として読み替えてもよい。
【００６２】
ステップ２４０１からステップ２４１０において、診断領域判定部１０１は、内燃機関の回転数が所定範囲内にあるか（ステップ２４０１）、内燃機関の負荷が所定範囲内であるか（ステップ２４０２）、水温が所定範囲内か（ステップ２４０３）、車速が所定範囲内であるか（ステップ２４０４）、吸気温が所定範囲内か（ステップ２４０５）、大気圧が所定値以上か（ステップ２４０６）、バッテリ電圧が所定範囲内か（ステップ２４０７）、燃料カット中でないか（ステップ２４０８）、空燃比制御フィードバック中か（ステップ２４０９）、および用いられるセンサに故障がないか（ステップ２４１０）、それぞれチェックする。
【００６３】
ステップ２４０１から２４１０の条件が全て成立している場合（ステップ２４０１から２４１０の全てでＹｅｓの場合）、ステップ２４１１において、診断領域判定部１０１は、診断領域内である（診断条件成立）と判定する。ステップ２４０１から２４１０の条件の一つでも外れていれば（ステップ２４０１から２４１０の何れかでＮｏの場合）、ステップ２４１２において、診断領域判定部１０１は、診断領域不成立（診断条件不成立）と判定する。
【００６４】
＜実空燃比センサ信号取得処理＞
図２５は実、空燃比センサ信号取得処理を説明するためのフローチャートである。実空燃比センサ信号取得処理は、空燃比センサ信号を内燃機関制御装置２０７のＲＡＭにストアする処理である。ここでは４ｍｓ毎に空燃比センサ信号を入力する。
本実施形態では、４ｍｓタスクで動作させた例を示しているが、この限りではない。
【００６５】
＜ディザ制御処理＞
図２６は、本実施形態による目標空燃比を所定時間毎に振る制御（ディザ制御処理）を説明するためのフローチャートである。以下の説明では、目標空燃比変更部１０２を動作主体としているが、目標空燃比変更部１０２はＭＰＵ２０７１内に構成されているので、ＭＰＵ２０７１を動作主体として読み替えてもよい。
【００６６】
（i）ステップ２６０１
目標空燃比変更部１０２は、診断領域（診断条件）が成立しているかの判定結果を診断領域判定部１０１から取得し、処理を継続するか判断する。診断領域が成立していない場合（ステップ２６０１でＮｏの場合）、処理はステップ２６０３に移行する。診断領域が成立している場合（ステップ２６０１でＹｅｓの場合）、処理はステップ２６０２に移行する。
【００６７】
（ii）ステップ２６０２
目標空燃比変更部１０２は、目標空燃比をリーン値にセットする。
【００６８】
（iii）ステップ２６０３
目標空燃比変更部１０２は、目標空燃比を通常の空燃比フィードバック制御で演算する。当該演算後、処理はステップ２６０８に移行する。
【００６９】
（iv）ステップ２６０４
目標空燃比変更部１０２は、タイマTaが所定時間に達したかチェックする。タイマTaが所定時間に達している場合（ステップ２６０４でＹｅｓの場合）、処理はステップ２６０５に移行する。タイマTaが所定時間に達していない場合（ステップ２６０４でＮｏの場合）、処理はステップ２６０６に移行する。
【００７０】
（v）ステップ２６０５
目標空燃比変更部１０２は、目標空燃比をリッチ値にセットする。
【００７１】
（vi）ステップ２６０６
目標空燃比変更部１０２は、Taに４ｍｓを加算する。
【００７２】
（vii）ステップ２６０７
目標空燃比変更部１０２は、タイマTbが所定時間に達したかチェックする。タイマTｂが所定時間に達している場合（ステップ２６０７でＹｅｓの場合）、処理はステップ２６０８に移行する。タイマTｂが所定時間に達していない場合（ステップ２６０７でＮｏの場合）、処理はステップ２６０９に移行する。
【００７３】
（viii）ステップ２６０８
目標空燃比変更部１０２は、タイマTaおよびTbをゼロクリアする。
【００７４】
（ix）ステップ２６０９
目標空燃比変更部１０２は、Tbに４ｍｓを加算する。
【００７５】
＜実空燃比センサ信号反転回数検出処理＞
図２７は、実空燃比センサ信号の反転回数Nを検出する処理（実空燃比センサ信号反転回数検出処理）を説明するためのフローチャートである。以下の説明では、実空燃比変更部１０３を動作主体としているが、実空燃比変更部１０３はＭＰＵ２０７１内に構成されているので、ＭＰＵ２０７１を動作主体として読み替えてもよい。
【００７６】
（i）ステップ２７０１
実空燃比検出部１０３は、診断領域（診断条件）が成立しているかの判定結果を診断領域判定部１０１から取得し、処理を継続するか判断する。診断領域が成立している場合（ステップ２７０１でYesの場合）、処理はステップ２７０２に移行する。診断領域が成立していない場合（ステップ２７０１でＮｏの場合）実空燃比センサ信号反転回数検出処理は終了し、次のタスクに進む。
【００７７】
（ii）ステップ２７０２
実空燃比検出部１０３は、空燃比センサ信号が所定値以上か判断する。実空燃比センサ信号が所定値以上の場合（ステップ２７０２でＹｅｓの場合）、処理はステップ２７０３に移行する。実空燃比センサ信号が所定値以上ではない場合（ステップ２７０２でＮｏの場合）、処理はステップ２７０４に移行する。
【００７８】
（iii）ステップ２７０３
実空燃比検出部１０３は、Nをインクリメントする。
【００７９】
（iv）ステップ２７０４
実空燃比検出部１０３は、実空燃比センサ信号が所定値未満か判断する。実空燃比センサ信号が所定値未満の場合（ステップ２７０４でＹｅｓの場合）、処理は２７０５に移行する。実空燃比センサ信号が所定値未満ではない場合（ステップ２７０４でＮｏの場合）、処理はステップ２７０１に戻る。
【００８０】
（v）ステップ２７０５
実空燃比検出部１０３は、Nをインクリメントする。
【００８１】
＜故障モード判別処理Ａ＞
図２８は、本実施形態による故障モード１から３を判別する処理（故障モード判別処理Ａ）を説明するためのフローチャートである（図１の故障モード判定部Ａ１０９の処理に相当する）。以下の説明では、故障モード判定部Ａ１０９を動作主体としているが、故障モード判定部Ａ１０９はＭＰＵ２０７１内に構成されているので、ＭＰＵ２０７１を動作主体として読み替えてもよい。
【００８２】
（i）ステップ２８０１
故障モード判定部Ａ１０９は、診断領域（診断条件）が成立しているかの判定結果を診断領域判定部１０１から取得し、処理を継続するか判断する。診断領域が成立している場合（ステップ２８０１でYesの場合）、処理はステップ２８０２に移行する。診断領域が成立していない場合（ステップ２８０１でＮｏの場合）、故障モード判定処理Ａは終了し、次のタスクに進む。
【００８３】
（ii）ステップ２８０２
故障モード判定部Ａ１０９は、実空燃比センサ信号（LAF）の差分値を演算する。
【００８４】
（iii）ステップ２８０３
故障モード判定部Ａ１０９は、実空燃比センサ信号（LAF）の差分値がゼロ未満か判断する。当該差分値がゼロ未満の場合（ステップ２８０３でＹｅｓの場合）、処理はステップ２８０４に移行する。当該差分値がゼロ以上の場合（ステップ２８０３でＮｏの場合）、処理はステップ２８０５に移行する。
【００８５】
（iv）ステップ２８０４
故障モード判定部Ａ１０９は、傾き「負」のカウンタＡをインクリメントする。
【００８６】
（v）ステップ２８０５
故障モード判定部Ａ１０９は、傾き「負」のカウンタＡを保持する。
【００８７】
（vi）ステップ２８０６
故障モード判定部Ａ１０９は、実空燃比センサ信号（LAF）の差分値がゼロ以上か判断する。当該差分値がゼロ以上の場合（ステップ２８０６でＹｅｓの場合）、処理はステップ２８０７に移行する。当該差分値がゼロ未満の場合（ステップ２８０６でＮｏの場合）、処理はステップ２８０８に移行する。
【００８８】
（vii）ステップ２８０７
故障モード判定部Ａ１０９は、傾き「正」のカウンタＡをインクリメントする。
【００８９】
（viii）ステップ２８０８
故障モード判定部Ａ１０９は、傾き「正」のカウンタＡを保持する。
【００９０】
（ix）ステップ２８０９
故障モード判定部Ａ１０９は、実空燃比検出部１０３から実空燃比センサ信号の反転回数Ｎの値を取得し、当該Ｎが所定回数に達しているか判断する。Ｎが所定回数に達している場合（ステップ２８０８でＹｅｓの場合）、処理はステップ２８１０に移行する。Ｎが所定回数に達していない場合（ステップ２８０８でＮｏの場合）、処理はステップ２８０３に移行する。
【００９１】
（x）ステップ２８１０
故障モード判定部Ａ１０９は、傾き「負」のカウンタ値Ａを傾き「正」のカウンタ値Ａで除算する（比率の演算）。
【００９２】
（xi）ステップ２８１１
故障モード判定部Ａ１０９は、ステップ２８１０で演算した比率が定数（例：１０）より大きいか判断する。当該比率が定数（例：１０）より大きい場合（ステップ２８１１でＹｅｓの場合）、処理はステップ２８１２に移行する。当該比率が定数（例：１０）以下の場合（ステップ２８１１でＮｏの場合）、処理はステップ２８１３に移行する。
【００９３】
（xii）ステップ２８１２
故障モード判定部Ａ１０９は、故障モード１と判定する。
【００９４】
（xiii）ステップ２８１３
故障モード判定部Ａ１０９は、当該比率がゼロ付近かチェックする。ゼロ付近であると判断した場合（ステップ２８１３でＹｅｓの場合）、処理はステップ２８１４に移行する。ゼロ付近ではないと判断した場合（比率≒１の場合：ステップ２８１３でＮｏの場合）、処理はステップ２８１５に移行する。
【００９５】
（xiv）ステップ２８１４
故障モード判定部Ａ１０９は、故障モード２と判定する。
【００９６】
（xv）ステップ２８１５
故障モード判定部Ａ１０９は、故障モード３と判定する。
【００９７】
＜応答時定数検出処理＞
図２９は、本実施形態による応答時定数を検出する処理（応答時定数検出処理）を説明するためのフローチャートである。以下の説明では、応答時定数検出部１０５や応答時定数遅れの異常検出部１０７を動作主体としているが、応答時定数検出部１０５や応答時定数遅れの異常検出部１０７はＭＰＵ２０７１内に構成されているので、ＭＰＵ２０７１を動作主体として読み替えてもよい。
【００９８】
（i）ステップ２９０１
応答時定数検出部１０５は、診断領域（診断条件）が成立しているかの判定結果を診断領域判定部１０１から取得し、処理を継続するか判断する。診断領域が成立している場合（ステップ２９０１でYesの場合）、処理はステップ２９０２に移行する。診断領域が成立していない場合（ステップ２９０１でＮｏの場合）、応答時定数検出処理は終了し、次のタスクに進む。
【００９９】
（ii）ステップ２９０２
応答時定数検出部１０５は、実空燃比センサ信号（LAF）の差分値を演算する。
【０１００】
（iii）ステップ２９０３
応答時定数検出部１０５は、ステップ２９０２で算出した差分値を２乗する。
【０１０１】
（iv）ステップ２９０４
応答時定数検出部１０５は、変数ＩにＩ（前回値）＋該２乗値の演算を行う（Ｉの初期値はゼロとする）。
【０１０２】
（v）ステップ２９０５
応答時定数検出部１０５は、実空燃比センサ信号の反転回数Ｎが所定回数に達しているか判断する。Ｎが所定回数に達している場合（ステップ２９０５でＹｅｓの場合）、処理はステップ２９０６に移行する。Ｎが所定回数に達していない場合（ステップ２９０５でＮｏの場合）、処理はステップ２９０２に戻る。
【０１０３】
（vi）ステップ２９０６
応答時定数検出部１０５は、所定値（定数）をＩで割り、時定数τを演算する。
【０１０４】
（vii）ステップ２９０７
応答時定数遅れの異常検出部１０７は、ステップ２９０７で算出した時定数τがＮＧ閾値１より大きいか判断する。時定数τがNG閾値１よりも大きい場合（ステップ２９０７でYesの場合）、処理はＡ（図３２参照）に移行し、さらにモード判定処理が行われる。時定数τがNG閾値１以下の場合（ステップ２９０７でNoの場合）、処理はステップ２９０８に移行する。
【０１０５】
（viii）ステップ２９０８
応答時定数遅れの異常検出部１０７は、空燃比センサ２０５の状態を正常Cと判定する。この場合、処理は、さらにＣ（図３２参照）に移行する。正常Cとは、応答時定数診断の結果は正常であることを意味する。この場合、無駄時間診断は正常かどうか不明であるため、処理はＣ（図３２参照）に移行し、更なる判定が行われる。
【０１０６】
＜故障モード判定処理Ｂ＞
図３０は、故障モード４から６を判別する処理（故障モード判定処理Ｂ）を説明するためのフローチャートである（図１の故障モード判定部Ｂ１１０に相当する）。以下の説明では、故障モード判定部Ｂ１１０を動作主体としているが、故障モード判定部Ｂ１１０はＭＰＵ２０７１内に構成されているので、ＭＰＵ２０７１を動作主体として読み替えてもよい。
【０１０７】
（i）ステップ３００１
故障モード判定部Ｂ１１０は、診断領域（診断条件）が成立しているかの判定結果を診断領域判定部１０１から取得し、処理を継続するか判断する。診断領域が成立している場合（ステップ３００１でYesの場合）、処理はステップ３００２に移行する。診断領域が成立していない場合（ステップ３００１でＮｏの場合）、故障モード判定処理Ａは終了し、次のタスクに進む。
【０１０８】
（ii）ステップ３００２
故障モード判定部Ｂ１１０は、実空燃比センサ信号（ＬＡＦ）の差分値を演算する。
【０１０９】
（iii）ステップ３００３
故障モード判定部Ｂ１１０は、ステップ３００２で算出した差分値がゼロか判断する。当該差分値がゼロである場合（ステップ３００３でＹｅｓの場合）、処理はステップ３００４に移行する。当該差分値がゼロではない場合（ステップ３００３でＮｏの場合）、処理はステップ３００５に移行する。
【０１１０】
（iv）ステップ３００４
故障モード判定部Ｂ１１０は、傾きゼロカウンタＢをインクリメントする。
【０１１１】
（v）ステップ３００５
故障モード判定部Ｂ１１０は、傾きゼロカウンタＢを保持する。
【０１１２】
（vi）ステップ３００６
故障モード判定部Ｂ１１０は、当該差分値がゼロより大きいか判断する。当該差分値がゼロより大きい場合（ステップ３００６でＹｅｓの場合）、処理はステップ３００７に移行する。当該差分値がゼロ未満の場合（ステップ３００６でＮｏの場合）、処理はステップ３００８に移行する。
【０１１３】
（vii）ステップ３００７
故障モード判定部Ｂ１１０は、傾き正カウンタＢをインクリメントする。
【０１１４】
（viii）ステップ３００８
故障モード判定部Ｂ１１０は、傾き正カウンタＢを保持する。
【０１１５】
（ix）ステップ３００９
故障モード判定部Ｂ１１０は、当該差分値がゼロ未満か判断する。当該差分値がゼロ未満の場合（ステップ３００９でＹｅｓの場合）、処理はステップ３０１０に移行する。当該差分値がゼロ以上の場合（ステップ３００９でＮｏの場合）、処理はステップ３０１１に移行する。
【０１１６】
（x）ステップ３０１０
故障モード判定部Ｂ１１０は、傾き負カウンタＢをインクリメントする。
【０１１７】
（xi）ステップ３０１１
故障モード判定部Ｂ１１０は、傾き負カウンタＢを保持する。
【０１１８】
（xii）ステップ３０１２
故障モード判定部Ｂ１１０は、実空燃比センサ信号の反転回数Ｎが所定回数に達しているか判断する。Ｎが所定回数に達している場合（ステップ３０１２でYesの場合）、処理はステップ３０１３に移行する。Ｎが所定回数に達していない場合（ステップ３０１２でNoの場合）、処理はステップ３００２に戻る。
【０１１９】
（xiii）ステップ３０１３
故障モード判定部Ｂ１１０は、傾きゼロカウンタＢ、傾き正カウンタＢ、傾き負カウンタＢの差分式の組み合わせが成立しているか判断する。つまり、（１）を傾きゼロのカウンタＢ、（２）を傾き正のカウンタＢ、（３）を傾き負のカウンタＢとしたときに、（１）−（２）＞定数（例：６０）、かつ、（１）−（３）＞定数（例：６０）、かつ（２）−（３）≒定数（例：０）であるかどうか判断する。傾きゼロのカウンタＢ値が大きく、傾き正のカウンタＢ値と傾き負のカウンタＢ値はほぼ同一の時である。
【０１２０】
当該差分式の組み合わせが成立する場合（ステップ３０１３でＹｅｓの場合）、処理はステップ３０１４に移行する。当該差分式の組み合わせが不成立の場合（ステップ３０１３でＮｏの場合）、処理はステップ３０１５に移行する。
（xiv）ステップ３０１４
故障モード判定部Ｂ１１０は、空燃比センサ２０５が故障モード４にあると判定する。
【０１２１】
（xv）ステップ３０１５
故障モード判定部Ｂ１１０は、ステップ３０１３の処理で用いた差分式の組み合せとは異なった、傾きゼロカウンタＢ、傾き正カウンタＢ、傾き負カウンタＢの差分式の組み合わせが成立しているか判断する。つまり、（１）−（２）＞定数（例：６０）、かつ、（１）−（３）＞定数（例：６０）、かつ、（３）−（２）＞定数（例：１０）であるかどうか判断する。傾きゼロのカウンタＢ値が大きく、傾き負のカウンタＢ値と傾き正のカウンタＢ値の差は微妙だが、傾き負のカウンタＢ値の方が大きい時である。当該差分式の組み合わせが成立する場合（ステップ３０１５でＹｅｓの場合）、処理はステップ３０１６に移行する。当該差分式の組み合わせが不成立の場合（ステップ３０１５でＮｏの場合）、処理はステップ３０１７に移行する。
【０１２２】
（xvi）ステップ３０１６
故障モード判定部Ｂ１１０は、空燃比センサ２０５が故障モード５にあると判定する。
【０１２３】
（xvii）ステップ３０１７
故障モード判定部Ｂ１１０は、空燃比センサ２０５が故障モード６にある判定する。
【０１２４】
＜無駄時間検出処理＞
図３１は、本実施形態による無駄時間を検出する処理（無駄時間検出処理）を説明するためのフローチャートである。以下の説明では、無駄時間検出部１０６、無駄時間遅れの異常検出部１０８や応答劣化異常判定部Ｂ１１２を動作主体としているが、無駄時間検出部１０６、無駄時間遅れの異常検出部１０８や応答劣化異常判定部Ｂ１１２はＭＰＵ２０７１内に構成されているので、ＭＰＵ２０７１を動作主体として読み替えてもよい。
【０１２５】
（i）ステップ３１０１
無駄時間検出部１０６は、診断領域（診断条件）が成立しているかの判定結果を診断領域判定部１０１から取得し、処理を継続するか判断する。診断領域が成立している場合（ステップ３１０１でＹｅｓの場合）、処理はステップ３１０２に移行する。診断領域が成立していない場合（ステップ３１０１でＮｏの場合）、故障モード判定処理Ａは終了し、次のタスクに進む。
【０１２６】
（ii）ステップ３１０２
無駄時間検出部１０６は、目標空燃比がリーン値で、かつ実空燃比がリッチ値であるか、チェックする。これら２つが成立している場合（ステップ３１０２でＹｅｓの場合）、処理はステップ３１０３に移行する。一方、これら２つが成立していない場合（ステップ３１０２でＮｏの場合）、処理はステップ３１０４に移行する。
【０１２７】
（iii）ステップ３１０３
無駄時間検出部１０６は、タイマ１をタイマ１（前回値）＋０．００４ｓとする。そして、処理はステップ３１０２に戻る。
【０１２８】
（iv）ステップ３１０４
無駄時間検出部１０６は、目標空燃比がリッチ値で、かつ実空燃比がリーン値であるか、チェックする。これら２つが成立している場合（ステップ３１０４でＹｅｓの場合）、処理はステップ３１０５に移行する。一方、これら２つが成立していない場合（ステップ３１０４でＮｏの場合）、処理はステップ３１０６に移行する。
【０１２９】
（v）ステップ３１０５
無駄時間検出部１０６は、タイマ２をタイマ２（前回値）＋０．００４ｓとする。そして、処理はステップ３１０４に戻る。
【０１３０】
（vi）ステップ３１０６
無駄時間検出部１０６は、「目標空燃比がリーン値で、かつ、実空燃比がリッチ値」、または「目標空燃比がリッチ値、かつ、実空燃比がリーン値」であるか、チェックする。当該条件が成立している場合（ステップ３１０６でＹｅｓの場合）、処理はステップ３１０７に移行する。当該条件が成立していない場合（ステップ３１０６でＮｏの場合）、処理はステップ３１０８に移行する。
【０１３１】
（vii）ステップ３１０７
無駄時間検出部１０６は、タイマ３をタイマ３（前回値）＋０．００４ｓとする。そして、処理はステップ３１０６に戻る。
【０１３２】
（viii）ステップ３１０８
無駄時間検出部１０６は、実空燃比センサ信号の反転回数Nが所定回数に達しているか判断する。Nが所定回数に達している場合（ステップ３１０８でYesの場合）、処理はステップ３１０９に移行する。Nが所定回数に達していない場合（ステップ３１０８でNoの場合）、処理はステップ３１０２に戻る。
【０１３３】
（ix）ステップ３１０９
無駄時間遅れの異常検出部１０８は、タイマ１がNG閾値２より大きいか、または、タイマ２がNG閾値３より大きいか、または、タイマ３がNG閾値４より大きいかチェックする。
これらの何れか条件が成立する場合（ステップ３１０９でYesの場合）、処理はB（図３２参照）へ移行する。これらの何れの条件も不成立の場合（ステップ３１０９でＮｏの場合）、処理はステップ３１１０に移行する。
【０１３４】
（x）ステップ３１１０
応答劣化異常判定部Ｂ１１２は、空燃比センサ２０５の状態を正常Ｄと判定する。この場合、処理はさらにＤ（図３２参照）に移行する。正常Ｄとは、無駄時間診断の結果は正常であることを意味する。この場合、応答時定数診断は正常かどうか不明のため、処理はＤ（図３２参照）に移行し、更なる判定が行われる。
【０１３５】
なお、実際は、目標空燃比を三角波的に振るので、図４の右図に示した無駄時間遅れになる。そのため、図１５で示したような単純な方式で無駄時間を検出することは困難で複雑になる。
【０１３６】
＜最終劣化異常判定処理＞
図３２は、図２８のモード判定Aと、図２９の応答時定数診断結果と、図３０のモード判定Bと、図３１の無駄時間診断の結果から、最終劣化異常判定をする処理（最終劣化異常判定処理）を説明するためのフローチャートである。図３２において、Aは、該応答時定数診断が異常の場合であり、これが故障モード１から３のどれにあてはまるかをチェックする工程の始点である。Bは、該無駄時間診断が異常の場合であり、これが故障モード４から６のどれにあてはまるかをチェックする処理工程の始点である。Cは、応答時定数診断の正常の場合の処理工程の始点である。Ｄは、無駄時間診断の正常の場合の処理工程の始点である。以下の説明では、最終劣化異常判定部１１３、応答劣化異常判定部Ａ１１１や応答劣化異常判定部Ｂ１１２を動作主体としているが、最終劣化異常判定部１１３、応答劣化異常判定部Ａ１１１や応答劣化異常判定部Ｂ１１２はＭＰＵ２０７１内に構成されているので、ＭＰＵ２０７１を動作主体として読み替えてもよい。
【０１３７】
（i）ステップ３２０１
最終劣化異常判定部１１３は、故障モード１かチェックする。故障モード１と判定された場合（ステップ３２０１でＹｅｓの場合）、処理はステップ３２０２に移行する。故障モード１と判定されなかった場合（ステップ３２０１でＮｏの場合）、処理はステップ３２０３に移行する。
【０１３８】
（ii）ステップ３２０２
最終劣化異常判定部１１３は、故障モード１異常と判定する。
【０１３９】
（iii）ステップ３２０３
最終劣化異常判定部１１３は、故障モード２かチェックする。故障モード２と判定された場合（ステップ３２０３でＹｅｓの場合）、処理はステップ３２０４に移行する。故障モード２と判定されなかった場合（ステップ３２０３でＮｏの場合）、処理はステップ３２０５に移行する。
【０１４０】
（iv）ステップ３２０４
最終劣化異常判定部１１３は、故障モード２異常と判定する。
【０１４１】
（v）ステップ３２０５
最終劣化異常判定部１１３は、故障モード３異常と判定する。
【０１４２】
（vi）ステップ３２０６
最終劣化異常判定部１１３は、故障モード６かチェックする。故障モード６と判定された場合（ステップ３２０６でＹｅｓの場合）、処理はステップ３２０７に移行する。故障モード６と判定されなかった場合（ステップ３２０６でＮｏの場合）、処理はステップ３２０８に移行する。
【０１４３】
（vii）ステップ３２０７
最終劣化異常判定部１１３は、故障モード６異常と判定する。
【０１４４】
（viii）ステップ３２０８
最終劣化異常判定部１１３は、故障モード５かチェックする。故障モード５と判定された場合（ステップ３２０８でＹｅｓの場合）、処理はステップ３２０９に移行する。故障モード５と判定されなかった場合（ステップ３２０８でＮｏの場合）、処理はステップ３２１０に移行する。
【０１４５】
（ix）ステップ３２０９
最終劣化異常判定部１１３は、故障モード５異常と判定する。
【０１４６】
（x）ステップ３２１０
最終劣化異常判定部１１３は、故障モード４異常と判定する。なお、無駄時間診断は、故障モード６の無駄時間が他の故障モード４および５よりも大きいため、故障モード６の判定を最優先している。
【０１４７】
（xi）ステップ３２１１
応答劣化異常判定部Ａ１１１は、正常Ｄかチェックする。正常Ｄである場合（ステップ３２１１でＹｅｓの場合）、処理はステップ３２１３に移行する。なお、正常Ｄは、無駄時間診断が正常の場合であり、ＣとＤが共に成立しないと正常判定とはならない。正常Ｄではなかった場合（ステップ３２１１でＮｏの場合）、無駄時間診断異常の可能性があるため、処理はＢに移行する。
【０１４８】
（xii）ステップ３２１２
応答劣化異常判定部Ｂ１１２は、正常Ｃかチェックする。正常Cである場合（ステップ３２１２でＹｅｓの場合）、処理はステップ３２１３に移行する。なお、正常Ｃは、応答時定数診断が正常の場合であり、上述したように、ＣとＤが共に成立しないと正常判定とはならない。正常Ｃではなかった場合（ステップ３２１２でＮｏの場合）、応答時定数診断異常の可能性があるため、処理はＡに移行する。
【０１４９】
（xiii）ステップ３２１３
最終劣化異常判定部１１３は、空燃比センサ２０５を正常と判断する。つまり、ステップ３２１１が成立し、かつステップ３２１２が成立する時に、正常と判定される。
【０１５０】
応答時定数診断が正常で、かつ無駄時間診断が正常の場合、空燃比センサ２０５を正常と判定することができるため、図３２のような処理としている。
【０１５１】
＜まとめ＞
（１）以上のように、本実施形態によれば、空燃比センサ応答劣化診断の６つの故障モードを判別することができる。
本実施形態は、内燃機関に取り付けられた空燃比センサの応答劣化診断において、６つの故障モードを的確に診断する診断装置に関し、車両自己診断規制強化に対して、必須の技術である。
【０１５２】
（２）本実施形態では、目標空燃比をリッチ⇔リーンに振り、その時に、実空燃比センサ信号を微分し、２乗後、積算し、その逆数から応答時定数を検出する。該応答時定数には、リーン→リッチ応答時定数遅れ、リッチ→リーン応答時定数遅れ、リーン⇔リッチの応答時定数遅れがあり、それぞれが所定の閾値を超えた場合、異常と判定する。また、同様に、目標空燃比をリッチ⇔リーンに振り、その時の空燃比センサ信号の目標空燃比と実空燃比において、目標空燃比がリーンに立ち上がった時点から、実空燃比センサ信号がリーンに立ち上がるまでの時間差を無駄時間１とし、また、目標空燃比がリッチに立ち下がった時点から、実空燃比センサ信号がリッチに立ち下がるまでの時間差を無駄時間１とする。該無駄時間１、該無駄時間２、該無駄時間１＋該無駄時間２があり、それぞれが所定の閾値を超えた場合、異常と判定する。
【０１５３】
（３）本実施形態における主要な開示事項をまとめると以下の通りである。
（i）開示事項１
内燃機関に取り付けられた空燃比センサの応答遅れを検出するマイクロプロセッサ（ＭＰＵ２０７１）を備える制御装置（図１：制御装置１）であって、
前記マイクロプロセッサは、
目標空燃比をリーンおよびリッチ間で変化させる目標空燃比変更部（目標空燃比変更部１０２）と、
前記目標空燃比変更部によって前記目標空燃比を前記リーンおよび前記リッチ間で変化させた場合に、前記空燃比センサから出力される実空燃比センサ信号において生じる前記空燃比センサの応答遅れを検出する応答遅れ検出部（応答時定数検出部１０５）と、を備える制御装置。
このようにすることにより、空燃比センサの時定数の遅れを検出して、その検出結果を基に劣化を分類することができるようになる。
【０１５４】
（ii）開示事項２
開示事項１において、
前記マクロプロセッサは、さらに、前記応答遅れ検出部によって検出された応答遅れが所定の応答遅れＮＧ閾値よりも大きいか判断することにより応答遅れの異常を検出する応答遅れ異常検出部（図１：応答時定数遅れの異常検出部１０７）を備える制御装置。
このように空燃比センサの時定数の遅れの異常を検出するので、空燃比センサの応答特定の異常を適切に分類することができる。
【０１５５】
（iii）開示事項３
開示事項２において、
前記マイクロプロセッサは、さらに、
前記実空燃比センサ信号の変化を算出し、所定期間における負の変化の回数と正の変化の回数との比の値に基づいて、前記応答遅れの種類を判定する第１故障モード判定部(図１：故障モード判定部A１０９)を備える制御装置。
このようにすることにより、精度良く応答遅れの種類を特定することができるようになる。
【０１５６】
（iv）開示事項４
開示事項３において、
前記第１故障モード判定部は、前記実空燃比センサ信号の微分値がゼロ未満の時に負のカウンタをインクリメントして前記負の変化の回数を算出し、前記空燃比センサ信号の微分値がゼロ以上の時に正のカウンタをインクリメントして前記正の変化の回数を算出し、前記所定期間における前記負のカウンタの値と前記正のカウンタの値との比率から、故障モード１、故障モード２、および故障モード３を判別する、制御装置。
このようにすることにより、空燃比センサの応答時定数における故障モードを精度良く検出することができるようになる。
【０１５７】
（v）開示事項５
開示事項４において、
前記故障モード１は、前記目標空燃比変更部によって前記目標空燃比をリーンからリッチに変化させた場合に、前記実空燃比センサ信号に第１応答時定数遅れが生じるモードであり、
前記故障モード２は、前記目標空燃比変更部によって前記目標空燃比をリッチからリーンに変化させた場合に、前記実空燃比センサ信号に第２応答時定数遅れが生じるモードであり、
前記故障モード３は、前記目標空燃比変更部によって前記目標空燃比をリーンからリッチに変化させた場合、およびリッチからからリーンに変化させた場合の双方で、前記実空燃比センサ信号に第３応答時定数遅れが生じるモードである、制御装置。
このようにすることにより、空燃比センサの応答時定数における故障モードを精度良く検出することができるようになる。
【０１５８】
（vi）開示事項６
開示事項３において、
前記マイクロプロセッサは、さらに、
前記応答遅れの異常がある場合の前記第１故障モード判定部によって判定された前記応答遅れの種類の情報に基づいて、前記応答遅れの異常の種類を判定する第1応答劣化異常判定部（応答劣化異常判定部Ａ１１１）を備える制御装置。
このようにすることにより、応答遅れの異常がある場合にその種別を特定するので、効率よく応答遅れの異常を分類することができるようになる。
【０１５９】
（vii）開示事項７
開示事項１において、
前記マイクロプロセッサは、さらに、
前記目標空燃比と、前記空燃比センサ信号との時間ずれから無駄時間を検出する無駄時間検出部（無駄時間検出部１０６）と、
前記無駄時間検出部によって検出された無駄時間が所定の無駄時間ＮＧ閾値よりも長いか判断することにより無駄時間の異常を検出する無駄時間異常検出部（無駄時間の遅れの異常検出部１０８）と、を備える制御装置。
このようにすることにより、応答時定数とは別に、無駄時間の異常をも検出することができ、精度良く空燃比センサの異常を分類することができるようになる。
【０１６０】
（viii）開示事項８
開示事項７において、
前記マイクロプロセッサは、さらに、
前記空燃比センサから出力される実空燃比センサ信号の変化を算出し、所定期間における、変化がゼロの回数、負の変化の回数、および正の変化の回数のそれぞれ間の関係に基づいて、前記無駄時間の種類を判定する第２故障モード判定部（故障モード判定部Ｂ１１０）を備える制御装置。
このようにすることにより、無駄時間の種類を判別するための具体的な方法が提供される。
【０１６１】
（ix）開示事項９
開示事項８において、
前記第２故障モード判定部は、前記実空燃比センサ信号の微分値がゼロの時にゼロのカウンタをインクリメントして前記変化がゼロの回数を算出し、前記実空燃比センサ信号の微分値が正の時に正のカウンタをインクリメントして前記正の変化の回数を算出し、前記実空燃比センサ信号の微分値が負の時に負のカウンタをインクリメントして前記負の変化の回数を算出し、前記ゼロのカウンタの値と前記正のカウンタの値と前記負のカウンタの値における差分関係から、故障モード４、故障モード５、および故障モード６を判別する、制御装置。
このようにすることにより、無駄時間の種類を判別するためのさらに具体的な方法が提供される。
【０１６２】
（x）開示事項１０
請求項９において、
前記故障モード４は、前記目標空燃比変更部によって前記目標空燃比をリーンからリッチに変化させた場合に、前記実空燃比センサ信号において、前記目標空燃比がリーン方向に立ち上がった時点から前記実空燃比センサ信号がリーン方向に立ち上がるまでの時間差である第１無駄時間が存在する故障モードであり、
前記故障モード５は、前記目標空燃比変更部によって前記目標空燃比をリッチからリーンに変化させた場合に、前記実空燃比センサ信号において、前記目標空燃比がリッチ方向に立ち上がった時点から前記実空燃比センサ信号がリッチ方向に立ち上がるまでの時間差である第２無駄時間が存在する故障モードであり、
前記故障モード６は、前記目標空燃比変更部によって前記目標空燃比をリーンとリッチの間で変化させた場合に、前記実空燃比センサ信号において、前記第１および第２無駄時間の両方が存在する故障モードである、制御装置。
このようにすることにより、無駄時間の分類を明確に行うことができるようになる。
【０１６３】
（xi）開示事項１１
開示事項８において、
前記マイクロプロセッサは、さらに、
前記無駄時間の異常がある場合の前記第２故障モード判定部によって判定された前記無駄時間の種類の情報に基づいて、前記無駄時間の異常の種類を判定する第２劣化異常判定部（応答劣化異常判定部Ｂ１１２）を備える制御装置。
このようにすることにより、空燃比センサ応答特性における無駄時間を精度良く劣化モードとして分類することができるようになる。
【０１６４】
（xii）開示事項１２
内燃機関に取り付けられた空燃比センサの応答遅れを検出するマイクロプロセッサ（ＭＰＵ２０７１）を備える制御装置であって、
前記マイクロプロセッサは、
目標空燃比をリーンおよびリッチ間で変化させる目標空燃比変更部（目標空燃比変更部１０２）と、
前記目標空燃比変更部によって前記目標空燃比をリーンからリッチに変化させた場合に生じる前記空燃比センサの第１応答遅れと、前記目標空燃比をリッチからリーンに変化させた場合に生じる前記空燃比センサの第２応答遅れと、前記目標空燃比をリーンからリッチに変化した場合、およびリッチからリーンに変化した場合の双方で生じる前記空燃比センサの第３応答遅れと、を前記空燃比センサから出力される実空燃比センサ信号と設定された閾値とに基づいて検出する応答遅れ検出部（応答時定数遅れの異常検出部１０７）と、
前記空燃比センサ信号の傾きを検出する傾き検出部（故障モード判定部１０９）と、
前記傾き検出部により検出された前記傾きが正となっている期間と、前記傾きが負となっている期間との比率に基づいて、前記応答遅れ検出部により検出された応答遅れが前記第１応答遅れか、前記第２応答遅れか、あるいは前記第３応答遅れの何れであるかを判断する判断部（最終劣化異常判定部１１３）と、を備える制御装置。
このようにすることにより、空燃比センサの応答時定数における故障モードを精度良く検出することができるようになる。
【０１６５】
（xiii）開示事項１３
内燃機関に取り付けられた空燃比センサの応答遅れを検出するマイクロプロセッサ（ＭＰＵ２０７１）を備える制御装置であって、
前記マクロプロセッサは、
目標空燃比をリーンおよびリッチ間で変化させる目標空燃比変更部（目標空燃比変更部１０２）と、
前記目標空燃比変更部によって前記目標空燃比を前記リーンおよび前記リッチ間で変化させた場合に、前記空燃比センサから出力される実空燃比センサ信号において生じる前記空燃比センサの応答遅れを検出する応答遅れ検出部（応答時定数検出部１０５）と、
前記応答遅れ検出部によって検出された応答遅れが所定の応答遅れＮＧ閾値よりも大きいか判断することにより応答遅れの異常を検出する応答遅れ異常検出部（応答時定数遅れの異常検出部１０７）と、
前記実空燃比センサ信号の変化を算出し、所定期間における負の変化の回数と正の変化の回数との比の値に基づいて、前記応答遅れの種類を判定する第１故障モード判定部(故障モード判定部A１０９)と、
前記応答遅れの異常がある場合の前記第１故障モード判定部によって判定された前記応答遅れの種類の情報に基づいて、前記応答遅れの異常の種類を判定する第１応答劣化異常判定部（応答劣化異常判定部Ａ１１１）と、
前記目標空燃比と、前記空燃比センサ信号との時間ずれから無駄時間を検出する無駄時間検出部（無駄時間検出部１０６）と、
前記無駄時間検出部によって検出された無駄時間が所定の無駄時間ＮＧ閾値よりも長いか判断することにより無駄時間の異常を検出する無駄時間異常検出部（無駄時間遅れの異常検出部１０８）と、
前記空燃比センサから出力される実空燃比センサ信号の変化を算出し、所定期間における、変化がゼロの回数、負の変化の回数、および正の変化の回数のそれぞれ間の関係に基づいて、前記無駄時間の種類を判定する第２故障モード判定部（故障モード判定部Ｂ１１０）と、
前記無駄時間の異常がある場合の前記第２故障モード判定部によって判定された前記無駄時間の種類の情報に基づいて、前記無駄時間の異常の種類を判定する第２応答劣化異常判定部（応答劣化異常判定部Ｂ１１２）と、
前記第１応答劣化異常判定部と前記第２応答劣化異常判定部の判定結果に基づいて、前記空燃比センサの最終的な異常を判定する最終劣化異常判定部（最終劣化異常判定部１１３）と、を備える制御装置。
このようにすることにより、空燃比センサの応答時定数および無駄時間における故障モードを精度良く検出し、分類することができるようになる。
【０１６６】
（xiv）開示事項１４
開示事項１３において、
前記第１故障モード判定部は、前記実空燃比センサ信号の微分値がゼロ未満の時に負のカウンタをインクリメントして前記負の変化の回数を算出し、前記空燃比センサ信号の微分値がゼロ以上の時に正のカウンタをインクリメントして前記正の変化の回数を算出し、前記所定期間における前記負のカウンタの値と前記正のカウンタの値との比率から、故障モード１、故障モード２、および故障モード３を判別し、
前記故障モード１は、前記目標空燃比変更部によって前記目標空燃比をリーンからリッチに変化させた場合に、前記実空燃比センサ信号に第１応答時定数遅れが生じるモードであり、
前記故障モード２は、前記目標空燃比変更部によって前記目標空燃比をリッチからリーンに変化させた場合に、前記実空燃比センサ信号に第２応答時定数遅れが生じるモードであり、
前記故障モード３は、前記目標空燃比変更部によって前記目標空燃比をリーンからリッチに変化させた場合、およびリッチからからリーンに変化させた場合の双方で、前記実空燃比センサ信号に第３応答時定数遅れが生じるモードである、制御装置。
このようにすることにより、具体的な故障モードに効率的に、かつ確実に分類することができるようになる。
【０１６７】
（xv）開示事項１５
開示事項１３において、
前記第２故障モード判定部は、前記実空燃比センサ信号の微分値がゼロの時にゼロのカウンタをインクリメントして前記変化がゼロの回数を算出し、前記実空燃比センサ信号の微分値が正の時に正のカウンタをインクリメントして前記正の変化の回数を算出し、前記実空燃比センサ信号の微分値が負の時に負のカウンタをインクリメントして前記負の変化の回数を算出し、前記ゼロのカウンタの値と前記正のカウンタの値と前記負のカウンタの値における差分関係から、故障モード４、故障モード５、および故障モード６を判別し、
前記故障モード４は、前記目標空燃比変更部によって前記目標空燃比をリーンからリッチに変化させた場合に、前記実空燃比センサ信号において、前記目標空燃比がリーン方向に立ち上がった時点から前記実空燃比センサ信号がリーン方向に立ち上がるまでの時間差である第１無駄時間が存在する故障モードであり、
前記故障モード５は、前記目標空燃比変更部によって前記目標空燃比をリッチからリーンに変化させた場合に、前記実空燃比センサ信号において、前記目標空燃比がリッチ方向に立ち上がった時点から前記実空燃比センサ信号がリッチ方向に立ち上がるまでの時間差である第２無駄時間が存在する故障モードであり、
前記故障モード６は、前記目標空燃比変更部によって前記目標空燃比をリーンとリッチの間で変化させた場合に、前記実空燃比センサ信号において、前記第１および第２無駄時間の両方が存在する故障モードである、制御装置。
このようにすることにより、無駄時間の分類を明確に行うことができるようになる。
【０１６８】
（４）実施形態は、ソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本開示を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【０１６９】
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
【０１７０】
さらに、実施形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、使用時にそのシステム又は装置のコンピュータ（又はＣＰＵやＭＰＵ）が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしても良い。
【０１７１】
最後に、ここで述べたプロセス及び技術は本質的に如何なる特定の装置に関連することはなく、コンポーネントの如何なる相応しい組み合わせによってでも実装できることを理解する必要がある。更に、汎用目的の多様なタイプのデバイスがここで記述した教授に従って使用可能である。ここで述べた方法のステップを実行するのに、専用の装置を構築するのが有益であることが判るかもしれない。また、実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。本開示は、具体例に関連して記述したが、これらは、すべての観点に於いて限定の為ではなく説明の為である。本分野にスキルのある者には、本開示を実施するのに相応しいハードウェア、ソフトウェア、及びファームウエアの多数の組み合わせがあることが解るであろう。例えば、記述したソフトウェアは、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、Ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ（登録商標）等の広範囲のプログラム又はスクリプト言語で実装できる。
【０１７２】
さらに、上述の実施形態において、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていても良い。
【符号の説明】
【０１７３】
１０１  診断領域判定部１０２  目標空燃比変更部１０３  実空燃比検出部１０４  目標空燃比検出部１０５  応答時定数検出部１０６  無駄時間検出部１０７  応答時定数遅れの異常検出部１０８  無駄時間遅れの異常検出部１０９  故障モード判定部Ａ１１０  故障モード判定部Ｂ１１１  応答劣化異常判定部Ａ１１２  応答劣化異常判定部Ｂ１１３  最終劣化異常判定部２００  エアークリーナ２０１  点火装置２０２  燃料噴射装置２０３  回転数検出装置２０４  流量検出装置２０５  空燃比センサ（触媒前酸素センサ）２０６  三元触媒２０７  内燃機関制御装置２０８  プレートまたはリングギア２０９  燃料タンク２１０  燃料ポンプ２１１  プレッシャーレギュレータ２１２  燃料管２１３  スロットルバルブ２１４  気筒２１５  触媒後酸素センサ
【図１】
2020008842.tif 000006
【図２】
2020008842.tif 000007
【図３】
2020008842.tif 000008
【図４】
2020008842.tif 000009
【図５】
2020008842.tif 000010
【図６】
2020008842.tif 000011
【図７】
2020008842.tif 000012
【図８】
2020008842.tif 000013
【図９】
2020008842.tif 000014
【図１０】
2020008842.tif 000015
【図１１】
2020008842.tif 000016
【図１２】
2020008842.tif 000017
【図１３】
2020008842.tif 000018
【図１４】
2020008842.tif 000019
【図１５】
2020008842.tif 000020
【図１６】
2020008842.tif 000021
【図１７】
2020008842.tif 000022
【図１８】
2020008842.tif 000023
【図１９】
2020008842.tif 000024
【図２０】
2020008842.tif 000025
【図２１】
2020008842.tif 000026
【図２２】
2020008842.tif 000027
【図２３】
2020008842.tif 000028
【図２４】
2020008842.tif 000029
【図２５】
2020008842.tif 000030
【図２６】
2020008842.tif 000031
【図２７】
2020008842.tif 000032
【図２８】
2020008842.tif 000033
【図２９】
2020008842.tif 000034
【図３０】
2020008842.tif 000035
【図３１】
2020008842.tif 000036
【図３２】
2020008842.tif 000037
【国際調査報告】
2020008842.tif 000038
2020008842.tif 000039
2020008842.tif 000040
2020008842.tif 000041
2020008842.tif 000042
2020008842.tif 000043
2020008842.tif 000044
2020008842.tif 000045
2020008842.tif 000046
2020008842.tif 000047