"エンジンに高圧の燃料を供給する高圧燃料ポンプと、前記エンジンの気筒内に燃料を直接噴射する一つ以上の燃料噴射弁と、前記高圧燃料ポンプと前記燃料噴射弁とを接続する高圧燃料配管と、前記高圧燃料配管内に備えられる燃料圧力を検出する手段と、前記燃料圧力を調整する前記高圧燃料ポンプ内に備えられた電磁ソレノイドと、を備えたエンジンの制御装置において、前記エンジンの状態に基づいて目標燃料圧力を演算する手段と、前記検出された燃料圧力と前記設定された目標燃料圧力との偏差を演算する手段と、前記演算された偏差に基づいて前記高圧燃料ポンプの吸入弁の故障診断の実行許可を判定する手段と、前記判定手段で判定成立とされた場合に判定成立中の経過時間を演算する手段と、前記エンジンの状態に基づいて故障診断しきい値を演算する手段と、前記演算された経過時間と前記演算された故障診断しきい値とに基づいて前記高圧燃料ポンプの吸入弁の故障を診断する手段とを有することを特徴とするエンジンの制御装置。前記故障診断しきい値演算手段は、前記エンジンの状態に基づいてしきい値を演算し、前記エンジンの状態と前記電磁ソレノイドを駆動する通電信号と前記燃料圧力とに基づいて補正係数を演算し、前記演算されたしきい値と前記演算された補正係数とに基づいて故障診断しきい値を演算することを特徴とする請求項1に記載のエンジンの制御装置。前記故障診断手段で故障と判断した場合は、前記高圧燃料ポンプの燃料吸入弁の故障に対応した異常処置を行う異常処置手段を有することを特徴とする請求項1または請求項2に記載のエンジンの制御装置。前述の従来技術では、燃圧が目標燃圧よりも下回る場合に故障診断を行うため、燃圧の脈動幅,燃圧センサの出力信号のノイズ等により瞬間的に燃圧が目標燃圧よりも下回る場合においても、全閉固着故障中と判断する場合がある。また、高圧燃料フィードバック制御中で燃圧が目標燃圧よりも上回っている場合、燃圧を低下させるためにソレノイドの指令値を変化させるが、指令値を変化させた瞬間から燃圧が変化低下するまでには応答遅れが発生するため、燃圧が目標燃圧よりも下回らず、中間全開固着故障中と診断する場合がある。本発明の目的は、前述の不具合現象を防止し、故障診断の精度を高めることである。燃圧と目標燃圧との偏差を演算し、その偏差により高圧燃料ポンプの燃料吸入弁の故障診断の実行許可を判定し、判定成立中の経過時間を演算し、経過時間と、エンジンの状態に基づいて演算する故障診断しきい値により、高圧燃料ポンプの吸入弁の故障診断を行う。本発明によれば、判定成立の経過時間に基づいて故障判定を行うため、燃圧の脈動幅,燃圧センサの出力信号のノイズ等により瞬間的に燃圧と目標燃圧の偏差が増加した場合においても、誤診断を行うことなく、高圧燃料ポンプの燃料吸入弁の故障診断の精度を向上することが可能になる。また、故障診断の実行許可の判定成立時間に基づいて診断を行うため、ソレノイドの指令値の変化に対する燃圧の応答遅れ時間が発生した場合に対しても、誤診断を行うことなく、診断の精度を向上することが可能になる。本発明の内燃機関の制御装置の実施形態を図面を参照して詳細に説明する。図1は、本発明の対象となるエンジンの制御装置の行う全体の制御ブロックの一例である。ブロック101は、エンジン回転数演算手段のブロックである。エンジンの所定のクランク角度位置に設置されたクランク角度センサの電気的な信号、おもにパルス信号変化の単位時間当たりの入力数をカウントし、演算処理することで、エンジンの単位時間当たりの回転数を演算する。ブロック102では、前述のブロック101で演算されたエンジン回転数、及びエンジン負荷により、エンジンの要求する基本燃料を演算する。エンジン負荷は吸気管に設置された吸気管圧力センサの出力を、所定の処理で吸気管圧力に変換したもの、または、熱式空気流量計等で計測されたエンジンの吸入空気量で代表させる。ブロック103では、前述のエンジン回転数、及び前述のエンジン負荷により、前述のブロック102で演算された基本燃料に対するエンジンの各運転領域における補正係数の演算を、マップ検索で行う。ブロック104では、前述のエンジン回転数、及び前述のエンジン負荷により、エンジンの各運転領域における最適な基本点火時期の演算を、マップ検索で行う。ブロック105では、前述のエンジン回転数、及びエンジン水温により、エンジンのアイドリング回転数を一定に保つためにアイドリング時の目標回転数を設定し、ISCバルブ制御手段への目標空気量、及びISC点火時期補正量を演算する。ブロック106では、前述のエンジン回転数,アクセル開度、前述のブロック105で演算されたISC目標空気量等により、目標トルクを演算し、その値に基づき、燃料カット気筒数,要求点火時期,目標スロットル開度を演算する。ブロック107では、前述のエンジン回転数、及び前述のエンジン負荷、排気管に設置された酸素濃度センサの出力等により燃料のフィードバック制御を行い、空燃比フィードバック係数を演算する。ブロック108では、前述のエンジン回転数、及び前述のエンジン負荷により、目標燃圧を演算し、高圧燃料ポンプに設置された燃圧センサの出力等により燃圧のフィードバック制御を行う。ブロック109では、前述のエンジン回転数、前述の燃圧センサの出力等により、故障診断しきい値を演算し、高圧燃料ポンプ吸入弁の故障診断を行う。ブロック110では、前述のブロック102で演算された基本燃料に対して、前述のブロック103で演算された基本燃料の補正係数、前述のエンジン水温、前述のブロック107で演算された空燃比フィードバック係数等で補正を行う。ブロック111では、前述のブロック104で検索された最適な基本点火時期に対して、前述のエンジン水温、前述のブロック105で演算されたISC点火時期補正量、前述のブロック106で演算された要求点火時期等で補正を行う。ブロック112~115は、前述のブロック110で補正された燃料量をエンジンに供給する燃料噴射手段である。ブロック116~119は、前述のブロック111で補正されたエンジンの点火時期に応じてシリンダに流入した燃料混合気を点火する点火手段である。ブロック120は、前述のブロック106で演算された目標スロットル開度を実現するスロットル開度駆動手段である。ブロック121は、前述のブロック108で演算された目標燃圧を実現する高圧燃料ポンプソレノイド通電手段である。図2は、本発明の対象となるエンジンの制御装置が制御するエンジン回りの一例を示している。エンジン201は、運転者の開度調整により吸入する空気量を制限するスロットルバルブ202、スロットルバルブ202をバイパスして、吸気管206へ接続された流路の流路面積を制御し、エンジンのアイドル時の回転数を制御するアイドルスピードコントロールバルブ203、スロットル部を通過する空気量を計測する吸入空気量センサ204、吸入空気量センサ204の下流側に設置され排気側のタービンに連動して吸入空気量を加圧する過給器205、吸気管206内の圧力を検出する吸気管圧力センサ207、排気ガスの一部を吸気管206内へ戻すEGRバルブ208、吸気管206の流入空気に対して渦流発生により流速を制御するスワールコントロールバルブ209、燃料タンク210からプレッシャーレギュレータ211によって一定の圧力に調圧された燃料を加圧する高圧燃料ポンプ212、高圧燃料ポンプ212から吐出される燃料の圧力を検出する燃圧センサ213、高圧燃料ポンプ212から吐出される燃料をエンジンの要求分供給する燃料噴射弁214、吸気弁の開閉の位相信号を出力する吸気弁側カム角度センサ215、エンジンのシリンダ内に供給された燃料の混合気に点火する点火栓に、エンジン制御装置223の点火信号に基づいて点火エネルギを供給する点火モジュール216、排気弁の開閉の位相信号を出力する排気弁側カム角度センサ217、エンジン201のシリンダブロックに設置されエンジンの冷却水温を検出する水温センサ218、エンジンの排気管に設置され排気ガス中の酸素濃度を検出する酸素濃度センサ219、エンジンのクランク角度を検出するクランク角度センサ220、アクセル開度を検出するアクセル開度センサ221、エンジンの運転,停止のメインスイッチであるイグニッションスイッチ222、エンジンの各補機類を制御するエンジン制御装置223から構成されている。ただし、吸気管圧力センサ207は、吸気の温度を計測する吸気温センサが一体化されることもある。なお、酸素濃度センサ219は、排気空燃比に対して比例的な信号を出力するもの、または、排気ガスが理論空燃比に対して、リッチ側/リーン側の2つの信号を出力するものでもよい。また、本実施例では過給器205を備えているが、備えていなくても、空気量,燃料,点火の各制御が成立することは言うまでもない。図3は、本発明の対象となるエンジンの制御装置の、前述の高圧燃料ポンプ212の縦断面図である。高圧燃料ポンプ212は、燃料吸入通路301,燃料吐出通路302,加圧室303から形成されている。加圧室303には、加圧部材であるプランジャ304が摺動可能に保持されている。燃料吐出通路302には、下流側の高圧燃料を加圧室303に逆流させないための吐出弁305が設けられている。燃料吸入通路301には、燃料の吸入を制御する電磁弁306が設けられている。電磁弁306は、弁体307、弁体307を開閉方向に付勢する付勢ばね308,ソレノイド309,アンカ310から構成される。電磁弁306は、ノーマルオープン型とノーマルクローズ型のものがある。ノーマルオープン型では、ソレノイド309へ通電を行うと、アンカ310に電磁力が発生して図中の左側に引き寄せられ、アンカ310と一体に形成された弁体307が閉弁する。通電を行わないと、弁体307を開弁方向へ付勢する付勢ばね308により、弁体307は開弁する。一方、ノーマルクローズ型では、ソレノイド309へ通電を行うと、アンカ310に電磁力が発生して図中の右側に引き寄せられ、アンカ310と一体に形成された弁体307が開弁する。通電を行わないと、弁体307を閉弁方向へ付勢する付勢ばね308により、弁体307は閉弁する。以下では、ノーマルオープン型の電磁弁を用いた場合の実施形態について説明するが、ノーマルクローズ型を用いた場合においても、ソレノイド指令値の特性を反転させることにより、以下の実施形態は有効になる。図4は、本発明の対象となるエンジンの制御装置の内部構成の一例である。CPU401の内部にはエンジンに設置された各センサの電気的信号をデジタル演算処理用の信号に変換、及びデジタル演算用の制御信号を実際のアクチュエータの駆動信号に変換するI/O部402が設定されており、I/O部には、水温センサ403,クランク角度センサ404,カム角度センサ405,酸素濃度センサ406,吸入空気量センサ407,吸気管圧力センサ408,スロットル開度センサ409,アクセル開度センサ410,燃圧センサ411,イグニッションSW412が入力されている。CPU401からの出力信号はドライバ413を介して、燃料噴射弁414~417,点火コイル418~421,スロットル駆動モータ422,高圧燃料ポンプソレノイド423へ出力信号が送られる。図5は、本発明の対象となるエンジンの制御装置の、前述のブロック109の、高圧燃料ポンプ吸入弁故障診断の詳細なブロックの一例である。ブロック501では、エンジン回転数,エンジン負荷,燃圧,燃料カットフラグ,高圧燃料ポンプフィードバック制御実行フラグ,カム角度,目標燃圧,ブロック503で出力されるエンジン停止判定フラグより、故障診断の実行許可の判定を行う。判定成立の場合、ブロック502のブロックが起動され、判定成立時間を演算し、それ以外の場合、判定成立時間はクリア0に演算される。ブロック503では、エンジン回転数,クランク角度より、エンジン停止状態か否かの判定を行い、判定成立の場合、フラグをセットし、それ以外の場合、フラグをリセットする。ブロック504では、故障診断実行許可フラグ,エンジン回転数,エンジン負荷,燃圧,イグニッションSW,ソレノイド指令値,エンジン水温より、故障診断しきい値を演算する。ブロック505では、判定成立時間,エンジン停止判定フラグ,故障診断しきい値より、故障診断を行い、診断成立の場合、フラグをセットし、それ以外の場合、フラグをリセットする。ブロック506では、故障診断フラグより、診断成立の場合、前述のブロック106のトルクベース制御、前述のブロック107の空燃比帰還制御係数演算、前述のブロック108の高圧燃料ポンプ制御、前述のブロック110の基本燃料補正に対し、高圧燃料ポンプ吸入弁の故障に対応した異常処置を行う。全閉故障の診断が成立した場合に燃料カットの実行等を行うことにより、インジェクタの破損等につながる場合がある。よって、異常処置として燃料カットの禁止等を行うことにより、インジェクタの班損などを防ぐことが可能になる。また、中間全開故障の診断が成立した場合、所定のエンジン回転数以上において燃料供給不足が発生し、ドライバビリティの低下、排気エミッションの悪化等が発生する場合がある。よって、異常処置として所定のエンジン回転数以上における燃料供給量の制限,スロットル開度の制限等を行うことにより、これらの現象を防ぐことが可能になる。図6は、本発明の対象となるエンジンの制御装置の、前述のブロック501の、故障診断実行許可判定の詳細なブロックの一例である。ブロック601では、燃料カットフラグを反転する。ブロック602では、エンジン停止判定フラグを反転する。ブロック603では、燃圧が所定の範囲値内か否かを判定し、判定成立の場合、フラグをセットし、それ以外の場合、フラグをリセットする。加算器604とブロック605では、目標燃圧と燃圧の偏差の絶対値を演算する。ブロック606では、エンジン回転数,エンジン負荷より故障診断実行しきい値をマップ検索する。ブロック607では、エンジン回転数,エンジン負荷より故障診断実行しきい値ヒステリシスをマップ検索する。ブロック608では、偏差の絶対値,故障診断実行しきい値,故障診断実行しきい値ヒステリシスより、偏差の絶対値が故障診断実行しきい値以上か否かを判定し、しきい値以上の場合、判定成立としてフラグをセットする。また、判定成立後、偏差の絶対値が、しきい値とヒステリシスの減算値未満の場合、判定不成立とし、フラグをリセットする。ブロック609では、前述のブロック601,602,603,608の各出力フラグ,カム角度信号検出済みフラグ,高圧燃料ポンプフィードバック制御実行フラグより、故障診断の実行を許可するか否かを判定し、判定成立の場合、フラグをセットし、それ以外の場合、フラグをリセットする。図7は、本発明の対象となるエンジンの制御装置の、前述のブロック504の、故障診断しきい値演算の詳細なブロックの一例である。ブロック701では、エンジン回転数,エンジン負荷より故障診断基本しきい値をマップ検索する。ブロック702では、エンジン回転数,エンジン負荷,エンジン水温,故障診断実行許可フラグより、学習値演算の実行を許可するか否かを判定し、判定成立の場合、ブロック703が起動され、エンジン回転数,エンジン負荷,ソレノイド指令値,燃圧,ブロック708で演算される更新前学習値より、学習値を演算し、それ以外の場合、更新前学習値を出力する。ブロック704及び705では、イグニッションSWがONからOFFに切り替わるか否かを判定し、判定成立の場合、ブロック706が起動され、エンジン回転数,エンジン負荷より、前述のブロック703の演算値がバックアップRAMとして各運転領域でメモリ等に記憶される。ブロック704及び707では、イグニッションSWがOFFからONに切り替わるか否かを判定し、判定成立の場合、ブロック708ではブロック706で記憶された学習値を更新前学習値として出力し、それ以外の場合、ブロック709で演算される学習値の前回演算値を更新前学習値として出力する。ブロック709では、バックアップRAMが破壊されているか否か等の学習値初期化判定が成立の場合、初期値を学習値として出力し、それ以外の場合、前述のブロック703の演算値を学習値として出力する。加算器710では、故障診断基本しきい値と学習値を加算し、故障診断しきい値として出力する。図8は、本発明の対象となるエンジンの制御装置の、前述のブロック702の、学習値演算実行許可判定の詳細なブロックの一例である。ブロック801では、エンジン回転数が所定の範囲内か否かを判定する。ブロック802では、エンジン負荷が所定の範囲内か否かを判定する。ブロック803では、エンジン水温が所定の範囲内か否かを判定する。ブロック804では、前述のブロック801,802,803の各出力フラグ、及び故障診断実行許可フラグより、学習値演算の実行を許可するか否かを判定し、判定成立の場合、フラグをセットし、それ以外の場合、フラグをリセットする。図9は、本発明の対象となるエンジンの制御装置の、前述のブロック703の、学習値演算の詳細なブロックの一例である。ブロック901及び902では、ソレノイド指令値のON状態またはOFF状態を判定し、ON判定成立の場合、ブロック903が起動し、ON判定成立時間が演算され、OFF判定成立時に判定時間がクリア0に演算される。また、OFF判定成立の場合、ブロック904が起動し、OFF判定成立時間が演算され、ON判定成立時に判定時間がクリア0に演算される。加算器905では、ON判定成立時間とOFF判定成立時間を加算し、判定時間として出力する。ブロック906及び907では、判定時間がクリアされているか0か否かを判定し、判定成立の場合、ブロック908では、燃圧を出力し、それ以外の場合、前回演算値を出力する。加算器909及びブロック910では、目標燃圧と、前述のブロック908の出力の偏差の絶対値を演算する。ブロック911及び912では、偏差の絶対値が所定以上か否かを判定し、判定成立の場合、ブロック912では、判定時間を学習更新値として出力し、判定不成立の場合、前回演算値を学習更新値として出力する。ブロック914では、学習更新値より、更新前学習値の加重平均演算を行い、学習基本値として出力する。ブロック915,916,917、及び918では、学習基本値に上下限制限を行う。ブロック919では、エンジン回転数,エンジン負荷より、各運転領域で前述のブロック918の出力の書き込みを行った後、学習値として出力する。図10は、本発明の対象となるエンジンの制御装置の、前述のブロック914の、加重平均演算の詳細なブロックの一例である。ブロック1001,1002,1003,1004,1005、及び1006では、学習更新値,加重平均重みより、更新前学習値の加重平均演算を行い、学習基本値として出力する。図11は、本発明の対象となるエンジンの制御装置の、前述のブロック505の、故障診断の詳細なブロックの一例である。ブロック1101では、実行許可判定成立時間が故障診断しきい値以上か否かを判定し、判定成立の場合、ブロック1102では、故障診断フラグをセット1を出力し、それ以外の場合、ブロック1103で演算される故障診断フラグの前回演算値を出力する。ブロック1103では、エンジン停止判定が成立の場合、故障診断フラグをリセット0を出力し、それ以外の場合、前回演算値を出力する。図12は、本発明の対象となるエンジンの制御装置の、瞬間的に燃圧が目標燃圧よりも下回る場合における故障診断フラグの挙動の一例である。ライン1201は燃圧の挙動、ライン1202は燃圧の前回演算値と今回演算値の偏差、ライン1203はソレノイド指令値、ライン1204は従来制御での故障診断フラグ、ライン1205は本発明による故障診断フラグである。ソレノイド指令値が指令値しきい値以上の状態において、時間1206で、燃圧の前回演算値と今回演算値の偏差が偏差しきい値以上になると、従来制御では、故障診断が成立し、時間1207で、偏差が偏差しきい値以下になると、診断が不成立となる。これに伴い、瞬間的に燃圧が目標燃圧よりも下回ると同時に異常処置が実行され、ドライバビリティの低下等が発生する場合がある。一方、本発明では、瞬間的に実燃圧値が目標燃圧値よりも下回る場合においても、許可判定成立時間と判定しきい値による診断を行うため、ライン1205に示すように、故障診断が成立することがないため、異常処置が実行されず、ドライバビリティの低下等が発生しない。図13は、本発明の対象となるエンジンの制御装置の、ソレノイド指令値の変化に伴い燃圧が変化するまでに応答遅れが発生する場合における故障診断フラグの挙動の一例である。ライン1301は燃圧の挙動、ライン1302はソレノイド指令値、ライン1303はソレノイド指令値と指令値しきい値の偏差、ライン1304は従来制御での故障診断フラグ、ライン1305は本発明による故障診断フラグである。燃圧が目標燃圧以上の状態において、時間1306で、ソレノイド指令値と指令値しきい値の偏差が偏差しきい値を下回ると、従来制御では、故障診断が成立し、時間1307で燃圧が目標燃圧以下になると、診断が不成立となる。これに伴い、燃圧の変化前に異常処置が実行され、ドライバビリティの低下等が発生する場合がある。一方、本発明では、燃圧の応答遅れが発生した場合においても、許可判定成立時間と判定しきい値による判定を行うため、本発明では、ライン1305に示すように、故障診断が成立することがないため、異常処置が実行されず、ドライバビリティの低下等が発生しない。図14は、本発明の対象となるエンジンの制御装置の、ソレノイド指令値の変化に伴い燃圧が変化するまでの応答遅れが増加する場合における故障診断フラグの挙動の一例である。高圧燃料ポンプでは、ソレノイドの経年劣化等により、燃圧の応答遅れが増加ばらつきが発生する場合がある。ライン1401は応答遅れ増加前の燃圧、ライン1402は応答遅れ増加後の燃圧、ライン1403はソレノイド指令値、ライン1404は応答遅れ増加前の許可判定成立時間、ライン1405は応答遅れ増加後の許可判定成立時間、ライン1406は応答遅れ増加前の故障診断フラグ、ライン1407は応答遅れ増加後の故障診断フラグである。時間1408でソレノイド指令値が変化し、応答遅れ増加前の場合、時間1409で、許可判定成立時間がクリアされるため、故障診断は成立しない。これに対し、応答遅れ増加後の場合、時間1410で許可判定成立時間が故障診断基本しきい値以上となり、故障診断が成立する。図15は、本発明の対象となるエンジンの制御装置の、ソレノイド指令値の変化に伴い燃圧が変化するまでの応答遅れが増加する場合における故障診断フラグの挙動の一例である。ライン1501は燃圧、ライン1502はソレノイド指令値、ライン1503は学習値を反映する前のしきい値である故障診断基本しきい値、ライン1504は学習値を反映した後のしきい値である故障診断しきい値、ライン1505は許可判定成立時間、ライン1506は学習値反映前の故障診断フラグ、ライン1507は学習値反映後の故障診断フラグの挙動である。時間1508でソレノイド指令値が変化し、学習値反映前の場合、時間1509で許可判定成立時間が故障診断基本しきい値以上になるため、故障診断が成立する。これに対し、学習値反映後の場合、故障診断基本しきい値に学習値を反映させた故障診断しきい値に対し、時間1509で許可判定成立時間が故障診断しきい値未満のため、故障診断は成立しない。これにより、学習値を反映することで、燃圧の応答遅れが増加ばらつきが発生する場合への対応が可能になり、診断精度を高めることができる。図16は、本発明の対象となるエンジンの制御装置の、図1の制御ブロックのフローチャートの一例である。ステップ1601でエンジン回転数を演算する。ステップ1602で吸気管圧力等のエンジン負荷を読み込む。ステップ1603で前記エンジン回転数及び前記エンジン負荷により、基本燃料量を演算する。ステップ1604で前記エンジン回転数及び前記エンジン負荷により、基本燃料補正係数を検索する。ステップ1605で前記エンジン回転数及び前記エンジン負荷により、基本点火時期を検索する。ステップ1606でエンジン水温,アクセル開度,吸気温,酸素濃度センサ出力,燃圧を読み込む。ステップ1607で前記エンジン回転数と前記エンジン水温により、ISC目標空気量を演算する。ステップ1608で前記エンジン回転数、ステップ1609で補正される点火時期等により、要求点火時期を演算する。ステップ1609で前記要求点火時期等により、点火時期を補正する。ステップ1610で前記エンジン回転数等により、燃料カット気筒数を演算する。ステップ1611で前記エンジン回転数、前記エンジン負荷、前記酸素濃度センサ出力により、空燃比帰還制御係数を演算する。ステップ1612で前記基本燃料補正係数等により、基本燃料を補正する。ステップ1613で前記エンジン回転数、前記エンジン負荷、前記燃圧により、目標燃圧を演算する。ステップ1614で高圧燃料ポンプフィードバック制御の実行判定が成立か否かを判断し、判定成立の場合、後述のステップ1615に進み、それ以外の場合、後述のステップ1618に進む。ステップ1615で高圧燃料ポンプ吸入弁の故障診断が成立か否かを判断し、診断成立の場合、ステップ1616で、空燃比帰還係数の演算,基本燃料の補正,目標燃圧の演算等に対し、異常処置を実施し、それ以外の場合、ステップ1617で、前記目標燃圧等により、高圧燃料ポンプ帰還制御係数を演算する。ステップ1618で高圧燃料ポンプ帰還制御係数等により、高圧燃料ポンプソレノイドの通電を行う。図17は、本発明の対象となるエンジンの制御装置の、図5の制御ブロックのフローチャートの一例である。ステップ1701でエンジン停止状態か否かを判断し、停止状態の場合、後述のステップ1706に進み、それ以外の場合、後述のステップ1702に進む。ステップ1702で故障診断の実行許可判定が成立か否かを判断し、判定成立の場合、ステップ1703で判定成立時間を演算し、それ以外の場合、ステップ1704で故障診断を終了する。ステップ1705で前記判定成立時間等により、故障診断しきい値を演算する。ステップ1706で故障診断が成立か否かを判断し、診断成立の場合、ステップ1707で空燃比帰還係数の演算,基本燃料の補正,目標燃圧の演算等に対し、異常処置を実施し、それ以外の場合、前述のステップ1704に進む。図18は、本発明の対象となるエンジンの制御装置の、図6の制御ブロックのフローチャートの一例である。ステップ1801でカム角度信号検出済みか否かを判断し、検出済みの場合、後述のステップ1803に進み、それ以外の場合、ステップ1802で故障診断実行許可不成立とする。ステップ1803で、高圧燃料ポンプフィードバック制御が実行中か否かを判断し、実行中の場合、後述のステップ1804に進み、それ以外の場合、前述のステップ1802に進む。ステップ1804で、燃料カット中で無いか否かを判断し、カット中で無い場合、後述のステップ1805に進み、それ以外の場合、前述のステップ1802に進む。ステップ1805でエンジン停止状態か否かを判断する。停止状態の場合、後述のステップ1806に進み、それ以外の場合、前述のステップ1802に進む。ステップ1806で燃圧が所定の範囲内か否かを判断し、範囲内の場合、ステップ1807で目標燃圧,燃圧により、目標燃圧と燃圧の偏差の絶対値を演算し、それ以外の場合、前述のステップ1802に進む。ステップ1808で前述のステップ1807の演算値が故障診断実行しきい値以上か否かをヒステリシス付きで判断し、しきい値以上の場合、ステップ1809で故障診断実行許可成立とし、それ以外の場合、前述のステップ1802に進む。図19は、本発明の対象となるエンジンの制御装置の、図7の制御ブロックのフローチャートの一例である。ステップ1901でエンジン回転数,エンジン負荷により、故障診断基本しきい値を検索する。ステップ1902で学習値演算の実行許可判定が成立か否かを判断し、判定成立の場合、ステップ1903で学習値を演算し、それ以外の場合、ステップ1904で後述のステップ1910またはステップ1911で演算される学習値の前回演算値を更新前学習値として出力する。ステップ1905でイグニッションSWがONからOFFに切り替わったか否かを判断し、切り替わった場合、ステップ1906で学習値を記憶し、それ以外の場合、前述のステップ1904に進む。ステップ1907でイグニッションSWがOFFからONに切り替わったか否かを判断し、切り替わった場合、ステップ1908で、ステップ1906で記憶した学習値を更新前学習値として出力し、それ以外の場合、前述のステップ1904に進む。ステップ1909で学習値初期化判定が成立しているか否かを判断し、判定成立の場合、ステップ1910で初期値を学習値として出力し、それ以外の場合、ステップ1911で、ステップ1903で演算した学習値を出力する。ステップ1912で前記故障診断しきい値と前記学習値を加算し、故障診断しきい値として出力する。図20は、本発明の対象となるエンジンの制御装置の、図8の制御ブロックのフローチャートの一例である。ステップ2001で故障診断の実行許可判定が成立か否かを判断し、判定成立の場合、後述のステップ2003に進み、それ以外の場合、ステップ2002で学習値演算実行許可不成立とする。ステップ2003でエンジン回転数が所定の範囲内か否かを判断し、範囲内の場合、後述のステップ2004に進み、それ以外の場合、前述のステップ2002に進む。ステップ2004でエンジン負荷が所定の範囲内か否かを判断し、範囲内の場合、後述のステップ2005に進み、それ以外の場合、前述のステップ2002に進む。ステップ2005でエンジン水温が所定の範囲内か否かを判断し、範囲内の場合、ステップ2006で学習値演算実行許可成立とし、それ以外の場合、前述のステップ2002に進む。図21は、本発明の対象となるエンジンの制御装置の、図9の制御ブロックのフローチャートの一例である。ステップ2101でソレノイド指令値ON判定成立時間を演算する。ステップ2102でソレノイド指令値OFF判定成立時間を演算する。ステップ2103で前記ON判定成立時間とOFF判定成立時間を加算し、判定時間を演算する。ステップ2104で判定時間が前回演算値未満か否かを判断し、前回演算値未満の場合、ステップ2105で燃圧を出力し、それ以外の場合、ステップ2106で、現時点で演算されている値をラッチする。ステップ2107で、ステップ2105またはステップ2106の演算値と、燃圧の偏差の絶対値を演算する。ステップ2108でステップ2107の演算値が所定値以上か否かを判断し、所定値以上の場合、ステップ2109で前記判定時間を学習更新値として出力、それ以外の場合、ステップ2110で、現時点で演算されている値をラッチし、学習更新値として出力する。ステップ2111で前記学習更新値により、更新前学習値の加重平均値を演算し、学習基本値として出力する。ステップ2112で前記学習基本値に上下限制限を実行する。ステップ2113でエンジン回転数,エンジン負荷、ステップ2112の演算値により、学習値を演算する。図22は、本発明の対象となるエンジンの制御装置の、図10の制御ブロックのフローチャートの一例である。ステップ2201で学習更新値、加重平均重みにより、更新前学習値の加重平均値を演算し、学習基本値として出力する。図23は、本発明の対象となるエンジンの制御装置の、図11の制御ブロックのフローチャートの一例である。ステップ2301でエンジン停止状態か否かを判断し、停止状態の場合、ステップ2302で故障診断不成立とし、それ以外の場合、後述のステップ2303に進む。ステップ2303で実行許可判定成立時間が故障診断しきい値以上か否かを判断し、しきい値以上の場合、ステップ2304で故障診断成立とし、それ以外の場合、ステップ2305で、現時点で演算されている値をラッチする。以上、本発明の一実施形態について詳述したが、本発明は前記実施形態に限定されるものではない。また、本発明の特徴的な機能を損なわない限り、各構成予想は上記構成に限定されるものではない。"