(57)【要約】  内燃機関診断装置（１４）及び内燃機関診断方法では、内燃機関（１６）の作動中、複数の気筒（３２）のうち空燃比が異常である異常気筒を特定する。内燃機関診断装置（１４）は、複数の気筒（３２）それぞれの燃料噴射量を調整する燃料噴射量調整手段（２０）を制御することにより空燃比を段階的に変化させる空燃比制御部（８４）と、段階的に変化させた空燃比毎に失火カウンタ（２０）がカウントした複数の気筒（３２）の失火発生回数と、段階的に変化させた空燃比との関係から異常気筒を特定する異常気筒特定部（８４）とを有する。
2012029517.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関（１６）の作動中、複数の気筒（３２ａ〜３２ｄ）のうち空燃比が異常である異常気筒を特定する内燃機関診断装置（１４）であって、
前記複数の気筒（３２ａ〜３２ｄ）それぞれの燃料噴射量を調整する燃料噴射量調整手段（２０）を制御することにより空燃比を段階的に変化させる空燃比制御部（８４）と、
段階的に変化させた空燃比毎に失火カウンタ（２０）がカウントした前記複数の気筒（３２ａ〜３２ｄ）の失火発生回数と、前記段階的に変化させた空燃比との関係から前記異常気筒を特定する異常気筒特定部（８４）と
を有することを特徴とする内燃機関診断装置（１４）。
【請求項２】
請求項１記載の内燃機関診断装置（１４）において、
前記空燃比制御部（８４）は、前記内燃機関（１６）に負荷がかかっていない状態において、前記複数の気筒（３２ａ〜３２ｄ）を１つずつ順番に前記燃料噴射量を調整するように前記燃料噴射量調整手段（２０）を制御して空燃比を段階的に増加又は減少させる
ことを特徴とする内燃機関診断装置（１４）。
【請求項３】
請求項１記載の内燃機関診断装置（１４）において、
前記空燃比制御部（８４）は、前記燃料噴射量を、理論空燃比を実現するための設定値から開始して段階的に減少させる
ことを特徴とする内燃機関診断装置（１４）。
【請求項４】
請求項３記載の内燃機関診断装置（１４）において、
前記燃料噴射量が、前記内燃機関（１６）の特性によって定められるリーン側の燃焼限界値を下回るとき、前記失火発生回数が第１閾値よりも低い気筒がある場合、前記異常気筒特定部（８４）は、燃料が過剰に供給されるリッチ故障が当該気筒に発生していると判定する
ことを特徴とする内燃機関診断装置（１４）。
【請求項５】
請求項３記載の内燃機関診断装置（１４）において、
前記燃料噴射量が、理論空燃比を実現するための設定値であるとき又は前記内燃機関（１６）の特性により定まる燃焼可能範囲内の所定値であるとき、前記失火発生回数が第２閾値よりも高い気筒がある場合、前記異常気筒特定部（８４）は、燃料供給が不足しているリーン故障が当該気筒に発生していると判定する
ことを特徴とする内燃機関診断装置（１４）。
【請求項６】
請求項１記載の内燃機関診断装置（１４）において、
前記空燃比を段階的に変化させている際、前記複数の気筒（３２ａ〜３２ｄ）のいずれかの失火発生回数又はその合計が所定値を越えた場合、前記空燃比の段階的な変化を中止させることで点火プラグ（３６）又は排ガス浄化用フィルタ（１８）を保護する保護部（８４）を有する
ことを特徴とする内燃機関診断装置（１４）。
【請求項７】
請求項１又は６記載の内燃機関診断装置（１４）において、
前記内燃機関（１６）全体の空燃比が目標空燃比からずれている場合、前記複数の気筒（３２ａ〜３２ｄ）それぞれに同一の補正値を適用して前記内燃機関（１６）全体の空燃比が前記目標空燃比と等しくなるように制御する空燃比フィードバック制御を実行可能であり、
前記内燃機関（１６）の診断時において、
前記内燃機関（１６）の暖機運転後のアイドル運転中に、前記複数の気筒（３２ａ〜３２ｄ）それぞれに対して少なくとも前記空燃比フィードバック制御を実行すると共に、前記複数の気筒（３２ａ〜３２ｄ）それぞれについて失火の発生を監視し、
前記失火が発生したとき、前記空燃比フィードバック制御を停止すると共に、燃料噴射基本制御を開始又は継続して失火が継続するか否かを判定し、
前記燃料噴射基本制御のみでも失火が継続する場合、前記補正値が、燃料が過剰に供給されるリッチ故障を判定するための第１閾値又は燃料供給が不足しているリーン故障を判定するための第２閾値を超えるか否かを判定し、
前記補正値が前記第１閾値を超える場合、その時点で失火が発生している気筒にリッチ故障が生じていると判定し、又は前記補正値が前記第２閾値を超える場合、その時点で失火が発生している気筒にリーン故障が生じていると判定する
ことを特徴とする内燃機関診断装置（１４）。
【請求項８】
内燃機関（１６）の作動中、複数の気筒（３２ａ〜３２ｄ）のうち空燃比が異常である異常気筒を特定する内燃機関診断方法であって、
前記複数の気筒（３２ａ〜３２ｄ）それぞれの燃料噴射量を制御することにより空燃比を段階的に変化させる空燃比変化ステップと、
段階的に変化させた空燃比毎に、前記複数の気筒（３２ａ〜３２ｄ）の失火発生回数をカウントする失火発生回数カウントステップと、
前記段階的に変化させた空燃比と前記失火発生回数との関係から前記異常気筒を特定する異常気筒特定ステップと
を有することを特徴とする内燃機関診断方法。
【請求項９】
請求項８記載の内燃機関診断方法において、
前記空燃比変化ステップでは、前記内燃機関（１６）に負荷がかかっていない状態において、前記複数の気筒（３２ａ〜３２ｄ）を１つずつ順番に前記燃料噴射量を制御して空燃比を段階的に増加又は減少させる
ことを特徴とする内燃機関診断方法。
【請求項１０】
請求項８記載の内燃機関診断方法において、
前記空燃比変化ステップでは、前記燃料噴射量を、理論空燃比を実現するための設定値から開始して段階的に減少させる
ことを特徴とする内燃機関診断方法。
【請求項１１】
請求項１０記載の内燃機関診断方法において、
前記異常気筒特定ステップにおいて、前記燃料噴射量が、前記内燃機関（１６）の特性により定まるリーン側の燃焼限界値を下回るとき、前記失火発生回数が第１閾値よりも低い気筒がある場合、燃料が過剰に供給されるリッチ故障が当該気筒に発生していると判定する
ことを特徴とする内燃機関診断方法。
【請求項１２】
請求項１０記載の内燃機関診断方法において、
前記異常気筒特定ステップにおいて、前記燃料噴射量が、理論空燃比を実現するための設定値であるとき又は前記内燃機関（１６）の特性により定まる燃焼可能範囲内の値であるとき、前記失火発生回数が第２閾値よりも高い気筒がある場合、燃料供給が不足しているリーン故障が当該気筒に発生していると判定する
ことを特徴とする内燃機関診断方法。
【請求項１３】
請求項８記載の内燃機関診断方法であって、
前記空燃比を段階的に変化させている際、前記複数の気筒（３２ａ〜３２ｄ）のいずれかの失火発生回数又はその合計が所定値を越えた場合、前記空燃比の段階的な変化を中止させることで点火プラグ（３６）又は排ガス浄化用フィルタ（１８）を保護する保護ステップを有する
ことを特徴とする内燃機関診断方法。
【請求項１４】
請求項８又は１３記載の内燃機関診断方法であって、
前記複数の気筒（３２ａ〜３２ｄ）それぞれに対する燃料噴射量を調整することにより、前記複数の気筒（３２ａ〜３２ｄ）それぞれにおける空燃比を制御する燃料噴射基本制御ステップと、
前記複数の気筒（３２ａ〜３２ｄ）それぞれの失火発生回数をカウントする失火発生回数カウントステップと、
前記異常気筒を特定する異常気筒特定ステップと
を備え、
前記燃料噴射基本制御ステップでは、
前記複数の気筒（３２ａ〜３２ｄ）それぞれの空燃比が前記内燃機関（１６）全体の目標空燃比と等しくなるように前記複数の気筒（３２ａ〜３２ｄ）それぞれの空燃比を制御する燃料噴射基本制御と、
前記内燃機関（１６）全体の空燃比が目標空燃比からずれている場合、前記複数の気筒（３２ａ〜３２ｄ）それぞれに同一の補正値を適用して前記内燃機関（１６）全体の空燃比が前記目標空燃比と等しくなるように制御する空燃比フィードバック制御と
を実行し、
また、前記燃料噴射基本制御ステップでは、前記内燃機関（１６）の診断時において、
前記内燃機関（１６）の暖機運転後のアイドル運転中に、前記複数の気筒（３２ａ〜３２ｄ）それぞれに対して少なくとも前記空燃比フィードバック制御を実行すると共に、前記複数の気筒（３２ａ〜３２ｄ）それぞれについて失火の発生を監視し、
前記失火が発生したとき、前記空燃比フィードバック制御を停止すると共に、前記燃料噴射基本制御を開始又は継続して失火が継続するか否かを判定し、
前記燃料噴射基本制御のみでも失火が継続する場合、前記補正値が、燃料が過剰に供給されるリッチ故障を判定するための第１閾値又は燃料供給が不足しているリーン故障を判定するための第２閾値を超えるか否かを判定し、
前記補正値が前記第１閾値を超える場合、その時点で失火が発生している気筒にリッチ故障が生じていると判定し、又は前記補正値が前記第２閾値を超える場合、その時点で失火が発生している気筒にリーン故障が生じていると判定する
ことを特徴とする内燃機関診断方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、内燃機関の作動中、複数の気筒のうち空燃比が異常である異常気筒を特定する内燃機関診断装置及び内燃機関診断方法に関する。
【背景技術】
【０００２】
自動車等における内燃機関の作動に際し、排ガス浄化の観点から空燃比センサを設け、空燃比フィードバック制御によって、空燃比を良好な状態に維持するよう燃料供給量の制御が行われている。【０００３】
また、排ガス自体は良好な状態に維持されていても、気筒間で空燃比がばらつくと、排ガスを浄化する触媒の浄化率が低下する怖れがあるため、それぞれの気筒の空燃比のばらつきを監視することも行われている｛特開２００９−２７０５４３号公報（以下「ＪＰ２００９−２７０５４３Ａ」という。）及び特開平３−１８９３７１号公報（以下「ＪＰ３−１８９３７１Ａ」という。）参照｝。【０００４】
ＪＰ２００９−２７０５４３Ａでは、例えば、全気筒の燃焼が一巡する周期を１サイクルと捉えて、その１サイクル内での空燃比の変動を測定して変動が大きいときには故障と判断する（要約参照）。【０００５】
ＪＰ３−１８９３７１Ａでは、失火を検知したら、各気筒に対する点火制御を個別に順次停止させ、このときの空燃比センサの出力平均値及び出力振れ幅の値を取り込み、点火制御を停止させる前の値と比較することにより、失火気筒を特定する（請求項１参照）。ここで、空燃比センサは、１つ又は複数設けることができるとされている（４頁下左欄６〜１０行目）。
【発明の概要】
【０００６】
ＪＰ２００９−２７０５４３Ａでは、気筒間で空燃比に不均衡が発生するという気筒間故障の発生を判断することが容易となるが、いずれの気筒が故障しているのかを特定することができない。
【０００７】
また、ＪＰ３−１８９３７１Ａでは、失火が発生している場合の故障気筒を特定するだけで、各気筒の空燃比の状態の良否等を判別することができない。
【０００８】
この発明は、このような問題を考慮してなされたものであり、空燃比が異常である異常気筒を高精度且つ簡易に特定することが可能な内燃機関診断装置及び内燃機関診断方法を提供することを目的とする。
【０００９】
この発明に係る内燃機関診断装置は、内燃機関の作動中、複数の気筒のうち空燃比が異常である異常気筒を特定するものであって、前記複数の気筒それぞれの燃料噴射量を調整する燃料噴射量調整手段を制御することにより空燃比を段階的に変化させる空燃比制御部と、段階的に変化させた空燃比毎に失火カウンタがカウントした前記複数の気筒の失火発生回数と、前記段階的に変化させた空燃比との関係から前記異常気筒を特定する異常気筒特定部とを有することを特徴とする。
【００１０】
この発明によれば、空燃比が異常である異常気筒を高精度且つ簡易に特定することが可能となる。
【００１１】
すなわち、一般に、空燃比と失火発生との関係は、内燃機関の構成に応じてある程度決まってくる。例えば、実際の空燃比が理論空燃比と等しいとき失火の発生は略ゼロであるが、実際の空燃比がリーン側又はリッチ側に向かうに連れて燃料噴射回数に対しての失火発生率は大きくなる。この発明では、空燃比を段階的に変化させ、失火発生回数をカウントすることで、燃焼可能な燃料噴射範囲を求め、空燃比の異常を検出する。従って、空燃比の異常を検出し易くなり、異常気筒を高精度に特定することが可能となる。
【００１２】
また、空燃比の制御は、内燃機関について一般的に行われていることであると共に、失火発生回数のカウントは、例えば、クランク角センサと演算装置とにより行うことが可能となる。従って、空燃比の制御と失火発生回数のカウントは、内燃機関に関する既存の構成を流用して行うことが可能である。この発明によれば、段階的に変化させた空燃比と、複数の気筒の失火発生回数との関係から異常気筒を特定する。このため、内燃機関に関する既存の構成を流用して制御又は判定が可能な空燃比及び失火発生回数を用いることで異常気筒を簡易に特定することが可能となる。
【００１３】
前記空燃比制御部は、前記内燃機関に負荷がかかっていない状態において、前記複数の気筒を１つずつ順番に前記燃料噴射量を調整するように前記燃料噴射量調整手段を制御して空燃比を段階的に増加又は減少させてもよい。これにより、気筒の異常を気筒１つずつ確認することができるため、より正確に異常気筒を判定することが可能となる。
【００１４】
なお、内燃機関に負荷がかかっていない状態には、例えば、アイドル運転状態がある。
【００１５】
前記空燃比制御部は、前記燃料噴射量を、理論空燃比を実現するための設定値から開始して段階的に減少させてもよい。これにより、空燃比を、失火発生回数が略ゼロとなる理論空燃比から、失火発生回数が増加するリーン側へと変化させていくので、異常気筒を正確に判定可能になると共に、失火の発生による点火プラグ又は触媒への悪影響を極力抑えることが可能となる。
【００１６】
すなわち、失火が頻繁に発生すると、気筒の燃焼室内の温度低下を生じ、点火プラグが燻り易く（煤が溜まり易く）なる。その結果、当該煤に起因して失火が生じる可能性も高くなり、空燃比の変化に起因する失火発生回数を正確に判定できなくなることも想定される。また、点火プラグに溜まる煤は、点火プラグの耐久性に悪影響を与えることもあり得る。さらに、失火が発生すると、燃焼室内で燃焼しなかった未燃ガスが内燃機関から排出されて、触媒の熱により触媒中で着火する場合があり、この現象が頻繁に発生すると触媒の耐久性に悪影響を及ぼす可能性がある。この発明によれば、正常な燃焼運転状態から失火し易い状態へと徐々に変化させていくので、燃焼室内の温度低下を最小限に抑えることができる。従って、上記のような不具合を防止することが可能となる。
【００１７】
空燃比異常を判別する手法として、例えば、前述のように気筒毎に燃料噴射量を変更させる際、前記燃料噴射量が、前記内燃機関の特性により定まるリーン側の燃焼限界値を下回るとき、前記失火発生回数が第１閾値よりも低い気筒がある場合、前記異常気筒特定部は、燃料が過剰に供給されるリッチ故障が当該気筒に発生していると判定してもよい。これにより、簡易にリッチ故障を判定することが可能となる。
【００１８】
同様に、前記燃料噴射量が、理論空燃比を実現するための設定値であるとき又は前記内燃機関の特性により定まる燃焼可能範囲内の所定値であるとき、前記失火発生回数が第２閾値よりも高い気筒がある場合、前記異常気筒特定部は、燃料供給が不足しているリーン故障が当該気筒に発生していると判定してもよい。これにより、簡易にリーン故障を判定することが可能となる。
【００１９】
この発明に係る内燃機関診断装置は、内燃機関の作動中、複数の気筒のうち空燃比が異常である異常気筒を特定するものであって、前記複数の気筒それぞれに対する燃料噴射量を制御することにより空燃比を段階的に変化させ、前記段階的に変化させた空燃比と前記複数の気筒それぞれの失火発生回数との関係から前記異常気筒を特定する異常気筒特定部と、前記空燃比を段階的に変化させている際、前記複数の気筒のいずれかの失火発生回数又はその合計が所定値を越えた場合、前記空燃比の段階的な変化を中止させることで点火プラグ又は排ガス浄化用フィルタを保護する保護部とを有することを特徴とする。
【００２０】
この発明によれば、空燃比を段階的に変化させている際、複数の気筒のいずれかの失火発生回数又はその合計が、所定値を超えた場合、空燃比の段階的な変化を中止させることで点火プラグ又は排ガス浄化用フィルタを保護する。このため、当該所定値に応じて、例えば、点火プラグ又は排ガス浄化用フィルタへの悪影響を抑制することが可能となる。
【００２１】
すなわち、上記のように、失火が頻繁に発生すると、気筒の燃焼室内の温度低下を生じ、点火プラグが燻り易く（煤が溜まり易く）なる。その結果、当該煤に起因して失火が生じる可能性も高くなり、空燃比の変化に起因する失火発生回数を正確に判定できなくなることも想定される。また、点火プラグに溜まる煤は、点火プラグの耐久性に悪影響を及ぼすこともあり得る。さらに、失火が発生すると、燃焼室内で燃焼しなかった未燃ガスが内燃機関から排出されて、排ガス浄化用フィルタ（触媒）の熱により触媒中で着火する場合があり、この現象が頻繁に発生すると触媒が高温になり過ぎて触媒の耐久性に悪影響を及ぼす可能性がある。この発明によれば、空燃比を段階的に変化させている際、複数の気筒のいずれかの失火発生回数又はその合計が、所定値を超えた場合、空燃比の段階的な変化を中止させることで点火プラグ又は排ガス浄化用フィルタを保護する。従って、例えば、失火が頻繁に発生して、その結果、触媒中での燃焼可能性のデータ値から触媒温度が上昇し過ぎとならない程度の値を当該所定値として設定することにより、当該フィルタへの悪影響を回避することが可能となる。また、点火プラグに煤が溜まり易くなる失火発生回数よりも小さい値を当該所定値として設定することにより、点火プラグへの悪影響を回避することが可能となる。
【００２２】
前記異常気筒特定部は、前記複数の気筒のいずれかの失火発生回数又はその合計を、空燃比を変化させる測定周期毎にカウントしてもよい。これにより、空燃比の値毎に複数の気筒のいずれかの失火発生回数又はその合計の異常を判定することが可能となり、異常気筒の特定時の失火の異常を好適に検出することが可能となる。
【００２３】
この発明に係る内燃機関診断装置は、内燃機関の作動中、複数の気筒のうち空燃比が異常である異常気筒を特定するものであって、前記内燃機関全体の空燃比が目標空燃比からずれている場合、前記複数の気筒それぞれに同一の補正値を適用して前記内燃機関全体の空燃比が前記目標空燃比と等しくなるように制御する空燃比フィードバック制御を実行可能であり、前記内燃機関の診断時において、前記内燃機関の暖機運転後のアイドル運転中に、前記複数の気筒それぞれに対して少なくとも前記空燃比フィードバック制御を実行すると共に、前記複数の気筒それぞれについて失火の発生を監視し、前記失火が発生したとき、前記空燃比フィードバック制御を停止すると共に、燃料噴射基本制御を開始又は継続して失火が継続するか否かを判定し、前記燃料噴射基本制御のみでも失火が継続する場合、前記補正値が、燃料が過剰に供給されるリッチ故障を判定するための第１閾値又は燃料供給が不足しているリーン故障を判定するための第２閾値を超えるか否かを判定し、前記補正値が前記第１閾値を超える場合、その時点で失火が発生している気筒にリッチ故障が生じていると判定し、又は前記補正値が前記第２閾値を超える場合、その時点で失火が発生している気筒にリーン故障が生じていると判定することを特徴とする。
【００２４】
この発明によれば、内燃機関全体としては空燃比の制御に問題が生じていない場合でも、個々の気筒に生じた空燃比制御の不具合を検出することが可能となる。
【００２５】
例えば、内燃機関の通常作動時には、燃料噴射基本制御と空燃比フィードバック制御とを組み合わせて用いる場合、ここで、例えば、内燃機関が４つの気筒を備え、そのうちの１つ（第１気筒）が、燃料供給が不足しているリーン故障を生じている場合、空燃比フィードバック制御により、他の３つの気筒（第２〜第４気筒）の空燃比を燃料供給を多くするように調整し、第１気筒の空燃比を燃料供給を少なくするように調整することで内燃機関全体の空燃比としては目標空燃比を実現可能である（図１９及び図２０参照）。この場合、第１気筒のリーン故障を検出することができない。
【００２６】
この発明によれば、内燃機関の診断時には、空燃比フィードバック制御を停止して燃料噴射基本制御のみを実行するため、異常気筒を高精度且つ容易に特定することが可能となる。従って、検査対象の内燃機関に気筒毎の空燃比センサがなく、内燃機関全体の空燃比センサのみが設けられている場合でも、異常気筒を高精度且つ容易に特定することができる。
【００２７】
前記内燃機関診断装置は、前記複数の気筒それぞれの燃料噴射量を調整する燃料噴射量調整手段を制御することにより、前記複数の気筒それぞれにおける空燃比を制御する空燃比制御部と、前記異常気筒を特定する異常気筒特定部とを備え、前記燃料噴射調整手段を制御することにより、前記複数の気筒の少なくとも１つの空燃比を段階的に変化させ、前記異常気筒特定部は、段階的に変化させた空燃比毎に失火カウンタがカウントした前記複数の気筒の失火発生回数と、前記段階的に変化させた空燃比との関係から前記異常気筒を特定してもよい。
【００２８】
この発明に係る内燃機関診断方法は、内燃機関の作動中、複数の気筒のうち空燃比が異常である異常気筒を特定するものであって、前記複数の気筒それぞれの燃料噴射量を制御することにより空燃比を段階的に変化させる空燃比変化ステップと、段階的に変化させた空燃比毎に、前記複数の気筒の失火発生回数をカウントする失火発生回数カウントステップと、前記段階的に変化させた空燃比と前記失火発生回数との関係から前記異常気筒を特定する異常気筒特定ステップとを有することを特徴とする。
【００２９】
前記空燃比変化ステップでは、前記内燃機関に負荷がかかっていない状態において、前記複数の気筒を１つずつ順番に前記燃料噴射量を制御して空燃比を段階的に増加又は減少させてもよい。
【００３０】
前記空燃比変化ステップでは、前記燃料噴射量を、理論空燃比を実現するための設定値から開始して段階的に減少させてもよい。
【００３１】
前記異常気筒特定ステップにおいて、前記燃料噴射量が、前記内燃機関の特性により定まるリーン側の燃焼限界値を下回るとき、前記失火発生回数が第１閾値よりも低い気筒がある場合、燃料が過剰に供給されるリッチ故障が当該気筒に発生していると判定してもよい。
【００３２】
前記異常気筒特定ステップにおいて、前記燃料噴射量が、理論空燃比を実現するための設定値であるとき又は前記内燃機関の特性により定まる燃焼可能範囲内の所定値であるとき、前記失火発生回数が第２閾値よりも高い気筒がある場合、燃料供給が不足しているリーン故障が当該気筒に発生していると判定してもよい。
【００３３】
この発明に係る内燃機関診断方法は、内燃機関の作動中、複数の気筒のうち空燃比が異常である異常気筒を特定するものであって、前記複数の気筒それぞれに対する燃料噴射量を制御することにより空燃比を段階的に変化させ、前記段階的に変化させた空燃比と前記複数の気筒それぞれの失火発生回数との関係から前記異常気筒を特定する異常気筒特定ステップと、前記空燃比を段階的に変化させている際、前記複数の気筒のいずれかの失火発生回数又はその合計が所定値を越えた場合、前記空燃比の段階的な変化を中止させることで点火プラグ又は排ガス浄化用フィルタを保護する保護ステップとを有することを特徴とする。
【００３４】
前記異常気筒特定ステップは、前記複数の気筒のいずれかの失火発生回数又はその合計を、空燃比を変化させる測定周期毎にカウントしてもよい。
【００３５】
この発明に係る内燃機関診断方法は、内燃機関の作動中、複数の気筒のうち空燃比が異常である異常気筒を特定するものであって、前記複数の気筒それぞれに対する燃料噴射量を調整することにより、前記複数の気筒それぞれにおける空燃比を制御する燃料噴射基本制御ステップと、前記複数の気筒それぞれの失火発生回数をカウントする失火発生回数カウントステップと、前記異常気筒を特定する異常気筒特定ステップとを備え、前記燃料噴射基本制御ステップでは、前記複数の気筒それぞれの空燃比が前記内燃機関全体の目標空燃比と等しくなるように前記複数の気筒それぞれの空燃比を制御する燃料噴射基本制御と、前記内燃機関全体の空燃比が目標空燃比からずれている場合、前記複数の気筒それぞれに同一の補正値を適用して前記内燃機関全体の空燃比が前記目標空燃比と等しくなるように制御する空燃比フィードバック制御とを実行し、また、前記燃料噴射基本制御ステップでは、前記内燃機関の診断時において、前記内燃機関の暖機運転後のアイドル運転中に、前記複数の気筒それぞれに対して少なくとも前記空燃比フィードバック制御を実行すると共に、前記複数の気筒それぞれについて失火の発生を監視し、前記失火が発生したとき、前記空燃比フィードバック制御を停止すると共に、前記燃料噴射基本制御を開始又は継続して失火が継続するか否かを判定し、前記燃料噴射基本制御のみでも失火が継続する場合、前記補正値が、燃料が過剰に供給されるリッチ故障を判定するための第１閾値又は燃料供給が不足しているリーン故障を判定するための第２閾値を超えるか否かを判定し、前記補正値が前記第１閾値を超える場合、その時点で失火が発生している気筒にリッチ故障が生じていると判定し、又は前記補正値が前記第２閾値を超える場合、その時点で失火が発生している気筒にリーン故障が生じていると判定することを特徴とする。
【図面の簡単な説明】
【００３６】
【図１】この発明の一実施形態に係る内燃機関診断装置を有する内燃機関診断システムの概略的な構成を示すブロック図である。
【図２】エンジン内部の概略的な構成を示す図である。
【図３】各気筒の異常診断の概要を示すフローチャートである。
【図４】図３に示す処理を行う際の各種の信号、数値及び処理の関係の一例を示すタイムチャートである。
【図５】図４の一部（計測による計測データを含む。）を詳細に示すタイムチャートである。
【図６】暖機処理のフローチャートである。
【図７】エンジン回転数安定化処理のフローチャートである。
【図８】エンジン始動後の各気筒それぞれの失火発生回数の累積値の一例を示す図である。
【図９】第１診断処理のフローチャートである。
【図１０】第２診断処理の第１フローチャートである。
【図１１】第２診断処理の第２フローチャートである。
【図１２】測定周期毎の失火発生回数の累積値の一例を示す図である。
【図１３】第２診断処理において、各気筒の故障の有無、及び故障が発生している場合、その種類を特定するためのフローチャートである。
【図１４】第２診断処理において、各気筒の故障の有無、及び故障が発生している場合、その種類を特定する方法の説明図である。
【図１５】内燃機関診断装置が取得する失火発生回数の累積値のデータテーブルと、データテーブルに基づくグラフと、内燃機関診断装置の表示部に表示される画面の第１例を示す図である。
【図１６】内燃機関診断装置が取得する失火発生回数の累積値のデータテーブルと、データテーブルに基づくグラフと、内燃機関診断装置の表示部に表示される画面の第２例を示す図である。
【図１７】内燃機関診断装置が取得する失火発生回数の累積値のデータテーブルと、データテーブルに基づくグラフと、内燃機関診断装置の表示部に表示される画面の第３例を示す図である。
【図１８】内燃機関診断装置が取得する失火発生回数の累積値のデータテーブルと、データテーブルに基づくグラフと、内燃機関診断装置の表示部に表示される画面の第４例を示す図である。
【図１９】燃料噴射基本制御のみを用いた場合における各気筒の空燃比の一例を示す図である。
【図２０】燃料噴射基本制御及び空燃比フィードバック制御を用いた場合における各気筒の空燃比の一例を示す図である。
【図２１】第２診断処理における基準噴射量に対する目標噴射量の割合の補正量の切替えの第１変形例を示す図である。
【図２２】第２診断処理における前記補正量の切替えの第２変形例を示す図である。
【発明を実施するための形態】
【００３７】
Ａ．一実施形態
１．構成
（１）全体構成
図１は、この発明の一実施形態に係る内燃機関診断装置１４（以下「診断装置１４」ともいう。）を有する内燃機関診断システム１０（以下「システム１０」ともいう。）の概略的な構成を示すブロック図である。システム１０は、診断対象としてのエンジン１６を搭載した車両１２と、エンジン１６の診断を行う診断装置１４とを有する。
【００３８】
（２）車両１２
（ａ）全体構成
車両１２は、エンジン１６に加え、エンジン１６からの排ガスを浄化する排ガスフィルタ１８（以下「フィルタ１８」ともいう。）と、エンジン１６の出力を制御するエンジン電子制御装置２０（以下「エンジンＥＣＵ２０」という。）と、エンジン１６の冷却水の温度Ｔｗ［℃］を検出する温度センサ２２と、イグニションスイッチ２４（以下「ＩＧＳＷ２４」という。）とを有する。
【００３９】
（ｂ）エンジン１６
図２には、エンジン１６内部の概略的な構成が示されている。エンジン１６は、いわゆる直列４気筒エンジンであり、吸気量センサ２８と、スロットル弁３０と、開度センサ３１と、第１〜第４気筒３２ａ〜３２ｄ（以下「気筒３２」と総称する。）と、気筒３２毎の燃料噴射弁３４と、気筒３２毎の点火プラグ３６と、空燃比センサ３８と、クランクシャフト４０と、クランク角センサ４１と、気筒３２毎の上死点センサ４２とを有する。
【００４０】
吸気量センサ２８は、スロットル弁３０の開度θｔｈ［°］に応じてエンジン１６に吸入される空気量（以下「吸気量Ｑａｆ」という。）を検出し、エンジンＥＣＵ２０に出力する。スロットル弁３０は、インテークマニホールド４４内に配置されている。開度センサ３１は、スロットル弁３０の開度θｔｈを検出し、エンジンＥＣＵ２０に出力する。燃料噴射弁３４及び点火プラグ３６は、各気筒３２の燃焼室４６に面して配置されている。空燃比センサ３８は、図示しない酸素センサを含み、エキゾーストマニホールド４８内に配置されている。空燃比センサ３８は、エンジン１６全体の空燃比（以下「全体空燃比Ｒａｆ＿ｔｏｔａｌ」という。）を検出し、エンジンＥＣＵ２０に出力する。クランク角センサ４１は、クランクシャフト４０の回転角（以下「クランク角Ａｃ」という。）［°］を検出し、エンジンＥＣＵ２０に出力する。上死点センサ４２は、ピストン４９の上死点を検出し、エンジンＥＣＵ２０に出力する。
【００４１】
（ｃ）排ガスフィルタ１８
排ガスフィルタ１８は、エキゾーストマニホールド４８の下流側（排気側）に配置され、エンジン１６からの排ガスを浄化して放出する。本実施形態におけるフィルタ１８は、排ガス浄化用の三元触媒を含む。
【００４２】
（ｄ）エンジンＥＣＵ２０
エンジンＥＣＵ２０は、エンジン１６の運転を制御するものであり、図１に示すように、入出力部５０と、演算部５２と、記憶部５４とを有する。
【００４３】
本実施形態におけるエンジンＥＣＵ２０は、例えば、エンジン回転数算出機能と、失火発生回数カウント機能と、スロットル弁制御機能と、燃料噴射弁制御機能と、点火プラグ制御機能とを実行する。
【００４４】
エンジン回転数算出機能は、各上死点センサ４２からの出力に基づいてエンジン１６の回転数（エンジン回転数Ｎｅ）［ｒｐｍ］を算出する機能であり、本実施形態では、各上死点センサ４２と組み合わせることにより、エンジン回転数センサを構成する。代わりに、エンジンＥＣＵ２０とは独立のエンジン回転数センサを設け、その出力をエンジンＥＣＵ２０に送信してもよい。
【００４５】
失火発生回数カウント機能は、クランク角センサ４１からの出力に基づいて各気筒３２それぞれにおける失火発生の有無を判別し、失火が発生したと判別された場合の各気筒３２それぞれにおける失火発生回数をカウントする機能である。本実施形態では、同機能は、クランク角センサ４１と組み合わせることにより、失火カウンタを構成する。なお、失火発生の有無の判別は、例えば、所定クランク角での燃焼圧力を検出し、当該燃焼圧力が所定値以下である場合に失火が発生したと判定する、又は、所定クランク角でのクランク角速度が所定値以下である場合に失火が発生したと判定する等の公知の手段を用いることができる。
【００４６】
スロットル弁制御機能は、図示しないアクセルペダルの操作量等に基づいてスロットル弁３０の開度θｔｈを制御することにより、エンジン１６の出力を制御する機能である。
【００４７】
燃料噴射弁制御機能は、図示しないアクセルペダルの操作量等に基づいて燃料噴射弁３４からの燃料噴射量Ｑｆｉ（目標値）を制御することにより、エンジン１６の出力を制御する機能である。
【００４８】
点火プラグ制御機能は、図示しないアクセルペダルの操作量等に基づいて各点火プラグ３６の点火タイミングを制御することにより、エンジン１６の出力を制御する機能である。
【００４９】
（３）診断装置１４
診断装置１４は、各気筒３２における空燃比の異常発生の有無を診断するものであり、図１に示すように中継器６０と本体６２とを有する。
【００５０】
中継器６０は、本体６２とエンジンＥＣＵ２０との間の通信を中継するものであり、エンジンＥＣＵ２０に接続するためのケーブル７０と、ケーブル７０が連結される入出力部７２と、本体６２と無線通信を行う通信部７４と、各部の制御を行う演算部７６と、演算部７６で用いる制御プログラム等の各種のプログラムやデータを記憶する記憶部７８とを有する。
【００５１】
本体６２は、図示しないキーボードやタッチパッド等からなる入出力部８０と、中継器６０と無線通信を行う通信部８２と、各部の制御及び各気筒３２の異常判定を行う演算部８４と、演算部８４で用いる制御プログラムや異常診断プログラム等の各種プログラムやデータを記憶する記憶部８６と、各種の表示を行う表示部８８とを有する。本体６２のハードウェア構成としては、例えば、市販のノート型パーソナルコンピュータを用いることができる。また、以下では、演算部８４が実行する各気筒３２の異常判定機能を「異常気筒判定機能」という。
【００５２】
診断装置１４を用いて各気筒３２の異常診断を行う際、中継器６０のケーブル７０の一端を中継器６０の入出力部７２に接続した状態で、車両１２の図示しないインスツルメントパネルに設けられた図示しないコネクタ（データリンクコネクタ）にケーブル７０の他端を接続する。その後、本体６２の入出力部８０に対するユーザからの操作に応じて、本体６２は、各気筒３２の異常診断を行う。その際、本体６２は、エンジンＥＣＵ２０を介してエンジン１６を作動させる。本体６２が行う各気筒３２の異常診断の詳細は後述する。
【００５３】
２．気筒３２の異常診断
図３は、各気筒３２の異常診断の概要を示すフローチャートである。図４は、図３に示す処理を行う際の各種の信号、数値及び処理の関係の一例を示すタイムチャートである。図５は、図４の一部（計測による計測データを含む。）を詳細に示すタイムチャートである。
【００５４】
上記のように、異常診断を開始する前に、中継器６０のケーブル７０を車両１２のエンジンＥＣＵ２０に接続し、診断装置１４の本体６２とエンジンＥＣＵ２０とが中継器６０を介して通信可能な状態とする。
【００５５】
診断装置１４は、本体６２の入出力部８０を介してユーザから診断開始の指令を受けると、ステップＳ１において、エンジンＥＣＵ２０に暖機運転を行わせる暖機処理を行う。
【００５６】
図６には、暖機処理のフローチャート（図３のＳ１の詳細）が示されている。ステップＳ１１において、診断装置１４の演算部８４は、ＩＧＳＷ２４の操作によるエンジン１６の始動を要求するメッセージを表示部８８に表示すると共に、エンジンＥＣＵ２０に対し、エンジン１６が始動したか否かを問い合わせる。
【００５７】
未だエンジン１６が始動していない場合、すなわち、エンジンＥＣＵ２０からエンジン１６の始動が通知されていない場合（Ｓ１２：ＮＯ）、ステップＳ１１に戻る。エンジン１６が始動した場合、すなわち、エンジンＥＣＵ２０からエンジン１６の始動が通知された場合（Ｓ１２：ＹＥＳ）（図４の時点ｔ１）、ステップＳ１３において、演算部８４は、エンジンＥＣＵ２０に対し、暖機運転の開始を要求し、当該要求を受けたエンジンＥＣＵ２０は、エンジン１６の暖機運転を開始する。ここにいう暖機運転は、例えば、エンジン回転数Ｎｅを暖機用の所定値（例えば、３０００ｒｐｍ）まで上昇させることをいう。
【００５８】
また、暖機運転の際、エンジンＥＣＵ２０は、エンジン１６を作動させる際に一般的に使用する通常空燃比制御を用いる。通常空燃比制御は、エンジンＥＣＵ２０の燃料噴射弁制御機能で用いる制御であり、燃料噴射基本制御と空燃比フィードバック制御（以下「空燃比ＦＢ制御」という。）とを組み合わせたものである。
【００５９】
本実施形態における燃料噴射基本制御は、各気筒３２それぞれに供給する混合気における燃料（ここでは、ガソリン）と空気の比（以下「気筒空燃比Ｒａｆ＿１〜Ｒａｆ＿４」又はこれらを総称して「気筒空燃比Ｒａｆ＿ｎ」若しくは「空燃比Ｒａｆ＿ｎ」という。）を理論空燃比（燃料：空気＝１：１４．７）とする制御である。
【００６０】
より具体的には、燃料噴射基本制御では、吸気量センサ２８が検出する吸気量Ｑａｆと燃料噴射弁３４の燃料噴射量Ｑｆｉの目標値との関係をマップ化して事前に設定しておき、検出された吸気量Ｑａｆに対応する燃料噴射量Ｑｆｉの目標値に応じて燃料噴射弁３４を制御する。
【００６１】
但し、各気筒３２の吸気／排気バルブ（図示せず）の作動タイミング（タペットクリアランス）のばらつきや燃料噴射弁３４の経年変化等種々の要因のため、必ずしも各気筒３２の空燃比Ｒａｆ＿ｎ及びエンジン１６の全体空燃比Ｒａｆ＿ｔｏｔａｌは、理論空燃比と等しくならない。
【００６２】
本実施形態における空燃比ＦＢ制御は、全体空燃比Ｒａｆ＿ｔｏｔａｌが理論空燃比と等しくなるようにフィードバックする制御である。具体的には、空燃比センサ３８の検出値が理論空燃比でない場合、当該検出値が理論空燃比となるように、全ての燃料噴射弁３４の燃料噴射量Ｑｆｉを増減させることにより、理論空燃比を実現する。この際、補正値Ｐｃを用いて燃料噴射量Ｑｆｉを補正する。なお、補正値Ｐｃは、後述する各気筒３２の燃料噴射率Ｒｆｉ＿ｎ［％］（目標値）の補正値であるが、それ以外のもの（例えば、燃料噴射量Ｑｆｉ（目標値）又は全体空燃比Ｒａｆ＿ｔｏｔａｌについてのもの）であってもよい。
【００６３】
なお、本実施形態では、１つの空燃比センサ３８がエキゾーストマニホールド４８の下流側に設けられるのみであるため、各気筒３２の空燃比Ｒａｆ＿ｎは検出されない。従って、燃料噴射基本制御では、エンジン１６の全体空燃比Ｒａｆ＿ｔｏｔａｌを理論空燃比に収束させることはできるが、各気筒３２の空燃比Ｒａｆ＿ｎを理論空燃比に収束させることはできない。
【００６４】
ステップＳ１４において、診断装置１４の演算部８４は、エンジン１６の暖機が終了したか否かを判定する。具体的には、演算部８４は、エンジンＥＣＵ２０に対してエンジン１６用冷却水の温度Ｔｗを要求し、当該要求を受けたエンジンＥＣＵ２０は、演算部８４に対して、温度センサ２２が検出した温度Ｔｗを送信する。そして、演算部８４は、温度Ｔｗが閾値ＴＨ＿Ｔｗ［℃］以上であるか否かを判定する。閾値ＴＨ＿Ｔｗは、暖機の終了を判定するための閾値である。
【００６５】
暖機が終了していない場合（Ｓ１４：ＮＯ）、ステップＳ１４を繰り返す。暖機が終了した場合（Ｓ１４：ＹＥＳ）（図４の時点ｔ２）、ステップＳ１５に進む。
【００６６】
ステップＳ１５において、演算部８４は、エンジンＥＣＵ２０に対して暖機の終了を求めると共に、ＩＧＳＷ２４のオフを求めるメッセージを表示部８８に表示する。ＩＧＳＷ２４がオンのままである場合（Ｓ１６：ＮＯ）、ステップＳ１５に戻り、ＩＧＳＷ２４がオフにされた場合（Ｓ１６：ＹＥＳ）（図４の時点ｔ３）、暖機処理を終了する。
【００６７】
図３に戻り、ステップＳ２において、診断装置１４は、エンジン回転数Ｎｅを安定させるためのエンジン回転数安定化処理を行う。
【００６８】
図７には、エンジン回転数安定化処理のフローチャート（図３のＳ２の詳細）が示されている。ステップＳ２１において、演算部８４は、異常診断を開始するためにエンジン１６の再始動を求めるメッセージを表示部８８に表示する。エンジン１６が再始動されていない場合（Ｓ２２：ＮＯ）、ステップＳ２１に戻る。エンジン１６が再始動された場合（Ｓ２２：ＹＥＳ）（図４の時点ｔ４）、ステップＳ２３に進む。
【００６９】
続くステップＳ２３において、エンジンＥＣＵ２０は、気筒３２それぞれについてエンジン１６始動後における失火発生回数の累積値Ｔｍｆ＿ｔｏｔａｌ＿ｎ［回］のカウントを開始する。なお、各累積値Ｔｍｆ＿ｔｏｔａｌ＿ｎの初期値（エンジン１６の始動時の値）はゼロである。また、「Ｔｍｆ＿ｔｏｔａｌ＿ｎ」における「ｎ」は、各気筒３２の番号を示し、例えば、累積値Ｔｍｆ＿ｔｏｔａｌ＿１は、第１気筒３２ａの累積値を示す。
【００７０】
上述のように、失火の検出は、クランク角センサ４１からの出力とエンジンＥＣＵ２０における判定とを組み合わせて行う。また、図８に示すように、累積値Ｔｍｆ＿ｔｏｔａｌ＿ｎのカウントは、エンジン１６が始動した後、診断装置１４から累積値Ｔｍｆ＿ｔｏｔａｌ＿ｎのリセット要求があるまでリセットなしに継続される。
【００７１】
続くステップＳ２４において、演算部８４は、エンジン回転数Ｎｅが安定したか否かを判定する。当該判定は、エンジン１６の再始動から所定時間（例えば、３０秒）が経過したか否かにより判定する。
【００７２】
前記所定時間が経過すると（Ｓ２４：ＹＥＳ）（図４の時点ｔ５）、異常診断の事前準備が完了する。なお、前記所定時間が経過した後は、演算部８４は、エンジンＥＣＵ２０に対し、エンジン１６をアイドル運転させるよう要求し、当該要求を受けたエンジンＥＣＵ２０は、エンジン１６をアイドル運転させる。この際、エンジンＥＣＵ２０は、前記燃料噴射基本制御と前記空燃比ＦＢ制御の両方を用いる。
【００７３】
図３に戻り、ステップＳ３において、診断装置１４は、第１診断処理を実行する。第１診断処理は、前記空燃比ＦＢ制御を停止させることに伴う診断処理である。
【００７４】
図９は、第１診断処理のフローチャートである。上記のように事前準備が完了すると（図４の時点ｔ５）、ステップＳ３１において、診断装置１４の演算部８４は、エンジンＥＣＵ２０に対し、補正値Ｐｃの送信を要求し、当該要求を受けたエンジンＥＣＵ２０は、現時点において空燃比ＦＢ制御で用いている補正値Ｐｃを診断装置１４に対して送信する。これにより、演算部８４は、補正値Ｐｃを取得する。
【００７５】
補正値Ｐｃは、エンジン１６の全体空燃比Ｒａｆ＿ｔｏｔａｌを変化させるための補正値である。すなわち、補正値Ｐｃは、理論空燃比と全体空燃比Ｒａｆ＿ｔｏｔａｌとの差ΔＲａｆに対応する燃料噴射率Ｒｆｉ＿ｎ（後述）の値として設定される。
【００７６】
ステップＳ３２において、診断装置１４の演算部８４は、気筒３２のうち失火が発生しているもの（以下「失火気筒」という。）があるか否かを判定する。具体的には、演算部８４は、エンジンＥＣＵ２０に対して、エンジン１６始動後の各気筒３２それぞれの失火発生回数の累積値Ｔｍｆ＿ｔｏｔａｌ＿ｎ［回］を要求し、当該要求を受けたエンジンＥＣＵ２０は、演算部８４に対して各累積値Ｔｍｆ＿ｔｏｔａｌ＿ｎを通知する。そして、演算部８４は、各気筒３２の累積値Ｔｍｆ＿ｔｏｔａｌ＿ｎが、失火の発生を判定するための閾値ＴＨ＿ｔｏｔａｌ１（例えば、ＴＨ＿ｔｏｔａｌ１＝０）を超えるか否かを個別に判定する。そして、累積値Ｔｍｆ＿ｔｏｔａｌ＿ｎが閾値ＴＨ＿ｔｏｔａｌ１を超えていれば、当該気筒３２に失火が発生している（すなわち、失火気筒がある）と判定する。
【００７７】
いずれの気筒３２にも失火が発生していない場合（Ｓ３２：ＮＯ）、ステップＳ４４に進む。いずれかの気筒３２に失火が発生している場合（Ｓ３２：ＹＥＳ）、ステップＳ３３において、診断装置１４の演算部８４は、エンジンＥＣＵ２０に対して空燃比ＦＢ制御の停止を要求する。当該要求を受けたエンジンＥＣＵ２０は、空燃比ＦＢ制御を停止し、燃料噴射基本制御のみを実行する。
【００７８】
ステップＳ３４において、診断装置１４の演算部８４は、燃料噴射基本制御のみの状態において失火が停止したか否かを判定する。具体的には、演算部８４は、燃料噴射基本制御のみの状態に移行してから所定時間が経過した後の各気筒３２の失火発生回数の累積値Ｔｍｆ＿ｔｏｔａｌ２＿ｎが閾値ＴＨ＿ｔｏｔａｌ１以下であるか否かを判定する。そして、各気筒３２の累積値Ｔｍｆ＿ｔｏｔａｌ２＿ｎがいずれも閾値ＴＨ＿ｔｏｔａｌ１以下であれば、失火が停止したと判定する。
【００７９】
空燃比ＦＢ制御を停止した結果、失火が停止した場合（Ｓ３４：ＹＥＳ）、空燃比ＦＢ制御によって失火が発生しているものの、全ての気筒３２が正常であるといえる。この場合、ステップＳ４４に進む。いずれかの気筒３２で失火が発生し、失火が停止しない場合（Ｓ３４：ＮＯ）、ステップＳ３５に進む。
【００８０】
ステップＳ３５において、診断装置１４の演算部８４は、ステップＳ３１で取得した補正値Ｐｃが閾値ＴＨ＿Ｐｃ１以上であるか否かを判定する。閾値ＴＨ＿Ｐｃ１は、補正値Ｐｃによる補正により燃料が過度に濃くされているか否か（空燃比ＦＢ制御がない場合、過度にリーン側にあるか否か）を判定するためのものであり、例えば、＋８％とすることができる。
【００８１】
補正値Ｐｃが閾値ＴＨ＿Ｐｃ１以上である場合（Ｓ３５：ＹＥＳ）、ステップＳ３６において、診断装置１４は、空燃比ＦＢ制御を停止したことにより、失火気筒が移動（変化）しているか否かを判定する。失火気筒が移動している場合（Ｓ３６：ＹＥＳ）、ステップＳ３７において、診断装置１４の演算部８４は、移動後の失火気筒にリーン故障が発生していると判定する。ここでいうリーン故障とは、エンジンＥＣＵ２０における気筒空燃比Ｒａｆ＿ｎの目標値は理論空燃比に設定されているにもかかわらず（すなわち、燃料噴射量Ｑｆｉ（目標値）は、理論空燃比に対応する値に設定されているにもかかわらず）、失火気筒の実際の空燃比Ｒａｆ＿ｎは、過度にリーン側に変化してしまっている状態、換言すると、何らかの原因により燃料供給が不足している状態をいう。
【００８２】
一方、失火気筒が移動（変化）していない場合（Ｓ３６：ＮＯ）、ステップＳ３８において、診断装置１４の演算部８４は、当該失火気筒にリーン故障が発生していると判定する。
【００８３】
ステップＳ３５に戻り、補正値Ｐｃが閾値ＴＨ＿Ｐｃ１以上でない場合（Ｓ３５：ＮＯ）、ステップＳ３９において、演算部８４は、ステップＳ３１で取得した補正値Ｐｃが閾値ＴＨ＿Ｐｃ２以下であるか否かを判定する。閾値ＴＨ＿Ｐｃ２は、補正値Ｐｃによる補正により燃料が過度に薄くされているか否か（空燃比ＦＢ制御がない場合、過度にリッチ側にあるか否か）を判定するためのものであり、例えば、−８％とすることができる。
【００８４】
補正値Ｐｃが閾値ＴＨ＿Ｐｃ２以下でない場合（Ｓ３９：ＮＯ）、ステップＳ４４に進む。補正値Ｐｃが閾値ＴＨ＿Ｐｃ２以下である場合（Ｓ３９：ＹＥＳ）、ステップＳ４０において、診断装置１４の演算部８４は、空燃比ＦＢ制御を停止したことにより、失火気筒が移動（変化）しているか否かを判定する。失火気筒が移動している場合（Ｓ４０：ＹＥＳ）、ステップＳ４１において、演算部８４は、移動後の失火気筒にリッチ故障が発生していると判定する。ここでいうリッチ故障とは、エンジンＥＣＵ２０における気筒空燃比Ｒａｆ＿ｎの目標値は理論空燃比に設定されているにもかかわらず（すなわち、燃料噴射量Ｑｆｉ（目標値）は、理論空燃比に対応する値に設定されているにもかかわらず）、失火気筒の空燃比Ｒａｆ＿ｎは、過度にリッチ側に変化してしまっている状態、換言すると、何らかの原因により燃料供給が過剰である状態をいう。
【００８５】
一方、失火気筒が移動（変化）していない場合（Ｓ４０：ＮＯ）、ステップＳ４２において、診断装置１４の演算部８４は、当該失火気筒にリッチ故障が発生していると判定する。
【００８６】
ステップＳ３７、Ｓ３８、Ｓ４１、Ｓ４２の後、ステップＳ４３において、診断装置１４の演算部８４は、表示部８８に故障の内容を表示する（エラー表示を行う）。
【００８７】
ステップＳ３２において失火気筒がない場合（Ｓ３２：ＮＯ）、ステップＳ３４において失火が停止した場合（Ｓ３４：ＹＥＳ）、又はステップＳ３９において補正値Ｐｃが閾値ＴＨ＿Ｐｃ２以下でない場合（Ｓ３９：ＮＯ）、各気筒３２の故障が検出できない。この場合、ステップＳ４４において、ステップＳ３３と同様、空燃比ＦＢ制御を停止し、今回の第１診断処理を終了する（図４の時点ｔ６）。
【００８８】
図３に戻り、ステップＳ４において、診断装置１４の演算部８４は、異常気筒の特定が終了したか否かを判定する。異常気筒の特定が終了した場合とは、図９のステップＳ３７、Ｓ３８、Ｓ４１、Ｓ４２のいずれかを経た場合である。異常気筒の特定が終了した場合（Ｓ４：ＹＥＳ）、今回の診断を終了する。異常気筒の特定が終了していない場合（Ｓ４：ＮＯ）、ステップＳ５に進む。
【００８９】
ステップＳ５において、診断装置１４は、第２診断処理を実行する（図４の時点ｔ６）。第２診断処理は、気筒３２毎の空燃比Ｒａｆ＿ｎの切替え（変化）を伴う診断処理である。より具体的には、第２診断処理は、気筒３２毎の空燃比Ｒａｆ＿ｎを変化させるための補正値（以下「気筒補正値Ｃｆｉ＿ｎ」又は「補正値Ｃｆｉ＿ｎ」という。）［％］の切替え（変化）を伴う診断処理である。
【００９０】
補正値Ｃｆｉ＿ｎは、燃料噴射基本制御において、吸気量Ｑａｆとの関係で気筒空燃比Ｒａｆ＿ｎを理論空燃比とするための燃料噴射量Ｑｆｉ（「気筒基準噴射量」）に対する燃料噴射量Ｑｆｉの目標値の割合（以下「気筒燃料噴射率Ｒｆｉ＿ｎ」又は「燃料噴射率Ｒｆｉ＿ｎ」という。）を規定するために用いるものである。１００％（気筒基準噴射量に対応）に補正値Ｃｆｉ＿ｎを加えたものが、燃料噴射率Ｒｆｉ＿ｎとなる（Ｒｆｉ＿ｎ＝１００＋Ｃｆｉ＿ｎ）。
【００９１】
「Ｃｆｉ＿ｎ」及び「Ｒｆｉ＿ｎ」それぞれにおける「ｎ」は、各気筒３２の番号を示し、例えば、気筒補正値Ｃｆｉ＿１は、第１気筒３２ａの補正量Ｃｆｉ＿ｎを示し、燃料噴射率Ｒｆｉ＿１は、第１気筒３２ａの燃料噴射率Ｒｆｉ＿ｎを示す。
【００９２】
なお、第１診断処理を終了したとき、空燃比ＦＢ制御は停止されている（図９のＳ３３、Ｓ４４参照）。従って、第２診断処理を開始する際、燃料噴射基本制御のみが実行されている。
【００９３】
図１０及び図１１は、第２診断処理のフローチャートである。なお、図１０及び図１１のフローチャートを実行することにより、例えば、図５のような波形データを取得することができる。
【００９４】
ステップＳ５１、Ｓ５２において、診断装置１４の演算部８４は、初期設定を行う。具体的には、ステップＳ５１において、演算部８４は、気筒補正値Ｃｆｉ＿ｎの切替えを行う気筒３２（以下「対象気筒」という。）を示す変数ｎに１を設定する。ｎ＝１は、第１気筒３２ａを指し、ｎ＝２は、第２気筒３２ｂを指し、ｎ＝３は、第３気筒３２ｃを指し、ｎ＝４は、第４気筒３２ｄを指す。従って、ステップＳ５１において、変数ｎに１を設定したことで、これからの処理は、第１気筒３２ａを対象気筒とすることを示す。ステップＳ５２において、演算部８４は、第１気筒３２ａの補正量Ｃｆｉ＿１に０％を設定する（Ｃｆｉ＿１←０％）。換言すると、第１気筒３２ａの燃料噴射率Ｒｆｉ＿１を、理論空燃比を実現するための１００％とする（Ｒｆｉ＿１←１００％）。
【００９５】
続くステップＳ５３、Ｓ５４において、診断装置１４の演算部８４は、排ガスフィルタ１８が過熱状態にあるか否かを判定する。具体的には、ステップＳ５３において、演算部８４は、エンジン１６始動後における対象気筒の失火発生回数の累積値Ｔｍｆ＿ｔｏｔａｌ＿ｎそれぞれが閾値ＴＨ＿ｔｏｔａｌ２［回］以上であるか否かを判定する。閾値ＴＨ＿ｔｏｔａｌ２は、フィルタ１８が過熱状態にあることを判定するための閾値である。また、上記の通り、累積値Ｔｍｆ＿ｔｏｔａｌ＿ｎは、エンジン１６の始動からエンジンＥＣＵ２０がカウントするものであるため、演算部８４は、エンジンＥＣＵ２０から各累積値Ｔｍｆ＿ｔｏｔａｌ＿ｎを取得する。
【００９６】
対象気筒の累積値Ｔｍｆ＿ｔｏｔａｌ＿ｎが閾値ＴＨ＿ｔｏｔａｌ２未満である場合（Ｓ５３：ＮＯ）、ステップＳ５４において、演算部８４は、測定周期Ｐｍ［ｓｅｃ］における対象気筒の失火発生回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎ［回］が閾値ＴＨ＿ｃｙｌ［回］以上であるか否かを判定する。測定周期Ｐｍは、補正量Ｃｆｉ＿ｎを切り替える周期（すなわち、燃料噴射率Ｒｆｉ＿ｎ及び気筒空燃比Ｒａｆ＿ｎを切り替える周期）である（図５及び図１２参照）。このため、累積値Ｔｍｆ＿ｃｙｌ＿ｎは、補正量Ｃｆｉ＿ｎを切り替える毎の対象気筒の失火発生回数の累積値である。また、閾値ＴＨ＿ｃｙｌは、フィルタ１８が過熱状態にあることを判定するための閾値である。
【００９７】
なお、累積値Ｔｍｆ＿ｃｙｌ＿ｎは、診断装置１４の演算部８４でカウントする。具体的には、診断装置１４からの指令により、エンジンＥＣＵ２０は、失火の発生毎に気筒３２の番号と失火の発生を診断装置１４に通知する。当該通知を受けた診断装置１４は、図５及び図１２に示すように、測定周期Ｐｍ毎に失火発生回数をカウントする。
【００９８】
累積値Ｔｍｆ＿ｃｙｌ＿ｎが閾値ＴＨ＿ｃｙｌ未満である場合（Ｓ５４：ＮＯ）、ステップＳ５６に進む。累積値Ｔｍｆ＿ｔｏｔａｌ＿ｎが閾値ＴＨ＿ｔｏｔａｌ２以上である場合（Ｓ５３：ＹＥＳ）又は累積値Ｔｍｆ＿ｃｙｌ＿ｎが閾値ＴＨ＿ｃｙｌ以上である場合（Ｓ５４：ＹＥＳ）、ステップＳ５５において演算部８４は、表示部８８にエラー表示を行う。すなわち、演算部８４は、失火発生回数が多いため、フィルタ１８の冷却のために診断を一時的に中止すべき旨を表示部８８に表示すると共に、第２診断処理を中止する。当該エラー表示に従って、ユーザが第２診断処理を一時的に中止し、フィルタ１８の温度を低下させることで、第２診断処理の再開が可能となる。また、診断（図３の処理）を再開する場合、入出力部８０に対するユーザの操作に基づき、各累積値Ｔｍｆ＿ｔｏｔａｌ＿ｎをリセットする。
【００９９】
ステップＳ５６において、演算部８４は、エミッション（Ｅ／Ｍ）悪化失火レベルの判定を停止する。Ｅ／Ｍ悪化失火レベルとは、点火プラグ３６に煤が溜まったことに起因する失火発生回数の程度を意味する。本実施形態では、Ｅ／Ｍ悪化失火レベルの判定を停止することでフィルタ１８の保護のための失火判定（図１０のＳ５３、Ｓ５４）を優先する。但し、第２診断処理の際、Ｅ／Ｍ悪化失火レベルの判定を継続することも可能である。
【０１００】
ステップＳ５７〜Ｓ６７により、演算部８４は、異常気筒の特定を行う。すなわち、図５に示すように、本実施形態では、４つの気筒３２を診断対象として順番に選択する。既に述べた通り、診断対象の気筒３２を「対象気筒」という。そして、４つの気筒３２のうち対象気筒以外の３つについて補正値Ｃｆｉ＿ｎを０％とする燃料噴射基本制御を行いつつ、対象気筒について補正値Ｃｆｉ＿ｎを段階的に変化させる。この際、補正値Ｃｆｉ＿ｎは、±０％、−１０％、−２０％、−３０％、−４０％の順に切り替える。換言すると、燃料噴射率Ｒｆｉ＿ｎを１００％（理論空燃比）、９０％、８０％、７０％、６０％の順に低下させることで、気筒空燃比Ｒａｆ＿ｎを変化させる。
【０１０１】
上記のような処理を行うため、ステップＳ５７において、演算部８４は、エンジンＥＣＵ２０に対し、変数ｎと変数ｎが示す対象気筒の補正値Ｃｆｉ＿ｎを１回又は複数回の爆発工程毎に通知する。当該通知を受けたエンジンＥＣＵ２０は、当該対象気筒において補正値Ｃｆｉ＿ｎで所定回数の爆発工程を実行する。本実施形態では、ステップＳ５７を繰り返すことで、補正値Ｃｆｉ＿ｎ毎（すなわち、燃料噴射率Ｒｆｉ＿ｎ又は気筒空燃比Ｒａｆ＿ｎ毎）に爆発工程を５０回繰り返す。
【０１０２】
エンジンＥＣＵ２０が爆発工程を実行している最中、ステップＳ５８において、演算部８４は、累積値Ｔｍｆ＿ｔｏｔａｌ＿ｎ及び累積値Ｔｍｆ＿ｃｙｌ＿ｎをカウントする。より具体的には、エンジンＥＣＵ２０は、失火を検出する毎に演算部８４に通知する。当該通知を受けて演算部８４は、累積値Ｔｍｆ＿ｔｏｔａｌ＿ｎ及び累積値Ｔｍｆ＿ｃｙｌ＿ｎをカウントする。
【０１０３】
なお、後述するステップＳ６２、Ｓ６６において、累積値Ｔｍｆ＿ｃｙｌ＿ｎは、気筒空燃比Ｒａｆ＿ｎが変化する毎にリセットされる。このため、累積値Ｔｍｆ＿ｃｙｌ＿ｎは、図５及び図１２に示すように、気筒補正値Ｃｆｉ＿ｎ毎（すなわち、測定周期Ｐｍ毎）に累積される。
【０１０４】
ステップＳ５９において、演算部８４は、今回の測定周期Ｐｍにおける計測が終了したか否か（対象気筒において気筒補正値Ｃｆｉ＿ｎで爆発工程が５０回行われたか否か）を判定する。当該判定は、例えば、エンジンＥＣＵ２０を介してクランク角センサ４１の出力を受信し、当該出力を用いてクランクシャフト４０の回転数を検出することにより行うことができる。今回の測定周期Ｐｍにおける計測が終了していない場合（Ｓ５９：ＮＯ）、ステップＳ５３に戻る。今回の測定周期Ｐｍにおける計測が終了した場合（Ｓ５９：ＹＥＳ）、図１１のステップＳ６０に進む。
【０１０５】
図１１のステップＳ６０において、演算部８４は、同一の対象気筒において補正値Ｃｆｉ＿ｎを変更可能であるか否か（換言すると、同一の対象気筒において未計測の補正値Ｃｆｉ＿ｎが残っているか否か）を判定する。すなわち、上記のように、本実施形態では、補正値Ｃｆｉ＿ｎを、±０％、−１０％、−２０％、−３０％、−４０％の順に変化させるため、今回の補正値Ｃｆｉ＿ｎが−４０％でなければ、補正値Ｃｆｉ＿ｎを変更可能である。
【０１０６】
補正値Ｃｆｉ＿ｎを変更可能である場合（Ｓ６０：ＹＥＳ）、気筒３２と燃料噴射率Ｒｆｉ＿ｎに応じて累積値Ｔｍｆ＿ｃｙｌ＿ｎを記憶した後（図１５〜図１８参照）、ステップＳ６１において、演算部８４は、同一の対象気筒について補正値Ｃｆｉ＿ｎを変更する。具体的には、対象気筒の現在の補正値Ｃｆｉ＿ｎが±０％であれば−１０％に、補正値Ｃｆｉ＿ｎが−１０％であれば−２０％に、補正値Ｃｆｉ＿ｎが−２０％であれば−３０％に、補正値Ｃｆｉ＿ｎが−３０％であれば−４０％に変更する。続くステップＳ６２において、演算部８４は、累積値Ｔｍｆ＿ｃｙｌ＿ｎをリセットし、図１０のステップＳ５３に戻る。
【０１０７】
補正値Ｃｆｉ＿ｎが変更可能でない場合（Ｓ６０：ＮＯ）、すなわち、対象気筒の現在の補正値Ｃｆｉ＿ｎが−４０％である場合、当該補正値Ｃｆｉ＿ｎをリセットすると共に、気筒３２と燃料噴射率Ｒｆｉ＿ｎに応じて累積値Ｔｍｆ＿ｃｙｌ＿ｎを記憶する（図１５〜図１８参照）。その後、ステップＳ６３において、演算部８４は、全ての気筒３２について診断が終了したか否かを判定する。一部の気筒３２について診断が終了していない場合（Ｓ６３：ＮＯ）、ステップＳ６４において、演算部８４は、対象気筒を特定する変数ｎの現在の値に１を足して新たな変数ｎとする（ｎ←ｎ＋１）。これにより、対象気筒が切り替わる（図５の時点ｔ１１、ｔ１２、ｔ１３）。
【０１０８】
続くステップＳ６５において、演算部８４は、新たな対象気筒の補正値Ｃｆｉ＿ｎに０％を代入する。これにより、新たな対象気筒の作動は、理論空燃比（±０％）から開始される。続くステップＳ６６において、演算部８４は、累積値Ｔｍｆ＿ｃｙｌ＿ｎをリセットし、ステップＳ５３に戻る。
【０１０９】
ステップＳ６３に戻り、全ての気筒３２について診断が終了した場合（Ｓ６３：ＹＥＳ）（図５の時点ｔ７）、ステップＳ６７において、演算部８４は、前記各ステップで取得した各気筒３２の失火発生回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎに基づいて、各気筒３２の故障の有無、及び故障が発生している場合、その種類を特定する。
【０１１０】
図１３は、第２診断処理において、各気筒３２の故障の有無、及び故障が発生している場合、その種類を特定するためのフローチャート（図１１のＳ６７の詳細）である。図１３の処理は、各気筒３２について行われる。図１４は、第２診断処理において、各気筒３２の故障の有無、及び故障が発生している場合、その種類を特定する方法の説明図である。
【０１１１】
図１３のステップＳ７１において、診断装置１４の演算部８４は、燃料噴射率Ｒｆｉ＿ｎが７０％（補正値Ｃｆｉ＿ｎが−３０％）のときの失火発生回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎがゼロであるか否かを判定する。燃料噴射率Ｒｆｉ＿ｎが７０％のときの累積値Ｔｍｆ＿ｃｙｌ＿ｎがゼロである場合（Ｓ７１：ＹＥＳ）、ステップＳ７２において、演算部８４は、当該気筒３２がリッチ故障であると判定する。上記のように、リッチ故障とは、何らかの原因により燃料供給が過剰である状態をいう。燃料噴射率Ｒｆｉ＿ｎが７０％のときの累積値Ｔｍｆ＿ｃｙｌ＿ｎがゼロでない場合（Ｓ７１：ＮＯ）、ステップＳ７３に進む。
【０１１２】
ステップＳ７３において、演算部８４は、燃料噴射率Ｒｆｉ＿ｎが９０％（補正値Ｃｆｉ＿ｎが−１０％）のときの累積値Ｔｍｆ＿ｃｙｌ＿ｎが閾値ＴＨ＿ｌｅａｎ［回］以上であるか否かを判定する。閾値ＴＨ＿ｌｅａｎは、リーン故障を判定するための閾値であり、本実施形態では２５回である。燃料噴射率Ｒｆｉ＿ｎが９０％のときの累積値Ｔｍｆ＿ｃｙｌ＿ｎが閾値ＴＨ＿ｌｅａｎ以上である場合（Ｓ７３：ＹＥＳ）、ステップＳ７４において、演算部８４は、当該気筒３２がリーン故障であると判定する。上記のように、リーン故障とは、何らかの原因により燃料供給が不足している状態をいう。燃料噴射率Ｒｆｉ＿ｎが９０％のときの累積値Ｔｍｆ＿ｃｙｌ＿ｎが閾値ＴＨ＿ｌｅａｎ以上でない場合（Ｓ７３：ＮＯ）、ステップＳ７５において、演算部８４は、当該気筒３２が正常であると判定する。
【０１１３】
上記のような判定処理を行うことで、図１４に示すように、各気筒３２が正常、リッチ故障又はリーン故障のいずれであるかを判定することができる。上記の判定処理の結果は、所定の形式にファイル化されると共に（図４の時点ｔ７から時点ｔ８）、表示部８８に表示される（図４の時点ｔ８から時点ｔ９）。
【０１１４】
なお、図１３の判定では、燃料噴射率Ｒｆｉ＿ｎが１００％、８０％、６０％（補正値Ｃｆｉ＿ｎが±０％、−２０％、−４０％）のときの値を用いていないが、これらの燃料噴射率Ｒｆｉ＿ｎにおけるデータは、演算部８４が故障を判定した後、ユーザがデータを解析する際に用いる。
【０１１５】
図１１に戻り、ステップＳ６８において、診断装置１４の演算部８４は、ステップＳ６７の判定結果を表示部８８に出力する。
【０１１６】
図１５〜図１８には、本実施形態において、診断装置１４が取得する失火発生回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎのデータテーブル１００、１１０、１２０、１３０と、データテーブル１００、１１０、１２０、１３０に基づくグラフ１０２、１１２、１２２、１３２と、表示部８８に表示される画面１０４、１１４、１２４、１３４とを示す図である。
【０１１７】
図１５には、各気筒３２がいずれも正常である場合のデータテーブル１００、グラフ１０２及び画面１０４が示されている。図１６には、各気筒３２がいずれもリッチ故障である場合のデータテーブル１１０、グラフ１１２及び画面１１４が示されている。図１７には、各気筒３２がいずれもリーン故障である場合のデータテーブル１２０、グラフ１２２及び画面１２４が示されている。図１８には、第１気筒３２ａ及び第３気筒３２ｃが正常であり、第２気筒３２ｂがリッチ故障であり、第４気筒３２ｄがリーン故障である場合のデータテーブル１３０、グラフ１３２及び画面１３４が示されている。
【０１１８】
なお、図１７及び図１８のグラフ１２２、１３２では、燃料噴射率Ｒｆｉ＿ｎが１００％を超える部分のデータが含まれているが、説明の便宜のためである。
【０１１９】
３．本実施形態の効果
以上のように、本実施形態によれば、気筒空燃比Ｒａｆ＿ｎが異常である異常気筒（リッチ故障及びリーン故障）を高精度且つ簡易に特定することが可能となる。
【０１２０】
すなわち、一般に、正常な気筒３２においては、燃料噴射量Ｑｆｉに応じて変化する実際の気筒空燃比Ｒａｆ＿ｎは、補正値Ｃｆｉ＿ｎに応じた気筒空燃比Ｒａｆ＿ｎの目標値と略同一になっており、各気筒３２の空燃比Ｒａｆ＿ｎと失火発生との関係は、エンジン１６の構成に応じてある程度決まってくる。例えば、実際の気筒空燃比Ｒａｆ＿ｎが理論空燃比と等しいとき失火の発生は略ゼロであるが、実際の気筒空燃比Ｒａｆ＿ｎがリーン側又はリッチ側に向かうに連れて失火発生率は大きくなる。本実施形態では、気筒空燃比Ｒａｆ＿ｎ（燃料噴射率Ｒｆｉ＿ｎ及び補正値Ｃｆｉ＿ｎ）を段階的に変化させ、失火発生回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎをカウントすることで、燃焼可能な燃料噴射範囲を求め、気筒空燃比Ｒａｆ＿ｎの異常を検出する。従って、気筒空燃比Ｒａｆ＿ｎの異常を検出し易くなり、異常気筒を高精度に特定することが可能となる。
【０１２１】
また、気筒空燃比Ｒａｆ＿ｎの制御は、エンジン１６について一般的に行われていることであると共に、失火発生回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎのカウントは、例えば、クランク角センサ４１とエンジンＥＣＵ２０とにより行うことが可能となる。従って、気筒空燃比Ｒａｆ＿ｎの制御と失火発生回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎのカウントは、エンジン１６に関する既存の構成を流用して行うことが可能である。本実施形態によれば、段階的に変化させた気筒空燃比Ｒａｆ＿ｎ（燃料噴射率Ｒｆｉ＿ｎ）と、複数の気筒３２の失火発生回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎとの関係から異常気筒を特定する。このため、エンジン１６に関する既存の構成を流用して制御又は判定が可能な気筒空燃比Ｒａｆ＿ｎ（燃料噴射率Ｒｆｉ＿ｎ）及び失火発生回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎを用いることで異常気筒を簡易に特定することが可能となる。
【０１２２】
診断装置１４の演算部８４は、エンジン１６に負荷がかかっていないアイドル状態において、複数の気筒３２を１つずつ順番に燃料噴射量Ｑｆｉ（補正値Ｃｆｉ＿ｎ）を制御して気筒空燃比Ｒａｆ＿ｎを段階的に減少させる（図５参照）。これにより、気筒３２の異常を１つずつ確認することができるため、より正確に異常気筒を判定することが可能となる。
【０１２３】
診断装置１４の演算部８４は、補正値Ｃｆｉ＿ｎを０％から開始して段階的に減少させることで、燃料噴射率Ｒｆｉ＿ｎを１００％から開始して段階的に減少させる（図５参照）。
【０１２４】
これにより、失火発生回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎが略ゼロとなる理論空燃比から、失火発生回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎが増加するリーン側へと変化させていくので、異常気筒を正確に判定可能になると共に、失火の発生による点火プラグ３６又はフィルタ１８への悪影響を極力抑えることが可能となる。
【０１２５】
すなわち、失火が頻繁に発生すると、気筒３２の燃焼室４６内の温度低下を生じ、点火プラグ３６が燻り易く（煤が溜まり易く）なる。その結果、当該煤に起因して失火が生じる可能性も高くなり、気筒空燃比Ｒａｆ＿ｎ（補正値Ｃｆｉ＿ｎ）の変化に起因する失火発生回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎを正確に判定できなくなることも想定される。また、点火プラグ３６に溜まる煤は、点火プラグ３６の耐久性に悪影響を与えることもあり得る。さらに、失火が発生すると、燃焼室４６内で燃焼しなかった未燃ガスがエンジン１６から排出されて、フィルタ１８の熱によりフィルタ１８中で着火する場合があり、この現象が頻繁に発生するとフィルタ１８の耐久性に悪影響を及ぼす可能性がある。本実施形態によれば、正常な燃焼運転状態から失火し易い状態へと徐々に変化させていくので、燃焼室４６内の温度低下を最小限に抑えることができる。従って、上記のような不具合を防止することが可能となる。
【０１２６】
本実施形態では、燃料噴射率Ｒｆｉ＿ｎが７０％であるとき（補正値Ｃｆｉ＿ｎがー３０％であるとき）、失火発生回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎがゼロである気筒３２がある場合、診断装置１４の演算部８４は、燃料が過剰に供給されるリッチ故障が当該気筒３２に発生していると判定する。これにより、簡易にリッチ故障を判定することが可能となる。
【０１２７】
本実施形態では、燃料噴射率Ｒｆｉ＿ｎが９０％であるとき（補正値Ｃｆｉ＿ｎがー１０％であるとき）、失火発生回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎが２５回以上である気筒３２がある場合、診断装置１４の演算部８４は、燃料供給が不足しているリーン故障が当該気筒３２に発生していると判定する。これにより、簡易にリーン故障を判定することが可能となる。
【０１２８】
本実施形態によれば、補正値Ｃｆｉ＿ｎ（すなわち、燃料噴射率Ｒｆｉ＿ｎ又は気筒空燃比Ｒａｆ＿ｎ）を段階的に変化させている際、失火発生回数の累積値Ｔｍｆ＿ｔｏｔａｌ＿ｎが閾値ＴＨ＿ｔｏｔａｌ２を超えた場合、又は失火発生回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎが閾値ＴＨ＿ｃｙｌを超えた場合、補正値Ｃｆｉ＿ｎの段階的な変化を中止させる。このため、これらの閾値に応じて、例えば、点火プラグ３６又はフィルタ１８への悪影響を抑制することが可能となる。なお、点火プラグ３６のへの悪影響を抑制する場合、第２診断処理の再開時には、補正値Ｃｆｉ＿ｎの段階的な変化の前に、燃料噴射基本制御と空燃比ＦＢ制御の両方を行う運転を行うことで、点火プラグ３６に蓄積した煤等を焼き払うことができる。
【０１２９】
本実施形態では、診断装置１４の演算部８４は、対象気筒の失火発生回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎを測定周期Ｐｍ毎にカウントする。これにより、補正値Ｃｆｉ＿ｎ（すなわち、燃料噴射率Ｒｆｉ＿ｎ又は気筒空燃比Ｒａｆ＿ｎ）毎に累積値Ｔｍｆ＿ｃｙｌ＿ｎの異常を判定することが可能となり、異常気筒の特定時の失火の異常を好適に検出することが可能となる。
【０１３０】
本実施形態によれば、エンジン１６の全体空燃比Ｒａｆ＿ｔｏｔａｌの制御に問題が生じていない場合でも、個々の気筒３２に生じた空燃比Ｒａｆ＿ｎの制御の不具合を検出することが可能となる。
【０１３１】
すなわち、エンジン１６の通常作動時には、燃料噴射基本制御と空燃比ＦＢ制御とを組み合わせて用いるが、エンジン１６が４つの気筒３２を備え、そのうちの１つ（第１気筒３２ａ）が、燃料供給が不足しているリーン故障を生じている場合、空燃比ＦＢ制御により、他の３つの気筒３２（第２〜第４気筒３２ｂ〜３２ｄ）の空燃比Ｒａｆ＿ｎを燃料供給を多くするように調整し、第１気筒３２ａの空燃比Ｒａｆ＿ｎを燃料供給を少なくするように調整することでエンジン１６の全体空燃比Ｒａｆ＿ｔｏｔａｌとしては目標空燃比を実現可能である。この場合、図１９及び図２０からもわかるように、第１気筒３２ａのリーン故障を検出することができない。
【０１３２】
本実施形態によれば、エンジン１６の診断時には、空燃比ＦＢ制御を停止して燃料噴射基本制御のみを実行するため、異常気筒を高精度且つ容易に特定することが可能となる。従って、検査対象のエンジン１６に全体用の空燃比センサ３８のみが設けられている場合でも、異常気筒を高精度且つ容易に特定することができる。
【０１３３】
本実施形態では、目標空燃比は理論空燃比であり、燃料噴射基本制御では、複数の気筒３２それぞれの空燃比Ｒａｆ＿ｎが理論空燃比となるように複数の気筒３２それぞれの燃料噴射率Ｒｆｉ＿ｎ（空燃比Ｒａｆ＿ｎ）を制御する。また、空燃比ＦＢ制御では、エンジン１６に負荷がかかっていないアイドル状態において、エンジン１６の全体空燃比Ｒａｆ＿ｔｏｔａｌが理論空燃比からずれている場合、複数の気筒３２それぞれに同一の補正値Ｐｃを適用して全体空燃比Ｒａｆ＿ｔｏｔａｌが理論空燃比と等しくなるように制御する。これにより、エンジン１６の通常作動時及び診断時のいずれも、理論空燃比を基準とするため、異常気筒の判定が容易となる。
【０１３４】
Ｂ．変形例
なお、この発明は、上記実施形態に限らず、この明細書の記載内容に基づき、種々の構成を採り得ることはもちろんである。例えば、以下に示す構成を採ることができる。
【０１３５】
上記実施形態では、診断装置１４を車両１２のエンジン１６の診断に用いたが、これに限らず、内燃機関を有するその他の装置（例えば、船舶等の移動体）に用いることもできる。また、上記実施形態において、診断装置１４は、車両１２の外部からエンジンＥＣＵ２０と通信するものとしたが、車両１２の内部に搭載してもよい。換言すると、エンジンＥＣＵ２０に診断装置１４の機能を持たせることも可能である。
【０１３６】
上記実施形態では、エンジン１６は、直列４気筒エンジンであったが、気筒３２の配置や数は、これに限らない。例えば、エンジン１６は、Ｖ型６気筒エンジンであってもよい。
【０１３７】
上記実施形態では、エンジン１６全体で１つの空燃比センサ３８を設けたが、これに限らず、空燃比センサ３８を複数の気筒３２毎に設けてもよい。
【０１３８】
上記実施形態では、診断装置１４の演算部８４は、エンジンＥＣＵ２０を介して気筒空燃比Ｒａｆ＿ｎ（燃料噴射率Ｒｆｉ＿ｎ及び補正値Ｃｆｉ＿ｎ）の切替えを行ったが、これに限らず、演算部８４から燃料噴射弁３４を直接制御して気筒空燃比Ｒａｆ＿ｎ（燃料噴射率Ｒｆｉ＿ｎ及び補正値Ｃｆｉ＿ｎ）の切替えを行ってもよい。或いは、エンジンＥＣＵ２０に診断装置１４の機能を持たせることにより、エンジンＥＣＵ２０（診断装置１４）が燃料噴射弁３４を直接制御して気筒空燃比Ｒａｆ＿ｎ（燃料噴射率Ｒｆｉ＿ｎ及び補正値Ｃｆｉ＿ｎ）の切替えを行うこともできる。
【０１３９】
上記実施形態では、エンジン１６の始動後の失火発生回数の累積値Ｔｍｆ＿ｔｏｔａｌ＿ｎを気筒３２毎に求めたが、これに限らず、例えば、エンジン１６全体で、エンジン１６始動後の失火発生回数の累積値を求めて利用することもできる。
【０１４０】
上記実施形態では、累積値Ｔｍｆ＿ｔｏｔａｌ＿ｎをエンジン１６の始動後における失火発生回数の累積値としたが、これに限らず、例えば、その他の時点（例えば、エンジン１６の始動から所定時間経過後）からの失火発生回数の累積値とすることもできる。
【０１４１】
上記実施形態では、ステップＳ３３、Ｓ４４において空燃比ＦＢ制御を停止する前において、燃料噴射基本制御と空燃比ＦＢ制御を同時に用いていたが、これに限らず、最初に、燃料噴射基本制御のみを用い、その後、空燃比ＦＢ制御のみを実行することもできる。この場合、ステップＳ３３、Ｓ４４において空燃比ＦＢ制御を停止する際、燃料噴射基本制御を再開する。或いは、ステップＳ３３、Ｓ４４において空燃比ＦＢ制御を停止する前において、最初に、燃料噴射基本制御と空燃比ＦＢ制御とを同時に開始し、その後、燃料噴射基本制御を停止し、空燃比ＦＢ制御のみを継続し続けてもよい。この場合も、ステップＳ３３、Ｓ４４において空燃比ＦＢ制御を停止する際、燃料噴射基本制御を再開すればよい。
【０１４２】
上記実施形態の第２診断処理では、補正値Ｃｆｉ＿ｎを減少させることで各気筒３２の空燃比Ｒａｆ＿ｎを理論空燃比からリーン側に減少させていったが、これに限らない。例えば、図２１に示すように、補正値Ｃｆｉ＿ｎを正から負に段階的に切り替えることで、気筒空燃比Ｒａｆ＿ｎをリッチ側からリーン側に段階的に切り替えることができる。或いは、図２２に示すように、補正値Ｃｆｉ＿ｎを負から正に段階的に切り替えることで、気筒空燃比Ｒａｆ＿ｎをリーン側からリッチ側に段階的に切り替えることもできる。これらの場合、補正値Ｃｆｉ＿ｎは、±０％、−１０％、−２０％、−３０％、−４０％の組合せのみではなく、適宜変更することができる。
【０１４３】
上記実施形態の第２診断処理では、対象気筒以外の気筒３２について燃料噴射基本制御を行いつつ、対象気筒について空燃比Ｒａｆ＿ｎ（補正値Ｃｆｉ＿ｎ）を徐々に変化させた。これに限らず、対象気筒以外の気筒３２については、燃料噴射基本制御を停止し、燃料噴射及び点火を中止することもできる。
【０１４４】
上記実施形態の第２診断処理では、図１３のフローチャートを用いて故障の特定を行ったが、故障の特定の方法はこれに限らない。例えば、ステップＳ７１では燃料噴射率Ｒｆｉ＿ｎが７０％であるとき（補正値Ｃｆｉ＿ｎが−３０％であるとき）の累積値Ｔｍｆ＿ｃｙｌ＿ｎに基づいてリッチ故障であるか否かを判定した。しかし、リッチ故障の判定については、例えば、エンジン１６の特性によって定められるリーン側の燃料限界値（失火が発生しない臨界値）を下回る燃料噴射率Ｒｆｉ＿ｎであれば、別の値（図１４参照）であってもよい。また、その際の累積値Ｔｍｆ＿ｃｙｌ＿ｎの閾値（第１閾値）をゼロ以外の正の値とすることもできる。
【０１４５】
さらに、ステップＳ７３では燃料噴射率Ｒｆｉ＿ｎが９０％であるとき（補正値Ｃｆｉ＿ｎが−１０％であるとき）の累積値Ｔｍｆ＿ｃｙｌ＿ｎに基づいてリーン故障であるか否かを判定した。しかし、リーン故障の判定については、例えば、燃焼噴射率Ｒｆｉ＿ｎが１００％である、又はエンジン１６の特性により定まる燃料可能範囲値（失火が発生しない範囲）内の値であれば、別の値（図１４参照）であってもよい。また、その際の閾値ＴＨ＿ｌｅａｎ（第２閾値）の値は適宜設定することができる。
【０１４６】
また、対象気筒以外の気筒３２が故障している場合に対象気筒の故障診断の精度を上げるため、図１３のフローチャートにさらに別のステップを加えることもできる。例えば、図１３のステップＳ７４において対象気筒がリーン故障であると判定する前に、リーン故障であれば失火発生回数の累積値Ｔｍｆ＿ｃｙｌ＿ｎが変化するはずの範囲（図１４参照）を対象気筒の空燃比Ｒａｆ＿ｎが変化したときの累積値Ｔｍｆ＿ｃｙｌ＿ｎの変化量（例えば、対象気筒の空燃比Ｒａｆ＿ｎが９０％のときと１００％のときの累積値Ｔｍｆ＿ｃｙｌ＿ｎの差）を算出する。そして、当該変化量が所定値以上である場合に、対象気筒がリーン故障であると判定することもできる。
【図１】
2012029517.tif 000003
【図２】
2012029517.tif 000004
【図３】
2012029517.tif 000005
【図４】
2012029517.tif 000006
【図５】
2012029517.tif 000007
【図６】
2012029517.tif 000008
【図７】
2012029517.tif 000009
【図８】
2012029517.tif 000010
【図９】
2012029517.tif 000011
【図１０】
2012029517.tif 000012
【図１１】
2012029517.tif 000013
【図１２】
2012029517.tif 000014
【図１３】
2012029517.tif 000015
【図１４】
2012029517.tif 000016
【図１５】
2012029517.tif 000017
【図１６】
2012029517.tif 000018
【図１７】
2012029517.tif 000019
【図１８】
2012029517.tif 000020
【図１９】
2012029517.tif 000021
【図２０】
2012029517.tif 000022
【図２１】
2012029517.tif 000023
【図２２】
2012029517.tif 000024
【手続補正書】
【提出日】平成23年12月28日(2011.12.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
内燃機関（１６）の作動中、複数の気筒（３２ａ〜３２ｄ）のうち空燃比が異常である異常気筒を特定する内燃機関診断装置（１４）であって、
前記複数の気筒（３２ａ〜３２ｄ）それぞれの燃料噴射量を調整する燃料噴射量調整手段（２０）を制御することにより、作動中の前記複数の気筒（３２ａ〜３２ｄ）のうちの１気筒のみの空燃比を段階的に変化させる制御を、前記複数の気筒（３２ａ〜３２ｄ）それぞれに対して行う空燃比制御部（８４）と、
段階的に変化させた空燃比毎に失火カウンタ（２０）がカウントした前記複数の気筒（３２ａ〜３２ｄ）に対応する失火発生回数と、前記段階的に変化させた空燃比との関係から前記異常気筒を特定する異常気筒特定部（８４）と
を有することを特徴とする内燃機関診断装置（１４）。
【請求項２】
請求項１記載の内燃機関診断装置（１４）において、
前記空燃比制御部（８４）は、前記内燃機関（１６）に負荷がかかっていない状態において、前記複数の気筒（３２ａ〜３２ｄ）を１つずつ順番に前記燃料噴射量を調整するように前記燃料噴射量調整手段（２０）を制御して空燃比を段階的に増加又は減少させる
ことを特徴とする内燃機関診断装置（１４）。
【請求項３】
請求項１記載の内燃機関診断装置（１４）において、
前記空燃比制御部（８４）は、前記燃料噴射量を、理論空燃比を実現するための設定値から開始して段階的に減少させる
ことを特徴とする内燃機関診断装置（１４）。
【請求項４】
請求項３記載の内燃機関診断装置（１４）において、
前記燃料噴射量が、前記内燃機関（１６）の特性によって定められるリーン側の燃焼限界値を下回るとき、前記失火発生回数が第１閾値よりも低い気筒がある場合、前記異常気筒特定部（８４）は、燃料が過剰に供給されるリッチ故障が当該気筒に発生していると判定する
ことを特徴とする内燃機関診断装置（１４）。
【請求項５】
請求項３記載の内燃機関診断装置（１４）において、
前記燃料噴射量が、理論空燃比を実現するための設定値であるとき又は前記内燃機関（１６）の特性により定まる燃焼可能範囲内の所定値であるとき、前記失火発生回数が第２閾値よりも高い気筒がある場合、前記異常気筒特定部（８４）は、燃料供給が不足しているリーン故障が当該気筒に発生していると判定する
ことを特徴とする内燃機関診断装置（１４）。
【請求項６】
請求項１記載の内燃機関診断装置（１４）において、
前記空燃比を段階的に変化させている際、前記複数の気筒（３２ａ〜３２ｄ）のいずれかの失火発生回数又はその合計が所定値を越えた場合、前記空燃比の段階的な変化を中止させることで点火プラグ（３６）又は排ガス浄化用フィルタ（１８）を保護する保護部（８４）を有する
ことを特徴とする内燃機関診断装置（１４）。
【請求項７】
請求項１又は６記載の内燃機関診断装置（１４）において、
前記内燃機関（１６）全体の空燃比が目標空燃比からずれている場合、前記複数の気筒（３２ａ〜３２ｄ）それぞれに同一の補正値を適用して前記内燃機関（１６）全体の空燃比が前記目標空燃比と等しくなるように制御する空燃比フィードバック制御を実行可能であり、
前記内燃機関（１６）の診断時において、
前記内燃機関（１６）の暖機運転後のアイドル運転中に、前記複数の気筒（３２ａ〜３２ｄ）それぞれに対して少なくとも前記空燃比フィードバック制御を実行すると共に、前記複数の気筒（３２ａ〜３２ｄ）それぞれについて失火の発生を監視し、
前記失火が発生したとき、前記空燃比フィードバック制御を停止すると共に、燃料噴射基本制御を開始又は継続して失火が継続するか否かを判定し、
前記燃料噴射基本制御のみでも失火が継続する場合、前記補正値が、燃料が過剰に供給されるリッチ故障を判定するための第１閾値又は燃料供給が不足しているリーン故障を判定するための第２閾値を超えるか否かを判定し、
前記補正値が前記第１閾値を超える場合、その時点で失火が発生している気筒にリッチ故障が生じていると判定し、又は前記補正値が前記第２閾値を超える場合、その時点で失火が発生している気筒にリーン故障が生じていると判定する
ことを特徴とする内燃機関診断装置（１４）。
【請求項８】
内燃機関（１６）の作動中、複数の気筒（３２ａ〜３２ｄ）のうち空燃比が異常である異常気筒を特定する内燃機関診断方法であって、
前記複数の気筒（３２ａ〜３２ｄ）それぞれの燃料噴射量を制御することにより、作動中の前記複数の気筒（３２ａ〜３２ｄ）のうちの１気筒のみの空燃比を段階的に変化させる制御を、前記複数の気筒（３２ａ〜３２ｄ）それぞれに対して行う空燃比変化ステップと、
段階的に変化させた空燃比毎に、前記複数の気筒（３２ａ〜３２ｄ）に対応する失火発生回数をカウントする失火発生回数カウントステップと、
前記段階的に変化させた空燃比と前記失火発生回数との関係から前記異常気筒を特定する異常気筒特定ステップと
を有することを特徴とする内燃機関診断方法。
【請求項９】
請求項８記載の内燃機関診断方法において、
前記空燃比変化ステップでは、前記内燃機関（１６）に負荷がかかっていない状態において、前記複数の気筒（３２ａ〜３２ｄ）を１つずつ順番に前記燃料噴射量を制御して空燃比を段階的に増加又は減少させる
ことを特徴とする内燃機関診断方法。
【請求項１０】
請求項８記載の内燃機関診断方法において、
前記空燃比変化ステップでは、前記燃料噴射量を、理論空燃比を実現するための設定値から開始して段階的に減少させる
ことを特徴とする内燃機関診断方法。
【請求項１１】
請求項１０記載の内燃機関診断方法において、
前記異常気筒特定ステップにおいて、前記燃料噴射量が、前記内燃機関（１６）の特性により定まるリーン側の燃焼限界値を下回るとき、前記失火発生回数が第１閾値よりも低い気筒がある場合、燃料が過剰に供給されるリッチ故障が当該気筒に発生していると判定する
ことを特徴とする内燃機関診断方法。
【請求項１２】
請求項１０記載の内燃機関診断方法において、
前記異常気筒特定ステップにおいて、前記燃料噴射量が、理論空燃比を実現するための設定値であるとき又は前記内燃機関（１６）の特性により定まる燃焼可能範囲内の値であるとき、前記失火発生回数が第２閾値よりも高い気筒がある場合、燃料供給が不足しているリーン故障が当該気筒に発生していると判定する
ことを特徴とする内燃機関診断方法。
【請求項１３】
請求項８記載の内燃機関診断方法であって、
前記空燃比を段階的に変化させている際、前記複数の気筒（３２ａ〜３２ｄ）のいずれかの失火発生回数又はその合計が所定値を越えた場合、前記空燃比の段階的な変化を中止させることで点火プラグ（３６）又は排ガス浄化用フィルタ（１８）を保護する保護ステップを有する
ことを特徴とする内燃機関診断方法。
【請求項１４】
請求項８又は１３記載の内燃機関診断方法であって、
前記複数の気筒（３２ａ〜３２ｄ）それぞれに対する燃料噴射量を調整することにより、前記複数の気筒（３２ａ〜３２ｄ）それぞれにおける空燃比を制御する燃料噴射基本制御ステップと、
前記複数の気筒（３２ａ〜３２ｄ）それぞれの失火発生回数をカウントする失火発生回数カウントステップと、
前記異常気筒を特定する異常気筒特定ステップと
を備え、
前記燃料噴射基本制御ステップでは、
前記複数の気筒（３２ａ〜３２ｄ）それぞれの空燃比が前記内燃機関（１６）全体の目標空燃比と等しくなるように前記複数の気筒（３２ａ〜３２ｄ）それぞれの空燃比を制御する燃料噴射基本制御と、
前記内燃機関（１６）全体の空燃比が目標空燃比からずれている場合、前記複数の気筒（３２ａ〜３２ｄ）それぞれに同一の補正値を適用して前記内燃機関（１６）全体の空燃比が前記目標空燃比と等しくなるように制御する空燃比フィードバック制御と
を実行し、
また、前記燃料噴射基本制御ステップでは、前記内燃機関（１６）の診断時において、
前記内燃機関（１６）の暖機運転後のアイドル運転中に、前記複数の気筒（３２ａ〜３２ｄ）それぞれに対して少なくとも前記空燃比フィードバック制御を実行すると共に、前記複数の気筒（３２ａ〜３２ｄ）それぞれについて失火の発生を監視し、
前記失火が発生したとき、前記空燃比フィードバック制御を停止すると共に、前記燃料噴射基本制御を開始又は継続して失火が継続するか否かを判定し、
前記燃料噴射基本制御のみでも失火が継続する場合、前記補正値が、燃料が過剰に供給されるリッチ故障を判定するための第１閾値又は燃料供給が不足しているリーン故障を判定するための第２閾値を超えるか否かを判定し、
前記補正値が前記第１閾値を超える場合、その時点で失火が発生している気筒にリッチ故障が生じていると判定し、又は前記補正値が前記第２閾値を超える場合、その時点で失火が発生している気筒にリーン故障が生じていると判定する
ことを特徴とする内燃機関診断方法。
【国際調査報告】
2012029517.tif 000025
2012029517.tif 000026
2012029517.tif 000027
2012029517.tif 000028