"吸気量を調整するスロットル23を備え、クランキングにより始動する内燃エンジン1の始動制御方法において:内燃エンジン1のクランキング開始を検出し;クランキング開始時にはスロットル23を閉鎖し;内燃エンジン1のクランキング開始からのストローク数または回転数をカウントし;カウント数が所定数に達したかどうかを判定し;カウント数が所定数に達した時点でスロットル23を開動する;内燃エンジン1の始動制御方法。所定数は、その後も実吸気負圧が発達し、かつ目標アイドル回転速度の維持に必要な吸入空気量が得られるように予め設定される、請求項1の内燃エンジン1の始動制御方法。スロットル23が目標アイドル回転速度相当のスロットル開度に達するとスロットル23の開動を停止する、請求項1または2の内燃エンジン1の始動制御方法。始動した内燃エンジン1の回転速度が所定の目標アイドル回転速度に達したかどうかを判定し、判定が肯定的な場合に、点火タイミング遅角させる、請求項1から3のいずれかの内燃エンジン1の始動制御方法。吸気量を調整するスロットル23を備え、クランキングにより始動する内燃エンジン1の始動制御装置において:内燃エンジン1のクランキング開始を検出するセンサ36と;次のようにプログラムされたプログラマブルコントローラ31:クランキング開始時にはスロットルを閉鎖し;内燃エンジンのクランキング開始からのストローク数または回転数をカウントし;カウント数が所定数に達したかどうかを判定し;カウント数が所定数に達した時点でスロットルを開き始める;とを備える内燃エンジン1の始動制御装置。内燃エンジン1の回転速度を検出するクランク角センサ33,34をさらに備え、コントローラ31はクランク角センサ33,34の出力信号の脈動に基づきストローク数及び回転数の一方をカウントするようにさらにプログラムされる、請求項5の内燃エンジン1の始動制御装置。内燃エンジン1の吸入負圧を検出する圧力センサ38を更に備え、コントローラ31は圧力センサ38の出力信号の脈動に基づきストローク数及び回転数の一方をカウントするようにさらにプログラムされる、請求項6の内燃エンジン1の始動制御装置。図面のFIG.1を参照すると、車両用の内燃エンジン1はスロットル23で調量した空気を吸気コレクタ2に蓄えた後、吸気マニホールド3及び吸気バルブ15を介して各気筒の燃焼室5に吸入する。内燃エンジン1は多気筒火花点火式の往復動型エンジンで構成される。各気筒の吸気ポート4には燃料インジェクタ21が設けられる。燃料インジェクタ21は所定のタイミングで燃料を吸気ポート4内に向けて間欠的に噴射供給する。吸気ポート4に噴射された燃料は、吸入空気と混合して混合気を形成する。混合気は吸気バルブ15を閉じることで燃焼室5内に閉じこめられる。各気筒の燃焼室5内に閉じこめられた混合気は、各気筒に備えるピストン6の上昇によって圧縮され、点火プラグ14により着火して燃焼する。燃焼によるガス圧はピストン6を押し下げ、ピストン6に往復運動をもたらす。ピストン6の往復運動はクランクシャフト7の回転運動へと変換される。燃焼後のガスは排気バルブ16を介して排気として排気通路8へ排出される。排気通路8は各気筒に接続された排気マニホールドを備える。排気マニホールドにはスタートアップ触媒としての第1触媒9が設けられる。排気通路8は車両の床下に至る。床下部分の排気通路8には第2触媒10が設けられる。第1触媒9と第2触媒10は、例えばいずれも三元触媒で構成される。三元触媒は空燃比が理論空燃比を中心とした狭い範囲にある場合に、排気に含まれるHC、一酸化炭素CO及び窒素酸化物NOxを同時に効率よく除去できる。内燃エンジン1の運転はエンジンコントローラ31によって制御される。具体的にはエンジンコントローラ31はスロットル23の吸入空気量、燃料インジェクタ21の燃料噴射量、及び点火プラグ14の点火タイミングを制御する。エンジンコントローラ31は中央演算装置CPU、読み出し専用メモリROM、ランダムアクセスメモリRAM及び入出力インタフェースI/Oインタフェースを備えたマイクロコンピュータで構成される。エンジンコントローラ31を複数のマイクロコンピュータで構成することも可能である。上記の制御のために、エンジンコントローラ31には、吸入空気量を検出するエアフローメータ32、内燃エンジン1の基準回転位置と単位角度の回転とを検出するクランク角センサ、排気中の酸素濃度を検出する排気通路8の第1触媒9の上流に設けた酸素センサ35、車両のアクセルペダル41の踏み込み量を検出するアクセルペダル踏み込み量センサ42,車両のドライバが内燃エンジン1のクランキングを指示するスタータスイッチ36、及びエンジン冷却水温を検出する水温センサ37から、それぞれ検出値に相当する信号が入力される。クランク角センサは、内燃エンジン1の単位角度の回転を検出するポジションセンサ33と、内燃エンジン1の基準回転位置を検出するフェーズセンサ34からなる。エンジンコントローラ31はこれらの入力信号に基づいて燃料インジェクタ21の基本燃料噴射量を定めるとともに、第1触媒9の上流に設けた酸素センサ35からの入力信号に基づいて燃焼室5に形成される空燃比をフィードバック制御する。内燃エンジン1の冷間始動時には触媒9,10を早期に活性化すると共に、酸素センサ35をも早期に活性化して空燃比のフィードバック制御を早期に実現することが望ましい。そのため、酸素センサ35は始動直後からヒータによって加熱される。エンジンコントローラ31は酸素センサ35からの入力信号から、酸素センサ35の活性化を判定する。エンジンコントローラ31は酸素センサ35が活性化すると空燃比のフィードバック制御を開始する。触媒9と10は三元触媒に限定されない。例えば、エンジンの暖機完了後の燃費向上のため、低負荷運転領域において理論空燃比よりもリーンな混合気を燃焼室5に供給してリーン空燃比で運転を行う車両がある。こうした車両では、リーン空燃比のもとで多く発生するNOxを吸収する必要がある。そこで、第2触媒10をNOxトラップ触媒で構成し、NOxトラップ触媒に三元触媒機能を持たせている。こうした触媒を使用する車両にもこの発明は適用可能である。スロットル23の吸入空気量の制御は、スロットル23を駆動するスロットルモータ24の制御によって行われる。ドライバの要求トルクはアクセルペダル41の踏み込み量として入力される。エンジンコントローラ31はアクセルペダルの踏み込み量に基づき目標トルクを定める。エンジンコントローラ31は目標トルクを実現するための目標吸入空気量を計算し、目標吸入空気量に対応する信号をスロットルモータ24に出力することで、スロットル23の開度を制御する。内燃エンジン1は、吸気バルブ15のバルブリフト量を連続的に変化させる多節リンクで構成される可変バルブリフト機構26と、クランクシャフト7と吸気バルブ用カムシャフト25との回転位相差を連続的に可変制御して、吸気バルブ15の開閉タイミングを進角または遅角させる可変バルブタイミング機構27とを備える。エンジンコントローラ31は内燃エンジン1の始動時に下記の制御を行なう。1クランキング後にエンジン回転速度がアイドル時の目標回転速度に到達したタイミングで点火タイミングを始動用の点火タイミングから所定の点火タイミング、例えば触媒暖機促進用の点火タイミング、へとステップ的に、もしくは少なくともエンジン回転速度の吹け上がりを防止できる十分な速さの変化速度で、遅角し;2エンジン回転速度が目標アイドル回転速度に到達したタイミングでエンジン回転速度をアイドル時の目標回転速度に保持させるに必要な吸入空気量が燃焼室5に供給されるように、エンジン回転速度が目標アイドル回転速度に到達するタイミングよりも所定期間前にスロットル23を開き始める。以上の制御により、第1触媒9の暖気が促進される。また、エンジン回転速度が目標アイドル回転速度に到達した後の吹け上がりを抑制するとともに、空燃比を理論空燃比で安定させることで排気中のHCの増加防止が図られる。このためにエンジンコントローラ31が実行する制御ルーチンを次に説明する。なお、最初にFIGS.2-5を参照して、前記従来技術による、内燃エンジン1の始動時における点火タイミング、スロットル開度、及び燃料噴射量の制御を説明し、その後にこの発明に固有の制御を説明する。FIG.2は完爆フラグと目標アイドル回転到達フラグの設定ルーチンを示す。エンジンコントローラ31は、車両が備えるイグニッションスイッチがONの状態でこのルーチンを一定間隔、例えば100ミリ秒ごと、に実行する。なお、エンジンコントローラ31はイグニッションスイッチがOFFからONに切り換わることで起動し、イグニッションスイッチがONの間は常に稼働状態にあるものとする。ステップS1で、エンジンコントローラ31はエンジン回転速度Neを読み込む。エンジン回転速度Neはポジションセンサ33とフェーズセンサ34とで構成されたクランク角センサからの入力信号に基づいて算出される。ステップS2で、エンジンコントローラ31は完爆フラグを判定する。完爆フラグは内燃エンジン1が完爆しているかどうかを示すフラグであり、イグニッションスイッチがOFFよりONに切り換わると同時にゼロに初期設定される。このため、最初のルーチン実行時には完爆フラグ=0である。完爆フラグ=0の場合には、エンジンコントローラ31はステップS3で、エンジン回転速度Neと完爆回転速度N0を比較する。完爆回転速度N0は内燃エンジン1が完爆したかどうかを判定するための値であり、例えば1000回転/分rpmとする。エンジン回転速度Neが完爆回転速度N0に到達していなければ、エンジンコントローラ31は直ちにルーチンを終了する。一方、エンジン回転速度Neが完爆回転速度N0に到達している場合には、すなわち、Ne≧N0の場合には、エンジンコントローラ31はステップS4で完爆フラグを1にセットする。次のステップS5、エンジンコントローラ31はタイマを起動する。タイマはエンジン回転速度Neが完爆回転速度N0に到達したタイミングからの経過時間を計測するもので、タイマの起動とともにタイマ値TIMEがゼロにリセットされる。ステップS5の処理の後、エンジンコントローラ31はルーチンを終了する。このようにして、ステップS4で完爆フラグが1にセットされると、次回移行のルーチン実行では、ステップS2の判定が肯定的に転じ、その結果ステップS6-S8の処理が行なわれる。ステップS6で、エンジンコントローラ31はタイマ値TIMEを所定値DTと比較する。所定値DTは、エンジン回転速度Neが完爆回転速度N0に到達したタイミングから目標アイドル回転速度NSETに到達するタイミングまでの時間間隔を意味する。所定値DTは実験もしくはシミュレーションにより予め設定される。タイマを起動した直後のタイマ値TIMEは所定値DT未満であるので、ステップS6の判定は否定的となる。その場合には、エンジンコントローラ31はステップS7でタイマ値TIMEを所定のインクリメントのもとで増量する。所定のインクリメントはルーチンの実行周期に対応した値とする。このようにして、タイマ値TIMEはルーチン実行のつど増大する。その結果、タイマ値TIMEが所定値DT以上となり、ステップS6の判定が否定的から肯定的に転じる。その場合に、エンジンコントローラ31はステップS8で目標アイドル回転速度NSETに到達したことを示す目標アイドル回転到達フラグを1にセットする。なお、目標アイドル回転到達フラグはイグニッションスイッチのOFFからONへの切り換わりに伴ってゼロに初期設定されるフラグである。ステップS7またはS8の処理の後、エンジンコントローラ31はルーチンを終了する。以上のように、エンジンコントローラ31はイグニッションスイッチがOFFからONに転じた直後から、完爆フラグと目標アイドル回転到達フラグの設定ルーチンを一定周期で繰り返し実行することで、内燃エンジン1の完爆と目標アイドル回転速度への到達とを判定し、対応するフラグを設定する。なお、ステップS6では、内燃エンジン1が完爆してから所定値DT相当の時間が経過することで、エンジン回転速度が目標アイドル回転速度NSETに到達したと判定している。しかしながら、この判定に関しては、クランク角センサが検出するエンジン回転速度Neを目標アイドル回転速度NSETと直接比較することももちろん可能である。FIG.3は点火タイミング及びスロットル開度の制御ルーチンを示す。エンジンコントローラ31は、イグニッションスイッチがONの状態でこのルーチンをFIG.2のルーチンに引き続いて一定間隔、例えば100ミリ秒ごと、に実行する。ステップS21で、エンジンコントローラ31は今回のルーチン実行タイミングが、イグニッションスイッチがOFFからONへ切り換わった直後であるかどうかを判定する。ステップS21の判定が肯定的な場合は、エンジンコントローラ31はステップS22で、水温センサ37が検出する内燃エンジン1の冷却水温TWを始動時水温TWINTとして取り込む。エンジンコントローラ31は始動時水温TWINTに応じて第1点火タイミングADV1を算出する。第1点火タイミングADV1はエンジン始動に最適な点火タイミングであり、ここでは通常運転時の点火タイミングより大幅に進角した値として算出される。ステップS23で、エンジンコントローラ31は点火タイミング指令値ADVを算出した第1点火タイミングADV1に等しく設定する。ステップS24ではスロットル目標開度tTVOに初期値を入れる。初期値は例えばゼロとする。ステップS24の処理の後、エンジンコントローラ31はルーチンを終了する。一方、ステップS21の判定が否定的な場合は、エンジンコントローラ31は、ステップS25で完爆フラグが1であるかどうかを判定する。完爆フラグが1でない場合は、エンジンコントローラ31は、ステップS27で点火タイミング指令値ADVを前回値に等しく設定する。このようにして、内燃エンジン1が完爆したと判定されるまで、点火タイミング指令値ADVは第1点火タイミングADV1に維持される。ステップS27の処理の後、エンジンコントローラ31は、ステップS24でスロットル目標開度tTVOに初期値のゼロを入れてルーチンを終了する。このようにして、内燃エンジン1のクランキング開始後、完爆に至るまでの期間においては、点火タイミング指令値ADVは第1点火タイミングADV1に維持され、スロットル目標開度tTVOはゼロに維持される。一方、ステップS25の判定において、完爆フラグが1の場合は、エンジンコントローラ31はステップS26で目標アイドル回転到達フラグが1であるかどうかを判定する。目標アイドル回転到達フラグが1でない場合は、エンジンコントローラ31はステップS28で点火タイミング指令値ADVを前回値に等しく設定する。したがって、内燃エンジン1が完爆したと判定された後も、タイマ値TIMEが所定値DTに達するまで、言い換えればエンジン回転速度Neが目標アイドル回転速度NESTに達するまでは、点火タイミング指令値ADVは第1点火タイミングADV1に等しい値に維持される。ステップS28の処理の後、エンジンコントローラ31はステップS29でスロットル目標開度tTVOを次式1により算出する。tTVO=tTVO前回ΔTVO1ただし、ΔTVO=一定値;tTVO前回=tTVOの前回値。式1のtTVO前回はスロットル目標開度の前回値であり、初期値はゼロである。式1の所定増分ΔTVOはスロットル目標開度の所定時間当たりの増量分を定めた値である。所定増分ΔTVOは、エンジン回転速度Neが目標アイドル回転速度NSETに到達するタイミングで、スロットル目標開度tTVOが目標アイドル開度TVO1に到達するように定められる。ここで、目標アイドル開度TVO1は内燃エンジン1が目標アイドル回転速度NSETを維持可能なトルクを発生させるのに必要な最低の吸入空気量に対応するスロットル開度である。目標アイドル開度TVO1の値は実験もしくはシミュレーションにより予め設定される。ステップS29でスロットル目標開度tTVOを設定した後、エンジンコントローラ31はステップS30でスロットル目標開度tTVOと目標アイドル開度TVO1を比較する。ステップS26の判定が初めて否定的に転じた状態、すなわちエンジン回転速度Neが目標アイドル回転速度NESTに到達した直後は、スロットル目標開度tTVOは目標アイドル開度TVO1を超えない。その場合には、エンジンコントローラ31はそれ以上の処理を行なうことなくルーチンを終了する。次回以降のルーチン実行においては、ステップS29の処理の実行により、ルーチン実行ごとにスロットル目標開度tTVOが所定増分ΔTVOずつ増加する。その結果、スロットル目標開度tTVOが目標アイドル開度TVO1を超過し、ステップS30の判定が肯定的に転じると、エンジンコントローラ31はステップS31でスロットル目標開度tTVOをTVO1に維持する。ステップS31の処理の後、エンジンコントローラ31はルーチンを終了する。以後のルーチン実行においては、したがって、ルーチンの実行を重ねてもスロットル目標開度tTVOは増量されずに目標アイドル開度TVO1に維持される。一方、ステップS26の判定において、目標アイドル回転到達フラグが1になると、エンジンコントローラ31はステップS32で、水温センサ37が検出する内燃エンジン1の冷却水温TWに応じて第2点火タイミングADV2を算出する。第2点火タイミングADV2は例えば内燃エンジン1の冷間始動時における第1触媒9の暖機促進用の点火タイミングに設定することができる。あるいは、吸入空気量を急に増大させることでエンジン回転速度がオーバーシュート気味になるのを抑制するために、一時的に遅角側の点火タイミングを設定することもできる。このようにして、第2点火タイミングADV2は第1点火タイミングADV1より遅角した値として算出される。次のステップS33でエンジンコントローラ31は点火タイミング指令値ADVを第2点火タイミングADV2に等しく設定する。以上の処理の結果、エンジン回転速度Neが目標アイドル回転速度NSETに到達すると同時に、点火タイミング指令値ADVは第1点火タイミングADV1から第2点火タイミングADV2へとステップ的に切り換えられる。ステップS34で、エンジンコントローラ31はスロットル目標開度tTVOを前回と同じ値、すなわちTVO1に維持する。ステップS34の処理の後、エンジンコントローラ31はルーチンを終了する。このようにして、エンジン回転速度Neが目標アイドル回転速度NSETに到達した後は、点火タイミング指令値ADVが第2点火タイミングADV2へとステップ的に切り換えられる。一方、スロットル目標開度tTVOは目標アイドル開度TVO1に維持される。ここでは、点火タイミング指令値ADVをステップ的に一気にADV2へと切り換えているが、エンジン傾転速度が吹け上がるのを防止できる範囲の所定の変化速度で切り換えるようにすることもできる。FIG.4はエンジンコントローラ31が実行する目標当量比TFBYAの算出ルーチンを示す。当量比は空燃比の逆数に相当する。エンジンコントローラ31は、イグニッションスイッチがONの状態でこのルーチンを一定間隔、例えば100ミリ秒ごと、に実行する。なお、エンジンコントローラ31はイグニッションスイッチがOFFからONに切り換わることで起動し、イグニッションスイッチがONの間は常に稼働状態にあるものとする。ステップS41で、エンジンコントローラ31は今回のルーチン実行タイミングが、イグニッションスイッチがOFFからONへ切り換わった直後に相当するかどうかを判定する。判定が肯定的な場合には、エンジンコントローラ31はステップS42で始動時増量補正係数の初期値KAS0を、水温センサ37が現出する始動時水温TWINTに基づき算出する。始動時増量補正係数の初期値KAS0は始動時水温TWINTが低くなるほど大きくなる値である。次のステップS43で、エンジンコントローラ31は始動時増量補正係数KASを初期値KAS0に等しく設定する。ステップS43の処理の後、エンジンコントローラ31はステップS50の処理を行なう。一方、ステップS41の判定が否定的な場合には、前回以前のルーチン実行において、イグニッションスイッチが既にONに切り換わっていることを意味する。この場合には、エンジンコントローラ31はステップS44で、目標アイドル回転到達フラグが1であるかどうかを判定する。目標アイドル回転到達フラグは前述のように、イグニッションスイッチがONに切り換わる際にゼロにリセットされ、FIG.2のステップS8で1に設定されるフラグである。目標アイドル回転到達フラグが1である場合には、エンジン回転速度Neが目標アイドル回転速度NSETに達していることを意味する。さて、ステップS44の判定が否定的な場合は、エンジンコントローラ31はステップS45で、始動時増量補正係数KASを前回と同じ値に設定する。このルーチンにおいては、ステップS44の判定が肯定に転じるまで始動時増量補正係数KASは初期値KAS0に維持される。ステップS45の処理の後、エンジンコントローラ31はステップS50の処理を行なう。一方、ステップS44の判定が肯定に転じると、エンジンコントローラ31はステップS46で始動時増量補正係数KASがゼロかどうかを判定する。前述のように内燃エンジン1の始動直後にステップS43で始動時増量補正係数KASが初期値KAS0に設定される。エンジン回転速度Neが目標アイドル回転速度NSETに達した直後には、始動時増量補正係数KASが初期値KAS0に設定されているので、始動時増量補正係数KASがゼロと一致することはない。この場合には、エンジンコントローラ31はステップS47で、始動時増量補正係数KASを次式2により設定する。KAS=KAS前回-Δt×KAS前回2ただし、Δt=所定減率、KAS前回=前回ルーチン実行時の始動時増量補正係数KASの値。ここで、所定減率Δtは始動時増量補正係数KASの所定時間当たりの減少分を定める値であり、この値は吸入負圧が一定値に収束するタイミングで始動時増量補正係数KASがゼロとなるように、適合により予め定めておく。始動時増量補正係数の前回値であるKAS前回の初期値はKAS0である。目標回転到達フラグが1に達した後に、エンジンコントローラ31はステップS46とS47の処理を繰り返し行ない、その結果、始動時増量補正係数KASは徐々に小さくなってゆく。そこで、ステップS48で始動時増量補正係数KASとゼロを比較し、始動時増量補正係数KASが負の値になったときにはステップS49に進んで始動時増量補正係数KASを0にリセットする。ステップS49の処理の後、エンジンコントローラ31はステップS50の処理を行なう。一方、ステップS48の判定において、始動時増量補正係数KASがゼロ以上の値である場合には、エンジンコントローラ31は始動時増量補正係数KASを再設定することなく、ステップS50の処理を行なう。ステップS50でエンジンコントローラ31は水温増量補正係数KTWをあらかじめROMに格納されたマップを参照して内燃エンジン1の冷却水温Twに基づき計算する。水温増量補正係数KTWは冷却水温Twが低くなるほど大きくなる値である。次のステップS51でエンジンコントローラ31は水温増量補正係数KTWと始動時増量補正係数KASとを用いて次式3により目標当量比TFBYAを算出する。TFBYA=1KTWKAS3目標当量比TFBYAは1.0を中心とする値である。内燃エンジン1の暖機完了後であれば、TFBYA=1KTW=0、KAS=0となる。TFBYA=1は理論空燃比の混合気に相当する。内燃エンジン1の冷間始動時には、始動時増量補正係数KASが加算されることで目標当量比TFBYAは1.0を超える値となる。始動時増量補正係数KASは冷間始動時の燃料壁流量を考慮したものである。結果として、目標当量比TFBYAは1.0を超える値になる。これらの補正は燃焼室5に供給される混合気を理論空燃比とするための補正である。FIG.5はエンジンコントローラ31が実行する燃料噴射パルス幅Tiの算出ルーチンを示す。エンジンコントローラ31は、イグニッションスイッチがONの状態でこのルーチンを一定間隔、例えば100ミリ秒ごと、に実行する。FIG.2の完爆フラグと目標アイドル回転到達フラグの設定ルーチンとFIG.3の点火タイミングとスロットル開度の制御ルーチンとはシークエンシャルに実行される。一方、FIG.4の目標当量比TFBYAの算出ルーチンとFIG.5の燃料噴射パルス幅Tiの算出ルーチンは、FIGS.2と3のルーチンと並行かつ独立して実行される。燃料噴射パルス幅Tiは燃料インジェクタ21の燃料噴射量を代表する値である。ステップS61で、エンジンコントローラ31は始動時燃料噴射パルス幅Ti1を次式4により算出する。Ti1=TST×KNST×KTST4ただし、TST=始動時基本噴射パルス幅;KNST=回転速度補正係数;KTST=時間補正係数。始動時基本噴射パルス幅TST、回転速度補正係数KNST、時間補正係数KTSTの求め方は公知であるので、詳細な説明は省略する。ステップS62で、エンジンコントローラ31はエアフローメータ32からの信号が入力しているかどうかを判定する。エアフローメータ32からの信号が入力していなければ、エンジンコントローラ31はステップS65で最終の燃料噴射パルス幅Tiに始動時燃料噴射パルス幅Ti1を設定する。ステップS65の処理の後、エンジンコントローラ31はルーチンを終了する。エアフローメータ32からの信号が入力している場合は、エンジンコントローラ31はステップS63で、直前に実行されたFIG.4の目標当量比TFBYAの算出ルーチンで得た目標当量比TFBYAを用いて次式5により通常時の燃料噴射パルス幅Ti2を算出する。Ti2=Tp×TFBYAKathos×ααm-1Ts5ただし、Tp=基本噴射パルス幅;TFBYA=目標当量比;Kathos=過渡補正量;α=空燃比フィードバック補正係数;αm=空燃比学習値;Ts=無効噴射パルス幅。過渡補正量Kathosは吸気ポート4の壁面を伝う燃料壁流量を考慮し、基本的にエンジン負荷、エンジン回転速度及び燃料付着部の温度に基づいて算出される公知の補正量である。内燃エンジン1の始動時には燃料噴射量のうち吸気ポート4の壁面を伝う燃料が遅れて燃焼室5に到達するため、その分を燃料噴射量の増量によって補う。空燃比フィードバック補正係数α、空燃比学習値αm、無効噴射パルス幅Tsの概念と計算方法は公知である。基本噴射パルス幅Tpは次式6で算出する。Tp=K×Qa/Ne6ただし、Qa=エアフローメータ32が検出する吸入空気量。式6の定数Kは、混合気の空燃比が理論空燃比となるように設定されている。始動時増量補正係数KASがゼロを超える正の値である間は、燃料インジェクタ21からの燃料噴射量、すなわち燃料噴射パルス幅Tiは増量補正されることとなる。ステップS64-S66で、エンジンコントローラ31は始動時燃料噴射パルス幅Ti1と通常時燃料噴射パルス幅Ti2を比較し、値の大きい方を最終の燃料噴射パルス幅Tiに設定した後、ルーチンを終了する。燃料噴射パルス幅Tiは出力レジスタに移され、各気筒において燃料インジェクタ21が所定の燃料噴射タイミングになると、燃料噴射パルス幅Tiに規定された期間に渡って吸気ポート4に燃料を噴射する。以上説明した、内燃エンジン1の始動時における点火タイミング、スロットル開度、及び燃料噴射量の制御に関して、日本国特許庁が2007年10月25日に公開した前記従来技術JP2007-278073Aの内容をここに引用により合体する。次に内燃エンジン1の始動時に適用されるこの発明に固有のスロットル制御について説明する。FIGS.6A-6Cを参照すると、内燃エンジン1の停止状態ではスロットル23はデフォルト開度にあり、吸入負圧は大気圧に等しい。スタータスイッチ36がONになると同時に、すなわちクランキング開始と同時に、スロットル23はスロットルモータ24により全閉位置へと駆動される。ここで、全閉位置は慣用的用語であって、実際には、スロットル23とスロットル23周囲の吸気管壁面との間に、弁体が通路との間で噛み込むのを防止するための僅かな所定の隙間が設定されている。そのため、スロットル23が全閉位置にあってもこの隙間を介して空気は燃焼室5へ吸い込まれる。クランキングによる内燃エンジン1のポンピング作用により各気筒の燃焼室5に空気が吸い込まれるので、吸入負圧は脈動しつつ、大気圧から低下して行く。スロットル23を開くタイミングは、実際の吸入負圧が燃料の気化を促進するのに十分な大きさの吸入負圧となった後である。このタイミングは、エンジン回転速度が目標アイドル回転速度に到達したタイミングで、点火タイミングを進角側の始動用点火タイミングからステップ的に、もしくは少なくともエンジン回転速度が吹け上がるのを防止できる所定の変化速度で、遅角させたときに、エンジン回転速度を目標アイドル回転速度に維持するのに必要な吸入空気量を燃焼室に供給することができるタイミングである。そして、このタイミングは、遅過ぎて目標アイドル回転速度を維持するのに必要な空気量が得られなくなったり、逆に早過ぎて吸入負圧が不十分となって気化促進作用が低下したりすることがないようなタイミングでなければならない。従来技術ではこのタイミングを吸入負圧が所定の値になったタイミングとして設定しており、所定の値はFIG.6Cには開要求吸入負圧しきい値として示される。開要求吸入負圧しきい値はあらかじめ適合によって定められる。前記従来技術ではステップS25で完爆フラグが1に転じることで開要求吸入負圧しきい値に達すると仮定し、以後のルーチン実行の都度ステップS29で目標スロットル開度tTVOを増大させている。前記従来技術においては、したがって、FIG.6Bに示すように吸入負圧が最初に開要求吸入負圧しきい値に到達した時刻t21で、FIG.6Aの破線に示すようにスロットル23が開き始める。しかしながら、時刻t21の直後より実吸入負圧は、脈動により大気圧に向けて減少を示す。ここで、吸入負圧の減少は大気圧に向けての圧力上昇を意味する。時刻t21でスロットル23を開くと、その後の吸入負圧の増大が阻害され、吸入負圧はFIG.6Cの破線に示すように開要求吸入負圧しきい値の付近で波打つこととなってしまう。吸入負圧が開要求吸入負圧しきい値よりさらに増大しないと、燃料の気化が十分に促進されず、冷間始動時に多く発生するHCの増加を抑制できない。この発明によるエンジン制御装置は、その後も実吸入負圧が順調に発展し、しかも、エンジン回転速度を目標アイドル回転速度に維持するのに必要な吸入空気量を供給することが可能な時刻、すなわちクランキング開始後、実吸入負圧が2度目に開要求吸入負圧しきい値に到達する時刻t22のタイミングでスロットル23を開き始める。このように、例えばFIG.6Bの例においてクランキング開始後2度目に開要求吸入負圧しきい値に到達する時刻t22から、スロットル23を開き始めると、FIG.6Cの実線に示すように、実吸入負圧は順調に増大し、その後も目標アイドル回転速度を維持するのに必要な吸入空気量が得られなくなるようなことがない。次に全閉位置のスロットル23の開動開始タイミングとなる時刻t22の判定方法を説明する。この発明によるエンジン制御装置は、クランキング開始からのエンジン回転数またはストローク数をカウントする。そして、カウント数が、実吸入負圧が順調に発達し、目標アイドル回転速度の維持に必要な吸入空気量が得られるタイミング、すなわち2度目に開要求吸入負圧しきい値に到達するタイミング相当の所定数に達したかどうかで、全閉位置のスロットル23の開動開始タイミングとなったかどうかを判定する。FIGS.7A-7Cを参照すると、ここではクランキング開始からのストローク数を用いて、実吸入負圧が順調に発達し、目標アイドル回転速度の維持に必要な吸入空気量が得られるタイミング、すなわち実吸入負圧が2度目に開要求吸入負圧しきい値に到達するタイミング、に相当する時刻t22を判定している。ストローク数は4気筒、8気筒エンジンではクランク角180°に相当し、6気筒エンジンではクランク角120°に相当する単位である。つまり、4気筒、8気筒エンジンではストローク数の2分の1がエンジン回転数に相当し、6気筒エンジンではクランク角120°ではストローク数の3分の1がエンジン回転数に相当する。ストローク数と回転数は常に一定関係にあるので、エンジン回転数とストローク数は相互に代用可能な等価の関係にある。この実施例では、図の横軸をストローク数としている。これは、ストロークが吸入負圧の脈動と同期しており、説明の都合上好ましいからである。数字の付されたストローク位置で、吸入負圧は吸入負圧の脈動の山の頂きに位置する。ストローク間隔は、4気筒、8気筒エンジンでは2分の1回転に、6気筒エンジンでは3分の1回転に相当する。エンジンコントローラ31は、クランキング開始からのストローク数をカウントし、ストローク数が所定数6に達した時点で、スロットル23を開く。所定数として、実吸入負圧が順調に発達し、目標アイドル回転速度の維持に必要な吸入空気量が得られるタイミング、すなわち吸入負圧が2度目に開要求吸入負圧しきい値に到達するタイミング、に相当するストローク数を、実験もしくはシミュレーションによりあらかじめ求めておく。所定数6は4気筒または8気筒を前提とした所定数の例である。ただし、所定数は6に限定されない。FIGS.8A-8Dを参照すると、この実施形態において、エンジンコントローラ31は吸入負圧発達始動許可フラグ、スロットル絞りフラグ、スロットル制御フラグを使用する。このうち、FIG.8Aに示す吸入負圧発達始動許可フラグは、何らの理由でこの発明によるスロットル制御を行わないほうが良い場合に、ゼロにリセットされるフラグである。通常は、イグニッションキースイッチがONになる時刻t0、あるいはスタータスイッチ36がオンになると同時、に吸入負圧発達始動許可フラグは1に初期設定される。吸入負圧発達始動許可フラグが1であることは、この発明によるスロットル制御を許可することを意味する。FIG.8Cに示すスロットル絞りフラグは、クランクキング開始直後にスロットル23を全閉位置にするためのフラグである。スロットル絞りフラグは、吸入負圧発達始動許可フラグを1に初期設定するのと同時に1に初期設定される。FIG.8Dに示すスロットル制御フラグは、スロットル23を開動するためのフラグである。エンジンコントローラ31はクランキング開始からのストローク数を計測し、計測したストローク数が所定数6に達した時刻t22でスロットル絞りフラグを1からゼロに切り換える一方、スロットル制御フラグを初期値のゼロから1に切り換える。ストローク数は、クランク角センサの出力変動のピークの数に相当する。エンジンコントローラ31はクランク角センサの出力信号から、出力変動のピークの数をカウントすることで、ストローク数を得る。また、エンジンコントローラ31はエンジン回転速度が目標アイドル回転速度に達する時刻、すなわちFIG.8Bにおいてはスロットル開度が所定開度TV01となる時刻t2に、吸入負圧発達始動許可フラグとスロットル制御フラグをそれぞれ1からゼロに切り換える。次に、FIGS.9-11を参照して、以上のフラグを用いてエンジンコントローラ31が実行するスロットル制御ルーチンを説明する。エンジンコントローラ31は、イグニッションスイッチがONの状態で前記従来技術のFIGS.2,4,5のルーチンを並行して実行する。また、FIG.2のルーチン実行に引き続き、FIG.3のルーチンに代えてFIG.9の点火タイミングの制御ルーチンと、FIG.10のフラグ設定ルーチンと、FIG.11のスロットル制御ルーチンとを実行する。FIG.9に示す点火タイミング指令値の計算ルーチンは、前記従来技術のFIG.3のルーチンから、スロットル制御に関するステップS24,S30,S31,及びS34を削除したものに相当する。エンジンコントローラ31はこのルーチンにおいては、点火プラグ14の点火タイミングのみを制御し、FIGS.11と12のルーチンでスロットル23の制御を行なう。なお、FIG.9のルーチンも、点火タイミングをステップ的に切り替えているが、ステップ的に切り替える代わりに、エンジン回転速度の吹け上がりを防止できる十分な速さの変化速度で遅角させても良い。FIG.10のフラグ設定ルーチンは、FIG.9の点火タイミング算出ルーチンに引き続いて実行される。FIG.10を参照すると、ステップS111で、エンジンコントローラ31は今回のルーチン実行タイミングが、イグニッションスイッチがOFFからONへ切り換わった直後であるかどうかを判定する。判定が肯定的な場合に、エンジンコントローラ31はステップS112で、吸入負圧発達始動許可フラグを1に、スロットル絞りフラグを1に、スロットル制御フラグをゼロに、それぞれ設定した後、ルーチンを終了する。この処理がFIGS.8A-8Dの時刻t0における処理に相当する。ステップS111の判定が否定的な場合は、エンジンコントローラ31はステップS113で、クランキング開始からのストローク数が所定数6以上であるかどうかを判定する。ストローク数が所定数6未満の場合には、エンジンコントローラ31は何もおこなわずにルーチンを終了する。ストローク数が所定数6以上の場合には、エンジンコントローラ31はステップS114で、スロットル絞りフラグをゼロに、スロットル制御フラグを1に、それぞれ設定する。この処理がFIGS.8A-8Dの時刻t22における処理に相当する。次のステップS115で、エンジンコントローラ31は目標スロットル開度tTVOが目標アイドル開度TVO1に達したかどうかを判定する。判定が否定的な場合は、エンジンコントローラ31は直ちにルーチンを終了する。判定が肯定的な場合は、エンジンコントローラ31はステップS116で吸入負圧発達始動許可フラグとスロットル制御フラグをともにゼロに切り換える。スロットル絞りフラグはゼロの状態を維持する。この処理が、FIGS.8A-8Dの時刻t2における処理に相当する。ステップS116の処理の後、エンジンコントローラ31はルーチンを終了する。FIG.11のスロットル制御ルーチンはFIG.10のフラグ設定ルーチンに引き続いて実行される。FIG.11を参照すると、ステップS131で、エンジンコントローラ31は吸入負圧発達始動許可フラグが1かどうかを判定する。吸入負圧発達始動許可フラグが1である場合は、エンジンコントローラ31は、ステップS132で通常始動モードであるかどうかを判定する。通常始動モードは内燃エンジン1が高温状態で始動することを意味する。内燃エンジン1の運転停止直後にドライバが始動操作を行った場合や、アイドルストップからの再始動など、前回の運転の余熱により暖機された状態で内燃エンジン1の始動が行なわれる場合がこれに当たる。この場合には吸入負圧発達を必要としない。この実施形態では吸入負圧発達を必要とする内燃エンジン1の冷間始動を対象としているため、通常始動モードではこの発明による制御を行なわずに、ステップS133で通常始動を行なう。また、ステップS131で吸入負圧発達始動許可フラグが1でない場合も、エンジンコントローラ31は、ステップS133で通常制御を行なう。通常制御は内燃エンジン1が暖機を必要としないケースで適用される始動制御を意味する。ステップS133の処理の後、エンジンコントローラ31はルーチンを終了する。内燃エンジン1の冷間始動を行なう場合は、ステップS132の判定は否定的となる。その場合には、エンジンコントローラ31はステップS134で、スロットル絞りフラグが1かどうかを判定する。スロットル絞りフラグが1である場合には、エンジンコントローラ31はステップS135でスロットル目標開度tTVOをゼロ、すなわちスロットル23を全閉位置に制御する。ステップS135の処理の後、エンジンコントローラ31はルーチンを終了する。一方、スロットル絞りフラグが1でない場合は、エンジンコントローラ31はステップS136でスロットル制御フラグを判定する。スロットル制御フラグが1でない場合には、エンジンコントローラ31は直ちにルーチンを終了する。スロットル制御フラグが1である場合にはステップS137でスロットル目標開度tTVOを前述の式1で計算する。ステップS137の処理の後、エンジンコントローラ31はルーチンを終了する。FIG.10のフラグ設定ルーチンとFIG.11のスロットル制御ルーチンの実行により、FIG.8A-8Dの実線に示すように、実吸入負圧が順調に発達し、目標アイドル回転速度の維持に必要な吸入空気量が得られるタイミング、すなわち実吸入負圧が2度目に開要求吸入負圧しきい値に到達するタイミンク、に相当する時刻t22を精度良く判定して、スロットル23を開き始めることができる。その結果、実吸入負圧は時刻t22以降、順調に低下する。したがって、気化促進のための大気圧より低い吸入負圧の確保と、内燃エンジン1の完爆に適した吸気量の確保とを両立することができ、始動時の吸入負圧制御のロバスト性を向上させることができる。内燃エンジン1の始動時にはFIG.7Bに示すようにエンジン回転速度が大きく脈動する。この実施形態においては、クランク角センサの出力変動に基づきクランキング開始からのストローク数をカウントし、カウント数によりスロットル23を開き始めるタイミングを決定している。この制御において、クランク角センサの出力は、エンジン回転速度それ自体を求めるために用いられるのではなく、内燃エンジンの脈動によるエンジン回転速度のピークを検出するために用いられる。したがって、スロットル23を開き始めるタイミングを、エンジン回転速度それ自体の値に依存して決定する場合と比べて、より高い精度で決定することができる。以上説明した実施形態では、クランク角センサの出力変動に基づきストローク数をカウントしている。しかしながら、他のセンサによってもストローク数やエンジン回転数をカウント可能である。圧力センサ38を用いて内燃エンジン1の吸気圧を検出するケースを、次に説明する。日本国特許庁が2004年11月10日に発行した特許第3586975号は、圧力センサを用いて吸入負圧を検出し、測定した吸入負圧が所定圧に達した時点で基づきスロットルを開く制御を開示している。しかしながら、クランキング時の吸入負圧は、実吸入負圧も吸入負圧の検出値もともに変動が大きい。スロットルの開動開始タイミングの判定根拠を、圧力センサが検出する吸入負圧の値に依存することは、したがって、精度上の問題を生みやすい。一方、クランキング時の吸入負圧は大きく脈動する。エンジンコントローラ31は吸気コレクタ2に設けた圧力センサ38が検出する吸入負圧の値それ自体ではなく、圧力センサ38の出力変動から吸入負圧のピークをカウントすることで、内燃エンジン1のクランキング開始からのストローク数や回転数をカウントする。このようにして得られたカウント数に基づきスロットル23の開動開始のタイミングを判定すれば、スロットル23の開動開始タイミングを精度良く決定することができる。つまり、圧力センサ38の出力変動に基づきストローク数やエンジン回転数をカウントすることでも、スロットル23の開動開始タイミングを精度良く判定することができる。以上の説明に関して2010年12月27日を出願日とする日本国における特願2010-290138号、の内容をここに引用により合体する。以上、この発明をいくつかの特定の実施例を通じて説明してきたが、この発明は上記の各実施例に限定されるものではない。当業者にとっては、クレームの技術範囲でこれらの実施例にさまざまな修正あるいは変更を加えることが可能である。"