(57)【特許請求の範囲】
【請求項１】
複数の気筒のうちの一部を休止させる気筒休止を実行する気筒休止機構を備えた内燃機関の制御装置において、
前記内燃機関の吸気通路を流れる吸入空気量を検出する吸入空気量検出手段と、
前記吸気通路の圧力を検出する圧力検出手段と、
前記内燃機関の運転状態に応じて、該内燃機関の休止気筒休数を決定する休止気筒数決定手段と、
上記決定に応じて前記気筒休止機構を作動させ、該作動によって実際に休止した気筒数を検出する休止気筒数検出手段と、
前記吸入空気量検出手段が検出した吸入空気量と、前記休止気筒数検出手段によって決定された気筒休止数とに基づいて、第１の吸入空気量を演算する第１吸入空気量演算手段と、
前記圧力検出手段が検出した圧力に基づいて、該内燃機関への第２の吸入空気量を演算する第２吸入空気量演算手段と、
前記休止気筒数決定手段によって決定された気筒休止数と、前記休止気筒数検出手段によって検出された休止気筒数とが不一致の場合、前記第１の吸入空気量を、前記第２の吸入空気量を用いて制限する制限手段と、
前記制限された吸入空気量に基づいて、前記内燃機関の所定の制御量を演算する制御量演算手段と、
を備える、制御装置。
【請求項２】
前記休止気筒数検出手段は、前記気筒休止機構を作動させる作動油の油圧の印加状態を検出する油圧印加状態検出部を有し、該油圧印加状態に基づいて休止気筒数を検出する、請求項１に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、気筒休止機構を備えた内燃機関の制御装置に関する。
【背景技術】
【０００２】
内燃機関の吸気通路に、該吸気通路を通過する空気の量を検出するためのセンサ（たとえば、エアフローメータＡＦＭ）を設けることが通常行われている。下記の特許文献１では、このような内燃機関において、該センサにより検出された空気の量を補正して、各気筒に吸入される空気量をより正確に求めることが行われている。
【特許文献１】特開昭６２−２４７１４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
複数の気筒を備え、運転状態に応じて該複数の気筒の一部を休止する可変気筒数内燃機関が従来より提案されている。空燃比をより正確に制御するためには、各気筒への吸入空気量をより正確に求める必要がある。そのため、上記のような気筒の休止運転が行われる内燃機関においては、吸気通路に設けられて該通路を通過する空気の量を検出するセンサの検出値と稼動気筒数とに基づいて、各気筒への吸入空気量を算出することが行われる。
【０００４】
しかしながら、気筒数を可変にする機構に何らかの故障が生じた場合、該故障が制御装置によって判定される前では、実際に稼動している気筒数が、制御装置が稼動させようとしている気筒数と不一致を起こすおそれがある。このような不一致が生じると、各気筒への吸入空気量の算出に誤差が生じ、これによって燃料量に誤差が生じて空燃比が変動するおそれがある。
【０００５】
したがって、可変気筒数の内燃機関において、気筒数を可変にする機構に何らかの故障が生じた場合に、該故障が制御装置によって判定される前でも、各気筒への吸入空気量をより正確に算出する手法が望まれている。
【課題を解決するための手段】
【０００６】
上記の目的を達成するため、請求項１に係る発明は、複数の気筒のうちの一部を休止させる気筒休止を実行する気筒休止機構（２１ａ、２１ｂ）を備えた内燃機関の制御装置において、内燃機関への第１の吸入空気量を検出する吸入空気量検出手段（８、５４）と、内燃機関への吸気通路の圧力を検出する圧力検出手段（１０）と、該圧力に基づいて、該内燃機関への第２の吸入空気量を演算する吸入空気量演算手段（５５）と、内燃機関の運転状態に応じて、内燃機関の休止気筒数を決定する休止気筒数決定手段（５１）と、上記決定に応じて気筒休止機構を作動させ、該作動によって実際に休止した気筒数を検出する休止気筒数検出手段（２５ｂ、２５ｃ、５２）と、該休止気筒数決定手段によって決定された休止気筒数と、該休止気筒数検出手段によって検出された休止気筒数とが不一致の場合、上記第１の吸入空気量を、上記第２の吸入空気量を用いて制限する制限手段（５３、５６）と、該制限された吸入空気量に基づいて、内燃機関の所定の制御量を演算する制御量演算手段（５７）と、を有する。
【０００７】
気筒数を可変にする機構を備える内燃機関において、制御装置が目標としている休止気筒数と実際の休止気筒数とが不一致の場合、吸入空気量検出手段で検出された第１の吸入空気量から各気筒への吸入空気量を求めると、結果として求めた吸入空気量が多すぎたり少なすぎたりするおそれがある。この発明によれば、上記のような不一致を生じた場合には、該第１の吸入空気量を、吸気通路の圧力に基づいて算出された第２の吸入空気量で制限する。第２の吸入空気量は、吸気通路の負圧に基づいており、よって、実際に稼働している気筒数を反映した値となる。このような第２の吸入空気量による制限処理により、各気筒への吸入空気量を、より正確に求めることができる。したがって、該制限した吸入空気量に基づくことにより、内燃機関の所定の制御量、たとえば燃料量を、より正確に演算することができる。
【発明を実施するための最良の形態】
【０００８】
次に図面を参照してこの発明の実施の形態を説明する。図１は、この発明の一実施形態に従う、内燃機関（以下、エンジンと呼ぶ）およびその制御装置の全体的な構成図である。
【０００９】
電子制御ユニット（以下、「ＥＣＵ」）という）１は、中央演算処理装置（ＣＰＵ）およびメモリを備えるコンピュータである。メモリには、車両の様々な制御を実現するためのコンピュータ・プログラムおよび該プログラムの実施に必要なデータ（マップを含む）を格納することができる。ＥＣＵ１は、車両の各部から信号を受取ると共に、該メモリに記憶されたデータおよびプログラムに従って演算を行い、車両の各部を制御するための制御信号を生成する。
【００１０】
エンジン２は、可変気筒数のエンジンであり、Ｃ１からＣ３の３気筒を有する第１のバンクと、Ｃ４からＣ６の３気筒を有する第２のバンクを備える。各気筒には、吸気管３および排気管４が連結されている。各気筒の吸気管３には、燃料噴射弁５が設けられている。燃料噴射弁５は、燃料ポンプ（図示せず）を介して燃料を噴射する。燃料噴射弁５の燃料噴射時期および燃料噴射量は、ＥＣＵ１からの制御信号に従って変更される。
【００１１】
各気筒の吸気管４の集合部の上流の吸気通路６には、スロットル弁７が設けられている。スロットル弁７の開度は、ＥＣＵ１からの制御信号に従って制御される。スロットル弁７の開度を制御することにより、エンジン２に吸入される空気の量を制御することができる。
【００１２】
スロットル弁７の上流には、吸気通路６を流れる空気の量を検出するエアフローメータ（ＡＦＭ）８と、吸気通路６の温度を検出する吸気温（ＴＡ）センサ１１が設けられている。該エアフローメータ８およびＴＡセンサ１１の検出値は、ＥＣＵ１に送られる。スロットル弁７を通過した空気は、サージタンク９を介して各吸気管３に吸入される。サージタンク９には、吸気通路６の圧力（絶対圧）を検出するためのＭＡＰセンサ１０が設けられており、該ＭＡＰセンサ１０の検出値はＥＣＵ１に送られる。
【００１３】
第１のバンクには、気筒Ｃ１からＣ３の稼動および休止を切換える気筒休止機構２１ａが設けられ、第２のバンクには、気筒Ｃ４の稼動および休止を切換える気筒休止機構２１ｂが設けられる。第１および第２の気筒休止機構２１ａおよび２１ｂには、気筒休止のための油路２２が接続されており、油路２２は、制御弁２３を介してオイルポンプ２４に接続されている。気筒休止機構２１ａおよび２１ｂは、クランク軸の動力によって駆動されるオイルポンプから吐出される潤滑油を作動油とする油圧作動式の機構であり、この実施例では、高圧の作動油が作用した休止機構は作動状態となって、対応する気筒を休止させ、低圧の作動油が作用された休止機構は非作動状態となって、対応する気筒を稼働させる。制御弁２３は、ＥＣＵ１からの制御信号に従って、第１および第２の気筒休止機構２１ａおよび２１ｂに対して作用する油圧を低圧と高圧との間で切り換えることによって、所望の気筒の稼動および休止を切換える。
【００１４】
ＥＣＵ１は、上記各種センサからの入力信号に応じて、メモリに記憶されたプログラムおよびデータ（マップを含む）に従い、エンジン２の運転状態を検出すると共に、スロットル弁７、燃料噴射弁５、制御弁２３を制御するための制御信号を生成する。
【００１５】
ここで、図２を参照して、可変に気筒数を変更する機構について、より具体的に説明する。第１のバンクの気筒Ｃ１からＣ３には、気筒休止機構２１ａ―１〜２１ａ―３（図１の気筒休止機構２１ａは、これらをまとめて表したものである）をそれぞれ介して、気筒休止のための油路２２が接続されている。第２のバンクの気筒Ｃ４には、気筒休止機構２１ｂを介して、該油路２２が接続されている。第２のバンクの気筒Ｃ５およびＣ６には、休止機構は備えられておらず、よって油路２２は接続されていない。気筒Ｃ５およびＣ６は、休止することなく稼働する。なお、これらの気筒休止機構は、既知の任意の手段によって構成されることができ、たとえば、該機構の詳細な構成は、特開２００５−１０５８６９号公報に示されている。
【００１６】
油路２２は、オイルポンプ２４を介してオイルタンク２７に接続されている。油路２２には、３つの制御弁２３ａ〜２３ｃ（図１の制御弁２３は、これらをまとめて表したものである）が設けられており、第１の制御弁２３ａは、第１のバンクの気筒Ｃ１からＣ３の休止機構２１ａ―１、２１ａ−２および２１ａ−３への作動油の油圧を高圧と低圧との間で切り換えるための弁である。第２の制御弁２３ｂは、第１のバンクの気筒Ｃ３の休止機構２１ａ―３への作動油の油圧を高圧と低圧との間で切り換えるための弁である。第３の制御弁２３ｃは、第２のバンクの気筒Ｃ４の休止機構２１ｂへの作動油の油圧を高圧と低圧との間で切り換えるための弁である。これらの制御弁は、ＥＣＵ１からの制御信号により制御される。
【００１７】
この実施例では、３つの運転モードがある。第１のモードは、気筒Ｃ１からＣ６のすべての吸気弁および排気弁を稼動させる全筒運転である。第２のモードは、第１のバンクの気筒Ｃ３および第２のバンクの気筒Ｃ４の２つの気筒の吸気弁および排気弁の稼動を休止する２筒休止運転である。第３のモードは、第１のバンクの気筒Ｃ１からＣ３の３つの気筒の吸気弁および排気弁の稼動を休止する３筒休止運転である。
【００１８】
第１のモードである全筒運転を行うときには、休止機構２１ａ―１〜２１ａ―３および２１ｂが非作動状態になるように、制御弁２３ａから２３ｃが制御され、いずれの休止機構に対しても低圧の作動油を作用させる。
【００１９】
第２のモードである２筒休止運転を行うときには、休止機構２１ａ―３および２１ｂが作動状態になるよう、制御弁２３ｂおよび２３ｃによって高圧の作動油を作用させると共に、他の休止機構２１ａ―１および２１ａ−２が非作動状態になるように、制御弁２３ａによって低圧の作動油を作用させる。
【００２０】
第３のモードである３筒休止運転を行うときには、第１のバンクのすべての休止機構２１ａ―１〜２１ａ―３のすべてが作動状態になるように、制御弁２３ａおよび２３ｂによって高圧の作動油を作用させると共に、休止機構２１ｂが非作動状態になるように、制御弁２３ｃによって低圧の作動油を作用させる。
【００２１】
第２の制御弁２３ｂと気筒Ｃ３の休止機構２１ａ―３の間には、該制御弁２３ｂを介して休止機構２１ａ―３を作動状態にする油圧（この例では、所定値以上の高圧）が作用されるとオンする油圧スイッチ２５ｂが設けられている。第３の制御弁２３ｃと気筒Ｃ４の休止機構２１ｂの間には、該制御弁２３ｃを介して休止機構２１ｂを作動状態にする油圧（この例では、所定値以上の高圧）が作用されるとオンする油圧スイッチ２５ｃが設けられている。これらのスイッチによる検出信号は、ＥＣＵ１に送られる。
【００２２】
図３は、この発明の一実施形態に従う、制御装置の機能ブロック図である。各機能は、ＥＣＵ１において実現される。
【００２３】
運転モード選択部５１は、エンジン２の運転状態に従って、前述した第１〜第３の運転モードのうちの１つを選択する。たとえば、アクセルペダルの開度を検出するアクセルセンサ（図示せず）の検出値から、エンジンの負荷を判断し、該エンジン負荷と、クランク軸の回転角度位置を検出するクランク角センサ（図示せず）から算出されることのできるエンジン回転数とに基づいて、運転モードを選択することができる。たとえば、負荷が高いほど、またエンジン回転数が高いほど、稼動気筒数が多くなるよう運転モードを選択することができる。
【００２４】
運転モード選択部５１は、選択された運転モードに応じた値を、制御値ＣＳＴＰに設定する。この実施例では、全筒運転のとき、値ゼロをＣＳＴＰに設定し、２筒休止運転のとき、値２をＣＳＴＰに設定し、３筒休止運転のとき、値３をＣＳＴＰに設定する。制御値ＣＳＴＰは、ＥＣＵ１が実現しようとしている（目標としている）休止気筒数（または稼動気筒数）を表している。
【００２５】
一方、油圧印加状態検出部５２は、図２で示した油圧スイッチ２５ｂおよび２５ｃからの検出信号に基づいて、休止用の油圧（この例では、高圧の油圧）がどの気筒に実際に作用しているかを調べる。具体的には、油圧スイッチ２５ｂがオンにされたことを示す検出信号に応じて、休止用の油圧が気筒Ｃ３に作用している状態、すなわち気筒Ｃ３が休止している状態を検出し、油圧フラグＦ＿ＶＣＭＳＷＢに値１を設定する。油圧スイッチ２５ｃがオンにされたことを示す検出信号に応じて、休止用の油圧が気筒Ｃ４に作用している状態、すなわち気筒Ｃ４が休止している状態を検出し、油圧フラグＦ＿ＶＣＭＳＷＣに値１を設定する。これらのフラグの値の組み合わせは、実際に休止している気筒数（または稼働している気筒数）を表している。
【００２６】
ここで表１を参照すると、制御値ＣＳＴＰと、油圧フラグＦ＿ＶＣＭＳＷＢおよびＦ＿ＶＣＭＳＷＣの値の正常な関係、すなわちＥＣＵ１の目標としている状態と実際の状態とが一致している関係を示している。
【表１】
0004814165.tif 000002
【００２７】
ＥＣＵ１が全筒運転を目標としているとき、ＣＳＴＰの値はゼロである。該ＥＣＵ１の目標とする全筒運転が実際に行われていれば、休止用の油圧はいかなる気筒にも作用しないので、油圧フラグＦ＿ＶＣＭＳＷＢおよびＦ＿ＶＣＭＳＷＣはゼロとなる。ＥＣＵ１が２筒休止運転を目標としているとき、ＣＳＴＰの値は２である。該ＥＣＵ１の目標とする２筒休止運転が実際に行われていれば、休止用の油圧は、第１のバンクの気筒Ｃ３と第２のバンクの気筒Ｃ４に作用するので、油圧フラグＦ＿ＶＣＭＳＷＢおよびＦ＿ＶＣＭＳＷＣの両方が、値１を持つ。ＥＣＵ１が３筒休止運転を目標としているとき、ＣＳＴＰの値は３である。該ＥＣＵ１の目標とする３筒休止運転が実際に行われていれば、休止用の油圧は、第１のバンクの気筒Ｃ１からＣ３に作用し、第２のバンクの気筒Ｃ４には作用しないので、油圧フラグＦ＿ＶＣＭＳＷＢは値１を持ち、油圧フラグＦ＿ＶＣＭＳＷＣはゼロとなる。
【００２８】
表１に示すような関係が維持されない状態が起こり得る。たとえば、可変気筒数を実現する機構の構成部品（休止機構、油路、オイルポンプ等を含む）に何らかの故障が発生すると、ＥＣＵ１は、所定の故障診断プロセスにより、該故障を判定することができる。しかしながら、このような故障が生じてから、該故障を判定する前は、表１の関係が維持されないおそれがある。たとえば、ＣＳＴＰ＝３であるとき、ＥＣＵ１は、３気筒休止運転を目標としているにかかわらず、何らかの故障によって実際には４気筒が休止されている、という事象が起こり得る。この場合、ＣＳＴＰ＝３に対し、油圧フラグＦ＿ＶＣＭＳＷＢおよびＦ＿ＶＣＭＳＷＣの両方が値１を持ち、表１の関係は維持されない。ＥＣＵ１が該故障を判定して認識する前は、制御値ＣＳＴＰの値と、油圧フラグＦ＿ＶＣＭＳＷＢおよびＦ＿ＶＣＭＳＷＣの値との間で、このような不一致が生じうる。
【００２９】
このような不一致が生じた場合、以下のような問題が生じうる。すなわち、ＥＣＵ１は、３筒休止運転を目標としているので、稼働気筒数が３という前提の基に、ＡＦＭの検出値に基づいて各気筒への吸入空気量を算出する。しかしながら、実際の稼働気筒数は４であるので、上記算出された吸入空気量は誤差を含むこととなる。したがって、この発明は、このような誤差が生じるのを抑制する。
【００３０】
判定部５３は、制御値ＣＳＴＰの値と、油圧フラグＦ＿ＶＣＭＳＷＢおよびＦ＿ＶＣＭＳＷＣの値の組み合わせが、表１に従っているかどうか、すなわち目標としている休止気筒数と実際の休止気筒数が一致しているかどうかを判断する。
【００３１】
リミッタ５６は、判定部５３によって、目標としている休止気筒数と実際の休止気筒数が一致しているならば、第１の吸気量算出部５４によって算出された第１の吸入空気量ＧＡＩＲＣＹＬＮＴを、その後に使用すべき吸入空気量ＧＡＩＲＣＹＬＮとして出力する。ここで、第１の吸気量算出部５４は、ＡＦＭ８（図１）の検出値に基づいて吸入空気量ＧＡＩＲＣＹＬＮＴを算出する。より具体的には、以下の式（１）にしたがって、吸入空気量ＧＡＩＲＣＹＬＮＴが算出される。
【数１】
0004814165.tif 000003
【００３２】
ここで、吸入空気量ＧＡＩＲＣＹＬＮＴは、０．１ｍｇの単位で算出される。ＧＡＩＲＡＶＥは、ＡＦＭ８の検出値を所定の時間間隔（たとえば、クランク角センサの６ＣＲＫパルスの期間）で移動平均した値を示し、（１０ｍｇ／秒）の単位で計算される。ＮＥは、エンジン回転数（ｒｐｍ）を示す。ＮＣＹＬＣＳは、ＥＣＵ１が目標としている休止気筒数を示し、これは、制御値ＣＳＴＰに従っている。ＮＣＦＣＹＬは、全気筒数を示し、この実施例では６である。右辺の第１項中の“６０００”は、単位を換算するための値であり、１００（０．１ｍｇ／１０ｍｇ）×６０（秒／分）から得ている。ＮＣＧＣＹＬを２で除算しているのは、クランク軸の２回転のうちの１回転において吸気が行われるからである。
【００３３】
こうして、上記式により算出される第１の吸入空気量ＧＡＩＲＣＹＬＮＴは、稼動している１つの気筒あたりの吸入空気量を示す。
【００３４】
リミッタ５６は、判定部５３によって、目標としている休止気筒数と実際の休止気筒数が不一致と判断されたならば、第１の吸気量算出部５５によって算出された吸入空気量ＧＡＩＲＣＬＹＮＴを、第２の吸気量算出部５５によって算出された吸入空気量を用いて、制限（リミット）処理し、その結果を、吸入空気量ＧＡＩＲＣＹＬＮとして出力する。ここで、第２の吸気量算出部５５は、吸気通路の圧力を検出するＭＡＰセンサ１０（図１）の検出値に基づいて第２の吸入空気量ＧＡＩＲＰＢを算出する。
【００３５】
より具体的には、第２の吸入空気量ＧＡＩＲＰＢ（ｋｇ）は、以下の気体状態方程式にしたがって算出されることができる。
ＰＶ＝ＧＡＩＲＰＢ×Ｒ×Ｔ      （２）
【００３６】
ここで、Ｐは、ＭＡＰセンサ１０により検出される圧力値（Ｐａ）を示す。Ｖは、サージタンク９（図１）の容積（ｍ３）を示す。Ｒは、いわゆる気体定数を示す。Ｔは、ＴＡセンサ１１により検出される吸気温度（Ｋ）を示す。第２の吸入空気量ＧＡＩＲＰＢは、負圧に基づいているので、１つの気筒あたりの吸入空気量を示している。
【００３７】
リミッタ５６は、ＧＡＩＲＰＢ×上限値係数を上限値とし、ＧＡＩＲＰＢ×下限値係数を下限値として、第１の吸入空気量ＧＡＩＲＣＹＬＮＴをリミット処理し、リミット処理済みの吸入空気量を、その後に使用すべき吸入空気量ＧＡＩＲＣＹＬＮとして出力する。
【００３８】
このリミット処理の技術的意義について説明するため、ここで図４を参照する。図４は、稼働気筒数を変更する制御を行う際の各種パラメータの挙動を示す。時間ｔ０〜ｔ１にわたって、ＥＣＵ１は、全筒運転を実行する。そのため、制御値ＣＳＴＰはゼロに設定される。また、油圧スイッチ２５ｂがオンにされていないので、油圧フラグＦ＿ＶＣＭＳＷＢはゼロに設定される。油圧フラグＦ＿ＶＣＭＳＷＣについては図示されていないが、油圧スイッチ２５ｃはオンにされず、よってゼロに設定される。
【００３９】
ＥＣＵ１は、ＡＦＭ８の検出値に基づいて、第１の吸入空気量ＧＡＩＲＣＹＬＮを算出する。ＣＳＴＰの値と、油圧フラグＦ＿ＶＣＭＳＷＢおよびＦ＿ＶＣＭＳＷＣの値との関係が、上記の表１に従っている。したがって、符号６０に示すように、第１の吸入空気量ＧＡＩＲＣＹＬＮＴを、その後の制御プロセスに用いるべき吸入空気量ＧＡＩＲＣＹＬＮとして出力する。
【００４０】
ＥＣＵ１の目標とする休止気筒数と実際の休止気筒数が一致しているので、該吸入空気量ＧＡＩＲＣＹＬＮは正しく算出されており、よって、該吸入空気量ＧＡＩＲＣＹＬＮに基づいて、所望の空燃比（この例では、理論空燃比とする）を維持するのに適切な燃料量が算出される。したがって、燃料量を補正するための空燃比補正係数ＫＡＦは、ほぼ理論空燃比を示す値に維持されている。
【００４１】
時間ｔ１において、ＥＣＵ１は、３筒休止運転を開始することを決定し、制御値ＣＳＴＰに値３を設定する。表１に示すように、制御値ＣＳＴＰが３であるとき、油圧フラグＦ＿ＶＣＭＳＷＢの値は１であるべきである。しかしながら、油圧印加状態検出部５２により設定されたフラグＦ＿ＶＣＭＳＷＢの値はゼロであり、これは、油圧スイッチ２５ｂがオンにされておらず、気筒Ｃ３が休止していないことを示す。すなわち、ＥＣＵ１が目標としている休止気筒数と実際の休止気筒数とが一致していない。
【００４２】
第１の吸気量算出部５４は、３気筒が休止していると考えているので、上記式（１）に従って、稼動気筒数が３個という前提で（すなわち、分母の“ＮＣＦＣＹＬ−ＮＣＹＬＣＳ”が３）、各気筒への吸入空気量ＧＡＩＲＣＹＬＮＴを算出する。これが、実線６１に示されている。なお、符号６１’が指す点線は、吸入空気量ＧＡＩＲＣＹＬＮＴをなました値（たとえば、吸入空気量ＧＡＩＲＣＹＬＮＴの今回値×Ｃ＋吸入空気量ＧＡＩＲＣＹＬＮＴの前回値×（１−Ｃ）、Ｃは所定の係数、によりなまし計算することができる）の推移を示しており、第１の吸気量算出部５４は、該なました吸入空気量ＧＡＩＲＣＹＬＮＴを出力するようにしてもよい。なますことにより、吸入空気量を緩やかに変化させてエンジンの運転状態が急変するのを回避することができる。以下のリミット処理は、点線６１’で示す吸入空気量ＧＡＩＲＣＹＬＮＴに対して実施されるが、当然ながら、該リミット処理を、符号６１で示す吸入空気量ＧＡＩＲＣＹＬＮＴに対して実施してもよい。
【００４３】
稼動気筒数が、実際には、たとえば４つであるとすると、式（１）の分母の（ＮＣＦＣＹＬ−ＮＣＹＬＣＳ）は４となるべきである。すなわち、符号６１および６１’で示す第１の吸入空気量ＧＡＩＲＣＹＬＮＴは、実際の各気筒への吸入空気量より多く算出されている。この第１の吸入空気量ＧＡＩＲＣＹＬＮＴに見合う燃料量が各気筒に供給されると、燃料量が多すぎて空燃比はリッチになる。空燃比補正係数ＫＡＦは、空燃比がリッチになると、点線６２に示すように、該空燃比をリーンに制御しようとして小さい値に向かう。一般に、補正係数ＫＡＦは、所定の上限値および下限値で規定される所定範囲内に収まるよう制御されるが、燃料量が多すぎて空燃比がリッチになると、補正係数ＫＡＦが下限値に張り付いた状態となりうる。
【００４４】
このような空燃比のずれは、目標としている稼動気筒数より実際の稼動気筒数が多い場合に、ＡＦＭ８に基づく第１の吸入空気量ＧＡＩＲＣＹＬＮＴが多すぎるように算出されているためである。したがって、これを、第２の吸入空気量ＧＡＩＲＰＢを中心とした所定範囲内に制限する。第２の吸入空気量ＧＡＩＲＰＢは、吸気通路の負圧の程度に従って算出されるので、実際に稼働している気筒あたりの吸入空気量を示す。
【００４５】
したがって、第２の吸入空気量ＧＡＩＲＰＢを中心とした所定範囲内になるよう第１の吸入空気量を制限すれば、１つの気筒当たりの吸入空気量を適切に得ることができる。図では、符号７１で示す実線が、第２の吸入空気量ＧＡＩＲＰＢの推移を示し、符号７２で示す点線が、該所定範囲の上限値ｇａｉｒｃｙｌｎｔｈの推移を示し、符号７３で示す点線が、該所定範囲の下限値ｇａｉｒｃｙｌｎｔｌを示す。このようなリミット処理により、結果として吸入空気量は、実線６４に示すように上限値７２によって制限され（点線７３と実線６４が重なって示されている）、これにより、燃料量は、符号６１または６１’に基づいて算出される場合よりも抑制される。実線６５に示すように、空燃比のリッチの程度が抑制され、空燃比補正係数ＫＡＦは、下限値に張り付くことなく推移する。
【００４６】
ここで、第２の吸入空気量ＧＡＩＲＰＢを中心とした、上限値ｇａｉｒｃｙｌｎｔｈおよび下限値ｇａｉｒｃｙｌｎｔｌにより規定される所定範囲の大きさは、空燃比補正係数ＫＡＦが、所定の上限値と下限値に張り付くことなく収まるように設定されるのが好ましい。
【００４７】
この図では、目標としている稼動気筒数より実際の稼動気筒数が多い場合を示しているが、目標としている稼動気筒数より実際の稼動気筒数が少ない場合には、ＡＦＭ８に基づく第１の吸入空気量ＧＡＩＲＣＹＬＮＴが少なすぎるように算出されることとなる。したがって、第１の吸入空気量ＧＡＩＲＣＹＬＮＴは、第２の吸入空気量ＧＡＩＲＰＢを中心とした下限値により制限されることとなろう。
【００４８】
図３に戻り、制御部５７は、リミッタ５６により出力された吸入空気量ＧＡＩＲＣＹＬＮを用いて、各種制御を行う。たとえば、各気筒について燃料噴射弁５を介して噴射される燃料量は、該吸入空気量ＧＡＩＲＣＹＬＮに基づいて算出される。このようにして、より適切な燃料量が算出され、よって、空燃比をより適切に維持することができる。また、吸入空気量ＧＡＩＲＣＹＬＮに基づいて、エンジンの出力トルクを算出したり、スロットル弁を制御するための制御量を算出したり、等の様々な制御を行うことができる。
【００４９】
前述したように、判定部５３によって上記不一致と判定される原因の一つは、たとえば稼働気筒数を変更する機構の構成要素についての何らかの故障であり、該故障をＥＣＵ１が認識する前にこのような不一致が判定されるおそれがある。本願発明によれば、このような不一致が生じても、各気筒への吸入空気量を、より適切に算出することができる。
【００５０】
このような故障がＥＣＵ１によって判定された後は、ＥＣＵ１が、実際の休止（稼働）気筒数を認識するので、制御値ＣＳＴＰの値と、油圧フラグＦ＿ＶＣＭＳＷＢおよびＦ＿ＶＣＭＳＷＣの値との関係は表１に準じたものとなり、第１の吸気量算出部５４によって算出された吸入空気量ＧＡＩＲＣＹＬＮＴを、その後の制御に用いることができる。
【００５１】
図５は、この発明の一実施例に従う、吸入空気量算出のプロセスを示すフローであり、所定の時間間隔で実行される。このプロセスは、ＥＣＵ１のＣＰＵにより実行され、より具体的には、図３の判定部５３、リミッタ５６、第１の吸気量算出部５４および第２の吸気量算出部５５により実行される。
【００５２】
ステップＳ１１において、前述した式（１）に従い、ＡＦＭ８の検出値に基づいて、第１の吸入空気量ＧＡＩＲＣＹＬＮＴを算出する。ステップＳ１２において、運転状態に応じて設定されている制御値ＣＳＴＰの値を調べる。制御値ＣＳＴＰ＝３の場合で、ステップＳ１３およびＳ１４において、油圧フラグＦ＿ＶＣＭＳＷＢおよびＦ＿ＶＣＭＳＷＣの値がいずれも１であるということは、表１に従っていない状態を示す。ＥＣＵ１は、３筒休止運転を命じているにもかかわらず、第２のバンクの気筒Ｃ４も休止しているからである。したがって、ステップＳ１５〜Ｓ１７を実行し、前述したように、式（２）に従って算出される第２の吸入空気量ＧＡＩＲＰＢに、所定の係数ＫＧＡＩＲＣＹＬＮＨを乗算することにより上限値gaircylnhを算出し、該第２の吸入空気量ＧＡＩＲＰＢに、所定の係数ＫＧＡＩＲＣＹＬＮＬを乗算することにより上限値gaircylnlを算出し、該上限値および下限値で、第１の吸入空気量ＧＡＩＲＣＹＬＮＴを制限する。
【００５３】
また、３筒休止運転を命じている状態で、ステップＳ１３の判断がＮｏである場合も、表１に従っていない状態を示すので、ステップＳ１５〜Ｓ１７を実行する。他方、３筒休止運転を命じている状態で、ステップＳ１３の判断がＹｅｓであり、ステップＳ１４の判断がＮｏの場合、表１に従っている状態を示す。この場合、リミット処理する必要はないので、ステップＳ２１において、第１の吸入空気量ＧＡＩＲＣＹＬＮＴを、その後に用いる吸入空気量ＧＡＩＲＣＹＬＮに設定する。
【００５４】
ステップＳ１８において、制御値ＣＳＴＰの値が２である場合、ＥＣＵ１が２筒休止運転を命じている状態を示す。この場合、ステップＳ１９およびＳ２０において、油圧フラグＦ＿ＶＣＭＳＷＢおよびＦ＿ＶＣＭＳＷＣのいずれかのみが１であるということは、表１に従っていない状態を示す。すなわち、ＥＣＵ１は、２気筒休止運転を命じているにもかかわらず、第１のバンクの気筒Ｃ３が休止していないか、もしくは第２のバンクの気筒Ｃ４が休止していないからである。したがって、ステップＳ１５〜Ｓ１７を実行してリミット処理を行う。
【００５５】
他方、２筒休止運転を命じている場合、ステップＳ１９およびＳ２０の両方の判断がＹｅｓである場合、表１に従っている状態を示す。この場合、リミット処理する必要はないので、ステップＳ２１において、第１の吸入空気量ＧＡＩＲＣＹＬＮＴを、その後に用いる吸入空気量ＧＡＩＲＣＹＬＮに設定する。
【００５６】
ステップＳ１８の判断がＮｏの場合、制御値ＣＳＴＰはゼロであり、全筒運転をＥＣＵ１が命じている状態を示す。ステップＳ２２およびＳ２３において、油圧フラグＦ＿ＶＣＭＳＷＢおよびＦ＿ＶＣＭＳＷＣのいずれかのみがゼロであるということは、表１に従っていない状態を示す。すなわち、ＥＣＵ１は、全筒運転を命じているにもかかわらず、第１のバンクの気筒Ｃ３が休止しているか、もしくは第２のバンクの気筒Ｃ４が休止しているからである。したがって、ステップＳ１５〜Ｓ１７を実行してリミット処理を行う。
【００５７】
他方、全筒運転を命じている場合、ステップＳ２２およびＳ２３の両方の判断がＮｏである場合、表１に従っている状態を示す。この場合、リミット処理する必要はないので、ステップＳ２１において、第１の吸入空気量ＧＡＩＲＣＹＬＮＴを、その後に用いる吸入空気量ＧＡＩＲＣＹＬＮに設定する。
【００５８】
以上の実施形態では、運転モードが３つある場合について説明したが、この発明は、このような形態に制限されず、運転モードは、全筒運転と、複数の気筒のうちの一部を休止する部分運転との２つのモードでもよいし、３より多くのモードでもよい。また、この発明は、６気筒のエンジンに制限されず、任意の数の気筒のエンジンに適用可能である。また、休止すべき気筒を、どのバンクのどの気筒にすべきかについても、この実施形態に制限されることなく、他の形態となるよう設計することができる。
【００５９】
上記実施形態は、汎用の（例えば、船外機等の）内燃機関に適用可能である。
【図面の簡単な説明】
【００６０】
【図１】この発明の一実施例に従う、内燃機関および制御装置を概略的に示す図。
【図２】この発明の一実施例に従う、運転モードの切換えを説明するための図。
【図３】この発明の一実施例に従う、制御装置のブロック図。
【図４】この発明の一実施例に従う、運転モードを切換えた時の吸入空気量のリミット処理を示す図。
【図５】この発明の一実施例に従う、吸入空気量の算出プロセスのフローを示す図。
【符号の説明】
【００６１】
１  ＥＣＵ
２  エンジン
３  吸気管
６  吸気通路
８  ＡＦＭ
１０  ＭＡＰセンサ
１１  ＴＡセンサ
２１  休止機構
２２  油路
２３  制御弁
【図１】
0004814165.tif 000004
【図２】
0004814165.tif 000005
【図３】
0004814165.tif 000006
【図４】
0004814165.tif 000007
【図５】
0004814165.tif 000008