"燃料供給ポンプが圧送する燃料をコモンレールで蓄圧し、コモンレールから供給される燃料を燃料噴射弁から内燃機関に噴射し、前記燃料供給ポンプの圧送行程における圧送期間を調量弁で制御して燃料の圧送量を調量する燃料供給システムに適用されるポンプ制御装置において、前記コモンレール内の圧力を前記内燃機関の運転状態に基づいて決定される目標圧力とするためのフィードバック量に基づいて前記調量弁に対する制御指令値を設定するフィードバック制御手段と、前記フィードバック量の積分項を、前記燃料供給ポンプを駆動するカムとクランク軸との回転位相差のずれである角度誤差と、前記調量弁を開閉駆動するときの応答時間のずれである時間誤差とに分離し、前記角度誤差と前記時間誤差とに基づいて前記制御指令値を学習する学習手段と、前記学習手段が学習した学習値により前記制御指令値を補正する補正手段と、を備えることを特徴とするポンプ制御装置。前記積分項はエンジン回転数に対して一次式で表わされ、前記学習手段は、前記一次式の切片を前記角度誤差とし、前記一次式から前記角度誤差を減算した値を前記時間誤差として学習する、ことを特徴とする請求項1に記載のポンプ制御装置。前記積分項および前記エンジン回転数がそれぞれ所定の変動範囲内であるか否かを判定する判定手段を備え、前記学習手段は、前記積分項および前記エンジン回転数がそれぞれ所定の前記変動範囲内であると前記判定手段が判定すると前記制御指令値の学習を実行し、前記積分項および前記エンジン回転数の少なくともいずれか一方が所定の前記変動範囲から外れていると前記判定手段が判定すると前記制御指令値の学習を中止する、ことを特徴とする請求項1または2に記載のポンプ制御装置。前記コモンレール内の圧力を前記目標圧力とするために必要な前記燃料供給ポンプから圧送される必要流量を決定する必要流量決定手段と、前記燃料供給ポンプから実際に圧送される実流量を検出する実流量検出手段と、を備え、前記フィードバック制御手段は、前記必要流量決定手段が決定する前記必要流量と前記実流量検出手段が検出する前記実流量との差分に基づいて、前記コモンレール内の圧力を前記目標圧力とするための前記フィードバック量としてフィードバック流量を決定し、前記フィードバック流量を前記必要流量に加算した流量となるように前記制御指令値を設定し、前記学習手段は、前記フィードバック流量の前記積分項を前記角度誤差と前記時間誤差とに分離し、前記角度誤差と前記時間誤差とに基づいて前記制御指令値を学習し、前記補正手段は、前記学習手段が前記フィードバック流量の前記積分項から学習した学習値により前記制御指令値を補正する、ことを特徴とする請求項1から3のいずれか一項に記載のポンプ制御装置。圧送行程において燃料の圧送期間を調量弁で制御する構成では、前述したカムとクランク軸との回転位相差のずれにより生じる圧送量の誤差はエンジン回転数に関わらず一定であるが、調量弁の応答特性の時間ずれによる圧送量の誤差はエンジンの回転数が増加するにしたがい大きくなる。それ故、圧送行程の燃料の圧送期間を調量弁で制御する構成では、特許文献2のように、アイドル運転時においてフィードバック制御の積分項から調量弁に対する通電量を学習しても、アイドル回転数以外のエンジン回転数において、アイドル運転時に学習した学習値により通電量を適切に制御できない。したがって、コモンレール内の圧力を目標圧力に適切に追従させることが困難である。本発明は、上記課題を解決するためになされたものであり、燃料供給ポンプの圧送行程における圧送期間を調量弁で制御する燃料供給システムにおいて、調量弁に対する制御指令値をエンジン回転数に対するフィードバック量の特性に応じて学習し、コモンレール内の圧力を目標圧力に適切に追従させるポンプ制御装置を提供することを目的とする。請求項1から4に記載の発明によると、燃料供給ポンプが圧送する燃料をコモンレールで蓄圧し、コモンレールから供給される燃料を燃料噴射弁から内燃機関に噴射し、燃料供給ポンプの圧送行程における圧送期間を調量弁で制御して燃料の圧送量を調量する燃料供給システムに適用されるポンプ制御装置において、フィードバック制御手段は、コモンレール内の圧力を内燃機関の運転状態に基づいて決定される目標圧力とするためのフィードバック量に基づいて調量弁に対する制御指令値を設定し、フィードバック量の積分項を、燃料供給ポンプを駆動するカムとクランク軸との回転位相差のずれである角度誤差と、調量弁を開閉駆動するときの応答時間のずれである時間誤差とに分離し、角度誤差と時間誤差とに基づいて制御指令値を学習し、補正手段は、学習手段が学習した学習値により制御指令値を補正する。この構成によれば、フィードバック制御の積分項を、エンジン回転数に関わらずに変化しない角度誤差と、エンジン回転数に応じて変化する時間誤差とに分離して調量弁に対する制御指令値を学習するので、エンジン回転数に対応して高精度に制御指令値を学習できる。さらに、角度誤差と時間誤差とに積分項を分離して学習した学習値により調量弁に対する制御指令値を補正することにより、エンジン回転数に関わらず、目標圧力に対するコモンレール内の圧力以下、コモンレール圧とも言う。の追従性が向上する。また、コモンレール圧を目標圧力とするために適切な流量を燃料供給ポンプから圧送できるので、圧送量に基づく燃料供給ポンプの異常診断、燃料供給系の漏れ診断等の他の制御の精度も向上する。請求項2に記載の発明によると、積分項はエンジン回転数に対して一次式で表わされ、学習手段は、一次式の切片を角度誤差とし、一次式から角度誤差を減算した値を時間誤差として学習する。この構成によれば、積分項はエンジン回転数に対して一次式で表わされるので、例えばエンジン回転数の2点で積分項を求めることにより、一次式を容易に求めることができる。これにより、エンジン回転数によって変化しない角度誤差を一次式の切片、一次式から角度誤差を減算した値をエンジン回転数によって変化する時間誤差として容易に求めることができる。請求項3に記載の発明によると、判定手段は積分項とエンジン回転数とがそれぞれ所定の変動範囲内であるか否かを判定し、学習手段は、積分項およびエンジン回転数がそれぞれ所定の変動範囲内であると判定手段が判定すると制御指令値の学習を実行し、積分項およびエンジン回転数の少なくともいずれか一方が所定の変動範囲から外れていると判定手段が判定すると制御指令値の学習を中止する。この構成によれば、積分項およびエンジン回転数の変動が小さく、安定した内燃機関の運転状態で制御指令値を学習するので、制御指令値を高精度に学習できる。また、積分項およびエンジン回転数の少なくともいずれか一方が所定の変動範囲から外れている場合は学習を中止するので、変動の大きい積分項またはエンジン回転数に基づいて制御指令値を誤学習することを防止できる。ところで、内燃機関の運転状態が変化して目標圧力が変化した場合、コモンレール圧を目標圧力とするために目標圧力と実際のコモンレール圧である実圧力との圧力偏差に基づいて燃料供給ポンプの圧送量を直接制御すると、目標圧力に近づいたコモンレール圧が目標圧力に対してオーバシュートまたはハンチングすることがある。そこで、請求項4に記載の発明によると、必要流量決定手段は、コモンレール圧を目標圧力とするために必要な燃料供給ポンプから圧送される必要流量を決定し、実流量検出手段は、燃料供給ポンプから実際に圧送される実流量を検出し、フィードバック制御手段は、必要流量決定手段が決定する必要流量と実流量検出手段が検出する実流量との差分に基づいて、コモンレール圧を目標圧力とするためのフィードバック量としてフィードバック流量を決定し、フィードバック流量を必要流量に加算した流量となるように制御指令値を設定し、学習手段は、フィードバック流量の積分項を角度誤差と時間誤差とに分離し、角度誤差と時間誤差とに基づいて制御指令値を学習し、補正手段は、学習手段がフィードバック流量の積分項から学習した学習値により制御指令値を補正する。この構成によれば、目標圧力と実圧力との圧力偏差が発生すると、コモンレール圧を目標圧力とするために圧力偏差に基づいて燃料供給ポンプの圧送量を直接制御するのではなく、コモンレール圧を目標圧力とするための必要流量を決定し、この決定された必要流量と実流量との差分に基づいてフィードバック量としてフィードバック流量を決定するので、目標圧力に対してコモンレール圧がオーバシュートまたはハンチングすることを防止し、コモンレール圧を目標圧力に精度よく追従させることができる。尚、本発明に備わる複数の手段の各機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、またはそれらの組合せにより実現される。また、これら複数の手段の各機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。以下、本発明の実施の形態を図に基づいて説明する。図1に、本実施形態による燃料供給システム10を示す。燃料供給システム10燃料供給システム10は、例えば、自動車用の4気筒のディーゼルエンジン以下、単にエンジンともいう。2に燃料を噴射供給するためのものである。燃料供給システム10は、燃料供給ポンプ20と、コモンレール40と、燃料噴射弁50と、電子制御装置ECU:ElectronicControlUnit60とを備えている。燃料供給ポンプ20は、燃料タンク12から燃料を汲み上げるフィードポンプを内蔵している。図2に示すように、燃料供給ポンプ20は、クランク軸により駆動されるカム軸のカム14の回転に伴いプランジャ22が往復移動することにより、フィードポンプから加圧室100に吸入した燃料を加圧して圧送する。燃料供給ポンプ20の吸入側には、図2に示すように調量弁30が設けられている。調量弁30の開閉タイミングは、ECU60により制御される。調量弁30は、通電しない状態で開弁する所謂ノーマリーオープンの電磁弁である。調量弁30は、圧送行程の所定期間だけ通電されて閉弁する。調量弁30は、アクチュエータとしてソレノイドコイルまたは圧電素子等を用いた弁である。燃料供給ポンプ20の圧送高圧側には、加圧室100から燃料が流出することのみを許容し、燃料が高圧側であるコモンレール40から加圧室100に流入することを規制する逆止弁32が設けられている。吸入行程において、調量弁30への通電は遮断されるので調量弁30は開弁状態である。調量弁30が開弁状態でプランジャ22が上死点トップから下死点ボトムに向かって移動すると加圧室100の体積が膨張するので、これに伴ってフィードポンプから供給されてきた燃料が加圧室100に吸引される。その後、圧送行程において、プランジャ22が下死点から上死点に向かって移動する際に、調量弁30に通電せず開弁状態を保持していると、加圧室100に吸引された燃料は調量弁30を経由して燃料供給ポンプ20の吸入側から燃料タンク12側に逆流するプレストローク期間。そして、調量弁30に通電し所定の角度タイミングで調量弁30を閉弁すると、加圧室100内の燃料の加圧が開始される。加圧室100の圧力がコモンレール圧を超えると、加圧室100内の燃料が逆止弁32を経由してコモンレール40に圧送される圧送期間。したがって、調量弁30の通電開始タイミングを制御することにより、燃料供給ポンプ20からコモンレール40に圧送される燃料の圧送量を調量することができる。つまり、調量弁30を早く閉じれば圧送量は多くなり、調量弁30を遅く閉じれば圧送量は少なくなる。尚、調量弁30に通電して閉弁し加圧室100の圧力が上昇すると、調量弁30への通電を遮断しても、加圧室100の燃料圧力により調量弁30は閉弁状態に保持され加圧室100の燃料は加圧されるので、プランジャ22が上死点に達するまで燃料供給ポンプ20から燃料は圧送される。したがって、プランジャ22が上死点に達するまで調量弁30への通電を継続する必要はない。そこで、調量弁30への通電を開始してから実際に調量弁30が閉弁する閉弁応答遅れと、閉弁応答遅れのばらつきを含めた余裕度とを考慮して調量弁30への通電期間を決定すれば、プランジャ22が上死点に達する前に調量弁30への通電を遮断して調量弁30に供給する電力量を低減できる。図1に示すコモンレール40は、燃料供給ポンプ20から圧送される燃料を蓄圧する中空の部材である。コモンレール40には、コモンレール圧を検出する圧力センサ42、および、開弁することによりコモンレール40内の燃料を燃料タンク12側に排出してコモンレール圧を低下させる減圧弁44が設置されている。燃料噴射弁50は、エンジン2の各気筒に設置されており、コモンレール40で蓄圧された燃料を気筒内に噴射する。燃料噴射弁50は、例えば、噴孔を開閉するノズルニードルのリフトを制御室の圧力で制御する公知の構成である。燃料噴射弁50の噴射量は、ECU60から指令される噴射指令信号のパルス幅によって制御される。噴射指令信号のパルス幅が長くなると噴射量が増加する。ECU60は、CPU、RAM、ROM、フラッシュメモリ等を中心とするマイクロコンピュータにて主に構成されている。ECU60は、ROMまたはフラッシュメモリに記憶されている制御プログラムをCPUが実行することにより、圧力センサ42を含む各種センサ、例えばエンジン回転数NEを検出する回転数センサ、アクセル開度センサ、吸入空気の温度吸気温センサ、吸入空気の流量吸気量センサ、吸入空気の圧力吸気圧センサ、冷却水の温度水温センサ等から取り込んだ検出信号に基づき、燃料供給システム10の各種制御を実行する。例えば、ECU60は、圧力センサ42が検出するコモンレール圧が目標圧力になるように燃料供給ポンプ20の圧送開始タイミングを設定し、圧送開始タイミングに基づいて調量弁30への通電開始タイミングを設定する。ECU60は、圧送開始タイミングを表わすクランク角度と圧送量との相関を表す特性マップを予め計測して設定しており、この特性マップから取得する圧送開始タイミングに基づいて調量弁30の通電開始タイミングを設定し、燃料供給ポンプ20の圧送量を調量する。調量弁30への通電開始タイミングは、特性マップから取得する圧送開始タイミングに調量弁30の閉弁応答遅れを考慮して設定される。また、ECU60は、燃料噴射弁50に噴射を指令する噴射指令信号のパルス幅Tと噴射量Qとの相関を示す所謂TQマップを、コモンレール圧の所定の圧力範囲毎にROMまたはフラッシュメモリに記憶している。ECU60は、エンジン回転数およびアクセル開度に基づいて燃料噴射弁50の噴射量が決定されると、圧力センサ42が検出したコモンレール圧に応じて該当する圧力範囲のTQマップを参照し、決定された噴射量に応じた燃料噴射弁50への噴射指令信号のパルス幅をTQマップから取得する。圧力制御処理の概略ECU60は、エンジン回転数やアクセル開度等に基づいて取得されたエンジン2の運転状態、および予めROMに記憶されているマップ等に基づいて、コモンレール圧の目標圧力を決定し、コモンレール圧が目標圧力となるように、PID制御により調量弁30および減圧弁44を開閉制御する。すなわち、ECU60は、コモンレール圧を目標圧力にするために必要な燃料供給ポンプ20の圧送量以下、必要流量ともいう。を決定するとともに、燃料供給ポンプ20から実際に圧送された圧送量以下、実流量ともいう。を検出する。その後、ECU60は、必要流量と実流量との差分に基づいて、コモンレール圧を目標圧力とするためのフィードバック量として、実流量を必要燃料流量とするための流量以下、フィードバックF/B流量ともいう。をPID制御により決定した後、必要流量にF/B流量を加えた流量の燃料が燃料供給ポンプ20から圧送されるように圧送開始タイミングを設定し、圧送開始タイミングに基づいて調量弁30の通電開始タイミングを設定する。必要流量の決定ECU60は、燃料噴射時に燃料噴射弁50から噴射されるべき燃料の噴射量と、今回の燃料噴射時に燃料噴射弁50で発生する燃料の漏れ量と、コモンレール圧の目標圧力と圧力センサ42により検出されるコモンレール圧の実圧力との圧力偏差ΔPとに基づいて必要流量を決定する。ECU60は、燃料噴射弁50に指令する指令噴射量を、燃料噴射時に燃料噴射弁50から噴射されるべき噴射量とする。また、ECU60は、燃料噴射弁50の噴射期間、ならびに燃料の温度および圧力等をパラメータとしてROMに記憶されているマップ等に基づいて、燃料噴射時に燃料噴射弁50で発生する燃料の漏れ量を決定する。燃料噴射弁50で発生する燃料の漏れ量とは、燃料噴射弁50のノズルニードルとそれを摺動保持するボデーとの摺動隙間から低圧側の空間へ僅かに流出する燃料量や、燃料噴射弁50の制御室から低圧側に燃料を逃がすことでノズルニードルを開弁させる際の制御室から流出する燃料量等をいう。必要流量が負の場合、ECU60は、圧送行程において調量弁30を閉弁せずに開弁状態のままにして燃料供給ポンプ20からの圧送量を0にし、減圧弁44を開弁することによりコモンレール圧を減圧させる。実流量の検出コモンレール40に燃料が供給されるとコモンレール40内の燃料圧力は上昇し、逆に、コモンレール40から燃料が排出されるとコモンレール40内の圧力が低下することから、ECU60は、コモンレール圧の圧力変化量、ならびに燃料噴射弁50における燃料消費量に基づいて実流量を検出する。燃料噴射弁50における燃料消費量は、燃料噴射弁50から噴射される噴射量と燃料噴射弁50で発生する燃料の漏れ量との合計量である。ECU60は、燃料噴射弁50に対して指令する指令噴射量を燃料噴射弁50から噴射される噴射量とする。圧送量の誤差要因本実施形態では、必要流量と実流量との差分に基づいて、コモンレール圧を目標圧力とするためのF/B流量を決定し、F/B流量を必要流量に加算した流量指令値になるように、燃料供給ポンプ20の圧送開始タイミングを特性マップから取得する。そして、調量弁30の閉弁応答遅れを考慮して、圧送開始タイミングよりも閉弁応答遅れ時間前に調量弁30への通電を開始する。しかし、燃料供給ポンプ20の圧送量には、燃料供給ポンプ20の取付け角度等のばらつき、ならびに調量弁30を開閉駆動するときの閉弁応答遅れ特性のばらつきによる誤差が生じる。燃料供給ポンプ20の取付け角度等がばらつくと、クランク軸の駆動力により燃料供給ポンプ20を駆動するカム14とクランク軸との回転位相差、つまりカム14のりフト位置が正常状態からずれることがある。、図3のAに示すように、カム14とクランク軸との回転位相差が正常状態の場合には、調量弁30の閉弁応答遅れ特性を考慮し、燃料供給ポンプ20の圧送量が必要流量にF/B流量を加算した流量指令値となるように、圧送開始タイミングよりも閉弁応答遅れ時間前に通電パルスをオンにする。これに対し、カム14の回転位相差が正常状態よりも進角すると、正常状態と同じタイミングで調量弁30の通電パルスをオンにしても、加圧室100で燃料を加圧して燃料を圧送する圧送期間が短くなり圧送量が正常時よりも減少する。また、カム14の回転位相差が正常状態よりも遅角すると、圧送期間が長くなり圧送量が正常時よりも増加する。また、図3のBに示すように、調量弁30の閉弁応答遅れが正常状態よりも大きくなると、正常状態と同じタイミングで調量弁30の通電パルスをオンにしても、圧送期間が短くなり圧送量が正常時よりも減少する。また、調量弁30の閉弁応答遅れが正常時よりも小さくなると圧送期間が長くなり、圧送量が正常状態よりも増加する。このように、燃料供給ポンプ20の圧送量の誤差は、カム14とクランク軸との回転位相差のばらつきより生じる角度誤差と、調量弁30の閉弁応答遅れ特性のばらつきにより生じる時間誤差とを要因として生じる。誤差学習エンジン回転数が変化してもカム14の回転位相差のずれは変化しないので、角度誤差により生じる圧送量の誤差はエンジン回転数に関わらず一定である。一方、閉弁応答遅れの時間誤差をエンジン回転数NErpmに基づいて角度に変換した値は、次式1で表わされる。式1から分かるように、時間誤差を角度変換した値はエンジン回転数に応じて一次関数的に増加するので、時間誤差によって生じる圧送量の誤差はエンジン回転数に対して一次関数的に増加する。角度変換した値=時間誤差×NE/60×360=時間誤差×NE×61通常、フィードバック制御の対象となるシステムのばらつきは、フィードバック制御における積分項により解消されるので、積分項の値に着目すれば燃料供給ポンプ20の圧送量の誤差を解析できる。図4に、エンジン回転数と積分項との関係を示す。前述したように、角度誤差はエンジン回転数に関わらず一定である。そして、時間誤差はエンジン回転数に対して一次関数的に上昇するので、角度誤差と時間誤差とからなる符号200で示す積分項は、エンジン回転数NEに対して一次式で表わされる。この関係を式2に示す。積分項=角度誤差時間誤差=a×NEb2エンジン回転数が0のとき、時間誤差は0であるから、切片bは角度誤差を表わし、エンジン回転数に応じて変化する積分項から角度誤差を減算した値が時間誤差を表わしている。したがって、式2を求めれば、エンジン回転数に対する燃料供給ポンプ20の圧送量の誤差特性を求めることができる。式2の算出方法を図4のA、Bに示す。図4のAでは、エンジン回転数と、そのときの積分項の値とを2点NE1,積分項1、NE2,積分項2で測定し、式2の傾きaと切片bを次式3、4から求める。a=積分項2-積分項1/NE2-NE13b=積分項2-a×NE24図4のBでは、エンジン回転数と、そのときの積分項の値とを3点以上で測定し、3点以上の座標から最小二乗法で式2を求める。式2で表わされる積分項の単位は流量であるから、角度誤差を学習するためには流量で表わされる積分項を角度に変換し、時間誤差を学習するためには流量で表わされる積分項を時間に変換する必要がある。流量からの変換例として、図4のAに示す方法について以下に説明する。まず、流量で表わされている積分項1、2をそれぞれ角度に変換して角度変換値1、2を求める。必要流量にF/B流量を加算して燃料供給ポンプ20に指令する流量指令値1、2と積分項1、2とに基づき、積分項1、2に相当する角度変換値1、2は次式5、6から求められる。式5、6は、流量で表わされる積分項により角度がどれだけ変化したか、すなわち積分項を角度変換した値を表わしている。流量の角度変換は、前述した圧送開始タイミング角度と圧送量との相関を表す特性マップにより行う。角度変換値1=角度変換流量指令値1-角度変換流量指令値1-積分項15角度変換値2=角度変換流量指令値2-角度変換流量指令値2-積分項26式5、6で求めた角度変換値1、2をそれぞれ式3の積分項1、2に代入することにより角度変換後の傾きaが求められ、式4に傾きaと積分項2に代えて角度変換値2を代入することにより角度変換後の切片bが求められる。切片bが角度誤差学習値であり、角度変換された積分項から切片bを減算した値角度変換値2-角度誤差学習値が角度で表わされた時間誤差学習値である。角度で表わされた時間誤差学習値角度変換値2-角度誤差学習値は、エンジン回転数に基づき次式7で時間に変換される。時間誤差学習値={角度変換値2-角度誤差学習値/360}×60/NE2=角度変換値2-角度誤差学習値/6×NE27このようにして求められた角度誤差学習値および時間誤差学習値に基づいて調量弁30への通電を制御する場合、必要流量にF/B流量を加算した流量指令値を実現するための燃料供給ポンプ20の圧送開始タイミングは、特性マップに設定された理論値であるから変更しない。そこで、流量指令値を実現するために、ECU60は、圧送開始タイミングに対し、調量弁30の正常時の閉弁応答遅れ時間である基準応答遅れ時間分だけ早めたタイミングを通電開始タイミングとし、通電開始タイミングを角度誤差学習値で補正する。また、ECU60は、基準応答遅れ時間をエンジン回転数に応じた時間誤差学習値で補正することにより、通電開始タイミングを補正する。学習処理次に、調量弁30に対する制御指令値である通電開始タイミングの学習処理について、図5のフローチャートに基づいて説明する。図5のフローチャートは常時実行される。ECU60は、S400において、下記のいずれかの条件が成立すると学習タイミングであると判定する。1燃料供給ポンプ20の経時劣化を想定し、前回からの走行距離が所定距離に達したか、あるいは燃料供給ポンプ20の駆動回数が所定回数に達した。2F/B積分項が所定値以上に達したために、燃料供給ポンプ20が実際に劣化していると考えられる。3初期学習のために、外部ツールから学習要求がある。学習タイミングであればS400:Yes、ECU60は、学習のためのデータ取得条件が成立しているか否かを判定するS402。ECU60は、下記の条件がすべて成立している場合、データ取得条件が成していると判定する。1今回、車両の電源をオンしてからまだ学習を実行していない。2車両の運転状態が以下に示す条件をすべて満たしている学習可能状態である。a暖機済み水温≧所定温度b始動終了c電源オンd燃料供給ポンプ20、圧力センサ42、エンジン回転数センサ等の学習関連装置が正常。3コモンレール圧が目標コモンレール圧に適切に追従している。|目標コモンレール圧-実コモンレール圧|≦所定値4上記1~3のデータ取得条件が所定回数以上成立。データ取得条件が成立するとS402:Yes、ECU60は、前回、データ取得条件が不成立であったか否かを判定するS404。今回、データ取得条件が成立しS402:Yes、前回、データ取得条件が不成立であった場合S404:Yes、ECU60は後述する積算データ等の学習用のデータを以下に示すように設定して初期化しS424、本処理を終了する。データを初期化するときにも、今回のデータの取得条件は成立しているので、データ取得の1回目の初期値として、今回取得したデータを設定する。1コモンレール圧積算値=コモンレール圧2エンジン回転数積算値=エンジン回転数3燃料噴射量積算値=燃料噴射量4F/B積分項積算値=F/B積分項5流量指令値積算値=流量指令値6積算回数=17MAX値、MIN値の初期化aコモンレール圧MAX値/MIN値=コモンレール圧bエンジン回転数MAX値/MIN値=エンジン回転数c燃料噴射量MAX値/MIN値=燃料噴射量dF/B積分項MAX値/MIN値=F/B積分項前回、データ取得条件が成立しS404:Yes、燃料供給ポンプ20に対する流量指令値が0より大きく燃料供給ポンプ20を駆動している場合S406:Yes、ECU60は、以下に示すデータ積算処理を実行するS408。1コモンレール圧積算値=コモンレール圧積算値コモンレール圧2エンジン回転数積算値=エンジン回転数積算値エンジン回転数3燃料噴射量積算値=燃料噴射量積算値燃料噴射量4F/B積分項積算値=F/B積分項積算値F/B積分項5流量指令値積算値=流量指令値積算値流量指令値6積算回数=積算回数17MAX値の更新aコモンレール圧MAX値=MAXコモンレール圧、コモンレール圧MAX値bエンジン回転数MAX値=MAXエンジン回転数、エンジン回転数MAX値c燃料噴射量MAX値=MAX燃料噴射量、燃料噴射量MAX値dF/B積分項MAX値=MAXF/B積分項、F/B積分項MAX値8MIN値の更新aコモンレール圧MIN値=MINコモンレール圧、コモンレール圧MIN値bエンジン回転数MAX値=MINエンジン回転数、エンジン回転数MIN値c燃料噴射量MAX値=MIN燃料噴射量、燃料噴射量MIN値dF/B積分項MIN値=MINF/B積分項、F/B積分項MIN値次に、ECU60は、S408で実行するデータ積算処理の対象となるデータについて、以下の条件がすべて成立し、データが安定しているか否かを判定するS410。1コモンレール圧MAX値-コモンレール圧MIN値≦圧力安定判定値2エンジン回転数MAX値-エンジン回転数MIN値≦回転数安定判定値3燃料噴射量MAX値-燃料噴射量MIN値≦噴射量安定判定値4F/B積分項MAX値-F/B積分項MIN値≦F/B積分項安定判定値データが安定していない場合S410:No、ECU60は前述したデータ初期化処理を実行しS424、本処理を終了する。データが安定しておりS410:Yes、データ積算回数が所定回数以上の場合S412:Yes、ECU60は、以下に示す取得したデータの平均値を算出して記憶するS414。尚、データ計測ばらつき、装置の駆動毎の作動ばらつき等により取得したデータのばらつきがあっても、平均化によりばらつきを解消できるように所定回数を設定しておく。1コモンレール圧平均値[n]=コモンレール圧積算値/積算回数2エンジン回転数平均値[n]=エンジン回転数平均値/積算回数3燃料噴射量平均値[n]=燃料噴射量積算値/積算回数4F/B積分項平均値[n]=F/B積分項積算値/積算回数5流量指令値平均値[n]=流量指令値積算値/積算回数ここで、各パラメータの添え字[n]は、データの平均値を記憶しておくための配列のインデックスを表わしており0から開始され、S414を実行する毎に1される。nの値が配列数以上になると0に戻り、前に記憶されたデータが更新される。配列に代えて、エンジン回転数およびコモンレール圧等の運転条件により領域を区切り、平均値を算出したデータを該当する領域に記憶してもよい。この記憶方式では、同じ領域のデータが何回更新されても、他の領域のデータは更新されない。ただし、運転条件が増加するとデータを記憶する領域数が増加するので、データの記憶容量が増加する。ここで、運転条件が変化してもF/B積分項等の記憶対象の値が大きく変化しない場合には、該当する運転条件に応じて異なる領域に記憶される記憶対象の平均値が殆ど変化しないので、領域を区切る対象から該当する運転条件を除外できる。この場合、データを記憶する容量を低減できる。反対に、運転条件に対してデータの変化の感度が高い場合には、領域を細かく区切る必要があるので、記憶容量が増加する。また、S402のデータ取得条件が頻繁に成立すると、配列にデータを記憶する場合には記憶するデータの値があまり変化せず近い値になる可能性が高くなる。式2の算出精度の観点からは、エンジン回転数と積分項との関係を示す式2を算出するために使用する複数のエンジン回転数の差が大きい方が算出精度は高くなる。そこで、データ取得条件の成立頻度に応じて、配列または領域分けのいずれでデータを記憶するかを、予め車両の試走、またはシミュレーション等により判断しておくことが望ましい。配列または領域にデータを記憶すると、ECU60は、S402で判定する継続回数をS414においてクリアする。これにより、次回のS402の判定でデータ取得条件が不成立になるので、S424のデータの初期化処理が実行される。S414でデータを記憶し継続回数をクリアすると、ECU60は学習値の算出条件が成立しているか否かを判定するS416。判定は、1配列、または、2領域に記憶する場合のそれぞれにおいて、下記の条件に基づいてなされる。下記の1または2に示す条件を満たすデータが、図4のAの算出方法の場合には2個、図4のBの算出方法では3個以上選択できる場合、S416の学習値算出条件が成立すると判定する。1配列に記憶する場合aコモンレール圧の偏差が所定圧力偏差以下|コモンレール圧平均値[n1]-コモンレール圧平均値[n2]|≦所定圧力偏差bエンジン回転数の偏差が所定回転数偏差以上|エンジン回転数平均値[n1]-エンジン回転数平均値[n2]|≧所定回転数偏差c燃料噴射量の偏差が所定噴射量偏差以下|燃料噴射量平均値[n1]-燃料噴射量平均値[n2]|≦所定噴射量偏差2領域に記憶する場合エンジン回転数とコモンレール圧とで領域を分けた場合を例示する。aコモンレール圧の偏差が小さい次のb、cの条件でデータを選択するときに、コモンレール圧の偏差が小さい、つまりコモンレール圧の同じ圧力範囲の領域に記憶されているデータを採用する。bエンジン回転数の偏差が大きいエンジン回転数の領域が異なるデータを選択する。尚、隣接している領域同士ではエンジン回転数平均値の偏差が小さいので、次の条件のいずれかが成立する場合にエンジン回転数の偏差が大きいと判断してもよい。間に1個以上の領域を挟んでいる|エンジン回転数平均値[n1]-エンジン回転数平均値[n2]|≧所定回転数偏差c燃料噴射量の偏差が小さい|燃料噴射量平均値[n1]-燃料噴射量平均値[n2]|≦所定噴射量偏差S416の学習値算出条件が成立する場合S416:Yes、ECU60は、式2~7に基づいて学習値を算出しS418、算出した学習値を反映して、調量弁30の通電開始タイミングを補正するS420。具体的には、以下の1~3の処理を行う。1学習値の反映タイミングと積分項の補正F/B積分項に加えて学習値をそのまま採用すると、F/B積分項および学習値の両方の反映により通電開始タイミングが急変し、圧送量が急変するおそれがある。その結果、コモンレール圧の急変、それに伴うトルク急変により衝撃が発生するおそれがあるので、学習値の反映を調整する必要がある。a学習完了後にすぐ学習値を反映する場合学習値の誤学習、ならびにF/B積分項から学習値への切り換えによる通電開始タイミングの急激な変化を考慮し、F/B積分項による制御をすべて学習値に切り換えることは避ける。したがって、F/B積分項と学習値とを所定の比率で配分して制御する。例えば、F/B積分項を30、学習値を70にする。これにより、通電開始タイミングの急激な変化を抑制し、トルクの急変による衝撃の発生を低減する。b学習完了した車両走行の1トリップ終了時に学習値を反映する場合車両の電源をオンにしてからオフにするまでの車両走行の1トリップ終了時にはエンジンを停止するので、学習値を反映してもトルク急変は生じない。1トリップ終了時に学習値をEEPROMまたはSRAMスタンバイRAM等のトリップが終了してもデータを保持する記憶部に記憶しておくことにより、次回のトリップ開始時に学習値を反映できる。c学習値を徐々に反映する場合F/B積分項に対する学習値の比率を徐々に増加して100まで上昇させる。これにより、トルク変化を抑制できる。2角度誤差学習値の反映先調量弁30の通電開始タイミングを角度誤差学習値で補正する。3時間誤差学習値の反映先調量弁30の基準応答遅れ時間を時間誤差学習値で補正して、通電開始タイミングを補正する。S420で学習値を反映すると、ECU60はS400で判定する学習タイミングの情報をクリアし、学習完了フラグをオンにする。学習完了フラグは、例えば、燃料供給ポンプ20の作動を診断するときの条件として使用される。図5の学習処理のフローチャートにおいて、S408でF/B積分項を取得する処理は本発明のフィードバック制御手段、必要流量決定手段および実流量検出手段が実行する機能に相当し、S410の処理は本発明の判定手段が実行する機能に相当し、S418の処理は本発明の学習手段が実行する機能に相当し、S420の処理は本発明の補正手段が実行する機能に相当する。そして、ECU60は、フィードバック制御手段、必要流量決定手段、実流量検出手段、学習手段、補正手段および判定手段として機能する。また、本実施形態では、調量弁30への通電開始タイミングが本発明の調量弁に対する制御指令値に相当する。補正処理図6に、図5のS420において学習値を反映して調量弁30の通電開始タイミングを補正する具体的な補正処理のフローチャートを示す。ECU60は、図5のS420で設定した比率のF/B積分項で燃料供給ポンプ20から圧送する流量指令値を算出しS430、マップにより流量指令値から燃料供給ポンプ20の圧送開始タイミングを取得するS432。次に、ECU60は、調量弁30の基準応答遅れ時間に図5のS420で設定した比率の時間誤差学習値を加算して閉弁応答遅れ時間を算出する。ECU60は、調量弁30の通電開始タイミングをクランク角度に基づいて制御するので、閉弁応答遅れ時間を角度に変換するS434。さらに、ECU60は、圧送開始タイミングに、S434で閉弁応答遅れ時間を角度に変換した値と、図5のS420で設定した比率の角度誤差学習値とを加算することにより、圧送開始タイミングに基準応答遅れ時間を加算した通電開始タイミングを補正して、調量弁30への通電を開始して調量弁30を閉弁する通電開始タイミングを算出するS436。次に、ECU60は、調量弁30の閉弁応答遅れ時間ばらつきを吸収する余裕度を考慮して、調量弁30への通電を開始してから調量弁30が確実に閉弁し通電をオフできるまでの通電期間を算出しS438、S436で算出した通電開始タイミングとS438で算出した通電期間とにより、調量弁30の開閉を制御する駆動信号を出力するS440。図6の補正処理のフローチャートにおいて、S430~S440の処理は本発明の補正手段が実行する機能に相当する。以上説明した上記実施形態では、フィードバック制御の積分項が表わす圧送量の誤差を、エンジン回転数に関わらずに変化しない角度誤差と、エンジン回転数に応じて変化する時間誤差とに分離して通電開始タイミングを学習するので、コモンレール圧を目標圧力とするための調量弁30への通電開始タイミングを、エンジン回転数に対応して高精度に学習できる。そして、学習値により調量弁30に対する通電開始タイミングを補正することにより、エンジン回転数に関わらず、コモンレール圧を目標圧力とするための圧送量を高精度に調量し、目標圧力に対するコモンレール圧の追従性が向上する。また、積分項がエンジン回転数に対して一次式で表わされるので、エンジン回転数のすべての領域で学習する必要がなく、エンジン回転数と積分値とを複数のポイントで計測することにより一次式を容易に求めることができる。これにより、積分項が表わす角度誤差および時間誤差を容易に求めることができる。また、積分項およびエンジン回転数の変動が小さく、エンジン運転状態が安定しているときに通電開始タイミングを学習するので、通電開始タイミングの誤学習を防止し、通電開始タイミングを高精度に学習できる。また、本実施形態では、目標圧力と実圧力との圧力偏差が発生すると、圧力偏差に基づいて調量弁30の通電開始タイミングを直接制御するのではなく、コモンレール圧を目標圧力とするための必要流量を決定し、必要流量と実流量との差分から決定されたF/B流量に基づいて調量弁30の通電開始タイミングを制御するので、目標圧力に対してコモンレール圧がオーバシュートまたはハンチングすることを防止し、コモンレール圧を目標圧力に精度よく追従させることができる。[他の実施形態]本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。例えば、上記実施形態では、必要流量と実流量との差分に基づいて、コモンレール圧を目標圧力とするためのF/B流量を算出し、F/B流量の積分項を角度誤差と時間誤差とに分離して学習し、必要流量にF/B流量を加えた流量の燃料が燃料供給ポンプ20から圧送されるように調量弁30の通電開始タイミングを制御した。これに対し、必要流量と実流量との差分に基づいて、コモンレール圧を目標圧力とするためのF/B量を角度で直接求めてもよい。また、必要流量と実流量との差分ではなく、目標圧力と実圧力との圧力偏差に基づいて、コモンレール圧を目標圧力とするためのF/B量を流量または角度で算出してもよい。上記実施形態では、フィードバック制御手段、学習手段、補正手段、判定手段、必要流量決定手段および実流量検出手段の機能を、制御プログラムにより機能が特定されるECU60により実現している。これに対し、上記複数の手段の機能の少なくとも一部を、回路構成自体で機能が特定されるハードウェアで実現してもよい。"