(57)【要約】【課題】全ての下位コントローラのアドレス設定が正常に終了したかどうかを知る。【解決手段】上位コントローラ１から直列に接続された下位コントローラ２−１〜２−Ｎへ上流側から下流側に向けてアドレスを指定しての設定要求を送信する。上位コントローラ１において、下位コントローラ２−１〜２−ＮからのＡＣＫ（指定されたアドレスへの書き替えを完了したことを示す信号）を確認する毎にＡＣＫの数ＮACKをカウントする。上位コントローラ１は、ＮACKが下位コントローラ２の接続台数Ｎに達した場合（ＮACK＝Ｎ）に、下位コントローラ２−１〜２−Ｎに対するアドレスの設定が正常に終了したと判断する。【選択図】  図１
2018064165.tif 000002
【特許請求の範囲】
【請求項１】
上位コントローラと、この上位コントローラに直列に接続された複数の下位コントローラとを備え、前記上位コントローラから複数の下位コントローラに対して順次アドレスを設定して行く自動アドレス設定システムにおいて、
前記下位コントローラは、
予め定められた初期値が仮の自己のアドレスとして設定された自己アドレス記憶手段と、
前記上位コントローラからアドレスを指定しての設定要求が送信されてきた場合、前記自己アドレス記憶手段に設定されている自己のアドレスを確認する自己アドレス確認手段と、
前記自己アドレス確認手段によって前記自己アドレス記憶手段に自己のアドレスとして前記初期値が設定されていることが確認された場合、前記自己アドレス記憶手段に設定されている自己のアドレスを前記上位コントローラから指定されたアドレスに書き替えると共に、この指定されたアドレスへの書き替えを完了したことを示す信号をＡＣＫとして前記上位コントローラに返送する自己アドレス更新手段と、
前記自己アドレス確認手段によって前記自己アドレス記憶手段に自己のアドレスとして前記初期値が設定されていることが確認されなかった場合、前記上位コントローラから送信されてきたアドレスを指定しての設定要求を下流側の下位コントローラに転送するアドレス設定要求転送手段とを備え、
前記上位コントローラは、
前記複数の下位コントローラへ上流側から下流側に向けて前記アドレスを指定しての設定要求を送信するアドレス設定要求送信手段と、
前記下位コントローラから返送されてくるＡＣＫを確認するＡＣＫ確認手段と、
前記ＡＣＫ確認手段によってＡＣＫが確認される毎に、前記アドレス設定要求送信手段にアドレスの変更命令を送り、指定するアドレスを変更しての前記設定要求の送信を繰り返させる指定アドレス変更手段と、
前記ＡＣＫ確認手段によってＡＣＫが確認される毎にそのＡＣＫの数をカウントするＡＣＫ数カウント手段と、
前記ＡＣＫ数カウント手段によってカウントされたＡＣＫの数が前記下位コントローラの接続台数に達した場合、全ての下位コントローラに対するアドレスの設定が正常に終了したと判断する正常終了判断手段と
を備えることを特徴とする自動アドレス設定システム。
【請求項２】
請求項１に記載された自動アドレス設定システムにおいて、
前記正常終了判断手段に代えて、
前記ＡＣＫ数カウント手段によってカウントされたＡＣＫの数が予め定められた一定時間内に前記下位コントローラの接続台数に達したか否かを確認し、一定時間内にＡＣＫの数が下位コントローラの接続台数に達したことが確認された場合に全ての下位コントローラに対するアドレスの設定が正常に終了したと判断し、一定時間内にＡＣＫの数が下位コントローラの接続台数に達したことが確認されなかった場合に異常と判断する正常・異常判断手段を備える
ことを特徴とする自動アドレス設定システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上位コントローラから複数の下位コントローラに対して順次アドレスを設定して行く自動アドレス設定システムに関する。
【背景技術】
【０００２】
従来より、空調制御システムおよび産業用制御システムなどでは、上位のコントローラおよびその下に接続される複数の下位のコントローラに対して、アドレスを設定するようにしている。このアドレスの設定は、物理的なスイッチ（ロータリスイッチ）や専用の設定器を用いて、全コントローラに対して現場で実施される（一部工場でアドレス設定する場合もある）。
【０００３】
しかし、この方法では、現場に設置される全コントローラ（例えば、数百台）に対して、１つずつ手作業でアドレス設定を行うため、現場で多くの時間を要してしまう。そこで、例えば特許文献１には、アドレスの設定を自動で行わせるようにしたシステムが示されている。
【０００４】
この特許文献１に示されたシステムにおいて、中央装置を上位コントローラ、複数の端末器を下位コントローラとした場合、上位コントローラに直列に接続された複数の下位コントローラは、上位コントローラからの上流側から下流側へ向けての初期化信号により自己のアドレスを初期値に設定して、スイッチを開放すると共に、所定時間内に自己のアドレスを上流へ送信し、所定時間内に下流から自己のアドレスと同じアドレスの受信があると予め決められたアドレスの順序により自己のアドレスを更新し、所定時間内に下流からのアドレス受信が無ければスイッチを閉としてその時のアドレスを自己のアドレスとして設定し、自己のアドレスを更新した場合は、所定時間内の自己のアドレス送信からの動作を繰り返す。これにより、下流側の下位コントローラから、順次アドレスが設定されて行く。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−２９５６６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に示されたシステム（自動アドレス設定システム）では、全ての下位コントローラのアドレス設定が正常に終了したかどうかを検出することができない(下位コントローラ間の通信線が断線していたような場合等でも異常が検出できない)、という課題があった。
【０００７】
本発明は、このような課題を解決するためになされたもので、その目的とするところは、全ての下位コントローラのアドレス設定が正常に終了したかどうかを知ることができる自動アドレス設定システムを提供することにある。
【課題を解決するための手段】
【０００８】
このような目的を達成するために本発明は、上位コントローラ（１）と、この上位コントローラに直列に接続された複数の下位コントローラ（２（２−１〜２−Ｎ））とを備え、上位コントローラから複数の下位コントローラに対して順次アドレスを設定して行く自動アドレス設定システムにおいて、下位コントローラ（２）は、予め定められた初期値が仮の自己のアドレスとして設定された自己アドレス記憶手段（２１）と、上位コントローラからアドレスを指定しての設定要求が送信されてきた場合、自己アドレス記憶手段に設定されている自己のアドレスを確認する自己アドレス確認手段（２２）と、自己アドレス確認手段によって自己アドレス記憶手段に自己のアドレスとして初期値が設定されていることが確認された場合、自己アドレス記憶手段に設定されている自己のアドレスを上位コントローラから指定されたアドレスに書き替えると共に、この指定されたアドレスへの書き替えを完了したことを示す信号をＡＣＫとして上位コントローラに返送する自己アドレス更新手段（２３）と、自己アドレス確認手段によって自己アドレス記憶手段に自己のアドレスとして初期値が設定されていることが確認されなかった場合、上位コントローラから送信されてきたアドレスを指定しての設定要求を下流側の下位コントローラに転送するアドレス設定要求転送手段（２４）とを備え、上位コントローラ（１）は、複数の下位コントローラへ上流側から下流側に向けてアドレスを指定しての設定要求を送信するアドレス設定要求送信手段（１１）と、下位コントローラから返送されてくるＡＣＫを確認するＡＣＫ確認手段（１２）と、ＡＣＫ確認手段によってＡＣＫが確認される毎に、アドレス設定要求送信手段にアドレスの変更命令を送り、指定するアドレスを変更しての設定要求の送信を繰り返させる指定アドレス変更手段（１３）と、ＡＣＫ確認手段によってＡＣＫが確認される毎にそのＡＣＫの数をカウントするＡＣＫ数カウント手段（１４）と、ＡＣＫ数カウント手段によってカウントされたＡＣＫの数が下位コントローラの接続台数に達した場合、全ての下位コントローラに対するアドレスの設定が正常に終了したと判断する正常終了判断手段（１５）とを備えることを特徴とする。
【０００９】
この発明において、上位コントローラに直列に接続された複数の下位コントローラには、予め定められた初期値（例えば、＃２５５）が仮の自己のアドレスとして設定されている。この初期値が仮のアドレスとして設定されている状態で、上位コントローラは、複数の下位コントローラへ上流側から下流側に向けてアドレスを指定しての設定要求（例えば、アドレス＃１を指定しての設定要求（アドレス設定要求（＃１））を送信する。最上流の下位コントローラ（第１の下位コントローラ）は、上位コントローラからアドレス設定要求（＃１）が送信されてくると、自己アドレス記憶手段に設定されている自己のアドレスを確認する。この場合、自己アドレス記憶手段には初期値（＃２５５）が仮のアドレスとして設定されているので、第１の下位コントローラは、自己アドレス記憶手段に設定されている自己のアドレス（＃２５５）を上位コントローラから指定されたアドレス（＃１）に書き替えると共に、この指定されたアドレスへの書き替えを完了したことを示す信号をＡＣＫとして上位コントローラに返送する。上位コントローラは、第１の下位コントローラから返送されてきたＡＣＫを確認すると、指定するアドレスを変更しての設定要求の送信を行う。例えば、指定するアドレスを＃１から＃２に変更し、アドレス＃２を指定しての設定要求（アドレス設定要求（＃２））を送信する。
【００１０】
上位コントローラからアドレス設定要求（＃２）が送信されてくると、第１の下位コントローラは、自己アドレス記憶手段に設定されている自己のアドレスを確認する。この場合、自己アドレス記憶手段にはアドレス＃１が設定されているので、第１の下位コントローラは、上位コントローラから送信されてきたアドレス設定要求（＃２）を下流側の下位コントローラ（第２の下位コントローラ）に転送する。第２の下位コントローラは、上位コントローラからアドレス設定要求（＃２）が送信されてくると、自己アドレス記憶手段に設定されている自己のアドレスを確認する。この場合、自己アドレス記憶手段には初期値（＃２５５）が仮のアドレスとして設定されているので、第２の下位コントローラは、自己アドレス記憶手段に設定されている自己のアドレス（＃２５５）を上位コントローラから指定されたアドレス（＃２）に書き替えると共に、この指定されたアドレスへの書き替えを完了したことを示す信号をＡＣＫとして上位コントローラに返送する。上位コントローラは、第２の下位コントローラから返送されてきたＡＣＫを確認すると、指定するアドレスを変更しての設定要求の送信を行う。例えば、指定するアドレスを＃２から＃３に変更し、アドレス＃３を指定しての設定要求（アドレス設定要求（＃３））を送信する。
【００１１】
このようにして、本発明では、上位コントローラからの上流側から下流側へ向けてのアドレスを指定しての設定要求に従って、上流側の下位コントローラから順にアドレスが指定されたアドレスに書き替えられて行く。すなわち、上位コントローラに直列に接続された複数の下位コントローラに対し、上流側から順次アドレスが設定されて行く。このアドレスの設定に際し、上位コントローラは、下位コントローラからのＡＣＫ（指定されたアドレスへの書き替えを完了したことを示す信号）を確認する毎に、そのＡＣＫの数をカウントする。そして、このカウントされたＡＣＫの数（ＮACK）が下位コントローラの接続台数（Ｎ）に達した場合（ＮACK＝Ｎ）、上位コントローラは、全ての下位コントローラに対するアドレスの設定が正常に終了したと判断する。
【００１２】
なお、本発明において、正常終了判断手段（１５）に代えて、ＡＣＫ数カウント手段によってカウントされたＡＣＫの数（ＮACK）が予め定められた一定時間（ＴＣ）内に下位コントローラの接続台数（Ｎ）に達したか否かを確認し、一定時間内にＡＣＫの数が下位コントローラの接続台数に達したことが確認された場合に全ての下位コントローラに対するアドレスの設定が正常に終了したと判断し、一定時間内にＡＣＫの数が下位コントローラの接続台数に達したことが確認されなかった場合に異常と判断する正常・異常判断手段（１７）を設けるようにしてもよい。
【００１３】
なお、上記説明では、一例として、発明の構成要素に対応する図面上の構成要素を、括弧を付した参照符号によって示している。
【発明の効果】
【００１４】
以上説明したことにより、本発明によれば、上位コントローラから直列に接続された複数の下位コントローラへ上流側から下流側に向けてアドレスを指定しての設定要求を送信し、上位コントローラにおいて、下位コントローラからのＡＣＫ（指定されたアドレスへの書き替えを完了したことを示す信号）を確認する毎にそのＡＣＫの数をカウントし、このＡＣＫの数が下位コントローラの接続台数に達した場合に全ての下位コントローラに対してのアドレスの設定が正常に終了したと判断するようにしたので、全ての下位コントローラのアドレス設定が正常に終了したかどうかを知ることができるようになる。
【図面の簡単な説明】
【００１５】
【図１】図１は、本発明の実施の形態に係る自動アドレス設定システムの要部を示す図である。
【図２】図２は、上位コントローラからアドレス設定要求（＃１）が送信された時の動作を説明する図である。
【図３】図３は、上位コントローラからアドレス設定要求（＃２）が送信された時の動作を説明する図である。
【図４】図４は、上位コントローラからアドレス設定要求（＃Ｎ）が送信された時の動作を説明する図である。
【図５】図５は、上位コントローラの機能ブロック図である。
【図６】図６は、下位コントローラの機能ブロック図である。
【図７】図７は、上位コントローラで行われる処理動作のフローチャートである。
【図８】図８は、下位コントローラで行われる処理動作のフローチャート図である。
【図９】図９は、一定時間内にＡＣＫの数が下位コントローラの接続台数に達しなかった場合に「異常」と判断する機能を備えた上位コントローラの機能ブロック図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。図１は本発明の実施の形態に係る自動アドレス設定システム１００の要部を示す図である。
【００１７】
この自動アドレス設定システム１００は、上位コントローラ１と、この上位コントローラ１に直列に接続された複数の下位コントローラ２（第１〜第Ｎの下位コントローラ２−１〜２−Ｎ）とを備えている。なお、この例では下位コントローラ２の数（接続台数）ＮをＮ≧３としているが、下位コントローラ２の数ＮはＮ＝２であってもよい。
【００１８】
この自動アドレス設定システム１００において、上位コントローラ１には、下位コントローラ２の接続台数Ｎ、下位コントローラ２の結線順、下位コントローラ２（２−１〜２−Ｎ）に設定するアドレス＃Ｘ（＃１〜＃Ｎ）が予め登録されているものとする。また、この自動アドレス設定システム１００において、下位コントローラ２−１〜２−Ｎは下位コントローラ２−１を上流側の下位コントローラ、下位コントローラ２−Ｎを下流側の下位コントローラとして、上位コントローラ１に通信線Ｌ１〜ＬＮを介して直列に接続されている。また、下位コントローラ２−１〜２−Ｎには、予め定められた初期値（この例では、「＃２５５」）が仮の自己のアドレスとして設定されているものとする。
【００１９】
この自動アドレス設定システム１００では、上位コントローラ１をＤＨＣＰサーバ（Dynamic Host Configuration Protocol server）のようにアドレス設定クライアントとして動作させ、下位コントローラ２−１〜２−Ｎに対して上流側から順次アドレスを自動で設定して行くものとする。ＤＨＣＰと大きく異なる点は、不特定多数の下位コントローラからＤＨＣＰサーバにアドレス設定要求をするのではなく、上位のコントローラから下位のコントローラに対して、直列に接続された物理的な結線の順に予め決められたアドレスを設定して行く点にある。
【００２０】
以下、この自動アドレス設定システム１００における上位コントローラ１からの下位コントローラ２−１〜２−Ｎに対してのアドレスの自動設定について、その動作の概略を説明する。なお、この動作を実現するための上位コントローラ１や下位コントローラ２（２−１〜２−Ｎ）の構成については、後述する。
【００２１】
先ず、図２に示すように、上位コントローラ２に対して外部ツール３を接続し、この外部ツール３から上位コントローラ１に対してアドレス設定開始要求を送る。なお、外部ツール３から上位コントローラ１に対してアドレス設定開始要求を送るのではなく、上位コントローラ１の電源起動時をアドレス設定開始要求とみなしてもよい。
【００２２】
上位コントローラ１は、アドレス設定開始要求を受けると、下位コントローラ２−１〜２−Ｎへ上流側から下流側に向けて、アドレスを指定しての設定要求（アドレス設定要求）を送信する。この例では、アドレス＃１を指定しての設定要求をアドレス設定要求（＃１）として送信する。
【００２３】
下位コントローラ２−１は、上位コントローラ１からアドレス設定要求（＃１）が送信されてくると、設定されている自己のアドレスを確認する。この場合、下位コントローラ２−１には、自己のアドレスとして「＃２５５」（初期値）が設定されている。
【００２４】
下位コントローラ２−１は、自己のアドレスとして「＃２５５」が設定されていることを確認すると、このアドレス「＃２５５」を上位コントローラ１から指定されたアドレス「＃１」に書き替える。そして、この指定されたアドレス「＃１」への書き替えを完了したことを示す信号をＡＣＫとして、上位コントローラ１に返送する。
【００２５】
なお、上位コントローラ１からのアドレス設定要求（＃１）は、下位コントローラ２−１で受信されることによって終端され、下流側には送られない。
【００２６】
上位コントローラ１は、下位コントローラ２−１からのＡＣＫを確認すると、それまでに確認したＡＣＫの数ＮACKをＮACK＝１としてカウントすると共に、指定するアドレスを変更しての設定要求を下位コントローラ２−１〜２−Ｎへ上流側から下流側に向けて送信する。この例では、前回指定したアドレス＃１をインクリメントして＃２とし、このインクリメントしたアドレス＃２を指定しての設定要求をアドレス設定要求（＃２）として送信する（図３参照）。
【００２７】
下位コントローラ２−１は、上位コントローラ１からアドレス設定要求（＃２）が送信されてくると、設定されている自己のアドレスを確認する。この場合、下位コントローラ２−１には、自己のアドレスとして＃１が設定されている。
【００２８】
下位コントローラ２−１は、自己のアドレスとして「＃２５５」が設定されていないことを確認すると（自己のアドレスとして＃１が設定されていることを確認すると）、上位コントローラ１から送信されてきたアドレス設定要求（＃２）を下流側の下位コントローラ２−２へ転送する。
【００２９】
下位コントローラ２−２は、上位コントローラ１からアドレス設定要求（＃２）が送信されてくると、設定されている自己のアドレスを確認する。この場合、下位コントローラ２−２には、自己のアドレスとして「＃２５５」（初期値）が設定されている。
【００３０】
下位コントローラ２−２は、自己のアドレスとして「＃２５５」が設定されていることを確認すると、このアドレス「＃２５５」を上位コントローラ１から指定されたアドレス「＃２」に書き替える。そして、この指定されたアドレス「＃２」への書き替えを完了したことを示す信号をＡＣＫとして、上位コントローラ１に返送する。
【００３１】
なお、上位コントローラ１からのアドレス設定要求（＃２）は、下位コントローラ２−２で受信されることによって終端され、下流側には送られない。
【００３２】
上位コントローラ１は、下位コントローラ２−２からのＡＣＫを確認すると、それまでに確認したＡＣＫの数ＮACKをＮACK＝２としてカウントすると共に、指定するアドレスを変更しての設定要求を下位コントローラ２−１〜２−Ｎへ上流側から下流側に向けて送信する。この例では、前回指定したアドレス＃２をインクリメントして＃３とし、このインクリメントしたアドレス＃３を指定しての設定要求をアドレス設定要求（＃３）として送信する。
【００３３】
以下、同様の動作が繰り返され、上流側の下位コントローラ２から順に、指定されたアドレス＃Ｘが設定されて行く。
【００３４】
下位コントローラ２−Ｎは、上位コントローラ１からアドレス設定要求（＃Ｎ）が送信されてくると（図４参照）、設定されている自己のアドレスを確認する。この場合、下位コントローラ２−Ｎには、自己のアドレスとして「＃２５５」（初期値）が設定されている。
【００３５】
下位コントローラ２−Ｎは、自己のアドレスとして「＃２５５」が設定されていることを確認すると、このアドレス「＃２５５」を上位コントローラ１から指定されたアドレス「＃Ｎ」に書き替える。そして、この指定されたアドレス「＃Ｎ」への書き替えを完了したことを示す信号をＡＣＫとして、上位コントローラ１に返送する。
【００３６】
上位コントローラ１は、下位コントローラ２−ＮからのＡＣＫを確認すると、それまでに確認したＡＣＫの数ＮACKをＮACK＝Ｎとしてカウントする。ＮACK＝Ｎとなった場合、すなわち確認されたＡＣＫの数ＮACKが下位コントローラ２の接続台数Ｎに達した場合、上位コントローラ１は、全ての下位コントローラ２に対してのアドレスの設定が正常に終了したと判断し、一連の処理を終了する。
【００３７】
上述した動作を実現するための上位コントローラ１の機能ブロック図を図５に示し、下位コントローラ２（２−１〜２−Ｎ）の機能ブロック図を図６に示す。
【００３８】
上位コントローラ１や下位コントローラ２（２−１〜２−Ｎ）は、プロセッサや記憶装置からなるハードウェアと、これらのハードウェアと協働して各種機能を実現させるプログラムとによって実現される。
【００３９】
〔上位コントローラ〕
上位コントローラ１は、図５に示されるように、本実施の形態特有の機能部として、アドレス設定要求送信部１１と、ＡＣＫ確認部１２と、指定アドレス変更部１３と、ＡＣＫ数カウント部１４と、正常終了判断部１５とを備えている。
【００４０】
上位コントローラ１において、アドレス設定要求送信部１１は、外部ツール３からのアドレス設定開始要求を受けて、直列に接続された下位コントローラ２−１〜２−Ｎへ上流側から下流側に向けてアドレスを指定しての設定要求（アドレス設定要求（＃Ｘ））を送信する。この場合、Ｘの初期値は１とされており、アドレス設定要求（＃１）を送信する。
【００４１】
ＡＣＫ確認部１２は、下位コントローラ２−１〜２−Ｎから返送されてくるＡＣＫを確認する。指定アドレス変更部１３は、ＡＣＫ確認部１２によってＡＣＫが確認される毎に、アドレス設定要求送信部１１にアドレスの変更命令を送り、指定するアドレスを変更しての設定要求の送信を繰り返させる。この場合、アドレス設定要求送信部１１は、指定アドレス変更部１３からのアドレスの変更命令を受ける毎にＸ＝Ｘ＋１とし、アドレス＃Ｘを指定してのアドレス設定要求（＃Ｘ）の送信を繰り返す。
【００４２】
ＡＣＫ数カウント部１４は、ＡＣＫ確認部１２によってＡＣＫが確認される毎に、確認したＡＣＫの数をＮACKとしてカウントする。この場合、ＮACKの初期値は０とされており、ＡＣＫ確認部１２によってＡＣＫが確認される毎にＮACK＝ＮACK＋１とされる。
【００４３】
正常終了判断部１５は、ＡＣＫ数カウント部１４によってカウントされたＡＣＫの数ＮACKが下位コントローラ２の接続台数Ｎに達した場合（ＮACK＝Ｎ）、全ての下位コントローラ２に対してのアドレスの設定が正常に終了したと判断する。
【００４４】
図７に参考として、上位コントローラ１で行われる処理動作のフローチャートを示す。このフローチャートにおいて、Ｘの初期値は１とされ、ＮACKの初期値は０とされている。
【００４５】
上位コントローラ１は、アドレス設定開始要求を受けると（ステップＳ１０１のＹＥＳ）、直列に接続された下位コントローラ２−１〜２−Ｎへ上流側から下流側に向けてアドレス設定要求（＃Ｘ）を送信する（ステップＳ１０２）。このアドレス設定要求（＃Ｘ）を受けて、自己のアドレスをアドレス＃Ｘとして書き替えた下位コントローラ２−１からＡＣＫが返送されてくると（ステップＳ１０３のＹＥＳ）、上位コントローラ１はＮACKに１を加算（ＮACK＝ＮACK＋１）する（ステップＳ１０４）。
【００４６】
そして、上位コントローラ１は、ＮACKがＮに達したか否かを確認する（ステップＳ１０５）。この場合、ＮACKは１であるので（ステップＳ１０５のＮＯ）、Ｘ＝Ｘ＋１として（ステップＳ１０６）、ステップＳ１０２に戻り、上述と同様の動作を繰り返す。
【００４７】
この動作中、ＮACKがＮに達すると（ステップＳ１０５のＹＥＳ）、上位コントローラ１は、全ての下位コントローラ２に対してのアドレスの設定が正常に終了したと判断する（ステップＳ１０７）。
【００４８】
〔下位コントローラ〕
下位コントローラ２（２−１〜２−Ｎ）は、図６に示すように、本実施の形態特有の機能部として、自己アドレス記憶部２１と、自己アドレス確認部２２と、自己アドレス更新部２３と、アドレス設定要求転送部２４とを備えている。
【００４９】
下位コントローラ２（２−１〜２−Ｎ）において、自己アドレス記憶部２１には、予め定められた初期値が仮の自己のアドレスとして設定されている。この例では、初期値として「＃２５５」が仮の自己のアドレスとして設定されている。
【００５０】
自己アドレス確認部２２は、上位コントローラ１からアドレスを指定しての設定要求（アドレス設定要求（＃Ｘ））が送信されてきた場合、自己アドレス記憶部２１に設定されている自己のアドレスを確認する。
【００５１】
自己アドレス更新部２３は、自己アドレス確認部２２によって自己アドレス記憶部２１に自己のアドレスとして＃２５５（初期値）が設定されていることが確認された場合、自己アドレス記憶部２１に設定されている自己のアドレスを上位コントローラ１から指定されたアドレス＃Ｘに書き替えると共に、この指定されたアドレス＃Ｘへの書き替えを完了したことを示す信号をＡＣＫとして上位コントローラ１に返送する。
【００５２】
アドレス設定要求転送部２４は、自己アドレス確認部２２によって自己アドレス記憶部に自己のアドレスとして＃２５５（初期値）が設定されていることが確認されなかった場合、上位コントローラ１から送信されてきたアドレス設定要求（＃Ｘ）を下流側の下位コントローラに転送する。
【００５３】
図８に参考として、下位コントローラ２（２−１〜２−Ｎ）で行われる処理動作のフローチャートを示す。
【００５４】
下位コントローラ２（２−１〜２−Ｎ）は、上位コントローラ１からアドレス設定要求（＃Ｘ）が送信されてくると（ステップＳ２０１のＹＥＳ）、設定されている自己のアドレスを確認する（ステップＳ２０２）。
【００５５】
ここで、設定されている自己のアドレスが「＃２５５」（初期値）であれば（ステップＳ２０３のＹＥＳ）、下位コントローラ２（２−１〜２−Ｎ）は、その設定されているアドレス「＃２５５」を「＃Ｘ」に書き替えた後（ステップＳ２０４）、上位コントローラ１へＡＣＫを返送する（ステップＳ２０５）。
【００５６】
これに対し、設定されている自己のアドレスが「＃２５５」（初期値）でなかった場合には（ステップＳ２０３のＮＯ）、下位コントローラ２（２−１〜２−Ｎ）は、上位コントローラ１からのアドレス設定要求（＃Ｘ）を下流側の下位コントローラへ転送する（ステップＳ２０６）。
【００５７】
〔他の実施の形態〕
上述した実施の形態では、確認したＡＣＫの数ＮACKが下位コントローラ２の接続数Ｎに達した場合に正常終了と判断するようにしたが、一定時間内にＮACKがＮに達した場合に「正常」、一定時間内においてＮACKがＮに達しなかった場合に「異常」と判断するようにしてもよい。
【００５８】
例えば、下位コントローラ２が１０台接続されているはずなのに、９台分しかＡＣＫが返ってこないような場合が、これに該当する。この場合、１０台中のどれか１台が異常状態（通信異常等）にあることを示す。
【００５９】
図９に、一定時間内においてＮACKがＮに達しなかった場合に「異常」と判断する機能を備えた上位コントローラ１’の機能ブロック図を示す。この上位コントローラ１’は、図５に示したアドレス設定要求送信部１１、ＡＣＫ確認部１２、指定アドレス変更部１３に加え、タイマ１６を備えている。また、図５に示した正常終了判断部１５に代えて、正常・異常判断部１７を備えている。
【００６０】
この上位コントローラ１’において、タイマ１６は、アドレス設定要求送信部１１が最初のアドレス設定要求（＃１）を送信すると、この最初のアドレス設定要求（＃１）が送信されてからの時間Ｔを計時し、正常・異常判断部１７へ送る。
【００６１】
正常・異常判断部１７には一定時間ＴＣが定められている。正常・異常判断部１７は、タイマ１６が計時する時間Ｔが一定時間ＴＣに達する前にＡＣＫ数カウント部１４によってカウントされたＡＣＫの数ＮACKが下位コントローラ２の接続台数Ｎに達したか否かを確認する。すなわち、一定時間ＴＣ内にＡＣＫの数ＮACKが下位コントローラ２の接続台数Ｎに達したか否かを確認する。ここで、一定時間ＴＣ内にＡＣＫの数ＮACKがＮに達したことが確認された場合（ＮACK＝Ｎ）、正常・異常判断部１７は、全ての下位コントローラ２に対してのアドレスの設定が正常に終了したと判断する。一定時間ＴＣ内にＡＣＫの数ＮACKがＮに達したことが確認されなかった場合（ＮACK≠Ｎ）、正常・異常判断部１７は、異常と判断する。
【００６２】
上述した実施の形態では、上位コントローラ１から送信するアドレス設定要求（＃Ｘ）について、ＡＣＫが確認される毎に指定するアドレス＃Ｘをインクリメントするものとしたが、もちろんデクリメントするようにしてもよい。
【００６３】
また、上位コントローラ１に接続される「下位コントローラの台数」、「物理的な並び順」を予め設定しておくことによって、下位コントローラ２−１に対してはアドレス＃１０、下位コントローラ２−２に対してはアドレス＃４、下位コントローラ２−３に対してはアドレス＃１、・・・・、下位コントローラ２−Ｎに対してはアドレス＃１００というように、予め決められたアドレスを順に設定して行くように構成してもよい。
【００６４】
〔実施の形態の拡張〕
以上、実施の形態を参照して本発明を説明したが、本発明は上記の実施の形態に限定されるものではない。本発明の構成や詳細には、本発明の技術思想の範囲内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００６５】
１，１’…上位コントローラ、２（２−１〜２−Ｎ）…下位コントローラ、１１…アドレス設定要求送信部、１２…ＡＣＫ確認部、１３…指定アドレス変更部、１４…ＡＣＫ数カウント部、１５…正常終了判断部、１６…タイマ、１７…正常・異常判断部、１００…アドレス自動設定システム。
【図１】
2018064165.tif 000003
【図２】
2018064165.tif 000004
【図３】
2018064165.tif 000005
【図４】
2018064165.tif 000006
【図５】
2018064165.tif 000007
【図６】
2018064165.tif 000008
【図７】
2018064165.tif 000009
【図８】
2018064165.tif 000010
【図９】
2018064165.tif 000011