(57)【要約】【課題】人手による更新作業を行うことなく下位ユニットへの識別子の割り振りを行うことができる通信システム、通信装置および通信方法を提供すること。【解決手段】実施形態に係る通信システムは、上位ユニットと、下位ユニットとを備える。上位ユニットは、識別子の登録を指示する登録指示コマンドを送信する。下位ユニットは、上位ユニットと通信可能に接続され、登録指示コマンドに対応する識別子を上位ユニットへ登録する。また、下位ユニットは、作成部と、指示部と、送信部とを備える。作成部は、登録指示コマンドに対応する識別子を作成する。指示部は、作成部が作成した識別子を含む登録要求コマンドを上位ユニットへ送信する前に他の下位ユニットから登録要求コマンドを受信した場合に、他の下位ユニットから受信した登録要求コマンドに含まれる識別子以外の識別子の作成を指示する。送信部は、作成部が作成した識別子を含む登録要求コマンドを上位ユニットへ送信する。【選択図】        図１Ａ
2018207350.tif 000002
【特許請求の範囲】
【請求項１】
識別子の登録を指示する登録指示コマンドを送信する上位ユニットと、
前記上位ユニットと通信可能に接続され、前記登録指示コマンドに対応する識別子を前記上位ユニットへ登録する下位ユニットと
を備え、
前記下位ユニットは、
前記登録指示コマンドに対応する前記識別子を作成する作成部と、
前記作成部が作成した前記識別子を含む登録要求コマンドを前記上位ユニットへ送信する前に他の前記下位ユニットから前記登録要求コマンドを受信した場合に、前記他の下位ユニットから受信した登録要求コマンドに含まれる識別子以外の前記識別子の作成を指示する指示部と、
前記作成部が作成した前記識別子を含む前記登録要求コマンドを前記上位ユニットへ送信する送信部と
を備えることを特徴とする通信システム。
【請求項２】
前記下位ユニットは、
記憶部をさらに備え、
前記指示部は、
前記登録要求コマンドを繰り返し送信するよう前記送信部に対して指示し、前記下位ユニットの前記識別子の登録が完了したことを示す登録完了コマンドを前記上位ユニットから受信した場合に、最後に送信した前記識別子の前記記憶部への記憶を指示すること
を特徴とする請求項１に記載の通信システム。
【請求項３】
前記上位ユニットは、
前記登録指示コマンドを前記下位ユニットへ送信してからあらかじめ設定された時間が経過した後に前記登録完了コマンドを前記下位ユニットへ送信するよう指令する指令部
を備えることを特徴とする請求項２に記載の通信システム。
【請求項４】
前記作成部は、
あらかじめ定められた通し番号順に前記識別子を作成すること
を特徴とする請求項１、２または３に記載の通信システム。
【請求項５】
識別子を作成する作成部と、
前記作成部が作成した前記識別子を含む登録要求コマンドを送信する前に前記登録要求コマンドを受信した場合に、当該登録要求コマンドに含まれる識別子以外の前記識別子の作成を指示する指示部と、
前記作成部が作成した前記識別子を含む前記登録要求コマンドを送信する送信部と
を備えることを特徴とする通信装置。
【請求項６】
識別子を作成する作成工程と、
前記作成工程によって作成された前記識別子を含む登録要求コマンドを送信する前に前記登録要求コマンドを受信した場合に、当該登録要求コマンドに含まれる識別子以外の前記識別子の作成を指示する指示工程と、
前記作成工程によって作成された前記識別子を含む前記登録要求コマンドを送信する送信工程と
を含むことを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、通信装置および通信方法に関する。
【背景技術】
【０００２】
従来、例えば、車載ネットワークにおいて、上位ユニットであるマスタＥＣＵ（Electronic  Control  Unit）と、複数の下位ユニットであるスレーブＥＣＵとが通信可能に接続された通信システムが知られている。かかる通信システムでは、上位ユニットが下位ユニットを識別する識別子を作成して下位ユニットへ通知することで識別子が下位ユニットに付与される（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３４１３８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記した従来技術に係る通信システムは、下位ユニットの接続数を変更する場合、上位ユニットのソフトウェアの改修や、設定情報の更新等が必要となり、人手による更新作業が発生するという問題があった。
【０００５】
本発明は、上記に鑑みてなされたものであって、人手による更新作業を行うことなく下位ユニットへの識別子の割り振りを行うことができる通信システム、通信装置および通信方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決し、目的を達成するために、本発明の通信システムは、上位ユニットと、下位ユニットとを備える。上位ユニットは、識別子の登録を指示する登録指示コマンドを送信する。下位ユニットは、上位ユニットと通信可能に接続され、登録指示コマンドに対応する識別子を上位ユニットへ登録する。また、下位ユニットは、作成部と、指示部と、送信部とを備える。作成部は、登録指示コマンドに対応する識別子を作成する。指示部は、作成部が作成した識別子を含む登録要求コマンドを上位ユニットへ送信する前に他の下位ユニットから登録要求コマンドを受信した場合に、他の下位ユニットから受信した登録要求コマンドに含まれる識別子以外の識別子の作成を指示する。送信部は、作成部が作成した識別子を含む登録要求コマンドを上位ユニットへ送信する。
【発明の効果】
【０００７】
実施形態に係る通信システム、通信装置および通信方法は、人手による更新作業を行うことなく下位ユニットへの識別子の割り振りを行うことができる。
【図面の簡単な説明】
【０００８】
【図１Ａ】図１Ａは、実施形態に係る通信方法の概要を説明する図である。
【図１Ｂ】図１Ｂは、実施形態に係る通信方法の概要を説明する図である。
【図２】図２は、実施形態に係る通信システムの構成の一例を示すブロック図である。
【図３Ａ】図３Ａは、実施形態に係る通信システムによるＩＤの登録処理の一例を示すシーケンス図である。
【図３Ｂ】図３Ｂは、実施形態に係る通信システムによるＩＤの登録処理の一例を示すシーケンス図である。
【図４】図４は、実施形態に係る通信システムが実行する処理手順を示すフローチャート（その１）である。
【図５】図５は、実施形態に係る通信システムが実行する処理手順を示すフローチャート（その２）である。
【図６】図６は、実施形態に係る通信システムの構成例を示す図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して、本願の開示する通信システム、通信装置および通信方法の実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。
【００１０】
また、本実施形態では、通信システムが、車載用の組電池監視装置を含む通信システムである場合を例に挙げて説明する。かかる通信システムは、複数の電池ブロックが直列に接続された組電池の監視を行う上位ユニットであるマスタＥＣＵ（Electronic  Control  Unit）と、直列に接続された複数の電池セルを備えた電池ブロックの監視を行う下位ユニットであるスレーブＥＣＵとを備える。なお、通信システムは車載用に限られず、屋内や屋外に設置されてもよい。
【００１１】
また、以下では、本実施形態に係る通信方法の概要について図１Ａおよび図１Ｂを用いて説明した後に、通信装置およびこれを含む通信システムについて図２〜図６を用いて説明する。
【００１２】
まず、本実施形態に係る通信方法の概要について、図１Ａおよび図１Ｂを用いて説明する。図１Ａおよび図１Ｂは、実施形態に係る通信方法の概要を説明する図である。
【００１３】
図１Ａに示すように、通信システム１は、マスタＥＣＵ１０と、かかるマスタＥＣＵ１０と通信可能に接続された複数のスレーブＥＣＵ２０（図１Ａおよび図１Ｂでは、スレーブＥＣＵ２１，２２，２３，２４）とを備える。
【００１４】
ここで、通信システム１は、複数の監視内容にそれぞれ対応するコマンド毎に、各スレーブＥＣＵ２０を識別する識別子であるＩＤ（Identification）を、各スレーブＥＣＵ２０に対して割り振る。なお、監視内容に対応するコマンドとしては、図１Ｂに示すように、例えば、「充電」に対応する「コマンドＡ」、「放電」に対応する「コマンドＢ」、「電圧測定」に対応する「コマンドＣ」等がある。
【００１５】
例えば、図１Ｂに示すように、監視内容に対応するコマンドが「充電」に対応する「コマンドＡ」である場合、マスタＥＣＵ１０は、ＩＤとして、「１０１」、「１０２」、「１０３」および「１０４」を各スレーブＥＣＵ２０に対してそれぞれ割り振る。つまり、スレーブＥＣＵ２０に割り振られるＩＤは、互いに排他的なＩＤである。
【００１６】
また、マスタＥＣＵ１０は、監視内容に対応するコマンドが「放電」に対応する「コマンドＢ」である場合、ＩＤとして、「２０１」、「２０２」、「２０３」および「２０４」を各スレーブＥＣＵ２０に対してそれぞれ割り振る。なお、コマンドＢに対応する各ＩＤは、コマンドＡに対応する各ＩＤに対しても排他的である。また、図１Ｂでは理解を助けるために表として表したが、厳密には、マスタＥＣＵ１０は各スレーブＥＣＵ２０とそのＩＤを対応付けて割り振るわけではなく、「１０１」〜「１０４」、「２０１」〜「２０４」といった同種のＩＤの数により４つのスレーブＥＣＵが存在すると認識するだけである。
【００１７】
ところで、従来の通信システムでは、マスタＥＣＵ側で、あらかじめ用意された設定情報等に基づいてスレーブＥＣＵへ付与するＩＤを作成し、作成したＩＤを各スレーブＥＣＵへ通知していた。つまり、従来の通信システムでは、マスタＥＣＵが、例えば、監視内容に対応するコマンドと対応するＩＤとのテーブル等に基づき、監視内容毎に各スレーブＥＣＵに対してＩＤを割り当てていた。
【００１８】
このため、従来の通信システムでは、スレーブＥＣＵの接続数を変更する場合等に、マスタＥＣＵのソフトウェアの改修や、設定情報の更新等が必要となっていた。
【００１９】
そこで、本実施形態に係る通信システム１では、各スレーブＥＣＵ２０がＩＤを自ら作成し、各スレーブＥＣＵ２０が作成したＩＤをマスタＥＣＵ１０へ登録することとした。
【００２０】
具体的には、図１Ａに示すように、まず、マスタＥＣＵ１０が、各スレーブＥＣＵ２０に対し、ＩＤをマスタＥＣＵ１０へ登録するように指示する登録指示コマンドを送信する（ステップＳ１）。そして、登録指示コマンドを受信した各スレーブＥＣＵ２０はＩＤを作成し（ステップＳ２）、作成したＩＤを含んだ登録要求コマンドを送信しようとする。
【００２１】
ところが、各スレーブＥＣＵ２０は、登録要求コマンドを送信する前に、他のスレーブＥＣＵ２０からの登録要求コマンドを受信することがある。この場合、スレーブＥＣＵ２０は、受信した登録要求コマンドに含まれるＩＤが、マスタＥＣＵ１０に登録されたとみなして、かかるＩＤを自ら送信することを禁止する。つまり、スレーブＥＣＵ２０は、他のスレーブＥＣＵ２０から登録要求コマンドを受信した場合には、受信した登録要求コマンドに含まれるＩＤ以外のＩＤを再作成する（ステップＳ３）。
【００２２】
そして、各スレーブＥＣＵ２０は、作成したＩＤの送信が成功するまで、ＩＤの再作成を繰り返す。このようにすることで、すべてのスレーブＥＣＵ２０に排他的なＩＤが割り振られることになる。
【００２３】
つまり、本実施形態に係る通信システム１は、スレーブＥＣＵ２０の増減があった場合であっても、各スレーブＥＣＵ２０へ排他的なＩＤを自動的に割り振ることができる。すなわち、通信システム１によれば、スレーブＥＣＵ２０の増減や入替えがあった場合であっても、人手による更新作業を行うことなくスレーブＥＣＵ２０へのＩＤの割り振りを行うことができる。
【００２４】
次に、図２を用いて、実施形態に係る通信システム１の構成について説明する。図２は、実施形態に係る通信装置１の構成の一例を示すブロック図である。図２では、本実施形態の特徴を説明するために必要な構成要素のみを機能ブロックで表しており、一般的な構成要素についての記載を省略している。
【００２５】
つまり、図２に図示される各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。例えば、各機能ブロックの分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することが可能である。
【００２６】
図２に示すように、実施形態に係る通信システム１は、マスタＥＣＵ１０と複数のスレーブＥＣＵ２０（図２では、スレーブＥＣＵ２１，２２，２３，２４）が、通信線２を介して通信可能に接続されている。なお、この例における通信システム１では、１つのマスタＥＣＵ１０が４つのスレーブＥＣＵ２１，２２，２３，２４を管理している。
【００２７】
まず、マスタＥＣＵ１０について説明する。マスタＥＣＵ１０は、受信部１１と、送信部１２と、制御部１３と、演算部１４と、記憶部１５とを備える。
【００２８】
受信部１１は、各スレーブＥＣＵ２０から通信線２を介して送られてくるＩＤを含む登録要求コマンドを受信する処理部である。送信部１２は、ＩＤの登録を指示する登録指示コマンド、および各スレーブＥＣＵ２０のＩＤの登録が完了したことを示す登録完了コマンドを、通信線２を介して各スレーブＥＣＵ２０へ送信する処理部である。
【００２９】
制御部１３は、例えば、ＦＰＧＡ（Field  Programmable  Gate  Array）、マイクロコントローラ等を含み、マスタＥＣＵ１０における各種処理を制御する処理部ある。かかる制御部１３は、確認部１６と、設定部１７と、指令部１８とを備える。
【００３０】
確認部１６は、各スレーブＥＣＵ２０に対してＩＤの登録処理を実施したか否かを確認する処理部である。設定部１７は、登録要求コマンドの受付開始から受付終了までの時間を設定する処理部である。指令部１８は、送信部１２に対して登録指示コマンド、および登録完了コマンドの送信を指令する処理部である。なお、設定部１７で設定される、受付開始から受付終了までの時間は、マスタＥＣＵ１０に接続されることが想定されるスレーブＥＣＵ２０の最大数を考慮してあらかじめ設定されている。スレーブＥＣＵ２０の追加がなく、スレーブＥＣＵ２０の数が決まっているのであれば、その数に対応する時間を設定すればよい。
【００３１】
したがって、指令部１８は、登録指示コマンドをスレーブＥＣＵ２０へ送信してからあらかじめ設定されたスレーブＥＣＵ２０の数に対応する時間が経過した後に登録完了コマンドをスレーブＥＣＵ２０へ送信するよう送信部１２に対して指令する。
【００３２】
演算部１４は、例えば、ＣＰＵ（Central  Processing  Unit）を含み、マスタＥＣＵ１０における各種処理を実行する処理部である。
【００３３】
記憶部１５は、例えば、ＲＯＭ（Read  Only  Memory）、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ等の半導体メモリ素子、または、ＨＤＤ（Hard  Disk  Drive）、光ディスク等を含む。かかる記憶部１５は、受信部１１で受信した登録要求コマンドに含まれるＩＤを記憶する処理部である。また、記憶部１５は、マスタＥＣＵ１０に接続されることが想定されるスレーブＥＣＵ２０の最大数を考慮してあらかじめ設定された時間を閾値として記憶している。
【００３４】
次に、スレーブＥＣＵ２０について説明する。なお、各スレーブＥＣＵ２０は同じ構成・機能であるため、各スレーブＥＣＵ２０のうちスレーブＥＣＵ２１について説明する。また、他のスレーブＥＣＵ２２，２３，２４において、スレーブＥＣＵ２１の構成要素と同様の構成要素については同じ符号を付すことにより、その説明を省略する。
【００３５】
スレーブＥＣＵ２１は、受信部３１と、送信部３２と、制御部３３と、演算部３４と、記憶部３５とを備える。
【００３６】
受信部３１は、マスタＥＣＵ１０から通信線２を介して送られてくる登録指示コマンド、および登録完了コマンドを受信する処理部である。送信部３２は、後述する作成部３６が作成したＩＤを含む登録要求コマンドを、通信線２を介してマスタＥＣＵ１０へ送信する処理部である。また、送信部３２は、作成部３６が作成したＩＤを含む登録要求コマンドを繰り返し送信する。なお、受信部３１は、他のスレーブＥＣＵ２２〜２４から送られてくるＩＤを含む登録要求コマンドも受信する。
【００３７】
制御部３３は、例えば、ＦＰＧＡ、マイクロコントローラ等を含み、スレーブＥＣＵ２１における各種処理を制御する処理部である。かかる制御部３３は、作成部３６と、判定部３７と、指示部３８とを備える。
【００３８】
作成部３６は、登録指示コマンドに対応するＩＤを作成する処理部である。具体的には、作成部３６は、受信部３１で「充電」に対応する「コマンドＡ」のＩＤ登録を指示する登録指示コマンドを受信した場合に、かかる登録指示コマンドに対応して、例えば、１０１から通し番号順にＩＤを作成する。
【００３９】
また、作成部３６は、受信部３１で「放電」に対応する「コマンドＢ」のＩＤ登録を指示する登録指示コマンドを受信した場合に、かかる登録指示コマンドに対応して、例えば、２０１から通し番号順にＩＤを作成する。
【００４０】
つまり、作成部３６は、受信部３１で監視内容に対応するコマンドのＩＤ登録を指示する登録指示コマンドを受信した場合に、例えば、カウンタ等によるカウントアップによって所定時間毎にＩＤをあらかじめ定められた通し番号順に作成する。
【００４１】
判定部３７は、マスタＥＣＵ１０から送信されたＩＤの登録を指示する登録指示コマンドを受信したか否かを判定する処理部である。
【００４２】
また、判定部３７は、作成したＩＤを含む登録要求コマンドをマスタＥＣＵ１０へ送信する前に他のスレーブＥＣＵ２２，２３，２４から登録要求コマンドを受信したか否かを判定する。また、判定部３７は、ＩＤの登録が完了したことを示す登録完了コマンドを受信したか否かを判定する。
【００４３】
また、判定部３７は、スレーブＥＣＵ２１が送信しようとしているＩＤとスレーブＥＣＵ２２，２３，２４から送信される登録要求コマンドに含まれるＩＤとが同一か否かを判定する。
【００４４】
指示部３８は、作成したＩＤを含む登録要求コマンドをマスタＥＣＵ１０へ送信する前に他のスレーブＥＣＵ２２，２３，２４から登録要求コマンドを受信した場合に、他のスレーブＥＣＵ２２，２３，２４から受信した登録要求コマンドに含まれるＩＤ以外のＩＤを作成するよう作成部３６に対して指示する処理部である。
【００４５】
また、指示部３８は、作成したＩＤを含む登録要求コマンドをマスタＥＣＵ１０へ送信できた場合に、送信できたＩＤを繰り返し送信するよう送信部３２に対して指示する。
【００４６】
また、指示部３８は、登録完了コマンドを受信するまでの間、スレーブＥＣＵ２２，２３，２４から送信される登録要求コマンドの受信を継続するよう受信部３１に対して指示する。
【００４７】
また、指示部３８は、各スレーブＥＣＵ２１，２２，２３，２４のＩＤの登録が完了したことを示す登録完了コマンドをマスタＥＣＵ１０から受信した場合に、最後に送信した登録要求コマンドに含まれるＩＤを記憶するよう記憶部３５に対して指示する。
【００４８】
演算部３４は、例えば、ＣＰＵを含み、スレーブＥＣＵ２１における各種処理を実行する処理部である。
【００４９】
記憶部３５は、例えば、ＲＯＭ、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子、または、ＨＤＤ、光ディスク等を含む。かかる記憶部３５は、送信部３２で最後に送信した登録要求コマンドに含まれるＩＤを記憶する処理部である。
【００５０】
次に、図３Ａおよび図３Ｂを用いて、実施形態に係る通信システム１によるＩＤの登録処理について説明する。図３Ａおよび図３Ｂは、実施形態に係る通信システム１によるＩＤの登録処理の一例を示すシーケンス図である。
【００５１】
まず、図３Ａを用いて、各スレーブＥＣＵ２１，２２，２３，２４においてＩＤが登録される例について説明する。具体的には、「充電」に対応する「コマンドＡ」のＩＤ登録を指示する登録指示コマンドに応じて各スレーブＥＣＵ２１，２２，２３，２４において１０１から１０４までのＩＤのうちいずれかのＩＤが登録される場合について説明する。
【００５２】
図３Ａに示すように、まず、マスタＥＣＵ１０は、各スレーブＥＣＵ２１，２２，２３，２４に対して「充電」に対応する「コマンドＡ」のＩＤ登録を指示する登録指示コマンドを送信する。
【００５３】
各スレーブＥＣＵ２１，２２，２３，２４は、受信部３１で登録指示コマンドを受信することによってＩＤの登録要求モードへ遷移する。そして、各スレーブＥＣＵ２１，２２，２３，２４は、「コマンドＡ」に応じたあらかじめ定められた通し番号において最小の通し番号である「１０１」のＩＤを作成する（ステップＳ１０）。
【００５４】
次に、各スレーブＥＣＵ２１，２２，２３，２４は、「１０１」を含む登録要求コマンドをマスタＥＣＵ１０へ送信しようとする。
【００５５】
ここで、スレーブＥＣＵ２１が他のスレーブＥＣＵ２２，２３，２４よりも早いタイミングでマスタＥＣＵ１０へ「１０１」を含む登録要求コマンドを送信できたとする。かかる場合、他のスレーブＥＣＵ２２，２３，２４は、「１０１」を含む登録要求コマンドの送信準備中にスレーブＥＣＵ２１から送信された「１０１」を含む登録要求コマンドを受信することになる。
【００５６】
つまり、他のスレーブＥＣＵ２２，２３，２４は、マスタＥＣＵ１０への「１０１」を含む登録要求コマンドの送信において調停負けとなる（ステップＳ１１）。調停負けした他のスレーブＥＣＵ２２，２３，２４は、送信準備中のＩＤと受信した登録要求コマンドに含まれるＩＤとが同じであるため、次の通し番号である「１０２」のＩＤを作成する。
【００５７】
一方、調停勝ちしたスレーブＥＣＵ２１は、マスタＥＣＵ１０から登録完了コマンドを受信するまで「１０１」を含む登録要求コマンドを一定間隔で再送し続ける。マスタＥＣＵ１０は、ネットワーク上にＩＤ「１０１」を持つスレーブＥＣＵが存在することを記憶部１５に記憶する。
【００５８】
そのあとのスレーブＥＣＵ２１は、他のスレーブＥＣＵ２２，２３，２４から送信される登録要求コマンドの受信を継続する。なお、スレーブＥＣＵ２１は、ＩＤ「１０１」を他のスレーブＥＣＵ２２，２３，２４から受信しないため、カウントアップによるＩＤの作成（「１０２」、「１０３」、「１０４」…）は行わず、同じＩＤ「１０１」、つまり、送信できたＩＤ「１０１」を繰り返し送信する。
【００５９】
次に、各スレーブＥＣＵ２２，２３，２４は、「１０２」を含む登録要求コマンドをマスタＥＣＵ１０へ送信しようとする。
【００６０】
ここで、スレーブＥＣＵ２２が他のスレーブＥＣＵ２３，２４よりも早いタイミングでマスタＥＣＵ１０へ「１０２」を含む登録要求コマンドを送信できたとする。かかる場合、他のスレーブＥＣＵ２３，２４は、「１０２」を含む登録要求コマンドの送信準備中にスレーブＥＣＵ２２から送信された「１０２」を含む登録要求コマンドを受信することになる。
【００６１】
つまり、他のスレーブＥＣＵ２３，２４は、マスタＥＣＵ１０への「１０２」を含む登録要求コマンドの送信において調停負けとなる（ステップＳ１２）。調停負けした他のスレーブＥＣＵ２３，２４は、送信準備中のＩＤと受信した登録要求コマンドに含まれるＩＤとが同じであるため、次の通し番号である「１０３」のＩＤを作成する。
【００６２】
一方、調停勝ちしたスレーブＥＣＵ２２は、マスタＥＣＵ１０から登録完了コマンドを受信するまで「１０２」を含む登録要求コマンドを一定間隔で再送し続ける。マスタＥＣＵ１０は、ネットワーク上にＩＤ「１０２」を持つスレーブＥＣＵが存在することを記憶部１５に記憶する。
【００６３】
そのあとのスレーブＥＣＵ２２は、他のスレーブＥＣＵ２１，２３，２４から送信される登録要求コマンドの受信を継続する。なお、スレーブＥＣＵ２２は、ＩＤ「１０２」を他のスレーブＥＣＵ２１，２３，２４から受信しないため、カウントアップによるＩＤの作成（「１０３」、「１０４」…）は行わず、同じＩＤ「１０２」、つまり、送信できたＩＤ「１０２」を繰り返し送信する。
【００６４】
次に、各スレーブＥＣＵ２３，２４は、「１０３」を含む登録要求コマンドをマスタＥＣＵ１０へ送信しようとする。
【００６５】
ここで、スレーブＥＣＵ２３が他のスレーブＥＣＵ２４よりも早いタイミングでマスタＥＣＵ１０へ「１０３」を含む登録要求コマンドを送信できたとする。かかる場合、他のスレーブＥＣＵ２４は、「１０３」を含む登録要求コマンドの送信準備中にスレーブＥＣＵ２３から送信された「１０３」を含む登録要求コマンドを受信することになる。
【００６６】
つまり、他のスレーブＥＣＵ２４は、マスタＥＣＵ１０への「１０３」を含む登録要求コマンドの送信において調停負けとなる（ステップＳ１３）。調停負けした他のスレーブＥＣＵ２４は、送信準備中のＩＤと受信した登録要求コマンドに含まれるＩＤとが同じであるため、次の通し番号である「１０４」のＩＤを作成する。
【００６７】
一方、調停勝ちしたスレーブＥＣＵ２３は、マスタＥＣＵ１０から登録完了コマンドを受信するまで「１０３」を含む登録要求コマンドを一定間隔で再送し続ける。マスタＥＣＵ１０は、ネットワーク上にＩＤ「１０３」を持つスレーブＥＣＵが存在することを記憶部１５に記憶する。
【００６８】
そのあとのスレーブＥＣＵ２３は、他のスレーブＥＣＵ２１，２２，２４から送信される登録要求コマンドの受信を継続する。なお、スレーブＥＣＵ２３は、ＩＤ「１０３」を他のスレーブＥＣＵ２１，２２，２４から受信しないため、カウントアップによるＩＤの作成（「１０４」…）は行わず、同じＩＤ「１０３」、つまり、送信できたＩＤ「１０３」を繰り返し送信する。
【００６９】
次に、スレーブＥＣＵ２４は、「１０４」を含む登録要求コマンドをマスタＥＣＵ１０へ送信しようとする。かかるスレーブＥＣＵ２４は、他のスレーブＥＣＵ２１，２２，２３がそれぞれ「１０１」、「１０２」、「１０３」を含む登録要求コマンド、すなわち「１０４」ではない登録要求コマンドを継続して送信しており、「１０４」はどのスレーブＥＣＵ２１，２２，２３からも送信されていないため、ＩＤ「１０４」を含む登録要求コマンドをマスタＥＣＵ１０へ送信できる（ステップＳ１４）。
【００７０】
そして、スレーブＥＣＵ２４は、マスタＥＣＵ１０から登録完了コマンドを受信するまで「１０４」を含む登録要求コマンドを一定間隔で再送し続ける。マスタＥＣＵ１０は、ネットワーク上にＩＤ「１０４」を持つスレーブＥＣＵが存在することを記憶部１５に記憶する。
【００７１】
そのあと、マスタＥＣＵ１０は、各スレーブＥＣＵ２１，２２，２３，２４に対して登録完了コマンドを送信する。なお、マスタＥＣＵ１０は、マスタＥＣＵ１０が管理するスレーブＥＣＵ２１，２２，２３，２４のすべてについてＩＤの登録が完了した場合、もしくは、あらかじめ設定されている所定時間を経過した場合に、登録完了コマンドを送信する。
【００７２】
そして、各スレーブＥＣＵ２１，２２，２３，２４は、受信部３１で登録完了コマンドを受信することによって最後に送信した登録要求コマンドに含まれるＩＤを記憶部３５に記憶する。
【００７３】
上記した例では、スレーブＥＣＵ２１が記憶部３５に「１０１」を記憶し、スレーブＥＣＵ２２が記憶部３５に「１０２」を記憶する。また、スレーブＥＣＵ２３が記憶部３５に「１０３」を記憶し、スレーブＥＣＵ２４が記憶部３５に「１０４」を記憶する（ステップＳ１５）。
【００７４】
このように、「充電」に対応する「コマンドＡ」の登録を指示する登録指示コマンドに応じて各スレーブＥＣＵ２１，２２，２３，２４において１０１から１０４までのＩＤのうちいずれかのＩＤが割り振られる。
【００７５】
次に、図３Ｂを用いて、スレーブＥＣＵ２１，２２，２３，２４においてＩＤが登録されるその他の例について説明する。具体的には、「放電」に対応する「コマンドＢ」の登録を指示する登録指示コマンドに応じてスレーブＥＣＵ２１，２２，２３，２４において２０１から２０４までのＩＤのうちいずれかのＩＤが登録される場合について説明する。
【００７６】
図３Ｂに示すように、まず、マスタＥＣＵ１０は、各スレーブＥＣＵ２１，２２，２３，２４に対して「放電」に対応する「コマンドＢ」の登録を指示する登録指示コマンドを送信する。
【００７７】
各スレーブＥＣＵ２１，２２，２３，２４は、受信部３１で登録指示コマンドを受信することによってＩＤの登録要求モードへ遷移する。そして、各スレーブＥＣＵ２１，２２，２３，２４は、「コマンドＢ」に応じたあらかじめ定められた通し番号において最小の通し番号である「２０１」のＩＤを作成する（ステップＳ２０）。
【００７８】
次に、各スレーブＥＣＵ２１，２２，２３，２４は、「２０１」を含む登録要求コマンドをマスタＥＣＵ１０へ送信しようとする。
【００７９】
ここで、スレーブＥＣＵ２１およびスレーブＥＣＵ２２が他のスレーブＥＣＵ２３，２４よりも早いタイミングでマスタＥＣＵ１０へ「２０１」を含む登録要求コマンドを同時に送信できたとする。かかる場合、他のスレーブＥＣＵ２３，２４は、「２０１」を含む登録要求コマンドの送信準備中にスレーブＥＣＵ２１およびスレーブＥＣＵ２２から同時に送信された「２０１」を含む登録要求コマンドを受信することになる。
【００８０】
つまり、他のスレーブＥＣＵ２３，２４は、マスタＥＣＵ１０への「２０１」を含む登録要求コマンドの送信において調停負けとなる（ステップＳ２１）。調停負けした他のスレーブＥＣＵ２３，２４は、送信準備中のＩＤと受信した登録要求コマンドに含まれるＩＤとが同じであるため、次の通し番号である「２０２」のＩＤを作成する。
【００８１】
一方、調停勝ちしたスレーブＥＣＵ２１およびスレーブＥＣＵ２２は、「２０１」を他のスレーブＥＣＵ２３，２４から受信しなかったため、マスタＥＣＵ１０から登録完了コマンドを受信するまで「２０１」を含む登録要求コマンドを一定間隔で再送し続けようとする。
【００８２】
マスタＥＣＵ１０は、「２０１」を含む登録要求コマンドを受信したため、ネットワーク上にＩＤ「２０１」を持つスレーブＥＣＵが存在することを記憶部１５に記憶する。
【００８３】
また、スレーブＥＣＵ２１，２２は、カウントアップによるＩＤの作成を行わずに、「２０１」を含む登録要求コマンドを再度送信することになる。
【００８４】
次に、スレーブＥＣＵ２１，２２は「２０１」を含む登録要求コマンドをマスタＥＣＵ１０へ再度送信しようとし、スレーブＥＣＵ２３，２４は「２０２」を含む登録要求コマンドをマスタＥＣＵ１０へ送信しようとする。
【００８５】
ここで、スレーブＥＣＵ２３が他のスレーブＥＣＵ２１，２２，２４よりも早いタイミングでマスタＥＣＵ１０へ「２０２」を含む登録要求コマンドを送信できたとする。かかる場合、スレーブＥＣＵ２１，２２は、「２０１」を含む登録要求コマンドの送信準備中にスレーブＥＣＵ２３から送信された「２０２」を含む登録要求コマンドを受信することになる。また、スレーブＥＣＵ２４は、「２０２」を含む登録要求コマンドの送信準備中にスレーブＥＣＵ２３から送信された「２０２」を含む登録要求コマンドを受信することになる。
【００８６】
つまり、スレーブＥＣＵ２１，２２はマスタＥＣＵ１０への「２０１」を含む登録要求コマンドの送信において調停負けとなり、スレーブＥＣＵ２４はマスタＥＣＵ１０への「２０２」を含む登録要求コマンドの送信において調停負けとなる（ステップＳ２２）。調停負けしたスレーブＥＣＵ２１，２２は、「２０１」が他のスレーブＥＣＵ２３,２４から送信されていないため、「２０１」を含む登録要求コマンドを再度送信することになる。また、調停負けしたスレーブＥＣＵ２４は、送信準備中のＩＤと受信した登録要求コマンドに含まれるＩＤとが同じであるため、次の通し番号である「２０３」のＩＤを作成する。
【００８７】
一方、調停勝ちしたスレーブＥＣＵ２３は、マスタＥＣＵ１０から登録完了コマンドを受信するまで「２０２」を一定間隔で再送し続ける。マスタＥＣＵ１０は、ネットワーク上にＩＤ「２０２」を持つスレーブＥＣＵが存在することを記憶部１５に記憶する。
【００８８】
そのあとのスレーブＥＣＵ２３は、他のスレーブＥＣＵ２１，２２，２４から送信される登録要求コマンドの受信を継続する。なお、スレーブＥＣＵ２３は、他のスレーブＥＣＵ２１，２２，２４からＩＤ「２０２」を受信しないため、カウントアップによるＩＤの作成（「２０３」、「２０４」…）は行わず、同じＩＤ「２０２」、つまり、送信できたＩＤ「２０２」を繰り返し送信する。
【００８９】
次に、スレーブＥＣＵ２１，２２は「２０１」を含む登録要求コマンドをマスタＥＣＵ１０へ再度送信しようとし、スレーブＥＣＵ２４は「２０３」を含む登録要求コマンドをマスタＥＣＵ１０へ送信しようとする。
【００９０】
ここで、スレーブＥＣＵ２２が他のスレーブＥＣＵ２１，２３よりも早いタイミングでマスタＥＣＵ１０へ「２０１」を含む登録要求コマンドを送信できたとする。かかる場合、スレーブＥＣＵ２１は、「２０１」を含む登録要求コマンドの送信準備中にスレーブＥＣＵ２２から送信された「２０１」を含む登録要求コマンドを受信することになる。また、スレーブＥＣＵ２４は、「２０３」を含む登録要求コマンドの送信準備中にスレーブＥＣＵ２２から送信された「２０１」を含む登録要求コマンドを受信することになる。
【００９１】
つまり、スレーブＥＣＵ２１はマスタＥＣＵ１０への「２０１」を含む登録要求コマンドの送信において調停負けとなり、スレーブＥＣＵ２４はマスタＥＣＵ１０への「２０３」を含む登録要求コマンドの送信において調停負けとなる（ステップＳ２３）。調停負けしたスレーブＥＣＵ２１は、受信した登録要求コマンドに含まれるＩＤ（「２０１」、「２０２」）以外のＩＤで、通し番号である「２０３」を作成する。また、調停負けしたスレーブＥＣＵ２４は、送信準備中のＩＤと受信した登録要求コマンドに含まれるＩＤとが同じでないため、カウントアップによるＩＤの作成を行わずに、「２０３」を含む登録要求コマンドを再度送信することになる。
【００９２】
一方、調停勝ちしたスレーブＥＣＵ２２は、マスタＥＣＵ１０から登録完了コマンドを受信するまで「２０１」を含む登録要求コマンドを一定間隔で再送し続ける。マスタＥＣＵ１０は、ステップＳ２１で既にＩＤ「２０１」を持つスレーブＥＣＵが存在することを記憶部１５に記憶しているため、ここではＩＤ「２０１」を持つスレーブＥＣＵが存在することを新たに記憶しない。
【００９３】
そのあとのスレーブＥＣＵ２２は、他のスレーブＥＣＵ２１，２３，２４から送信される登録要求コマンドの受信を継続する。なお、スレーブＥＣＵ２２は、他のスレーブＥＣＵ２１，２３，２４からＩＤ「２０１」を受信しないため、カウントアップによるＩＤの作成（「２０２」、「２０３」…）は行わず、同じＩＤ「２０１」、つまり、送信できたＩＤ「２０１」を繰り返し送信する。
【００９４】
次に、スレーブＥＣＵ２１は「ＩＤ２０３」を含む登録要求コマンドをマスタＥＣＵ１０へ送信しようとし、スレーブＥＣＵ２４は「２０３」を含む登録要求コマンドをマスタＥＣＵ１０へ再度送信しようとする。
【００９５】
ここで、スレーブＥＣＵ２４がスレーブＥＣＵ２１よりも早いタイミングでマスタＥＣＵ１０へ「２０３」を含む登録要求コマンドを送信できたとする。かかる場合、スレーブＥＣＵ２１は、「２０３」を含む登録要求コマンドの送信準備中にスレーブＥＣＵ２４から送信された「２０３」を含む登録要求コマンドを受信することになる。
【００９６】
つまり、スレーブＥＣＵ２１はマスタＥＣＵ１０への「２０３」を含む登録要求コマンドの送信において調停負けとなる（ステップＳ２４）。調停負けしたスレーブＥＣＵ２１は、送信準備中のＩＤと受信した登録要求コマンドに含まれるＩＤとが同じであるため、次の通し番号である「２０４」のＩＤを作成する。
【００９７】
一方、調停勝ちしたスレーブＥＣＵ２４は、マスタＥＣＵ１０から登録完了コマンドを受信するまで「２０３」を含む登録要求コマンドを一定間隔で再送し続ける。マスタＥＣＵ１０は、ネットワーク上にＩＤ「２０３」を持つスレーブＥＣＵが存在することを記憶部１５に記憶する。
【００９８】
そのあとのスレーブＥＣＵ２４は、他のスレーブＥＣＵ２１，２２，２３から送信される登録要求コマンドの受信を継続する。なお、スレーブＥＣＵ２４は、他のスレーブＥＣＵ２１，２２，２３からＩＤ「２０３」を受信しないため、カウントアップによるＩＤの作成（「２０４」…）は行わず、同じＩＤ「２０３」、つまり、送信できたＩＤ「２０３」を繰り返し送信する。
【００９９】
次に、スレーブＥＣＵ２１は、「２０４」を含む登録要求コマンドをマスタＥＣＵ１０へ送信しようとする。かかるスレーブＥＣＵ２１は、他のスレーブＥＣＵ２２，２３，２４がそれぞれ「２０１」、「２０２」、「２０３」を含む登録要求コマンド、すなわち「２０４」ではない登録要求コマンドを継続して送信しており、「２０４」はどのスレーブＥＣＵ２２，２３，２４からも送信されていないため、「２０４」を含む登録要求コマンドをマスタＥＣＵ１０へ送信できる（ステップＳ２５）。
【０１００】
そして、スレーブＥＣＵ２１は、マスタＥＣＵ１０から登録完了コマンドを受信するまで「２０４」を含む登録要求コマンドを一定間隔で再送し続ける。マスタＥＣＵ１０は、ネットワーク上にＩＤ「２０４」を持つスレーブＥＣＵが存在することを記憶部１５に記憶する。
【０１０１】
そのあと、マスタＥＣＵ１０は、各スレーブＥＣＵ２１，２２，２３，２４に対して登録完了コマンドを送信する。そして、各スレーブＥＣＵ２１，２２，２３，２４は、受信部３１で登録完了コマンドを受信することによって最後に送信した登録要求コマンドに含まれるＩＤを記憶部３５に記憶する。
【０１０２】
上記した例では、スレーブＥＣＵ２１が記憶部３５に「２０４」を記憶し、スレーブＥＣＵ２２が記憶部３５に「２０１」を記憶する。また、スレーブＥＣＵ２３が記憶部３５に「２０２」を記憶し、スレーブＥＣＵ２４が記憶部３５に「２０３」を記憶する（ステップＳ２６）。
【０１０３】
このように、「放電」に対応する「コマンドＢ」の登録を指示する登録指示コマンドに応じて各スレーブＥＣＵ２１，２２，２３，２４において２０１から２０４までのＩＤのうちいずれかのＩＤが割り振られる。
【０１０４】
なお、各スレーブＥＣＵ２１，２２，２３，２４におけるＩＤの登録処理が終わった後、例えば、マスタＥＣＵ１０に複数の新たなスレーブＥＣＵを追加で接続してもよい。
【０１０５】
かかる場合、追加前に存在していたスレーブＥＣＵ２１，２２，２３，２４と追加される新たなスレーブＥＣＵを含む全てのスレーブＥＣＵに対して、上記したＩＤの登録処理を最初からやり直すことになる。これにより、新たなスレーブＥＣＵを追加した場合でも、同一のソフトで各スレーブＥＣＵ２０へのＩＤの割り振りを行うことができる。
【０１０６】
また、ＩＤの登録処理が終わった後、例えば、各スレーブＥＣＵ２１，２２，２３，２４のうちいずれか少なくとも一つのスレーブＥＣＵを交換した場合も、上述したＩＤの登録処理を改めて行う。
【０１０７】
次に、図４および図５を用いて、実施形態に係る通信システム１が実行するＩＤの登録処理の手順について説明する。図４および図５は、実施形態に係る通信システム１が実行するＩＤの登録処理手順を示すフローチャート（その１）〜（その２）である。
【０１０８】
まず、図４を用いて、マスタＥＣＵ１０側で実行されるＩＤの登録処理手順について説明する。
【０１０９】
図４に示すように、まず、マスタＥＣＵ１０に図示せぬイグニッションスイッチのオンにより電源が投入されるとマスタＥＣＵ１０は初期化等の起動処理を行う（ステップＳ１０１）。次に、マスタＥＣＵ１０は、確認部１６がＩＤの登録処理を実施したか否かを確認する（ステップＳ１０２）。そして、マスタＥＣＵ１０は、確認部１６がＩＤの登録処理を実施していると確認した場合（ステップＳ１０２，Ｙｅｓ）、ＩＤの登録処理を終了する。
【０１１０】
一方、マスタＥＣＵ１０は、確認部１６がＩＤの登録処理を実施していないと確認した場合（ステップＳ１０２，Ｎｏ）、設定部１７が登録要求コマンドの受付開始から受付終了までの時間を設定する。具体的には、設定部１７が各スレーブＥＣＵ２０側で作成したＩＤがマスタＥＣＵ１０にすべて登録されるように、あらかじめ設定された登録要求コマンドの受付終了までの時間を記憶部１５から読み出す（ステップＳ１０３）。
【０１１１】
つまり、受付終了までの時間は、マスタＥＣＵ１０に接続されることが想定されるスレーブＥＣＵ２０の最大数に応じてあらかじめ登録要求コマンドの受付開始から受付終了までの時間として設定されている。また、設定部１７は、各スレーブＥＣＵ２０のうちいずれかのスレーブＥＣＵ２０に故障があった場合、設定した時間が経過する前に登録要求コマンドの受付を終了するようにしてもよい（フェールセーフ）。
【０１１２】
そのあと、マスタＥＣＵ１０は、指令部１８がＩＤの登録を指示する登録指示コマンドを送信するように送信部１２に対して指令を出す。そして、マスタＥＣＵ１０は、送信部１２が登録指示コマンドを各スレーブＥＣＵ２０へ送信する（ステップＳ１０４）。これにより、マスタＥＣＵ１０は、登録指示コマンドの送信と同時に登録受付モードへ移行する。
【０１１３】
次に、マスタＥＣＵ１０は、受信部１１が各スレーブＥＣＵ２０のうちいずれかのスレーブＥＣＵ２０からＩＤを含む登録要求コマンドの受信を受け付ける（ステップＳ１０５）。そして、マスタＥＣＵ１０は、登録要求コマンドを受信した場合（ステップＳ１０５，Ｙｅｓ）、記憶部１５が登録要求コマンドに含まれるＩＤを記憶する（ステップＳ１０６）。
【０１１４】
一方、マスタＥＣＵ１０は、登録要求コマンドを受信しなかった場合（ステップＳ１０５，Ｎｏ）、ステップＳ１０７へ進む。
【０１１５】
次に、マスタＥＣＵ１０は、設定部１７があらかじめ設定された登録要求コマンドの受付終了までの時間が終了したか否かを判定する（ステップＳ１０７）。そして、マスタＥＣＵ１０は、設定部１７が予め設定された登録要求コマンドの受付終了までの時間が終了していないと判定した場合（ステップＳ１０７，Ｎｏ）、登録要求コマンドの受付処理を継続して実行する。
【０１１６】
一方、マスタＥＣＵ１０は、設定部１７があらかじめ設定された登録要求コマンドの受付終了までの時間が終了したと判定した場合（ステップＳ１０７，Ｙｅｓ）、指令部１８が各スレーブＥＣＵ２０のＩＤの登録が完了したことを示す登録完了コマンドを送信するように送信部１２に対して指令を出す。そして、マスタＥＣＵ１０は、送信部１２が登録完了コマンドを各スレーブＥＣＵ２０へ送信する（ステップＳ１０８）。
【０１１７】
そのあと、マスタＥＣＵ１０は、登録受付モードから通常の動作モードへ移行し（ステップＳ１０９）、処理を終了する。
【０１１８】
上記したマスタＥＣＵ１０の処理では、マスタＥＣＵ１０の起動後、ＩＤの登録処理を行っていないとき、すなわちマスタＥＣＵ１０の初回起動時のみＩＤの登録処理を行うようにしているが、ＩＤの登録処理の後に新たにスレーブＥＣＵを追加できるようにするためには、追加ＩＤ登録モードを設定可能にすればよい。
【０１１９】
具体的には、マスタＥＣＵ１０は追加ＩＤ登録モードに移行すると、ステップＳ１０３からＩＤの登録処理を開始する。したがって、追加されたスレーブＥＣＵを含む全てのスレーブＥＣＵ２０に対して、最初からＩＤの登録処理が実行される。なお、追加ＩＤ登録モードへの移行は、図示せぬツールとの通信によりツールの指示で行うことができる。
【０１２０】
また、イグニッションスイッチがオフしたときに、マスタＥＣＵ１０、およびスレーブＥＣＵ２０で記憶したＩＤを消去するようにしてもよい。その場合、イグニッションスイッチがオンしてマスタＥＣＵ１０が起動するたびに図４を用いて説明したＩＤの登録処理が実行される。したがって、新たにスレーブＥＣＵ２０を追加した場合にも容易に対応できる。
【０１２１】
次に、図５を用いて、各スレーブＥＣＵ２０側で実行されるＩＤの登録処理手順について説明する。
【０１２２】
図５に示すように、まず、スレーブＥＣＵ２０はマスタＥＣＵ１０と同様に、電源の投入により起動処理を行う（ステップＳ２０１）。次に、スレーブＥＣＵ２０は、判定部３７がマスタＥＣＵ１０から送信された登録指示コマンドを受信したか否かを判定する（ステップＳ２０２）。そして、スレーブＥＣＵ２０は、判定部３７が登録指示コマンドを受信していないと判定した場合（ステップＳ２０２，Ｎｏ）、登録指示コマンドを受信するまでステップＳ２０２の処理を繰り返し実行する。
【０１２３】
なお、スレーブＥＣＵ２０は、所定時間内にマスタＥＣＵ１０から登録指示コマンドを受信しなかった場合、あらかじめ設定されている初期値（デフォルト）をＩＤとして設定してもよい。また、スレーブＥＣＵ２０は、所定時間内にマスタＥＣＵ１０から登録指示コマンドを受信しなかった場合、前回のＩＤの登録処理によって記憶部３５に記憶されているＩＤを用いてもよい。
【０１２４】
一方、スレーブＥＣＵ２０は、判定部３７が登録指示コマンドを受信したと判定した場合（ステップＳ２０２，Ｙｅｓ）、ＩＤの登録要求モードへ移行するとともに、作成部３６があらかじめ定められた通し番号において最小の通し番号のＩＤを作成する（ステップＳ２０３）。
【０１２５】
次に、スレーブＥＣＵ２０は、判定部３７が作成したＩＤを含む登録要求コマンドをマスタＥＣＵ１０へ送信する前に他のスレーブＥＣＵ２０から登録要求コマンドを受信したか否かを判定する（ステップＳ２０４）。
【０１２６】
そして、スレーブＥＣＵ２０は、判定部３７が他のスレーブＥＣＵ２０から登録要求コマンドを受信したと判定した場合（ステップＳ２０４，Ｙｅｓ）、以下の処理を実行する。具体的には、スレーブＥＣＵ２０は、判定部３７が送信しようとしている登録要求コマンドに含まれるＩＤと他のスレーブＥＣＵ２０から受信した登録要求コマンドに含まれるＩＤとが同じか否かを判定する（ステップＳ２０５）。
【０１２７】
そして、スレーブＥＣＵ２０は、判定部３７が送信しようとしているＩＤと受信したＩＤとが同じであると判定した場合（ステップＳ２０５，Ｙｅｓ）、指示部３８が受信していない別のＩＤを作成するように作成部３６に対して指示する（ステップＳ２０６）。具体的には、スレーブＥＣＵ２０は他のスレーブＥＣＵ２０から受信した登録要求コマンドに含まれるＩＤ以外のＩＤで、次の通し番号を作成するように作成部３６に対して指示する。
【０１２８】
また、スレーブＥＣＵ２０は、作成部３６が受信していない別のＩＤを作成したあと、ステップＳ２０５の処理に戻り、再び、ステップＳ２０５の処理から実行する。
【０１２９】
一方、スレーブＥＣＵ２０は、判定部３７が送信しようとしているＩＤと受信したＩＤとが同じでないと判定した場合（ステップＳ２０５，Ｎｏ）、指示部３８が作成したＩＤを登録要求コマンドで送信するように送信部３２に対して指示する（ステップＳ２０７）。
【０１３０】
また、ステップＳ２０４においても、スレーブＥＣＵ２０は、判定部３７が他のスレーブＥＣＵ２０から登録要求コマンドを受信しなかったと判定した場合（ステップＳ２０４，Ｎｏ）、ステップＳ２０７の処理へ進む。そのあと、スレーブＥＣＵ２０は、ステップＳ２０８の処理を実行する。
【０１３１】
次に、スレーブＥＣＵ２０は、ステップＳ２０８の処理において、判定部３７がマスタＥＣＵ１０からすべてのスレーブＥＣＵ２０のＩＤの登録が完了したことを示す登録完了コマンドを受信したか否かを判定する。
【０１３２】
スレーブＥＣＵ２０は、判定部３７が登録完了コマンドを受信しなかったと判定した場合（ステップＳ２０８，Ｎｏ）、指示部３８が他のスレーブＥＣＵ２０から送信される登録要求コマンドの受信を継続するよう受信部３１に対して指示する（ステップＳ２０９）。そして、スレーブＥＣＵ２０は、ステップＳ２０４の処理に戻り、再び、ステップＳ２０４の処理から実行する。
【０１３３】
一方、スレーブＥＣＵ２０は、判定部３７がマスタＥＣＵ１０から登録完了コマンドを受信した判定した場合（ステップＳ２０８，Ｙｅｓ）、指示部３８が最後に送信した登録要求コマンドに含まれるＩＤを記憶するよう記憶部３５に対して指示する（ステップＳ２１０）。
【０１３４】
そのあと、スレーブＥＣＵ２０は、ＩＤの登録要求モードから通常の動作モードへ移行し（ステップＳ２１１）、処理を終了する。
【０１３５】
上述した実施形態に係る通信システム１は、マスタＥＣＵ１０と、複数のスレーブＥＣＵ２０とを備える。
【０１３６】
マスタＥＣＵ１０は、ＩＤの登録を指示する登録指示コマンドを送信する。各スレーブＥＣＵ２０は、マスタＥＣＵ１０と通信可能に接続され、登録指示コマンドに対応するＩＤをマスタＥＣＵ１０へ登録する。
【０１３７】
また、スレーブＥＣＵ２０は、作成部３６と、指示部３８と、送信部３２とを備える。作成部３６は、登録指示コマンドに対応するＩＤを作成する。指示部３８は、作成部３６が作成したＩＤを含む登録要求コマンドを受信した場合に、他のスレーブＥＣＵ２０から受信した登録要求コマンドに含まれるＩＤ以外のＩＤの作成を指示する。送信部３２は、作成部３６が作成したＩＤを含む登録要求コマンドをマスタＥＣＵ１０へ送信する。
【０１３８】
これにより、上述した実施形態に係る通信システム１は、各スレーブＥＣＵ２０が自らＩＤを作成し、作成したＩＤのマスタＥＣＵ１０への送信が成功するまで、ＩＤの再作成を繰り返すことができる。
【０１３９】
したがって、上述した実施形態に係る通信システム１は、スレーブＥＣＵ２０の増減があった場合であっても、各スレーブＥＣＵ２０へ排他的なＩＤを自動的に割り振ることができる。
【０１４０】
すなわち、上述した実施形態に係る通信システム１によれば、スレーブＥＣＵ２０の増減や入替えがあった場合であっても、人手による更新作業を行うことなくスレーブＥＣＵ２０へのＩＤの割り振りを行うことができる。
【０１４１】
また、上述した実施形態に係る通信システム１において、各スレーブＥＣＵ２０は記憶部３５を備える。そして、指示部３８は、ＩＤを含む登録要求コマンドを繰り返し送信するよう送信部３２に対して指示し、各スレーブＥＣＵ２０のＩＤの登録が完了したことを示す登録完了コマンドをマスタＥＣＵ１０から受信した場合に、最後に送信したＩＤの記憶部３５への記憶を指示する。
【０１４２】
これにより、上述した実施形態に係る通信システム１は、登録指示コマンドに対応するＩＤをスレーブＥＣＵ２０側で記憶させておくことができる。
【０１４３】
このため、上述した実施形態に係る通信システム１は、構成・機能が同じスレーブＥＣＵ２０を混在させることができ、部品コストの低下およびスレーブＥＣＵ２０の品番管理の簡略化を図ることができる。
【０１４４】
また、上述した実施形態に係る通信システム１において、マスタＥＣＵ１０は、指令部１８を備える。指令部１８は、登録指示コマンドをスレーブＥＣＵ２０へ送信してからあらかじめ設定された時間が経過した後に登録完了コマンドをスレーブＥＣＵ２０へ送信するよう指令する。
【０１４５】
これにより、上述した実施形態に係る通信システム１は、すべてのスレーブＥＣＵ２０についてのマスタＥＣＵ１０へのＩＤの登録を、確実かつ効率的に行うことができる。
【０１４６】
なお、上述の実施形態に係る通信システム１は、想定されるスレーブＥＣＵ２０の最大数に応じてあらかじめ登録要求コマンドの受付開始から受付終了までの時間として設定されている時間が経過した場合に、登録完了コマンドを送信しているが、この形態に限られない。
【０１４７】
他の形態としては、時間に関係なく、マスタＥＣＵ１０が管理するすべてのスレーブＥＣＵ２０についてＩＤの登録が完了した場合に、登録完了コマンドを送信してもよい。
【０１４８】
また、上述した実施形態に係る通信システム１において、スレーブＥＣＵ２０が備える作成部３６は、あらかじめ定められた通し番号順にＩＤを作成する。
【０１４９】
これにより、上述した実施形態に係る通信システム１は、各スレーブＥＣＵ２０に対して通し番号順にＩＤを振り分けることができる。
【０１５０】
なお、上述の実施形態に係る通信システム１は、カウンタ等によるカウントアップによって所定時間毎にＩＤをあらかじめ定められた通し番号順に作成しているが、これに限られない。
【０１５１】
他の形態としては、カウンタ等によるカウントダウンによって所定時間毎にＩＤをあらかじめ定められた通し番号順に作成してもよい。具体的には、作成部３６は、あらかじめ定められた通し番号において最大の通し番号から最小の通し番号までカウントダウンによって所定時間毎に作成する。また、作成部３６は、あらかじめ定められた通し番号においてランダムに番号を所定時間毎に作成してもよい。
【０１５２】
以上の実施形態では、図１Ｂに示すようにコマンド毎にＩＤを設定する例について説明した。この例ではコマンド数の増加に応じてＩＤの登録処理に要する時間が増大してしまう。そこで、コマンドに関係なく各スレーブＥＣＵ２０のＩＤを設定するようにしてもよい。
【０１５３】
具体的には、ＩＤとして「０１」「０２」「０３」「０４」・・・のようにコマンド種別に関係なく各スレーブＥＣＵ２０を示すＩＤを登録するようにする。コマンドを送信するときはＩＤにコマンド種別を示すコード（例えば、充電を示すコマンドＡは「１」、放電を示すコマンドＢは「２」、電圧測定を示すコマンドＣは「３」など）を付加すればよい。
【０１５４】
このようにすれば、ＩＤの登録処理はコマンド毎に行う必要がなく１回で済むため、ＩＤの登録処理に要する時間を短縮することができる。
【０１５５】
次に、図６を用いて、マスタＥＣＵ、スレーブＥＣＵ、および制御装置からなる通信システムの例について説明する。図６は、実施形態に係る通信システム１００の構成例を示す図である。なお、図６において、上記したマスタＥＣＵは電池状態監視部５３に相当し、上記したスレーブＥＣＵはブロック監視部５２に相当する。
【０１５６】
通信システム１００は、例えば、図示しないハイブリット自動車（ＨＥＶ：Hybrid  Electric  Vehicle）、電気自動車（ＥＶ：Electric  Vehicle）、および燃料電池自動車（ＦＣＶ：Fuel  Cell  Vehicle）等の車両に搭載される。
【０１５７】
かかる通信システム１００は、組電池４と、組電池監視装置５と、制御装置６と、電動機７と、電力変換器８と、リレー９とを備える。
【０１５８】
組電池４は、例えば、リチウムイオン二次電池やニッケル水素二次電池等であり、図示しない車体に対して絶縁されている。かかる組電池４は、複数の電池ブロック４０が直列に接続されて構成される。各電池ブロック４０は、直列に接続された複数の電池セル４１を備える。そして、各電池セル４１には、内部電圧が上昇した時に、機械的に電流経路を遮断する不図示の電流遮断デバイス（Current  Interrupt  Device）が設けられている。
【０１５９】
組電池監視装置（通信装置）５は、組電池４の充電状態等を監視し、制御装置６へ通知する。かかる組電池監視装置５は、複数のサテライト基板５１と、電池状態監視部（マスタＥＣＵ）５３とを備える。各サテライト基板５１は、ブロック監視部（スレーブＥＣＵ）５２を有しており、電池ブロック４０毎に個別に設けられる。なお、複数のサテライト基板５１は、例えば、互いに離れた位置に配置される。
【０１６０】
ブロック監視部５２は、電池ブロック４０や電池セル４１の電圧を検出したり、電池ブロック４０の過電圧や電池ブロック４０の断線等を検出したりし、これらの検出結果を電池状態監視部５３へ通知する。なお、各ブロック監視部５２は、上述したＩＤの登録処理によって電池セル４１の監視内容毎にＩＤが割り振られている。
【０１６１】
電池状態監視部５３は、ＩＤが割り振られているブロック監視部５２から取得した情報に基づいて組電池４の充電状態等を判定する。また、電池状態監視部５３は、組電池４の充電状態等を制御装置６へ通知したり、組電池４の充電状態に基づいてリレー９をオフにして組電池４に対する充放電を停止させたりすることができる。なお、電池状態監視部５３は、上述したＩＤの登録処理によって電池セル４１の監視内容毎に各ブロック監視部５２に対して割り振られたＩＤを記憶している。
【０１６２】
例えば、電池状態監視部５３は、ＩＤが割り振られている複数のブロック監視部５２のうちいずれかのブロック監視部５２によって電池ブロック４０の充電状態における異常が検出された場合、リレー９をオフにして、組電池４に対する充電を停止させることができる。
【０１６３】
制御装置６は、組電池４の充電状態に応じて組電池４に対する充放電を行って車両を制御する。例えば、制御装置６は、組電池４に充電された電圧を電力変換器８に直流から交流の電圧に変換させ、変換された電圧を電動機７へ供給して電動機７を駆動させる。これにより組電池４が放電される。
【０１６４】
また、制御装置６は、電動機７の回生制動によって発電した電圧を電力変換器８に交流から直流の電圧に変換させ、組電池４へ供給する。これにより、組電池４が充電される。このように、制御装置６は、組電池監視装置５から取得した組電池４の充電状態に基づいて組電池４の電圧を監視し、監視結果に応じた制御を実行する。
【０１６５】
上述した実施形態に係る通信システム１００は、組電池監視装置５と、かかる組電池監視装置５を制御する制御装置６とを備える。組電池監視装置５は、各ブロック監視部５２へ排他的なＩＤを自動的に割り振る。
【０１６６】
したがって、上述した実施形態に係る通信システム１００は、新たに電池セル４１を追加してかかる電池セル４１を監視するブロック監視部５２を追加した場合であっても、人手による更新作業を行うことなくブロック監視部５２へのＩＤの割り振りを行うことができる。
【０１６７】
なお、通信システム１００の用途は、車両内における組電池の監視に特に限定されるものでなく、例えば、車両内の機器の監視等に用いてもよい。
【０１６８】
また、上述の実施形態では、通信システム１００が車両に搭載される場合を例に挙げているが、車両に限られず、例えば、飛行機、船舶、ロボット等に搭載してもよい。
【０１６９】
また、上述の実施形態では、上位ユニットとしてマスタＥＣＵを、下位ユニットとしてスレーブＥＣＵを例に挙げているが、これに限定されず、上位ユニットおよび下位ユニットは電子機器であってもよい。つまり、上位の電子機器から下位の電子機器へ指令を送信して動作させる階層的な構成をとるものであれば本発明を適用することができる。
【０１７０】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【０１７１】
１          通信システム
１０        マスタＥＣＵ
１１        受信部
１２        送信部
１３        制御部
１４        演算部
１５        記憶部
１６        確認部
１７        設定部
１８        指令部
２          通信線
２０        スレーブＥＣＵ
３１        受信部
３２        送信部
３３        制御部
３４        演算部
３５        記憶部
３６        作成部
３７        判定部
３８        指示部
１００      通信システム
【図１Ａ】
2018207350.tif 000003
【図１Ｂ】
2018207350.tif 000004
【図２】
2018207350.tif 000005
【図３Ａ】
2018207350.tif 000006
【図３Ｂ】
2018207350.tif 000007
【図４】
2018207350.tif 000008
【図５】
2018207350.tif 000009
【図６】
2018207350.tif 000010