"内燃機関の排気路における触媒の上流側の空燃比と、前記排気路における前記触媒の下流側の空燃比とに基づいて、前記触媒の劣化診断を行う内燃機関の制御装置であって、前記内燃機関の運転状態に応じて、所定の触媒劣化診断条件が成立したか否かを判定する診断条件判定手段と、前記診断条件判定手段によって前記触媒劣化診断条件の成立判定がされた後に、A/Fを周期的に振幅振動させるために、目標A/Fを周期的に振幅振動する設定処理を行う触媒劣化診断用の目標A/F設定処理手段と、前記診断条件判定手段によって前記触媒劣化診断条件の成立判定がされた後、所定の待機期間経過後から、前記上流側の空燃比と、前記下流側の空燃比とに基づいて、前記触媒の劣化を判別するための触媒劣化指標値の算出処理を実行する指標値算出手段と、前記指標値算出手段によって算出された前記触媒劣化指標値に基づいて前記触媒の劣化状態を診断する触媒劣化診断手段と、を備え、前記目標A/F設定処理手段は、前記待機期間中においても前記診断用の目標A/F設定処理を実行することを特徴とする内燃機関の制御装置。前記待機期間は、前記吸気路の吸入空気量に基づいて設定されることを特徴とする請求項1記載の内燃機関の制御装置。前記待機期間は、前記吸気路の吸入空気量の積算値に基づいて設定されることを特徴とする請求項2記載の内燃機関の制御装置。上記のような従来の内燃機関の制御装置では、触媒劣化診断を禁止する時間が固定値であり常に一定であるため、第1酸素センサの出力値の変動が収束した場合でも、触媒劣化診断が禁止されることがある。このため、触媒劣化診断の機会が不要に減少してしまうという問題がある。また、触媒劣化診断の精度を向上させる必要がある。この発明は、上記のような課題を解決するためになされたものであり、触媒劣化診断の精度を向上させることができるとともに、触媒劣化診断の機会を適切に確保することができる内燃機関の制御装置を得ることを目的とする。この発明に係る内燃機関の制御装置は、内燃機関の排気路における触媒の上流側の空燃比と、排気路における触媒の下流側の空燃比とに基づいて、触媒の劣化診断を行うものであって、内燃機関の運転状態に応じて、所定の触媒劣化診断条件が成立したか否かを判定する診断条件判定手段と、診断条件判定手段によって触媒劣化診断条件の成立判定がされた後に、A/Fを周期的に振幅振動させるために、目標A/Fを周期的に振幅振動する設定処理を行う触媒劣化診断用の目標A/F設定処理手段と、診断条件判定手段によって触媒劣化診断条件の成立判定がされた後、所定の待機期間経過後から、上流側の空燃比と、下流側の空燃比とに基づいて、触媒の劣化を判別するための触媒劣化指標値の算出処理を実行する指標値算出手段と、指標値算出手段によって算出された触媒劣化指標値に基づいて触媒の劣化状態を診断する触媒劣化診断手段と、を備え、目標A/F設定処理手段は、待機期間中においても診断用の目標A/F設定処理を実行するものである。この発明の内燃機関の制御装置によれば、目標A/F設定処理手段は、触媒劣化診断条件の成立判定がされた後、所定の待機期間中においても、診断用の目標A/F設定処理を実行する。そのため、待機期間中に診断用の目標A/F設定処理を実行しない場合と比較して、指標値算出手段による触媒劣化指標値の算出処理の開始時において、下流側の空燃比挙動を安定させることができる。したがって、触媒劣化診断の精度を向上させることができる。また、指標値算出手段は、吸気路の吸入空気量または吸入空気量の積算値に基づいて設定される待機期間分、触媒劣化指標値についての算出処理の開始を遅延させる。そのため、触媒劣化指標値に含まれる内燃機関の過渡状態に伴う誤差成分を低減させることができ、触媒劣化診断の精度を向上させることができる。これとともに、従来の内燃機関の制御装置のような固定値を待機期間として用いていないことにより、触媒劣化診断の機会を適切に確保することができる。以下、この発明を実施するための最良の形態について、図面を参照して説明する。実施の形態1.図1は、この発明の実施の形態1による内燃機関を示す構成図である。図1において、内燃機関1は、シリンダ2、ピストン3、スパークプラグ4、クランクシャフト5、ウォータジャケット6、吸気用バルブ7及び排気用バルブ8を有している。シリンダ2は、燃焼室を形成している。ピストン3は、スパークプラグ4の放電による混合ガスの燃焼に伴って、シリンダ2の燃焼室内で変位する。また、ピストン3は、燃焼室内で変位することによってクランクシャフト5に回転力を加える。クランクシャフト5には、クランク角センサプレート9が取り付けられている。クランクシャフト5の回転は、クランク角センサプレート9を介して、クランク角センサ10によって電気信号に変換される。ウォータジャケット6は、シリンダ2に組み込まれている。また、ウォータジャケット6の内部には、内燃機関1を冷却するための冷却水が充填されている。さらに、ウォータジャケット6には、冷却水の熱交換用のラジエータ図示せずが接続されている。また、ウォータジャケット6には、冷却水の温度に応じた電気信号を生成する水温センサ12が取り付けられている。シリンダ2の燃焼室の吸入口には、吸気路を形成する吸気管13が接続されている。また、シリンダ2の燃焼室の吸入口は、吸気用バルブ7によって開閉される。シリンダ2の燃焼室の排出口には、排気路を形成する排気管14が接続されている。また、燃焼室の排気口は、排気用バルブ8によって開閉される。ここで、吸気用バルブ7及び排気用バルブ8は、バルブ駆動機構によって駆動される。バルブ駆動機構のカムには、外周部が凹凸状に形成されたカム角センサプレート15が取り付けられている。また、バルブ駆動機構のカムの回転角は、カム角センサプレート15の外周部の凹凸を感知するカム角センサ16によって電気信号に変換される。吸気管13の上流側内燃機関1の反対側には、外気を浄化するためのエアクリーナ17が取り付けられている。吸気管13による吸気路には、内燃機関1に送られる空気量を調整するためのスロットルバルブ18と、吸入路内の吸気の温度に応じた電気信号を生成する吸気温センサ19と、吸入路内の圧力に応じた電気信号を生成する吸気圧センサ20と、吸気路内に燃料を噴射して混合ガスを生成するインジェクタ21とが設けられている。排気管14による排気路には、内燃機関1から排出される有害ガスを浄化するための触媒三元触媒22が設けられている。具体的に、触媒22は、酸化作用によって、排気ガスに含まれる炭化水素HC及び一酸化炭素COを、それぞれ水H2O及び二酸化炭素CO2に変化させる。これと同時に、触媒22は、還元作用によって、排気ガスに含まれる窒素酸化物NOXを、窒素N2及び酸素O2に変化させる。また、排気管14による排気路における触媒22の上流側には、上流側空燃比センサ23以下、フロントO2センサ又はFO2センサが設けられている。フロントO2センサ23は、リニア空燃比センサ以下、LAFS:LinearAirFuelSensorである。また、フロントO2センサ23は、例えば10~23程度の範囲内で、触媒22の上流側の排気ガスの空燃比以下、A/F:Air/Fuelに応じた信号を生成する。排気管14による排気路における触媒22の下流側には、下流側空燃比センサ24以下、リアO2センサ又はRO2センサが設けられている。リアO2センサ24は、ラムダO2センサである。また、リアO2センサ24は、触媒22の下流側の排気ガス中の酸素量に応じた信号を生成する。また、内燃機関1により駆動される車両には、走行速度に応じた電気信号を生成する車速センサ図示せずが取り付けられている。さらに、スロットルバルブ18には、そのスロットルバルブ18の開度に応じた電気信号を生成するスロットル開度センサ図示せずが接続されている。また、車両のアクセル図示せずには、そのアクセルの開度に応じた電気信号を生成するアクセル開度センサ図示せずが接続されている。ここで、クランク角センサ10、水温センサ12、カム角センサ16、吸気温センサ19、吸気圧センサ20、フロントO2センサ23、リアO2センサ24、車速センサ、スロットル開度センサ及びアクセル開度センサのそれぞれによって生成された電気信号は、電子制御ユニット以下、ECU:ElectronicControlUnit100に送られる。ECU100は、内燃機関1の運転を含めた車両の挙動を統括して制御する。ECU100は、各センサを介して、内燃機関1の運転状態と、吸気温と、吸気圧と、排気路における触媒22の上流側の空燃比と、排気路における触媒22の下流側の空燃比と、車速と、スロットル開度と、アクセル開度とのそれぞれを監視している。また、ECU100は、昇圧コイル25を介して、スパークプラグ4の放電を制御する。さらに、ECU100は、インジェクタ21の燃料の噴射量を制御する。ここで、ECU100は、インジェクタ21の燃料噴射制御を行う際に、触媒22の浄化性能を維持させるために、A/F測定値がほぼ理論空燃比となるように目標A/Fを設定する。つまり、ECU100は、目標A/Fを調整することによって、インジェクタ21の燃料噴射量を制御する内燃機関1の冷機時、高負荷時及び高回転時等の一部の運転条件成立時を除く。また、アクセル図示せずの開閉量に応じて、スロットルバルブ18の開度を制御する。次に、ECU100の構成について具体的に説明する。図2は、図1のECU100の触媒劣化診断に関する構成を示すブロック図である。図2において、ECU100は、運転状態検出手段101、吸入空気量検出手段102、診断条件判定手段103、待機期間算出手段104、指標値算出手段105及び触媒劣化診断手段106を有している。運転状態検出手段101は、クランク角センサ10、水温センサ12、カム角センサ16及び吸気温センサ19からの電気信号に基づいて、内燃機関1の運転状態を監視する。吸入空気量検出手段102は、吸気温センサ19からの電気信号に基づく吸気温と、吸気圧センサ20からの電気信号に基づく吸気圧吸気管圧力とを用いて、吸入空気量を算出する。ここで、吸入空気量検出手段102は、以下の算出式を演算することによって、吸入空気量を算出する。吸入空気量[g/s]=排気量[L]×回転速度[r/m]/2×60×吸気管圧力/101.3×空気密度なお、上記の算出式の空気密度は、以下の算出式によって算出される。空気密度=1.293/10.00367×吸気温診断条件判定手段103は、運転状態検出手段101により監視されている内燃機関1の運転状態に基づいて、所定の触媒劣化診断条件が成立したか否かを判定する。この触媒劣化診断条件とは、触媒22の劣化診断における触媒22の誤診断を低減させるための条件である。この触媒劣化診断条件には、水温条件、車速条件、スロットル開度変化条件、継続条件及び未完了条件等が含まれている。水温条件とは、内燃機関1が暖機状態であると判断するための条件である。水温条件は、例えば、水温が80°C以上のときに成立する。車速条件とは、触媒22が暖機状態であると判断するための条件である。車速条件は、例えば、車速が50km/h以上のときに成立する。スロットル開度変化条件とは、内燃機関1が定常運転状態であると判断するための条件である。スロットル開度変化条件は、例えば、スロットル開度変化が0.1V以下のときに成立する。継続条件とは、水温条件、車速条件及びスロットル開度変化条件が所定時間例えば、3秒以上継続して成立しているときに成立する条件である。未完了条件とは、今回のドライビングサイクル間今回キースイッチONから次回キースイッチONまでの間で一度も触媒劣化診断が完了していないときに成立する条件である。なお、触媒劣化診断条件は、予め設定された所定期間成立し続けると、不成立となる。指標値算出条件も、触媒劣化診断条件の不成立と同時に不成立となる。また、指標値算出条件は、一度成立すれば、吸入空気量の変化に伴ってタイマの計数値が待ち時間未満になっても、触媒劣化診断条件が不成立になるまでは、不成立にならない。待機期間算出手段104は、吸入空気量検出手段102によって算出検出された内燃機関1の吸入空気量に基づいて、指標値算出手段105による触媒劣化指標値についての演算処理の実行開始を遅延させる期間待機期間を、待ち時間として算出する。具体的に、待機期間算出手段104ECU100のROM内には、吸入空気量Qaと待ち時間とが互いに関連付けて、図3に示すような触媒劣化指標値待ち時間マップが予め登録されている。また、待機期間算出手段104は、算出した吸入空気量に基づいて、触媒劣化指標値待ち時間マップを補間参照することによって待ち時間を算出する。そして、待機期間算出手段104は、算出した待ち時間を指標値算出条件として設定する。指標値算出手段105は、フロントO2センサ23の電気信号による酸素量と、リアO2センサ24の電気信号による酸素量とに基づいて、触媒劣化指標値を算出する。この触媒劣化指標値とは、触媒22が劣化しているか否かを判定するための指標値である。触媒劣化診断手段106は、指標値算出手段105によって算出された触媒劣化指標値に基づいて、触媒22に対して触媒劣化診断処理を実行する。酸素吸蔵量算出手段107は、フロントO2センサ23の電気信号によるA/F測定値に基づいて、触媒22の酸素吸蔵量以下、OSC:OxygenStorageCapacityをOSC算出値として算出する。また、酸素吸蔵量算出手段107は、算出したOSC算出値を触媒劣化診断手段106に送る。さらに、酸素吸蔵量算出手段107は、以下の算出式を演算することによって、OSC算出値を算出する。OSC算出値=OSC算出値[n-1]A/F測定値-A/F基準値/A/F基準値×吸入空気量×0.23×0.01なお、OSC算出値[n-1]は、前回10[ms]前の演算処理によって算出されたOSC算出値である。ECU100は、演算処理部CPU、記憶部ROM、RAM及びハードディスク等及び信号入出力部を持ったコンピュータ図示せずにより構成することができる。ECU100のコンピュータの記憶部は、運転状態検出手段101、吸入空気量検出手段102、診断条件判定手段103、待機期間算出手段104、指標値算出手段105、触媒劣化診断手段106及び酸素吸蔵量算出手段107の機能を実現するためのプログラムを格納している。次に、触媒22の排気ガスの浄化性能、及び劣化度合について説明する。触媒22の浄化性能は、触媒22のOSCと相関関係にある。また、触媒22の実際のOSCであるOSC能力値は、触媒22の劣化度合いに応じて低下する。ここで、待機期間算出手段104において、吸入空気量Qaと待ち時間とが互いに関連付けて登録されているのは、OSC能力値がその最大値又は最小値から、OSC能力値の最大値の1/2になるまでの期間が吸入空気量によって概ね決まるためである。ECU100は、触媒劣化診断処理の実行時において、下限OSC能力値の範囲内で目標A/Fの振幅を制御し、リアO2センサ24の出力値をフロントO2センサ23の出力値と比較することによって、触媒22の劣化度合を診断する。なお、下限OSC能力値とは、正常であると診断するべき触媒の劣化度合いが下限劣化寸前の状態のときのOSC能力値である。ここで、触媒22が正常である場合において、目標A/Fの振幅制御のリーン側では、ECU100によって、触媒22のOSC能力値の範囲内で目標A/Fが設定される。このため、排気路における触媒22の下流に酸素が流出することがなく、リアO2センサ24の出力値は、リーン側には振れない。これによって、排気ガスに含まれるNOxは、触媒22の還元作用によって無害化され、排気路における触媒22の下流へ流出しない。また、触媒22が正常である場合において、目標A/Fの振幅制御のリッチ側では、触媒22が吸蔵している酸素を排気ガスが全て使い果たすには至らない。このため、リアO2センサ24の出力値はリッチ側に振れない。これによって、排気ガスに含まれるCO及びHCは、触媒22の酸化作用によって無害化され、排気路における触媒22の下流へ流出しない。一方、触媒22が劣化している場合において、目標A/Fの振幅制御のリーン側では触媒22のOSC能力値が正常時に比べて低下していることにより、そのOSC能力値を超えて目標A/Fが制御される。このため、排気路における触媒22の下流に酸素が流出し、リアO2センサ24の出力値はリーン側に振れる。また、触媒22が劣化している場合において、目標A/Fの振幅制御のリッチ側では、触媒22に吸蔵されている酸素を排気ガスが全て使い果たすので、リアO2センサ24の出力値はリッチ側に振れる。このように、正常状態の触媒22では、OSC能力値が、下限OSC能力値触媒劣化診断処理の実行時の目標A/Fの振幅狙い値よりも大きい。このため、リアO2センサ24の出力値は、リーン側又はリッチ側に振れない。これに対して、劣化状態の触媒22では、OSC能力値が、下限OSC能力値よりも小さい。このため、リアO2センサ24の出力値は、リッチ側に振れることとなり、ECU100による触媒22の劣化検出が可能となる。ここで、ECU100は、目標A/Fの振幅制御に際して、予め設定された上限OSC設定値及び下限OSC設定値を用いる。上限OSC設定値には、酸素吸蔵量0gを基準値0点として側に下限OSC能力値の1/2の値が設定されている。また、下限OSC設定値には、酸素吸蔵量0gを基準値0点としてマイナス側に下限OSC能力値の1/2の値が設定されている。なお、図4は、下限OSC能力値、上限OSC設定値及び下限OSC設定値の関係を説明するための説明図である。OSC能力値の1/2が上限OSC設定値よりも小さい触媒22では、内燃機関1からの排気ガスに含まれる酸素が触媒22の酸素吸蔵量を超過するため、酸素が触媒22の下流に流出し、リアO2センサ24の出力値に現れる。このため、ECU100によって、触媒22の劣化を検出可能になる。ここで、上限OSC設定値をOSC能力値の1/2に設定する理由について説明する。触媒22が全ての酸素を排出した状態では、酸素吸蔵量が0gである。また、触媒22が酸素を吸蔵すると、酸素吸蔵量が正の値となる。しかし、実施の形態1では、演算処理の容易性を考慮し、正常と診断すべき触媒22の劣化度合の下限のOSC能力値の1/2の値を基準値0点とし、その基準値を中心にプラスマイナスの表現とすることによって、相対的なOSC算出値として取り扱う。なお、上限OSC設定値を下限OSC能力値の1/2以外の値に設定することもできる。次に、ECU100の触媒劣化診断に関する動作について説明する。図5は、図2のECU100による触媒劣化診断に関する動作の概要を示すフローチャートである。なお、ECU100は、図5に示す動作を所定時間毎例えば10ms毎に実行する。図5において、ECU100は、触媒劣化診断条件が成立しているか否かついて判定するステップS501。触媒劣化診断条件が成立している場合には、ECU100は、診断用の目標A/Fの設定処理を実行するステップS502。そして、ECU100は、触媒劣化指標値の演算処理に対する待ち時間についての算出処理待機期間算出処理を実行しステップS503、指標値算出条件が成立したか否かを確認するステップS504。このときに、指標値算出条件が成立している場合には、ECU100は、触媒劣化指標値算出処理を実行するステップS505。また、指標値算出条件が成立してない場合には、ECU100は、この処理を抜ける。ここで、触媒劣化診断条件が成立しているか否かついて判定した際に、その触媒劣化診断条件が成立していない場合ステップS501のNO方向には、ECU100は、通常時の目標A/F設定処理を実行するステップS506。ここで、通常時の目標A/Fは、エンジンが完暖状態であれば理論空燃比である14.5であり、内燃機関1の冷機及び高負荷等の運転条件の変化により理論空燃比14.5よりもリッチ側となる。そして、ECU100は、触媒劣化診断処理ステップS507及び触媒劣化診断値の初期値設定処理ステップS508を順に実行する。なお、触媒劣化診断値の初期値設定処理は、ECU100の電源投入時にも実行される。これに対して、ECU100が電源投入時以外にも初期値設定処理を実行するのは、触媒劣化指標値の算出処理が最後まで完了せずに途中で中断された場合において、ECU100が触媒劣化指標値算出処理を再度実行する際に、触媒劣化指標値を正確に算出するためである。次に、図5における各処理について、より具体的に説明する。図6は、図5の診断用の目標A/F設定処理図5におけるステップS502を示すフローチャートである。図6において、ECU100は、OSC算出値が上限OSC設定値以上であるか否かを確認するとともにステップS601、OSC算出値が下限OSC設定値以下であるか否かを確認するステップS602。このときに、OSC算出値が上限OSC設定値以上である場合には、ECU100は、リーン側制御である目標A/F=劣化診断用目標中心A/F劣化診断用加算値から、リッチ側制御である目標A/F=劣化診断用目標中心A/F-劣化診断用減算値に目標A/Fを変更するステップS603。ここで、劣化診断用加算値及び劣化診断用減算値とは、触媒劣化診断時の目標A/Fを、中心値からリッチ側又はリーン側に振幅させるための値である。また、フロントO2センサ23及びリアO2センサ24の特性には、ばらつきが生じる。このため、劣化診断用加算値及び劣化診断用減算値には、各センサ23,24の管理公差のばらつきの範囲において、正しく触媒22の正常/劣化判定可能となる目標A/F振幅の値が設定されている。なお、劣化診断用目標中心A/Fは、通常制御用目標A/Fと同じ値であってもよい。一方、OSC算出値が上限OSC設定値未満であり、OSC算出値が下限OSC設定値以下である場合には、ECU100は、リッチ側制御である目標A/F=劣化診断用目標中心A/F-劣化診断用減算値からリーン側制御である目標A/F=劣化診断用目標中心A/F劣化診断用加算値に目標A/Fを変更するステップS604。また、OSC算出値が上限OSC設定値未満であり、OSC算出値が下限OSC設定値を超過している場合には、ECU100は、今回の診断用の目標A/F設定処理が初回であるかどうかを判定するステップS605。このときに、初回である場合には、ECU100は、目標A/Fをリッチ側制御である目標A/F=劣化診断用目標中心A/F-劣化診断用減算値とする。一方、初回でない場合には、ECU100は、目標A/Fを変更せずに、診断用の目標A/F設定処理を終了する。従って、ECU100は、診断用の目標A/Fを算出し、A/F測定値を目標A/Fにフィードバック制御することで、OSC算出値が上限OSC設定値及び下限OSC設定値の範囲内になるように、インジェクタ21の燃料噴射量を制御する。次に、図7は、図5の待ち時間の算出処理図5におけるステップS503を示すフローチャートである。図7において、ECU100は、吸入空気量に基づいて触媒劣化指標値演算待ち時間マップ図3を補間参照することによって、待ち時間を算出するステップS701。そして、ECU100は、取得した待ち時間を設定し、タイマ時間カウンタを作動させるステップS702。なお、タイマは、触媒劣化診断条件の不成立時には常にゼロに設定され、触媒劣化診断条件が成立すると計数を開始する。ここで、図7に示す待ち時間の算出処理が終了すると、ECU100は、図5のステップS504において、指標値算出条件が成立したか否かの判定を行う。具体的に、ECU100は、図7のステップS701において算出された待ち時間と、図7のステップS702におけるタイマの計数値とを比較する。そして、ECU100は、タイマの計数値が待ち時間を超過したことに応じて、指標値算出条件が成立したと判断する。次に、図8~10は、それぞれ図5の触媒劣化指標値算出処理図5におけるステップS505の一部を示すフローチャートである。なお、図8~10は、触媒劣化指標値算出処理についての一連の処理を示している。また、図8,9は、点Xで繋がっており、図9,10は、点Yで繋がっている。図8~10において、フロントO2センサ23は、リニアO2センサLAFS:LinearAirFuelSensorである。これに対して、リアO2センサ24は、ラムダO2センサである。つまり、フロントO2センサ23及びリアO2センサ24の出力特性は、互いに異なっている。このため、フロントO2センサ23及びリアO2センサ24のいずれか一方の出力値を、それらの他方の出力値に対応するように変換する必要がある。そこで、ECU100は、フロントO2センサ23の出力値であるA/F測定値を、リアO2センサ24のラムダO2センサ相当の電圧値フロントO2電圧値に変換するステップS801。そして、ECU100は、フロントO2センサ23の出力値から変換したフロントO2電圧値に対して一次フィルタ演算を実行し、フロントO2電圧フィルタ値を算出するステップS802。また、ECU100は、リアO2センサ電圧値に対して一次フィルタ演算を実行し、リアO2電圧フィルタ値を算出するステップS803。ECU100は、フロントO2電圧フィルタ値及びリアO2電圧フィルタ値を算出すると、フロントO2電圧フィルタ値が所定値以上かどうかを判定するステップS804。ここで、この所定値は、例えばラムダO2センサにおいて、A/F測定値が理論空燃比よりもリッチ側であるか又はリーン側であるかについて判定するための閾値である。ECU100には、この所定値として0.45Vが設定されている。ECU100は、フロントO2電圧フィルタ値が所定値以上であることを確認すると、フロントO2電圧フィルタ値がリッチ側出力であると判定するステップS805。一方、ECU100は、フロントO2電圧フィルタ値が所定値未満であることを確認すると、フロントO2電圧フィルタ値がリーン出力であると判定するステップS806。そして、ECU100は、リアO2電圧フィルタ値が所定値以上かを判定するステップS807。この所定値は、フロントO2電圧フィルタ値のリッチリーン判定で用いられた所定値と同様に0.45Vである。ECU100は、リアO2電圧フィルタ値が所定値以上であることを確認すると、リアO2電圧フィルタ値がリッチ出力であると判定するステップS808。一方、ECU100は、リアO2電圧フィルタ値が所定値未満であることを確認すると、リアO2電圧フィルタ値がリーン出力であると判定するステップS809。ECU100は、フロントO2電圧フィルタ値がリーン判定からリッチ判定に反転したかどうかを確認するステップS910。このときに、ECU100は、フロントO2電圧フィルタ値がリーン判定からリッチ判定に反転したことを確認すると、フロントO2電圧値の振幅最大値をゼロに設定するステップS911。一方、ECU100は、フロントO2電圧フィルタ値がリーン判定のままであることを確認すると、FO2振幅最大値=maxFO2振幅最大値n-1,FO2電圧フィルタ値を演算し、フロントO2電圧値の振幅最大値を更新するステップS912。ここで、maxは、括弧内の値のうち大きい値が選択される以下、同じ。その後、ECU100は、フロントO2電圧フィルタ値がリッチ判定からリーン判定に反転したかどうかを確認するステップS913。このときに、ECU100は、フロントO2電圧フィルタ値がリッチ判定からリーン判定に反転したことを確認すると、フロントO2電圧値の振幅最小値を最大値とするステップS914。一方、ECU100は、フロントO2電圧フィルタ値がリッチ判定のままであることを確認すると、FO2振幅最小値=minFO2振幅最小値n-1,FO2電圧フィルタ値を演算し、フロントO2電圧値の振幅最小値を更新するステップS915。ここで、minは、括弧内の値のうち小さい値が選択される以下、同じ。ECU100は、リアO2電圧フィルタ値がリーン判定からリッチ判定に反転したかどうかを確認するステップS916。このときに、ECU100は、リアO2電圧フィルタ値がリーン判定からリッチ判定に反転したことを確認すると、リアO2電圧値の振幅最大値をゼロに設定するステップS917。一方、ECU100は、リアO2電圧フィルタ値がリーン判定のままであることを確認すると、RO2振幅最大値=maxRO2振幅最大値n-1,RO2電圧フィルタ値を演算し、リアO2電圧値の振幅最大値を更新するステップS918。その後、ECU100は、リアO2電圧フィルタ値がリッチ判定からリーン判定に反転したかどうかを確認するステップS919。このときに、ECU100は、リアO2電圧フィルタ値がリッチ判定からリーン判定に反転したことを確認すると、リアO2電圧値の振幅最小値を最大値とするステップS920。一方、ECU100は、リアO2電圧フィルタ値がリッチ判定のままであることを確認すると、RO2振幅最小値=minRO2振幅最小値n-1,RO2電圧フィルタ値を演算し、リアO2電圧値の振幅最小値を更新するステップS921。そして、ECU100は、FO2電圧偏差積分値=FO2電圧偏差積分値n-1|FO2電圧フィルタ値-FO2電圧値|を演算し、フロントO2電圧値の偏差積分値を算出するステップS1022。これとともに、ECU100は、RO2電圧偏差積分値=RO2電圧偏差積分値n-1|RO2電圧フィルタ値-RO2電圧値|を演算し、リアO2電圧値の偏差積分値を算出するステップS1023。これらの演算の後、ECU100は、フロントO2電圧値がリッチ判定からリーン判定、若しくはリーン判定からリッチ判定に反転したかどうかを確認するステップS1024。このときに、ECU100は、フロントO2電圧値がリッチ判定及びリーン判定の一方から他方に反転していないことを確認すると、触媒劣化指標値算出処理を終了させる。一方、ECU100は、フロントO2電圧値がリッチ判定及びリーン判定の一方から他方に反転したことを確認すると、FO2電圧振幅積算値=FO2電圧振幅積算値n-1|FO2振幅最大値-FO2振幅最小値|を演算し、フロントO2電圧値の振幅積算値を算出するステップS1025。これとともに、ECU100は、RO2電圧振幅積算値=RO2電圧振幅積算値n-1|RO2振幅最大値-RO2振幅最小値|を演算して、リアO2電圧値の振幅積算値を算出するステップS1026。そして、ECU100は、触媒劣化指標値算出処理を終了する。次に、図11は、図5の触媒劣化診断処理図5におけるステップS507を示すフローチャートである。図11において、ECU100は、触媒劣化指標値、即ちフロントO2電圧値の偏差積分値、リアO2電圧値の偏差積分値、フロントO2電圧値の振幅積算値、及びリアO2電圧値の振幅積算値の算出処理が実行されて完了しているかどうかを確認するステップS1101。このときに、ECU100は、触媒劣化指標値の算出が完了していないことを確認すると、触媒22の劣化診断故障判定を行わずに、触媒劣化診断処理を終了する。一方、ECU100は、触媒劣化指標値の算出が完了していることを確認すると、電圧偏差積分比=RO2電圧偏差積分値/FO2電圧偏差積分値の演算を実行するステップS1102。これとともに、ECU100は、振幅積算比=RO2電圧振幅積算値/FO2電圧振幅積算値の演算を実行するステップS1103。また、ECU100は、触媒劣化診断値=電圧偏差積分比×振幅積算比の演算を実行するステップS1104。そして、ECU100は、触媒22の劣化診断として、触媒劣化診断値が所定値後述の0.3以上であるかどうかを確認するステップS1105。このときに、ECU100は、触媒劣化診断値が所定値以上であることを確認すると、触媒22が故障である劣化状態であると判定するステップS1106。一方、ECU100は、触媒劣化診断値が所定値未満であることを確認すると、触媒22が正常であると判定するステップS1107。そして、ECU100は、触媒22を故障又は正常と判定すると、触媒劣化診断が完了したと判断しステップS1108、触媒劣化診断処理を終了する。次に、図12は、図5の触媒劣化指標値の初期値設定処理図5におけるステップS508を示すフローチャートである。図12において、ECU100は、触媒劣化指標値の算出処理が実行されて完了しているかどうかを確認するステップS1201。このときに、ECU100は、触媒劣化指標値の算出処理が実行されて完了していることを確認すると、触媒劣化指標値の初期値設定を行わずに、触媒劣化指標値の初期値設定処理を終了する。一方、ECU100は、触媒劣化指標値算出処理が完了していないことを確認すると、触媒劣化診断のフラグを未完了として設定するステップS1202。また、ECU100は、触媒劣化診断条件のフラグを不成立として設定するステップS1203。そして、ECU100は、フロントO2電圧値の偏差積分値、リアO2電圧値の偏差積分値、フロントO2電圧値の振幅積算値、フロントO2電圧値の振幅積算値、リアO2電圧値の振幅積算値、電圧偏差積分比及び触媒劣化診断値の各パラメータをゼロに設定するステップS1204~S1209。これによって、ECU100は、触媒劣化指標値の初期値設定処理を終了する。次に、ECU100による触媒劣化診断処理の実行タイミングについて説明する。図13は、各出力値の変化、及び各条件の成立フラグの変化の一例を説明するための説明図である。なお、図13の横軸は、時間を示す。また、図13aは、触媒劣化診断条件の成立状況の変化を示す。さらに、図13bは、指標値算出条件の成立状況の変化を示す。また、図13cは、タイマの作動状況を示す。さらに、図13dは、燃料カット条件の成立状況の変化を示す。ここで、図13dでは、燃料カット条件の成立時には、内燃機関1の燃料遮断状態を示し、燃料カット条件の不成立時には、内燃機関1の燃料供給状態であることを示す。また、図13eは、LAFSA/F測定値の値の変化を示す。さらに、図13fは、フロントO2電圧値の変化を示す。さらに、図13gは、リアO2電圧値の変化を示す。図13において、時点A以前図13の左側では、内燃機関1が燃料カット状態であり、LAFS出力値A/F測定値はリーン側出力の最大値を示している。ECU100は、燃料カット状態から燃料供給状態に復帰すると、LAFS出力値が目標A/Fとなるように制御する。これによって、LAFS出力値図13eの実線が目標A/F図13eの破線に追従する。ここでの目標A/Fは、通常時の目標A/F設定処理図5におけるステップS506によって設定された値である。フロントO2電圧値FO2は、LAFS出力値をラムダO2センサ相当の電圧値に変換した値である。リアO2電圧値RO2がラムダO2センサの出力値であり、触媒劣化診断はフロントO2電圧値FO2とリアO2電圧値RO2との近似度合いで診断するため、LAFS出力値をラムダO2出力値相当の電圧値に変換する必要がある。そこで、ECU100は、LAFSの出力値であるA/F測定値をラムダO2相当の電圧値に所定の変換マップにより変換し、その値に一次フィルタを用いてなまし処理を実行する。時点Bで、触媒劣化診断条件が成立すると、タイマが計数を開始する。これと同時に、通常時の目標A/F設定処理から診断用の目標A/F設定処理図5におけるステップS502に切り替わる。そして、診断用の目標A/F設定処理によって、目標A/Fが劣化診断用目標中心A/F-劣化診断用減算値又は劣化診断用目標中心A/F劣化診断用加算値に設定される。この結果、燃料噴射量は、その設定された目標A/Fに応じてフィードバック制御されることになる。そして、タイマの計数値時間カウンタが待ち時間設定値を超えた時点Cで、指標値算出条件が成立し、触媒劣化指標値演算が開始される。また、時点Bから時点Cまでの間は、燃料カット中に触媒22に吸蔵された酸素によりリアO2電圧値RO2の出力に変動が生じる期間である。ここで、この期間中に触媒劣化指標値算出処理が実行されると、リアO2電圧値RO2に基づく触媒劣化指標値が正しく算出されないために、触媒劣化について誤診断が生じる可能性がある。そこで、ECU100は、指標値算出条件が成立した時点Cで、図8~10に示す触媒劣化指標値算出処理を実行する。この触媒劣化指標値算出処理は、時点Cから時点Dの触媒劣化診断条件及び指標値算出条件が成立している間、継続して実行される。また、触媒劣化診断条件及び指標値算出条件が不成立となった時点Dで、ECU100は、触媒劣化指標値演算を停止する。これとともに、ECU100は、目標A/Fを、診断用の目標A/F設定処理により設定された値から、通常用の目標A/F設定処理により設定された値に変更する。ここで、ECU100は、触媒劣化指標値算出処理図5におけるステップS505に、図13のフロントO2電圧値FO2及びリアO2電圧値RO2を用いる。FO2電圧偏差積分値は、フロントO2電圧値図13fの破線と、リアO2電圧フィルタ値図13fの実線とに囲まれた領域図13fの網掛け部分である。このFO2電圧振幅積算値は、フロントO2電圧フィルタ値図13fの実線の最大値と最小値との偏差を、フロントO2電圧フィルタ値のリッチリーンが反転する度に積算した値である。RO2電圧偏差積分値は、リアO2電圧値図13eの破線とリアO2電圧フィルタ値図13eの実線とに囲まれた領域図13eの網掛け部分である。RO2電圧振幅積算値は、リアO2電圧フィルタ値の最大値と最小値との偏差を、リアO2電圧フィルタ値のリッチリーンが反転する度に積算した値である。次に、触媒劣化診断条件の成立後、指標値算出条件が成立するまでの待ち時間の有無による触媒劣化指標値の差について説明する。ここでは、触媒劣化診断値を0.3に設定した場合について説明する。なお、図13におけるリアO2の出力波形は、正常判定すべき劣化度合いの触媒22についてのものである。まず、触媒劣化診断条件の成立後、指標値算出条件が成立するまでに待ち時間を設定した場合について説明する。この場合、触媒劣化指標値の算出対象となる区間は、図13における時点Cから時点Dである。このような場合において、電圧偏差積分比、振幅積算比及び触媒劣化診断値は、以下のようになる。電圧偏差積分比=RO2電圧偏差積分値/FO2電圧偏差積分値=25.15/34.11=0.737振幅積算比=RO2電圧振幅積算値/FO2電圧振幅積算値=2.4/6.4=0.375触媒劣化診断値=電圧偏差積分比×振幅積算比=0.737×0.375=0.277従って、算出された触媒劣化診断値が0.3未満であるため、ECU100は、触媒22を正常であると判定する。次に、触媒劣化診断条件の成立後、指標値算出条件が成立するまでの待ち時間が設定されていない場合について説明する。この場合の触媒劣化指標値の算出対象となる区間は、図13における時点Bから時点Dである。このような場合において、電圧偏差積分比、振幅積算比及び触媒劣化診断値は、以下のようになる。電圧偏差積分比=RO2電圧偏差積分値/FO2電圧偏差積分値=46.27/54.14=0.855振幅積算比=RO2電圧振幅積算値/FO2電圧振幅積算値=4.2/11.2=0.375触媒劣化診断値=電圧偏差積分比×振幅積算比=0.855×0.375=0.320従って、算出された触媒劣化診断値が0.3以上であるため、ECU100は、触媒22を劣化状態であると判定する。このように待ち時間待機期間を設定していない場合には、触媒劣化について誤診断が生じる。上記のような内燃機関の制御装置によれば、待機期間算出手段104が待ち時間を吸入空気量に基づいて算出して設定し、指標値算出手段105による触媒劣化指標値算出処理の開始を待ち時間分遅延させる。この構成により、触媒劣化指標値に含まれる内燃機関1の過渡状態に伴う誤差成分を低減させることができ、触媒劣化診断の精度を向上させることができる。これとともに、従来の内燃機関の制御装置のような固定値を待ち時間として用いていないことにより、触媒劣化診断の機会を適切に確保することができる。なお、実施の形態1では、図13cに示すように、指標値算出条件成立後にタイマを停止させたが、指標値算出条件成立後にもタイマを継続して作動させてもよい。実施の形態2.実施の形態1では、触媒劣化指標値演算の待機期間として、待ち時間を用いた。これに対して、実施の形態2では、触媒劣化指標値演算の待機期間として吸入空気量積算値を用いる。実施の形態2のECU100は、以下の算出式により、吸入空気量積算値を算出する。吸入空気量積算値[g]=吸入空気量積算値n-1吸入空気量×0.01ここで、吸入空気量積算値及び吸入空気量の単位は[g/s]であり、ECU100は、10[ms]毎に吸入空気量を算出する。このため、ECU100は、積算する吸入空気量に0.01を乗算する。また、吸入空気量積算値n-1は、10[ms]前の吸入空気量積算値である。さらに、ECU100は、触媒劣化診断条件の不成立時には、吸入空気量積算値を0としており、触媒劣化診断条件が成立すると、吸入空気量積算値の算出を開始する。図14は、この発明の実施の形態2による内燃機関の制御装置の待ち時間の算出処理を示すフローチャートである。なお、図14に示す待機期間算出処理は、先の図5におけるステップS503に対応する処理である。図14において、ECU100待機期間算出手段104は、診断用の目標A/F設定処理の後に、吸入空気量積算値を算出するステップS1401。そして、ECU100は、算出した吸入空気量積算値が所定値例えば、150gを超過したことを確認すると、触媒劣化指標値の算出処理を実行する。他の構成及び動作は実施の形態1と同様である。上記のような内燃機関の制御装置によれば、触媒22に吸蔵されている酸素を消費する期間が、燃料噴射量の総量、即ち吸入空気量の総量積算値に依存することにより、触媒劣化指標値演算の待機期間として吸入空気量積算値を用いた場合にも、実施の形態1と同様の効果を得ることができる。実施の形態3.実施の形態1のECU100待機期間算出手段104は、吸入空気量に基づいて、触媒劣化指標値演算の待機期間としての待ち時間を算出した。これに対して、実施の形態3のECU100では、吸入空気量及びOSC算出値に基づいて待ち時間を算出する。図15は、この発明の実施の形態3による内燃機関の制御装置の触媒劣化診断に関する構成を示すブロック図である。図15において、実施の形態3の待機期間算出手段104は、酸素吸蔵量算出手段107からOSC算出値を受ける。また、待機期間算出手段104ECU100のROM内には、吸入空気量Qaと待ち時間とがOSC算出値毎に互いに関連付けて、図16に示すような触媒劣化指標値待ち時間マップが予め登録されている。実施の形態3の酸素吸蔵量算出手段107は、診断用の目標A/F算出処理の実行時以外にも、常時、OSC算出値の算出処理を実行する。これにより、酸素吸蔵量算出手段107は、触媒劣化診断条件の成立時点でのOSC算出値を算出可能になっている。なお、酸素吸蔵量算出手段107によるOSC算出値の算出式は、実施の形態1における酸素吸蔵量算出手段107によるOSC算出値の算出式と同様である。ここで、待機期間算出手段104は、触媒劣化診断条件が不成立から成立となった時点でのOSC算出値と、触媒劣化診断条件成立後の各時点での吸入空気量とに基づいて、図16に示す触媒劣化指標値待ち時間マップを補間参照することによって、待ち時間を算出する。これによって、待機期間算出手段104は、触媒劣化診断条件が不成立から成立に変化した時点でのOSC算出値を用いて、触媒劣化指標値演算待ち時間の演算が可能となる。他の構成及び動作は実施の形態1と同様である。上記のような内燃機関の制御装置によれば、吸入空気量及びOSC算出値に基づいて待ち時間を算出する場合であっても、実施の形態1と同様の効果を得ることができる。これに加えて、OSC算出値が待ち時間の算出の判断要素として加えられていることにより、実施の形態1に比べて、触媒劣化診断の精度をより向上させることができる。なお、実施の形態1,3では、待機期間として待ち時間を用いたが、待機期間は、待ち時間に限定するものではなく、例えばスパークプラグ4の放電回数点火回数を待機期間として用いてもよい。"