(57)【要約】【課題】ＩＤ情報の設定のための特別な構成を設けることなく、各スレーブデバイスに重複しないＩＤ情報を設定する。【解決手段】複数のスレーブＩＣ（１〜Ｎ）が、ホストＩＣ（１０）と通信可能に接続された電子機器におけるホストＩＣ（１０）であって、複数のスレーブＩＣ（１〜Ｎ）のそれぞれに、当該複数のスレーブＩＣ（１〜Ｎ）のそれぞれが有するＩＤ情報を変更させる処理を、変更後のＩＤ情報が各スレーブデバイス間で相互に重複しない状態となるまで繰り返す。【選択図】図１
2019191956.tif 000002
【特許請求の範囲】
【請求項１】
複数のスレーブデバイスが、ホストデバイスと通信可能に接続された電子機器であって、
上記ホストデバイスは、
上記複数のスレーブデバイスのそれぞれに、当該複数のスレーブデバイスのそれぞれが有するＩＤ情報を変更させる処理を、変更後のＩＤ情報が各スレーブデバイス間で相互に重複しない状態となるまで繰り返すことを特徴とする電子機器。
【請求項２】
上記ホストデバイスは、
上記複数のスレーブデバイスに設定されている可能性がある各ＩＤ情報を指定した返信要求を上記複数のスレーブデバイスのそれぞれに送信し、
異なるＩＤ情報を有する上記スレーブデバイスからの返信の回数と、上記複数のスレーブデバイスの数とが一致した場合に、上記ＩＤ情報を変更させる処理を終了することを特徴とする請求項１に記載の電子機器。
【請求項３】
上記ホストデバイスは、
上記複数のスレーブデバイスに設定されている可能性があるＩＤ情報を指定した返信要求を上記複数のスレーブデバイスのそれぞれに送信し、当該指定したＩＤ情報を有する上記スレーブデバイスからの返信があったか否かを確認する処理を、指定するＩＤ情報を変更しながら繰り返し、
上記返信があった回数と上記複数のスレーブデバイスの数とが一致した時点で、上記ＩＤ情報を変更させる処理を終了することを特徴とする請求項２に記載の電子機器。
【請求項４】
上記複数のスレーブデバイスのＩＤ情報が互いに重複しない状態となった後、上記複数のスレーブデバイスのうち上記電子機器の所定の位置に配置されたスレーブデバイスを検出し、該検出したスレーブデバイスのＩＤ情報を、上記所定の位置に対応付けられた所定のＩＤ情報に書き換えさせることを特徴とする請求項１または２に記載の電子機器。
【請求項５】
複数のスレーブデバイスが、ホストデバイスと通信可能に接続された電子機器における上記複数のスレーブデバイスが有するＩＤ情報の設定方法であって、
上記複数のスレーブデバイスのそれぞれが有するＩＤ情報を変更させる変更ステップと、
上記変更ステップの変更により、上記複数のスレーブデバイスのそれぞれが有するＩＤ情報が相互に重複しない状態となっているか否かを判定する判定ステップと、を含み、
上記判定ステップにて、相互に重複しない状態となっていると判定されるまで、上記変更ステップと上記判定ステップを繰り返すことを特徴とする設定方法。
【請求項６】
複数のスレーブデバイスが、ホストデバイスと通信可能に接続された電子機器におけるホストデバイスであって、
上記複数のスレーブデバイスのそれぞれに、当該複数のスレーブデバイスのそれぞれが有するＩＤ情報を変更させる処理を、変更後のＩＤ情報が各スレーブデバイス間で相互に重複しない状態となるまで繰り返すことを特徴とするホストデバイス。
【請求項７】
請求項５に記載の各ステップをコンピュータに実行させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器、ＩＤ情報の設定方法、ホストデバイスおよび制御プログラムに関する。
【背景技術】
【０００２】
特許文献１には、駆動ＩＣの誤組付けを防止しつつ制御用の識別ＩＤを簡便に付与することができる車載用電子機器（以下、単に「電子機器」という）が開示されている。この電子機器では、通信バスに駆動ＩＣを各々装着するためのＩＣソケットを配置し、該ＩＣソケットに装着された駆動ＩＣと通信バスとの接続を有効状態と無効状態との間で個別に切り替える通信制御スイッチを設けている。また、上記複数のＩＣソケットには、複数の駆動ＩＣが、ＩＤ情報が書き込まれる前の状態で順不同に装着されている。
【０００３】
そして、同電子機器では、各ＩＣソケットに装着された複数の駆動ＩＣの通信バスへの接続が、通信バス上のＩＣソケットの配列順に従い順次有効化されるように、通信制御スイッチを作動制御するとともに、通信バスに接続された駆動ＩＣから順に、通信バスを介してＩＤ情報を、制御司令部から送信し書き込むようになっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平２００７‐１２６０５５号公報（２００７年５月２４日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記従来技術では、各駆動ＩＣのＩＤ設定を行うために、通信制御スイッチを制御する。このため、通信制御スイッチを設ける必要があると共に、各駆動ＩＣ内の通信制御スイッチを制御するために、空調ＥＣＵと駆動ＩＣとの間、および、各駆動ＩＣの間に通信制御スイッチの配線も必要である。そして、それらが基板上において配置面積を要するので、基板の小型化に不利であるという問題点がある。
【０００６】
本発明の一態様は、上記の問題点に鑑みて為されたものであり、その目的は、ＩＤ情報の設定のための特別な構成を設けることなく、各スレーブデバイスに重複しないＩＤ情報を設定することができる電子機器などを実現することにある。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明の一態様に係る電子機器は、複数のスレーブデバイスが、ホストデバイスと通信可能に接続された電子機器であって、上記ホストデバイスは、上記複数のスレーブデバイスのそれぞれに、当該複数のスレーブデバイスのそれぞれが有するＩＤ情報を変更させる処理を、変更後のＩＤ情報が各スレーブデバイス間で相互に重複しない状態となるまで繰り返す構成である。
【０００８】
上記の課題を解決するために、本発明の一態様に係るＩＤ情報の設定方法は、複数のスレーブデバイスが、ホストデバイスと通信可能に接続された電子機器における上記複数のスレーブデバイスが有するＩＤ情報の設定方法であって、上記複数のスレーブデバイスのそれぞれが有するＩＤ情報を変更させる変更ステップと、上記変更ステップの変更により、上記複数のスレーブデバイスのそれぞれが有するＩＤ情報が相互に重複しない状態となっているか否かを判定する判定ステップと、を含み、上記判定ステップにて、相互に重複しない状態となっていると判定されるまで、上記変更ステップと上記判定ステップを繰り返す方法である。
【０００９】
上記の課題を解決するために、本発明の一態様に係るホストデバイスは、複数のスレーブデバイスが、ホストデバイスと通信可能に接続された電子機器におけるホストデバイスであって、上記複数のスレーブデバイスのそれぞれに、当該複数のスレーブデバイスのそれぞれが有するＩＤ情報を変更させる処理を、変更後のＩＤ情報が各スレーブデバイス間で相互に重複しない状態となるまで繰り返す構成である。
【発明の効果】
【００１０】
本発明の一態様によれば、ＩＤ情報の設定のための特別な構成を設けることなく、各スレーブデバイスに重複しないＩＤ情報を設定することができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態１に係る電子機器の構成の概要を示す模式図である。
【図２】上記電子機器においてＩＤ情報を設定するときの処理の一例を示すフローチャートである。
【図３】上記電子機器においてＩＤ情報を再設定するときの処理の一例を示す状態遷移図である。
【図４】本発明の実施形態２に係るロボットの構成の概要を示す模式図である。
【図５】上記ロボットにおいてＩＤ情報を設定し、設定したＩＤ情報を書き換える処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
〔実施形態１〕
図１に示すように、本発明の実施形態１に係る電子機器１００は、ホストＩＣ（integrated circuit）（ホストデバイス）１０と、複数のスレーブＩＣ（スレーブデバイス）１〜Ｎ（Ｎは２以上の自然数）と、シリアルバスＳＢとを備える。ホストＩＣ１０から延びる一本のシリアルバスＳＢ上には、複数のスレーブＩＣ１〜Ｎが接続されている。なお、ホストＩＣ１０とスレーブＩＣ１〜Ｎとを通信接続する配線は、これらのＩＣ間で情報の送受信が可能なものであればよく、シリアルバスＳＢに限られない。
【００１３】
また、本発明は、ホストＩＣと複数のスレーブＩＣ１〜Ｎとが有線通信で接続された形態に限定されず、無線通信で接続された形態にも適用することが可能である。
【００１４】
電子機器１００は、ホストＩＣ１０がスレーブＩＣ１〜Ｎを動作制御することにより動作する機器である。つまり、ホストＩＣ１０は、スレーブＩＣ１〜Ｎを動作制御する制御装置である。また、スレーブＩＣ１〜Ｎは、ホストＩＣ１０に動作制御される被制御装置である。スレーブＩＣ１〜Ｎとしては、ＩＣに限られず、任意の被制御装置を適用できる。
【００１５】
ホストＩＣ１０と各スレーブＩＣ１〜Ｎは、１本のシリアルバスＳＢで接続されているため、ホストＩＣ１０は、これらのスレーブＩＣ１〜Ｎのうち、所望の１つを指定して動作制御を行う必要がある。この指定には、各スレーブＩＣ１〜Ｎに設定されたＩＤ情報を用いる。つまり、ホストＩＣ１０は、ＩＤ情報を指定した命令を送信することにより、スレーブＩＣ１〜Ｎのうち、そのＩＤ情報が設定されたスレーブＩＣに動作を実行させる。
【００１６】
このため、ホストＩＣ１０は、各スレーブＩＣ１〜Ｎに、互いに重複しないＩＤ情報を設定させる。互いに重複しないＩＤ情報を設定させるための機能および構成について、以下説明する。
【００１７】
スレーブＩＣ１〜Ｎのそれぞれは、ホストＩＣ１０の命令に従って、自身のＩＤ情報を変更する機能を有する。本実施形態では、スレーブＩＣ１〜ＮはＩＤ情報をランダムに変更するが、所定の規則に従って変更してもよい。また、ホストＩＣ１０は予めすべてのスレーブＩＣの数を記憶しているものとする。ホストＩＣ１０による情報の記憶は、例えばメモリ等の記憶装置を用いて行われる。
【００１８】
また、ホストＩＣ１０は、複数のスレーブＩＣ１〜Ｎのそれぞれに、当該複数のスレーブＩＣ１〜Ｎのそれぞれが有するＩＤ情報を変更させる処理を、変更後のＩＤ情報が各スレーブＩＣ間で相互に重複しない状態となるまで繰り返す。これにより、ホストＩＣ１０とスレーブＩＣ１〜Ｎとの間での通信のみで重複しないＩＤ情報を設定することができる。よって、ＩＤ情報の設定のための特別な構成を設けることなく、各スレーブＩＣに重複しないＩＤ情報を設定することができる。これにより、例えば、ホストＩＣ１０とスレーブＩＣ１〜Ｎを１つの基板に配置したような場合に、「背景技術」で挙示した特許文献１のようなスイッチや配線が不要になり、基板の小型化を図ることができる。
【００１９】
〔処理の流れ〕
次に、図２に示すフローチャートに基づき、電子機器１００において行われる処理の流れについて説明する。この処理は、互いに重複しないＩＤ情報を設定するための処理であり、例えば各スレーブＩＣの固有のＩＤ情報が喪失または不明となった場合や、各スレーブＩＣに新規にＩＤ情報を設定する場合に行われる。
【００２０】
ステップＳ（以下、「ステップ」は省略する）１０１では、ホストＩＣ１０は、シリアルバスＳＢ上の全てのスレーブＩＣ１〜Ｎに対して、ブロードキャストでＩＤ情報のランダム設定を要求する。各スレーブＩＣ１〜Ｎは、この要求に従って、各々のＩＤ情報をランダムに設定する。ＩＤ情報は、スレーブＩＣ１〜Ｎの識別に使用できるものであればよく、例えば、ＩＤ情報が１６ｂｉｔであれば、００〜ＦＦの範囲でＩＤ情報を設定してもよい。以下では、スレーブＩＣ１〜Ｎが、０〜Ｍ（Ｍは自然数）の範囲内の数値をランダムに選択して各々のＩＤ情報とする例を説明する。
【００２１】
Ｓ１０２では、ホストＩＣ１０は、シリアルバスＳＢ上の固有ＩＤが「０」であるスレーブＩＣに対して、Ａｃｋ要求（返信要求）を行う。つまり、ホストＩＣ１０は、値が「０」のＩＤ情報が設定されたスレーブＩＣを指定した返信要求を、各スレーブＩＣ１〜Ｎに対してブロードキャスト送信する。
【００２２】
上記の確認信号を受信した各スレーブＩＣ１〜Ｎは、返信要求で指定されたＩＤ情報をチェックする。各スレーブＩＣ１〜Ｎは、自身が有するＩＤ情報が上記返信要求で指定されたＩＤ情報と一致した場合、すなわちランダムに設定したＩＤ情報の値が「０」であった場合、応答信号であるＡｃｋ（返信）をシリアルバスＳＢ上に送出する。
【００２３】
Ｓ１０２で返信要求を送信したホストＩＣ１０は、該返信要求に対するＡｃｋの有無を確認し、Ａｃｋが有った場合は、Ｓ１０３に進み、Ａｃｋが無かった場合は、Ｓ１０４に進む。
【００２４】
Ｓ１０３では、ホストＩＣ１０は、Ａｃｋのカウント数を＋１とし、Ｓ１０４に進む。なお、複数のスレーブＩＣのＩＤ情報の値が「０」に設定されていた場合、１回の返信要求に対して、複数のＡｃｋが受信されるが、ホストＩＣ１０は、この場合もカウント数は＋１とする。このように、ランダムに設定されたＩＤ情報に重複がある場合、スレーブの総数Ｎよりも、Ａｃｋのカウント数の方が少なくなる。
【００２５】
Ｓ１０４では、ホストＩＣ１０は、固有ＩＤ「Ｍ」までＡｃｋ要求を行ったかどうか確認する。つまり、ホストＩＣ１０は、スレーブＩＣ１〜Ｎに設定されている可能性のある全てのＩＤ情報、すなわち０〜ＭまでのＩＤ情報について、Ａｃｋ要求を行ったかどうかを確認する。このとき、固有ＩＤ「Ｍ」までＡｃｋ要求を行っていた場合（Ｓ１０４でＹＥＳ）は、Ｓ１０５に進む。一方、固有ＩＤ「Ｍ」までＡｃｋ要求を行っていない場合（Ｓ１０４でＮＯ）は、Ｓ１０２に戻る。なお、Ｓ１０４でＮＯと判定された後のＳ１０２では、前回の返信要求で指定したＩＤ情報の値を＋１する。このため、Ｓ１０２〜Ｓ１０４の処理を繰り返すことにより、取り得る値全てのＩＤ情報（０〜Ｍ）をそれぞれ用いた返信要求が行われることになる。
【００２６】
Ｓ１０５では、ホストＩＣ１０は、Ａｃｋのカウント数と、接続されているスレーブＩＣの数Ｎとを比較する。このとき、Ａｃｋのカウント数とスレーブＩＣの数Ｎとが一致する場合は、スレーブＩＣ１〜ＮのＩＤ情報が重複していないから、Ｓ１０６に進み、ＩＤ設定を完了する。一方、Ａｃｋのカウント数とスレーブＩＣの数Ｎとが一致しない場合は、スレーブＩＣ１〜ＮのＩＤ情報に重複が生じているから、Ｓ１０１に戻る。つまり、Ｓ１０５では、スレーブＩＣ１〜ＮのＩＤ情報が相互に重複しない状態となっているか否かを判定している。
【００２７】
以上のように、図２に示す処理（ＩＤ情報の設定方法）では、スレーブＩＣ１〜Ｎのそれぞれが有するＩＤ情報を変更させる変更ステップ（Ｓ１０１）と、上記変更ステップの変更により、スレーブＩＣ１〜Ｎのそれぞれが有するＩＤ情報が相互に重複しない状態となっているか否かを判定する判定ステップ（Ｓ１０５）と、を含み、上記判定ステップにて、相互に重複しない状態となっていると判定されるまで、上記変更ステップと上記判定ステップを繰り返している。
【００２８】
より詳細には、ホストＩＣ１０は、ＩＤ情報を指定した返信要求（Ａｃｋ要求）を複数のスレーブＩＣ１〜Ｎのそれぞれに送信し、当該指定したＩＤ情報を有するスレーブＩＣからの返信（Ａｃｋ）があったか否かを確認する処理（Ｓ１０２）を行う。そして、この処理を、指定するＩＤ情報を変更しながら繰り返し、Ｓ１０５にて、返信があった回数とスレーブＩＣの数Ｎとが一致した場合に、ＩＤ情報を変更させる処理を終了する。これにより、ＩＤ情報の設定のための特別な構成を設けることなく、各スレーブＩＣ１〜Ｎに重複しないＩＤ情報を設定することができる。
【００２９】
なお、図２の例では、取り得る値全てのＩＤ情報（０〜Ｍ）をそれぞれ用いた返信要求を行っているが、受信したＡｃｋのカウント数がスレーブＩＣの数Ｎに達した時点で処理を終了してもよい。
【００３０】
〔ＩＤ情報の再設定時における処理の具体例〕
次に、以上の処理の一具体例を図３に基づいて説明する。図３は、電子機器１００がＩＤ情報を再設定するときの処理の一例を示す状態遷移図である。なお、ＩＤ情報を初期設定するときの処理も同様である。
【００３１】
Ｓ１１１では、ホストＩＣ１０は、シリアルバスＳＢ上の全てのスレーブＩＣ１〜Ｎに対し、ＩＤ情報のランダム設定を要求する。この要求に従って、スレーブＩＣ１〜Ｎは、それぞれ、自身のＩＤ情報をランダムに変更し、Ｓ１１２に進む。
【００３２】
Ｓ１１２では、ホストＩＣ１０がＩＤ：０のスレーブＩＣに対してＡｃｋ要求を行う。このとき、スレーブＩＣ１〜Ｎの何れからもＡｃｋが無く、所定の時間が経過してタイムアウトとなる（Ｓ１１３）。
【００３３】
次に、Ｓ１１４では、ホストＩＣ１０がＩＤ：１のスレーブＩＣに対してＡｃｋ要求を行う。このとき、スレーブＩＣ２からＡｃｋがあったため、ホストＩＣ１０は、Ａｃｋの数を＋１カウントする（Ｓ１１５）。
【００３４】
次に、Ｓ１１６では、ホストＩＣ１０がＩＤ：２のスレーブＩＣに対してＡｃｋ要求を行う。このとき、スレーブＩＣ１〜Ｎの何れからもＡｃｋが無く、所定の時間が経過してタイムアウトとなる（Ｓ１１７）。
【００３５】
次に、Ｓ１１８では、ホストＩＣ１０がＩＤ：３のスレーブＩＣに対してＡｃｋ要求を行う。このとき、スレーブＩＣ１およびスレーブＩＣ３からＡｃｋがあったため、ホストＩＣ１０は、Ａｃｋの数を＋１カウントする（Ｓ１１９）。
【００３６】
以下、Ａｃｋ要求において指定するＩＤ情報の値を１ずつインクリメントしながら同様の処理を繰り返す。そして、Ｓ１２０では、ホストＩＣ１０がＩＤ：ＭのスレーブＩＣに対してＡｃｋ要求を行う。このとき、スレーブＩＣ１〜Ｎの何れからもＡｃｋが無く、所定の時間が経過してタイムアウトとなる（Ｓ１２１）。
【００３７】
次に、Ｓ１２２では、ホストＩＣ１０が、シリアルバスＳＢ上に接続されているスレーブＩＣの総数Ｎと、Ａｃｋの回数とが一致するか否かを確認する。このとき、スレーブＩＣの総数Ｎと、Ａｃｋの回数とが一致する場合、Ｓ１２３に進み、ＩＤ情報の再設定完了となる。一方、スレーブＩＣの総数Ｎと、Ａｃｋの回数とが一致しない場合は、Ｓ１１１に戻り、全てのスレーブＩＣ１〜Ｎに対してＩＤ情報のランダム設定を要求する。
【００３８】
〔実施形態２〕
〔ロボットの構成とＩＤ情報の書き換えの概要〕
本発明の実施形態２について、図４および図５に基づいて説明する。本実施形態では、上記実施形態のスレーブＩＣ１〜Ｎをサーボモータとして、ロボット（電子機器）を構成した例を説明する。
【００３９】
図４の（ａ）に示すように、本発明の実施形態２に係るロボット（電子機器）２００は、ホストＩＣと、サーボモータを複数備えている。これらのサーボモータは、ロボット２００の所定の位置にそれぞれ配置されており、ロボット２００の関節を動かす等の所定の機能を果たす。
【００４０】
ここで、例えば、ＦＡ機器やロボット２００のように複数のサーボモータが同じシリアルバス上に接続されている場合、シリアルバス上のどのＩＤ情報を有するサーボモータがどこの部位（位置）に接続されているかの紐付け情報を元にそのモーションプログラムが作成されている場合が多い。例えば、左腕を動かすサーボモータのＩＤ情報の値が３であれば、モーションプログラムには、左腕を動かすプログラムとしてＩＤ：３をどれだけ動かすかという情報が含まれている場合がある。このため、正常にモーションプログラムが実行されるためには、各サーボモータは各部位に合ったＩＤ情報を有している必要がある。
【００４１】
図４の（ａ）には、各サーボモータが各部位に合ったＩＤ情報を有している状態を示している。以下では、図４の（ａ）において、各部位のサーボモータに割り当てられているＩＤ情報を「正規のＩＤ情報」と呼ぶ。
【００４２】
各サーボモータに新規にＩＤ情報を設定する場合や、何らかの理由で図４の（ａ）のＩＤ情報の一部または全部が変更された場合、ホストＩＣは、上記実施形態と同様の処理により、各サーボモータのＩＤ情報が互いに重複しない状態とする。この状態における各サーボモータのＩＤ情報の例を図４の（ｂ）に示している。図４の（ｂ）の状態では、各サーボモータのＩＤ情報は、他のＩＤ情報と重複してはいないが、ランダムに設定されたものであるため、正規のＩＤ情報とは異なっている。
【００４３】
このため、本実施形態のホストＩＣは、図４の（ｂ）のようにランダムに設定されたＩＤ情報を正規のＩＤ情報に書き換えさせる。より詳細には、ホストＩＣは、複数のサーボモータのうち、ロボット２００の所定の部位に配置されたサーボモータを検出する。この検出方法としては、例えば以下の２パターンが挙げられる。
（１）ロボット２００の所定の部位をユーザー等が動かし、それによって動作したサーボモータからホストＩＣへＩＤ情報を含んだ割り込み通知を行う。ホストＩＣは、受信したＩＤ情報のサーボモータを、ロボット２００の所定の部位に配置されたサーボモータであると検出する。
（２）各サーボモータが、各々の位置情報をそのＩＤ情報と共に出力する構成とする。ロボット２００の所定の部位をユーザー等が動かし、ホストＩＣは、位置情報に所定の変化があったＩＤ情報のサーボモータを、ロボット２００の所定の部位に配置されたサーボモータであると検出する。
【００４４】
そして、ホストＩＣは、検出したサーボモータのＩＤ情報を、上記所定の部位に対応付けられた所定のＩＤ情報、すなわち正規のＩＤ情報に書き換えさせる。この書き換えを全ての部位について行うことにより、上述のようなモーションプログラムによりロボット２００を正しく動作させることが可能な状態となる。
【００４５】
〔処理の流れ〕
次に、図５に示すフローチャートに基づき、ロボット２００におけるＩＤ情報の設定および書き換えの処理の流れについて説明する。Ｓ２０１では、ホストＩＣは、すべてのサーボモータのＩＤ情報が互いに重複しない状態とする。この状態とするための処理は実施形態１で説明したとおりであるから説明を繰り返さない。
【００４６】
Ｓ２０２では、ロボット２００からユーザーに対し、各部位を順に動かすよう指示する。この指示は、例えばロボット２００に制御部と音声出力部を設け、制御部の制御により音声出力部から所定の音声を出力させることによって行ってもよい。ユーザーは、ロボット２００から指示された部位から順に、サーボモータを手などで動かす。
【００４７】
Ｓ２０３では、ホストＩＣは、ユーザーが動かした部位に配置されているサーボモータを検出し、当該部位と当該サーボモータのＩＤ情報との対応関係を示す情報を記憶する。この処理を、各部位について行うことにより、ホストＩＣは、現状どの部位にどのＩＤ情報を有するサーボモータが接続されているか認識できた状態となる。つまり、ホストＩＣは、それぞれの部位のサーボモータのＩＤ情報の書き換えが可能な状態となる。
【００４８】
Ｓ２０４では、ホストＩＣは、各サーボモータのＩＤ情報を、正規のＩＤ情報へ１つずつ順に書き変させる。なお、各部位に対応する正規のＩＤ情報は、予め記憶しておく。例えば、ホストＩＣは、図４の（ａ）に示す正規のＩＤ情報を記憶していた場合、図４の（ｂ）に示す右腕のＩＤ：９７を、図４の（ａ）に示す正規のＩＤ：３に書き換える。このようにしてすべてのサーボモータのＩＤ情報を正規のＩＤ情報に書き換えれば、図４の（ａ）に示す状態になる。
【００４９】
〔変形例〕
上述した形態では、一つのＩＤ情報ごとに順に返信要求を行う方法について説明したが、返信要求の送信の手順やタイミングは任意である。また、送信した返信要求に対する返信の回数をカウントし、スレーブＩＣの数と一致するかを判定するタイミングも任意である。
【００５０】
例えば、ホストＩＣは、ＩＤ情報を指定した返信要求をスレーブＩＣ１〜Ｎのそれぞれに送信する処理を、スレーブＩＣ１〜Ｎに設定されている可能性がある各ＩＤ情報について一括で行ってもよい。例えば、ＩＤ情報の取り得る値が０〜Ｍである場合、ホストＩＣは、（Ｍ＋１）種類のＩＤ情報をそれぞれ指定した、（Ｍ＋１）個の返信要求を各スレーブＩＣ１〜Ｎに一括で送信してもよい。この場合、ホストＩＣは、スレーブＩＣ１〜Ｎからの返信（Ａｃｋ）を一括で受信し、返信の回数と、スレーブＩＣの数とが一致するか判定し、一致すればＩＤ情報を変更させる処理を終了する。なお、ホストＩＣは、上記実施形態と同様に、１つのＩＤ情報を指定した返信要求に対し、複数の返信を受信した場合、返信の受診回数は１回とカウントする。つまり、ホストＩＣは、異なるＩＤ情報を有するスレーブＩＣからの返信の回数をカウントする。
【００５１】
〔ソフトウェアによる実現例〕
ホストＩＣ１０の機能は、ソフトウェアによって実現することも可能である。この場合、ホストＩＣ１０の代わりに、ホストＩＣ１０が有する各機能（特に各フローチャートに記載した各ステップの処理を実行する機能）を実現するソフトウェアであるプログラムの命令を実行するコンピュータを使用する。このコンピュータは、例えば少なくとも１つのプロセッサ（制御装置）を備えていると共に、上記プログラムを記憶したコンピュータ読み取り可能な少なくとも１つの記録媒体を備えている。そして、上記コンピュータにおいて、上記プロセッサが上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記プロセッサとしては、例えばＣＰＵ（Central Processing Unit）を用いることができる。上記記録媒体としては、「一時的でない有形の媒体」、例えば、ＲＯＭ（Read Only Memory）等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムを展開するＲＡＭ（Random Access Memory）などをさらに備えていてもよい。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００５２】
〔まとめ〕
本発明の態様１に係る電子機器は、複数のスレーブデバイス（スレーブＩＣ１〜Ｎ）が、ホストデバイス（ホストＩＣ１０）と通信可能に接続された電子機器（１００）であって、上記ホストデバイスは、上記複数のスレーブデバイスのそれぞれに、当該複数のスレーブデバイスのそれぞれが有するＩＤ情報を変更させる処理を、変更後のＩＤ情報が各スレーブデバイス間で相互に重複しない状態となるまで繰り返す構成である。上記構成によれば、ホストデバイスとスレーブデバイスとの間での通信のみで重複しないＩＤ情報を設定することができる。よって、ＩＤ情報の設定のための特別な構成を設けることなく、各スレーブデバイスに重複しないＩＤ情報を設定することができる。これにより、例えば、上記ホストデバイスとスレーブデバイスを１つの基板に配置したような場合に、「背景技術」で挙示した特許文献１のようなスイッチや配線が不要になり、基板の小型化を図ることができる。
【００５３】
本発明の態様２に係る電子機器は、上記態様１において、上記ホストデバイスは、上記複数のスレーブデバイスに設定されている可能性がある各ＩＤ情報を指定した返信要求を上記複数のスレーブデバイスのそれぞれに送信し、異なるＩＤ情報を有する上記スレーブデバイスからの返信の回数と、上記複数のスレーブデバイスの数とが一致した場合に、上記ＩＤ情報を変更させる処理を終了することが好ましい。上記構成によれば、ＩＤ情報を各スレーブデバイス間で相互に重複しないように設定することが可能になる。
【００５４】
本発明の態様３に係る電子機器は、上記態様２において、上記ホストデバイスは、上記複数のスレーブデバイスに設定されている可能性があるＩＤ情報を指定した返信要求を上記複数のスレーブデバイスのそれぞれに送信し、当該指定したＩＤ情報を有する上記スレーブデバイスからの返信があったか否かを確認する処理を、指定するＩＤ情報を変更しながら繰り返し、上記返信があった回数と上記複数のスレーブデバイスの数とが一致した時点で、上記ＩＤ情報を変更させる処理を終了しても良い。上記構成によれば、返信があった回数と上記複数のスレーブデバイスの数とが一致した時点でＩＤ情報を変更させる処理を終了するので、返信要求の送信回数を抑えることが可能になる。
【００５５】
本発明の態様４に係る電子機器は、上記態様１または２において、上記複数のスレーブデバイスのＩＤ情報が互いに重複しない状態となった後、上記複数のスレーブデバイスのうち上記電子機器の所定の位置に配置されたスレーブデバイスを検出し、該検出したスレーブデバイスのＩＤ情報を、上記所定の位置に対応付けられた所定のＩＤ情報に書き換えさせても良い。上記構成によれば、重複しない状態となった複数のＩＤ情報のそれぞれを電子機器の所定の位置に対応付けられた所定のＩＤ情報に書き換えることができる。
【００５６】
本発明の態様５に係るＩＤ情報の設定方法は、複数のスレーブデバイスが、ホストデバイスと通信可能に接続された電子機器における上記複数のスレーブデバイスが有するＩＤ情報の設定方法であって、上記複数のスレーブデバイスのそれぞれが有するＩＤ情報を変更させる変更ステップと、上記変更ステップの変更により、上記複数のスレーブデバイスのそれぞれが有するＩＤ情報が相互に重複しない状態となっているか否かを判定する判定ステップと、を含み、上記判定ステップにて、相互に重複しない状態となっていると判定されるまで、上記変更ステップと上記判定ステップを繰り返す方法である。上記構成によれば、上記態様１と同様の効果を得ることができる。
【００５７】
本発明の態様６に係るホストデバイスは、複数のスレーブデバイスが、ホストデバイスと通信可能に接続された電子機器におけるホストデバイスであって、上記複数のスレーブデバイスのそれぞれに、当該複数のスレーブデバイスのそれぞれが有するＩＤ情報を変更させる処理を、変更後のＩＤ情報が各スレーブデバイス間で相互に重複しない状態となるまで繰り返す構成である。上記構成によれば、上記態様１と同様の効果を得ることができる。
【００５８】
本発明の態様７に係る制御プログラムは、上記態様５に記載の各ステップをコンピュータに実行させるための制御プログラムであることが好ましい。また、上記制御プログラムを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【００５９】
〔付記事項〕
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。
【符号の説明】
【００６０】
１〜Ｎ    スレーブＩＣ（スレーブデバイス）
１０    ホストＩＣ（ホストデバイス）
１００    電子機器
２００    ロボット（電子機器）
ＳＢ    シリアルバス
【図１】
2019191956.tif 000003
【図２】
2019191956.tif 000004
【図３】
2019191956.tif 000005
【図４】
2019191956.tif 000006
【図５】
2019191956.tif 000007