(57)【特許請求の範囲】
【請求項１】
排ガスを触媒装置を介して放出する内燃機関の始動後に前記触媒装置の早期活性化を行うための動作モードでのアイドリング運転時に該内燃機関の燃焼室の吸入空気量を前記動作モード以外のモードでのアイドリング運転時よりも所定量、増量させるように該内燃機関の吸入空気通路に設けた流量制御弁の開度の指令値を生成し、その指令値に基づき該流量制御弁の開度を操作する吸入空気量操作手段と、該吸入空気量操作手段による前記吸入空気量の増量中に前記内燃機関の回転数を所定の目標回転数に収束させるように該内燃機関の点火時期をフィードバック制御により操作して、該点火時期を遅角側に補正する点火時期操作手段とを備えた内燃機関の制御装置において、
前記吸入空気量の増量中に前記触媒装置に流入する排ガスにより該触媒装置に実際に与えられる熱量を表す熱量データを逐次取得する手段と、
その取得した熱量データの値を前記触媒装置に与えるべき熱量を表す所定の目標値に収束させるように前記流量制御弁の開度の指令値をフィードバック制御処理により補正する手段とを前記吸入空気量操作手段に具備し、
前記吸入空気量操作手段は、前記熱量データの値の目標値を、前記吸入空気量の増量開始後、第１の所定時間が経過した後は、該目標値に対応して前記内燃機関の燃焼室に吸入されるべき吸入空気量を時間の経過に伴い漸減させていくように設定することを特徴とする内燃機関の制御装置。
【請求項２】
排ガスを触媒装置を介して放出する内燃機関の始動後に前記触媒装置の早期活性化を行うための動作モードでのアイドリング運転時に該内燃機関の燃焼室の吸入空気量を前記動作モード以外のモードでのアイドリング運転時よりも所定量、増量させるように該内燃機関の吸入空気通路に設けた流量制御弁の開度の指令値を生成し、その指令値に基づき該流量制御弁の開度を操作する吸入空気量操作手段と、該吸入空気量操作手段による前記吸入空気量の増量中に前記内燃機関の回転数を所定の目標回転数に収束させるように該内燃機関の点火時期をフィードバック制御により操作して、該点火時期を遅角側に補正する点火時期操作手段とを備えた内燃機関の制御装置において、
前記吸入空気量の増量中に前記触媒装置に流入する排ガスにより該触媒装置に実際に与えられる熱量を表す熱量データを逐次取得する手段と、
その取得した熱量データの値を前記触媒装置に与えるべき熱量を表す所定の目標値に収束させるように前記流量制御弁の開度の指令値をフィードバック制御処理により補正する手段とを前記吸入空気量操作手段に具備し、
前記吸入空気量操作手段は、前記吸入空気量の増量開始後、所定時間が経過するまでは、前記フィードバック制御処理による前記流量制御弁の開度の指令値の補正を制限すると共に、少なくとも該吸入空気量の増量開始後の経過時間に応じた所定のパターンで該吸入空気量を増加させていくようにフィードフォワード的に該流量制御弁の開度の指令値を決定することを特徴とする内燃機関の制御装置。
【請求項３】
前記吸入空気量操作手段は、前記フィードバック制御処理を該制御処理で使用する所定のパラメータの値により前記熱量データの値と前記目標値との偏差の減衰速度を指定可能な応答指定型制御により行い、該所定のパラメータの値を所定の条件に応じて可変的に設定することを特徴とする請求項１又は２記載の内燃機関の制御装置。
【請求項４】
前記所定の条件は、少なくとも前記吸入空気量の増量開始後の経過時間を含み、前記吸入空気量操作手段は、該吸入空気量の増量開始後、第３の所定時間が経過するまでは、該第３の所定時間の経過後よりも前記熱量データの値と前記目標値との偏差の減衰速度を遅くするように前記パラメータの値を設定することを特徴とする請求項３記載の内燃機関の制御装置。
【請求項５】
前記吸入空気量操作手段は、前記点火時期操作手段のフィードバック制御による前記内燃機関の回転数と目標回転数との偏差の減衰速度よりも、前記応答指定型制御による前記熱量データの値と前記目標値との偏差の減衰速度を遅くするように前記パラメータの値を設定することを特徴とする請求項３又は４記載の内燃機関の制御装置。
【請求項６】
前記応答指定型制御はスライディングモード制御であることを特徴とする請求項３〜５のいずれか１項に記載の内燃機関の制御装置。
【請求項７】
前記スライディングモード制御は、適応スライディングモード制御であることを特徴とする請求項６記載の内燃機関の制御装置。
【請求項８】
前記パラメータは前記スライディングモード制御に用いる線形な切換関数の係数パラメータであることを特徴とする請求項６又は７記載の内燃機関の制御装置。
【請求項９】
排ガスを触媒装置を介して放出する内燃機関の始動後に前記触媒装置の早期活性化を行うための動作モードでのアイドリング運転時に該内燃機関の燃焼室の吸入空気量を前記動作モード以外のモードでのアイドリング運転時よりも所定量、増量させるように該内燃機関の吸入空気通路に設けた流量制御弁の開度の指令値を生成し、その指令値に基づき該流量制御弁の開度を操作する吸入空気量操作手段と、該吸入空気量操作手段による前記吸入空気量の増量中に前記内燃機関の回転数を所定の目標回転数に収束させるように該内燃機関の点火時期をフィードバック制御により操作して、該点火時期を遅角側に補正する点火時期操作手段とを備えた内燃機関の制御装置において、
前記吸入空気量の増量中に前記触媒装置に流入する排ガスにより該触媒装置に実際に与えられる熱量を表す熱量データを逐次取得する手段と、
その取得した熱量データの値を前記触媒装置に与えるべき熱量を表す所定の目標値に収束させるように前記流量制御弁の開度の指令値をフィードバック制御処理により補正する手段と、
前記吸入空気量の増量中に前記フィードバック制御処理により得られる前記流量制御弁の開度の指令値の補正量に基づき、前記内燃機関の次回の始動後の吸入空気量の増量中に前記流量制御弁の開度の指令値を補正するための学習補正値を求める手段とを前記吸入空気量操作手段に具備し、
前記吸入空気量操作手段は、該内燃機関の各回の始動後の吸入空気量の増量中における前記流量制御弁の開度の指令値を、前記内燃機関の前回の始動後の吸入空気量の増量中に求めた前記学習補正値によりフィードフォワード的に補正しつつ前記フィードバック制御処理により得られる前記補正量により逐次補正することを特徴とする内燃機関に制御装置。
【請求項１０】
前記吸入空気量操作手段が取得する前記熱量データは、前記吸入空気量の増量中に前記触媒装置に流入する排ガスにより該触媒装置に逐次実際に与えられる瞬時瞬時の熱量の積算値を表すデータであり、前記学習補正値は、前記流量制御弁の開度の指令値に乗算することで該指令値を補正する係数値であり、前記吸入空気量操作手段は、前記熱量データの値の目標値と前記フィードバック制御処理による前記流量制御弁の開度の指令値の補正量の積算値との比率から該係数値を求めることを特徴とする請求項９記載の内燃機関の制御装置。
【請求項１１】
前記吸入空気量操作手段は、前記フィードバック制御処理による前記流量制御弁の開度の指令値の補正を開始してから第４の所定時間が経過した後における前記熱量データの値の目標値と前記フィードバック制御処理による前記流量制御弁の開度の指令値の補正量の積算値との比率から該係数値を求めることを特徴とする請求項１０記載の内燃機関の制御装置。
【請求項１２】
前記吸入空気量操作手段による吸入空気量の増量と前記点火時期操作手段のフィードバック制御による点火時期の補正とは、該吸入空気量の増量開始後、所定の制限時間が経過するまでの期間で行うことを特徴とする請求項１〜１１のいずれか１項に記載の内燃機関の制御装置。
【請求項１３】
排ガスを触媒装置を介して放出する内燃機関の始動後に前記触媒装置の早期活性化を行うための動作モードでのアイドリング運転時に該内燃機関の燃焼室の吸入空気量を前記動作モード以外のモードでのアイドリング運転時よりも所定量、増量させるように該内燃機関の吸入空気通路に設けた流量制御弁の開度の指令値を生成し、その指令値に基づき該流量制御弁の開度を操作する吸入空気量操作手段と、該吸入空気量操作手段による前記吸入空気量の増量中に前記内燃機関の回転数を所定の目標回転数に収束させるように該内燃機関の点火時期をフィードバック制御により操作して、該点火時期を遅角側に補正する点火時期操作手段とを備えた内燃機関の制御装置において、
前記吸入空気量の増量中に前記触媒装置に流入する排ガスにより該触媒装置に実際に与えられる瞬時瞬時の熱量の積算値を表す熱量データを逐次取得する手段と、
その取得した熱量データの値を前記触媒装置に与えるべき熱量を表す所定の目標値に収束させるように前記流量制御弁の開度の指令値をフィードバック制御処理により補正する手段とを前記吸入空気量操作手段に具備し、
前記吸入空気量操作手段による吸入空気量の増量と前記点火時期操作手段のフィードバック制御による点火時期の補正とは、該吸入空気量の増量開始後、所定の制限時間が経過するまでの期間で行われると共に、
前記吸入空気量の増量中に前記内燃機関がアイドリング運転以外の運転を行うべき状態となったとき、前記吸入空気量操作手段及び点火時期操作手段は、それぞれ前記フィードバック制御処理による前記流量制御弁の開度の指令値の補正と前記フィードバック制御による前記点火時期の補正とを中断すると共に、その後、前記所定の制限時間が経過する前に前記内燃機関のアイドリング運転が再開されたとき、前記吸入空気量操作手段及び点火時期操作手段は、それぞれ前記フィードバック制御処理による前記流量制御弁の開度の指令値の補正と前記フィードバック制御による点火時期の補正とを前記所定の制限時間が経過するまで再開し、前記吸入空気量操作手段は、前記フィードバック制御処理による前記流量制御弁の開度の補正の中断中も前記熱量データの取得を継続することを特徴とする内燃機関の制御装置。
【請求項１４】
前記吸入空気量操作手段は、前記吸入空気量の増量中に前記フィードバック制御処理により得られる前記流量制御弁の開度の指令値の補正量に基づき、前記内燃機関の次回の始動後の吸入空気量の増量中に前記流量制御弁の開度の指令値を補正するための学習補正値を求める手段を備え、該内燃機関の各回の始動後の吸入空気量の増量中における前記流量制御弁の開度の指令値を、前記内燃機関の前回の始動後の吸入空気量の増量中に求めた前記学習補正値によりフィードフォワード的に補正しつつ前記フィードバック制御処理により得られる前記補正量により逐次補正することを特徴とする請求項１３記載の内燃機関の制御装置。
【請求項１５】
前記吸入空気量操作手段は、前記吸入空気量の増量中に前記内燃機関がアイドリング運転以外の運転を行うべき状態となったとき、前記学習補正値の算出処理を終了することを特徴とする請求項１４記載の内燃機関の制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、排ガスを触媒装置を介して放出する内燃機関の制御装置に関し、より詳しくは該内燃機関の始動後のアイドリング運転時に触媒装置の昇温・活性化を早めるために内燃機関を制御する装置に関する。
【０００２】
【従来の技術】
一般に、内燃機関の排ガスを浄化するために該内燃機関の排気系に設けられた三元触媒等の触媒装置は、その温度がある程度上昇して該触媒装置が活性化していないと、排ガスの所要の浄化性能を確保することが難しい。このため、触媒装置が比較的低温なものとなっている内燃機関の始動直後における排ガスの浄化性能の確保が従来より重要な課題となっている。
【０００３】
本願出願人は、このような課題を解決するための技術を、特願平９−１０９１９７号あるいは特願平１０−１０３２６号にて提案しており、この技術の概要は次の通りである。
【０００４】
すなわち、内燃機関の始動後の最初のアイドリング運転に際して、内燃機関の燃焼室の吸入空気量を通常のアイドリング運転時（例えば内燃機関を搭載した自動車の走行後のアイドリング運転時）よりも増量させるようにスロットル弁あるいはこれを迂回するバイパス通路の制御弁（以下、ここではこれらを流量制御弁という）の開度を操作する。また、この吸入空気量の増量開始後、この増量によって上昇傾向となる内燃機関の回転数（実回転数）を所要の目標回転数に収束させるようにフィードバック制御によって内燃機関の点火時期を操作し、これにより該点火時期を通常の場合よりも遅角側に補正する。
【０００５】
上記のような内燃機関の吸入空気量の増量と点火時期の遅角側への操作とを行うことで、内燃機関が生成する排ガスの熱量が大きくなり、ひいては、この排ガスにより暖められる触媒装置が早期に活性化する。この結果、触媒装置の所要の浄化性能を内燃機関の始動後、早期に確保することができる。
【０００６】
また、同時に、内燃機関の吸入空気量の増量の結果として上昇傾向となる内燃機関の回転数を目標回転数に収束させるようにフィードバック制御により点火時期を操作することで、内燃機関の回転数を適正な回転数に安定に保持することができる。
【０００７】
ところで、このような技術において、吸入空気量の増量に際しては、内燃機関の始動後、所要の時間内で触媒装置を十分に昇温・活性化できる熱量を該触媒装置に与えることができ、また、内燃機関の始動後の運転をできるだけ円滑且つ良好な燃焼状態で行うことができるように流量制御弁の開度の指令値を生成し、その指令値に基づきアクチュエータ等を介して流量制御弁の開度を操作する。そして、この場合、従来は、流量制御弁の開度の指令値により流量制御弁の実際の開度や、内燃機関の実際の吸入空気量が一義的に定まるものとして、該開度の指示値の大きさや時間的な変化の形態をフィードフォワード的に定めておき、その指示値に従って流量制御弁の開度を操作するようにしていた。
【０００８】
しかるに、流量制御弁あるいはこれを含む内燃機関の吸気系の挙動特性には、一般に製品毎に多少のばらつきがあり、また経時的な特性変化のばらつきも生じる。そして、このような挙動特性のばらつきや経時的な特性変化のばらつきに起因して、流量制御弁の開度を上記のようにフィードフォワード的に定めた所定の指示値に従って操作しても、それに応じて内燃機関の燃焼室に実際に吸入される吸入空気量は製品毎にばらつきを生じたり、あるいは経時的なばらつきを生じることがある。このため、その吸入空気量の空気とそれに応じた量の燃料との混合気の燃焼により生成される内燃機関の排ガスの熱量にも製品毎の、あるいは経時的なばらつきを生じる。この結果、該排ガスの熱量が与えられる触媒装置の温度の昇温特性にも、ばらつきを生じ、ひいては、所要の時間内で触媒装置を適正に昇温・活性化することができないという事態が生じる虞れがあった。
【０００９】
【発明が解決しようとする課題】
本発明はかかる背景に鑑み、内燃機関の始動後のアイドリング運転時に吸入空気量を増量させるに際して、流量制御弁の挙動特性のばらつきや経時的な特性変化等によらずに、触媒装置の早期の昇温・活性化を安定して確実に行うことができ、さらには、吸入空気量の増量中の内燃機関の運転を良好な燃焼状態で円滑に行うことができる内燃機関の制御装置を提供することを目的とする。
【００１０】
【課題を解決するための手段】
本発明の内燃機関の制御装置の基礎となる基本形態は、かかる目的を達成するために、排ガスを触媒装置を介して放出する内燃機関の始動後に前記触媒装置の早期活性化を行うための動作モードでのアイドリング運転時に該内燃機関の燃焼室の吸入空気量を前記動作モード以外のモードでのアイドリング運転時よりも所定量、増量させるように該内燃機関の吸入空気通路に設けた流量制御弁の開度の指令値を生成し、その指令値に基づき該流量制御弁の開度を操作する吸入空気量操作手段と、該吸入空気量操作手段による前記吸入空気量の増量中に前記内燃機関の回転数を所定の目標回転数に収束させるように該内燃機関の点火時期をフィードバック制御により操作して、該点火時期を遅角側に補正する点火時期操作手段とを備えた内燃機関の制御装置において、前記吸入空気量の増量中に前記触媒装置に流入する排ガスにより該触媒装置に実際に与えられる熱量を表す熱量データを逐次取得する手段と、その取得した熱量データの値を前記触媒装置に与えるべき熱量を表す所定の目標値に収束させるように前記流量制御弁の開度の指令値をフィードバック制御処理により補正する手段とを前記吸入空気量操作手段に具備したことを特徴とする。
【００１１】
かかる基本形態によれば、前記吸入空気量の増量中に前記触媒装置に流入する排ガスにより該触媒装置に実際に与えられる熱量を表す熱量データの値を、触媒装置に与えるべき熱量を表す所定の目標値に収束させるように前記流量制御弁の開度の指令値をフィードバック制御処理により補正するので、流量制御弁の挙動特性のばらつきや経時的な特性変化等によらずに、触媒装置の昇温・活性化を前記目標値に対応する所望の昇温形態で行うことができ、触媒装置の早期の昇温・活性化を安定して確実に行うことができる。そして、この結果、触媒装置の良好な排ガス浄化性能を内燃機関の始動後、早期に確実に確保することができる。
【００１２】
尚、前記熱量データとしては、内燃機関の燃焼室の瞬時瞬時の（例えば所定の制御サイクル毎の）吸入空気量もしくは燃料供給量（これらは、概ね内燃機関が生成する排ガスの瞬時瞬時の熱量、ひいては触媒装置に実際に与えられる瞬時瞬時の熱量に比例する）、あるいは、該吸入空気量もしくは燃料供給量の積算値又は触媒装置の温度上昇量（該積算値や温度上昇量は、概ね、触媒装置に実際に与えられる瞬時瞬時の熱量の積算値に比例する）等が挙げられる。
【００１３】
また、上記のような熱量データは、適当なセンサを用いて直接的に検出して取得する（例えば吸入空気量をエアーフローセンサを用いて検出する）ようにしてもよいが、内燃機関の運転時に取得し得る他の適当なデータ等から推定して得るようにしてもよい（例えば吸入空気量は内燃機関の吸気圧から推定できる）。
【００１４】
すなわち、内燃機関の始動後の触媒装置を所望の昇温・活性化を行うために触媒装置に与えるべき熱量は、内燃機関の始動時の触媒装置の温度状態（触媒装置の初期温度の状態）によって相違し、内燃機関の始動時の触媒装置の温度状態が低温側である程、触媒装置の所望の昇温・活性化に必要な熱量は多くなる。
【００１５】
そこで、前記吸入空気量操作手段は、前記熱量データの値の目標値を、前記内燃機関の始動時における前記触媒装置の温度状態に応じた値に設定する。これにより、内燃機関の始動時の触媒装置の温度状態によらずに、触媒相違の所望の昇温・活性化を確実に行うことができる。
【００１６】
尚、この場合において、触媒装置の温度状態は、該触媒装置の温度を直接的に検出することで把握してもよいが、内燃機関の始動時における該内燃機関の温度状態（冷却水温等の内燃機関の機関温度の状態）を触媒装置の温度状態に相当するものとして代用してもよい。
【００１７】
また、本発明では、前記熱量データの値の目標値は、触媒装置の昇温・活性化を適正に行う上では、種々の形態で設定することが可能であるが、該目標値は、内燃機関の始動後のアイドリング運転に際しての内燃機関の燃焼室の吸入空気量、ひいては該燃焼室で燃焼させる混合気の量に影響を及ぼすこととなるので、内燃機関の運転の安定性等を考慮することが望ましい。
【００１８】
例えば、内燃機関の始動後のアイドリング運転時には、該内燃機関の暖機がある程度進行すると、該内燃機関の各部のフリクション（摩擦）が低下していく。このように内燃機関の各部のフリクションが低下していく段階では、内燃機関の吸入空気量が一定であると、内燃機関の回転数は前記目標回転数に対して上昇傾向が強まっていくため、前記点火時期操作手段のフィードバック制御により操作される点火時期は遅角側に大きなものとなっていく。そして、この場合、該点火時期は、最終的には、該点火時期が実際に操作し得る遅角側の限界値にまで達して、回転数を目標回転数に制御することができなくなるという事態が生じる虞れがある。
【００１９】
そこで、本発明では、前記吸入空気量操作手段は、前記熱量データの値の目標値を、前記吸入空気量の増量開始後、第１の所定時間が経過した後は、該目標値に対応して前記内燃機関の燃焼室に吸入されるべき吸入空気量を時間の経過に伴い漸減させていくように設定する（請求項１記載の発明）。
【００２０】
これにより、前記第１の所定時間が経過し、内燃機関の各部のフリクション（摩擦）が低下していくような段階では、内燃機関の吸入空気量が漸減するため、該フリクションの低下による内燃機関の回転数の上昇傾向を抑えることができる。そして、この結果、点火時期操作手段のフィードバック制御によって、内燃機関の点火時期が過剰に遅角側に操作されるような事態が回避され、内燃機関の回転数を目標回転数に安定して制御することができる。
【００２１】
また、内燃機関の始動直後の前記吸入空気量の増量を開始した初期段階では、内燃機関の良好な燃焼状態やエミッション状態を確保するためには、特に、吸入空気量を的確な時間的変化の形態（パターン）で増加させていくことが望ましい。そして、この場合、吸入空気量を所要のパターンで増加させていくような前記熱量データの値の目標値を設定しても、該熱量データの値が該目標値に収束するまでは、吸入空気量の変化の仕方が不適切なものとなりやすい。
【００２２】
そこで、本発明では、前記吸入空気量操作手段は、前記吸入空気量の増量開始後、所定時間（第２の所定時間）が経過するまでは、前記フィードバック制御処理による前記流量制御弁の開度の指令値の補正を制限すると共に、少なくとも該吸入空気量の増量開始後の経過時間に応じた所定のパターンで該吸入空気量を増加させていくようにフィードフォワード的に該流量制御弁の開度の指令値を決定する（請求項２記載の発明）。
【００２３】
このように、吸入空気量の増量開始後、第２の所定時間が経過するまでの初期段階（内燃機関の始動直後の段階）では、前記フィードバック制御処理による前記流量制御弁の開度の指令値の補正を制限して、少なくとも吸入空気量の増量開始後の経過時間に応じた所定のパターンで該吸入空気量を増加させていくようにフィードフォワード的に流量制御弁の開度の指令値を決定することで、内燃機関の始動直後の良好な燃焼状態やエンミッション状態を確保することができる。
【００２４】
尚、前記フィードバック制御処理による前記流量制御弁の開度の指令値の補正を制限する場合、該補正を完全に行わないようにしてもよいが、該フィードバック制御処理による前記流量制御弁の開度の指令値の補正量を所定範囲内の微小量に強制的に制限するようにしてもよい。
【００２５】
また、本発明において、触媒装置の所望の昇温・活性化を行う上では、前記熱量データの値とその目標値との偏差が生じているとき、該熱量データの値の目標値への収束（上記偏差の減衰）を速やかに行うように流量制御弁の開度の補正を行うことが好ましいが、内燃機関の燃焼状態やエンミッション状態の安定性等を考慮すると、状況によっては、上記偏差の減衰速度を適宜変化させることが好ましい場合もある。例えば内燃機関の始動後の初期段階では、前記熱量データの値とその目標値との偏差が生じているときに、前記フィードバック制御処理による熱量データの値の目標値への収束（熱量データの値とその目標値との偏差の減衰）を急速に行うように流量制御弁の開度を補正すると、内燃機関の吸入空気量の急変によって、内燃機関の燃焼状態やエミッション状態が不安定なものとなってそれらの悪化を招く虞れがある。
【００２６】
そこで、本発明では、前記吸入空気量操作手段は、前記フィードバック制御処理を該制御処理で使用する所定のパラメータの値により前記熱量データの値と前記目標値との偏差の減衰速度を指定可能な応答指定型制御により行い、該所定のパラメータの値を所定の条件に応じて可変的に設定する（請求項３記載の発明）。
【００２７】
このように前記フィードバック制御処理を応答指定型制御により行うことで、前記所定のパラメータの値によって直接的に前記熱量データの値と前記目標値との偏差（より一般的には制御量とその目標値との偏差）の減衰速度を指定できるため、該所定のパラメータの値を所定の条件に応じて可変的に設定することで、内燃機関の運転状態等に合わせた所望の減衰速度で熱量データの値と目標値との偏差を減衰させることが可能となる。
【００２８】
この場合、より具体的には、前記所定の条件は、少なくとも前記吸入空気量の増量開始後の経過時間を含み、前記吸入空気量操作手段は、該吸入空気量の増量開始後、第３の所定時間が経過するまでは、該第３の所定時間の経過後よりも前記熱量データの値と前記目標値との偏差の減衰速度を遅くするように前記パラメータの値を設定する（請求項４記載の発明）。
【００２９】
このように吸入空気量の増量開始後、第３の所定時間が経過するまでは、該第３の所定時間の経過後よりも前記熱量データの値と前記目標値との偏差の減衰速度を遅めにするように前記パラメータの値を設定することで、内燃機関の始動後の初期段階において、吸入空気量を急速に変化させるような流量制御弁の開度の補正が回避され、内燃機関の良好な燃焼状態やエミッション状態を確保することができる。
【００３０】
さらに、本発明において、前記吸入空気量操作手段の前記応答指定型制御を用いたフィードバック制御処理による流量制御弁の開度の指令値の補正と、前記点火時期操作手段のフィードバック制御による点火時期の操作とは互いに独立的に行われるものである一方、両者の制御は、共に内燃機関の回転数に影響を及ぼす制御である。また、一般に、前記流量制御弁の開度の変化に対する吸入空気量の変化、ひいては内燃機関の回転数の変化の応答性は、点火時期の変化に対する内燃機関の回転数の変化の応答性に比して遅い。このため、前記点火時期操作手段のフィードバック制御による前記内燃機関の回転数と目標回転数との偏差の減衰速度よりも、前記応答指定型制御による前記熱量データの値と前記目標値との偏差の減衰速度を速めなものとなっていると、両者の制御が互いに干渉して、内燃機関の回転数が不安定なものとなる虞れがある。
【００３１】
そこで、本発明では、前記パラメータの値の設定に関しては、前記吸入空気量操作手段は、前記点火時期操作手段のフィードバック制御による前記内燃機関の回転数と目標回転数との偏差の減衰速度よりも、前記応答指定型制御による前記熱量データの値と前記目標値との偏差の減衰速度を遅くするように前記パラメータの値を設定する（請求項５記載の発明）。
【００３２】
このように前記パラメータの値を設定することで、吸入空気量操作手段の応答指定型制御を用いたフィードバック制御処理と、前記点火時期操作手段のフィードバック制御とが互いに内燃機関の回転数に干渉して、該回転数が不安定なものとなるような事態を回避することができる。
【００３３】
上記のように吸入空気量制御手段のフィードバック制御処理に用いる応答指定型制御は、スライディングモード制御や、ＩＬＱ制御（応答指定型最適制御）等があるが、本発明では、前記応答指定型制御は、スライディングモード制御であることが好ましく（請求項６記載の発明）、特に該スライディングモード制御は、適応スライディングモード制御であることが好ましい（請求項１０記載の発明）。
【００３４】
すなわち、スライディングモード制御は一般に外乱等の影響に対する制御の安定性が高いという特性を有する可変構造型のフィードバック制御手法であり、特に、適応スライディングモード制御は、適応則という制御則を通常的なスライディングモード制御に加味することで、外乱等の影響を積極的に排除するようにしたものである。
【００３５】
従って、前記応答指定型制御としてスライディングモード制御、より好ましくは適応スライディングモード制御を用いることで、前記熱量データの値を目標値に収束させる制御を極めて安定して行うことができ、ひいては、触媒装置の所望の昇温・活性化を安定して行うことができる。
【００３６】
尚、前記応答指定型制御としてスライディングモード制御を用いた場合、前記パラメータは該スライディングモード制御に用いる線形な切換関数の係数パラメータである（請求項８記載の発明）。
【００３７】
すなわち、スライディングモード制御では、切換関数といわれる関数が用いられ、この切換関数は制御対象の複数の状態量（具体的には例えば、前記熱量データの値とその目標値の偏差の複数の時系列データ）を変数とする線形関数により表され、この線形関数の係数パラメータ（線形関数の各項の係数）の値が偏差の減衰速度を規定するものとなる。従って、この切換関数の係数パラメータが前記熱量データの値とその目標値の偏差の減衰速度を指定するための前記パラメータとなる。
【００３８】
かかる本発明では、前記吸入空気量操作手段が取得する前記熱量データは、前記吸入空気量の増量中に前記触媒装置に流入する排ガスにより該触媒装置に逐次実際に与えられる瞬時瞬時の熱量を表すデータであってもよいが、その瞬時瞬時の熱量の積算値を表すデータであることが好ましい。
【００３９】
すなわち、前記触媒装置に逐次実際に与えられる瞬時瞬時（例えば所定の制御サイクル毎の）の熱量を表すデータは、外乱等の影響で瞬時的なノイズ成分を含むことがあるが、それを積算してなる値は、相対的にノイズ成分が小さなものとなる。従って、前記熱量データを、触媒装置に逐次実際に与えられる瞬時瞬時の熱量の積算値を表すデータとし、その熱量データを目標値（この場合、該目標値は、触媒装置に与えるべき瞬時瞬時の熱量の積算値を表すものとなり、時間の経過に伴い単調的に増加する）に収束させるように流量制御弁の開度の指令値を補正することで、該開度の瞬時的な急変等を避け、安定した制御を行うことができる。
【００４０】
尚、このように前記熱量データを、触媒装置に逐次実際に与えられる瞬時瞬時の熱量の積算値を表すデータとした場合、前記吸入空気量操作手段は、前記吸入空気量の増量中に前記内燃機関の燃焼室に実際に吸入される吸入空気量の積算値、又は該吸入空気量の増量中に該内燃機関の燃焼室に実際に供給される燃料供給量の積算値、又は該吸入空気量の増量中における前記触媒装置の温度上昇量を前記熱量データとして用いる。
【００４１】
また、本発明において、前記フィードバック制御処理による流量制御弁の開度の補正によって、最終的には、前記熱量データを目標値に収束させ、ひいては、内燃機関の吸入空気量が前記熱量データの目標値に対応して前記燃焼室に吸入されるべき吸入空気量に収束するのであるが、その未収束段階では、特に熱量データの値と目標値との比較的大きな偏差が生じるような状況（熱量データの目標値に対応した基準的な吸入空気量に対して実際の吸入空気量のばらつきが大きい場合等）において流量制御弁の開度が不安定な変動を生じ易い（前記フィードバック制御処理による流量制御弁の開度の補正量が変動的なものになりやすい）。そして、上記の未収束段階は、基本的には内燃機関の始動後の初期の段階であるため、内燃機関の良好な燃焼状態やエミッション性を確保する上では、流量制御弁の開度、ひいては吸入空気量の変化はなめらかなものであることが好ましい。
【００４２】
そこで、本発明では、前記吸入空気量操作手段は、前記吸入空気量の増量中に前記フィードバック制御処理により得られる前記流量制御弁の開度の指令値の補正量に基づき、前記内燃機関の次回の始動後の吸入空気量の増量中に前記流量制御弁の開度の指令値を補正するための学習補正値を求める手段を備え、該内燃機関の各回の始動後の吸入空気量の増量中における前記流量制御弁の開度の指令値を、前記内燃機関の前回の始動後の吸入空気量の増量中に求めた前記学習補正値によりフィードフォワード的に補正しつつ前記フィードバック制御処理により得られる前記補正量により逐次補正する（請求項９記載の発明）。
【００４３】
つまり、内燃機関の始動後の吸入空気量の増量を行う毎に、その増量中に前記フィードバック制御処理により得られる前記流量制御弁の開度の指令値の補正量を学習しておき、その補正量に基づいて、内燃機関の次回の始動後の吸入空気量の増量中に流量制御弁の開度の指令値を補正するための学習補正値を求める。この学習値補正値は、次回の内燃機関の始動後の吸入空気量の増量に際して、仮に前回の場合と同じように流量制御弁の開度の指令値をフィードバック制御処理により補正した場合における該開度の指令値の補正量に概ね相当するものである。そして、内燃機関の次回の始動後の吸入空気量の増量に際しては、前記流量制御弁の開度の指令値を、内燃機関の前回の始動後の吸入空気量の増量中に上記の如く求めた学習補正値にフィードフォワード的に補正しつつ前記フィードバック制御処理により得られる前記補正量により逐次補正することで、該フィードバック制御処理による流量制御弁の開度の指令値の補正が極力小さなものに抑えられることとなる。この結果、内燃機関の始動後の初期段階で、前記熱量データが目標値に収束していない段階でも、流量制御弁の開度の不安定な変動を十分に小さなものに抑えることができ、ひいては内燃機関の良好な燃焼状態やエミッション状態を確保することができる。
【００４４】
この場合、特に前記熱量データとして、触媒装置に実際に与えられる瞬時瞬時の熱量の積算値を表すデータを用いる場合にあっては、前記学習補正値を、前記流量制御弁の開度の指令値に乗算することで該指令値を補正する係数値とし、前記吸入空気量操作手段は、前記熱量データの値の目標値と前記フィードバック制御処理による前記流量制御弁の開度の指令値の補正量の積算値との比率から該係数値を求めることが好ましい（請求項１０記載の発明）。
【００４５】
このように前記学習補正値としての前記係数値を、前記熱量データの値の目標値（触媒装置に実際に与えるべき瞬時瞬時の熱量の積算値）と前記フィードバック制御処理による前記流量制御弁の開度の指令値の補正量の積算値との比率から求めることで、瞬時瞬時における該開度の指令値の補正量が外乱等の影響で一時的にノイズ的なものとなるようなことがあっても、該補正量の積算値に含まれるノイズ成分は相対的に小さなものとなるので、前記熱量データの値の目標値と該開度の指令値の補正量の積算値との比率から、信頼性の高い前記学習補正値（係数値）を求めることができる。また、前記学習補正値を、前記流量制御弁の開度の指令値に乗算することにより該指令値を補正する係数値とすることで、該学習補正値による流量制御弁の開度の指令値の補正を容易に行うことができる。
【００４６】
尚、前記熱量データとして、触媒装置に実際に与えられる瞬時瞬時の熱量を表すデータを用いる場合であっても、その瞬時瞬時の熱量を表すデータの目標値を積算すれば、その目標値の積算値と流量制御弁の開度の指令値の補正量の積算値との比率から上記と同様に学習補正値を求めることができる。
【００４７】
さらに、本発明では、上記のように前記学習補正値としての係数値を求める場合、前記吸入空気量操作手段は、前記フィードバック制御処理による前記流量制御弁の開度の指令値の補正を開始してから第４の所定時間が経過した後における前記熱量データの値の目標値と前記フィードバック制御処理による前記流量制御弁の開度の指令値の補正量の積算値との比率から該係数値を求めることが好ましい（請求項１０記載の発明）。
【００４８】
すなわち、前記フィードバック制御処理による流量制御弁の開度の指令値の補正を行う初期段階で、前記熱量データの値がその目標値に収束していない段階では、上記開度の指令値の補正量の変動が生じ易いため、このような段階における前記熱量データの値の目標値と前記フィードバック制御処理による前記流量制御弁の開度の指令値の補正量の積算値との比率から前記学習補正値（係数値）を求めると、該学習補正値の信頼性が損なわれる虞れがある。
【００４９】
このため、本発明では、前記フィードバック制御処理による前記流量制御弁の開度の指令値の補正を開始してから第４の所定時間が経過した後、すなわち、該開度の指令値の補正量が安定した段階における前記熱量データの値の目標値と前記フィードバック制御処理による前記流量制御弁の開度の指令値の補正量の積算値との比率から前記学習補正値（係数値）を求める。これにより、該学習補正値の信頼性を確実に確保することができる。
【００５０】
また、本発明では、前記吸入空気量操作手段による吸入空気量の増量と前記点火時期操作手段のフィードバック制御による点火時期の操作とは、該吸入空気量の増量開始後、所定の制限時間が経過するまでの期間で行う（請求項１２記載の発明）。
【００５１】
このように前記吸入空気量操作手段による吸入空気量の増量と前記点火時期操作手段のフィードバック制御による点火時期の操作とを行う期間の限定することで、不必要に内燃機関の燃料を消費するのを防止することができる。
【００５２】
ところで、内燃機関は、何らかの負荷を駆動するものであり（例えば車両に搭載された内燃機関は車両の走行駆動を行う）、上記の制限時間内に、内燃機関の負荷を駆動するための運転を行うべき状況になった場合等、アイドリング運転以外の内燃機関の運転（以下、ここでは内燃機関の負荷運転という）を行うべき状況が生じる場合も多々ある。そして、このように内燃機関の負荷運転を行う状況では、基本的には、該内燃機関の燃焼室にはアイドリング運転時よりも十分に多量の空気が吸入されて、該内燃機関が生成する排ガスの熱量も多くなるため、触媒装置の昇温・活性化も進行する。また、内燃機関の負荷運転を行う状況では、内燃機関の所望の動力性能を確保するために、前記吸入空気量操作手段のフィードバック制御処理による流量制御弁の開度の指令値の補正や、前記点火時期操作手段のフィードバック制御による点火時期の補正を解除すべきである。
【００５３】
しかるに、内燃機関の負荷運転が、前記の制限時間内で短時間しか行われない場合もあり、このような場合には、該内燃機関の負荷運転後のアイドリング運転を通常的に行うと、触媒装置の十分な昇温・活性化が遅れる虞れがある。
【００５４】
そこで、本発明では、特に、前記熱量データとして、触媒装置に実際に与えられる瞬時瞬時の熱量の積算値を表すデータを用いた場合において、前記吸入空気量の増量中に前記内燃機関がアイドリング運転以外の運転を行うべき状態となったとき、前記吸入空気量操作手段及び点火時期操作手段は、それぞれ前記フィードバック制御処理による前記流量制御弁の開度の指令値の補正と前記フィードバック制御による前記点火時期の補正とを中断すると共に、その後、前記所定の制限時間が経過する前に前記内燃機関のアイドリング運転が再開されたとき、前記吸入空気量操作手段及び点火時期操作手段は、それぞれ前記フィードバック制御処理による前記流量制御弁の開度の指令値の補正と前記フィードバック制御による点火時期の補正とを前記所定の制限時間が経過するまで再開し、前記吸入空気量操作手段は、前記フィードバック制御処理による前記流量制御弁の開度の補正の中断中も前記熱量データの取得を継続する（請求項１３記載の発明）。なお、この場合、前記吸入空気量操作手段が、前記吸入空気量の増量中に前記フィードバック制御処理により得られる前記流量制御弁の開度の指令値の補正量に基づき、前記内燃機関の次回の始動後の吸入空気量の増量中に前記流量制御弁の開度の指令値を補正するための学習補正値を求める手段を備え、該内燃機関の各回の始動後の吸入空気量の増量中における前記流量制御弁の開度の指令値を、前記内燃機関の前回の始動後の吸入空気量の増量中に求めた前記学習補正値によりフィードフォワード的に補正しつつ前記フィードバック制御処理により得られる前記補正量により逐次補正するようにしてもよい（請求項１４記載の発明）。そして、このとき、前記吸入空気量操作手段は、前記吸入空気量の増量中に前記内燃機関がアイドリング運転以外の運転を行うべき状態となったとき、前記学習補正値の算出処理を終了する（請求項１５記載の発明）。
【００５５】
このように、前記吸入空気量の増量中に前記内燃機関がアイドリング運転以外の運転（負荷運転）を行うべき状態となって、前記フィードバック制御処理による前記流量制御弁の開度の指令値の補正と前記フィードバック制御による前記点火時期の補正とを中断する一方、その中断中も前記熱量データの取得を継続しておき、その後、前記所定の制限時間が経過する前に前記内燃機関のアイドリング運転が再開されたとき、前記フィードバック制御処理による前記流量制御弁の開度の指令値の補正と前記フィードバック制御による点火時期の補正とを前記制限時間が経過するまで再開することで、該制限時間内に内燃機関の前記の負荷運転を一時的に行ったような場合であっても、確実に触媒装置を該制限時間内に昇温・活性化することができる。
【００５６】
尚、この場合において、前記熱量データの値の目標値は、触媒装置に与えるべき瞬時瞬時の熱量の積算値を表すものであって、吸入空気量の増量開始後、時間の経過に伴い単調的に増加するものとなるので、内燃機関のアイドリング運転の再開後における該熱量データの値の目標値は、内燃機関の始動後に吸入空気量の増量を開始してからの経過時間（前記フィードバック制御処理による前記流量制御弁の開度の指令値の補正等の中断中を含む）に対応した目標値である。
【００５７】
また、前記熱量データとして、触媒装置に与えられる瞬時瞬時の熱量を表すデータを用いた場合には、前記フィードバック制御処理による前記流量制御弁の開度の指令値の補正等の中断中に、該熱量データを取得しておく必要はない。
【００５８】
【発明の実施の形態】
本発明の一実施形態を図１乃至図２５を参照して説明する。
【００５９】
図１は、本実施形態の装置の全体的なシステム構成を示すものであり、１は内燃機関、２は内燃機関１の動作制御を担うコントローラである。
【００６０】
内燃機関１は、例えば自動車やハイブリッド車等の車両にその推進源として搭載されたものであり、燃料及び空気の混合気を燃焼させて生成した排ガスを例えば三元触媒を用いて構成した触媒装置３を介して大気中に放出する。
【００６１】
図２はこの内燃機関１の吸気系を模式化して示したものである。同図２に示すように、この内燃機関１の燃焼室４には、スロットル弁５を設けた主吸気通路６と、該スロットル弁５を迂回して主吸気通路６に連接すると共にバイパス弁７を設けたバイパス通路８とを介して空気を吸入可能とされている。尚、図２中、９はシリンダ、１０はピストン、１１，１２はそれぞれ吸気バルブ及び排気バルブ、１３はチャンバーである。
【００６２】
図１の説明に戻って、本実施形態のシステムでは、この内燃機関１の動作制御のための付帯的構成として、内燃機関１の回転数Ｎｅ（実回転数）及び機関温度Ｔｗ（例えば冷却水温）をそれぞれ検出する回転数センサ１４及び機関温度センサ１５、前記スロットル弁５及びバイパス弁７の下流側における主吸気通路６の内圧（本実施形態では図２のチャンバー１３の内圧）である吸気圧Ｐｂを検出する吸気圧センサ１６、大気温度Ｔａ及び大気圧Ｐａをそれぞれ検出する大気温度センサ１７及び大気圧センサ１８、図示しない車両のアクセルペダルの操作量Ａｐ（以下、アクセル操作量Ａｐという）及び車速Ｖをそれぞれ検出するアクセルセンサ１９及び車速センサ２０等の各種センサが備えられている。
【００６３】
さらに内燃機関１の駆動のための付帯的構成として、前記燃焼室４内で混合気に点火する点火装置２１、燃焼室４に燃料を供給する燃料供給装置２２、前記スロットル弁５及びバイパス弁７をそれぞれ操作するためのスロットル弁アクチュエータ２３及びバイパス弁アクチュエータ２４等が備えられている。
【００６４】
尚、図示は省略するが、上記の構成の他、内燃機関１を始動するためのスタータモータや、各種電子機器の電源バッテリ、内燃機関１の動力を駆動輪に伝達する変速機（本実施形態のシステムでは自動変速機）等も備えられている。
【００６５】
コントローラ２は、マイクロコンピュータを用いて構成されたものであり、前述の各種センサ１４〜２０の出力（検出値）のデータや、所定のプログラム、あらかじめ設定されたデータ値等に基づき、点火装置２１や燃料供給装置２２、スロットル弁アクチュエータ２３、バイパス弁アクチュエータ２４等を介して内燃機関１の所要の運転を行わしめる。
【００６６】
このコントローラ２は、スロットル弁５あるいはバイパス弁７の開度をそれぞれスロットル弁アクチュエータ２３、バイパス弁アクチュエータ２４を介して操作することで、内燃機関１の燃焼室４の吸入空気量を操作する吸入空気量操作手段２５、内燃機関１の点火時期を点火装置２１を介して操作する点火時期操作手段２６等を機能的構成として具備している。
【００６７】
これらの各手段２５，２６の機能の詳細は後述するが、点火時期操作手段２６は本発明に係わる回転数制御装置としての機能を有するものである
尚、本実施形態では、前記バイパス弁７とバイパス通路８とがそれぞれ本発明に係わる流量制御弁と吸入空気通路とに相当するものである。また、本実施形態では、コントローラ２がその制御処理を実行する制御サイクル（制御周期）はクランク角周期（所謂ＴＤＣ）である。
【００６８】
次に本実施形態のシステムの作動を前記コントローラ２の吸入空気量操作手段２５及び点火時期操作手段２６の機能と併せて説明する。
【００６９】
まず、本実施形態のシステムの基本的な動作の概要を図３を参照して簡単に説明しておく。図３は内燃機関１の始動からアイドリング運転にかけての運転における前記バイパス弁７の開度（以下、バイパス開度という）、点火時期、及び回転数の時間的変化の例示的な形態をそれぞれ上段、中段、及び下段に示したものである。
【００７０】
同図３を参照して、本実施形態のシステムでは、内燃機関１の運転停止状態で図示しないスタートスイッチを操作する等してシステムを起動すると、システムの動作は、まず、内燃機関１のクランキングをスタータモータ（図示しない）により行いつつ該内燃機関１の始動を行う動作モード（以下、始動モードという）となる。この始動モードでは、バイパス開度及び点火時期はそれぞれ図示のように操作され、また、内燃機関１の回転数Ｎｅは図示のように変動する。
【００７１】
尚、本実施形態のシステムでは、内燃機関１の運転中の前記スロットル弁５の開度は、前記アクセル操作量Ａｐに応じたものとされ、アクセルペダル（図示しない）の操作がなされていない状態（Ａｐ＝０の状態。この状態は、車両の停車中は、内燃機関１のアイドリング運転状態である）では、スロットル弁５の開度は「０」（スロットル弁５の閉弁状態）である。そして、この状態では、燃焼室４の吸気は、バイパス通路８のみを介して行われる。図３は、このようにバイパス通路８のみを介して燃焼室４の吸気が行われる場合に関するものである。
【００７２】
上記始動モードにおいて内燃機関１の所謂、完爆が確認されると、システムの動作は、内燃機関１のアイドリング運転を行いつつ前記触媒装置３の早期活性化を図るための動作モード（以下、ＦＩＲＥモードという）に移行する。
【００７３】
このＦＩＲＥモードでは、例えば図３の上段に示すような時間的変化の形態（パターン）で、通常のアイドリング運転時（ＦＩＲＥモード以外でのアイドリング運転時）よりも大きなバイパス開度の指令値θＣＭＤ  を逐次生成する。そして、この指令値θＣＭＤ  に従ってバイパス開度を前記バイパス弁アクチュエータ２４を介して操作することで、内燃機関１の燃焼室４の吸入空気量を通常のアイドリング運転時よりも増量させる。
【００７４】
この場合、ＦＩＲＥモードの動作は、基本的には、その動作が開始してからの経過時間ｔ／ｆｉｒｅ（これは、吸入空気量の増量を開始してからの経過時間である。以下、ＦＩＲＥ経過時間ｔ／ｆｉｒｅという）が所定の制限時間ＴＦＩＲＥＬＭＴ（以下、ＦＩＲＥモード制限時間ＴＦＩＲＥＬＭＴという）に達するまで行われる。
【００７５】
そして、このＦＩＲＥモードにおける前記バイパス開度の指令値θＣＭＤ  は、基本的には、上記ＦＩＲＥモード制限時間ＴＦＩＲＥＬＭＴ内で触媒装置３の所望の昇温・活性化を適正に行い得る熱量の排ガス（該排ガスの熱量は概ね内燃機関１の燃焼室４の吸入空気量に比例する）を触媒装置３に供給することができ、また、ＦＩＲＥモードにおける内燃機関１の燃焼状態やエミッション状態等を良好に保ちつつ該内燃機関１のアイドリング運転を安定して円滑に行うことができるように設定される。
【００７６】
ＦＩＲＥモードにおけるこのような吸入空気量の増量（バイパス開度の増加）に伴い、その増量開始直後の内燃機関１の回転数Ｎｅ（実回転数）は、図３の下段に実線で示すような形態で上昇していく。そして、該回転数Ｎｅが、ＦＩＲＥモードにおいて最終的に維持すべき適正な回転数としてあらかじめ定めたアイドリング回転数ＮＯＢＪ（一定）よりも所定量ＮＥＦＳＬＤＳ  だけ高い設定回転数（ＮＯＢＪ＋ＮＥＦＳＬＤＳ  ）に到達すると、内燃機関１の回転数Ｎｅを所要の目標回転数ｎｅ／ｆｉｒｅ  に収束させるためのフィードバック制御によって、内燃機関１の点火時期を図３の中段に実線で示すように操作する。以下、この回転数Ｎｅのフィードバック制御を点火時期操作回転数Ｆ／Ｂ制御という。尚、この点火時期操作回転数Ｆ／Ｂ制御は、内燃機関１の回転数Ｎｅが上記設定回転数（ＮＯＢＪ＋ＮＥＦＳＬＤＳ  ）に到達した場合の他、前記ＦＩＲＥ経過時間ｔ／ｆｉｒｅがあらかじめ定めた所定値ＴＳＬＤＩＧＳＴ（図３の下段を参照）に達した場合にも開始される。
【００７７】
この点火時期操作回転数Ｆ／Ｂ制御では、図３の下段に破線で示すような形態で内燃機関１の目標回転数ｎｅ／ｆｉｒｅ  が設定される。該目標回転数ｎｅ／ｆｉｒｅ  は、上記設定回転数（ＮＯＢＪ＋ＮＥＦＳＬＤＳ  ）から所定の低下度合い（傾き）で前記アイドリング回転数ＮＯＢＪに向かって低下され、該アイドリング回転数ＮＯＢＪに到達した後は、該アイドリング回転数ＮＯＢＪに保持される。尚、このアイドリング回転数ＮＯＢＪは、通常のアイドリング運転時の回転数よりも高い回転数に設定されている。
【００７８】
点火時期操作回転数Ｆ／Ｂ制御では、このように設定される目標回転数ｎｅ／ｆｉｒｅ  に内燃機関１の回転数Ｎｅ（実回転数）を収束させるように、フィードバック制御処理によって図３の中段に破線で示すような点火時期の補正量ＤＩＧ  （この補正量ＤＩＧ  は後述する点火時期偏差指令値である）を求め、この補正量ＤＩＧ  だけ点火時期の基本指令値ｉｇｂａｓｅ（図３の中段に一点鎖線で示す）を補正することで、点火時期の指令値ｉｇｌｏｇ  を決定する。ここで、点火時期の基本指令値ｉｇｂａｓｅは、内燃機関１の通常的な運転時（ＦＩＲＥモード以外の運転時）における点火時期の指令値に相当するものであり、進角側の値である。
【００７９】
そして、点火時期操作回転数Ｆ／Ｂ制御では、上記のように基本指令値ｉｇｂａｓｅを補正した指令値ｉｇｌｏｇ  に従って内燃機関１の点火時期を前記点火装置２１を介して操作することで、内燃機関１の回転数Ｎｅを目標回転数ｎｅ／ｆｉｒｅ  に（最終的にはアイドリング回転数ＮＯＢＪに）フィードバック制御する。
【００８０】
このとき、前述した吸入空気量の増量によって、内燃機関１の回転数Ｎｅは目標回転数ｎｅ／ｆｉｒｅ  に対して上昇傾向となるので、点火時期操作回転数Ｆ／Ｂ制御により求められる前記補正量ＤＩＧ  は、点火時期を基本指令値ｉｇｂａｓｅから遅角側に補正するものとなる。従って、この補正量ＤＩＧ  （≦０）により基本指令値ｉｇｂａｓｅを補正してなる点火時期ｉｇｌｏｇ  は、図３の中段の実線示のように遅角側のものとなる。
【００８１】
このように内燃機関１の始動後の最初のアイドリング運転時に行うＦＩＲＥモードは、上記のようなバイパス開度の操作による吸入空気量の増量と点火時期操作回転数Ｆ／Ｂ制御による点火時期の遅角側への操作とによって、内燃機関１の回転数Ｎｅを所要の目標回転数ｎｅ／ｆｉｒｅ  （最終的にはアイドリング回転数ＮＯＢＪ）に制御しつつ、内燃機関１がその燃焼室４で混合気の燃焼により生成する排ガスの熱量を通常のアイドリング運転時よりも多くするものである。そして、このように熱量を多くした排ガスを触媒装置３に供給することによって、触媒装置３の昇温・活性化を早め、該触媒装置３の所要の排ガス浄化性能を早期に確保するものである。
【００８２】
このような吸入空気量の増量と点火時期操作回転数Ｆ／Ｂ制御とを行うＦＩＲＥモードは、その動作途中で車両のアクセルペダルが操作される等した場合を除いて、前記ＦＩＲＥ経過時間ｔ／ｆｉｒｅがＦＩＲＥモード制限時間ＴＦＩＲＥＬＭＴに達するまで連続的に行われ、その後は、システムの動作は、内燃機関１の通常的な運転を行うモード（以下、通常モードという）に移行する。この通常モードでは、バイパス開度は、例えば内燃機関１の通常的なアイドリング運転を行うための開度（＜ＦＩＲＥモードにおけるバイパス開度。図３の上段の右側部分を参照）に操作される。また、内燃機関１の点火時期は、図３の中段の右側部分に示すように、ＦＩＲＥモードの終了後、徐々に、前記基本指令値ｉｇｂａｓｅにより定まる通常的な進角側の点火時期に戻される。
【００８３】
尚、本実施形態のシステムでは、前記ＦＩＲＥモードの動作中（ＦＩＲＥ経過時間ｔ／ｆｉｒｅがＦＩＲＥモード制限時間ＴＦＩＲＥＬＭＴに達する前）に、車両の発進・走行を行ったり、内燃機関１の所謂、からぶかしを行うために図示しないアクセルペダルが操作され、内燃機関１のアイドリング以外の運転を行うべき状況となったときには、ＦＩＲＥモードの中断動作を行う。
【００８４】
この中断動作にあっては、触媒装置３の昇温・活性化を確実なものとするために、前述のようなバイパス開度の操作による吸入空気量の増量は継続的に行われるが、内燃機関１の所要の動力性能を確保するために、点火時期は、前記基本指令値ｉｇｂａｓｅにより定まる通常的な進角側の点火時期に戻される（点火時期操作回転数Ｆ／Ｂ制御が中断される）。そして、ＦＩＲＥモード制限時間ＴＦＩＲＥＬＭＴ内に、再び内燃機関１のアイドリング運転を行う状況となった場合には、点火時期操作回転数Ｆ／Ｂ制御が再開される。つまり、ＦＩＲＥモードの中断動作は、基本的には点火時期操作回転数Ｆ／Ｂ制御を中断する動作である。但し、バイパス開度の操作による吸入空気量の増量に関しても、該増量に係わる部分的な制御処理は中断される。
【００８５】
以上説明した内容が本実施形態のシステムの基本的動作の概要である。
【００８６】
次に、このような基本的動作を考慮しつつ、本実施形態のシステムの詳細な作動を以下に説明する。
【００８７】
内燃機関１の運転を停止した状態で本実施形態のシステムを起動すると、コントローラ２は図４のフローチャートに示すメインルーチン処理を所定の制御サイクル、すなわちクランク角周期（ＴＤＣ）で実行する。
【００８８】
コントローラ２は、まず、システムの動作モードが前記始動モードであるか否かを判断する（ＳＴＥＰ４−１）。この判断は、例えば内燃機関１の所謂完爆が確認されたか否かにより行われ、システムの起動後、該完爆が確認されるまでの間は、動作モードは始動モードである。尚、完爆の確認は、回転数センサ１４の出力（回転数Ｎｅの検出値）等に基づいて行われる。
【００８９】
ＳＴＥＰ４−１の判断で、動作モードが始動モードである場合には、コントローラ２は、内燃機関１を始動するための始動モード処理を制御サイクル毎に実行する（ＳＴＥＰ４−２）。
【００９０】
この始動モード処理においては、コントローラ２は、内燃機関１を始動する上で適正な点火時期、燃料供給量、及びバイパス開度の指令値を、それぞれ前述の各種センサ１４〜２０の出力（検出値）や所定のマップ、演算式等に基づいて決定する。そして、その決定した指令値に従って前記点火装置２１、燃料供給装置２２、及びバイパス弁アクチュエータ２４を介して点火時期、燃料供給量及びバイパス開度（吸入空気量）を操作しつつ、図示しないスタータモータによる内燃機関１のクランキングを行わしめることで、内燃機関１を始動する。
【００９１】
また、始動モード処理では、コントローラ２は前記ＦＩＲＥモードの制御処理で使用するフラグ等の各種パラメータ（詳細は後述する）の初期設定を行う。
【００９２】
さらに、始動モード処理では、内燃機関１の始動時の機関温度Ｔｗ、大気温度Ｔａ及び大気圧Ｐａがそれぞれ機関温度センサ１５、大気温度センサ１７及び大気圧センサ１８により検出されて図示しないメモリに記憶保持される。
【００９３】
一方、ＳＴＥＰ４−１の判断で、動作モードが始動モードでない場合には（内燃機関１の完爆が確認された場合）には、コントローラ２は、制御サイクル毎に、内燃機関１への燃料供給量の指令値を生成する（ＳＴＥＰ４−３）。さらに、コントローラ２は、ＦＩＲＥモードの制御処理を行うべきか否か（動作モードをＦＩＲＥモードにするか通常モードにするか）の条件判断を行った後（ＳＴＥＰ４−４）、バイパス開度の指令値θＣＭＤ  を前記吸入空気量操作手段２５によって生成し（ＳＴＥＰ４−５）、また、内燃機関１の点火時期の指令値ｉｇｌｏｇ  を、前記点火時期操作手段２６によって生成する（ＳＴＥＰ４−６）。
【００９４】
前記ＳＴＥＰ４−３における燃料供給量の指令値の生成処理では、まず、前記回転数センサ１４及び吸気圧センサ１６により検出される内燃機関１の回転数Ｎｅ（実回転数）及び吸気圧Ｐｂから、あらかじめ定められたマップに基づいて基本燃料供給量が求められる。そして、この基本燃料供給量を前記機関温度センサ１５や大気温度センサ１７により検出される機関温度Ｔｗや大気温度Ｔａ等に応じて補正することで、内燃機関１の燃焼室４の吸入空気量に対応した燃料供給量の指令値が生成される。
【００９５】
このように生成された燃料供給量の指令値は、制御サイクル毎に、コントローラ２から前記燃料供給装置２２に与えられ、該燃料供給装置２２は、与えられた指令値に従って内燃機関１への燃料供給を行う。
【００９６】
また、前記ＳＴＥＰ４−４における条件判断の処理は図５のフローチャートに示すように行われる。
【００９７】
すなわち、コントローラ２は、まず、現在の前記ＦＩＲＥ経過時間ｔ／ｆｉｒｅが前記ＦＩＲＥモード制限時間ＴＦＩＲＥＬＭＴ内にあるか否か（ｔ／ｆｉｒｅ＜ＴＦＩＲＥＬＭＴであるか否か。ＳＴＥＰ５−１）、前記回転数センサ１４により検出された現在の回転数Ｎｅが正常な所定範囲内にあるか否か（ＳＴＥＰ５−２）、前記機関温度センサ１５により検出された現在の機関温度Ｔｗが正常な所定範囲内にあるか否か（ＳＴＥＰ５−３）を順次判断する。尚、ＳＴＥＰ５−１で判断するＦＩＲＥ経過時間ｔ／ｆｉｒｅは、前記始動モード処理（ＳＴＥＰ４−２）において「０」に初期化され、始動モードが終了した時点（内燃機関１の完爆が確認された制御サイクル）から計時されるものである。
【００９８】
これらのＳＴＥＰ５−１〜５−３の条件が成立しない場合、すなわち、ＦＩＲＥ経過時間ｔ／ｆｉｒｅが既にＦＩＲＥモード制限時間ＴＦＩＲＥＬＭＴに達している場合、あるいは、内燃機関１の現在の回転数Ｎｅが異常な高回転数もしくは低回転数となっている場合、あるいは内燃機関１の現在の機関温度Ｔｗが異常な高温もしくは低温となっている場合には、コントローラ２は、後述する学習演算に係わる処理（詳しくは後述する基本学習補正係数ｖｐｓｋｉｓｌｄの算出処理）を終了するか否かをそれぞれ値「１」、「０」で表すフラグｆ／ｆｌｒｎｅｎｄ  （以下、学習演算終了フラグｆ／ｆｌｒｎｅｎｄ  という）の値を判断する（ＳＴＥＰ５−４）。そして、コントローラ２は、ｆ／ｆｌｒｎｅｎｄ  ＝０である場合にのみ、現在のＦＩＲＥ経過時間ｔ／ｆｉｒｅの値をパラメータｔ／ｋｉｌ  の値として保持しておき（ＳＴＥＰ５−５）、さらに学習演算終了フラグｆ／ｆｌｒｎｅｎｄ  の値を「１」に設定する（ＳＴＥＰ５−６）。ここで、パラメータｔ／ｋｉｌ  は、後述する基本学習補正係数ｖｐｓｋｉｓｌｄの算出処理を終了する際のＦＩＲＥ経過時間ｔ／ｆｉｒｅを表すものである。以下、パラメータｔ／ｋｉｌ  を学習終了時刻パラメータｔ／ｋｉｌ  という。
【００９９】
尚、学習演算終了フラグｆ／ｆｌｒｎｅｎｄ  及び学習終了時刻パラメータｔ／ｋｉｌ  の値は、前記始動モード処理（ＳＴＥＰ４−２）において「０」に初期化される。
【０１００】
次いで、コントローラ２は、ＦＩＲＥ経過時間ｔ／ｆｉｒｅの値を強制的にＦＩＲＥモード制限時間ＴＦＩＲＥＬＭＴに固定した後（ＳＴＥＰ５−７）、ＦＩＲＥモードの前述のような中断動作を行うべき状態であるか否かをそれぞれ値「１」、「０」で表すフラグｆ／ｆｐａｕｓｅ（以下、ＦＩＲＥ中断フラグｆ／ｆｐａｕｓｅという）の値と、ＦＩＲＥモードの動作を行うべき状態であるか否かをそれぞれ値「１」、「０」で表すフラグｆ／ｆｉｒｅｏｎ（以下、ＦＩＲＥ実行可否フラグｆ／ｆｉｒｅｏｎという）の値とを「０」に設定し（ＳＴＥＰ５−８，５−９）、図４のメインルーチンの処理に復帰する。尚、ＦＩＲＥモードの動作を行うべき状態でない（ｆ／ｆｉｒｅｏｎ＝０）ということは、前記通常モードの動作を行うべき状態であることを意味する。
【０１０１】
一方、前記ＳＴＥＰ５−１〜５−３の条件が成立する場合には、コントローラ２は、アクセルセンサ１９の出力（アクセル操作量Ａｐ）により車両のアクセルペダルの操作がなされているか否か（ＳＴＥＰ５−１０）、内燃機関１のフュエルカット中であるか否か（ＳＴＥＰ５−１１）を順次判断する。尚、内燃機関１のフュエルカットは、車両の減速走行時等に燃料供給を遮断する処理である。また、車両のアクセルペダルの操作がなされている状態では、コントローラ２は、前記スロットル弁５の開度をアクセル操作量Ａｐに応じた開度に前記スロットル弁アクチュエータ２３を介して操作する。
【０１０２】
このとき、ＳＴＥＰ５−１０、５−１１のいずれの条件も成立しない場合は、基本的には内燃機関１のアイドリング運転を行う状態である。この場合には、コントローラ２は、前記ＦＩＲＥ中断フラグｆ／ｆｐａｕｓｅの値を「０」に設定し（ＳＴＥＰ５−１２）、さらに前記ＦＩＲＥ実行可否フラグｆ／ｆｉｒｅｏｎの値を「１」に設定した後（ＳＴＥＰ５−１３）、図４のメインルーチンの処理に復帰する。
【０１０３】
また、ＳＴＥＰ５−１０、５−１１のいずれかの条件が成立する場合には、コントローラ２は、ＦＩＲＥモードの中断動作を行うべく、ＦＩＲＥ中断フラグｆ／ｆｐａｕｓｅの値を「１」に設定した後（ＳＴＥＰ５−１４）、前記学習演算終了フラグｆ／ｆｌｒｎｅｎｄ  の値を判断する（ＳＴＥＰ５−１５）。そして、コントローラ２は、ｆ／ｆｌｒｎｅｎｄ  ＝０である場合にのみ、現在のＦＩＲＥ経過時間ｔ／ｆｉｒｅの値を前記学習終了時刻パラメータｔ／ｋｉｌ  の値として保持し（ＳＴＥＰ５−１６）、さらに学習演算終了フラグｆ／ｆｌｒｎｅｎｄ  の値を「１」に設定する（ＳＴＥＰ５−１７）。
【０１０４】
次いで、コントローラ２は、ＦＩＲＥモードの中断動作の終了後の点火時期の操作処理（詳細は後述する）に用いるカウントダウンタイマｃｎｔ／ｉｇｖｐｌ  の値を所定の初期値ＸＣＮＴに設定した後（ＳＴＥＰ５−１８）、前記ＳＴＥＰ５−１３を経て図４のメインルーチンの処理に復帰する。
【０１０５】
尚、ＳＴＥＰ５−１０、５−１１のいずれかの条件が成立する状況、すなわち、ＦＩＲＥモードの中断動作を行うべくＦＩＲＥ中断フラグｆ／ｆｐａｕｓｅの値を「１」に設定する状況は、基本的には前記ＦＩＲＥモード制限時間ＴＦＩＲＥＬＭＴ内で、車両のアクセルペダルの操作により、車両の発進・走行を行っている状況（内燃機関１がその負荷を駆動している状況）であるか、もしくは、内燃機関１の空ぶかしを行っている状況である。但し、ＦＩＲＥモード制限時間ＴＦＩＲＥＬＭＴ内で車両を発進させたとき、その後の車両の減速走行中には、ＳＴＥＰ５−１０、５−１１のいずれの条件も成立しない場合もある。つまり、ＦＩＲＥモードの中断動作を行う状況は、より正確に言えば、混合気の燃焼を行いながら内燃機関１のアイドリング運転以外の運転を行う状況である。
【０１０６】
以上説明したＳＴＥＰ４−４の条件判断の処理によって、内燃機関１の始動後（始動モードの終了後）、内燃機関１の回転数Ｎｅや機関温度Ｔｗが適正な範囲内にある限り、前記ＦＩＲＥ経過時間ｔ／ｆｉｒｅが前記ＦＩＲＥモード制限時間ＴＦＩＲＥＬＭＴに達するまで、システムの動作モードはＦＩＲＥモードに設定される（ｆ／ｆｉｒｅｏｎ＝１）。そして、このＦＩＲＥモードが設定されている状態では、該ＦＩＲＥモードの中断動作中を除き、基本的には、前述したようなバイパス開度の操作による吸入空気量の増量と点火時期操作回転数Ｆ／Ｂ制御とが並行して行われる。
【０１０７】
また、内燃機関１の回転数Ｎｅや機関温度Ｔｗがなんらかの原因で異常に高いか、もしくは低いものとなっている状況では、システムの動作モードは内燃機関１の始動直後から通常モードに設定されるか、もしくは、ＦＩＲＥモードが途中で解除（終了）されて通常モードが設定される（ｆ／ｆｉｒｅｏｎ＝０）。そして、この通常モードが設定されている状態では、バイパス開度や点火時期は、内燃機関１の通常的な運転（ＦＩＲＥモード以外の運転）を行うためのバイパス開度や点火時期に操作される。さらに、通常モードが設定されるときには、前記ＳＴＥＰ５−７においてＦＩＲＥ経過時間ｔ／ｆｉｒｅの値を強制的にＦＩＲＥモード制限時間ＴＦＩＲＥＬＭＴに固定するため、以後は、内燃機関１を再び始動するまで前記ＳＴＥＰ５−１の条件が成立することがない（ＦＩＲＥ経過時間ｔ／ｆｉｒｅは始動モードにおいてのみ初期化される）。従って、ＦＩＲＥモードは、内燃機関１の始動後、ＦＩＲＥモード制限時間ＴＦＩＲＥＬＭＴが経過するまでの期間においてのみ設定される。
【０１０８】
また、システムの動作モードがＦＩＲＥモードに設定されている状態（ｆ／ｆｉｒｅｏｎ＝１）で、アクセルペダルの操作によって車両の走行が行われたり、内燃機関１の空ぶかしが行われたような場合、すなわちアイドリング運転以外の内燃機関１の運転を行うべき場合（ＳＴＥＰ５−１０、５−１１のいずれかの条件が成立する場合）には、前記ＦＩＲＥ中断フラグｆ／ｆｐａｕｓｅが「１」に設定される。この場合には、前述のようにバイパス開度の操作による吸入空気量の増量は行うが、点火時期操作回転数Ｆ／Ｂ制御は中断する、というようなＦＩＲＥモードの中断動作が行われることとなる。そして、動作モードがＦＩＲＥモードで、且つ中断動作が行われている状態（ｆ／ｆｉｒｅｏｎ＝１且つｆ／ｆｐａｕｓｅ＝１）において、ＳＴＥＰ５−１０、５−１１のいずれかの条件も成立しなくなり、ＦＩＲＥ中断フラグｆ／ｆｐａｕｓｅが「０」に戻された場合（これは、基本的にはアイドリング運転を再開する場合である）には、中断動作が解除され、点火時期操作回転数Ｆ／Ｂ制御が再開される。
【０１０９】
尚、アクセルペダルの操作によりＦＩＲＥモードの中断動作が行われる状況（ＳＴＥＰ５−１０の条件が成立）では、前記スロットル弁５の開度がアクセル操作量Ａｐに応じたもの（＞０）とされる。このため、この状況では、内燃機関１の燃焼室４には、バイパス弁７とスロットル弁５との両者を介して吸気が行われることとなる。
【０１１０】
また、本実施形態では採用していないが、始動モードの終了後、若干の時間が経過するまでは、システムの動作モードをＦＩＲＥモードに設定しないようにしてもよい。
【０１１１】
次に、前記図４のＳＴＥＰ４−５におけるバイパス開度の指令値θＣＭＤ  の生成処理について説明する。
【０１１２】
ここで、この処理の具体的な内容を詳細に説明する前に、この処理の基本的な内容を説明しておく。
【０１１３】
本実施形態のシステムでは、ＦＩＲＥモードにおけるバイパス開度の指令値θＣＭＤ  を生成するためにコントローラ２の吸入空気量操作手段２５が行う主要な処理として、バイパス開度の標準指令値θ０  （以下、標準開度指令値θ０  という）を生成する処理（以下、標準開度指令値生成処理という）と、内燃機関１の燃焼室４の実際の吸入空気量の積算値を所要の目標値に収束させるようにフィードバック制御処理によってバイパス開度の指令値を補正するための処理（以下、吸気量Ｆ／Ｂ制御補正処理という）と、この吸気量Ｆ／Ｂ制御補正処理によるバイパス開度の指令値の補正量をＦＩＲＥモードの動作が行われる毎に学習し、その学習結果に基づいて次回のＦＩＲＥモードの動作に際してバイパス開度の指令値を補正するための処理（以下、学習補正処理という）と、前記大気圧センサ１８及び大気温度センサ１７によりそれぞれ検出される大気圧Ｐａ及び大気温度Ｔａのそれぞれに応じてバイパス開度の指令値を補正するための処理（以下、大気条件補正処理という）と、前記点火時期操作回転Ｆ／Ｂ制御によって操作される点火時期に応じてバイパス開度の指令値を補正するための処理（以下、点火時期応動補正処理という）とがある。以下にこれらの処理の基本的な内容を説明する。
【０１１４】
まず、前記標準開度指令値生成処理に関して説明する。
【０１１５】
本実施形態のシステムでは、ＦＩＲＥモードにおける吸入空気量の増量は、触媒装置３の早期の昇温・活性化を主目的とするものであり、この場合、ＦＩＲＥモード制限時間ＴＦＩＲＥＬＭＴ内で触媒装置３の所望の昇温・活性化を確実に行い得る熱量の排ガス（該排ガスの熱量は概ね内燃機関１の燃焼室４の吸入空気量に比例する）を触媒装置３に供給することができるように吸入空気量を増量させてやる必要がある。
【０１１６】
一方、この吸入空気量の増量は、内燃機関１の始動後、直ちに開始するものであると共に、前記点火時期操作回転数Ｆ／Ｂ制御によって点火時期を通常の点火時期よりも遅角側に操作しながら行うものであるため、該吸入空気量の増量形態（増量の時間的変化のパターン）が不適切であると、内燃機関１の燃焼状態やエミッション状態を損なう虞れがある。従って、ＦＩＲＥモードにおける吸入空気量の増量は、ＦＩＲＥモードにおける内燃機関１の燃焼状態やエミッション状態等を損なうことなく該内燃機関１のアイドリング運転を安定して円滑に行うことができるように行う必要がある。
【０１１７】
このために、前記標準開度指令値生成処理では、吸入空気量の増量のために前記バイパス弁アクチュエータ２４に与えるべきバイパス開度の指令値の基本となる前記標準開度指令値θ０  を、内燃機関１の始動時（始動モード）における機関温度Ｔｗや前記ＦＩＲＥ経過時間ｔ／ｆｉｒｅ等に応じて制御サイクル（ＴＤＣ）毎にフィードフォワード的に生成する。
【０１１８】
この標準開度指令値生成処理は次のように行われる。
【０１１９】
まず、内燃機関１の始動時（始動モード）に前記機関温度センサ１５により検出された機関温度Ｔｗから、あらかじめ定められたデータテーブルに基づき標準開度指令値θ０  の基本値ｉ／ｆｔｂｌ（これはＦＩＲＥモードの動作中の標準開度指令値θ０  の最大値である）を決定する。
【０１２０】
この場合、本実施形態では、上記基本値ｉ／ｆｔｂｌは、ＦＩＲＥモードの動作中における車両の図示しない自動変速機の操作レバーの操作位置（以下、シフト位置という）がＮレンジ（ニュートラルレンジ）にある場合と、Ｄレンジ（ドライブレンジ）にある場合とで各別の値を決定する。
【０１２１】
すなわち、自動変速機の前記シフト位置がＮレンジにある場合には、内燃機関１の始動時の機関温度Ｔｗから、図６の実線ａのデータテーブルに従って求まる値ｉｆｉｒｅｔ（以下、Ｎレンジ基本値ｉｆｉｒｅｔという）を標準開度指令値θ０  の基本値ｉ／ｆｔｂｌとして決定する。
【０１２２】
ここで、実線ａのデータテーブルは、基本的には、機関温度Ｔｗが高い程、Ｎレンジ基本値ｉｆｉｒｅｔが小さくなるように設定されている。これは、内燃機関１の始動時の機関温度Ｔｗは、触媒装置３の初期温度に相当し、該温度が高い程、触媒装置３の所望の昇温・活性化を行う上で必要な熱量、ひいては内燃機関１の吸入空気量が少なくて済むからである。
【０１２３】
また、自動変速機のシフト位置がＤレンジにある場合には、内燃機関１の始動時の機関温度Ｔｗから、図６の実線ｂのデータテーブルに従って求まる値ｉａｔｆｉｒｅ  （以下、Ｄレンジ補正値ｉａｔｆｉｒｅ  という）を上記Ｎレンジ基本値ｉｆｉｒｅｔに加算した値を標準開度指令値θ０  の基本値ｉ／ｆｔｂｌ（＝ｉｆｉｒｅｔ＋ｉａｔｆｉｒｅ  ）として決定する。
【０１２４】
ここで、実線ｂのデータテーブルは、基本的には、内燃機関１の始動時の任意の機関温度Ｔｗにおいて、Ｄレンジでの基本値ｆｉｔｂｌ  をＮレンジの場合よりも若干高めるように設定されている。これは、ＤレンジではＮレンジの場合よりも内燃機関１の駆動力を吸収する負荷が多くなって、内燃機関１の回転数低下を引き起しやすいと共に排ガスの熱量がＮレンジの場合よりも少なくなるからである。
【０１２５】
尚、本実施形態では、触媒装置３の初期温度（内燃機関１の始動時における触媒装置３の温度状態）に相当するものとして内燃機関１の始動時の機関温度Ｔｗを用いているが、内燃機関１の始動時に触媒装置３の初期温度を直接的に検出し、その検出温度から上記と同様に標準開度指令値θ０  の基本値ｉ／ｆｔｂｌを決定するようにしてもよい。
【０１２６】
また、本実施形態では、車両に自動変速機を採用しているため、Ｎレンジと、Ｄレンジとで各別の基本値ｉ／ｆｔｂｌを設定しているが、手動操作式の変速機を車両に搭載している場合には、このような区別を行うことなく単一の基本値ｉ／ｆｔｂｌを内燃機関１の始動時の機関温度Ｔｗ（あるいは触媒装置３の初期温度）に応じて上記と同様に設定するようにしてもよい。
【０１２７】
このようにして標準開度指令値θ０  の基本値ｉ／ｆｔｂｌを決定する一方、標準開度指令値生成処理では、さらに、前記ＦＩＲＥ経過時間ｔ／ｆｉｒｅから、図７に示す如くあらかじめ定められたデータテーブル（タイムテーブル）に従って上記基本値ｉ／ｆｔｂｌを補正（乗算補正）するための補正係数ｋｍ／ｆｉｒｅ  （≦１）を制御サイクル毎に求める。そして、この補正係数ｋｍ／ｆｉｒｅ  を上記基本値ｉ／ｆｔｂｌに乗算してなる値を標準開度指令値θ０  （＝ｉ／ｆｔｂｌ・ｋｍ／ｆｉｒｅ  ）として決定する。
【０１２８】
ここで、図７のデータテーブルでは、ＦＩＲＥモードの初期段階（ｔ／ｆｉｒｅ：０〜ｔ１  ）では、始動直後の内燃機関１の燃焼状態等を安定化するために、標準開度指令値θ０  を基本値ｉ／ｆｔｂｌに向かって徐々に増加させていくように、補正係数ｋｍ／ｆｉｒｅ  を「１」に向かって徐々に増加させていく。そして、標準開度指令値θ０  が基本値ｉ／ｆｔｂｌに達してから（補正係数ｋｍ／ｆｉｒｅ  が「１」に達してから）は、所定時間の間（ｔ／ｆｉｒｅ：ｔ１  〜ｔ２  ）、標準開度指令値θ０  を基本値ｉ／ｆｔｂｌに維持するように補正係数ｋｍ／ｆｉｒｅ  を「１」に設定する。その後は（ｔ／ｆｉｒｅ：ｔ２  〜ＴＦＩＲＥＬＭＴ）、標準開度指令値θ０  を緩やかに減少させていくように、補正係数ｋｍ／ｆｉｒｅ  を緩やかに減少させていく。このように、標準開度指令値θ０  を緩やかに減少させていくのは次の理由による。
【０１２９】
すなわち、内燃機関１の暖機がある程度進行すると、該内燃機関１の各部のフリクション（摩擦）が徐々に低下していき、内燃機関１の回転数Ｎｅの上昇傾向が高まり、その結果、前記点火時期操作回転数Ｆ／Ｂ制御により操作される内燃機関１の点火時期はより遅角側に移行していくこととなる。そして、このとき、内燃機関１の点火時期が、内燃機関１の正常な運転を行いつつ該点火時期を操作し得る遅角側の限界値まで達してしまうと、内燃機関１の回転数Ｎｅの上昇傾向を抑えることができなくなってしまう。このような事態を予防するために、ＦＩＲＥ経過時間ｔ／ｆｉｒｅが所定時間ｔ２  に達し、ＦＩＲＥモードの動作がある程度進行した後（内燃機関１の暖機がある程度進行した後）は、標準開度指令値θ０  （内燃機関１の吸入空気量）を緩やかに減少させ、フリクションの低下による回転数Ｎｅの上昇傾向を抑制する。尚、上記所定時間ｔ２  は、本発明の構成に対応させると、第１の所定時間に相当するものである。
【０１３０】
以上説明した内容が前記標準開度指令値生成処理の内容である。
【０１３１】
本実施形態のシステムでは、基本的には、上記のようにフィードフォワード的に生成する標準開度指令値θ０  に従ってバイパス開度を操作することで、内燃機関１の運転を安定して行いつつ、触媒装置３の所望の昇温・活性化を適正に行うことを可能としている。
【０１３２】
次に、前記吸気量Ｆ／Ｂ制御補正処理及び大気条件補正処理について説明する。
【０１３３】
本実施形態では、前記標準開度指令値生成処理において前述の如く決定する標準開度指令値θ０  は、バイパス弁アクチュエータ２４に与えるバイパス開度の指令値に対して、バイパス弁７の実際の開度や内燃機関１の燃焼室４の実際の吸入空気量が基準的な一定の相関関係で一義的に定まり、また、大気圧Ｐａや大気温度Ｔａがそれぞれ所定の標準大気圧（例えば１気圧）、標準大気温度（例えば２５°Ｃの常温）である、というような理想的な条件を前提として定めたものである。
【０１３４】
しかるに、バイパス開度の指令値に対するバイパス弁７の実際の開度あるいは実際の吸入空気量は、バイパス弁アクチュエータ２４やバイパス弁７の動作特性のばらつき、あるいは経時的な特性変化等に起因してばらつきを生じる（以下、このような吸入空気量のばらつきを構造要因によるばらつきという）。
【０１３５】
また、上記のような構造要因によるばらつきが無いとしても、バイパス開度の指令値に対する実際の吸入空気量は、大気圧Ｐａによってばらつきを生じる。さらに、この大気圧Ｐａの影響よりは小さいものの、バイパス開度の指令値θＣＭＤ  に対する実際の吸入空気量は、大気温度Ｔａによってもばらつきを生じる（以下、このような大気圧Ｐａ、大気温度Ｔａによる吸入空気量のばらつきを大気条件によるばらつきという）。
【０１３６】
すなわち、バイパス開度の指令値を一定（バイパス開度を一定）としたとき、実際の吸入空気量は大気圧Ｐａが低い程、少なくなる。また、大気温度Ｔａが高い程、空気の密度が小さくなるので、実際の吸入空気量（吸入空気の質量）は大気温度Ｔａが高い程、少なくなる。
【０１３７】
このような吸入空気量のばらつきが生じると、内燃機関１が生成する排ガスの熱量（これは概ね吸入空気量に比例する）のばらつきも生じるため、触媒装置３の昇温形態のばらつきも生じる。このため、場合によっては、ＦＩＲＥモードにおける吸入空気量の増量の主目的である触媒装置３の早期の昇温・活性化を確実に行うことができず、ひいてはＦＩＲＥモードの動作中に触媒装置３の所要の浄化性能を確保することができなくなる虞れがある。
【０１３８】
前記吸気量Ｆ／Ｂ制御補正処理及び大気条件補正処理は、このような不都合を解消するために行う処理であり、このうち、吸気量Ｆ／Ｂ制御補正処理は、前述した構造要因によるばらつきを補償するための処理、大気条件補正処理は、大気条件によるばらつきを補償するための処理である。
【０１３９】
まず、前記構造要因によるばらつきを補償するための吸気量Ｆ／Ｂ制御補正処理に関して説明する。
【０１４０】
この吸気量Ｆ／Ｂ制御補正処理における基本的な考え方としては、ＦＩＲＥモードの動作中に、内燃機関１の排ガスにより触媒装置３に実際に与える熱量を表す熱量データを逐次（制御サイクル毎に）検出もしくは推定して取得し、その熱量データの値が所定の目標値（これは触媒装置３に与えるべき目標熱量に相当する）に収束させるようにフィードバック制御処理によりバイパス開度の指令値を補正する。そして、この補正した指令値に基づきバイパス開度を操作することで、触媒装置３に実際に与える熱量を、それを表す上記熱量データの値の目標値に対応する目標熱量に合致させ、これにより、触媒装置３の昇温形態のばらつきを解消する。
【０１４１】
この場合、触媒装置３に与える熱量を表す熱量データとしては、例えば制御サイクル毎（瞬時瞬時の）の吸入空気量もしくは燃料供給量（これらは基本的には触媒装置３に与える制御サイクル毎の（瞬時瞬時の）熱量に比例する）、あるいはそれらの積算値（これは触媒装置３に与える瞬時瞬時の熱量の積算値に比例する）、あるいは触媒装置３の温度上昇量（触媒装置３の初期温度からの温度上昇量が触媒装置３に与える瞬時瞬時の熱量の積算値に比例する）等が挙げられる。
【０１４２】
そして、本実施形態では、上記熱量データとして例えば吸入空気量の積算値を用いることとし、ＦＩＲＥモードの動作中の内燃機関１の実際の吸入空気量の積算値を制御サイクル毎に次のように推定し、またその積算値の目標値を制御サイクル毎に次のように設定する。
【０１４３】
まず、吸入空気量の積算値の推定に関し、本実施形態における制御サイクルである１ＴＤＣ当たりに内燃機関１の燃焼室４に吸入される吸入空気量は、概ね、前記図２に示したチャンバー１３の内圧、すなわち吸気圧Ｐｂに比例する。
【０１４４】
そこで、本実施形態では、制御サイクル毎の吸入空気量の推定値ｇａｉｒ／ｐｒｅを次式（１）により求める（以下、この推定値ｇａｉｒ／ｐｒｅを推定吸入空気量ｇａｉｒ／ｐｒｅという）。
【０１４５】
【数１】
0003544477.tif 000002
【０１４６】
ここで、式（１）中の係数Ｇａ１は、あらかじめ定めた所定値（一定値）である。
【０１４７】
そして、この推定吸入空気量ｇａｉｒ／ｐｒｅを、ＦＩＲＥモードの動作中に次式（２）により制御サイクル毎に累積加算していくことで、吸入空気量の積算値ｑａｉｒ／ｐｒｅを求める（以下、この積算値ｑａｉｒ／ｐｒｅを推定積算吸入空気量ｑａｉｒ／ｐｒｅという）。
【０１４８】
【数２】
0003544477.tif 000003
【０１４９】
ここで、式（２）中のｋは制御サイクルの番数である（以下、同様）。
【０１５０】
尚、内燃機関１の実際の吸入空気量の積算値は、例えばエアーフローセンサ等により制御サイクル毎の吸入空気量を直接的に検出し、それを積算することで得るようにしてもよい。
【０１５１】
次に、触媒装置３に与える熱量の積算値の目標値に相当する吸入空気量の積算値の目標値（以下、目標積算吸入空気量ｑａｉｒ／ｃｍｄという）は、触媒装置３の昇温・活性化を適正に行う上では、種々の形態で設定することが可能である。しかるに、その目標値は、ＦＩＲＥモードの動作中の内燃機関１の吸入空気量、ひいては内燃機関１の燃焼状態、エミッション状態等に影響を及ぼすこととなるので、該内燃機関１の運転の安定性を考慮する必要がある。
【０１５２】
そこで、本実施形態では、前述の如く理想的な条件下で、触媒装置３の昇温・活性化を適正に行い、また、安定した内燃機関１の運転を行い得るように定めた前記標準開度指令値θ０  に基づいて上記目標積算吸入空気量ｑａｉｒ／ｃｍｄを設定する。
【０１５３】
すなわち、前記標準開度指令値θ０  は、バイパス開度の指令値に対して実際のバイパス開度や吸入空気量が一義的に定まる、大気圧Ｐａ及び大気温度Ｔａがそれぞれ一定の標準大気圧及び標準大気温度である、というような理想的な条件下で、触媒装置３の昇温・活性化を適正に行い、また、安定した内燃機関１の運転を行い得るように設定したものである。言い換えれば、標準開度指令値θ０  は、触媒装置３の昇温・活性化を適正に行い、また、安定した内燃機関１の運転を行うために燃焼室４に吸入されるべき最適な吸入空気量を規定するものである。
【０１５４】
従って、上記のような理想的な条件下で、バイパス開度を標準開度指令値θ０  に従って操作した場合における内燃機関１の燃焼室４の制御サイクル毎の吸入空気量を、制御サイクル毎の目標吸入空気量ｇａｉｒ／ｃｍｄとして設定し、その目標吸入空気量ｇａｉｒ／ｃｍｄの積算値を上記目標積算吸入空気量ｑａｉｒ／ｃｍｄとして設定すればよい。
【０１５５】
この場合、上記目標吸入空気量ｇａｉｒ／ｃｍｄ及び目標積算吸入空気量ｑａｉｒ／ｃｍｄは制御サイクル毎に次のように標準開度指令値θ０  から求めることができる。
【０１５６】
まず、実際のバイパス開度をθとしたとき、バイパス弁７を通過する単位時間（一定時間）当たりの空気量Ｇｉは、バイパス弁７の上流側の圧力である大気圧Ｐａと下流側の圧力である吸気圧Ｐｂとを用いて一般的に次式（３）により表される。
【０１５７】
【数３】
0003544477.tif 000004
【０１５８】
ここで、式（３）中のＣｉは、空気密度に応じた係数で、該空気密度は大気温度Ｔａに応じたものとなる。また、式（３）中のθの項は、厳密には、バイパス弁７の箇所の有効開口面積であるが、ここでは、この有効開口面積の代わりにバイパス開度θを用いている。尚、有効開口面積に代わりにバイパス開度θを用いることによる影響の補正は、係数Ｃｉに含めるようにしてもよい。
【０１５９】
この場合、前記の理想的条件下で、バイパス開度を標準開度指令値θ０  に従って操作したとき、式（３）において、θ＝θ０  、Ｐａ＝標準大気圧（一定）となり、また、係数Ｃｉも基本的には標準大気温度に応じた一定値となる。また、ＦＩＲＥモードにおける内燃機関１の定常的な運転状態では、吸気圧Ｐｂの変化は比較的小さく、概ね一定値となる。さらに、ＦＩＲＥモードにおける内燃機関１の定常的な運転状態では、前記スロットル弁５は基本的には閉弁状態で、内燃機関１の燃焼室４の吸入空気量は、バイパス弁７を通過する空気量Ｇｉに等しいと見なせる。
【０１６０】
従って、理想的条件下で、バイパス開度を標準開度指令値θ０  に従って操作したときの燃焼室４の単位時間（一定時間）当たりの吸入空気量は、標準開度指令値θ０  に比例する。
【０１６１】
よって、理想的条件下で、バイパス開度を標準開度指令値θ０  に従って操作したときの燃焼室４の１制御サイクル（１ＴＤＣ）当たりの吸入空気量、すなわち、前記目標吸入空気量ｇａｉｒ／ｃｍｄは、次式（４）により求めることができる。
【０１６２】
【数４】
0003544477.tif 000005
【０１６３】
ここで、式（４）中で内燃機関１の回転数Ｎｅの逆数（１／Ｎｅ）の項が含まれるのは、本実施形態で１制御サイクル（１ＴＤＣ）の時間が回転数Ｎｅに反比例するからである。また、式（４）中のパラメータＧａ２は、前述したことから明らかなように、標準大気圧や標準大気温度、ＦＩＲＥモードにおける内燃機関１の定常的な運転状態での標準的な吸気圧Ｐｂ等により定まる所定の定数である。
【０１６４】
そして、本実施形態では、この式（４）により求まる目標吸入空気量ｇａｉｒ／ｃｍｄを、ＦＩＲＥモードの動作中に次式（５）により制御サイクル毎に累積加算していくことで、前記目標積算吸入空気量ｑａｉｒ／ｃｍｄを求める。
【０１６５】
【数５】
0003544477.tif 000006
【０１６６】
尚、このようにして求められる目標積算吸入空気量ｑａｉｒ／ｃｍｄは、標準開度指令値θ０  により定まるものであるため、内燃機関１の始動時の機関温度Ｔｗ（あるいは触媒装置３の初期温度）に応じたものとなる。また、該目標積算吸入空気量ｑａｉｒ／ｃｍｄに対応して、内燃機関１の燃焼室４に吸入されるべき制御サイクル毎の吸入空気量、すなわち前記目標吸入空気量ｇａｉｒ／ｃｍｄは、標準開度指令値θ０  と同じような時間的変化の形態でＦＩＲＥ経過時間ｔ／ｆｉｒｅに応じて変化するものとなる。
【０１６７】
また、上記のような目標積算吸入空気量ｑａｉｒ／ｃｍｄは、あらかじめタイムテーブルにより設定しておき、このタイムテーブルを用いて制御サイクル毎にＦＩＲＥ経過時間ｔ／ｆｉｒｅから求めるようにしてもよい。
【０１６８】
本実施形態のシステムでは、前記吸気量Ｆ／Ｂ制御補正処理は、基本的には、上記のように求めた前記推定積算吸入空気量ｑａｉｒ／ｐｒｅ（これは触媒装置３に実際に与える熱量の積算値に相当する）を目標積算吸入空気量ｑａｉｒ／ｃｍｄ（これは触媒装置３に与えるべき熱量の積算値の目標値に相当する）に収束させるように（これらの偏差を解消するように）フィードバック制御処理によりバイパス開度の指令値の補正量を求め、この補正量により標準開度指令値θ０  を補正してバイパス開度の指令値を決定することで、前述した構造要因による吸入空気量のばらつきを補償し、ひいては、触媒装置３の昇温形態のばらつきを解消するものである。
【０１６９】
この場合、吸気量Ｆ／Ｂ制御補正処理では、後述の如く、推定積算吸入空気量ｑａｉｒ／ｐｒｅと目標積算吸入空気量ｑａｉｒ／ｃｍｄとの偏差の減衰速度（推定積算吸入空気量ｑａｉｒ／ｐｒｅの目標積算吸入空気量ｑａｉｒ／ｃｍｄへの収束速度）を状況によって可変的に設定することが好ましいこと等から、該減衰速度を任意に所望の減衰速度に指定可能な応答指定型制御としてのスライディングモード制御（より詳しくは適応スライディングモード制御）を上記のフィードバック制御処理に用いる。
【０１７０】
この適応スライディングモード制御（以下、吸気側適応ＳＬＤ制御という）を用いて、推定積算吸入空気量ｑａｉｒ／ｐｒｅを目標積算吸入空気量ｑａｉｒ／ｃｍｄに収束させるようにバイパス開度の指令値を補正する吸気量Ｆ／Ｂ制御補正処理のアルゴリズムは本実施形態では次のように構築されている。尚、以下の説明においては説明の便宜上、しばらくの間、上記推定積算吸入空気量ｑａｉｒ／ｐｒｅを含めて内燃機関１の燃焼室４の実際の吸入空気量の積算値を参照符号Ｑａを用いて積算吸入空気量Ｑａと称し、その目標値を参照符号ｑを用いて目標積算量ｑ（これは、目標積算吸入空気量ｑａｉｒ／ｃｍｄに相当する）と称する。また、バイパス開度の指令値を一般的に参照符号Θを用いて開度指令Θと称する。
【０１７１】
まず、内燃機関１の燃焼室４の前記制御サイクル毎の実際の吸入空気量を参照符号Ｇｃｙｌ  を用いて表し、この吸入空気量Ｇｃｙｌ  と前記開度指令Θとの相関関係を次式（６）のように１次遅れ系の離散系（離散時間系）モデル（１次の自己回帰モデル）で表現する。
【０１７２】
【数６】
0003544477.tif 000007
【０１７３】
ここで、式（６）中のα，βは、大気圧Ｐａや大気温度Ｔａ、吸気圧Ｐｂ、回転数Ｎｅ等に応じたモデルパラメータである。
【０１７４】
また、制御サイクル毎の前記積算吸入空気量Ｑａは、次式（７）により表されるので、
【０１７５】
【数７】
0003544477.tif 000008
【０１７６】
この式（７）と前記式（６）とを用いて次式（８）が得られる。
【０１７７】
【数８】
0003544477.tif 000009
【０１７８】
ここで、この式（８）中のＧｃｙｌ（ｋ）は、式（７）によってＧｃｙｌ（ｋ）＝Ｑａ（ｋ）−Ｑａ（ｋ−１）であるので、これを式（８）に代入して整理すると、次式（９）が得られる。
【０１７９】
【数９】
0003544477.tif 000010
【０１８０】
この式（９）は、本実施形態のシステムにおいて、開度指令Θから積算吸入空気量Ｑａを生成する系、すなわち、前記吸気側適応ＳＬＤ制御の制御対象とすべき系を離散系のモデル（２次の自己回帰モデル。以下、吸気制御対象モデルという）で表現したものとなっている。すなわち、該吸気制御対象モデルは、吸気側適応ＳＬＤ制御の制御対象の出力としての各制御サイクルにおける積算吸入空気量Ｑａ（ｋ＋１）を、それより過去の制御サイクルにおける積算吸入空気量Ｑａの時系列データＱａ（ｋ），Ｑａ（ｋ−１）、並びに吸気側適応ＳＬＤ制御の制御対象の入力としての開度指令Θ（ｋ）  を用いて表現するものである。尚、式（９）において、積算吸入空気量Ｑａ（ｋ），Ｑａ（ｋ−１）にそれぞれ係る係数ａ１  ，ａ２  と、開度指令Θ（ｋ）  に係る係数ｂ１  とは吸気制御対象モデルの挙動特性を規定するモデルパラメータである。
【０１８１】
本実施形態では、この吸気制御対象モデルに基づいて、吸気側適応ＳＬＤ制御のアルゴリズムを以下の如く構築している。
【０１８２】
すなわち、吸気側適応ＳＬＤ制御では、スライディングモード制御に必要な切換関数σ１  を、前記積算吸入空気量Ｑａと前記目標積算量ｑとの偏差Ｅｑ＝Ｑａ−ｑの制御サイクル毎の時系列データＥｑ（ｋ），Ｅｑ（ｋ−１）を変数とする次式（１０）の線形関数により定義する。
【０１８３】
【数１０】
0003544477.tif 000011
【０１８４】
ここで、式（１０）中のｓ１  ，ｓ２  は切換関数σ１  の各項の係数パラメータであり、次式（１１）の条件を満たすように設定する。
【０１８５】
【数１１】
0003544477.tif 000012
【０１８６】
尚、本実施形態では、簡略化のためにｓ１  ＝１としている。また、本実施形態では、係数パラメータｓ２  の値（より一般的には、ｓ２  ／ｓ１  の値）を可変的に設定するのであるが、これについては後述する。
【０１８７】
このように切換関数σ１  を定義したとき、前記偏差Ｅｑの時系列データＥｑ（ｋ），Ｅｑ（ｋ−１）の組から成る状態量（Ｅｑ（ｋ），Ｅｑ（ｋ−１））を図８に示す如く、σ１  ＝０なる関係式によって定義される切換線（これはすべり線とも言われる）上に収束させ、その収束状態を維持すると、状態量（Ｅｑ（ｋ），Ｅｑ（ｋ−１））を、外乱等の影響によらずに極めて安定に切換線σ１  ＝０上の平衡点、すなわち、Ｅｑ（ｋ）＝Ｅｑ（ｋ−１）＝０となる点に収束させることができる。
【０１８８】
尚、本実施形態では、切換関数σ１  に関する位相空間が２次元であるため（状態量（Ｅｑ（ｋ），Ｅｑ（ｋ−１））の成分が二つ）、切換線σ１  ＝０は直線となるが、位相空間が３次元である場合には、切換線は平面となり、この場合には、該切換線はすべり面といわれることもある。さらに、位相空間が４次元以上の高次元になると、切換線は幾何学的に図示できない超平面となる。
【０１８９】
一方、前記積算吸入空気量Ｑａを前記目標積算量ｑに収束させるために、前記式（９）によりモデル化した制御対象に与えるべき入力として吸気側適応ＳＬＤ制御が生成する制御入力、すなわち開度指令Θは、基本的には、前記状態量（Ｅｑ（ｋ），Ｅｑ（ｋ−１））を前述の如く定めた切換線σ１  ＝０に拘束するための制御則に基づいて定める等価制御入力Θｅｑと、状態量（Ｅｑ（ｋ），Ｅｑ（ｋ−１））を切換線σ１  ＝０に収束させるための制御則である到達則に基づいて定める到達則入力Θｒｃｈ  と、状態量（Ｅｑ（ｋ），Ｅｑ（ｋ−１））の切換線σ１  ＝０への収束に際しての外乱等の影響を排除するための制御則である適応則に基づいて定める適応則入力Θａｄｐ  との総和である（次式（１２）を参照）。
【０１９０】
【数１２】
0003544477.tif 000013
【０１９１】
尚、通常のスライディングモード制御では、適応則を考慮せず、この場合には、適応則入力Θａｄｐ  は省略される。
【０１９２】
この場合、等価制御入力Θｅｑは、次式（１３）により与えられる。
【０１９３】
【数１３】
0003544477.tif 000014
【０１９４】
尚、この式（１３）は、状態量（Ｅｑ（ｋ），Ｅｑ（ｋ−１））を切換線σ１  ＝０に拘束するためのσ１（ｋ）＝σ１（ｋ−１）なる条件と、前記吸気制御対象モデルの式（９）とに基づいて導出することができるものである。
【０１９５】
また、到達則入力Θｒｃｈ  及び適応則入力Θａｄｐ  は、それらを定める種々の手法が考えられるが、本実施形態では、到達則入力Θｒｃｈ  及び適応則入力Θａｄｐ  は、それぞれ前記切換関数σ１  の値、及び該切換関数σ１  の値の積算値（積分値）に比例させたものとし、それぞれ次式（１４）、（１５）により定める。
【０１９６】
【数１４】
0003544477.tif 000015
【０１９７】
【数１５】
0003544477.tif 000016
【０１９８】
ここで、式（１４）中のＦ１  は、到達則に係わるゲインを規定する係数であり、次式（１６）の条件を満たすように設定すればよい。但し、切換関数σ１  の値の切換線σ１  ＝０への収束に際してのチャタリングを低減する上では、式（１６）’の条件を満たすように係数Ｆ１  を設定することが好ましい。
【０１９９】
【数１６】
0003544477.tif 000017
【０２００】
また、式（１５）中のＦ２  は、適応則に係わるゲインを規定する係数であり、次式（１７）の条件を満たすように設定すればよい。尚、式（１７）中のΔＴは制御サイクル（制御周期）である。
【０２０１】
【数１７】
0003544477.tif 000018
【０２０２】
本実施形態で用いる吸気側適応ＳＬＤ制御のアルゴリズムでは、基本的には、式（１３）〜（１５）により等価制御入力Θｅｑ、到達則入力Θｒｃｈ  及び適応則入力Θａｄｐ  を求め、それらの総和を開度指令Θとして生成することで、前記積算吸入空気量Ｑａを前記目標積算量ｑに収束させるようにＦＩＲＥモードの動作中の吸入空気量を操作することが可能である。
【０２０３】
ところで、等価制御入力Θｅｑ、到達則入力Θｒｃｈ  及び適応則入力Θａｄｐ  をそれぞれ前記式（１３）〜（１５）により求めるためには、前記式（９）により表した吸気制御対象モデルのモデルパラメータａ１  ，ａ２  ，ｂ１  の値を同定しておく必要がある。しかるに、これらのモデルパラメータａ１  ，ａ２  ，ｂ１  の値は、ＦＩＲＥモードの動作中の種々様々の要因の影響を受け、それらの値の最適な同定を行うことは煩雑なものとなりやすい。
【０２０４】
このため、本実施形態では、次のようにモデルパラメータａ１  ，ａ２  ，ｂ１  を排除し、吸気側適応ＳＬＤ制御の簡略化したアルゴリズムを構築する。
【０２０５】
まず、到達則入力Θｒｃｈ  及び適応則入力Θａｄｐ  に関しては、これらを求めるための前記式（１４）、（１５）中に含まれるモデルパラメータはｂ１  だけである。そして、式（１４）で（Ｆ１  ／ｂ１  ）を改めてＦｘとおき、また、式（１５）で（Ｆ２  ／ｂ１  ）を改めてＦｙとおけば、式（１４）、（１５）はそれぞれ次式（１８）、（１９）に書き換えられる。
【０２０６】
【数１８】
0003544477.tif 000019
【０２０７】
【数１９】
0003544477.tif 000020
【０２０８】
従って、これらの式（１８）、（１９）によって、モデルパラメータｂ１  を用いずに到達則入力Θｒｃｈ  及び適応則入力Θａｄｐ  を求めることができる。
【０２０９】
尚、この場合、式（１８）、（１９）中の係数Ｆｘ，Ｆｙの値は、切換関数σ１  の値の切換線σ１  ＝０への収束の安定性や速応性等を考慮して、実験やシミュレーションを通じて定めればよい。
【０２１０】
次に、等価制御入力Θｅｑに関しては、これを求めるための前記式（１３）は、前記偏差Ｅｑ＝Ｑａ−ｑを用いて次式（２０）に書き換えることができる。
【０２１１】
【数２０】
0003544477.tif 000021
【０２１２】
この式（２０）中の第１番目の大括弧を含む項は、積算吸入空気量Ｑａと目標積算量ｑとの偏差Ｅｑに基づくフィードバック項で、第２番目の大括弧を含む項は、目標積算量ｑのみに基づくフィードフォワード項である。以下、このフィードバック項及びフィードフォワード項をそれぞれ次式（２１）、（２２）のようにΘｅｑ／ｆｂ  、Θｅｑ／ｆｆ  とおく。
【０２１３】
【数２１】
0003544477.tif 000022
【０２１４】
【数２２】
0003544477.tif 000023
【０２１５】
ここで、上記フィードフォワード項Θｅｑ／ｆｆ  は、前記偏差Ｅｑが定常的に「０」となるような状態で制御対象に与えるべき入力（開度指令Θ）である。一方、前記標準開度指令値θ０  は、本実施形態では目標積算量ｑを規定するものであると共に、該標準開度指令値θ０  に対して吸入空気量、ひいては積算吸入空気量がその目標とすべき値に一義的に定まりるものとしてフィードフォワード的に設定したものである。
【０２１６】
従って、式（２０）中のフィードフォワード項Θｅｑ／ｆｆ  は、モデルパラメータａ１  ，ａ２  ，ｂ１  を含まない標準開度指令値θ０  に置き換えることができる。
【０２１７】
さらに、上記フィードバック項Θｅｑ／ｆｂ  に関しては、このフィードバック項Θｅｑ／ｆｂ  を含む等価制御入力Θｅｑは、前記状態量（Ｅｑ（ｋ），Ｅｑ（ｋ−１））を前記切換線σ１  ＝０上に拘束するための制御入力であるが、本願発明者等の各種検討によれば、本実施形態のシステムでは、状態量（Ｅｑ（ｋ），Ｅｑ（ｋ−１））が切換線σ１  ＝０の近傍に存する状態において安定性が高い。また、本実施形態では、前記適応則入力Θａｄｐ  を採用することで、状態量（Ｅｑ（ｋ），Ｅｑ（ｋ−１））の切換線σ１  ＝０上への収束の安定性を高めることができる。
【０２１８】
このため、本実施形態のシステムでは、上記フィードバック項Θｅｑ／ｆｂ  を省略しても実用上、制御性が損なわれることはないと考えられる。
【０２１９】
このようなことを考慮すると、等価制御入力Θｅｑは、そのフィードバック項Θｅｑ／ｆｂ  を省略し、フィードフォワード項Θｅｑ／ｆｆ  を標準開度指令値θ０  で置き換えたものとしてもよいと考えられ、このようにすれば、等価制御入力Θｅｑは、モデルパラメータａ１  ，ａ２  ，ｂ１  を用いずに求めることができる。
【０２２０】
そこで、本実施形態では、吸気側適応ＳＬＤ制御の等価制御入力Θｅｑは、次式（２３）により与えるものとする。
【０２２１】
【数２３】
0003544477.tif 000024
【０２２２】
以上のことから、本実施形態における吸気量Ｆ／Ｂ制御補正処理では、前述した構造要因による吸入空気量のばらつきを補償するために前記吸気側適応ＳＬＤ制御により決定する制御対象への入力、すなわち開度指令Θを次式（２４）の演算により求める。
【０２２３】
【数２４】
0003544477.tif 000025
【０２２４】
別の言い方をすれば、本実施形態では、前記式（１８）、（１９）により求まる到達則入力Θｒｃｈ  及び適応則入力Θａｄｐ  の総和（＝Θｒｃｈ  ＋Θａｄｐ  ）を次式（２５）のようにバイパス開度の指令値の補正量ｉ／ｓｌｄ  （以下、ＳＬＤ開度補正量ｉ／ｓｌｄ  という）として求め、このＳＬＤ開度補正量ｉ／ｓｌｄ  により標準開度指令値θ０  を補正する（標準開度指令値θ０  にＳＬＤ開度補正量ｉ／ｓｌｄ  を加算する）ことで、構造要因によるばらつきを補償するための開度指令Θを求める。
【０２２５】
【数２５】
0003544477.tif 000026
【０２２６】
この場合において、ＳＬＤ開度補正量ｉ／ｓｌｄ  （＝Θｒｃｈ  ＋Θａｄｐ  ）を求めるために必要となる切換関数σ１  の値は、本実施形態では、前記式（１０）の積算吸入空気量Ｑａとして前記式（２）により求まる推定積算吸入空気量ｑａｉｒ／ｐｒｅを用い、且つ、目標積算量ｑとして前記式（５）により求まる目標積算吸入空気量ｑａｉｒ／ｃｍｄを用いた次式（２６）の演算により求める。
【０２２７】
【数２６】
0003544477.tif 000027
【０２２８】
尚、本実施形態では、ＦＩＲＥモードの中断動作中（前記ＦＩＲＥ中断フラグｆ／ｆｐａｕｓｅが「１」に設定されている状態）は、ＳＬＤ開度補正量ｉ／ｓｌｄ  の算出は中断する（ＳＬＤ開度補正量ｉ／ｓｌｄ  の値を中断動作の直前の値に保持する）が、推定積算吸入空気量ｑａｉｒ／ｐｒｅと目標積算吸入空気量ｑａｉｒ／ｃｍｄの算出は継続する（但し、推定積算吸入空気量ｑａｉｒ／ｐｒｅに関しては内燃機関１のフュエルカット中を除く）。そして、前記ＦＩＲＥ制限時間ＴＦＩＲＥＬＭＴが経過する前に、中断動作を解除する状態となった場合には、ＳＬＤ開度補正量ｉ／ｓｌｄ  の算出及びそれに応じた標準開度指令値θ０  の補正を再開する。
【０２２９】
このようにするのは次の理由による。すなわち、ＦＩＲＥモードの中断動作中は、基本的には、車両のアクセルペダルの操作によって、車両の走行、もしくは内燃機関１のからぶかしを行う状況である。そして、この状況では、前記スロットル弁５がアクセル操作量Ａｐに応じた開度に開かれるので、内燃機関１の燃焼室４の実際の吸入空気量は、バイパス弁７を介した吸入空気量に、スロットル弁５を介した吸入空気量を加えたものとなる。
【０２３０】
このような状況では、推定積算吸入空気量ｑａｉｒ／ｐｒｅは、バイパス弁７とスロットル弁５との両者による吸入空気量の積算値となるので、これをバイパス弁７の標準開度指令値θ０  に応じて定まる目標積算吸入空気量ｑａｉｒ／ｃｍｄに収束させるようにバイパス開度を操作することは、アクセルペダルの操作に応じた内燃機関１の動作性能を確保する上で好ましくない。このために、本実施形態では、ＦＩＲＥモードの中断動作中は、ＳＬＤ開度補正量ｉ／ｓｌｄ  の算出を中断する。
【０２３１】
また、ＦＩＲＥモードの中断動作中は、内燃機関１の燃焼室４の実際の吸入空気量は、バイパス弁７を介した吸入空気量に、スロットル弁５を介した吸入空気量を加えたものとなるので、触媒装置３に与えられる熱量がさらに多くなる。従って、ＦＩＲＥモードの中断動作中に触媒装置３が十分に昇温・活性化される場合もあるが、該中断動作が短時間で解除されるような場合も多く、この場合には、該触媒装置３の昇温・活性化が未だ不十分なものとなることがある。このために、本実施形態では、ＦＩＲＥモードの中断動作中も推定積算吸入空気量ｑａｉｒ／ｐｒｅと目標積算吸入空気量ｑａｉｒ／ｃｍｄの算出を継続して行っておき、該中断動作の解除後にＳＬＤ開度補正量ｉ／ｓｌｄ  の算出を再開して標準開度指令値θ０  の補正を行うことで、ＦＩＲＥモードの動作中における触媒装置３の昇温・活性化を確実なものとする。但し、この場合において、推定積算吸入空気量ｑａｉｒ／ｐｒｅに関しては、内燃機関１のフュエルカット中は、燃焼室４に吸入される空気が触媒装置３に与える熱量に寄与しないので、該フュエルカット中は、推定積算吸入空気量ｑａｉｒ／ｐｒｅの算出を行わない。
【０２３２】
また、本実施形態では、後述する点火時期応動補正処理を行っている際にも、ＳＬＤ開度補正量ｉ／ｓｌｄ  の算出を中断する（ＳＬＤ開度補正量ｉ／ｓｌｄ  の値を中断動作の直前の値に保持する）。これは次の理由による。すなわち、点火時期応動補正処理は、詳細は後述するが、開度指令Θを標準開度指令値θ０  に対してフィードフォワード的に減少側に補正する処理であり、このような処理を行っている際に、ＳＬＤ開度補正量ｉ／ｓｌｄ  の算出を行うと、点火時期応動補正処理による開度指令Θの減少分を打ち消すように、ＳＬＤ開度補正量ｉ／ｓｌｄ  が算出されてしまうからである。
【０２３３】
以上説明した内容が、吸気量Ｆ／Ｂ制御補正処理の基本的内容である。
【０２３４】
ところで、本実施形態において、内燃機関１の吸入空気量の増量を開始した直後の段階、すなわち、バイパス開度を上昇させていく段階は、内燃機関１の始動直後の状態であるため、このような段階で標準開度指令値θ０  をＳＬＤ開度補正量ｉ／ｓｌｄ  により大きく補正すると、内燃機関１の燃焼室４での混合気の燃焼状態の悪化や内燃機関１のエミッション状態の悪化を招く虞れがある。また、本実施形態では、目標積算吸入空気量ｑａｉｒ／ｃｍｄが、内燃機関１の定常的な吸気状態を前提としているため、吸入空気量の増量の開始直後の段階では、目標積算吸入空気量ｑａｉｒ／ｃｍｄの信頼性が乏しいと考える。このため、吸入空気量の増量の開始直後の段階では、目標積算吸入空気量ｑａｉｒ／ｃｍｄと前記推定積算吸入空気量ｑａｉｒ／ｐｒｅとの偏差Ｅｑが大きなものとなって、前記ＳＬＤ開度補正量ｉ／ｓｌｄ  も大きなものとなる虞れがある。
【０２３５】
このようなことを考慮し、本実施形態における吸気量Ｆ／Ｂ制御補正処理では、吸入空気量の増量の開始後（ＦＩＲＥモードの開始後）、所定時間ＴＩＳＬＤＬＭＴ（ＳＬＤ補正制限時間ＴＩＳＬＤＬＭＴという。図７を参照）が経過するまで（ＦＩＲＥ経過時間ｔ／ｆｉｒｅ≧ＴＩＳＬＤＬＭＴとなるまで）の間は、目標積算吸入空気量ｑａｉｒ／ｃｍｄ及び推定積算吸入空気量ｑａｉｒ／ｐｒｅの値を強制的に「０」とする（このときＥｑ＝０となる）。このようにすることで、ＦＩＲＥ経過時間ｔ／ｆｉｒｅがＳＬＤ補正制限時間ＴＩＳＬＤＬＭＴに達するまでの内燃機関１の始動直後の状態では、ＳＬＤ開度補正量ｉ／ｓｌｄ  の値も「０」に維持し、該ＳＬＤ開度補正量ｉ／ｓｌｄ  による標準開度指令値θ０  の補正を行わないようにしている。
【０２３６】
尚、本発明の構成に対応させると、前記ＳＬＤ補正制限時間ＴＩＳＬＤＬＭＴは、第２の所定時間に相当するものである。
【０２３７】
さらに、本実施形態における吸気量Ｆ／Ｂ制御補正処理では、ＳＬＤ開度補正量ｉ／ｓｌｄ  による標準開度指令値θ０  の実際の補正を開始する直後においても、その補正を急激に行うと、内燃機関１の燃焼状態やエミッション性能を損なう虞れがある。このため、本実施形態では、吸気量Ｆ／Ｂ制御補正処理で用いる前記吸気側適応ＳＬＤ制御の応答指定特性を利用し、推定積算吸入空気量ｑａｉｒ／ｐｒｅと目標積算吸入空気量ｑａｉｒ／ｃｍｄとの偏差Ｅｑ（以下、吸気偏差Ｅｑという）の減衰速度（推定積算吸入空気量ｑａｉｒ／ｐｒｅの目標積算吸入空気量ｑａｉｒ／ｃｍｄへの収束速度）を、次のように可変的に設定するようにしている。
【０２３８】
すなわち、吸気側適応ＳＬＤ制御において、吸気偏差Ｅｑに係わる状態量（Ｅｑ（ｋ），Ｅｑ（ｋ−１））が前記切換線σ１  ＝０に収束した状態では、前記式（１０）から明らかなように、次式（２７）の関係式が成立する。
【０２３９】
【数２７】
0003544477.tif 000028
【０２４０】
従って、切換関数σ１  の係数パラメータｓ１  ，ｓ２  の比（ｓ２  ／ｓ１  ）（但し、−１＜ｓ２  ／ｓ１  ＜１）の値は吸気偏差Ｅｑの「０」への減衰速度を規定するものとなる（｜ｓ２  ／ｓ１  ｜が「０」に近づく程、減衰速度は速くなる）。従って、この比（ｓ２  ／ｓ１  ）の値によって、吸気偏差Ｅｑの減衰速度を指定することができることとなり、これが、吸気側適応ＳＬＤ制御の応答指定特性である。
【０２４１】
尚、吸気偏差Ｅｑの減衰速度を速くするということは、吸気側適応ＳＬＤ制御によるフィードバック制御のゲインを大きくするということと同等である。また、式（２７）は、入力の無い一次遅れ系を表現しており、上記比（ｓ２  ／ｓ１  ）は、この一次遅れ系の極に相当するものである（以下、上記比（ｓ２  ／ｓ１  ）をポールｐｏｌｅ／ｉと称する）。また、本実施形態では、ｓ１  ＝１に設定しており、この場合、ｐｏｌｅ／ｉ＝ｓ２  である。また、吸気偏差Ｅｑの「０」への減衰は、非振動的であることが好ましく、このため、本実施形態では、ｓ２  ／ｓ１  ＝ｐｏｌｅ／ｉ＜０としている（ｓ２  ／ｓ１  ＞０とすると、式（２７）から明らかなように吸気偏差Ｅｑの「０」への減衰は振動的になる）。
【０２４２】
本実施形態における吸気量Ｆ／Ｂ制御補正処理では、このような吸気側適応ＳＬＤ制御の応答指定特性を利用し、基本的には、ＦＩＲＥ経過時間ｔ／ｆｉｒｅから、図９に示すようにあらかじめ定めたデータテーブル（タイムテーブル）に基づいて制御サイクル毎に求まる値ｐｏｌｅ／ｉｔｂｌ  （以下、ポールテーブル値ｐｏｌｅ／ｉｔｂｌ  という）を前記ポールｐｏｌｅ／ｉの値として設定することで、該ポールｐｏｌｅ／ｉの値をＦＩＲＥ経過時間ｔ／ｆｉｒｅに応じて可変的に設定する。
【０２４３】
ここで、図９のデータテーブルでは、ＦＩＲＥ経過時間ｔ／ｆｉｒｅが所定値ＴＰＯＬＥＶＳＴ（但し、ＴＰＯＬＥＶＳＴ≧ＳＬＤ補正制限時間ＴＩＳＬＤＬＭＴ）に達してから、ポールテーブル値ｐｏｌｅ／ｉｔｂｌ  、ひいてはポールｐｏｌｅ／ｉをＦＩＲＥ経過時間ｔ／ｆｉｒｅの増加に伴い、所定の下限値ｐｏｌｅ／ｉ０  （＜０。本実施形態では「−１」）から所定の定常値ｐｏｌｅ／ｉｘ  （ｐｏｌｅ／ｉ０  ＜ｐｏｌｅ／ｉｘ  ＜０）に向かって徐々に増加させ（ポールテーブル値ｐｏｌｅ／ｉｔｂｌ  の絶対値を徐々に小さくしていく）、定常値ｐｏｌｅ／ｉｘ  に達した後（ＦＩＲＥ経過時間ｔ／ｆｉｒｅが図９中の所定値ＴＰＯＬＥＸに達した後）は、該定常値ｐｏｌｅ／ｉｘ  に維持するようにしている。これにより、本実施形態では、ＳＬＤ開度補正量ｉ／ｓｌｄ  による標準開度指令値θ０  の補正を開始する直後は、吸気偏差Ｅｑの減衰速度を徐々に早めていく（推定積算吸入空気量ｑａｉｒ／ｐｒｅの目標積算吸入空気量ｑａｉｒ／ｃｍｄへの収束を緩やかに行う）ようにしていると共に、ＦＩＲＥ経過時間ｔ／ｆｉｒｅが所定値ＴＰＯＬＥＸに達するまでは、該所定値ＴＰＯＬＥＸに達した後よりも吸気偏差Ｅｑの減衰速度を遅くするようにしている。
【０２４４】
尚、ポールテーブル値ｐｏｌｅ／ｉｔｂｌ  によるポールｐｏｌｅ／ｉの上記のような増加は、基本的には内燃機関１の始動後の初期段階（吸入空気量を増加させていく段階）で行う。また、本発明の構成に対応させると、前記所定値ＴＰＯＬＥＸは、第３の所定時間に相当するものである。
【０２４５】
また、本実施形態では、ＦＩＲＥモードの中断動作中は、吸気量Ｆ／Ｂ制御補正処理（より正確には、ＳＬＤ開度補正量ｉ／ｓｌｄ  の算出処理）を行わないようにしており、この状態では、ポールｐｏｌｅ／ｉをポールテーブル値ｐｏｌｅ／ｉｔｂｌ  の前記下限値ｐｏｌｅ／ｉ０  に設定するようにしている。そして、ＦＩＲＥモードの中断動作が解除されたとき、ポールｐｏｌｅ／ｉを上記下限値ｐｏｌｅ／ｉ０  からポールテーブル値ｐｏｌｅ／ｉｔｂｌ  に向かって徐々に復帰させる（図９の仮想線を参照）ようにしている。
【０２４６】
次に、前述した大気条件による吸入空気量のばらつきの影響を補償するための前記大気条件補正処理について説明する。
【０２４７】
まず、前記大気条件のうちの大気圧に関して説明する。尚、ここでの説明では、大気温度は一定であり、また、バイパス開度は開度指令Θに等しいものとする。
【０２４８】
内燃機関１の燃焼室４内の圧力をＰｃｙｌ  、吸気バルブ１１（図２参照）の開度（有効開口面積）をＡｃｙｌ  とおくと、該燃焼室４の吸入空気量Ｇｃｙｌ  は、これらの圧力Ｐｃｙｌ  、開度Ａｃｙｌ  及び吸気圧Ｐｂとを用いて、一般的に次式（２８）により表される。
【０２４９】
【数２８】
0003544477.tif 000029
【０２５０】
ここで、Ｃｉは、前記式（３）に関して説明した如く、空気密度に応じた係数である。
【０２５１】
この場合、内燃機関１では、式（２８）中における燃焼室４内の圧力をＰｃｙｌ、吸気バルブ１１の開度Ａｃｙｌ  は基本的には一定である。また、係数Ｃｉも大気温度Ｔａが一定であれば一定と考えてよい。
【０２５２】
従って、式（２８）から、燃焼室４内の吸入空気量Ｇｃｙｌ  を大気圧によらないものとするためには、吸気圧Ｐｂが大気圧Ｐａに応じて変化しないことが必要となることが判る。
【０２５３】
一方、バイパス開度の開度指令Θに対して、バイパス弁７を通る空気量Ｇｉは、前記式（３）と同様、次式（２９）により表される。
【０２５４】
【数２９】
0003544477.tif 000030
【０２５５】
さらに、大気圧Ｐａが所定の標準大気圧（以下、これに参照符号Ｐａ０を付する）である状態において、開度指令Θを前記標準開度指令値θ０  （これは前述の通り標準大気圧Ｐａ０を前提として定めたものである）としたときにバイパス弁７を通る空気量をＧｉ０（これは前記目標吸入空気量ｇａｉｒ／ｃｍｄに相当する）とおくと、該空気量Ｇｉ０（以下、標準空気量Ｇｉ０という）は、次式（３０）により表される。
【０２５６】
【数３０】
0003544477.tif 000031
【０２５７】
ここで、式（３０）中のＰｂ０は、標準大気圧Ｐａ０において、バイパス開度を標準開度指令値θ０  としたときにチャンバー１３（図２参照）内に発生する吸気圧（以下、標準吸気圧Ｐｂ０という）である。
【０２５８】
また、周知の気体の状態方程式によれば、チャンバー１３内の吸気圧Ｐｂが変動しないための条件は、チャンバー１３内に流入する空気量、すなわちバイパス弁７を通る空気量Ｇｉ  と、チャンバー１３から流出する空気量、すなわち燃焼室４の吸入空気量Ｇｃｙｌ  とが等しくなることである。
【０２５９】
以上のことから、大気圧Ｐａが標準大気圧Ｐａ０に対して変動したとき、燃焼室４の吸入空気量Ｇｃｙｌ  が変化しないようにするための開度指令Θは、式（２９）中の吸気圧Ｐｂが、前記標準吸気圧Ｐｂ０と等しくなり、且つ、式（２９）により表される空気量Ｇｉが前記標準空気量Ｇｉ０（式（３０））と等しくなるように定めればよい。
【０２６０】
すなわち、その開度指令Θは、次式（３１）の条件を満たすように定めればよい。
【０２６１】
【数３１】
0003544477.tif 000032
【０２６２】
そして、この式（３１）を開度指令Θについて解くと、次式（３２）が得られる。
【０２６３】
【数３２】
0003544477.tif 000033
【０２６４】
従って、基本的には、この式（３２）に基づいて標準開度指令値θ０  を補正して開度指令Θを決定すれば、大気圧による吸入空気量のばらつきを補償しすることができる。つまり、式（３２）中の平方根の値ｋｐａ  （以下、大気圧補正係数ｋｐａ  という）を開度指令に乗算して補正することで、大気圧による吸入空気量のばらつきを補償するための開度指令を決定することができる。
【０２６５】
ところで、本実施形態では、標準開度指令値θ０  を前述の如く時間的に変化させるため、式（３２）の演算で使用する標準吸気圧Ｐｂ０も変化し、従って、大気圧による吸入空気量のばらつきを的確に補償する上では、標準吸気圧Ｐｂ０の値をあらかじめ定めたデータテーブル等を用いて標準開度指令値θ０  に応じて適宜変更することが好ましいと考えられる。但し、本実施形態では、ＦＩＲＥモードにおける定常的な内燃機関１の運転中は、実際上、吸気圧Ｐｂの変動は小さいということ、並びに制御系の安定性を考慮し、式（３２）中の標準吸気圧Ｐｂ０としてあらかじめ定めた所定値（固定値）を用いる。
【０２６６】
また、本実施形態では、コントローラ２の演算負荷を軽減するために、実際には、式（３２）の演算を直接的には行わず、次のような処理を行う。
【０２６７】
すなわち、制御サイクル毎に、あらかじめ定めた標準大気圧Ｐａ０と、標準吸気圧Ｐｂ０と、内燃機関１の始動時（始動モード）において前記大気圧センサ１８により検出される大気圧Ｐａとから次式（３３）により定義するパラメータｒａｔｉｏ／ｄｐａ  （以下、大気圧補正用パラメータｒａｔｉｏ／ｄｐａ  という）、すなわち、式（３２）の平方根（√）内の値を求める。
【０２６８】
【数３３】
0003544477.tif 000034
【０２６９】
そして、あらかじめ大気圧補正用パラメータｒａｔｉｏ／ｄｐａ  の種々の値に対して平方根の演算を行って定めた図１０のデータテーブルを用意しておき、先に求めた大気圧補正用パラメータｒａｔｉｏ／ｄｐａ  の平方根を前記大気圧補正係数ｋｐａ  として求める。そして、この大気圧補正係数ｋｐａ  を用いて開度指令を補正（乗算補正）する。
【０２７０】
尚、この大気圧補正係数ｋｐａ  は、大気圧センサ１８により検出される大気圧Ｐａが標準大気圧Ｐａ０であれば、「１」であり、該大気圧Ｐａが大きくなる程、値が小さくなる。
【０２７１】
以上説明した内容が、前記大気条件補正処理において、大気圧による吸入空気量のばらつきを補償するための処理の基本的内容である。
【０２７２】
次に、大気条件のうちの大気温度に関して説明する。前記式（２８）から明らかなように内燃機関１の燃焼室４の吸入空気量Ｇｃｙｌ  は、大気密度に応じた係数Ｃｉの影響を受け、大気密度が高い程、多くなる。そして、大気密度は、大気温度が高い程、低くなるので、燃焼室４の吸入空気量Ｇｃｙｌ  は大気温度が高い程、少なくなる。
【０２７３】
従って、大気温度が変化しても、燃焼室４の吸入空気量Ｇｃｙｌ  を変化させないようにするためには、大気温度が高い程、バイパス開度が大きくなるように開度指令Θを補正してやればよい。
【０２７４】
そこで、本実施形態では、内燃機関１の始動時（始動モード）において前記大気温度センサ１７により検出される大気温度Ｔａから、図１１に示す如くあらかじめ実験等に基づき定めたデータテーブルに基づいて補正係数ｋｔａ  （以下、大気温度補正係数ｋｔａ  という）を求め、この大気温度補正係数ｋｔａ  を用いて開度指令を補正（乗算補正）する。
【０２７５】
この場合、本実施形態では、標準大気温度Ｔａ０（例えば２５°Ｃ）における吸入空気量を基準としているので、大気温度補正係数ｋｔａ  は、検出される大気温度Ｔａが標準大気温度Ｔａ０であるとき「１」であり、大気温度Ｔａが高くなる程、値が大きくなる。
【０２７６】
これが、前記大気条件補正処理において、大気温度による吸入空気量のばらつきを補償するための処理の基本的内容である。
【０２７７】
次に、前記学習補正処理について説明する。
【０２７８】
本実施形態では、前述した如く、前記構造要因による吸入空気量のばらつきを補償するために、吸気側適応ＳＬＤ制御を用いた吸気量Ｆ／Ｂ制御補正処理によって、制御サイクル毎に前記ＳＬＤ開度補正量ｉ／ｓｌｄ  を求め、このＳＬＤ開度補正量ｉ／ｓｌｄ  によって標準開度指令値θ０  を補正する。この場合、バイパス弁７の経年劣化等により、標準開度指令値θ０  に対する実際の吸入空気量が、該標準開度指令値θ０  に対応した本来の標準的な吸入空気量に対してばらつきが比較的大きくなっているような状態では、前記積算吸入空気量Ｑａ（推定積算吸入空気量ｑａｉｒ／ｐｒｅ）が目標積算量ｑ（目標積算吸入空気量ｑａｉｒ／ｃｍｄ）に対して未収束の段階でのＳＬＤ開度補正量ｉ／ｓｌｄ  は大きなものとなり、また、その時間的変化も大きなものとなる。このため、ＳＬＤ開度補正量ｉ／ｓｌｄ  により標準開度指令値θ０  を補正して決定した開度指令Θ、ひいては実際の吸入空気量の時間的変化のパターンは、ＦＩＲＥモードの初期段階において、標準開度指令値θ０  の時間的変化のパターン（目標とする吸入空気量の時間的変化のパターン）に対して大きく逸脱した時間的変化を生じるものとなることがある。
【０２７９】
しかるに、特にＦＩＲＥモードの初期段階（内燃機関１の始動後まもなくの状態）では、燃焼室４での混合気の燃焼状態が不安定なものとなりやすく、開度指令Θの時間的変化のパターンが標準開度指令値θ０  の時間的変化のパターンに対して大きく逸脱した変化を呈すると、該燃焼状態の悪化や、エミッション状態の悪化を引き起こす虞れがある。
【０２８０】
そこで、本実施形態における学習補正処理では、ＦＩＲＥモードの動作中に制御サイクル毎に求めるを学習し、次回のＦＩＲＥモードの動作の全期間にわたって、標準開度指令値θ０  を乗算補正するための補正係数ｋｉｌｅａｒｎ  （以下、学習補正係数ｋｉｌｅａｒｎ  という）を求める。そして、この学習補正係数ｋｉｌｅａｒｎ  を標準開度指令値θ０  に乗算することで、標準開度指令値θ０  の時間的変化のパターンと整合した安定な時間的変化を呈する開度指令Θを生成する。
【０２８１】
この場合、学習補正係数ｋｉｌｅａｒｎ  は、本実施形態では次のように決定する。
【０２８２】
すなわち、各回のＦＩＲＥモードの動作中に制御サイクル毎に求められるＳＬＤ開度補正量ｉ／ｓｌｄ  から、次式（３４）によって、該ＳＬＤ開度補正量ｉ／ｓｌｄ  に対応する実際の吸入空気量の補正量ｇａｉｒ／ｓｌｄ（以下、ＳＬＤ吸気補正量ｇａｉｒ／ｓｌｄという）を制御サイクル毎に求める。
【０２８３】
【数３４】
0003544477.tif 000035
【０２８４】
ここで、この式（３４）は、前記目標吸入空気量ｇａｉｒ／ｃｍｄ、すなわち標準開度指令値θ０  に対応した実際の吸入空気量（１ＴＤＣ当たり）を求めるための式（４）と同様の式であり、式（３４）中のＧａ２は、式（４）中のＧａ２と同一である。
【０２８５】
さらに、このＳＬＤ吸気補正量ｇａｉｒ／ｓｌｄを次式（３５）により制御サイクル毎に累積加算することで、ＳＬＤ吸気補正量ｇａｉｒ／ｓｌｄの積算値ｑａｉｒ／ｓｌｄ（以下、ＳＬＤ積算吸気補正量ｑａｉｒ／ｓｌｄという）を求める。
【０２８６】
【数３５】
0003544477.tif 000036
【０２８７】
そして、このＳＬＤ積算吸気補正量ｑａｉｒ／ｓｌｄの前記目標積算吸入空気量ｑａｉｒ／ｃｍｄに対する比（ｑａｉｒ／ｓｌｄ／ｑａｉｒ／ｃｍｄ）から次式（３６）により求まる値を前記学習補正係数ｋｉｌｅａｒｎ  の基本値ｖｐｓｋｉｓｌｄ（以下、基本学習補正係数ｖｐｓｋｉｓｌｄという）を求める。
【０２８８】
【数３６】
0003544477.tif 000037
【０２８９】
尚、この基本学習補正係数ｖｐｓｋｉｓｌｄは、基本的には、ＦＩＲＥモードの動作が終了するまで制御サイクル毎に算出するが、ＦＩＲＥモードの前記中断動作が行われる場合や、後述する点火時期応動補正処理が行われる場合にあっては、前述の如くＳＬＤ開度補正量ｉ／ｓｌｄ  の算出を中断するので、ＦＩＲＥモードの中断動作や点火時期応動補正処理が開始される前（前記学習演算終了フラグｆ／ｆｌｒｎｅｎｄ  が「１」に設定される前）までで基本学習補正係数ｖｐｓｋｉｓｌｄの算出を終了する。
【０２９０】
そして、このようにして各回のＦＩＲＥモードの動作中に最終的に求められた基本学習補正係数ｖｐｓｋｉｓｌｄに対して次式（３７）によるなまし演算処理（フィルタリング処理）を施すことで、次回のＦＩＲＥモードの動作に際して標準開度指令値θ０  を補正するための学習補正係数ｋｉｌｅａｒｎ  を求める。
【０２９１】
【数３７】
0003544477.tif 000038
【０２９２】
ここで、式（３７）中のｋｉｌｅａｒｎ（ｊ）は、今回のＦＩＲＥモードの動作によって新たに決定する学習補正係数ｋｉｌｅａｒｎ  を意味し、ｋｉｌｅａｒｎ（ｊ−１）は、前回のＦＩＲＥモードの動作によって決定された学習補正係数ｋｉｌｅａｒｎ  を意味する。また、式（３７）中のＣｋｉは、あらかじめ定めた「１」以下の定数である。
【０２９３】
尚、この場合において、各回のＦＩＲＥモードの動作において、最終的な基本学習補正係数ｖｐｓｋｉｓｌｄが求められた時のＦＩＲＥ経過時間ｔ／ｆｉｒｅ（これは、前記図５のフローチャートのＳＴＥＰ５−５，５−１６等で設定されるパラメータｔ／ｋｉｌ  の値である）が所定時間に満たない場合は、その基本学習補正係数ｖｐｓｋｉｓｌｄは、学習補正係数ｋｉｌｅａｒｎ  を求める（更新する）ためには使用せず、現在の学習補正係数ｋｉｌｅａｒｎ  の値を維持する。これは、ＦＩＲＥ経過時間ｔ／ｆｉｒｅが短い段階で得られる基本学習補正係数ｖｐｓｋｉｓｌｄの信頼性が乏しいからである。
【０２９４】
以上説明した処理が、学習補正処理の基本的内容である。
【０２９５】
次に前記点火時期応動補正処理について説明する。
【０２９６】
本実施形態では、前述した如く、内燃機関１の暖機がある程度進行すると（ＦＩＲＥ経過時間ｔ／ｆｉｒｅがある程度大きくなると）、該内燃機関１の各部のフリクションの低下による内燃機関１の回転数Ｎｅの上昇傾向を抑え、点火時期が前記点火時期操作回転数Ｆ／Ｂ制御により過度に遅角側に操作されるのを予防するために、標準開度指令値θ０  を緩やかに減少させていくようにしている（図７を参照）。
【０２９７】
しかるに、内燃機関１の暖機の進行に伴うフリクションの低下の形態は、種々様々の要因の影響を受け、該フリクションの低下が予想以上に早期に始まったり、あるいは、そのフリクションの低下度合いが予想以上に大きなものとなることがある。
【０２９８】
そして、このような場合には、標準開度指令値θ０  を前記のように緩やかに減少させていっても、内燃機関１の回転数Ｎｅの上昇傾向を十分に抑えることができなくなる。その結果、点火時期操作回転数Ｆ／Ｂ制御によりに操作される点火時期が、実際に操作し得る遅角側の限界値まで達してしまい、ひいては、回転数Ｎｅを目標回転数ｎｅ／ｆｉｒｅ  にフィードバック制御することができなくなってしまう。
【０２９９】
前記点火時期応動補正処理はこのような事態を回避するために行う処理であり、点火時期操作回転数Ｆ／Ｂ制御により後述の如く決定される点火時期の指令値が、遅角側の限界値よりも若干進角側に定めた所定の閾値を超えて遅角側の値になったときに、その状態が解消されるまで（点火時期の指令値が閾値以上の進角側の値に復帰するまで）、制御サイクル毎に、標準開度指令値θ０  を所定量づつ減少側に補正する。
【０３００】
すなわち、例えばバイパス開度が図１２の上段に示すように標準開度指令値θ０  に従って操作されている状態で、図１２の下段のＡ１２領域に示すように点火時期操作回転数Ｆ／Ｂ制御により決定される点火時期の指令値ｉｇｌｏｇ  が、遅角側の限界値ＩＧＬＧＧ  よりも若干大きい閾値ＩＧＸ  よりも遅角側に低下すると、開度指令Θを標準開度指令値θ０  に対して、図１２の上段に示すように、ある補正量分θｄｅｃ  （以下、点火時期応動開度補正量θｄｅｃ  という）、減少させる（Θ＝θ０  −θｄｅｃ  とする）。
【０３０１】
この場合、点火時期応動開度補正量θｄｅｃ  は、図１２の上段のＢ１２領域に示すように、点火時期の指令値ｉｇｌｏｇ  が閾値ＩＧＸ  以上の進角側に復帰するまで、制御サイクル毎に所定量Δθｄｅｃ  （＞０。以下、開度減少単位量Δθｄｅｃ  という）づつ、増加させる（図１５のＳＴＥＰ１５−９の式を参照）。
【０３０２】
そして、図１２の下段のＣ１２領域に示すように点火時期の指令値ｉｇｌｏｇ  が閾値ＩＧＸ  以上の進角側に復帰した後は、図１２の上段のＤ１２領域に示すように点火時期応動開度補正量θｄｅｃ  を上記復帰時点の値に保持し（点火時期応動開度補正量θｄｅｃ  を前記開度減少単位量Δθｄｅｃ  づつ増加させる処理を中止する）、その保持した点火時期応動開度補正量θｄｅｃ  だけ、開度指令Θを標準開度指令値θ０  よりも減少側に補正する。
【０３０３】
尚、本実施形態では、点火時期応動開度補正量θｄｅｃ  を制御サイクル毎に増加させる前記開度減少単位量Δθｄｅｃ  は、内燃機関１の始動時における機関温度Ｔｗから、図１３に示す如くあらかじめ定めたデータテーブルに基づいて決定する。この場合、特に、内燃機関１の始動時の機関温度Ｔｗが高温領域である場合に、該機関温度Ｔｗが低中温領域である場合よりもフリクションの低下が大きく生じ易いことから、図１３のデータテーブルでは、機関温度Ｔｗの高温領域における開度減少単位量Δθｄｅｃ  を低中温領域よりも大きくするように設定している。
【０３０４】
以上説明した内容が、前記点火時期応動補正処理の基本的内容である。
【０３０５】
以上説明した内容をふまえて、前記図４のＳＴＥＰ４−５において前記吸入空気量制御段２５が行うバイパス開度の指令値（開度指令）θＣＭＤ  の生成処理を次に具体的に説明する。
【０３０６】
図１４のフローチャートを参照して、前記ＳＴＥＰ４−５では、まず、前記ＳＴＥＰ４−４の条件判断処理（図１５参照）で前述の如く制御サイクル毎に設定されるＦＩＲＥ実行可否フラグｆ／ｆｉｒｅｏｎの値（現在の制御サイクルで設定された値）を判断する（ＳＴＥＰ１４−１）。
【０３０７】
このとき、ｆ／ｆｉｒｅｏｎ＝１であるとき、すなわち、動作モードがＦＩＲＥモードに設定されているときには、前記標準開度指令値生成処理によって標準開度指令値θ０  を求めるために用いる前記Ｎレンジ基本値ｉｆｉｒｅｔ及びＤレンジ補正値ｉａｔｆｉｒｅ  と、前記大気条件補正処理に用いる前記大気圧補正係数ｋｐａ  及び大気温度補正係数ｋｔａ  と、前記点火時期応動補正処理に用いる前記開度減少単位量Δθｄｅｃ  とを、それぞれに対応して前述の如く定めたデータテーブルを用いて求める（ＳＴＥＰ１４−２）。
【０３０８】
すなわち、前記始動モード処理（ＳＴＥＰ４−２）で取得した内燃機関１の始動時の機関温度Ｔｗから、前記図６のデータテーブルに基づいてＮレンジ基本値ｉｆｉｒｅｔ及びＤレンジ補正値ｉａｔｆｉｒｅ  を求める。
【０３０９】
また、始動モード処理で取得した内燃機関１の始動時の大気圧Ｐａと、あらかじめ定められた標準大気圧Ｐａ０  及び標準吸気圧Ｐｂ０  とから、前記式（３３）によって、前記大気圧補正用パラメータｒａｔｉｏ／ｄｐａ  を算出し、このパラメータｒａｔｉｏ／ｄｐａ  から、図１０のデータテーブルに基づいて大気圧補正係数ｋｐａ  （＝パラメータｒａｔｉｏ／ｄｐａ  の平方根）を求める。
【０３１０】
さらに、始動モード処理で取得した内燃機関１の始動時の大気温度Ｔａから、図１１のデータテーブルに基づいて大気温度補正係数ｋｔａ  を求める。
【０３１１】
また、始動モード処理で取得した内燃機関１の始動時の機関温度Ｔｗから、図１３のデータテーブルに基づいて開度減少単位量Δθｄｅｃ  を求める。
【０３１２】
尚、ＳＴＥＰ１４−２におけるこれらの処理は、始動モード処理においてあらかじめ行っておくようにしてもよい。
【０３１３】
次いで、吸入空気量操作手段２５は、標準開度指令値θ０  に対して前記吸気量Ｆ／Ｂ制御補正処理と前記点火時期応動補正処理とを施してなる予備開度指令θｉ／ｆｉｒｅを算出する処理を次のように行う（ＳＴＥＰ１４−３）。
【０３１４】
すなわち、図１５のフローチャートを参照して、図示しないセンサにより検出される前記自動変速機の現在（今回の制御サイクル）のシフト位置を判断し（ＳＴＥＰ１５−１）、該シフト位置がＮレンジである場合には、標準開度指令値θ０  の前記基本値ｉ／ｆｔｂｌを前記ＳＴＥＰ１４−２で求めたＮレンジ基本値ｉｆｉｒｅｔとする（ＳＴＥＰ１５−２）。また、現在のシフト位置がＤレンジである場合には、上記Ｎレンジ基本値ｉｆｉｒｅｔに、ＳＴＥＰ１４−２で求めたＤレンジ補正値ｉａｔｆｉｒｅ  を加算した値を基本値ｉ／ｆｔｂｌとする（ＳＴＥＰ１５−３）。
【０３１５】
次いで、現在のＦＩＲＥ経過時間ｔ／ｆｉｒｅから、前記図７のデータテーブルに基づいて今回の制御サイクルにおける前記補正係数ｋｍ／ｆｉｒｅ  を求め（ＳＴＥＰ１５−４）、この補正係数ｋｍ／ｆｉｒｅ  をＳＴＥＰ１５−２あるいは１５−３で決定した基本値ｉ／ｆｔｂｌに乗算することで、標準開度指令値θ０  を求める（ＳＴＥＰ１５−５）。これによりＦＩＲＥモードにおける制御サイクル毎の標準開度指令値θ０  が決定される。
【０３１６】
次いで、吸入空気量操作手段２５は、前記吸気偏差Ｅｑを算出する処理を図１６のフローチャートに示すように行う（ＳＴＥＰ１５−６）。
【０３１７】
すなわち、図１６を参照して、まず、前記吸気圧センサ１６により検出される現在の吸気圧Ｐｂとあらかじめ定めた所定値Ｇａ１とから前記式（１）により今回の制御サイクルのおける推定吸入空気量ｇａｉｒ／ｐｒｅ（１ＴＤＣ当たりの吸入空気量の推定値）を求める（ＳＴＥＰ１６−１）。
【０３１８】
次いで、内燃機関１のフュエルカット中であるか否かを判断し（ＳＴＥＰ１６−２）、フュエルカット中でない場合には、さらに、現在のＦＩＲＥ経過時間ｔ／ｆｉｒｅが前記ＳＬＤ補正制限時間ＴＩＳＬＤＬＭＴに達したか否かを判断する（ＳＴＥＰ１６−３）。
【０３１９】
このとき、ｔ／ｆｉｒｅ＜ＴＩＳＬＤＬＭＴである場合には、今回の制御サイクルにおける推定積算吸入空気量ｑａｉｒ／ｐｒｅ（ｋ）  の値を強制的に「０」とする（ＳＴＥＰ１６−４）。また、ｔ／ｆｉｒｅ≧ＴＩＳＬＤＬＭＴである場合には、前記式（２）により推定吸入空気量ｇａｉｒ／ｐｒｅを累積加算して推定積算吸入空気量ｑａｉｒ／ｐｒｅ（ｋ）  を求める（ＳＴＥＰ１６−５）。
【０３２０】
尚、ＳＴＥＰ１６−２でフュエルカット中である場合には、そのとき内燃機関１の燃焼室に吸入される空気は、触媒装置３に与える熱量には寄与しない（フュエルカット中は内燃機関１の燃焼室４での混合気の燃焼は行われない）ため、推定積算吸入空気量ｑａｉｒ／ｐｒｅ（ｋ）  は現状の値に保持される（ＳＴＥＰ１６−６）。
【０３２１】
以上のようなＳＴＥＰ１６−１〜１６−６の処理により、ＦＩＲＥモードでは（前記中断動作中も含む）、その開始後、ＳＬＤ補正制限時間ＴＩＳＬＤＬＭＴが経過した時から、内燃機関１のフュエルカット中の場合を除いて、逐次、触媒装置３に実際に与えられる熱量の積算値に相当する推定積算吸入空気量ｑａｉｒ／ｐｒｅ（ｋ）  が求められていくこととなる。
【０３２２】
そして、ＳＬＤ補正制限時間ＴＩＳＬＤＬＭＴが経過するまで、すなわち、内燃機関１の始動直後の状態では、推定積算吸入空気量ｑａｉｒ／ｐｒｅ（ｋ）  の値が強制的に「０」に制限されることとなる。
【０３２３】
尚、このようにＳＬＤ補正制限時間ＴＩＳＬＤＬＭＴが経過するまで、推定積算吸入空気量ｑａｉｒ／ｐｒｅ（ｋ）  の値を制限するためには、例えばＳＬＤ補正制限時間ＴＩＳＬＤＬＭＴが経過するまで、推定吸入空気量ｇａｉｒ／ｐｒｅの値を強制的に「０」に制限し、その制限した推定吸入空気量ｇａｉｒ／ｐｒｅの値を用いて前記式（２）の演算を行うようにしてもよい。このようにしても、推定積算吸入空気量ｑａｉｒ／ｐｒｅ（ｋ）  の値は、ＳＬＤ補正制限時間ＴＩＳＬＤＬＭＴが経過するまでは「０」に制限されることとなる。
【０３２４】
このようにして推定積算吸入空気量ｑａｉｒ／ｐｒｅ（ｋ）  を求めた後、吸入空気量操作手段２５は、前記ＳＴＥＰ１５−５で求めた標準開度指令値θ０  と、前記回転数センサ１４により検出される現在の回転数Ｎｅと、あらかじめ定められた所定値Ｇａ２とから前記式（４）により今回の制御サイクルにおける目標吸入空気量ｇａｉｒ／ｃｍｄ（１ＴＤＣ当たりの吸入空気量の目標値）を求める（ＳＴＥＰ１６−７）。
【０３２５】
さらに、前記ＳＴＥＰ１６−３と同じ判断を行い（ＳＴＥＰ１６−８）、このとき、ｔ／ｆｉｒｅ＜ＴＩＳＬＤＬＭＴである場合には、今回の制御サイクルにおける目標積算吸入空気量ｑａｉｒ／ｃｍｄ（ｋ）  の値を強制的に「０」とする（ＳＴＥＰ１６−９）。また、ｔ／ｆｉｒｅ≧ＴＩＳＬＤＬＭＴである場合には、前記式（５）により制御サイクル毎の目標吸入空気量ｇａｉｒ／ｐｒｅを累積加算して目標積算吸入空気量ｑａｉｒ／ｃｍｄ（ｋ）  を求める（ＳＴＥＰ１６−１０）。
【０３２６】
以上のようなＳＴＥＰ１６−７〜１６−１０の処理により、触媒装置３に実際に与えられる熱量の積算値の目標値に相当する目標積算吸入空気量ｑａｉｒ／ｃｍｄ（ｋ）  は、ＦＩＲＥモードの開始後、ＳＬＤ補正制限時間ＴＩＳＬＤＬＭＴが経過した時から、ＦＩＲＥモードの中断動作中を含めて、逐次求められていくこととなる。
【０３２７】
そして、ＳＬＤ補正制限時間ＴＩＳＬＤＬＭＴが経過するまでの内燃機関１の始動直後の状態では、推定積算吸入空気量ｑａｉｒ／ｐｒｅ（ｋ）  と同様、目標積算吸入空気量ｑａｉｒ／ｃｍｄ（ｋ）  の値が強制的に「０」に制限されることとなる。
【０３２８】
尚、このようにＳＬＤ補正制限時間ＴＩＳＬＤＬＭＴが経過するまで、目標積算吸入空気量ｑａｉｒ／ｃｍｄ（ｋ）  の値を制限するためには、ＳＬＤ補正制限時間ＴＩＳＬＤＬＭＴが経過するまで、目標吸入空気量ｇａｉｒ／ｃｍｄの値を強制的に「０」に制限し、その制限した目標吸入空気量ｇａｉｒ／ｃｍｄの値を用いて前記式（５）の演算を行うようにしてもよい。
【０３２９】
このようにして、今回の制御サイクルにおける推定積算吸入空気量ｑａｉｒ／ｐｒｅ（ｋ）  と、目標積算吸入空気量ｑａｉｒ／ｃｍｄ（ｋ）  とを求めた後には、吸入空気量操作手段２５は、それらの差（ｑａｉｒ／ｐｒｅ（ｋ）  −ｑａｉｒ／ｃｍｄ（ｋ）  ）を演算することで、今回の制御サイクルにおける前記吸気偏差Ｅｑ（ｋ）を求め（ＳＴＥＰ１６−１１）、図１５のフローチャートの処理に復帰する。
【０３３０】
図１５の説明に戻って、上記のように吸気偏差Ｅｑを求めた後、吸入空気量操作手段２５は、次に、フラグｆ／ｄｅｃ  の値を判断する（ＳＴＥＰ１５−７）。このフラグｆ／ｄｅｃ  は、前記点火時期応動補正処理に係わるフラグであって、後述する点火時期の指令値ｉｇｌｏｇ  の生成処理において点火時期の指令値ｉｇｌｏｇ  が前記閾値ＩＧＸ  （図１２参照）よりも遅角側の値であるときｆ／ｄｅｃ  ＝１とされ、該指令値ｉｇｌｏｇ  が前記閾値ＩＧＸ  以上の進角側の値であるときｆ／ｄｅｃ  ＝０とされるものである（以下、フラグｆ／ｄｅｃ  を点火時期判別フラグｆ／ｄｅｃ  という）。尚、この点火時期判別フラグｆ／ｄｅｃ  は前記始動モード処理（ＳＴＥＰ４−２）において「０」に初期化される。
【０３３１】
このとき、ｆ／ｄｅｃ  ＝０である場合（点火時期の指令値ｉｇｌｏｇ  が、閾値ＩＧＸ  以上の進角側の状態）には、吸入空気量操作手段２５は、前記吸気量Ｆ／Ｂ制御補正処理に係わるＳＬＤ開度補正量ｉ／ｓｌｄ  を算出する処理を図１７のフローチャートに示すように行う（ＳＴＥＰ１５−８）。
【０３３２】
すなわち、まず、前記ＦＩＲＥ中断フラグｆ／ｆｐａｕｓｅの現在の値を判断する（ＳＴＥＰ１７−１）。このとき、ｆ／ｆｐａｕｓｅ＝１である場合、すなわち、ＦＩＲＥモードの前述の中断動作を行う状態である場合には、前記吸気量Ｆ／Ｂ制御補正処理で吸気偏差Ｅｑの減衰速度を規定する前記ポールｐｏｌｅ／ｉの値をあらかじめ定めた前記下限値ｐｏｌｅ／ｉ０  （図９を参照）に設定（初期化）した上で（ＳＴＥＰ１７−２）、直ちに図１５のルーチン処理に復帰する。
【０３３３】
従って、ＦＩＲＥモードの中断動作中は、ＳＬＤ開度補正量ｉ／ｓｌｄ  は現状の値（中断動作の開始前の値）に保持される。
【０３３４】
尚、ＳＬＤ開度補正量ｉ／ｓｌｄ  及びポールｐｏｌｅ／ｉは、前記始動モード処理（ＳＴＥＰ４−２）においてそれぞれ「０」、「下限値ｐｏｌｅ／ｉ０  」に初期化される。
【０３３５】
一方、ＳＴＥＰ１７−１の判断で、ｆ／ｆｐａｕｓｅ＝０である場合、すなわち、ＦＩＲＥモードの通常的な動作を行う状態である場合には、吸入空気量操作手段２５は、現在のＦＩＲＥ経過時間ｔ／ｆｉｒｅから、図９のデータテーブルに基づいて今回の制御サイクルにおける前記ポールテーブル値ｐｏｌｅ／ｉｔｂｌ  を求める（ＳＴＥＰ１７−３）。
【０３３６】
次いで、基本的には、ＳＴＥＰ１７−３で求めたポールテーブル値ｐｏｌｅ／ｉｔｂｌ  を吸気偏差Ｅｑの減衰速度を規定するポールｐｏｌｅ／ｉの値として設定するのであるが、ＦＩＲＥモードの中断動作中に前記下限値ｐｏｌｅ／ｉ０  （本実施形態では「−１」）に設定されるポールｐｏｌｅ／ｉを該中断動作の終了後に徐々にＦＩＲＥ経過時間ｔ／ｆｉｒｅに応じたポールテーブル値ｐｏｌｅ／ｉｔｂｌ  に復帰させるために、次のような処理を行う。
【０３３７】
すなわち、現在のポールｐｏｌｅ／ｉの値ｐｏｌｅ／ｉ（ｋ−１）  にあらかじめ定めた単位増分値ΔＰＯＬＥ／Ｉ（＞０）を加算した値（ｐｏｌｅ／ｉ（ｋ−１）  ＋ΔＰＯＬＥ／Ｉ）をＳＴＥＰ１７−３で求めたポールテーブル値ｐｏｌｅ／ｉｔｂｌ  と比較する（ＳＴＥＰ１７−４）。そして、ｐｏｌｅ／ｉ（ｋ−１）  ＋ΔＰＯＬＥ／Ｉ≧ｐｏｌｅ／ｉｔｂｌ  である場合には、ＳＴＥＰ１７−３で求めたポールテーブル値ｐｏｌｅ／ｉｔｂｌ  を今回の制御サイクルにおけるポールｐｏｌｅ／ｉ（ｋ）  の値として設定し（ＳＴＥＰ１７−５）、ｐｏｌｅ／ｉ（ｋ−１）  ＋ΔＰＯＬＥ／Ｉ＜ｐｏｌｅ／ｉｔｂｌ  である場合には、ｐｏｌｅ／ｉ（ｋ−１）  ＋ΔＰＯＬＥ／Ｉの値を今回の制御サイクルにおけるポールｐｏｌｅ／ｉ（ｋ）  の値として設定する（ＳＴＥＰ１７−６）。
【０３３８】
この処理によりＦＩＲＥモードの中断動作が終了した後には、ポールｐｏｌｅ／ｉが前記下限値ｐｏｌｅ／ｉ０  から、ＦＩＲＥ経過時間ｔ／ｆｉｒｅに応じたポールテーブル値ｐｏｌｅ／ｉｔｂｌ  に前記単位増分値ΔＰＯＬＥ／Ｉづつ、徐々に復帰することとなる。
【０３３９】
尚、内燃機関１の始動直後にＦＩＲＥモードの中断動作が行われない場合には、ポールｐｏｌｅ／ｉは、基本的にはポールテーブル値ｐｏｌｅ／ｉｔｂｌ  が設定され、該ポールテーブル値ｐｏｌｅ／ｉｔｂｌ  と同じ形態でＦＩＲＥ経過時間ｔ／ｆｉｒｅの増加に伴い値が変化する（このようになるように上記単位増分値ΔＰＯＬＥ／Ｉの値が設定されている）。
【０３４０】
このようにしてポールｐｏｌｅ／ｉの値を設定した後、吸入空気量操作手段２５は、さらに、該ポールｐｏｌｅ／ｉの値と、後に詳細を説明する点火時期操作回転数Ｆ／Ｂ制御において設定されるポールｐｏｌｅ／ｉｇ  （これは点火時期操作回転数Ｆ／Ｂ制御による内燃機関１の回転数Ｎｅと目標回転数ｎｅ／ｆｉｒｅ  との偏差の減衰速度を規定するパラメータである）からあらかじめ定めた所定の微小量ΔＰＯＬＥ／ＩＧ  （＞０）を減算した値とを比較する（ＳＴＥＰ１７−７）。
【０３４１】
そして、このとき、ｐｏｌｅ／ｉ＜ｐｏｌｅ／ｉｇ  −ΔＰＯＬＥ／ＩＧ  であれば、そのまま次のＳＴＥＰ１７−９に進むが、ｐｏｌｅ／ｉ≧ｐｏｌｅ／ｉｇ  −ΔＰＯＬＥ／ＩＧ  である場合、ポールｐｏｌｅ／ｉの値を強制的に（ｐｏｌｅ／ｉｇ  −ΔＰＯＬＥ／ＩＧ  ）に設定し直す（ＳＴＥＰ１７−８）。つまり、ポールｐｏｌｅ／ｉの値は、点火時期操作回転数Ｆ／Ｂ制御において後述の如く設定されるポールｐｏｌｅ／ｉｇ  （＜０）よりも常に小さい値に（より正確には、１＞｜ｐｏｌｅ／ｉ｜＞｜ｐｏｌｅ／ｉｇ  ｜＞０となるように）設定される。これは次の理由による。
【０３４２】
すなわち、本実施形態において推定積算吸入空気量ｑａｉｒ／ｐｒｅを目標積算吸入空気量ｑａｉｒ／ｃｍｄに収束させるように行う吸気側適応ＳＬＤ制御（フィードバック制御）と、内燃機関１の回転数Ｎｅを目標回転数ｎｅ／ｆｉｒｅ  に収束させるように行う点火時期操作回転数Ｆ／Ｂ制御とは互いに独立的に行われるものである一方、両者の制御は、内燃機関１の回転数Ｎｅに影響を及ぼす制御である。また、一般に、吸気側適応ＳＬＤ制御に基づくバイパス開度の変化に対する吸入空気量の変化の応答性は、点火時期操作回転数Ｆ／Ｂ制御に基づく点火時期の変化に対する回転数Ｎｅの変化の応答性に比して遅い。このため、吸気側適応ＳＬＤ制御に係わる吸気偏差Ｅｑの減衰速度を、点火時期操作回転数Ｆ／Ｂ制御による内燃機関１の回転数Ｎｅと目標回転数ｎｅ／ｆｉｒｅ  との偏差の減衰速度よりも速めるようにすると、両者の制御が互いに干渉して、内燃機関１の回転数Ｎｅが不安定なものとなる虞れがある。
【０３４３】
このために、本実施形態では、吸気側適応ＳＬＤ制御に係わるポールｐｏｌｅ／ｉを、前記の如く｜ｐｏｌｅ／ｉ｜＞｜ｐｏｌｅ／ｉｇ  ｜となるように設定し、これにより、吸気側適応ＳＬＤ制御に係わる吸気偏差Ｅｑの減衰速度を、点火時期操作回転数Ｆ／Ｂ制御による内燃機関１の回転数Ｎｅと目標回転数ｎｅ／ｆｉｒｅ  との偏差の減衰速度よりも遅くし、ひいては両制御が互いに干渉するのを回避する。
【０３４４】
次いで、ＳＴＥＰ１７−９では、ポールｐｏｌｅ／ｉの値を「−１」と比較し、ｐｏｌｅ／ｉ≦−１である場合（このような場合は、ＳＴＥＰ１７−８の処理によって生じることがある）には、ポールｐｏｌｅ／ｉの値を強制的に「−１」に設定した上で（ＳＴＥＰ１７−１０）、ＳＴＥＰ１７−１１に進む。
【０３４５】
そして、ＳＴＥＰ１７−１１では、上記のようにして決定したポールｐｏｌｅ／ｉの値と、前記ＳＴＥＰ１５−６で前述の如く求めた今回の制御サイクルにおける吸気偏差Ｅｑ（ｋ）及び前回の制御サイクルにおける吸気偏差Ｅｑ（ｋ−１）とから前記式（１０）（詳しくは、式（１０）の係数パラメータｓ１  ，ｓ２  をそれぞれ「１」、「ｐｏｌｅ／ｉ」で置き換えた式）により前記切換関数σ１  の値を求める。
【０３４６】
さらに、この切換関数σ１  の値を用いて、前記式（１８）、（１９）の演算を行うことで（この場合ｓ１  ＝１）、前記吸気側適応ＳＬＤ制御における到達則入力Θｒｃｈ  及び適応則入力Θａｄｐ  の値を求め（ＳＴＥＰ１７−１２）、この到達則入力Θｒｃｈ  及び適応則入力Θａｄｐ  を加算することで、今回の制御サイクルにおけるＳＬＤ開度補正量ｉ／ｓｌｄ  を求める（ＳＴＥＰ１７−１３）。そして、図１５のルーチン処理に復帰する。
【０３４７】
図１５の説明に戻って、前記ＳＴＥＰ１５−７の判断でｆ／ｄｅｃ  ＝１である場合、すなわち、現在の点火時期の指令値ｉｇｌｏｇ  が、前記閾値ＩＧＸ  （図１２参照）よりも遅角側の状態となっている場合には、吸入空気量操作手段２５は、前記点火時期応動補正処理を行うべく、前記点火時期応動開度補正量θｄｅｃ  を前記ＳＴＥＰ１４−２で決定した開度減少単位量Δθｄｅｃ  づつ制御サイクル毎に増加させていく（ＳＴＥＰ１５−９）。
【０３４８】
尚、点火時期応動開度補正量θｄｅｃ  は、前記始動モード処理（ＳＴＥＰ３−２）で「０」に初期化されるものである。
【０３４９】
また、このＳＴＥＰ１５−９の処理を行うときは、ＳＬＤ開度補正量ｉ／ｓｌｄ  を求める処理は行われず、該ＳＬＤ開度補正量ｉ／ｓｌｄ  の値は、前記点火時期判別フラグｆ／ｄｅｃ  が「１」に設定される前の値に保持される。
【０３５０】
次いで、吸入空気量操作手段２５は、ＳＴＥＰ１５−５で求めた標準開度指令値θ０  に現在のＳＬＤ開度補正量ｉ／ｓｌｄ  の値を加算し、さらに現在の点火時期応動開度補正量θｄｅｃ  を減算することで、前記吸気量Ｆ／Ｂ制御補正処理及び点火時期応動補正処理とに基づく前記予備開度指令θｉ／ｆｉｒｅ（＝θ０  ＋ｉ／ｓｌｄ  −θｄｅｃ  ）を算出する（ＳＴＥＰ１５−１０）。
【０３５１】
次いで、吸入空気量操作手段２５は、現在の前記学習演算終了フラグｆ／ｆｌｒｎｅｎｄ  の値を判断する（ＳＴＥＰ１５−１１）。この学習演算終了フラグｆ／ｆｌｒｎｅｎｄ  は、ＦＩＲＥモードの動作中（ＦＩＲＥ実行可否フラグｆ／ｆｉｒｅｏｎが「１」に設定されている状態）は、中断動作が開始されるとき（ＦＩＲＥ中断フラグｆ／ｆｐａｕｓｅが「１」に設定されたとき）、あるいは、点火時期の指令値ｉｇｌｏｇ  が前記閾値ＩＧＸ  （図１２参照）よりも遅角側の状態となって、前記点火時期応動補正処理を開始するとき（点火時期判別フラグｆ／ｄｅｃ  が「１」に設定されたとき）に、前記基本学習補正係数ｖｐｓｋｉｓｌｄの算出処理を終了すべく「１」に設定される（前記図５のＳＴＥＰ５−１７、及び後述の図２２のＳＴＥＰ２２−８を参照）。
【０３５２】
そして、ｆ／ｆｌｒｎｅｎｄ  ＝０である場合、すなわち、前記基本学習補正係数ｖｐｓｋｉｓｌｄの算出を行うべき状態である場合には、前記学習補正処理に関して説明した通り、基本学習補正係数ｖｐｓｋｉｓｌｄを算出する（ＳＴＥＰ１５−１２）。
【０３５３】
すなわち、制御サイクル毎に、ＳＴＥＰ５−１８で求められる現在のＳＬＤ開度補正量ｉ／ｓｌｄ  と、内燃機関１の現在の回転数Ｎｅと、前記所定値Ｇａ２とから、前記式（３４）により前記ＳＬＤ吸気補正量ｇａｉｒ／ｓｌｄを求め、それを式（３５）により累積加算することで、前記ＳＬＤ積算吸気補正量ｑａｉｒ／ｓｌｄを求める。そして、このＳＬＤ積算吸気補正量ｑａｉｒ／ｓｌｄと、前記ＳＴＥＰ１６−１０（図１６参照）で求めた制御サイクル毎の目標積算吸入空気量ｑａｉｒ／ｃｍｄとから前記式（３６）の演算を行うことで、基本学習補正係数ｖｐｓｋｉｓｌｄを算出する。
【０３５４】
尚、この場合において、ＦＩＲＥ経過時間ｔ／ｆｉｒｅが前記ＳＬＤ補正制限時間ＴＩＳＬＤＬＭＴに達するまでは、前述の如くｑａｉｒ／ｃｍｄ＝０とする（このときＳＬＤ積算吸気補正量ｑａｉｒ／ｓｌｄも「０」となる）ので、基本学習補正係数ｖｐｓｋｉｓｌｄの値を強制的に「１」に設定する。
【０３５５】
また、ＳＴＥＰ１５−１１でｆ／ｆｌｒｎｅｎｄ  ＝１である場合、すなわち、前記基本学習補正係数ｖｐｓｋｉｓｌｄの算出を終了すべき状態である場合には、ＳＴＥＰ１５−１２の処理は省略され、基本学習補正係数ｖｐｓｋｉｓｌｄの算出処理は行われない（この場合、ｆ／ｆｌｒｎｅｎｄ  ＝１となる前の制御サイクルで求められた基本学習補正係数ｖｐｓｋｉｓｌｄの値がその最終値として確定される）。
【０３５６】
このようにしてＳＴＥＰ５−１１，５−１２の処理行った後、吸入空気量操作手段２５は、ＳＴＥＰ１５−１０で求めた予備開度指令θｉ／ｆｉｒｅの値を所定の上限値及び下限値の間の値に制限する（θｉ／ｆｉｒｅ＞上限値、あるいはθｉ／ｆｉｒｅ＜下限値のとき、それぞれθｉ／ｆｉｒｅを強制的に上限値、下限値に制限する）リミット処理を行った後（ＳＴＥＰ１５−１３）、図１４のルーチン処理に復帰する。
【０３５７】
図１４の説明に戻って、上記のように予備開度指令θｉ／ｆｉｒｅを求めた後、吸入空気量操作手段２５は、この予備開度指令θｉ／ｆｉｒｅ（＝θ０  ＋ｉ／ｓｌｄ  −θｄｅｃ  ）に、ＳＴＥＰ１４−２で決定した前記大気圧補正係数ｋｐａ  と、大気温度補正係数ｋｔａ  と、前回のＦＩＲＥモードの動作の終了時に決定された学習補正係数ｋｉｌｅａｒｎ  （この学習補正係数ｋｉｌｅａｒｎ  の算出については後に説明する）とを乗算することで、今回の制御サイクルにおけるバイパス開度の指令値θＣＭＤ  を決定する（ＳＴＥＰ１４−４）。そして、前記図３のメインルーチン処理に復帰する。
【０３５８】
以上説明した処理が、ＦＩＲＥモードにおいて、バイパス開度の指令値θＣＭＤ  を制御サイクル毎に決定するための処理である。
【０３５９】
一方、前記ＳＴＥＰ１４−１の判断で、現在のＦＩＲＥ実行可否フラグｆ／ｆｉｒｅｏｎの値が「０」である場合、すなわち、ＦＩＲＥモードの動作を行わない状態となったとき（これは、基本的には、内燃機関１の始動後、ＦＩＲＥ経過時間ｔ／ｆｉｒｅが、ＦＩＲＥモード制限時間ＴＦＩＲＥＬＭＴに達してＦＩＲＥモードの動作を終了した後の状態である）には、吸入空気量操作手段２５は、ＦＩＲＥ実行可否フラグｆ／ｆｉｒｅｏｎの前回の制御サイクルにおける値を判断する（ＳＴＥＰ１４−５）。
【０３６０】
このとき、ＦＩＲＥ実行可否フラグｆ／ｆｉｒｅｏｎの前回の制御サイクルにおける値が「１」である場合、すなわち、前回の制御サイクルまでＦＩＲＥモードの動作を行っていた場合（ＦＩＲＥモードを終了した直後の状態）には、直前まで行っていたＦＩＲＥモードにおいて前記ＳＴＥＰ１５−１２の処理により最終的に求められた前記基本学習補正係数ｖｐｓｋｉｓｌｄから、図１８のフローチャートに示すように次回のＦＩＲＥモードの動作に際して開度指令を補正する（ＳＴＥＰ１４−４を参照）ための学習補正係数ｋｉｌｅａｒｎ  を決定（更新）する（ＳＴＥＰ１４−６）。
【０３６１】
すなわち、図１８を参照して、まず、前述した基本学習補正係数ｖｐｓｋｉｓｌｄの算出を最終的に終了した時のＦＩＲＥ経過時間ｔ／ｆｉｒｅを表す前記学習終了時刻パラメータｔ／ｋｉｌ  が、あらかじめ定めた所定値ＴＭＫＩＬＬＭＴ以上であるか否かを判断する（ＳＴＥＰ１８−１）。ここで、学習終了時刻パラメータｔ／ｋｉｌ  は、前記図５に示した如く、前記学習演算終了フラグｆ／ｆｌｒｎｅｎｄ  が「０」から「１」に切り換えられた際のＦＩＲＥ経過時間ｔ／ｆｉｒｅである。つまり、ＦＩＲＥモードの中断動作が行われたときは、該中断動作の開始時までのＦＩＲＥ経過時間ｔ／ｆｉｒｅであ、ＦＩＲＥモードの動作中に前記点火時期応動補正処理を行うときは、その処理の開始時までのＦＩＲＥ経過時間ｔ／ｆｉｒｅである。そして、ＦＩＲＥモードの中断動作や点火時期応動補正処理が行われることなくＦＩＲＥモードの動作が終了したときには、その終了時のＦＩＲＥ経過時間ｔ／ｆｉｒｅ（これは通常的にはＦＩＲＥモード制限時間ＴＦＩＲＥＬＭＴである）である。
【０３６２】
別の言い方をすれば、学習終了時刻パラメータｔ／ｋｉｌ  は、前記ＳＬＤ開度補正量ｉ／ｓｌｄ  の算出処理及びこれに応じた標準開度指令値θ０  の補正が連続して行われたＦＩＲＥ経過時間ｔ／ｆｉｒｅである。
【０３６３】
そして、ＳＴＥＰ１８−１判断で、ｔ／ｋｉｌ  ＜ＴＭＫＩＬＬＭＴである場合には、最終的に得られた基本学習補正係数ｖｐｓｋｉｓｌｄの信頼性が乏しいと考えられるので、学習補正係数ｋｉｌｅａｒｎ  を現状の値に維持したまま図１４の処理に復帰する。
【０３６４】
一方、ｔ／ｋｉｌ  ≧ＴＭＫＩＬＬＭＴである場合、すなわち、ＳＬＤ開度補正量ｉ／ｓｌｄ  の算出処理及びこれに応じた標準開度指令値θ０  の補正がある程度長い時間、連続して行われた場合には、前回の制御サイクルまで行われていたＦＩＲＥモードの動作において最終的に得られた基本学習補正係数ｖｐｓｋｉｓｌｄから前記式（３７）のなまし演算処理（フィルタリング処理）によって新たな学習補正係数ｋｉｌｅａｒｎ（ｊ）を求める（ＳＴＥＰ１８−２）。そして、この学習補正係数ｋｉｌｅａｒｎ（ｊ）を所定の上限値及び下限値の間の値に制限する（ｋｉｌｅａｒｎ（ｊ）＞上限値、あるいはｋｉｌｅａｒｎ（ｊ）＜下限値のとき、それぞれｋｉｌｅａｒｎ（ｊ）を強制的に上限値、下限値に制限する）リミット処理を行った後（ＳＴＥＰ１８−３）、図１４のルーチン処理に復帰する。
【０３６５】
尚、学習補正係数ｋｉｌｅａｒｎ（ｊ）の初期値は「１」である。また、この学習補正係数ｋｉｌｅａｒｎ（ｊ）の値は、本実施形態のシステムの運転を停止しても失われることのないようにＥＥＰＲＯＭ等の不揮発性メモリに記憶保持しておく。また、本発明の構成に対応させると、前記ＳＴＥＰ１８−１で用いる所定値ＴＭＫＩＬＬＭＴが、第４の所定時間に相当するものである。
【０３６６】
図１４の説明に戻って、ＳＴＥＰ１４−５でＦＩＲＥ実行可否フラグｆ／ｆｉｒｅｏｎの前回の制御サイクルにおける値が「１」である場合には、前述の如く学習補正係数ｋｉｌｅａｒｎ  が更新されるが、ＦＩＲＥ実行可否フラグｆ／ｆｉｒｅｏｎの前回の制御サイクルにおける値が「０」である場合は、既に学習補正係数ｋｉｌｅａｒｎ  が更新されているので、ＳＴＥＰ１４−６の処理は省略される。すなわち、学習補正係数ｋｉｌｅａｒｎ  の更新処理は、ＦＩＲＥモードが終了した直後の制御サイクルにおいてだけ行われ、その更新された学習補正係数ｋｉｌｅａｒｎ  が次回のＦＩＲＥモードの動作に際して開度指令を補正するために使用される。
【０３６７】
このようにしてＳＴＥＰ１４−５、１４−６の処理を行った後、吸入空気量操作手段２５は、開度指令θＣＭＤ  を通常モード用の開度指令に設定する（ＳＴＥＰ１４−７）。この開度指令は、基本的には、ＦＩＲＥモードにおける開度指令θＣＭＤ  よりも小さく、内燃機関１の通常的な運転を行うべく所要の値に設定される。
【０３６８】
以上、図１４〜図１８を参照して説明した処理が、前記図４のＳＴＥＰ４−５で開度指令（バイパス開度の指令値）θＣＭＤ  を制御サイクル毎に生成する処理の詳細であり、このようにして決定された開度指令θＣＭＤ  は前記バイパス弁アクチュエータ２４に与えられる。そして、該バイパス弁アクチュエータ２４は、与えられた開度指令θＣＭＤ  に従ってバイパス弁７の開度を操作する。
【０３６９】
次に、前記図４のＳＴＥＰ４−６における点火時期の指令値ｉｇｌｏｇ  の生成処理について説明する。
【０３７０】
ここで、この処理の具体的な内容を説明する前に、この処理の基本的な内容を説明しておく。
【０３７１】
本実施形態のシステムでは、ＦＩＲＥモードにおける前述のような吸入空気量の増量制御によって内燃機関１の回転数Ｎｅ（実回転数）が上昇傾向となるので、該回転数Ｎｅを前記点火時期操作回転数Ｆ／Ｂ制御によって所要の目標回転数ｎｅ／ｆｉｒｅ  にフィードバック制御し、該点火時期を遅角側に補正する（点火時期操作回転数Ｆ／Ｂ制御）。この場合、後述する如く、回転数Ｎｅと目標回転数ｎｅ／ｆｉｒｅ  との偏差の減衰速度（これはフィードバック制御のゲインに相当する）を、適宜可変的に設定することが好ましい。
【０３７２】
このために、本実施形態のシステムにおける点火時期操作回転数Ｆ／Ｂ制御にあっては、前述の吸気量Ｆ／Ｂ制御補正処理の場合と同様に、上記偏差の減衰速度を指定可能な応答指定型制御であるスライディングモード制御（本実施形態では適応スライディングモード制御）を用いる。
【０３７３】
この適応スライディングモード制御（以下、点火時期側適応ＳＬＤ制御という）を用いた点火時期操作回転数Ｆ／Ｂ制御の処理、すなわち、回転数Ｎｅを目標回転数ｎｅ／ｆｉｒｅ  に収束させるように点火時期の指令値ｉｇｌｏｇ  を生成する処理のアルゴリズムは次のように構築されている。
【０３７４】
まず、本実施形態では、点火時期側適応ＳＬＤ制御の制御対象を、点火時期の指令値ｉｇｌｏｇ  を表すデータから、回転数Ｎｅ（実回転数）を表すデータを生成する系と考え、それを離散系（離散時間系）でモデル化しておく。
【０３７５】
この場合、本実施形態では、点火時期の指令値ｉｇｌｏｇ  と所定の基準指令値ｉｇ０  と偏差ＤＩＧ  （＝ｉｇｌｏｇ  −ｉｇ０  。以下、点火時期偏差指令値ＤＩＧ  という）を点火時期の指令値ｉｇｌｏｇ  を表すデータとして用いると共に、回転数Ｎｅと所定の基準回転数Ｎｅ０との偏差ＤＮＥ  （＝Ｎｅ−Ｎｅ０。以下、偏差回転数ＤＮＥ  という）を回転数Ｎｅを表すデータとして用いる。
【０３７６】
尚、本実施形態では、点火時期の基準指令値ｉｇ０  として、前記図３で示した基本指令値ｉｇｂａｓｅ（内燃機関１のＦＩＲＥモード以外の通常的な運転時における点火時期の指令値）を用いる（ｉｇ０  ＝ｉｇｂａｓｅ）。従って、前記図３で示した補正量ＤＩＧ  が上記点火時期偏差指令値ＤＩＧ  である。また、本実施形態では、回転数Ｎｅに係わる基準回転数Ｎｅ０として、前記図３で示した所定のアイドリング回転数ＮＯＢＪを用いる（Ｎｅ０＝ＮＯＢＪ）。
【０３７７】
そして、本実施形態で、上記の点火時期偏差指令値ＤＩＧ  と、偏差回転数ＤＮＥ  とを用いて、点火時期側適応ＳＬＤ制御の制御対象のモデルを次式（３８）のように離散系モデル（本実施形態では２次の自己回帰モデル）で表現しておく。
【０３７８】
【数３８】
0003544477.tif 000039
【０３７９】
この式（３８）により表現した制御対象のモデル（以下、回転数制御対象モデルという）は、該回転数制御対象モデルの出力としての各制御サイクルにおける偏差回転数ＤＮＥ（ｋ＋１）を、それより過去の偏差回転数ＤＮＥ  の時系列データＤＮＥ（Ｋ），ＤＮＥ（ｋ−１）、並びに該回転数制御対象モデルの入力としての点火時期偏差指令値ＤＩＧ（ｋ）を用いて表現したものである。
【０３８０】
また、式（３８）で、偏差回転数ＤＮＥ（Ｋ），ＤＮＥ（ｋ−１）にそれぞれ係る係数ｃ１  ，ｃ２  と、点火時期偏差指令値ＤＩＧ（ｋ）に係る係数ｄ１  とは、回転数制御対象モデルの実際の挙動特性を規定するモデルパラメータであり、これらのモデルパラメータｃ１  ，ｃ２  ，ｄ１  は、回転数制御対象モデルの挙動特性と、該モデルにより表現した実際の制御対象の挙動特性とが整合するようにあらかじめ実験やシミュレーション等を通じて同定しておく。
【０３８１】
この場合、回転数制御対象モデルは離散系モデルであるため、種々の公知の同定アルゴリズム（例えば回転数制御対象モデル上で生成される偏差回転数ＤＮＥ（ｋ＋１）と実際の偏差回転数との間の誤差が最小になるように最小二乗法によりモデルパラメータｃ１  ，ｃ２  ，ｄ１  を同定するアルゴリズム等）を用いてモデルパラメータｃ１  ，ｃ２  ，ｄ１  を比較的容易に同定することが可能である。
【０３８２】
このようにして定めた回転数制御対象モデルに基づいて、点火時期側適応ＳＬＤ制御の処理のアルゴリズムは次のように構築する。
【０３８３】
すなわち、点火時期側適応ＳＬＤ制御では、スライディングモード制御に必要な切換関数σ２  を、前述の吸気側適応スライディングモード制御の場合と同様に、前記偏差回転数ＤＮＥ  とその目標値ｄｎｅ  との偏差Ｅｎ＝ＤＮＥ  −ｄｎｅ  （以下、回転数偏差Ｅｎという）の制御サイクル毎の時系列データＥｎ（ｋ），Ｅｎ（ｋ−１）を変数とする次式（３９）の線形関数により定義する。尚、偏差回転数ＤＮＥ  の目標値ｄｎｅ  （以下、偏差目標回転数ｄｎｅ  という）は、前記図３で示した目標回転数ｎｅ／ｆｉｒｅ  と前記基準回転数Ｎｅ０（＝アイドリング回転数ＮＯＢＪ）との偏差（＝ｎｅ／ｆｉｒｅ  −Ｎｅ０）である。従って、上記回転数偏差Ｅｎ＝ＤＮＥ  −ｄｎｅ  は、回転数Ｎｅ（実回転数）と目標回転数ｎｅ／ｆｉｒｅ  との偏差（＝Ｎｅ−ｎｅ／ｆｉｒｅ  ）と同じである。
【０３８４】
【数３９】
0003544477.tif 000040
【０３８５】
ここで、式（３９）中のｓ３  ，ｓ４  は切換関数σ２  の各項の係数パラメータであり、次の条件を満たすように設定する。
【０３８６】
【数４０】
0003544477.tif 000041
【０３８７】
尚、本実施形態では、簡略化のためにｓ３  ＝１としている。また、係数パラメータｓ４  の値（より一般的には、ｓ４  ／ｓ３  ＝ｐｏｌｅ／ｉｇ  の値）を可変的に設定するのであるが、これについては後述する。
【０３８８】
このように切換関数σ２  を定義したとき、吸気側適応スライディングモード制御の場合と同様に、前記回転数偏差Ｅｎの時系列データＥｎ（ｋ），Ｅｎ（ｋ−１）の組から成る状態量（Ｅｎ（ｋ），Ｅｎ（ｋ−１））を、σ２  ＝０なる関係式によって定義される切換線上に収束させ、その収束状態を維持すると、状態量（Ｅｎ（ｋ），Ｅｎ（ｋ−１））を、外乱等の影響によらずに極めて安定に切換線σ２  ＝０上の平衡点、すなわち、Ｅｎ（ｋ）＝Ｅｎ（ｋ−１）＝０となる点に収束させることができる。
【０３８９】
また、前記偏差回転数ＤＮＥ  を前記偏差目標回転数ｄｎｅ  に収束させる（回転数Ｎｅを目標回転数ｎｅ／ｆｉｒｅ  に収束させる）ために、前記式（３９）によりモデル化した制御対象に与えるべき入力として点火時期側適応ＳＬＤ制御が生成する制御入力、すなわち点火時期偏差指令値ＤＩＧ  は、吸気側適応スライディングモード制御の場合と同様に、等価制御入力ＤＩＧｅｑ  と到達則入力ＤＩＧｒｃｈと適応則入力ＤＩＧａｄｐとの総和である（次式（４１）を参照）。
【０３９０】
【数４１】
0003544477.tif 000042
【０３９１】
そして、これらの等価制御入力ＤＩＧｅｑ  、到達則入力ＤＩＧｒｃｈ及び適応則入力ＤＩＧａｄｐは、吸気側適応スライディングモード制御の場合と同様に、それぞれ次式（４２）〜（４４）により与えられる。
【０３９２】
【数４２】
0003544477.tif 000043
【０３９３】
【数４３】
0003544477.tif 000044
【０３９４】
【数４４】
0003544477.tif 000045
【０３９５】
そして、この場合、式（４３）中の係数Ｆ３  （到達則のゲインを規定する係数）は、次式（４５）、より好ましくは（４５）’の条件を満たすようにあらかじめ設定しておく。
【０３９６】
また、式（４４）中の係数Ｆ４  （適応則のゲインを規定する係数）は、次式（４６）の条件を満たすようにあらかじめ設定しておく。尚、式（４６）中のΔＴは制御サイクル（制御周期）である。
【０３９７】
【数４５】
0003544477.tif 000046
【０３９８】
【数４６】
0003544477.tif 000047
【０３９９】
本実施形態における点火時期側適応ＳＬＤ制御では、制御サイクル毎に、前記式（４２）〜（４４）により等価制御入力ＤＩＧｅｑ  、到達則入力ＤＩＧｒｃｈ及び適応則入力ＤＩＧａｄｐをそれぞれ求め、それらの総和を演算する（式（４１））ことで、点火時期偏差指令値ＤＩＧ  を求める。そして、この点火時期偏差指令値ＤＩＧ  を、次式（４７）のように前記基準指令値ｉｇ０  、すなわち内燃機関１の通常的な運転時の基本指令値ｉｇｂａｓｅに加算することで、点火時期の指令値ｉｇｌｏｇ  を決定する。
【０４００】
【数４７】
0003544477.tif 000048
【０４０１】
この場合、前記等価制御入力ＤＩＧｅｑ  や切換関数σ２  の値を求めるために必要な偏差目標回転数ｄｎｅ  は次のように求める。
【０４０２】
すなわち、本実施形態では、内燃機関１の回転数Ｎｅ（実回転数）が、前記図３に示した設定回転数（＝ＮＯＢＪ＋ＮＥＦＳＬＤＳ  ）に達した時、又は、前記ＦＩＲＥ経過時間ｔ／ｆｉｒｅがあらかじめ定めた所定値ＴＳＬＤＩＧＳＴに達した時から点火時期操作回転数Ｆ／Ｂ制御を開始する。そして、ＦＩＲＥモードにおける内燃機関１の目標回転数ｎｅ／ｆｉｒｅ  は、点火時期操作回転数Ｆ／Ｂ制御の開始時からの経過時間Δｔ／ｎｆｂ  （以下、回転数Ｆ／Ｂ経過時間Δｔ／ｎｆｂ  という）に応じて次式（４８）により設定する。
【０４０３】
【数４８】
0003544477.tif 000049
【０４０４】
ここで、式（４８）中のＫ／ＮＥは、目標回転数ｎｅ／ｆｉｒｅ  の時間的減少度合い（傾き）を規定する一定の所定値（＞０）である。
【０４０５】
尚、この場合において、式（４８）の右辺の演算結果がアイドリング回転数ＮＯＢＪを下回る場合（Δｔ／ｎｆｂ  ＞ＮＥＦＳＬＤＳ  ／Ｋ／ＮＥの場合）には、目標回転数ｎｅ／ｆｉｒｅ  をアイドリング回転数ＮＯＢＪに固定する。
【０４０６】
これにより、目標回転数ｎｅ／ｆｉｒｅ  は、点火時期操作回転数Ｆ／Ｂ制御の開始後、前記設定回転数（＝ＮＯＢＪ＋ＮＥＦＳＬＤＳ  ）からアイドリング回転数ＮＯＢＪに向かって直線的に徐々に減少し、該アイドリング回転数ＮＯＢＪに達した後は、該アイドリング回転数ＮＯＢＪに維持される。
【０４０７】
従って、本実施形態では、各制御サイクルにおける目標回転数ｎｅ／ｆｉｒｅ（ｋ）は、該制御サイクルにおける前記回転数Ｆ／Ｂ経過時間Δｔ／ｎｆｂ  から式（４８）により求められ、この目標回転数ｎｅ／ｆｉｒｅ（ｋ）からアイドリング回転数ＮＯＢＪを減算することで、各制御サイクルにおける偏差目標回転数ｄｎｅ（ｋ）（＝ｎｅ／ｆｉｒｅ（ｋ）−ＮＯＢＪ）が求められる。そして、この偏差目標回転数ｄｎｅ（ｋ）と、その前回値ｄｎｅ（ｋ−１）（＝ｎｅ／ｆｉｒｅ（ｋ−１）−ＮＯＢＪ）、すなわち前回の制御サイクルで求めた偏差目標回転数ｄｎｅ（ｋ−１）とを用いることで、制御サイクル毎に前記式（３９）により切換関数σ２（ｋ）の値を求めることができる。そして、この切換関数σ２  の値を用いることで、前記式（４３）、（４４）により到達則入力ＤＩＧｒｃｈ及び適応則入力ＤＩＧａｄｐを求めることができる。
【０４０８】
また、本実施形態では、制御サイクル（ＴＤＣ）は、内燃機関１の回転数Ｎｅに反比例するので、現在の回転数Ｎｅから１制御サイクル分の時間ΔＴ（∝１／Ｎｅ）を求め、該時間ΔＴを現在の回転数Ｆ／Ｂ経過時間Δｔ／ｎｆｂ  に加算することで、次回の制御サイクルにおける回転数Ｆ／Ｂ経過時間（＝Δｔ／ｎｆｂ  ＋ΔＴ）を予測することができる（以下、この予測値を回転数Ｆ／Ｂ予測経過時間Δｔ／ｎｆｂｐｒｅという）。そして、この回転数Ｆ／Ｂ予測経過時間Δｔ／ｎｆｂｐｒｅを前記式（４８）に適用する（式（４８）の右辺のΔｔ／ｎｆｂ  にΔｔ／ｎｆｂｐｒｅを代入する）ことで、次式（４９）により次回の制御サイクルにおける目標回転数ｎｅ／ｆｉｒｅ（ｋ＋１）を求めることができる。
【０４０９】
【数４９】
0003544477.tif 000050
【０４１０】
さらに、該目標回転数ｎｅ／ｆｉｒｅ（ｋ＋１）からアイドリング回転数ＮＯＢＪを減算することで、次回の制御サイクルにおける偏差目標回転数ｄｎｅ（ｋ＋１）（＝ｎｅ／ｆｉｒｅ（ｋ＋１）−ＮＯＢＪ）が求められる。
【０４１１】
そして、このようにして求められる偏差目標回転数ｄｎｅ（ｋ＋１）と、前述の如く求められる偏差目標回転数ｄｎｅ（ｋ），ｄｎｅ（ｋ−１）とを用いて前記式（４２）の演算を行うことで、等価制御入力ＤＩＧｅｑ  を求めることができる。
【０４１２】
尚、本実施形態では、ＦＩＲＥモードの中断動作中は、点火時期操作回転数Ｆ／Ｂ制御を中断し、点火時期の指令値ｉｇｌｏｇ  を内燃機関１の通常的な運転時の基本指令値ｉｇｂａｓｅに戻す。この場合、中断動作が開始してから、式（４７）の点火時期偏差指令値ＤＩＧ  の値（絶対値）を、その値が「０」になるまで制御サイクル毎に所定の単位値ｄｅｃ／ｉｇづつ減少させていく（徐々に「０」に近づけていく）ことで、点火時期の指令値ｉｇｌｏｇ  を徐々に基本指令値ｉｇｂａｓｅに戻すようにしている。そして、中断動作が解除されたときには、直ちに点火時期操作回転数Ｆ／Ｂ制御を再開するようにしている。
【０４１３】
また、本実施形態では、ＦＩＲＥモードの動作が終了し（ＦＩＲＥ実行可否フラグｆ／ｆｉｒｅｏｎが「１」から「０」になる）、システムの動作モードが通常モードに移行する際にも、点火時期の指令値ｉｇｌｏｇ  を徐々に基本指令値ｉｇｂａｓｅに戻すようにしている。
【０４１４】
以上説明した内容が、本実施形態における点火時期操作回転数Ｆ／Ｂ制御の処理の基本的内容である。
【０４１５】
ところで、応答指定型制御である前記点火時期側適応ＳＬＤ制御にあっては、前記吸気側適応ＳＬＤ制御と同様、前記切換関数σ２  の係数パラメータｓ３  ，ｓ４  の比（ｓ４  ／ｓ３  ）の値（以下、この比の値をポールｐｏｌｅ／ｉｇ  という）によって、前記回転数偏差Ｅｎ（＝ＤＮＥ  −ｄｎｅ  ＝Ｎｅ−ｎｅ／ｆｉｒｅ  ）の減衰速度を指定することができる。すなわち、ポールｐｏｌｅ／ｉｇ  （＝ｓ４  ／ｓ３  ）の絶対値を「１」よりも小さい範囲で「０」に近づけていく程、回転数偏差Ｅｎの減衰速度は速くなる。尚、本実施形態では、前記吸気側適応ＳＬＤ制御の場合と同様、回転数偏差Ｅｎの振動的な減衰を避けるために、ｓ４  ／ｓ３  ＝ｐｏｌｅ／ｉｇ  ＜０としている。
【０４１６】
このような点火時期側適応ＳＬＤ制御の応答指定特性を利用し、本実施形態では次のように回転数偏差Ｅｎの減衰速度を可変的に設定する。
【０４１７】
すなわち、点火時期の変化に対する内燃機関１の回転数Ｎｅの変化は該点火時期が遅角側である程、大きくなる傾向がある。このため、回転数Ｎｅの目標回転数ｎｅ／ｆｉｒｅ  への制御を安定して行うためには、回転数偏差Ｅｎの減衰速度を、操作している点火時期が遅角側である程、遅くしてやる（ポールｐｏｌｅ／ｉｇ  の絶対値を大きくする）ことが好ましいと考えられる。
【０４１８】
そこで、本実施形態では、制御サイクル毎に、現在の点火時期の指令値ｉｇｌｏｇ  （前回の制御サイクルで決定された指令値ｉｇｌｏｇ  ）から、図１９に示す如くあらかじめ定めたデータテーブルに基づいてポールｐｏｌｅ／ｉｇ  の基本値ｐｏｌｅ／ｉｇｔｂｌを求め、基本的には、この基本値ｐｏｌｅ／ｉｇｔｂｌをポールｐｏｌｅ／ｉｇ  の値として設定する。この場合、基本値ｐｏｌｅ／ｉｇｔｂｌ（以下、点火時期対応ポール基本値ｐｏｌｅ／ｉｇｔｂｌという）は、点火時期の指令値ｉｇｌｏｇ  が遅角側である程、その絶対値｜ｐｏｌｅ／ｉｇｔｂｌ｜を大きくするように設定されている（但し、−１＜ｐｏｌｅ／ｉｇｔｂｌ＜０）。
【０４１９】
尚、点火時期対応ポール基本値ｐｏｌｅ／ｉｇｔｂｌは、基本的には、前記吸気側適応ＳＬＤ制御に関して前記図９のデータテーブルにより決定するポールテーブル値ｐｏｌｅ／ｉｔｂｌ  よりも「０」側に近い値に設定されている。換言すれば、点火時期側適応ＳＬＤ制御に関して点火時期対応ポール基本値ｐｏｌｅ／ｉｇｔｂｌにより規定される前記回転数偏差Ｅｎの減衰速度は、前記吸気側適応ＳＬＤ制御に関してポールテーブル値ｐｏｌｅ／ｉｔｂｌ  に規定される前記吸気偏差Ｅｑ  の減衰速度よりも速くなるように点火時期対応ポール基本値ｐｏｌｅ／ｉｇｔｂｌが設定されている。
【０４２０】
また、本実施形態では、点火時期操作回転数Ｆ／Ｂ制御を開始する際に、前述した点火時期側適応ＳＬＤ制御の処理によって回転数Ｎｅを目標回転数ｎｅ／ｆｉｒｅ  に収束させるべく点火時期を急激に変化させると、内燃機関１の燃焼状態が悪化する虞れがある。従って、点火時期操作回転数Ｆ／Ｂ制御の初期段階では、回転数偏差Ｅｎの減衰速度を遅めにするようにポールｐｏｌｅ／ｉｇ  の値を設定することが好ましい。
【０４２１】
そこで、本実施形態では、制御サイクル毎に、前記回転数Ｆ／Ｂ経過時間Δｔ／ｎｆｂ  （点火時期操作回転数Ｆ／Ｂ制御を開始してからの経過時間）から、図２０に示す如くあらかじめ定めたデータテーブル（タイムテーブル）に基づいて点火時期対応ポール基本値ｐｏｌｅ／ｉｇｔｂｌを回転数Ｆ／Ｂ経過時間Δｔ／ｎｆｂ  に応じて補正（乗算補正）するための補正係数ｋｉｇｔを求め、この補正係数ｋｉｇｔ（以下、時間対応補正係数ｋｉｇｔという）を点火時期対応ポール基本値ｐｏｌｅ／ｉｇｔｂｌに乗算することで、該点火時期対応ポール基本値ｐｏｌｅ／ｉｇｔｂｌを補正するようにしている。
【０４２２】
この場合、図２１のデータテーブルでは、時間対応補正係数ｋｉｇｔは、点火時期操作回転数Ｆ／Ｂ制御の初期段階（回転数Ｆ／Ｂ経過時間Δｔ／ｎｆｂ  が所定値Ｔ／ＮＦＢＸに達するまで）では、点火時期対応ポール基本値ｐｏｌｅ／ｉｇｔｂｌの絶対値を若干大きくする方向（回転数偏差Ｅｎの減衰速度を遅くする方向）に該点火時期対応ポール基本値ｐｏｌｅ／ｉｇｔｂｌを補正するような値（＞１）に定められている。しかもこのとき、時間対応補正係数ｋｉｇｔは、回転数Ｆ／Ｂ経過時間Δｔ／ｎｆｂ  が短い程、大きな値に定められ、これにより、回転数Ｆ／Ｂ経過時間Δｔ／ｎｆｂ  が短い程、点火時期対応ポール基本値ｐｏｌｅ／ｉｇｔｂｌの絶対値がより大きくなる（回転数偏差Ｅｎの減衰速度がより遅くなる）ように点火時期対応ポール基本値ｐｏｌｅ／ｉｇｔｂｌを補正するようにしている。そして、回転数Ｆ／Ｂ経過時間Δｔ／ｎｆｂ  が所定値Ｔ／ＮＦＢＸに達した後は、時間対応補正係数ｋｉｇｔは「１」に保持され、この状態では、点火時期対応ポール基本値ｐｏｌｅ／ｉｇｔｂｌを補正しないようにしている。
【０４２３】
さらに、本実施形態では、ＦＩＲＥモードの中断動作中は、点火時期操作回転数Ｆ／Ｂ制御は中断され、回転数Ｎｅのフィードバック制御を行わないため、該中断動作が解除され、点火時期操作回転数Ｆ／Ｂ制御を再開する際に、内燃機関１の回転数が目標回転数ｎｅ／ｆｉｒｅ  よりも大幅に高いものとなっていることがある。そして、このような状態では、前記回転数偏差Ｅｎが大きなものとなるため、点火時期操作回転数Ｆ／Ｂ制御によって前述の如く求められる点火時期の指令値ｉｇｌｏｇ  が急激に遅角側に過大なものとなり、内燃機関１の燃焼状態が悪化する虞れがある。従って、ＦＩＲＥモードの中断動作の解除によって点火時期操作回転数Ｆ／Ｂ制御を再開する際には、内燃機関１の回転数Ｎｅが目標回転数ｎｅ／ｆｉｒｅ  に対して大きく高回転側に離間しているような状況では、回転数偏差Ｅｎの減衰速度を遅くし、ひいては、点火時期の指令値ｉｇｌｏｇ  を過大に遅角側にするような前記点火時期偏差指令値ＤＩＧ  が求められるのを回避することが好ましいと考えられる。
【０４２４】
そこで、本実施形態では、制御サイクル毎に、内燃機関１の現在の回転数Ｎｅから、図２１に示す如くあらかじめ定めたデータテーブルに基づいて、点火時期対応ポール基本値ｐｏｌｅ／ｉｇｔｂｌを回転数Ｎｅに応じて補正（乗算補正）するための補正係数ｋｉｇｎｅ  （以下、回転数対応補正係数ｋｉｇｎｅ  という）を求める。この場合、図２１のデータテーブルでは、回転数対応補正係数ｋｉｇｎｅ  は基本的には、回転数Ｎｅが高い程（回転数Ｎｅが目標回転数ｎｅ／ｆｉｒｅ  に対して高回転側に離間している程）、点火時期対応ポール基本値ｐｏｌｅ／ｉｇｔｂｌの絶対値を大きくする方向（回転数偏差Ｅｎの減衰速度を遅くする方向）に該点火時期対応ポール基本値ｐｏｌｅ／ｉｇｔｂｌを補正するような値（＞１）に設定されている。そして、本実施形態では、回転数対応補正係数ｋｉｇｎｅ  に基づく点火時期対応ポール基本値ｐｏｌｅ／ｉｇｔｂｌの補正を、点火時期操作回転数Ｆ／Ｂ制御の再開後、所定期間ＸＣＮＴ（これは、前記図３のＳＴＥＰ５−１８で設定するカウントダウンタイマｃｎｔ／ｉｇｖｐｌ  の初期値である）だけ行うために、次式（５０）により回転数対応補正係数ｋｉｇｎｅ  を修正し、この修正した補正係数ｋｉｇｎｅｆ（以下、回転数対応修正補正係数ｋｉｇｎｅｆという）を点火時期対応ポール基本値ｐｏｌｅ／ｉｇｔｂｌに乗算することで、該点火時期対応ポール基本値ｐｏｌｅ／ｉｇｔｂｌを補正する。
【０４２５】
【数５０】
0003544477.tif 000051
【０４２６】
ここで、式（５０）中のカウントダウンタイマｃｎｔ／ｉｇｖｐｌ  は、図３のＳＴＥＰ５−１８によって、中断動作中（ＦＩＲＥ中断フラグｆ／ｆｐａｕｓｅ＝１の状態）に常時、上記所定期間ＸＣＮＴが設定される。そして、中断動作の解除により点火時期操作回転数Ｆ／Ｂ制御が再開されると、カウントダウンタイマｃｎｔ／ｉｇｖｐｌ  の値は、所定期間ＸＣＮＴの値から、制御サイクル毎に所定値づつ減少し、最終的に「０」になった後はその値に保持される。従って、式（５０）により求まる回転数対応修正補正係数ｋｉｇｎｅｆは、点火時期操作回転数Ｆ／Ｂ制御が再開してから所定期間ＸＣＮＴが経過するまでは、回転数Ｎｅに応じた値（≧１）であるが、該所定期間ＸＣＮＴが経過した後は、ｋｉｇｎｅｆ＝１である（このとき、回転数対応修正補正係数ｋｉｇｎｅｆによる点火時期対応ポール基本値ｐｏｌｅ／ｉｇｔｂｌの補正は行われなくなる）。
【０４２７】
尚、カウントダウンタイマｃｎｔ／ｉｇｖｐｌ  は、前記始動モード処理（ＳＴＥＰ３−２）において「０」に初期化されるもので、ＦＩＲＥモードの中断動作中と、該中断動作が終了してから所定期間ＸＣＮＴが経過するまでの期間とを除いて値が「０」に保持される。
【０４２８】
本実施形態では、制御サイクル毎に、前述のように求めた点火時期対応ポール基本値ｐｏｌｅ／ｉｇｔｂｌに、次式（５１）の如く前記時間対応補正係数ｋｉｇｔ及び回転数対応修正補正係数ｋｉｇｎｅｆを乗算してなる値を、最終的なポールｐｏｌｅ／ｉｇ  の値として設定する。
【０４２９】
【数５１】
0003544477.tif 000052
【０４３０】
尚、時間対応補正係数ｋｉｇｔは、点火時期操作回転数Ｆ／Ｂ制御の開始直後の初期段階においてのみｋｉｇｔ＞１となり、これ以外の状態では、ｋｉｇｔ＝１である。また、回転数対応修正補正係数ｋｉｇｎｅｆは、ＦＩＲＥモードの中断動作の解除直後の初期段階で、しかも回転数Ｎｅが比較的高い場合のみｋｉｇｎｅｆ＞１となり、これ以外の状態ではｋｉｇｎｅｆ＝１である。従って、式（５１）により設定されるポールｐｏｌｅ／ｉｇ  の値は、通常的には、点火時期対応ポール基本値ｐｏｌｅ／ｉｇｔｂｌである。
【０４３１】
以上説明した内容をふまえて、前記図４のＳＴＥＰ４−６において前記点火時期操作手段２６が行う点火時期の指令値ｉｇｌｏｇ  の生成処理を次に具体的に説明する。
【０４３２】
図２２のフローチャートを参照して、前記ＳＴＥＰ４−６では、点火時期操作手段２６は、まず、点火時期の基本指令値ｉｇｂａｓｅを決定する（ＳＴＥＰ２２−１）。この場合、該基本指令値ｉｇｂａｓｅは、例えば内燃機関１の現在の回転数Ｎｅや吸気圧Ｐｂ、機関温度Ｔｗ、大気温度Ｔａ等から、あらかじめ定めたマップや演算式を用いて求める。
【０４３３】
次いで、点火時期操作手段２６は、前記点火時期偏差指令値ＤＩＧ  を決定するための処理を図２３のフローチャートに示すように実行する（ＳＴＥＰ２２−２）。
【０４３４】
すなわち、ＳＴＥＰ２２−２の処理では、まず、現在のＦＩＲＥ実行可否フラグｆ／ｆｉｒｅｏｎの値を判断する（ＳＴＥＰ２３−１）。
【０４３５】
このとき、ｆ／ｆｉｒｅｏｎ＝１、すなわち、ＦＩＲＥモードの動作を行うべき状態である場合には、点火時期操作手段２６は点火時期操作回転数Ｆ／Ｂ制御を行うか否かをそれぞれ値「１」、「０」で表すフラグｆ／ｎｅｆｂ（以下、回転数Ｆ／Ｂ実行可否フラグｆ／ｎｅｆｂという）の値を判断する（ＳＴＥＰ２３−２）。
【０４３６】
この回転数Ｆ／Ｂ実行可否フラグｆ／ｎｅｆｂは、前記始動モード処理（ＳＴＥＰ４−２）において「０」に初期化されるものである。
【０４３７】
このＳＴＥＰ２３−２において、ｆ／ｎｅｆｂ＝０、すなわち、点火時期操作回転数Ｆ／Ｂ制御をまだ行うべき状態でない場合には、前記回転数Ｆ／Ｂ経過時間Δｔ／ｎｆｂ  の値を「０」に初期化する（ＳＴＥＰ２３−３）。該回転数Ｆ／Ｂ経過時間Δｔ／ｎｆｂ  は、ＳＴＥＰ２３−２でｆ／ｎｅｆｂ＝１となって、点火時期操作回転数Ｆ／Ｂ制御を行うべき状態となった制御サイクルから計時を開始するものであり、ＳＴＥＰ２３−２でｆ／ｎｅｆｂ＝１である場合には、ＳＴＥＰ２３−３の処理は省略される。
【０４３８】
次いで、点火時期操作手段２６は、今回の制御サイクルにおける目標回転数ｎｅ／ｆｉｒｅ（ｋ）と、次回の制御サイクルにおける目標回転数ｎｅ／ｆｉｒｅ（ｋ＋１）とを求める（ＳＴＥＰ２３−４）。この場合、今回の制御サイクルにおける目標回転数ｎｅ／ｆｉｒｅ（ｋ）は、現在の回転数Ｆ／Ｂ経過時間Δｔ／ｎｆｂ  から前記式（４８）により求められる。また、次回の制御サイクルにおける目標回転数ｎｅ／ｆｉｒｅ（ｋ＋１）に関しては、現在の内燃機関１の回転数Ｎｅ（回転数センサ１４の検出値）から把握される１制御サイクルの時間ΔＴを現在の回転数Ｆ／Ｂ経過時間Δｔ／ｎｆｂ  に加算することで回転数Ｆ／Ｂ予測経過時間Δｔ／ｎｆｂｐｒｅを求め、この回転数Ｆ／Ｂ予測経過時間Δｔ／ｎｆｂｐｒｅから前記式（４９）により目標回転数ｎｅ／ｆｉｒｅ（ｋ＋１）が求められる。
【０４３９】
尚、今回の制御サイクルにおける目標回転数ｎｅ／ｆｉｒｅ（ｋ）は、回転数Ｆ／Ｂ経過時間Δｔ／ｎｆｂ  がＳＴＥＰ２３−３で「０」に設定されている間（ｆ／ｎｅｆｂ＝０の状態）は、前記設定回転数（ＮＯＢＪ＋ＮＥＦＳＬＤＳ  ）である。
【０４４０】
次いで、点火時期操作手段２６は、内燃機関１の現在の回転数Ｎｅが現在の目標回転数ｎｅ／ｆｉｒｅ（ｋ）以上となったか否か（ＳＴＥＰ２３−５）、現在のＦＩＲＥ経過時間ｔ／ｆｉｒｅが所定値ＴＳＬＤＩＧＳＴ（一定値）以上となったか否か（ＳＴＥＰ２３−６）を順次判断する。
【０４４１】
そして、ＳＴＥＰ２３−５、２３−６のいずれかの条件が成立したときには、回転数Ｆ／Ｂ実行可否フラグｆ／ｎｅｆｂの値を「１」に設定する（ＳＴＥＰ２３−７）。これにより、ＦＩＲＥモードの動作が開始してから、内燃機関１の回転数Ｎｅが前記設定回転数（ＮＯＢＪ＋ＮＥＦＳＬＤＳ  ）に達した時、又は、ＦＩＲＥ経過時間ｔ／ｆｉｒｅが所定値ＴＳＬＤＩＧＳＴに達した時に回転数Ｆ／Ｂ実行可否フラグｆ／ｎｅｆｂが「１」に設定され、点火時期操作回転数Ｆ／Ｂ制御を行い得る状態となる。
【０４４２】
尚、ＳＴＥＰ２３−５、２３−６のいずれかの条件も成立しない状態では、ＳＴＥＰ２３−７の処理は省略され、回転数Ｆ／Ｂ実行可否フラグｆ／ｎｅｆｂの値は「０」に維持される。また、回転数Ｆ／Ｂ実行可否フラグｆ／ｎｅｆｂは、「１」に設定された後にＦＩＲＥモードの動作中に「０」に戻されることはない。
【０４４３】
次いで、点火時期操作手段２６は、内燃機関１の現在の回転数Ｎｅと、ＳＴＥＰ２３−４で求めた現在の目標回転数ｎｅ／ｆｉｒｅ（ｋ）とから今回の制御サイクルにおける前記回転数偏差Ｅｎ（ｋ）  （＝Ｎｅ−ｎｅ／ｆｉｒｅ（ｋ））を算出する（ＳＴＥＰ２３−８）。
【０４４４】
次いで、点火時期操作手段２６は、前記ＦＩＲＥ中断フラグｆ／ｆｐａｕｓｅの値を判断し（ＳＴＥＰ２３−９）、ｆ／ｆｐａｕｓｅ＝０、すなわち、ＦＩＲＥモードの中断動作を行う状態でない場合には、さらに回転数Ｆ／Ｂ実行可否フラグｆ／ｎｅｆｂの値を判断する（ＳＴＥＰ２３−１０）。
【０４４５】
このとき、ｆ／ｎｅｆｂ＝０である場合には、今回の制御サイクルにおける点火時期偏差指令値ＤＩＧ（ｋ）の値を「０」として（ＳＴＥＰ２３−１１）、図２２のルーチン処理に復帰する。
【０４４６】
一方、ＳＴＥＰ２３−１０でｆ／ｎｅｆｂ＝１である場合には、点火時期操作回転数Ｆ／Ｂ制御のための点火時期偏差指令値ＤＩＧ（ｋ）を算出する（ＳＴＥＰ２３−１２）。
【０４４７】
この点火時期偏差指令値ＤＩＧ（ｋ）の算出は次のように行われる。
【０４４８】
すなわち図２４のフローチャートを参照して、まず、点火時期の現在の指令値ｉｇｌｏｇ（ｋ−１）（前回の制御サイクルで決定された指令値）から、前記図１９のデータテーブルにより前記点火時期対応ポール基本値ｐｏｌｅ／ｉｇｔｂｌを求める（ＳＴＥＰ２４−１）。
【０４４９】
また、現在の回転数Ｆ／Ｂ経過時間Δｔ／ｎｆｂ  から、前記図２０のデータテーブルにより前記時間対応補正係数ｋｉｇｔを求める（ＳＴＥＰ２４−２）。
【０４５０】
また、内燃機関１の現在の回転数Ｎｅから、前記図２１のデータテーブルにより前記回転数対応補正係数ｋｉｇｎｅ  を求め（ＳＴＥＰ２４−３）、さらにこの回転数対応補正係数ｋｉｇｎｅ  と、前記カウントダウンタイマｃｎｔ／ｉｇｖｐｌ  の現在の値と、ＦＩＲＥモードの中断動作の終了後のカウントダウンタイマｃｎｔ／ｉｇｖｐｌ  の初期値としてあらかじめ定めた所定期間ＸＣＮＴとから前記式（５０）により前記回転数対応修正補正係数ｋｉｇｎｅｆを求める（ＳＴＥＰ２４−４）。
【０４５１】
そして、ＳＴＥＰ２４−１で求めた点火時期対応ポール基本値ｐｏｌｅ／ｉｇｔｂｌに、ＳＴＥＰ２４−２及び２４−４でそれぞれ求めた時間対応補正係数ｋｉｇｔ及び回転数対応修正補正係数ｋｉｇｎｅｆを乗算する（式（５１）の演算を行う）ことで、今回の制御サイクルにおけるポールｐｏｌｅ／ｉｇ  の値を決定する（ＳＴＥＰ２４−５）。
【０４５２】
次いで、点火時期操作手段２６は、今回及び前回の制御サイクルにおいてそれぞれ前記ＳＴＥＰ２３−８で求めた回転数偏差Ｅｎ（ｋ）  ，Ｅｎ（ｋ−１）  と、上記ＳＴＥＰ２４−５で求めたポールｐｏｌｅ／ｉｇ  の今回値とから、前記式（３９）の演算により今回の制御サイクルにおける前記切換関数σ２（ｋ）を求める（ＳＴＥＰ２４−６）。この場合において、式（３９）中の係数パラメータｓ３  ，ｓ４  はそれぞれ、「１」、「ｐｏｌｅ／ｉｇ  」である。
【０４５３】
次いで、点火時期操作手段２６は、前記式（４２）〜（４４）により、今回の制御サイクルにおける等価制御入力ＤＩＧｅｑ  、到達則入力ＤＩＧｒｃｈ、及び適応則入力ＤＩＤａｄｐをそれぞれ求める（ＳＴＥＰ２４−７）。
【０４５４】
より具体的には、等価制御入力ＤＩＧｅｑ  に関しては、まず、今回の制御サイクルにおいて前記ＳＴＥＰ２３−４で求めた目標回転数ｎｅ／ｆｉｒｅ（ｋ）及びｎｅ／ｆｉｒｅ（ｋ＋１）と、前回の制御サイクルにおいてＳＴＥＰ２３−４で求めた目標回転数ｎｅ／ｆｉｒｅ（ｋ−１）とから、それらの目標回転数ｎｅ／ｆｉｒｅ（ｋ），ｎｅ／ｆｉｒｅ（ｋ＋１），ｎｅ／ｆｉｒｅ（ｋ−１）の前記基準回転数Ｎｅ０（＝アイドリング回転数ＮＯＢＪ）に対する偏差、すなわち前記偏差回転数ｄｎｅ（ｋ），ｄｎｅ（ｋ＋１），ｄｎｅ（ｋ−１）を求める。そして、この偏差回転数ｄｎｅ（ｋ），ｄｎｅ（ｋ＋１），ｄｎｅ（ｋ−１）と、今回及び前回の制御サイクルにおいてそれぞれ前記ＳＴＥＰ２３−８で求めた回転数偏差Ｅｎ（ｋ）  ，Ｅｎ（ｋ−１）  と、ＳＴＥＰ２４−５で求めたポールｐｏｌｅ／ｉｇ  の今回値とを用いて式（４２）の演算を行うことで、等価制御入力ＤＩＧｅｑ（ｋ）が求められる。この場合において、式（４２）中の係数パラメータｓ３  ，ｓ４  はそれぞれ、「１」、「ｐｏｌｅ／ｉｇ  」である。また、式（４２）中のモデルパラメータｃ１  ，ｃ２  ，ｄ１  は前記回転数制御対象モデル（式（３８）を参照）についてあらかじめ同定した所定値である。
【０４５５】
また、到達則入力ＤＩＧｒｃｈに関しては、前記ＳＴＥＰ２４−６で求めた切換関数σ２（ｋ）の値を用いて式（４３）の演算を行うことで、到達則入力ＤＩＧｒｃｈ（ｋ）  が求められる。この場合において式（４３）中の係数パラメータｓ３  は「１」であり、また、式（４３）中の係数Ｆ３  は前記式（４５）もしくは（４５）’の条件を満たすようにあらかじめ設定した所定値である。
【０４５６】
また、適応則入力ＤＩＤａｄｐに関しては、ＳＴＥＰ２４−６で制御サイクル毎に求められる切換関数σ２  の値を制御サイクル毎に累積加算することで、切換関数σ２  の積算値Σσ２  を求める。そして、この積算値Σσ２  を用いて前記式（４４）の演算を行うことで、適応則入力ＤＩＤａｄｐを求める。この場合において式（４４）中の係数パラメータｓ３  は「１」であり、また、式（４４）中の係数Ｆ４  は前記式（４６）の条件を満たすようにあらかじめ設定した所定値である。
【０４５７】
上記のようにして等価制御入力ＤＩＧｅｑ  、到達則入力ＤＩＧｒｃｈ、及び適応則入力ＤＩＤａｄｐを求めた後、点火時期操作手段２６は、式（４１）に従ってそれらの総和を演算することで、今回の制御サイクルにおける点火時期偏差指令値ＤＩＧ（ｋ）を求め（ＳＴＥＰ２４−８）、図２３のルーチン処理に復帰する。
【０４５８】
図２３の説明に戻って、上記のようにしてＳＴＥＰ２３−１２で点火時期偏差指令値ＤＩＧ（ｋ）を算出した後、点火時期操作手段２６は、該点火時期偏差指令値ＤＩＧ（ｋ）の値を所定の上限値と下限値との間の値に制限する（ＤＩＧ（ｋ）＞上限値、あるいはＤＩＧ（ｋ）＜下限値であるとき、それぞれＤＩＧ（ｋ）の値を強制的に上限値、下限値に設定する）リミット処理を行った後（ＳＴＥＰ２３−１３）、図２２のルーチン処理に復帰する。
【０４５９】
前記ＳＴＥＰ２３−９でｆ／ｆｐａｕｓｅ＝１の場合、すなわち、ＦＩＲＥモードの中断動作を行うべき状態となっている場合には、点火時期操作回転数Ｆ／Ｂ制御を中断し、点火時期の指令値ｉｇｌｏｇ  を基本指令値ｉｇｂａｓｅに徐々に戻す（点火時期偏差指令値ＤＩＧ  を徐々に「０」に戻す）ために、その指令値ｉｇｌｏｇ  の制御サイクル毎の戻し量を規定する単位値ｄｅｃ／ｉｇ（＞０。以下、点火時期戻し単位値ｄｅｃ／ｉｇという）を決定する（ＳＴＥＰ２３−１４）。
【０４６０】
また、ＳＴＥＰ２３−１でｆ／ｆｉｒｅｏｎ＝１の場合、すなわち、ＦＩＲＥモードの動作を終了するかもしくは行わない状態となっている場合にも、点火時期の指令値ｉｇｌｏｇ  を基本指令値ｉｇｂａｓｅに徐々に戻すために、前記点火時期戻し単位値ｄｅｃ／ｉｇを決定する（ＳＴＥＰ２３−１５）。
【０４６１】
この場合、本実施形態では、ＳＴＥＰ２３−１５では、点火時期戻し単位値ｄｅｃ／ｉｇをあらかじめ定めた所定値（一定値）に設定するが、ＦＩＲＥモードの中断動作に際してＳＴＥＰ２３−１４で設定する点火時期戻し単位値ｄｅｃ／ｉｇは、現在のスロットル弁５の開度に比例させた値（スロットル弁５の開度が大きい程、点火時期戻し単位値ｄｅｃ／ｉｇを大きくする）に決定する。
【０４６２】
これは次の理由による。すなわち、ＦＩＲＥモードの中断動作は、基本的には、車両のアクセルペダルの操作によって、車両の走行や内燃機関１のからぶかしを行う状況で行われるものである。そして、このときスロットル弁５の開度が前述の如くアクセル操作量Ａｐに応じた開度に操作され、該スロットル弁５の開度が大きい状況では、内燃機関１の所要の動作性能を確保するために、点火時期をなるべくすみやかに通常的な点火時期（これは基本指令値ｉｇｂａｓｅに相当する）を戻すことが好ましいと考えられる。このために、ＳＴＥＰ２３−１４では、点火時期戻し単位値ｄｅｃ／ｉｇをスロットル弁５の開度に比例させた値に決定する。
【０４６３】
尚、この場合に点火時期戻し単位値ｄｅｃ／ｉｇを決定するために必要となるスロットル弁５の開度は、コントローラ２からスロットル弁アクチュエータ２３に与える開度指令値あるいは図示しないセンサによる開度の検出値を用る。
【０４６４】
このようにして、点火時期戻し単位値ｄｅｃ／ｉｇを決定した後、点火時期操作手段２６は、次に、現在の点火時期偏差指令値ＤＩＧ  の値（これは前回の制御サイクルで決定された点火時期偏差指令値ＤＩＧ（ｋ−１）である）が「０」より小さいか否か、すなわち、遅角側の値であるか否かを判断する（ＳＴＥＰ２４−１６）。
【０４６５】
そして、ＤＩＧ（ｋ−１）＜０である場合（ＤＩＧ（ｋ−１）が遅角側の値である場合）には、現在の点火時期偏差指令値ＤＩＧ（ｋ−１）に前記ＳＴＥＰ２４−１４又は２４−１５で決定した点火時期戻し単位値ｄｅｃ／ｉｇを加算した値（ＤＩＧ（ｋ−１）＋ｄｅｃ／ｉｇ）を今回の制御サイクルにおける点火時期偏差指令値ＤＩＧ（ｋ）として決定し（ＳＴＥＰ２４−１７）、図２２のルーチン処理に復帰する。尚、この場合において、点火時期偏差指令値ＤＩＧ（ｋ）の上限値を「０」とし、（ＤＩＧ（ｋ−１）＋ｄｅｃ／ｉｇ）が「０」より大きくなるような場合には、点火時期偏差指令値ＤＩＧ（ｋ）の値を強制的に「０」とする。
【０４６６】
一方、ＳＴＥＰ２４−１６でＤＩＧ（ｋ−１）≧０の場合（実質上は、ＤＩＧ（ｋ−１）＝０の場合）には、ＦＩＲＥ実行可否フラグｆ／ｆｉｒｅｏｎの値を判断し（ＳＴＥＰ２４−１８）、ｆ／ｆｉｒｅｏｎ＝１の場合（この場合は、ＦＩＲＥモードの中断動作中である）には、今回の制御サイクルにおける点火時期偏差指令値ＤＩＧ（ｋ）を「０」として（ＳＴＥＰ２４−１９）、図２２のルーチン処理に復帰する。
【０４６７】
尚、ＦＩＲＥモードの中断動作中（ｆ／ｆｉｒｅｏｎ＝１且つｆ／ｆｐａｕｓｅの状態）は、切換関数σ２  の積算値Σσ２  の値は中断動作の開始直前の値に保持される。
【０４６８】
また、ＳＴＥＰ２４−１８でｆ／ｆｉｒｅｏｎ＝０の場合、すなわち、ＦＩＲＥモードの終了状態である場合には、ＦＩＲＥ中断フラグｆ／ｆｐａｕｓｅ及び回転数Ｆ／Ｂ実行可否フラグｆ／ｎｅｆｂの値を「０」にリセットすると共に、点火時期偏差指令値ＤＩＧ（ｋ）、切換関数σ２  の値及びその積算値Σσ２  、等価制御入力ＤＩＧｅｑ  、到達則入力ＤＩＧｒｃｈ、適応則入力ＤＩＧａｄｐの値等を「０」に初期化した後（ＳＴＥＰ２４−２０）、図２２のルーチン処理に復帰する。
【０４６９】
図２２の説明に戻って、前述の如く、ＳＴＥＰ２２−２で点火時期偏差指令値ＤＩＧ  を決定する処理を実行した後、点火時期操作手段２６は、ＳＴＥＰ２２−１で決定した基本指令値ｉｇｂａｓｅにＳＴＥＰ２２−２で決定した点火時期偏差指令値ＤＩＧ  を加算することで、今回の制御サイクルにおける点火時期の指令値ｉｇｌｏｇ  を求める（ＳＴＥＰ２２−３）。
【０４７０】
次いで、点火時期操作手段２６は、前述した吸入空気量操作手段２５の前記点火時期応動補正処理に関して図１２示した点火時期の遅角側の限界値ＩＧＬＧＧ  とこの限界値ＩＧＬＧＧ  よりも若干進角側の閾値ＩＧＸ  とを決定する（ＳＴＥＰ２２−４）。
【０４７１】
この場合、点火時期の遅角側の限界値ＩＧＬＧＧ  は、内燃機関１の機関温度Ｔｗから図示しないデータテーブルに基づいて求められ、該限界値ＩＧＬＧＧ  以上の進角側の点火時期では、内燃機関１の正常な運転を行い得るように定められる。また、閾値ＩＧＸ  は、限界値ＩＧＬＧＧ  にあらかじめ定めた所定値（一定値）を加算した値（限界値ＩＧＬＧＧ  よりも所定値だけ進角側の値）に設定する。尚、限界値ＩＧＬＧＧ  は、内燃機関１の機関温度Ｔｗが通常的な温度範囲にある場合には、一定値であるが、機関温度Ｔｗがかなり低温な温度範囲にある場合には、通常的な温度範囲の場合よりも進角側の値になるようにしている。
【０４７２】
このようにして点火時期の遅角側の限界値ＩＧＬＧＧ  と閾値ＩＧＸ  とを決定した後、点火時期操作手段２６は、前記ＳＴＥＰ２２−３で求めた指令値ｉｇｌｏｇ  を閾値ＩＧＸ  と比較する（ＳＴＥＰ２２−５）。そして、このとき、指令値ｉｇｌｏｇ  が閾値ＩＧＸ  に等しいかもしくは該閾値ＩＧＸ  よりも進角側の値である場合（ｉｇｌｏｇ  ≧ＩＧＸ  ）には、前記点火時期応動補正処理を行わないため前記点火時期判別フラグｆ／ｄｅｃ  （図１５のＳＴＥＰ１５−７を参照）の値を「０」に設定し（ＳＴＥＰ２２−６）、ＳＴＥＰ２２−９に進む。
【０４７３】
また、ＳＴＥＰ２２−５でｉｇｌｏｇ  ＜ＩＧＸ  である場合には、前記点火時期応動補正処理を行うべく前記点火時期判別フラグｆ／ｄｅｃ  の値を「１」に設定し（ＳＴＥＰ２２−７）、さらに、吸入空気量操作手段２５による前記学習補正処理に係わる前記学習演算終了フラグｆ／ｆｌｒｎｅｎｄ  の値を判断する（ＳＴＥＰ２２−８）。そして、点火時期操作手段２６は、ｆ／ｆｌｒｎｅｎｄ  ＝０である場合にのみ、現在のＦＩＲＥ経過時間ｔ／ｆｉｒｅの値を前記学習終了時刻パラメータｔ／ｋｉｌ  の値として保持しておき（ＳＴＥＰ２２−９）、さらに前記基本学習補正係数ｖｐｓｋｉｓｌｄの算出処理を終了すべく学習演算終了フラグｆ／ｆｌｒｎｅｎｄ  の値を「１」に設定する（ＳＴＥＰ２２−１０）。
【０４７４】
次いで、点火時期操作手段２６は、ＳＴＥＰ２２−３で求めた指令値ｉｇｌｏｇ  をＳＴＥＰ２２−４で決定した遅角側の限界値ＩＧＬＧＧ  と比較し（ＳＴＥＰ２２−１１）、ｉｇｌｏｇ  ≧ＩＧＬＧＧ  である場合、すなわち指令値ｉｇｌｏｇ  が遅角側の限界値ＩＧＬＧＧ  内に収まっている場合には、図４のメインルーチンの処理に復帰する。
【０４７５】
一方、ｉｇｌｏｇ  ＜ＩＧＬＧＧ  である場合、すなわち、ＳＴＥＰ２２−３で求めた指令値ｉｇｌｏｇ  が、遅角側の限界値ＩＧＬＧＧ  を超えて遅角側の値となっている場合には、指令値ｉｇｌｏｇ  を強制的に限界値ＩＧＬＧＧ  に設定する（ＳＴＥＰ２２−１２）。さらにこのとき、切換関数σ２  の値の積算値Σσ２  の値をｉｇｌｏｇ  ＜ＩＧＬＧＧ  となる直前の制御サイクルで求めた値に強制的にホールド（保持）した後（ＳＴＥＰ２２−１３）、図４のメインルーチンの処理に復帰する。このように積算値Σσ２  の値をホールドするのは、点火時期の指令値ｉｇｌｏｇ  を強制的に限界値ＩＧＬＧＧ  に設定する状態で、前記ＳＴＥＰ２３−１２の処理により点火時期偏差指令値ＤＩＧ  の算出を継続して行うと、切換関数σ２  の値の積算値Σσ２  の値、ひいては前記適応則入力ＤＩＧａｄｐの値（絶対値）が過剰に大きくなってしまうからである。
【０４７６】
以上、図１９〜図２４を参照して説明した処理が、前記図４のＳＴＥＰ４−６で点火時期の指令値ｉｇｌｏｇ  を制御サイクル毎に生成する処理の詳細であり、このようにして決定された指令値ｉｇｌｏｇ  は前記点火装置２１に与えられる。そして、該点火装置２１は、与えられた指令値ｉｇｌｏｇ  に従って内燃機関１の点火時期を操作する。
【０４７７】
以上説明した本実施形態のシステムの作動によって、前記ＦＩＲＥモードの動作では、バイパス開度の操作により内燃機関１の燃焼室４の吸入空気量が通常のアイドリング運転時よりも増量される。また、これと並行して、点火時期操作回転数Ｆ／Ｂ制御によって、内燃機関１の回転数Ｎｅを所要の目標回転数ｎｅ／ｆｉｒｅ  （最終的にはアイドリング回転数ＮＯＢＪ）に収束させるように点火時期が遅角側に操作される。これにより、内燃機関１が混合気の燃焼により生成する排ガスによって触媒装置３に与えられる熱量が通常のアイドリング運転時よりも多くなって、該触媒装置３の昇温・活性化を早期に行うことが可能となると同時に、吸入空気量の増量によって上昇傾向となる内燃機関１の回転数Ｎｅを適正な回転数に維持することができる。
【０４７８】
この場合、吸入空気量の増量に関しては、その増量を開始してから触媒装置３に実際に与えられる瞬時瞬時の熱量の積算値に相当する前記推定積算吸入空気量ｑａｉｒ／ｐｒｅを、触媒装置３に実際に与えるべき熱量の目標積算値に相当する目標積算吸入空気量ｑａｉｒ／ｃｍｄに収束させるように、吸気側適応ＳＬＤ制御を用いた前記吸気量Ｆ／Ｂ制御補正処理によってバイパス開度の指令値が補正される。
【０４７９】
例えば図２５の中段に示す如く、前記構造要因による吸入空気量のばらつきに起因して、推定積算吸入空気量ｑａｉｒ／ｐｒｅが標準開度指令値θ０  に応じて定まる目標積算吸入空気量ｑａｉｒ／ｃｍｄに対して誤差（吸気偏差Ｅｑ）を生じたとき、開度指令Θ（バイパス開度の指令値）は、同図の上段に示す如く、標準開度指令θ０  に対して前記ＳＬＤ開度補正量ｉ／ｓｌｄ  だけ補正される。そして、この補正により、同図の中段に示す如く推定積算吸入空気量ｑａｉｒ／ｐｒｅを目標積算吸入空気量ｑａｉｒ／ｃｍｄに収束させ、ひいては、触媒装置３に実際に与えられる熱量の積算値をその目標値に追従させることができる。これにより、前記構造要因による吸入空気量のばらつきを補償し、ひいては、該構造要因による触媒装置３の昇温形態のばらつきを解消することができる。
【０４８０】
さらに、本実施形態では、前記大気条件補正処理により求めた前記大気圧補正係数ｋｐａ  と大気温度補正係数ｋｔａ  とによって、開度指令Θを乗算補正する。すなわち、大気圧Ｐａが低い程、開度指令Θを増加側に補正し、また、大気温度が高い程、開度指令Θを増加側に補正する。これにより、大気条件による吸入空気量のばらつきを補償し、ひいては、該大気条件による触媒装置３の昇温形態のばらつきも解消することができる。
【０４８１】
この結果、ＦＩＲＥモードにおける触媒装置３の昇温形態を所望の昇温形態に合わせることができ（本実施形態では、内燃機関１の始動時の機関温度Ｔｗや、ＦＩＲＥモードの動作中の自動変速機のシフト位置が一定であれば、ＦＩＲＥモードの中断動作が行われる場合を除いて、各回のＦＩＲＥモードの動作による触媒装置３の昇温形態はほぼ同じになる）、該ＦＩＲＥモードの動作による触媒装置３の所望の昇温・活性化を確実に行うことができる。
【０４８２】
また、前記標準開度指令値θ０  、ひいては目標吸入空気量ｇａｉｒ／ｃｍｄ及び目標積算吸入空気量ｑａｉｒ／ｃｍｄは、内燃機関１の始動時における触媒装置３の温度状態に相当する内燃機関１の始動時の機関温度Ｔｗに応じたものに設定するため（基本的には、該機関温度Ｔｗが高い程、目標吸入空気量ｇａｉｒ／ｃｍｄ及び目標積算吸入空気量ｑａｉｒ／ｃｍｄは小さくなる）、内燃機関１の始動時の触媒装置３の温度状態に適した該触媒装置３の昇温・活性化を行うことができる。つまり、ＦＩＲＥモードにおける触媒装置３の昇温形態（経時的な温度の上昇度合い）は、内燃機関１の始動時における触媒装置３の温度状態に応じたものとなるが、ＦＩＲＥモードの動作による最終的な触媒装置３の温度状態を該触媒装置３の活性化の上で適正な温度状態にすることができる。
【０４８３】
また、標準開度指令値θ０  により規定される目標積算吸入空気量ｑａｉｒ／ｃｍｄは、それに対応して内燃機関１の燃焼室４に制御サイクル毎に吸入されるべき吸入空気量、すなわち目標吸入空気量ｇａｉｒ／ｃｍｄを、ＦＩＲＥ経過時間ｔ／ｆｉｒｅが所定値ｔ２  （図７を参照）に達した後（内燃機関１の暖機がある程度進行した後）は、緩やかに減少させていくように設定される。このため、内燃機関１の暖機の進行によって、その各部のフリクションが低下しても内燃機関１の回転数Ｎｅが上昇傾向となるのを予防することができる。そして、この結果、内燃機関１の点火時期が前記点火時期操作Ｆ／Ｂ制御によって、過剰に遅角側に操作されるのを予防することができる。
【０４８４】
さらに、本実施形態では、点火時期操作回転数Ｆ／Ｂ制御によって決定される点火時期の指令値ｉｇｌｏｇ  が、該点火時期を操作し得る遅角側の限界値ＩＧＬＧＧ  に近い閾値ＩＧＸ  を超えたときには、前記吸気量Ｆ／Ｂ制御補正処理を中断して、前記点火時期応動補正処理によって、開度指令Θをフィードフォワード的に減少させる。このため、内燃機関１のフリクションの低下が予想以上に大きく、あるいは早期に生じた場合であっても、内燃機関１の回転数Ｎｅの上昇傾向の高まりを抑え、点火時期が遅角側の限界値ＩＧＬＧＧ  に達する程、過剰に遅角側に操作されるような事態を回避することができる。
【０４８５】
また、本実施形態では、前記吸気量Ｆ／Ｂ制御補正処理に、外乱や制御対象のモデル化誤差や外乱の影響を受けにくいスライディングモード制御を用い、特に、外乱等の影響を極力排除するための適応則を用いた適応スライディングモード制御（吸気側適応ＳＬＤ制御）を用いることで、推定積算吸入空気量ｑａｉｒ／ｐｒｅを目標積算吸入空気量ｑａｉｒ／ｃｍｄに収束させ、ひいては、触媒装置３に与える熱量の積算値をその目標値に収束させる制御を高い安定性で行うことができる。この結果、触媒装置３の所望の昇温・活性化をより確実に行うことができる。
【０４８６】
また、前記吸気量Ｆ／Ｂ制御補正処理の吸気側適応ＳＬＤ制御にあっては、その制御対象を開度指令Θから積算吸入空気量Ｑａを生成する系として、離散系のモデル（吸気制御対象モデル）で表現したため、該制御対象を連続系のモデルで表現する場合に比して、点火時期側適応ＳＬＤ制御のアルゴリズムを簡素でコンピュータ処理に適したものに構築することができる。
【０４８７】
特に、吸気側適応ＳＬＤ制御の制御対象を離散系でモデル化することで、吸気側適応ＳＬＤ制御に用いる切換関数σ１  を、前記吸気偏差Ｅｑの変化速度等を用いることなく、該吸気偏差Ｅｑのみの時系列データを用いて構成することができる。この結果、前記ＳＬＤ開度補正量ｉ／ｓｌｄ  を求めるために必要な切換関数σ１  の値の信頼性を高め、ひいては、吸気側適応ＳＬＤ制御の信頼性を高めることができる。
【０４８８】
さらに、吸気側適応ＳＬＤ制御では、等価制御入力Θｅｑのフィードバック項Θｅｑ／ｆｂ  を省略して、フィードフォワード項Θｅｑ／ｆｆ  に相当する標準開度指令値θ０  を本実施形態での等価制御入力Θｅｑとすることで、制御対象のモデル（吸気制御対象モデル）のモデルパラメータａ１  ，ａ２  ，ｂ１  を用いずに簡略なアルゴリズムで、ＳＬＤ開度補正量ｉ／ｓｌｄ  を求めることができる。
【０４８９】
尚、ＳＬＤ開度補正量ｉ／ｓｌｄ  をモデルパラメータａ１  ，ａ２  ，ｂ１  を用いて求めるようにしてもよいことはもちろんであるが、この場合であっても、吸気側適応ＳＬＤ制御の制御対象のモデルを離散系で構築しているため、既知の同定アルゴリズムを用いることで、モデルパラメータａ１  ，ａ２  ，ｂ１  の値を的確に同定することが可能である。
【０４９０】
また、前記吸気量Ｆ／Ｂ制御補正処理にあっては、図２５の中段に示される如く、内燃機関１の始動直後の前記ＳＬＤ補正制限時間ＴＩＳＬＤＬＭＴが経過するまでは、推定積算吸入空気量ｑａｉｒ／ｐｒｅ及び目標積算吸入空気量ｑａｉｒ／ｃｍｄの値を強制的に「０」に保持し、ひいては、ＳＬＤ開度補正量ｉ／ｓｌｄ  の値も「０」に保持する。
【０４９１】
このため、内燃機関１の始動直後は、ＳＬＤ補正制限時間ＴＩＳＬＤＬＭＴが経過するまで吸気量Ｆ／Ｂ制御補正処理が行われないこととなり、バイパス開度は、標準開度指令値θ０  （より正確には、標準開度指令値θ０  に大気圧補正係数ｋｐａ  、大気温度補正係数ｋｔａ  及び学習補正係数ｋｉｌｅａｒｎ  を乗算した値）を主体として、フィードフォワード的に操作されることとなる（図２５の上段を参照）。
【０４９２】
従って、内燃機関１の始動直後は、吸入空気量は、標準開度指令値θ０  の上昇形態と同じような形態で滑らかに増量されていくこととなり、この結果、始動直後の内燃機関１の燃焼状態を円滑に安定化し、内燃機関１の良好なエミッション状態を確保することができる。
【０４９３】
さらに、吸気量Ｆ／Ｂ制御補正処理を実際に開始する際には、図２５の下段に示す如く前記吸気側適応ＳＬＤ制御に係わるポールｐｏｌｅ／ｉの値を、ＦＩＲＥ経過時間ｔ／ｆｉｒｅが所定値ＴＰＯＬＥＸに達するまで、「−１」側から徐々に増加させる（｜ｐｏｌｅ／ｉ｜を徐々に減少させる）ことで、前記吸気偏差Ｅｑの減衰速度をＦＩＲＥ経過時間ｔ／ｆｉｒｅが所定値ＴＰＯＬＥＸに達するまでは、該所定値ＴＰＯＬＥＸに達した後よりも遅くする。
【０４９４】
この結果、吸気量Ｆ／Ｂ制御補正処理の開始によって、開度指令Θ、ひいては、吸入空気量が急激に大きく変化するような事態が回避され、これによっても、始動後の初期段階における内燃機関１の燃焼状態の安定性を保ちつつ、内燃機関１の良好なエミッション状態を確保することができる。
【０４９５】
また、本実施形態では、前記学習補正処理によって、ＦＩＲＥモードの動作毎に吸気量Ｆ／Ｂ制御補正処理によるＳＬＤ開度補正量ｉ／ｓｌｄ  を学習し、該ＳＬＤ開度補正量ｉ／ｓｌｄ  をＦＩＲＥモードの動作中に積算してなるＳＬＤ積算吸気補正量ｑａｉｒ／ｓｌｄの、目標積算吸入空気量ｑａｉｒ／ｃｍｄに対する比の値に基づく学習補正係数ｋｉｌｅａｒｎ  （基本的には前記基本学習補正係数ｖｐｓｋｉｓｌｄ）を求める。そして、次回のＦＩＲＥモードの動作に際して、この学習補正係数ｋｉｌｅａｒｎ  によりＦＩＲＥモードの全期間にわたって開度指令Θをフィードフォワード的に乗算補正することで、ＦＩＲＥモード中のＳＬＤ開度補正量ｉ／ｓｌｄ  による制御サイクル毎の開度指令Θの補正を最小限に留めることができる。この結果、構造要因による吸入空気量のばらつきが大きく生じたような場合であっても、吸入空気量の時間的変化のパターンが標準開度指令値θ０  のパターンに対して大きく逸脱した変化を呈するような事態を回避することができ、内燃機関１の燃焼状態やエミッション状態を損なうことなく安定した内燃機関１の運転を行うことができる。
【０４９６】
また、本実施形態では、ＦＩＲＥモードの動作中に車両のアクセルペダルの操作による内燃機関１のからぶかしや車両の発進・走行が行われて、内燃機関１のアイドリング運転以外の運転を行う状態となり、ＦＩＲＥモードの中断動作を行う状況でも、吸入空気量の増量側へのバイパス開度の操作を行う（但し、吸気量Ｆ／Ｂ制御補正処理は中断）と共に、推定積算吸入空気量ｑａｉｒ／ｐｒｅ及び目標積算吸入空気量ｑａｉｒ／ｃｍｄの算出を継続する。そして、該中断動作の解除後に、吸気量Ｆ／Ｂ制御補正処理を再開して、推定積算吸入空気量ｑａｉｒ／ｐｒｅを目標積算吸入空気量ｑａｉｒ／ｃｍｄに収束させるように開度指令Θを補正する。このため、ＦＩＲＥモードの動作中に、内燃機関１のアイドリング運転以外の運転を行う状況となり、ＦＩＲＥモードの中断動作を行うような状況が生じても、ＦＩＲＥモード制限時間ＴＦＩＲＥＬＭＴ内における触媒装置３の昇温・活性化を確実に行うことができる。
【０４９７】
また、点火時期操作回転数Ｆ／Ｂ制御に関しては、そのフィードバック制御処理に、前記吸気量Ｆ／Ｂ制御補正処理の場合と同様に、適応スライディングモード制御（点火時期側適応ＳＬＤ制御）を用いることで、内燃機関１の回転数Ｎｅの目標回転数ｎｅ／ｆｉｒｅ  への制御の安定性を高めることができる。
【０４９８】
この場合、特に、応答指定型制御である点火時期側適応ＳＬＤ制御の応答指定特性を利用し、回転数Ｎｅの制御のために操作する点火時期の指令値ｉｇｌｏｇ  が遅角側の値である程、回転数偏差Ｅｎ（＝Ｎｅ−ｎｅ／ｆｉｒｅ  ）の減衰速度を遅くするように、該減衰速度を規定するパラメータである前記ポールｐｏｌｅ／ｉｇ  （＝ｓ４  ／ｓ３  ）の通常的な値として設定される前記点火時期対応ポール基本値ｐｏｌｅ／ｉｇｔｂｌを可変的に定める。つまり、一般に、点火時期が遅角側である程、該点火時期の変化に対する内燃機関１の回転数Ｎｅの変化が大きなものとなるが、このような状態では、回転数偏差Ｅｎの減衰速度を遅めにするようにポールｐｏｌｅ／ｉｇ  の値を設定することで、点火時期側適応ＳＬＤ制御により決定される指令値ｉｇｌｏｇ  の変化を抑制し、回転数Ｎｅが目標回転数ｎｅ／ｆｉｒｅ  に対して急変するのを回避する。また、逆に点火時期の進角側では、回転数偏差Ｅｎの減衰速度を速めにするようにポールｐｏｌｅ／ｉｇ  の値を設定することで、回転数Ｎｅの目標回転数ｎｅ／ｆｉｒｅ  への迅速な追従性を確保する。これにより、回転数Ｎｅの目標回転数ｎｅ／ｆｉｒｅ  への制御の適正な速応性を確保しつつ安定性を高めることができる。
【０４９９】
また、点火時期操作回転数Ｆ／Ｂ制御の開始直後の初期段階（回転数Ｆ／Ｂ経過時間Δｔ／ｎｆｂ  が所定値Ｔ／ＮＦＢＸに達するまで）では、回転数偏差Ｅｎの減衰速度を遅くするように前記時間対応補正係数ｋｉｇｔにより点火時期対応ポール基本値ｐｏｌｅ／ｉｇｔｂｌを乗算補正してポールｐｏｌｅ／ｉｇ  を決定する。これにより、点火時期操作回転数Ｆ／Ｂ制御の開始直後に回転数Ｎｅが急激に変動し、内燃機関１の燃焼状態が悪化するような事態を回避することができる。
【０５００】
さらに、本実施形態では、ＦＩＲＥモードの中断動作の解除後に点火時期操作回転数Ｆ／Ｂ制御を再開するに際して、内燃機関１の回転数Ｎｅが目標回転数ｎｅ／ｆｉｒｅ  に対して高回転側に大きく離間している程、回転数偏差Ｅｎの減衰速度を遅くするように前記回転数対応修正補正係数ｋｉｇｎｅｆにより点火時期対応ポール基本値ｐｏｌｅ／ｉｇｔｂｌを乗算補正してポールｐｏｌｅ／ｉｇ  を決定する。これにより、点火時期操作回転数Ｆ／Ｂ制御を再開に際して内燃機関１の回転数Ｎｅが目標回転数ｎｅ／ｆｉｒｅ  に対して高回転側に大きく離間しているときに、大きな回転数偏差Ｅｎに応じて急激に点火時期の指令値ｉｇｌｏｇ  が遅角側に変化するのを抑制し、内燃機関１の安定した運転状態を確保することができる。
【０５０１】
さらに本実施形態では、点火時期操作回転数Ｆ／Ｂ制御に係わる前記回転数偏差Ｅｎの減衰速度を規定するポールｐｏｌｅ／ｉｇ  の絶対値よりも、前記吸気量Ｆ／Ｂ制御補正処理に係わる前記吸気偏差Ｅｑの減衰速度を規定するポールｐｏｌｅ／ｉの絶対値の方が大きな値に設定される（図１７のＳＴＥＰ１７−７、１７−８の処理を参照）。換言すれば、ポールｐｏｌｅ／ｉｇ  は、回転数偏差Ｅｎの減衰速度が吸気偏差Ｅｑの減衰速度よりも速くなるような値に設定される。このため、点火時期操作回転数Ｆ／Ｂ制御により内燃機関１の回転数Ｎｅを目標回転数ｎｅ／ｆｉｒｅ  に収束させるフィードバック制御と、吸気量Ｆ／Ｂ制御補正処理により推定積算吸入空気量ｑａｉｒ／ｐｒｅを目標積算吸入空気量ｑａｉｒ／ｃｍｄに収束させるフィードバック制御との相互の干渉を回避して内燃機関１の回転数Ｎｅを安定して目標回転数ｎｅ／ｆｉｒｅ  に制御することができる。
【０５０２】
また、本実施形態では、点火時期操作回転数Ｆ／Ｂ制御に用いる点火時期側適応ＳＬＤ制御では、その制御対象を点火時期の指令値ｉｇｌｏｇ  に相当する点火時期偏差指令値ＤＩＧ  から、内燃機関１の回転数Ｎｅに相当する偏差回転数ＤＮＥ  を生成する系として、離散系のモデル（回転数制御対象モデル）で表現したことで、点火時期側適応ＳＬＤ制御のアルゴリズムを簡素でコンピュータ処理に適したものとすることができる。
【０５０３】
特に、点火時期側適応ＳＬＤ制御の制御対象を離散系でモデル化することで、吸気側適応ＳＬＤ制御の場合と同様、切換関数σ２  を、前記回転数偏差Ｅｎの変化速度等を用いることなく、該回転数偏差Ｅｎのみの時系列データを用いて構成することができる。この結果、前記点火時期偏差指令値ＤＩＧ  を求めるために必要な切換関数σ２  の値の信頼性を高め、ひいては、点火時期側適応ＳＬＤ制御の信頼性を高めることができる。
【０５０４】
尚、本実施形態では、ＦＩＲＥモードにおける内燃機関１の燃焼室４の吸入空気量の増量のための流量制御弁としてバイパス弁７を用いたが、スロットル弁５の開度を操作することで、吸入空気量の増量を行うようにしてもよい。
【０５０５】
また、本実施形態では、内燃機関１の燃焼室４の吸入空気量（推定吸入空気量ｇａｉｒ／ｐｒｅ）を吸気圧Ｐｂから推定して得るようにしたが、エアフローセンサ等を用いて直接的に検出して得るようにしてもよい。
【０５０６】
また、本実施形態では、前記吸気量Ｆ／Ｂ制御補正処理の応答指定型制御として適応スライディングモード制御を用いたが、適応則を省いた通常のスライディングモード制御を用いてもよく、これ以外にもＩＬＱ制御（応答指定型最適制御）を用いて回転数偏差Ｅｎの減衰速度を本実施形態と同様に指定するようにすることも可能である。さらに、吸気量Ｆ／Ｂ制御補正処理は、応答指定型制御に限らず、ＰＩ制御、最適レギュレータ、Ｈ∞制御等を用いて行うようにしてもよい。
【０５０７】
また、本実施形態では、吸気量Ｆ／Ｂ制御補正処理に用いるスライディングモード制御の制御対象を離散系でモデル化したが、連続系でモデル化することも可能である。
【０５０８】
また、前述の実施形態では、吸気量Ｆ／Ｂ制御補正処理の制御対象を２次の自己回帰モデル（離散系モデル）で表現したが、より高次の自己回帰モデルで表現することも可能である。そして、この場合、吸気量Ｆ／Ｂ制御補正処理に必要な切換関数は、例えば吸気偏差Ｅｑの３個以上の時系列データの線形関数として設定する必要があるが、このような場合であっても、吸気偏差Ｅｑの減衰速度を本実施形態と同様に切換関数の係数パラメータの値により指定することが可能である。そして、このことは点火時期側適応ＳＬＤ制御の場合についても同様である。
【０５０９】
以下に、吸気側適応ＳＬＤ制御や点火時期側適応ＳＬＤ制御の制御対象を例えば３次の自己回帰モデル（離散系モデル）で表現した場合に、吸気偏差Ｅｑや回転数偏差Ｅｎの減衰速度を前述の実施形態と同様に指定する手法を簡単に説明しておく。尚、以下の説明において、吸気側適応ＳＬＤ制御や点火時期側適応ＳＬＤ制御やを包括的に適応ＳＬＤ制御と称することとし、また、該適応ＳＬＤ制御の制御対象の入力及び出力を一般的にＸ，Ｙ、適応ＳＬＤ制御の制御量である制御対象の出力Ｙの目標値をｙ、該出力Ｙと目標値ｙとの偏差をＥ（＝Ｙ−ｙ）により表す。この場合、吸気側適応ＳＬＤ制御に関しては、上記入力Ｘ、出力Ｙ（制御量）、目標値ｙ、偏差Ｅはそれぞれ、開度指令Θ（バイパス開度の指令値）、推定積算吸入空気量ｑａｉｒ／ｐｒｅ、目標積算吸入空気量ｑａｉｒ／ｃｍｄ、吸気偏差Ｅｑに相当するものとなる。また、点火時期側適応ＳＬＤ制御に関しては、上記入力Ｘ、出力Ｙ（制御量）、目標値ｙ、偏差Ｅはそれぞれ、前記点火時期偏差指令値ＤＩＧ  （＝ｉｇｌｏｇ  −ｉｇｂａｓｅ）、偏差回転数ＤＮＥ  （Ｎｅ−ＮＯＢＪ）、目標偏差回転数ｄｎｅ  （ｎｅ／ｆｉｒｅ  −ＮＯＢＪ）、回転数偏差Ｅｎ（＝Ｎｅ−ｎｅ／ｆｉｒｅ  ）に相当するものとなる。
【０５１０】
適応ＳＬＤ制御の制御対象を、例えば次式（５２）のように３次の自己回帰モデル、すなわち、各制御サイクルにおける制御対象の出力Ｙを、その３制御サイクル前までの出力Ｙと１制御サイクル前の制御対象の入力Ｘとを用いて表した離散系モデルによりモデル化したとき、
【０５１１】
【数５２】
0003544477.tif 000053
【０５１２】
適応ＳＬＤ制御に用いる切換関数σ３  は、例えば次式（５３）のように出力Ｙ（制御量）と目標値ｙとの偏差Ｅ（以下、制御量偏差Ｅという）の３個の時系列データＥ（ｋ）  ，Ｅ（ｋ−１）  ，Ｅ（ｋ−２）  の線形関数により定義される。
【０５１３】
【数５３】
0003544477.tif 000054
【０５１４】
尚、式（５２）中のｅ１  〜ｅ３  及びｆ１  は、制御対象のモデルの挙動特性を規定するモデルパラメータである。また、式（５３）中のｓ５  、ｓ６  は切換関数σ３  の係数パラメータである。この場合、制御量偏差Ｅｎ（ｋ）に係る係数は簡単化のために「１」としている。
【０５１５】
この場合、切換関数σ３  の値が「０」に収束した状態で制御量偏差Ｅｎを安定に「０」に収束させる（減衰させる）ための条件は、式（５３）でσ３  ＝０として得られる次式（５４）の特性根、すなわち式（５５）により与えられる特性根λ１  ，λ２  が複素平面上の単位円内に存在することである。
【０５１６】
【数５４】
0003544477.tif 000055
【０５１７】
【数５５】
0003544477.tif 000056
【０５１８】
この条件を満たす切換関数σ３  の係数パラメータｓ５  、ｓ６  の値の組合わせは、図２６に示す座標平面（係数パラメータｓ５  、ｓ６  を成分とする座標平面）において、三角形Ａ１  Ａ２  Ａ３  により囲まれた領域内の点により定まる係数パラメータｓ５  、ｓ６  の値の組み合わせである。つまり、係数パラメータｓ５  、ｓ６  の値を、それらの値により定まる図２６の座標平面上の点が三角形Ａ１  Ａ２  Ａ３  内に存するように設定すれば、切換関数σ３  の値が「０」に収束した状態で制御量偏差Ｅを安定に「０」に収束させることができる。
【０５１９】
さらに、制御量偏差Ｅを非振動的に「０」に収束させる上では、図２６の座標平面上の点が、三角形Ａ１  Ａ２  Ａ３  内の点描部分（以下、この部分を領域Ａ１  Ａ２  Ａ４  という）に存するように係数パラメータｓ５  、ｓ６  の値を設定すればよい。ここで、領域Ａ１  Ａ２  Ａ４  の上側の境界を規定する曲線Ａ１  Ａ４  は、ｓ６  ＝ｓ５２／４という二次関数により表される放物線である。また、点Ａ４  は座標平面の原点である。
【０５２０】
このように係数パラメータｓ５  、ｓ６  の値を、それらの値により定まる点が領域Ａ１  Ａ２  Ａ４  内に存するように設定するとき、その点（ｓ５  ，ｓ６  ）を領域Ａ１  Ａ２  Ａ４  の辺Ａ１  Ａ２  上から原点Ａ４  に向かって移動させるように係数パラメータｓ５  、ｓ６  の値を変化させれば制御量偏差Ｅの減衰速度は点（ｓ５  ，ｓ６  ）が原点Ａ４  に近づく程、速くなる。
【０５２１】
例えば、点（ｓ５  ，ｓ６  ）を曲線（放物線）Ａ１  Ａ４  上で点Ａ１  側から原点Ａ４  に向かって移動させるように係数パラメータｓ５  、ｓ６  の値を変化させれば（図２６の矢印Ｂ１  を参照）、制御量偏差Ｅの減衰速度は連続的に徐々に速くなっていく。
【０５２２】
あるいは、例えば、点（ｓ５  ，ｓ６  ）をｓ６  ＝η・ｓ５  （但し、η＞０）なる関係式により表される直線上で領域Ａ１  Ａ２  Ａ４  の辺Ａ１  Ａ２  側から、原点Ａ４  に向かって移動させるように係数パラメータｓ５  、ｓ６  の値を変化させれば（図２６の矢印Ｂ２  を参照）、制御量偏差Ｅの減衰速度は連続的に徐々に速くなっていく。
【０５２３】
従って、前記吸気量Ｆ／Ｂ制御補正処理の吸気側適応ＳＬＤ制御に関しては、前述の実施形態と同様に、ＦＩＲＥモードの初期段階（内燃機関１の始動直後）に、吸気偏差Ｅｑの減衰速度をＦＩＲＥ経過時間ｔ／ｆｉｒｅに応じて徐々に低速側から上昇させていくためには、ＦＩＲＥ経過時間ｔ／ｆｉｒｅの増加に伴い、徐々に、点（ｓ５  ，ｓ６  ）を領域Ａ１  Ａ２  Ａ４  内で、辺Ａ１  Ａ２  寄りの位置から原点Ａ３  側に移動させるように係数パラメータｓ５  、ｓ６  の値を変化させてやればよい。
【０５２４】
この場合、このように係数パラメータｓ５  、ｓ６  を可変的に設定するに際しては、点（ｓ５  ，ｓ６  ）を例えば曲線（放物線ｓ６  ＝ｓ５２／４）Ａ１  Ａ４  上で移動させ、あるいは、直線ｓ６  ＝η・ｓ５  上で移動させるようにすることが好ましい。このようにすれば、係数パラメータｓ５  ，ｓ６  のいずれか一方をＦＩＲＥ経過時間ｔ／ｆｉｒｅに応じて設定すると、他方の係数パラメータの値も定まるので、係数パラメータｓ５  、ｓ６  の可変的な設定がより容易になる。
【０５２５】
より具体的には、例えば点（ｓ５  ，ｓ６  ）を曲線（放物線ｓ６  ＝ｓ５２／４）Ａ１  Ａ４  上で移動させるものとした場合、係数パラメータｓ５  の基本値を、−２＜ｓ５  ＜０の範囲（ここで「−２」、「０」はそれぞれ領域Ａ１  Ａ２  Ａ４  の曲線Ａ１  Ａ４  上での係数パラメータｓ５  の下限値、上限値である）において、前記ポールテーブル値ｐｏｌｅ／ｉｔｂｌ  （図９を参照）と同様の傾向でＦＩＲＥ経過時間ｔ／ｆｉｒｅに応じて定める。そして、この係数パラメータｓ５  から、ｓ６  ＝ｓ５２／４なる関係式により係数パラメータｓ５  を決定する。このような係数パラメータｓ５  、ｓ６  の設定は、点（ｓ５  ，ｓ６  ）を直線ｓ６  ＝η・ｓ５  上で移動させる場合についても同様に行うことができる。
【０５２６】
尚、この場合において、前記ＳＬＤ開度補正量ｉ／ｓｌｄ  を求めるために必要な到達則入力Θｒｃｈ  及び適応則入力Θａｄｐ  は、前述の実施形態と同様に、それぞれ、切換関数σ３  の値、及びその積算値に比例させたものとすればよい。また、等価制御入力Θｅｑは、標準開度指令値θ０  を代用すればよい。
【０５２７】
また、前記点火時期操作回転数Ｆ／Ｂ制御の点火時期側適応ＳＬＤ制御に関しては、前述の実施形態と同様に点火時期の指令値ｉｇｌｏｇ  が遅角側である程、回転数偏差Ｅｎの減衰速度を遅くするためには、点火時期の指令値ｉｇｌｏｇ  が遅角側である程、点（ｓ５  ，ｓ６  ）が領域Ａ１  Ａ２  Ａ４  内で辺Ａ１  Ａ２  に近づく（原点Ａ４  から離間する）ようにを点火時期の指令値ｉｇｌｏｇ  に応じて可変的に設定すればよい。そして、このような係数パラメータｓ５  、ｓ６  の可変的な設定の仕方は、前記ＦＩＲＥモードの中断動作の解除による点火時期操作回転数Ｆ／Ｂ制御の再開に際して、回転数偏差Ｅｎが大きい程（回転数Ｎｅが目標回転数ｎｅ／ｆｉｒｅ  に対して高回転側に離間している程）、回転数偏差Ｅｎの減衰速度を遅くし、また、回転数Ｆ／Ｂ経過時間Δｔ／ｎｆｂ  が所定値Ｔ／ＮＦＢＸに達するまで回転数偏差Ｅｎの減衰速度を遅くする場合についても同様である。
【０５２８】
この場合も、吸気側適応ＳＬＤ制御の場合と同様、係数パラメータｓ５  、ｓ６  を可変的に設定するに際しては、点（ｓ５  ，ｓ６  ）を例えば曲線（放物線ｓ６  ＝ｓ５２／４）Ａ１  Ａ４  上で移動させ、あるいは、直線ｓ６  ＝η・ｓ５  上で移動させるようにすることで、係数パラメータｓ５  、ｓ６  の可変的な設定がより容易になる。
【０５２９】
より具体的には、例えば点（ｓ５  ，ｓ６  ）を曲線（放物線ｓ６  ＝ｓ５２／４）Ａ１  Ａ４  上で移動させるものとした場合、係数パラメータｓ５  の基本値を、−２＜ｓ５  ＜０の範囲（ここで「−２」、「０」はそれぞれ領域Ａ１  Ａ２  Ａ４  の曲線Ａ１  Ａ４  上での係数パラメータｓ５  の下限値、上限値である）において、前記点火時期対応ポール基本値ｐｏｌｅ／ｉｇｔｂｌ（図２０を参照）と同様の傾向で点火時期の指令値ｉｇｌｏｇ  に応じて定める。そして、この係数パラメータｓ５  の基本値に、前記時間対応補正係数ｋｉｇｔと同様の傾向で回転数Ｆ／Ｂ経過時間Δｔ／ｎｆｂ  に応じて定めた補正係数と、前記回転数対応補正係数ｋｉｇｎｅ  （より好ましくは回転数対応修正補正係数ｋｉｇｎｅｆ）同様の傾向で回転数Ｎｅに応じて定めた補正係数とを乗算してなる値を係数パラメータｓ５  の値として設定する。そして、この係数パラメータｓ５  から、ｓ６  ＝ｓ５２／４なる関係式により係数パラメータｓ５  を決定する。このような係数パラメータｓ５  、ｓ６  の設定は、点（ｓ５  ，ｓ６  ）を直線ｓ６  ＝η・ｓ５  上で移動させる場合についても同様に行うことができる。
【０５３０】
尚、この場合において、前記点火時期偏差指令値ＤＩＧ  を求めるために必要な等価制御入力ＤＩＧｅｑ  を算出する演算式は、σ３（ｋ＋１）＝σ３（ｋ）なる条件と式（５２）とから求めることができる。また、到達則入力ＤＩＧｒｃｈ及び適応則入力ＤＩＧａｄｐは、前述の実施形態と同様に、それぞれ、切換関数σ３  の値、及びその積算値に比例させたものとすればよい。
【０５３１】
また、前述の実施形態では、触媒装置３に与える熱量を表すデータとして燃焼室４の制御サイクル毎の吸入空気量の積算値（推定積算吸入空気量ｑａｉｒ／ｐｒｅ）を用いたが、瞬時瞬時の吸入空気量（例えば前記推定吸入空気量ｇａｉｒ／ｐｒｅ）を触媒装置３に与える熱量データとして用い、これを目標値（例えば前記目標吸入空気量ｇａｉｒ／ｃｍｄ）に収束させるようにスライディングモード制御等を用いてフィードバック制御するようにしてもよい。
【０５３２】
さらには、内燃機関１の瞬時瞬時の燃料供給量、あるいはその積算値、あるいは触媒装置３の温度上昇量を触媒装置３に与える熱量を表す熱量データとして用い、それを目標値に収束させるようにフィードバック制御してもよい。
【０５３３】
この場合、例えば前記熱量データとして、内燃機関１の瞬時瞬時の（制御サイクル毎の）燃料供給量の積算値を用いるとした場合、該燃料供給量の積算値のデータは、例えば燃料供給量の制御サイクル毎の指令値を積算することで得ることができる。あるいは、前記推定吸入空気量ｇａｉｒ／ｐｒｅから制御サイクル毎の燃料供給量を推定し、これを積算することで、燃料供給量の積算値のデータを得るようにしてもよい。また、燃料供給量の積算値の目標値は、例えば前記目標積算吸入空気量ｑａｉｒ／ｃｍｄから推定して求めるようにすればよい。さらに、この場合、燃料供給量の積算値の目標値へのフィードバック制御をスライディングモード制御を用いて行う場合、例えば前記式（９）の積算吸入空気量Ｑａを燃料供給量の積算値のデータに置き換えた式により表される制御対象のモデル（離散系モデル）と、前記式（１０）の吸気偏差Ｅｑを燃料供給量の積算値とその目標値との偏差に置き換えた式により表される切換関数とに基づいて、吸気側適応ＳＬＤ制御と同様にスライディングモード制御のアルゴリズムを構築することで、燃料供給量の積算値をその目標値に収束させるための開度指令Θの補正量（これは前記ＳＬＤ開度補正量ｉ／ｓｌｄ  に相当する）を求めることができる。
【０５３４】
また、例えば前記熱量データとして、触媒装置３の温度上昇量（より詳しくは、内燃機関１の始動時における触媒装置３の初期温度からの温度上昇量）を用いるとした場合、該温度上昇量は、制御サイクル毎に触媒装置３の温度を検出し、その検出温度から内燃機関１の始動時に検出した触媒装置３の初期温度を減算することで得ることができる。あるいは、例えば内燃機関１が生成した排ガスの熱量の積算値を、前記積算吸入空気量ｑａｉｒ／ｐｒｅ等から推定し（例えば排ガスの熱量の積算値が積算吸入空気量ｑａｉｒ／ｐｒｅに比例するものとして積算吸入空気量ｑａｉｒ／ｐｒｅから推定する）、その排ガスの熱量の積算値の推定値から次式（５６）により温度上昇量Ｔを制御サイクル毎に推定するようにしてよい。
【０５３５】
【数５６】
0003544477.tif 000057
【０５３６】
ここで、式（５６）中のＱｘは、排ガスの熱量の積算値を表し、ε、γは適当な係数である。尚、この式（５６）は、排ガスの熱量の積算値Ｑｘから触媒装置３の温度上昇量Ｔを生成する系を一次遅れ系として離散系モデルで表現したものである。
【０５３７】
また、この場合、触媒装置３の温度上昇量の目標値は、例えば前記目標積算吸入空気量ｑａｉｒ／ｃｍｄから排ガスの熱量の積算値の目標値を推定し、それを式（５６）のＱｘに用いることで、該式（５６）の演算により得ることができる（この場合、式（５６）のＴは、制御サイクル毎の温度上昇量の目標値となる）。
【０５３８】
さらに、この場合に、触媒装置３の温度上昇量の目標値へのフィードバック制御をスライディングモード制御を用いて行う場合、例えば次のように燃料供給量の積算値をその目標値に収束させるための開度指令Θの補正量（これは前記ＳＬＤ開度補正量ｉ／ｓｌｄ  に相当する）を求めるためのアルゴリズムを構築することができる。
【０５３９】
すなわち、前記式（５６）の排ガスの熱量の積算値Ｑｘ（ｋ）（＝（Ｔ（ｋ）  −ε・Ｔ（ｋ−１）  ）／γ）は、前記式（９）（吸気制御対象モデル）の積算吸入空気量Ｑａに相当するものであるから、式（９）中のＱａ（ｋ＋１），Ｑａ（ｋ），Ｑａ（ｋ−１）をそれぞれ、排ガスの熱量の積算値Ｑｘ（ｋ＋１）（＝（Ｔ（ｋ＋１）  −ε・Ｔ（ｋ）  ）／γ），Ｑｘ（ｋ）（＝（Ｔ（ｋ）  −ε・Ｔ（ｋ−１）  ）／γ），Ｑｘ（ｋ−１）（＝（Ｔ（ｋ−１）  −ε・Ｔ（ｋ−２）  ）／γ）に置き換えて整理することで、次式（５７）のように温度上昇量Ｔに関する制御対象の離散系モデルを構築できる。
【０５４０】
【数５７】
0003544477.tif 000058
【０５４１】
尚、式（５７）中のｇ１  〜ｇ３  及びｈ１  は、制御対象のモデルの挙動特性を規定するモデルパラメータである。
【０５４２】
そして、この場合、式（５７）により表現したモデルは３次の自己回帰モデルであるので、スライディングモード制御用の切換関数σ４  は、例えば次式（５８）のように、触媒装置３の温度上昇量とその目標値ｔｘとの偏差Ｅｘ（Ｔ−ｔｘ）の３個の時系列データＥｘ（ｋ），Ｅｘ（ｋ−１），Ｅｘ（ｋ−２）を成分とする線形関数により設定すればよい。
【０５４３】
【数５８】
0003544477.tif 000059
【０５４４】
尚、式（５８）中のｓ７  、ｓ８  は切換関数σ４  の係数パラメータである。この場合、偏差Ｅｘ（ｋ）に係る係数は簡単化のために「１」としている。
【０５４５】
このように制御対象のモデル（離散系モデル）と、切換関数σ４  とを設定すれば、これらのモデルと切換関数σ４  とに基づいて、吸気側適応ＳＬＤ制御と同様に、触媒装置３の温度上昇量Ｔをその目標値ｔｘに収束させるための開度指令Θの補正量（これは前記ＳＬＤ開度補正量ｉ／ｓｌｄ  に相当する）を求めアルゴリズムを構築することができる。さらに、前記図２６等を用いて３次の自己回帰モデルに関して説明した場合と同様にして、切換関数σ４  の係数パラメータｓ７  、ｓ８  に値による前記偏差Ｅｘ（ｋ）の減衰速度の可変的設定も行うことができる。
【０５４６】
また、前述の実施形態では、燃焼室４で燃焼させる混合気の空燃比が一定であるとした場合に内燃機関１の発生熱量（排ガスの熱量）、ひいては触媒装置３に与えられる熱量が燃焼室４の吸入空気量にほぼ比例することから触媒装置３に与える熱量を表す熱量データとして制御サイクル毎の吸入空気量の積算値を用いている。しかし、内燃機関１の発生熱量は、内燃機関１の点火時期によっても若干変化することから、触媒装置３に与える熱量を表す熱量データの精度をより高める必要がある場合には、瞬時瞬時（制御サイクル毎）の吸入空気量の推定値あるいは検出値を、その時々の点火時期に応じて補正し、それを積算することで、熱量データを取得するようにしてもよい。また、混合気の空燃比を変化させる必要が生じた場合には、点火時期に応じた補正と同様に、瞬時瞬時（制御サイクル毎）の吸入空気量の推定値あるいは検出値を、その時々の空燃比に応じて補正し、それを積算することで、熱量データを取得するようにしてもよい。いずれの場合にあっても、点火時期や空燃比に応じた補正を行うための補正係数をあらかじめ設定したデータテーブル等を用意しておくことで対応することが可能である。
【０５４７】
尚、触媒装置に与える熱量を表す熱量データを取得するに際しての上記のような補正は、該熱量データとして燃料供給量等、その他のパラメータを用いる場合においても同様に適用可能である。
【図面の簡単な説明】
【図１】本発明の一実施形態を含む内燃機関の制御システムの全体構成図。
【図２】図１のシステムの内燃機関の吸気系を模式化して示した図。
【図３】図１のシステムの基本的作動を説明するための線図。
【図４】図１のシステムの作動を説明するためのフローチャート。
【図５】図１のシステムの作動を説明するためのフローチャート。
【図６】図１のシステムの作動を説明するための線図。
【図７】図１のシステムの作動を説明するための線図。
【図８】図１のシステムの作動を説明するための線図。
【図９】図１のシステムの作動を説明するための線図。
【図１０】図１のシステムの作動を説明するための線図。
【図１１】図１のシステムの作動を説明するための線図。
【図１２】図１のシステムの作動を説明するための線図。
【図１３】図１のシステムの作動を説明するための線図。
【図１４】図１のシステムの作動を説明するためのフローチャート。
【図１５】図１のシステムの作動を説明するためのフローチャート。
【図１６】図１のシステムの作動を説明するためのフローチャート。
【図１７】図１のシステムの作動を説明するためのフローチャート。
【図１８】図１のシステムの作動を説明するためのフローチャート。
【図１９】図１のシステムの作動を説明するための線図。
【図２０】図１のシステムの作動を説明するための線図。
【図２１】図１のシステムの作動を説明するための線図。
【図２２】図１のシステムの作動を説明するためのフローチャート。
【図２３】図１のシステムの作動を説明するためのフローチャート。
【図２４】図１のシステムの作動を説明するためのフローチャート。
【図２５】図１のシステムの作動を説明するための線図。
【図２６】図１のシステムの変形態様を説明するための線図。
【符号の説明】
１…内燃機関、３…触媒装置、７…バイパス弁（流量制御弁）、８…バイパス通路（吸入空気通路）、２５…吸入空気量操作手段、２６…点火時期操作手段。
【図１】
0003544477.tif 000060
【図２】
0003544477.tif 000061
【図３】
0003544477.tif 000062
【図４】
0003544477.tif 000063
【図５】
0003544477.tif 000064
【図６】
0003544477.tif 000065
【図７】
0003544477.tif 000066
【図８】
0003544477.tif 000067
【図９】
0003544477.tif 000068
【図１０】
0003544477.tif 000069
【図１１】
0003544477.tif 000070
【図１２】
0003544477.tif 000071
【図１３】
0003544477.tif 000072
【図１４】
0003544477.tif 000073
【図１５】
0003544477.tif 000074
【図１６】
0003544477.tif 000075
【図１７】
0003544477.tif 000076
【図１８】
0003544477.tif 000077
【図１９】
0003544477.tif 000078
【図２０】
0003544477.tif 000079
【図２１】
0003544477.tif 000080
【図２２】
0003544477.tif 000081
【図２３】
0003544477.tif 000082
【図２４】
0003544477.tif 000083
【図２５】
0003544477.tif 000084
【図２６】
0003544477.tif 000085