(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0011】
以下、図面を参照しつつ、本発明の実施例について説明する。
【0012】
図1は、本発明の実施例に係る始動制御システムを搭載するショベル50を示す概略側面図である。ショベル50の下部走行体1には、旋回機構2を介して上部旋回体3が搭載される。
【0013】
上部旋回体3には、ブーム4が取り付けられ、ブーム4の先端には、アーム5が取り付けられ、アーム5の先端には、バケット6が取り付けられる。ブーム4、アーム5、及びバケット6は、掘削アタッチメントを構成し、ブームシリンダ7、アームシリンダ8、及びバケットシリンダ9によりそれぞれ油圧駆動される。
【0014】
また、上部旋回体3には、その前部にキャビン10が設けられ、その後部に駆動源としてのエンジン11(例えば、コモンレール式ディーゼルエンジンである。)が搭載される。さらに、上部旋回体3には、エンジン11によって駆動される油圧ポンプ12と、油圧ポンプ12が吐出する作動油の流れを制御するコントロールバルブ13が搭載される。コントロールバルブ13は、ブームシリンダ7、アームシリンダ8、バケットシリンダ9等の各種油圧アクチュエータを循環する作動油の流れを制御する。
【0015】
キャビン10の内部には、コントローラ30、エンジンコントロールモジュール(ECM)31、及び通信装置32が搭載され、キャビン10の天井部には、衛星通信アンテナ32aが搭載される。なお、コントローラ30、ECM31、及び通信装置32の詳細は後述する。
【0016】
図2は、
図1のショベル50が接続される通信ネットワーク100を示す概略図である。通信ネットワーク100は、主に、ショベル50、基地局21、サーバ22、及び通信端末23で構成される。通信端末23は、携帯通信端末23a、固定通信端末23b等を含む。基地局21、サーバ22、及び通信端末23は、それぞれ、インターネットプロトコル等の通信プロトコルを用いて互いに接続され得る。なお、ショベル50、基地局21、サーバ22、及び通信端末23のそれぞれは、1つであってもよく、複数であってもよい。また、携帯通信端末23aは、ノートパソコン、携帯電話、スマートフォン等を含む。
【0017】
基地局21は、ショベル50が送信する情報を受信する固定施設であり、例えば、衛星通信、携帯電話通信、狭域無線通信等を通じてショベル50との間で情報を送受信する。
【0018】
サーバ22は、ショベル50が送信する情報を保存し且つ管理する装置であり、例えば、CPU、ROM、RAM、入出力インタフェース等を備えたコンピュータである。具体的には、サーバ22は、通信ネットワーク100を通じて、基地局21が受信した情報を取得・保存し、操作者(管理者)が必要に応じてその保存した情報を参照できるように管理する。
【0019】
また、サーバ22は、通信ネットワーク100を通じてショベル50の各種設定を行う。具体的には、サーバ22は、ショベル50の各種設定に関する値をショベル50に対して送信し、ショベル50のコントローラ30に記憶される各種設定に関する値を変更する。
【0020】
また、サーバ22は、通信ネットワーク100を通じて通信端末23に各種情報を送信する。具体的には、サーバ22は、所定の条件が満たされた場合に、或いは、通信端末23からの要求に応じて、ショベル50に関する情報を通信端末23に対して送信し、ショベル50に関する情報を通信端末23の操作者に伝えるようにする。
【0021】
通信端末23は、サーバ22に保存された情報を参照可能な装置であり、例えば、CPU、ROM、RAM、入出力インタフェース、入力装置、ディスプレイ、スピーカ等を備えたコンピュータである。具体的には、通信端末23は、通信ネットワーク100を通じてサーバ22に接続され、ショベル50に関する情報を操作者(管理者)が閲覧できるようにする。或いは、通信端末23は、サーバ22が送信する、ショベル50に関する情報を受信し、受信した情報を操作者(管理者)が閲覧できるようにする。
【0022】
図3は、ショベル50に搭載される始動制御システム150の概略図である。始動制御システム150は、主に、コントローラ30、ECM31、及び通信装置32で構成される。本実施例では、コントローラ30、ECM31、及び通信装置32は、点線で示すCAN(Control Area Network)バスを介して相互に接続される。コントローラ30、ECM31、及び通信装置32は、CANバス上に信号を出力する場合には、送信元である自身のソースアドレスSAと送信先のソースアドレスSAをその信号内に含めるようにする。なお、コントローラ30、ECM31、及び通信装置32は、LIN(Local Interconnect Network)、FlexRay(登録商標)等の他の通信プロトコルを用いて相互に接続されてもよい。
【0023】
コントローラ30は、ECM31に対して所定の駆動信号を出力する制御装置であり、例えば、CPU、RAM、ROM、NVRAM等を備えるコンピュータである。具体的には、コントローラ30は、キースイッチ30aの状態に基づいて目標エンジン回転数を含む駆動信号をECM31に対して出力できるか否かを判断する。そして、コントローラ30は、出力できると判断した場合に、所定周期で繰り返し駆動信号をECM31に対して出力する。また、コントローラ30は、スロットルボリューム30bの出力に基づいて目標エンジン回転数を算出する。なお、本実施例では、コントローラ30は、CAN通信で使用されるソースアドレスSAとして値Xを有する。
【0024】
キースイッチ30aは、ショベル50のエンジンを始動させるためのスイッチである。本実施例では、キースイッチ30aは、エンジン11を始動できないオフ状態と、エンジン11を始動可能なオン状態とを切り換えるために使用される。
【0025】
スロットルボリューム30bは、目標エンジン回転数を調節するための装置である。本実施例では、スロットルボリューム30bは、出力電圧を調節可能な可変抵抗器であり、操作者が手動で操作できるようにキャビン10内に設置される。目標エンジン回転数は、スロットルボリューム30bの出力電圧の値に応じて変化する。操作者は、スロットルボリューム30bを手動で操作することによって目標エンジン回転数を所望の値に調節する。
【0026】
また、コントローラ30は、盗難防止機能30cを備える。盗難防止機能30cは、ショベル50の盗難を防止するための機能であり、例えば、所定の条件が満たされない限り、ショベル50を始動させないようにする。具体的には、盗難防止機能30cは、所定の条件が満たされない限り、コントローラ30がECM31に対して出力する目標エンジン回転数の値をゼロのまま維持する。
【0027】
「所定の条件」は、例えば、パスワードの入力、ショベル50の操作者の認証、通信装置32を通じた始動許可信号の受信等を含む。なお、コントローラ30は、外部(例えば、サービスセンタである。)から始動許可信号を受信すると、NVRAMにおける始動許可フラグをオンに設定する。また、始動許可信号は、例えば、ショベル50の正規の操作者からの求めに応じてサービスセンタから送信される。
【0028】
ECM31は、駆動信号に応じて駆動源を始動可能な駆動源制御装置の1例であり、エンジン11の実際のエンジン回転数が目標エンジン回転数となるように制御する。具体的には、ECM31は、コントローラ30等、CANバス上の他のCANノードから所定の駆動信号を受信し、受信した駆動信号に含まれる目標エンジン回転数の値に対応する制御信号をエンジンコントロールアクチュエータ(ECA)31aに対して出力する。なお、本実施例では、ECM31は、CAN通信で使用されるソースアドレスSAとして値Yを有する。
【0029】
ECA31aは、ECM31からの制御信号に応じてエンジン11の回転数を調整する装置である。具体的には、ECA31aは、図示しないエンジン回転数センサの出力を受信して実際のエンジン回転数を監視しながら、燃料噴射量を調整して実際のエンジン回転数が目標エンジン回転数となるようにする。
【0030】
通信装置32は、ショベル50と外部との間の通信を制御する制御装置であり、例えば、CPU、RAM、ROM、NVRAM等を備えるコンピュータである。通信装置32は、例えば、衛星通信アンテナ32aを介して、ショベル50とショベル50から離れた場所にある基地局21との間の情報の送受信を実現する。なお、本実施例では、通信装置32は、CAN通信で使用されるソースアドレスSAとして値Zを有する。また、通信装置32は、携帯電話網、狭域無線通信網等を介して、ショベル50と基地局21との間の情報のやり取りを実現するようにしてもよい。
【0031】
また、通信装置32は、衛星通信アンテナ32aを介して、ショベル50の外部から所定の非常時始動許可信号を受信した場合に、ECM31に対して目標エンジン回転数を含む所定の駆動信号を出力する。なお、通信装置32は、非常時始動許可信号を受信すると、NVRAMにおける非常時始動許可フラグをオンに設定する。また、本実施例では、通信装置32がECM31に対して出力する駆動信号に含まれる目標エンジン回転数は、通信装置32に予め記憶された値である。しかしながら、本発明は、これに限定されるものでもない。通信装置32は、スロットルボリューム30bの出力に基づいて算出した目標エンジン回転数を含む駆動信号をECM31に対して出力してもよい。この場合、通信装置32は、コントローラ30と同様、スロットルボリューム30bに接続される。
【0032】
例えば、ショベル50の操作者は、コントローラ30が駆動信号をECM31に対して出力できなくなり、エンジン11を始動できなくなった場合に、外部(例えば、サービスセンタである。)からショベル50に対して非常時始動許可信号が送信されるよう、携帯電話等を通じてサービスセンタに連絡する。連絡を受けたサービスセンタの管理者は、連絡者であるショベル50の操作者が正規の操作者であることを確認した上で、ショベル50に対して非常時始動許可信号を送信する。
【0033】
ここで、
図4を参照しながら、コントローラ30がECM31に対して駆動信号を出力できなくなった場合の始動制御システム150の動きを説明する。なお、
図4は、
図3に対応し、
図4における破線で示されるコントローラ30は、故障、CANバスの断線、不正な取り外し等により、コントローラ30がECM31に対して駆動信号を出力できない状態を示す。
【0034】
ECM31は、CANバス上を流れる信号を監視しながら、コントローラ30がECM31に対して駆動信号を出力していない無信号時間を計測する。そして、ECM31は、無信号時間が所定時間に達した場合に、コントローラ30がECM31に対して駆動信号を出力していないと判断する。そして、ECM31は、値ゼロの目標エンジン回転数に対応する制御信号をECA31aに対して出力してエンジン11を停止させる。
【0035】
その後、通信装置32は、衛星通信アンテナ32aを介して、ショベル50の外部から非常時始動許可信号を受信すると、ECM31に対して駆動信号を出力する。
【0036】
なお、通信装置32は、ECM31に対して駆動信号を出力する場合には、自身のソースアドレスSAの値Zをコントローラ30のソースアドレスSAの値Xに置き換える。ECM31における、駆動信号の受信に関する処理を簡略化するためである。具体的には、ECM31が、通信装置32からの信号を、あたかもコントローラ30からの信号として受信できるようにし、駆動信号の送信元を判断する処理をECM31が省略できるようにするためである。しかしながら、本発明は、これに限定されるものでもない。通信装置32は、ソースアドレスSAを置き換えることなくECM31に対して駆動信号を出力してもよい。この場合、ECM31は、駆動信号の送信元を判断する機能を備えていてもよい。すなわち、ECM31は、送信元が通信装置32であることを確認した上で駆動信号を受け入れてもよい。或いは、ECM31は、駆動信号の送信元を判断することなく、送信されてきた駆動信号を受け入れるようにしてもよい。
【0037】
また、通信装置32は、コントローラ30がECM31に対して駆動信号を出力していないことを確認した上で、ECM31に対して駆動信号を出力するようにしてもよい。具体的には、通信装置32は、CANバス上を流れる信号を監視しながら、コントローラ30がECM31に対して駆動信号を出力していない無信号時間を計測する。そして、通信装置32は、無信号時間が所定時間に達した場合に、コントローラ30がECM31に対して駆動信号を出力していないと判断し、ECM31に対して駆動信号を出力する。
【0038】
次に、
図5を参照しながら、コントローラ30がECM31に対して駆動信号を出力する処理(以下、「通常時駆動信号出力処理」とする。)について説明する。なお、
図5は、通常時駆動信号出力処理の流れを示すフローチャートであり、コントローラ30は、所定周期(例えば、10ミリ秒周期である。)で繰り返しこの通常時駆動信号出力処理を実行する。
【0039】
最初に、コントローラ30は、キースイッチ30aがオン状態にあるか否かを判断する(ステップS1)。
【0040】
キースイッチ30aがオン状態にあると判断した場合(ステップS1のYES)、コントローラ30は、通信装置32を通じて始動許可信号を受信したか否かを判断する(ステップS2)。具体的には、コントローラ30は、NVRAMに記憶される始動許可フラグがオンに設定されているか否かを判断する。
【0041】
始動許可信号を既に受信し、コントローラ30のNVRAMに記憶される始動許可フラグがオンに設定されていると判断した場合(ステップS2のYES)、コントローラ30は、スロットルボリューム30bの出力に応じて目標エンジン回転数を算出する(ステップS3)。
【0042】
その後、コントローラ30は、算出した目標エンジン回転数を含む駆動信号をECM31に対して出力する(ステップS4)。
【0043】
一方、キースイッチ30aがオン状態にないと判断した場合(ステップS1のNO)、或いは、始動許可信号を未だ受信していないと判断した場合には(ステップS2のNO)、コントローラ30は、駆動信号をECM31に対して出力することなく、今回の通常時駆動信号出力処理を終了させる。
【0044】
なお、ステップS1におけるキースイッチ30aのオン状態の当否の判断と、ステップS2における始動許可信号の受信の有無の判断は順不同であり、同時に実行されてもよく、順序が逆であってもよい。
【0045】
次に、
図6を参照しながら、ECM31がエンジン11を制御する処理(以下、「エンジン制御処理」とする。)について説明する。なお、
図6は、エンジン制御処理の流れを示すフローチャートであり、ECM31は、所定周期で繰り返しこのエンジン制御処理を実行する。なお、本実施例では、ECM31は、CANノードのそれぞれに割り当てられるソースアドレスSAに基づいて信号送信元を特定し、コントローラ30が送信する駆動信号のみを受け入れるものとする。なお、コントローラ30が送信する駆動信号は、通信装置32があたかもコントローラ30からの駆動信号として送信する駆動信号を含む。
【0046】
最初に、ECM31は、コントローラ30から駆動信号を受信したか否かを判断する(ステップS11)。
【0047】
コントローラ30から駆動信号を受信したと判断した場合、ECM31は、受信した駆動信号に含まれる目標エンジン回転数に対応する制御信号をECA31aに対して出力する(ステップS14)。制御信号を受信したECA31aは、エンジン11の実際のエンジン回転数が目標エンジン回転数となるように燃料噴射量等を制御する。
【0048】
一方、コントローラ30から駆動信号を受信していないと判断した場合、ECM31は、コントローラ30から駆動信号を受信していない時間である無信号時間が所定時間に達したか否かを判断する(ステップS12)。
【0049】
無信号時間が所定時間に達したと判断した場合(ステップS12のYES)、ECM31は、目標エンジン回転数を値ゼロに設定する(ステップS13)。
【0050】
その後、ECM31は、値ゼロに設定された目標エンジン回転数に対応する制御信号をECA31aに対して出力する(ステップS14)。その制御信号を受信したECA31aは、エンジン11の実際のエンジン回転数が目標エンジン回転数(値ゼロ)となるように燃料噴射量等を制御する。すなわち、ECA31aは、エンジン11が稼働中の場合にはエンジン11を停止させ、エンジン11が停止中の場合にはエンジン11を始動させないようにする。
【0051】
一方、無信号時間が所定時間に未だ達していないと判断した場合(ステップS12のNO)、ECM31は、ECA31aに対して制御信号を出力することなく、今回のエンジン制御処理を終了させる。この場合、ECA31aは、前回受信した制御信号に基づいて燃料噴射量等を制御する。すなわち、ECA31aは、エンジン11が稼働中の場合にはエンジン11をそのままのエンジン回転数で動作させ、エンジン11が停止中の場合にはエンジン11をそのまま始動させないようにする。
【0052】
次に、
図7を参照しながら、通信装置32がECM31に対して駆動信号を出力する処理(以下、「第一非常時駆動信号出力処理」とする。)について説明する。なお、
図7は、第一非常時駆動信号出力処理の流れを示すフローチャートであり、通信装置32は、所定周期(例えば、10ミリ秒周期である。)で繰り返しこの第一非常時駆動信号出力処理を実行する。また、本実施例では、キースイッチ30aの出力が、コントローラ30及び通信装置32の双方に接続されている。
【0053】
最初に、通信装置32は、キースイッチ30aがオン状態にあるか否かを判断する(ステップS21)。
【0054】
キースイッチ30aがオン状態にあると判断した場合(ステップS21のYES)、通信装置32は、衛星通信アンテナ32aを通じて非常時始動許可信号を受信したか否かを判断する(ステップS22)。具体的には、通信装置32は、NVRAMに記憶される非常時始動許可フラグがオンに設定されているか否かを判断する。
【0055】
非常時始動許可信号を既に受信し、通信装置32のNVRAMに記憶される非常時始動許可フラグがオンに設定されていると判断した場合(ステップS22のYES)、通信装置32は、NVRAMに記憶される非常時目標エンジン回転数を含む駆動信号をECM31に対して出力する(ステップS23)。この際、通信装置32は、自身のソースアドレスSAの値Zをコントローラ30のソースアドレスSAの値Xに置き換えた上で、駆動信号をECM31に対して出力する。ECM31が、通信装置32からの駆動信号を、あたかもコントローラ30からの駆動信号として受信できるようにするためである。
【0056】
一方、キースイッチ30aがオフ状態にあると判断した場合(ステップS21のNO)、或いは、非常時始動許可信号を未だ受信していないと判断した場合には(ステップS22のNO)、通信装置32は、駆動信号をECM31に対して出力することなく、今回の第一非常時駆動信号出力処理を終了させる。
【0057】
なお、ステップS21におけるキースイッチ30aのオン状態の当否の判断と、ステップS22における非常時始動許可信号の受信の有無の判断は順不同であり、同時に実行されてもよく、順序が逆であってもよい。
【0058】
次に、
図8を参照しながら、通信装置32がECM31に対して駆動信号を出力する処理の別の例(以下、「第二非常時駆動信号出力処理」とする。)について説明する。なお、
図8は、第二非常時駆動信号出力処理の流れを示すフローチャートであり、通信装置32は、所定周期(例えば、10ミリ秒周期である。)で繰り返しこの第二非常時駆動信号出力処理を実行する。また、本実施例では、キースイッチ30aの出力が、コントローラ30及び通信装置32の双方に接続されている。また、第二非常時駆動信号出力処理は、ステップS33を有する点で第一非常時駆動信号出力処理と相違するが、ステップS31、ステップS32、及びステップS34は、第一非常時駆動信号出力処理におけるステップS21〜S23と共通である。そのため、共通部分の説明を省略しながら、相違部分を詳細に説明する。
【0059】
キースイッチ30aがオン状態にあり(ステップS31のYES)、且つ、非常時始動許可信号を受信したと判断した場合(ステップS32のYES)、通信装置32は、コントローラ30がECM31に対して駆動信号を出力していない時間である無信号時間が所定時間に達したか否かを判断する(ステップS33)。
【0060】
無信号時間が所定時間に達したと判断した場合(ステップS33のYES)、通信装置32は、NVRAMに記憶される非常時目標エンジン回転数を含む駆動信号をECM31に対して出力する(ステップS34)。この際、通信装置32は、自身のソースアドレスSAの値Zをコントローラ30のソースアドレスSAの値Xに置き換えた上で、駆動信号をECM31に対して出力する。ECM31が、通信装置32からの駆動信号を、あたかもコントローラ30からの駆動信号として受信できるようにするためである。
【0061】
一方、無信号時間が所定時間に達していないと判断した場合には(ステップS33のNO)、キースイッチ30aがオフ状態にあると判断した場合(ステップS31のNO)、或いは、非常時始動許可信号を未だ受信していないと判断した場合(ステップS32のNO)と同様、通信装置32は、駆動信号をECM31に対して出力することなく、今回の第二非常時駆動信号出力処理を終了させる。
【0062】
なお、ステップS31におけるキースイッチ30aのオン状態の当否の判断と、ステップS32における非常時始動許可信号の受信の有無の判断と、ステップS33における無信号時間が所定時間に達したか否かの判断は順不同であり、同時に実行されてもよく、上述の順序とは異なる順序で実行されてもよい。
【0063】
以上の構成により、始動制御システム150は、コントローラ30が故障して駆動信号を出力できなくなった場合には、通信装置32が、非常時始動許可信号を受信した上で、ECM31に対して駆動信号を出力できるようにする。その結果、ショベル50の操作者は、コントローラ30が故障した場合であっても、エンジン11を始動させることができる。一方で、始動制御システム150は、コントローラ30が不正に取り外された場合には、非常時始動許可信号のサービスセンタからショベル50への送信を防止できる。ショベル50を不正に始動させようとする者は、非常時始動許可信号の送信をサービスセンタの管理者に要求することができないためである。その結果、ショベル50を不正に始動させようとする者は、エンジン11を始動させることができない。
【0064】
このように、始動制御システム150は、コントローラ30の故障等によりコントローラ30からの駆動信号をECM31が受信できない場合であっても、コントローラ30の代わりに通信装置32が駆動信号を出力できるようにし、操作者がエンジン11を始動させることができるようにする。一方で、始動制御システム150は、通信装置32が外部から非常時始動許可信号を受信した場合に限り通信装置32が駆動信号を出力できるようにすることで無制限にエンジン11が始動可能とならないようにする。その結果、始動制御システム150は、盗難防止機能30cを有するコントローラ30が不正に取り外された場合であっても、ショベル50の始動を禁止することによって、ショベル50の盗難を確実に防止することができる。
【0065】
また、始動制御システム150は、コントローラ30からの駆動信号がCANバス上に存在しないことを確認した上で通信装置32から駆動信号を出力させることで、コントローラ30からの駆動信号と通信装置32からの駆動信号との混在を防止することができる。
【0066】
また、ECM31は、例えば、無信号時間が所定時間に達した場合にコントローラ30に異常が発生したことを検知し、その後は、コントローラ30から送信される駆動信号を受け入れず、通信装置32から送信される駆動信号のみを受け入れるようにしてもよい。この場合、通信装置32は、ソースアドレスSAの値Zを、コントローラ30のソースアドレスSAの値Xに置き換える必要はない。
【0067】
以上、本発明の好ましい実施例について詳説したが、本発明は、上述した実施例に制限されることはなく、本発明の範囲を逸脱することなしに上述した実施例に種々の変形及び置換を加えることができる。
【0068】
例えば、上述の実施例では、駆動源としてエンジン11が採用されるが、電動モータが採用されてもよい。