(57)【特許請求の範囲】
【請求項１】
排気系に触媒が設けられた内燃機関の吸入空気量を制御する吸入空気量制御手段と、前記機関の点火時期を制御する点火時期制御手段と、前記機関の冷間始動後吸入空気量を増量すると共に前記点火時期を前記機関の回転数に応じて遅角する触媒昇温手段とを有する内燃機関の制御装置において、
前記触媒の温度を検出する触媒温度検出手段と、
前記機関の始動後の経過時間または吸入空気量の積算値に応じて前記触媒の温度を推定する触媒温度推定手段と、
前記触媒温度検出手段により検出された触媒温度及び前記触媒温度推定手段により推定された触媒温度に応じて触媒昇温手段の故障を診断する故障診断手段とを備えたことを特徴とする内燃機関の制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、排気浄化用の触媒の昇温を促進する触媒昇温促進制御を実行する内燃機関の制御装置に関し、特に触媒昇温促進制御が正常に実行されない故障を診断する機能を有するものに関する。
【０００２】
【従来の技術】
内燃機関の排気系に設けられる排気浄化用の触媒は、低温では不活性状態にあり浄化作用を発揮しないため、機関始動直後においては早期にその温度を上昇させて活性化させることが望ましい。そこで、始動直後において内燃機関の吸入空気量を通常のアイドル時よりも増加させるとともに、機関回転数（回転速度）が目標回転数と一致するように、点火時期を遅角方向にフィードバック制御する手法が従来より知られている（特開平１０−２９９６３１号公報）。この手法によれば、吸入空気量の増量にともなって燃料供給量も増加し、通常のアイドル時に比べて発熱量が増加して、触媒の昇温を促進することができる。
【０００３】
【発明が解決しようとする課題】
しかしながら、上記従来の装置では、吸入空気量の増量や点火時期の遅角方向への変更が、制御装置からの指令通りに実行されないような故障については考慮されていない。そのため、そのような故障が発生した場合に、運転者が気づくのが遅れ始動直後における排気特性を悪化させるおそれがあった。
【０００４】
本発明はこの点に着目してなされたものであり、吸入空気量の増量と点火時期の遅角制御とを組み合わせた触媒の昇温促進制御を実行する場合において、その昇温促進制御の不具合を早期に診断して、排気特性の悪化を最小限に抑制することができる内燃機関の制御装置を提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記目的を達成するため請求項１に記載の発明は、排気系に触媒が設けられた内燃機関の吸入空気量を制御する吸入空気量制御手段と、前記機関の点火時期を制御する点火時期制御手段と、前記機関の冷間始動後吸入空気量を増量すると共に前記点火時期を前記機関の回転数に応じて遅角する触媒昇温手段とを有する内燃機関の制御装置において、前記触媒の温度を検出する触媒温度検出手段と、前記機関の始動後の経過時間または吸入空気量の積算値に応じて前記触媒の温度を推定する触媒温度推定手段と、前記触媒温度検出手段により検出された触媒温度及び前記触媒温度推定手段により推定された触媒温度に応じて触媒昇温手段の故障を診断する故障診断手段とを備えたことを特徴とする。
【０００６】
この構成によれば、触媒温度検出手段により検出された触媒温度及び触媒温度推定手段により、機関始動後の経過時間または吸入空気量の積算値に応じて推定された触媒温度に応じて触媒昇温手段の故障が診断されるので、触媒昇温手段の不具合を早期に診断して、排気特性の悪化を最小限に抑制することができる。
【０００７】
【発明の実施の形態】
以下本発明の実施の形態を図面を参照して説明する。
図１は、本発明の一実施形態にかかる内燃機関（以下「エンジン」という）及びその制御装置の構成を示す図であり、例えば４気筒のエンジン１の吸気管２の途中にはスロットル弁３が配されている。スロットル弁３にはスロットル弁開度（θＴＨ）センサ４が連結されており、当該スロットル弁３の開度に応じた電気信号を出力して電子コントロールユニット（以下「ＥＣＵ」という）５に供給する。
【０００８】
吸気管２にはスロットル弁３をバイパスする補助空気通路１７が接続されており、補助空気通路１７の途中には補助空気量を制御する補助空気制御弁１８が設けられている。補助空気制御弁１８は、ＥＣＵ５に接続されており、ＥＣＵ５によりその開弁量が制御される。
【０００９】
燃料噴射弁６は吸気管２内に燃料を噴射するように各気筒毎に設けられており、各噴射弁は図示しない燃料ポンプに接続されていると共にＥＣＵ５に電気的に接続されてＥＣＵ５からの信号により燃料噴射弁６の開弁時間が制御される。
一方、スロットル弁３の直ぐ下流には吸気管内絶対圧（ＰＢＡ）センサ７が設けられており、この絶対圧センサ７により電気信号に変換された絶対圧信号はＥＣＵ５に供給される。また、その下流には吸気温（ＴＡ)センサ８が取付けられており、吸気温ＴＡを検出して対応する電気信号を出力してＥＣＵ５に供給する。
【００１０】
エンジン１の本体に装着されたエンジン水温（ＴＷ）センサ９はサーミスタ等から成り、エンジン水温（冷却水温）ＴＷを検出して対応する温度信号を出力してＥＣＵ５に供給する。
ＥＣＵ５には、エンジン１のクランク軸（図示せず）の回転角度を検出するクランク角度位置センサ１０が接続されており、クランク軸の回転角度に応じた信号がＥＣＵ５に供給される。クランク角度位置センサ１０は、エンジン１の特定の気筒の所定クランク角度位置で信号パルス（以下「ＣＹＬ信号パルス」という）を出力する気筒判別センサ、各気筒の吸入行程開始時の上死点（ＴＤＣ）に関し所定クランク角度前のクランク角度位置で（４気筒エンジンではクランク角１８０度毎に）ＴＤＣ信号パルスを出力するＴＤＣセンサ及びＴＤＣ信号パルスより短い一定クランク角周期（例えば３０度周期）で１パルス（以下「ＣＲＫ信号パルス」という）を発生するＣＲＫセンサから成り、ＣＹＬ信号パルス、ＴＤＣ信号パルス及びＣＲＫ信号パルスがＥＣＵ５に供給される。これらの信号パルスは、燃料噴射時期、点火時期等の各種タイミング制御及びエンジン回転数（エンジン回転速度）ＮＥの検出に使用される。
【００１１】
エンジン１の各気筒毎に設けられた点火プラグ１１は、ＥＣＵ５に接続されており、点火プラグ１１の駆動信号、すなわち点火信号がＥＣＵ５から供給される。
三元触媒１６はエンジン１の排気管１２に配置されており、排気ガス中のＨＣ，ＣＯ，ＮＯｘ等の成分の浄化を行う。排気管１２の三元触媒１６の上流側には、比例型空燃比センサ１４（以下「ＬＡＦセンサ１４」という）が装着されており、このＬＡＦセンサ１４は排気ガス中の酸素濃度（空燃比）にほぼ比例する検出信号を出力しＥＣＵ５に供給する。三元触媒１６には、触媒の温度ＴＣＡＴを検出する触媒温度検出手段としての触媒温度センサ１９が設けられており、その検出信号がＥＣＵ５に供給される。
【００１２】
ＥＣＵ５には、エンジン１によって駆動される車両の走行速度（車速）ＶＰを検出する車速センサ２１、大気圧ＰＡを検出する大気圧センサ２２及び当該車両の自動変速機のシフト位置を検出するシフト位置センサ２３が接続されており、これらのセンサの検出信号がＥＣＵ５に供給される。
【００１３】
ＥＣＵ５は、各種センサからの入力信号波形を整形し、電圧レベルを所定レベルに修正し、アナログ信号値をデジタル信号値に変換する等の機能を有する入力回路５ａ、中央演算処理回路（以下「ＣＰＵ」という）５ｂ、該ＣＰＵ５ｂで実行される各種演算プログラム及び演算結果等を記憶する記憶手段５ｃ、前記燃料噴射弁６、点火プラグ１１などに駆動信号を供給する出力回路５ｄ等から構成される。
【００１４】
ＣＰＵ５ｂは、上述の各種エンジンパラメータ信号に基づいて、種々のエンジン運転状態を判別するとともに、該判別されたエンジン運転状態に応じて、次式（１）に基づき、ＴＤＣ信号パルスに同期して開弁作動する燃料噴射弁６による燃料噴射時間ＴＯＵＴを演算する。
ＴＯＵＴ＝ＴＩ×ＫＣＭＤ×ＫＬＡＦ×Ｋ１＋Ｋ２…（１）
ここに、ＴＩは燃料噴射弁６の基本燃料噴射時間であり、エンジン回転数ＮＥ及び吸気管内絶対圧ＰＢＡに応じて設定されたＴＩマップを検索して決定される。ＴＩマップは、マップ上のエンジン回転数ＮＥ及び吸気管内絶対圧ＰＢＡに対応する運転状態において、エンジン１に供給される混合気の空燃比がほぼ理論空燃比になるように設定されている。したがって、基本燃料噴射時間ＴＩは、単位時間当たりの吸入空気量に比例する値を有し、これを積算することにより、後述する積算吸入空気量パラメータＧＡＩＲＳＵＭを得ることができる。
【００１５】
ＫＣＭＤは目標空燃比係数であり、エンジン回転数ＮＥ、吸気管内絶対圧ＰＢＡ、エンジン水温ＴＷ等のエンジン運転パラメータに応じて設定される。目標空燃比係数ＫＣＭＤは、空燃比Ａ／Ｆの逆数、すなわち燃空比Ｆ／Ａに比例し、理論空燃比のとき値１．０をとるので、目標当量比ともいう。
ＫＬＡＦは、ＬＡＦセンサ１４の検出値から算出される検出当量比ＫＡＣＴが目標当量比ＫＣＭＤに一致するようにＰＩＤ制御により算出される空燃比補正係数である。
【００１６】
ＣＰＵ５ｂはさらに、下記式（２）により点火時期ＩＧＬＯＧを算出する。
ＩＧＬＯＧ＝ＩＧＭＡＰ＋ＩＧＣＲ＋ＩＧＦＰＩ      （２）
ここで、ＩＧＭＡＰは、エンジン回転数ＮＥ及び吸気管内絶対圧ＰＢＡに応じて設定されたＩＧマップを検索して得られる点火時期の基本値、すなわち上死点からの進角量で示される点火時期である。またＩＧＦＰＩは、後述するようにエンジン１の暖機運転中の急速暖機リタード制御実行時においてエンジン回転数ＮＥが目標回転数ＮＥＦＩＲと一致するように負の値に設定される遅角補正項であり、ＩＧＣＲは、遅角補正項ＩＧＦＰＩ以外の補正項である。（ＩＧＭＡＰ＋ＩＧＣＲ）が、急速暖機リタード制御を実行しない通常制御時の点火時期に相当する。なお、以下の説明では、急速暖機リタード制御を実行する運転モードを「ＦＩＲＥモード」という。
【００１７】
ＣＰＵ５ｂは上述のようにして求めた燃料噴射時間ＴＯＵＴに基づいて，燃料噴射弁６を駆動する信号を燃料噴射弁６に供給するとともに、点火時期ＩＧＬＯＧに基づいて点火プラグ１１を駆動する信号を点火プラグ１１に供給する。さらにＣＰＵ５ｂは、エンジン運転状態に応じて補助空気制御弁１８の開弁量を制御するための開弁制御量ＩＣＭＤを算出し、開弁制御量ＩＣＭＤに応じた駆動信号を補助空気制御弁１８に供給する。ＣＰＵ５ｂは、ＦＩＲＥモード（及びＦＩＲＥモード終了直後の過渡状態）においては、下記式（３）により開弁制御量ＩＣＭＤを算出する。補助空気制御弁１８を介してエンジン１の吸入される空気量は、この開弁制御量ＩＣＭＤに比例するように構成されている。
0003734653.tif 000002
【００１８】
ここで、ＩＦＩＲはＦＩＲＥモード時（及びＦＩＲＥモード終了直後の過渡状態のとき）に使用されるＦＩＲＥモード制御項、ＩＬＯＡＤはエンジン１に加わる電気負荷、空調装置のコンプレッサ負荷、パワーステアリング負荷などのオンオフあるいは自動変速機がインギヤか否かに応じて設定される負荷補正項、ＫＩＰＡ及びＩＰＡは共に大気圧ＰＡに応じて設定される大気圧補正係数及び大気圧補正項である。
【００１９】
図２及び３は、ＦＩＲＥモード及びＦＩＲＥモード終了直後においてＦＩＲＥモード制御項ＩＦＩＲの算出を行うメインルーチンのフローチャートである。このルーチンは、ＣＰＵ５ｂにおいてＴＤＣ信号パルスの発生に同期して実行される。
【００２０】
ステップＳ１１では図５に示すＦＩＲＥモード判別処理を実行する。ＦＩＲＥモード判別処理では、ＦＩＲＥモードへの移行またはＦＩＲＥモードの継続を許可すること「１」で示すＦＩＲＥモードフラグＦＦＩＲＥＯＮの設定などの処理が行われる。
ステップＳ１２では、ＦＩＲＥモードフラグＦＦＩＲＥＯＮが「１」であるか否かを判別し、ＦＦＩＲＥＯＮ＝０であってＦＩＲＥモードへの移行またはＦＩＲＥモードの継続が許可されていないときは、ステップＳ２６（図３）に進み、ＦＦＩＲＥＯＮ＝１であってＦＩＲＥモードへの移行またはＦＩＲＥモードの継続が許可されているときは、ＦＩＲＥモード終了直後の過渡制御実行中であることを「１」で示す過渡制御フラグＦＦＩＲＱＵＩＴを「０」に設定し（ステップＳ１３）、図７に示すＩＦＩＲ算出サブルーチンを実行する（ステップＳ１４）。そして、ステップＳ１４で算出されたＦＩＲＥモード制御項ＩＦＩＲが、エンジン水温ＴＷに応じて設定されるエンジン水温制御項ＩＴＷ（エンジン水温制御項ＩＴＷは、ＦＩＲＥモード以外のアイドル運転中などにおいて補助空気制御弁１８の制御に使用される制御項である）から下限値設定用所定値ＤＩＦＩＲＬ（例えば空気量１００リットル／ｍｉｎに相当する値）を減算した下限値（ＩＴＷ−ＤＩＦＩＲＬ）以下か否かを判別し（ステップＳ１５）、ＩＦＩＲ＞ＩＴＷ−ＤＩＦＩＲＬであるときは、直ちに、またＩＦＩＲ≦ＩＴＷ−ＤＩＦＩＲＬであるときは、ＦＩＲＥモード制御項ＩＦＩＲをその下限値（ＩＴＷ−ＤＩＦＩＲＬ）に設定して（ステップＳ１６）、本処理を終了する。
【００２１】
図３のステップＳ２６では、エンジン水温制御項ＩＴＷが、上限初期値ＩＦＩＲＩＮＩＨ（例えば吸入空気量６００リットル／ｍｉｎ相当の値）より小さいか否かを判別し、ＩＴＷ＜ＩＦＩＲＩＮＩＨであるときは、図７のステップＳ６４で使用する初期値ＩＦＩＲＩＮＩをエンジン水温制御項ＩＴＷに設定する一方（ステップＳ２７）、ＩＴＷ≧ＩＦＩＲＩＮＩＨであるときは、初期値ＩＦＩＲＩＮＩを上限初期値ＩＦＩＲＩＮＩＨに設定する（ステップＳ２８）。
【００２２】
続くステップＳ２９では、図７のステップＳ６３で更新され、ステップＳ６５で使用される減算補正値ＩＦＩＲＤＥＣを「０」に設定し、次いで過渡制御フラグＦＦＩＲＱＵＩＴが「１」か否かを判別し（ステップＳ３１）、ＦＦＩＲＱＵＩＴ＝１であって過渡制御中は、直ちにステップＳ３５に進む。またＦＦＩＲＱＵＩＴ＝０であって過渡制御中でないときは、前回ＦＩＲＥモードフラグＦＦＩＲＥＯＮが「１」であったか否かを判別し（ステップＳ３２）、前回ＦＦＩＲＥＯＮ＝１であってＦＩＲＥモード終了直後であるときは、過渡制御フラグＦＦＩＲＱＵＩＴを「１」に設定して（ステップＳ３３）、ステップＳ３５に進む。
【００２３】
ステップＳ３２で前回ＦＦＩＲＥＯＮ＝０であったときは、図５のステップＳ５０でインクリメントされ、ＦＩＲＥモードの継続回数をカウントするＦＩＲＥモードオンカウンタＣＦＩＲＯＮを「０」に設定すると共に（ステップＳ３４）、過渡制御フラグＦＦＩＲＱＵＩＴを「０」に設定して（ステップＳ３９）、本処理を終了する。
【００２４】
ステップＳ３５では、点火時期ＩＧＬＯＧの遅角補正項ＩＧＦＰＩが、過渡制御の終了判定用閾値ＩＧＦＰＩＱＨ（例えば−３度）より大きいか否かを判別し、ＩＧＦＰＩ＞ＩＧＦＰＩＱＨであって遅角補正項ＩＧＦＰＩの絶対値が小さい（遅角量が小さい）ときは、過渡制御を終了すべく前記ステップＳ３９に進む。
【００２５】
ステップＳ３５でＩＧＦＰＩ≦ＩＧＦＰＩＱＨであるときは、エンジン水温ＴＷに応じて図４に示すＤＦＩＲＱＵテーブルを検索し、過渡制御減算値ＤＦＩＲＱＵを算出する（ステップＳ３６）。ＤＦＩＲＱＵテーブルは、エンジン水温ＴＷが増加するほど過渡制御減算値ＤＦＩＲＱＵが減少するように設定されており、同図中のＤＦＩＲＱＵｍａｘ，ＤＦＩＲＱＵｍｉｎ及びＴＷＤＦ０，ＴＷＤＦ１は、それぞれ例えば吸入空気量５リットル／ｍｉｎ相当の値，２リットル／ｍｉｎ相当の値、及び２８℃，６２℃に設定される。
【００２６】
続くステップＳ３７では、ＦＩＲＥモード制御項ＩＦＩＲを過渡制御減算値ＤＦＩＲＱＵだけデクリメントし、次いでＦＩＲＥモード制御項ＩＦＩＲがエンジン水温制御項ＩＴＷから下限値設定用所定値ＤＩＦＩＲＬを減算して得られる下限値以下か否かを判別し（ステップＳ３８）、ＩＦＩＲ＞ＩＴＷ−ＤＩＦＩＲＬであるときは直ちに、またＩＦＩＲ≦ＩＴＷ−ＤＩＦＩＲＬであるときは、前記ステップＳ３９を実行して、本処理を終了する。
【００２７】
以上のように図３に示す処理では、ＦＩＲＥモード制御項ＩＦＩＲの初期値ＩＦＩＲＩＮＩの設定（ステップＳ２６〜Ｓ２８）、ＦＩＲＥモード終了直後の過渡制御（ステップＳ３１〜Ｓ３８）、及び後述する制御で使用するパラメータの初期化（ステップＳ２９，Ｓ３４）が実行される。過渡制御により、ＦＩＲＥモードで増加した吸入空気量が、徐々に通常制御の値に戻される。
【００２８】
図５は、図２のステップＳ１１で実行されるＦＩＲＥモード判別処理のフローチャートであり、ステップＳ４１では、指定された故障が既に検知されているか否かを判別し、検知されていなければエンジン１が始動中（クランキング中）であるか否かを判別する（ステップＳ４２）。ステップＳ４１またはＳ４２の答が肯定（ＹＥＳ）のときは、エンジン水温ＴＷに応じて図６（ａ）に示すＴＦＩＲＥＮＤテーブルを検索し、後述するステップＳ４６で参照されるＦＩＲＥモード終了時間ＴＦＩＲＥＮＤを算出する（ステップＳ４３）。ＴＦＩＲＥＮＤテーブルは、エンジン水温ＴＷが高くなるほどＦＩＲＥモード終了時間ＴＦＩＲＥＮＤが短くなるように設定されており、図中のＴＦＩＲＥＮＤｍａｘ及びＴＦＩＲＥＮＤｍｉｎは、それぞれ例えば５０秒及び２秒に設定され、ＴＷ０及びＴＷ１はそれぞれ例えば−１０℃及び７５℃に設定される。
【００２９】
続くステップＳ４４では、ＦＩＲＥモードを終了すべきことを「１」で示す終了フラグＦＦＩＲＥＮＤを「０」に設定し、次いでＦＩＲＥモードフラグＦＦＩＲＥＯＮを「０」設定して（ステップＳ５６）、本処理を終了する。
ステップＳ４１及びＳ４２の答が共に否定（ＮＯ）であるときは、終了フラグＦＦＩＲＥＮＤが「１」であるか否かを判別し（ステップＳ４５）、ＦＦＩＲＥＮＤ＝１であるときは、直ちに前記ステップＳ５６に進む一方、ＦＦＩＲＥＮＤ＝０であるときは、始動完了時点（クランキング終了時点）からの経過時間を計測するアップカウントタイマＴＭ２０ＴＣＲの値がステップＳ４３で算出したＦＩＲＥモード終了時間ＴＦＩＲＥＮＤを越えたか否かを判別する（ステップＳ４６）。そして、ＴＭ２０ＴＣＲ＞ＴＦＩＲＥＮＤであるときは、ＦＩＲＥモードを終了させるべく終了フラグＦＦＩＲＥＮＤを「１」に設定して（ステップＳ４８）、前記ステップＳ５６に進む。
【００３０】
ステップＳ４６でＴＭ２０ＴＣＲ≦ＴＦＩＲＥＮＤであるときは、終了フラグＦＦＩＲＥＮＤを「０」に設定し（ステップＳ４７）、エンジン回転数ＮＥが所定下限回転数ＮＥＦＩＲＬ（例えば７００ｒｐｍ）以上か否かを判別する（ステップＳ４９）。ＮＥ＜ＮＥＦＩＲＬであるときは、前記ステップＳ５６に進み、ＮＥ≧ＮＥＦＩＲＬであるときは、ＦＩＲＥモードオンカウンタＣＦＩＲＯＮを「１」だけインクリメントし（ステップＳ５０）、カウンタＣＦＩＲＯＮの値に応じて図６（ｂ）に示すＫＭＦＩＲテーブルを検索し、図７の処理で使用する継続時間補正係数ＫＭＦＩＲを算出する（ステップＳ５１）。ＫＭＦＩＲテーブルは、カウンタＣＦＩＲＯＮの値が増加するにしたがって補正係数ＫＭＦＩＲが増加し、カウンタＣＦＩＲＯＮの値がさらに増加すると補正係数ＫＭＦＩＲが減少するように設定されており、図中のＫＭＦＩＲｍａｘ、ＫＭＦＩＲｍｉｎ及びｎ１は、例えばそれぞれ２．６２５，１．０及び２０００に設定される。
【００３１】
続くステップＳ５２では、吸気温ＴＡに応じて図６（ｃ）に示すＫＴＡＦＩＲテーブルを検索し、図７の処理で使用する吸気温補正係数ＫＴＡＦＩＲを算出する。ＫＴＡＦＩＲテーブルは、吸気温ＴＡが増加ほど補正係数ＫＴＡＦＩＲが増加するように設定されており、図中のＫＴＡＦＩＲｍａｘ、ＫＴＡＦＩＲｍｉｎ及びＴＡ０，ＴＡ１は、例えばそれぞれ２．０，１．０及び−１０℃、８０℃に設定される。
【００３２】
続くステップＳ５３では、車速ＶＰが所定車速ＶＦＩＲＨ（例えば５ｋｍ／ｈ）以上か否かを判別し、ＶＰ＜ＶＦＩＲＨであるときは、エンジン１がアイドル状態にあることを「１」で示すアイドルフラグＦＩＤＬＥが「１」であるか否かを判別する（ステップＳ５４）。そして、ＶＰ≧ＶＦＩＲＨであって車両走行中であるとき、またはＦＩＤＬＥ＝０であってアイドル状態でないときは、前記ステップＳ５６に進み、ＦＩＲＥモードフラグＦＦＩＲＥＯＮを「０」に設定する。一方、ＶＰ＜ＶＦＩＲＨでありかつエンジン１がアイドル状態にあるときは、ＦＩＲＥモードフラグＦＦＩＲＥＯＮを「１」に設定して（ステップＳ５５）、本処理を終了する。
【００３３】
図７は、図２のステップＳ１４におけるＩＦＩＲ算出サブルーチンのフローチャートであり、ステップＳ６１では、失火発生を検出しているか否かを判別する。失火発生は、クランク角３０°毎に発生するＣＲＫ信号パルスの発生間隔の変動に基づいて公知の手法で検出される。失火発生が検出されていないときは、点火時期ＩＧＬＯＧが、下限値ＩＧＬＧＧ（例えば−２０ｄｅｇ）にはりつき判定値ＩＧＦＩＲＤＥＣ（例えば１度）を加算した値以上か否かを判別する（ステップＳ６２）。そして、失火が発生しておらず且つＩＧＬＯＧ≧ＩＧＬＧＧ＋ＩＧＦＩＲＤＥＣであるときは直ちに、また失火発生検出時またはＩＧＬＯＧ＜ＩＧＬＧＧ＋ＩＧＦＩＲＤＥＣであって点火時期ＩＧＬＯＧが下限値ＩＧＬＧＧ近傍に張り付いているときは、後述するステップＳ６５で使用される減算補正値ＩＦＩＲＤＥＣ（＜０）を所定量ＤＩＦＩＲＤＥＣだけデクリメントして（ステップＳ６３）、ステップＳ６４に進む。
【００３４】
ステップＳ６４では、下記式（４）により、ＦＩＲＥモード制御項ＩＦＩＲの基本値ＩＦＩＲＢＳを算出する。
ＩＦＩＲＢＳ＝ＩＦＩＲＩＮＩ×（１＋（ＫＭＦＩＲ−１）×ＫＴＡＦＩＲ）
（４）
ここで、ＫＭＦＩＲ及びＫＴＡＦＩＲは、図５のステップＳ５１及びＳ５２で算出された継続時間補正係数及び吸気温補正係数であり、ＩＦＩＲＩＮＩは、図３のステップＳ２７またはＳ２８で設定される初期値である。継続時間補正係数ＫＭＦＩＲは、時間経過（カウント値ＣＦＩＲＯＮの増加）に伴って、図６（ｂ）に示すように変化するので、基本的には、吸入空気量は、ＦＩＲＥモードの開始時点から徐々に増加し、その後徐々に減少し、その後ほぼ一定の値を維持するように制御される（図１４（ａ）参照）。
【００３５】
続くステップＳ６５では、ステップＳ６４で算出した基本値ＩＦＩＲＢＳにステップＳ６３で更新される減算補正値ＩＦＩＲＤＥＣを加算することにより、ＦＩＲＥモード制御項ＩＦＩＲを算出する。減算補正値ＩＦＩＲＤＥＣ（＜０）を加算することにより、失火発生検出時または点火時期ＩＧＬＯＧの下限値貼り付き時は、吸入空気量が減少方向に補正され、未燃燃料の排出量が増加すること、または点火時期ＩＧＬＯＧの遅角補正が不能となる（エンジン回転数ＮＥを目標回転数ＮＥＦＩＲに一致させられなくなる）事態を回避することができる。
【００３６】
図８は、点火時期制御処理のフローチャートであり、この処理はＣＰＵ５ｂでＴＤＣ信号パルスの発生に同期して実行される。
ステップＳ７１では、エンジン回転数ＮＥ及び吸気管内絶対圧ＰＢＡに応じて基本点火時期ＩＧＭＡＰを算出し、次いで遅角補正項ＩＧＦＰＩ以外の補正項ＩＧＣＲを算出する（ステップＳ７２）。ステップＳ７３では、図９に示すフィードバック（ＦＢ）制御実施条件判断処理を実行する。この処理は、検出したエンジン回転数ＮＥがＦＩＲＥモード目標回転数ＮＥＦＩＲに一致するように点火時期を制御するフィードバック制御の実施条件を判定し、実施条件が成立するときフィードバック制御フラグＦＦＩＲＥＮＥＦＢを「１」に設定する。
【００３７】
ステップＳ７４では、フィードバック制御フラグＦＦＩＲＥＮＥＦＢが「１」であるか否かを判別し、ＦＦＩＲＥＮＥＦＢ＝０であるときは、遅角補正項ＩＧＦＰＩを「０」に設定する一方（ステップＳ７５）、ＦＦＩＲＥＮＥＦＢ＝１であって実施条件が成立するときは、エンジン回転数ＮＥに応じて遅角補正項ＩＧＦＰＩの設定を行うフィードバック制御を実行する（ステップＳ７６）。
ステップＳ７７では、前記式（２）により点火時期ＩＧＬＯＧを算出し、本処理を終了する。
【００３８】
図９は、図８のステップＳ７３において実行されるＦＢ制御実施条件判断処理のフローチャートである。ステップＳ９１では、ＦＩＲＥモードフラグＦＦＩＲＥＯＮが「１」であるか否かを判別し、ＦＦＩＲＥＯＮ＝０であってＦＩＲＥモードでないときは、過渡制御フラグＦＦＩＲＱＵＩＴが「１」であるか否かを判別する（ステップＳ１０３）。そして、ＦＦＩＲＱＵＩＴ＝０であって過渡制御中でもないときは、フィードバック制御フラグＦＦＩＲＥＮＥＦＢ及びフィードバック制御時の目標回転数を増加させないことを「１」で示す目標回転数フラグＦＮＯＥＮＥＦＩＲ（図１２，ステップＳ１３１参照）をともに「０」に設定して（ステップＳ１０５）、本処理を終了する。
【００３９】
ステップＳ１０３でＦＦＩＲＱＵＩＴ＝１であって過渡制御中であるときは、スロットル弁開度θＴＨが所定開度θＴＨＦＩＲ（例えば０．８８ｄｅｇ）以上か否かを判別する（ステップＳ１０４）。θＴＨ＜θＴＨＦＩＲであってスロットル弁がほぼ全閉状態にあるときは、直ちに本処理を終了し、θＴＨ≧θＴＨＦＩＲであるときは、前記ステップＳ１０５に進む。ステップＳ１０４から直ちに本処理を終了する場合には、ＦＩＲＥモードフラグＦＦＩＲＥＯＮ＝０であってもＦＦＩＲＥＮＥＦＢ＝１が維持され、フィードバック制御が継続される。
【００４０】
ステップＳ９１でＦＦＩＲＥＯＮ＝１であるときは、過渡制御フラグＦＦＩＲＱＵＩＴが「１」であるか否かを判別し（ステップＳ９２）、ＦＦＩＲＱＵＩＴ＝１であるときは、フィードバック制御フラグＦＦＩＲＥＮＥＦＢを「０」に設定して（ステップＳ９４）、ステップＳ９５に進む。またＦＦＩＲＱＵＩＴ＝０であるときは、フィードバック制御フラグＦＦＩＲＥＮＥＦＢが既に「１」に設定されているか否かを判別し（ステップＳ９３）、ＦＦＩＲＥＮＥＦＢ＝１であるときは直ちに本処理を終了し、ＦＦＩＲＥＮＥＦＢ＝０であるときは、ステップＳ９５に進む。
【００４１】
ステップＳ９５では、始動完了（クランキング終了）後の経過時間を計測するアップカウントタイマＴＭ０１ＡＣＲの値が所定時間Ｔ１ＳＴＦＩＲ（例えば１ｍｓｅｃ）以下か否かを判別し、ＴＭ０１ＡＣＲ≦Ｔ１ＳＴＦＩＲであって始動直後であるときは、フィードバック制御開始判定用加算値ＮＥＦＰＩＳＴ、目標回転数補正用加算値ＤＮＥＦＩＲ、及びフィードバック制御開始判定用カウント値ＣＦＮＥＦＢＳＴを、それぞれ第１の値ＮＥＦＰＩ１（例えば２００ｒｐｍ）、ＤＮＥＦ１（例えば１ｒｐｍ）及びＣＦＮＥＦＢ１（例えば２００）に設定する一方（ステップＳ９６）、ＴＭ０１ＡＣＲ＞Ｔ１ＳＴＦＩＲであるときは、フィードバック制御開始判定用加算値ＮＥＦＰＩＳＴ、目標回転数補正用加算値ＤＮＥＦＩＲ、及びフィードバック制御開始判定用カウント値ＣＦＮＥＦＢＳＴを、それぞれ第２の値ＮＥＦＰＩ２（例えば２００ｒｐｍ）、ＤＮＥＦ２（例えば１２ｒｐｍ）及びＣＦＮＥＦＢ２（例えば２）に設定する（ステップＳ９７）。
【００４２】
続くステップＳ９８では、エンジン回転数ＮＥが通常制御時の目標回転数ＮＯＢＪにフィードバック制御開始判定用加算値ＮＥＦＰＩＳＴを加算した値以上か否かを判別し、ＮＥ＜ＮＯＢＪ＋ＮＥＦＰＩＳＴであるときは、ＦＩＲＥモードオンカウンタＣＦＩＲＯＮの値がフィードバック制御開始判定用カウント値ＣＦＮＥＦＢＳＴ以上か否かを判別する（ステップＳ９９）。その結果、ステップＳ９８，Ｓ９９の答がともに否定（ＮＯ）であってエンジン回転数ＮＥが低く且つＦＩＲＥモード継続時間が短いときは、フィードバック制御を実行しないこととして直ちに本処理を終了する。
【００４３】
また、ステップＳ９８でＮＥ≧ＮＯＢＪ＋ＮＥＦＰＩＳＴであるときは、目標回転数フラグＦＮＯＥＮＥＦＩＲを「１」に設定し（ステップＳ１０１）、ステップＳ９９でＣＦＩＲＯＮ≧ＣＦＮＥＦＢＳＴであるときは、目標回転数フラグＦＮＯＥＮＥＦＩＲを「０」に設定して（ステップＳ１００）、ステップＳ１０２に進む。これにより、フィードバック制御開始時のエンジン回転数ＮＥが高いとき（ＮＥ≧ＮＯＢＪ＋ＮＥＦＰＩＳＴ）は、ＦＩＲＥモード目標回転数ＮＥＦＩＲの算出に使用される目標回転数加算値ＥＮＥＦＩＲが「０」に設定される（図１２及び図１０のステップＳ１１７，Ｓ１１８参照））。
ステップＳ１０２では、フィードバック制御フラグＦＦＩＲＥＮＥＦＢを「１」に設定するとともに、ＦＩＲＥモードオンカウンタＣＦＩＲＯＮの値を記憶値ＣＦＲＰＩＳＴとして記憶する。
【００４４】
図１０は、図８のステップＳ７６で実行されるフィードバック制御処理のフローチャートである。ステップＳ１１１では、目標回転数加算値ＥＮＥＦＩＲを設定する処理（図１２）を実行して、加算値ＥＮＥＦＩＲの設定を行う。
ステップＳ１１２では、自動変速機のシフト位置ＳＦＴがニュートラルＮまたはパーキングＰからドライブＤまたはリバースＲ（インギヤ状態）にまたはその逆に変化したか否かを判別し、変化したときは、ステップＳ１１５で参照されるダウンカウントタイマｔｍＩＮＧＦＩＲに所定時間ＴＩＮＧＦＩＲ（例えば３秒）を設定してスタートさせ（ステップＳ１１３）、フィードバック制御のＩ項ＩＩＧＦＩＲ及び遅角補正項ＩＧＦＰＩをともに前回値保持として（ステップＳ１１４）、本処理を終了する。
【００４５】
ステップＳ１１２でシフト位置の変化が無いときは、ステップＳ１１３でスタートしたタイマｔｍＩＮＧＦＩＲの値が「０」か否かを判別し（ステップＳ１１５）、ｔｍＩＮＧＦＩＲ＞０である間は、前記ステップＳ１１４に進む。ｔｍＩＮＧＦＩＲ＝０となると、シフト位置ＳＦＴがドライブＤまたはリバースＲ（インギヤ状態）か否かを判別し（ステップＳ１１６）、インギヤ状態でないときは、下記式（５）によりＦＩＲＥモード目標回転数ＮＥＦＩＲを算出して（ステップＳ１１７）、ステップＳ１２１に進む。
ＮＥＦＩＲ＝ＮＯＢＪ＋ＥＮＥＦＩＲ        （５）
ここでＮＯＢＪは、通常の（ＦＩＲＥモード以外の）アイドル状態における目標回転数であり、ＥＮＥＦＩＲは、ステップＳ１１１で算出される目標回転数加算値である。
【００４６】
ステップＳ１１６でシフト位置ＳＦＴがドライブＤまたはリバースＲであるとき、すなわちインギヤ状態のときは、下記式（６）によりＦＩＲＥモード目標回転数ＮＥＦＩＲを算出する（ステップＳ１１８）。
ＮＥＦＩＲ＝ＮＯＢＪ＋ＥＮＥＦＩＲ−ＤＮＥＦＩＲＤＲ    （６）
ここで、ＤＮＥＦＩＲＤＲは、例えば３００ｒｐｍに設定されるインギヤ時補正値である。
【００４７】
続くステップＳ１１９では、ＦＩＲＥモード目標回転数ＮＥＦＩＲが下限値ＮＥＩＧＦＩＲＬ（例えば７３０ｒｐｍ）以下か否かを判別し、ＮＥＦＩＲ＞ＮＥＩＧＦＩＲＬであるときは直ちに、またＮＥＦＩＲ≦ＮＥＩＧＦＩＲＬであるときは目標回転数ＮＥＦＩＲをその下限値ＮＥＩＧＦＩＲＬに設定して（ステップＳ１２０）、ステップＳ１２１に進む。
【００４８】
ステップＳ１２１では、点火時期ＩＧＬＯＧに応じて図１１に示すＫＩＩＧＦＩＲテーブルを検索し、積分項ゲインＫＩＩＧＦＩＲを算出する。ＫＩＩＧＦＩＲテーブルは、点火時期ＩＧＬＯＧが増加する（進角する）ほど積分項ゲインＫＩＩＧＦＩＲが増加するように設定されている。図１１においてＫＩＩＧＦＩＲｍａｘ，ＫＩＩＧＦＩＲｍｉｎ及びＩＧＬＯＧ１，ＩＧＬＯＧ２は、それぞれ例えば０．０６３，０．０１６及び−１０度、１２度に設定される。
【００４９】
続くステップＳ１２２では、エンジン回転数ＮＥ、ＦＩＲＥモード目標回転数ＮＥＦＩＲ及び積分項ゲインＫＩＩＧＦＩＲを下記式（７）に適用して、加算値ＩＩＧＦＴＭＰを算出する。
ＩＩＧＦＴＭＰ＝ＫＩＩＧＦＩＲ×（ＮＥＦＩＲ−ＮＥ）    （７）
続くステップＳ１２３では、積分項の前回値ＩＩＧＦＩＲ（ｎ−１）に加算値ＩＩＧＦＴＭＰを加算することにより積分項（今回値）ＩＩＧＦＩＲを算出し、次いで下記式（８）により比例項ＰＩＧＦＩＲを算出する（ステップＳ１２４）。
ＰＩＧＦＩＲ＝ＫＰＩＧＦＩＲ×（ＮＥＦＩＲ−ＮＥ）    （８）
【００５０】
次いで積分項ＩＩＧＦＩＲ及び比例項ＰＩＧＦＩＲを加算して遅角補正項ＩＧＦＰＩを算出し（ステップＳ１２５）、本処理を終了する。
以上のように図１０の処理により、エンジン回転数ＮＥがＦＩＲＥモード目標回転数ＮＥＦＩＲに一致するように遅角補正項ＩＧＦＩＲを算出するフィードバック制御が実行される。
【００５１】
図１２は、図１０のステップＳ１１１で実行されるＥＮＥＦＩＲ設定処理のフローチャートである。ステップＳ１３１では、目標回転数フラグＦＮＯＥＮＥＦＩＲが「１」であるか否かを判別し、ＦＮＯＥＮＥＦＩＲ＝１であって目標回転数を増加させないときは、目標回転数加算値ＥＮＥＦＩＲを「０」に設定して（ステップＳ１３４）、本処理を終了する。
【００５２】
ＦＮＯＥＮＥＦＩＲ＝０であるときは、下記式（９）により加算値ＥＮＥＦＩＲを算出する（ステップＳ１３２）。
0003734653.tif 000003
ここでＮＥＦＰＩＳＴ及びＤＮＥＦＩＲは、図９のステップＳ９６またはＳ９７で設定されるフィードバック制御開始判定用加算値及び目標回転数補正用加算値であり、ＣＦＩＲＯＮはＦＩＲＥモードオンカウンタの値、ＣＦＩＲＰＩＳＴは、図９のステップＳ１０２で記憶した記憶値である。すなわち、（ＣＦＩＲＯＮ−ＣＦＩＲＰＩＳＴ）は、フィードバック制御の開始時点からの経過時間に対応するカウント値である。したがって式（９）及び式（５）または（６）によりＦＩＲＥモード目標回転数ＮＥＦＩＲは、フィードバック制御開始当初は、（ＮＯＢＪ＋ＮＥＦＰＩＳＴ）に等しく、時間経過に伴って漸減し、最終的には通常の目標回転数ＮＯＢＪに一致するように設定される（図１４（ｃ）参照）。
続くステップＳ１３３では、加算値ＥＮＥＦＩＲが０以下か否かを判別し、ＥＮＥＦＩＲ≦０であるときは前記ステップＳ１３４に進み、ＥＮＥＦＩＲ＞０であるときは、直ちに本処理を終了する。
【００５３】
図１４は、上述した吸入空気量制御及び点火時期制御を説明するためのタイムチャートであり、同図（ａ）（ｂ）及び（ｃ）はそれぞれ補助空気制御弁１８の開弁制御量ＩＣＭＤ，点火時期ＩＧＬＯＧ及びエンジン回転数ＮＥの推移を示している。
【００５４】
図示例では、時刻ｔ０に始動（クランキング）を開始し、時刻ｔ１に自立運転を開始すると、直ちにＦＩＲＥモードに移行する。エンジン回転数ＮＥが増加し、時刻ｔ２において点火時期のフィードバック制御の実行条件が成立し、フィードバック制御が開始される。ＦＩＲＥモード目標回転数ＮＥＦＩＲは、上記したように当初は（ＮＯＢＪ＋ＮＥＦＰＩＳＴ）に等しく、その後通常制御の目標回転数ＮＯＢＪまで漸減される。
【００５５】
開弁制御量ＩＣＭＤは、ＦＩＲＥモードに移行すると徐々に増加させてから減少させるように制御される。時刻ｔ４にＦＩＲＥモードを終了した直後は、過渡制御により徐々に減少させるように制御される。
遅角補正項ＩＧＦＰＩは、同図（ｂ）に破線で示すように推移し、点火時期ＩＧＬＯＧは、通常制御値（ＩＧＭＡＰ＋ＩＧＣＲ）より遅角側に制御される。時刻ｔ３においてシフト位置ＳＦＴがニュートラルＮからインギヤ状態に移行すると、エンジン負荷が増加するため、遅角補正項ＩＧＦＰＩが増加し（遅角量が減少し）エンジンの出力トルクを増加させつつ、エンジン回転数ＮＥを目標回転数ＮＥＦＩＲ（＝ＮＯＢＪ）に維持するように制御される。時刻ｔ４以後は、徐々に通常制御値に移行するように制御される。
エンジン回転数ＮＥは、時刻ｔ２〜ｔ４の間は、フィードバック制御により目標回転数ＮＥＦＩＲに一致するように制御される。図示例では、時刻ｔ４の直後に当該車両が発進する場合を示しており、車速ＶＰが徐々に増加していく。
【００５６】
図１３は、ＦＩＲＥモードの動作が正常に実行されない故障を判定する故障判定処理のフローチャートであり、この処理は所定時間毎に、あるいはＴＤＣ信号パルスの発生に同期してＣＰＵ５ｂで実行される。
ステップＳ１４１では、始動モード、すなわちクランキング中であるか否かを判別し、クランキング中であるときは、始動後の吸入空気量の積算値に比例する積算吸入空気量パラメータＧＡＩＲＳＵＭを「０」に設定して（ステップＳ１４２）、本処理を終了する。また始動完了後であれば、下記式に前記式（１）の算出に使用される基本燃料噴射時間ＴＩを適用して積算吸入空気量パラメータＧＡＩＲＳＵＭの更新を行う（ステップＳ１４３）。前述したように基本燃料噴射時間ＴＩは、単位時間当たりに吸入空気量に比例するので、これを積算することにより、積算吸入空気量パラメータＧＡＩＲＳＵＭが得られる。
ＧＡＩＲＳＵＭ＝ＧＡＩＲＳＵＭ＋ＴＩ
【００５７】
次いでＦＩＲＥモードが終了したか否かを判別し（ステップＳ１４４）、ＦＩＲＥモード制御実行中は直ちに本処理を終了する。ＦＩＲＥモード制御が終了すると、積算吸入空気量パラメータＧＡＩＲＳＵＭが所定量ＧＡＩＲＲＥＦ以上か否か、すなわち始動後の積算吸入空気量が、ＦＩＲＥモード制御により三元触媒１６を活性化させる温度まで昇温させるのに必要な量に達したか否かを判別する（ステップＳ１４５）。その結果、ＧＡＩＲＳＵＭ＜ＧＡＩＲＲＥＦであるときは、直ちに本処理を終了し、ＧＡＩＲＳＵＭ≧ＧＡＩＲＲＥＦとなると、積算吸入空気量パラメータＧＡＩＲＳＵＭ＝ＧＡＩＲＲＥＦに対応する推定触媒温度ＴＣＡＴＲＥＦと検出した触媒温度ＴＣＡＴとの偏差（＝ＴＣＡＴＲＥＦ−ＴＣＡＴ）の絶対値が、所定偏差量ＤＴＣＡＴＲより大きいか否かを判別する（ステップＳ１４６）。そして、｜ＴＣＡＴＲＥＦ−ＴＣＡＴ｜≦ＤＴＣＡＴＲであるときは、ＦＩＲＥモード制御が正常に実行されたと判定し、ＦＩＲＥモードの動作が正常に行われない故障が発生していることを「１」で示す故障フラグＦＦＩＲＥＮＧを「０」に設定する一方（ステップＳ１４８）、｜ＴＣＡＴＲＥＦ−ＴＣＡＴ｜＞ＤＴＣＡＴＲであるときは、ＦＩＲＥモードの動作が正常に行われない故障が発生していると判定し、故障フラグＦＦＩＲＥＮＧを「１」に設定して（ステップＳ１４７）、本処理を終了する。
【００５８】
図１５は、積算吸入空気量パラメータＧＡＩＲＳＵＭと、触媒温度との関係を示す図であり、実線Ｌ１が積算吸入空気量パラメータＧＡＩＲＳＵＭに応じて推定される推定触媒温度を示し、実線Ｌ２がＦＩＲＥモードの動作が正常である場合の昇温特性の一例を示し、破線Ｌ３がＦＩＲＥモードの動作が正常に行われなかった場合の昇温特性の一例を示す。図１３の処理によれば、検出した触媒温度ＴＣＡＴが、ＧＡＩＲＳＵＭ＝ＧＡＩＲＲＥＦとなった時点で、図の正常範囲内に有るか否かが判別され、破線Ｌ３で示すような場合には、故障発生と判定される。その結果、例えば補助空気制御弁１８が開弁制御量ＩＣＭＤに対応した開弁動作を行わないといった故障を迅速に検出することができ、触媒の昇温促進制御の不具合を早期に診断して、排気特性の悪化を最小限に抑制することができる。
【００５９】
本実施形態では、補助空気通路１７及び補助空気制御弁１８が吸入空気量制御手段の一部を構成し、ＥＣＵ５が吸入空気量制御手段の一部、点火時期制御手段、触媒昇温手段、触媒温度推定手段及び故障診断手段を構成する。より具体的には、図２，３，５及び７の処理が吸入空気量制御手段に相当し、図８，９，１０及び１２の処理が点火時期制御手段に相当し、図７の処理及び図１０の処理が触媒昇温手段に相当し、図１３のステップＳ１４２、Ｓ１４３、Ｓ１４５及び推定触媒温度ＴＣＡＴＲＥＦの設定が触媒温度推定手段に相当し、図１３のステップＳ１４６，Ｓ１４７が故障診断手段に相当する。
【００６０】
なお本発明は上述した実施形態に限るものではなく、以下のように種々の変形が可能である。
（変形例１）
図１３のステップＳ１４６は、図１６に示すステップＳ１４６ａに代えてもよい。ステップＳ１４６ａでは、検出した触媒温度ＴＣＡＴが、推定下限温度ＴＣＡＴＲＥＦＬ（＝ＴＣＡＴＲＥＦ−ＤＴＣＡＴＲ）より低いか否かを判別し、ＴＣＡＴ＜ＴＣＡＴＲＥＦＬであるときは、故障が発生していると判定してステップＳ１４７に進み、ＴＣＡＴ≧ＴＣＡＴＲＥＦＬであるときは、正常と判定してステップＳ１４８に進む。
この変形例では、ステップＳ１４２、Ｓ１４３、Ｓ１４５及びステップＳ１４６ａの推定下限温度ＴＣＡＴＲＥＦＬの設定が触媒温度推定手段に相当し、図１３のステップＳ１４６ａ，Ｓ１４７が故障診断手段に相当する。
【００６１】
（変形例２）
図１３の処理は、図１７に示すように構成してもよい。図１７の処理は、図１３のステップＳ１４３を削除し、ステップＳ１４２、Ｓ１４５及びＳ１４６を、それぞれステップＳ１５１、Ｓ１４５ａ，Ｓ１４６ｂに代えたものである。
【００６２】
ステップＳ１５１では、ダウンカウントタイマｔｍＤＬＹに所定遅延時間ＴＤＬＹ（例えば３０秒）をセットしてスタートさせ、ステップＳ１４５ａでは、そのタイマｔｍＤＬＹの値が「０」か否かを判別する。ｔｍＤＬＹ＞０である間は、直ちに本処理を終了し、ｔｍＤＬＹ＝０となると、始動後所定遅延時間ＴＤＬＹ経過後の平均的な触媒温度に相当する推定触媒温度ＴＣＡＴＲＥＦＴと、検出した触媒温度ＴＣＡＴとの偏差（ＴＣＡＴＲＥＦＴ−ＴＣＡＴ）の絶対値が、所定偏差量ＤＴＣＡＴＲより大きいか否かを判別し（ステップＳ１４６ｂ）、｜ＴＣＡＴＲＥＦＴ−ＴＣＡＴ｜≦ＤＴＣＡＴＲであるときは、ＦＩＲＥモード制御が正常に実行されたと判定してステップＳ１４８に進む一方、｜ＴＣＡＴＲＥＦＴ−ＴＣＡＴ｜＞ＤＴＣＡＴＲであるときは、ＦＩＲＥモードの動作が正常に行われない故障が発生していると判定し、ステップＳ１４７に進む。
【００６３】
この変形例では、始動後の経過時間に応じて触媒温度を推定し、所定遅延時間ＴＤＬＹ経過後の推定触媒温度ＴＣＡＴＲＥＦＴを基準として故障診断が行われる。すなわち、この変形例では、ステップＳ１５１，Ｓ１４５ａ及び推定触媒温度ＴＣＡＴＲＥＦＴの設定が触媒温度推定手段に相当し、ステップＳ１４６ｂ，Ｓ１４７が故障診断手段に相当する。
【００６４】
（変形例３）
図１７の処理は、図１８に示すように構成してもよい。図１８の処理は、図１７のステップＳ１４５ａとＳ１４６ｂとを入れ替え、さらにステップＳ１４６ｂを図１６に示すステップＳ１４６ａに代えものである。すなわち、ステップＳ１４６ａでは、検出した触媒温度ＴＣＡＴが、推定下限温度ＴＣＡＴＲＥＦＬより高いか否かを判別し、ＴＣＡＴ≦ＴＣＡＴＲＥＦＬである間は直ちに本処理を終了し、ＴＣＡＴ＞ＴＣＡＴＲＥＦＬとなったときのタイマｔｍＤＬＹの値が「０」か否かを判別する（ステップＳ１４５ａ）。そして、ｔｍＤＬＹ＝０であるときは、故障発生と判定してステップＳ１４７に進み、ｔｍＤＬＹ＞０であるときは、正常と判定してステップＳ１４８に進む。
【００６５】
この変形例では、ステップＳ１５１，Ｓ１４６ａ及び推定下限温度ＴＣＡＴＲＥＦＬの設定が触媒温度推定手段に相当し、ステップＳ１４５ａ，Ｓ１４７が故障診断手段に相当する。
（その他の変形例）
上述した実施形態では、触媒温度センサ１９により触媒温度検出手段を構成したが、触媒温度センサ１９に代えて三元触媒１６の上流側で排気温度を検出する排気温センサを用いてもよい。
【００６６】
【発明の効果】
以上詳述したように本発明によれば、触媒温度検出手段により検出された触媒温度及び触媒温度推定手段により、機関始動後の経過時間または吸入空気量の積算値に応じて推定された触媒温度に応じて触媒昇温手段の故障が診断されるので、触媒昇温手段の不具合を早期に診断して、排気特性の悪化を最小限に抑制することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態にかかる内燃機関及びその制御装置の構成を示す図である。
【図２】補助空気制御弁の制御量（ＩＦＩＲ）を算出するメインルーチンのフローチャートである。
【図３】補助空気制御弁の制御量（ＩＦＩＲ）を算出するメインルーチンのフローチャートである。
【図４】図３の処理の使用するテーブルを示す図である。
【図５】触媒昇温促進制御を実行するか否かを判別する処理のフローチャートである。
【図６】図５の処理で使用するテーブルを示す図である。
【図７】補助空気制御弁の制御量（ＩＦＩＲ）を算出するサブルーチンのフローチャートである。
【図８】点火時期制御を実行するメインルーチンのフローチャートである。
【図９】点火時期のフィードバック制御の実施条件を判断する処理のフローチャートである。
【図１０】点火時期のフィードバック制御を実行する処理のフローチャートである。
【図１１】図１０の処理で使用するテーブルを示す図である。
【図１２】触媒昇温促進制御における目標エンジン回転数の加算値（ＥＮＥＦＩＲ）を設定する処理のフローチャートである。
【図１３】故障判定を行う処理のフローチャートである。
【図１４】触媒昇温促進制御実行時の動作を説明するためのタイムチャートである。
【図１５】積算吸入空気量パラメータ（ＧＡＩＲＳＵＭ）と、触媒温度との関係を示す図である。
【図１６】図１３の処理の変形例を説明するための図である。
【図１７】図１３の処理の変形例のフローチャートである。
【図１８】図１３の処理の変形例のフローチャートである。
【符号の説明】
１  内燃機関
２  吸気管
５  電子コントロールユニット（吸入空気量制御手段、点火時期制御手段、触媒昇温手段、触媒温度推定手段、故障診断手段）
１１  点火プラグ
１７  補助空気通路（吸入空気量制御手段）
１８  補助空気制御弁（吸入空気量制御手段）
１９  触媒温度センサ（触媒温度検出手段）
【図１】
0003734653.tif 000004
【図２】
0003734653.tif 000005
【図３】
0003734653.tif 000006
【図４】
0003734653.tif 000007
【図５】
0003734653.tif 000008
【図６】
0003734653.tif 000009
【図７】
0003734653.tif 000010
【図８】
0003734653.tif 000011
【図９】
0003734653.tif 000012
【図１０】
0003734653.tif 000013
【図１１】
0003734653.tif 000014
【図１２】
0003734653.tif 000015
【図１３】
0003734653.tif 000016
【図１４】
0003734653.tif 000017
【図１５】
0003734653.tif 000018
【図１６】
0003734653.tif 000019
【図１７】
0003734653.tif 000020
【図１８】
0003734653.tif 000021