(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0011】
以下、本発明の時刻同期システムを構成する端末装置及び端末制御装置の好ましい実施形態について、図面を参照しながら説明する。なお、以下の説明では、本発明をスチームトラップ(図示しない)の動作状態を計測する端末装置及び、これを制御する端末制御装置(制御装置)に本発明を適用した場合を例示して説明する。また、各図中の構成部材の寸法は、実際の構成部材の寸法及び各構成部材の寸法比率等を忠実に表したものではない。
【0012】
[1.第1の実施形態]
[1−1.時刻同期システムの全体構成]
図1は、本発明の第1の実施形態にかかる時刻同期システム1の全体構成の例を示す図である。時刻同期システム1は、例えば、1つの端末制御装置2と、複数の端末装置3と、複数の中継機4とを含む。例えば端末制御装置2と端末装置3と中継機4は、いずれも無線通信機能を有し、相互に無線通信可能である。なお、
図1においては、説明上、端末制御装置2と端末装置3と中継機4とを実線を用いて接続しているが、無線通信機能を有する場合には何らかの接続線は必要ない。
【0013】
端末装置3は、例えば、予め設定した起動時刻に起動して、蒸気配管設備に設置されたスチームトラップの動作状態を計測し、その計測データを端末制御装置2に向けて送出する。なお、端末装置3が起動することを「起床」と呼ぶことがある。
【0014】
また、端末装置3は、1以上の端末装置3によりグループを形成する。例えば
図1に示すように、グループ1は4つの端末装置3から形成され、グループ2は2つの端末装置3から形成され、グループ3は3つの端末装置3から形成される。
【0015】
端末制御装置2は、例えば、各端末装置3の時刻同期を行うための同期データを作成して各端末装置3に送信する。また、端末制御装置2は、例えば端末装置3から計測データを受信する。
【0016】
中継機4は、例えば端末制御装置2と端末装置3との間における通信データを中継するリピータとして動作する。
【0017】
各端末装置3は、予め設定された測定周期毎に測定データを送出する際には、消費電力を抑制するため可能な限り効率よく通信処理を行う必要がある。このため、端末制御装置2及び各端末装置3においては、起動時刻を決定する際に元となる現在時刻が同期している必要がある。そこで、本実施形態においては、現在時刻を同期させるための同期データを、端末制御装置2から各端末装置3に送信することにより、各端末装置3における時刻を同期させる例について説明する。
【0018】
[1−2.時刻同期システムの機能ブロック図]
図2は、時刻同期システム1の機能ブロック図の一例を示す図である。
【0019】
[1−2−1.端末制御装置2の機能ブロック図]
端末制御装置2は、時刻を計時する時刻計時部21と、端末装置3に設定するための時刻を決定する設定時刻決定部22と、端末装置3が設定時刻を設定する際の待ち時間を算出する待ち時間算出部23と、設定時刻データ及び待ち時間データを同期データとして端末装置3へ送信する同期データ送信部24と、端末制御装置2と端末装置3との間の通信時間を算出する通信時間算出部25とを備える。
【0020】
時刻計時部21は、例えば端末制御装置2の電源がオフになった場合であっても現在時刻を刻み続けることができる。また、時刻計時部21は、例えば「ミリ秒」の計時単位まで時刻を計時することができる。
【0021】
設定時刻決定部22は、例えば現在時刻よりも未来の時刻を、端末装置3に設定するための時刻として決定することができる。例えば設定時刻決定部22は、「ミリ秒」単位の時刻を「000ミリ秒」として、設定時刻を決定する。
【0022】
待ち時間算出部23は、例えば、端末制御装置2における時刻同期処理の経過時間や、端末制御装置2と端末装置3との間の通信時間に基づいて、端末装置3が設定時刻を取得してから設定するまでの待ち時間を決定することができる。
【0023】
同期データ送信部24は、例えば設定時刻決定部22にて決定した設定時刻を示す設定時刻データ及び、待ち時間算出部23にて算出した待ち時間を示す待ち時間データを同期データとして送信することができる。
【0024】
通信時間算出部25は、例えば端末制御装置2、端末装置3及び中継機4が通信する場合の通信時間を、各装置間のホップ数等に基づいて算出することができる。
【0025】
[1−2−2.端末装置3の機能ブロック図]
端末装置3は、時刻を計時する時刻計時部31と、設定時刻を用いて時刻計時部31に時刻を設定する時刻設定部32と、設定時刻データ及び待ち時間データを同期データとして端末制御装置2から受信する同期データ受信部33と、端末制御装置2からの待ち時間データに基づく待ち時間を計時する待ち時間計時部34とを備える。
【0026】
時刻計時部31は、例えば端末装置3の電源がオフになった場合であっても現在時刻を刻み続けることができる。また、時刻計時部31は、例えば「秒」の計時単位までの時刻を計時することができる。つまり、端末装置3の時刻計時部31は、端末制御装置2の時刻計時部21とは異なり「ミリ秒」の計時単位の時刻を計時することができない。したがって、時刻計時部21における計時単位の有効桁数は、時刻計時部31における計時単位の有効桁数よりも多い。
【0027】
時刻設定部32は、例えば端末制御装置2から受信した同期データに含まれる設定時刻を示す設定時刻データを用いて、時刻計時部31に現在時刻を設定することができる。
【0028】
同期データ受信部33は、例えば端末制御装置2の設定時刻決定部22にて決定した設定時刻を示す設定時刻データ及び、端末制御装置2の待ち時間算出部23にて算出した待ち時間を示す待ち時間データを同期データとして受信することができる。
【0029】
待ち時間計時部34は、例えば同期データ受信部33にて受信した同期データに含まれる待ち時間データに基づく待ち時間を計時することができる。
【0030】
なお、端末装置3は、図示しない計測部を備えており、例えばスチームトラップ5の表面温度及び/又は超音波振動を計測することができる。また、計測部が計測したスチームトラップの計測データは、端末制御装置2に無線通信により送信される。
【0031】
[1−3.時刻同期システムのハードウェア構成例]
[1−3−1.端末制御装置2のハードウェア構成例]
図3は、端末制御装置2を、CPU等を用いて実現したハードウェア構成の一例を示す図である。端末制御装置2は、例えばノート型のパーソナルコンピュータを用いて構成することができる。
【0032】
端末制御装置2は、ディスプレイ40、RTC(Real Time Clock)41CPU42、RAM(Random Access Memory)43、ハードディスク44、キーボード/マウス45及び、無線通信回路46を備える。
【0033】
ディスプレイ40は、キーボード/マウス45からの入力内容や計測データ等を表示することができる。RTC41は、クロック機能により、現在時刻を例えばミリ秒単位で示すデータ(hh:mm:ss.000)として提供できる。CPU42は、ハードディスク44に記憶されている時刻同期プログラム442を実行することができる。RAM43は、CPU42にアドレス空間を提供することができる。
【0034】
ハードディスク44は、OS(オペレーティング・システム)441、時刻同期プログラム442、ホップ数管理データ443及び、図示しない計測データ等を記憶しておくことができる。キーボード/マウス45は、端末装置3を制御するための入力操作をユーザから受け付けることができる。無線通信回路46は、端末装置3又は中継機4と無線通信することができる。
【0035】
図2に示した端末制御装置2を構成する、時刻計時部21はRTC41により実現される。また、設定時刻決定部22、待ち時間算出部23、同期データ送信部24及び、通信時間算出部25は、CPU42上において時刻同期プログラム442を実行することによって実現される。
【0036】
[1−3−2.端末装置3のハードウェア構成例]
図4は、端末装置3を、CPU等を用いて実現したハードウェア構成の一例を示す図である。端末装置3は、RTC(Real Time Clock)51、CPU52、RAM53、計測センサ54、無線通信回路55、EEPROM(Electrically Erasable and Programmable Read Only Memory)56及び、バッテリー57を備える。
【0037】
RTC51は、クロック機能により、現在時刻を例えば秒単位で示すデータ(hh:mm:ss)として提供できるとともに、タイマー機能により、設定された起動時刻データ511に対応する時刻に当該端末装置3を起動させることができる。CPU52は、EEPROM56に記憶されている時刻設定プログラム561を実行することができる。RAM53は、CPU52にアドレス空間を提供することができるとともに、設定時刻データ531及び待ち時間データ532等を記憶しておくことができる。
【0038】
計測センサ54は、例えば圧電素子を用いた振動センサや熱電対を用いた温度センサにより、スチームトラップの動作状態を計測することができる。無線通信回路55は、端末制御装置2又は中継機4と通信することができる。EEPROM56は、時刻設定プログラム561を記憶しておくことができる。バッテリー57は、端末装置3の各部に電源を供給することができる。バッテリー57は、例えば乾電池や蓄電池が該当する。
【0039】
図2に示した端末装置3を構成する、時刻計時部31はRTC51により実現される。また、時刻設定部32、同期データ受信部33及び待ち時間計時部34は、CPU52上において時刻設定プログラム561を実行することによって実現される。
【0040】
[1−4.時刻設定処理のフローチャート]
図5は、時刻同期システム1における時刻設定処理のフローチャートの一例を示す図である。
【0041】
例えば、端末制御装置2のCPU42は、端末装置3のRTC51に起動時刻データ511を設定する処理を行う際において、本実施形態の時刻設定処理を行うことができる。なお、本実施形態においては、起動時刻データ511を設定する処理についての説明は省略する。
【0042】
図5において、端末制御装置2のCPU42は、端末装置3のグループを1つ選択する(ステップS101)。例えば、グループの選択順は端末装置や中継機を効率よく稼働させることのできる順序で決定することができる。本実施形態においては、
図1に示すグループ1、グループ2及びグループ3の順にグループを選択するものとする。
【0043】
CPU42は、端末装置3のRTC51に設定するための設定時刻を決定する(ステップS102)。例えばCPU42は、現在時刻から「1秒」進んだ時刻を設定時刻として決定することができる。具体的には、CPU42は、例えば現在時刻(原点時刻)「00時間00分00秒000ミリ秒」から、「1秒000ミリ秒」進んだ時刻である「00時間00分01秒000ミリ秒」を設定時刻とする。
【0044】
CPU42は、処理時間を計測するために用いるタイマーを0リセットした後カウントを開始する(ステップS103)。ここで処理時間とは、例えば後述するように、端末装置を選択してから通信時間を算出するのに要する時間である。本実施形態においては、各端末装置についての処理時間はすべて「60ミリ秒」として説明する。
【0045】
なお、処理時間の中に、後述する待ち時間を算出するのに要する時間を予測して含めてもよい。さらに、処理時間の中に、後述する同期データを送信するのに要する時間を予測して含めてもよい。
【0046】
CPU42は、同期データを送信する対象となる端末装置を選択する(ステップS104)。例えばCPU42は、
図1のグループ1に属する端末装置3aを選択する。
【0047】
CPU42は、選択した端末装置についての通信時間を算出する(ステップS105)。例えばCPU42は、
図6に示すホップ数管理データ443のレコード601から端末装置3aのホップ数「5」を抽出し、このホップ数「5」に、1ホップ数当たりの通信時間「20ミリ秒」を乗じた「100ミリ秒」を通信時間として算出する。
【0048】
なお、端末装置3bの場合、CPU42は、
図6に示すホップ数管理データ443のレコード602から端末装置3bのホップ数「4」を抽出し、このホップ数「4」に、1ホップ数当たりの通信時間「20ミリ秒」を乗じた「80ミリ秒」を通信時間として算出する。また、端末装置3c〜3eの場合、CPU42は、
図6に示すホップ数管理データ443のレコード603〜605のいずれかから端末装置3c〜3eのホップ数「3」を抽出し、このホップ数「3」に、1ホップ数当たりの通信時間「20ミリ秒」を乗じた「60ミリ秒」を通信時間としてそれぞれ算出する。
【0049】
次に、CPU42は、選択した端末装置についての待ち時間を算出する(ステップS106)。例えばCPU42は、上記ステップS103にて0リセットしたタイマーにてカウント中の処理時間と、上記ステップS105にて算出した通信時間と処理時間とを加算することにより、待ち時間を算出することができる。なお、処理時間の中に、待ち時間を算出するのに要した時間や、後述する同期データを送信するのに要する時間を含めている場合、算出した待ち時間にはこれらの時間が含まれる。
【0050】
図7は、端末装置3の待ち時間を算出する場合の一例を模式的に示す図である。端末装置3aにおける処理時間が「60ミリ秒」である場合、待ち時間は、1秒(1000ミリ秒)から処理時間「60ミリ秒」及び通信時間「100ミリ秒」を減算することにより、「840ミリ秒」と算出される。この場合、例えば、処理時間「60ミリ秒」及び通信時間「100ミリ秒」が、「端末装置が設定時刻を取得するのに要する時間」となる。
【0051】
CPU42は、設定時刻を示すデータと、待ち時間を示すデータとを組み合わせて同期データを生成し、生成した同期データを端末装置3に送信する。例えば、設定時刻を示すデータ「00時間00分01秒」と、待ち時間を示すデータ「840ミリ秒」とを組み合わせて同期データを生成して送信する。なお、設定時刻を示すデータからミリ秒の桁(000ミリ秒)を切り捨てているのは、端末装置3のRTC51の有効桁が秒の位までだからである。
【0052】
端末装置3のCPU52は、端末制御装置2から同期データを受信すると(ステップS110)、受信した同期データのうち待ち時間を示すデータを読み込んで、待ち時間をカウントする(ステップS111)。例えば端末装置3aのCPU52は、カウントが「840ミリ秒」になるまで、待ち時間をカウントする。
【0053】
CPU52は、待ち時間になったと判断すると(ステップS112におけるYes処理)、受信した同期データのうち設定時刻を示すデータをRTC51の設定時刻データ511に設定する(ステップS113)。具体的には、CPU52は、「00時間00分01秒」をRTC51に設定する。
【0054】
一方、端末制御装置2のCPU42は、未処理の端末装置3があるか判断し(ステップS108)、未処理の端末装置3があれば上記ステップS104に戻って処理を繰り返す(ステップS108におけるYes判断)。
【0055】
図7に示すように、例えば端末装置3bのCPU52は、カウントが「700ミリ秒」になるまで待ち時間をカウントした後、設定時刻を示すデータである「00時間00分01秒」をRTC51に設定する。
【0056】
また、例えば端末装置3cのCPU52は、カウントが「580ミリ秒」になるまで待ち時間をカウントした後、設定時刻を示すデータである「00時間00分01秒」をRTC51に設定する。また、例えば端末装置3dのCPU52は、カウントが「460ミリ秒」になるまで待ち時間をカウントした後、設定時刻を示すデータである「00時間00分01秒」をRTC51に設定する。また、例えば端末装置3eのCPU52は、カウントが「340ミリ秒」になるまで待ち時間をカウントした後、設定時刻を示すデータである「00時間00分01秒」をRTC51に設定する。
【0057】
次に、端末制御装置2のCPU42は、未処理の端末装置3がなければ(ステップS108におけるNo判断)、さらに未処理のグループがあるか判断し(ステップS109)、未処理のグループがあれば上記ステップS101に戻って処理を繰り返す(ステップS109におけるYes判断)。
【0058】
例えばCPU42は、
図1に示したグループ1に属する端末装置3a〜3eについて時刻同期処理が完了すると、グループ2に属する端末装置3f及び3gについて時刻同期処理を実行する。また、グループ2に属する端末装置3f及び3gについて時刻同期処理が完了すると、グループ3に属する端末装置3h〜3jについて時刻同期処理を実行する。
【0059】
このように、端末制御装置2は、先の時刻を示す設定時刻データと、各端末装置毎に異なる待ち時間データとを送信して、各端末装置3は、受信した待ち時間データに示す待ち時間になったタイミングにおいて、受信した設定時刻データに示す設定時刻をRTCに設定する。これにより、同期元である端末制御装置2と同期先である各端末装置3との間において、RTCの計時単位の有効桁数に差異があった場合でも、各端末装置3の時刻を確実に同期させることができる。また、待ち時間に基づいて同期タイミングを合致させているため、クロック信号受信のための無線通信を排除して省電力化を図ることもできる。
【0060】
[2.その他の実施形態]
上記実施形態においては、各端末装置についての処理時間はすべて「60ミリ秒」としたが、待ち時間を算出するのに要した時間を処理時間に含めてもよい。さらに、同期データを送信するのに要する時間を予測して処理時間に含めてもよい。
【0061】
上記実施形態においては、現在時刻から「1秒」進んだ時刻を設定時刻として決定する例を説明したが、「1秒」以外の時刻を設定時刻としてもよい。例えば、グループ内の端末装置3の数に応じて設定時刻を決定してもよい。具体的には端末装置3の数が多い程、現在時刻と設定時刻との時間間隔を長くとることができる。
【0062】
上記実施形態においては、端末装置3及び中継機4が通信する場合の通信時間を、各装置間のホップ数等に基づいて算出する例を説明したが、通信時間を所定時間としてもよい。例えばグループ内の全ての通信時間を「50ミリ秒」としてもよい。これにより、通信時間の算出のための処理を省略することができ処理の高速化を図ることが可能となる。
【0063】
なお、グループ内の全ての処理時間及び通信時間を一律の時間とした場合、この場合、2つの端末装置間における設定時刻を取得するタイミングの差と、2つの端末装置間における待ち時間の差とが合致するようになる。具体的には、処理時間及び通信時間の合計時間を例えば「100ミリ秒」とする場合、端末装置3a及び3b間における設定時刻を取得するタイミングの差は「100ミリ秒」であり、端末装置3a及び3b間における待ち時間の差は「100ミリ秒」となる。
【0064】
上記各実施形態において説明した構成の一部または全部を、2以上組み合わせた構成としてもよい。