(57)【特許請求の範囲】
【請求項１】
建設機械に搭載される車載コントローラのプログラムを書換える建設機械の書換え装置であって、
前記建設機械の動作モードについて、プログラムの書換えが可能でありアクチュエータの動作が禁止される保守モード、プログラムの書換えおよびアクチュエータの動作が禁止される準備モード、およびプログラムの書換えが禁止されアクチュエータの動作が許可される作業モードのいずれの動作モードであるかを判断するモード判断部と、
前記車載コントローラの更新プログラムについて、書換えの緊急度を判断する緊急度判断部と、
前記車載コントローラのプログラムを更新プログラムで書き換える際、前記モード判断部で判断した動作モードが前記準備モードであり、かつ前記緊急度判断部で緊急度が高いと判断されている場合、前記動作モードを前記保守モードに切り替えて前記車載コントローラのプログラムを前記更新プログラムで書換える書換実行部とを備えることを特徴とする建設機械のプログラム書換え装置。
【請求項２】
請求項１に記載の建設機械のプログラム書換え装置において、
前記保守モードを設定する設定操作部を含み、
前記書換実行部は、前記車載コントローラのプログラムを更新プログラムで書き換える際、前記モード判断部で前記準備モードが判断され、かつ、緊急度判断部で緊急度が低いと判断されているとき、前記設定操作部により前記準備モードが前記保守モードに切り替えられると、前記車載コントローラのプログラムを前記更新プログラムで書換えることを特徴とする建設機械のプログラム書換え装置。
【請求項３】
請求項１に記載の建設機械のプログラム書換え装置において、
前記書換実行部は、前記車載コントローラのプログラムを更新プログラムで書き換える際、前記モード判断部で前記作業モードが判断されているとき、前記緊急度の高低に拘わらずプログラム更新を行わず、次に準備モードに切り換わったときに、前記車載コントローラのプログラムを前記更新プログラムで書換えることを特徴とする建設機械のプログラム書換え装置。
【請求項４】
請求項１に記載の建設機械のプログラム書換え装置において、
前記車載コントローラとは別の処理装置で前記プログラムを更新するように構成され、
前記車載コントローラは、前記書換実行部から更新指令を受信したとき、動作モードが保守モードであることを判断した後に前記更新プログラムで前記プログラムを更新する
ことを特徴とする建設機械のプログラム書換え装置。
【請求項５】
請求項１に記載の建設機械のプログラム書換え装置において、
前記更新プログラム、および前記更新プログラムの属性を示す属性信号を受信する受信部と、
前記建設機械の属性と、前記更新プログラムの属性とが一致するか否かを判断する属性一致判定部とをさらに備え、
前記書換実行部は、前記モード判断部で判断した動作モードが前記準備モードであり、かつ前記属性一致判定部で前記属性が一致すると判断されている場合に、前記動作モードを前記保守モードに切り替えて前記車載コントローラのプログラムを前記更新プログラムで書換えることを特徴とする建設機械のプログラム書換え装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、建設機械のプログラム書換え装置に関する。
【背景技術】
【０００２】
建設機械には車体を制御するコントローラが複数備えられ、各コントローラに格納されたプログラムは出荷後に書換えが必要な場合がある。この場合にサービス員が建設機械の設置場所まで出向きプログラムの書換え作業や書換え済みコントローラとの交換作業を行うことも可能であるが、時間および費用の面で問題となる。
そこで、衛星通信を介してサーバからプログラムを建設機械に送信し、サービス員が出向くことなくプログラムを更新することが好ましい。しかし、車体が書換え可能な状態であるか否かを監視するシステムや書換え中の予期せぬ動作に対応する仕組みが必要となる。たとえば特許文献１には、プログラムの書換え処理にあたり車両状態を事前にチェックし、プログラムの書換え可否を判断する構成が開示されている。
ところで、プログラムの書換えにおいて書換え実行の迅速性の要求は必ずしも一律ではなく、可能な限り早急に書換えるべきもの、すなわち緊急度が高いものと、そうではないもの、すなわち緊急度が低いものとがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−１９９４９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載されている発明では、書換えるプログラムの緊急度が考慮されず、プログラムの書換え可能な条件がプログラムの緊急度によらず一律である。
【課題を解決するための手段】
【０００５】
本発明の第１の態様の建設機械のプログラム書換え装置は、建設機械の動作モードについて、プログラムの書換えが可能でありアクチュエータの動作が禁止される保守モード、プログラムの書換えおよびアクチュエータの動作が禁止される準備モード、およびプログラムの書換えが禁止されアクチュエータの動作が許可される作業モードのいずれの動作モードであるかを判断するモード判断部と、プログラム書換えの緊急度を判断する緊急度判断部と、モード判断部で判断した動作モードが準備モードであり、かつ緊急度判断部で緊急度が高いと判断されている場合に、動作モードを保守モードに切り替えてプログラムを書換える書換え実行部とを備える。
【発明の効果】
【０００６】
本発明によれば、保守モード以外ではプログラム更新を許可しない建設機械において、準備モード設定中に緊急度が高い更新プログラムが配信された場合、動作モードを準備モードから保守モードに切り替えてプログラムを書換えることができる。すなわち、緊急度が高いプログラムの書換えを遅滞なく実行することが可能となる。
【図面の簡単な説明】
【０００７】
【図１】プログラム書換えシステム１００の構成を示す図
【図２】制御コントローラ３、および情報コントローラ４の機能ブロック図
【図３】動作モードの遷移図
【図４】油圧ショベル１に送信されるデータの構造を示す図
【図５】プログラム更新通知の一例を示す図
【図６】サーバ８１の動作を示すフローチャート
【図７】制御コントローラ３の動作を示すフローチャート
【図８】メンテナンス処理部４６の動作を示すフローチャート
【図９】図７のステップＳ３２０の詳細を示すサブルーチンのフローチャート
【図１０】変形例１における制御コントローラ３、および情報コントローラ４の機能ブロック図
【図１１】変形例２における制御コントローラ３の動作を示すフローチャート
【図１２】第２の実施の形態において油圧ショベル１に送信されるデータの構造を示す図
【図１３】第２の実施の形態においてメンテナンス処理部４６の動作を示すフローチャート
【発明を実施するための形態】
【０００８】
（第１の実施の形態）
以下、図１〜図９を参照して、本発明にかかるプログラム書換え装置を含むプログラム書換えシステム１００の第１の実施の形態を説明する。
【０００９】
（構成）
図１は、油圧ショベル１と、サーバ８１とから構成される建設機械のプログラム書換えシステム１００の構成を示す図である。油圧ショベル１には、本発明にかかる建設機械のプログラム書換え装置である情報コントローラ４が内蔵される。
油圧ショベル１は、オペレータによる操作入力が入力される入力部２０と、入力部２０への入力に基づき油圧ショベル１を動作させる制御コントローラ３と、プログラムの書換えを含む情報処理を行う情報コントローラ４と、サーバ８１との通信を行う通信部３０と、オペレータへの情報を提示する表示装置２８と、表示装置２８を制御するモニタコントローラ２７と、エンジン５１や油圧回路５５を含む動作部５０と、バッテリ６０と、を備える。なお、本明細書中、制御コントローラ３が車載コントローラである。
【００１０】
入力部２０は、オフ位置、アクセサリ位置、始動位置に切り替え操作されるキースイッチ２１と、レバー操作に応じたアクチュエータ操作指令を出力する操作レバー２２と、操作レバー２２が操作されてもアクチュエータの動作を禁止するゲートロック信号を出力する操作レバーロック２３と、油圧回路５５の各部の圧力や油圧ショベル各部の状態量を検出してセンサ信号を出力するセンサ群２４と、保守モードを設定する際に操作される保守モード設定スイッチ２５とを備える。なお、エンジン回転数の目標値を設定して入力するエンジンコントロールダイアルなどの機器も接続されている。
【００１１】
制御コントローラ３は、後述するプログラムを実行するＣＰＵ３ａと、プログラムが格納されるＲＯＭ３ｂと、プログラムの実行に利用されるＲＡＭ３ｃと、インタフェース３ｄと、不揮発メモリ３ｅとを備える。ＲＯＭ３ｂは、電気的に書換え可能なＥＥＰＲＯＭであり、後述するようにＲＯＭ３ｂに格納されるプログラムが情報コントローラ４により書換えられる。ＲＡＭ３ｃには、後述するＮＭＩフラグが保存される。不揮発メモリ３ｅには後述する未更新フラグ、および更新プログラム情報が格納される。
情報コントローラ４は、後述するプログラムを実行するＣＰＵ４ａと、プログラムが格納されるＲＯＭ４ｂと、プログラムの実行に利用されるＲＡＭ４ｃと、インタフェース４ｄとを備える。
【００１２】
動作部５０は、エンジン５１と、エンジン５１から動力が与えられる油圧ポンプ５２〜５４と、油圧回路５５と、油圧シリンダ５６と、油圧モータ５７と、エンジン５１を制御するＥＣＵ５８と、エンジン５１を始動するセルモータ５９とを備える。各ポンプから吐出される圧油は、コントロールバルブを含む油圧回路５５へ送られ、流量や方向が制御されて油圧シリンダ５６、および油圧モータ５７へ供給される。各ポンプの吐出容量、および油圧回路５５のコントロールバルブは、制御コントローラ３により制御される。セルモータ５９は、バッテリ６０を電源としてエンジン５１を始動する。
【００１３】
バッテリ６０は、制御コントローラ３、情報コントローラ４、通信部３０、およびセルモータ５９に電力を供給する。そのためこれらの機器は、エンジン５１が停止している状態でも動作が可能である。
表示装置２８は、たとえば液晶ディスプレイであり、モニタコントローラ２７の動作指令に基づきオペレータへ情報を提示する。表示装置２８には、たとえばエンジンの回転数、燃料の残量、稼働時間が表示され、後述する処理によりプログラム更新通知も表示される。
【００１４】
（機能ブロック）
図２は、制御コントローラ３、および情報コントローラ４が実行する機能を機能ブロックとして表した図である。
制御コントローラ３のＣＰＵ３ａが実行するプログラムが有する機能を機能ブロックとして表したものが、エンジン制御演算部３１、ポンプ制御演算部３２、および状態管理部３３である。
【００１５】
エンジン制御演算部３１は、オペレータによる不図示のエンジンコントロールダイアルへの操作入力に基づきエンジン５１の目標回転数を算出し、ＥＣＵ５８に目標回転数を出力する。
ポンプ制御演算部３２は、オペレータによる操作レバー２２への操作入力、およびセンサ群２４からの各種センサ信号に基づき、油圧ポンプ５２〜５４それぞれの吐出容量目標値を算出し、油圧ポンプ５２〜５４の吐出容量を目標値にすべく信号を出力する。
状態管理部３３は、オペレータによる操作レバー２２への操作入力、センサ群２４からの各種センサ信号、および情報コントローラ４からの指令に基づき、油圧ショベル１の動作モードを遷移させる。動作モード、およびその遷移は後に詳述する。
【００１６】
情報コントローラ４のＣＰＵ４ａが実行するプログラムが有する機能を機能ブロックとして表したものが、異常判定部４４、スナップショット取得部４５、およびメンテナンス処理部４６である。
異常判定部４４は、油圧ショベル１が備える各種センサの出力値を常時監視しており、出力値が予め定めた範囲を超えると異常が発生したと判断し、異常の発生をサーバ８１に通知する。たとえば、異常判定部４４は、バッテリ６０の電圧が所定値未満まで低下していると判定すると異常発生と判断する。本明細書では、情報コントローラ４の異常判定部４４は、バッテリ電圧に応じて制御コントローラ３が不揮発メモリ３ｅに設定するＮＭＩフラグを読み込み、プログラム更新の可否を判断している。
【００１７】
スナップショット取得部４５は、異常判定部４４が油圧ショベル１の動作異常を検出すると、センサ群２４からのセンサ信号のうち、異常と判定したセンサ信号をサーバ８１へ送信する。
【００１８】
メンテナンス処理部４６は、制御コントローラ３のプログラムを書換えるとともに、油圧ショベル１の稼働情報をサーバ８１へ送信する。メンテナンス処理部４６は、制御コントローラ３の状態管理部３３によって管理される動作モードの設定状態を判断するモード判断部４６ａと、更新プログラムの書換え緊急度を判断する緊急度判断部４６ｂと、プログラム書換え条件が成立したとき、制御コントローラ３のＲＯＭ３ｂに格納されているプログラムを更新プログラムで書換える指令を出力する書換え実行部４６ｃとを備える。プログラムの書換えについては後に詳述する。
なお、サーバ８１に送信された稼働情報は、遠隔地で稼働中の油圧ショベルの稼働状況を管理センサでモニタリングする際に利用される。
【００１９】
サーバ８１は、情報データベース８２と、情報端末８３とを備える。情報データベース８２には、後述する更新プログラム、および油圧ショベル１から送信された稼働情報が格納される。上記センサ信号は稼働情報の一部である。更新プログラムは、サーバ管理者により情報データベース８２へ適宜追加される。情報端末８３は、ＣＰＵ、ＲＯＭ、ＲＡＭを備えるコンピュータであり、後述するプログラムを実行して新たに追加された更新プログラムを情報コントローラ４に送信する。情報コントローラ４は、通信部３０で受信した更新プログラムをＲＡＭ４ｃに一時的に保存する。詳細は後述する。
【００２０】
（動作モード）
制御コントローラ３の状態管理部３３が管理する、油圧ショベル１の動作モードを説明する。
状態管理部３３は、入力部２０からの信号などに基づいて油圧ショベル１の動作モードの設定を切替える。図３は、油圧ショベル１が取りうる５つの動作モードの遷移を示す図である。油圧ショベル１は、停止モードＣ１、準備モードＣ２、保守モードＣ３、待機モードＣ４、作業モードＣ５のいずれかの状態をとる。
【００２１】
停止モードＣ１は、油圧ショベル１の動作が停止している状態である。状態管理部３３は、他のいずれの状態からでも、キースイッチ２１がオフ位置に設定されると停止モードＣ１に遷移させる。
準備モードＣ２は、キースイッチ２１がアクセサリ位置に切り替えられているとき、すなわち、エンジン５１が動作しておらずバッテリ６０から供給される電力により補機などが動作する状態である。すなわち準備モードＣ２では、制御コントローラ３、情報コントローラ４、通信部３０、モニタコントローラ２７、および表示装置２８は動作可能であるが動作部５０は動作しない。状態管理部３３は、停止モードＣ１においてキースイッチ２１がアクセサリ位置に切り替えられると準備モードＣ２に遷移させる。
【００２２】
保守モードＣ３は、油圧ショベル１の保守作業を行うためのモードである。制御コントローラ３のＲＯＭ３ｂに格納されるプログラムは、保守モードＣ３においてのみ書換え可能である。状態管理部３３は、準備モードＣ２において保守モード設定スイッチ２５が押されると保守モードＣ３に遷移させる。
待機モードＣ４は、エンジン５１は動作しているが操作レバー２２による操作を受け付けない状態である。状態管理部３３は、準備モードＣ２においてエンジン５１が始動されると、または作業モードＣ５において操作レバーロック２３がロック状態に設定されると待機モードＣ４に遷移させる。エンジン５１の始動は、キースイッチ２１が始動位置まで操作されることより、制御コントローラ３がセルモータ５９を動作させることにより行われる。
作業モードＣ５は、オペレータによる操作レバー２２の操作に基づき油圧ショベル１が動作する状態である。状態管理部３３は、待機モードＣ４において操作レバーロック２３がロック解除状態に設定されると作業モードＣ５に遷移させる。
【００２３】
（サーバの動作）
サーバ８１の動作を説明する。
サーバ８１の情報端末８３は、一定時間ごとに情報データベース８２を読み込み、新しい更新プログラムの有無を確認する。情報端末８３は、新しい更新プログラムを検出すると、その更新プログラムを油圧ショベル１に送信する。油圧ショベル１の情報コントローラ４は、通信部３０で受信した更新プログラムをＲＡＭ４ｃに一時保存する。更新プログラムとは、機能改善などを付加したプログラムであり、情報コントローラ４は、この更新プログラムで制御コントローラ３のＲＯＭ３ｂに保存されているプログラムを書き換える実行指令を制御コントローラ３に出力する。
【００２４】
図４は、油圧ショベル１に送信される更新プログラムを含むデータ（以下、更新プログラム情報）の構造を示す図である。情報端末８３が油圧ショベル１に送信するデータは、ヘッダＤ１と、緊急度情報Ｄ２と、更新プログラムＤ３とを含む。ヘッダＤ１は、更新プログラム情報であることを示す識別子である。緊急度情報Ｄ２は、従前のプログラムを当該更新プログラムに書換える緊急度を示す。たとえば「１」が緊急であることを示し、「０」が緊急ではないことを示す。緊急度情報Ｄ２は更新プログラムとともに情報データベース８２に格納される。更新プログラムＤ３は、情報データベース８２に格納される前述の更新プログラムである。
【００２５】
（制御コントローラの動作）
制御コントローラ３は、一定時間ごとにバッテリ６０の電圧を監視し、所定の電圧未満を検知するとＮＭＩフラグをＯＮに設定し、所定の電圧以上を検知するとＮＭＩフラグをＯＦＦに設定する。後述するように、情報コントローラ４は、プログラム更新の可否を判断する際にこのＮＭＩフラグを利用する。
制御コントローラ３は、動作モードが保守モードＣ３の場合に情報コントローラ４からプログラム更新指令および更新プログラムを受信すると、ＲＯＭ３ｂに保存されているプログラムを更新プログラムで更新する。
ただし、動作モードが保守モードＣ３以外の場合、たとえば準備モードＣ２や作業モードＣ５の場合にプログラム更新指令を受信しても、プログラムの更新を行わない。受信した更新プログラムは不揮発メモリ３ｅに保存する。
【００２６】
（情報コントローラの動作）
情報コントローラ４は、制御コントローラ３の状態管理部３３が管理する現在の動作モードを把握する。情報コントローラ４は、通信部３０がサーバ８１から更新プログラム情報を受信すると、更新プログラムをＲＡＭ４ｃに一時保存する。そして、更新プログラム情報に含まれる緊急度情報Ｄ２が緊急を示す情報であるか否かを判定するとともに、油圧ショベル１の動作モードに応じて以下にケース１〜３として示すように異なる処理を行う。以下では、緊急度情報Ｄ２が緊急を示す情報であるか否かを「緊急度が高い／低い」と表現する。
【００２７】
＜ケース１＞
更新プログラムを受信したときの動作モードが保守モードＣ３で、かつ更新プログラムの緊急度が高ければ、情報コントローラ４は即座に制御コントローラ３に更新指令と更新プログラムを送信してプログラムの更新を開始させる。更新プログラムを受信したときの動作モードが準備モードＣ２で、かつ更新プログラムの緊急度が高ければ、情報コントローラ４は、動作モードを保守モードＣ３に変更する指令と、更新指令と、更新プログラムとを制御コントローラ３に送信する。制御コントローラ３は、動作モードを保守モードＣ３に変更するとともに、ＲＯＭ３ｂのプログラムを更新プログラムで書換える。
【００２８】
＜ケース２＞
更新プログラムを受信したときの動作モードが保守モードＣ３または準備モードＣ２で、かつ受信した更新プログラムの緊急度が低ければ、情報コントローラ４はオペレータにプログラム更新を報知して更新の要否を問い合わせる。
図５は、プログラム更新通知の一例を示す図である。表示装置２８には、注意喚起を示す三角のマークとともにプログラム更新がある旨（符号２８ａ）、および更新の適用要否を選択するボタン（２８ｂ）が表示される。情報コントローラ４は、オペレータが更新を実行する旨、すなわち図５の例では「する」を選択すると、情報コントローラ４は制御コントローラ３にプログラムの更新を開始させる。
【００２９】
ただし、緊急度が低い更新プログラムを受信したときの動作モードが準備モードＣ２の場合、情報コントローラ４は、緊急度が高いときのような動作モードの変更を行わない。オペレータが保守モード設定スイッチ２５を操作して保守モードＣ３に変更し、かつ、プログラム更新の意思表示を入力すると、制御コントローラ３はプログラム更新を実行する。一方、保守モードへの切換を行ったオペレータが更新を行わない旨、すなわち図５の例では「しない」を選択すると、情報コントローラ４は、プログラム更新の報知を次に行う時期について問い合わせ、その時期に再度報知する。
【００３０】
＜ケース３＞
更新プログラムを受信したときの動作モードが待機モードＣ４または作業モードＣ５の場合は、情報コントローラ４は更新プログラムの緊急度にかかわらず更新プログラムの報知を行わず、次回の起動時にプログラムの更新を報知する。この報知のために不揮発メモリ３ｅに保存される未更新フラグを利用する。
すなわち情報コントローラ４は、更新プログラム受信時の動作モードが待機モードＣ４または作業モードＣ５の場合は、制御コントローラ３の不揮発メモリ３ｅに保存される未更新フラグをオンに設定するとともに、受信した更新プログラム情報を制御コントローラ３の不揮発メモリ３ｅに保存する。そして情報コントローラ４は、次回に準備モードＣ２に遷移された際に、未更新フラグがオンであることを認識すると、受信済の更新プログラム情報が不揮発メモリ３ｅに保存されていると判断する。そして情報コントローラ４は、不揮発メモリ３ｅから更新プログラム情報を読み込んで、通信部３０からその更新プログラム情報を受信した場合と同様に処理を行う。すなわち、上記ケース１，ケース２で説明した処理を実行する。
【００３１】
なお、制御コントローラ３の不揮発メモリ３ｅには既に更新プログラム情報が保存されているから、情報コントローラ４が更新プログラム情報を再度配信することは必須ではない。
【００３２】
なお、電源電圧の低下によるプログラムの更新失敗を防止するために、情報コントローラ４は更新を開始させる前にＮＭＩフラグを確認し、ＮＭＩフラグがオン、すなわち電源電圧が低下している場合にはプログラム更新指令を出力しない。そして、オペレータに電源電圧の低下を報知するとともに、未更新フラグをオンに設定し、更新プログラム情報を制御コントローラ３の不揮発メモリ３ｅに保存する。
すなわち、サーバ８１から更新プログラムを受信したとき、情報コントローラ４は、動作モードと電源電圧低下フラグを読み込み、プログラム書換え条件の成立の有無を判断する。
【００３３】
（サーバの動作を示すフローチャート）
以上説明した情報端末８３の動作は、図６で説明するプログラムにより行われる。
図６は、サーバ８１の情報端末８３が一定時間ごとに実行するプログラムの動作を表すフローチャートである。以下に説明する各ステップの実行主体は、情報端末８３のＣＰＵである。
ステップＳ２０１では、情報データベース８２を読み込み、新しい更新プログラムの有無を確認し、ステップＳ２０２に進む。
ステップＳ２０２では、新しい更新プログラムの有無を判断し、新しい更新プログラムがあると判断する場合はステップＳ２０３に進み、新しい更新プログラムがないと判断する場合は図６のプログラムを終了する。
ステップＳ２０３では、新しい更新プログラムと、そのプログラムの緊急度情報を情報データベース８２から読み込み、送信する情報である更新プログラム情報を作成する。次にステップＳ２０４に進む。
ステップＳ２０４では、ステップＳ２０３において作成した更新プログラム情報を油圧ショベル１に送信し、図６のプログラムを終了する。
【００３４】
（制御コントローラ３の動作を示すフローチャート）
図７は、制御コントローラ３で実行されるプログラムの処理手順を表すフローチャート鵜である。以下に説明する各ステップの実行主体は、制御コントローラ３のＣＰＵ３ａである。
制御コントローラ３は、ステップＳ５０１において、情報コントローラ４からプログラム更新指令と更新プログラムを受信したか否かを判断する。受信したと判断すると、ステップＳ５０２において、現在の動作モードが保守モードＣ３であるか否かを判断し、肯定されるとステップＳ５０３に進む。ステップＳ５０３では、ＮＭＩフラグがオフか否かを判断し、肯定されるとステップＳ５０４に進んで、ＲＯＭ３ｂのプログラムを更新プログラムで書き換える。
ステップＳ５０１〜ステップＳ５０３のいずれかが否定されると、図７のプログラムを終了する。
【００３５】
（情報コントローラ４の動作を示すフローチャート）
図８は、メンテナンス処理部４６により実行されるプログラムの動作を表すフローチャートである。このプログラムは、情報コントローラ４が起動すると、すなわち動作モードが停止モードＣ１から準備モードＣ２に遷移されると実行を開始する。以下に説明する各ステップの実行主体は、情報コントローラ４のＣＰＵ４ａである。
ステップＳ３０１では、制御コントローラ３の不揮発メモリ３ｅに格納されている未更新フラグがオンであるか否かを判断し、オンと判断する場合は未更新フラグをオフに書き換えてステップＳ３０３に進み、オフと判断する場合はステップＳ３０２に進む。上述したように、未更新フラグは、受信した更新プログラムによるプログラム書き換えが完了したか未了であるかを示している。プログラム更新が未了の場合は未更新フラグがＯＮであり、サーバ８１から更新プログラムを受信することなく、更新プログラムを受信した際の処理を開始する。
ステップＳ３０２では、通信部３０がサーバ８１から更新プログラムの通知を受信したか否か、すなわち更新プログラム情報を受信したか否かを判断する。受信していないと判断する場合はステップＳ３０２に留まり、受信したと判断する場合はステップＳ３０３に進む。
【００３６】
ステップＳ３０３では、更新が緊急であるか否か、すなわち更新プログラム情報に含まれる緊急度情報Ｄ２が緊急を示す情報であるか否かを判断する。緊急であると判断する場合はステップＳ３０４に進み、緊急でないと判断する場合はステップＳ３２０に進む。このステップＳ３２０の処理は、後に図８を用いて説明する。
ステップＳ３０４では、油圧ショベル１の動作モードが保守モードＣ３または準備モードＣ２であるか否かを判断する。動作モードは制御コントローラ３の状態管理部３３のメモリに設定されており、情報コントローラ４はそのメモリ内のデータを参照して動作モードを識別する。保守モードＣ３または準備モードＣ２であると判断する場合はステップＳ３０５に進み、保守モードＣ３または準備モードＣ２ではない、すなわち待機モードＣ４または作業モードＣ５であると判断する場合はステップＳ３１０に進む。
【００３７】
ステップＳ３０５では、制御コントローラ３に記録されているＮＭＩフラグがオフであるか否か、すなわちバッテリ６０の電圧が正常な範囲であるか否かを判断する。バッテリ電圧が閾値以上であると判断されている場合、ＮＭＩフラグはオフ、バッテリ電圧が閾値未満であると判断されている場合はオンである。ＮＭＩフラグがオフであると判断する場合（バッテリ電圧が閾値以上）はステップＳ３０６に進み、ＮＭＩフラグがオン（バッテリ電圧が閾値未満）であると判断する場合はステップＳ３０９に進む。
ステップＳ３０６では、動作モードが準備モードＣ２であるか否かを判断する。準備モードＣ２であると判断するとステップＳ３０７に進み、準備モードＣ２ではない、すなわち保守モードＣ３であると判断すると、保守モードＣ３に移行させる必要がないのでステップＳ３０８に進む。
ステップＳ３０７では、制御コントローラ３の状態管理部３３に保守モードＣ３へ移行する指令を出力し、ステップＳ３０８に進む。
【００３８】
ステップＳ３０８では、制御コントローラ３にプログラム更新指令と更新プログラムを送信して図８のプログラムを終了する。
ステップＳ３０９では、モニタコントローラ２７を用いてバッテリの電圧が低下している旨をオペレータに通知させ、ステップＳ３１０に進む。
ステップＳ３１０では、未更新フラグをオンに設定するとともに、受信した更新プログラム情報をフラッシュメモリに保存し、図８のプログラムを終了する。
【００３９】
（図８のステップＳ３２０のサブルーチン）
図９は、図８のステップＳ３２０、すなわち受信した更新プログラム情報に含まれる緊急度情報Ｄ２が緊急を表す情報ではなかった場合に実行されるサブルーチンを示すフローチャートである。
ステップＳ３２１では、油圧ショベル１の動作モードが保守モードＣ３または準備モードＣ２であるか否かを判断する。保守モードＣ３または準備モードＣ２であると判断する場合はステップＳ３２２に進み、保守モードＣ３または準備モードＣ２ではない、すなわち待機モードＣ４または作業モードＣ５であると判断する場合はステップＳ３２８に進む。
【００４０】
ステップＳ３２２では、モニタコントローラ２７を用いて表示装置２８にプログラム更新通知、たとえば「更新プログラムがあります。準備モードＣ２の場合は保守モードＣ３に切り替えてください。」という文字列を表示させ、ステップＳ３２３に進む。
ステップＳ３２３では、油圧ショベル１の動作モードが保守モードＣ３であるか否かを判断する。保守モードＣ３であると判断する場合はステップＳ３２４に進み、保守モードＣ３ではないと判断する場合はステップＳ３２３に留まる。
【００４１】
ステップＳ３２４では、モニタコントローラ２７を用いて表示装置２８にプログラム更新の要否を問い合わせる表示、たとえば図５に示すように「アップデートを  する／しない」という文字列を表示させる。そして、オペレータがアップデート、すなわち更新を肯定する旨の入力、たとえば「する」を選択する入力を行ったと判断するとステップＳ３２５に進み、オペレータが更新を否定する旨の入力、たとえば「しない」を選択する入力を行ったと判断するとステップＳ３２９に進む。
【００４２】
ステップＳ３２５では、ＮＭＩフラグがオフであるか否か、すなわちバッテリ６０の電圧が正常な範囲であるか否かを判断する。ＮＭＩフラグがオフであると判断する場合はステップＳ３２６に進み、ＮＭＩフラグがオンであると判断する場合はステップＳ３２７に進む。
ステップＳ３２６では、制御コントローラ３にプログラム更新指令および更新プログラムを送信して制御コントローラ３のＲＯＭ３ｂのプログラム更新を実行させ、図９のサブルーチンを終了する。
【００４３】
ステップＳ３２７では、モニタコントローラ２７を用いてバッテリの電圧が低下している旨をオペレータに向けて通知させ、ステップＳ３２８に進む。
ステップＳ３２８では、未更新フラグをオンに設定するとともに、受信した更新プログラム情報を不揮発メモリ３ｅに保存し、図９のサブルーチンを終了する。
ステップＳ３２４において更新を否定する選択が行われた場合、たとえば図５の「しない」が選択されたときに実行されるステップＳ３２９では、モニタコントローラ２７を用いて表示装置２８に次回の報知を行う時期の候補、たとえば「再通知時期を選択してください：１０分後／３０分後／１時間後／３時間後」を表示させ、ステップＳ３３０に進む。
【００４４】
ステップＳ３３０では、オペレータが不図示のボタンなどを用いて表示装置２８に表示されたいずれかの候補を選択したか否かを判断する。選択したと判断する場合はステップＳ３３１に進み、選択していないと判断する場合はステップＳ３３０に留まる。
ステップＳ３３１では、一定時間、たとえば１秒待機してステップＳ３３２に進む。
ステップＳ３３２では、現在時刻がステップＳ３３０において選択された次回の報知時期に該当するか否かを判断し、該当すると判断する場合はステップＳ３２４に進み、該当しないと判断する場合はステップＳ３３１に戻る。
【００４５】
上述した第１の実施の形態によれば、次の作用効果が得られる。
（１）情報コントローラ４は、油圧ショベル１に搭載される本発明のプログラム書換え装置である。情報コントローラ４は、車載コントローラである制御コントローラ３のプログラムを書換える処理を実行するメンテナンス処理部２６を備える。
メンテナンス処理部２６は、油圧ショベル１の動作モードについて、プログラムの書換えが可能であり、油圧シリンダ５６や油圧モータ５７の動作が禁止される保守モード、プログラムの書換えおよび油圧シリンダ５６や油圧モータ５７の動作が禁止される準備モード、およびプログラムの書換えが禁止され油圧シリンダ５６や油圧モータ５７の動作が許可される作業モードのいずれの動作モードであるかを判断するモード判断部４６ａと、プログラム書換えの緊急度を判断する緊急度判断部４６ｂと、モード判断部４６ａで判断した動作モードが準備モードであり、かつ、緊急度判断部４６ｂで緊急度が高いと判断されていて、かつ、バッテリ６０の電圧が所定値以上である場合に、動作モードを保守モードに変更して制御コントローラ３のＲＯＭ３ｂのプログラムを更新プログラムで書換える指令を出力する書換え実行部４６ｃとを備える。
情報コントローラ４をこのように構成したので、準備モードで緊急度の高い更新プログラムを受信したとき、保守モードに変更して遅滞なく制御コントローラ３のプログラムを更新することができ、プログラム更新が迅速に行われる。
【００４６】
（２）油圧ショベル１は、保守モードを設定する保守モード設定スイッチ２５を備えている。モード判断部４６ａが準備モードを判断し、かつ、緊急度判断部４６ｂが緊急度が低いと判断したとき、保守モード設定スイッチ２５により保守モードが設定され、かつ更新を行う意思表示をユーザが入力したと判断されると、書換え実行部４６ｃは制御コントローラ３のＲＯＭ３ｂに格納されているプログラムを書換える。
準備モードで緊急度の低い更新プログラムを受信したとき、オペレータが保守モードに変更し、かつ、プログラム更新の意思表示を入力すると、遅滞なく制御コントローラ３のプログラムを更新することができ、プログラム更新が迅速に行われる。
【００４７】
（３）実施の形態のプログラム書換装置は、制御コントローラ３とは別の処理装置である情報コントローラ４でプログラムを更新するように構成している。制御コントローラ３は、メンテナンス処理部４６から更新指令を受信したとき、動作モードが保守モードであることを判断した後に更新プログラムでプログラムを更新するようにした。
したがって、動作モードを制御コントローラ３側で管理する第１実施の形態の場合であって、情報コントローラ４が更新の可否を判断する際に使用する動作モードと、制御コントローラ３側で管理する動作モードとが同期していない場合でも、保守モードのときにのみプログラム更新が実行されるので、油圧ショベルの作業に支障を来すことがない。
【００４８】
（４）メンテナンス処理部４６は、更新プログラム、および更新プログラムの更新の緊急度を示す信号を受信する通信部、すなわちインタフェース４ｄを備える。メンテナンス処理部４６は、通信部が受信する緊急度Ｄ２を示す信号に基づき緊急度を判断する。
そのため、メンテナンス処理部４６は更新するプログラムの緊急度をあらかじめ記憶する必要がなく、更新するプログラムとともに受信した緊急度情報Ｄ２により緊急度を判断することができる。
【００４９】
（５）油圧ショベル１は、動作モードを管理する状態管理部３３を備える。メンテナンス処理部４６は、状態管理部３３の出力に基づき動作モードを判断する。
そのため、メンテナンス処理部４６が油圧ショベル１の動作モードを管理する必要がなく、処理が簡便である。
【００５０】
（変形例１）
上述した第１の実施の形態では、状態管理部３３を制御コントローラ３に備えるようにしたが、制御コントローラ３に備えた状態管理部３３を情報コントローラ４に備えるようにしてもよい。この場合は、制御コントローラ３は入力部２０からの入力を情報コントローラ４に送信する。
図１０は、変形例１における制御コントローラ３、および情報コントローラ４の機能ブロック図である。制御コントローラ３ａは、エンジン制御演算部３１と、ポンプ制御演算部３２とを備える。情報コントローラ４ａは、状態管理部４３と、異常判定部４４と、スナップショット取得部４５と、メンテナンス処理部４６とを備える。各機能ブロックの動作は第１の実施の形態と同様である。
【００５１】
この変形例１によれば、第１の実施の形態の（１）〜（４）の作用効果に加えて、次の作用効果が得られる。
（１）情報コントローラ４ａは、建設機械の動作モードを管理する状態管理部４３を備える。書換え制御部、すなわちメンテナンス処理部４６は、状態管理部４３の出力に基づき動作モードを判断する。
そのため、メンテナンス処理部４６は制御コントローラ３との通信を行うことなく油圧ショベル１の動作モードを判断できるので、迅速な処理が可能となる。
【００５２】
（変形例２）
上述した第１の実施の形態では、情報コントローラ４は、未更新フラグがオンの場合にサーバ８１から更新プログラムを受信した際と同様の処理を行った（図８のステップＳ３０１：ＹＥＳ→ステップＳ３０３）。しかし、未更新フラグがオンの場合は、不揮発メモリ３ｅに保存されている更新プログラムの緊急度に関わらず、緊急度が高い場合と同様の処理を行ってもよい。すなわち、図８においてステップＳ３０１において肯定判断がされた場合にステップＳ３０４に進むようにしてもよい。
【００５３】
また、情報コントローラ４が未更新フラグの処理を行わず、制御コントローラ３が未更新フラグの処理を行ってもよい。たとえば、制御コントローラ３が停止モードＣ１から準備モードＣ２に切り替わったと判断し、さらに未更新フラグがオンの場合に不揮発メモリ３ｅに保存されている更新プログラムを用いて制御コントローラ３のＲＯＭ３ｂにプログラムを書換えてもよい。この場合に、制御コントローラ３の動作は次の図１１により表される。
【００５４】
図１１は、変形例２において制御コントローラ３により実行されるプログラムの動作を表すフローチャートである。第１の実施の形態の図７と同一の処理には同一のステップ番号を付して説明を省略する。以下に説明する各ステップの実行主体は、制御コントローラ３のＣＰＵ３ａである。
ステップＳ５５１において、動作モードが停止モードから準備モードに切り換わったか否かを判断し、肯定判断されるとステップＳ５５２に進み、未更新フラグがオンか否かを判定する、ステップＳ５５２が肯定されると、ステップＳ５０４に進み、ＲＯＭ３ｂのプログラムを更新プログラムで書き換える。
ステップＳ５５１、またはステップＳ５５２が否定判断されるとステップＳ５０１に進み、第１の実施の形態と同様の処理を行う。
【００５５】
この変形例２によれば、第１の実施の形態の（１）〜（４）の作用効果に加えて、次の作用効果が得られる。
（１）作業モードで更新プログラムを受信したときは、緊急度に関わらず、次に準備モードに切り換わったときにプログラム更新するようにした。すなわち、このようなプログラム書換え装置において、書換え実行部４６ｃは、制御コントローラ３のプログラムを更新プログラムで書き換える際、モード判断部４６ａで作業モードが判断されているとき、緊急度の高低に拘わらずプログラム更新を行わず、次に準備モードに切り換わったときに、制御コントローラ３のプログラムを更新プログラムで書換える。
作業モード中に更新プログラムが配信されたときでも、次回の油圧ショベル始動時に制御コントローラ３のプログラムを更新プログラムで確実に更新することができ、更新のし忘れを防止できる。
【００５６】
（その他の変形例）
上述した第１の実施の形態を以下のように変形してもよい。
（１）ＮＭＩフラグは情報コントローラ４のＲＡＭ４ｃに記憶してもよい。すなわち、ＮＭＩフラグは、情報コントローラ４のメンテナンス処理部４６がアクセス可能な記憶領域に保存されればよい。
（２）情報コントローラ４に不揮発メモリを備え、その不揮発メモリに未更新フラグを記憶するようにしてもよい。すなわち、未更新フラグは、情報コントローラ４のメンテナンス処理部４６がアクセス可能であり、油圧ショベル１が停止モードに移行しても情報が保持される記憶領域に保存されればよい。
【００５７】
（３）メンテナンス処理部４６が制御コントローラ３のプログラム書換え指令を出力する機能を備えず、他の装置がその機能を備えてもよい。すなわち、油圧ショベルが制御コントローラ３や情報コントローラ４とは異なるプログラム書換え機能を有するコントローラを備えてもよいし、プログラム書換え指令の出力機能を制御コントローラ３に実装するように構成してもよい。
（４）メンテナンス処理部４６は、制御コントローラ３以外の車載コントローラのプログラムを書き換えてもよい。この場合は、サーバ８１から受信する更新プログラム情報に書換え対象とする機器の識別情報が含まれ、メンテナンス処理部４６がその識別子に基づきプログラムを書換える対象とする機器を特定し、上述した処理によりプログラムを書き換える。
【００５８】
（５）本発明が適用される対象は油圧ショベルに限定されない。少なくとも次の３つの動作モードを有する建設機械に適用できる。すなわち３つの動作モードとは、プログラムの書換えが許可され、さらにアクチュエータの動作が禁止される保守モードと、プログラムの書換えおよびアクチュエータの動作が禁止される準備モードと、プログラムの書換えが禁止されるがアクチュエータの動作が許可される作業モードである。
（６）情報コントローラ４が通信部３０の機能を備え、情報コントローラ４がサーバ８１と通信を行ってもよい。
【００５９】
（７）メンテナンス処理部４６はＮＭＩフラグを参照せず、プログラムの書き換え指示を受けた制御コントローラ３がＮＭＩフラグを参照し、書換えの可否を判断してもよい。
（８）油圧ショベル１を構成する機器間で、更新プログラム情報に含まれる緊急度情報Ｄ２に関する情報を伝達する際に、通信プロトコルで予め定められた識別子を利用してもよい。たとえば、ＣＡＮにおけるＣＡＮＩＤやＴＣＰ・ＵＤＰにおけるポート番号を識別子として利用し、この識別子と緊急度の対応を予め定めておき、ＣＡＮＩＤやポート番号を使って緊急度情報を伝達してもよい。
【００６０】
（９）メンテナンス処理部４６は、準備モードで緊急度が低い更新プログラムを受信したとき、手動で保守モードに切り替え、かつ、更新を行う意思を入力したときにプログラムが更新されるものとした。しかし、準備モードで緊急度が低い更新プログラムを受信したとき、手動で保守モードに切り替える操作だけでプログラム更新を行ってもよい。すなわち、保守モードへの切り替えが意思表示入力であると見做してプログラム更新しても良い。このような変形例では、緊急度が低い更新プログラムであっても、ユーザの判断にてプログラムを迅速に更新することができる。
【００６１】
（１０）第１実施の形態の書換え実行部４６ｃは、モード判断部４６ａで判断した動作モードが準備モードであり、かつ、緊急度判断部４６ｂで緊急度が高いと判断されていて、かつ、バッテリ６０の電圧が所定値以上である場合に、動作モードを保守モードに変更して制御コントローラ３のＲＯＭ３ｂのプログラムを更新プログラムで書換える指令を出力するように構成した。しかし、書換え実行部４６ｃが、モード判断部４６ａで判断した動作モードが準備モードであり、かつ、緊急度判断部４６ｂで緊急度が高いと判断されている場合に、動作モードを保守モードに変更して制御コントローラ３のＲＯＭ３ｂのプログラムを更新プログラムで書換える指令を出力するように構成してもよい。すなわち、バッテリ６０の電圧状態を加味しなくてもよい。
【００６２】
（第２の実施の形態）
図１２〜図１３を参照して、本発明にかかる建設機械のプログラム書換え装置である情報コントローラを含むプログラム書換え装置の第２の実施の形態を説明する。以下の説明では、第１の実施の形態と同じ構成要素には同じ符号を付して相違点を主に説明する。特に説明しない点については、第１の実施の形態と同じである。本実施の形態は、主に、緊急度の高低だけでなく属性の異同を評価する点で、第１の実施の形態と異なる。
第２の実施の形態は、情報コントローラ４のＲＯＭ４ｂに格納されるプログラムの動作が第１の実施の形態と異なる。すなわちメンテナンス処理部４６の動作が、第１の実施の形態と異なる。また、制御コントローラ３のＲＯＭ３ｂにはさらに、属性情報が格納される。
【００６３】
属性情報とは油圧ショベル１の属性を示す情報であり、構成属性情報、または非構成属性情報の少なくとも１つを含む。構成属性情報とは、油圧ショベル１の構成に基づく属性情報であり、たとえばブームの長さやエンジンの排気量、型番などである。非構成属性情報とは、油圧ショベル１の構成以外に基づく属性情報であり、たとえば油圧ショベル１の仕向け地、購入者などである。
第２の実施の形態は、情報データベース８２に格納される情報、およびサーバ８１から油圧ショベル１に送信されるデータの構造も第１の実施の形態と異なる。
【００６４】
（データの構造）
図１２は、第２の実施の形態における更新プログラム情報の構造を示す図である。第２の実施の形態における更新プログラム情報は、ヘッダＤ１と、緊急度情報Ｄ２と、プログラムＤ３と、属性情報Ｄ４とを含む。ヘッダＤ１、緊急度情報Ｄ２、プログラムＤ３は第１の実施の形態と同様である。属性情報Ｄ４は、情報コントローラ４のＲＯＭ４ｂに格納される属性情報と同種の情報である。属性情報Ｄ４は、プログラム、緊急度情報とともに情報データベース８２に格納される。
【００６５】
サーバ８１の管理者は、情報データベース８２に格納する属性情報をたとえば次のように決定する。すなわち、新しい更新プログラムの特徴に基づき、その更新プログラムに迅速に書換えられるべき特定の属性を決定する。たとえば、特定の気候条件を有する国、たとえばＸ国でのみ発生する可能性がある不具合を解消した更新プログラムに対しては、属性情報Ｄ４を“仕向け地＝Ｘ国”とする。
【００６６】
（メンテナンス処理部の動作）
メンテナンス処理部４６は、第１の実施の形態における処理に加えて、以下の処理を行う。すなわち、受信した更新プログラム情報に含まれる属性情報Ｄ４がＲＯＭ４ｂに格納される属性情報と一致すると、緊急度情報Ｄ２の値に関わらず緊急度情報Ｄ２が緊急を示す情報である場合の処理を行う。
【００６７】
（情報コントローラの動作を示すフローチャート）
図１３のフローチャートに示すプログラムは、第１の実施の形態における図８のフローチャートに示すプログラムに代わって、第２の実施の形態においてメンテナンス処理部４６が実行する処理手順を示すものである。図８と同じ処理には同一のステップ番号を付して説明を省略する。
ステップＳ３０３において緊急度が低いと判定がされるときはステップＳ３０３Ａに進む。ステップＳ３０３Ａでは、更新プログラム情報に含まれる属性情報Ｄ４と、ＲＯＭ３ｂに格納される属性情報とが一致するか否かを判断する。一致すると判断するとステップＳ３０４に進み、一致しないと判断するとステップＳ３２０に進む。
すなわち、緊急度情報Ｄ２が緊急を示す情報ではない場合でも、属性が一致すれば緊急度情報Ｄ２が緊急を示す情報であった場合と同様の処理を行う。たとえば、上述したようにプログラムの属性に“仕向け地＝Ｘ国”が含まれ、かつ、建設機械の属性にも“仕向け地＝Ｘ国”が含まれる場合であって、動作モードが保守モードＣ３または準備モードＣ２でありＮＭＩフラグがオフであればプログラム更新を行う。
【００６８】
上述した第２の実施の形態によれば、次の作用効果が得られる。
（１）油圧ショベル１は、当該油圧ショベル１の属性が格納される記憶部、すなわちＲＯＭ３ｂを備える。情報コントローラ４は、更新プログラム、および更新プログラムの属性を示す信号を受信する受信部、すなわちインタフェース４ｄを備える。メンテナンス処理部４６は、ＲＯＭ３ｂに格納される当該油圧ショベル１の属性と更新するプログラムの属性、すなわち属性情報Ｄ４とが一致すると、緊急度が高いと判断した場合と同様の処理を実行する。
そのため、第1実施の形態で説明した緊急度情報Ｄ２が低いプログラムであっても、属性情報Ｄ４に基づき特定の属性を有する機器におけるプログラム更新を迅速に行うことができる。
【００６９】
（第２の実施の形態の変形例）
第２の実施の形態は、以下のように変形してもよい。
（１）属性は制御コントローラ３のＲＯＭ３ｂに格納されたが、情報コントローラ４のＲＯＭ４ｂに格納されてもよい。
（２）属性は、ＲＯＭ３ｂに予め格納されだけでなく、遠隔地から書換え可能であってもよいし、センシングした情報を用いて自動的に書換え可能であってもよい。たとえば、衛星測位システムを用いて油圧ショベル１が動作している国や地域を特定し、これを属性としてＲＯＭ３ｂに格納してもよい。
【００７０】
（３）属性情報Ｄ４に複数の属性が含まれ、ＲＯＭ３ｂに格納される属性が属性情報Ｄ４の属性に含まれることにより、属性が一致すると判断してもよい。たとえば、属性情報Ｄ４の属性が“仕向け地＝Ｘ国，Ｙ国，Ｚ国”である場合に、ＲＯＭ３ｂに格納される属性が“仕向け地＝Ｘ国”であれば、属性が一致すると判断してもよい。
（４）ＲＯＭ３ｂ、および属性情報Ｄ４には複数の種類の属性が格納されてもよい。その場合は、いずれかの属性が一致することにより属性の一致を判断してもよいし、全ての種類の属性の一致により属性の一致を判断してもよい。たとえば、属性情報Ｄ４の属性が“仕向け地＝Ｘ国，ブーム長さ：５．５ｍ以上”である場合に、ＲＯＭ３ｂに格納される属性が“仕向け地＝Ｚ国、ブーム長さ：７ｍ”であれば、ブーム長さの属性の条件を満たすことにより属性が一致すると判断してもよいし、仕向け地の属性が異なるので属性が一致しないと判断してもよい。
【００７１】
上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。
上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【符号の説明】
【００７２】
１  …  油圧ショベル（建設機械）
３  …  制御コントローラ（車載コントローラ）
３ｅ  …  不揮発メモリ（記憶部）
４  …  情報コントローラ（プログラム書換え装置）
４ｄ  …  インタフェース（通信部）
３３、４３  …  状態管理部
４６  …  メンテナンス処理部（書換え制御部）
Ｃ２  …  準備モード
Ｃ３  …  保守モード
Ｃ５  …  作業モード
１００  …  プログラム書換えシステム
【図１】
0006417348.tif 000002
【図２】
0006417348.tif 000003
【図３】
0006417348.tif 000004
【図４】
0006417348.tif 000005
【図５】
0006417348.tif 000006
【図６】
0006417348.tif 000007
【図７】
0006417348.tif 000008
【図８】
0006417348.tif 000009
【図９】
0006417348.tif 000010
【図１０】
0006417348.tif 000011
【図１１】
0006417348.tif 000012
【図１２】
0006417348.tif 000013
【図１３】
0006417348.tif 000014