(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-07
(45)【発行日】2023-12-15
(54)【発明の名称】ゲートウェイ装置、通信方法、及び、プログラム
(51)【国際特許分類】
H04L 12/66 20060101AFI20231208BHJP
H04L 69/08 20220101ALI20231208BHJP
【FI】
H04L12/66
H04L69/08
(21)【出願番号】P 2020097091
(22)【出願日】2020-06-03
【審査請求日】2023-03-24
(73)【特許権者】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】100095407
【氏名又は名称】木村 満
(74)【代理人】
【識別番号】100131152
【氏名又は名称】八島 耕司
(74)【代理人】
【識別番号】100147924
【氏名又は名称】美恵 英樹
(74)【代理人】
【識別番号】100148149
【氏名又は名称】渡邉 幸男
(74)【代理人】
【識別番号】100181618
【氏名又は名称】宮脇 良平
(74)【代理人】
【識別番号】100174388
【氏名又は名称】龍竹 史朗
(72)【発明者】
【氏名】佐藤 香
【審査官】岩田 玲彦
(56)【参考文献】
【文献】特開2008-27144(JP,A)
【文献】特開2009-21939(JP,A)
【文献】特許第3823585(JP,B2)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/66
H04L 69/08
(57)【特許請求の範囲】
【請求項1】
操作端末が接続されている第1ネットワークと機器が接続されている第2ネットワークとの間で送受信される信号を中継するゲートウェイ装置であって、
前記第1ネットワークと通信を行う第1通信手段と、
前記第2ネットワークと通信を行う第2通信手段と、
前記機器の状態を示す機器情報を記憶する機器情報記憶手段と、
前記操作端末又は前記機器と送受信する信号の種類毎に、当該信号の動作を定義する信号動作情報を記憶する信号動作記憶手段と、
前記機器情報記憶手段に記憶されている機器情報の各項目と、当該項目の値を前記機器の状態に反映させるための状態更新信号の信号動作情報と、を関連付けるための関連付情報を記憶する信号関連記憶手段と、
前記第1通信手段が前記操作端末から受信した制御信号を前記信号動作記憶手段に記憶されている前記信号動作情報に基づいて解析し、前記機器情報を更新する必要があるか否か、及び、前記操作端末へ代理応答する必要があるか否かを判別する信号解析手段と、
前記信号解析手段が前記機器情報を更新する必要があると判別した場合に、前記機器情報を更新する更新手段と、
前記更新手段によって前記機器情報が更新された場合に、前記関連付情報に基づいて更新された前記機器情報を前記機器の状態に反映させるための前記状態更新信号を作成する状態更新信号作成手段と、
前記信号解析手段が代理応答する必要があると判別した場合に、前記制御信号に対する代理応答信号を作成する代理応答信号作成手段と、を備え、
前記第1通信手段は、前記代理応答信号を前記操作端末に送信し、
前記第2通信手段は、前記状態更新信号を前記機器に送信する、
ゲートウェイ装置。
【請求項2】
前記信号動作情報は、前記代理応答信号の動作として応答待ち時間と再送回数とのうちの少なくとも一つを定義しており、
前記第1通信手段は、前記代理応答信号を前記信号動作記憶手段で定義されている応答待ち時間と再送回数とのうちの少なくとも一方に基づいて送信する、
請求項1に記載のゲートウェイ装置。
【請求項3】
操作端末が接続されている第1ネットワークと機器が接続されている第2ネットワークとの間で送受信される信号を中継するゲートウェイ装置が実行する信号中継方法であって、
前記操作端末又は前記機器と送受信する信号の種類毎に、当該信号の動作を定義する信号動作情報を記憶し、
前記操作端末から受信した制御信号を前記信号動作情報に基づいて、前記機器の機器情報を更新する必要があるか否か、及び、前記操作端末へ代理応答する必要があるか否かを判別し、
前記機器情報を更新する必要があると判別した場合に、前記機器情報を更新し、
代理応答する必要があると判別した場合に、前記制御信号に対する代理応答信号を作成し、
前記機器情報が更新された場合に、前記機器情報を前記機器の状態に反映させるための状態更新信号を作成し、
第1通信手段から、前記代理応答信号を前記操作端末に送信し、
第2通信手段から、前記状態更新信号を前記機器に送信する、
通信方法。
【請求項4】
操作端末が接続されている第1ネットワークと機器が接続されている第2ネットワークとの間で送受信される信号を中継するコンピュータを、
前記第1ネットワークと通信を行う第1通信手段、
前記第2ネットワークと通信を行う第2通信手段、
前記機器の状態を示す機器情報を記憶する機器情報記憶手段、
前記操作端末又は前記機器と送受信する信号の種類毎に、当該信号の動作を定義する信号動作情報を記憶する信号動作記憶手段、
前記機器情報記憶手段に記憶されている機器情報の各項目と、当該項目の値を前記機器の状態に反映させるための状態更新信号の信号動作情報と、を関連付けるための関連付情報を記憶する信号関連記憶手段、
前記第1通信手段が前記操作端末から受信した制御信号を前記信号動作記憶手段に記憶されている前記信号動作情報に基づいて解析し、前記機器情報を更新する必要があるか否か、及び、前記操作端末へ代理応答する必要があるか否かを判別する信号解析手段、
前記信号解析手段が前記機器情報を更新する必要があると判別した場合に、前記機器情報を更新する更新手段、
前記更新手段によって前記機器情報が更新された場合に、前記関連付情報に基づいて更新された前記機器情報を前記機器の状態に反映させるための前記状態更新信号を作成する状態更新信号作成手段、
前記信号解析手段が代理応答する必要があると判別した場合に、前記制御信号に対する代理応答信号を作成する代理応答信号作成手段、として機能させ、
前記第1通信手段は、前記代理応答信号を前記操作端末に送信し、
前記第2通信手段は、前記状態更新信号を前記機器に送信する、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ゲートウェイ装置、通信方法、及び、プログラムに関する。
【背景技術】
【0002】
複数の機器をローカルなネットワークで接続したシステムが知られている。例えば空調システムでは複数の室内機、室外機、リモコンなどの機器をネットワークに接続し、ネットワークを介してそれぞれの機器を制御することができる。このようなシステムでのネットワークのプロトコルとしては、エコネットのような標準のプロトコル、メーカー独自のプロトコルなどがある。また、複数の異なるプロトコルを有するネットワークによってこのようなシステムが構成されているものも知られている。
【0003】
例えば、エコネットのプロトコル(以下、プロトコルA)を有するネットワークで通信を行う空調システムと、メーカー独自のプロトコル(以下、プロトコルB)を有するネットワークで通信を行う照明制御システムとで構成される通信システムにおいて、一方のシステムのリモコンから他方のシステムの機器を制御可能にし、利便性を上げることが考えられる。この場合、ネットワークA、Bの間にゲートウェイ装置が配置される。ゲートウェイ装置は、ネットワークA,B間で送受信される信号を送信先のプロトコルの形式の信号に変換する。これにより、ネットワークA,B間で通信することができる。
【0004】
しかしながら、プロトコルAとBとで通信速度に大きな差があり、リモコンからの制御信号に対する応答が間に合わない場合がある。このような事態に対処するため、特許文献1、2には、ゲートウェイ装置に機器の状態を保持しておき、制御信号の送信元に代理応答する技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2009-021939号公報
【文献】特許第3823585号
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1、2に開示されている技術では、機器の状態取得を要求する信号のような場合は、代理応答の後、実際に機器側まで信号を通知する必要はない。一方、機器を操作する操作信号のような場合は、ゲートウェイ装置は代理応答した後、操作信号を送信先のプロトコルの形式に変換して、機器に送信する必要がある。しかしながら、プロトコルAとBとでデータのアサイン方式の違いなどがあり、プロトコルAにおける信号をプロトコルBにおける信号に確実に変換できるとは限らない。
【0007】
本開示は、上記実情に鑑みてなされたものであり、プロトコルの差異によらずに代理応答と機器への信号の送信とを確実に実行できるゲートウェイ装置などを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本開示に係るゲートウェイ装置は、
操作端末が接続されている第1ネットワークと機器が接続されている第2ネットワークとの間で送受信される信号を中継するゲートウェイ装置であって、
前記第1ネットワークと通信を行う第1通信手段と、
前記第2ネットワークと通信を行う第2通信手段と、
前記機器の状態を示す機器情報を記憶する機器情報記憶手段と、
前記操作端末又は前記機器と送受信する信号の種類毎に、当該信号の動作を定義する信号動作情報を記憶する信号動作記憶手段と、
前記機器情報記憶手段に記憶されている機器情報の各項目と、当該項目の値を前記機器の状態に反映させるための状態更新信号の信号動作情報と、を関連付けるための関連付情報を記憶する信号関連記憶手段と、
前記第1通信手段が前記操作端末から受信した制御信号を前記信号動作記憶手段に記憶されている前記信号動作情報に基づいて解析し、前記機器情報を更新する必要があるか否か、及び、前記操作端末へ代理応答する必要があるか否かを判別する信号解析手段と、
前記信号解析手段が前記機器情報を更新する必要があると判別した場合に、前記機器情報を更新する更新手段と、
前記更新手段によって前記機器情報が更新された場合に、前記関連付情報に基づいて更新された前記機器情報を前記機器の状態に反映させるための前記状態更新信号を作成する状態更新信号作成手段と、
前記信号解析手段が代理応答する必要があると判別した場合に、前記制御信号に対する代理応答信号を作成する代理応答信号作成手段と、を備え、
前記第1通信手段は、前記代理応答信号を前記操作端末に送信し、
前記第2通信手段は、前記状態更新信号を前記機器に送信する。
【発明の効果】
【0009】
本開示によれば、プロトコルの差異によらずに代理応答と信号の送信を確実に実行できる。
【図面の簡単な説明】
【0010】
【
図1】実施形態に係るゲートウェイ装置を備えたシステムの全体構成を示す図
【
図2】実施形態に係るゲートウェイ装置の構成を示すブロック図
【
図6】機器情報フォーマットテーブルの構成例を示す図
【
図7】実施形態の機器登録処理の手順を示すフローチャート
【
図8】実施形態の信号受信処理の手順を示すフローチャート
【
図10】実施形態の機器状態更新処理の手順を示すフローチャート
【発明を実施するための形態】
【0011】
以下、本開示の実施形態について、図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付す。
【0012】
図1は、本開示の実施形態に係るゲートウェイ装置100を含んだシステムの全体構成を示す図である。ゲートウェイ装置100は、操作端末21と機器31とが接続されている第1ネットワークN1と、操作端末22と機器32とが接続されている第1ネットワークN1とプロトコルが異なる第2ネットワークN2と、を相互通信可能に接続する装置である。なお、操作端末21、22は、ユーザによって操作されるPC、タブレット端末などである。機器31は、室内機、室外機、照明などの機器である。操作端末21、22は、ゲートウェイ装置100を経由することで、同じ第1、第2ネットワークN1、N2に接続されている機器31,32だけでなく、他方の第2、第1ネットワークN2、N1に接続されている機器32、31の状態を取得の取得、操作などを行うことができる。
【0013】
(ゲートウェイ装置100の構成)
ゲートウェイ装置100の構成について説明する。ゲートウェイ装置100は、
図2に示すように、第1通信部110と、第2通信部120と、記憶部130と、制御部140と、を備える。
【0014】
第1通信部110は、第1ネットワークN1と接続されている。第1通信部110は、第1ネットワークN1を介して、操作端末21、機器31と通信する。第1通信部110は、送信部111と受信部112とを有する。送信部111は、第1ネットワークN1を介して、操作端末21、機器31に各種の信号を送信する。受信部112は、第1ネットワークN1を介して、操作端末21、機器31から各種の信号を受信する。第1通信部110は、本開示の第1通信手段の一例である。
【0015】
第2通信部120は、第2ネットワークN2と接続されている。第2通信部120は、第2ネットワークN2を介して、操作端末22、機器32と通信する。第2通信部120は、送信部121と受信部122とを有する。送信部121は、第2ネットワークN2を介して、操作端末22、機器32に各種の信号を送信する。受信部122は、第2ネットワークN2を介して、操作端末22、機器32から各種の信号を受信する。第2通信部120は、本開示の第2通信手段の一例である。
【0016】
記憶部130は、EEPROM(Electrically Erasable Programmable Read-Only Memory)、フラッシュメモリなどの読み書き可能な不揮発性の半導体メモリ又はHDDを含んで構成される。記憶部130は、第1信号動作DB1311と、第2信号動作DB1312と、第1機器情報DB1321と、第2機器情報DB1322と、第1信号関連DB1331と、第2信号関連DB1332と、機器情報フォーマットテーブル134を記憶する。
【0017】
第1信号動作DB1311は、第1ネットワークN1との間で送受信されうる制御信号の種類毎に、当該制御信号の動作内容を定義する信号動作情報を記憶する。具体的には、第1信号動作DB1311は、
図3に示す信号動作テーブルの形式で信号動作情報を記憶する。信号動作テーブルは、制御信号毎に設けられているテーブルであり、その制御信号の動作内容を規定する「コマンド」、「DB更新要否」、「DB読出要否」、「応答要求要否」、「応答コマンド」、「データ変換(受信時)」、「データ変換(送信時)」、「応答要否」、「応答待機時間」の各項目の値が登録されている。
【0018】
「コマンド」は、その制御信号に含まれているコマンドである。コマンドは、その制御信号による命令の内容を示す。
【0019】
「DB更新要否」は、その制御信号によって第1機器情報DB1321又は第2機器情報DB1322を更新するか否かを示す。例えば、機器31,32の状態を変更する制御信号であれば、「DB更新要否」は要となっている。
【0020】
「DB読出要否」は、その制御信号によって第1機器情報DB1321,第2機器情報DB1322から情報を読み出すか否かを示す。例えば、機器31,32の状態を取得する制御信号であれば、「DB読出要否」は要となっている。
【0021】
「応答要求要否」は、その制御信号の送信元に対して応答するか否かを示す。この応答は、送信先に代理してゲートウェイ装置100が行う代理応答に相当する。
「応答コマンド」は、「応答要求要否」が応答要と設定されている場合にその制御信号の送信元に応答として送信するためのコマンドである。
【0022】
「データ変換(受信時)」は、その制御信号のデータ部に格納されている第1ネットワークN1のプロトコル形式のデータを第1機器情報DB1321の機器情報テーブルへ格納するためのデータに変換するための変換式である。
【0023】
「データ変換(送信時)」は、第1機器情報DB1321に格納されているデータを、その制御信号のデータ部へ格納するための第1ネットワークN1のプロトコル形式のデータに変換するための変換式である。
【0024】
「応答要否」は、その制御信号の送信先からの応答を待つか否かを示す。
「応答待機時間」は、「応答要否」で要と設定されている場合に、その制御信号の送信先からの応答を待つ最大待機時間を示す。
【0025】
図2に戻り、第2信号動作DB1312は、第2ネットワークN2との間で送受信されうる制御信号の種類毎に、当該制御信号の動作内容を規定する信号動作情報を記憶する。具体的には、第2信号動作DB1312は、第1信号動作DB1311と同様に、制御信号毎に
図3に示す信号動作テーブルの形式で信号動作情報を記憶する。
【0026】
なお、以下の説明では、第1信号動作DB1311と第2信号動作DB1312とを区別しない場合は、信号動作DB131とも表記する。信号動作DB131は、本開示の信号動作記憶手段の一例である。
【0027】
第1機器情報DB1321は、第1ネットワークN1に接続されている機器31の機器情報を記憶する。具体的には、第1機器情報DB1321は、機器31毎に、
図4に示す機器情報テーブルの形式で機器情報を記憶する。
図4は、室内機である機器31の機器情報テーブルを示しており、「電源状態」、「温度」、「湿度」、「運転モード」、「風向き」の値が記憶されている。「電源状態」、「温度」、「湿度」、「運転モード」、「風向き」の値は、機器31の状態を表す機器データであり、操作端末21,22からの操作によって値が変更される。「第1アドレス」は、第1ネットワークN1からその機器31にアクセスするためのアドレスを示す。「第2アドレス」は、第2ネットワークN2からその機器31にアクセスするためのアドレスを示す。
【0028】
第2機器情報DB1322は、第2ネットワークN2に接続されている機器32の機器情報を、第1機器情報DB1321と同様の形式で記憶している。なお、以下の説明では、第1機器情報DB1321と第2機器情報DB1322とを区別しない場合は、機器情報DB132とも表記する。機器情報DB132は、本開示の機器情報記憶手段の一例である。
【0029】
第1信号関連DB1331は、第1ネットワークN1に接続されている機器31の機器情報テーブルに登録されている各機器データと、その機器データの値が更新された場合に、実際の機器31の状態に当該更新を反映させるための状態更新信号の信号動作情報と、を関連付けるための関連付情報を記憶する。具体的には、第1信号関連DB1331は、
図5に示す信号関連テーブルの形式で関連付情報を記憶する。信号関連テーブルには、第1ネットワークN1に接続されている機器31の機器データの各項目と、そのデータ項目の値の更新があった場合に機器31に送信する状態更新信号に含まれる状態更新コマンドと、が対応付けて記憶されている。なお、同じ機種の機器31であれば機器データの項目は共通しているため、信号関連テーブルは、機器31の機種毎に設けられている。
図5に示す信号関連テーブルは、機種が空調室内機である場合の構成例を示している。
【0030】
第2信号関連DB1332は、第2ネットワークN2に接続されている機器32の機器情報テーブルに登録されている各機器データと、その機器データの値が更新された場合に、実際の機器32の状態に当該更新を反映させるための状態更新信号の信号動作情報と、を関連付けるための関連付情報を、第1信号関連DB1331と同様の形式で記憶する。なお、以下の説明では、第1信号関連DB1331と第2信号関連DB1332とを区別しない場合は、信号関連DB133とも表記する。信号関連DB133は、本開示の信号関連記憶手段の一例である。
【0031】
機器情報フォーマットテーブル134は、
図6に示すように、機種毎に、その機種の機器31、32の各データ項目とデータ形式を規定するテーブルである。機器情報フォーマットテーブル134は、第1ネットワークN1及び第2ネットワークN2に新たに接続された機器31,31の機器情報テーブルを作成するときに参照される。
【0032】
図2に戻り、制御部140は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)を備える。制御部140は、CPUがROMに記憶されたプログラムを読み出してRAM上で実行することにより、ゲートウェイ装置100の各部を制御する。また、制御部140は、機能的な構成として、信号解析部141と、信号作成部142と、機器監視部143と、を備える。
【0033】
信号解析部141は、操作端末21,22から受信した制御信号を解析する。具体的には、信号解析部141は、受信した制御信号に含まれるコマンドを有する信号動作テーブルを信号動作DB131から取得し、当該信号動作テーブルの各項目の値を読み出すことで、制御信号の動作を解析する。例えば、信号解析部141は、操作端末21,22から受信した制御信号を解析することにより、機器情報DB132の機器情報テーブルに格納されている機器データを更新するか否か、及び代理応答する必要があるか否かを判別する。信号解析部141は、本開示の信号解析手段の一例である。
【0034】
信号作成部142は、ゲートウェイ装置100から操作端末21,22、機器31,32に送信する信号を生成する。具体的には、信号作成部142は、機器情報DB132の機器情報テーブルに登録されている機器データが更新された場合に、信号関連DBから対応する状態更新コマンドを読み出して、更新された機器データを反映した状態になるように対象の機器31,32の状態を更新する状態更新信号を作成し、当該機器31,32が接続されている第1通信部110、第2通信部120に出力する。また、信号作成部142は、操作端末21,22から受信した制御信号に対して代理応答する必要がある場合に代理応答信号を作成し、制御信号を受信した第1通信部110、第2通信部120に出力する。信号作成部142は、本開示の状態更新信号作成手段、代理応答信号作成手段の一例である。
【0035】
機器監視部143は、機器情報DB132に格納されている機器情報テーブルを監視して、機器データの更新を検知する処理、操作端末21,22から受信した制御信号に基づいて機器情報テーブルを更新する処理を実行する。機器監視部143は、本開示の更新手段の一例である。
【0036】
(機器登録処理)
続いて、ゲートウェイ装置100が実行する処理の動作について説明する。始めに、第2機器情報DB1322に機器情報テーブルを登録する機器登録処理について説明する。例えば、第2ネットワークN2に機器32が初めて接続され、この機器32からその旨を示す信号がブロードキャストでゲートウェイ装置100に通知された場合、ゲートウェイ装置100は、
図7のフローチャートに示す機器登録処理を開始する。なお、ゲートウェイ装置100は、起動時、若しくは定期的に、第2ネットワークN2に対して接続機器確認信号を同報送信し、機器情報テーブルが未作成の機器32からの応答信号があった場合に機器登録処理を開始してもよい。
【0037】
まず、第2通信部120は、機器32から受信した通知信号、又は応答信号に基づいて、第2ネットワークN2に新たに接続された機器32を検知する(ステップS101)。
【0038】
続いて、第2通信部120は、検知した機器32の種別を判別する(ステップS102)。具体的には、第2通信部120は、第2ネットワークN2のプロトコルの仕様に基づいて機器32の種別を判別する。例えば、第2通信部120は、機器32からの通知信号、応答信号に含まれる機種を表すコードから、機器の種別を判別すればよい。
【0039】
続いて、制御部140は、機器情報フォーマットテーブル134を参照して、判別した種別の機器32の機器情報フォーマットを特定する(ステップS103)。
【0040】
続いて、制御部140は、特定した機器情報フォーマットを用いて、新たに機器情報テーブルを作成し、第2機器情報DB1322に格納する(ステップS104)。このとき、制御部140は、作成した機器情報テーブルの項目「第2アドレス」の値には、ステップS101で機器から受信した通知信号、又は応答信号のヘッダ部分に含まれるアドレスを登録する。なお、項目「第1アドレス」の値はこの時点では未定である。
【0041】
続いて、制御部140は、機器32が第2ネットワークN2に接続されたことを、ブロードキャストで第1ネットワークN1側に通知する(ステップS105)。この通知を受信した操作端末21は、応答として、第1ネットワークN1から当該機器32に接続するためのアドレスを通知する。
【0042】
続いて、制御部140は、操作端末21から通知されたアドレスをステップS104で作成した機器情報テーブルの項目「第1アドレス」の値として登録する(ステップS106)。以上で機器登録処理は終了する。なお、上記説明では、第2ネットワークN2に接続された機器32を登録する例を説明したが、第1ネットワークN1に接続された機器31を登録する場合も同様の処理を実行すればよい。
【0043】
(信号受信処理)
続いて、操作端末21,22若しくは機器31,32から制御信号を受信した場合にゲートウェイ装置100で実行される信号受信処理の動作について
図8のフローチャートを用いて説明する。なお、以下説明する信号受信処理は、第1ネットワークN1に接続されている操作端末21若しく機器31から制御信号を受信した場合に実行される処理である。
【0044】
なお、この信号受信処理でゲートウェイ装置100が受信する制御信号の種類は、代表的なものとして以下に示す3つの信号が考えられる。なお、信号受信処理で受信する制御信号はこれらに限定されるものではない。
【0045】
・操作信号:操作端末21から送信され、第2ネットワークN2に接続されている機器32を操作するための制御信号。
・状態取得信号:操作端末21から送信され、第2ネットワークN2に接続されている機器32の状態を取得するための制御信号。
・状態通知信号:機器31の状態が変化した場合、予めスケジューリングされているタイミングに達した場合などに、機器31の状態を通知するために機器31から自発的に送信される制御信号。
【0046】
操作信号には、送信先のアドレスとして操作対象とする機器32のアドレスが含まれている。また、操作信号のデータ部には、どのような状態に機器32を操作するかを規定するデータが含まれている。例えば、機器32が室内機であれば、室内機をどのような設定温度、運転モードに操作したいかを示すデータが操作信号のデータ部に含まれている。
【0047】
状態取得信号には、送信先のアドレスとして状態取得の対象とする機器32のアドレスが含まれている。状態取得信号は、機器32の状態を更新するための信号ではないため、通常は状態取得信号のデータ部にはデータは格納されていない。
【0048】
状態通知信号は、操作信号及び状態取得信号と異なり、対向する第2ネットワークN2側に送信される信号ではなく、送信先のアドレスはゲートウェイ装置100のアドレスである。また、状態通知信号のデータ部には、通知する機器31の状態を示すデータが格納されている。
【0049】
信号受信処理が開始されると、まず、第1通信部110は、操作端末21又は機器31から受信した制御信号を汎用フレーム構造の制御信号に変換し、変換した制御信号を信号解析部141に渡す(ステップS201)。これにより、操作端末21又は機器31から受信した第1ネットワークN1のプロトコルの制御信号は、プロトコルに依存せずに汎用的に扱うことが可能となる。
図9に示すように汎用フレーム構造に変換された制御信号は、コマンド、送信元アドレス、送信先アドレス、データ数、複数のデータ[1]~データ[n]を含む。データ数は、制御信号の種類によって異なる。例えば、肯定応答信号(ACK)のような信号であればデータ数は0であり、操作信号であれば操作対象とする機器の機種に応じたデータ数となる。なお、
図9に示す汎用フレーム構造は一例であり、他のデータ形式の汎用フレーム構造に変換してもよい。
【0050】
図8に戻り、続いて、信号解析部141は、渡された制御信号に含まれるコマンドを有する信号動作テーブルを第1信号動作DB1311から取得する(ステップS202)。
【0051】
続いて、信号解析部141は、取得した信号動作テーブルの項目「DB更新要否」の値を参照して、機器情報DB132を更新する必要あるか否かを判別する(ステップS203)。なお、操作信号及び状態通知信号の信号動作テーブルであれば、一般的に項目「DB更新要否」の値は更新必要有りに設定されている。一方、状態取得信号の信号動作テーブルであれば、一般的に項目「DB更新要否」の値は更新必要無しに設定されている。
【0052】
機器情報DB132を更新する必要がない場合(ステップS203;No)、後述するステップS204~207はスキップされて処理はステップS208に移る。一方、機器情報DB132を更新する必要がある場合(ステップS203;Yes)、信号解析部141は、ステップS202で取得した信号動作テーブルの項目「データ変換(受信時)」が示す変換式に基づいて、ステップS201で汎用フレーム構造に変換した制御信号の各データの値を機器情報テーブル格納用の形式に変換する(ステップS204)。
【0053】
続いて、信号解析部141は、ステップS201で汎用フレーム構造に変換した制御信号に含まれる送信元アドレスと項目「第1通信アドレス」の値が一致する機器情報テーブルが、第1機器情報DB1321に格納されているか否かを判別する(ステップS205)。
【0054】
制御信号の送信元アドレスと項目「第1通信アドレス」の値が一致する機器情報テーブルが第1機器情報DB1321に格納されている場合(ステップS205;Yes)、受信した制御信号は機器31から送信された状態通知信号であることがわかる。そのため、信号解析部141は、一致した機器情報テーブルの機器データを、ステップS204で変換したデータに更新する(ステップS206)。これにより、状態通知信号で通知された機器31の状態が機器情報テーブルに反映されたことになる。そして処理は、ステップS208に移る。
【0055】
一方、制御信号の送信元アドレスと項目「第1通信アドレス」の値とが一致する機器情報テーブルが第1機器情報DB1321に格納されていない場合(ステップS205;No)、受信した制御信号は操作端末21から送信された操作信号であることがわかる。そのため、信号解析部141は、ステップS201で汎用フレーム構造に変換した制御信号に含まれる送信先アドレスと、項目「第2アドレス」の値が一致する機器情報テーブルを第2機器情報DB1322から取得し、取得した機器情報テーブルの機器データの値を、ステップS204で変換したデータの値に更新する(ステップS207)。なお、ステップS207でのデータの更新が完了すると、ゲートウェイ装置100では後述する機器データ更新処理が別スレッドで信号受信処理とは独立して実行される。機器データ更新処理については後述する。続いて、処理は、ステップS208に移る。
【0056】
ステップS208において、信号解析部141は、ステップS202で取得した信号動作テーブルの項目「応答要否」の値を参照して、受信した制御信号に対して応答する必要があるか否かを判別する。
【0057】
応答する必要がない場合(ステップS208;No)、信号受信処理は終了する。受信した制御信号が機器31からの状態通知信号である場合、基本的に機器31に応答する必要はないので、ステップS208はNoと判定される。一方、応答する必要がある場合(ステップS208;Yes)、信号作成部142は、第1信号動作DB1311のなかから、ステップS202で取得した信号動作テーブルの項目「応答コマンド」の値を項目「コマンド」の値に有する信号動作テーブルを特定する(ステップS209)。ここで特定した信号動作テーブルは、ステップS201で操作端末21から受信した制御信号に対する代理応答信号の信号動作テーブルに相当する。
【0058】
続いて、信号作成部142は、ステップS209で特定した代理応答信号の信号動作テーブルの項目「DB読出要否」の値を参照して、第2機器情報DB1322からデータを読み出すか否かを判別する(ステップS210)。
【0059】
第2機器情報DB1322からデータを読み出す必要がない場合(ステップS210;No)、信号作成部142は、ステップS209で特定した信号動作テーブルの項目「コマンド」を第1通信部110に渡す。第1通信部110は、渡された「コマンド」から、第1プロトコルの形式の代理応答信号を作成する(ステップS211)。この代理応答信号は、受信した制御信号の送信元の操作端末21に代理応答として返信するだけの信号であり、内部に機器データは含まれていない。そして、処理はステップS214に移る。
【0060】
一方、第2機器情報DB1322からデータを読み出す必要がある場合(ステップS210;Yes)、信号作成部142は、ステップS209で特定した代理応答信号の信号動作テーブルの項目「データ変換(送信時)」の変換式で、ステップS207で更新した第2機器情報テーブル1322の各データの値を第1プロトコルの形式のデータに変換する(ステップS212)。
【0061】
続いて、信号作成部142は、ステップS209で特定した信号動作テーブルの項目「コマンド」の値と、ステップS212で変換したデータとを第1通信部110に渡す。第1通信部110は、渡されたコマンドとデータから、第1プロトコルの形式の代理応答信号を作成する(ステップS213)。この代理応答信号は、受信した制御信号に代理応答として返信するとともに、制御信号による制御によって変更された若しくは取得した機器32の機器データを通知する信号である。そして、処理はステップS214に移る。
【0062】
ステップS214において、第1通信部110は、ステップS211若しくはステップS213で作成した代理応答信号を、第1ネットワークN1を介して、制御信号の送信元である操作端末21に送信する。以上で信号受信処理は終了する。
【0063】
このように、操作端末21又は機器31から制御信号を受信した場合、制御信号の種類ごとに設けられている信号動作テーブルによって処理内容を変えることができ、操作信号、状態取得信号、状態通知信号などの信号の種別やゲートウェイ装置100による代理応答の要否などを一元して処理できる。さらに、操作と状態取得を要求するような制御信号の場合でも、適切な信号動作テーブルを作成しておくことで対応することができる。
【0064】
なお、信号動作テーブルに応答待ち時間、再送回数などの項目を設け、ステップS208でYesの判定された場合、コマンドごとに適切な時間で代理応答信号を送信し、予め定めた条件に応じて再送処理など行ってもよい。即ち、この場合、ステップS214において、ステップS209で特定した信号動作テーブルに含まれる応答待ち時間だけ待機してから代理応答信号を送信し、その後、予め定めた条件に応じて当該信号動作テーブルに含まれる再送回数を限度に代理応答信号を複数回送信してもよい。プロトコル又はコマンドごとによって応答時間、再送回数などが異なる場合でも、このように信号動作テーブルに登録しておく手法によって一元して処理することができる。
【0065】
(機器状態更新処理)
上述した信号受信処理でステップS207が実行されると、第2機器情報DB1322の対象となる機器情報テーブルの機器データは制御信号に基づいて更新されるが、第2ネットワークN2に接続されている制御対象の機器32の状態はまだ更新されていない。そのため、ゲートウェイ装置100は、機器監視部143が信号受信処理のステップS207での機器情報テーブルの更新を検知すると、
図10のフローチャートに示す機器状態更新処理を開始する。機器状態更新処理は、上述した信号受信処理と並行して実行することが可能な処理である。
【0066】
まず、信号作成部142は、更新された機器データの項目名又は項目IDに対応付けられている状態更新コマンドを、第2信号関連DB1332に格納されている機器データが更新された機器32の機種の信号関連テーブルから取得する(ステップS301)。
【0067】
続いて、信号作成部142は、取得した状態更新コマンドを項目「コマンド」に有する信号動作テーブルを、第2信号動作DB1312から取得する(ステップS302)。
【0068】
続いて、信号作成部142は、取得した信号動作テーブルの項目「DB読出要否」の値を参照して、第2機器情報DB1322から情報を読み出すか否かを判別する(ステップS303)。
【0069】
ここでは、状態更新コマンドの信号動作テーブルを参照しており、更新された機器データの値を読み出す必要があるため、ステップS303ではほぼ確実にYesと判別される。なお、第2機器情報DB1322から情報を読み出さないと判別された場合(ステップS303;No)は、後述するステップS304はスキップされて、処理はステップS305に移る。
【0070】
第2機器情報DB1322から情報を読み出す必要があると判別すると(ステップS303;Yes)、信号作成部142は、ステップS302で取得した信号動作テーブルの項目「データ変換(送信時)」で規定されている変換式を用いて、更新された機器データの値を状態更新コマンドで扱える送信用のデータに変換する(ステップS304)。更新された機器データが複数ある場合は、信号作成部142は、これらをデータ部にまとめた1つのデータに変換する。
【0071】
続いて、信号作成部142は、ステップS301で取得した状態更新コマンドと、ステップS304で変換したデータとを第2通信部120に渡す。第2通信部120は、渡された状態更新コマンドとデータを、を第2プロトコルに則った形式のフレームデータに変換する(ステップS305)。
【0072】
そして、第2通信部120は、変換したフレームデータを機器情報が更新された機器32に送信する(ステップS306)。なお、ここでのフレームデータの送信先アドレスは、更新された機器情報テーブルの項目「第2アドレス」から取得すればよい。
【0073】
フレームデータを受信した機器32は、フレームデータに含まれる状態更新コマンドを実行して、機器32の状態をフレームデータに含まれるデータの値になるように状態を更新する処理を実行する。当該処理が成功すると、機器情報テーブルの機器データと機器32の状態とが一致する。機器32は、状態の更新が終了すると、ゲートウェイ装置100に更新結果を通知する応答信号を送信する。
【0074】
続いて、ゲートウェイ装置100の信号解析部141は、ステップS302で取得した信号動作テーブルの項目「応答要否」を参照して、ステップS306で送信したフレームデータに対する応答を機器32から待つか否かを判別する(ステップS307)。
【0075】
機器32からの応答を待たない場合(ステップS307;No)、機器状態更新処理は終了する。一方、機器32からの応答を待つ場合(ステップS307;Yes)、信号解析部141は、ステップS302で取得した信号動作テーブルの項目「応答待ち時間」の時間だけ待機する。応答待ち時間が経過する前に(ステップS308;No)、機器32から応答があり(ステップS309;Yes)、その応答が機器32の状態の更新に成功したことを示している場合(ステップS310;成功)、機器状態更新処理は終了する。
【0076】
一方、応答待ち時間が経過するまでに機器32からの応答がなかった場合(ステップS308;Yes)、若しくは、応答待ち時間が経過する前に(ステップS308;No)、機器32から応答があり(ステップS309;Yes)、その応答が機器32の状態の更新に失敗したことを示している場合(ステップS310;失敗)、機器32の状態の更新は失敗、若しくは行われなかったことになる。そのため、機器監視部143は、この機器状態更新処理のトリガとなった更新された機器情報テーブルを更新前の状態に戻す(ステップS311)。これにより、機器情報テーブルの機器データと機器32の状態とが一致することになる。以上で機器状態更新処理は終了する。
【0077】
このように、本実施形態では、代理応答の送信と、機器への信号の送信とが非連続で独立して実行される。そのため、プロトコル間で通信速度やデータアサイン方法などの差異があっても、代理応答と機器への信号の送信とを確実に実行することができる。
【0078】
具体的には、本実施形態では、ゲートウェイ装置100が第1ネットワークN1の操作端末21から送信された制御信号に対して必要であれば代理応答する
図8に示す信号受信処理が行われる。この信号受信処理は、第1ネットワークN1とゲートウェイ装置100との間の通信のみで実現される。一方、信号受信処理で機器情報が更新された場合は、状態更新信号を作成、送信して機器情報を第2ネットワークN2の機器32の状態に反映させる
図10に示す機器状態更新処理が別途実行される。この機器状態更新処理は、第2ネットワークN2とゲートウェイ装置100との間の通信のみで実現される。即ち、本実施形態では、第1ネットワークN1に接続されている操作端末21から送信された制御信号に対して、代理応答する処理と、第2ネットワークN2に接続されている機器32へ信号を送信する処理とは、非連続且つ独立した処理となる。また、この両処理を行うに当たって、制御信号のプロトコルを変換する必要もない。従って、本実施形態によれば、第1ネットワークN1と第2ネットワークN2でのプロトコルの差異を意識せずに、第1ネットワークN1と第2ネットワークN2との間で通信されるデータを中継することができる。
【0079】
また、本実施形態では、機器情報DB132は、両ネットワークN1,N2のプロトコルに依存しない汎用的な設計とすることで、第2ネットワークN2に接続されている機器32の開発者は、第1ネットワークN1の仕様について知る必要がなく、機器32とゲートウェイ装置100との間の通信、および、第2信号動作DB1312、第2信号関連DB1332の設計、開発のみを行うだけでよい。
【0080】
(変形例)
なお、本開示は、上記実施形態に限定されず、本開示の要旨を逸脱しない範囲での種々の変更は勿論可能である。
【0081】
例えば、
図1では、第1ネットワークN1と第2ネットワークN2に1つずつの操作端末21、22、及び機器31、32が接続されているが、複数の操作端末21、22、及び機器31、32が接続されていてもよい。
【0082】
例えば、上記実施形態では、第1ネットワークN1に接続されている操作端末21、機器31から送信された制御信号を受信した場合の信号受信処理について説明したが、第2ネットワークN2に接続されている操作端末22、機器32から送信された制御信号を受信した場合も同様に信号受信処理が実行されるのは勿論である。
【0083】
また、実施形態においてゲートウェイ装置100の制御部140が実行するプログラムを、既存のコンピュータに適用することで、当該コンピュータを本開示に係るゲートウェイ装置100として機能させることも可能である。
【0084】
このようなプログラムの配布方法は任意であり、例えば、CD-ROM(Compact Disk Read-Only Memory)、DVD(Digital Versatile Disk)、MO(Magneto Optical Disk)、メモリカードなどのコンピュータ読み取り可能な記録媒体に格納して配布してもよいし、インターネットなどの通信ネットワークを介して配布してもよい。
【0085】
本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本開示を説明するためのものであり、本開示の範囲を限定するものではない。つまり、本開示の範囲は、実施形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本開示の範囲内とみなされる。
【符号の説明】
【0086】
100 ゲートウェイ装置、21,22 操作端末、31,32 機器、N1 第1ネットワーク、N2 第2ネットワーク、110 第1通信部、120 第2通信部、111,121 送信部、112,122 受信部、130 記憶部、131 信号動作DB、1311 第1信号動作DB、1312 第2信号動作DB、132 機器情報DB、1321 第1機器情報DB、1322 第2機器情報DB、133 信号関連DB、1331 第1信号関連DB、1332 第2信号関連DB、134 機器情報フォーマットテーブル、140 制御部、141 信号解析部、142 信号作成部、143 機器監視部