(57)【要約】    【課題】  休筒運転を行うことによる休止気筒の点火プラグのカーボン付着を比較的簡便な手法で防止し、安定した燃焼を維持することができる内燃機関の制御装置を提供する。    【解決手段】  休筒運転を行うときに、気筒休止カウンタＣＣＳＰＬＵＧにより、気筒の作動休止時間の積算値に相当するカウント値が算出され、気筒休止カウンタＣＣＳＰＬＵＧの値が２気筒休止禁止閾値ＣＣＳ２ＰＬＵＧＨ以上であるときに２気筒休止運転が禁止され、３気筒休止禁止閾値ＣＣＳＰＬＵＧＨ以上であるときに２気筒休止運転及び３気筒休止運転が禁止される（Ｓ５１〜Ｓ５４）。さらに気筒休止カウンタＣＣＳＰＬＵＧのカウント値は、エンジン１が停止された後も保持され、次の運転開始時には保持したカウント値を初期値として気筒休止カウンタＣＣＳＰＬＵＧによる積算が行われる。【選択図】  図４
2011256774.tif 000002
【特許請求の範囲】
【請求項１】
複数気筒の一部の気筒の作動を休止させる気筒休止機構を備える内燃機関の制御装置において、
前記機関の運転状態に応じて前記複数気筒の全部を作動させる全筒運転と、前記一部の気筒の作動を休止させる休筒運転との切換制御を行う作動気筒数制御手段と、
前記一部の気筒の作動休止時間を示す休止時間パラメータを積算することにより積算休止時間パラメータを算出する休止時間パラメータ積算手段と、
前記積算休止時間パラメータが所定判定値以上であるときに、前記休筒運転を禁止する禁止手段とを備え、
前記休止時間パラメータ積算手段は、前記機関の運転が停止された後も前記積算休止時間パラメータを保持し、次に機関の運転が開始されたときは、保持した積算休止時間パラメータを初期値として前記積算を開始することを特徴とする内燃機関の制御装置。
【請求項２】
前記機関の点火プラグの温度の推定値である推定点火プラグ温度を算出する点火プラグ温度推定手段と、
前記推定点火プラグ温度が所定温度より高いときに前記積算休止時間パラメータを減算する休止時間パラメータ減算手段とを備えることを特徴とする請求項１に記載の内燃機関の制御装置。
【請求項３】
前記全筒運転から前記休筒運転への切換時に前記積算休止時間パラメータに所定値を加算する加算手段をさらに備えることを特徴とする請求項１または２に記載の内燃機関の制御装置。
【請求項４】
前記気筒休止機構は、休止させる気筒の数を第１所定数と該第１所定数より大きい第２所定数とに変更可能に構成され、前記作動気筒数制御手段は、前記第１所定数の気筒を休止させる第１休筒運転と、前記第２所定数の気筒を休止させる第２休筒運転と、前記全筒運転との切換制御を行い、
前記所定判定値は、第１所定判定値と、該第１所定判定値より大きい第２所定判定値とからなり、
前記禁止手段は、前記積算休止時間パラメータが前記第１所定判定値以上であるときに前記第１休筒運転を禁止し、前記積算休止時間パラメータが前記第２所定判定値以上であるときに前記第１及び第２休筒運転をともに禁止することを特徴とする請求項１から３の何れか１項に記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は複数気筒の一部の気筒の作動を休止させる気筒休止機構を備える内燃機関の制御装置に関する。
【背景技術】
【０００２】
気筒休止機構を備える内燃機関の一部気筒を休止させる休筒運転を行うと休止気筒の点火プラグが汚損し（主にカーボンの付着による汚損が発生する）、失火が発生し易くなるという課題がある。特許文献１には、この課題を解決するために点火プラグ汚損検出装置を設け、検出される点火プラグの汚損状態を示すパラメータが点火可能許容限界値に達したときに、休筒運転を禁止するようにした制御装置が示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特公平１−１９０５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に示される制御装置では、点火プラグ汚損検出装置が必要となるため、構成の複雑化やコスト上昇を招く。そのため、例えば休筒運転の継続時間が判定時間を超えたときに休筒運転を禁止する手法が考えられるが、そのような手法では、継続時間が短い休筒運転が頻繁に実行されるような場合に十分な汚損防止効果が得られない。
【０００５】
本発明はこの点に着目してなされたものであり、休筒運転を行うことによる休止気筒の点火プラグのカーボン付着を比較的簡便な手法で防止し、安定した燃焼を維持することができる内燃機関の制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため請求項１に記載の発明は、複数気筒の一部の気筒の作動を休止させる気筒休止機構（２０）を備える内燃機関の制御装置において、前記機関の運転状態に応じて前記複数気筒の全部を作動させる全筒運転と、前記一部の気筒の作動を休止させる休筒運転との切換制御を行う作動気筒数制御手段と、前記一部の気筒の作動休止時間を示す休止時間パラメータ（ＣＣＳＰＬＵＧＵＰＸ）を積算することにより積算休止時間パラメータ（ＣＣＳＰＬＵＧ）を算出する休止時間パラメータ積算手段と、前記積算休止時間パラメータ（ＣＣＳＰＬＵＧ）が所定判定値（ＣＣＳＰＬＵＧＨ，ＣＣＳ２ＰＬＵＧＨ）以上であるときに、前記休筒運転を禁止する禁止手段とを備え、前記休止時間パラメータ積算手段は、前記機関の運転が停止された後も前記積算休止時間パラメータ（ＣＣＳＰＬＵＧ）を保持し、次に機関の運転が開始されたときは、保持した積算休止時間パラメータを初期値として前記積算を開始することを特徴とする。
【０００７】
請求項２に記載の発明は、請求項１に記載の内燃機関の制御装置において、前記機関の点火プラグの温度の推定値である推定点火プラグ温度（ＴＣＳＰＬＵＧ）を算出する点火プラグ温度推定手段と、前記推定点火プラグ温度（ＴＣＳＰＬＵＧ）が所定温度（ＴＣＳＰＧ０）より高いときに前記積算休止時間パラメータ（ＣＣＳＰＬＵＧ）を減算する休止時間パラメータ減算手段とを備えることを特徴とする。
【０００８】
請求項３に記載の発明は、請求項１または２に記載の内燃機関の制御装置において、前記全筒運転から前記休筒運転への切換時に前記積算休止時間パラメータ（ＣＣＳＰＬＵＧ）に所定値（ＤＣＳＰＬＵＧＣＨ）を加算する加算手段をさらに備えることを特徴とする。
【０００９】
請求項４に記載の発明は、請求項１から３の何れか１項に記載の内燃機関の制御装置において、前記気筒休止機構（２０）は、休止させる気筒の数を第１所定数と該第１所定数より大きい第２所定数とに変更可能に構成され、前記作動気筒数制御手段は、前記第１所定数の気筒を休止させる第１休筒運転（２気筒休止運転）と、前記第２所定数の気筒を休止させる第２休筒運転（３気筒休止運転）と、前記全筒運転との切換制御を行い、前記所定判定値は、第１所定判定値（ＣＣＳ２ＰＬＵＧＨ）と、該第１所定判定値より大きい第２所定判定値（ＣＣＳＰＬＵＧＨ）とからなり、前記禁止手段は、前記積算休止時間パラメータ（ＣＣＳＰＬＵＧ）が前記第１所定判定値（ＣＣＳ２ＰＬＵＧＨ）以上であるときに前記第１休筒運転を禁止し、前記積算休止時間パラメータ（ＣＣＳＰＬＵＧ）が前記第２所定判定値（ＣＣＳＰＬＵＧＨ）以上であるときに前記第１及び第２休筒運転をともに禁止することを特徴とする。
【発明の効果】
【００１０】
請求項１に記載の発明によれば、一部気筒の作動休止時間を示す休止時間パラメータを積算することにより積算休止時間パラメータが算出され、積算休止時間パラメータが所定判定値以上であるときに、休筒運転が禁止される。さらに積算休止時間パラメータは、機関の運転が停止された後も保持され、次に機関の運転が開始されたときは、保持した積算休止時間パラメータを初期値として積算が開始される。点火プラグのカーボン付着状態は、休筒運転実行時間の積算値に依存することが確認されているので、機関の運転停止期間においても積算休止時間パラメータを保持しつつ、休止時間パラメータを積算することにより、簡便な構成でカーボン付着を確実に防止し、すべての気筒において安定した燃焼を維持することができる。
【００１１】
請求項２に記載の発明によれば、推定点火プラグ温度が算出され、推定点火プラグ温度が所定温度より高いときに積算休止時間パラメータが減算される。点火プラグの温度が所定温度より高いときに付着したカーボンが燃焼により除去されるので、積算休止時間パラメータを減算することにより、積算休止時間パラメータによってカーボン付着状態をより正確に推定することができる。
【００１２】
請求項３に記載の発明によれば、全筒運転から休筒運転への切換時に積算休止時間パラメータに所定値が加算される。全筒運転から休筒運転への切換回数が多くなるほどカーボンの付着量が増加する傾向があることが確認されているので、切換時に所定値を積算休止時間パラメータに加算することにより、積算休止時間パラメータに切換回数の影響を反映させ、より正確なカーボン付着状態の推定が可能となる。
【００１３】
請求項４に記載の発明によれば、第１所定数の気筒を休止させる第１休筒運転と、第２所定数の気筒を休止させる第２休筒運転と、全筒運転との切換制御が行われ、積算休止時間が第１所定判定値以上であるときに第１休筒運転が禁止され、積算休止時間パラメータが第２所定判定値以上であるときに第１及び第２休筒運転をともに禁止される。積算休止時間パラメータが増加し、第１所定判定値を越えたときは、まず休止気筒数の少ない第１休筒運転のみを禁止することにより、比較的高負荷運転におけるカーボンの燃焼効果を得るとともに、低負荷運転時における第２休筒運転による燃費向上効果を得ることができる。さらに積算休止時間パラメータが増加し、第２所定判定値を超えたときは第１及び第２休筒運転をともに禁止することにより、付着したカーボンを確実に除去することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態にかかる内燃機関及びその制御装置の構成を示す図である。
【図２】３気筒休止運転の実行条件を判定する処理のフローチャートである。
【図３】２気筒休止運転の実行条件を判定する処理のフローチャートである。
【図４】気筒休止運転を禁止する条件を判定処理のフローチャートである。
【図５】気筒休止運転を禁止する条件を判定処理のフローチャートである。
【図６】図４または図５の処理で参照されるテーブルを示す図である。
【図７】点火プラグの温度を推定する処理のフローチャートである。
【図８】点火プラグの温度を推定する処理のフローチャートである。
【図９】図７または図８の処理で参照されるマップを示す図である。
【図１０】図８の処理で参照されるテーブルを示す図である。
【図１１】図４及び図５の処理を説明するためのタイムチャートである。
【発明を実施するための形態】
【００１５】
以下本発明の実施の形態を図面を参照して説明する。
図１は本発明の一実施形態にかかる内燃機関及びその制御装置の構成を示す図である。６気筒の内燃機関（以下単に「エンジン」という）１は、吸気管２を有し、吸気管２の途中にはスロットル弁３が配されている。スロットル弁３には、スロットル弁３の開度ＴＨを検出するスロットル弁開度センサ４が設けられており、その検出信号が電子制御ユニット（以下「ＥＣＵ」という）５に供給される。スロットル弁３には、スロットル弁３を駆動するアクチュエータ１１が接続されており、アクチュエータ１１は、ＥＣＵ５によりその作動が制御される。
【００１６】
燃料噴射弁６は図示しない吸気弁の少し上流側に各気筒毎に設けられており、各噴射弁はＥＣＵ５からの信号により燃料噴射弁６の開弁時間及び開弁時期が制御される。エンジン１の各気筒には点火プラグ１２が設けられており、点火プラグ１２にはＥＣＵ５から点火信号が供給される。
【００１７】
スロットル弁３の直ぐ下流には吸気圧ＰＢＡを検出する吸気圧センサ７が設けられており、吸気圧センサ７の下流には吸気温ＴＡを検出する吸気温センサ８が取付けられている。またエンジン１の本体には、エンジン１の冷却水温ＴＷを検出する冷却水温センサ９が取り付けられている。これらのセンサ７〜９の検出信号は、ＥＣＵ５に供給される。
【００１８】
ＥＣＵ５には、エンジン１のクランク軸（図示せず）の回転角度を検出するクランク角度位置センサ１０が接続されており、クランク軸の回転角度に応じた信号がＥＣＵ５に供給される。クランク角度位置センサ１０は、エンジン１の特定の気筒の所定クランク角度位置でパルス（以下「ＣＹＬパルス」という）を出力する気筒判別センサ、各気筒の吸入行程開始時の上死点（ＴＤＣ）に関し所定クランク角度前のクランク角度位置で（６気筒エンジンではクランク角１２０度毎に）ＴＤＣパルスを出力するＴＤＣセンサ及びＴＤＣパルスより短い一定クランク角周期（例えば６度周期）でＣＲＫパルスを発生するＣＲＫセンサから成り、ＣＹＬパルス、ＴＤＣパルス及びＣＲＫパルスがＥＣＵ５に供給される。これらの信号パルスは、燃料噴射時期、点火時期等の各種タイミング制御及びエンジン回転数（エンジン回転速度）ＮＥの検出に使用される。
【００１９】
ＥＣＵ５には、エンジン１により駆動される車両のアクセルペダルの踏み込み量（以下「アクセルペダル操作量」という）ＡＰを検出するアクセルセンサ１７、及び当該車両の車速ＶＰを検出する車速センサ１８が接続されており、これらのセンサの検出信号がＥＣＵ５に供給される。
【００２０】
エンジン１は、複数気筒の一部の気筒の吸気弁及び排気弁の作動を停止することにより当該気筒の作動を休止させる気筒休止機構２０を備えている。本実施形態では、気筒休止機構２０は、６気筒のうちの３気筒の作動を休止させる３気筒休止運転と、２気筒の作動を休止させる２気筒休止運転とを実行できるように構成されている。気筒休止機構２０は、ＥＣＵ５に接続されている。ＥＣＵ５は、気筒休止機構２０に切換制御信号を供給し、車速ＶＰ及びエンジン１の運転状態に応じて全気筒を作動させる全筒運転、２気筒休止運転、及び３気筒休止運転の切換制御（作動気筒数切換制御）を行う。
【００２１】
なお、図示は省略しているが、エンジン１は、排気の一部を吸気管２に還流する排気還流機構を備えており、ＥＣＵ５は、排気還流制御弁を駆動し、排気還流量の制御を行う。
【００２２】
ＥＣＵ５は、各種センサからの入力信号波形を整形し、電圧レベルを所定レベルに修正し、アナログ信号値をデジタル信号値に変換する等の機能を有する入力回路、中央演算処理回路（以下「ＣＰＵ」という）、ＣＰＵで実行される各種演算プログラム及び演算結果等を記憶する記憶回路、前記燃料噴射弁６に駆動信号を供給する出力回路等から構成される。ＥＣＵ５は、上述したセンサの検出信号に基づいて、燃料噴射弁６の開弁時間の制御、点火プラグ１２の点火時期制御、作動気筒数の切換制御を行うとともに、アクセルペダル操作量ＡＰに応じてスロットル弁３の目標開度ＴＨＣＭＤを算出し、検出したスロットル弁開度ＴＨが目標開度ＴＨＣＭＤに一致するようにアクチュエータ１１の駆動制御を行う。
【００２３】
本実施形態では、３気筒休止運転においては＃１〜＃３気筒の作動を休止させ、２気筒休止運転においては＃３及び＃４気筒の作動を休止させる制御が行われる。したがって、＃３気筒はいずれの気筒休止運転においても作動が休止されるため、気筒休止に起因する点火プラグのカーボン付着が最も発生し易い。そこで、本実施形態では、＃３気筒においてカーボン付着を確実に防止できるように、以下に説明するような作動気筒切換制御を行うようにしている。なお、本実施形態は、休止気筒においても常に点火プラグ１２への通電が行われる。
【００２４】
図２は、３気筒休止運転の実行条件を判定する処理のフローチャートである。この処理はＥＣＵ５にＣＰＵで所定時間（例えば１０ｍｓｅｃ）毎に実行される。後述する図３〜図５，図７，及び図８の処理も同様である。
【００２５】
ステップＳ１１では、気筒休止前提条件フラグＦＣＳＣＮＤが「１」であるか否かを判別する。気筒休止前提条件フラグＦＣＳＣＮＤは、気筒休止運転（２気筒休止運転または３気筒休止運転）を許可するための前提条件である所定気筒休止前提条件が成立するとき「１」に設定される。所定気筒休止前提条件は、以下の条件が満たされるとき成立する：１）冷却水温ＴＷが所定水温以上であること、２）フェールセーフ動作中でないこと、３）空燃比フィードバック制御が正常に実行されていること、４）エンジン回転数ＮＥが所定回転数以下であること、５）燃料タンクにおける蒸発燃料の発生量が少ないこと、６）スロットル弁がほぼ全開となる所定高負荷運転状態でないこと、７）潤滑油上がりによる気筒休止禁止要求がないこと、８）急ブレーキ判定がなされていないこと、９）所定の故障診断処理による気筒休止禁止要求がないこと、及び１０）自動変速機制御用の制御ユニットからの気筒休止禁止要求がないこと。
【００２６】
ステップＳ１１の答が肯定（ＹＥＳ）であるときは、３気筒休止油圧条件フラグＦＣＳＰＯＩＬＣＮＤ３が「１」であるか否かを判別する（ステップＳ１２）。３気筒休止油圧条件フラグＦＣＳＰＯＩＬＣＮＤ３は、３気筒休止運転を許可するための所定油圧条件（気筒休止機構２０の作動油圧についての条件）が成立するとき「１」に設定される。所定油圧条件は、気筒休止運転を行うために使用されるスプール弁の作動に必要な油圧が確保されているとき成立する。
【００２７】
ステップＳ１２の答が肯定（ＹＥＳ）であるときは、３気筒休止要求トルクフラグＦＣＳＴＲＱＭＡＸ３が「１」であるか否かを判別する（ステップＳ１３）。３気筒休止要求トルクフラグＦＣＳＴＲＱＭＡＸ３は、エンジン１の要求トルクＴＲＱが３気筒休止運転におけるエンジン１の最大出力トルクＴＲＱＭＡＸ３を超えたとき「１」に設定される。要求トルクＴＲＱは、アクセルペダル操作量ＡＰにほぼ比例するように設定される。
【００２８】
ステップＳ１３の答が否定（ＮＯ）であるときは、３気筒休止触媒温度条件フラグＦＣＳＣＡＴＣＮＤ３が「１」であるか否かを判別する（ステップＳ１４）。３気筒休止触媒温度条件フラグＦＣＳＣＡＴＣＮＤ３は、排気系に設けられる排気浄化触媒の温度が３気筒休止運転を許可するための所定温度条件を満たすとき「１」に設定される。所定温度条件は、排気浄化触媒の温度が活性温度以上であり、かつ触媒保護上限温度以下であるとき成立する。
【００２９】
ステップＳ１４の答が肯定（ＹＥＳ）であるときは、３気筒休止ＮＶ条件フラグＦＣＳＣＮＤＮＶ３が「１」であるか否かを判別する（ステップＳ１５）。３気筒休止ＮＶ条件フラグＦＣＳＣＮＤＮＶ３は、３気筒休止運転を許可するための所定３気筒休止ＮＶ条件が成立するとき「１」に設定される。所定３気筒休止ＮＶ条件は、３気筒休止運転の実行中に発生する音及び振動が、許容できるレベルであるとき成立する。ステップＳ１５の答が肯定（ＹＥＳ）であるときは、３気筒休止禁止フラグＦＣＳＰＬＵＧＣＭＤが「１」であるか否かを判別する（ステップＳ１６）。３気筒休止禁止フラグＦＣＳＰＬＵＧＣＭＤは、図４及び図５の処理において点火プラグの汚損防止のために３気筒休止運転を禁止するとき「１」に設定される。
【００３０】
ステップＳ１６の答が否定（ＮＯ）であるときは、３気筒休止ＣＣ禁止フラグＦＣＣＫ３が「１」であるか否かを判別する（ステップＳ１７）。３気筒休止ＣＣ禁止フラグＦＣＣＫ３は、クルーズコントロール中に３気筒休止運転を禁止する必要があるとき「１」に設定される。
【００３１】
ステップＳ１７の答が否定（ＮＯ）であるときは、３気筒休止運転の実行条件が成立していると判定し、３気筒休止運転許可フラグＦＣＳＣＮＤ３を「１」に設定する（ステップＳ１８）。一方、ステップＳ１１，Ｓ１２，Ｓ１４，またはＳ１５の答が否定（ＮＯ）、あるいはステップＳ１３，Ｓ１６，またはＳ１７の答が肯定（ＹＥＳ）であるときは、３気筒休止運転の実行条件が不成立と判定し、３気筒休止運転許可フラグＦＣＳＣＮＤ３を「０」に設定する（ステップＳ１９）。
【００３２】
図３は、２気筒休止運転の実行条件を判定する処理のフローチャートである。
ステップＳ２１では、気筒休止前提条件フラグＦＣＳＣＮＤが「１」であるか否かを判別する。ステップＳ２１の答が肯定（ＹＥＳ）であるときは、２気筒休止油圧条件フラグＦＣＳＰＯＩＬＣＮＤ２が「１」であるか否かを判別する（ステップＳ２２）。２気筒休止油圧条件フラグＦＣＳＰＯＩＬＣＮＤ２は、２気筒休止運転を許可するための所定油圧条件が成立するとき「１」に設定される。
【００３３】
ステップＳ２２の答が肯定（ＹＥＳ）であるときは、２気筒休止要求トルクフラグＦＣＳＴＲＱＭＡＸ２が「１」であるか否かを判別する（ステップＳ２３）。２気筒休止要求トルクフラグＦＣＳＴＲＱＭＡＸ２は、エンジン１の要求トルクＴＲＱが２気筒休止運転におけるエンジン１の最大出力トルクＴＲＱＭＡＸ２を超えたとき「１」に設定される。ステップＳ２３の答が否定（ＮＯ）であるときは、２気筒休止触媒温度条件フラグＦＣＳＣＡＴＣＮＤ２が「１」であるか否かを判別する（ステップＳ２４）。２気筒休止触媒温度条件フラグＦＣＳＣＡＴＣＮＤ２は、排気浄化触媒の温度が２気筒休止運転を許可するための所定温度条件を満たすとき「１」に設定される。
【００３４】
ステップＳ２４の答が肯定（ＹＥＳ）であるときは、２気筒休止ＮＶ条件フラグＦＣＳＣＮＤＮＶ２が「１」であるか否かを判別する（ステップＳ２５）。２気筒休止ＮＶ条件フラグＦＣＳＣＮＤＮＶ２は、２気筒休止運転を許可するための所定２気筒休止ＮＶ条件が成立するとき「１」に設定される。所定２気筒休止ＮＶ条件は、２気筒休止運転の実行中に発生する音及び振動が、許容できるレベルであるとき成立する。ステップＳ２５の答が肯定（ＹＥＳ）であるときは、３気筒休止禁止フラグＦＣＳＰＬＵＧＣＭＤが「１」であるか否かを判別する（ステップＳ２６）。この答が否定（ＮＯ）であるときは、さらに２気筒休止禁止フラグＦＣＳ２ＰＬＵＧＣＭＤが「１」であるか否かを判別する（ステップＳ２７）。２気筒休止禁止フラグＦＣＳ２ＰＬＵＧＣＭＤは、図４及び図５の処理において点火プラグの汚損防止のために２気筒休止運転を禁止するとき「１」に設定される。
【００３５】
ステップＳ２７の答が否定（ＮＯ）であるときは、２気筒休止ＣＣ禁止フラグＦＣＣＫ２が「１」であるか否かを判別する（ステップＳ２８）。２気筒休止ＣＣ禁止フラグＦＣＣＫ２は、クルーズコントロール中に２気筒休止運転を禁止する必要があるとき「１」に設定される。
【００３６】
ステップＳ２８の答が否定（ＮＯ）であるときは、２気筒休止運転の実行条件が成立していると判定し、２気筒休止運転許可フラグＦＣＳＣＮＤ２を「１」に設定する（ステップＳ２９）。一方、ステップＳ２１，Ｓ２２，Ｓ２４，またはＳ２５の答が否定（ＮＯ）、あるいはステップＳ２３，Ｓ２６，Ｓ２７，またはＳ２８の答が肯定（ＹＥＳ）であるときは、２気筒休止運転の実行条件が不成立と判定し、２気筒休止運転許可フラグＦＣＳＣＮＤ２を「０」に設定する（ステップＳ３０）。
【００３７】
図４及び図５は、３気筒休止禁止フラグＦＣＳＰＬＵＧＣＭＤ及び２気筒休止禁止フラグＦＣＳ２ＰＬＵＧＣＭＤの設定を行う処理のフローチャートである。
【００３８】
ステップＳ４１では、気筒休止運転インデクスの前回値ＣＳＴＰＰＬＧ１０ＭＺを、今回値ＣＳＴＰＰＬＧ１０Ｍに設定し、ステップＳ４２では、気筒休止運転インデクスＣＳＴＰＰＬＧ１０Ｍ（今回値）を気筒作動状態変数ＣＳＴＰに設定する。気筒作動状態変数ＣＳＴＰは、全筒運転中は「０」に設定され、２気筒休止運転中は「２」に設定され、３気筒休止運転中は「３」に設定されるパラメータである。
【００３９】
ステップＳ４３では、図７及び図８に示すプラグ温度推定処理を実行し、点火プラグ１２（本実施形態では＃３気筒の点火プラグ）の推定温度である推定プラグ温度ＴＣＳＰＬＵＧを算出する。
【００４０】
ステップＳ４４では、気筒休止運転インデクスＣＳＴＰＰＬＧ１０Ｍが「０」であるか否かを判別し、その答が否定（ＮＯ）、すなわち気筒休止運転中（３気筒休止運転または２気筒休止運転の実行中）であるときは、エンジン回転数ＮＥに応じて図６（ａ）に示すＣＣＳＰＬＵＧＵＰＸテーブルを検索し、カウントアップ基本値ＣＣＳＰＬＵＧＵＰＸを算出する（ステップＳ４５）。ＣＣＳＰＬＵＧＵＰＸテーブルは、エンジン回転数ＮＥが所定回転数ＮＥ１に達するまでは、エンジン回転数ＮＥが増加するほどカウントアップ基本値ＣＣＳＰＬＵＧＵＰＸが増加するように設定されている。
【００４１】
ステップＳ４６では、気筒休止運転インデクスの前回値ＣＳＴＰＰＬＧ１０ＭＺが「０」であるか否かを判別する。この答が肯定（ＹＥＳ）、すなわち全筒運転から気筒休止運転に移行した直後であるときは、カウントアップ補正項ＣＣＳＰＬＵＧＣＨを気筒休止開始補正値ＤＣＳＰＬＵＧＣＨ（例えば５秒の相当する値）に設定し（ステップＳ４７）、ステップＳ４９に進む。ステップＳ４６の答が否定（ＮＯ）であって、前回から気筒休止運転を実行しているときは、カウントアップ補正項ＣＣＳＰＬＵＧＣＨを「０」に設定し（ステップＳ４８）、ステップＳ４９に進む。
【００４２】
ステップＳ４９では、カウントアップ基本値ＣＣＳＰＬＵＧＵＰＸ及びカウントアップ補正項ＣＣＳＰＬＵＧＣＨを下記式（１）に適用し、カウントアップ数ＣＣＳＰＬＵＧＵＰを算出する。
ＣＣＳＰＬＵＧＵＰ＝ＣＣＰＬＵＧＵＰＸ＋ＣＣＳＰＬＵＧＣＨ            （１）
【００４３】
ステップＳ５０では、下記式（２）により、気筒休止カウンタＣＣＳＰＬＵＧをカウントアップ数ＣＣＳＰＬＵＧＵＰだけインクリメントする。式（２）の右辺のＣＣＳＰＬＵＧは前回値である。気筒休止カウンタＣＣＳＰＬＵＧのカウント値は、不揮発メモリに格納され、エンジン１の停止中において保持される。したがって、エンジン１の作動開始直後においてはエンジン１の前回運転時の最終値が、式（２）の右辺に適用される。
ＣＣＳＰＬＵＧ＝ＣＣＳＰＬＵＧ＋ＣＣＳＰＬＵＧＵＰ                    （２）
【００４４】
ステップＳ５１では、気筒休止カウンタＣＣＳＰＬＵＧの値が３気筒休止禁止閾値ＣＣＳＰＬＵＧＨ以上であるか否かを判別し、その答が肯定（ＹＥＳ）であるときは、３気筒休止禁止フラグＦＣＳＰＬＵＧＣＭＤを「１」に設定する（ステップＳ５２）。ステップＳ５１の答が否定（ＮＯ）であるときは、直ちにステップＳ５３に進む。
【００４５】
ステップＳ５３では、気筒休止カウンタＣＣＳＰＬＵＧの値が２気筒休止禁止閾値ＣＣＳ２ＰＬＵＧＨ以上であるか否かを判別する。２気筒休止禁止閾値ＣＣＳ２ＰＬＵＧＨは、３気筒休止禁止閾値ＣＣＳＰＬＵＧＨより小さい値に設定される。ステップＳ５３の答が肯定（ＹＥＳ）であるときは、２気筒休止禁止フラグＦＣＳ２ＰＬＵＧＣＭＤを「１」に設定する（ステップＳ５４）。ステップＳ５３の答が否定（ＮＯ）であるときは、直ちに処理を終了する。
【００４６】
ステップＳ４４の答が肯定（ＹＥＳ）、すなわち全筒運転中であるときは、ステップＳ６１（図５）に進み、燃料カットフラグＦＦＣが「１」であるか否かを判別する。その答が肯定（ＹＥＳ）であって燃料カット運転中であるときは直ちに処理を終了する。燃料カットフラグＦＦＣが「０」であって、燃料供給が行われる通常運転中であるときは、エンジン回転数ＮＥに応じて図６（ｂ）に示すＣＣＳＰＬＵＧＤＷＸテーブルを検索し、カウントダウン基本値ＣＣＳＰＬＵＧＤＷＸを算出する（ステップＳ６２）。ＣＣＳＰＬＵＧＤＷＸテーブルは、エンジン回転数ＮＥが所定回転数ＮＥ１に達するまでは、エンジン回転数ＮＥが増加するほどカウントダウン基本値ＣＣＳＰＬＵＧＤＷＸが増加するように設定されている。
【００４７】
ステップＳ６３では、ステップＳ４３で算出される推定プラグ温度ＴＣＳＰＬＵＧに応じて図６（ｃ）に示すＫＤＣＣＳＰＬＵＧＴＸテーブルを検索し、プラグ温度補正係数ＫＤＣＣＳＰＬＵＧＴＸを算出する。ＫＤＣＣＳＰＬＵＧＴＸテーブルは、推定プラグ温度ＴＣＳＰＬＵＧが第１所定温度ＴＣＳＰＧ０（例えば４００℃）以下の範囲では、プラグ温度補正係数ＫＤＣＣＳＰＬＵＧＴＸが「０」に設定され、第１所定温度ＴＣＳＰＧ０から第２所定温度ＴＣＳＰＧ１（例えば６００℃）の範囲では、推定プラグ温度ＴＣＳＰＬＵＧが高くなるほど、プラグ温度補正係数ＫＤＣＣＳＰＬＵＧＴＸが増加するように設定されている。
【００４８】
ステップＳ６４では、カウントダウン基本値ＣＣＳＰＬＵＧＤＷＸ及びプラグ温度補正係数ＫＤＣＣＳＰＬＵＧＴＸを下記式（３）に適用し、カウントダウン数ＣＣＳＰＬＵＧＤＷを算出する。
ＣＣＳＰＬＵＧＤＷ＝ＣＣＰＬＵＧＤＷＸ×ＫＤＣＣＳＰＬＵＧＴＸ        （３）
【００４９】
ステップＳ６５では、下記式（４）により、気筒休止カウンタＣＣＳＰＬＵＧをカウントダウン数ＣＣＳＰＬＵＧＤＷだけデクリメントする。
ＣＣＳＰＬＵＧ＝ＣＣＳＰＬＵＧ−ＣＣＳＰＬＵＧＤＷ                    （４）
【００５０】
ステップＳ６６では、気筒休止カウンタＣＣＳＰＬＵＧの値が３気筒休止許可閾値ＣＣＳＰＬＵＧＬより大きいか否かを判別し、その答が否定（ＮＯ）であるときは、３気筒休止禁止フラグＦＣＳＰＬＵＧＣＭＤを「０」に設定する（ステップＳ６７）。ステップＳ６６の答が肯定（ＹＥＳ）であるときは、直ちにステップＳ６８に進む。３気筒休止許可閾値ＣＣＳＰＬＵＧＬは、３気筒休止禁止閾値ＣＣＳＰＬＵＧＨより小さな値に設定される。
【００５１】
ステップＳ６８では、気筒休止カウンタＣＣＳＰＬＵＧの値が２気筒休止許可閾値ＣＣＳ２ＰＬＵＧＬより大きいか否かを判別する。ステップＳ６８の答が否定（ＮＯ）であるときは、２気筒休止禁止フラグＦＣＳ２ＰＬＵＧＣＭＤを「０」に設定する（ステップＳ６９）。ステップＳ６８の答が肯定（ＹＥＳ）であるときは、直ちに処理を終了する。２気筒休止許可閾値ＣＣＳ２ＰＬＵＧＬは、２気筒休止禁止閾値ＣＣＳ２ＰＬＵＧＨより小さな値に設定され、３気筒休止許可閾値ＣＣＳＰＬＵＧＬ以下の値に設定される。
【００５２】
図７及び図８は、図４のステップＳ４３で実行されるプラグ温度推定処理のフローチャートである。
ステップＳ７１では、初期化フラグＦＴＣＳＰＬＧＩＮＩが「１」であるか否かを判別する。エンジン始動直後はこの答は否定（ＮＯ）であるので、初期化フラグＦＴＣＳＰＬＧＩＮＩを「１」に設定する（ステップＳ７３）とともに、推定プラグ温度ＴＣＳＰＬＵＧをエンジン冷却水温ＴＷに設定する（ステップＳ７４）。ステップＳ７３を実行することにより、ステップＳ７１の答は肯定（ＹＥＳ）となり、ステップＳ７２に進んで、始動モードフラグＦＳＴＭＯＤが「１」であるか否かを判別する。始動モードフラグＦＳＴＭＯＤが「１」であってエンジン１のクランキング中であるときは、前記ステップＳ７４に進む。
【００５３】
ステップＳ７２の答が否定（ＮＯ）であるときは、気筒休止運転インデクスＣＳＴＰＰＬＧ１０Ｍが「０」であるか否かを判別する（ステップＳ７５）。この答が否定（ＮＯ）であって気筒休止運転中であるときは、後述するステップＳ９７で使用されるなまし係数ＣＴＣＳＰＬＵＧを所定の休筒運転係数値ＣＴＣＳＰＬＵＧＷＣＳ（例えば０．０００１）に設定する（ステップＳ７７）。次いで、基本推定温度ＴＣＳＰＬＧＭをエンジン冷却水温ＴＷに設定し（ステップＳ７９）、ステップＳ９７に進む。基本推定温度ＴＣＳＰＬＧＭは、後述するステップＳ９１で算出される推定プラグ温度の基本値である。
【００５４】
ステップＳ７５の答が肯定（ＹＥＳ）、すなわち全筒運転中であるときは、燃料カットフラグＦＦＣが「１」であるか否かを判別する（ステップＳ７６）。この答が肯定（ＹＥＳ）であるときは、なまし係数ＣＴＣＳＰＬＵＧを所定の燃料カット運転係数値ＣＴＣＳＰＬＵＧＷＦＣ（例えば０．０００５）に設定し（ステップＳ７８）、前記ステップＳ７９に進む。
【００５５】
ステップＳ７６の答が否定（ＮＯ）であって通常運転中であるときは、エンジン回転数ＮＥ及び吸気圧ＰＢＡに応じて図９（ａ）に示すＴＣＳＰＬＧＭＸマップを検索し、基本プラグ温度ＴＣＳＰＬＧＭＸを算出する（ステップＳ８０）。
【００５６】
図９（ａ）に示す３つの曲線Ｌ１〜Ｌ３は、それぞれ所定吸気圧ＰＢＡ１，ＰＢＡ２，及びＰＢＡ３に対応し、所定吸気圧ＰＢＡ１，ＰＢＡ２，及びＰＢＡ３は、ＰＢＡ１＜ＰＢＡ２＜ＰＢＡ３なる関係を満たす。すなわち、ＴＣＳＰＬＧＭＸマップは、エンジン回転数ＮＥが増加するほど基本プラグ温度ＴＣＳＰＬＧＭＸが高くなり、かつ吸気圧ＰＢＡが増加するほど基本プラグ温度ＴＣＳＰＬＧＭＸが高くなるように設定されている。
【００５７】
ステップＳ８１では、下記式（５）により、点火時期のノック補正項ＤＩＧＣＲＫＰＬＧを算出する。式（５）のＤＩＧＲＳＶは、基本点火時期ＩＧＢＡＳＥ（エンジン回転数ＮＥ及び吸気圧ＰＢＡに応じて設定され、出力トルクが最大となる最適点火時期）のノック余裕度、ＤＩＧＫＲはノッキングを防止するための基本リタード量であり、ＫＩＧＫＮＴＰＬＧは基本プラグ温度ＴＣＳＰＬＧＭＸにおける基準リタード係数である。式（５）に適用されるパラメータは、点火時期制御処理（図示せず）で算出される。
ＤＩＧＣＲＫＰＬＧ＝ＤＩＧＲＳＶ−ＤＩＧＫＲ×ＫＩＧＫＮＴＰＬＧ      （５）
【００５８】
ステップＳ８２では、ノック補正項ＤＩＧＣＲＫＰＬＧが「０」を越えないようにするリミット処理を行う。
【００５９】
ステップＳ８３では、基本点火時期ＩＧＢＡＳＥ及びノック補正項ＤＩＧＣＲＫＰＬＧを下記式（６）に適用し、ノック補正点火時期ＩＧＣＲＫＰＬＧを算出する。
ＩＧＣＲＫＰＬＧ＝ＩＧＢＡＳＥ＋ＤＩＧＣＲＫＰＬＧ                    （６）
【００６０】
ステップＳ８４では、ノック補正点火時期ＩＧＣＲＫＰＬＧが点火時期ＩＧＬＯＧ（点火プラグの実点火時期）より大きい（進角側）か否かを判別する。この答が否定（ＮＯ）であるときは、リタード量ＤＩＧＴＰＬＧを「０」に設定する（ステップＳ８５）。ノック補正点火時期ＩＧＣＲＫＰＬＧが点火時期ＩＧＬＯＧより大きいときは、下記式（７）により、リタード量ＤＩＧＴＰＬＧを算出する（ステップＳ８６）。
ＤＩＧＴＰＬＧ＝ＩＧＣＲＫＰＬＧ−ＩＧＬＯＧ                          （７）
【００６１】
ステップＳ８７では、エンジン回転数ＮＥ及びリタード量ＤＩＧＴＰＬＧに応じて図９（ｂ）に示すＤＴＣＳＩＧＰＬＧＨマップを検索し、高負荷補正量ＤＴＣＳＩＧＰＬＧＨを算出する。高負荷補正量ＤＴＣＳＩＧＰＬＧＨは、スロットル弁がほぼ全開となる高負荷運転状態（吸気圧ＰＢＡが所定高吸気圧ＰＢＤＰＬＧＩＧＨと等しい状態，図１０（ａ）参照）に対応する補正量である。図９（ｂ）に示す４つのラインＬ１１〜Ｌ１４は、それぞれ所定回転数ＮＥ１１，ＮＥ１２，ＮＥ１３，及びＮＥ１４に対応し、所定回転数ＮＥ１１，ＮＥ１２，ＮＥ１３，及びＮＥ１４は、ＮＥ１１＜ＮＥ１２＜ＮＥ１３＜ＮＥ１４なる関係を満たす。すなわち、ＤＴＣＳＩＧＰＬＧＨマップは、リタード量ＤＩＧＴＰＬＧが増加するほど高負荷補正量ＤＴＣＳＩＧＰＬＧＨが増加し、かつエンジン回転数ＮＥが増加するほど、リタード量ＤＩＧＴＰＬＧの増加に対する変化率（傾き）が増加するように設定されている。なお、リタード量ＤＩＧＴＰＬＧが「０」であるときは、エンジン回転数ＮＥに関わらず高負荷補正量ＤＴＣＳＩＧＰＬＧＨは「０」に設定される。
【００６２】
ステップＳ８８では、エンジン回転数ＮＥ及びリタード量ＤＩＧＴＰＬＧに応じてＤＴＣＳＩＧＰＬＧＬマップ（図示せず）を検索し、低負荷補正量ＤＴＣＳＩＧＰＬＧＬを算出する。低負荷補正量ＤＴＣＳＩＧＰＬＧＬは、所定負荷運転状態（吸気圧ＰＢＡが所定低吸気圧ＰＢＤＰＬＧＩＧＬと等しい状態，図１０（ａ）参照）に対応する補正量である。ＤＴＣＳＩＧＰＬＧＬマップも、ＤＴＣＳＩＧＰＬＧＨマップと同様に、リタード量ＤＩＧＴＰＬＧが増加するほど低負荷補正量ＤＴＣＳＩＧＰＬＧＬが増加し、かつエンジン回転数ＮＥが増加するほどリタード量ＤＩＧＴＰＬＧの増加に対する変化率（傾き）が増加するように設定されている。
【００６３】
ステップＳ８９では、図１０（ａ）に示すように高負荷補正量ＤＴＣＳＩＧＰＬＧＨ及び低負荷補正量ＤＴＣＳＩＧＰＬＧＬを用いて、吸気圧ＰＢＡに応じた補間演算を行うことにより、点火時期補正量ＤＴＣＳＩＧＰＬＧＸを算出する。
ステップＳ９０では、燃料噴射時間の補正係数である高負荷燃料増量係数ＫＷＯＴに応じて図１０（ｂ）に示すＤＴＣＳＰＬＧＷＯＴＸテーブルを検索し、高負荷運転補正量ＤＴＣＳＰＬＧＷＯＴＸを算出する。ＤＴＣＳＰＬＧＷＯＴＸテーブルは、高負荷燃料増量係数ＫＷＯＴが増加するほど高負荷運転補正量ＤＴＣＳＰＬＧＷＯＴＸが増加するように設定されている。
【００６４】
ステップＳ９１では、基本プラグ温度ＴＣＳＰＬＧＭＸ、点火時期補正量ＤＴＣＳＩＧＰＬＧＸ、及び高負荷運転補正量ＤＴＣＳＰＬＧＷＯＴＸを、下記式（８）に適用し、基本推定温度ＴＣＳＰＬＧＭを算出する。式（８）のＤＴＣＳＰＬＧＥＧＲは、排気還流を行うことによる影響を補正するための所定ＥＧＲ補正量であり、（１−ＫＥＧＲＢ１）は、排気還流率（気筒吸入ガス中の還流排気の比率）に相当するパラメータであり、燃料噴射制御処理（図示せず）で算出される。
ＴＣＳＰＬＧＭ＝ＴＣＳＰＬＧＭＸ−ＤＴＣＳＩＧＰＬＧＸ
−ＤＴＣＳＰＬＧＥＧＲ×（１−ＫＥＧＲＢ１）−ＤＴＣＳＰＬＧＷＯＴＸ  （８）
【００６５】
ステップＳ９２では、基本推定温度ＴＣＳＰＬＧＭが推定プラグ温度ＴＣＳＰＬＵＧ（前回値）以上であるか否かを判別する。この答が否定（ＮＯ）であるときは、エンジン回転数ＮＥに応じて図１０（ｃ）に示すＣＴＣＳＰＬＵＧＷＬテーブルを検索して、プラグ温度低下時の（なまし）係数値ＣＴＣＳＰＬＵＧＷＬを算出し（ステップＳ９３）、なまし係数値ＣＴＣＳＰＬＵＧを係数値ＣＴＣＳＰＬＵＧＷＬに設定する（ステップＳ９４）。ＣＴＣＳＰＬＵＧＷＬテーブルは、エンジン回転数ＮＥが所定回転数ＮＥ２１より低い範囲で、エンジン回転数ＮＥが増加するほど係数値ＣＴＣＳＰＬＵＧＷＬが増加するように設定されている。
【００６６】
ステップＳ９２の答が肯定（ＹＥＳ）であるときは、エンジン回転数ＮＥに応じて図１０（ｃ）に示すＣＴＣＳＰＬＵＧＷＨテーブルを検索して、プラグ温度上昇時の（なまし）係数値ＣＴＣＳＰＬＵＧＷＨを算出し（ステップＳ９５）、なまし係数値ＣＴＣＳＰＬＵＧを係数値ＣＴＣＳＰＬＵＧＷＨに設定する（ステップＳ９６）。ＣＴＣＳＰＬＵＧＷＨテーブルは、エンジン回転数ＮＥが所定回転数ＮＥ２１より低い範囲で、エンジン回転数ＮＥが増加するほど係数値ＣＴＣＳＰＬＵＧＷＨが増加するように設定されている。
【００６７】
ステップＳ９７では、基本推定温度ＴＣＳＰＬＧＭ及びなまし係数ＣＴＣＳＰＬＵＧを下記式（９）に適用し、なまし演算を行って推定プラグ温度ＴＣＳＰＬＵＧを算出する。式（９）の右辺のＴＣＳＰＬＵＧは前回算出値である。なお、ステップＳ７９を経由してステップＳ９７に至る場合には、基本推定温度ＴＣＳＰＬＧＭが算出（更新）されないので、最新の算出値が式（９）に適用される。
ＴＣＳＰＬＵＧ＝ＣＴＣＳＰＬＵＧ×ＴＣＳＰＬＧＭ
＋（１−ＣＴＣＳＰＬＵＧ）×ＴＣＳＰＬＵＧ        （９）
【００６８】
図７及び図８の処理によれば、エンジン回転数ＮＥ、吸気圧ＰＢＡ、冷却水温ＴＷ、点火時期ＩＧＬＯＧ、排気還流率（１−ＫＥＧＲＢ１）、及び高負荷燃料増量係数ＫＷＯＴに応じて推定プラグ温度ＴＣＳＰＬＵＧが算出されるので、比較的簡単な演算によって正確な推定プラグ温度を得ることができる。
【００６９】
図１１は、図４及び図５の処理を説明するためのタイムチャートであり、車速ＶＰ、休止気筒数、気筒休止カウンタＣＣＳＰＬＵＧのカウント値、推定プラグ温度ＴＣＳＰＬＵＧ、２気筒休止禁止フラグＦＣＳ２ＰＬＵＧＣＭＤ、及び３気筒休止禁止フラグＦＣＳＰＬＵＧＣＭＤの推移を示す。図１１（ａ）に示す領域Ｒ２及びＲ３は、それぞれ３気筒休止運転の実行条件が成立する車速領域、及び２気筒休止運転の実行条件が成立する車速領域を示す。図１１（ｂ）において「３」及び「２」が記載されて期間がそれぞれ３気筒休止運転の実行期間、及び２気筒休止運転の実行期間に相当し、数字が記載されていない期間が全筒運転の実行期間に相当する。また同図に破線で示す期間は、図４及び図５の処理による気筒休止禁止を行わない場合には、気筒休止運転が行われた期間を示す。
【００７０】
図１１（ｃ）に示すようにこの動作例では、３気筒休止許可閾値ＣＣＳＰＬＵＧＬは、２気筒休止許可閾値ＣＣＳ２ＰＬＵＧＬと同一値に設定されている。
時刻ｔ１〜ｔ２の期間において、３気筒休止運転が実行され、時刻ｔ３〜ｔ４の期間において２気筒休止運転が実行される。したがって、気筒休止カウンタＣＣＳＰＬＵＧがカウントアップされる。時刻ｔ５において推定プラグ温度ＴＣＳＰＬＵＧが第１所定温度ＴＣＳＰＧ０を超えるので、気筒休止カウンタＣＣＳＰＬＵＧがカウントダウンが開始される。時刻ｔ６から３気筒休止運転が開始され、時刻ｔ７において気筒休止カウンタＣＣＳＰＬＵＧの値が２気筒休止禁止閾値ＣＣＳ２ＰＬＵＧＨに達するので、２気筒休止禁止フラグＦＣＳ２ＰＬＵＧＣＭＤが「１」に設定される。３気筒休止運転は、禁止されないので時刻ｔ８まで継続される。時刻ｔ９において２気筒休止運転が実行可能となるが、２気筒休止運転は禁止されているため、実行されない。
【００７１】
時刻ｔ１０からｔ１２の期間では、気筒休止カウンタＣＣＳＰＬＵＧのカウントダウンが行われ、時刻ｔ１１において気筒休止カウンタＣＣＳＰＬＵＧの値が２気筒休止許可閾値ＣＣＳ２ＰＬＵＧＬに達するため、２気筒休止禁止フラグＦＣＳ２ＰＬＵＧＣＭＤが「０」に戻される。
【００７２】
時刻ｔ１３から３気筒休止運転が開始され、時刻ｔ１４において気筒休止カウンタＣＣＳＰＬＵＧの値が２気筒休止禁止閾値ＣＣＳ２ＰＬＵＧＨを超えるので、２気筒休止禁止フラグＦＣＳ２ＰＬＵＧＣＭＤが「１」に設定される。時刻ｔ１５において気筒休止カウンタＣＣＳＰＬＵＧの値が３気筒休止禁止閾値ＣＣＳＰＬＵＧＨに達し、３気筒休止禁止フラグＦＣＳＰＬＵＧＣＭＤが「１」に設定される。そのため、３気筒休止運転は時刻ｔ１５に終了する。
【００７３】
時刻ｔ１６から気筒休止カウンタＣＣＳＰＬＵＧのカウントダウンが開始され、時刻ｔ１７にカウント値が３気筒休止許可閾値ＣＣＳＰＬＵＧＬ（＝２気筒休止許可閾値ＣＣＳ２ＰＬＵＧＬ）に達するため、２気筒休止禁止フラグＦＣＳ２ＰＬＵＧＣＭＤ及び３気筒休止禁止フラグＦＣＳＰＬＵＧＣＭＤがともに「０」に戻され、同時に３気筒休止運転が開始される。
【００７４】
以上詳述したように本実施形態によれば、気筒休止カウンタＣＣＳＰＬＵＧにより、気筒の作動休止時間の積算値に相当するカウント値が算出され、気筒休止カウンタＣＣＳＰＬＵＧの値が２気筒休止禁止閾値ＣＣＳ２ＰＬＵＧＨ以上であるときに２気筒休止運転が禁止され、３気筒休止禁止閾値ＣＣＳＰＬＵＧＨ以上であるときに２気筒休止運転及び３気筒休止運転が禁止される。さらに気筒休止カウンタＣＣＳＰＬＵＧのカウント値は、エンジン１が停止された後も保持され、次の運転開始時には保持したカウント値を初期値として気筒休止カウンタＣＣＳＰＬＵＧによる積算が行われる。点火プラグのカーボン付着は、休筒運転実行時間の積算値に依存することが確認されているので、エンジン運転停止期間においても積算休止時間に相当するカウント値を保持しつつ、気筒休止カウンタＣＣＳＰＬＵＧによる積算を行うことにより、簡便な構成でカーボン付着を確実に防止し、すべての気筒において安定した燃焼を維持することができる。
【００７５】
またエンジン運転状態に応じて推定プラグ温度ＴＣＳＰＬＵＧが算出され、推定プラグ温度ＴＣＳＰＬＵＧが第１所定温度ＴＣＳＰＧ０より高いときにプラグ温度補正係数ＫＤＣＣＳＰＬＵＧＴＸが「０」より大きい値に設定され（図６（ｃ））、気筒休止カウンタＣＣＳＰＬＵＧのカウントダウンが行われる。点火プラグの温度が第１所定温度ＴＣＳＰＧ０より高いときに付着したカーボンが燃焼により除去されるので、気筒休止カウンタＣＣＳＰＬＵＧのカウントダウンを行うことにより、気筒休止カウンタＣＣＳＰＬＵＧの値によってカーボン付着状態をより正確に推定することができる。さらにカウントダウン数ＣＣＳＰＬＵＧＤＷは、推定プラグ温度ＴＣＳＰＬＵＧが高くなるほど増加するように設定されるので（図６（ｃ））、推定プラグ温度ＴＣＳＰＬＵＧの影響をより適切に反映させることができる。
【００７６】
また全筒運転から休筒運転への切換時に、気筒休止開始補正値ＤＣＳＰＬＵＧＣＨが気筒休止カウンタＣＣＳＰＬＵＧの値に加算される。全筒運転から休筒運転への切換回数が多くなるほどカーボンの付着量が増加する傾向があることが確認されているので、切換時に気筒休止開始補正値ＤＣＳＰＬＵＧＣＨを気筒休止カウンタＣＣＳＰＬＵＧのカウント値に加算することにより、気筒休止カウンタＣＣＳＰＬＵＧの値に切換回数の影響を反映させ、より正確なカーボン付着状態の推定が可能となる。
【００７７】
また２気筒休止運転、３気筒休止運転、及び全筒運転の切換制御が行われ、気筒休止カウンタＣＣＳＰＬＵＧの値が、２気筒休止禁止閾値ＣＣＳ２ＰＬＵＧＨを超えたときに２気筒休止運転が禁止され、気筒休止カウンタＣＣＳＰＬＵＧの値が、３気筒休止禁止閾値ＣＣＳＰＬＵＧＨを超えたときに３気筒休止運転が禁止される。気筒休止カウンタＣＣＳＰＬＵＧの値が増加し、２気筒休止禁止閾値ＣＣＳ２ＰＬＵＧＨを超えたときは、まず休止気筒数の２気筒休止運転のみを禁止することにより、比較的高負荷運転におけるカーボンの燃焼効果を得るとともに、低負荷運転時における３気筒休止運転による燃費向上効果を得ることができる。さらに２気筒休止禁止閾値ＣＣＳ２ＰＬＵＧＨの値が増加し、３気筒休止禁止閾値ＣＣＳＰＬＵＧＨを超えたときは２気筒休止運連及び３気筒休止運転をともに禁止することにより、付着したカーボンを確実に除去することができる。
【００７８】
本実施形態では、ＥＣＵ５が作動気筒数制御手段、休止時間パラメータ積算手段、休止時間パラメータ減算手段、禁止手段、点火プラグ温度推定手段、及び加算手段を構成する。具体的には、図２及び図３の処理が作動気筒数制御手段に相当し、図４のステップＳ４４，４５，及びＳ５０が休止時間パラメータ積算手段に相当し、図５のステップＳ６１〜Ｓ６５が休止時間パラメータ減算手段に相当し、図４のステップＳ５１〜Ｓ５４が禁止手段に相当し、図７及び図８の処理が点火プラグ温度推定手段に相当し、図４のステップＳ４６〜Ｓ４９が加算手段に相当する。
【００７９】
なお本発明は上述した実施形態に限るものではなく、種々の変形が可能である。上述した実施形態では、休止気筒数の異なる２つの休筒運転を行う例を示したが、例えば休筒運転としては３気筒休止運転のみを行う内燃機関の制御装置にも本発明は適用可能である。また、本発明は、６気筒内燃機関の制御装置に限るものでなく、複数気筒の一部の気筒の作動を停止させることが可能な内燃機関の制御装置に適用可能である。
【００８０】
また上述した気筒休止機構は、吸気弁及び排気弁の作動を停止させるものであるが、気筒休止機構は、吸気弁の作動のみ停止させるものであってもよい。
【００８１】
また本発明は、クランク軸を鉛直方向とした船外機などのような船舶推進機用エンジンであって、作動気筒数が切換可能なもの制御装置にも適用が可能である。
【符号の説明】
【００８２】
１  内燃機関
５  電子制御ユニット（作動気筒数制御手段、休止時間パラメータ積算手段、休止時間パラメータ減算手段、禁止手段、点火プラグ温度推定手段、加算手段）
７  吸気圧センサ
９  冷却水温センサ
１０  クランク角度位置センサ
１２  点火プラグ
１７  アクセルセンサ
１８  車速センサ
【図１】
2011256774.tif 000003
【図２】
2011256774.tif 000004
【図３】
2011256774.tif 000005
【図４】
2011256774.tif 000006
【図５】
2011256774.tif 000007
【図６】
2011256774.tif 000008
【図７】
2011256774.tif 000009
【図８】
2011256774.tif 000010
【図９】
2011256774.tif 000011
【図１０】
2011256774.tif 000012
【図１１】
2011256774.tif 000013