(57)【特許請求の範囲】
【請求項１】
多気筒内燃機関の気筒毎に設けられた複数の分岐吸気通路にそれぞれＥＧＲガスを分配供給するための複数の分岐ＥＧＲ通路を有するＥＧＲ装置と、
前記内燃機関の点火時期を気筒毎に変更可能な点火時期変更手段と、
前記内燃機関のノッキングを検出するノック検出手段と、
ＥＧＲ実行時に、いずれかの気筒の前記分岐ＥＧＲ通路が閉塞する閉塞異常を検出する異常検出手段と、
ＥＧＲ実行時に、前記閉塞異常が発生した異常気筒を特定する特定手段と、
を備え、
前記特定手段は、少なくとも１エンジンサイクルの間は前記点火時期を全気筒数より少ない所定数の気筒のみ遅角し、この遅角を行う所定数の気筒を順番に且つ交互に変更し、遅角毎に遅角前後のノッキング減少量を算出し、算出された複数のノッキング減少量に基づき、ノッキング減少量が所定値を超える１気筒を異常気筒と特定する
ことを特徴とする内燃機関の診断装置。
【請求項２】
前記特定手段は、前記点火時期を１気筒ずつ順番に且つ交互に遅角し、この遅角毎に遅角前後のノッキング減少量を算出し、算出された全気筒数と同数のノッキング減少量に基づき、ノッキング減少量が所定値を超える１気筒を異常気筒と特定する
ことを特徴とする請求項１に記載の内燃機関の診断装置。
【請求項３】
前記特定手段は、前記点火時期を、全気筒を２群に分けたうちの１群ずつ順番に且つ交互に遅角し、この遅角毎に遅角前後のノッキング減少量を算出し、算出されたノッキング減少量が大きい方の１群を選択し、この選択された１群の中から、ノッキング減少量が所定値を超える１気筒を異常気筒と特定する
ことを特徴とする請求項１に記載の内燃機関の診断装置。
【請求項４】
前記内燃機関は４つの気筒を含み、
前記特定手段は、前記点火時期を、全気筒を２気筒ずつの２群に分けたうちの１群ずつ順番に且つ交互に遅角し、この遅角毎に遅角前後のノッキング減少量を算出し、算出されたノッキング減少量が大きい方の１群を選択し、
この選択された１群において１気筒の前記点火時期を遅角し、この遅角前後のノッキング減少量を算出し、算出されたノッキング減少量と所定値との比較結果に応じてノッキング減少量が所定値を超える１気筒を異常気筒と特定する
ことを特徴とする請求項３に記載の内燃機関の診断装置。
【請求項５】
前記内燃機関は６つの気筒を含み、
前記特定手段は、前記点火時期を、全気筒を３気筒ずつの２群に分けたうちの１群ずつ順番に且つ交互に遅角し、この遅角毎に遅角前後のノッキング減少量を算出し、算出されたノッキング減少量が大きい方の１群を選択し、
この選択された１群において前記点火時期を１気筒ずつ順番に且つ交互に遅角し、この遅角毎に遅角前後のノッキング減少量を算出し、算出されたノッキング減少量を所定値と比較し、ノッキング減少量が所定値を超える１気筒を異常気筒と特定する
ことを特徴とする請求項３に記載の内燃機関の診断装置。
【請求項６】
前記内燃機関は８つの気筒を含み、
前記特定手段は、前記点火時期を、全気筒を４気筒ずつの２群に分けたうちの１群ずつ順番に且つ交互に遅角し、この遅角毎に遅角前後のノッキング減少量を算出し、算出されたノッキング減少量が大きい方の１群を選択し、
この選択された１群において前記点火時期を、４気筒を２気筒ずつの２群に分けたうちの１群のみ遅角し、ノッキング減少量が所定値を超える１群を選択し、
この選択された１群において１気筒の前記点火時期を遅角し、この遅角前後のノッキング減少量を算出し、算出されたノッキング減少量と所定値との比較結果に応じてノッキング減少量が所定値を超える１気筒を異常気筒と特定する
ことを特徴とする請求項３に記載の内燃機関の診断装置。
【請求項７】
前記点火時期変更手段は、ＥＧＲ実行時に全気筒の点火時期をＥＧＲ非実行時よりも一律に進角する
ことを特徴とする請求項１〜６のいずれか一項に記載の内燃機関の診断装置。
【請求項８】
吸気圧を検出する吸気圧検出手段をさらに備え、
前記異常検出手段は、ＥＧＲ実行時に前記吸気圧検出手段によって検出された吸気圧が所定の目標吸気圧より所定値以上低下し、且つ前記ノック検出手段によってノッキングが検出されたときに閉塞異常を検出する
ことを特徴とする請求項１〜７のいずれか一項に記載の内燃機関の診断装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は内燃機関の診断装置に係り、特に、多気筒内燃機関の各気筒にＥＧＲガスを分配供給する気筒別ＥＧＲが可能な内燃機関の診断装置に関する。
【背景技術】
【０００２】
このような気筒別ＥＧＲを行う多気筒内燃機関においては、気筒毎に設けられた複数の分岐吸気通路に複数の分岐ＥＧＲ通路がそれぞれ接続されている。そしていずれかの気筒の分岐ＥＧＲ通路において、デポジット等が堆積し、当該通路が閉塞する（あるいは詰まる）ことがある。かかる閉塞異常が発生すると、気筒間のＥＧＲガス量がばらつき、これに起因して気筒間の空燃比がばらつき、排気エミッションが悪化する虞がある。
【０００３】
一方、気筒別ＥＧＲの実行中に閉塞異常が発生するとノッキングが発生する。特許文献１に記載の装置においては、このノッキングを抑制するため、閉塞異常気筒の点火時期を遅角している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２５０５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
閉塞異常が発生した場合、この閉塞異常が起こっている異常気筒を特定するのが好ましい。後の迅速な修理等に資するからである。
【０００６】
特許文献１に記載の装置においては、ノックセンサにより気筒毎にノッキングの発生の有無を判断し、ノッキングが発生している気筒を異常気筒と特定している。そして特定された異常気筒に対してのみ点火時期を遅角している（段落００２８，００５２，００５３参照）。
【０００７】
しかし、ノックセンサを用いてもノッキングの発生を気筒単位で検出できないシステムもある。このようなシステムの場合、異常気筒を特定することができない。
【０００８】
そこで本発明の目的は、ノッキングの発生を気筒単位で検出できない場合であっても、閉塞異常が起こっている異常気筒を特定することが可能な内燃機関の診断装置を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の一の態様によれば、
多気筒内燃機関の気筒毎に設けられた複数の分岐吸気通路にそれぞれＥＧＲガスを分配供給するための複数の分岐ＥＧＲ通路を有するＥＧＲ装置と、
前記内燃機関の点火時期を気筒毎に変更可能な点火時期変更手段と、
前記内燃機関のノッキングを検出するノック検出手段と、
ＥＧＲ実行時に、いずれかの気筒の前記分岐ＥＧＲ通路が閉塞する閉塞異常を検出する異常検出手段と、
ＥＧＲ実行時に、前記閉塞異常が発生した異常気筒を特定する特定手段と、
を備え、
前記特定手段は、前記点火時期を所定数の気筒ずつ順番に且つ交互に遅角し、この遅角毎に遅角前後のノッキング減少量を算出し、算出された複数のノッキング減少量に基づき、ノッキング減少量が所定値を超える１気筒を異常気筒と特定する
ことを特徴とする内燃機関の診断装置が提供される。
【００１０】
好ましくは、前記特定手段は、前記点火時期を１気筒ずつ順番に且つ交互に遅角し、この遅角毎に遅角前後のノッキング減少量を算出し、算出された全気筒数と同数のノッキング減少量に基づき、ノッキング減少量が所定値を超える１気筒を異常気筒と特定する。
【００１１】
好ましくは、前記特定手段は、前記点火時期を、全気筒を２群に分けたうちの１群ずつ順番に且つ交互に遅角し、この遅角毎に遅角前後のノッキング減少量を算出し、算出されたノッキング減少量が大きい方の１群を選択し、この選択された１群の中から、ノッキング減少量が所定値を超える１気筒を異常気筒と特定する。
【００１２】
好ましくは、前記内燃機関は４つの気筒を含み、
前記特定手段は、前記点火時期を、全気筒を２気筒ずつの２群に分けたうちの１群ずつ順番に且つ交互に遅角し、この遅角毎に遅角前後のノッキング減少量を算出し、算出されたノッキング減少量が大きい方の１群を選択し、
この選択された１群において１気筒の前記点火時期を遅角し、この遅角前後のノッキング減少量を算出し、算出されたノッキング減少量と所定値との比較結果に応じてノッキング減少量が所定値を超える１気筒を異常気筒と特定する。
【００１３】
好ましくは、前記内燃機関は６つの気筒を含み、
前記特定手段は、前記点火時期を、全気筒を３気筒ずつの２群に分けたうちの１群ずつ順番に且つ交互に遅角し、この遅角毎に遅角前後のノッキング減少量を算出し、算出されたノッキング減少量が大きい方の１群を選択し、
この選択された１群において前記点火時期を１気筒ずつ順番に且つ交互に遅角し、この遅角毎に遅角前後のノッキング減少量を算出し、算出されたノッキング減少量を所定値と比較し、ノッキング減少量が所定値を超える１気筒を異常気筒と特定する。
【００１４】
好ましくは、前記内燃機関は８つの気筒を含み、
前記特定手段は、前記点火時期を、全気筒を４気筒ずつの２群に分けたうちの１群ずつ順番に且つ交互に遅角し、この遅角毎に遅角前後のノッキング減少量を算出し、算出されたノッキング減少量が大きい方の１群を選択し、
この選択された１群において前記点火時期を、４気筒を２気筒ずつの２群に分けたうちの１群のみ遅角し、ノッキング減少量が所定値を超える１群を選択し、
この選択された１群において１気筒の前記点火時期を遅角し、この遅角前後のノッキング減少量を算出し、算出されたノッキング減少量と所定値との比較結果に応じてノッキング減少量が所定値を超える１気筒を異常気筒と特定する。
【００１５】
好ましくは、前記点火時期変更手段は、ＥＧＲ実行時に全気筒の点火時期をＥＧＲ非実行時よりも一律に進角する。
【００１６】
好ましくは、前記診断装置は、吸気圧を検出する吸気圧検出手段をさらに備え、
前記異常検出手段は、ＥＧＲ実行時に前記吸気圧検出手段によって検出された吸気圧が所定の目標吸気圧より所定値以上低下し、且つ前記ノック検出手段によってノッキングが検出されたときに閉塞異常を検出する。
【発明の効果】
【００１７】
本発明によれば、ノッキングの発生を気筒単位で検出できない場合であっても、閉塞異常が起こっている異常気筒を特定することができるという、優れた効果が発揮される。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態に係る内燃機関の概略図である。
【図２】触媒前センサおよび触媒後センサの出力特性を示すグラフである。
【図３】ＥＧＲ制御マップを示す。
【図４】点火時期の変化の様子を示すグラフである。
【図５】第１実施例に関するフローチャートである。
【図６】第２実施例に関するフローチャートである。
【図７】第２実施例に関するフローチャートである。
【図８】第３実施例に係る内燃機関の概略図である。
【図９】第３実施例に関するフローチャートである。
【図１０】第３実施例に関するフローチャートである。
【図１１】第３実施例に関するフローチャートである。
【図１２】第４実施例に係る内燃機関の概略図である。
【図１３】第４実施例に関するフローチャートである。
【図１４】第４実施例に関するフローチャートである。
【図１５】第４実施例に関するフローチャートである。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態を添付図面に基づき説明する。
【００２０】
図１に本実施形態に係る内燃機関を概略的に示す。図示される内燃機関（エンジン）１は自動車用の直列４気筒火花点火式内燃機関（ガソリンエンジン）である。エンジン１は＃１，＃２，＃３，＃４の４つの気筒を含む。ここで述べるエンジンは直列４気筒エンジンであるが、Ｖ型４気筒エンジンや水平対向４気筒エンジン等、他の形式であってもよい。
【００２１】
各気筒に、燃料を噴射するためのインジェクタ（燃料噴射弁）２が設けられている。インジェクタ２は、対応気筒の吸気通路特に吸気ポート（図示せず）内に向けて燃料を噴射する。
【００２２】
吸気を導入するための吸気通路７は、前記吸気ポートの他、集合部としてのサージタンク８と、各気筒の吸気ポートおよびサージタンク８を結ぶ複数（４つ）の吸気マニホールド９と、サージタンク８の上流側の吸気管１０とを含む。各気筒の吸気マニホールド９および吸気ポートがそれぞれ分岐吸気通路をなす。サージタンク８に集合された吸気は分岐吸気通路を介して各気筒に分配される。
【００２３】
吸気管１０には、上流側から順にエアフローメータ１１と電子制御式スロットルバルブ１２と吸気圧センサ２５とが設けられている。エアフローメータ１１は吸気流量に応じた大きさの信号を出力する。吸気圧センサ２５は吸気圧に応じた大きさの信号を出力する。各気筒には、筒内の混合気に点火するための点火プラグ１３が設けられる。
【００２４】
排気ガスを排出するための排気通路１４は、各気筒の排気ポート（図示せず）と、これら排気ポートの排気ガスを集合させる排気マニホールド１６と、排気マニホールド１６の下流側に設置された排気管１７とを含む。そして排気管１７にはそれぞれ三元触媒からなる上流触媒１８と下流触媒１９が設けられている。
【００２５】
上流触媒１８の上流側及び下流側（直前及び直後）にそれぞれ排気ガスの空燃比を検出するための空燃比センサ、即ち触媒前センサ２０及び触媒後センサ２１が設置されている。これらセンサは排気ガスの酸素濃度に基づいて空燃比を検出する。
【００２６】
エンジン１にはＥＧＲ装置３０が設けられる。ＥＧＲ装置３０は、排気通路１７から取り出した排気ガスであるＥＧＲガスを各気筒の分岐吸気通路に分配供給する気筒別ＥＧＲを実行するためのものである。
【００２７】
ＥＧＲ装置３０は、排気管１７と各気筒の吸気マニホールド９を結ぶＥＧＲ通路３１を有する。ＥＧＲ通路３１は、排気管１７から延びるメインＥＧＲ通路３２と、メインＥＧＲ通路３２から分岐して各気筒の吸気マニホールド９に接続する複数（４つ）の分岐ＥＧＲ通路３３とを有する。ＥＧＲガス流れ方向最上流側に位置する＃１気筒用分岐ＥＧＲ通路３３の上流側のメインＥＧＲ通路３２に、ＥＧＲガス流量を調節するためのＥＧＲバルブ３４が設けられる。なおメインＥＧＲ通路３２にＥＧＲクーラを設けてもよい。
【００２８】
エンジン１には制御手段としての電子制御ユニット（以下ＥＣＵと称す）１００が設けられている。ＥＣＵ１００は、何れも図示されないＣＰＵ、ＲＯＭ、ＲＡＭ、入出力ポート、および記憶装置等を含むものである。ＥＣＵ１００には、前述のエアフローメータ１１、吸気圧センサ２５、触媒前センサ２０、触媒後センサ２１のほか、エンジン１のクランク角を検出するクランク角センサ２２、エンジン１のノッキングを検出するためのノックセンサ２６、アクセル開度を検出するアクセル開度センサ２３、エンジン冷却水の温度を検出する水温センサ２４、その他の各種センサが図示されないＡ／Ｄ変換器等を介して電気的に接続されている。ＥＣＵ１００は、各種センサの検出値等に基づき、所望の出力が得られるように、インジェクタ２、点火プラグ１３、スロットルバルブ１２、ＥＧＲバルブ３４等を制御し、燃料噴射量、燃料噴射時期、点火時期、スロットル開度、ＥＧＲ率（またはＥＧＲガス流量）等を制御する。なおスロットル開度は通常アクセル開度に応じた開度に制御される。
【００２９】
ＥＣＵ１００は、クランク角センサ２２からのクランクパルス信号に基づき、クランク角自体を検出すると共にエンジン１の回転数を検出する。ここで「回転数」とは単位時間当たりの回転数のことをいい、回転速度と同義である。本実施形態では１分間当たりの回転数ｒｐｍのことをいう。またＥＣＵ１００は、エアフローメータ１１からの信号に基づき、単位時間当たりの吸入空気の量すなわち吸入空気量を検出する。そしてＥＣＵ１００は、検出した吸入空気量およびアクセル開度の少なくとも一方に基づき、エンジン１の負荷を検出する。
【００３０】
触媒前センサ２０は所謂広域空燃比センサからなり、比較的広範囲に亘る空燃比を連続的に検出可能である。図２に触媒前センサ２０の出力特性を示す。図示するように、触媒前センサ２０は、検出した排気空燃比（触媒前空燃比Ａ／Ｆｆ）に比例した大きさの電圧信号Ｖｆを出力する。排気空燃比がストイキ（理論空燃比、例えばＡ／Ｆ＝１４．５）であるときの出力電圧はＶｒｅｆｆ（例えば約３．３Ｖ）である。
【００３１】
他方、触媒後センサ２１は所謂Ｏ２センサからなり、ストイキを境に出力値が急変する特性を持つ。図２に触媒後センサ２１の出力特性を示す。図示するように、排気空燃比（触媒後空燃比Ａ／Ｆｒ）がストイキであるときの出力電圧、すなわちストイキ相当値はＶｒｅｆｒ（例えば０．４５Ｖ）である。触媒後センサ２１の出力電圧は所定の範囲（例えば０〜１Ｖ）内で変化する。排気空燃比がストイキよりリーンのとき、触媒後センサの出力電圧はストイキ相当値Ｖｒｅｆｒより低くなり、排気空燃比がストイキよりリッチのとき、触媒後センサの出力電圧はストイキ相当値Ｖｒｅｆｒより高くなる。
【００３２】
上流触媒１８及び下流触媒１９は、それぞれに流入する排気ガスの空燃比Ａ／Ｆがストイキ近傍のときに排気中の有害成分であるＮＯｘ、ＨＣおよびＣＯを同時に浄化する。この三者を同時に高効率で浄化できる空燃比の幅（ウィンドウ）は比較的狭い。
【００３３】
そこで、上流触媒１８に流入する排気ガスの空燃比をストイキ近傍に制御するための空燃比制御（ストイキ制御）がＥＣＵ１００により実行される。この空燃比制御は、触媒前センサ２０によって検出された排気空燃比を所定の目標空燃比であるストイキに一致させるような主空燃比制御（主空燃比フィードバック制御）と、触媒後センサ２１によって検出された排気空燃比をストイキに一致させるような補助空燃比制御（補助空燃比フィードバック制御）とからなる。
【００３４】
またＥＧＲ制御がＥＣＵ１００によって実行される。ＥＣＵ１００は、検出した実際のエンジンパラメータ（例えば回転数と負荷）に基づき、図３に示すようなマップを参照して、ＥＧＲの実行可否を判断する。検出した実際のエンジンパラメータがＥＧＲ実行領域Ｉにあるとき、ＥＣＵ１００はＥＧＲを実行すべきと判断し、ＥＧＲバルブ３４を開弁する。するとＥＧＲガスがメインＥＧＲ通路３２および分岐ＥＧＲ通路３３を通じて各気筒の吸気マニホールド９に分配供給される。他方、実際のエンジンパラメータがＥＧＲ非実行領域ＩＩにあるとき、ＥＣＵ１００はＥＧＲを実行すべきでないと判断し、ＥＧＲバルブ３４を全閉とする。
【００３５】
ＥＧＲを実行すべきと判断したとき、ＥＣＵ１００は、エンジンパラメータおよび目標吸気圧の関係を予め定めたマップ（図示せず）に従い、目標吸気圧を決定する。そしてこの決定した目標吸気圧に、吸気圧センサ２５で検出された実際の吸気圧が等しくなるように、ＥＧＲバルブ３４の開度を制御する。これにより実際のエンジンパラメータの値に適したＥＧＲ率ないしＥＧＲ流量を実現することができる。
【００３６】
他方、点火時期制御がＥＣＵ１００によって実行される。ＥＣＵ１００は、図４に示すように、ＥＧＲ非実行時には全気筒の点火時期をθ１に制御し、ＥＧＲ実行時には全気筒の点火時期を、θ１より進角側のθ２に制御する。これによりＥＧＲが非実行（無し）の状態から実行（有り）の状態に変化すると、点火時期は全気筒一律に（θ１−θ２）だけ進角される。
【００３７】
ＥＣＵ１００は点火時期を気筒毎に変更可能である。但しここで述べたＥＧＲの有無に応じた進角・遅角制御は全気筒一律に行う。
【００３８】
なおＥＣＵ１００は、併せて、ノックセンサ２６の信号に基づきノック制御を行う。このノック制御は、エンジン個体毎に異なるＭＢＴ（最大トルク点火時期）に実際の点火時期を近づける制御である。
【００３９】
さて、このような気筒別ＥＧＲを行うエンジン１においては、いずれかの気筒（特にいずれか１気筒）の分岐ＥＧＲ通路３３において、デポジット等が堆積し、当該通路が閉塞する（あるいは詰まる）ことがある。かかる閉塞異常が発生すると、気筒間のＥＧＲガス量がばらつき、これに起因して気筒間の空燃比がばらつき、排気エミッションが悪化する虞がある。
【００４０】
すなわち、閉塞異常が発生している異常気筒のＥＧＲガス流量は、他の正常気筒のＥＧＲガス流量より相対的に少なくなる。すると異常気筒においてはＥＧＲガス流量が少なくなった分新気の量が増し、その空燃比が正常気筒の空燃比よりリーンとなる。これにより気筒間の空燃比ばらつきが発生する。
【００４１】
この閉塞異常状態をできるだけ早期に解消するため、閉塞異常が発生した場合には、閉塞異常が起こっている異常気筒をできるだけ早期に特定するのが好ましい。後の迅速な修理等に資するからである。
【００４２】
ところで本実施形態のエンジン１においては、特許文献１に記載の装置と異なり、ノックセンサ２６によってもノッキングの発生を気筒単位で検出することができない。本実施形態のエンジン１においては、ノックセンサ２６が設けられているシリンダブロックあるいはこのシリンダブロックに含まれている気筒群単位でしかノッキングの発生を検出できない。本実施形態のような直列４気筒エンジンの場合だと、全気筒単位でしかノッキングの発生を検出できない。
【００４３】
そこで本実施形態ではＥＣＵ１００が以下の手順によって異常気筒を特定する。まず概略を述べると、ＥＧＲ実行時に閉塞異常を検出したときに異常気筒を特定する。そしてこの異常気筒特定に際し、点火時期を所定数の気筒ずつ順番に且つ交互に遅角し、この遅角毎に遅角前後のノッキング減少量を算出する。算出された複数のノッキング減少量に基づき、ノッキング減少量が所定値を超える１気筒を異常気筒と特定する。
【００４４】
［第１実施例］
以下に異常気筒特定の第１実施例を説明する。図５は第１実施例の異常気筒特定ルーチンを示し、このルーチンはＥＣＵ１００により実行される。
【００４５】
ステップＳ１０１ではＥＧＲ実行中か否かが判断される。ＥＧＲ実行中でなければ待機状態となり、ＥＧＲ実行中であればステップＳ１０２に進む。
【００４６】
ステップＳ１０２では、閉塞異常が検出されたか否かが判断される。検出されてなければ待機状態となり、検出されていればステップＳ１０３に進む。
【００４７】
ここで、閉塞異常の検出はＥＣＵ１００により次の方法で行われる。前述したように、ＥＧＲ実行中には、点火時期がＥＧＲ非実行時よりも進角されると共に、吸気圧センサ２５で検出された実際の吸気圧が目標吸気圧に等しくなるようにＥＧＲバルブ３４が制御される。
【００４８】
しかし、閉塞異常が生じていると、異常気筒において新気割合が増えることからノッキングが発生する。またこの新気割合の増加分、気筒全体での新気量も増え、実際の吸気圧が目標吸気圧よりも低下する。
【００４９】
そこで、ＥＧＲ実行中に吸気圧センサ２５で検出された実際の吸気圧が目標吸気圧より所定値以上低下し、且つ、ノックセンサ２６によってノッキングが検出されたとき、閉塞異常が検出され、すなわち閉塞異常が発生したと判断される。他方、それ以外の場合には閉塞異常は検出されず、すなわち閉塞異常が発生してないと判断される。
【００５０】
次に、ステップＳ１０３においては、遅角量Δθが初期値であるＡに設定される。この遅角量Δθ＝Ａは、例えば、図４に示したようなＥＧＲの非実行時と実行時の点火時期の差（θ２―θ１）よりも小さい値に設定され、例えばその差の半分の値に設定される。
【００５１】
次に、ステップＳ１０４において、気筒番号ｎが１に設定されると共に、最大低下量ΔＫｍａｘ（詳しくは後述）が、所定の最小の初期値であるΔＫｍｉｎに設定される。
【００５２】
次いでステップＳ１０５では、遅角前ノック判定値Ｋ１（ｎ）が算出される。ノック判定値Ｋとは、ノックセンサ２６により検出されるノッキングの大きさを表す値である。ノック判定値Ｋは、例えば次のような値とすることができる。
【００５３】
すなわち、１エンジンサイクル（＝７２０°ＣＡ）間のノックセンサ出力信号に対する平均値μと、標準偏差δおよび所定の係数Ｈの積との和をノック判定値Ｋとすることができる（Ｋ＝μ＋δ×Ｈ）。ノッキングが発生すると、ノックセンサ出力信号の変動量が大きくなるので、その平均値μおよび標準偏差δ（ばらつき）が大きくなる。よって、ノッキングが発生した場合にはノック判定値Ｋが大きくなり、ノッキングが発生してない場合にはノック判定値Ｋが小さくなる。
【００５４】
ＥＣＵ１００は、少なくとも１エンジンサイクル分のノックセンサ出力信号を取得し、これに対し信号解析を行って、ノック判定値Ｋを算出する。なお複数エンジンサイクル分のノック判定値の平均値をここでいうノック判定値Ｋとしてもよい。
【００５５】
次に、ステップＳ１０６において、＃ｎ気筒のみの点火時期がΔθだけ遅角される。
【００５６】
次いでステップＳ１０７において、遅角後ノック判定値Ｋ２（ｎ）が算出される。算出方法は遅角前ノック判定値Ｋ１（ｎ）と同様である。なお遅角後ノック判定値Ｋ２（ｎ）の算出が終了したら、遅角された＃ｎ気筒の点火時期が遅角前の点火時期に戻される。
【００５７】
ステップＳ１０８ではノック判定値低下量ΔＫ（ｎ）が式：ΔＫ（ｎ）＝Ｋ１（ｎ）−Ｋ２（ｎ）から算出される。
【００５８】
このノック判定値低下量ΔＫ（ｎ）は、＃ｎ気筒の点火時期遅角前後のノッキング減少量に相当する。もし仮にノッキングが発生している異常気筒において点火遅角を実行し、その結果異常気筒のノッキングが抑制された場合、遅角後ノック判定値Ｋ２は遅角前ノック判定値Ｋ１よりも減少し、ノック判定値低下量ΔＫはゼロより大きい値となる。逆に、ノッキングが発生してない正常気筒において点火遅角を実行した場合、異常気筒のノッキングは相変わらず抑制されないので、遅角後ノック判定値Ｋ２は遅角前ノック判定値Ｋ１とほぼ同等の値となり、ノック判定値低下量ΔＫはほぼゼロとなる。
【００５９】
よって点火遅角を行った１気筒のノック判定値低下量が正の所定値を超えた場合、当該１気筒を異常気筒と特定することができる。
【００６０】
同一のエンジンにおいて点火遅角前後のノック判定値の差をノック判定値低下量として算出するため、機差ばらつきの影響を低減し、精度良く異常気筒を特定することが可能である。
【００６１】
ステップＳ１０９では、ステップＳ１０８で算出されたノック判定値低下量ΔＫ（ｎ）が最大低下量ΔＫｍａｘより大きいか否かが判断される。
ノック判定値低下量ΔＫ（ｎ）が最大低下量ΔＫｍａｘより大きい場合、ステップＳ１１０で最大低下量ΔＫｍａｘが更新される。すなわち、ノック判定値低下量ΔＫ（ｎ）が既存の値と置き換えられて新たな最大低下量ΔＫｍａｘに設定される。
【００６２】
またこのステップＳ１１０で、最大値対応気筒番号ｉも更新される。すなわち、当該ノック判定値低下量ΔＫ（ｎ）に対応する気筒番号ｎが既存の値と置き換えられて新たな最大値対応気筒番号ｉに設定される。
【００６３】
ここで分かるように、最大低下量ΔＫｍａｘは、既に算出済みの１ないし複数のノック判定値低下量ΔＫ（ｎ）のうちの最大値を表す値である。
【００６４】
次いでステップＳ１１１では、気筒番号ｎが、エンジンの気筒数であるＮ（ここでは４）に等しいか否かが判断される。
気筒番号ｎが気筒数Ｎに等しくない場合、すなわちｎ＜Ｎの場合、ステップＳ１１４に進んで気筒番号が１つ増加され、ステップＳ１０５〜Ｓ１１１が繰り返し実行される。
【００６５】
こうして、点火時期は＃１気筒から＃４気筒まで１気筒ずつ順番に且つ交互に遅角され、この遅角毎に、遅角前後のノッキング減少量に対応するノック判定値低下量ΔＫ（ｎ）が算出される。そしてノック判定値低下量ΔＫ（ｎ）が最大低下量ΔＫｍａｘを超える度に、最大低下量ΔＫｍａｘと最大値対応気筒番号ｉが更新される。算出された気筒数Ｎと同数のノック判定値低下量ΔＫ（ｎ）の中から、最大値である最大低下量ΔＫｍａｘが設定され、且つこの最大値に対応する最大値対応気筒番号ｉが設定される。
【００６６】
他方、ステップＳ１１１で気筒番号ｎが気筒数Ｎに等しい場合、ステップＳ１１２に進んで、最大低下量ΔＫｍａｘが所定値αより大きいか否かが判断される。
最大低下量ΔＫｍａｘが所定値αより大きい場合、ステップＳ１１３に進み、最大値対応気筒番号ｉに対応する＃ｉ気筒が異常気筒と特定される。すなわちこの場合には＃ｉ気筒の点火遅角前後のノッキング減少量が所定値を超えた場合に該当するので、当該＃ｉ気筒（１気筒）が異常気筒として特定される。
【００６７】
他方、最大低下量ΔＫｍａｘが所定値α以下の場合、最大低下量ΔＫｍａｘは得られているものの、点火遅角によってノッキングが十分に抑制されていないと考えられる。この理由として一つに遅角量不足が考えられるので、最大低下量ΔＫｍａｘが所定値α以下の場合にはまず遅角量を増やす処理が行われる。
【００６８】
すなわち、ステップＳ１１５において、遅角量Δθが所定の最大遅角量Ｃより大きいか否かが判断される。最大遅角量Ｃは遅角量の上限を定める値である。遅角量Δθが最大遅角量Ｃ以下の場合、ステップＳ１１７に進んで、現在の遅角量Δθに所定遅角量Ｂを加えた値が新たな遅角量Δθに設定される。これにより遅角量Δθは増加される。所定遅角量Ｂは比較的小さな値である。
【００６９】
この後、ステップＳ１０４〜Ｓ１１１が繰り返し実行される。そしてステップＳ１１２において最大低下量ΔＫｍａｘが所定値αより大きいか否かが判断される。
最大低下量ΔＫｍａｘが所定値αより大きければステップＳ１１３で＃ｉ気筒が異常気筒と特定されるが、最大低下量ΔＫｍａｘが所定値α以下であれば再度、ステップＳ１１５で遅角量Δθが最大遅角量Ｃより大きいか否かが判断され、遅角量Δθが最大遅角量Ｃ以下の場合、ステップＳ１１７で遅角量Δθがさらに所定遅角量Ｂだけ増加される。
【００７０】
こうして、遅角量Δθが最大遅角量Ｃを超えるまで、遅角量Δθが所定遅角量Ｂずつ徐々に増加され、この増加毎に最大低下量ΔＫｍａｘと所定値αとの比較がなされる。
【００７１】
遅角量Δθが最大遅角量Ｃを超えた場合、ステップＳ１１５からステップＳ１１６に進んで、全気筒が異常気筒と特定される。すなわち、最大遅角量Ｃ付近の十分大きい点火遅角を行っても所定値αを超える最大低下量ΔＫｍａｘが得られない場合、＃１気筒用分岐ＥＧＲ通路３３の上流側のメインＥＧＲ通路３２（ＥＧＲバルブ３４を含む）で閉塞が発生し、全気筒でノッキングが発生している可能性が高い。よってこの場合には全気筒を異常気筒と特定し、気筒別分岐ＥＧＲ通路３３の閉塞異常と区別して特定する。これにより診断機能を高めることが可能である。
【００７２】
ところで、この第１実施例の場合だと、点火遅角が１気筒ずつ順番に且つ交互に行われ、合計で全気筒数と同数の４回行われる。これだと異常気筒特定に要する時間すなわち特定時間が長くなってしまう。異常気筒特定中ないしはフローチャート実行中のエンジン運転条件はほぼ同じであるのが好ましいが、特定時間が長くなると特定中にエンジン運転条件が変わる可能性が高くなり、この結果、特定精度が低下する虞がある。また特定中に前提条件（ＥＧＲ実行中等）を満たさなくなって特定が途中で中止される可能性も高くなり、診断頻度が減少する虞もある。
【００７３】
そこで特定時間の短縮、具体的には点火遅角回数の減少を図るため、以下に述べる実施例では複数の気筒ずつ点火遅角を実行する。そして徐々に異常気筒を絞っていき、最終的に異常な１気筒を特定する。
【００７４】
具体的には、全気筒を２群に分け、点火時期を１群ずつ順番に且つ交互に遅角し、この遅角毎にノック判定値低下量を算出し、算出されたノック判定値低下量が大きい方の１群を選択する。そしてこの選択された１群の中から、ノック判定値低下量が所定値を超える１気筒を異常気筒と特定する。
【００７５】
［第２実施例］
図６および図７は第２実施例の異常気筒特定ルーチンを示し、このルーチンはＥＣＵ１００により実行される。
【００７６】
この第２実施例においては、全４気筒を２気筒ずつの２群に分け、点火時期を１群ずつ順番に且つ交互に遅角する。この遅角毎にノック判定値低下量を算出し、算出されたノック判定値低下量が大きい方の１群を選択する。
【００７７】
選択された１群において、１気筒の点火時期を遅角し、この遅角時のノック判定値低下量を算出し、算出されたノック判定値低下量と所定値との比較結果に応じて、ノック判定値低下量が所定値を超える１気筒を異常気筒と特定する。
【００７８】
ステップＳ２０１，Ｓ２０２は前記ステップＳ１０１，Ｓ１０２と同様である。ステップＳ２０２で閉塞異常が検出された場合、ステップＳ２０３〜Ｓ２０６において、第１群としての＃１，２気筒の点火遅角を実行したときのノック判定値低下量ΔＫ（１，２）が算出される。
【００７９】
すなわち、ステップＳ２０３では、遅角前ノック判定値Ｋ１（１，２）が算出される。そしてステップＳ２０４において、＃１，２気筒のみの点火時期がΔθだけ遅角される。＃３，４気筒の点火時期は遅角されない。遅角量Δθは、例えばＥＧＲ非実行状態からＥＧＲ実行状態に変化したときの進角量（図４の（θ１−θ２））と等しくすることができる。
【００８０】
次いでステップＳ２０５において、遅角後ノック判定値Ｋ２（１，２）が算出される。遅角後ノック判定値Ｋ２（１，２）の算出が終了したら、遅角された＃１，２気筒の点火時期が遅角前の点火時期に戻される。
【００８１】
ステップＳ２０６ではノック判定値低下量ΔＫ（１，２）が式：ΔＫ（１，２）＝Ｋ１（１，２）−Ｋ２（１，２）から算出される。
【００８２】
次いで、ステップＳ２０７〜Ｓ２１０において、第２群としての＃３，４気筒の点火遅角を実行したときのノック判定値低下量ΔＫ（３，４）が算出される。
【００８３】
すなわち、ステップＳ２０７では、遅角前ノック判定値Ｋ１（３，４）が算出される。そしてステップＳ２０８において、＃３，４気筒のみの点火時期がΔθだけ遅角される。＃１，２気筒の点火時期は遅角されない。次いでステップＳ２０９において、遅角後ノック判定値Ｋ２（３，４）が算出される。遅角後ノック判定値Ｋ２（３，４）の算出が終了したら、遅角された＃３，４気筒の点火時期が遅角前の点火時期に戻される。
【００８４】
ステップＳ２１０ではノック判定値低下量ΔＫ（３，４）が式：ΔＫ（３，４）＝Ｋ１（３，４）−Ｋ２（３，４）から算出される。
【００８５】
次いで、ステップＳ２１１において、＃１，２気筒遅角時のノック判定値低下量ΔＫ（１，２）が＃３，４気筒遅角時のノック判定値低下量ΔＫ（３，４）と比較される。
【００８６】
ΔＫ（１，２）＞ΔＫ（３，４）の場合、第１群としての＃１，２気筒が選択され、ステップＳ２１２に進む。またΔＫ（１，２）≦ΔＫ（３，４）の場合、第２群としての＃３，４気筒が選択され、ステップＳ２１９に進む。
【００８７】
前者の場合、第１群にノック判定値低下量の大なる異常気筒が含まれている可能性が高く、＃１気筒と＃２気筒のいずれかが異常気筒である可能性が高い。また後者の場合、第２群にノック判定値低下量の大なる異常気筒が含まれている可能性が高く、＃３気筒と＃４気筒のいずれかが異常気筒である可能性が高い。よってこのような気筒群毎の選択、絞り込みあるいはふるい分けを行うことにより、１気筒ずつ点火遅角を実行する場合に比べ特定時間を短縮することが出来る。
【００８８】
ステップＳ２１２〜Ｓ２１５においては、＃１気筒の点火遅角を実行したときのノック判定値低下量ΔＫ（１）が算出される。
【００８９】
すなわち、ステップＳ２１２では遅角前ノック判定値Ｋ１（１）が算出される。そしてステップＳ２１３において＃１気筒のみの点火時期がΔθだけ遅角される。ステップＳ２１４において遅角後ノック判定値Ｋ２（１）が算出される。この算出終了後＃１気筒の点火時期が遅角前の点火時期に戻される。
【００９０】
ステップＳ２１５ではノック判定値低下量ΔＫ（１）が式：ΔＫ（１）＝Ｋ１（１）−Ｋ２（１）から算出される。
【００９１】
次いでステップＳ２１６において、ノック判定値低下量ΔＫ（１）が所定値αより大きいか否かが判断される。所定値αは、ステップＳ２０６で算出されたノック判定値低下量ΔＫ（１，２）より僅かに小さい値（ばらつきに対する余裕分を差し引いた値）とすることができる。
【００９２】
ノック判定値低下量ΔＫ（１）が所定値αより大きい場合、ステップＳ２１７において＃１気筒が異常気筒と特定される。他方、ノック判定値低下量ΔＫ（１）が所定値α以下の場合、ステップＳ２１８において＃２気筒が異常気筒と特定される。
【００９３】
ステップＳ２１９〜Ｓ２２５においても、第２群に対し同様の処理が行われる。
【００９４】
まずステップＳ２１９で、＃３気筒に対する遅角前ノック判定値Ｋ１（３）が算出される。そしてステップＳ２２０において＃３気筒のみの点火時期がΔθだけ遅角される。ステップＳ２２１において遅角後ノック判定値Ｋ２（３）が算出される。この算出終了後＃３気筒の点火時期が遅角前の点火時期に戻される。
【００９５】
ステップＳ２２２ではノック判定値低下量ΔＫ（３）が式：ΔＫ（３）＝Ｋ１（３）−Ｋ２（３）から算出される。
【００９６】
次いでステップＳ２２３において、ノック判定値低下量ΔＫ（３）が所定値αと比較される。所定値αは、ステップＳ２１０で算出されたノック判定値低下量ΔＫ（３，４）より僅かに小さい値とすることができる。
【００９７】
ノック判定値低下量ΔＫ（３）が所定値αより大きい場合、ステップＳ２２４において＃３気筒が異常気筒と特定され、ノック判定値低下量ΔＫ（３）が所定値α以下の場合、ステップＳ２２５において＃４気筒が異常気筒と特定される。
【００９８】
この第２実施例の場合、合計で３回の点火遅角で済むため、第１実施例の場合（４回）より点火遅角回数を少なくすることができ、特定時間を短縮することが出来る。
【００９９】
［第３実施例］
次に第３実施例を説明する。この第３実施例は６つの気筒を含む６気筒エンジンに適用される。
【０１００】
図８に第３実施例に係るエンジンを示す。ここで述べるエンジンはＶ型６気筒エンジンであるが、直列６気筒エンジンや水平対向６気筒エンジン等、他の形式であってもよい。以下、図１に示した直列４気筒エンジンとの相違点を中心に説明し、同一の構成要素には図中同一符号を付し説明を省略する。
【０１０１】
図８に示すように、エンジン１０１は第１のバンクＢ１と第２のバンクＢ２とを有し、第１のバンクＢ１には奇数番気筒すなわち＃１，＃３，＃５気筒が設けられ、第２のバンクＢ２には偶数番気筒すなわち＃２，＃４，＃６気筒が設けられている。
【０１０２】
吸気系は両バンク共通であり、排気系とＥＧＲ系は各バンク毎に独立している。吸気系に関しては、バンク間に配置されたサージタンク８から、各気筒に対する複数の吸気マニホールド９がそれぞれ延出している。
【０１０３】
第１のバンクＢ１に対して第１の排気通路１４Ａが設けられ、第２のバンクＢ２に対して第２の排気通路１４Ｂが設けられる。これら第１および第２の排気通路１４Ａ，１４Ｂは下流触媒１９の上流側で合流している。この合流位置より上流側の排気系の構成は両バンクで同一なので、ここでは第１のバンクＢ１側についてのみ説明し、第２のバンクＢ２側については図中同一符号を付して説明を省略する。
【０１０４】
第１の排気通路１４Ａは、＃１，＃３，＃５の各気筒の排気ポート（図示せず）と、これら排気ポートの排気ガスを集合させる排気マニホールド１６と、排気マニホールド１６の下流側に設置された排気管１７とを含む。そして排気管１７には上流触媒１８が設けられている。上流触媒１８の上流側及び下流側（直前及び直後）にそれぞれ触媒前センサ２０及び触媒後センサ２１が設置されている。このように、一方のバンクに属する複数の気筒（あるいは気筒群）に対して、上流触媒１８、触媒前センサ２０及び触媒後センサ２１が各一つずつ設けられている。
【０１０５】
なお、第１および第２の排気通路１４Ａ，１４Ｂを合流させないで、これらに個別に下流触媒１９を設けることも可能である。
【０１０６】
ＥＧＲ装置３０も各バンクに対して一つずつ、計２つあり、例えば第１のバンクＢ１側については、第１の排気通路１４Ａをなす排気管１７からＥＧＲ通路３１が延びている。ＥＧＲ通路３１は、メインＥＧＲ通路３２から分岐して＃１，＃３，＃５の各気筒の吸気マニホールド９に接続する複数（３つ）の分岐ＥＧＲ通路３３を有する。
【０１０７】
第２のバンクＢ２側についても同様の構成がなされているので、結局、各バンク毎に独立した計２つのメインＥＧＲ通路３２から、それぞれ、＃１，＃３，＃５気筒に接続する３つの分岐ＥＧＲ通路３３と、＃２，＃４，＃６気筒に接続する３つの分岐ＥＧＲ通路３３とが延びていることとなる。
【０１０８】
各バンクにそれぞれノックセンサ２６が設けられる。このエンジン１０１においては、ノックセンサ２６が設けられているシリンダブロックあるいはこのシリンダブロックに含まれている気筒群単位でしか、つまりバンク単位でしか、ノッキングの発生を検出できない。図示例の場合、第１のバンクＢ１のノックセンサ２６は、第１のバンクＢ１の＃１，＃３，＃５気筒のいずれかで発生したノッキングしか検出できず、第２のバンクＢ２のノックセンサ２６は、第２のバンクＢ２の＃２，＃４，＃６気筒のいずれかで発生したノッキングしか検出できない。気筒単位でノッキングを検出することはできない。
【０１０９】
図９〜図１１は第３実施例の異常気筒特定ルーチンを示し、このルーチンはＥＣＵ１００により実行される。この第３実施例の異常気筒特定ルーチンは、図６，７に示した４気筒エンジンの異常気筒特定ルーチンに類似する。
【０１１０】
この第３実施例においては、全６気筒を３気筒ずつの２群に分け、点火時期を１群ずつ順番に且つ交互に遅角する。この遅角毎にノック判定値低下量を算出し、算出されたノック判定値低下量が大きい方の１群を選択する。
【０１１１】
選択された１群において、点火時期を１気筒ずつ順番に且つ交互に遅角し、この遅角毎にノック判定値低下量を算出し、算出されたノック判定値低下量を所定値と比較し、ノック判定値低下量が所定値を超える１気筒を異常気筒と特定する。
【０１１２】
ステップＳ３０１，Ｓ３０２は前記ステップＳ１０１，Ｓ１０２と同様である。ステップＳ３０２で閉塞異常が検出された場合、ステップＳ３０３〜Ｓ３０６において、第１群としての＃１，２，３気筒の点火遅角を実行したときのノック判定値低下量ΔＫ（１，２，３）が算出される。
【０１１３】
すなわち、ステップＳ３０３では、遅角前ノック判定値Ｋ１（１，２，３）が算出される。そしてステップＳ３０４において、＃１，２，３気筒のみの点火時期がΔθだけ遅角される。＃４，５，６気筒の点火時期は遅角されない。遅角量Δθは、例えばＥＧＲ非実行状態からＥＧＲ実行状態に変化したときの進角量（図４の（θ１−θ２））と等しくすることができる。
【０１１４】
次いでステップＳ３０５において、遅角後ノック判定値Ｋ２（１，２，３）が算出される。遅角後ノック判定値Ｋ２（１，２，３）の算出が終了したら、遅角された＃１，２，３気筒の点火時期が遅角前の点火時期に戻される。
【０１１５】
ステップＳ３０６ではノック判定値低下量ΔＫ（１，２，３）が式：ΔＫ（１，２，３）＝Ｋ１（１，２，３）−Ｋ２（１，２，３）から算出される。
【０１１６】
このように、ノック判定値低下量ΔＫ（１，２，３）の算出方法は第２実施例のノック判定値低下量ΔＫ（１，２）の算出方法と同様である。
【０１１７】
次いで、ステップＳ３０７〜Ｓ３１０において、第２群としての＃４，５，６気筒の点火遅角を実行したときのノック判定値低下量ΔＫ（４，５，６）が、ノック判定値低下量ΔＫ（１，２，３）と同様の方法で算出される。
【０１１８】
この算出を終えたら、次に、ステップＳ３１１において、＃１，２，３気筒遅角時のノック判定値低下量ΔＫ（１，２，３）が＃４，５，６気筒遅角時のノック判定値低下量ΔＫ（４，５，６）と比較される。
【０１１９】
ΔＫ（１，２，３）＞ΔＫ（４，５，６）の場合、第１群としての＃１，２，３気筒が選択され、ステップＳ３１２に進む。またΔＫ（１，２，３）≦ΔＫ（４，５，６）の場合、第２群としての＃４，５，６気筒が選択され、ステップＳ３２５に進む。
【０１２０】
前者の場合、第１群にノック判定値低下量の大なる異常気筒が含まれている可能性が高く、＃１〜３気筒のいずれかが異常気筒である可能性が高い。また後者の場合、第２群にノック判定値低下量の大なる異常気筒が含まれている可能性が高く、＃４〜６気筒のいずれかが異常気筒である可能性が高い。よってこのような気筒群毎の選択、絞り込みあるいはふるい分けを行うことにより、１気筒ずつ点火遅角を実行する場合に比べ特定時間を短縮することが出来る。
【０１２１】
ステップＳ３１２〜Ｓ３１５においては、＃１気筒の点火遅角を実行したときのノック判定値低下量ΔＫ（１）が算出される。その方法は第２実施例のＳ２１２〜Ｓ２１５と同じである。
【０１２２】
次いでステップＳ３１６において、ノック判定値低下量ΔＫ（１）が所定値αより大きいか否かが判断される。所定値αは、ステップＳ３０６で算出されたノック判定値低下量ΔＫ（１，２，３）より僅かに小さい値とすることができる。
【０１２３】
ノック判定値低下量ΔＫ（１）が所定値αより大きい場合、ステップＳ３１７において＃１気筒が異常気筒と特定される。他方、ノック判定値低下量ΔＫ（１）が所定値α以下の場合、ステップＳ３１８に進む。
【０１２４】
ステップＳ３１８〜Ｓ３２１においては、＃２気筒の点火遅角を実行したときのノック判定値低下量ΔＫ（２）が算出される。その方法は＃１気筒に対するＳ３１２〜Ｓ３１５と同じである。
【０１２５】
次いでステップＳ３２２において、ノック判定値低下量ΔＫ（２）が所定値αより大きいか否かが判断される。所定値αは、ステップＳ３０６で算出されたノック判定値低下量ΔＫ（１，２，３）より僅かに小さい値とすることができる。
【０１２６】
ノック判定値低下量ΔＫ（２）が所定値αより大きい場合、ステップＳ３２３において＃２気筒が異常気筒と特定される。他方、ノック判定値低下量ΔＫ（２）が所定値α以下の場合、ステップＳ３２４において＃３気筒が異常気筒と特定される。
【０１２７】
他方、ステップＳ３１１で第２群としての＃４，５，６気筒が選択された場合、ステップＳ３２５〜Ｓ３３７において、第２群に対し同様の処理が行われる。
【０１２８】
ステップＳ３２５〜Ｓ３２８においては、＃４気筒の点火遅角を実行したときのノック判定値低下量ΔＫ（４）が算出される。その方法は＃１気筒に対するＳ３１２〜Ｓ３１５と同じである。
【０１２９】
次いでステップＳ３２９において、ノック判定値低下量ΔＫ（４）が所定値αより大きいか否かが判断される。所定値αは、ステップＳ３１０で算出されたノック判定値低下量ΔＫ（４，５，６）より僅かに小さい値とすることができる。
【０１３０】
ノック判定値低下量ΔＫ（４）が所定値αより大きい場合、ステップＳ３３０において＃４気筒が異常気筒と特定される。他方、ノック判定値低下量ΔＫ（４）が所定値α以下の場合、ステップＳ３３１に進む。
【０１３１】
ステップＳ３３１〜Ｓ３３４においては、＃５気筒の点火遅角を実行したときのノック判定値低下量ΔＫ（５）が算出される。その方法は＃１気筒に対するＳ３１２〜Ｓ３１５と同じである。
【０１３２】
次いでステップＳ３３５において、ノック判定値低下量ΔＫ（５）が所定値αより大きいか否かが判断される。所定値αは、ステップＳ３１０で算出されたノック判定値低下量ΔＫ（４，５，６）より僅かに小さい値とすることができる。
【０１３３】
ノック判定値低下量ΔＫ（５）が所定値αより大きい場合、ステップＳ３３６において＃５気筒が異常気筒と特定される。他方、ノック判定値低下量ΔＫ（５）が所定値α以下の場合、ステップＳ３３７において＃６気筒が異常気筒と特定される。
【０１３４】
６気筒エンジンの場合、１気筒ずつ点火遅角を行うと合計で６回の点火遅角が必要である。しかしこの第３実施例の場合、最大で４回、最小で３回の点火遅角で済むため、１気筒ずつ点火遅角を行う場合に比べて点火遅角回数を大幅に少なくすることができ、特定時間を短縮することが出来る。なお第３実施例の理論上の平均遅角回数は３．６７回である（２＋（１／３）×１＋（２／３）×２＝１１／３＝３．６７）。
【０１３５】
［第４実施例］
次に第４実施例を説明する。この第４実施例は８つの気筒を含む８気筒エンジンに適用される。
【０１３６】
図１２に第４実施例に係るエンジンを示す。ここで述べるエンジンはＶ型８気筒エンジンであるが、直列８気筒エンジンや水平対向８気筒エンジン等、他の形式であってもよい。以下、図８に示したＶ型６気筒エンジンとの相違点を中心に説明し、同一の構成要素には図中同一符号を付し説明を省略する。
【０１３７】
図１２に示すように、エンジン１０２は第１のバンクＢ１と第２のバンクＢ２とを有し、第１のバンクＢ１には奇数番気筒すなわち＃１，＃３，＃５，＃７気筒が設けられ、第２のバンクＢ２には偶数番気筒すなわち＃２，＃４，＃６，＃８気筒が設けられている。つまり各バンクに１気筒ずつ追加されている点が図８に示したＶ型６気筒エンジンとの主な相違点である。
【０１３８】
Ｖ型６気筒エンジンと同様、吸気系は両バンク共通であり、排気系とＥＧＲ系は各バンク毎に独立している。
【０１３９】
第１のバンクＢ１に対して第１の排気通路１４Ａが設けられ、第２のバンクＢ２に対して第２の排気通路１４Ｂが設けられる。これら第１および第２の排気通路１４Ａ，１４Ｂは下流触媒１９の上流側で合流している。この合流位置より上流側の排気系の構成は両バンクで同一である。
【０１４０】
ＥＧＲ装置３０に関し、例えば第１のバンクＢ１側については、第１の排気通路１４Ａをなす排気管１７からＥＧＲ通路３１が延びている。ＥＧＲ通路３１は、メインＥＧＲ通路３２から分岐して＃１，＃３，＃５，＃７の各気筒の吸気マニホールド９に接続する複数（４つ）の分岐ＥＧＲ通路３３を有する。
【０１４１】
第２のバンクＢ２側についても同様の構成がなされているので、結局、バンク毎に独立した計２つのメインＥＧＲ通路３２から、それぞれ、＃１，＃３，＃５，＃７気筒に接続する４つの分岐ＥＧＲ通路３３と、＃２，＃４，＃６，＃８気筒に接続する４つの分岐ＥＧＲ通路３３とが延びていることとなる。
【０１４２】
第１のバンクＢ１のノックセンサ２６は、第１のバンクＢ１の＃１，＃３，＃５，＃７気筒のいずれかで発生したノッキングしか検出できず、第２のバンクＢ２のノックセンサ２６は、第２のバンクＢ２の＃２，＃４，＃６，＃８気筒のいずれかで発生したノッキングしか検出できない。気筒単位でノッキングを検出することはできない。
【０１４３】
図１３〜図１５は第４実施例の異常気筒特定ルーチンを示し、このルーチンはＥＣＵ１００により実行される。この第４実施例の異常気筒特定ルーチンは、図９〜１１に示した６気筒エンジンの異常気筒特定ルーチンに類似する。
【０１４４】
この第４実施例においては、全８気筒を４気筒ずつの２群に分け、点火時期を１群ずつ順番に且つ交互に遅角する。この遅角毎にノック判定値低下量を算出し、算出されたノック判定値低下量が大きい方の１群を選択する。
【０１４５】
選択された１群において、４気筒を２気筒ずつの２群に分け、点火時期を１群のみ遅角し、ノック判定値低下量が所定値を超える１群を選択する。
【０１４６】
選択された１群において、１気筒の点火時期を遅角し、ノック判定値低下量を算出し、算出されたノック判定値低下量と所定値との比較結果に応じてノック判定値低下量が所定値を超える１気筒を異常気筒と特定する。
【０１４７】
ステップＳ４０１，Ｓ４０２は前記ステップＳ１０１，Ｓ１０２と同様である。ステップＳ４０２で閉塞異常が検出された場合、ステップＳ４０３〜Ｓ４０６において、第１群としての＃１，２，３，４気筒の点火遅角を実行したときのノック判定値低下量ΔＫ（１，２，３，４）が算出される。
【０１４８】
すなわち、ステップＳ４０３では、遅角前ノック判定値Ｋ１（１，２，３，４）が算出される。そしてステップＳ４０４において、＃１，２，３，４気筒のみの点火時期がΔθだけ遅角される。＃５，６，７，８気筒の点火時期は遅角されない。遅角量Δθは、例えばＥＧＲ非実行状態からＥＧＲ実行状態に変化したときの進角量（図４の（θ１−θ２））と等しくすることができる。
【０１４９】
次いでステップＳ４０５において、遅角後ノック判定値Ｋ２（１，２，３，４）が算出される。遅角後ノック判定値Ｋ２（１，２，３，４）の算出が終了したら、遅角された＃１，２，３，４気筒の点火時期が遅角前の点火時期に戻される。
【０１５０】
ステップＳ４０６ではノック判定値低下量ΔＫ（１，２，３，４）が式：ΔＫ（１，２，３，４）＝Ｋ１（１，２，３，４）−Ｋ２（１，２，３，４）から算出される。
【０１５１】
このように、ノック判定値低下量ΔＫ（１，２，３，４）の算出方法は第３実施例のノック判定値低下量ΔＫ（１，２，３）の算出方法と同様である。
【０１５２】
次いで、ステップＳ４０７〜Ｓ４１０において、第２群としての＃５，６，７，８気筒の点火遅角を実行したときのノック判定値低下量ΔＫ（５，６，７，８）が、ノック判定値低下量ΔＫ（１，２，３，４）と同様の方法で算出される。
【０１５３】
この算出を終えたら、次に、ステップＳ４１１において、＃１，２，３，４気筒遅角時のノック判定値低下量ΔＫ（１，２，３，４）が＃５，６，７，８気筒遅角時のノック判定値低下量ΔＫ（５，６，７，８）と比較される。
【０１５４】
ΔＫ（１，２，３，４）＞ΔＫ（５，６，７，８）の場合、第１群としての＃１，２，３，４気筒が選択され、ステップＳ４１２に進む。またΔＫ（１，２，３，４）≦ΔＫ（５，６，７，８）の場合、第２群としての＃５，６，７，８気筒が選択され、ステップＳ４３１に進む。
【０１５５】
前者の場合、第１群にノック判定値低下量の大なる異常気筒が含まれている可能性が高く、＃１〜４気筒のいずれかが異常気筒である可能性が高い。また後者の場合、第２群にノック判定値低下量の大なる異常気筒が含まれている可能性が高く、＃５〜８気筒のいずれかが異常気筒である可能性が高い。よってこのような気筒群毎の選択、絞り込みあるいはふるい分けを行うことにより、１気筒ずつ点火遅角を実行する場合に比べ特定時間を短縮することが出来る。
【０１５６】
このように第１群と第２群のいずれかが選択されたら、次に、選択された１群がさらに２気筒ずつの２群に分けられる。
【０１５７】
第１群が選択された場合、第１群は＃１，２気筒を含む第３群と、＃３，４気筒を含む第４群とに分けられる。
【０１５８】
ステップＳ４１２〜Ｓ４１５においては、第３群すなわち＃１，２気筒の点火遅角を実行したときのノック判定値低下量ΔＫ（１，２）が算出される。
【０１５９】
次いでステップＳ４１６において、ノック判定値低下量ΔＫ（１，２）が所定値αより大きいか否かが判断される。所定値αは、ステップＳ４０６で算出されたノック判定値低下量ΔＫ（１，２，３，４）より僅かに小さい値とすることができる。
【０１６０】
ノック判定値低下量ΔＫ（１，２）が所定値αより大きい場合、第３群に異常気筒が含まれている可能性が高いため、第３群の１気筒、ここでは＃１気筒に対し、点火遅角を実行する。
【０１６１】
すなわち、ステップＳ４１７〜Ｓ４２０においては、＃１気筒の点火遅角を実行したときのノック判定値低下量ΔＫ（１）が算出される。
【０１６２】
次いでステップＳ４２１において、ノック判定値低下量ΔＫ（１）が所定値αより大きいか否かが判断される。所定値αは、ステップＳ４０６で算出されたノック判定値低下量ΔＫ（１，２，３，４）より僅かに小さい値とすることができる。
【０１６３】
ノック判定値低下量ΔＫ（１）が所定値αより大きい場合、ステップＳ４２２において＃１気筒が異常気筒と特定される。他方、ノック判定値低下量ΔＫ（１）が所定値α以下の場合、ステップＳ４２３において＃２気筒が異常気筒と特定される。
【０１６４】
他方、ステップＳ４１６においてノック判定値低下量ΔＫ（１，２）が所定値α以下の場合、第４群に異常気筒が含まれている可能性が高いため、第４群の１気筒、ここでは＃３気筒に対し、点火遅角を実行する。
【０１６５】
すなわち、ステップＳ４２４〜Ｓ４２７においては、＃３気筒の点火遅角を実行したときのノック判定値低下量ΔＫ（３）が算出される。
【０１６６】
次いでステップＳ４２８において、ノック判定値低下量ΔＫ（３）が所定値αより大きいか否かが判断される。所定値αは、ステップＳ４０６で算出されたノック判定値低下量ΔＫ（１，２，３，４）より僅かに小さい値とすることができる。
【０１６７】
ノック判定値低下量ΔＫ（３）が所定値αより大きい場合、ステップＳ４２９において＃３気筒が異常気筒と特定される。他方、ノック判定値低下量ΔＫ（３）が所定値α以下の場合、ステップＳ４３０において＃４気筒が異常気筒と特定される。
【０１６８】
次に、ステップＳ４１１において第２群としての＃５，６，７，８気筒が選択された場合、ステップＳ４３１以降で、第１群のときと同様の処理が行われる。第２群が選択された場合、第２群は＃５，６気筒を含む第５群と、＃７，８気筒を含む第６群とに分けられる。
【０１６９】
ステップＳ４３１〜Ｓ４３４においては、第５群すなわち＃５，６気筒の点火遅角を実行したときのノック判定値低下量ΔＫ（５，６）が算出される。
【０１７０】
次いでステップＳ４３５において、ノック判定値低下量ΔＫ（５，６）が所定値αより大きいか否かが判断される。所定値αは、ステップＳ４１０で算出されたノック判定値低下量ΔＫ（５，６，７，８）より僅かに小さい値とすることができる。
【０１７１】
ノック判定値低下量ΔＫ（５，６）が所定値αより大きい場合、第５群に異常気筒が含まれている可能性が高いため、第５群の１気筒、ここでは＃５気筒に対し、点火遅角を実行する。
【０１７２】
すなわち、ステップＳ４３６〜Ｓ４３９においては、＃５気筒の点火遅角を実行したときのノック判定値低下量ΔＫ（５）が算出される。
【０１７３】
次いでステップＳ４４０において、ノック判定値低下量ΔＫ（５）が所定値αより大きいか否かが判断される。所定値αは、ステップＳ４１０で算出されたノック判定値低下量ΔＫ（５，６，７，８）より僅かに小さい値とすることができる。
【０１７４】
ノック判定値低下量ΔＫ（５）が所定値αより大きい場合、ステップＳ４４１において＃５気筒が異常気筒と特定される。他方、ノック判定値低下量ΔＫ（５）が所定値α以下の場合、ステップＳ４４２において＃６気筒が異常気筒と特定される。
【０１７５】
他方、ステップＳ４３５においてノック判定値低下量ΔＫ（５，６）が所定値α以下の場合、第６群に異常気筒が含まれている可能性が高いため、第６群の１気筒、ここでは＃７気筒に対し、点火遅角を実行する。
【０１７６】
すなわち、ステップＳ４４３〜Ｓ４４６においては、＃７気筒の点火遅角を実行したときのノック判定値低下量ΔＫ（７）が算出される。
【０１７７】
次いでステップＳ４４７において、ノック判定値低下量ΔＫ（７）が所定値αより大きいか否かが判断される。所定値αは、ステップＳ４１０で算出されたノック判定値低下量ΔＫ（５，６，７，８）より僅かに小さい値とすることができる。
【０１７８】
ノック判定値低下量ΔＫ（７）が所定値αより大きい場合、ステップＳ４４８において＃７気筒が異常気筒と特定される。他方、ノック判定値低下量ΔＫ（７）が所定値α以下の場合、ステップＳ４４９において＃８気筒が異常気筒と特定される。
【０１７９】
８気筒エンジンの場合、１気筒ずつ点火遅角を行うと合計で８回の点火遅角が必要である。しかしこの第４実施例の場合、４回の点火遅角で済むため、１気筒ずつ点火遅角を行う場合に比べて点火遅角回数を大幅に少なくすることができ、特定時間を短縮することが出来る。
【０１８０】
以上、本発明の好適な実施形態を詳細に述べたが、本発明の実施形態は他にも様々なものが考えられる。例えば１群に含まれる気筒の番号は任意であり、例えば第２実施例において＃１，３気筒により第１群を構成し、＃２，４気筒により第２群を構成してもよい。Ｖ型エンジンにおいてバンク毎に気筒群を分けてもよく、例えば第３実施例において＃１，３，５気筒により第１群を構成し、＃２，４，６気筒により第２群を構成してもよい。
【０１８１】
前記第２〜第４実施例では全気筒数を等しく２分割して２群に分けたが、必ずしもそうする必要はない。例えば第２実施例において、所定の１気筒のみにより第１群を構成し、他の３気筒により第２群を構成してもよい。このように１群は１気筒のみからなってもよい。また例えば第３実施例において、所定の２気筒により第１群を構成し、残りの４気筒により第２群を構成してもよい。
【０１８２】
上記の各数値は例示であり適宜変更可能である。上記各実施例の各特徴は可能な限りにおいて組み合わせ、置換及び省略が可能である。例えば第２〜４実施例に、第１実施例で述べたような遅角量を徐々に増加する制御や、全気筒を異常気筒と特定する処理を組み合わせても良い。
【０１８３】
本発明の実施形態は前述の実施形態のみに限らず、特許請求の範囲によって規定される本発明の思想に包含されるあらゆる変形例や応用例、均等物が本発明に含まれる。従って本発明は、限定的に解釈されるべきではなく、本発明の思想の範囲内に帰属する他の任意の技術にも適用することが可能である。
【符号の説明】
【０１８４】
１，１０１，１０２  内燃機関（エンジン）
２  インジェクタ
９  吸気マニホールド
１３  点火プラグ
２５  吸気圧センサ
２６  ノックセンサ
３０  ＥＧＲ装置
３３  分岐ＥＧＲ通路
１００  電子制御ユニット（ＥＣＵ）
【図１】
0005527258.tif 000002
【図２】
0005527258.tif 000003
【図３】
0005527258.tif 000004
【図４】
0005527258.tif 000005
【図５】
0005527258.tif 000006
【図６】
0005527258.tif 000007
【図７】
0005527258.tif 000008
【図８】
0005527258.tif 000009
【図９】
0005527258.tif 000010
【図１０】
0005527258.tif 000011
【図１１】
0005527258.tif 000012
【図１２】
0005527258.tif 000013
【図１３】
0005527258.tif 000014
【図１４】
0005527258.tif 000015
【図１５】
0005527258.tif 000016