(57)【特許請求の範囲】
【請求項１】
バス型トポロジを構成する通信網に接続される電池モジュールであって、
前記通信網を介して他の前記電池モジュールと通信可能であり、
当該電池モジュールが使用する通信識別子の候補である候補識別子を示す識別子情報を、前記通信網を介して他の全ての前記電池モジュールへ送信する送信手段と、
前記送信した識別子情報について通信調停を行う通信調停手段と、
前記通信調停に勝った場合に、前記送信した識別子情報に示される前記候補識別子を当該電池モジュールが使用する通信識別子として決定する決定手段と、
当該電池モジュールの通信識別子が記憶される記憶手段とを有し、
前記送信手段は、前記通信調停に負けた場合に前記識別子情報をさらに送信し、
前記送信手段は、前記記憶手段に当該電池モジュールの通信識別子が記憶されていない場合に、前記識別子情報の送信を行い、
前記電池モジュールは、
前記送信手段によって前記識別子情報が送信される前に前記記憶手段に前記通信識別子が記憶されている場合に、所定の通知を行う通知手段をさらに有する、電池モジュール。
【請求項２】
前記通信網は CAN（Controller Access Network）通信網である、請求項１に記載の電池モジュール。
【請求項３】
前記送信手段は、前記識別子情報の送信する前の所定時間、他の前記電池モジュールから送信されるデータを受信し、前記データを用いてそのデータを送信した他の前記電池モジュールが利用する通信識別子を特定し、前記特定した通信識別子以外の値を前記候補識別子にする、請求項１又は２に記載の電池モジュール。
【請求項４】
前記送信手段は、前記通信調停に負けた場合、前記識別子情報が示す候補識別子を変更してから前記識別子情報を送信する、請求項１乃至３いずれか一項に記載の電池モジュール。
【請求項５】
バス型トポロジを構成する通信網に接続される電池モジュールによって実行させる制御方法であって、
前記電池モジュールは、前記通信網を介して他の前記電池モジュールと通信可能であり、
前記電池モジュールが使用する通信識別子の候補である候補識別子を示す識別子情報を、前記通信網を介して他の全ての前記電池モジュールへ送信する送信ステップと、
前記送信した識別子情報について通信調停を行う通信調停ステップと、
前記通信調停に勝った場合に、前記送信した識別子情報に示される前記候補識別子を前記電池モジュールが使用する通信識別子として決定する決定ステップと、を有し、
前記送信ステップにおいて、前記通信調停に負けた場合に前記識別子情報をさらに送信し、
前記電池モジュールは、前記電池モジュールの通信識別子が記憶される記憶手段を有し、
前記送信ステップにおいて、前記記憶手段に前記電池モジュールの通信識別子が記憶されていない場合に、前記識別子情報の送信を行い、
前記送信ステップにおいて前記識別子情報が送信される前に前記記憶手段に前記通信識別子が記憶されている場合に、所定の通知を行う通知ステップを有する、制御方法。
【請求項６】
前記通信網は CAN（Controller Access Network）通信網である、請求項５に記載の制御方法。
【請求項７】
前記送信ステップにおいて、前記識別子情報の送信する前の所定時間、他の前記電池モジュールから送信されるデータを受信し、前記データを用いてそのデータを送信した他の前記電池モジュールが利用する通信識別子を特定し、前記特定した通信識別子以外の値を前記候補識別子にする、請求項５又は６に記載の制御方法。
【請求項８】
前記送信ステップにおいて、前記通信調停に負けた場合、前記識別子情報が示す候補識別子を変更してから前記識別子情報を送信する、請求項５乃至７いずれか一項に記載の制御方法。
【請求項９】
請求項５乃至８いずれか一項に記載の制御方法が有する各ステップをコンピュータに実行させるプログラム。
【請求項１０】
バス型トポロジを構成する通信網によって複数の電池モジュールが互いに通信可能に接続されており、
前記電池モジュールは、
当該電池モジュールが使用する通信識別子の候補である候補識別子を示す識別子情報を、前記通信網を介して他の全ての前記電池モジュールへ送信する送信手段と、
前記送信した識別子情報について通信調停を行う通信調停手段と、
前記通信調停に勝った場合に、前記送信した識別子情報に示される前記候補識別子を当該電池モジュールが使用する通信識別子として決定する決定手段と、を有し、
前記送信手段は、前記通信調停に負けた場合に前記識別子情報をさらに送信し、
前記電池モジュールの通信識別子が記憶される記憶手段を有し、
前記送信手段は、前記記憶手段に前記電池モジュールの通信識別子が記憶されていない場合に、前記識別子情報の送信を行い、
前記電池モジュールは、前記送信手段によって前記識別子情報が送信される前に前記記憶手段に前記通信識別子が記憶されている場合に、所定の通知を行う通知手段を有する、情報処理システム。
【請求項１１】
前記通信網は CAN（Controller Access Network）通信網である、請求項１０に記載の情報処理システム。
【請求項１２】
前記送信手段は、前記識別子情報の送信する前の所定時間、他の前記電池モジュールから送信されるデータを受信し、前記データを用いてそのデータを送信した他の前記電池モジュールが利用する通信識別子を特定し、前記特定した通信識別子以外の値を前記候補識別子にする、請求項１０又は１１に記載の情報処理システム。
【請求項１３】
前記送信手段は、前記通信調停に負けた場合、前記識別子情報が示す候補識別子を変更してから前記識別子情報を送信する、請求項１０乃至１２いずれか一項に記載の情報処理システム。
【請求項１４】
バス型トポロジを構成する通信網に接続される電池モジュールであって、
前記通信網を介して他の前記電池モジュールと通信可能であり、
当該電池モジュールが使用する通信識別子の候補である第１候補識別子を示す第１識別子情報を、前記通信網を介して他の全ての前記電池モジュールへ送信する送信手段と、
前記送信した第１識別子情報について通信調停を行う通信調停手段と、
前記通信調停に勝った場合に、前記送信した第１識別子情報に示される前記第１候補識別子を当該電池モジュールが使用する通信識別子として決定する決定手段と、を有し、
前記通信調停は、前記送信した第１識別子情報と、前記他の全ての電池モジュールのいずれかである他の電池モジュールから送信された識別子情報以外のデータとの通信調停である第１の通信調停、又は、前記送信した第１識別子情報と、前記他の電池モジュールから送信され、当該他の電池モジュールが使用する通信識別子の候補である第２候補識別子を示す第２識別子情報との通信調停である第２の通信調停であり、
前記送信手段は、前記第１の通信調停に負けた場合、又は、前記送信された第１識別子情報とは異なる候補識別子を示す前記第２識別子情報との前記第２の通信調停に負けた場合に、前記第１候補識別子と同じ候補識別子を示す第１識別子情報をさらに送信する、電池モジュール。
【請求項１５】
前記通信網は CAN（Controller Access Network）通信網である、請求項１４に記載の電池モジュール。
【請求項１６】
前記送信手段は、前記送信された第１識別子情報と同じ候補識別子を示す前記第２識別子情報との前記第２の通信調停に負けた場合、前記識別子情報が示す候補識別子を変更してから前記識別子情報を送信する、請求項１４又は１５に記載の電池モジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は電池モジュール、制御方法、プログラム、及び情報処理システムに関する。
【背景技術】
【０００２】
蓄電池が様々な場面で利用されている。例えば蓄電池は、太陽光などの再生可能エネルギーを利用した発電によって得られた電力を蓄えるために利用される。【０００３】
蓄電池には１つ以上の電池モジュールが含まれる。電池モジュールは、リチウムイオン電池などの二次電池を１つ以上まとめたものである。さらに電池モジュールには、他の電池モジュールと制御情報などのやりとりをするためのコントローラが内包されている。このコントローラは、BMU（Battery Management Unit）とも呼ばれる。電池モジュール間における通信は、例えば CAN（Controller Area Network）などの通信網を介して行われる。【０００４】
通信網を介して制御情報などをやりとりする場合、各電池モジュールを識別するための識別子が必要となる。電池モジュールに識別子を設定する方法の１つとして、電池モジュールの管理者などが手動で識別子を設定するという方法がある。例えば、電池モジュールに、ディップスイッチなどの識別子設定用の回路を設けておく。そして、管理者が電池モジュールのディップスイッチなどを所望の設定に変更することで、所望の識別子を設定する。【０００５】
特許文献１から特許文献３には、電池モジュールの識別子を自動で設定する技術が開示されている。特許文献１の発明では電池モジュールが直列につながれている。そしてこの発明では、各電池モジュールに対してその位置に応じた識別子が割り当てられる。例えば先頭の電池モジュールには「１」という識別子が割り当てられる。特許文献２及び３では、マスタとなる電池モジュールによって他の電池モジュールの識別子が決定され、他の電池モジュールに識別子が割り当てられる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−２４４７９４号公報
【特許文献２】特開２０１３−１０９６２８号公報
【特許文献３】特表２０１５−５０７４５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
１つのネットワーク内に同じ識別子を持つ電池モジュールが複数存在すると、通信の衝突が発生し、正常な通信が行えなくなる。本発明者は、電池モジュール間で重複が生じないように各電池モジュールが自律的に識別子を決定する新たな方法を見出した。本発明は、電池モジュール間で重複が生じないように各電池モジュールが自律的に識別子を決定する新たな技術を提供することをその目的の一つとする。
【課題を解決するための手段】
【０００８】
本発明の電池モジュールは、バス型トポロジを構成する通信網に接続される電池モジュールであり、前記通信網を介して他の前記電池モジュールと通信可能である。
本発明の第１の観点に係る電池モジュールは、１）当該電池モジュールが使用する通信識別子の候補である候補識別子を示す識別子情報を、前記通信網を介して他の全ての前記電池モジュールへ送信する送信手段と、２）前記送信した識別子情報について通信調停を行う通信調停手段と、３）前記通信調停に勝った場合に、前記送信した識別子情報に示される前記候補識別子を当該電池モジュールが使用する通信識別子として決定する決定手段と、４）当該電池モジュールの通信識別子が記憶される記憶手段とを有する。
前記送信手段は、前記通信調停に負けた場合に前記識別子情報をさらに送信し、
前記送信手段は、前記記憶手段に当該電池モジュールの通信識別子が記憶されていない場合に、前記識別子情報の送信を行い、
前記電池モジュールは、
前記送信手段によって前記識別子情報が送信される前に前記記憶手段に前記通信識別子が記憶されている場合に、所定の通知を行う通知手段をさらに有する。
本発明の第２の観点に係る電池モジュールは、１）当該電池モジュールが使用する通信識別子の候補である第１候補識別子を示す第１識別子情報を、前記通信網を介して他の全ての前記電池モジュールへ送信する送信手段と、２）前記送信した第１識別子情報について通信調停を行う通信調停手段と、３）前記通信調停に勝った場合に、前記送信した第１識別子情報に示される前記第１候補識別子を当該電池モジュールが使用する通信識別子として決定する決定手段と、を有し、
前記通信調停は、前記送信した第１識別子情報と、前記他の全ての電池モジュールのいずれかである他の電池モジュールから送信された識別子情報以外のデータとの通信調停である第１の通信調停、又は、前記送信した第１識別子情報と、前記他の電池モジュールから送信され、当該他の電池モジュールが使用する通信識別子の候補である第２候補識別子を示す第２識別子情報との通信調停である第２の通信調停であり、
前記送信手段は、前記第１の通信調停に負けた場合、又は、前記送信された第１識別子情報とは異なる候補識別子を示す前記第２識別子情報との前記第２の通信調停に負けた場合に、前記候補識別子と同じ候補識別子を示す識別子情報をさらに送信する。
【０００９】
本発明の制御方法は、バス型トポロジを構成する通信網に接続される電池モジュールによって実行させる。前記電池モジュールは、前記通信網を介して他の前記電池モジュールと通信可能である。
当該制御方法は、１）前記電池モジュールが使用する通信識別子の候補である候補識別子を示す識別子情報を、前記通信網を介して他の全ての前記電池モジュールへ送信する送信ステップと、２）前記送信した識別子情報について通信調停を行う通信調停ステップと、３）前記通信調停に勝った場合に、前記送信した識別子情報に示される前記候補識別子を前記電池モジュールが使用する通信識別子として決定する決定ステップと、を有する。
前記送信ステップにおいて、前記通信調停に負けた場合に前記識別子情報をさらに送信し、
前記電池モジュールは、前記電池モジュールの通信識別子が記憶される記憶手段を有し、
前記送信ステップにおいて、前記記憶手段に前記電池モジュールの通信識別子が記憶されていない場合に、前記識別子情報の送信を行い、
前記送信ステップにおいて前記識別子情報が送信される前に前記記憶手段に前記通信識別子が記憶されている場合に、所定の通知を行う通知ステップを有する。
【００１０】
本発明のプログラムは、本発明の制御方法が有する各ステップをコンピュータに実行させる。
本発明の情報処理システムは、バス型トポロジを構成する通信網によって複数の電池モジュールが互いに通信可能に接続されている。
前記電池モジュールは、１）当該電池モジュールが使用する通信識別子の候補である候補識別子を示す識別子情報を、前記通信網を介して他の全ての前記電池モジュールへ送信する送信手段と、２）前記送信した識別子情報について通信調停を行う通信調停手段と、３）前記通信調停に勝った場合に、前記送信した識別子情報に示される前記候補識別子を当該電池モジュールが使用する通信識別子として決定する決定手段と、を有する。
前記送信手段は、前記通信調停に負けた場合に前記識別子情報をさらに送信し、
前記電池モジュールの通信識別子が記憶される記憶手段を有し、
前記送信手段は、前記記憶手段に前記電池モジュールの通信識別子が記憶されていない場合に、前記識別子情報の送信を行い、
前記電池モジュールは、前記送信手段によって前記識別子情報が送信される前に前記記憶手段に前記通信識別子が記憶されている場合に、所定の通知を行う通知手段を有する。
【発明の効果】
【００１１】
本発明によれば、電池モジュール間で重複が生じないように各電池モジュールが自律的に識別子を決定する新たな技術が提供される。
【図面の簡単な説明】
【００１２】
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。【００１３】
【図１】実施形態１に係る情報処理システム３０００を例示するブロック図である。
【図２】電池モジュール２０００のハードウエア構成を例示する図である。
【図３】実施形態１の情報処理システム３０００における処理の流れを例示するフローチャートである。
【図４】２つの電池モジュール２０００が識別子情報の送信を同時に行ったケースについて、各電池モジュール２０００における処理の流れを例示するフローチャートである。
【図５】CAN 通信網に対して電池モジュール２０００から送信される識別子情報のデータ構造を例示する図である。
【図６】識別子記憶部２１００を有する電池モジュール２０００を例示する図である。
【図７】実施形態２の情報処理システム３０００を例示するブロック図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００１５】
［実施形態１］
図１は、実施形態１に係る情報処理システム３０００を例示するブロック図である。図１において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
【００１６】
情報処理システム３０００は通信網３０２０及び複数の電池モジュール２０００を有する。通信網３０２０は、各電池モジュール２０００を互いに通信可能に接続する通信網である。各電池モジュール２０００は、通信網３０２０を介して、情報処理システム３０００に含まれる他の各電池モジュール２０００と互いに通信可能である。ここで、通信網３０２０のトポロジはバス型である。通信網３０２０は、例えば CAN 通信網である。
【００１７】
電池モジュール２０００には、通信網３０２０を介した通信で利用される識別子が設定される。以下、この識別子を通信識別子と呼ぶ。電池モジュール２０００は、当該電池モジュール２０００の通信識別子を決定する機能を有する。そのために電池モジュール２０００は、送信部２０２０、通信調停部２０６０、及び決定部２０８０を有する。
【００１８】
送信部２０２０は、通信網３０２０を介し、他の全ての電池モジュール２０００へ識別子情報を送信する。送信部２０２０から送信される識別子情報は、その送信部２０２０を有する電池モジュール２０００が使用する通信識別子の候補（以下、候補識別子）を示す。
【００１９】
通信調停部２０６０は、送信部２０２０が送信した識別子情報について通信調停を行う。ここで、バス型トポロジの通信網では、複数の通信端末（本実施形態における電池モジュール２０００）から同時にデータが送信されると、データの衝突（collision）が発生する。このようなデータの衝突に対処する方法の一つとして、通信調停（arbitration）がある。通信調停を行うことで、複数の通信端末の中から、データを送信することができる１つの通信端末が決定される。なお、一般に、通信調停の結果としてデータを送信できることを、「通信調停に勝つ」と表現する。一方で、通信調停の結果としてデータを送信できないことを、「通信調停に負ける」と表現する。通信調停に勝った通信端末は、データの送信を継続する。一方、通信調停に負けた通信端末は、データの送信を中断又は中止する。結果として、各通信端末が受信するデータは、通信調停に勝った通信端末によって送信されたデータとなる。
【００２０】
決定部２０８０は、通信調停部２０６０による通信調停において通信調停に勝った場合、その送信された識別子情報に示される候補識別子を、電池モジュール２０００が使用する通信識別子として決定する。一方、通信調停部２０６０による通信調停において通信調停に負けた場合、送信部２０２０が再度識別子情報の送信を行う。送信部２０２０によって再度識別子情報が送信された場合、通信調停部２０６０や決定部２０８０による処理が再度行われる。そして、決定部２０８０によって電池モジュール２０００の通信識別子が決定されるまで、送信部２０２０、通信調停部２０６０、及び決定部２０８０による処理が繰り返し行われる。
【００２１】
＜作用効果＞
本実施形態の情報処理システム３０００によれば、電池モジュール２０００は、通信網３０２０を介した通信に利用する通信識別子の候補である候補識別子を示す識別子情報を、他の各電池モジュール２０００へ送信する。そして、この送信において通信調停に勝った場合に、その候補識別子を通信識別子として決定する。ここで、電池モジュール２０００が通信調停に勝つことは、他の電池モジュール２０００が通信調停に負けることを意味する。よって、識別子情報を送信する際に通信調停に勝ったことを条件として候補識別子を通信識別子として決定するようにすることにより、仮に複数の電池モジュール２０００が同じ候補識別子を示す識別子情報を同時に送信したとしても、その候補識別子を通信識別子として決定する電池モジュール２０００は１つだけとなる。よって、複数の電池モジュール２０００の間で通信識別子が重複することを防ぐことができる。また、本実施形態の情報処理システム３０００によれば、各電池モジュール２０００が自律的に通信識別子の決定を行うことができる。
【００２２】
以下、本実施形態についてさらに詳細に説明する。
【００２３】
＜電池モジュール２０００のハードウエア構成例＞
電池モジュール２０００の各機能構成部は、各機能構成部を実現するハードウエア（例：ハードワイヤードされた電子回路など）で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ（例：電子回路とそれを制御するプログラムの組み合わせなど）で実現されてもよい。以下、電池モジュール２０００の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
【００２４】
図２は、電池モジュール２０００のハードウエア構成を例示する図である。電池モジュール２０００には、コントローラ１０００及び電池セル１０が含まれている。電池セル１０は、リチウムイオン電池などの二次電池である。コントローラ１０００は、電池セル１０の充電や放電の制御を行ったり、他の電池モジュール２０００が有するコントローラ１０００と制御情報のやりとりを行ったりする装置である。例えばコントローラ１０００は、BMU である。
【００２５】
コントローラ１０００は、バス１０２０、プロセッサ１０４０、メモリ１０６０、ストレージデバイス１０８０、入出力インタフェース１１００、及びネットワークインタフェース１１２０を有する。バス１０２０は、プロセッサ１０４０、メモリ１０６０、ストレージデバイス１０８０、入出力インタフェース１１００、及びネットワークインタフェース１１２０が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ１０４０などを互いに接続する方法は、バス接続に限定されない。プロセッサ１０４０は、MPU（Micro Processing Unit）又は CPU（Central Processing Unit）などの演算処理装置である。メモリ１０６０は、RAM（Random Access Memory）などの主記憶装置である。ストレージデバイス１０８０は、ROM（Read Only Memory）やフラッシュメモリなどの補助記憶装置である。入出力インタフェース１１００は、コントローラ１０００と入出力デバイスとを接続するためのインタフェースである。
【００２６】
ネットワークインタフェース１１２０は、コントローラ１０００と通信網３０２０とを接続するインタフェースである。送信部２０２０は、ネットワークインタフェース１１２０に識別子情報を出力させることで、識別子情報の送信を実現する。また、通信調停部２０６０は、ネットワークインタフェース１１２０を介して受信したデータを用いて通信調停を行う。
【００２７】
ストレージデバイス１０８０は、電池モジュール２０００の各機能構成部を実現するプログラムモジュールを記憶している。プロセッサ１０４０は、これら各プログラムモジュールをメモリ１０６０に読み出して実行することで、そのプログラムモジュールに対応する各機能を実現する。
【００２８】
コントローラ１０００のハードウエア構成は図２に示した構成に限定されない。例えば、各プログラムモジュールはメモリ１０６０に格納されてもよい。この場合、コントローラ１０００は、ストレージデバイス１０８０を備えていなくてもよい。
【００２９】
＜処理の流れ＞
図３は、実施形態１の情報処理システム３０００における処理の流れを例示するフローチャートである。送信部２０２０は識別子情報の送信を行う（Ｓ１０２）。通信調停部２０６０は通信調停を行う（Ｓ１０４）。通信調停に勝った場合（Ｓ１０６：ＹＥＳ）、決定部２０８０は、送信部２０２０から送信された識別子情報に示される候補識別子を、電池モジュール２０００の通信識別子として決定する（Ｓ１０８）そして、図３の処理は終了する。
【００３０】
一方、通信調停に負けた場合（Ｓ１０６：ＮＯ）、図３の処理はＳ１０２に戻る。この際、識別子情報に示す候補識別子を変更するケースと変更しないケースがある。この点についての詳細は後述する。
【００３１】
図４は、２つの電池モジュール２０００が識別子情報の送信を同時に行ったケースについて、各電池モジュール２０００における処理の流れを例示するフローチャートである。
【００３２】
Ｓ２０２において、電池モジュール２０００−１の送信部２０２０が識別子情報の送信を行う。また、Ｓ３０２において、電池モジュール２０００−２の送信部２０２０が識別子情報の送信を行う。
【００３３】
Ｓ２０４において、電池モジュール２０００−１の通信調停部２０６０が通信調停を行う。Ｓ３０４において、電池モジュール２０００−２の通信調停部２０６０が通信調停を行う。ここで、電池モジュール２０００−１と電池モジュール２０００−２から同時に識別子情報が送信され、なおかつ電池モジュール２０００−１が通信調停に勝ったとする。
【００３４】
電池モジュール２０００−１の決定部２０８０は、通信調停に勝ったか否かを判定する（Ｓ２０６）。前述した通り、電池モジュール２０００−１が通信調停に勝ったため、電池モジュール２０００−１の決定部２０８０は、送信部２０２０から送信された識別子情報に示される候補識別子を、電池モジュール２０００−１の通信識別子として決定する（Ｓ２０８）。
【００３５】
同様に、電池モジュール２０００−２の決定部２０８０も、通信調停に勝ったか否かを判定する（Ｓ３０６）。ただし、電池モジュール２０００−２は通信調停に負けたため、電池モジュール２０００−２の送信部２０２０が、識別子情報を再度送信する（Ｓ３０８）。その後、電池モジュール２０００−２の通信調停部２０６０が通信調停を行い、（Ｓ３１０）。電池モジュール２０００−２の決定部２０８０が通信調停に勝ったか否かを判定する（Ｓ３１２）。ここで、他の電池モジュール２０００からはデータの送信が行われなかったため、電池モジュール２０００−２が通信調停に勝ったとする。そのため、電池モジュール２０００−２の決定部２０８０は、Ｓ３０８において送信された識別子情報が示す候補識別子を、電池モジュール２０００−２の通信識別子に決定する（Ｓ３１４）。
【００３６】
＜識別子情報について＞
電池モジュール２０００の送信部２０２０によって送信される識別子情報は、その電池モジュール２０００が通信網３０２０を介した通信で利用しようとしている通信識別子の候補（前述した候補識別子）を示す。電池モジュール２０００は、識別子情報を送信することにより、他の電池モジュール２０００に対し、識別子情報に示されている候補識別子を通信識別子として利用しようとしていることを宣言する。例えば通信網３０２０が CAN 通信網である場合、通信識別子は CAN 通信網における ID（identifier）を表す。以下、CAN 通信網における ID を CAN-ID と表記する。
【００３７】
図５は、CAN 通信網に対して電池モジュール２０００から送信される識別子情報のデータ構造を例示する図である。一般に、CAN 通信網において送受信されるデータには、CAN ID とデータ本体が含まれる。識別子情報は、例えば、１）CAN ID 部分に識別子情報に共通の固定値（例えば 0x6F2）を示し、２）データ本体部分に候補識別子及び固有番号を示すように構成される。CAN ID 部分に上記固定値が示されているデータを受信した電池モジュール２０００は、そのデータが識別子情報であることを認識することができる。
【００３８】
データ本体部分に示される固有番号は、電池モジュール２０００に固有の番号である。電池モジュール２０００に固有の番号としては、例えば電池モジュール２０００の製造番号や、電池モジュール２０００が有するネットワークインタフェースの製造番号を利用することができる。データ本体部分に候補識別子と固有番号の組が示された識別子情報を受信した電池モジュール２０００は、「その固有番号で特定される電池モジュール２０００が、その候補識別子を通信識別子として使用しようとしている」ということを把握できる。
【００３９】
なお、図５に示す識別子情報のデータ構造は、通信網３０２０が CAN 通信網以外である場合においても採用することが可能である。また、識別子情報のデータ構造は、上述したデータ構造に限定されない。
【００４０】
＜識別子情報の送信：Ｓ１０２＞
送信部２０２０は、通信網３０２０において識別子情報を送信する（Ｓ１０２）。なお、CAN 通信網などを介してデータを送信する技術には、既知の技術を利用することができる。
【００４１】
ここで、送信部２０２０は、送信する識別子情報を生成する。具体的には、送信部２０２０は、候補識別子を決定し、決定した候補識別子を示す識別子情報を生成する。送信部２０２０は、他の電池モジュール２０００が利用しない通信識別子の一つを候補識別子とする。具体的には、送信部２０２０は、通信識別子として利用可能な値であり、なおかつ他の電池モジュール２０００が利用する通信識別子に該当しない値の中から、候補識別子とする値を決定する。
【００４２】
例えば送信部２０２０は、通信識別子として利用可能な値であり、なおかつ他の電池モジュール２０００が利用する通信識別子に該当しない値の中から、ランダムに１つの値を決定し、その決定した値を候補識別子とする。その他にも例えば、送信部２０２０は、通信識別子として利用可能な値であり、なおかつ他の電池モジュール２０００が利用しない通信識別子に該当しない値のうち、最大又は最小の値を候補識別子とする。
【００４３】
上述の方法で候補識別子を決定するため、送信部２０２０は、他の電池モジュール２０００によって利用される通信識別子を特定する必要がある。ここで、他の電池モジュール２０００が利用する通信識別子を特定する方法は様々である。以下、２つの方法を例示する。
【００４４】
＜＜特定方法１＞＞
送信部２０２０は、候補識別子を決定する前に、他の電池モジュール２０００によって送信される１つ以上のデータを通信網３０２０から受信する。例えばこの受信は、所定の期間行われる。この所定の期間を定義する情報は、予め送信部２０２０に設定されていてもよいし、送信部２０２０からアクセス可能な記憶装置に記憶されていてもよい。
【００４５】
例えば通信網３０２０が CAN 通信網である場合、受信したデータが識別子情報以外であれば、受信したデータの CAN ID 部分に、そのデータを送信した電池モジュール２０００が既に利用している通信識別子が示されている。よって、送信部２０２０は、CAN ID 部分に示されている値を、他の電池モジュール２０００が利用する通信識別子として特定する。これに対し、受信したデータが識別子情報であれば、データ本体部分の所定の位置に候補識別子が示されている。この候補識別子は、他の電池モジュール２０００が通信識別子として利用しようとしているものである。そこで送信部２０２０は、受信した識別子情報に示されている候補識別子についても、他の電池モジュール２０００が利用する通信識別子として特定する。
【００４６】
＜＜特定方法２＞＞
送信部２０２０は、他の電池モジュール２０００が利用する通信識別子が記憶されている記憶装置にアクセスすることで、他の電池モジュール２０００が利用する通信識別子を特定してもよい。この場合、情報処理システム３０００は、電池モジュール２０００とは別に、各電池モジュール２０００が利用する通信識別子を特定して上記記憶装置に記憶させる装置を有する。以下、この装置を識別子管理装置と呼ぶ。
【００４７】
識別子管理装置は、通信網３０２０を介して送信される各データを受信し、そのデータを用いて、そのデータを送信した電池モジュール２０００が利用する通信識別子を特定する。ここで、通信網３０２０を介して送信されるデータから、そのデータを送信した電池モジュール２０００が利用する通信識別子を特定する方法は、前述した特定方法１で説明した方法と同様である。識別子管理装置は、この方法で特定した通信識別子を、上記記憶装置に記憶させる。こうすることで、この記憶装置に、電池モジュール２０００によって利用される通信識別子の一覧が形成される。
【００４８】
ここで、上述した２つの特定方法ではいずれも、電池モジュール２０００によって送信されるデータを利用して、その電池モジュール２０００が利用する通信識別子を特定する。そのため、各電池モジュール２０００が、定期的に何らかのデータを送信するように構成されていることが好適である。なお、ここで送信されるデータは、通信識別子を含む任意のデータでよい。このように、定期的に各電池モジュール２０００からデータが送信されるようにすることで、各電池モジュール２０００が利用する通信識別子を、電池モジュール２０００や識別子管理装置がより確実に把握できるようになる。
【００４９】
＜通信調停：Ｓ１０４＞
前述したように、通信網３０２０はバス型のトポロジであるため、複数の通信端末から同時にデータが送信されると、データの衝突が発生する。なお、通信調停には既存の様々な技術を利用することができる。以下では、通信網３０２０が CAN 通信網であるケースについて、通信調停の方法を具体的に例示する。
【００５０】
一般に、CAN 通信網には、通信調停を実現するために以下のような機能が備わっている。まず、CAN 通信網において、或る時点における信号線の状態は、論理値０を表す状態（ドミナント）と論理値１を表す状態（リセッシブ）のいずれかとなる。そして、ドミナントとリセッシブが同時に送信された場合にはドミナントが優先され、信号線の状態はドミナントになる。よって、データの衝突が生じた場合、信号線の状態は、同時に送信されたビットのうち、値が小さい方のビットを表す。
【００５１】
通信調停の勝ち負けを判断するため、CAN 通信網に接続されている通信端末は、CAN 通信網を介してデータを送信しつつ、CAN 通信網を介して受信されるデータをチェックする。そして、通信端末は、送信したビットと受信したビットが異なる場合、通信調停に負けたと判断して、データの送信を中断又は中止する。一方、通信端末は、送信したビットと受信したビットが同一である場合、少なくともその時点では通信調停に勝っていると判断して、データの送信を継続する。このことから、通信調停に勝つ通信端末は、最後までデータの送信を継続できる。言い換えれば、送信したデータを構成するビット列と同一のビット列を受信した通信端末が、最終的に通信調停に勝った通信端末となる。
【００５２】
通信調停部２０６０は、上述した方法と同様の方法により、通信調停を行う。即ち、送信部２０２０から識別子情報が送信される間、通信網３０２０からデータを受信する。そして、通信網３０２０から受信するビットと送信部２０２０から送信されるビットが同じである間、通信調停に勝っていると判定して、送信部２０２０に識別子情報の送信を継続させる。一方、通信網３０２０から受信するビットと送信部２０２０から送信されるビットが異なる場合、通信調停に負けたと判定して、送信部２０２０に識別子情報の送信を中止させる。
【００５３】
＜通信識別子の決定：Ｓ１０８＞
決定部２０８０は、前述した通信調停に勝った場合、送信部２０２０によって送信された識別子情報が示す候補識別子を、電池モジュール２０００が利用する通信識別子として決定する。一方、決定部２０８０は、前述した通信調停に負けた場合、送信部２０２０によって送信された識別子情報が示す候補識別子を、電池モジュール２０００が利用する通信識別子として決定しない。
【００５４】
決定部２０８０は、上記決定した通信識別子を記憶装置に記憶させる。この記憶装置を識別子記憶部と呼ぶ。図６は、識別子記憶部２１００を有する電池モジュール２０００を例示する図である。例えば識別子記憶部２１００は、前述したコントローラ１０００が有するストレージデバイス１０８０を用いて実現される。
【００５５】
＜通信調停に負けた場合について：Ｓ１１０＞
通信調停に負けるケースは、他の電池モジュール２０００から送信されたデータに着目して、以下の３つのケースに分けることできる。第１のケースは、識別子情報以外のデータが他の電池モジュール２０００から送信されたケースである。第２のケースは、電池モジュール２０００の候補識別子とは異なる候補識別子を示す識別子情報が、他の電池モジュール２０００から送信されたケースである。第３のケースは、電池モジュール２０００の候補識別子と同じ候補識別子を示す識別子情報が、他の電池モジュール２０００から送信されたケースである。
【００５６】
第１のケースと第２のケースでは、通信調停に負けたものの、識別子情報に示した候補識別子が他の電池モジュール２０００によって利用されるわけではない。そのため、送信部２０２０は、識別子情報に示す候補識別子を変更せずに、再度識別子情報の送信を行う。
【００５７】
一方、第３のケースでは、識別子情報に示した候補識別子が、他の電池モジュール２０００によって利用されてしまうと考えられる。そのため、送信部２０２０は、候補識別子を変更した上で、識別子情報の送信を行う。具体的には、送信部２０２０は、通信調停に負けた際の識別子情報に示されていた候補識別子を、他の電池モジュール２０００が利用する通信識別子に加えた上で、前述した候補識別子を決定する方法を実行する。
【００５８】
ここで、通信網３０２０が CAN 通信網であるケースを例に、第１から第３のケースの判別方法について例示する。まず前述したように、通信網３０２０が CAN 通信網である場合、識別子情報の CAN ID 部分には固定値が設定される。そのため、通信調停部２０６０が他の電池モジュール２０００から識別子情報以外のデータを受信するケース（第１のケース）では、通信調停部２０６０が通信網３０２０から受信したデータの CAN ID 部分が、識別子情報の CAN ID 部分に設定される値と異なる。よって、第１のケースとそれ以外のケースとの判別は、通信網３０２０から受信するデータの CAN ID 部分に基づいて実現できる。具体的には、第１のケースは、通信調停部２０６０が、通信網３０２０から CAN ID 部分を受信している間に通信調停に負けたと判定するケースとなる。
【００５９】
次に、第２のケースと第３のケースの判別方法について説明する。ここで、識別子情報が図５に示した構成であり、なおかつデータ本体部分が「候補識別子、固有番号」の順で構成されているとする。この場合、複数の電池モジュール２０００から候補識別子が互いに異なる識別情報が送信されるケース（第２のケース）では、通信調停部２０６０が通信網３０２０からデータの候補識別子部分を受信している間に、通信調停の勝ち負けが決定する。一方、複数の電池モジュール２０００から候補識別子が同一の識別子情報が送信されるケース（第３のケース）では、通信調停部２０６０が通信網３０２０からデータの候補識別子の部分を受信している間には通信調停の勝ち負けが決定せず、固有番号部分を受信している間に通信調停の勝ち負けが決定する。このことから、第２のケースは、通信調停部２０６０が、通信網３０２０からデータの候補識別子部分を受信している間に通信調停に負けたと判定するケースである。一方、第３のケースは、通信調停部２０６０が、通信網３０２０からデータの固有番号部分を受信している間に通信調停に負けたと判定するケースである。
【００６０】
なお、識別子情報が図５に示した構成であり、なおかつデータ本体部分が「固有番号、候補識別子」の順で構成されているとする。固有番号部分には電池モジュール２０００に固有の値が設定されるため、同時に送信されるデータに同一の固有番号が設定されていることはない。よって、通信調停部２０６０が行う通信調停は、遅くとも、固有番号部分を受信している間に勝ち負けが決定してしまう。そのため、固有番号の後に候補識別子が設定されている場合には候補識別子の異同の判別ができない。つまり、第２のケースと第３のケースを判別できない。そこで送信部２０２０は、第１のケースに該当しない場合、即ち通信調停部２０６０が識別子情報の固有番号部分で通信調停に負けたと判定した場合、必ず候補識別子を変更した上で識別子情報を送信する。
【００６１】
なお、送信部２０２０は、第１のケースから第３のケースを判別しなくてもよい。この場合、送信部２０２０は、通信調停に負けた場合、必ず候補識別子を変更した上で、再度識別子情報の送信を行う。
【００６２】
＜電池モジュール２０００が一連の処理を実行するタイミング＞
電池モジュール２０００が一連の処理（図３に示した処理）を行うタイミングは任意である。例えば電池モジュール２０００は、電池モジュール２０００が起動した際に行われる一連の初期化処理の一つとして、図３に示した一連の処理を行って、通信識別子を決定する。この起動は、電源スイッチをＯＮにする操作などに伴う通常の起動であってもよいし、停電などの異常からの復帰に伴う起動であってもよい。その他にも例えば、電池モジュール２０００は、電池モジュール２０００が起動してから所定時間経過した後や、電池モジュール２０００の初期化処理が終了してから所定時間経過した後に、図３に示した一連の処理を実行してもよい。この所定時間は、送信部２０２０に予め設定されていてもよいし、送信部２０２０からアクセス可能な記憶装置に記憶されていてもよい。
【００６３】
なお、電池モジュール２０００の初期化処理は、電池モジュール２０００が起動した際に毎回行われなくてもよい。この場合、例えば電池モジュール２０００は、初期化処理を実行するか否かを指定する入力を受け付ける。そして、電池モジュール２０００は、初期化処理を実行すると指定された場合に、初期化処理を実行し、その初期化処理の実行に伴って図３の一連の処理を実行する。
【００６４】
上述の入力は、電池モジュール２０００が起動する前に行われてもよいし、電池モジュール２０００が起動した後に行われてもよい。電池モジュール２０００が起動する前に行われる入力は、例えばディップスイッチによる入力である。電池モジュール２０００が起動した後に行われる入力は、例えばキーボードなどの入力デバイスを利用して行われる入力である。
【００６５】
その他にも例えば、電池モジュール２０００は、識別子記憶部２１００に通信識別子が記憶されているか否かを判定し、識別子記憶部２１００に通信識別子が記憶されていない場合に、図３の一連の処理を実行するようにしてもよい。
【００６６】
［実施形態２］
図７は、実施形態２の情報処理システム３０００を例示するブロック図である。下記で説明する点を除き、実施形態２の情報処理システム３０００は、実施形態１の情報処理システム３０００と同様の機能を有する。
【００６７】
実施形態２の電池モジュール２０００は、識別子記憶部２１００及び通知部２１２０を有する。識別子記憶部２１００については前述した通りである。通知部２１２０は、送信部２０２０によって識別子情報の送信が行われる前に識別子記憶部２１００に通信識別子が記憶されている場合に、その旨の通知を行う。
【００６８】
このように送信部２０２０によって識別子情報の送信が行われる前に識別子記憶部２１００に通信識別子が記憶されているケースとしては、例えば、過去に電池モジュール２０００を運用していた際に電池モジュール２０００に設定されていた通信識別子が消去されないまま識別子記憶部２１００に記憶され続けていたというケースである。このようなケースでは、通信識別子が記憶されたままとなっている旨をユーザに通知することが好適である。そこで、本実施形態の通知部２１２０は、この通知を行う。こうすることで、以前に利用されていた通信識別子がユーザに把握されることなく利用され続けてしまうことを防ぐことができる。
【００６９】
通知部２１２０による通知を把握した電池モジュール２０００のユーザは、例えば、識別子記憶部２１００に記憶されている通信識別子の消去を行い、その後に図３の一連の処理を電池モジュール２０００に行わせる。例えば、ユーザは、識別子記憶部２１００に記憶されている通信識別子を消去した後、電池モジュール２０００に対し、初期化処理の実行する指定する入力を行う。
【００７０】
ここで、通知部２１２０が行う通知は任意である。例えば通知部２１２０は、ブザーなどの音声をスピーカから出力することで、識別子記憶部２１００に通信識別子が記憶されていることを通知する。その他にも例えば、通知部２１２０は、電池モジュール２０００の筐体に設けられているランプ（例えば LED（Light Emitting Diode）ランプ）を点灯させることで、識別子記憶部２１００に通信識別子が記憶されていることを通知してもよい。その他にも例えば、通知部２１２０は、電池モジュール２０００に接続されているディスプレイ装置に、識別子記憶部２１００に通信識別子が記憶されている旨のメッセージを表示することで通知を行ってもよい。
【００７１】
＜ハードウエア構成＞
本実施形態の電池モジュール２０００のハードウエア構成は、実施形態１の電池モジュール２０００のハードウエア構成と同様に、例えば図２で表される。ただし、本実施形態のストレージデバイス１０８０には、通知部２１２０の機能を実現するプログラムモジュールがさらに含まれる。また、本実施形態の入出力インタフェース１１００には、通知部２１２０を実現するためのハードウエア（スピーカ、ランプ、又はディスプレイ装置など）が接続される。
【００７２】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記各実施形態の組み合わせ、又は上記以外の様々な構成を採用することもできる。
【００７３】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
１．  バス型トポロジを構成する通信網に接続される電池モジュールであって、
前記通信網を介して他の前記電池モジュールと通信可能であり、
当該電池モジュールが使用する通信識別子の候補である候補識別子を示す識別子情報を、前記通信網を介して他の全ての前記電池モジュールへ送信する送信手段と、
前記送信した識別子情報について通信調停を行う通信調停手段と、
前記通信調停に勝った場合に、前記送信した識別子情報に示される前記候補識別子を当該電池モジュールが使用する通信識別子として決定する決定手段と、を有し、
前記送信手段は、前記通信調停に負けた場合に前記識別子情報をさらに送信する、電池モジュール。
２．  前記通信網は CAN（Controller Access Network）通信網である、１．に記載の電池モジュール。
３．  前記送信手段は、前記識別子情報の送信する前の所定時間、他の前記電池モジュールから送信されるデータを受信し、前記データを用いてそのデータを送信した他の前記電池モジュールが利用する通信識別子を特定し、前記特定した通信識別子以外の値を前記候補識別子にする、１．又は２．に記載の電池モジュール。
４．  前記送信手段は、前記通信調停に負けた場合、前記識別子情報が示す候補識別子を変更してから前記識別子情報を送信する、１．乃至３．いずれか一つに記載の電池モジュール。
５．  当該電池モジュールの通信識別子が記憶される記憶手段を有し、
前記送信手段は、前記記憶手段に当該電池モジュールの通信識別子が記憶されていない場合に、前記識別子情報の送信を行い、
前記送信手段によって前記識別子情報が送信される前に前記記憶手段に前記通信識別子が記憶されている場合に、所定の通知を行う通知手段を有する、１．乃至４．いずれか一つに記載の電池モジュール。
６．  バス型トポロジを構成する通信網に接続される電池モジュールによって実行させる制御方法であって、
前記電池モジュールは、前記通信網を介して他の前記電池モジュールと通信可能であり、
前記電池モジュールが使用する通信識別子の候補である候補識別子を示す識別子情報を、前記通信網を介して他の全ての前記電池モジュールへ送信する送信ステップと、
前記送信した識別子情報について通信調停を行う通信調停ステップと、
前記通信調停に勝った場合に、前記送信した識別子情報に示される前記候補識別子を前記電池モジュールが使用する通信識別子として決定する決定ステップと、を有し、
前記送信ステップにおいて、前記通信調停に負けた場合に前記識別子情報をさらに送信する、制御方法。
７．  前記通信網は CAN（Controller Access Network）通信網である、６．に記載の制御方法。
８．  前記送信ステップにおいて、前記識別子情報の送信する前の所定時間、他の前記電池モジュールから送信されるデータを受信し、前記データを用いてそのデータを送信した他の前記電池モジュールが利用する通信識別子を特定し、前記特定した通信識別子以外の値を前記候補識別子にする、６．又は７．に記載の制御方法。
９．  前記送信ステップにおいて、前記通信調停に負けた場合、前記識別子情報が示す候補識別子を変更してから前記識別子情報を送信する、６．乃至８．いずれか一つに記載の制御方法。
１０．  前記電池モジュールは、前記電池モジュールの通信識別子が記憶される記憶手段を有し、
前記送信ステップにおいて、前記記憶手段に前記電池モジュールの通信識別子が記憶されていない場合に、前記識別子情報の送信を行い、
前記送信ステップにおいて前記識別子情報が送信される前に前記記憶手段に前記通信識別子が記憶されている場合に、所定の通知を行う通知ステップを有する、６．乃至９．いずれか一つに記載の制御方法。
１１．  ６．乃至１０．いずれか一つに記載の制御方法が有する各ステップをコンピュータに実行させるプログラム。
１２．  バス型トポロジを構成する通信網によって複数の電池モジュールが互いに通信可能に接続されており、
前記電池モジュールは、
当該電池モジュールが使用する通信識別子の候補である候補識別子を示す識別子情報を、前記通信網を介して他の全ての前記電池モジュールへ送信する送信手段と、
前記送信した識別子情報について通信調停を行う通信調停手段と、
前記通信調停に勝った場合に、前記送信した識別子情報に示される前記候補識別子を当該電池モジュールが使用する通信識別子として決定する決定手段と、を有し、
前記送信手段は、前記通信調停に負けた場合に前記識別子情報をさらに送信する、情報処理システム。
１３．  前記通信網は CAN（Controller Access Network）通信網である、１２．に記載の情報処理システム。
１４．  前記送信手段は、前記識別子情報の送信する前の所定時間、他の前記電池モジュールから送信されるデータを受信し、前記データを用いてそのデータを送信した他の前記電池モジュールが利用する通信識別子を特定し、前記特定した通信識別子以外の値を前記候補識別子にする、１２．又は１３．に記載の情報処理システム。
１５．  前記送信手段は、前記通信調停に負けた場合、前記識別子情報が示す候補識別子を変更してから前記識別子情報を送信する、１２．乃至１４．いずれか一つに記載の情報処理システム。
１６．  前記電池モジュールの通信識別子が記憶される記憶手段を有し、
前記送信手段は、前記記憶手段に前記電池モジュールの通信識別子が記憶されていない場合に、前記識別子情報の送信を行い、
前記電池モジュールは、前記送信手段によって前記識別子情報が送信される前に前記記憶手段に前記通信識別子が記憶されている場合に、所定の通知を行う通知手段を有する、１２．乃至１５．いずれか一つに記載の情報処理システム。
【００７４】
この出願は、２０１７年２月２１日に出願された日本出願特願２０１７−０３０３５０号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
0006744980.tif 000002
【図２】
0006744980.tif 000003
【図３】
0006744980.tif 000004
【図４】
0006744980.tif 000005
【図５】
0006744980.tif 000006
【図６】
0006744980.tif 000007
【図７】
0006744980.tif 000008