"排気管に排気浄化触媒を備えた内燃機関の空燃比制御装置であって、燃料カット中における内燃機関の吸入空気量の検出値を積算する積算手段と、前記積算手段で積算された吸入空気量に基づいて燃料カット状態から燃料供給を再開させるときの空燃比のリッチシフト量を設定するリッチシフト量設定手段と、燃料カット状態から燃料供給が再開されるときに、前記リッチシフト量に基づいて空燃比をリッチ化するリッチ化手段と、を含んで構成されたことを特徴とする内燃機関の空燃比制御装置。前記リッチ化手段が、リッチシフト量設定手段で設定されたリッチシフト量を初期値として、前記リッチシフト量をそのときの吸入空気量に応じた速度でリッチ化が小さくなる方向に変化させることを特徴とする請求項1記載の内燃機関の空燃比制御装置。前記リッチ化手段が、吸入空気量が多いほど前記速度を速くすることを特徴とする請求項2記載の内燃機関の空燃比制御装置。前記リッチシフト量設定手段が、前記吸入空気量の積算値に基づいて、燃料カット中に前記排気浄化触媒に吸蔵された酸素量を推定し、該酸素吸蔵量に基づいて前記リッチシフト量を設定することを特徴とする請求項1~3のいずれか1つに記載の内燃機関の空燃比制御装置。前記リッチシフト量設定手段が、前記酸素吸蔵量を、予め設定された最小量付近の値を初期値として推定することを特徴とする請求項4記載の内燃機関の空燃比制御装置。前記リッチシフト量設定手段が、前記酸素吸蔵量の推定値を、所定の上限値以下に制限することを特徴とする請求項4又は5記載の内燃機関の空燃比制御装置。前記排気浄化触媒の上流側の排気管に配置される空燃比検出手段と、前記空燃比検出手段で検出される空燃比と目標空燃比とに基づいて内燃機関における空燃比操作量をフィードバック制御するフィードバック制御手段と、燃料カット状態から燃料供給を再開させた後、前記リッチ化手段によるリッチ化が停止されたことを条件に、前記フィードバック制御手段によるフィードバック制御を開始させるフィードバック開始手段と、を設けたことを特徴とする請求項1~6のいずれか1つに記載の内燃機関の空燃比制御装置。前記排気浄化触媒の上流側の排気管に配置される空燃比検出手段と、前記空燃比検出手段で検出される空燃比と目標空燃比とに基づいて内燃機関における空燃比操作量をフィードバック制御するフィードバック制御手段と、前記空燃比検出手段で検出される空燃比が、判定値未満であることを条件に、前記フィードバック制御手段によるフィードバック制御を行わせるフィードバック開始手段と、を設けたことを特徴とする請求項1~6のいずれか1つに記載の内燃機関の空燃比制御装置。しかし、前記特許文献1のものでは、燃料カットからの復帰直後に空燃比をリッチ化させるときの目標が一定であるため、燃料カット状態における酸素ストレージ量の増大変化の違いによって、リッチシフト量に過不足を生じるという問題があった。例えば、燃料カット状態での酸素ストレージ量の増大が比較的少ない状態で、過大にリッチ化してしまうと、リッチ化によって三元触媒の酸素ストレージ量が過少になり、加速に伴って燃料カットから復帰させた場合には、HCの転換率が低下してしまう。逆に、燃料カット状態での酸素ストレージ量の増大が比較的多い状態で、リッチ化が過小であると、三元触媒の酸素ストレージ量を速やかに減少させることができず、結果、NOxの還元能力の復活が遅れ、NOxの排出量が増大してしまう。本発明は上記問題点に鑑みなされたものであり、燃料カットからの復帰直後のリッチ化を過不足なく行わせることができるようにして、復帰直後における排気エミッションを低減することを目的とする。そのため請求項1記載の発明では、燃料カット中における内燃機関の吸入空気量の検出値を積算し、該吸入空気量の積算値に基づいて燃料カット状態から燃料供給を再開させるときの空燃比のリッチシフト量を設定し、燃料カット状態から燃料供給が再開されるときに、前記リッチシフト量に基づいて空燃比をリッチ化するようにした。上記発明によると、燃料カット中は、吸入空気量がそのまま排気浄化触媒に流入し、排気浄化触媒における酸素ストレージ量酸素吸蔵量が、流入する空気量に応じて増大することになるので、吸入空気量の積算値に基づいてリッチシフト量を決定し、燃料供給が再開されるときに、前記リッチシフト量に応じて空燃比をリッチ化させることで、過大になった酸素ストレージ量を速やかに減少させる。従って、燃料カットに伴う酸素ストレージ量の増加分に見合ったリッチシフト量を設定でき、リッチシフト量の不足によって酸素ストレージ量の減少が遅れ、NOx排出量が増えることを防止できると共に、リッチシフト量が過剰となることで、HC排出量が増えることを防止できる。請求項2記載の発明では、吸入空気量の積算値に基づいて設定したリッチシフト量を初期値として、リッチシフト量をそのときの吸入空気量に応じた速度でリッチ化が小さくなる方向に変化させるようにした。上記発明によると、燃料カット状態から燃料供給を再開させるときには、燃料カット中に積算した吸入空気量に応じたリッチシフト量で空燃比をリッチ化し、その後は、そのときの吸入空気量に応じた速度でリッチシフト量をリッチ化が縮小する方向に変化させて、最終的には、リッチ化制御を終息させる。従って、例えば、加速に伴って燃料供給が再開される場合には、加速によって吸入空気量が増大することで、リッチシフト量の変化速度が変更され、運転状態の変化に対して適切なリッチシフト量を設定できる。請求項3記載の発明では、吸入空気量が多いほど前記リッチシフト量の変化速度を速くするようにした。上記発明によると、リッチシフト量をリッチ化が縮小する方向に変化させるときの変化速度が、吸入空気量が多いほどより速く変更される。従って、例えば、リッチ化しているときに、加速によって吸入空気量が増大すると、リッチシフトがより速い速度で変化して、リッチシフトと加速に伴う増量分とが重なることで、オーバーリッチになることを防止することができる。請求項4記載の発明では、燃料カット中における吸入空気量の積算値に基づいて、燃料カット中に排気浄化触媒に吸蔵された酸素量を推定し、該酸素吸蔵量に基づいて前記リッチシフト量を設定するようにした。上記発明によると、燃料カット中における吸入空気量の積算値から、酸素吸蔵量酸素ストレージ量を推定し、排気浄化触媒における酸素吸蔵量酸素ストレージ量を適正値に戻すために要求されるリッチシフト量を、前記推定した酸素吸蔵量に基づいて設定する。従って、排気浄化触媒における酸素吸蔵量を適正値に戻すためのリッチシフト量を、燃料カットによって増大した酸素吸蔵量を基準に精度良く設定できる。請求項5記載の発明では、前記酸素吸蔵量を、予め設定された最小量付近の値を初期値として推定するようにした。上記発明によると、燃料カットが行われると、酸素吸蔵量が、最小量付近の初期値から、吸入空気量の積算値に応じて増大するものとして、燃料カット中の酸素吸蔵量が推定される。従って、排気空燃比に基づく酸素吸蔵量の推定精度を確保することが困難な場合や、燃料供給状態での酸素吸蔵量を推定できない場合であっても、燃料カットに伴う酸素吸蔵量の変化を安定して推定でき、以って、過大となった酸素吸蔵量を戻すためのリッチ化による効果を安定的に得ることができる。請求項6記載の発明では、酸素吸蔵量の推定値を、所定の上限値以下に制限するようにした。上記発明によると、吸入空気量の積算値に基づき推定される酸素吸蔵量が、上限値を超えないように制限される。従って、酸素吸蔵量が実際にはありえない値に推定されてしまうことや、リッチシフト量の要求として変化のない領域にまで酸素吸蔵量が更新されることを回避できる。請求項7記載の発明では、排気浄化触媒の上流側の排気管に配置される空燃比検出手段で検出される空燃比と目標空燃比とに基づいて内燃機関における空燃比操作量をフィードバック制御する構成において、燃料カットから状態から燃料供給を再開させた後、燃料カット中の吸入空気量の積算値に応じたリッチ化が停止されたことを条件に、前記フィードバック制御を開始させるようにした。上記発明によると、燃料カット中の吸入空気量の積算値を求め、該積算値に基づくリッチシフト量で燃料供給再開後の空燃比をリッチ化させ、該リッチ化が停止してから、実際の空燃比の検出結果に基づく空燃比のフィードバック制御を開始させる。従って、排気浄化触媒の酸素吸蔵量を減少させるためのリッチ化が行われている途中で、空燃比フィードバック制御が開始され、リッチ状態を解消すべくフィードバック制御されることで、空燃比が大きくハンチングすることを防止できる。請求項8記載の発明では、排気浄化触媒の上流側の排気管に配置される空燃比検出手段で検出される空燃比と目標空燃比とに基づいて内燃機関における空燃比操作量をフィードバック制御する構成において、前記空燃比検出手段で検出される空燃比が、判定値未満であることを条件に、前記フィードバック制御を行わせるようにした。上記発明によると、燃料カット状態から燃料供給が再開され、空燃比検出手段の雰囲気が超オーバーリーンの状態から目標空燃比付近にまで徐々に戻るときに、空燃比が所定値未満にまで変化した時点で、空燃比フィードバック制御が開始されることになる。従って、空燃比検出手段が燃焼混合気の空燃比を検出するようになる前に、空燃比フィードバック制御が開始されてしまうことで、空燃比が大きくハンチングすることを防止できる。上記発明によると、燃料カットからの復帰直後のリッチ化を過不足なく行わせることができ、復帰直後における排気エミッションを低減できる。以下に本発明の実施の形態を説明する。図1は、本願発明に係る空燃比制御装置を含む車両用内燃機関のシステム図である。図1において、内燃機関101の吸気管102には、スロットルモータ103aでバタフライ式のスロットルバルブ103bを開閉駆動する電子制御スロットル104が介装される。そして、前記電子制御スロットル104及び吸気バルブ105を介して、燃焼室106内に空気が吸入される。各気筒の吸気バルブ105上流の吸気ポート130には、燃料噴射弁131がそれぞれ設けられている。尚、燃料噴射弁131が燃焼室106内に直接燃料を噴射する筒内直接噴射式内燃機関であってもよい。前記燃料噴射弁131は、コントロールユニット114からの噴射パルス信号によって開弁駆動されると、燃料を吸気バルブ105に向けて噴射する。前記燃焼室106内に空気と混合して吸引された燃料は、点火プラグ151による火花点火によって着火燃焼する。前記点火プラグ151には、それぞれパワートランジスタ内蔵式イグニッションコイル152が直付けされており、前記コントロールユニット114から前記パワートランジスタのオンオフを制御する点火制御信号を出力することで、各気筒の点火時期が制御される。前記燃焼室106内の燃焼排気は、排気バルブ107を介して排気管112に排出され、フロント触媒コンバータ108及びリア触媒コンバータ109で浄化された後、大気中に放出される。尚、上記のように、触媒コンバータを上下流に2つ備える機関に限定されるものではなく、触媒コンバータを1つだけ備える機関であっても良い。前記フロント触媒コンバータ108及びリア触媒コンバータ109は、三元触媒方式の排気浄化触媒であり、酸素のストレージ能力を有する。前記吸気バルブ105及び排気バルブ107は、それぞれ吸気側カムシャフト111,排気側カムシャフト110に設けられたカムによって開閉駆動される。燃料タンク135には、電動式の燃料ポンプ136が内蔵され、この燃料ポンプ136を駆動することで燃料タンク135内の燃料が前記燃料噴射弁131に向けて圧送される。前記コントロールユニット114はマイクロコンピュータを内蔵し、予め記憶されたプログラムに従って各種センサからの検出信号を演算処理することによって、前記電子制御スロットル104,燃料噴射弁131,パワートランジスタ等を制御する。前記各種センサとしては、運転者が操作するアクセルペダルの踏み込み量アクセル開度を検出するアクセル開度センサ116、機関101の吸入空気流量Qを検出するエアフローメータ115吸入空気量検出手段、クランクシャフト120の回転位置を検出するクランク角センサ117、スロットルバルブ103bの開度TVOを検出するスロットルセンサ118、機関101の冷却水温度を検出する水温センサ119、前記フロント触媒108の上流側の排気管112に配置され排気中の酸素濃度に基づいて空燃比を広域に検出する広域空燃比センサ121空燃比検出手段、前記リア触媒109の下流側の排気管112に配置され排気中の酸素濃度に基づいて理論空燃比に対するリッチリーン酸素の有無を検出する酸素センサ122などが設けられている。尚、前記酸素センサ122は、排気中の酸素濃度が低いリッチ条件で最大電圧例えば1V付近の起電力を発生し、排気中の酸素濃度が高いリーン条件で最小電圧例えば0V付近の出力を示す公知のストイキセンサである。また、前記広域空燃比センサ121は、理論空燃比よりもリッチ領域及びリーン領域の空燃比を広く検出できる公知の空燃比センサである。前記コントロールユニット114は、前記各種センサからの検出信号に基づいて目標吸入空気量目標スロットル開度を演算し、前記電子制御スロットル104を制御し、燃料噴射量を演算して、該燃料噴射量に対応するパルス幅の噴射パルス信号を前記燃料噴射弁131に出力し、また、点火時期を演算して前記パワートランジスタのオンオフを制御する。前記燃料噴射量の演算においては、目標空燃比の混合気を生成すべく、そのときのシリンダ吸入空気量に対して基本燃料噴射量を演算する一方、前記広域空燃比センサ121の検出結果に基づき、実際の空燃比を前記目標空燃比に近づけるためのフィードバック補正係数を演算し、前記基本燃料噴射量を前記フィードバック補正係数で補正することで、最終的な燃料噴射量を演算する。前記フィードバック補正係数空燃比操作量は、広域空燃比センサ121で検出される空燃比が、フロント触媒コンバータ108及びリア触媒コンバータ109において酸化還元の転化率が同時に高い値を示す空燃比である中心空燃比目標空燃比に近づくように、例えば、広域空燃比センサ121で検出される空燃比と前記中心空燃比目標空燃比との偏差に基づく比例積分微分制御によって算出されるフィードバック制御手段。尚、前記中心空燃比目標空燃比は、理論空燃比近傍の値である。また、触媒コンバータ108,109において酸化還元の転化率が同時に高い値を示す実際の中心空燃比を、前記酸素センサ122の検出結果に基づき判断し、前記広域空燃比センサ121で検出された実際の空燃比と比較する中心空燃比目標空燃比を補正する。上記の中心空燃比目標空燃比の補正制御においては、前記広域空燃比センサ121で検出される実空燃比、前記中心空燃比及び吸入空気量から、吸入空気量×実空燃比-中心空燃比なる演算を所定周期毎に行ってその結果を積算することで、フロント触媒コンバータ108及びリア触媒コンバータ109に吸蔵される酸素量酸素ストレージ量を推定し、該酸素ストレージ量と酸素センサ122の出力とに基づいて、前記中心空燃比目標空燃比を修正する。具体的には、酸素センサ122の出力がリッチ判定電圧よりも大きく空燃比がリッチで、かつ、酸素ストレージ量が下限判定レベルよりも多い場合には、前記中心空燃比目標空燃比をよりリーン側に修正し、酸素センサ122の出力がリーン判定電圧<リッチ判定電圧よりも小さく空燃比がリーンで、かつ、酸素ストレージ量が上限判定レベル>下限判定レベルよりも少ない場合には、前記中心空燃比目標空燃比をよりリッチ側に修正する。前記広域空燃比センサ121のバラツキや劣化が殆どない状態であれば、理論空燃比を目標空燃比に制御している場合、酸素ストレージ量は上下限の範囲内に収まるが、加速時等で空燃比のリッチ状態が継続すると、触媒の吸着酸素が未燃焼成分の酸化に消費されるため、酸素ストレージ量が減り、やがて下限値を下回って0となり、また、燃料カット等の非燃焼状態が継続すると、酸素ストレージ量が上限値を越えて増え、やがて飽和することになる。一方、前記広域空燃比センサ121のバラツキや経時劣化などにより、空燃比に対する出力特性電圧特性が規定値設計値からズレている場合に、前記広域空燃比センサ121の出力に基づくフィードバック制御によって理論空燃比に収束させていても、実際の空燃比は理論空燃比に対してリッチ又はリーンにずれることになる。そして、前記フィードバック制御点のずれによるリッチ状態が継続すれば、触媒の酸素ストレージ量が0にまで減り、リーン状態が継続すれば触媒の酸素ストレージ量が飽和し、酸素センサ122はリッチ又はリーンを検出するようになる。また、酸素ストレージ量は、前記広域空燃比センサ121の検出空燃比と中心空燃比との差に基づいて計算されるため、前記広域空燃比センサ121のバラツキや経時劣化が生じると、算出される酸素ストレージ量が実際の酸素ストレージ量に対してズレることになる。例えば、前記広域空燃比センサ121が実際よりもリーンに検出することで、フィードバック制御の結果として得られる実際の空燃比がリッチとなる場合には、触媒の吸着酸素が消費されて実際の酸素ストレージ量が最終的に0となり、酸素センサ122がリッチ判定をするようになるが、酸素ストレージ量の演算値は、広域空燃比センサ121の出力がリーン側にずれている分だけ実際よりも多く計算される。即ち、酸素センサ122がリッチ判定をしているのに、酸素ストレージ量が0にまで低下していない場合には、広域空燃比センサ121が実際よりもリーンに検出していて、フィードバック制御点としては理論空燃比よりもリッチになっていると判断できるので、フィードバック制御点を理論空燃比に戻すべく、前記中心空燃比目標空燃比をよりリーン側に修正する。尚、広域空燃比センサ121が実際よりもリーンに検出する傾向がより大きくなると、酸素ストレージ量が上限判定レベルを上回る可能性があるが、この場合、前記中心空燃比目標空燃比を、より大きくリーン側に修正すべくリーン側への修正量を大きくしても良い。即ち、リーン側への修正量として、酸素ストレージ量の上限判定レベルを境に大小の2つの修正量を予め設定しておき、下限判定レベルよりも多いか、上限判定レベルよりも多いかによって、前記中心空燃比目標空燃比のリーン側への修正量を切り換えることができる。一方、前記広域空燃比センサ121が実際よりもリッチに検出することで、フィードバック制御の結果として得られる実際の空燃比がリーンとなる場合には、触媒の吸着酸素が増えるため実際の酸素ストレージ量が最終的に飽和することになり、酸素センサ122がリーン判定をするようになるが、酸素ストレージ量の演算値は、広域空燃比センサ121の出力がリッチ側にずれている分だけ実際よりも少なく計算される。即ち、酸素センサ122がリーン判定をしているのに、酸素ストレージ量が飽和していない場合には、広域空燃比センサ121が実際よりもリッチに検出していて、フィードバック制御点としては理論空燃比よりもリーンになっていると判断できるので、フィードバック制御点を理論空燃比に戻すべく、前記中心空燃比目標空燃比をよりリッチ側に修正する。尚、広域空燃比センサ121が実際よりもリッチに検出する傾向がより大きくなると、酸素ストレージ量が下限判定レベルを下回る可能性があるが、この場合、前記中心空燃比目標空燃比を、より大きくリッチ側に修正すべくリッチ側への修正量を大きくしても良い。即ち、リッチ側への修正量として、酸素ストレージ量の下限判定レベルを境に大小の2つの修正量を予め設定しておき、上限判定レベルよりも少ないか、下限判定レベルよりも少ないかによって、前記中心空燃比目標空燃比のリッチ側への修正量を切り換えることができる。更に、コントロールユニット114は、内燃機関101の減速運転時に前記燃料噴射弁131による燃料噴射を停止させる燃料カット制御を行う。具体的には、アクセルスロットル全閉でかつ機関回転速度がカット開始回転速度を超える場合に燃料カットを開始し、アクセルスロットルが開かれるか又は機関回転速度がリカバー回転速度を下回るようになると、燃料噴射を再開させる。尚、上記減速時の燃料カットの他、コントロールユニット114は、高回転、高車速時にも燃料カットを実行する。ここで、前記コントロールユニット114は、燃料カット状態から燃料噴射を再開させるときに、酸素ストレージ量を早期に適正値最大量の半分程度にまで低下させるために、空燃比を一時的にリッチ化するリッチスパイク制御を行う。以下では、本願発明の特徴である前記リッチスパイク制御を詳細に説明する。図2のフローチャートは、前記リッチ制御のメインルーチンを示す。尚、前記メインルーチンは、所定微小時間毎に実行されるものとする。まず、ステップS100では、前記中心空燃比目標空燃比の補正制御に用いる酸素ストレージ量酸素吸蔵量OS1を算出する。前記中心空燃比目標空燃比の補正制御に用いる酸素ストレージ量OS1は、前述のように、吸入空気量×触媒上流側実空燃比-中心空燃比なる演算を所定周期毎に行ってその結果を積算することで求められる。前記吸入空気量×触媒上流側実空燃比-中心空燃比なる演算では、触媒上流側実空燃比が中心空燃比よりもリッチになると、触媒上流側実空燃比-中心空燃比がマイナスの値になって酸素ストレージ量OS1を減少変化させることになるのに対し、触媒上流側実空燃比が中心空燃比よりもリーンになると、触媒上流側実空燃比-中心空燃比がプラスの値になって酸素ストレージ量OS1を増大変化させることになる。前記酸素ストレージ量OS1の算出を、燃料カット中も継続させることができ、この場合、燃料カット中は、本ルーチンの実行周期当たりの酸素ストレージ量の変化量OS1を、OS1=QGainQ=吸入空気量、Gain=定数として算出させることができる。また、前記酸素ストレージ量OS1を、酸素センサ122の出力が反転する毎に初期値例えば最大酸素ストレージ量の半分にリセットさせることができる。前記リセット処理によって、酸素ストレージ量の演算誤差積算による演算誤差の増大による演算値と実際の酸素ストレージ量のズレを防止できる。また、酸素センサ122の出力が反転した時点は、実質的に理論空燃比状態であるとみなすことができ、酸素ストレージ量は最大量の半分とみなすことが出来るから、初期値を最大酸素ストレージ量の半分とすれば、実際の酸素ストレージ量に見合ったリセット処理が可能となり、酸素ストレージ量の演算値の精度を向上させることが出来る。尚、本実施形態では、フロント触媒コンバータ108とリア触媒コンバータ109とを一体と見なし、各触媒での酸素ストレージ量の総和を推定させるものとする。ステップS200積算手段では、燃料カットが行われているときの酸素ストレージ量OS2を推定し、ステップS300では、前記酸素ストレージ量OS2に基づいて、燃料噴射を再開させるときのリッチシフト量RSを算出するリッチシフト量設定手段。ステップS400では、燃料噴射を再開させるときに実際にリッチスパイク制御を行わせるか否かを示すフラグの設定を行い、ステップS500では、リッチスパイク制御リッチ化を実現するための燃料増量係数KRSを算出する。ステップS600では、前記中心空燃比目標空燃比の設定を行い、ステップS700では、前記フラグに応じて空燃比制御をオープン制御とフィードバック制御とに切り換え、ステップS800リッチ化手段では、燃料噴射制御を行う。次に前記ステップS200~ステップS800の各ステップにおける処理内容を、図3~図9のフローチャートに従って詳細に説明する。尚、図3~図9のフローチャートに示される各ルーチンも所定微小時間毎に実行されるものとする。図3のフローチャートは、ステップS200における、燃料カット状態での酸素ストレージ量OS2の推定処理を示す。ステップS201では、燃料カット状態であるか否かを判断する。燃料カット状態でない場合には、ステップS202へ進み、燃料カット時の酸素ストレージ量OS2に初期値をセットする。前記初期値は、例えば、酸素ストレージ量OS2の最小値に近い固定値とする。但し、ステップS100における酸素ストレージ量OS1の推定が正確である場合には、燃料カットの開始時にこの推定値OS1を初期値として、燃料カット後の酸素ストレージ量OS2の増大変化を推定させることができる。一方、燃料カットが行われるようになると、ステップS203へ進む。ステップS203では、本ルーチンの実行周期の間に内燃機関101に吸引された吸入空気量Qに、予め記憶したゲインGainを乗算して、本ルーチンの実行周期当たりの酸素ストレージ量の増大量を求め、これを燃料カット時の酸素ストレージ量OS2の前回値に加算し積算手段、該加算結果を酸素ストレージ量OS2に設定する。従って、燃料噴射状態から燃料カットが開始されると、前記初期値から吸入空気量の積算値に比例する分だけ酸素ストレージ量OS2が増加するものとして、その時点での酸素ストレージ量OS2が求められることになる。尚、前記ゲインGainは、吸入空気量に対する触媒の酸素吸着能力に基づくものであり、実験結果などに基づき予め設定される。ステップS204では、ステップS203で更新した酸素ストレージ量OSが予め記憶された最大値上限値を超えているか否かを判断し、最大値を超えている場合にはステップS205へ進んで、酸素ストレージ量OS2を前記最大値にリセットする。前記最大値は、必ずしも実際に吸蔵できる酸素量の最大値とする必要はなく、リッチシフトの要求から適宜設定することができ、フロント触媒コンバータ108の最大酸素ストレージ量とリア触媒コンバータ109の最大酸素ストレージ量との合計値を前記最大値とすることができると共に、例えば、フロント触媒コンバータ108の最大酸素ストレージ量と、リア触媒コンバータ109の最大酸素ストレージ量の半分程度の量との合計値を前記最大値とすることができる。また、フロント触媒コンバータ108のみを備える内燃機関101では、フロント触媒コンバータ108の最大酸素ストレージ量若しくは最大量の半分程度を、前記最大値とすることができる。更に、触媒コンバータ108,109の劣化状態酸素ストレージ能力の劣化を、例えば前記広域空燃比センサ121及び酸素センサ122の検出結果から判断し、触媒コンバータ108,109の劣化状態からそのときの最大ストレージ量を推定し、この最大ストレージ量を前記最大値とすることができる。このように、燃料カットによってどれだけ酸素ストレージ量OS2が増えたかを判断すれば、過剰な酸素ストレージ量を適正値にまで低下させるためのリッチスパイク制御において、リッチシフトの目標を適切に設定させることができ、リッチシフト量の過不足によって排気エミッションを悪化させてしまうことを防止できる。図4のフローチャートは、前記ステップS300におけるリッチシフト量の算出を詳細に示すものである。ステップS301では、燃料カット中であるか否かを判断する。そして、燃料カット中であれば、ステップS302へ進み、前記燃料カット時の酸素ストレージ量OS2から、リッチシフト量RSを設定するリッチシフト量設定手段。ここで、燃料カット時の酸素ストレージ量OS2が多いほど、前記リッチシフト量RSの絶対値をより大きく設定し、よりリッチ化空燃比を低下させるようにする。本実施形態では、リッチシフト量RSは、目標空燃比中心空燃比に加算される補正分として設定され、リッチシフト量RSが0であれば、実質的にリッチ制御は行われず、リッチシフト量RSが0よりも小さいほどマイナスの絶対値が大きいほどより大きくリッチ化されるようになっている。ステップS301で燃料カット中でないと判断されると、ステップS303へ進み、リッチシフト量RSの前回値が0よりも小さいか否か、換言すれば、燃料カットからの燃料噴射再開直後であるか否かを判断する。リッチシフト量RSの前回値が0よりも小さい場合には、リッチシフト量RSがまだ0にまで収束していないことになり、この場合には、ステップS304へ進み、そのときの吸入空気量Qに応じて設定される補正値ΔRS>0をリッチシフト量RSの前回値に加算することで、リッチシフト量RSを0に徐々に近づけリッチ化度合いを徐々に小さくし、目標空燃比を本来の中心空燃比に徐々に近づけるようにする。尚、補正値ΔRSは、吸入空気量が多いほど大きな値に設定され、リッチシフト量RSは吸入空気量が多いときほど速い速度で増大変化し、0に近づくようになっている図10参照。上記のように、燃料カット状態では吸入空気流量Qの積算値に応じて逐次燃料カット時の酸素ストレージ量OS2を更新すると共に、該酸素ストレージ量OS2に応じてリッチシフト量RSを逐次更新する。そして、燃料噴射が再開されると、燃料カット状態の最後に設定されたリッチシフト量RS、換言すれば、燃料カットによって最終的に触媒コンバータ108,109に吸蔵された酸素量に見合うリッチシフト量RSを初期値としてリッチスパイク制御が開始され、その後、リッチシフト量RSをそのときの吸入空気量Qに応じた速度で0に近づけることで、リッチシフトを徐々に縮小させ、本来の中心空燃比に戻すようにする。上記のように、燃料カットから噴射を再開させた直後のリッチスパイク制御においては、燃料カット中に吸蔵された酸素量に応じてリッチシフト量RSが決定されるから、触媒コンバータ108,109の酸素過剰状態を早期に解消させるためのリッチシフト量として過不足ない値を設定させることができる。従って、酸素過剰状態を速やかに解消することで還元能力が回復し、燃料噴射再開直後にNOx排出量が増大することを回避でき、また、過剰なリッチ化によってHC排出量を増大させてしまうことを防止できる。更に、リッチシフト量RSを吸入空気量Qに応じた速度で徐々に0に近づけ、また、後述するように、リッチシフト量RSが0まで変化してから空燃比フィードバック制御を再開させるので、空燃比が滑らかに変化して空燃比の変動が少なく、空燃比変動に伴う排気エミッションの悪化も回避できる。また、例えば、リッチ化しているときに、加速によって吸入空気量が増大すると、リッチシフト量RSがより速い速度で0に近づくから、リッチシフトと加速に伴う増量分とが重なることで、オーバーリッチになることを防止することができ、これによってもHCの排出量を抑制できる。尚、リッチシフト量RSの設定には、酸素センサ122の出力を用いないので、リア触媒コンバータ109下流側に酸素センサ又は広域空燃比センサを備えない内燃機関にも、本願のリッチシフト制御を適用できる。ステップS303で、リッチシフト量RSの前回値が0以上であると判断された場合には、ステップS305へ進み、リッチシフト量RSを0にリセットして、リッチシフト量RSによって逆にリーン補正されてしまうことを防止すると共に、リッチスパイク制御を停止させる。図5のフローチャートは、前記ステップS400におけるフラグの設定処理を詳細に示す。ステップS401では、燃料カット中であるか否かを判断し、燃料カット中でなく燃料噴射が行われている通常状態であれば、ステップS402へ進む。ステップS402では、前回燃料カット状態であったか否かを判断し、前回燃料カットを行っていて今回燃料カット中でないと判断されると、ステップS403へ進み、前記リッチシフト量RSが0よりも小さいリッチスパイク制御要求状態であるか否かを判断する。ステップS403で前記リッチシフト量RSが0よりも小さいと判断された場合には、リッチシフト量RSに基づいて実際に空燃比をリッチ化させるべく、ステップS404へ進んで、燃料増量フラグに1をセットする図10参照。一方、ステップS401で燃料カット中であると判断された場合、ステップS402で前回も燃料カット中でなかったと判断された場合、ステップS403でリッチシフト量RSが0以上であると判断された場合には、ステップS405へ進む。ステップS405では、前記燃料増量フラグに1がセットされているか否かを判断する。燃料増量フラグ=0であれば、そのまま本ルーチンを終了させることで、燃料増量フラグ=0の状態を保持させる。一方、燃料増量フラグ=1であれば、ステップS406へ進み、リッチシフト量RSが0であるか否かを判断する。燃料増量フラグ=1であって、かつ、リッチシフト量RSが0でない場合には、リッチ制御を継続させるべく、そのまま本ルーチンを終了させることで、燃料増量フラグ=1の状態を保持させる。一方、燃料増量フラグ=1であるが、リッチシフト量RSが0である場合には、リッチスパイク制御を開始させてから、リッチシフト量RSを酸素ストレージ量OS2に応じたマイナス値から吸入空気量に応じた速度で0に近づけた結果、リッチシフト量RSが0にまで戻りリッチ化が停止し、もはやリッチスパイク制御の必要性は無くなったものと判断し、ステップS407へ進んで、前記燃料増量フラグを0にリセットする図10参照。図6のフローチャートは、ステップS500における燃料増量係数KRSの算出処理を詳細に示す。ステップS501では、前記燃料増量フラグに1がセットされているか否かを判断する。そして、前記燃料増量フラグ=0であれば、リッチスパイク制御の必要はないので、ステップS503へ進んで、燃料増量係数KRSに0をセットすることで、燃料増量係数KRSを用いて燃料噴射量を演算しても、燃料増量係数KRSによって増量リッチシフトが行われないようにする。一方、前記燃料増量フラグ=1であれば、リッチスパイク制御を実行すべく、ステップS502へ進んで、燃料増量係数KRSを、KRS=中心空燃比/中心空燃比リッチシフト量RS-1として算出する。前記中心空燃比は、前述のように、三元触媒式のフロント触媒コンバータ108及びリア触媒コンバータ109において、酸化還元の転化率が同時に高い値を示す空燃比であって、広域空燃比センサ121の検出結果に基づく空燃比フィードバック制御の目標空燃比であり、かつ、酸素ストレージ量OS1の推定に用いられる値であり、前述のように、酸素センサ122の出力と酸素ストレージ量OS1との相関から修正される値である。前記リッチシフト量RSはリッチスパイク制御時にはマイナスの値であり、その結果、燃料増量係数KRSはリッチスパイク量RSの絶対値が大きいほど大きな値として算出され図10参照、該係数KRSに基づいて燃料噴射量を増量補正することで、中心空燃比よりもリッチに制御されることになる。図7のフローチャートは、ステップS600における中心空燃比目標空燃比の設定処理を詳細に示す。ステップS601では、リッチシフト量RSが0であるか否かを判断し、リッチシフトRS=0であれば、ステップS602へ進み、前述のように、酸素ストレージ量OS1と酸素センサ122の出力とに基づく、中心空燃比目標空燃比の補正を行う。一方、リッチシフト量RSが0でない場合には、ステップS603へ進み、中心空燃比にリッチシフト量RSを加算して、中心空燃比目標空燃比をリッチ補正する図10参照。従って、リッチシフト量RSが0になる前に空燃比フィードバック制御が開始される場合には、前記リッチシフト量RSによって補正された中心空燃比を目標として制御されることになる。図8のフローチャートは、ステップS700におけるオープン制御とフィードバック制御との切り換えを詳細に示す。ステップS701では、燃料カット中であるか否かを判断し、燃料カット中でない場合には、ステップS702へ進む。ステップS702では、燃料増量フラグの判別を行い、燃料増量フラグ=1であれば、ステップS703へ進んで、空燃比制御をオープン制御フィードホワード制御とし、広域空燃比センサ121の検出結果に基づく空燃比フィードバック制御を停止させ、空燃比フィードバック補正係数をクランプする。また、ステップS701で燃料カット中であると判断されたときにも、ステップS703へ進み、空燃比制御をオープン制御フィードホワード制御とし、広域空燃比センサ121の検出結果に基づく空燃比フィードバック制御を停止させ、空燃比フィードバック補正係数をクランプする。一方、燃料カット中ではなく、かつ、燃料増量フラグ=0であってリッチ化が停止されていれば、図10に示すように、広域空燃比センサ121の検出結果を中心空燃比に近づける空燃比フィードバック制御を実行させるフィードバック開始手段。図9のフローチャートは、ステップS800における燃料噴射制御を詳細に示す。ステップS801では、基本燃料噴射量に前記燃料増量係数KRSを乗算して求めた増量補正分を燃料噴射量に加算することで、前記燃料増量係数KRSがKRS>0であれば、燃料噴射量が増量補正され、リッチスパイクが実行されるようにする。図10は、上記実施形態における燃料カットの有無、酸素ストレージ量、空燃比、リッチシフト量RS、増量係数KRSなどの相関を示すタイミングチャートである。この図10に示すように、燃料カットが開始されると、それまでの広域空燃比センサ121の検出結果に基づくフィードバック制御状態から、空燃比のオープン制御状態に移行する一方、燃料カット状態での酸素ストレージ量の増大分OS2が、そのときの吸入空気量Qに基づいて算出される。そして、前記酸素ストレージ量OS2が大きくなるほど、リッチシフト量RSの絶対値をより大きくし、燃料カットが終了されて燃料噴射を再開させるときに、そのときのリッチシフト量RSに応じた増量係数KRSで燃料噴射量を増量補正することで、燃料カット中に過大になった酸素ストレージ量を適切な量に速やかに戻すことができる。前記リッチシフト量RSは、燃料噴射が再開されると、吸入空気量Qに応じて設定される補正値ΔRSに基づく補正によってその絶対値が徐々に0に近づき、リッチシフト量RSの絶対値が小さくなることに対応して増量係数KRSによる増量分も徐々に0に収束する。そして、リッチシフト量RSが0に戻ると、広域空燃比センサ121の検出結果に基づくフィードバック制御が再開され、広域空燃比センサ121で検出される空燃比が中心空燃比目標空燃比に近づくように、燃料噴射量が補正される。前記空燃比フィードバックに用いる中心空燃比目標空燃比は、酸素センサ122によるリッチリーン検出と酸素ストレージ量OS1とから修正されることで、広域空燃比センサ121のばらつきや劣化による検出空燃比のずれが補償される。尚、酸素センサ122の上流側には、酸素ストレージ能力を有するフロント触媒コンバータ108とリア触媒コンバータ109とが存在するため、酸素センサ122は、燃料カットの開始に対して遅れてリーン状態を検出し、燃料噴射の再開直後の期間は、引き続きリーン状態を検出することになる。ところで、上記実施形態では、燃料増量フラグが1から0に切り替わってからリッチシフト量RSが0にまで変化してから、空燃比フィードバック制御を再開させるようにしたが、広域空燃比センサ121で検出される触媒上流側での空燃比が、燃料噴射を再開させた後に、所定空燃比未満にまで低下した時点で、空燃比フィードバック制御を再開させることができる。図11のフローチャートは、ステップS700におけるオープン制御とフィードバック制御との切り換え処理の第2実施形態を示す。ステップS711では、燃料カット中であるか否かを判断し、燃料カット中でない場合に、ステップS712へ進む。ステップS712では、燃料増量フラグの判別を行い、燃料増量フラグ=1でリッチシフト量RSに応じたリッチスパイク制御中であれば、ステップS713へ進む。ステップS713では、広域空燃比センサ121で検出される触媒上流側での実空燃比が判定値未満であるか否かを判断し、実空燃比が前記判定値以上のリーン状態であれば、ステップS714へ進んで、空燃比制御をオープン制御フィードホワード制御とし、広域空燃比センサ121の検出結果に基づく空燃比フィードバック制御を停止させ、空燃比フィードバック補正係数をクランプする。また、ステップS711で燃料カット中であると判断されたときにも、ステップS714へ進み、空燃比制御をオープン制御フィードホワード制御とし、広域空燃比センサ121の検出結果に基づく空燃比フィードバック制御を停止させ、空燃比フィードバック補正係数をクランプする。一方、ステップS712で燃料増量フラグ=0でリッチシフト量RSが0にまで収束された後リッチ化停止後であると判断されると、ステップS715へ進み、広域空燃比センサ121の検出結果を中心空燃比に近づける空燃比フィードバック制御を実行させるフィードバック開始手段。また、リッチスパイク制御中リッチシフト量RS<0であっても、ステップS713で、広域空燃比センサ121で検出される触媒上流側での実空燃比が判定値未満であると判断された場合には図12参照、ステップS715へ進み、広域空燃比センサ121の検出結果を中心空燃比に近づける空燃比フィードバック制御を実行させるフィードバック開始手段。前記判定値は、広域空燃比センサ121の燃料噴射再開後の燃焼混合気の空燃比を検出するようになったと判断させるための値であって、中心空燃比よりもリーン側の値に設定される。上記のように、広域空燃比センサ121の検出空燃比が判定値未満にまで低下してから空燃比フィードバック制御を再開させるようにすれば、広域空燃比センサ121の雰囲気に燃料カット中の影響が残っている状態で空燃比フィードバック制御が開始されることを回避できる。従って、空燃比フィードバック制御の再開によって空燃比が大きく変動することがなく、空燃比の変動による排気エミッションの悪化を回避しつつ、空燃比フィードバック制御を早期に再開させることができる。ここで、リッチシフト量RSが0になる前に空燃比フィードバック制御が開始されることになるが、ステップS603で中心空燃比がリッチシフト量RSで補正されることで、リッチシフト要求に対応する中心空燃比目標空燃比に向けてフィードバック制御が行われることになり、触媒コンバータ108,109の酸素ストレージ量を速やかに低下させるためのリッチ化は継続されることになる。図12のタイミングチャートは、燃料カットから燃料噴射を再開した後に、空燃比フィードバック制御を再開させるタイミングのみが図10のタイミングチャートと異なり、その他の部分は図10のタイミングチャートと同じであり、既述した図10の説明は、空燃比フィードバック制御を再開させるタイミングを除いて、図12のタイミングチャートにも適用される。図12のタイミングチャートは、広域空燃比センサ121で検出される触媒上流側での実空燃比が判定値未満であると判断されるか、リッチシフト量RSが0にまで収束されたと判断されると、広域空燃比センサ121の検出結果を中心空燃比に近づける空燃比フィードバック制御を実行させることを示している。尚、図11のフローチャートに示すオープン制御フィードバック制御の切り替えでは、燃料増量フラグと、広域空燃比センサ121で検出される触媒上流側での実空燃比との双方を判断したが、図13のフローチャートに示す第3実施形態のように、燃料増量フラグの判断を省略することができる。図13のフローチャートにおいて、ステップS721では、燃料カット中であるか否かを判断し、燃料カット中でない場合には、ステップS722へ進んで、広域空燃比センサ121の検出空燃比が判定値未満であるか否かを判断する。そして、広域空燃比センサ121の検出空燃比が判定値未満であれば、ステップS723フィードバック開始手段へ進んで、広域空燃比センサ121の検出結果を中心空燃比に近づける空燃比フィードバック制御を実行させる図14参照。一方、広域空燃比センサ121の検出空燃比が判定値以上であれば、ステップS724へ進んで、空燃比制御をオープン制御フィードホワード制御とし、広域空燃比センサ121の検出結果に基づく空燃比フィードバック制御を停止させ、空燃比フィードバック補正係数をクランプする。また、燃料カット中であるときにも、ステップS724へ進んで、空燃比制御をオープン制御フィードホワード制御とし、広域空燃比センサ121の検出結果に基づく空燃比フィードバック制御を停止させ、空燃比フィードバック補正係数をクランプする。更に、前記図11のフローチャートのステップS713の判断内容を、燃料噴射の再開後から所定時間が経過したか否かという判断に置き換えることができる。前記所定時間は、燃料噴射の再開後、広域空燃比センサ121で検出される触媒上流側での実空燃比が判定値未満にまで低下するものと推定される所定時間であり、換言すれば、広域空燃比センサ121の雰囲気が燃料カット中の超リーン状態から燃料噴射開始後の燃焼排気雰囲気に入れ替わるまでの時間である。上記構成によると、リッチシフト量RSが0になる前であっても、燃料カットから燃料噴射を再開させてからの時間が所定時間に達すると、空燃比フィードバック制御が開始されることになるが、前述のように、前記所定時間の経過は、広域空燃比センサ121の雰囲気が燃料カット中の超リーン状態から燃料噴射開始後の燃焼排気雰囲気に入れ替わっていることを示すから、フィードバック制御の開始によって空燃比が大きくハンチングすることを防止できる。図14のタイミングチャートは、燃料カットから燃料噴射を再開した後に、空燃比フィードバック制御を再開させるタイミングのみが図10のタイミングチャートと異なり、その他の部分は図10のタイミングチャートと同じであり、既述した図10の説明は、空燃比フィードバック制御を再開させるタイミングを除いて、図14のタイミングチャートにも適用される。図14のタイミングチャートは、広域空燃比センサ121で検出される触媒上流側での実空燃比が判定値未満であると判断されると、広域空燃比センサ121の検出結果を中心空燃比に近づける空燃比フィードバック制御を実行させることを示している。ここで、上記実施形態から把握し得る請求項以外の技術思想について、以下にその効果と共に記載する。イ前記リッチ化手段が、前記リッチシフト量に基づいて目標空燃比を補正し、該補正された目標空燃比に基づいて前記フローチャート制御手段によるフローチャート制御を行わせることを特徴とする請求項8記載の内燃機関の空燃比制御装置。上記発明によると、リッチ化要求が無くなる前に空燃比フィードバック制御が開始されることになるが、フィードバック制御における目標空燃比がリッチシフト量で補正されることで、リッチシフト要求に対応する目標空燃比に向けてフィードバック制御が行われることになり、排気浄化触媒の酸素吸蔵量を速やかに低下させるためのリッチ化は継続されることになる。ロ前記排気浄化触媒の上流側の排気管に配置される空燃比検出手段と、前記空燃比検出手段で検出される空燃比と目標空燃比とに基づいて内燃機関における空燃比操作量をフィードバック制御するフィードバック制御手段と、前記燃料カット状態から燃料供給を再開させた後、所定時間が経過したことを条件に、前記フィードバック制御手段によるフィードバック制御を開始させるフィードバック開始手段と、を設けたことを特徴とする請求項1~6のいずれか1つに記載の内燃機関の空燃比制御装置。上記発明によると、空燃比検出手段の雰囲気が燃料カット中の超リーン状態から燃料供給再開後の燃焼排気雰囲気に入れ替わるまでの時間が経過してから、フィードバック制御を開始させることで、空燃比検出手段の雰囲気に燃料カット中の影響が残っている状態で空燃比フィードバック制御が開始されることを回避できる。従って、空燃比フィードバック制御の再開によって空燃比が大きく変動することがなく、空燃比の変動による排気エミッションの悪化を回避しつつ、空燃比フィードバック制御を早期に再開させることができる。"