JP3575708B2 - 内燃機関の空燃比制御装置 - Google Patents
内燃機関の空燃比制御装置 Download PDFInfo
- Publication number
- JP3575708B2 JP3575708B2 JP06178395A JP6178395A JP3575708B2 JP 3575708 B2 JP3575708 B2 JP 3575708B2 JP 06178395 A JP06178395 A JP 06178395A JP 6178395 A JP6178395 A JP 6178395A JP 3575708 B2 JP3575708 B2 JP 3575708B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- air
- fuel ratio
- correction coefficient
- engine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Testing And Monitoring For Control Systems (AREA)
- Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Description
【産業上の利用分野】
本発明は、漸化式形式の制御器を用いたフィードバック制御により内燃機関に供給する混合気の空燃比を制御する空燃比制御装置に関し、特に内燃機関の排気系に設けられた空燃比センサの出力に応じて設定される空燃比補正係数に基づいて、燃料供給系に発生した異常を検出する機能を有する空燃比制御装置に関するものである。
【0002】
【従来の技術】
内燃エンジンの排気系に設けた広域空燃比センサの出力に基づいてエンジンに供給する混合気の空燃比を比例項、積分項及び微分項を用いてフィードバック制御するとともに、前記積分項を用いて燃料供給系の異常を検出するようにした空燃比制御装置が従来より知られている。
【0003】
また、現代制御理論の1つである最適レギュレータをこの空燃比フィードバック制御に応用し、前記広域空燃比センサの出力と、機関の動的モデルに基づいて算出した最適フィードバックゲインとを用いて算出した空燃比補正係数により空燃比をフィードバック制御する空燃比制御装置が従来より知られている(例えば特開平3−185244号公報)。
【0004】
【発明が解決しようとする課題】
しかしながら、制御速度が比較的高い上記最適レギュレータを応用した空燃比制御装置においては、補正係数の動きが速くまた変化幅も大きいため、これをそのまま従来の燃料供給系の異常検出手法に用いると、正確な異常検出ができなという問題があった。
【0005】
本発明はこの問題を解決するためになされたものであり、漸化式形式の制御器を用いた内燃機関の空燃比フィードバック制御を行いつつ、燃料供給系の異常検出を容易かつ正確に行うことができる空燃比制御装置を提供することを目的とする。
【0006】
【課題を解決するための手段】
上記目的を達成するため本発明は、内燃機関の排気系に設けられた空燃比センサの出力に基づいて漸化式形式の制御器を用いて前記機関に供給する燃料を補正する空燃比補正係数を算出し、該算出された空燃比補正係数を用いて前記機関の空燃比を目標値に収束させるように前記機関に供給する燃料をフィードバック制御する制御手段を備えた内燃機関の空燃比制御装置において、前記算出された空燃比補正係数を平滑化するフィルタ手段と、前記平滑化された空燃比補正係数の平均値を算出する平均値算出手段と、前記平均値に基づいて前記機関の燃料供給系の異常を検出する異常検出手段とを備えたことを特徴とする。
【0007】
【作用】
空燃比センサの出力に基づいて漸化式形式の制御器を用いて空燃比補正係数が算出され、前記空燃比補正係数が平滑化され、前記平滑化された空燃比補正係数の平均値が算出され、前記平均値に基づいて前記機関の燃料供給系の異常が検出される。
【0008】
【実施例】
以下本発明の実施例を図面を参照して説明する。
【0009】
図1は本発明の一実施例にかかる内燃機関(以下「エンジン」という)及びその制御装置の構成を示す図である。同図中、1は各気筒に吸気弁及び排気弁(図示せず)を各1対ずつ設けたDOHC直列4気筒のエンジンである。
【0010】
エンジン1の吸気管2は分岐部(吸気マニホルド)11を介してエンジン1の各気筒の燃焼室に連通する。吸気管2の途中にはスロットル弁3が配されている。スロットル弁3にはスロットル弁開度(θTH)センサ4が連結されており、スロットル弁開度θTHに応じた電気信号を出力して電子コントロールユニット(以下「ECU」という)5に供給する。吸気管2には、スロットル弁3をバイパスする補助空気通路6が設けられており、該通路6の途中には補助空気量制御弁7が配されている。補助空気量制御弁7は、ECU5に接続されており、ECU5によりその開弁量が制御される。
【0011】
吸気管2のスロットル弁3の上流側には吸気温(TA)センサ8が装着されており、その検出信号がECU5に供給される。吸気管2のスロットル弁3と吸気マニホルド11の間には、チャンバ9が設けられており、チャンバ9には吸気管内絶対圧(PBA)センサ10が取り付けられている。PBAセンサ10の検出信号はECU5に供給される。
【0012】
エンジン1の本体にはエンジン水温(TW)センサ13が装着されており、その検出信号がECU5に供給される。ECU5には、エンジン1のクランク軸(図示せず)の回転角度を検出するクランク角度位置センサ14が接続されており、クランク軸の回転角度に応じた信号がECU5に供給される。クランク角度位置センサ14は、エンジン1の特定の気筒の所定クランク角度位置で信号パルス(以下「CYL信号パルス」という)を出力する気筒判別センサ、各気筒の吸入行程開始時の上死点(TDC)に関し所定クランク角度前のクランク角度位置で(4気筒エンジンではクランク角180度毎に)TDC信号パルスを出力するTDCセンサ及びTDC信号パルスより短い一定クランク角周期(例えば30度周期)で1パルス(以下「CRK信号パルス」という)を発生するCRKセンサから成り、CYL信号パルス、TDC信号パルス及びCRK信号パルスがECU5に供給される。これらの信号パルスは、燃料噴射時期、点火時期等の各種タイミング制御及びエンジン回転数NEの検出に使用される。
【0013】
吸気マニホルド11の吸気弁の少し上流側には、各気筒毎に燃料噴射弁12が設けられており、各噴射弁は図示しない燃料ポンプに接続されているとともにECU5に電気的に接続されて、ECU5からの信号により燃料噴射時期及び燃料噴射時間(開弁時間)が制御される。エンジン1の点火プラグ(図示せず)もECU5に電気的に接続されており、ECU5により点火時期θIGが制御される。
【0014】
排気管16は分岐部(排気マニホルド)15を介してエンジン1の燃焼室に接続されている。排気管16には分岐部15が集合する部分の直ぐ下流側に、広域空燃比センサ(以下「LAFセンサ」という)17が設けられている。さらにLAFセンサ17の下流側には直下三元触媒19及び床下三元触媒20が配されており、またこれらの三元触媒19及び20の間には酸素濃度センサ(以下「O2センサ」という)18が装着されている。三元触媒19、20は、排気ガス中のHC,CO,NOx等の浄化を行う。
【0015】
LAFセンサ17は、ローパスフィルタ22を介してECU5に接続されており、排気ガス中の酸素濃度(空燃比)に略比例した電気信号を出力し、その電気信号をECU5に供給する。O2センサ18は、その出力が理論空燃比の前後において急激に変化する特性を有し、その出力は理論空燃比よりリッチ側で高レベルとなり、リーン側で低レベルとなる。O2センサ18は、ローパスフィルタ23を介してECU5に接続されており、その検出信号はECU5に供給される。
【0016】
排気還流機構30は、吸気管2のチャンバ9と排気管16とを接続する排気還流路31と、排気還流路31の途中に設けられ、排気還流量を制御する排気還流弁(EGR弁)32と、EGR弁32の弁開度を検出し、その検出信号をECU5に供給するリフトセンサ33とから成る。EGR弁32は、ソレノイドを有する電磁弁であり、ソレノイドはECU5に接続され、その弁開度がECU5からの制御信号によりリニアに変化させることができるように構成されている。
【0017】
次に図2も合わせて参照して、蒸発燃料処理装置40について説明する。燃料タンク41は通路42を介してキャニスタ45に連通し、キャニスタ45はパージ通路43を介して吸気管2のチャンバ9に連通している。キャニスタ45は、燃料タンク41内で発生する蒸発燃料を吸着する吸着剤46を内蔵し、外気取込口47を有する。通路42の途中には、正圧バルブ及び負圧バルブから成る2ウェイバルブ44が配設され、パージ通路43の途中にはデューティ制御型の電磁弁であるパージ制御弁48、パージ通路43を流れる燃料蒸気を含む混合気の流量を検出する流量センサ49及び該混合気中のHC濃度を検出するHC濃度センサ50が設けられている。パージ制御弁48及びセンサ49、50は、ECU5に接続されており、パージ制御弁48はECU5からの信号に応じて制御され、センサ49、50の検出信号はECU5に供給される。
【0018】
蒸発燃料処理装置40によれば、燃料タンク41内で発生した蒸発燃料は、所定の設定圧に達すると2ウェイバルブ44の正圧バルブを押し開き、キャニスタ45に流入し、キャニスタ45内の吸着剤46によって吸着され貯蔵される。パージ制御弁48はECU5からのデューティ信号によって開弁/閉弁作動し、その開弁時間中においてはキャニスタ45に一時蓄えられていた蒸発燃料は、チャンバ9の負圧により、キャニスタ45の外気取込口47から吸入された外気とともにパージ制御弁48を経てチャンバ9へ吸引され、各気筒に送られる。また、外気などで燃料タンク41が冷却されて燃料タンク内の負圧が増すと、2ウェイバルブ44の負圧バルブが開弁し、キャニスタ45に一時蓄えられていた蒸発燃料は燃料タンク41へ戻される。このようにして、燃料タンク41内で発生した燃料蒸気が大気に放出されることが抑止される。
【0019】
エンジン1は、吸気弁及び排気弁のバルブタイミングを、エンジンの高速回転領域に適した高速バルブタイミングと、低速回転領域に適した低速バルブタイミングとの2段階に切換可能なバルブタイミング切換機構60を有する。このバルブタイミングの切換は、弁リフト量の切換も含み、さらに低速バルブタイミング選択時は2つの吸気弁のうちの一方を休止させて、空燃比を理論空燃比よりリーン化する場合においても安定した燃焼を確保するようにしている。
【0020】
バルブタイミング切換機構60は、バルブタイミングの切換を油圧を介して行うものであり、この油圧切換を行う電磁弁及び油圧センサがECU5接続されている。油圧センサの検出信号はECU5に供給され、ECU5は電磁弁を制御してバルブタイミングの切換制御を行う。
【0021】
また、ECU5には、大気圧を検出する大気圧(PA)センサ21が接続されており、その検出信号がECU5に供給される。
【0022】
ECU5は、上述した各種センサからの入力信号波形を整形して電圧レベルを所定レベルに修正し、アナログ信号値をデジタル信号値に変化する等の機能を有する入力回路と、中央処理回路(CPU)と、該CPUで実行される各種演算プログラムや後述する各種マップ及び演算結果等を記憶するROM及びRAMからなる記憶回路と、燃料噴射弁12等の各種電磁弁や点火プラグに駆動信号を出力する出力回路とを備えている。
【0023】
ECU5は、上述の各種エンジン運転パラメータ信号に基づいて、LAFセンサ17及びO2センサ18の出力に応じたフィードバック制御運転領域やオープン制御運転領域等の種々のエンジン運転状態を判別するとともに、エンジン運転状態に応じ、下記数式1により燃料噴射弁12の燃料噴射時間TOUTを演算し、この演算結果に基づいて燃料噴射弁12を駆動する信号を出力する。
【0024】
【数1】
TOUT=TIMF×KTOTAL×KCMDM×KFB
図3は上記数式1による燃料噴射時間TOUTの算出手法を説明するための機能ブロック図であり、これを参照して本実施例における燃料噴射時間TOUTの算出手法の概要を説明する。なお、本実施例ではエンジンへの燃料供給量は燃料噴射時間として算出されるが、これは噴射される燃料量に対応するので、TOUTを燃料噴射量若しくは燃料量とも呼んでいる。
【0025】
図3においてブロックB1は、吸入空気量に対応した基本燃料量TIMFを算出する。この基本燃料量TIMFは、基本的にはエンジン回転数NE及び吸気管内絶対圧PBAに応じて設定されるが、スロットル弁3からエンジン1の燃焼室に至る吸気系をモデル化し、その吸気系モデルに基づいて吸入空気の遅れを考慮した補正を行うことが望ましい。その場合には、検出パラメータとしてスロットル弁開度θTH及び大気圧PAをさらに用いる。
【0026】
ブロックB2〜B4は乗算ブロックであり、ブロックの入力パラメータを乗算して出力する。これらのブロックにより、上記数式1の演算が行われ、燃料噴射量TOUTが得られる。
【0027】
ブロックB9は、エンジン水温TWに応じて設定されるエンジン水温補正係数KTW,排気還流実行中に排気還流量に応じて設定されるEGR補正係数KEGR,蒸発燃料処理装置40によるパージ実行時にパージ燃料量に応じて設定されるパージ補正係数KPUG等のフィードフォワード系補正係数をすべて乗算することにより、補正係数KTOTALを算出し、ブロックB2に入力する。
【0028】
ブロックB21は、エンジン回転数NE、吸気管内絶対圧PBA等に応じて目標空燃比係数KCMDを決定し、ブロック22に入力する。目標空燃比係数KCMDは、空燃比A/Fの逆数、すなわち燃空比F/Aに比例し、理論空燃比のとき値1.0をとるので、目標当量比ともいう。ブロックB22は、ローパスフィルタ23を介して入力されるO2センサ出力VMO2に基づいて目標空燃比係数KCMDを修正し、ブロックB18及びB23に入力する。ブロックB23は、KCMD値に応じて燃料冷却補正を行い最終目標空燃比係数KCMDMを算出し、ブロックB3に入力する。
【0029】
ブロックB10は、ローパスフィルタ22を介して入力されるLAFセンサ出力値を、CRK信号パルスの発生毎にサンプリングし、そのサンプル値をリングバッファメモリに順次記憶し、エンジン運転状態に応じて最適のタイミングでサンプリングしたサンプル値を選択し(LAFセンサ出力選択処理)、ローパスフィルタブロックB16及びB17を介してブロックB18及びB19に入力する。このLAFセンサ出力選択処理は、サンプリングのタイミングによっては変化する空燃比を正確に検出できないこと、燃焼室から排出される排気ガスがLAFセンサ17に到達するまでの時間やLAFセンサ自体の反応時間がエンジン運転状態によって変化することを考慮したものである。
【0030】
ブロックB18は、検出空燃比と目標空燃比との偏差に応じてPID制御によりPID補正係数KLAFを算出してブロックB20に入力する。 ブロックB19は、検出空燃比に基づいて適応制御(Self Tuning Regulation)により適応補正係数KSTRを算出してブロックB20に入力する。この適応制御は、目標空燃比係数KCMD(KCMDM)を基本燃料量TIMFに乗算するだけでは、エンジンの応答遅れがあるため目標空燃比がなまされた検出空燃比になってしまうため、これを動的に補償し、外乱に対するタフネス性を向上させるために導入したものである。
【0031】
ブロックB20は、入力されるPID補正係数KLAF及び適応補正係数KSTRのいずれか一方をエンジン運転状態に応じて選択し、フィードバック補正係数KFBとしてブロックB4に入力する。これは、エンジン運転状態によっては、適応制御ではなく従来のPID制御によって算出したKLAF値を用いた方がよいことを考慮したものである。
【0032】
ブロックB25ば、ローパスフィルタブロックB24を介して適応補正係数KSTRのフィルタ出力KSTRLO及びPID制御の積分項KLAFIが入力され、後述する手法により燃料供給等の異常を検出するフューエルメータリングブロックである。
【0033】
以上のように本実施例では、LAFセンサ17の出力の応じて通常のPID制御により算出したPID補正係数KLAFと、適応制御により算出した適応補正係数KSTRとを切り換えて、補正係数KFBとして上記数1に適用して、燃料噴射量TOUTを算出している。適応補正係数KSTRにより、目標空燃比を変更したときの追従性及び外乱に対するタフネス性を向上させ、触媒の浄化率を向上させ、種々のエンジン運転状態において良好な排気ガス特性を得ることができる。
【0034】
本実施例では、上述した図3の各ブロックの機能は、ECU5のCPUによる演算処理により実現されるので、この処理のフローチャートを参照して処理の内容を具体的に説明する。
【0035】
図4は、LAFセンサ17の出力に応じてPID補正係数KLAF及び適応補正係数KSTRを算出し、最終的にフィードバック補正係数KFBを算出する処理のフローチャートである。本処理はTDC信号パルスの発生毎に実行される。
【0036】
ステップS1では、始動モードか否か、すなわちクランキング中か否かを判別し、始動モードのときは始動モードの処理へ移行する。始動モードでなければ、目標空燃比係数(目標当量比)KCMD及び最終目標空燃比係数KCMDMの算出(ステップS2)及びLAFセンサ出力選択処理を行う(ステップS3)とともに検出当量比KACTの演算を行う(ステップS4)。検出当量比KACTは、LAFセンサ17の出力を当量比に変換したものである。
【0037】
次いでLAFセンサ17の活性化が完了したか否かの活性判別を行う(ステップS5)。これは、例えばLAFセンサ17の出力電圧とその中心電圧との差を所定値(例えば0.4V)と比較し、該差が所定値より小さいとき活性化が完了したと判別するものである。
【0038】
次にエンジン運転状態がLAFセンサ17の出力に基づくフィードバック制御を実行する運転領域(以下「LAFフィードバック領域」という)にあるか否かの判別を行う(ステップS6)。これは、例えばLAFセンサ17の活性化が完了し、且つフュエルカット中やスロットル全開運転中でないとき、LAFフィードバック領域と判定するものである。この判別の結果、LAFフィードバック領域にないときはリセットフラグFKLAFRESETを「1」に設定し、LAFフィードバック領域にあるときは「0」とする。
【0039】
続くステップS7では、リセットフラグFKLAFRESETが「1」か否かを判別し、FKLAFRESET=1のときは、ステップS8に進んでPID補正係数KLAF、適応補正係数KSTR及びフィードバック補正係数KFBをいずれもに「1.0」に設定するとともに、PID制御の積分項KLAFIを「0」に設定して、本処理を終了する。また、FKLAFRESET=0のときは、フィードバック補正係数KFBの演算を行って(ステップS9)、本処理を終了する。
【0040】
以下上記ステップS2〜S4,S6及びS9における処理の詳細を順次説明する。
【0041】
図5は、図4のステップS2における最終目標空燃比係数KCMDMを算出する処理のフローチャートである。
【0042】
ステップS23では、エンジン回転数NE及び吸気管内絶対圧PBAに応じてマップを検索し、基本値KBSを算出する。なお、そのマップにはアイドル時用の値も設定されている。
【0043】
続くステップS24では、エンジン始動直後のリーンバーン制御を実行すべき条件が成立するか否かを判別し、条件が成立したときは始動後リーンフラグFASTLEANを「1」に設定する一方、条件不成立のときは「0」とする。このリーンバーン制御実行条件は、例えばエンジン始動後所定期間内であって、エンジン水温TW、エンジン回転数NE及び吸気管内絶対圧PBAが所定範囲内にあるとき成立する。なお、始動直後のリーンバーン制御は、エンジン始動直後の触媒が未活性の状態でHCの排出量が増加すること防止する目的で行うものである。
【0044】
次いでステップS25では、スロットル弁が全開(WOT)の状態か否かを判別し、全開のときはWOTフラグFWOTを「1」に設定し、全開でなければ「0」とする。次いで、エンジン水温TWに応じて増量補正係数KWOTを算出する(ステップS26)。このとき高水温時の補正係数KXWOTも算出する。
【0045】
続くステップS27では、目標空燃比係数KCMDを算出し、次いで算出したKCMD値のリミット処理(所定上下限値の範囲内に入るようにする処理)を行う。このステップS27の処理は図6を参照して後述する。
【0046】
続くステップS29では、O2センサ18の活性化が完了しているか否かの判別を行い、活性化が完了したときは、活性フラグFMO2を「1」に設定し、完了していないときは、「0」とする。例えばエンジン始動後所定期間経過したとき、活性化完了と判定する。次いで、ステップS32に進み、O2センサ18の出力VMO2に応じて目標空燃比係数KCMDの補正項DKCMDO2を算出する。この処理は、O2センサ出力VMO2と基準値VREFMとの偏差に応じてPID制御により、補正項DKCMDO2を算出するものである。
【0047】
ステップS33では、次式により目標空燃比係数KCMDの補正を行う。
【0048】
KCMD=KCMD+DKCMDO2
これにより、LAFセンサ17の出力のずれを補償するように目標空燃比係数KCMDを設定することができる。
【0049】
続くステップS34では、算出したKCMD値に応じてKCMD−KETCテーブルを検索して補正係数KETCを算出し、次式により最終目標空燃比係数KCMDMを算出する。
【0050】
KCMDM=KCMD×KETC
補正係数KETCは、KCMD値が増加し、燃料噴射量が増加するほど、噴射による燃料冷却効果が大きくなることを考慮して、その影響を補正するものであり、KCMD値が増加するほど大きな値に設定される。
【0051】
次いで、KCMDM値のリミット処理を行うとともに(ステップS35)、ステップS33で得られたKCMD値をリングバッファに格納して(ステップS36)、本処理を終了する。
【0052】
図6は、図5のステップS27におけるKCMD算出処理のフローチャートである。
【0053】
先ずステップS51では、図5のステップS24で設定した始動後リーンフラグFASTLEANが「1」か否かを判別し、FASTLEAN=1であるときは、KCMDASTLEANマップを検索して、リーン制御時の中心空燃比に相当するリーン目標値KCMDASTLEANを算出する(ステップS52)。ここで、KCMDASTLEANマップは、エンジン水温TW及び吸気管内絶対圧PBAに応じてリーン目標値KCMDASTLEANが設定されたマップである。そして、目標空燃比係数KCMDをリーン目標値KCMDASTLEANに設定して(ステップS53)、ステップS59に進む。
【0054】
一方前記ステップS51でFASTLAEAN=0であって、始動後リーンバーン制御実行条件が成立しないときは、エンジン水温TWが所定水温TWCMD(例えば80℃)より高いか否かを判別する。そしてTW>TWCMDが成立するときは、KCMD値を図5のステップS23で算出した基本値KBSに設定して(ステップS57)、ステップS59に進む。また、TW≦TWCMDが成立するときは、エンジン水温TW及び吸気管内絶対圧PBAに応じて設定されたマップを検索して、低水温用目標値KTWCMDを算出し(ステップS55)、基本値KBSがこのKTWCMD値より大きいか否かを判別する(ステップS56)。その結果KBS>KTWCMDであるときは、前記ステップS57に進み、KBS≦KTWCMDであるときは、基本値KBSを低水温用目標値KTWCMDに置き換えて(ステップS58)、ステップS59に進む。
【0055】
ステップS59では、O2センサ18の異常が検出されているか否かを判別し、異常が検出されていなければ直ちにステップS61に進む一方、異常が検出されているときは、調整用加算項KCMDOFFSETを異常時用の調整値KCMDOFFSETFSに設定して(ステップS60)、ステップS61に進む。
【0056】
ここで、異常時用の調整値KCMDOFFSETFSは、空燃比がややリッチ方向にバイアスされるような値に設定される。これにより、O2センサの異常時において空燃比のリーン化によるトルク変動やノッキングを防止することができる。
【0057】
そしてステップS61では、下記式によりKCMD値を補正してステップS62に進む。調整用加算項KCMDOFFSETは、エンジンの排気系やLAFセンサの特性のばらつきや経時変化の影響を反映させて、目標空燃比係数KCMDを微調整し、三元触媒のウィンドウゾーンの最適な位置をとるようにするためのパラメータである。
【0058】
KCMD=KCMD+KCMDOFFSET
ステップS62では、図5のステップS25で設定したWOTフラグFWOTが「1」か否かを判別し、FWOT=0であれば直ちに本処理を終了し、FWOT=1のときは、高負荷用のKCMD値の設定処理を行い(ステップS63)、本処理を終了する。この処理は、KCMD値を図5のステップS26で算出した高負荷用増量補正係数KWOT,KXWOTと比較し、KCMD値がこれらの係数値より小さいときは、KCMD値に補正係数KWOT又はKXWOTを乗算して補正を行うものである。
【0059】
次に図4のステップS3におけるLAFセンサ出力選択処理について説明する。
【0060】
エンジンの排気ガスは排気行程で排出されることから、多気筒エンジンの排気系集合部において空燃比の挙動を見ると、明らかにTDC信号パルスに同期している。したがって、LAFセンサ17により空燃比を検出するときもTDC信号パルスに同期して行う必要がある。ところが、センサ出力のサンプルタイミングによっては空燃比の挙動を正確に把握できない場合が生じる。例えば、TDC信号パルスに対して排気系集合部の空燃比が図7のようであるとき、ECU5が認識する空燃比は図8に示すように、サンプルタイミングによって全く異なる値となる。この場合、実際のLAFセンサの出力変化を可能な限り正確に把握できるタイミングでサンプリングすることが望ましい。
【0061】
さらに、空燃比の変化は排気ガスのセンサまでの到達時間やセンサの反応時間によっても相違する。そのうち、センサまでの到達時間は排気ガス圧力、排気ガスボリューム等に依存して変化する。さらに、TDC信号パルスに同期してサンプリングすることはクランク角度に基づいてサンプリングすることになるので、必然的にエンジン回転数NEの影響を受ける。このように、空燃比の検出の最適なタイミングは、エンジン運転状態に大きく依存する。
【0062】
そこで、本実施例では図9に示すように、CRK信号パルス(クランク角度30度毎に発生する)の発生毎にサンプリングしたLAFセンサ出力をリングバッファ(本実施例では18個の格納場所を有する)に順次格納し、最適タイミングの出力値(17回前の値から今回値までの中の最適の値)を検出当量比KACTに変換してフィードバック制御に使用するようにしている。
【0063】
図10は、図4のステップS3におけるLAFセンサ出力選択処理のフローチャートある。
【0064】
先ずステップS81では、エンジン回転数NE及び吸気管内絶対圧PBAを読み出し、次いで現在のバルブタイミングが高速バルブタイミングか否かを判別する(ステップS82)。その結果高速バルブタイミングのときは高速バルブタイミング用のタイミングマップを検索し(ステップS83)、低速バルブタイミングのときは低速バルブタイミング用のタイミングマップを検索し(ステップS84)、その検索結果に応じてリングバッファに格納したLAFセンサ出力VLAFを選択して(ステップS85)、本処理を終了する。
【0065】
上記タイミングマップは、図11に示すように、エンジン回転数NE及び吸気管内絶対圧PBAに応じて、エンジン回転数NEが低いほど、あるいは吸気管内絶対圧PBAが高いほど早いクランク角度位置でサンプリングした値を選択するように設定されている。ここで、「早い」とは、前のTDC位置により近い位置でサンプリングした値(換言すれば古い値)を意味する。このように設定したのは、LAFセンサ出力は、図8に示したように、実際の空燃比の極大値又は極小値(以下「極値」という)に可能な限り近い位置でサンプリングするのが最良であるが、その極値、例えば最初のピーク値は、センサの反応時間を一定と仮定すれば、図12に示すように、エンジン回転数NEが低下するほど早いクランク角度位置で生じ、また、負荷が高いほど排気ガス圧力や排気ガスボリュームが増加し、排気ガスの流速が増してセンサへの到達時間が早まるからである。
【0066】
また、高速バルブタイミング用マップは、同一のエンジン回転数NE又は吸気管内絶対圧PBAに対しては、低速バルブタイミング用マップより早期のタイミングとなるように設定されている。これは、高速バルブタイミングでは、低速バルブタイミングより排気弁の開弁開始時期が早いからである。
【0067】
以上のように、図10の処理によれば、エンジン運転状態に応じて最適なタイミングでサンプリングしたセンサ出力VLAFが選択されるので、空燃比の検出精度を向上させることができる。
【0068】
次に図4のステップS4における検出当量比KACTの算出処理について説明する。図13は、このKACT算出処理のフローチャートである。
【0069】
先ずステップS101では、上述した図10の処理により選択されたセンサ出力選択値VLAFSELからセンサ出力中心値VCENTを減算して、テンポラリ値VLAFTEMPを算出する。ここで、中心値VCENTは、混合気の空燃比が理論空燃比のときのLAFセンサ出力値である。
【0070】
次いで、VLAFTEMP値が負の値か否かを判別し(ステップS102)、VLAFTEMP<0であって、空燃比が理論空燃比よりリーン側のときは、リーン補正係数KLBLLを乗算して、VLAFTEMP値を補正する(ステップS103)一方、、VLAFTEMP≧0であって、空燃比が理論空燃比よりリッチ側のときは、リッチ補正係数KLBLRを乗算して、VLAFTEMP値を補正する(ステップS104)。ここで、リーン補正係数KLBLL及びリッチ補正係数KLBLRは、LAFセンサに装着されたラベル抵抗の値に応じて算出されるばらつき補正用の補正係数である。ラベル抵抗値は、予めLAFセンサの特性を測定して、その結果に応じて設定されており、ECU5がその値を読み取って補正係数KLBLL,KLBLRを決定する。
【0071】
続くステップS105では、テンポラリ値VLAFTEMPにテーブル中心値VOUTCNTを加算して、修正出力値VLAFEを算出し、次いでVLAFE値に応じてKACTテーブルを検索して、検出当量比KACTを算出する(ステップS106)。ここで、KACTテーブルは、修正出力値VLAFEに応じて検出当量比KACTを算出するためのテーブルであり、テーブル中心値VOUTCNTは理論空燃比(KACT=1.0)に対応する格子点データ(修正出力値)である。
【0072】
以上の処理により、LAFセンサの特性ばらつきの影響を排除した検出当量比KACTを得ることができる。
【0073】
図14は、図4のステップS6におけるLAFフィードバック領域判別処理のフローチャートである。
【0074】
先ずステップS121では、LAFセンサ17が不活性状態にあるか否かを判別し、活性状態にあるときはフュエルカット中であることを「1」で示すフラグFFCが「1」か否かを判別し(ステップS122)、FFC=0であるときは、スロットル弁全開中であることを「1」で示すフラグFWOTが「1」か否かを判別し(ステップS123)、FWOT=1でないときは、図示しないセンサによって検出したバッテリ電圧VBATが所定下限値VBLOWより低いか否かを判別し(ステップS124)、VBAT≧VBLOWであるときは、理論空燃比に対応するLAFセンサ出力のずれ(LAFセンサストイキずれ)があるか否かを判別する。そして、ステップS121〜S125のいずれかの答が肯定(YES)のときは、PID補正係数KLAFを1.0(無補正値)にリセットすべき旨を「1」で示すKLAFリセットフラグFKLAFRESETを「1」に設定する(ステップS132)。
【0075】
一方、ステップS121〜S125の答がすべて否定(NO)のときは、KLAFリセットフラグFKLAFRESETを「0」に設定する(ステップS131)。
【0076】
続くステップS133では、O2センサ18が不活性状態にあるか否かを判別し、活性状態にあるときは、エンジン水温TWが所定下限水温TWLOW(例えば0℃)より低いか否かを判別する(ステップS134)。そして、O2センサ18が不活性状態のときまたはTW<TWLOWであるときは、PID補正係数KLAFを現在値に維持すべきことを「1」で示すホールドフラグFKLAFHOLDを「1」に設定して(ステップS136)、本処理を終了する。一方、O2センサ18が活性状態にあり且つTW≧TWLOWであるときは、FKLAFHOLD=0として(ステップS135)、本処理を終了する。
【0077】
次に図4のステップS9におけるフィードバック補正係数KFBの算出処理を説明する。
【0078】
フィードバック補正係数KFBは、前述したようにエンジン運転状態に応じてPID補正係数KLAF又は適応補正係数KSTRに設定される。そこで、先ず図15及び図16を参照して、これらの補正係数の算出手法を説明する。
【0079】
図15は、PID補正係数KLAF算出処理のフローチャートである。
【0080】
同図のステップS301では、ホールドフラグFKLAFHOLDが「1」か否かを判別し、FKLAFHOLD=1のときは、直ちに本処理を終了し、FKLAFHOLD=0のときは、KLAFリセットフラグFKLAFRESETが「1」か否かを判別する(ステップS302)。その結果、FKLAFRESET=1のときは、ステップS303に進み、PID補正係数KLAFを1.0に設定するとともに、積分制御ゲインKI及び目標当量比KCMDと検出当量比KACTとの偏差DKAFを「0」に設定して、本処理を終了する。
【0081】
ステップS302でFKLAFRESET=0のときは、ステップS304に進み、比例制御ゲインKP、積分制御ゲインKI及び微分制御ゲインKDをエンジン回転数NE及び吸気管内絶対圧PBAに応じて設定されたマップから検索する。ただし、アイドル状態のときはアイドル用のゲインを採用する。次いで、目標当量比KCMDと検出当量比KACTとの偏差DKAF(k)(=KCMD(k)−KACT(k))を算出し(ステップS305)、偏差DKAF(k)及び各制御ゲインKP,KI,KDを下記式に適用して、比例項KLAFP(k)、積分項KLAFI(k)及び微分項KLAFD(k)を算出する(ステップS306)。
【0082】
KLAFP(k)=DKAF(k)×KP
KLAFI(k)=DKAF(k)×KI+KLAF(k−1)
KLAFD(k)=(DKAF(k)−DKAF(k−1))×KD
続くステップS307〜S310では、積分項KLAFI(k)のリミット処理を行う。すなわち、KLAFI(k)値が所定上下限値KLAFILMTH,KLAFILMTLの範囲内にあるか否かを判別し(ステップS307、S308)、KLAFI(k)>KLAFILMTHであるときは、KLAFI(k)=KLAFLMTHとし(ステップS310)、KLAFI(k)<KLAFILMTLであるときは、KLAFI(k)=KLAFILMTLとする(ステップS309)。
【0083】
続くステップS311では、下記式によりPID補正係数KLAF(k)を算出する。
【0084】
次いで、KLAF(k)値が所定上限値KLAFLMTHより大きいか否かを判別し(ステップS312)、KLAF(k)>KLAFLMTHであるときは、KLAF(k)=KLAFLMTHとして(ステップS316)、本処理を終了する。
【0085】
ステップS312で、KLAF(k)≦KLAFLMTHであるときは、KLAF(k)値が所定下限値KLAFLMTLより小さいか否かを判別し(ステップS314)、KLAF(k)≧KLAFLMTLであれば直ちに本処理を終了する一方、KLAF(k)<KLAFLMTLであるときは、KLAF(k)=KLAFLMTLとして(ステップS315)、本処理を終了する。
【0086】
本処理により、検出当量比KACTが目標当量比KCMDに一致するように、PID制御によりPID補正係数KLAFが算出される。
【0087】
次に適応補正係数KSTR算出処理について、図16を参照して説明する。
【0088】
図16は、図3のブロックB19、すなわち適応制御(STR(Self Tuning Regulator))ブロックの構成を示すブロック図であり、このSTRブロックは、目標空燃比係数(目標当量比)KCMD(k)と検出当量比KACT(k)とが一致するように適応補正係数KSTRを設定するSTRコントローラと、該STRコントローラで使用するパラメータを設定するパラメータ調整機構とからなる。
【0089】
本実施例における適応制御の調整則の一つに、ランダウらが提案したパラメータ調整則がある。この手法は、適応システムを線形ブロックと非線形ブロックとから構成される等価フィードバック系に変換し、非線形ブロックについては入出力に関するポポフの積分不等式が成立し、線形ブロックは強正実となるように調整則を決めることによって、適応システムの安定を保証する手法である。この手法は、例えば「コンピュートロール」(コロナ社刊)No.27,28頁〜41頁、ないしは「自動制御ハンドブック」(オーム社刊)703頁〜707頁に記載されているように、公知技術である。
【0090】
本実施例では、このランダウらの調整則を用いた。以下説明すると、ランダウらの調整則では、離散系の制御対象の伝達関数A(Z−1)/B(Z−1)の分母分子の多項式を数式2で▲1▼、▲2▼のようにおいたとき、適応パラメータθハット(k)及び適応パラメータ調整機構への入力ζ(k)は、数式2で▲3▼、▲4▼のように定められる。数式2では、m=1、n=1、d=3の場合、即ち1次系で3制御サイクル分の無駄時間を持つプラントを例にとった。ここで、kは時刻、より具体的には制御サイクルを示す。また、数式2において、u(k)及びy(k)は、本実施例では、それぞれKSTR(k)及びKACT(k)に対応する。
【0091】
【数2】
ここで、適応パラメータθハット(k)は、数式3で表される。また、数式3中のΓ(k)及びeアスタリスク(k)は、それぞれゲイン行列及び同定誤差信号であり、数式4及び数式5のような漸化式で表される。
【0092】
【数3】
【0093】
【数4】
【0094】
【数5】
また数式4中のλ1(k)、λ2(k)の選び方により、種々の具体的なアルゴリズムが与えられる。λ1(k)=1,λ2(k)=λ(0<λ<2)とすると漸減ゲインアルゴリズム(λ=1の場合、最小自乗法)、λ1(k)=λ1(0<λ1<1)、λ2(k)=λ2(0<λ2<2)とすると、可変ゲインアルゴリズム(λ2=1の場合、重み付き最小自乗法)、λ1(k)/λ2(k)=σとおき、λ3が数式6のように表されるとき、λ1(k)=λ3とおくと固定トレースアルゴリズムとなる。また、λ1(k)=1,λ2(k)=0のとき固定ゲインアルゴリズムとなる。この場合は数式4から明らかなように、Γ(k)=Γ(k−1)となり、よってΓ(k)=Γの固定値となる。
【0095】
【数6】
ここで、図16にあっては、前記STRコントローラ(適応制御器)と適応パラメータ調整機構とは燃料噴射量演算系の外におかれ、検出当量比KACT(k)が目標当量比KCMD(k−d’)(ここでd’はKCMDがKACTに反映されるまでの無駄時間)に適応的に一致するように動作して適応補正係数KSTR(k)を演算する。
【0096】
このように、適応補正係数KSTR(k)及び検出当量比KACT(k)が求められて適応パラメータ調整機構に入力され、そこで適応パラメータθハット(k)が算出されてSTRコントローラに入力される。STRコントローラには入力として目標当量比KCMD(k)が与えられ、検出当量比KACT(k)が目標当量比KCMD(k)に一致するように漸化式を用いて適応補正係数KSTR(k)が算出される。
【0097】
適応補正係数KSTR(k)は、具体的には数式7に示すように求められる。
【0098】
【数7】
次に上述のようにして算出するPID補正係数KLAFと適応補正係数KSTRとを切り換えて、すなわちPID制御と適応制御とを切り換えて、フィードバック補正係数KFBを算出する手法を説明する。
【0099】
図17は、図4のステップS9におけるフィードバック補正係数KFBの算出処理のフローチャートである。
【0100】
先ずステップS151では、図4の処理の前回実行時がオープンループ制御であったか(FKLAFRESET=1であったか)否かを判別し、オープンループ制御でなかったときは、目標当量比KCMDの変化量DKCMD(=|KCMD(k)−KCMD(k−1)|)が基準値DKCMDREFより大きいか否かを判別する。そして、前回がオープンループ制御だったとき又は、前回がフィードバック制御であり且つ変化量DKCMDが基準値DKCMDREFより大きいときは、PID補正係数KLAFによるフィードバック制御を実行すべき運転領域(以下「PID制御領域」という)と判定し、カウンタCを「0」にリセットするとともに(ステップS153)、ステップS164に進み、PID補正係数KLAF演算処理(図19(a))を実行する。
【0101】
図19(a)のステップS201では、前回の制御でSTRフラグFKSTRが「1」であったか否かを判別する。このSTRフラグFKSTRは、適応補正係数KSTRによるフィードバック制御を実行すべき運転領域(以下「適応制御領域」という)であることを「1」で示し、フィードバック補正係数算出後に設定される(ステップS204、図19(b)、ステップS213)。
【0102】
ステップS201で、前回はFKSTR=0であったときは直ちにステップS203に進み、前回はFKSTR=1であったときは、PID制御の積分項の前回値KALFI(k−1)を、適応補正係数の前回値KSTR(k−1)に設定して(ステップS202)、ステップS203に進む。ステップS203では、前述した図15の処理によりPID補正係数KLAFを算出し、次いでステップS204に進み、STRフラグFKSTRを「0」に設定して、図19(a)の処理を終了する。
【0103】
ここで、適応制御からPID制御への切換時(前回FKSTR=1のとき)は、PID制御の積分項KLAFIが急変する可能性があるため、ステップS202により、KLAFI(k−1)=KSTR(k−1)としている。これにより、適応補正係数KSTR(k−1)とPID補正係数KLAF(k)との差を小さくとどめ、切換を滑らかにして制御の安定性を確保することができる。
【0104】
図17にもどり、続くステップS165では、フィードバック補正係数KFBをステップS164で算出したPID補正係数KLAF(k)に設定して(ステップS165)、本処理を終了する。
【0105】
なお、前回がオープンループ制御であったときは、PID制御領域と判定するのは、例えばフュエルカット状態からの復帰時のような場合には、LAFセンサの検出遅れなどから、必ずしも検出値が真の値を示すとは限らないため、制御が不安定となる可能性があるからである。また、同様の理由で、目標当量比KCMDの変化量DKCMDが大きいとき、例えばスロットル全開増量状態から復帰したとき、リーンバーン制御から理論空燃比制御に復帰したとき等においてもPID制御領域と判定している。
【0106】
ステップS151及びS152の答がともに否定(NO)のとき、すなわち前回もフィードバック制御であり、かつ目標当量比KCMDの変化量DKCMDが基準値DKCMDREF以下のときは、カウンタCを「1」だけインクリメントして(ステップS154)、ステップS155でカウンタCの値を所定値CREF(例えば5)と比較する。ここで、カウンタCの値がCREF値以下の場合は前記ステップS164に進む。
【0107】
カウンタCの値がCREF値以下のときPID制御領域とするのは、オープンループ制御からの復帰直後や目標当量比KCMDが大きく変化した直後は、燃料の燃焼が完了するまでの遅れやLAFセンサの検出遅れの影響を吸収できないからである。
【0108】
次にステップS156に進み、適応制御領域か否かの判別処理(図18)を実行する。図18の処理は、現在のエンジン運転状態から、フィードバック補正係数KFBを、適応制御則にしたがって求めるか、PID制御則に従って求めるか判別するものである。
【0109】
すなわち、エンジン水温TWが所定水温TWSTRONより低いか否かを判別し(ステップS170)、TW≧TWSTRONであるときは、エンジン回転数NEが所定回転数NESTRLMT以上であるか否かを判別し(ステップS171)、NE<NESTRLMTであるときは、エンジンがアイドル状態か否かを判別し(ステップS172)、アイドル状態でないときは、吸気管内絶対圧PBAが所定値以下の低負荷状態か否かを判別し(ステップS173)、低負荷状態でないときは、エンジンのバルブタイミングが高速バルブタイミングか否かを判別し(ステップS174)、高速バルブタイミングでないときは、検出当量比KACTが所定値aより小さいか否かを判別し(ステップS175)、所定値a以上のときは、検出当量比KACTが所定値b(>a)より大きいか否かを判別する(ステップS176)。
【0110】
その結果、ステップS170〜S176のいずれかの答が肯定(YES)のときは、PID制御領域と判定して(ステップS178)、本処理を終了する。
【0111】
ここで、PID制御領域と判定し、PID制御によりフィードバック補正係数KFBを算出することとした理由は以下の通りである。低水温時(TW<TWSTRON)は、燃焼が安定せず、失火などが生じるおそれがあり、安定した検出当量比KACTが得られないからである。なお、エンジン水温TWが異常に高いときも、同様の理由でPID制御によりフィードバック補正係数KFBを算出する。また、高回転時(NE≧NESTRLMT)は、ECUの演算時間が不足しがちであるとともに、燃焼も安定しないからである。また、高速バルブタイミング選択時は、吸排気弁がともに開弁しているオーバラップ期間が長いので、吸気がそのまま排気弁を通過して排出される、いわゆる吹き抜けが生じるおそれがあり、安定した検出当量比KACTを期待できないからである。また、エンジンのアイドル時は、運転状態がほぼ安定しており、適応制御のような高いゲインの制御は必要としないからである。
【0112】
また、検出当量比KACTが所定値aより小さいとき若しくは所定値bより大きいときは、エンジンの空燃比がリーン又はリッチのときであり、適応制御のような高いゲインの制御は行わない方がよいからである。この判別は、本実施例においては、検出当量比KACTで行ったが、目標当量比KCMDを用いて行ってもよい。
【0113】
一方ステップS170〜S176の答がすべて否定(NO)のときは、適応制御領域と判定して(ステップS177)、本処理を終了する。
【0114】
図17に戻り、ステップS157では、図18の処理の結果から、フィードバック補正係数KFBを適応制御で算出するか否かを判別する。ステップS157の答が否定(NO)のときは、前記ステップS164に進み、ステップS157の答が肯定(YES)のときは、ステップS158に進み、前回STRフラグFKSTRが「0」であったか否かを判別する。
【0115】
その結果前回FKSTR=1であったときは、直ちにステップS161に進み、前回はFKSTR=0であったときは、検出当量比KACTが所定上下限値KACTLMTH(例えば1.01),KACTLMTL(例えば0.99の範囲内にあるか否かを判別し(ステップS159、S160)、KACT<KACTLMTL又はKACT>KACTLMTHであるときは、前記ステップS164に進んで、PID補正係数KLAFを算出する。また、KACTLMTL≦KACT≦KACTLMTHであるときは、ステップS161に進み、KSTR演算処理(図19(b))を実行する。
【0116】
ステップS158〜S160により、PID制御から適応制御への切換は、適応制御領域であって、且つ検出当量比KACTが1.0付近の値のときに行われる。これにより、PID制御から適応制御への切換を滑らかに行うことができ、制御の安定性を確保することができる。
【0117】
図19(b)のステップS210では、前回フラグKSTRが「0」であったか否かを判別する。その結果、前回はFKSTR=1であったときは、直ちにステップS212に進み、前述した手法により適応補正係数KSTRを算出し、次いでフラグFKSTRを「1」に設定して、図19(b)の処理を終了する。
【0118】
一方、前回はFKSTR=0であったときは、適応パラメータ(ゲインを決定するスカラ量)b0を、PID補正係数の前回値KLAF(k−1)で除算した値に置き換えて(ステップS211)、前記ステップS212に進む。
【0119】
ステップS211で、適応パラメータb0をb0/KLAF(k−1)に置き換えることにより、PID制御から適応制御への切換をより滑らかに行うことができ、制御の安定性を確保することができる。これは、以下のような理由による。前記数式7のb0をb0/KLAF(k−1)に置き換えると、数式8の第1式に示すようになるが、第1式の第1項は、PID制御実行中はKSTR(k)=1としているので、1となる。従って、適応制御開始当初のKSTR(k)値は、KLAF(k−1)に等しくなり、補正係数値が滑らかに切り換えられることになる。
【0120】
【数8】
図17に戻り、ステップS161で求めた適応補正係数KSTRの値と1.0との差の絶対値|KSTR(k)−1.0|が基準値KSTRREFより大きいか否かを判別し(ステップS162)、|KSTR(k)−1.0|>KSTRREFであるときは、前記ステップS164に進む一方、|KSTR(k)−1.0|≦KSTRREFであるときは、フィードバック補正係数KFBをKSTR(k)値に設定して(ステップS163)、本処理を終了する。
【0121】
ここで、適応補正係数KSTRと1.0との差の絶対値が基準値KSTRREFより大きいときは、PID制御領域とするのは、制御の安定性確保のためである。
【0122】
図20及び図21は、本発明が適用される燃料供給系の異常検出プログラムフローチャートを示し、本プログラムはバックグラウンド処理手法によりECU5において実行される。
【0123】
図20において、まずステップS1101では、燃料供給系の異常検出(モニタ)を行うべきことを“0”によって示すフラグFFMPASSが“1”であるか否かを判別し、その答が肯定(YES)、即ち燃料供給系の異常検出を行う指示が未だない場合は、ステップS1102へ進む。
【0124】
ステップS1102では、後述するモニタ条件の継続時間を設定するモニタ条件持続タイマtCONT、パージカット後の安定化時間を設定するパージカット後安定化タイマtFMPGS、及び空燃比フィードバック補正係数(空燃比補正係数)KFBの積分値KAVの算出時間を設定するKAV算出タイマtCHKAVEをそれぞれ所定値に初期化してスタートさせる。なお、これらのタイマはダウンカウンタで構成されている。
【0125】
続くステップS1103では、燃料供給系の異常検出を行うためにパージカットを実施すべきことを“1”によって示すフラグFPGSCNTが“0”であるか否かを判別する。このフラグFPGSCNTは、後述する異常被判別係数KFBCHKAVEの算出処理において使用され、パージの影響による誤検出を排除するためのパージカットの指示が出ている場合にパージカットを実施するためのフラグである(後述するステップS1220で“1”にセットされる)。
【0126】
ステップS1103の答が肯定(YES)、即ちフラグFPGSCNTが“0”であり前記パージカットを実施しなかった場合はそのまま本ルーチンを終了する。また、その答が否定(NO)、即ち前記パージカットを実施した場合はパージコントロールを行うべきことを“1”によって示すフラグFPGSを“1”に設定すると共に、前記フラグFPGSCNTを“0”に設定して、再びパージを行えるように処理を戻して本ルーチンを終了する(ステップS1104)。
【0127】
一方、前記ステップS1101の答が否定(NO)、即ち燃料供給系の異常検出を行う指示が出た場合は、ステップS1105,S1106,S1107の判別処理を順次実行する。すなわち、ステップS1105では、パージの影響による誤検出を排除するためモニタの禁止を行うべきことを“1”によって示すフラグFFMPGPASSが“1”であるか否かを判別する。このフラグFFMPGPASSは、後述するステップS1120で“1”にセットされる。
【0128】
ステップS1106では、燃料供給系の異常を“1”によって示すフラグFFMNGが“1”でいるか否かを判別する。このフラグFFMNGは、後述する燃料供給系の異常が確定した場合に“1”にセット(後述ステップS1113)される。
【0129】
ステップS1107においては、本モニタがLAFセンサ17を使用して行われるのでLAFセンサ17が異常であるか否かを判別する。
【0130】
これらの判別処理の答が1つでも肯定(YES)、即ち、フラグFFMPGPASS=“1”、フラグFFMNG=“1”、あるいはLAFセンサが異常である場合は、燃料供給系の異常検出を行わないとして前記ステップS1102,S1103,S1104の処理を前述同様に実行する。
【0131】
そして、ステップS1105〜ステップS1107の判別処理において、その答が全て否定(NO)の場合、即ちフラグFFMPGPASS=“0”、フラグFFMNG=“0”、及びLAFセンサが異常でない場合は、燃料供給系の異常検出を行うものとして次のステップS1108へ進み、後述のサブルーチンで示す異常被判別係数KFBCHKAVEの算出処理を行う。
【0132】
前記ステップS1108における異常被判別係数KFBCHKAVEの算出処理後は、ステップS1109へ進む。このステップS1109では、前記異常被判別係数KFBCHKAVEが算出されたことを“1”で示すフラグFKFBCHKAVECHKが“1”であるか否かを判別し、その答が否定(NO)、即ち異常被判別係数KFBCHKAVEが算出されていないときは本ルーチンを終了する。その答が肯定(YES)、即ち異常被判別係数KFBCHKAVEが算出された場合は図21のステップS1111に進み、その算出された異常被判別係数KFBCHKAVEがそのKFBCHKAVE値の上限値KFBCHKAVEFSHよりも大きいか否かを判別する。
【0133】
ステップS1111の判別処理の答が肯定(YES)、即ち異常被判別係数KFBCHKAVEがそのKFBCHKAVE値の上限よりも大きい場合は、燃料供給系に異常があると判別し、ステップS1112において、パージカットを行うべきことを“1”で示すフラグFFMPGSを“0”に設定し、続いてステップS1113で前記フラグFFMNGを“1”に設定して本ルーチンを終了する。
【0134】
また、前記ステップS1111の判別の答が否定(NO)の場合は、S1ステップS1114に進む。このステップS1114では、パージの影響による誤検出の可能性の有無を判断するための閾値KFBCHKAVEPGLよりも今回のKFBCHKAVE値が小さいか否かを判別する。ここで、閾値KFBCHKAVEPGLは、図26に示すようにKFBCHKAVE値の下限値KFBCHKAVEFSLよりもやや大きく設定する。これは、閾値KFBCHKAVEPGLを下限値KFBCHKAVEFSLと同値にすると、後述するパージカットを行った際に、KFBCHKAVE値の変動が現れる以前に燃料供給系が異常と判定されるおそれがあるためである。
【0135】
ステップS1114の判別の答が肯定(YES)、即ちKFBCHKAVE値が閾値KFBCHKAVEPGLよりも小さく(図26のA1)、パージの影響による誤検出の可能性があると判断された場合はステップS1115に進み、前記フラグFFMPGSを“1”にして次回のモニタでパージカットを実施するように指示する(このパージカットは後述するステップS1219,S1220で実施される)。このように、異常被判別係数KFBCHKAVEが閾値KFBCHKAVEPGLを下回ったときのみパージカットを行うことにより、的確にパージの影響による誤検出を防止できるだけでなく、不要なパージカットが行われることがなくなる。これにより、頻繁なパージカット/パージの切り換えを行う必要がなくなり、運転性の悪化を防止できる。
【0136】
次いでステップS1116へ進み、KFBCHKAVE値がそのKFBCHKAVE値の下限値KFBCHKAVEFSLよりも小さいか否かを判別し、その答が肯定(YES)、即ちKFBCHKAVE値が下限値KFBCHKAVEFSLよりも小さい場合は、燃料供給系に異常があるとして前記ステップS1112及びステップS1113の処理を経て本ルーチンを終了する。その答が否定(NO)、即ちKFBCHKAVE値が下限値KFBCHKAVEFSLよりも大きい場合は、燃料供給系に異常がないとしてステップS1117で燃料供給系に異常がないことを“1”よって示すフラグFFMOKを“1”に設定し、本ルーチンを終了する。
【0137】
一方、次回のモニタで前記ステップS1114の判別を行った際、その答が否定(NO)、即ちKFBCHKAVE値が閾値KFBCHKAVEPGLよりも大きくなっている場合(前回のパージカットによりKFBCHKAVE値が上昇する;図26のA2)はステップS1118へ進み、前回(ステップS1115)でパージカットが指示されていたか否かを判別し、その答が肯定(YES)、即ちフラグFFMPGSが“1”で前回パージカットが指示されていた場合は、ステップS1119でフラグFFMPGSを“0”に設定してパージカットを停止する(図26のA3)。
【0138】
そして、このような時にモニタを実行することは、パージの影響によって正確なモニタが実施できない状況にあると判断し、続くステップS1120で前記フラグFFMPGPASSを“1”に設定して、モニタを禁止する指示を出す(図26のA4)。その後は、前記ステップS1116へ進んで前記同様の処理後、本ルーチンを終了する。
【0139】
次に、図22〜図25のフローチャートを用いて前記ステップS1108における異常被判別係数KFBCHKAVEの詳細な算出手法を説明する。
【0140】
図22において、まずステップS1201では、エンジン運転が特定運転領域にあるか否かを判別する。即ちエンジン回転数NEが下限回転数NAVEL(例えば1504rpm)と上限回転数NAVEL(例えば2496rpm)との間にあり(該上下限回転数はAT車とMT車とで別の値に設定してもよい)、吸気管内絶対圧PBAが下限圧PBAVEL(例えば263mmHg)と上限圧PBAVEH(例えば435mmHg)との間にあり(該上下限圧はAT車とMT車とで別の値に設定してもよい)、吸気温TAが下限温度TAAVEL(例えば20℃)と上限温度TWAVEH(例えば70℃)との間にあり、エンジン水温TWが下限温度TAAVEL(例えば70℃)と上限温度(例えば90℃)との間にあり、車速Vが下限速度VAVELと上限速度VAVEHとの間にあり、且つスロットル弁開度θTHが下限開度θTHAVELと上限開度θTHAVEHとの間にあるときエンジンが特定運転領域にあるとする。
【0141】
ステップS1201の答が肯定(YES)、即ちエンジン運転が特定運転領域にある場合はステップS1202へ進み、空燃比フィードバック制御中であるか否かを判別する。前記ステップS1201またはステップS1202の答が否定(NO)、即ちエンジン運転が特定運転領域にない場合、または空燃比フィードバック制御が行われていない場合は、LAFセンサ17の出力に応じた空燃比補正係数KFBの算出が行われないので、KFBCHKAVE値の算出処理は実行せずに、図23に示すステップS1203〜ステップS1209の処理を行い、本サブルーチンを終了する。
【0142】
すなわち、ステップS1203〜S1205において、順次、前記モニタ条件持続タイマtCONT、パージカット後安定化タイマtFMPGS、及びKAV算出タイマtCHKAVEをそれぞれ所定値に初期化してスタートさせる。さらに、ステップS1206で前記フラグFKFBCHKAVECHKを“0”に設定しておき、続くステップS1207で前記フラグFPGSCNTが“0”であるか否かを判別する。その答が否定(NO)、即ちフラグFPGSCNTが“0”でない場合はステップS1208へ進み、前記フラグFPGSを“1”に設定すると共に、前記フラグFPGSCNTを“0”に戻して、ステップS1209でフラグFKACTSTを“0”に設定して本サブルーチンを終了する。ここで、フラグFKACTSTは、他の制御ルーチンでLAFセンサ17の出力を当量比に変換して得られる検出当量比KACTと目標当量比KCMDとの大小関係の反転(以下単に「KACT値の反転」という)があったときに“1”に設定される反転確認フラグである(後述のステップS1217で“1”にセットされる)。また、前記ステップS1207の答が肯定(YES)、即ちフラグFPGSCNTが“0”のときは、前記ステップS1208をスキップしてステップS1209を経て本サブルーチンを終了する。
【0143】
図22に戻り、前記ステップS1201及びステップS1202の答が肯定(YES)、即ちエンジン運転が特定運転領域となり、且つ空燃比フィードバック制御中となった場合はステップS1210へ進み、前記フラグFKFBCHKAVECHKが“1”であるか否かを判別する。その答が否定(NO)、即ちフラグFKFBCHKAVECHKが0”で未だ異常被判別係数KFBCHKAVEが算出されていないときは次のステップS1211へ進んで、タイマtCONTが“0”であるか否かを判別する。
【0144】
前記ステップS1210の答が肯定(YES)、即ちフラグFKFBCHKAVECHKが“1”で既にKFBCHKAVE値が算出されている場合、または前記ステップS1211の答が否定(NO)、即ちタイマtCONTが“0”でない場合は、前記ステップS1207〜ステップS1209の処理を同様に行って本サブルーチンを終了する。
【0145】
前記ステップS1210の答が否定(NO)、即ちKFBCHKAVE値が算出されておらず、前記ステップS1211の答が肯定(YES)、即ちタイマtCONTが“0”となり、エンジン運転が特定運転領域にある空燃比フィードバック制御状態が所定時間継続した場合は、モニタ条件が成立したことになり、ステップS1300以降で実際に異常被判別係数KFBCHKAVE算出の処理を行う。
【0146】
まず、ステップS1300では図19のステップS204又はS213で設定したフラグFKSTRが「1」か否かを判別する。その判別の結果、「1」に設定されていないときは、積分値KAV算出のための異常判定パラメータKFBCHKに、PID制御の積分項KLAFIをセットし(ステップS1301)、一方「1」に設定されているときは異常判定パラメータKFBCHKにSTR制御の適応補正係数KSTRのフィルタ出力値KSTRLOをセットして(ステップS1302)からステップS1212へ進む。なおここで、フィルタ出力値KSTRLOは適応補正係数KSTRをローパスフィルタブロックB24に通過させ、いわゆる一次遅れプロセス等によりその値を平滑化して得られる。制御応答性の非常に高いSTR制御では、その補正係数KSTRの動きおよび変化幅が大きいので、ローパスフィルタ出力値KSTRLOを用いることにより、積分値KAVの変動を抑制し、適切な異常被判別係数KFBCHKAVEを得ることができる。その結果、適応補正係数KSTRを用いて正確な異常検出を行うことが可能となる。
【0147】
次に、ステップS1212では、前記フラグFFMPGSが“1”であるか否かを判別する。初回は、その答が否定(NO)、即ちフラグFFMPGSが“0”でパージカットの指示が出ていないので、図24のステップS1213へ進む。
【0148】
図24において、ステップS1213では、タイマtFMPGSが“0”となったか否かを判別し、その答が否定(NO)、即ち前記ステップS1205でスタートされたタイマtFMPGSが“0”となっていない場合は、パージ開始から所定時間の経過がないとしてステップS1214へ進む。このステップS1214では、前記フラグFKACTSTを“0”にして本サブルーチンを終了する。
【0149】
前記ステップS1213の答が肯定(YES)、即ちタイマtFMPGSが“0”となってパージ開始から所定時間経過した場合は、ステップS1215へ進み、前記フラグFKACTSTが“1”であるか否かを判別する。初回では、その答は否定(NO)、即ちフラグFKACTSTが“0”であってKACT値の反転は確認されていないので、ステップS1216においてKACT値が反転されているか否かを判別する。その答が否定(NO)、即ちKACT値が反転されていない場合は、本サブルーチンを終了し、肯定(YES)、即ちKACT値が反転されていた場合は、ステップS1217で前記フラグFKACTSTを“1”に設定すると共に、ステップS1218で現在のKFBCHK値をその積分値KAVの初期値として設定して本サブルーチンを終了する。
【0150】
図22に戻り、2回目以降において、前記ステップS1212の答が肯定(YES)、即ちフラグFFMPGSが“1”となりパージの影響による誤検出を排除するためのパージカットの指示が出ている場合は、ステップS1219へ進む。このステップS1219では、前記フラグFPGSが“1”であるか否かを判別し、その答が肯定(YES)、即ちパージカットの指示が出ているにも拘らずフラグFPGSが“1”で実際にパージカットが行われていない場合は、ステップS1220へ進む。
【0151】
ステップS1220では、前記フラグFPGSを“0”に設定してパージカットを指示し、且つ前記フラグFPGSCNTを“1”に設定してパージカットを実施した後、図24に示す前記ステップS1213へ進む。また、前記ステップS1219の答が否定(NO)、パージカット指示によりパージカットとなっている場合は、そのままステップS1213へ進む。このステップS1213では、上記同様の処理を行って前記ステップS1215へ進む。
【0152】
ステップS1215の判別では、前回でKACT値が反転していればフラグFKACTSTが“1”となっているので、その答は肯定(YES)、即ちKACT値の反転が確認され、ステップS1221へ進んで、再度、KACT値が反転されているか否かを判別する。その答が肯定(YES)、即ちKACT値が反転されているときは下記数式9に基づき異常判定パラメータKFBCHKの学習平均値である積分値KAVを算出する(ステップ1222)。
【0153】
【数9】
但し、CO2AVは1〜100Hのうち、特定運転領域において異常判定パラメータKFBCHKの変化に対する追従性をよくするために比較的大きな値に設定される変数であり、KAV’は積分値KAVの前回値であって、その初期値は、前回エンジンが特定運転領域あった時に得られ記憶された最後のKFBCHKAVE値とし、エンジン始動後最初に特定運転領域に突入した時は、係数KFBCHKAVE値の初期値とする。
【0154】
また、ステップS1221の答が否定(NO)、即ちKACT値が反転されていない場合は、前記ステップS1222をスキップして、積分値KAVは前回値を採用する。
【0155】
続くステップS1223では、タイマtCHKAVEが“0”となっているか否かを判別し、その答が否定(NO)、即ちタイマtCHKAVEが“0”となっていない場合は本サブルーチンを終了する。その答が肯定(YES)、即ちタイマtCHKAVEが“0”となりKAV値の算出後所定時間が経過した場合は、図25のステップS1224へ進む。
【0156】
ステップS1224では、このように決定された積分値KAVが、前回KFBCHKAVE値に経年変化判定用偏差ΔKFBCHKAVE(例えば800H)を加算した値より大きいか否かを判別する。なお、係数KFBCHKAVEの初期値は他の制御ルーチンで決定されるKFBの平均値KREFとする。このステップS1224の答が肯定(Yes)ならば下記数式10に基づき異常被判別係数KFBCHKAVEの今回値を算出して更新する(ステップS1225)。
【0157】
【数10】
KFBCHKAVE=KFBCHKAVE’+α×ΔKFBCHKAVE
但しKFBCHKAVE’は係数KFBCHKの前回値を示し、右辺の係数αは運転状態に応じて設定される係数(≦1.0)であり、例えば0.5に設定される。
【0158】
次にステップS1226でフラグFKFBCHKAVECHKを、1に設定して、ステップS1227へ進む。このステップS1227では、フラグFPGSCNTが“0”であるか否かを判別し、その答が肯定(YES)、即ち燃料供給系の異常検出のためのパージカットを実施していなかった場合は、本サブルーチンを終了し、その答が否定(NO)、即ち燃料供給系の異常検出のためのパージカットを実施していた場合は、ステップS1228へ進む。
【0159】
ステップS1228では、前記フラグFPGSを“1”に設定すると共に、前記フラグFPGSCNTを“0”に設定してパージを元に戻し、本サブルーチンを終了する。
【0160】
ステップS1224の答が否定(No)ならば前記積分値KAVが、前回KFBCHKAVE値から前記経年変化判定用偏差値ΔKFBCHKAVEを減算した値より小さいか否かを判別する(ステップS1229)。この答が肯定(Yes)ならば下記数式11に基づき異常被判別係数KFBCHKAVEの今回値を算出して更新する(ステップS1230)。
【0161】
【数11】
KFBCHKAVE=KFBCHKAVE’−α×ΔKFBCHKAVE
その後、前記ステップS1226,S1227,S1228の処理を前記同様に行って本サブルーチンを終了する。また、前記ステップS1229の答が否定(NO)であれば前記ステップS1230をスキップして本サブルーチンを終了する。
【0162】
図22乃至図25の処理により、空燃比制御がPID制御による場合とSTR制御による場合とにかかわらず、異常被判別係数KFBCHKAVEが適切に算出され、これを図20、図21の燃料供給系の異常検出処理に用いることにより、正確な異常検出を行うことができる。
【0163】
なお、上述した実施例では適応制御実行中は、KSTR値をローパスフィルタ処理したKSTRLO値を用いて(KFBCHK=KSTRLOとして)積分値KAVを算出するようにしたが、これに限るものではなく、例えば適応制御実行中はKFBCHK=KSTRとするとともに、数式9の変数CO2AVをPID制御実行中より小さな値とし、数式9によるなましの度合をより大きくするようにしてもよい。
【0164】
【発明の効果】
以上詳述したように本発明の内燃機関の空燃比制御装置によれば、空燃比センサの出力に基づいて漸化式形式の制御器を用いて空燃比補正係数が算出され、前記空燃比補正係数が平滑化され、前記平滑化された空燃比補正係数の平均値が算出され、前記平均値に基づいて前記エンジンの燃料供給系の異常が検出されるので、漸化式形式の制御器を用いた空燃比フィードバック制御実行中においても従来の手法に対し複雑な構成の追加を必要とすることなく、容易かつ正確に燃料供給系の異常検出をすることができる。
【図面の簡単な説明】
【図1】本発明の一実施例にかかる内燃機関及びその制御装置の構成を示す図である。
【図2】図1の一部の詳細な構成を示す図である。
【図3】本実施例における空燃比制御手法を説明するための機能ブロック図である。
【図4】LAFセンサ出力に基づいて空燃比補正係数を算出する処理のフローチャートである。
【図5】最終目標空燃比係数(KCMDM)算出処理のフローチャートである。
【図6】目標空燃比係数(KCMD)算出処理のフローチャートである。
【図7】TDC信号パルスとLAFセンサ出力との関係を示す図である。
【図8】LAFセンサ出力の最適なサンプリング時期を説明するための図である。
【図9】LAFセンサ出力選択処理を説明するための図である。
【図10】LAFセンサ出力選択処理のフローチャートである。
【図11】LAFセンサ出力選択用タイミングマップを示す図である。
【図12】図11のマップの設定傾向説明するための図である。
【図13】検出当量比(KACT)算出処理のフローチャートである。
【図14】LAFフィードバック領域判別処理のフローチャートである。
【図15】PID補正係数(KLAF)算出処理のフローチャートである。
【図16】適応補正係数(KSTR)の算出処理を説明するためのブロック図である。
【図17】フィードバック補正係数(KFB)の算出処理のフローチャートである。
【図18】適応制御領域判別処理のフローチャートである。
【図19】KLAF/KSTR演算処理のフローチャートである。
【図20】異常検出プログラムのフローチャートである。
【図21】異常検出プログラムのフローチャートである。
【図22】図20に示されるステップS1108の詳細なプログラムのフローチャートである。
【図23】図20に示されるステップS1108の詳細なプログラムの続きのフローチャートである。
【図24】図20に示されるステップS1108の詳細なプログラムのフローチャートである。
【図25】図20に示されるステップS1108の詳細なプログラムの続きのフローチャートである。
【図26】パージの影響による異常被判別係数KFBCHKAVEの変動を示す図である。
【符号の説明】
1 内燃機関(本体)
5 電子コントロールユニット(ECU)
12 燃料噴射弁
17 広域空燃比センサ
Claims (1)
- 内燃機関の排気系に設けられた空燃比センサの出力に基づいて漸化式形式の制御器を用いて前記機関に供給する燃料を補正する空燃比補正係数を算出し、該算出された空燃比補正係数を用いて前記機関の空燃比を目標値に収束させるように前記機関に供給する燃料をフィードバック制御する制御手段を備えた内燃機関の空燃比制御装置において、
前記算出された空燃比補正係数を平滑化するフィルタ手段と、
前記平滑化された空燃比補正係数の平均値を算出する平均値算出手段と、
前記平均値に基づいて前記機関の燃料供給系の異常を検出する異常検出手段とを備えたことを特徴とする内燃機関の空燃比制御装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP06178395A JP3575708B2 (ja) | 1995-02-24 | 1995-02-24 | 内燃機関の空燃比制御装置 |
| US08/602,115 US5619976A (en) | 1995-02-24 | 1996-02-23 | Control system employing controller of recurrence formula type for internal combustion engines |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP06178395A JP3575708B2 (ja) | 1995-02-24 | 1995-02-24 | 内燃機関の空燃比制御装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH08232721A JPH08232721A (ja) | 1996-09-10 |
| JP3575708B2 true JP3575708B2 (ja) | 2004-10-13 |
Family
ID=13181041
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP06178395A Expired - Fee Related JP3575708B2 (ja) | 1995-02-24 | 1995-02-24 | 内燃機関の空燃比制御装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3575708B2 (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007291984A (ja) * | 2006-04-26 | 2007-11-08 | Toyota Motor Corp | 内燃機関の空燃比制御装置 |
| CN119102905B (zh) * | 2024-09-04 | 2025-09-30 | 东风汽车集团股份有限公司 | 一种发动机动态断油识别方法 |
-
1995
- 1995-02-24 JP JP06178395A patent/JP3575708B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH08232721A (ja) | 1996-09-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3581737B2 (ja) | 内燃機関の空燃比制御装置 | |
| JP3841842B2 (ja) | 内燃機関の制御装置 | |
| JP3765617B2 (ja) | 内燃機関の空燃比制御装置 | |
| JP3729295B2 (ja) | 内燃機関の空燃比制御装置 | |
| JP3683357B2 (ja) | 内燃機関の気筒別空燃比推定装置 | |
| JP3683356B2 (ja) | 内燃機関の空燃比制御装置 | |
| JP3372723B2 (ja) | 内燃機関の空燃比制御装置 | |
| JPH1073040A (ja) | 内燃機関の空燃比制御装置 | |
| US6082345A (en) | Air-fuel ratio control system for internal combustion engines | |
| US5619976A (en) | Control system employing controller of recurrence formula type for internal combustion engines | |
| JPH03179147A (ja) | 内燃機関の空燃比学習制御装置 | |
| JP3683363B2 (ja) | 内燃機関の空燃比制御装置 | |
| JP3575708B2 (ja) | 内燃機関の空燃比制御装置 | |
| JP3304843B2 (ja) | プラントの制御装置 | |
| JP3549144B2 (ja) | 内燃機関の空燃比制御装置 | |
| JPH1073043A (ja) | 内燃機関の空燃比制御装置 | |
| JP3962100B2 (ja) | 内燃機関の制御装置 | |
| JP3847304B2 (ja) | 内燃機関の空燃比制御装置 | |
| JP3889410B2 (ja) | 内燃機関の空燃比制御装置 | |
| JP3535722B2 (ja) | 内燃機関の空燃比制御装置 | |
| JP3743591B2 (ja) | 内燃機関の空燃比制御装置 | |
| JPH08232707A (ja) | 内燃機関の制御装置 | |
| JP2754500B2 (ja) | 内燃エンジンの空燃比制御方法 | |
| JP4073563B2 (ja) | 内燃機関の制御装置 | |
| JPH08232731A (ja) | 内燃機関の制御装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040330 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040615 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040702 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080716 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090716 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100716 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100716 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110716 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110716 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120716 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120716 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130716 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140716 Year of fee payment: 10 |
|
| LAPS | Cancellation because of no payment of annual fees |
