(57)【要約】【課題】プログラムの書換処理を実行するコントローラに要求される処理能力を低く抑える。【解決手段】油圧ショベル１は、プログラムを記憶するとともにプログラムを更新プログラムで書き換える書換処理を実行する車両コントローラ２１と、更新プログラムを有するサーバ１１に対して通信手段１９を介して通信可能でかつサーバ１１から受信した更新プログラムを記憶する通信コントローラ２０と、を有する制御手段１２と、電装品に対する電力供給が行われている電力供給状態にあるか否かを検出する書換可否判定部２１ｅと、を備えている。制御手段１２は、書換可否判定部２１ｅにより電力供給状態にないことが検出されたときに通信コントローラ２０から車両コントローラ２１への更新プログラムの転送を開始し、転送の開始後でかつ転送の完了前に書換可否判定部２１ｅにより電力供給状態にあることが検出されたときに更新プログラムの転送を中断する。【選択図】図２
2017041114.tif 000002
【特許請求の範囲】
【請求項１】
建設機械であって、
現在利用されているプログラムを記憶するとともに前記プログラムを更新プログラムで書き換える書換処理を実行する車両コントローラと、前記更新プログラムを有するサーバに対して通信手段を介して通信可能でかつ前記サーバから受信した前記更新プログラムを記憶する通信コントローラと、を有する制御手段と、
前記建設機械に設けられた電装品に対する電力供給が行われている電力供給状態にあるか否かを検出する電力供給状態検出手段と、を備え、
前記制御手段は、前記電力供給状態検出手段により電力供給状態にないことが検出されたときに前記通信コントローラから前記車両コントローラへの前記更新プログラムの転送を開始し、前記転送の開始後でかつ前記転送の完了前に前記電力供給状態検出手段により電力供給状態にあることが検出されたときに前記更新プログラムの転送を中断する、建設機械。
【請求項２】
請求項１に記載の建設機械であって、
前記制御手段は、前記転送の中断後に前記電力供給状態検出手段により電力供給状態にないことが検出されたときに前記転送を再開する、建設機械。
【請求項３】
請求項２に記載の建設機械であって、
前記通信コントローラは、前記転送の中断後に前記転送を再開するときに、前記更新プログラムの転送済みの部分以外の部分を前記車両コントローラに転送する、建設機械。
【請求項４】
請求項１〜３の何れか１項に記載の建設機械は、前記電装品に対する電力供給を禁止する禁止状態と前記電力供給を許容する許容状態との間で切換可能な電力供給禁止手段をさらに備え、
前記制御手段は、前記転送の完了後でかつ前記書換処理の実行中に前記電力禁止手段に対して前記禁止状態に切り換えるための指令を出力する、建設機械。
【請求項５】
プログラム書き換えシステムであって、
更新プログラムを有するサーバと、
請求項１〜４の何れか１項に記載の建設機械と、を備え、
前記建設機械の制御手段は、前記電力供給状態検出手段により電力供給状態にないことが検出されたときに前記通信コントローラから前記車両コントローラへの前記更新プログラムの転送を開始し、前記転送の開始後でかつ前記転送の完了前に前記電力供給状態検出手段により電力供給状態にあることが検出されたときに前記更新プログラムの転送を中断する、プログラム書き換えシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ショベル等の建設機械において、作業時の各種制御、累積稼働時間等の車両情報の収集、外部とのデータ授受、及びその他の制御を実行するプログラムを書き換えるための技術に関するものである。
【背景技術】
【０００２】
例えば、特許文献１に記載のプログラム書き換え制御システムは、書き換え専用サーバと、書き換え専用サーバと通信可能な建設機械と、を備えている。
【０００３】
建設機械は、書き換え専用サーバに対して携帯電話基地局等の通信手段を介して通信可能な通信コントローラと、通信コントローラと車体内通信回線を介して接続されているとともに現在利用されているプログラムを記憶する情報収集コントローラと、を備えている。
【０００４】
書き換え専用サーバは、情報収集コントローラに収集された車両状態データを通信コントローラを通じて受信するとともに、この車両状態データに基づいてプログラムを書き換え可能な条件（以下、単に書換条件という）を満たすか否かを判定する。また、書き換え専用サーバは、書換条件を満たすと判定されると、建設機械に対して更新プログラムを送信する。
【０００５】
情報収集コントローラは、書き換え専用サーバから通信コントローラを介して更新プログラムを受信すると、当該更新プログラムによって現在利用されているプログラムを書き換える。
【０００６】
書換条件は、建設機械が稼働中でないこと、つまり、キースイッチがオフに操作されていること（建設機械に設けられた電装品への電力供給が停止している状態）を含んでいる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第４４８７００７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１に記載の建設機械では、キースイッチがオフに操作された状態でプログラムの書き換えが開始されると、その後にキースイッチがオンに操作されてもプログラムの書き換えが継続される。
【０００９】
しかしながら、この状態において、情報収集コントローラは、建設機械の情報収集を行うための処理とプログラムの書換処理とを並行して実行しなければならないため、当該情報収集コントローラに高い処理能力が要求されるという問題がある。
【００１０】
本発明の目的は、プログラムの書換処理を実行するコントローラに要求される処理能力を低く抑えることができる建設機械及びこれを備えたプログラム書き換えシステムを提供することにある。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明は、建設機械であって、現在利用されているプログラムを記憶するとともに前記プログラムを更新プログラムで書き換える書換処理を実行する車両コントローラと、前記更新プログラムを有するサーバに対して通信手段を介して通信可能でかつ前記サーバから受信した前記更新プログラムを記憶する通信コントローラと、を有する制御手段と、前記建設機械に設けられた電装品に対する電力供給が行われている電力供給状態にあるか否かを検出する電力供給状態検出手段と、を備え、前記制御手段は、前記電力供給状態検出手段により電力供給状態にないことが検出されたときに前記通信コントローラから前記車両コントローラへの前記更新プログラムの転送を開始し、前記転送の開始後でかつ前記転送の完了前に前記電力供給状態検出手段により電力供給状態にあることが検出されたときに前記更新プログラムの転送を中断する、建設機械を提供する。
【００１２】
本発明によれば、現在利用されているプログラムを記憶する車両コントローラとは別に、サーバから受信した更新プログラムを記憶する通信コントローラが設けられている。
【００１３】
これにより、現在利用されているプログラムの利用を維持しつつサーバから更新プログラムを受信して通信コントローラに記憶させることができるため、建設機械の作業を継続しつつ通信コントローラがサーバから新たなプログラムを受信することができる。
【００１４】
さらに、本発明によれば、通信コントローラから車両コントローラへの更新プログラムの転送開始後、電力供給状態であることが検出されたときに、転送を中断することができる。
【００１５】
これにより、電力供給状態において車両コントローラが書換処理を実行するのを事前に防ぐことができるため、車両コントローラが書換処理に加えて他の処理を並行して行うのを防止することができる。
【００１６】
したがって、本発明によれば、車両コントローラの処理能力を低く抑えることができる。
【００１７】
なお、本発明において『電力供給状態にない』とは、建設機械に設けられた電装品に対する電力供給が行われていない状態であって、かつ、制御手段に対しては電力が供給されている状態を意味する。
【００１８】
ここで、転送中断後に電力供給状態となっている状況であっても建設機械による作業が休止されている状況においては車両コントローラにより実行される処理は多くなく、この状況において転送を再開させても車両コントローラへの負担は比較的に小さい。
【００１９】
そのため、転送中断後、電力供給状態にあり、かつ、建設機械による作業が休止されている状況において転送再開を許可するための操作がオペレータにより行われたときに転送を再開してもよい。
【００２０】
一方、前記建設機械において、前記制御手段は、前記転送の中断後に前記電力供給状態検出手段により電力供給状態にないことが検出されたときに前記転送を再開することがより好ましい。
【００２１】
この態様によれば、電力供給状態でない状態、つまり、車両コントローラの負荷を可及的に低減した状態で更新プログラムの転送を再開することができる。
【００２２】
ここで、転送の再開時に更新プログラムの全体の転送をやり直してもよいが、この場合には、更新プログラムの転送済みの部分を再度転送する時間を要するため、更新プログラムの転送時間が長くなるという問題がある。
【００２３】
そこで、前記建設機械において、前記通信コントローラは、前記転送の中断後に前記転送を再開するときに、前記更新プログラムの転送済みの部分以外の部分を前記車両コントローラに転送することが好ましい。
【００２４】
この態様によれば、転送再開時において更新プログラムの転送済みの部分の再転送を省略することにより、更新プログラムの全体の再転送を行う場合と比べて転送時間を短縮することができる。
【００２５】
ここで、書換処理の実行中は現在利用されているプログラムにより実現される制御手段の機能が制限される。そのため、現在利用されているプログラムによる機能を維持しつつ書換処理を実行するために、現在利用されているプログラムを実行可能な状態で記憶する第１の領域と更新プログラムを後に実行可能な状態で記憶する第２の領域とを別々に車両コントローラに設けることも考えられる。
【００２６】
しかし、この場合には、プログラムを実行可能な状態で記憶する領域を２系統準備しなければならず、当該車両コントローラの構造が複雑となりコストが増加する。
【００２７】
そこで、前記建設機械は、前記電装品に対する電力供給を禁止する禁止状態と前記電力供給を許容する許容状態との間で切換可能な電力供給禁止手段をさらに備え、前記制御手段は、前記転送の完了後でかつ前記書換処理の実行中に前記電力禁止手段に対して前記禁止状態に切り換えるための指令を出力することが好ましい。
【００２８】
この態様によれば、書換処理の実行開始時に当該書換処理の実行に適した環境（電装品に電力供給が行われていない環境）を自動的に作り出すことができるため、車両コントローラの構成を簡素化しかつコストを抑えながら書換処理を適切に行うことができる。
【００２９】
また、本発明は、プログラム書き換えシステムであって、更新プログラムを有するサーバと、前記建設機械と、を備え、前記建設機械の制御手段は、前記電力供給状態検出手段により電力供給状態にないことが検出されたときに前記通信コントローラから前記車両コントローラへの前記更新プログラムの転送を開始し、前記転送の開始後でかつ前記転送の完了前に前記電力供給状態検出手段により電力供給状態にあることが検出されたときに前記更新プログラムの転送を中断する、プログラム書き換えシステムを提供する。
【発明の効果】
【００３０】
本発明によれば、プログラムの書換処理を実行するコントローラに要求される処理能力を低く抑えることができる。
【図面の簡単な説明】
【００３１】
【図１】本発明の第１実施形態に係る油圧ショベルの全体構成を示す側面図である。
【図２】図１の油圧ショベルを含むプログラム書き換えシステムの電気的構成を示すブロック図である。
【図３】図２の通信コントローラにより実行される処理を示すフローチャートである。
【図４】図２の車両コントローラにより実行される処理を示すフローチャートである。
【図５】図４に示す転送更新処理の内容を示すフローチャートである。
【図６】本発明の第２実施形態に係る油圧ショベルの車両コントローラにより実行される処理の一部を示すフローチャートである。
【図７】本発明の第３実施形態に係る油圧ショベルの車両コントローラにより実行される処理を示すフローチャートである。
【発明を実施するための形態】
【００３２】
以下添付図面を参照しながら、本発明の実施の形態について説明する。なお、以下の実施の形態は、本発明を具体化した例であって、本発明の技術的範囲を限定する性格のものではない。
【００３３】
＜第１実施形態＞
図１を参照して、本発明の第１実施形態に係る建設機械の一例としての油圧ショベル１は、クローラ２ａを有する下部走行体２と、下部走行体２上に旋回可能に設けられた上部旋回体３と、上部旋回体３に取り付けられたアタッチメント４と、を備えている。
【００３４】
アタッチメント４は、上部旋回体３に対して回転可能に取り付けられた基端部を有するブーム５と、ブーム５の先端部に回転可能に取り付けられた基端部を有するアーム６と、アーム６の先端部に回転可能に取り付けられたバケット７と、を有する。
【００３５】
また、アタッチメント４は、上部旋回体３に対してブーム５を回転駆動するブームシリンダ８と、ブーム５に対してアーム６を回転駆動するアームシリンダ９と、アーム６に対してバケット７を回転駆動するバケットシリンダ１０と、を備えている。
【００３６】
図２は、油圧ショベル１を含むプログラム書き換えシステムの電気的構成を示すブロック図である。
【００３７】
図２を参照して、プログラム書き換えシステムは、油圧ショベル１と、この油圧ショベル１と通信手段（例えば、携帯電話通信網）１９を介して通信可能に設けられたサーバ１１と、を備えている。
【００３８】
サーバ１１は、油圧ショベル１に記憶された後述のプログラムを書き換えるための更新プログラムを有する。また、サーバ１１は、更新プログラムを通信手段１９を介して油圧ショベル１に転送するプログラム送信部１１ａを備えている。
【００３９】
一方、油圧ショベル１は、原動機１３と、原動機１３を始動させるためのスタータモータ１３ａと、原動機１３の動力を用いて発電するオルタネータ１４と、オルタネータ１４により発電された電力を蓄える蓄電装置１５と、原動機１３の動力を用いて作動油を吐出する可変容量式の油圧ポンプ１７と、油圧ポンプ１７の傾転を調整するためのレギュレータ１７ａと、を備えている。
【００４０】
また、油圧ショベル１は、所定の情報を表示する表示装置（油圧ショベル１に設けられた電装品の一例）１６と、後述する制御手段１２に対して所定の指令を入力するための入力装置１９と、表示装置１６を含む電装品に対する電力の供給状態を切り換え操作するためのキースイッチ（電力供給状態検出手段）１８と、キースイッチ１８と後述の制御手段１２との間に設けられたリレー（電力供給禁止手段）１９と、を備えている。キースイッチ１８は、表示装置１６を含む電装品に対する電力供給を停止するためのＯＦＦ位置と、表示装置１６を含む電装品に対して蓄電装置１９及びオルタネータ１４の少なくとも一方から電力を供給するためのＯＮ位置と、スタータモータ１３ａに電力を供給して原動機１３を始動するための始動位置と、の間で切換可能である。なお、始動位置は、ＯＮ位置に含まれる操作位置である。また、キースイッチ１８がＯＦＦ位置に切り換えられた状態において、後述する制御手段１２に対しては蓄電装置１５から電力が供給されている。
【００４１】
さらに、油圧ショベル１は、現在利用されているプログラムを記憶するとともに、原動機１３が停止している状態で蓄電装置１５からの電力を用いてプログラムを更新プログラムで書き換える書換処理を実行する制御手段１２を備えている。
【００４２】
ここで、プログラムは、ＣＰＵ、ＲＡＭ及びＲＯＭを含むハードウェアと協働して、油圧ショベル１における作業時の各種制御、累積稼働時間等の車両情報の収集、外部とのデータの授受、及びその他の制御を実行するためのものである。
【００４３】
具体的に、制御手段１２は、サーバ１１に対して通信手段１９を介して通信可能な通信コントローラ２０と、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）通信を用いて通信コントローラ２０との間でデータの授受を行う車両コントローラ２１と、を備えている。
【００４４】
通信コントローラ２０は、サーバ１１から転送された更新プログラムを記憶するデータ記憶部２０ａと、データ記憶部２０ａに記憶された更新プログラムを車両コントローラ２１からの要求に応じて車両コントローラ２１に転送するプログラム転送部２０ｂと、を備えている。
【００４５】
また、通信コントローラ２０は、データ記憶部２０ａに更新プログラムが記憶されたときに車両コントローラ２１に対して更新プログラムが存在することを通知する。
【００４６】
車両コントローラ２１は、現在利用されているプログラムを記憶するとともにプログラムを更新プログラムで書き換える書き換え処理を実行する。
【００４７】
具体的に、車両コントローラ２１は、通常制御部２１ａと、転送要求部２１ｂと、書き換え部２１ｃと、検査部２１ｄと、書換可否判定部２１ｅと、禁止指令出力部２１ｆと、データ記憶部２１ｇと、を備えている。
【００４８】
通常制御部２１ａは、油圧ショベル１の通常制御を実行する。例えば、通常制御部２１ａは、シリンダ８〜１０（図１参照）に作動油を供給するための油圧ポンプ１７の傾転（流量）を調整するためにレギュレータに対して指令を出力する。また、通常制御部２１ａは、表示装置１６に対してオペレータに必要な情報（例えば、アタッチメントの姿勢、燃料の残量、冷却水温度等に関する情報）を表示するための指令を出力する。
【００４９】
転送要求部２１ｂは、通信コントローラ２０に更新プログラムの転送を要求する。また、転送要求部２１ｂは、後述の書換可否判定部２１ｅにより更新プログラムの転送を中断すべきであると判断されたときに、通信コントローラ２０に更新プログラムの転送の中断を要求する。さらに、転送要求部２１ｂは、後述の書換可否判定部２１ｅにより更新プログラムの転送を再開すべきであると判断されたときに、通信コントローラ２０に更新プログラムの転送の再開を要求する。
【００５０】
転送要求部２１ｂからの要求に応じて、通信コントローラ２０のプログラム転送部２０ｂは、車両コントローラ２１に対する更新プログラムの転送の開始（再開を含む）し、又は転送を中断する。通信コントローラ２０から車両コントローラ２１に転送された更新プログラムは、データ記憶部２１ｇに記憶される。
【００５１】
書き換え部２１ｃは、通信コントローラ２０から転送された更新プログラムを用いて現在利用されているプログラムを書き換える。なお、通信コントローラ２０から更新プログラムが転送された後、プログラムの書き換え前の段階において、現在利用されているプログラム、及び、通信コントローラ２０から転送された更新プログラムは、データ記憶部２１ｇの別々の領域に記憶されている。また、プログラムの書き換え後の段階においても、現在利用されているプログラムは、データ記憶部２１ｇにおいて更新プログラム（書き換え後のプログラム）が記憶されている領域とは別の一次記憶領域に記憶されている。そのため、プログラムの書き換え後、後述する検査部２１ｄにより書き換え後のプログラムに誤りが検出された場合には、一時記憶領域に記憶されたプログラムを用いてプログラムを更新前の状態に戻すことができる。なお、一時記憶領域に記憶された、現在利用されているプログラムは、検査部２１ｄにより書き換え後のプログラムに誤りが検出されなかったときに削除される。
【００５２】
検査部２１ｄは、プログラムの検査を実行する。具体的に、検査部２１ｄは、通信コントローラ２０から車両コントローラ２１に転送されてデータ記憶部２１ｇに記憶された更新プログラムに誤りがないか否かを検査する。さらに、検査部２１ｄは、上述のようにデータ記憶部２１ｇに記憶された、書き換え後のプログラムに誤りがないか否かを検査する。検査部２１ｄは、例えば、予め数値化されたデータ合計値を照合するチェックサムを実行する。
【００５３】
書換可否判定部２１ｅは、キースイッチ１８の切換状態に基づいて更新プログラムの転送の可否（つまり、書き換えの可否）を判定する。具体的に、書換可否判定部２１ｅは、キースイッチ１８がＯＮ位置に切り換えられていることを示す電気信号を受けたときに電力供給状態にあり、前記電気信号を受けていないときに電力供給状態にないと判定する。つまり、キースイッチ１８は、油圧ショベル１に設けられた電装品（例えば、表示装置１６）に電力供給が行われている電力供給状態にあるか否かを検出する電力供給状態検出手段に相当する。
【００５４】
ここで、キースイッチ１８と車両コントローラ２１との間に設けられたリレー１８ａは、キースイッチ１８に接続された回路を切断して電装品に対する電力供給を禁止する禁止状態と前記回路を接続して電装品に対する電力供給を許容する許容状態との間で切換可能な電力供給禁止手段に相当する。
【００５５】
禁止指令出力部２１ｆは、リレー１８ａを禁止位置に切り換えるための電気指令を当該リレー１８ａに出力する。一方、リレー１８ａは、禁止指令出力部２１ｆからの電気指令を受けていない状態において許容位置に切り換えられている。
【００５６】
また、禁止指令出力部２１ｆは、通信コントローラ２０から車両コントローラ２１への更新プログラムの転送の完了後でかつ書換処理の実行中にリレー１８ａに対して禁止状態に切り換えるための指令を出力する。これにより、電装品に対する電力供給を停止することができるので、現在利用されているプログラムにより実現される機能が働くのを抑えた状態で更新プログラムを用いた書き換えを行うことができる。
【００５７】
以下、図３を参照して、通信コントローラ２０により実行される処理を説明する。
【００５８】
まず、車両コントローラ２１から現在のプログラムのバージョン情報を取得し（ステップＲ１）、サーバ１１から更新プログラムのバージョン情報を受信したか否かを判定する（ステップＲ２）。
【００５９】
ここで、更新プログラムのバージョン情報を受信していないと判定すると（ステップＲ２でＮＯ）、当該処理を終了する。
【００６０】
一方、更新プログラムのバージョン情報を受信したと判定すると（ステップＲ２でＹＥＳ）、更新プログラムのバージョンが現在のプログラムのバージョンよりも新しいか否かを判定する（ステップＲ３）。
【００６１】
ここで、更新プログラムのバージョンが現在のプログラムのバージョンと同じ又はそれよりも古いと判定すると（ステップＲ３でＮＯ）、当該処理を終了する。
【００６２】
一方、更新プログラムのバージョンが現在のプログラムのバージョンよりも新しいと判定すると、サーバ１１から更新プログラムを受信し（ステップＲ４）、当該更新プログラムをデータ記憶部２０ａ（図２参照）に記憶する（ステップＲ５）。
【００６３】
次いで、新しいバージョンの更新プログラムが存在することを示す更新通知を車両コントローラ２１に送信し（ステップＲ６）、更新プログラムの転送の開始を要求する転送開始要求を車両コントローラ２１から受信したか否かを判定する（ステップＲ７）。
【００６４】
ここで、転送開始要求を受信したと判定すると（ステップＲ７でＹＥＳ）、車両コントローラ２１への更新プログラムの転送を開始する（ステップＲ８）。
【００６５】
一方、転送開始要求を受信していないと判定すると（ステップＲ７でＮＯ）、車両コントローラ２１への更新プログラムの転送の中断を要求する転送中断要求を車両コントローラ２１から受信したか否かを判定する（ステップＲ９）。
【００６６】
ここで、転送中断要求を受信したと判定すると（ステップＲ９でＹＥＳ）、車両コントローラ２１に対する更新プログラムの転送を中断する（ステップＲ１０）。
【００６７】
一方、転送中断要求を受信していないと判定したとき（ステップＲ９でＮＯ）、及び、前記ステップＲ１０を実行したとき、次いで、更新プログラムの転送の再開を要求する転送再開要求を車両コントローラ２１から受信したか否かを判定する（ステップＲ１１）。
【００６８】
ここで、転送再開要求を受信したと判定すると（ステップＲ１１でＹＥＳ）、更新プログラムの転送を再開する一方、転送再開要求を受信していないと判定すると前記ステップＲ７を繰り返し実行する。
【００６９】
前記ステップＳ８及びＳ１２において、更新プログラムの転送を開始（再開）すると、次いで、更新プログラムの転送が終了したか否かを判定する（ステップＲ１３）。
【００７０】
ステップＲ１３において更新プログラムの転送が終了していないと判定すると、前記ステップＲ７を繰り返し実行する。
【００７１】
一方、更新プログラムの転送が終了したと判定すると（ステップＲ１３でＹＥＳ）、前記ステップＲ５でデータ記憶部２０ａに記憶された更新プログラムを消去すべき旨の消去指令を車両コントローラ２１から受信したか否かを判定する（ステップＲ１４）。
【００７２】
ここで、消去指令を受信していないと判定すると（ステップＲ１４でＮＯ）、当該ステップＲ１４を繰り返し実行する一方、消去指令を受信したと判定すると（ステップＲ１４でＹＥＳ）、データ記憶部２０ａから更新プログラムを消去して（ステップＲ１５）、当該処理を終了する。
【００７３】
次に、図２及び図４を参照して、車両コントローラ２１により実行される処理を説明する。
【００７４】
まず、電力供給状態にあるか否かが判定され（ステップＳ１）、ここで電力供給状態にあると判定されると、ステップＳ２が実行される。
【００７５】
ステップＳ２では、通信コントローラ２０から更新プログラムが存在することを示す更新通知を受信したか否かが判定され、通知があると判定されると（ステップＳ２でＹＥＳ）、表示装置１６に更新確認画面を表示する（ステップＳ３）。
【００７６】
更新確認画面には、プログラムの更新が必要な点、プログラムの更新のためにキースイッチ１８をＯＦＦ位置に切り換える必要がある点、及び更新を行うか否かの回答を入力すべき点が表示される。
【００７７】
次いで、オペレータが入力装置１９を用いてプログラムの更新を認める旨の回答を入力したか否かを判定する（ステップＳ４）。
【００７８】
ここで、オペレータからの回答が入力されていないと判定されると繰り返しステップＳ４を実行する一方、オペレータからの回答が入力されたと判定されると、通信コントローラ２０から車両コントローラ２１への更新プログラムの転送及び書換処理を含む転送更新処理Ｕが実行される。
【００７９】
図５は、図４の転送更新処理Ｕの処理を示すフローチャートである。
【００８０】
図２及び図５を参照して、まず、転送更新処理Ｕにおいて更新プログラムの転送が中断されることなく、更新プログラムの転送処理と書換処理とが一連の処理として行われる場合について説明する。
【００８１】
転送更新処理Ｕが開始されると、まず、更新プログラムが転送中であるか否かが判定される（ステップＵ１）。
【００８２】
ここで、更新プログラムが転送中でないと判定されると（ステップＵ１でＮＯ）、電力供給状態にないかどうか、つまり、キースイッチ１８がＯＦＦ位置に切り換えられているか否かを判定する（ステップＵ２）。
【００８３】
ステップＵ２において電力供給状態にあると判定されると前記ステップＵ１を繰り返し実行する一方、電力供給状態にないと判定されると更新プログラムの転送が中断した状態にあるか否かが判定される（ステップＵ３）。
【００８４】
ここで、更新プログラムの転送が中断した状態にないと判定されると（ステップＵ３でＮＯ）、通信コントローラ２０に対して更新プログラムの転送開始要求を出力する（ステップＵ４）。これにより、図３のステップＲ７及びＲ８に示すように、通信コントローラ２０から車両コントローラ２１への更新プログラムの転送が開始される（車両コントローラ２１における更新プログラムの受信を開始する：ステップＵ５）。
【００８５】
次いで、更新プログラムの転送が終了したか否かが判定され（ステップＵ６）、転送が終了したと判定されると（ステップＵ６でＹＥＳ）、リレー１８ａを禁止位置に切り換えるための信号を当該リレー１８ａに出力する（ステップＵ７）。
【００８６】
これにより、電装品（表示装置１６等）に対する電力供給が停止され、現在利用されているプログラムにより実現される制御手段１２の機能の実行を抑制して、書換処理の実行に適した環境を作り出すことができる。
【００８７】
このような環境下において、書換処理が実行され（ステップＵ８）、この書換処理が終了するとリレー１８ａを禁止位置に切り換えるための信号の出力を停止して、つまり、リレー１８ａを許容位置に切り換える（ステップＵ９）。
【００８８】
次いで、更新プログラムを消去すべき旨の消去指令を通信コントローラ２０に出力し（ステップＵ１０）、当該処理は終了する。
【００８９】
以下、上述した転送更新処理Ｕにおいて転送が中断される場合、及び中断が再開される場合について説明する。
【００９０】
具体的に、ステップＵ６において更新プログラムの転送が終了していないと判定されると（ステップＵ６でＮＯ）、前記ステップＵ１において更新プログラムの転送中であると判定される（ステップＵ１でＹＥＳ）。
【００９１】
次いで、電力供給状態にあるか否かが判定され（ステップＵ１１）、ここで、電力供給状態にないと判定されると（ステップＵ１１でＮＯ）、前記ステップＵ５に戻って更新プログラムの転送（受信）を継続する。
【００９２】
一方、ステップＵ１１において更新プログラムの転送中であるにもかかわらず電力供給状態にあると判定されたとき（ステップＵ１１でＹＥＳ）、このまま更新プログラムの転送を継続するためには制御手段１２に高い処理能力が要求される。具体的に、車両コントローラ２１は、通常制御部２１ａによる油圧ショベル１の通常制御とともに更新プログラムの書換処理（ステップＵ８）とを並行して実行しなければならず、当該車両コントローラ２１に高い処理能力が要求される。
【００９３】
そこで、ステップＵ１１においてＹＥＳと判定されると、更新プログラムの転送中断要求を通信コントローラ２０に出力する（ステップＵ１２）。これにより、図３のステップＲ９及びＲ１０に示されるように通信コントローラ２０から車両コントローラ２１への更新プログラムの転送が中断される。その結果、書換処理が実行されるのを防止することができるため、車両コントローラ２１に要求される処理能力を低く抑えることができる。
【００９４】
また、ステップＵ１２では、更新プログラムのどの部分までの転送が完了したかについての情報を記憶する。
【００９５】
このように転送が中断すると（ステップＵ１２）、続くステップＵ１において更新プログラムの転送中ではない（ステップＵ１でＮＯ）と判定され、ステップＵ２において電力供給状態にないか否かが判定される。
【００９６】
ここで、電力供給状態にないと判定されると（ステップＵ２でＹＥＳ）、更新プログラムの転送が中断されていると判定され（ステップＵ３でＹＥＳ）、更新プログラムの転送の再開を要求する（ステップＵ１３）。
【００９７】
これにより更新プログラムの転送が再開される。なお、ステップＵ１３では、ステップＵ１２で記憶された情報（更新プログラムの転送済み部分に関する情報）に基づいて、更新プログラムの未転送部分の転送の再開を要求する。これにより、転送の中断後に更新プログラムの全体の転送をやり直す場合と比較して、更新プログラムの転送時間の短縮を図ることができる。
【００９８】
上記のように更新プログラムの転送の再開後、ステップＵ６において転送が終了したと判定されると、上述したステップＵ７〜Ｕ１０が実行されて、プログラムが書き換えられる。
【００９９】
以上説明したように、現在利用されているプログラムを記憶する車両コントローラ２１とは別に、サーバ１１から受信した更新プログラムを記憶する通信コントローラ２０が設けられている。
【０１００】
これにより、現在利用されているプログラムの利用を維持しつつサーバ１１から更新プログラムを受信して通信コントローラ２０に記憶させることができるため、油圧ショベル１の作業を継続しつつ通信コントローラ２０がサーバ１１から新たなプログラムを受信することができる。
【０１０１】
さらに、通信コントローラ２０から車両コントローラ２１への更新プログラムの転送開始後、電力供給状態であることが検出されたときに、転送を中断することができる。
【０１０２】
これにより、電力供給状態において車両コントローラ２１が書換処理を実行するのを事前に防ぐことができるため、車両コントローラ２１が書換処理に加えて他の処理を並行して行うのを防止することができる。
【０１０３】
したがって、車両コントローラ２１の処理能力を低く抑えることができる。
【０１０４】
また、第１実施形態によれば、以下の効果を奏することができる。
【０１０５】
電力供給状態でない状態、つまり、車両コントローラ２１の負荷を可及的に低減した状態で更新プログラムの転送を再開することができる。
【０１０６】
転送再開時において更新プログラムの転送済みの部分の再転送を省略することにより、更新プログラムの全体の再転送を行う場合と比べて転送時間を短縮することができる。
【０１０７】
書換処理（ステップＵ８）の実行開始時に当該書換処理の実行に適した環境（電装品に電力供給が行われていない環境）を自動的に作り出すことができるため、車両コントローラ２１の構成を簡素化しかつコストを抑えながら書換処理を適切に行うことができる。
【０１０８】
＜第２実施形態＞
第１実施形態では、更新プログラムの中断後、電力供給状態にないと判定されたとき（ステップＵ２でＹＥＳのとき）に更新プログラムの再開を実行している（ステップＵ１２）。
【０１０９】
しかし、転送中断後に電力供給状態となっている状況であっても油圧ショベル１による作業が休止されている状況においては車両コントローラ２１により実行される処理は多くなく、この状況において転送を再開させても車両コントローラ２１への負担は比較的に小さい。第１実施形態のように、転送の再開時に更新プログラムの更新済みの部分の転送を省略する場合には車両コントローラ２１の負荷は特に小さくなる。
【０１１０】
そこで、第２実施形態に係る油圧ショベル１の車両コントローラ２１は、図２に示すような処理を実行する。
【０１１１】
具体的に、更新プログラムの転送の中断後、上述のステップＵ２において電力供給状態にある（ステップＵ２でＮＯ）と判定されると、ステップＵ１４において更新プログラムの転送が中断していると判定される。
【０１１２】
次いで、『作業休止中であることを条件として更新プログラムの転送の再開操作が可能である』旨を表示装置１６に表示する（ステップＵ１５）。
【０１１３】
ここで、オペレータは、油圧ショベル１を用いた作業予定を考慮した上で、入力装置１９を用いた転送再開のための操作を行うか否かを決定する。
【０１１４】
次いで、入力装置１９（図２参照）によりオペレータから再開を許可するための操作が行われているか否かが判定される（ステップＵ１６）。
【０１１５】
ここで、オペレータの操作があったと判定されると（ステップＵ１６でＹＥＳ）、更新プログラムの転送の中断後、油圧ショベル１による作業が休止されている状況において転送を再開することができる（ステップＵ１３）。
【０１１６】
一方、ステップＵ１４及びＵ１６においてＮＯと判定された場合には、それぞれ上述したステップＵ１（図５参照）が実行される。なお、ステップＵ１６においてＮＯと判定される場合としては、例えば、転送の再開を許可しないことを示す入力装置１９の操作が行われた場合や、ステップＵ１６の開始後所定時間が経過しても再開を許可する操作が行われない場合が挙げられる。
【０１１７】
＜第３実施形態＞
第１実施形態では、図３のステップＲ３及びＲ４に示すように、通信コントローラ２０が、プログラムのバージョン情報に基づいて更新プログラムの受信の要否を判断している。
【０１１８】
しかし、サーバ１１からの更新プログラムの受信の要否の判断は、通信コントローラ２０が行うことに限定されず、以下の第３実施形態に示すように車両コントローラ２１が行うこともできる。以下、第３実施形態において第１実施形態と異なる部分について主に説明する。
【０１１９】
第３実施形態における通信コントローラ２０は、図３においてステップＲ３を省略した処理を実行する。
【０１２０】
具体的に、通信コントローラ２０は、ステップＲ２においてバージョン情報を受信した後、続いてステップＲ４及びＲ５において更新プログラムを受信及び保存し、ステップＲ６において車両コントローラ２１に更新通知を送信する。なお、ステップＲ６では、更新通知とともに更新プログラムのバージョン情報も送信する。
【０１２１】
一方、第３実施形態における車両コントローラ２１は、図７に示すように、ステップＳ２において更新通知を受信したと判定すると（ステップＳ２でＹＥＳ）、更新プログラムのバージョンが現在のプログラムのバージョンよりも新しいか否かを判定する（ステップＳ２１）。
【０１２２】
このステップＳ２１において、更新プログラムのバージョンが現在のプログラムのバージョンと同じ又はこれよりも古いと判定すると（ステップＳ２１でＮＯ）、当該処理を終了する。
【０１２３】
一方、ステップＳ２１において、更新プログラムのバージョンが現在のプログラムのバージョンよりも新しいと判定すると（ステップＳ２１でＹＥＳ）、前記ステップＳ３を実行する。
【０１２４】
第３実施形態によれば、バージョンに基づく更新プログラムの転送の要否（書き換えの要否）を車両コントローラ２１によって判断することができる。
【０１２５】
なお、本発明は、前記実施形態に限定されるものではなく、例えば、以下の態様を採用することもできる。
【０１２６】
図２では、通信コントローラ２０と車両コントローラ２１とが別々に示されているが、両コントローラ２０、２１は、別々に構成されたものでも、１つの制御盤上の要素としてそれぞれ設けられたものでもよい。
【０１２７】
前記実施形態では、更新プログラムの転送中に、車両コントローラ２１が電力供給状態にあると判定したときに、当該車両コントローラ２１が更新プログラムの転送の中断を要求している。
【０１２８】
しかし、更新プログラムの転送中に電力供給状態にあるか否かを判定すること、及び、更新プログラムの転送を中断することは、通信コントローラ２０が行ってもよい。この場合、キースイッチ１８がＯＮ位置に切り換えられているか否かを判定することができるように当該キースイッチ１８が通信コントローラ２０に電気的に接続されていることが必要である。
【０１２９】
同様に、転送の中断後に電力供給状態にないことが検出されたときに通信コントローラ２０が更新プログラムの再開を行ってもよい。
【０１３０】
また、リレー１８ａを禁止位置に切り換えるための指令が車両コントローラ２１から出力されているが、前記指令は通信コントローラ２０から出力してもよい。この場合、リレー１８ａと通信コントローラ２０とが電気的に接続されている必要がある。
【０１３１】
前記実施形態では、電力供給状態検出手段としてキースイッチ１８を例示したが、電力供給状態検出手段は、キースイッチ１８に限定されない。例えば、電力供給状態検出手段として、エンジンの回転数を検出する回転数センサ及びオルタネータの端子間電圧を検出する電圧センサを採用することもできる。
【０１３２】
前記実施形態では、更新プログラムの転送の再開時に更新プログラムの転送済み部分の再転送を省略しているが、転送の再開時に更新プログラムの全体の転送をやり直してもよい。
【０１３３】
前記実施形態では、書換処理の実行中にリレー１８ａによって電装品への電力の供給を禁止しているが、これを省略することもできる。この場合、例えば、現在利用されているプログラムを実行可能な状態で記憶する第１の領域と更新プログラムを後に実行可能な状態で記憶する第２の領域とを別々に車両コントローラ２１に設けることができる。このようにすれば、現在利用されているプログラムによる機能を維持しつつ書換処理を実行することができる。
【０１３４】
プログラム（更新プログラム）は、それ自体で１以上の機能を実現するものでもよいが、他のプログラムと連携して１以上の機能を実現するものでもよい。つまり、制御手段１２（車両コントローラ２１）は、所定の機能を実現するプログラム（複数のプログラム）の全体を更新するものでもいが、所定の機能を実現する複数のプログラムのうちの１つのプログラムのみを更新するものであってもよい。
【０１３５】
建設機械は、ショベルに限定されず、クレーン及び解体機でもよく、油圧式の建設機械に限らず、ハイブリッド式又は電気式のものでもよい。
【符号の説明】
【０１３６】
１    油圧ショベル（建設機械の一例）
１１    サーバ
１２    制御手段
１６    表示装置（電装品の一例）
１８    キースイッチ（電力供給状態検出手段）
１８ａ    リレー（電力供給禁止手段）
１９    通信手段
２０    通信コントローラ
２１    車両コントローラ
【図１】
2017041114.tif 000003
【図２】
2017041114.tif 000004
【図３】
2017041114.tif 000005
【図４】
2017041114.tif 000006
【図５】
2017041114.tif 000007
【図６】
2017041114.tif 000008
【図７】
2017041114.tif 000009
【手続補正書】
【提出日】平成27年9月15日(2015.9.15)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０１１０
【補正方法】変更
【補正の内容】
【０１１０】
そこで、第２実施形態に係る油圧ショベル１の車両コントローラ２１は、図６に示すような処理を実行する。