(57)【要約】【課題】対象気筒においてリッチ異常が発生していると誤判定されることを抑制することができる内燃機関のインバランス診断装置を提供する。【解決手段】内燃機関のインバランス診断装置である制御装置は、判定ステップ数Ｙ（Ｎ）がステップ数基準値ＹＴｈ以上であり（ステップＳ６１：ＹＥＳ）、判定パラメータＺ（Ｎ）がパラメータ基準値ＺＴｈ未満であり（ステップＳ６３：ＹＥＳ）、対象気筒内への燃料供給量が減少される前の基準位相領域ＡＢと対象気筒内への燃料供給量を段階的に減少させているときの基準位相領域Ａ（Ｎ）とが相違しているとき（ステップＳ６４：ＹＥＳ）、対象気筒においてリッチ異常が発生していると判定する（ステップＳ６５）。【選択図】図１３
2017115592.tif 000002
【特許請求の範囲】
【請求項１】
機関出力軸が所定回転角回転するのに要する時間を回転必要時間としたとき、同所定回転角を同回転必要時間で除した商である角速度の推移を示す波形である角速度変化波形に対してフィルタ処理を施すことにより、同角速度変化波形から内燃機関の１サイクルを１周期とする変動成分をフィルタ後角速度変化波形として抽出する出力軸情報処理部と、
複数の気筒のうち１つの気筒を対象気筒とし、各気筒の燃焼行程に対応する回転位相の領域のうち、前記対象気筒の燃焼行程に対応する回転位相の領域での前記フィルタ後角速度変化波形によって示される特性値が小さいほど大きくなるように判定パラメータを算出するパラメータ算出部と、
前記対象気筒内への燃料供給量の減少回数である判定ステップ数がステップ数基準値に達するか前記判定パラメータがパラメータ基準値以上になるまで同対象気筒内への燃料供給量を段階的に減少させる供給制御部と、
前記対象気筒内への燃料供給量の段階的な減少が完了したときの前記判定ステップ数を記憶するステップ数記憶部と、
前記対象気筒内への燃料供給量の段階的な減少が完了したときの前記判定パラメータを記憶するパラメータ記憶部と、
前記各気筒の燃焼行程に対応する回転位相の領域のうち、前記フィルタ後角速度変化波形によって示される特性値が最小となる回転位相を含んでいる領域を基準位相領域として記憶する領域記憶部と、
前記ステップ数記憶部に記憶されている判定ステップ数がステップ数基準値以上であること、及び、前記パラメータ記憶部に記憶されている判定パラメータが前記パラメータ基準値未満であること、及び、前記対象気筒内への燃料供給量が減少される前に前記領域記憶部に記憶された前記基準位相領域と同対象気筒内への燃料供給量を段階的に減少させているときに前記領域記憶部に記憶された前記基準位相領域とが相違していること、の全てが成立しているときには、同対象気筒においてリッチ異常が発生していると判定するリッチ判定部と、を備える
内燃機関のインバランス診断装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関のインバランス診断装置に関する。
【背景技術】
【０００２】
特許文献１には、気筒内への燃料供給量が気筒間でばらついているか否かを診断するインバランス診断を行う内燃機関のインバランス診断装置の一例が記載されている。この診断装置では、複数の気筒のうち１つの気筒を対象気筒とし、対象気筒内への燃料供給量を減少又は増大させ、この際に生じる機関出力軸の回転速度の変化態様に基づき、インバランス診断を行うようにしている。
【０００３】
ここで、対象気筒内への燃料供給量を減少させてインバランス診断を行う場合の一例を説明する。なお、ここでは、＃１→＃３→＃４→＃２の順に燃焼行程が実行される４気筒の内燃機関の場合の例を説明する。
【０００４】
診断装置では、機関出力軸が所定回転角（例えば、３０ＣＡ）回転するのに要する時間を回転必要時間とした場合、図１６に示すように、所定回転角を回転必要時間で除した商である角速度の推移を示す波形である角速度変化波形が生成される。各気筒の燃焼行程に対応する回転位相の領域では、燃料の燃焼によってピストンが受ける力が大きいときには角速度が大きくなり、当該力が小さいときには角速度が小さくなる。図１６に示す角速度変化波形は、＃１の気筒内への燃料供給量が他の気筒内への燃料供給量よりも少ない場合の波形である。そのため、＃１の気筒の燃焼行程に対応する回転位相の領域では、他の気筒の燃焼行程に対応する回転位相の領域よりも角速度の増大度合いが小さくなる。
【０００５】
なお、＃１の気筒内への燃料供給量が他の気筒内への燃料供給量よりも多いこともある。この場合に生成される角速度変化波形は、＃１の気筒の燃焼行程に対応する回転位相の領域では、他の気筒の燃焼行程に対応する回転位相の領域よりも角速度の増大度合いが大きくなる態様で変化する。
【０００６】
続いて、このように生成した角速度変化波形に対してフィルタ処理を施すことで、図１７に示すように、同角速度変化波形から内燃機関の１サイクルを１周期とする変動成分であるフィルタ後角速度変化波形が抽出される。フィルタ後角速度変化波形によって示される特性値は、最小値（＜０）と最大値（＞０）との間で増減する。図１７に示すフィルタ後角速度変化波形は、図１６に示す角速度変化波形、すなわち＃１の気筒内への燃料供給量が他の気筒内への燃料供給量よりも少ない場合の角速度変化波形に対してフィルタ処理を施すことで抽出された波形である。図１７に示すように、この場合のフィルタ後角速度変化波形では、特性値が最小となる回転位相は＃１の気筒の燃焼行程に対応する回転位相の領域に含まれ、特性値が最大となる回転位相は＃４の気筒の燃焼行程に対応する回転位相の領域に含まれることとなる。また、フィルタ後角速度波形の振幅は、＃１の気筒内への燃料供給量と他の気筒内への燃料供給量との差分が大きいほど広くなる。
【０００７】
ところで、インバランス診断装置としては、図１８に破線で示すように、対象気筒内への燃料供給量を段階的に減少させるようにすることもできる。図１８には、＃１の気筒を対象気筒とし、＃１の気筒内への燃料供給量を段階的に減少させている例が図示されている。
【０００８】
対象気筒内への燃料供給量を減少させる前には、まず、対象気筒の燃焼行程に対応する回転位相の領域での上記特性値に「−１」を乗算した積に応じた判定パラメータが算出される。そのため、対象気筒内への燃料供給量が他の気筒内への燃料供給量よりも少なく、対象気筒の燃焼行程に対応する回転位相の領域では上記特性値が負の値となる場合、判定パラメータは正の値となる。そして、対象気筒内への燃料供給量を１段階減少させると、対象気筒の燃焼行程に対応する回転位相の領域での上記特性値に基づいた判定パラメータが再び算出される。判定パラメータは、上記特性値に「−１」を乗算した積が大きいほど大きくなる。こうして対象気筒内への燃料供給量を１段階減少させる毎に、判定パラメータを算出し、対象気筒内への燃料供給量を段階的に減少させる。
【０００９】
対象気筒内への燃料供給量と他の気筒内への燃料供給量とのずれが小さかったり、ずれが生じていなかったりした場合、上記フィルタ後角速度変化波形の振幅は小さい、すなわち同波形によって示される特性値の最小値が大きい。そのため、判定ステップ数が未だ小さく、対象気筒内への燃料供給量の減少量が未だ少ない段階では、判定パラメータは小さい。しかし、判定ステップ数が大きくなり、対象気筒内への燃料供給量の減少量が多くなると、フィルタ後角速度変化波形の振幅が大きくなり、同波形によって示される特性値の最小値が小さくなるため、判定パラメータが大きくなる。そこで、この判定ステップ数の増加と判定パラメータの変化との関係を利用し、判定ステップ数がステップ数基準値に達するまで燃料供給量を減少させてはじめて判定パラメータがパラメータ基準値以上になるようにステップ数基準値やパラメータ基準値の大きさを設定する。こうした構成を採用すれば、以下のように、対象気筒内において、他の気筒よりも燃料供給量が多い異常であるリッチ異常が発生しているか否かを判定することができる。
【００１０】
例えば、対象気筒が＃１の気筒であり、＃１の気筒においてリッチ異常が発生している場合、図１９に示すように、フィルタ後角速度変化波形は、＃１の気筒の燃焼行程に対応する回転位相の領域で最大（＞０）となり、＃４の気筒の燃焼行程に対応する回転位相の領域で最小（＜０）となる態様で変動する。すなわち、対象気筒である＃１の気筒の燃焼行程に対応する回転位相の領域では、フィルタ後角速度変化波形によって示される特性値が正の値となる。そして、図２０に示すようにこの状態で対象気筒（図２０では、＃１の気筒）内への燃料供給量を段階的に減少させる場合、判定ステップ数が未だ小さく、対象気筒内への燃料供給量の減少量が未だ少ない段階では、対象気筒の燃焼行程に対応する回転位相の領域での上記特性値は正の値であるため、算出した判定パラメータは負の値となる。そのため、この時点では判定パラメータはパラメータ基準値未満である。そして、判定ステップ数が大きくなり、対象気筒内への燃料供給量の減少量が多くなるほど、対象気筒内への燃料供給量と他の気筒内への燃料供給量とのずれが徐々に小さくなるため、フィルタ後角速度変化波形の振幅が狭くなる。その結果、判定ステップ数が大きくなるにつれて判定パラメータが「０」に近づく。しかし、この場合、対象気筒内への燃料供給量の減少量がある程度多くなると、対象気筒内への燃料供給量と他の気筒内への燃料供給量との大小関係が逆転する。すると、それ以降で抽出されるフィルタ後角速度波形は、＃１の気筒の燃焼行程に対応する回転位相の領域で最小（＜０）となり、＃４の気筒の燃焼行程に対応する回転位相の領域で最大（＞０）となる態様で変動するようになる。その結果、対象気筒内への燃料供給量の減少量が多くなるにつれて、対象気筒の燃焼行程に対応する回転位相の領域では上記特性値がより小さな値となるため、算出される判定パラメータがより大きな正の値となる。このように判定パラメータが負の値から正の値に変わるため、この場合には、判定ステップ数がステップ数基準値に達した時点でも、判定パラメータは小さい。そのため、判定ステップ数がステップ数基準値に達しても判定パラメータがパラメータ基準値未満であるときには、対象気筒においてリッチ異常が発生していると判定することができる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２０１３−７２７８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
なお、＃１→＃３→＃４→＃２の順に燃焼行程が実行される４気筒の内燃機関では、１つの気筒内への燃料供給量が他の気筒内への燃料供給量よりも少ない場合、フィルタ後角速度変化波形は、図１７に示すように変動する。そして、＃１の気筒において他の気筒よりも燃料供給量が少ない異常であるリーン異常が発生している場合、図１７に示すように、フィルタ後角速度変化波形によって示される特性値が最小となる回転位相は＃１の気筒の燃焼行程に対応する回転位相の領域に含まれ、特性値が最大となる回転位相は＃４の気筒の燃焼行程に対応する回転位相の領域に含まれることとなる。すなわち、＃４の気筒においてリッチ異常が発生していなくても、＃１の気筒内への燃料供給量が少ないことに起因し、同＃４の気筒の燃焼行程に対応する回転位相の領域では特性値が正の値となる。
【００１３】
そのため、＃１の気筒においてリーン異常が発生している場合又は＃１の気筒で失火が生じている場合、＃４の気筒を対象気筒として同＃４の気筒内への燃料供給量を段階的に減少させると、＃４の気筒の燃焼行程に対応する回転位相の領域では、フィルタ後角速度変化波形によって示される特性値が段階的に小さくなる。すなわち、判定ステップ数が大きくなるほど、判定パラメータは負の値ではあるものの、判定パラメータが「０」に近づく。そのため、判定ステップ数がステップ数基準値に達しても、判定パラメータがパラメータ基準値以上にならないことがある。この場合、対象気筒である＃４の気筒ではリッチ異常が発生していないにも拘わらず、＃４の気筒においてリッチ異常が発生していると誤判定されてしまう。
【００１４】
本発明の目的は、対象気筒においてリッチ異常が発生していると誤判定されることを抑制することができる内燃機関のインバランス診断装置を提供することにある。
【課題を解決するための手段】
【００１５】
上記課題を解決するための内燃機関のインバランス診断装置は、機関出力軸が所定回転角回転するのに要する時間を回転必要時間としたとき、同所定回転角を同回転必要時間で除した商である角速度の推移を示す波形である角速度変化波形に対してフィルタ処理を施すことにより、同角速度変化波形から内燃機関の１サイクルを１周期とする変動成分であるフィルタ後角速度変化波形を生成する出力軸情報処理部と、複数の気筒のうち１つの気筒を対象気筒とし、各気筒の燃焼行程に対応する回転位相の領域のうち、前記対象気筒の燃焼行程に対応する回転位相の領域での前記フィルタ後角速度変化波形によって示される特性値が小さいほど大きくなるように判定パラメータを算出するパラメータ算出部と、前記対象気筒内への燃料供給量の減少回数である判定ステップ数がステップ数基準値に達するか前記判定パラメータがパラメータ基準値以上になるまで同対象気筒内への燃料供給量を段階的に減少させる供給制御部と、前記対象気筒内への燃料供給量の段階的な減少が完了したときの前記判定ステップ数を記憶するステップ数記憶部と、前記対象気筒内への燃料供給量の段階的な減少が完了したときの前記判定パラメータを記憶するパラメータ記憶部と、前記各気筒の燃焼行程に対応する回転位相の領域のうち、前記フィルタ後角速度変化波形によって示される特性値が最小となる回転位相を含んでいる領域を基準位相領域として記憶する領域記憶部と、前記ステップ数記憶部に記憶されている判定ステップ数がステップ数基準値以上であること、及び、前記パラメータ記憶部に記憶されている判定パラメータが前記パラメータ基準値未満であること、及び、前記対象気筒内への燃料供給量が減少される前に前記領域記憶部に記憶された前記基準位相領域と同対象気筒内への燃料供給量を段階的に減少させているときに前記領域記憶部に記憶された前記基準位相量域とが相違していること、の全てが成立しているときには、同対象気筒においてリッチ異常が発生していると判定するリッチ判定部と、を備える。
【００１６】
上記構成では、複数の気筒のうち１つの気筒を対象気筒とし、対象気筒内への燃料供給量を段階的に減少させる。そして、対象気筒内への燃料供給量を１段階減少させる毎に、判定パラメータが算出される。判定パラメータは、対象気筒の燃焼行程に対応する回転位相の領域でのフィルタ後角速度変化波形によって示される特性値が小さいほど大きくなる。対象気筒内への燃料供給量の段階的な減少は、対象気筒内への燃料供給量の減少回数である判定ステップ数がステップ数基準値に達したときに、又は、判定パラメータがパラメータ基準値以上になったときに完了する。そして、対象気筒内への燃料供給量の段階的な減少が完了したときの判定ステップ数がステップ数記憶部に記憶され、判定パラメータがパラメータ記憶部に記憶される。
【００１７】
対象気筒においてリッチ異常が発生している場合、対象気筒内への燃料供給量を段階的に減少させる前では、対象気筒の燃焼行程に対応する回転位相の領域での特性値が正の値であるため、判定パラメータは負の値となっている。そして、このような状況下で判定ステップ数が大きくなり、対象気筒内への燃料供給量の減少量が多くなるにつれ、算出される判定パラメータが大きくなる。そのため、対象気筒内への燃料供給量の段階的な減少が完了した状態では、ステップ数記憶部に記憶されている判定ステップ数がステップ数基準値以上であり、パラメータ記憶部に記憶されている判定パラメータがパラメータ基準値未満となっている。
【００１８】
また、このように対象気筒においてリッチ異常が発生している場合、対象気筒内への燃料供給量の段階的な減少の開始前にあっては、対象気筒内への燃料供給量が他の気筒内への燃料供給量よりも多い。そのため、対象気筒の燃焼行程に対応する機関出力軸の回転位相の領域では、他の気筒の燃焼行程に対応する回転位相の領域よりも、フィルタ後角速度変化波形によって示される特性値が大きくなる。すなわち、対象気筒内への燃料供給量の段階的な減少の開始前では、他の気筒の燃焼行程に対応する機関出力軸の回転位相の領域が基準位相領域として領域記憶部に記憶される。しかし、この場合、対象気筒内への燃料供給量を段階的に減少させる過程で対象気筒内への燃料供給量が他の気筒内への燃料供給量よりも少なくなり、特性値が最小となる回転位相が、対象気筒の燃焼行程に対応する機関出力軸の回転位相の領域に含まれるようになり、当該領域が基準位相領域として領域記憶部に記憶される。すなわち、対象気筒内への燃料供給量が減少される前に領域記憶部に記憶された基準位相領域と同対象気筒内への燃料供給量を段階的に減少させているときに領域記憶部に記憶された基準位相領域とが相違することとなる。そのため、上記構成では、ステップ数記憶部に記憶されている判定ステップ数がステップ数基準値以上であり、パラメータ記憶部に記憶されている判定パラメータがパラメータ基準値未満であることに加え、対象気筒内への燃料供給量が減少される前に領域記憶部に記憶された基準位相領域と同対象気筒内への燃料供給量を段階的に減少させているときに領域記憶部に記憶された基準位相領域とが相違していることをリッチ異常の判定条件にしている。上記のように対象気筒においてリッチ異常が発生しているときには、対象気筒内への燃料供給量が減少される前に領域記憶部に記憶された基準位相領域と同対象気筒内への燃料供給量を段階的に減少させているときに領域記憶部に記憶された基準位相領域とが相違するため、こうした構成を採用した場合にもリッチ異常を判定することができる。
【００１９】
その一方で、対象気筒以外の他の気筒においてリーン異常が発生しており、対象気筒においてリーン異常及びリッチ異常の双方が発生していないことがある。この場合、対象気筒内への燃料供給量の減少の開始前では、リーン異常の発生している他の気筒内への燃料供給量が対象気筒内への燃料供給量よりも少なく、フィルタ後角速度変化波形によって示される特性値が最小となる回転位相は、当該他の気筒の燃焼行程に対応する回転位相の領域に含まれている。そして、この状態で対象気筒内への燃料供給量を減少させた場合、判定ステップ数がステップ数基準値に達しても判定パラメータがパラメータ基準値以上にならないことがある。しかし、この場合、判定ステップ数がステップ数基準値に達し、対象気筒内への燃料供給量の減少が完了しても、リーン異常の発生している他の気筒内への燃料供給量が対象気筒内への燃料供給量よりも少ない状態が維持される。すなわち、この場合には、対象気筒内への燃料供給量が減少される前に領域記憶部に記憶された基準位相領域と同対象気筒内への燃料供給量を段階的に減少させているときに領域記憶部に記憶された基準位相領域とが相違しない。そのため、対象気筒においてリッチ異常が発生していると判定されない。
【００２０】
したがって、上記構成によれば、対象気筒においてリッチ異常が発生していると誤判定されることを抑制することができるようになる。
【図面の簡単な説明】
【００２１】
【図１】内燃機関のインバランス診断装置の一実施形態である制御装置を備える内燃機関の概略を示す構成図。
【図２】同制御装置の機能構成を示すブロック図。
【図３】同制御装置を備える内燃機関において、気筒内への燃料供給量が気筒間でばらついていないときにおける角速度の推移を示すタイミングチャート。
【図４】同内燃機関において、＃１の気筒で失火しているときにおける角速度の推移を示すタイミングチャート。
【図５】同内燃機関において、＃１の気筒内への燃料供給量が他の気筒内への燃料供給量よりも少ないときにおける角速度の推移を示すタイミングチャート。
【図６】同内燃機関において、＃１の気筒内への燃料供給量が他の気筒内への燃料供給量よりも多いときにおける角速度の推移を示すタイミングチャート。
【図７】同内燃機関において、＃１の気筒内への燃料供給量が他の気筒内への燃料供給量よりも少ないときにおける角速度変化波形に対してフィルタ処理を施すことで抽出されたフィルタ後角速度変化波形を示す図であり、フィルタ後角速度変化波形によって示される特性値の推移を示すタイミングチャート。
【図８】同内燃機関において、＃１の気筒内への燃料供給量が他の気筒内への燃料供給量よりも多いときにおける角速度変化波形に対してフィルタ処理を施すことで抽出されたフィルタ後角速度変化波形を示す図であり、フィルタ後角速度変化波形によって示される特性値の推移を示すタイミングチャート。
【図９】同制御装置において、対象気筒内への燃料供給量を段階的に減少させ、判定パラメータ及び判定ステップ数を算出する際の処理手順を説明するフローチャート（前半部分）。
【図１０】同制御装置において、対象気筒内への燃料供給量を段階的に減少させ、判定パラメータ及び判定ステップ数を算出する際の処理手順を説明するフローチャート（後半部分）。
【図１１】同制御装置において、基準位相領域を領域記憶部に記憶させる際の処理手順を説明するフローチャート。
【図１２】同制御装置において、＃Ｎの気筒においてリーン異常が発生しているか否かを判定する際の処理手順を説明するフローチャート。
【図１３】同制御装置において、＃Ｎの気筒においてリッチ異常が発生しているか否かを判定する際の処理手順を説明するフローチャート。
【図１４】＃１の気筒においてリッチ異常が発生している状態で、＃１の気筒内への燃料供給量を段階的に減少させたときにおけるフィルタ後角速度変化波形の変化を示す図。
【図１５】＃１の気筒においてリーン異常が発生しており、他の気筒においてリーン異常及びリッチ異常の双方が発生していない状態で、＃４の気筒内への燃料供給量を段階的に減少させたときにおけるフィルタ後角速度変化波形の変化を示す図。
【図１６】＃１の気筒内への燃料供給量が他の気筒内への燃料供給量よりも少ないときにおける角速度の推移を示すタイミングチャート。
【図１７】＃１の気筒内への燃料供給量が他の気筒内への燃料供給量よりも少ないときにおける角速度変化波形に対してフィルタ処理を施すことで抽出されたフィルタ後角速度変化波形を示す図であり、フィルタ後角速度変化波形によって示される特性値の推移を示すタイミングチャート。
【図１８】＃１の気筒内への燃料供給量を段階的に減少させている様子を示す図。
【図１９】＃１の気筒内への燃料供給量が他の気筒内への燃料供給量よりも多いときにおけるフィルタ後角速度変化波形によって示される特性値の推移を示すタイミングチャート。
【図２０】＃１の気筒内への燃料供給量が他の気筒内への燃料供給量よりも多いときに＃１の気筒内への燃料供給量を段階的に減少させている様子を示す図。
【発明を実施するための形態】
【００２２】
以下、内燃機関のインバランス診断装置の一実施形態を図１〜図１５に従って説明する。
図１には、本実施形態の内燃機関のインバランス診断装置である制御装置１００を備える内燃機関１１が図示されている。図１に示す内燃機関１１は複数（本実施形態では、４つ）の気筒１２を有する多気筒内燃機関であり、各気筒１２内にはピストン１３が設けられている。ピストン１３は機関出力軸であるクランク軸１５にコネクティングロッド１４を介して連結されており、コネクティングロッド１４によりピストン１３の往復運動がクランク軸１５の回転運動に変換される。そして、クランク軸１５の回転速度が、クランクポジションセンサ１１１によって検出される。
【００２３】
各気筒１２内におけるピストン１３よりも図中上方域は燃焼室１６となっている。そして、燃焼室１６には、燃料と空気とを含む混合気に対して点火を行う点火プラグ１８が取り付けられている。この点火プラグ１８による混合気への点火タイミングは、イグナイタ１９によって調整される。
【００２４】
燃焼室１６には、吸気通路２０及び排気通路２１が接続されている。そして、内燃機関１１には、吸気通路２０を構成する吸気ポート２０ａに燃料を噴射するポート噴射弁２２が設けられている。ポート噴射弁２２には、所定圧の燃料が供給されている。そして、ポート噴射弁２２が駆動することにより、燃料が吸気ポート２０ａに供給され、同燃料と空気とが燃焼室１６に供給される。
【００２５】
また、内燃機関１１には、燃焼室１６に燃料を直接噴射する筒内噴射弁１７が設けられている。筒内噴射弁１７には、ポート噴射弁２２に供給されている燃料の圧力よりも高圧に加圧された高圧燃料が供給されている。そして、筒内噴射弁１７が駆動することにより、燃料が燃焼室１６に直接供給される。
【００２６】
なお、吸気通路２０においてポート噴射弁２２よりも上流には、燃焼室１６に導入される空気量である吸入空気量を調量するスロットルバルブが設けられている。そして、吸気通路２０におけるスロットルバルブよりも上流には、こうした吸入空気量を検出するエアフロメータ１１２が設けられている。
【００２７】
排気通路２１には、混合気の空燃比が所定範囲内の値となっているときに浄化機能を発揮する排気浄化装置４０が設けられている。また、排気通路２１における排気浄化装置４０よりも上流には、排気通路２１を流れる排気の酸素濃度を検出する空燃比センサ１１３が設けられている。この空燃比センサ１１３によって検出された排気の酸素濃度に基づき、燃焼室１６で燃焼された混合気の空燃比を推定することができる。
【００２８】
図１に示すように、制御装置１００には、クランクポジションセンサ１１１、エアフロメータ１１２及び空燃比センサ１１３に加え、アクセル開度センサ１１５などが電気的に接続されている。アクセル開度センサ１１５は、車両の運転者によるアクセルペダルの操作量であるアクセル開度を検出する。そして、制御装置１００は、こうした各種の検出系によって検出された情報に基づき、燃料噴射制御などの各種制御を実施するようになっている。
【００２９】
例えば、制御装置１００は、内燃機関１１の運転状態に応じて噴き分け率ＤＩを決定している。この噴き分け率ＤＩとは、ポート噴射弁２２の燃料噴射量ＳＰを、気筒１２内に供給される燃料のトータル量ＳＰＤで除した値である。気筒１２内に供給される燃料のトータル量ＳＰＤは、ポート噴射弁２２の燃料噴射量ＳＰと筒内噴射弁１７の燃料噴射量ＳＤとの和である。そして、制御装置１００は、噴き分け率ＤＩを「１」とした場合、筒内噴射弁１７から燃料を噴射させず、ポート噴射弁２２のみから燃料を噴射させる。また、制御装置１００は、噴き分け率ＤＩを「０」とした場合、ポート噴射弁２２から燃料を噴射させず、筒内噴射弁１７のみから燃料を噴射させる。また、制御装置１００は、噴き分け率ＤＩを「０」よりも大きく且つ「１」よりも小さい値とした場合、ポート噴射弁２２及び筒内噴射弁１７の双方から燃料を噴射させる。
【００３０】
また、制御装置１００は、気筒１２内への燃料供給量が気筒１２間でばらついているか否かを診断するインバランス診断を実施するようになっている。インバランス診断では、各気筒１２のうち１つの気筒１２を対象気筒とし、対象気筒内への燃料供給量を段階的に減少させることによるクランク軸１５の回転態様の変化に基づき、対象気筒において、他の気筒１２よりも燃料供給量が多い異常であるリッチ異常が発生しているか否かの判定であるリッチ異常判定が行われる。また、インバランス診断では、対象気筒内への燃料供給量を減少させる前でのクランク軸１５の回転態様に基づき、対象気筒において、他の気筒１２よりも燃料供給量が少ない異常であるリーン異常が発生しているか否かの判定であるリーン異常判定が行われる。
【００３１】
ちなみに、リッチ異常判定を行う場合には、対象気筒内への燃料供給量を所定割合αだけ減少させる。具体的には、対象気筒内への燃料供給量を減少させる回数である判定ステップ数Ｙが予め設定されたステップ数基準値ＹＴｈに達すると対象気筒内への燃料供給量が所定割合αだけ減少された状態となるように、燃料供給量の段階的な減少が制御される。ただし、対象気筒内への燃料供給量を段階的に減少させているときのクランク軸１５の回転態様によっては、判定ステップ数Ｙがステップ数基準値ＹＴｈに達していなくても、すなわち対象気筒内への燃料供給量が所定割合αだけ減少されていなくても、対象気筒内への燃料供給量の段階的な減少が完了されることもある。
【００３２】
次に、図２を参照し、インバランス診断を行う制御装置１００の機能構成について説明する。
図２に示すように、制御装置１００は、インバランス診断を行うために必要な機能部として、供給制御部２００、出力軸情報処理部２４０、診断情報取得部２１０、リッチ判定部２２０及びリーン判定部２３０を有している。
【００３３】
供給制御部２００は、インバランス診断のために対象気筒内への燃料供給量を減少させるべく、対象気筒用の噴射弁１７，２２の駆動を制御する。対象気筒内への燃料供給量を段階的に減少させるために、供給制御部２００では、診断情報取得部２１０から入力される情報である判定ステップ数Ｙに基づき、対象気筒用の噴射弁１７，２２の燃料噴射量ＳＤＡ，ＳＰＡが１段階毎に算出される。そして、この算出した燃料噴射量ＳＤＡ，ＳＰＡに基づいて対象気筒用の噴射弁１７，２２の駆動が制御される。
【００３４】
なお、このように対象気筒内への燃料供給量を減少させると、内燃機関の１サイクル内で空燃比が一時的に低くなり、同１サイクルでの空燃比の平均値がストイキよりも小さくなることがある。そのため、供給制御部２００では、対象気筒内への燃料供給量を段階的に減少させる場合、空燃比の平均値がストイキとなるように対象気筒以外の他の気筒１２内への燃料供給量を段階的に増大させるようにしてもよい。
【００３５】
出力軸情報処理部２４０は、クランクポジションセンサ１１１から出力されるセンサ値の変動の中から、インバランス診断を行うために必要な情報を抽出し、抽出した情報を診断情報取得部２１０に出力する。すなわち、出力軸情報処理部２４０は、クランクポジションセンサ１１１から出力されるセンサ値を基に、クランク軸１５の回転位相θの変化速度である角速度ＲＳの推移を示す波形である角速度変化波形を生成する。ここでいう「角速度ＲＳ」とは、所定回転角（例えば、３０ＣＡ）回転するのに要する時間を回転必要時間とした場合、所定回転角を回転必要時間で除算した商のことである。なお、所定回転角は、内燃機関の１サイクルの回転位相（７２０ＣＡ）を気筒数で除した値よりも小さい値に設定されている。
【００３６】
気筒１２内への燃料供給量が気筒１２間でばらついていない場合、出力軸情報処理部２４０では、図３に示す角速度変化波形が生成される。この図３において、縦軸は角速度ＲＳであり、横軸はクランク軸１５の回転位相θである。すなわち、燃料の燃焼が＃１→＃３→＃４→＃２の順に行われる場合、図３に示すように、内燃機関の１サイクルを、＃１の気筒１２の燃焼行程に対応する回転位相の領域、＃３の気筒１２の燃焼行程に対応する回転位相の領域、＃４の気筒１２の燃焼行程に対応する回転位相の領域、及び＃２の気筒１２の燃焼行程に対応する回転位相の領域に区分けすることができる。そして、＃１の気筒１２の燃焼行程に対応する回転位相の領域では、＃１の気筒１２内での燃料の燃焼によって角速度ＲＳが変化し、＃３の気筒１２の燃焼行程に対応する回転位相の領域では、＃３の気筒１２内での燃料の燃焼によって角速度ＲＳが変化する。続いて、＃４の気筒１２の燃焼行程に対応する回転位相の領域では、＃４の気筒１２内での燃料の燃焼によって角速度ＲＳが変化し、＃２の気筒１２の燃焼行程に対応する回転位相の領域では、＃２の気筒１２内での燃料の燃焼によって角速度ＲＳが変化する。具体的には、燃料の燃焼によってピストン１３が受ける力が大きいときには角速度ＲＳが大きくなり、当該力が小さいときには角速度ＲＳが小さくなる。したがって、この場合、各気筒１２の燃焼行程に対応する回転位相の領域では、角速度ＲＳが大きくなった後、角速度ＲＳが小さくなる。なお、気筒１２内への燃料供給量が気筒１２間でばらついていない場合、各回転位相の領域毎での角速度ＲＳの変化態様はほぼ同じであるため、当該角速度変化波形に、内燃機関の１サイクルを１周期とする変動成分が含まれていない。又は、たとえ、この場合の角速度変化波形に内燃機関の１サイクルを１周期とする変動成分が含まれていたとしても、当該変動成分の振幅は非常に狭い。
【００３７】
また、＃１の気筒１２が失火している場合、出力軸情報処理部２４０では、図４に示す角速度変化波形が生成される。すなわち、図４に示すように、＃１の気筒１２の燃焼行程に対応する回転位相の領域では、燃料が燃焼されないため、＃１の気筒１２内のピストン１３は、燃料の燃焼に起因する力を受けることができない。そのため、＃１の気筒１２の燃焼行程に対応する回転位相の領域では、角速度ＲＳが小さくなり続ける。その一方で、＃１の気筒１２以外の他の気筒の燃焼行程に対応する回転位相の領域では、燃料が燃焼されるため、角速度ＲＳが大きくなり、その後、角速度ＲＳが小さくなる。そのため、＃１の気筒１２が失火している場合、当該角速度変化波形には、内燃機関の１サイクルを１周期とする変動成分として図４に白抜きの矢印で示すような変動成分が含まれる。すなわち、当該変動成分は、＃１の気筒１２の燃焼行程に対応する回転位相の領域では小さくなり、その他の気筒１２の燃焼行程に対応する回転位相の領域では大きくなる態様で変化する。ただし、＃２の気筒１２の次に燃焼行程を迎える＃１の気筒１２は失火しているため、＃２の気筒１２の燃焼行程に対応する回転位相の領域の後半では当該変動成分が減少傾向を示すようになる。
【００３８】
また、＃１の気筒１２内への燃料供給量が他の気筒１２内への燃料供給量よりも少ない場合、出力軸情報処理部２４０では、図５に示す角速度変化波形が生成される。すなわち、図５に示すように、＃１の気筒１２の燃焼行程に対応する回転位相の領域では、他の気筒１２の燃焼行程に対応する回転位相の領域と同じように、角速度ＲＳが大きくなり、その後、角速度ＲＳが小さくなる。しかし、燃料の燃焼によってピストン１３が受ける力が小さいため、角速度ＲＳの増大度合いは、他の気筒１２の燃焼行程に対応する回転位相の領域よりも小さい。このように＃１の気筒１２の燃焼行程に対応する回転位相の領域と、他の気筒１２の燃焼行程に対応する回転位相の領域とで角速度ＲＳの推移の態様が相異するため、この場合の角速度変化波形には、内燃機関の１サイクルを１周期とする変動成分として図５に白抜きの矢印で示すような変動成分が含まれる。すなわち、当該変動成分は、＃１の気筒１２の燃焼行程に対応する回転位相の領域では小さくなり、その他の気筒１２の燃焼行程に対応する回転位相の領域では大きくなる態様で変化する。ただし、＃２の気筒１２の次に燃焼行程を迎える＃１の気筒１２内への燃料供給量が少ないため、＃２の気筒１２の燃焼行程に対応する回転位相の領域の後半では当該変動成分が減少傾向を示すようになる。
【００３９】
また、＃１の気筒１２内への燃料供給量が他の気筒１２内への燃料供給量よりも多い場合、出力軸情報処理部２４０では、図６に示す角速度変化波形が生成される。すなわち、図６に示すように、＃１の気筒１２の燃焼行程に対応する回転位相の領域では、他の気筒１２の燃焼行程に対応する回転位相の領域と同じように、角速度ＲＳが大きくなり、その後、角速度ＲＳが小さくなる。しかし、燃料の燃焼によってピストン１３が受ける力が大きいため、角速度ＲＳの増大度合いは、他の気筒１２の燃焼行程に対応する回転位相の領域よりも僅かに大きい。すなわち、＃１の気筒１２の燃焼行程に対応する回転位相の領域と、他の気筒１２の燃焼行程に対応する回転位相の領域とで角速度ＲＳの推移の態様が相異する。しかし、＃１の気筒１２内への燃料供給量が他の気筒１２内への燃料供給量よりも多い場合では、＃１の気筒１２内への燃料供給量が他の気筒１２内への燃料供給量よりも少ない場合よりも、上記の相異が小さい。そのため、当該角速度変化波形には、内燃機関の１サイクルを１周期とする変動成分として図６に白抜きの矢印で示すような変動成分が含まれるものの、その振幅は非常に狭い。
【００４０】
そして、出力軸情報処理部２４０は、図３〜図６で示したような角速度変化波形を生成すると、生成した角速度変化波形に対してフィルタ処理を施すことにより、角速度変化波形に含まれる変動成分、すなわち内燃機関の１サイクルを１周期とする変動成分をフィルタ後角速度変化波形として抽出する。このフィルタ処理では、バンドパスフィルタが用いられており、角速度変化波形をバンドバスフィルタに入力することで、フィルタ後角速度変化波形が抽出される。なお、このフィルタ後角速度変化波形は、内燃機関の１サイクルでの角速度ＲＳの大まかな推移を示している。
【００４１】
例えば、＃１の気筒１２内への燃料供給量が他の気筒１２内への燃料供給量よりも少ない場合、出力軸情報処理部２４０では、図５で示した角速度変化波形に対してフィルタ処理を施すことにより、図７に示すフィルタ後角速度変化波形が抽出される。なお、図７に示すように、フィルタ後速度変化波形は、「０」を中心に変動する波形になるように正規化されている。この場合のフィルタ後角速度変化波形は、図７に示すように、同波形によって示される特性値が最小値まで小さくなると、それ以降では特性値が最大値に向けて大きくなり、特性値が最大値に達すると、それ以降では特性値が再び小さくなるように変動する。
【００４２】
このようなフィルタ後角速度変化波形の位相は、フィルタ処理を施すことで角速度変化波形よりも遅れが生じる。そのため、フィルタ処理に伴う時間的な遅れに対応し、各気筒１２の燃焼行程に対応する回転位相の領域は、図中右側にシフトすることとなる。したがって、＃１の気筒１２内への燃料供給量が他の気筒１２内への燃料供給量よりも少ない場合、＃１の気筒１２の燃焼行程に対応する回転位相の領域は、フィルタ後角速度変化波形によって示される特性値が最小となるときの回転位相を含み、＃４の気筒１２の燃焼行程に対応する回転位相の領域は、特性値が最大となるときの回転位相を含むようになる。
【００４３】
なお、＃１の気筒１２が失火している場合の角速度変化波形（すなわち、図４に示す波形）から生成されたフィルタ後角速度変化波形は、＃１の気筒１２内への燃料供給量が他の気筒１２内への燃料供給量よりも少ない場合と同じような形状となる。しかし、＃１の気筒１２で失火はしていないものの、＃１の気筒１２内への燃料供給量が他の気筒１２内への燃料供給量よりも少ない場合よりも、＃１の気筒１２が失火している場合のフィルタ後角速度変化波形の振幅は広い。
【００４４】
また、＃１の気筒１２内への燃料供給量が他の気筒１２内への燃料供給量よりも多い場合、出力軸情報処理部２４０では、図６で示した角速度変化波形に対してフィルタ処理を施すことにより、図８に示すフィルタ後角速度変化波形が抽出される。この場合のフィルタ後角速度変化波形は、図８に示すように、同波形によって示される特性値が最大値まで大きくなると、それ以降では特性値が最小値に向けて小さくなり、特性値が最小値に達すると、それ以降では特性値が再び大きくなるように変動する。そして、この場合であっても、フィルタ処理に伴う時間的な遅れに対応し、各気筒１２の燃焼行程に対応する回転位相の領域は、図中右側にシフトすることとなる。したがって、＃１の気筒１２内への燃料供給量が他の気筒１２内への燃料供給量よりも多い場合、＃１の気筒１２の燃焼行程に対応する回転位相の領域は、フィルタ後角速度変化波形によって示される特性値が最大となるときの回転位相を含み、＃４の気筒１２の燃焼行程に対応する回転位相の領域は、特性値が最小となるときの回転位相を含むようになる。
【００４５】
上記では＃１の気筒１２内への燃料供給量が他の気筒１２内への燃料供給量よりも少ない場合、及び、＃１の気筒１２で失火している場合、＃１の気筒１２内への燃料供給量が他の気筒１２内への燃料供給量よりも多い場合のフィルタ後角速度変化波形について説明した。しかし、例えば＃３の気筒１２内への燃料供給量が他の気筒１２内への燃料供給量よりも少ないこともあるし、＃３の気筒１２で失火が発生することもある。この場合に抽出されるフィルタ後角速度変化波形は、＃３の気筒１２の燃焼行程に対応する回転位相の領域で最小となり、＃２の気筒１２の燃焼行程に対応する回転位相の領域で最大となる態様で変化する。また、＃３の気筒１２内への燃料供給量が他の気筒１２内への燃料供給量よりも多い場合、この場合に抽出されるフィルタ後角速度変化波形は、＃３の気筒１２の燃焼行程に対応する回転位相の領域で最大となり、＃２の気筒１２の燃焼行程に対応する回転位相の領域で最小となる態様で変化する。
【００４６】
そして、こうしてフィルタ後角速度変化波形を抽出すると、出力軸情報処理部２４０は、同フィルタ後角速度変化波形を診断情報取得部２１０に出力する。
図２に示すように、診断情報取得部２１０は、対象気筒内への燃料供給量を段階的に減少させたり、リッチ異常判定及びリーン異常判定を行わせたりするために必要な情報を取得する。取得される情報としては、上記の判定ステップ数Ｙ、対象気筒内への燃料供給量を減少させることで変化する判定パラメータＺ、及び、後述する基準位相領域Ａを挙げることができる。
【００４７】
診断情報取得部２１０は、ステップ数計数部２１１、ステップ数記憶部２１２、パラメータ算出部２１３、パラメータ記憶部２１４、領域特定部２１５及び領域記憶部２１６を有している。ステップ数計数部２１１は、対象気筒内への燃料供給量を段階的に減少させるに際し、判定ステップ数Ｙを計数する。また、ステップ数記憶部２１２には、対象気筒内への燃料供給量の減少が完了したときの判定ステップ数Ｙが対象気筒の番号（＃Ｎ）と関連付けて記憶される。そして、ステップ数記憶部２１２に記憶されている判定ステップ数Ｙは、供給制御部２００及びリッチ判定部２２０で用いられる。
【００４８】
パラメータ算出部２１３は、出力軸情報処理部２４０で生成されたフィルタ後角速度変化波形に基づき、判定パラメータＺを算出する。そして、パラメータ記憶部２１４には、対象気筒内への燃料供給量の段階的な減少が完了したときにパラメータ算出部２１３によって算出された判定パラメータＺが対象気筒の番号（＃Ｎ）と関連付けて記憶される。また、パラメータ記憶部２１４には、対象気筒内への燃料供給量が減少される前にパラメータ算出部２１３によって算出された判定パラメータである減少前の判定パラメータＺ０も対象気筒の番号（＃Ｎ）と関連付けて記憶される。そして、パラメータ記憶部２１４に記憶されている判定パラメータＺはリッチ判定部２２０で用いられ、減少前の判定パラメータＺ０はリーン判定部２３０で用いられる。
【００４９】
領域特定部２１５は、出力軸情報処理部２４０で生成されたフィルタ後角速度変化波形に基づき、各気筒１２の燃焼行程に対応するクランク軸１５の回転位相の領域のうち後述する所定条件を満たす領域を特定し、この特定した領域を基準位相領域Ａとして領域記憶部２１６に記憶させる。なお、この領域記憶部２１６には、対象気筒内への燃料供給量の減少を開始させる前の基準位相領域である減少前の基準位相領域ＡＢと、対象気筒内への燃料供給量を段階的に減少しているときの基準位相領域である減少中の基準位相領域Ａとが記憶される。そして、領域記憶部２１６に記憶されている基準位相領域ＡＢ，Ａは、リッチ判定部２２０で用いられる。
【００５０】
ここで、図７を参照し、基準位相領域について説明する。各気筒１２のうち１つの気筒１２内への燃料供給量が他の気筒１２内への燃料供給量よりも少ない場合、フィルタ後角速度変化波形は、図７に示すように変動する。図７に示す例では、＃１の気筒１２内への燃料供給量が他の気筒１２内への燃料供給量よりも少ないため、フィルタ後角速度変化波形によって示される特性値が最小となる回転位相は、＃１の気筒１２の燃焼行程に対応する回転位相の領域に含まれている。そして、本実施形態では、各気筒１２の燃焼行程に対応する回転位相の領域のうち、フィルタ後角速度変化波形によって示される特性値が最小となるときの回転位相を含む領域、すなわち図７に示す例では、＃１の気筒１２の燃焼行程に対応する回転位相の領域が、基準位相領域に該当する。要するに、上記の所定条件とは、「各気筒１２の燃焼行程に対応する４つの回転位相の領域のうち、フィルタ後角速度変化波形によって示される特性値が最小となる回転位相を含む領域であること」である。
【００５１】
次に、図９及び図１０に示すフローチャートを参照し、インバランス診断を行うために必要な判定パラメータＺ（Ｎ）、減少前の判定パラメータＺ０（Ｎ）及び判定ステップ数Ｙ（Ｎ）を算出する際の処理手順について説明する。なお、図９及び図１０のフローチャートに示す一連の処理は機関運転中に、インバランス診断（後述する第１の診断及び第２の診断）を行うために必要な上記の各値の取得が未だ完了していないときに制御装置１００によって繰り返し実行される。また、判定パラメータＺ（Ｎ）及び減少前の判定パラメータＺ０（Ｎ）は、＃Ｎの気筒１２を対象気筒としたときに算出される判定パラメータである。また、判定ステップ数Ｙ（Ｎ）は、＃Ｎの気筒１２を対象気筒としたときに取得される判定ステップ数である。なお、「Ｎ」は、対象気筒とされている気筒１２の番号を示す値である。すなわち、＃１の気筒１２が対象気筒であるときには、上記の各値は、判定パラメータＺ（１），判定パラメータＺ０（１），判定ステップ数Ｙ（１）となり、これらが＃１の気筒１２における各値となる。
【００５２】
図９に示すように、最初のステップＳ１１において、上記の各値を取得するための燃料の供給量の減少の実施許可条件が成立しているか否かが判定される。ここでは、機関運転状態が所定の状態であること、暖機運転中ではないこと、などの条件が全て成立しているときに実施許可条件が成立していると判定される。したがって、所定の状態よりも高負荷の状態で運転されている場合や、内燃機関１１の暖機運転中である場合、すなわち内燃機関１１内を流れる冷却水の温度が低い場合などには、実施許可条件が成立していないと判断することができる。そして、実施許可条件が成立していない場合（ステップＳ１１：ＮＯ）、処理がステップＳ１１に戻される。一方、実施許可条件が成立している場合（ステップＳ１１：ＹＥＳ）、処理が次のステップＳ１３に移行される。
【００５３】
なお、本内燃機関１１では、１つの気筒１２に対して２つの噴射弁１７，２２が設けられている。そのため、本実施形態では、対象気筒用の両噴射弁１７，２２のうち、ポート噴射弁２２に対するインバランス診断である第１の診断と、筒内噴射弁１７に対するインバランス診断である第２の診断とが実施される。なお、第１の診断及び第２の診断に必要な上記の各値の取得は、図９及び図１０に示す一連の処理を通じて対象気筒を順番に切り替えて実施される。例えば、＃１→＃３→＃４→＃２の順で対象気筒を切り替えながら各値の取得が実施される場合、まず、＃１の気筒１２に供給する燃料を段階的に減少させて＃１の気筒１２における各値を取得する。そして、＃１の気筒１２に供給する燃料の段階的な減少が完了して＃１の気筒１２における各値を取得すると、次に、＃３の気筒１２に供給する燃料の段階的な減少が行われ、＃３の気筒１２における各値の取得が行われる。こうして順番に対象気筒を切り替えて、全ての気筒１２に対して燃料の段階的な減少が行われ、全ての気筒１２における各値が取得されると、インバランス診断に必要な各値の取得が完了したことになる。
【００５４】
この制御装置１００では、まず、第１の診断に必要な各値の取得を、第２の診断に必要な各値の取得よりも優先して実施するようにしている。要するに、第１の診断に必要な各値の取得及び第２の診断に必要な各値の取得の双方が未だ完了していない場合には、まず第１の診断に必要な各値の取得が実施され、第１の診断に必要な各値の取得を完了させた後に第２の診断に必要な各値の取得が実施される。
【００５５】
これを実現するため、ステップＳ１３においては、第１の診断に必要な各値の取得が完了しているか否かが判定される。
そして、第１の診断に必要な各値の取得が完了していないと判定した場合（ステップＳ１３：ＮＯ）、処理がステップＳ１４に移行され、第１の診断に必要な各値の取得が完了していると判定した場合（ステップＳ１３：ＹＥＳ）には、処理がステップＳ１５に移行される。
【００５６】
なお、この例とは反対に、第２の診断に必要な各値の取得を第１の診断に必要な各値の取得よりも優先させて実施するようにしてもよい。その場合には、ステップＳ１３において第２の診断に必要な各値の取得が完了しているか否かを判定する。そして、第２の診断に必要な各値の取得が完了していないと判定した場合（ステップＳ１３：ＮＯ）、処理をステップＳ１５に移行させ、第２の診断に必要な各値の取得が完了していると判定した場合（ステップＳ１３：ＹＥＳ）には、処理をステップＳ１４に移行させるようにする。
【００５７】
ステップＳ１４では、供給制御部２００によって、対象気筒におけるポート噴射弁２２の燃料噴射量ＳＰＡが算出される。この燃料噴射量ＳＰＡは、以下に示す関係式（式１）に用いて算出する。関係式（式１）において、「ＳＰ」は、対象気筒に対する燃料の供給量の段階的な減少の開始前におけるポート噴射弁２２の燃料噴射量であり、「α」は上記の所定割合である。また、「Ｙｍａｘ」は、対象気筒におけるポート噴射弁２２の燃料噴射量を段階的に減少させる際の段数であり、予め設定された値である。また、「Ｙ（Ｎ）」は、対象気筒におけるポート噴射弁２２の燃料噴射量を段階的に減少させる際の減少回数、すなわち判定ステップ数である。関係式（式１）で明らかなように、「Ｙ（Ｎ）／Ｙｍａｘ」が大きくなるほど、すなわち判定ステップ数Ｙ（Ｎ）が大きくなるほど、算出されるポート噴射弁２２の燃料噴射量ＳＰＡが小さくなる。後述するが、判定ステップ数Ｙ（Ｎ）は「０」からインクリメントされるようになっており、判定ステップ数Ｙ（Ｎ）が「０」である場合のポート噴射弁２２の燃料噴射量ＳＰＡは、燃料の供給量の段階的な減少の開始前におけるポート噴射弁２２の燃料噴射量ＳＰと等しい。そのため、判定ステップ数Ｙ（Ｎ）が「０」である場合に算出される判定パラメータは、対象気筒内への燃料供給量の段階的な減少前の判定パラメータＺ０（Ｎ）となる。そして、ポート噴射弁２２の燃料噴射量ＳＰＡが算出されると、供給制御部２００が対象気筒におけるポート噴射弁２２の燃料噴射量を算出された燃料噴射量ＳＰＡと等しくするようにポート噴射弁２２を駆動する。こうして対象気筒における燃料噴射量ＳＰＡが変更されると、処理がステップＳ１７に移行される。
【００５８】
【数１】
2017115592.tif 000003
ステップＳ１５では、供給制御部２００によって、噴き分け率ＤＩが「０（零）」に設定される。この場合、ポート噴射弁２２からの燃料噴射が停止され、筒内噴射弁１７のみから燃料が噴射されるようになる。そして、次のステップＳ１６において、供給制御部２００によって、対象気筒における筒内噴射弁１７の燃料噴射量ＳＤＡが算出される。この燃料噴射量ＳＤＡは、以下に示す関係式（式２）に用いて算出する。関係式（式２）において、「ＳＤ」は、対象気筒に対する燃料の供給量の段階的な減少の開始前における筒内噴射弁１７の燃料噴射量であり、「α」，「Ｙｍａｘ」，「Ｙ（Ｎ）」は、関係式（式１）における値と同様の値である。関係式（式２）で明らかなように、「Ｙ（Ｎ）／Ｙｍａｘ」が大きくなるほど、すなわち判定ステップ数Ｙ（Ｎ）が大きくなるほど、算出される筒内噴射弁１７の燃料噴射量ＳＤＡが小さくなる。判定ステップ数Ｙ（Ｎ）が「０」である場合の筒内噴射弁１７の燃料噴射量ＳＤＡは、燃料の供給量の段階的な減少の開始前における筒内噴射弁１７の燃料噴射量ＳＤと等しい。そのため、判定ステップ数Ｙ（Ｎ）が「０」である場合に算出される判定パラメータは、対象気筒内への燃料供給量の段階的な減少前の判定パラメータＺ０（Ｎ）となる。そして、筒内噴射弁１７の燃料噴射量ＳＤＡが算出されると、供給制御部２００が対象気筒における筒内噴射弁１７の燃料噴射量を算出された燃料噴射量ＳＤＡと等しくするように筒内噴射弁１７を駆動する。こうして対象気筒における燃料噴射量ＳＤＡが変更されると、処理がステップＳ１７に移行される。
【００５９】
【数２】
2017115592.tif 000004
ステップＳ１７では、ステップＳ１４又はステップＳ１６で燃料噴射量ＳＰＡ，ＳＤＡを算出した時点からの経過時間がモニタディレイ時間に達したか否かを判定する。噴射弁１７，２２の燃料噴射量の減少に起因するクランク軸１５の回転態様の変化は、ある程度時間がたってから表れる。すなわち、図７や図８に示すようなフィルタ後角速度変化波形が、出力軸情報処理部２４０で生成されるようになる。そこで、クランク軸１５の回転態様の変化が実際に表れてからステップＳ１８以降の処理が実行されるように、モニタディレイ時間が予め設定されている。
【００６０】
モニタディレイ時間が未だ経過していない場合（ステップＳ１７：ＮＯ）、このステップＳ１７の判定処理が繰り返される。一方、モニタディレイ時間が既に経過している場合（ステップＳ１７：ＹＥＳ）、処理がステップＳ１８に移行される。そして、ステップＳ１８において、パラメータ算出部２１３によって、判定パラメータＺ（Ｎ）が算出される。
【００６１】
ここで、図７を参照し、判定パラメータＺ（Ｎ）の算出方法について説明する。＃１の気筒１２を対象気筒とし、＃１の気筒１２内への燃料供給量が減少されると、すなわち＃１の気筒１２用の噴射弁１７，２２の燃料噴射量ＳＤＡ，ＳＰＡが減少されると、＃１の気筒１２内への燃料供給量が他の気筒１２内への燃料供給量よりも少なくなることがある。この場合、図７に示すように、＃１の気筒１２の燃焼行程に対応する回転位相の領域では、フィルタ後角速度変化波形によって示される特性値が小さくなる。ちなみに、この場合のフィルタ後角速度変化波形では、＃１の気筒１２の燃焼行程に対応する回転位相の領域で特性値が負の値となる。そして、当該領域で絶対値が最も大きくなる時点の特性値（図７に示す例では、特性値の最小値）を後述する正規化目標値で除算し、その商である正規化特性値Ｆｐ（＝特性値／正規化目標値）が求められる。このように算出した正規化特性値Ｆｐを積算することで、判定パラメータＺ（Ｎ）を算出することができる。したがって、この判定パラメータＺ（Ｎ）は、対象気筒の燃焼行程に対応する回転位相の領域でのフィルタ後角速度変化波形によって示される特性値が小さいほど大きくなるように算出される値であるということができる。
【００６２】
なお、対象気筒においてリーン異常が発生している場合、又は対象気筒で失火が生じている場合、フィルタ後角速度波形の振幅が比較的広いため、対象気筒内への燃料供給量を減少させる前であっても、対象気筒の燃焼行程に対応する回転位相の領域での正規化特性値Ｆｐが比較的大きい。したがって、この場合には、判定ステップ数Ｙ（Ｎ）が「０」であるときの判定パラメータＺ（Ｎ）、すなわち減少前の判定パラメータＺ（Ｎ）は大きくなりやすい。
【００６３】
正規化目標値は、クランク軸１５の回転速度ＮＥ及び吸入空気量に基づき算出される機関負荷率ＮＬ、及び、そのときの回転速度ＮＥの相異に起因する影響を、フィルタ後角速度変化波形で示される特性値から取り除くための値である。この正規化目標値は、「０」よりも小さい値（すなわち、負の値）であり、回転速度ＮＥ及び機関負荷率ＮＬに基づいて算出される。
【００６４】
クランク軸１５の回転速度ＮＥが小さい場合ほど、気筒１２内への燃料供給量の気筒間でのばらつきに起因する影響が大きく出やすいため、フィルタ後角速度変化波形の振幅が広くなる。そのため、対象気筒の燃焼行程に対応する回転位相の領域では、クランク軸１５の回転速度ＮＥが小さい場合ほど、フィルタ後角速度変化波形によって示される特性値の絶対値がより大きくなる。したがって、正規化目標値は、回転速度ＮＥが大きいときほど「０」に近い値とされる。
【００６５】
また、機関負荷率ＮＬが大きいほど、１回の吸気行程での気筒１２内への充填量が多くなる。そのため、気筒１２内への燃料供給量が気筒間でばらついている場合、機関負荷率ＮＬが大きいほど、フィルタ後角速度変化波形の振幅が広くなりやすい。その結果、対象気筒の燃焼行程に対応する回転位相の領域では、フィルタ後角速度変化波形によって示される特性値の絶対値がより大きくなる。したがって、正規化目標値は、機関負荷率ＮＬが小さいほど「０」に近い値とされる。
【００６６】
ちなみに、対象気筒内への燃料供給量が他の気筒１２内への燃料供給量よりも少ない場合、対象気筒の燃焼行程に対応する回転位相の領域では、フィルタ後角速度変化波形によって示される特性値が負の値となる。一方、対象気筒内への燃料供給量が他の気筒１２内への燃料供給量よりも多い場合、対象気筒の燃焼行程に対応する回転位相の領域では、フィルタ後角速度変化波形によって示される特性値が正の値となる。また、上述したように正規化後目標値は、負の値である。したがって、対象気筒内への燃料供給量が他の気筒１２内への燃料供給量よりも少ない場合に算出される正規化特性値Ｆｐは正の値になる一方で、対象気筒内への燃料供給量が他の気筒１２内への燃料供給量よりも多い場合に算出される正規化特性値Ｆｐは負の値になる。
【００６７】
図９に戻り、判定パラメータＺ（Ｎ）が算出されると、処理が次のステップＳ１９に移行される。そして、ステップＳ１９において、パラメータ算出部２１３によって、判定サイクル数Ｘ（Ｎ）が「１」だけインクリメントされる。この判定サイクル数Ｘ（Ｎ）は、正規化特性値Ｆｐの積算回数である。そして、次のステップＳ２０において、判定サイクル数Ｘ（Ｎ）が予め設定されたサイクル数基準値ＸＴｈ以上であるか否かが判定される。サイクル数基準値ＸＴｈは、「１」よりも大きい値に設定されている。ここでは、判定サイクル数Ｘ（Ｎ）がサイクル数基準値ＸＴｈ未満である場合には、上記正規化特性値Ｆｐのサンプル数が未だ少なく、高精度な診断を未だ行うことができないと判断することができるように、サイクル数基準値ＸＴｈの大きさが設定されている。
【００６８】
そのため、判定サイクル数Ｘ（Ｎ）がサイクル数基準値ＸＴｈ未満である場合（ステップＳ２０：ＮＯ）、処理が前述したステップＳ１１に移行される。したがって、判定サイクル数Ｘ（Ｎ）がサイクル数基準値ＸＴｈ未満である間は、対象気筒内への燃料供給量が保持された状態で、上記正規化特性値Ｆｐの積算、すなわち判定パラメータＺ（Ｎ）の算出が継続される。一方、判定サイクル数Ｘ（Ｎ）がサイクル数基準値ＸＴｈ以上になった場合（ステップＳ２０：ＹＥＳ）、処理が次のステップＳ２１に移行される。
【００６９】
図１０に示すように、ステップＳ２１では、パラメータ算出部２１３によって、判定パラメータＺ（Ｎ）が予め設定されているパラメータ基準値ＺＴｈ以上であるか否かが判定される。パラメータ基準値ＺＴｈは、判定パラメータＺ（Ｎ）がパラメータ基準値ＺＴｈ以上である場合に、リッチ異常判定やリーン異常判定を行うことができる程度に判定パラメータＺ（Ｎ）が十分に大きくなっていると判断することができるように、その値の大きさが設定されている。なお、パラメータ基準値ＺＴｈは正の値である。そして、判定パラメータＺ（Ｎ）がパラメータ基準値ＺＴｈ以上である場合（ステップＳ２１：ＹＥＳ）、処理が後述するステップＳ２６に移行される。一方、判定パラメータＺ（Ｎ）がパラメータ基準値ＺＴｈ未満である場合（ステップＳ２１：ＮＯ）、処理がステップＳ２２に移行される。
【００７０】
ステップＳ２２では、パラメータ算出部２１３によって、判定ステップ数Ｙ（Ｎ）が予め設定されたステップ数基準値ＹＴｈ以上であるか否かが判定される。ステップ数基準値ＹＴｈは、上記の判定ステップ数最大値Ｙｍａｘと等しい値に設定されている。すなわち、判定ステップ数Ｙ（Ｎ）がステップ数基準値ＹＴｈと等しい場合、対象気筒用の噴射弁１７，２２の燃料噴射量ＳＤＡ，ＳＰＡが既に所定割合αだけ減少されており、対象気筒内への燃料供給量の段階的な減少が完了したと判定することができる。そのため、判定ステップ数Ｙ（Ｎ）がステップ数基準値ＹＴｈ以上である場合（ステップＳ２２：ＹＥＳ）、処理が後述するステップＳ２８に移行される。一方、判定ステップ数Ｙ（Ｎ）がステップ数基準値ＹＴｈ未満である場合（ステップＳ２２：ＮＯ）、処理がステップＳ２３に移行される。
【００７１】
ステップＳ２３では、判定ステップ数Ｙ（Ｎ）が「０」と等しいか否かが判定される。判定ステップ数Ｙ（Ｎ）が「０」と等しいときの判定パラメータＺ（Ｎ）は、対象気筒内への燃料供給量が減少される前の判定パラメータである。そのため、判定ステップ数Ｙ（Ｎ）が「０」と等しい場合（ステップＳ２３：ＹＥＳ）、ステップＳ２４において、現時点の判定パラメータＺ（Ｎ）が、減少前の判定パラメータＺ０（Ｎ）としてパラメータ記憶部２１４に記憶される。すなわち、本実施形態では、対象気筒内への燃料供給量の段階的な減少が開始される前に、減少前の判定パラメータＺ０（Ｎ）が算出される。その後、処理が次のステップＳ２５に移行される。
【００７２】
一方、判定ステップ数Ｙ（Ｎ）が「０」とは異なる場合（ステップＳ２３：ＮＯ）、処理がステップＳ２５に移行される。ステップＳ２５では、ステップ数計数部２１１によって判定ステップ数Ｙ（Ｎ）が「１」だけインクリメントされ、パラメータ算出部２１３によって判定サイクル数Ｘ（Ｎ）及び判定パラメータＺ（Ｎ）の双方が「０」にリセットされる。そして、処理が前述したステップＳ１１に移行される。
【００７３】
上述したように、判定パラメータＺ（Ｎ）がパラメータ基準値ＺＴｈ以上である場合（ステップＳ２１：ＹＥＳ）には、ステップＳ２６の処理が実行される。そして、このステップＳ２６において、判定ステップ数Ｙ（Ｎ）が「０」と等しいか否かが判定される。そして、判定ステップ数Ｙ（Ｎ）が「０」と等しい場合（ステップＳ２６：ＹＥＳ）、ステップＳ２７において、現時点の判定パラメータＺ（Ｎ）が、減少前の判定パラメータＺ０（Ｎ）としてパラメータ記憶部２１４に記憶される。そして、処理がステップＳ２８に移行される。
【００７４】
一方、判定ステップ数Ｙ（Ｎ）が「０」とは異なる場合（ステップＳ２６：ＮＯ）、処理がステップＳ２８に移行される。そして、ステップＳ２８において、対象気筒内への燃料供給量の減少が完了したと判定し、判定パラメータＺ（Ｎ）がパラメータ記憶部２１４に記憶され、判定ステップ数Ｙ（Ｎ）がステップ数記憶部２１２に記憶される。なお、ここでは、第１の診断に必要な各値を取得するために、ポート噴射弁２２の燃料噴射量を段階的に減少させてきた場合には、判定パラメータＺ（Ｎ）の値を判定パラメータＺ（Ｎ）１としてパラメータ記憶部２１４に記憶するとともに、判定ステップ数Ｙ（Ｎ）を判定ステップ数Ｙ（Ｎ）１としてステップ数記憶部２１２に記憶する。一方、第２の診断に必要な各値を取得するために、筒内噴射弁１７の燃料噴射量を段階的に減少させてきた場合には、判定パラメータＺ（Ｎ）の値を判定パラメータＺ（Ｎ）２としてパラメータ記憶部２１４に記憶するとともに、判定ステップ数Ｙ（Ｎ）を判定ステップ数Ｙ（Ｎ）２としてステップ数記憶部２１２に記憶する。そして、次のステップＳ２９において、供給制御部２００によって、対象気筒内への燃料供給量が元に戻される。
【００７５】
次のステップＳ３０では、ステップ数計数部２１１によって判定ステップ数Ｙ（Ｎ）が「０」にリセットされ、パラメータ算出部２１３によって判定サイクル数Ｘ（Ｎ）及び判定パラメータＺ（Ｎ）が「０」にリセットされる。そして、ステップＳ３１において、全ての気筒１２に対する燃料供給量の減少が完了しているか否かが判定される。すなわち、第１の診断に必要な各値を取得するために、ポート噴射弁２２の燃料噴射量を段階的に減少させてきた場合、全てのポート噴射弁２２の燃料噴射量ＳＰＡの段階的な減少が完了したか否かが判定される。また、第２の診断に必要な各値を取得するために、筒内噴射弁１７の燃料噴射量を段階的に減少させてきた場合、全ての筒内噴射弁１７の燃料噴射量ＳＤＡの段階的な減少が完了したか否かが判定される。
【００７６】
なお、各気筒１２に対応する判定パラメータＺ（１）１，Ｚ（２）１，Ｚ（３）１，Ｚ（４）１が全て記憶されており、且つ各気筒１２に対応する判定ステップ数Ｙ（１）１，Ｙ（２）１，Ｙ（３）１，Ｙ（４）１が全て記憶されていれば、第１の診断を行うために必要な燃料噴射量の段階的な減少が完了していると判定することができる。また、各気筒１２に対応する判定パラメータＺ（１）２，Ｚ（２）２，Ｚ（３）２，Ｚ（４）２が全て記憶されており、且つ各気筒１２に対応する判定ステップ数Ｙ（１）２，Ｙ（２）２，Ｙ（３）２，Ｙ（４）２が全て記憶されていれば、第２の診断を行うために必要な燃料噴射量の段階的な減少が完了していると判定することができる。
【００７７】
そして、気筒１２内への燃料供給量を段階的に減少させる処理を未だ行っていない気筒１２があり、全ての気筒１２に対する燃料供給量の減少が完了していない場合（ステップＳ３１：ＮＯ）、処理が前述したステップＳ１１に移行される。すなわち、次の気筒１２を対象気筒とし、上述した一連の処理が実行される。一方、全ての気筒１２に対する燃料供給量の減少が完了している場合（ステップＳ３１：ＹＥＳ）、一連の処理が終了される。
【００７８】
次に、図１１に示すフローチャートを参照し、領域特定部２１５が、各気筒１２の燃焼行程に対応する回転位相の領域のうち、フィルタ後角速度変化波形によって示される特性値が最小となる回転位相θを含む領域を、基準位相領域Ａ（Ｎ），ＡＢとして領域記憶部２１６に記憶させる際の処理手順について説明する。この一連の処理は、制御装置１００の領域特定部２１５によって実行されるが、図９及び図１０を参照して説明した一連の処理と同様に、機関運転中に、第１の診断及び第２の診断を行うために必要な上記の各値の取得が未だ完了していないときに繰り返し実行される。なお、基準位相領域Ａ（Ｎ）における「Ｎ」は、対象気筒とされている気筒１２の番号を示す値である。すなわち、＃１の気筒１２が対象気筒であるときには、基準位相領域は基準位相領域Ａ（１）となり、これが＃１の気筒１２に対する燃料供給量を段階的に減少させているときの基準位相領域であることを示す。
【００７９】
図１１に示すように、最初のステップＳ４１において、実施許可条件が成立しているか否かが判定される。ステップＳ４１の判定処理の内容は、上記ステップＳ１１の判定処理の内容と同じである。実施許可条件が成立していない場合（ステップＳ４１：ＮＯ）、ステップＳ４１の判定処理が繰り返される。一方、実施許可条件が成立している場合（ステップＳ４１：ＹＥＳ）、処理が次のステップＳ４２に移行される。
【００８０】
ステップＳ４２において、対象気筒内への燃料供給量が減少される前であるか否かが判定される。減少される前である場合（ステップＳ４２：ＹＥＳ）、ステップＳ４３において、対象気筒内への燃料供給量を減少する前の基準位相領域である減少前の基準位相領域ＡＢが特定される。具体的には、出力軸情報処理部２４０によって生成されたフィルタ後角速度変化波形によって示される特性値が最小となるときにおけるクランク軸１５の回転位相θが取得される。続いて、取得した回転位相θが、各気筒１２の燃焼行程に対応する回転位相の領域のうち何れの領域に含まれるのかが特定される。そして、特定された領域が減少前の基準位相領域ＡＢに該当することとなる。そして、次のステップＳ４４において、減少前の基準位相領域ＡＢが領域記憶部２１６に記憶され、処理が後述するステップＳ４７に移行される。
【００８１】
その一方で、ステップＳ４２において、対象気筒内への燃料供給量が減少される前ではないと判定された場合（ステップＳ４２：ＮＯ）、すなわち対象気筒内への燃料供給量の減少が開始されている場合には、処理がステップＳ４５に移行される。このステップＳ４５において、対象気筒内への燃料供給量が減少されている状態での基準位相領域である減少中の基準位相領域Ａ（Ｎ）が特定される。そして、次のステップＳ４６において、取得した減少中の基準位相領域Ａ（Ｎ）が、領域記憶部２１６に記憶される。ここでは、第１の診断に必要な各値を取得するために、ポート噴射弁２２の燃料噴射量を段階的に減少させているときには、基準位相領域Ａ（Ｎ）を基準位相領域Ａ（Ｎ）１として領域記憶部２１６に記憶する。一方、第２の診断に必要な各値を取得するために、筒内噴射弁１７の燃料噴射量を段階的に減少させているときには、基準位相領域Ａ（Ｎ）を基準位相領域Ａ（Ｎ）２として領域記憶部２１６に記憶する。そして、処理がステップＳ４７に移行される。
【００８２】
ステップＳ４７において、上記ステップＳ３１の判定処理と同様に、全ての気筒１２に対する燃料供給量の減少が完了しているか否かが判定される。そして、気筒１２内への燃料供給量を段階的に減少させる処理を未だ行っていない気筒１２があり、全ての気筒１２に対する燃料供給量の減少が完了していない場合（ステップＳ４７：ＮＯ）、処理が前述したステップＳ４１に移行される。すなわち、次の気筒１２を対象気筒とし、上述した一連の処理が実行される。一方、全ての気筒１２に対する燃料供給量の減少が完了している場合（ステップＳ４７：ＹＥＳ）、一連の処理が終了される。
【００８３】
次に、図１２に示すフローチャートを参照し、リーン異常の発生している気筒１２があるか否かをリーン判定部２３０が判定する際の処理手順について説明する。このリーン異常判定は、リーン異常判定を行っていない気筒１２が残っており、且つ図９及び図１０に示すフローチャートで説明した処理、及び、図１１に示すフローチャートで説明した処理の双方が完了している状態で繰り返し行われる。すなわち、第１の診断に必要な各値の取得が完了しており、第２の診断に必要な各値の取得が完了していない状態のときには、第１の診断としてのリーン異常判定が行われる。また、リーン異常判定は、全ての気筒１２に対して行われることとなるが、＃１、＃３、＃４、＃２の順に行われる。そして、全ての気筒１２に対して第１の診断におけるリーン異常判定が行われると、次に第２の診断としてのリーン異常判定が実行される。なお、このときに第２の診断に必要な各値の取得が完了していない場合には、取得が完了するまで第２の診断におけるリーン異常判定は実行されない。
【００８４】
図１２に示すように、まずステップＳ５１において、＃Ｎ（例えば、＃１）の気筒１２の減少前の判定パラメータＺ０（Ｎ）が予め設定されているパラメータ基準値ＺＴｈ以上であるか否かが判定される。減少前の判定パラメータＺ０（Ｎ）は、図９及び図１０に示すフローチャートで説明した処理によってパラメータ記憶部２１４に記憶された値である。そして、パラメータ基準値ＺＴｈは、減少前の判定パラメータＺ０（Ｎ）がパラメータ基準値ＺＴｈ以上である場合、＃Ｎの気筒用の噴射弁１７，２２の燃料噴射量ＳＤ，ＳＰが少ない、又は、＃Ｎの気筒１２が失火していると判断することができるようにその大きさが設定されている。
【００８５】
そのため、減少前の判定パラメータＺ０（Ｎ）がパラメータ基準値ＺＴｈ以上である場合（ステップＳ５１：ＹＥＳ）、処理をステップＳ５２へと移行する。そして、ステップＳ５２において、＃Ｎの気筒１２においてリーン異常が発生していると判定される。その後、処理は後述するステップＳ５４に移行される。一方、減少前の判定パラメータＺ０（Ｎ）がパラメータ基準値ＺＴｈ未満である場合（ステップＳ５１：ＮＯ）、処理がステップＳ５３へと移行する。そして、ステップＳ５３において、＃Ｎの気筒１２においてリーン異常が発生していないと判定される。この場合にも、処理がステップＳ５４に移行される。
【００８６】
ステップＳ５４では、全ての気筒１２に対するリーン異常判定が完了したか否かが判定される。リーン異常判定を未だ行っていない気筒１２がある場合（ステップＳ５４：ＮＯ）、処理が前述したステップＳ５１に移行される。すると、次の気筒１２に対するリーン異常判定が行われる。一方、全ての気筒１２に対するリーン異常判定が完了した場合（ステップＳ５４：ＹＥＳ）、本処理が終了される。
【００８７】
次に、図１３に示すフローチャートを参照し、リッチ異常の発生している気筒１２があるか否かをリッチ判定部２２０が判定する際の処理手順について説明する。このリッチ異常判定は、図１２を参照して説明したリーン異常判定と同様に、リッチ異常判定を行っていない気筒１２が残っており、且つ図９及び図１０に示すフローチャートで説明した処理、及び、図１１に示すフローチャートで説明した処理の双方が完了している状態で繰り返し行われる。また、リッチ異常判定も、全ての気筒１２に対して行われることとなるが、＃１、＃３、＃４、＃２の順に行われる。
【００８８】
図１３に示すように、まずステップＳ６１において、ステップ数記憶部２１２に記憶されている＃Ｎ（例えば、＃１）の気筒１２の判定ステップ数Ｙ（Ｎ）がステップ数基準値ＹＴｈ以上であるか否かが判定される。例えば、第１の診断におけるリッチ異常判定の場合には、判定ステップ数Ｙ（Ｎ）１がステップ数基準値ＹＴｈ以上であるか否かを判定する。
【００８９】
判定ステップ数Ｙ（Ｎ）がステップ数基準値ＹＴｈ未満である場合とは、＃Ｎの気筒１２を対象気筒とし、＃Ｎの気筒１２内への燃料供給量が所定割合α減少される前に、判定パラメータＺ（Ｎ）がパラメータ基準値ＺＴｈ以上になった場合である。例えば、＃Ｎの気筒１２内への燃料供給量が他の気筒１２内への燃料供給量よりも少ない場合、判定ステップ数Ｙ（Ｎ）を大きくし、＃Ｎの気筒１２内への燃料供給量の減少量が多くなるほど、算出される判定パラメータＺ（Ｎ）が大きくなる。そして、判定ステップ数Ｙ（Ｎ）がステップ数基準値ＹＴｈ未満の段階で判定パラメータＺ（Ｎ）がパラメータ基準値ＺＴｈ以上となることがあり、この場合には、ステップ数基準値ＹＴｈよりも小さい判定ステップ数Ｙ（Ｎ）がステップ数記憶部２１２に記憶されている。したがって、判定ステップ数Ｙ（Ｎ）がステップ数基準値ＹＴｈ未満である場合（ステップＳ６１：ＮＯ）、処理はステップＳ６２へと移行し、ステップＳ６２において、＃Ｎの気筒１２でリッチ異常が発生していないと判定される。その後、処理が後述するステップＳ６６に移行される。
【００９０】
一方、判定ステップ数Ｙ（Ｎ）がステップ数基準値ＹＴｈ以上である場合（ステップＳ６１：ＹＥＳ）、処理はステップＳ６３へと移行し、ステップＳ６３において、パラメータ記憶部２１４に記憶されている判定パラメータＺ（Ｎ）がパラメータ基準値ＺＴｈ未満であるか否かが判定される。例えば、第１の診断におけるリッチ異常判定の場合には、判定パラメータＺ（Ｎ）１がパラメータ基準値ＺＴｈ未満であるか否かを判定する。
【００９１】
＃Ｎの気筒１２でリッチ異常が発生している場合、＃Ｎの気筒１２内の燃料供給量を段階的に減少させると、＃Ｎの気筒１２内への燃料供給量と他の気筒１２内への燃料供給量とのずれが小さくなる。その結果、＃Ｎの気筒１２の燃焼行程に対応する回転位相の領域では、フィルタ後角速度変化波形によって示される特性値が小さくなる。
【００９２】
なお、図１４には、＃１の気筒１２でリッチ異常が発生している場合が図示されている。この場合、図１４に実線で示すように、＃１の気筒１２の燃焼行程に対応する回転位相の領域では、フィルタ後角速度変化波形によって示される特性値は正の値である。この状態で＃１の気筒１２を対象気筒とし、＃１の気筒１２内への燃料供給量が段階的に減少されると、図１４に破線で示すように、＃１の気筒１２の燃焼行程に対応する回転位相の領域では、フィルタ後角速度変化波形によって示される特性値が徐々に小さくなる。すなわち、判定ステップ数Ｙ（１）が大きくなるにつれて判定パラメータＺ（１）が「０」に近づく。このように燃料供給量を段階的に減少させていくと、＃１の気筒１２内への燃料供給量と他の気筒１２内への燃料供給量との大小関係が逆転する。すると、それ以降では、＃１の気筒１２用の燃料供給量の減少量を段階的に減少させると、図１４に一点鎖線で示すように、＃１の気筒１２の燃焼行程に対応する回転位相の領域では、フィルタ後角速度変化波形によって示される特性値が負の値となる。すなわち、判定ステップ数Ｙ（１）が大きくなるにつれて、判定パラメータＺ（１）は正の値となるとともに、判定パラメータＺ（１）が大きくなる。
【００９３】
このように＃１の気筒１２でリッチ異常が発生している場合、＃１の気筒１２内の燃料供給量を段階的に減少させると、判定パラメータＺ（１）は、負の値から正の値となる。そのため、判定ステップ数Ｙ（１）がステップ数基準値ＹＴｈに達しても、判定パラメータＺ（１）はそれほど大きくならない。
【００９４】
つまり、この関係から、判定パラメータＺ（１）がパラメータ基準値ＺＴｈ以上である場合には、判定パラメータＺ（１）が大きくなっているため、＃１の気筒１２においてリッチ異常が発生している可能性は低く、＃１の気筒１２においてリッチ異常が発生していないと推定することができる。
【００９５】
図１３に戻り、判定パラメータＺ（Ｎ）がパラメータ基準値ＺＴｈ以上である場合（ステップＳ６３：ＮＯ）、次のステップＳ６２において、＃Ｎの気筒１２においてリッチ異常が発生していないと判定される。その後、処理が後述するステップＳ６６に移行される。一方、判定パラメータＺ（Ｎ）がパラメータ基準値ＺＴｈ未満である場合（ステップＳ６３：ＹＥＳ）、処理が次のステップＳ６４に移行される。
【００９６】
ステップＳ６４では、領域記憶部２１６に記憶されている減少前の基準位相領域ＡＢと減少中の基準位相領域Ａ（Ｎ）とが異なっているか否かが判定される。例えば、第１の診断におけるリッチ異常判定の場合には、減少前の基準位相領域ＡＢと基準位相領域Ａ（Ｎ）１とが異なっているか否かを判定する。
【００９７】
＃Ｎの気筒１２においてリッチ異常が発生している場合、上述したように、＃Ｎの気筒１２内の燃料供給量の減少量がある程度大きくなると、＃Ｎの気筒１２内への燃料供給量が他の気筒１２内への燃料供給量よりも少なくなる。すると、フィルタ後角速度変化波形によって示される特性値が最小となるクランク軸１５の回転位相θが、＃Ｎの気筒１２の燃焼行程に対応する回転位相の領域に含まれるようになる。すなわち、＃Ｎの気筒１２の燃焼に対応する回転位相の領域が減少中の基準位相領域Ａ（Ｎ）となる。ちなみに、＃Ｎの気筒１２においてリッチ異常が発生している場合、＃Ｎの気筒１２以外の他の気筒１２の燃焼行程に対応する回転位相の領域が減少前の基準位相領域ＡＢとなる。そのため、＃Ｎの気筒１２でリッチ異常が発生している場合、減少前の基準位相領域ＡＢと減少中の基準位相領域Ａ（Ｎ）とが相異することとなる。
【００９８】
そこで、減少前の基準位相領域ＡＢと減少中の基準位相領域Ａ（Ｎ）とが相異している場合（ステップＳ６４：ＹＥＳ）、処理はステップＳ６５へと移行し、ステップＳ６５において、＃Ｎの気筒１２においてリッチ異常が発生していると判定される。すなわち、減少前の基準位相領域ＡＢと減少が完了した後の最新の基準位相領域Ａ（Ｎ）とが異なっている場合に、ステップＳ６５において、＃Ｎの気筒１２においてリッチ異常が発生していると判定される。その後、処理が後述するステップＳ６６に移行される。一方、減少前の基準位相領域ＡＢと減少中の基準位相領域Ａ（Ｎ）とが相異していない場合（ステップＳ６４：ＮＯ）、ステップＳ６２において、＃Ｎの気筒１２においてリッチ異常が発生していないと判定される。その後、処理が次のステップＳ６６に移行される。
【００９９】
そして、ステップＳ６６において、全ての気筒１２に対するリッチ異常判定が完了したか否かが判定される。リッチ異常判定を未だ行っていない気筒１２がある場合（ステップＳ６６：ＮＯ）、処理が前述したステップＳ６１に移行される。すると、次の気筒１２に対するリッチ異常判定が行われる。一方、全ての気筒１２に対するリッチ異常判定が完了した場合（ステップＳ６６：ＹＥＳ）、本処理が終了される。
【０１００】
このように、図１２の一連の処理を通じて全ての気筒１２に対するリーン異常判定が完了し、図１３の一連の処理を通じて全ての気筒１２に対するリッチ異常判定が完了すると、インバランス診断が完了したことになる。すなわち、全ての気筒１２に対する第１の診断におけるリーン異常判定が完了し、全ての気筒１２に対する第１の診断におけるリッチ異常判定が完了したときに第１の診断が完了したことになる。同様に、全ての気筒１２に対する第２の診断におけるリーン異常判定が完了し、全ての気筒１２に対する第２の診断におけるリッチ異常判定が完了したときに第２の診断が完了したことになる。
【０１０１】
次に、図１５を参照し、対象気筒以外の気筒１２のうち、１つの気筒１２においてリーン異常が発生している場合の作用について説明する。ここでは、＃４の気筒１２が対象気筒であり、＃１の気筒１２においてリーン異常が発生しており、＃１の気筒１２を除く他の気筒１２においてリーン異常及びリッチ異常の双方が発生していない場合を例に説明する。
【０１０２】
対象気筒である＃４の気筒１２内への燃料供給量が減少される前では、図１５に実線で示すようにフィルタ後角速度変化波形の振幅が比較的大きくなる。この場合、＃１の気筒１２内への燃料供給量が少ないことに起因し、＃４の気筒１２内への燃料供給量が減少される前でも、＃４の気筒１２の燃焼行程に対応する回転位相の領域では、フィルタ後角速度変化波形によって示される特性値が正の値となる。この状態で＃４の気筒１２内への燃料供給量を段階的に減少させると、図１５に破線で示すように、フィルタ後角速度変化波形の振幅が狭くなる。この場合、＃４の気筒１２の燃焼行程に対応する回転位相の領域では、フィルタ後角速度変化波形によって示される特性値が「０」に近づく。その結果、フィルタ後角速度変化波形によって示される特性値を正規化目標値で除した商である正規化特性値Ｆｐは負の値であるため、この正規化特性値Ｆｐの積算値である判定パラメータＺ（４）が「０」に近づく。
【０１０３】
そして、判定ステップ数Ｙ（４）を大きくし、＃４の気筒１２内への燃料供給量をさらに減少させると、判定パラメータＺ（４）がさらに「０」に近づく。そして、この場合、判定ステップ数Ｙ（４）がステップ数基準値ＹＴｈに達した時点では、判定パラメータＺ（４）は負の値であり、判定パラメータＺ（４）がパラメータ基準値ＺＴｈ以上にならない。
【０１０４】
しかし、リーン異常の発生している＃１の気筒１２内への燃料供給量は、他の気筒１２内への燃料供給量よりも少ない。ここで、インバランス診断を行うために必要な燃料噴射量の減少量は少なく、所定割合αは小さいため、＃４の気筒１２内への燃料供給量を所定割合αだけ減少させても、＃４の気筒１２内への燃料供給量が＃１の気筒１２内への燃料供給量よりも少なくなることはない。そのため、＃４の気筒１２内への燃料供給量の減少を開始する前の基準位相領域である減少前の基準位相領域ＡＢと、当該減少の終了後の基準位相領域である記憶されている基準位相領域Ａ（Ｎ）とが同じである。したがって、＃４の気筒１２においてリッチ異常が発生していると判定されることはない。
【０１０５】
なお、＃１の気筒１２用の噴射弁１７，２２の燃料噴射量が適量であったとしても、＃１の気筒１２において失火が生じていることもある。この場合、＃１の気筒１２においてリーン異常が発生している場合と同様に、＃１の気筒１２の燃焼行程に対応する回転位相の領域では、他の気筒１２の燃焼行程に対応する回転位相の領域よりも、フィルタ後角速度変化波形によって示される特性値が小さくなる。すなわち、この場合であっても、減少前の基準位相領域ＡＢは、＃１の気筒１２の燃焼行程に対応する回転位相の領域となる。そして、上述したように、＃４の気筒１２内への燃料供給量の段階的な減少を完了させても、＃４の気筒１２の燃焼行程に対応する回転位相の領域では、＃１の気筒１２の燃焼行程に対応する回転位相の領域よりも、フィルタ後角速度変化波形によって示される特性値が小さくなることはない。すなわち、減少中の基準位相領域Ａ（４）と減少前の基準位相領域ＡＢとが相異しない。そのため、＃１の気筒１２が失火している場合であっても、＃４の気筒１２においてリッチ異常が発生していると判定されることはない。
【０１０６】
以上、上記実施形態によれば以下に示す効果を得ることができる。
ステップ数記憶部２１２に記憶されている判定ステップ数Ｙ（Ｎ）がステップ数基準値ＹＴｈ以上であり、且つパラメータ記憶部２１４に記憶されている判定パラメータＺ（Ｎ）がパラメータ基準値ＺＴｈ未満であっても、減少中の基準位相領域Ａ（Ｎ）と減少前の基準位相領域ＡＢとが相異しない場合には、同対象気筒においてリッチ異常が発生していると判定されない。したがって、対象気筒以外の他の気筒１２においてリーン異常が発生しているときに、対象気筒においてリッチ異常が発生していると誤判定されることを抑制することができる。
【０１０７】
なお、上記実施形態は以下のような別の実施形態に変更してもよい。
・上記実施形態では、対象気筒内への燃料供給量を減少させる前に算出した判定パラメータである減少前の判定パラメータＺ０（Ｎ）に基づき、対象気筒においてリーン異常が発生しているか否かを判定している。しかし、これに限らず、他の方法で対象気筒においてリーン異常が発生しているか否かを判定するようにしてもよい。例えば、対象気筒内への燃料供給量が段階的に減少されているものの、判定ステップ数Ｙ（Ｎ）がステップ数基準値ＹＴｈ未満であるときに算出した判定パラメータＺ（Ｎ）がパラメータ基準値ＺＴｈ以上であるときに、対象気筒においてリーン異常が発生していると判定するようにしてもよい。
【０１０８】
・筒内噴射弁１７を備えない一方でポート噴射弁２２を備える内燃機関に対してこのインバランス診断装置を適用することもできる。また、ポート噴射弁２２を備えない一方で筒内噴射弁１７を備える内燃機関に対してこのインバランス診断装置を適用することもできる。なお、これらの場合には、インバランス診断を第１の診断と第２の診断に分けて行う必要がなくなる。
【０１０９】
・内燃機関は、２つ以上の気筒を有する多気筒内燃機関であれば、４つ以外の任意数の気筒を備える内燃機関であってもよい。
【符号の説明】
【０１１０】
１１…内燃機関、１２…気筒、１５…クランク軸、１００…制御装置、２００…供給制御部、２１３…パラメータ算出部、２１２…ステップ数記憶部、２１４…パラメータ記憶部、２１６…領域記憶部、２２０…リッチ判定部、２４０…出力軸情報処理部。
【図１】
2017115592.tif 000005
【図２】
2017115592.tif 000006
【図３】
2017115592.tif 000007
【図４】
2017115592.tif 000008
【図５】
2017115592.tif 000009
【図６】
2017115592.tif 000010
【図７】
2017115592.tif 000011
【図８】
2017115592.tif 000012
【図９】
2017115592.tif 000013
【図１０】
2017115592.tif 000014
【図１１】
2017115592.tif 000015
【図１２】
2017115592.tif 000016
【図１３】
2017115592.tif 000017
【図１４】
2017115592.tif 000018
【図１５】
2017115592.tif 000019
【図１６】
2017115592.tif 000020
【図１７】
2017115592.tif 000021
【図１８】
2017115592.tif 000022
【図１９】
2017115592.tif 000023
【図２０】
2017115592.tif 000024