以下、本発明に係る実施形態を図面に基づいて説明する。なお、各図において同一の符号を付した構成は、同一の構成であることを示し、その説明を省略する。
(第1の実施形態の構成)
図1は、実施形態に係る遠隔監視制御システムの構成を示す図である。図2は、第1の実施形態に係る中継親装置の構成を示すブロック図である。
図1において、第1の実施形態に係る遠隔監視制御システム1は、背景技術に係る中継装置700−xの代わりに以下に説明する第1の実施形態に係る中継親装置20を用いる点を除き、図10を用いて説明した遠隔制御システム1000と同様である。そのため、監視装置10、第1乃至第3伝送路12、13、14及び中継子装置700−y、700−zの説明を省略する。
ここで、機器11についてさらに詳述すると、機器11は、遠隔監視制御システム1の監視及び/又は制御の対象であり、電気エネルギと関係して動作する装置である。機器11は、通信を行う通信部と、機器11の機能を実行する機能部とを備えて構成され、自発的に、あるいは、機器監視制御装置10から直接又は中継親装置20と中継子装置700とを介して受信した機能部の状態を要求する監視要求に従って、機能部の状態(例えば、電源のオン・オフ、稼動状態、故障状態、検知状態等)を機器監視制御装置10に直接又は中継親装置20と中継子装置700とを介して送信したり、機能部の状態を制御する制御要求を機器監視制御装置10から直接又は中継親装置20と中継子装置700とを介して受信し制御要求の通りに制御したりするものである。機能部は、機器11が、例えば、照明器具である場合には、光を生じる発光機能である。照明器具の他に、例えば、空調装置等の住戸環境やオフィス環境等を調整する装置、電気錠、給湯装置及び換気扇等の住戸設備、誘導灯及び非常灯等の防災設備、テレビジョン、ビデオテープレコーダ、DVDレコーダ及び洗濯機等の家電製品、コンピュータ等の情報処理装置、電話機及びファクシミリ装置等の通信機器、脈拍計、体温計、血中酸素濃度計及び心電図計等の医療機器、ガスメータ、電力メータ及び水道メータ等の計量メータ、防災センサ、防犯センサ、温度センサ及び湿度センサ等のセンサ等である。
これら機器のうち、照明器具、空調装置、浴槽にお湯を張る給湯装置、防災設備、計量メータ、電気錠、防災センサ及び防犯センサ等の建物に備え付けられる建物用機器が好適である。照明器具や空調装置や給湯装置の場合には、建物に入る前に遠隔制御によって快適な環境を提供することができる。防災設備の場合には、遠隔監視によって点検を行うことで災害時に安全を確保することができる。計量メータの場合には、使用量を遠隔に検針することで課金の効率化を図ることができる。また、各箇所の使用量を遠隔に集中的にモニタして使用実態を把握することで無駄を省くことができる。電気錠の場合には、鍵の掛け忘れに対処することができる。防災センサや防犯センサの場合には、遠隔監視によって被害の防止や拡大を防ぐことができる。
図2において、第1の実施形態に係る中継親装置20は、第1通信インタフェース部(以下、「第1通信IF部」と略記する。)21と、制御部22と、記憶部23と、第2通信インタフェース部(以下、「第2通信IF部」と略記する。)24とを備えて構成される。
第1通信IF部21は、第1伝送路12を用いて通信を行うための通信インタフェース回路であり、制御部22からのデータを第1伝送路12の第1通信プロトコルに従った通信信号を生成すると共に第1伝送路12からの通信信号を制御部22が処理可能な形式のデータに変換する。
第2通信IF部24は、第3伝送路14を用いて通信を行うための通信インターフェース回路であり、制御部22からのデータを第3伝送路14の第2通信プロトコルに従った通信信号を生成すると共に、第3伝送路14の通信信号を制御部22が処理可能な形式のデータに変換する。
ここで、第1伝送路12の伝送媒体及び通信プロトコルと第2伝送路13の伝送媒体及び通信プロトコルは、異なってもよいが、本実施形態では、同じ伝送媒体及び通信プロトコルを採用している。このため、中継子装置700の第1及び第2通信IF部702、701は、第1及び第2通信IF部21、24とそれぞれ同様である。
また、第2通信IF部24は、例えば、送信する場合には第1通信プロトコルに従った形式のデータを第2通信プロトコルでカプセル化する一方、受信する場合にはデカプセル化するものでもよい。即ち、第2通信IF部24は、送信する場合には、制御部22から通知された第1通信プロトコルに従った形式のデータを、第2通信プロトコルのペイロード部に収容することによってカプセル化して、第3伝送路14に送信すべき通信信号を生成する。一方、第2通信IF部24は、受信する場合には、第2伝送路14から受信した通信信号のペイロード部からデータを取り出すことによってデカプセル化して、制御部22に出力すべきデータを生成する。このように第1通信プロトコルから第2通信プロトコルへの変換は、カプセル化によって行われるので、第1通信プロトコルから第2通信プロトコルへ変換する際に、第1通信プロトコルの通信信号に収容されているデータを第2通信プロトコルのフォーマットに合わせて入れ替え等を行って第2通信プロトコルの通信信号を生成する必要がない。また、逆に、第2通信プロトコルから第1通信プロトコルへの変換は、デカプセル化によって行われるので、第2通信プロトコルから第1通信プロトコルへ変換する際に、第2通信プロトコルの通信信号に収容されているデータをそのまま取り出せばよい。このため、変換処理が容易であり、高速に処理することができる。従って、通信プロトコルの変換にカプセリングを採用することによって、中継親装置20と中継子装置700との間における通信信号の中継処理に要する時間をより短くすることができる。
第1通信プロトコルと第2通信プロトコルとは、互いに異なる通信プロトコルであり、例えば、第1通信プロトコルは、RS485のデータ信号線プロトコルであり、第2通信プロトコルは、電力線通信プロトコル、微弱無線、特定小電力無線及びブルーツゥース(Bluetooth;登録商標)等の近距離無線プロトコル等である。
制御部22は、例えば、マイクロプロセッサ及びその周辺回路等で構成され、中継処理部31と、タイムアウト時間設定部32とを備えると共に、各プログラムに従い第1通信IF部21、記憶部23及び第2通信IF部24を当該機能に応じてそれぞれ制御する。
中継処理部31は、後述の動作によって、機器11宛ての通信信号を監視制御装置10から受信した場合に中継子装置700に送信することによってこの機器11宛ての通信信号を中継すると共に機器11からの監視制御装置10宛ての通信信号を中継子装置700から受信した場合に監視制御装置10に送信することによって機器11からの監視制御装置10宛ての通信信号を中継する。タイムアウト時間設定部32は、後述の動作によって当該中継親装置12のタイムアウト時間を設定する。
記憶部23は、中継情報を記憶する中継情報記憶部41と、監視制御装置タイムアウト情報を記憶する監視制御装置タイムアウト情報記憶部42と、最短応答時間を記憶する最短応答時間記憶部43と、中継親装置タイムアウト情報を記憶する中継親装置タイムアウト記憶部44とを備え、本中継親装置20を動作させるための制御プログラム等の各プログラム、各プログラムの実行に必要な情報等を記憶すると共に、制御部22に対する所謂ワーキングメモリである。記憶部23は、例えばRAM(Random Access Memory)等の揮発性記憶素子、EEPROM(Electrically Erasable Programmable Read Only Memory)等の書換え可能な不揮発性記憶素子、及び、ROM(Read Only Memory)等の不揮発性記憶素子等の半導体記憶素子を備えて構成される。
中継情報は、監視制御装置10と機器11との間における通信信号を中継するために必要な情報であり、例えば、中継子装置700と当該中継子装置700に第2伝送路13を介して接続している機器11との対応関係を示す情報である。この対応関係は、例えば、中継子装置700の通信アドレスと機器11の通信アドレスとを対応付けることによって示される。中継子装置700の通信アドレスは、中継子装置700を識別し特定するために当該中継子装置700に固有に割り当てられた記号列(1個の記号から成る場合も含む。)である中継子装置IDであり、通信アドレスとIDとが兼用されている。機器11の通信アドレスは、機器11を識別し特定するために当該機器11に固有に割り当てられた記号列である機器IDであり、通信アドレスとIDとが兼用されている。
図1に示す例では、中継子装置700−y及び中継子装置700−zの通信アドレス(中継子装置ID)は、例えば、それぞれ「y」及び「z」であり、機器11−a、機器11−b、機器11−c、機器11−d、機器11−e及び機器11−fの通信アドレス(機器ID)は、例えば、それぞれ、「1」、「2」、「3」、「4」、「5」及び「6」である。
また、中継親装置20の通信アドレスは、同様に、中継親装置20を識別し特定するために当該中継親装置20に固有に割り当てられた記号列である中継親装置IDであり、通信アドレスとIDとが兼用されている。図1に示す例では、中継親装置20の通信アドレス(中継親装置ID)は、例えば、「x」である。
監視制御装置タイムアウト情報は、監視制御装置10が機器11宛ての通信信号(コマンド信号)を第1伝送路12に送信してからこの機器11宛ての通信信号(コマンド信号)に対する返信である通信信号(応答信号)を第1伝送路12から受信するまでの返信として許容され得る時間である監視制御装置10のタイムアウト時間TOsc、監視制御装置10がコマンド信号のリトライを行う時間間隔である監視制御装置10のリトライ時間間隔TRsc、監視制御装置10がコマンド信号のリトライを行う回数である監視制御装置10のリトライ回数NRsc、及び、監視制御装置10の予備時間TSscである。監視制御装置10の予備時間TSscは、予め監視制御装置タイムアウト情報記憶部42に記憶される。一方、これら監視制御装置10のタイムアウト時間TOsc、リトライ時間間隔TRsc及びリトライ回数NRscは、後述するように、当該中継親装置20が起動後に測定によって取得し、監視制御装置タイムアウト情報記憶部42に記憶される。
監視制御装置10の予備時間TSscは、監視制御装置10がコマンド信号を第1伝送路12に送信してからこのコマンド信号に対する応答信号を受信するまでの通常要する時間以上の時間であり、仕様によって決定されるが、例えば、第1伝送路12の通信速度及びコマンド信号のデータ量等に応じて予め設定される。監視制御装置10の予備時間TSscは、第1伝送路12の通信速度が速ければ短くなり、また、コマンド信号のデータ量が少なければ短くなる。
コマンドは、監視要求及び/又は制御要求のことであり、コマンド信号は、監視要求を収容した通信信号(監視要求信号)と、制御要求を収容した通信信号(制御要求信号)と、監視要求及び制御要求を収容した通信信号(監視制御要求信号)とがある。応答信号には、監視情報が収容される。
監視情報は、遠隔監視制御システム1の監視目的及び/又は制御目的に応じた機器11に関する情報であり、機器11の機能部で検出したデータや機能部の状態(例えば、電源のオン・オフ、稼動状態、故障状態等)に関するデータである。例えば、遠隔監視制御システム1の監視目的が負荷の消費電力である場合には、機器11は、電力メータであり、監視情報は、電力メータの電力量である。また例えば、遠隔監視制御システム1の監視目的が防犯である場合には、機器11は、防犯センサであり、監視情報は、防犯センサにおけるイベントの発報の有無である。また例えば、遠隔監視制御システム1の制御目的が照明器具の点灯制御である場合には、機器11は、照明器具であり、監視情報は、照明器具のオン・オフである。また例えば、遠隔監視制御システム1の制御目的が空調装置の稼動である場合には、機器11は、空調装置であり、監視情報は、空調装置のオン・オフ、設定温度及び設定風量等である。
最短応答時間TAminは、監視制御装置10から受信したコマンド信号を中継子装置700を介して機器11に送信(中継)する場合に、コマンド信号を第3伝送路14に送信してからこのコマンド信号に対する応答信号を受信するまでに要する応答時間のうち、最も短い応答時間である。
中継親装置タイムアウト情報は、監視制御装置10から受信した中継すべきコマンド信号を当該中継親装置20が第3伝送路14に送信してからこのコマンド信号に対する応答信号を第3伝送路14から受信するまでの返信として許容され得る時間である中継親装置20のタイムアウト時間TOpr、中継親装置20のリトライ時間間隔TRsc及び中継親装置20のリトライ回数NRscである。中継親装置20のリトライ時間間隔TRprは、予め中継親装置タイムアウト情報記憶部44に記憶される。一方、これら中継親装置20のタイムアウト時間TOpr及びリトライ回数NRprは、後述するように、当該中継親装置20が起動後に所定の諸量を測定することによって取得され、中継親装置タイムアウト情報記憶部44に記憶される。
次に、第1の実施形態の動作について説明する。
(第1の実施形態の動作)
まず、中継親装置20のタイムアウト時間を設定するタイムアウト時間設定処理について説明する。図3は、第1の実施形態に係る中継親装置のタイムアウト時間を設定する動作を示すフローチャートである。
機器11の設置場所に起因して第1伝送路12に直接接続できない場合や機器11が増設される場合等のために、第1伝送路12を介して監視制御装置10に通信可能に中継親装置20が配置され、例えば、その電源が投入されると、中継親装置20の制御部22におけるタイムアウト時間設定部32が起動し、以下の動作を実行する。
図3において、タイムアウト時間設定部32は、監視制御装置タイムアウト情報記憶部42に監視制御装置タイムアウト情報が設定済みであるか否かを判断する(S11)。判断の結果、監視制御装置タイムアウト情報が設定済みである場合(YES)には、タイムアウト時間設定部32は、このタイムアウト時間設定処理を終了する。一方、判断の結果、監視制御装置タイムアウト情報が未設定である場合(NO)には、監視制御装置10のタイムアウト時間TOsc、そのリトライ時間間隔TRsc及びそのリトライ回数NRscを測定すべく、タイムアウト時間設定部32は、第1通信IF部21において通信信号の受信待ちを行って、第1通信IF部21でコマンド信号Mを受信すると、この受信したコマンド信号Mを記憶部23に記憶する(S12)。そして、タイムアウト時間設定部32は、第1回目として、監視制御装置10のリトライ時間間隔TRsc(1)の計測を開始する(S13)。
タイムアウト時間設定部32は、第1通信IF部21において通信信号の受信待ちを行って、第1通信IF部21でコマンド信号Nを受信すると(S14)、この受信したコマンド信号Nが記憶部23に記憶しているコマンド信号Mに一致するか否かを判断する(S15)。即ち、タイムアウト時間設定部32は、監視制御装置10がコマンド信号Mをリトライ(再送信)したか否かを判断する。この判断は、例えば、コマンド信号Mとコマンド信号Nとの全ビットを比較したり、シーケンス番号を比較したりすることによって行う。
判断の結果、一致しない場合(NO)には、タイムアウト時間設定部32は、タイムアウト時間設定動作を最初から開始すべく、処理を処理S12に戻して通信信号の受信待ちを行う。一方、判断の結果、一致する場合(YES)には、監視制御装置10のリトライ時間間隔TRsc(1)の計測を終了し、第1回目における監視制御装置10のリトライ時間間隔TRsc(1)を記憶部23に記憶する(S16)。
次に、タイムアウト時間設定部32は、監視制御装置10のリトライ回数NRscを1だけインクリメントする(S17)。即ち、監視制御装置10のリトライ回数NRsc=1である。
そして、タイムアウト時間設定部32は、監視制御装置タイムアウト情報の測定時間が終了したか否かを判断する(S18)。監視制御装置タイムアウト情報の測定時間は、監視制御装置10のタイムアウト時間を測定するために充分な時間であり、例えば、通常、監視制御装置10にそのタイムアウト時間として設定されると想定される時間以上の時間である。
判断の結果、監視制御装置タイムアウト情報の測定時間が終了していない場合には、タイムアウト時間設定部32は、次の監視制御装置10のリトライ時間間隔TRsc(2)を測定すべく、処理を処理S13に戻す。そして、タイムアウト時間設定部32は、処理S13乃至処理S18を実行することにより、第2回目における監視制御装置10のリトライ時間間隔TRsc(2)を測定し、リトライ回数NRscを計数する。このようにタイムアウト時間設定部32は、監視制御装置タイムアウト情報の測定時間が経過するまで、処理S13乃至処理S18を繰り返し実行して、1又は複数の監視制御装置10のリトライ時間間隔TRsc(n)及びリトライ回数NRscを測定する。
一方、処理S18における判断の結果、監視制御装置タイムアウト情報の測定時間が終了している場合には、タイムアウト時間設定部32は、記憶部23に記憶されている監視制御装置10のリトライ時間間隔TRsc(1)〜TRsc(n)及びリトライ回数NRscに基づいて監視制御装置10のリトライ時間間隔TRsc(1)〜TRsc(n)の平均値を演算し、演算結果の平均値を監視制御装置10のリトライ時間間隔TRscとし、これを監視制御装置タイムアウト情報記憶部42に記憶する。タイムアウト時間設定部32は、記憶部23に記憶されている監視制御装置10のリトライ時間間隔TRsc(1)〜TRsc(n)の和に監視制御装置10の予備時間TSscを加算し、この結果を監視情報装置10のタイムアウト時間TOscとし、これを監視制御装置タイムアウト情報記憶部42に記憶する。そして、タイムアウト時間設定部32は、記憶部23に記憶されている監視制御装置10のリトライ回数を監視制御装置タイムアウト情報記憶部42に記憶する(S19)。
次に、タイムアウト時間設定部32は、監視制御装置10のリトライ時間間隔TRscに基づいて中継親装置20のタイムアウト時間TOprを算出し、この算出した中継親装置20のタイムアウト時間TOprを中継親装置タイムアウト情報記憶部44に記憶する(S20)。
例えば、タイムアウト時間設定部32は、中継親装置20のタイムアウト時間TOprを監視制御装置10のリトライ時間間隔TRscよりも短い値に設定する。より具体的には、例えば、タイムアウト時間設定部32は、監視制御装置10のリトライ時間間隔TRscから監視制御装置10の予備時間TSscを減算することによって中継親装置20のタイムアウト時間TOprを算出し、設定する。
次に、タイムアウト時間設定部32は、処理S20で設定した中継親装置20のタイムアウト時間TOpr及びリトライ時間間隔TRpr等に基づいてリトライ回数NRprを算出し、この算出したリトライ回数NRprを中継親装置タイムアウト情報記憶部44に記憶する(S21)。
例えば、中継親装置タイムアウト情報記憶部44に中継親装置20の予備時間TSprを予め記憶しておき、タイムアウト時間設定部32は、中継親装置20のタイムアウト時間間隔TOprから中継親装置20の予備時間TSprを減算し、その減算結果を中継親装置20のリトライ時間間隔TRprで除算し、除算結果の最大の整数値を中継親装置20のリトライ回数NRprとする。中継親装置20の予備時間TSprは、中継親装置20がコマンド信号を第3伝送路14に送信してからこのコマンド信号に対する応答信号を受信するまでに通常要する時間であり、仕様によって決定されるが、例えば、第3伝送路14の通信速度及びコマンド信号のデータ量等に応じて予め設定される。
また例えば、タイムアウト時間設定部32は、機器11から受信応答を要求する通信信号(ピング、ping)を同報通信で第3伝送路14に送信し、その送信してから最初に受信応答を受信するまでの時間を測定し、これを初期値の最短応答時間TAmin0として最短応答時間記憶部43に記憶する。そして、タイムアウト時間設定部32は、中継親装置20のタイムアウト時間間隔TOprからこの初期値の最短応答時間TAmin0を減算し、その減算結果を中継親装置20のリトライ時間間隔TRprで除算し、除算結果の最大の整数値を中継親装置20のリトライ回数NRprとする。
次に、タイムアウト時間設定部32は、記憶部23に記憶してあるコマンド信号M及びコマンド信号N(1)〜コマンド信号N(n)を破棄し、処理を終了する(S22)。
このように動作することによって、中継親装置20は、監視制御装置10のリトライ時間間隔TRsc及びリトライ回数NRscを自動的に取得することができる。また、中継親装置20は、この取得した監視制御装置10のリトライ時間間隔TRscから中継親装置20のタイムアウト時間TOpr及びリトライ回数NRprを自動的に算出し、設定することができる。特に、中継親装置20のリトライ回数NRprは、上述のように算出されるので、監視制御装置10のリトライ時間間隔TRscの範囲内で最大回数に設定され得る。
このようなタイムアウト時間設定処理が終了すると、中継親装置20の運用が開始され、監視制御装置10と機器11との間における通信信号の中継が開始される。
図4は、第1の実施形態に係る中継親装置の中継動作を示すフローチャートである。図4において、中継処理部31は、第1通信IF部21において通信信号の受信待ちを行って、第1通信IF部21でコマンド信号を受信すると、リトライの実行回数を計数するリトライカウンタRCpr等の各種変数の初期化を行って(S31)、タイムアウト用に経過時間の測定を開始し(S32)、さらに、リトライ用に経過時間の測定を開始する(S33)。そして、中継処理部31は、第1通信IF部21で受信したコマンド信号を中継すべく、第2通信IF部24からこのコマンド信号を送信する(S34)。
次に、中継処理部31は、第2通信IF部24において通信信号の受信待ちを行って、第2通信IF部24で応答信号を受信したか又はリトライ用に測定している経過時間が中継親装置20のリトライ時間間隔TRprに達したかを判断する(S35)。
判断の結果、第2通信IF部24で応答信号を受信した場合(応答信号の受信)には、中継処理部31は、タイムアウト用に測定している経過時間を応答時間TAとすると共に、このタイムアウト用に測定している経過時間が中継親装置20のタイムアウト時間間隔TOprに達しているか否かを判断する(S36)。
判断の結果、中継親装置20のタイムアウト時間間隔TOprに達している場合(YES)には、タイムアウトと判断され、中継処理部31は、第2通信IF部24で受信した応答信号を監視制御装置10に中継することなく保留し(S37)、処理をS31に戻す。
一方、処理S36における判断の結果、中継親装置20のタイムアウト時間間隔TOprに達していない場合(NO)には、中継処理部31は、第2通信IF部24で受信した応答信号を監視制御装置10へ中継すべく、第1通信IF部21からこの応答信号を送信する(S51)。
次に、中継処理部31は、処理S36の応答時間TAが最短応答時間記憶部43に記憶されている最短応答時間TAminより短いか否かを判断する(S52)。判断の結果、応答時間TAが最短応答時間TAminより短くない場合(NO)には、中継処理部31は、処理を処理S31に戻す。一方、応答時間TAが最短応答時間TAminより短い場合(NO)には、中継処理部31は、この応答時間TAを新たな最短応答時間TAminとして最短応答時間記憶部43に記憶して最短応答時間TAminを更新する(S53)。
次に、最短応答時間TAminが更新されたので、中継処理部31は、中継親装置20のリトライ回数NRprを更新してから、処理を処理S31に戻す(S54)。中継親装置20のリトライ回数NRprの更新は、新たな最短応答時間TAminを用いて、中継親装置20のタイムアウト時間間隔TOprからこの最短応答時間TAminを減算し、その減算結果を中継親装置20のリトライ時間間隔TRprで除算し、除算結果の最大の整数値を中継親装置20のリトライ回数NRprとする。
一方、処理S35における判断の結果、リトライ時間間隔TRprに達している場合(リトライ時間)には、中継処理部31は、リトライカウンタRCprが中継親装置20のリトライ回数NRprに達しているか否かを判断する(S41)。
判断の結果、リトライカウンタが中継親装置20のリトライ回数NRprに達していない場合(YES)には、中継処理部31は、コマンド信号のリトライを行うべく、リトライカウンタRCprを1だけインクリメントを行って更新し(S42)、処理を処理S33に戻す。これによって中継処理部31は、処理S33及び処理S34を実行することによってリトライを実行し、コマンド信号がリトライで第2通信IF部24から送信される。一方、判断の結果、リトライカウンタRCprが中継親装置20のリトライ回数NRprに達している場合(NO)には、中継処理部31は、第2通信IF部24において通信信号の受信待ちを行って、第2通信IF部24から応答信号を受信したか又はタイムアウト用に測定している経過時間が中継親装置20のタイムアウト時間間隔TOprに達したかを判断する(S43)。
判断の結果、タイムアウト時間TOprに達している場合(タイムアウト)には、中継処理部31は、処理を処理S31に戻す。この場合は、処理S31で受信したコマンド信号を中継したがその応答信号を受信できなかった場合である。一方、判断の結果、タイムアウト時間TOprに達していない場合(応答信号の受信)には、中継処理部31は、処理S36を実行する。
次に、監視制御装置10が中継親装置20及び中継子装置700を介して機器11を監視及び/又は制御する遠隔監視制御について説明する。
図5は、第1の実施形態に係る監視制御装置、中継親装置、中継子装置及び機器における動作を示すシーケンス図である。図5(A)は、中継親装置のタイムアウト前に中継親装置が中継子装置から応答信号を受信した場合であり、図5(B)は、中継親装置のタイムアウト後に中継親装置が中継子装置から応答信号を受信した場合である。
図5(A)において、監視制御装置10が機器ID=「3」の機器11宛てにコマンド信号を第1伝送路12に送信すると(C11)、このコマンド信号は、中継親装置20に受信される。中継親装置20は、上述の処理S31乃至処理S34を実行し、中継すべくこのコマンド信号を第3伝送路14に送信する(C12)。このコマンド信号は、中継子装置700−yに受信される。中継子装置700−yは、第2伝送路13を介して機器ID=「3」の機器11にこのコマンド信号を送信する(C13)。機器ID=「3」の機器11は、このコマンド信号を受信すると、コマンド信号に収容されている指示に基づく動作を行って監視情報を収容した応答信号を中継子装置700−yに返信する(C14)。中継子装置700−yは、第2伝送路13を介して機器ID=「3」の機器11からこの応答信号を受信すると、中継すべくこのコマンド信号を第3伝送路14に送信する(C15)。このコマンド信号は、中継親装置20に受信される。中継親装置20は、上述の処理S35及び処理S36を実行する。ここで、この応答信号は、中継親装置20のタイムアウト前に中継親装置20から受信されるから、処理S36で中継親装置20のタイムアウト時間間隔TOprに達していないと判断される。そのため、中継親装置20は、上述の処理S51を実行し、監視制御装置10へ中継すべくこの応答信号を第1伝送路12に送信し(C16)、処理S52乃至処理S54を実行する。この応答信号は、監視制御装置10に受信され、監視制御装置10は、機器ID=「3」の機器11に宛てたコマンド信号の実行結果を知ることができる。
C16において、中継親装置20のタイムアウト時間TOprは、上述したように、監視制御装置10のリトライ時間間隔TRscよりも短い値に設定されるから、中継親装置20が送信する応答信号は、監視制御装置10が送信するリトライのコマンド信号と第1伝送路12で衝突する可能性が低い。従って、中継親装置20の応答信号と監視制御装置10のリトライのコマンド信号との第1伝送路12における衝突が抑制される。特に、中継親装置20のタイムアウト時間TOprが、監視制御装置10のリトライ時間間隔TRscから監視制御装置10の予備時間TSscを減算した値に設定された場合には、中継親装置20の応答信号と監視制御装置10のリトライのコマンド信号との第1伝送路12における衝突を略回避することができる。
また、処理S52乃至処理S54を実行することによって、最短応答時間の更新によって中継親装置20のリトライ回数NRprが更新され得るから、第3伝送路14の通信状態が安定しない場合でも、自動的に第3伝送路14の通信状態が最も安定している場合に中継親装置20のリトライ回数NRprを最適化することができる。
一方、図5(B)において、監視制御装置10が機器ID=「3」の機器11宛てにコマンド信号を第1伝送路12に送信すると(C21)、このコマンド信号は、中継親装置20に受信される。中継親装置20は、上述の処理S31乃至処理S34を実行し、中継すべくこのコマンド信号を第3伝送路14に送信する(C22)。ここで、第3伝送路14の通信状態が悪い等の何らかの原因で、このコマンド信号は、中継子装置700−yに受信されない。このため、処理S35でリトライ時間TRprになったと判断され、中継親装置20は、処理S41、処理S42、処理S33及び処理S34を実行し、コマンド信号をリトライで第3伝送路14に送信する(C23)。さらに、何らかの原因で、このコマンド信号は、中継子装置700−yに受信されず、処理S35でリトライ時間TRprになったと判断され、中継親装置20は、処理S41、処理S42、処理S33及び処理S34を実行し、コマンド信号をリトライで第3伝送路14に送信する(C24)。原因が解消し、このコマンド信号は、中継子装置700−yに受信される。中継子装置700−yは、第2伝送路13を介して機器ID=「3」の機器11にこのコマンド信号を送信する(C25)。機器ID=「3」の機器11は、このコマンド信号を受信すると、コマンド信号に収容されている指示に基づく動作を行って監視情報を収容した応答信号を中継子装置700−yに返信する(C26)。中継子装置700−yは、第2伝送路13を介して機器ID=「3」の機器11からこの応答信号を受信すると、中継すべくこの応答信号を第3伝送路14に送信する(C27)。この応答信号は、中継親装置20に受信される。中継親装置20は、上述の処理S35及び処理S36を実行する。ここで、この応答信号は、中継親装置20のタイムアウト後に中継親装置20から受信されるから、処理S36で中継親装置20のタイムアウト時間間隔TOprに達していると判断される。そのため、中継親装置20は、上述の処理S37を実行し、この応答信号を保留する。即ち、この応答信号は、第1伝送路12に送信されない。
C27において、中継親装置20のタイムアウト時間TOprは、上述したように、監視制御装置10のリトライ時間間隔TRscよりも短い値に設定されるから、中継親装置20のタイムアウト時間TOpr後に監視制御装置10からリトライのコマンド信号が第1伝送路12に送信され得る。中継親装置20のタイムアウト後に受信した応答信号は、保留され第1伝送路12に送信されないから、監視制御装置10が送信するリトライのコマンド信号の第1伝送路12における衝突を回避することができる。
次に、別の実施形態について説明する。
(第2の実施形態の構成)
図1において、第2の実施形態に係る遠隔監視制御システム2は、背景技術に係る中継装置700−xの代わりに以下に説明する第2の実施形態に係る中継親装置50を用いる点を除き、図10を用いて説明した遠隔制御システム1000と同様である。そのため、監視装置10、第1乃至第3伝送路12、13、14及び中継子装置700−y、700−zの説明を省略する。機器11は、第1の実施形態と同様であるので説明を省略する。
図6は、第2の実施形態に係る中継親装置の構成を示すブロック図である。図6において、第2の実施形態に係る中継親装置50は、第1通信IF部21と、制御部51と、記憶部52と、第2通信IF部24とを備えて構成される。第1及び第2通信IF部21、24は、第1の実施形態と同様であるので、その説明を省略する。
制御部51は、例えば、マイクロプロセッサ及びその周辺回路等で構成され、中継処理部61と、リトライ情報収集部62とを備えると共に、各プログラムに従い第1通信IF部21、記憶部52及び第2通信IF部24を当該機能に応じてそれぞれ制御する。
中継処理部61は、後述の動作によって、機器11宛ての通信信号を監視制御装置10から受信した場合に中継子装置700に送信することによってこの機器11宛ての通信信号を中継すると共に機器11からの監視制御装置10宛ての通信信号を中継子装置700から受信した場合に監視制御装置10に送信することによって機器11からの監視制御装置10宛ての通信信号を中継する。リトライ情報収集部62は、後述の動作によって、監視制御装置10のリトライ時間間TRsc及びリトライ回数NRscを測定しこれらを収集する。
記憶部52は、中継情報を記憶する中継情報記憶部41と、監視制御装置リトライ情報を記憶する監視制御装置リトライ情報記憶部71と、中継親装置タイムアウト情報を記憶する中継親装置タイムアウト記憶部72とを備え、本中継親装置50を動作させるための制御プログラム等の各プログラム、各プログラムの実行に必要な情報等を記憶すると共に、制御部51に対する所謂ワーキングメモリである。記憶部23は、例えばRAM、EEPROM及びROM等の半導体記憶素子を備えて構成される。
監視制御装置リトライ情報は、監視制御装置10のリトライ時間間隔TRsc及びリトライ回数NRscである。これらリトライ時間間隔TRsc及びリトライ回数NRscは、後述するように、当該中継親装置50が起動後に測定によって取得し、監視制御装置リトライ情報記憶部71に記憶される。
中継親装置タイムアウト情報は、第1の実施形態と同様に、中継親装置20のタイムアウト時間TOpr、リトライ時間間隔TRsc及び中継親装置20ののリトライ回数NRscである。第1の実施形態では、中継親装置20のリトライ時間間隔TRprのみ予め中継親装置タイムアウト情報記憶部44に記憶されたが、第2の実施形態では、これら中継親装置20のタイムアウト時間TOpr、リトライ時間間隔TRpr及びリトライ回数NRprが仕様により決定され予め中継親装置タイムアウト情報記憶部72に記憶される。
次に、第2の実施形態の動作について説明する。
(第2の実施形態の動作)
まず、中継親装置50が監視制御装置10のリトライ情報を収集するリトライ情報収集処理について説明する。図7は、第2の実施形態に係る中継親装置のリトライ情報を収集する動作を示すフローチャートである。
機器11の設置場所に起因して第1伝送路12に直接接続できない場合や機器11が増設される場合等のために、第1伝送路12を介して監視制御装置10に通信可能に中継親装置50が配置され、例えば、その電源が投入されると、中継親装置50の制御部51におけるリトライ情報収集部61が起動し、以下の動作を実行する。
図7において、リトライ情報収集部61は、監視制御装置リトライ情報記憶部71に監視制御装置リトライ情報が設定済みであるか否かを判断する(S61)。判断の結果、監視制御装置タイムアウト情報が設定済みである場合(YES)には、リトライ情報収集部61は、このリトライ情報収集処理を終了する。一方、判断の結果、監視制御装置リトライ情報が未設定である場合(NO)には、監視制御装置10のリトライ時間間隔TRsc及びそのリトライ回数NRscを測定すべく、リトライ情報収集部61は、第1通信IF部21において通信信号の受信待ちを行って、第1通信IF部21でコマンド信号Mを受信すると、この受信したコマンド信号Mを記憶部52に記憶する(S62)。そして、リトライ情報収集部61は、第1回目として、監視制御装置10のリトライ時間間隔TRsc(1)の計測を開始する(S63)。
リトライ情報収集部61は、第1通信IF部21において通信信号の受信待ちを行って、第1通信IF部21でコマンド信号Nを受信すると(S64)、監視制御装置10におけるコマンド信号Mのリトライ(再送信)を判断すべく、この受信したコマンド信号Nが記憶部52に記憶しているコマンド信号Mに一致するか否かを判断する(S65)。
判断の結果、一致しない場合(NO)には、リトライ情報収集部61は、リトライ情報収集処理を最初から開始すべく、処理を処理S62に戻して通信信号の受信待ちを行う。一方、判断の結果、一致する場合(YES)には、監視制御装置10のリトライ時間間隔TRsc(1)の計測を終了し、第1回目における監視制御装置10のリトライ時間間隔TRsc(1)を記憶部52に記憶する(S66)。
次に、リトライ情報収集部61は、監視制御装置10のリトライ回数NRscを1だけインクリメントする(S67)。即ち、監視制御装置10のリトライ回数NRsc=1である。
そして、リトライ情報収集部61は、監視制御装置リトライ情報の測定時間が終了したか否かを判断する(S68)。監視制御装置リトライ情報の測定時間は、監視制御装置10のリトライ回数NRscを測定するために充分な時間であり、第1の実施形態における監視制御装置タイムアウト情報の測定時間と同様に、例えば、通常、監視制御装置10にそのタイムアウト時間として設定されると想定される時間以上の時間である。
判断の結果、監視制御装置リトライ情報の測定時間が終了していない場合には、リトライ情報収集部61は、次の監視制御装置10のリトライ時間間隔TRsc(2)を測定すべく、処理を処理S63に戻す。そして、リトライ情報収集部61は、処理S63乃至処理S68を実行することにより、第2回目における監視制御装置10のリトライ時間間隔TRsc(2)を測定し、リトライ回数NRscを計数する。このようにリトライ情報収集部32は、監視制御装置リトライ情報の測定時間が経過するまで、処理S63乃至処理S68を繰り返し実行して、1又は複数の監視制御装置10のリトライ時間間隔NRsc(n)及びリトライ回数NRscを測定する。
一方、処理S68における判断の結果、監視制御装置リトライ情報の測定時間が終了している場合には、リトライ情報収集部61は、記憶部52に記憶されている監視制御装置10のリトライ時間間隔TRsc(1)〜TRsc(n)及びリトライ回数NRscに基づいて監視制御装置10のリトライ時間間隔TRsc(1)〜TRsc(n)の平均値を演算し、演算結果の平均値を監視制御装置10のリトライ時間間隔TRscとし、これを監視制御装置リトライ情報記憶部71に記憶する。そして、リトライ情報収集部61は、記憶部52に記憶されている監視制御装置10のリトライ回数NRscを監視制御装置リトライ情報記憶部71に記憶する(S69)。
次に、リトライ情報収集部61は、記憶部52に記憶してあるコマンド信号M及びコマンド信号N(1)〜コマンド信号N(n)を破棄し、処理を終了する(S70)。
このように動作することによって、中継親装置50は、監視制御装置10のリトライ時間間隔TRsc及びリトライ回数NRscを自動的に取得することができる。
このようなリトライ情報収集処理が終了すると、中継親装置50の運用が開始され、監視制御装置10と機器11との間における通信信号の中継が開始される。
図8は、第2の実施形態に係る中継親装置の中継動作を示すフローチャートである。図8において、中継処理部61は、第1通信IF部21において通信信号の受信待ちを行って、第1通信IF部21でコマンド信号を受信すると、監視制御装置10におけるコマンド信号のリトライの実行回数を計数するリトライカウンタRCsc等の各種変数の初期化を行って(S81)、中継処理部61は、第1通信IF部21で受信したコマンド信号を中継すべく、第2通信IF部24からこのコマンド信号を送信する(S82)。そして、中継処理部61は、監視制御装置10がリトライを行う時間を測定すべく監視制御装置10のリトライ用に経過時間の測定を開始する(S83)。
次に、中継処理部31は、第1及び第2通信IF部21、24において通信信号の受信待ちを行って、第1通信IF部21で監視制御装置10がリトライしたコマンド信号を受信したか又は第2通信IF部24で応答信号を受信したかを判断する(S84)。
判断の結果、リトライのコマンド信号を受信した場合(リトライのコマンド信号)には、中継処理部61は、リトライのコマンド信号を破棄し(S91)、リトライカウンタRCscを1だけインクリメントを行って更新し(S92)、処理を処理S83に戻す。
一方、処理S84における判断の結果、応答信号を受信した場合(応答信号)には、中継処理部61は、この応答信号を記憶部52に記憶し、監視制御装置10によるコマンド信号のリトライが近いか否かを判断する(S85)。例えば、中継処理部61は、監視制御装置リトライ情報記憶部71に記憶されている監視制御装置10のリトライ時間間隔TRscから処理S82で測定している監視制御装置10のリトライ用の経過時間を減算し、減算結果が所定値以下である場合には監視制御装置10によるコマンド信号のリトライが近いと判断し、一方、減算結果が所定値を超えている場合には監視制御装置10によるコマンド信号のリトライが近くないと判断する。この所定値は、中継親装置50が監視制御装置10に送信する応答信号が監視制御装置10が送信するリトライのコマンド信号と衝突を避ける観点から仕様によって決定されるが、例えば、監視制御装置10が通信信号を送信してから中継親装置50がこの通信信号を受信するまでに通常要する時間以上に設定され、第1伝送路12の通信速度及びコマンド信号のデータ量等に応じて予め設定される。この所定値は、第1伝送路12の通信速度が速ければ短くてもよく、また、コマンド信号のデータ量が少なければ短くてもよい。また例えば、上述のリトライ情報収集処理に併せて、リトライ情報収集部61が監視制御装置10へピングを送信し、その送信してから受信応答を受信するまでの時間を測定し、この1/2以上の時間を所定値としてもよい。
処理85における判断の結果、監視制御装置10によるコマンド信号のリトライが近い場合(YES)には、中継処理部61は、監視制御装置リトライ情報記憶部71に記憶されている監視制御装置10のリトライ回数NRsc及び監視制御装置10のリトライカウンタRCscに基づいて監視制御装置10がこの先コマンド信号をリトライするか否かを判断する(S86)。即ち、中継処理部61は、監視制御装置リトライ情報記憶部71に記憶されている監視制御装置10のリトライ回数NRscから監視制御装置10のリトライカウンタRCscを減算し、減算結果が0より大きいか否かを判断する。あるいは、中継処理部61は、監視制御装置リトライ情報記憶部71に記憶されている監視制御装置10のリトライ回数NRscを監視制御装置10のリトライカウンタRCscで除算し、除算結果が1より大きいか否かを判断する。
判断の結果、監視制御装置10がコマンド信号をリトライしない場合(NO)には、中継処理部61は、この記憶部52に記憶した応答信号を破棄し(S89)、処理を処理S81に戻す。判断の結果、監視制御装置10がコマンド信号をリトライする場合(YES)には、中継処理部61は、第1通信IF部21において通信信号の受信待ちを行って、第1通信IF部21でリトライのコマンド信号を受信すると(S87)、中継処理部61は、中継すべく、この記憶部52に記憶した応答信号をこのリトライに対応させて第1通信IF部21から第1伝送路12に送信し、処理を処理S81に戻す(S88)。
このように中継処理部61が動作することによって、監視制御装置10によるリトライのコマンド信号と中継親装置10による応答信号とが第1伝送路12で衝突することを回避することができる。
次に、監視制御装置10が中継親装置50及び中継子装置700を介して機器11を監視及び/又は制御する遠隔監視制御について説明する。
図9は、第2の実施形態に係る監視制御装置、中継親装置、中継子装置及び機器における動作を示すシーケンス図である。図9において、監視制御装置10が機器ID=「3」の機器11宛てにコマンド信号を第1伝送路12に送信すると(C31)、このコマンド信号は、中継親装置50に受信される。中継親装置50は、上述の処理S81乃至処理S84を実行し、中継すべくこのコマンド信号を第3伝送路14に送信する(C32)。このコマンド信号は、中継子装置700−yに受信される。中継子装置700−yは、第2伝送路13を介して機器ID=「3」の機器11にこのコマンド信号を送信する(C33)。機器ID=「3」の機器11は、このコマンド信号を受信すると、コマンド信号に収容されている指示に基づく動作を行って監視情報を収容した応答信号を中継子装置700−yに返信する(C34)。中継子装置700−yは、第2伝送路13を介して機器ID=「3」の機器11からこの応答信号を受信すると、中継すべくこの応答信号を第3伝送路14に送信する(C35)。この応答信号は、中継親装置20に受信される。
ここで、C32からC35までの間に、監視制御装置10がリトライのコマンド信号を第1伝送路12に送信すると(C41)、中継親装置50は、処理S84でコマンド信号の受信と判断し、処理S91及び処理S92を実行し、処理を処理S83に戻す。このように動作することによって、このC41の監視制御装置10によるリトライのコマンド信号は、破棄される。中継親装置50は、中継したコマンド信号に対する応答信号を第2通信IF部24で受信するまでに第1通信IF部21で受信した監視制御装置10によるリトライのコマンド信号を破棄するので、第3伝送路14及び第2伝送路13の通信トラフィックを抑制することができ、第3伝送路14及び第2伝送路13における通信信号の衝突を抑制することができる。そして、リトライのコマンド信号を中継しないので、中継親装置50及び中継子装置700の消費電力が低減され、節約される。
そして、C35の応答信号を受信すると、中継親装置50は、処理S84で応答信号の受信と判断し、処理S85で監視制御装置10による次のコマンド信号のリトライ(図9では3回目)が近いか否か判断する。図9に実線で示すように応答信号の受信(C35)が監視制御装置10による次のコマンド信号のリトライ(図9では3回目)が近い場合には、中継親装置50は、処理S86乃至処理S88を実行し、C41のリトライのコマンド信号(図9では2回目)に対する応答ではなく、監視制御装置10による次のリトライのコマンド信号(図9では3回目)に対する応答として監視制御装置10に送信すべくこの応答信号を第1通信IF部21で第1伝送路12に送信する(C36)。一方、図9に破線で示すように応答信号の受信(C35’)が監視制御装置10による次のコマンド信号のリトライ(図9では3回目)が近くない場合には、中継親装置50は、処理S88を実行し、C41のリトライのコマンド信号(図9では2回目)に対する応答として監視制御装置10に送信すべくこの応答信号を第1通信IF部21で第1伝送路12に送信する(C36’)。
このように中継処理部61が動作することによって、監視制御装置10によるリトライのコマンド信号と中継親装置10による応答信号とが第1伝送路12で衝突することを回避することができる。また、応答信号を受信した場合に、この受信時刻が監視制御装置10による次のリトライのコマンド信号を受信し得る時刻に近い場合には、中継親装置50は、この次のリトライのコマンド信号を待ってこれに対する応答として応答信号を中継する。このため、中継親装置50は、次のリトライのコマンド信号に対して迅速に応答信号を返信することができ、応答性を高めることができる。
なお、第1の実施形態ではタイムアウト時間設定処理を、第2の実施形態ではリトライ情報収集処理を、中継親装置20の運用開始時に実行するように構成したが、監視制御装置10の設定変更に対応可能とする観点から、半年や1年ごとに定期的に実行してもよい。