(57)【特許請求の範囲】
【請求項１】
異なる周期毎にエンジン負荷を示す物理量の積算値を各々算出する複数の周期別積算値算出手段と、
周期毎の上記各積算値に基づき仮触媒活性レベルを設定する複数の周期別仮触媒活性レベル設定手段と、
周期毎に設定した上記各仮触媒活性レベルに基づき現在の触媒活性状態を判断する触媒活性判定手段とを備えることを特徴とするエンジンの触媒活性状態判別装置。
【請求項２】
前記各周期別仮触媒活性レベル設定手段は、算出された積算値に基づき、仮触媒活性レベルを不活性レベルと準活性レベルと活性レベルとの何れかに設定し、
前記触媒活性判定手段は、設定した各仮触媒活性レベルに基づき、現在の触媒活性状態が不活性状態と準活性状態と活性状態との何れであるかを判断することを特徴とする請求項１記載のエンジンの触媒活性状態判別装置。
【請求項３】
異なる周期毎にエンジン負荷を示す物理量の積算値を各々算出する複数の周期別積算値算出手段と、
周期毎の上記各積算値に基づき、触媒が活性か不活性かの仮触媒活性判定値を設定する周期別仮触媒活性判定値設定手段と、
周期毎に設定した上記各仮触媒活性判定値に基づき現在の触媒の状態が活性か不活性かを表わす触媒活性判定値を設定する触媒活性判定手段とを備えることを特徴とするエンジンの触媒活性状態判別装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、触媒の活性状態を触媒温度センサ等を用いることなく適正に判断することが可能なエンジンの触媒活性状態判別装置に関する。
【０００２】
【従来の技術】
従来、触媒が活性したか否かの判断は、主に触媒に臨ませた触媒温度センサの検出値に基づいて判断していた。すなわち、この触媒温度センサにより触媒層内を通過する排気ガスの温度を監視し、この排気ガス温度が予め実験などから求めて設定した触媒活性温度を越えたとき触媒活性と判断する。
【０００３】
しかし、触媒温度センサには、個体差があり、その影響で検出精度にばらつきが生じ易く、たとえ触媒活性温度と実際に計測した排気ガス温度とが一致しても、触媒が実際に活性しているとは限らない。又、触媒温度センサには経時劣化があり、活性状態を常時安定した状態で検出できるとは限らない。
【０００４】
そのため、例えば特開平６−１６７２１０号公報に開示されているように、触媒の上流に設けた酸素濃度センサ（以下「ＦＯ２センサ」）以外に、触媒の下流にも別の酸素濃度センサ（以下「ＲＯ２センサ」）を配設し、このＲＯ２センサの出力値ＶＲＯ２を所定時間計測し、そのときの出力値ＶＲＯ２の最大値と最小値とを求め、この最大値と最小値との差が所定値以下になったとき、触媒が活性したと判断する、いわゆるデュアルＯ２センサシステムを備えるものがある。
【０００５】
すなわち、触媒が不活性状態にあると、図２１（ａ）に破線で示すように、ＲＯ２センサの出力値ＶＲＯ２は、実線で示すＦＯ２センサの出力値ＶＦＯ２に対し、位相が若干遅れただけで、ほぼ同様の変化を示す。そして、触媒が活性すると、同図（ｂ）に示すように、ＲＯ２センサの出力値ＶＲＯ２は、変動幅の少ない緩やかな変化になる。上記デュアルＯ２センサシステムでは、ＲＯ２センサの出力変動幅を検出して触媒の活性状態を判断している。
【０００６】
【発明が解決しようとする課題】
ところで、上記デュアルＯ２センサシステムを備えるエンジンでは、触媒活性後のＲＯ２センサの出力変動に基づいて触媒の劣化等を診断している場合が多い。すなわち、触媒に劣化等が生じると触媒浄化能力が低下し、Ｏ２センサの出力値ＶＲＯ２が、ＦＯ２センサの出力値ＶＦＯ２に対し次第に近似する変化となる。
【０００７】
触媒劣化診断は触媒活性後のある診断条件が成立したときに行うが、触媒劣化診断に際し触媒に予測できない異常（触媒の割れ、過熱による急速な劣化等）が発生して、触媒浄化能力が急激に低下した場合、エンジン起動後、触媒が活性状態にあっても上記ＲＯ２センサの出力変動が所定範囲内に収まらなくなり、従って、触媒の活性状態が判別できず、その結果、触媒劣化診断を開始する診断条件が成立せず触媒劣化診断が不能となる。すなわち、触媒の活性状態が正確に判別できないと、触媒の劣化等の診断を正確に行うことができず、診断精度が低下してしまう問題がある。
【０００８】
本発明は、上記事情に鑑み、触媒の活性状態を簡単で、しかも精度良く検出することのできるエンジンの触媒活性状態判別装置を提供することを目的としている。
【０００９】
【課題を解決するための手段】
上記目的を達成するため請求項１記載の発明は、図１（ａ）の基本構成図に示すように、異なる周期毎にエンジン負荷を示す物理量の積算値を各々算出する複数の周期別積算値算出手段と、周期毎の上記各積算値に基づき仮触媒活性レベルを設定する複数の周期別仮触媒活性レベル設定手段と、周期毎に設定した上記各仮触媒活性レベルに基づき現在の触媒活性状態を判断する触媒活性判定手段とを備えることを特徴とする。
【００１０】
請求項２記載の発明は、前記請求項１記載の発明において、前記各周期別仮触媒活性レベル設定手段は、算出された積算値に基づき、仮触媒活性レベルを不活性レベルと準活性レベルと活性レベルとの何れかに設定し、前記触媒活性判定手段は、設定した各仮触媒活性レベルに基づき、現在の触媒活性状態が不活性状態と準活性状態と活性状態との何れであるかを判断することを特徴とする。
【００１１】
請求項３記載の発明は、図１（ｂ）の基本構成図に示すように、異なる周期毎にエンジン負荷を示す物理量の積算値を各々算出する複数の周期別積算値算出手段と、周期毎の上記各積算値に基づき、触媒が活性か不活性かの仮触媒活性判定値を設定する周期別仮触媒活性判定値設定手段と、周期毎に設定した上記各仮触媒活性判定値に基づき現在の触媒の状態が活性か不活性かを表わす触媒活性判定値を設定する触媒活性判定手段とを備えることを特徴とする。
【００１２】
すなわち、請求項１記載の発明では、エンジン負荷を示す物理量を、異なる周期毎に各々積算し、この各積算値に基づき仮触媒活性レベルを周期毎に設定する。そして、周期毎に設定した各仮触媒活性レベルに基づき現在の触媒の状態を判断し、その結果を空燃比制御、点火時期制御、或いは触媒劣化診断等に用いる。
【００１３】
請求項２記載の発明では、前記請求項１記載の発明において、周期毎に算出した各積算値に基づき、各仮触媒活性レベルを不活性レベルと準活性レベルと活性レベルとの何れかに設定し、これら各仮触媒活性レベルに基づき現在の触媒活性状態が不活性状態と準活性状態と活性状態との何れであるかを判断する。
【００１４】
請求項３記載の発明では、エンジン負荷を示す物理量を、異なる周期毎に各々積算し、この各積算値に基づき、触媒が活性か不活性かの仮触媒活性判定値を周期毎に設定し、この各仮触媒活性判定値に基づき現在の触媒の状態が活性か不活性かを表わす触媒活性判定値を設定し、空燃比制御、点火時期制御、或いは触媒劣化診断等に用いる。
【００１５】
【発明の実施の形態】
以下、図面に基づいて本発明の一実施の形態を説明する。図２〜図１３には本発明の第１実施の形態が示されている。先ず、図１２に基づいてエンジンの全体概略について説明する。本実施の形態で採用するエンジン１は、水平対向エンジンであり、シリンダヘッド２の気筒毎に設けた吸気ポート２ａと排気ポート２ｂとに、吸気マニホルド３と排気マニホルド４とが各々連通されている。
【００１６】
又、上記吸気マニホルド３の上流に吸気管５が連通され、一方、上記排気マニホルド４の下流に排気管６が連通され、その下流端にマフラ７が取付けられている。更に、上記排気管６の上流側集合部に、フロント触媒コンバータ８ａとリア触媒コンバータ８ｂとが介装されている。
【００１７】
又、上記吸気管５の上流の空気取入れ口側にエアークリーナ９が取付けられ、中途にスロットル弁１０が介装されている。更に、この吸気管５の上記スロットル弁１０の下流にエアーチャンバ１１が形成されている。
【００１８】
又、上記吸気管５には、上記スロットル弁１０をバイパスし該スロットル弁１０の上流と下流とを連通するバイパス通路１２が接続されており、このバイパス通路１２にＩＳＣ（アイドル回転数制御）弁１３が介装されている。更に、上記吸気マニホルド３の下流端に、インジェクタ１４が各気筒に対応して配設されている。又、上記シリンダヘッド２に、各気筒毎にその先端を燃焼室に露呈する点火プラグ１５ａが取付けられ、この点火プラグ１５ａに連設される点火コイル１５ｂがイグナイタ１６に接続されている。
【００１９】
次に、センサ類の配置について説明する。上記エンジン１のクランクシャフト１ｂに連設するクランクロータ２１に、このクランクロータ２１の外周に形成した突起を検出するクランク角センサ２２が対設されている。一方、カムシャフト１ｃに連設するカムロータ２３に、このカムロータ２３の外周に形成された突起を検出する気筒判別用のカム角センサ２４が対設されている。
【００２０】
又、上記エンジン１のシリンダブロック１ａにノックセンサ２５が固設され、このシリンダブロック１ａの左右バンクを連通する冷却水通路１ｄには冷却水温センサ２６が臨まされている。更に、上記吸気管５の上記エアークリーナ９の直下流に吸入空気量センサ２７が臨まされ、又、上記スロットル弁１０にスロットル開度センサ２８ａとスロットル弁全閉でＯＮするアイドルスイッチ２８ｂとを内蔵したスロットルセンサ２８が連設されている。更に、上記排気マニホルド４の上記フロント触媒コンバータ８ａの上流にフロントＯ２センサ（ＦＯ２センサ）２９ａが配設され、一方、上記排気管６の上記リア触媒コンバータ８ｂの下流にリアＯ２センサ（ＲＯ２センサ）２９ｂが配設された、いわゆる、デュアルＯ２センサ（ＤＯＳ）構造を有している。
【００２１】
上記インジェクタ１４、上記点火プラグ１５ａ、及び、ＩＳＣ弁１３に対する制御量の演算、並びに出力、すなわち燃料噴射制御、点火時期制御、アイドル回転数制御等、及び触媒の活性状態判別は、図１３に示す電子制御装置３１により行われる。
【００２２】
この電子制御装置３１は、ＣＰＵ３２、ＲＯＭ３３、ＲＡＭ３４、バックアップＲＡＭ３５、カウンタ・タイマ群３６、及びＩ／Ｏインターフェース３７がバスライン３８を介して互いに接続されるマイクロコンピュータを中心として構成されており、その他、安定化電圧を各部に供給する定電圧回路３９、上記Ｉ／Ｏインターフェース３７の出力ポートからの信号によりアクチュエータ類を駆動する駆動回路４０、センサ類からのアナログ信号をデジタル信号に変換するＡ／Ｄ変換器４１等の周辺回路が内蔵されている。
【００２３】
上記定電圧回路３９は、電源リレー４２のリレー接点を介してバッテリ４３に接続されており、電源リレー４２のリレーコイルがイグニッションスイッチ４４を介して上記バッテリ４３に接続されている。又、上記定電圧回路３９は、上記イグニッションスイッチ４４がＯＮされ、上記電源リレー４２の接点が閉となったとき、上記バッテリ４３の電圧を安定化して電子制御装置３１の各部に供給する。更に、上記バックアップＲＡＭ３５には、バッテリ４３が上記定電圧回路３９を介して直接接続されており、上記イグニッションスイッチ４４のＯＮ，ＯＦＦに拘らず常時バックアップ用電源が供給される。
【００２４】
尚、上記カウンタ・タイマ群３６は、各種カウンタ、燃料噴射タイマ、点火タイマ、定期割込みを発生させるための定期割込みタイマ、吸入空気量の積算値を異なる同期毎に定める同期判定用タイマ及びシステム異常監視用のウォッチドッグタイマ等の各種タイマを便宜上総称するものであり、上記マイクロコンピュータにおいては、その他、各種のソウトウェアカウント、タイマが用いられる。
【００２５】
又、上記Ｉ／Ｏインターフェイス３７の入力ポートには、ノックセンサ２５、クランク角センサ２２、カム角センサ２４、アイドルスイッチ２８ｂ等が接続されると共に、吸入空気量センサ２７、スロットル開度センサ２８ａ、冷却水温センサ２６、ＦＯ２センサ２９ａ、ＲＯ２センサ２９ｂ等が上記Ａ／Ｄ変換器４１を介して接続され、更に、このＡ／Ｄ変換器４１に、上記バッテリ４３の電圧ＶＢ  が入力されてモニタされる。一方、上記Ｉ／Ｏインターフェース３７の出力ポートには、イグナイタ１６が接続され、更に、上記駆動回路４０を介して、ＩＳＣ弁１３及びインジェクタ１４の各コイルが接続されている。なお、上記ＲＯＭ３３には、通常の制御プログラムに加え、各種固定データ等が格納され、上記ＲＡＭ３４には、各センサ・スイッチ類の出力信号を処理した後のデータ、及び上記ＣＰＵ３２で演算処理したデータが格納される。又、上記バックアップＲＡＭ３５には、各種学習値マップ、制御用データ、自己診断機能により検出した故障部位に対応するトラブルデータ等がストアされ、上記イグニッションスイッチ４４がＯＦＦのときにもデータが保持される。
【００２６】
上記ＣＰＵ３２では上記ＲＯＭ３３に記憶されている制御プログラムに従い、燃料噴射制御、点火時期制御等のエンジン制御、及び触媒活性判別、触媒劣化診断等を所定周期毎（所定時間毎、或いは所定クランク角度毎）に実行する。
【００２７】
ここで、上記電子制御装置３１は、複数の周期別積算値算出手段、複数の周期別仮触媒活性レベル設定手段、触媒活性判定手段としての機能を有し、具体的には、イグニッションスイッチ４４のＯＮにより電子制御装置３１に電源が投入されると、システムイニシャライズによりＲＡＭ３４に格納される各データ、フラグ値がクリアされると共に（バックアップＲＡＭ３５に格納されているデータ、フラグ値は除く）、カウンタ、タイマ群３６の各カウント値、各計時値がクリアされ、システムイニシャライズ後、図２〜図５のフローチャートに示す各ルーチンが所定周期毎に実行され、図２に示す触媒活性状態判別ルーチンにおいて、異なる周期Ａ，Ｂ毎に、吸入空気量ＱＡの積算値ＱＡＳ，ＱＡＣである活性判定積算値ＩＱＡＳ，ＩＱＡＣを算出し、この各活性判定積算値ＩＱＡＳ，ＩＱＡＣに基づき仮触媒活性レベルＱＡＳＬＶ，ＱＡＣＬＶを各々設定し、この各仮触媒活性レベルＱＡＳＬＶ，ＱＡＣＬＶに基づきマップ参照により、現在の触媒の状態が不活性か、準活性か、活性かの触媒活性状態を表す触媒活性レベルＣＡＴＬＶを設定する。そして、図３に示す空燃比フィードバック補正係数設定ルーチンにおいて、上記触媒活性レベルＣＡＴＬＶが読込まれ、触媒の活性状態に応じ空燃比フィードバック補正係数λを設定し、触媒が活性状態のとき、図４に示すＤＯＳ制御による空燃比フィードバック補正係数設定サブルーチンで、ＦＯ２センサ２９ａとＲＯ２センサ２９ｂとの出力電圧ＶＦＯ２，ＶＲＯ２に基づき空燃比フィードバック補正係数λを設定する。そして、図５に示す燃料噴射量設定ルーチンにおいて、触媒の活性状態に応じて設定された上記空燃比フィードバック補正係数λにより、燃料噴射量を補正して空燃比が目標空燃比と一致するように空燃比制御を行う。
【００２８】
先ず、図２に示す触媒活性状態判別ルーチンについて説明する。
この触媒活性状態判別ルーチンは、所定時間（例えば、５０ｍｓ）毎に実行され、ステップＳ２〜Ｓ６において、ルーチン実行毎にエンジン負荷を示す物理量の一例としての吸入空気量ＱＡを積算して第１の吸入空気量積算値ＱＡＳを算出し、第１の周期Ａを定める第１の設定時間ｔＡに達したとき、上記第１の吸入空気量積算値ＱＡＳを触媒活性状態を判断するための第１の活性判定積算値ＩＱＡＳとして採用し、この第１の活性判定積分ＩＱＡＳに基づき、第１の周期Ａの下での仮の触媒活性状態を表わす第１の仮触媒活性レベルＱＡＳＬＶを設定し、ステップＳ７〜Ｓ１１において、ルーチン実行毎に吸入空気量ＱＡを積算して第２の吸入空気量積算値ＱＡＣを算出し、第１の周期Ａよりも長い第２の周期Ｂを定める第２の設定時間ｔＢに達したとき、第２の吸入空気量積算値ＱＡＣを触媒活性状態を判断するための第２の活性判定積算値ＩＱＡＣとして採用し、第２の活性判定積算値ＩＱＡＣに基づき、第２の周期Ｂの下での仮の触媒活性状態を表わす第２の仮触媒活性レベルＱＡＣＬＶを設定する。そして、ステップＳ１２で、上記各周期Ａ，Ｂ毎に設定した仮触媒活性レベルＱＡＳＬＶ，ＱＡＣＬＶに基づいて現在の触媒活性状態を表わす触媒活性レベルＣＡＴＬＶを、ルーチン実行毎に設定する。
【００２９】
先ず、ステップＳ１で、現在の吸入空気量ＱＡを読込み、ステップＳ２で、上記吸入空気量ＱＡを前回のルーチン実行時に設定した第１の吸入空気量積算値ＱＡＳに加算して、新たな第１の吸入空気量積算値ＱＡＳを算出する（ＱＡＳ←ＱＡＳ＋ＱＡ）。
【００３０】
そして、ステップＳ３で、第１の周期Ａを計時するための第１の周期判定用タイマの計時値ＴＱＡＳと第１の周期Ａを定める第１の設定時間ｔＡとを比較して、第１の周期Ａに達したかを判断し、ＴＱＡＳ＜ｔＡのときは、周期Ａに達していないので、ステップＳ７へジャンプし、又、ＴＱＡＳ≧ｔＡであり第１の周期Ａに達したと判断したときはステップＳ４へ進む。
【００３１】
ステップＳ４へ進むと、第１の周期Ａにおける  触媒活性状態を判断する為の第１の活性判定積算値ＩＱＡＳを上記第１の吸入空気量積算値ＱＡＳで更新し（ＩＱＡＳ←ＱＡＳ）、ステップＳ５へ進み、上記第１の活性判定積算値ＩＱＡＳに基づき、第１の仮触媒活性レベル判定テーブルを参照して第１の周期Ａの下での仮の触媒活性状態を表わす第１の仮触媒活性レベルＱＡＳＬＶを設定する。
【００３２】
そして、ステップＳ６で、第１の周期Ａにより定まる次の区間での吸入空気量積算値の算出に備え、上記周期判定用タイマの計時値ＴＱＡＳをクリアして該タイマを再スタートさせると共に、第１の吸入空気量積算値ＱＡＳをクリアし、ステップＳ７へ進む。
【００３３】
図７に示すように、第１の周期Ａに対応する第１の仮触媒活性レベル判定テーブルは、第１の活性判定積算値ＩＱＡＳの予め設定した変化曲線に基づき、この活性判定積算値ＩＱＡＳを所定のスライスレベル毎に不活性、準活性、活性の各領域に区分し、不活性領域に「０」、準活性領域に「１」、活性領域に「２」の第１の仮触媒活性レベルＱＡＳＬＶが格納されている。
【００３４】
図１０に示すように、触媒の活性状態は触媒層内温度（ｔ）に支配されるが、この触媒層内温度（ｔ）はエンジン負荷との関係で上昇特性が決定され、エンジン負荷が大きく吸入空気量ＱＡが増す程、エンジン１の燃焼室から排出される排気ガス流量が増加して、相対的に触媒層内温度が早く上昇し、これに伴い各触媒コンバータ８ａ，８ｂの触媒が早く活性状態となる。従って、エンジン負荷を表わす吸入空気量ＱＡの変化から触媒層内温度を簡易的に予測することが可能となる。本実施の形態では、吸入空気量ＱＡを、第１の周期Ａと第１の周期Ａよりも長い周期の第２の周期Ｂとで各々積算し、その各積算値に基づいて現在の触媒の活性状態を判断している。上記第１の周期Ａは比較的短く（例えば、吸入空気量センサ２７を通過した空気が燃焼して触媒コンバータ８ａ，８ｂを通過するまでに要する平均的な一次遅れ時間）、吸入空気量ＱＡの一時的な変動による触媒活性を判断するのに適しており、又、第１の周期Ａに対し比較的長い第２の周期Ｂでは、平均的な吸入空気量ＱＡの変化から触媒活性を判断するのに適している。逆に言えば、第２の周期Ｂの応答遅れを第１の周期Ａで補償し、又、第１の周期Ａにて検出した吸入空気量ＱＡの一時的な変動による触媒活性の誤判断を第２の周期Ｂで補償する。
【００３５】
そして、ステップＳ７へ進むと、上記ステップＳ１で読込んだ吸入空気量ＱＡを前回のルーチン実行時に設定した第２の吸入空気量積算値ＱＡＣに加算して、新たな第２の吸入空気量積算値ＱＡＣを算出し（ＱＡＣ←ＱＡＣ＋ＱＡ）、ステップＳ８で、第２の周期Ｂを計時するための第２の周期判定用タイマの計時値ＴＱＡＣと、周期Ｂを定める第２の設定時間ｔＢとを比較し、ＴＱＡＣ＜ｔＢのときは、第２の周期Ｂに達していないので、ステップＳ１２へジャンプする。
【００３６】
又、ＴＱＡＣ≧ｔＢであり第２の周期Ｂに達したときは、ステップＳ９へ進み、第２の周期Ｂにおける触媒活性状態を判断する為の第２の活性判定積算値ＩＱＡＣを上記第２の吸入空気量積算値ＱＡＣで更新し（ＩＱＡＣ←ＱＡＣ）、ステップＳ１０で、上記第２の活性判定積算値ＩＱＡＣに基づき、第２の仮触媒活性レベル判定テーブルを参照して第２の周期Ｂの下での仮の触媒活性状態を表わす第２の仮触媒活性レベルＱＡＣＬＶを設定する。
【００３７】
そして、ステップＳ１１へ進み、第２の周期Ｂにより定まる次の区間での第２の吸入空気量積算値ＱＡＣの算出に備え、上記第２の周期判定用タイマの計時値ＴＱＡＣをクリアして該タイマを再スタートさせると共に、第２の吸入空気量積算値ＱＡＣをクリアし、ステップＳ１２へ進む。
【００３８】
図８に示すように、第２の周期Ｂに対応する上記第２の仮触媒活性レベル判定テーブルは、第２の活性判定積算値ＩＱＡＣの変化曲線に基づき、この活性判定積算値ＩＱＡＣを所定のスライスレベル毎に不活性、準活性、活性の各領域に区分されており、不活性領域に「０」、準活性領域に「１」、活性領域に「２」の第２の仮触媒活性レベルＱＡＣＬＶが格納されている。尚、第２の周期Ｂは第１の周期Ａに比し周期が長いため、吸入空気量ＱＡが一時的に変化しても第２の活性判定積算値ＩＱＡＣが急変することはなく、従って、第１の周期Ａに対応する第１の活性判定積算値ＩＱＡＳと相対的に比較した場合、緩やかな右上がり曲線となる。
【００３９】
そして、ステップＳ８、或いはステップＳ１１からステップＳ１２へ進むと、上記両仮触媒活性レベルＱＡＳＬＶ，ＱＡＣＬＶに基づき触媒活性レベル判定マップを参照して、現在の触媒活性状態を示す触媒活性レベルＣＡＴＬＶを設定し、ＲＡＭ３４の所定アドレスに格納し、ルーチンを抜ける。
【００４０】
図９に示すように、触媒活性レベル判定マップは、上記両仮触媒活性レベルＱＡＳＬＶ，ＱＡＣＬＶにより領域が区分され、各領域には、上記両仮触媒活性レベルＱＡＳＬＶ，ＱＡＣＬＶの組合せに応じて、０（不活性）、１（準活性）、２（活性Ａ）、３（活性Ｂ）の４段階の触媒活性レベルＣＡＴＬＶが格納されている。具体的には、仮触媒活性レベルＱＡＳＬＶ，ＱＡＣＬＶが共に０、或いは仮触媒活性レベルＱＡＳＬＶ，ＱＡＣＬＶの一方が０で他方が１の領域には「０」、仮触媒活性レベルＱＡＳＬＶ，ＱＡＣＬＶが共に１、或いは仮触媒活性レベルＱＡＳＬＶ，ＱＡＣＬＶの一方が０で他方が２の領域には「１」、仮触媒活性レベルＱＡＳＬＶ，ＱＡＣＬＶの一方が１で他方が２の領域には「２」、仮触媒活性レベルＱＡＳＬＶ，ＱＡＣＬＶが共に２の領域には「３」の触媒活性レベルＣＡＴＬＶが各々格納されている。
【００４１】
上記触媒活性状態判別ルーチンによれば、仮触媒活性レベルＱＡＳＬＶ，ＱＡＣＬＶは、各周期Ａ，Ｂごとにそれぞれ独立して更新される。一方、触媒活性レベルＣＡＴＬＶは、周期Ａ，Ｂに拘わらず、ルーチン実行毎に設定される。上記仮触媒活性レベルＱＡＳＬＶ，ＱＡＣＬＶと触媒活性レベルＣＡＴＬＶとの関係を、吸入空気量ＱＡの変化に基づき、図１０のタイムチャートに従って説明する。
【００４２】
上述のように、第１の周期Ａと第２の周期Ｂとは、各々別個に計時され、各仮触媒活性レベルＱＡＳＬＶ，ＱＡＣＬＶが各周期Ａ，Ｂ毎に更新され、一方、触媒活性レベルＣＡＴＬＶは、ルーチン実行毎に設定されるため、例えば、図６に示すように、第２の周期Ｂが第１の周期Ａの３倍の時間である場合、第２の周期Ｂで設定した第２の仮触媒活性レベルＱＡＣＬＶは、第１の周期Ａで設定した第１の仮触媒活性レベルＱＡＳＬＶが３回更新されるまで、その値を保持する。従って、図１０に示すように、例えば、区間ａの前の区間において、吸入空気量ＱＡが急激に増加し、その後、漸次、吸入空気量ＱＡが減少するような場合、区間ａにおける周期Ａの仮触媒活性レベルＱＡＳＬＶは、直前の周期Ａで設定した第１の吸入空気量積算値ＱＡＳによる第１の活性判定積算値ＩＱＡＳが急激に増加しているため、「２」に設定され（図７参照）、一方、周期Ｂの仮触媒活性レベルＱＡＣＬＶも、直前の区間の吸入空気量ＱＡの増加より、周期Ｂにおける全体的な活性判定積算値ＩＱＡＣが増加し、「２」に設定される（図８参照）。その結果、区間ａの触媒活性レベルＣＡＴＬＶは、図９の触媒活性レベル判定マップにより「３」に設定される。
【００４３】
そして、区間ｂでは、周期Ａの仮触媒活性レベルＱＡＳＬＶは、直前の周期Ａで設定した第１の吸入空気量積算値ＱＡＳによる第１の活性判定積算値ＩＱＡＳに基づいて設定され、吸入空気量ＱＡの減少に伴い第１の活性判定積算値ＩＱＡＳが減少することで、「１」に設定され（図７参照）、一方、周期Ｂの仮触媒活性レベルＱＡＣＬＶは「２」を保持しているため、区間ｂの触媒活性レベルＣＡＴＬＶは、図９に示す触媒活性レベル判定マップにより「２」に設定される。
【００４４】
又、区間ｃでは、周期Ｂの活性判定積算値ＩＱＡＣが更新され、この活性判定積算値ＩＱＡＣに基づき第２の仮触媒活性レベルＱＡＣＬＶが「１」に設定され（図８参照）、一方、周期Ａの活性判定積算値ＩＱＡＳに基づいて設定される第１の仮触媒活性レベルＱＡＳＬＶは、吸入空気量ＱＡの減少により、「０」に設定され（図７参照）、従って、この区間ｃでの触媒活性レベルＣＡＴＬＶは、触媒活性レベル判定マップにより「０」に設定される。
【００４５】
このように、周期Ａにおける第１の仮触媒活性レベルＱＡＳＬＶは吸入空気量ＱＡの瞬時の変化に基づいて設定され、周期Ｂにおける第２の仮触媒活性レベルＱＡＣＬＶは吸入空気量ＱＡの比較的長い区間の積分値によって設定され、この周期Ａ、周期Ｂのそれぞれの仮触媒活性レベルＱＡＳＬＶ，ＱＡＣＬＶの組合せによって、触媒活性レベルＣＡＴＬＶが設定され、現在の触媒活性状態が総合的に判断される。
【００４６】
尚、仮触媒活性レベル判定テーブルと触媒活性レベル判定マップとをより細分化すれば、或いは触媒の活性状態を判断する周期を３種類以上に増やすことで、現在の触媒活性状態をより細密に判断することが可能となる。又、エンジン負荷として吸入空気量ＱＡ以外に、スロットル開度、或いは基本燃料噴射量（Ｔｐ）等を用いても良い。
【００４７】
上記触媒活性状態判別ルーチンにより設定された触媒活性レベルＣＡＴＬＶは、空燃比フィードバック制御開始条件、或いは触媒劣化診断開始条件等を判定する際に参照され、本実施の形態では、図３に示す空燃比フィードバック補正係数設定ルーチンにおいて上記触媒活性レベルＣＡＴＶＬを参照し、触媒活性レベルＣＡＴＶＬが「２」以上の触媒が活性状態のとき、ＦＯ２センサ２９ａ，ＲＯ２センサ２９ｂの両出力値ＶＦＯ２，ＶＲＯ２を用いたＤＯＳ制御に移行させる。
【００４８】
ここで、ＤＯＳ制御（デュアルＯ２センサ制御）とは、ＦＯ２センサ２９ａの情報から空燃比フィードバック制御を行うと共に、ＲＯ２センサ２９ｂの情報から空燃比フィードバック補正係数のシフト量を決定することで、触媒浄化能力が最大に発揮できる空燃比に収束するよう燃料噴射量を補正し、排気ガス浄化性能の向上を図るものであり、特開昭６２−２９７３８号公報、本件出願人による特願平７−５２７４２号に詳細されている。尚、空燃比フィードバック補正係数のベース値に対するシフト量を学習値として記憶することで、ＦＯ２センサ、及び触媒の劣化を学習補正することができる。
【００４９】
図３の空燃比フィードバック補正係数設定ルーチンは、所定時間毎に実行され、先ず、ステップＳ２１で、減速燃料カット中、スロットル全開増量補正等のクランプ条件か否かを判断し、クランプ条件のときにはステップＳ２８へ分岐してＲＡＭ３４にストアされるＲＯ２センサ２９ｂの平均出力値ＶＭＲＯ２をクリアし、ステップＳ２９で、空燃比フィードバック補正係数λを設定してルーチンを抜ける。クランプ条件成立時の上記ステップＳ２９における空燃比フィードバック補正係数λの設定は、該空燃比フィードバック補正係数λ  をクランプ条件に応じて設定される値にクランプし、空燃比制御をオープンループ制御とする。
【００５０】
上記ステップＳ２１で、通常運転によりクランプ条件不成立時には、ステップＳ２２へ進み、ＲＯ２センサ２９ｂの出力値ＶＲＯ２を読込み、ステップＳ２３で、ＲＯ２センサ活性フラグＦ１の値を参照し、Ｆ１＝０のときはステップＳ２４へ進み、Ｆ１＝１のときはステップＳ２６へジャンプする。このＲＯ２センサ活性フラグＦ１の初期値は０であり、後述するようにＲＯ２センサ２９ｂが活性したと判断されると「１」にセットされ、電子制御装置３１に電源が投入された後の初回のルーチン実行時、及び未だＲＯ２センサ２９ｂが活性したと判断されていないときには、ステップＳ２４へ進み、ＲＯ２センサ２９ｂが活性したかを判断する。
【００５１】
このＲＯ２センサ２９ｂの活性を判断する条件は以下の通りである。
【００５２】
１）ＦＯ２センサ２９ａが活性状態であり、空燃比フィードバック制御がクローズドループ制御へ移行した後である。
【００５３】
２）ＶＲＯ２≧ＲＣＬＳＲ、或いはＶＲＯ２＜ＲＣＬＳＬである。
【００５４】
ここで、ＲＣＬＳＲ、ＲＣＬＳＬは予め設定した値である。
【００５５】
３）上記１），２）を満たした状態がエンジン回転で、ＲＩＮＬＤＳ回連続した。
【００５６】
上記ステップＳ２４で、上述の条件を満足せずＲＯ２センサ２９ｂが不活性と判断したときは、上記ステップＳ２８を介してステップＳ２９へ進み、空燃比フィードバック補正係数λを設定してルーチンを抜ける。このときの上記ステップＳ２９における空燃比フィードバック補正係数λの設定は、ＲＯ２センサ２９ｂの出力値ＶＲＯ２は用いずに、エンジン状態、及びＦＯ２センサ２９ａの状態に応じて設定されるもので、ＦＯ２センサ２９ａが不活性のときには、空燃比フィードバック補正係数λをλ＝１．０にクランプして空燃比制御をオープンループ制御とし、ＦＯ２センサ２９ａの活性時、且つ上記クランプ条件の不成立のとき、ＦＯ２センサ２９ａの出力値ＶＦＯ２に基づいて空燃比フィードバック補正係数λを設定して空燃比フィードバック制御を行う。
【００５７】
尚、この空燃比フィードバック補正係数λの設定、及び後述する空燃比学習における学習値ＫＬＲ、学習補正係数ＫＢＬＲＣについては、本件出願人による特開平５−４４５４１号公報等に詳述されている。
【００５８】
また、上記ステップＳ２４で、上記条件が全て満足しＲＯ２センサ２９ｂが活性したと判断されると、ステップＳ２５へ進み、上記ＲＯ２センサ活性フラグＦ１をセットし、ステップＳ２６へ進む。
【００５９】
そして、ステップＳ２６で、前述の触媒活性状態判別ルーチンで設定され、ＲＡＭ３４の所定アドレスに格納されている触媒活性レベルＣＡＴＬＶの値を参照し、触媒活性レベルＣＡＴＬＶの値が「２」以上（ＣＡＴＬＶ≧２）、すなわち「２（活性状態Ａ）」或いは「３（活性状態Ｂ）」のときは、上記触媒コンバータ８ａ，８ｂの触媒が活性状態にあると判断し、ステップＳ２７へ進み、ＦＯ２センサ２９ａ、及びＲＯ２センサ２９ｂを共に用いたＤＯＳ制御により空燃比フィードバック補正係数λを設定してルーチンを抜ける。一方、上記触媒活性レベルＣＡＴＬＶが「２」未満（ＣＡＴＬＶ＜２）、すなわち「１（準活性状態）」或いは「０（不活性状態）」のときは、ＤＯＳ制御は行わず、上記ステップＳ２８を経てステップＳ２９へ進み、上述したようにエンジン状態、及びＦＯ２センサ２９ａの状態に応じて空燃比フィードバック補正係数λを設定し、ルーチンを抜ける。
【００６０】
上記ステップＳ２７のＤＯＳ制御による空燃比フィードバック補正係数λの設定は、図４のフローチャートに示すＤＯＳ制御による空燃比フィードバック補正係数設定サブルーチンに従って実行される。
【００６１】
先ず、ステップＳ３１で、ＦＯ２センサ２９ａの出力値ＶＦＯ２を読込み、ステップＳ３２で、ＲＯ２センサ２９ｂの出力値ＶＲＯ２に対する平滑化処理を行う。すなわち、ステップＳ３２では、上述の空燃比フィードバック補正係数設定ルーチンのステップＳ２２で読込んだＲＯ２センサ２９ｂの出力値ＶＲＯ２と、前回のルーチン実行時に算出した平均出力値ＶＭＲＯ２とに基づいて、今回の平均出力値ＶＭＲＯ２を次式から算出する。
ＶＭＲＯ２←｛（ＶＲＯ２−ＶＭＲＯ２）／２ｎ｝＋ＶＭＲＯ２
ここで、ｎは定数である。
【００６２】
そして、ステップＳ３３で、上記ＲＯ２センサ２９ｂの平均出力値ＶＭＲＯ２に基づいて、積分分ＩＰＨＯＳと比例分ＰＰＨＯＳとを求める。この積分分ＩＰＨＯＳ、比例分ＰＰＨＯＳは、上記平均出力値ＶＭＲＯ２とスライスレベルＳＬ２との関係で設定されるもので、図１１に示すように、上記平均出力値ＶＭＲＯ２がスライスレベルＳＬ２を横切ったとき、積分分ＩＰＨＯＳ、比例分ＰＰＨＯＳが反転する。
【００６３】
その後、ステップＳ３４で、前回のルーチン実行時に設定したＲＯ２センサ補正係数ＰＨＯＳに上記積分分ＩＰＨＯＳと比例分ＰＰＨＯＳとを加算して、今回のＲＯ２センサ補正係数ＰＨＯＳを設定する（ＰＨＯＳ←ＰＨＯＳ＋ＩＰＨＯＳ＋ＰＰＨＯＳ）。
【００６４】
そして、ステップＳ３５〜Ｓ３８で、上記ＲＯ２センサ補正係数ＰＨＯＳが適正範囲内にあるかを判断し、適正範囲外のときにはＲＯ２センサ補正係数ＰＨＯＳを修正する。先ず、ステップＳ３５では、ＲＯ２センサ補正係数ＰＨＯＳが下限値ＰＨＭＩＮよりも低いかを判断し、ＰＨＯＳ＜ＰＨＭＩＮのときは、ステップＳ３６へ分岐し、上記ＲＯ２センサ補正係数ＰＨＯＳを下限値ＰＨＭＩＮでセットして、ステップＳ３９へ進む。また、ＰＨＯＳ≧ＰＨＭＩＮのときは、ステップＳ３７へ進み、ＲＯ２センサ補正係数ＰＨＯＳが上限値ＰＨＭＡＸよりも高いかを判断する。そして、ＰＨＯＳ＞ＰＨＭＡＸのときは、ステップＳ３８へ分岐し、上記ＲＯ２センサ補正係数ＰＨＯＳを上限値ＰＨＭＡＸでセットして、ステップＳ３９へ進む。また、ＰＨＯＳ≦ＰＨＭＡＸのときは、今回算出したＲＯ２センサ補正係数ＰＨＯＳが適正範囲内にあると判断して、そのままステップＳ３９へ進む。
【００６５】
そして、ステップＳ３９では、ＦＯ２センサ２９ａの出力値ＶＦＯ２とスライスレベルＳＬ１との関係から、比例分ＰＵ，積分分ＩＵを設定する。図１１に示すように、上記出力値ＶＦＯ２が上記スライスレベルＳＬ１を横切ると、上記比例分ＰＵ，積分分ＩＵが反転する。
【００６６】
その後、ステップＳ４０で、上記比例分ＰＵに上記ＲＯ２センサ補正係数ＰＨＯＳを加算して、今回の比例分Ｐを求め（Ｐ←ＰＵ＋ＰＨＯＳ）、ステップＳ４１で、前回のルーチン実行時に設定した空燃比フィードバック補正係数λに上記比例分Ｐ、及び積分分ＩＵを加算して、今回の空燃比フィードバック補正係数λを算出して（λ←λ＋Ｐ＋ＩＵ）、ＲＡＭ３４の所定アドレスに格納しルーチンを抜ける。
【００６７】
その結果、ＦＯ２センサ２９ａの出力値ＶＦＯ２に基づいて設定される空燃比フィードバック補正係数λの比例分ＰＵが、ＲＯ２センサ２９ｂの出力値ＶＲＯ２の平均値ＶＭＲＯ２に基づいて設定されるＲＯ２センサ補正係数ＰＨＯＳによって補正される。
上記空燃比フィードバック補正係数λは、図５に示す燃料噴射量設定ルーチンにおいて、燃料噴射量を定める燃料噴射パルス幅Ｔｉの演算の際に用いられる。
【００６８】
次に、燃料噴射量設定ルーチンについて、図５に基づき説明する。先ず、ステップＳ５１で、吸入空気量ＱＡとエンジン回転数ＮＥとに基づいて次式から基本燃料噴射量に相当する基本燃料噴射パルス幅Ｔｐを算出する。
Ｔｐ←Ｋ×ＱＡ／ＮＥ
ここで、Ｋはインジェクタ特性補正定数である。
【００６９】
次いで、ステップＳ５２で、冷却水温センサ２６による冷却水温Ｔｗ、スロットル開度センサ２８ａによるスロットル開度、アイドルスイッチ２８ｂによるアイドル出力等に基づいて、冷却水温補正、加減速補正、全開増量補正、アイドル後増量補正等に係わる各種増量分補正係数ＣＯＥＦを設定し、ステップＳ５３へ進み、上述の空燃比フィードバック補正係数λを読出す。
【００７０】
そして、ステップＳ５４で、エンジン回転数ＮＥとエンジン負荷を表わす基本燃料噴射パルス幅Ｔｐとをパラメータとして、バックアップＲＡＭ３５の空燃比学習値テーブルにストアされている空燃比学習値ＫＬＲを検索し、補間計算により空燃比学習補正係数ＫＢＬＲＣを設定する。
【００７１】
上記空燃比学習値ＫＬＲは、本件出願人による前述の特開平５−４４５４１号公報等に開示されているように、吸入空気量センサ２７等の吸入空気量計測系、インジェクタ１４等の燃料系の生産時のばらつき、或いは経時変化による空燃比のずれを補正するためのものであり、本実施の形態においては、両Ｏ２センサ活性等による空燃比フィードバック条件成立時、空燃比学習値テーブル中の複数に区分されたエンジン回転数ＮＥ、及び基本燃料噴射パルス幅Ｔｐによる運転領域のうち、一つの運転領域において空燃比フィードバック補正係数λが比例積分制御により空燃比リッチ／リーンを所定回数繰り返したとき、そのときの空燃比フィードバック補正係数λの平均値に応じて該当領域に格納されている学習値ＫＬＲを更新え、空燃比フィードバック補正係数λの中心値が基準値（＝１．０）となるようにし、空燃比を理論空燃比に保つようにしている。
【００７２】
ここで、学習値ＫＬＲによる空燃比学習の基となる空燃比フィードバック補正係数λは、ＦＯ２センサ２９ａ，ＲＯ２センサ２９ｂの活性ばかりでなく、触媒コンバータ８ａ，８ｂの触媒活性状態をも判断して設定される。すなわち、異なる周期Ａ，Ｂ毎に算出した各吸入空気量積算値ＱＡＳ，ＱＡＣによる第１，第２の活性判定積算値ＩＱＡＳ，ＩＱＡＣに基づき設定され総合的に触媒活性状態を表わす触媒活性レベルＣＡＴＬＶが、「２（活性状態Ａ）」或いは「３（活性状態Ｂ）」に設定されたとき、触媒が活性状態にあると判断し、このとき初めてＤＯＳ制御によりＦＯ２センサ２９ａに加えてＲＯ２センサ２９ｂの出力値ＶＲＯ２に応じて空燃比フィードバック補正係数λが設定され、この空燃比フィードバック補正係数λに応じて学習値ＫＬＲが更新されるので、触媒の活性状態に適応した適切な空燃比学習が行われ、誤学習を防止することができる。
【００７３】
次いで、ステップＳ５４からステップＳ５５へ進み、バッテリ４３の端子電圧ＶＢに基づき、インジェクタ１４の無効噴射時間を補間する電圧補正係数Ｔｓを設定する。
【００７４】
その後、ステップＳ５６へ進み、上記ステップＳ５１で算出した基本燃料噴射パルス幅Ｔｐを、上記ステップＳ５２で設定した各種増量分補正係数ＣＯＥＦ、及び上記ステップＳ５３で読出した空燃比フィードバック補正係数λにより空燃比補正すると共に、上記ステップＳ５４で設定した学習補正係数ＫＢＬＲＣにより学習補正し、更に、上記ステップＳ５５で設定した電圧補正係数Ｔｓにより電圧補正して燃料噴射量を定める最終的な燃料噴射パルス幅Ｔｉを次式から算出する。
【００７５】
Ｔｉ←Ｔｐ×ＣＯＥＦ×λ×ＫＢＬＲＣ＋Ｔｓ
そして、ステップＳ５７で、上記燃料噴射パルス幅Ｔｉを燃料噴射対象気筒の噴射タイマにセットしてルーチンを抜ける。そして、所定タイミングで上記噴射タイマがスタートされ、上記燃料噴射パルス幅Ｔｉの駆動パルス信号が噴射対象気筒のインジェクタ１４へ出力され、該インジェクタ１４から所定に計量された燃料が噴射される。
【００７６】
図１４〜図２０に本発明の第２実施の形態を示す。本実施の形態による電子制御装置３１（図１３参照）は、複数の周期別積算値算出手段、周期別仮触媒活性判定値設定手段、触媒活性判定手段としての機能を備える。具体的には、前述の第１実施の形態では、異なる周期Ａ，Ｂ毎の第１，第２の仮触媒活性レベルＱＡＳＬＶ，ＱＡＣＬＶをそれぞれ仮触媒活性レベル判定テーブルを参照して設定しているが、本実施の形態では、各周期Ａ，Ｂ毎に算出した各吸入空気量積算値ＱＡＳ，ＱＡＣによる活性判定積算値ＩＱＡＳ，ＩＱＡＣと、予め設定した活性判定用定数（スライスレベル）ＱＡＳＬ，ＱＡＣＬとの関係に基づいて、仮の触媒活性状態を判別する。
【００７７】
以下、図１４〜図１５に示すフローチャートに従い、本実施の形態における触媒活性状態判別ルーチンについて説明する。尚、第１実施の形態における図２に示す触媒活性状態判別ルーチンと同一のステップは、同一の符号を付して詳細説明を省略する。
【００７８】
この触媒活性状態判別ルーチンは所定時間（例えば、５０ｍｓ）毎に実行され、ステップＳ１で吸入空気量ＱＡを読込み、ステップＳ２〜Ｓ４で、第１の周期Ａにおいて算出した第１の吸入空気量積算値ＱＡＳにより第１の活性判定積算値ＩＱＡＳを設定し、ステップＳ６１へ進み、上記第１の活性判定積算値ＩＱＡＳと第１の周期Ａの下で触媒の活性状態を判定するために予め設定した第１の活性判定用定数ＱＡＳＬ（図１７参照）とを比較し、ＩＱＡＳ≧ＱＡＳＬのときは、触媒活性と判断してステップＳ６２で仮触媒活性判定値としての第１の仮触媒活性フラグＦＱＡＳをセットし（ＦＱＡＳ←１）、一方、ＩＱＡＳ＜ＱＡＳＬのときは、触媒不活性と判断してステップＳ６３で上記第１の仮触媒活性フラグＦＱＡＳをクリアする（ＦＱＡＳ←０）。尚、上記第１の仮触媒活性フラグＦＱＡＳ、後述する第２の仮触媒活性フラグＦＱＡＣ、及び触媒活性フラグＦＣＡＴの初期値は０である。
【００７９】
そして、ステップＳ６へ進み、次の区間での吸入空気量積算値の算出に備え、第１の周期判定用タイマの計時値ＴＱＡＳをクリアして該タイマを再スタートさせると共に、第１の吸入空気量積算値ＱＡＳをクリアする。
【００８０】
ステップＳ７〜Ｓ９では、第２の周期Ｂにおいて算出した第２の吸入空気量積算値ＱＡにより第２の活性判定積算値ＩＱＡＣを設定して、ステップＳ６４へ進み、上記第２の活性判定積算値ＩＱＡＣと第２の周期Ｂの下で触媒の活性状態を判定するために予め設定した第２の活性判定用定数ＱＡＣＬ（図１８参照）とを比較し、ＩＱＡＣ≧ＱＡＣＬのときは触媒活性と判断し、ステップＳ６５で、仮触媒活性判定値としての第２の仮触媒活性フラグＦＱＡＣをセットし（ＦＱＡＣ←１）、一方、ＩＱＡＣ＜ＱＡＣＬのときは、触媒不活性と判断し、ステップＳ６６で上記第２の仮触媒活性フラグＦＱＡＣをクリアして（ＦＱＡＣ←０）、ステップＳ１１へ進む。
【００８１】
ステップＳ１１では、第２の同期Ｂにより定まる次の区間での第２の吸入空気量積算値ＱＡの算出に備え、第２の同期判定用タイマの計時値ＴＱＡをクリアして該タイマを再スタートさせると共に、第２の吸入空気量積算値ＱＡＣをクリアする。
【００８２】
そして、ステップＳ６７以下で、各仮触媒活性フラグＦＱＡＳ，ＦＱＡＣ値の組合せによって、現在の触媒活性状態を総合的に判断する。
【００８３】
ステップＳ６７，Ｓ６８では、上記両仮触媒活性フラグＦＱＡＳ，ＦＱＡＣの値を参照し、ＦＱＡＳ＝１、且つＦＱＡＣ＝１のときは、触媒コンバータ８ａ，８ｂの触媒が活性状態にあると判断し、ステップＳ６９へ進み、現在の触媒状態を表わす触媒活性判定値としての触媒活性フラグＦＣＡＴをセットする（ＦＣＡＴ←１）。又、上記両仮触媒活性フラグＦＱＡＳ，ＦＱＡＣの一方、或いは双方が０のときは、触媒は不活性状態にあると判断し、ステップＳ７０へ進み、触媒活性フラグＦＣＡＴをクリアする（ＦＣＡＴ←０）。その結果、図１９に示すように、上記両仮触媒活性フラグＦＱＡＳ，ＦＱＡＣが共に「１」の場合のみ、現在、触媒が活性状態にあることを示すべく触媒活性フラグＦＣＡＴがセットされることになる。
【００８４】
ここで、第１実施の形態で例示した吸入空気量の変化と同様に、吸入空気量ＱＡが変化したときの上記仮触媒活性フラグＦＱＡＳ，ＦＱＡＣと触媒活性フラグＦＣＡＴとの関係を、図２０のタイムチャートに従って説明する。
【００８５】
例えば、前述した第１の実施の形態と同様に、第２の周期Ｂが第１の周期Ａの３倍の時間である場合、第２の周期Ｂで設定した第２の仮触媒活性フラグＦＱＡＣは、第１の周期Ａで設定した第１の仮触媒活性フラグＦＱＡＳが３回更新されるまで、その値を保持する。従って、同図に示すように、区間ａの前の区間において吸入空気量ＱＡが急激に増大し、その後、漸次、吸入空気量ＱＡが減少する場合、区間ａにおける周期Ａの仮触媒活性フラグＦＱＡＳは、直前の周期Ａで算出した第１の吸入空気量積算値ＱＡＳにより設定される第１の活性判定積算値ＩＱＡＳが急激に増加しているため、「１」となり（図１７参照）、一方、周期Ｂの仮触媒活性フラグＦＱＡＣも、直前の区間の吸入空気量ＱＡの増加より、周期Ｂにおける全体的な活性判定積算値ＩＱＡＣが増加し、「１」となる（図１８参照）。その結果、区間ａの触媒活性フラグＦＣＡＴは、「１（活性）」に設定される（図１９参照）。
【００８６】
そして、区間ｂでは、直前の周期Ａ（区間ａ）での吸入空気量ＱＡの減少に伴い第１の吸入空気量積算値ＱＡＳにより設定される第１の活性判定積算値ＩＱＡＳも減少するが、この活性判定積算値ＩＱＡＳが上記仮触媒活性レベルＱＡＳＬＶよりも大きいときには、周期Ａの仮触媒活性フラグＦＱＡＳは「１」の状態に保持される。一方、このとき周期Ｂの仮触媒活性フラグＦＱＡＣは「１」を保持しているため、区間ｂの触媒活性フラグＦＣＡＴは、「１（活性）」を保持する。そして、吸入空気量ＱＡの減少により区間ｃ’では、周期Ａにおける活性判定積算値ＩＱＡＳに基づいて設定される仮触媒活性フラグＦＱＡＳが「０」になり、従って、区間ｃ’の触媒活性フラグＦＣＡＴは、「０（不活性）」となる。
【００８７】
上記触媒判定フラグＦＣＡＴは、図１６に示す空燃比フィードバック補正係数設定ルーチンにおいて参照され、触媒活性フラグＦＣＡＴがセットされており（ＦＣＡＴ＝１）、触媒が活性状態のとき、第１実施の形態と同様に、ＦＯ２センサ２９ａ，ＲＯ２センサ２９ｂの両出力値ＶＦＯ２，ＶＲＯ２を共に用いるＤＯＳ制御に移行させる。この空燃比フィードバック補正係数設定ルーチンは、前述の第１実施の形態と同様、所定時間毎に実行され、ステップＳ２１でクランプ条件不成立のとき、ステップＳ２２〜Ｓ２４で、ＲＯ２センサ２９ｂが活性したかを判断し、不活性と判断したときは、ステップＳ２８を介してステップＳ２９で、エンジン状態、及びＦＯ２センサ２９ａの状態に応じて空燃比フィードバック補正係数λを設定し、ルーチンを抜ける。又、ＲＯ２センサ２９ｂが活性したと判断されるときは、ステップＳ２５へ進み、前述のＲＯ２センサ活性フラグＦ１をセットし、ステップＳ８１へ進む。
【００８８】
そして、ステップＳ８１で、前述の触媒活性状態判別ルーチンで設定した触媒活性フラグＦＣＡＴの値を参照し、ＦＣＡＴ＝０のときは、触媒コンバータ８ａ，８ｂの触媒が不活性と判断し、上記ステップＳ２８へ分岐する。一方、ＦＣＡＴ＝１のときは、触媒が活性状態にあると判断し、ステップＳ２７へ進み、ＦＯ２センサ２９ａ、及びＲＯ２センサ２９ｂを共に用いたＤＯＳ制御により空燃比フィードバック補正係数λを設定してルーチンを抜ける。
【００８９】
このように、本実施の形態では、テーブル、及びマップの代わりにフラグを用いたので、メモリの使用容量を小さくすることができる。
【００９０】
尚、本発明は上記各実施の形態に限るものではなく、例えば、上記触媒活性状態判別ルーチンにおいて判別した触媒活性状態を、触媒劣化を検出する自己診断機能に取り入れることで、触媒が十分に活性されていない、すなわちＲＯ２センサ２９ｂの出力が不安定し易い領域を検出し、この領域での診断を中止することで診断精度を向上させることができる。更に、点火時期制御に取り入れることで、燃料噴射制御と点火時期制御とを触媒活性状態に応じて総合的に制御することが可能になる。
【００９１】
【発明の効果】
請求項１記載の発明によれば、エンジン負荷を示す物理量を、異なる周期毎に各々積算し、この各積算値に基づき仮触媒活性レベルを周期毎に設定し、この周期毎に設定した各仮触媒活性レベルに基づき現在の触媒の状態を判断するので、触媒温度センサ、触媒の下流に配設したＯ２センサ等を用いて触媒の活性を判断した従来のものに比し、触媒の活性状態を簡単でしかも精度良く把握することができる。又、触媒の下流に配設したＯ２センサ等を用いて触媒の活性を判断していないため、触媒に予測できない異常が発生した場合であっても、触媒の活性状態を正確に把握することができ、触媒活性時に行う触媒の劣化診断等を精度良く行うことができる。
【００９２】
請求項２記載の発明によれば、請求項１記載の発明において、周期毎に算出した積算値に基づき、各仮触媒活性レベルを不活性レベルと準活性レベルと活性レベルとの何れかに設定し、これら周期毎に設定した各仮触媒活性レベルに基づき現在の触媒活性状態を不活性状態と準活性状態と活性状態とに区分するので、各仮触媒活性レベルが明確に区分され、しかも、この区分された仮触媒活性レベルの組み合わせで、最終的な触媒活性レベルを判断するようにしたので、触媒活性状態をより的確に判断することができる。
【００９３】
請求項３記載の発明によれば、エンジン負荷を示す物理量を積算し、この各積算値に基づき設定する周期毎の仮触媒活性判定値を触媒活性か不活性かの何れかとし、しかもこの各仮触媒活性判定値に基づき、現在の触媒の状態が活性か不活性かを表わす最終的な触媒活性判定値を設定するので、請求項１記載の発明の効果に加え、複雑な演算を伴わず、メモリの使用容量を相対的に小さくすることができる効果を有する。
【図面の簡単な説明】
【図１】本発明の基本構成図
【図２】本発明の第１実施の形態に係り、触媒活性状態判別ルーチンを示すフローチャート
【図３】同上、空燃比フィードバック補正係数設定ルーチンを示すフローチャート
【図４】同上、ＤＯＳ制御による空燃比フィードバック補正係数設定サブルーチンを示すフローチャート
【図５】同上、燃料噴射量設定ルーチンを示すフローチャート
【図６】同上、第１の周期Ａと第２の周期Ｂとの関係を示す説明図
【図７】同上、周期Ａにおける第１の活性判定積算値と第１の仮触媒活性レベルとの関係を示す説明図
【図８】同上、周期Ｂにおける第２の活性判定積算値と第２の仮触媒活性レベルとの関係を示す説明図
【図９】同上、触媒活性レベル判定マップの概念図
【図１０】同上、吸入空気量と触媒層内温度と周期毎の仮触媒活性レベルと触媒活性レベルとの関係を示すタイムチャート
【図１１】同上、ＦＯ２センサ出力値、ＲＯ２センサ平均出力値、ＦＯ２センサ出力値に基づく比例積分制御量、及びＲＯ２センサ補正係数の設定状態を示すタイムチャート
【図１２】同上、エンジンの全体概略図
【図１３】同上、電子制御系の回路構成図
【図１４】本発明の第２実施の形態に係り、触媒活性状態判別ルーチンを示すフローチャート
【図１５】同上、触媒活性状態判別ルーチンを示すフローチャート（続き）
【図１６】同上、空燃比フィードバック補正係数設定ルーチンを示すフローチャート
【図１７】同上、周期Ａにおける第１の活性判定積算値と第１の仮触媒活性フラグの値との関係を示す説明図
【図１８】同上、周期Ｂにおける第２の活性判定積算値と第２の仮触媒活性フラグの値との関係を示す説明図
【図１９】同上、周期Ａにおける第１の仮触媒活性フラグ及び周期Ｂにおける第２の仮触媒活性フラグの値と触媒活性フラグの値との関係を示す図表
【図２０】同上、吸入空気量と触媒層内温度と周期毎の仮触媒活性フラグと触媒活性フラグとの関係を示すタイムチャート
【図２１】触媒活性時と触媒不活性時のＦＯ２センサ出力値、ＲＯ２センサ出力値を示すタイムチャート
【符号の説明】
１    エンジン
８ａ，８ｂ    触媒コンバータ（触媒）
１４    インジェクタ
２７    吸入空気量センサ
２９ａ，２９ｂ    Ｏ２センサ
３１    電子制御装置
Ａ，Ｂ    周期
ＣＡＴＬＶ    触媒活性レベル
ＦＣＡＴ    触媒活性フラグ（触媒活性判定値）
ＦＱＡＳ，ＦＱＡＣ    仮触媒活性フラグ（仮触媒活性判定値）
ＩＱＡＳ，ＩＱＡＣ    活性判定積算値（積算値）
ＱＡ    吸入空気量（エンジン負荷を示す物理量）
ＱＡＳＬＶ，ＱＡＣＬＶ    仮触媒活性レベル
【図１】
0003544765.tif 000002
【図２】
0003544765.tif 000003
【図３】
0003544765.tif 000004
【図４】
0003544765.tif 000005
【図５】
0003544765.tif 000006
【図６】
0003544765.tif 000007
【図７】
0003544765.tif 000008
【図８】
0003544765.tif 000009
【図９】
0003544765.tif 000010
【図１０】
0003544765.tif 000011
【図１１】
0003544765.tif 000012
【図１２】
0003544765.tif 000013
【図１３】
0003544765.tif 000014
【図１４】
0003544765.tif 000015
【図１５】
0003544765.tif 000016
【図１６】
0003544765.tif 000017
【図１７】
0003544765.tif 000018
【図１８】
0003544765.tif 000019
【図１９】
0003544765.tif 000020
【図２０】
0003544765.tif 000021
【図２１】
0003544765.tif 000022