"内燃機関のクランク軸に対するカム軸の回転位相以下VCT位相というを変化させてバルブタイミングを調整する油圧駆動式の可変バルブタイミング装置と、VCT位相をその調整可能範囲内に位置する中間ロック位相でロックするロックピンと、前記可変バルブタイミング装置及び前記ロックピンを駆動する油圧を制御する油圧制御弁と、所定の保持制御量学習実行条件が成立しているときにVCT位相を一定に保持するのに必要な保持制御量を学習する通常の保持制御量学習を実行する保持制御量学習手段とを備え、前記保持制御量の学習値に基づいて前記油圧制御弁を制御してVCT位相を制御する内燃機関の可変バルブタイミング制御装置において、ロック要求が発生したときにVCT位相を一旦前記中間ロック位相を所定量だけ通り越したロック前位相まで移動させるロック前位相制御を行ってから前記中間ロック位相へ向けて戻しながら前記ロックピンを突出させるロックピン突出制御を行って前記ロックピンによりVCT位相を前記中間ロック位相でロックするように制御するロック制御手段を備え、前記ロック制御手段は、前記ロック前位相制御中に前記保持制御量の学習値を補正する保持制御量学習値補正を実行し、この保持制御量学習値補正により補正された保持制御量の学習値に基づいて前記油圧制御弁を制御することを特徴とする内燃機関の可変バルブタイミング制御装置。前記ロック制御手段は、前記ロック前位相制御中に前記通常の保持制御量学習よりも早く前記保持制御量を学習できる条件に変更して前記保持制御量を学習することで前記保持制御量学習値補正を行うことを特徴とする請求項1に記載の内燃機関の可変バルブタイミング制御装置。前記ロック制御手段は、前記ロック前位相制御中にVCT位相が前記ロック前位相に近付く方向に前記保持制御量の学習値を更新することで前記保持制御量学習値補正を行うことを特徴とする請求項1に記載の内燃機関の可変バルブタイミング制御装置。前記ロック制御手段は、前記ロック前位相制御の実行時間が所定の判定時間を越えた場合に前記保持制御量学習値補正を実行することを特徴とする請求項1乃至3のいずれかに記載の内燃機関の可変バルブタイミング制御装置。所定の位相制御実行条件が成立しているときにVCT位相を運転条件に応じて設定した目標VCT位相に一致させるように前記油圧制御弁を制御する通常の位相制御を実行するVCT位相制御手段を備え、前記ロック制御手段は、前記ロック前位相制御を行う際に、前記油圧制御弁の制御量を前記通常の位相制御時とは異なる制御量に設定することを特徴とする請求項1乃至4のいずれかに記載の内燃機関の可変バルブタイミング制御装置。所定の位相制御実行条件が成立しているときにVCT位相を運転条件に応じて設定した目標VCT位相に一致させるように前記油圧制御弁を制御する通常の位相制御を実行するVCT位相制御手段を備え、前記ロック制御手段は、前記ロック前位相制御中に前記保持制御量学習値補正により補正された保持制御量の学習値を前記通常の位相制御には反映させないことを特徴とする請求項1乃至5のいずれかに記載の内燃機関の可変バルブタイミング制御装置。本出願人は、ロック要求が発生したときにVCT位相を確実に中間ロック位相でロックさせるために、ロック要求が発生したときにVCT位相を一旦中間ロック位相を所定量だけ通り越したロック前位相目標位相まで移動させるロック前位相制御ロック要求時の位相制御を行ってから、VCT位相を中間ロック位相へ向けて戻しながらロックピンを突出させるロックピン突出制御を行ってロックピンによりVCT位相を中間ロック位相でロックするロック制御技術を研究開発している特願2009-178292。ところで、図6に示すように、ロック要求の発生に伴ってロック前位相制御を行う際に、保持制御量保持デューティの学習値のずれが大きいと、VCT位相をロック前位相に精度良く制御することができず、VCT位相がロック前位相からずれた位置に収束してしまう可能性がある。このような場合、その後、通常の保持制御量学習により保持制御量の学習が実行されて保持制御量の学習値が補正されると、VCT位相をロック前位相に精度良く制御できるようになって、VCT位相がロック前位相に到達する。しかし、この場合、ロック要求発生からVCT位相がロック前位相に到達するまでの時間ロック前位相制御の実行時間が長くなるため、その分、ロックピン突出制御の開始時期が遅れて、ロック完了までの時間VCT位相を中間ロック位相でロックするまでの時間が長くなるという問題がある。そこで、本発明が解決しようとする課題は、ロック要求時に保持制御量の学習値がずれていた場合にロック完了までの時間が長くなることを抑制することができる内燃機関の可変バルブタイミング制御装置を提供することにある。上記課題を解決するために、請求項1に係る発明は、内燃機関のクランク軸に対するカム軸の回転位相以下VCT位相というを変化させてバルブタイミングを調整する油圧駆動式の可変バルブタイミング装置と、VCT位相をその調整可能範囲内に位置する中間ロック位相でロックするロックピンと、可変バルブタイミング装置及びロックピンを駆動する油圧を制御する油圧制御弁と、所定の保持制御量学習実行条件が成立しているときにVCT位相を一定に保持するのに必要な保持制御量を学習する通常の保持制御量学習を実行する保持制御量学習手段とを備え、保持制御量の学習値に基づいて油圧制御弁を制御してVCT位相を制御する内燃機関の可変バルブタイミング制御装置において、ロック要求が発生したときにVCT位相を一旦中間ロック位相を所定量だけ通り越したロック前位相まで移動させるロック前位相制御を行ってから中間ロック位相へ向けて戻しながらロックピンを突出させるロックピン突出制御を行ってロックピンによりVCT位相を中間ロック位相でロックするように制御するロック制御手段を備え、ロック制御手段は、ロック前位相制御中に保持制御量の学習値を補正する保持制御量学習値補正を実行し、この保持制御量学習値補正により補正された保持制御量の学習値に基づいて油圧制御弁を制御するようにしたものである。この構成では、ロック要求の発生に伴ってロック前位相制御を行う際に保持制御量の学習値がずれていた場合でも、ロック前位相制御中に保持制御量の学習値を補正する保持制御量学習値補正を実行することで、通常の保持制御量学習よりも早く保持制御量の学習値を補正することができ、この保持制御量学習値補正により補正された保持制御量の学習値に基づいて油圧制御弁を制御することで、ロック要求発生からVCT位相がロック前位相に到達するまでの時間ロック前位相制御の実行時間が長くなることを抑制することができる。これにより、ロックピン突出制御の開始時期の遅れを少なくすることができ、ロック完了までの時間VCT位相を中間ロック位相でロックするまでの時間が長くなることを抑制することができる。ロック前位相制御中は、目標位相への収束精度が通常の位相制御中と同レベルまでは要求されないため、保持制御量の学習精度も通常の位相制御中と同レベルまでは要求されない。そこで、請求項2のように、ロック前位相制御中に通常の保持制御量学習よりも早く保持制御量を学習できる条件に変更して保持制御量を学習することで保持制御量学習値補正を行うようにしても良い。このようにすれば、保持制御量の学習精度よりも保持制御量を早く学習することを優先して、通常の保持制御量学習よりも早く保持制御量を学習できる条件に変更して保持制御量を学習することで、保持制御量の学習値を補正する保持制御量学習値補正を行うことができ、通常の保持制御量学習よりも早く保持制御量の学習値を補正することができる。或は、請求項3のように、ロック前位相制御中にVCT位相がロック前位相に近付く方向に保持制御量の学習値を更新することで保持制御量学習値補正を行うようにしても良い。このようにすれば、保持制御量学習実行条件が成立する前からVCT位相がロック前位相に近付く方向に保持制御量の学習値を更新することで、保持制御量の学習値を補正する保持制御量学習値補正を行うことができ、より早く保持制御量の学習値を補正することが可能となる。ところで、保持制御量の学習値が正常保持制御量の学習値のずれが小さい状態であるにも拘らず、保持制御量学習値補正を実行すると、かえってVCT位相のロック前位相への収束性が悪化してしまう可能性がある。そこで、請求項4のように、ロック前位相制御の実行時間が所定の判定時間を越えた場合に保持制御量学習値補正を実行するようにしても良い。つまり、ロック前位相制御の実行時間が判定時間以内のときには、保持制御量の学習値が正常保持制御量の学習値のずれが小さい状態である可能性があるため、保持制御量学習値補正を実行しないが、ロック前位相制御の実行時間が判定時間を越えた場合つまりロック前位相制御を開始してから所定時間以内にVCT位相がロック前位相に到達しなかった場合には、保持制御量の学習値のずれが大きいと判断して、保持制御量学習値補正を実行する。これにより、保持制御量の学習値が正常であるにも拘らず、保持制御量学習値補正を実行することを防止でき、保持制御量学習値補正によりVCT位相のロック前位相への収束性が悪化してしまうといった事態を回避することができる。また、所定の位相制御実行条件が成立しているときにVCT位相を運転条件に応じて設定した目標VCT位相に一致させるように油圧制御弁を制御する通常の位相制御を実行するシステムでは、通常の位相制御と同じ応答性でロック前位相制御を行うと、VCT位相をロック前位相まで移動させるのに時間がかかってしまい、ロック完了までの時間が長くなってしまう。そこで、請求項5のように、ロック前位相制御を行う際に、油圧制御弁の制御量を通常の位相制御時とは異なる制御量に設定するようにしても良い。このようにすれば、ロック前位相制御の応答性を速めてロック完了までの時間を短縮することが可能となる。また、ロック前位相制御中に保持制御量学習値補正により補正された保持制御量の学習値は、学習精度が低下している可能性があるため、そのまま通常の位相制御に反映させると、通常の位相制御の位相制御精度が悪化してしまう可能性がある。そこで、請求項6のように、ロック前位相制御中に保持制御量学習値補正により補正された保持制御量の学習値を通常の位相制御には反映させないようにしても良い。このようにすれば、ロック前位相制御中に保持制御量学習値補正により補正された保持制御量の学習値によって通常の位相制御の位相制御精度が悪化してしまうことを防止することができる。以下、本発明を実施するための形態を具体化した幾つかの実施例を説明する。本発明の実施例1を図1乃至図9に基づいて説明する。図1に示すように、内燃機関であるエンジン11は、クランク軸12からの動力がタイミングチェーン13により各スプロケット14,15を介して吸気側カム軸16と排気側カム軸17とに伝達されるようになっている。但し、吸気側カム軸16には、クランク軸12に対する吸気側カム軸16の進角量VCT位相を調整する可変バルブタイミング装置18VCTが設けられている。また、吸気側カム軸16の外周側には、気筒判別のために特定のカム角でカム角信号のパルスを出力するカム角センサ19が設置され、一方、クランク軸12の外周側には、所定クランク角毎にクランク角信号のパルスを出力するクランク角センサ20が設置されている。これらカム角センサ19及びクランク角センサ20の出力信号は、エンジン制御回路21に入力される。このエンジン制御回路21は、カム角センサ19とクランク角センサ20の出力信号パルスの位相差に基づいて吸気バルブの実バルブタイミング実VCT位相を演算すると共に、クランク角センサ20の出力パルスの周波数パルス間隔に基づいてエンジン回転速度を演算する。その他、エンジン運転状態を検出する各種センサ吸気圧センサ22、冷却水温センサ23、スロットルセンサ24等の出力信号がエンジン制御回路21に入力される。このエンジン制御回路21は、上記各種センサで検出したエンジン運転状態に応じて燃料噴射制御や点火制御を行うと共に、可変バルブタイミング制御位相フィードバック制御を行い、吸気バルブの実バルブタイミング実VCT位相を、エンジン運転状態に応じて設定した目標バルブタイミング目標VCT位相に一致させるように可変バルブタイミング装置18を駆動する油圧をフィードバック制御する。次に、図2乃至図4に基づいて可変バルブタイミング装置18の構成を説明する。可変バルブタイミング装置18のハウジング31は、吸気側カム軸16の外周に回動自在に支持されたスプロケット14にボルト32で締め付け固定されている。これにより、クランク軸12の回転がタイミングチェーン13を介してスプロケット14とハウジング31に伝達され、スプロケット14とハウジング31がクランク軸12と同期して回転する。一方、吸気側カム軸16の一端部には、ロータ35がボルト37で締め付け固定されている。このロータ35は、ハウジング31内に相対回動自在に収納されている。図3に示すように、ハウジング31の内部には、複数のベーン収容室40が形成され、各ベーン収容室40が、ロータ35の外周部に形成されたベーン41によって進角室42と遅角室43とに区画されている。少なくとも1つのベーン41の両側部には、ハウジング31に対するロータ35ベーン41の相対回動範囲を規制するストッパ部56が形成され、このストッパ部56によって実VCT位相カム軸位相の調整可能範囲の最遅角位相と最進角位相が規制されている。可変バルブタイミング装置18には、VCT位相をその調整可能範囲の最遅角位相と最進角位相との間例えば略中間に位置する中間ロック位相でロックする中間ロック機構50が設けられている。この中間ロック機構50の構成を説明すると、いずれか1つ又は複数のベーン41にロックピン収容孔57が設けられ、このロックピン収容孔57に、ハウジング31とロータ35ベーン41との相対回動をロックするためのロックピン58が突出可能に収容され、このロックピン58がスプロケット14側に突出してスプロケット14のロック穴59図4参照に嵌り込むことで、VCT位相がその調整可能範囲の略中間に位置する中間ロック位相でロックされる。この中間ロック位相は、エンジン11の始動に適した位相に設定されている。尚、ロック穴59をハウジング31に設けた構成としても良い。図4に示すように、ロックピン58は、スプリング62によってロック方向突出方向に付勢されている。また、ロックピン58の外周部とロックピン収容孔57との間には、ロックピン58をロック解除方向に駆動する油圧を制御するためのロック解除用の油圧室が形成されている。本実施例1では、ロックピン58は、中間ロック位相より遅角側で制御するVCT位相が不用意に中間ロック位相を越えて進角側に移動することを阻止する進角制限ピンとしても機能し、ロック穴59と連続して、該ロック穴59よりも浅底の進角制限溝63が最遅角位相の近くの所定位相Cまで延びるように形成され、ロックピン58進角制限ピンが進角制限溝63に嵌まり込むことで、中間ロック位相より遅角側で制御するVCT位相の範囲が中間ロック位相から最遅角位相の近くの所定位相Cまでの範囲に制限されるようになっている。目標位相が上記所定位相Cを超えて最遅角位相側に設定された場合は、油圧によりロックピン58進角制限ピンを進角制限溝63から抜き出すことで、VCT位相を最遅角位相側に移動できるようにする。また、目標位相が中間ロック位相よりも進角側に設定された場合は、油圧によりロックピン58進角制限ピンをロック穴59から完全に抜き出して、VCT位相が中間ロック位相より進角側に移動できるようにする。同様に、進角側で制御するVCT位相が不用意に遅角側に移動することを阻止する遅角制限ピン64と例えば2段の遅角制限溝65a,65bが設けられ、スプリング66によって遅角制限ピン64がいずれかの遅角制限溝65a,65bに嵌まり込むことで、進角側で制御するVCT位相の範囲が例えば2段階に制限されるようになっている。尚、2段の遅角制限溝65a,65bのうちの一方を省いて1段のみの遅角制限溝としても良いし、3段以上の遅角制限溝としても良い。また、進角制限溝63と遅角制限溝65a,65bと遅角制限ピン64を省いた構成としても良い。図4の構成例では、遅角制限溝65a,65bが最進角位相から中間ロック位相を超えて遅角側の所定位相B,Aまで延びているため、中間ロック位相では、ロックピン58進角制限ピンと遅角制限ピン64がそれぞれロック穴59と2段目溝が深い方の遅角制限溝65bに嵌まり込んだ状態となる。また、図2に示すように、ハウジング31には、進角制御時にロータ35を進角方向に相対回動させる油圧をばね力で補助アシストする付勢手段としてねじりコイルばね等のばね55が設けられている。吸気バルブの可変バルブタイミング装置18では、吸気側カム軸16のトルクがVCT位相を遅角させる方向に作用することから、上記ばね55は、VCT位相を吸気側カム軸16のトルク方向と反対方向である進角方向に付勢することになる。本実施例1では、図4に示すように、ばね55の付勢力が作用する範囲は、最遅角位相からほぼ中間ロック位相までの範囲に設定され、エンジンストール等の異常停止後の再始動時のフェールセーフを想定して、ロックピン58がロック穴59から外れた状態で中間ロック位相より遅角側の実VCT位相で始動した場合に、スタータ図示せずによるクランキング中に、ばね55のばね力により実VCT位相を遅角側から中間ロック位相へ進角させる進角動作を補助してロックピン58をロック穴59に嵌まり込ませてロックできるように構成されている。一方、中間ロック位相より進角側の実VCT位相で始動した場合は、クランキング中に吸気側カム軸16のトルクが遅角方向に作用するため、吸気側カム軸16のトルクにより実VCT位相を進角側から中間ロック位相へ遅角させてロックピン58をロック穴59に嵌まり込ませてロックさせることができる。また、本実施例1では、可変バルブタイミング装置18のVCT位相、ロックピン58及び遅角制限ピン64を駆動する油圧を制御する油圧制御弁25は、VCT位相を駆動する油圧を制御する位相制御用の油圧制御弁機能とロックピン58を駆動する油圧を制御するロック制御用の油圧制御弁機能とを一体化した油圧制御弁により構成され、エンジン11の動力によって駆動されるオイルポンプ28により、オイルパン27内のオイル作動油が汲み上げられて油圧制御弁25に供給される。この油圧制御弁25は、例えば8ポート4ポジション型のスプール弁により構成され、図5に示すように、油圧制御弁25の制御デューティ制御量に応じて、ロックモードL1,L2、進角モードA、保持モードH、遅角モードRの4つの制御領域に区分されている。ロックモードL1,L2の制御領域では、ロックピン収容孔57内のロック解除用油圧室へのオイル供給油路を遮断してロックピン収容孔57内のロック解除用油圧室の油圧を抜いて、スプリング62によってロックピン58をロック方向に突出させる。更に、ロックモードL1,L2の制御領域は、ロックピン58を突出させながら進角室42へのオイル供給油路を開放して進角室42にオイルを供給するオイル充填モードL1の制御領域と、ロックピン58を突出させながら進角室42と遅角室43の両方のオイル供給油路を遮断して両室42,43の油圧を保持するロック保持モードL2の制御領域とに区分されている。進角モードAの制御領域では、遅角室43へのオイル供給油路を遮断して、油圧制御弁25の遅角ポートをドレンポートに連通させて遅角室43の油圧を抜いた状態で、油圧制御弁25の制御デューティに応じて、進角室42へのオイル供給油路を開放して、進角室42にオイルを供給して進角室42の油圧を変化させて実VCT位相を進角させる。保持モードHの制御領域では、進角室42と遅角室43の両方のオイル供給油路を遮断して両室42,43の油圧を保持して、実VCT位相が動かないように保持する。遅角モードRの制御領域では、進角室42へのオイル供給油路を遮断して、油圧制御弁25の進角ポートをドレンポートに連通させて進角室42の油圧を抜いた状態で、油圧制御弁25の制御デューティに応じて、遅角室43へのオイル供給油路を開放して、遅角室43にオイルを供給して遅角室43の油圧を変化させて実VCT位相を遅角させる。ロックモードL1,L2以外の制御領域進角モードA、保持モードH、遅角モードRでは、ロックピン収容孔57内のロック解除用油圧室へのオイル供給油路を開放してロック解除用油圧室にオイルを充填してロック解除用油圧室の油圧を上昇させ、その油圧によりロックピン58をロック穴59から抜き出してロックピン58のロックを解除する。尚、本実施例1では、油圧制御弁25の制御デューティが大きくなるに従って、ロックモードL1,L2、進角モードA、保持モードH、遅角モードRの順に制御モードが切り替わるように構成されているが、例えば、油圧制御弁25の制御デューティが大きくなるに従って、遅角モードR、保持モードH、進角モードA、ロックモードL1,L2の順に制御モードが切り替わるように構成したり、或は、遅角モードRと進角モードAの順序を入れ替えて、ロックモードL1,L2、遅角モードR、保持モードH、進角モードAの順に制御モードが切り替わるように構成しても良い。エンジン制御回路21は、特許請求の範囲でいうVCT位相制御手段として機能し、所定の位相制御実行条件が成立しているときに、吸気側カム軸16の実VCT位相吸気バルブの実バルブタイミングを、エンジン運転条件に応じて設定した目標VCT位相目標バルブタイミングに一致させるように油圧制御弁25の制御デューティ制御量を例えばPD制御等によりF/B制御して可変バルブタイミング装置18の進角室42と遅角室43に供給する油圧をF/B制御する。ここで、F/Bはフィードバックを意味する以下、同じ。このVCT位相制御の制御領域は、遅角モードR、保持モードH及び進角モードAの制御領域に跨がっている。以下、位相制御実行条件が成立しているときに実行するF/B制御を通常の位相制御という。更に、エンジン制御回路21は、特許請求の範囲でいう保持制御量学習手段としても機能し、所定の保持デューティ学習実行条件保持制御量学習実行条件が成立しているときに、油圧制御弁25の制御デューティに基づいてVCT位相を一定に保持するのに必要な保持デューティ保持制御量を学習する通常の保持デューティ学習を実行する。この通常の保持デューティ学習では、保持デューティ学習実行条件として、目標VCT位相と実VCT位相との偏差が所定値D以下の状態が所定時間T以上継続という条件が成立しているか否かを判定し、保持デューティ学習実行条件が成立していると判定したときに、その時点の油圧制御弁25の制御デューティを保持デューティとして学習し、その保持デューティの学習値をメモリに更新記憶する。VCT位相のF/B制御中は、保持デューティ学習値にF/B補正量を加算して油圧制御弁25の制御デューティを求める。制御デューティ=保持デューティ学習値F/B補正量また、エンジン制御回路21は、特許請求の範囲でいうロック制御手段として機能し、エンジン11の回転を停止させる際又はアイドル運転中に、ロック要求が発生すると、その時点で、VCT位相を一旦中間ロック位相を所定量だけ通り越したロック前位相まで移動させるロック前位相制御を例えばPD制御等のF/B制御により行ってから、油圧制御弁25の制御デューティをロックモードの制御領域内に設定して、VCT位相を中間ロック位相へ向けて戻しながら、ロックピン58をロック方向である突出方向に付勢するロックピン突出制御を行ってロックピン58によりVCT位相を中間ロック位相でロックするように制御する。ところで、図6に示すように、ロック要求の発生に伴ってロック前位相制御を行う際に、保持デューティ学習値のずれが大きいと、VCT位相をロック前位相に精度良く制御することができず、VCT位相がロック前位相からずれた位置に収束してしまう可能性がある。このような場合、その後、通常の保持デューティ学習により保持デューティの学習が実行されて保持デューティ学習値が補正されると、VCT位相をロック前位相に精度良く制御できるようになって、VCT位相がロック前位相に到達する。しかし、この場合、ロック要求発生からVCT位相がロック前位相に到達するまでの時間ロック前位相制御の実行時間が長くなるため、その分、ロックピン突出制御の開始時期が遅れて、ロック完了までの時間VCT位相を中間ロック位相でロックするまでの時間が長くなるという問題がある。この対策として、エンジン制御回路21は、ロック前位相制御中に保持デューティ学習値を補正する保持デューティ学習値補正保持制御量学習値補正を実行し、この保持デューティ学習値補正により補正された保持デューティ学習値に基づいて油圧制御弁25を制御する。ロック要求の発生に伴ってロック前位相制御を行う際に保持デューティ学習値がずれていた場合でも、ロック前位相制御中に保持デューティ学習値を補正する保持デューティ学習値補正を実行することで、通常の保持デューティ学習よりも早く保持デューティ学習値を補正することができ、この保持デューティ学習値補正により補正された保持デューティ学習値に基づいて油圧制御弁25を制御することで、ロック要求発生からVCT位相がロック前位相に到達するまでの時間ロック前位相制御の実行時間が長くなることを抑制することができる。ロック前位相制御中は、目標位相への収束精度が通常の位相制御中と同レベルまでは要求されないため、保持デューティの学習精度も通常の位相制御中と同レベルまでは要求されない。そこで、本実施例1では、ロック前位相制御中に、保持デューティの学習精度よりも保持デューティを早く学習することを優先して、保持デューティ学習実行条件目標VCT位相と実VCT位相との偏差が所定値D以下の状態が所定時間T以上継続という条件を緩和して、通常の保持デューティ学習よりも早く保持デューティを学習できる条件に変更して保持デューティを学習することで、保持デューティ学習値を補正する保持デューティ学習値補正を行う。この場合、保持デューティ学習実行条件を緩和する方法としては、例えば、保持デューティ学習実行条件の所定値Dを通常値よりも大きくすると共に所定時間Tを通常値よりも短くする。或は、保持デューティ学習実行条件の所定値Dのみを通常値よりも大きくするか又は所定時間Tのみを通常値よりも短くするようにしても良い。また、VCT位相がロック前位相に近付く方向には保持デューティ学習値の補正を許可するが、VCT位相がロック前位相から離れる方向には保持デューティ学習値の補正を禁止する。ところで、保持デューティ学習値が正常保持デューティ学習値のずれが小さい状態であるにも拘らず、保持デューティ学習値補正を実行すると、かえってVCT位相のロック前位相への収束性が悪化してしまう可能性がある。そこで、本実施例1では、ロック前位相制御の実行時間が所定の判定時間を越えた場合に保持デューティ学習値補正を実行する。つまり、ロック前位相制御の実行時間が判定時間以内のときには、保持デューティ学習値が正常保持デューティ学習値のずれが小さい状態である可能性があるため、保持デューティ学習値補正を実行しないが、ロック前位相制御の実行時間が判定時間を越えた場合つまりロック前位相制御を開始してから判定時間以内にVCT位相がロック前位相に到達しなかった場合には、保持デューティ学習値のずれが大きいと判断して、保持デューティ学習値補正を実行する。また、ロック前位相制御中に保持デューティ学習値補正により補正された保持デューティ学習値は、学習精度が低下している可能性があるため、そのまま通常の位相制御に反映させると、通常の位相制御の位相制御精度が悪化してしまう可能性がある。そこで、本実施例1では、ロック前位相制御中に保持デューティ学習値補正により補正された保持デューティ学習値を通常の位相制御には反映させないようにする。以上説明した本実施例1のロック制御は、エンジン制御回路21によって図7及び図8の各ルーチンに従って実行される。以下、これらの各ルーチンの処理内容を説明する。[ロック制御ルーチン]図7に示すロック制御ルーチンは、エンジン制御回路21の電源オン中に所定周期で繰り返し実行される。本ルーチンが起動されると、まず、ステップ101で、ロック要求が発生したか否かを判定し、ロック要求が発生していなければ、以降の処理を行うことなく、本ルーチンを終了する。その後、ロック要求が発生した時点で、上記ステップ101からステップ102に進み、ロック前位相制御を開始する。このロック前位相制御では、VCT位相をロック前位相中間ロック位相を所定量だけ通り越した位相まで移動させるように油圧制御弁25の制御デューティを例えばPD制御等によりF/B制御する。この際、保持デューティ学習値にF/B補正量を加算して油圧制御弁25の制御デューティを求める。この後、ステップ103に進み、ロック前位相制御により実VCT位相がロック前位相に到達したか否かを判定し、実VCT位相がロック前位相に到達するまで、ロック前位相制御を継続する。その後、実VCT位相がロック前位相に到達した時点で、ステップ104に進み、ロックピン突出制御を実行する。このロックピン突出制御では、油圧制御弁25の制御デューティをロックモードの制御領域内に設定して、VCT位相を中間ロック位相へ向けて戻しながら、ロックピン58をロック方向である突出方向に付勢してロックピン58によりVCT位相を中間ロック位相でロックする。[保持デューティ学習値補正ルーチン]図8に示す保持デューティ学習値補正ルーチンは、エンジン制御回路21の電源オン中に所定周期で繰り返し実行される。本ルーチンが起動されると、まず、ステップ201で、ロック前位相制御中であるか否かを判定する。このステップ201で、ロック前位相制御中であると判定された場合には、ステップ202に進み、ロック前位相制御開始後の初回ロック前位相制御開始直後の最初の本ルーチンの起動時であるか否かを判定し、ロック前位相制御開始後の初回であると判定されれば、ステップ203に進み、現在の保持デューティ学習値を補正前の保持デューティ学習値として記憶する。この後、ステップ204に進み、ロック前位相制御の実行時間が所定の判定値を越えたか否かを判定する。ここで、判定時間は、保持デューティ学習値が正常保持デューティ学習値のずれが小さい状態の場合にVCT位相がロック前位相に到達するのに必要な時間に設定されている。このステップ204で、ロック前位相制御の実行時間が判定時間以内であると判定された場合には、保持デューティ学習値が正常保持デューティ学習値のずれが小さい状態である可能性があるため、保持デューティ学習値補正を実行することなく、本ルーチンを終了する。一方、上記ステップ204で、ロック前位相制御の実行時間が判定時間を越えたと判定された場合つまりロック前位相制御を開始してから判定時間以内にVCT位相がロック前位相に到達しなかった場合には、保持デューティ学習値のずれが大きいと判断して、ステップ205に進み、保持デューティ学習値補正を次のようにして実行する。保持デューティ学習実行条件目標VCT位相と実VCT位相との偏差が所定値D以下の状態が所定時間T以上継続という条件を緩和して、通常の保持デューティ学習よりも早く保持デューティを学習できる条件に変更して保持デューティを学習することで、保持デューティ学習値を補正する保持デューティ学習値補正を行う。この場合、保持デューティ学習実行条件を緩和する方法としては、例えば、保持デューティ学習実行条件の所定値Dを通常値よりも大きくすると共に所定時間Tを通常値よりも短くする。或は、保持デューティ学習実行条件の所定値Dのみを通常値よりも大きくするか又は所定時間Tのみを通常値よりも短くするようにしても良い。また、VCT位相がロック前位相に近付く方向には保持デューティ学習値の補正を許可するが、VCT位相がロック前位相から離れる方向には保持デューティ学習値の補正を禁止する。その後、上記ステップ201で、ロック前位相制御中ではないと判定された場合には、ステップ206に進み、ロック前位相制御が終了したか否かを判定し、ロック前位相制御が終了したと判定された時点で、ステップ207に進み、保持デューティ学習実行条件の緩和を終了して、保持デューティ学習実行条件の所定値Dと所定時間Tを両方とも通常値に戻す。この後、ステップ208に進み、ロックピン突出制御によりロック完了したVCT位相を中間ロック位相でロックしたか否かを判定し、ロック完了したと判定された時点で、ステップ209に進み、保持デューティ学習値補正により補正された保持デューティ学習値を補正前の保持デューティ学習値に戻す。これにより、ロック前位相制御中に保持デューティ学習値補正により補正された保持デューティ学習値を通常の位相制御には反映させないようにする。尚、ロック前位相制御が終了したと判定された時点で、保持デューティ学習実行条件の緩和を終了すると共に、保持デューティ学習値を補正前の保持デューティ学習値に戻すようにしても良い。或は、ロック完了したと判定された時点で、保持デューティ学習実行条件の緩和を終了すると共に、保持デューティ学習値を補正前の保持デューティ学習値に戻すようにしても良い。以上説明した本実施例1の保持デューティ学習値補正の実行例を図9のタイムチャートを用いて説明する。まず、ロック要求が発生した時点t1で、ロック前位相制御を開始する。その後、ロック前位相制御の実行時間が判定時間を越えた場合つまりロック前位相制御を開始してから判定時間以内にVCT位相がロック前位相に到達しなかった場合には、その時点t2で、保持デューティ学習実行条件を緩和して、通常の保持デューティ学習よりも早く保持デューティを学習できる条件に変更して保持デューティを学習することで、保持デューティ学習値を補正する保持デューティ学習値補正を行う。これにより、通常の保持デューティ学習よりも早く保持デューティを学習して保持デューティ学習値を補正することができ、この保持デューティ学習値補正により補正された保持デューティ学習値に基づいて油圧制御弁25をの制御デューティを制御することで、ロック要求が発生して時点t1からVCT位相がロック前位相に到達する時点t3までの時間ロック前位相制御の実行時間が長くなることを抑制することができる。その結果、ロックピン突出制御の開始時期の遅れを少なくすることができ、ロック完了までの時間VCT位相を中間ロック位相でロックするまでの時間が長くなることを抑制することができる。また、本実施例1では、ロック前位相制御の実行時間が判定時間以内のときには、保持デューティ学習値が正常保持デューティ学習値のずれが小さい状態である可能性があるため、保持デューティ学習値補正を実行しないが、ロック前位相制御の実行時間が判定時間を越えた場合つまりロック前位相制御を開始してから判定時間以内にVCT位相がロック前位相に到達しなかった場合には、保持デューティ学習値のずれが大きいと判断して、保持デューティ学習値補正を実行する。これにより、保持デューティ学習値が正常であるにも拘らず、保持デューティ学習値補正を実行することを防止でき、保持デューティ学習値補正によりVCT位相のロック前位相への収束性が悪化してしまうといった事態を回避することができる。更に、本実施例1では、ロック完了したと判定された時点又はロック前位相制御が終了したと判定された時点で、保持デューティ学習値補正により補正された保持デューティ学習値を補正前の保持デューティ学習値に戻すことで、ロック前位相制御中に保持デューティ学習値補正により補正された保持デューティ学習値を通常の位相制御には反映させないようにしたので、ロック前位相制御中に保持デューティ学習値補正により補正された保持デューティ学習値によって通常の位相制御の位相制御精度が悪化してしまうことを防止することができる。次に、図10及び図11を用いて本発明の実施例2を説明する。但し、前記実施例1と実質的に同一部分については説明を省略又は簡略化し、主として前記実施例1と異なる部分について説明する。本実施例2では、エンジン制御回路21により後述する図10の保持デューティ学習値補正ルーチンを実行することで、図11に示すように、ロック前位相制御中にVCT位相がロック前位相に近付く方向に保持デューティ学習値を所定時間毎に所定値ずつ更新することで、保持デューティ学習値を補正する保持デューティ学習値補正を行うようにしている。本実施例2で実行する図10のルーチンは、前記実施例1で説明した図8のルーチンのステップ205,207の処理を、それぞれステップ205a,207aの処理に変更したものであり、それ以外の各ステップの処理は図8と同じである。図10の保持デューティ学習値補正ルーチンでは、まず、ロック前位相制御中であるか否かを判定し、ロック前位相制御中であると判定された場合には、ロック前位相制御開始後の初回に、現在の保持デューティ学習値を補正前の保持デューティ学習値として記憶するステップ201~203。この後、ステップ204で、ロック前位相制御の実行時間が所定の判定値を越えたか否かを判定し、ロック前位相制御の実行時間が判定時間を越えたと判定された場合つまりロック前位相制御を開始してから判定時間以内にVCT位相がロック前位相に到達しなかった場合には、保持デューティ学習値のずれが大きいと判断して、ステップ205aに進み、保持デューティ学習値補正を次のようにして実行する。VCT位相がロック前位相に近付く方向に保持デューティ学習値を所定時間a毎に所定値bずつ更新することで、保持デューティ学習値を補正する保持デューティ学習値補正を行う。この場合、現在のVCT位相がロック前位相よりも遅角側の場合には保持デューティ学習値を進角方向に更新する。一方、現在のVCT位相がロック前位相よりも進角側の場合には保持デューティ学習値を遅角方向に更新する。また、所定時間aと所定値bは、それぞれ保持デューティ学習値の更新によりVCT位相のハンチングが生じない範囲内で上限値に設定する。その後、上記ステップ201で、ロック前位相制御中ではないと判定された場合には、ステップ206に進み、ロック前位相制御が終了したか否かを判定し、ロック前位相制御が終了したと判定された時点で、ステップ207aに進み、保持デューティ学習値の更新を終了する。この後、ステップ208に進み、ロックピン突出制御によりロック完了したVCT位相を中間ロック位相でロックしたか否かを判定し、ロック完了したと判定された時点で、ステップ209に進み、保持デューティ学習値補正により補正された保持デューティ学習値を補正前の保持デューティ学習値に戻す。これにより、ロック前位相制御中に保持デューティ学習値補正により補正された保持デューティ学習値を通常の位相制御には反映させないようにする。尚、ロック前位相制御が終了したと判定された時点で、保持デューティ学習値の更新を終了すると共に、保持デューティ学習値を補正前の保持デューティ学習値に戻すようにしても良い。或は、ロック完了したと判定された時点で、保持デューティ学習値の更新を終了すると共に、保持デューティ学習値を補正前の保持デューティ学習値に戻すようにしても良い。以上説明した本実施例2では、図11に示すように、ロック前位相制御中にVCT位相がロック前位相に近付く方向に保持デューティ学習値を更新することで、保持デューティ学習値を補正する保持デューティ学習値補正を行うようにしたので、保持デューティ学習実行条件が成立する前から保持デューティ学習値補正を開始することができ、より早く保持デューティ学習値を補正することが可能となる。次に、図12及び図13を用いて本発明の実施例3を説明する。但し、前記実施例1,2と実質的に同一部分については説明を省略又は簡略化し、主として前記実施例1,2と異なる部分について説明する。本実施例3では、エンジン制御回路21により後述する図12のロック制御ルーチンを実行することで、図13に示すように、ロック前位相制御のゲイン例えば比例項ゲインを通常の位相制御のゲインよりも大きいゲインに設定することで、ロック前位相制御を行う際の油圧制御弁25の制御デューティを通常の位相制御の場合よりもVCT位相の動きを速くする制御デューティに設定するようにしている。本実施例3で実行する図12のルーチンは、前記実施例1で説明した図7のルーチンのステップ102の後に、ステップ102aの処理を追加したものであり、それ以外の各ステップの処理は図7と同じである。図12のロック制御ルーチンでは、まず、ロック要求が発生したか否かを判定し、ロック要求が発生した時点で、ロック前位相制御を開始するステップ101、102。この後、ステップ102aに進み、ロック前位相制御のゲイン例えば比例項ゲインを通常の位相制御のゲインよりも大きいゲインに設定することで、ロック前位相制御を行う際の油圧制御弁25の制御デューティを通常の位相制御の場合よりもVCT位相の動きを速くする制御デューティに設定する。この後、ロック前位相制御により実VCT位相がロック前位相に到達したか否かを判定し、実VCT位相がロック前位相に到達した時点で、ロックピン突出制御を実行するステップ103、104。以上説明した本実施例3では、図13に示すように、ロック前位相制御のゲイン例えば比例項ゲインを通常の位相制御のゲインよりも大きいゲインに設定することで、ロック前位相制御を行う際の油圧制御弁25の制御デューティを通常の位相制御の場合よりもVCT位相の動きを速くする制御デューティに設定するようにしたので、ロック前位相制御の応答性を速めてロック完了までの時間を短縮することが可能となる。尚、上記実施例3では、ロック前位相制御のゲインを通常の位相制御のゲインよりも大きいゲインに設定するようにしたが、これに限定されず、例えば、ロック前位相制御を行う際にロック前位相を狙いの位相よりもVCT位相を加速する方向にオフセットさせるようにしたり、或は、ロック前位相制御のF/B補正量をロック前位相制御の応答性を速める方向に補正するようにしても良い。次に、図14を用いて本発明の実施例4を説明する。上記各実施例1~3では、ロック完了したと判定された時点又はロック前位相制御が終了したと判定された時点で、保持デューティ学習値補正により補正された保持デューティ学習値を補正前の保持デューティ学習値に戻すことで、ロック前位相制御中に保持デューティ学習値補正により補正された保持デューティ学習値を通常の位相制御には反映させないようにしたが、本実施例4では、図14に示すように、通常の保持デューティ学習値とは別に、ロック制御用の保持デューティ学習値を設定することで、ロック前位相制御中に保持デューティ学習値補正により補正された保持デューティ学習値を通常の位相制御には反映させないようにしている。図14に示すように、通常の位相制御中は、通常の保持デューティ学習値に基づいて油圧制御弁25の制御デューティが設定される。この通常の保持デューティ学習値は、通常の位相制御中に実行される通常の保持デューティ学習によって更新される。一方、ロック前位相制御中は、ロック制御用の保持デューティ学習値に基づいて油圧制御弁25の制御デューティが設定される。このロック制御用の保持デューティ学習値は、ロック前位相制御の開始時t1に、通常の保持デューティ学習値と同じ値に設定され、その後、ロック前位相制御中に実行される保持デューティ学習値補正によって補正されて更新される。尚、ロック完了時t3又はロック前位相制御の終了時t2に、ロック制御用の保持デューティ学習値を、通常の保持デューティ学習値と同じ値に戻すようにしても良い。以上説明した本実施例4では、通常の保持デューティ学習値とは別に、ロック制御用の保持デューティ学習値を設定することで、ロック前位相制御中に保持デューティ学習値補正により補正された保持デューティ学習値を通常の位相制御には反映させないようにしたので、ロック前位相制御中に保持デューティ学習値補正により補正された保持デューティ学習値によって通常の位相制御の位相制御精度が悪化してしまうことを防止することができる。尚、本発明は、上記各実施例1~4に限定されず、VCT位相を駆動する油圧を制御するVCT位相制御用の油圧制御弁とロックピン58を駆動する油圧を制御するロック制御用の油圧制御弁とを別々に設けた構成としても良い。また、上記各実施例1~4は、本発明を吸気バルブの可変バルブタイミング装置に適用して具体化した実施例であるが、排気バルブの可変バルブタイミング装置に適用して実施しても良い。その他、本発明は、可変バルブタイミング装置18の構成や油圧制御弁25の構成等を適宜変更しても良い等、要旨を逸脱しない範囲内で種々変更して実施できることは言うまでもない。"