以下、本開示の実施の形態について、図面を参照しながら詳細に説明する。なお、図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
<全体構成>
図1は、本開示の実施の形態に従う空気調和機のリモコン装置が用いられる空調システムの全体構成を示すブロック図である。図1を参照して、この空調システム100は、複数の空気調和機10と、端末装置2とを備える。図1には、2つの空気調和機10が例示されているが、より多くの空気調和機10を備えてもよい。各空気調和機10は、リモコン1と、室内ユニット3と、室外ユニット4とを含む。
室内ユニット3は、室内熱交換器と、膨張弁とを含む(いずれも図示せず)。室内熱交換器は、冷媒が室内空気と熱交換を行なうように構成される。膨張弁は、室内ユニット3内の図示しないコントローラからの制御指令に従って開度が調整される。
室外ユニット4は、圧縮機と、室外熱交換器とを含む(いずれも図示せず)。圧縮機は、図示しないアキュムレータから受ける冷媒を圧縮し、冷房運転時には、四方弁を通じて室外熱交換器へ冷媒を吐出し、暖房運転時には、上記四方弁を通じて室内熱交換器へ冷媒を吐出する。室外熱交換器は、冷媒が室外空気と熱交換を行なうように構成される。室内ユニット3と室外ユニット4とは、冷媒配管を通じて接続され、室内ユニット3、室外ユニット4、及び冷媒配管によって冷凍サイクル装置が形成される。
リモコン1は、表示部11と、操作部12と、制御部13と、記憶部14と、無線通信部15と、有線通信部16とを含む。表示部11は、室内ユニット3及び室外ユニット4の運転状況や、操作部12による操作状況等を表示する。操作部12は、利用者が空気調和機10を操作するための入力装置である。
制御部13は、CPU(Central Control Unit)、メモリ(RAM(Random Access Memory)及びROM(Read Only Memory))、各種信号を入出力するための入出力バッファ等を含んで構成される(いずれも図示せず)。CPUは、ROMに格納されているプログラムをRAM等に展開して実行する。ROMに格納されるプログラムは、制御部13により実行される処理の手順が記されたプログラムである。制御部13は、このプログラムに従って、リモコン1における各種処理を実行する。具体的には、制御部13は、リモコン1内の各部を制御するとともに、室内ユニット3及び室外ユニット4の動作を制御するための制御指令を生成して有線通信部16を通じて室内ユニット3へ送信する。
記憶部14は、たとえば、フラッシュメモリやSSD(Solid State Drive)等によって構成され、自身のリモコン1が他のリモコン1とマルチホップにより無線通信を行なうための経路情報を記憶する。この経路情報については、後ほど詳しく説明する。
無線通信部15は、BLE(Bluetooth Low Energy、「Bluetooth」は登録商標)通信規格に従う通信方式を用いて、端末装置2の無線通信部21と無線通信を行なうことができる。なお、BLE通信に代えて、UWB(Ultra Wide Band)通信の規格に従う通信方式等を用いてもよい。端末装置2は、空気調和機10の情報(メンテナンスに必要なデータ等を含み、以下「監視データ」とも称する。)を収集してメンテナンス作業者等が確認するための機器であり、たとえば、スマートフォンやタブレット機器等のモバイル端末である。
また、無線通信部15は、BLE通信の通信可能範囲にある他のリモコン1とも無線通信を行なうことができる。詳細は後述するが、この空調システム100では、端末装置2が接続される空気調和機10と異なる空気調和機10の監視データを、経路情報に基づいて、BLE通信可能な空気調和機10間のマルチホップにより取得することができる。
有線通信部16は、信号線を通じて室内ユニット3と通信可能であり、制御部13からの制御指令を室内ユニット3へ送信したり、室内ユニット3及び室外ユニット4の運転データ等を室内ユニット3から受信したりする。なお、リモコン1と室内ユニット3との通信にも、有線通信部16による有線での通信に代えて無線通信を用いてもよい。
この空調システム100では、各空気調和機10のリモコン1は、他の空気調和機10のリモコン1を通じて順次BLE通信によりマルチホップで通信可能なリモコン1までの通信経路を示す少なくとも1つの経路情報を有している。そして、各空気調和機10のリモコン1は、無線接続される端末装置2から、監視対象の空気調和機10(以下「モニタ対象」と称する場合がある。)の監視データの取得を要求するモニタ要求を受信すると、記憶部14に記憶されている経路情報に従って、モニタ対象のリモコン1からマルチホップにより監視データ(モニタ結果)を取得する。
各空気調和機10のリモコン1において上記の処理を実現可能とするため、各リモコン1は、「前処理フェーズ」において、マルチホップにより他のリモコン1を通じて順次通信可能なリモコン1までの通信経路を示す経路情報を作成する。そして、各リモコン1は、「運用フェーズ」において、前処理フェーズで作成された経路情報に基づいてモニタ対象から監視データ(モニタ結果)を取得し、端末装置2へ送信する。
図2は、各空気調和機10のリモコン1における「前処理フェーズ」と「運用フェーズ」との遷移を説明する図である。図2を参照して、各リモコン1は、モニタ対象の監視データを取得可能な運用フェーズから定期的に前処理フェーズに移行し、経路情報の作成(更新)や各リモコン1を統括するマスタリモコン(詳細は後述)の決定等の前処理を実行する。そして、前処理が完了すると、各リモコン1は、再度運用フェーズに移行する。
なお、運用フェーズには、通常処理、異常処理、割込処理の3つの処理がある。通常処理は、自身の有する経路情報にモニタ対象のリモコン1(以下「対象リモコン」とも称する。)が含まれている場合に、対象リモコンから監視データを取得する処理である。異常処理は、自身の有する経路情報に対象リモコンが含まれていない場合に、マスタリモコンを通じて監視データを取得する処理である。割込処理は、運用フェーズ又は前処理フェーズにおける各種処理の実行中に、操作部12からリモコン操作があった場合や、他の端末装置2の接続要求を受けた場合等に行なわれる処理である。
以下では、まず、前処理フェーズにおいて作成(更新)された経路情報を用いて、端末装置2からのモニタ要求に応じてモニタ対象の監視データの取得が行なわれる運用フェーズの通常処理及び異常処理について説明する。その後、前処理フェーズにおいて実行される、経路情報の作成やマスタリモコンの決定等の処理について説明する。そして、最後に、割込処理について説明する。
<運用フェーズ(通常処理及び異常処理)>
図3は、空調システム100の構成例を示す図である。この図3では、空調システム100に含まれる各空気調和機10のリモコン1と、モニタ対象の室内ユニット3とが示されており、その他の機器については図示を省略している。
図3を参照して、この例では、空調システム100は、リモコン1a~1jと、端末装置2とを備えている。そして、以下では、モニタ対象のリモコン1c(対象リモコン)から監視データの取得を要求するモニタ要求をリモコン1aが端末装置2から受信した場合について説明する。なお、以下では、端末装置2が接続されるリモコン1aを「接続元リモコン」と称する。リモコン1a~1jのいずれも、接続元リモコン及び対象リモコンになり得る。
リモコン1bは、「マスタリモコン」であり、他のリモコンと同様に接続元リモコン及び対象リモコンになり得るほか、接続元リモコン1aから対象リモコン1cまでの通信経路中の各リモコンが当該通信経路に沿ってマルチホップにより無線通信を行なうことができる状態であるかを確認する(モニタ経路確認)。また、接続元リモコン1aが有する経路情報に対象リモコン1cが含まれていない場合に実行される異常処理時に、マスタリモコン1bは、接続元リモコン1aに代わり対象リモコン1cから監視データを取得して、接続元リモコン1aへ送信する。マスタリモコンは固定的ではなく、リモコン1a~1jのうちのどれがマスタリモコンになるかは、前処理フェーズにおいて決定される。マスタリモコンの決定については、後ほど前処理フェーズの説明の中で詳しく説明する。
図4は、運用フェーズの通常処理の流れを説明する図である。この図4では、図3に示した構成において、端末装置2、接続元リモコン1a、対象リモコン1c、マスタリモコン1b、及び中継器となるリモコン1dのみが示され、他のリモコンについては図示を省略している。
また、図5Aは、接続元リモコン1aが有する経路情報を示す図であり、図5Bは、マスタリモコン1bが有する経路情報を示す図である。この例では、接続元リモコン1aは、経路1~経路3の3つの経路情報を有しており、マスタリモコン1bは、経路1~経路9の9つの経路情報を有している。リモコン1aの経路情報の経路1について代表的に説明すると、リモコン1aは、リモコン1dを通じてリモコン1cへマルチホップで通信可能とされる。残りの各経路についても、同様に通信可能な経路が特定される。
図5A,図5Bとともに図4を参照して、接続元リモコン1aは、モニタ対象の監視データの取得を要求するモニタ要求を端末装置2から受ける(処理(1))。接続元リモコン1aは、端末装置2からモニタ要求を受けると、自身が保有する経路情報(図5A)の中に対象リモコン1cが含まれているか確認する。ここでは、経路1に対象リモコン1cが含まれている。
次いで、接続元リモコン1aは、対象リモコン1cが含まれる経路情報(経路1)から、接続元リモコン1aから対象リモコン1cまでの通信経路(以下「モニタ経路」と称する。)を取得する。そして、接続元リモコン1aは、モニタ経路中の各リモコンがモニタ経路に沿ってマルチホップにより通信可能であるかの確認をマスタリモコン1bに要求するモニタ経路確認要求を、マスタリモコン1bが含まれる経路情報(経路3)に従ってマスタリモコン1bへ送信する(処理(2))。
なお、マスタリモコン1bへのモニタ経路確認要求の送信後、マスタリモコン1bから所定時間応答がない場合は、接続元リモコン1aは、マスタリモコン1bへモニタ経路確認要求を再送する。再送を繰り返しても応答がない場合は、接続元リモコン1aからマスタリモコン1bまでの通信経路中のいずれかのリモコンが故障している可能性があり、接続元リモコン1aは、端末装置2へその旨を送信する。
マスタリモコン1bは、接続元リモコン1aからモニタ経路確認要求を受信すると、モニタ経路確認要求に従って、モニタ経路に問題がないか確認する(処理(3))。この例では、接続元リモコン1aからモニタ経路確認要求をマスタリモコン1bが受信できていることから、接続元リモコン1aとリモコン1dとの間の通信は問題なく、マスタリモコン1bは、リモコン1dを通じて対象リモコン1cと通信を行なうことにより、リモコン1dと対象リモコン1cとの間の通信状態を確認する。
そして、マスタリモコン1bは、リモコン1dを通じて対象リモコン1cから応答を受信すると、モニタ経路は正常である旨の確認結果を接続元リモコン1aへ送信する(処理(4))。なお、対象リモコン1cからの応答を所定時間内にマスタリモコン1bが受信できないときは、モニタ経路が異常である旨の確認結果がマスタリモコン1bから接続元リモコン1aへ送信され、その旨が端末装置2へ送信される。
接続元リモコン1aは、モニタ経路が正常である旨の確認結果を受けると、経路情報の経路1(図5A)に基づいて、モニタ対象の監視データの送信を要求するモニタ要求をモニタ経路上のリモコン1dへ送信する。接続元リモコン1aからモニタ要求を受信したリモコン1dは、対象リモコン1cへモニタ要求を送信する(処理(5))。
なお、モニタ経路上の各リモコンは、モニタ要求の送信後、送信先のリモコンから所定時間応答がない場合は、モニタ要求を再送し、再送を繰り返しても応答がない場合は、マスタリモコン1bへモニタ経路の確認要求を送信する。そして、モニタ経路の異常が確認されたときは、マスタリモコン1bから接続元リモコン1aへその旨が送信され、モニタ対象の監視データを取得不可である旨が端末装置2へ通知される。
対象リモコン1cは、モニタ要求を受信すると、モニタ経路上のリモコン1dへモニタ結果(監視データ)を送信する。対象リモコン1cからモニタ結果を受信したリモコン1dは、接続元リモコン1aへモニタ結果を送信する。そして、モニタ対象のモニタ結果(監視データ)を受信した接続元リモコン1aは、そのモニタ結果を端末装置2へ送信する(処理(6))。
図6は、運用フェーズの異常処理の流れを説明する図である。この図6では、図3に示した構成において、対象リモコンが1hであり、端末装置2、接続元リモコン1a、対象リモコン1h、マスタリモコン1b、及び中継器となるリモコン1d,1iのみが示され、他のリモコンについては図示を省略している。なお、接続元リモコン1aが有する経路情報は、図5Aに示されるものとし、マスタリモコン1bが有する経路情報は、図5Bに示されるものとする。
図5A,図5Bとともに図6を参照して、接続元リモコン1aは、端末装置2からモニタ要求を受けると(処理(1))、自身が保有する経路情報(図5A)の中に対象リモコン1hが含まれているか確認する。
この例では、対象リモコン1hは接続元リモコン1aの経路情報に含まれていないため、接続元リモコン1aは、対象リモコン1hへのモニタ要求と、対象リモコン1hまでのモニタ経路の確認要求とを、マスタリモコン1bが含まれる経路情報(経路3)に従ってマスタリモコン1bへ送信する(処理(1)、処理(2))。なお、この異常処理では、接続元リモコン1aからのモニタ要求に従ってマスタリモコン1bによりモニタ結果が取得されるため、上記のモニタ経路確認要求は、マスタリモコン1bから対象リモコン1hまでのモニタ経路の確認を要求するものである。
なお、マスタリモコン1bへのモニタ要求及びモニタ経路確認要求の送信後、マスタリモコン1bから所定時間応答がない場合は、接続元リモコン1aは、マスタリモコン1bへモニタ要求及びモニタ経路確認要求を再送する。再送を繰り返しても応答がない場合は、接続元リモコン1aからマスタリモコン1bまでの通信経路中のいずれかのリモコンが故障している可能性があり、接続元リモコン1aは、端末装置2へその旨を送信する。
マスタリモコン1bは、接続元リモコン1aからモニタ経路確認要求を受信すると、その確認要求に従って、モニタ経路に問題がないか確認する(処理(3))。この例では、マスタリモコン1bは、リモコン1iを通じて対象リモコン1hと通信を行なうことにより、マスタリモコン1bと対象リモコン1hとの間の通信状態を確認する。
そして、マスタリモコン1bは、リモコン1iを通じて対象リモコン1hから応答を受信すると、モニタ経路は正常であると判断する(処理(4))。なお、対象リモコン1hからの応答を所定時間内にマスタリモコン1bが受信できないときは、モニタ経路が異常である旨の確認結果がマスタリモコン1bから接続元リモコン1aへ送信され、その旨が端末装置2へ送信される。
マスタリモコン1bは、対象リモコン1hまでのモニタ経路は正常であると判断すると、対象リモコン1hが含まれる経路情報(図5Bの経路8)に基づいて、モニタ対象の監視データの送信を要求するモニタ要求をモニタ経路上のリモコン1iへ送信する。マスタリモコン1bからモニタ要求を受信したリモコン1iは、対象リモコン1hへモニタ要求を送信する(処理(5))。
対象リモコン1hは、モニタ要求を受信すると、モニタ経路上のリモコン1iへモニタ結果(監視データ)を送信する。対象リモコン1hからモニタ結果を受信したリモコン1iは、マスタリモコン1bへモニタ結果を送信する。そして、モニタ対象のモニタ結果(監視データ)を受信したマスタリモコン1bは、そのモニタ結果を接続元リモコン1aへ送信し、接続元リモコン1aから端末装置2へモニタ結果が送信される(処理(6))。
図7は、接続元リモコンとなったリモコン1の制御部13により実行される処理の手順の一例を示すフローチャートである。このフローチャートでは、運用フェーズにおける通常処理及び異常処理の手順が示されている(割込処理については後述)。このフローチャートに示される一連の処理は、端末装置2が接続されたリモコン1において、端末装置2からモニタ要求を受信すると開始する。
図7を参照して、端末装置2が接続された接続元リモコン1は、端末装置2からモニタ要求を受信すると、記憶部14に記憶された経路情報を参照し、モニタ要求により指示されるモニタ対象の対象リモコンが経路情報に含まれているか否かを確認する(ステップS10)。
経路情報に対象リモコンが含まれているときは(ステップS10においてYES)、以下に示す通常処理が実行される。すなわち、接続元リモコン1は、対象リモコンまでの通信経路(モニタ経路)を経路情報から取得し、モニタ経路中の各リモコンがモニタ経路に沿ってマルチホップにより通信可能であるかの確認をマスタリモコン1bに要求するモニタ経路確認要求を、マスタリモコンが含まれる経路情報に従ってマスタリモコンへ送信する(ステップS15)。
そして、接続元リモコン1は、マスタリモコンによるモニタ経路の確認結果をマスタリモコンから受信すると(ステップS20においてYES)、その経路確認結果に問題があるか否かを判定する(ステップS25)。モニタ経路の確認結果に問題があるときは(ステップS25においてYES)、接続元リモコン1は、モニタ対象の監視データを取得不可であることを端末装置2へ送信する(ステップS45)。
モニタ経路の確認結果に問題ないときは(ステップS25においてNO)、接続元リモコン1は、対象リモコンまでの経路情報に従って、対象リモコン宛にモニタ要求を送信する(ステップS30)。そして、接続元リモコン1は、対象リモコンからモニタ対象の監視データであるモニタ結果を受信すると(ステップS35においてYES)、受信したモニタ結果を端末装置2へ送信する(ステップS40)。
一方、ステップS10において経路情報に対象リモコンが含まれていないと判定されると(ステップS10においてNO)、以下に示す異常処理が実行される。すなわち、接続元リモコン1は、対象リモコンへのモニタ要求と、対象リモコンまでのモニタ経路の確認要求とを、マスタリモコンへ送信する(ステップS50)。
そして、接続元リモコン1は、マスタリモコンからの応答を受信したか否かを判定する(ステップS55)。このマスタリモコンからの応答には、マスタリモコンから対象リモコンまでのモニタ経路の確認結果と、モニタ経路に問題がない場合には、マスタリモコンにより取得されるモニタ対象の監視データ(モニタ結果)とが含まれる。
接続元リモコン1は、マスタリモコンからの応答を受信すると(ステップS55においてYES)、モニタ経路の確認結果に問題があるか否かを判定する(ステップS60)。モニタ経路の確認結果に問題があるときは(ステップS60においてYES)、ステップS45へ処理が移行され、接続元リモコン1は、モニタ対象の監視データを取得不可であることを端末装置2へ送信する。
モニタ経路の確認結果に問題ないときは(ステップS60においてNO)、接続元リモコン1は、マスタリモコンから受信したモニタ対象の監視データであるモニタ結果を端末装置2へ送信する(ステップS65)。
なお、モニタ経路上の各リモコン1は、モニタ結果を正常に送信できた場合には、送信が完了したモニタ結果を破棄(消去)する。なお、各種データ(モニタ要求、モニタ結果、経路確認に伴なうデータ)を正常に送受信できたか否かは、たとえば、チェックサムによるデータの損失有無により確認される。データが損失している場合には、受信側のリモコン1から送信側のリモコン1へ再送要求が送信される。損失なくデータを受信できている場合には、受信側のリモコン1から送信側のリモコン1へその旨が送信され、送信側のリモコン1においてデータが破棄(消去)される。
以上のように、運用フェーズでは、接続元リモコン1の経路情報に対象リモコンが含まれている場合には、マスタリモコンによりモニタ対象までの通信経路(モニタ経路)が確認された後、接続元リモコン1から対象リモコンへモニタ要求が送信され、モニタ対象の監視データ(モニタ結果)が取得される(通常処理)。一方、接続元リモコン1の経路情報に対象リモコンが含まれていない場合には、接続元リモコン1からマスタリモコンへモニタ要求が送信され、マスタリモコンから対象リモコンへのモニタ要求に応答してマスタリモコンにより取得されるモニタ対象の監視データ(モニタ結果)がマスタリモコンから接続元リモコンへ送信される(異常処理)。
次に、各リモコンにおける経路情報の作成・更新やマスタリモコンの決定等を行なう前処理フェーズについて説明する。
<前処理フェーズ>
図8は、前処理フェーズで実行される処理の概要を説明するフローチャートである。このフローチャートに示される一連の処理は、運用フェーズからの定期的な移行に従って実行される。
図8を参照して、まず、各リモコン1において経路情報の作成(更新)が行なわれる(ステップS1)。あるリモコンの経路情報の作成には、他のリモコンも関わるため、各リモコン1における経路情報の作成は、予め定められた順序に従って順次行なわれる。
全てのリモコン1において経路情報の作成が終了すると、全てのリモコン1の中から1つのマスタリモコンが決定される(ステップS2)。上述のように、マスタリモコンは、接続元リモコンから対象リモコンまでの通信経路の確認を行なったり、接続元リモコンの経路情報に対象リモコンが含まれていない場合に、接続元リモコンに代わって対象リモコンからモニタ結果を取得して接続元リモコンへ送信したりする。
マスタリモコンが決定されると、マスタリモコンによるマスタ経路情報の作成が行なわれる(ステップS3)。マスタ経路情報は、マスタリモコンに決定されたリモコンの経路情報に含まれる全てのリモコンからマスタリモコンが経路情報を収集することで作成される。具体的には、収集された他のリモコンの経路情報にマスタリモコンが不知のリモコンが存在する場合に、その不知のリモコンまでの経路情報がマスタリモコンの経路情報に追加される。以下、これらの各処理について詳しく説明する。
<経路情報の作成>
図9から図13を用いて、リモコン1aの経路情報を作成する場合を例に説明する。図9は、空調システム100の構成例を示す図である。図10は、経路情報作成の処理の流れを説明する図である。図11は、リモコン間のやり取りを示すシーケンス図である。図12は、経路情報の作成時にリモコン間で経路情報が伝達される様子を示す図であり、図13は、経路情報の完成後にリモコン間で経路情報が共有される様子を示す図である。
図9から図13を適宜参照して、本実施の形態では、まず、起点のリモコン1aにおいて、他の各リモコンとの通信(BLE通信)の電波強度が検知される(図9)。そして、この例では、基準値を超える電波強度を有するリモコンのうち(たとえばリモコン1c,1d,1e)、電波強度が最も強いリモコン1dが選択される。なお、電波強度が同等の選択可能なリモコンが複数ある場合には、たとえば、先に検知されたリモコンが選択されるようにしてもよい。そして、リモコン1aは、選択されたリモコン1dへ自身を含む経路情報を送信する(図12)。
次いで、リモコン1aから経路情報を受信したリモコン1dにおいて、同様の処理が行なわれる。すなわち、リモコン1dにおいて、送信元のリモコン1aを除く各リモコンとの通信の電波強度が検知される。そして、この例では、基準値を超える電波強度を有するリモコンのうち、電波強度が最も強いリモコン1bが選択される(図10,図11)。リモコン1dは、リモコン1aから受信した経路情報に自身を追加して、選択されたリモコン1bへ経路情報を送信する(図12)。
続いて、リモコン1dから経路情報を受信したリモコン1bにおいて、同様の処理が行なわれる。すなわち、リモコン1bにおいて、既に経路に含まれているリモコン1a,1dを除く各リモコンとの通信の電波強度が検知される。そして、この例では、基準値を超える電波強度を有するリモコンのうち、電波強度が最も強いリモコン1iが経路に選択される(図10,図11)。リモコン1bは、リモコン1dから受信した経路情報に自身を追加して、選択されたリモコン1iへ経路情報を送信する(図12)。
さらに、リモコン1bから経路情報を受信したリモコン1iにおいて、同様の処理が行なわれる。すなわち、リモコン1iにおいて、既に経路に含まれているリモコン1a,1d,1bを除く各リモコンとの通信の電波強度が検知される。この例では、基準値を超える電波強度を有するリモコンはないものとする(図11)。基準値を超える電波強度を有するリモコンがなくなると、リモコン1a,1d,1b,1iを含む1つの経路情報が完成する(図10)。
末端のリモコン1iは、経路に含まれるリモコン1a,1d,1bにおいて、完成した経路情報を共有するために、リモコン1bから受信した経路情報に自身を追加して、完成した経路情報(経路共有情報)を送信元のリモコン1bへ送信する。そして、この経路情報に従って、末端のリモコン1iから起点のリモコン1aまで、完成した経路情報(経路共有情報)が順次送信され(図10,図11)、経路に含まれるリモコン1a,1d,1bにおいて、完成した経路情報が共有される(図13)。
リモコン1aにおいて1つの経路情報が完成すると、リモコン1aは、他の経路情報の作成を試みる。すなわち、リモコン1aにおいて、経路選択済のリモコンを除く各リモコンとの通信の電波強度が検知される。そして、基準値を超える電波強度を有するリモコンのうち、選択済のリモコン(たとえばリモコン1d)に次ぐ電波強度を有するリモコンが選択され、上記と同様の処理手順で他の経路情報が作成される。そして、リモコン1aにおいて、基準値を超える電波強度を有するリモコンがなくなるまで、経路情報の作成が行なわれる。
図14及び図15は、図8のステップS1で実行される経路情報作成の処理手順の一例を示すフローチャートである。
図14は、経路情報が作成されるリモコン1において実行される処理の手順を説明するフローチャートである。図14に示される一連の処理は、運用フェーズから前処理フェーズへの移行後、リモコン1毎に順次与えられる経路情報作成トリガに応じて開始される。なお、運用フェーズから前処理フェーズへの移行のトリガ、及び各リモコンの経路情報作成のトリガは、それまでのマスタリモコンが生成してもよいし、予め定められた特定のリモコン1が生成してもよい。
一方、図15は、他のリモコンにおける経路情報の作成中に、その作成中の経路情報を受信したリモコン1(すなわち、作成中の経路情報において中継器となるリモコン)において実行される処理の手順を説明するフローチャートである。図15に示される一連の処理は、他のリモコン1における経路情報の作成中に、その経路情報を受信した場合に開始される。
図14を参照して、リモコン1の制御部13(図1)は、まず、後述のステップS120において選択済のリモコン以外で、BLE通信の電波強度が基準値以上の他のリモコン1が有るか否かを判定する(ステップS110)。電波強度が基準値以上の他のリモコン1がない場合には(ステップS110においてNO)、以降の一連の処理は実行されずにエンドへと処理が移行される。
電波強度が基準値以上の他のリモコン1が有る場合には(ステップS110においてYES)、制御部13は、電波強度が基準値以上のリモコン1のうち電波強度が最も強いリモコン1を選択する(ステップS120)。電波強度が同等の選択可能なリモコン1が複数ある場合には、たとえば、先に検知されたリモコン1が選択される。そして、制御部13は、選択されたリモコン1へ自身を含む経路情報を送信する(ステップS130)。
その後、制御部13は、経路情報を送信したリモコン1から経路共有情報(完成した経路情報)を受信すると(ステップS140においてYES)、受信した経路共有情報を自身の経路情報の1つとして記憶部14に記憶する(ステップS150)。
次いで、制御部13は、ステップS110へ処理を戻し、ステップS120において選択済のリモコン以外で、電波強度が基準値以上のリモコン1が他にないか確認する。そして、電波強度が基準値以上の他のリモコン1が他に有る場合には(ステップS110においてYES)、ステップS120以降の処理が再度実行されることにより、当該他のリモコン1を経由する他の経路情報が作成される。
図15を参照して、他のリモコンにおける経路情報の作成中に、その作成中の経路情報を受信したリモコン1の制御部13は、電波強度が基準値以上のリモコン1が有るか否かを判定する(ステップS210)。
電波強度が基準値以上のリモコン1が有る場合には(ステップS210においてYES)、制御部13は、電波強度が基準値以上のリモコン1のうち電波強度が最も強いリモコン1を選択する(ステップS220)。電波強度が同等の選択可能なリモコン1が複数ある場合には、たとえば、先に検知されたリモコン1が選択される。そして、制御部13は、選択されたリモコン1へ自身を含む経路情報を送信する(ステップS230)。
その後、制御部13は、経路情報を送信したリモコン1から経路共有情報(完成した経路情報)を受信すると(ステップS240においてYES)、受信した経路共有情報を記憶部14に記憶する(ステップS250)。そして、制御部13は、受信した経路共有情報を、作成中の経路情報を送信してきた元のリモコン1へ送信する(ステップS260)。その後、処理はエンドへ移行され、一連の処理が終了する。
一方、ステップS210において、電波強度が基準値以上のリモコン1はないと判定されると(ステップS210においてNO)、制御部13は、受信した経路情報に自身を追加して記憶部14に記憶する(ステップS270)。そして、制御部13は、自身が追加された経路情報を経路共有情報として送信元のリモコン1へ送信する(ステップS280)。その後、処理はエンドへ移行され、一連の処理が終了する。
以上により、各リモコン1の経路情報が作成される。再び図8を参照して、各リモコン1の経路情報が作成されると(ステップS1)、空調システム100に含まれる複数のリモコン1の中からマスタリモコンが決定される(ステップS2)。本実施の形態では、以下に示されるように、マスタリモコンは、ステップS1において作成された経路情報が最も多いリモコンに決定される。
<マスタリモコンの決定>
図16は、図8のステップS2で実行されるマスタリモコン決定処理の手順の一例を示すフローチャートである。この一連の処理は、たとえば、図8のステップS1で実行される経路情報の作成が開始されてから所定時間経過後に、各リモコン1で同時に開始される。上記の所定時間は、各リモコン1の経路情報の作成が終了する時間を見込んで適宜設定される。
図16を参照して、経路情報の作成が終了した各リモコン1の制御部13は、自身の経路情報に基づいて、自身が有する経路情報の数を自身の前後のリモコン全てへ送信する(ステップS310)。
そして、制御部13は、他のリモコン1から経路情報の数を受信したか否かを判定する(ステップS320)。制御部13は、他のリモコン1から経路情報の数を受信していないときは(ステップS320においてNO)、所定期間が経過したか否かを判定し(ステップS340)、所定期間が経過していなければ(ステップS340においてNO)、ステップS320へ処理を戻す。
制御部13は、他のリモコン1から経路情報の数を受信したときは(ステップS320においてYES)、その受信した他のリモコン1の経路情報の数を記憶部14に記憶し(ステップS330)、ステップS320へ処理を戻す。
その後、他のリモコン1から経路情報の数を所定期間受信しなくなると(ステップS340においてYES)、制御部13は、自身のリモコンが有する経路情報の数が、他のリモコン1の経路情報の数よりも多いか否かを判定する(ステップS350)。
そして、自身の経路情報の数が、他のリモコン1の経路情報の数よりも多いときは(ステップS350においてYES)、制御部13は、自身のリモコン1をマスタリモコンに設定する(ステップS360)。一方、自身の経路情報の数が、他のリモコン1の経路情報の数よりも少ないときは(ステップS350においてNO)、制御部13は、自身のリモコン1を非マスタリモコンに設定する(ステップS360)。なお、経路情報の数が競合した場合には、たとえば、経路情報に含まれるリモコンの総数の多い方がマスタリモコンに設定される。
再び図8を参照して、上記のようにしてマスタリモコンが決定されると(ステップS2)、マスタリモコンによるマスタ経路情報の作成が行なわれる(ステップS3)。
<マスタ経路情報の作成>
マスタリモコンが決定されると、図14に示したフローチャートに従って、マスタリモコンの経路情報の作成が改めて実行される。この際、マスタリモコンから経路に選択されるリモコンへの経路情報の伝達時に、マスタリモコンの情報が併せて伝達される。これにより、マスタリモコンの情報が経路上のリモコンに周知される。
以下、図17から図20を用いて、マスタリモコンの決定後にマスタリモコンの経路情報を改めて作成する場合の処理を説明する。以下では、リモコン1bがマスタリモコンに設定された場合を例に説明する。
図17は、空調システム100の構成例を示す図である。図18は、マスタリモコン1bからの経路に選択されたリモコン1dの経路情報の一例を示す図である。図19及び図20は、マスタリモコン1b及び経路に選択されたリモコン1d,1aの経路情報の一例を示す図である。
図17から図20を適宜参照して、マスタリモコン1bにおいて、他の各リモコンとの電波強度が検知される(図17)。この例では、基準値を超える電波強度を有するリモコンのうち(たとえばリモコン1c~1g,1i)、電波強度が最も強いリモコン1dが経路に選択される。なお、電波強度が同等の選択可能なリモコンが複数ある場合には、たとえば、先に検知されたリモコンが選択されるようにしてもよい。
そして、マスタリモコン1bは、自身を含む経路情報に、自身がマスタリモコンである旨の情報(以下「マスタ情報」と称する。)を付加して、選択されたリモコン1dへ経路情報を送信する。マスタリモコン1bから経路情報を受信したリモコン1dは、受信した経路情報に自身を追加して、マスタ情報とともに記憶部14に記憶する(図18)。また、リモコン1dは、自身が追加された経路情報をマスタリモコン1bへ送信し、マスタリモコン1bにおいて、リモコン1dまでの最適経路としてマスタリモコン1bで共有される(図19)。
次いで、マスタリモコン1bから経路情報を受信したリモコン1dにおいて、同様の処理が行なわれる。すなわち、リモコン1dにおいて、送信元のマスタリモコン1bを除く各リモコンとの電波強度が検知される。そして、この例では、基準値を超える電波強度を有するリモコンのうち、電波強度が最も強いリモコン1aが選択される。
リモコン1dは、自身が追加された経路情報を選択されたリモコン1aへ送信する。なお、この経路情報にも、マスタ情報が付加される。リモコン1dから経路情報を受信したリモコン1aは、受信した経路情報に自身を追加して、マスタ情報とともに記憶部14に記憶する(図19)。また、リモコン1aは、自身が追加された経路情報を、リモコン1dを経由してマスタリモコン1bへ送信し、マスタリモコン1bにおいて、リモコン1aまでの最適経路としてマスタリモコン1bで共有される(図20)。
なお、マスタリモコンの経路情報の作成時においては、経路となるリモコンを選択するための電波強度の基準値を、各リモコンの経路情報作成時よりも低く設定してもよい。これにより、マスタリモコンによってより多くのリモコン1の状態を把握できる可能性がある。
さらに、上記のようにマスタリモコンの経路情報の作成が実行された後、マスタリモコンにより、マスタリモコンの経路情報に含まれる全てのリモコンの経路情報が収集される。そして、収集された経路情報の中に、マスタリモコンの経路情報に含まれていないリモコン1が存在する場合には、そのリモコン1がマスタリモコンの経路情報に加えられる。
図21は、図8のステップS3で実行されるマスタ経路情報作成の処理手順の一例を示すフローチャートである。この一連の処理は、図16に示したフローチャートに従ってマスタリモコンが決定された後に実行される。
図21を参照して、マスタリモコンの制御部13は、図14に示したフローチャートと同様の経路情報作成処理を実行することによって、マスタリモコンの経路情報を作成する(ステップS405)。詳細は、図17から図20で説明したとおりである。
次いで、マスタリモコンの制御部13は、ステップS405において作成された経路情報に含まれる全てのリモコン1に対して経路情報の送信を要求する(ステップS410)。該当するリモコン1への経路情報の送信要求は、ステップS405において作成された経路情報に従って、該当するリモコン1へ送信される。
そして、マスタリモコンの制御部13は、経路情報の送信要求を送信したリモコン1から経路情報を受信したか否かを判定する(ステップS420)。マスタリモコンの制御部13は、経路情報を受信すると、受信した経路情報中に、自身の経路情報にないリモコン1が含まれているか否かを判定する(ステップS430)。自身の経路情報にないリモコン1は受信した経路情報中にはないと判定されると(ステップS430においてNO)、すなわち、受信した経路情報に含まれる各リモコン1が自身の経路情報に既に含まれているときは、ステップS420へ処理が戻される。
ステップS430において、受信した経路情報中に自身の経路情報にないリモコン1が含まれていると判定されると(ステップS430においてYES)、マスタリモコンの制御部13は、受信した経路情報の中で対象のリモコンが含まれる経路情報と、自身の経路情報とを比較し、その対象のリモコンまでの経路情報を作成する(ステップS440)。
そして、マスタリモコンの制御部13は、新たに作成された経路情報を経路上のリモコンで共有するため、作成された経路情報に基づいて、その作成された経路情報を経路上のリモコンへ順次送信する(ステップS450)。その後、マスタリモコンの制御部13は、経路上のリモコンにおいて経路が共有されたことを示す経路共有情報を受信すると(ステップS460においてYES)、ステップS420へ処理を戻し、他のリモコン1から経路情報を受信したか否かをさらに確認する。
そして、ステップS420において、他のリモコン1から経路情報を受信していないと判定され(ステップS420においてNO)、他のリモコン1からの経路情報を所定期間受信しなくなると(ステップS470においてYES)、エンドへ処理が移行され、一連の処理が終了する。
以上のように、前処理フェーズにおいて、各リモコン1の経路情報の作成(更新)、マスタリモコンの決定、及び決定されたマスタリモコンによるマスタ経路情報の作成が行なわれる。そして、上記の前処理が完了すると、前処理フェーズから運用フェーズへ移行され、監視データの取得が可能になる。
<割込処理>
最後に割込処理について説明する。割込処理は、運用フェーズにおける通常処理若しくは異常処理、又は前処理フェーズにおける各種処理の実行中に、操作部12からリモコン操作があった場合や、他の端末装置2の接続要求を受けた場合等に実行される。
本実施の形態では、上記のような割込操作に対して予め定められた優先度に従って割込処理が実行される。たとえば、緊急性の高い割込操作については、高い優先度に設定され、運用フェーズ又は前処理フェーズにおける実行中の処理を中断して割込操作が優先的に実行される。一方、緊急性の低い割込操作については、低い優先度に設定され、運用フェーズ又は前処理フェーズにおける実行中の処理が継続されるとともに、割込操作は不可であることが適宜通知される。
図22は、優先度の高い割込操作の一例に対する割込処理を説明する図である。この図22には、図3等で説明した空調システム100が示されている。図22を参照して、端末装置2からのモニタ要求に応じて接続元リモコン1aによりモニタ対象の監視データを対象リモコン1cから取得する通常処理の実行中に、モニタ経路上のリモコン1dにおいてリモコン操作が行なわれたものとする。
この例では、リモコン操作は、監視データの収集や経路情報の作成等よりも緊急性が高いものとされ、優先度の高い処理に設定されている。そのため、リモコン操作に応じて、モニタ対象の監視データを取得する通常処理は中断され、その旨がリモコン1dからモニタ経路上の各リモコン(この例では、接続元リモコン1a及び対象リモコン1c)へ送信される。
処理中断の通知を受信した各リモコンにおいては、中断する直前の処理内容が保持される。そして、リモコン1dにおいてリモコン操作に基づく処理が終了すると、割込操作が終了した旨がリモコン1dからモニタ経路上の各リモコンへ送信され、各リモコンにおいて、中断されていた処理が再開される。
なお、優先度の高い割込操作としては、上記のリモコン操作のほか、たとえば、室内ユニット3又は室外ユニット4の異常を室内ユニット3から有線通信部16により受信すること等も、優先度の高い割込操作として割込処理が実行される。
図23は、優先度の低い割込操作の一例に対する割込処理を説明する図である。この図23にも、図3等で説明した空調システム100が示されている。図23を参照して、端末装置2aからのモニタ要求に応じて接続元リモコン1aによりモニタ対象の監視データを対象リモコン1cから取得する通常処理の実行中に、モニタ経路上のリモコン1dが他の端末装置2bから接続要求を受けたものとする。
この例では、運用フェーズ又は前処理フェーズでの各種処理の実行中における他の端末装置2bからの接続要求は、緊急性は低いものとされ、優先度の低い処理に設定されている。そのため、モニタ対象の監視データを取得する通常処理は継続され、リモコン1dに接続不可であることが端末装置2bへ送信される。
図24は、リモコン1の制御部13により実行される割込処理の手順の一例を示すフローチャートである。このフローチャートに示される一連の処理は、運用フェーズ又は前処理フェーズにおける各種処理の実行中に割込が発生すると開始される。
図24を参照して、制御部13は、発生した割込が優先度の高い割込であるか否かを判定する(ステップS510)。優先度の高い割込としては、上記のように、たとえば、リモコン操作が行なわれた場合や、室内ユニット3又は室外ユニット4の異常を有線通信部16が室内ユニット3から受信した場合等に発生する。
ステップS510において優先度の高い割込であると判定されると(ステップS510においてYES)、制御部13は、運用フェーズ又は前処理フェーズにおける実行中の処理を中断する(ステップS520)。そして、制御部13は、中断前の処理内容を記憶部14に保存するとともに、当該処理に関連する他のリモコン1へ処理の中断を通知する(ステップS530)。これにより、処理の中断の通知を受信した各リモコンにおいても、中断する直前の処理内容が保持される。
中断前の処理内容が保存されると、制御部13は、発生した割込に対応する処理を開始する(ステップS540)。そして、割込処理が終了すると(ステップS550においてYES)、制御部13は、中断された処理を再開するとともに、処理の中断を通知したリモコン1へ処理の再開を通知する(ステップS560)。
一方、ステップS510において、発生した割込の優先度は低いと判定されると(ステップS510においてNO)、制御部13は、その発生した割込に対応する処理の実行を拒否する(ステップS570)。すなわち、運用フェーズ又は前処理フェーズにおける実行中の処理が継続される。なお、特に図示しないが、発生した割込が、たとえば他の端末装置2からの接続要求である場合には、接続不可である旨の通知が当該他の端末装置2へ送信される。
このように、本実施の形態では、割込操作に対して予め定められた優先度に従って割込処理が実行されるので、本来のリモコン操作等の優先度の高い割込が実行されなかったり、運用フェーズ又は前処理フェーズにおける実行中の処理が優先度の低い割込によって不必要に中断されたりするのを抑制することができる。
今回開示された実施の形態は、全ての点で例示であって制限的なものではないと考えられるべきである。本開示により示される技術的範囲は、上記した実施の形態の説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。