"内燃機関の排気通路に配設された触媒と、前記排気通路の前記触媒の下流側に配設された下流側空燃比センサと、前記触媒に流入するガスの空燃比の目標値である目標空燃比を理論空燃比よりも小さい目標リッチ空燃比と理論空燃比よりも大きい目標リーン空燃比とのうちの何れに設定すべきかを前記下流側空燃比センサの出力値に基づいて決定する目標空燃比決定手段と、前記機関に対して燃料を噴射する燃料噴射弁と、前記燃料噴射弁から噴射される燃料の量である燃料噴射量を前記目標空燃比に応じて決定するとともに同決定した燃料噴射量の燃料を前記燃料噴射弁から噴射させる燃料噴射制御手段と、前記燃料噴射弁に供給される燃料を貯蔵する燃料タンク内に発生した蒸発燃料を前記機関の吸気通路に導入する蒸発燃料パージを所定のパージ実行要求条件が成立している場合に実行する蒸発燃料パージ手段と、を備えた内燃機関の制御装置において、前記蒸発燃料パージ手段は、前記パージ実行要求条件が不成立である状態から前記パージ実行要求条件が成立した状態へと変化したパージ実行要求条件成立時点において前記目標空燃比が前記目標リッチ空燃比に設定されているときには前記蒸発燃料パージを開始し、且つ、前記パージ実行要求条件成立時点において前記目標空燃比が前記目標リーン空燃比に設定されているときには前記蒸発燃料パージを開始せず、その後、前記目標空燃比が前記目標リッチ空燃比に設定される時点以降において前記目標空燃比が前記目標リッチ空燃比に設定されているときに前記蒸発燃料パージを開始するように構成された制御装置。請求項1に記載の内燃機関の制御装置において、前記蒸発燃料パージ手段は、前記パージ実行要求条件成立時点の前記機関の運転状態が第1運転状態である場合、前記目標空燃比が前記目標リッチ空燃比に設定されているときには前記蒸発燃料パージを開始し、且つ、前記目標空燃比が前記目標リーン空燃比に設定されているときには前記蒸発燃料パージを開始せず前記目標空燃比が前記目標リッチ空燃比に設定される時点以降において前記目標空燃比が前記目標リッチ空燃比に設定されているときに前記蒸発燃料パージを開始するように構成され、更に、前記パージ実行要求条件成立時点の前記機関の運転状態が前記第1運転状態と異なる第2運転状態である場合、前記目標空燃比が前記目標リーン空燃比に設定されているときには前記蒸発燃料パージを開始し、且つ、前記目標空燃比が前記目標リッチ空燃比に設定されているときには前記蒸発燃料パージを開始せず前記目標空燃比が前記目標リーン空燃比に設定される時点以降において前記目標空燃比が前記目標リーン空燃比に設定されているときに前記蒸発燃料パージを開始するように構成された、制御装置。請求項2に記載の内燃機関の制御装置において、前記蒸発燃料パージ手段は、前記パージ実行要求条件成立時点の前記機関の運転状態が前記第1運転状態である場合、前記目標空燃比が前記目標リッチ空燃比に設定されているとき、前記目標空燃比が前記目標リーン空燃比へと切り換わるまでの時間である第1時間を推定し、前記推定された第1時間が所定の第1閾値時間未満である場合には前記蒸発燃料パージを開始しないように構成された、制御装置。請求項2又は請求項3に記載の内燃機関の制御装置において、前記蒸発燃料パージ手段は、前記パージ実行要求条件成立時点の前記機関の運転状態が前記第2運転状態である場合、前記目標空燃比が前記目標リーン空燃比に設定されているとき、前記目標空燃比が前記目標リッチ空燃比へと切り換わるまでの時間である第2時間を推定し、前記推定された第2時間が所定の第2閾値時間未満である場合には前記蒸発燃料パージを開始しないように構成された、制御装置。請求項2乃至請求項4の何れか一項に記載の内燃機関の制御装置において、前記第1運転状態は前記機関の負荷が閾値負荷よりも小さい運転状態であり、前記第2運転状態は前記機関の負荷が前記閾値負荷よりも大きい運転状態である、制御装置。請求項2乃至請求項5の何れか一項に記載の内燃機関の制御装置において、前記第1運転状態は前記機関の回転速度が閾値回転速度よりも小さい運転状態であり、前記第2運転状態は前記機関の回転速度が前記閾値回転速度よりも大きい運転状態である、制御装置。以下、本発明の各実施形態に係る内燃機関の制御装置以下、単に制御装置とも称呼する。について図面を参照しながら説明する。この制御装置は、内燃機関に供給される混合気の空燃比機関の空燃比を制御する空燃比制御装置の一部であり、更に、燃料噴射量を制御する燃料噴射量制御装置及び蒸発燃料のパージ量を制御する蒸発燃料パージ量制御装置の一部でもある。<第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を完全に閉じるようになっている。燃料ポンプ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となる。出力値Voxsは、被検出ガスの空燃比が理論空燃比よりもリーンのとき最小出力値min例えば、約0.1V~0Vとなる。更に、出力値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の酸素吸蔵量がその最大酸素吸蔵量Cmaxに近い値となっている状態、即ち、触媒43の酸素吸蔵量が高側閾値以上である状態であるか、酸素不足状態リッチ状態、触媒43に酸素が殆ど吸蔵されていない状態、即ち、触媒43の酸素吸蔵量が高側閾値以下である低側閾値未満である状態であるかを判定する。より具体的に述べると、第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に設定する。触媒43の状態が酸素過剰状態であるとき、触媒43には過剰な未燃物を流入させるべきであるので、触媒流入ガスの目標空燃比abyfrは理論空燃比よりも小さい目標リッチ空燃比afRichである。そこで、第1制御装置は、触媒43の状態が酸素過剰状態であると判定している場合、目標空燃比abyfrを目標リッチ空燃比afRichに設定する。一方、第1制御装置は、所定のパージ実行要求条件が成立したときパージ実行要求条件が不成立である状態からパージ実行要求条件が成立した状態へと変化したパージ実行要求条件成立時点において、目標空燃比abyfrが目標リッチ空燃比afRichに設定されているときにはパージ制御弁55を直ちに開弁し、蒸発燃料を吸気通路に導入する即ち、蒸発燃料パージを開始する。。これに対し、第1制御装置は、パージ実行要求条件成立時点において、目標空燃比abyfrが目標リーン空燃比afLeanに設定されているときにはパージ制御弁55を閉弁した状態に維持する。即ち、この場合、第1制御装置は蒸発燃料パージを開始しない。第1制御装置は、その後、目標空燃比abyfrが目標リッチ空燃比afRichに設定されたとき或いは、目標空燃比abyfrが目標リッチ空燃比afRichに設定された時点以降であって、目標空燃比abyfrが目標リッチ空燃比afRichに設定されているとき、パージ制御弁55を開弁し、蒸発燃料を吸気通路に導入する即ち、蒸発燃料パージを開始する。。蒸発燃料パージを開始すると、その蒸発燃料パージによって機関の空燃比が一時的に過小となる一時的に過度にリッチ側の空燃比になる。。そのため、触媒43に多量の未燃物が流入する。このとき、触媒43の状態が酸素不足状態リッチ状態であって触媒43の未燃物の浄化能力が低いと、未燃物が触媒43にて浄化されることなく触媒下流に排出される。これに対し、第1制御装置によれば、蒸発燃料パージが開始されるときの目標空燃比abyfrは目標リッチ空燃比afRichであって目標リーン空燃比afLeanではない。即ち、蒸発燃料パージが開始されるときの触媒43の状態は酸素過剰状態リーン状態である。従って、蒸発燃料パージを開始することによって多量の未燃物が触媒43に流入したとしても、触媒43はその未燃物の多くを浄化することができる。よって、蒸発燃料パージ開始時においてエミッションが悪化する程度を小さくすることができる。実際の作動次に、第1制御装置の実際の作動について説明する。<燃料噴射制御>第1制御装置のCPUは、図4に示した燃料噴射制御ルーチンを、任意の気筒のクランク角度が吸気上死点前の所定クランク角度となる毎に、その気筒に対して繰り返し実行するようになっている。前記所定クランク角度は、例えば、BTDC90°CA吸気上死点前90°クランク角度である。クランク角度が前記所定クランク角度に一致した気筒は燃料噴射気筒とも称呼される。CPUは、この燃料噴射制御ルーチンにより、指示燃料噴射量最終燃料噴射量Fiの計算及び燃料噴射の指示を行う。任意の気筒のクランク角度が吸気上死点前の所定クランク角度と一致すると、CPUはステップ400から処理を開始し、ステップ405にてフューエルカットフラグXFCの値が0であるか否かを判定する。フューエルカットフラグXFCの値は、フューエルカット開始条件が成立したときに1に設定され、フューエルカットフラグXFCの値が1であるときにフューエルカット終了条件が成立したときに0に設定される。フューエルカットフラグXFCの値は更にイニシャルルーチンにおいて0に設定されるようになっている。イニシャルルーチンは、機関10が搭載された車両のイグニッションキースイッチがオフからオンに変更されたときにCPUにより実行されるルーチンである。いま、フューエルカットフラグXFCの値が0であると仮定する。この場合、CPUは、ステップ405にてYesと判定してステップ410に進み、吸入空気量Ga、機関回転速度NE、及び、ルックアップテーブルMapMcGa,NEに基いて燃料噴射気筒に吸入される空気量即ち、筒内吸入空気量Mcを取得する。筒内吸入空気量Mcは、周知の空気モデル吸気通路における空気の挙動を模した物理法則に従って構築されたモデルにより算出されてもよい。次に、CPUはステップ415に進み、フィードバック制御フラグ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はステップ415にてNoと判定してステップ420に進み、目標空燃比abyfrを理論空燃比stoich例えば、14.6に設定する。次に、CPUは以下に述べるステップ425乃至ステップ440の処理を順に行い、ステップ495に進んで本ルーチンを一旦終了する。ステップ425:CPUは、筒内吸入空気量Mcを目標空燃比abyfrで除することによって基本燃料噴射量Fbaseを算出する。基本燃料噴射量Fbaseは、機関の空燃比を目標空燃比abyfrに一致させるために必要な燃料噴射量のフィードフォワード量である。ステップ430:CPUは、図示しないルーチンにより別途計算されているメインフィードバック量KFmainを読み込む。メインフィードバック量KFmainは、検出上流側空燃比abyfsが目標空燃比abyfrに一致するように周知のPID制御に基づいて算出される。なお、メインフィードバック量KFmainは、フィードバック制御フラグXFBの値が0であるとき1に設定される。更に、メインフィードバック量KFmainは常に1に設定されてもよい。即ち、メインフィードバック量KFmainを用いたフィードバック制御は本実施形態において必須ではない。ステップ435:CPUは、基本燃料噴射量Fbaseをメインフィードバック量KFmainにより補正することによって指示燃料噴射量Fiを算出する。より具体的に述べると、CPUは、基本燃料噴射量Fbaseにメインフィードバック量KFmainを乗じることによって指示燃料噴射量Fiを算出する。ステップ440:CPUは、指示燃料噴射量Fiの燃料を燃料噴射気筒に対応して設けられている燃料噴射弁33から噴射させるための噴射指示信号を、その燃料噴射弁33に送出する。この結果、機関の空燃比を目標空燃比abyfrに一致させるために必要な量の燃料が燃料噴射気筒の燃料噴射弁33から噴射させられる。即ち、ステップ425乃至ステップ440は、機関の空燃比が目標空燃比abyfrに一致するように指示燃料噴射量Fiを制御する指示燃料噴射量制御手段を構成している。一方、CPUがステップ415の処理を行う時点において、フィードバック制御フラグXFBの値が1であると、CPUはそのステップ415にてYesと判定してステップ445に進み、触媒リーン状態表示フラグXCCROLeanの値が1であるか否かを判定する。触媒リーン状態表示フラグXCCROLeanの値は後述するルーチンにより設定される。触媒リーン状態表示フラグXCCROLeanの値が1であると、CPUはステップ445にてYesと判定してステップ450に進み、目標空燃比abyfrを所定の目標リッチ空燃比afRich理論空燃比よりも小さい一定の空燃比、例えば、14.2に設定する。その後、CPUはステップ425以降に進む。従って、機関の空燃比は目標リッチ空燃比afRichに一致させられる。これに対し、CPUがステップ445の処理を実行する時点において、触媒リーン状態表示フラグXCCROLeanの値が0であると、CPUはステップ445にてNoと判定してステップ455に進み、目標空燃比abyfrを所定の目標リーン空燃比afLean理論空燃比よりも大きい一定の空燃比、例えば、15.0に設定する。その後、CPUはステップ425以降に進む。従って、機関の空燃比は目標リーン空燃比afLeanに一致させられる。一方、CPUがステップ405の処理を実行する時点において、フューエルカットフラグXFCの値が1であると、CPUはそのステップ405にてNoと判定してステップ495に直接進み、本ルーチンを一旦終了する。この場合、ステップ440の処理による燃料噴射が実行されないので、フューエルカット制御が実行される。即ち、機関10の運転状態はフューエルカット運転状態となる。<触媒リッチ状態判定>CPUは図5にフローチャートにより示した触媒状態判定ルーチン要求空燃比決定ルーチンを所定時間tsの経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ500から処理を開始してステップ510に進み、現時点の下流側空燃比センサ67の出力値Voxsから前回の下流側空燃比センサ67の出力値Voxsoldを減じることにより、所定時間ts単位時間あたりの出力値Voxsの変化量ΔVoxsを算出する。前回の出力値Voxsoldは、次のステップ520にて更新される値であり、現時点から所定時間tsだけ前の時点の出力値Voxs本ルーチンが前回実行されたときの出力値Voxsである。変化量ΔVoxsは変化速度ΔVoxsとも称呼される。次に、CPUはステップ520に進み、現時点の出力値Voxsを前回の出力値Voxsoldとして記憶する。次に、CPUはステップ530に進み、触媒リーン状態表示フラグXCCROLeanの値が1であるか否かを判定する。触媒リーン状態表示フラグXCCROLeanの値は、上述したイニシャルルーチンにおいて1に設定されるようになっている。更に、触媒リーン状態表示フラグXCCROLeanの値は、後述するように、下流側空燃比センサ67の出力値Voxsに基づいて触媒43の状態が酸素不足状態リッチ状態であると判定されたときに0に設定され、下流側空燃比センサ67の出力値Voxsに基づいて触媒43の状態が酸素過剰状態リーン状態であると判定されたときに1に設定される。いま、触媒リーン状態表示フラグXCCROLeanの値が1であると仮定する。この場合、CPUはステップ530にてYesと判定してステップ540に進み、変化速度ΔVoxsが正であるか否かを判定する。即ち、CPUは、出力値Voxsが増大しているか否かを判定する。このとき、変化速度ΔVoxsが正でなければ、CPUはステップ540にてNoと判定し、ステップ595に直接進んで本ルーチンを一旦終了する。これに対し、変化速度ΔVoxsが正であると、CPUはステップ540にてYesと判定してステップ550に進み、変化速度ΔVoxsの大きさ|ΔVoxs|がリッチ判定閾値dRichthよりも大きいか否かを判定する。このとき、大きさ|ΔVoxs|がリッチ判定閾値dRichth以下であると、CPUはステップ550にてNoと判定し、ステップ595に直接進んで本ルーチンを一旦終了する。CPUがステップ550の処理を実行する時点において、変化速度ΔVoxsの大きさ|ΔVoxs|がリッチ判定閾値dRichthよりも大きいと、CPUはそのステップ550にてYesと判定してステップ560に進み、触媒リーン状態表示フラグXCCROLeanの値を0に設定する。即ち、出力値Voxsが増大していて且つその変化速度ΔVoxsの大きさ|ΔVoxs|がリッチ判定閾値dRichthよりも大きい場合、CPUは触媒43の状態は酸素不足状態である。と判定し、触媒リーン状態表示フラグXCCROLeanの値を0に設定する。この状態即ち、触媒リーン状態表示フラグXCCROLeanの値が0に設定された状態において、CPUがステップ500から処理を再び開始すると、CPUはステップ510及びステップ520を経由してステップ530に進み、そのステップ530にてNoと判定してステップ570に進む。CPUは、ステップ570にて変化速度ΔVoxsが負であるか否かを判定する。即ち、CPUは、出力値Voxsが減少しているか否かを判定する。このとき、変化速度ΔVoxsが負でなければ、CPUはステップ570にてNoと判定し、ステップ595に直接進んで本ルーチンを一旦終了する。これに対し、変化速度ΔVoxsが負であると、CPUはステップ570にてYesと判定してステップ580に進み、変化速度ΔVoxsの大きさ|ΔVoxs|がリーン判定閾値dLeanthよりも大きいか否かを判定する。このとき、大きさ|ΔVoxs|がリーン判定閾値dLeanth以下であると、CPUはステップ580にてNoと判定し、ステップ595に直接進んで本ルーチンを一旦終了する。これに対し、変化速度ΔVoxsの大きさ|ΔVoxs|がリーン判定閾値dLeanthよりも大きいと、CPUはステップ580にてYesと判定してステップ590に進み、触媒リーン状態表示フラグ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が決定され図4のルーチンのステップ445乃至ステップ455を参照。、その目標空燃比abyfrに基づいて指示燃料噴射量Fiが決定される図4のルーチンのステップ425乃至ステップ435を参照。。<蒸発燃料パージ開始制御>CPUは図6に示した蒸発燃料パージ開始制御ルーチンを所定時間の経過毎に実行するようになっている。従って、所定のタイミングになるとCPUはステップ600から処理を開始してステップ610に進み、パージ実行フラグXPGの値が0であるか否かを判定する。このパージ実行フラグXPGの値は、パージ制御弁55が開弁させられて吸気通路に蒸発燃料が導入されているとき蒸発燃料パージが実行されているとき1に設定され、パージ制御弁55が閉弁させられて吸気通路に蒸発燃料が導入されていないとき蒸発燃料パージが実行されていないとき0に設定される。更に、パージ実行フラグXPGの値は、上述したイニシャルルーチンにおいて0に設定されるようになっている。いま、蒸発燃料パージは実行されておらず、従って、パージ実行フラグXPGの値は0であると仮定する。この場合、CPUはステップ610にてYesと判定してステップ620に進み、パージ実行要求フラグXPGreqの値が1であるか否かを判定する。パージ実行要求フラグXPGreqの値は、パージ実行要求条件が成立している場合に1に設定され、パージ実行要求条件が成立していない場合に0に設定される。更に、パージ実行要求フラグXPGreqの値は、上述したイニシャルルーチンにおいて0に設定されるようになっている。このパージ実行要求条件は、例えば、以下の総ての条件が成立したときに成立する。勿論、パージ実行要求条件には、他の条件が加えられてもよい。B1フィードバック制御フラグXFBの値が1であるメインフィードバック制御が実行中である。。B2機関10が定常運転されている例えば、機関の負荷を表すスロットル弁開度TAの単位時間あたりの変化量が所定値以下である。。B3冷却水温THWが閾値冷却水温THWth以上である。いま、パージ実行要求条件が不成立であり、従って、パージ実行要求フラグXPGreqの値が0であると仮定する。この場合、CPUはステップ620にてNoと判定してステップ630に進み、パージ許可フラグXKPGの値を0に設定する。なお、パージ許可フラグXKPGの値は上述したイニシャルルーチンにおいて0に設定されるようになっている。次に、CPUはステップ640に進み、パージ許可フラグXKPGの値が1であるか否かを判定する。この場合、パージ許可フラグXKPGの値は0に設定されている。よって、CPUはステップ640にてNoと判定し、ステップ695に直接進んで本ルーチンを一旦終了する。この結果、蒸発燃料パージは開始されない。この状態において、パージ実行要求条件が成立すると、パージ実行要求フラグXPGreqの値は図示しないルーチンにおいて1に設定される。この場合、CPUはステップ610に続くステップ620にてYesと判定してステップ670に進み、触媒リーン状態表示フラグXCCROLeanの値が1であるか否かを判定する。換言すると、CPUは、現時点の目標空燃比abyfrが目標リッチ空燃比afRichであるか否かを判定する。ここで、触媒リーン状態表示フラグXCCROLeanの値が1であると仮定する。この場合、CPUはステップ670にてYesと判定してステップ680に進み、パージ許可フラグXKPGの値を1に設定する。次いで、CPUはステップ640に進み、パージ許可フラグXKPGの値が1であるか否かを判定する。この場合、CPUはステップ640にてYesと判定してステップ650に進み、パージ制御弁55を開弁し、蒸発燃料を吸気通路に導入する。即ち、CPUは、蒸発燃料パージを開始させる。なお、実際には、CPUはデューティ比DPGの信号をパージ制御弁55に送信する。デューティ比DPGは、例えば、吸入空気量Ga及び機関回転速度NEに基づいて定められる。次いで、CPUはステップ660に進み、パージ実行フラグXPGの値を1に設定し、ステップ695に進んで本ルーチンを一旦終了する。これにより、CPUが次に図6に示したルーチンをステップ600から開始すると、CPUはステップ610にてNoと判定し、ステップ695に直接進んで本ルーチンを一旦終了するようになる。このように、パージ実行要求フラグXPGreqの値が0から1へと変更されたパージ実行要求条件成立時点において、触媒リーン状態表示フラグXCCROLeanの値が1であれば即ち、目標空燃比abyfrが目標リッチ空燃比afRichであれば、蒸発燃料パージは直ちに開始される。これに対し、CPUがステップ670の処理を実行する時点において、触媒リーン状態表示フラグXCCROLeanの値が0であると、CPUはそのステップ670にてNoと判定してステップ690に進み、パージ許可フラグXKPGの値を0に設定する。この場合、CPUはステップ640にてNoと判定してステップ695に直接進んで本ルーチンを一旦終了する。よって、パージ実行要求条件成立時点において、触媒リーン状態表示フラグXCCROLeanの値が1でなければ即ち、目標空燃比abyfrが目標リーン空燃比afLeanであれば、蒸発燃料パージは開始されない。そして、触媒リーン状態表示フラグXCCROLeanの値が1に変更されると、CPUはステップ670にてYesと判定してステップ680に進むので、蒸発燃料パージが開始される。<蒸発燃料パージ終了制御>CPUは図7に示した蒸発燃料パージ終了制御ルーチンを所定時間の経過毎に実行するようになっている。従って、所定のタイミングになるとCPUはステップ700から処理を開始してステップ710に進み、パージ実行フラグXPGの値が1であるか否かを判定する。いま、蒸発燃料パージが開始されたと仮定すると、図6のステップ660にてパージ実行フラグXPGの値は1に設定されている。従って、CPUはステップ710にてYesと判定してステップ720に進み、パージ実行要求フラグXPGreqの値が0であるか否かを判定する。このとき、パージ実行要求フラグXPGreqの値が1であれば、CPUはステップ720にてNoと判定し、ステップ795に直接進んで本ルーチンを一旦終了する。従って、この場合、蒸発燃料パージは続行される。これに対し、CPUがステップ720の処理を実行する時点において、パージ実行要求条件が不成立となっていてパージ実行要求フラグXPGreqの値が0に設定されていると、CPUはそのステップ720にてYesと判定し、以下に述べるステップ730乃至ステップ750の処理を順に行い、その後、ステップ795に進んで本ルーチンを一旦終了する。ステップ730:CPUは、パージ制御弁55を閉弁するデューティ比DPGを0に設定する。即ち、CPUは蒸発燃料パージを終了停止する。ステップ740:CPUは、パージ実行フラグXPGの値を0に設定する。ステップ750:CPUは、パージ許可フラグXKPGの値を0に設定する。この結果、次にCPUがステップ710の処理を実行するとき、CPUはそのステップ710にてNoと判定し、ステップ795に直接進んで本ルーチンを一旦終了する。以上、説明したように、第1制御装置は、触媒43に流入するガスの空燃比の目標値目標空燃比abyfrを理論空燃比よりも小さい目標リッチ空燃比afRichと理論空燃比よりも大きい目標リーン空燃比afLeanとのうちの何れに設定すべきかを下流側空燃比センサ67の出力値Voxsに基づいて決定する目標空燃比決定手段図5のルーチンと、図4のステップ445乃至ステップ455を参照。と、燃料噴射弁33から噴射される燃料の量燃料噴射量を目標空燃比abyfrに応じて決定するとともに、その決定した燃料噴射量の燃料を燃料噴射弁33から噴射させる燃料噴射制御手段図4のステップ425乃至ステップ440を参照。と、燃料噴射弁33に供給される燃料を貯蔵する燃料タンク51内に発生した蒸発燃料を機関10の吸気通路に導入する蒸発燃料パージを所定のパージ実行要求条件が成立している場合に実行する蒸発燃料パージ手段蒸発燃料供給系統50、図6のルーチン、及び、図7のルーチンを参照。と、を備えた内燃機関の制御装置である。更に、前記蒸発燃料パージ手段は、前記パージ実行要求条件が不成立である状態から前記パージ実行要求条件が成立した状態へと変化したパージ実行要求条件成立時点において目標空燃比abyfrが目標リッチ空燃比afRichに設定されているときには蒸発燃料パージを開始し図6のステップ620、ステップ670、ステップ680、ステップ640及びステップ650を参照。、且つ、前記パージ実行要求条件成立時点において目標空燃比abyfrが目標リーン空燃比afLeanに設定されているときには蒸発燃料パージを開始せず図6のステップ670、ステップ690及びステップ640を参照。、その後、目標空燃比abyfrが目標リッチ空燃比afRichに設定される時点以降において目標空燃比abyfrが目標リッチ空燃比afRichに設定されているときに蒸発燃料パージを開始するように構成されている図6のステップ620、ステップ670、ステップ680、ステップ640及びステップ650を参照。。この第1制御装置によれば、蒸発燃料パージが開始されるときの目標空燃比abyfrは目標リッチ空燃比afRichであって目標リーン空燃比afLeanではないので、蒸発燃料パージが開始されるときの触媒43の状態は酸素過剰状態リーン状態である。換言すると、触媒43が多量の未燃物を浄化できる状態にあるときに蒸発燃料パージが開始される。従って、蒸発燃料パージの開始によって多量の未燃物が触媒43に流入したとしても、触媒43はその未燃物の多くを浄化することができる。よって、蒸発燃料パージ開始時においてエミッションが悪化する程度を小さくすることができる。<第2実施形態>次に、本発明の第2実施形態に係る内燃機関の制御装置以下、第2制御装置とも称呼する。について説明する。第2制御装置は、パージ実行要求条件成立時点の機関10の運転状態が、エミッションを優先すべき第1運転状態であるか、ドライバビリティを優先すべき第2運転状態であるか、に応じて、蒸発燃料パージの開始をする条件を異ならせている点においてのみ、第1制御装置と相違する。実際の作動第2制御装置のCPUは、図6に示したルーチンを除き、第1制御装置のCPUが実行するルーチンを実行する。更に、第2制御装置のCPUは、所定時間が経過する毎に図6に代わる図8にフローチャートにより示した蒸発燃料パージ開始制御ルーチンを実行するようになっている。従って、以下、主として図8を参照しながら第2制御装置の作動について説明する。図8に示したルーチンは図6に示したルーチンと類似している。図8に示されたステップであって図6にも示されたステップには、図6に示されたステップと同一の符号が付されている。これらのステップの詳細な説明は適宜省略される。図8に示したルーチンは、図6に示したルーチンに対し、ステップ810乃至ステップ830が追加されている点のみにおいて、図6に示したルーチンと相違している。以下、この相違点について説明する。パージ実行フラグXPGの値が0であり蒸発燃料パージが実行中でなく、且つ、パージ実行要求フラグXPGreqの値が1に設定されたときパージ実行要求条件成立時点、CPUはステップ610及びステップ620の両ステップにてYesと判定してステップ810に進み、機関10の運転状態がエミッションを優先すべき運転領域にあるか否かを判定する。機関10の運転状態がエミッションを優先すべき運転領域にある場合、機関10の運転状態は第1運転状態にあるとも表現される。より具体的に述べると、CPUはステップ810に進んだとき、負荷KLと機関回転速度NEとにより表される機関10の運転状態が、図9の運転領域マップに示されたエミッション優先運転領域及びドライバビリティ優先運転領域の何れの領域にあるかを判定する。エミッション優先運転領域は、全運転領域を負荷と機関回転速度との関係を規定する境界線Lにより二つの領域に区分けした場合における、低負荷側且つ低回転速度側の領域である。ドライバビリティ優先運転領域は、前記区分けされた二つの領域のうちの高負荷側且つ高回転速度側の領域である。いま、機関10の運転状態がエミッション優先運転領域にあると仮定する。この場合、CPUはステップ810にてYesと判定してステップ670以降に進む。従って、CPUは、触媒リーン状態表示フラグXCCROLeanの値が1であれば蒸発燃料パージを直ちに開始しステップ680、ステップ640及びステップ650を参照。、触媒リーン状態表示フラグXCCROLeanの値が0であれば蒸発燃料パージを開始しないステップ690及びステップ640を参照。。これに対し、CPUがステップ810の処理を実行する時点において、機関10の運転状態がエミッション優先運転領域にない場合即ち、機関10の運転状態がドライバビリティ優先運転領域である場合、換言すると、機関10の運転状態が第2運転状態である場合、CPUはそのステップ810にてNoと判定してステップ820に進む。そして、CPUはステップ820にて触媒リーン状態表示フラグXCCROLeanの値が0であるか否かを判定する。このとき、触媒リーン状態表示フラグXCCROLeanの値が0であると、CPUはステップ820にてYesと判定してステップ830に進み、パージ許可フラグXKPGの値を1に設定する。その後、CPUはステップ640以降に進む。この結果、機関10の運転状態がドライバビリティ優先運転領域にある場合、目標空燃比abyfrが目標リーン空燃比afLeanであるとき、蒸発燃料パージが開始される。これに対し、CPUがステップ820の処理を実行する時点において、触媒リーン状態表示フラグXCCROLeanの値が1であって目標空燃比abyfrが目標リッチ空燃比afRichであると、CPUはステップ820にてNoと判定してステップ630に進み、パージ許可フラグXKPGの値を0に設定する。その後、CPUはステップ640に進む。この結果、蒸発燃料パージは開始されない。以上、説明したように、第2制御装置の蒸発燃料パージ手段は、パージ実行要求条件成立時点の機関10の運転状態が第1運転状態である場合図8のステップ810でのYesとの判定を参照。、目標空燃比abyfrが目標リッチ空燃比afRichに設定されているときには蒸発燃料パージを開始し図8のステップ670及びステップ680を参照。、且つ、目標空燃比abyfrが目標リーン空燃比afLeanに設定されているときには蒸発燃料パージを開始しない図8のステップ670及びステップ690を参照。。そして、この場合、蒸発燃料パージ手段は、目標空燃比abyfrが目標リッチ空燃比afRichに設定される時点以降において目標空燃比abyfrが目標リッチ空燃比afRichに設定されているときに蒸発燃料パージを開始する図8のステップ670及びステップ680を参照。。これによれば、触媒43の状態が酸素過剰状態であるときに蒸発燃料パージが開始される。従って、触媒43に蒸発燃料パージの開始に伴って多量の未燃物が流入したとしても、触媒43はその未燃物の多くを浄化することができる。よって、機関10の運転状態がエミッションを優先すべき第1運転状態にある場合、蒸発燃料パージ開始時にエミッションが悪化する程度を小さくすることができる。更に、第2制御装置の蒸発燃料パージ手段は、パージ実行要求条件成立時点の機関10の運転状態が前記第1運転状態と異なる第2運転状態である場合図8のステップ810でのNoとの判定を参照。、目標空燃比abyfrが目標リーン空燃比afLeanに設定されているときには蒸発燃料パージを開始し図8のステップ820及びステップ830を参照。、且つ、目標空燃比abyfrが目標リッチ空燃比afRichに設定されているときには蒸発燃料パージを開始しない図8のステップ820及びステップ630を参照。。そして、この場合、蒸発燃料パージ手段は、目標空燃比abyfrが目標リーン空燃比afLeanに設定される時点以降において目標空燃比abyfrが目標リーン空燃比afLeanに設定されているときに蒸発燃料パージを開始する図8のステップ820及びステップ830を参照。。蒸発燃料パージの開始直後においては蒸発燃料が追加的に機関10に供給されるので、一般に機関の空燃比は一時的に小さくになる。よって、目標空燃比abyfrが目標リッチ空燃比afRichであるときに蒸発燃料パージを開始すると、機関の空燃比は過度に小さくなる。このため、混合気の燃焼状態が不安定になること等に起因して機関10に振動が発生し、機関10及び機関10を搭載した車両のドライバビリティ運転性が悪化する場合がある。これに対し、第2制御装置によれば、機関10の運転状態が機関10及び機関10を搭載した車両のドライバビリティを優先すべき第2運転状態にある場合、目標空燃比abyfrが目標リーン空燃比afLeanであるときに蒸発燃料パージが開始される。従って、機関の空燃比は蒸発燃料パージの開始により理論空燃比に近づけられる。よって、混合気の燃焼状態が安定するので、その機関10及び機関10を搭載した車両のドライバビリティ運転性を向上することができる。ところで、機関10の運転状態が第2運転状態にある場合、触媒43の状態が酸素不足状態リッチ状態であるときに蒸発燃料パージが開始されるので、エミッションが悪化する可能性がある。しかしながら、第2運転状態は第1運転状態に比較して負荷及び/又は機関回転速度が大きい運転状態であるので、蒸発燃料パージが開始される時点における触媒43の温度は高く、それ故、触媒43の浄化能力は高い。よって、蒸発燃料パージの開始によりエミッションが顕著に悪化する可能性は小さい。更に、機関10は、触媒43の下流に下流側触媒を備えている。そして、機関10の運転状態が第2運転状態にあれば、その下流側触媒の温度もある程度の温度に到達している。よって、この下流側触媒によっても未燃物は浄化される。従って、蒸発燃料パージの開始によりエミッションが顕著に悪化する可能性は極めて小さい。なお、エミッションを優先した運転を行うべき第1運転状態は低負荷運転状態であってもよく即ち、負荷KLが閾値負荷KLth以下の状態、ドライバビリティを優先した運転を行うべき第2運転状態は高負荷運転状態即ち、負荷KLが閾値負荷KLthよりも大きい状態であってもよい。更に、第1運転状態は低速運転状態即ち、機関回転速度NEが閾値回転速度NEth以下の状態であってもよく、第2運転状態は高速運転状態即ち、機関回転速度NEが閾値回転速度NEthよりも大きい状態であってもよい。<第3実施形態>次に、本発明の第3実施形態に係る内燃機関の制御装置以下、第3制御装置とも称呼する。について説明する。第3制御装置は、以下に述べる相違点1及び相違点2のみにおいて、第2制御装置と相違している。相違点1第3制御装置は、第2制御装置と同様、パージ実行要求条件成立時点における運転状態が第1運転状態エミッションを優先すべき運転状態である場合、目標空燃比abyfrが目標リッチ空燃比afRichであるときに蒸発燃料パージを開始する。但し、第3制御装置は、パージ実行要求条件成立時点における運転状態が第1運転状態であり且つその時点の目標空燃比abyfrが目標リッチ空燃比afRichであっても、その時点から目標空燃比abyfrが目標リーン空燃比afLeanに変更される時点までの時間第1時間を推定するとともに、その推定された第1時間が第1閾値時間以下であれば蒸発燃料パージを開始しない。換言すると、第3制御装置は、推定された第1時間が第1閾値時間よりも長いとき、蒸発燃料パージを開始する。相違点2第3制御装置は、第2制御装置と同様、パージ実行要求条件成立時点における運転状態が第2運転状態ドライバビリティを優先すべき運転状態である場合、目標空燃比abyfrが目標リーン空燃比afLeanであるときに蒸発燃料パージを開始する。但し、第3制御装置は、パージ実行要求条件成立時点における運転状態が第2運転状態であり且つその時点の目標空燃比abyfrが目標リーン空燃比afLeanであっても、その時点から目標空燃比abyfrが目標リッチ空燃比afRichに変更される時点までの時間第2時間を推定するとともに、その推定された第2時間が第2閾値時間以下であれば蒸発燃料パージを開始しない。換言すると、第3制御装置は、推定された第2時間が第2閾値時間よりも長いとき、蒸発燃料パージを開始する。実際の作動第3制御装置のCPUは、図8に示したルーチンを除き、第2制御装置のCPUが実行するルーチンを実行する。更に、第3制御装置のCPUは、所定時間が経過する毎に図8に代わる図10にフローチャートにより示した蒸発燃料パージ開始制御ルーチンを実行するようになっている。従って、以下、主として図10を参照しながら第3制御装置の作動について説明する。図10に示したルーチンは図8に示したルーチンと類似している。図10に示されたステップであって図8にも示されたステップには、図8に示されたステップと同一の符号が付されている。これらのステップの詳細な説明は適宜省略される。図10に示したルーチンは、図8に示したルーチンに対し、ステップ1010及びステップ1020が追加されている点のみにおいて、図8に示したルーチンと相違している。以下、この相違点について説明する。パージ実行フラグXPGの値が0であり蒸発燃料パージが実行中でなく、且つ、パージ実行要求フラグXPGreqの値が1に設定されたときパージ実行要求条件成立時点、CPUはステップ610及びステップ620の両ステップにてYesと判定してステップ810に進む。このとき、機関10の運転状態がエミッションを優先すべき運転領域にあれば、CPUはステップ810にてYesと判定してステップ670に進み、触媒リーン状態表示フラグXCCROLeanの値が1であるか否かを判定する。このとき、触媒リーン状態表示フラグXCCROLeanの値が1であれば、CPUはステップ670にてYesと判定してステップ1010に進み、次の処理を行う。CPUは、現時点から目標空燃比abyfrが目標リーン空燃比afLeanに変更される時点までの時間第1時間T1を推定する。第1時間T1の推定方法については後述する。第1時間T1は、現時点から触媒リーン状態表示フラグXCCROLeanの値が0に変更される時点までの時間でもある。CPUは、第1時間T1が第1閾値時間T1th以内であるか否かを判定する。そして、第1時間T1が第1閾値時間T1th以内である場合、CPUはステップ1010にてYesと判定してステップ690に進み、パージ許可フラグXKPGの値を0に設定する。従って、この場合、蒸発燃料パージは開始されない。これに対し、CPUがステップ1010の処理を実行する時点において、第1時間T1が第1閾値時間T1th以内でない場合、CPUはそのステップ1010にてNoと判定してステップ680に進み、パージ許可フラグXKPGの値を1に設定する。この結果、蒸発燃料パージが開始される。即ち、CPUは、第1時間T1が第1閾値時間T1thよりも長い場合目標空燃比abyfrの目標リーン空燃比afLeanへの変更が第1閾値時間T1th以内に発生しない場合、蒸発燃料パージが開始される。一方、パージ実行フラグXPGの値が0であり蒸発燃料パージが実行中でなく、且つ、パージ実行要求フラグXPGreqの値が1に設定されたときパージ実行要求条件成立時点、機関10の運転状態がエミッションを優先すべき運転領域になければドライバビリティを優先すべき運転領域ににあると、CPUはステップ810にてNoと判定してステップ820に進み、触媒リーン状態表示フラグXCCROLeanの値が0であるか否かを判定する。このとき、触媒リーン状態表示フラグXCCROLeanの値が0であれば、CPUはステップ820にてYesと判定してステップ1020に進み、次の処理を行う。CPUは、現時点から目標空燃比abyfrが目標リッチ空燃比afRichに変更される時点までの時間第2時間T2を推定する。第2時間T2の推定方法については後述する。第1時間T2は、現時点から触媒リーン状態表示フラグXCCROLeanの値が1に変更される時点までの時間でもある。CPUは、第2時間T2が第2閾値時間T2th以内であるか否かを判定する。そして、第2時間T2が第2閾値時間T2th以内である場合、CPUはステップ1020にてYesと判定してステップ630に進み、パージ許可フラグXKPGの値を0に設定する。従って、この場合、蒸発燃料パージは開始されない。これに対し、CPUがステップ1020の処理を実行する時点において、第2時間T2が第2閾値時間T2th以内でない場合、CPUはそのステップ1020にてNoと判定してステップ830に進み、パージ許可フラグXKPGの値を1に設定する。この結果、蒸発燃料パージが開始される。即ち、CPUは、第2時間T2が第2閾値時間T2thよりも長い場合目標空燃比abyfrの目標リッチ空燃比afRichへの変更が第2閾値時間T2th以内に発生しない場合、蒸発燃料パージが開始される。次に、第1時間及び第2時間の推定方法について図11を参照しながら説明する。CPUは、目標空燃比abyfrが目標リーン空燃比afLeanから目標リッチ空燃比afRichに変更された時点時刻t0を参照。から目標リッチ空燃比afRichが目標空燃比abyfrとして設定され続けている経過時間目標リッチ空燃比経過時間TRpassを計測する。更に、CPUは時刻t0において、今回の目標リッチ空燃比afRichの継続時間TRichを予測する。具体的には、第3制御装置は、吸入空気量Ga及び機関回転速度NEと目標リッチ空燃比継続時間TRichとの関係を規定したルックアップテーブルMapTRichをROM内に記憶している。このテーブルMapTRichは予め実験により取得されたデータに基づいて作成されている。そして、CPUは、時刻t0にて、その時刻t0における吸入空気量Ga及び機関回転速度NEをテーブルMapTRichに適用することにより、目標リッチ空燃比継続時間TRichを推定する。更に、時刻t1において、図10のステップ1010に進んだと仮定する。このとき、CPUは目標リッチ空燃比継続時間TRichから目標リッチ空燃比経過時間TRpassを減じることにより、上記第1時間T1目標空燃比abyfrが目標リーン空燃比afLeanに切り換わるまでの時間を推定取得する。同様に、CPUは、目標空燃比abyfrが目標リッチ空燃比afRichから目標リーン空燃比afLeanに変更された時点時刻t2を参照。から目標リーン空燃比afLeanが目標空燃比abyfrとして設定され続けている経過時間目標リーン空燃比経過時間TLpassを計測する。更に、CPUは時刻t2において、今回の目標リーン空燃比afLeanの継続時間TLeanを予測する。具体的には、第3制御装置は、吸入空気量Ga及び機関回転速度NEと目標リーン空燃比継続時間TLeanとの関係を規定したルックアップテーブルMapTLeanをROM内に記憶している。このテーブルMapTLeanは予め実験により取得されたデータに基づいて作成されている。そして、CPUは、時刻t2にて、その時刻t2における吸入空気量Ga及び機関回転速度NEをテーブルMapTLeanに適用することにより、目標リーン空燃比継続時間TLeanを推定する。更に、時刻t3において、図10のステップ1020に進んだと仮定する。このとき、CPUは目標リーン空燃比継続時間TLeanから目標リーン空燃比経過時間TLpassを減じることにより、上記第2時間T2目標空燃比abyfrが目標リッチ空燃比afRichに切り換わるまでの時間を推定取得する。以上、説明したように、第3制御装置は、第2制御装置と同様の蒸発燃料パージ手段を備える。但し、第3制御装置の蒸発燃料パージ手段は、パージ実行要求条件成立時点の機関10の運転状態が前記第1運転状態である場合図10のステップ620及びステップ810の両ステップにおけるYesとの判定を参照。、目標空燃比abyfrが目標リッチ空燃比afRichに設定されているとき図10のステップ670でのYesとの判定を参照。、目標空燃比abyfrが目標リーン空燃比afLeanへと切り換わるまでの時間である第1時間T1を推定し、その推定された第1時間T1が所定の第1閾値時間T1th未満である場合には蒸発燃料パージを開始しないように構成されている図10のステップ1010でのYesとの判定及びステップ690を参照。。これにより、パージ実行要求条件成立時点の機関10の運転状態が第1運転状態であって、且つ、目標空燃比abyfrが目標リッチ空燃比afRichに設定されている場合であっても、推定された第1時間T1が所定の第1閾値時間T1th未満である場合には蒸発燃料パージが開始されない。この結果、蒸発燃料パージによって吸気通路に導入された燃料が燃焼し且つ排ガスとなって触媒43に到達した時点において触媒43の状態が酸素不足状態に変化してしまっていることがないので、エミッションが悪化することを回避することができる。加えて、第3制御装置の前記蒸発燃料パージ手段は、パージ実行要求条件成立時点の機関10の運転状態が第2運転状態である場合図10のステップ620でのYesとの判定、及び、ステップ810でのNoとの判定を参照。、目標空燃比abyfrが目標リーン空燃比afLeanに設定されているとき図10のステップ820でのYesとの判定を参照。、目標空燃比abyfrが目標リッチ空燃比afRichへと切り換わるまでの時間である第2時間T2を推定し、その推定された第2時間T2が所定の第2閾値時間T2th未満である場合には蒸発燃料パージを開始しないように構成されている図10のステップ1020でのYesとの判定及びステップ630を参照。。これにより、パージ実行要求条件成立時点の機関10の運転状態が第2運転状態であって、且つ、目標空燃比abyfrが目標リーン空燃比afLeanに設定されている場合であっても、推定された第2時間T2が所定の第2閾値時間T2th未満である場合には蒸発燃料パージが開始されない。この結果、蒸発燃料パージによって吸気通路に導入された燃料が燃焼室21に到達する時点までに目標空燃比abyfrが目標リッチ空燃比afRichに変更されていることがないので、機関10の空燃比が過小となって燃焼状態が不安定となり、よって、ドライバビリティが悪化することを回避することができる。以上、説明したように、本発明による内燃機関の制御装置の各実施形態によれば、蒸発燃料パージを、エミッションを悪化させることなく、更には、ドライバビリティを犠牲にすることなく、行うことができる。本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、基本燃料噴射量Fbaseをメインフィードバック量KFmainのみでなく、メインフィードバック学習値KG及びパージ補正係数FPGにも基づいて、下記2式のように補正することによって指示燃料噴射量Fiを求めてもよい。Fi=FPGKGFAFFbase...2この場合、パージ実行要求条件の一つとしてメインフィードバック学習値KGの学習が完了していることが含まれ得る。即ち、メインフィードバック学習値KGの学習が完了していない場合、蒸発燃料パージは実行されない。メインフィードバック学習値KGの学習が完了していないために蒸発燃料パージが実行されておらず、且つ、メインフィードバック制御が実行されいるとき、メインフィードバック係数の平均値が1αよりも大きいときメインフィードバック学習値KGの値が所定時間あたり値ΔKGだけ増大させられ、メインフィードバック係数の平均値が1-αよりも小さいメインフィードバック学習値KGの値が所定時間あたり値ΔKGだけ減少させられる。なお、値αは0よりも大きく1よりも小さい値例えば、0.02であり、メインフィードバック学習値KGの初期値は1である。その後、メインフィードバック制御が継続していて、且つ、メインフィードバック係数の平均値が1αと1-αとの間の値である状態の継続時間が閾値時間以上となったとき、メインフィードバック学習値KGの学習が完了したと判定される。更に、パージ補正係数FPGは下記の3に従って求められる。3式において、FGPGは蒸発燃料ガス濃度学習値である。PGTは目標パージ率である。FPG=1PGTFGPG-1...3蒸発燃料ガス濃度学習値FGPGは、蒸発燃料のパージを実行している期間において、メインフィードバック係数の平均値FAFAVが1βと1-βとの間の値でないとき、所定時間にFAFAV-1/PGTだけ増大させられる。目標パージ率PGTは、負荷KL及び機関回転速度NE等に基づいて定められる。目標パージ率PGTは一定値であってもよい。なお、値βは0よりも大きく1よりも小さい値例えば、0.02である。また、上記各実施形態において、目標リッチ空燃比afRichは例えば吸入空気量Gaに応じて変化する値であってもよいく、目標リーン空燃比afLeanは例えば吸入空気量Gaに応じて変化する値であってもよい。"