"エンジン始動に際し、エンジン出力軸に連結されたリングギヤに向けてスタータのピニオンを移動させることで前記ピニオンと前記リングギヤとの噛み合いを生じさせるとともに、前記噛み合いの状態での前記スタータのモータの回転によりエンジンをクランキングし、その後、前記スタータの駆動を停止してクランキングを終了するエンジン始動制御装置において、前記ピニオンの移動及び前記モータの回転の開始後であって前記クランキングを終了するまでの間に生じる複数の異常内容を診断対象として、該診断対象ごとに定めた異常判定条件の成否に基づいて異常診断を実施する異常診断手段と、前記異常診断手段により前記複数の異常内容のいずれかの異常判定条件が成立し異常有りと診断された場合に前記スタータの駆動停止を指令するスタータ制御手段と、を備え、前記スタータ制御手段は、前記異常診断手段により異常有りと診断された異常内容に応じて、前記異常判定条件が成立してから前記スタータの駆動停止を指令するまでの時間を可変にすることを特徴とするエンジン始動制御装置。前記異常診断手段による診断対象として、前記ピニオンの移動開始後における前記ピニオンと前記リングギヤとの噛み合い不良を含み、前記スタータ制御手段は、前記噛み合い不良を判定する異常判定条件が成立し異常有りと診断された場合、異常が発生したことを示す異常発生情報を記憶するとともに、前記異常判定条件の成立後直ちに前記スタータの駆動停止を指令する請求項1に記載のエンジン始動制御装置。前記噛み合い不良を判定する異常判定条件として、前記モータの回転開始後における前記モータの回転負荷が前記クランキング時よりも小さいこと、及び前記リングギヤの歯部の通過速度よりも前記ピニオンの歯部の通過速度の方が速いことを含む請求項2に記載のエンジン始動制御装置。前記異常診断手段の診断対象として、前記スタータによるエンジンのクランキングが継続したまま所定時間が経過する異常である連続クランキングを含み、前記スタータ制御手段は、前記連続クランキングを判定する異常判定条件が成立し異常有りと診断された場合、異常が発生したことを示す異常発生情報を記憶するとともに、前記異常判定条件の成立後、第1ディレイ時間が経過した後に前記スタータの駆動停止を指令する請求項1乃至3のいずれか一項に記載のエンジン始動制御装置。前記異常診断手段による診断対象として、前記噛み合いが生じた状態においてエンジン回転速度が上昇しない異常である非回転異常を含み、前記スタータ制御手段は、前記非回転異常を判定する異常判定条件が成立し異常有りと診断された場合、異常が発生したことを示す異常発生情報を記憶するとともに、前記異常判定条件の成立後、第2ディレイ時間が経過した後に前記スタータの駆動停止を指令する請求項1乃至4のいずれか一項に記載のエンジン始動制御装置。しかしながら、特許文献1のものでは、エンジンの回転が完全に停止するまでエンジンが再始動されないため、エンジン回転速度の降下中にドライバの始動要求があった場合に、その始動要求を迅速に満たすことができないおそれがある。その一方で、回転状態のリングギヤにピニオンを押し出す場合、リングギヤの静止状態の場合よりも噛み合い不良が生じる可能性が高いとも考えられ、噛み合い不良が生じた場合の対策を講じる必要がある。また、エンジンを始動できない原因としては、上記噛み合い不良のほか、エンジン側の事象に起因するものなど種々のものがある。更にそれら原因によっては、例えば、スタータの駆動によって不都合が生じる場合もあれば、逆に、スタータ駆動を継続すれば正常なクランキングを実施できる可能性がある場合もある。よって、前者においてスタータ駆動を継続した場合には、その不都合による影響を増大させることになり、後者においてスタータ駆動を直ちに停止した場合には、エンジン始動にかかる時間が長くなるおそれがある。本発明は、上記課題に鑑みなされたものであり、エンジンを始動できない場合にその始動できない原因に応じて適切に対処することができ、ひいてはエンジン始動制御を適正に実施することができるエンジン始動制御装置を提供することを主たる目的とする。本発明は、上記課題を解決するために、以下の手段を採用した。本発明は、エンジン始動に際し、エンジン出力軸に連結されたリングギヤに向けてスタータのピニオンを移動させることで前記ピニオンと前記リングギヤとの噛み合いを生じさせるとともに、前記噛み合いの状態での前記スタータのモータの回転によりエンジンをクランキングし、その後、前記スタータの駆動を停止してクランキングを終了するエンジン始動制御装置に関する。そして、請求項1に記載の発明は、前記ピニオンの移動及び前記モータの回転の開始後であって前記クランキングを終了するまでの間に生じる複数の異常内容を診断対象として、該診断対象ごとに定めた異常判定条件の成否に基づいて異常診断を実施する異常診断手段と、前記異常診断手段により前記複数の異常内容のいずれかの異常判定条件が成立し異常有りと診断された場合に前記スタータの駆動停止を指令するスタータ制御手段と、を備え、前記スタータ制御手段は、前記異常診断手段により異常有りと診断された異常内容に応じて、前記異常判定条件が成立してから前記スタータの駆動停止を指令するまでの時間を可変にすることを特徴とする。要するに、エンジンを始動できない原因異常内容は種々あり、それら異常内容によっては、スタータの駆動を停止させる緊急性が高い場合もあれば、逆に、エンジンを始動できる可能性が高くスタータ駆動をできるだけ長く継続するのが望ましい場合もある。その点に鑑み、上記構成では、エンジンを始動できない場合に、その異常内容を、該異常内容ごとに予め定めた異常判定条件に基づいて特定し、特定された異常内容に応じて、異常判定条件が成立してからスタータの駆動停止を指令するまでの時間を定める。この場合、エンジンを始動できない原因に応じた適切なタイミングでスタータを駆動停止することができ、ひいてはエンジン始動制御の適正化を図ることができる。請求項2に記載の発明では、前記異常診断手段による診断対象として、前記ピニオンの移動開始後における前記ピニオンと前記リングギヤとの噛み合い不良を含み、前記スタータ制御手段は、前記噛み合い不良を判定する異常判定条件が成立し異常有りと診断された場合、異常が発生したことを示す異常発生情報を記憶するとともに、前記異常判定条件の成立後直ちに前記スタータの駆動停止を指令する。噛み合い不良が生じている場合、スタータ駆動をそのまま継続してもエンジンを始動できないだけでなく、スタータ駆動を継続することによりピニオンやリングギヤの磨耗が生じるおそれがある。つまり、噛み合い不良が生じた場合には、スタータの駆動を停止させる緊急性が高いと考えられる。その点に鑑み、上記構成とすることにより、ピニオンやリングギヤの磨耗を抑制することができる。噛み合い不良の判定方法について具体的には、請求項3に記載の発明のように、前記噛み合い不良を判定する異常判定条件として、前記モータの回転開始後における前記モータの回転負荷が前記クランキング時よりも小さいこと、及び前記リングギヤの歯部の通過速度よりも前記ピニオンの歯部の通過速度の方が速いことを含むものとするとよい。請求項4に記載の発明では、前記異常診断手段の診断対象として、前記スタータによるエンジンのクランキングが継続したまま所定時間が経過する異常である連続クランキングを含み、前記スタータ制御手段は、前記連続クランキングを判定する異常判定条件が成立し異常有りと診断された場合、異常が発生したことを示す異常発生情報を記憶するとともに、前記異常判定条件の成立後、第1ディレイ時間が経過した後に前記スタータの駆動停止を指令する。また、請求項5に記載の発明では、前記異常診断手段による診断対象として、前記噛み合いが生じた状態においてエンジン回転速度が上昇しない異常である非回転異常を含み、前記スタータ制御手段は、前記非回転異常を判定する異常判定条件が成立し異常有りと診断された場合、異常が発生したことを示す異常発生情報を記憶するとともに、前記異常判定条件の成立後、第2ディレイ時間が経過した後に前記スタータの駆動停止を指令する。エンジンを始動できない原因が連続クランキングや非回転異常によるものである場合、ピニオンとリングギヤとの噛み合いは生じていることから、クランキングをそのまま継続することによってエンジンを始動できる可能性があると考えられる。また、これらの場合には、噛み合い不良時の場合とは異なり、スタータ駆動の継続によるピニオンやリングギヤの磨耗等といった不都合が生じるおそれが小さい。したがって、上記請求項4や請求項5の構成のように、異常内容を特定してからスタータ駆動を強制停止するまでの間に猶予期間を設けることにより、エンジンの早期始動を図ることができる。以下、本発明を具体化した実施の形態について図面を参照しつつ説明する。本実施の形態は、エンジン制御システムのエンジン始動制御装置に具体化している。当該制御システムにおいては、電子制御ユニット以下、ECUというを中枢として燃料噴射量の制御や点火時期の制御、アイドルストップ制御等を実施する。この制御システムの全体概略を示す構成図を図1に示す。図1において、エンジン20は、例えば4気筒エンジンであり、気筒内への吸入空気量を調整する空気量調整手段としてのスロットルバルブ21や、燃料を噴射供給する燃料噴射手段としてのインジェクタ22、気筒ごとに設けられた点火プラグ23に点火火花を発生させる点火手段としてのイグナイタ図示略等を備えている。なお、エンジン20は、インジェクタ22が吸気ポート近傍に設けられた吸気ポート噴射式であってもよいし、各気筒のシリンダヘッド等に設けられた直噴式であってもよい。スタータ10にはモータ11が設けられており、バッテリ12からの電力供給によりモータ11が回転駆動されるようになっている。また、モータ11の回転軸13にはピニオン14が設けられており、回転軸13の回転によってピニオン14が回転される。ピニオン14は、回転軸13とピニオン14との間で動力の伝達を断続するワンウエイクラッチ15と一体になっている。スタータ10には、コイル18及びプランジャ19により構成されるアクチュエータSL1が設けられており、コイル18の通電/非通電の切り替えにより、ピニオン14が回転軸13の軸方向に往復動されるようになっている。詳しくは、コイル18の非通電状態では、ピニオン14が、エンジン20の出力軸クランク軸24に連結されたリングギヤ25に対して非接触の状態で配置されている。この非接触の状態においてバッテリ12からコイル18に通電されると、プランジャ19がその軸方向に移動してレバー16が作動され、ピニオン14がリングギヤ25に向かって押し出される。これにより、ピニオン14が、リングギヤ25との接触位置まで移動する。また、ピニオン14の移動に伴い、ピニオン14の歯部とリングギヤ25の歯部との噛み合いが生じ、ピニオン14からリングギヤ25への動力伝達が可能な状態になる。この噛み合い状態においてモータ11の駆動が開始されることにより、ピニオン14からリングギヤ25への動力伝達が行われる。一方、ピニオン14とリングギヤ25との噛み合い状態においてコイル18の通電が遮断されると、図示しないスプリングの付勢力により、ピニオン14が、リングギヤ25に向かう方向とは反対方向に移動する。これにより、ピニオン14とリングギヤ25との噛み合いが解除され、両者が非接触の状態に戻る。スタータ10とバッテリ12との間にはIGスイッチ26が設けられており、ドライバによるIGスイッチ26のオン操作により、バッテリ12からスタータ10への通電が可能になっている。また、コイル18とバッテリ12との間には、制御信号に基づいてアクチュエータSL1の通電/非通電を切り替えるSL1駆動リレー27が設けられている。さらに、モータ11とバッテリ12との間には、モータ11の電磁子に接続され接点の開閉により通電/非通電を切り替えるモータスイッチSL2と、制御信号に基づいてモータスイッチSL2の通電/非通電を切り替えるSL2駆動リレー28とが設けられている。その他、本システムには、エンジン20の所定クランク角毎に例えば10°CA周期で矩形状の検出信号クランク角信号を出力するクランク角センサ31や、エンジン冷却水の温度を検出する冷却水温センサ32、アクチュエータSL1の端子電圧を検出するSL1電圧センサ33、モータスイッチSL2の端子電圧を検出するSL2電圧センサ34、バッテリ12の電圧を検出するバッテリ電圧センサ35などの各種センサが設けられている。ECU40は、周知のマイクロコンピュータ等を備えてなる電子制御装置であり、本システムに設けられている各種センサの検出結果等を入力し、それに基づいて燃料噴射量制御や点火時期制御、アイドルストップ制御などの各種エンジン制御や、スタータ10の駆動制御等を実施する。上記のシステム構成において実施されるアイドルストップ制御について詳述する。アイドルストップ制御では、エンジン20のアイドル運転時に所定の自動停止条件が成立すると、燃料噴射及び点火を停止してエンジン20の燃焼を停止することにより、エンジン20を自動停止させる。また、自動停止条件の成立後、所定の再始動条件が成立すると、燃料噴射及び点火を再開してエンジン20を再始動させる。自動停止条件としては、例えば、アクセル操作量がゼロになったことアイドル状態になったこと、ブレーキペダルの踏込み操作が行われたこと、車速が所定値以下まで低下したこと等の少なくともいずれかが含まれる。また、再始動条件としては、例えば、アクセルの踏込み操作が行われたこと、ブレーキ操作量がゼロになったこと等が含まれる。次に、スタータ10の駆動制御について説明する。本実施形態において、ECU40は、SL1駆動リレー27のオン/オフ信号を出力する出力ポートP1と、SL2駆動リレー28のオン/オフ信号を出力する出力ポートP2とを備えている。ECU40では、これら出力ポートP1,P2からの制御信号により、モータ11及びコイル18の通電状態をそれぞれ個別に切り替え可能になっている。例えば、自動停止条件の成立に伴いエンジン20の燃焼を停止した後のエンジン回転速度の降下中に再始動条件が成立した場合を考える。この場合の一つの態様として、ECU40は、エンジン回転速度が所定の低回転速度以下になったことを条件に、まず、SL1駆動リレー27をオンすることにより、ピニオン14をリングギヤ25に向かって押し出す。その後、ピニオン14とリングギヤ25とが接触した状態になるか、又は両者の噛み合いが生じた時点で、SL2駆動リレー28をオンすることにより、モータ11を駆動してピニオン14を回転させる。この態様では、クランク軸24の回転が停止するのを待たずにエンジン20が再始動されるため、エンジン再始動要求があった後できるだけ早期にエンジン20を始動することができる。ここで、再始動条件の成立に伴い、ピニオン14の押し出し及びモータ回転の開始後において、例えばピニオン14とリングギヤ25との噛み合い不良が生じたり、エンジン20の燃焼が実施されなかったりした場合、スタータ駆動をそのまま継続してもエンジン20を始動できないことが考えられる。また、この場合、通電時間が長くなることにより、モータ11の回転負荷が過大になったりバッテリ12の消費が進んだりすることも考えられる。そこで、本実施形態では、スタータ駆動から所定時間が経過してもエンジン20を始動できない場合、スタータ10の駆動を一旦停止することとしている。具体的には、ECU40は、スタータ駆動に際し、コイル18の通電開始からの経過時間及びモータ11の通電開始からの経過時間をそれぞれ計測する。そして、コイル18の通電時間が判定時間Time1を超えたこと、及びモータ11の通電時間が判定時間Time2を超えたことの少なくともいずれかの条件が成立した場合に、コイル18及びモータ11の通電を遮断する。また、スタータ10の駆動停止後は、コイル18及びモータ11の通電を再度実施することにより、エンジン再始動をやり直すリトライするようにしている。なお、スタータ10の駆動を停止する際に、エンジン始動キー始動を促す旨の警告をドライバに対して行い、これを認知したドライバのキー操作に基づいてエンジン再始動を行う構成としてもよい。ところで、エンジン20を始動できない原因は種々あり、それら原因によっては、スタータ10の駆動を強制停止させる緊急性が高い場合もあれば、逆に、エンジン20を始動できる可能性が高くスタータ駆動をできるだけ長く継続するのが望ましい場合もある。そこで、本実施形態では、スタータ10によるエンジン始動が適切に実施されない場合、その異常内容を特定するための異常診断を実施し、特定した異常内容に応じて、それぞれの異常内容に適した対処を行うこととしている。具体的には、エンジン始動に際し、ピニオン14の押し出し及びモータ11の回転を開始した後であってクランキングを終了するまでの期間に生じるおそれがある複数の異常内容について、各々の異常内容を特定するための異常判定条件を異常内容ごとに予め定めておく。そして、ECU40は、異常判定条件の成否に基づいて、エンジン20を始動できない場合の異常内容を特定し、その特定した異常内容に応じて、異常判定条件が成立してからスタータ10の駆動を停止するまでの時間を可変にしている。以下、エンジン始動に際し生じ得る異常内容、及びそれぞれの異常内容を特定するための異常判定条件について説明する。1噛み合い不良ピニオン14の押し出し後において、ピニオン14とリングギヤ25との噛み合い不良が生じた場合、ピニオン14の歯部端面がリングギヤ25の歯部端面に接触した状態でピニオン14が空回りした状態になることがある。この場合、スタータ駆動をそのまま継続してもエンジン20を始動できないだけでなく、スタータ駆動を継続するとピニオン14やリングギヤ25の磨耗が促進されるおそれがある。そこで、本実施形態では、異常診断の診断対象として噛み合い不良を含み、噛み合い不良が検出された場合にはスタータ10の駆動を停止する。また特に、噛み合い不良が生じた場合、スタータ駆動を継続してもエンジン20を始動できる可能性が低く、またスタータ駆動の継続によりピニオン14等の磨耗が促進されるおそれがあることから、噛み合い不良の発生を特定した直後にスタータ10の駆動を直ちに停止することとしている。噛み合い不良の判定方法について具体的には、図2に示すように、aスタータ駆動指令がなされていることbスタータ端子に電圧印加されていることの2つの条件が成立しており、かつ噛み合い不良を特定するための異常判定条件として、c1モータ11の回転開始後において、モータ11の回転負荷が無負荷又は低負荷駆動の状態であることc2リングギヤ25の歯部の通過速度よりもピニオン14の歯部の通過速度の方が速いことを含む全ての条件が成立した場合に噛み合い不良が生じているものと判断する。ここで、条件aについては、SL1駆動リレー27及びSL2駆動リレー28にオン信号が出力されている場合に該条件が成立しているものと判定する。また、条件bは、SL1電圧センサ33及びSL2電圧センサ34の検出値に基づいて判定し、例えばセンサ検出値が判定値よりも大きい場合に、スタータ端子に電圧印加されているものと判定する。条件c1は、例えばバッテリ電圧センサ35の検出値に基づいて判定する。具体的には、図3に示すように、SL2駆動リレー28のオン後において、オフ時におけるバッテリ電圧Vo例えば14Vに対して電圧がどれだけ変動したかの推移を電圧変動幅ΔVBとして検出する。そして、検出した電圧変動幅ΔVBが第1判定値V1よりも大きい場合図3の実線の場合、モータ11の回転負荷がクランキング実施時と同等であると判定する。一方、電圧変動幅ΔVBが第1判定値V1以下の場合図3の一点鎖線の場合、モータ11の回転開始後におけるモータ回転負荷がクランキング時よりも小さい、つまりモータ11が無負荷又は低負荷の状態であると判定する。なお、条件c1の判定は、バッテリ12の電圧変動幅に基づく方法に限らず、例えばモータトルクをトルクセンサにより検出するか又はエンジン回転速度に基づいて算出し、その検出値又は算出値に基づいて行ってもよい。条件c2について、本実施形態では、エンジン回転速度リングギヤ回転速度が0になったか否かを検出することによって該条件の成否を判定している。具体的には、スタータ10の駆動開始後において、クランク角信号の更新が行われず、かつその更新しない時間が所定時間T1以上継続した場合にNE信号更新判定フラグf1をオンにすることとし、このNE信号更新判定フラグf1に基づいて上記c2の条件の成否を判定する。図4は、噛み合い不良が生じた場合の具体的態様を示すタイムチャートである。図中、aはピニオン駆動指令SL1駆動リレー27のオン指令の推移、bはモータ駆動指令SL2駆動リレー28のオン指令の推移、cはSL1電圧センサ33の検出値の推移、dはSL2電圧センサ34の検出値の推移、eはバッテリ12の電圧変動幅ΔVBの推移、fはクランク角信号の推移、gはNE信号更新判定フラグf1の推移、hは噛み合い不良発生フラグfaの推移を示す。なお、eの電圧変動幅ΔVBについては、SL2駆動リレー28のオン後におけるバッテリ電圧の変動幅が第1判定値V1よりも大きい場合にローレベルの検出信号が出力され、第1判定値V1以下の場合にハイレベルの検出信号が出力されるようになっている。また、図4では、自動停止条件の成立に伴いエンジン20の燃焼を停止した後のエンジン回転降下中に再始動条件が成立した場合を想定している。図4において、再始動条件の成立に伴い、タイミングt11でピニオン駆動指令がオンされ、かつタイミングt12でモータ駆動指令がオンされることにより、スタータ端子に電圧が印加された状態になる。これにより、ピニオン14のリングギヤ25への押し出し及びモータ11の駆動が開始される。このとき、ピニオン14とリングギヤ25との噛み合いが生じ、ピニオン14からリングギヤ25への動力伝達が行われれば、eに一点鎖線で示すように、バッテリ12の電圧変動幅ΔVBが第1判定値V1よりも大きい状態が継続する。一方、噛み合いが生じなかった場合には、ピニオン14からリングギヤ25への動力伝達が行われず、eに実線で示すように、バッテリ12の電圧変動幅ΔVBが第1判定値V1以下の状態が継続する。また、エンジン回転速度は徐々に0に近付き、gに示すように、クランク角信号のパルス幅が徐々に大きくなっていった後、やがてパルスの更新が生じなくなる。そして、パルス更新が所定時間T1の間継続して行われないと、タイミングt13でNE信号更新判定フラグf1がオンされる。このタイミングt13では、噛み合い不良を特定するための全ての条件が成立したものとして、噛み合い不良発生フラグfaがオンされ、そのフラグ情報が異常発生情報として不揮発性メモリに記憶される。また、図4のa、bに示すように、その判定タイミングt13の直後にピニオン14の駆動停止及びモータ11の駆動停止が指令される。これにより、スタータ10の駆動が直ちに停止される。2連続クランキングスタータ駆動の開始後において、ピニオン14とリングギヤ25との噛み合いは生じているが、スタータ10によるエンジン20のクランキングが継続する異常として連続クランキングが発生することがある。この連続クランキングが生じる原因としては、例えば、エンジン20の燃焼が再開されない、バッテリ電圧が不足している、ピストン上死点の乗り越しのために過大な負荷が必要な条件下例えば温度条件などである等が考えられる。この場合にも、スタータ駆動を一旦強制停止し、その停止後にスタータ10への通電を再度実施することにより、エンジン再始動をやり直すようにしている。ただし、連続クランキングの場合には、噛み合い不良の場合とは異なり、スタータ駆動を即停止させるほどの緊急性はさほど高くないと考えられる。また、この場合には、ピニオン14とリングギヤ25との噛み合いは生じていることから、スタータ駆動をもう少し継続することでエンジン20を始動できる可能性があると考えられる。そこで、本実施形態では、エンジン始動できない異常内容が連続クランキングによるものである場合、異常内容を特定した時点でその異常発生情報を記憶した上で、該異常内容の特定後、所定のディレイ時間Tdy1が経過してからスタータ10の駆動停止を指令することとしている。このディレイ時間Tdy1は、噛み合い不良の発生時において、異常内容を特定してから噛み合い不良発生フラグfaをオンしてからスタータ10の駆動停止を指令するまでに要する時間よりも長く設定してあり、本実施形態では数秒例えば2~3秒としてある。次に、連続クランキングの判定方法について図5を用いて具体的に説明する。連続クランキングについては、図5に示すように、aスタータ駆動指令がなされていることbスタータ端子に電圧印加されていることの2つの条件が成立しており、かつ連続クランキングを特定するための異常判定条件として、d1スタータ駆動指令から所定時間が経過したことd2エンジン20が回転していることエンジン回転速度が0よりも大きいことd3エンジン20の燃焼が再開されないことを含む全ての条件が成立した場合に当該異常が生じているものと判断する。条件d3について、本実施形態ではクランク角センサ31で検出したエンジン回転速度に基づいて行う。具体的には、エンジン回転速度が、エンジン20の着火が行われたことを示す着火回転速度例えば500~600rpmに到達していない場合に、条件d3が成立しているものと判定する。図6は、連続クランキングが生じた場合の具体的態様を示すタイムチャートである。図中、aはピニオン駆動指令の推移、bはモータ駆動指令の推移、cはSL1電圧センサ33の検出値の推移、dはSL2電圧センサ34の検出値の推移、eはクランク角信号の推移、fはNE信号更新判定フラグf1の推移、gは着火判定フラグf2の推移、hは連続クランキング発生フラグfbの推移を示す。図6では、自動停止条件の成立に伴いエンジン20の燃焼を停止した後のエンジン回転降下中に再始動条件が成立した場合を想定している。図6において、再始動条件の成立に伴いタイミングt21でピニオン駆動指令がオンされ、かつタイミングt22でモータ駆動指令がオンされることにより、スタータ端子に電圧が印加された状態になる。これにより、ピニオン14がリングギヤ25に向かって押し出されるとともに、モータ11の駆動が開始される。この場合、ピニオン14とリングギヤ25との噛み合いが生じ、かつエンジン20の燃焼が再開されれば、エンジン回転速度が着火回転速度に到達し、gに一点鎖線で示すように、着火判定フラグf2がオンされる。これに対し、ピニオン14とリングギヤ25との噛み合い後においてエンジン回転速度が着火回転速度に到達しない場合、e,gに示すように、スタータ10からクランク軸24に回転力が付与されることによってクランク角信号は逐次更新されるが、着火判定フラグf2はオフのままとなる。そして、モータ11の回転開始から所定時間T2継続した場合に、タイミングt23において、連続クランキングを特定するための全ての条件が成立したものとして連続クランキング発生フラグfbがオンされ、そのフラグ情報が異常発生情報として不揮発性メモリに記憶される。また、a、bに示すように、タイミングt23からディレイ時間Tdy1が経過した後のタイミングt24で、ピニオン駆動指令及びモータ駆動指令がオフされ、スタータ10の駆動が停止される。なお、本実施形態では、タイミングt23からディレイ時間Tdy1が経過する前にエンジン20が再始動された場合にも、連続クランキングに関する異常発生情報が不揮発性メモリに記憶される。したがって、不揮発性メモリ内の情報を参照することで、該異常の発生履歴を把握することができる。3非回転異常連続ロックスタータ駆動の開始後では、ピニオン14とリングギヤ25との噛み合いは生じているが、エンジン回転速度が上昇しない異常である非回転異常連続ロックが発生することがある。この連続ロックが生じる原因としては、例えば、エンジン20の出力軸が何らかの理由で非回転状態になっている、登坂路でのエンジン再始動時においてエンジン側からスタータ側に動力が伝達された状態になっている等が考えられる。この場合、スタータ駆動を一旦強制停止し、その停止後にスタータ10への通電を再度実施することにより、エンジン再始動をやり直すようにしている。連続ロックの場合にも、連続クランキングの場合と同様に、スタータ駆動を即停止させるほどの緊急性はさほど高くないものと考えられる。また、連続ロックの発生時においてスタータ駆動を継続した場合、噛み合いは生じていることから、エンジン20を始動できる可能性がある。したがって、エンジン始動できない異常内容が連続ロックである場合には、異常内容を特定した時点でその異常発生情報を記憶した上で、異常内容を特定してから所定のディレイ時間Tdy2が経過した後にスタータ10の駆動停止を指令することとしている。なお、ディレイ時間Tdy2は、噛み合い不良の発生時において、異常発生を特定してから噛み合い不良発生フラグfaをオンしてからスタータ10の駆動停止を指令するまでに要する時間よりも長く設定してあり、本実施形態では数秒例えば2~3秒としてある。このディレイ時間Tdy2は、連続クランキングの場合のディレイ時間Tdy1と同じ時間でも異なる時間でもよい。次に、連続ロックの検出方法について図7を用いて具体的に説明する。連続ロックについては、図7に示すように、aスタータ駆動指令がなされていることbスタータ端子に電圧印加されていることの2つの条件が成立しており、かつ連続ロックを特定するための異常判定条件として、e1モータ11が高負荷駆動の状態であることe2エンジン20が回転していないことエンジン回転速度が略0であることを含む全ての条件が成立した場合に連続ロックが生じているものと判断する。異常判定条件のうち条件e1は、例えばバッテリ電圧センサの検出値に基づいて判定する。具体的には、上記の図3に示すように、SL2駆動リレー28のオン後における電圧変動幅ΔVBに基づいて判定する。このとき、電圧変動幅ΔVBが第2判定値V2>V1よりも小さい場合図3の実線の場合に、モータ11が、ピニオン14とリングギヤ25との噛み合い状態と同等の回転負荷状態にあると判定する。一方、電圧変動幅ΔVBが第2判定値V2以上の場合図3の二点鎖線の場合に、モータ11が高負荷の状態であると判定する。なお、条件e1についても、例えばモータトルクをトルクセンサにより検出するか又はエンジン回転速度に基づいて算出し、その検出値又は算出値に基づいて判定してもよい。図8は、連続ロックが生じた場合の具体的態様を示すタイムチャートである。図中、aはピニオン駆動指令の推移、bはモータ駆動指令の推移、cはSL1電圧センサ33の検出値の推移、dはSL2電圧センサ34の検出値の推移、eはバッテリ12の電圧変動幅ΔVBの推移、fはクランク角信号の推移、gはNE信号更新判定フラグf1の推移、hは連続ロック発生フラグfcの推移を示す。なお、eの電圧変動幅ΔVBについては、SL2駆動リレー28のオン後におけるバッテリ電圧の変動幅が第2判定値V2よりも小さい場合にローレベルの検出信号が出力され、第2判定値V2以上の場合にハイレベルの検出信号が出力されるようになっている。図8において、再始動条件の成立に伴いタイミングt31でピニオン駆動指令がオンされ、かつタイミングt32でモータ駆動指令がオンされることにより、スタータ端子に電圧が印加された状態になる。これにより、ピニオン14がリングギヤ25に向かって押し出されるとともに、モータ11の駆動が開始される。この場合、ピニオン14とリングギヤ25との噛み合いが生じ、かつエンジン20の燃焼が再開されれば、その燃焼エネルギによりエンジン回転速度が上昇し、クランク角信号が逐次更新される。これに対し、連続ロックが生じている場合には、e、fに示すように、モータ11が高負荷状態であって、かつクランク角信号が更新されない状態が検出される。この場合、スタータ10の駆動開始から所定時間T3が経過した後のタイミングt33で、NE信号更新判定フラグf1がオンされ、なお、時間T3については、噛み合い不良時における時間T1と同じでも異なっていてもよい。このタイミングt33では、連続ロックを特定するための全ての条件が成立したものとして、連続ロック発生フラグfcがオンされる。また、タイミングt33から所定のディレイ時間Tdy2が経過した後のタイミングt34において、ピニオン駆動指令及びモータ駆動指令がオフされ、スタータ10の駆動が停止される。なお、連続ロック発生時についても連続クランキングの場合と同様に、タイミングt33からディレイ時間Tdy2が経過する前にエンジン20が再始動された場合にも、連続ロックに関する異常発生情報が不揮発性メモリに記憶される。したがって、不揮発性メモリ内の情報を参照することで、該異常の発生履歴を把握することができる。次に、本実施形態のエンジン始動時における異常診断処理について図9を用いて説明する。この処理は、ECU40のマイコンにより所定周期毎に実行される。図9において、ステップS11では、エンジン自動停止条件の成立後において、エンジン再始動条件が成立したか否かを判定する。ステップS11がYESの場合、ステップS12へ進み、SL1駆動リレー27がオン状態であって、かつSL2駆動リレー28がオン状態であるか否かを判定する。なお、SL1駆動リレー27及びSL2駆動リレー28のオン/オフ制御は、図示しない別ルーチンにより実行される。ステップS12がYESの場合、ステップS13へ進み、モータ回転負荷に関する情報として、バッテリ12の電圧変動幅ΔVBを取得する。また、ステップS14では、クランク角信号に関する情報として、NE信号更新判定フラグf1及び着火判定フラグf2を取得する。ステップS15では、c1モータ11が無負荷又は低負荷駆動の状態であること、及びc2リングギヤ25の歯部の通過速度よりもピニオン14の歯部の通過速度の方が速いこと、の2つの条件の成否を判定する。ここでは、バッテリ12の電圧変動幅ΔVBが第1判定値V1以下であり、かつNE信号更新判定フラグf1がオンである場合に肯定判定され、ステップS16へ進む。ステップS16では、噛み合い不良発生フラグfaをオンにし、そのフラグ情報を異常発生情報として不揮発性メモリに記憶する。ステップS17では、噛み合い不良発生フラグfaのオン後、直ちにSL1駆動リレー27に対しオフ指令するとともに、SL2駆動リレー28に対しオフ指令する。これにより、スタータ10の駆動が即停止される。その後、噛み合い不良発生フラグfaをオフに切り替える。さて、ステップS18では、d1スタータ駆動指令から所定時間T2が経過したこと、d2エンジン20が回転していること、及びd3エンジン20の燃焼が再開されないこと、の3つの条件の成否を判定する。ここでは、SL2駆動リレーONから時間T2が経過し、かつNE信号更新判定フラグf1がオフ、着火判定フラグf2がオフの場合に肯定判定され、ステップS19へ進む。なお、ステップS18では、条件d1~d3に加え、d4モータ回転負荷が所定の正常範囲であること、の条件の成否を判定してもよい。この場合、電圧変動幅ΔVBが第1判定値V1よりも大きく第2判定値V2未満である場合に該条件が成立しているものと判定し、ステップS19へ進む。ステップS19では、連続クランキング発生フラグfbをオンにし、そのフラグ情報を異常発生情報として不揮発性メモリに記憶する。ステップS20では、連続クランキング発生フラグfbをオンしてから所定のディレイ時間Tdy1が経過したか否かを判定し、ディレイ時間Tdy1が経過した場合にはSL1駆動リレー27に対しオフ指令するとともに、SL2駆動リレー28に対しオフ指令する。その後、連続クランキング発生フラグfbをオフに切り替える。ステップS21では、e1モータ11が高負荷駆動の状態であること、及びe2エンジン20が回転していないこと、の2つの条件の成否を判定する。ここでは、電圧変動幅ΔVBが第2判定値V2以上であり、かつNE信号更新判定フラグf1がオンである場合に肯定判定され、ステップS22へ進む。ステップS22では、連続ロック発生フラグfcをオンにし、そのフラグ情報を異常発生情報として不揮発性メモリに記憶する。ステップS23では、連続ロック発生フラグfcをオンしてから所定のディレイ時間Tdy2が経過したか否かを判定し、ディレイ時間Tdy2が経過した場合にはSL1駆動リレー27に対しオフ指令するとともに、SL2駆動リレー28に対しオフ指令する。その後、連続ロック発生フラグfcをオフに切り替える。ステップS15、S18及びS21で否定判定された場合、ステップS24へ進む。ステップS24では、SL1駆動リレー27をオン状態にしてからの経過時間が判定時間Time1を超えたか、又はSL2駆動リレー28をオン状態にしてからの経過時間が判定時間Time2を超えたか否かを判定する。そして、ステップS24がYESの場合、ステップS17へ進み、SL1駆動リレー27に対しオフ指令するとともに、SL2駆動リレー28に対しオフ指令する。以上詳述した本実施形態によれば、次の優れた効果が得られる。エンジン20を始動できない場合に、その異常内容を、該異常内容ごとに予め定めた異常判定条件に基づいて特定し、特定された異常内容に応じて、異常判定条件が成立してからスタータの駆動停止を指令するまでの時間を可変にする構成とした。よって、エンジン20を始動できない原因に応じた適切なタイミングでスタータ10を駆動停止することができる。その結果、エンジン始動制御の適正化を図ることができる。エンジン20を始動できない原因が噛み合い不良である場合に、その異常特定した直後にスタータ10の駆動停止を指令する構成とした。これにより、エンジン20のクランキングが実施不能な状況でのスタータ駆動や、ピニオン14やリングギヤ25の磨耗が生じるおそれがある状況でのスタータ駆動を回避することができる。エンジン20を始動できない原因が連続クランキングや連続ロックである場合に、その異常を特定して異常発生情報を記憶した後、所定のディレイ時間Tdy1,Tdy2が経過した後にスタータ10の駆動停止を指令する構成とした。この場合、異常内容を特定してからスタータ駆動を強制停止するまでの間に猶予期間が設けられるため、スタータ10によるクランキングの実施期間が長くなり、その結果、エンジン始動できる可能性を高めることができる。他の実施形態本発明は、上記実施形態の記載内容に限定されず、例えば次のように実施されてもよい。噛み合い不良の異常判定条件のうち、条件c2について、エンジン回転速度NEが0になり、かつNE=0が所定時間継続した場合に条件c2が成立したものと判定したが、リングギヤ回転速度とモータ回転速度とをそれぞれセンサ等により検出し、それらの比較結果に基づいて判定してもよい。このとき、リングギヤ回転速度に対するモータ回転速度の相対回転速度差が判定値よりも大きい場合に上記c2が成立したものと判定するとよい。連続クランキング及び連続ロックについて、異常発生情報の過去の履歴を参照し、その履歴に基づいてディレイ時間を設定する構成としてもよい。例えば、連続クランキング発生フラグfb、連続ロック発生フラグfcのオンへの切り替え回数が判定値を超えた場合にディレイ時間をゼロにする。つまり、フラグのオン後、直ちにスタータ駆動を強制停止させる。あるいは、該切り替え回数が多いほどディレイ時間を短くしてもよい。噛み合い不良の判定方法は、条件c1及び条件c2の成否によるもの以外であってもよい。例えば、ピニオン14とリングギヤ25との噛み合いが生じたか否かを判定するためのセンサ等の噛み合い判定手段を設け、その噛み合い判定手段による判定結果に基づいて、ピニオン14とリングギヤ25とが噛み合った状態であるか否かを判定する。具体的には、例えばピニオン14又はリングギヤ25の近傍にセンサを配置し、同センサの検出値を用いて判定する。また、ピニオン14とリングギヤ25とが噛み合った状態において両者のギヤ間で通電可能に構成し、同通電があった場合にピニオン14とリングギヤ25との噛み合い完了と判定する構成としてもよい。エンジン20の気筒内圧力を検出する筒内圧センサや、エンジン20の出力トルクを検出するトルクセンサを設け、それらセンサの検出結果に基づいて、連続クランキングにおける条件d2の成否を判定する構成としてもよい。要は、条件d2については、エンジン始動の際における燃料噴射及び点火の開始に伴い、エンジン20の燃焼が正常に開始されたことを判定するものであればよい。上記実施形態では、アイドルストップ制御によるエンジン再始動時に異常が生じた場合について説明したが、キー操作によるエンジン始動の場合に適用してもよい。上記実施形態では、ピニオン14の押し出しとモータ11の駆動とを独立して制御可能なスタータ10を本発明に適用する場合を説明したが、ピニオン14の押し出しを行うことによってモータ11が駆動される従来のスタータを本発明に適用してもよい。ガソリンエンジンを適用する場合について説明したが、ディーゼルエンジンを本発明に適用する構成であってもよい。"