JP6257797B2 - 設備機器システム、及び、制御装置 - Google Patents

設備機器システム、及び、制御装置 Download PDF

Info

Publication number
JP6257797B2
JP6257797B2 JP2016556121A JP2016556121A JP6257797B2 JP 6257797 B2 JP6257797 B2 JP 6257797B2 JP 2016556121 A JP2016556121 A JP 2016556121A JP 2016556121 A JP2016556121 A JP 2016556121A JP 6257797 B2 JP6257797 B2 JP 6257797B2
Authority
JP
Japan
Prior art keywords
data
schedule data
control device
unit
change
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016556121A
Other languages
English (en)
Other versions
JPWO2016067412A1 (ja
Inventor
真 勝倉
真 勝倉
太一 石阪
太一 石阪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2016067412A1 publication Critical patent/JPWO2016067412A1/ja
Application granted granted Critical
Publication of JP6257797B2 publication Critical patent/JP6257797B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q9/00Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M11/00Telephonic communication systems specially adapted for combination with other electrical systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2614HVAC, heating, ventillation, climate control

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Selective Calling Equipment (AREA)
  • Alarm Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Air Conditioning Control Device (AREA)

Description

本発明は、設備機器を制御する複数の制御装置がネットワークを介して接続された設備機器システム、及び、制御装置に関する。
近年、ビル等の建物内において、空調機器や照明機器等の設備機器を制御(監視等も含む)する設備機器システムが配置されている。一例として、このような設備機器システムは、制御装置(コントローラ)が複数の設備機器を制御可能となっている。また、大規模な設備機器システムともなると、例えば、フロア毎に制御装置が配置され、各制御装置がフロア内の各設備機器を制御するようになっている。それでも、これらの制御装置が直接制御することのできる設備機器の台数には上限がある。このため、複数の制御装置同士をネットワークを介して接続することにより、1台の制御装置から直接的又は間接的に制御できる設備機器の台数を増加させた設備機器システムが提案されている。
このようなシステムの一例として、特許文献1には、ビル内の設備状況を外部から確認できる設備監視システムの発明が開示されている。この設備監視システムでは、監視サーバ装置が、インターネットを通じて外部の装置(監視情報表示装置)と通信可能であり、また、LANを通じて内部の装置(各監視装置)とも通信可能となっている。監視サーバ装置は、監視情報表示装置からのリクエストに応じて、複数の設備機器(非常灯)を監視している監視装置(要求された監視装置)にアクセスし、監視装置からファイルを取得する。そして、監視サーバ装置は、取得したファイルを監視情報表示装置へ提供して表示させる。
特開2007−316863号公報
しかしながら、上述した特許文献1に開示された設備監視システムでは、分散して管理されているデータを集めて変更可能とすることができなかった。つまり、特許文献1の設備監視システムにおいて、監視サーバ装置は、監視情報表示装置からのリクエストを監視装置にリダイレクトしているだけであり、結局のところ、個々の監視装置がリクエストに応答していることになる。そのため、監視サーバ装置は、そのようなリクエストの中継処理を行うことで、監視装置のファイルを表示(表示可能に提供)できるものの、そのファイルの内容を変更することまではできなかった。
また、特許文献1の設備監視システムでは、仮に、監視サーバ装置側でファイルの内容を変更したとしても、監視サーバ装置と監視装置とで一括してファイルを更新することができなかった。つまり、集めたデータを変更したとしても、同一のタイミングで更新することができなかった。また、特許文献1の設備監視システムでは、仮に、監視サーバ装置及び監視装置の両方から、同時期に同じデータに対して変更が行われると、後になされた方の変更だけが反映されてしまう。つまり、監視サーバ装置を操作するユーザ、及び、監視装置を操作するユーザにとって、自分の操作によるデータの変更が反映されない場合があり、しかも、反映されない場合でもそのことに気付かないという不具合が懸念される。
本発明は、上記課題を解決するためになされたもので、分散して管理されているデータを集めて変更可能とすると共に、複数の制御装置(コントローラ)から同時にデータの変更要求が発生した場合であっても、不具合を生じさせないようにすることのできる設備機器システム、及び、制御装置を提供することを目的とする。
上記目的を達成するために、本発明に係る設備機器システムは、
設備機器を制御する第1の制御装置及び第2の制御装置がネットワークを介して接続された設備機器システムであって、
前記第1の制御装置は、
前記設備機器の制御に関するデータを記憶する第1の記憶部と、
前記第2の制御装置に記憶されているデータを取得し、当該データへの変更が前記第1の制御装置を操作するユーザによってなされると、変更後データを前記第2の制御装置に送信して更新を要求するデータ更新要求部と、
前記変更後データを送信した後に、前記第2の制御装置から送られる通知内容に従って、前記第1の記憶部にデータを書き込むデータ更新処理部と、を備え、
前記第2の制御装置は、
前記設備機器の制御に関するデータを記憶する第2の記憶部と、
前記第1の制御装置から送られた前記変更後データを取得後、前記第2の制御装置を操作するユーザによる前記第2の記憶部に記憶されたデータに対する変更の有無を判別する判別部と、
前記判別部による判別結果に従って、前記変更後データを前記第2の記憶部に書き込むデータ更新処理部と、を備え、
前記第2の制御装置の前記データ更新処理部は、前記判別部がデータに対する変更がないと判別した場合に、前記変更後データの更新を許諾する許諾通知を前記第1の制御装置に送信し、前記判別部がデータに対する変更があると判別した場合に、前記変更後データの更新を拒絶する拒絶通知を前記第1の制御装置に送信し、
前記第1の制御装置の前記データ更新処理部は、前記第2の制御装置から前記許諾通知が送られた場合に、前記第1の記憶部に前記変更後データを書き込み、前記第2の制御装置から前記拒絶通知が送られた場合に、前記第1の制御装置を操作するユーザに対して変更が拒絶されたことを報知する。
本発明によれば、第2の制御装置が保持しているデータが第1の制御装置に集められて変更可能となる。そして、変更後データが第1の制御装置から第2の制御装置に送られた後、第2の制御装置が保持しているデータへの変更の有無が判別される。ここで、第2の制御装置が保持しているデータへの変更がないと判別されると、許諾通知が第1の制御装置に送信され、第1及び第2の制御装置の双方で変更後データの書き込みが行われる。一方、第2の制御装置が保持しているデータへの変更があると判別されると、拒絶通知が第1の制御装置に送信され、第1の制御装置を操作するユーザに対して変更が拒絶されたことが報知される。これによって、分散して管理されているデータを集めて変更可能とすると共に、複数の制御装置(コントローラ)から同時にデータの変更要求が発生した場合であっても、不具合を生じさせないようにすることができる。
本発明の実施形態1に係る空調システムの全体構成の一例を示すブロック図である。 メインコントローラ及びサブコントローラの機能構成の一例を示すブロック図である。 スケジュールデータの取得動作を説明するためのフローチャートである。 スケジュールデータの更新動作を説明するためのフローチャートである。 スケジュールデータの更新動作を説明するためのフローチャートである。 本発明の実施形態2に係る空調システムの全体構成の一例を示すブロック図である。
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。なお、図中同一又は相当部分には同一符号を付す。以下では、具体例として、本発明が第1の制御装置(後述するメインコントローラ100)及び第2の制御装置(後述するサブコントローラ200)がネットワークを介して接続された空調システムに適用される場合について説明するが、後述するように、他のシステムにおいても同様に本発明を適用することができる。すなわち、以下に説明する実施形態は説明のためのものであり、本発明の範囲を制限するものではない。従って、当業者であればこれらの各要素又は全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
(実施形態1)
図1は、本発明の実施形態1に係る空調システム1の全体構成の一例を示すブロック図である。図示するように、空調システム1は、各空調機300を制御するメインコントローラ100及び各サブコントローラ200が、LAN(Local Area Network)等のネットワーク10を介して接続されて構成される。この空調システム1は、例えば、ビル等の建物に配置され、建物内の全ての空調機300を制御(監視等も含む)する。一例として、メインコントローラ100やサブコントローラ200は、各フロアに配置され、それぞれ、フロア内の各空調機300を制御する。
具体的に、メインコントローラ100は、1階フロアに配置され、同フロア内の空調機300a〜300cと制御バス20aを介して接続されている。また、サブコントローラ200aは、2階フロアに配置され、同フロア内の空調機300d〜300fと制御バス20bを介して接続されている。そして、サブコントローラ200bは、3階フロアに配置され、同フロア内の空調機300g〜300iと制御バス20cを介して接続されている。なお、図1に示す空調システム1の構成は一例であり、実際に配置する建物の階数や間取りに応じて、サブコントローラ200や空調機300の数等を適宜変更可能である。
メインコントローラ100及びサブコントローラ200(200a,200b)は、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、通信ユニット、不揮発性メモリ(一例として、フラッシュメモリ)、液晶表示ユニット、及び、タッチパネルなどを含んで構成されるコントローラである。
メインコントローラ100及び各サブコントローラ200は、ネットワーク10を介して互いに通信を行い、また、制御バス20を介して各空調機300を制御する。なお、メインコントローラ100及びサブコントローラ200の詳細については、後述する。
空調機300(300a〜300i)は、例えば、膨張弁及び負荷側熱交換器などを有し、図示せぬ室外機と配管により接続されている。空調機300は、負荷側熱交換器において冷媒を蒸発又は凝縮させ、対象空間の空気調和を行う。なお、図1の空調機300は、一例として、天井埋め込み型の空調機(室内機)を示しているが、他に、壁掛け型や据え置き型の空調機であってもよい。
図2は、メインコントローラ100及びサブコントローラ200の機能構成の一例を示すブロック図である。以下、このブロック図を参照して、メインコントローラ100及びサブコントローラ200を順に説明する。
最初に、メインコントローラ100は、図2に示すように、通信部110と、Webサーバ120と、スケジュールデータ取得要求部130と、スケジュールデータ更新要求部140と、WebSocketクライアント150と、復号化部160と、暗号化部170と、スケジュールデータ180(180a,180b)と、使用区画管理部190とを含んで構成される。
なお、通信部110は、例えば、上述した通信ユニットによって実現される。また、Webサーバ120〜暗号化部170は、例えば、上述したCPU,ROM,RAMによって実現される。つまり、Webサーバ120〜暗号化部170は、ROMなどに格納されたプログラムをRAMに読み出して、CPUが実行することにより実現される。そして、スケジュールデータ180及び使用区画管理部190は、例えば、上述したフラッシュメモリによって実現される。なお、この使用区画管理部190は、上述したCPU,ROM,RAMによって実現されてもよい。
また、図2では省略しているが、メインコントローラ100は、表示部や操作受け付け部も備えている。表示部は、例えば、上述した液晶表示ユニットによって実現され、種々の画面(例えば、スケジュール設定画面等)を表示する。また、操作受け付け部は、例えば、上述したタッチパネルによって実現され、表示部に表示された設定画面内に配置されたボタン画像(例えば、スケジュール設定ボタン等)の押下(ユーザの指等による押下操作)を受け付ける。また、メインコントローラ100は、エラー音等を発生させるためのスピーカ等を備えていてもよい。
通信部110は、ネットワーク10を介して、サブコントローラ200と通信を行う。例えば、通信部110は、スケジュールデータ取得要求部130やスケジュールデータ更新要求部140に制御され、サブコントローラ200との間で、スケジュールデータ等を送受信する。その際、通信部110は、WebSocketクライアント150の制御に従って、WebSocket規格に沿った通信を行う。このWebSocket規格についての詳細は、後述するWebSocketクライアント150と共に説明する。
Webサーバ120は、HTML(Hyper Text Markup Language)形式のデータや画像を、ブラウザなどからの要求に応じて供給する。
スケジュールデータ取得要求部130は、通信部110を制御して、サブコントローラ200に対して、スケジュールデータを要求する(取得要求を発行する)。そして、要求したスケジュールデータを、通信部110を通じて取得すると、スケジュールデータ取得要求部130は、取得したスケジュールデータを復号化部160によって復号化する。つまり、サブコントローラ200から送られるスケジュールデータは、後述するように暗号化(メインコントローラ100の公開鍵にて暗号化)されているため、自身(メインコントローラ100)の秘密鍵を用いて復号化(解凍)する。スケジュールデータ取得要求部130は、復号化したスケジュールデータをRAM等の一時記憶領域に、仮スケジュールデータとして保存する。
このように得られた仮スケジュールデータを元にして、メインコントローラ100の液晶ユニット(表示部)には、サブコントローラ200が管理する空調機300のスケジュール設定画面が表示される。そして、ユーザは、メインコントローラ100のタッチパネル(操作受け付け部)からスケジュール設定画面を操作して、仮スケジュールデータの変更が行えるようになる。
スケジュールデータ更新要求部140は、仮スケジュールデータの変更が確定すると(例えば、スケジュール設定画面内に配置された「スケジュール設定ボタン」がユーザによって押下されると)、一時スケジュールデータ(変更されたスケジュールデータ)を作成する。そして、一時スケジュールデータを暗号化部170によって暗号化する。つまり、サブコントローラ200の公開鍵を用いて暗号化する。
スケジュールデータ更新要求部140は、通信部110を制御して、暗号化したスケジュールデータ(変更されたスケジュールデータ)をサブコントローラ200に送信すると共に、そのスケジュールデータの更新要求する。なお、この更新要求に応答して、サブコントローラ200からは、更新要求を承諾した旨の通知(より詳細には、スケジュールデータの更新予約完了通知)、又は、更新要求を拒絶した旨の通知(より詳細には、スケジュールデータの更新予約拒絶通知)が送信される。
スケジュールデータ更新要求部140は、更新要求を承諾した旨の通知を、通信部110を通じてサブコントローラ200から取得すると、変更されたスケジュールデータを自身(メインコントローラ100)のフラッシュメモリに書き込む。なお、後述するように、フラッシュメモリには、スケジュールデータを格納するための領域が複数区画(一例として、A区画及びB区画)設けられており、スケジュールデータ更新要求部140は、使用区画管理部190が使用区画として指し示していない方の区画に、変更されたスケジュールデータを書き込む。
一方、スケジュールデータ更新要求部140は、更新要求を拒絶した旨の通知を、通信部110を通じてサブコントローラ200から取得すると、ユーザが行ったスケジュール変更が拒絶されたことを報知するための警告メッセージを表示部に表示する。なお、このような警告メッセージを表示部に表示するだけでなく、メインコントローラ100がスピーカを備えている場合に、スケジュールデータ更新要求部140は、スピーカからエラー音を発生させて、スケジュール変更が拒絶されたことをユーザに報知してもよい。
なお、更新要求を拒絶した旨の通知と共に、サブコントローラ200にて変更されたスケジュールデータを取得した場合に、スケジュールデータ更新要求部140は、変更されたスケジュールデータに基づいて自身(メインコントローラ100)の仮スケジュールデータを更新し、一時スケジュールデータを破棄する。
このようにサブコントローラ200にて変更されたスケジュールデータ(更新後の仮スケジュールデータ)を元にして、メインコントローラ100の液晶ユニット(表示部)には、サブコントローラ200が管理する空調機300のスケジュール設定画面(最新のスケジュールが反映された設定画面)が表示される。そして、ユーザは、メインコントローラ100のタッチパネル(操作受け付け部)からスケジュール設定画面を操作して、仮スケジュールデータの変更が再度行えるようになる。
WebSocketクライアント150は、通信部110を制御して、サブコントローラ200との間の通信を、WebSocket規格に沿って行う。
なお、WebSocket(ウェブソケット)規格は、コンピュータ・ネットワーク用の通信規格の1つであり、サーバとクライアントとの間の通信のための双方向通信用の技術規格である。このWebSocket規格には、専用のAPI(Application Programming Interface)とプロトコルが規定されており、TCP(Transmission Control Protocol)上で動作する。サーバとクライアント間のデータのやり取りが頻繁に発生する場合、従来のHTTP(Hypertext Transfer Protocol)では、あくまでクライアント側(接続する側)からサーバ側(接続される側)にデータの送信要求を出す手段に過ぎず、サーバ側からクライアントにデータをプッシュ配信することが難しかった。これに対して、WebSocket規格では、サーバとクライアントが一度コネクションを行った後は、必要な通信を全てそのコネクション上で専用のプロトコルを用いて行う。そのため、従来の手法に比べて、通信ロスを低減できることや、同一サーバに接続する他のアプリケーションへの影響が少ない(1つのコネクションで全てのデータ送受信が行えるため)などのメリットがある。
復号化部160は、SSL(Secure Sockets Layer)と呼ばれる公開鍵暗号方式を用いて、データの暗号化・復号化を行う内の、復号化を担う。例えば、復号化部160は、自身(メインコントローラ100)の秘密鍵を用いて、スケジュールデータを復号化する。つまり、メインコントローラ100の公開鍵にて暗号化されたスケジュールデータを、サブコントローラ200から取得した際に、その暗号化されたスケジュールデータを、メインコントローラ100の秘密鍵を用いて復号化する。
暗号化部170は、SSLと呼ばれる公開鍵暗号方式を用いて、データの暗号化・復号化を行う内の、暗号化を担う。例えば、暗号化部170は、サブコントローラ200の公開鍵を用いて、スケジュールデータを暗号化する。つまり、変更されたスケジュールデータをスケジュールデータ更新要求部140がサブコントローラ200に送る際に、送り先のサブコントローラ200の公開鍵を用いて、そのスケジュールデータを暗号化する。そのために、暗号化部170は、サブコントローラ200a,200b両方の公開鍵を保持している。
スケジュールデータ180(180a,180b)は、自身(メインコントローラ100)のフラッシュメモリに格納されたスケジュールデータを示している。スケジュールデータ180は、例えば、サブコントローラ200から取得したスケジュールデータが変更された後にフラッシュメモリに書き込まれて格納される。
なお、フラッシュメモリには、スケジュールデータを格納するための領域として、例えば、A区画及びB区画が設けられている。そして、スケジュールデータ180aは、例えば、A区画に格納されたスケジュールデータを表している。一方、スケジュールデータ180bは、例えば、B区画に格納されたスケジュールデータを表している。これらA区画及びB区画は、以下に説明する使用区画管理部190によって、何れの区画が使用区画(空調機300の制御に使用するための使用区画)であるかが指し示されており、使用区画として指し示されている方のスケジュールデータ180が、空調機300の制御に実際に使用されるようになっている。また、フラッシュメモリに設けられた区画数は、複数であればよく、例えば、A区画、B区画、及び、C区画からなる3つの区画が設けられていてもよい。その場合、使用区画管理部190は、全区画のうちの1つを、使用区画として指し示すものとする。
使用区画管理部190は、フラッシュメモリに設けられたA区画及びB区画の何れかを、空調機300の制御に使用するための使用区画として指し示している。上述したように、スケジュールデータ更新要求部140は、使用区画管理部190が使用区画として指し示していない方の区画に、変更されたスケジュールデータを書き込む。そして、使用区画管理部190は、一定時間後に、使用区画を切り替える。例えば、使用区画管理部190は、上述した更新要求に受諾した旨の通知(より詳細には、スケジュールデータの更新予約完了通知)が、サブコントローラ200から送られた時点から一定時間経過後に、スケジュールデータ更新要求部140がスケジュールデータを書き込んだ区画を、使用区画として指し示す。
次に、サブコントローラ200は、図2に示すように、通信部210と、スケジュールデータ取得処理部220と、スケジュールデータ更新処理部230と、変更判別部240と、WebSocketサーバ250と、復号化部260と、暗号化部270と、スケジュールデータ280(280a,280b)と、使用区画管理部290とを含んで構成される。
なお、通信部210は、例えば、上述した通信ユニットによって実現される。また、スケジュールデータ取得処理部220〜暗号化部270は、例えば、上述したCPU,ROM,RAMによって実現される。つまり、スケジュールデータ取得処理部220〜暗号化部270は、ROMなどに格納されたプログラムをRAMに読み出して、CPUが実行することにより実現される。そして、スケジュールデータ280及び使用区画管理部290は、例えば、上述したフラッシュメモリによって実現される。なお、この使用区画管理部290は、上述したCPU,ROM,RAMによって実現されてもよい。
また、メインコントローラ100と同様に、サブコントローラ200も、図示せぬ表示部や操作受け付け部を備えている。表示部は、例えば、上述した液晶表示ユニットによって実現され、種々の画面を表示する。また、操作受け付け部は、例えば、上述したタッチパネルによって実現され、表示部に表示された設定画面内に配置されたボタン画像の押下を受け付ける。
通信部210は、ネットワーク10を介して、メインコントローラ100と通信を行う。例えば、通信部210は、スケジュールデータ取得処理部220やスケジュールデータ更新処理部230に制御され、メインコントローラ100との間で、スケジュールデータ等を送受信する。その際、通信部210は、WebSocketサーバ250の制御に従って、WebSocket規格に沿って通信を行う。
スケジュールデータ取得処理部220は、通信部210を通じて、スケジュールデータの取得要求をメインコントローラ100から取得する。そして、スケジュールデータ取得処理部220は、自身(サブコントローラ200)のフラッシュメモリからスケジュールデータ(より詳細には、使用区画管理部290が使用区画として指し示している区画から読み出したスケジュールデータ280)を読み出し、暗号化部270によって暗号化する。つまり、メインコントローラ100の公開鍵を用いて暗号化する。スケジュールデータ取得処理部220は、通信部210を制御して、暗号化したスケジュールデータをメインコントローラ100に送信する。
スケジュールデータ更新処理部230は、通信部210を通じて、スケジュールデータ(メインコントローラ100側で変更されたスケジュールデータ)とその更新要求を、メインコントローラ100から取得する。スケジュールデータ更新処理部230は、取得したスケジュールデータを復号化部260によって復号化する。つまり、メインコントローラ100から送られるスケジュールデータは、上述したように暗号化(サブコントローラ200の公開鍵にて暗号化)されているため、自身(サブコントローラ200)の秘密鍵を用いて復号化する。
復号化を通じてスケジュールデータに改竄や欠損がないことを確認すると、スケジュールデータ更新処理部230は、変更判別部240によってなされるサブコントローラ200側によるスケジュールデータの変更の有無の判別結果を待機する。変更判別部240は、後述するように、予め定められた時間の待ち状態に入り、その待機時間内において、サブコントローラ200側によるスケジュールデータの変更の有無を判別する。つまり、変更判別部240は、メインコントローラ100側にてスケジュールデータが変更されている状態で、サブコントローラ200側にてスケジュールデータの変更がなされたかどうかを判別する。そして、この判別結果に応じて、スケジュールデータ更新処理部230は、以下のような処理を実行する。
サブコントローラ200側にて変更がないと判別された場合に、スケジュールデータ更新処理部230は、通信部210を制御して、スケジュールデータの更新予約完了通知をメインコントローラ100に送信する。そして、スケジュールデータ更新処理部230は、スケジュールデータ(変更されたスケジュールデータ)を自身(サブコントローラ200)のフラッシュメモリに書き込む。なお、フラッシュメモリには、スケジュールデータを格納するための領域が複数区画(一例として、A区画及びB区画)設けられており、スケジュールデータ更新処理部230は、使用区画管理部290が使用区画として指し示していない方の区画に、変更されたスケジュールデータを書き込む。
一方、サブコントローラ200側にて変更があると判別された場合に、スケジュールデータ更新処理部230は、通信部210を制御して、スケジュールデータの更新予約拒絶通知をメインコントローラ100に送信する。なお、サブコントローラ200側にて変更がなされても、変更箇所が重ならない場合には、両方の変更を同時に反映可能となる。そのため、後述するように、変更判別部240は、両方の変更箇所を比較して、重複の有無も判別する。そして、変更箇所が重複しないと判別されると、スケジュールデータ更新処理部230は、両方の変更箇所を統合した変更後のスケジュールデータを生成して、更新予約拒絶通知と共にメインコントローラ100に送信する。更に、変更箇所が重複すると判別された場合でも、予め定められた優先順位に従って、一方の変更箇所だけを反映させてもよい。例えば、サブコントローラ200側の方が優先順位が高い場合に、スケジュールデータ更新処理部230は、サブコントローラ200側による変更箇所だけを反映させた変更後のスケジュールデータを生成して、更新予約拒絶通知と共にメインコントローラ100に送信する。
変更判別部240は、メインコントローラ100側から送られたスケジュールデータの複合化がスケジュールデータ更新処理部230によって行われると(復号化を通じてスケジュールデータに改竄や欠損がないことが確認されると)、予め定められた時間の待ち状態に入り、その待機時間内において、サブコントローラ200側によるスケジュールデータの変更の有無を判別する。つまり、変更判別部240は、メインコントローラ100側にてスケジュールデータが変更されている状態で、サブコントローラ200のタッチパネル(操作受け付け部)を操作するユーザによって、スケジュールデータの変更が行われたかどうかを判別する。変更判別部240は、スケジュールデータの変更が行われないまま、待機時間が経過した場合に、変更がない旨の判別結果をスケジュールデータ更新処理部230に通知する。
一方、スケジュールデータの変更が行われると、変更判別部240は、変更がある旨の判別結果をスケジュールデータ更新処理部230に通知する。なお、サブコントローラ200側にて変更がなされても、その変更箇所が、メインコントローラ100側の変更箇所と重ならない場合には、両方の変更を同時に反映可能となる。そのため、変更判別部240は、両方の変更箇所を比較して、重複の有無も判別する。一例として、変更判別部240は、以下のように重複の有無を判別する。
変更判別部240は、まず、サブコントローラ200側の変更箇所を確定する。つまり、ユーザ操作によって、スケジュールデータの何バイト目〜何バイト目が変更されたのかを確定させる。より詳細に変更判別部240は、ユーザが行ったスケジュールの変更を、データの形式に変換した後に、現在のスケジュールデータと比較して、何バイト目〜何バイト目が変更されたのかを確定する。なお、変更箇所は複数あることもある。変更箇所に関する情報は、上述したRAM内に一時的に保存される。
次に、変更判別部240は、メインコントローラ100側の変更箇所を確定する。つまり、メインコントローラ100から取得したスケジュールデータの何バイト目〜何バイト目が変更されたのかを確定させる。より詳細に変更判別部240は、メインコントローラ100から送信されたスケジュールデータ(メインコントローラ100側で変更されたスケジュールデータ)と、現在のスケジュールデータと比較して、何バイト目〜何バイト目が変更されたのかを確定する。なお、変更箇所は複数あることもある。変更箇所に関する情報は、上述したRAM内に一時的に保存される。
そして、変更判別部240は、RAM内に保存された両方の変更箇所に関する情報を比較し、重複の有無について判別する。変更判別部240は、このような重複についての判別結果もスケジュールデータ更新処理部230に通知する。なお、スケジュールデータ更新処理部230は、変更箇所が重複していない場合(メインコントローラ100側の変更箇所と、サブコントローラ200側の変更箇所とが異なる場合)に、2つの変更箇所を統合して変更後のスケジュールデータを生成する。また、変更箇所が重複していても、予め定められた優先順位に従って、一方の変更箇所だけを反映させた変更後のスケジュールデータを生成してもよい。例えば、サブコントローラ200側の方が優先順位が高い場合に、スケジュールデータ更新処理部230は、サブコントローラ200側による変更箇所だけを反映させた変更後のスケジュールデータを生成する。
WebSocketサーバ250は、通信部210を制御して、メインコントローラ100との間の通信を、WebSocket規格に沿って行う。
復号化部260は、SSLと呼ばれる公開鍵暗号方式を用いて、データの暗号化・復号化を行う内の、復号化を担う。例えば、復号化部260は、自身(サブコントローラ200)の秘密鍵を用いて、スケジュールデータを復号化する。つまり、サブコントローラ200の公開鍵にて暗号化されたスケジュールデータを、メインコントローラ100から取得した際に、その暗号化されたスケジュールデータを、サブコントローラ200の秘密鍵を用いて復号化する。
暗号化部270は、SSLと呼ばれる公開鍵暗号方式を用いて、データの暗号化・復号化を行う内の、暗号化を担う。例えば、暗号化部270は、メインコントローラ100の公開鍵を用いて、スケジュールデータを暗号化する。つまり、取得が要求されたスケジュールデータをスケジュールデータ取得処理部220がメインコントローラ100に送る際に、メインコントローラ100の公開鍵を用いて、そのスケジュールデータを暗号化する。
スケジュールデータ280(280a,280b)は、自身(サブコントローラ200)のフラッシュメモリに格納されたスケジュールデータを示している。スケジュールデータ280は、例えば、メインコントローラ100から送られたスケジュールデータ(変更されたスケジュールデータ)がフラッシュメモリに書き込まれて格納される。
なお、フラッシュメモリには、スケジュールデータを格納するための領域として、例えば、A区画及びB区画が設けられている。そして、スケジュールデータ280aは、例えば、A区画に格納されたスケジュールデータを表している。一方、スケジュールデータ280bは、例えば、B区画に格納されたスケジュールデータを表している。これらA区画及びB区画は、以下に説明する使用区画管理部290によって、何れの区画が使用区画であるかが指し示されており、使用区画として指し示されている方のスケジュールデータ280が実際の制御等に使用されるようになっている。また、フラッシュメモリに設けられた区画数は、複数であればよく、例えば、A区画、B区画、及び、C区画からなる3つの区画が設けられていてもよい。その場合、使用区画管理部290は、全区画のうちの1つを、使用区画として指し示すものとする。
使用区画管理部290は、フラッシュメモリに設けられたA区画及びB区画の何れかを使用区画として指し示す。上述したように、スケジュールデータ更新処理部230は、使用区画管理部290が使用区画として指し示していない方の区画に、変更されたスケジュールデータを書き込む。そして、使用区画管理部290は、一定時間後に、使用区画を切り替える。例えば、使用区画管理部290は、上述した更新予約の要求に受諾した旨の通知(より詳細には、スケジュールデータの更新予約完了通知)を、メインコントローラ100に送った時点から一定時間経過後に、スケジュールデータ更新処理部230がスケジュールデータを書き込んだ区画を、使用区画として指し示す。
このような構成の空調システム1の動作について、以下、図3〜5を参照して説明する。図3は、スケジュールデータの取得動作を説明するためのフローチャートである。また、図4,5は、スケジュールデータの更新動作を説明するためのフローチャートである。
最初に、図3を参照して、スケジュールデータの取得動作を説明する。このスケジュールデータの取得動作は、例えば、メインコントローラ100の液晶ユニット(表示部)に、どの空調機300のスケジュールデータを変更するかや、その際どの空調機300のスケジュールデータを元に変更するかなどを含んだ選択画面が表示され、タッチパネル(操作受け付け部)からユーザの指示を受け付けた後に、開始される。
まず、メインコントローラ100のスケジュールデータ取得要求部130は、通信部110を制御して、サブコントローラ200に対して、スケジュールデータの取得を要求する(ステップS11)。
例えば、スケジュールデータ取得要求部130は、ユーザに選択された空調機300(スケジュールデータを変更する空調機300)が、何階のフロアに配置されており、何れのサブコントローラ200で管理されているのかを自動判別する。一例として、スケジュールデータ取得要求部130は、各空調機300とフロアとの対応を規定した情報や、各サブコントローラ200とフロアとの対応を規定した情報に基づいて、選択された空調機300のスケジュールデータを管理するサブコントローラ200を特定する。そして、スケジュールデータ取得要求部130は、特定したサブコントローラ200に対して、スケジュールデータの取得を要求する。
サブコントローラ200のスケジュールデータ取得処理部220は、スケジュールデータの暗号化を行う(ステップS12)。
すなわち、スケジュールデータ取得処理部220は、通信部210を通じて、スケジュールデータの取得要求をメインコントローラ100から取得すると、自身(サブコントローラ200)のフラッシュメモリからスケジュールデータ(より詳細には、使用区画管理部290が使用区画として指し示されている区画に格納されているスケジュールデータ280)を読み出し、暗号化部270によって暗号化する。つまり、メインコントローラ100の公開鍵を用いて暗号化する。
スケジュールデータ取得処理部220は、スケジュールデータをメインコントローラ100に送信する(ステップS13)。つまり、スケジュールデータ取得処理部220は、通信部210を制御して、暗号化したスケジュールデータをメインコントローラ100に送信する。
スケジュールデータ取得要求部130は、スケジュールデータを復号化し、仮スケジュールデータとして保存する(ステップS14)。
すなわち、要求したスケジュールデータを、通信部110を通じて取得すると、スケジュールデータ取得要求部130は、取得したスケジュールデータを復号化部160によって復号化する。つまりメインコントローラ100の公開鍵にて暗号化されたスケジュールデータを、自身(メインコントローラ100)の秘密鍵を用いて復号化する。そして、スケジュールデータ取得要求部130は、復号化したスケジュールデータをRAM等の一時記憶領域に、仮スケジュールデータとして保存する。
スケジュールデータ取得要求部130は、スケジュールデータを表示部に表示させる(ステップS15)。
すなわち、スケジュールデータ取得要求部130は、このように得られた仮スケジュールデータを元にして、メインコントローラ100の液晶ユニットに、サブコントローラ200が管理する空調機300のスケジュール設定画面を表示する。このため、ユーザは、メインコントローラ100のタッチパネル(操作受け付け部)からスケジュール設定画面を操作して、仮スケジュールデータの変更が行えるようになる。
次に、図4,5を参照して、スケジュールデータの更新動作を説明する。なお、図4は、メインコントローラ100側におけるスケジュールデータの変更時に、サブコントローラ200側にてスケジュールデータの変更がなされていない場合の動作を説明するためのフローチャートである。一方、図5は、メインコントローラ100側におけるスケジュールデータの変更時に、サブコントローラ200側にてスケジュールデータの変更がなされた場合の動作を説明するためのフローチャートである。これらのスケジュールデータの更新動作は、例えば、上述したスケジュール設定画面を、ユーザがタッチパネルから操作して、仮スケジュールデータの変更を行った後、変更の完了を示す「スケジュール設定ボタン」がユーザによって押下されると、開始される。最初に、図4を参照して、メインコントローラ100側におけるスケジュールデータの変更時に、サブコントローラ200側にてスケジュールデータの変更がなされていない場合の動作について説明する。
まず、メインコントローラ100のスケジュールデータ更新要求部140は、一時スケジュールデータを作成する(ステップS21)。つまり、スケジュールデータ更新要求部140は、変更されたスケジュールデータを示す一時スケジュールデータを作成し、例えば、RAM等の一時記憶領域に保存する。
スケジュールデータ更新要求部140は、スケジュールデータの暗号化を行う(ステップS22)。すなわち、スケジュールデータ更新要求部140は、一時スケジュールデータを暗号化部170によって暗号化する。つまり、サブコントローラ200の公開鍵を用いて暗号化する。
スケジュールデータ更新要求部140は、スケジュールデータをサブコントローラ200に送信し、更新予約を要求する(ステップS23)。すなわち、スケジュールデータ更新要求部140は、通信部110を制御して、暗号化したスケジュールデータ(変更されたスケジュールデータ)をサブコントローラ200に送信すると共に、そのスケジュールデータの更新予約を要求する。
サブコントローラ200のスケジュールデータ更新処理部230は、スケジュールデータの復号化を行う(ステップS24)。すなわち、スケジュールデータ更新処理部230は、取得したスケジュールデータを復号化部260によって復号化する。つまり、メインコントローラ100から送られるスケジュールデータは、サブコントローラ200の公開鍵にて暗号化されているため、復号化部260にて復号化する。つまり、自身(サブコントローラ200)の秘密鍵を用いて復号化する。
スケジュールデータ更新処理部230は、受領データを確認する(ステップS25)。すなわち、スケジュールデータ更新処理部230は、復号化を通じてスケジュールデータに改竄や欠損がないことを確認する。なお、データが欠損していたり、改変されていた場合は、スケジュールデータを正常に復号化できないため、ここで破棄される。
スケジュールデータ更新処理部230は、変更判別部240の判別結果を待つ(ステップS26)。つまり、変更判別部240が、予め定められた時間の待ち状態に入り、その待機時間内において、サブコントローラ200側によるスケジュールデータの変更の有無を判別するため、スケジュールデータ更新処理部230は、その判別結果を待機する。なお、変更判別部240の待機時間は、おおよそ数秒程度である。これは、サブコントローラ200の操作受け付け部が、ユーザによるスケジュールデータの変更を受け付けるために必要な時間である。
サブコントローラ200側にてスケジュールデータの変更がない旨の判別結果を変更判別部240から得ると、スケジュールデータ更新処理部230は、スケジュールデータの更新予約完了通知をメインコントローラ100に送信する(ステップS27)。すなわち、更新予約を承諾した旨の通知であるスケジュールデータの更新予約完了通知を、スケジュールデータ更新処理部230は、通信部210を制御して、メインコントローラ100に送信する。
なお、この時点では、メインコントローラ100,サブコントローラ200共に、スケジュールデータを、フラッシュメモリに書き込んでいない。また、スケジュールデータの更新予約完了通知は、非常に小さいデータのため、即時にメインコントローラ100に到着する。すなわち、この間の時間遅れはほとんど無視できる。そして、以下に示すように、この直後に、メインコントローラ100,サブコントローラ200共に、変更されたスケジュールデータをフラッシュメモリ(使用区画とは異なる区画)に書き込み始める。
スケジュールデータ更新要求部140は、フラッシュメモリへのデータの書き込みを行う(ステップS28)。すなわち、サブコントローラ200からのスケジュールデータの更新予約完了通知を、通信部110を通じて取得すると、スケジュールデータ更新要求部140は、変更されたスケジュールデータを自身(メインコントローラ100)のフラッシュメモリに書き込む。その際、スケジュールデータ更新要求部140は、使用区画管理部190が使用区画として指し示していない方の区画に、変更されたスケジュールデータを書き込む。
また、同一のタイミングで、スケジュールデータ更新処理部230は、フラッシュメモリへのデータの書き込みを行う(ステップS29)。すなわち、スケジュールデータ更新処理部230は、復号化したスケジュールデータ(変更されたスケジュールデータ)を自身(サブコントローラ200)のフラッシュメモリに書き込む。その際、スケジュールデータ更新処理部230は、使用区画管理部290が使用区画として指し示していない方の区画に、変更されたスケジュールデータを書き込む。
なお、これらステップS28,S29では、どちらのコントローラも同じ速度でフラッシュメモリに書き込んでいく。フラッシュメモリへの書き込み時間は、書き込むデータのサイズに比例するため、メインコントローラ100,サブコントローラ200共に、ほぼ同時にフラッシュメモリへの書き込みが完了する。
スケジュールデータ更新要求部140は、一定時間待つ(ステップS30)。つまり、スケジュールデータ更新要求部140は、スケジュールデータの更新予約完了通知を受信した時点から、一定時間の経過を待つ。
また、同様に、スケジュールデータ更新処理部230は、一定時間待つ(ステップS31)。つまり、スケジュールデータ更新処理部230は、スケジュールデータの更新予約完了通知をメインコントローラ100に送信した時点から、一定時間の経過を待つ。なお、これらステップS30,S31の待ち時間により、スケジュールデータを読み込み中だった場合でも読み込みが完了し、不整合が発生することを防止できる。つまり、使用区画のスケジュールデータの読み込み途中でないことが保証される。
スケジュールデータ更新要求部140は、フラッシュメモリの使用区画を切り替える(ステップS32)。すなわち、スケジュールデータ更新要求部140は、使用区画管理部190に使用区画の切替を指示する。つまり、使用区画管理部190は、上述したステップS28にてスケジュールデータ更新要求部140がスケジュールデータを書き込んだ区画を、使用区画として指し示す。
また、同一のタイミングで、スケジュールデータ更新処理部230は、フラッシュメモリの使用区画を切り替える(ステップS33)。すなわち、スケジュールデータ更新処理部230は、使用区画管理部290に使用区画の切替を指示する。つまり、使用区画管理部290は、上述したステップS29にてスケジュールデータ更新処理部230がスケジュールデータを書き込んだ区画を、使用区画として指し示す。なお、これらステップS32,S33により、メインコントローラ100,サブコントローラ200の両方で更新されたスケジュールデータは、同一のタイミングで空調機300の制御に使用可能となる。
スケジュールデータ更新要求部140は、一時スケジュールデータを破棄する(ステップS34)。つまり、スケジュールデータ更新要求部140は、フラッシュメモリへの書き込みが終了したため、不要となった一時スケジュールデータを破棄する。
続いて、図5を参照して、メインコントローラ100側におけるスケジュールデータの変更時に、サブコントローラ200側にてスケジュールデータの変更がなされた場合の動作について説明する。なお、ステップS21〜S26までの処理は図4と同じであるため省略する。以下、ステップS41から説明する。
サブコントローラ200側にてスケジュールデータの変更がある旨の判別結果を変更判別部240から得ると、スケジュールデータ更新処理部230は、変更箇所の重複の有無も変更判別部240から得る(ステップS41)。つまり、変更判別部240は、サブコントローラ200側の変更箇所と、メインコントローラ100側の変更箇所とを確定し、両方の変更箇所が重複するかどうかについても判別するため、スケジュールデータ更新処理部230は、重複の有無の判別結果も変更判別部240から得る。
スケジュールデータ更新処理部230は、新しいスケジュールデータを作成する(ステップS42)。すなわち、スケジュールデータ更新処理部230は、重複の有無の判別結果に応じて、変更後のスケジュールデータを生成する。例えば、変更箇所が重複していない場合(メインコントローラ100側の変更箇所と、サブコントローラ200側の変更箇所とが異なる場合)に、スケジュールデータ更新処理部230は、2つの変更箇所を統合して変更後のスケジュールデータを生成する。なお、変更箇所が重複していても優先順位が定められている場合には、優先順位の高い方の変更箇所だけを反映させた変更後のスケジュールデータを生成する。例えば、サブコントローラ200側の方が優先順位が高い場合に、スケジュールデータ更新処理部230は、サブコントローラ200側による変更箇所だけを反映させた変更後のスケジュールデータを生成する。
スケジュールデータ更新処理部230は、スケジュールデータの更新予約拒絶通知と、新しいスケジュールデータとをメインコントローラ100に送信する(ステップS43)。すなわち、更新予約を拒絶した旨の通知であるスケジュールデータの更新予約拒絶通知と、ステップS42にて生成した新しいスケジュールデータとを、スケジュールデータ更新処理部230は、通信部210を制御して、メインコントローラ100に送信する。
スケジュールデータ更新要求部140は、一時スケジュールデータを破棄し、警告メッセージを表示部に表示すると共に、新しいスケジュールデータを表示部に表示する(ステップS44)。すなわち、スケジュールデータ更新要求部140は、ユーザが行ったスケジュール変更が拒絶されたことを報知するための警告メッセージを表示部に表示する。また、スケジュールデータ更新要求部140は、送られた新しいスケジュールデータに基づいて自身(メインコントローラ100)の仮スケジュールデータを更新し、一時スケジュールデータを破棄する。そして、更新後の仮スケジュールデータを元にして、メインコントローラ100の表示部には、最新のスケジュールが反映された設定画面が表示される。そして、ユーザは、メインコントローラ100の操作受け付け部からスケジュール設定画面を操作して、仮スケジュールデータの変更が再度行えるようになる。
以上説明したように、メインコントローラ100からの取得要求に応答して、サブコントローラ200のフラッシュメモリに格納されているスケジュールデータが読み出されてメインコントローラ100に送信される。そして、このスケジュールデータに対する変更がメインコントローラ100が操作されてなされると、変更されたスケジュールデータがサブコントローラ200に送信される。サブコントローラ200は、変更されたスケジュールデータを自身のフラッシュメモリに書き込む前に、スケジュールデータの更新予約完了通知をメインコントローラ100に送信する。そして、メインコントローラ100は、このスケジュールデータの更新予約完了通知を契機に、変更されたスケジュールデータを自身のフラッシュメモリに書き込む。これによって、分散して管理されているデータを集めて変更可能とすると共に、変更されたデータを同一のタイミングで更新することができる。
また、メインコントローラ100側にてスケジュールデータが変更されている状態で、サブコントローラ200側にてスケジュールデータの変更がなされたかどうかを判別し、変更がなされれば、メインコントローラ100側にスケジュールデータの更新予約拒絶通知が送られて、警告メッセージが表示される。このため、メインコントローラ100側のユーザは、自分が行ったスケジュール変更が拒絶されたこと知ることになる。なお、サブコントローラ200側にて変更がなされても、その変更箇所が、メインコントローラ100側の変更箇所と重ならない場合には、両方の変更を同時に反映可能となる。そのため、サブコントローラ200は、両方の変更箇所を統合した新しいスケジュールデータを生成して、メインコントローラ100に送信する。なお、変更箇所が重複していても優先順位が定められている場合には、優先順位の高い方の変更箇所だけを反映させた変更後のスケジュールデータを生成する。このような新しいスケジュールデータを受信したメインコントローラ100は、新しいスケジュールデータが反映された設定画面を表示し、スケジュールデータの変更をユーザが再度行えるようにする。
また、メインコントローラ100とサブコントローラ200との間で、スケジュールデータを送受信する際に、暗号化と復号化とを行っているため、改変や盗聴などの危険性を排除し、安全に集めて、更新することができる。
なお、以上の説明においては、メインコントローラ100側の変更箇所とサブコントローラ200側の変更箇所が重複した場合に、サブコントローラ200の変更を優先する場合について説明したが、メインコントローラ100の変更を優先するようにしてもよい。
(実施形態2)
上記の実施形態1に係る空調システム1は、上述した図1に示す構成であったが、他に図6に示すような構成としてもよい。図6に示す本発明の実施形態2に係る空調システム2では、管理情報表示装置400を構成に追加した点において、実施形態1の空調システム1と異なる。なお、以下の説明において、実施形態1と共通する構成要素などについては、同一の符号を付す。
図6に示すように、空調システム2は、各空調機300を制御するメインコントローラ100及び各サブコントローラ200に加えて、管理情報表示装置400も、ネットワーク10を介して接続されて構成される。この空調システム2も、例えば、ビル等の建物に配置され、建物内の全ての空調機300を制御(監視等も含む)する。一例として、メインコントローラ100やサブコントローラ200は、各フロアに配置され、それぞれ、フロア内の各空調機300を制御する。また、管理情報表示装置400は、中央制御室等に配置される。
メインコントローラ100、サブコントローラ200(200a,200b)、及び、空調機300(300a〜300i)の構成は、上述した実施形態1に係る空調システム1と同様である。
管理情報表示装置400は、例えば、Webブラウザを実行可能な汎用的なPC(Personal Computer)等からなり、ユーザに操作される。Webブラウザが実行された管理情報表示装置400は、ネットワーク10を介して、メインコントローラ100のWebサーバ120にアクセスし、メインコントローラ100を操作可能となっている。つまり、実施形態2に係る空調システム2は、ユーザがメインコントローラ100を直接操作する代わりに、管理情報表示装置400のWebブラウザからメインコントローラ100を間接的に操作する点で、実施形態1の空調システム1と異なっている。
管理情報表示装置400のWebブラウザを通じてユーザに操作されるメインコントローラ100は、上述した実施形態1と同様に、スケジュールデータの取得動作やスケジュールデータの更新動作を行う。
例えば、ユーザが管理情報表示装置400を操作して、どの空調機300のスケジュールデータを変更するかや、その際どの空調機300のスケジュールデータを元に変更するかなどを選択すると、メインコントローラ100は、スケジュールデータの取得動作を行う。
すなわち、メインコントローラ100は、サブコントローラ200に対してスケジュールデータの取得を要求する。サブコントローラ200は、自身のフラッシュメモリに格納されたスケジュールデータ(より詳細には、使用区画管理部290が使用区画として指し示している区画に格納されたスケジュールデータ280)を読み出して、メインコントローラ100に送信する。そして、メインコントローラ100のWebサーバ120によって、管理情報表示装置400のWebブラウザにスケジュール設定画面が表示される。ユーザは、管理情報表示装置400に表示されるスケジュール設定画面を操作して、スケジュールデータの変更が行えるようになる。
そして、ユーザが管理情報表示装置400を操作して、スケジュールデータの変更を行った後、変更の完了を示す「スケジュール設定ボタン」を押下すると、メインコントローラ100は、スケジュールデータの更新動作を行う。
すなわち、メインコントローラ100は、変更されたスケジュールデータをサブコントローラ200に送信すると共に、スケジュールデータの更新予約を要求する。サブコントローラ200は、待機時間内において、操作受け付け部を操作するユーザによって、スケジュールデータの変更が行われたかどうかを判別した後、変更されたスケジュールデータを自身のフラッシュメモリに書き込む前に、スケジュールデータの更新予約完了通知、又は、スケジュールデータの更新予約拒絶通知と新しいスケジュールデータをメインコントローラ100に送信する。そして、メインコントローラ100は、スケジュールデータの更新予約完了通知が送られた場合に、変更されたスケジュールデータを自身のフラッシュメモリに書き込む。一方、スケジュールデータの更新予約拒絶通知が送られた場合に、警告メッセージを表示すると共に、新しいスケジュールデータに基づいて、スケジュール設定画面を更新する。
これによって、分散して管理されているデータを集めて変更可能とすると共に、変更されたデータを同一のタイミングで更新することができる。また、警告メッセージによって、ユーザが行ったスケジュール変更が拒絶されたこと知らせることができる。更に、新しいスケジュールデータが反映された設定画面を表示し、スケジュールデータの変更をユーザが再度行えるようにすることができる。
また、メインコントローラ100とサブコントローラ200との間で、スケジュールデータを送受信する際に、暗号化と復号化とが行われる。このため、改変や盗聴などの危険性を排除し、安全に集めて、更新することができる。
(他の実施形態)
上記の実施形態1,2では、メインコントローラ100とサブコントローラ200との間で、スケジュールデータを送受信する場合について説明したが、空調システム1,2で使用するデータは、このようなスケジュールデータに限られず他のデータであってもよい。例えば、ログデータや特殊運転(一例として、省エネ運転)のための制御データというように、空調機300の制御に関する関連データであれば、データの内容等は任意である。
上記の実施形態1,2では、設備機器を制御する設備機器システムの一例として、空調システム1,2について説明したが、他のシステムにおいても同様に本発明を適用することができる。例えば、設備機器として照明を制御する照明システムなどにも、本発明を適宜適用可能である。
上記の実施形態では、専用のコントローラ(メインコントローラ100やサブコントローラ200)を用いる場合について説明したが、このような専用のコントローラの動作を規定するプログラムを既存のパーソナルコンピュータや情報端末機器などに適用することで、当該パーソナルコンピュータなどを本発明に係るメインコントローラ100やサブコントローラ200として機能させることも可能である。
また、このようなプログラムの配布方法は任意であり、例えば、CD−ROM(Compact Disk Read-Only Memory)、DVD(Digital Versatile Disk),MO(Magneto Optical disk),メモリカードなどのコンピュータ読み取り可能な記録媒体に格納して配布してもよいし、インターネットなどの通信ネットワークを介して配布してもよい。
本発明は、広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
本発明は、分散して管理されているデータを集めて変更可能とすると共に、同時にデータの変更要求が発生した場合であっても、不具合を生じさせないようにすることのできる設備機器システム、及び、制御装置に採用され得る。
1,2 空調システム、10 ネットワーク、20 制御バス、100 メインコントローラ、110,210 通信部、120 Webサーバ、130 スケジュールデータ取得要求部、140 スケジュールデータ更新要求部、150 WebSocketクライアント、160,260 復号化部、170,270 暗号化部、180,280 スケジュールデータ、190,290 使用区画管理部、200 サブコントローラ、220 スケジュールデータ取得処理部、230 スケジュールデータ更新処理部、240 変更判別部、250 WebSocketサーバ、300 空調機、400 管理情報表示装置

Claims (6)

  1. 設備機器を制御する第1の制御装置及び第2の制御装置がネットワークを介して接続された設備機器システムであって、
    前記第1の制御装置は、
    前記設備機器の制御に関するデータを記憶する第1の記憶部と、
    前記第2の制御装置に記憶されているデータを取得し、当該データへの変更が前記第1の制御装置を操作するユーザによってなされると、変更後データを前記第2の制御装置に送信して更新を要求するデータ更新要求部と、
    前記変更後データを送信した後に、前記第2の制御装置から送られる通知内容に従って、前記第1の記憶部にデータを書き込むデータ更新処理部と、を備え、
    前記第2の制御装置は、
    前記設備機器の制御に関するデータを記憶する第2の記憶部と、
    前記第1の制御装置から送られた前記変更後データを取得後、前記第2の制御装置を操作するユーザによる前記第2の記憶部に記憶されたデータに対する変更の有無を判別する判別部と、
    前記判別部による判別結果に従って、前記変更後データを前記第2の記憶部に書き込むデータ更新処理部と、を備え、
    前記第2の制御装置の前記データ更新処理部は、前記判別部がデータに対する変更がないと判別した場合に、前記変更後データの更新を許諾する許諾通知を前記第1の制御装置に送信し、前記判別部がデータに対する変更があると判別した場合に、前記変更後データの更新を拒絶する拒絶通知を前記第1の制御装置に送信し、
    前記第1の制御装置の前記データ更新処理部は、前記第2の制御装置から前記許諾通知が送られた場合に、前記第1の記憶部に前記変更後データを書き込み、前記第2の制御装置から前記拒絶通知が送られた場合に、前記第1の制御装置を操作するユーザに対して変更が拒絶されたことを報知する、
    設備機器システム。
  2. 前記第2の制御装置の前記データ更新処理部は、前記拒絶通知を送信する場合に、前記判別部が判別したデータに対する変更に従って生成した第2の変更後データと共に前記第1の制御装置に送信し、
    前記第1の制御装置の前記データ更新処理部は、前記第2の制御装置から前記拒絶通知が送られた場合に、前記拒絶通知と共に送られた前記第2の変更後データの内容を、前記第1の制御装置を操作するユーザに報知する、
    請求項1に記載の設備機器システム。
  3. 前記判別部は、前記第1の制御装置から送られた前記変更後データに従った第1の更新箇所と、前記第2の記憶部に記憶されたデータに対する変更に従った第2の更新箇所とが重複しない場合に、当該第1の更新箇所と当該第2の更新箇所とを統合して前記第2の変更後データを生成する、
    請求項2に記載の設備機器システム。
  4. 前記判別部は、前記第1の制御装置から送られた前記変更後データに従った第1の更新箇所と、前記第2の記憶部に記憶されたデータに対する変更に従った第2の更新箇所とが重複する場合に、予め定められた優先順位に従って、当該第1の更新箇所及び当該第2の更新箇所の何れかに従った前記第2の変更後データを生成する、
    請求項2に記載の設備機器システム。
  5. 前記設備機器は、空調機であり、
    前記データは、前記空調機を制御するためのスケジュールデータであり、
    前記第1の記憶部及び前記第2の記憶部は、フラッシュメモリである、
    請求項1に記載の設備機器システム。
  6. 第1の制御装置とネットワークを介して接続され、第2の制御装置として設備機器を制御する制御装置であって、
    前記設備機器の制御に関するデータを記憶する記憶部と、
    前記第1の制御装置から更新が要求される変更後データを取得後、前記第2の制御装置を操作するユーザによる前記記憶部に記憶されたデータに対する変更の有無を判別する判別部と、
    前記判別部による判別結果に従って、前記変更後データを前記記憶部に書き込むデータ更新処理部と、を備え、
    前記データ更新処理部は、前記判別部がデータに対する変更がないと判別した場合に、前記変更後データの更新を許諾する許諾通知を前記第1の制御装置に送信し、前記判別部がデータに対する変更があると判別した場合に、前記変更後データの更新を拒絶する拒絶通知を前記第1の制御装置に送信する、
    制御装置。
JP2016556121A 2014-10-30 2014-10-30 設備機器システム、及び、制御装置 Active JP6257797B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/078917 WO2016067412A1 (ja) 2014-10-30 2014-10-30 設備機器システム、及び、制御装置

Publications (2)

Publication Number Publication Date
JPWO2016067412A1 JPWO2016067412A1 (ja) 2017-04-27
JP6257797B2 true JP6257797B2 (ja) 2018-01-10

Family

ID=55856796

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016556121A Active JP6257797B2 (ja) 2014-10-30 2014-10-30 設備機器システム、及び、制御装置

Country Status (4)

Country Link
US (1) US10795331B2 (ja)
JP (1) JP6257797B2 (ja)
DE (1) DE112014007121B4 (ja)
WO (1) WO2016067412A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020184179A (ja) * 2019-05-08 2020-11-12 ファナック株式会社 加工制御システム及び加工システム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002077745A (ja) 2000-08-28 2002-03-15 Sharp Corp 番組予約管理システム及び番組予約管理方法
JP4229322B2 (ja) 2003-07-15 2009-02-25 ソニー・エリクソン・モバイルコミュニケーションズ株式会社 端末装置及び表示制御プログラム
JP2006140691A (ja) 2004-11-11 2006-06-01 Matsushita Electric Ind Co Ltd 遠隔制御システム及び遠隔制御方法
US8700772B2 (en) * 2006-05-03 2014-04-15 Cloud Systems, Inc. System and method for automating the management, routing, and control of multiple devices and inter-device connections
JP2007316863A (ja) 2006-05-24 2007-12-06 Matsushita Electric Works Ltd 設備監視システム及び監視装置
WO2008029393A2 (en) * 2006-09-04 2008-03-13 Extreme Technologies Ltd. Method for managing simultaneous modification of database objects during development
US7904209B2 (en) * 2007-03-01 2011-03-08 Syracuse University Open web services-based indoor climate control system
WO2010018539A1 (en) 2008-08-13 2010-02-18 Koninklijke Philips Electronics N. V. Updating scenes in remote controllers of a home control system
JP2011004424A (ja) * 2010-09-06 2011-01-06 Panasonic Electric Works Co Ltd 制御システム、制御装置、及び制御装置用プログラム
JP2012167884A (ja) 2011-02-15 2012-09-06 Nippon Telegr & Teleph Corp <Ntt> 空調システムおよび温度設定方法
JP5558632B2 (ja) * 2011-04-28 2014-07-23 三菱電機株式会社 システムコントローラ、設備システム及びプログラム
US9354774B2 (en) * 2012-08-21 2016-05-31 Trane International Inc. Mobile device with graphical user interface for interacting with a building automation system
US10145579B2 (en) * 2013-05-01 2018-12-04 Honeywell International Inc. Devices and methods for interacting with a control system that is connected to a network

Also Published As

Publication number Publication date
US10795331B2 (en) 2020-10-06
JPWO2016067412A1 (ja) 2017-04-27
DE112014007121T5 (de) 2017-08-10
WO2016067412A1 (ja) 2016-05-06
DE112014007121B4 (de) 2022-01-27
US20170227940A1 (en) 2017-08-10

Similar Documents

Publication Publication Date Title
EP3062032B1 (en) Air conditioning system
JP6488547B2 (ja) 会議端末制御システム及び会議端末制御方法
JPWO2014188530A1 (ja) 監視システム、設備管理装置、監視方法及びプログラム
JP6257797B2 (ja) 設備機器システム、及び、制御装置
US10181261B2 (en) Mobile user interface for security panel
JP6570741B2 (ja) 空調管理装置及びプログラム
JP2009198149A (ja) 空調システムおよび空調制御監視装置
JP6165106B2 (ja) 設備機器システム、および、コントローラ
KR20170002003A (ko) 다수의 장치들을 제어하기 위한 자동실행방법, 어플리케이션 및 설정서버
JP2017173918A (ja) サービス提供装置、サービス提供方法およびサービス提供プログラム
JP4347022B2 (ja) 空調制御監視装置及びビル空調管理システム
JP5880530B2 (ja) 空調システム
JP2004150667A (ja) 設備管理装置
JP2023069323A (ja) 監視カメラ映像共有システムおよび監視カメラ映像共有方法
JP2001324204A (ja) 空気調和装置の監視システム及び監視装置
JP6689048B2 (ja) 機器情報管理システム
WO2023209775A1 (ja) 管理装置および制御方法
JP2008083828A (ja) 管理システム
JP2010016434A (ja) 設備機器の遠隔管理装置、遠隔管理システム及び遠隔管理方法
JP2002300736A (ja) 電力系統監視制御装置とこの装置を実行するためのプログラム
JP2008102644A (ja) 遠隔保守制御プログラムおよび遠隔管理装置
KR20170002333A (ko) 다수의 장치들을 제어하기 위한 자동실행방법, 어플리케이션 및 설정서버
WO2019012599A1 (ja) 通信システム、情報処理端末及びプログラム
JP6079537B2 (ja) カラオケシステム、リモコン端末、カラオケ装置
JP2017034317A (ja) 通信システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161117

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161117

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171205

R150 Certificate of patent or registration of utility model

Ref document number: 6257797

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250