(58)【調査した分野】(Int.Cl.,DB名)
前記選択装置は、前記通信装置を介して所属制御ユニットの設定順位を他の制御ユニットへ送信するとともに、前記通信装置を介して受信した他の制御ユニットの設定順位と所属制御ユニットの設定順位とを比較し、所属制御ユニットの設定順位が最も高い場合は所属制御ユニットを主制御ユニットに設定し、それ以外の場合は所属制御ユニットを従制御ユニットに設定することを特徴とする請求項1の原動機の稼働時間管理装置。
前記制御ユニットは、前記主制御ユニットに設定された制御ユニット、現在の稼働時間、前記同期値及び同期時刻を表示する表示信号を表示装置に出力することを特徴とする請求項1の原動機の稼働時間管理装置。
前記制御ユニットは、前記通信装置を介して他の制御ユニットから受信した稼働時間又は順位の数が制御ユニット総数から1を減じた数に満たない場合に警告信号を出力する警告装置を備えていることを特徴とする請求項1の原動機の稼働時間管理装置。
前記制御ユニットは、他の制御ユニットから稼働時間又は順位を最後に受信してからの経過時間が設定時間に達した場合に警告信号を出力する警告装置を備えていることを特徴とする請求項1の原動機の稼働時間管理装置。
【発明を実施するための形態】
【0018】
以下に図面を用いて本発明の実施の形態を説明する。
【0019】
(第1の実施の形態)
1.稼働時間管理装置
図1は本発明の第1の実施の形態に係る稼働時間管理装置を含む建設機械のブロック図である。
【0020】
同図に示す建設機械には、コントローラ40及び稼働時間管理装置100が備わっている。建設機械には、パワーショベルやブルドーザー等の掘削機械をはじめとして、ダンプトラック(ダンプカー)等の運搬機械、モーターグレーダー等の整地機械、アスファルトフィニッシャー等の舗装機械、バッチャープラント等のコンクリート機械、杭打機、クレーン、その他建設現場で使用される機械が含まれる。次にコントローラ40及び稼働時間管理装置100の構成について説明していく。
【0021】
1−1.コントローラ
コントローラ40は、原動機43を制御する原動機制御装置42、及び回線1を介して稼働時間管理装置100を含む外部機器と通信を行う通信装置41を備えている。原動機43の実回転数は回転センサ44で検出される。原動機には、ディーゼルエンジンやガソリンエンジン等の内燃機関に限らず電動機も適用され得るが、本実施の形態では内燃機関を用いた場合を例に挙げて説明する。また、原動機43にはオルタネータ45が接続されていて、原動機43の回転動力の一部がオルタネータ45で電気エネルギーに変換される。本実施の形態では、原動機43の回転に伴って異なる検出器である回転センサ44及びオルタネータ45で発生する複数種の信号が原動機制御装置42に常時出力され、原動機制御装置42から通信装置41を介して原動機43の稼働信号(実回転数又はオルタネータチャージ信号)として稼働時間管理装置100(後述する制御ユニット10a,10b,10c)に送信される。
【0022】
1−2.稼働時間管理装置
稼働時間管理装置100は、コントローラ40から入力される稼働信号を基に原動機43の稼働時間(以下、稼働時間)を複数の制御ユニット10a,10b,10c…で計時する装置であり、制御ユニット10a,10b,10c…を相互に回線1で接続して構成してある。各制御ユニット10a,10b,10c…は、それぞれ独立して建設機械から取り外し、また交換することができる。本実施の形態では3つの制御ユニット10a,10b,10c…を図示しているが、回線1に接続する制御ユニットの総数nは4以上であっても良いし2とする場合もある。回線1は有線に限らず無線でも良い。本実施の形態では制御ユニット10aの制御装置12(後述)にのみ表示装置18が接続している。この表示装置18は図示しない通信装置を介して制御装置12に接続していて、例えば建設機械の運転席に設置されている。表示装置18は制御ユニット10aに対して取り外し自在であり(制御ユニット10b,10cに対しても同様)、制御ユニット10aを建設機械から取り外すことなく例えば制御ユニット10aから取り外し、また交換することができる。表示装置18には、通信装置11を介して受信した他の制御ユニット10b,10c…の情報や制御ユニット10aの情報が表示され得る(詳細は
図8及び
図9を用いて後述する)。
【0023】
なお、表示装置18は制御ユニット10aにのみ接続可能なわけではなく、他の制御ユニット10b,10c…にも接続可能である。また、特定の制御ユニットにのみ表示装置18を接続するのではなく、例えば1台の表示装置18に対して各制御ユニット10a,10b,10c…が並列的に回線1を介して接続する構成とすることもできる。
【0024】
次に、制御ユニット10a,10b,10c…の構成を説明する。ここでは代表して制御ユニット10aの構成を説明する。制御ユニット10aの構成の説明は制御ユニット10b,10c…にも共通するため、制御ユニット10b,10c…の構成については説明を省略する。
【0025】
1−2−1.制御ユニット
制御ユニット10aは、通信装置11、計時装置16、記憶装置13、選択装置14、同期装置15、警告装置19、制御装置12及び外部機器通信装置17を備えている。これらの要素の構成を順次説明していく。
【0026】
・通信装置
通信装置11は、他の制御ユニット10b,10c…やコントローラ40との間で回線1を介して稼働時間を含む情報を授受するものである。
【0027】
・計時装置
計時装置16は、通信装置11を介して取得される上記稼働信号を基に、記憶装置13に記録してある原動機43の稼働時間を積算により計時するものである(詳細は
図6を用いて後述する)。この計時装置16は、CPU、ROM、RAM、その他周辺回路を有する演算処理装置を含んで構成されている。また、計時装置16は、制御プログラムをそのROM(記憶部)に格納しており、制御プログラムに従ってCPU(演算部)によって稼働時間の積算処理を実行する。
【0028】
・記憶装置
記憶装置13は、例えば不揮発性メモリであり、計時装置16で計時された稼働時間(積算値)、制御モード、同期日時、同期信号、同期禁止信号等の各種情報を記憶するものである。ここで言う情報は現在値(最新の値)であるが、それぞれ併せて履歴を記憶するようにしても良い。
【0029】
・選択装置
選択装置14は、通信装置11を介して受信した他の制御ユニット10b,10c…の予め設定された順位と予め設定された制御ユニット10a(所属制御ユニットすなわち自己が属する制御ユニット)の順位とを基に、制御ユニット10aを主制御ユニットに設定するか従制御ユニットに設定するかを選択するものである(詳細は
図3を用いて後述する)。「主制御ユニット」とは各制御ユニット10a,10b,10c…の間で稼働時間の同期値の設定処理を実行する1台の制御ユニットをいい、「従制御ユニット」とは主制御ユニット以外の制御ユニットをいう。この選択装置14も、CPU、ROM、RAM、その他周辺回路を有する演算処理装置を含んで構成されている。また、選択装置14は、制御プログラムをそのROM(記憶部)に格納しており、制御プログラムに従ってCPU(演算部)によって主制御ユニット選択処理を実行する。加えて、選択装置14のROMには、制御ユニット10a(所属制御ユニット)の順位が格納されている。「順位」とは、各制御ユニット10a,10b,10c…で相互に異なり一義的に順序が定まる値(例えば、1,2,3…)をいう。
【0030】
・同期装置
同期装置15は、他の制御ユニット10b,10c…との間で各々の記憶装置13に記憶されている稼働時間の同期値を設定するものである(詳細は
図5を用いて後述する)。この同期装置15も、CPU、ROM、RAM、その他周辺回路を有する演算処理装置を含んで構成されている。同期装置15は、制御プログラムをそのROM(記憶部)に格納しており、制御プログラムに従ってCPU(演算部)によって同期値選択処理を実行する。
【0031】
・警告装置
警告装置19は警告処理(詳細は
図4を用いて後述する)を実行するものであり、他の制御ユニット10b,10c…との間の通信異常等が検知された場合に警告信号を出力し、例えば表示装置18に警告表示をさせたり警告音を出力させたりする。この警告装置19も、CPU、ROM、RAM、その他周辺回路を有する演算処理装置を含んで構成されている。警告装置19は、制御プログラムをそのROMに格納しており、制御プログラムに従ってCPU(演算部)によって警告処理を実行する。
【0032】
・外部機器通信装置
外部機器通信装置17は、外部機器50が制御ユニット10aに接続された際に制御装置12と外部機器50との間のデータの送受信等を行うものである(詳細は
図7を用いて後述する)。外部機器50は、サービスマン等がメンテナンスやサービスの際に使用するパーソナルコンピュータ等である。この外部機器通信装置17も、CPU、ROM、RAM、その他周辺回路を有する演算処理装置を含んで構成されている。外部機器通信装置17は、制御プログラムをそのROMに格納しており、制御プログラムに従ってCPU(演算部)によって後述する外部機器処理を実行する。
【0033】
・制御装置
制御装置12は、同期装置15、計時装置16、警告装置19及び外部機器通信装置17を制御する役割を果たすものである。この制御装置12も、CPU、ROM、RAM、その他周辺回路を有する演算処理装置を含んで構成されている。制御装置12は、制御プログラムをそのROMに格納しており、制御プログラムに従ってCPU(演算部)によって、同期装置15、計時装置16、警告装置19及び外部機器通信装置17と協働して次に説明する稼働時間管理処理を実行する。
【0034】
2.稼働時間管理処理
図2は制御ユニット10a,10b,10c…の制御装置12により実行される稼働時間管理処理の手順の一例を示すフローチャートである。
【0035】
・START、ステップS110
図2の稼働時間管理手順は、電源投入(例えばエンジンキースイッチオン)をトリガとしてスタートする。制御ユニット10a,10b,10c…の各制御装置12は、まずステップS110で、以降の処理に必要なデータの読み込み及び初期化を行う。データの読込は、例えば前回の稼働時間管理手順(後述するステップS220)で保存した稼働時間やその同期日時(稼働時間について制御ユニット間で同期がとられた日時)等を現在値として各々所属制御ユニットの記憶装置13から呼び出す。データの初期化では、例えば電源投入後は接続されている他の制御ユニット(制御ユニット10aを主体とすれば制御ユニット10b,10c…、以下同じ)に記録されている稼働時間を少なくとも1回は確認する必要があるため、制御モードを示す変数を同期モード(後述)に設定しておく。
【0036】
・ステップS120,S130
ステップS110の手順を終えたら、各制御装置12は、各々記憶装置13から読み込んだ稼働時間、同期日時、制御モードの変数等の情報を他の制御ユニット10b,10c…に通信装置11を介して送信し(ステップS120)、通信装置11を介して他の制御ユニット10b,10c…から送信されてきたそれら情報を受信する(ステップS130)。
【0037】
・ステップS140
続くステップS140では、各制御装置12は、所属制御ユニットの選択装置14に指令信号を出力し、所属制御ユニットを主制御ユニットに設定するか従制御ユニットに設定するかの処理(主制御ユニット選択処理)を実行する。主制御ユニット選択処理自体は、制御装置12からの指令信号を受けた選択装置14により実行される。「主制御ユニット」とは、各制御ユニット10a,10b,10c…の中で互いの稼働時間の同期をとる同期処理を能動的に実行する役割を担当する1台の制御ユニットをいう。「従制御ユニット」とは、同期処理を受動的に実行する制御ユニットをいい、具体的には回線1に接続されたn台の制御ユニット10a,10b,10c…のうち主制御ユニットを除く残りの(n−1)台の制御ユニットをいう。ステップS140の処理の詳細については
図3を用いて後述する。
【0038】
・ステップS150
ステップS140の処理が完了した旨を知らせる通知信号が選択装置14から入力されたら、各制御装置12はステップS150に手順を移し、所属制御ユニットが主制御ユニットに設定されているか否かを判定する。各制御装置12は、所属制御ユニットが主制御ユニットに設定されている場合はステップS160に手順を移し、所属制御ユニットが従制御ユニットに設定されている場合はステップS180に手順を移す。つまり、主制御ユニットの制御装置12は手順をステップS150からステップS160に移し、従制御ユニットの制御装置12は手順をステップS150からステップS180に移す。
【0039】
・ステップS160
ステップS160に手順を移した主制御ユニットの制御装置12は、同期タイマの値が設定時間ΔTに達したか否かを判定する。「同期タイマ」とは、稼働時間の同期処理の実行間隔を設定時間ΔTに管理するタイマであり、例えば
図2の稼働時間管理処理のスタート時刻又は同一の稼働時間管理処理中における前回の同期処理終了時刻からの経過時間を計時する。同期タイマがΔTを計時したタイミングで同期処理が実行されることとなる。主制御ユニットの制御装置12は、同期タイマの値がΔTに達していればステップS170に手順を移し、達していなければステップS180に手順を移す。
【0040】
・ステップS170
ステップS170に手順が移ると、主制御ユニットの制御装置12は、所属制御ユニット(主制御ユニット)の同期装置15に指令信号を出力し、制御ユニット10a,10b,10c…の各稼働時間から外れ値を除いた稼働時間の真値として妥当性の高い同期値を選択する同期値選択処理を実行する。「外れ値」とは各制御ユニット10a,10b,10c…で計時されている各稼働時間の全体的な傾向から設定値以上離れた値をいう。同期値選択処理自体は、制御装置12からの指令信号を受けた同期装置15により実行される。同期値選択処理の詳細については
図5を用いて後述する。
【0041】
・ステップS180
ステップS180に手順が移ると、制御ユニット10a,10b,10c…の各制御装置12は、同期タイマの値を加算するタイマ処理を実行する。このタイマ処理は、同期タイマの値が設定時間ΔTに達するまでは主制御ユニットであるか否かに関わらず全ての制御ユニット10a,10b,10c…で実行される。ここで加算される時間は、例えばステップS120−S210の実行周期又は同一の稼働時間管理処理中における前回のステップS180の実行時刻からの経過時間である。同期タイマをリセットするタイミング(
図6又は
図7)も全ての制御ユニット10a,10b,10c…で実質的に同時であるため、制御ユニット10a,10b,10c…のいずれが主制御ユニットになっても同期値選択処理(ステップS170)が実行されるタイミングは同じになる。本願明細書でいう「実質的に同時」とは、回線1を介して行われる通信の遅延時間を誤差として許容し得ることを意味する(以下同様)。ステップS170又はステップS180の実行後、制御装置12はステップS190に手順を移す。
【0042】
・ステップS190
ステップS170の処理が完了した旨を知らせる通知信号を同期装置15から入力した主制御ユニットの制御装置12、又はステップS180の処理を終えた制御ユニット10a,10b,10c…の各制御装置12は、ステップS190に手順を移す。ステップS190では、各制御装置12は、計時装置16に指令信号を出力し、前述した原動機43の稼働信号(実回転数又はオルタネータチャージ信号)を基に稼働時間を加算する稼働時間加算処理を実行する。稼働時間加算処理自体は、制御装置12からの指令信号を受けた計時装置16により実行される。ステップS190の処理の詳細については
図6を用いて後述する。
【0043】
・ステップS200
ステップS190の処理が完了した旨を知らせる通知信号が計時装置16から入力されたら、制御装置12は、ステップS200に手順を移して外部機器処理を実行する。外部機器処理は、同期禁止モード(後述)の下で外部機器通信部17を介して外部機器50から同期信号を受けた場合に、同期装置15に指令信号を出力して外部機器50で設定された同期値で同期処理を実行して同期禁止モードを解除する処理である。ステップS200の処理の詳細については
図7を用いて後述する。
【0044】
・ステップS210−END
ステップS200の処理が完了したら、各制御装置12はステップS210に手順を移し、エンジンキースイッチ(不図示)が切られているか否かを判定する。キースイッチが入り状態であれば、各制御装置12はステップS120に手順を戻す。キースイッチが切り状態であれば、各制御装置12はステップS220に手順を移す。ステップS220では、各制御装置12は稼働時間その他の必要なデータを所属制御ユニットの記憶装置13に保存して
図2の手順を終了する。
【0045】
2−1.主制御ユニット選択処理
図3は
図2のステップS140で実行される主制御ユニット選択処理の一例を示すフローチャートである。主制御ユニット選択処理は、所定時間毎に(例えばステップS120−S210の実行周期で)制御ユニット10a,10b,10c…の各選択装置14により実行される。
【0046】
・START−ステップS142
制御ユニット10a,10b,10c…の各選択装置14は、所属制御ユニットの制御装置12からの指令信号をトリガとして主制御ユニット選択処理を開始する。各選択装置14は、まず自己のROMから所属制御ユニットの順位を読み出して通信装置11を介し他の制御ユニット10b,10c…へ各々送信し(ステップS141)、他の制御ユニット10b,10c…から送信されてくる各順位を同じく通信装置11を介して受信する(ステップS142)。
【0047】
・ステップS143
続くステップS143では、選択装置14は、警告装置19に指令信号を出力し、警告装置19に警告処理を実行させる。警告処理自体は、選択装置14からの指令信号を受けた警告装置19により実行される。警告処理の詳細については
図4を用いて後述する。
【0048】
・ステップS144−END
警告処理が完了した旨を知らせる通知信号が警告装置19から入力されたら、選択装置14は、ステップS144に手順を移して、受信した他の制御ユニットの順位と自己の所属制御ユニットの順位とを比較し、自己の順位が最高順位であるか否かを判定する。自己の順位が最も高い場合は、選択装置14は、ステップS144からステップS145に手順を移し、自己の所属制御ユニットを主制御ユニットに設定する。他方、自己の順位が最も高い順位以外の順位である場合は、選択装置14は、ステップS144からステップS146に手順を移し、自己の所属制御ユニットを従制御ユニットに設定する。ステップS145,S146で行った設定(所属制御ユニットが主制御ユニットであるか従制御ユニットであるかの設定)は選択装置14のRAMに格納される。ステップS145又はS146の手順を実行したら、選択装置14は、
図3の主制御ユニット選択処理が完了した旨を知らせる通知信号を制御装置12に出力して同図の手順を終える。
【0049】
2−2.警告処理
図4は
図3のステップS143で実行される警告処理の一例を示すフローチャートである。警告処理は、所定時間毎に(例えばステップS120−S210の実行周期で)各制御ユニット10a,10b,10c…において選択装置14からの指令信号に従って警告装置19により実行される。
【0050】
・START、ステップS1431
制御ユニット10a,10b,10c…の各警告装置19は、選択装置14からの指令信号をトリガとして警告処理をスタートする。各警告装置19は、まずステップS1431で、通信装置11を介して他の制御ユニットから稼働時間又は順位を最後に受信してからの経過時間tが設定時間δt未満であるか否かを判定する。設定時間δtは、少なくともステップS120−S210の実行周期以上に設定した時間である。各警告装置19は、判定の結果、経過時間tがδtに満たない場合は手順をステップS1432に移し、経過時間tがδtに達している場合には(稼働時間又は順位を前回受信してからδtが経過しても新たに稼働時間又は順位を受信していない場合には)手順をステップS1433に移す。
【0051】
・ステップS1432−END
ステップS1432に手順を移したら、各警告装置19は、通信装置11を介して受信した他の制御ユニットの稼働時間又は順位の数(受信を確認できた制御ユニットの総数)が制御ユニットの総数nから1を減じた数(他の制御ユニットの総数)であるか否かを判定する。判定の結果、受信した稼働時間又は順位の数が(n−1)に満たない場合には、警告装置19はステップS1433に手順を移す。
【0052】
ステップS1433に手順を移すと、各警告装置19は、出力装置(例えば表示装置18)に警告信号を出力してオペレータ等に警告を報知する。警告の内容は、例えば制御ユニット間の通信に異常がある可能性がある旨であり、警告の態様は、表示装置18等への表示出力(文字出力)の他、警告灯表示、音声出力、警告音等が考えられる。
【0053】
ステップS1433の手順が終了したら、又は受信した稼働時間又は順位の数が(n−1)でステップS1432の判定が満たされた場合には、警告装置19は、
図4の警告処理が完了した旨を知らせる通知信号を選択装置14に出力して同図の手順を終える。言うまでもないが、ステップS1431,S1432の双方の判定が満たされた場合には警告信号が出力されることなく
図4の手順が終了する。
【0054】
2−3.同期値選択処理
図5は
図2のステップS170で実行される同期値選択処理の一例を示すフローチャートである。この同期値選択処理は、所定時間毎に(例えばステップS120−S210の実行周期で)主制御ユニットにおいて制御装置12からの指令信号に従って同期装置15により実行される。同期値選択処理を概説すると、同期装置15は、各制御ユニット10a,10b,10c…の記憶装置13に記憶されている稼働時間の中から設定手順に従って同期値を設定し、同期値が設定されたときには同期モード、設定されないときには同期禁止モードを選択する。具体的手順を次に説明する。
【0055】
・START、ステップS171
主制御ユニットの同期装置15は、ステップS170(
図2)で制御装置12から出力される指令信号を入力すると同期値選択処理を開始する。同期装置15は、まずステップS171で、制御モードとして同期モードが選択されているか否かを判定する。同期装置15は、現在の制御モードが同期モードであればステップS172に手順を移し、同期禁止モードであれば何も実行せずに同期値選択処理が完了した旨を知らせる通知信号を制御装置12に出力して同図の手順を終える。
【0056】
・ステップS172−S174
現在の制御モードが同期モードである場合、同期装置15は、制御ユニット10a,10b,10c…の各記憶装置13に記憶されている稼働時間(他の制御ユニットから受信した稼働時間と自己の稼働時間を合わせたn個の稼働時間)の中から最大値を選択する(ステップS172)。ここでは御ユニット10a,10b,10c…の各記憶装置13に記憶されている稼働時間が単一値でない場合(他と異なる値が少なくとも1つ存在する場合)を前提に説明する。なお、図示していないが、例えば各稼働時間が単一値であるか否かを判定する処理をステップS171,S172の間に実行し、単一値であって同期をとる必要がない場合には、ステップS172以降の処理は省略して
図5の手順を終了(後述)し、他と異なる値が少なくとも1つ存在し同期をとる必要がある場合にのみステップS172の処理に手順を移すようにすることも可能である。
【0057】
ステップS172の手順を終えたら、同期装置15は、選択した最大値と他の稼働時間との差分ΔH(差の絶対値)をそれぞれ算出する差分算出処理を実行し(ステップS173)、ΔHが設定値h以下である稼働時間の数が設定数N以上であるとの判定条件を満たすか否かを判定する(ステップS174)。この判定条件は選択した最大値の妥当性を判定するための条件であり、他の稼働時間に対して突出して大きい信頼性の低い値が後に同期値として採用されることを抑制するためのものである。設定値hは、例えば同期タイマの設定時間ΔTに制御ユニット間の通信遅延時間を加えた値とすることが好ましい。また、設定数Nは、例えば稼働ユニット総数nの半分(小数点以下切り上げ)とすることが好ましい。同期装置15は、差分ΔHが設定値h以下の稼働時間がN個以上ある場合はステップS177に手順を移し、N個未満であればステップS175に手順を移す。
【0058】
・ステップS175
ステップS175に手順を移すと、同期装置15は、判定条件が満たされないままステップS174の手順がF回繰り返し実行されているか否かを判定する。Fは設定回数であり、例えば(n/2+1)回(小数点以下切り捨て)とすることができる。同期装置15は、ステップS174の判定条件が連続して満たされなかった回数がまだ設定回数Fに達しない場合にはステップS176に手順を移し、設定回数Fに達した場合(妥当な最大値が見出せない場合)にはステップS181に手順を移す。
【0059】
・ステップS176
ステップS176に手順を移すと、同期装置15は、前述したステップS172で選択した現在の最大値を除外してステップS172に手順を戻す。この処理は、対象とする稼働時間の数を現在の最大値を外れ値として除いた(n−f)個に絞ってステップS172の最大値選択処理を再度実行するための繰り返し処理である。fはステップS172−S176の繰り返し回数(最大値を除外した回数)である。例えばステップS174の判定条件が連続して満たされなかった回数がまだ1回(f=1)である場合には、最大値選択処理の対象となる稼働時間の数は本ステップを経て(n−1)個に減じられる。
【0060】
・ステップS177−S179
ステップS177に手順を移すと、同期装置15は、ステップS174の判定条件を満たした最大値を妥当性の高い稼働時間の真値とみなしてこれを同期値に設定し、その後ステップS178で制御モードとして同期モードを選択する。同期モードを選択したら、同期装置15は、ステップS179に手順を移して同期信号、同期値、制御モード情報(同期モードを表す変数)、同期日時(現在時刻)を所属制御ユニット(主制御ユニット)の制御装置12に出力する。ステップS179ではまた、同期装置15は、通信装置11を介して同期信号、同期値、制御モード情報(同期モードを表す変数)及び同期日時(現在時刻)を他の制御ユニット(従制御ユニット)の制御装置12に送信する。同期信号は同期実行の開始合図となる信号である。
【0061】
・ステップS181,S182
また、先のステップS174の判定条件がF回連続して満たされず妥当な最大値が見出されなかった場合、同期装置15は、ステップS175からステップS181の同期禁止処理に手順を移し、制御モードとして同期禁止モードを選択する。同期禁止モードを選択したら、同期装置15は、続くステップS182で、稼働時間の上書きを禁止すべく所属制御ユニット(主制御ユニット)の制御装置12に同期禁止信号を出力するとともに、通信装置11を介して他の制御ユニット(従制御ユニット)の制御装置12に同期禁止信号を送信する。同期禁止信号は同期禁止の合図となる信号である。
【0062】
・END
ステップS179又はステップS182の手順で同期信号又は同期禁止信号を制御ユニット10a,10b,10c…の各制御装置12に出力したら、主制御ユニットの同期装置15は、
図5の同期値選択処理が完了した旨を知らせる通知信号を各制御装置12に出力して同図の手順を終える。
【0063】
2−4.稼働時間加算処理
図6は
図2のステップS190で実行される稼働時間加算処理の一例を示すフローチャートである。この稼働時間加算処理は、所定時間毎に(例えばステップS120−S210の実行周期で)制御ユニット10a,10b,10c…において制御装置12からの指令信号に従って各計時装置16により実行される。
【0064】
・START、ステップS191
制御ユニット10a,10b,10c…の各計時装置16は、ステップS190(
図2)で制御装置12から出力される指令信号を入力すると稼働時間加算処理を開始する。各計時装置16は、まずステップS191で、同期値選択処理(ステップS170)で主制御ユニットの同期装置15からの同期信号を受信したか否かを判定する。各計時装置16は、同期信号を受信していればステップS192に手順を移し、受信していなければステップS194に手順を移す。
【0065】
・ステップS192,S193
ステップS191で同期信号が確認された場合、各計時装置16は、所属制御ユニットの記憶装置13に記憶されている稼働時間(現在の積算値)を同期値選択処理で取得された同期値で上書きするとともに(ステップS192)、同期タイマを0にリセットし(ステップS193)、手順をステップS194に移す。ステップS192,S193の処理は各制御ユニット10a,10b,10c…で実質的に同時(前述)に実行される。
【0066】
・ステップS194−END
ステップS194では、各計時装置16は、原動機43の稼働信号、すなわち実回転数又はオルタネータチャージ信号が各設定値以上か否かを判定する。原動機43が稼働状態にあって少なくとも一方の条件が成立した場合には、各計時装置16は、ステップS195に手順を移して稼働時間を加算し、所属制御ユニットの記憶装置13にそれぞれ記憶する。ここで加算する時間としては、例えば、ステップS120−S210の実行周期(一定値)、又は今回の稼働時間管理処理中における前回のステップS190の実行時刻からの経過時間等とすることができる。ステップS195の処理を完了したら、各計時装置16は、
図6の稼働時間加算処理が完了した旨を知らせる通知信号を制御装置12に出力して同図の手順を終える。また、先のステップS194で原動機43が非稼働状態にあると判定した場合(ステップS194でいずれの条件も不成立の場合)には、各計時装置16は、稼働時間を加算することなく
図6の稼働時間加算処理が完了した旨を知らせる通知信号を制御装置12に出力して同図の手順を終える。
【0067】
2−5.外部機器処理
図7は
図2のステップS200で実行される外部機器処理の一例を示すフローチャートである。この外部機器処理は、所定時間毎に(例えばステップS120−S210の実行周期で)制御ユニット10a,10b,10c…において各制御装置12により実行される。
【0068】
・START、ステップS201
制御ユニット10a,10b,10c…の各制御装置12は、
図7の外部機器処理を開始すると、まずステップS201で、現在の制御モードが同期禁止モードであるか否かを判定する。各制御装置12は、同期禁止モードであればステップS202に手順を移し、同期モードであれば何ら手順を実行することなく
図7の外部機器処理を終える。
【0069】
・ステップS202−END
同期禁止モードである場合、各制御装置12は、所属制御ユニットの外部機器通信装置17(
図1参照)を介して外部機器50(
図1参照)から入力値が入力されているか否かを判定する入力判定処理を実行する(ステップS202)。有無を判定する入力値は、外部機器50を用いてオペレータが手動で入力設定した稼働時間の値である。入力値が確認された場合、制御装置12は同期禁止解除処理を実行する。同期禁止解除処理では、制御装置12は、まず同期禁止モードを解除し(ステップS203)、外部機器50からの入力値を同期値として所属制御ユニットの記憶装置13に記憶した稼働時間(現在値)に上書きするとともに、通信装置11を介して他の制御ユニットに送信する(ステップS204)。受信側の他の制御ユニットにおいても、制御装置12によって所属制御ユニットの記憶装置13に記憶した稼働時間(現在値)に入力値が上書きされる。併せて、ステップS204では、受信側である他の制御ユニットの同期タイマとともに、所属制御ユニットの同期タイマがリセットされる。ステップS202で外部機器50からの入力値が確認できなかった場合、又はステップS203,S204の同期禁止解除処理が終了した場合、制御装置12は
図7の外部機器処理を終了する。
図7の外部機器処理を実行することにより、制御ユニット10a,10b,10c…のいずれかに外部機器50が接続されて同期禁止モード下で稼働時間が入力された場合、外部機器50が接続された制御ユニットにおいて
図7の手順が実行され、他の制御ユニットとの間で稼働時間の同期がとられる。
【0070】
3.表示画面
図8は
図1の表示装置18に表示される画面の一例を示す図である。
【0071】
同図に例示した画面は、接続された制御ユニット(
図1の例では制御ユニット10a)の制御装置12から出力される表示信号に従って表示装置18に表示される。この画面には、制御モード表示部18A、制御ユニット表示部18B−18D、同期日時表示部18E、同期値表示部18F及び稼働時間表示部18Gが表示されている。制御モード表示部18Aには、現在の制御モード(同期モードか同期禁止モードか)が表示される。制御ユニット表示部18B−18Dの右欄には、回線1に接続されている制御ユニットを識別する文字列(例えば、制御ユニットの登録名)が表示され、左欄には、現在どの制御ユニットが主制御ユニットに設定されているかが表示される(この例では登録名「unit1」の制御ユニットが主制御ユニットである旨がチェックマークで表示されている)。同期日時表示部18Eには、稼働時間の同期処理を実行した最新日時が表示される。同期値表示部18Fには、最新の同期値(最後の同期処理で用いられた同期値)が表示される。稼働時間表示部18Gには、現在の稼働時間が表示される。
【0072】
4.表示処理
図9は
図8の画面を表示装置18に表示するために制御装置12で実行される表示処理の一例を示すフローチャートである。
【0073】
この表示処理も、表示装置18が接続された制御ユニット(例えば制御ユニット10a)の制御装置12によって
図2の稼働時間管理処理と同じく電源の投入(例えばキーオン)をトリガとして開始される。表示処理のプログラムや実行に必要な情報は、制御装置12のROMやRAMに格納されている。制御装置12は、表示処理を開始すると、例えば制御モード表示部18Aの表示更新処理(ステップS251)、主制御ユニット表示部18B−18Dの表示更新処理(ステップS252)、同期日時表示部18E及び同期値表示部18Fの表示更新処理(ステップS253)、稼働時間表示部18Gの表示更新処理(ステップS254)を順次実行する。ステップS251−S254の実行順序は特に限定されない。ステップS251−S254の各表示更新処理を実行したら、制御装置12は、エンジンキースイッチの入り切りを判定する(ステップS255)。キーオンであれば手順をステップS251に戻して各表示更新処理を繰り返し、キーオフであれば
図9の手順を終了する。従って、所定の手続きを経て表示装置18に
図8の画面を表示させたとき、各表示部18A−18Fに最新の内容が表示される。
【0074】
5.効果
(1)稼働時間の信頼性向上
前述したように、本実施の形態では、相互に接続した複数の制御ユニット10a,10b,10c…で並行して稼働時間を計時するとともに、各制御ユニット10a,10b,10c…が計時した稼働時間の中から真値として妥当性の高い値を所定の手順(本実施の形態では多数決)で選出し、これを同期値として制御ユニット10a,10b,10c…間で稼働時間の同期をとる。これにより、例えば他の建設機械で使用されていた制御ユニットや新品の制御ユニットが移設されても、移設された制御ユニットに記録された他の建設機械の稼働時間や0時間は多数決方式の同期値選択処理を経ることによって同期値の候補から除外することができる。また、回線1で接続した一部の制御ユニットの稼働時間算出機能に異常が生じた場合も、異常を来した制御ユニットで計時された稼働時間は同期値の候補から除外される。従って、対象の建設機械で正常に機能してきた制御ユニットで計時された稼働時間の中から真値として最も妥当性の高い値を選択することができるので、種々のケースに対応して稼働時間の記録の信頼性を向上させることができる。
【0075】
(2)同期処理の確実性確保
各制御ユニット10a,10b,10c…は、現状で回線1に繋がっている者同士で互いの各選択装置14によって互いの順位を比較し合い、最高順位の制御ユニットが主制御ユニットとなる。即ち、特定の制御ユニットが主制御ユニットの役割を担う構成と異なり、制御ユニットを任意に交換しても必ずいずれかの制御ユニットが主制御ユニットとなる。従って、主制御ユニットが存在しないために制御ユニット間で稼働時間の同期がとれなくなるようなことがなく、確実に同期処理が実行されるようにすることができる。
【0076】
(3)冗長化
本実施の形態では、原動機43の稼働信号として、原動機43の回転に伴って回転センサ44及びオルタネータ45で発生する複数種の信号を用いている。従って、いずれかの検出器の信号が何らかの要因によって途絶しても他の信号を用いて柔軟に稼働時間を継続的に計時することができる。
【0077】
(4)その他
表示装置18に、主制御ユニットに設定された制御ユニット、現在の稼働時間、同期値及び同期時刻等を表示することにより、例えば制御ユニットからデータをメディアに読み出したり制御ユニットを取り外したりしなくても、オペレータは稼働時間や稼働時間管理装置の稼働状況を運転席で確認することができる。
【0078】
また、同期禁止モードになってしまった場合には、いずれかの制御ユニットに外部機器50を接続して入力値を代替の同期値として入力してやれば、同期禁止モードを解除して制御ユニット間で稼働時間の同期をとることができる。このように手動操作によって稼働時間の同期をとることができるようにすることで、高い汎用性を確保することができる。
【0079】
また、他の制御ユニットとの通信により得られた稼働時間又は順位の数が回線1に接続している制御ユニットの総数から1を減じた数に満たない場合、他の制御ユニットから稼働時間又は順位を最後に受信してからの経過時間が設定時間に達した場合等に警告信号を出力することにより、制御ユニット間の通信異常が生じている恐れをオペレータに知らせることができる。
【0080】
(第2の実施の形態)
図10は本発明の第2の実施の形態に係る稼働時間管理装置により実行される同期値選択処理の一例を示すフローチャートである。本実施雄形態において同図に示した同期値選択処理の手順以外は、装置構成を含めて第1の実施の形態と同様であり説明を省略する。
【0081】
図10に示した同期値選択処理は、第1の実施の形態における
図5の同期値選択処理の別の例であり、所定時間毎に(例えば
図2のステップS120−S210の実行周期で)主制御ユニットにおいて制御装置12からの指令信号に従って同期装置15により実行される。具体的手順を次に説明する。
【0082】
・START、ステップS271
主制御ユニットの同期装置15は、ステップS170(
図2)で制御装置12から出力される指令信号を入力すると同期値選択処理を開始し、まずステップS171で、制御モードとして同期モードが選択されているか否かを判定する。同期装置15は、現在の制御モードが同期モードであればステップS272に手順を移し、同期禁止モードであれば何も実行せずに同期値選択処理が完了した旨を知らせる通知信号を所属制御ユニットの制御装置12に出力して同図の手順を終える。
【0083】
・ステップS272−S274
現在の制御モードが同期モードである場合、同期装置15は、制御ユニット10a,10b,10c…の各記憶装置13に記憶されている稼働時間(他の制御ユニットから受信した稼働時間と自己の稼働時間を合わせたn個の稼働時間)の中から最大値を選択する(ステップS272)。なお、
図5のステップS172に関連して前述した通り、本実施の形態においても最大値選択処理の要否(同期処理の要否)を判定する判定処理をステップS271,S272の間に実行する構成とすることができる。続いて、同期装置15は、ステップS272で選択した最大値と他の稼働時間との差分ΔHをそれぞれ算出する差分算出処理を実行し(ステップS273)、最大値との差分が設定値以下である近似の稼働時間があるか否かを判定する近似判定処理を実行する(ステップS274)。この近似判定処理は選択した最大値の妥当性を判定する手順であり、他の稼働時間に対して突出して大きい信頼性の低い値が後に同期値として採用されることを抑制するためのものである。設定値には、例えば
図5のステップS174で用いた設定値hを用いることができる。同期装置15は、差分ΔHが設定値以下の稼働時間がある場合はステップS275に手順を移し、ない場合はステップS277に手順を移す。
【0084】
・ステップS275,S276
ステップS274の近似判定処理で近似の稼働時間が少なくとも1つ見出せた場合、同期装置15は、ステップS275に手順を移し、ステップS272で選択した最大値とステップS274で見出した少なくとも1つの近似の稼働時間とを1つの集団とする集団化処理を実行する。次いで、同期装置15は、ステップS275からステップS276に手順を移してステップS275で生じた集団に属する稼働時間を除外し、ステップS275で生じた集団に属さない残りの稼働時間に対象を絞ってステップS278の第1判定処理(後述)に手順を移す。
【0085】
・ステップS277
ステップS274の近似判定処理で近似の稼働時間が見出せない場合、同期装置15は、ステップS277に手順を移し、ステップS272で選択した現在の最大値を除外し(非集団化処理)、最大値を除く残りの稼働時間に対象を絞ってステップS278の第1判定処理に手順を移す。
【0086】
・ステップS278
ステップS276又はS277からステップS278に手順を移すと、同期装置15は、残りの稼働時間が単数又は0個(1つ以下)であることを判定条件とする第1判定処理を実行する。この第1判定処理は、残りの稼働時間で集団化処理がまだなされ得るか否かを判定する処理である。ステップS278の第1判定処理で残りの稼働時間が単数又は0個でなかった場合(複数個であった場合)、同期装置15は、ステップS272の最大値選択処理に手順を戻す。
【0087】
・ステップS279
ステップS278の第1判定処理の判定条件が満たされた場合(残りの稼働時間が単数又は0個である場合)、同期装置15は、ステップS278からステップS279に手順を移し、包含する稼働時間の数が最も多い最大集団が単数であるか否かを判定する(第2判定処理)。同期装置15は、包含する稼働時間の数が最も多い最大集団が単数である場合にはステップS280に手順を移し、包含する稼働時間の数が最も多い最大集団が複数である場合(同じ大きさの集団が複数ある場合)にはステップS283に手順を移す。
【0088】
・ステップS280−S282
ステップS280に手順を移すと、同期装置15は、ステップS279の判定条件を最大集団の最大値を稼働時間の真値とみなしてこれを同期値に設定し、ステップS281で制御モードとして同期モードを選択する。同期モードを選択したら、同期装置15は、ステップS282に手順を移して同期信号、同期値、制御モード情報(同期モードを表す変数)、同期日時(現在時刻)を所属制御ユニット(主制御ユニット)の制御装置12に出力する。ステップS282ではまた、同期装置15は、通信装置11を介して同期信号、同期値、制御モード情報(同期モードを表す変数)及び同期日時(現在時刻)を他の制御ユニット(従制御ユニット)の制御装置12に送信する。ステップS281,S282は
図5のステップS178,S179と同様の処理である。
【0089】
・ステップS283,S284
ステップS283に手順を移した場合、同期装置15は、制御モードとして同期禁止モードを選択する。同期禁止モードを選択したら、同期装置15は、続くステップS284で、稼働時間の上書きを禁止すべく所属制御ユニット(主制御ユニット)の制御装置12に同期禁止信号を出力するとともに、通信装置11を介して他の制御ユニット(従制御ユニット)の制御装置12に同期禁止信号を送信する。ステップS283,S284は
図5のステップS181,S182と同様の処理である。
【0090】
・END
ステップS282又はステップS284の手順で同期信号又は同期禁止信号を制御ユニット10a,10b,10c…の各制御装置12に出力したら、主制御ユニットの同期装置15は、
図10の同期値選択処理が完了した旨を知らせる通知信号を各制御装置12に出力して同図の手順を終える。
【0091】
本実施の形態においては、最大値に近似する稼働時間を集団化し(ステップS272−S275)、仮に集団が複数生じた場合には最大集団を選択して、その最大値を同期値に設定する(ステップS276−S280)。その結果、最も多くの数の稼働時間と近似する1つの値を稼働時間の真値として妥当性の高い値として抽出することができる。従って、第1の実施の形態と同様に奏功することができる。