[本発明の実施形態の説明]
最初に、本発明の実施の形態の内容を列記して説明する。以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
(1)本発明のある局面に係るシステムは、電気機器本体と、電気機器本体の外部に設けられ、電気機器本体と通信するリモコンとを含むシステムであって、電気機器本体が保持している電気機器本体の第1ファームウェアをアップデートする更新部をさらに含み、リモコンは、電気機器本体用の第2ファームウェアを記憶する記憶部を有し、更新部は、所定のタイミングで、第1ファームウェアと、第2ファームウェアとを比較し、当該比較結果に基づいて第1ファームウェアを第2ファームウェアでアップデートする。これにより、一般的なネットワークによる通信環境が整備されていない環境においても、電気機器本体のファームウェアを容易に更新することが可能になる。
(2)好ましくは、電気機器本体は、蓄電池を含む。これにより、蓄電システムにおいて、電気機器本体のファームウェアを容易に更新することができる。
(3)より好ましくは、システムは、蓄電池を充電する充電部と、蓄電池の充電状態を判定する判定部とをさらに含み、判定部により、蓄電池の蓄電量が第1しきい値以下であると判定されたことを受けて、充電部により、蓄電池の蓄電量が、第1しきい値よりも大きい第2しきい値になるまで蓄電池を充電した後に、更新部はアップデートを実行する。これにより、蓄電池の残量(蓄電量)が少ない状態でファームウェアのアップデートが開始し、アップデートを完了できない事態が生じることを防止することができる。
(4)さらに好ましくは、更新部は、リモコンに含まれる。これにより、予め電気機器本体のファームウェアを記憶したリモコンを電気機器本体に接続するだけで、容易に電気機器のファームウェアを更新することができる。
(5)好ましくは、更新部は、システムの起動時にアップデートを行なう。これにより、電気機器のファームウェアを更新するために別途の作業を行なう必要がない。
(6)より好ましくは、リモコンは、外部機器と通信する通信部を含み、リモコンは、第2ファームウェアを、通信部を介して外部機器から取得する。これにより、電気機器用のファームウェアをリモコンに容易に記憶することができる。
[本発明の実施形態の詳細]
以下の実施の形態では、同一の部品には同一の参照番号を付してある。それらの名称及び機能も同一である。したがって、それらについての詳細な説明は繰返さない。
(実施の形態)
[全体構成]
図1を参照して、本発明の実施の形態に係る蓄電システム100は、電力系統106に接続された蓄電ユニット102と、蓄電ユニット102と有線にて通信するリモコン104とを備える。電力系統106には、当該電力系統106から電力が供給される一般負荷108が接続されており、蓄電ユニット102には、当該蓄電ユニット102から電力が供給される特定負荷110が接続されている。蓄電ユニット102は、電力系統106から供給される電力を、パワーコンディショナ(以下、PCS(Power Conditioning System)という)を介して交流から直流に変換して内部の蓄電池に蓄える。蓄電ユニット102は例えば屋外に設置され、リモコン104は例えば屋内(室内)に設置される。
蓄電ユニット102は、PCS120及び蓄電池122を備える。PCS120は、制御部124及び通信部128を備える。制御部124は、例えばマイコンであり、CPU(図示せず)及び内部メモリ126を含む。内部メモリ126は、例えば書換可能な不揮発性メモリである。通信部128は、リモコン104と通信する機能を有し、例えば、公知のシリアル通信(例えばRS-485)用ICを備えている。
制御部124は、通信部128を介してリモコン104と通信を行ない、リモコン104から、蓄電ユニット102の運転/停止等の指示及び種々の設定値を受信する。制御部124は、受信した設定値を適宜内部メモリ126に記憶し、それを用いてリモコン104からの指示に応じて蓄電池122による充放電動作を実行する。PCS120は、電力系統106から供給される交流電力を直流に変換して蓄電池122を充電する。蓄電ユニット102は、電力系統106から電力が供給されている間は、入力される電力系統106から電力を特定負荷110に供給する。停電の発生等により電力系統106からの電力が供給されない場合、又は、外部からの操作を受けて、PCS120は、蓄電池122からの直流電力を交流に変換して特定負荷110に供給する。特定負荷110は、例えば停電時にも電力を供給する必要がある機器である。
リモコン104は、制御部130、通信部134、表示部136及び外部メモリ138を備える。制御部130は、例えばマイコンであり、CPU(図示せず)及び内部メモリ132を含む。内部メモリ132及び外部メモリ138は、例えば書換可能な不揮発性メモリである。通信部134は、蓄電ユニット102と通信する機能を有し、例えば、公知のシリアル通信(例えばRS-485)用ICを備えている。リモコン104は、蓄電ユニット102と通信し、蓄電ユニット102から受信した情報を適宜内部メモリ132又は外部メモリ138に記憶する。リモコン104は、操作部(図示せず)を備え、ユーザの操作を受けて、蓄電ユニット102の動作に関する設定を受付ける。受付けた設定は、通信部134を介して蓄電ユニット102に送信され、内部メモリ126に記憶され、上記したように充放電動作等に使用される。表示部136は、液晶パネル等の表示パネルを含む表示装置である。なお、リモコン104の操作部として、例えば、表示部136の上に配置されたタッチパネルが使用される。
制御部124が、蓄電ユニット102の機能を実現するために実行すべきプログラムであるファームウェア(以下、FWともいう)は、内部メモリ126に記憶されている。内部メモリ126のデータ記憶領域は、システム領域とワーク領域とに区分して使用され、ファームウェアはシステム領域に記憶されている。蓄電ユニット102の電源がONされると、制御部124は、内部メモリ126のシステム領域の所定アドレスからファームウェアを読出し、内部メモリ126のワーク領域を使用して実行し、蓄電ユニット102の各機能を実現する。
制御部130が、リモコン104の機能を実現するために実行すべきプログラムであるFWは、内部メモリ132に記憶されている。内部メモリ132のデータ記憶領域は、システム領域とワーク領域とに区分して使用され、FWはシステム領域に記憶されている。蓄電ユニット102の電源がONされると、リモコン104に蓄電ユニット102から電力が供給され、制御部130は、内部メモリ132のシステム領域の所定アドレスからFWを読出し、内部メモリ132のワーク領域を使用して実行し、リモコン104の各機能を実現する。
外部メモリ138は、蓄電ユニット102用のFWを記憶することができる。FWは、FW自体のバージョンを表す情報(以下、バージョン情報という)を含む。
[ファームウェアの更新]
蓄電ユニット102のFWの更新に関して説明する。ここでは、図1の蓄電システム100は既設のシステムであり、内部メモリ126には所定バージョンのFWが記憶されており、制御部124がそのFWを実行することにより蓄電ユニット102の機能が実現されているとする。この状況で、蓄電システム100が設置されている、インターネット等の通信環境が整備されていない現場において、蓄電ユニット102のFWを新しいFWに変更するとする。
蓄電ユニット102のFWの更新は、リモコンを介して実行される。したがって、予めリモコンに、蓄電ユニット102用の新しいFWを記憶することが必要となる。そのために、リモコン104と同じ種類のリモコンを別途用意し、それに蓄電ユニット102用の新しいバージョンのFWを記憶する。図2を参照して、新しいリモコン104aの通信部134aをコンピュータ200の通信部と接続し、コンピュータ200の記憶部(例えばHDD)に記憶されている蓄電ユニット102用の新しいFWを、通信部134aを介して外部メモリ138aに記憶する。リモコン104aとコンピュータ200との通信は、例えばRS-485により実行される。これにより、現在蓄電ユニット102の内部メモリ126に記憶されているFWよりも新しいバージョンのFWを、リモコン104aの外部メモリ138aに、容易に記憶することができる。
蓄電システム100が設置された現場において、蓄電ユニット102の電源をOFFし、例えば、管理者(サービスマン、システムの管理者等)がリモコン104をリモコン104aと交換する。図3は、図1の蓄電システム100において、リモコン104がリモコン104aに交換された状態を示す。その構成は、図1と同じであるので、重複説明を繰返さない。その後、蓄電ユニット102の電源をONすると、図4~6に示すように、自動的に蓄電ユニット102のFWが更新される。
[リモコンの動作]
図4のフローチャートはリモコン104aにより実行される。具体的には、蓄電ユニット102からリモコン104aに電力が供給され、制御部130aが、内部メモリ132aから所定のプログラムを読出して実行する。
図4を参照して、ステップ400において、制御部130aは、通信部134a及び通信部128を介して、蓄電ユニット102の制御部124と通信し、蓄電ユニット102から現在のFWのバージョン情報を取得する。その後、制御はステップ402に移行する。例えば、制御部130aから制御部124に所定の要求コード(以下、バージョン要求コードという)を送信する。バージョン要求コードを受信した制御部124は、後述するように、内部メモリ126のFWに含まれるそのバージョン情報を読出し、制御部130aに送信する。これにより、制御部130aは、蓄電ユニット102の現在のFWのバージョン情報を取得することができる。
ステップ402において、制御部130aは、蓄電ユニット102のFWを更新するか否かを判定する。具体的には、制御部130aは外部メモリ138aから蓄電ユニット102用のFWのバージョン情報を読出し、ステップ400で取得したバージョン情報と比較して、外部メモリ138aから読出したバージョン情報がより新しいバージョンを表す情報であるか否かを判定する。より新しいバージョンを表す情報であると判定された場合、更新すると判定され、制御はステップ404に移行する。そうでなければ、本プログラムは終了する。
ステップ404において、制御部130aは、PCS120から蓄電ユニット102内部の蓄電池の蓄電量(以下、SOC(State Of Charge)という)を取得する。その後、制御はステップ406に移行する。具体的には、制御部130aは、制御部124に、SOCの送信を要求する所定の要求コード(以下、SOC要求コードという)を送信する。後述するように、制御部124はSOC要求コードを受信すると、現在の蓄電池122のSOCを送信する。これにより、制御部130aは、蓄電ユニット102の現在のSOCを取得することができる。
ステップ406において、制御部130aは、ステップ404で取得したSOCが5%より大きいか否かを判定する。大きいと判定された場合、制御はステップ408に移行する。そうでなければ、制御はステップ410に移行する。
ステップ408において、制御部130aは、外部メモリ138aから蓄電ユニット102用のFWを読出し、蓄電ユニット102に送信する。その後、本プログラムは終了する。これにより、蓄電ユニット102用の新たなバージョンのFWが、蓄電ユニット102に送信される。
一方、ステップ406での判定結果がNO(SOC≦5%)であれば、ステップ410において、制御部130aは充電処理を実行する。具体的には、制御部130aは、図5のフローチャートの処理を実行する。
図5を参照して、ステップ420において、制御部130aは、蓄電ユニット102が自立運転中であるか否かを判定する。自立運転中であると判定された場合、制御はステップ422に移行する。そうでなければ、制御はステップ424に移行する。自立運転は、電力系統106の停電の発生、又はリモコンの操作部が操作されることにより実行される。自立運転中には、蓄電ユニット102の蓄電池122が放電して特定負荷110に電力を供給する。例えば、電力系統106の停電時には、自立運転開始は、制御部124からリモコンに通知される。リモコンがユーザ等により操作されて、自立運転が開始する場合には、制御部124からリモコンに通知される必要はない。
ステップ422において、制御部130aは、表示部136aに、系統ブレーカをONすることを促すメッセージを表示する。メッセージは、予め外部メモリ138aに記憶しておけばよい。これにより、メッセージを見た管理者等により系統ブレーカがONされると、蓄電ユニット102は充電動作を行なうことが可能になる。なお、ステップ422は繰返され得るので、制御部130aは、繰返し外部メモリ138aからメッセージの表示を行なってもよいが、既にメッセージを表示している場合には、メッセージの表示を維持するだけでもよい。
一方、ステップ420での判定がNOであれば、ステップ424において、制御部130aは、PCS120に充電を指示する。その後、制御はステップ426に移行する。なお、このとき、既にステップ422が実行されメッセージが表示されていれば、制御部130aは、そのメッセージを消去した後に、ステップ424を実行する。例えば、制御部130aは、制御部124に充電を指示する所定のコード(以下、充電指示コードという)を送信する。後述するように、充電指示コードを受信した制御部124は、蓄電池122の充電を開始する。
ステップ426において、制御部130aは、ステップ404と同様に、SOC要求コードを送信して、PCS120から蓄電池122のSOCを取得する。その後、制御はステップ428に移行する。
ステップ428において、制御部130aは、ステップ426で取得したSOCが10%以上であるか否かを判定する。10%以上であると判定された場合、制御は図4のフローチャートに戻り、ステップ408に移行する。そうでなければ、制御はステップ426に戻る。
これにより、蓄電池122のSOCが5%以下であれば、SOCが10%以上になるまで、蓄電ユニット102に蓄電池122を充電させることができる。したがって、制御部130aから制御部124にFWが送信され、内部メモリ126に書き込まれる処理が、蓄電池122の蓄電量がなくなってしまうことにより、途中で中断されることを防止することができ、正常に蓄電ユニット102用のFWを更新することができる。
[蓄電ユニットの動作]
図6のフローチャートは蓄電ユニット102により実行される。具体的には、蓄電ユニット102の電源がオンされると、制御部124は、内部メモリ126から所定のプログラムを読出して実行する。蓄電ユニット102が起動するとき、FWが更新されている可能性があるので、FWが更新されているか否かを所定のフラグ(以下、FW更新フラグという)により表わすとする。FW更新フラグには、例えば内部メモリ126の所定の領域が使用される。また、ここで説明する蓄電ユニット102の動作は、FWのバージョンに依らず、常に実行される機能(例えば、FWに常に含まれているプログラム)である。なお、ここでは、図3に示したように、蓄電ユニット102にはリモコン104aが接続されているとする。
図6を参照して、ステップ500において、制御部124は、リモコン104aからデータを受信したか否かを判定する。受信したと判定された場合、制御はステップ502に移行する。そうでなければ、ステップ500が繰返される。
ステップ502において、制御部124は、ステップ500で受信したデータが、データ送信の要求であるか否かを判定する。データ送信の要求であると判定された場合、制御はステップ504に移行する。そうでなければ、制御はステップ506に移行する。
ステップ504において、制御部124は、ステップ500で受信したデータにより特定されるデータをリモコン104に送信する。その後、制御はステップ516に移行する。例えば、ステップ500で受信したデータが、バージョン要求コード(図4のステップ400参照)であれば、制御部124は、内部メモリ126からFWのバージョン情報を読出し、リモコン104aに送信する。ステップ500で受信したデータが、SOC要求コード(図4のステップ404参照)であれば、制御部124は、蓄電池122のSOCを送信する。
ステップ506において、制御部124は、ステップ500で受信したデータが、充電指示であるか否かを判定する。具体的には、制御部124は、充電指示コード(図5のステップ424参照)を受信したか否かを判定する。充電指示コードであると判定された場合、制御はステップ508に移行する。そうでなければ、制御はステップ510に移行する。
ステップ508において、制御部124は、蓄電池122の充電を開始する。その後、制御はステップ516に移行する。
ステップ510において、制御部124は、ステップ500で受信したデータがFWであるか否かを判定する。FWであると判定された場合、制御はステップ512に移行する。そうでなければ、制御はステップ516に移行する。
ステップ512において、制御部124は、ステップ500で受信したFWを内部メモリ126に記憶し、FW更新フラグをONにする。その後、制御はステップ514に移行する。これにより、次回、蓄電ユニット102が起動するときには、制御部124は更新後のFWを読出す。更新後のFWを読出す方法は任意である。例えば、内部メモリ126において、新しいFWを記録するエリアの先頭アドレスと、現状のFWを記憶するエリアの先頭アドレスとを予め定めておけばよい。FW更新フラグがONのときには、制御部124が新しいFWを記録する先頭アドレスからFWを読出した後、そのFWを現状のFWが記憶されているエリアに記憶(上書き)した後、FW更新フラグをOFFにする。FW更新フラグがOFFであれば、制御部124は、現状のFWを記憶するエリアからFWを読出す。さらに新しいFWを内部メモリ126に記憶する場合には、新しいFWを記録するエリアに上書きすればよい。
ステップ514において、制御部124は、再起動をセットする。例えば、制御部124は、所定のフラグ(以下、再起動フラグという)をONにする。再起動フラグには、例えば内部メモリ126の所定の領域が使用される。その後、制御はステップ516に移行する。
ステップ516において、制御部124は、本プログラムを終了する指示を受けたか否かを判定する。終了の指示は、ユーザによりリモコン104aが操作されて、所定コードを受信した場合、又は、再起動フラグがONにされることによりなされる。終了が指示されていれば、本プログラムは終了する(再起動フラグがONになっていれば、再起動する)。そうでなければ、制御はステップ500に戻る。
これにより、蓄電ユニット102は、リモコン104aからの要求(指示)に応じて、要求されたデータ(FWのバージョン情報又はSOC)を送信し、蓄電池122の充電を開始することができる。したがって、リモコン104aは、上記した機能、即ち、蓄電ユニット102が現在使用しているFWのバージョンと比較して、新しいバージョンを記憶していれば、それを蓄電ユニット102に送信する機能を実現することができる。また、蓄電ユニット102の蓄電池122の蓄電量が十分でなければ(SOC≦5%)、強制的に蓄電ユニット102に充電を実行させるので、制御部130aから制御部124にFWを送信して内部メモリ126に書き込む処理(蓄電ユニット102用のFWの更新)を正常に完了することができる。
以上のように、リモコン及び蓄電ユニット102が図4~図6に示した処理を実行することより、蓄電システム100においてリモコンを交換することにより、蓄電ユニット102に接続されたリモコンに記憶されているFWのバージョンが新しければ、その新しいFWを蓄電ユニット102に送信して、蓄電ユニット102を新しいバージョンのファームウェアで動作させることができる。したがって、蓄電システム100が、ネットワーク等を介して外部と通信することができない環境に設置されていても、設置業者等により、蓄電ユニット102のFWを容易に更新することができる。さらに、リモコンを介して蓄電ユニット102のFWを更新する構成とすることにより、屋内(室内)にて蓄電ユニット102のFWの更新作業を行なうことができる。蓄電ユニット102が屋外の作業しにくい場所に設置されている場合でも、屋内(室内)にて作業を行なうことができるため、FWを更新する際の作業効率を大幅に向上できる。
上記のように、リモコンに蓄電ユニットの新しいFWを記憶しておくことにより、リモコンを蓄電ユニットに接続するだけで、容易にファームウェアを更新することができる。
上記のように、蓄電システムの起動時に、自動的にFWの更新を行なうことにより、FWを更新するために別途の作業を行なう必要がない。
(変形例)
上記では、リモコンが主体となって、蓄電ユニット102のFWを更新する場合を説明したが、これに限定されない。例えば、蓄電ユニット102が主体となって、蓄電ユニット102のFWを更新してもよい。その場合には、例えば、蓄電ユニット102が図7及び図8に示す処理を実行し、リモコンが図9に示す処理を実行すればよい。ここでは、上記と同様に、図3に示したようにリモコン104aが蓄電ユニット102に接続されているとする。また、上記と同様に、蓄電ユニット102が起動するとき、FWが更新されている可能性があるので、FWが更新されているか否かをFW更新フラグにより表わす。
[蓄電ユニットの動作]
図7のフローチャートは蓄電ユニット102により実行される。具体的には、蓄電ユニット102の電源がONされると、制御部124が、内部メモリ126から所定のプログラムを読出して実行する。
図7を参照して、ステップ600において、制御部124は、通信部128及び通信部134aを介して、リモコン104aの制御部130aと通信し、リモコン104aから外部メモリ138aに記憶されているFWのバージョン情報を取得する。その後、制御はステップ602に移行する。例えば、制御部124から制御部130aにバージョン要求コードを送信する。バージョン要求コードを受信した制御部130aは、後述するように、外部メモリ138aに記憶されているFWに含まれるそのバージョン情報を読出し、制御部124に送信する。これにより、制御部124は、リモコン104aに記憶されているFWのバージョン情報を取得することができる。
ステップ602において、制御部124は、蓄電ユニット102のFWを更新するか否かを判定する。具体的には、制御部124は内部メモリ126からFWのバージョン情報を読出し、ステップ600で取得したバージョン情報と比較して、制御部130aから取得したバージョン情報がより新しいバージョンを表す情報であるか否かを判定する。より新しいバージョンを表す情報であると判定された場合、更新すると判定され、制御はステップ604に移行する。そうでなければ、本プログラムは終了し、蓄電ユニット102は現状のFWを使用する。
ステップ604において、制御部124は、蓄電池122のSOCが5%より大きいか否かを判定する。大きいと判定された場合、制御はステップ606に移行する。そうでなければ、制御はステップ608に移行する。
ステップ606において、制御部124は、リモコン104aにFWの送信を要求してFWを取得し、内部メモリ126に記憶し、再起動フラグをONにする。具体的には、制御部124は、リモコン104aに所定の要求コード(以下、FW要求コードという)を送信する。これにより、後述するように、リモコン104aから蓄電ユニット102用のFWが送信され、制御部124はこれを受信することができる。その後、本プログラムは終了する(再起動フラグがONになっていれば、再起動する)。
一方、ステップ604での判定結果がNO(SOC≦5%)であれば、ステップ608において、制御部124は充電処理を実行する。具体的には、制御部124は、図8のフローチャートの処理を実行する。
図8を参照して、ステップ620において、制御部124は、蓄電ユニット102が自立運転中であるか否かを判定する。自立運転中であると判定された場合、制御はステップ622に移行する。そうでなければ、制御はステップ624に移行する。
ステップ622において、制御部124は、リモコン104aに、系統ブレーカをONすることを促すメッセージを表示することを指示する。メッセージは、予め外部メモリ138aに記憶しておけばよい。具体的には、制御部124は、リモコン104aに所定の指示コード(以下、表示指示コードという)を送信する。後述するように、制御部130aは、表示指示コードを受信すると、外部メモリ138aからメッセージを読出し、表示部136aに表示する。メッセージを見た管理者等により系統ブレーカがONされると、蓄電ユニット102は充電動作を行なうことが可能になる。
一方、ステップ620での判定結果がNOであれば、ステップ624において、制御部124は、蓄電池122の充電を開始する。その後、制御はステップ626に移行する。
ステップ626において、制御部124は、ステップ622が実行されてリモコンに表示指示コードを送信済か否かを判定する。送信済と判定された場合、制御はステップ628に移行する。そうでなければ、制御はステップ630に移行する。
ステップ628において、制御部124は、ステップ622でリモコン104aに表示させたメッセージを消去する指示をリモコン104aに送信する。その後、制御はステップ630に移行する。具体的には、制御部124は、リモコン104aに所定の指示コード(以下、消去指示コードという)を送信する。後述するように、制御部130aは、消去指示コードを受信すると、表示部136aに表示しているメッセージを消去する。
ステップ630において、制御部124は、蓄電池122のSOCが10%以上であるか否かを判定する。10%以上であると判定された場合、制御は図7のフローチャートに戻り、ステップ606に移行する。そうでなければ、ステップ630が繰返される。
これにより、蓄電池122のSOCが5%以下であれば、SOCが10%以上になるまで、蓄電ユニット102は蓄電池122を充電する。したがって、制御部130aから制御部124にFWを送信し、内部メモリ126に書き込む処理が、蓄電池122の蓄電量がなくなってしまうことにより、途中で中断されることを防止することができ、正常に蓄電ユニット102用のFWを更新することができる。そして、蓄電ユニット102は、FWを更新後、再起動する。
[リモコンの動作]
図9のフローチャートは制御部130aにより実行される。具体的には、蓄電ユニット102の電源がオンされ、蓄電ユニット102からリモコン104aに電力が供給されると、制御部130aは内部メモリ132aから所定のプログラムを読出して実行する。
図9を参照して、ステップ700において、制御部130aは、蓄電ユニット102からデータを受信したか否かを判定する。受信したと判定された場合、制御はステップ702に移行する。そうでなければ、ステップ700が繰返される。
ステップ702において、制御部130aは、ステップ700で受信したデータが、データ送信の要求であるか否かを判定する。データ送信の要求であると判定された場合、制御はステップ704に移行する。そうでなければ、制御はステップ712に移行する。
ステップ704において、制御部130aは、ステップ700で受信したデータが、FWのバージョン情報の送信要求であるか否かを判定する。具体的には、制御部130aは、バージョン要求コード(図7のステップ600参照)であるか否かを判定する。バージョン要求コードであると判定された場合、制御はステップ706に移行する。そうでなければ、制御はステップ708に移行する。
ステップ706において、制御部130aは、外部メモリ138aに記憶されているFWのバージョン情報を読出し、蓄電ユニット102に送信する。その後、制御はステップ720に移行する。
ステップ708において、制御部130aは、ステップ700で受信したデータが、FWの送信要求であるか否かを判定する。具体的には、制御部130aは、FW要求コード(図7のステップ606参照)であるか否かを判定する。FW要求コードであると判定された場合、制御はステップ710に移行する。そうでなければ、制御はステップ712に移行する。
ステップ710において、制御部130aは、外部メモリ138aに記憶されているFWを読出し、蓄電ユニット102に送信する。その後、制御はステップ720に移行する。
ステップ712において、制御部130aは、ステップ700で受信したデータが、メッセージの表示指示であるか否かを判定する。具体的には、制御部130aは、表示指示コード(図8のステップ622参照)を受信したか否かを判定する。表示指示コードであると判定された場合、制御はステップ714に移行する。そうでなければ、制御はステップ716に移行する。
ステップ714において、制御部130aは、系統ブレーカをONすることを促すメッセージを外部メモリ138aから読出し、表示部136aに表示する。その後、制御はステップ720に移行する。
ステップ716において、制御部130aは、ステップ700で受信したデータが、メッセージの消去指示であるか否かを判定する。具体的には、制御部130aは、消去指示コード(図8のステップ628参照)を受信したか否かを判定する。消去指示コードであると判定された場合、制御はステップ718に移行する。そうでなければ、制御はステップ720に移行する。
ステップ718において、制御部130aは、ステップ714で表示部136aに表示したメッセージを消去する。その後、制御はステップ720に移行する。
ステップ720において、制御部130aは、本プログラムを終了する指示を受けたか否かを判定する。終了の指示は、ユーザによりリモコン104aが操作されることによりなされる。終了が指示されていれば、本プログラムは終了する。そうでなければ、制御はステップ700に戻る。
これにより、リモコン104aは、蓄電ユニット102からの要求(指示)に応じて、要求されたデータ(FWのバージョン情報又はFW)を送信する。したがって、蓄電ユニット102は、上記した機能、即ち、蓄電ユニット102が現在使用しているFWのバージョンと比較して、制御部130aにより新しいバージョンが記憶されていれば、それを蓄電ユニット102に送信することを制御部130aに要求して、FWを更新することができる。また、蓄電ユニット102の蓄電池122の蓄電量が十分でなければ(SOC≦5%)、蓄電池122を充電するので、制御部130aから蓄電ユニット102に送信されたFWを受信して内部メモリ126に書き込む処理(蓄電ユニット102用のFWの更新)を正常に完了することができる。
以上のように、蓄電ユニット102及びリモコンが図7~図9に示した処理を実行することより、蓄電システム100においてリモコンを交換することにより、蓄電ユニット102に接続されたリモコンに記憶されているFWのバージョンが新しければ、その新しいFWを蓄電ユニット102に送信して、蓄電ユニット102を新しいバージョンのファームウェアで動作させることができる。したがって、蓄電システム100が、ネットワーク等を介して外部と通信することができない環境に設置されていても、設置業者等により、蓄電ユニット102のFWを容易に更新することができる。
上記では、SOCの判定のしきい値として5%及び10%を使用する場合を説明したが、SOCの判定のしきい値は、これらの値に限定されず、任意の値を使用することができる。
上記では、現在の蓄電池122の蓄電量(SOC)に応じて、蓄電量が十分でなければ、蓄電池122を充電する場合を説明したが、これに限定されない。蓄電池122の蓄電量が十分でなければ、蓄電ユニットのFWの更新を行なわないようにしてもよい。また、現在の蓄電池122の蓄電量の判定を行なわなくてもよい。蓄電池122の蓄電量が十分でなく、FWの更新を実行しない場合、又は、FWの更新に失敗した場合には、蓄電池122の蓄電量が十分になったときに、FWの更新を実行すればよい。
上記では、図2を参照して、リモコン104aがコンピュータ200とシリアル通信により、FWを取得する場合を説明したが、これに限定されない。リモコン104aの通信部134aが、インターネット等のネットワークへの通信機能を有していれば、図10に示すように、リモコン104aは、蓄電ユニット102用のFWを記憶しているサーバコンピュータ202にネットワークを介してアクセスして、蓄電ユニット102のFWを取得(ダウンロード)してもよい。
上記では、リモコンを交換すること(図1の構成から図3の構成への変更参照)により、蓄電ユニットのFWをアップデートする場合を説明したが、これに限定されない。図2と同様に、図1に示したリモコン104の通信部134をコンピュータ200の通信部と、有線又は無線通信により接続し、コンピュータ200の記憶部に記憶されている蓄電ユニット102用の新しいFWを、通信部134を介して外部メモリ138に記憶することができる。その後、リモコン104は、上記のリモコン104aと同様の動作を行なって、外部メモリ138に記憶したFWを蓄電ユニット102に送信し、蓄電ユニット102のFWをアップデートすることができる。さらに、図1に示したリモコン104の通信部134が、インターネット等のネットワークへの通信機能を有していれば、図10に示したように、リモコン104は、蓄電ユニット102用のFWを記憶しているサーバコンピュータ202にネットワークを介してアクセスして、蓄電ユニット102のFWを取得(ダウンロード)してもよい。なお、リモコン104の通信部134が、WiFi等の無線通信機能を有していれば、リモコン104と蓄電ユニット102との間の有線通信ラインを接続したまま、リモコン104は、コンピュータ200又はサーバコンピュータ202から蓄電ユニット102用のFWを取得することができる。
上記では、蓄電ユニットとリモコンとの通信がシリアル通信である場合を説明したが、これに限定されない。所定ビット幅のパラレス通信であってもよい。また、LANにより蓄電ユニットとリモコンとが接続されていてもよい。また、蓄電ユニットとリモコンとの通信は、有線通信に限定されず、無線通信であってもよい。
なお、FWの更新処理を実行中、ノイズにより正常に通信できない等、種々の原因でFWの更新に失敗することが考えられる。その場合には、所定の回数更新処理を繰返した後、エラーを表示してFWの更新を停止してもよい。例えば、SOCが5%以下である場合、エラーが発生すれば、エラー解除処理を10回実行し、エラー解除できない場合には、FWの更新処理をエラー終了させる。
また、蓄電ユニットが低温環境にある場合には、蓄電池の充電速度が低いので、充電の指令値を、例えば100Whから段階的に引き上げるように充電制御することが好ましい。また、指令値と瞬時値が100Wh以上離れた場合には、それ以上指令値を大きくしないように制御することも好ましい。
上記では、蓄電ユニット102が、メモリとして、制御部124の内部メモリ126のみを有する場合を説明したが、これに限定されない。蓄電ユニット102は、制御部124の内部メモリ126に代えて、又は、内部メモリ126に加えて、外部メモリを有していてもよい。制御部124が、FWを記憶できるだけの容量の内部メモリ126を有していなければ、上記した処理において、内部メモリ126の代わりに外部メモリを使用すればよい。リモコンに関しても、同様である。
以上、実施の形態を説明することにより本発明を説明したが、上記した実施の形態は例示であって、本発明は上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。