(57)【要約】【課題】  エンジン制御装置において、Ａ／Ｆ（空燃比）センサが正常でない場合でも、そのセンサが正常な場合と同様の制御性能を発揮できるようにする。【解決手段】  Ａ／Ｆセンサからの信号に基づいてＡ／Ｆ値を算出し、その算出したＡ／Ｆ値（以下、Ａ／Ｆセンサに基づくＡ／Ｆ値）を用いてエンジンの制御を実施する制御装置において、Ａ／Ｆセンサが異常と判定した場合には、Ａ／Ｆセンサに基づくＡ／Ｆ値を用いずに、エンジンへの流入空気量の算出値Ｍａを燃料噴射量の算出値Ｍｂで割った値を、代替Ａ／Ｆ値として求め、その代替Ａ／Ｆ値をエンジンの制御に用いる。この装置によれば、Ａ／Ｆセンサの異常時に、Ａ／Ｆセンサに基づくＡ／Ｆ値に代えて、デフォルト値を用いるよりも、実際の流入空気量と燃料噴射量から算出した代替Ａ／Ｆ値を用いることにより、より緻密で高精度なエンジン制御が可能となる。【選択図】  図５
2006250115.tif 000002
【特許請求の範囲】
【請求項１】
エンジンの排気系に設けられた空燃比センサからの信号に基づいて前記エンジンの空燃比を算出し、その算出した空燃比（以下、空燃比センサに基づく空燃比算出値という）を用いて前記エンジンの制御を実施するエンジン制御装置において、
前記空燃比センサが正常であるか否かを判定する異常判定手段と、
前記エンジンへの流入空気量と燃料噴射量とを算出すると共に、その算出した流入空気量と燃料噴射量から、前記空燃比センサに基づく空燃比算出値に代えて前記エンジンの制御に用いる空燃比（以下、代替空燃比という）を算出する代替空燃比算出手段とを備え、
前記異常判定手段により前記空燃比センサが異常であると判定された場合には、前記空燃比センサに基づく空燃比算出値の代わりに、前記代替空燃比算出手段により算出される代替空燃比を用いて、前記エンジンの制御を実施するように構成されていること、
を特徴とするエンジン制御装置。
【請求項２】
請求項１に記載のエンジン制御装置において、
前記異常判定手段は、
前記空燃比センサのセンサ素子を加熱して活性化させるために前記空燃比センサに設けられているヒータが正常であるか否かも判定し、そのヒータの異常を検知した場合にも、前記空燃比センサが異常であると判定すること、
を特徴とするエンジン制御装置。
【請求項３】
請求項１又は請求項２に記載のエンジン制御装置において、
前記異常判定手段により前記空燃比センサが正常であると判定されている場合に、前記代替空燃比算出手段により算出される代替空燃比と前記空燃比センサに基づく空燃比算出値との差分から、前記代替空燃比を前記空燃比センサに基づく空燃比算出値に一致させるための補正量を算出する補正量算出手段と、
前記異常判定手段により前記空燃比センサが異常であると判定されている場合に、前記代替空燃比算出手段により算出される代替空燃比を、前記補正量算出手段により算出されている補正量を用いて補正する補正手段とを備え、
前記異常判定手段により前記空燃比センサが異常であると判定された場合には、前記補正手段により補正された後の代替空燃比を用いて、前記エンジンの制御を実施するように構成されていること、
を特徴とするエンジン制御装置。
【請求項４】
請求項１ないし請求項３の何れか１項に記載のエンジン制御装置において、
前記エンジンは複数の気筒を備えており、
前記代替空燃比算出手段は、
前記エンジンの各気筒毎に、流入空気量と燃料噴射量とを算出すると共に、その流入空気量と燃料噴射量から前記代替空燃比を算出するように構成されていること、
を特徴とするエンジン制御装置。
【請求項５】
請求項４に記載のエンジン制御装置において、
前記エンジンは、各気筒への燃料噴射を実施する期間（以下、燃料噴射実施期間という）が、各気筒同士で重ならないタイプのエンジンであり、
前記代替空燃比算出手段は、
各気筒の燃料噴射実施期間が終了したタイミング、或いは、その終了タイミングから次の気筒に対する燃料噴射が開始されるまでの間のタイミングにて、それまで燃料噴射を実施していた気筒についての流入空気量と燃料噴射量から前記代替空燃比を算出するように構成されていること、
を特徴とするエンジン制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関型のエンジンを制御する装置に関するものである。
【背景技術】
【０００２】
従来より、例えば自動車のエンジンを制御する装置では、エンジンの排気系に設けられた空燃比センサからの信号に基づいて空燃比を算出し、その算出した空燃比（以下、空燃比センサに基づく空燃比算出値という）を用いてエンジンの制御を実施している（例えば、特許文献１，２参照）。
【０００３】
また、エンジンの制御に必要な情報を収集するためのセンサが正常であるか否かを判定して、異常と判定した場合には、何らかのフェイルセーフを実施することも周知である。
例えば、水温センサや圧力センサを例に挙げると、そのセンサが異常であると判定した場合には、そのセンサからの信号に基づき算出される水温や圧力などの物理量に代えて、予め用意されたデフォルト値をエンジンの制御に用いる、といったフェイルセーフが考えられる。
【特許文献１】特開平８−１２１２１８号公報
【特許文献２】特開平８−２９１７４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、本願出願人は、例えば、エンジンにおけるＥＧＲ（EXHAUST GAS RECIRCULATION）システムの制御や、ディーゼルエンジンの後処理システム（ディーゼルエンジンの排出ガスに含まれる粒子状物質（ＰＭ）をディーゼルパティキュレートフィルタ（ＤＰＦ）で捕捉し、その捕捉したＰＭが既定量に達した時にＤＰＦの温度を上げ、ＤＰＦに担持した触媒の反応によりＰＭを燃焼させ、ＰＭが付着したＤＰＦを再生するシステム）の制御に、空燃比センサに基づく空燃比算出値を用いることを考えている。
【０００５】
しかし、このような用途の場合、空燃比センサの異常を検知した際に、空燃比センサに基づく空燃比算出値の代わりにデフォルト値を用いるように構成したのでは、十分な制御性能を発揮できないばかりか、その制御が達成しようとしている目標の状態から、かえって遠ざかってしまう可能性がある。
【０００６】
そこで本発明は、エンジン制御装置において、空燃比センサが正常でない場合でも、その空燃比センサが正常な場合と同様の制御性能を発揮できるようにすることを目的としている。
【課題を解決するための手段】
【０００７】
上記目的を達成するためになされた請求項１のエンジン制御装置は、エンジンの排気系に設けられた空燃比センサからの信号に基づいてエンジンの空燃比を算出し、その算出した空燃比（空燃比センサに基づく空燃比算出値）を用いてエンジンの制御を実施するが、空燃比センサが正常であるか否かを判定する異常判定手段に加え、更に、代替空燃比算出手段を備えている。
【０００８】
即ち、その代替空燃比算出手段は、エンジンへの流入空気量と燃料噴射量とを算出すると共に、その算出した流入空気量と燃料噴射量から、空燃比センサに基づく空燃比算出値に代えてエンジンの制御に用いる空燃比（以下、代替空燃比という）を算出する。
【０００９】
そして、この請求項１のエンジン制御装置は、異常判定手段によって空燃比センサが異常であると判定された場合には、空燃比センサに基づく空燃比算出値の代わりに、代替空燃比算出手段により算出される代替空燃比を用いて、エンジンの制御を実施するように構成されている。
【００１０】
よって、このような請求項１のエンジン制御装置によれば、空燃比センサが正常でない場合でも、その空燃比センサが正常な場合と同様の制御性能を発揮することができるようになる。つまり、空燃比センサに基づく空燃比算出値の代わりに、デフォルト値を用いるよりも、実際の流入空気量と燃料噴射量から算出した代替空燃比を用いることにより、より緻密で高精度なエンジン制御が可能となるからである。
【００１１】
ところで、異常判定手段は、空燃比センサの出力信号異常や、空燃比センサの端子に関連する異常（端子の電源又はグランドラインへのショート故障や断線故障）を検出するように構成することができるが、一般に、空燃比センサには、センサ素子を加熱して活性化させるためにヒータが設けられているため、請求項２に記載のように、そのヒータが正常であるか否かも判定して、そのヒータの異常を検知した場合にも、空燃比センサが異常であると判定するように構成することが好ましい。
【００１２】
このように構成すれば、空燃比センサ自身の故障時のみならず、ヒータが故障してセンサ素子を活性化させることができない場合（つまり、空燃比センサからの信号を用いて空燃比を正確に算出できない場合）にも、代替空燃比を用いてエンジンの制御を実施できるようになるからである。
【００１３】
次に、請求項３のエンジン制御装置では、請求項１，２のエンジン制御装置において、下記の補正量算出手段と補正手段とを備えている。
即ち、補正量算出手段は、異常判定手段により空燃比センサが正常であると判定されている場合に、代替空燃比算出手段により算出される代替空燃比と空燃比センサに基づく空燃比算出値との差分から、代替空燃比を空燃比センサに基づく空燃比算出値に一致させるための補正量を算出する。
【００１４】
そして、補正手段は、異常判定手段により空燃比センサが異常であると判定されている場合に、代替空燃比算出手段により算出される代替空燃比を、その時点で補正量算出手段により算出されている補正量を用いて補正する。
【００１５】
そして更に、請求項３のエンジン制御装置では、異常判定手段によって空燃比センサが異常であると判定された場合には、補正手段により補正された後の代替空燃比を用いてエンジンの制御を実施するようになっている。
【００１６】
つまり、請求項３のエンジン制御装置では、空燃比センサが正常な場合に、代替空燃比の補正量を求めておき、空燃比センサが異常となった場合には、その補正量を用いて、代替空燃比算出手段により算出される代替空燃比を補正することにより、エンジンの制御に用いられる代替空燃比が、より実際の空燃比に近いものとなるようにしている。
【００１７】
よって、この請求項３のエンジン制御装置によれば、空燃比センサが異常になった場合の制御精度及び制御性能を一層高めることができる。
ところで、制御対象のエンジンとしては、複数の気筒を備えた多気筒エンジンが一般的であるが、その場合には、請求項４のように構成するのが好ましい。
【００１８】
即ち、請求項４のエンジン制御装置では、請求項１〜３のエンジン制御装置において、代替空燃比算出手段は、エンジンの各気筒毎に、流入空気量と燃料噴射量とを算出すると共に、その流入空気量と燃料噴射量から代替空燃比を算出するように構成されている。
【００１９】
そして、このような請求項４のエンジン制御装置によれば、常に最新の空燃比でエンジンを制御することができるようになり、延いては、空燃比センサが異常になった場合の制御精度及び制御性能を一層高めることができる。
【００２０】
なお、制御対象のエンジンが、各気筒への燃料噴射を実施する期間（以下、燃料噴射実施期間という）が各気筒同士で重ならないタイプのエンジンであるならば、代替空燃比算出手段は、請求項５に記載のように構成することができる。
【００２１】
即ち、代替空燃比算出手段は、各気筒の燃料噴射実施期間が終了したタイミング、或いは、その終了タイミングから次の気筒に対する燃料噴射が開始されるまでの間のタイミングにて、それまで燃料噴射を実施していた気筒についての流入空気量と燃料噴射量から代替空燃比を算出するように構成することができる。つまり、各気筒毎の燃料噴射出力が完全に終了するタイミングで、それまで燃料噴射を実施していた気筒についての代替空燃比を算出するように構成することにより、各気筒毎についての代替空燃比を確実に算出することができるようになる。
【発明を実施するための最良の形態】
【００２２】
以下に、本発明が適用された実施形態のエンジン制御システムについて説明する。
図１に示すように、本実施形態のエンジン制御システムが制御対象とするエンジン１は、シリンダ２を４つ有した４気筒のディーゼルエンジンであり、高圧燃料ポンプ３から圧送される燃料がコモンレール４で高圧状態に蓄積され、そのコモンレール４から各気筒に設けられたインジェクタ５へ燃料が供給されるようになっている。
【００２３】
そして、このエンジン制御システムでは、エンジン制御用の電子制御装置（以下、ＥＣＵという）６が、エンジン１の吸気経路に設けられたエアフロセンサ（エアフロメータとも呼ばれる）７からの信号に基づいてエンジン１への流入空気量を検出すると共に、コモンレール４に設けられた圧力センサ８からの信号に基づいてコモンレール４内の圧力を検出する。
【００２４】
更に、ＥＣＵ６には、アクセルペダルの操作量を示すアクセルペダルセンサ信号、エンジン１のクランク軸の回転に同期して一定のクランク角毎（例えば６°ＣＡ毎）にパルスエッジが生じる回転信号、エンジン１の冷却水温を示す水温センサ信号、エンジン１の吸気温度を示す吸気温センサ信号、ブースト圧を示すブーストセンサ信号、イグニッションスイッチ（ＳＷ）のオン／オフを示すイグニッションＳＷ信号、及びスタータスイッチのオン／オフを示すスタータＳＷ信号など、他の各種信号も入力される。尚、ＣＡとは、クランク角（クランク軸の回転角度）を意味する慣用的な添え字である。
【００２５】
そして、ＥＣＵ６は、それら各種入力信号と上記流入空気量やコモンレール４内圧力の検出値に基づいて、様々なエンジン制御用パラメータの演算を行い、その演算結果に基づいて、高圧燃料ポンプ３やインジェクタ５を駆動する。
【００２６】
また、エンジン１には、エミッション制御用のアクチュエータとして、吸気絞り弁９、ＥＧＲ装置１０、及びターボチャージャー１１が設けられており、これらのアクチュエータもＥＣＵ６により制御されている。
【００２７】
更に、エンジン１から排出される排気ガスの中には粒子状物質（ＰＭ）が含まれているため、エンジン１には、そのＰＭを捕捉し焼却するための後処理システム１２が備えられている。
【００２８】
この後処理システム１２は、主に、ＰＭを焼却させるための熱源を発生させる酸化触媒１３と、ＰＭを捕捉する粒子状物質捕捉装置（いわゆるＤＰＦ）１４とから成る。
そして、酸化触媒１３の入口には、その酸化触媒１３の温度をＥＣＵ６が計測するための入口温度センサ１５が設けられており、粒子状物質捕捉装置１４の出口には、その粒子状物質捕捉装置１４の温度をＥＣＵ６が計測するための出口温度センサ１６が設けられている。
【００２９】
また、この後処理システム１２には、粒子状物質捕捉装置１４の前後の圧力差を計測するための差圧センサ１７が備えられており、その差圧センサ１７により計測される圧力差は、ＥＣＵ６が粒子状物質捕捉装置１４におけるＰＭの堆積状態を推定するのに使用される。
【００３０】
一方、酸化触媒１３は、排気ガスの熱で２００℃位まで熱せられた後、再生処理用の噴射出力によりＨＣが供給されて６００℃以上まで温度を上昇させ、この高熱を粒子状物質捕捉装置１４に伝えるようになっている。
【００３１】
更に、エンジン１の排気経路には、空燃比センサ（以下、Ａ／Ｆセンサという）１８が設けられている。そして、ＥＣＵ６は、そのＡ／Ｆセンサ１８からの信号に基づいて空燃比を算出すると共に、その算出した空燃比の値（以下、Ａ／Ｆ値という）を、ＥＧＲ装置１０や後処理システム１２の制御に使用している。具体的には、ＥＧＲ装置１０によるＥＧＲ量（排気の吸気への還流量）を決定したり、粒子状物質捕捉装置１４におけるＰＭの堆積量を推定したりするパラメータとしてＡ／Ｆ値を用いている。
【００３２】
また、本発明とは直接関係はないため詳細には説明しないが、ＥＣＵ６は、グロープラグ、各種ダイアグランプ、ラジエータファン、及び給電用のメインリレーといった他の各種アクチュエータも制御している。
【００３３】
ここで、図２に示すように、ＥＣＵ６には、当該ＥＣＵ６の動作を司るＣＰＵ、ＲＯＭ、及びＲＡＭなどを有した周知のマイコンからなる演算処理部２１に加え、Ａ／Ｆセンサ１８を制御するＡ／Ｆセンサ制御回路（以下単に、制御回路という）２３が備えられている。そして、演算処理部２１は、その制御回路２３と連係して、Ａ／Ｆセンサ１８に関連した情報処理を行う。
【００３４】
そこで次に、Ａ／Ｆセンサ１８に関連した情報処理について説明する。
まず、Ａ／Ｆセンサ１８は、センサ素子部２５と、そのセンサ素子部２５を加熱するためのヒータ２７とからなる。つまり、センサ素子部２５は  約７００℃で活性状態となり空燃比を正常に検出できるようになるため、ヒータ２７への通電を制御して、センサ素子部２５の温度を約７００℃に保つようにしている。
【００３５】
また、制御回路２３は、下記（１）〜（４）の機能を有している。
（１）演算処理部２１からのヒータ制御用ＰＷＭ信号に応じて、ヒータ２７への通電経路を断続させることにより、そのヒータ２７に流れる電流を制御する。
【００３６】
（２）ヒータ２７に実際に流れている電流に比例した電圧信号をヒータ電流信号として演算処理部２１に出力する。
（３）センサ素子部２５の両端子間に空燃比を検出するための検出用電圧（例えば３Ｖ）を印加すると共に、センサ素子部２５の両端子間に流れる電流（以下、センサ電流という）に比例した電圧信号を、Ａ／Ｆ出力電圧信号として演算処理部２１に出力する。
【００３７】
（４）演算処理部２１からの素子インピーダンス取得要求信号を受けると、センサ素子部２５の両端子間に印加する印加電圧を一定量だけ急峻に変化させる。そして、その印加電圧の実際の変化量ΔＶに比例した電圧信号を、素子インピーダンス電圧信号として演算処理部２１に出力すると共に、上記印加電圧の変化に伴い発生するセンサ電流の変化量ΔＩに比例した電圧信号を、素子インピーダンス電流信号として演算処理部２１に出力する。
【００３８】
そして、演算処理部２１は、センサ素子部２５が活性状態になっている場合において、図３（ａ）に示すように、制御回路２３からのＡ／Ｆ出力電圧信号の電圧値を読み込み、その読み込んだ電圧値からＡ／Ｆ値を算出する。尚、このＡ／Ｆ値の算出は、例えば１ｍｓ毎に実施される。
【００３９】
また、演算処理部２１は、図３（ｂ）に示すように、制御回路２３へ素子インピーダンス取得要求信号を出力して、その制御回路２３から出力される素子インピーダンス電圧信号と素子インピーダンス電流信号との各電圧値を読み込む。そして、素子インピーダンス電圧信号の電圧値から、センサ素子部２５への印加電圧の変化量ΔＶを算出し、素子インピーダンス電流信号の電圧値から、センサ電流の変化量ΔＩを算出する。そして更に、その算出した印加電圧の変化量ΔＶとセンサ電流の変化量ΔＩとから、ΔＶをΔＩで割ることにより、センサ素子部２５のインピーダンスである素子インピーダンスＺを算出する。尚、この素子インピーダンスＺの算出は、例えば６４ｍｓ毎に実施される。
【００４０】
また、図３（ｂ）における右側のグラフに示すように、素子インピーダンスＺの値はセンサ素子部２５の温度（素子温度）に応じて変わる。尚、そのグラフの横軸では、右側ほど、素子インピーダンスＺの値が小さくなっている。
【００４１】
このため、演算処理部２１は、イグニッションスイッチのオンに伴い電源が供給されて動作を開始すると、上記の手順で算出される素子インピーダンスＺの値が、センサ素子部２５の活性化温度に応じた所定範囲となるように、制御回路２３へのヒータ制御用ＰＷＭ信号のデューティ比を制御する。つまり、演算処理部２１は、センサ素子部２５が活性状態となるように、ヒータ２７への通電電流を制御しているが、素子インピーダンスＺをフィードバック情報として用いている。尚、算出した素子インピーダンスＺを素子温度に換算して、その素子温度が所定範囲となるようにヒータ制御用ＰＷＭ信号のデューティ比を制御するように構成しても良い。このように構成しても、結果としては同じであるからである。
【００４２】
また、演算処理部２１は、図３（ｃ）に示すように、制御回路２３からのヒータ電流信号の電圧値を読み込み、その読み込んだ電圧値から、ヒータ電流値（ヒータ２７に流れている電流の値）を算出する。尚、このヒータ電流値の算出は、例えば１ｍｓ毎に実施される。
【００４３】
そして更に、演算処理部２１は、Ａ／Ｆセンサ１８に関して、下記表１の左側欄に示す６種類の異常（故障モード）の有無を、同表１の右側欄に示す故障診断方法でそれぞれ判定している。
【００４４】
【表１】
2006250115.tif 000003
【００４５】
尚、表１において、「センサ端子」とは、センサ素子部２５の端子であり、「ＧＮＤ」とは、グランドラインのことである。そして、「Ａ／Ｆ出力電圧」とは、制御回路２３からのＡ／Ｆ出力電圧信号の電圧であり、「センサ素子」とは、センサ素子部２５のことである。また、センサ素子が活性化したか否かは、素子インピーダンスＺの算出値がセンサ素子部２５の活性化温度に応じた所定範囲内であるか否かで判断する。一方、表１の各故障モードの有無を判定するための故障判定処理は、表１の左側欄に記載された処理タイミング毎にそれぞれ実行される。
【００４６】
一方また、演算処理部２１は、Ａ／Ｆセンサ１８に表１の異常が１つでも発生したと判定した場合には、Ａ／Ｆセンサ１８からの信号（本実施形態では、制御回路２３からのＡ／Ｆ出力電圧信号）に基づき図３（ａ）の如く算出されるＡ／Ｆ値（空燃比センサに基づく空燃比算出値に該当し、以下、Ａ／Ｆセンサ１８に基づくＡ／Ｆ値という）に代えて、エンジン１への流入空気量と燃料噴射量から算出した代替Ａ／Ｆ値を、エンジン１の制御に用いるようになっている。つまり、代替Ａ／Ｆ値とは、Ａ／Ｆセンサ１８に基づくＡ／Ｆ値に代えて、エンジン１の制御に用いる空燃比の値のことである。
【００４７】
そこで次に、代替Ａ／Ｆ値の算出処理について説明する。
まず、演算処理部２１は、Ａ／Ｆセンサ１８に表１の異常が発生していないと判断している場合には、図４の手順で代替Ａ／Ｆ値を各気筒毎に算出する。
【００４８】
即ち、図４に示す正常時の代替Ａ／Ｆ値算出処理は、各気筒毎について実行されるものであり、本実施形態では、処理対象気筒についての燃料噴射実施期間が終了するクランク位置のタイミングで実行される。
【００４９】
そして、この正常時の代替Ａ／Ｆ値算出処理では、まず、今回の処理対象気筒について、吸気行程における流入空気量Ｍａを算出すると共に、燃料噴射量Ｍｂを算出し、その流入空気量Ｍａを燃料噴射量Ｍｂで割ることにより、代替Ａ／Ｆ値の基本値（基本項）Ｍｃ（＝Ｍａ／Ｍｂ）を算出する。尚、吸気行程における流入空気量Ｍａは、エアフロセンサ７からの信号値（以下、エアフロセンサ値という）に基づいて算出する。また、燃料噴射量Ｍｂは、処理対象気筒の吸気行程から排気行程間で噴射出力した噴射量の合計値（積算値）を算出する。本実施形態では、各気筒の燃料噴射実施期間中に燃料噴射を複数回実施するようになっているからである。
【００５０】
次に、代替Ａ／Ｆ値の基本値Ｍｃと最新のＡ／Ｆセンサ１８に基づくＡ／Ｆ値Ｍｄとの差（＝Ｍｃ−Ｍｄ）を、補正量Ｍｅとして算出する。
そして、処理対象気筒について今回算出した補正量Ｍｅと、同じ気筒について前回に当該代替Ａ／Ｆ値算出処理で算出した補正量Ｍｅ[-1]と、同じ気筒について２回前に当該代替Ａ／Ｆ値算出処理で算出した補正量Ｍｅ[-2]と、同じ気筒について３回前に当該代替Ａ／Ｆ値算出処理で算出した補正量Ｍｅ[-3]との、４つの平均値（＝（Ｍｅ[-3]＋Ｍｅ[-2]＋Ｍｅ[-1]＋Ｍｅ）÷４）を、処理対象気筒について実際に使用する補正量（即ち、代替Ａ／Ｆ値をＡ／Ｆセンサ１８に基づくＡ／Ｆ値に一致させるための補正量）Ｍｆとして算出する。
【００５１】
つまり、代替Ａ／Ｆ値は  流入空気量を燃料噴射量で割って求めることが基本となるが、その代替Ａ／Ｆ値の基本値ＭｃとＡ／Ｆセンサ１８に基づくＡ／Ｆ値Ｍｄとは、サンプリングタイミングや運転状態の違いによって同じ値になるとは限らない。そこで、Ａ／Ｆセンサ１８が正常な時に、代替Ａ／Ｆ値の基本値ＭｃとＡ／Ｆセンサ１８に基づくＡ／Ｆ値Ｍｄとの差を補正量Ｍｅとして算出すると共に、その補正量Ｍｅの今回値を含む複数回分（この例では４回分）の平均値を、代替Ａ／Ｆ値の基本値Ｍｃから実際に減じる補正量Ｍｆとして算出するようにしている。
【００５２】
次に、図４の処理では、代替Ａ／Ｆ値の基本値Ｍｃから補正量Ｍｆを減じることにより、補正後の代替Ａ／Ｆ値Ｍｇ（＝Ｍｃ−Ｍｆ）を算出する。
そして更に、その補正後の代替Ａ／Ｆ値Ｍｇに対して、下記の式１で表される平均値化演算処理を行い、その平均値化演算処理を行った後の値を、処理対象気筒についての最終的な代替Ａ／Ｆ値Ｍｈとする。
｛（１−ｋ）×「前回求めた補正後の代替Ａ／Ｆ値」＋ｋ×「今回求めた補正後の代替Ａ／Ｆ値」｝÷２＝Ｍｈ…式１
尚、式１の平均値化演算処理は、いわゆるなまし処理と呼ばれるものであり、その式１におけるｋは、０から１までの間に設定された適合定数である。また、式１において、「今回求めた補正後の代替Ａ／Ｆ値」とは、今回の当該代替Ａ／Ｆ値算出処理で算出した補正後の代替Ａ／Ｆ値Ｍｇであり、「前回求めた補正後の代替Ａ／Ｆ値」とは、燃料噴射順序が処理対象気筒よりも１つ前の気筒について当該代替Ａ／Ｆ値算出処理により算出した補正後の代替Ａ／Ｆ値Ｍｇである。つまり、本実施形態では、燃料噴射順序が連続する２つの気筒についてそれぞれ算出した補正後の代替Ａ／Ｆ値Ｍｇに対して、式１のなまし処理を行うことにより、気筒間での代替Ａ／Ｆ値の変動を抑制させている。
【００５３】
一方、演算処理部２１は、Ａ／Ｆセンサ１８に表１の異常が１つでも発生したと判定した場合には、図５の手順で代替Ａ／Ｆ値を各気筒毎に算出する。
即ち、図５に示す異常発生時の代替Ａ／Ｆ値算出処理も、図４の処理と同様に、各気筒毎について実行されると共に、処理対象気筒についての燃料噴射実施期間が終了するクランク位置のタイミングで実行される。
【００５４】
そして、この異常発生時の代替Ａ／Ｆ値算出処理では、図４の処理と比較すると、補正量Ｍｅ，Ｍｆを算出するための処理が無く、今回の処理対象気筒について算出した代替Ａ／Ｆ値の基本値Ｍｃから、その処理対象気筒について図４の処理により最後に算出された補正量Ｍｆを減じることにより、補正後の代替Ａ／Ｆ値Ｍｇを算出する点が異なっている。尚、他の点については、図４の処理と全く同じであるため説明は省略する。
【００５５】
つまり、異常発生時の代替Ａ／Ｆ値算出処理では、流入空気量Ｍａを燃料噴射量Ｍｂで割って求めた代替Ａ／Ｆ値の基本値Ｍｃ（＝Ｍａ／Ｍｂ）を、Ａ／Ｆセンサ１８が正常な場合に算出しておいた補正量Ｍｆで補正し、その補正後の代替Ａ／Ｆ値Ｍｇ（＝Ｍｃ−Ｍｆ）に対して、前述した式１の平均値化演算処理を行うことにより、処理対象気筒についての最終的な代替Ａ／Ｆ値Ｍｈを算出するようにしている。
【００５６】
次に、図４及び図５の処理を実際に実施するために、演算処理部２１が実行している処理について図６〜図１０を用いて説明する。
まず、図６に示すように、本実施形態では、各気筒の燃料噴射（爆発）の順序が、＃１気筒→＃４気筒→＃３気筒→＃２気筒→＃１気筒…となっている。また、各気筒への燃料噴射制御を実施する期間（燃料噴射実施期間）は各気筒同士で重ならず、各気筒の圧縮行程上死点（ＴＤＣ）よりも１０８°ＣＡだけ前のクランク位置（以下、ＢＴＤＣ１０８°ＣＡと記す）から１８０°ＣＡ分の期間が、その気筒の燃料噴射実施期間となっている。
【００５７】
そして、演算処理部２１は、クランク軸の回転に同期した回転信号に一定クランク角毎のエッジ（本実施形態では、図１０に示すように立ち下がりエッジ）が生じる毎に、図７に示す回転信号割り込み処理を実行し、その回転信号割り込み処理により、図４と図５のそれぞれに示した代替Ａ／Ｆ値算出処理を実施するようになっている。
【００５８】
即ち、演算処理部２１が図７の回転信号割り込み処理を開始すると、まずＳ１１０にて、現在のクランク位置が何れかの気筒のＢＴＤＣ１０８°ＣＡであるか否かを判定し、ＢＴＤＣ１０８°ＣＡでなければ、そのまま当該回転信号割り込み処理を終了するが、何れかの気筒のＢＴＤＣ１０８°ＣＡであると判定した場合には、Ｓ１２０に進む。
【００５９】
Ｓ１２０では、次にＴＤＣとなる気筒（つまり、現在が圧縮行程である気筒）を燃料噴射対象気筒として、その燃料噴射対象気筒についての噴射回数を設定すると共に、最初の噴射開始タイミングを噴射出力開始タイマにセットし、更に、最初の噴射量を設定する。
【００６０】
そして、続くＳ１３０にて、燃料噴射対象気筒の直前の吸気行程における流入空気量を、エアフロセンサ値に基づいて算出する。具体的に説明すると、本実施形態では、図示しない検出処理により、エアフロセンサ値を一定時間毎にサンプリングしてＲＡＭ等のメモリに記憶している。このため、Ｓ１３０では、燃料噴射対象気筒が直前に吸気行程であった際の特定のタイミング（例えば１８０°ＣＡ前のタイミング）で上記検出処理によりサンプリングされたエアフロセンサ値をメモリから読み出し、その読み出したエアフロセンサ値から燃料噴射対象気筒の直前の吸気行程における流入空気量を算出する。
【００６１】
次に、Ｓ１４０にて、燃料噴射対象気筒（次にＴＤＣとなる気筒）が＃１気筒〜＃４気筒のうちの何れであるかを判別する。
このＳ１４０にて燃料噴射対象気筒が＃１気筒であると判別した場合には、Ｓ１５０に進んで、上記Ｓ１３０で算出した流入空気量を、＃１気筒の流入空気量として更新記憶し、続くＳ１６０にて、＃１気筒の噴射量積算値を０に初期化する。そして、次のＳ１７０にて、前述した故障判定処理の判定結果を参照することにより、Ａ／Ｆセンサ１８に表１の異常が１つでも発生しているか否かを判定し、異常が発生していなければＳ１８０に進み、異常が発生していればＳ１９０に進む。
【００６２】
また、上記Ｓ１４０にて燃料噴射対象気筒が＃２気筒であると判別した場合には、Ｓ２００に進んで、上記Ｓ１３０で算出した流入空気量を、＃２気筒の流入空気量として更新記憶し、続くＳ２１０にて、＃２気筒の噴射量積算値を０に初期化する。そして、次のＳ２２０にて、前述した故障判定処理の判定結果を参照することにより、Ａ／Ｆセンサ１８に表１の異常が１つでも発生しているか否かを判定し、異常が発生していなければＳ２３０に進み、異常が発生していればＳ２４０に進む。
【００６３】
また、上記Ｓ１４０にて燃料噴射対象気筒が＃３気筒であると判別した場合には、Ｓ２５０に進んで、上記Ｓ１３０で算出した流入空気量を、＃３気筒の流入空気量として更新記憶し、続くＳ２６０にて、＃３気筒の噴射量積算値を０に初期化する。そして、次のＳ２７０にて、前述した故障判定処理の判定結果を参照することにより、Ａ／Ｆセンサ１８に表１の異常が１つでも発生しているか否かを判定し、異常が発生していなければＳ２８０に進み、異常が発生していればＳ２９０に進む。
【００６４】
また、上記Ｓ１４０にて燃料噴射対象気筒が＃４気筒であると判別した場合には、Ｓ３００に進んで、上記Ｓ１３０で算出した流入空気量を、＃４気筒の流入空気量として更新記憶し、続くＳ３１０にて、＃４気筒の噴射量積算値を０に初期化する。そして、次のＳ３２０にて、前述した故障判定処理の判定結果を参照することにより、Ａ／Ｆセンサ１８に表１の異常が１つでも発生しているか否かを判定し、異常が発生していなければＳ３３０に進み、異常が発生していればＳ３４０に進む。
【００６５】
ここで、燃料噴射対象気筒が＃１気筒である場合のＳ１８０とＳ１９０のうち、Ｓ１８０では、＃１気筒の直前に燃料噴射実施期間が終了した＃２気筒について、図４の手順により補正量Ｍｆ及び代替Ａ／Ｆ値Ｍｈを算出し、その後、当該回転信号割り込み処理を終了する。そして、Ｓ１９０では、＃２気筒について、Ｓ１８０の処理により最後に算出されている補正量Ｍｆを用いて、図５の手順により代替Ａ／Ｆ値Ｍｈを算出し、その後、当該回転信号割り込み処理を終了する。
【００６６】
また、燃料噴射対象気筒が＃２気筒である場合のＳ２３０とＳ２４０のうち、Ｓ２３０では、＃２気筒の直前に燃料噴射実施期間が終了した＃３気筒について、図４の手順により補正量Ｍｆ及び代替Ａ／Ｆ値Ｍｈを算出し、その後、当該回転信号割り込み処理を終了する。そして、Ｓ２４０では、＃３気筒について、Ｓ２３０の処理により最後に算出されている補正量Ｍｆを用いて、図５の手順により代替Ａ／Ｆ値Ｍｈを算出し、その後、当該回転信号割り込み処理を終了する。
【００６７】
また、燃料噴射対象気筒が＃３気筒である場合のＳ２８０とＳ２９０のうち、Ｓ２８０では、＃３気筒の直前に燃料噴射実施期間が終了した＃４気筒について、図４の手順により補正量Ｍｆ及び代替Ａ／Ｆ値Ｍｈを算出し、その後、当該回転信号割り込み処理を終了する。そして、Ｓ２９０では、＃４気筒について、Ｓ２８０の処理により最後に算出されている補正量Ｍｆを用いて、図５の手順により代替Ａ／Ｆ値Ｍｈを算出し、その後、当該回転信号割り込み処理を終了する。
【００６８】
また、燃料噴射対象気筒が＃４気筒である場合のＳ３３０とＳ３４０のうち、Ｓ３３０では、＃４気筒の直前に燃料噴射実施期間が終了した＃１気筒について、図４の手順により補正量Ｍｆ及び代替Ａ／Ｆ値Ｍｈを算出し、その後、当該回転信号割り込み処理を終了する。そして、Ｓ３４０では、＃１気筒について、Ｓ３３０の処理により最後に算出されている補正量Ｍｆを用いて、図５の手順により代替Ａ／Ｆ値Ｍｈを算出し、その後、当該回転信号割り込み処理を終了する。
【００６９】
尚、Ｓ１８０，Ｓ１９０，Ｓ２３０，Ｓ２４０，Ｓ２８０，Ｓ２９０，Ｓ３３０，及びＳ３４０の各演算処理で用いる流入空気量Ｍａと燃料噴射量Ｍｂについては、後で説明する。
【００７０】
次に図８は、噴射出力開始タイマにセットされた噴射開始タイミングが到来して、燃料噴射対象気筒のインジェクタ５へ、そのインジェクタ５を開弁（ＯＮ）させるための噴射出力パルスが出力された時（つまり、燃料噴射対象気筒への噴射開始時）に、演算処理部２１にて起動される噴射開始割り込み処理を表すフローチャートである。
【００７１】
そして、演算処理部２１が図８の噴射開始割り込み処理の実行を開始すると、まずＳ４１０にて、燃料噴射対象気筒が＃１気筒〜＃４気筒のうちの何れであるかを判別し、燃料噴射対象気筒が＃１気筒であると判別した場合には、Ｓ４２０に進んで、＃１気筒の噴射量積算値に、今回の噴射量（即ち、現在設定されている噴射量）を加算する。
【００７２】
また、上記Ｓ４１０にて燃料噴射対象気筒が＃２気筒であると判別した場合には、Ｓ４３０に進んで、＃２気筒の噴射量積算値に、今回の噴射量を加算する。
また、上記Ｓ４１０にて燃料噴射対象気筒が＃３気筒であると判別した場合には、Ｓ４４０に進んで、＃３気筒の噴射量積算値に、今回の噴射量を加算する。
【００７３】
また、上記Ｓ４１０にて燃料噴射対象気筒が＃４気筒であると判別した場合には、Ｓ４５０に進んで、＃４気筒の噴射量積算値に、今回の噴射量を加算する。
そして、Ｓ４２０〜Ｓ４５０のうちの何れかの処理を実行した後、Ｓ４６０に進み、現在時刻から今回の噴射量に応じた時間だけ後の時刻を、噴射終了タイミング（現在実施中の燃料噴射を終了させるタイミング）として噴射出力終了タイマにセットする。尚、演算処理部２１では、この噴射出力終了タイマにセットされた噴射終了タイミングが到来すると、噴射出力パルスの出力を停止してインジェクタ５を閉弁（ＯＦＦ）させることとなる。
【００７４】
次にＳ４７０にて、図７のＳ１２０で初期値が設定された噴射回数を１だけ減算し、続くＳ４８０にて、その噴射回数が０になったか否かを判定する。
そして、噴射回数が０になったならば、そのまま当該噴射開始割り込み処理を終了するが、噴射回数が未だ０でなければ、Ｓ４８０に進み、次の噴射終了タイミングで図９の噴射終了割り込み処理が起動されるようにセットし、その後、当該噴射開始割り込み処理を終了する。
【００７５】
一方、図９の噴射終了割り込み処理が起動されると、演算処理部２１は、Ｓ５１０にて、燃料噴射対象気筒について、次の噴射開始タイミングを噴射出力開始タイマにセットすると共に、次の噴射量を設定し、その後、当該噴射終了割り込み処理を終了する。
【００７６】
次に、図７〜図９の各処理がどのように起動されるかについて、図１０を用い具体的に説明する。尚、図１０は、燃料噴射実施期間中に燃料噴射を３回実施する場合（即ち、図７のＳ１２０で設定される噴射回数が３である場合）を表している。
【００７７】
まず、何れかの気筒のＢＴＤＣ１０８°ＣＡのタイミングになると、図１０における（１）に示すように、図７の回転信号割り込み処理におけるＳ１２０以降の処理が実行され、その図７のＳ１２０により、次にＴＤＣとなる燃料噴射対象気筒についての噴射回数と、最初の噴射開始タイミングと、最初の噴射量とが設定される。また、図７のＳ１３０と、Ｓ１５０，Ｓ２００，Ｓ２５０，及びＳ３００のうちの何れかとにより、燃料噴射対象気筒の流入空気量が算出されて記憶され、図７のＳ１６０，Ｓ２１０，Ｓ２６０，及びＳ３１０のうちの何れかにより、燃料噴射対象気筒の噴射量積算値が０に初期化される。
【００７８】
その後、図７のＳ１２０で設定された最初の噴射開始タイミングが到来すると、燃料噴射対象気筒のインジェクタ５へ噴射出力パルスが出力されると共に、図１０における３つの（２）のうちの最も左側の（２）に示すように、図８の噴射開始割り込み処理が実行される。
【００７９】
そして、その回の噴射開始割り込み処理では、Ｓ４２０〜Ｓ４５０のうちの何れかにより、燃料噴射対象気筒の噴射量積算値に、図７のＳ１２０で設定された最初の噴射量が加算される。また、Ｓ４６０により、最初の燃料噴射の噴射終了タイミングがセットされると共に、Ｓ４９０により、その噴射終了タイミングで図９の噴射終了割り込み処理が起動されるようにセットされる。これは、Ｓ４７０で減算された後の噴射回数が、この時点で未だ０ではなく、２（＝３−１）であるからである。
【００８０】
その後、図８のＳ４６０でセットされた噴射終了タイミングが到来すると、インジェクタ５への噴射出力パルスの出力が停止されると共に、図１０における２つの（３）のうちの左側の（３）に示すように、図９の噴射終了割り込み処理が実行される。
【００８１】
そして、その回の噴射終了割り込み処理では、Ｓ５１０により、燃料噴射対象気筒について、２回目の噴射開始タイミングと噴射量とが設定される。
その後、図９のＳ５１０で設定された２回目の噴射開始タイミングが到来すると、燃料噴射対象気筒のインジェクタ５へ再び噴射出力パルスが出力されると共に、図１０における３つの（２）のうちの真ん中の（２）に示すように、図８の噴射開始割り込み処理が実行される。
【００８２】
そして、その回の噴射開始割り込み処理では、Ｓ４２０〜Ｓ４５０のうちの何れかにより、燃料噴射対象気筒の噴射量積算値に、前回の図９のＳ５１０で設定された２回目の噴射量が加算される。また、Ｓ４６０により、２回目の燃料噴射の噴射終了タイミングがセットされると共に、Ｓ４９０により、その噴射終了タイミングで図９の噴射終了割り込み処理が起動されるようにセットされる。これは、Ｓ４７０で減算された後の噴射回数が、この時点で未だ０ではなく、１（＝２−１）であるからである。
【００８３】
その後、図８のＳ４６０でセットされた噴射終了タイミングが到来すると、インジェクタ５への噴射出力パルスの出力が停止されると共に、図１０における２つの（３）のうちの右側の（３）に示すように、図９の噴射終了割り込み処理が実行される。
【００８４】
そして、その回の噴射終了割り込み処理では、Ｓ５１０により、燃料噴射対象気筒について、３回目の噴射開始タイミングと噴射量とが設定される。
その後、図９のＳ５１０で設定された３回目の噴射開始タイミングが到来すると、燃料噴射対象気筒のインジェクタ５へ再び噴射出力パルスが出力されると共に、図１０における３つの（２）のうちの最も右側の（２）に示すように、図８の噴射開始割り込み処理が実行される。
【００８５】
そして、その回の噴射開始割り込み処理では、Ｓ４２０〜Ｓ４５０のうちの何れかにより、燃料噴射対象気筒の噴射量積算値に、前回の図９のＳ５１０で設定された３回目の噴射量が加算される。また、Ｓ４６０により、３回目の燃料噴射の噴射終了タイミングがセットされる。そして、この回では、Ｓ４７０で減算された後の噴射回数が０になるため、Ｓ４９０の処理はパスされる。
【００８６】
このため、その後、図８のＳ４６０でセットされた３回目の噴射終了タイミングが到来すると、インジェクタ５への噴射出力パルスの出力が停止されるだけであり、図９の噴射終了割り込み処理は実行されない。
【００８７】
そして、この時点で、今回の燃料噴射対象気筒に対する燃料噴射が全て終了することとなり、図８のＳ４２０〜Ｓ４５０のうちの何れかによって累積加算された噴射量積算値は、今回の燃料噴射対象気筒についての総噴射量となる。
【００８８】
よって、何れかの気筒のＢＴＤＣ１０８°ＣＡのタイミングになった時には、その気筒の１つ前の燃料噴射対象気筒についての燃料噴射量が、図８のＳ４２０〜Ｓ４５０のうちの何れかにより噴射量積算値として算出されていることとなり、その時に実行される図７のＳ１８０，Ｓ１９０，Ｓ２３０，Ｓ２４０，Ｓ２８０，Ｓ２９０，Ｓ３３０，及びＳ３４０の各演算処理では、前回のＳ１３０で算出して前回のＳ１５０，Ｓ２００，Ｓ２５０，及びＳ３００の何れかで記憶した前回の燃料噴射対象気筒についての流入空気量と、その時点で図８のＳ４２０〜Ｓ４５０のうちの何れかによって算出されている前回の燃料噴射対象気筒についての噴射量積算値とを、図４又は図５の流入空気量Ｍａと燃料噴射量Ｍｂとの各々として用いることとなる。
【００８９】
例えば、＃１気筒のＢＴＤＣ１０８°ＣＡのタイミングになった時には、１つ前の燃料噴射対象気筒である＃２気筒についての燃料噴射量が図８のＳ４３０により噴射量積算値として算出されていることとなり、図７のＳ１８０又はＳ１９０では、前回のＳ１３０で算出して前回のＳ２００で記憶した＃２気筒の流入空気量と、その時点で図８のＳ４３０により算出されている＃２気筒の噴射量積算値とを、図４又は図５の流入空気量Ｍａと燃料噴射量Ｍｂとの各々として用いることにより演算処理を行う。
【００９０】
尚、以上のような各処理の実行状況をまとめると、図１１のようになる。つまり、図１１は、４気筒のエンジン１全体における代替Ａ／Ｆ値の算出状況を示している。
そして、演算処理部２１は、図１２に示すように、Ａ／Ｆセンサ１８に表１の異常が発生していないと判定している場合には（Ｓ６１０：ＮＯ）、図３（ａ）の如く定期的に算出しているＡ／Ｆセンサ１８に基づくＡ／Ｆ値を、エンジン１の制御（詳しくは、ＥＧＲ装置１０によるＥＧＲ量の決定や、粒子状物質捕捉装置１４におけるＰＭ堆積量の推定）に使用するが（Ｓ６２０）、Ａ／Ｆセンサ１８に表１の異常が１つでも発生していると判定している場合には（Ｓ６１０：ＹＥＳ）、Ａ／Ｆセンサ１８に基づくＡ／Ｆ値に代えて、図７のＳ１９０，Ｓ２４０，Ｓ２９０，及びＳ３４０によって算出される代替Ａ／Ｆ値を、エンジン１の制御に使用する（Ｓ６３０）。
【００９１】
以上のような本実施形態のエンジン制御システムにおけるＥＣＵ６では、Ａ／Ｆセンサ１８が異常であると判定した場合には、Ａ／Ｆセンサ１８に基づくＡ／Ｆ値の代わりに、流入空気量と燃料噴射量から算出した代替Ａ／Ｆ値を用いて、エンジン１の制御を実施するようになっている。
【００９２】
このため、Ａ／Ｆセンサ１８が正常でない場合でも、そのＡ／Ｆセンサ１８が正常な場合と同様の制御性能を発揮することができるようになる。つまり、Ａ／Ｆセンサ１８に基づくＡ／Ｆ値の代わりに、デフォルト値を用いるよりも、実際の流入空気量と燃料噴射量から算出した代替Ａ／Ｆ値を用いることにより、より緻密で高精度なエンジン制御が可能となるからである。
【００９３】
また、本実施形態のＥＣＵ６では、Ａ／Ｆセンサ１８について、表１における１〜５段目のような異常（端子に関連する異常と出力信号異常）の有無だけでなく、表１における６段目に示すようにヒータ２７が正常か否かも判定して、ヒータ２７が異常と判定した場合にも、代替Ａ／Ｆ値を用いたエンジン制御を実施するようにしている。
【００９４】
このため、Ａ／Ｆセンサ１８自身（つまり、センサ素子部２５）の故障時のみならず、ヒータ２７が故障してセンサ素子部２５を活性化させることができない場合にも、代替Ａ／Ｆ値を用いて、エンジン１の制御を従来よりも緻密で高精度に実施することができる。
【００９５】
そして更に、本実施形態のＥＣＵ６では、Ａ／Ｆセンサ１８が正常であると判定している場合に、流入空気量Ｍａを燃料噴射量Ｍｂで割った値である代替Ａ／Ｆ値の基本値Ｍｃと、最新のＡ／Ｆセンサ１８に基づくＡ／Ｆ値Ｍｄとの差分Ｍｅを求めると共に、その差分Ｍｅから、代替Ａ／Ｆ値をＡ／Ｆセンサ１８に基づくＡ／Ｆ値に一致させるための補正量Ｍｆを算出しておき、Ａ／Ｆセンサ１８に異常が発生したと判定した場合には、代替Ａ／Ｆ値の基本値Ｍｃを、その補正量Ｍｆだけ補正して、実際にエンジン制御に使用する代替Ａ／Ｆ値Ｍｇ，Ｍｈを求めるようにしている。このため、Ａ／Ｆセンサ１８に異常が生じた場合の制御精度及び制御性能を一層高めることができる。
【００９６】
また、本実施形態のＥＣＵ６によれば、エンジン１の各気筒毎に、流入空気量と燃料噴射量とを算出すると共に、それらから各気筒毎の代替Ａ／Ｆ値を算出するようにしているため、常に最新のＡ／Ｆ値でエンジン１を制御することができるようになり、延いては、Ａ／Ｆセンサ１８に異常が生じた場合の制御精度及び制御性能を一層高めることができる。
【００９７】
一方、上記実施形態では、表１の各故障モードの有無を判定するための故障判定処理と、図７におけるＳ１７０，Ｓ２２０，Ｓ２７０，及びＳ３２０の処理とが、異常判定手段に相当している。また、図７におけるＳ１９０，Ｓ２４０，Ｓ２９０，及びＳ３４０の各演算処理（つまり、図５の演算処理）のうち、代替Ａ／Ｆ値の基本値Ｍｃを算出する部分が代替空燃比算出手段に相当し、その基本値Ｍｃから補正量Ｍｆを減じる部分が補正手段に相当している。そして、図７におけるＳ１８０，Ｓ２３０，Ｓ２８０，及びＳ３３０の各演算処理（つまり、図４の演算処理）のうち、補正量Ｍｆを算出する部分が補正量算出手段に相当している。
【００９８】
尚、上記実施形態では、図４に示す正常時の代替Ａ／Ｆ値算出処理（つまり、図７におけるＳ１８０，Ｓ２３０，Ｓ２８０，及びＳ３３０の各々）においても、補正後の代替Ａ／Ｆ値Ｍｇと最終的な代替Ａ／Ｆ値Ｍｈとを算出するように説明したが、Ａ／Ｆセンサ１８に異常が発生していない場合には、それらの代替Ａ／Ｆ値Ｍｇ，Ｍｈは使用されないため、実際には算出しなくても良い。つまり、図７におけるＳ１８０，Ｓ２３０，Ｓ２８０，及びＳ３３０の各々では、図４に示した処理のうち、少なくとも補正量Ｍｆの算出までを実施すれば良い。
【００９９】
以上、本発明の一実施形態について説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。
【０１００】
例えば、上記実施形態では、図６のように、各気筒の燃料噴射実施期間が１８０°ＣＡ分あり、各気筒の燃料噴射実施期間の終了タイミングと次の気筒の燃料噴射実施期間の開始タイミングとが同じであるため、その各気筒の燃料噴射実施期間の終了タイミングにて、図７の処理が実行されるようになっていた。
【０１０１】
このため、もし、各気筒の燃料噴射実施期間が１８０°ＣＡ分よりも短くて、各気筒の燃料噴射実施期間の終了タイミングから次の気筒の燃料噴射実施期間の開始タイミングまでに一定クランク角分の空き期間があるのであれば、その空き期間中に図７の処理が実行されるように構成しても良い。つまり、この場合には、各気筒の燃料噴射実施期間が終了したタイミングから次の気筒に対する燃料噴射が開始されるまでの間のタイミングで、図７の処理が実行されることにより、各気筒毎の代替Ａ／Ｆ値が算出されることとなる。
【０１０２】
また、上記実施形態では、エンジン１が各気筒の燃料噴射実施期間が重ならないものであったが、同時に複数気筒への燃料噴射制御が行われる場合であっても、代替Ａ／Ｆ値を算出するタイミングを適宜設定して、各気筒毎について代替Ａ／Ｆ値を算出するように構成すれば、Ａ／Ｆセンサ１８に異常が生じた場合にも、常に最新のＡ／Ｆ値でエンジンを制御することができるようになり、制御精度及び制御性能を一層高めることができる。
【０１０３】
一方、図４及び図５の処理では、補正する前の代替Ａ／Ｆ値（つまり、代替Ａ／Ｆ値の基本値）Ｍｃを、単に、流入空気量Ｍａを燃料噴射量Ｍｂで割ることにより求めたが、代替空燃比算出手段としての処理はそれに限らず、例えば、流入空気量Ｍａを燃料噴射量Ｍｂで割った値に特定の演算（係数の乗算や加減算など）を施した値を、補正する前の代替Ａ／Ｆ値（代替Ａ／Ｆ値の基本値）Ｍｃとして算出するようにしても良い。
【０１０４】
また、図４及び図５の処理から式１の平均値化演算処理（なまし処理）を削除して、Ａ／Ｆセンサ１８に異常が生じた場合のエンジン制御には、補正後の代替Ａ／Ｆ値Ｍｇをそのまま使用するように構成しても良い。
【０１０５】
また、図５における代替Ａ／Ｆ値の基本値Ｍｃを、補正せずにそのままエンジンの制御に使用するように構成しても良い。
【図面の簡単な説明】
【０１０６】
【図１】実施形態のエンジン制御システムを表す構成図である。
【図２】Ａ／Ｆセンサ周辺を中心としたＥＣＵ（エンジン制御用の電子制御装置）の構成を表すブロック図である。
【図３】Ａ／Ｆセンサに関連した情報処理を説明する説明図である。
【図４】正常時の代替Ａ／Ｆ値算出処理の内容を示す流れ図である。
【図５】異常発生時の代替Ａ／Ｆ値算出処理の内容を示す流れ図である。
【図６】エンジンの各気筒の噴射順序及び燃料噴射実施期間を表すタイムチャートである。
【図７】回転信号割り込み処理を表すフローチャートである。
【図８】噴射開始割り込み処理を表すフローチャートである。
【図９】噴射終了割り込み処理を表すフローチャートである。
【図１０】図７〜図９の各処理がどのように起動されるかを表す説明図である。
【図１１】４気筒のエンジン全体における代替Ａ／Ｆ値の算出状況を示すタイムチャートである。
【図１２】エンジン制御に使用するＡ／Ｆ値を切り替えるための切替処理を表すフローチャートである。
【符号の説明】
【０１０７】
１…エンジン、２…シリンダ、３…高圧燃料ポンプ、４…コモンレール、５…インジェクタ、６…ＥＣＵ（エンジン制御用の電子制御装置）、７…エアフロセンサ、８…圧力センサ、９…吸気絞り弁、１０…ＥＧＲ装置、１１…ターボチャージャー、１２…後処理システム、１３…酸化触媒、１４…粒子状物質捕捉装置、１５…入口温度センサ、１６…出口温度センサ、１７…差圧センサ、１８…Ａ／Ｆセンサ、２１…演算処理部、２３…Ａ／Ｆセンサ制御回路、２５…センサ素子部、２７…ヒータ
【図１】
2006250115.tif 000004
【図２】
2006250115.tif 000005
【図３】
2006250115.tif 000006
【図４】
2006250115.tif 000007
【図５】
2006250115.tif 000008
【図６】
2006250115.tif 000009
【図７】
2006250115.tif 000010
【図８】
2006250115.tif 000011
【図９】
2006250115.tif 000012
【図１０】
2006250115.tif 000013
【図１１】
2006250115.tif 000014
【図１２】
2006250115.tif 000015