(57)【特許請求の範囲】
【請求項１】
建設機械であって、
原動機と、
前記原動機の動力を用いて発電する発電機と、
前記発電機により発電された電力を蓄える蓄電装置と、
現在利用されているプログラムを記憶するとともに、前記原動機が停止している状態で前記蓄電装置からの電力を用いて前記プログラムを更新プログラムで書き換える書換処理を実行する制御手段と、
前記蓄電装置の充電量を検出する充電量検出手段と、を備え、
前記制御手段は、前記書換処理の実行の開始前に前記充電量検出手段により検出された充電量が前記書換処理に必要な充電量として予め設定された書換充電量よりも少ないか否かを確認し、前記充電量検出手段により検出された充電量が前記書換充電量よりも少ない場合に前記書換処理の実行を禁止し、
前記制御手段は、現在利用されている前記プログラムを記憶する車両コントローラと、前記更新プログラムを有するサーバに対して通信手段を介して通信可能で、かつ、前記サーバから転送された前記更新プログラムを記憶する通信コントローラと、を備え、
前記車両コントローラは、前記通信コントローラに対して前記更新プログラムの転送を要求する転送要求部と、前記通信コントローラから転送された前記更新プログラムを用いて前記書換処理を実行する書き換え部と、を有し、
前記書換充電量は、前記通信コントローラから前記車両コントローラへ前記更新プログラムを転送するのに必要な充電量と前記書き換え部により前記プログラムを書き換えるのに必要な充電量とを加えた充電量以上に設定され、
前記通信コントローラは、前記充電量検出手段により検出された充電量が前記書換充電量よりも少ない場合に前記転送要求部による転送要求を禁止する、建設機械。
【請求項２】
建設機械であって、
原動機と、
前記原動機の動力を用いて発電する発電機と、
前記発電機により発電された電力を蓄える蓄電装置と、
現在利用されているプログラムを記憶するとともに、前記原動機が停止している状態で前記蓄電装置からの電力を用いて前記プログラムを更新プログラムで書き換える書換処理を実行する制御手段と、
前記蓄電装置の充電量を検出する充電量検出手段と、を備え、
前記制御手段は、前記書換処理の実行の開始前に前記充電量検出手段により検出された充電量が前記書換処理に必要な充電量として予め設定された書換充電量よりも少ないか否かを確認し、前記充電量検出手段により検出された充電量が前記書換充電量よりも少ない場合に前記書換処理の実行を禁止し、
前記制御手段は、現在利用されている前記プログラムを記憶する車両コントローラと、前記更新プログラムを有するサーバに対して通信手段を介して通信可能で、かつ、前記サーバから転送された前記更新プログラムを記憶する通信コントローラと、を備え、
前記車両コントローラは、前記通信コントローラに対して前記更新プログラムの転送を要求する転送要求部と、前記通信コントローラから転送された前記更新プログラムを用いて前記書換処理を実行する書き換え部と、を有し、
前記車両コントローラは、前記更新プログラムを記憶するための記憶部を有し、前記通信コントローラから前記車両コントローラへの前記更新プログラムの転送の開始前に前記充電量検出手段により検出された充電量が前記通信コントローラから前記車両コントローラへ前記更新プログラムを転送するのに必要な充電量として予め設定された転送充電量以上であるか否かを確認し、前記充電量検出手段により検出された充電量が前記転送充電量以上である場合に前記転送要求部による転送要求を許可するとともに転送された前記更新プログラムを前記記憶部に記憶させる、建設機械。
【請求項３】
請求項２に記載の建設機械であって、
前記車両コントローラは、前記通信コントローラから前記車両コントローラへの前記更新プログラムの転送中に、前記充電量検出手段により検出された充電量が前記更新プログラムの未転送の部分を転送するのに必要な充電量として予め設定された未転送充電量よりも少ないか否かを確認し、前記充電量検出手段により検出された充電量が前記未転送充電量よりも少ない場合に、前記更新プログラムの転送を強制的に終了する、建設機械。
【請求項４】
請求項２又は３に記載の建設機械であって、
前記書換充電量は、前記書き換え部により前記プログラムを書き換えるのに必要な充電量以上に設定され、
前記車両コントローラは、前記更新プログラムが前記通信コントローラから前記車両コントローラへ転送された後、前記書換処理の実行の開始前に前記充電量検出手段により検出された充電量が前記書換充電量よりも少ないか否かを確認し、前記充電量検出手段により検出された充電量が前記書換充電量よりも少ない場合に前記書き換え部による前記プログラムの書き換えを禁止する、建設機械。
【請求項５】
プログラム書き換えシステムであって、
更新プログラムを有するサーバと、
請求項１〜４の何れか１項に記載の建設機械と、を備え、
前記建設機械は、現在利用されている前記プログラムを記憶する車両コントローラと、前記サーバに対して通信手段を介して通信可能で、かつ、前記サーバから転送された前記更新プログラムを記憶する通信コントローラと、を備え、
前記車両コントローラは、前記通信コントローラに対して前記更新プログラムの転送を要求する転送要求部と、前記通信コントローラから転送された前記更新プログラムを用いて前記書換処理を実行する書き換え部と、を有する、プログラム書き換えシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ショベル等の建設機械において、作業時の各種制御、累積稼働時間等の車両情報の収集、外部とのデータの授受、及びその他の制御を実行するプログラムを書き換えるための技術に関するものである
【背景技術】
【０００２】
例えば、特許文献１に記載のプログラムの書き換え制御システムは、書き換え専用サーバと、書き換え専用サーバと通信可能な建設機械と、を備えている。
【０００３】
書き換え専用サーバは、建設機械から車両状態データを受信するとともに、この車両状態データに基づいてプログラムを書き換え可能な条件（以下、単に書換条件という）を満たすか否かを判定する。サーバは、書換条件を満たすと判定すると、建設機械に対して更新プログラムを送信する。
【０００４】
一方、建設機械は、現状利用されているプログラムを記憶するフラッシュメモリとサーバから送信された更新プログラムを記憶するＲＡＭとを有するとともに、フラッシュメモリ内のプログラムを更新プログラムに書き換える情報収集コントローラを備えている。情報収集コントローラは、サーバから更新プログラムを受信すると、当該更新プログラムによって現状利用されているプログラムを書き換える。
【０００５】
書換条件は、キースイッチがオフであること、つまり、原動機が停止していることを含んでいる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第４４８７００７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載のプログラムの書き換え制御システムでは、原動機が停止している状況において更新プログラムの書換処理が実行されるため、書換処理を正常に終了することができないおそれがある。
【０００８】
具体的に、建設機械は、原動機と、原動機に接続された発電機と、発電機により発電された電力を蓄える蓄電装置と、を備えている。書換処理は、蓄電装置に蓄えられた電力を用いて実行されることが考えられる。
【０００９】
しかし、書換処理に必要な電力が蓄電装置に蓄えられていない場合、書換処理が途中で終了してしまう。
【００１０】
この場合、書換処理が異常終了するだけでなく、現状利用されているプログラムが破損して建設機械が始動不能になるおそれがある。
【００１１】
本発明の目的は、原動機の停止状態において実行されるプログラムの書換処理が異常終了するのを抑制することができる建設機械及びこれを備えたプログラム書き換えシステムを提供することにある。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明は、建設機械であって、原動機と、前記原動機の動力を用いて発電する発電機と、前記発電機により発電された電力を蓄える蓄電装置と、現在利用されているプログラムを記憶するとともに、前記原動機が停止している状態で前記蓄電装置からの電力を用いて前記プログラムを更新プログラムで書き換える書換処理を実行する制御手段と、前記蓄電装置の充電量を検出する充電量検出手段と、を備え、前記制御手段は、前記書換処理の実行の開始前に前記充電量検出手段により検出された充電量が前記書換処理に必要な充電量として予め設定された書換充電量よりも少ないか否かを確認し、前記充電量検出手段により検出された充電量が前記書換充電量よりも少ない場合に前記書換処理の実行を禁止し、前記制御手段は、現在利用されている前記プログラムを記憶する車両コントローラと、前記更新プログラムを有するサーバに対して通信手段を介して通信可能で、かつ、前記サーバから転送された前記更新プログラムを記憶する通信コントローラと、を備え、前記車両コントローラは、前記通信コントローラに対して前記更新プログラムの転送を要求する転送要求部と、前記通信コントローラから転送された前記更新プログラムを用いて前記書換処理を実行する書き換え部と、を有し、前記書換充電量は、前記通信コントローラから前記車両コントローラへ前記更新プログラムを転送するのに必要な充電量と前記書き換え部により前記プログラムを書き換えるのに必要な充電量とを加えた充電量以上に設定され、前記通信コントローラは、前記充電量検出手段により検出された充電量が前記書換充電量よりも少ない場合に前記転送要求部による転送要求を禁止する、建設機械を提供する。
【００１３】
本発明によれば、蓄電装置の充電量が書換充電量よりも少ないときにプログラムの書換処理が禁止されるため、原動機の停止状態において実行されるプログラムの書換処理が充電量不足により異常終了するのを抑制することができる。
【００１４】
ここで、建設機械とは別の位置に設けられたサーバから転送された更新プログラムを用いてプログラムの書換処理を実行することができる。
【００１５】
この場合、更新プログラムの転送から書換までの処理を連続して行うこともできるが、このようにすると更新プログラムの転送の開始から書換の終了までの間、現在利用されているプログラムの使用が制限され、建設機械の作業を停止しなければならない時間が長期化するという問題がある。
【００１６】
そこで、本発明において、前記制御手段は、現在利用されている前記プログラムを記憶する車両コントローラと、前記更新プログラムを有するサーバに対して通信手段を介して通信可能で、かつ、前記サーバから転送された前記更新プログラムを記憶する通信コントローラと、を備え、前記車両コントローラは、前記通信コントローラに対して前記更新プログラムの転送を要求する転送要求部と、前記通信コントローラから転送された前記更新プログラムを用いて前記書換処理を実行する書き換え部と、を有する。
【００１７】
また、本発明は、プログラム書き換えシステムであって、更新プログラムを有するサーバと、前記建設機械と、を備え、前記建設機械は、現在利用されている前記プログラムを記憶する車両コントローラと、前記サーバに対して通信手段を介して通信可能で、かつ、前記サーバから転送された前記更新プログラムを記憶する通信コントローラと、を備え、前記車両コントローラは、前記通信コントローラに対して前記更新プログラムの転送を要求する転送要求部と、前記通信コントローラから転送された前記更新プログラムを用いて前記書換処理を実行する書き換え部と、を有する、プログラム書き換えシステムを提供する。
【００１８】
これらの発明によれば、現在利用されているプログラムを記憶する車両コントローラとは別に、サーバから転送された更新プログラムを記憶する通信コントローラが設けられている。
【００１９】
これにより、現在利用されているプログラムの利用を維持しつつサーバから更新プログラムを受信して通信コントローラに記憶させることができるため、建設機械の作業を継続しつつサーバから通信コントローラへ新たなプログラムの転送を行うことができる。
【００２０】
さらに、本発明によれば、転送要求部による転送要求に応じて更新プログラムが通信コントローラから車両コントローラに転送され、この更新プログラムを用いて書き換え部によって書換処理を実行することができる。
【００２１】
ここで、通信コントローラから車両コントローラへの更新プログラムの転送処理と車両コントローラにおけるプログラムの書換処理とを連続して実行することにより、処理の高速化を図ることができる。
【００２２】
しかし、この場合、書換処理のみを実行するための電力に加えて転送処理を行うための電力も必要となる。
【００２３】
そこで、本発明において、前記書換充電量は、前記通信コントローラから前記車両コントローラへ前記更新プログラムを転送するのに必要な充電量と前記書き換え部により前記プログラムを書き換えるのに必要な充電量とを加えた充電量以上に設定され、前記通信コントローラは、前記充電量検出手段により検出された充電量が前記書換充電量よりも少ない場合に前記転送要求部による転送要求を禁止する。
【００２４】
本発明によれば、更新プログラムの転送処理とプログラムの書換処理とを連続して実行することによる処理の高速化を図りつつ、蓄電装置の充電量が転送処理及び書換処理に必要な充電量よりも少ない場合に更新プログラムの転送を禁止することによりプログラムの書換処理が充電量不足により異常終了するのを事前に抑制することができる。
【００２５】
さらに、本発明は、建設機械であって、原動機と、前記原動機の動力を用いて発電する発電機と、前記発電機により発電された電力を蓄える蓄電装置と、現在利用されているプログラムを記憶するとともに、前記原動機が停止している状態で前記蓄電装置からの電力を用いて前記プログラムを更新プログラムで書き換える書換処理を実行する制御手段と、前記蓄電装置の充電量を検出する充電量検出手段と、を備え、前記制御手段は、前記書換処理の実行の開始前に前記充電量検出手段により検出された充電量が前記書換処理に必要な充電量として予め設定された書換充電量よりも少ないか否かを確認し、前記充電量検出手段により検出された充電量が前記書換充電量よりも少ない場合に前記書換処理の実行を禁止し、前記制御手段は、現在利用されている前記プログラムを記憶する車両コントローラと、前記更新プログラムを有するサーバに対して通信手段を介して通信可能で、かつ、前記サーバから転送された前記更新プログラムを記憶する通信コントローラと、を備え、前記車両コントローラは、前記通信コントローラに対して前記更新プログラムの転送を要求する転送要求部と、前記通信コントローラから転送された前記更新プログラムを用いて前記書換処理を実行する書き換え部と、を有し、前記車両コントローラは、前記更新プログラムを記憶するための記憶部を有し、前記通信コントローラから前記車両コントローラへの前記更新プログラムの転送の開始前に前記充電量検出手段により検出された充電量が前記通信コントローラから前記車両コントローラへ前記更新プログラムを転送するのに必要な充電量として予め設定された転送充電量以上であるか否かを確認し、前記充電量検出手段により検出された充電量が前記転送充電量以上である場合に前記転送要求部による転送要求を許可するとともに転送された前記更新プログラムを前記記憶部に記憶させる、建設機械を提供する。
【００２６】
本発明によれば、蓄電装置の充電量が書換充電量よりも少ないときにプログラムの書換処理が禁止されるため、原動機の停止状態において実行されるプログラムの書換処理が充電量不足により異常終了するのを抑制することができる。
【００２７】
ここで、建設機械とは別の位置に設けられたサーバから転送された更新プログラムを用いてプログラムの書換処理を実行することができる。
【００２８】
この場合、更新プログラムの転送から書換までの処理を連続して行うこともできるが、このようにすると更新プログラムの転送の開始から書換の終了までの間、現在利用されているプログラムの使用が制限され、建設機械の作業を停止しなければならない時間が長期化するという問題がある。
【００２９】
そこで、本発明において、前記制御手段は、現在利用されている前記プログラムを記憶する車両コントローラと、前記更新プログラムを有するサーバに対して通信手段を介して通信可能で、かつ、前記サーバから転送された前記更新プログラムを記憶する通信コントローラと、を備え、前記車両コントローラは、前記通信コントローラに対して前記更新プログラムの転送を要求する転送要求部と、前記通信コントローラから転送された前記更新プログラムを用いて前記書換処理を実行する書き換え部と、を有する。
【００３０】
本発明によれば、現在利用されているプログラムを記憶する車両コントローラとは別に、サーバから転送された更新プログラムを記憶する通信コントローラが設けられている。
【００３１】
これにより、現在利用されているプログラムの利用を維持しつつサーバから更新プログラムを受信して通信コントローラに記憶させることができるため、建設機械の作業を継続しつつサーバから通信コントローラへ新たなプログラムの転送を行うことができる。
【００３２】
さらに、本発明によれば、転送要求部による転送要求に応じて更新プログラムが通信コントローラから車両コントローラに転送され、この更新プログラムを用いて書き換え部によって書換処理を実行することができる。
【００３３】
また、本発明によれば、蓄電装置の充電量が転送充電量以上であるが、転送処理に加えて書換処理を行うことができる充電量に満たない場合に、更新プログラムを転送して記憶部に記憶させ、後に蓄電装置の充電量が十分になったときに記憶部に記憶された更新プログラムを用いて書換処理を行うことができる。
【００３４】
したがって、蓄電装置の充電量が転送処理及び書換処理を実行可能な充電量に満たない場合であっても、処理を途中まで進めることができるため、後に書換処理を行う際の処理数を低減して、当該書換処理を完了するための時間の短縮を図ることができる。
【００３５】
ここで、蓄電装置の劣化等を理由として、更新プログラムの転送中における蓄電装置の充電量が更新プログラムの転送前に確認された転送充電量から想定される充電量よりも少なくなっている場合がある。この場合、更新プログラムの転送処理を完了できないにもかかわらず蓄電装置の充電量を無駄に消費してしまうおそれがある。
【００３６】
そこで、前記建設機械において、前記車両コントローラは、前記通信コントローラから前記車両コントローラへの前記更新プログラムの転送中に、前記充電量検出手段により検出された充電量が前記更新プログラムの未転送の部分を転送するのに必要な充電量として予め設定された未転送充電量よりも少ないか否かを確認し、前記充電量検出手段により検出された充電量が前記未転送充電量よりも少ない場合に、前記更新プログラムの転送を強制的に終了することが好ましい。
【００３７】
この態様によれば、更新プログラムの転送中に蓄電装置の充電量が不足した場合に、転送を強制的に終了することにより、蓄電装置の充電量を無駄に消費するのを抑制することができる。
【００３８】
前記建設機械において、前記書換充電量は、前記書き換え部により前記プログラムを書き換えるのに必要な充電量以上に設定され、前記車両コントローラは、前記更新プログラムが前記通信コントローラから前記車両コントローラへ転送された後、前記書換処理の実行の開始前に前記充電量検出手段により検出された充電量が前記書換充電量よりも少ないか否かを確認し、前記充電量検出手段により検出された充電量が前記書換充電量よりも少ない場合に前記書き換え部による前記プログラムの書き換えを禁止することが好ましい。
【００３９】
この態様によれば、更新プログラムの転送後に蓄電装置の充電量が書換充電量よりも少ない場合に、プログラムの書き換えを禁止することができる。
【００４０】
したがって、蓄電装置の充電量が転送充電量以上であるが、転送処理に加えて書換処理を行うことができる充電量に満たない場合に、転送処理を実行しながらプログラムの書換処理が異常終了するのを確実に防止することができる。
【発明の効果】
【００４１】
本発明によれば、原動機の停止状態において実行されるプログラムの書換処理が異常終了するのを抑制することができる。
【図面の簡単な説明】
【００４２】
【図１】本発明の第１実施形態に係る油圧ショベルの全体構成を示す側面図である。
【図２】図１の油圧ショベルを含むプログラム書き換えシステムの電気的構成を示すブロック図である。
【図３】図２の制御手段により実行される処理を示すフローチャートである。
【図４】本発明の第２実施形態に係る油圧ショベルにおける制御手段により実行される処理を示すフローチャートである。
【発明を実施するための形態】
【００４３】
以下添付図面を参照しながら、本発明の実施の形態について説明する。なお、以下の実施の形態は、本発明を具体化した例であって、本発明の技術的範囲を限定する性格のものではない。
【００４４】
＜第１実施形態（図１〜図３）＞
図１を参照して、本発明の第１実施形態に係る建設機械の一例としての油圧ショベル１は、クローラ２ａを有する下部走行体２と、下部走行体２上に旋回可能に設けられた上部旋回体３と、上部旋回体３に取り付けられたアタッチメント４と、を備えている。
【００４５】
アタッチメント４は、上部旋回体３に対して回転可能に取り付けられた基端部を有するブーム５と、ブーム５の先端部に回転可能に取り付けられた基端部を有するアーム６と、アーム６の先端部に回転可能に取り付けられたバケット７と、を有する。
【００４６】
また、アタッチメント４は、上部旋回体３に対してブーム５を回転駆動するブームシリンダ８と、ブーム５に対してアーム６を回転駆動するアームシリンダ９と、アーム６に対してバケット７を回転駆動するバケットシリンダ１０と、を備えている。
【００４７】
図２は、油圧ショベル１を含むプログラム書き換えシステムの電気的構成を示すブロック図である。
【００４８】
図２を参照して、プログラム書き換えシステムは、油圧ショベル１と、この油圧ショベル１と通信手段（例えば、携帯電話通信網）１９を介して通信可能に設けられたサーバ１１と、を備えている。
【００４９】
サーバ１１は、油圧ショベル１に記憶された後述のプログラムを書き換えるための更新プログラムを有する。また、サーバ１１は、更新プログラムを通信手段１９を介して油圧ショベル１に転送するプログラム送信部１１ａを備えている。
【００５０】
一方、油圧ショベル１は、原動機１３と、原動機１３の動力を用いて発電するオルタネータ（発電機）１４と、オルタネータ１４により発電された電力を蓄える蓄電装置１５と、原動機１３が始動した状態と原動機１３が停止した状態とを切り換えるための指令を出力するキースイッチ１６と、を備えている。
【００５１】
さらに、油圧ショベル１は、現在利用されているプログラムを記憶するとともに、原動機が停止している状態で蓄電装置１５からの電力を用いてプログラムを更新プログラムで書き換える書換処理を実行する制御手段１２を備えている。
【００５２】
ここで、プログラムは、ＣＰＵ、ＲＡＭ及びＲＯＭを含むハードウェアと協働して、油圧ショベル１における作業時の各種制御、累積稼働時間等の車両情報の収集、外部とのデータの授受、及びその他の制御を実行するためのものである。
【００５３】
具体的に、制御手段１２は、サーバ１１に対して通信手段１９を介して通信可能な通信コントローラ１７と、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）通信を用いて通信コントローラ１７との間でデータの授受を行う車両コントローラ１８と、を備えている。
【００５４】
通信コントローラ１７は、サーバ１１から転送された更新プログラムを記憶するデータ記憶部１７ａと、データ記憶部１７ａに記憶された更新プログラムを車両コントローラ１８からの要求に応じて車両コントローラ１８に転送するプログラム転送部１７ｂと、を備えている。
【００５５】
車両コントローラ１８は、通常制御部１８ａと、転送要求部１８ｂと、書き換え部１８ｃと、検査部１８ｄと、充電量検出部（充電量検出手段）１８ｅと、原動機停止検出部１８ｆと、データ記憶部（記憶部）１８ｇと、を備えている。
【００５６】
通常制御部１８ａは、油圧ショベル１の通常制御（アクチュエータ［アタッチメント４のシリンダ８〜１０等］に作動油を供給する油圧ポンプの制御等）を実行する。
【００５７】
転送要求部１８ｂは、通信コントローラ１７に更新プログラムの転送を要求する。これに応じて、通信コントローラ１７のプログラム転送部１７ｂは、車両コントローラ１８へ更新プログラムを転送する。通信コントローラ１７から車両コントローラ１８に転送された更新プログラムは、データ記憶部１８ｇに記憶される。
【００５８】
書き換え部１８ｃは、通信コントローラ１７から転送された更新プログラムを用いて現在利用されているプログラムを書き換える。なお、通信コントローラ１７から更新プログラムが転送された後、プログラムの書き換え前の段階において、現在利用されているプログラム、及び、通信コントローラ１７から転送された更新プログラムは、データ記憶部１８ｇの別々の領域に記憶されている。また、プログラムの書き換え後の段階においても、現在利用されているプログラムは、データ記憶部１８ｇにおいて更新プログラム（書き換え後のプログラム）が記憶されている領域とは別の一次記憶領域に記憶されている。そのため、プログラムの書き換え後、後述する検査部１８ｄにより書き換え後のプログラムに誤りが検出された場合には、一時記憶領域に記憶されたプログラムを用いてプログラムを更新前の状態に戻すことができる。なお、一時記憶領域に記憶された、現在利用されているプログラムは、検査部１８ｄにより書き換え後のプログラムに誤りが検出されなかったときに削除される。
【００５９】
検査部１８ｄは、プログラムの検査を実行する。具体的に、検査部１８ｄは、通信コントローラ１７から車両コントローラ１８に転送されてデータ記憶部１８ｇに記憶された更新プログラムに誤りがないか否かを検査する。さらに、検査部１８ｄは、上述のようにデータ記憶部１８ｇに記憶された、書き換え後のプログラムに誤りがないか否かを検査する。検査部１８ｄは、例えば、予め数値化されたデータ合計値を照合するチェックサムを実行する。
【００６０】
充電量検出部１８ｅは、蓄電装置１５の充電量を検出する。具体的に、充電量検出部１８ｅは、蓄電装置１５の電圧を検出し、この検出電圧と、データ記憶部１８ｇに予め記憶された蓄電装置１５の電圧と蓄電装置１５の充電量との関係を示す特性とに基づいて蓄電装置１５の充電量を検出する。
【００６１】
原動機停止検出部１８ｆは、原動機１３の停止状態にあるか否かを検出する。具体的に、原動機停止検出部１８ｆは、キースイッチ１６の出力信号に基づいて原動機１３が停止しているか否か（キースイッチ１６がオフに切り換えられているか否か）を検出する。
【００６２】
データ記憶部１８ｇは、現在利用されているプログラム及び通信コントローラ１７から転送されたプログラムを記憶する。
【００６３】
このように構成された車両コントローラ１８は、書換処理の実行の開始前に充電量検出部１８ｅにより検出された充電量が書き換え部１８ｃによる書換処理に必要な充電量として予め設定された書換充電量よりも少ないか否かを確認し、前記充電量検出部１８ｅにより検出された充電量が書換充電量よりも少ない場合に書換処理の実行を禁止する。
【００６４】
具体的に、書換充電量は、通信コントローラ１７から車両コントローラ１８へ更新プログラムを転送するのに必要な充電量と書き換え部１８ｃによりプログラムを書き換えるのに必要な充電量とを加えた充電量以上に設定されている。そして、車両コントローラ１８は、充電量検出部１８ｅにより検出された充電量が書換充電量よりも少ない場合に転送要求部１８ｂによる転送要求を禁止する。
【００６５】
これにより、蓄電装置１５の充電量が不足することによりプログラムの書換処理が異常終了するのを事前に防止することができる。
【００６６】
以下、図３を参照して制御手段１２（車両コントローラ１８）により実行される処理について説明する。なお、通信コントローラ１７がサーバ１１から更新プログラムを既に受信していることを前提として説明する。
【００６７】
当該処理が開始されると、まず、キースイッチ１６がオフに切り換えられているか否か、つまり、原動機１３が停止しているか否かが判定される（ステップＳ１）。
【００６８】
ここで、キースイッチ１６がオフであると判定されると（ステップＳ１でＹＥＳ）、ステップＳ２以降の処理が実行される。
【００６９】
ステップＳ２では、充電量検出部１８ｅにより検出された蓄電装置１５の充電量が前記書換充電量Ｖ１以上であるか否かが判定される。
【００７０】
ここで、蓄電装置１５の充電量が書換充電量Ｖ１以上であると判定されると（ステップＳ２でＹＥＳ）、転送要求部１８ｂを通じて通信コントローラ１７への更新プログラムの転送を要求する（ステップＳ３）。これにより、通信コントローラ１７から車両コントローラ１８への更新プログラムの転送が開始される。
【００７１】
次いで、通信コントローラ１７から更新プログラムの受信を完了したか否かが判定され（ステップＳ４）、更新プログラムの受信が完了していないと判定されると（ステップＳ４でＮＯ）、引き続き更新プログラムの受信を継続する。
【００７２】
一方、更新プログラムの受信が完了したと判定されると（ステップＳ４でＹＥＳ）、データ記憶部１８ｇに記憶された受信後の更新プログラムに誤りがないか否かが判定される（ステップＳ５）。
【００７３】
ここで、受信後の更新プログラムに誤りがあると判定されると（ステップＳ５でＮＯ）、油圧ショベル１の電源を落として（ステップＳ９）、当該処理を終了する。なお、ステップＳ５でＮＯと判定された場合、データ記憶部１８ｇに記憶された更新プログラムはデータ記憶部１８ｇから削除される。一方、通信コントローラ１７には、ステップＳ５でＹＥＳと判定されるまで更新プログラムが残されている。したがって、ステップＳ５でＮＯと判定された場合であっても、通信コントローラ１７に記憶された更新プログラムは、次に図３の制御が実行されるときに車両コントローラ１８に再度転送される。
【００７４】
一方、受信後の更新プログラムに誤りがないと判定されると（ステップＳ５でＹＥＳ）、当該更新プログラムを用いてプログラムが書き換えられる（ステップＳ６）。
【００７５】
次いで、書き換えられたプログラムに誤りがないか否かが判定される（ステップＳ７）。
【００７６】
ここで、書き換えられたプログラムに誤りがあると判定されると（ステップＳ７でＮＯ）、プログラムが更新前（書き換え前）の状態に戻される（ステップＳ８）。なお、データ記憶部１８ｇには、ステップＳ７でＹＥＳと判定されるまで更新前のプログラム（これまで利用されていたプログラム）が残されている。したがって、ステップＳ８では、データ記憶部１８ｇにおける書き換え後のプログラムを書き換え前のプログラムによって書き換えることができる。
【００７７】
一方、書き換えられたプログラムに誤りがないと判定されると（ステップＳ７でＹＥＳ）、油圧ショベル１の電源を落として（ステップＳ９）、当該処理が終了する。
【００７８】
以上のように、ステップＳ３〜Ｓ７の処理によってプログラムの転送処理及び書換処理が実行される。
【００７９】
一方、前記ステップＳ２において、蓄電装置１５の充電量が書換充電量Ｖ１よりも少ないと判定されると（ステップＳ２でＮＯ）、上述した書換処理が禁止され、油圧ショベル１の電源を落として（ステップＳ９）、当該処理が終了する。
【００８０】
以上説明したように、蓄電装置１５の充電量が書換充電量Ｖ１よりも少ないときにプログラムの書換処理（ステップＳ６及びＳ７）が禁止されるため、原動機１３の停止状態において実行されるプログラムの書換処理が充電量不足により異常終了するのを抑制することができる。
【００８１】
また、第１実施形態によれば、以下の効果を奏することができる。
【００８２】
現在利用されているプログラムを記憶する車両コントローラ１８とは別に、サーバ１１から転送された更新プログラムを記憶する通信コントローラ１７が設けられている。
【００８３】
これにより、現在利用されているプログラムの利用を維持しつつサーバ１１から更新プログラムを受信して通信コントローラ１７に記憶させることができるため、油圧ショベル１の作業を継続しつつサーバ１１から通信コントローラ１７へ新たなプログラムの転送を行うことができる。
【００８４】
さらに、転送要求部１８ｂによる転送要求に応じて更新プログラムが通信コントローラ１７から車両コントローラ１８に転送され、この更新プログラムを用いて書き換え部１８ｃによって書換処理を実行することができる。
【００８５】
更新プログラムの転送処理（ステップＳ３〜Ｓ５）とプログラムの書換処理（ステップＳ６及びＳ７）とを連続して実行することによる処理の高速化を図りつつ、蓄電装置１５の充電量が転送処理及び書換処理に必要な充電量（書換充電量Ｖ１）よりも少ない場合に更新プログラムの転送を禁止することによりプログラムの書換処理が充電量不足により異常終了するのを事前に抑制することができる。
【００８６】
＜第２実施形態（図４）＞
第１実施形態では、通信コントローラ１７から車両コントローラ１８への更新プログラムの転送に必要な充電量とプログラムの書き換えに必要な充電量とを加えた書換充電量Ｖ１よりも蓄電装置１５の充電量が低いときに転送処理及び書換処理が禁止されている。
【００８７】
しかし、以下に示す第２実施形態に示すように、蓄電装置１５の充電量が転送処理及び書換処理を実行するのに必要な充電量よりは低いものの転送処理に必要な充電量以上であるときに、転送処理を許容することもできる。
【００８８】
以下、図４を参照して、第２実施形態の制御手段（車両コントローラ１８）により実行される処理を説明する。なお、第１実施形態と同様の部分については説明を省略することがある。
【００８９】
当該処理が開始されると、まず、キースイッチ１６がオフに切り換えられているか否か、つまり、原動機１３が停止しているか否かが判定される（ステップＳ１０）。
【００９０】
ここで、キースイッチ１６がオフであると判定されると（ステップＳ１０でＹＥＳ）、ステップＳ１１以降の処理が実行される。
【００９１】
ステップＳ１１では、通信コントローラ１７から車両コントローラ１８への更新プログラムの転送が既に完了していることを示す転送済みフラグが１に設定されているか否かが判定される（ステップＳ１１）。
【００９２】
ここで、転送済みフラグが１ではない、つまり、通信コントローラ１７から車両コントローラ１８への転送が完了していない（転送の開始前である）と判定されると（ステップＳ１１でＮＯ）、充電量検出部１８ｅにより検出された蓄電装置１５の充電量が転送充電量Ｖ２以上であるか否かが判定される（ステップＳ１２）。
【００９３】
なお、転送充電量Ｖ２は、通信コントローラ１７から車両コントローラ１８へ更新プログラムを転送するのに必要な充電量として予め設定されたものである。
【００９４】
ステップＳ１２において蓄電装置１５の充電量が転送充電量Ｖ２以上であると判定されると（ステップＳ１２でＹＥＳ）、転送要求部１８ｂによる転送要求を許可する（ステップＳ１３）。これにより、通信コントローラ１７から車両コントローラ１８への更新プログラムの転送が開始される。
【００９５】
次いで、通信コントローラ１７から車両コントローラ１８への更新プログラムの転送中に、充電量検出部１８ｅにより検出された蓄電装置１５の充電量が未転送充電量Ｖ３以上であるか否かが判定される（ステップＳ１４）。
【００９６】
ここで、未転送充電量Ｖ３は、更新プログラムの未転送部分のデータ量と未転送部分の転送に必要な蓄電装置１５の充電量との関係を示す、予め記憶された特性と、現在の更新プログラムの未転送部分のデータ量とに基づいて特定される。つまり、充電量検出部１８ｅにより検出された充電量が未転送充電量Ｖ３以上であれば、更新プログラムの未転送部分の転送を完了することができる。
【００９７】
ステップＳ１４において蓄電装置１５の充電量が未転送充電量Ｖ３以上であると判定されると、更新プログラムの受信が完了したか否かが判定され（ステップＳ１５）、更新プログラムの受信が完了していないと判定されると（ステップＳ１５でＮＯ）、ステップＳ１４を繰り返し実行する。
【００９８】
一方、ステップＳ１５において更新プログラムの受信が完了したと判定されると（ステップＳ１５でＹＥＳ）、データ記憶部１８ｇに記憶された受信後の更新プログラムに誤りがないか否かが判定される（ステップＳ１６）。
【００９９】
ここで、受信後の更新プログラムに誤りがないと判定されると（ステップＳ１６でＹＥＳ）、更新プログラムの転送処理（ステップＳ１３〜Ｓ１６）が完了したことを示す転送済みフラグを１に設定する（ステップＳ１７）。
【０１００】
一方、蓄電装置１５の充電量が転送充電量Ｖ２よりも少ない場合（ステップＳ１２でＮＯ）、蓄電装置１５の充電量が未転送充電量Ｖ３よりも少ない場合（ステップＳ１４でＮＯ）、及び、受信後の更新プログラムに誤りがあると判定された場合（ステップＳ１６でＮＯ）には、油圧ショベル１の電源を落として（ステップＳ２３）、当該処理を終了する。つまり、これらの場合には、転送処理が完了することなく制御手段１２の処理が終了する。
【０１０１】
転送処理が終了すると、次いで、書換処理の実行の開始前に充電量検出部１８ｅにより検出された蓄電装置１５の充電量が書換充電量Ｖ４以上であるか否かが判定される（ステップＳ１８）。
【０１０２】
書換充電量Ｖ４は、書き換え部１８ｃによりプログラムを書き換えるのに必要な充電量以上に設定されている。
【０１０３】
蓄電装置１５の充電量が書換充電量Ｖ４以上であると判定されると（ステップＳ１８でＹＥＳ）、更新プログラムを用いてプログラムが書き換えられる（ステップＳ１９）。
【０１０４】
次いで、データ記憶部１８ｇに記憶された、書き換えられたプログラムに誤りがないか否かが判定される（ステップＳ２０）。
【０１０５】
ここで、書き換えられたプログラムに誤りがあると判定されると（ステップＳ２０でＮＯ）、プログラムが更新前（書き換え前）の状態に戻される（ステップＳ２２）。
【０１０６】
一方、書き換えられたプログラムに誤りがないと判定されると（ステップＳ２０でＹＥＳ）、転送済みフラグを０に設定（リセット）する（ステップＳ２１）。
【０１０７】
そして、ステップＳ２１又はＳ２２に引き続き、油圧ショベル１の電源が落とされ（ステップＳ２３）、当該処理が終了する。
【０１０８】
以上のように、ステップＳ１９〜Ｓ２１によってプログラムの書換処理が実行される。
【０１０９】
一方、前記ステップＳ１８において蓄電装置１５の充電量が書換充電量Ｖ４よりも少ないと判定されると（ステップＳ１８でＮＯ）、上述した書換処理が禁止され、油圧ショベル１の電源を落として（ステップＳ２３）、当該処理が終了する。
【０１１０】
なお、ステップＳ１８において蓄電装置１５の充電量が書換充電量Ｖ４よりも少ないと判定されて処理が終了した後、再び図４に示す処理が開始された場合を考える。この場合、上述したステップＳ１１でＹＥＳと判定される結果、転送処理（ステップＳ１３〜Ｓ１６）をスキップすることができる。そして、ステップＳ１８において、蓄電装置１５の充電量が書換充電量Ｖ４以上であると判定されると、書換処理（ステップＳ１９〜Ｓ２１）が実行される。
【０１１１】
以上説明したように、第２実施形態によれば、蓄電装置１５の充電量が転送充電量Ｖ２以上であるが、転送処理（ステップＳ１３〜Ｓ１６）に加えて書換処理（ステップＳ１９〜Ｓ２１）を行うことができる充電量に満たない場合に、更新プログラムを転送してデータ記憶部１８ｇに記憶させ、後に蓄電装置１５の充電量が十分になったとき（ステップＳ１１でＹＥＳの後にステップＳ１８でＹＥＳの場合）にデータ記憶部１８ｇに記憶された更新プログラムを用いて書換処理を行うことができる。
【０１１２】
したがって、蓄電装置１５の充電量が転送処理及び書換処理を実行可能な充電量に満たない場合であっても、処理を途中まで進めることができるため、後に書換処理を行う際の処理数を低減して、当該書換処理を完了するための時間の短縮を図ることができる。
【０１１３】
ここで、蓄電装置１５の劣化等を理由として、更新プログラムの転送中（ステップＳ１３の後、ステップＳ１５でＹＥＳと判断されるまで）における充電量が更新プログラムの転送前に確認された転送充電量Ｖ２から想定される充電量よりも少なくなっている場合がある。この場合、更新プログラムの転送処理を完了できないにもかかわらず蓄電装置１５の充電量を無駄に消費してしまう。
【０１１４】
これに対し、更新プログラムの転送中に蓄電装置１５の充電量が不足した場合（ステップＳ１４でＮＯと判定された場合）に、転送を強制的に終了することにより、蓄電装置１５の充電量を無駄に消費するのを抑制することができる。
【０１１５】
また、更新プログラムの転送後に蓄電装置１５の充電量が書換充電量Ｖ４よりも少ない場合（ステップＳ１７の後にステップＳ１８でＮＯの場合）に、プログラムの書き換えを禁止することができる。
【０１１６】
したがって、蓄電装置１５の充電量が転送充電量Ｖ２以上であるが、転送処理に加えて書換処理を行うことができる充電量に満たない場合に、転送処理を実行しながらプログラムの書換処理が異常終了するのを確実に防止することができる。
【０１１７】
なお、本発明は、前記実施形態に限定されるものではなく、例えば、以下の態様を採用することもできる。
【０１１８】
前記実施形態では、充電量検出手段として蓄電装置１５の電圧を検出する車両コントローラ１８の充電量検出部１８ｅを例示しているが、充電量検出手段は、蓄電装置１５の充電量を検出することができるものであれば充電量検出部１８ｅに限定されない。例えば、充電量検出手段として、初期の充電量を記憶する車両コントローラと、蓄電装置１５の充放電電流を検出可能な電流検出器と、を含む構成を採用することができる。この充電量検出手段によれば、初期の充電量から電流検出器により検出された電流を増減することにより現在の蓄電装置１５の充電量を算出することができる。
【０１１９】
前記実施形態では、サーバ１１から更新プログラムを受信する通信コントローラ１７と、通信コントローラ１７から更新プログラムを受信する車両コントローラ１８とを有する制御手段１２について説明したが、制御手段１２は、これに限定されない。具体的に、制御手段１２は、作業員から更新プログラムが与えられるように構成されていてもよい。また、制御手段は、現在利用されているプログラムを記憶する領域を有し、充電量検出部１８ｅにより検出された蓄電装置１５の充電量がプログラムの書き換えに必要な書換充電量よりも少ない場合に書換処理の実行を禁止するものであればよい。
【０１２０】
前記実施形態では、原動機１３が停止していることを検出するための手段としてキースイッチ１６を例示しているが、この手段は、キースイッチ１６に限定されない。例えば、前記手段として、原動機回転数を検出可能な回転数検出器、及び、オルタネータ１４の端子間電圧を検出する電圧検出器を採用することもできる。
【０１２１】
プログラム（更新プログラム）は、それ自体で１以上の機能を実現するものでもよいが、他のプログラムと連携して１以上の機能を実現するものでもよい。つまり、制御手段１２（車両コントローラ１８）は、所定の機能を実現するプログラム（複数のプログラム）の全体を更新するものでもいが、所定の機能を実現する複数のプログラムのうちの１つのプログラムのみを更新するものであってもよい。
【０１２２】
建設機械は、ショベルに限定されず、クレーン及び解体機でもよく、油圧式の建設機械に限らず、ハイブリッド式又は電気式のものでもよい。
【符号の説明】
【０１２３】
Ｖ１、Ｖ４    書換充電量
Ｖ２    転送充電量
Ｖ３    未転送充電量
１    油圧ショベル（建設機械の一例）
１１    サーバ
１２    制御手段
１３    原動機
１４    オルタネータ（発電機）
１５    蓄電装置
１７    通信コントローラ
１８    車両コントローラ
１８ｂ    転送要求部
１８ｃ    書き換え部
１８ｇ    データ記憶部（記憶部）
１９    通信手段
【図１】
0006507884.tif 000002
【図２】
0006507884.tif 000003
【図３】
0006507884.tif 000004
【図４】
0006507884.tif 000005