"内燃機関の排気通路に設けられた触媒が正常か異常かを診断する装置であって、触媒温度を検出または推定により取得すると共に、前記触媒における硫黄蓄積量を推定し、前記推定硫黄蓄積量に基づき前記触媒温度のしきい値を決定し、前記取得触媒温度が前記しきい値未満か否かによって診断を許可または禁止することを特徴とする触媒異常診断装置。前記しきい値は、前記推定硫黄蓄積量が少ないほど高温であることを特徴とする請求項1に記載の触媒異常診断装置。前記しきい値は、前記触媒における酸素吸蔵成分を含むコート材から硫黄酸化物が脱離開始するような温度であることを特徴とする請求項1または2に記載の触媒異常診断装置。前記取得触媒温度が、前記しきい値未満のときには診断を許可し、前記しきい値以上のときには診断を禁止することを特徴とする請求項1~3のいずれか一項に記載の触媒異常診断装置。前記取得触媒温度が、前記しきい値より高温の別のしきい値以上であるときに、診断を許可することを特徴とする請求項1~4のいずれか一項に記載の触媒異常診断装置。診断禁止後に前記取得触媒温度が前記しきい値未満となったとき、前記取得触媒温度が前記別のしきい値以上となった履歴の有無に応じて、診断を許可または禁止することを特徴とする請求項5に記載の触媒異常診断装置。前記取得触媒温度が前記別のしきい値以上となった履歴が有る場合には診断を許可し、前記取得触媒温度が前記別のしきい値以上となった履歴が無い場合には診断を禁止することを特徴とする請求項6に記載の触媒異常診断装置。診断実行中に前記取得触媒温度が前記しきい値未満で且つ前記しきい値の近傍にあるときに、排気ガスの温度上昇を抑制するための昇温抑制制御を実行することを特徴とする請求項1~7のいずれか一項に記載の触媒異常診断装置。診断禁止中に、排気ガスの温度を上昇させるための昇温制御を実行することを特徴とする請求項1~8のいずれか一項に記載の触媒異常診断装置。ところで、使用地域等によっては燃料中に硫黄Sが比較的高濃度で含まれていることがある。このような高硫黄燃料が給油された場合、排気ガス中の硫黄成分の影響により、触媒が硫黄被毒S被毒することがある。S被毒が発生すると、触媒の活性が低下すると共に、触媒の酸素吸放出作用が妨げられて触媒の見掛け上の酸素吸蔵容量が低下する。しかしながら、硫黄濃度の低い燃料が再度給油されたり、高温且つリッチな雰囲気に触媒が曝されたりすると、被毒状態は解消する。S被毒による触媒の性能低下は一時的且つ回復可能なものである。よって触媒の異常診断においては、かかるS被毒による一時的異常を、本来診断すべき回復不能な恒久的異常熱劣化と誤って診断しないようにする必要がある。そこで本発明はこのような実情に鑑みてなされたもので、その目的は、硫黄成分による誤診断を防止することができる触媒異常診断装置を提供することにある。本発明の一態様によれば、内燃機関の排気通路に設けられた触媒が正常か異常かを診断する装置であって、触媒温度を検出または推定により取得すると共に、前記触媒における硫黄蓄積量を推定し、前記推定硫黄蓄積量に基づき前記触媒温度のしきい値を決定し、前記取得触媒温度が前記しきい値未満か否かによって診断を許可または禁止することを特徴とする触媒異常診断装置が提供される。好ましくは、前記しきい値は、前記推定硫黄蓄積量が少ないほど高温である。好ましくは、前記しきい値は、前記触媒における酸素吸蔵成分を含むコート材から硫黄酸化物が脱離開始するような温度である。好ましくは、前記触媒異常診断装置は、前記取得触媒温度が、前記しきい値未満のときには診断を許可し、前記しきい値以上のときには診断を禁止する。好ましくは、前記触媒異常診断装置は、前記取得触媒温度が、前記しきい値より高温の別のしきい値以上であるときに、診断を許可する。好ましくは、前記触媒異常診断装置は、診断禁止後に前記取得触媒温度が前記しきい値未満となったとき、前記取得触媒温度が前記別のしきい値以上となった履歴の有無に応じて、診断を許可または禁止する。好ましくは、前記触媒異常診断装置は、前記取得触媒温度が前記別のしきい値以上となった履歴が有る場合には診断を許可し、前記取得触媒温度が前記別のしきい値以上となった履歴が無い場合には診断を禁止する。好ましくは、前記触媒異常診断装置は、診断実行中に前記取得触媒温度が前記しきい値未満で且つ前記しきい値の近傍にあるときに、排気ガスの温度上昇を抑制するための昇温抑制制御を実行する。好ましくは、前記触媒異常診断装置は、診断禁止中に、排気ガスの温度を上昇させるための昇温制御を実行する。本発明によれば、硫黄成分による誤診断を防止することができるという、優れた効果が発揮される。以下、本発明の好適実施形態を添付図面に基づき説明する。図1は本実施形態の構成を示す概略図である。図示されるように、内燃機関たるエンジン1は、シリンダブロック2に形成された燃焼室3の内部で燃料および空気の混合気を燃焼させ、燃焼室3内でピストン4を往復移動させることにより動力を発生する。本実施形態のエンジン1は自動車用多気筒エンジン1気筒のみ図示であり、火花点火式内燃機関、より具体的にはガソリンエンジンである。エンジン1のシリンダヘッドには、吸気ポートを開閉する吸気弁Viと、排気ポートを開閉する排気弁Veとが気筒ごとに配設されている。各吸気弁Viおよび各排気弁Veは図示しないカムシャフトによって開閉させられる。また、シリンダヘッドの頂部には、燃焼室3内の混合気に点火するための点火プラグ7が気筒ごとに取り付けられている。各気筒の吸気ポートは吸気マニホールドを介して吸気集合室であるサージタンク8に接続されている。サージタンク8の上流側には吸気集合通路をなす吸気管13が接続されており、吸気管13の上流端にはエアクリーナ9が設けられている。そして吸気管13には、上流側から順に、エンジンに流入する空気量すなわち吸入空気量を検出するためのエアフローメータ5と、電子制御式スロットルバルブ10とが設けられている。なお吸気ポート、吸気マニホールド、サージタンク8及び吸気管13により吸気通路が形成される。吸気通路、特に吸気ポート内に燃料を噴射するインジェクタすなわち燃料噴射弁12が気筒ごとに配設される。インジェクタ12から噴射された燃料は吸入空気と混合されて混合気をなし、この混合気が吸気弁Viの開弁時に燃焼室3に吸入され、ピストン4で圧縮され、点火プラグ7で点火燃焼させられる。一方、各気筒の排気ポートは、排気マニホールドを介して排気集合通路をなす排気管6に接続されている。これら排気ポート、排気マニホールド及び排気管6により排気通路が形成される。排気管6には、その上流側と下流側に、酸素吸蔵能を有する三元触媒からなる触媒、即ち上流触媒11及び下流触媒19が直列に設けられている。例えば、上流触媒11は排気マニホールドの直後に配置され、下流触媒19は車両の床下などに配置される。上流触媒11の上流側及び下流側前後に、それぞれ、酸素濃度に基づいて排気ガスの空燃比を検出する空燃比センサ、即ち触媒前センサ17及び触媒後センサ18が設けられている。図5に示すように、触媒前センサ17は所謂広域空燃比センサからなり、比較的広範囲に亘る空燃比を連続的に検出可能で、その空燃比に比例した値の信号を出力する。他方、触媒後センサ18は所謂O2センサからなり、理論空燃比を境に出力値が急変する特性Z特性を持つ。上述の点火プラグ7、スロットルバルブ10及びインジェクタ12等は、制御手段としての電子制御ユニット以下ECUと称す20に電気的に接続されている。ECU20は、何れも図示されないCPU、ROM、RAM、入出力ポート、および記憶装置等を含むものである。またECU20には、図示されるように、前述のエアフローメータ5、触媒前センサ17、触媒後センサ18のほか、エンジン1のクランク角を検出するクランク角センサ14、アクセル開度を検出するアクセル開度センサ15、その他の各種センサが図示されないA/D変換器等を介して電気的に接続されている。ECU20は、各種センサの検出値等に基づいて、所望の出力が得られるように、点火プラグ7、インジェクタ12、スロットルバルブ10等を制御し、点火時期、燃料噴射量、燃料噴射時期、スロットル開度等を制御する。スロットルバルブ10にはスロットル開度センサ図示せずが設けられ、スロットル開度センサからの信号がECU20に送られる。ECU20は、通常、アクセル開度に応じて定まる目標スロットル開度に、スロットルバルブ10の開度スロットル開度をフィードバック制御する。ECU20は、エアフローメータ5からの信号に基づき、単位時間当たりの吸入空気の量すなわち吸入空気量を検出する。そしてECU20は、検出したアクセル開度、スロットル開度および吸入空気量の少なくとも一つに基づき、エンジン1の負荷を検出する。ECU20は、クランク角センサ14からのクランクパルス信号に基づき、クランク角自体を検出すると共にエンジン1の回転数を検出する。ここで回転数とは単位時間当たりの回転数のことをいい、回転速度と同義である。本実施形態では1分間当たりの回転数rpmのことをいう。上流触媒11及び下流触媒19は、それぞれに流入する排気ガスの空燃比A/Fがストイキ近傍のときに排気中の有害成分であるNOx,HCおよびCOを同時に浄化する。この三者を同時に高効率で浄化できる空燃比の幅ウィンドウは比較的狭い。そこで通常運転時、上流触媒11に流入する排気ガスの空燃比がストイキ近傍に制御されるように、空燃比フィードバック制御がECU20により実行される。この空燃比フィードバック制御は、触媒前センサ17によって検出された排気空燃比を所定の目標空燃比であるストイキに一致させるような主空燃比制御主空燃比フィードバック制御と、触媒後センサ18によって検出された排気空燃比をストイキに一致させるような補助空燃比制御補助空燃比フィードバック制御とからなる。なお、このように目標空燃比をストイキとする空燃比フィードバック制御をストイキ制御という。ここで、主に診断の対象となる上流触媒11についてより詳細に説明する。なお下流触媒19も上流触媒11と同様に構成されている。図2に示すように、触媒11においては、図示しない担体基材の表面上にコート材31が被覆され、このコート材31に微粒子状の触媒成分32が多数分散配置された状態で担持され、触媒11内部で露出されている。触媒成分32は主にPt,Pd等の貴金属からなり、NOx,HCおよびCOといった排ガス成分を反応させる際の活性点となる。他方、コート材31は、排気ガスと触媒成分32との界面における反応を促進させる助触媒の役割を担うと共に、雰囲気ガスの空燃比に応じて酸素を吸放出可能な酸素吸蔵成分を含む。酸素吸蔵成分は例えば二酸化セリウムCeO2やジルコニアからなる。なお、吸蔵と同義で吸収または吸着を用いることもある。例えば、触媒内の雰囲気ガスが理論空燃比よりリーンであると、触媒成分32の周囲に存在する酸素吸蔵成分が雰囲気ガスから酸素を吸収し、この結果NOxが還元され、浄化される。他方、触媒内の雰囲気ガスが理論空燃比よりリッチであると、酸素吸蔵成分に吸蔵されていた酸素が放出され、この放出された酸素によりHCおよびCOが酸化され、浄化される。この酸素吸放出作用により、通常のストイキ制御に際して実際の空燃比がストイキに対して多少ばらついたとしても、このばらつきを吸収することができる。ところで、新品状態の触媒11では前述したように多数の触媒成分32が均等に分散配置されており、排気ガスと触媒成分32との接触確率が高い状態に維持されている。しかしながら、触媒11が劣化してくると、一部の触媒成分32に消失が見られるほか、触媒成分32同士が排気熱で焼き固まって焼結状態になるものがある図の破線参照。こうなると排気ガスと触媒成分32との接触確率が低下し、浄化率を落としめる原因となる。そしてこのほかに、触媒成分32の周囲に存在するコート材31の量、即ち酸素吸蔵成分の量が減少し、酸素吸蔵能自体が低下する。このように、触媒11の劣化度と酸素吸蔵能との間には相関関係がある。そこで本実施形態では、特にエミッションへの影響が大きい上流触媒11の酸素吸蔵能を検出することにより、上流触媒11の劣化度を間接的に検出し、上流触媒11が正常か異常かを診断することとしている。ここで触媒11の酸素吸蔵能は、現状の触媒11が吸蔵し得る最大酸素量である酸素吸蔵容量OSC;O2StorageCapacity、単位はgの大きさによって表される。従って酸素吸蔵容量は触媒11の劣化度を表す指標値劣化指標値をなす。本実施形態の触媒異常診断は前述のCmax法による。そして異常診断に際しては、ECU20によりアクティブ空燃比制御が実行される。すなわちECU20は、触媒11に供給される排気ガスの空燃比、具体的には燃焼室3内の混合気の空燃比を、中心空燃比であるストイキA/Fsを境にリッチ及びリーンに交互に且つアクティブに切り替える。なお、アクティブ空燃比制御および診断は、所定の前提条件が満たされているときに限って実行される。この前提条件については後述する。本実施形態では、アクティブ空燃比制御の実行に伴って上流触媒11の酸素吸蔵容量を計測し、当該計測値に基づき上流触媒11が正常か異常かを診断する。以下に診断方法の詳細を述べる。図3Aにおいて、破線は目標空燃比A/Ft、実線は触媒前センサ17の出力但し触媒前空燃比A/Ffへの換算値を示す。また図3Bにおいて、実線は触媒後センサ18の出力但しその出力電圧Vrを示す。図示するように、時刻t1より前では、空燃比をリーンに切り替えるリーン制御が実行され、目標空燃比A/Ftはリーン空燃比A/Fl例えば15.1とされ、触媒11には、目標空燃比A/Ftと等しい空燃比のリーンガスが供給されている。このとき触媒11は酸素を吸蔵し続けているが、飽和状態即ち満杯まで酸素を吸蔵した時点でそれ以上酸素を吸蔵できなくなる。この結果、リーンガスが触媒11を通り抜けて触媒11の下流側に流れ出す。こうなると触媒後センサ18の出力がリーン側に変化し、出力電圧Vrが所定のリーン判定値VL例えば0.21Vに達した時点t1で、目標空燃比A/Ftがリッチ空燃比A/Fr例えば14.1に切り替えられる。これによりリッチ制御が開始され、目標空燃比A/Ftと等しい空燃比のリッチガスが供給されるようになる。リッチガスが供給されると、触媒11は吸蔵酸素を放出し続ける。やがて触媒11から吸蔵酸素が放出され尽くすとその時点で触媒11は酸素を放出できなくなり、リッチガスが触媒11を通り抜けて触媒11の下流側に流れ出す。こうなると触媒後センサ18の出力がリッチ側に変化し、出力電圧Vrが所定のリッチ判定値VR例えば0.59Vに達した時点t2で、目標空燃比A/Ftがリーン空燃比A/Fl例えば15.1に切り替えられる。これにより再びリーン制御が開始され、目標空燃比A/Ftと等しい空燃比のリーンガスが供給されるようになる。再び、触媒11が満杯まで酸素を吸蔵し、触媒後センサ18の出力電圧Vrがリーン判定値VLに達すると、その時点t3で、目標空燃比A/Ftがリッチ空燃比A/Frに切り替えられ、リッチ制御が開始される。こうして、触媒後センサ18の出力が反転する毎に、リーン制御とリッチ制御とが交互に繰り返し実行される。このアクティブ空燃比制御の実行中、次の方法で触媒11の酸素吸蔵容量OSCが計測される。触媒11の有する酸素吸蔵容量が大きいほど、酸素を吸蔵或いは放出し続けることのできる時間が長くなる。つまり、触媒が劣化していない場合は触媒後センサ出力Vrの反転周期例えばt1からt2までの時間が長くなり、触媒の劣化が進むほどその反転周期は短くなる。そこで、このことを利用して酸素吸蔵容量OSCが次のようにして計測される。図4に示すように、時刻t1で目標空燃比A/Ftがリッチ空燃比A/Frに切り替えられた直後、僅かに遅れて実際値としての触媒前空燃比A/Ffがリッチ空燃比A/Frに切り替わる。そして触媒前空燃比A/FfがストイキA/Fsに達した時点t11から、次に触媒後センサ出力Vrが反転する時点t2まで、次式1により、所定の演算周期毎の酸素吸蔵容量dOSCが逐次的に算出され、且つこの酸素吸蔵容量dOSCが時刻t11から時刻t2まで逐次的に積算される。こうして、リッチ制御時における最終積算値としての酸素吸蔵容量OSC、すなわち図4にOSCbで示す放出酸素量が計測される。Qは燃料噴射量であり、空燃比差ΔA/Fに燃料噴射量Qを乗じるとストイキに対し不足又は過剰分の空気量を算出できる。σは空気に含まれる酸素割合約0.23を表す定数である。リーン制御時にも同様に酸素吸蔵容量、すなわち図4にOSCaで示す吸蔵酸素量が計測される。そしてリッチ制御とリーン制御が交互に行われる度に、放出酸素量と吸蔵酸素量が交互に計測される。ここで分かるように、酸素吸蔵容量とは放出酸素量と吸蔵酸素量を総称する用語である。また放出酸素量とはリッチ制御中に触媒が放出する酸素量をいい、吸蔵酸素量とはリーン制御中に触媒が吸蔵する酸素量をいう。こうして複数ずつの放出酸素量と吸蔵酸素量との計測値が得られたならば、次の方法により触媒の正異常判定が行われる。まずECU20は、これら放出酸素量と吸蔵酸素量との複数の計測値の平均値を算出する。そしてこの平均値を所定の異常判定値αと比較する。ECU20は、平均値が異常判定値αより大きいときには上流触媒11を正常と判定し、平均値が異常判定値α以下のときには上流触媒11を異常と判定する。なお上流触媒11を異常と判定した場合、その事実をユーザに知らせるため、チェックランプ等の警告装置図示せずを起動させるのが好ましい。ところで前述したように、使用地域等によっては燃料中に硫黄Sが比較的高濃度で含まれていることがある。このような高硫黄燃料が給油された場合、排気ガス中の硫黄成分の影響により、触媒が硫黄被毒S被毒することがある。S被毒が発生すると、触媒の活性が低下すると共に、触媒の酸素吸放出作用が妨げられて触媒の見掛け上の酸素吸蔵容量が低下する。しかしながら、硫黄濃度の低い燃料が再度給油されたり、高温且つリッチな雰囲気に触媒が曝されたりすると、被毒状態は解消する。S被毒による触媒の性能低下は一時的且つ回復可能なものである。よって触媒の異常診断においては、かかるS被毒による一時的異常を、本来診断すべき回復不能な恒久的異常熱劣化と誤って診断しないようにする必要がある。そこでかかる誤診断を防止すべく、本実施形態では以下の方法で触媒の診断を実行する。まず、触媒におけるS被毒の原理を図6を用いて説明する。図には、触媒温度Tcに関する3つの温度領域における触媒表面の状態を概略的に示す。これら3つの温度領域は、低温域の第1領域Iと、中間温度域の第2領域IIと、高温域の第3領域IIIとからなる。なお図中の数値は一例であり、触媒の特性等に応じて変化し得る。まず第1領域Iにおいて、図示するように、酸素吸蔵成分を含むコート材31にはSOx硫黄酸化物が吸着し、主に貴金属からなる触媒成分32にはS硫黄が吸着している。しかしこの状態では、触媒成分32に対するS吸着量は比較的少なく、触媒の活性はそれ程低下しない。それ故この状態では、S被毒が無い場合と比較して、酸素吸蔵容量OSCの計測値はそれ程低下せず、許容範囲内である。ところが、触媒温度Tcが上昇し第1領域Iから第2領域IIに移行すると、コート材31に吸着されていたSOxが脱離し、還元され、このときSOxに含まれていたSが触媒成分32に付着し、触媒成分32を被覆する。するとS被毒の状態が悪化し、触媒の活性が著しく低下し、S被毒が無い場合と比較して、酸素吸蔵容量OSCの計測値が許容できないほど低下する。一方、触媒温度Tcがさらに上昇し第2領域IIから第3領域IIIに移行すると、触媒成分32を被覆していたSも、コート材31に吸着されていたSOxも、ほぼ完全に脱離し、S被毒がほぼ完全に解消する。すると、S被毒が無い場合と比較して、酸素吸蔵容量OSCの計測値がそれ程低下しなくなり、許容範囲内に復帰する。なお、触媒成分32上のSが脱離する際、触媒がリッチ雰囲気にあれば図示の如くH2S硫化水素としてSが脱離する。他方、触媒がリーン雰囲気にあるときにはSOxとしてSが脱離する。図7には、各領域I~IIIにおける酸素吸蔵容量計測値の低下率を示す。ここで低下率はS被毒が無い場合の計測値を基準とする。図示するように、第2領域IIだけ低下率が顕著に大きく、許容範囲外となっている。他方、第1領域Iと第3領域IIIの低下率は小さく、許容範囲内である。なお図示するデータに関しては、第1領域Iのデータが触媒温度Tc=550°Cのもの、第2領域IIのデータが触媒温度Tc=700°Cのもの、第3領域IIIのデータが触媒温度Tc=800°Cのもので、いずれも0.1gのSが蓄積した触媒についてのものである。但しこれらの数値も一例である。図8には、触媒温度Tc°Cと、触媒に現に吸着されているSの量すなわちS蓄積量Wgとで規定された第1~第3領域I~IIIを示す。なおS蓄積量Wは、触媒成分32に付着したSの量と、コート材31に吸着されているSOxのうちのSの量との和である。なお図中の数値は一例であり、触媒の特性等に応じて変化し得る。線aは、第1領域Iと第2領域IIの境界を規定する特性線である。図示するように、線aは、S蓄積量Wが少ないほど高温となる斜め特性を示し、S蓄積量Wが少ないほど第1領域Iは高温側に拡大される。他方、線bは、第2領域IIと第3領域IIIの境界を規定する特性線である。図示するように、線bは、S蓄積量Wに拘わらず一定温度を示し、図示例では約750°Cである。前述したように、線aより低温側の第1領域Iと、線bより高温側の第3領域IIIとでは、S被毒があっても酸素吸蔵容量OSCの計測値が許容範囲内であり、誤診断の可能性が低い。他方、線aより高温側で線bより低温側の第2領域IIでは、S被毒があった場合に酸素吸蔵容量OSCの計測値が許容範囲外となり、誤診断の可能性が高い。よって本実施形態では、上流触媒11の触媒温度Tcを検出または推定により取得すると共に、上流触媒11におけるS蓄積量Wを推定する。取得された触媒温度を取得触媒温度といい、推定されたS蓄積量を推定S蓄積量という。そして推定S蓄積量Wに基づき、図8の特性線aを利用して触媒温度のしきい値T1を決定し、取得触媒温度Tcがしきい値T1未満か否かによって診断を許可または禁止する。しきい値T1を第1しきい値という。具体的には、取得触媒温度Tcが、第1しきい値T1未満のときには診断を許可し、第1しきい値以上のときには診断を禁止する。第1しきい値T1は特性線a上の値である。前述したように、第1しきい値T1は、S蓄積量が少ないほど高温であり、上流触媒11におけるコート材31からSOxが脱離開始するような温度、言い換えればコート材31に対するSOxの吸着限界を示す温度である。これにより、誤診断の可能性が高い第2領域IIでは診断を禁止し、誤診断を未然に防止することができる。また、誤診断の可能性が低い第1領域IIでは診断を許可し、診断頻度を有利に確保することができる。また本実施形態では、取得触媒温度Tcが、第1しきい値より高温の別のしきい値すなわち第2しきい値T2以上であるときに、診断を許可する。第2しきい値T1は特性線b上の値である。前述したように、第2しきい値T1は、S蓄積量に拘わらず一定であり、S被毒がほぼ完全に解消する温度の最小値である。これにより、誤診断の可能性が低い第3領域IIIでは診断を許可し、診断頻度を有利に確保することができる。上流触媒11の触媒温度Tcについては、温度センサにより直接検出することもできるが、本実施形態では、エンジン運転状態を表すパラメータ例えば回転数と負荷に基づいてECU20により推定する。このときの推定方法は公知の方法が使用可能である。また上流触媒11におけるS蓄積量Wの推定については次の通りである。基本的に、上流触媒11のS蓄積量は、上流触媒11に吸着されたSの量すなわちS吸着量から、上流触媒11から脱離したSの量すなわちS脱離量を減じることによって、求められる。触媒上のS吸脱反応は同時に起きていると考えられるからである。ECU20は、次式2から求められる演算周期毎のS吸着量W1を逐次的に積算し、この積算値ΣW1を現時点あるいは今回におけるS吸着量とする。Csoxは排気ガスのSOx濃度、MsはSの分子量、Maは空気の分子量、Aは所定の係数、Gaは吸入空気量である。SOx濃度Csoxは、本実施形態の場合、実験により求められた一定の適合値である。但し、上流触媒11より上流側の排気通路にSOxセンサを設け、これにより検出したSOx濃度をCsoxとしてもよい。係数Aは、今回の演算時期に触媒前センサ17で検出した排気空燃比検出空燃比というA/Ffに応じて定まる変数であり、検出空燃比A/Ffがリッチなほど小さい。これは排気空燃比がリッチなほどSが吸着しない傾向にあるからである。吸入空気量Gaは今回の演算時期にエアフローメータ5により検出した値である。他方ECU20は、次式3から求められる演算周期毎のS脱離量W2を逐次的に積算し、この積算値ΣW2を現時点あるいは今回におけるS脱離量とする。VsはS脱離速度であり、前回の演算時期におけるS蓄積量Wと、今回の演算時期における取得触媒温度tcおよび検出空燃比A/Ffとに基づき、所定のマップ関数でもよい。以下同様から求められる。S蓄積量Wが大きいほど、また取得触媒温度tcが高いほど、また検出空燃比A/Ffがリッチなほど、演算周期毎のS脱離量W2は大きい。最後にECU20は、現時点におけるS吸着量ΣW1から現時点におけるS脱離量ΣW2を減じて現時点におけるS蓄積量Wを求めるW=ΣW1-ΣW2。ECU20は、図8に示したような特性および領域分けをマップの形で記憶している。そしてECU20は、当該マップから、推定S蓄積量Wに対応した第1しきい値T1を決定する。基本的に、ECU20は、取得触媒温度Tcが第1しきい値T1未満Tc<T1のとき、即ち第1領域Iにあるときには診断を許可する。取得触媒温度Tcが第1しきい値T1以上で第2しきい値T2未満T1≦Tc<T2のとき、即ち第2領域IIにあるときには診断を禁止する。取得触媒温度Tcが第2しきい値T2以上T2≦Tcのとき、即ち第3領域IIIにあるときには診断を許可する。従って図9にパターンiで示すように、取得触媒温度Tcの上昇につれ、取得触媒温度Tcが第1しきい値T1に達するまでは診断を許可し、取得触媒温度Tcが第1しきい値T1に達した以降は第2しきい値T2に達するまで診断を禁止し、取得触媒温度Tcが第2しきい値T2に達した以降は診断を許可する。一方、本実施形態においては、診断禁止後に取得触媒温度Tcが第1しきい値T1未満となったとき、取得触媒温度Tcが第2しきい値T2以上となった履歴の有無に応じて、診断を許可または禁止する。具体的には、図9にパターンiiで示すように取得触媒温度Tcが第2しきい値T2以上となった履歴が無い場合には診断を禁止する。他方、図9にパターンiiiで示すように取得触媒温度Tcが第2しきい値T2以上となった履歴が有る場合には診断を許可する。なおこの場合には、診断禁止後に取得触媒温度Tcが第1しきい値T1以上で第2しきい値T2未満となったときにも診断を許可する。一旦第2領域IIに入って診断が禁止されると、上流触媒11の触媒成分32がSによって被覆され、このままの状態で診断を実行すると誤診断に至る可能性がある。そこで本実施形態では、取得触媒温度Tcが第2しきい値T2以上となった履歴が有る場合、すなわち第3領域IIIに入ってS被毒がほぼ完全に解消したとみなされる場合に限って、より低温側での診断を許可する。こうすることにより誤診断を防止できると共に、診断頻度も有利に確保することが可能である。なお、図9にパターンiiiで示すように、診断禁止後に第3領域IIIに入った場合、第1領域IIに戻るまでには第2領域IIを通過するが、この第2領域II通過中も診断が許可される。S被毒がほぼ完全に解消した状態から第2領域IIに入っても、コート材31や触媒成分32上にSOxやSは殆どなく、触媒成分32に対するS被覆が実質的にないので、誤診断の可能性が低いからである。もっとも、信頼性向上のため、第2領域II通過中に診断を禁止する変形例も可能である。一方、本実施形態においては、診断実行中に取得触媒温度Tcが第1しきい値T1未満で且つ第1しきい値T1の近傍にあるときに、排気ガスの温度上昇を抑制するための昇温抑制制御が実行される。すなわち、図10に示すように、昇温抑制制御は、比較的小さい所定量ΔTだけ第1しきい値T1よりも低温な開始値T1’から、第1しきい値T1未満の温度域すなわち第1しきい値T1の近傍で実行される。取得触媒温度Tcの上昇につれ、取得触媒温度Tcが開始値T1’に達するまでは昇温抑制制御が停止状態オフとされる。また取得触媒温度Tcが開始値T1’に達した以降は第1しきい値T1に達するまで、昇温抑制制御は実行状態オンとされる。取得触媒温度Tcが第1しきい値T1に達した以降は、昇温抑制制御が停止状態オフとされる。かかる昇温抑制制御を実行すると、上流触媒11に供給される排気ガスひいては上流触媒11の温度上昇を抑制し、取得触媒温度Tcの上昇を抑制することができる。よって取得触媒温度Tcをできるだけ長く第1領域I内に止めておくことができ、診断頻度を有利に確保することができる。他方、昇温抑制制御を実行しても取得触媒温度Tcが第1しきい値T1以上に上昇してしまった場合には、診断が禁止されるので、これと併せて昇温抑制制御が停止される。これにより無駄な昇温抑制制御を行うことを防止することができる。ここで、昇温抑制制御を実行しても取得触媒温度Tcが第1しきい値T1以上に上昇してしまう場合とは、例えばエンジンが比較的大きく加速している場合が挙げられる。逆にそのような状態にない場合には、昇温抑制制御の実行により取得触媒温度Tcが第1しきい値T1の近傍に止まり続ける可能性が大きい。そこで本実施形態では、所定の付加条件ないし加重条件を設け、取得触媒温度Tcが第1しきい値T1の近傍にあり、且つエンジン負荷が所定値例えば30未満であるこれが付加条件である場合に限って、昇温抑制制御を実行する。これにより、昇温抑制制御の実行により取得触媒温度Tcを第1しきい値T1の近傍に止めておくことができる。他方、これら条件のうちいずれか一方を満たさない場合には昇温抑制制御を停止する。特に、取得触媒温度Tcが第1しきい値T1の近傍にあってもエンジン負荷が所定値未満にない場合には昇温抑制制御を停止する。この場合、エンジンの加速等によりエンジン負荷が比較的大きくなっており、昇温抑制制御の実行によっても取得触媒温度Tcを第1しきい値T1の近傍に止めておくのは困難と考えられる。逆にこの場合には、昇温抑制制御による昇温抑制を断念し、むしろ取得触媒温度Tcが第2しきい値T2以上に上昇するのを待つ方が得策である。このように、取得触媒温度Tcが第1しきい値T1の近傍にあるとき、昇温抑制が可能な条件下に限って昇温抑制制御を実行するので、制御の最適化が図れる。なお、付加条件については他にも様々な例が可能である。ここで、昇温抑制制御は、次の制御のうちの少なくとも一つからなる。a点火時期の進角制御。点火時期を進角すると燃焼タイミングが早まるので、燃焼室内のガスの熱がより多くエンジンブロックに奪われるようになり、排気温度の上昇が抑制される。bEGR装置がある場合、EGR量の増量制御。EGR量を増量すると燃焼が緩慢になり、排気温度の上昇が抑制される。c排気バルブタイミング可変装置がある場合、排気バルブタイミングの遅角遅開き制御。排気バルブを遅開きさせると燃焼室内の排気ガスの熱がより多くエンジンブロックに奪われるようになり、排気温度の上昇が抑制される。d電気モータを別の動力源として備えるハイブリッドシステムないし車両の場合、モータアシスト率の増大制御。モータアシスト率を増大した分エンジン負荷が減少し、排気温度の上昇が抑制される。e水冷式排気マニホールドを備える場合、排気マニホールドの冷却効率を増大する制御。これにより排気ガスの熱がより多く排気マニホールドに奪われ、排気温度の上昇が抑制される。また、昇温抑制制御において、取得触媒温度Tcが第1しきい値T1の近傍に保持されるよう、昇温抑制量を、取得触媒温度Tcとエンジン負荷の少なくとも一方に応じてフィードバック補正してもよい。次に、ECU20が実行するルーチンを説明する。まず、酸素吸蔵容量OSCの計測と触媒正異常判定を含む診断のメインルーチンを図11を参照して説明する。このルーチンはECU20により所定の演算周期例えば16msec毎に繰り返し実行される。なお、後述の計測フラグはイグニッションスイッチIGのオンと同時に初期化され、オフとされる。まずステップS101において、診断を実行するための所定の前提条件が成立しているか否かが判断される。例えば次の各条件1~5が全て成立した場合に前提条件が成立する。1エンジンが暖機状態にある。2上流触媒11および下流触媒19が暖機状態にある。3触媒前センサ17および触媒後センサ18が活性状態にある。4エンジンが定常運転状態にある。5現トリップ中の診断が未完了である。条件1の成否は図示しない水温センサの検出値に基づき判断され、例えば当該検出値が75°C以上だと条件成立となる。条件2の成否は別途推定した各触媒の温度に基づき判断される。条件3の成否は各センサの素子インピーダンスに基づき判断される。条件4の成否は、例えば吸入空気量Ga及びエンジン回転数Neの所定期間内における変動幅が所定範囲内に収まっているか否かによって判断される。条件5については、エンジンの1トリップ中に1回、診断を実施するようにしており、現トリップ中の診断が未完了である場合に限って診断を実施する。なお前提条件についてはこれ以外の例も可能である。前提条件が成立していない場合にはルーチンが終了され、前提条件が成立している場合にはステップS102に進む。ステップS102では、禁止フラグがオフか否かが判断される。詳しくは図12を参照して後述するが、禁止フラグは診断を禁止するためのフラグである。禁止フラグがオフでないオンである場合、ステップS104に進んで計測フラグがオフされ、ルーチンが終了される。後に理解されるが、計測フラグは、酸素吸蔵容量OSCの計測中実質的には診断実行中にオンされ、それ以外のときにオフされるフラグである。他方、禁止フラグがオフである場合には、ステップS103に進んで計測フラグがオンされ、ステップS105でアクティブ空燃比制御が実行され、酸素吸蔵容量OSCが計測される。なお前述したように、ここでいう酸素吸蔵容量OSCとは、放出酸素量と吸蔵酸素量の複数の計測値の平均値を意味する。そしてステップS106において、酸素吸蔵容量OSCの計測が完了したか否かが判断される。完了してなければルーチンが終了され、完了した場合にはステップS107において計測フラグがオフされる。次いでステップS108において、酸素吸蔵容量OSCの計測値が所定の異常判定値αと比較される。酸素吸蔵容量OSCの計測値が異常判定値αより大きいときには、ステップS109において上流触媒11は正常と判定される。他方、酸素吸蔵容量OSCの計測値が異常判定値α以下のときには、ステップS110において上流触媒11は異常と判定される。次に、診断の許可禁止に関する禁止フラグのオンオフ処理のルーチンを図12を参照して説明する。このルーチンもECU20により所定の演算周期例えば16msec毎に繰り返し実行される。なお、後述の禁止フラグ、第2領域判定フラグR2フラグというおよび第3領域判定フラグR3フラグというは、イグニッションスイッチIGのオンと同時に初期化され、オフとされる。まずステップS201において、別ルーチンで常時演算されているS蓄積量Wの値が取得される。そしてステップS202において、取得S蓄積量Wに対応した第1および第2しきい値T1,T2が、図8に示したようなマップから算出される。次いでステップS203では、別ルーチンで常時演算されている触媒温度Tcの値が取得され、この取得触媒温度Tcが第1しきい値T1と比較される。取得触媒温度Tcが第1しきい値T1未満の場合、ステップS204でR2フラグがオンか否かが判断される。R2フラグがオンの場合、ステップS205でR3フラグがオンか否かが判断される。R3フラグがオンの場合、ステップS206で禁止フラグがオフされる。禁止フラグがオフであると、図11のステップS102がイエスとなり、酸素吸蔵容量OSCの計測が許容され、診断は許可状態となる。ステップS204でR2フラグがオフの場合、ステップS206に直接進んで禁止フラグがオフされる。ステップS205でR2フラグがオフの場合、ステップS209に進んで禁止フラグがオンされる。禁止フラグがオンされると、図11のステップS102がノーとなり、酸素吸蔵容量OSCの計測が禁止され、診断は禁止状態となる。ステップS203で取得触媒温度Tcが第1しきい値T1以上の場合、ステップS207に進んで、取得触媒温度Tcが第1しきい値T1以上で且つ第2しきい値未満か否かが判断される。この判断結果がイエスの場合、ステップS208でR2フラグがオンされ、ステップS205に進む。R2フラグは、一旦オンされると、次にIGオンされるまでオンのまま保持される。これから分かるように、R2フラグは、取得触媒温度Tcが第1しきい値T1以上で且つ第2しきい値未満になった履歴すなわち第2領域IIに入った履歴の有無を示すフラグであり、履歴有りの場合にオン、履歴無しの場合にオフとなるフラグである。ステップS207の判断結果がノーの場合、これは取得触媒温度Tcが第2しきい値T2以上であることを意味する。この場合、ステップS210に進んでR3フラグがオンされ、ステップS211で禁止フラグがオフされる。R3フラグも、一旦オンされると、次にIGオンされるまでオンのまま保持される。これから分かるように、R3フラグは、取得触媒温度Tcが第2しきい値以上になった履歴すなわち第3領域IIIに入った履歴の有無を示すフラグであり、履歴有りの場合にオン、履歴無しの場合にオフとなるフラグである。次に、昇温抑制制御のルーチンを図13を参照して説明する。このルーチンもECU20により所定の演算周期例えば16msec毎に繰り返し実行される。ステップS301では、計測フラグがオンか否かが判断される。前述したように、計測フラグは、図11のステップS103で、酸素吸蔵容量OSCの計測中にオンされる。オフの場合ルーチンが終了され、オンの場合にはステップS302に進む。ステップS302では、取得触媒温度Tcが第1しきい値T1未満で且つ第1しきい値T1の近傍にあるか否か、すなわち、取得触媒温度Tcが開始値T1’以上で且つ第1しきい値T1未満の温度域にあるか否かが判断される。判断結果がノーの場合ルーチンが終了され、判断結果がイエスの場合ステップS303に進む。ステップS303では、所定の付加条件が成立しているか否かが判断される。すなわち、エンジン負荷が所定値例えば30未満であるか否かが判断される。付加条件が成立している場合にはステップS304で昇温抑制制御が実行される。他方、付加条件が成立していない場合にはルーチンが終了される。ステップS304で昇温抑制制御が実行されない場合、これは実質的に昇温抑制制御の停止を意味する。これらルーチンによれば次の如き作動が実現される。まず図9のパターンiに示すように、最初に取得触媒温度Tcが第1領域Iにあるときには、R2フラグもR3フラグもオフであるから、図12のステップS204からステップS206に直接進んで禁止フラグがオフされる。すると図11において、ステップS102がイエスとなり、ステップS103で計測フラグがオンされ、ステップS105~S110が実行される。すなわち診断許可状態となる。このとき、取得触媒温度Tcが開始値T1’と第1しきい値T1の間にあり、且つ付加条件が成立すると、図13のステップS301,S302,S303がいずれもイエスとなり、ステップS304で昇温抑制制御が実行される。次いで取得触媒温度Tcが上昇し、第2領域IIに入ると、図12のステップS208でR2フラグがオンされる。この場合、R3フラグはまだオフであるから、ステップS205からステップS209に進んで禁止フラグがオンされる。図11においてステップS102がノーとなり、ステップS104で計測フラグがオフされ、ステップS105~S110が実行不可能、すなわち診断禁止状態となる。そして計測フラグがオフなので、図13のステップS301がノーとなり、昇温抑制制御が停止される。次いで取得触媒温度Tcがさらに上昇し、第3領域IIIに入ると、図12のステップS210でR3フラグがオンされ、ステップS211で禁止フラグがオフされる。これにより診断許可状態となる。他方、図9のパターンiiiに示すように、取得触媒温度Tcが第3領域IIIから低下して第2領域IIに戻ると、図12のステップS208でR2フラグがオンされ、R3フラグが既にオンであることから、ステップS205からステップS206に進んで禁止フラグがオフされ、診断許可状態となる。次いで、取得触媒温度Tcがさらに低下して第2領域IIから第1領域Iに戻ると、既にR2フラグもR3フラグもオンであることから、ステップS204,S205がいずれもイエスとなり、S206で禁止フラグがオフされ、診断許可状態となる。他方、図9のパターンiiに示すように、取得触媒温度Tcが第2領域IIから低下して第1領域Iに戻ると、R2フラグが既にオンであり、R3フラグはオフであることから、ステップS204がイエス、ステップS205がノーとなって、ステップS209に進んで禁止フラグがオンされ、診断禁止状態となる。なお、酸素吸蔵容量OSCの計測中に禁止フラグがオフからオンに切り替わり、計測が途中で中断される場合がある。この場合、既に計測した計測値をECU20に記憶し、次回の計測時にそれを利用することが可能である。つまり診断を保留し、次回の診断時に既に取得した計測データを再利用することが可能である。ところで、上記の診断において、診断禁止中に、排気ガスの温度を上昇させるための昇温制御を実行するのが好ましい。上述したように、一旦第2領域IIに入って診断が禁止されると、その後第3領域IIIに入らない限り診断禁止状態が維持される。これは診断頻度確保の観点からは不利である。そこで、診断禁止中に昇温制御を実行するのが好ましい。これにより、診断禁止中に触媒温度を上昇させ、第3領域IIIへの進入、さらには診断禁止状態の早期解除あるいは診断の早期許可を促すことができる。そして診断頻度を有利に確保することが可能である。昇温制御は、前記昇温抑制制御とは逆の制御である。すなわち昇温制御は、次の制御のうちの少なくとも一つからなる。a’点火時期の遅角制御。点火時期を遅角すると燃焼タイミングが遅れるので、燃焼室内のガスの熱がエンジンブロックに奪われ難くなり、排気温度が上昇する。b’EGR装置がある場合、EGR量の減量制御。EGR量を減量すると燃焼が活発になり、排気温度が上昇する。c’排気バルブタイミング可変装置がある場合、排気バルブタイミングの進角早開き制御。排気バルブを早開きさせると燃焼室内の排気ガスの熱がエンジンブロックにあまり奪われない状態で排気ガスが排出されるようになり、排気温度が上昇する。d’電気モータを別の動力源として備えるハイブリッドシステムないし車両の場合、モータアシスト率の減少制御。モータアシスト率を減少した分エンジン負荷が増大し、排気温度が上昇する。e’水冷式排気マニホールドを備える場合、排気マニホールドの冷却効率を減少する制御。これにより排気ガスの熱がより排気マニホールドに奪われ難くなり、排気温度が上昇する。昇温制御のルーチンを図14を参照して説明する。このルーチンもECU20により所定の演算周期例えば16msec毎に繰り返し実行される。ステップS401では、禁止フラグがオンか否かが判断される。オフの場合ルーチンが終了され、オンの場合にはステップS402に進んで昇温抑制制御が実行される。これにより、診断禁止中に昇温制御が実行され、第3領域IIIへの進入さらには診断禁止状態の早期解除を促進することが可能である。なお、この診断禁止中の昇温制御は、診断禁止後に第3領域IIIに入った履歴があるときに限って診断を許可する場合のみならず、任意の場合の診断禁止中に実行可能である。少なくともS被毒の早期解消が図れるからである。以上、本発明の実施形態について詳細に述べたが、本発明の実施形態は他にも様々なものが考えられる。例えば内燃機関の用途や形式等は任意であり、自動車用以外であってもよいし、直噴式等であってもよい。触媒の診断に際しては酸素吸蔵容量以外の値を用いて診断を行うことが可能であり、例えば触媒後センサ出力の軌跡長や面積を用いることが可能である。前記実施形態で示した数値はあくまで一例であり、他の値に変更可能である。本発明には、特許請求の範囲によって規定される本発明の思想に包含されるあらゆる変形例や応用例、均等物が含まれる。従って本発明は、限定的に解釈されるべきではなく、本発明の思想の範囲内に帰属する他の任意の技術にも適用することが可能である。"