(57)【要約】【課題】２系統の燃料供給装置の制御量のずれを適切に補正する。【解決手段】制御装置は、暖機条件が成立しており（Ｓ１００にてＹＥＳ）、かつ、第２燃料供給装置の学習条件が成立している場合に（Ｓ１０２にてＹＥＳ）、学習制御を実行するステップ（Ｓ１０４）と、第２学習値の大きさがしきい値Ａ以上であって（Ｓ１０６にてＹＥＳ）、第１燃料供給装置の学習条件が成立していると（Ｓ１０８にてＹＥＳ）、第２学習値を第１学習値に取り込む取込処理を実行するステップ（Ｓ１１０）とを含む、制御処理を実行する。【選択図】図６
2018003722.tif 000002
【特許請求の範囲】
【請求項１】
吸気通路に燃料を供給する第１燃料供給装置と、前記第１燃料供給装置の下流に配置され、前記吸気通路に燃料を供給する第２燃料供給装置とを備えたエンジンの空燃比学習制御装置であって、
前記エンジンの排気通路に設けられ、排気ガスの空燃比を検出する空燃比センサと、
前記第１燃料供給装置の第１制御量と、前記第２燃料供給装置の第２制御量とを決定し、決定された前記第１制御量と前記第２制御量とにしたがって前記第１燃料供給装置と前記第２燃料供給装置とをそれぞれ制御する制御装置とを備え、
前記制御装置は、
前記エンジンの運転状態によって決定される第１初期値を前記第１制御量として前記第１燃料供給装置を制御するとともに、前記エンジンの運転状態によって決定される第２初期値を前記第２制御量として前記第２燃料供給装置を制御し、
前記空燃比センサにより検出される実空燃比が前記エンジンの運転状態に応じて予め設定される目標空燃比からずれた場合は、前記吸気通路に供給される燃料のずれ量を算出するとともに前記ずれ量を第２学習値として前記第２初期値に取り込んで前記第２制御量を決定し、
前記第２学習値の大きさがしきい値よりも大きい場合には、前記第２学習値の少なくとも一部を第１学習値として前記第１初期値に取り込んで前記第１制御量を決定するとともに前記第２学習値を前記第１学習値に基づいて再設定して前記第２制御量を決定する、エンジンの空燃比学習制御装置。
【請求項２】
前記制御装置は、前記第２学習値の大きさが前記しきい値よりも大きい場合には、前記第２学習値から予め定められた値を減算し、前記予め定められた値を前記第１制御量を基準とした値に換算して前記第１学習値に加算する、請求項１に記載のエンジンの空燃比学習制御装置。
【請求項３】
前記制御装置は、前記第１学習値が異常判定用しきい値よりも大きい場合には、前記第１燃料供給装置および前記第２燃料供給装置のうちの少なくともいずれかが異常状態であると判定する、請求項１または２に記載のエンジンの空燃比学習制御装置。
【請求項４】
前記制御装置は、前記第１制御量が前記第１初期値から予め定められた値以上乖離する場合には、前記第１燃料供給装置および前記第２燃料供給装置のうちの少なくともいずれかが異常状態であると判定する、請求項１または２に記載のエンジンの空燃比学習制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジンに搭載された２系統の燃料供給装置を制御するための制御量のずれを補正するための学習値を適切に設定する技術に関する。
【背景技術】
【０００２】
ＬＰＧ（Liquefied  Petroleum  Gas）等の気体燃料の供給を受けて作動するエンジンが公知である。このようなエンジンとして、たとえば、特開昭６２−８５１５７号公報（特許文献１）には、必要供給量のうちの相当な量の燃料を吸気通路に供給するための第１燃料供給装置と、追加的に燃料を供給して空燃比を制御するための第２燃料供給装置とを搭載するエンジンが開示される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開昭６２−８５１５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、第１燃料供給装置および第２燃料供給装置を制御するための各制御量は、エンジンの状態に基づいて空燃比が目標値（たとえば、理論空燃比）になるように予め設定された値を基準として設定される。一方、部品の経年劣化やエアクリーナの詰まりや漏れが生じるなどして空燃比が目標値と一致しない場合には、たとえば、第１燃料供給装置の制御量を維持しつつ、空燃比の目標値と現在値との差分に応じて、第２燃料供給装置の制御量を初期値から変更するフィードバック制御が行なわれる場合がある。さらに、第２燃料供給装置の制御量が初期値からずれた状態が継続する場合には、そのずれ分を予め学習値として記憶しておき、フィードバック制御に記憶した学習値を考慮する場合がある。このようにすると、空燃比制御における目標値への収束性を向上することができる。
【０００５】
しかしながら、空燃比制御において第２燃料供給装置の初期値と学習値との和が第２燃料供給装置の制御量の変更可能範囲を超える場合には、空燃比を目標値にするために第１燃料供給装置の制御量をフィードバック制御する必要がある。その結果、空燃比を制御するための第２燃料供給装置を適切に機能させることができず、空燃比制御の応答性の悪化を抑制できない場合がある。
【０００６】
本発明は、上述した課題を解決するためになされたものであって、その目的は、２系統の燃料供給装置の制御量のずれを適切に補正するエンジンの空燃比学習制御装置を提供することである。
【課題を解決するための手段】
【０００７】
この発明のある局面に係るエンジンの空燃比学習制御装置は、吸気通路に燃料を供給する第１燃料供給装置と、第１燃料供給装置の下流に配置され、吸気通路に燃料を供給する第２燃料供給装置とを備えたエンジンの空燃比学習制御装置である。空燃比学習制御装置は、エンジンの排気通路に設けられ、排気ガスの空燃比を検出する空燃比センサと、第１燃料供給装置の第１制御量と、第２燃料供給装置の第２制御量とを決定し、決定された第１制御量と第２制御量とにしたがって第１燃料供給装置と第２燃料供給装置とをそれぞれ制御する制御装置とを備える。制御装置は、エンジンの運転状態によって決定される第１初期値を第１制御量として第１燃料供給装置を制御するとともに、エンジンの運転状態によって決定される第２初期値を第２制御量として第２燃料供給装置を制御する。制御装置は、空燃比センサにより検出される実空燃比がエンジンの運転状態に応じて予め設定される目標空燃比からずれた場合は、吸気通路に供給される燃料のずれ量を算出するとともにずれ量を第２学習値として第２初期値に取り込んで第２制御量を決定する。制御装置は、第２学習値の大きさがしきい値よりも大きい場合には、第２学習値の少なくとも一部を第１学習値として第１初期値に取り込んで第１制御量を決定するとともに第２学習値を第１学習値に基づいて再設定して第２制御量を決定する。
【０００８】
このようにすると、第２学習値の少なくとも一部が第１学習値として第１初期値に取り込まれるため、第２燃料供給装置の第２初期値と第２学習値との和が第２燃料供給装置の第２制御量の変更可能幅を超えることを抑制することができる。そのため、第２燃料供給装置を用いて空燃比を適切に制御することができるため、空燃比制御の応答性の悪化を抑制することができる。
【０００９】
好ましくは、制御装置は、第２学習値の大きさがしきい値よりも大きい場合には、第２学習値から予め定められた値を減算し、予め定められた値を第１制御量を基準とした値に換算して第１学習値に加算する。
【００１０】
このようにすると、第２学習値から予め定められた値が減算され、予め定められた値が第１学習値に取り込まれるため、第２燃料供給装置の第２初期値と第２学習値との和が第２燃料供給装置の第２制御量の変更可能幅を超えることを抑制することができる。
【００１１】
さらに好ましくは、制御装置は、第１学習値が異常判定用しきい値よりも大きい場合には、第１燃料供給装置および第２燃料供給装置のうちの少なくともいずれかが異常状態であると判定する。
【００１２】
このようにすると、第１燃料供給装置または第２燃料供給装置の異常の有無を精度高く判定することができる。
【００１３】
さらに好ましくは、制御装置は、第１制御量が第１初期値から予め定められた値以上乖離する場合には、第１燃料供給装置および第２燃料供給装置のうちの少なくともいずれかが異常状態であると判定する。
【００１４】
このようにすると、第１燃料供給装置または第２燃料供給装置の異常の有無を精度高く判定することができる。
【発明の効果】
【００１５】
この発明によると、２系統の燃料供給装置の制御量のずれを適切に補正するエンジンの空燃比学習制御装置を提供することができる。
【図面の簡単な説明】
【００１６】
【図１】本実施の形態におけるエンジンの概略構成を示す図である。
【図２】エンジン回転数とエンジン負荷と第１燃料供給装置の制御量（制御弁の開度）との関係を説明するための図である。
【図３】エンジン回転数とエンジン負荷と第２燃料供給装置の制御量（燃料噴射時間）との関係を説明するための図である。
【図４】第２学習値の変化を説明するための図である。
【図５】空燃比のフィードバック制御の一例を説明するための制御ブロック図である。
【図６】本実施の形態において制御装置で実行される制御処理を示すフローチャートである。
【図７】本実施の形態における制御装置の動作を説明するための図である。
【図８】本実施の形態の変形例において制御装置で実行される制御処理を示すフローチャートである。
【図９】本実施の形態の変形例における制御装置の動作を説明するための図である。
【図１０】本実施の形態の他の変形例における制御装置で実行される制御処理を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号が付されている。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
【００１８】
図１は、本実施の形態におけるエンジン１００の概略構成を示す。本実施の形態において、エンジン１００は、内燃機関であって、たとえば、天然ガスやＬＰＧ等の気体燃料を用いて作動するガスエンジンを一例として説明する。エンジン１００は、たとえば、車両等の駆動源として搭載される。
【００１９】
エンジン１００は、エアクリーナ２と、吸気通路４と、インテークマニホールド６と、エンジン本体８と、エキゾーストマニホールド１０と、排気通路１２と、排気浄化装置１４と、第１燃料供給装置２０と、燃料ボンベ２２と、空燃比センサ２４と、第２燃料供給装置２６と、レギュレータ２８と、制御装置２００とを含む。本実施の形態に係るエンジン１００の空燃比学習制御装置は、空燃比センサ２４と、制御装置２００とによって構成される。
【００２０】
吸気通路４の一方端には、エアクリーナ２が設けられ、吸気通路４の他方端は、インテークマニホールド６に接続される。吸気通路４の一方端と他方端との間の所定の位置には、第１燃料供給装置２０が設けられる。第１燃料供給装置２０には、燃料ボンベ２２に貯蔵される液化燃料が燃料配管等を経由して供給される。燃料ボンベ２２から供給された燃料は、レギュレータ２８において減圧（気化）された後に第１燃料供給装置２０を経由して吸気通路４内に供給される。第１燃料供給装置２０には、制御装置２００の制御信号に基づいて燃料の供給量を調整するための調整装置が設けられる。調整装置は、たとえば、燃料の流路の断面積（開度）を調整することによって燃料の供給量を調整する。調整装置としては、たとえば、ステップモータを用いて開度が変更可能な制御弁が用いられる。
【００２１】
さらに、吸気通路４には、第１燃料供給装置２０よりもエンジン本体８側の位置に第２燃料供給装置２６が設けられる。第２燃料供給装置２６としては、たとえば、燃料噴射インジェクタが用いられる。吸気通路４には、スロットルバルブ（図示せず）が設けられ、スロットルバルブよりも上流側（エアクリーナ２側）に第１燃料供給装置２０が設けられる。一方、スロットルバルブよりも下流側（エンジン本体８側）に第２燃料供給装置２６が設けられる。
【００２２】
第２燃料供給装置２６は、レギュレータ２８において気化された燃料を吸気通路４内に供給する。第２燃料供給装置２６は、制御装置２００の制御信号に基づいて燃料の供給量を調整する。第２燃料供給装置２６は、たとえば、燃料噴射時間を調整することによって燃料の供給量を調整する。
【００２３】
レギュレータ２８は、燃料ボンベ２２から供給される液化燃料を減圧する。レギュレータ２８において、減圧により気化された燃料は、第１燃料供給装置２０および第２燃料供給装置２６に供給される。
【００２４】
第１燃料供給装置２０あるいは第２燃料供給装置２６を経由して吸気通路４内に供給された気体燃料は、エアクリーナ２から吸入された空気と混合し、混合気が形成される。形成された混合気は、インテークマニホールド６を経由してエンジン本体８に供給される。
【００２５】
エンジン本体８には、たとえば、複数の気筒が設けられる。気筒内には、ピストンが格納される。吸気行程において、ピストンが下降することによって、インテークマニホールド６から混合気が導入される。圧縮行程において、ピストンが上昇することによって、気筒内の混合気が圧縮される。ピストンが上死点まで上昇した付近で点火プラグ（図示せず）により点火されると、気筒内の圧縮された混合気が燃焼する。膨張行程においては、混合気の燃焼圧によってピストンが押し下げられ、クランク機構を介してエンジン本体８のクランクシャフトが回転させられる。そして、排気行程においては、ピストンが上昇することによって、気筒内の排気ガスがエキゾーストマニホールド１０に排出される。
【００２６】
エキゾーストマニホールド１０には、排気通路１２の一方端が接続される。排気通路１２の他方端には、排気浄化装置１４が設けられる。
【００２７】
排気浄化装置１４は、たとえば、三元触媒であって、排気ガス中の炭化水素、一酸化炭素、および、窒素酸化物を浄化する機能を有する。
【００２８】
制御装置２００は、いずれも図示しないが、ＣＰＵ（Central  Processing  Unit）と、メモリと、入出力バッファ等とを含んで構成される。制御装置２００は、各センサおよび機器からの信号、ならびにメモリに格納されたマップおよびプログラムに基づいて、エンジン１００が所望の運転状態となるように各種機器を制御する。なお、各種制御については、ソフトウェアによる処理に限られず、専用のハードウェア（電子回路）により処理することも可能である。
【００２９】
制御装置２００は、たとえば、エンジン１００に対する要求トルクに基づいて第１燃料供給装置２０による燃料の供給量と、第２燃料供給装置２６による燃料の供給量とを設定し、設定された各供給量にしたがって第１燃料供給装置２０および第２燃料供給装置２６を制御する。エンジン１００が、たとえば、車両に搭載される場合には、制御装置２００は、アクセル開度等に基づいてエンジン１００の要求トルクを設定する。
【００３０】
空燃比センサ２４は、排気通路１２におけるエキゾーストマニホールド１０と排気浄化装置１４との間の所定の位置に設けられる。空燃比センサ２４は、排気ガスの空燃比を検出する検出装置である。具体的には、空燃比センサ２４は、排気通路１２における酸素濃度を検出する。空燃比センサ２４は、検出された酸素濃度を制御装置２００に送信する。制御装置２００は、検出された排気通路１２における酸素濃度やエンジン回転数や吸入空気量等に基づいてエンジン本体８における空燃比を算出する。
【００３１】
以上のような構成を有するエンジン１００においては、第１燃料供給装置２０により燃料の必要供給量のうちの相当な量の燃料を吸気通路４に供給しつつ、第２燃料供給装置２６により追加的に燃料を供給して空燃比を制御する。
【００３２】
第１燃料供給装置２０を制御するための第１制御量（制御弁の開度）および第２燃料供給装置２６を制御するための第２制御量（燃料噴射時間）の各々は、空燃比がエンジン１００の状態に基づく目標値になるように予め設定された値を基準として設定される。空燃比の目標値は、理論空燃比であってもよいし、あるいは、エンジン１００の状態（たとえば、エンジン回転数や吸入空気量等によって規定された運転領域）に応じて設定されてもよい。
【００３３】
制御装置２００は、たとえば、エンジン１００の運転状態に基づいて決定される第１初期値と、第１制御量のずれを補正するための第１学習値との和を第１制御量として算出する。また、制御装置２００は、エンジン１００の運転状態に基づいて決定される第２初期値と、第２制御量のずれを補正するための第２学習値との和を第２制御量として算出する。
【００３４】
制御装置２００は、たとえば、図２に示されるマップを用いて第１初期値を算出する。図２の縦軸は、第１燃料供給装置２０の第１制御量である制御弁の開度を示す。図２の横軸は、エンジン１００の負荷を示す。制御装置２００は、たとえば、吸入空気量やアクセル開度等によってエンジン１００の負荷を算出する。
【００３５】
図２に示すように、負荷と制御弁の開度との関係は、エンジン１００の回転数毎に設定される。図２には、一例としてエンジン回転数が５００ｒｐｍ、１０００ｒｐｍ、１５００ｒｐｍ、２０００ｒｐｍの各場合であるときの負荷（最大値Ｌｍａｘまで）と制御弁の開度との関係が示される。図２に示すように、エンジン回転数が一定の場合、負荷が高くなるほど、制御弁の開度が増加するように設定される。また、負荷が一定の場合、エンジン１００の回転数が高くなるほど、制御弁の開度が増加するように設定される。
【００３６】
なお、制御装置２００は、エンジン回転数が上述のように列挙したエンジン回転数以外の回転数である場合には、線形補間等によって制御弁の開度を算出すればよい。図２に示すマップは、たとえば、実験等によって適合され、予めメモリ等の記憶領域に格納される。制御装置２００は、負荷とエンジン回転数とを検出し、検出された負荷とエンジン回転数とに対応した制御弁の開度を図２に示すマップから特定する。制御装置２００は、特定した制御弁の開度を第１初期値として決定する。
【００３７】
制御装置２００は、たとえば、図３に示されるマップを用いて第２初期値を算出する。図３の縦軸は、第２燃料供給装置２６の第２制御量であるインジェクタの燃料噴射時間を示す。図３の横軸は、エンジン１００の負荷を示す。
【００３８】
図３に示すように、負荷とインジェクタの燃料噴射時間との関係は、エンジン１００の回転数毎に設定される。図３には、図２と同様に、一例としてエンジン回転数が５００ｒｐｍ、１０００ｒｐｍ、１５００ｒｐｍおよび２０００ｒｐｍの各場合であるときの負荷（最大値Ｌｍａｘまで）と燃料噴射時間との関係が示される。図３に示すように、エンジン回転数が一定の場合、負荷が高くなるほど、燃料噴射時間が増加するように設定される。また、負荷が一定の場合、エンジン回転数が低くなるほど、燃料噴射時間が増加するように設定される。
【００３９】
なお、制御装置２００は、エンジン回転数が上述のように列挙したエンジン回転数以外の回転数である場合には、線形補間等によって燃料噴射時間を算出すればよい、図３に示すマップは、たとえば、実験等によって適合され、予めメモリ等の記憶領域に格納される。制御装置２００は、負荷とエンジン回転数とを検出し、検出された負荷とエンジン回転数とに対応した燃料噴射時間を図３に示すマップから特定する。制御装置２００は、特定した開度を第２初期値として決定する。
【００４０】
部品の経年劣化やエアクリーナ２の詰まりや漏れが生じる場合には、第１初期値および第２初期値に従って第１燃料供給装置２０および第２燃料供給装置２６を制御しても、空燃比が目標値からずれる場合がある。このような目標値のずれを解消するため、制御装置２００は、たとえば、第１燃料供給装置２０の第１制御量を維持しつつ、空燃比の目標値と現在値との差分に応じたフィードバック量を第２初期値に加えて第２制御量を算出するフィードバック制御を実行する。
【００４１】
また、制御装置２００は、たとえば、第２制御量が第２初期値からずれた状態が継続する場合には、そのずれ分を予め上述した第２学習値としてメモリ等に記憶する。制御装置２００は、たとえば、空燃比センサ２４の検出結果に基づく空燃比と目標値とを一致させた状態における第２制御量と第２初期値との差分（フィードバック量）を第２学習値として算出する。制御装置２００は、フィードバック制御を実行する際に記憶した第２学習値を考慮することで空燃比制御に空燃比を速やかに目標値に収束させることができる。
【００４２】
図４は、第２学習値の変化を説明するための図である。図４において、第１制御量と第２制御量との和が燃料の総供給量に対応する。図４に示すように、空燃比にずれが生じる前においては、第１燃料供給装置２０の第１制御量は、第１初期値となり、第２燃料供給装置２６の第２制御量は、第２初期値となる。
【００４３】
一方、たとえば、エアクリーナ２や吸気通路４に隙間が生じ、隙間が生じない場合よりも空気がより多く導入される場合には、空燃比は、リーン側にずれることになる。そのため、フィードバック制御によって、第２燃料供給装置２６の第２制御量はリッチ側の値に増加する。このような空燃比がリーン側にずれた状態が継続する場合には、図４の＜ずれ量：小＞に示されるように、第１初期値と第２初期値との和からリッチ側にずれた分が第２学習値として設定される。
【００４４】
しかしながら、空燃比がさらにリーン側にずれる場合には、フィードバック制御によって、第２燃料供給装置２６の第２制御量はさらにリッチ側に増加するように変化する。その結果、図４の＜ずれ量：大＞に示されるように、第２学習値の大きさがさらに増加することになる。
【００４５】
その結果、第２燃料供給装置２６の第２学習値が第２初期値を基準とした変更可能な幅を超える場合には、制御装置２００は、空燃比の目標値とのずれに対して第１燃料供給装置２０の制御量をフィードバック制御によって変更する必要がある。そのため、空燃比を制御するための第２燃料供給装置２６の機能を十分に発揮できなくなり、空燃比制御の応答性の悪化を抑制できない場合がある。
【００４６】
そこで、本実施の形態においては、制御装置２００は、算出された第２学習値の大きさがしきい値よりも大きい場合には、第２学習値の少なくとも一部を第１学習値として第１初期値に取り込んで第１制御量を決定するとともに第２学習値を第１学習値に基づいて再設定して第２制御量を決定するものとする。
【００４７】
このようにすると、第２学習値の一部が第１学習値として第１初期値に取り込まれるため、第２燃料供給装置２６の第２初期値と第２学習値との和が第２燃料供給装置２６の第２制御量の変更可能幅を超えることを抑制することができる。そのため、第２燃料供給装置２６を用いて空燃比を適切に制御することができ、空燃比制御の応答性の悪化を抑制することができる。
【００４８】
以下に、本実施の形態におけるエンジン１００の制御として行なわれる空燃比制御の一例について説明した後に、第２学習値を第１学習値に取り込む制御処理について説明する。
【００４９】
図５は、制御装置２００によって実行される空燃比制御の制御ブロック図の一例を示す。制御装置２００は、エンジン１００の始動が開始すると、ブロック２０２にて、目標空燃比を設定する。制御装置２００は、たとえば、アクセル開度等のユーザによる要求トルクに基づいて目標空燃比を設定する。
【００５０】
制御装置２００は、加算点２０４にて、ブロック２０２にて算出された目標空燃比から後述するブロック２０８にて算出された実空燃比を減算して、減算した値をブロック２１０に出力する。
【００５１】
制御装置２００は、ブロック２０６にて、メモリ等の格納領域に記憶された第２学習値を読み出す。制御装置２００は、ブロック２０８にて、空燃比センサ２４からの検出結果に基づいて実空燃比を算出し、算出された実空燃比を加算点２０４に出力する。
【００５２】
制御装置２００は、ブロック２１０にて、加算点２０４から入力された値に基づいてフィードバック量ＦＢを算出する。制御装置２００は、加算点２１４にて、ブロック２１０からの出力値にブロック２０６にて読み出された第２学習値を加算して、加算した値をブロック２１２に出力する。
【００５３】
制御装置２００は、ブロック２１２にて、フィードバック量ＦＢを燃料供給量に換算する。制御装置２００は、換算された燃料供給量と、目標空燃比に対応する第２初期値との和を第２燃料供給装置２６の第２制御量として制御信号を生成する。制御装置２００は、生成した制御信号を第２燃料供給装置２６に出力する。
【００５４】
次に、図６を参照して、第２学習値の大きさに応じて第２学習値を第１学習値に取り込む制御処理について説明する。図６は、第２学習値を第１学習値に取り込む制御処理を示すフローチャートである。制御装置２００は、たとえば、図６に示される制御処理を所定時間間隔毎に実行する。
【００５５】
ステップ１００（以下、ステップをＳと記載する）にて、制御装置２００は、暖機条件が成立するか否かを判定する。暖機条件は、たとえば、エンジン１００の暖機が完了しているという条件を含む。制御装置２００は、たとえば、エンジン１００の冷却水の温度が予め定められた温度（たとえば、７０℃）以上の場合にエンジン１００の暖機が完了していると判定してもよい。暖機条件が成立すると判定される場合（Ｓ１００にてＹＥＳ）、処理はＳ１０２に移される。
【００５６】
Ｓ１０２にて、制御装置２００は、第２燃料供給装置２６の学習条件が成立するか否かを判定する。第２燃料供給装置２６の学習条件は、第２学習値を算出する学習制御の実行条件であって、たとえば、エンジン１００の負荷（たとえば、吸入空気量あるいはエンジン回転数）が一定の状態（たとえば、変化量がしきい値以下の状態）であるという条件と、各種センサが断線等の異常状態でないという条件とを含む。第２燃料供給装置２６の学習条件が成立すると判定される場合（Ｓ１０２にてＹＥＳ）、処理はＳ１０４に移される。
【００５７】
Ｓ１０４にて、制御装置２００は、学習制御を実行する。制御装置２００は、たとえば、空燃比が目標空燃比になるように第２燃料供給装置２６を制御する。制御装置２００は、空燃比が目標空燃比に到達している場合には、第２の制御量を一定の状態に維持する。制御装置２００は、空燃比が目標空燃比に到達した状態が一定時間が経過するまで継続する場合に、第２燃料供給装置２６の第２制御量の現在値から第２初期値を減算した値を第２学習値としてメモリの格納領域に記憶する。制御装置２００は、たとえば、エンジン１００の運転状態に応じて（たとえば、エンジン回転数や負荷によって複数領域に区分された運転領域毎に）第２学習値を算出してもよい。
【００５８】
Ｓ１０６にて、制御装置２００は、第２学習値の大きさ（絶対値）がしきい値Ａ以上であるか否かを判定する。本実施の形態において、しきい値Ａは、予め定められた値であるものとして説明するが、たとえば、エンジン１００の運転状態に応じて設定される値であってもよい。第２学習値の大きさがしきい値Ａ以上であると判定される場合（Ｓ１０６にてＹＥＳ）、処理はＳ１０８に移される。
【００５９】
Ｓ１０８にて、制御装置２００は、第１燃料供給装置２０の学習条件が成立するか否かを判定する。第１燃料供給装置２０の学習条件は、第２学習値を第１学習値に取り込み取込処理の実行条件であって、たとえば、第１燃料供給装置２０が断線等の異常がないという条件を含む。第１燃料供給装置２０の学習条件が成立すると判定される場合（Ｓ１０８にてＹＥＳ）、処理はＳ１１０に移される。
【００６０】
Ｓ１１０にて、制御装置２００は、取込処理を実行する。具体的には、制御装置２００は、第２学習値から予め定められた値を減算することによって第２学習値を更新するとともに、上述の予め定められた値を第１制御量を基準とした値に換算して第１学習値に加算することによって第１学習値を更新する。本実施の形態においては、予め定められた値は、しきい値Ａであるものとし、予め定められた値Ａとも記載する。制御装置２００は、更新された第１学習値および第２学習値をメモリ等の格納領域に記憶する。
【００６１】
なお、暖機条件が成立しない場合や（Ｓ１００にてＮＯ）、第２燃料供給装置２６の学習条件が成立しない場合や（Ｓ１０２にてＮＯ）、第２学習値の大きさがしきい値Ａよりも小さい場合や（Ｓ１０６にてＮＯ）、第１燃料供給装置２０の学習条件が成立しない場合には（Ｓ１０８にてＮＯ）、制御装置２００は、処理をＳ１００に戻す。
【００６２】
以上のような構造およびフローチャートに基づく本実施の形態におけるエンジン１００の制御装置２００の動作について図７を用いて説明する。なお、第１燃料供給装置２０および第２燃料供給装置２６は正常状態である場合を想定する。
【００６３】
目標値からの空燃比のずれが発生する前においては、図４を用いて説明したとおり、吸気通路４への燃料の供給量は、第１燃料供給装置２０を第１制御量（初期値）で制御した場合の燃料供給量と、第２燃料供給装置２６を第２制御量（初期値）で制御した場合の燃料供給量との和となる。
【００６４】
一方、たとえば、エアクリーナ２および吸気通路４のいずれかの箇所に隙間が生じる場合には、隙間が生じていないときよりも多くの空気が吸気通路４に導入されることとなるい。その結果、空燃比がリーン側の空燃比にずれることになる。そのため、フィードバック制御によって空燃比が目標値になるように第２燃料供給装置２６の第２制御量がリッチ側に増加することとなる。
【００６５】
暖機条件が成立しており（Ｓ１００にてＹＥＳ）、かつ、第２燃料供給装置２６の学習条件が成立する場合には（Ｓ１０２にてＹＥＳ）、空燃比が目標値と一致した状態での第２燃料供給装置２６の第２制御量から第２初期値を減算した値が第２学習値として算出される（Ｓ１０４）。
【００６６】
その後の空燃比制御においては、制御装置２００は、第２初期値と第２学習値との和（空燃比と目標値との間に差がある場合には、その差分に応じたフィードバック量をさらに加えた値）を第２制御量として算出する。算出された第２学習値の大きさがしきい値Ａ以上となる場合には（Ｓ１０６にてＹＥＳ）、第１燃料供給装置２０の学習条件が成立しているため（Ｓ１０８にてＹＥＳ）、取込処理が実行される（Ｓ１１０）。
【００６７】
取込処理によって図７に示されるように、第２学習値から予め定められた値Ａが減算されることによって第２学習値は実質的にゼロになる。そのため、第２初期値が第２制御量となる。また、第１学習値には、予め定められた値Ａを第１制御量を基準とした値に換算した換算値Ａ’が加算される。そのため、第１制御量は、第１初期値と第１学習値（換算値Ａ’）との和となる。このような取込処理によって、第２制御量の変化可能な幅が確保される。
【００６８】
なお、その後に第２学習値の大きさがしきい値Ａ以上である場合には（Ｓ１０６にてＹＥＳ）、第１燃料供給装置２０の学習条件が成立していれば（Ｓ１０８にてＹＥＳ）、再度取込処理が実行されることになる（Ｓ１１０）。
【００６９】
以上のようにして、本実施の形態に係るエンジン１００によると、第２学習値の少なくとも一部が第１学習値として取り込まれるため、第２燃料供給装置２６の第２初期値と第２学習値との和が第２燃料供給装置２６の第２制御量の変更可能幅を超えることを抑制することができる。そのため、第２燃料供給装置２６を用いて空燃比を適切に制御することができるため、空燃比制御の応答性の悪化を抑制することができる。したがって、２系統の燃料供給装置の制御量のずれを適切に補正するエンジンの空燃比学習制御装置を提供することができる。
【００７０】
以下、変形例について説明する。
上述の実施の形態においては、第２学習値の大きさがしきい値Ａ以上となる毎に第２学習値の少なくとも一部を第１学習値に取り込むものとして説明したが、第２学習値が取り込まれた第１学習値を用いて燃料系統（第１燃料供給装置２０、燃料ボンベ２２、第２燃料供給装置２６、レギュレータ２８およびそれらを接続する燃料配管）の異常判定を行なうようにしてもよい。
【００７１】
燃料系統に異物や堆積物により詰まりが生じる場合には、空燃比がリーン側にずれることになり、第１学習値の大きさが経年劣化により想定される第１学習値の大きさと比較して過度に大きな値になる場合がある。そのため、第１学習値を用いることによって精度高く燃料系統の異常判定を行なうことが可能となる。
【００７２】
以下、図８を参照して、第１学習値を用いた異常判定処理について説明する。図８は、第１学習値を用いた燃料系統の異常判定処理を示すフローチャートである。
【００７３】
Ｓ２００にて、制御装置２００は、暖機条件が成立するか否かを判定する。暖機条件は、上述した図６を用いて説明したフローチャートにおけるＳ１００の処理における暖機条件と同様である。そのため、その詳細な説明は繰り返さない。暖機条件が成立すると判定される場合（Ｓ２００にてＹＥＳ）、処理はＳ２０２に移される。
【００７４】
Ｓ２０２にて、制御装置２００は、第１学習値を取得する。制御装置２００は、メモリの格納領域から第１学習値を読み出す。Ｓ２０４にて、制御装置２００は、第１学習値の大きさ（絶対値）が異常判定用しきい値としてのしきい値Ｂ以上であるか否かを判定する。しきい値Ｂは、たとえば、予め定められた値であって、燃料系統が異常であると判定可能な値である。第１学習値の大きさがしきい値Ｂ以上であると判定される場合（Ｓ２０４にてＹＥＳ）、処理はＳ２０６に移される。
【００７５】
Ｓ２０６にて、制御装置２００は、燃料系統が異常であることを示す燃料系統異常判定フラグをオン状態にする。制御装置２００は、燃料系統異常判定フラグがオン状態である場合には、燃料系統を構成する部品のうちの少なくともいずれかが異常状態であることを示す表示、警告灯、あるいは警告音によってユーザに通知してもよい。
【００７６】
なお、暖機条件が成立しないと判定される場合や（Ｓ２００にてＮＯ）、第１学習値の大きさがしきい値Ｂよりも小さいと判定される場合（Ｓ２０４にてＮＯ）、処理はＳ２００に戻される。
【００７７】
以上のような異常判定処理が実行される場合の制御装置２００の動作について図９を参照しつつ説明する。たとえば、第１燃料供給装置２０および第２燃料供給装置２６のうちの少なくとも一方に燃料詰まり等の異常が生じている場合を想定する。
【００７８】
図９に示すように、異常が生じる前であって、かつ、空燃比が目標値に一致する場合には、吸気通路４への燃料の供給量の合計は、第１燃料供給装置２０を第１制御量（初期値）で制御した場合の燃料供給量と、第２燃料供給装置２６を第２制御量（初期値）で制御した場合の燃料供給量との和となる。
【００７９】
一方、燃料詰まりによって第１制御量または第２制御量に従った燃料が吸気通路４に供給されない場合には、空燃比がリーン側にずれることになる。そのため、フィードバック制御によって空燃比が目標値になるように第２燃料供給装置２６の第２制御量がリッチ側に増加することとなる。
【００８０】
暖機条件が成立しており（Ｓ１００にてＹＥＳ）、かつ、第２燃料供給装置２６の学習条件が成立する場合には（Ｓ１０２にてＹＥＳ）、学習制御が実行されることによって第２学習値が算出される（Ｓ１０４）。
【００８１】
その後の空燃比制御においては、制御装置２００は、第２初期値と第２学習値との和（空燃比と目標値との間に差がある場合には、その差分に応じたフィードバック量をさらに加えた値）を第２制御量として算出する。
【００８２】
算出された第２学習値の大きさがしきい値Ａ以上となる場合には（Ｓ１０６にてＹＥＳ）、第１燃料供給装置２０の学習条件が成立しているため（Ｓ１０８にてＹＥＳ）、取込処理が実行される（Ｓ１１０）。
【００８３】
取込処理によって図９に示されるように、第２学習値から予め定められた値Ａが減算された値が新たな第２学習値として更新される。また、第１学習値には、予め定められた値Ａを第１制御量を基準とした値に換算した換算値Ａ’が加算される。算出された第１学習値は、メモリの格納領域に記憶される。このとき、第１制御量は、第１初期値と第１学習値との和となる。
【００８４】
このとき、暖機条件が成立しているため（Ｓ２００）、第１学習値が読み出される（Ｓ２０２）。読み出された第１学習値の大きさがしきい値Ｂよりも小さいと判定される場合には（Ｓ２０４にてＮＯ）、燃料系統異常判定フラグはオンされない。
【００８５】
その後に再度暖機条件および第２燃料供給装置２６の学習条件の各々が成立する場合に（Ｓ１００にてＹＥＳ、かつ、Ｓ１０２にてＹＥＳ）、第２学習値が算出される（Ｓ１０４）。算出された第２学習値の大きさがしきい値Ａ以上となる場合には（Ｓ１０６にてＹＥＳ）、第１燃料供給装置２０の学習条件が成立しているため（Ｓ１０８にてＹＥＳ）、再度取込処理が実行される（Ｓ１１０）。
【００８６】
再度の取込処理によって図９に示されるように、第２学習値からさらに予め定められた値Ａが減算されることによって第２学習値は実質的にゼロになる。そのため、第２初期値が第２制御量となる。また、第１学習値には、予め定められた値Ａを第１制御量を基準とした値に換算した換算値Ａ’が加算される。そのため第１制御量は、第１初期値と第１学習値との和になる。
【００８７】
このとき、暖機条件が成立しているため（Ｓ２００）、第１学習値が読み出される（Ｓ２０２）。読み出された第１学習値の大きさがしきい値Ｂ以上になると判定される場合（Ｓ２０４にてＹＥＳ）、燃料系統の異常判定フラグがオン状態になる（Ｓ２０６）。
【００８８】
このようにすると、第１初期値と第２初期値との和からのずれ分（すなわち、第１学習値）を用いて第１燃料供給装置２０または第２燃料供給装置２６の異常の有無を精度高く判定することができる。さらに、第１学習値は第２制御量（燃料噴射時間）のずれ量である第２学習値を取り込んだものである。そのため、第１制御量（制御弁の開度）のずれ量を算出する場合よりもずれ量を精度高く取得できる。このような第１学習値を用いて異常判定を行なうことにより誤検出を抑制できる。さらに、異常判定を行なうためのしきい値Ｂのマージンを小さく設定することができるため、異常が発生してから異常判定が行なわれるまでの期間を短縮することができる。
【００８９】
上述の変形例は、第１学習値の大きさとしきい値Ｂとの比較結果に基づいて第１燃料供給装置２０または第２燃料供給装置２６が異常であるか否かを判定するものとして説明したが、たとえば、第１制御量の値に基づいて第１燃料供給装置２０または第２燃料供給装置２６が異常であるか否かを判定してもよい。
【００９０】
以下、図１０を参照して、第１制御量を用いた異常判定処理について説明する。図１０は、第１制御量を用いた燃料系統の異常判定処理を示すフローチャートである。
【００９１】
Ｓ３００にて、制御装置２００は、暖機条件が成立するか否かを判定する。暖機条件は、上述した図６を用いて説明したフローチャートにおけるＳ１００の処理における暖機条件と同様である。そのため、その詳細は説明は繰り返さない。暖機条件が成立すると判定される場合（Ｓ３００にてＹＥＳ）、処理はＳ３０２に移される。
【００９２】
Ｓ３０２にて、制御装置２００は、第１制御量を取得する。制御装置２００は、メモリの格納領域から第１制御量を読み出す。Ｓ３０４にて、制御装置２００は、第１制御量がしきい値Ｃよりも小さいか否かを判定する。しきい値Ｃは、たとえば、第１初期値から予め定められた値だけリーン側に（燃料供給量が少なくなる側に）乖離した値であって、第１制御量として燃料系統が正常であると判定可能な範囲の下限値である。第１制御量がしきい値Ｃよりも小さいと判定される場合（Ｓ３０４にてＹＥＳ）、処理はＳ３０８に移される。
【００９３】
一方、制御装置２００は、第１制御量がしきい値Ｃ以上であると判定する場合（Ｓ３０４にてＮＯ）、処理をＳ３０６に移す。Ｓ３０６にて、制御装置２００は、第１制御量がしきい値Ｄよりも大きいか否かを判定する。しきい値Ｄは、たとえば、第１初期値から予め定められた値だけリッチ側に（燃料供給量が多くなる側に）乖離した値であって、第１制御量として燃料系統が正常であると判定可能な範囲の上限値である。第１制御量がしきい値Ｄよりも大きいと判定される場合（Ｓ３０６にてＹＥＳ）、処理はＳ３０８に移される。
【００９４】
Ｓ３０８にて、制御装置２００は、燃料系統が異常であることを示す燃料系統異常判定フラグをオン状態にする。制御装置２００は、燃料系統異常判定フラグがオン状態である場合には、燃料系統が異常状態であることを示す表示、警告灯、あるいは警告音によってユーザに通知してもよい。
【００９５】
なお、暖機条件が成立しない場合や（Ｓ３００にてＮＯ）、第１制御量がしきい値Ｃ以上であって（Ｓ３０４にてＮＯ）、かつ、しきい値Ｄ以下であると判定される場合（Ｓ３０６にてＮＯ）、処理はＳ３００に戻される。
【００９６】
図１０に示される制御処理が実行されると、取込処理によって第２学習値が第１学習値に取り込まれたときの第１制御量が、しきい値Ｃとしきい値Ｄとの間の範囲外になる場合（Ｓ３０４にてＹＥＳ、または、Ｓ３０６にてＹＥＳ）、燃料系統異常判定フラグがオン状態になる（Ｓ３０８）。
【００９７】
このようにしても、第１制御量を用いて第１燃料供給装置２０または第２燃料供給装置２６の異常の有無を精度高く判定することができる。さらに、誤検出を抑制できるとともに、異常が発生してから異常判定が行なわれるまでの期間の短縮が図れる。
【００９８】
上述の実施の形態においては、第２燃料供給装置２６は、吸気通路４に１つ設けられる場合を一例として説明したが、エンジン本体８に複数の気筒が形成される場合には、第２燃料供給装置２６は、各気筒に設けられる構成であってもよい。
【００９９】
上述の実施の形態においては、第１燃料供給装置２０と第２燃料供給装置２６とで同じ種類の燃料を吸気通路４に供給するものとして説明したが、たとえば、第１燃料供給装置２０と第２燃料供給装置２６とで異なる燃料を噴射するものであってもよい。たとえば、第１燃料供給装置２０を用いてＬＰＧを吸気通路４に供給しつつ、第２燃料供給装置２６を用いて軽油等の着火用の燃料を供給してもよい。
【０１００】
上述の実施の形態においては、空燃比を目標値に一致させた状態での第２制御量から第２初期値を減算して第２学習値を算出するものとして説明したが、たとえば、前回の学習値からの変化分を算出し、算出された変化分を前回の学習値に算出された変化分を加算した値を第２学習値として算出してもよい。
【０１０１】
なお、上記した変形例は、その全部または一部を組み合わせて実施してもよい。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１０２】
２  エアクリーナ、４  吸気通路、６  インテークマニホールド、８  エンジン本体、１０  エキゾーストマニホールド、１２  排気通路、１４  排気浄化装置、２０  第１燃料供給装置、２２  燃料ボンベ、２４  空燃比センサ、２６  第２燃料供給装置、２８  レギュレータ、１００  エンジン、２００  制御装置。
【図１】
2018003722.tif 000003
【図２】
2018003722.tif 000004
【図３】
2018003722.tif 000005
【図４】
2018003722.tif 000006
【図５】
2018003722.tif 000007
【図６】
2018003722.tif 000008
【図７】
2018003722.tif 000009
【図８】
2018003722.tif 000010
【図９】
2018003722.tif 000011
【図１０】
2018003722.tif 000012