"内燃機関の排気通路に配設されるとともに酸素吸蔵機能を有する触媒と、前記排気通路の前記触媒の下流側に配設された下流側空燃比センサと、前記触媒の酸素吸蔵状態が、前記触媒に吸蔵されている酸素の量が同触媒にとって過剰であるために同酸素の量を減少すべき状態である酸素過剰状態であるか、前記触媒に吸蔵されている酸素の量が不足しているために同酸素の量を増大すべき状態である酸素不足状態であるか、を前記下流側空燃比センサの出力値に基づいて判定する触媒状態判定手段と、前記酸素吸蔵状態が前記酸素過剰状態であると判定されている場合に前記触媒に流入するガスの空燃比の目標値である目標空燃比を理論空燃比よりも小さい目標リッチ空燃比に設定し、前記酸素吸蔵状態が前記酸素不足状態であると判定されている場合に前記目標空燃比を理論空燃比よりも大きい目標リーン空燃比に設定する、目標空燃比設定手段と、前記機関に対して燃料を噴射する燃料噴射弁と、前記燃料噴射弁から噴射される燃料の量である燃料噴射量を前記設定された目標空燃比に応じて決定するとともに同決定した燃料噴射量の燃料を前記燃料噴射弁から噴射させる燃料噴射制御手段と、前記燃料噴射弁に供給される燃料を貯蔵する燃料タンク内に発生した蒸発燃料を前記機関の吸気通路に導入する蒸発燃料パージを所定のパージ実行要求条件が成立している場合に実行する蒸発燃料パージ手段と、を備えた内燃機関の制御装置において、前記蒸発燃料パージ手段は、前記目標空燃比が前記目標リッチ空燃比から前記目標リーン空燃比へと変更される時点である目標空燃比リッチリーン変更時点、及び、前記目標空燃比が前記目標リーン空燃比から前記目標リッチ空燃比へと変更される時点である目標空燃比リーンリッチ変更時点、の少なくとも一方の時点から所定時間が経過するまでの期間、前記パージ実行要求条件が成立した場合であっても前記蒸発燃料パージの実行を開始しないように構成された内燃機関の制御装置。以下、本発明の各実施形態に係る内燃機関の制御装置以下、単に制御装置とも称呼する。について図面を参照しながら説明する。この制御装置は、内燃機関に供給される混合気の空燃比機関の空燃比を制御する空燃比制御装置の一部であり、更に、燃料噴射量を制御する燃料噴射量制御装置及び蒸発燃料のパージ量を制御する蒸発燃料パージ量制御装置の一部でもある。<第1実施形態>構成図1は、第1実施形態に係る制御装置以下、第1制御装置とも称呼する。を、4サイクル火花点火式多気筒直列4気筒内燃機関10に適用したシステムの概略構成を示している。内燃機関10は、機関本体部20と、吸気系統30と、排気系統40と、蒸発燃料供給系統50と、を含む。機関本体部20は、シリンダブロック部及びシリンダヘッド部を含む。機関本体部20は、複数の気筒燃焼室21を備えている。各気筒は、図示しない吸気ポート及び排気ポートと連通している。吸気ポートと燃焼室21との連通部は図示しない吸気弁により開閉される。排気ポートと燃焼室21との連通部は図示しない排気弁により開閉される。各燃焼室21には図示しない点火プラグが配設されている。吸気系統30は、インテークマニホールド31、吸気管32、複数の燃料噴射弁33、及び、スロットル弁34を備えている。インテークマニホールド31は、複数の枝部31aとサージタンク31bとを備えている。複数の枝部31aのそれぞれの一端は、複数の吸気ポートのそれぞれに接続されている。複数の枝部31aの他端はサージタンク31bに接続されている。吸気管32の一端はサージタンク31bに接続されている。吸気管32の他端には図示しないエアフィルタが配設されている。燃料噴射弁33は、一つの気筒燃焼室21に対して一つずつ配設されている。燃料噴射弁33は吸気ポートに設けられている。即ち、複数の気筒のそれぞれは、他の気筒とは独立して燃料供給を行う燃料噴射弁33を備えている。燃料噴射弁33は、噴射指示信号に応答し、正常である場合にその噴射指示信号に含まれる指示燃料噴射量の燃料を吸気ポート従って、燃料噴射弁33に対応する気筒21内に噴射するようになっている。より具体的に述べると、燃料噴射弁33には、後述する燃料タンク51に接続された燃料供給管57を介して燃料が供給されている。燃料噴射弁33に供給されている燃料の圧力は、その燃料の圧力と吸気ポート内の圧力との差圧が一定になるように図示しないプレッシャレギュレータにより制御されている。燃料噴射弁33は、指示燃料噴射量に応じた時間だけ開弁させられる。従って、燃料噴射弁33が正常であれば、燃料噴射弁33は指示燃料噴射量と等量の燃料を噴射する。スロットル弁34は、吸気管32内に回動可能に配設されている。スロットル弁34は、吸気通路の開口断面積を可変とするようになっている。スロットル弁34は、図示しないスロットル弁アクチュエータにより吸気管32内で回転駆動されるようになっている。排気系統40は、エキゾーストマニホールド41、エキゾーストパイプ42、エキゾーストパイプ42に配設された上流側触媒43、及び、上流側触媒43よりも下流においてエキゾーストパイプ42に配設された図示しない下流側触媒を備えている。エキゾーストマニホールド41は、複数の枝部41aと集合部41bとを備えている。複数の枝部41aのそれぞれの一端は、複数の排気ポートのそれぞれに接続されている。複数の枝部41aのそれぞれの他端は集合部41bに集合している。この集合部41bは、複数2以上であり、本例では4つの気筒から排出された排ガスが集合する部分であるから、排気集合部HKとも称呼される。エキゾーストパイプ42は集合部41bに接続されている。排気ポート、エキゾーストマニホールド41及びエキゾーストパイプ42は、排気通路を構成している。上流側触媒43及び下流側触媒のそれぞれは、所謂、白金、ロジウム及びパラジウム等の貴金属触媒物質からなる活性成分を担持する三元触媒装置排気浄化用の触媒である。各触媒は、各触媒に流入するガスの空燃比が三元触媒のウインドウ内の空燃比例えば、理論空燃比であるとき、HC,CO,H2などの未燃成分を酸化するとともに窒素酸化物NOxを還元する機能を有する。この機能は触媒機能とも称呼される。更に、各触媒は、酸素を吸蔵貯蔵する酸素吸蔵機能を有する。即ち、各触媒は、その触媒に流入するガス触媒流入ガスに過剰の酸素が含まれているとき、その酸素を吸蔵するとともにNOxを浄化する。各触媒は、触媒流入ガスに過剰な未燃物が含まれているとき、吸蔵している酸素を放出してその未燃物を浄化する。この酸素吸蔵機能は、触媒に担持されているセリアCeO2等の酸素吸蔵材によってもたらされる。各触媒は、酸素吸蔵機能により空燃比が理論空燃比から偏移したとしても未燃成分及び窒素酸化物を浄化することができる。つまり、酸素吸蔵機能により、ウインドウの幅が拡大する。蒸発燃料供給系統50は、燃料タンク51、キャニスタ52、ベーパ捕集管53、パージ流路管54、パージ制御弁55、及び、燃料ポンプ56を備えている。燃料タンク51は、燃料噴射弁33から機関10に対して噴射供給される燃料を貯留する。キャニスタ52は、燃料タンク51内にて発生した蒸発燃料蒸発燃料ガスを吸蔵する周知のチャコールキャニスタである。キャニスタ52は、タンクポート52aと、パージポート52bと、大気に曝されている大気ポート52cと、が形成された筐体を備える。キャニスタ52は、その筐体内に、蒸発燃料を吸着するための吸着剤活性炭等52dを収納保持している。ベーパ捕集管53の一端は燃料タンク51の上部に接続され、ベーパ捕集管53の他端はタンクポート52aに接続されている。ベーパ捕集管53は、燃料タンク51内に発生した蒸発燃料を燃料タンク51からキャニスタ52へと導入するための管である。パージ流路管54の一端はパージポート52bに接続され、パージ流路管54の他端はサージタンク31b即ち、スロットル弁34よりも下流の吸気通路に接続されている。パージ流路管54は、キャニスタ52の吸着剤52dから脱離した蒸発燃料をサージタンク31bへと導入するための管である。ベーパ捕集管53及びパージ流路管54はパージ通路パージ通路部を構成している。パージ制御弁55はパージ流路管54に介装されている。パージ制御弁55は、指示信号であるデューティ比DPGを表す駆動信号により開度開弁期間が調節されることにより、パージ流路管54の通路断面積を変更するようになっている。パージ制御弁55は、デューティ比DPGが0であるときにパージ流路管54を完全に閉じるようになっている。更に、パージ制御弁55は、デューティ比DPGが0よりも大きいときデューティ比DPGが大きいほど通路断面積を大きくするように開弁する。燃料ポンプ56は、燃料タンク51に貯留されている燃料を燃料供給管57を通して燃料噴射弁33に供給するようになっている。このように構成された蒸発燃料供給系統50において、パージ制御弁55が完全に閉じられている場合、燃料タンク51内で発生した蒸発燃料はキャニスタ52に吸蔵される。パージ制御弁55が開かれている場合、キャニスタ52に吸蔵された蒸発燃料はパージ流路管54を通してサージタンク31bスロットル弁34よりも下流の吸気通路に放出され、燃焼室21機関10へ供給される。即ち、パージ制御弁55が開かれているとき、蒸発燃料のパージ蒸発燃料ガスのパージ又はパージとも称呼される。が行われる。このシステムは、熱線式エアフローメータ61、スロットルポジションセンサ62、水温センサ63、クランクポジションセンサ64、インテークカムポジションセンサ65、上流側空燃比センサ66、下流側空燃比センサ67、及び、アクセル開度センサ68を備えている。エアフローメータ61は、吸気管32内を流れる吸入空気の質量流量吸入空気流量Gaに応じた信号を出力するようになっている。即ち、吸入空気量Gaは、単位時間あたりに機関10に吸入される吸入空気量を表す。スロットルポジションセンサ62は、スロットル弁34の開度スロットル弁開度を検出し、スロットル弁開度TAを表す信号を出力するようになっている。水温センサ63は、機関10の冷却水の温度を検出し、冷却水温THWを表す信号を出力するようになっている。冷却水温THWは、機関10の暖機状態機関10の温度を表す運転状態指標量である。クランクポジションセンサ64は、クランク軸が10°回転する毎に幅狭のパルスを有するとともに同クランク軸が360°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、後述する電気制御装置70によって機関回転速度NEに変換される。インテークカムポジションセンサ65は、インテークカムシャフトが所定角度から90度、次いで90度、更に180度回転する毎に一つのパルスを出力するようになっている。後述する電気制御装置70は、クランクポジションセンサ64及びインテークカムポジションセンサ65からの信号に基づいて、基準気筒例えば第1気筒の圧縮上死点を基準とした絶対クランク角度CAを取得するようになっている。この絶対クランク角度CAは、基準気筒の圧縮上死点において0°クランク角度に設定され、クランク軸の回転角度に応じて720°クランク角度まで増大し、その時点にて再び0°クランク角度に設定される。上流側空燃比センサ66は、エキゾーストマニホールド41の集合部41b排気集合部HKと上流側触媒43との間の位置においてエキゾーストマニホールド41及びエキゾーストパイプ42の何れかに配設されている。上流側空燃比センサ66は、例えば、特開平11-72473号公報、特開2000-65782号公報及び特開2004-69547号公報等に開示された拡散抵抗層を備える限界電流式広域空燃比センサである。上流側空燃比センサ66は、上流側空燃比センサ66の配設位置を流れる排ガスの空燃比触媒43に流入するガスである触媒流入ガスの空燃比、上流側空燃比abyfsに応じた出力値Vabyfsを出力する。出力値Vabyfsは、図2に示したように、触媒流入ガスの空燃比上流側空燃比abyfsが大きくなるほどリーン側の空燃比になるほど増大する。電気制御装置70は、出力値Vabyfsと上流側空燃比abyfsとの図2に示した関係を規定した空燃比変換テーブルマップMapabyfsを記憶している。電気制御装置70は、出力値Vabyfsを空燃比変換テーブルMapabyfsに適用することにより、実際の上流側空燃比abyfsを検出する検出上流側空燃比abyfsを取得するようになっている。再び、図1を参照すると、下流側空燃比センサ67は、エキゾーストパイプ42内に配設されている。下流側空燃比センサ67の配設位置は、上流側触媒43よりも下流側であり、且つ、下流側触媒よりも上流側即ち、上流側触媒43と下流側触媒との間の排気通路である。下流側空燃比センサ67は、周知の起電力式の酸素濃度センサ安定化ジルコニア等の固体電解質を用いた周知の濃淡電池型の酸素濃度センサである。下流側空燃比センサ67は、排気通路であって下流側空燃比センサ67が配設されている部位を通過するガスである被検出ガスの空燃比に応じた出力値Voxsを発生するようになっている。換言すると、出力値Voxsは、上流側触媒43から流出し且つ下流側触媒に流入するガスの空燃比に応じた値である。この出力値Voxsは、図3に示したように、被検出ガスの空燃比が理論空燃比よりもリッチのとき最大出力値max例えば、約0.9V~1.0Vとなる。最大出力値maxは、理論空燃比よりも小さい空燃比であるリッチ空燃比に対応する値であり、リッチ対応値とも称呼される。出力値Voxsは、被検出ガスの空燃比が理論空燃比よりもリーンのとき最小出力値min例えば、約0.1V~0Vとなる。最小出力値minは、理論空燃比よりも大きい空燃比であるリーン空燃比に対応する値であり、リーン対応値とも称呼される。更に、出力値Voxsは、被検出ガスの空燃比が理論空燃比であるとき最大出力値maxと最小出力値minの略中間の電圧Vst中央値Vmid、中間電圧Vst、例えば、約0.5Vとなる。出力値Voxsは、被検出ガスの空燃比が理論空燃比よりもリッチな空燃比からリーンな空燃比へと変化する際に最大出力値maxから最小出力値minへと急変する。同様に、出力値Voxsは、被検出ガスの空燃比が理論空燃比よりもリーンな空燃比からリッチな空燃比へと変化する際に最小出力値minから最大出力値maxへと急変する。図1に示したアクセル開度センサ68は、運転者によって操作されるアクセルペダルAPの操作量Accpアクセルペダル操作量、アクセルペダルAPの開度を表す信号を出力するようになっている。アクセルペダル操作量Accpは、アクセルペダルAPの操作量が大きくなるとともに大きくなる。電気制御装置70は、CPU、CPUが実行するプログラム、テーブルマップ、関数及び定数等を予め記憶したROM、CPUが必要に応じてデータを一時的に格納するRAM、バックアップRAMB-RAM、並びに、ADコンバータを含むインターフェース等からなる周知のマイクロコンピュータである。バックアップRAMは、機関10を搭載した車両の図示しないイグニッションキースイッチの位置オフ位置、始動位置及びオン位置等の何れかに関わらず、車両に搭載されたバッテリから電力の供給を受けるようになっている。バックアップRAMは、バッテリから電力の供給を受けている場合、CPUの指示に応じてデータを格納するデータが書き込まれるとともに、そのデータを読み出し可能となるように保持記憶する。従って、バックアップRAMは、機関10の運転停止中においてもデータを保持することができる。バックアップRAMは、バッテリが車両から取り外される等によりバッテリからの電力供給が遮断されると、データを保持することができない。そこで、CPUは、バックアップRAMへの電力供給が再開されたとき、バックアップRAMに保持されるべきデータを初期化デフォルト値に設定するようになっている。なお、バックアップRAMは、EEPROM等の読み書き可能な不揮発性メモリであってもよい。電気制御装置70は、上述したセンサ等と接続され、CPUにそれらのセンサからの信号を供給するようになっている。更に、電気制御装置70は、CPUの指示に応じて、各気筒に対応して設けられた点火プラグ実際にはイグナイタ、各気筒に対応して設けられた燃料噴射弁33、パージ制御弁55、及び、スロットル弁アクチュエータ等に駆動信号指示信号を送出するようになっている。なお、電気制御装置70は、取得されたアクセルペダルの操作量Accpが大きくなるほどスロットル弁開度TAが大きくなるように、スロットル弁アクチュエータに指示信号を送出するようになっている。即ち、電気制御装置70は、運転者により変更される機関10の加速操作量アクセルペダル操作量Accpに応じて機関10の吸気通路に配設されたスロットル弁34の開度を変更するスロットル弁駆動手段を備えている。第1制御装置の作動の概要第1制御装置は、下流側空燃比センサ67の出力値Voxsに基づいて、触媒43の状態触媒43の酸素吸蔵状態であり、以下触媒状態とも称呼する。が、酸素過剰状態及び酸素不足状態の何れであるかを判定する。酸素過剰状態はリーン状態とも称呼される。酸素過剰状態は、触媒43の酸素吸蔵量がその最大酸素吸蔵量Cmaxに近い値となっている状態である。換言すると、酸素過剰状態は、触媒43の酸素吸蔵量を減少すべき状態である。酸素不足状態はリッチ状態とも称呼される。酸素不足状態は、触媒43の酸素吸蔵量が0に近い値となっている状態である。換言すると、酸素不足状態は、触媒43の酸素吸蔵量を増大すべき状態である。但し、第1制御装置は、触媒状態が酸素不足状態であると判定した場合、次に触媒状態が酸素過剰状態になったと判定されるまで、触媒状態は酸素不足状態であると判定する。同様に、第1制御装置は、触媒状態が酸素過剰状態であると判定した場合、次に触媒状態が酸素不足状態になったと判定されるまで、触媒状態は酸素過剰状態であると判定する。より具体的に述べると、第1制御装置は、触媒43の状態が酸素過剰状態であると判定されている場合であって、出力値Voxsの所定時間あたりの変化量ΔVoxsが正の値であり、且つ、その大きさ|ΔVoxs|がリッチ判定閾値dRichthよりも大きくなったとき、触媒43の状態が酸素不足状態となったと判定する。このとき、第1制御装置は、触媒リーン状態表示フラグXCCROLeanの値を0に設定する。更に、第1制御装置は、触媒43の状態が酸素不足状態であると判定されているときに、変化量ΔVoxsが負の値であり、且つ、その大きさ|ΔVoxs|がリーン判定閾値dLeanthよりも大きくなったとき、触媒43の状態が酸素過剰状態となったと判定する。このとき、第1制御装置は、触媒リーン状態表示フラグXCCROLeanの値を1に設定する。なお、第1制御装置は、触媒43の状態が酸素過剰状態であると判定されている場合であって、出力値Voxsがリッチ判定閾値VRichthよりも大きくなったとき、触媒43の状態が酸素不足状態となったと判定してもよい。更に、第1制御装置は、触媒43の状態が酸素不足状態であると判定されている場合であって、出力値Voxsがリーン判定閾値VLeanthよりも小さくなったとき、触媒43の状態が酸素過剰状態となったと判定してもよい。触媒43の状態が酸素不足状態であるとき、触媒43には過剰な酸素を流入させるべきであるので、触媒流入ガスの目標値である目標空燃比abyfr要求空燃比、上流側目標空燃比abyfrは理論空燃比よりも大きい目標リーン空燃比afLeanに設定されるべきである。そこで、第1制御装置は、触媒43の状態が酸素不足状態であると判定している場合、目標空燃比abyfrを目標リーン空燃比afLeanに設定する図4の時刻t1~時刻t3、時刻t5~時刻t7を参照。。触媒43の状態が酸素過剰状態であるとき、触媒43には過剰な未燃物を流入させるべきであるので、触媒流入ガスの目標空燃比abyfrは理論空燃比よりも小さい目標リッチ空燃比afRichに設定されるべきである。そこで、第1制御装置は、触媒43の状態が酸素過剰状態であると判定している場合、目標空燃比abyfrを目標リッチ空燃比afRichに設定する図4の時刻t3~時刻t5、時刻t7~時刻t9を参照。。以下、目標空燃比abyfrが目標リッチ空燃比afRichから目標リーン空燃比afLeanへと変更される時点図4の時刻t1、t5、t9を目標空燃比リッチリーン変更時点と称呼する。更に、目標空燃比abyfrが目標リーン空燃比afLeanから目標リッチ空燃比afRichへと変更される時点図4の時刻t3、t7を目標空燃比リーンリッチ変更時点と称呼する。一方、第1制御装置は、所定のパージ実行要求条件が不成立であるとき、パージ制御弁55を閉弁し、蒸発燃料パージを実行しない。更に、第1制御装置は、パージ実行要求条件が不成立である状態から成立した状態へと変化したとき、下記の場合を除き、パージ制御弁55を開弁し、蒸発燃料を吸気通路に導入する即ち、蒸発燃料パージを開始する。。ところで、図5の時刻t1以降に示したように、蒸発燃料パージが開始され、その蒸発燃料パージの影響が上流側空燃比abyfsに現れるとき、上流側空燃比abyfsの振幅は大きくなる。これは、吸気通路に導入されるガスに含まれる蒸発燃料の濃度が一定ではないからである。更に、図5の時刻t1~時刻t2と、時刻t2以降と、の比較から理解されるように、蒸発燃料パージの影響が上流側空燃比abyfsに現れ始めた直後において、上流側空燃比abyfsの変動幅は大きくなる。これは、メインフィードバック制御の制御遅れに起因する。また、図5の時刻t2以降に示されているように、蒸発燃料パージが継続されていれば、上流側空燃比abyfsの振幅は、蒸発燃料パージの影響が上流側空燃比abyfsに現れ始めた直後よりも小さく且つ略一定となる。更に、蒸発燃料パージが継続されている場合、下流側空燃比センサ67の出力値Voxsは、その蒸発燃料パージの影響を反映する。換言すると、蒸発燃料パージが継続されていれば、下流側空燃比センサ67の出力値Voxsは触媒状態を反映した値となる。従って、蒸発燃料パージを継続していてもエミッションが悪化する可能性は低い。そこで、第1制御装置は、パージ実行要求条件が不成立である状態から成立した状態へと変化した時点が、目標空燃比リッチリーン変更時点から第1所定時間Δta1が経過するまでの期間内である場合、蒸発燃料パージを開始することを禁止する図4の時刻t1~t2、時刻t5~t6、時刻t9~t10を参照。。そして、第1制御装置は、目標空燃比リッチリーン変更時点から第1所定時間Δta1が経過した時点にてパージ実行要求条件が成立していれば、蒸発燃料パージを開始する。これによれば、目標空燃比リッチリーン変更時点から第1所定時間Δta1が経過した時点以降において蒸発燃料パージが開始され、蒸発燃料パージの開始の影響が上流側空燃比abyfsに現れる。目標空燃比リッチリーン変更時点から第1所定時間Δta1が経過した時点において、触媒43の酸素吸蔵量は0から乖離した値図4の値D1になっている。更に、蒸発燃料パージを開始した影響が上流側空燃比abyfsに現れる時点は目標空燃比リッチリーン変更時点から第1所定時間Δta1が経過した時点よりも遅れる。従って、蒸発燃料パージを開始した影響が上流側空燃比abyfsに現れる時点において、触媒43の酸素吸蔵量は0から十分に乖離した値となっているので、蒸発燃料パージを開始した影響が上流側空燃比abyfsに現れたとしても触媒43の酸素吸蔵量が0に到達する可能性は低い。この結果、蒸発燃料ガスパージに起因するエミッション悪化の可能性を低減することができる。更に、第1制御装置は、パージ実行要求条件が不成立である状態から成立した状態へと変化した時点が、目標空燃比リーンリッチ変更時点から第2所定時間Δta2が経過するまでの期間内である場合、蒸発燃料パージを開始することを禁止する図4の時刻t3~t4、時刻t7~t8を参照。。そして、第1制御装置は、目標空燃比リーンリッチ変更時点から第2所定時間Δta2が経過した時点にてパージ実行要求条件が成立していれば、蒸発燃料パージを開始する。これによれば、目標空燃比リーンリッチ変更時点から第2所定時間Δta2が経過した時点以降において蒸発燃料パージが開始され、蒸発燃料パージの開始の影響が上流側空燃比abyfsに現れる。目標空燃比リッチリーン変更時点から第2所定時間Δta2が経過した時点において、触媒43の酸素吸蔵量は最大酸素吸蔵量Cmaxから乖離した値図4の値D2だけ最大酸素吸蔵量Cmaxよりも小さい値になっている。更に、蒸発燃料パージを開始した影響が上流側空燃比abyfsに現れる時点は目標空燃比リーンリッチ変更時点から第2所定時間Δta2が経過した時点よりも遅れる。従って、蒸発燃料パージを開始した影響が上流側空燃比abyfsに現れる時点において、触媒43の酸素吸蔵量は最大酸素吸蔵量Cmaxから十分に乖離した値となっているので、蒸発燃料パージを開始した影響が上流側空燃比abyfsに現れたとしても触媒43の酸素吸蔵量が最大酸素吸蔵量Cmaxに到達する可能性は低い。この結果、蒸発燃料ガスパージに起因するエミッション悪化の可能性を低減することができる。実際の作動次に、第1制御装置の実際の作動について説明する。<燃料噴射制御>第1制御装置のCPUは、図6に示した燃料噴射制御ルーチンを、任意の気筒のクランク角度が吸気上死点前の所定クランク角度となる毎に、その気筒に対して繰り返し実行するようになっている。前記所定クランク角度は、例えば、BTDC90°CA吸気上死点前90°クランク角度である。クランク角度が前記所定クランク角度に一致した気筒は燃料噴射気筒とも称呼される。CPUは、この燃料噴射制御ルーチンにより、指示燃料噴射量最終燃料噴射量Fiの計算及び燃料噴射の指示を行う。任意の気筒のクランク角度が吸気上死点前の所定クランク角度と一致すると、CPUはステップ600から処理を開始し、ステップ605にてフューエルカットフラグXFCの値が0であるか否かを判定する。フューエルカットフラグXFCの値は、フューエルカット開始条件が成立したときに1に設定され、フューエルカットフラグXFCの値が1であるときにフューエルカット終了条件が成立したときに0に設定される。フューエルカットフラグXFCの値は更にイニシャルルーチンにおいて0に設定されるようになっている。イニシャルルーチンは、機関10が搭載された車両のイグニッションキースイッチがオフからオンに変更されたときにCPUにより実行されるルーチンである。いま、フューエルカットフラグXFCの値が0であると仮定する。この場合、CPUは、ステップ605にてYesと判定してステップ610に進み、吸入空気量Ga、機関回転速度NE、及び、ルックアップテーブルMapMcGa,NEに基いて燃料噴射気筒に吸入される空気量即ち、筒内吸入空気量Mcを取得する。筒内吸入空気量Mcは、周知の空気モデル吸気通路における空気の挙動を模した物理法則に従って構築されたモデルにより算出されてもよい。次に、CPUはステップ615に進み、フィードバック制御フラグXFBの値が1であるか否かを判定する。このフィードバック制御フラグXFBの値は、空燃比のフィードバック制御条件が成立しているときに1に設定され、フィードバック制御条件が成立していないときに0に設定される。フィードバック制御条件は、例えば、以下の総ての条件が成立したときに成立する。A1上流側空燃比センサ66が活性化している。A2下流側空燃比センサ67が活性化している。A3機関の負荷KLが閾値負荷KLfbth以下である。A4フューエルカットフラグXFCの値が0である。なお、負荷KLは、本例において負荷率充填率KLであり、下記の1式に基いて算出される。この1式において、ρは空気密度単位はg/l、Lは機関10の排気量単位はl、4は機関10の気筒数である。但し、負荷KLは、筒内吸入空気量Mc、スロットル弁開度TA及びアクセルペダル操作量Accp等であってもよい。KL={Mck/ρL/4}100...1フィードバック制御フラグXFBの値が1でなければ、CPUはステップ615にてNoと判定してステップ620に進み、目標空燃比abyfrを理論空燃比stoich例えば、14.6に設定する。次に、CPUは以下に述べるステップ625乃至ステップ640の処理を順に行い、ステップ695に進んで本ルーチンを一旦終了する。ステップ625:CPUは、筒内吸入空気量Mcを目標空燃比abyfrで除することによって基本燃料噴射量Fbaseを算出する。基本燃料噴射量Fbaseは、機関の空燃比を目標空燃比abyfrに一致させるために必要な燃料噴射量のフィードフォワード量である。ステップ630:CPUは、図示しないルーチンにより別途計算されているメインフィードバック量KFmainを読み込む。メインフィードバック量KFmainは、検出上流側空燃比abyfsが目標空燃比abyfrに一致するように周知のPID制御に基づいて算出される。従って、メインフィードバック量KFmainは、検出上流側空燃比abyfsが目標空燃比abyfrよりも大きいとき増大させられ、検出上流側空燃比abyfsが目標空燃比abyfrよりも小さいとき減少させられる。なお、メインフィードバック量KFmainは、フィードバック制御フラグXFBの値が0であるとき1に設定される。ステップ635:CPUは、基本燃料噴射量Fbaseをメインフィードバック量KFmainにより補正することによって指示燃料噴射量Fiを算出する。より具体的に述べると、CPUは、基本燃料噴射量Fbaseにメインフィードバック量KFmainを乗じることによって指示燃料噴射量Fiを算出する。ステップ640:CPUは、指示燃料噴射量Fiの燃料を燃料噴射気筒に対応して設けられている燃料噴射弁33から噴射させるための噴射指示信号を、その燃料噴射弁33に送出する。この結果、機関の空燃比を目標空燃比abyfrに一致させるために必要な量の燃料が燃料噴射気筒の燃料噴射弁33から噴射させられる。即ち、ステップ625乃至ステップ640は、機関の空燃比が目標空燃比abyfrに一致するように指示燃料噴射量Fiを制御する指示燃料噴射量制御手段を構成している。一方、CPUがステップ615の処理を行う時点において、フィードバック制御フラグXFBの値が1であると、CPUはそのステップ615にてYesと判定してステップ645に進み、触媒リーン状態表示フラグXCCROLeanの値が1であるか否かを判定する。触媒リーン状態表示フラグXCCROLeanの値は後述するルーチンにより設定される。触媒リーン状態表示フラグXCCROLeanの値が1であるか否かの判定は、リッチ空燃比要求フラグXRichreqの値が1であるか否かの判定と同義である。即ち、ステップ645においては、触媒43の酸素吸蔵状態が酸素過剰状態であるか否か、換言すると、目標空燃比abyfrを目標リッチ空燃比afRichに設定する空燃比要求であるリッチ空燃比要求が発生しているか否かが判定される。触媒リーン状態表示フラグXCCROLeanの値が1であると、CPUはステップ645にてYesと判定してステップ650に進み、目標空燃比abyfrを所定の目標リッチ空燃比afRich理論空燃比よりも小さい一定の空燃比、例えば、14.2に設定する。その後、CPUはステップ625以降に進む。従って、機関の空燃比は目標リッチ空燃比afRichに一致させられる。これに対し、CPUがステップ645の処理を実行する時点において、触媒リーン状態表示フラグXCCROLeanの値が0であると、CPUはステップ645にてNoと判定してステップ655に進み、目標空燃比abyfrを所定の目標リーン空燃比afLean理論空燃比よりも大きい一定の空燃比、例えば、15.0に設定する。その後、CPUはステップ625以降に進む。従って、機関の空燃比は目標リーン空燃比afLeanに一致させられる。一方、CPUがステップ605の処理を実行する時点において、フューエルカットフラグXFCの値が1であると、CPUはそのステップ605にてNoと判定してステップ695に直接進み、本ルーチンを一旦終了する。この場合、ステップ640の処理による燃料噴射が実行されないので、フューエルカット制御が実行される。即ち、機関10の運転状態はフューエルカット運転状態となる。<触媒状態判定>CPUは図7にフローチャートにより示した触媒状態判定ルーチン要求空燃比決定ルーチンを所定時間tsの経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ700から処理を開始してステップ710に進み、現時点の下流側空燃比センサ67の出力値Voxsから前回の下流側空燃比センサ67の出力値Voxsoldを減じることにより、所定時間ts単位時間あたりの出力値Voxsの変化量ΔVoxsを算出する。前回の出力値Voxsoldは、次のステップ720にて更新される値であり、現時点から所定時間tsだけ前の時点の出力値Voxs本ルーチンが前回実行されたときの出力値Voxsである。変化量ΔVoxsは変化速度ΔVoxsとも称呼される。次に、CPUはステップ720に進み、現時点の出力値Voxsを前回の出力値Voxsoldとして記憶する。次に、CPUはステップ730に進み、触媒リーン状態表示フラグXCCROLeanの値が1であるか否かを判定する。触媒リーン状態表示フラグXCCROLeanの値は、上述したイニシャルルーチンにおいて1に設定されるようになっている。更に、触媒リーン状態表示フラグXCCROLeanの値は、後述するように、下流側空燃比センサ67の出力値Voxsに基づいて触媒43の状態が酸素不足状態リッチ状態であると判定されたときに0に設定され、下流側空燃比センサ67の出力値Voxsに基づいて触媒43の状態が酸素過剰状態リーン状態であると判定されたときに1に設定される。いま、触媒リーン状態表示フラグXCCROLeanの値が1であると仮定する。この場合、CPUはステップ730にてYesと判定してステップ740に進み、変化速度ΔVoxsが正であるか否かを判定する。即ち、CPUは、出力値Voxsが増大しているか否かを判定する。このとき、変化速度ΔVoxsが正でなければ、CPUはステップ740にてNoと判定し、ステップ795に直接進んで本ルーチンを一旦終了する。ところで、触媒リーン状態表示フラグXCCROLeanの値が1であるとき、目標空燃比abyfrは目標リッチ空燃比afRichに設定される。従って、触媒43の酸素吸蔵量は次第に減少し、ある時点から未燃物が触媒43から流出し始める。その結果、変化速度ΔVoxsは正の値となる。変化速度ΔVoxsが正の値になると、CPUはステップ740にてYesと判定してステップ750に進み、変化速度ΔVoxsの大きさ|ΔVoxs|がリッチ判定閾値dRichthよりも大きいか否かを判定する。このとき、大きさ|ΔVoxs|がリッチ判定閾値dRichth以下であると、CPUはステップ750にてNoと判定し、ステップ795に直接進んで本ルーチンを一旦終了する。CPUがステップ750の処理を実行する時点において、変化速度ΔVoxsの大きさ|ΔVoxs|がリッチ判定閾値dRichthよりも大きいと、CPUはそのステップ750にてYesと判定してステップ760に進み、触媒リーン状態表示フラグXCCROLeanの値を0に設定する。即ち、出力値Voxsが増大していて且つその変化速度ΔVoxsの大きさ|ΔVoxs|がリッチ判定閾値dRichthよりも大きい場合、CPUは触媒43の状態は酸素不足状態である。と判定し、触媒リーン状態表示フラグXCCROLeanの値を0に設定する。この状態即ち、触媒リーン状態表示フラグXCCROLeanの値が0に設定された状態において、CPUがステップ700から処理を再び開始すると、CPUはステップ710及びステップ720を経由してステップ730に進み、そのステップ730にてNoと判定してステップ770に進む。CPUは、ステップ770にて変化速度ΔVoxsが負であるか否かを判定する。即ち、CPUは、出力値Voxsが減少しているか否かを判定する。このとき、変化速度ΔVoxsが負でなければ、CPUはステップ770にてNoと判定し、ステップ795に直接進んで本ルーチンを一旦終了する。ところで、触媒リーン状態表示フラグXCCROLeanの値が0であるとき、目標空燃比abyfrは目標リーン空燃比afLeanに設定される。従って、触媒43の酸素吸蔵量は次第に増大し、ある時点から酸素が触媒43から流出し始める。その結果、変化速度ΔVoxsは負の値となる。変化速度ΔVoxsが負の値になると、CPUはステップ770にてYesと判定してステップ780に進み、変化速度ΔVoxsの大きさ|ΔVoxs|がリーン判定閾値dLeanthよりも大きいか否かを判定する。このとき、大きさ|ΔVoxs|がリーン判定閾値dLeanth以下であると、CPUはステップ780にてNoと判定し、ステップ795に直接進んで本ルーチンを一旦終了する。これに対し、変化速度ΔVoxsの大きさ|ΔVoxs|がリーン判定閾値dLeanthよりも大きいと、CPUはステップ780にてYesと判定してステップ790に進み、触媒リーン状態表示フラグXCCROLeanの値を1に設定する。即ち、出力値Voxsが減少していて且つその変化速度ΔVoxsの大きさ|ΔVoxs|がリーン判定閾値dLeanthよりも大きい場合、CPUは触媒43の状態が酸素過剰状態である。と判定し、触媒リーン状態表示フラグXCCROLeanを1に設定する。なお、CPUは、触媒リーン状態表示フラグXCCROLeanの値が1であるとき、出力値Voxsがリッチ判定閾値VRichthよりも大きくなったとき、触媒リーン状態表示フラグXCCROLeanの値を0に設定してもよい。同様に、触媒リーン状態表示フラグXCCROLeanの値が0であるとき、出力値Voxsがリーン判定閾値VLeanthよりも小さくなったとき、触媒リーン状態表示フラグXCCROLeanの値を1に設定してもよい。この場合、リッチ判定閾値VRichthは中央値Vmid以下の値であってもよい。リーン判定閾値VLeanthは中央値Vmid以上の値であってもよい。このように触媒リーン状態表示フラグXCCROLeanの値は、下流側空燃比センサ67の出力値Voxsに基づいて、1及び0の何れかの値に交互に設定される。そして、触媒リーン状態表示フラグXCCROLeanに応じて目標空燃比abyfrが決定され図6のルーチンのステップ645乃至ステップ655を参照。、その目標空燃比abyfrに基づいて指示燃料噴射量Fiが決定される図6のルーチンのステップ625乃至ステップ635を参照。。<蒸発燃料パージ制御>CPUは図8に示した蒸発燃料パージ制御ルーチンを所定時間の経過毎に実行するようになっている。従って、所定のタイミングになるとCPUはステップ800から処理を開始してステップ810に進み、パージ実行フラグXPGの値が0であるか否かを判定する。このパージ実行フラグXPGの値は、上述したイニシャルルーチンにおいて0に設定されている。更に、パージ実行フラグXPGの値は、後述するように、蒸発燃料パージを実行する際に1に設定され、蒸発燃料パージの実行を停止する際に0に設定される。いま、蒸発燃料パージが実行されておらず、パージ実行フラグXPGの値が0であると仮定する。この場合、CPUはステップ810にてYesと判定してステップ820に進み、パージ実行要求フラグXPGreqの値が1であるか否かを判定する。パージ実行要求フラグXPGreqの値は、パージ実行要求条件が成立している場合に1に設定され、パージ実行要求条件が成立していない場合に0に設定される。更に、パージ実行要求フラグXPGreqの値は、上述したイニシャルルーチンにおいて0に設定される。このパージ実行要求条件は、例えば、以下の総ての条件が成立したときに成立する。勿論、パージ実行要求条件を構成する条件には、他の条件が加えられてもよい。B1フィードバック制御フラグXFBの値が1である空燃比のフィードバック制御が実行中である。。B2機関10が定常運転されている例えば、機関の負荷を表すスロットル弁開度TAの単位時間あたりの変化量が所定値以下である。。B3冷却水温THWが閾値冷却水温THWth以上である。いま、パージ実行要求条件が不成立であり、従って、パージ実行要求フラグXPGreqの値が0であると仮定する。この場合、CPUはステップ820にてNoと判定してステップ830に直接進み、パージ実行フラグXPGの値が1であるか否かを判定する。この場合、パージ実行フラグXPGの値は0である。よって、CPUはステップ830にてNoと判定してステップ840に進み、デューティ比DPGを0に設定することによりパージ制御弁55を閉弁する。即ち、CPUは、ステップ840にて蒸発燃料パージを停止する。なお、現時点においては、蒸発燃料パージは実行されていないので、パージ制御弁55は閉弁した状態に維持される。その後、CPUはステップ895に進み、本ルーチンを一旦終了する。この状態において、パージ実行要求条件が成立すると、パージ実行要求フラグXPGreqの値は図示しないルーチンにおいて1に設定される。この場合、CPUはステップ810及びステップ820の両ステップにてYesと判定してステップ850に進み、パージ実行禁止フラグXPGkinshiの値が0であるか否かを判定する。パージ実行禁止フラグXPGkinshiの値は、上述したイニシャルルーチンにおいて0に設定される。更に、パージ実行禁止フラグXPGkinshiの値は、後述する図9に示したパージ実行禁止フラグ設定ルーチンにより、目標空燃比リッチリーン変更時点から第1所定時間Δta1が経過するまでの期間及び目標空燃比リーンリッチ変更時点から第2所定時間Δta2が経過するまでの期間において1に設定され、それ以外の期間において0に設定される。いま、パージ実行禁止フラグXPGkinshiの値が1であると仮定する。この場合、CPUはステップ850にてNoと判定し、ステップ830に直接進む。従って、パージ実行フラグXPGの値は0に維持される。よって、CPUはステップ830にてNoと判定してステップ840に進む。この結果、蒸発燃料パージは停止され続ける。換言すると、パージ実行要求条件が成立した場合であっても、パージ実行禁止フラグXPGkinshiの値が1である場合、蒸発燃料パージは開始されない。即ち、蒸発燃料パージの実行開始が禁止される。これに対し、CPUがステップ850の処理を実行する時点において、パージ実行禁止フラグXPGkinshiの値が0であると、CPUはそのステップ850にてYesと判定してステップ860に進み、パージ実行フラグXPGの値を1に設定する。この場合、CPUは続くステップ830にてYesと判定してステップ870に進み、パージ制御弁55を開弁することにより、蒸発燃料を吸気通路に導入する。即ち、CPUは、蒸発燃料パージを開始させる。なお、実際には、CPUは吸入空気量Ga及び機関回転速度NEに基づいてデューティ比DPGを決定し、そのデューティ比DPGに応じた信号をパージ制御弁55に送信する。その後、CPUはステップ895に進み、本ルーチンを一旦終了する。これにより、CPUが次に図8に示したルーチンをステップ800から開始すると、CPUはステップ810にてNoと判定してステップ880に進み、パージ実行要求フラグXPGreqの値が0であるか否かを判定する。このとき、パージ実行要求フラグXPGreqの値が1であれば、CPUはステップ880にてNoと判定し、ステップ830に直接進む。よって、パージ実行フラグXPGの値は1に維持されるので、ステップ870の処理が実行される。その結果、蒸発燃料パージが継続して実行される。これに対し、CPUがステップ880の処理を実行する時点において、パージ実行要求条件が不成立となっていて、パージ実行要求フラグXPGreqの値が0となっていると、CPUはそのステップ880にてYesと判定してステップ890に進み、パージ実行フラグXPGの値を0に設定する。その後、CPUはステップ830に進む。よって、CPUはステップ830にてNoと判定してステップ840に進み、デューティ比DPGを0に設定することによりパージ制御弁55を閉弁する。即ち、CPUは、ステップ840にて蒸発燃料パージを停止する。<パージ実行禁止フラグ設定>CPUは図9に示した蒸発燃料パージ制御ルーチンを所定時間の経過毎に実行するようになっている。従って、所定のタイミングになるとCPUはステップ900から処理を開始してステップ910に進み、現時点が目標空燃比リッチリーン変更時点から第1所定時間Δta1が経過するまでの期間内であるか否かを判定する。第1所定時間Δta1はパージ禁止時間所定時間とも称呼される。現時点が目標空燃比リッチリーン変更時点から第1所定時間Δta1が経過するまでの期間内であると、CPUはステップ910にてYesと判定してステップ920に進み、パージ実行禁止フラグXPGkinshiの値を1に設定する。その後、CPUはステップ995に進み、本ルーチンを一旦終了する。これに対し、CPUがステップ910の処理を実行する時点において、現時点が目標空燃比リッチリーン変更時点から第1所定時間Δta1が経過するまでの期間内でなければ、CPUはそのステップ910にてNoと判定してステップ930に進み、現時点が目標空燃比リーンリッチ変更時点から第2所定時間Δta2が経過するまでの期間内であるか否かを判定する。第2所定時間Δta2も、第1所定時間Δta1と同様、パージ禁止時間所定時間とも称呼される。現時点が目標空燃比リーンリッチ変更時点から第2所定時間Δta2が経過するまでの期間内であると、CPUはステップ930にてYesと判定してステップ920に進み、パージ実行禁止フラグXPGkinshiの値を1に設定する。その後、CPUはステップ995に進み、本ルーチンを一旦終了する。これに対し、CPUがステップ930の処理を実行する時点において、現時点が目標空燃比リーンリッチ変更時点から第2所定時間Δta2が経過するまでの期間内でなければ、CPUはそのステップ930にてNoと判定してステップ940に進み、パージ実行禁止フラグXPGkinshiの値を0に設定する。その後、CPUはステップ995に進み、本ルーチンを一旦終了する。このように、パージ実行禁止フラグXPGkinshiの値は、現時点が目標空燃比リッチリーン変更時点から第1所定時間Δta1が経過するまでの期間内であるとき、及び、現時点が目標空燃比リーンリッチ変更時点から第2所定時間Δta2が経過するまでの期間内であるとき、1に設定され、それ以外のとき0に設定される。以上、説明したように、第1制御装置は、触媒43の酸素吸蔵状態が、酸素過剰状態であるか、酸素不足状態であるか、を下流側空燃比センサ67の出力値Voxsに基づいて判定する触媒状態判定手段図7のルーチンと、前記酸素吸蔵状態が前記酸素過剰状態であると判定されている場合に目標空燃比abyfrを目標リッチ空燃比afRichに設定し図6のステップ645及びステップ650、前記酸素吸蔵状態が前記酸素不足状態であると判定されている場合に目標空燃比abyfrを目標リーン空燃比afLeanに設定する図6のステップ645及びステップ655、目標空燃比設定手段と、燃料噴射弁33から噴射される燃料の量である燃料噴射量Fiを前記設定された目標空燃比abyfr及び筒内吸入空気量Mcに応じて決定するとともに同決定した燃料噴射量Fiの燃料を燃料噴射弁33から噴射させる燃料噴射制御手段図6のステップ625乃至ステップ640と、燃料噴射弁33に供給される燃料を貯蔵する燃料タンク51内に発生した蒸発燃料を機関10の吸気通路に導入する蒸発燃料パージを所定のパージ実行要求条件が成立している場合に実行する蒸発燃料パージ手段パージ制御弁55を含む蒸発燃料供給系統50、図8のステップ820、ステップ860、ステップ830及びステップ870と、を備えた内燃機関の制御装置において、前記蒸発燃料パージ手段は、目標空燃比abyfrが目標リッチ空燃比afRichから目標リーン空燃比afLeanへと変更される時点である目標空燃比リッチリーン変更時点、及び、目標空燃比abyfrが目標リーン空燃比afLeanから目標リッチ空燃比afRichへと変更される時点である目標空燃比リーンリッチ変更時点、の少なくとも一方の時点から所定時間第1所定時間Δta1、第2所定時間Δta2が経過するまでの期間、前記パージ実行要求条件が成立した場合であっても図8のステップ820でのYesとの判定を参照。、前記蒸発燃料パージの実行を開始しないように構成されている図9のルーチン、図8のステップ850でのNoとの判定、ステップ830及びステップ840を参照。。この第1制御装置によれば、目標空燃比リッチリーン変更時点から第1所定時間Δta1が経過した時点以降において、換言すると、触媒43の酸素吸蔵量がある程度大きくなっている時点以降において、蒸発燃料パージを開始したことに起因する空燃比の変動が上流側空燃比に現れる。よって、触媒の酸素吸蔵量が0に到達する可能性を低減することができるので、エミッションが悪化する可能性を低減することができる。同様に、第1制御装置によれば、目標空燃比リーンリッチ変更時点から第2所定時間Δta2が経過した時点以降において、換言すると、触媒の酸素吸蔵量がある程度小さくなっている時点以降において、蒸発燃料パージを開始したことに起因する空燃比の変動が上流側空燃比に現れる。よって、触媒の酸素吸蔵量が最大酸素吸蔵量Cmaxに到達する可能性を低減することができるので、エミッションが悪化する可能性を低減することができる。<第2実施形態>次に、本発明の第2実施形態に係る内燃機関の制御装置以下、第2制御装置とも称呼する。について説明する。第1制御装置は、蒸発燃料パージの開始を目標空燃比リッチリーン変更時点から第1所定時間Δta1が経過するまでの期間及び目標空燃比リーンリッチ変更時点から第2所定時間Δta2が経過するまでの期間において禁止する。しかしながら、触媒43の酸素吸蔵量OSAは、目標空燃比リッチリーン変更時点の直前においても0に極めて近い値となっている。よって、そのような場合に蒸発燃料パージの実行開始に起因する上流側空燃比abyfsの大きな変動が発生することは好ましくない。同様に、触媒43の酸素吸蔵量OSAは、目標空燃比リーンリッチ変更時点の直前においても最大酸素吸蔵量Cmaxに極めて近い値となっている。よって、そのような場合に蒸発燃料パージの実行開始に起因する上流側空燃比abyfsの大きな変動が発生することは好ましくない。そこで、第2制御装置は、目標空燃比リッチリーン変更時点tRLを予測し、その予測した目標空燃比リッチリーン変更時点tRLよりも第3所定時間Δtb1前の時点から、その予測した目標空燃比リッチリーン変更時点から第1所定時間Δta1が経過する時点までの期間、蒸発燃料パージが開始されることを禁止する図10の時刻t1~t3、時刻t7~t9、時刻t13~t15を参照。。更に、第2制御装置は、目標空燃比リーンリッチ変更時点tLRを予測し、その予測した目標空燃比リーンリッチ変更時点tLRよりも第4所定時間Δtb2前の時点から、その予測した目標空燃比リーンリッチ変更時点tLRから第2所定時間Δta2が経過する時点までの期間、蒸発燃料パージが開始されることを禁止する図10の時刻t4~t6、時刻t10~t12を参照。。実際の作動第2制御装置のCPUは、図6、図7及び図8に示したルーチンを第1制御装置のCPUと同様に実行する。更に、第2制御装置のCPUは、所定時間が経過する毎に図9に代わる図11にフローチャートにより示したパージ実行禁止フラグ設定ルーチンを実行するようになっている。従って、以下、主として図11を参照しながら第2制御装置の作動について説明する。所定のタイミングになると、CPUは図11のステップ1100から処理を開始してステップ1110に進み、吸入空気量Gaに基づいて目標リッチ空燃比継続時間TRL及び目標リーン空燃比継続時間TLRを推定する。目標リッチ空燃比継続時間TRLは、目標空燃比abyfrが目標リッチ空燃比afRichに設定されてから目標空燃比abyfrが目標リーン空燃比afLeanに設定されるまでの時間即ち、触媒43の状態が酸素過剰状態であると判定されてから酸素不足状態であると判定されるまでの時間である。目標リーン空燃比継続時間TLRは、目標空燃比abyfrが目標リーン空燃比afLeanに設定されてから目標リッチ空燃比afRichに設定されるまでの時間即ち、触媒43の状態が酸素不足状態であると判定されてから酸素過剰状態であると判定されるまでの時間である。図12のA及びBは、吸入空気量Gaが比較的小さい第1吸入空気量Ga1である場合における上流側空燃比実際には目標空燃比abyfr及び触媒43の酸素吸蔵量OSAをそれぞれ示すタイムチャートであり、図12のC及びDは、吸入空気量Gaが比較的大きい第2吸入空気量Ga2である場合における、上流側空燃比実際には目標空燃比abyfr及び触媒43の酸素吸蔵量OSAをそれぞれ示すタイムチャートである。図12から理解されるように、目標リッチ空燃比afRichが一定値であり且つ目標リーン空燃比afLeanが一定値であれば、吸入空気量Gaが大きいほど目標空燃比切替え周期T従って、目標リッチ空燃比継続時間TRL及び目標リーン空燃比継続時間TLRのそれぞれは短くなる。目標空燃比切替え周期Tは、目標リッチ空燃比継続時間TRLと目標リーン空燃比継続時間TLRの和である。図13は、上流側空燃比の変動幅ΔA/F=目標リーン空燃比afLean-目標リッチ空燃比afRich及び吸入空気量Gaと、目標空燃比切替え周期Tと、の関係を示したマップである。図13から理解されるように、上流側空燃比の変動幅ΔA/Fが大きくなるほど目標空燃比切替え周期Tは短くなり、吸入空気量Gaが大きいほど目標空燃比切替え周期Tは短くなる。一方、第2制御装置において、目標リッチ空燃比afRichが一定値であり且つ目標リーン空燃比afLeanが一定値である。そこで、第2制御装置の電気制御装置70は、ROM内にルックアップテーブルMapTRLGa及びルックアップテーブルMapTLRGaを予め格納している。ルックアップテーブルMapTRLGaは、吸入空気量Gaと目標リッチ空燃比継続時間TRLとの関係を規定している。このルックアップテーブルMapTRLGaは予め実験により得られたデータに基づいて形成されている。同様に、ルックアップテーブルMapTLRGaは、吸入空気量Gaと目標リーン空燃比継続時間TLRとの関係を規定している。このルックアップテーブルMapTLRGaも予め実験により得られたデータに基づいて形成されている。そして、CPUは図11のステップ1110において、実際の吸入空気量GaをルックアップテーブルMapTRLGaに適用することにより目標リッチ空燃比継続時間TRLを推定し、実際の吸入空気量GaをルックアップテーブルMapTLRGaに適用することにより目標リーン空燃比継続時間TLRを推定する。なお、本例において、目標リッチ空燃比afRichは一定値であり、目標リーン空燃比afLeanは一定値であるので、上流側空燃比の変動幅ΔA/Fが目標リッチ空燃比継続時間TRL及び目標リーン空燃比継続時間TLRのそれぞれに及ぼす影響を考慮する必要はない。また、吸入空気量Gaと目標空燃比切替周期T=TLRTRLとの関係を規定するルックアップテーブルMapTGaを予め記憶しておき、実際の吸入空気量GaをルックアップテーブルMapTGaに適用することにより目標空燃比切替周期Tを推定し、その半分T/2を目標リッチ空燃比継続時間TRL及び目標リーン空燃比継続時間TLRのそれぞれとして採用してもよい。次に、CPUは図11のステップ1120に進み、現時点が実際の目標空燃比リーンリッチ変更時点目標空燃比abyfrが目標リーン空燃比afLeanから目標リッチ空燃比afRichに実際に変更された時点の直後であるか否かを判定する図10の時刻t5の直後及び時刻t11の直後を参照。。そして、現時点が目標空燃比リーンリッチ変更時点の直後である場合、CPUはステップ1120にてYesと判定してステップ1130に進み、現在の時刻tnowにステップ1110にて予測した目標リッチ空燃比継続時間TRLを加えた時刻現時点から目標リッチ空燃比継続時間TRLだけ後の時刻=tnowTRLを将来目標空燃比リッチリーン変更時点tRLとして予測する。その後、CPUはステップ1140に進む。一方、CPUがステップ1120の処理を実行する時点において、その時点が目標空燃比リーンリッチ変更時点の直後でない場合、CPUはステップ1120にてNoと判定して直接ステップ1140に進む。CPUは、ステップ1140にて、現在の時刻tnowが将来目標空燃比リッチリーン変更時点tRLから第3所定時間Δtb1だけ前の時点tRL-Δtb1から、将来目標空燃比リッチリーン変更時点tRLから第1所定時間Δta1だけ後の時点tRLΔta1まで、の期間内であるか否かを判定する。そして、現在の時刻tnowが時刻tRL-Δtb1から時刻tRLΔta1までの期間内である場合、CPUはステップ1140にてYesと判定してステップ1150に進み、パージ実行禁止フラグXPGkinshiの値を1に設定し、ステップ1195に進んで本ルーチンを一旦終了する。これに対し、現在の時刻tnowが時刻tRL-Δtb1から時刻tRLΔta1までの期間内でない場合、CPUはステップ1140にてNoと判定してステップ1160に進み、現時点が実際の目標空燃比リッチリーン変更時点目標空燃比abyfrが目標リッチ空燃比afRichから目標リーン空燃比afLeanに実際に変更された時点の直後であるか否かを判定する図10の時刻t2の直後、時刻t8の直後及び時刻t14の直後を参照。。そして、現時点が目標空燃比リッチリーン変更時点の直後である場合、CPUはステップ1160にてYesと判定してステップ1170に進み、現在の時刻tnowにステップ1110にて予測した目標リーン空燃比継続時間TLRを加えた時刻現時点から目標リーン空燃比継続時間TLRだけ後の時刻=tnowTLRを将来目標空燃比リーンリッチ変更時点tLRとして予測する。その後、CPUはステップ1180に進む。一方、CPUがステップ1160の処理を実行する時点において、その時点が目標空燃比リッチリーン変更時点の直後でない場合、CPUはステップ1160にてNoと判定して直接ステップ1180に進む。CPUは、ステップ1180にて、現在の時刻tnowが将来目標空燃比リーンリッチ変更時点tLRから第4所定時間Δtb2だけ前の時点tLR-Δtb2から、将来目標空燃比リーンリッチ変更時点tLRから第2所定時間Δta2だけ後の時点tLRΔta2まで、の期間内であるか否かを判定する。そして、現在の時刻tnowが時刻tLR-Δtb2から時刻tLRΔta2までの期間内である場合、CPUはステップ1180にてYesと判定してステップ1150に進み、パージ実行禁止フラグXPGkinshiの値を1に設定し、ステップ1195に進んで本ルーチンを一旦終了する。これに対し、現在の時刻tnowが時刻tLR-Δtb2から時刻tLRΔta2までの期間内でない場合、CPUはステップ1180にてNoと判定してステップ1190に進み、パージ実行禁止フラグXPGkinshiの値を0に設定し、ステップ1195に進んで本ルーチンを一旦終了する。以上、説明したように、第2制御装置は、将来の目標空燃比リッチリーン変更時点を予測するとともに、その予測した将来の目標空燃比リッチリーン変更時点の近傍の期間において蒸発燃料パージの開始を禁止する。よって、触媒43の酸素吸蔵量が0に到達する可能性を低減することができる。更に、第2制御装置は、将来の目標空燃比リーンリッチ変更時点を予測するとともに、その予測した将来の目標空燃比リーンリッチ変更時点の近傍の期間において蒸発燃料パージの開始を禁止する。よって、触媒43の酸素吸蔵量が最大酸素吸蔵量Cmaxに到達する可能性を低減することができる。なお、第2制御装置は、蒸発燃料パージの開始を禁止している期間の終了時点を第1制御装置のように決定してもよい。より具体的に述べると、第2制御装置は、将来の目標空燃比リッチリーン変更時点tRLを予測するとともに、その予測した目標空燃比リッチリーン変更時点tRLよりも第3所定時間Δtb1前の時点から、次に発生する実際の目標空燃比リッチリーン変更時点から第1所定時間Δta1が経過する時点まで、の期間、蒸発燃料パージが開始されることを禁止してもよい。この場合、前記蒸発燃料パージ手段は、前記目標空燃比リッチリーン変更時点から前記所定時間としての第1所定時間が経過するまでの期間であるリッチリーン変更後期間に前記蒸発燃料パージの実行を開始しないように構成され、前記目標空燃比リーンリッチ変更時点から同目標空燃比リーンリッチ変更時点に続く前記目標空燃比リッチリーン変更時点までの第2時間目標リッチ空燃比継続時間を少なくとも前記機関の吸入空気量に相関を有する値に基づいて推定し、前記推定された第2時間に基づいて次に到来する予定の前記目標空燃比リッチリーン変更時点を予測し、前記予測された目標空燃比リッチリーン変更時点よりも所定時間第3所定時間前の時点から前記リッチリーン変更後期間の経過時点までの期間、前記蒸発燃料パージの実行を開始しないように構成されていると言うことができる。同様に、第2制御装置は、将来の目標空燃比リーンリッチ変更時点tLRを予測するとともに、その予測した目標空燃比リーンリッチ変更時点tLRよりも第4所定時間Δtb2前の時点から、次に発生する実際の目標空燃比リーンリッチ変更時点から第2所定時間Δta2が経過する時点まで、の期間、蒸発燃料パージが開始されることを禁止してもよい。即ち、前記蒸発燃料パージ手段は、前記目標空燃比リーンリッチ変更時点から前記所定時間としての第2所定時間が経過するまでの期間であるリーンリッチ変更後期間に前記蒸発燃料パージの実行を開始しないように構成され、前記目標空燃比リッチリーン変更時点から同目標空燃比リッチリーン変更時点に続く前記目標空燃比リーンリッチ変更時点までの第1時間目標リーン空燃比継続時間を少なくとも前記機関の吸入空気量に相関を有する値に基づいて推定し、前記推定された第1時間に基づいて次に到来する予定の前記目標空燃比リーンリッチ変更時点tLRを予測し、前記予測された目標空燃比リーンリッチ変更時点よりも所定時間第4所定時間前の時点から前記リーンリッチ変更後期間の経過時点までの期間、前記蒸発燃料パージの実行を開始しないように構成されていると言うことができる。<第3実施形態>次に、本発明の第3実施形態に係る内燃機関の制御装置以下、第3制御装置とも称呼する。について説明する。第1制御装置においては、目標空燃比リッチリーン変更時点から第1所定時間Δta1が経過した時点にてパージ制御弁55の状態を閉弁状態から開弁状態へと変更することにより蒸発燃料パージの実行を開始したとしても、その蒸発燃料パージ実行開始の影響が上流側空燃比abyfsに現れる時点においては十分に酸素吸蔵量OSAが0から乖離しているように、第1所定時間Δta1を設定している。更に、第1制御装置においては、目標空燃比リーンリッチ変更時点から第2所定時間Δta2が経過した時点にてパージ制御弁55の状態を閉弁状態から開弁状態へと変更することにより蒸発燃料パージの実行を開始したとしても、その蒸発燃料パージ実行開始の影響が上流側空燃比abyfsに現れる時点においては十分に酸素吸蔵量OSAが最大酸素吸蔵量Cmaxから乖離しているように、第2所定時間Δta2を設定している。換言すると、第1制御装置は、図14に示した蒸発燃料ガスの輸送遅れ時間即ち、パージ制御弁55の状態を閉弁状態から開弁状態へと変更した時点t0から、その蒸発燃料パージ実行開始の影響が上流側空燃比abyfsに現れる時点t1まで、の時間tdが一定であるとの前提に基づいて構築されている。しかしながら、蒸発燃料パージは吸気管負圧を利用して機関10に蒸発燃料を吸入させることにより行われるので、蒸発燃料ガスの輸送遅れ時間tdは吸気管負圧に応じて変化する。より具体的に述べると、吸気管負圧が小さくなる吸気管圧力の絶対値が大気圧に近づくほど、蒸発燃料ガスの輸送遅れ時間tdは長くなる。そこで、第3制御装置は、吸気管圧力に相関を有する値吸気管圧力相関値Pを取得し、その吸気管圧力相関値Pに基づき、上記第1所定時間Δta1及び第2所定時間Δta2を決定する。これにより、蒸発燃料パージの開始が禁止されている期間を短くできるので、蒸発燃料をより適切にパージすることができる。実際の作動第3制御装置のCPUは、図6、図7及び図8に示したルーチンを第1制御装置のCPUと同様に実行する。更に、第3制御装置のCPUは、所定時間が経過する毎に図9に代わる図15にフローチャートにより示したパージ実行禁止フラグ設定ルーチンを実行するようになっている。従って、以下、主として図15を参照しながら第3制御装置の作動について説明する。図15に示したフローチャートは、図9に示したフローチャートと類似している。よって、図15に示されたステップであって図9にも示されたステップには、図9に示されたステップと同一の符号が付されている。これらのステップの詳細な説明は適宜省略される。所定のタイミングになると、CPUは図15のステップ1500から処理を開始してステップ1510に進み、吸気管圧力相関値Pを取得する。本例において、吸気管圧力相関値Pは、吸入空気量Gaと機関回転速度NEとに基づいて取得される。吸気管圧力相関値Pは、吸入空気量Gaが大きいほど大きくなり、機関回転速度NEが小さいほど大きくなる。なお、吸気管圧力相関値Pは、スロットル弁34の下流の吸気管32内の圧力を検出する圧力センサからの信号に基いて取得されてもよい。吸気管圧力相関値Pは、スロットル弁34の下流の吸気管32内の圧力が大気圧に近づくほど大きくなり、真空に近づくほど小さくなる。次に、CPUはステップ1520に進み、ステップ1510にて取得した吸気管圧力相関値Pに基づいて第1所定時間Δta1及び第2所定時間Δta2を取得する。本例において、第1所定時間Δta1及び第2所定時間Δta2は互いに同じ長さである。第1所定時間Δta1及び第2所定時間Δta2は、吸気管圧力相関値Pが大きいほど短くなるように決定される。これは、吸気管圧力相関値Pが大きいほど吸気管負圧は小さいので、吸気管圧力相関値Pが大きいほど蒸発燃料ガスの輸送遅れ時間tdが長くなるからである。即ち、蒸発燃料ガスの輸送遅れ時間tdが長いほど、目標空燃比リッチリーン変更時点からより短い時間が経過した時点にて蒸発燃料パージの実行を開始しても、その影響が上流側目標空燃比abyfrに現れるまでに長い時間を要するので、その影響が上流側目標空燃比abyfrに現れる時点において酸素吸蔵量OSAが0から十分に乖離しているからである。同様に、蒸発燃料ガスの輸送遅れ時間tdが長いほど、目標空燃比リーンリッチ変更時点からより短い時間が経過した時点にて蒸発燃料パージの実行を開始しても、その影響が上流側目標空燃比abyfrに現れるまでに長い時間を要するので、その影響が上流側目標空燃比abyfrに現れる時点において酸素吸蔵量OSAが最大酸素吸蔵量Cmaxから十分に乖離しているからである。次に、CPUはステップ910乃至ステップ940のうちの適当なステップを実行する。ステップ910乃至ステップ940からなるルーチンは、図9に示したルーチンと同じである。この結果、目標空燃比リッチリーン変更時点から第1所定時間Δta1が経過するまでの期間においてパージ制御弁55の状態が閉弁状態から開弁状態へと変更されること蒸発燃料パージの実行開始が禁止され、目標空燃比リーンリッチ変更時点から第2所定時間Δta2が経過するまでの期間においてパージ制御弁55の状態が閉弁状態から開弁状態へと変更されること蒸発燃料パージの実行開始が禁止される。以上、説明したように、第3制御装置は、蒸発燃料ガスの輸送遅れ時間tdが吸気管圧力相関値Pに応じて変化するとの知見に基いて、第1所定時間Δta1及び第2所定時間Δta2を吸気管圧力相関値Pに応じて変化させている。従って、蒸発燃料パージの開始が禁止される期間が必要以上に長く設定されることを回避することができる。<第4実施形態>次に、本発明の第4実施形態に係る内燃機関の制御装置以下、第4制御装置とも称呼する。について説明する。燃料の揮発性は一定ではない。蒸発燃料パージが行われていない場合、燃料の揮発性が高いほどキャニスタに吸着蓄積される蒸発燃料の量は多くなる。従って、例えば、燃料の揮発性が比較的低い場合、図16のA及びBに示したように蒸発燃料パージ開始に伴う上流側空燃比の変動の最大振幅は値af1となるのに対し、燃料の揮発性が比較的高い場合、図16のC及びDに示したように蒸発燃料パージ開始に伴う上流側空燃比の変動の最大振幅は値af1よりも大きい値af2となる。このことから明らかなように、第1所定時間Δta1及び第2所定時間Δta2のそれぞれは燃料の揮発性が高いほど長くすべきである。そこで、第4制御装置は、燃料の揮発性が高くなるほど、蒸発燃料パージの開始を禁止している期間を決定する第1所定時間Δta1及び第2所定時間Δta2を長くする。これにより、蒸発燃料パージの開始が禁止されている期間が燃料の揮発性に応じた適切な長さになるので、蒸発燃料をより適切にパージすることができる。実際の作動第4制御装置のCPUは、図6、図7及び図8に示したルーチンを第1制御装置のCPUと同様に実行する。更に、第4制御装置のCPUは、所定時間が経過する毎に図9に代わる図17にフローチャートにより示したパージ実行禁止フラグ設定ルーチンを実行するようになっている。従って、以下、主として図17を参照しながら第4制御装置の作動について説明する。図17に示したフローチャートは、図9に示したフローチャートと類似している。よって、図17に示されたステップであって図9にも示されたステップには、図9に示されたステップと同一の符号が付されている。これらのステップの詳細な説明は適宜省略される。所定のタイミングになると、CPUは図17のステップ1700から処理を開始してステップ1710に進み、燃料揮発性相関値Fを取得する。燃料揮発性相関値Fは、周知の手法によって取得される。本例において、燃料揮発性相関値Fは、燃料タンクに設けられた図示しないアルコール濃度センサの出力に基づいて取得される。一般に、アルコール濃度が高くなるほど揮発性は低くなる。燃料揮発性相関値Fは燃料の揮発性が高くなるほど大きくなる値として取得される。次に、CPUはステップ1720に進み、ステップ1710にて取得した燃料揮発性相関値Fに基づいて第1所定時間Δta1及び第2所定時間Δta2を取得する。本例において、第1所定時間Δta1及び第2所定時間Δta2は互いに同じ長さである。第1所定時間Δta1及び第2所定時間Δta2は、燃料揮発性相関値Fが大きいほど長くなるように決定される。これは、燃料の揮発性が高いほど蒸発燃料パージの開始に起因する上流側空燃比の変動幅が大きくなるので、蒸発燃料パージの開始に起因して上流側空燃比の変動が大きくなり始める時点において、触媒43の酸素吸蔵量OSAを0及び最大酸素吸蔵量Cmaxのそれぞれからより一層遠ざけておく必要があるからである。次に、CPUはステップ910乃至ステップ940のうちの適当なステップを実行する。ステップ910乃至ステップ940からなるルーチンは、図9に示したルーチンと同じである。この結果、目標空燃比リッチリーン変更時点から第1所定時間Δta1が経過するまでの期間においてパージ制御弁55の状態が閉弁状態から開弁状態へと変更されること蒸発燃料パージの実行開始が禁止され、目標空燃比リーンリッチ変更時点から第2所定時間Δta2が経過するまでの期間においてパージ制御弁55の状態が閉弁状態から開弁状態へと変更されること蒸発燃料パージの実行開始が禁止される。以上、説明したように、第4制御装置の蒸発燃料パージ手段は、目標空燃比リッチリーン変更時点、及び、目標空燃比リーンリッチ変更時点、の少なくとも一方の時点から所定時間が経過するまでの期間、前記パージ実行要求条件が成立した場合であっても前記蒸発燃料パージの実行を開始しないように構成され図17のステップ910乃至ステップ940、図8のステップ850でのNoとの判定、ステップ830及びステップ840、且つ、燃料揮発性相関値Fに基づいて燃料の揮発性が高いほど前記所定時間が長くなるように前記所定時間を決定するように構成されている図17のステップ1720。即ち、第4制御装置は、第1所定時間Δta1及び第2所定時間Δta2を燃料揮発性相関値Fに応じて変化させている。従って、蒸発燃料パージの開始が禁止される期間が必要以上に長く設定されることを回避することができる。以上、説明したように、本発明による内燃機関の制御装置の各実施形態によれば、蒸発燃料パージの開始時期を制限しているので、蒸発燃料パージの開始に起因するエミッションの悪化を回避することができる。本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、第1所定時間Δta1と第2所定時間Δta2とは互いに相違していもよい。同様に、第3所定時間Δtb1と第4所定時間Δtb2とは互いに相違していもよい。更に、基本燃料噴射量Fbaseをメインフィードバック量KFmainのみでなく、メインフィードバック学習値KG及びパージ補正係数FPGにも基づいて、下記2式のように補正することによって指示燃料噴射量Fiを求めてもよい。Fi=FPGKGKFmainFbase...2この場合、パージ実行要求条件の一つとしてメインフィードバック学習値KGの学習が完了していることが含まれ得る。即ち、メインフィードバック学習値KGの学習が完了していない場合、蒸発燃料パージは実行されない。メインフィードバック学習値KGの学習が完了していないために蒸発燃料パージが実行されておらず、且つ、空燃比のフィードバック制御が実行されいる場合フィードバック制御フラグXFBの値が1である場合、1メインフィードバック量KFmainの平均値が1αよりも大きいときメインフィードバック学習値KGの値が所定時間あたり値ΔKGだけ増大させられ、2メインフィードバック量KFmainの平均値が1-αよりも小さいときメインフィードバック学習値KGの値が所定時間あたり値ΔKGだけ減少させられる。なお、値αは0よりも大きく1よりも小さい値例えば、0.02であり、メインフィードバック学習値KGの初期値は1である。その後、フィードバック制御が継続していて、且つ、フィードバック量KFmainの平均値が1αと1-αとの間の値である状態の継続時間が閾値時間以上となったとき、メインフィードバック学習値KGの学習が完了したと判定される。更に、パージ補正係数FPGは下記の3に従って求められる。3式において、FGPGは蒸発燃料ガス濃度学習値である。PGTは目標パージ率である。FPG=1PGTFGPG-1...3蒸発燃料ガス濃度学習値FGPGは、蒸発燃料のパージを実行している期間において、メインフィードバック量KFmainの平均値FAFAVが1βと1-βとの間の値でないとき、所定時間にFAFAV-1/PGTだけ増大させられる。目標パージ率PGTは、負荷KL及び機関回転速度NE等に基づいて定められる。目標パージ率PGTは一定値であってもよい。なお、値βは0よりも大きく1よりも小さい値例えば、0.02である。また、上記各実施形態において、目標リッチ空燃比afRichは例えば吸入空気量Gaに応じて変化する値であってもよいく、目標リーン空燃比afLeanは例えば吸入空気量Gaに応じて変化する値であってもよい。"