(57)【特許請求の範囲】
【請求項１】
排気通路に排ガス浄化のための触媒を備えた内燃機関の制御装置であって、
所定の二次空気供給条件が成立したとき前記排気通路の前記触媒よりも上流側位置に二次空気としての空気を供給することにより前記機関の燃焼室から排出されたガスを同排気通路内において燃焼させて前記触媒の暖機を促進するとともに同二次空気供給条件が不成立となったとき同二次空気の供給を停止する二次空気供給手段と、
前記二次空気が供給されている状態から前記二次空気の供給が停止されている状態へと変化する二次空気供給停止時及び前記二次空気の供給が停止されている状態から前記二次空気が供給されている状態へと変化する二次空気供給開始時のうちの少なくとも一方の二次空気供給状態の切換え時を含む所定期間である切換過渡期間において、前記二次空気供給状態の切換えに伴って生じる前記燃焼室内での混合気の燃焼状態の変化による前記機関の発生トルクの変化の幅を減少させるように前記機関の制御量を制御するトルク変動抑制手段と、
を備え、
前記トルク変動抑制手段は、
前記二次空気供給停止時を開始時点とし前記二次空気供給停止時から所定期間だけ後の時点を終了時点とする前記切換過渡期間としての供給停止後過渡期間において、前記二次空気の供給停止に起因する前記機関の発生トルクの減少変化幅を小さくために前記機関の発生トルクが増大するように前記機関の制御量であって前記二次空気以外の制御量を変化させるように構成された制御装置において、
前記トルク変動抑制手段は、
前記供給停止後過渡期間において、前記機関の吸気通路を通して前記機関の燃焼室に吸入される空気の量である前記機関の制御量としての吸入空気量及び同燃焼室に供給される燃料の量である前記機関の制御量としての供給燃料量を、前記供給停止後過渡期間の開始直前における吸入空気量及び供給燃料量よりもそれぞれ増大させる混合気量増大手段である制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、排気通路に排ガス浄化のための触媒（排気浄化触媒）を備えた内燃機関の制御装置であって、前記排気通路の前記触媒よりも上流側位置に二次空気としての空気を供給する二次空気供給手段を備える内燃機関の制御装置に関する。
【背景技術】
【０００２】
従来から、内燃機関の排気通路に配設された触媒の温度が速やかに活性温度に到達するように、機関の始動後等において排気通路の触媒上流側位置に二次空気としての空気（新気）を供給する二次空気供給装置が知られている。この装置によれば、排気通路内に空気が供給されるので、燃焼室から排出された未燃成分が排気通路内において燃焼（後燃え）する。触媒は、この燃焼に伴って発生する熱により加熱される。従って、触媒の温度が速やかに上昇する。
【０００３】
このような従来の二次空気供給装置の一つは、排気通路に排出された未燃成分が確実に燃焼するように、排気弁の開弁タイミングを通常時（「二次空気供給による触媒の暖機」を促進していないとき）の開弁タイミングよりも早める。排気弁の開弁タイミングが早くなると燃焼室から排出されるガスの温度が高くなる。従って、未燃成分が排気通路内においてより確実に燃焼する（特許文献１を参照。）。
【０００４】
更に、特許文献１は、排気通路に排出された未燃成分が確実に燃焼するように、吸気弁及び排気弁が共に開弁しているバルブオーバーラップ期間を通常時のバルブオーバーラップ期間よりも長くすることを開示している。特許文献１には、「バルブオーバーラップ期間が長くなると内部ＥＧＲ量が増加するので、燃焼室内における混合気の燃焼速度が低下する。従って、筒内温度のピークを遅らせることができる。その結果、燃焼室から排出されるガス温度が高くなるので、未燃成分が排気通路内において一層確実に燃焼する。」との記載がある。
【特許文献１】特開２００１−２６３０５０号公報（段落００３０、００３１、図５）
【発明の開示】
【０００５】
ところで、発明者は、二次空気が供給されている状態において二次空気の供給を停止すると、内燃機関が発生するトルク（以下、単に「機関の発生トルク、又は、機関のトルク」とも称呼する。）が急激に低下し、機関の運転状態が不安定になる場合があることを見い出した。特に、この機関のトルクの急激な低下がアイドル運転中に発生すると、機関回転速度が比較的大きく低下してしまうという問題に繋がる。更に、発明者は、二次空気の供給が例えば機関の負荷が大きくなることにより一旦停止され、その状態において機関の負荷が小さくなって二次空気が再び供給されると、機関のトルクが急激に上昇し、その結果、機関の振動が大きくなる等の問題が生じることを見い出した。
【０００６】
換言すると、発明者は、二次空気を供給している際の機関の発生トルクは、二次空気供給停止中の機関の発生トルクよりも大きくなっていることを見い出した。この理由は定かではないが、次のように推定される。
（推定理由１）
二次空気が供給されることにより「後燃え」が発生すると、排気弁及び排気通路を構成している部材も加熱される。従って、排気弁の温度が上昇するので、圧縮端温度（圧縮上死点における燃焼室内の混合気の温度）が上昇する。その結果、特に機関冷間時において、混合気の燃焼状態が良好となる。
（推定理由２）
バルブオーバーラップ期間中に二次空気が燃焼室内に流入する場合がある。二次空気が燃焼室内に流入すると、特に機関冷間時において、燃焼室内にて燃焼することができる燃料の量が増大する。
【０００７】
本発明は上述した二次空気の供給状態を切り換える際の課題に対処するために為されたものである。即ち、本発明の目的の一つは、二次空気の供給状態を切り換える際の「機関の発生トルクの変化幅（変化量）」を低減することが可能な内燃機関の制御装置を提供することにある。
【０００８】
具体的に述べると、本発明による内燃機関の制御装置は、排気通路に排ガス浄化のための触媒を備えた内燃機関に適用される。この制御装置は、二次空気供給手段と、トルク変動抑制手段と、を備える。
【０００９】
前記二次空気供給手段は、所定の二次空気供給条件が成立したとき前記排気通路の前記触媒よりも上流側位置に二次空気としての空気を供給することにより前記機関の燃焼室から排出されたガスを同排気通路内において燃焼させて前記触媒の暖機を促進するようになっている。更に、前記二次空気供給手段は、前記二次空気供給条件が不成立となったとき二次空気の供給を停止するようになっている。
【００１０】
この場合、二次空気が供給される「前記排気通路の前記触媒よりも上流側位置」は、機関の排気通路の端部（上流側端部）を構成する排気ポート内の位置であることが望ましい。
【００１１】
前記トルク変動抑制手段は、二次空気供給状態の切換え時を含む所定期間である切換過渡期間において、二次空気供給状態の切換えに伴って生じる「燃焼室内での混合気の燃焼状態の変化に起因する前記機関の発生トルクの変化」の幅（トルク変化量）を減少させるように前記機関の制御量を制御するようになっている。
【００１２】
ここで、「二次空気供給状態の切換え時」は、「二次空気が供給されている状態から二次空気の供給が停止されている状態へと変化する二次空気供給停止時」及び「二次空気の供給が停止されている状態から二次空気が供給されている状態へと変化する二次空気供給開始時」のうちの少なくとも一方を含む。
【００１３】
従って、前記切換過渡期間は、少なくとも以下の第１期間乃至第４期間の何れかの期間を含んでいる。
（第１期間）二次空気供給停止時を開始時点とし、二次空気供給停止時から所定期間だけ後の時点を終了時点とする期間（供給停止後過渡期間）、
（第２期間）二次空気供給停止時から所定期間だけ前の時点を開始時点とし、二次空気供給停止時を終了時点とする期間（供給停止前過渡期間）、
（第３期間）二次空気供給開始時を開始時点とし、二次空気供給開始時から所定期間だけ後の時点を終了時点とする期間（供給開始後過渡期間）、及び、
（第４期間）二次空気供給開始時から所定期間だけ前の時点を開始時点とし、二次空気供給開始時を終了時点とする期間（供給開始前過渡期間）。
【００１４】
この制御装置によれば、前記トルク変動抑制手段が、二次空気供給状態の切換えに伴って生じる機関の発生トルクの変化の幅（即ち、二次空気供給中の混合気の燃焼状態と二次空気供給停止中の混合気の燃焼状態との相違により発生する機関のトルク変化の量）を減少させるように「機関の制御量」を制御（変更）する。従って、二次空気供給状態の切換えに伴う機関のトルク変化の幅を低減することができるので、二次空気供給状態を切り換える際の機関の運転状態を安定化することができる。
【００１５】
本発明による内燃機関の制御装置の一態様において、
前記トルク変動抑制手段は、
前記二次空気供給停止時を開始時点とし前記二次空気供給停止時から所定期間だけ後の時点を終了時点とする「前記切換過渡期間としての供給停止後過渡期間」において、前記二次空気の供給停止に起因する前記機関の発生トルクの減少変化幅（減少量、減少幅）を小さくために前記機関の発生トルクが増大するように「前記機関の制御量であって前記二次空気以外の制御量」を変化させるように構成される。
【００１６】
前記機関の制御量であって前記二次空気以外の制御量は、点火時期、機関に供給される混合気の空燃比（以下、「機関の空燃比」とも称呼する。）、吸気弁及び排気弁が共に開弁している期間であるバルブオーバーラップ期間、及び、機関に供給される混合気量等を含む。
【００１７】
前述したように、二次空気の供給を停止すると、機関の発生トルクが低下する。これに対し、上記態様のトルク変動抑制手段を備えれば、供給停止後過渡期間において二次空気の供給停止に伴う機関の発生トルクの減少変化幅（低下量）が小さくなるように「機関の発生トルクが増大」させられる。その結果、二次空気の供給を停止する際の機関の運転状態を安定化することができる。
【００１８】
更に、本制御装置の具体的態様の一つは、
前記二次空気が供給されている状態において、前記機関の点火時期を、前記機関に最大トルクを発生させる点火時期のうちの最小の進角値を有する点火時期である最適点火時期（ＭＢＴ）よりも遅角側の点火時期に設定する点火時期遅角手段を備え、
前記トルク変動抑制手段は、
前記供給停止後過渡期間において、前記機関の制御量としての前記機関の点火時期を、前記点火時期遅角手段によって設定される点火時期に代え、前記供給停止後過渡期間の開始直前における点火時期よりも進角させるように構成された供給停止後点火時期進角手段であることが好適である。
【００１９】
この態様によれば、上記点火時期遅角手段により点火時期が遅角される。その結果、排気温度が上昇するので、触媒の温度を早期に上昇させる（触媒の暖機を促進する）ことができる。このような状態において、二次空気の供給が停止されたとき、上記供給停止後点火時期進角手段は点火時期を進角させるので、点火時期が最適点火時期へと近づく。従って、二次空気の供給停止に伴う機関の発生トルクの減少変化幅（低下量）が小さくなるように、機関の発生トルクが増大させられる。その結果、二次空気の供給を停止する際の機関の運転状態を安定化することができる。
【００２０】
更に、本制御装置の別の具体的態様において、
前記トルク変動抑制手段は、
前記供給停止後過渡期間において、「前記機関の吸気通路を通して前記機関の燃焼室に吸入される空気の量である前記機関の制御量としての吸入空気量」及び「同燃焼室に供給される燃料の量である前記機関の制御量としての供給燃料量」を、「前記供給停止後過渡期間の開始直前における吸入空気量」及び「同供給停止後過渡期間の開始直前における供給燃料量」よりもそれぞれ増大させる混合気量増大手段であることが好適である。
【００２１】
これによれば、二次空気の供給が停止されたとき、燃焼室に供給される混合気量が増大せしめられる。従って、より多くの燃料が燃焼室内において燃焼するから、二次空気の供給停止に伴う機関の発生トルクの減少変化幅（低下量）が小さくなるように、機関の発生トルクが増大させられる。その結果、二次空気の供給を停止する際の機関の運転状態を安定化することができる。
【００２２】
本発明による内燃機関の制御装置の別の態様において、
前記トルク変動抑制手段は、
前記二次空気供給停止時から所定期間だけ前の時点を開始時点とし前記二次空気供給停止時を終了時点とする「前記切換過渡期間としての供給停止前過渡期間」において、「前記二次空気供給停止時の前記機関の発生トルクの変化の幅」が「前記供給停止前過渡期間の開始直前にて二次空気の供給を停止したと仮定した場合に生じる前記機関の発生トルクの変化の幅」よりも小さい「所定の閾値トルク変化幅」以下となるように、前記機関の制御量を変化させることが好ましい。
【００２３】
発明者による実験及び検討によれば、二次空気供給停止に起因する機関の発生トルクの変化の幅は、二次空気供給停止時の機関運転状態（例えば、点火時期、機関の空燃比及びバルブオーバーラップ期間等）により変動することが判明した。従って、上記構成のように、供給停止前過渡期間において、「前記二次空気供給停止時の前記機関の発生トルクの変化の幅」が「前記供給停止前過渡期間の開始直前にて二次空気の供給を停止したと仮定した場合に生じる前記機関の発生トルクの変化の幅」よりも小さい「所定の閾値トルク変化幅」以下となるように、前記機関の制御量を制御することにより、二次空気の供給を実際に停止する際の機関の発生トルクの減少変化幅（低下量）を小さくすることができる。その結果、二次空気の供給を停止する際の機関の運転状態を安定化することができる。
【００２４】
この装置の具体的態様の一つは、
前記二次空気が供給されている状態において、前記機関の点火時期を、前記機関に最大トルクを発生させる点火時期のうちの最小の進角値を有する点火時期である最適点火時期（ＭＢＴ）よりも遅角側の点火時期に設定する点火時期遅角手段を備え、
前記トルク変動抑制手段は、
前記供給停止前過渡期間において、前記点火時期遅角手段によって設定される点火時期に代え、「前記機関の制御量としての前記機関の点火時期」を「同供給停止前過渡期間の開始直前における点火時期」から徐々に進角させることにより、「前記二次空気供給停止時における点火時期」を「前記最適点火時期から所定量だけ遅角した閾値遅角点火時期」よりも進角側の点火時期に設定するように構成された供給停止前点火時期進角手段であることが好適である。
【００２５】
より詳細には、供給停止前点火時期進角手段は、「前記二次空気供給停止時における点火時期」を「前記最適点火時期から所定量だけ遅角した閾値遅角点火時期」と「前記最適点火時期」との間の点火時期に設定するように構成されることが望ましい。
【００２６】
発明者による実験及び検討によれば、二次空気供給停止に起因する機関の発生トルクの変化の幅（減少変化幅、トルク変化量）は、二次空気供給停止時の点火時期が最適点火時期（ＭＢＴ）から遅角側に向けて遠ざかるほど（即ち、遅角量が大きくなるほど）大きくなることが判明した。
【００２７】
換言すると、発明者は、二次空気の供給を停止する時点になるまでに点火時期を徐々に進角させて最適点火時期に近づけておけば、「二次空気供給停止時の機関の発生トルクの変化の幅」が小さくなることを見い出した。従って、上記態様によれば、二次空気の供給を停止する際の機関の発生トルクの減少変化幅を小さくすることができるので、二次空気の供給を停止する際の機関の運転状態を安定化することができる。
【００２８】
更に、この装置の具体的態様の他の一つは、
前記二次空気が供給されている状態において、前記機関の点火時期を、前記機関に最大トルクを発生させる点火時期のうちの最小の進角値を有する点火時期である最適点火時期（ＭＢＴ）よりも遅角側の点火時期に設定する点火時期遅角手段を備え、
前記二次空気供給手段は、
前記二次空気が供給されている場合に前記二次空気の供給を停止する要求である供給停止要求が発生したか否かを判定する停止要求発生判定手段と、
前記供給停止要求が発生したと判定されている場合、実際の点火時期が、前記最適点火時期から所定量だけ遅角側の閾値遅角点火時期よりも進角側となったとき供給停止条件が成立したと判定することにより前記二次空気供給条件が不成立となったと判定する供給停止条件成立判定手段と、
を含み、
前記トルク変動抑制手段は、
前記供給停止要求が発生したと判定された時点を前記供給停止前過渡期間の開始時点として定めてなる同供給停止前過渡期間において、前記点火時期遅角手段によって設定される点火時期に代え、前記機関の制御量としての前記機関の点火時期を同供給停止前過渡期間の開始直前における点火時期から徐々に進角させる供給停止前点火時期進角手段である制御装置である。
【００２９】
これによれば、前記二次空気が供給されている場合、例えば、機関の負荷が閾値負荷より大きくなったり、或いは、機関始動後の積算吸入空気量が閾値積算吸入空気量よりも大きくなったりすること等により「前記二次空気の供給を停止する要求である供給停止要求（二次空気供給停止要求）」が発生したと判定された時点から、前記供給停止前点火時期進角手段によって点火時期が徐々に進角させられる。そして、実際の点火時期が、前記最適点火時期から所定量だけ遅角側の閾値遅角点火時期よりも進角側となったとき供給停止条件が成立したと判定され（即ち、前記二次空気供給条件が不成立となったと判定され）、二次空気の供給が停止される。
【００３０】
従って、二次空気の供給を停止するとき、点火時期は最適点火時期に近づいているので、機関の発生トルクの変化の幅を小さくすることができる。その結果、二次空気の供給を停止する際の機関の運転状態を安定化することができる。
【００３１】
更に、この装置の具体的態様の他の一つは、
前記二次空気が供給されている状態において、前記機関に供給される混合気の空燃比を理論空燃比よりもリッチ側の空燃比に設定するリッチ空燃比設定手段を備え、
前記トルク変動抑制手段は、
前記供給停止前過渡期間において、前記リッチ空燃比設定手段によって設定される空燃比に代え、前記機関の制御量としての前記機関に供給される混合気の空燃比を前記供給停止前過渡期間の開始直前における混合気の空燃比から徐々に理論空燃比に近づけることにより、前記二次空気供給停止時における混合気の空燃比を理論空燃比よりも所定空燃比だけリッチ側の閾値空燃比よりもリーン側の空燃比に設定するように構成された供給停止前空燃比リーン化手段である制御装置である。
【００３２】
発明者による実験及び検討によれば、二次空気供給停止に起因する機関の発生トルクの変化の幅（減少変化幅、トルク変化量）は、二次空気供給停止時における機関の空燃比が理論空燃比よりもリッチ側の空燃比であって理論空燃比から離れるほど（即ち、より過濃な混合気であるほど）、大きくなることが判明した。
【００３３】
換言すると、発明者は、二次空気の供給を停止する前までに機関の空燃比を徐々に理論空燃比に近づくように変化させておけば、二次空気供給停止時における機関の空燃比が理論空燃比近傍の空燃比となるので、二次空気供給停止時の機関の発生トルクの変化の幅を小さくすることができることを見い出した。従って、上記態様によれば、二次空気の供給を停止する際の機関の発生トルクの減少変化幅を小さくすることができるので、二次空気の供給を停止する際の機関の運転状態を安定化することができる。
【００３４】
更に、この装置の具体的態様の他の一つは、
前記燃焼室と接続された吸気ポートを開閉する吸気弁が開弁した状態にあり且つ前記燃焼室と接続されるとともに前記排気通路の端部を構成する排気ポートを開閉する排気弁が開弁している状態にあるバルブオーバーラップ期間を指示に応じて変更するバルブオーバーラップ期間変更手段を備え、
前記トルク変動抑制手段は、
前記供給停止前過渡期間において、前記機関の制御量としての前記バルブオーバーラップ期間が同供給停止前過渡期間の開始直前におけるバルブオーバーラップ期間から徐々に短くなるように前記バルブオーバーラップ期間変更手段に指示を与えるオーバーラップ期間指示手段である制御装置である。
【００３５】
発明者による実験及び検討によれば、二次空気供給停止に起因する機関の発生トルクの変化の幅（減少変化幅、トルク変化量）は、二次空気供給停止時におけるバルブオーバーラップ期間が長くなるほど大きくなることが判明した。この現象は、前述の推定理由２によるものと考えられる。
【００３６】
換言すると、発明者は、二次空気の供給を停止する前までにバルブオーバーラップ期間をできるだけ短くしておけば、二次空気供給停止時の機関の発生トルクの変化の幅を小さくすることができることを見い出した。従って、上記態様によれば、二次空気の供給を停止する際の機関の発生トルクの減少変化幅を小さくすることができるので、二次空気の供給を停止する際の機関の運転状態を安定化することができる。
【００３７】
なお、この場合、前記オーバーラップ期間指示手段は、
前記供給停止前過渡期間において、前記機関の制御量としての前記バルブオーバーラップ期間を同供給停止前過渡期間の開始直前におけるバルブオーバーラップ期間から徐々に短くすることにより、前記二次空気供給停止時におけるバルブオーバーラップ期間が所定の閾値バルブオーバーラップ期間より短くなるように、前記バルブオーバーラップ期間変更手段に指示を与えることが望ましい。
【００３８】
更に、この装置の具体的態様の他の一つは、
前記燃焼室と接続された吸気ポートを開閉する吸気弁が開弁した状態にあり且つ前記燃焼室と接続されるとともに前記排気通路の端部を構成する排気ポートを開閉する排気弁が開弁している状態にあるバルブオーバーラップ期間を指示に応じて変更するバルブオーバーラップ期間変更手段を備え、
前記二次空気供給手段は、
前記二次空気が供給されている場合に前記二次空気の供給を停止する要求である供給停止要求が発生したか否かを判定する停止要求発生判定手段と、
前記供給停止要求が発生したと判定されている場合、前記変更される実際のバルブオーバーラップ期間が所定の閾値バルブオーバーラップ期間より短くなったとき供給停止条件が成立したと判定することにより前記二次空気供給条件が不成立となったと判定する供給停止条件成立判定手段と、
を含み、
前記トルク変動抑制手段は、
前記供給停止要求が発生したと判定された時点を前記供給停止前過渡期間の開始時点として定めてなる同供給停止前過渡期間において、前記機関の制御量としての前記バルブオーバーラップ期間が同供給停止前過渡期間の開始直前におけるバルブオーバーラップ期間から徐々に短くなるように前記バルブオーバーラップ期間変更手段に指示を与えるオーバーラップ期間指示手段である制御装置である。
【００３９】
これによれば、前記二次空気が供給されている場合、例えば、機関の負荷が閾値負荷より大きくなったり、或いは、機関始動後の積算吸入空気量が閾値積算吸入空気量よりも大きくなったりすること等により前記二次空気の供給を停止する要求である供給停止要求が発生したと判定された時点から、バルブオーバーラップ期間から徐々に短くなるように変更させられる。そして、実際のバルブオーバーラップ期間が、所定の閾値バルブオーバーラップ期間より短くなったとき供給停止条件が成立したと判定され（即ち、前記二次空気供給条件が不成立となったと判定され）、二次空気の供給が停止される。
【００４０】
従って、二次空気の供給を停止するとき、バルブオーバーラップ期間が十分に短くなっているので、機関の発生トルクの変化の幅を小さくすることができる。その結果、二次空気の供給を停止する際の機関の運転状態を安定化することができる。
【００４１】
また、本発明による内燃機関の制御装置の別の態様は、
前記二次空気の供給が停止されている状態において、前記機関の点火時期を、前記機関に最大トルクを発生させる点火時期のうちの最小の進角値を有する点火時期である最適点火時期よりも遅角側の点火時期に設定する点火時期遅角手段を備える。
【００４２】
更に、前記二次空気供給手段は、
前記二次空気の供給が停止されている場合に前記二次空気の供給を開始する要求である供給開始要求が発生したか否かを判定する供給開始要求発生判定手段と、
前記供給開始要求が発生したと判定されている場合、実際の点火時期が、前記最適点火時期から所定量だけ遅角側の閾値遅角点火時期よりも進角側となったとき供給開始条件が成立することにより前記二次空気供給条件が成立したと判定する供給開始条件成立判定手段と、を含む。
【００４３】
加えて、前記トルク変動抑制手段は、
「前記供給開始要求が発生したと判定された時点」から「前記二次空気供給条件が成立したと判定されることにより前記二次空気が供給される状態へと変化する前記二次空気供給開始時」までの期間である「前記切換過渡期間としての供給開始前過渡期間」において、前記点火時期遅角手段によって設定される点火時期に代え、前記機関の制御量としての前記機関の点火時期を同供給開始前過渡期間の開始直前における点火時期から徐々に進角させる供給開始前点火時期進角手段である。
【００４４】
発明者による実験及び検討によれば、二次空気供給停止時と同様、二次空気の供給開始（再開）に起因する機関の発生トルクの変化の幅（増大変化幅、機関の発生トルクの上昇量）も、二次空気供給開始時の点火時期が最適点火時期（ＭＢＴ）から遅角側へと遠ざかるほど（即ち、遅角量が大きくなるほど）大きくなることが判明した。
【００４５】
換言すると、発明者は、二次空気の供給を開始（再開）する前までに点火時期を徐々に進角させて最適点火時期に近づけておけば、「二次空気供給開始時の機関の発生トルクの変化の幅」が小さくなることを見い出した。
【００４６】
一方、上記構成によれば、例えば、機関の負荷が閾値負荷より大きくなる等により前記二次空気の供給が一時的に停止されている場合において、機関の負荷が減少すると、供給開始要求が発生したと判定される。そして、その判定時点から、前記供給開始前点火時期進角手段によって点火時期が徐々に進角させられる。その後、実際の点火時期が、前記最適点火時期から所定量だけ遅角側の閾値遅角点火時期よりも進角側となったとき供給開始条件が成立したと判定され（即ち、前記二次空気供給条件が成立したと判定され）、二次空気の供給が開始（再開）される。
【００４７】
従って、二次空気の供給を開始するとき、点火時期は最適点火時期に近づいているので、機関の発生トルクの変化の幅（増大変化幅）を小さくすることができる。その結果、二次空気の供給を開始する際の機関の運転状態を安定化することができる。
【００４８】
本発明による内燃機関の制御装置の別の態様において、
前記トルク変動抑制手段は、
前記機関の運転状態がアイドル運転状態であるとき前記機関の実際の回転速度が目標アイドル回転速度と一致するように前記機関の制御量としての前記機関の点火時期をフィードバック制御するアイドル時点火時期制御手段と、
前記切換過渡期間において前記アイドル時点火時期制御手段による点火時期の変更速度を同切換過渡期間以外における点火時期の変更速度よりも増大させる点火時期変更ゲイン増大手段と、
を含む。
【００４９】
これによれば、切換過渡期間において点火時期の変更速度が増大されるから、二次空気供給状態の切換えに伴って生じる前記機関の発生トルクの変化の幅が「点火時期によるアイドル回転速度フィードバック制御」により迅速に低減させられる。従って、二次空気の供給を開始又は停止する際の機関の運転状態を安定化することができる。
【００５０】
本発明による内燃機関の制御装置の別の態様において、
前記トルク変動抑制手段は、
前記機関の運転状態がアイドル運転状態であるとき前記機関の実際の回転速度が目標アイドル回転速度と一致するように前記機関の制御量としての前記機関のスロットル弁開度をフィードバック制御するアイドル時スロットル弁開度制御手段と、
前記切換過渡期間において前記アイドル時スロットル弁開度制御手段によるスロットル弁開度の変更速度を同切換過渡期間以外におけるスロットル弁開度の変更速度よりも増大させるスロットル弁開度変更ゲイン増大手段と、
を含む。
【００５１】
これによれば、切換過渡期間においてスロットル弁開度の変更速度が増大されるから、二次空気供給状態の切換えに伴って生じる前記機関の発生トルクの変化の幅が「スロットル弁開度変更によるアイドル回転速度フィードバック制御」により迅速に低減させられる。従って、二次空気の供給を開始又は停止する際の機関の運転状態を安定化することができる。
【００５２】
更に、本発明による内燃機関の制御装置の別の態様において、
前記二次空気供給手段は、
前記機関の所定の気筒からなる第１気筒群に対する前記二次空気供給状態の切換えを切換え指示に応答して行う第１供給手段と、
前記機関の前記第１気筒群に含まれる気筒とは相違する気筒からなる第２気筒群に対する前記二次空気供給状態の切換えを、切換え指示に応答して、前記第１供給手段とは独立して行うことが可能な第２供給手段と、
を含む。
【００５３】
この場合、前記トルク変動抑制手段は、
前記切換過渡期間において、前記第１供給手段による二次空気供給状態の切換えタイミングと前記第２供給手段による二次空気供給状態の切換えタイミングとが互いに相違するように前記第１供給手段及び前記第２供給手段に切換え指示を与えることにより前記機関の制御量としての二次空気供給量を制御する切換タイミング制御手段であることが望ましい。
【００５４】
この態様の装置は、二次空気の供給を停止するにあたり、第１供給手段と第２供給手段とが同時に二次空気の供給を停止する場合に比較して、一時に減少する二次空気量を小さくすることができる。従って、機関の発生トルクの変化の幅（減少変化幅）を小さくすることができる。更に、この態様の装置は、二次空気の供給を開始（再開）するにあたり、第１供給手段と第２供給手段とが同時に二次空気の供給を開始する場合に比較して、一時に増大する二次空気量を小さくすることができる。従って、機関の発生トルクの変化の幅（増大幅）を小さくすることができる。その結果、この態様の装置は、二次空気の供給及び／又は停止の際の機関の運転状態を安定化することができる。
【発明を実施するための最良の形態】
【００５５】
以下、本発明による内燃機関の制御装置の各実施形態について図面を参照しつつ説明する。
【００５６】
（第１実施形態）
図１は、第１実施形態に係る内燃機関の制御装置（以下、「第１制御装置」とも称呼する。）を火花点火式・多気筒（本例では４気筒）・ガソリン燃料・内燃機関１０に適用したシステムの概略構成を示している。この内燃機関１０は、本体部２０、吸気系統３０、排気系統４０、二次空気供給系統５０を備えている。
【００５７】
本体部２０は、シリンダブロック部とシリンダヘッド部とを備えている。本体部２０は、ピストン頂面、シリンダ壁面及びシリンダヘッド部の下面からなる複数（４個）の燃焼室２１を備えている。シリンダヘッド部には、各燃焼室２１に空気及び燃料からなる混合気を供給するための吸気ポート２２と、各燃焼室２１から排ガス（既燃ガス）を排出するための排気ポート２３と、が形成されている。吸気ポート２２は図示しない吸気弁により開閉され、排気ポート２３は図示しない排気弁により開閉されるようになっている。
【００５８】
シリンダヘッド部には複数（４個）の点火プラグ２４が固定されている。各点火プラグ２４は、その火花発生部が各燃焼室２１の中央部であってシリンダヘッド部の下面近傍位置に露呈するように配設されている。各点火プラグ２４は、点火信号に応答して火花発生部から点火用火花を発生するようになっている。更に、シリンダヘッド部には複数（４個）の燃料噴射弁（インジェクタ）２５が固定されている。各燃料噴射量弁２５は、噴射指示信号に応答し、その噴射指示信号に含まれる指示噴射量の燃料を各吸気ポート２２内に噴射するようになっている。
【００５９】
更に、シリンダヘッド部には、吸気弁制御装置２６が設けられている。この吸気弁制御装置２６は、インテークカムシャフト（図示せず）とインテークカム（図示せず）との相対回転角度（位相角度）を油圧により調整・制御する周知の構成を備えている。吸気弁制御装置２６は、指示信号（駆動信号）に基づいて作動し、吸気弁の開弁タイミング（吸気弁開弁タイミング）を変更することができるようになっている。
【００６０】
本例において、吸気弁の開弁期間（開弁クランク角度幅）は一定である。従って、吸気弁開弁タイミングが所定角度だけ進角又は遅角させられると、吸気弁の閉弁タイミング（吸気弁閉弁タイミング）も同所定角度だけ進角又は遅角させられる。一方、排気弁の開弁タイミング（排気弁開弁タイミング）及び閉弁タイミング（排気弁閉弁タイミング）は一定である。排気弁閉弁タイミングは、最も遅らされた（最も遅角側にある）吸気弁開弁タイミングよりも後の時期（遅角側の時期）となるように設定されている。従って、この機関１０は、吸気弁及び排気弁が共に開弁させられているバルブオーバーラップ期間を有する。
【００６１】
バルブオーバーラップ期間は、吸気弁制御装置２６によって吸気弁開弁タイミングが変更されることに伴って変化（増減）する。吸気弁開弁タイミングが最も遅角側にある場合を基準とし、その基準から実際に制御されている吸気弁開弁タイミングまでのクランク角度を吸気弁開弁進角角度ＶＶＴと称呼する。従って、吸気弁開弁進角角度ＶＶＴはバルブオーバーラップ期間に応じた値となる。即ち、吸気弁開弁進角角度ＶＶＴが大きいほどバルブオーバーラップ期間は長くなる。
【００６２】
吸気系統３０は、インテークマニホールド３１、吸気管３２、エアフィルタ３３、スロットル弁３４及びスロットル弁アクチュエータ３４ａを備えている。
【００６３】
インテークマニホールド３１は、各吸気ポート２２に接続された複数の枝部と、それらの枝部が集合したサージタンク部と、を備えている。吸気管３２はサージタンク部に接続されている。インテークマニホールド３１、吸気管３２及び吸気ポート２２は、吸気通路を構成している。エアフィルタ３３は吸気管３２の端部に設けられている。スロットル弁３４はエアフィルタ３３とインテークマニホールド３１との間の位置において吸気管３２に回動可能に取り付けられている。スロットル弁３４は、回動することにより吸気管３２が形成する吸気通路の開口断面積を変更するようになっている。スロットル弁アクチュエータ３４ａは、ＤＣモータからなり、指示信号（駆動信号）に応答してスロットル弁３４を回動させるようになっている。
【００６４】
排気系統４０は、エキゾーストマニホールド４１、エキゾーストパイプ（排気管）４２及び触媒４３を備えている。
【００６５】
エキゾーストマニホールド４１は、各排気ポート２３に接続された複数の枝部と、それらの枝部が集合した集合部と、を備えている。エキゾーストパイプ４２は、エキゾーストマニホールド４１の集合部に接続されている。エキゾーストマニホールド４１、エキゾーストパイプ４２及び排気ポート２３は、排気通路を構成している。
【００６６】
触媒４３は、セラミックからなる担持体に「触媒物質である貴金属」及び「セリア（CeO2)」を担持していて、酸素吸蔵・放出機能（酸素吸蔵機能）を有する三元触媒である。触媒４３はエキゾーストパイプ４２に配設（介装）されている。なお、触媒４３は所定の活性温度に到達すると、未燃物（ＨＣ、ＣＯ等）と窒素酸化物（ＮＯｘ）とを同時に浄化する触媒機能及び酸素吸蔵機能を発揮する。触媒４３は活性温度に達するとその機能を発揮する他の種類の触媒（例えば、リーンＮＯｘ触媒等）であってもよい。
【００６７】
二次空気供給系統５０は、空気（外気、新気）を二次空気として各排気ポート２３に供給（噴射）する機能を達成するための系統である。二次空気供給系統５０は実際には空気を各排気ポート２３内に噴射するので、Ａｉｒ−Ｉｎｊｅｃｔｉｏｎ（ＡＩ）システムとも称呼される。二次空気供給系統５０は、導入通路（二次空気導入通路）５１、電動式エアポンプ（以下、「エアポンプ」と称呼する。）５２、圧送通路５３、二次空気制御弁５４、主供給管５５及び複数の分配管５６を備えている。
【００６８】
導入通路５１の一端は、エアフィルタ３３とスロットル弁３４との間において吸気管３２に接続されている。導入通路５１の他端は、エアポンプ５２の吸入部に接続されている。エアポンプ５２の吐出部は圧送通路５３の一端に接続されている。エアポンプ５２は、電気制御装置７０からの指示信号（駆動信号）に基づいて作動し、吸入部から吸入した空気を吐出部を介して圧送通路５３に圧送するようになっている。
【００６９】
圧送通路５３の他端は、二次空気制御弁５４の入口部に接続されている。二次空気制御弁５４の出口部は主供給管５５に接続されている。二次空気制御弁５４は、電気制御装置７０からの指示信号に基づき、入口部と出口部とを連通する状態（以下、「開弁状態」と称呼する。）と、入口部と出口部とを遮断する状態（以下、「閉弁状態」と称呼する。）と、の何れかの状態を選択的に実現するようになっている。
【００７０】
複数（４本）の分配管５６のそれぞれの一端は、主供給管５５に接続されている。複数の分配管５６のそれぞれの他端（先端部）は、各気筒の排気ポート２３の近傍に配設されている。分配管５６の先端部は二個の二次空気噴射孔を備えている。
【００７１】
以上の構成により、エアポンプ５２が作動させらるとともに二次空気制御弁５４が開弁状態に設定されると、エアポンプ５２によって主供給管５５及び分配管５６に高圧の二次空気が圧送される。そして、その二次空気は分配管５６の先端部から各排気弁の背面に向けて噴射される。即ち、二次空気は、排気通路であって触媒４３よりも上流側に位置する排気ポート２３内に供給される。なお、本明細書において、「二次空気が排気ポート２３内に供給される」ことを、単に「二次空気が供給される」又は「二次空気が導入される」とも表現する。
【００７２】
更に、このシステムは、熱線式エアフローメータ６１、スロットルポジションセンサ６２、機関回転速度センサ６３、水温センサ６４、空燃比センサ６５、酸素濃度センサ６６及びアクセル開度センサ６７を備えている。
【００７３】
熱線式エアフローメータ６１は、吸気管３２内を流れる吸入空気の質量流量を検出し、その質量流量（機関１０の単位時間あたりの吸入空気量）Ｇａを表す信号を出力するようになっている。
スロットルポジションセンサ６２は、スロットル弁３４の開度を検出し、スロットル弁開度ＴＡを表す信号を出力するようになっている。
【００７４】
機関回転速度センサ６３は、インテークカムシャフトが５°回転する毎に幅狭のパルスを有するとともにインテークカムシャフトが３６０°回転する毎に幅広のパルスを有する信号を出力するようになっている。機関回転速度センサ６３から出力される信号は電気制御装置７０により機関回転速度ＮＥを表す信号に変換されるようになっている。更に、電気制御装置７０は、機関回転速度センサ６３からの信号に基いて、機関１０のクランク角度（絶対クランク角）を取得するようになっている。
水温センサ６４は、内燃機関１０の冷却水の温度を検出し、冷却水温ＴＨＷを表す信号を出力するようになっている。
【００７５】
空燃比センサ６５は、エキゾーストマニホールド４１の集合部と触媒４３との間の位置においてエキゾーストマニホールド４１及びエキゾーストパイプ４２の何れか（即ち、排気通路）に配設されている。空燃比センサ６５は、空燃比センサ６５が配設された排気通路内の部位を流れる排ガス（被検出ガス）の空燃比に応じた出力値Vabyfsを出力するようになっている。この出力値Vabyfsは被検出ガスの空燃比が大きくなる（リーンとなる）ほど増大する。電気制御装置７０は、被検出ガスの空燃比と出力値Vabyfsとの関係を規定するテーブルMapabyfsを記憶していて、そのテーブルに実際の出力値Vabyfsを適用することによって被検出ガスの空燃比（排ガスの空燃比、従って、機関の空燃比）abyfsを取得するようになっている。
【００７６】
酸素濃度センサ６６は、酸素濃度センサ６６が配設された排気通路内の部位を流れる排ガス（被検出ガス）の空燃比に応じた出力値Voxを出力するようになっている。出力値Voxは、被検出ガスの空燃比が、理論空燃比よりもリッチ側であるときに高側出力値（約１Ｖ）となり、理論空燃比であるときに中間出力値（約０．５Ｖ）となり、理論空燃比よりもリーン側であるときに低側出力値（約０Ｖ）となる。
【００７７】
アクセル開度センサ６７は、運転者によって操作されるアクセルペダルの操作量を検出し、アクセルペダルの操作量Accpを表す信号を出力するようになっている。
【００７８】
電気制御装置７０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、電源が投入された状態でデータを格納するとともに格納したデータを電源が遮断されている間も保持するバックアップＲＡＭ、並びに、ＡＤコンバータを含むインターフェース等からなる周知のマイクロコンピュータである。
【００７９】
電気制御装置７０のインターフェースは、前記センサ６１〜６７と接続され、ＣＰＵにセンサ６１〜６７からの信号を供給するとともに、ＣＰＵの指示に応じて、点火プラグ２４、燃料噴射弁２５、吸気弁制御装置２６、スロットル弁アクチュエータ３４ａ、エアポンプ５２及び二次空気制御弁５４等に指示信号及び駆動信号等を送出するようになっている。なお、電気制御装置７０は、取得されたアクセルペダルの操作量Accpが大きくなるほどスロットル弁開度ＴＡが大きくなるように、スロットル弁アクチュエータ３４ａに指示信号を送出するようになっている。
【００８０】
（作動の概略）
次に、上記のように構成された第１制御装置の作動の概略について説明する。第１制御装置は、以下に示した二次空気供給条件が成立しているとき、エアポンプ５２を駆動するとともに二次空気制御弁５４を開弁させ、それにより二次空気を導入する。第１制御装置は、二次空気供給条件が不成立であるとき、エアポンプ５２を停止するとともに二次空気制御弁５４を閉弁させ、それにより二次空気の供給を停止する。
【００８１】
二次空気供給条件は以下の条件１乃至条件３が総て成立しているときに成立する。
＜条件１＞機関１０が始動された直後の冷却水温ＴＨＷが所定の範囲内である。即ち、機関１０が始動された直後の冷却水温ＴＨＷが、低側閾値温度ＴＨＷlo以上であり且つ高側閾値温度ＴＨＷhi以下である。
＜条件２＞機関１０の負荷（負荷率ＫＬ）が閾値負荷ＫＬｔｈ以下である。
＜条件３＞機関１０の始動後の積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈ以下である。
【００８２】
二次空気供給条件が成立することにより二次空気が供給されると、燃焼室２１から排気ポート２３に排出された排ガス中に含まれているＨＣ及びＣＯ等の未燃ガスに酸素が与えられ且つ排気ポート２３付近は高温であるので、未燃ガスが排気ポート２３（排気通路）内にて燃焼（後燃え）する。これにより、触媒４３に高温のガスが流入するので、触媒４３の温度が速やかに上昇する。即ち、触媒４３の暖機が促進される。
【００８３】
なお、第１制御装置は、吸気行程直前にある気筒（燃料噴射気筒）に吸入される空気量（筒内吸入空気量Ｍｃ）を吸入空気量Ｇａ及び機関回転速度ＮＥに基づいて推定し、その筒内吸入空気量Ｍｃを理論空燃比で除した量の燃料を、基本噴射量として求める。更に、第１制御装置は、冷却水温ＴＨＷが高側閾値温度ＴＨＷhi以下である場合に機関に供給される混合気の空燃比が理論空燃比よりもリッチ側になるように基本噴射量を増大補正し、その増大補正した燃料量の燃料を燃料噴射気筒の燃料噴射弁２５から噴射させる。加えて、第１制御装置は、冷却水温ＴＨＷが高側閾値温度ＴＨＷhiより高くなるか、或いは、空燃比センサ６５が活性化したと判断されると（例えば、空燃比センサ６５の内部抵抗値が所定値以下となると）、機関に供給される混合気の空燃比が理論空燃比に一致するように、基本噴射量の燃料を燃料噴射気筒の燃料噴射弁２５から噴射させる。
【００８４】
機関１０は二次空気の導入を行うことにより二次空気の導入を行わない場合に比してより大きなトルクを発生する。この理由は、以下に述べるとおりであると推定される。
【００８５】
（推定理由１）
排気ポート２３内での未燃ガスの燃焼により排気弁の温度が上昇する。従って、ピストン位置が上死点近傍となったときの混合気の温度（圧縮端温度）が上昇する。その結果、特に機関１０の暖機前（冷間時）において、混合気の燃焼状態が良好となるので、機関の発生トルクが増大する。
【００８６】
（推定理由２）
二次空気が供給されると、その二次空気の一部がバルブオーバーラップ期間中に燃焼室２１内に流入する。一方、二次空気が供給される場合は、触媒４３の暖機を促進する必要がある場合であるので、機関１０も暖機前である。従って、より安定した燃焼を達成するため、機関に供給される混合気の空燃比は理論空燃比よりもリッチ側の空燃比に設定されている。これらの結果、二次空気が供給されると、二次空気が供給されていない場合に比して、燃焼室２１内において燃焼する燃料の量が増大する。従って、機関の発生トルクが増大する。
【００８７】
ところで、前述したように、二次空気が供給されている場合において、負荷ＫＬが閾値負荷ＫＬｔｈよりも大きくなるか、又は、機関始動後の積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈよりも大きくなると、二次空気供給条件が不成立となるので、二次空気の供給が停止される。この結果、二次空気の供給により増大していた機関のトルクが急激に減少するため、機関の運転状態が不安定となる。即ち、例えば、機関回転速度が過度に低下し、或いは、トルク変動に起因する振動が発生する。
【００８８】
そこで、第１制御装置は、このような二次空気の供給停止時（即ち、二次空気が供給されている状態から二次空気の供給が停止されている状態へと変化する時）、点火時期を進角することにより機関の発生トルクを増大させる。換言すると、第１制御装置は、二次空気以外の機関の制御量（この場合、点火時期）を変化（この場合、進角）させ、二次空気の供給停止による機関発生トルクの変動（減少）を相殺するように機関発生トルクを変化（増大）させる。
【００８９】
この結果、二次空気供給停止時のトルク変化の幅（減少変化幅）が減少するので、トルク変動に起因する振動等の発生が回避される。なお、第１制御装置は、二次空気を供給することによって触媒４３の暖機を促進する必要があるとき、点火時期を最適点火時期（機関１０に最大トルクを発生させる点火時期のうちの最小の進角値を有する点火時期、ＭＢＴ）よりも遅角側に設定している。従って、二次空気供給停止時において点火時期を進角させると、機関発生トルクは増大する。
【００９０】
（実際の作動）
次に、第１制御装置の実際の作動について説明する。電気制御装置７０のＣＰＵは図２にフローチャートにより示した二次空気制御ルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、ＣＰＵは図２のステップ２００から処理を開始し、ステップ２０５に進んで現時点が機関１０の始動直後であるか否かを判定する。始動直後であるか否かの判定は、例えば、図示しないイグニッション・キー・スイッチがオフ位置から始動位置へと変更させられた後に機関回転速度ＮＥが始動判定速度ＮＥＳＴを超えたか否かを判定することにより行われる。
【００９１】
現時点が機関１０の始動直後であると仮定すると、ＣＰＵはステップ２０５にて「Ｙｅｓ」と判定してステップ２１０に進み、冷却水温ＴＨＷが所定の範囲内（ＴＨＷlo以上且つＴＨＷhi以下）であるか否かを判定する。そして、冷却水温ＴＨＷが所定の範囲内であると、ＣＰＵはステップ２１０にて「Ｙｅｓ」と判定してステップ２１５に進み、二次空気供給仮フラグＸＡＩkariの値を「１」に設定する。
【００９２】
この二次空気供給仮フラグＸＡＩkariは、その値が「１」であるとき、後述する条件が成立すれば二次空気を導入するべき状態にあることを示し、「０」であれば二次空気を供給するべきではない状態にあることを示す。なお、ＣＰＵは図示しないイグニッション・キー・スイッチがオフからオンに変更されたときに実行するイニシャルルーチンにおいて二次空気供給仮フラグＸＡＩkariを「０」に設定するようになっている。
【００９３】
次に、ＣＰＵはステップ２２０に進み、二次空気供給仮フラグＸＡＩkariの値が「１」であるか否かを判定する。いま、前述したステップ２１５にて二次空気供給仮フラグＸＡＩkariの値が「１」に設定されていると仮定する。この場合、ＣＰＵはステップ２２０にて「Ｙｅｓ」と判定し、ステップ２２５に進んで負荷ＫＬが閾値負荷ＫＬｔｈ以下であるか否かを判定する。
【００９４】
ＣＰＵは、機関の負荷ＫＬを、下記（１）式に従って求める。この（１）式において、Ｍｃは現時点において吸気行程の直前にある気筒に吸入される筒内吸入空気量である。筒内吸入空気量Ｍｃは、エアフローメータ６１により測定される現時点の吸入空気量Ｇａと、機関回転速度センサ６３により検出される機関回転速度ＮＥと、関数（テーブル）ｆと、に基づいて算出される。筒内吸入空気量Ｍｃは機関１０の吸気通路における空気の挙動をモデル化した周知の空気量推定モデル（空気モデル）を用いて求められてもよい。更に、（１）式において、ρは空気密度（単位は（ｇ／ｌ））、Ｌは機関１０の排気量（単位は（ｌ））、４は機関１０の気筒数である。
ＫＬ＝｛Ｍｃ／（ρ・Ｌ／４）｝・１００（％）  …（１）
【００９５】
いま、機関の負荷ＫＬが閾値負荷ＫＬｔｈ以下であると仮定する。このとき、ＣＰＵはステップ２２５にて「Ｙｅｓ」と判定し、ステップ２３０に進んで機関始動後からの吸入空気流量Ｇａの積算値である積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈ以下であるか否かを判定する。この積算吸入空気量ＳＧａは、ＣＰＵが機関１０の始動後から所定時間の経過毎に繰り返す図示しないルーチンを実行することにより、そのルーチンの実行時点において「エアフローメータ６１により測定された吸入空気量Ｇａ」を積算することにより算出されている。
【００９６】
いま、積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈ以下であると仮定する。このとき、ＣＰＵはステップ２３０にて「Ｙｅｓ」と判定してステップ２３５に進み、二次空気供給フラグＸＡＩの値を「１」に設定する。二次空気供給フラグＸＡＩは、その値が「１」であるときに二次空気が供給されていることを示し、その値が「０」であるときに二次空気の供給が停止されていることを示す。
【００９７】
次いで、ＣＰＵはステップ２４０にてエアポンプ５２を回転させるとともに二次空気制御弁５４を閉弁状態から開弁状態へと変化させることにより、排気ポート２３に二次空気を供給する。その後、ＣＰＵはステップ２９５に進んで本ルーチンを一旦終了する。
【００９８】
この状態は、負荷ＫＬが閾値負荷ＫＬｔｈより大きくなるか、又は、積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈより大きくなるまで継続する。
【００９９】
一方、ＣＰＵは図３にフローチャートにより示した点火時期制御ルーチンを各気筒のクランク角が所定クランク角（例えば、圧縮上死点前９０°クランク角、ＢＴＤＣ９０°）に一致する毎に繰り返し実行するようになっている。
【０１００】
従って、何れかの気筒のクランク角が所定クランク角に一致すると、ＣＰＵはステップ３００から処理を開始してステップ３０５に進み、負荷ＫＬ及び機関回転速度ＮＥと基本点火時期Ａbaseとの関係を規定する基本点火時期テーブルMapAaseに、現時点の負荷ＫＬ及び機関回転速度ＮＥを適用することにより、基本点火時期Ａbaseを決定する。この基本点火時期テーブルMapAaseによれば、機関１０の運転状態がアイドル運転状態でない場合、基本点火時期Ａbaseは最適点火時期（ＭＢＴ）となるように決定される。更に、基本点火時期テーブルMapAaseによれば、機関１０の運転状態がアイドル運転状態である場合、基本点火時期Ａbaseは最適点火時期（ＭＢＴ）よりも僅かだけ遅角側の点火時期となるように決定される。
【０１０１】
次に、ＣＰＵはステップ３１０に進み、冷却水温ＴＨＷと暖機遅角量Ａdankiとの関係を規定するテーブル（暖機遅角量テーブル）MapAdankiに現時点の冷却水温ＴＨＷを適用することにより、暖機遅角量Ａdankiを決定する。暖機遅角量Ａdankiは触媒４３の暖機を促進するための点火時期の遅角量である。点火時期を遅角することにより排ガス温度が高くなるので、触媒４３の暖機が促進される。
【０１０２】
この暖機遅角量テーブルMapAdankiによれば、機関の冷却水温ＴＨＷが所定の範囲内（ＴＨＷlo以上且つＴＨＷhi以下）である場合にのみ暖機遅角量Ａdankiが０以外の正の値として設定される。換言すると、機関の冷却水温ＴＨＷが低側閾値温度ＴＨＷloよりも小さい場合、及び、冷却水温ＴＨＷが高側閾値温度ＴＨＷhiよりも大きい場合、暖機遅角量Ａdankiは０に設定される。更に、暖機遅角量テーブルMapAdankiによれば、暖機遅角量Ａdankiは、冷却水温ＴＨＷが低側閾値温度ＴＨＷloから次第に高くなるにつれて次第に増大し、その後、冷却水温ＴＨＷの変化に対して一定となり、更に、高側閾値温度ＴＨＷhiより所定温度だけ低い温度から高側閾値温度ＴＨＷhiに向かうにつれて「０」に向けて減少するように決定される。
【０１０３】
次に、ＣＰＵはステップ３１５に進み、二次空気供給フラグＸＡＩの値が「０」であるか否かを判定する。現時点において、二次空気供給フラグＸＡＩは図２のステップ２３５において「１」に設定されている。従って、ＣＰＵはステップ３１５にて「Ｎｏ」と判定してステップ３２０に進み、二次空気切換時進角量Ａaiの値を「０」に設定する。
【０１０４】
次に、ＣＰＵは以下に述べるステップ３２５乃至ステップ３３５の処理を順に行い、ステップ３９５に進んで本ルーチンを一旦終了する。
ステップ３２５：ＣＰＵは下記（２）式に従って最終的な点火時期Ａigを決定する。即ち、最終点火時期Ａigは、基本点火時期Ａbaseが暖機遅角量Ａdankiだけ遅角側に補正され、且つ、二次空気切換時進角量Ａaiだけ進角側に補正された点火時期となる。
Ａig＝Ａbase−Ａdanki＋Ａai    …（２）
【０１０５】
ステップ３３０：ＣＰＵは、現時点におけるクランク角が圧縮上死点前９０°となっている気筒の点火時期が上記ステップ３２５にて決定された最終点火時期Ａigとなるように、その気筒の点火プラグ２４に点火信号を送出する。
ステップ３３５：ＣＰＵは、現時点における二次空気供給フラグＸＡＩの値を、前回の二次空気供給フラグＸＡＩoldの値として格納する。この時点において、二次空気供給フラグＸＡＩの値は「１」である。従って、前回の二次空気供給フラグＸＡＩoldの値は「１」に設定される。
【０１０６】
以上の処理により、冷却水温ＴＨＷが低側閾値温度ＴＨＷloと高側閾値温度ＴＨＷhiとの間の温度である場合、実際の点火時期は基本点火時期Ａbaseよりも暖機遅角量Ａdankiだけ遅角側の点火時期となる。また、機関１０の運転状態がアイドル運転状態にある場合、基本点火時期Ａbaseは冷却水温ＴＨＷに関わらず最適点火時期より遅角側の点火時期に設定される。以上から、冷却水温ＴＨＷが低側閾値温度ＴＨＷloと高側閾値温度ＴＨＷhiとの間の温度である場合、及び、機関１０の運転状態がアイドル運転状態にある場合、点火時期は最適点火時期（ＭＢＴ）より遅角側の点火時期となる。
【０１０７】
このような状態において、運転者がアクセルペダルを踏み込むことにより負荷ＫＬが閾値負荷ＫＬｔｈより大きくなると、ＣＰＵは図２のステップ２２５にて「Ｎｏ」と判定し、以下に述べるステップ２４５及びステップ２５０の処理を順に行い、ステップ２９５に進む。
【０１０８】
ステップ２４５：ＣＰＵは二次空気供給フラグＸＡＩの値を「０」に設定する。この結果、二次空気供給フラグＸＡＩの値は「１」から「０」へと変化する。
ステップ２５０：ＣＰＵはエアポンプ５２の回転を停止するとともに二次空気制御弁５４の状態を開弁状態から閉弁状態へと変化させることにより、排気ポート２３への二次空気の供給を停止する。
【０１０９】
この直後、ＣＰＵが図３に示したルーチンを実行すると、ＣＰＵはステップ３１５にて「Ｙｅｓ」と判定してステップ３４０に進み、前回の二次空気供給フラグＸＡＩoldの値が「１」であるか否かを判定する。即ち、ＣＰＵはステップ３１５及びステップ３４０を処理することにより、現時点が、二次空気供給フラグＸＡＩの値が「１」から「０」へと変化した直後であるか否かを判定する。換言すると、ＣＰＵは、現時点が、二次空気が供給されている状態から二次空気の供給が停止された状態へと変化した時点（二次空気供給停止時）であるか否かを判定する。
【０１１０】
この場合、現時点は、二次空気供給フラグＸＡＩの値が「１」から「０」へと変化した直後であり、前回の二次空気供給フラグＸＡＩoldの値は「１」である。従って、ＣＰＵはステップ３４０にて「Ｙｅｓ」と判定し、ステップ３４５に進んで二次空気切換時進角量Ａaiを決定する。より具体的に述べると、ＣＰＵは、機関回転速度ＮＥ、負荷ＫＬ及びバルブオーバラップ期間を示す吸気弁開弁進角角度ＶＶＴと、二次空気切換時進角量Ａaiと、の関係を規定するテーブル（二次空気進角量テーブル）MapAaiに、実際の機関回転速度ＮＥ、実際の負荷ＫＬ及び実際の吸気弁開弁進角角度ＶＶＴを適用することにより、二次空気切換時進角量Ａaiを決定する。二次空気切換時進角量Ａaiは正の値である。つまり、二次空気進角量テーブルMapAaiは、二次空気切換時進角量Ａaiを、機関回転速度ＮＥ、負荷ＫＬ及び吸気弁開弁進角角度ＶＶＴを引数として求めるテーブルである。
【０１１１】
この二次空気進角量テーブルMapAaiは予め実験により求められたデータに基づいて作成されている。そのデータとは、何れも任意の「機関回転速度ＮＥ、負荷ＫＬ及び吸気弁開弁進角角度ＶＶＴ」にて機関１０が運転されている場合に、「二次空気の供給が停止されたときに生じる機関発生トルクの減少分（減少変化幅）を相殺或いは極力小さくするためのトルク」を機関１０に発生させるために必要な「点火時期進角量」を「二次空気切換時進角量Ａai」として求めたデータである。
【０１１２】
なお、二次空気進角量テーブルMapAaiは、アクセルペダル操作量Accp及び／又は冷却水温ＴＨＷ等をテーブルの引数として更に有してもよい。即ち、二次空気進角量テーブルMapAaiは、二次空気供給停止時における機関の発生トルク減少変化幅に影響を及ぼす機関の運転状態パラメータと、二次空気切換時進角量Ａaiと、の関係を規定するテーブルであればよい。
【０１１３】
その後、ＣＰＵは前述したステップ３２５乃至ステップ３３５の処理を実行し、ステップ３９５に進んで点火時期制御ルーチンを一旦終了する。これにより、二次空気の供給が停止されたとき、点火時期Ａigはその直前の点火時期から「ステップ３４５にて決定された二次空気切換時進角量Ａai」だけ進角させられる。その結果、機関１０の発生トルクは増大するから、二次空気供給停止時における機関１０の発生トルクの減少変化幅は小さくなる。なお、この時点におけるステップ３３５の処理により、前回の二次空気供給フラグＸＡＩoldの値は「０」に設定される。
【０１１４】
その後、ＣＰＵが図３のルーチンを実行すると、ＣＰＵはステップ３０５、ステップ３１０に続くステップ３１５にて「Ｙｅｓ」と判定し、ステップ３４０にて「Ｎｏ」と判定する。そして、ＣＰＵはステップ３５０に進み、その時点の二次空気切換時進角量Ａaiから正の微小な所定値αを減じた値を新たな二次空気切換時進角量Ａaiとして設定する。即ち、ＣＰＵは二次空気切換時進角量Ａaiを値αだけ減少せしめる。そして、ＣＰＵはステップ３３５にて二次空気切換時進角量Ａaiが０以上であるか否かを判定する。このとき、二次空気切換時進角量Ａaiが０以上であれば、ＣＰＵはステップ３３５にて「Ｙｅｓ」と判定しステップ３２５以降に直接進む。これに対し、二次空気切換時進角量Ａaiが０以上でないと、ＣＰＵはステップ３３５にて「Ｎｏ」と判定してステップ３２０に進み、二次空気切換時進角量Ａaiの値を「０」に設定し、その後、ステップ３２５以降に進む。
【０１１５】
以上の処理により、二次空気切換時進角量Ａaiは次第に減少せしめられるので、最終点火時期Ａigは徐々に遅角され、やがて基本点火時期Ａbaseを暖機遅角量Ａdankiだけ遅角させた時期へと戻る。
【０１１６】
このような、二次空気供給停止時の点火時期補正（二次空気切換時進角量Ａaiによる進角補正）は、二次空気供給中において、負荷ＫＬが閾値負荷ＫＬｔｈ以下であって、且つ、積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈに到達した場合にも発生する。即ち、この場合、ＣＰＵは図２のルーチンのステップ２３０にて「Ｎｏ」と判定し、ステップ２４５及びステップ２５０の処理を行う。従って、二次空気の供給が停止されるとともに、二次空気供給フラグＸＡＩの値が「０」に変更させられる。この結果、ＣＰＵは、上述した「二次空気供給中に負荷ＫＬが閾値負荷ＫＬｔｈより大きくなった場合」と同様、点火時期を二次空気切換時進角量Ａaiだけ進角させる。従って、二次空気供給停止時のトルク変動幅（トルク減少変化幅）が低下させられる。
【０１１７】
なお、ＣＰＵは図２のルーチンを実行した際、その時点が始動直後でなければ、ステップ２０５にて「Ｎｏ」と判定してステップ２２０以降に直接進む。従って、二次空気供給仮フラグＸＡＩkariの値を「１」に設定するか否かの判断（ステップ２１０）は機関１０の始動直後に一度のみ実行される。
【０１１８】
更に、ＣＰＵはステップ２１０に進んだとき、冷却水温ＴＨＷが低側閾値温度ＴＨＷloより小さいか、又は、高側閾値温度ＴＨＷhiより大きいと、そのステップ２１０にて「Ｎｏ」と判定してステップ２２０以降に直接進む。この結果、二次空気供給仮フラグＸＡＩkariの値はイニシャルルーチンにより設定された値、即ち「０」に維持される。従って、ＣＰＵはステップ２２０に進んだとき、そのステップ２２０にて「Ｎｏ」と判定してステップ２４５及びステップ２５０へと進む。この結果、二次空気供給フラグＸＡＩの値は「０」に維持され、且つ、二次空気の供給は行われない。
【０１１９】
また、負荷ＫＬが閾値負荷ＫＬｔｈより大きくなることにより二次空気の供給が停止された後、再び、負荷ＫＬが閾値負荷ＫＬｔｈ以下になると、ＣＰＵは図２のステップ２２５にて「Ｙｅｓ」と判定し、ステップ２３０以降に進む。従って、積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈ以下であれば、二次空気の供給が再開される。
【０１２０】
以上、説明したように、第１制御装置は、
所定の二次空気供給条件（上記条件１乃至上記条件３）が成立したとき、「排気通路の触媒４３よりも上流側位置（排気ポート２３）」に二次空気としての空気を供給することにより、機関１０の燃焼室２１から排出されたガスを排気通路内において燃焼させて「触媒４３の暖機を促進する」とともに、その二次空気供給条件が不成立となったとき二次空気の供給を停止する二次空気供給手段（二次空気供給系統５０及び図２のルーチンを参照。）と、
前記二次空気が供給されている状態から前記二次空気の供給が停止されている状態へと変化する二次空気供給停止時である「二次空気供給状態の切換え時」を含む所定の切換過渡期間（即ち、二次空気供給停止時から二次空気切換時進角量Ａaiが「０」にまで減少させられるまでの期間である供給停止後過渡期間）において、前記二次空気供給状態の切換えに伴って生じる「燃焼室２１内での混合気の燃焼状態の変化」による「前記機関１０の発生トルクの変化」の幅（この場合、減少変化幅）を減少させるように「機関の制御量（点火時期Ａig）」を制御するトルク変動抑制手段（図３のステップ３１５乃至ステップ３５５を参照。）と、
を備えている。
【０１２１】
従って、第１制御装置によれば、前記トルク変動抑制手段が、二次空気供給状態の切換えに伴って生じる機関１０の発生トルクの変化の幅（即ち、二次空気供給中の混合気の燃焼状態と二次空気供給停止中の混合気の燃焼状態との相違により発生する機関１０の発生トルク変化の量）を減少させるように「機関の制御量」である点火時期を制御する（進角させる）。従って、二次空気供給状態の切換えに伴う機関のトルク変動幅（減少変化幅）を低減することができるので、二次空気供給状態を切り換える際の機関の運転状態を安定化することができる。
【０１２２】
更に、第１制御装置の前記トルク変動抑制手段は、
前記二次空気供給停止時を開始時点とし前記二次空気供給停止時から所定期間だけ後の時点を終了時点とする前記切換過渡期間としての供給停止後過渡期間（即ち、二次空気供給停止時から二次空気切換時進角量Ａaiが「０」にまで減少させられるまでの期間）において、前記二次空気の供給停止に起因する前記機関１０の発生トルクの減少変化幅を小さくするために前記機関１０の発生トルクが増大するように「前記機関１０の前記二次空気以外の制御量であっての前記機関１０の発生トルクを増減させることができる制御量である点火時期」を変化させるように構成されている（図３のステップ３１５乃至ステップ３５５を参照。）。
【０１２３】
従って、第１制御装置は、供給停止後過渡期間において二次空気の供給停止に伴う機関の発生トルクの低下量（減少変化幅）が小さくなるように機関１０の発生トルクを増大させることができる。その結果、第１制御装置は、二次空気の供給を停止する際の機関の運転状態を安定化することができる。
【０１２４】
加えて、第１制御装置は、
前記二次空気が供給されている状態において、前記機関の点火時期を、前記最適点火時期（ＭＢＴ）よりも遅角側の点火時期に設定する点火時期遅角手段（図３のステップ３０５、及び、ステップ３１０乃至ステップ３３５等を参照。）を備え、
前記トルク変動抑制手段として、前記供給停止後過渡期間において、前記機関の制御量としての前記機関の点火時期を、前記点火時期遅角手段によって設定される点火時期（基本点火時期Ａbaseを暖機遅角量Ａdankiだけ遅角側に補正した点火時期）に代え、前記供給停止後過渡期間の開始直前における点火時期（基本点火時期Ａbaseを暖機遅角量Ａdankiだけ遅角側に補正した点火時期）よりも進角させる（二次空気切換時進角量Ａaiだけ進角側に補正する）ように構成された供給停止後点火時期進角手段（図３のルーチンの特に、ステップ３１５、ステップ３４０乃至ステップ３５５、ステップ３２０乃至ステップ３３５等を参照。）を備える。
【０１２５】
このように第１制御装置は、点火時期遅角手段により点火時期が遅角される。その結果、排気温度が上昇するので、触媒４３の温度を早期に上昇させることができる。このような状態において、二次空気の供給が停止されたとき、上記供給停止後点火時期進角手段は点火時期を二次空気切換時進角量Ａaiだけ進角側に補正するるので、点火時期が最適点火時期へと近づく。従って、二次空気の供給停止に伴う機関の発生トルクの減少変化幅（低下量）が小さくなるように、機関１０の発生トルクが増大させられる。その結果、二次空気の供給を停止する際の機関の運転状態を安定化することができる。
【０１２６】
（第２実施形態）
次に、本発明の第２実施形態に係る制御装置（以下、「第２制御装置」とも称呼する。）について説明する。この第２制御装置は、点火時期に代え、スロットル弁開度（結果的に、混合気量）を制御することにより二次空気供給切換の際の機関発生トルクの変動幅を小さくする点において第１制御装置と相違している。従って、以下、この相違点を中心として説明を加える。
【０１２７】
（作動の概略）
先ず、第２制御装置の作動の概略について説明する。第２制御装置は、第１制御装置と同様、上述した二次空気供給条件が成立しているときに二次空気を導入する。更に、第２制御装置は、スロットル弁３４の開度制御によるアイドル回転速度フィードバック制御を実行する。
【０１２８】
より具体的に述べると、第２制御装置は、機関１０の運転状態がアイドル運転状態である場合、機関回転速度ＮＥが目標アイドル回転速度ＮＴより正の所定値ΔＮＴ以上大きいと、スロットル弁３４の開度（スロットル弁開度）を所定時間あたり微小開度変更量ΔＴＡｔだけ減少させる。更に、第２制御装置は、機関１０の運転状態がアイドル運転状態であるとき、機関回転速度ＮＥが目標アイドル回転速度ＮＴより所定値ΔＮＴ以上小さいとスロットル弁開度を所定時間あたり微小開度変更量ΔＴＡｔだけ増大させる。これにより、第２制御装置は、機関回転速度ＮＥを目標回転速度ＮＴの近傍（ＮＴ−ΔＮＴ〜ＮＴ＋ΔＮＴ）に維持する。この制御がスロットル弁開度によるアイドル回転速度フィードバック制御である。
【０１２９】
加えて、第２制御装置は、機関１０の運転状態がアイドル運転状態である場合、二次空気供給停止時を開始時点とし二次空気供給停止時から第１所定時間Ｔ１が経過した時点を終了時点とする「供給停止後過渡期間」において、機関回転速度ＮＥが目標アイドル回転速度ＮＴの近傍（ＮＴ−ΔＮＴ〜ＮＴ＋ΔＮＴ）でないとき、スロットル弁開度制御によるアイドル回転速度フィードバック制御における微小開度変更量ΔＴＡｔを、通常期間（供給停止後過渡期間以外の期間及び後述する供給開始後過渡期間以外の期間）よりも大きくする。
【０１３０】
換言すると、第２制御装置は、二次空気供給停止時から第１所定時間Ｔ１以内において、スロットル弁３４によるアイドル回転速度フィードバック制御のゲインを大きくする。これにより、第２制御装置は、二次空気供給停止による機関発生トルクの変化の幅（低下量、減少変化幅）を相殺又は小さくするように機関発生トルクを迅速に変化（増大）させる。この結果、二次空気の供給を停止する際の機関の運転状態を安定化することができる。
【０１３１】
更に、第２制御装置は、機関１０の運転状態がアイドル運転状態であるとき、二次空気供給開始時（供給再開時）を開始時点とし二次空気供給開始時から第２所定時間Ｔ２が経過した時点を終了時点とする「供給開始後過渡期間」においても、スロットル弁開度制御によるアイドル回転速度フィードバック制御における微小開度変更量ΔＴＡｔを、通常期間（供給開始後過渡期間以外の期間及び供給停止後過渡期間以外の期間）よりも大きくする。
【０１３２】
換言すると、第２制御装置は、二次空気の供給開始時から第２所定時間Ｔ２以内において、スロットル弁開度制御によるアイドル回転速度フィードバック制御のゲインを大きくする。これにより、第２制御装置は、二次空気供給開始による機関発生トルクの変化の幅（増大変化幅、上昇量）を相殺又は小さくするように機関発生トルクを迅速に変化（減少）させる。この結果、二次空気の供給を開始（再開）する際の機関の運転状態を安定化することができる。
【０１３３】
加えて、第２制御装置は、二次空気の供給が停止されたとき、スロットル弁開度を所定値（トルク変化見込み補正量）TAffだけ増大させる。これにより、第２制御装置は、二次空気供給停止による機関発生トルクの変化の幅（低下量、減少変化幅）を相殺又は小さくするように機関発生トルクを変化（増大）させる。この結果、二次空気供給停止時の機関の発生トルクの変化幅が小さくなるので、二次空気供給停止時のトルク変動に起因する振動の発生等を回避し、機関の運転状態を安定化することができる。
【０１３４】
なお、第２制御装置において、二次空気の供給が開始されたとき、スロットル弁開度を所定値（トルク変化見込み補正量）TAonだけ減少させてもよい。これによれば、二次空気供給開始による機関発生トルクの変化の幅（増大変化幅、上昇量）を相殺又は小さくするように機関発生トルクが迅速に変化（減少）させられる。この結果、二次空気供給開始時の機関の発生トルクの変化幅が小さくなるので、二次空気供給開始時のトルク変動に起因する振動の発生等を回避し、機関の運転状態を安定化することができる。
【０１３５】
（実際の作動）
次に、第２制御装置の実際の作動について説明する。第２制御装置のＣＰＵは図２のルーチンを所定時間の経過毎に繰り返し実行している。従って、第２制御装置は第１制御装置と同様に、二次空気を供給し且つ二次空気の供給を停止する。
【０１３６】
更に、第２制御装置のＣＰＵは、図４にフローチャートにより示した点火時期制御ルーチンを各気筒のクランク角が所定クランク角（例えば、圧縮上死点前９０°クランク角、ＢＴＤＣ９０°）に一致する毎に繰り返し実行するようになっている。
【０１３７】
従って、何れかの気筒のクランク角が所定クランク角に一致すると、ＣＰＵ７１はステップ４００から処理を開始し、以下に述べるステップ４１０乃至ステップ４４０の処理を順に行い、ステップ４９５に進んで本ルーチンを一旦終了する。
【０１３８】
ステップ４１０：ＣＰＵは上述した図３のステップ３０５と同じ基本点火時期テーブルMapAaseに、現時点の負荷ＫＬ及び現時点の機関回転速度ＮＥを適用することにより、基本点火時期Ａbaseを決定する。上述したように、基本点火時期テーブルMapAaseによれば、基本点火時期Ａbaseは、機関１０の運転状態がアイドル運転状態である場合を除き、最適点火時期（ＭＢＴ）に設定される。また、基本点火時期テーブルMapAaseによれば、機関１０の運転状態がアイドル運転状態である場合の基本点火時期Ａbaseは、最適点火時期（ＭＢＴ）よりも僅かだけ遅角側の点火時期に設定される。
【０１３９】
ステップ４２０：ＣＰＵは、上述したステップ３１０と同じ暖機遅角量テーブルMapAdankiに現時点の冷却水温ＴＨＷを適用することにより、暖機遅角量Ａdankiを決定する。
ステップ４３０：ＣＰＵは、下記（３）式に従って最終的な点火時期Ａigを決定する。即ち、最終点火時期Ａigは、基本点火時期Ａbaseが暖機遅角量Ａdankiだけ遅角側に補正された点火時期となる。
Ａig＝Ａbase−Ａdanki    …（３）
ステップ４４０：ＣＰＵは、現時点におけるクランク角が圧縮上死点前９０°となっている気筒の点火時期が上記ステップ４３０にて決定された最終点火時期Ａigとなるように、その気筒の点火プラグ２４に点火信号を送出する。
【０１４０】
以上の処理により、冷却水温ＴＨＷが低側閾値温度ＴＨＷloと高側閾値温度ＴＨＷhiとの間の温度である場合、実際の点火時期は基本点火時期Ａbaseよりも暖機遅角量Ａdankiだけ遅角側の点火時期となる。また、機関１０の運転状態がアイドル運転状態にある場合、基本点火時期Ａbaseは冷却水温ＴＨＷに関わらず最適点火時期より遅角側の点火時期に設定される。以上から、冷却水温ＴＨＷが低側閾値温度ＴＨＷloと高側閾値温度ＴＨＷhiとの間の温度である場合、及び、機関１０の運転状態がアイドル運転状態にある場合、点火時期は最適点火時期（ＭＢＴ）より遅角側の点火時期となる。
【０１４１】
一方、ＣＰＵは図５にフローチャートにより示したスロットル弁制御ルーチンを所定時間の経過毎に実行している。従って、所定のタイミングになると、ＣＰＵは図５のステップ５００から処理を開始してステップ５０５に進み、現時点の運転状態がアイドル運転状態であるか否かを判定する。より具体的には、ＣＰＵは以下に述べるアイドル運転条件１及びアイドル運転条件２の両条件が共に成立しているとき、現時点の運転状態がアイドル運転状態であると判定する。
【０１４２】
（アイドル運転条件１）スロットル弁開度ＴＡが微小開度ＴＡ０以下である（即ち、スロットル弁３４が実質的に全閉状態にある。）。この条件は、アクセルペダル操作量Accpが「０」であることに置換されてもよい。
（アイドル運転条件２）機関回転速度ＮＥが、目標アイドル回転速度基準値ＮＴ０に所定値ΔＮＡを加えた値（ＮＴ０＋ΔＮＡ）と、目標アイドル回転速度基準値ＮＴ０から所定値ΔＮＡを減算した値（ＮＴ０−ΔＮＡ）と、の間の回転数である。所定値ΔＮＡは正の値である。目標アイドル回転速度基準値ＮＴ０は、後述する目標アイドル回転速度ＮＴのうちの機関１０が暖機を完了した時点の目標アイドル回転速度である。
【０１４３】
いま、現時点の運転状態がアイドル運転状態でないとすると、ＣＰＵはステップ５０５にて「Ｎｏ」と判定してステップ５１０に進み、アクセルペダルの操作量Accpと目標スロットル弁開度TAtgtとの関係を規定したテーブルMapTAtgtに、実際のアクセルペダルの操作量Accpを適用することにより、現時点における目標スロットル弁開度TAtgtを決定する。このテーブルMapTAtgtによれば、アクセルペダルの操作量Accpが大きいほど目標スロットル弁開度TAtgtが大きくなるように目標スロットル弁開度TAtgtが決定される。
【０１４４】
次に、ＣＰＵはステップ５１５に進み、フィードバック補正量TAfbを「０」に設定する。その後、ＣＰＵはステップ５２０に進み、下記（４）式に従って目標スロットル弁開度TAtgtを決定する。この（４）式のTAffは二次空気供給開始時におけるトルク変化見込み補正量であって、後述する図７のルーチンにより求められている。
TAtgt＝TAbase＋TAfb＋TAff    …（４）
【０１４５】
次いで、ＣＰＵはステップ５２５に進み、実際のスロットル弁開度が目標スロットル弁開度TAtgtと一致するようにスロットル弁アクチュエータ３４ａに駆動信号を送出する。この結果、実際のスロットル弁開度はアクセルペダルの操作量Accpが大きいほど大きくなるように制御される。
【０１４６】
これに対し、現時点の運転状態がアイドル運転状態であると、ＣＰＵはステップ５０５にて「Ｙｅｓ」と判定してステップ５３０に進み、冷却水温ＴＨＷと目標アイドル回転速度ＮＴとの関係を規定するテーブル（目標アイドル回転速度テーブル）MapNTに実際の冷却水温ＴＨＷを適用することにより現時点における目標アイドル回転速度ＮＴを決定する。
【０１４７】
この目標アイドル回転速度テーブルMapNTによれば、冷却水温ＴＨＷが暖機完了温度ＴＨＷｔｈ以下であるとき、目標アイドル回転速度ＮＴは冷却水温ＴＨＷが増大するにつれて減少するように決定される。更に、この目標アイドル回転速度テーブルMapNTによれば、冷却水温ＴＨＷが暖機完了温度ＴＨＷｔｈより大きいとき、目標アイドル回転速度ＮＴは冷却水温ＴＨＷに依らず一定値（暖機完了後目標アイドル回転速度ＮＴ０）に設定される。
【０１４８】
次に、ＣＰＵはステップ５３５に進み、冷却水温ＴＨＷとスロットル弁基本開度TAbaseとの関係を規定するテーブル（スロットル弁基本開度テーブル）MapTAbaseに実際の冷却水温ＴＨＷを適用することにより現時点におけるスロットル弁基本開度TAbaseを決定する。スロットル弁基本開度TAbaseは、機関回転速度ＮＥを目標アイドル回転速度ＮＴに一致させるためのスロットル弁開度のフィードフォワード量である。
【０１４９】
このスロットル弁基本開度テーブルMapTAbaseによれば、冷却水温ＴＨＷが暖機完了温度ＴＨＷｔｈ以下であるとき、スロットル弁基本開度TAbaseは冷却水温ＴＨＷが増大するにつれて減少するように決定される。更に、このスロットル弁基本開度テーブルMapTAbaseによれば、冷却水温ＴＨＷが暖機完了温度ＴＨＷｔｈより大きいとき、スロットル弁基本開度TAbaseは冷却水温ＴＨＷに依らず一定値に設定される。
【０１５０】
次に、ＣＰＵはステップ５４０に進んでアイドル補正量増大フラグXLARGEの値が「１」であるか否かを判定する。このアイドル補正量増大フラグXLARGEの値は、後述する図６に示したアイドル補正量増大フラグ操作ルーチンにより決定されている。
【０１５１】
アイドル補正量増大フラグXLARGEの値が「１」であることは、目標スロットル弁開度TAtgtの微小開度変更量ΔＴＡｔを大きい値に設定すべきであること、即ち、スロットル弁開度によるアイドル回転速度フィードバック制御におけるフィードバックゲインを大きくすべき（通常値よりも大きいゲインに設定すべき）であることを示す。これに対し、アイドル補正量増大フラグXLARGEの値が「０」であることは、微小開度変更量ΔＴＡｔを通常の値（小さな値）に設定すべきであること、即ち、スロットル弁開度によるアイドル回転速度フィードバック制御におけるフィードバックゲインを小さくすべき（通常時のゲインに設定すべき）であることを示す。
【０１５２】
アイドル補正量増大フラグXLARGEの値が「１」である場合、ＣＰＵはステップ５４０にて「Ｙｅｓ」と判定してステップ５４５に進み、微小開度変更量ΔＴＡｔを相対的に大きな第１の正の値ＴＡlargeに設定する。これに対し、アイドル補正量増大フラグXLARGEの値が「０」である場合、ＣＰＵはステップ５４０にて「Ｎｏ」と判定してステップ５５０に進み、微小開度変更量ΔＴＡｔを第１の正の値ＴＡlargeよりも小さい第２の正の値（通常の値）ＴＡsmallに設定する。
【０１５３】
次に、ＣＰＵはステップ５４５又はステップ５５０からステップ５５５に進み、現時点の機関回転速度ＮＥが、ステップ５３０にて決定された目標アイドル回転速度ＮＴから正の所定値ΔＮＴを減じた回転速度（ＮＴ−ΔＮＴ）より小さいか否かを判定する。この所定値ΔＮＴは前述した値ΔＮＡより小さい。値ΔＮＴは０であってもよい。
【０１５４】
そして、機関回転速度ＮＥが「目標アイドル回転速度ＮＴから所定値ΔＮＴを減じた回転速度（ＮＴ−ΔＮＴ）」より小さいと、ＣＰＵはステップ５５５にて「Ｙｅｓ」と判定してステップ５６０に進み、フィードバック補正量TAfbを微小開度変更量ΔＴＡｔだけ大きくする。
【０１５５】
次に、ＣＰＵはステップ５２０に進み、上記（４）式に従って目標スロットル弁開度TAtgtを決定する。その後、ＣＰＵはステップ５２５を経由してステップ５９５に進み、本ルーチンを一旦終了する。この結果、アイドル運転状態において機関回転速度ＮＥが回転速度（ＮＴ−ΔＮＴ）より小さいと、スロットル弁開度が所定時間に微小開度変更量ΔＴＡｔだけ増大させられる。従って、吸気通路を通して機関１０の燃焼室２１に供給される空気の量（吸入空気量）が増加する。
【０１５６】
一方、ＣＰＵは図示しない燃料噴射制御ルーチンにより、第１制御装置と同様、吸気行程直前にある気筒（燃料噴射気筒）に吸入される空気量（筒内吸入空気量Ｍｃ）を吸入空気量Ｇａ及び機関回転速度ＮＥに基づいて推定し、その筒内吸入空気量Ｍｃを目標空燃比（例えば、理論空燃比又は冷却水温ＴＨＷが大きくなるほど理論空燃比に向けてリーン側に移行するリッチ空燃比）で除した量に応じた量の燃料を燃料噴射気筒の燃焼室２１に供給している。従って、上記吸入空気量の増加に伴って筒内吸入空気量Ｍｃが増大し、それにより燃焼室２１に供給される燃料の量（供給燃料量）が増大するので、燃焼室２１において燃焼に供される混合気量が増大する。この結果、機関１０の発生トルクが増大するので、機関回転速度ＮＥが上昇する。
【０１５７】
一方、ステップ５５５の実行時点において、機関回転速度ＮＥが「目標アイドル回転速度ＮＴから所定値ΔＮＴを減じた回転速度（ＮＴ−ΔＮＴ）」以上であると、ＣＰＵはステップ５５５にて「Ｎｏ」と判定してステップ５６５に進み、機関回転速度ＮＥが「目標アイドル回転速度ＮＴに所定値ΔＮＴを加えた回転速度（ＮＴ＋ΔＮＴ）」より大きいか否かを判定する。
【０１５８】
そして、機関回転速度ＮＥが「目標アイドル回転速度ＮＴに所定値ΔＮＴを加えた回転速度（ＮＴ＋ΔＮＴ）」より大きいと、ＣＰＵはステップ５６５にて「Ｙｅｓ」と判定してステップ５７０に進み、フィードバック補正量TAfbを微小開度変更量ΔＴＡｔだけ小さくする。
【０１５９】
その後、ＣＰＵはステップ５２０及びステップ５２５を経由してステップ５９５に進み、本ルーチンを一旦終了する。この結果、アイドル運転状態において機関回転速度ＮＥが回転速度（ＮＴ＋ΔＮＴ）より大きいと、スロットル弁開度が所定時間に微小開度変更量ΔＴＡｔだけ減少させられる。従って、吸気通路を通して機関１０の燃焼室２１に供給される空気の量（吸入空気量）が減少することにより筒内吸入空気量Ｍｃが減少し、それにより燃焼室２１に供給される燃料の量（供給燃料量）が減少するので、燃焼室２１において燃焼に供される混合気量が減少する。この結果、機関１０の発生トルクが減少するので、機関回転速度ＮＥが低下する。
【０１６０】
なお、ステップ５６５の実行時点において、機関回転速度ＮＥが「目標アイドル回転速度ＮＴに所定値ΔＮＴを加えた回転速度（ＮＴ＋ΔＮＴ）」以下であると、ＣＰＵはそのステップ５６５にて「Ｎｏ」と判定し、ステップ５２０に直接進む。そして、ＣＰＵはステップ５２５に進んだ後にステップ５９５に進む。従って、この場合、スロットル弁開度は変更されない。
【０１６１】
次に、上述したアイドル補正量増大フラグXLARGEの操作について説明する。ＣＰＵは図６にフローチャートにより示したアイドル補正量増大フラグ設定ルーチンを所定時間の経過毎に実行している。
【０１６２】
＜仮定１＞
以下、現時点が、二次空気供給フラグＸＡＩが「１」から「０」に変更された直後（即ち、二次空気の供給が停止された直後）の時点であるとして説明を行う。
【０１６３】
所定のタイミングになると、ＣＰＵは図６のステップ６００から処理を開始してステップ６１０に進み、所定時間前に本ルーチンを実行した際の二次空気供給フラグＸＡＩの値、即ち、前回の二次空気供給フラグＸＡＩoldの値が「１」であるか否かを判定する（後述するステップ６４０を参照。）。前記仮定１によれば、前回の二次空気供給フラグＸＡＩoldの値は「１」である。従って、ＣＰＵはステップ６１０にて「Ｙｅｓ」と判定してステップ６２０に進み、現時点における二次空気供給フラグＸＡＩの値が「０」であるか否かを判定する。前記仮定１によれば、現時点の二次空気供給フラグＸＡＩの値は「０」である。従って、ＣＰＵはステップ６２０にて「Ｙｅｓ」と判定し、以下に述べるステップ６３０及びステップ６４０の処理を順に行い、ステップ６９５に進んで本ルーチンを一旦終了する。
【０１６４】
ステップ６３０：ＣＰＵは、アイドル補正量増大フラグXLARGEの値を「１」に設定する。
ステップ６４０：ＣＰＵは、現時点における二次空気供給フラグＸＡＩの値を、前回の二次空気供給フラグＸＡＩoldの値として格納する。
以上の処理により、仮定１の場合、アイドル補正量増大フラグXLARGEの値は「１」に設定される。
【０１６５】
＜仮定２＞
以下、現時点が、二次空気供給フラグＸＡＩが「０」から「１」に変更された直後（即ち、二次空気の供給が開始された直後）の時点であると仮定して説明を続ける。
【０１６６】
この場合、ＣＰＵはステップ６１０にて「Ｎｏ」と判定してステップ６５０に進み、現時点における二次空気供給フラグＸＡＩの値が「１」であるか否かを判定する。前記仮定２によれば、現時点の二次空気供給フラグＸＡＩの値は「１」である。従って、ＣＰＵはステップ６５０にて「Ｙｅｓ」と判定し、前述したステップ６３０及びステップ６４０の処理を順に行い、ステップ６９５に進んで本ルーチンを一旦終了する。以上の処理により、仮定２の場合も仮定１の場合と同様、アイドル補正量増大フラグXLARGEの値は「１」に設定される。
【０１６７】
＜仮定３＞
以下、現時点が、二次空気供給フラグＸＡＩが「１」に維持されている（即ち、現時点及び現時点から所定時間前の時点の何れにおいても二次空気が供給されている）と仮定して説明を続ける。
【０１６８】
この場合、ＣＰＵはステップ６１０にて「Ｙｅｓ」と判定するとともにステップ６２０にて「Ｎｏ」と判定してステップ６６０に進む。ＣＰＵはステップ６６０にて、現時点が、「二次空気供給フラグＸＡＩの値が「１」から「０」に変化してから第１所定時間Ｔ１以内であるか否か」又は「二次空気供給フラグＸＡＩの値が「０」から「１」に変化してから第２所定時間Ｔ２以内であるか否か」を判定する。即ち、ＣＰＵは、現時点が二次空気の供給を停止してから第１所定時間Ｔ１以内（供給停止後過渡期間内）であるか、又は、現時点が二次空気の供給を開始してから第２所定時間Ｔ２以内（供給開始後過渡期間内）であるか否かを判定する。
【０１６９】
このとき、二次空気供給フラグＸＡＩの値が「０」から「１」に変化してから第２所定時間Ｔ２以内であると、ＣＰＵはステップ６６０にて「Ｙｅｓ」と判定してステップ６７０に進み、現時点の機関回転速度ＮＥが低側回転閾値速度（ＮＴ−ΔＮＴ）以上であり且つ高側回転閾値速度（ＮＴ＋ΔＮＴ）以下であるか否かを判定する。即ち、ＣＰＵは、ステップ６７０にて、現時点の機関回転速度ＮＥが十分に目標アイドル回転速度ＮＴに近づいていて安定しているか否かを判定する。なお、ステップ６６０において、低側回転閾値速度は（ＮＴ−ΔＮＴ−ΔＮＴＴ）、高側回転閾値速度は（ＮＴ＋ΔＮＴ＋ΔＮＴＴ）に設定されてもよい（但し、ΔＮＴＴ＞０）。
【０１７０】
機関回転速度ＮＥが低側回転閾値速度（ＮＴ−ΔＮＴ）以上であり且つ高側回転閾値速度（ＮＴ＋ΔＮＴ）以下であれば、ＣＰＵはステップ６７０にて「Ｙｅｓ」と判定してステップ６８０に進み、アイドル補正量増大フラグXLARGEの値を「０」に設定する。その後、ＣＰＵは前述したステップ６４０を経由してステップ６９５に進み、本ルーチンを一旦終了する。
【０１７１】
これに対し、ステップ６７０の判定時において、機関回転速度ＮＥが低側回転閾値速度（ＮＴ−ΔＮＴ）より小さいか又は高側回転閾値速度（ＮＴ＋ΔＮＴ）より大きいと、ＣＰＵはステップ６７０にて「Ｎｏ」と判定し、前述したステップ６３０及びステップ６４０へと進む。これにより、アイドル補正量増大フラグXLARGEの値は「１」に維持される。
【０１７２】
更に、上述したステップ６６０の判定時において、現時点が、二次空気供給フラグＸＡＩの値が「０」から「１」に変化してから第２所定時間Ｔ２が経過した時点以降である場合、ＣＰＵはそのステップ６６０にて「Ｎｏ」と判定してステップ６８０に直接進む。この結果、アイドル補正量増大フラグXLARGEの値は「０」に設定される。
【０１７３】
＜仮定４＞
以下、現時点が、二次空気供給フラグＸＡＩが「０」に維持されている（即ち、現時点及び現時点から所定時間前の時点の何れにおいても二次空気の供給が停止されている）と仮定して説明を続ける。
【０１７４】
この場合、ＣＰＵはステップ６１０にて「Ｎｏ」と判定するとともにステップ６５０にても「Ｎｏ」と判定してステップ６６０に進む。このとき、二次空気供給フラグＸＡＩの値が「１」から「０」に変化してから第１所定時間Ｔ１以内であると、ＣＰＵはステップ６６０にて「Ｙｅｓ」と判定してステップ６７０に進む。
【０１７５】
そして、機関回転速度ＮＥが低側回転閾値速度（ＮＴ−ΔＮＴ）以上であり且つ高側回転閾値速度（ＮＴ＋ΔＮＴ）以下であれば、ＣＰＵはステップ６７０にて「Ｙｅｓ」と判定してステップ６８０に進み、アイドル補正量増大フラグXLARGEの値を「０」に設定する。その後、ＣＰＵは前述したステップ６４０を経由してステップ６９５に進み、本ルーチンを一旦終了する。
【０１７６】
これに対し、ステップ６７０の判定時において、機関回転速度ＮＥが低側回転閾値速度（ＮＴ−ΔＮＴ）より小さいか又は高側回転閾値速度（ＮＴ＋ΔＮＴ）より大きいと、ＣＰＵはステップ６７０にて「Ｎｏ」と判定し、前述したステップ６３０及びステップ６４０へと進む。これにより、アイドル補正量増大フラグXLARGEの値は「１」に維持される。
【０１７７】
更に、上述したステップ６６０の判定時において、現時点が、「二次空気供給フラグＸＡＩの値が「１」から「０」に変化してから第１所定時間Ｔ１が経過した時点」以降であると、ＣＰＵはそのステップ６６０にて「Ｎｏ」と判定してステップ６８０に直接進む。この結果、アイドル補正量増大フラグXLARGEの値は「０」に設定される。
【０１７８】
次に、上述した二次空気供給開始時におけるトルク変化見込み補正量TAffの算出の仕方について説明する。ＣＰＵは図７にフローチャートにより示したトルク変化見込み補正量算出ルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、ＣＰＵは図７のステップ７００から処理を開始してステップ７１０に進む。
【０１７９】
＜仮定１＞
いま、二次空気の供給が停止された直後であると仮定する。この場合、現時点の二次空気供給フラグＸＡＩの値は「０」であり、所定時間前に本ルーチンを実行した時点の二次空気供給フラグＸＡＩである「前回の二次空気供給フラグＸＡＩold」の値は「１」である。
【０１８０】
ＣＰＵはステップ７１０にて現時点の二次空気供給フラグＸＡＩの値が「０」であるか否かを判定する。上記仮定１に従うと、二次空気供給フラグＸＡＩの値は「０」である。従って、ＣＰＵはステップ７１０にて「Ｙｅｓ」と判定してステップ７２０に進み、前回の二次空気供給フラグＸＡＩoldが「１」であるか否かを判定する。上記仮定１に従うと、前回の二次空気供給フラグＸＡＩoldの値は「１」である。従って、ＣＰＵはステップ７２０にても「Ｙｅｓ」と判定してステップ７３０に進む。
【０１８１】
ＣＰＵはステップ７３０にて、機関回転速度ＮＥ、負荷ＫＬ及び吸気弁開弁進角角度ＶＶＴと、トルク変化見込み補正量TAffと、の関係を規定したテーブルMapTAffに、実際の機関回転速度ＮＥ、実際の負荷ＫＬ及び実際の吸気弁開弁進角角度ＶＶＴを適用することにより、現時点のトルク変化見込み補正量TAffを取得する。
【０１８２】
このテーブルMapTAffは、予め実験により求められたデータに基づいて作成されている。そのデータとは、ある機関回転速度ＮＥ、ある負荷ＫＬ及びある吸気弁開弁進角角度ＶＶＴにて機関１０が運転されている場合において二次空気の供給が停止されたときに生じる機関発生トルクの変化の幅（減少量、減少変化幅）を相殺或いは極力小さくするためのトルク」を機関１０に発生させるために必要な「スロットル弁の増大量（アイドル運転状態にあるときにはスロットル弁基本開度TAbaseから増加すべき量）」を「トルク変化見込み補正量TAff」として求めたデータである。
【０１８３】
なお、テーブルMapTAffは、更にアクセルペダル操作量Accpをパラメータとして採用してもよい。即ち、テーブルMapTAffは、機関回転速度ＮＥ、負荷ＫＬ、吸気弁開弁進角角度ＶＶＴ及びアクセルペダル操作量Accpと、トルク変化見込み補正量TAffと、の関係を規定したテーブルであってもよい。また、テーブルMapTAffは、冷却水温ＴＨＷ等をテーブルの引数として更に有してもよい。即ち、テーブルMapTAffは、二次空気供給停止時における機関の発生トルク減少変化幅に影響を及ぼす機関の運転状態パラメータと、トルク変化見込み補正量TAffと、の関係を規定するテーブルであればよい。
【０１８４】
次に、ＣＰＵはステップ７４０に進み、現時点における二次空気供給フラグＸＡＩの値を、前回の二次空気供給フラグＸＡＩoldの値として格納する。その後、ＣＰＵはステップ７９５に進み本ルーチンを一旦終了する。
【０１８５】
このように、二次空気の供給が停止されたとき、トルク変化見込み補正量TAffがテーブルMapTAffに基づいて所定の値に設定されるので、図５のステップ５２０及びステップ５２５の処理によってスロットル弁開度がトルク変化見込み補正量TAffだけステップ状に増大する。
【０１８６】
従って、吸気通路を通して燃焼室２１に吸入される吸入空気量がステップ状に増大する。従って、燃焼室２１に供給される燃料の量もステップ状に増大する。この結果、燃焼室２１に供給される混合気量がステップ状に増大するから、機関１０の発生トルクはその混合気量の増大分に応じて増大する。この結果、二次空気の供給停止に伴うトルク減少変化幅を小さくすることができる。
【０１８７】
＜仮定２＞
いま、二次空気の供給が停止された状態が継続していると仮定する。この場合、現時点の二次空気供給フラグＸＡＩの値及び前回の二次空気供給フラグＸＡＩoldの値は何れも「０」である。
【０１８８】
従って、ＣＰＵはステップ７１０にて「Ｙｅｓ」と判定するとともにステップ７２０にて「Ｎｏ」と判定し、ステップ７５０に進んでトルク変化見込み補正量TAffの値を微小量ΔTAffだけ減じる。そして、ＣＰＵはステップ７６０に進み、トルク変化見込み補正量TAffの値が０以上であるか否かを判定し、トルク変化見込み補正量TAffの値が０以上であればステップ７６０からステップ７４０を経由してステップ７９５に進む。これに対し、ステップ７６０の実行時点において、トルク変化見込み補正量TAffの値が０以上でなければ、ＣＰＵはステップ７６０にて「Ｎｏ」と判定してステップ７７０に進み、トルク変化見込み補正量TAffの値を「０」に設定する。即ち、ＣＰＵ７１は、ステップ７６０及びステップ７７０の処理によりトルク変化見込み補正量TAffの値が負の値とならないようにしている。
【０１８９】
このような処理は、二次空気の供給が停止された状態が継続している限り繰り返し実行される。従って、二次空気の供給が停止された直後からトルク変化見込み補正量TAffの値は次第に減少し（所定時間あたり微小量ΔTAffずつ減少し）、その後「０」に到達する。
【０１９０】
＜仮定３＞
いま、二次空気が供給されている状態（二次空気供給開始時又は二次空気の供給が継続している状態）であると仮定する。この場合、現時点の二次空気供給フラグＸＡＩの値は「１」である。従って、ＣＰＵはステップ７１０にて「Ｎｏ」と判定し、ステップ７７０に進んでトルク変化見込み補正量TAffの値を「０」に設定する。
【０１９１】
以上、説明したように、第２制御装置は、
供給停止後過渡期間（二次空気供給フラグＸＡＩの値が「１」から「０」に変化した時点を開始時点とし、二次空気供給フラグＸＡＩの値が「１」から「０」へと変化してからトルク変化見込み補正量TAffの値が減少して０に到達する時点、即ち、二次空気供給停止時から所定期間だけ後の時点を終了時点とする期間）において、スロットル弁開度をトルク変化見込み補正量TAffだけ増大する（図５のステップ５２０、図７のルーチンを参照。）。
【０１９２】
従って、第２制御装置は、供給停止後過渡期間において、「機関１０の吸気通路を通して燃焼室２１に吸入される空気の量である機関の制御量としての吸入空気量」及び「吸入空気量（及び目標空燃比）により決まる燃焼室２１に供給される燃料の量である前記機関の制御量としての供給燃料量」を、「前記供給停止後過渡期間の開始直前におけるスロットル弁開度により決まる吸入空気量」及び「供給停止後過渡期間の開始直前における吸入空気量（及び目標空燃比）により決まる供給燃料量」よりもそれぞれ増大させる「トルク変動抑制手段としての混合気量増大手段」を備える装置である。
【０１９３】
このように、第２制御装置によれば、二次空気の供給が停止されたときに燃焼室２１に供給される混合気量（二次空気以外の機関発生トルクを変更させ得る機関の制御量）が増大させられる。従って、より多くの燃料が燃焼室２１内において燃焼するから、二次空気の供給停止に伴う機関の発生トルクの変動の幅（低下量）が小さくなるように、機関の発生トルクが増大させられる。その結果、二次空気の供給を停止する際の機関の運転状態を安定化することができる。
【０１９４】
また、第２制御装置は、
前記機関１０の運転状態がアイドル運転状態であるとき前記機関の実際の回転速度ＮＥが目標アイドル回転速度ＮＴと一致するように「前記機関の制御量としての前記機関のスロットル弁開度」をフィードバック制御する「アイドル時スロットル弁開度制御手段（図５のルーチン、特に、ステップ５５５乃至ステップ５７０を参照。）」と、
切換過渡期間（前記供給停止後過渡期間及び／又は前記供給開始後過渡期間）において前記アイドル時スロットル弁開度制御手段によるスロットル弁開度の変更速度（所定時間におけるスロットル弁開度の変更量である微小開度変更量ΔＴＡｔ）を同切換過渡期間以外におけるスロットル弁開度の変更速度よりも増大させる「トルク変動抑制手段としてのスロットル弁開度変更ゲイン増大手段」を備える（図５のステップ５４０乃至ステップ５５０、及び、図６のルーチンを参照。）。
【０１９５】
これによれば、切換過渡期間においてスロットル弁開度の変更速度が増大されるから、二次空気供給状態の切換えに伴って生じる機関の発生トルクの変化の幅が「スロットル弁開度変更によるアイドル回転速度フィードバック制御」により迅速に低減させられる。従って、二次空気の供給を開始する際及び／又は二次空気の供給を停止する際の機関の運転状態を安定化することができる。
【０１９６】
なお、第２制御装置において、図６のステップ６７０の処理を省略することもできる。この場合、ＣＰＵはステップ６６０にて「Ｙｅｓ」と判定したときステップ６３０に進み、ステップ６６０にて「Ｎｏ」と判定したときステップ６８０に進むように構成されることが好適である。
【０１９７】
（第３実施形態）
次に、本発明の第３実施形態に係る制御装置（以下、「第３制御装置」とも称呼する。）について説明する。この第３制御装置は、二次空気の供給が停止される前までに点火時期を進角させ、点火時期が最適点火時期（ＭＢＴ）にある程度まで近づいたときに二次空気の供給の停止を許容することにより、二次空気供給停止時のトルク変動の幅を小さくする。
【０１９８】
（作動の概略）
図８は、点火時期と、二次空気の供給を停止する前後における機関発生トルクの変化の幅（変化量）ΔＴＱと、の関係を示したグラフである。このグラフから明らかなように、二次空気の供給を停止するときの点火時期が最適点火時期（ＭＢＴ）より遅角側に向けて離れているほど（即ち、点火時期の遅角量が大きくなるほど）、二次空気の供給を停止するときの機関発生トルクの変化の幅ΔＴＱは大きくなる。この理由は定かではないが、二次空気を供給している場合には点火時期の遅角量が大きいほど燃焼状態が改善されるためであろうと考えられる。換言すると、点火時期が最適点火時期（ＭＢＴ）に近いほど（遅角量が小さいほど）、二次空気を供給しているときの燃焼状態と二次空気を停止したときの燃焼状態との差異が小さくなるからであると推定される。
【０１９９】
一方、一般的な内燃機関の制御装置は、機関冷間時に点火時期を最適点火時期（ＭＢＴ）よりも比較的大きく遅角している。これにより、排ガス温度が上昇し、触媒４３の暖機が促進される。更に、一般的な制御装置は、アイドル運転状態においても点火時期を最適点火時期より遅角している。従って、二次空気供給中の点火時期が最適点火時期よりも比較的大きく遅角側の点火時期となっている場合がある。このような状態において二次空気の供給を停止すると、機関発生トルクの変化の幅ΔＴＱが大きくなる。
【０２００】
そこで、第３制御装置は、二次空気の供給を停止する直前の期間（供給停止前過渡期間）において、点火時期の遅角量（触媒４３の暖機を促進するための暖機遅角量Ａdanki等）を徐々に小さくすることにより、点火時期を徐々に進角させる。そして、第３制御装置は、点火時期が「最適点火時期（ＭＢＴ）から所定量ΔＡrdthだけ遅角した閾値遅角点火時期Ａrdth」よりも進角側の点火時期になったとき（即ち、点火時期が最適点火時期（ＭＢＴ）に近づき、二次空気供給停止に伴う機関の発生トルクの変化幅ΔＴＱが閾値トルク変化幅ΔＴＱｔｈ以下となるとき）、二次空気の供給を実際に停止する。これにより、第３制御装置は、二次空気供給停止に伴う機関発生トルクの変化の幅を小さくすることができる。
【０２０１】
より具体的に説明すると、第３制御装置は、以下の条件１及び条件２が共に成立しているとき二次空気の供給を開始する。
＜条件１＞機関１０が始動された直後の冷却水温ＴＨＷが所定の範囲内である。即ち、機関１０が始動された直後の冷却水温ＴＨＷが、低側閾値温度ＴＨＷlo以上であり且つ高側閾値温度ＴＨＷhi以下である。
＜条件２＞二次空気の供給を停止する要求（二次空気供給停止要求）が発生していない（後述する二次空気供給停止要求フラグＸＯＦＦＹＫの値が「０」である。）。
【０２０２】
第３制御装置は、以下の条件３が成立したとき二次空気供給停止要求を発生する（後述する二次空気供給停止要求フラグＸＯＦＦＹＫの値を「１」に設定する。）。
＜条件３＞機関１０の始動後の積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈ以上である。
【０２０３】
第３制御装置は、以下の条件４及び条件５が成立したとき二次空気の供給を停止する。
＜条件４＞二次空気供給停止要求が発生している（二次空気供給停止要求フラグＸＯＦＦＹＫの値が「１」である）。
＜条件５＞点火時期の暖機遅角量Ａdankiが閾値暖機遅角量Ａdankith以下である。即ち、点火時期が「最適点火時期（ＭＢＴ）から所定量ΔＡrdthだけ遅角された閾値遅角点火時期Ａrdth」よりも進角側にある（点火時期が閾値遅角点火時期Ａrdthと同じか又は閾値遅角点火時期Ａrdthよりも最適点火時期に近い）。
【０２０４】
更に、第３制御装置は、始動後の積算吸入空気量ＳＧａが大きくなるほど、暖機遅角量Ａdankiを小さくする。これにより、始動後の積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈ以上に到達することに基づいて二次空気供給停止要求が発生した時点（又はその時点の近傍の時点）において、点火時期の暖機遅角量Ａdankiが閾値暖機遅角量Ａdankith以下となる。この結果、第３制御装置は、二次空気供給停止要求が発生した時点（又はその時点の近傍の時点）において、二次空気の供給を停止する。このとき、点火時期は最適点火時期に十分に近い点火時期となっている。従って、第３制御装置は、二次空気供給停止に伴う機関の発生トルクの変化の幅を小さくすることができ、且つ、二次空気供給停止要求の発生時点から大きく遅れることのない時点にて、二次空気の供給を停止することができる。
【０２０５】
（実際の作動）
次に、第３制御装置の実際の作動について説明する。第３制御装置のＣＰＵは図９にフローチャートにより示した二次空気供給ルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、ＣＰＵはステップ９００から処理を開始してステップ９１０に進み、二次空気供給フラグＸＡＩの値が「０」であるか否かを判定する。即ち、ＣＰＵは現時点において二次空気の供給が停止されているか否かを判定する。このとき、二次空気供給フラグＸＡＩの値が「１」であれば（即ち、二次空気が供給されていれば）、ＣＰＵはステップ９１０にて「Ｎｏ」と判定し、ステップ９９５に直接進んで本ルーチンを一旦終了する。
【０２０６】
ステップ９１０の実行時点において二次空気供給フラグＸＡＩの値が「０」であれば（即ち、二次空気が供給されていなければ）、ＣＰＵはそのステップ９１０にて「Ｙｅｓ」と判定してステップ９２０に進み、現時点が機関１０の始動直後であるか否かを判定する。このとき、現時点が機関１０の始動直後でなければ、ＣＰＵはステップ９２０にて「Ｎｏ」と判定し、ステップ９９５に直接進んで本ルーチンを一旦終了する。
【０２０７】
ステップ９２０の実行時点において現時点が機関１０の始動直後であると、ＣＰＵはそのステップ９２０にて「Ｙｅｓ」と判定してステップ９３０に進み、冷却水温ＴＨＷが所定の範囲内（ＴＨＷlo以上且つＴＨＷhi以下）であるか否かを判定する。このとき、冷却水温ＴＨＷが所定の範囲内になければ、ＣＰＵはステップ９３０にて「Ｎｏ」と判定し、ステップ９９５に直接進んで本ルーチンを一旦終了する。
【０２０８】
ステップ９３０の実行時点において冷却水温ＴＨＷが所定の範囲内にあると、ＣＰＵはそのステップ９３０にて「Ｙｅｓ」と判定してステップ９４０に進み、二次空気供給停止要求フラグＸＯＦＦＹＫの値が「０」であるか否かを判定する。この二次空気供給停止要求フラグＸＯＦＦＹＫは、その値が「１」であるとき二次空気の供給を停止すべき要求（二次空気供給停止要求）が発生していることを示し、その値が「０」であるとき二次空気供給停止要求が発生していないことを示す。二次空気供給停止要求フラグＸＯＦＦＹＫの値は、ＣＰＵが図示しないイニシャルルーチンの処理を実行することによって「０」に設定されるとともに、ＣＰＵが後述する図１０に示した二次空気供給停止要求判定ルーチンの処理を実行することによって「１」に設定される。
【０２０９】
ステップ９４０の実行時点において、二次空気供給停止要求フラグＸＯＦＦＹＫの値が「１」であると、ＣＰＵはそのステップ９４０にて「Ｎｏ」と判定し、ステップ９９５に直接進んで本ルーチンを一旦終了する。
【０２１０】
一方、ステップ９４０の実行時点において二次空気供給停止要求フラグＸＯＦＦＹＫの値が「０」であると、ＣＰＵはそのステップ９４０にて「Ｙｅｓ」と判定し、以下に述べるステップ９５０及びステップ９６０の処理を順に行い、ステップ９９５に進んで本ルーチンを一旦終了する。
【０２１１】
ステップ９５０：ＣＰＵは、二次空気供給フラグＸＡＩの値を「１」に設定する。
ステップ９６０：ＣＰＵは、エアポンプ５２を回転させるとともに二次空気制御弁５４を閉弁状態から開弁状態へと変化させることにより、排気ポート２３に二次空気を供給する。
【０２１２】
一方、ＣＰＵは図１０にフローチャートにより示した二次空気供給停止要求判定ルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、所定のタイミングになると、ＣＰＵは図１０のステップ１０００から処理を開始してステップ１０１０に進み、二次空気供給フラグＸＡＩの値が「１」であるか否かを判定する。即ち、ＣＰＵは現時点において二次空気が供給されているか否かを判定する。そして、二次空気供給フラグＸＡＩの値が「０」であると、ＣＰＵはステップ１０１０にて「Ｎｏ」と判定し、ステップ１０９５に直接進んで本ルーチンを一旦終了する。
【０２１３】
一方、ステップ１０１０の実行時点において、二次空気供給フラグＸＡＩの値が「１」であると、ＣＰＵはそのステップ１０１０にて「Ｙｅｓ」と判定してステップ１０２０に進み、機関始動後からの吸入空気流量Ｇａの積算値である積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈ以上であるか否かを判定する。この積算吸入空気量ＳＧａは、前述したように、図示しないルーチンにより別途求められている。このとき、積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈより小さいと、ＣＰＵはステップ１０２０にて「Ｎｏ」と判定し、ステップ１０９５に直接進んで本ルーチンを一旦終了する。
【０２１４】
これに対し、ステップ１０２０の実行時点において、積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈ以上であると、ＣＰＵはそのステップ１０２０にて「Ｙｅｓ」と判定してステップ１０３０に進み、二次空気供給停止要求フラグＸＯＦＦＹＫの値を「１」に設定する。その後、ＣＰＵはステップ１０９５に進んで本ルーチンを一旦終了する。
【０２１５】
このように、二次空気が供給中である場合（二次空気供給フラグＸＡＩの値が「１」である場合）、積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈ以上になると、二次空気供給停止要求フラグＸＯＦＦＹＫの値が「１」に設定される。
【０２１６】
加えて、このＣＰＵは図１１にフローチャートにより示した点火時期制御ルーチンを各気筒のクランク角が所定クランク角（例えば、圧縮上死点前９０°クランク角、ＢＴＤＣ９０°）に一致する毎に繰り返し実行するようになっている。
【０２１７】
従って、何れかの気筒のクランク角が所定クランク角に一致すると、ＣＰＵは図１１のステップ１１００から処理を開始してステップ１１１０に進み、負荷ＫＬ及び機関回転速度ＮＥと基本点火時期Ａbaseとの関係を規定する基本点火時期テーブルMapAaseに、現時点の負荷ＫＬ及び現時点の機関回転速度ＮＥを適用することにより、基本点火時期Ａbaseを決定する。このステップ１１１０は前述した図３のステップ３０５と同じ処理を実行するためのステップである。
【０２１８】
次に、ＣＰＵはステップ１１２０に進み、現時点が機関１０の始動直後であるか否かを判定する。ＣＰＵは、現時点が機関１０の始動直後であればステップ１１３０に進み、現時点が機関１０の始動直後でなければステップ１１４０に直接進む。
【０２１９】
ＣＰＵはステップ１１３０にて、冷却水温ＴＨＷと暖機遅角量Ａdankiとの関係を規定する暖機遅角量テーブルMapAdankiに現時点（即ち、機関始動直後）の冷却水温ＴＨＷを適用することにより、触媒４３の暖機を促進するための暖機遅角量Ａdankiを決定する。このステップ１１３０は、先に説明したステップ３１０と同じ処理を実行するためのステップである。従って、この暖機遅角量テーブルMapAdankiによれば、機関の始動直後における冷却水温ＴＨＷが所定の範囲内（ＴＨＷlo以上且つＴＨＷhi以下）である場合、暖機遅角量Ａdankiがステップ３１０と同様の「０以外の値」として求められる。また、暖機遅角量Ａdankiの最大値は値Ａdmaxである。その後、ＣＰＵは、ステップ１１４０に進む。
【０２２０】
ＣＰＵはステップ１１４０にて、二次空気供給フラグＸＡＩの値が「１」であるか否かを判定する。このとき、二次空気供給フラグＸＡＩの値が「０」であると、即ち、二次空気の供給が停止されていると、ＣＰＵはステップ１１４０にて「Ｎｏ」と判定し、以下に述べるステップ１１５０及びステップ１１６０の処理を順に行い、ステップ１１９５に進んで本ルーチンを一旦終了する。
【０２２１】
ステップ１１５０：ＣＰＵは、基本点火時期Ａbaseから暖機遅角量Ａdankiを減じた点火時期（即ち、基本点火時期Ａbaseを暖機遅角量Ａdankiだけ遅角させた点火時期）を最終的な点火時期Ａigとして設定する。
ステップ１１６０：ＣＰＵは、現時点におけるクランク角が圧縮上死点前９０°となっている気筒の点火時期が上記ステップ１１５０にて決定された最終点火時期Ａigとなるように、その気筒の点火プラグ２４に点火信号を送出する。
【０２２２】
これに対し、ステップ１１４０の実行時点において、二次空気供給フラグＸＡＩの値が「１」であると（即ち、二次空気の供給が行われていると）、ＣＰＵはステップ１１４０にて「Ｙｅｓ」と判定し、以下に述べるステップ１１７０乃至ステップ１１９０の処理を行い、その後、上述したステップ１１５０及びステップ１１６０の処理を行う。
【０２２３】
ステップ１１７０：ＣＰＵは、機関始動後の積算吸入空気量ＳＧａと暖機遅角量Ａdankiのガード値ＡＧとの関係を定めるガード値テーブルMapAGに実際の積算吸入空気量ＳＧａを適用することにより、実際の暖機遅角量Ａdankiのガード値ＡＧを取得する。このガード値テーブルMapAGによれば、ガード値ＡＧは、機関始動後の積算吸入空気量ＳＧａが所定値ＳＧａ１に到達するまで一定値（最大値）Ａdmaxに設定される。更に、このガード値テーブルMapAGによれば、ガード値ＡＧは、機関始動後の積算吸入空気量ＳＧａが「閾値積算吸入空気量ＳＧａｔｈより小さい所定値ＳＧａ１」を超えると積算吸入空気量ＳＧａが増大するにつれて一定値Ａdmaxから０に向けて減少するように決定される。このとき、このガード値テーブルMapAGによれば、ガード値ＡＧは、機関始動後の積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈとなったとき、閾値暖機遅角量Ａdankithとなるように決定される。
【０２２４】
ステップ１１８０：ＣＰＵは、暖機遅角量Ａdankiがガード値ＡＧ以上であるか否かを判定する。ＣＰＵは、暖機遅角量Ａdankiがガード値ＡＧ以上であるときステップ１１９０に進み、暖機遅角量Ａdankiがガード値ＡＧより小さいときステップ１１５０に直接進む。
ステップ１１９０：ＣＰＵは、暖機遅角量Ａdankiにガード値ＡＧを設定する。つまり、暖機遅角量Ａdankiはガード値ＡＧに一致せしめられる。従って、ステップ１１８０及びステップ１１９０により、暖機遅角量Ａdankiはガード値ＡＧ以下の値に設定される。
【０２２５】
このように、始動直後の冷却水温ＴＨＷに応じて設定される暖機遅角量Ａdankiは、二次空気が供給されている場合（ステップ１１４０を参照。）、ガード値ＡＧを超えないように変更される（ステップ１１８０及びステップ１１９０を参照。）。ガード値ＡＧは、積算吸入空気量ＳＧａが大きくなるほど小さくなる（ステップ１１７０内に記載したガード値テーブルMapAGを参照。）。この結果、二次空気供給中、暖機遅角量Ａdankiが積算吸入空気量ＳＧａが大きくなるにつれて０に近づくので、点火時期Ａigは積算吸入空気量ＳＧａが大きくなるにつれて次第に最適点火時期（ＭＢＴ）に近づく。
【０２２６】
更に、ＣＰＵは図１２にフローチャートにより示した二次空気供給停止ルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、所定のタイミングになると、ＣＰＵは図１２のステップ１２００から処理を開始し、以下に述べるステップ１２１０乃至ステップ１２５０の処理を行い、ステップ１２９５に進んで本ルーチンを一旦終了する。
【０２２７】
ステップ１２１０：ＣＰＵは、二次空気供給フラグＸＡＩの値が「１」であるか否かを判定する。ＣＰＵは、二次空気供給フラグＸＡＩの値が「１」であると（即ち、二次空気が供給されていると）ステップ１２２０に進む。ＣＰＵは、二次空気供給フラグＸＡＩの値が「０」であると（即ち、二次空気の供給が停止していると）ステップ１２９５に直接進んで本ルーチンを一旦終了する。
【０２２８】
ステップ１２２０：ＣＰＵは、二次空気供給停止要求フラグＸＯＦＦＹＫの値が「１」であるか否かを判定する。ＣＰＵは、二次空気供給停止要求フラグＸＯＦＦＹＫの値が「１」であるとステップ１２３０に進む。ＣＰＵは、二次空気供給停止要求フラグＸＯＦＦＹＫの値が「０」であるとステップ１２９５に直接進んで本ルーチンを一旦終了する。
【０２２９】
ステップ１２３０：ＣＰＵは、暖機遅角量Ａdankiが閾値暖機遅角量Ａdankith以下であるか否かを判定する。即ち、ＣＰＵは、暖機遅角量Ａdankiが十分に小さくなっていることにより、点火時期Ａigが最適点火時期（ＭＢＴ）に十分に近づいているか否か（点火時期が閾値遅角点火時期Ａrdthよりも最適点火時期（ＭＢＴ）に近いか否か）を判定する。ＣＰＵは、暖機遅角量Ａdankiが閾値暖機遅角量Ａdankith以下となっていれば、ステップ１２４０及びステップ１２５０に進む。
【０２３０】
前述した図１１のステップ１１７０にて使用されるガード値テーブルMapAGによれば、ガード値ＡＧは、機関始動後の積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈとなったとき閾値暖機遅角量Ａdankithとなる。従って、本例においては、積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈに到達した時点（即ち、図１０のステップ１０２０及びステップ１０３０にて二次空気供給停止要求フラグＸＯＦＦＹＫの値が「１」に設定された時点）以降において閾値暖機遅角量Ａdankithは閾値暖機遅角量Ａdankith以下の値となる。
【０２３１】
これに対し、ステップ１２３０の実行時点において、暖機遅角量Ａdankiが閾値暖機遅角量Ａdankithより大きければ、ＣＰＵはそのステップ１２３０からステップ１２９５に直接進んで本ルーチンを一旦終了する。
【０２３２】
なお、ステップ１２３０は、最終的な点火時期Ａigが「最適点火時期（ＭＢＴ）」と「最適点火時期（ＭＢＴ）から所定量ΔＡrdthだけ遅角した閾値遅角点火時期Ａrdth」との間にあるか否かを判定するステップに置換されてもよい。
【０２３３】
ステップ１２４０：ＣＰＵはエアポンプ５２の回転を停止するとともに二次空気制御弁５４を開弁状態から閉弁状態へと変化させることにより、排気ポート２３への二次空気の供給を停止する。
ステップ１２５０：ＣＰＵは二次空気供給フラグＸＡＩの値を「０」に設定する。
【０２３４】
以上、説明したように、第３制御装置は、二次空気の供給停止要求が発生しても点火時期Ａigの遅角量（この場合、暖機遅角量Ａdanki）が大きいとき（即ち、点火時期Ａigが最適点火時期（ＭＢＴ）に対して所定量ΔＡrdth以上遅角側の点火時期であるとき）、二次空気の供給を停止しない（図１２のステップ１２２０及びステップ１２３０を参照。）。そして、第３制御装置は、二次空気の供給停止要求が発生している場合、点火時期Ａigの遅角量が十分に小さくなる時点（即ち、暖機遅角量Ａdankiが閾値暖機遅角量Ａdankith以下となることにより、点火時期Ａigとの最適点火時期との差が所定量ΔＡrdth以内となる時点）を待って二次空気の供給を停止する（図１２のステップ１２２０乃至ステップ１２５０を参照。）。従って、二次空気の供給を停止する時点における点火時期が最適点火時期に十分に近くなっているので、二次空気供給停止前後における機関発生トルクの変化の幅ΔＴＱを小さくすることができる。
【０２３５】
更に、第３制御装置は、
前記切換過渡期間としての前記供給停止前過渡期間において、「二次空気供給停止時の機関の発生トルクの変化の幅」が「供給停止前過渡期間の開始直前にて二次空気の供給を停止したと仮定した場合に生じる機関の発生トルクの変化の幅」よりも小さい「所定の閾値トルク変化幅ΔＴＱｔｈ」以下となるように、機関の制御量である点火時期（点火時期の遅角量である暖機遅角量Ａdanki）を変化させる「トルク変動抑制手段」を備えていると言うこともできる（特に、図１１のルーチンのステップ１１７０乃至ステップ１１９０、図１０のステップ１０２０及びステップ１０３０、図１２のステップ１２２０及びステップ１２３０を参照。）。
【０２３６】
なお、この場合の供給停止前過渡期間は、二次空気供給停止時から所定期間だけ前の時点（暖機遅角量Ａdankiが「一定値Ａdmaxから０に向けて減少している途中のガード値ＡＧ」に一致せしめられ始めた時点）を開始時点とし、二次空気供給停止時（実際には、ガード値ＡＧと一致せしめられた暖機遅角量Ａdankiが閾値暖機遅角量Ａdankithに一致した時点）を終了時点とする切換過渡期間である。
【０２３７】
更に、この第３制御装置は、
二次空気が供給されている状態において、機関の点火時期を、最適点火時期（ＭＢＴ）よりも遅角側の点火時期に設定する点火時期遅角手段を備え（図１１のステップ１１１０、ステップ１１３０及びステップ１１５０等を参照。）と、
前記供給停止前過渡期間において、前記点火時期遅角手段によって設定される点火時期（基本点火時期Ａbaseをガード値ＡＧにより規制されていない暖機遅角量Ａdankiだけ遅角した点火時期）に代え、「前記機関の制御量としての前記機関の点火時期」を「供給停止前過渡期間の開始直前（暖機遅角量Ａdankiが一定値Ａdmaxから０に向けて減少している途中のガード値ＡＧに一致せしめられ始める直前）における点火時期」から徐々に進角させることにより（図１１のステップ１１７０乃至ステップ１１９０を参照。）、「二次空気供給停止時における点火時期」を「最適点火時期から所定量ΔＡrdthだけ遅角した閾値遅角点火時期Ａrdth」と同じかそれよりも進角側の点火時期に設定するように構成された供給停止前点火時期進角手段（トルク変動抑制手段）を備える（図１１のステップ１１７０乃至ステップ１１９０、及び、図１２のステップ１２３０等を参照。）。
【０２３８】
従って、第３制御装置は、二次空気の供給を実際に停止する際の機関の発生トルクの変化の幅ΔＴＱを閾値トルク変化幅ΔＴＱｔｈ以下にすることができる。その結果、二次空気の供給を停止する際の機関の運転状態を安定化することができる。
【０２３９】
（第３実施形態の変形例）
次に、本発明の第３実施形態の変形例に係る制御装置（以下、「第３変形制御装置」とも称呼する。）について説明する。この第３変形制御装置は、そのＣＰＵが、図１１に代わる図１３に示した点火時期制御ルーチンを各気筒のクランク角が所定クランク角（例えば、圧縮上死点前９０°クランク角、ＢＴＤＣ９０°）に一致する毎に繰り返し実行する点のみにおいて、第３制御装置と相違する。即ち、第３変形制御装置のＣＰＵは、図９、図１０、図１２及び図１３に示されたルーチンを実行することにより、二次空気及び点火時期の制御を行う。
【０２４０】
（作動の概略）
第３変形制御装置は、第３制御装置と同様、二次空気の供給を開始し、且つ、二次空気の供給を停止する要求を発生する。更に、第３変形制御装置は、暖機遅角量Ａdankiの初期値を始動直後の冷却水温ＴＨＷに基づいて決定する。但し、第３変形制御装置は、その暖機遅角量Ａdankiを、二次空気供給停止要求が発生しているとき、「点火実行毎（前回の点火と今回の点火との期間）における機関始動後の積算吸入空気量ＳＧａの変化量ΔＳＧａ」に応じて減少させる。そして、第３変形制御装置は、第３制御装置と同様、暖機遅角量Ａdankiが所定値（閾値暖機遅角量Ａdankith）以下になったとき二次空気の供給を停止する（二次空気の供給の停止を許容する）。これにより、第３変形制御装置は、二次空気供給停止に伴う機関発生トルクの変化の幅（減少変化幅）を小さくすることができる。
【０２４１】
（実際の作動）
以下、第３変形制御装置の作動の詳細について、図１３を参照しながら第３制御装置との相違点を中心に説明する。なお、図１３において図１１に示したステップと同一の処理を行うためのステップには、図１１のそのようなステップに付された符号と同一の符号が付されている。それらのステップについての詳細な説明は適宜省略される。
【０２４２】
第３変形制御装置のＣＰＵは、何れかの気筒のクランク角が前述した所定クランク角に一致すると、図１３のステップ１３００から処理を開始してステップ１１１０に進み、基本点火時期Ａbaseを決定する。次に、ＣＰＵはステップ１１２０及びステップ１１３０の処理により、機関の始動直後の冷却水温ＴＨＷと暖機遅角量テーブルMapAdankiとに基づいて暖機遅角量Ａdankiの初期値を決定する。
【０２４３】
次に、ＣＰＵはステップ１３０５に進み、二次空気供給停止要求フラグＸＯＦＦＹＫの値が「１」であるか否かを判定する。このとき、二次空気供給停止要求フラグＸＯＦＦＹＫの値が「０」であると、即ち、二次空気供給停止要求が発生していないと判定されていると、ＣＰＵはステップ１３０５にて「Ｎｏ」と判定し、上述したステップ１１５０及びステップ１１６０の処理を順に行い、ステップ１１９５に進んで本ルーチンを一旦終了する。
【０２４４】
これに対し、ステップ１３０５の実行時点において、二次空気供給停止要求フラグＸＯＦＦＹＫの値が「１」であると（即ち、二次空気供給停止要求が発生したと判定されていると）、ＣＰＵはステップ１３０５にて「Ｙｅｓ」と判定し、以下に述べるステップ１３１０乃至ステップ１３４０の処理を行い、その後、上述したステップ１１５０及びステップ１１６０の処理を行う。
【０２４５】
ステップ１３１０：ＣＰＵは、本ルーチンを前回実行した時点（例えば、現時点よりも１８０°クランク角前の時点）から現時点までの「機関始動後の積算吸入空気量ＳＧａの変化量ΔＳＧａ」を求める。
ステップ１３２０：ＣＰＵは、「現時点の暖機遅角量Ａdanki」から「変化量ΔＳＧａに応じた値（即ち、変化量ΔＳＧａに比例する値ｋ・ΔＳＧａ、但し、ｋは正の定数）」を減じた値を、新たな暖機遅角量Ａdankiとして設定する。
【０２４６】
ステップ１３３０：ＣＰＵは、ステップ１３２０にて更新された暖機遅角量Ａdankiが０以下であるか否かを判定する。ＣＰＵは、暖機遅角量Ａdankiが０以下であるとステップ１３４０に進み、暖機遅角量Ａdankiが０より大きいとステップ１１５０に直接進む。
ステップ１３４０：ＣＰＵは、暖機遅角量Ａdankiに０を格納する。即ち、ステップ１３３０とステップ１３４０との処理により、暖機遅角量Ａdankiが０以上の値に維持される。
【０２４７】
このように、暖機遅角量Ａdankiは二次空気供給停止要求の発生中において次第に減少させられる。即ち、暖機遅角量Ａdankiは、二次空気供給停止要求フラグＸＯＦＦＹＫの値が「１」であるとき、点火実行毎に変化量ΔＳＧａに比例する値ｋ・ΔＳＧａだけ減少させられる。従って、点火時期Ａigは、二次空気供給停止要求の発生時点以降、積算吸入空気量ＳＧａが増大するに従って最適点火時期（ＭＢＴ）に近づく。そして、ＣＰＵは図１２のルーチンに示したように、二次空気供給停止要求フラグＸＯＦＦＹＫの値が「１」であるとき（ステップ１２２０を参照。）、暖機遅角量Ａdankiが閾値暖機遅角量Ａdankith以下であれば（ステップ１２３０を参照。）、二次空気の供給を停止する（ステップ１２４０及びステップ１２５０を参照。）。
【０２４８】
以上、説明したように、第３変形制御装置は、二次空気の供給停止要求が発生しても（二次空気供給停止要求フラグＸＯＦＦＹＫの値が「１」に設定されても）、点火時期Ａigの遅角量が大きいとき（暖機遅角量Ａdankiが閾値暖機遅角量Ａdankithより大きいとき）、二次空気の供給を停止せず、点火時期Ａigの遅角量が十分に小さくなる時点（暖機遅角量Ａdankiが閾値暖機遅角量Ａdankith以下となる時点）を待って二次空気の供給を停止する。
【０２４９】
換言すると、第３変形制御装置は、二次空気の供給停止要求が発生した場合、点火時期を徐々に進角させて最適点火時期（ＭＢＴ）に近づけ、点火時期と最適点火時期（ＭＢＴ）との差が所定量ΔＡrdth以下となったとき、二次空気の供給を停止する。その結果、二次空気の供給を停止する前後において、機関発生トルクの変化の幅ΔＴＱが過大となることを回避することができる。
【０２５０】
なお、この第３変形制御装置は、
二次空気が供給されている状態において、機関の点火時期を、最適点火時期（ＭＢＴ）よりも遅角側の点火時期（基本点火時期Ａbaseを暖機遅角量Ａdankiの初期値だけ遅角させた点火時期）に設定する点火時期遅角手段（図１３のステップ１１３０及びステップ１１５０等を参照。）を備える。
【０２５１】
更に、第３変形制御装置は、
二次空気が供給されている場合に二次空気の供給を停止する要求である供給停止要求が発生したか否かを判定する停止要求発生判定手段（図１０のルーチンを参照。）と、
前記供給停止要求が発生したと判定されている場合、実際の点火時期が、最適点火時期から所定量ΔＡrdthだけ遅角側の閾値遅角点火時期Ａrdthよりも進角側となったとき（等しい場合も含む。）、供給停止条件が成立したと判定する（二次空気供給条件が不成立となったと判定する）供給停止条件成立判定手段（図１２のルーチンの特にステップ１２３０を参照。）と、
を含む二次空気供給手段を備える。
【０２５２】
加えて、第３変形制御装置は、
供給停止要求が発生したと判定された時点（ステップ１３０５を参照。）を開始時点として定めてなる供給停止前過渡期間において、前記点火時期遅角手段によって設定される点火時期（基本点火時期Ａbaseを暖機遅角量Ａdankiの初期値だけ遅角させた点火時期）に代え、機関の制御量としての点火時期を「供給停止前過渡期間の開始直前における点火時期」から徐々に進角させる「トルク変動抑制手段としての供給停止前点火時期進角手段（図１３のステップ１３１０乃至ステップ１３４０と、図１３のステップ１１５０と、を参照。）」を備える。
【０２５３】
なお、第３制御装置及び第３変形制御装置において、二次空気供給停止要求は、機関始動後の積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈ以上となったことにより発生した。これに対し、二次空気供給停止要求は、機関の負荷ＫＬが閾値負荷ＫＬｔｈより大きくなった場合等の他の条件が成立したときに発生させられてもよい。更に、図１３のステップ１３２０における点火時期の変更量は変化量ΔＳＧａに応じた値（ｋ・ΔＳＧａ）であったが、一定値であってもよい。
【０２５４】
更に、第３変形制御装置において、図１３のステップ１３０５を図１１のステップ１１４０に置換してもよい。これによれば、二次空気供給中、暖機遅角量Ａdankiは機関始動後の積算吸入空気量ＳＧａが増加するに従って次第に０に近づくので、点火時期は機関始動後の積算吸入空気量ＳＧａが増加するに従って最適点火時期（ＭＢＴ）に近づく。従って、この態様の制御装置は、第３制御装置と同様、積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈ以上となることにより二次空気供給停止要求が発生する時点又はその時点の近傍の時点にて、点火時期の遅角量が十分に小さくなる（暖機遅角量Ａdankiが閾値暖機遅角量Ａdankith以下となる）ので、二次空気供給停止要求の発生から大きく遅れることなく且つ機関の発生トルクの変動幅を小さい値に維持しながら、二次空気の供給を実際に停止することができる。
【０２５５】
（第４実施形態）
次に、本発明の第４実施形態に係る制御装置（以下、「第４制御装置」とも称呼する。）について説明する。この第４制御装置は、空燃比が十分に理論空燃比に近づいたときに二次空気の供給の停止を許容することにより二次空気供給停止時のトルク変動の幅を小さくする。以下、第４制御装置の作動の概略について説明する。
【０２５６】
（作動の概略）
図１４は、機関１０に供給される混合気の空燃比（機関の空燃比）と、二次空気の供給を停止する前後における機関発生トルクの変化の幅（変化量）ΔＴＱと、の関係を示したグラフである。このグラフから明らかなように、二次空気の供給を停止したときの機関の空燃比がリッチ側であるほど、二次空気の供給を停止したときの機関発生トルクの変化の幅ΔＴＱは大きくなる。換言すると、機関の空燃比が理論空燃比に近いほど、二次空気の供給を停止したときのトルク変化幅ΔＴＱが小さくなる。この理由は、機関の空燃比が理論空燃比よりもリッチ側の空燃比である状態で二次空気を供給すると、バルブオーバーラップ期間中に排気ポート２３から燃焼室２１に流入する二次空気によってより多くの燃料が燃焼室２１内において燃焼するので機関の発生トルクが大きくなり、且つ、そのような状態で二次空気の供給を停止すると燃焼室２１内において燃焼できる燃料の量が小さくなるので機関の発生トルクが小さくなるためであると推定される。
【０２５７】
そこで、第４制御装置は、二次空気の供給を停止する直前の期間（供給停止前過渡期間）において、機関の空燃比（本例においては、目標空燃比）を徐々にリーン化して理論空燃比に近づける。そして、第４制御装置は、機関の空燃比が理論空燃比よりも所定値Δafだけリッチ側の空燃比である閾値空燃比afthよりもリーン側の空燃比となったとき（機関の空燃比が閾値空燃比afthと等しくなった時点を含む。）、二次空気の供給を停止する。即ち、第４制御装置は、機関の空燃比が理論空燃比に近づき、二次空気供給停止に伴う機関の発生トルクの変化幅ΔＴＱが閾値トルク変化幅ΔＴＱｔｈ以下となるときに二次空気の供給を停止する。これにより、第４制御装置は、二次空気供給停止に伴う機関発生トルクの変化の幅を小さくすることができる。なお、閾値トルク変化幅ΔＴＱｔｈは、機関の空燃比が閾値空燃比afthである場合において二次空気の供給を停止したときの機関の発生トルクの変化の幅ΔＴＱである。
【０２５８】
（実際の作動）
次に、第４制御装置の実際の作動について説明する。第４制御装置のＣＰＵは、図９、図１０、図１５乃至図１７に示したルーチンを実行することにより二次空気及び機関の空燃比の制御を実行する。
【０２５９】
従って、そのＣＰＵは、図９に示したルーチンを実行することにより、以下に再び記載した上記条件１及び上記条件２が共に成立しているとき二次空気の供給を開始する。
＜条件１＞機関１０が始動された直後の冷却水温ＴＨＷが所定の範囲内である。即ち、機関１０が始動された直後の冷却水温ＴＨＷが、低側閾値温度ＴＨＷlo以上であり且つ高側閾値温度ＴＨＷhi以下である。
＜条件２＞二次空気の供給を停止する要求（二次空気供給停止要求）が発生していない（二次空気供給停止要求フラグＸＯＦＦＹＫの値が「０」である。）。
【０２６０】
更に、そのＣＰＵは、図１０に示したルーチンを実行することにより、以下に再び記載した上記条件３が成立したとき、二次空気供給停止要求を発生する（二次空気供給停止要求フラグＸＯＦＦＹＫの値を「１」に設定する。）。
＜条件３＞機関１０の始動後の積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈ以上である。
【０２６１】
加えて、このＣＰＵは図１５にフローチャートにより示した目標空燃比決定ルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、所定のタイミングになると、ＣＰＵは図１５のステップ１５００から処理を開始してステップ１５１０に進み、現時点が機関１０の始動直後であるか否かを判定する。ＣＰＵは、現時点が機関１０の始動直後であればステップ１５２０に進み、現時点が機関１０の始動直後でなければステップ１５３０に直接進む。
【０２６２】
ＣＰＵはステップ１５２０にて、冷却水温ＴＨＷと目標空燃比abyfrとの関係を規定する目標空燃比テーブルMapabyfrに現時点（機関始動直後）の冷却水温ＴＨＷを適用することにより、目標空燃比abyfrを決定する。この目標空燃比テーブルMapabyfrによれば、機関の始動直後における冷却水温ＴＨＷが所定閾値（暖機完了温度）ＴＨＷ１以下である場合、目標空燃比abyfrは、その冷却水温ＴＨＷが低下するほど理論空燃比stoichからより離れたリッチ側の空燃比となるように決定される。更に、この目標空燃比テーブルMapabyfrによれば、機関の始動直後における冷却水温ＴＨＷが所定閾値（暖機完了温度）ＴＨＷ１以上である場合、目標空燃比abyfrは、その冷却水温ＴＨＷに依らず理論空燃比stoichとなるように決定される。
【０２６３】
次に、ＣＰＵはステップ１５３０に進み二次空気供給フラグＸＡＩの値が「１」であるか否かを判定する。このとき、二次空気が導入されていて二次空気供給フラグＸＡＩの値が「１」であると、ＣＰＵはステップ１５３０にて「Ｙｅｓ」と判定し、以下に述べるステップ１５４０乃至ステップ１５６０の処理を行い、ステップ１５７０に進む。
【０２６４】
ステップ１５４０：ＣＰＵは、機関始動後の積算吸入空気量ＳＧａと目標空燃比abyfrのガード値である目標空燃比ガード値ＡＦＧとの関係を定めるガード値テーブルMapAFGに実際の積算吸入空気量ＳＧａを適用することにより、実際の目標空燃比ガード値ＡＦＧを取得する。
【０２６５】
このガード値テーブルMapAFGによれば、目標空燃比ガード値ＡＦＧは、機関始動後の積算吸入空気量ＳＧａが所定値ＳＧａ１に到達するまで、積算吸入空気量ＳＧａが大きくなるほど理論空燃比よりもリッチ側の所定の空燃比から理論空燃比に向けて大きくなるように設定される。更に、このガード値テーブルMapAFGによれば、目標空燃比ガード値ＡＦＧは、機関始動後の積算吸入空気量ＳＧａが所定値ＳＧａ１を超えると理論空燃比に設定される。この所定値ＳＧａ１は閾値積算吸入空気量ＳＧａｔｈよりも大きい。加えて、このガード値テーブルMapAFGによれば、目標空燃比ガード値ＡＦＧは、機関始動後の積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈとなったとき、閾値空燃比afthとなるように決定される。
【０２６６】
ステップ１５５０：ＣＰＵは、目標空燃比abyfrが目標空燃比ガード値ＡＦＧ以下であるか否かを判定する。即ち、ＣＰＵは、目標空燃比abyfrが目標空燃比ガード値ＡＦＧよりもリッチ側の空燃比であるか否かを判定する。ＣＰＵは、目標空燃比abyfrが目標空燃比ガード値ＡＦＧ以下であるときステップ１５６０に進み、目標空燃比abyfrが目標空燃比ガード値ＡＦＧより大きいときステップ１５７０に直接進む。
ステップ１５６０：ＣＰＵは、目標空燃比abyfrに目標空燃比ガード値ＡＦＧを設定する。つまり、目標空燃比abyfrが目標空燃比ガード値ＡＦＧに一致せしめられる。
【０２６７】
このように、始動直後において冷却水温ＴＨＷに応じて設定された目標空燃比abyfrは、二次空気が供給されている場合、目標空燃比ガード値ＡＦＧよりもリッチ側の空燃比とならないように変更される。目標空燃比ガード値ＡＦＧは、積算吸入空気量ＳＧａが大きくなるほど理論空燃比stoichに近づく。この結果、二次空気供給中の機関の空燃比は積算吸入空気量ＳＧａが大きくなるにつれて理論空燃比stoichに近づく。
【０２６８】
一方、ステップ１５３０の実行時点において、二次空気の供給が停止されていて二次空気供給フラグＸＡＩの値が「０」であると、ＣＰＵはステップ１５３０にて「Ｎｏ」と判定してステップ１５７０に直接進む。
【０２６９】
ＣＰＵはステップ１５７０にて、空燃比フィードバック制御フラグＸＭＦＢの値が「１」であるか否かを判定する。空燃比フィードバック制御フラグＸＭＦＢは、その値が「１」であるとき空燃比フィードバック制御中であることを示し、その値が「０」であるとき空燃比フィードバック制御中でないことを示す（後述する図１６のステップ１６１５、ステップ１６２０及びステップ１６３０を参照。）。
【０２７０】
空燃比フィードバック制御フラグＸＭＦＢの値が「１」であると、ＣＰＵはステップ１５７０にて「Ｙｅｓ」と判定してステップ１５８０に進み、目標空燃比abyfrに理論空燃比stoichを設定し、ステップ１５９５に進んで本ルーチンを一旦終了する。これに対し、ステップ１５７０の実行時点において、空燃比フィードバック制御フラグＸＭＦＢの値が「０」であると、ＣＰＵはステップ１５７０にて「Ｎｏ」と判定してステップ１５９５に直接進んで本ルーチンを一旦終了する。
【０２７１】
更に、ＣＰＵは、図１６に示した燃料噴射制御ルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、所定のタイミングになると、ＣＰＵは図１６のステップ１６００から処理を開始し、以下に述べるステップ１６０５及びステップ１６１０の処理を順に行ってステップ１６１５に進む。
【０２７２】
ステップ１６０５：ＣＰＵは、現時点の吸入空気量Ｇａと、現時点の機関回転速度ＮＥと、筒内吸入空気量テーブルMapMcと、に基づいて、次に吸気行程を迎える気筒（燃料噴射気筒）に吸入される筒内吸入空気量Ｍｃを取得する。筒内吸入空気量Ｍｃは機関１０の吸気通路における空気の挙動をモデル化した周知の空気量推定モデル（空気モデル）を用いて求められてもよい。
【０２７３】
ステップ１６１０：ＣＰＵは、筒内吸入空気量Ｍｃを目標空燃比abyfrによって除すことにより基本燃料噴射量Fbaseを求める。この基本燃料噴射量Fbaseは、機関の空燃比を目標空燃比abyfrに一致させるためのフィードフォワード量である。
【０２７４】
次に、ＣＰＵはステップ１６１５に進み、空燃比フィードバック制御条件が成立しているか否かを判定する。空燃比フィードバック制御条件は、例えば、フューエルカット中でなく、負荷ＫＬが所定値以下であり、空燃比センサ６５が活性化しており、冷却水温ＴＨＷが上述した所定閾値（暖機完了温度）ＴＨＷ１よりも僅かに低いフィードバック開始閾値温度ＴＨＷ２以上となったときに成立する。
【０２７５】
いま、空燃比フィードバック制御条件が成立していないと仮定すると、ＣＰＵは以下に述べるステップ１６２０及びステップ１６２５の処理を順に行ってステップ１６５５に進む。
ステップ１６２０：ＣＰＵは、空燃比フィードバック制御フラグＸＭＦＢの値を「０」に設定する。
ステップ１６２５：ＣＰＵは、フィードバック補正量（メインフィードバック量）ＫＦmainの値を１に設定する。
【０２７６】
一方、ステップ１６１５の実行時点において、空燃比フィードバック制御条件が成立していると、ＣＰＵはそのステップ１６１５にて「Ｙｅｓ」と判定し、以下に述べるステップ１６３０乃至ステップ１６５０の処理を行ってステップ１６５５に進む。
【０２７７】
ステップ１６３０：ＣＰＵは、空燃比フィードバック制御フラグＸＭＦＢの値を「１」に設定する。
ステップ１６３５：ＣＰＵは、テーブルMapabyfsに現時点の空燃比センサ６５の出力値Vabyfsを適用することにより、実際の空燃比（検出空燃比）abyfsを取得する。
【０２７８】
ステップ１６４０：ＣＰＵは、検出空燃比abyfsが目標空燃比abyfrよりもリッチ側の空燃比であるか否かを判定する。このとき、検出空燃比abyfsが目標空燃比abyfrよりもリッチ側の空燃比であれば、ＣＰＵはステップ１６４５に進む。これに対し、検出空燃比abyfsが目標空燃比abyfrよりもリーン側の空燃比であれば、ＣＰＵはステップ１６５０に進む。
ステップ１６４５：ＣＰＵはフィードバック補正値KFmainを変更量ｄＫだけ減少する。ただし、ＣＰＵはフィードバック補正値KFmainを、０から１までの所定の値（例えば、０．８）以下とならないように設定する。
ステップ１６５０：ＣＰＵはフィードバック補正値KFmainを変更量ｄＫだけ増大する。ただし、ＣＰＵはフィードバック補正値KFmainを、所定の値（例えば、１．２）以上とならないように設定する。
【０２７９】
その後、ＣＰＵは以下に述べるステップ１６５５乃至ステップ１６６５の処理を行い、ステップ１６９５に進んで本ルーチンを一旦終了する。
ステップ１６５５：ＣＰＵは、基本燃料噴射量Fbaseにフィードバック補正値KFmainを乗じた値を、最終的な燃料噴射量Ｆｉとして設定する。
【０２８０】
ステップ１６６０：ＣＰＵは、現時点が燃料噴射気筒に対して燃料を噴射すべきタイミングであるか否かを判定する。ＣＰＵは、現時点が燃料噴射気筒に対して燃料を噴射すべきタイミングであればステップ１６６５に進み、そうでなければステップ１６９５に直接進む。
ステップ１６６５：ＣＰＵは、上記ステップ１６５５にて決定された最終燃料噴射量Ｆｉの燃料を、燃料噴射気筒に対して備えられている燃料噴射弁２５から噴射するように、その燃料噴射弁２５に噴射指示信号を送出する。
【０２８１】
一方、ＣＰＵは、図１７に示した二次空気供給停止ルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、所定のタイミングになると、ＣＰＵは図１７のステップ１７００から処理を開始し、以下に述べるステップ１７１０乃至ステップ１７５０の処理を行い、ステップ１７９５に進んで本ルーチンを一旦終了する。
【０２８２】
ステップ１７１０：ＣＰＵは、二次空気供給フラグＸＡＩの値が「１」であるか否かを判定し、二次空気供給フラグＸＡＩの値が「１」であればステップ１７２０に進む。ＣＰＵは、二次空気供給フラグＸＡＩの値が「０」であると、ステップ１７９５に直接進んで本ルーチンを一旦終了する。
【０２８３】
ステップ１７２０：ＣＰＵは、二次空気供給停止要求フラグＸＯＦＦＹＫの値が「１」であるか否かを判定する。ＣＰＵは、二次空気供給停止要求フラグＸＯＦＦＹＫの値が「１」であるとステップ１７３０に進む。ＣＰＵは、二次空気供給停止要求フラグＸＯＦＦＹＫの値が「０」であるとステップ１７９５に直接進んで本ルーチンを一旦終了する。
【０２８４】
ステップ１７３０：ＣＰＵは、目標空燃比abyfrが「理論空燃比stoichから閾値偏差空燃比Δafを減じた空燃比（閾値空燃比afth）」以上であるか否かを判定する。換言すると、ＣＰＵは目標空燃比abyfrが理論空燃比に十分近い値になっているか否かを判定する。ＣＰＵは、目標空燃比abyfrが閾値空燃比afth以上となっていれば、ステップ１７４０及びステップ１７５０に進む。ＣＰＵは、目標空燃比abyfrが閾値空燃比afth以上となっていなければ、ステップ１７９５に直接進んで本ルーチンを一旦終了する。
【０２８５】
なお、ステップ１７３０は、活性化している空燃比センサ６５の出力値Vabyfsに基づいて取得される実際の機関の空燃比abyfsが閾値空燃比afth以上であるか否かを判定するステップに置換されることもできる。
【０２８６】
ステップ１７４０：ＣＰＵはエアポンプ５２の回転を停止するとともに二次空気制御弁５４を開弁状態から閉弁状態へと変化させることにより、排気ポート２３への二次空気の供給を停止する。
ステップ１７５０：ＣＰＵは二次空気供給フラグＸＡＩの値を「０」に設定する。
【０２８７】
以上、説明したように、第４制御装置は、二次空気の供給停止要求が発生しても（二次空気供給停止要求フラグＸＯＦＦＹＫの値が「１」に設定されても）、二次空気以外の機関の制御量としての機関の空燃比（本例では、目標空燃比abyfr）が閾値空燃比afthと理論空燃比stoichとの間（閾値空燃比afth及び理論空燃比stoichを含む。）の空燃比になっていないとき、二次空気の供給を停止せず、機関の空燃比が理論空燃比stoichに十分に近づいた時点（目標空燃比abyfrが閾値空燃比afth以上となる時点）を待って二次空気の供給を停止する（図１７を参照。）。その結果、二次空気の供給を停止する前後において、二次空気供給停止前後における機関発生トルクの変化の幅ΔＴＱを小さくすることができる。
【０２８８】
更に、第４制御装置は、
二次空気が供給されている状態において、機関に供給される混合気の空燃比を理論空燃比よりもリッチ側の空燃比に設定するリッチ空燃比設定手段（図１５のステップ１５２０、図１６のステップ１６１０及びステップ１６５５等を参照。）と、
供給停止前過渡期間において、前記リッチ空燃比設定手段によって設定される空燃比（ガード値ＡＦＧにより規制されていない目標空燃比abyfr）に代え、機関の制御量としての「機関に供給される混合気の空燃比」を前記供給停止前過渡期間の開始直前（目標空燃比abyfrが理論空燃比に向けて増大している途中のガード値ＡＦＧに一致せしめられ始める直前）における混合気の空燃比から徐々に理論空燃比に近づけることにより、「二次空気供給停止時における混合気の空燃比」を「理論空燃比よりも所定空燃比Δafだけリッチ側の閾値空燃比afthよりもリーン側の空燃比」に設定するように構成されたトルク変動抑制手段としての供給停止前空燃比リーン化手段（図１５のステップ１５４０乃至ステップ１５６０を参照。）と、
を備えると言うことができる。
【０２８９】
従って、第４制御装置は、二次空気の供給を実際に停止する際の機関の発生トルクの変化幅ΔＴＱを閾値トルク変化幅ΔＴＱｔｈ以下にすることができる。その結果、二次空気の供給を停止する際の機関の運転状態を安定化することができる。
【０２９０】
（第４実施形態の変形例）
次に、本発明の第４実施形態の変形例に係る制御装置（以下、「第４変形制御装置」とも称呼する。）について説明する。この第４変形制御装置は、図１５に示したルーチンに代わる図１８に示した目標空燃比決定ルーチンを実行する点のみにおいて、上述した第４制御装置と相違している。従って、以下、この相違点を中心として説明を加える。即ち、第４変形制御装置のＣＰＵは、図９、図１０、図１６、図１７及び図１８に示されたルーチンを実行することにより、二次空気及び機関の空燃比の制御を行う。
【０２９１】
（作動の概略）
第４変形制御装置は、第４制御装置と同様、二次空気の供給を開始し、且つ、二次空気の供給を停止する要求を発生する。更に、第４変形制御装置は、目標空燃比abyfrの初期値を第４制御装置と同様、始動直後の冷却水温ＴＨＷに基づいて決定する。但し、第４変形制御装置は、その目標空燃比abyfrを、所定時間における「機関始動後の積算吸入空気量ＳＧａの変化量ΔＳＧａ」に応じて増大（リーン化）させる。
【０２９２】
そして、第４変形制御装置は、第４制御装置と同様、目標空燃比abyfrが閾値空燃比afthより大きくなったとき（即ち、目標空燃比abyfrが、閾値空燃比afthよりもリーン側の空燃比であって、理論空燃比に十分に近づいたとき）、二次空気の供給を停止する（二次空気の供給の停止を許容する）。これにより、第４変形制御装置は、二次空気供給停止に伴う機関発生トルクの変化量を小さくすることができる。
【０２９３】
（実際の作動）
以下、第４変形制御装置の作動の詳細について、図１８を参照しながら第４制御装置との相違点を中心に説明する。なお、図１８において図１５に示したステップと同一の処理を行うためのステップには、図１５のそのようなステップに付された符号と同一の符号が付されている。それらのステップについての詳細な説明は適宜省略される。
【０２９４】
第４変形制御装置のＣＰＵは、所定のタイミングになると図１８のステップ１８００から処理を開始し、ステップ１５１０及びステップ１５２０の処理を実行することにより、機関始動直後の冷却水温ＴＨＷに基づいて目標空燃比abyfrの初期値を決定する。
【０２９５】
次に、ＣＰＵはステップ１５３０に進み二次空気供給フラグＸＡＩの値が「１」であるか否かを判定する。このとき、二次空気が導入されていて二次空気供給フラグＸＡＩの値が「１」であると、ＣＰＵはステップ１５３０にて「Ｙｅｓ」と判定し、以下に述べるステップ１８１０及びステップ１８２０の処理を行い、ステップ１８３０に進む。
【０２９６】
ステップ１８１０：ＣＰＵは、本ルーチンを前回実行した時点から現時点までの「機関始動後の積算吸入空気量ＳＧａの変化量ΔＳＧａ」を求める。
ステップ１８２０：ＣＰＵは、現時点の目標空燃比abyfrに変化量ΔＳＧａに応じた値（即ち、kaf・ΔＳＧａ，但し、kafは正の定数）を加えた値を、新たな目標空燃比abyfrとして設定する。即ち、ＣＰＵは、目標空燃比abyfrを値kaf・ΔＳＧａだけリーン側に変更する。
【０２９７】
これに対し、ステップ１５３０の実行時点において、二次空気供給フラグＸＡＩの値が「０」であると（即ち、二次空気の供給が停止されていると）、ＣＰＵはステップ１５３０にて「Ｎｏ」と判定し、ステップ１８３０に直接進む。
【０２９８】
ステップ１８３０：ＣＰＵは、目標空燃比abyfrが理論空燃比stoich以上であるか否かを判定する。即ち、ＣＰＵは、目標空燃比abyfrが理論空燃比stoichよりもリーン側の空燃比であるか否かを判定する。ＣＰＵは、目標空燃比abyfrが理論空燃比stoich以上であるときステップ１８４０に進み、目標空燃比abyfrが理論空燃比より小さいときステップ１５７０に直接進む。
ステップ１８４０：ＣＰＵは、目標空燃比abyfrに理論空燃比stoichを設定する。つまり、目標空燃比abyfrが理論空燃比stoichに一致せしめられる。その後、ＣＰＵはステップ１５７０に進む。
【０２９９】
ＣＰＵはステップ１５７０にて、空燃比フィードバック制御フラグＸＭＦＢの値が「１」であるか否かを判定する。そして、空燃比フィードバック制御フラグＸＭＦＢの値が「１」であると、ＣＰＵはステップ１５７０にて「Ｙｅｓ」と判定してステップ１５８０に進み、目標空燃比abyfrに理論空燃比stoichを設定し、ステップ１５９５に進んで本ルーチンを一旦終了する。これに対し、ステップ１５７０の実行時点において、空燃比フィードバック制御フラグＸＭＦＢの値が「０」であると、ＣＰＵはステップ１５７０にて「Ｎｏ」と判定してステップ１８９５に直接進んで本ルーチンを一旦終了する。
【０３００】
このように、第４変形制御装置のＣＰＵは、二次空気供給フラグＸＡＩの値が「１」であるとき（即ち、二次空気が供給されているとき）、目標空燃比abyfrを所定時間に変化量kaf・ΔＳＧａだけ理論空燃比に向けて徐々に変化させてゆく。この結果、始動直後の冷却水温ＴＨＷが比較的低く、従って、目標空燃比abyfrの初期値が比較的小さい場合であっても、目標空燃比abyfrは積算吸入空気量ＳＧａが増大するに従って理論空燃比に近づく。そして、ＣＰＵは図１７のルーチンに示したように、二次空気供給停止要求フラグＸＯＦＦＹＫの値が「１」であるとき（ステップ１７２０を参照。）、目標空燃比abyfrが閾値空燃比afth以上であれば（ステップ１７３０を参照。）、二次空気の供給を停止する（ステップ１７４０及びステップ１７５０を参照。）。
【０３０１】
従って、第４変形制御装置によれば、二次空気供給停止時の機関の空燃比を理論空燃比に十分に近づけることができる。その結果、二次空気の供給を実際に停止する際の機関の発生トルクの変化幅ΔＴＱを閾値トルク変化幅ΔＴＱｔｈ以下にすることができるので、二次空気の供給を停止する際の機関の運転状態を安定化することができる。
【０３０２】
更に、第４変形制御装置は、第４制御装置と同様、
前記二次空気が供給されている状態において、前記機関に供給される混合気の空燃比を理論空燃比よりもリッチ側の空燃比に設定するリッチ空燃比設定手段（図１８のステップ１５２０、図１６のステップ１６１０及びステップ１６５５等を参照。）と、
前記供給停止前過渡期間において、前記リッチ空燃比設定手段によって設定される空燃比に代え、前記機関の制御量としての前記機関に供給される混合気の空燃比を前記供給停止前過渡期間の開始直前における混合気の空燃比から徐々に理論空燃比に近づけることにより、「前記二次空気供給停止時における混合気の空燃比」を「理論空燃比よりも所定空燃比だけリッチ側の閾値空燃比afth」よりも「リーン側の空燃比」に設定するように構成されたトルク変動抑制手段としての供給停止前空燃比リーン化手段（図１８のステップ１５３０、ステップ１８１０乃至ステップ１８４０、及び、図１７のステップ１７３０等を参照。）と、
を備えると言うことができる。
【０３０３】
なお、第４制御装置及び第４変形制御装置において、二次空気供給停止要求は、機関始動後の積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈ以上となったことにより発生した。これに対し、二次空気供給停止要求は、機関の負荷ＫＬが閾値負荷ＫＬｔｈより大きくなった場合等の他の条件が成立したときに発生させられてもよい。更に、図１８のステップ１８２０における目標空燃比abyfrの変化量は変化量ΔＳＧａに応じた値（kaf・ΔＳＧａ）であったが、一定値であってもよい。
【０３０４】
更に、第４変形制御装置において、図１８のステップ１５３０を図１３のステップ１３０５（二次空気供給停止要求フラグＸＯＦＦＹＫの値が「１」であるか否かを判定するステップ）に置換してもよい。これによれば、二次空気の供給停止要求が発生した時点以降、機関の空燃比は、供給停止前過渡期間の開始時点（二次空気の供給停止要求が発生した時点）直前における混合気の空燃比から徐々に理論空燃比に近づけられる。そして、その機関の空燃比が閾値空燃比afthよりもリーン側の空燃比（閾値空燃比afthを含む。）となったときに二次空気の供給が実際に停止される。従って、この態様によっても、二次空気の供給を実際に停止する際の機関の発生トルクの変化幅ΔＴＱを閾値トルク変化幅ΔＴＱｔｈ以下にすることができる。
【０３０５】
（第５実施形態）
次に、本発明の第５実施形態に係る制御装置（以下、「第５制御装置」とも称呼する。）について説明する。この第５制御装置は、吸気弁及び排気弁か共に開弁しているバルブオーバーラップ期間が十分に短くなったときに二次空気の供給の停止を許容することにより二次空気供給停止時のトルク変動の幅を小さくする。以下、第５制御装置の作動の概略について説明する。なお、前述したように、吸気弁開弁進角角度ＶＶＴが大きいほどバルブオーバーラップ期間は長くなる。
【０３０６】
（作動の概略）
ところで、二次空気の供給を停止したときの吸気弁開弁進角角度ＶＶＴが大きいほど、二次空気の供給を停止したときの機関発生トルクの変化の幅ΔＴＱは大きくなる。換言すると、バルブオーバーラップ期間が短いほど、二次空気の供給を停止したときのトルク変化幅ΔＴＱが小さくなる（上述した推定理由２を参照。）。
【０３０７】
そこで、第５制御装置は、二次空気の供給を停止する直前の期間（供給停止前過渡期間）において、吸気弁開弁進角角度ＶＶＴを徐々に小さくする（バルブオーバーラップ期間を徐々に短くする）。そして、第５制御装置は、吸気弁開弁進角角度ＶＶＴがその最小値（この場合、「０」）よりも所定値ΔＶＶＴｔｈだけ進角側の角度（閾値角度ＶＶＴｔｈ）よりも小さくなったときに二次空気の供給を停止する。即ち、第５制御装置は、バルブオーバーラップ期間が「制御され得る範囲内の最小のバルブオーバーラップ期間」に近づき、二次空気供給停止に伴う機関の発生トルクの変化幅ΔＴＱが閾値トルク変化幅ΔＴＱｔｈＬ以下となるときに二次空気の供給を停止する。これにより、第５制御装置は、二次空気供給停止に伴う機関発生トルクの変化の幅を小さくすることができる。
【０３０８】
より具体的に述べると、第５制御装置は、図９に示したルーチンを実行することにより、以下に記載した条件１及び条件２が共に成立しているとき二次空気の供給を開始する。
＜条件１＞機関１０が始動された直後の冷却水温ＴＨＷが所定の範囲内である。即ち、機関１０が始動された直後の冷却水温ＴＨＷが、低側閾値温度ＴＨＷlo以上であり且つ高側閾値温度ＴＨＷhi以下である。
＜条件２＞二次空気の供給を停止する要求（二次空気供給停止要求）が発生していない（二次空気供給停止要求フラグＸＯＦＦＹＫの値が「０」である。）。
【０３０９】
第５制御装置は、図１０に示したルーチンを実行することにより、以下の条件３が成立したとき二次空気供給停止要求を発生する（二次空気供給停止要求フラグＸＯＦＦＹＫの値を「１」に設定する。）。
＜条件３＞機関１０の始動後の積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈ以上である。
【０３１０】
第５制御装置は、後述する図２０に示したルーチンを実行することにより、以下の条件４乃至条件６が成立したとき二次空気の供給を停止する。
＜条件４＞二次空気供給停止要求が発生している。即ち、二次空気供給停止要求フラグＸＯＦＦＹＫの値が「１」である。
＜条件５＞目標空燃比abyfrが閾値空燃比afth以上である。
＜条件６＞吸気弁開弁進角角度ＶＶＴ（実際には、目標吸気弁開弁進角角度ＶＶＴtgt）が閾値角度ＶＶＴｔｈ以下である。
【０３１１】
更に、第５制御装置は、機関の始動後において二次空気が供給されている場合、バルブオーバーラップ期間が長くなるように吸気弁開弁進角角度ＶＶＴを大きい値に設定する。加えて、第５制御装置は、機関始動後の積算吸入空気量ＳＧａが増大するにつれてバルブオーバーラップ期間が減少するように吸気弁開弁進角角度ＶＶＴを減少させる。
【０３１２】
これにより、機関始動後から暫くの期間、バルブオーバーラップ期間が相対的に長くなる。従って、供給された二次空気が燃焼室２１内に比較的多量に流入するので、燃焼室２１内において燃焼する燃料量が増大する。その結果、機関の発生トルクが増大する。また、バルブオーバーラップ期間が機関始動後において大きくなるので、吸気ポート２２内に逆流する排ガスの量が増大する。この結果、吸気ポート２２の温度が早期に上昇するので、燃料の霧化状態が改善され、エミッションが改善される。
【０３１３】
更に、第５制御装置は、積算吸入空気量ＳＧａが増大して閾値積算吸入空気量ＳＧａｔｈに到達する時点までに、機関の空燃比（実際には、目標空燃比abyfr）を閾値空燃比afthにまでリーン化するとともに、吸気弁開弁進角角度ＶＶＴを十分小さい値（ＶＶＴｔｈ）にまで減少させる。従って、上記条件４乃至上記条件６が成立して二次空気の供給が停止される際、燃焼室２１内に流入する二次空気量の差は小さくなり、しかも、燃焼室２１にて燃焼される燃料の量も小さくなる。この結果、第５制御装置は、二次空気供給停止時における機関発生トルクの変動幅（減少変化幅）ΔＴＱを小さくすることができる。
【０３１４】
（実際の作動）
次に、第５制御装置の実際の作動について説明する。第５制御装置のＣＰＵは、第４制御装置のＣＰＵが実行する図９、図１０、図１５及び図１６に示したルーチンを実行する。更に、第５制御装置のＣＰＵは、図１７に代わる図２０に示したルーチンと、図２１に示したルーチンと、を実行する。これにより、第５制御装置は、二次空気、機関の空燃比及び吸気弁開弁進角角度ＶＶＴ（バルブオーバーラップ期間）の制御を実行する。以下、図２０及び図２１に示したルーチンに焦点を当てて説明を行う。
【０３１５】
ＣＰＵは、図２０に示した二次空気供給停止ルーチンを所定時間の経過毎に繰り返し実行するようになっている。なお、図２０において図１７に示したステップと同一の処理を行うためのステップには、図１７のそのようなステップに付された符号と同一の符号が付されている。それらのステップについての詳細な説明は適宜省略される。
【０３１６】
この図２０に示したルーチンは、図１７に示したルーチンのステップ１７３０とステップ１７４０との間に、ステップ２０１０を備えるルーチンである。ＣＰＵは、このステップ２０１０に進むと、吸気弁開弁進角角度ＶＶＴが閾値角度ＶＶＴｔｈ以下となっているか否かを判定する。そして、ＣＰＵは、吸気弁開弁進角角度ＶＶＴが閾値角度ＶＶＴｔｈ以下となっているときにステップ１７４０及びステップ１７５０を経由してステップ２０９５に進む。ＣＰＵは、吸気弁開弁進角角度ＶＶＴが閾値角度ＶＶＴｔｈより大きいとき、ステップ２０１０からステップ２０９５へと直接進む。閾値角度ＶＶＴｔｈは、吸気弁開弁進角角度ＶＶＴが閾値角度ＶＶＴｔｈである場合（且つ、目標空燃比abyfrが閾値空燃比afthである場合）、二次空気の供給を停止したときのトルク変化幅ΔＴＱが閾値トルク変化幅ΔＴＱｔｈＬとなる吸気弁開弁進角角度ＶＶＴである。
【０３１７】
更に、前述したように、ＣＰＵは図２１にフローチャートにより示した吸気弁開弁タイミング制御ルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、ＣＰＵは図２１のステップ２１００から処理を開始し、ステップ２１１０にてスロットル弁開度ＴＡが０であるか否かを判定する。このとき、スロットル弁開度ＴＡが０でなければ、ＣＰＵはステップ２１１０にて「Ｎｏ」と判定してステップ２１２０に進む。
【０３１８】
ＣＰＵは、ステップ２１２０において、「負荷ＫＬ及び機関回転速度ＮＥと、目標吸気弁開弁進角角度ＶＶＴtgtと、の関係を規定したテーブルMapVVTtgt」に、実際の負荷ＫＬ及び実際の機関回転速度ＮＥを適用することにより、現時点における目標吸気弁開弁進角角度ＶＶＴtgtを決定する。そして、ＣＰＵはステップ２１３０に進み、実際の吸気弁開弁タイミングが目標吸気弁開弁進角角度ＶＶＴtgtに一致するように、吸気弁制御装置２６に指示信号を送出する。その後、ＣＰＵはステップ２１９５に進み、本ルーチンを一旦終了する。
【０３１９】
一方、ステップ２１１０の実行時点においてスロットル弁開度ＴＡが０であると、ＣＰＵはステップ２１１０にて「Ｙｅｓ」と判定してステップ２１４０に進み、二次空気供給フラグＸＡＩの値が「１」であるか否かを判定する。そして、二次空気供給フラグＸＡＩの値が「１」であると、ＣＰＵはステップ２１４０にて「Ｙｅｓ」と判定してステップ２１５０に進み、機関始動後の積算吸入空気量ＳＧａと目標吸気弁開弁進角角度ＶＶＴtgtとの関係を規定するテーブルｇに実際の積算吸入空気量ＳＧａを適用することにより、現時点における目標吸気弁開弁進角角度ＶＶＴtgtを決定する。その後、ＣＰＵはステップ２１３０を経由してステップ２１９５に進み、本ルーチンを一旦終了する。
【０３２０】
このテーブルｇによれば、積算吸入空気量ＳＧａが０以上且つ第１閾値ＳＧａ１以下である場合、目標吸気弁開弁進角角度ＶＶＴtgtは最大値ＶＶＴmaxに設定される。更に、テーブルｇによれば、目標吸気弁開弁進角角度ＶＶＴtgtは、積算吸入空気量ＳＧａが第１閾値ＳＧａ１より大きくなるにつれて最大値ＶＶＴmaxから「０」に向けて次第に減少するように設定される。
【０３２１】
更に、このテーブルｇによれば、積算吸入空気量ＳＧａが二次空気の供給を停止する要求（供給停止要求）をもたらす閾値積算吸入空気量ＳＧａｔｈとなったとき、目標吸気弁開弁進角角度ＶＶＴtgtは閾値角度ＶＶＴｔｈに設定される。この閾値角度ＶＶＴｔｈは、吸気弁開弁タイミングが閾値角度ＶＶＴｔｈにより定まる吸気弁開弁タイミングであれば（即ち、バルブオーバーラップ期間が閾値角度ＶＶＴｔｈにより定まるバルブオーバーラップ期間であれば）、排気ポート２３を介して燃焼室２１内に二次空気が殆ど流入することのないようなタイミングに設定されている。換言すると、吸吸気弁開弁タイミングが閾値角度ＶＶＴｔｈにより定まる吸気弁開弁タイミングであれば、二次空気の供給を停止した場合であっても、機関発生トルクの変動幅ΔＴＱは閾値トルク変化幅ΔＴＱｔｈＬ以下となる。
【０３２２】
従って、始動後の積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈ以上となることに基づいて二次空気供給停止要求が発生された時点（又はその時点の近傍の時点）において、実際の吸気弁開弁進角角度ＶＶＴは閾値角度ＶＶＴｔｈ以下となる。そして、第５制御装置は、図２０のステップ２０１０にて「吸気弁開弁進角角度ＶＶＴが閾値角度ＶＶＴｔｈ以下」となったとき、二次空気の供給を停止する。この結果、第５制御装置は、二次空気供給停止に伴う機関の発生トルクの変化の幅を小さくすることができ、且つ、二次空気供給停止要求の発生時点から大きく遅れることのない時点にて、二次空気の供給を停止することができる。
【０３２３】
なお、図２１のステップ２１４０の実行時点において、二次空気供給フラグＸＡＩの値が「０」であると、ＣＰＵはそのステップ２１４０にて「Ｎｏ」と判定し、ステップ２１６０に進んで目標吸気弁開弁進角角度ＶＶＴtgtを０に設定する。その後、ＣＰＵはステップ２１３０を経由してステップ２１９５に進み、本ルーチンを一旦終了する。即ち、スロットル弁開度ＴＡが「０」である場合であって二次空気の供給が停止されているとき、バルブオーバーラップ期間は最小期間となる。
【０３２４】
以上、説明したように、第５制御装置は、
燃焼室２１と接続された吸気ポート２２を開閉する吸気弁が開弁した状態にあり且つ燃焼室２１と接続されるとともに排気通路の端部を構成する排気ポート２３を開閉する排気弁が開弁している状態にあるバルブオーバーラップ期間を指示に応じて変更するバルブオーバーラップ期間変更手段（吸気弁制御装置２６）と、
供給停止前過渡期間（機関始動後の積算吸入空気量ＳＧａが第１閾値ＳＧａ１に到達した時点を開始時点とし、機関始動後の積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈに到達する時点を終点時点とする期間）において、機関の制御量としてのバルブオーバーラップ期間が同供給停止前過渡期間の開始直前におけるバルブオーバーラップ期間（ＶＶＴmaxに対応する期間）から徐々に短くなるように前記バルブオーバーラップ期間変更手段に指示を与える「トルク変動抑制手段としてのオーバーラップ期間指示手段」（図２１のルーチンを参照。）と、
を備える。
【０３２５】
従って、第５制御装置は、二次空気供給停止時にバルブオーバーラップ期間を十分に短くできるので、二次空気供給停止前後において燃焼室２１内に流入する二次空気の変化量を小さくすることができる。その結果、第５制御装置は、二次空気の供給を停止する際の機関の発生トルクの変化の幅（減少変化幅）を小さくすることができるから、機関の運転状態を安定化することができる。
【０３２６】
また、第５制御装置は、前記供給停止前過渡期間において、前記機関の制御量としての前記バルブオーバーラップ期間を同供給停止前過渡期間の開始直前におけるバルブオーバーラップ期間（ＶＶＴmaxに対応する期間）から徐々に短くすることにより、前記二次空気供給停止時におけるバルブオーバーラップ期間が所定の閾値バルブオーバーラップ期間（ＶＶＴｔｈに対応する期間）より短くなるように、前記バルブオーバーラップ期間変更手段に指示を与える手段を備えると言うこともできる（図２１のステップ２１５０及びステップ２１３０を参照。）。更に、第５制御装置において、図２０のステップ１７３０を省略してもよい。更に、第５制御装置においては、目標空燃比abyfrを冷却水温ＴＨＷに応じた値に設定しておいてもよい。
【０３２７】
（第６実施形態）
次に、本発明の第６実施形態に係る制御装置（以下、「第６制御装置」とも称呼する。）について説明する。この第６制御装置は、そのＣＰＵが図９、図１０、図２２及び図２３に示したルーチンを実行することにより二次空気及び吸気弁開弁タイミング（即ち、バルブオーバーラップ期間）の制御を実行する。
【０３２８】
（作動の概略）
先ず、第６制御装置の作動の概略について説明する。第６制御装置は、図９に示したルーチンを実行することにより、以下に記載した条件１及び条件２が共に成立しているとき二次空気の供給を開始する。
＜条件１＞機関１０が始動された直後の冷却水温ＴＨＷが所定の範囲内である。即ち、機関１０が始動された直後の冷却水温ＴＨＷが、低側閾値温度ＴＨＷlo以上であり且つ高側閾値温度ＴＨＷhi以下である。
＜条件２＞二次空気の供給を停止する要求（二次空気供給停止要求）が発生していない（二次空気供給停止要求フラグＸＯＦＦＹＫの値が「０」である。）。
【０３２９】
第６制御装置は、図１０に示したルーチンを実行することにより、以下の条件３が成立したとき二次空気供給停止要求を発生する（二次空気供給停止要求フラグＸＯＦＦＹＫの値を「１」に設定する。）。
＜条件３＞機関１０の始動後の積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈ以上である。
【０３３０】
第６制御装置は、後述する図２３に示したルーチンを実行することにより、以下の条件４及び条件５が成立したとき二次空気の供給を停止する。
＜条件４＞二次空気供給停止要求が発生している。即ち、二次空気供給停止要求フラグＸＯＦＦＹＫの値が「１」である。
＜条件５＞吸気弁開弁進角角度ＶＶＴ（実際には、目標吸気弁開弁進角角度ＶＶＴtgt）が閾値角度ＶＶＴｔｈ以下である。
【０３３１】
より具体的に述べると、第６制御装置は、二次空気の供給中に機関１０の始動後の積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈ以上になることにより（条件３が成立することにより）二次空気供給停止要求が発生すると、目標吸気弁開弁進角角度ＶＶＴtgtを次第に減少させる。そして、目標吸気弁開弁進角角度ＶＶＴtgtが閾値角度ＶＶＴｔｈ以下となったとき、二次空気の供給を停止する。
【０３３２】
上述したように、閾値角度ＶＶＴｔｈは、吸気弁開弁進角角度ＶＶＴが閾値角度ＶＶＴｔｈである場合、二次空気の供給を停止したときのトルク変化幅ΔＴＱが閾値トルク変化幅ΔＴＱｔｈＬとなる吸気弁開弁進角角度ＶＶＴである。従って、第６制御装置は、二次空気供給停止に伴う機関発生トルクの変化の幅（減少変化幅）を小さくすることができる。
【０３３３】
（実際の作動）
次に、第６制御装置の実際の作動について説明する。上述したように、第６制御装置のＣＰＵは、図９、図１０、図２２及び図２３に示したルーチンを実行する。図９及び図１０に示したルーチンの処理内容は説明済みである。従って、以下、図２３及び図２４に示したルーチンによる処理内容を中心として説明を加える。
【０３３４】
第６制御装置のＣＰＵは図２２にフローチャートにより示した吸気弁開弁タイミング制御ルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、ＣＰＵは図２２のステップ２２００から処理を開始し、ステップ２２０５にてスロットル弁開度ＴＡが０（又は、実質的に「０」と見做せる微小開度以下）であるか否かを判定する。このとき、スロットル弁開度ＴＡが０でなければ、ＣＰＵはステップ２２０５にて「Ｎｏ」と判定してステップ２２１０に進む。
【０３３５】
ステップ２２１０は先に説明した図２１のステップ２１２０と同じ処理を実行するステップである。従って、ＣＰＵは、ステップ２２１０において、テーブルMapVVTtgtに実際の負荷ＫＬ及び実際の機関回転速度ＮＥを適用することにより、現時点における目標吸気弁開弁進角角度ＶＶＴtgtを決定する。そして、ＣＰＵはステップ２２１５に進み、現時点における二次空気供給フラグＸＡＩの値を前回の二次空気供給フラグＸＡＩoldの値として格納する。
【０３３６】
次いで、ＣＰＵはステップ２２２０に進み、実際の吸気弁開弁タイミングが目標吸気弁開弁進角角度ＶＶＴtgtに一致するように、吸気弁制御装置２６に指示信号を送出する。その後、ＣＰＵはステップ２２９５に進み、本ルーチンを一旦終了する。
【０３３７】
これに対し、ステップ２２０５の実行時点においてスロットル弁開度ＴＡが０であると、ＣＰＵはステップ２２０５にて「Ｙｅｓ」と判定してステップ２２２５に進み、二次空気供給フラグＸＡＩの値が「１」であるか否かを判定する。このとき、二次空気供給フラグＸＡＩの値が「０」であると（即ち、二次空気の供給が停止していると）、ＣＰＵはステップ２２２５にて「Ｎｏ」と判定してステップ２２３０に進み、二次空気補正用進角度ＶＶＴａｉを０に設定する。
【０３３８】
次に、ＣＰＵはステップ２２３５に進み、目標吸気弁開弁進角角度ＶＶＴtgtの値を二次空気補正用進角度ＶＶＴａｉの値に設定する。そして、ＣＰＵはステップ２２１５及びステップ２２２０を経由してステップ２２９５に進み、本ルーチンを一旦終了する。この結果、スロットル弁開度ＴＡが０であり且つ二次空気の供給が停止されている場合、二次空気補正用進角度ＶＶＴａｉ（従って、目標吸気弁開弁進角角度ＶＶＴtgt）は０に設定される。従って、吸気弁閉弁タイミングは最も遅角側のタイミングとなり、バルブオーバーラップ期間は最も短くなる。
【０３３９】
一方、ステップ２２２５の実行時点において二次空気供給フラグＸＡＩの値が「１」であると（即ち、二次空気が供給されていると）、ＣＰＵは以下に述べるステップ２２４０乃至ステップ２２６５の処理を行い、その後、ステップ２２３５、ステップ２２１５及びステップ２２２０を経て本ルーチンを一旦終了する。
【０３４０】
ステップ２２４０：ＣＰＵは、前回の二次空気供給フラグＸＡＩoldの値が「０」であるか否かを判定する。ＣＰＵは、前回の二次空気供給フラグＸＡＩoldの値が「０」であればステップ２２４５に進み、前回の二次空気供給フラグＸＡＩoldの値が「１」であればステップ２２５０に直接進む。
ステップ２２４５：ＣＰＵは、二次空気補正用進角度ＶＶＴａｉに二次空気補正用進角度初期値ＶＶＴａｉintを格納する。ステップ２２２５、ステップ２２４０及びこのステップ２２４５により、スロットル弁開度ＴＡが０である場合における二次空気の供給開始時（二次空気供給フラグＸＡＩの値が「０」から「１」に変化した直後）に、二次空気補正用進角度ＶＶＴａｉが二次空気補正用進角度初期値ＶＶＴａｉintに設定される。次いで、ＣＰＵはステップ２２５０に進む。
【０３４１】
ステップ２２５０：ＣＰＵは、二次空気供給停止要求フラグＸＯＦＦＹＫの値が「１」であるか否かを判定する。ＣＰＵは、二次空気供給停止要求フラグＸＯＦＦＹＫの値が「１」であればステップ２２５５に進む。一方、二次空気供給停止要求フラグＸＯＦＦＹＫの値が「０」であればステップ２２３５に直接進む。これにより、ステップ２２３５にて目標吸気弁開弁進角角度ＶＶＴtgtの値が二次空気補正用進角度初期値ＶＶＴａｉintに設定される。
【０３４２】
即ち、スロットル弁開度ＴＡが０である場合における二次空気の供給中、二次空気供給停止要求フラグＸＯＦＦＹＫの値が「０」であれば（二次空気供給停止要求が発生していなければ）、吸気弁閉弁タイミングは二次空気補正用進角度初期値ＶＶＴａｉintにより定まる比較的大きい値に維持される。従って、バルブオーバーラップ期間が長い期間に設定されるので、排気ポート２３を介して燃焼室２１内に二次空気が多く流入する。その結果、機関発生トルクが増大し、且つ、吸気ポート２２の暖機が促進される。
【０３４３】
ステップ２２５５：ＣＰＵは、二次空気補正用進角度ＶＶＴａｉを変更量ΔＶＶＴａｉだけ減少させる。次いで、ＣＰＵはステップ２２６０に進む。
ステップ２２６０：ＣＰＵは、ステップ２２５５にて更新された二次空気補正用進角度ＶＶＴａｉが０以下であるか否かを判定する。ＣＰＵは、二次空気補正用進角度ＶＶＴａｉが０以下であるとステップ２２６５に進み、二次空気補正用進角度ＶＶＴａｉが０より大きいとステップ２２３５に直接進む。
ステップ２２６５：ＣＰＵは、二次空気補正用進角度ＶＶＴａｉに０を格納する。即ち、ステップ２２６０とステップ２２６５との処理により、二次空気補正用進角度ＶＶＴａｉが０以上の値に維持される。
【０３４４】
このように、スロットル弁開度ＴＡが０であり、二次空気供給フラグＸＡＩの値が「１」であって二次空気が供給されており、二次空気供給停止要求が発生して二次空気供給停止要求フラグＸＯＦＦＹＫの値が「１」である場合、ステップ２２５５の処理が繰り返されることにより、二次空気補正用進角度ＶＶＴａｉは二次空気補正用進角度初期値ＶＶＴａｉintから０に向けて次第に減少させられる。即ち、目標吸気弁開弁進角角度ＶＶＴtgtの値が所定時間あたりに変更量ΔＶＶＴａｉずつ減少するので、実際の吸気弁開弁進角角度ＶＶＴ（従って、バルブオーバーラップ期間）も所定時間あたりに変更量ΔＶＶＴａｉずつ減少する。
【０３４５】
更に、ＣＰＵは図２３にフローチャートにより示した二次空気供給停止ルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、所定のタイミングになると、ＣＰＵは図２３のステップ２３００から処理を開始し、以下に述べるステップ２３１０乃至ステップ２２５０の処理を行い、ステップ２３９５に進んで本ルーチンを一旦終了する。
【０３４６】
ステップ２３１０：ＣＰＵは、二次空気供給フラグＸＡＩの値が「１」であるか否かを判定する。ＣＰＵは、二次空気供給フラグＸＡＩの値が「１」であると（即ち、二次空気が供給されていると）ステップ２３２０に進む。ＣＰＵは、二次空気供給フラグＸＡＩの値が「０」であると（即ち、二次空気の供給が停止していると）ステップ２３９５に直接進んで本ルーチンを一旦終了する。
【０３４７】
ステップ２３２０：ＣＰＵは、二次空気供給停止要求フラグＸＯＦＦＹＫの値が「１」であるか否かを判定する。ＣＰＵは、二次空気供給停止要求フラグＸＯＦＦＹＫの値が「１」であるとステップ２３３０に進む。ＣＰＵは、二次空気供給停止要求フラグＸＯＦＦＹＫの値が「０」であるとステップ２３９５に直接進んで本ルーチンを一旦終了する。
【０３４８】
ステップ２３３０：ＣＰＵは、目標吸気弁開弁進角角度ＶＶＴtgtが閾値角度ＶＶＴｔｈ以下となっているか否かを判定する。ＣＰＵは、目標吸気弁開弁進角角度ＶＶＴtgtが閾値角度ＶＶＴｔｈ以下となっていれば、ステップ２３４０及びステップ２３５０に進む。ＣＰＵは、目標吸気弁開弁進角角度ＶＶＴtgtが閾値角度ＶＶＴｔｈより大きいと、ステップ２３９５に直接進んで本ルーチンを一旦終了する。
【０３４９】
ステップ２３４０：ＣＰＵはエアポンプ５２の回転を停止するとともに二次空気制御弁５４を開弁状態から閉弁状態へと変化させることにより、排気ポート２３への二次空気の供給を停止する。
ステップ２３５０：ＣＰＵは二次空気供給フラグＸＡＩの値を「０」に設定する。
【０３５０】
以上、説明したように、第６制御装置は、二次空気の停止要求が発生しても目標吸気弁開弁進角角度ＶＶＴtgt（二次空気補正用進角度ＶＶＴａｉ）が閾値角度ＶＶＴｔｈ以下となるまで（即ち、バルブオーバーラップ期間が十分に短くなるまで）、二次空気の供給を停止しない。そして、第６制御装置は、目標吸気弁開弁進角角度ＶＶＴtgtが閾値角度ＶＶＴｔｈ以下となったとき、二次空気の供給を停止する（図２３のステップ２３２０乃至ステップ２３５０を参照。）。
【０３５１】
従って、第６制御装置は、第５制御装置と同様、二次空気供給停止時にバルブオーバーラップ期間を十分に短くできるので、二次空気供給停止前後において燃焼室２１内に流入する二次空気の変化量を小さくすることができる。その結果、第６制御装置は、二次空気の供給を停止する際の機関の発生トルクの変化の幅（減少変化幅）を小さくすることができるから、機関の運転状態を安定化することができる。
【０３５２】
更に、第６制御装置は、
バルブオーバーラップ期間を指示に応じて変更するバルブオーバーラップ期間変更手段（吸気弁制御装置２６）と、
前記二次空気が供給されている場合に前記二次空気の供給を停止する要求である供給停止要求が発生したか否かを判定する停止要求発生判定手段（図１０のルーチンを参照。）と、
前記供給停止要求が発生したと判定されている場合、前記変更される実際のバルブオーバーラップ期間が所定の閾値バルブオーバーラップ期間より短くなったとき（即ち、目標吸気弁開弁進角角度ＶＶＴtgtが閾値角度ＶＶＴｔｈ以下となったとき）、供給停止条件が成立したと判定する（即ち、二次空気供給条件が不成立となったと判定する）供給停止条件成立判定手段（図２３のルーチンを参照。）と、
を含む二次空気供給手段を備える。
【０３５３】
更に、第６制御装置は、
前記供給停止要求が発生したと判定された時点（ステップ２２５０を参照。）を開始時点として定めてなる供給停止前過渡期間において、機関の制御量としてのバルブオーバーラップ期間が「供給停止前過渡期間の開始直前におけるバルブオーバーラップ期間」から徐々に短くなるように前記バルブオーバーラップ期間変更手段に指示を与える「トルク変動抑制手段としてのオーバーラップ期間指示手段」（図２２の特にステップ２２５０及びステップ２２２５を参照。）を備える制御装置である。
【０３５４】
（第７実施形態）
次に、本発明の第７実施形態に係る制御装置（以下、「第７制御装置」とも称呼する。）について説明する。この第７制御装置のＣＰＵは、図２４乃至図２８に示したルーチンを実行する。これにより、第７制御装置は、二次空気の供給が一旦停止された後、二次空気の供給を再開する要求（二次空気供給再開要求）が発生したとき、直ちに二次空気の供給を再開せず、触媒４３の暖機を促進するための暖機遅角量Ａdanki等の点火時期遅角量を徐々に小さくする。そして、第７制御装置は、点火時期遅角量が所定値より小さくなったとき（即ち、点火時期が最適点火時期（ＭＢＴ）に十分に近づいたとき）、二次空気の供給を再開する。これにより、第７制御装置は、二次空気供給再開に伴う機関発生トルクの変化の幅（増大幅）を小さくすることができる。
【０３５５】
（実際の作動）
第７制御装置の実際の作動について説明する。第７制御装置のＣＰＵは、図２４に示した機関始動時二次空気供給制御ルーチンを所定時間の経過毎に実行するようになっている。従って、所定のタイミングになると、ＣＰＵは図２４のステップ２４００から処理を開始してステップ２４１０に進み、現時点が始動直後であるか否かを判定する。
【０３５６】
現時点が機関１０の始動直後であると仮定すると、ＣＰＵはステップ２４１０にて「Ｙｅｓ」と判定してステップ２４２０に進み、冷却水温ＴＨＷが所定の範囲内（ＴＨＷlo以上且つＴＨＷhi以下）であるか否かを判定する。そして、冷却水温ＴＨＷが所定の範囲内であると、ＣＰＵはステップ２４２０にて「Ｙｅｓ」と判定してステップ２４３０に進み、エアポンプ５２を回転させるとともに二次空気制御弁５４を閉弁状態から開弁状態へと変化させることにより、排気ポート２３に二次空気を供給する。次いで、ＣＰＵはステップ２４４０にて二次空気供給フラグＸＡＩの値を「１」に設定し、ステップ２４９５に進んで本ルーチンを一旦終了する。
【０３５７】
なお、ＣＰＵは、現時点が始動直後でない場合にはステップ２４１０にて「Ｎｏ」と判定してステップ２４９５に直接進み、本ルーチンを一旦終了する。また、始動直後の冷却水温ＴＨＷが所定の範囲内（ＴＨＷlo以上且つＴＨＷhi以下）でない場合、ＣＰＵはステップ２４２０にて「Ｎｏ」と判定してステップ２４９５に直接進み、本ルーチンを一旦終了する。更に、ＣＰＵは図示しないイニシャルルーチンの処理を実行することにより、二次空気供給フラグＸＡＩの値を「０」に設定している。
【０３５８】
加えて、ＣＰＵは図２５に示した二次空気供給停止ルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、所定のタイミングになると、ＣＰＵは図２５のステップ２５００から処理を開始してステップ２５１０に進み、二次空気供給フラグＸＡＩの値が「１」であるか否かを判定する。
【０３５９】
いま、二次空気供給フラグＸＡＩの値が「１」であり（即ち、二次空気供給中であり）、且つ、負荷ＫＬが閾値負荷ＫＬｔｈより大きくなったと仮定する。この場合、ＣＰＵはステップ２５１０にて「Ｙｅｓ」と判定し、負荷ＫＬが閾値負荷ＫＬｔｈより大きいか否かを判定するステップ２５２０にても「Ｙｅｓ」と判定する。
【０３６０】
そして、ＣＰＵはステップ２５３０に進み、エアポンプ５２の回転を停止するとともに二次空気制御弁５４を開弁状態から閉弁状態へと変化させることにより、排気ポート２３への二次空気の供給を停止する。続いて、ＣＰＵはステップ２５４０に進み、二次空気供給フラグＸＡＩの値を「０」に設定し、ステップ２５９５に進んで本ルーチンを一旦終了する。このように、二次空気供給中に負荷ＫＬが閾値負荷ＫＬｔｈより大きくなると、二次空気の供給が停止される。
【０３６１】
更に、二次空気供給フラグＸＡＩの値が「１」であり（即ち、二次空気供給中であり）、且つ、負荷ＫＬが閾値負荷ＫＬｔｈ以下であり、且つ、機関始動後の積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈ以上となったと仮定する。この場合、ＣＰＵはステップ２５１０にて「Ｙｅｓ」と判定し、ステップ２５２０にて「Ｎｏ」と判定し、積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈ以上であるか否かを判定するステップ２５５０にて「Ｙｅｓ」と判定する。
【０３６２】
この場合、ＣＰＵはステップ２５３０及びステップ２５４０の処理を実行し、本ルーチンを一旦終了する。このように、二次空気供給中に積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈ以上となると、二次空気の供給が停止される。
【０３６３】
なお、二次空気供給フラグＸＡＩの値が「０」である場合（即ち、二次空気の供給が停止されているとき）、ＣＰＵはステップ２５１０にて「Ｎｏ」と判定し、ステップ２５９５に直接進んで本ルーチンを一旦終了する。更に、ステップ２５５０の実行時点において、積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈより小さいと、ＣＰＵはそのステップ２５５０にて「Ｎｏ」と判定し、ステップ２５９５に直接進んで本ルーチンを一旦終了する。
【０３６４】
加えて、ＣＰＵは図２６の二次空気供給再開要求判定ルーチンを実行することにより、二次空気の供給を再開する要求があるか否かを判定する。即ち、ＣＰＵは図２６に示したルーチンを所定時間の経過毎に繰り返し実行するようになっている。
【０３６５】
従って、所定のタイミングになると、ＣＰＵは図２６のステップ２６００から処理を開始し、以下に述べるステップ２６１０乃至ステップ２６６０の処理を行う。
ステップ２６１０：ＣＰＵは、二次空気供給フラグＸＡＩの値が「０」であるか否かを判定し、二次空気供給フラグＸＡＩの値が「０」であればステップ２６２０に進む。ＣＰＵは、二次空気供給フラグＸＡＩの値が「１」であればステップ２６６０に進む。
【０３６６】
ステップ２６２０：ＣＰＵは、現時点の冷却水温ＴＨＷが所定の範囲内（ＴＨＷlo以上であり且つＴＨＷhi以下）であるか否かを判定する。ＣＰＵは、現時点の冷却水温ＴＨＷが所定の範囲内にあればステップ２６３０に進み、現時点の冷却水温ＴＨＷが所定の範囲内になければステップ２６６０に進む。
ステップ２６３０：ＣＰＵは、機関動後の積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈより小さいか否かを判定し、積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈ以下であればステップ２６４０に進む。ＣＰＵは、積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈより大きいときステップ２６６０に進む。
【０３６７】
ステップ２６４０：ＣＰＵは、負荷ＫＬが閾値負荷ＫＬｔｈ以下であるか否かを判定すし、負荷ＫＬが閾値負荷ＫＬｔｈ以下であればステップ２６５０に進む。ＣＰＵは、負荷ＫＬが閾値負荷ＫＬｔｈより大きいときステップ２６６０に進む。
ステップ２６５０：ＣＰＵは、二次空気供給開始要求フラグＸＯＮＹＫの値を「１」に設定し、ステップ２６９５に進んで本ルーチンを一旦終了する。
ステップ２６６０：ＣＰＵは、二次空気供給停止要求フラグＸＯＦＦＹＫの値を「０」に設定し、ステップ２６９５に進んで本ルーチンを一旦終了する。
【０３６８】
この図２６に示したルーチンの処理により、二次空気の供給が停止されていて（ステップ２６１０を参照。）、冷却水温ＴＨＷが所定範囲内にあり（ステップ２６２０を参照。）、積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈ以下であり（ステップ２６３０を参照。）、且つ、負荷ＫＬが閾値負荷ＫＬｔｈ以下であるとき（ステップ２６４０を参照。）、二次空気供給開始要求が発生される。即ち、二次空気供給開始要求フラグＸＯＮＹＫの値が「１」に設定される（ステップ２６５０を参照。）。
【０３６９】
加えて、このＣＰＵは図２７にフローチャートにより示した点火時期制御ルーチンを各気筒のクランク角が所定クランク角（例えば、圧縮上死点前９０°クランク角、ＢＴＤＣ９０°）に一致する毎に繰り返し実行するようになっている。
【０３７０】
従って、何れかの気筒のクランク角が所定クランク角に一致すると、ＣＰＵは図２７のステップ２７００から処理を開始してステップ２７１０に進み、図３のステップ３０５と同じ処理を行うことによって基本点火時期Ａbaseを決定する。
【０３７１】
次に、ＣＰＵはステップ２７２０に進み、二次空気供給開始要求フラグＸＯＮＹＫの値が「１」であるか否かを判定する。このとき、二次空気供給開始要求フラグＸＯＮＹＫの値が「０」であると（即ち、二次空気の供給を再開する要求が発生していないと）、ＣＰＵはステップ２７２０にて「Ｎｏ」と判定してステップ２７３０に進み、図３のステップ３１０と同様の処理を行うことにより、暖機遅角量Ａdankiを決定する。
【０３７２】
次に、ＣＰＵはステップ２７４０に進み、基本点火時期Ａbaseから暖機遅角量Ａdankiを減じた点火時期（即ち、基本点火時期Ａbaseを暖機遅角量Ａdankiだけ遅角させた点火時期）を最終的な点火時期Ａigとして設定する。そして、ＣＰＵはステップ２７５０に進み、現時点におけるクランク角が圧縮上死点前９０°となっている気筒の点火時期が上記ステップ２７４０にて決定された最終点火時期Ａigとなるように、その気筒の点火プラグ２４に点火信号を送出する。
【０３７３】
一方、ＣＰＵがステップ２７２０に進んだとき、二次空気供給開始要求フラグＸＯＮＹＫの値が「１」であると（即ち、上述した図２６において二次空気供給再開要求が発生したと判定されていると）、ＣＰＵはそのステップ２７２０にて「Ｙｅｓ」と判定し、ステップ２７６０に進んで暖機遅角量Ａdankiを微小量ΔＡdankiだけ小さくする。
【０３７４】
そして、ＣＰＵはステップ２７７０に進み、前記ステップ２７６０にて更新された暖機遅角量Ａdankiが０以下であるか否かを判定する。ＣＰＵは、暖機遅角量Ａdankiが０以下であるとステップ２７８０に進んで暖機遅角量Ａdankiに０を格納し、ステップ２７４０に進む。即ち、ステップ２７７０とステップ２７８０との処理により、暖機遅角量Ａdankiが０以上の値に維持される。これに対し、ステップ２７７０の判定時点において暖機遅角量Ａdankiが０より大きいと、ＣＰＵはステップ２７４０に直接進む。
【０３７５】
その後、ＣＰＵは上述したステップ２７４０及びステップ２７５０に進み、基本点火時期Ａbaseから暖機遅角量Ａdankiを減じた最終的な点火時期Ａigにて点火を実行する。
【０３７６】
この図２７に示したルーチンを実行することにより、二次空気供給再開要求が発生している場合（即ち、二次空気供給開始要求フラグＸＯＮＹＫの値が「１」である場合）、暖機遅角量Ａdankiは点火毎に微小量ΔＡdankiだけ減少される。従って、点火時期は徐々に進角側に移行する。
【０３７７】
更に、ＣＰＵは図２８に示した二次空気供給再開制御ルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、所定のタイミングになると、ＣＰＵは図２８のステップ２８００から処理を開始し、以下に述べるステップ２８１０乃至ステップ２８３０の処理を行う。
【０３７８】
ステップ２８１０：ＣＰＵは、二次空気供給フラグＸＡＩの値が「０」であるか否かを判定し、二次空気供給フラグＸＡＩの値が「０」であればステップ２８２０に進む。ＣＰＵは、二次空気供給フラグＸＡＩの値が「１」であればステップ２８９５に直接進んで本ルーチンを一旦終了する。
【０３７９】
ステップ２８２０：二次空気供給開始要求フラグＸＯＮＹＫの値が「１」であるか否かを判定し、二次空気供給開始要求フラグＸＯＮＹＫの値が「１」であればステップ２８３０に進む。ＣＰＵは、二次空気供給開始要求フラグＸＯＮＹＫの値が「０」であればステップ２８９５に直接進んで本ルーチンを一旦終了する。
【０３８０】
ステップ２８３０：ＣＰＵは、暖機遅角量Ａdankiが閾値暖機遅角量Ａdankith以下であるか否かを判定する。即ち、ＣＰＵは、暖機遅角量Ａdankiが十分に小さくなっていて、点火時期が最適点火時期（ＭＢＴ）に十分に近づいているか否か（点火時期が上述した閾値遅角点火時期Ａrdthよりも最適点火時期に近いか否か）を判定する。ＣＰＵは、暖機遅角量Ａdankiが閾値暖機遅角量Ａdankith以下となっていれば、以下に述べるステップ２８４０乃至ステップ２８６０の処理を順に行い、ステップ２８９５に進んで本ルーチンを一旦終了する。これに対し、ＣＰＵは、暖機遅角量Ａdankiが閾値暖機遅角量Ａdankithより大きいと、ステップ２８３０からステップ２８９５に直接進んで本ルーチンを一旦終了する。
【０３８１】
ステップ２８４０：ＣＰＵは、エアポンプ５２を回転させるとともに二次空気制御弁５４を閉弁状態から開弁状態へと変化させることにより、排気ポート２３に二次空気を供給する。これにより、二次空気の供給が再開される。
ステップ２８５０：ＣＰＵは、二次空気供給フラグＸＡＩの値を「１」に設定する。
ステップ２８６０：ＣＰＵは、二次空気供給開始要求フラグＸＯＮＹＫの値を「０」に設定する。
【０３８２】
以上、説明したように、第７制御装置は、
二次空気の供給が停止されている状態において、機関の点火時期を、最適点火時期（ＭＢＴ）よりも遅角側の点火時期に設定する点火時期遅角手段を備える（図２７の特にステップ２７１０乃至ステップ２７３０、ステップ２７４０及びステップ２７５０を参照。）。
【０３８３】
更に、第７制御装置は、
二次空気の供給が停止されている場合に「二次空気の供給を開始する要求である供給開始要求」が発生したか否かを判定する供給開始要求発生判定手段（図２６に示したルーチンを参照。）と、
前記供給開始要求が発生したと判定されている場合、実際の点火時期が、最適点火時期から所定量ΔＡrdthだけ遅角した閾値遅角点火時期Ａrdthよりも進角側となったとき（即ち、暖機遅角量Ａdankiが閾値暖機遅角量Ａdankith以下となったとき）、供給開始条件が成立することにより二次空気供給条件が成立したと判定する供給開始条件成立判定手段（図２８に示したルーチンの特にステップ２８１０乃至ステップ２８３０を参照。）と、
を含む二次空気供給手段を備える。
【０３８４】
加えて、第７制御装置は、
供給開始要求が発生したと判定された時点（二次空気供給開始要求フラグＸＯＮＹＫの値が「０」から「１」へと変更された時点）から二次空気供給条件が成立したと判定される時点（即ち、図２８のステップ２８４０にて二次空気の供給が再開される時点）までの期間である「切換過渡期間としての供給開始前過渡期間」において、前記点火時期遅角手段によって設定される点火時期に代え、「機関の制御量としての機関の点火時期」を「供給開始前過渡期間の開始直前における点火時期」から徐々に進角させる「トルク変動抑制手段としての供給開始前点火時期進角手段」（図２７の特にステップ２７２０、及び、ステップ２７６０乃至ステップ２７８０を参照。）を備える。
【０３８５】
上述したように、二次空気供給停止時と同様、二次空気の供給開始（再開）に起因する機関の発生トルクの変化の幅（増大変化幅、機関のトルクの上昇量）も、二次空気供給開始時の点火時期が最適点火時期（ＭＢＴ）から遅角側へと遠ざかるほど（即ち、遅角量が大きくなるほど）大きくなる。
【０３８６】
これに対し、第７制御装置は、供給開始要求が発生したと判定された時点（二次空気供給開始要求フラグＸＯＮＹＫの値が「０」から「１」へと変更された時点）から、暖機遅角量Ａdankiが減少せしめられることにより（図２７のステップ２７６０を参照。）、点火時期が徐々に進角させられる。そして、第７制御装置は、暖機遅角量Ａdankiが閾値暖機遅角量Ａdankith以下となったとき、二次空気供給を開始する（図２８のステップ２８３０以降を参照。）。
【０３８７】
従って、二次空気の供給を開始するとき、点火時期は最適点火時期に近づいているので、機関の発生トルクの変化の幅を小さくすることができる。その結果、第７制御装置は、二次空気の供給を開始（再開）する際の機関の運転状態を安定化することができる。
【０３８８】
（第８実施形態）
次に、本発明の第８実施形態に係る制御装置（以下、「第８制御装置」とも称呼する。）について説明する。この第８制御装置は、そのＣＰＵが図２及び図６に示したルーチンと、図３に代わる図２９及び図３０に示したルーチンを実行することにより、二次空気及び点火時期の制御を実行する。
【０３８９】
（作動の概略）
先ず、第８制御装置の作動の概略について説明する。第８制御装置は、第１制御装置と同様の二次空気供給条件が成立しているときに二次空気を導入する。即ち、第８制御装置は、以下の条件１乃至条件３が総て成立しているときに、二次空気供給条件が成立したと判定して二次空気を供給する。
＜条件１＞機関１０が始動された直後の冷却水温ＴＨＷが所定の範囲内である。即ち、機関１０が始動された直後の冷却水温ＴＨＷが、低側閾値温度ＴＨＷlo以上であり且つ高側閾値温度ＴＨＷhi以下である。
＜条件２＞機関１０の負荷（負荷率ＫＬ）が閾値負荷ＫＬｔｈ以下である。
＜条件３＞機関１０の始動後の積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈ以下である。
【０３９０】
更に、第８制御装置は、点火時期によるアイドル回転速度フィードバック制御を実行する。より具体的に述べると、第８制御装置は、機関１０の運転状態がアイドル運転状態であるとき、機関回転速度ＮＥが目標アイドル回転速度ＮＴより所定値ΔＮＴ以上大きくなると点火時期を微小な角度である点火時期変更量ΔＡidleだけ遅角し、機関回転速度ＮＥが目標アイドル回転速度ＮＴより所定値ΔＮＴ以上小さくなると点火時期を点火時期変更量ΔＡidleだけ進角する。これにより、第８制御装置は、機関回転速度ＮＥを目標回転速度ＮＴの近傍（ＮＴ−ΔＮＴ〜ＮＴ＋ΔＮＴ）に維持する。
【０３９１】
加えて、第８制御装置は、二次空気の供給停止時から第１所定時間Ｔ１が経過するまでの期間（供給停止後過渡期間）において、機関回転速度ＮＥが目標回転速度ＮＴの近傍（ＮＴ−ΔＮＴ〜ＮＴ＋ΔＮＴ）にないとき、点火時期制御によるアイドル回転速度フィードバック制御における点火時期変更量ΔＡidleを、それ以外の場合（供給停止後過渡期間の直前及び供給停止後過渡期間の直後を含む通常時）よりも大きくする。換言すると、第８制御装置は、二次空気の供給停止時から第１所定時間Ｔ１が経過するまで、点火時期制御によるアイドル回転速度フィードバック制御のゲインを大きくすることにより、二次空気の供給停止に起因する機関発生トルクの変動の幅（減少変化幅）を小さくするように機関発生トルクを変化（増大）させる。この結果、第８制御装置は、二次空気供給停止時のトルク変化幅を小さくすることができるので、二次空気供給停止に伴うトルク変動に起因する振動の発生を回避することができる。
【０３９２】
更に、第８制御装置は、二次空気の供給開始時から第２所定時間Ｔ２が経過するまでの期間（供給開始後過渡期間）において、機関回転速度ＮＥを目標回転速度ＮＴの近傍（ＮＴ−ΔＮＴ〜ＮＴ＋ΔＮＴ）にないとき、点火時期制御によるアイドル回転速度フィードバック制御における点火時期変更量ΔＡidleを、それ以外の場合（供給開始後過渡期間の直前及び供給開始後過渡期間の直後を含む通常時）よりも大きくする。換言すると、第８制御装置は、二次空気の供給開始時から第２所定時間Ｔ２が経過するまで、点火時期制御によるアイドル回転速度フィードバック制御のゲインを大きくすることにより、二次空気の供給開始に起因する機関発生トルクの変動の幅（増大幅）を小さくするように機関発生トルクを変化（減少）させる。この結果、第８制御装置は、二次空気供給開始時のトルク変化幅を小さくすることができるので、二次空気供給開始に伴うトルク変動に起因する振動の発生を回避することができる。
【０３９３】
（実際の作動）
次に、第８制御装置の実際の作動について説明する。第８制御装置のＣＰＵは図２にフローチャートにより示した二次空気制御ルーチンを所定時間の経過毎に繰り返し実行している。従って、第８制御装置は第１制御装置と同様に、二次空気を供給し、且つ、二次空気の供給を停止する。
【０３９４】
更に、第８制御装置のＣＰＵは、図２９にフローチャートにより示した点火時期制御ルーチンを各気筒のクランク角が所定クランク角（例えば、圧縮上死点前９０°クランク角、ＢＴＤＣ９０°）に一致する毎に繰り返し実行するようになっている。図２９において図４に示したステップと同一の処理を行うためのステップには、図４のそのようなステップに付された符号と同一の符号が付されている。それらのステップについての詳細な説明は適宜省略される。
【０３９５】
従って、何れかの気筒のクランク角が所定クランク角に一致すると、ＣＰＵ７１はステップ２９００から処理を開始し、以下に述べるステップ４１０、ステップ４２０、ステップ２９１０、ステップ２９２０及びステップ４４０の処理を順に行い、ステップ２９９５に進んで本ルーチンを一旦終了する。
【０３９６】
ステップ４１０：ＣＰＵは基本点火時期Ａbaseを決定する。上述したように、基本点火時期Ａbaseは、機関１０の運転状態がアイドル運転状態である場合、最適点火時期（ＭＢＴ）よりも僅かだけ遅角側の点火時期に設定されている。
ステップ４２０：ＣＰＵは、上述したステップ３１０と同じ暖機遅角量テーブルMapAdankiに現時点の冷却水温ＴＨＷを適用することにより、暖機遅角量Ａdankiを決定する。
【０３９７】
ステップ２９１０：ＣＰＵは、後述する図３０に示したアイドル回転数点火時期補正値算出ルーチンにより求められているアイドル回転速度フィードバック制御補正量（以下、「アイドル補正量」と称呼する。）Ａidleを読み込む。このアイドル補正量Ａidleは正の値（即ち、点火時期を進角させる値）及び負の値（即ち、点火時期を遅角させる値）の何れの値もとる。
【０３９８】
ステップ２９２０：ＣＰＵは、下記（５）式に従って最終的な点火時期Ａigを決定する。即ち、最終点火時期Ａigは、基本点火時期Ａbaseが暖機遅角量Ａdankiだけ遅角側に補正され、且つ、アイドル補正量Ａidleだけ進角側に補正された点火時期となる。
Ａig＝Ａbase−Ａdanki＋Ａidle    …（５）
ステップ４４０：ＣＰＵは、現時点におけるクランク角が圧縮上死点前９０°となっている気筒の点火時期が上記ステップ２９２０にて決定された最終点火時期Ａigとなるように、その気筒の点火プラグ２４に点火信号を送出する。
【０３９９】
以上の処理により、冷却水温ＴＨＷが低側閾値温度ＴＨＷloと高側閾値温度ＴＨＷhiとの間の温度である場合、実際の点火時期は基本点火時期Ａbaseよりも暖機遅角量Ａdankiだけ遅角側の点火時期となる。また、機関１０の運転状態がアイドル運転状態にある場合、基本点火時期Ａbaseは冷却水温ＴＨＷに関わらず最適点火時期より遅角側の点火時期に設定される。以上から、冷却水温ＴＨＷが低側閾値温度ＴＨＷloと高側閾値温度ＴＨＷhiとの間の温度である場合、及び、機関１０の運転状態がアイドル運転状態にある場合、点火時期は最適点火時期（ＭＢＴ）より遅角側の点火時期となる。
【０４００】
一方、ＣＰＵは図３０にフローチャートにより示したアイドル回転数点火時期補正値算出ルーチンを所定時間の経過毎に実行している。従って、所定のタイミングになると、ＣＰＵは図３０のステップ３０００から処理を開始してステップ３００５に進み、現時点の運転状態がアイドル運転状態であるか否かを図５のステップ５０５と同様に判定する。
【０４０１】
いま、現時点の運転状態がアイドル運転状態でないとすると、ＣＰＵはステップ３００５にて「Ｎｏ」と判定してステップ３０１０に進み、アイドル補正量Ａidleを「０」に設定する。その後、ＣＰＵはステップ３０９５に直接進んで本ルーチンを一旦終了する。
【０４０２】
これに対し、現時点の運転状態がアイドル運転状態であると、ＣＰＵはステップ３００５にて「Ｙｅｓ」と判定してステップ３０１５に進み、冷却水温ＴＨＷと目標アイドル回転速度ＮＴとの関係を規定するテーブル（目標アイドル回転速度テーブル）MapNTに実際の冷却水温ＴＨＷを適用することにより現時点における目標アイドル回転速度ＮＴを決定する。この目標アイドル回転速度テーブルMapNTは図５のステップ５３０にて使用されるテーブルと同じテーブルである。
【０４０３】
次に、ＣＰＵはステップ３０２０に進み、アイドル補正量増大フラグXLARGEの値が「１」であるか否かを判定する。このアイドル補正量増大フラグXLARGEの値は、ＣＰＵが図６に示したルーチンを実行することにより「１」及び「０」の何れかに設定されている。本例において、アイドル補正量増大フラグXLARGEの値が「１」であることは、アイドル補正量Ａidleの変更量ΔＡidleを大きい値に設定すべきであること、即ち、点火時期によるアイドル回転速度フィードバック制御におけるフィードバックゲインを大きくすべき（通常の値よりも大きいゲインに設定すべき）であることを示す。これに対し、アイドル補正量増大フラグXLARGEの値が「０」であることは、アイドル補正量Ａidleの変更量ΔＡidleを通常の値（小さな値）に設定すべきであること、即ち、点火時期によるアイドル回転速度フィードバック制御におけるフィードバックゲインを小さくすべき（通常時のゲインに設定すべき）であることを示す。
【０４０４】
そこで、アイドル補正量増大フラグXLARGEの値が「１」である場合、ＣＰＵはステップ３０２０にて「Ｙｅｓ」と判定してステップ３０２５に進み、変更量ΔＡidleを相対的に大きな第１の正の値Ａlargeに設定する。これに対し、アイドル補正量増大フラグXLARGEの値が「０」である場合、ＣＰＵはステップ３０２０にて「Ｎｏ」と判定してステップ３０３０に進み、変更量ΔＡidleを第１の正の値Ａlargeよりも小さい第２の正の値Ａsmallに設定する。
【０４０５】
次に、ＣＰＵはステップ３０２５又はステップ３０３０からステップ３０３５に進み、現時点の機関回転速度ＮＥが、ステップ３０１５にて決定された目標アイドル回転速度ＮＴから所定値ΔＮＴを減じた回転速度（ＮＴ−ΔＮＴ）より小さいか否かを判定する。この所定値ΔＮＴは正の値である。
【０４０６】
そして、機関回転速度ＮＥが「目標アイドル回転速度ＮＴから所定値ΔＮＴを減じた回転速度（ＮＴ−ΔＮＴ）」より小さいと、ＣＰＵはステップ３０３５にて「Ｙｅｓ」と判定してステップ３０４０に進み、アイドル補正量Ａidleを変更量ΔＡidleだけ大きくする。この結果、図２９のステップ２９２０の処理がなされることによってアイドル運転状態における点火時期Ａigが進角させられる。従って、機関の発生トルクが増大するので、機関回転速度ＮＥが上昇する。その後、ＣＰＵはステップ３０９５に進んで本ルーチンを一旦終了する。
【０４０７】
一方、ステップ３０３５の実行時点において、機関回転速度ＮＥが「目標アイドル回転速度ＮＴから所定値ΔＮＴを減じた回転速度（ＮＴ−ΔＮＴ）」以上であると、ＣＰＵはステップ３０３５にて「Ｎｏ」と判定してステップ３０４５に進み、機関回転速度ＮＥが「目標アイドル回転速度ＮＴに所定値ΔＮＴを加えた回転速度（ＮＴ＋ΔＮＴ）」より大きいか否かを判定する。
【０４０８】
そして、機関回転速度ＮＥが「目標アイドル回転速度ＮＴに所定値ΔＮＴを加えた回転速度（ＮＴ＋ΔＮＴ）」より大きいと、ＣＰＵはステップ３０４５にて「Ｙｅｓ」と判定してステップ３０５０に進み、アイドル補正量Ａidleを変更量ΔＡidleだけ小さくする。この結果、図２９のステップ２９２０の処理がなされることによってアイドル運転状態における点火時期Ａigが遅角させられる。従って、機関の発生トルクが減少するので、機関回転速度ＮＥが低下する。その後、ＣＰＵはステップ３０９５に進んで本ルーチンを一旦終了する。
【０４０９】
更に、ステップ３０４５の実行時点において、機関回転速度ＮＥが「目標アイドル回転速度ＮＴに所定値ΔＮＴを加えた回転速度（ＮＴ＋ΔＮＴ）」以下であると、ＣＰＵはステップ３０４５にて「Ｎｏ」と判定してステップ３０９５に直接進んで本ルーチンを一旦終了する。このように、機関回転速度ＮＥが低側回転閾値速度（ＮＴ−ΔＮＴ）以上であり且つ高側回転閾値速度（ＮＴ＋ΔＮＴ）以下である場合、アイドル補正量Ａidleは変更されない。
【０４１０】
以上、説明したように、第８制御装置は、
機関１０の運転状態がアイドル運転状態であるとき機関の実際の回転速度ＮＥが目標アイドル回転速度ＮＴと一致するように「機関１０の制御量としての機関１０の点火時期」をフィードバック制御するアイドル時点火時期制御手段（図３０のルーチンを参照。）と、
切換過渡期間（二次空気の供給停止時から第１所定時間Ｔ１が経過するまでの期間である供給停止後過渡期間、及び、二次空気の供給開始時から第２所定時間Ｔ２が経過するまでの期間である供給開始後過渡期間、図６のステップ６６０を参照。）において前記アイドル時点火時期制御手段による点火時期の変更速度（点火時期変更量ΔＡidle）を同切換過渡期間以外における点火時期の変更速度よりも増大させる点火時期変更ゲイン増大手段（図６のルーチンの特にアイドル補正量増大フラグXLARGEの設定、及び、図３０のステップ３０２０乃至ステップ３０３０を参照。）と、
を含むトルク変動抑制手段を備える。
【０４１１】
即ち、第８制御装置は、機関１０の運転状態がアイドル運転状態にある場合、二次空気供給状態の切換過渡期間における点火時期の変更速度を増大するから、二次空気供給状態の切換えに伴って生じる機関の発生トルクの変化の幅が「点火時期によるアイドル回転速度フィードバック制御」により迅速に低減させられる。従って、二次空気の供給を開始又は停止する際の機関の運転状態を安定化することができる。
【０４１２】
（第９実施形態）
次に、本発明の第９実施形態に係る制御装置（以下、「第９制御装置」とも称呼する。）について説明する。この第９制御装置は、図３１に示したＶ型内燃機関１００に適用される。
【０４１３】
この機関１００は、右バンクＲＢ及び左バンクＬＢを備えている。右バンクＲＢと左バンクＬＢは互いに同一構造を備えている。右バンクＲＢは第１気筒＃１、第３気筒＃３及び第５気筒＃５の第１気筒群を含む。左バンクＬＢは、第２気筒＃２、第４気筒＃４及び第６気筒＃６の第２気筒群を含む。図３１において、機関１００が備える構成のうち図１に示した機関１０が備える構成部分と同一の機能を達成する構成部分には、同一の符号が付与されている。但し、その部分が右バンクに属していれば「Ｒ」が各符号の末尾に付され、その部分が左バンクに属していれば「Ｌ」が各符号の末尾に付されている。
【０４１４】
右バンクＲＢは、右バンク二次空気供給系統５０Ｒを備えている。右バンク二次空気供給系統５０Ｒは、導入通路５１Ｒ、エアポンプ５２Ｒ、圧送通路５３Ｒ、二次空気制御弁５４Ｒ、主供給管５５Ｒ及び複数の分配管５６Ｒを備えている。右バンク二次空気供給系統５０Ｒは、エアポンプ５２Ｒによって主供給管５５Ｒ及び分配管５６Ｒに高圧の二次空気を圧送し、その圧送された二次空気を分配管５６Ｒの先端部から右バンクＲＢの排気ポート２３Ｒ内に供給（噴射）するようになっている。更に、右バンクＲＢのエキゾーストパイプ４２Ｒには触媒４３Ｒが配設されている。
【０４１５】
同様に、左バンクＬＢは、左バンク二次空気供給系統５０Ｌを備えている。左バンク二次空気供給系統５０Ｌは、導入通路５１Ｌ、エアポンプ５２Ｌ、圧送通路５３Ｌ、二次空気制御弁５４Ｌ、主供給管５５Ｌ及び複数の分配管５６Ｌを備えている。左バンク二次空気供給系統５０Ｌは、エアポンプ５２Ｌによって主供給管５５Ｌ及び分配管５６Ｌに高圧の二次空気を圧送し、その圧送された二次空気を分配管５６Ｌの先端部から左バンクＬＢの排気ポート２３Ｌ内に供給（噴射）するようになっている。更に、左バンクＬＢのエキゾーストパイプ４２Ｌには触媒４３Ｌが配設されている。
【０４１６】
（作動の概略）
次に、上記のように構成された第９制御装置の作動の概略について説明する。第９制御装置は、所定の二次空気供給要求条件が成立したとき、先ず、右バンクＲＢ側の排気ポート２３Ｒに二次空気の供給を開始する。第９制御装置は、その右バンクＲＢ側の排気ポート２３Ｒへの二次空気の供給開始時点から遅延時間Ｔdelayが経過したとき、左バンクＬＢ側の排気ポート２３Ｌに二次空気の供給を開始する。即ち、第９制御装置は、二次空気の供給開始タイミングを右バンクＲＢと左バンクＬＢとで遅延時間Ｔdelayだけ相違させる。これにより、二次空気供給開始時（供給再開時を含む。）における機関発生トルクの変動幅が、右バンクＲＢ及び左バンクＬＢに同時に二次空気の供給を開始させた場合の機関の発生トルクの変動幅よりも小さくなる。
【０４１７】
同様に、第９制御装置は、所定の二次空気停止要求条件が成立したとき、先ず、右バンクＲＢ側の排気ポート２３Ｒへの二次空気の供給を停止する。第９制御装置は、その右バンクＲＢ側の排気ポート２３Ｒへの二次空気の供給を停止した時点から遅延時間Ｔdelayが経過したとき、左バンクＬＢ側の排気ポート２３Ｌへの二次空気の供給を停止する。即ち、第９制御装置は、二次空気の供給停止タイミングを右バンクＲＢと左バンクＬＢとで遅延時間Ｔdelayだけ相違させる。これにより、二次空気供給停止時における機関発生トルクの変動幅が、右バンクＲＢ及び左バンクＬＢに対して同時に二次空気の供給を停止させた場合の機関の発生トルクの変動幅よりも小さくなる。
【０４１８】
（実際の作動）
次に、第９制御装置の実際の作動について説明する。第９制御装置のＣＰＵは、図３２乃至図３４にフローチャートにより示したルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、ＣＰＵは図３２のステップ３２００から処理を開始しステップ３２１０に進み、二次空気供給開始要求フラグＸＯＮＹＫの値が「０」であり、且つ、二次空気供給停止要求フラグＸＯＦＦＹＫの値が「０」であるか否かを判定する。即ち、ＣＰＵは二次空気の供給要求（供給開始要求）及び供給停止要求のいずれもが発生していないことを確認する。この場合、二次空気供給開始要求フラグＸＯＮＹＫの値及び二次空気供給停止要求フラグＸＯＦＦＹＫの少なくとも一方の値が「１」であると、ＣＰＵはステップ３２１０からステップ３２９５に直接進んで本ルーチンを一旦終了する。
【０４１９】
ところで、二次空気の供給要求条件（供給要求発生条件）は、例えば、現時点において二次空気の供給が停止されており、機関始動時の冷却水温が所定の範囲内（即ち、低側閾値温度ＴＨＷlo以上であり且つ高側閾値温度ＴＨＷhi以下）であり、負荷ＫＬが閾値負荷ＫＬｔｈ以下であり、且つ、機関１００の始動後の積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈより小さい場合に成立する。
【０４２０】
一方、二次空気の供給停止要求条件（停止要求発生条件）は、例えば、現時点において二次空気が供給されていて、負荷ＫＬが閾値負荷ＫＬｔｈより大きくなるか、又は、機関１００の始動後の積算吸入空気量ＳＧａが閾値積算吸入空気量ＳＧａｔｈ以上となった場合に成立する。
【０４２１】
いま、二次空気供給フラグＸＡＩ、二次空気供給開始要求フラグＸＯＮＹＫ及び二次空気供給停止要求フラグＸＯＦＦＹＫの値の総てが「０」である時点において、二次空気の供給要求条件が成立したと仮定する。二次空気供給フラグＸＡＩの値が「０」であることは、二次空気の供給が停止されていることを意味する。
【０４２２】
この場合、ＣＰＵはステップ３２１０にて「Ｙｅｓ」と判定してステップ３２２０に進み、二次空気供給フラグＸＡＩの値が「０」であるか否かを判定する。上述した仮定によれば、二次空気供給フラグＸＡＩの値は「０」である。従って、ＣＰＵはステップ３２２０にて「Ｙｅｓ」と判定し、ステップ３２３０に進んで二次空気の供給要求条件が成立したか否かを判定する。
【０４２３】
上述した仮定によれば、二次空気の供給要求条件は成立している。従って、ＣＰＵはステップ３２３０にて「Ｙｅｓ」と判定してステップ３２４０に進み、二次空気供給開始要求フラグＸＯＮＹＫの値を「１」に設定する。その後、ＣＰＵはステップ３２９５に進んで本ルーチンを一旦終了する。なお、ステップ３２３０の実行時点において、二次空気の供給要求条件が成立していなければ、ＣＰＵはステップ３２３０にて「Ｎｏ」と判定し、ステップ３２９５に直接進んで本ルーチンを一旦終了する。
【０４２４】
更に、ＣＰＵは図３３にフローチャートにより示した二次空気供給制御ルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、所定のタイミングになると、ＣＰＵは図３３のステップ３３００から処理を開始してステップ３３１０に進み、二次空気供給開始要求フラグＸＯＮＹＫの値が「１」であるか否かを判定する。この場合、前記ステップ３２４０の処理により、二次空気供給開始要求フラグＸＯＮＹＫの値は「１」に設定された直後である。従って、ＣＰＵはステップ３３１０にて「Ｙｅｓ」と判定してステップ３３２０に進み、現時点が「二次空気供給開始要求フラグＸＯＮＹＫの値が「０」から「１」へ変化した直後である」か否かを判定する。
【０４２５】
この場合、二次空気供給開始要求フラグＸＯＮＹＫの値が「０」から「１」へ変化した直後であるから、ＣＰＵはステップ３３２０にて「Ｙｅｓ」と判定してステップ３３３０に進み、右バンク二次空気供給系統５０Ｒを用いて右バンクＲＢの排気ポート２３Ｒ内への二次空気の供給を開始する。
【０４２６】
次に、ＣＰＵはステップ３３４０に進み、現時点が「二次空気供給開始要求フラグＸＯＮＹＫの値が「０」から「１」へ変化してから遅延時間Ｔdelayが経過した直後である」か否かを判定する。この時点においては、未だ遅延時間Ｔdelayは経過していない。従って、ＣＰＵはステップ３３４０にて「Ｎｏ」と判定し、ステップ３３９５に直接進んで本ルーチンを一旦終了する。
【０４２７】
その後、ＣＰＵは図３３のルーチンを所定時間の経過毎に繰り返し実行する。従って、二次空気供給開始要求フラグＸＯＮＹＫの値が「０」から「１」へ変化してから遅延時間Ｔdelayが経過した直後においてＣＰＵが図３３のルーチンを実行すると、ＣＰＵはステップ３３１０にて「Ｙｅｓ」と判定し、ステップ３３２０にて「Ｎｏ」と判定し、更に、ステップ３３４０にて「Ｙｅｓ」と判定し、以下に述べるステップ３３５０乃至ステップ３３７０の処理を順に行い、ステップ３３９５に進んで本ルーチンを一旦終了する。
【０４２８】
ステップ３３５０：ＣＰＵは、左バンク二次空気供給系統５０Ｌを用いて左バンクＬＢの排気ポート２３Ｌ内への二次空気の供給を開始する。
ステップ３３６０：ＣＰＵは、二次空気供給開始要求フラグＸＯＮＹＫの値を「０」に設定する。
ステップ３３７０：ＣＰＵは、二次空気供給フラグＸＡＩの値を「１」に設定する。
【０４２９】
この結果、二次空気供給開始要求フラグＸＯＮＹＫの値は「０」に設定されるから、次にＣＰＵが図３３のルーチンを実行すると、ステップ３３１０にて「Ｎｏ」と判定し、ステップ３３９５に直接進んで本ルーチンを一旦終了するようになる。
【０４３０】
以上のように、二次空気が供給されていないときに、二次空気の供給要求条件が成立すると、先ず、右バンク二次空気供給系統５０Ｒにより右バンクＲＢの排気ポート２３Ｒ内に二次空気が供給され始め、その後、遅延時間Ｔdelayが経過したときに、左バンク二次空気供給系統５０Ｌにより左バンクＬＢの排気ポート２３Ｌ内に二次空気が供給され始める。
【０４３１】
この結果、遅延時間Ｔdelayが経過したときには二次空気の供給が総ての排気ポートに対して行われ、二次空気供給フラグＸＡＩの値は「１」に設定される（ステップ３３７０を参照。）。次に、この状態において、二次空気の停止要求条件が成立したと仮定する。
【０４３２】
この場合、ＣＰＵは図３２のステップ３２１０にて「Ｙｅｓ」と判定し、続くステップ３２２０にて「Ｎｏ」と判定してステップ３２５０に進む。ＣＰＵはステップ３２５０にて二次空気の停止要求条件が成立したか否かを判定する。上述した仮定に従えば停止要求条件は成立している。従って、ＣＰＵはステップ３２５０にて「Ｙｅｓ」と判定してステップ３２６０に進み、二次空気供給停止要求フラグＸＯＦＦＹＫの値を「１」に設定し、その後、ステップ３２９５に進んで本ルーチンを一旦終了する。なお、ステップ３２５０の実行時点において、二次空気の停止要求条件が成立していなければ、ＣＰＵはステップ３２５０にて「Ｎｏ」と判定し、ステップ３２９５に直接進んで本ルーチンを一旦終了する。
【０４３３】
このとき、ＣＰＵが図３３のステップ３３１０の処理を実行すると、二次空気供給開始要求フラグＸＯＮＹＫの値は「０」であるから、ＣＰＵはそのステップ３３１０にて「Ｎｏ」と判定しステップ３３９５に直接進んで本ルーチンを一旦終了する。
【０４３４】
更に、ＣＰＵは図３４にフローチャートにより示した二次空気供給停止制御ルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、所定のタイミングになると、ＣＰＵは図３４のステップ３４００から処理を開始してステップ３４１０に進み、二次空気供給停止要求フラグＸＯＦＦＹＫの値が「１」であるか否かを判定する。この場合、前記ステップ３２６０の処理により、二次空気供給停止要求フラグＸＯＦＦＹＫの値は「１」に設定された直後である。従って、ＣＰＵはステップ３４１０にて「Ｙｅｓ」と判定してステップ３４２０に進み、現時点が「二次空気供給停止要求フラグＸＯＦＦＹＫの値が「０」から「１」へ変化した直後である」か否かを判定する。
【０４３５】
この場合、二次空気供給停止要求フラグＸＯＦＦＹＫの値が「０」から「１」へ変化した直後であるから、ＣＰＵはステップ３４２０にて「Ｙｅｓ」と判定してステップ３４３０に進み、右バンク二次空気供給系統５０Ｒを用いて右バンクＲＢの排気ポート２３Ｒ内への二次空気の供給を停止する。
【０４３６】
次に、ＣＰＵはステップ３４４０に進み、現時点が「二次空気供給停止要求フラグＸＯＦＦＹＫの値が「０」から「１」へ変化してから遅延時間Ｔdelayが経過した直後である」か否かを判定する。この時点においては、未だ遅延時間Ｔdelayは経過していない。従って、ＣＰＵはステップ３４４０にて「Ｎｏ」と判定し、ステップ３４９５に直接進んで本ルーチンを一旦終了する。
【０４３７】
その後、ＣＰＵは図３４のルーチンを所定時間の経過毎に繰り返し実行する。従って、二次空気供給停止要求フラグＸＯＦＦＹＫの値が「０」から「１」へ変化してから遅延時間Ｔdelayが経過した直後においてＣＰＵが図３４のルーチンを実行すると、ＣＰＵはステップ３４１０にて「Ｙｅｓ」と判定し、ステップ３４２０にて「Ｎｏ」と判定し、更に、ステップ３４４０にて「Ｙｅｓ」と判定し、以下に述べるステップ３４５０乃至ステップ３４７０の処理を順に行い、ステップ３４９５に進んで本ルーチンを一旦終了する。
【０４３８】
ステップ３４５０：ＣＰＵは、左バンク二次空気供給系統５０Ｌを用いて左バンクＬＢの排気ポート２３Ｌへの二次空気の供給を停止する。
ステップ３４６０：ＣＰＵは、二次空気供給停止要求フラグＸＯＦＦＹＫの値を「０」に設定する。
ステップ３４７０：ＣＰＵは、二次空気供給フラグＸＡＩの値を「０」に設定する。
【０４３９】
以上のように、二次空気が供給されているときに、二次空気の停止要求条件が成立すると、先ず、右バンク二次空気供給系統５０Ｒにより右バンクＲＢの排気ポート２３Ｒ内への二次空気の供給が停止され、その後、遅延時間Ｔdelayが経過したときに、左バンク二次空気供給系統５０Ｌにより左バンクＬＢの排気ポート２３Ｌ内への二次空気の供給が停止される。
【０４４０】
なお、ＣＰＵが図３４のステップ３４１０に進んだとき、二次空気供給停止要求フラグＸＯＦＦＹＫの値が「０」であると、ＣＰＵはステップ３４１０からステップ３４９５に直接進んで本ルーチンを一旦終了する。
【０４４１】
以上、説明したように、第９制御装置は、
機関１００の所定の気筒からなる第１気筒群に対する二次空気供給状態の切換えを切換え指示に応答して行う第１供給手段（右バンク二次空気供給系統５０Ｒ）と、
機関１００の第１気筒群に含まれる気筒とは相違する気筒からなる第２気筒群に対する二次空気供給状態の切換えを、切換え指示に応答して、前記第１供給手段とは独立して行うことが可能な第２供給手段（左バンク二次空気供給系統５０Ｌ）と、
を含む「二次空気供給手段」を備える。
【０４４２】
更に、第９制御装置は、
切換過渡期間（左右何れかのバンクの二次空気供給状態の切換え時を含む所定期間）において、前記第１供給手段による二次空気供給状態の切換えタイミングと前記第２供給手段による二次空気供給状態の切換えタイミングとが互いに相違するように前記第１供給手段及び前記第２供給手段に切換え指示を与え、それにより「機関の制御量としての機関１００全体に供給される二次空気の量」を制御する「トルク変動抑制手段としての切換タイミング制御手段」（図３３及び図３４を参照。）を備える。
【０４４３】
従って、第９制御装置は、二次空気の供給を停止するにあたり、第１供給手段と第２供給手段とが同時に二次空気の供給を停止する場合に比較して、一時に減少する二次空気量を小さくすることができる。従って、機関の発生トルクの変化の幅（減少変化幅）を小さくすることができる。更に、第９制御装置は、二次空気の供給を開始（再開）するにあたり、第１供給手段と第２供給手段とが同時に二次空気の供給を開始する場合に比較して、一時に増大する二次空気量を小さくすることができる。従って、機関の発生トルクの変化の幅（増大幅）を小さくすることができる。その結果、第９制御装置は、二次空気の供給及び／又は停止の際の機関の運転状態を安定化することができる。
【０４４４】
以上、説明したように、本発明の上記実施形態及び上記変形例に係る内燃機関の制御装置は、
所定の二次空気供給条件が成立したとき排気通路に配設された触媒４３よりも上流側位置の排気通路に「二次空気としての空気」を供給することにより燃焼室２１から排出されたガスを排気通路内において燃焼させ、それにより触媒４３の暖機を促進するとともに、二次空気供給条件が不成立となったとき二次空気の供給を停止する二次空気供給手段と、
二次空気供給状態の切換え時を含む所定期間である切換過渡期間において、二次空気供給状態の切換えに伴って生じる燃焼室２１内での混合気の燃焼状態の変化による「機関の発生トルクの変化」の幅を減少させるように「機関の制御量（点火時期、機関の空燃比、バルブオーバーラップ期間、機関に供給される混合気量（吸入空気量及び供給燃料量）、及び、二次空気量等）」を制御するトルク変動抑制手段と、
を備える。
従って、二次空気供給の開始及び／停止の際の機関発生トルクの変動の幅を小さくすることができる。即ち、本発明の装置は、二次空気の供給状態の切換えに伴う機関の負荷（例えば、オルタネータの発電による負荷）変化ではなく、二次空気の供給状態の切換えに伴う燃焼状態の変化に起因するトルク変動を抑制する。
【０４４５】
また、上記第１制御装置及び上記第２制御装置は、
前記二次空気供給停止時を開始時点とし前記二次空気供給停止時から所定期間だけ後の時点を終了時点とする「前記切換過渡期間としての供給停止後過渡期間」において、「二次空気の供給停止に起因する機関の発生トルクの減少変化幅」を小さくために「機関の発生トルク」が増大するように「前記機関の制御量であって前記二次空気以外の制御量である、点火時期及び／又は混合気量（吸入空気量、スロットル弁開度）」を変化させるように構成されている。
【０４４６】
更に、上記第３〜第６制御装置、第３変形制御装置及び第４変形制御装置は、
二次空気供給停止時から所定期間だけ前の時点を開始時点とし二次空気供給停止時を終了時点とする「切換過渡期間としての供給停止前過渡期間」において、「二次空気供給停止時の機関の発生トルクの変化の幅」が「供給停止前過渡期間の開始直前にて二次空気の供給を停止したと仮定した場合に生じる機関の発生トルクの変化の幅」よりも小さい「所定の閾値トルク変化幅」以下となるように、機関の制御量（点火時期、機関の空燃比、又は、バルブオーバーラップ期間）を変化させるようになっている。
【０４４７】
本発明は上記各実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、本発明による制御装置は、切換過渡期間において、上記に開示した「点火時期による機関の発生トルクの変動幅低減制御、スロットル弁制御（吸入空気量制御、混合気量制御）による機関の発生トルクの変動幅低減制御、機関の空燃比制御による機関の発生トルクの変動幅低減制御、及び、バルブオーバーラップ期間制御による機関の発生トルクの変動幅低減制御」を適宜組み合わせて行う装置であってもよい。
【図面の簡単な説明】
【０４４８】
【図１】本発明の第１実施形態に係る制御装置（第１制御装置）を適用した内燃機関の概略図である。
【図２】図１に示した電気制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図３】図１に示した電気制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図４】本発明の第２実施形態に係る制御装置（第２制御装置）のＣＰＵが実行するルーチンを示したフローチャートである。
【図５】第２制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図６】第２制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図７】第２制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図８】二次空気供給停止時（又は供給開始時）の機関発生トルクの変化量（変化幅）と点火時期との関係を示したグラフである。
【図９】本発明の第３実施形態に係る制御装置（第３制御装置）のＣＰＵが実行するルーチンを示したフローチャートである。
【図１０】第３制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１１】第３制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１２】第３制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１３】第３制御装置の変形例のＣＰＵが実行するルーチンを示したフローチャートである。
【図１４】二次空気供給停止時（又は供給開始時）の機関発生トルクの変化量（変化幅）と機関に供給される混合気の空燃比との関係を示したグラフである。
【図１５】本発明の第４実施形態に係る制御装置（第４制御装置）のＣＰＵが実行するルーチンを示したフローチャートである。
【図１６】第４制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１７】第４制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１８】第４制御装置の変形例のＣＰＵが実行するルーチンを示したフローチャートである。
【図１９】本発明の第３実施形態に係る制御装置（第３制御装置）のＣＰＵが実行するルーチンを示したフローチャートである。
【図２０】本発明の第５実施形態に係る制御装置（第５制御装置）のＣＰＵが実行するルーチンを示したフローチャートである。
【図２１】第５制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図２２】本発明の第６実施形態に係る制御装置（第６制御装置）のＣＰＵが実行するルーチンを示したフローチャートである。
【図２３】第６制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図２４】本発明の第７実施形態に係る制御装置（第７制御装置）のＣＰＵが実行するルーチンを示したフローチャートである。
【図２５】第７制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図２６】第７制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図２７】第７制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図２８】第７制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図２９】本発明の第８実施形態に係る制御装置（第８制御装置）のＣＰＵが実行するルーチンを示したフローチャートである。
【図３０】第８制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図３１】本発明の第９実施形態に係る制御装置（第９制御装置）を適用した内燃機関の概略図である。
【図３２】第９制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図３３】第９制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図３４】第９制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【符号の説明】
【０４４９】
１０…機関、２０…本体部、２１…燃焼室、２２…吸気ポート、２３…排気ポート、２４…点火プラグ、２５…燃料噴射弁、２６…吸気弁制御装置、３０…吸気系統、３１…インテークマニホールド、３２…吸気管、３３…エアフィルタ、３４…スロットル弁、４０…排気系統、４１…エキゾーストマニホールド、４２…エキゾーストパイプ、４３…触媒、５０…二次空気供給系統、５０Ｒ…右バンク二次空気供給系統、５０Ｌ…左バンク二次空気供給系統、５１…導入通路、５２…エアポンプ、５３…圧送通路、５４…二次空気制御弁、５５…主供給管、５６…分配管、６１…熱線式エアフローメータ、６２…スロットルポジションセンサ、６３…機関回転速度センサ、６４…水温センサ、６５…空燃比センサ、６７…アクセル開度センサ、７０…電気制御装置、１００…Ｖ型内燃機関。
【図１】
0005125592.tif 000002
【図２】
0005125592.tif 000003
【図３】
0005125592.tif 000004
【図４】
0005125592.tif 000005
【図５】
0005125592.tif 000006
【図６】
0005125592.tif 000007
【図７】
0005125592.tif 000008
【図８】
0005125592.tif 000009
【図９】
0005125592.tif 000010
【図１０】
0005125592.tif 000011
【図１１】
0005125592.tif 000012
【図１２】
0005125592.tif 000013
【図１３】
0005125592.tif 000014
【図１４】
0005125592.tif 000015
【図１５】
0005125592.tif 000016
【図１６】
0005125592.tif 000017
【図１７】
0005125592.tif 000018
【図１８】
0005125592.tif 000019
【図１９】
0005125592.tif 000020
【図２０】
0005125592.tif 000021
【図２１】
0005125592.tif 000022
【図２２】
0005125592.tif 000023
【図２３】
0005125592.tif 000024
【図２４】
0005125592.tif 000025
【図２５】
0005125592.tif 000026
【図２６】
0005125592.tif 000027
【図２７】
0005125592.tif 000028
【図２８】
0005125592.tif 000029
【図２９】
0005125592.tif 000030
【図３０】
0005125592.tif 000031
【図３１】
0005125592.tif 000032
【図３２】
0005125592.tif 000033
【図３３】
0005125592.tif 000034
【図３４】
0005125592.tif 000035