(57)【要約】  通信アダプタ（４０）は、プログラム更新処理時において、管理センター（２０）から配信された更新プログラムの書込処理が正常終了すると、プログラム更新処理前に実行されていたプログラムを保持したままで、更新プログラムによる再起動処理を実行する。更新プログラムが実行された状態で通信アダプタ（４０）及び管理センター（２０）の間の通信の検証処理が自動的に実行され、当該通信が正常であればプログラム更新処理が終了される。
2019082738.tif 000002
【特許請求の範囲】
【請求項１】
通信線を経由して温水利用設備と接続された通信アダプタであって、
通信網を経由して外部装置との間で情報を送受信するように構成された通信部と、
記憶内容を書換可能な複数のプログラム格納領域を含む記憶部と、
前記複数のプログラム格納領域のうちの指定された１つのプログラム格納領域に記憶されたプログラムの実行によって前記通信アダプタを動作させるように構成された制御部とを備え、
前記通信部は、プログラム更新処理が起動されると、前記外部装置から更新プログラムを受信し、
前記制御部は、前記複数のプログラム格納領域のうちの起動処理時に指定された第１のプログラム格納領域に記憶されたプログラムの実行中に前記プログラム更新処理が起動されると、前記複数のプログラム格納領域のうちの前記第１のプログラム格納領域とは異なる第２のプログラム格納領域に対して、前記通信部によって受信された前記更新プログラムの書込処理を実行し、前記書込処理が正常終了すると、前記第１のプログラム格納領域の記憶内容を保持したままで、前記第２のプログラム格納領域を指定して前記起動処理を再実行し、
前記第２のプログラム格納領域を指定した前記起動処理の再実行後において、前記外部装置との間での通信可否を検証し、前記外部装置との間で正常に通信できる場合に、前記更新プログラムによって前記通信アダプタを動作させた状態で前記プログラム更新処理を終了する、通信アダプタ。
【請求項２】
前記制御部は、前記第２のプログラム格納領域を指定した前記起動処理の再実行後において、前記外部装置との間での通信可否を検証し、前記外部装置との間で正常に通信できない場合には、前記第１のプログラム格納領域を指定して前記起動処理をさらに再実行するとともに、前記第１のプログラム格納領域を指定した前記起動処理の再実行後に、前記外部装置との間での通信可否を検証する、請求項１記載の通信アダプタ。
【請求項３】
前記制御部は、前記第１のプログラム格納領域を指定した前記起動処理の再実行後に、前記外部装置との間で正常に通信できない場合には、前記第２のプログラム格納領域を再び指定して前記起動処理をさらに再実行して、前記更新プログラムによって前記通信アダプタを動作させた状態で前記プログラム更新処理を終了する、請求項２記載の通信アダプタ。
【請求項４】
前記制御部は、前記第１のプログラム格納領域を指定した前記起動処理の再実行後に、前記外部装置との間で正常に通信できる場合には、前記第１のプログラム格納領域に記憶されたプログラムによって前記通信アダプタを動作させた状態で前記プログラム更新処理を終了する、請求項２記載の通信アダプタ。
【請求項５】
通信線を経由して温水利用設備と接続された通信アダプタのプログラム更新方法であって、
前記通信アダプタは、複数のプログラム格納領域のうちの指定された１つのプログラム格納領域に記憶されたプログラムの実行によって動作し、
前記プログラム更新方法は、
前記複数のプログラム格納領域のうちの起動処理時に指定された第１のプログラム格納領域に記憶されたプログラムの実行中において、プログラム更新要求に応じてプログラム更新処理を起動するステップと、
前記プログラム更新処理の起動に応じて、前記複数のプログラム格納領域のうちの前記第１のプログラム格納領域とは異なる第２のプログラム格納領域を特定するステップと、
外部装置から更新プログラムを受信するステップと、
前記第２のプログラム格納領域に対して、受信した前記更新プログラムの書込処理を実行するステップと、
前記書込処理が正常終了すると、前記第１のプログラム格納領域の記憶内容を保持したままで、前記第２のプログラム格納領域を指定して前記起動処理を再実行するステップと、
前記第２のプログラム格納領域を指定した前記起動処理の再実行後において、前記外部装置との間での通信可否を検証し、前記外部装置との間で正常に通信できる場合に、前記更新プログラムによって前記通信アダプタを動作させた状態で前記プログラム更新処理を終了するステップとを備える、通信アダプタのプログラム更新方法。
【請求項６】
前記第２のプログラム格納領域を指定した前記起動処理の再実行後において、前記外部装置との間での通信可否を検証し、前記外部装置との間で正常に通信できない場合には、前記第１のプログラム格納領域を指定して前記起動処理をさらに再実行するステップと、
前記第１のプログラム格納領域を指定した前記起動処理の再実行後に、前記外部装置との間での通信可否を検証するステップとをさらに備える、請求項５記載の通信アダプタのプログラム更新方法。
【請求項７】
前記第１のプログラム格納領域を指定した前記起動処理の再実行後に、前記外部装置との間で正常に通信できない場合には、前記第２のプログラム格納領域を再び指定して前記起動処理をさらに再実行して、前記更新プログラムによって前記通信アダプタを動作させた状態で前記プログラム更新処理を終了するステップをさらに備える、請求項６記載の通信アダプタのプログラム更新方法。
【請求項８】
前記第１のプログラム格納領域を指定した前記起動処理の再実行後に、前記外部装置との間で正常に通信できる場合には、前記第１のプログラム格納領域に記憶されたプログラムによって前記通信アダプタを動作させた状態で前記プログラム更新処理を終了するステップをさらに備える、請求項６記載の通信アダプタのプログラム更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信アダプタに関し、より特定的には、温水利用設備（例えば、給湯器、マルチ給湯システム、浴槽内湯水の追い焚き装置、ろ過装置、又は、温水暖房機器等）の遠隔管理システムに用いられる通信アダプタのプログラム更新に関する。
【背景技術】
【０００２】
温水利用設備の一例であるマルチ給湯システム用の遠隔管理システムが、特開２０１７−５８０２６号公報（特許文献１）に記載されている。特許文献１の遠隔管理システムでは、給湯システムの各種情報は、給湯システムと通信接続された通信アダプタを経由して、管理センタ（サーバ）へ伝送される。【０００３】
例えば、通信アダプタは、２心通信線を介して給湯システムと通信可能に接続されるとともに、インターネットなどの通信網に接続されたルータと無線通信によって接続される。通信アダプタがルータ及び通信網を介して管理センター（サーバ）と通信可能に接続されることにより、給湯システム及び管理センターの間では、通信網を経由した、双方向の情報伝送が可能となる。【０００４】
通信アダプタでは、予め格納されたプログラムを実行することによって、給湯システムに関する各種情報を収集する情報収集機能及び通信網に接続するための通信機能、並びに、これらの機能を用いて給湯システムから収集した情報を管理センター（サーバ）に送信する情報送信機能等が実現される。従って、通信アダプタに格納されたプログラムを更新することによって、通信アダプタの各種機能のアップグレードが可能である。【０００５】
また、特開２００９−２８６６００号公報（特許文献２）には、ビル監視システムにおける制御プログラムの更新時に、伝送された更新プログラムの自己診断の結果が正常なときのみ、稼働プログラムの更新を行うことが記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１７−５８０２６号公報
【特許文献２】特開２００９−２８６６００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１のように、管理センター（サーバ）及び通信アダプタの間での通信を伴って遠隔管理が行われるシステムにおけるプログラムの更新では、更新プログラムの内容の自己診断のみならず、当該更新プログラムの実行時に管理センターとの通信が正常であることが求められる。【０００８】
この発明はこのような問題点を解決するためになされたものであって、この発明の目的は、外部装置との間での通信を用いた温水利用設備の遠隔管理システムに適用される通信アダプタにおいて、プログラム更新後における外部装置との通信結果に従って適切にプログラム更新を管理することである。
【課題を解決するための手段】
【０００９】
本発明のある局面では、通信線を経由して温水利用設備と接続された通信アダプタは、通信部と、記憶部と、制御部とを備える。通信部は、通信網を経由して外部装置との間で情報を送受信するように構成される。記憶部は、記憶内容を書換可能な複数のプログラム格納領域を含む。制御部は、複数のプログラム格納領域のうちの指定された１つのプログラム格納領域に記憶されたプログラムの実行によって通信アダプタを動作させるように構成される。通信部は、プログラム更新処理が起動されると、外部装置から更新プログラムを受信する。制御部は、複数のプログラム格納領域のうちの起動処理時に指定された第１のプログラム格納領域に記憶されたプログラムの実行中にプログラム更新処理が起動されると、複数のプログラム格納領域のうちの第１のプログラム格納領域とは異なる第２のプログラム格納領域に対して、通信部によって受信された更新プログラムの書込処理を実行し、書込処理が正常終了すると、第１のプログラム格納領域の記憶内容を保持したままで、第２のプログラム格納領域を指定して起動処理を再実行する。そして、制御部は、第２のプログラム格納領域を指定した起動処理の再実行後において、外部装置との間での通信可否を検証し、外部装置との間で正常に通信できる場合に、更新プログラムによって通信アダプタを動作させた状態でプログラム更新処理を終了する。【００１０】
上記通信アダプタによれば、書込処理が正常終了した更新プログラムが実行された状態で外部装置（サーバ）との通信が正常であることを自動的に確認してプログラム更新処理を終了することができる。これにより、プログラム更新後の通信結果に従って適切にプログラム更新を管理することができる。
【発明の効果】
【００１１】
本発明によれば、外部装置との間での通信を用いた温水利用設備の遠隔管理システムに適用される通信アダプタにおいて、プログラム更新後における外部装置との通信結果に従って適切にプログラム更新を管理することができる。
【図面の簡単な説明】
【００１２】
【図１】本実施の形態に従う通信アダプタが適用される温水利用設備の遠隔管理システムの構成例を示すブロック図である。
【図２】図１に示されたクラウドサーバ及びアプリケーションサーバを構成するサーバ装置の概略構成図である。
【図３】図１に示された通信アダプタの構成例を示すブロック図である。
【図４】図３に示されたＲＯＭのメモリマップである。
【図５】本実施の形態に従う通信アダプタにおけるプログラム更新の際の処理手順を説明するフローチャートである。
【図６】図５に示されたプログラム更新処理における通信アダプタの状態の変化を説明するための概念図である。
【発明を実施するための形態】
【００１３】
以下に、本発明の実施の形態について図面を参照して詳細に説明する。なお、以下では図中の同一又は相当部分には同一符号を付してその説明は原則的に繰返さないものとする。
【００１４】
図１は、本実施の形態に従う通信アダプタが適用される温水利用設備の遠隔管理システムの構成例を示すブロック図である。
【００１５】
図１を参照して、温水供給システム１０は、温水利用設備の一例である温水供給装置１００と、温水供給装置１００の運転操作指令を入力するためのリモートコントローラ（以下、単に「リモコン」とも称する）１０５とを含む。本実施の形態では、温水供給装置１００が遠隔管理の対象とされる。
【００１６】
温水供給システム１０において、温水供給装置１００及びリモコン１０５は、２心通信線５０を介して相互に通信可能に接続される。より詳細には、温水供給装置１００及びリモコン１０５の各々には、マイクロコンピュータ等を含む制御部（図示せず）が内蔵されており、これらの制御部同士が所定の通信プロトコルで２心通信線５０を介して、シリアル通信可能に構成されている。また、温水供給装置１００は、外部機器用の電源電圧を２心通信線５０に出力するよう構成することが可能である。この場合には、通信データは電源電圧に重畳させることができる。
【００１７】
さらに、温水供給装置１００の制御部は、２心通信線５０を介して、通信アダプタ４０と接続される。一例として、温水供給システム１０及び通信アダプタ４０は、屋外（例えば住宅の外壁の周辺やガレージ等）に設置することができる。通信アダプタ４０は、屋内に配置された無線ＬＡＮ（Local  Area  Network）ルータ６０との間で、所定の通信プロトコル（例えばIEEE802.11n等）で通信するための無線通信機能を有する。通信アダプタ４０の詳細については、後程説明する。
【００１８】
無線ＬＡＮルータ６０は、インターネット網（通信網）に接続されている。無線ＬＡＮルータ６０は、無線ＬＡＮの親機として機能することにより、複数台の無線ＬＡＮ子機を無線接続することも可能である。
【００１９】
スマートフォン３０及び通信アダプタ４０は、無線ＬＡＮ子機として動作可能であり、無線ＬＡＮルータ６０との無線リンクが確立されると、無線ＬＡＮルータ６０を介してインターネットに接続することが可能である。あるいは、スマートフォン３０は、無線ＬＡＮルータ６０を経由したインターネット接続が不可の場合には、４Ｇ回線や３Ｇ回線などの移動体通信網を介してインターネット網に接続するように構成されている。
【００２０】
さらに、本実施の形態に従う温水利用設備の遠隔管理システムでは、管理センター２０及びサポートセンター７０がインターネット網（通信網）に接続される。管理センター２０は、クラウドサーバ２１ａ及びアプリケーションサーバ２１ｂを含む。クラウドサーバ２１ａ及びアプリケーションサーバ２１ｂは、インターネット網もしくは専用回線を介して相互に通信可能に接続されており、互いに連携して各種サービスを提供することができる。
【００２１】
図２は、クラウドサーバ２１ａ及びアプリケーションサーバ２１ｂを構成するサーバ装置２１の概略構成図である。
【００２２】
図２を参照して、サーバ装置２１は、装置全体を制御するためのＣＰＵ（Central  Processing  Unit）２５と、ＣＰＵ２５と接続された、通信ユニット２６及びメモリ２７とを含む。通信ユニット２６は、通信網（インターネット）に接続された通信によって、他の機器又はサーバと通信する機能を有する。
【００２３】
メモリ２７は、例えば、ＣＰＵ２５で実行されるプログラムを記憶するためのメモリであるＲＯＭ（Read  Only  Memory）２７ａ、ＣＰＵ３０でプログラムを実行する際の作業領域となったり計算値を記憶したりするためのメモリであるＲＡＭ（Random  Access  Memory）２７ｂ、及び、大型の記憶装置の一例としてのＨＤＤ（Hard  Disk  Drive）２７ｃを含む。
【００２４】
サーバ装置２１は、一般的なコンピュータに相当する機能を有して構成することができる。サーバ装置２１は、操作入力を受け付けるための操作部及びディスプレイの少なくとも一方をさらに含んでもよい。
【００２５】
再び図１を参照して、クラウドサーバ２１ａは、主として、各家庭に設置された多数の通信アダプタ４０が常時接続されて、これらの通信アダプタ４０との間で通信することにより、各家庭の温水供給システム１０の各種情報を収集するとともに管理する。例えば、収集する情報には、単位時間毎の給湯量、消費燃料量、給湯温度、及び、各温水供給システム１０で発生したエラー情報などを含むことができる。
【００２６】
アプリケーションサーバ２１ｂは、各家庭の多数のユーザのための多数のユーザアカウントを管理するとともに、ユーザが保有するスマートフォン３０などの操作端末からのログインを受け付けて、ユーザが所有する操作端末に対して各種サービスを提供する。
【００２７】
好ましくは、アプリケーションサーバ２１ｂが提供するサービスを利用するための専用アプリケーションソフトウェアをスマートフォン３０にインストールして、該アプリケーションソフトウェアからログイン操作及びログイン後の各種操作を行えるようにすることができる。あるいは、Ｗｅｂベースのサービス提供を行うことにより、適宜のＷｅｂブラウザを用いてログインその他の操作を行えるようにすることもできる。
【００２８】
なお、アプリケーションサーバ２１ｂは、スマートフォン３０などのユーザ端末に対するアプリケーションサービスのみを提供するものとし、ユーザアカウントを含む顧客情報はさらに別の顧客情報管理センターによって管理するよう構成することも可能である。あるいは、クラウドサーバ２１ａ及びアプリケーションサーバ２１ｂは、一体化されたサーバ装置により構成されてもよい。
【００２９】
クラウドサーバ２１ａ及びアプリケーションサーバ２１ｂによって提供するサービスは適宜必要に応じて設計することができる。例えば、接続機器確認サービス、運転情報収集管理サービス、エラー監視サービス、メンテナンスモニタサービス、遠隔操作サービスなどを提供することができる。
【００３０】
接続機器確認サービスによれば、後述する通信アダプタ４０に接続されている温水供給システム１０の温水供給装置１００の機種やシステム構成を確認することができる。通信アダプタ４０が温水供給システム１０から収集した情報に基づいて、サーバ側で機種やシステム構成を判別することができる。
【００３１】
運転情報収集管理サービスによれば、単位時間毎（例えば１時間毎）に定期的に温水供給システム１０の運転情報を、通信アダプタ４０から収集して管理することができる。収集する運転情報は任意であるが、例えば、単位時間毎の累積給湯量又は累積消費燃料量を収集することができる。収集された運転情報は、ビッグデータ解析による開発資料の作成に利用することも可能である。
【００３２】
エラー監視サービスによれば、温水供給システム１０でエラーが発生した場合に、当該エラーに関する情報を通信アダプタ４０から取得して、サポートセンター７０の端末７１に対して、あるいはユーザのメールアドレス宛にエラー通知を行うことができる。
【００３３】
メンテナンスモニタサービスによれば、温水供給システム１０の修理作業を行う場合などに、温水供給システム１０の動作状況をリアルタイムでモニタリングすることができる、具体的には、クラウドサーバ２１ａに通信接続した現場作業員用のタブレット端末８０等によって、指定した通信アダプタ４０に接続された温水供給システム１０の動作状況をリアルタイムでモニタリングすることが可能である。
【００３４】
遠隔操作サービスによれば、サポートセンター７０の端末７１や、ユーザ所有のスマートフォン３０等から、温水供給システム１０の所定の操作、例えば、給湯運転のオン／オフの切替操作及び給湯設定温度の変更操作等を遠隔で行うことを可能にする。例えば、ユーザによる遠隔操作は、スマートフォン３０等からアプリケーションサーバ２１ｂにログインすることによって実行可能となる運用とすることができる。
【００３５】
また、遠隔管理システムのサービスの一環として、ログインした状態で通信アダプタ４０から収集した運転情報をスマートフォン３０で閲覧できるように表示することも可能である。
【００３６】
本実施の形態に従う遠隔管理システムによって遠隔監視及び／又は遠隔操作される温水供給システム１０は、通信アダプタ４０に２心通信線５０を介して相互に通信可能に接続されている。通信アダプタ４０は、温水供給システム１０から各種情報を収集して管理センター２０へ送信することができるとともに、反対に、管理センター２０からの情報を受信することができる。あるいは、通信アダプタ４０は、サポートセンター７０又はユーザが所有するスマートフォン３０からの指令に基づいて温水供給システム１０に対して操作指令を出力することができる。
【００３７】
図３は、通信アダプタ４０の構成例を示すブロック図である。
図３を参照して、通信アダプタ４０は、制御部４１と、通信ユニット４２,４３と、電源回路４４と、メモリ４５と、アンテナ４７と、手動スイッチ４９とを含む。
【００３８】
制御部４１は、ＣＰＵ４１ａ及びインターフェイス（Ｉ／Ｆ）４１ｂを含むマイクロコンピュータによって構成することができる。通信ユニット４２は、２心通信線５０を経由して、温水供給装置１００及びリモコン１０５との間で双方向にデータを送受信可能に構成される。通信ユニット４３は、アンテナ４７を経由した無線通信によって、無線ＬＡＮルータ６０やスマートフォン３０との間で双方向にデータを送受信可能に構成される。電源回路４４は、２心通信線５０から電力供給を受けて、通信アダプタ４０内の各要素の動作電源電圧を生成する。
【００３９】
メモリ４５は、ＲＯＭ４５ａ及びＲＡＭ４５ｂを有する。ＲＯＭ４５ａは、不揮発性メモリ（代表的には、フラッシュメモリ）によって構成されるので、その記憶内容は、通信アダプタ４０の電源をオフしても保持される。また、ＲＯＭ４５ａの記憶内容は、制御部４１によって書換え可能である。
【００４０】
ＲＡＭ４５ｂは、揮発性メモリ（代表的には、ＤＲＡＭ（Dynamic  Random  Access  Memory））によって構成されるので、その記憶内容は通信アダプタ４０の電源オフによってクリアされる。特に、ＲＡＭ４５ｂの記憶内容は、通信アダプタ４０の起動処理時に初期化される。
【００４１】
例えば、ＲＯＭ４５ａには、通信アダプタ４０の動作を制御するためのプログラムが格納されており、制御部４１は、起動処理時において、ＲＯＭ４５ａに格納されたプログラムを読出してＲＡＭ４５ｂに展開する。以降では、制御部４１は、ＲＡＭ４５ｂに展開されたプログラムを実行して通信アダプタ４０の動作を制御する。なお、図３では、メモリ４５及び制御部４１を別個の要素として表記したが、メモリ４５の一部又は全部について、制御部４１に内蔵することも可能である。同様に、図３では別個のブロックとして記載した、制御部４１、通信ユニット４２,４３、電源回路４４、メモリ４５、アンテナ４７及び、手動スイッチ４９の少なくとも一部について、一体的に構成することも可能である。
【００４２】
手動スイッチ４９は、ユーザ又は作業員等が操作可能なプッシュスイッチによって構成することができる。手動スイッチ４９の操作に応じて、所定の電気信号が手動スイッチ４９から制御部４１へ入力される。これにより、制御部４１は、手動スイッチ４９の操作を検知することができる。
【００４３】
通信アダプタ４０は、通信ユニット４３を用いて、通信網（インターネット）を経由して管理センター２０の通信ユニット２６との間で通信することができる。これにより、通信アダプタ４０は、上記運転情報確認サービスのための温水供給システム１０の運転情報を、定期的に管理センター２０へ送信することができる。一方で、管理センター２０も通信アダプタ４０に対して、データ及び情報を送信することができる。例えば、通信アダプタ４０のプログラム（いわゆる、ファームウェア）をアップグレードする場合に、管理センター２０から通信アダプタ４０へ新たなプログラムを配信することができる。
【００４４】
図３の構成例において、通信ユニット４３は「通信部」の一実施例に対応し、ＲＯＭ４５ａは、「記憶部」の一実施例に対応し、マイクロコンピュータによって構成された制御部４１は、「制御部」の一実施例に対応する。また、管理センター２０は「外部装置」の一実施例に対応する。
【００４５】
図４は、図３に示されたＲＯＭ４５ａのメモリマップである。
図４を参照して、ＲＯＭ４５ａは、アドレスＡ０〜Ａｚによって区分される記憶領域を有する。例えば、ＲＯＭ４５ａには、制御部４１で実行されるべきプログラム（ファームウェア）を格納するための領域として、複数のプログラムパーティション（以下、単に「パーティション」とも称する）が設けられる。図４の例では、アドレスＡ１０〜Ａ１１に対応する領域ＭＡｘに、パーティションＰＴ０が設けられるとともに、アドレスＡ１１〜Ａ１２に対応するアドレス領域ＭＡｙに、パーティションＰＴ１が設けられる。パーティションＰＴ０及びＰＴ１は、「複数のプログラム格納領域」の一実施例に対応する。
【００４６】
さらに、ＲＯＭ４５ａでは、アドレスＡ１〜Ａ２に対応するアドレス領域ＭＡ１において、パーティション選択データＳｐｔが格納される。パーティション選択データＳｐｔはパーティションＰＴ０及びＰＴ１のいずれか一方を選択するための情報である。
【００４７】
制御部４１は、起動処理時に、パーティション選択データＳｐｔを読出し、その先頭バイトの値に従って、パーティションＰＴ０及びＰＴ１の一方から格納されたプログラムを読出す。例えば、パーティション選択データＳｐｔの先頭バイトが「０（１６進数）」であるときには、パーティションＰＴ０からプログラムが読出され、当該プログラムがＲＡＭ４５ｂに展開される。一方で、起動処理時にパーティション選択データＳｐｔの先頭バイトの値が「１（１６進数）」である場合には、パーティションＰＴ１から読み出されたプログラムがＲＡＭ４５ｂに展開される。
【００４８】
制御部４１は、起動処理後には、ＲＡＭ４５ｂに展開されたプログラムを逐次実行することによって、通信アダプタ４０の動作を制御する。従って、パーティションＰＴ０又はＰＴ１に格納されるプログラムを更新することで、通信アダプタ４０による上述の各種機能をアップグレードさせることができる。
【００４９】
プログラム更新のためには、不揮発性メモリであるＲＯＭ４５ａに対して、新たなプログラムの書込が必要となる。本実施の形態に従う通信アダプタでは、管理センター２０からダウンロードされた新たなプログラム（以下、「更新プログラム」とも称する）をＲＯＭ４５ａに格納することで、プログラムが更新される。すなわち、作業員によるプログラム更新とは異なり、通信アダプタ４０の電源をオフせずに遠隔でプログラム更新を実行することができる。
【００５０】
図５は、実施の形態１に従う通信アダプタにおけるプログラム更新の際の処理手順を説明するフローチャートである。図５に示す制御処理は、通信アダプタ４０の制御部４１によって繰返し実行することができる。
【００５１】
図５を参照して、制御部４１は、ステップＳ１００により、プログラムの更新要求があるかどうかを判定する。例えば、更新要求は、管理センター２０から直接送信される。あるいは、管理センター２０からは、プログラムの更新予約日時が通信アダプタ４０へ送信されて、当該予約日時が到来すると、ステップＳ１００がＹＥＳ判定とされてステップＳ１１０以降に処理が進められる。更新要求がない場合（Ｓ１００のＮＯ判定時）には、ステップＳ１１０以降によるプログラム更新処理は起動されない。
【００５２】
制御部４１は、プログラム更新処理が起動されると（Ｓ１００のＹＥＳ判定時）、ステップＳ１１０により、パーティション選択データＳｐｔより、ダウンロードされたプログラムを書込むべきパーティション（以下、「更新パーティション」とも称する）を特定する。更新パーティションは、現在実行中のプログラムを格納しているパーティション（以下、「実行パーティション」とも称する）とは異なるパーティションとされる。すなわち、図５のフローチャートにおいて、実行パーティションは「第１のプログラム格納領域」に対応し、更新パーティションは「第２のプログラム格納領域」に対応する。
【００５３】
たとえば、パーティションＰＴ０に格納されたプログラムが現在実行されている場合には、パーティションＰＴ１が更新パーティションに特定される。すなわち、パーティションＰＴ０が「第１のプログラム格納領域」に対応し、パーティションＰＴ１が「第２のプログラム格納領域」に対応する。
【００５４】
これに対して、パーティションＰＴ１に格納されたプログラムが現在実行されている場合には、パーティションＰＴ０が更新パーティションに特定される。すなわち、パーティションＰＴ１が「第１のプログラム格納領域」に対応し、パーティションＰＴ０が「第２のプログラム格納領域」に対応する。
【００５５】
制御部４１は、ステップＳ１２０により、通信ユニット４３を用いて管理センター２０から更新プログラムの検証データをダウンロードする。検証データは、例えば、誤り検出符号の一種であるＣＲＣ（Cyclic  Redundancy  Check）によって作成することができる。
【００５６】
さらに、制御部４１は、ステップＳ１３０により、管理センター２０から更新プログラムをダウンロードし、ステップＳ１４０により、ステップＳ１１０で特定された更新パーティションに、ダウンロードされた更新プログラムを逐次書込む。制御部４１は、更新プログラムの書込が終了するまで（Ｓ１５０のＮＯ判定時）、ステップＳ１４０の処理を繰返す。
【００５７】
制御部４１は、更新プログラムの書込が終了すると（Ｓ１５０のＹＥＳ判定時）、ステップＳ２００に処理を進めて、更新パーティションに書込まれた更新プログラムが正常であるか否かを、検証データを用いて判定する。
【００５８】
制御部４１は、書込まれた更新プログラムが異常である場合には（Ｓ２００のＮＯ判定時）、ステップＳ２１０により、プログラム更新の再要求処理を行って、ステップＳ１００により起動されたプログラム更新処理を一旦終了する。ステップＳ２１０による再処理要求の内容に応じて、以降のタイミングでステップＳ１００が再びＹＥＳ判定とされることにより、プログラム更新に再トライすることが可能である。
【００５９】
一方で、制御部４１は、書込まれた更新プログラムが正常である場合には（Ｓ２００のＹＥＳ判定時）、ステップＳ２２０により、ステップＳ１１０で特定された更新パーティションを指定する内容にパーティション選択データＳｐｔを書換えて、再起動処理を実行する。これにより、更新パーティションに書込まれた更新プログラムが、ＲＯＭ４５ａからＲＡＭ４５ｂに展開されて、通信アダプタ４０が再起動される。この際に、ステップＳ１１０での実行パーティションの記憶内容は保持される。
【００６０】
さらに、制御部４１は、更新プログラムによる再起動処理後、ステップＳ２３０により、管理センター２０（以下、サーバ２０とも称する）との通信を検証する。サーバ２０との通信が正常である場合には（Ｓ２３０のＮＯ判定時）、更新プログラムが実行された状態で、プログラム更新処理は終了される。
【００６１】
一方で、更新プログラムによる再起動処理後にサーバ２０との通信が不能である場合には（Ｓ２３０のＹＥＳ判定時）、制御部４１は、ステップＳ２４０により、プログラム更新処理の起動時に実行されていた旧プログラムによる再起動処理を実行する。すなわち、ステップＳ１１０における実行パーティションを指定する内容にパーティション選択データＳｐｔを書換えて、再起動処理が実行される。
【００６２】
さらに、制御部４１は、旧プログラムによる再起動処理後、ステップＳ２５０により、ステップＳ２３０と同様に、サーバ２０との通信を検証する。サーバ２０との通信が正常であると（Ｓ２５０のＮＯ判定時）には、旧プログラムが実行された状態で、プログラム更新処理は終了される。
【００６３】
制御部４１は、旧プログラムによる再起動処理後にサーバ２０との通信が不能である場合には（Ｓ２５０のＹＥＳ判定時）、ステップＳ２６０に処理を進める。この場合には、更新プラグラム及び旧プログラムのいずれによってもサーバ２０との通信が不能であるので、更新プログラムの不良ではなく、通信アダプタ４０や無線ＬＡＮルータ６０等の通信機能の不良、又は、電波状況の悪化により、通信そのものが不良である可能性が高い。従って、制御部４１は、ステップＳ２６０では、ステップＳ２２０と同様に、今回のプログラム更新処理で受信した更新プログラムによる再起動が実行されて、プログラム更新処理が終了される。
【００６４】
なお、ステップＳ２３０及びＳ２５０では、通信アダプタ４０の通信ユニット４３から、応答要求を伴うデータをサーバ２０に対して送信することができる。サーバ２０では、通信ユニット２６によって当該データを正常に受信した場合には、応答要求に沿った応答通知が通信アダプタ４０に対して返信される。例えば、通信アダプタ４０では、応答要求を伴うデータの送信から一定時間が経過するまでに、上記応答通知を受信できるか否かに応じて、サーバ２０との通信を検証することができる。
【００６５】
図６には、図５に示されたプログラム更新処理における通信アダプタの状態の変化を説明するための概念図が示される。
【００６６】
図６を参照して、パーティションＰＴ０に格納されたプログラムＰ１が実行されている状態で、ステップＳ１００により、プログラム更新処理が起動される。このとき、パーティションＰＴ１には、プログラムＰ０が格納されている。
【００６７】
ステップＳ１１０では、パーティションＰＴ１が更新パーティションに選択されるので、パーティションＰＴ１に、サーバ２０から配信された更新プログラムＰ２が格納される（Ｓ１１０〜Ｓ１４０）。そして、ステップＳ２００により検証プログラムを用いて、更新プログラムＰ２が正常であるか否かが判定される。更新プログラムＰ２が異常である場合（Ｓ２００のＮＯ判定時）、すなわち、更新プログラムの書込処理が正常終了しない場合には、プログラムＰ１が実行されたままの状態で通信アダプタ４０の動作が継続される。
【００６８】
一方で、更新プログラムの書込処理が正常終了した場合（Ｓ２００のＹＥＳ判定時）には、更新プログラムＰ２による再起動処理が実行されて（Ｓ２２０）、更新プログラムＰ２が実行されている状態で通信アダプタ４０が動作する。このとき、パーティションＰＴ０には、プログラムＰ１が格納されたままであり、プログラムＰ１が「旧プログラム」とされる。
【００６９】
この状態で、サーバ２０との通信が検証されて、サーバ通信が正常であれば（Ｓ２３０のＮＯ判定時）、更新プログラムＰ２が実行された状態で通信アダプタ４０の動作が継続される。
【００７０】
一方で、サーバ通信が異常であれば（Ｓ２３０のＹＥＳ判定時）、旧プログラムＰ１による再起動処理が実行されて（Ｓ２４０）、旧プログラムＰ１が実行されている状態で通信アダプタ４０が動作する。この状態で、サーバ２０との通信が再度検証される（Ｓ２５０）。
【００７１】
旧プログラムＰ１が実行された状態でサーバ通信が正常であれば（Ｓ２５０のＮＯ判定時）、旧プログラムＰ１が実行された状態で通信アダプタ４０の動作が継続される。これに対して、旧プログラムＰ１が実行された状態でサーバ通信が異常であれば（Ｓ２５０のＹＥＳ判定時）、更新プログラムＰ２及び旧プログラムＰ１のいずれによってもサーバと正常に通信できないため、更新プログラムＰ２の不良による通信不良ではないと判断して、更新プログラムＰ２による再起動処理が実行される（Ｓ２６０）。以降では、更新プログラムＰ２が実行されたままの状態で通信アダプタ４０の動作が継続される。
【００７２】
このように、本実施の形態に従う通信アダプタでは、管理センター２０（サーバ）から配信による遠隔でのプログラム更新を実現することができるとともに、更新プログラムによってサーバと正常に通信可能であるかを自動的に検証できる。
【００７３】
さらに、サーバとの通信不良が発生した場合に、プログラム更新処理前に実行されていた旧プログラムによって管理センターと正常に通信可能であるかを自動的に検証することによって、サーバとの通信不良がプログラムに起因するものであるか否かを判断できる。特に、旧プログラムによってサーバと正常に通信できるか否かに応じて、旧プログラム及び更新プログラムの一方を適切に選択して通信アダプタ４０を動作させることができる。すなわち、プログラム更新後の通信結果に従って適切にプログラム更新を管理することができる。
【００７４】
なお、通信アダプタ４０は、温水供給装置１００又はリモコン１０５の筐体内に内蔵されていてもよい。この場合には、通信アダプタ４０と温水供給装置１００又はリモコン１０５の制御部（図示せず）とを接続する通信線は筐体の内部配線であってもよい。さらに、温水供給装置１００又はリモコン１０５の制御部と通信アダプタ４０とを同じ基板上に実装することも可能である。この場合には、通信線（図１での２心通信線５０）は、基板上の配線パターンで代替されてもよい。
【００７５】
また、通信アダプタ４０において、プログラム（ファームウェア）を格納するパーティションについて、３以上の複数個を設けることも可能である。このような構成としても、３個以上の複数のパーティションのうちで、現在実行中のプログラムが格納されているパーティションと、更新プログラムを格納するパーティションとを指定することにより、同様の手順でプログラム更新処理を実行することができる。
【００７６】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【００７７】
１０  温水供給システム、２０  管理センター（サーバ）、２１  サーバ装置、２１ａ  クラウドサーバ、２１ｂ  アプリケーションサーバ、２６，４２，４３  通信ユニット、２７，４５  メモリ、３０  スマートフォン、４０  通信アダプタ、４１  制御部、４４  電源回路、４５ａ  ＲＯＭ、４５ｂ  ＲＡＭ、４７  アンテナ、４９  手動スイッチ、５０  ２心通信線、６０  無線ＬＡＮルータ、７０  サポートセンター、７１  端末（サポートセンター）、８０  タブレット端末、１００  温水供給装置、１０５  リモコン、Ａ０〜Ａ１２，Ａｚ  アドレス、ＭＡ１，ＭＡｘ，ＭＡｙ  アドレス領域、Ｐ０〜Ｐ２  プログラム、ＰＴ０，ＰＴ１  パーティション。
【図１】
2019082738.tif 000003
【図２】
2019082738.tif 000004
【図３】
2019082738.tif 000005
【図４】
2019082738.tif 000006
【図５】
2019082738.tif 000007
【図６】
2019082738.tif 000008
【手続補正書】
【提出日】令和2年4月17日(2020.4.17)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００２３
【補正方法】変更
【補正の内容】
【００２３】
メモリ２７は、例えば、ＣＰＵ２５で実行されるプログラムを記憶するためのメモリであるＲＯＭ（Read  Only  Memory）２７ａ、ＣＰＵ２５でプログラムを実行する際の作業領域となったり計算値を記憶したりするためのメモリであるＲＡＭ（Random  Access  Memory）２７ｂ、及び、大型の記憶装置の一例としてのＨＤＤ（Hard  Disk  Drive）２７ｃを含む。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００５８
【補正方法】変更
【補正の内容】
【００５８】
制御部４１は、書込まれた更新プログラムが異常である場合には（Ｓ２００のＮＯ判定時）、ステップＳ２１０により、プログラム更新の再要求処理を行って、ステップＳ１００により起動されたプログラム更新処理を一旦終了する。ステップＳ２１０による再要求処理の内容に応じて、以降のタイミングでステップＳ１００が再びＹＥＳ判定とされることにより、プログラム更新に再トライすることが可能である。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００６３
【補正方法】変更
【補正の内容】
【００６３】
制御部４１は、旧プログラムによる再起動処理後にサーバ２０との通信が不能である場合には（Ｓ２５０のＹＥＳ判定時）、ステップＳ２６０に処理を進める。この場合には、更新プラグラム及び旧プログラムのいずれによってもサーバ２０との通信が不能であるので、更新プログラムの不良ではなく、通信アダプタ４０や無線ＬＡＮルータ６０等の通信機能の不良、又は、電波状況の悪化により、通信そのものが不良である可能性が高い。従って、制御部４１は、ステップＳ２６０では、ステップＳ２２０と同様に、今回のプログラム更新処理で受信した更新プログラムによる再起動処理が実行されて、プログラム更新処理が終了される。
【国際調査報告】
2019082738.tif 000009
2019082738.tif 000010
2019082738.tif 000011