"動力源としてのエンジンと、所定の条件が成立したときアイドリング運転中のエンジンを自動停止させるアイドリングストップ制御を行うエンジン制御手段と、上記エンジンにより駆動され、電装品に電気を供給する発電手段と、エンジンの始動に使用するための第1バッテリと、アイドリングストップ時の負荷駆動に使用するための第2バッテリとを装備し、上記第1バッテリ及び第2バッテリは、発電手段に対し並列にかつスイッチにより選択的に充電可能に接続されている作業機械のバッテリ充放電制御装置であって、上記第1バッテリ及び第2バッテリの残容量を推定する残容量推定手段と、この残容量推定手段により推定した第1バッテリ及び第2バッテリの残容量状態からそれぞれ第1バッテリ及び第2バッテリの目標容量値までの回復に必要な充電時間を推定する充電時間推定手段と、この充電時間推定手段により推定した充電時間を充電に充てるように上記スイッチの開閉を制御することで第1バッテリ及び第2バッテリの容量管理を実施する容量管理実施手段と、アイドリングストップ時に上記第2バッテリの放電容量を設定値以下に制限するための放電容量制限手段とを備えたことを特徴とする作業機械のバッテリ充放電制御装置。上記残容量推定手段は、各バッテリの放電時毎の放電容量を算出し、この放電容量を各バッテリの充電時の目標容量値から減算することで各バッテリの残容量を推定するものである請求項1記載の作業機械のバッテリ充放電制御装置。上記充電時間推定手段は、バッテリ容量とバッテリ受入可能電流の特性と、現在のバッテリ容量と目標容量値までの充電時間の特性とを予め記憶しておき、この両特性に基づいて各バッテリの充電時間を推定するものである請求項1又は2記載の作業機械のバッテリ充放電制御装置。ところで、作業機械のキャブ内の空調のために装備される空調装置は、通常、そのコンプレッサがエンジンの動力で直接又は油圧を介して駆動されているため、エンジン停止に伴い使用できなくなるが、アイドリングストップ時でもオペレータがキャブ内で待機しているときには空調装置を使用できるようにすることが望ましい。これを実現するためには、空調装置のコンプレッサを電動モータで駆動可能に変更するなど機構的な改良を施した上、エンジンの始動用に通常装備している第1バッテリとは別に、アイドリングストップ時のコンプレッサ駆動用電動モータなどの電装品の負荷駆動に使用するための第2バッテリを装備する必要がある。この場合の回路構成としては、図12に示すように、エンジンにより駆動されるオルタネータなどの発電手段aに対して、作業機械に装備される電装品負荷bと第1バッテリcと第2バッテリdとを並列に接続し、かつスイッチ図示せずなどを用いることにより、第1バッテリc又は第2バッテリdから電装品負荷b側に放電可能通電可能にするとともに、発電手段aから第1バッテリc及び第2バッテリdに充電可能にするように構成することが考えられる。しかし、このような回路構成では、第1バッテリcと第2バッテリdとが同種類同容量の場合でも発電手段aから第1バッテリc及び第2バッテリdに対し充電をする際にエンジン回転数が小さく、発電手段aの発電電流が十分に確保できないときには、両バッテリc,d間の容量差詳しくは残容量差に応じて、両バッテリc,d間で充放電が生じることになる。特に、アイドリングストップ時に電装品負荷bの駆動に使用する第2バッテリdは、第1バッテリcと比較して深い放電が行われるため、第1バッテリcから第2バッテリdへの放電が生じる。ここで、第2バッテリdの放電深度を深くし過ぎると充電時に第1バッテリcからの放電量が多くなり、作業中断などで十分な充電時間を確保できない場合には、第1バッテリcの残容量がエンジンの始動に必要な容量に満たず、次回のエンジン始動時にエンジン始動不良に陥るという問題がある。本発明はかかる点に鑑みてなされたものであり、その課題とするところは、上述の如く発電手段に対し2種類のバッテリを並列にかつスイッチにより選択的に充電可能に接続する回路構成において、上記2種類のバッテリの容量管理を、容量検出や電流検出などのセンサを用いることなく、簡単な構成でもって適切に行うことにより、作業中断などで十分な充電時間を確保できなかった場合でも第1バッテリにエンジン始動のために必要な容量を常に確保し、エンジン始動不良に陥るのを確実にかつ実施上有効に防止し得る作業機械のバッテリ充放電制御装置を提供せんとするものである。上記の課題を解決するため、本願の請求項1に係る発明は、作業機械として、動力源としてのエンジンと、所定の条件が成立したときアイドリング運転中のエンジンを自動停止させるアイドリングストップ制御を行うエンジン制御手段と、上記エンジンにより駆動され、電装品に電気を供給する発電手段と、エンジンの始動に使用するための第1バッテリと、アイドリングストップ時の負荷駆動に使用するための第2バッテリとを装備し、上記第1バッテリ及び第2バッテリは、発電手段に対し並列にかつスイッチにより選択的に充電可能に接続されていることを前提とする。そして、作業機械のバッテリ充放電制御装置として、上記第1バッテリ及び第2バッテリの残容量を推定する残容量推定手段と、この残容量推定手段により推定した第1バッテリ及び第2バッテリの残容量状態からそれぞれ第1バッテリ及び第2バッテリの目標容量値までの回復に必要な充電時間を推定する充電時間推定手段と、この充電時間推定手段により推定した充電時間を充電に充てるように上記スイッチの開閉を制御することで第1バッテリ及び第2バッテリの容量管理を実施する容量管理実施手段と、アイドリングストップ時に上記第2バッテリの放電容量を設定値以下に制限するための放電容量制限手段とを備える構成にする。この構成では、充電時間推定手段において残容量推定手段により推定した各バッテリの残容量状態から各バッテリの目標容量値までの回復に必要な充電時間を推定し、容量管理実施手段においてこの充電時間を充電に充てるようにスイッチの開閉を制御することにより、各バッテリの容量管理が実施される。この容量管理の下では、放電容量制限手段によりアイドリングストップ時に第2バッテリの放電容量が設定値以下に制限されているため、充電時に第1バッテリと第2バッテリの間の容量差に応じた第1バッテリから第2バッテリへの放電量が抑制されることになる。このため、作業中断などで十分な充電時間を確保できなかった場合でも第1バッテリにエンジン始動のために必要な容量が常に確保されることになり、第1バッテリの容量不足によるエンジン始動不良を回避することができる。また、上記の容量管理においては、各バッテリの容量検出や電流検出などのためのセンサを必要としないので、コスト面や信頼性などで実施化を容易に図ることができる。請求項2に係る発明は、請求項1記載の作業機械のバッテリ充放電制御装置において、残容量推定手段による具体的な推定方式を提供するものである。すなわち、上記残容量推定手段は、各バッテリの放電時毎の放電容量を算出し、この放電容量を各バッテリの充電時の目標容量値から減算することで各バッテリの残容量を推定するものである。請求項3に係る発明は、請求項1又は2記載の作業機械のバッテリ充放電制御装置において、充電時間推定手段による具体的な推定方式を提供するものである。すなわち、上記充電時間推定手段は、バッテリ容量とバッテリ受入可能電流の特性と、現在のバッテリ容量と目標容量値までの充電時間の特性とを予め記憶しておき、この両特性に基づいて各バッテリの充電時間を推定するものである。以上のように、本発明における作業機械のバッテリ充放電制御装置によれば、エンジン始動用の第1バッテリ及びアイドリングストップ時の負荷駆動用の第2バッテリの容量管理を実施するに当たり、アイドリングストップ時に第2バッテリの放電容量が設定値以下に制限され、充電時に第1バッテリから第2バッテリへの放電容量が抑制されるため、作業中断などで十分な充電時間を確保できなかった場合でも第1バッテリにエンジン始動に必要な容量を常に確保することができ、第1バッテリの容量不足によるエンジン始動不良を防止することができる。また、両バッテリの容量管理は、各バッテリの容量検出や電流検出などのためのセンサを必要としないので、コスト面などで実施化を容易に図ることができるという効果を併有するものである。以下、本発明を実施するための形態である実施形態を図面に基づいて説明する。図1は本発明の第1の実施形態に係るバッテリ充放電制御装置を装備する作業機械のブロック構成を示し、1は動力源としてのエンジン、2はこのエンジン1の動作をガバナ3を介して制御するエンジン制御手段としてのエンジン制御部であり、このエンジン制御部2は、オペレータによるアクセルペダルやブレーキペダルなどの操作に応じてエンジン1の動作を制御する通常の制御とは別に、所定のアイドリングストップ条件信号が入力され所定のアイドリングストップ条件が成立したとき、例えばオペレータが操作するためにキャブ内に設けられた操作部材の操作が無くかつ操作部材に対しオペレータの身体の一部が接触又は近接していないとき、あるいは作業機械が特に移動式クレーンの場合クレーン操作が無い状態と吊荷が無い状態とが同時に所定時間継続したときアイドリング運転中のエンジン1を自動停止させるアイドリングストップ制御を行うアイドリングストップ制御部4を有している。また、5は上記エンジン1により駆動される発電手段としてのオルタネータであり、このオルタネータ5は、作業機械に装備される電気負荷としての各種の電装品例えばエンジン始動用のスタータ、空調装置のコンプレッサ駆動用の電動モータ、照明灯など6に対し電気を供給するように接続されている。7はエンジン1の始動のために電装品6のうち、特にエンジン始動用スタータに蓄電電力を供給する第1バッテリとしてのメインバッテリ、8はアイドリングストップ時の負荷駆動に使用するための第2バッテリとしてのサブバッテリであり、メインバッテリ7及びサブバッテリ8は、オルタネータ5に対し並列にかつ第1スイッチ9又は第2スイッチ10により選択的に充電可能に接続されている。また、メインバッテリ7及びサブバッテリ8は、同種類同容量のものである。上記第1スイッチ9及び第2スイッチ10は、共にリレースイッチからなる。第1スイッチ9のリレー接点9aはメインバッテリ7と直列に接続されており、第2スイッチ10のリレー接点10aはサブバッテリ10bと直列に接続されている。この両スイッチ9,10のリレー接点9a,10aの開閉は、バッテリ充放電制御装置11により制御されるようになっており、このバッテリ充放電制御装置11は、第1スイッチ9のリレーコイル9bと、第2スイッチ10のリレーコイル10bと、この両リレーコイル9b,10bへの通電を制御するバッテリ充放電制御部12とからなる。このバッテリ充放電制御部12には、エンジン制御部2からエンジン1の作動状況などが信号として入力されるようになっている。次に、上記バッテリ充放電制御部12の制御内容を、図2ないし図5に示すフローチャートに従い、また図6を参照しながら説明する。図2において、先ず、ステップS1でオペレータのエンジン始動操作によりエンジン1を始動する。このとき、バッテリ充放電制御部12は、図6aに示すように、第1スイッチ9詳しくはリレー接点9aを閉じ、第2スイッチ10詳しくはリレー接点10aを開くことにより、メインバッテリ7から電装品負荷6のうち、エンジン始動用のスタータに電力供給つまり放電が行われ、エンジン1が始動することになる。バッテリ充放電制御部12は、ステップS1でメインバッテリ7の推定残容量値Cmainからエンジン始動時の消費量を減算してメインバッテリ7の推定残容量値Cmainを更新する。尚、エンジン始動時の消費量は、経験値又は実測値であって、予め設定したものを使用する。続いて、ステップS2でメインバッテリ7の充電目標容量値Crまでの充電時間Tm1を推定し、ステップS3でメインバッテリ7のみの充電を行う。このメインバッテリ7のみの充電は、図6bに示すように、エンジン始動時と同じく第1スイッチ9を閉じ、第2スイッチ10を開いた状態を維持することで行われる。そして、ステップS4で充電時間Tm1が経過するのを待った後、ステップS5でメインバッテリ7の推定残容量値Cmainを充電目標容量値Crに置き換えることでメインバッテリ7の推定残容量値Cmainの設定を行う。ここで、充電目標容量値Crは、ユーザが設定する容量であり、バッテリ最大充電容量の100では充電時間が大きく非現実的であるので、実際には80~90に設定する。次いで、ステップS6でサブバッテリ8の推定残容量値Csubを後述する放電制限容量値Climに設定する。この設定は、前回の作業時にサブバッテリ8の充電を中断した場合を考慮し、サブバッテリ8の推定残容量値Csubを敢えて小さく見積もっておくためである。続いて、ステップS7でメインバッテリ7からサブバッテリ8への放電を考慮し、ステップS8でサブバッテリ8の充電目標容量値Crまでの充電時間Ts1を推定し、ステップS9でサブバッテリ8をメインバッテリ7と共に充電する。このサブバッテリ8の充電は、図6cに示すように、第1スイッチ9及び第2スイッチ10を共に閉じることにより行われる。ここで、前回の作業時におけるアイドリングストップによってサブバッテリ8が容量を消費し、かつエンジン回転数が小さい場合には、電装品負荷6の消費電流とサブバッテリ8の要求している充電電流の合計が、オルタネータ5の発電電流を上回ることがある。このような場合にサブバッテリ8の充電を行うと、上記のステップS2~S4で既に充電が完了しているメインバッテリ7からサブバッテリ8への放電が生じることから、ステップS9でのサブバッテリ8の充電に先立って、ステップS7でメインバッテリ7からサブバッテリ8への放電を考慮することにしたものである。この放電は、最大でメインバッテリ7の放電前の容量とサブバッテリ8の容量の差の2分の1になるため、サブバッテリ充電開始直後のメインバッテリ7の容量は、メインバッテリ7の放電前の容量とサブバッテリ8の容量の合計の2分の1となる。このことから、ステップS7でのメインバッテリ7からサブバッテリ8への放電の考慮としては、メインバッテリ7の推定残容量値Cmainを下記の式1により、Cmain=CmainCsub/21置き換えることにしている。次いで、ステップS10で充電時間Ts1が経過するのを待った後、図3において、ステップS11でサブバッテリ8の推定残容量値Csubを充電目標容量値Crに置き換えることでサブバッテリ8の推定残容量値Csubの設定を行う。ここで、充電目標容量値Crは、メインバッテリ7の場合と同じく、ユーザが設定する容量であり、バッテリ最大充電容量の100では充電時間が大きく非現実的であるので、実際には80~90に設定する。続いて、ステップS12でエンジン制御部2からの信号に基づいてアイドリングストップ開始であるか否かを判定する。この判定がYESのときには、ステップS13でアイドリングストップ放電処理の実行を行い、ステップS14でエンジン再始動充電の実施を行い、しかる後にステップS15へ移行する一方、判定がNOのときには直ちにステップS15へ移行する。そして、ステップS15ではエンジン制御部2からの作業終了信号、例えばオペレータによるエンジンキーによる停止操作の信号に基づいて作業終了であるか否かを判定し、その判定がNOのときにはステップS12に戻る一方、判定がYESのときには制御を終了する。上記ステップ13でのアイドリングストップ放電処理の実施は、図4に示すサブルーチンのフローチャートに従って行われる。すなわち、図4において、スタートした後、ステップS16でサブバッテリ8の放電を行う。このサブバッテリ8の放電は、図6dに示すように、第1スイッチ9を開き、第2スイッチ10を閉じることで行われ、この放電によりアイドリングストップ時での電装品負荷6の駆動が行われる。続いて、ステップS17でサブバッテリ8の推定残容量値Csubが放電制限容量値Clim以下であるか否かを判定するとともに、ステップS18でエンジン制御部2の信号に基づいてアイドリングストップ中断操作の有無を判定する。ここで、放電制限容量値Climは、次回の作業時にメインバッテリ7にエンジン始動に必要な容量を確保するためのものであり、エンジン始動に必要な容量がメインバッテリ7の放電前の容量とサブバッテリ8の放電制限容量値Climの合計の2分の1より小さくなることを満足する値に設定されている。そして、上記ステップS17,S18が共にNOのときには、ステップS20でサブバッテリ8の推定残容量値Csubから、サブバッテリ8の負荷駆動に伴う推定消費電流と制御サイクルタイムdtの積を減算してサブバッテリ8の推定残容量値Csubを更新し、ステップS16に戻る。一方、ステップS17,S18のいずれか一方の判定がYESのときには、ステップS19でサブバッテリ8の放電を中止し、リターンする。サブバッテリ8の放電中止は、第1スイッチ9を開いた状態に維持しつつ第2スイッチ10を開くことにより行われる。また、図3のステップS14でのエンジン再始動充電の実施は、図5に示すサブルーチンのフローチャートに従って行われる。すなわち、スタートした後、ステップS21でエンジン1の再始動のために、ステップS1でのエンジン始動時と同じく、図6aに示すように、第1スイッチ9を閉じ、第2スイッチ10を開くことにより、メインバッテリ7から電装品負荷6のうち、エンジン始動用のスタータに電力供給を行うとともに、メインバッテリ7の推定残容量値Cmainからエンジン再始動時の消費量を減算してメインバッテリ7の推定残容量値Cmainを更新する。尚、エンジン再始動時の消費量は、経験値又は実測値であって、予め設定したものを使用する。続いて、ステップS22でメインバッテリ7の充電目標容量値Crまでの充電時間Tm2を推定し、ステップS23でメインバッテリ7のみの充電を行う。このメインバッテリ7のみの充電は、図6bに示すように、エンジン再始動時と同じく第1スイッチ9を閉じ、第2スイッチ10を開いた状態を維持することで行われる。そして、ステップS24で充電時間Tm2が経過するのを待った後、ステップS25でメインバッテリ7の推定残容量値Cmainを充電目標容量値Crに置き換えることでメインバッテリ7の推定残容量値Cmainの設定を行う。次いで、ステップS26でメインバッテリ7からサブバッテリ8への放電を考慮し、図2のステップS7のときと同じく、メインバッテリ7の推定残容量値Cmainを下記の式1により、Cmain=CmainCsub/21置き換える。続いて、ステップS27でサブバッテリ8の充電目標容量値Crまでの充電時間Ts2を推定し、ステップS28でサブバッテリ8をメインバッテリ7と共に充電する。このサブバッテリ8の充電は、図6cに示すように、第1スイッチ9及び第2スイッチ10を共に閉じることにより行われる。そして、ステップS29で充電時間Ts2が経過するのを待った後、ステップS30でサブバッテリ8の推定残容量値Csubを充電目標容量値Crに置き換えることでサブバッテリ8の推定残容量値Csubの設定を行い、リターンする。以上説明した図2ないし図5に示すフローチャートのうち、特にステップS1,S5~S7,S11,S20,S21,S25,S26,S30により、メインバッテリ7及びサブバッテリ8の残容量を推定する残容量推定手段21が構成されており、この残容量推定手段21は、各バッテリ7,8の放電時毎の放電容量を算出し、この放電容量を各バッテリ7,8の充電時の目標容量値Crから減算することで各バッテリ7,8の残容量を推定するように設けられている。また、ステップS2,S8,S22,S27により、上記残容量推定手段21により推定したメインバッテリ7及びサブバッテリ8の残容量状態からそれぞれメインバッテリ7及びサブバッテリ8の目標容量値Crまでの回復に必要な充電時間Tm1,Ts1,Tm2,Ts2を推定する充電時間推定手段22が構成されている。ステップS3,S4,S9,S10,S23,S24,S28,S29により、上記充電時間推定手段22により推定した充電時間Tm1,Ts1,Tm2,Ts2を充電に充てるように第1スイッチ9及び第2スイッチ10の開閉を制御することでメインバッテリ7及びサブバッテリ8の容量管理を実施する容量管理実施手段23が構成されている。さらに、図4のステップS17,S19により、アイドリングストップ時にサブバッテリ8の放電容量を設定値放電制限容量値Clim以下に制限するための放電容量制限手段24が構成されている。尚、図2のステップS1でのメインバッテリ7の推定残容量値Cmainは、前回までの作業において演算された推定残容量値を用いる。但し、初回は適当な値を設定する必要がある。例えばメインバッテリ7が新品バッテリであれば公称容量の100としてよいし、又はステップS1でエンジン始動が実行できたということは、エンジン始動前には少なくともエンジン始動が可能な容量が残存していたと考えられるので、ステップS1において、メインバッテリ7の推定残容量値Cmainを、エンジン始動可能容量からエンジン始動時の消費量を減算して設定してもよい。次に、上記充電時間推定手段22による充電時間Tm1,Ts1,Tm2,Ts2の推定方法を説明する。通常、バッテリは、ある一定の電圧で充電を実施すると、図7に示すように、充電開始直後は充電電流が大きく、容量が回復していくにつれて充電電流は小さくなる特性がある。この特性を考慮して充電時間を算出するため、図8に示すようなバッテリ容量とバッテリ受入可能電流の特性と、図9に示すような現在のバッテリ容量と目標容量値までの充電時間の特性とを予め記憶しておき、この両特性に基づいてバッテリの充電時間を下記の1~6の手順により推定する。1オルタネータ5の発電電流から負荷消費電流を差し引いた充電電流Ibを算出する。ここで、オルタネータ5の発電電流及び負荷消費電流は一定とみなす必要があるが、オルタネータ5の発電電流はエンジン低回転時の値を、負荷消費電流は取り得る最大値をそれぞれ採用しておくことが望ましい。2充電対象のバッテリの現在の推定残容量値CcurCmain,Csubと、バッテリ容量とバッテリ受入可能電流の特性とから、図8に示す如く現在の推定残容量値Ccurに対応するバッテリ受入可能電流Ilimを求める。3上記充電電流Ibとバッテリ受入可能電流Ilimの大小比較を行う。充電電流Ibがバッテリ受入可能電流Ilimより大きいIb>Ilim場合、充電時間は、4により求める。一方、充電電流Ibがバッテリ受入可能電流Ilimと同一又はそれより小さいIb≦Ilim場合、充電時間は、5及び6により求める。4充電対象のバッテリの現在の推定残容量値Ccurと、現在のバッテリ容量と目標容量値までの充電時間の特性とから、図9に示す如く現在の推定残容量値Ccurに対応する充電時間Tchgを求め、これを充電対象のバッテリの充電時間Tm1,Ts1,Tm2,Ts2として設定する。5バッテリ容量とバッテリ受入可能電流の特性から、図8に示す如くバッテリ受入可能電流がIbとなるときのバッテリ容量Cswを求め、現在の推定残容量値CcurからCswになるまでの充電時間Tchg1を、下記の式2により算出する。Tchg1=Csw-Ccur/Ib26バッテリ容量Cswから目標容量値Crまでの充電時間Tchg2を、図9に示す如くバッテリ容量と充電時間の特性から求め、この充電時間Tchg2と先に算出した充電時間Tchg1の合計時間Tchg1Tchg2を充電対象のバッテリの充電時間Tm1,Ts1,Tm2,Ts2として設定する。以上説明したように、上記バッテリ充放電制御部12の制御によれば、メインバッテリ7及びサブバッテリ8の推定残容量値Cmain,Csubを求め、この推定残容量値Cmain,Csubから各バッテリ7,8の充電目標容量値Crになるまでの充電時間Tm1,Ts1,Tm2,Ts2を推定し、この充電時間Tm1,Ts1,Tm2,Ts2を充電に充てるように第1スイッチ9及び第2スイッチ10の開閉を制御することにより、メインバッテリ7及びサブバッテリ8の容量管理を実施することができる。特に、この容量管理の下では、アイドリングストップ時にサブバッテリ8の放電容量が設定値放電制限容量値Clim以下に制限されているため、その後の充電時にメインバッテリ7とサブバッテリ8の間の容量差に応じたメインバッテリ7からサブバッテリ8への放電量を抑制することができる。このため、作業中断などで十分な充電時間を確保できなかった場合でもメインバッテリ7にエンジン1始動のために必要な容量を常に確保することができるので、メインバッテリ7の容量不足によるエンジン1始動不良を確実に回避することができる。また、上記の容量管理においては、各バッテリ7,8の容量検出や電流検出などのためのセンサを必要としないので、コスト面などで実施化を容易に図ることができるという効果をも奏する。図10は本発明の第2の実施形態に係るバッテリ充放電制御装置を装備する作業機械のブロック構成を示す。この第2の実施形態の場合、作業機械に装備される電気負荷としての各種電装品の負荷が、通常負荷31と、この通常負荷31よりも軽負荷のアイドリングストップ時専用負荷以下、IS用負荷という32とに分けられており、この通常負荷31及びIS用負荷32は、発電手段としてのオルタネータ5に対し並列でかつそれぞれ第3スイッチ33及び第4スイッチ34を介して選択的に給電を受け得るように接続されている。上記第3スイッチ33及び第4スイッチ34は、第1スイッチ9及び第2スイッチ10と同じくリレースイッチからなる。第3スイッチ33のリレー接点33aは通常負荷31と直列に接続されており、第4スイッチ34のリレー接点34aはIS用負荷32と直列に接続されている。この両スイッチ33,34のリレー接点33a,34aの開閉は、第1スイッチ9及び第2スイッチ10のリレー接点9a,10aの開閉と共にバッテリ充放電制御装置35により制御されるようになっており、このバッテリ充放電制御装置35は、第1スイッチ9のリレーコイル9bと、第2スイッチ10のリレーコイル10bと、第3スイッチ33のリレーコイル33bと、第4スイッチ34のリレーコイル34bと、これら4つのリレーコイル9b,10b,33b,34bへの通電を制御するバッテリ充放電制御部36とからなる。このバッテリ充放電制御部36には、第1実施形態のバッテリ充放電制御部12の場合と同じく、エンジン制御部2からエンジン1の作動状況などが信号として入力されるようになっている。尚、作業機械に装備されるエンジン1、エンジン制御部2、オルタネータ5、メインバッテリ7及びサブバッテリ8などは、第1実施形態の場合と同じであり、同一部材には同一符号を付してその説明は省略する。上記バッテリ充放電制御部36の制御内容は、基本的には第1実施形態の場合に、図2ないし図5に示すフローチャートを用いて説明したバッテリ充放電制御部12の制御内容と同じであり、メインバッテリ7及びサブバッテリ8の容量管理を実施する場合の各工程で第1スイッチ9及び第2スイッチ10の開閉と共に、第3スイッチ33及び第4スイッチ34の開閉を制御することが加わるようになっている。すなわち、エンジン1の始動時又はアイドリングストップ後の再始動時図2のS1、図5のS21には、図11aに示すように、第1スイッチ9を閉じ、第2スイッチ10と開くとともに、第3スイッチ33を閉じ、第4スイッチ34を開くことにより、メインバッテリ7から通常負荷31、特にエンジン始動用のスタータに電力供給つまり放電が行われ、エンジン1が始動することになる。メインバッテリ7のみの充電時図2のS3、図5のS23には、図11bに示すように、エンジン始動時と同じく第1スイッチ9を閉じ、第2スイッチ10を開き、第3スイッチ33を閉じ、第4スイッチ34を開いた状態を維持することにより、オルタネータ5から発電電力が通常負荷31と共にメインバッテリ7に供給され、メインバッテリ7のみの充電が行われる。サブバッテリ8の充電時図2のS9、図5のS28には、図11cに示すように、第1スイッチ9及び第2スイッチ10を共に閉じるとともに、第3スイッチ33を閉じ、第4スイッチ34を開くことにより、オルタネータ5から発電電力が通電負荷31と共に、メインバッテリ7及びサブバッテリ8に供給され,サブバッテリ8の充電が行われる。アイドリングストップ時には、図11dに示すように、第1スイッチ9を開き、第2スイッチ10を閉じるとともに、第3スイッチ33を開き、第4スイッチ34を閉じることにより、サブバッテリ8から放電がIS用負荷32に対し行われ、IS用負荷32の駆動が行われる。そして、上記バッテリ充放電制御部36の制御によれば、第1の実施形態のそれと同じ作用効果を発揮することができる上、アイドリングストップ時にIS用負荷32を、エンジン始動時及びバッテリ充電時に通常負荷31をそれぞれ駆動させるように第3スイッチ33及び第4スイッチ34の開閉を制御することにより、アイドリングストップ時におけるサブバッテリ8の消費電流値を小さくすることができ、その分アイドリングストップの作動時間をより長く持続させることができるという効果をも奏する。尚、本発明は上記第1及び第2の実施形態に限定されるものではなく、その他種々の形態を包含するものである。例えば上記各実施形態では、メインバッテリ7及びサブバッテリ8を、発電手段としてのオルタネータ7に対し並列にかつスイッチにより選択的に充電可能に接続するに当たり、リレースイッチからなる第1スイッチ9及び第2スイッチ10を用い、第1スイッチ9のリレー接点9aをメインバッテリ7と直列に接続し、第2スイッチ10のリレー接点10aをサブバッテリ8と直列に接続するようにしたが、本発明は、1つの切換スイッチを用いてメインバッテリ7及びサブバッテリ8の充電を選択的に行うように構成したり、リレースイッチ以外のスイッチを用いたりしてもよい。また、上記各実施形態では、いずれもエンジン制御部2とは別に、バッテリ充放電制御装置11,35のバッテリ充放電制御部12,36を設け、このバッテリ充放電制御部12,36でエンジン制御部2からの信号を受けるように構成したが、本発明は、必要であればエンジン制御部2とバッテリ充放電制御部12,36を、1つの制御部ないしコントローラで構成するようにしてもよい。さらに、上記第1の実施形態では、予め各バッテリ7,8の充電時間を算出する必要上、オルタネータ5の発電電流はエンジン低回転時の値を、負荷消費電流は取り得る最大値をそれぞれ採用して充電時間を算出し、この充電時間を充電に充てるようにしたが、場合によっては、エンジン回転数や負荷運転状況に応じて各バッテリ7,8への充電電流値を積算して容量値を求め、充電完了の判定を実施するようにしてもよい。この方法では、エンジン回転数が大きく負荷消費電流が小さい場合に確保する充電時間を短くすることが可能となり、作業機械の作業状況を加味した効率的な充電作業を実施することができる。"