(57)【特許請求の範囲】
【請求項１】
内燃機関の吸気通路内に燃料を噴射する燃料噴射手段と、
前記吸気通路内における燃料の挙動を模した燃料挙動モデルにしたがって前記吸気通路を構成する部材に付着し且つ残留している燃料の総量である燃料付着量を推定燃料付着量として推定する燃料付着量推定手段と、
少なくとも前記推定された推定燃料付着量に基づいて前記燃料噴射手段から噴射される燃料の量である燃料噴射量を決定する燃料噴射量決定手段と、
を備えた内燃機関の燃料噴射量制御装置であって、
前記機関の一回の吸気行程において同機関の気筒内に吸入される空気の量である筒内吸入空気量を取得する筒内吸入空気量取得手段と、
前記機関の排気通路に備えられ同排気通路を通過するガスの実際の空燃比の変化に対して出力が連続的に変化する広域空燃比センサを含み同広域空燃比センサの出力に基づいて同排気通路を通過するガスの実際の空燃比を取得する空燃比取得手段と、
前記機関の運転状態が所定のフューエルカット条件を満足したとき前記燃料噴射手段による燃料の噴射を停止するフューエルカット制御を実行するとともに同フューエルカット制御の実行中に同運転状態が所定のフューエルカット復帰条件を満足したとき前記燃料噴射手段による燃料の噴射を再開するフューエルカット制御実行手段と、
前記フューエルカット制御実行手段により前記燃料の噴射が停止され始めたフューエルカット開始時点からの所定期間であるフューエルカット開始後期間及び前記フューエルカット制御実行手段により前記燃料の噴射が再開され始めたフューエルカット復帰時点からの所定期間であるフューエルカット復帰後期間の少なくとも一方の期間であるフューエルカット関連期間において、前記取得された筒内吸入空気量を前記取得された実際の空燃比により除すること又は前記取得された筒内吸入空気量と前記取得された実際の空燃比とを所定のテーブルに適用することよって一回の吸気行程にて前記機関の気筒内に実際に流入した燃料量である実筒内流入燃料量を取得する実筒内流入燃料量取得手段と、
前記吸気通路内に噴射された燃料の量と前記取得された実筒内流入燃料量とに基づいて前記フューエルカット関連期間における一回の吸気行程に対する前記燃料付着量の実際の変化量を実燃料付着変化量として取得するとともに、同取得した実燃料付着変化量と前記推定燃料付着量とに基づいて前記燃料挙動モデルを修正する燃料挙動モデル修正手段と、
を備えた燃料噴射量制御装置。
【請求項２】
請求項１に記載の内燃機関の燃料噴射量制御装置において、
前記燃料挙動モデルは、
前記機関の一回の吸気行程に対して前記燃料噴射手段により噴射された燃料の量に対する同噴射された燃料のうち前記吸気通路を構成する部材に付着する燃料の量の比である燃料付着率Ｒを使用する数式により表されるモデルであり、
前記燃料挙動モデル修正手段は、
前記フューエルカット復帰時点において前記吸気通路を構成する部材に付着している実際の燃料の量が０であると仮定し、且つ、前記取得した実燃料付着変化量を前記フューエルカット復帰後期間において積算することによって実燃料付着量を取得するとともに、同取得した実燃料付着量と前記推定燃料付着量とに基づいて前記燃料付着率Ｒを修正するように構成されたことを特徴とする燃料噴射量制御装置。
【請求項３】
請求項１に記載の内燃機関の燃料噴射量制御装置において、
前記燃料挙動モデルは、
前記機関の一回の吸気行程に対して前記燃料噴射手段により噴射された燃料の量に対する同噴射された燃料のうち前記吸気通路を構成する部材に付着する燃料の量の比である燃料付着率Ｒを使用する数式により表されるモデルであり、
前記燃料挙動モデル修正手段は、
前記フューエルカット開始後期間において前記実燃料付着変化量を積算することによって前記フューエルカット開始時点における実燃料付着量を取得するとともに、同取得したフューエルカット開始時点における実燃料付着量と前記燃料付着量推定手段により推定されていた同フューエルカット開始時点における推定燃料付着量とに基づいて前記燃料付着率Ｒを修正するように構成されたことを特徴とする燃料噴射量制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の吸気通路を構成する部材に付着し且つ残留している燃料の総量である燃料付着量を推定燃料付着量として推定し、その推定燃料付着量に基づいて燃料噴射量を決定する内燃機関の燃料噴射量制御装置に関する。
【背景技術】
【０００２】
従来から、インテークマニホールド及び吸気ポート等の吸気通路を構成する部材（以下、「吸気通路構成部材」と称呼する。）に付着し且つ残留する燃料の総量である燃料付着量Ｆｗを、吸気通路内の燃料挙動を模した下記（１）式により表される燃料挙動モデル（「燃料の動特性モデル」又は「燃料付着モデル」とも称呼される。）を用いて推定するとともに、その推定した燃料付着量Ｆｗを使用する下記（２）式により燃料噴射量Ｆｉを決定し、決定した燃料噴射量Ｆｉの燃料を噴射する内燃機関の燃料噴射量制御装置が知られている。
【０００３】
下記（１）式及び下記（２）式において、Ｐは吸気通路構成部材に付着している燃料が一回の吸気行程にてシリンダ内に吸入されずに残留する割合（燃料残留率）であり、Ｒは一回の吸気行程に対して噴射された燃料が吸気通路構成部材へ付着する割合（燃料付着率）である。また、Ｆｒｅｑは機関に供給される混合気の空燃比を目標空燃比に一致させるために、内燃機関の気筒内（シリンダ内）に供給すべき燃料量である（例えば、特許文献１参照。）。なお、以下において、機関に供給される混合気の空燃比は「内燃機関の空燃比」とも称呼され、気筒内に供給すべき燃料量Ｆｒｅｑは「要求燃料量Ｆｒｅｑ」とも称呼される。
Ｆｗ（ｋ＋１）＝Ｒ・Ｆｉ（ｋ）＋Ｐ・Ｆｗ（ｋ）            …（１）
Ｆｒｅｑ（ｋ）＝（１−Ｒ)・Ｆｉ（ｋ）＋（１−Ｐ)・Ｆｗ（ｋ）  …（２）
【特許文献１】特開２００４−３５３４７７号公報
【０００４】
上記従来の装置は、燃料付着率Ｒを、機関の負荷及び機関回転速度等の機関運転状態と燃料付着率Ｒとの関係を規定するテーブル（マップ）MapＲに実際の機関運転状態を適用することによって求めている。同様に、従来の装置は、燃料残留率Ｐを、機関運転状態と燃料残留率Ｐとの関係を規定するテーブルMapＰに実際の機関運転状態を適用することによって求めている。
【０００５】
ところが、機関に供給される燃料性状の違い、機関の製造上のばらつき（個体差）及び機関の運転に伴って変化するデポジット量等により、例えば、燃料付着率Ｒや燃料残留率Ｐが正しい値にならないこと等に起因して燃料挙動モデルが不正確となる場合がある。この場合、推定される燃料付着量Ｆｗが不正確となるから、機関の空燃比と目標空燃比との差が大きくなる。その結果、未燃ガスやＮＯｘの排出量が増大してしまうという問題がある。
【０００６】
この問題に対処するため、上記特許文献１に記載の燃料噴射量制御装置は、燃料の噴射を停止するフューエルカット制御の開始後、機関から空気のみが排出されると仮定するとともに、その仮定下で「機関の排気通路に配設された三元触媒（触媒）の酸素吸蔵量ＯＳＡ」がその触媒の最大酸素吸蔵量Ｃmaxに到達する第１タイミングを推定する。更に、この従来の燃料噴射量制御装置は、機関の排気通路であって前記触媒の下流に配設された酸素濃度センサにより検出される酸素濃度が、実質的に大気中の酸素濃度と等しい値に到達する第２タイミングを検出する。
【０００７】
この第２タイミングは、触媒の酸素吸蔵量ＯＳＡが最大酸素吸蔵量Ｃmaxに実際に到達したタイミングである。従って、第１タイミングと第２タイミングとの差は、フューエルカット開始時点（燃料噴射の停止を開始した時点）において吸気通路構成部材に実際に付着していた燃料量（実燃料付着量）に応じて変化する。
【０００８】
そこで、上記従来の燃料噴射量制御装置は、第１タイミングから第２タイミングまでの期間において前記触媒に流入する酸素の総量を取得し、その取得した酸素の総量に相当する燃料量をフューエルカット開始時における実燃料付着量として取得する。そして、この燃料噴射量制御装置は、その取得した実燃料付着量と、燃料挙動モデルによりフューエルカット開始時に推定されていた燃料付着量と、の比較に基づいて、燃料挙動モデル（実際には、燃料付着率Ｒ及び燃料残留率Ｐ）を修正するようになっている。
【発明の開示】
【０００９】
このように、上記従来の制御装置は、「触媒の酸素吸蔵量ＯＳＡ」及び「触媒の最大酸素吸蔵量Ｃmax」を用いて燃料挙動モデルを修正している。しかしながら、酸素吸蔵量ＯＳＡ及び最大酸素吸蔵量Ｃmaxは何れも推定値であり、これらの値は「触媒及び機関の状態（例えば、触媒の温度及び劣化の態様、並びに、吸入空気量等）」に応じて変動し易いので、精度良く推定され得ない場合がある。この結果、実燃料付着量が正しく求められないことに起因して燃料挙動モデルの修正精度が低下し、従って、未燃ガスやＮＯｘの排出量が増大してしまうという問題がある。
【００１０】
本発明は、上記課題に対処するためになされたものである。本発明の目的の一つは、触媒の酸素吸蔵量等の触媒に関連する推定値を使用することなく、燃料挙動モデルの修正をより精度良く行うことができる内燃機関の燃料噴射量制御装置を提供することにある。
【００１１】
本発明の内燃機関の燃料噴射量制御装置は、燃料噴射手段と、燃料付着量推定手段と、燃料噴射量決定手段と、を備える。
燃料噴射手段は、内燃機関の吸気通路内に燃料を噴射するようになっている。
燃料付着量推定手段は、「前記吸気通路内における燃料の挙動を模した燃料挙動モデル」にしたがって「吸気通路を構成する部材（吸気通路構成部材）に付着し且つ残留している燃料の総量である燃料付着量」を「推定燃料付着量」として推定するようになっている。
燃料噴射量決定手段は、少なくとも前記推定された推定燃料付着量に基づいて前記燃料噴射手段から噴射される燃料の量である燃料噴射量を決定するようになっている。
【００１２】
更に、この燃料噴射量制御装置は、筒内吸入空気量取得手段と、空燃比取得手段と、フューエルカット制御実行手段と、実筒内流入燃料量取得手段と、燃料挙動モデル修正手段と、を備えている。
【００１３】
筒内吸入空気量取得手段は、前記機関の一回の吸気行程において同機関の気筒内に吸入される空気の量である筒内吸入空気量を取得するようになっている。
空燃比取得手段は、排気通路を通過するガスの実際の空燃比の変化に対して出力が連続的に変化する広域空燃比センサを含む。そして、空燃比取得手段は、前記機関の排気通路に備えられ同排気通路を通過するガスの実際の空燃比（広域空燃比センサが配設されている排気通路内の箇所を通過するガスの空燃比であり、機関の空燃比と等しい）を取得するようになっている。
【００１４】
フューエルカット制御実行手段は、前記機関の運転状態が所定のフューエルカット条件を満足したとき前記燃料噴射手段による燃料の噴射を停止するフューエルカット制御を実行するようになっている。更に、フューエルカット制御実行手段は、フューエルカット制御の実行中に前記機関の運転状態が所定のフューエルカット復帰条件を満足したとき前記燃料噴射手段による燃料の噴射を再開するようになっている。
【００１５】
例えば、前記取得された筒内吸入空気量を前記取得された空燃比により除した値は、一回の吸気行程にて前記機関の気筒内に実際に流入した燃料量である「実筒内流入燃料量」に相当する。実筒内流入燃料量は、このような計算（除算）により求めてもよく、取得された空燃比と取得された筒内吸入空気量とを所定のテーブルに適用することにより求めてもよい。換言すると、気筒に流入した空気の量と、その空気により形成されたガスの空燃比が判れば、それらから実筒内流入燃料量を求めることができる。
【００１６】
そこで、実筒内流入燃料量取得手段は、フューエルカット関連期間において、前記取得された空燃比と前記取得された筒内吸入空気量とに基づいて一回の吸気行程にて前記機関の気筒内に実際に流入した燃料量である実筒内流入燃料量を取得するようになっている。
【００１７】
前記フューエルカット関連期間は、
（１）前記フューエルカット制御実行手段により前記燃料の噴射が停止され始めたフューエルカット開始時点からの所定期間であるフューエルカット開始後期間、及び、
（２）前記フューエルカット制御実行手段により前記燃料の噴射が再開され始めたフューエルカット復帰時点からの所定期間であるフューエルカット復帰後期間、
の少なくとも一方の期間である。
【００１８】
ところで、フューエルカット期間（フューエルカット制御実行中）においては燃料噴射が停止されるから、吸気通路構成部材に新たに付着する燃料は存在しない。従って、フューエルカット期間中において吸気通路構成部材に付着していた略総ての燃料は気筒内に流入し且つ気筒から排出される。換言すると、フューエルカット復帰時点において吸気通路構成部材には燃料は実質的に付着していない。従って、フューエルカット復帰後期間においては、一回の吸気行程に対して燃料噴射手段から噴射された燃料の量（燃料噴射量）と上記のように求められる一回の吸気行程に対する実筒内流入燃料量との差は「実燃料付着変化量」である。そして、この実燃料付着変化量を「０」から積算すればフューエルカット復帰後期間における実燃料付着量を得ることができる。
【００１９】
更に、上述したように、フューエルカット期間においては燃料噴射が停止されるから吸気通路構成部材に新たに付着する燃料は存在しない。また、フューエルカット開始時点において吸気通路構成部材に付着していた燃料は、フューエルカット開始後期間において気筒内に総て流入し且つ気筒から排出される。従って、フューエルカット開始後期間においては、「０」である燃料噴射量と上記のように求められる実筒内流入燃料量との差（即ち、実筒内流入燃料量）が「実燃料付着変化量」として求められ、この実燃料付着変化量をフューエルカット開始後期間（フューエルカット開始時点から実燃料付着変化量が略「０」になる時点まで）において「０」から積算すれば、フューエルカット開始時点における実燃料付着量を得ることができる。
【００２０】
このような知見に基づき、燃料挙動モデル修正手段は、前記吸気通路内に噴射された燃料の量と前記取得された実筒内流入燃料量とに基づいて前記フューエルカット関連期間における一回の吸気行程に対する前記燃料付着量の実際の変化量を実燃料付着変化量として取得する。そして、燃料挙動モデル修正手段は、その取得した実燃料付着変化量と前記推定燃料付着量とに基づいて前記燃料挙動モデルを修正するようになっている。
【００２１】
この結果、本燃料噴射量制御装置は、燃料挙動モデルを精度良く理想のモデルに近づけることができるので、燃料噴射量が適正値に近づき、以って、機関の空燃比を適正に制御することができる。
【００２２】
この場合、
前記燃料挙動モデルは、
前記機関の一回の吸気行程に対して前記燃料噴射手段により噴射された燃料の量に対する同噴射された燃料のうち前記吸気通路を構成する部材に付着する燃料の量の比である燃料付着率Ｒを使用する数式により表されるモデルであり、
前記燃料挙動モデル修正手段は、
前記フューエルカット復帰時点において前記吸気通路を構成する部材に付着している実際の燃料の量が０であると仮定し、且つ、前記取得した実燃料付着変化量を前記フューエルカット復帰後期間において積算することによって実燃料付着量を取得するとともに、同取得した実燃料付着量と前記推定燃料付着量とに基づいて前記燃料付着率Ｒを修正するように構成されることが好適である。
【００２３】
これによれば、フューエルカット復帰後期間において、実燃料付着量が精度よく求められ、その実燃料付着量に基づいて燃料付着率Ｒが修正される。従って、燃料挙動モデルをより精度良く修正することができる。
【００２４】
更に、前記燃料挙動モデル修正手段は、
前記フューエルカット開始後期間において前記実燃料付着変化量を積算することによって前記フューエルカット開始時点における実燃料付着量を取得するとともに、同取得したフューエルカット開始時点における実燃料付着量と前記燃料付着量推定手段により推定されていた同フューエルカット開始時点における推定燃料付着量とに基づいて前記燃料付着率Ｒを修正するように構成されることが好適である。
【００２５】
これによれば、フューエルカット開始時点における実燃料付着量が精度よく求められ、その実燃料付着量に基づいて燃料付着率Ｒが修正される。従って、燃料挙動モデルをより精度良く修正することができる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明による内燃機関の燃料噴射量制御装置の各実施形態について図面を参照しつつ説明する。
【００２７】
（第１実施形態）
図１は、第１実施形態に係る燃料噴射量制御装置（以下、「第１制御装置」とも称呼する。）を４サイクル火花点火式多気筒（４気筒）内燃機関１０に適用したシステムの概略構成を示している。なお、図１は、特定気筒の断面のみを示しているが、他の気筒も同様な構成を備えている。
【００２８】
この内燃機関１０は、シリンダブロック、シリンダブロックロワーケース及びオイルパン等を含むシリンダブロック部２０と、シリンダブロック部２０の上に固定されるシリンダヘッド部３０と、シリンダブロック部２０にガソリン混合気を供給するための吸気系統４０と、シリンダブロック部２０からの排ガスを外部に放出するための排気系統５０とを含んでいる。
【００２９】
シリンダブロック部２０は、シリンダ２１、ピストン２２、コンロッド２３及びクランク軸２４を含んでいる。ピストン２２はシリンダ２１内を往復動し、ピストン２２の往復動がコンロッド２３を介してクランク軸２４に伝達され、これによりクランク軸２４が回転するようになっている。シリンダ２１の壁面とピストン２２の上面は、シリンダヘッド部３０の下面とともに燃焼室２５を形成している。
【００３０】
シリンダヘッド部３０は、燃焼室２５に連通した吸気ポート３１、吸気ポート３１を開閉する吸気弁３２、吸気弁３２を駆動するインテークカムシャフトを含むとともに同インテークカムシャフトの位相角及びリフト量を連続的に変更する可変吸気タイミング装置３３、燃焼室２５に連通した排気ポート３４、排気ポート３４を開閉する排気弁３５、排気弁３５を駆動するエキゾーストカムシャフト３６、点火プラグ３７、点火プラグ３７に与える高電圧を発生するイグニッションコイルを含むイグナイタ３８及び燃料を吸気ポート３１内に噴射するインジェクタ（燃料噴射手段）３９を備えている。
【００３１】
吸気系統４０は、各気筒の吸気ポート３１に一端が接続された複数のインテークマニホールド４１、各インテークマニホールド４１の他端が接続された一つのサージタンク４２、一端がサージタンク４２に接続された吸気管４３、吸気管４３の他端に設けられたエアフィルタ４４、及び、吸気管４３内にあって吸気通路の開口断面積を可変とするスロットル弁４５を備えている。スロットル弁４５は、ＤＣモータからなるスロットル弁アクチュエータ４５ａにより吸気管４３内で回転駆動されるようになっている。
【００３２】
本明細書において、インジェクタ３９から噴射される燃料が付着する「インテークマニホールド４１、吸気ポート３１及び吸気弁３２等の吸気通路を構成する部材」は「吸気通路構成部材」と称呼される。
【００３３】
排気系統５０は、各気筒の排気ポート３４に一端が接続された複数のエキゾーストマニホールド５１、各エキゾーストマニホールド５１の他端であって総てのエキゾーストマニホールド５１が集合している集合部に接続されたエキゾーストパイプ５２、エキゾーストパイプ５２に介装された上流側の三元触媒５３、及び、エキゾーストパイプ５２に介装された下流側の三元触媒５４を備えている。排気ポート３４、エキゾーストマニホールド５１及びエキゾーストパイプ５２は、排気通路を構成している。
【００３４】
一方、このシステムは、熱線式エアフローメータ６１、スロットルポジションセンサ６２、カムポジションセンサ６３、クランクポジションセンサ６４、水温センサ６５、空燃比センサ（酸素濃度センサ）６６、及び、アクセルペダル操作量センサ６７を備えている。
【００３５】
熱線式エアフローメータ（吸入空気量取得手段）６１は、吸気管４３内を流れる吸入空気の質量流量を計測し、その計測された吸入空気量（吸入空気流量）Ｇａを表す信号を出力するようになっている。
スロットルポジションセンサ６２は、スロットル弁４５の開度を検出し、スロットル弁開度ＴＡを表す信号を出力するようになっている。
【００３６】
カムポジションセンサ６３は、インテークカムシャフトが９０°回転する毎に（即ち、クランク軸２４が１８０°回転する毎に）一つのパルスを有する信号（Ｇ２信号）を発生するようになっている。
クランクポジションセンサ６４は、クランク軸２４が１０°回転する毎に幅狭のパルスを有するとともにクランク軸２４が３６０°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、後述する電気制御装置７０により機関回転速度ＮＥを表す信号に変換される。更に、電気制御装置７０は、カムポジションセンサ６３からの信号とクランクポジションセンサ６４とに基づいて機関１０の絶対クランク角を取得するようになっている。
水温センサ６５は、内燃機関１０の冷却水の温度を検出し、冷却水温ＴＨＷを表す信号を出力するようになっている。
【００３７】
空燃比センサ６６は、エキゾーストマニホールド５１の集合部よりも下流の排気通路であって上流側の触媒５３よりも上流の位置に配設されている。空燃比センサ６６は、空燃比センサ６６が配設された排気通路内の部位を流れるガス（被検出ガス、この場合、上流側触媒５３に流入するガス）の空燃比に応じた出力値を出力するようになっている。より具体的に述べると、空燃比センサ６６は限界電流式の酸素濃度センサである。空燃比センサ６６は、図２に示したように、被検出ガスの空燃比Ａ／Ｆ（従って、機関１０の気筒（燃焼室２５）に供給されるガスの空燃比）に応じた電圧である出力値Vabyfsを出力するようになっている。この出力値Vabyfsは、被検出ガスの空燃比が理論空燃比であるときに値Vstoichに一致する。出力値Vabyfsは、被検出ガスの空燃比が大きくなる（リーンとなる）ほど増大する。即ち、空燃比センサ６６は、被検出ガスの空燃比の変化に対して出力が連続的に変化する広域空燃比センサである。
【００３８】
後述する電気制御装置７０は、図２に示したテーブル（マップ）Mapabyfsを記憶していて、そのテーブルMapabyfsに実際の出力値Vabyfsを適用することによって空燃比abyfsを検出するようになっている。即ち、電気制御装置７０は、検出空燃比abyfsをMapabyfs（Vabyfs）により取得するようになっている。
【００３９】
アクセルペダル操作量センサ６７は、運転者によって操作されるアクセルペダルＡｐの操作量を検出し、同アクセルペダルＡｐの操作量Accpを表す信号を出力するようになっている。
【００４０】
電気制御装置７０は、互いにバスで接続されたＣＰＵ７１、ＣＰＵ７１が実行するプログラム、テーブル（ルックアップテーブル、マップ）及び定数等を予め記憶したＲＯＭ７２、ＣＰＵ７１が必要に応じてデータを一時的に格納するＲＡＭ７３、電源が投入された状態にてデータを書き込むとともに同書き込んだデータを電源が遮断されている間も保持するバックアップＲＡＭ７４、並びにＡＤコンバータを含むインターフェース７５等からなる周知のマイクロコンピュータである。
【００４１】
インターフェース７５は、前記センサ６１〜６７と接続され、ＣＰＵ７１にセンサ６１〜６７からの信号を供給するようになっている。インターフェース７５は、更に、ＣＰＵ７１の指示に応じて、スロットル弁アクチュエータ４５ａ、各気筒のイグナイタ３８及び各気筒のインジェクタ３９等に駆動信号（指示信号）を送出するようになっている。
【００４２】
（第１制御装置の作動の概要）
次に、第１制御装置の作動の概要について説明する。第１制御装置は、図３に示したように、各気筒の吸気通路構成部材に付着し且つ残留している燃料の総量（燃料付着量）を「吸気通路における燃料の挙動を模して構築され且つ燃料付着パラメータを使用した式により表される燃料挙動モデル」を用いて燃料噴射毎（吸気行程毎）に推定する。燃料付着パラメータは、本例において、燃料付着率Ｒ及び燃料残留率Ｐである。燃料挙動モデルにより推定される燃料付着量は、「推定燃料付着量」とも称呼される。
【００４３】
燃料付着率Ｒは、一回の吸気行程に対して噴射された燃料のうち吸気通路構成部材へ直接付着する燃料の割合である。燃料残留率Ｐは、吸気通路構成部材に既に付着していた燃料のうち一回の吸気行程を経た後に同吸気通路構成部材に付着したまま残留している燃料の割合である。
【００４４】
第１制御装置は、気筒内に供給すべき燃料の量（要求燃料量Ｆｒｅｑ）と、前記推定燃料付着量と、に基づいて燃料噴射量を決定する。第１制御装置は、「燃料噴射が停止されるフューエルカット制御」の終了時点（即ち、燃料噴射が停止された状態から燃料噴射が再開されるフューエルカット復帰時点）からの所定期間であるフューエルカット復帰後期間において、エアフローメータ６１の出力Ｇａ等に基づいて算出・取得される筒内吸入空気量Ｍｃと空燃比センサ６６の出力値Vabyfsに基づいて取得される検出空燃比abyfsとに基づき、気筒内に実際に流入した実筒内流入燃料量を求める。更に、第１制御装置は、その実筒内流入燃料量に基づいて実際の燃料付着量（実燃料付着量）を取得する。そして、第１制御装置は、実燃料付着量と推定燃料付着量との比較に基づいて燃料付着パラメータ（燃料挙動モデル）を修正する。これにより、以降の推定燃料付着量の精度が向上するので、機関の空燃比をより目標空燃比に一層精度良く近づけることができる。以下、このような作動を行うために必要となる各値の求め方について説明する。
【００４５】
（燃料挙動モデルに基づく燃料付着量の推定）
前述したように、第１制御装置は、吸気通路構成部材に付着し且つ残留する燃料の総量である推定燃料付着量を燃料挙動モデルに基づいて推定し、この推定燃料付着量に応じて「所定の目標空燃比」を得るために噴射すべき燃料の量（燃料噴射量）Ｆｉを決定する。
【００４６】
以下、具体的に推定燃料付着量及び燃料噴射量の算出方法について説明する。図３に示したように、Ｆｉ（ｋ）だけの燃料量を噴射した後の推定燃料付着量Ｆｗ（ｋ＋１）は下記（３）式により求められる。
Ｆｗ（ｋ＋１）＝Ｒ・Ｆｉ（ｋ）＋Ｐ・Ｆｗ（ｋ）  …（３）
【００４７】
上記（３）式において、Ｆｗ（ｋ）はＦｉ（ｋ）の量の燃料を噴射する前の推定燃料付着量であり、Ｆｗ（ｋ＋１）はＦｉ（ｋ）の量の燃料を噴射した後の推定燃料付着量である。第１制御装置は、（３）式の燃料付着率Ｒを、機関運転状態（気筒の一吸気行程における吸入空気量に相当する筒内吸入空気量、筒内吸入空気量から求められる負荷率、エンジン回転速度及び冷却水温等）と燃料付着率Ｒとの関係を規定するテーブルMapＲと実際の機関運転状態とに基づいて求める。第１制御装置は、（３）式の燃料残留率Ｐを、上記機関運転状態と燃料残留率Ｐとの関係を規定するテーブルMapＰと実際の機関運転状態とに基づいて求める。
【００４８】
今回の吸気行程に対する燃料噴射量Ｆｉ（ｋ）のうち今回の吸気行程において気筒（燃焼室２５）内に吸入される燃料の量は（１−Ｒ）・Ｆｉ（ｋ）である。今回の吸気行程直前において吸気通路構成部材に既に付着している燃料の量Ｆｗ（ｋ）のうち今回の吸気行程において気筒内に吸入される燃料の量は（１−Ｐ)・Ｆｗ（ｋ）である。即ち、ある吸気行程において一つの気筒内に流入する燃料の総量である「筒内流入燃料量Ｆａｌｌ」は、下記の（４）式により表される。
Ｆａｌｌ（ｋ）＝（１−Ｒ)・Ｆｉ（ｋ）＋（１−Ｐ)・Ｆｗ（ｋ）  …（４）
【００４９】
そこで、Ｆｒｅｑ（ｋ）を今回の吸気行程において機関の空燃比を目標空燃比と一致させるために必要な燃料量（要求燃料量）であると定義すると、機関の空燃比を目標空燃比とするためには、下記（５）式が成立するように今回の燃料噴射量Ｆｉ（ｋ）を求めればよいことになる。
Ｆｒｅｑ（ｋ）＝（１−Ｒ)・Ｆｉ（ｋ）＋（１−Ｐ)・Ｆｗ（ｋ）  …（５）
【００５０】
第１制御装置は、実際には上記（５）式を変形した下記の（６）式により今回の燃料噴射量Ｆｉ（ｋ）を決定する。この（６）式は、燃料挙動モデルの逆モデルを表す。そして、第１制御装置は、決定した燃料噴射量Ｆｉ（ｋ）の燃料をインジェクタ３９から噴射する。
Ｆｉ（ｋ）＝｛Ｆｒｅｑ（ｋ）−（１−Ｐ)・Ｆｗ（ｋ）｝／（１−Ｒ)  …（６）
【００５１】
（フューエルカット復帰後期間における実燃料付着量の取得）
第１制御装置は、所定のフューエルカット条件が成立すると燃料の噴射を停止する「フューエルカット制御」を開始する。更に、第１制御装置は、フューエルカット制御中において所定のフューエルカット復帰条件が成立すると、フューエルカット制御を停止する。即ち、第１制御装置は、フューエルカット復帰条件成立時、燃料の噴射を再開する。
【００５２】
ところで、フューエルカット制御が開始すると、吸気通路構成部材に新たに付着する燃料は存在しなくなる。従って、フューエルカット制御が所定時間以上継続すると、吸気通路構成部材に付着していた略総ての燃料は燃焼室２５を介して排気通路へと排出される。即ち、フューエルカット制御が所定時間以上継続すると、実際の燃料付着量は略「０」となる。
【００５３】
以下、ある特定気筒の吸気通路構成部材に着目して説明を行う。いま、図４に示した時刻ｔ１以前において十分に長い時間に渡りフューエルカット制御が実行されていたと仮定する。この場合、上述したように実際の燃料付着量は略「０」になる。従って、第１制御装置は、図４の（Ｂ）に示したように、時刻ｔ１における計算上の実燃料付着量ＦｗＧＫを「０」に設定する。
【００５４】
時刻ｔ１以降、フューエルカット制御が終了され、燃料の噴射が再開される。従って、図４の（Ａ）の時刻ｔ１に示したように、燃料噴射量Ｆｉ（ｔ１）の燃料が噴射される。ここで、Ｆｉ（ｔｎ）は時刻ｔｎ（フューエルカット復帰後の特定気筒に対する噴射回数ｎ回目の時刻）における燃料噴射量を表す。ｎは自然数である。いま、説明の便宜上、フューエルカット復帰時点から暫くの間、要求燃料量Ｆｒｅｑが変化しないと仮定する。一方、実際の燃料付着量は、フューエルカット復帰時点において略「０」となっているから、フューエルカット復帰時点からの噴射回数が増大するほど定常値に向けて増加する。従って、上記（３）式により表された燃料挙動モデルによって推定される推定燃料付着量Ｆｗも、フューエルカット復帰後において次第に増加する。その結果、上記（６）式から明らかなように、燃料噴射量Ｆｉ（ｔｎ）は次第に減少する。
【００５５】
このフューエルカット復帰時点以降、実燃料付着量ＦｗＧＫは、燃料噴射毎（一回の吸気行程毎）に「燃料噴射量Ｆｉ（ｔｎ）と実筒内流入燃料量Ｆｃｙｌ（ｔｎ）との差」である「実燃料付着変化量ＤＦｗ（ｔｎ）」ずつ「０」から増大して行く。
【００５６】
ところで、実筒内流入燃料量Ｆｃｙｌは、ある吸気行程における筒内吸入空気量をＭｃとし、その吸気行程に対する燃焼行程により生じたガスの実際の空燃比をａｂｙｆとすると、下記の（７）式により求めることができる。
Ｆｃｙｌ＝Ｍｃ／ａｂｙｆ    …（７）
【００５７】
ガスの実際の空燃比は、空燃比センサ６６により検出することができる。即ち、（７）式の空燃比ａｂｙｆは検出空燃比abyfs（＝Mapabyfs（Vabyfs））と置くことができる。この場合、検出空燃比abyfsは、燃焼室２５において燃焼したガスが空燃比センサ６６に到達するまでのガス輸送遅れ時間Ｔだけ前の時点において燃焼したガスの空燃比を表す。従って、（７）式の筒内吸入空気量Ｍｃは、ガスの輸送遅れ時間Ｔだけ前の時点において燃焼された混合気に対応する筒内吸入空気量Ｍｃとすべきである。このため、実際には（７）式に基づく下記（８）式に従って実筒内流入燃料量Ｆｃｙｌ（ｔｎ）が算出される。（７）式におけるｔは現時点の時刻である。即ち、abyfs（ｔ）は現時点の検出空燃比であり、Ｍｃ（ｔ−Ｔ）は現時点からガスの輸送遅れ時間Ｔだけ前に燃焼した混合気に対応する吸入空気の量（筒内吸入空気量）である。
Ｆｃｙｌ（ｔｎ）＝Ｍｃ（ｔ−Ｔ）／abyfs（ｔ）    …（８）
【００５８】
更に、ガスの輸送遅れ時間Ｔに対応するサイクル数（１サイクル＝７２０度クランク角）をＮサイクルとすると、（８）式から（９）式が得られる。（８）式におけるｋは現時点におけるサイクルを表す。従って、abyfs（ｋ）は現時点における検出空燃比であり、Ｍｃ（ｋ−Ｎ）は現時点からガスの輸送遅れ時間Ｔに対応するＮサイクルだけ前の燃焼に供された混合気を形成した筒内吸入空気の量である。
Ｆｃｙｌ（ｋ−Ｎ）＝Ｍｃ（ｋ−Ｎ）／abyfs（ｋ）    …（９）
【００５９】
このように、実筒内流入燃料量Ｆｃｙｌ（ｋ−Ｎ）は、「空燃比センサ６６によって検出される検出空燃比abyfs（ｋ）」と、「エアフローメータ６１によって測定された吸入空気量Ｇａ及び機関回転速度ＮＥ（又は空気モデル等）に基づいて取得される筒内吸入空気量Ｍｃ（ｋ−Ｎ）」と、に基づいて求めることができる。従って、燃料噴射量Ｆｉ（ｋ−Ｎ）から実筒内流入燃料量Ｆｃｙｌ（ｋ−Ｎ）を減じることにより、フューエルカット復帰後における一回の燃料噴射（一回の吸気行程）に対して吸気通路構成部材に付着する燃料の量（即ち、燃料付着変化量）ＤＦｗを求めることができる。そして、第１制御装置は、この実燃料付着変化量ＤＦｗを所定期間（例えば、実燃料付着変化量ＤＦｗが微小な値δ以下となる時点までの期間）積算することにより、実際の燃料付着量ＦｗＧＫを算出する。
【００６０】
その後、第１制御装置は、算出した実燃料付着量ＦｗＧＫと、燃料挙動モデルを用いて推定した推定燃料付着量Ｆｗとを比較することにより、燃料挙動モデル（燃料付着率Ｒ、燃料残留率Ｐ）を修正する。より具体的に述べると、第１制御装置は、推定燃料付着量Ｆｗが実燃料付着量ＦｗＧＫよりも大きいとき、燃料付着率Ｒ及び燃料残留率Ｐが過大とあると考えられるから、それらの値を正の値α１及び正の値β１だけそれぞれ減少させるための修正を実行する。これに対し、第１制御装置は、推定燃料付着量Ｆｗが実燃料付着量ＦｗＧＫよりも小さいとき、燃料付着率Ｒ及び燃料残留率Ｐが過小とあると考えられるから、それらの値を正の値α２及び正の値β２だけそれぞれ増大させるための修正を実行する。
【００６１】
（実際の作動）
次に、第１制御装置の実際の作動について、特定の気筒に着目して説明する。第１制御装置のＣＰＵ７１は、図５にフローチャートにより示した燃料噴射制御ルーチンを、特定気筒のクランク角が吸気上死点前の所定クランク角度（例えば、ＢＴＤＣ９０°）に一致する毎に繰り返し実行するようになっている。従って、任意の気筒のクランク角度が上記所定クランク角度になると、ＣＰＵ７１はステップ５００から処理を開始し、以下に述べるステップ５０５乃至ステップ５３０の処理を順に行う。
【００６２】
ステップ５０５：ＣＰＵ７１は、エアフローメータ６１により計測された吸入空気量Ｇａと、クランクポジションセンサ６４からの出力信号により得られる機関回転速度ＮＥと、テーブルMapMc（Ｇａ,ＮＥ）と、に基づいて、吸気行程を迎える気筒（以下、「燃料噴射気筒」とも称呼する。）に吸入される筒内吸入空気量（空気重量）Ｍｃ（ｋ）を算出する。筒内吸入空気量Ｍｃ（ｋ）の単位は（ｇ）である。なお、筒内吸入空気量Ｍｃ（ｋ）は機関１０の吸気通路における空気の挙動をモデル化した周知の空気量推定モデル（空気モデル）を用いて求められてもよい。筒内吸入空気量Ｍｃ（ｋ）は算出される毎に機関１０の絶対クランク角度に対応されながらＲＡＭ７３に格納されて行く。即ち、筒内吸入空気量Ｍｃ（ｋ）は、どのサイクルに対する筒内吸入空気量であるか判別可能となるようにＲＡＭ７３に格納されて行く。
【００６３】
ステップ５１０：ＣＰＵ７１は下記（１０）式に従って負荷率ＫＬを求める。この（１０）式において、ρは空気密度（単位は（ｇ／ｌ））、Ｌは機関１０の排気量（単位は（ｌ））、４は機関１０の気筒数である。
ＫＬ＝｛Ｍｃ（ｋ）／（ρ・Ｌ／４）｝・１００（％）  …（１０）
【００６４】
ステップ５１５：ＣＰＵ７１は、燃料付着率Ｒの基本値Ｒ０を、機関回転速度ＮＥ、負荷率ＫＬ及びテーブルMapＲ０から求める。テーブルMapＲ０は、機関回転速度ＮＥ及び負荷率ＫＬが変化しない定常運転状態にある場合において、機関回転速度ＮＥ及び負荷率ＫＬと、燃料付着率Ｒと、の関係を予め実験により求め、その実験値に基づいて定められたルックアップテーブルである。
ステップ５２０：ＣＰＵ７１は、燃料付着率Ｒの基本値Ｒ０に燃料付着率の学習値ＲＧＫを加えることにより燃料付着率Ｒを算出する。学習値ＲＧＫは後述するように別途求められている。
【００６５】
ステップ５２５：ＣＰＵ７１は、燃料残留率Ｐの基本値Ｐ０を、機関回転速度ＮＥ、負荷率ＫＬ及びテーブルMapＰ０から求める。テーブルMapＰ０は、機関回転速度ＮＥ及び負荷率ＫＬが変化しない定常運転状態にある場合において、機関回転速度ＮＥ及び負荷率ＫＬと、燃料残留率Ｐと、の関係を予め実験により求め、その実験値に基づいて定められたルックアップテーブルである。
ステップ５３０：ＣＰＵ７１は、燃料残留率Ｐの基本値Ｐ０に燃料残留率の学習値ＰＧＫを加えることにより燃料残留率Ｐを算出する。学習値ＰＧＫは後述するように別途求められている。
【００６６】
次に、ＣＰＵ７１はステップ５３５に進み、フューエルカットフラグＸＦＣが「１」であるか否かを判定する。フューエルカットフラグＸＦＣは、その値が「１」のとき、機関１０の運転状態がフューエルカット制御中であることを示す。フューエルカットフラグＸＦＣは、その値が「０」のとき、機関１０の運転状態が通常運転状態にあってフューエルカット制御中でないことを示す。フューエルカット制御は、機関１０への燃料の供給（インジェクタ３９からの燃料噴射）を停止する制御である。フューエルカットフラグＸＦＣの値は後述するルーチンにより変更される。フューエルカットフラグＸＦＣは図示しないイグニッション・キー・スイッチがオフからオンに変更されたときに実行されるイニシャルルーチンにおいて「０」に設定される。
【００６７】
いま、機関１０の運転状態が通常運転状態にあってフューエルカット制御中でないと仮定する。この場合、フューエルカットフラグＸＦＣは「０」となっている。従って、ＣＰＵ７１はステップ５３５にて「Ｎｏ」と判定し、以下に述べるステップ５４０乃至ステップ５５０の処理を順に行う。
【００６８】
ステップ５４０：ＣＰＵ７１は、筒内吸入空気量Ｍｃ（ｋ）を目標空燃比Abyfref（ｋ）（本例においては理論空燃比）で除すことによって、要求燃料量Ｆｒｅｑ（ｋ）を求める。
ステップ５４５：ＣＰＵ７１は、上記（６）式に従って最終的な燃料噴射量Ｆｉ（ｋ）を算出する。
ステップ５５０：ＣＰＵ７１は、燃料噴射量Ｆｉの燃料を噴射するための噴射指示信号を特定気筒（燃料噴射気筒）に対して設けられているインジェクタ３９に対して送出する。
【００６９】
その後、ＣＰＵ７１は、以下に述べるステップ５５５及びステップ５６０の処理を順に行い、ステップ５９５に進んで本ルーチンを一旦終了する。
ステップ５５５：ＣＰＵ７１は上記（３）式に従って今回の吸気行程後における推定燃料付着量Ｆｗ（ｋ＋１）を求める。
ステップ５６０：ＣＰＵ７１は上記ステップ５４５及び上記ステップ５５５の次回の計算に備え、推定燃料付着量Ｆｗ（ｋ）に推定燃料付着量Ｆｗ（ｋ＋１）を格納する。
【００７０】
一方、ＣＰＵ７１は、図６に示したフューエルカット条件判定ルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、所定のタイミングになると、ＣＰＵ７１はステップ６００から処理を開始し、ステップ６０５にてフューエルカットフラグＸＦＣの値が「０」であるか否かを判定する。即ち、ＣＰＵ７１は現在がフューエルカット制御中であるか否かを判定する。現時点はフューエルカット制御中でないので、フューエルカットフラグＸＦＣの値は「０」である。従って、ＣＰＵ７１はステップ６０５にて「Ｙｅｓ」と判定してステップ６１０に進み、フューエルカット条件が成立したか否かを判定する。
【００７１】
フューエルカット条件は、以下に述べる条件１及び条件２が成立したときにのみ成立する。
（条件１）スロットル弁開度ＴＡが「０（又は所定開度以下）」である。即ち、スロットル弁４５が全閉である。なお、ＣＰＵ７１は、スロットル弁４５の開度を、アクセルペダルの操作量Accpが大きくなるほど大きくなるように制御している。
（条件２）機関回転速度ＮＥがフューエルカット回転速度ＮＥＦＣ以上である。
【００７２】
このとき、フューエルカット条件が成立していなければ、ＣＰＵ７１はステップ６１０にて「Ｎｏ」と判定し、ステップ６９５に直接進んで本ルーチンを一旦終了する。これに対し、フューエルカット条件が成立していると、ＣＰＵ７１はステップ６１０にて「Ｙｅｓ」と判定し、ステップ６１５に進んでフューエルカットフラグＸＦＣの値を「１」に設定する。その後、ＣＰＵ７１はステップ６９５に進んで本ルーチンを一旦終了する。
【００７３】
フューエルカットフラグＸＦＣの値が「１」に設定されたとき、ＣＰＵ７１が図５に示したルーチンのステップ５３５に進むと、ＣＰＵ７１はステップ５３５にて「Ｙｅｓ」と判定してステップ５６５に進み、最終的な燃料噴射量Ｆｉ（ｋ）の値を「０」に設定する。その後、ＣＰＵ７１はステップ５５５及びステップ５６０を経てステップ５９５に進む。従って、ステップ５５０の処理（燃料噴射指示）が実行されないので、燃料の噴射が停止されるフューエルカット制御が実行される。また、最終的な燃料噴射量Ｆｉ（ｋ）の値が「０」に設定されるから、ステップ５５５にて推定（更新）される推定燃料付着量Ｆｗ（ｋ＋１）は、その時点の推定燃料付着量Ｆｗ（ｋ）に燃料残留率Ｐを乗じた値となる。従って、推定燃料付着量Ｆｗ（ｋ）は次第に減少して行く。
【００７４】
この状態において（即ち、フューエルカット制御中）、ＣＰＵ７１が図６のルーチンを実行すると、ＣＰＵ７１はステップ６０５にて「Ｎｏ」と判定し、ステップ６２０に進むようになる。ＣＰＵ７１は、ステップ６２０にてフューエルカット復帰条件（フューエルカット終了条件）が成立したか否かを判定する。
【００７５】
フューエルカット復帰条件は以下に述べる条件１及び条件２の何れかが成立したときに成立し、条件１及び条件２の双方が不成立のとき不成立となる。
（条件１）スロットル弁開度ＴＡが「０（前記所定開度）」より大きい。
（条件２）機関回転速度ＮＥが、フューエルカット回転速度ＮＥＦＣよりも所定回転数ΔＮだけ小さいフューエルカット復帰回転速度ＮＥＦＫ（ＮＥＦＫ＝ＮＥＦＣ−ΔＮ）より小さい。
【００７６】
このとき、フューエルカット復帰条件が成立していなければ、ＣＰＵ７１はステップ６２０にて「Ｎｏ」と判定し、ステップ６９５に直接進んで本ルーチンを一旦終了する。これに対し、フューエルカット復帰条件が成立していると、ＣＰＵ７１はステップ６２０にて「Ｙｅｓ」と判定し、ステップ６２５に進んでフューエルカットフラグＸＦＣの値を「０」に設定する。その後、ＣＰＵ７１はステップ６９５に進んで本ルーチンを一旦終了する。この結果、ＣＰＵ７１は、図３のルーチンにおけるステップ５３５にて「Ｎｏ」と判定してステップ５４０乃至ステップ５５０の処理を実行するようになるので、燃料の噴射が再開される。
【００７７】
更に、ＣＰＵ７１は、図７にフローチャートにより示した学習許可判定ルーチンを所定時間の経過毎に実行するようになっている。従って、所定のタイミングになると、ＣＰＵ７１はステップ７００から処理を開始し、ステップ７０５に進んでフューエルカットフラグＸＦＣの値が「０」であるか否かを判定する。このとき、フューエルカットフラグＸＦＣの値が「１」であると（即ち、フューエルカット制御の実行中であると）、ＣＰＵ７１はステップ７０５にて「Ｎｏ」と判定してステップ７３０に進み、現時点のフューエルカットフラグＸＦＣの値を前回のフューエルカットフラグＸＦＣoldに格納する。その後、ＣＰＵ７１は、ステップ７９５に進んで本ルーチンを一旦終了する。
【００７８】
これに対し、フューエルカットフラグＸＦＣの値が「０」であると（即ち、フューエルカット制御の実行中でないと）、ＣＰＵ７１はステップ７０５にて「Ｙｅｓ」と判定してステップ７１０に進み、本ルーチンを前回（所定時間前に）実行した際のフューエルカットフラグＸＦＣの値、即ち、フューエルカットフラグＸＦＣoldの値が「１」であるか否かを判定することにより、所定時間前においてフューエルカット制御が実行中であったか否かを判定する。このとき、フューエルカットフラグＸＦＣoldの値が「０」であると（即ち、所定時間前にもフューエルカット制御は実行されていなかった場合）、ＣＰＵ７１はステップ７１０にて「Ｎｏ」と判定し、ステップ７３０を経由してステップ７９５に進み、本ルーチンを一旦終了する。
【００７９】
いま、フューエルカットフラグＸＦＣの値が「１」から「０」へと変更され、それによりフューエルカット制御が終了し、燃料の噴射が再開された時点（フューエルカット復帰時点）の直後であると仮定する。この場合、フューエルカットフラグＸＦＣの値は「０」であり、前回のフューエルカットフラグＸＦＣoldの値は「１」である。従って、ＣＰＵ７１は図７のステップ７０５及びステップ７１０の両ステップにて「Ｙｅｓ」と判定し、ステップ７１５に進む。
【００８０】
ＣＰＵ７１は、ステップ７１５にて、直前のフューエルカット制御においてフューエルカットフラグＸＦＣの値が「１」である状態が第１閾値時間（所定時間）以上継続していたか否かを判定する。この第１閾値時間は、フューエルカット制御が第１閾値時間以上だけ継続すれば、吸気通路構成部材に付着していた燃料が総て燃焼室２５を通って排出される時間に設定されている。そして、ＣＰＵ７１は、フューエルカットフラグＸＦＣの値が「１」である状態が第１閾値時間以上継続していなかった場合、ステップ７１５にて「Ｎｏ」と判定し、ステップ７３０を経由してステップ７９５に進んで本ルーチンを一旦終了する。
【００８１】
これに対し、フューエルカットフラグＸＦＣの値が「１」である状態が第１閾値時間以上継続していると、ＣＰＵ７１はステップ７１５にて「Ｙｅｓ」と判定し、ステップ７２０に進んで学習許可フラグＸＧＫの値を「１」に設定する。次いで、ＣＰＵ７１はステップ７２５に進み、実燃料付着量ＦｗＧＫを「０」に設定する。これにより、後述するように、実燃料付着量ＦｗＧＫは第１閾値時間以上継続したフューエルカット制御の停止時点以降（フューエルカット復帰時点以降）において、初期値「０」から積算されることになる（後述する図８のステップ８４０を参照。）。その後、ＣＰＵ７１はステップ７３０を経由してステップ７９５に進み、本ルーチンを一旦終了する。
【００８２】
加えて、ＣＰＵ７１は図８にフローチャートにより示した燃料付着率Ｒ及び燃料残留率Ｐの学習ルーチン（燃料挙動モデルの修正・学習ルーチン）を所定時間の経過毎に実行するようになっている。従って、所定のタイミングになると、ＣＰＵ７１はステップ８００から処理を開始し、ステップ８０５にて学習許可フラグＸＧＫの値が「１」であるか否かを判定する。このとき、学習許可フラグＸＧＫの値が「１」でなければ、ＣＰＵ７１はステップ８０５にて「Ｎｏ」と判定し、ステップ８９５に直接進んで本ルーチンを一旦終了する。
【００８３】
一方、図７のルーチンにおけるステップ７２０にて学習許可フラグＸＧＫの値が「１」に設定されると、ＣＰＵ７１はステップ８０５に進んだとき、そのステップ８０５にて「Ｙｅｓ」と判定してステップ８１０に進み、前述した「ガスの輸送遅れ時間Ｔ」に対応するサイクル数Ｎを機関回転速度ＮＥ、吸入空気量Ｇａ及びMapＮから決定する。
【００８４】
次に、ＣＰＵ７１はステップ８１５に進み、フューエルカットフラグＸＦＣの値が「１」から「０」へ変化してからＮサイクル（Ｎサイクル以上）が経過したか否かを判定する。即ち、ＣＰＵ７１は、フューエルカット復帰時点からクランク軸２４がＮ・７２０度クランク角だけ回転したか否かを判定することにより、フューエルカット復帰時点からガスの輸送時間Ｔが経過したか否かを判定する。このとき、フューエルカット復帰直後であってフューエルカット復帰時点からガスの輸送時間Ｔが経過していなければ、ＣＰＵ７１はステップ８１５にて「Ｎｏ」と判定し、ステップ８９５に直接進んで本ルーチンを一旦終了する。
【００８５】
一方、フューエルカット復帰時点からガスの輸送時間Ｔが経過していると、ＣＰＵ７１はステップ８１５にて「Ｙｅｓ」と判定し、以下に述べるステップ８２０乃至ステップ８４０の処理を順に行う。
【００８６】
ステップ８２０：ＣＰＵ７１は、図２に示したテーブルMapabyfsに空燃比センサ６６の実際の出力値Vabyfsを適用することによって検出空燃比abyfs（ｋ）を取得する。
ステップ８２５：ＣＰＵ７１は、現時点のサイクルからＮサイクル前の燃焼行程に対する吸気行程において特定気筒に吸入された吸入空気量である筒内吸入空気量Ｍｃ（ｋ−Ｎ）を、ステップ８２０にて取得した検出空燃比abyfs（ｋ）で除することにより、実筒内流入燃料量Ｆｃｙｌを算出する。
【００８７】
ステップ８３０：ＣＰＵ７１は、現時点のサイクルからＮサイクル前の燃焼行程に対する吸気行程において特定気筒に対して噴射された燃料の量（燃料噴射量）Ｆｉ（ｋ−Ｎ）を燃料噴射量ＦｉとしてＲＡＭ７３から読み出す。
ステップ８３５：ＣＰＵ７１は、ステップ８３０にて読み出した燃料噴射量Ｆｉからステップ８２５にて算出した実筒内流入燃料量Ｆｃｙｌを減じることにより、実燃料付着変化量ＤＦｗを算出する。即ち、現時点のサイクルからＮサイクル前の吸気行程に対する燃料噴射により、吸気通路構成部材に追加的に付着した燃料量が実燃料付着変化量ＤＦｗとして算出される。
【００８８】
ステップ８４０：ＣＰＵ７１は、その時点の実燃料付着量ＦｗＧＫにステップ８３５にて求めた実燃料付着変化量ＤＦｗを加えることにより実燃料付着量ＦｗＧＫを更新する。前述したように、実燃料付着量ＦｗＧＫはフューエルカット復帰時点において「０」に初期化されている。従って、ＣＰＵ７１はステップ８２０乃至ステップ８４０の処理により、フューエルカット復帰時点において「０」であり、フューエルカット復帰時点以降において次第に増大して行く実際の燃料付着量ＦｗＧＫを「一回の吸気行程毎に実燃料付着変化量ＤＦｗだけ増加させる」ことによって算出する。
【００８９】
次に、ＣＰＵ７１はステップ８４５に進み、実燃料付着変化量ＤＦｗが微小な値δ以下となったか否かを判定する。図４に示したように、フューエルカット復帰後においてある程度の時間が経過すると、一回の吸気行程において新たに吸気通路構成部材に付着する燃料の量と、その一回の吸気行程の前において吸気通路構成部材に付着していた燃料のうちその一回の吸気行程において燃焼室２５へ吸入される燃料の量と、が略等しくなる。換言すると、実際の燃料付着量が定常値に収束する。
【００９０】
いま、フューエルカット復帰直後であるとすると、実燃料付着変化量ＤＦｗは微小な値δより大きい。従って、ＣＰＵ７１はステップ８４５にて「Ｎｏ」と判定し、ステップ８９５に直接進んで本ルーチンを一旦終了する。
【００９１】
その後、図８のルーチンが所定時間の経過毎に繰り返し実行されるので、ステップ８４０にて実燃料付着量ＦｗＧＫが求められて行く。そして、フューエルカット復帰時点から十分な時間が経過すると燃料付着量は定常値へと収束するので、実燃料付着変化量ＤＦｗは微小な値δ以下となる。このとき、ＣＰＵ７１はステップ８４５にて「Ｙｅｓ」と判定し、ステップ８５０に進んで燃料挙動モデルの修正（学習）を実行する。
【００９２】
即ち、ＣＰＵ７１はステップ８５０において、その時点にて算出されている実燃料付着量ＦｗＧＫと、図５のルーチンにより燃料挙動モデルを用いて推定され且つ図５のステップ５６０にて更新された推定燃料付着量Ｆｗ（ｋ）とを比較することにより、燃料挙動モデル（燃料付着率Ｒ、燃料残留率Ｐ）を修正する。
【００９３】
より具体的に述べると、ＣＰＵ７１は、推定燃料付着量Ｆｗ（ｋ）が実燃料付着量ＦｗＧＫよりも大きいとき、燃料付着率Ｒ及び燃料残留率Ｐが過大とあると考えられるから、燃料付着率Ｒの学習値ＲＧＫ及び燃料残留率の学習値ＰＧＫを正の値α１及び正の値β１だけそれぞれ減少させる。これに対し、ＣＰＵ７１は、推定燃料付着量Ｆｗ（ｋ）が実燃料付着量ＦｗＧＫよりも小さいとき、燃料付着率Ｒ及び燃料残留率Ｐが過小とあると考えられるから、燃料付着率Ｒの学習値ＲＧＫ及び燃料残留率の学習値ＰＧＫを正の値α２及び正の値β２だけそれぞれ増大させる。
【００９４】
その後、ＣＰＵ７１はステップ８５５に進み、学習許可フラグＸＧＫの値を「０」に設定し、ステップ８９５に進んで本ルーチンを一旦終了する。
【００９５】
以上、説明したように、第１制御装置は、
内燃機関の吸気通路内に燃料を噴射する燃料噴射手段（インジェクタ３９及び電気制御装置７０）と、
前記吸気通路内における燃料の挙動を模した燃料挙動モデルにしたがって前記燃料噴射手段により噴射された燃料のうち前記吸気通路を構成する部材に付着し残留する燃料の量（総量）である燃料付着量を推定燃料付着量Ｆｗとして推定する燃料付着量推定手段（図５のステップ５５５及びステップ５６０等を参照。）と、
少なくとも前記推定された推定燃料付着量に基づいて前記燃料噴射手段から噴射される燃料の量である燃料噴射量Ｆｉを決定する燃料噴射量決定手段（図５のステップ５４０及びステップ５４５を参照。）と、
を備えた内燃機関の燃料噴射量制御装置であって、
前記機関の一回の吸気行程において同機関の気筒内に吸入される空気の量である筒内吸入空気量を取得する筒内吸入空気量取得手段（図５のステップ５０５を参照。）と、
前記機関の排気通路に備えられ同排気通路を通過するガスの実際の空燃比abyfsを取得する空燃比取得手段（空燃比センサ６６、図８のステップ８２０）と、
前記機関の運転状態が所定のフューエルカット条件を満足したとき前記燃料噴射手段による燃料の噴射を停止するフューエルカット制御を実行するとともに同フューエルカット制御の実行中に同運転状態が所定のフューエルカット復帰条件を満足したとき前記燃料噴射手段による燃料の噴射を再開するフューエルカット制御実行手段（図６のルーチン、図５のステップ５３５及びステップ５６５を参照。）と、
前記フューエルカット制御実行手段により前記燃料の噴射が再開され始めたフューエルカット復帰時点からの所定期間であるフューエルカット復帰後期間（フューエルカット復帰時点から実燃料付着変化量ＤＦｗが微小値δ以下となるまでの期間）であってフューエルカット関連期間と称呼される期間において、前記取得された空燃比abyfsと前記取得された筒内吸入空気量Ｍｃとに基づいて一回の吸気行程にて前記機関の気筒内に実際に流入した燃料量である実筒内流入燃料量Ｆｃｙｌを取得する実筒内流入燃料量取得手段（図８のステップ８２５を参照。）と、
前記吸気通路内に噴射された燃料の量Ｆｉと前記取得された実筒内流入燃料量Ｆｃｙｌとに基づいて前記フューエルカット復帰後期間における一回の吸気行程に対する前記燃料付着量の実際の変化量を実燃料付着変化量ＤＦｗとして取得するとともに（図８のステップ８３５を参照。）、同取得した実燃料付着変化量ＤＦｗと前記推定燃料付着量Ｆｗ（ｋ）とに基づいて前記燃料挙動モデルを修正する燃料挙動モデル修正手段（図８のステップ８４０乃至ステップ８５０を参照。）と、
を備えている。
【００９６】
従って、第１制御装置は、フューエルカット復帰後期間において、精度良く求められた実燃料付着量ＦｗＧＫに基づいて燃料挙動モデルを修正することができるので、燃料噴射量Ｆｉが適正値に近づき、以って、機関１０の空燃比を目標空燃比に近しい空燃比に制御することができる。
【００９７】
更に、第１制御装置の燃料挙動モデルは、少なくとも燃料付着率Ｒ（実際には、燃料付着率Ｒ及び燃料残留率Ｐ）を使用する数式により表されるモデルであり、
前記燃料挙動モデル修正手段は、
前記フューエルカット復帰時点において前記吸気通路を構成する部材に付着している実際の燃料の量が０であると仮定し（図７のステップ７２５を参照。）、且つ、前記取得した実燃料付着変化量ＤＦｗを前記フューエルカット復帰後期間において積算することによって実燃料付着量ＦｗＧＫを取得するとともに（図８のステップ８４０を参照。）、同取得した実燃料付着量ＦｗＧＫと前記推定燃料付着量Ｆｗ（ｋ）とに基づいて前記燃料付着率を修正するように構成されている（図８のステップ８５０を参照。）。
【００９８】
従って、第１制御装置は、フューエルカット復帰後期間において、実燃料付着量ＦｗＧＫを精度よく求めることができ、その実燃料付着量ＦｗＧＫに基づいて少なくとも燃料付着率Ｒ（実際には、燃料付着率Ｒ及び燃料残留率Ｐ）を修正する。従って、燃料挙動モデルをより精度良く修正することができる。
【００９９】
なお、上記図８のステップ８５０において、ＣＰＵ７１は、その時点にて算出されている実燃料付着量ＦｗＧＫと、図５のルーチンにより燃料挙動モデルを用いて推定され且つ図５のステップ５６０にて更新された推定燃料付着量Ｆｗ（ｋ）であってＮサイクル前の推定燃料付着量Ｆｗ（ｋ−Ｎ）とを比較することにより、燃料挙動モデル（燃料付着率Ｒ、燃料残留率Ｐ）を修正してもよい。但し、このステップ８５０が実行される時点においては、燃料付着量は収束しているので、推定燃料付着量Ｆｗ（ｋ−Ｎ）と推定燃料付着量Ｆｗ（ｋ）とは略等しい。
【０１００】
（第１実施形態の変形例）
次に、本発明の第１実施形態の変形例に係る内燃機関の燃料噴射量制御装置（以下、「第１変形装置」と称呼する。）について説明する。第１変形装置は、フューエルカット復帰後期間において実燃料付着量ＦｗＧＫが更新される毎に、その実燃料付着量ＦｗＧＫと推定燃料付着量Ｆｗとを比較し、その比較結果に基づいて燃料挙動モデルを修正する点のみにおいて第１制御装置と相違している。
【０１０１】
より具体的に述べると、第１変形装置のＣＰＵ７１は、図５乃至図７に示したルーチンを第１制御装置のＣＰＵ７１と同様に実行する。更に、第１変形装置のＣＰＵ７１は、図８に代わる図９に示したルーチンを所定時間の経過毎に実行するようになっている。図９において図８に示したステップと同一の処理を行うためのステップには、図８のそのようなステップに付された符号と同一の符号が付されている。以下、これらのステップの詳細説明は省略される。
【０１０２】
このＣＰＵ７１は、ステップ８４０にて実燃料付着量ＦｗＧＫを更新すると、ステップ９１０に進んで燃料挙動モデルの修正（学習）を実行する。即ち、ＣＰＵ７１は、ステップ９１０において、その時点のサイクルからＮサイクル前（即ち、その時点からガスの輸送遅れ時間Ｔ前）に対する推定燃料付着量Ｆｗ（ｋ−Ｎ）と、実燃料付着量ＦｗＧＫと、を比較する。
【０１０３】
そして、ＣＰＵ７１は、推定燃料付着量Ｆｗ（ｋ−Ｎ）が実燃料付着量ＦｗＧＫよりも大きいとき、燃料付着率Ｒ及び燃料残留率Ｐが過大とあると考えられるから、燃料付着率Ｒの学習値ＲＧＫ及び燃料残留率の学習値ＰＧＫを正の値α１及び正の値β１だけそれぞれ減少させる。これに対し、ＣＰＵ７１は、推定燃料付着量Ｆｗ（ｋ−Ｎ）が実燃料付着量ＦｗＧＫよりも小さいとき、燃料付着率Ｒ及び燃料残留率Ｐが過小とあると考えられるから、燃料付着率Ｒの学習値ＲＧＫ及び燃料残留率の学習値ＰＧＫを正の値α２及び正の値β２だけそれぞれ増大させる。
【０１０４】
これによれば、実燃料付着量ＦｗＧＫが更新される毎に燃料挙動モデルが修正されるので、燃料挙動モデルの修正回数を多くすることができる。
【０１０５】
（第２実施形態）
次に、本発明の第２実施形態に係る内燃機関の燃料噴射量制御装置（以下、「第２制御装置」と称呼する。）について説明する。第２制御装置は、フューエルカット復帰後ではなく、フューエルカット開始後に燃料挙動モデルを修正する点のみにおいて第１制御装置と相違している。従って、以下、この相違点を中心として説明を加える。
【０１０６】
（第２制御装置の作動の概要）
第２制御装置の作動の概要について説明する。第２制御装置は、第１制御装置と同様、各気筒の吸気通路構成部材に付着し残留する燃料量（推定燃料付着量）を燃料挙動モデルを用いて燃料噴射毎（吸気行程毎）に推定する。
【０１０７】
更に、第２制御装置は、第１制御装置と同様、その推定燃料付着量に応じて燃料噴射量を決定する。第２制御装置は、燃料噴射が停止されるフューエルカット開始時点からの所定期間であるフューエルカット開始後期間において、エアフローメータ６１の出力Ｇａ等に基づいて算出・取得される筒内吸入空気量Ｍｃと空燃比センサ６６の出力値Vabyfsに基づいて取得される検出空燃比abyfsとに基づき実筒内流入燃料量を求め、その実筒内流入燃料量に基づいてフューエルカット開始時点における実際の燃料付着量（実燃料付着量）を取得する。そして、第２制御装置は、フューエルカット開始時点における実燃料付着量とフューエルカット開始時点における推定燃料付着量との比較に基づいて燃料付着パラメータ（燃料挙動モデル）を修正する。これにより、以降の推定燃料付着量の精度が向上するので、機関の空燃比をより目標空燃比に一層精度良く近づけることができる。
【０１０８】
ところで、フューエルカット制御が開始すると、即ち、燃料噴射が停止されると、吸気通路構成部材に新たに付着する燃料は存在しなくなる。従って、フューエルカット開始時点から所定時間が経過するまでのフューエルカット開始後期間において、フューエルカット開始時点にて吸気通路構成部材に付着していた略総ての燃料が燃焼室２５を介して排気通路へと排出される。
【０１０９】
従って、図１０に示したように、上記（７）式（即ち、Ｆｃｙｌ＝Ｍｃ／ａｂｙｆ）により求められる筒内流入燃料量Ｆｃｙｌは、一回の吸気行程における燃料付着変化量ＤＦｗと一致する。つまり、一回の吸気行程により筒内流入燃料量Ｆｃｙｌだけ実燃料付着量は減少する。従って、この実燃料付着変化量ＤＦｗ（即ち、筒内流入燃料量Ｆｃｙｌ）をフューエルカット開始後期間に渡って積算することにより、フューエルカット開始時点における実燃料付着量ＦｗＡＣＴＦＣを取得することができる。第２制御装置は、このような知見に基づいてフューエルカット開始時点における実燃料付着量ＦｗＡＣＴＦＣを取得する。
【０１１０】
第２制御装置は、第１制御装置と同様、燃焼室２５において燃焼したガスが空燃比センサ６６に到達するまでのガスの輸送遅れ時間Ｔを考慮して筒内流入燃料量Ｆｃｙｌを求める。即ち、第２制御装置も、上記（９）式（Ｆｃｙｌ（ｋ−Ｎ）＝Ｍｃ（ｋ−Ｎ）／abyfs（ｋ））を用いて筒内流入燃料量Ｆｃｙｌを算出する。そして、第２制御装置は、図１０の（Ｂ）に示したように、フューエルカット開始後において筒内流入燃料量Ｆｃｙｌ（即ち、燃料付着変化量ＤＦｗ）が微小な値δ以下となるまで筒内流入燃料量Ｆｃｙｌを積算することによって、フューエルカット開始時点における実燃料付着量ＦｗＡＣＴＦＣを取得する。
【０１１１】
その後、第２制御装置は、上記のように算出したフューエルカット開始時点における実燃料付着量ＦｗＡＣＴＦＣと、燃料挙動モデルに基づいてフューエルカット開始時点にて推定されていた推定燃料付着量ＦｗＩＮＦＦＣとを比較することにより、第１制御装置と同様に燃料挙動モデル（燃料付着率Ｒ、燃料残留率Ｐ）を修正する。
【０１１２】
（実際の作動）
次に、第２制御装置の実際の作動について、特定の気筒に着目して説明する。第２制御装置のＣＰＵ７１は、第１制御装置と同様に図５の燃料噴射制御ルーチン及び図６のフューエルカット条件判定ルーチンを実行する。更に、第２制御装置のＣＰＵ７１は、図７に代わる図１１の学習許可判定ルーチンと、図８に代わる図１２の燃料付着率Ｒ及び燃料残留率Ｐの学習ルーチン（燃料挙動モデルの修正・学習ルーチン）を、それぞれ所定時間の経過毎に実行するようになっている。
【０１１３】
従って、所定のタイミングになると、ＣＰＵ７１は図１１のステップ１１００から処理を開始し、ステップ１１０５に進んでフューエルカットフラグＸＦＣの値が「１」であるか否かを判定する。このとき、フューエルカットフラグＸＦＣの値が「０」であると（即ち、フューエルカット制御の実行中でないと）、ＣＰＵ７１はステップ１１０５にて「Ｎｏ」と判定してステップ１１３０に進み、現時点のフューエルカットフラグＸＦＣの値を前回のフューエルカットフラグＸＦＣoldに格納する。その後、ＣＰＵ７１は、ステップ１１９５に進んで本ルーチンを一旦終了する。
【０１１４】
これに対し、フューエルカットフラグＸＦＣの値が「１」であると（即ち、フューエルカット制御の実行中であると）、ＣＰＵ７１はステップ１１０５にて「Ｙｅｓ」と判定してステップ１１１０に進み、本ルーチンを前回（所定時間前）に実行した際のフューエルカットフラグＸＦＣの値、即ち、フューエルカットフラグＸＦＣoldの値が「０」であるか否かを判定することにより、所定時間前においてフューエルカット制御が実行されていなかったか否かを判定する。このとき、フューエルカットフラグＸＦＣoldの値が「１」であると（即ち、所定時間前にもフューエルカット制御が実行されていた場合）、ＣＰＵ７１はステップ１１１０にて「Ｎｏ」と判定し、ステップ１１３０を経由してステップ１１９５に進み、本ルーチンを一旦終了する。
【０１１５】
いま、フューエルカットフラグＸＦＣの値が「０」から「１」へと変更され、それによりフューエルカット制御が開始し、燃料の噴射が停止された時点（フューエルカット開始時点）の直後であると仮定する。この場合、フューエルカットフラグＸＦＣの値は「１」であり、前回のフューエルカットフラグＸＦＣoldの値は「０」である。従って、ＣＰＵ７１は図１１のステップ１１０５及びステップ１１１０の両ステップにて「Ｙｅｓ」と判定し、ステップ１１１５に進む。
【０１１６】
ＣＰＵ７１は、ステップ１１１５にて学習許可フラグＸＧＫの値を「１」に設定する。次いで、ＣＰＵ７１はステップ１１２０に進み、燃料挙動モデルに基づいて推定されている推定燃料付着量Ｆｗ（ｋ）を「フューエルカット開始時点における推定燃料付着量ＦｗＩＮＦＦＣ」として格納する。その後、ＣＰＵ７１はステップ１１２５にて後述する燃料付着変化量積算値ＳＤＦｗの値を「０」に設定する。次いで、ＣＰＵ７１は、ステップ１１３０を経由してステップ１１９５に進み、本ルーチンを一旦終了する。このように、フューエルカット開始時点において学習許可フラグの値が「１」に変更され、且つ、推定燃料付着量ＦｗＩＮＦＦＣが取得される。
【０１１７】
また、所定のタイミングになると、ＣＰＵ７１は図１２のステップ１２００から処理を開始し、ステップ１２０５にて学習許可フラグＸＧＫの値が「１」であるか否かを判定する。このとき、学習許可フラグＸＧＫの値が「１」でなければ、ＣＰＵ７１はステップ１２０５にて「Ｎｏ」と判定し、ステップ１２９５に直接進んで本ルーチンを一旦終了する。
【０１１８】
一方、図１１のルーチンにおけるステップ１１１５にて学習許可フラグＸＧＫの値が「１」に設定されると、ＣＰＵ７１はステップ１２０５に進んだとき、そのステップ１２０５にて「Ｙｅｓ」と判定してステップ１２１０に進み、前述した「ガスの輸送遅れ時間Ｔ」に対応するサイクル数Ｎを機関回転速度ＮＥ、吸入空気量Ｇａ及びMapＮから決定する。
【０１１９】
次に、ＣＰＵ７１はステップ１２１５に進み、フューエルカットフラグＸＦＣの値が「０」から「１」へ変化してからＮサイクル（Ｎサイクル以上）が経過したか否かを判定する。即ち、ＣＰＵ７１は、フューエルカット開始時点からクランク軸２４がＮ・７２０度クランク角だけ回転したか否かを判定することにより、フューエルカット開始時点からガスの輸送時間Ｔが経過したか否かを判定する。このとき、フューエルカット開始直後であってフューエルカット開始時点からガスの輸送時間Ｔが経過していなければ、ＣＰＵ７１はステップ１２１５にて「Ｎｏ」と判定し、ステップ１２９５に直接進んで本ルーチンを一旦終了する。
【０１２０】
一方、フューエルカット開始時点からガスの輸送時間Ｔが経過していると、ＣＰＵ７１はステップ１２１５にて「Ｙｅｓ」と判定し、以下に述べるステップ１２２０乃至ステップ１２３５の処理を順に行う。
【０１２１】
ステップ１２２０：ＣＰＵ７１は、図２に示したテーブルMapabyfsに空燃比センサ６６の実際の出力値Vabyfsを適用することによって検出空燃比abyfs（ｋ）を取得する。
ステップ１２２５：ＣＰＵ７１は、現時点のサイクルからＮサイクル前の燃焼行程に対する吸気行程において特定気筒に吸入された吸入空気量である筒内吸入空気量Ｍｃ（ｋ−Ｎ）を、ステップ１２２０にて取得した検出空燃比abyfs（ｋ）で除することにより、実筒内流入燃料量Ｆｃｙｌを算出する。
【０１２２】
ステップ１２３０：ＣＰＵ７１は、ステップ１２２５にて算出した実筒内流入燃料量Ｆｃｙｌを実燃料付着変化量ＤＦｗとして格納する。即ち、現時点のサイクルからＮサイクル前の吸気行程により、フューエルカット開始時において吸気通路構成部材に付着していた燃料のうち燃焼室２５を介して排出された燃料の量が実燃料付着変化量ＤＦｗとして算出される。
【０１２３】
ステップ１２３５：ＣＰＵ７１は、その時点の燃料付着変化量積算値ＳＤＦｗにステップ１２２０乃至ステップ１２３０にて求めた実燃料付着変化量ＤＦｗを加えることにより積算値ＳＤＦｗを更新する。前述したように、積算値ＳＤＦｗはフューエルカット開始時点において「０」に初期化されている（図１１のステップ１１２５を参照。）。従って、ＣＰＵ７１はステップ１２２０乃至ステップ１２３５の処理を繰り返し実行することにより、フューエルカット開始時点において吸気通路構成部材に付着していた燃料の総量を算出することになる。
【０１２４】
次に、ＣＰＵ７１はステップ１２４０に進み、実燃料付着変化量ＤＦｗが微小な値δ以下となったか否かを判定する。図１０に示したように、フューエルカット開始後においてある程度の時間が経過すると、吸気通路構成部材に付着している燃料の量は「０」に近づくので、一回の吸気行程において燃焼室２５へ吸入される燃料の量は非常に小さくなる。
【０１２５】
いま、フューエルカット開始直後であるとすると、実燃料付着変化量ＤＦｗは微小な値δより大きい。従って、ＣＰＵ７１はステップ１２４０にて「Ｎｏ」と判定し、ステップ１２９５に直接進んで本ルーチンを一旦終了する。
【０１２６】
その後、フューエルカット開始時点から十分な時間が経過すると吸気通路構成部材に付着している燃料の量は「０」に近づくので、実燃料付着変化量ＤＦｗは微小な値δ以下となる。このとき、ＣＰＵ７１はステップ１２４０にて「Ｙｅｓ」と判定してステップ１２４５に進み、フューエルカット開始時点の実燃料付着量ＦｗＡＣＴＦＣにその時点の積算値ＳＤＦｗを格納する。次いで、ＣＰＵ７１はステップ１２５０に進み、燃料挙動モデルの修正（学習）を実行する。
【０１２７】
より具体的に述べると、ＣＰＵ７１は、フューエルカット開始時点での推定燃料付着量ＦｗＩＮＦＦＣ（図１１のステップ１１２０を参照。）がフューエルカット開始時点での実燃料付着量ＦｗＡＣＴＦＣよりも大きいとき、燃料付着率Ｒ及び燃料残留率Ｐが過大とあると考えられるから、燃料付着率Ｒの学習値ＲＧＫ及び燃料残留率の学習値ＰＧＫを正の値α１及び正の値β１だけそれぞれ減少させる。これに対し、ＣＰＵ７１は、推定燃料付着量ＦｗＩＮＦＦＣが実燃料付着量ＦｗＡＣＴＦＣよりも小さいとき、燃料付着率Ｒ及び燃料残留率Ｐが過小とあると考えられるから、燃料付着率Ｒの学習値ＲＧＫ及び燃料残留率の学習値ＰＧＫを正の値α２及び正の値β２だけそれぞれ増大させる。
【０１２８】
次いで、ＣＰＵ７１はステップ１２５５に進み、学習許可フラグＸＧＫの値を「０」に設定し、ステップ１２９５に進んで本ルーチンを一旦終了する。
【０１２９】
以上、説明したように、第２制御装置は、第１制御装置と同様の燃料噴射手段と、燃料付着量推定手段と、燃料噴射量決定手段と、筒内吸入空気量取得手段と、空燃比取得手段と、フューエルカット制御実行手段と、を備える。
【０１３０】
更に、第２制御装置は、
前記フューエルカット制御実行手段により前記燃料の噴射が停止され始めたフューエルカット開始時点からの所定期間であるフューエルカット開始後期間（フューエルカット開始時点から実燃料付着変化量ＤＦｗが微小値δ以下となるまでの期間）であってフューエルカット関連期間と称呼される期間において、前記取得された空燃比abyfsと前記取得された筒内吸入空気量Ｍｃとに基づいて一回の吸気行程にて前記機関の気筒内に実際に流入した燃料量である実筒内流入燃料量Ｆｃｙｌを取得する実筒内流入燃料量取得手段（図１２のステップ１２２０及びステップ１２２５を参照。）と、
前記吸気通路内に噴射された燃料の量Ｆｉ（但し、第２制御装置においてこの燃料噴射量Ｆｉは「０」である）と前記取得された実筒内流入燃料量Ｆｃｙｌとに基づいて前記フューエルカット関連期間における一回の吸気行程に対する前記燃料付着量の実際の変化量を実燃料付着変化量ＤＦｗとして取得するとともに（図１２のステップ１２３０を参照。）、同取得した実燃料付着変化量ＤＦｗと前記推定燃料付着量Ｆｗとに基づいて前記燃料挙動モデルを修正する燃料挙動モデル修正手段（図１２のステップ１２３５、ステップ１２４０、ステップ１２４５及びステップ１２５０を参照。）と、
を備えている。
【０１３１】
従って、第２制御装置は、フューエルカット開始後期間において精度良く求められた「フューエルカット開始時点における実燃料付着量ＦｗＡＣＴＦＣ」に基づいて燃料挙動モデルを修正することができるので、燃料噴射量Ｆｉが適正値に近づき、以って、機関１０の空燃比を目標空燃比に近しい空燃比に制御することができる。
【０１３２】
更に、第２制御装置が採用する燃料挙動モデルは、第１制御装置と同様、少なくとも燃料付着率Ｒ（実際には、燃料付着率Ｒ及び燃料残留率Ｐ）を使用する数式により表されるモデルである。
【０１３３】
加えて、第２制御装置の前記燃料挙動モデル修正手段は、
前記フューエルカット開始後期間において前記実燃料付着変化量ＤＦｗを積算することによって前記フューエルカット開始時点における実燃料付着量ＦｗＡＣＴＦＣを取得するとともに、同取得したフューエルカット開始時点における実燃料付着量ＦｗＡＣＴＦＣと前記燃料付着量推定手段により推定されていた同フューエルカット開始時点における推定燃料付着量ＦｗＩＮＦＦＣとに基づいて前記燃料付着率を修正するように構成されている（図１１のステップ１１２０、図１２のステップ１２３５乃至ステップ１２５０を参照。）。
【０１３４】
このように、第２制御装置は、フューエルカット開始後期間において実燃料付着量を精度よく求めることができ、その実燃料付着量に基づいてフューエルカット開始時点の実燃料付着量ＦｗＡＣＴＦＣを精度良く求めることができる。更に、第２制御装置は、精度良く求められた実燃料付着量ＦｗＡＣＴＦＣと燃料挙動モデルにより求められた推定燃料付着量ＦｗＩＮＦＦＣとに基づいて、少なくとも燃料付着率Ｒ（実際には、燃料付着率Ｒ及び燃料残留率Ｐ）を修正する。従って、燃料挙動モデルをより精度良く修正することができる。
【０１３５】
以上、説明したように、本発明の燃料噴射量制御装置の各実施形態は、フューエルカット関連期間において、燃料付着量の実際の変化量（実燃料付着変化量ＤＦｗ）を筒内吸入空気量と検出空燃比とにより求め、その燃料付着量の変化量に基づいて最終的に燃料挙動モデルを修正している。従って、各実施形態は燃料挙動モデルをより精度よく修正することができるので、エミッションを改善することができる。
【０１３６】
なお、本発明は上記各実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、第１制御装置は、第１制御装置の変形例及び第２制御装置による燃料挙動モデルの修正の少なくとも一方を併せて行うように構成されていてもよい。また、上記各実施形態は、「ガス輸送遅れ時間Ｔ」を考慮しているが、空燃比センサ６６の配設場所等によってはガス予想遅れ時間Ｔを無視してもよい。その場合、上記サイクル数Ｎを「０」と置けばよい。
【０１３７】
更に、上記各実施形態は、総ての運転状態（負荷率ＫＬ及び機関回転速度ＮＥに応じて定まる運転状態）に共通する燃料付着率Ｒの学習値ＲＧＫ及び燃料残留率の学習値ＰＧＫを修正していた。これに対し、燃料挙動モデルの修正を行う際の運転状態に応じて、その運転状態に対応する燃料付着率Ｒ及び燃料残留率Ｐを修正するように構成されてもよい。
【図面の簡単な説明】
【０１３８】
【図１】本発明の第１実施形態に係る燃料噴射量制御装置（第１制御装置）を搭載した内燃機関の概略図である。
【図２】図１に示した空燃比センサの出力電圧と空燃比との関係を示したグラフである。
【図３】燃料挙動モデルにより推定燃料付着量を求めるための原理を説明するための概念図である。
【図４】フューエルカット復帰前後における燃料噴射量、実筒内流入燃料量及び実燃料付着量の変化の様子を概念的に示した図である。
【図５】図１に示したＣＰＵが実行する燃料噴射制御ルーチンを示したフローチャートである。
【図６】図１に示したＣＰＵが実行するフューエルカット条件判定ルーチンを示したフローチャートである。
【図７】図１に示したＣＰＵが実行する学習許可判定ルーチンを示したフローチャートである。
【図８】図１に示したＣＰＵが実行する燃料挙動モデル修正ルーチンを示したフローチャートである。
【図９】第１制御装置の変形例に係るＣＰＵが実行する燃料挙動モデル修正ルーチンを示したフローチャートである。
【図１０】フューエルカット開始前後における燃料噴射量、実筒内流入燃料量及び燃料付着変化量の積算値の変化の様子を概念的に示した図である。
【図１１】本発明の第２実施形態に係る内燃機関の燃料噴射量制御装置（第２制御装置）のＣＰＵが実行する学習許可判定ルーチンを示したフローチャートである。
【図１２】第２制御装置のＣＰＵが実行する燃料挙動モデル修正ルーチンを示したフローチャートである。
【符号の説明】
【０１３９】
１０…内燃機関、２０…シリンダブロック部、２１…シリンダ、２２…ピストン、２５…燃焼室、３０…シリンダヘッド部、３１…吸気ポート、３２…吸気弁、３４…排気ポート、３５…排気弁、３７…点火プラグ、３８…イグナイタ、３９…インジェクタ、４０…吸気系統、４１…インテークマニホールド、４２…サージタンク、４３…吸気管、４５…スロットル弁、５０…排気系統、５１…エキゾーストマニホールド、５２…エキゾーストパイプ、５３…三元触媒、６１…熱線式エアフローメータ、６６…空燃比センサ、７０…電気制御装置、７１…ＣＰＵ。
【図１】
0005067191.tif 000002
【図２】
0005067191.tif 000003
【図３】
0005067191.tif 000004
【図４】
0005067191.tif 000005
【図５】
0005067191.tif 000006
【図６】
0005067191.tif 000007
【図７】
0005067191.tif 000008
【図８】
0005067191.tif 000009
【図９】
0005067191.tif 000010
【図１０】
0005067191.tif 000011
【図１１】
0005067191.tif 000012
【図１２】
0005067191.tif 000013