(57)【要約】【課題】不要な命令伝達を抑制することができるゲートウェイ、要求生成方法及びコンピュータプログラムを提供することである。【解決手段】実施形態のゲートウェイは、要求生成部と、送信部とを持つ。要求生成部は、自装置に接続している複数のコントローラに対する複数の制御命令を含む要求に基づいて、前記要求に含まれる複数の制御命令を用いて前記制御命令の宛先毎の制御要求を生成する。送信部は、生成された前記制御要求を宛先のコントローラに送信する。【選択図】図３
2017108291.tif 000002
【特許請求の範囲】
【請求項１】
自装置に接続している複数のコントローラに対する複数の制御命令を含む要求に基づいて、前記要求に含まれる複数の制御命令を用いて前記制御命令の宛先毎の制御要求を生成する要求生成部と、
生成された前記制御要求を宛先のコントローラに送信する送信部と、
を備えるゲートウェイ。
【請求項２】
前記要求生成部は、前記複数のコントローラのうち複数の制御命令を処理可能なコントローラに対しては前記コントローラに設定されている最大命令数以内の制御命令を含む前記制御要求を生成し、前記複数のコントローラのうち複数の制御命令を処理可能ではないコントローラに対しては１つの制御命令を含む前記制御要求を前記制御命令数分生成する、請求項１に記載のゲートウェイ。
【請求項３】
前記要求生成部は、前記コントローラへの送信を許可する制御命令がコントローラ毎に設定された許可信号リストに基づいて、前記許可信号リストに設定されていない制御命令を除いて前記制御要求を生成する、請求項１又は２に記載のゲートウェイ。
【請求項４】
前記要求生成部は、所定の時間の間に複数の要求が取得された場合には、前記複数の要求それぞれに含まれる複数の制御命令を用いて前記制御命令の宛先毎の制御要求を生成する、請求項１から３のいずれか一項に記載のゲートウェイ。
【請求項５】
前記要求生成部は、１つの要求に同じ制御命令が複数あった場合には、同じ制御命令を１つの制御命令として前記制御要求を生成する、請求項１から４のいずれか一項に記載のゲートウェイ。
【請求項６】
自装置に接続している複数のコントローラに対する複数の制御命令を含む要求に基づいて、前記要求に含まれる複数の制御命令を用いて前記制御命令の宛先毎の制御要求を生成する要求生成ステップ、
を有する要求生成方法。
【請求項７】
自装置に接続している複数のコントローラに対する複数の制御命令を含む要求に基づいて、前記要求に含まれる複数の制御命令を用いて前記制御命令の宛先毎の制御要求を生成する要求生成ステップ、
をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ゲートウェイ、要求生成方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
従来、ビル等を対象とした監視制御システムにおいて、上位システムからコントローラに対するデータ収集や、設定値出力などの制御命令を含む要求を行うために利用されるプロトコルとしてＢＡＣｎｅｔ（Building Automation and Control networking）プロトコルがある。このような監視制御システムには、上位システムとコントローラとの間でＢＡＣｎｅｔプロトコルの変換を行うゲートウェイが備えられる。しかしながら、従来のゲートウェイは、上位システムから送信された要求に含まれる制御命令を全てコントローラに送信していたため、コントローラに不要な命令が伝達されてしまう場合があった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第４７２２０７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、不要な命令伝達を抑制することができるゲートウェイ、要求生成方法及びコンピュータプログラムを提供することである。
【課題を解決するための手段】
【０００５】
実施形態のゲートウェイは、要求生成部と、送信部とを持つ。要求生成部は、自装置に接続している複数のコントローラに対する複数の制御命令を含む要求に基づいて、前記要求に含まれる複数の制御命令を用いて前記制御命令の宛先毎の制御要求を生成する。送信部は、生成された前記制御要求を宛先のコントローラに送信する。
【図面の簡単な説明】
【０００６】
【図１】実施形態の監視制御システム１００のシステム構成を示す図。
【図２】監視制御システム１００におけるデータ伝送の具体例を示す図。
【図３】ＧＷ２０の機能構成を表す概略ブロック図。
【図４】コントローラ設定ファイルの具体例を示す図。
【図５】許可信号リストの具体例を示す図。
【図６】上位システム１０から送信された要求の具体例を示す図。
【図７】ＧＷ２０による各コントローラ３０に対する制御要求の生成方法を説明するための図。
【図８】ＧＷ２０の処理の流れを示すフローチャート。
【図９】制御要求生成処理の流れを示すフローチャート。
【図１０】複数の要求が取得された場合の処理を説明するための図。
【発明を実施するための形態】
【０００７】
以下、実施形態のゲートウェイ、要求生成方法及びコンピュータプログラムを、図面を参照して説明する。
図１は、実施形態の監視制御システム１００のシステム構成を示す図である。
監視制御システム１００は、ビル等の建築物を対象として適用される。監視制御システム１００は、複数の上位システム１０−１〜１０−Ｍ（Ｍは１以上の整数）、ＧＷ２０及び複数のコントローラ３０−１〜３０−Ｎ（Ｎは１以上の整数）を備える。上位システム１０−１〜１０−Ｍのそれぞれと、ＧＷ２０とはネットワーク４０を介して通信可能に接続される。また、ＧＷ２０には、複数のコントローラ３０−１〜３０−Ｎが通信可能に接続される。複数のコントローラ３０−１〜３０−Ｎのそれぞれには、下部機器３１が接続される。下部機器３１は、建築物の室内環境の状態を制御、計測する機器や、建築物の室外環境の状態を計測する機器である。下部機器３１は、例えば空調設備５０、温度センサ６０、湿度センサ７０及び電力計８０などである。なお、下部機器３１は、上記の機器に限定される必要はなく、建築物の室内外環境の状態を制御、計測可能な機器であればどのような機器であってもよい。
【０００８】
上位システム１０−１〜１０−Ｍと、コントローラ３０−１〜３０−Ｎとの間では、通信プロトコルとしてＢＡＣｎｅｔプロトコルが利用される。以下の説明では、上位システム１０−１〜１０−Ｍと、ＧＷ２０との間で利用されるＢＡＣｎｅｔプロトコルをＢＡＣｎｅｔ／ＷＳと記載し、ＧＷ２０と、コントローラ３０−１〜３０−Ｎとの間で利用されるＢＡＣｎｅｔプロトコルをＢＡＣｎｅｔ／ＩＰと記載する。なお、以下の説明では、上位システム１０−１〜１０−Ｍについて特に区別しない場合には上位システム１０と記載する。また、以下の説明では、コントローラ３０−１〜３０−Ｎについて特に区別しない場合にはコントローラ３０と記載する。
【０００９】
上位システム１０は、ユーザの操作に応じて、ＧＷ２０を介してコントローラ３０に対する制御命令を含む要求をコントローラ３０に送信する。ここで、ユーザとは、監視制御システム１００の管理者などである。制御命令は、例えばデータ取得要求及びデータ設定要求である。データ取得要求には、下部機器３１によって取得される計測値を取得する要求が含まれる。データ設定要求には、下部機器３１に対して設定させる設定値を含むデータの設定要求が含まれる。
【００１０】
ＧＷ２０は、上位システム１０とコントローラ３０との間で中継動作を行う。具体的には、ＧＷ２０は、上位システム１０からＢＡＣｎｅｔ／ＷＳを利用して送信された要求をＢＡＣｎｅｔ／ＩＰに変換してコントローラ３０に中継する。また、ＧＷ２０は、コントローラ３０からＢＡＣｎｅｔ／ＩＰを利用して送信された応答をＢＡＣｎｅｔ／ＷＳに変換して上位システム１０に中継する。さらに、ＧＷ２０は、上位システム１０から送信された要求を解析し、要求に含まれる制御命令をコントローラ３０毎に分類し、コントローラ３０毎の制御要求を生成する。
【００１１】
コントローラ３０は、ＧＷ２０から送信された制御要求に従って下部機器３１を制御する。具体的には、コントローラ３０は、制御要求にデータ取得要求が含まれる場合には、データ取得要求が示す下部機器３１から計測値を取得する。また、コントローラ３０は、制御要求にデータ設定要求が含まれる場合には、データ設定要求が示す下部機器３１に対してデータ設定要求に含まれる設定値を設定する。
ネットワーク４０は、どのように構成されたネットワークであってもよい。例えば、ネットワーク４０は、無線ＬＡＮ（Local Area Network）であってもよい。
【００１２】
図２は、監視制御システム１００におけるデータ伝送の具体例を示す図である。なお、図２では、データ伝送についてのみ説明するため、要求の解析などについての説明は省略する。
上位システム１０は、ユーザの操作に応じて、ＢＡＣｎｅｔ／ＷＳを利用してデータ取得要求をＧＷ２０に送信する（ステップＳ１０１）。ＧＷ２０は、上位システム１０から送信されたデータ取得要求を受信する。ＧＷ２０は、データ取得要求のプロトコルをＢＡＣｎｅｔ／ＷＳからＢＡＣｎｅｔ／ＩＰに変換して宛先のコントローラ３０に送信する（ステップＳ１０２）。コントローラ３０は、ＧＷ２０から送信されたデータ取得要求に応じて、データ取得要求が示す下部機器３１から計測値を取得する。そして、コントローラ３０は、取得した計測値を含む応答をＧＷ２０に送信する（ステップＳ１０３）。ＧＷ２０は、コントローラ３０から送信された応答のプロトコルをＢＡＣｎｅｔ／ＩＰからＢＡＣｎｅｔ／ＷＳに変換して上位システム１０に送信する（ステップＳ１０４）。
【００１３】
上位システム１０は、ユーザの操作に応じて、ＢＡＣｎｅｔ／ＷＳを利用してデータ取得要求をＧＷ２０に送信する（ステップＳ１０５）。ＧＷ２０は、上位システム１０から送信されたデータ取得要求を受信する。ＧＷ２０は、データ取得要求のプロトコルをＢＡＣｎｅｔ／ＷＳからＢＡＣｎｅｔ／ＩＰに変換して宛先のコントローラ３０に送信する（ステップＳ１０６）。また、上位システム１０は、ユーザの操作に応じて、ＢＡＣｎｅｔ／ＷＳを利用してデータ設定要求をＧＷ２０に送信する（ステップＳ１０７）。ＧＷ２０は、上位システム１０から送信されたデータ設定要求を受信する。ＧＷ２０は、データ設定要求のプロトコルをＢＡＣｎｅｔ／ＷＳからＢＡＣｎｅｔ／ＩＰに変換して宛先のコントローラ３０に送信する（ステップＳ１０８）。
【００１４】
コントローラ３０は、ＧＷ２０から送信されたデータ取得要求に応じて、データ取得要求が示す下部機器３１から計測値を取得する。そして、コントローラ３０は、取得した計測値を含む応答をＧＷ２０に送信する（ステップＳ１０９）。ＧＷ２０は、コントローラ３０から送信された応答のプロトコルをＢＡＣｎｅｔ／ＩＰからＢＡＣｎｅｔ／ＷＳに変換して上位システム１０に送信する（ステップＳ１１０）。コントローラ３０は、ＧＷ２０から送信されたデータ設定要求に応じて、データ設定要求が示す下部機器３１に対して設定値を設定する。そして、上位システム１０は、設定完了を示す応答をＧＷ２０に送信する（ステップＳ１１１）。ＧＷ２０は、コントローラ３０から送信された応答のプロトコルをＢＡＣｎｅｔ／ＩＰからＢＡＣｎｅｔ／ＷＳに変換して上位システム１０に送信する（ステップＳ１１２）。
監視制御システム１００では、データ取得要求とデータ設定要求とは非同期に処理が行なわれる。したがって、上記のようにデータ取得要求中にデータ設定要求が行われる場合がある。
【００１５】
図３は、ＧＷ２０の機能構成を表す概略ブロック図である。
ＧＷ２０は、バスで接続されたＣＰＵ（Central Processing Unit）やメモリや補助記憶装置などを備え、中継制御プログラムを実行する。中継制御プログラムの実行によって、ＧＷ２０は、第１通信部２０１、要求解析部２０２、要求記憶部２０３、コントローラ情報記憶部２０４、許可信号情報記憶部２０５、要求生成部２０６、第２通信部２０７、応答生成部２０８を備える装置として機能する。なお、ＧＷ２０の各機能の全て又は一部は、ＡＳＩＣ（Application Specific Integrated Circuit）やＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを用いて実現されてもよい。また、中継制御プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、中継制御プログラムは、電気通信回線を介して送受信されてもよい。
【００１６】
第１通信部２０１は、ＢＡＣｎｅｔ／ＷＳを利用して上位システム１０との間で通信を行う。第１通信部２０１は、上位システム１０から要求を受信する。第１通信部２０１は、上位システム１０に対して応答を送信する。
要求解析部２０２は、第１通信部２０１によって受信された要求を入力する。要求解析部２０２は、入力された要求を解析する。具体的には、要求解析部２０２は、要求を解析することによって、要求に含まれる制御命令を取得する。
要求記憶部２０３は、揮発性メモリを用いて構成される。要求記憶部２０３は、要求解析部２０２によって取得された制御命令を要求及び上位システム１０の識別情報に対応付けて一時的に記憶する。
【００１７】
コントローラ情報記憶部２０４は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。コントローラ情報記憶部２０４は、コントローラ設定ファイルを記憶する。コントローラ設定ファイルは、各コントローラ３０の設定に関する情報（以下、「設定情報」という。）が登録されているファイルである。
許可信号情報記憶部２０５は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。許可信号情報記憶部２０５は、許可信号リストを記憶する。許可信号リストは、ＧＷ２０がコントローラ３０に対して送信が許可されている制御命令に関する情報（以下、「許可命令情報」という。）が登録されているリストである。
【００１８】
要求生成部２０６は、要求解析部２０２によって取得された制御命令と、コントローラ情報記憶部２０４に記憶されているコントローラ設定ファイルと、許可信号情報記憶部２０５に記憶されている許可信号リストとを入力する。要求生成部２０６は、入力された制御命令と、コントローラ設定ファイルと、許可信号リストとに基づいてコントローラ３０毎の制御要求を生成する。制御要求の具体的な生成方法については後述する。
第２通信部２０７は、ＢＡＣｎｅｔ／ＩＰを利用してコントローラ３０との間で通信を行う。第２通信部２０７は、要求生成部２０６によって生成された制御要求をコントローラ３０に送信する。第２通信部２０７は、制御要求に対する応答をコントローラ３０から受信する。
応答生成部２０８は、第２通信部２０７によって受信された応答と、要求記憶部２０３に記憶されている制御命令とに基づいて上位システム１０に対する応答を生成する。具体的には、応答生成部２０８は、１つの要求に含まれる制御命令に対する全ての応答を含む応答を生成する。つまり、応答生成部２０８は、１つの要求に１０個の制御命令があった場合には、同じ制御命令がある場合であっても１０個全ての応答を含む応答を生成する。
【００１９】
図４は、コントローラ設定ファイルの具体例を示す図である。
コントローラ設定ファイルにおける１行が１つのコントローラ３０に対する設定情報を示す。コントローラ設定ファイルには、複数の設定情報が登録されている。ここで、設定情報は、コントローラ３０の識別情報、コントローラ３０が１度の処理で複数の制御命令を処理可能であるか否かを示す情報、処理可能な最大命令数、タイムアウト時間及び再送回数などである。複数の制御命令を処理可能であるか否かを示す情報の具体例としては、シングル設定及びマルチ設定がある。シングル設定は、コントローラ３０が１度の処理で１つの制御命令を処理可能であることを示す。マルチ設定は、コントローラ３０が１度の処理で複数の制御命令を処理可能であることを示す。処理可能な最大命令数は、コントローラ３０が１度の処理で処理可能な制御命令の上限値を表す。なお、処理可能な最大命令数の値は、コントローラ３０がマルチ設定の場合にのみ設定される。タイムアウト時間は、制御命令に対する応答待ちのタイムアウト時間を表す。再送回数は、タイムアウトによる制御命令の再送回数を表す。
【００２０】
図４に示される例では、コントローラ設定ファイルの最上段８１に登録されている設定情報は、“１０１，ｍｕｌｔｉ，２０，３０００，１”である。これは、識別情報“１０１”で特定されるコントローラ３０が“マルチ設定”であり、１度で処理可能な制御命令の最大数が“２０個”であり、タイムアウト時間が“３０００（ｍｓ）”であり、再送回数が“１回”であることが示されている。
また、コントローラ設定ファイルの２段目８２に登録されている設定情報は、“１０２，ｓｉｎｇｌｅ，５００，３”である。これは、識別情報“１０２”で特定されるコントローラ３０が“シングル設定”であり、タイムアウト時間が“５００（ｍｓ）”であり、再送回数が“３回”であることが示されている。
【００２１】
図５は、許可信号リストの具体例を示す図である。
許可信号リストにおける１行がコントローラ３０への送信が許可されている制御命令を示す。許可信号リストには、複数の許可命令情報が登録されている。ここで、許可命令情報は、コントローラ３０の識別情報、制御命令の種別を示す情報及び下部機器３１の識別情報などである。
図５に示される例では、許可信号リストの最上段に登録されている許可命令情報は、“１０１−ＡＯ（Analog-Output）−１００００”である。これは、識別情報“１０１”で特定されるコントローラ３０に接続する下部機器３１のうち、識別情報“１００００”で特定される下部機器３１に対するアナログ出力に関する制御命令を許可することが示されている。
【００２２】
また、許可信号リストの２段目に登録されている許可命令情報は、“１０１−ＢＯ（Binary-Output）−１０００１”である。これは、識別情報“１０１”で特定されるコントローラ３０に接続する下部機器３１のうち、識別情報“１０００１”で特定される下部機器３１に対するバイナリ―出力に関する制御命令を許可することが示されている。
また、許可信号リストの３段目に登録されている許可命令情報は、“１０２−ＡＶ（Analog-Value）−１０００２”である。これは、識別情報“１０２”で特定されるコントローラ３０に接続する下部機器３１のうち、識別情報“１０００２”で特定される下部機器３１に対する現在値に関する制御命令を許可することが示されている。
【００２３】
図６は、上位システム１０から送信された要求の具体例を示す図である。
図６に示すように、領域８３が１つの要求を表す。そして、領域８３に含まれる文字列それぞれが１つの制御命令を表す。具体的には、図６では、１つの要求に１０個の制御命令が含まれている場合を示している。ここで、制御命令について、最上段の制御命令を例に説明する。最上段の制御命令において一点鎖線８４で示される部分は、ＧＷ２０の名称、コントローラ３０の識別情報、下部機器３１の識別情報及び制御命令の種別を表す。要求解析部２０２は、上位システム１０から送信された要求を解析することによって、領域８３で示される部分に含まれる制御命令を取得する。
【００２４】
図７は、ＧＷ２０による各コントローラ３０に対する制御要求の生成方法を説明するための図である。
図７には、要求解析部２０２によって取得された１つの要求８５に含まれる複数の制御命令（図７では、１２個の制御命令）が示されている。これらの制御命令は、識別情報“１０１”、“１０２”及び“１２８”で特定される各コントローラ３０に対する制御命令である。要求生成部２０６は、以下のようにして各コントローラ３０に対する制御要求の生成方法を説明する。
第１の処理として、要求生成部２０６は、複数の制御命令をコントローラ３０の識別情報毎に分類する。この処理によって、複数の制御命令がコントローラ３０毎に分類される。具体的には、領域８５−１、８５−２及び８５−３に含まれる８つの制御命令が識別情報“１０１”で特定されるコントローラ３０に対する制御命令に分類される。また、領域８６に含まれる３つの制御命令が識別情報“１２８”で特定されるコントローラ３０に対する制御命令に分類される。また、残りの１つの制御命令が識別情報“１０２”で特定されるコントローラ３０に対する制御命令に分類される。
【００２５】
第２の処理として、要求生成部２０６は、コントローラ設定ファイルに登録されている設定情報と、許可信号リストに登録されている許可命令情報とに基づいて、制御要求に含める制御命令を決定する。具体的には、要求生成部２０６は、許可信号リストに登録されていない制御命令を除いた制御命令を制御要求に含める制御命令に決定する。なお、ここでは、全ての制御命令が許可信号リストに登録されているとする。さらに、要求生成部２０６は、許可信号リストに登録されている制御命令を用いて、コントローラ設定ファイルにおいてシングル設定の登録がなされているコントローラ３０に対しては、１つの制御命令を１つの制御要求に含めると決定する。要求生成部２０６は、許可信号リストに登録されている制御命令を用いて、コントローラ設定ファイルにおいてマルチ設定の登録がなされているコントローラ３０に対しては、最大命令数までの制御命令を１つの制御要求に含め、残りの制御命令を新たな制御要求に含めると決定する。なお、１つの要求に同一の制御命令がある場合、要求生成部２０６は、同一の制御命令をまとめて１つの制御命令としてカウントする。ここで、同一の制御命令とは、制御命令で示される文字列が完全に一致している制御命令である。
【００２６】
一例として、図４のコントローラ設定ファイルを用いて説明すると、識別情報“１０１”で特定されるコントローラ３０は、マルチ設定であり、最大命令数が２０である。つまり、要求生成部２０６は、識別情報“１０１”で特定されるコントローラ３０に対する８つの制御命令を１つの制御要求に含めると決定する。
また、一例として、図４のコントローラ設定ファイルを用いて説明すると、識別情報“１０２”で特定されるコントローラ３０は、シングル設定である。つまり、要求生成部２０６は、識別情報“１０２”で特定されるコントローラ３０に対する１つの制御命令を１つの制御要求に含めると決定する。
また、一例として、図４のコントローラ設定ファイルを用いて説明すると、識別情報“１２８”で特定されるコントローラ３０は、マルチ設定であり、最大命令数が２０である。つまり、要求生成部２０６は、識別情報“１２８”で特定されるコントローラ３０に対する３つの制御命令を１つの制御要求に含めると決定する。
【００２７】
第３の処理として、要求生成部２０６は、決定結果に基づいてコントローラ３０毎の制御要求を生成する。具体的には、要求生成部２０６は、識別情報“１０１”で特定されるコントローラ３０に対する８つの制御命令を１つにまとめることによって識別情報“１０１”で特定されるコントローラ３０用の制御要求を生成する。要求生成部２０６は、識別情報“１０２”で特定されるコントローラ３０に対する１つの制御命令を含めることによって識別情報“１０２”で特定されるコントローラ３０用の制御要求を生成する。要求生成部２０６は、識別情報“１２８”で特定されるコントローラ３０に対する３つの制御命令を１つにまとめることによって識別情報“１２８”で特定されるコントローラ３０用の制御要求を生成する。
【００２８】
図８は、ＧＷ２０の処理の流れを示すフローチャートである。
第１通信部２０１は、上位システム１０から送信された要求を受信する（ステップＳ２０１）。第１通信部２０１は、受信した要求を要求解析部２０２に出力する。要求解析部２０２は、第１通信部２０１から出力された要求を解析することによって、要求に含まれる制御命令を取得する（ステップＳ２０２）。その後、要求解析部２０２は、取得した制御命令を、要求及び上位システム１０の識別情報に対応付けて要求記憶部２０３に記憶させる。また、要求解析部２０２は、取得した制御命令を要求生成部２０６に出力する。要求生成部２０６は、要求解析部２０２から出力された制御命令と、コントローラ情報記憶部２０４に記憶されているコントローラ設定ファイルと、許可信号情報記憶部２０５に記憶されている許可信号リストとに基づいて制御要求生成処理を実行する（ステップＳ２０３）。制御要求生成処理については後述する。
【００２９】
要求生成部２０６は、生成した制御要求を第２通信部２０７に出力する。第２通信部２０７は、要求生成部２０６から出力された制御要求を宛先のコントローラ３０に送信する（ステップＳ２０４）。その後、第２通信部２０７は、コントローラ３０からの制御要求に対する応答を受信する（ステップＳ２０５）。第２通信部２０７は、受信した応答を応答生成部２０８に出力する。応答生成部２０８は、要求記憶部２０３に記憶されている制御命令と、第２通信部２０７から出力された応答とに基づいて、要求に対する全ての応答が受信されたか否か判定する（ステップＳ２０６）。要求に対する全ての応答が受信されていない場合（ステップＳ２０６−ＮＯ）、ＧＷ２０はステップＳ２０５以降の処理を繰り返し実行する。
【００３０】
一方、要求に対する全ての応答が受信された場合（ステップＳ２０６−ＹＥＳ）、応答生成部２０８は要求に対する応答を含む応答を生成する（ステップＳ２０７）。応答生成部２０８は、生成した応答を第１通信部２０１に出力する。第１通信部２０１は、応答生成部２０８から出力された応答を要求の送信元である上位システム１０に送信する（ステップＳ２０８）。
【００３１】
図９は、制御要求生成処理の流れを示すフローチャートである。なお、図９の説明では、説明の簡単化のため、１つの上位システム１０から１つのコントローラ３０（例えば、コントローラ３０−１）に対する要求が送信された場合を例に説明する。
要求生成部２０６は、許可信号情報記憶部２０５に記憶されている許可信号リストを参照し、要求解析部２０２から出力された制御命令を判別する（ステップＳ３０１）。許可信号リストに登録がない制御命令については（ステップＳ３０１−許可信号リスト登録なし）、要求生成部２０６は第１通信部２０１を介して、上位システム１０に対してエラーを送信する（ステップＳ３０２）。
【００３２】
一方、許可信号リストに登録がある制御命令については（ステップＳ３０１−許可信号リスト登録あり）、要求生成部２０６は許可信号リストに登録がある制御命令が複数あるか否か判定する（ステップＳ３０３）。許可信号リストに登録がある制御命令が複数ない場合（ステップＳ３０３−ＮＯ）、要求生成部２０６は許可信号リストに登録がある１つの制御命令を含む制御要求を生成する（ステップＳ３０４）。その後、要求生成部２０６は制御要求生成処理を終了する。
【００３３】
一方、許可信号リストに登録がある制御命令が複数ある場合（ステップＳ３０３−ＹＥＳ）、要求生成部２０６はコントローラ情報記憶部２０４に記憶されているコントローラ設定ファイルを参照し、コントローラ３０−１の設定を判定する（ステップＳ３０５）。具体的には、要求生成部２０６は、コントローラ設定ファイルを参照し、コントローラ３０−１の設定がシングル設定であるかマルチ設定であるか判定する。コントローラ３０−１の設定がシングル設定である場合（ステップＳ３０５−シングル設定）、要求生成部２０６は１つの制御命令を含む制御要求を許可信号リストに登録がある制御命令毎に生成する（ステップＳ３０６）。その後、要求生成部２０６は制御要求生成処理を終了する。
【００３４】
ステップＳ３０５の処理において、コントローラ３０−１の設定がマルチ設定である場合（ステップＳ３０５−マルチ設定）、要求生成部２０６はコントローラ設定ファイルを参照し、許可信号リストに登録がある制御命令がコントローラ３０−１の最大命令数以内であるか否か判定する（ステップＳ３０７）。コントローラ３０−１の最大命令数以内である場合（ステップＳ３０７−ＹＥＳ）、要求生成部２０６はコントローラ３０−１に対する全ての制御命令（許可信号リストに登録がある制御命令のみ）を含む制御要求を生成する（ステップＳ３０８）。その後、要求生成部２０６は制御要求生成処理を終了する。
【００３５】
ステップＳ３０７の処理において、コントローラ３０−１の最大命令数以内ではない場合（ステップＳ３０７−ＮＯ）、要求生成部２０６はコントローラ３０−１に対する制御命令を含む複数の命令を生成する（ステップＳ３０９）。具体的には、要求生成部２０６は、コントローラ３０−１に対する許可信号リストに登録がある制御命令を最大数分含む制御要求と、コントローラ３０−１に対する許可信号リストに登録がある残りの制御命令を含む制御要求とを生成する。なお、ステップＳ３０９の処理において、要求生成部２０６は、複数の制御要求を生成する場合には、必ずしも１つの制御要求に最大数分の制御命令を含む必要はなく、どのように複数の制御要求を生成してもよい。その後、要求生成部２０６は制御要求生成処理を終了する。
【００３６】
以上のように構成されたＧＷ２０によれば、不要な命令伝達を抑制することが可能になる。以下、この効果について詳細に説明する。
ＧＷ２０は、上位システム１０から送信された要求を解析することによって、要求に含まれる制御命令をコントローラ３０毎に分類する。ＧＷ２０は、分類した制御命令に基づいてコントローラ３０毎の制御要求を生成する。これにより、コントローラ３０に送信される制御要求には、他のコントローラ３０に対する制御命令が含まれない。そのため、不要な命令伝達を抑制することが可能になる。
【００３７】
また、ＧＷ２０は、コントローラ３０の特性に応じて制御要求を生成する。具体的には、ＧＷ２０は、コントローラ３０がマルチ設定の場合には１度の処理で処理可能な最大命令数以内の制御命令を含む制御要求を生成し、コントローラ３０がシングル設定の場合には１つの制御命令を含む１つの制御要求を制御命令数分生成する。このように、ＧＷ２０は、各コントローラ３０が対応可能な制御要求を生成することができる。そのため、様々なコントローラ３０の特性に対応して制御要求を生成することが可能になる。
【００３８】
また、ＧＷ２０は、許可信号リストに登録されていない制御命令については制御要求に含めない。したがって、コントローラ３０への送信が許可されていない制御命令がコントローラ３０に送信されることがない。そのため、不要な命令伝達を抑制することが可能になる。
また、ＧＷ２０は、１つの要求に同一の制御命令が複数あった場合には、同一の制御命令を１つの制御命令として制御要求を生成する。これにより、１つの制御要求に同一の制御命令が複数含まれることがない。したがって、コントローラ３０によって同じ制御を複数回実行させることがない。そのため、不要な命令伝達を抑制し、コントローラ３０の処理負荷を軽減することが可能になる。
【００３９】
以下、監視制御システム１００の変形例について説明する。
本実施形態では、監視制御システム１００が複数の上位システム１０を備える構成を示したが、監視制御システム１００は１つの上位システム１０を備えるように構成されてもよい。また、本実施形態では、監視制御システム１００が複数のコントローラ３０を備える構成を示したが、監視制御システム１００は１つのコントローラ３０を備えるように構成されてもよい。
本実施形態では、コントローラ設定ファイルに１つのコントローラ３０に対して１つの設定情報のみが登録されている場合を例に説明したが、コントローラ設定ファイルには１つのコントローラ３０に対して複数の設定情報が登録されてもよい。例えば、コントローラ設定ファイルには、１つのコントローラ３０に対してシングル設定と、マルチ設定との２つの設定情報が登録されてもよい。このよう構成される場合、要求生成部２０６は、２つの設定情報が登録されているコントローラ３０に対する制御命令が１つの場合にはシングル設定の設定情報に従って制御要求を生成し、コントローラ３０に対する制御命令が複数の場合にはマルチ設定の設定情報に従って制御要求を生成する。
【００４０】
ＧＷ２０は、所定の時間（例えば、１０秒、１分など）の間に上位システム１０から複数の要求が取得された場合には、複数の要求それぞれに含まれる複数の制御命令を用いて各コントローラ３０の制御要求を生成するように構成されてもよい。このように構成される場合、ＧＷ２０は上位システム１０からの要求を受信してから所定の時間待機する。そして、所定の時間経過後、ＧＷ２０は所定の時間待機している間に取得された要求を用いて制御要求を生成する。以下、図１０を用いて具体的な処理について説明する。
【００４１】
図１０は、複数の要求が取得された場合の処理を説明するための図である。
図１０には、所定の時間の間に要求解析部２０２によって取得された複数の要求８７、８８及び８９が示されている。要求８７には５つの制御命令が含まれ、要求８８には５つの制御命令が含まれ、要求８９には５つの制御命令が含まれる。これらの制御命令は、識別情報“１０１”、“１０２”及び“１２８”で特定される各コントローラ３０に対する制御命令である。要求生成部２０６は、以下のようにして各コントローラ３０に対する制御要求の生成方法を説明する。ここでは、識別情報“１０１”で特定されるコントローラ３０に対する制御命令を用いて、識別情報“１０１”で特定されるコントローラ３０用の制御要求を生成する場合を例に説明する。
【００４２】
要求生成部２０６は、上記の第１の処理と同様に、各要求８７、８８及び８９それぞれに含まれる複数の制御命令をコントローラ３０の識別情報毎に分類する。この処理によって、領域８７−１、８７−２、８８−１、８８−２、８９−１及び８９−２に含まれる１１個の制御命令が識別情報“１０１”で特定されるコントローラ３０に対する制御命令に分類される。次に、要求生成部２０６は、上記の第２の処理と同様に、コントローラ設定ファイルに登録されている設定情報と、許可信号リストに登録されている許可命令情報とに基づいて、制御要求に含める制御命令を決定する。一例として、図４のコントローラ設定ファイルを用いて説明すると、識別情報“１０１”で特定されるコントローラ３０は、マルチ設定であり、最大命令数が２０である。つまり、要求生成部２０６は、識別情報“１０１”で特定されるコントローラ３０に対する１１個の制御命令を１つの制御要求に含めると決定する。ただし、図１０において、１１個の制御命令には同一の制御命令が複数存在する。例えば、制御命令“／ＢＡＣＮＥＴ＿ＧＡＴＥＷＡＹｘｘ／１０１／１００００１／１：ＶＡＬＵＥ”と、制御命令“／ＢＡＣＮＥＴ＿ＧＡＴＥＷＡＹｘｘ／１０１／１００００２／１：ＶＡＬＵＥ”と、制御命令“／ＢＡＣＮＥＴ＿ＧＡＴＥＷＡＹｘｘ／１０１／１００００６／１：ＶＡＬＵＥ”とが１１個の制御命令の中に複数存在する。そこで、要求生成部２０６は、同一の制御命令については１つの制御命令としてカウントする。つまり、要求生成部２０６は、制御命令“／ＢＡＣＮＥＴ＿ＧＡＴＥＷＡＹｘｘ／１０１／１００００１／１：ＶＡＬＵＥ”が３つあったとしても１つの制御命令とする。同様に、要求生成部２０６は、制御命令“／ＢＡＣＮＥＴ＿ＧＡＴＥＷＡＹｘｘ／１０１／１００００２／１：ＶＡＬＵＥ”が３つあったとしても１つの制御命令とする。同様に、要求生成部２０６は、制御命令“／ＢＡＣＮＥＴ＿ＧＡＴＥＷＡＹｘｘ／１０１／１００００６／１：ＶＡＬＵＥ”が２つあったとしても１つの制御命令とする。この処理によって、要求生成部２０６は、６つの制御命令（６種類の制御命令）を１つの制御要求に含めると決定する。そして、要求生成部２０６は、上記の第３の処理と同様に、決定結果に基づいてコントローラ３０毎の制御要求を生成する。具体的には、要求生成部２０６は、識
別情報“１０１”で特定されるコントローラ３０に対する６つの制御命令を１つにまとめることによって識別情報“１０１”で特定されるコントローラ３０用の制御要求を生成する。
【００４３】
このように構成されることによって、短時間の間に複数の要求が取得される場合であっても対応することができる。さらに、要求生成部２０６は、短時間の間に取得された複数の要求に同一の制御命令が含まれている場合には、１つの制御命令として制御要求に含める。したがって、短時間の間に同じ制御命令をコントローラ３０に送信することが無くなる。そのため、コントローラ３０の処理負荷を軽減することが可能になる。
【００４４】
以上説明した少なくともひとつの実施形態によれば、自装置に接続している複数のコントローラ３０に対する複数の制御命令を含む要求に基づいて、要求に含まれる複数の制御命令を用いて制御命令の宛先毎の制御要求を生成する要求生成部２０６と、生成された制御要求を宛先のコントローラ３０に送信する送信部（実施形態の第２通信部２０７に相当）とを持つことにより、不要な命令伝達を抑制することができる。
【００４５】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００４６】
１０（１０−１〜１０−Ｍ）…上位システム，２０…ＧＷ，３０（３０−１〜３０−Ｎ）…コントローラ，４０…ネットワーク，５０…空調設備，６０…温度センサ，７０…湿度センサ，８０…電力計，２０１…第１通信部，２０２…要求解析部，２０３…要求記憶部，２０４…コントローラ情報記憶部，２０５…許可信号情報記憶部，２０６…要求生成部，２０７…第２通信部，２０８…応答生成部
【図１】
2017108291.tif 000003
【図２】
2017108291.tif 000004
【図３】
2017108291.tif 000005
【図４】
2017108291.tif 000006
【図５】
2017108291.tif 000007
【図６】
2017108291.tif 000008
【図７】
2017108291.tif 000009
【図８】
2017108291.tif 000010
【図９】
2017108291.tif 000011
【図１０】
2017108291.tif 000012