"エンジンのシリンダヘッドに挿通されたバルブ本体と、前記バルブ本体を閉弁方向に付勢するスプリングと、前記シリンダヘッドの外部から前記バルブ本体を動作油で圧することにより、前記スプリングとシリンダ内圧力に抗して前記バルブ本体をシリンダ内にリフトさせる油圧制御室と、前記バルブ本体の実リフト量を検出するリフト量センサと、前記油圧制御室に動作油を導入する開弁用電磁弁と、前記油圧制御室から動作油を排出する閉弁用電磁弁と、前記開弁用電磁弁及び前記閉弁用電磁弁をそれぞれ作動させるドライバと、を備えた弁開閉制御装置において、エンジン状態に基づいてエンジンサイクルごとの開弁タイミングと目標リフト量と閉弁タイミングを生成する目標開閉時期及び開度生成部と、当該エンジンサイクルの開弁タイミングより前記ドライバから前記バルブ本体までの動作遅れ時間前に行われるリフト動作を正ドライブとし、正ドライブ開始のタイミングを算出する正ドライブ開始タイミング算出部と、前記バルブ本体が当該エンジンサイクルの目標リフト量までリフトされるよう正ドライブの時間幅以下、正時間幅というを算出する正ドライブ時間幅算出部と、開弁失敗時に行われるリフト動作を副ドライブとし、副ドライブの開始タイミングを算出する副ドライブ開始タイミング算出部と、副ドライブの時間幅以下、副時間幅というを算出する副ドライブ時間幅算出部と、前記正ドライブ開始タイミングから前記正時間幅まで開弁パルス信号を前記ドライバに出力し、その後、前記動作遅れ時間が経過した時点で、前記リフト量センサで検出された実リフト量がしきい値に満たないときには、開弁失敗と判定して当該エンジンサイクルの前記副ドライブ開始タイミングから前記副時間幅まで副開弁パルス信号を出力し、前記リフト量センサで検出された実リフト量が前記しきい値以上のときには、開弁成功と判定して副開弁パルス信号を出力しない開弁パルス信号出力部と、当該エンジンサイクルの閉弁タイミングより前記ドライバから前記バルブ本体までの動作遅れ時間前である閉弁ドライブ開始タイミングで所定時間幅の閉弁パルス信号を出力する閉弁パルス信号出力部とを備えたことを特徴とする弁開閉制御装置。前記正ドライブ開始タイミング算出部、前記正ドライブ時間幅算出部、前記副ドライブ開始タイミング算出部、前記副ドライブ時間幅算出部に対し、各計算が前記正ドライブ開始タイミングよりも早く終わるように、あらかじめ設定された計算開始タイミングで計算を開始させる計算開始部を備えたことを特徴とする請求項1記載の弁開閉制御装置。当該エンジンサイクルの目標リフト量に基づいて開弁成功失敗のしきい値を設定するしきい値設定部とを備えたことを特徴とする請求項1又は2記載の弁開閉制御装置。図4の弁開閉制御装置401では、動作油の圧力変動、スプリング403の力のバラツキなどが要因となって、吸排気バルブの開弁時に、開弁パルス信号の時間幅として与えられた目標リフト量とリフト量センサ418で検出された実リフト量との間に誤差が生じる。このような誤差があるときは、図6aで示したような目論み通りの開弁ができていないことになる。目標リフト量通りの実リフト量を得るには、実リフト量との誤差に基づいて目標リフト量が補正されるフィードバック制御が行われることが望ましい。しかし、開弁パルス信号が出力されてから、弁が開き始めるバルブ本体402のリフトが始まるまでに、前述した様々の遅延があるため、当該エンジンサイクル内にて実リフト量を目標リフト量にリアルタイムで一致させられない。そこで、本発明者は、当該エンジンサイクルで算出した補正量により、次回以降のエンジンサイクルの目標リフト量開弁パルス信号幅が増減されるフィードバック制御PID制御を行うようにしている。ところが、エンジンが高負荷運転になると、燃焼工程から排気行程において燃焼室の圧力が低負荷運転のときに比べて高くなる。バルブ本体402は、燃焼室圧力に抗してリフトされるため、燃焼室の圧力が高いとうまくリフトできないことがある。具体的には、排気行程における排気バルブの開弁時期に、排気バルブが開き遅れたり、実リフト量が不足して開度が不十分あるいは開弁にまで至らないといった不具合以下、開弁失敗というが生じる。このように実リフト量が不足したとき、前述のフィードバック制御が行われると、次回以降のエンジンサイクルでは目標リフト量が補正によって大きくなり、開弁パルス信号幅が拡がる。したがって、次回以降のエンジンサイクルにおいて燃焼室圧力が前回と同程度であれば実リフト量が目標リフト量に達すること以下、開弁成功というが期待できる。しかし、エンジン状態が変化しているとき、例えば、エンジン負荷が増大しているときは、次回以降のエンジンサイクルにおいて燃焼室圧力が前回よりもさらに高くなるため、再び開弁失敗することもあり得る。実験では、このような実リフト量の不足が複数回のエンジンサイクルに亘ったことがあり、この間、開弁失敗が続いた。しかし、エンジン運転中に排気バルブが連続して開弁失敗すると、性能の悪化やエンジンの損傷につながり、好ましくない。また、この実験の際、複数回のエンジンサイクルに亘り実リフト量の不足が続いたため、前述のフィードバック制御が繰り返されて積分項又は目標リフト量が相当に大きくなっていた。このため、燃焼室圧力が低下に転じて排気バルブが開弁成功したとき、実リフト量が過大となった。そこで、本発明の目的は、上記課題を解決し、開弁が失敗したままエンジンサイクルが終了することが防止される弁開閉制御装置を提供することにある。上記目的を達成するために本発明は、エンジンのシリンダヘッドに挿通されたバルブ本体と、前記バルブ本体を閉弁方向に付勢するスプリングと、前記シリンダヘッドの外部から前記バルブ本体を動作油で圧することにより、前記スプリングとシリンダ内圧力に抗して前記バルブ本体をシリンダ内にリフトさせる油圧制御室と、前記バルブ本体の実リフト量を検出するリフト量センサと、前記油圧制御室に動作油を導入する開弁用電磁弁と、前記油圧制御室から動作油を排出する閉弁用電磁弁と、前記開弁用電磁弁及び前記閉弁用電磁弁をそれぞれ作動させるドライバと、を備えた弁開閉制御装置において、エンジン状態に基づいてエンジンサイクルごとの開弁タイミングと目標リフト量と閉弁タイミングを生成する目標開閉時期及び開度生成部と、当該エンジンサイクルの開弁タイミングより前記ドライバから前記バルブ本体までの動作遅れ時間前に行われるリフト動作を正ドライブとし、正ドライブ開始のタイミングを算出する正ドライブ開始タイミング算出部と、前記バルブ本体が当該エンジンサイクルの目標リフト量までリフトされるよう正ドライブの時間幅以下、正時間幅というを算出する正ドライブ時間幅算出部と、開弁失敗時に行われるリフト動作を副ドライブとし、副ドライブの開始タイミングを算出する副ドライブ開始タイミング算出部と、副ドライブの時間幅以下、副時間幅というを算出する副ドライブ時間幅算出部と、前記正ドライブ開始タイミングから前記正時間幅まで開弁パルス信号を前記ドライバに出力し、その後、前記動作遅れ時間が経過した時点で、前記リフト量センサで検出された実リフト量がしきい値に満たないときには、開弁失敗と判定して当該エンジンサイクルの前記副ドライブ開始タイミングから前記副時間幅まで副開弁パルス信号を出力し、前記リフト量センサで検出された実リフト量が前記しきい値以上のときには、開弁成功と判定して副開弁パルス信号を出力しない開弁パルス信号出力部と、当該エンジンサイクルの閉弁タイミングより前記ドライバから前記バルブ本体までの動作遅れ時間前である閉弁ドライブ開始タイミングで所定時間幅の閉弁パルス信号を出力する閉弁パルス信号出力部とを備えたものである。前記正ドライブ開始タイミング算出部、前記正ドライブ時間幅算出部、前記副ドライブ開始タイミング算出部、前記副ドライブ時間幅算出部に対し、各計算が前記正ドライブ開始タイミングよりも早く終わるように、あらかじめ設定された計算開始タイミングで計算を開始させる計算開始部を備えてもよい。当該エンジンサイクルの目標リフト量に基づいて開弁成功失敗のしきい値を設定するしきい値設定部とを備えてもよい。本発明は次の如き優れた効果を発揮する。1開弁が失敗したままエンジンサイクルが終了することが防止される。以下、本発明の一実施形態を添付図面に基づいて詳述する。図1に示されるように、本発明に係る弁開閉制御装置1は、図4の弁開閉制御装置401に対しハードウェアは同じにしたままでソフトウェアに改良を加えたものである。すなわち、本発明の弁開閉制御装置1は、エンジン状態に基づいてエンジンサイクルごとの開弁タイミングA1以下、変数定数については図2参照と目標リフト量S1と閉弁タイミングA2を生成する目標開閉時期及び開度生成部2と、当該エンジンサイクルの開弁タイミングA1よりドライバ421からバルブ本体402までの動作遅れ時間D1Δ前に行われるリフト動作を正ドライブとし、正ドライブ開始のタイミングtmainを算出する正ドライブ開始タイミング算出部3と、バルブ本体402が当該エンジンサイクルの目標リフト量までリフトされるよう正ドライブの時間幅wmainを算出する正ドライブ時間幅算出部4と、開弁失敗時に行われるリフト動作を副ドライブとし、副ドライブの開始タイミングtsubを算出する副ドライブ開始タイミング算出部5と、副ドライブの時間幅wsubを算出する副ドライブ時間幅算出部6と、正ドライブ開始タイミング算出部3、正ドライブ時間幅算出部4、副ドライブ開始タイミング算出部5、副ドライブ時間幅算出部6に対し、各計算が正ドライブ開始タイミングtmainよりも早く終わるように、あらかじめ設定された計算開始タイミングtcalで計算を開始させる計算開始部7と、当該エンジンサイクルの目標リフト量S1に基づいて開弁成功失敗のしきい値S2を設定するしきい値設定部8と、正ドライブ開始タイミングtmainから正時間幅wmainまで開弁パルス信号をドライバ421に出力し、その後、動作遅れ時間D1Δが経過した時点で、リフト量センサ418で検出された実リフト量がしきい値S2に満たないときには、開弁失敗と判定して当該エンジンサイクルの副ドライブ開始タイミングtsubから副時間幅wsubまで副開弁パルス信号を出力し、リフト量センサ418で検出された実リフト量がしきい値S2以上のときには、開弁成功と判定して副開弁パルス信号を出力しない開弁パルス信号出力部9と、当該エンジンサイクルの閉弁タイミングA2よりドライバ421からバルブ本体402までの動作遅れ時間D3前である閉弁ドライブ開始タイミングtcloseで所定時間幅の閉弁パルス信号を出力する閉弁パルス信号出力部10とを備える。目標開閉時期及び開度生成部2、正ドライブ開始タイミング算出部3、正ドライブ時間幅算出部4、副ドライブ開始タイミング算出部5、副ドライブ時間幅算出部6、計算開始部7、しきい値設定部8、開弁パルス信号出力部9、閉弁パルス信号出力部10は、ECM420にソフトウェアとして設けられる。ECM420は、あらかじめ書き込まれたプログラムに従い、エンジン状態に最適な開閉時期及びリフト量の最適値を求め、その最適値に基づいて開弁パルス信号及び閉弁パルス信号を生成するものである。なお、エンジン状態を表すエンジンパラメータは、エンジンの燃料噴射制御を行う燃料噴射ECM、変速制御を行う変速ECM、車両の各部を制御する車両ECMなど、他のECMと共通に用いられる公知のものである。開閉時期及びリフト量の最適値とは、それぞれのエンジン状態において排気ガス性能、燃費性能、トルク性能などのエンジン性能を最も高めることのできる開閉時期及びリフト量のことである。ECM420では、本発明の制御と並行して、当該エンジンサイクルでの目標リフト量と実リフト量の誤差に基づいて算出された補正量により、次回以降のエンジンサイクルの目標リフト量開弁パルス信号幅が増減されるフィードバック制御が行われるのが好ましい。以下、本発明の弁開閉制御装置1の動作を図1~3により説明する。図2は、開弁成功時のタイミングチャートであり、図3は、開弁失敗時のタイミングチャートである。下段にはECM420の閉弁パルス信号出力部10からドライバ421に出力される閉弁パルス信号の波形、中段には、開弁パルス信号出力部9からドライバ421に出力される開弁パルス信号の波形、上段にはリフト量センサ418で検出された実リフト量の波形がそれぞれ示される。弁開閉制御装置1では、目標開閉時期及び開度生成部2がエンジン状態に基づいてエンジンサイクルごとの開弁タイミングA1と目標リフト量S1と閉弁タイミングA2を生成する。次いで、計算開始部7は、正ドライブ開始タイミング算出部3、正ドライブ時間幅算出部4、副ドライブ開始タイミング算出部5、副ドライブ時間幅算出部6に対し、各計算が正ドライブ開始タイミングtmainよりも早く終わるように、あらかじめ設定された計算開始タイミングtcalで計算を開始させる。計算開始タイミングtcalは、正ドライブ開始タイミングtmainが早い時間となるようなエンジン状態であっても計算が間に合うよう実験等により十分早い時間に設定されるものとする。次いで、正ドライブ開始タイミング算出部3、正ドライブ時間幅算出部4、副ドライブ開始タイミング算出部5、副ドライブ時間幅算出部6は、それぞれの計算を開始する。しきい値設定部8の計算もこのとき行われるとよい。すなわち、正ドライブ開始タイミング算出部3は、当該エンジンサイクルの開弁タイミングA1よりドライバ421からバルブ本体402までの動作遅れ時間D1Δ前である正ドライブ開始のタイミングtmainを算出する。ここで、D1はドライバ421に入力される開弁パルス信号が立ち上がってからバルブ本体402がリフト開始するまでの時間、Δはバルブ本体402がリフト開始から開弁成功と見なせるまでリフトする時間を見込んだマージンである。正ドライブ開始タイミング算出部3では、これらD1、Δは前述した遅延関係式により計算される。これと同時に、正ドライブ時間幅算出部4は、バルブ本体402が当該エンジンサイクルの目標リフト量S1までリフトされるよう正ドライブの時間幅wmainを算出する。算出方法は、図6a~図6cで説明した原理に従う。副ドライブ開始タイミング算出部5は、開弁失敗時に行われるリフト動作を副ドライブとし、副ドライブの開始タイミングtsubを算出し、副ドライブ時間幅算出部6は、副ドライブの時間幅wsubを算出する。副ドライブの開始タイミングtsubは、開弁成功失敗を判定するタイミングの直後であることが好ましい。副ドライブの時間幅wsubは、正ドライブの時間幅wmainよりも少ないことが好ましい。副ドライブの時間幅wsubの算出方法は、正ドライブの時間幅wmainの算出方法と同様、図6a~図6cで説明した原理に従うが、副ドライブのときには、既に正ドライブによって油圧制御室404に動作油が導入されていること、及び副ドライブによる実リフト量が目標リフト量S1より過大にならないのが望ましいことから、副時間幅wsubが正時間幅wmainより短くなるよう、実験等により調整される。しきい値設定部8は、当該エンジンサイクルの目標リフト量S1に基づいて開弁成功失敗のしきい値S2を設定する。しきい値S2は、例えば、目標リフト量S1に対して実験等により設定された割合だけ小さい値である。あるいは、しきい値S2は、確実に開弁成功と見なせる固定値でもよい。これらの各計算は、計算開始タイミングtcalで計算開始されるため、正ドライブ開始タイミングtmainよりも早く終わる。各計算が終了した後、時間が正ドライブ開始タイミングtmainになると、開弁パルス信号出力部9は、正ドライブ開始タイミングtmainから正時間幅wmainまで開弁パルス信号をドライバ421に出力する。ドライバ421で増幅された開弁パルス信号が開弁用電磁弁405に入力され、開弁用電磁弁405内でライン406,408間を塞いでいたプランジャ409が退くことにより、高圧の動作油が油圧制御室404に導入され、バルブ本体402がリフトし始める。その後、開弁パルス信号出力部9は、正ドライブ開始タイミングtmainから動作遅れ時間D1Δが経過した時点で、リフト量センサ418で検出された実リフト量としきい値S2を比較する。図2のように、この時点で実リフト量がしきい値S2以上のときには、開弁パルス信号出力部9は、開弁成功と判定して副開弁パルス信号を出力しない。図3のように、この時点で実リフト量がしきい値S2に満たないときには、開弁パルス信号出力部9は、開弁失敗と判定して当該エンジンサイクルの副ドライブ開始タイミングtsubから副時間幅wsubまで副開弁パルス信号を出力する。次に、閉弁パルス信号出力部10は、当該エンジンサイクルの閉弁タイミングA2よりドライバ421からバルブ本体402までの動作遅れ時間D3前である閉弁ドライブ開始タイミングtcloseで所定時間幅wcloseの閉弁パルス信号を出力する。動作遅れ時間D3は、前述した遅延関係式により計算される。また、所定時間幅wcloseは、十分に長い時間であれば良く、実験等により固定値を設定するとよい。ドライバ421で増幅された閉弁パルス信号が閉弁用電磁弁412に入力され、低圧供給ユニット410とライン411の接続口を塞いでいた油抜き弁414がプランジャ413によって開かれることにより、油圧制御室404の動作油が低圧供給ユニット410に抜けるため、バルブ本体402が戻り始める。ここで、図2と図3を比較しつつ、副ドライブの効果について考察する。図2の開弁成功の例では、正ドライブ開始タイミングtmainから動作遅れ時間D1Δが経過した時点で、実リフト量がしきい値S2以上となり、さらに実リフト量が大きくなって目標リフト量S1に達している。これは、例えば、エンジンが低負荷運転されているとき、燃焼工程から排気行程において燃焼室の圧力が高負荷運転のときに比べて低く、油圧制御室404の力によって容易にバルブ本体402がリフトされたことによる。このように実リフト量がしきい値S2以上の場合、開弁成功と判定されるため、副開弁パルス信号は出力されない。図2に示された実リフト量のプロファイルを見ると、目標開閉時期及び開度生成部2が生成した開弁タイミングA1と目標リフト量S1と閉弁タイミングA2が全て達成されたことが分かる。図3の開弁失敗の例では、正ドライブ開始タイミングtmainから動作遅れ時間D1Δが経過した時点で、実リフト量がしきい値S2に満たない。これは、例えば、エンジンが高負荷運転されているとき、燃焼工程から排気行程において燃焼室の圧力が低負荷運転のときに比べて高くなり、バルブ本体402をリフトさせようとする油圧制御室404の力が不足することによる。あるいは、エンジン負荷が上昇しているとき、前述したフィードバック制御により前回以前のエンジンサイクルでの実リフト量不足に対して今回のエンジンサイクルでの目標リフト量を増加させても、エンジン負荷の上昇が急激であるため追従できない場合にも開弁失敗となり得る。このように実リフト量がしきい値S2に満たない場合、開弁失敗と判定されるため、副ドライブ開始タイミングtsubから副時間幅wsubまで副開弁パルス信号が出力される。このとき油圧制御室404には正ドライブの開弁パルス信号によって既に動作油が導入されているので、副ドライブの開弁パルス信号によって動作油が追加導入されることになる。これにより、副ドライブ開始タイミングtsubから動作遅れ時間D2が経過するとバルブ本体402がリフトされ始め、その後、開弁が成功する。副ドライブが実施される時点では、正ドライブが実施された時点よりもクランク角度が進んでいるため、燃焼室圧力が低下している場合がある。この場合、開弁が成功しやすい。また、正ドライブが実施されたとき、バルブが若干=実リフト量がしきい値S2には満たないが排気が漏れ出す程度でも開いていれば、徐々に燃焼室圧力が低下するので、副ドライブでは開弁が成功しやすい。図3に示された実リフト量のプロファイル実線を見ると、理想的なプロファイル一点鎖線には一致しないが、当初の目標である開弁タイミングA1より遅れて開弁が成功していることが分かる。なお、正ドライブの開弁パルス信号と副ドライブの開弁パルス信号とでは時間幅が異なる。この理由は、副ドライブのときには、正ドライブによって油圧制御室404に動作油が導入されているからである。副ドライブのときの動作油の導入量は正ドライブのときより少なくするのが好ましく、副時間幅wsubは正時間幅wmainより短いのがよい。また、副ドライブにおいては、正ドライブでの開弁が失敗した状況でリフトが行われるため、全く目論み通りにはリフトができないと思われる。このとき実リフト量が過大とならないためには、図3に示されるように、副ドライブにおける実リフト量が目標リフト量S1より少なくなることが望ましい。この点からも、副時間幅wsubは正時間幅wmainより短いのがよい。このとき副ドライブにおける実リフト量が目標リフト量S1より小さいため、リフト量のフィードバック制御を適用すると、次回以降の目標リフト量S1が大きくなり、燃焼室圧力が低下したときに実リフト量が過大になるおそれがある。これを回避するために、副ドライブが実行されたときはフィードバック制御を保留したり係数を変更して前回以前の積分項を保持させるなど、目標リフト量S1が大きくなりすぎないようにするのが望ましい。次に、正ドライブと副ドライブの開始タイミングと時間幅が計算開始タイミングtcalで計算開始される効果について考察する。開始タイミングと時間幅の計算は、複数の遅延要因が関係する遅延関係式を計算することから、計算手順が複雑であり、一般的な処理速度を有する廉価なECM420において実行されると時間を要する。仮に、正ドライブの開弁失敗が認識されてから副ドライブの計算が行われると、副ドライブの開始タイミングが遅くなってしまう。その点、本発明では、副ドライブの開始タイミング及び時間幅を正ドライブの開始タイミング及び時間幅と同時期に計算しておくので、正ドライブの開弁失敗が認識されると直ちに、副ドライブが開始可能となる。正ドライブで開弁成功した場合は、副ドライブを実行しないだけなので、ECM420の負荷は増加しない。計算開始タイミングtcalは、正ドライブと副ドライブの計算が正ドライブの開始タイミングより早く終わるように設定される。計算開始タイミングtcalは、例えば、バルブ本体402がリフト開始されるタイミングより数十°CAクランク角度前とするのが好ましい。以上説明したように、本発明の弁開閉制御装置1によれば、正ドライブにおいて開弁失敗となっても、当該エンジンサイクルにて副ドライブが行われるので、開弁が失敗したままエンジンサイクルが終了することが防止され、排気バルブの開弁失敗によるエンジン性能の悪化やエンジンの損傷が回避される。本発明の弁開閉制御装置1によれば、正ドライブ開始タイミングtmainより十分早い計算開始タイミングtcalで正ドライブと副ドライブの開始タイミングと時間幅が計算開始されるので、正ドライブ開始タイミングtmainまでには全ての計算が終了しており、開弁失敗のときは計算が省略でき、開弁失敗を認識してから副ドライブの計算を実行するのに比べて、副ドライブを迅速に開始できる。本発明の弁開閉制御装置1によれば、各計算が計算開始タイミングtcalで計算開始されるので、一般的な処理速度を有する廉価なECM420において各計算が実行可能である。したがって、高速処理用の高価なECMは必要ない。本発明の弁開閉制御装置1は、排気バルブに適用するのが好ましい。排気バルブは燃焼室圧力が高い時期に開弁されるからである。吸気バルブであっても、何らかの補助的な動作のため燃焼室圧力が高い時期に開弁される場合には、本発明が有効である。"