(57)【要約】【課題】操縦者の意図に反してソフトウェアの更新が行われることを防止する。【解決手段】判定部１３３１は、エンジン１７０の始動及び停止の少なくとも一方の発生時に、更新プログラムが記憶部１３２に保存されているか否かを判定する。表示部１１１は、判定部１３３１により更新プログラムが記憶部１３２に保存されていると判定された場合、更新プログラムの更新を促す更新通知を表示する。操作部１１２は、更新通知に基づいて操縦者により入力されたソフトウェアの更新の可否を示す指示を受け付ける。更新処理部１３３２は、操作部１１２がソフトウェアの更新を許可する指示を受け付けた場合のみ、ソフトウェアを更新プログラムで更新する。【選択図】図２
2018036745.tif 000002
【特許請求の範囲】
【請求項１】
エンジンを備える作業機械に搭載され、前記作業機械のソフトウェアを更新する更新装置であって、
前記ソフトウェアを更新するための更新プログラムが記憶可能な記憶部と、
前記エンジンの始動及び停止の少なくとも一方の発生時に、前記更新プログラムが前記記憶部に保存されているか否かを判定する判定部と、
前記判定部により前記更新プログラムが前記記憶部に保存されていると判定された場合、前記更新プログラムの更新を促す更新通知を表示する表示部と、
前記更新通知に基づいて入力された前記ソフトウェアの更新の可否を示す指示を受け付ける操作部と、
前記操作部が前記ソフトウェアの更新を許可する指示を受け付けた場合のみ、前記ソフトウェアを前記更新プログラムで更新する更新処理部とを備えるソフトウェアの更新装置。
【請求項２】
通信回線を介して接続されたサーバから前記更新プログラムが送信された場合、前記更新プログラムを受信して前記記憶部に保存する通信部を更に備える請求項１記載のソフトウェアの更新装置。
【請求項３】
前記通信部は、前記作業機械の稼働状態に拘わらず、常時、前記更新プログラムを受信する請求項２記載のソフトウェアの更新装置。
【請求項４】
前記更新処理部は、前記エンジンが自動停止した時、前記更新処理を禁止する請求項１〜３のいずれかに記載のソフトウェアの更新装置。
【請求項５】
前記更新処理部は、前記操作部が前記ソフトウェアの更新を許可する指示を受け付けた場合、前記操縦者から前記エンジンの停止操作を検知した後に前記ソフトウェアの更新を実行する請求項１〜４のいずれかに記載のソフトウェアの更新装置。
【請求項６】
前記表示部は、前記ソフトウェアの更新が完了した場合、次回の前記エンジンの始動時に前記ソフトウェアの更新が完了したことを示す完了通知を表示する請求項５記載のソフトウェアの更新装置。
【請求項７】
前記更新処理部は、前記ソフトウェアの更新を不許可にする指示の入力回数が規定値に到達した場合、前記更新プログラムを前記記憶部から消去し、前記更新処理が行われなかったことを前記サーバに通知する請求項２記載のソフトウェアの更新装置。
【請求項８】
エンジンを備える作業機械のソフトウェアを更新するソフトウェアの更新方法であって、
前記エンジンの始動及び停止の少なくとも一方の発生時に前記ソフトウェアを更新するための更新プログラムが記憶部に保存されているか否かを判定する判定ステップと、
前記判定ステップにおいて前記更新プログラムが前記記憶部に保存されていると判定された場合、前記更新プログラムの更新を促す更新通知を表示部に表示する表示ステップと、
前記更新通知に基づいて入力された前記ソフトウェアの更新の可否を示す指示を操作部が受け付ける受付ステップと、
前記受付ステップにおいて、前記操作部が前記ソフトウェアの更新を許可する指示を受け付けた場合のみ、前記ソフトウェアを前記更新プログラムで更新する更新ステップとを備えるソフトウェアの更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、作業機械のソフトウェアを更新する技術に関するものである。
【背景技術】
【０００２】
近年、通信回線を用いて遠隔地の作業機械にソフトウェアの更新プログラムを配信し、作業機械にソフトウェアを更新させる技術が知られている。
【０００３】
特許文献１は、作業車１１が予め定められた特定の状態になったとき、作業車１１が管理局１４に最新制御プログラムの有無を問い合わせ、管理局１４が最新制御プログラムを検索し、最新制御プログラムがあれば、管理局１４が最新制御プログラムを作業車１１に配信し、作業車１１がソフトウェアの書き換えを行う技術を開示する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２６８９０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１では、特定の状態として、エンジンの始動時が採用されている。そのため、特許文献１は、エンジン始動直後に作業を開始したいと考える操縦者の意思に反して最新制御プログラムの書換が開始されるという問題がある。その結果、特許文献１は、エンジンの始動直後に作業の開始を希望する操縦者の要望に応えることができないという問題がある。
【０００６】
更に、特許文献１では、最新制御プログラムが自動的に更新されるので、最新制御プログラムの更新を望まない操縦者の要望に応えることができない。
【０００７】
本発明の目的は、操縦者の意図に反してソフトウェアの更新が行われることを防止するソフトウェアの更新装置を提供することである。
【課題を解決するための手段】
【０００８】
本発明の一態様は、エンジンを備える作業機械に搭載され、前記作業機械のソフトウェアを更新する更新装置であって、
前記ソフトウェアを更新するための更新プログラムが記憶可能な記憶部と、
前記エンジンの始動及び停止の少なくとも一方の発生時に、前記更新プログラムが前記記憶部に保存されているか否かを判定する判定部と、
前記判定部により前記更新プログラムが前記記憶部に保存されていると判定された場合、前記更新プログラムの更新を促す更新通知を表示する表示部と、
前記更新通知に基づいて入力された前記ソフトウェアの更新の可否を示す指示を受け付ける操作部と、
前記操作部が前記ソフトウェアの更新を許可する指示を受け付けた場合のみ、前記ソフトウェアを前記更新プログラムで更新する更新処理部とを備える。
【０００９】
本態様によれば、エンジンの始動及び停止の少なくとも一方が検知された時に、記憶部に更新プログラムが保存されていれば、更新プログラムの更新を促す更新通知が表示される。これにより、作業中に更新通知が表示されることが防止され、操縦者の意識を逸らすことなく安全なタイミングで更新通知を表示できる。また、操作部が操縦者からソフトウェアの更新を許可する指示を受け付けた場合のみ、ソフトウェアが更新されるので、操縦者は、非作業時を見計らってソフトウェアを更新することができ、作業中に操縦者の意図に反してソフトウェアの更新が行われることを防止できる。更に、更新の不許可を選択するとソフトウェアが更新されないので、操縦者は直ぐに作業を開始できると共に、ソフトウェアの更新を希望しない操縦者の要望にも応えることができる。
【００１０】
上記態様において、通信回線を介して接続されたサーバから前記更新プログラムが送信された場合、前記更新プログラムを受信して前記記憶部に保存する通信部を更に備えてもよい。
【００１１】
本態様によれば、作業機械の保守員が現場に足を運んで、ソフトウェアの更新作業を行わなくても、更新プログラムを作業機械に取得させることができる。
【００１２】
上記態様において、前記通信部は、前記作業機械の稼働状態に拘わらず、常時、前記更新プログラムを受信してもよい。
【００１３】
本態様によれば、作業機械の稼働状態に拘わらず、任意のタイミングで更新プログラムを作業機械に取得させることができる。そのため、更新処理の開始前に作業機械に事前に更新プログラムを取得させておくことで、更新処理の実行時に更新プログラムを取得する必要がなくなり、更新処理に要する時間を短縮できる。更に、更新処理の開始前に事前に更新プログラムを作業機械に取得させておくことで、更新処理時に作業機械とサーバとの通信接続が遮断されたとしても、作業機械は更新処理を実行できる。
【００１４】
上記態様において、前記更新処理部は、前記エンジンが自動停止した時、前記更新処理を禁止する。
【００１５】
本態様によれば、アイドルストップ等によるエンジンの自動停止時にソフトウェアの更新処理が開始されないので、更新処理中に操縦者の操作によってアイドルストップが解除されてエンジンが始動されることによるソフトウェアの誤動作を防止できる。
【００１６】
上記態様において、前記更新処理部は、前記操作部が前記ソフトウェアの更新を許可する指示を受け付けた場合、前記操縦者から前記エンジンの停止操作を検知した後に前記ソフトウェアの更新を実行してもよい。
【００１７】
本態様によれば、操作部が作業機械の操縦者からソフトウェアの更新を許可する指示を受け付けた場合、操縦者からエンジンの停止操作が行われるまで更新プログラムの更新処理が行われない。そのため、作業中に更新処理が行われることを防止できる。
【００１８】
上記態様において、前記表示部は、前記ソフトウェアの更新が完了した場合、次回の前記エンジンの始動時に前記ソフトウェアの更新が完了したことを示す完了通知を表示してもよい。
【００１９】
本態様によれば、次回のエンジンの始動時に完了通知が表示されるので、更新処理の終了を待たずに操縦者が作業機械から離れたとしても、完了通知を操縦者に報知できない事態を回避できる。
【００２０】
上記態様において、前記更新処理部は、前記ソフトウェアの更新を不許可にする指示の入力回数が規定値に到達した場合、前記更新プログラムを前記記憶部から消去し、前記更新処理が行われなかったことを前記サーバに通知してもよい。
【００２１】
本態様では、ソフトウェアの更新を不許可にする指示の入力回数が規定値に到達した場合、ソフトウェアの更新処理は実行されない。そのため、ソフトウェアの更新を望まない操縦者の意思を尊重できる。また、更新処理が行われなかったことがサーバに通知されるので、サーバの管理者は、操縦者の好みを認識できる。また、サーバが多数の作業装置からこの通知を受信することで、サーバの管理者は更新プログラムの有用性を示す統計情報が得られる。また、更新を不許可にする指示の入力回数が規定値に到達した場合、更新プログラムは記憶部から削除されるので、記憶部の空き容量を確保できる。
【００２２】
本発明の別の一態様は、エンジンを備える作業機械のソフトウェアを更新するソフトウェアの更新方法であって、
前記エンジンの始動及び停止の少なくとも一方の発生時に前記ソフトウェアを更新するための更新プログラムが記憶部に保存されているか否かを判定する判定ステップと、
前記判定ステップにおいて前記更新プログラムが前記記憶部に保存されていると判定された場合、前記更新プログラムの更新を促す更新通知を表示部に表示する表示ステップと、
前記更新通知に基づいて入力された前記ソフトウェアの更新の可否を示す指示を操作部が受け付ける受付ステップと、
前記受付ステップにおいて、前記操作部が前記ソフトウェアの更新を許可する指示を受け付けた場合のみ、前記ソフトウェアを前記更新プログラムで更新する更新ステップとを備える。
【発明の効果】
【００２３】
本発明によれば、更新プログラムの存在を安全なタイミングで表示できると共に、操縦者の意図に反してソフトウェアの更新が行われることを防止できる。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施の形態による更新装置が適用されたクレーンの全体構成を示す図である。
【図２】本発明の実施の形態に係る更新装置の構成を示すブロック図である。
【図３】パターンＰ１を採用した場合の更新装置及びサーバの処理を示すシーケンス図である。
【図４】パターンＰ１を採用した場合の更新装置の処理を示すフローチャートである。
【図５】パターンＰ２を採用した場合の更新装置及びサーバの処理を示すシーケンス図である。
【図６】パターンＰ２を採用した場合の更新装置の処理を示すフローチャートである。
【図７】パターンＰ３を採用した場合の更新装置及びサーバの処理を示すシーケンス図である。
【図８】パターンＰ３を採用した場合の更新装置の処理を示すフローチャートである。
【図９】パターンＰ１’を採用した場合の更新装置及びサーバの処理を示すシーケンス図である。
【図１０】パターンＰ２’を採用した場合の更新装置及びサーバの処理を示すシーケンス図である。
【図１１】パターンＰ３’を採用した場合の更新装置及びサーバの処理を示すシーケンス図である。
【発明を実施するための形態】
【００２５】
＜作業機械＞
図１は、本発明の実施の形態による更新装置１が適用されたクレーン２の全体構成を示す図である。クレーン２は、自走可能な下部走行体４０と、その下部走行体４０上に縦軸回りに旋回可能となるように搭載された上部旋回体４６とを備える。
【００２６】
上部旋回体４６には、クレーン作業を行うための作業装置５０が設けられている。作業装置５０は、起伏部材としてのブーム５１と、マスト５２と、ガントリ５３と、マスト側スプレッダ５５と、ガントリ側スプレッダ５６と、巻上ウインチ６１と、起伏ウインチ６２と、フック装置６４と、吊ロープ６６と、起伏ロープ６７と、ガイライン６８と、を有する。
【００２７】
ブーム５１は、起伏可能となるように上部旋回体４６の前部に取り付けられている。ブーム５１の先端の前方側にはトップシーブ５１ａが設けられている。
【００２８】
マスト５２は、上部旋回体４６においてブーム５１の後方の位置に設けられている。マスト５２は、下端部を支点として回動可能となるように設けられている。マスト５２の上端部にマスト側スプレッダ５５が設けられている。マスト５２の先端は、ガイライン６８を介してブーム５１の先端部に接続されている。
【００２９】
ガントリ５３は、上部旋回体４６においてマスト５２のさらに後方の位置、すなわち上部旋回体４６の後部に立設されている。このガントリ５３の上端部にガントリ側スプレッダ５６が設けられている。
【００３０】
巻上ウインチ６１は、巻上ドラム６１ａを回転させて吊ロープ６６の巻き取り及び繰り出しを行うことにより、フック装置６４及びフック装置６４に吊り下げられた吊荷１００の巻上及び巻下を行う。
【００３１】
起伏ウインチ６２は、起伏ドラム６２ａを回転させて起伏ロープ６７を巻き取ることにより、マスト側スプレッダ５５をガントリ側スプレッダ５６側へ引き寄せる。これにより、マスト５２は、後方へ回動して、ガイライン６８を介してブーム５１の先端部を後方へ引っ張り、ブーム５１を起立させる。また、起伏ウインチ６２は、起伏ドラム６２ａを回転させて起伏ロープ６７を繰り出すことにより、マスト側スプレッダ５５をガントリ側スプレッダ５６から前方へ離反させる。これにより、マスト５２は、前方へ回動して、ブーム５１を倒伏させる。上部旋回体４６の前方には操縦者が搭乗するキャビン４６ａが設けられている。
【００３２】
＜ブロック図＞
図２は、本発明の実施の形態に係る更新装置１の構成を示すブロック図である。更新装置１は、表示装置１１０、過負荷防止装置１２０、データロガー１３０、第１コントローラ１４０、第２コントローラ１５０、及びエンジンコントローラ１６０を備える。過負荷防止装置１２０、データロガー１３０、第１コントローラ１４０、及び第２コントローラ１４０は、バスラインＬ１を介して相互に通信可能に接続されている。過負荷防止装置１２０、第１コントローラ１４０、第２コントローラ１５０、及びエンジンコントローラ１６０は、バスラインＬ２を介して相互に通信可能に接続されている。
【００３３】
バスラインＬ１，Ｌ２としては、車載ネットワークであるＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）の通信規格に準拠したバスラインが採用されている。但し、これは一例であり、車載ネットワークとしてＣＡＮ以外のネットワークが採用されるのであれば、そのネットワークの通信規格に準拠したバスラインがバスラインＬ１，Ｌ２として採用される。また、ここでは、データロガー１３０とエンジンコントローラ１６０との直接的な通信を避けるために２つのバスラインＬ１，Ｌ２が採用されている。但し、これは一例であり、過負荷防止装置１２０、データロガー１３０、第１コントローラ１４０、第２コントローラ１５０、及びエンジンコントローラ１６０は、１つのバスラインで相互に通信可能に接続されてもよい。
【００３４】
表示装置１１０及び過負荷防止装置１２０間は、例えば、ＲＳ−２３２Ｃの規格に準拠した通信ラインＬ３で接続されている。
【００３５】
表示装置１１０は、クレーン２の操縦者が搭乗するキャビン４６ａ内に設けられている。表示装置１１０は、表示部１１１及び操作部１１２を備える。表示部１１１は、例えば、液晶パネル又は有機ＥＬパネル等の表示装置で構成され、更新プログラムの更新を促す更新通知を表示する。操作部１１２は、表示部１１１に貼り付けられたタッチパネル又は物理的なスイッチで構成され、更新通知に基づいて操縦者に入力されたソフトウェアの更新の可否を示す指示を受け付ける。
【００３６】
過負荷防止装置１２０は、後述するデータロガーと同様の構成を備えるコンピュータで構成され、クレーン作業中に作業装置５０にかかる負荷が過負荷状態になることを防止する。
【００３７】
データロガー１３０は、第１通信部１３１、記憶部１３２、ＣＰＵ１３３、ＲＯＭ１３４、ＲＡＭ１３５、及び第２通信部１３６を備えるコンピュータで構成される。第１通信部〜第２通信部１３６は、内部バスを介して接続されている。
【００３８】
第１通信部１３１は、通信回線ＮＴの通信規格に準拠した通信回路で構成され、通信回線ＮＴを介してサーバ２００と通信する。
【００３９】
第１通信部１３１は、サーバ２００からソフトウェアの更新プログラムが送信された場合、更新プログラムを受信して記憶部１３２に保存する。なお、データロガー１３０は、エンジン１７０のキーオフ中でも電源が供給されているので、第１通信部１３１は、クレーン２の稼働状態に拘わらず、常時、更新プログラムを受信し、記憶部１３２に保存することができる。
【００４０】
記憶部１３２は、例えば、書き換え可能な不揮発性の記憶装置で構成され、更新プログラムを記憶する。記憶部１３２は、データロガー１３０の本体部に対して着脱可能な記録媒体（例えば、フラッシュメモリやＳＤカード）で構成されてもよい。更新プログラムは、ＲＯＭ１３４が記憶するソフトウェアをバージョンアップするプログラムである。
【００４１】
ＣＰＵ１３３は、ＲＯＭ１３４が記憶するソフトウェアを実行し、データロガー１３０の機能を実現する。ＣＰＵ１３３は、判定部１３３１及び更新処理部１３３２を備える。
【００４２】
判定部１３３１は、エンジン１７０の始動及び停止の一方の発生時に、更新プログラムが記憶部１３２に保存されているか否かを判定する。また、判定部１３３１は、更新プログラムが記憶部１３２に保存されていると判定した場合、更新プログラムの更新を促す更新通知を表示部１１１に表示するように、過負荷防止装置１２０に指示する。
【００４３】
更新処理部１３３２は、操作部１１２が受け付けたソフトウェアの更新の可否を示す指示が更新を許可する指示である場合、ＲＯＭ１３４が記憶するソフトウェアを更新プログラムで更新する。一方、更新処理部１３３２は、操作部１１２が受け付けたソフトウェアの更新の可否を示す指示が更新を不許可にする指示である場合、ＲＯＭ１３４が記憶するソフトウェアを更新プログラムで更新しない。なお、更新の可否を示す指示の操作部１１２の入力された場合、表示装置１１０はその入力を示す通知を過負荷防止装置１２０を介してデータロガー１３０に送信する。
【００４４】
ＲＯＭ１３４は、書き換え可能な不揮発性の記憶装置で構成され、ＣＰＵ１３３によって実行されるソフトウェアを記憶する。ソフトウェアとしては、コンピュータをデータロガー１３０として機能させる制御プログラムが採用できる。また、ＲＯＭ１３４は、クレーン２の稼働履歴を記憶する。ＲＡＭ１３５は、ＣＰＵ１３３のワーキングメモリである。
【００４５】
第２通信部１３６は、バスラインＬ１，Ｌ２の通信規格に準拠する通信回路で構成され、バスラインＬ１，Ｌ２に流れる稼働情報を取得し、稼働履歴としてＲＯＭ１３４に記憶させる。ＲＯＭ１３４が記憶する稼働履歴には、巻上ウインチ６１に関する稼働履歴及び起伏ウインチ６２関する稼働履歴が含まれる。
【００４６】
第１コントローラ１４０は、例えば、データロガー１３０と同様の構成を備えるコンピュータで構成され、巻上ウインチ６１の制御を司る。第１コントローラ１４０は、巻上ウインチ６１の稼働情報を定期的にバスラインＬ１及びバスラインＬ２に出力する。
【００４７】
第２コントローラ１５０は、例えば、データロガー１３０と同様の構成を備えるコンピュータで構成され、起伏ウインチ６２の制御を司る。第２コントローラ１５０は、起伏ウインチ６２の稼働情報を定期的にバスラインＬ１及びバスラインＬ２に出力する。
【００４８】
エンジンコントローラ１６０は、例えば、データロガー１３０と同様の構成を備えるコンピュータで構成され、クレーン２のエンジン１７０を制御する。エンジンコントローラ１６０は、操縦者によりエンジン１７０をキーオンする操作が入力されると、キーオン通知をバスラインＬ２に出力する。エンジンコントローラ１６０は、操縦者によりエンジン１７０をキーオフする操作が入力されると、キーオフ通知をバスラインＬ２に出力する。バスラインＬ２に出力されたキーオン通知及びキーオフ通知は、過負荷防止装置１２０、第１コントローラ１４０、又は第２コントローラ１５０によりバスラインＬ１に出力される。これらにより、過負荷防止装置１２０、データロガー１３０、第１コントローラ１４０、及び第２コントローラ１５０は、バスラインＬ１に出力されたキーオン通知又はキーオフ通知を取得し、エンジン１７０のキーオン又はキーオフを検知できる。
【００４９】
エンジン１７０は、クレーン２を構成する油圧ポンプを駆動し、クレーン２に油圧動作を行わせる。
【００５０】
サーバ２００は、１以上のコンピュータで構成され、１以上のクレーン２のデータロガー１３０に対し、更新プログラムを通信回線ＮＴを介してに送信する。サーバ２００は、１以上のクレーン２に対する種々のサービスの提供、及び１以上のクレーン２の稼働情報の管理を行う。
【００５１】
通信回線ＮＴは、例えば、衛星通信網、携帯電話通信網、及びインターネット通信網の少なくともいずれか１の通信網で構成される。
【００５２】
＜処理＞
更新装置１は、以下のパターンＰ１〜Ｐ３のいずれかの手法を行ってソフトウェアを更新する。まず、パターンＰ１について説明する。
【００５３】
＜パターンＰ１＞
図３は、パターンＰ１を採用した場合の更新装置１及びサーバ２００の処理を示すシーケンス図である。パターンＰ１は、キーオン時にソフトウェアの更新を促す更新通知を表示すると共に、更新の可否を操縦者に問い合わせる許可質問を表示する手法である。Ｓ１では、サーバ２００は、データロガー１３０に更新プログラムの送信を要求する要求コマンドを送信する。データロガー１３０の第１通信部１３１は、要求コマンドを受信すると、要求コマンドを正常に受信できたことを示すＡＣＫ信号をサーバ２００に送信する。
【００５４】
Ｓ２では、データロガー１３０の第１通信部１３１は、更新プログラムの取得要求をサーバ２００に送信し、サーバ２００は、更新プログラムをデータロガー１３０に送信する。Ｓ３では、データロガー１３０の第１通信部１３１は、更新プログラムを記憶部１３２に保存する。
【００５５】
時刻Ｔ１では、操縦者によりエンジン１７０がキーオンされる。Ｓ４では、データロガー１３０の判定部１３３１は、キーオンを検知し、記憶部１３２に更新プログラムが保存されているか否かを判定する。ここでは、更新プログラムが保存されているので、判定部１３３１は、第２通信部１３６を用いて更新コマンドを過負荷防止装置１２０に送信する。更新コマンドを受信した過負荷防止装置１２０は、更新コマンドを正常に受信できたことを示すＡＣＫ信号をデータロガー１３０に送信する。更新コマンドは、更新プログラムが記憶部１３２に保存されていることを過負荷防止装置１２０に通知するためのコマンドである。
【００５６】
Ｓ５では、過負荷防止装置１２０は、更新通知を表示装置１１０に送信する。Ｓ６では、表示装置１１０の表示部１１１は更新通知を表示する。更新通知には、例えば、「更新プログラムがあります。」というようなメッセージが含まれる。
【００５７】
Ｓ７では、過負荷防止装置１２０は、ソフトウェアの更新の可否を操縦者に問い合わせる許可質問を表示装置１１０に送信する。Ｓ８では、表示装置１１０の表示部１１１は、許可質問を表示する。許可質問には、例えば、ソフトウェアの更新を許可する「はい」ボタンと、ソフトウェアの更新を許可しない「いいえ」ボタンとが含まれ、操縦者はいずれかのボタンを選択する。
【００５８】
Ｓ９では、表示装置１１０の操作部１１２は、許可質問に対する選択結果を受け付け、過負荷防止装置１２０に送信する。Ｓ１０では、過負荷防止装置１２０は、選択結果をデータロガー１３０に送信し、データロガー１３０の更新処理部１３３２は、選択結果を正常に受信できたことを示すＡＣＫ信号を過負荷防止装置１２０に送信する。
【００５９】
時刻Ｔ２では、操縦者によりエンジン１７０がキーオフされる。Ｓ１１では、データロガー１３０の更新処理部１３３２は、キーオフを検知し、ＲＯＭ１３４に記憶されたソフトウェアを更新プログラムで更新する更新処理を実行する。
【００６０】
Ｓ１２では、データロガー１３０の更新処理部１３３２は、更新処理が終了したことを示す更新結果を第１通信部１３１を用いてサーバ２００に送信する。更新結果を受信したサーバ２００は、更新結果を正常に受信できたことを示すＡＣＫ信号をデータロガー１３０に送信する。
【００６１】
時刻Ｔ３では、操縦者によりエンジン１７０がキーオンされる。Ｓ１３では、データロガー１３０の更新処理部１３３２は、キーオンを検知し、更新処理の完了を示す完了通知を第２通信部１３６を用いて過負荷防止装置１２０に送信する。過負荷防止装置１２０は、完了通知を正常に受信できたことを示すＡＣＫ信号をデータロガー１３０に送信する。
【００６２】
Ｓ１４では、過負荷防止装置１２０は、完了通知を表示装置１１０に送信する。Ｓ１５では、表示装置１１０の表示部１１１は、完了通知を表示する。完了通知には、例えば「プログラムの更新が完了しました。」というようなメッセージが含まれる。Ｓ１６では、表示装置１１０は、完了通知を正常に受信できたことを示すＡＣＫ信号を過負荷防止装置１２０に送信する。
【００６３】
図４は、パターンＰ１を採用した場合の更新装置１の処理を示すフローチャートである。まず、データロガー１３０の判定部１３３１は、エンジン１７０のキーオンを検知する（Ｓ４０１）。次に、判定部１３３１は、記憶部１３２に更新プログラムが保存されていなければ（Ｓ４０２でＮＯ）、処理をＳ４０３に進め、記憶部１３２に更新プログラムが保存されていれば（Ｓ４０２でＹＥＳ）、処理をＳ４０４に進める。
【００６４】
ここで、判定部１３３１は、更新プログラムを記憶部１３２に保存した場合、そのことを示す保存フラグを記憶部１３２に保存しておく。そして、判定部１３３１は、キーオフ時（時刻Ｔ１）に記憶部１３２を参照し、保存フラグが保存されていれば、更新プログラム有り（Ｓ４０２でＹＥＳ）、と判定すればよい。
【００６５】
Ｓ４０３では、更新処理部１３３２は、エンジン１７０のキーオフを検知すると処理を終了する。Ｓ４０４では、過負荷防止装置１２０は、更新通知を表示部１１１に表示させる。次に、過負荷防止装置１２０は、許可質問を表示部１１１に表示させる（Ｓ４０５）。
【００６６】
次に、表示装置１１０の操作部１１２は操縦者から選択結果の入力を受け付ける（Ｓ４０６）。次に、クレーン２の作業が終了し、データロガー１３０の更新処理部１３３２がエンジン１７０のキーオフを検知する（Ｓ４０７）。次に、更新処理部１３３２は、選択結果が更新の許可を示していれば（Ｓ４０８でＹＥＳ）、更新処理を実行する（Ｓ４１０）。更新処理が終了すると、更新処理部１３３２は記憶部１３２から更新プログラムを消去し（Ｓ４１１）、処理を終了する。これにより、記憶部１３２の空き容量が確保される。
【００６７】
一方、更新処理部１３３２は、選択結果が更新の不許可を示していれば（Ｓ４０８でＮＯ）、不許可が選択された回数が規定値に到達していなければ（Ｓ４０９でＮＯ）、処理をＳ４０１に戻し、再度、キーオンされることを待機する。一方、不許可が選択された回数が規定値に到達していれば（Ｓ４０９でＹＥＳ）、更新処理部１３３２は、記憶部１３２から更新プログラムを消去し（Ｓ４１１）、処理を終了する。この場合、操縦者はソフトウェアの更新を望んでいないとみなし、ソフトウェアの更新処理は実行されない。
【００６８】
ソフトウェアが更新されない場合も、更新された場合と同様、更新処理部１３３２は、第１通信部１３１を用いて更新されなかったことを示す完了通知をサーバ２００に送信する。サーバ２００は完了通知をクレーン２の識別情報と対応付けて保存する。これにより、サーバ２００の管理者は、該当するクレーン２の操縦者が、ソフトウェアの更新を望んでいるか否かを認識できる。また、サーバ２００は多数のクレーン２からの完了通知を蓄積することで、サーバ２００の管理者は、更新プログラムの有用性を示す統計情報が得られる。
【００６９】
パターンＰ１では、キーオフ時（時刻Ｔ２）に更新処理が行われ、次回のキーオン時（時刻Ｔ３）に完了通知が行われている。そのため、操縦者はキーオフ後、更新処理の終了を待たずにクレーン２から離れたとしても、次のキーオン時にソフトウェアが更新されたことを認識できる。
【００７０】
なお、図３の例では、キーオフ中に更新プログラムを保存する処理が実行されているが（Ｓ１〜Ｓ３）、更新プログラムを保存する処理（Ｓ１〜Ｓ３）はキーオン中に実行されてもよい。この場合、次のキーオン時が図３に示す時刻Ｔ１とされ、Ｓ４以降の処理が実行されることになる。
【００７１】
＜パターンＰ２＞
次に、パターンＰ２について説明する。図５は、パターンＰ２を採用した場合の更新装置１及びサーバ２００の処理を示すシーケンス図である。パターンＰ２は、キーオン時に更新通知を表示し、且つ、キーオフ時に許可質問を表示する手法である。
【００７２】
なお、図５において図３と同一の処理には同一の符号を付し、説明を省く。図３では、キーオン時（時刻Ｔ１）に更新通知に関する一連の処理（Ｓ４〜Ｓ６）と許可質問に関連する一連の処理（Ｓ７〜Ｓ１０）とが実行されていた。
【００７３】
図５では、更新通知を表示した後（Ｓ６）、操縦者によりエンジン１７０がキーオフ（時刻Ｔ２１）されている。そして、キーオフ時（時刻Ｔ２１）に、許可質問に関連する一連の処理（Ｓ７〜Ｓ１０）と更新処理に関する一連の処理（Ｓ１１〜Ｓ１２）とが実行される。
【００７４】
図６は、パターンＰ２を採用した場合の更新装置１の処理を示すフローチャートである。なお、図６において、図４と同じ処理には同一の符号を付し、説明を省略する。Ｓ４０４に続くＳ６０１では、過負荷防止装置１２０は、クレーン２の作業終了後、キーオフを検知する。次に、過負荷防止装置１２０は、許可質問を表示部１１１に表示させる（Ｓ６０２）。次に、操作部１１２は操縦者から選択結果の入力を受け付ける（Ｓ６０３）。以降、図４のＳ４０８と同じ処理が行われる。
【００７５】
パターンＰ２では、キーオン時（時刻Ｔ１）に更新通知の表示のみが行われており、許可質問の表示及び更新処理はキーオフ時（時刻Ｔ２１）に行われている。そのため、操縦者はキーオン時（時刻Ｔ１）に速やかに作業を開始できる。また、パターンＰ１と同様、キーオン時（時刻Ｔ３）に更新処理の完了通知が表示されているので、操縦者は、キーオフ時（時刻Ｔ２１）に更新処理の完了を待たずにクレーン２から離れたとしても、次回のキーオン時（時刻Ｔ３）にソフトウェアが更新されたことを認識できる。
【００７６】
なお、図５の例では、キーオフ中に更新プログラムを保存する処理が実行されているが（Ｓ１〜Ｓ３）、更新プログラムを保存する処理（Ｓ１〜Ｓ３）はキーオン中に実行されてもよい。この場合、次のキーオン時が図５に示す時刻Ｔ１とされ、Ｓ４以降の処理が実行されることになる。
【００７７】
＜パターンＰ３＞
次に、パターンＰ３について説明する。図７は、パターンＰ３を採用した場合の更新装置１及びサーバ２００の処理を示すシーケンス図である。パターンＰ３は、キーオフ時に更新通知を表示すると共に更新処理の選択を受け付ける手法である。なお、図７において図３と同一の処理には同一の符号を付し、説明を省く。
【００７８】
図３では、キーオン（時刻Ｔ１）の前に更新プログラムの保存に関する一連の処理（Ｓ１〜Ｓ３）が実行されている。図７では、キーオフ（時刻Ｔ１）の前に更新プログラムの保存に関する一連の処理（Ｓ１〜Ｓ３）が実行されている。
【００７９】
また、図３では、更新プログラムの保存（Ｓ３）の後のキーオン時（時刻Ｔ１）に、更新通知と許可質問とを表示する一連の処理（Ｓ４〜Ｓ１０）が実行され、キーオフ時（時刻Ｔ２）に更新処理に関する一連の処理（Ｓ１１〜Ｓ１２）が実行されていた。図７では、更新プログラムの保存（Ｓ３）の後のキーオフ時（時刻Ｔ１）に、更新通知と許可質問とを表示する一連の処理（Ｓ４〜Ｓ１０）と、更新処理に関する一連の処理（Ｓ１１〜Ｓ１２）とが実行されている。
【００８０】
そして、次のキーオン時（時刻Ｔ２）に図３と同様、Ｓ１３〜Ｓ１６の処理が実行され、完了通知の表示が行われている。
【００８１】
図８は、パターンＰ３を採用した場合の更新装置１の処理を示すフローチャートである。なお、図８において、図４と同じ処理には同一の符号を付し、説明を省略する。Ｓ４０２のＹＥＳに続くＳ８０１では、過負荷防止装置１２０は、クレーン２の作業終了後、キーオフを検知する。以降、図４と同様Ｓ４０４〜Ｓ４０６の処理が実行されるが、図８では、Ｓ８０１でキーオフされているので、図４のＳ４０７（キーオフの検知）が省かれている。
【００８２】
パターンＰ３では、キーオフ時（時刻Ｔ１）に更新通知の表示、許可質問の表示、及び更新処理が行われている。そのため、操縦者はキーオン時に直ぐに作業を開始できる。
【００８３】
なお、図７の例では、キーオン中に更新プログラムを保存する処理が実行されているが（Ｓ１〜Ｓ３）、更新プログラムを保存する処理（Ｓ１〜Ｓ３）はキーオフ中に実行されてもよい。この場合、次のキーオフ時が図７に示す時刻Ｔ１とされ、Ｓ４以降の処理が実行されることになる。
【００８４】
＜パターンＰ１’＞
次に、パターンＰ１の変形例であるパターンＰ１’について説明する。図９は、パターンＰ１’を採用した場合の更新装置１及びサーバ２００の処理を示すシーケンス図である。パターンＰ１’は、エンジン１７０の自動停止時に更新処理を実行しない点を特徴とする。自動停止としては、エンジン１７０の緊急停止、エンジン１７０のエンスト（エンジンストール）、及びエンジン１７０のアイドルストップが含まれる。すなわち、エンジン１７０の自動停止は、操縦者の意図に基づくエンジン１７０の停止以外のエンジン１７０の停止が該当する。
【００８５】
例えば、クレーン２が障害物と接触しそうになると、接触を未然に防ぐために、エンジンコントローラ１６０は、エンジン１７０を緊急停止させることがある。また、クレーン２の吊荷が過大であると、エンジン１７０への負荷が過大になりエンストが発生することがある。エンジン１７０の緊急停止時及びエンスト時ではクレーン２は正常な状態でないことが予測される。この場合、更新装置１による更新処理を行わないことにより、操縦者は直ぐにクレーン２を操作可能な状態にする措置を採ることができる。
【００８６】
また、エンジンコントローラ１６０は、キーオン中に、クレーン２が作業をしていなければ、エンジン１７０を自動停止させる、いわゆる、アイドルストップ機能を備えているものもある。
【００８７】
アイドルストップ中にソフトウェアの更新処理を開始すると、更新処理中に操縦者の操作によってアイドルストップが解除されてエンジン１７０が始動されると、データロガー１３０が誤動作を起こす可能性がある。更新装置１は、自動停止時に更新処理を実行しないので、データロガー１３０の誤動作を回避できる。
【００８８】
図９の例では、Ｓ１０に続くＳＡにおいて、エンジン１７０の自動停止が行われている。この場合、データロガー１３０の更新処理部１３３２は、エンジン１７０の自動停止を検知したとしても更新処理（Ｓ１１）を行わない。更新処理部１３３２は、あくまで、キーオフ（時刻Ｔ２）の検知を条件に更新処理（Ｓ１１）を開始する。
【００８９】
＜パターンＰ２’＞
次に、パターンＰ２の変形例であるパターンＰ２’について説明する。図１０は、パターンＰ２’を採用した場合の更新装置１及びサーバ２００の処理を示すシーケンス図である。パターンＰ２’は、エンジン１７０の自動停止時において、更新処理を実行しない点を特徴とする。
【００９０】
図１０の例では、Ｓ６に続くＳＡにおいて、エンジン１７０の自動停止が行われている。この場合、データロガー１３０の更新処理部１３３２は、エンジン１７０の自動停止を検知したとしても、Ｓ７以降の処理を実行せず、更新処理（Ｓ１１）を行わない。更新処理部１３３２は、あくまで、キーオフ（時刻Ｔ２１）の検知を条件に、Ｓ７以降の処理を実行し、更新処理（Ｓ１１）を行う。
【００９１】
＜パターンＰ３’＞
次に、パターンＰ３の変形例であるパターンＰ３’について説明する。図１１は、パターンＰ３’を採用した場合の更新装置１及びサーバ２００の処理を示すシーケンス図である。パターンＰ３’は、エンジン１７０の自動停止時において、更新処理を実行しない点を特徴とする。
【００９２】
図１１の例では、Ｓ３に続くＳＡにおいて、エンジン１７０の自動停止が行われている。この場合、データロガー１３０の更新処理部１３３２は、エンジン１７０の自動停止を検知したとしても、Ｓ４以降の処理を実行せず、更新処理（Ｓ１１）を行わない。更新処理部１３３２は、あくまで、キーオフ（時刻Ｔ１）の検知を条件に、Ｓ４以降の処理を実行し、更新処理（Ｓ１１）を行う。
【００９３】
＜まとめ＞
このように、更新装置１によれば、エンジン１７０のキーオンが検知された時（パターンＰ１，Ｐ２）又はエンジン１７０のキーオフが検知された時（パターンＰ３）、記憶部１３２に更新プログラムが保存されていれば、更新プログラムの更新を促す更新通知が表示される。これにより、作業中に更新通知が表示されることが防止され、操縦者の意識を逸らすことなく安全なタイミングで更新通知を表示できる。
【００９４】
また、操作部１１２が操縦者からソフトウェアの更新を許可する指示を受け付けた場合のみ、ソフトウェアが更新されるので、操縦者は、非作業時を見計らってソフトウェアを更新することができ、作業中に操縦者の意図に反してソフトウェアの更新が行われることを防止できる。更に、更新の不許可を選択するとソフトウェアが更新されないので、操縦者は直ぐに作業を開始できると共に、ソフトウェアの更新を希望しない操縦者の要望にも応えることができる。
【００９５】
また、更新装置１によれば、サーバ２００からクレーン２に更新プログラムが送信されている。そのため、クレーン２の保守員が現場に足を運んで、ソフトウェアの更新作業を行わなくても、更新プログラムをクレーン２に取得させることができる。
【００９６】
データロガー１３０は、クレーン２がキーオフされていても更新プログラムを受信できるので、任意のタイミングで更新プログラムをクレーン２に取得させることができる。また、クレーン２に事前に更新プログラムを取得させておくことで、更新時に更新プログラムの取得に要する時間を省くことができ、更新処理に要する時間を短縮できる。
【００９７】
＜変形例＞
（１）上記実施の形態では、更新プログラムはサーバ２００がデータロガー１３０に送信していた。本発明はこれに限定されず、更新プログラムはクレーン２の工場出荷時又は工場出荷前に事前に記憶部１３２に記憶されていてもよい。この場合、図３、図５、図７において、Ｓ１〜Ｓ３の処理は省略される。そして、パターンＰ１，Ｐ２（又はＰ１’，Ｐ２’）を採用する場合、エンジン１７０が工場出荷後に初めてキーオンされた時が図３及び図４（又は図９及び図１０）の時刻Ｔ１となり、Ｓ４以降の処理が実行されればよい。また、パターンＰ３（又はＰ３’）が採用される場合、エンジン１７０が工場出荷後に初めてキーオフオフされたときが図１１の時刻Ｔ１となり、Ｓ４以降の処理が実行されればよい。
【００９８】
（２）上記実施の形態では、更新通知は、キーオン時又はキーオフ時に表示されていた。本発明は、これに限定されず、更新通知は、キーオン時及びキーオフ時の両方で表示されてもよい。例えば、図５に示すＳ７の前に、再度、更新通知が表示されてもよい。
【００９９】
（３）上記実施の形態では、データロガー１３０のソフトウェアが更新対象とされているが、これは一例であり、第１コントローラ１４０、第２コントローラ１５０、又はエンジンコントローラ１６０のソフトウェアが更新対象とされてもよい。この場合、ソフトウェアは、コンピュータを第１コントローラ１４０、第２コントローラ１５０、又はエンジンコントローラ１６０として機能させるプログラムとなる。
【０１００】
（４）上記実施の形態では、判定部１３３１及び更新処理部１３３２は、ソフトウェアの更新対象となる装置（データロガー１３０）が備えているが、これは一例であり、ソフトウェアの更新対象となる装置以外の装置（過負荷防止装置１２０、第１コントローラ１４０、第２コントローラ１５０、又はエンジンコントローラ１６０）が備えていても良い。
【０１０１】
（５）上記実施の形態では、作業機械の一例としてクレーンを採用したが、本発明はこれに限定されず、ショベルカー、又はダンプカーといったクレーン以外の建設機械が作業機械として採用されてもよい。
【０１０２】
（６）上記実施の形態では、データロガー１３０は、過負荷防止装置１２０を介して表示装置１１０と接続されていたが、本発明はこれに限定されず、表示装置１１０と直接接続されてもよい。この場合、判定部１３３１は、過負荷防止装置１２０を介することなく、許可通知を表示部１１１に表示させればよい。また、更新処理部１３３２は、過負荷防止装置１２０を介することなく、操作部１１２から更新の可否を示す指示が入力されたことを直接検出すればよい。
【０１０３】
（７）ソフトウェアは制御プログラムではなくアプリケーションプログラムであってもよい。この場合、上記（１）の態様において、工場出荷時に複数のアプリケーションプログラムを記憶部１３２に記憶させておき、キーオン時に任意のアプリケーションプログラムのインストールを操縦者に選択させる態様が採用できる。
【符号の説明】
【０１０４】
ＮＴ  通信回線
１  更新装置
２  クレーン
４０  下部走行体
４６  上部旋回体
５０  作業装置
１１０  表示装置
１１１  表示部
１１２  操作部
１２０  過負荷防止装置
１３０  データロガー
１３１  第１通信部
１３２  ＲＯＭ
１３２  記憶部
１３３  ＣＰＵ
１３３１  判定部
１３３２  更新処理部
１３４  ＲＯＭ
１３５  ＲＡＭ
１３６  第２通信部
１４０  第１コントローラ
１５０  第２コントローラ
１６０  エンジンコントローラ
１７０  エンジン
２００  サーバ
【図１】
2018036745.tif 000003
【図２】
2018036745.tif 000004
【図３】
2018036745.tif 000005
【図４】
2018036745.tif 000006
【図５】
2018036745.tif 000007
【図６】
2018036745.tif 000008
【図７】
2018036745.tif 000009
【図８】
2018036745.tif 000010
【図９】
2018036745.tif 000011
【図１０】
2018036745.tif 000012
【図１１】
2018036745.tif 000013