(57)【要約】【課題】建設機械用制御装置間の通信データや通信プロトコルが変更されても、プログラムの修正箇所を最小限にすることができる、建設機械用制御装置を提供することにある。【解決手段】通信データ処理部６３の通信データ生成部１７は、送信対象データが多重通信線の規格で定められるパケットの上限サイズを超える場合に、送信対象データを複数のパケットに分割して送信する手順を定めた通信プロトコルに従い、送信対象データの一部に送信対象データ識別子を付与しパケットデータを作成する。通信プロトコル処理部６２の通信セッション処理部８１は、通信相手と通信プロトコルで定められる、通信セッション制御パケットデータを交換し、送信可能な時点でパケットデータの作成を、通信データ生成部７１に依頼する。【選択図】図２
2012052380.tif 000002
【特許請求の範囲】
【請求項１】
原動機と、作業装置と、前記原動機により液圧動力を発生し前記作業装置を駆動する複数の油圧機器を含む油圧回路を備える建設機械の制御に用いられ、
前記原動機、作業装置、油圧機器のいずれかに係わる複数の建設機械用制御装置であって、
これら複数の建設機械用制御装置を共通の多重通信線を介して互いに接続しデータの送受信を行う建設機械の電子制御システムに用いられ、
前記建設機械用制御装置は、
建設機械に搭載された制御対象を制御するための演算処理を実行するとともに、前記演算処理により算出した制御用データと、前記建設機械の動作状態又は周囲環境に係わる状態量から生成された稼動記録のデータを共有メモリに格納するアプリケーション部と、
前記共有メモリに格納されたデータのうちで、前記多重通信線を介して接続されている他の建設機械用制御装置である通信相手へ送信すべき送信対象データを前記通信相手へ送信する通信データ処理部と、
前記多重通信線の通信規格で定められている手順で送受信を行なう通信プロトコル処理部とを備え、
前記通信データ処理部は、前記送信対象データが前記多重通信線の規格で定められるパケットの上限サイズを超える場合に、前記送信対象データを複数のパケットに分割して送信する手順を定めた通信プロトコルに従い、前記送信対象データの一部に送信対象データ識別子を付与しパケットデータを作成する通信データ生成部を備え、
前記通信プロトコル処理部は、前記通信相手と前記通信プロトコルで定められる、通信セッション制御パケットデータを交換し、送信可能な時点で前記パケットデータの作成を、前記通信データ生成部に依頼する通信セッション処理部を備えている
ことを特徴とする建設機械用制御装置。
【請求項２】
請求項１に記載の建設機械用制御装置において、
前記建設機械用制御装置は、前記送信対象データを前記通信相手へ送信を開始してから終了するまでの期間に、必要な場合に前記送信対象データと同内容のコピーを保持する通信データバッファ部を備え、
前記通信データ処理部は、
前記送信対象データのうち、どのデータのコピーを前記通信データバッファ部に格納する必要があるかを示す通信データ定義情報と、
前記送信対象データを前記通信相手へ送信開始する時点で、前記定義情報を参照し、該送信対象データのコピーを生成し、前記送信対象データ通信データバッファ部へ格納するバッファ処理部と、
前記通信データ生成部がパケットデータを作成する時点で、前記定義情報を参照し、前記送信対象データ、もしくは前記通信データバッファ部に格納された該送信対象データのコピーを、前記通信データ生成部に渡す送信対象データアクセス処理部とを備える
ことを特徴とする建設機械用制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコンピュータを備えた建設機械用制御装置に係り、特に、そのマイクロコンピュータが、他の建設機械用制御装置に備えられた他のマイクロコンピュータとデータ通信を行うことにより、その通信対象のマイクロコンピュータと、制御用データと当該建設機械の稼動記録を共有する場合に好適な建設機械用制御装置に関する。
【背景技術】
【０００２】
建設機械、特に，大型の油圧ショベル等の建設機械は、例えば，広大な作業現場での土石掘削作業に供されている。この大型の油圧ショベルは、その生産性向上のために、一般的に連続稼動される場合が多い。このため、異常が発生すると、油圧ショベルの運転を停止し、その修理を行わなければならないが、その異常の度合いによっては、長期間運転を休止しなければならない事態が生じることがある。一方で、上述したように、大型の油圧ショベルは連続運転を要求されており、その故障による休止期間を極力低減しなければならない。
【０００３】
そこで、例えばエンジンの出力低下等の、エンジン系異常の兆候から、異常を事前に察知し、建設機械の休止期間を抑えることができる建設機械の診断情報提供装置及び建設機械の診断情報表示システムが提唱されている（例えば、特許文献１参照）。特許文献１では、建設機械の動作状態又は周囲環境に係わる状態量が所定の基準値範囲とを比較し、基準範囲外である場合に不具合があると判定することができ、異常を事前に察知することができる。
【０００４】
従来より、建設機械に搭載されたエンジンや油圧装置等の制御対象を制御する建設機械用制御装置は、ＲＯＭに記憶されたプログラムを実行して、建設機械の動作状態又は周囲環境に係わる状態量を検出し、制御対象を制御するための演算処理を行う。
【０００５】
そして、近年における制御内容の複雑化に伴い、この種の建設機械用制御装置では、他の建設機械用制御装置とデータ通信を行って、その通信対象と制御対象の制御に用いる制御用データを共有することにより、制御性を向上させている。
【０００６】
更に、前記制御用データの他に、建設機械の動作状態又は周囲環境に係わる状態量についても、データ通信を行って他の建設機械用制御装置と共有し、上述したような、建設機械の異常を未然に察知する処理を行う。
【０００７】
ここで、こうした建設機械用制御装置（以下、「ＥＣＵ」と称する）の通信形態上のシステム構成例について説明すると、まず２つのＥＣＵが、建設機械内に配設されたシリアル通信線を介し１対１でデータ通信を行う、建設機械制御装置間シリアル通信のシステム構成がある。
【０００８】
更に、３つ以上のＥＣＵが、建設機械内に配設された多重通信線を介し１対多或いは多対１でデータ通信を行う、ＥＣＵ間多重通信のシステム構成がある。
そして、上記各システム構成を併せ持ったシステム構成もある。例えば、ＥＣＵがシリアル通信線を介して他のＥＣＵとデータ通信を行うと共に、前記通信対象とは別のＥＣＵと多重通信線を介してデータ通信を行うシステム構成や、多重通信線が複数配設され、２本の多重通信線に接続されたＥＣＵを介して、異なる多重通信線に接続されたＥＣＵ間でデータ通信を行う、といったシステム構成である。
【０００９】
建設機械では、その製品特性上、建設機械用制御装置の数や通信線への接続形態など、様々なシステム構成が採られる。また、通信形態上のシステム構成が同じであっても、通信プロトコルには様々なものがある。また更に、システム構成や通信プロトコルが同じであっても、どのＥＣＵが、どの制御用データや稼動記録を、どのＥＣＵに送信するか、というＥＣＵ間で送受信される通信データ列が変更される場合もある。
【００１０】
ところが、従来の建設機械用制御装置により実行されるプログラムは、制御対象を制御するための演算処理を行う部分と、通信対象との間で通信データの送受信を処理する部分とが、明確に区別されておらず不可分に作成されていた。
【００１１】
このため、従来の建設機械用制御装置では、建設機械制御装置間で送受信される制御用データや稼動記録と、または通信プロトコルが変更されると、プログラムの修正範囲が、プログラム全体に及ぶという問題があった。また、あるシステム構成の建設機械用に開発したプログラムを、他のシステム構成の建設機械に再利用することも困難であった。
【００１２】
こうした問題に対し、システム構成や通信プロトコルおよび通信データに変更がなされた場合でも、プログラムの修正箇所を最小限にすることのできる自動車用制御装置が提唱されている（例えば、特許文献２参照）。
【００１３】
この従来技術では、自動車用制御装置で実行されるプログラムを、制御対象を制御するための演算処理を行うアプリケーションプログラムと、制御用データを通信プロトコルに対応した通信データ列に変換するデータ変換用プログラムと、通信プロトコルに従い、通信対象に送信する通信ドライバ用プログラムとの、夫々独立したプログラムモジュールで構成している。プログラムの各部分を独立したプログラムモジュールとすることにより、通信データや通信プロトコルに変更がある場合に、プログラムの修正箇所を最小限にすることができる。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特許第４０７４６１５号
【特許文献２】特許第３６９２８２０号
【発明の概要】
【発明が解決しようとする課題】
【００１５】
ここで、通信対象とやり取りする制御用データや稼動記録のサイズが、使用する通信プロトコルで定められているパケットサイズより大きくなる場合、その通信プロトコルで定められる手順に従い、複数のパケットに分割されて通信される場合がある。このような場合では、通信対象へ、最初のパケットを送信してから最後のパケットを送信するまでの期間に、制御対象を制御するための演算処理を行うアプリケーションプログラムにより、送信中の制御用データもしくは稼動記録が更新されると、分割されたパケット間の整合性が取れなくなる。また、複数のパケットに分割される通信データを受信する場合、パケットを受信した時点で通信データに対応する制御用データや稼動記録を更新すると、アプリケーションプログラムがその制御用データや稼動記録を参照した時点で、データ内の一部範囲の更新タイミングの整合性が取れなくなる。
【００１６】
このようなパケット間の不整合を回避するため、通信プロトコルで定められているパケットサイズより大きな制御用データや稼動記録を送受信する場合、アプリケーションプログラムが参照する制御用データもしくは稼動記録の他に、同サイズのバッファ領域を用意し、アプリケーションプログラムが参照するデータのコピーをそのバッファに格納し、送受信の処理はバッファに格納したコピーに対して行う。そして必要に応じて、バッファに格納されたコピーと、アプリケーションプログラムが参照するデータを入れ替えることにより、通信途中にデータの一部が更新されるような不整合が起きないようにする、といった手法を採ることが一般的である。
【００１７】
ここで、自動車用制御装置と比較すると、建設機械用制御装置では制御データの他に稼動記録など、よく利用される通信プロトコルで定められたパケットサイズより大きいデータを通信する場合がある。そのため、パケットサイズより大きいデータに対しては、上述したようなバッファを用意し、コピーを格納することが不可欠となる。
【００１８】
しかし、建設機械用制御装置で扱う、全てのパケットサイズより大きいデータに対して、そのデータのコピーを格納するバッファを用意するには、建設機械用制御装置に備えられているマイクロコンピュータが、全てのパケットサイズより大きいデータの合計サイズ分のＲＡＭを余分に持たなければならない。また更に、送信時には、アプリケーションプログラムが算出した制御用データもしくは稼動記録をバッファーにコピーする。そして、受信時には、バッファーに格納した他の建設機械用制御装置より受信した制御用データもしくは稼動記録を、アプリケーションプログラムが参照する制御用データもしくは稼動記録にコピーする、といった処理が必要となる。
【００１９】
この課題に対し、従来の建設機械用制御装置のプログラムでは、建設機械用制御装置間でやり取りされる通信データの内、通信プロトコルで定められたパケットサイズより大きいデータに対して、バッファを用意しコピーを格納する必要があるかどうかを、建設機械用制御装置ごとに検討を行う。そして、バッファを用意しコピーを格納する必要があるデータに対してのみ、バッファを用意しコピーを格納する処理を追加することによって、プログラム実行時に必要とするＲＡＭのサイズと、データをコピーしバッファへ格納する処理と、バッファからデータへコピーする処理を必要最小限にしてきた。
【００２０】
ところが、ある通信データがバッファへのコピーが必要かどうか、と言うことは、建設機械のシステム構成や、建設機械間でやり取りされる通信データによって変更されるが、従来の手法では、建設機械用制御装置のプログラムの、データのコピーを作成しバッファへ格納する処理の部分と、通信処理の部分が、明確に区別されておらず不可分に作成されていた。このため、従来技術の手法を採っている場合においても、建設機械制御装置間で送受信される制御用データもしくは稼動記録が変更されると、建設機械用制御装置のプログラムの通信処理部分にも修正が及ぶ問題があった。
【００２１】
本発明の目的は、建設機械用制御装置間の通信データや通信プロトコルが変更されても、プログラムの修正箇所を最小限にすることができる、建設機械用制御装置を提供することにある。
【課題を解決するための手段】
【００２２】
（１）上記目的を達成するために、本発明は、原動機と、作業装置と、前記原動機により液圧動力を発生し前記作業装置を駆動する複数の油圧機器を含む油圧回路を備える建設機械の制御に用いられ、前記原動機、作業装置、油圧機器のいずれかに係わる複数の建設機械用制御装置であって、これら複数の建設機械用制御装置を共通の多重通信線を介して互いに接続しデータの送受信を行う建設機械の電子制御システムに用いられ、前記建設機械用制御装置は、建設機械に搭載された制御対象を制御するための演算処理を実行するとともに、前記演算処理により算出した制御用データと、前記建設機械の動作状態又は周囲環境に係わる状態量から生成された稼動記録のデータを共有メモリに格納するアプリケーション部と、前記共有メモリに格納されたデータのうちで、前記多重通信線を介して接続されている他の建設機械用制御装置である通信相手へ送信すべき送信対象データを前記通信相手へ送信する通信データ処理部と、前記多重通信線の通信規格で定められている手順で送受信を行なう通信プロトコル処理部とを備え、前記通信データ処理部は、前記送信対象データが前記多重通信線の規格で定められるパケットの上限サイズを超える場合に、前記送信対象データを複数のパケットに分割して送信する手順を定めた通信プロトコルに従い、前記送信対象データの一部に送信対象データ識別子を付与しパケットデータを作成する通信データ生成部を備え、前記通信プロトコル処理部は、前記通信相手と前記通信プロトコルで定められる、通信セッション制御パケットデータを交換し、送信可能な時点で前記パケットデータの作成を、前記通信データ生成部に依頼する通信セッション処理部を備えるようにしたものである。  
かかる構成により、建設機械用制御装置間の通信データや通信プロトコルが変更されても、プログラムの修正箇所を最小限にすることができるものとなる。
【００２３】
（２）上記（１）において、好ましくは、前記建設機械用制御装置は、前記送信対象データを前記通信相手へ送信を開始してから終了するまでの期間に、必要な場合に前記送信対象データと同内容のコピーを保持する通信データバッファ部を備え、前記通信データ処理部は、前記送信対象データのうち、どのデータのコピーを前記通信データバッファ部に格納する必要があるかを示す通信データ定義情報と、前記送信対象データを前記通信相手へ送信開始する時点で、前記定義情報を参照し、該送信対象データのコピーを生成し、前記送信対象データ通信データバッファ部へ格納するバッファ処理部と、前記通信データ生成部がパケットデータを作成する時点で、前記定義情報を参照し、前記送信対象データ、もしくは前記通信データバッファ部に格納された該送信対象データのコピーを、前記通信データ生成部に渡す送信対象データアクセス処理部とを備えるようにしたものである。
【発明の効果】
【００２４】
本発明によれば、建設機械用制御装置間の通信データや通信プロトコルが変更されても、プログラムの修正箇所を最小限にすることができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の一実施形態による建設機械の制御装置を適用する油圧ショベルに搭載された油圧システムの一例の概略構成図である。
【図２】本発明の一実施形態による建設機械の制御装置を用いた、建設機械制御システムの構成を示すブロック図である。
【図３】本発明の一実施形態による建設機械の制御装置である、車体制御ユニットの構成を示すブロック図である。
【図４】本発明の一実施形態による建設機械の制御装置である、車体制御ユニットに用いる通信データ処理部の構成を示すブロック図である。
【図５】本発明の一実施形態による建設機械の制御装置である、車体制御ユニットの通信データ処理部で用いる周期送信設定情報の説明図である。
【図６】本発明の一実施形態による建設機械の制御装置である、車体制御ユニットの通信データ処理部で用いる通信データ定義情報の説明図である。
【図７】本発明の一実施形態による建設機械の制御装置である、車体制御ユニットに用いる通信プロトコル処理部の構成を示すブロック図である。
【図８】本発明の一実施形態による建設機械の制御装置である、車体制御ユニットの通信プロトコル処理部で用いる通信中セッション情報の説明図である。
【図９】本発明の一実施形態による建設機械の制御装置である、車体制御ユニット内の通信モデルを仮想的に示した概念図である。
【発明を実施するための形態】
【００２６】
以下、図１〜図９を用いて、本発明の一実施形態による建設機械の制御装置の構成及び動作について説明する。  
最初に、図１を用いて、本実施形態による建設機械の制御装置を適用する油圧ショベルに搭載された油圧システムの一例の概略構成について説明する。  
図１は、本発明の一実施形態による建設機械の制御装置を適用する油圧ショベルに搭載された油圧システムの一例の概略構成図である。
【００２７】
なお、本実施の形態の油圧ショベルは、２エンジン搭載型の超大型油圧ショベルであるが、煩雑防止及び理解を容易にするため、ここでは、エンジンを１基として簡略化して図示している。
【００２８】
符号２１ａ，２１ｂは油圧ポンプ、２２ａ，２２ｂはブーム用コントロールバルブ、２３はアーム用コントロールバルブ、２４はバケット用コントロールバルブ、２５は旋回用コントロールバルブ、２６ａ，２６ｂは走行用コントロールバルブ、２７はブームシリンダ、２８はアームシリンダ、２９はバケットシリンダ、３０は旋回モータ、３１ａ，３１ｂは走行モータであり、これらは油圧ショベル１に搭載された油圧システム２０に備えられている。
【００２９】
油圧ポンプ２１ａ，２１ｂはいわゆる電子ガバナタイプの燃料噴射装置（図示せず）を備えたエンジン（原動機）３２（実際には油圧ショベル１には一対の左・右側エンジン３２Ｌ，３２Ｒが搭載されているが、ここでは１基のエンジン３２として図示。以下、適宜エンジン３２Ｌ，３２Ｒと記載する。）によりそれぞれ回転駆動されて圧油を吐出し、コントロールバルブ２２ａ，２２ｂ〜２６ａ，２６ｂは油圧ポンプ２１ａ，２１ｂから油圧アクチュエータ２７〜３１ａ，３１ｂに供給される圧油の流れ（流量及び流れ方向）を制御する。油圧アクチュエータ（油圧機器）２７〜３１ａ，３１ｂは、ブーム１６、アーム１７、バケット（作業装置）１８、旋回体１３、走行体１２の駆動を行う。これら油圧ポンプ２１ａ，２１ｂ、コントロールバルブ２２ａ，２２ｂ〜２６ａ，２６ｂ及びエンジン３２は旋回体１３の後部の収納室（エンジン室）に設置されている。
【００３０】
符号３３，３４，３５，３６は、コントロールバルブ２２ａ，２２ｂ〜２６ａ，２６ｂに対して設けられた操作レバー装置である。なお、これら操作レバー装置３３，３４，３５，３６は、煩雑防止のため図示省略するが、それぞれ電気レバーと比例電磁弁とから構成されており、各電気レバーの電気信号がコントローラネットワーク２（詳細には図２にて後述する電気レバー制御ユニット５３）に入力され、コントローラネットワーク２からそれら電気レバーの操作量に応じた電気信号が各比例電磁弁に出力され、これによりパイロット元圧がそれら各電磁弁によって電気レバーの操作量に応じて減圧されて、生成されたパイロット圧がそれぞれの操作レバー装置３３，３４，３５，３６から出力されるようになっている。すなわち、例えば操作レバー装置３３の操作レバーを十字の一方向Ｘ１に操作するとアームクラウドのパイロット圧又はアームダンプのパイロット圧が生成されてアーム用コントロールバルブ２３に印加され、操作レバー装置３３の操作レバーを十字の他方向Ｘ２に操作すると右旋回のパイロット圧又は左旋回のパイロット圧が生成され、旋回用コントロールバルブ２５に印加されるようになっている。
【００３１】
一方、操作レバー装置３４の操作レバーを十字の一方向Ｘ３に操作するとブーム上げのパイロット圧又はブーム下げのパイロット圧が生成されてブーム用コントロールバルブ２２ａ，２２ｂに印加され、操作レバー装置３４の操作レバーを十字の他方向Ｘ４に操作するとバケットクラウドのパイロット圧又はバケットダンプのパイロット圧が生成され、バケット用コントロールバルブ２４に印加される。また、操作レバー装置３５，３６の操作レバーを操作すると、左走行のパイロット圧及び右走行のパイロット圧が生成され、走行用コントロールバルブ２６ａ，２６ｂに印加される。なお、操作レバー装置３３〜３６はコントローラネットワークシステム２とともに運転室１４内に配置されている。
【００３２】
符号４０〜４９は、以上のような構成の油圧システム２０に設けられた各種のセンサである。センサ４０は、フロント作業機１５の操作信号としてこの例ではアームクラウドのパイロット圧を検出する圧力センサである。センサ４１は、旋回操作信号としてシャトル弁４１ａを介し取り出された旋回パイロット圧を検出する圧力センサである。センサ４２は、走行操作信号としてシャトル弁４２ａ，４２ｂ，４２ｃを介して取り出された走行のパイロット圧を検出する圧力センサである。
【００３３】
センサ４３は、エンジン３２のキースイッチのＯＮ・ＯＦＦを検出するセンサである。センサ４４は、シャトル弁４４ａを介して取り出された油圧ポンプ２１ａ，２１ｂの吐出圧力、即ちポンプ圧を検出する圧力センサである。センサ４５は、油圧システム２０の作動油の温度（油温）を検出する油温センサである。センサ４６は、エンジン３２の回転数を検出する回転数センサである。センサ４７ａは、エンジン３２の燃料噴射装置（図示せず）によって噴射される噴射量（いいかえれば燃料消費量）を検出する燃料センサである。センサ４７ｂは、エンジン３２のシリンダのブローバイ圧をそれぞれ検出する圧力センサである。センサ４７ｃは、エンジン３２を冷却する冷却水（ラジエータ水）の温度を検出する温度センサである（なお、実際には上記のセンサ４６，４７ａ，４７ｂ，４７ｃは左・右側エンジン３２Ｌ，３２Ｒのそれぞれに設けられているが、ここではそれぞれ一基のセンサとして図示している。以下、適宜、センサ４６，４７ａ，４７ｂ，４７ｃをそれぞれセンサ４６Ｌ，４６Ｒ、４７ａＬ，４７ａＲ、４７ｂＬ，４７ｂＲ、４７ｃＬ，４７ｃＲと記載する）。
【００３４】
センサ４８は、フロント作業機１５による掘削圧力としてこの例ではバケットシリンダ２９（若しくはアームシリンダ２８でもよい）のボトム側の圧力を検出する圧力センサである。センサ４９ａは、走行圧力すなわち走行モータ３１ａ，３１ｂの圧力（例えば図示しないシャトル弁を介し２つのうちの最高圧を求めてもよい）を検出する圧力センサである。センサ４９ｂは旋回圧力すなわち旋回モータ３０の圧力を検出する圧力センサである。これらセンサ４０〜４９の検出信号は、いずれもコントローラネットワーク２に送られ収集される。
【００３５】
次に、図２を用いて、本実施形態による建設機械の制御装置を用いた、建設機械制御システム（コントローラネットワーク）２の構成について説明する。  
図２は、本発明の一実施形態による建設機械の制御装置を用いた、建設機械制御システムの構成を示すブロック図である。なお、図１と同一符号は、同一部分を示している。
【００３６】
尚、本実施形態の建設機械制御システム２は、建設機械に搭載されたエンジン、車体を制御し、排気温度を監視し、建設機械の動作状態又は周囲環境に係わる状態量を稼動記録として蓄積し、前記状態量をオペレータに表示するディスプレイ５４を備えるものである。
【００３７】
図２に示すように、本実施形態の建設機械制御システム２は、主にエンジンを制御する電子制御装置（以下、エンジン制御ユニットという）５０Ｌ、５０Ｒと、エンジン制御ユニットを監視する電子制御装置（以下、エンジンモニタユニットという）５１Ｌ、５１Ｒと、車体の動作の制御を行う電子制御装置（以下、車体制御ユニットという）６０と、運転席に備えられたディスプレイ５４に建設機械の運転状態や警告を表示する電子制御装置（以下、表示制御ユニットという）５５と、運転席に備えられた操作レバーの操作量を検出する電気レバー制御ユニット５３と、稼動情報を蓄積し後から参照できるようにする電子制御装置（以下、データ記録ユニットという）５６と、衛星通信端末５７とを備えている。
【００３８】
そして、エンジンモニタユニット５１Ｌ、５１Ｒとデータ記録ユニット５６は、多重通信線２Ａを介して、互いに通信可能に接続されている。また、データ記録ユニット５６は、多重通信線２Ａとは別の多重通信線２Ｂを介して、表示制御ユニット５６と、車体制御ユニット６０と、電気レバー制御ユニット５３と通信可能に接続されている。
【００３９】
ここで、エンジン制御ユニット５０Ｌ、５０Ｒは、エンジン回転数を検出するための回転角センサ、エンジンの冷却水温を検出するための水温センサ、及び燃料温度を検出するための燃料温度センサ等の、各種センサからの検出信号に基づいて、建設機械の運転状態を検出する。そして、その検出結果に基づいて、エンジンを最適状態に制御する。
【００４０】
一方、エンジンモニタユニット５１Ｌ、５１Ｒは、エンジン制御ユニットの検出結果のデータをデータ記録ユニット５６に送信する。
【００４１】
衛星通信端末５７は、データ記録ユニット５６に記録された制御用データと当該建設機械の稼動記録を、他の建設機械用制御装置に備えられた他のマイクロコンピュータにデータ通信により送信する。これにより、制御用データと当該建設機械の稼動記録を、他の建設機械用制御装置共有する。
【００４２】
一方、車体制御ユニット６０は、電気レバー制御ユニット５３が検出した操作レバーの操作量に応じて、各油圧アクチュエータの操作量を算出し、必要な油圧を出力するように、エンジン回転数指令値をエンジンモニタユニット５１Ｌ、５１Ｒに送信する。車体制御ユニット６０の詳細構成については、図３を用いて後述する。
【００４３】
そして、表示制御ユニット５５は、建設機械の動作状態を表示すると共に、各種センサが異常値を検出した場合に、警告を表示する。
【００４４】
一方また、データ記録ユニット５６は、エンジンモニタユニット５１Ｌ、５１Ｒや車体制御ユニット６０が送信する稼動記録を受信し、データ記録ユニット５６が有する記憶装置に蓄積する。
【００４５】
次に、図３を用いて、本実施形態による建設機械の制御装置である、車体制御ユニット６０の構成について説明する。  
図３は、本発明の一実施形態による建設機械の制御装置である、車体制御ユニットの構成を示すブロック図である。なお、図２と同一符号は、同一部分を示している。
【００４６】
なお、ここでは、建設機械の制御装置の一例として、車体制御ユニット６０の詳細構成について説明するが、他の制御装置であるエンジン制御ユニット５０Ｌ、５０Ｒと、エンジンモニタユニット５１Ｌ、５１Ｒと、車体制御ユニット６０と、表示制御ユニット５５と、電気レバー制御ユニット５３との構成も基本的に同様である。但し、後述するアプリケーション部６ｘに備えられる演算処理の内容は、個々の制御装置に対応した演算処理内容となっている。
【００４７】
図３に示すように、本実施形態の車体制御ユニット６０の構成は、制御対象を制御するための演算処理を行うアプリケーション部６ｘと、アプリケーション部６ｘが算出したデータを格納する共有メモリ６５と、他の制御ユニット５５、５６とデータの送受信を行う通信部６１と、アプリケーション部６ｘによって算出される制御用データもしくは稼動記録から、通信部６１が送信すべき通信データ列を生成する通信データ処理部６３と、通信データ処理部６３が生成した通信データ列を、このコントローラが接続されている多重通信線２Ｂの通信規格で定められている手順で送受信を行なう通信プロトコル処理部６２と、通信プロトコル処理部６２において通信中の通信データを一時的に格納する通信データバッファ６４と、送信処理の開始処理を行なう通信トリガー発生部６６からなる。
【００４８】
ここで、アプリケーション部６ｘは、車体制御ユニット６０の制御対象及び制御内容ごとに細分化された各オブジェクトからなる。一例としては、車体制御部６７，油圧制御部６８，レバー制御部６９等のオブジェクトからなる。そして、本実施形態において、アプリケーション部６ｘは、油圧ポンプ圧力等の制御用データ（制御パラメータ）を算出して、共有メモリ６５に格納する。また、制御用データの算出処理の中で各種センサを介して検出した検出信号の値を基準値と比較し、検出信号の値が基準範囲から外れていた場合に、どの検出信号がどの程度基準値から外れているかを調べる。そして基準値から外れている全ての検出信号について、保守データとして共有メモリ６５に格納する。また、エンジンの型式，エンジン番号，使用しているソフト（オブジェクト）のバージョン番号などの部品識別子を、共有メモリ６５に格納する。
【００４９】
通信トリガー発生部６６は、一定の周期で通信データ処理部６３に、周期通信処理の開始を指令する。通信開始の指令を受けた、通信データ処理部６３は、共有メモリ６５に格納されているデータから送信すべきデータを抽出する。ここで、抽出したデータが、通信プロトコル処理部６２で定められた通信パケットサイズ以内の場合は、抽出したデータから通信プロトコルに対応した通信データを生成し、通信プロトコル処理部６２に渡す。通信データ処理部６３の詳細構成については、図４を用いて後述する。通信プロトコル処理部６２は、通信部６１を介して、通信データ処理部６３から渡された通信データを送信する。通信プロトコル処理部６２の詳細構成については、図７を用いて後述する。
【００５０】
一方、通信データ処理部６３が、共有メモリ６５から抽出したデータが、通信プロトコル処理部６２が使用する通信プロトコルで定められた通信パケットサイズより大きい場合で、かつ通信中に制御データが変更され通信パケットの整合性が取れなくなってしまう場合は、通信データバッファ６４に、送信すべきデータをコピーを格納する。そして通信データ処理部６３は、通信データバッファ６４に格納したコピーから通信データを生成し、通信プロトコル処理部６２に渡す。通信プロトコル処理部６２は、上の例と同様に通信部６１を介して、通信データ処理部６３から渡された通信データを送信する。
【００５１】
以上のように、プログラムは、アプリケーション部６ｘの前記演算処理を行うためのアプリケーションプログラムと、通信データ処理部６３のデータ変換用プログラムと、通信プロトコル処理部６２の通信ドライバ用プログラムとの、夫々独立したプログラムモジュールからなっている。そして、通信データ処理部６３のデータ変換用プログラムにより、アプリケーションプログラムによって算出される制御用データと稼動記録のうちから、通信対象へ送信すべき制御用データを抽出すると共に、その抽出した制御用データを、通信対象との間で定められた特定の通信プロトコルに対応した通信データ列に変換する処理が行われる。
【００５２】
また、通信プロトコル処理部６２の通信ドライバ用プログラムにより、データ変換用プログラムによって変換された通信データ列を、前記特定の通信プロトコルに従い通信対象へ送信する処理が行われる。
【００５３】
このように、制御対象に応じた制御用演算処理を行うアプリケーションプログラムとは別の、データ変換用プログラムと通信ドライバ用プログラムといった、独立したプログラムモジュールによって、通信対象へ送信すべき制御用データと稼動記録を、通信プロトコルに従い通信対象へ送信する処理を行うようにしているため、通信対象へ送信すべき制御用データの種類やデータ長、或いは通信プロトコルが変わったとしても、アプリケーションプログラムを修正する必要が無いものである。
【００５４】
次に、図４〜図６及び図９を用いて、本実施形態による建設機械の制御装置である、車体制御ユニット６０に用いる通信データ処理部６３の構成及び動作について説明する。  
図４は、本発明の一実施形態による建設機械の制御装置である、車体制御ユニットに用いる通信データ処理部の構成を示すブロック図である。なお、図２及び図３と同一符号は、同一部分を示している。
【００５５】
図５は、本発明の一実施形態による建設機械の制御装置である、車体制御ユニットの通信データ処理部で用いる周期送信設定情報の説明図である。図６は、本発明の一実施形態による建設機械の制御装置である、車体制御ユニットの通信データ処理部で用いる通信データ定義情報の説明図である。図９は、本発明の一実施形態による建設機械の制御装置である、車体制御ユニット内の通信モデルを仮想的に示した概念図である。
【００５６】
図４に示すように、通信データ処理部６３は、更に通信データ生成部７１と、バッファ処理部７３と、通信データアクセス処理部７２と、通信データ定義情報７５と、周期送信処理部７０と、周期送信設定情報７４からなる。
【００５７】
周期送信処理部７０は、周期送信設定情報７４を参照し、現在の処理タイミングで送信すべきデータがあるかどうかを調べる。周期送信設定情報７４には、送信周期ごとに送信するデータの情報が、通信データ定義情報７５の何処に格納されているかを示すインデックス番号が記録されている。
【００５８】
図５に示すように、周期送信設定情報７４には、送信周期，通信データ定義情報インデックス番号の各項目が設けられている。例えば、インデックス番号が１，２，３の通信データは、送信周期が１０ｍｓｅｃであることを示している。
【００５９】
図４の周期送信処理部７０は、周期送信設定情報７４からインデックス番号を抽出し、通信データ生成部７１にインデックス番号を渡す。通信データ生成部７１は、渡されたインデックス番号を、さらに通信データアクセス処理部７２に渡す。
【００６０】
通信データアクセス処理部７２は、インデックス番号に基づき通信データ定義情報７５を参照し、通信対象のデータが通信データバッファ６４にコピーを格納すべきデータかどうかを調べる。通信データ定義情報７５には、建設機械用制御装置が送信する夫々のデータが、送信処理の間にバッファにコピーを格納する必要があるかどうかの情報と、通信データバッファ６４のどこにコピーを格納するかが記憶してある。
【００６１】
図６に示すように、通信データ定義情報７５には、インデックス番号，送信対象データ識別子，データ長，送信周期，データコピー，共有メモリ部変数，送信対象データバッファ部変数の各項目が設けられている。インデックス番号は、周期送信設定情報７４の通信データ定義情報インデックス番号に対応する。送信対象データ識別子は、送信対象のデータを示す識別子である。データ長は、送信対象のデータの長さ（バイト；Ｂ）を示している。送信周期は、送信対象のデータを送信する周期を示している。データコピーは、データコピーの要否を示している。共有メモリ部変数は、共有メモリ６５で用いられる変数である。送信対象データバッファ部変数は、送信対象のデータをバッファに格納する場合の変数である。
【００６２】
例えば、図６の例において、インデックス番号「１」のデータは、エンジン回転数（EngN）に関するデータであり、そのデータ長は８バイト（Ｂ）である。１回の通信で送信できるデータ長は８Ｂであるため、インデックス番号「１」のデータは、１回で送信可能であり、バッファは使用しないため、データコピーは「不要」となっている。インデックス番号「９」のデータは、エンジンの設定情報（Eng_Config）に関するデータであり、そのデータ長は２０バイト（Ｂ）であるため、バッファを使用し、データコピーは「要」となっている。エンジンの設定情報（Eng_Config）のデータは、バッファ部に「Eng_Config_Buf」という変数名で格納される。
【００６３】
インデックス番号「１５」のデータは、ソフトＩＤであり、インデックス番号「１７」のデータは、エンジン形式であり、部品識別子である。これらの部品識別子のデータ長は８バイト（Ｂ）よりも大きいが、これらのデータは頻繁に変更されるデータではないため、バッファは用いずに送信する。
【００６４】
図４の通信データアクセス処理部７２は、通信対象のデータがコピーを通信データバッファ６４に格納すべきデータである場合に、バッファ処理部７３に指示を出し、共有メモリ６５に格納されているデータのコピーを作成し、通信データバッファ６４に格納させる。そして、通信データアクセス処理部７２は、通信対象のデータの識別子とデータ長と、そしてデータ長が通信プロトコル処理部６２で定められる通信パケットサイズ以内の場合は通信データ列を、通信データ生成部７１に渡す。図９に示した通信データ生成部７１に示した通信パケットの中で、左側のブロックが通信対象のデータの識別子とデータ長とからなるヘッダ情報であり、その右側に通信データ列が付加される。
【００６５】
通信データ生成部７１は、通信データ長が通信パケットサイズ以内の場合は、通信データアクセス処理部７２から渡された、通信対象データ識別子と通信データ列から、通信パケットを生成し、通信プロトコル処理部６２に渡す。また通信パケットサイズより大きい場合は、通信対象データ識別子と通信データ長のみを通信プロトコル処理部６２に渡す。
【００６６】
上述したように、通信データ生成部７１により、アプリケーションプログラムによって算出される制御用データもしくは稼動記録のうちから、通信対象へ送信すべき制御用データもしくは稼動記録を抽出する。この制御用データもしくは稼動記録が、通信プロトコルで定められたパケットサイズより大きい場合、バッファ処理部７３は、定義情報７５を参照し、バッファ６４にコピーを格納すべきデータの場合であれば、コピーを作成しバッファ６４に格納する。定義情報７５には、建設機械用制御装置が送信する夫々のデータが、送信処理の間にバッファにコピーを格納する必要があるかどうかの情報と、通信データバッファ部６４のどこにコピーを格納するかが記憶してある。
【００６７】
そして、通信データ生成部７１は、通信データアクセス処理部７２を介して、送信すべき制御用データもしくは稼動記録を読み出す。通信データアクセス処理部は、定義情報を参照し、送信すべきデータが、アプリケーションプログラムにより算出された元のデータなのか、バッファに格納されたコピーなのかを判定する。
【００６８】
よって、システム構成の変更に伴い、通信対象へ送信すべき制御用データの種類やデータ長、そのデータのコピーをバッファに格納する必要があるかどうかが、変更されても、定義情報のみを修正すれば良く、バッファ処理部と通信データアクセス処理部、通信データ生成部、さらにアプリケーションプログラムと通信ドライバ用プログラムを修正する必要が無いものである。
【００６９】
次に、図７〜図９を用いて、本実施形態による建設機械の制御装置である、車体制御ユニット６０に用いる通信プロトコル処理部６２の構成及び動作について説明する。  
図７は、本発明の一実施形態による建設機械の制御装置である、車体制御ユニットに用いる通信プロトコル処理部の構成を示すブロック図である。なお、図２及び図３と同一符号は、同一部分を示している。図８は、本発明の一実施形態による建設機械の制御装置である、車体制御ユニットの通信プロトコル処理部で用いる通信中セッション情報の説明図である。
【００７０】
図７に示すように、通信プロトコル処理部６２は、通信方式選択部８０と、通信セッション処理部８１と、通信中セッション情報８２とからなる。
【００７１】
通信方式選択部８０は、通信対象のデータが通信パケットサイズ以内で、通信データ生成部７１より通信パケットを渡された場合は、通信パケットをそのまま通信部６１を介して送信する。一方、通信対象のデータが通信パケットサイズより大きく、通信データ生成部７１より通信データ識別子と、通信データ長のみ渡された場合は、通信データ識別子と、通信データ長を、通信セッション処理部８１に渡す。
【００７２】
通信セッション処理部８１は、渡された通信データ識別子と通信データ長から、複数パケット通信開始を通知するパケットを生成し、通信部６１を介して送信する。そして、新たに開始した通信セッションの情報を通信中セッション情報８２に記録する。
【００７３】
図８に示すように、通信中セッション情報８２には、通信先識別子，通信状態，通信対象データ識別子，総パケット数，通信済みパケット数，待機状態経過時間の各項目が設けられている。通信先識別子は、コントローラＩＤ＃１，コントローラＩＤ＃３のように、データの送信先であるコントローラのＩＤが保持されている。通信状態には、「送信可能」，「送信完了／応答待ち」，「受信準備完了待ち」のように、通信状態が保持されている。通信対象データ識別子は、通信対象のデータの識別子である。待機状態経過時間は、待機状態になってから経過した時間を示している。
【００７４】
通信セッション処理部８１は、通信中セッション情報８２を調べて、記録されている通信中セッションのうちからパケットの送信が行なえるセッションがある場合に、そのセッションで通信中のデータ識別子と、送信すべきパケットが何パケット目かの情報を抽出する。そして、通信データ生成部７１に対し、通信データ識別子と何バイト目から何バイト目かを指定し、通信パケットの生成を要求する。
【００７５】
通信データ生成部７１は、通信データアクセス処理部７２を介して、送信すべき制御用データもしくは保守データの指定された範囲を読み出す。通信データアクセス処理部７２は、通信データ定義情報７５を参照し、読み出すべきデータが、共有メモリ６５に格納されているのか、通信データバッファ部６４に格納されたコピーなのかを判断する。そして、読み出すべきデータが、通信データバッファ部６４に格納されたコピーの場合には、通信データアクセス処理部７２は、通信データバッファ部６４に格納されたコピーから指定範囲を通信データ生成部７１に渡す。一方、送信すべきデータが、共有メモリ６５に格納されたデータの場合には、通信データアクセス処理部７２は、共有メモリ６５に格納されたデータから指定範囲を通信データ生成部７１に渡す。そして、通信データ生成部７１は、渡されたデータから、共有メモリ６５から抽出したデータが、通信プロトコルで定められたパケットサイズ以内の場合と同様に、通信パケットを生成し、通信セッション処理部８１に渡す。通信セッション処理部８１は、通信データ生成部７１から渡された通信パケットを、通信部６１を介して送信する。
【００７６】
つまり、共有メモリに格納するデータの内容に変更があった場合でも、通信データ定義情報７５のみを修正すれば、通信データバッファ部６４にコピーを格納するかどうかの処理を使い分けることができ、プログラムの修正範囲を最小限に抑えることができる。
【００７７】
以上説明したように、本実施形態では、記憶媒体に記憶されたプログラムを実行することにより、建設機械に搭載された制御対象を制御するための演算処理と、前記建設機械の動作状態又は周囲環境に係わる状態量から稼動記録を生成する記録処理を行うと共に、前記演算処理により算出した制御用データと、前記稼動記録のうち何れかを通信対象へ送信する処理を行う。
【００７８】
ここで特に、記憶媒体に記憶されているプログラムは、アプリケーション部の前記演算処理を行うためのアプリケーションプログラムと、通信データ処理部のデータ変換用プログラムと、通信プロトコル処理部の通信ドライバ用プログラムとの、夫々独立したプログラムモジュールからなっている。
【００７９】
そして、通信データ処理部のデータ変換用プログラムにより、アプリケーションプログラムによって算出される制御用データと稼動記録のうちから、通信対象へ送信すべき制御用データを抽出すると共に、その抽出した制御用データを、通信対象との間で定められた特定の通信プロトコルに対応した通信データ列に変換する処理が行われる。
【００８０】
また、通信プロトコル処理部の通信ドライバ用プログラムにより、前記データ変換用プログラムによって変換された通信データ列を、前記特定の通信プロトコルに従い通信対象へ送信する処理が行われる。
【００８１】
このように、制御対象に応じた制御用演算処理を行うアプリケーションプログラムとは別の、データ変換用プログラムと通信ドライバ用プログラムといった、独立したプログラムモジュールによって、通信対象へ送信すべき制御用データと稼動記録を、通信プロトコルに従い通信対象へ送信する処理を行うようにしているため、通信対象へ送信すべき制御用データの種類やデータ長、或いは通信プロトコルが変わったとしても、アプリケーションプログラムを修正する必要が無いものである。
【００８２】
また、通信データ処理部のデータ変換プログラムは、定義情報と、通信データバッファ部と、バッファ処理部と、通信データ生成部と、通信データアクセス処理部と、からなる。
【００８３】
そして、通信データ生成部により、アプリケーションプログラムによって算出される制御用データもしくは稼動記録のうちから、通信対象へ送信すべき制御用データもしくは稼動記録を抽出する。この制御用データもしくは稼動記録が、通信プロトコルで定められたパケットサイズより大きい場合、バッファ処理部は、定義情報を参照し、バッファにコピーを格納すべきデータの場合であれば、コピーを作成しバッファに格納する。定義情報には、建設機械用制御装置が送信する夫々のデータが、送信処理の間にバッファにコピーを格納する必要があるかどうかの情報と、通信データバッファ部のどこにコピーを格納するかが記憶してある。
【００８４】
そして、通信データ生成部７１は、通信データアクセス処理部を介して、送信すべき制御用データもしくは稼動記録を読み出す。通信データアクセス処理部は、定義情報を参照し、送信すべきデータが、アプリケーションプログラムにより算出された元のデータなのか、バッファに格納されたコピーなのかを判定する。
【００８５】
よって、システム構成の変更に伴い、通信対象へ送信すべき制御用データの種類やデータ長、そのデータのコピーをバッファに格納する必要があるかどうかが、変更されても、定義情報のみを修正すれば良く、バッファ処理部と通信データアクセス処理部、通信データ生成部７１、さらにアプリケーションプログラムと通信ドライバ用プログラムを修正する必要が無いものである。
【００８６】
従って、本実施形態によれば、建設機械用制御装置間の通信データや通信プロトコルが変更されても、プログラムの修正箇所を最小限にすることができるものとなる。
【符号の説明】
【００８７】
２…建設機械制御システム（コントローラネットワーク）
５０Ｌ、５０Ｒ…エンジン制御ユニット
５１Ｌ、５１Ｒ…エンジンモニタユニット
５３…電気レバー制御ユニット
５５…表示制御ユニット
５６…データ記録ユニット
６０…車体制御ユニット
６１…通信部
６２…通信プロトコル処理部
６３…通信データ処理部
６４…通信データバッファ
６５…共有メモリ
６６…通信トリガー発生部
６ｘ…アプリケーション部
７０…周期送信処理部
７１…通信データ生成部
７２…通信データアクセス処理部
７３…バッファ処理部
７４…周期送信設定情報
７５…通信データ定義情報
【図１】
2012052380.tif 000003
【図２】
2012052380.tif 000004
【図３】
2012052380.tif 000005
【図４】
2012052380.tif 000006
【図５】
2012052380.tif 000007
【図６】
2012052380.tif 000008
【図７】
2012052380.tif 000009
【図８】
2012052380.tif 000010
【図９】
2012052380.tif 000011