(57)【要約】【課題】燃料補給時における機関点火時期の学習を適切に行う。【解決手段】この装置は、点火時期の制御目標値を、内燃機関の経時変化による点火時期の変化分を補償する多点学習値ＡＧｄｐ（ｎ）と、それ以外の要因による点火時期の変化分を補償する基本学習値ＡＧ（ｉ）とにより補正する。制御目標値を、内燃機関の経時変化による点火時期への影響が大きい多点学習領域ｎでは多点学習値ＡＧｄｐ（ｎ）および基本学習値ＡＧ（ｉ）によって補正し、それ以外の領域では基本学習値ＡＧ（ｉ）のみによって補正する。通常時には多点学習領域ｎでは多点学習値ＡＧｄｐ（ｎ）の学習のみを許可し、それ以外の領域では基本学習値ＡＧ（ｉ）の学習のみを許可する。燃料タンクへの燃料補給が行われた可能性が有ると判定されたときに、その後の所定期間にわたり（Ｓ１０３：ＮＯまたはＳ１０４：ＮＯ）、多点学習値ＡＧｄｐ（ｎ）の学習を禁止する。【選択図】図６
2010133279.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の運転状態に基づき設定した基本値をノッキング発生の有無に応じて更新されるフィードバック補正項と同フィードバック補正項に基づき更新される学習値とにより補正して点火時期の制御目標値を設定し、前記学習値として前記内燃機関の経時変化による点火時期の変化分を補償する第１の学習値とそれ以外の要因による点火時期の変化分を補償する第２の学習値とを各別に学習する内燃機関の点火時期制御装置において、
前記内燃機関の経時変化による点火時期への影響が大きい第１の機関運転領域では前記第１の学習値および前記第２の学習値によって前記基本値を補正して前記制御目標値を設定し、前記影響が小さい第２の機関運転領域では前記第２の学習値のみによって前記基本値を補正して前記制御目標値を設定する設定手段と、
前記第１の機関運転領域では前記第１の学習値の学習のみを許可し、前記第２の機関運転領域では前記第２の学習値の学習のみを許可する許可手段と、
前記内燃機関に供給される燃料を備蓄する燃料タンクへの燃料補給が行われた可能性の有無を判定する判定手段と、
前記判定手段によって前記可能性が有ると判定したときに、その後の所定期間にわたり、前記第１の学習値の学習を禁止する禁止手段と
を備えることを特徴とする内燃機関の点火時期制御装置。
【請求項２】
請求項１に記載の内燃機関の点火時期制御装置において、
前記禁止手段によって前記第１の学習値の学習を禁止したときに、前記第１の機関運転領域において前記フィードバック補正項に基づく前記第２の学習値の学習を実行する
ことを特徴とする内燃機関の点火時期制御装置。
【請求項３】
請求項１または２に記載の内燃機関の点火時期制御装置において、
当該装置は、前記第１の機関運転領域が機関運転状態に応じて区画された複数の多点学習領域からなるとともに、それら多点学習領域毎に前記第１の学習値が設定されてなり、前記第１の機関運転領域において前記複数の多点学習領域のうちの現在の機関運転状態が含まれる領域についての前記第１の学習値を更新する
ことを特徴とする内燃機関の点火時期制御装置。
【請求項４】
請求項１〜３のいずれか一項に記載の内燃機関の点火時期制御装置において、
前記第２の学習値が変化したときに、前記第２の学習値の変化量分だけ同第２の学習値の変化方向と逆方向に前記第１の学習値を変化させる
ことを特徴とする内燃機関の点火時期制御装置。
【請求項５】
請求項１〜４のいずれか一項に記載の内燃機関の点火時期制御装置において、
前記判定手段は、前記内燃機関の運転を開始するべく運転スイッチが操作されたことを条件に前記可能性が有ると判定するものである
ことを特徴とする内燃機関の点火時期制御装置。
【請求項６】
請求項１〜５のいずれか一項に記載の内燃機関の点火時期制御装置において、
前記判定手段は、前記内燃機関およびその周辺機器に電力を供給するための電気回路に蓄電池を接続する作業が行われたことを条件に、前記可能性が有ると判定するものである
ことを特徴とする内燃機関の点火時期制御装置。
【請求項７】
請求項１〜４のいずれか一項に記載の内燃機関の点火時期制御装置において、
前記第２の学習値は、所定周期毎に実行される学習処理を通じて更新される値であって揮発性のメモリに記憶される値であり、
前記判定手段は、前記内燃機関の運転を開始するべく運転スイッチが操作されたことと前記内燃機関およびその周辺機器に電力を供給するための電気回路に蓄電池を接続する作業が行われたこととの論理和が満たされるときに、前記可能性が有ると判定するものであり、
前記所定期間は、前記接続する作業が行われたと判定したときにはその後における前記内燃機関の運転を停止させるための運転スイッチの操作回数が所定回数に達するまでの期間であり、前記操作回数が所定回数を越えた後においては前記内燃機関の運転を開始するべく運転スイッチが操作されてから前記学習処理の実行回数が所定回数に達するまでの期間である
ことを特徴とする内燃機関の点火時期制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の点火時期制御装置に関するものである。
【背景技術】
【０００２】
駆動源として内燃機関が搭載された車両では、内燃機関の運転状態に応じて点火時期を制御する、いわゆる点火時期制御が実行される。
この点火時期制御では、基本的に、内燃機関の運転状態に基づいて点火時期についての制御目標値が設定される。この制御目標値は、ノッキング発生の有無に応じて更新されるフィードバック補正項によって補正される。フィードバック補正項は、ノッキングの発生時には予め定められた遅角更新量分だけ変更されて点火時期を遅角補正し、ノッキングが発生していないときには予め定められた進角更新量分だけ変更されて点火時期を進角補正する。また上記制御目標値は、フィードバック補正項に基づき更新される学習値によって補正される。この学習値としては、例えばフィードバック補正項に徐変処理を施した値が算出される。
【０００３】
従来、そうした学習値として、内燃機関の経時変化（例えば機関燃焼室内へのデポジットの付着）による点火時期の変化分を補償するための第１の学習値とそれ以外の要因（例えば燃料性状の変化）による点火時期の変化分を補償するための第２の学習値との二つの学習値を設定するようにしたものが提案されている（例えば特許文献１参照）。
【０００４】
この特許文献１に記載の装置では、機関燃焼室内へのデポジットの付着による点火時期への影響が大きい第１の機関運転領域では第１の学習値の学習が許可される一方、その影響が小さい第２の機関運転領域では第１の学習値の学習が禁止される。これにより、第１の学習値としてはデポジット付着による点火時期の変化分に見合う値が学習され、第２の学習値としてはデポジット付着以外の要因による点火時期の変化分に見合う値が学習されて、ノッキングの発生要因に応じたかたちで点火時期が制御されるようになる。
【特許文献１】特開２００５−１４７１１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ここで、例えばレギュラー燃料が備蓄されていた燃料タンクにハイオク燃料が補給されるなど、それまで備蓄されていた燃料と異なる性状の燃料が燃料タンクに補給されると、その後において内燃機関に供給される燃料の性状が変化してノッキングの発生状況が変化するために、フィードバック補正項が大きく変化するようになる。
【０００６】
そのため、単に内燃機関の運転領域に応じて第１の学習値の学習許可と学習禁止とを切り替えるようにすると、上述したように燃料タンク内に燃料が補給される際に、以下のような不都合が生じる。すなわち、燃料補給直後における第１の機関運転領域での内燃機関の運転に際して、燃料性状の変化によって点火時期（詳しくは、フィードバック補正項）が大きく変化したにもかかわらず、これが内燃機関の経時変化による点火時期の変化分を補償するための第１学習値に反映されてしまう。これは各学習値を共に補償対象に見合う値に精度良く学習する上で、それを妨げる一因となるために好ましくない。
【０００７】
本発明は、そうした実情に鑑みてなされたものであり、その目的は、燃料補給時における機関点火時期の学習を適切に行うことのできる内燃機関の点火時期制御装置を提供することにある。
【課題を解決するための手段】
【０００８】
以下、上記目的を達成するための手段及びその作用効果について説明する。
請求項１に記載の発明は、内燃機関の運転状態に基づき設定した基本値をノッキング発生の有無に応じて更新されるフィードバック補正項と同フィードバック補正項に基づき更新される学習値とにより補正して点火時期の制御目標値を設定し、前記学習値として前記内燃機関の経時変化による点火時期の変化分を補償する第１の学習値とそれ以外の要因による点火時期の変化分を補償する第２の学習値とを各別に学習する内燃機関の点火時期制御装置において、前記内燃機関の経時変化による点火時期への影響が大きい第１の機関運転領域では前記第１の学習値および前記第２の学習値によって前記基本値を補正して前記制御目標値を設定し、前記影響が小さい第２の機関運転領域では前記第２の学習値のみによって前記基本値を補正して前記制御目標値を設定する設定手段と、前記第１の機関運転領域では前記第１の学習値の学習のみを許可し、前記第２の機関運転領域では前記第２の学習値の学習のみを許可する許可手段と、前記内燃機関に供給される燃料を備蓄する燃料タンクへの燃料補給が行われた可能性の有無を判定する判定手段と、前記判定手段によって前記可能性が有ると判定したときに、その後の所定期間にわたり、前記第１の学習値の学習を禁止する禁止手段とを備えることをその要旨とする。
【０００９】
上記構成によれば、異なる性状の燃料が燃料タンクに補給されたときに、その後の所定期間（言い換えれば、内燃機関に供給される燃料の性状変化によってフィードバック補正項が大きく変化する期間）にわたって第１の学習値の学習が禁止されるために、燃料性状の変化に伴う点火時期の変化分が第１の学習値に反映されることを抑えることができる。また、このとき第２の学習値の学習が許容されるために、燃料性状の変化に伴う点火時期の変化分が第２の学習値に反映される。そのため、第２の学習値によって、燃料性状の変化に起因する点火時期の変化分が第１の機関運転領域および第２の機関運転領域ともに補償されるようになる。しかも、所定期間が経過した後、第１の機関運転領域において第１の学習値が学習されるようになるために、内燃機関の経時変化によって点火時期が変化すると、その変化分が第１の学習値に反映される。そのため、この第１の学習値によって、内燃機関の経時変化による点火時期の変化分が補償されるようになる。このように上記構成によれば、燃料補給時における機関点火時期の学習を適切に行うことができるようになる。
【００１０】
請求項２に記載の発明は、請求項１に記載の内燃機関の点火時期制御装置において、前記禁止手段によって前記第１の学習値の学習を禁止したときに、前記第１の機関運転領域において前記フィードバック補正項に基づく前記第２の学習値の学習を実行することをその要旨とする。
【００１１】
上記構成によれば、異なる性状の燃料が燃料タンクに補給されたときに、その後の所定期間において第２の学習値の学習を実行しない構成と比較して、内燃機関に供給される燃料の性状変化に伴う点火時期の変化分を第２の学習値に早期に反映させることができ、同変化分を第２の学習値によって早期に補償することができる。
【００１２】
請求項３に記載の発明は、請求項１または２に記載の内燃機関の点火時期制御装置において、当該装置は、前記第１の機関運転領域が機関運転状態に応じて区画された複数の多点学習領域からなるとともに、それら多点学習領域毎に前記第１の学習値が設定されてなり、前記第１の機関運転領域において前記複数の多点学習領域のうちの現在の機関運転状態が含まれる領域についての前記第１の学習値を更新することをその要旨とする。
【００１３】
内燃機関の経時変化（機関燃焼室内へのデポジットの付着など）によるノッキング発生への影響が、細かな運転領域毎に大きく異なったものとなる場合がある。この場合、仮に機関運転領域によらずに第１の学習値として同一の値を用いて制御目標値を設定すると、機関運転領域によっては第１の学習値が内燃機関の経時変化に起因するノッキングの発生を抑えるうえで不適切な値となるおそれがある。詳しくは、第１の学習値が点火時期を適正な時期より進角側の時期に変更する値となってノッキングの発生を効果的に抑制できなくなったり、第１の学習値が点火時期を適正な時期より遅角側の時期に変更する値となって内燃機関の出力低下を招いたりするおそれがある。
【００１４】
上記構成によれば、内燃機関の経時変化に起因するノッキング発生への影響のばらつきが大きい機関運転領域において、同領域を細分化した多点学習領域毎に各別に設定された第１の学習値を、それぞれノッキングの発生を抑制するうえで適切な値に学習することができるようになる。したがって、第１の学習値として不適切な値が学習されることによってノッキングの発生を効果的に抑制できなくなったり、内燃機関の出力低下を招いたりするといった不具合の発生を抑えることができる。
【００１５】
請求項４に記載の発明は、請求項１〜３のいずれか一項に記載の内燃機関の点火時期制御装置において、前記第２の学習値が変化したときに、前記第２の学習値の変化量分だけ同第２の学習値の変化方向と逆方向に前記第１の学習値を変化させることをその要旨とする。
【００１６】
機関運転領域が第２の機関運転領域になると、第２の学習値がフィードバック補正項に基づき更新されて変化する。そのように第２の学習値が変化した場合、その後において第１の機関運転領域になると、第２の学習値の変化による影響を受けて点火時期（詳しくは、制御目標値）が変化して、同点火時期がノッキングの発生を抑える上で不適切な時期になったり機関出力の低下を招く時期になったりするおそれがある。
【００１７】
この点、上記構成によれば、第２の学習値が変化した後に第１の機関運転領域になった場合であっても、その変化が点火時期に影響を与えることがない。そのため、第２の機関運転領域における第２の学習値の変化に起因して第１の機関運転領域における点火時期がノッキングの発生を抑える上で不適切な時期になったり機関出力の低下を招く時期になったりするといった不都合の発生を抑えることができる。
【００１８】
請求項５に記載の発明は、請求項１〜４のいずれか一項に記載の内燃機関の点火時期制御装置において、前記判定手段は、前記内燃機関の運転を開始するべく運転スイッチが操作されたことを条件に前記可能性が有ると判定するものであることをその要旨とする。
【００１９】
通常、燃料タンクへの燃料補給は内燃機関の運転を停止させた状態で行われる。そのため、内燃機関の運転開始時においては、その直前において燃料タンクへの燃料補給が行われた可能性があると云える。上記構成によれば、そのように内燃機関の運転が開始されたことをもって、燃料タンクへの燃料補給が行われた可能性が有ると判定することができる。
【００２０】
請求項６に記載の発明は、請求項１〜５のいずれか一項に記載の内燃機関の点火時期制御装置において、前記判定手段は、前記内燃機関およびその周辺機器に電力を供給するための電気回路に蓄電池を接続する作業が行われたことを条件に、前記可能性が有ると判定するものであることをその要旨とする。
【００２１】
内燃機関の修理作業や点検作業が行われる場合に、その作業完了後において燃料タンクへの燃料補給が行われることがある。通常、そうした修理作業や点検作業を行う場合には、その作業に先立って内燃機関やその周辺機器に電力を供給するための電気回路と蓄電池との接続が一旦解除され、作業が完了した後に電気回路と蓄電池との接続が復帰される。このことから、上記電気回路に蓄電池を接続する作業が行われたときには、その前後において燃料タンクへの燃料補給が行われた可能性があると云える。
【００２２】
上記構成によれば、そのように電気回路に蓄電池を接続する作業が行われたことをもって、燃料タンクへの燃料補給が行われた可能性が有ると判定することができる。
請求項７に記載の発明は、請求項１〜４のいずれか一項に記載の内燃機関の点火時期制御装置において、前記第２の学習値は、所定周期毎に実行される学習処理を通じて更新される値であって揮発性のメモリに記憶される値であり、前記判定手段は、前記内燃機関の運転を開始するべく運転スイッチが操作されたことと前記内燃機関およびその周辺機器に電力を供給するための電気回路に蓄電池を接続する作業が行われたこととの論理和が満たされるときに、前記可能性が有ると判定するものであり、前記所定期間は、前記接続する作業が行われたと判定したときにはその後における前記内燃機関の運転を停止させるための運転スイッチの操作回数が所定回数に達するまでの期間であり、前記操作回数が所定回数を越えた後においては前記内燃機関の運転を開始するべく運転スイッチが操作されてから前記学習処理の実行回数が所定回数に達するまでの期間であることをその要旨とする。
【００２３】
上記構成では、電気回路と蓄電池との接続が一旦解除されると、それまで逐次学習されてきた第２の学習値が消失してしまうために、その後において電気回路と蓄電池とが再接続されたときに第２の学習値が学習されて実情に見合う値になるまでに長い時間がかかる可能性がある。これに対して、電気回路と蓄電池との接続が維持された状態で内燃機関の運転と運転停止とを切り替えるべく運転スイッチが操作される場合には、第２の学習値が消失することなく揮発性のメモリに記憶されているために、同第２の学習値が学習されて実情に見合う値になるまでに要する時間は比較的短いと云える。
【００２４】
上記構成によれば、電気回路に蓄電池を接続する作業が行われたとき、すなわち第２の学習値の学習に要する時間が長くなる可能性があるときには、内燃機関の運転を停止させるための運転スイッチの操作といった長い周期で訪れることの多いタイミングをもとに所定期間として長い期間を定めることができる。そのため、第２の学習値を長期間にわたって優先的に学習させることができ、同第２の学習値として実情に見合う値を精度良く学習させることができる。
【００２５】
しかも、前記操作回数が所定回数を越えた後に内燃機関の運転を開始するべく運転スイッチが操作されたとき、すなわち第２の学習値の学習に要する時間が比較的短いときには、第２の学習値の更新といった短い周期（学習処理の実行周期）で訪れるタイミングをもとに所定期間として短い期間を定めることができる。そのため、第２の学習値の学習精度を高く維持しつつその優先的な学習を早期に完了させることができ、第１の学習値の学習を早期に開始することが可能になる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明にかかる内燃機関の点火時期制御装置を具体化した一実施の形態について説明する。
図１に、本実施の形態にかかる点火時期制御装置が適用される内燃機関の概略構成を示す。
【００２７】
図１に示すように、内燃機関１０の燃焼室１１には吸気通路１２を通じて空気が吸入されるとともに、燃料噴射弁１３から噴射された燃料が供給される。燃料噴射弁１３には、燃料タンク１４内に備蓄された燃料が燃料ポンプ１５によって圧送されている。そして、そうした吸入空気と噴射燃料とからなる混合気に対して点火プラグ１６による点火が行われると、その混合気が燃焼してピストン１７が往復移動し、内燃機関１０のクランクシャフト１８が回転する。燃焼後の混合気は排気として内燃機関１０の燃焼室１１から排気通路１９に送り出される。
【００２８】
本実施の形態にかかる点火時期制御装置は、内燃機関１０の運転のための各種制御を実行する電子制御装置３０を備えている。この電子制御装置３０は、各種制御に関係する各種の演算処理を実行する中央処理装置（ＣＰＵ）、その演算に必要なプログラムやデータが記憶された不揮発性メモリ（ＲＯＭ）、ＣＰＵの演算結果が一時的に記憶される揮発性メモリ（ＲＡＭ３０ａ）、外部との間で信号を入・出力するための入・出力ポート等を備えている。
【００２９】
電子制御装置３０の入力ポートには各種のセンサ類が接続されている。そうしたセンサ類としては、例えばアクセルペダル２０の踏み込み量（アクセル踏み込み量ＡＣ）を検出するためのアクセルセンサ３１や、吸気通路１２に設けられたスロットルバルブ２１の開度（スロットル開度ＴＡ）を検出するためのスロットルセンサ３２、内燃機関１０におけるノッキングの発生を検出するためのノックセンサ３３が設けられている。その他、吸気通路１２を通過する空気の量（通路空気量ＧＡ）を検出するための空気量センサ３４や、クランクシャフト１８の回転速度（機関回転速度ＮＥ）および回転角（クランク角）を検出するためのクランクセンサ３５、内燃機関１０の運転開始や運転停止に際して操作される運転スイッチ３６等も設けられている。
【００３０】
電子制御装置３０は、各種センサ類の出力信号に基づき、機関回転速度ＮＥや機関負荷ＫＬなどといった内燃機関１０の運転状態を把握する。なお機関負荷ＫＬは、アクセル踏み込み量ＡＣ、スロットル開度ＴＡおよび通路空気量ＧＡに基づいて求められる内燃機関１０の吸入空気量と機関回転速度ＮＥとに基づき算出される。電子制御装置３０は、そのようにして把握した内燃機関１０の運転状態に応じて、出力ポートに接続された各種の駆動回路に指令信号を出力する。このようにして、電子制御装置３０によって内燃機関１０の点火時期制御などといった各種制御が実行される。
【００３１】
本実施の形態にかかる装置は蓄電池２２を備えており、この蓄電池２２は内燃機関１０およびその周辺機器に電力を供給するための電気回路（電子制御装置３０を含む）に接続されている。なお同装置は、内燃機関１０の運転を停止させるために運転スイッチ３６が操作された後においても電子制御装置３０のＲＡＭ３０ａへの電力供給が維持されてその記憶値が保持されるようになっている。
【００３２】
次に、内燃機関１０の点火時期制御について、図２を参照しつつ説明する。
本実施の形態の点火時期制御では、内燃機関１０の運転状態等から求められる制御目標値（具体的には、点火時期指令値ＳＴ）に基づいて内燃機関１０の点火時期が制御され、同点火時期指令値ＳＴが小さい値であるときほど内燃機関１０の点火時期が遅角側の時期に制御される。
【００３３】
図２に示すように、点火時期指令値ＳＴは基本的に、内燃機関１０の運転状態に基づき算出されるノック限界点火時期（ＢＴ−Ｒ）に対して、ノッキングの発生の有無に応じて増減するフィードバック補正項Ｆによる補正と同フィードバック補正項Ｆに基づき更新される基本学習値ＡＧ（ｉ）による補正とを加えることによって算出される。
【００３４】
ノック限界点火時期（ＢＴ−Ｒ）としては、ベース点火時期ＢＴ（実線Ｌ１）からノック余裕代Ｒを減算した値が算出される。なおベース点火時期ＢＴは、標準的な環境条件下においてノッキングを生じさせない最も進角側の点火時期に相当する値であり、機関負荷ＫＬおよび機関回転速度ＮＥに基づき算出される。また、ノック余裕代Ｒは、実験等により予め定められた固定値である。
【００３５】
このように算出されるノック限界点火時期（ＢＴ−Ｒ）は、ベース点火時期ＢＴからノック余裕代Ｒだけ遅角させた値（破線Ｌ２）、言い換えれば、最もノッキングが発生しやすい環境条件下においてノッキングを生じさせない点火時期の範囲における最も進角側の点火時期を表す値となる。なお、上記環境条件としては気温、湿度、大気圧、および機関冷却水温等が挙げることができ、これらの条件に応じて内燃機関１０におけるノッキングの発生しやすさが変化する。本実施の形態では、ノック限界点火時期（ＢＴ−Ｒ）が基本値として機能する。
【００３６】
フィードバック補正項Ｆは、ノックセンサ３３の出力信号に基づきノッキングが発生していると判断されたときには予め定められた遅角更新量ａ分だけ減量されて点火時期を遅角させる一方、ノッキングが発生していないと判断されたときには予め定められた進角更新量ｂ分だけ増量されて点火時期を進角させるといったように機能する値である。このフィードバック補正項Ｆにより、ノッキング発生時においては点火時期を直ちに遅角させてその発生の抑制が図られ、ノッキングが発生していないときには点火時期を進角させて機関出力の増大が図られる。
【００３７】
基本学習値ＡＧ（ｉ）は、機関運転状態（詳しくは、機関負荷ＫＬおよび機関回転速度ＮＥ）により区画された複数（本実施の形態では三つ）の基本学習領域ｉ（ｉ＝１，２，３）毎に用意されている。図３は、上記基本学習領域ｉを示したものであり、同図に示す例では機関回転速度ＮＥに応じて三つに区画された基本学習領域ｉ（ｉ＝１，２，３）が設定されている。そして点火時期指令値ＳＴを算出する際には、基本学習値ＡＧ（ｉ）として、そのときどきの機関回転速度ＮＥに対応する基本学習領域ｉの値が用いられる。この基本学習値ＡＧ（ｉ）は、フィードバック補正項Ｆの変化傾向に基づいて学習更新される。具体的には、上記フィードバック補正項Ｆに徐変処理を施した値が、そのときどきの機関回転速度ＮＥにより定まる基本学習領域ｉに対応する新たな基本学習値ＡＧ（ｉ）として記憶される。こうした基本学習値ＡＧ（ｉ）により、ノッキングの発生を抑制するべく点火時期（具体的には、点火時期指令値ＳＴ）が定常的に補正される。なお、各基本学習値ＡＧ（ｉ）は電子制御装置３０のＲＡＭ３０ａに記憶されている。また上記徐変処理は例えば、直前の算出周期において更新された基本学習値ＡＧ（ｉ）を「前回学習値」とし、１．０以上の正の数を「ｎ」とすると、関係式［ＡＧ（ｉ）＝｛「前回学習値」×（ｎ−１）＋「フィードバック補正項Ｆ」｝／ｎ］を通じて基本学習値ＡＧ（ｉ）を算出するといったように実行される。
【００３８】
図２に示すように、点火時期指令値ＳＴは、ノック限界点火時期（ＢＴ−Ｒ）に対して基本学習値ＡＧ（ｉ）による補正を加えることにより、通常はノック限界点火時期（ＢＴ−Ｒ）よりも進角側の時期に相当する値になる。この状態にあって、ノッキング発生の有無に応じてフィードバック補正項Ｆが増減されると、フィードバック補正項Ｆの増減分だけ点火時期指令値ＳＴが図中に矢印Ｙ１または矢印Ｙ２で示すように増減する。そして、このように増減するフィードバック補正項Ｆを徐変処理した値が新たな基本学習値ＡＧ（ｉ）として記憶されることによって同基本学習値ＡＧ（ｉ）の更新が行われる。
【００３９】
ところで、内燃機関１０の燃焼室１１内にデポジットが付着するなどといった内燃機関１０の経時変化が生じた場合に、同内燃機関１０においてノッキングが発生しやすくなることがあり、そうした場合には基本学習値ＡＧ（ｉ）が減少側の値に更新されるようになる。この場合の基本学習値ＡＧ（ｉ）の更新量は、内燃機関１０の経時変化に起因して点火時期のノック限界が遅角側の時期に移行する移行量に対応した値となる。したがって、更新後の基本学習値ＡＧ（ｉ）を用いて点火時期（直接的にはノック限界点火時期（ＢＴ−Ｒ））を補正することにより、内燃機関１０の経時変化に伴ってノッキングが発生しやすくなるといった不都合の発生が抑えられる。
【００４０】
ただし、内燃機関１０の経時変化によるノッキング発生への影響は、同一の基本学習領域ｉ内であっても、その領域ｉ内における更に細かな機関運転領域毎に大きく異なったものとなる可能性がある。そして、そうした場合には、基本学習領域ｉ毎に設定された基本学習値ＡＧ（ｉ）のみを用いて点火時期の補正を行うと、同基本学習領域ｉ内における機関運転状態によっては上記基本学習値ＡＧ（ｉ）が内燃機関１０の経時変化に起因するノッキングの発生を抑制するうえで不適切な値となるおそれがある。詳しくは、ノッキングの発生を抑制するうえで上記基本学習値ＡＧ（ｉ）が大きすぎる値となってノッキング発生を効果的に抑制することができなくなったり、上記基本学習値ＡＧ（ｉ）が小さすぎる値となって点火時期が過度に遅角側に補正されて内燃機関１０の出力低下を招いたりするおそれがある。
【００４１】
本実施の形態では、点火時期指令値ＳＴが、ノック限界点火時期（ＢＴ−Ｒ）、フィードバック補正項Ｆ、および合計学習値ＡＧＴに基づいて以下の関係式（１）から求められる。
【００４２】
ＳＴ＝（ＢＴ−Ｒ）＋Ｆ＋ＡＧＴ      …（１）
なお、関係式（１）における合計学習値ＡＧＴは、基本学習値ＡＧ（ｉ）と多点学習値ＡＧｄｐ（ｎ）とに基づいて、以下の関係式（２）から求められる値である。
【００４３】
ＡＧＴ＝ＡＧ（ｉ）＋ＡＧｄｐ（ｎ）      …（２）
関係式（２）における多点学習値ＡＧｄｐ（ｎ）は、内燃機関１０の燃焼室１１内にデポジットが付着するなどといった内燃機関１０の経時変化が生じたときに、ノッキング発生に対する同経時変化の影響のばらつきに応じたかたちで点火時期（具体的には、点火時期指令値ＳＴ）を補正するための補正項である。なお、各多点学習値ＡＧｄｐ（ｎ）は電子制御装置３０のＲＡＭ３０ａに記憶されている。
【００４４】
本実施の形態では、基本学習領域ｉ内の中でもノッキング発生に対する内燃機関１０の経時変化による影響のばらつきが大きい領域に、内燃機関１０の運転状態（詳しくは、機関負荷ＫＬおよび機関回転速度ＮＥ）に応じて区画された同基本学習領域ｉよりも更に細かい複数の多点学習領域ｎが設定されている。そして、上記多点学習値ＡＧｄｐ（ｎ）は、それら多点学習領域ｎ毎に設定されている。
【００４５】
この多点学習値ＡＧｄｐ（ｎ）は、そのときどきの内燃機関１０の運転状態が含まれる多点学習領域ｎに対応する値がフィードバック補正項Ｆに基づき更新される。詳しくは、基本学習値ＡＧ（ｉ）の更新と同様に、フィードバック補正項Ｆに徐変処理を施した値を新たな多点学習値ＡＧｄｐ（ｎ）として記憶することにより、同多点学習値ＡＧｄｐ（ｎ）の更新が行われる。
【００４６】
このように多点学習値ＡＧｄｐ（ｎ）を更新することにより、ノッキング発生に対する内燃機関１０の経時変化による影響のばらつきが大きい領域において、そのばらつきに応じて同領域を細分化した多点学習領域ｎ毎の多点学習値ＡＧｄｐ（ｎ）をそれぞれノッキングの発生を抑制するうえで適切な値とすることができる。
【００４７】
なお本実施の形態では、そのときどきの内燃機関１０の運転状態が多点学習領域ｎ内にあるときには、その多点学習領域ｎの存在する基本学習領域ｉの基本学習値ＡＧ（ｉ）の更新は行わず、多点学習値ＡＧｄｐ（ｎ）の更新のみが行われる。すなわち、機関運転状態が多点学習領域ｎのいずれかに含まれる場合には多点学習値ＡＧｄｐ（ｎ）のみが学習され、機関運転状態が多点学習領域ｎ以外の領域に含まれる場合には、基本学習値ＡＧ（ｉ）のみが学習される。
【００４８】
また点火時期指令値ＳＴを求める際に、そのときどきの内燃機関１０の運転状態が複数の多点学習領域ｎ内のいずれかに含まれるときには、多点学習値ＡＧｄｐ（ｎ）として、同運転状態が含まれる多点学習領域ｎに対応する値が用いられる。一方、そのときどきの内燃機関１０の運転状態が複数の多点学習領域ｎのうちのいずれにも含まれないときには、多点学習値ＡＧｄｐ（ｎ）として「０」が設定される。すなわち、現在の機関運転状態が複数の多点学習領域ｎのうちのいずれにも含まれないときには、多点学習値ＡＧｄｐ（ｎ）を用いることなく点火時期指令値ＳＴが算出されて、多点学習値ＡＧｄｐ（ｎ）による点火時期の補正が行われない。
【００４９】
このようにして点火時期指令値ＳＴを求めることにより、基本学習領域ｉ内にあってノッキング発生に対する内燃機関１０の経時変化による影響のばらつきが大きい領域（多点学習領域ｎ）では、ノック限界点火時期（ＢＴ−Ｒ）に対して基本学習値ＡＧ（ｉ）と多点学習値ＡＧｄｐ（ｎ）との双方によって補正が加えられるようになる。
【００５０】
これにより、基本学習領域ｉ内であって内燃機関１０の経時変化によるノッキング発生への影響のばらつきが大きい領域においても、その経時変化等に起因する内燃機関１０での定常的なノッキングの発生を的確に抑制することができるようになる。言い換えれば、基本学習領域ｉ内であって内燃機関１０の経時変化によるノッキング発生への影響のばらつきが大きい領域において、点火時期が適正な時期より進角側に補正されてノッキングの発生を効果的に抑制できなくなったり点火時期が適正な時期より遅角側に補正されて内燃機関１０の出力低下を招いたりするといった不具合の発生を抑えることができるようになる。本実施の形態では、上述した点火時期指令値ＳＴの算出にかかる処理が設定手段および許可手段として機能する。
【００５１】
図３に、上記多点学習領域ｎの設定態様を示す。
図３に示すように、複数の多点学習領域ｎは、複数の基本学習領域ｉのうちの機関回転速度ＮＥの変化方向について最も低回転側に存在する基本学習領域ｉ（ｉ＝１）内において、機関負荷ＫＬの変化方向について低負荷側の領域に設定されている。これは、こうした領域において、ノッキング発生に対する内燃機関１０の経時変化に起因する影響の度合いのばらつきが大きくなるためである。そして、この領域が機関回転速度ＮＥの変化方向において４つに区画されるとともに機関負荷ＫＬの変化方向において６つに区画されることにより、同領域には合計で２４の多点学習領域ｎ（ｎ＝１〜２４）が設定されている。なお本実施の形態では、多点学習領域ｎが第１の機関運転領域として機能し、多点学習値ＡＧｄｐ（ｎ）が第１の学習値として機能し、基本学習領域ｉ（ｉ＝１）の上記多点学習領域ｎを除く領域が第２の機関運転領域として機能し、基本学習領域ｉ（ｉ＝１）に対応する基本学習値ＡＧ（ｉ）が第２の学習値として機能する。
【００５２】
ここで、内燃機関１０の経時変化の有無による点火時期指令値ＳＴの変化について、最も低回転側の基本学習領域ｉ（ｉ＝１）内における多点学習領域ｎとそれ以外の領域との違いを説明する。
【００５３】
図４は、上記基本学習領域ｉ（ｉ＝１）内における多点学習領域ｎ以外の領域において、内燃機関１０の経時変化の有無による点火時期指令値ＳＴの変化態様の一例を示したものである。なお、同図における実線および二点差線は共に機関回転速度ＮＥが一定の条件のもとでの機関負荷ＫＬの変化に対する点火時期指令値ＳＴの推移の一例を示しており、実線は内燃機関１０の経時変化なしの条件下での推移の一例を、二点差線は同経時変化ありの条件下での推移の一例をそれぞれ示している。
【００５４】
図４に示すように、基本学習領域ｉ（ｉ＝１）内における多点学習領域ｎ以外の領域では、内燃機関１０の経時変化が生じてノッキングが発生しやすくなると、点火時期指令値ＳＴが実線で示す状態から二点差線で示す状態へと機関負荷ＫＬの変化方向について一律の幅をもって遅角側に変化する。この点火時期指令値ＳＴの遅角側への変化量は、内燃機関１０の経時変化の発生に起因するノッキングの発生を抑えるために上記基本学習領域ｉの基本学習値ＡＧ（ｉ）が遅角側に変化した変化分に対応している。そうした基本学習値ＡＧ（ｉ）による点火時期の補正を通じて、上記基本学習領域ｉ（ｉ＝１）内における多点学習領域ｎ以外の領域においては、内燃機関１０の経時変化によってノッキングが発生しやすくなることを抑制することが可能である。これは、上記領域内においては、ノッキングの発生に対する内燃機関１０の経時変化による影響がほぼ一律となるためである。
【００５５】
一方、図５は、上記基本学習領域ｉ（ｉ＝１）内における各多点学習領域ｎの設定された領域（ここでは例えばｎ＝１〜６の多点学習領域ｎに対応する領域）において、内燃機関１０の経時変化の有無による点火時期指令値ＳＴの変化を示したものである。なお同図における実線及び破線は共に機関回転速度ＮＥ一定の条件のもとでの機関負荷ＫＬの変化に対する点火時期指令値ＳＴの推移の一例を示しており、実線は内燃機関１０の経時変化なしの条件下での推移の一例を、破線は同経時変化ありの条件下での推移の一例をそれぞれ示している。
【００５６】
図５に示すように、基本学習領域ｉ（ｉ＝１）内における多点学習領域ｎでは、内燃機関１０の経時変化が生じてノッキングが発生しやすくなると、点火時期指令値ＳＴが実線で示される状態から破線で示される状態へと機関負荷ＫＬ毎に異なる幅をもって遅角側に変化する。この点火時期指令値ＳＴの遅角側への変化量には、上記基本学習値ＡＧ（ｉ）の遅角側への変化分に加えて、内燃機関１０の経時変化の発生に伴うノッキング発生を抑制するために各多点学習領域ｎの多点学習値ＡＧｄｐ（ｎ）が遅角側に変化した分も含まれている。
【００５７】
本実施の形態では、そうした基本学習領域ｉ（ｉ＝１）内にあって各多点学習領域ｎの設定された領域において、内燃機関１０の経時変化によってノッキングが発生しやすくなることを、多点学習値ＡＧｄｐ（ｎ）による点火時期の補正を通じて抑制可能である。これは、ノッキングの発生に対する内燃機関１０の経時変化による影響の度合いが多点学習領域ｎ毎に大きくばらつくとしても、そのばらつきを考慮して細分化した多点学習領域ｎ毎の多点学習値ＡＧｄｐ（ｎ）がそれぞれノック発生を抑制するうえで適切な値に更新され、それら多点学習値ＡＧｄｐ（ｎ）を用いて点火時期の補正が行われるためである。
【００５８】
ちなみに、複数の多点学習領域ｎにおけるノッキングの発生に対する内燃機関１０の経時変化による影響は、それら多点学習領域ｎ（図３参照）のうちの機関回転速度ＮＥが低い速度側に設定される領域ほど大きくなる。また、上記影響は、複数の多点学習領域ｎのうちの特定の機関負荷ＫＬ（例えば全ての多点学習領域ｎを含む機関負荷ＫＬの幅における中央値）を含む領域において最も大きくなり、同領域から遠い領域ほど小さくなる。したがって、各多点学習値ＡＧｄｐ（ｎ）は、内燃機関１０の低回転側に位置する多点学習領域ｎに対応するものほど小さい値になるとともに、特定の機関負荷ＫＬを含む多点学習領域ｎに近い領域に対応するものほど小さい値になる傾向がある。
【００５９】
ここで、例えばレギュラー燃料が備蓄されていた燃料タンク１４にハイオク燃料が補給されるなど、それまで備蓄されていた燃料と異なる性状の燃料が燃料タンク１４に補給されると、その後において内燃機関１０に供給される燃料の性状が変化してノッキングの発生状況が変化するために、フィードバック補正項Ｆが大きく変化するようになる。
【００６０】
そのため、単に内燃機関１０の運転状態に応じて多点学習値ＡＧｄｐ（ｎ）が学習される状態と同学習が禁止される状態（基本学習値ＡＧ（ｉ）が学習される状態）とを切り替えるようにすると、上述したように燃料タンク１４内に燃料が補給される際に、以下のような不都合が生じる。すなわち、燃料補給直後における多点学習領域ｎでの内燃機関１０の運転に際して、燃料性状の変化によって点火時期（詳しくは、フィードバック補正項Ｆ）が大きく変化するのにもかかわらず、これが内燃機関１０の経時変化による点火時期の変化分（具体的には、経時変化による点火時期への影響の度合いのばらつき）を補償するための多点学習値ＡＧｄｐ（ｎ）に反映されてしまう。これは基本学習値ＡＧ（ｉ）と多点学習値ＡＧｄｐ（ｎ）とを共にその補償対象に見合う値に精度良く学習する上で、それを妨げる一因となるために好ましくない。
【００６１】
この点をふまえて本実施の形態では、燃料タンク１４への燃料補給が行われた可能性の有無を判定するとともに、その可能性が有ると判定したときに、その後の所定期間にわたって多点学習値ＡＧｄｐ（ｎ）の学習を禁止するようにしている。
【００６２】
以下、そのように多点学習値ＡＧｄｐ（ｎ）の学習を禁止する処理（禁止処理）を含む各学習値を学習するための処理（学習処理）について、図６を参照して説明する。
図６は学習処理の具体的な実行手順を示すフローチャートであり、このフローチャートに示す一連の処理は、所定のクランク角毎の割り込み処理として、電子制御装置３０により実行される。
【００６３】
図６に示すように、この処理では先ず、機関運転状態が複数の多点学習領域ｎのうちのいずれかに含まれるか否かが判断される（ステップＳ１０１）。そして、機関運転状態が複数の多点学習領域ｎのいずれにも含まれない場合には（ステップＳ１０１：ＮＯ）、基本学習値ＡＧ（ｉ）が学習された後（ステップＳ１０２）、本処理は一旦終了される。
【００６４】
これに対して、機関運転状態が複数の多点学習領域ｎのいずれかに含まれる場合には（ステップＳ１０１：ＹＥＳ）、前記電気回路に蓄電池２２を接続する作業（具体的には、蓄電池２２の端子に電源ケーブルを取り付ける作業）が行われた後に、所定期間Ｔ１が経過したか否かが判断される（ステップＳ１０３）。なお、電子制御装置３０（詳しくは、そのＲＡＭ３０ａ）には、内燃機関１０の運転開始のために運転スイッチ３６が操作されてから同内燃機関１０の運転停止のために運転スイッチ３６が操作されるまでの期間を１カウントとするカウント数（トリップ数「初期値＝０」）が記憶されている。ステップＳ１０３の処理では、所定期間Ｔ１が経過したことが、電子制御装置３０に記憶されているトリップ数が所定値（本実施の形態では「１」）以上であることをもって判断される。
【００６５】
前記電気回路に蓄電池２２を接続する作業が行われた後において所定期間Ｔ１が経過したと判断される場合には（ステップＳ１０３：ＹＥＳ）、内燃機関１０の運転を開始するべく運転スイッチ３６が操作された後に所定期間Ｔ２が経過したか否かが判断される（ステップＳ１０４）。ここでは、本処理が所定回数（例えば１０回）以上実行されたことをもって、所定期間Ｔ２が経過したと判断される。
【００６６】
そして、内燃機関１０の運転を開始するべく運転スイッチ３６が操作された後に所定期間Ｔ２が経過したと判断される場合には（ステップＳ１０４：ＹＥＳ）、このときの機関運転状態が含まれる多点学習領域ｎに対応する多点学習値ＡＧｄｐ（ｎ）が学習された後（ステップＳ１０５）、本処理は一旦終了される。なお本実施の形態では、ステップＳ１０３の処理とステップＳ１０４の処理とが判定手段および禁止手段として機能する。
【００６７】
一方、電気回路に蓄電池２２を接続する作業が行われた後において所定期間Ｔ１が経過していない場合や（ステップＳ１０３：ＮＯ）、内燃機関１０の運転を開始するべく運転スイッチ３６が操作された後において所定期間Ｔ２が経過していない場合には（ステップＳ１０４：ＮＯ）、このときの機関運転状態が多点学習領域ｎに含まれるとはいえ、同多点学習領域ｎが含まれる基本学習領域ｉ（ｉ＝１）に対応する基本学習値ＡＧ（ｉ）が学習された後（ステップＳ１０２）、本処理は一旦終了される。
【００６８】
以下、こうした学習処理を実行することによる作用効果について説明する。
先ず、内燃機関１０の修理作業や点検作業が行われる場合に、その作業完了後において燃料タンク１４への燃料補給が行われることがある。通常、そうした修理作業や点検作業を行う場合には、その作業に先立って内燃機関１０やその周辺機器に電力を供給するための電気回路と蓄電池２２との接続が一旦解除され、作業完了後に電気回路と蓄電池２２との接続が復帰される。このことから、上記電気回路に蓄電池２２を接続する作業が行われたときには、その前後において燃料タンク１４への燃料補給が行われた可能性があると云える。
【００６９】
また通常、燃料タンク１４への燃料補給は内燃機関１０の運転を停止させた状態で行われる。そのため、そうした内燃機関１０の運転開始時においても、その直前において燃料タンク１４への燃料補給が行われた可能性があると云える。
【００７０】
本実施の形態では、機関運転状態が複数の多点学習領域ｎのいずれかに含まれる場合であっても、上記電気回路に蓄電池２２を接続する作業が行われた後において所定期間Ｔ１が経過していない場合には（ステップＳ１０３：ＮＯ）、同多点学習領域ｎが含まれる基本学習領域ｉ（ｉ＝１）に対応する基本学習値ＡＧ（ｉ）が学習される。すなわち、電気回路に蓄電池２２を接続する作業が行われたために燃料タンク１４への燃料補給が行われた可能性があり、内燃機関１０に供給される燃料の性状が大きく変化する可能性があるとして、所定期間Ｔ１にわたって多点学習値ＡＧｄｐ（ｎ）の学習が禁止されて、基本学習値ＡＧ（ｉ）の学習が優先的に実行される。
【００７１】
また、内燃機関１０の運転を開始するべく運転スイッチ３６が操作された後に所定期間Ｔ２が経過していない場合においても同様に（ステップＳ１０４：ＮＯ）、同多点学習領域ｎが含まれる基本学習領域ｉ（ｉ＝１）に対応する基本学習値ＡＧ（ｉ）が学習される。この場合には、内燃機関１０の運転を開始するべく運転スイッチ３６が操作されたために燃料タンク１４への燃料補給が行われた可能性があり、内燃機関１０に供給される燃料の性状が大きく変化する可能性があるとして、所定期間Ｔ２にわたって多点学習値ＡＧｄｐ（ｎ）の学習が禁止されて、基本学習値ＡＧ（ｉ）の学習が優先的に実行される。
【００７２】
こうした学習処理を通じて、異なる性状の燃料が燃料タンク１４に補給されたときに、その後の所定期間（言い換えれば、内燃機関１０に供給される燃料の性状変化によってフィードバック補正項Ｆが大きく変化する期間）にわたって多点学習値ＡＧｄｐ（ｎ）の学習を禁止することができる。そのため、燃料性状の変化に伴う点火時期の変化分が多点学習値ＡＧｄｐ（ｎ）に反映されることを抑えることができる。
【００７３】
また、このとき基本学習値ＡＧ（ｉ）の学習が許容されるために、燃料性状の変化に伴う点火時期の変化分が同基本学習値ＡＧ（ｉ）に反映される。そのため、基本学習値ＡＧ（ｉ）により、燃料性状の変化に起因する点火時期の変化分が多点学習領域ｎおよびそれ以外の領域ともに補償されるようになる。
【００７４】
特に、本実施の形態では、多点学習値ＡＧｄｐ（ｎ）の学習禁止時に、多点学習領域ｎにおけるフィードバック補正項Ｆに基づく基本学習値ＡＧ（ｉ）の学習が実行される。そのため、多点学習値ＡＧｄｐ（ｎ）の更新が禁止される期間（具体的には、所定期間Ｔ１または所定期間Ｔ２に相当する期間）において基本学習値ＡＧ（ｉ）の学習が実行されない比較例の装置と比較して、内燃機関１０に供給される燃料の性状変化に伴う点火時期の変化分を基本学習値ＡＧ（ｉ）に早期に反映させることができる。
【００７５】
しかも、所定期間が経過した後、すなわちそのようにして基本学習値ＡＧ（ｉ）が学習された後においては、多点学習領域ｎにおける多点学習値ＡＧｄｐ（ｎ）の学習が実行されるようになるために、内燃機関１０の経時変化によって点火時期が変化すると、その変化分が多点学習値ＡＧｄｐ（ｎ）に反映されるようになる。そのため、この多点学習値ＡＧｄｐ（ｎ）によって、内燃機関１０の経時変化による点火時期の変化分が補償されるようになる。
【００７６】
このように本実施の形態によれば、燃料補給時において基本学習値ＡＧ（ｉ）と多点学習値ＡＧｄｐ（ｎ）とを共にその補償対象の変化に見合う値に適切に学習することができ、点火時期の学習を適切に行うことができる。
【００７７】
さらに、本実施の形態にかかる装置では、前記電気回路と蓄電池２２との接続が一旦解除されると、電子制御装置３０のＲＡＭ３０ａに記憶された記憶値が消失してしまうため、それまで逐次学習されてきた各基本学習値ＡＧ（ｉ）および各多点学習値ＡＧｄｐ（ｎ）が消失してしまう。そのため、その後において電気回路と蓄電池２２とが再接続されたときに基本学習領域ｉ（ｉ＝１）に対応する基本学習値ＡＧ（ｉ）が学習されて実情に見合う値（詳しくは、内燃機関１０への供給燃料の性状に応じた値）になるまでに長い時間がかかる可能性がある。これに対して、電気回路と蓄電池２２との接続が維持された状態で内燃機関１０の運転と運転停止とを切り替えるべく運転スイッチ３６が操作される場合には、各基本学習値ＡＧ（ｉ）および各多点学習値ＡＧｄｐ（ｎ）が消失することなく電子制御装置３０のＲＡＭ３０ａに記憶されている。そのため、基本学習領域ｉ（ｉ＝１）に対応する基本学習値ＡＧ（ｉ）が学習されて実情に見合う値になるまでに要する時間は比較的短いと云える。
【００７８】
本実施の形態では、内燃機関１０の運転を開始するべく運転スイッチ３６が操作されたことと上記電気回路に蓄電池２２を接続する作業が行われたこととの論理和が満たされるときに（ステップＳ１０３：ＮＯまたはステップＳ１０４：ＮＯ）、燃料タンク１４への燃料補給が行われた可能性が有ると判定される。
【００７９】
そして、電気回路に蓄電池２２を接続する作業が行われたときには、その後において内燃機関１０の運転を停止させるための運転スイッチ３６の操作回数が所定回数（本実施の形態では、一回）に達するまでの期間（前記所定期間Ｔ１）、多点学習値ＡＧｄｐ（ｎ）の学習が禁止されて、基本学習値ＡＧ（ｉ）の学習が優先的に行われる。
【００８０】
また、上記運転スイッチ３６の操作回数が所定回数を越えた後においては、内燃機関１０の運転を開始するべく運転スイッチ３６が操作される度に、同運転スイッチ３６が操作されてから基本学習値ＡＧ（ｉ）の更新回数が所定回数に達するまでの期間（前記所定期間Ｔ２）、多点学習値ＡＧｄｐ（ｎ）の学習が禁止されて、基本学習値ＡＧ（ｉ）の学習が優先的に行われる。
【００８１】
これにより、電気回路に蓄電池２２を接続する作業が行われたとき、すなわち基本学習領域ｉ（ｉ＝１）に対応する基本学習値ＡＧ（ｉ）の学習に要する時間が長くなる可能性があるときには、内燃機関１０の運転を停止させるための運転スイッチ３６の操作といった長い周期で訪れることの多いタイミングをもとに所定期間Ｔ１として長い期間を定めることができる。そのため、基本学習値ＡＧ（ｉ）を長期間にわたって優先的に学習させることができ、同基本学習値ＡＧ（ｉ）として実情に見合う値を精度良く学習させることができる。
【００８２】
しかも、そうした運転スイッチ３６の操作回数が所定回数を越えた後に内燃機関１０の運転を開始するべく運転スイッチ３６が操作されたとき、すなわち基本学習値ＡＧ（ｉ）の学習に要する時間が比較的短いときには、基本学習値ＡＧ（ｉ）の更新といった短い周期（学習処理の実行周期）で訪れるタイミングをもとに所定期間Ｔ２として短い期間を定めることができる。そのため、基本学習値ＡＧ（ｉ）の学習精度を高く維持しつつその優先的な学習を早期に完了させることができ、多点学習値ＡＧｄｐ（ｎ）の学習を早期に開始することができる。
【００８３】
ここで、内燃機関１０の運転状態が最も機関回転速度ＮＥが低い側の基本学習領域ｉ（ｉ＝１）になると、同基本学習領域ｉ（ｉ＝１）に対応する基本学習値ＡＧ（ｉ）がフィードバック補正項Ｆに基づき更新されて変化する。そのように基本学習値ＡＧ（ｉ）が変化した場合、その後において機関運転状態が多点学習領域ｎになると、基本学習値ＡＧ（ｉ）の変化による影響を受けて点火時期（詳しくは、点火時期指令値ＳＴ）が変化してしまう。これは、多点学習領域ｎにおける点火時期指令値ＳＴが関係式（１）および関係式（２）から明らかなように基本学習値ＡＧ（ｉ）と多点学習値ＡＧｄｐ（ｎ）との合計値である合計学習値ＡＧＴに基づき算出されるためである。そして、そうした点火時期の変化は、同点火時期がノッキングの発生を抑える上で不適切な時期になったり機関出力の低下を招く時期になったりするおそれがあるために好ましくない。この点をふまえて本実施の形態では、以下に詳述する反省処理が実行される。
【００８４】
以下、そうした反省処理について図７を参照して説明する。
図７は反省処理の具体的な実行手順を示すフローチャートであり、このフローチャートに示される一連の処理は、所定クランク角毎の割り込み処理として、電子制御装置３０により実行される。
【００８５】
図７に示すように、この処理では先ず、最も低回転側の基本学習領域ｉ（ｉ＝１）における基本学習値ＡＧ（ｉ）が変化したか否かが判断される（ステップＳ２０１）。ここでは、基本学習値ＡＧ（ｉ）の本処理の前回実行時における値Ａと今回実行時における値Ｂとが異なる値であることをもって、基本学習値ＡＧ（ｉ）が変化したと判断される。
【００８６】
そして、基本学習値ＡＧ（ｉ）が変化したと判断される場合には（ステップＳ２０１：ＹＥＳ）、同基本学習値ＡＧ（ｉ）の変化量ΔＡＧ（＝Ｂ−Ａ）が算出されるとともに（ステップＳ２０２）、同変化量ΔＡＧ分だけ各多点学習領域ｎの多点学習値ＡＧｄｐ（ｎ）をそれぞれ上記基本学習値ＡＧ（ｉ）の変化方向とは逆方向に変化させる（ステップＳ２０３）。その後、本処理は一旦終了される。
【００８７】
一方、基本学習値ＡＧ（ｉ）が変化していないと判断される場合には（ステップＳ２０１：ＮＯ）、多点学習値ＡＧｄｐ（ｎ）を変更することなく（ステップＳ２０２の処理およびステップＳ２０３の処理をジャンプして）、本処理は一旦終了される。
【００８８】
図８に、内燃機関１０の運転状態が「多点学習領域ｎ」→「基本学習領域ｉ（ｉ＝１）」→「多点学習領域ｎ」といったように移行する場合における合計学習値ＡＧＴの推移の一例を示す。なお図８において、（ａ）は、基本学習値ＡＧ（ｉ）が殆ど変化しない場合の合計学習値ＡＧＴの推移の一例を示し、（ｂ）は基本学習値ＡＧ（ｉ）が変化した場合にあって反省処理が実行されない場合の合計学習値ＡＧＴの推移の一例を示し、（ｃ）は基本学習値ＡＧ（ｉ）が変化した場合にあって反省処理が実行される場合の合計学習値ＡＧＴの推移の一例を示している。
【００８９】
図８（ａ）に示すように、基本学習値ＡＧ（ｉ）が殆ど変化しない場合には、内燃機関１０の運転状態が上述のように移行したところで、多点学習領域ｎにおける合計学習値ＡＧＴの前回値と今回値とが大きく異なる値になることはない。
【００９０】
図８（ｂ）に示すように、基本学習領域ｉ（ｉ＝１）において基本学習値ＡＧ（ｉ）が更新されて大きく変化した場合に、反省処理が実行されないと仮定した場合、その後において多点学習領域ｎになったときに基本学習値ＡＧ（ｉ）の変化分（図中に矢印Ｃで示す変化分）だけ合計学習値ＡＧＴの今回値と前回値とが大きく異なる値になる。
【００９１】
本実施の形態では、基本学習領域ｉ（ｉ＝１）において基本学習値ＡＧ（ｉ）が更新されて大きく変化した場合であっても反省処理が実行される。そのため図８（ｃ）に示すように、各多点学習領域ｎの多点学習値ＡＧｄｐ（ｎ）が基本学習値ＡＧ（ｉ）の変化分（図中に矢印Ｄで示す変化分）だけ同基本学習値ＡＧ（ｉ）の変化方向とは逆方向の値に変更される。
【００９２】
このように上記基本学習値ＡＧ（ｉ）の変化に合わせて各多点学習値ＡＧｄｐ（ｎ）を変化させることにより、基本学習値ＡＧ（ｉ）が変化した後に内燃機関１０の運転状態が多点学習領域ｎになった場合であっても、同基本学習値ＡＧ（ｉ）の変化が点火時期に影響を与えることがない。すなわち、基本学習値ＡＧ（ｉ）の変化前と変化後とで、多点学習領域ｎにおいて算出される合計学習値ＡＧＴ、ひいては点火時期指令値ＳＴが同一の値になる。そのため、基本学習値ＡＧ（ｉ）が変化した後において多点学習領域ｎに移行して初めて点火時期指令値ＳＴが算出されるときに、同点火時期指令値ＳＴが上記基本学習値ＡＧ（ｉ）の変化分だけノッキングの発生を抑制するうえで不適切な値になったり、遅角側に変化し過ぎて機関出力の低下を招く値になったりすることを抑制できる。
【００９３】
また、本来なら基本学習値ＡＧ（ｉ）に学習されるべきフィードバック補正項Ｆの変化分が誤って多点学習値ＡＧｄｐ（ｎ）に学習されてしまった場合に、その誤学習分を、基本学習値ＡＧ（ｉ）が学習されたタイミングで同基本学習値ＡＧ（ｉ）に移行させることができるようになる。そのため、基本学習値ＡＧ（ｉ）および多点学習値ＡＧｄｐ（ｎ）として、それぞれ補償対象に見合う値を精度良く且つ早期に学習することができるようになる。
【００９４】
ここで仮に、禁止処理を実行することなく反省処理のみを実行するようにすると、内燃機関１０の運転状態が多点学習領域ｎ内のみを推移する場合には、基本学習領域ｉの基本学習値ＡＧ（ｉ）を学習する機会がないために、同基本学習値ＡＧ（ｉ）の学習が遅くなってしまう。この点、本実施の形態では、反省処理に加えて、上述した禁止処理が実行される。そのため、内燃機関１０の運転状態が多点学習領域ｎに含まれるときにおいて多点学習値ＡＧｄｐ（ｎ）の学習が禁止されるときに、最も機関回転速度ＮＥが低い側の基本学習領域ｉ（ｉ＝１）の基本学習値ＡＧ（ｉ）の学習が実行される。これにより、そうした基本学習値ＡＧ（ｉ）の学習が実行されない比較例の装置と比較して、基本学習値ＡＧ（ｉ）として、その補償対象に見合う値（内燃機関１０に供給される燃料の性状変化に見合う値）を早期に学習することができるようになる。
【００９５】
以上説明したように、本実施の形態によれば、以下に記載する効果が得られるようになる。
（１）燃料タンク１４への燃料補給が行われた可能性が有ると判定したときに、その後の所定期間にわたり、多点学習値ＡＧｄｐ（ｎ）の学習を禁止するようにした。そのため、燃料性状の変化に伴う点火時期の変化分が多点学習値ＡＧｄｐ（ｎ）に反映されることを抑えることができる。また、このとき基本学習値ＡＧ（ｉ）の学習を許容するようにしたために、燃料性状の変化に伴う点火時期の変化分が同基本学習値ＡＧ（ｉ）に反映されるようになり、基本学習値ＡＧ（ｉ）により、燃料性状の変化に起因する点火時期の変化分が多点学習領域ｎおよびそれ以外の領域ともに補償されるようになる。しかも、所定期間が経過した後において、多点学習領域ｎにおける多点学習値ＡＧｄｐ（ｎ）の学習が実行されるため、内燃機関１０の経時変化によって点火時期が変化した場合にその変化分が多点学習値ＡＧｄｐ（ｎ）に反映されるようになる。そのため、この多点学習値ＡＧｄｐ（ｎ）によって、内燃機関１０の経時変化による点火時期の変化分が補償されるようになる。したがって、燃料補給時における機関点火時期の学習を適切に行うことができるようになる。
【００９６】
（２）多点学習値ＡＧｄｐ（ｎ）の学習禁止時に、多点学習領域ｎにおいてフィードバック補正項Ｆに基づく基本学習値ＡＧ（ｉ）の学習を実行するようにした。そのため、多点学習値ＡＧｄｐ（ｎ）の更新が禁止される期間において基本学習値ＡＧ（ｉ）の学習が実行されない比較例の装置と比較して、内燃機関１０に供給される燃料の性状変化に伴う点火時期の変化分を基本学習値ＡＧ（ｉ）に早期に反映させることができる。
【００９７】
（３）内燃機関１０の運転状態に応じて区画された複数の多点学習領域ｎを設定するとともに、それら多点学習領域ｎ毎に多点学習値ＡＧｄｐ（ｎ）を設定した。そのため、ノッキング発生に対する内燃機関１０の経時変化による影響のばらつきが大きい領域において、そのばらつきに応じて同領域を細分化した多点学習領域ｎ毎の多点学習値ＡＧｄｐ（ｎ）をそれぞれノッキングの発生を抑制するうえで適切な値とすることができる。したがって、多点学習値ＡＧｄｐ（ｎ）として不適切な値が学習されることによってノッキングの発生を効果的に抑制できなくなったり内燃機関の出力低下を招いたりするといった不具合の発生を抑えることができる。
【００９８】
（４）最も機関回転速度ＮＥが低い側の基本学習領域ｉ（ｉ＝１）の基本学習値ＡＧ（ｉ）が変化したときに、その変化量ΔＡＧ分だけ同基本学習値ＡＧ（ｉ）の変化方向と逆方向に各多点学習領域ｎの多点学習値ＡＧｄｐ（ｎ）を変化させるようにした。これにより、基本学習値ＡＧ（ｉ）が変化した後に内燃機関１０の運転状態が多点学習領域ｎになった場合であっても、同基本学習値ＡＧ（ｉ）の変化が点火時期に影響を与えることがなくなる。そのため、基本学習値ＡＧ（ｉ）が変化した後において多点学習領域ｎに移行して初めて点火時期指令値ＳＴが算出されるときに、同点火時期指令値ＳＴが上記基本学習値ＡＧ（ｉ）の変化分だけノッキングの発生を抑制するうえで不適切な値になったり遅角側に変化し過ぎて機関出力の低下を招く値になったりすることを抑制できる。
【００９９】
（５）内燃機関１０の運転を開始するべく運転スイッチ３６が操作されたことをもって、燃料タンク１４に燃料補給が行われた可能性が有ると判定することができる。
（６）内燃機関１０およびその周辺機器に電力を供給するための電気回路に蓄電池２２を接続する作業が行われたことをもって、燃料タンク１４に燃料補給が行われた可能性が有ると判定することができる。
【０１００】
（７）電気回路に蓄電池２２を接続する作業が行われたとき、すなわち基本学習領域ｉ（ｉ＝１）に対応する基本学習値ＡＧ（ｉ）の学習に要する時間が長くなる可能性があるときには、内燃機関１０の運転を停止させるための運転スイッチ３６の操作といった長い周期で訪れることの多いタイミングをもとに所定期間Ｔ１として長い期間を定めることができる。そのため、基本学習値ＡＧ（ｉ）を長期間にわたって優先的に学習させることができ、同基本学習値ＡＧ（ｉ）として実情に見合う値を精度良く学習させることができる。しかも、そうした運転スイッチ３６の操作回数が所定回数を越えた後に内燃機関１０の運転を開始するべく運転スイッチ３６が操作されたとき、すなわち基本学習領域ｉ（ｉ＝１）に対応する基本学習値ＡＧ（ｉ）の学習に要する時間が比較的短いときには、基本学習値ＡＧ（ｉ）の更新といった短い周期で訪れるタイミングをもとに所定期間Ｔ２として短い期間を定めることができる。そのため、基本学習値ＡＧ（ｉ）の学習精度を高く維持しつつその優先的な学習を早期に完了させることができ、多点学習値ＡＧｄｐ（ｎ）の学習を早期に開始することができる。
【０１０１】
なお、上記実施の形態は、以下のように変更して実施してもよい。
・基本学習領域ｉの区画数は任意に変更することができる。
・多点学習領域ｎの区画数や区画態様は任意に変更可能である。
【０１０２】
・多点学習値ＡＧｄｐ（ｎ）の学習が禁止されるときにおいて、内燃機関１０の運転状態が多点学習領域ｎであるときに、基本学習値ＡＧ（ｉ）の学習を必ずしも実行しなくてもよい。
【０１０３】
・所定期間Ｔ１や所定期間Ｔ２は任意に変更することができる。例えば学習処理の実行回数が所定回数以上になったことや、点火プラグ１６による点火が実行された回数が所定回数以上になったこと、経過時間が所定時間以上になったことなどをもって所定期間Ｔ１（あるいは所定期間Ｔ２）が経過したと判断するようにしてもよい。
【０１０４】
・ステップＳ１０３の処理およびステップＳ１０４の処理の一方を省略してもよい。
・燃料タンク１４への燃料補給が行われたことを判定するための条件は任意に変更することができる。そうした条件としては、例えば「燃料タンク１４の蓋が開閉されたこと」との条件や、「燃料タンク１４内の燃料が増加したこと」との条件などを採用することができる。
【図面の簡単な説明】
【０１０５】
【図１】本発明を具体化した一実施の形態にかかる点火時期制御装置が適用される内燃機関の概略構成を示す略図。
【図２】点火時期指令値の算出手順の概要を示す説明図。
【図３】基本学習領域および多点学習領域を示す説明図。
【図４】内燃機関の経時変化の有無による点火時期指令値の変化態様の一例を示すグラフ。
【図５】内燃機関の経時変化の有無による点火時期指令値の変化態様の一例を示すグラフ。
【図６】学習処理の具体的な実行手順を示すフローチャート。
【図７】反省処理の具体的な実行手順を示すフローチャート。
【図８】（ａ）〜（ｃ）合計学習値の推移の一例を示す説明図。
【符号の説明】
【０１０６】
１０…内燃機関、１１…燃焼室、１２…吸気通路、１３…燃料噴射弁、１４…燃料タンク、１５…燃料ポンプ、１６…点火プラグ、１７…ピストン、１８…クランクシャフト、１９…排気通路、２０…アクセルペダル、２１…スロットルバルブ、２２…蓄電池、３０…電子制御装置、３０ａ…ＲＡＭ、３１…アクセルセンサ、３２…スロットルセンサ、３３…ノックセンサ、３４…空気量センサ、３５…クランクセンサ、３６…運転スイッチ。
【図１】
2010133279.tif 000003
【図２】
2010133279.tif 000004
【図３】
2010133279.tif 000005
【図４】
2010133279.tif 000006
【図５】
2010133279.tif 000007
【図６】
2010133279.tif 000008
【図７】
2010133279.tif 000009
【図８】
2010133279.tif 000010