(57)【要約】【課題】ネットワーク上で制御装置とティーチペンダントとを接続する際、制御装置とティーチペンダントのノード間の接続手続きを簡略化できるとともに、又、間違ったノード間で接続してしまうリスクや、複数のティーチペンダントが重複して接続してしまうリスクを低減できるロボット制御システムを提供する。【解決手段】安全ノード１４はコントローラ番号に基づく安全ノード１４のＩＰアドレスを有する。安全ノード１４は入力されたコントローラ番号に基づき安全ノード２４、１４及び非安全ノード１５のＩＰアドレスを生成する。安全ノード１４にて生成された接続したいコントローラの安全ノード及び非安全ノードのＩＰアドレスと、安全ノード１４と非安全ノードのＩＰアドレスを使用して接続したいコントローラと接続関係を確立する。【選択図】図１
2008059017.tif 000002
【特許請求の範囲】
【請求項１】
可搬式操作部と、該可搬式操作部とネットワーク手段、又は非有線通信手段を介して情報を送受信するロボット制御用の複数のコントローラを備えたロボット制御システムにおいて、
前記コントローラは、該コントローラの識別情報に基づいて算出された第１ホストアドレス部がネットワーク共通アドレス部に付加された第１ノードアドレスを有し、
前記可搬式操作部は、
前記コントローラの識別情報を入力するための入力手段と、入力された前記コントローラの識別情報に基づき、前記コントローラの第１ノードアドレスの作成と同じロジックで第１ノードアドレスを作成するとともに、前記第１ホストアドレス部に基づいてユニークな第２ホストアドレス部を生成して、前記ネットワーク共通アドレス部に付加して可搬式操作部の第２ノードアドレスを生成するノードアドレス生成手段を備え、前記ノードアドレス生成手段にて生成された第１ノードアドレス、及び第２ノードアドレスを使用して、接続したいコントローラと接続関係を確立することを特徴とするロボット制御システム。
【請求項２】
前記可搬式操作部は、
前記第２ノードアドレスの使用有無確認のためのＡＲＰ（Address  Ressolution  Protocol）要求を前記ネットワーク手段又は前記非有線通信手段を介してブロードキャストする第１送出手段を備え、
前記ＡＲＰ要求に対する応答がない場合、前記ノードアドレス生成手段にて生成された第１ノードアドレス、及び第２ノードアドレスを使用して、前記識別情報が付与されたコントローラと接続関係を確立することを特徴とする請求項１に記載のロボット制御システム。
【請求項３】
前記コントローラは、
前記第１ホストアドレス部に基づいてユニークに生成された第２ホストアドレス部が前記ネットワーク共通アドレス部に付加されてなる可搬式操作部の第２ノードアドレス及び前記第１ノードアドレスを記憶する記憶手段と、ＤＨＣＰプロトコルに従い、ディスカバーパケットに応答して、前記記憶手段に記憶された第１及び第２ノードアドレスを含むオファーパケットを出力して、前記ディスカバーパケットを送信した可搬式操作部に対して前記第２ノードアドレスを割り当てる割当手段を備え、
前記可搬式操作部は、
前記ディスカバーパケットを送出するディスカバー送出手段と、前記オファーパケットの第１及び第２ノードアドレスが、前記ノードアドレス生成手段が生成した第１ノードアドレス及び第２ノードアドレスとそれぞれ一致するか否かを判定する判定手段と、前記判定手段の判定が一致したと判定した際、ＤＨＣＰプロトコルに従いリクエストパケットを送信するリクエスト出力手段を備え、
前記可搬式操作部は前記リクエストパケットを送信した後前記オファーパケットを送信したコントローラと接続手続きを進めることを特徴とする請求項１に記載のロボット制御システム。
【請求項４】
前記割当手段は、自身のコントローラが可搬式操作部と無接続状態にあるときのみ、ディスカバーパケットを受信した際に、該ディスカバーパケットを送信した可搬式操作部に対して前記第１及び第２ノードアドレスを含むオファーパケットを出力し、
前記可搬式操作部は、前記リクエストパケットに対する応答のアックパケットを受信した際、該アックパケットを送信したコントローラと接続関係を確立することを特徴とする請求項３に記載のロボット制御システム。
【請求項５】
前記割当手段は、自身のコントローラが可搬式操作部との接続状態とは無関係に、ディスカバーパケットを受信した際に、該ディスカバーパケットを送信した可搬式操作部に対して前記第１及び第２ノードアドレスを含むオファーパケットを出力し、
前記可搬式操作部は、
前記リクエストパケットに対する応答のアックパケットを受信した際、ＡＲＰ要求をブロードキャストする第２送出手段を備え、
前記ＡＲＰ要求に対し、いかなるノードからも応答がない場合、前記オファーパケットにより割り当てられた第２ノードアドレスを使用して、前記アックパケットを出力したコントローラと接続関係を確立することを特徴とする請求項３に記載のロボット制御システム。
【請求項６】
前記識別情報は数値であり、
前記ロジックは、ノードアドレスの共通部分であるネットワーク共通アドレス部に対して、前記数値を整数倍した値をホストアドレス部として付加して、前記識別情報を有するコントローラのノードの第１ノードアドレスにするものであることを特徴とする請求項１乃至請求項５のうちいずれか１項に記載のロボット制御システム。
【請求項７】
前記整数倍の整数は、接続先のコントローラが持つ単数のノードの数と、前記可搬式操作部が持つ複数のノードの数の合計数であり、
前記ノードアドレス生成手段は、
第１ノードアドレスのホストアドレス部の数値を基にして得られるユニークな数値を第２ホストアドレス部として、ネットワーク共通アドレス部に付加することにより、前記可搬式操作部のノードのノードアドレスを生成する
ことを特徴とする請求項６に記載のロボット制御システム。
【請求項８】
前記整数倍の整数は、接続先のコントローラが持つ複数のノードの数と、前記可搬式操作部が持つ単数又は複数のノードの数の合計数であり、
前記ノードアドレス生成手段は、前記コントローラの１つのノードに対して、前記数値を整数倍した値を第１ホストアドレス部として有する第１ノードアドレスを作成し、
前記コントローラの残りの他のノードに対しては、第１ノードアドレスの第１ホストアドレス部の数値を基にして得られるユニークな数値をホストアドレス部として、ネットワーク共通アドレス部に付加することにより、第３ノードアドレスとして作成することを特徴とする請求項６に記載のロボット制御システム。
【請求項９】
前記複数のノードは、機能別、負荷別、又は安全別に分けられていることを特徴とする請求項７又は請求項８に記載のロボット制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上でティーチペンダントとロボット制御装置（以下、制御装置という）とを接続する際、互いに接続関係を結ぶノードが間違えることなく接続できるロボット制御システムに関する。
【背景技術】
【０００２】
従来から有線ＬＡＮ（ローカル  エリア  ネットワーク）や無線ＬＡＮ等のネットワーク上で機器間の接続を確立する場合、一方のノードが事前に接続対象のノードと通信を行い、煩雑なメッセージのやり取りを行うことで接続対象のノードを識別している。又、通信を行う機器のノード間は、前述した煩雑なメッセージのやり取りを行うという同様の手順により、現在の接続状態の確認や、接続が可能かどうかについて確認を行っている。
【０００３】
特許文献１では、制御装置に持たせたＷｅｂサーバの機能と、ティーチペンダントに持たせたブラウザ機能により、ネットワーク上でティーチペンダントと制御装置とを接続するようにされている。この場合、接続対象の制御装置のＵＲＬアドレスを、操作者がティーチペンダント上で入力することにより、ティーチペンダントを接続する制御装置を指定することが行われている。特許文献１では、制御装置はティーチペンダントからの要求に応じるようにされており、制御装置が、接続関係にあるティーチペンダントを認識するための方法については、なんら開示されていない。
【０００４】
又、特許文献２では、装置の起動時に、装置種別に応じたＩＰアドレスを割当てる方法が提案されている。ところで、ネットワーク上のノードに対して、ＤＨＣＰやＡＲＰを用いてＩＰアドレスを自動的に割り当てる方法は既存技術として公知である。特許文献２では、この既存技術を元に、装置種別を表す装置ＩＤを各ノードに設定しておき、ＤＨＣＰサーバがＩＰアドレスを割当てる際、対象ノードの装置ＩＤを参照して、データベース上で装置ＩＤに関連付けられたＩＰアドレスを検索してＩＰアドレスの割当てを行うようにしている。このことにより、特定の機器に対して特定のＩＰアドレスを割当てることができる。このようにして、特許文献２では装置の起動時など、ノードがネットワークに参加する際に行う、ＩＰアドレス割当て方法が行われている。しかし、特許文献２では、ネットワーク上で、制御装置と接続される機器との接続関係を明確化するための方法については開示されていない。
【特許文献１】特開２００３−０５３６８８号公報
【特許文献２】特開２００４−２８２１１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、産業用ロボットのティーチペンダントをネットワーク化あるいは無線化するとき、制御装置とティーチペンダントとの間で、制御装置のノードとティーチペンダントのノード間のシリアル通信を成立させる必要がある。
【０００６】
しかし、従来は、接続関係になる互いのノードを識別する処理において、煩雑な確認メッセージのやり取りが必要であり、既にティーチペンダントと接続済みの制御装置に対して、他のティーチペンダントが重複して接続を行ってしまう可能性があった。又、従来は、接続関係になる互いのノード間で相手先アドレスを間違うリスクがあり、制御装置がティーチペンダントと接続状態かどうかを確認する処理において、煩雑な確認メッセージのやり取りが必要である。さらに、従来は、ティーチペンダントが制御装置と接続状態かどうか、またどの制御装置と接続しているかを判定する処理が複雑である問題がある。
【０００７】
本発明の目的は、ネットワーク上で制御装置とティーチペンダントとを接続する際、制御装置のノードとティーチペンダントのノード間の接続手続きを簡略化できるとともに、又、間違ったノード間で接続してしまうリスクや、複数のティーチペンダントが重複して接続してしまうリスクを低減できるロボット制御システムを提供することにある。
【課題を解決するための手段】
【０００８】
上記問題点を解決するために、請求項１に記載の発明は、可搬式操作部と、該可搬式操作部とネットワーク手段、又は非有線通信手段を介して情報を送受信するロボット制御用の複数のコントローラを備えたロボット制御システムにおいて、前記コントローラは、該コントローラの識別情報に基づいて算出された第１ホストアドレス部がネットワーク共通アドレス部に付加された第１ノードアドレスを有し、前記可搬式操作部は、前記コントローラの識別情報を入力するための入力手段と、入力された前記コントローラの識別情報に基づき、前記コントローラの第１ノードアドレスの作成と同じロジックで第１ノードアドレスを作成するとともに、前記第１ホストアドレス部に基づいてユニークな第２ホストアドレス部を生成して、前記ネットワーク共通アドレス部に付加して可搬式操作部の第２ノードアドレスを生成するノードアドレス生成手段を備え、前記ノードアドレス生成手段にて生成された第１ノードアドレス、及び第２ノードアドレスを使用して、接続したいコントローラと接続関係を確立することを特徴とするロボット制御システムを要旨とするものである。
【０００９】
なお、非有線通信手段とは、無線通信（通信媒体：電波）、赤外線通信、光通信、或いは磁気通信を含み、いずれもワイヤレスで行う伝送方式のことをいう。
請求項２の発明は、請求項１において、前記可搬式操作部は、前記第２ノードアドレスの使用有無確認のためのＡＲＰ（Address  Ressolution  Protocol）要求を前記ネットワーク手段又は前記非有線通信手段を介してブロードキャストする第１送出手段を備え、前記ＡＲＰ要求に対する応答がない場合、前記ノードアドレス生成手段にて生成された第１ノードアドレス、及び第２ノードアドレスを使用して、前記識別情報が付与されたコントローラと接続関係を確立することを特徴とする。
【００１０】
請求項３の発明は、請求項１において、前記コントローラは、前記第１ホストアドレス部に基づいてユニークに生成された第２ホストアドレス部が前記ネットワーク共通アドレス部に付加されてなる可搬式操作部の第２ノードアドレス及び前記第１ノードアドレスを記憶する記憶手段と、ＤＨＣＰプロトコルに従い、ディスカバーパケットに応答して、前記記憶手段に記憶された第１及び第２ノードアドレスを含むオファーパケットを出力して、前記ディスカバーパケットを送信した可搬式操作部に対して前記第２ノードアドレスを割り当てる割当手段を備え、前記可搬式操作部は、前記ディスカバーパケットを送出するディスカバー送出手段と、前記オファーパケットの第１及び第２ノードアドレスが、前記ノードアドレス生成手段が生成した第１ノードアドレス及び第２ノードアドレスとそれぞれ一致するか否かを判定する判定手段と、前記判定手段の判定が一致したと判定した際、ＤＨＣＰプロトコルに従いリクエストパケットを送信するリクエスト出力手段を備え、前記可搬式操作部は前記リクエストパケットを送信した後前記オファーパケットを送信したコントローラと接続手続きを進めることを特徴とする。
【００１１】
請求項４の発明は、請求項３において、前記割当手段は、自身のコントローラが可搬式操作部と無接続状態にあるときのみ、ディスカバーパケットを受信した際に、該ディスカバーパケットを送信した可搬式操作部に対して前記第１及び第２ノードアドレスを含むオファーパケットを出力し、前記可搬式操作部は、前記リクエストパケットに対する応答のアックパケットを受信した際、該アックパケットを送信したコントローラと接続関係を確立することを特徴とする。
【００１２】
請求項５の発明は、請求項３において、前記割当手段は、自身のコントローラが可搬式操作部との接続状態とは無関係に、ディスカバーパケットを受信した際に、該ディスカバーパケットを送信した可搬式操作部に対して前記第１及び第２ノードアドレスを含むオファーパケットを出力し、前記可搬式操作部は、前記リクエストパケットに対する応答のアックパケットを受信した際、ＡＲＰ要求をブロードキャストする第２送出手段を備え、前記ＡＲＰ要求に対し、いかなるノードからも応答がない場合、前記オファーパケットにより割り当てられた第２ノードアドレスを使用して、前記アックパケットを出力したコントローラと接続関係を確立することを特徴とする。
【００１３】
請求項６の発明は、請求項１乃至請求項５のうちいずれか１項において、前記識別情報は数値であり、前記ロジックは、ノードアドレスの共通部分であるネットワーク共通アドレス部に対して、前記数値を整数倍した値をホストアドレス部として付加して、前記識別情報を有するコントローラのノードのノードアドレスにするものである。
【００１４】
請求項７の発明は、請求項６において、前記整数倍の整数は、接続先のコントローラが持つ単数のノードの数と、前記可搬式操作部が持つ複数のノードの数の合計数であり、前記ノードアドレス生成手段は、第１ノードアドレスのホストアドレス部の数値を基にして得られるユニークな数値を第２ホストアドレス部として、ネットワーク共通アドレス部に付加することにより、前記可搬式操作部のノードのノードアドレスを生成することを特徴とする。
【００１５】
請求項８の発明は、請求項６において、前記整数倍の整数は、接続先のコントローラが持つ複数のノードの数と、前記可搬式操作部が持つ単数又は複数のノードの数の合計数であり、前記ノードアドレス生成手段は、前記コントローラの１つのノードに対して、前記数値を整数倍した値を第１ホストアドレス部として有する第１ノードアドレスを作成し、前記コントローラの残りの他のノードに対しては、第１ノードアドレスの第１ホストアドレス部の数値を基にして得られるユニークな数値をホストアドレス部として、ネットワーク共通アドレス部に付加することにより、第３ノードアドレスとして作成することを特徴とする。
【００１６】
請求項９の発明は、請求項７又は請求項８において、前記複数のノードは、機能別、負荷別、又は安全別に分けられていることを特徴とする。
【発明の効果】
【００１７】
以上詳述したように、請求項１の発明によれば、接続したいロボット制御用のコントローラにユニークに割り当てられているコントローラの識別情報を入力手段にて入力するだけで、該コントローラ及び可搬式操作部のＩＰアドレスを簡単に得ることができる。そして、コントローラ及び可搬式操作部のＩＰアドレスは、接続したいコントローラの識別情報に基づいて一義的に得られるため、接続したいコントローラと煩雑な確認メッセージのやりとりが必要でなくなる。この結果、ネットワーク上でコントローラ（制御装置）と可搬式操作部とを接続する際、コントローラのノードと可搬式操作部のノード間の接続手続きを簡略化できるとともに、又、間違ったノード間で接続してしまうリスクや、複数のティーチペンダントが重複して接続してしまうリスクを低減できる。
【００１８】
請求項２の発明によれば、可搬式操作部と既に接続済みのコントローラに対して、他の可搬式操作部が重複して接続を行うことがなくなるとともに、可搬式操作部とコントローラとの接続のための手続を簡略化することができる。
【００１９】
請求項３の発明によれば、ネットワーク上でコントローラ（制御装置）と可搬式操作部とを接続する際、コントローラのノードと可搬式操作部のノード間の接続手続きを簡略化できるとともに、又、間違ったノード間で接続してしまうリスクや、複数のティーチペンダントが重複して接続してしまうリスクを低減できる。
【００２０】
請求項４の発明によれば、前記割当手段は、自身のコントローラが可搬式操作部と無接続状態にあるときに、ディスカバーパケットを受信した際に、該ディスカバーパケットを送信した可搬式操作部に対して前記第１及び第２ＩＰアドレスを含むオファーパケットを出力する。この結果、可搬式操作部は、オファーパケットを送信したコントローラが、他の可搬式操作部とは無接続状態にあることが分かるため、ＡＲＰ要求をブロードキャストする必要がなく、接続関係を結びたいコントローラとは早期に接続関係を確立することができる。すなわち、可搬式操作部と既に接続済みのコントローラに対して、他の可搬式操作部が重複して接続を行うことがなくなるとともに、可搬式操作部とコントローラとの接続のための手続を簡略化することができる。
【００２１】
請求項５の発明によれば、ネットワーク上で、コントローラと可搬式操作部とを接続する際、間違った装置間で接続してしまうリスクや、複数の可搬式操作部が重複して接続してしまうことがない。
【００２２】
請求項６の発明によれば、接続したいコントローラの識別情報に基づいて得られるホストアドレス部を、ネットワーク手段で使用されるＩＰアドレスの共通部分であるネットワークアドレス部に付加するだけで該コントローラのＩＰアドレスを生成することができる。
【００２３】
請求項７及び請求項８の発明によれば、コントローラや、ティーチペンダントのノード数がそれぞれ複数存在しても、それぞれのノードに対してアドレスが重複しないノードアドレスを作成することができる。仮に、識別情報の数値を整数倍する際の整数を、接続先のコントローラとティーチペンダントが持つ複数のノードの数の合計数よりも少なくすると、コントローラの数が増加するほど、又、ノード数が増加するほど、各ノードに対して重複したアドレスができてしまい、ユニークなアドレスを作成できなくなる問題がある。  
【００２４】
請求項９の発明によれば、機能別、負荷別、或いは、安全別にノードを区別すると、区別されたノード同士の交信ができる。このことにより、目的に応じた交信を行うことができる。又、より優先度の高いノードにおいて、いずれかを通信の信頼性を高くするためにコストを高くしても全体としてはコストを低減することができる。
【発明を実施するための最良の形態】
【００２５】
（第１実施形態）
以下、本発明を教示装置である可搬式操作部としてのティーチペンダント１０とロボット制御装置としての複数のコントローラ２０とがネットワーク手段としての無線ＬＡＮを介して通信を行うロボット制御システム３０に具体化した第１実施形態を図１〜６を参照して説明する。
【００２６】
このロボット制御システム３０のコントローラ２０Ａ〜２０Ｃがそれぞれ制御するロボットＲ１〜Ｒ３は、例えば溶接ロボットである、なお、ロボットは、溶接ロボットに限定されるものではなく、例えば搬送ロボット等の他のロボットであってもよい。なお、各コントローラの構成は同じであるため、コントローラ２０Ａの構成について以下では説明し、他のコントローラの説明を省略する。
【００２７】
なお、説明の便宜上、以下の説明ではコントローラ２０Ａ〜２０Ｃのいずれかを特定しない場合には、コントローラには２０の符号を付す。同様に、ロボットＲ１〜Ｒ３のいずれかを特定しない場合には、ロボットにはＲの符号を付す。
【００２８】
図１に示すように可搬式操作部としてのティーチペンダント１０はＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、安全ノード１４、非安全ノード１５、キーボード１６、液晶ディスプレイ１７及び有線・無線変換器１８の各部を備えているとともに各部はバス１９を介して接続されている。キーボード１６は入力手段に相当する。
【００２９】
ティーチペンダント１０のＲＯＭ１２には、ティーチペンダント１０からのロボットＲ１の操作や通信を実行するための各種制御プログラムとその制御定数が格納される。ＲＡＭ１３は、ＣＰＵ１１のワーキングエリアとして用いられ、計算途中のデータが一時的に格納される。
【００３０】
安全ノード１４及び非安全ノード１５は、コントローラ２０との接続に使用される通信部である。安全ノード１４及び非安全ノード１５の詳細な説明は後述する。又、有線・無線変換器１８は、安全ノード１４及び非安全ノード１５を介して出力されたデータを無線で送信したり、コントローラ２０から無線送信されたデータを受信して安全ノード１４及び非安全ノード１５に該データを出力する。
【００３１】
次にコントローラ２０Ａの構成を説明する。
コントローラ２０Ａは、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、安全ノード２４、非安全ノード２５、サーボドライバ２６及び有線・無線変換器２８の各部を備えているとともに前記各部はバス２９を介して互いに接続されている。前記ＲＯＭ２２には、コントローラ２０Ａが制御対象とするロボットＲ１の動作制御を実行するための制御プログラム等の各種プログラムとその制御定数が格納される。なお、ＲＡＭ２３は、ＣＰＵ２１のワーキングエリアとして用いられ、計算途中のデータが一時的に格納される。安全ノード２４及び非安全ノード２５は、ティーチペンダント１０との接続に使用される通信部である。安全ノード２４及び非安全ノード２５の詳細な説明は後述する。サーボドライバ２６は、ロボットＲ１の各関節を駆動する図示しないモータに接続され、該モータに通電させる電流を制御する。
【００３２】
次に、ティーチペンダント１０及びコントローラ２０が備える安全ノード１４，２４及び非安全ノード１５，２５について説明する。図３はノードのブロック図である。各ノードは、略同様の構成を有するため、以下、このノードの説明では、単にノードという。図３に示すようにノードは、ＬＡＮの制御を行うための機能を持つコンピュータであって、ＣＰＵ１００とＬＡＮコントローラ１０１により、外部Ｉ／０１０３、有線・無線変換器１８（或いは有線・無線変換器２８）を介してＬＡＮ制御を行う。又、メモリ１０２には自ノードを構成しているネットワーク機器の物理アドレスであるＭＡＣアドレス（MediaAccess Control Address）などを保存する。なお、自ノードのネットワーク機器のＭＡＣアドレス以外にメモリ１０２に格納されるＩＰアドレスについては後述する。ＭＡＣアドレスは公知のようにネットワーク機器に固有のアドレスである。
【００３３】
本実施形態では、ＩＰアドレスは、ノードアドレスに相当する。
そして、ティーチペンダント１０の安全ノード１４とコントローラ２０の安全ノード２４とが、交信できるようにされているとともに、ティーチペンダント１０の非安全ノード１５とコントローラ２０の非安全ノード２５間が交信できるようにされている。
【００３４】
本実施形態では、安全ノード１４，２４間は、ロボットを非常停止等させる等の安全に関係するデータの信号（以下、安全信号という）の送受信が行われる。この安全信号の中には、後述するティーチペンダント１０とコントローラ２０との接続処理時に交信される各種信号が含まれる。又、非安全ノード１５，２５間は、ロボットを制御する場合に、安全に関係しないデータの信号（以下、非安全信号という）が交信される。このように、本実施形態では、非安全信号と安全信号との送受信を行うノードを分けて、別々送受信を行うことにより、非安全信号の送受信に関わりなく、安全ノード間で送受信される安全信号の伝達を確実、かつ高速に行うことが可能とされている。
【００３５】
本実施形態では、ティーチペンダント１０の安全ノード１４、非安全ノード１５、及び有線・無線変換器１８、並びに、コントローラ２０の安全ノード２４、非安全ノード２５、及び有線・無線変換器２８とにより、無線ＬＡＮからなるネットワーク手段が構成されている。なお、無線ＬＡＮでは通信パケットによりティーチペンダント１０、及びコントローラ２０の各ノード間の交信が行われている。なお、本実施形態を含めた以下の各実施形態では、各種メッセージが作成されて交信相手に送信されるが、特段に説明が無くても通信パケットとして各種メッセージが作成されている。
【００３６】
ここで、本実施形態で使用するＩＰアドレスについて説明する。
ＩＰ（Internet Protocol）アドレスは、外部ネットワークから特定のネットワーク（ＬＡＮ）を指定するためのネットワークアドレス部（ネットワーク共通アドレス部）と、１つのネットワーク（ＬＡＮ）内に接続された特定のコンピュータを指定するためのホストアドレス部とで構成される（図６参照）。ここで、ネットワークアドレス部は、１つのネットワークを指定するためのアドレスであり、そのネットワーク内では共通の値である。ホストアドレス部は、使用されるネットワーク内で使用されるユニークな値を有し、該ネットワークで使用されるノードを指定するためのものである。
【００３７】
なお、ＩＰアドレスは、インターネット接続には欠かせないアドレスであり、例えばＩＰｖ4では３２ビット、ＩＰｖ６では１２８ビットという固定長であって、インターネット上でホストを一意に識別することができる。
【００３８】
本実施形態では、ノードアドレスとしてＩＰアドレスを使用しているが、本実施形態では、インターネットではなく、最大でも構内ＬＡＮに使用される程度のネットワークを使用する。このため、ノードアドレスは、ＩＰアドレスに限定されるものではなく、ネットワーク共通アドレス部と最下位アドレスであるホストアドレス部から構成されたプライベートアドレスで構成されていてもよい。
【００３９】
そして、本実施形態では、この無線ＬＡＮに繋がっている各コントローラ２０の本体には識別情報としてのコントローラ番号（＝ＩＤ）が図４に示すように明記され、ティーチペンダント１０の操作者が該コントローラ番号を視認可能にされている。
【００４０】
又、このコントローラ番号を基にコントローラ２０及びティーチペンダント１０の各ノードのＩＰアドレスが設定されている。具体的には、前記コントローラ番号が整数倍（本実施形態では４倍）された値がホストアドレス部（第１ホストアドレス部）とされるとともにこのホストアドレス部がＩＰアドレスの共通部分であるネットワークアドレス部に付加されて、コントローラ２０の安全ノード２４のＩＰアドレスにされている。このコントローラ２０の安全ノード２４のＩＰアドレスは第１ノードアドレスに相当する。コントローラ２０の非安全ノード２５のＩＰアドレスは第３ノードアドレスに相当する。又、ティーチペンダント１０の安全ノード、及び非安全ノードのＩＰアドレスは、第２ノードアドレスに相当する。
【００４１】
そして、表１に示すようにコントローラ２０の安全ノード２４のＩＰアドレスを基点にして、コントローラ２０の非安全ノード２５のＩＰアドレスのホストアドレス部は、安全ノード２４のＩＰアドレスのホストアドレス部に数値「１」が加算された値とされている。具体的には、表１のコントローラ番号１では、安全ノード２４のＩＰアドレス「１９２．１６８．１．４」を基点に、非安全ノード２５のＩＰアドレス「１９２．１６８．１．５」のホストアドレス部「５」は、安全ノード２４のＩＰアドレス「１９２．１６８．１．４」のホストアドレス部「４」に数値「１」が加算された値とされている。
【００４２】
又、表１に示すようにコントローラ２０の安全ノード２４のＩＰアドレスを基点にして、ティーチペンダント１０の安全ノード１４のＩＰアドレスのホストアドレス部は、第２ホストアドレス部として、安全ノード２４のＩＰアドレスのホストアドレス部に数値「２」が加算された値とされている。具体的には、表１のコントローラ番号１では、安全ノード２４のＩＰアドレス「１９２．１６８．１．４」を基点に、安全ノード１４のＩＰアドレス「１９２．１６８．１．６」のホストアドレス部「６」は、安全ノード２４のＩＰアドレス「１９２．１６８．１．４」のホストアドレス部「４」に数値「２」が加算された値とされている。
【００４３】
【表１】
2008059017.tif 000003
又、表１に示すようにコントローラ２０の安全ノード２４のＩＰアドレスを基点にして、ティーチペンダント１０の非安全ノード１５のＩＰアドレスのホストアドレス部は、第２ホストアドレス部として安全ノード２４のＩＰアドレスのホストアドレス部に数値「３」が加算された値とされている。具体的には、表１のコントローラ番号１では、安全ノード２４のＩＰアドレス「１９２．１６８．１．４」を基点に、非安全ノード１５のＩＰアドレス「１９２．１６８．１．７」のホストアドレス部「７」は、安全ノード２４のＩＰアドレス「１９２．１６８．１．４」のホストアドレス部「４」に数値「３」が加算された値とされている。
【００４４】
このようにして、コントローラ２０の安全ノード２４と非安全ノード２５のホストアドレス部間は「１」のオフセット値を有する。又、コントローラ２０の非安全ノード２５とティーチペンダント１０の安全ノード１４のホストアドレス部間は「１」のオフセット値を有する。さらに、ティーチペンダント１０の安全ノード１４と非安全ノード１５のホストアドレス部間は「１」のオフセット値を有する。このように、オフセット値は、一定となるようにされている。オフセット値はこの「１」に限定されるものではなく、「２」以上であってもよい。
【００４５】
なお、前記整数倍の整数は、コントローラ２０のノード数と、ティーチペンダント１０のノード数の合計数が好ましいが、合計数を越えた整数であってもよい。なお、前記合成数よりも少ないと、ノード数分のホストアドレス部を作成できないため、好ましくない。本実施形態では、前記整数倍の整数は、コントローラ２０のノード数「２」と、ティーチペンダント１０のノード数「２」の合計数「４」である。
【００４６】
そして、コントローラ２０の安全ノード２４のメモリ１０２には、該安全ノード２４のＩＰアドレス、接続されるティーチペンダント１０の安全ノード１４のＩＰアドレス及び安全ノード２４のネットワーク機器のＭＡＣアドレスが読み出し自在に予め保存されている。又、コントローラ２０の非安全ノード２５のメモリ１０２には、非安全ノード２５のＩＰアドレス、接続されるティーチペンダント１０の非安全ノード１５のＩＰアドレス及び非安全ノード２５のネットワーク機器のＭＡＣアドレスが読み出し自在に予め保存されている。
【００４７】
一方、ティーチペンダント１０の安全ノード１４のメモリ１０２には、安全ノード１４のネットワーク機器のＭＡＣアドレスが読み出し自在に保存されている。又、安全ノード１４のメモリ１０２は、該安全ノード１４のＩＰアドレス、及び接続されるコントローラ２０の安全ノード２４のＩＰアドレスが書き込み及び読み出し自在に保存される。
【００４８】
又、ティーチペンダント１０の非安全ノード１５のメモリ１０２には、非安全ノード１５のネットワーク機器のＭＡＣアドレスが読み出し自在に保存されている。又、ティーチペンダント１０の非安全ノード１５のメモリ１０２には、該非安全ノード１５のＩＰアドレス、及び接続されるコントローラ２０の非安全ノード２５のＩＰアドレスが書き込み及び読み出し自在に保存される。
【００４９】
さて、上記のように構成されたロボット制御システム３０において、ティーチペンダント１０とコントローラ２０の接続処理を図５を参照して説明する。この実施形態は、ティーチペンダント１０の安全ノード１４、非安全ノード１５に対し、ティーチペンダント１０自身がＩＰアドレスの割当てを行うシステムである。
【００５０】
１）  ティーチペンダント１０によるコントローラ２０、ティーチペンダント１０のＩＰアドレスの取得
図５は、ティーチペンダント１０の安全ノード１４のＣＰＵ１００が実行する接続処理制御プログラムである。
【００５１】
このプログラムは、ティーチペンダント１０が接続処理モードに切り換えられた状態で、操作者が接続したいコントローラ２０のコントローラ番号のキーボード１６から入力があった際、ＣＰＵ１１から安全ノード１４のＣＰＵ１００への開始指示で該ＣＰＵ１００により起動される。
【００５２】
なお、前記コントローラ番号の入力は、接続したいコントローラ２０の本体に明記されているコントローラ番号を操作者が見て行われるため、操作者が接続したいコントローラ２０のコントローラ番号を間違えることがない。
【００５３】
なお、以下の説明では、説明の便宜上、「ノードのＣＰＵ１００が処理する（行う）等」の旨を単に「ノードが処理する（行う）等」の形で記載するものとする。
図５の接続処理制御プログラムが起動されると、ティーチペンダント１０の安全ノード１４は入力された「コントローラ番号」を読み込み（Ｓ１０）、操作者が接続したいコントローラ２０の安全ノード２４のＩＰアドレスに変換する（Ｓ１２）。なお、図５では説明の便宜上、ＩＰアドレスは「ＩＰ」に省略されている。又、ティーチペンダント１０は「ＴＰ」に省略されている。
【００５４】
この変換のロジックを図６に示す。図６の例では、ＩＰアドレスの最下位アドレス（ホストアドレス部）は、「コントローラ番号」が４倍されることで求められている。そして、その他の上位部分は予め設定されたネットワーク共通アドレス部（ネットワークアドレス部）とされている。そして、接続したいコントローラ２０の安全ノード２４のＩＰアドレスは、ネットワーク共通アドレス部（ネットワークアドレス部）と「コントローラ番号」を４倍することで求めたホストアドレス部を最下位アドレスとして付加することで算出される。この算出は、前記コントローラ２０の安全ノード２４の算出と同じロジックである。
【００５５】
次に、ティーチペンダント１０の安全ノード１４は、安全ノード１４と非安全ノード１５のＩＰアドレスの算出を行う（Ｓ１６）。具体的には、コントローラ２０において、コントローラ２０の非安全ノード２５、ティーチペンダント１０の安全ノード１４、及び非安全ノード１５のＩＰアドレスを予め算出した仕方と同じであるので、説明を省略する。
【００５６】
上記のようにしてティーチペンダント１０の処理により取得されたコントローラ２０の安全ノード２４のＩＰアドレスは固定で、コントローラ２０のコントローラ番号の４の倍数が割当てられている。コントローラ２０側でもコントローラ２０の安全ノード２４のＩＰアドレスは同じロジックで設定されている。このため、ＩＰアドレスを４で割った余りが０であれば、そのアドレスは接続したいコントローラ２０の安全ノード２４のものであり、例えばティーチペンダント１０の非安全ノードのＩＰアドレスが割当てられているという可能性は無い。以上のことから、接続先のノードを識別するための処理が簡略化できる。
【００５７】
２）  ティーチペンダント１０によるコントローラ２０の接続可否確認
ティーチペンダント１０は、自身が取得しようとしている安全ノード１４と非安全ノード１５のための２つのＩＰアドレスがネットワーク上で使用中でない事をＡＲＰ要求をブロードキャストすることにより確認する（Ｓ１８）。
【００５８】
このように取得しようとしている２つのＩＰアドレスについて、安全ノード１４はＡＲＰパケットをそれぞれブロードキャストして、ＡＲＰ要求に対する応答を待つ。
ここで、ＩＰアドレス使用状況の確認方法として、ＡＲＰによるアドレス検索について説明する。ＡＲＰ（Address Resolution Protocol）はネットワーク上で、指定したＩＰアドレスが割当てられているノードのＭＡＣアドレスを調査するために使われるプロトコルである。ＩＰアドレスはネットワーク上で各ノードに割り当てられたアドレスであるが、ＭＡＣアドレスはこれとは無関係に、ノードのネットワーク機器に割当てられた固有ＩＤである。ＡＲＰの使用方法は、調査を実行するノードが、調査するＩＰアドレスを指定したＡＲＰパケットを作成し、ネットワーク上のノードに対してブロードキャストを行う。これに対し、該ネットワーク上において、該当するＩＰアドレスを持つノードは、自らのＭＡＣアドレスを返答しなくてはいけないことになっている。すなわち、ＡＲＰに対して応答が無い場合は、この時点では該当するＩＰアドレスを持つノードがネットワーク上に存在しないということを意味している。
【００５９】
そして、ＡＲＰ要求してから所定時間待っても応答が無ければ（Ｓ２０で「ＹＥＳ」）、ＡＲＰ要求が行われたＩＰアドレスについては、安全ノード１４は利用可能とみなす。一方、応答があった場合（Ｓ２０で「ＮＯ」）は、該当ＩＰアドレスは使用中であり、安全ノード１４は他のティーチペンダント１０が接続中のため接続不可と見なし、この制御プログラムを終了する。
【００６０】
そして、安全ノード１４は、安全ノード１４と非安全ノード１５のための２つのＩＰアドレスが使用可能であれば、ティーチペンダント１０の安全ノード１４及び非安全ノード１５のＩＰアドレスとして、それぞれに前記ＩＰアドレスを割当てる（Ｓ２２）。このようにして、ティーチペンダント１０は取得しようとするＩＰアドレスが空いていることを確認した上で、自らＩＰアドレスの割当てを行う。
【００６１】
４）  ティーチペンダント１０とコントローラ２０の接続確立
続いて、ティーチペンダント１０の各ノードは割当てられたＩＰアドレスを使用するとともに、Ｓ１２及びＳ１４で取得されたコントローラ２０の各ノードのＩＰアドレスを送出先のノードアドレスとして使用してティーチペンダント１０とコントローラ２０の間の接続の開始処理を行い、通信を開始する。このようにして、ティーチペンダント１０と、コントローラ２０間の接続が確立する。この通信が確立すると、安全ノード同士及び非安全ノード同士が、交信可能に接続され、接続されたコントローラ２０が、他のティーチペンダント１０と交信不能であることを意味している。
【００６２】
なお、前記コントローラ２０と１つのティーチペンダント１０との接続が確立した状態で他のティーチペンダント１０が接続を試みた場合、該接続を試みたティーチペンダント１０からのＡＲＰ要求に対しては接続が確立したティーチペンダント１０が返答する。このため、他のティーチペンダント１０は、自身のノードに対するＩＰアドレスを取得できないことになる。
【００６３】
５）  ティーチペンダント１０とコントローラ２０の接続切断
接続が確立したティーチペンダント１０をコントローラ２０から切断する場合、ティーチペンダント１０の安全ノード１４、非安全ノード１５はともに割り当てられたＩＰアドレスを未設定状態（各ノードのメモリ１０２のＩＰアドレスの登録を抹消する。）に戻し、ＡＲＰコマンドに応答しないようにする。又、これにより、ティーチペンダント１０とコントローラ２０との通信は行われなくなる。以上の処理がティーチペンダント１０の各ノードが行うことにより、接続が切断される。
【００６４】
このように、本実施形態によれば、安全信号の送受信を行う一対のノードと、非安全信号の送受信を行う一対のノードの計４つのノードアドレス（ＩＰアドレス）を、コントローラ２０とティーチペンダント１０の各ノードのＣＰＵが間違えることなく認識することができる。
【００６５】
さて、第１実施形態によれば、以下のような特徴がある。
（１）  本実施形態では、コントローラ２０の安全ノード２４は、該コントローラ２０のコントローラ番号（識別情報）に基づいて算出されたホストアドレス部（第１ホストアドレス部）がネットワークアドレス部（ネットワーク共通アドレス部）に付加されたＩＰアドレス（第１ノードアドレス）を有するようにしている。
【００６６】
又、ティーチペンダント１０（可搬式操作部）は、コントローラ２０のコントローラ番号を入力するためのキーボード１６（入力手段）を備える。
又、ティーチペンダント１０の安全ノード１４のＣＰＵ１００は、ノードアドレス生成手段として、入力されたコントローラ２０のコントローラ番号に基づきコントローラ２０の第１ノードアドレスの作成と同じロジックで安全ノード２４のＩＰアドレス（第１ノードアドレス）を作成する。さらに、安全ノード１４のＣＰＵ１００は、第１ホストアドレス部に基づいてユニークな第２ホストアドレス部を生成して、ネットワーク共通アドレス部に付加して安全ノード１４、及び非安全ノード１５のＩＰアドレス（第２ノードアドレス）を生成するようにしている。そして、安全ノード１４のＣＰＵ１００にて生成された接続したいコントローラ２０の安全ノード及び非安全ノードのＩＰアドレスと、ティーチペンダント１０の安全ノードと非安全ノードのＩＰアドレスを使用して、接続したいコントローラ２０と接続関係を確立するようにした。
【００６７】
この結果、接続したいロボット制御用のコントローラ２０にユニークに割り当てられているコントローラ２０のコントローラ番号をキーボード１６にて入力するだけで、該コントローラ２０及びティーチペンダント１０のＩＰアドレスを簡単に得ることができる。そして、コントローラ２０及びティーチペンダント１０のＩＰアドレスは、接続したいコントローラ２０のコントローラ番号に基づいて一義的に得られるため、接続したいコントローラ２０と煩雑な確認メッセージのやりとりが必要でなくなる。この結果、ネットワーク上でコントローラ２０とティーチペンダント１０とを接続する際、ＬＡＮコントローラのノードとティーチペンダント１０のノード間の接続手続きを簡略化できるとともに、又、間違ったノード間で接続してしまうリスクや、複数のティーチペンダント１０が重複して接続してしまうリスクを低減できる。
【００６８】
（２）  本実施形態では、ティーチペンダント１０の安全ノード１４のＣＰＵ１００は第１送出手段としてティーチペンダント１０の安全ノード１４、及び非安全ノード１５のＩＰアドレスの使用有無確認のためのＡＲＰ要求を無線ＬＡＮ（ネットワーク）を介してブロードキャストするようにした。
【００６９】
そして、ティーチペンダント１０の安全ノード１４のＣＰＵ１００は、前記ＡＲＰ要求に対する応答がない場合、接続したいコントローラ２０の安全ノード２４、及び非安全ノード２５、並びにティーチペンダント１０の安全ノード１４及び非安全ノード１５のＩＰアドレスを使用して、前記コントローラ２０と接続関係を確立するようにした。
【００７０】
この結果、ティーチペンダント１０と、既に接続済みのコントローラ２０に対して、他のティーチペンダント１０が重複して接続を行うことがなくなるとともに、ティーチペンダント１０とコントローラ２０との接続のための手続を簡略化することができる。
【００７１】
（３）  本実施形態では、コントローラ２０の識別情報としてはコントローラ番号の数値としている。そして、ティーチペンダント１０の安全ノード１４のＣＰＵ１００は、ノードアドレスの共通部分であるネットワーク共通アドレス部に対して、前記数値を整数倍した値をホストアドレス部として付加して、接続したいコントローラ２０のノードのノードアドレスにするようにした。この結果、接続したいコントローラ２０のコントローラ番号に基づいて得られるホストアドレス部を、無線ＬＡＮで使用されるＩＰアドレスの共通部分であるネットワークアドレス部に付加するだけで該コントローラ２０のＩＰアドレスを容易に生成することができる。
【００７２】
（４）  本実施形態では、コントローラ番号の数値を整数倍する際の整数は、接続先のコントローラ２０が持つ複数のノードの数と、ティーチペンダント１０が持つ複数のノードの数の合計数としている。
【００７３】
そして、ティーチペンダント１０の安全ノード１４のＣＰＵ１００は、コントローラ２０の安全ノード２４に対して、前記数値を整数倍した値を、該安全ノードのＩＰアドレスの第１ホストアドレス部（ホストアドレス部）とした。
【００７４】
又、前記安全ノード１４のＣＰＵ１００は、コントローラ２０の非安全ノード２５のＩＰアドレス（第３ノードアドレス）を、安全ノード２４のＩＰアドレス（第１ノードアドレス）の第１ホストアドレス部の数値を基にして得られるユニークな数値をホストアドレス部として、ネットワーク共通アドレス部に付加して作成した。
【００７５】
この結果、コントローラとＣＰＵ１００とのノード数がそれぞれ複数存在しても、それぞれのノードに対してアドレスが重複しないノードアドレスを作成することができる。仮に、コントローラ番号の数値を整数倍する際の整数を、接続先のコントローラ２０が持つ複数のノードの数と、ティーチペンダント１０が持つ複数のノードの数の合計数よりも少なくすると、コントローラ２０の数やノード数が増加するほど、各ノードに対して重複したアドレスができてしまい、ユニークなアドレスを作成できなくなる問題がある。
【００７６】
（５）  本実施形態では、ティーチペンダント１０とコントローラ２０とはそれぞれ複数のノードを有するようにし、それぞれのノードは、安全別に分けられている。このようにすると、安全信号専用のノードと、非安全信号専用のノードに分けて各ノード同士が交信でき、例えば安全信号を扱う機器に比較的信頼性の高い通信機器を用意したりすることにより、ロボットの制御をより安全に行うことができるという効果がある。
【００７７】
（６）  本実施形態では、安全ノードは非常停止などの安全に関係するデータの送受信を行うためのノードである。非安全ノードは、安全に関係しないデータの送受信を行うためのノードである。安全ノードと非安全ノードとの送受信をノードを独立させることにより、安全ノードで送受信される安全データの伝達を確実かつ高速に行うことが可能になる。
【００７８】
（第２実施形態）
次に、第２実施形態を図７及び図８を参照して説明する。第２実施形態のロボット制御システム３０のハード構成は、第１実施形態と同一であるため、同一構成には同一符号を付して、その説明を省略し、作用の異なるところを中心にして説明する。
【００７９】
第２実施形態のロボット制御システム３０は、コントローラ２０のノードがティーチペンダント１０の安全ノードに対してＩＰアドレスの割当てを行うシステムである。
なお、第２実施形態の無線ＬＡＮにおいては、コントローラ２０がティーチペンダント１０に対してＩＰアドレスを割当てるようにしている。このため、第２実施形態では、例としてＤＨＣＰプロトコルを用いて説明する。ここで、ＤＨＣＰ（Dynamic Host Configuration Protocol）は、接続の開始時に動的にＩＰアドレスを割り当て、接続の終了時にＩＰアドレスを回収するためのプロトコルである。アドレス割当てを行うノードをＤＨＣＰサーバと呼ぶ。ＤＨＣＰサーバにアクセスしてＩＰアドレスを取得するノードをＤＨＣＰクライアントと呼ぶ。第２実施形態では、このＤＨＣＰサーバ機能はコントローラ２０が有するとともにティーチペンダント１０のノードはＤＨＣＰクライアントとなる。
【００８０】
図８は、ティーチペンダント１０の安全ノード１４のＣＰＵ１００が実行する接続処理制御プログラムである。該プログラムは、第１実施形態と同様に起動される。又、図８のフローチャートにおいて、Ｓ１０〜Ｓ１６までは第１実施形態と同様であるため説明を省略する。
【００８１】
なお、以下の説明では、説明の便宜上、「ノードのＣＰＵ１００が処理する（行う）等」の旨を単に「ノードが処理する（行う）等」の形で記載するものとする。
Ｓ３０では、ティーチペンダント１０の安全ノード１４は、無線ＬＡＮにディスカバー（ＤＩＳＣＯＶＥＲ）パケットをブロードキャストする（図７参照）。なお、図７では、説明の便宜上、無線ＬＡＮ上では、ＣＰＵ１００、コントローラ２０Ａ、２０Ｂのみが図示されている。このパケットには、自ノードのＩＰアドレスはまだないため、「０．０．０．０」（１０進数表記）とするとともに、宛先ＩＰアドレスは、「２５５，２５５．２５５，２５５」（１０進数表記）とする。又、ＣＰＵ１００はこのパケット中の宛先ＭＡＣアドレスは「ＦＦ：ＦＦ：ＦＦ：ＦＦ：ＦＦ：ＦＦ」とするとともに送信元ＭＡＣアドレスは自身のＭＡＣアドレスとする。続いて、安全ノード１４は無線ＬＡＮ上のコントローラ２０からのＩＰアドレスのオファーパケットの応答を所定時間待つ（Ｓ３２，図７参照）。
【００８２】
コントローラ２０の安全ノード２４は、ティーチペンダント１０に割り当てるティーチペンダント１０の安全ノード１４のＩＰアドレス（以下、候補ＩＰアドレスという）と、自身のＩＰアドレスをメモリ１０２から読み出す。そして、安全ノード２４は、該候補ＩＰアドレスを宛先ＩＰアドレスとするとともに、自身のＩＰアドレスを送信元ＩＰアドレスとしてオファーパケットに含ませてティーチペンダント１０にユニキャストする。
【００８３】
なお、前記第１実施形態で説明したように、コントローラ２０の安全ノード２４のメモリ１０２には、該安全ノード２４のＩＰアドレス、接続されるティーチペンダント１０の安全ノード１４のＩＰアドレス及び安全ノード２４のネットワーク機器のＭＡＣアドレスが読み出し自在に予め保存されている。
【００８４】
このオファーパケットは、前述したように候補ＩＰアドレスを宛先ＩＰアドレスにしてティーチペンダント１０の安全ノード１４にユニキャストで送られるが、ティーチペンダント１０の安全ノード１４は、そのアドレスを使用していないため、認識できない。
【００８５】
しかし、オファーパケットに含まれる宛先ＭＡＣアドレスには前記ディスカバーパケットで送信元ＭＡＣアドレスで使用したティーチペンダント１０の安全ノード１４のＭＡＣアドレスが指定される。この結果、受信側のティーチペンダント１０の安全ノード１４は、このオファーパケットを正しく受信することができる。
【００８６】
続く、Ｓ３４では、安全ノード１４は、オファーパケットの候補ＩＰアドレスが、Ｓ１６で取得した安全ノード１４のＩＰアドレスと一致するか、及び送信元ＩＰアドレスが、Ｓ１２で取得したコントローラ２０のＩＰアドレスと一致するかを判定する。ここで、単数又は複数のオファーパケットを受信して、１つのオファーパケットにおいて、両者がともに一致していた場合（Ｓ３４の判定が「ＹＥＳ」）は、安全ノード１４は、Ｓ３６に移行する。又、安全ノード１４は、単数、又は複数のオファーパケットを受信して、いずれのオファーパケットにおいて、前記両者がともに一致していない場合（Ｓ３４の判定が「ＮＯ」）は、この制御プログラムを終了する。すなわち、この場合は、安全ノード１４は、ＩＰアドレスの割当候補がなかったとして判断する。
【００８７】
Ｓ３６では、安全ノード１４は、正式な割当要求を行うためにリクエストパケットをブロードキャストする（図７参照）。ここで、ＩＰアドレスの正式な割当要求であるリクエストパケットを受けたコントローラ２０の安全ノード２４は、クライアントであるティーチペンダント１０の安全ノード１４に対して正式に安全ノード１４のＩＰアドレスを割り当てるために、アック（ＡＣＫ）パケットをティーチペンダント１０の安全ノード１４に送出する。
【００８８】
安全ノード１４は、このアック（ＡＣＫ）パケットを受信すると（Ｓ３８の判定が「ＹＥＳ」）、このアックパケットに含まれる安全ノード１４のための候補ＩＰアドレスに基づいて安全ノード１４は、該候補ＩＰアドレスにオフセット値（「１」）を加算することにより、非安全ノード１５のＩＰアドレスを算出し、非安全ノード１５に送信する。そして、非安全ノード１５は、受信したＩＰアドレスをメモリ１０２に保存する。
【００８９】
続いて、安全ノード１４は、第１実施形態と同様にＳ１８〜Ｓ２４の処理を行う。
このように第２実施形態では、コントローラ２０にＤＨＣＰサーバの機能を持たせてコントローラ２０からティーチペンダント１０の安全ノード１４のＩＰアドレスを自動で割り当て、ティーチペンダント１０がＤＨＣＰクライアントとしてコントローラ２０からＩＰアドレスの取得を行う。そして、コントローラ２０が、ティーチペンダント１０の安全ノード用に割り当て可能なアドレスは、１アドレスだけである。
【００９０】
なお、ティーチペンダント１０をコントローラ２０から切断する場合は、ティーチペンダント１０の、安全ノード１４及び非安全ノード１５は、接続先のコントローラ２０にＩＰアドレスを返却するとともに、ＩＰアドレス未設定状態に戻すことにより、接続が切断される。
【００９１】
さて、第２実施形態によれば、第１実施形態の（６）の効果を実現できるとともに、以下のような特徴がある。
（１）  第２実施形態では、コントローラ２０の安全ノード２４のメモリ１０２は記憶手段として、ティーチペンダント１０の安全ノード１４のＩＰアドレス（第２ノードアドレス）及び安全ノード２４のＩＰアドレス（第１ノードアドレス）を記憶するようにした。又、安全ノード２４はＤＨＣＰプロトコルに従い、ディスカバーパケットに応答して、前記メモリ１０２に記憶された安全ノード１４のＩＰアドレス及び安全ノード２４のＩＰアドレスを含むオファーパケットを出力して、前記ディスカバーパケットを送信したティーチペンダント１０に対して安全ノード１４のＩＰアドレスを割り当てるようにした。
【００９２】
一方、ティーチペンダント１０の安全ノード１４は、ディスカバー送出手段としてディスカバーパケットを送出するようにし、判定手段としてオファーパケットの安全ノード１４のＩＰアドレス及び安全ノード２４のＩＰアドレスが、Ｓ１２，Ｓ１６で取得したＩＰアドレスとそれぞれ一致するか否かを判定するようにした。そして、安全ノード１４はリクエスト出力手段として、一致したと判定した際、ＤＨＣＰプロトコルに従いリクエストパケットを送信するようにした。又、ティーチペンダント１０は、該リクエストパケットを送信した後、前記オファーパケットを送信したコントローラ２０と接続手続きを進めるようにした。
【００９３】
この結果、無線ＬＡＮのネットワーク上でコントローラ２０とティーチペンダント１０とを接続する際、コントローラ２０の安全ノード２４とティーチペンダント１０の安全ノード１４間の接続手続きを簡略化できるとともに、又、間違ったノード間で接続してしまうリスクや、複数のティーチペンダント１０が重複して接続してしまうリスクを低減できる。
【００９４】
（２）  第２実施形態では、コントローラ２０の安全ノード２４は割当手段として、自身のコントローラ２０がティーチペンダント１０との接続状態とは無関係に、ディスカバーパケットを受信した際に、該ディスカバーパケットを送信した可搬式操作部に対して前記第１及び第２ノードアドレスを含むオファーパケットを出力するようにした。
【００９５】
そして、ティーチペンダント１０の安全ノード１４は、第２送出手段として、記リクエストパケットに対する応答のアックパケットを受信した際、ＡＲＰ要求をブロードキャストするようした。そして、安全ノード１４は、ＡＲＰ要求に対し、いかなるノードからも応答がない場合、前記オファーパケットにより割り当てられた候補ＩＰアドレスを使用して、アックパケットを出力したコントローラ２０と接続関係を確立するようにした。この結果、無線ＬＡＮのネットワーク上で、コントローラ２０とティーチペンダント１０とを接続する際、間違った装置間で接続してしまうリスクや、複数のティーチペンダント１０が重複して接続してしまうことがない。
【００９６】
なお、本発明の実施形態は以下のように変更してもよい。
○  第１実施形態、及び第２実施形態では、ティーチペンダント１０とコントローラ２０にそれぞれ２つのノードを設けて計４につしたが、接続に必要なノードの数は４つでなくとも良い。
【００９７】
図９に示すように、コントローラ２０に１つのノード４０Ａが設けられるとともにティーチペンダント１０に２つのノード１０Ａ，１０Ｂが設けられ、１つのノード４０Ａに対して、ティーチペンダント１０側の２つのノード１０Ａ，１０Ｂがそれぞれ交信できるものに具体化することも可能である。この場合、ノード１０Ａ，１０Ｂのいずれか１つのノードが、第１又は第２実施形態度と同様に接続関係の最初の処理が行われるようにすればよい。
【００９８】
○  又、図１０に示すように、コントローラ２０に２つのノード４０Ａ，４０Ｂが設けられるとともにティーチペンダント１０に１つのノード１０Ａが設けられ、２つのノード４０Ａ，４０Ｂに対して、ティーチペンダント１０側の１つのノード１０Ａが交信できるものに具体化することも可能である。この場合、ノード１０Ａが、コントローラのいずれか１つのノードに対して第１又は第２実施形態度と同様に接続関係の最初の処理が行われるようにすればよい。
【００９９】
○  又、第１実施形態では、安全ノード２４のＩＰアドレスを基点にして、ホストアドレス部に所定値をそれぞれ加算することにより、第２ノードアドレス及び第３ノードアドレスを作成した。この代わりに基点のＩＰアドレスのホストアドレス部に所定値をそれぞれ減算して、第２ノードアドレス及び第３ノードアドレスを形成してもよい。
【０１００】
或いは、基点のＩＰアドレスのホストアドレス部に所定値をそれぞれ乗算して、第２ノードアドレス及び第３ノードアドレスを形成してもよい。
○  第１実施形態、及び第２実施形態では、ノードを安全ノードと非安全ノードに分けたがこれ以外の観点からノードを区別して分けても良い、例えば、機能による分割、負荷の大小関係によってノードを変更してもよい。なお、このように区分けする場合には、少なくとも同一ネットワーク内においては統一する必要がある。
【０１０１】
機能によってノードを分けた場合は、機能別、又は負荷別に割れると、区別されたノード同士の交信ができる。このことにより、目的に応じた交信を行うことができる。又、より優先度の高いノードにおいて、いずれかを通信の信頼性を高くするためにコストを高くしても全体としてはコストを低減することができる。
【０１０２】
○  第２実施形態の構成中、安全ノード２４はディスカバーパケットを受信した際、他のティーチペンダント１０と接続していない場合のみ、該候補ＩＰアドレスを宛先ＩＰアドレスとするとともに、自身のＩＰアドレスを送信元ＩＰアドレスとしてオファーパケットに含ませてティーチペンダント１０にユニキャストするプロトコルとしてもよい。このようにすると、第２実施形態の図８において、Ｓ１８〜Ｓ２０の処理が省略できる。
【０１０３】
従って、この変形の実施形態では、安全ノード２４は、自身のコントローラ２０がティーチペンダント１０と無接続状態にあるときのみ、ディスカバーパケットを受信した際に、ディスカバーパケットを送信したティーチペンダント１０に対して第１及び第２ノードアドレスを含むオファーパケットを出力する割当手段に相当する。
【０１０４】
この結果、ティーチペンダント１０へオファーパケットを送信したコントローラ２０が、他のティーチペンダント１０とは無接続状態にあることが分かるため、ＡＲＰ要求をブロードキャストする必要がなく、接続関係を結びたいコントローラ２０とは早期に接続関係を確立することができる。すなわち、ティーチペンダント１０と既に接続済みのコントローラ２０に対して、他のティーチペンダント１０が重複して接続を行うことがなくなるとともに、ティーチペンダント１０とコントローラ２０との接続のための手続を簡略化することができる。
【０１０５】
○  前記各実施形態では、コントローラ２０の識別情報をコントローラ番号としたが、コントローラ番号に限定されるものではない。
例えば、複数のコントローラ２０の本体に、それぞれ識別名を明記し、この識別名の文字数を他のコントローラ２０の識別名の数と異なる文字数で構成してもよい。この場合、コントローラ番号の代わりに、この文字数をキーボード１６にて入力する。従って、この文字数がコントローラ２０の識別情報となる。例えば、第１番目のコントローラ２０には「Ａ」、第２番目のコントローラ２０には「ＡＡ」、第３番目のコントローラ２０には「ＡＡＡ」のように明記する。なお、「Ａ」は、任意の符号（文字、数字、記号等を含む）を示す。
【０１０６】
○  前記各実施形態では、ティーチペンダント１０と、コントローラ２０との接続処理は、安全ノード間で行うようにしたが、非安全ノード間で行うようにしてもよい。
○  前記各実施形態では、無線ＬＡＮでネットワークを構成したが、有線ＬＡＮや、無線通信（通信媒体：電波）、赤外線通信、光通信、或いは磁気通信等のワイヤレスで行う伝送方式の非有線通信手段で構成してもよいことは勿論のことである。
【０１０７】
○  前記各実施形態では、ティーチペンダント１０とコントローラ２０は、それぞれＣＰＵ１１，２１をホストＣＰＵとして使用したが、ティーチペンダント１０とコントローラ２０のそれぞれが備えるノードのうち、一方のノードのＣＰＵをホストＣＰＵとして機能させてもよい。
【０１０８】
図１１を参照して、具体的に説明する。なお、第１実施形態と同一構成又は相当する構成については同一符号を付す。ティーチペンダント１０の安全ノード１４は、ＣＰＵ１４ａ、ＲＯＭ１４ｂ、ＲＡＭ１４ｃ、シリアル通信器１４ｄ及び有線ネットワーク１４ｅの各部を備えているとともに前記各部はバス１４ｆを介して互いに接続されている。有線ネットワーク１４ｅは有線・無線変換器１８に接続されている。前記ＲＯＭ１４ｂには、安全ノード１４が有線・無線変換器１８を介して通信を行うための接続処理プログラム等の各種プログラムとその制御定数が格納される。
【０１０９】
又、ティーチペンダント１０の非安全ノード１５は、ＣＰＵ１５ａ、ＲＯＭ１５ｂ、ＲＡＭ１５ｃ、シリアル通信器１５ｄ、有線ネットワーク１５ｅ、キーボード１５ｇ、及び液晶ディスプレイ１５ｈの各部を備えているとともに前記各部はバス１５ｆを介して互いに接続されている。有線ネットワーク１５ｅは有線・無線変換器１８に接続されている。前記ＲＯＭ１５ｂには、非安全ノード１５が有線・無線変換器１８を介して通信を行うための接続処理プログラム等の各種プログラムとその制御定数が格納される。そして、この変形例においては、非安全ノード１５のＣＰＵ１５ａを、ノードアドレス生成手段、第１送出手段、第２送出手段、ディスカバー送出手段、判定手段、リクエスト出力手段として構成する。
【０１１０】
一方、コントローラ２０の安全ノード２４は、ＣＰＵ２４ａ、ＲＯＭ２４ｂ、ＲＡＭ２４ｃ、シリアル通信器２４ｄ、有線ネットワーク２４ｅ及びサーボドライバ２６に接続されたＩ／Ｏ２４ｇの各部を備えているとともに前記各部はバス２４ｆを介して互いに接続されている。有線ネットワーク２４ｅは有線・無線変換器２８に接続されている。前記ＲＯＭ２４ｂには、安全ノード２４が有線・無線変換器２８を介して通信を行うための接続処理プログラム等の各種プログラムとその制御定数が格納される。
【０１１１】
又、コントローラ２０の非安全ノード２５は、ＣＰＵ２５ａ、ＲＯＭ２５ｂ、ＲＡＭ２５ｃ、シリアル通信器２５ｄ、有線ネットワーク２５ｅ、及びサーボドライバ２６に接続されたインタフェイス２５ｇの各部を備えているとともに前記各部はバス２５ｆを介して互いに接続されている。有線ネットワーク２５ｅは有線・無線変換器２８に接続されている。前記ＲＯＭ２５ｂには、非安全ノード２５が有線・無線変換器２８を介して通信を行うための接続処理プログラム等の各種プログラムとその制御定数が格納される。そして、非安全ノード２５のＣＰＵ２５ａを割当手段とする。このように構成しても第１実施形態と同様の作用効果を奏することができる。
【図面の簡単な説明】
【０１１２】
【図１】本発明の第１実施形態のロボット制御システムのコントローラとティーチペンダントのブロック回路図。
【図２】ティーチペンダントとコントローラの各ノードとの通信関係を示す説明図。
【図３】コントローラ、及びティーチペンダントの各ノードのブロック図。
【図４】同じくコントローラ番号をコントローラ２０Ａ〜２０Ｃに記名した状態を表す説明図。
【図５】ティーチペンダントの安全ノードのＣＰＵが実行する接続処理制御プログラムのフローチャート。
【図６】ＩＰアドレスの説明図。
【図７】第２実施形態のアドレス割当のシーケンス図。
【図８】第２実施形態のティーチペンダントの安全ノードのＣＰＵが実行する接続処理制御プログラムのフローチャート。
【図９】他の変形の実施形態の図２相当図。
【図１０】他の変形の実施形態の図２相当図。
【図１１】他の変形の実施形態のロボット制御システムのコントローラとティーチペンダントのブロック回路図。
【符号の説明】
【０１１３】
１０…ティーチペンダント（可搬式操作部）、１４…ティーチペンダント１０の安全ノード、１５…ティーチペンダント１０の非安全ノード、２４…コントローラ２０の安全ノード、２５…コントローラ２０の非安全ノード、２０…コントローラ、１００…ティーチペンダント、コントローラの各ノードのＣＰＵ（ティーチペンダントの安全ノード１４のＣＰＵ１００は、ノードアドレス生成手段、第１送出手段、第２送出手段、ディスカバー送出手段、判定手段、リクエスト出力手段に相当し、コントローラのＣＰＵ１００は割当手段に相当する。）、１０２…メモリ（記憶手段）。
【図１】
2008059017.tif 000004
【図２】
2008059017.tif 000005
【図３】
2008059017.tif 000006
【図４】
2008059017.tif 000007
【図５】
2008059017.tif 000008
【図６】
2008059017.tif 000009
【図７】
2008059017.tif 000010
【図８】
2008059017.tif 000011
【図９】
2008059017.tif 000012
【図１０】
2008059017.tif 000013
【図１１】
2008059017.tif 000014