(57)【特許請求の範囲】
【請求項１】
第１のアドレスが割り当てられる操作端末および第２のアドレスが割り当てられる制御装置を備える制御システムであって、
前記操作端末は、
前記第１のアドレスとは別の第１のローカルアドレスを設定するための第１の設定手段と、
前記第１のローカルアドレスを指定して、当該第１のローカルアドレスが設定された制御装置からの応答を要求するための要求手段と
前記制御装置から前記応答を受信するための受信手段とを備え、
前記制御装置は、
前記第２のアドレスとは別の第２のローカルアドレスを設定するための第２の設定手段と、
前記操作端末からの要求によって指定された第１のローカルアドレスと前記第２の設定手段が設定した第２のローカルアドレスとが一致する場合に、応答を送信する送信手段とを備え、
前記第１の設定手段は、前記受信手段がいずれかの制御装置から応答を受信した場合に、先に設定した第１のローカルアドレスを変更する、制御システム。
【請求項２】
前記操作端末は、前記制御装置の前記第２のアドレスを表示するための手段を備える、請求項１に記載の制御システム。
【請求項３】
前記操作端末は、前記第２のアドレスを指定して、当該第２のアドレスが割り当てられた制御装置からの応答の要求を送信した場合に、一つの制御装置からの応答のみを受信すると、受信した第２のアドレスが割り当てられた制御装置と通信する、請求項１または２に記載の制御システム。
【請求項４】
前記操作端末は、前記操作端末に割り当てられた第１のアドレスと、前記制御装置に割り当てられた第２のアドレスとが重複しない場合に、前記制御装置と通信する、請求項１〜３のいずれか１項に記載の制御システム。
【請求項５】
第１のアドレスが割り当てられるとともに、第２のアドレスが割り当てられる制御装置と通信可能な操作端末であって、
前記第１のアドレスとは別の第１のローカルアドレスを設定するための設定手段を備え、前記制御装置は前記第２のアドレスとは別の第２のローカルアドレスを設定し、
前記第１のローカルアドレスを指定して、当該第１のローカルアドレスが設定された制御装置からの応答を要求するための要求手段と、
前記制御装置から前記応答を受信するための受信手段とを備え、
前記制御装置は、前記操作端末からの要求によって指定された第１のローカルアドレスと自装置に設定されている第２のローカルアドレスとが一致する場合に、応答を送信し、
前記設定手段は、前記受信手段がいずれかの制御装置から応答を受信した場合に、先に設定した第１のローカルアドレスを変更する、操作端末。
【請求項６】
前記制御装置の前記第２のアドレスを表示するための手段をさらに備える、請求項５に記載の操作端末。
【請求項７】
前記第２のアドレスを指定して、当該第２のアドレスが割り当てられた制御装置からの応答の要求を送信した場合に、一つの制御装置からの応答のみを受信すると、受信した第２のアドレスが割り当てられた制御装置と通信する、請求項５または６に記載の操作端末。
【請求項８】
前記操作端末は、前記操作端末に割り当てられた第１のアドレスと、前記制御装置に割り当てられた第２のアドレスとが重複しない場合に、前記制御装置と通信する、請求項５〜７のいずれか１項に記載の操作端末。
【請求項９】
第１のアドレスが割り当てられるとともに、第２のアドレスが割り当てられる制御装置と通信可能な操作端末で実行されるプログラムであって、前記プログラムは前記操作端末に、
前記第１のアドレスとは別の第１のローカルアドレスを設定するステップを実行させ、前記制御装置は前記第２のアドレスとは別の第２のローカルアドレスを設定し、
前記第１のローカルアドレスを指定して、当該第１のローカルアドレスが設定された制御装置からの応答を要求するステップと、
前記制御装置から前記応答を受信するステップとを実行させ、
前記制御装置は、前記操作端末からの要求によって指定された第１のローカルアドレスと自装置に設定されている第２のローカルアドレスとが一致する場合に、応答を送信し、
前記設定するステップは、いずれかの制御装置から応答を受信した場合に、先に設定した第１のローカルアドレスを変更するステップを含む、プログラム。
【請求項１０】
前記操作端末に、前記制御装置の前記第２のアドレスを表示するステップを実行させる、請求項９に記載のプログラム。
【請求項１１】
前記操作端末に、前記第２のアドレスを指定して、当該第２のアドレスが割り当てられた制御装置からの応答の要求を送信した場合に、一つの制御装置からの応答のみを受信すると、受信した第２のアドレスが割り当てられた制御装置と通信するステップをさらに実行させる、請求項９または１０に記載のプログラム。
【請求項１２】
前記操作端末に、前記操作端末に割り当てられた第１のアドレスと、前記制御装置に割り当てられた第２のアドレスとが重複しない場合に、前記制御装置と通信するステップを実行させる、請求項９〜１１のいずれか１項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御システム、操作端末およびプログラムに関し、特に、割り当てられるアドレスとは別のローカルアドレスを用いる制御システム、操作端末およびプログラムに関する。
【背景技術】
【０００２】
自動化された工場などにおいて製造機械の制御装置として用いられるプログラマブルロジックコントローラ（ＰＬＣ）が知られている。たとえば、プログラマブルロジックコントローラは、ツールと呼ばれるソフトウェアがインストールされたコンピュータ（市販のパーソナルコンピュータなど）またはプログラマブルロジックコントローラの設定などに用いられる表示器を用いて管理される。
【０００３】
プログラマブルロジックコントローラ、コンピュータおよび表示器を接続するネットワークの中には、イーサネット（登録商標）を利用するものがある。イーサネットを利用した場合には、機器間での通信のために、プログラマブルロジックコントローラ、コンピュータおよび表示器などに対してアドレス（たとえばＩＰ（Internet  Protocol）アドレス）をユーザが定め、定めたＩＰアドレスをプログラマブルロジックコントローラ、コンピュータおよび表示器において設定する必要がある。機器間での通信の際には、設定ツールなどを利用して通信先のＩＰアドレスを指定し、接続を確立させる必要がある。したがって、ＩＰアドレス等が誤って設定されると、接続が確立されないといった問題があり得る。
【０００４】
また、イーサネットの特性上、接続先の機器が属するネットワークのネットワークアドレスをユーザが知らなければ接続（通信）が確立されないという問題、または、異なるネットワーク間では通信できないという問題もあり得る。
【０００５】
これらの問題を回避するためには、プログラマブルロジックコントローラ、コンピュータおよび表示器を接続するネットワークの構成をユーザが詳細に把握しておかなければならない。
【０００６】
しかしながら、製造ラインを立ち上げた直後、または、何らかのトラブルが発生した場合などには、各機器のＩＰアドレスが不明であることもある。
【０００７】
このような課題に関連する技術として、特開２００７−２４３８２５号公報（特許文献１）は、エンジニアリングツールが、同一ネットワークに接続する全てのノードに対して情報要求コマンドをブロードキャスト送信し、プログラマブルコントローラ（プログラマブルロジックコントローラ）が、情報要求コマンドに対して自局の機器情報およびＩＰアドレスをレスポンスとして返信することを開示する。
【０００８】
特開２００７−２４３８２５号公報に記載の技術によれば、エンジニアリングツールおよびプログラマブルコントローラの各々のＩＰアドレスを設定した後、エンジニアリングツールから各プログラマブルコントローラのＩＰアドレスを参照することができる。よって、接続したいプログラマブルコントローラを簡単に指定することができる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００７−２４３８２５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、特開２００７−２４３８２５号公報の記載の技術では、プログラマブルロジックコントローラから受信したＩＰアドレスを用いて通信するため、予めプログラマブルロジックコントローラにアドレスを設定しておかなければ、コンピュータがネットワーク上のプログラマブルロジックコントローラと通信できない。
【００１１】
また、プログラマブルロジックコントローラのＩＰアドレスが誤って設定された場合においても、コンピュータがプログラマブルロジックコントローラと通信できないことがあり得る。
【００１２】
本発明は、上述の課題を解決するためになされたものであり、その目的は、アドレスが設定されていない場合、または誤って設定された場合でも機器間での通信を実現することである。
【課題を解決するための手段】
【００１３】
制御システムは、第１のアドレスが割り当てられる操作端末および第２のアドレスが割り当てられる制御装置を備える。操作端末は、第１のアドレスとは別のローカルアドレスを設定するための第１の設定手段と、ローカルアドレスに対して第２のアドレスを送信するように制御装置に要求するための要求手段と、制御装置から第２のアドレスを受信するための受信手段とを備える。制御装置は、第２のアドレスとは別のローカルアドレスを設定するための第２の設定手段を備える。
【００１４】
第１のアドレスが割り当てられる操作端末は、第１のアドレスとは別のローカルアドレスを設定するための設定手段と、ローカルアドレスに対して第２のアドレスを送信するように、第２のアドレスが割り当てられ、かつ前記第２のアドレスとは別のローカルアドレスを設定する制御装置に要求するための要求手段と、制御装置から第２のアドレスを受信するための受信手段とを備える。
【００１５】
プログラムは、第１のアドレスが割り当てられる操作端末に、第１のアドレスとは別のローカルアドレスを設定するステップと、ローカルアドレスに対して第２のアドレスを送信するように、第２のアドレスが割り当てられ、かつ前記第２のアドレスとは別のローカルアドレスを設定する制御装置に要求するステップと、制御装置から第２のアドレスを受信するステップとを実行させる。
【発明の効果】
【００１６】
本発明によれば、たとえばユーザによって割り当てられたアドレスとは別に、操作端末によってローカルアドレスが設定される。よって、アドレスが設定されていない場合、または誤って設定された場合でも、ローカルアドレスを用いて操作端末と制御装置との間での通信を実現することができる。さらに、制御装置は、設定されたローカルアドレスに対して自身のアドレスを送信するように要求される。したがって、アドレスが誤って設定されていても、ローカルアドレスを用いることによって、操作端末は、制御装置からアドレスを受信できる。そのため、割り当てられたアドレスを検証できる。よって、アドレスが誤っている場合には、誤りを訂正することができる。その結果、適切に修正されたアドレスを用いて通信できる。
【図面の簡単な説明】
【００１７】
【図１】１台のコンピュータと複数のプログラマブルロジックコントローラとが接続された制御システムを示す図である。
【図２】プログラマブルロジックコントローラの機能と、コンピュータの機能とを示す機能ブロック図である。
【図３】プログラマブルロジックコントローラの情報を示す図である。
【図４】ネットワーク構成情報を示す図である。
【図５】プログラマブルロジックコントローラのハードウェア構成と、コンピュータのハードウェア構成とを示すブロック図である。
【図６】リンクローカルアドレスを設定するために実行されるプログラムの制御構造を示すフローチャートである。
【図７】ネットワーク構成情報を作成するために実行されるプログラムの制御構造を示すフローチャートである。
【図８】プログラマブルロジックコントローラの情報を送信するために実行されるプログラムの制御構造を示すフローチャートである。
【図９】コンピュータがプログラマブルロジックコントローラと通信するために実行されるプログラムの制御構造を示すフローチャート（その１）である。
【図１０】コンピュータがプログラマブルロジックコントローラと通信するために実行されるプログラムの制御構造を示すフローチャート（その２）である。
【図１１】ノード一覧情報を示す図である。
【図１２】１台のコンピュータと１台のプログラマブルロジックコントローラとが接続された状態を示す図である。
【図１３】コンピュータが１台のプログラマブルロジックコントローラと通信するために実行されるプログラムの制御構造を示すフローチャートである。
【発明を実施するための形態】
【００１８】
図１を参照して、本実施の形態に係る制御システム１０について説明する。制御システム１０は、第１プログラマブルロジックコントローラ（以下、第１コントローラと記載する）１０１と、第２プログラマブルロジックコントローラ（以下、第２コントローラと記載する）１０２と、第３プログラマブルロジックコントローラ（以下、第３コントローラと記載する）１０３と、第４プログラマブルロジックコントローラ（以下、第１コントローラと記載する）１０４と、コンピュータ２００とを備える。プログラマブルロジックコントローラの数は４つに限られず、１台以上であればいくつでもよい。
【００１９】
第１コントローラ１０１、第２コントローラ１０２、第３コントローラ１０３および第４コントローラ１０４は、制御装置として用いられる。コンピュータ２００は、ユーザが操作する操作端末として用いられる。
【００２０】
第１コントローラ１０１、第２コントローラ１０２、第３コントローラ１０３、第４コントローラ１０４およびコンピュータ２００は、ネットワーク３００を介して相互に電気的に接続される。
【００２１】
第１コントローラ１０１、第２コントローラ１０２、第３コントローラ１０３、第４コントローラ１０４およびコンピュータ２００は、夫々、ネットワーク３００上に設けられたハブ３０２に通信ケーブルによって接続される。第１コントローラ１０１、第２コントローラ１０２、第３コントローラ１０３、第４コントローラ１０４およびコンピュータ２００を無線で接続してもよい。
【００２２】
ネットワーク３００は、イーサネットを利用して、第１コントローラ１０１、第２コントローラ１０２、第３コントローラ１０３、第４コントローラ１０４およびコンピュータ２００を相互に接続する。なお、イーサネットを利用した接続方法には周知の技術を利用すればよいため、ここではその詳細な説明は繰り返さない。イーサネット以外の通信規格を利用してもよい。
【００２３】
第１コントローラ１０１、第２コントローラ１０２、第３コントローラ１０３および第４コントローラ１０４には、夫々異なる工作機械が接続される。第１コントローラ１０１、第２コントローラ１０２、第３コントローラ１０３および第４コントローラ１０４は、これらの工作機械の制御装置としての機能を有する。
【００２４】
コンピュータ２００は、たとえば市販されているパーソナルコンピュータである。コンピュータ２００は、ノートブックコンピュータ、デスクトップコンピュータ、携帯情報端末（ＰＤＡ：Personal  Digital  Assistant）など、任意の形式のコンピュータが用いられ得る。
【００２５】
コンピュータ２００には、コンピュータ２００に所望の機能を実行させるためのプログラムであるエンジニアリングツールがインストールされる。ユーザは、コンピュータ２００を操作することによって、第１コントローラ１０１、第２コントローラ１０２および第３コントローラ１０３の設定を変更することなどが可能である。
【００２６】
コンピュータ２００の代わりに、もしくは加えて、プログラマブル表示器と呼ばれる専用の制御装置をネットワーク３００に接続してもよい。すなわち、操作端末としてプログラマブル表示器を用いてもよい。プログラマブル表示器は、たとえば、第１コントローラ１０１、第２コントローラ１０２、第３コントローラ１０３および第４コントローラ１０４の作動状態および設定内容などを表示する。プログラマブル表示器は、たとえばタッチパネルを有する。ユーザは、タッチパネルを操作することによって、第１コントローラ１０１、第２コントローラ１０２、第３コントローラ１０３および第４コントローラ１０４の設定を変更することなどが可能である。
【００２７】
プログラマブル表示器を、プログラマブルコントローラの代わりに、もしくは加えてネットワーク３００に接続し、制御装置として用いてもよい。
【００２８】
第１コントローラ１０１、第２コントローラ１０２、第３コントローラ１０３、第４コントローラ１０４およびコンピュータ２００の夫々には、ＩＰアドレスが割り当てられる。割り当てられたＩＰアドレスの各々は、専用のツールなどを用いて第１コントローラ１０１、第２コントローラ１０２、第３コントローラ１０３、第４コントローラ１０４およびコンピュータ２００に夫々登録（記憶）される。
【００２９】
一例として、第１コントローラ１０１には、ＩＰアドレスとして「192.168.250.1」が割り当てられる。第２コントローラ１０２には、ＤＨＣＰ（Dynamic  Host  Configuration  Protocol）を利用してＩＰアドレスが割り当てられる。ただし、図１に示す例ではＤＨＣＰサーバが存在しないため、第２コントローラ１０２にＩＰアドレスを割り当てることができない。その結果、「0.0.0.0」が第２コントローラ１０２のＩＰアドレスとして示される。
【００３０】
第３コントローラ１０３には、ＩＰアドレスとして「192.168.70.2」が割り当てられる。第４コントローラ１０４には、ＩＰアドレスとして「192.168.250.1」が割り当てられる。ただし、このＩＰアドレスは誤って設定されたものであって、正しくは、ＩＰアドレスとしてたとえば「192.168.250.2」が割り当てられべきである。
【００３１】
コンピュータ２００には、ＩＰアドレスとして「192.168.70.1」が割り当てられる。本実施の形態において第１コントローラ１０１、第３コントローラ１０３、第４コントローラ１０４およびコンピュータ２００に割り当てられるＩＰアドレスは、たとえば製造ラインなどを設計または管理するユーザによって選択された固定のＩＰアドレスである。これらのＩＰアドレスは一例であって、割り当てられるＩＰアドレスはこれらに限定されない。
【００３２】
第１コントローラ１０１、第２コントローラ１０２、第３コントローラ１０３、第４コントローラ１０４およびコンピュータ２００は、夫々、ＩＰアドレスとは別のリンクローカルアドレスを自動的に設定する。リンクローカルアドレスは、エイリアスとして用いられ得る。このように、複数のアドレスが割当てられる機能のことをＩＰエイリアスと呼ぶ。このＩＰエイリアスの機能はイーサネット利用技術の１つとして知られている。
【００３３】
一例として、第１コントローラ１０１は、自己のリンクローカルアドレスに「169.254.30.1」を設定する。第２コントローラ１０２は、自己のリンクローカルアドレスに「169.254.78.35」を設定する。第３コントローラ１０３は、自己のリンクローカルアドレスに「169.254.60.57」を設定する。第４コントローラ１０４は、自己のリンクローカルアドレスに「169.254.78.12」を設定する。コンピュータ２００は、自己のリンクローカルアドレスに「169.254.30.3」を設定する。これらのリンクローカルアドレスは一例であって、リンクローカルアドレスはこれらに限定されない。
【００３４】
第１コントローラ１０１、第２コントローラ１０２、第３コントローラ１０３、第４コントローラ１０４およびコンピュータ２００は、他の機器において設定されたリンクローカルアドレスとは異なるリンクローカルアドレスを設定する。すなわち、第１コントローラ１０１、第２コントローラ１０２、第３コントローラ１０３、第４コントローラ１０４およびコンピュータ２００の夫々には、異なるリンクローカルアドレスが設定される。
【００３５】
図２を参照して、第１コントローラ１０１、第２コントローラ１０２、第３コントローラ１０３、第４コントローラ１０４およびコンピュータ２００の機能について説明する。図２においては、第１コントローラ１０１、第２コントローラ１０２、第３コントローラ１０３および第４コントローラ１０４のうち、第１コントローラ１０１のみを示す。第２コントローラ１０２、第３コントローラ１０３および第４コントローラ１０４の機能は、第１コントローラ１０１の機能と同じ、もしくは略同じであるため、ここではその詳細な説明は繰り返さない。
【００３６】
第１コントローラ１０１（第２コントローラ１０２、第３コントローラ１０３および第４コントローラ１０４）は、アドレス設定機能１１１、接続機能１２１および送信機能１３１を含む。アドレス設定機能１１１は、上述したリンクローカルアドレスを設定する。接続機能１２１は、ネットワーク３００との接続（通信）を処理する。
【００３７】
送信機能１３１は、第１コントローラ１０１の情報１４１を、ネットワーク３００を介して送信する。これらの機能は、たとえば第１コントローラ１０１にインストールされるプログラムをＣＰＵ（Central  Processing  Unit）が実行することによって実現される。
【００３８】
図３に、第１コントローラ１０１の情報１４１の一例を示す。第１コントローラ１０１の情報１４１は、リンクローカルアドレス、ＩＰアドレス、ＭＡＣ（Media  Access  Control）アドレス、名称などの付加情報、型式およびユニットバージョンなどを含む。これらの情報は一例であって、第１コントローラ１０１の情報１４１はこれらに限定されない。
【００３９】
図２に戻って、コンピュータ２００は、アドレス設定機能２１０、接続機能２２０、要求機能２３０および受信機能２４０を含む。アドレス設定機能２１０は、上述したリンクローカルアドレスを設定する。接続機能２２０は、ネットワーク３００との接続（通信）を処理する。
【００４０】
要求機能２３０は、第１コントローラ１０１、第２コントローラ１０２、第３コントローラ１０３および第４コントローラ１０４に各々のＩＰアドレスを含む情報をコンピュータ２００のリンクローカルアドレスに対して送信するように要求する。第１コントローラ１０１、第２コントローラ１０２、第３コントローラ１０３および第４コントローラ１０４に各々のＩＰアドレスを含む情報の要求がブロードキャスト送信される。第１コントローラ１０１、第２コントローラ１０２、第３コントローラ１０３および第４コントローラ１０４は、要求を受信すると、各々の情報を、コンピュータ２００のリンクローカルアドレスを宛先として送信する。
【００４１】
受信機能２４０は、第１コントローラ１０１、第２コントローラ１０２、第３コントローラ１０３および第４コントローラ１０４から送信される、各々の情報を受信する。これらの機能は、たとえばコンピュータ２００にインストールされるプログラムであるエンジニアリングツールをＣＰＵが実行することによって実現される。
【００４２】
第１コントローラ１０１、第２コントローラ１０２、第３コントローラ１０３または第４コントローラ１０４が、コンピュータ２００の要求機能２３０および受信機能２４０を有するようにしてもよい。
【００４３】
コンピュータ２００は、各プログラマブルロジックコントローラから受信した情報から、ネットワーク構成情報２５０を作成する。図４に、ネットワーク構成情報２５０の一例を示す。ネットワーク構成情報２５０は、各プログラマブルロジックコントローラから受信した情報を統合することによって作成される。ネットワーク構成情報２５０は、コンピュータ２００自身の情報（ＩＰアドレスおよびリンクローカルアドレスなど）を含んでもよい。
【００４４】
図５を参照して、第１コントローラ１０１、第２コントローラ１０２、第３コントローラ１０３、第４コントローラ１０４およびコンピュータ２００のハードウェア構成について説明する。
【００４５】
図５においては、第１コントローラ１０１、第２コントローラ１０２、第３コントローラ１０３および第４コントローラ１０４のうち、第１コントローラ１０１のみを示す。第２コントローラ１０２、第３コントローラ１０３および第４コントローラ１０４のハードウェア構成は、第１コントローラ１０１のハードウェア構成と同じ、もしくは略同じであるため、ここではその詳細な説明は繰り返さない。
【００４６】
第１コントローラ１０１（第２コントローラ１０２、第３コントローラ１０３および第４コントローラ１０４）は、演算装置１５１、不揮発性記憶装置１６１、揮発性記憶装置１７１および通信装置１８１を含む。
【００４７】
演算装置１５１は、たとえばＣＰＵである。演算装置１５１は、オペレーティングシステム（ＯＳ）を含む、種々のソフトウェア（プログラム）を実行する。不揮発性記憶装置１６１は、たとえばＲＯＭ（Read  Only  Memory）またはＨＤＤ（Hard  disk  drive）である。不揮発性記憶装置１６１は、演算装置１５１が実行するソフトウェアの実行モジュールを格納する。
【００４８】
揮発性記憶装置１７１は、たとえばＲＡＭ（Random  Access  Memory）である。揮発性記憶装置１７１は、たとえば各々のソフトウェアが必要とするワーク領域などを保持するために用いられる。
【００４９】
通信装置１８１は、ネットワーク３００を介した通信を制御するために用いられる。通信装置１８１は、第１コントローラ１０１の外部の装置であってもよい。
【００５０】
コンピュータ２００は、演算装置２６０、不揮発性記憶装置２７０、揮発性記憶装置２８０、通信装置２９０および表示装置２９２を含む。演算装置２６０、不揮発性記憶装置２７０、揮発性記憶装置２８０および通信装置２９０は、それぞれ、演算装置１５１、不揮発性記憶装置１６１、揮発性記憶装置１７１および通信装置１８１と同じ、もしくは略同じである。したがって、ここではその詳細な説明は繰り返さない。
【００５１】
表示装置２９２は、たとえば前述のネットワーク構成情報２５０などの種々の情報を表示する。表示装置２９２には一般的なモニターなどが用いられる。
【００５２】
図６を参照して、第１コントローラ１０１、第２コントローラ１０２、第３コントローラ１０３、第４コントローラ１０４およびコンピュータ２００が、リンクローカルアドレスを設定するときに実行するプログラムの制御構造について説明する。以下に説明するプログラムは、第１コントローラ１０１、第２コントローラ１０２、第３コントローラ１０３、第４コントローラ１０４およびコンピュータ２００の各々において実行される。このプログラムは、たとえば、ＬＡＮ（Local  Area  Network）ケーブルなどの通信ケーブルが、第１コントローラ１０１、第２コントローラ１０２、第３コントローラ１０３、第４コントローラ１０４またはコンピュータ２００のポートに挿入されたときに実行される。
【００５３】
ステップ（以下、ステップをＳと略す）１００にて、ＭＡＣアドレスに基づいて、リンクローカルアドレスが生成される。周知の通り、ＭＡＣアドレスは、各々の機器に取り付けられたイーサネットカードに固有のＩＤ番号である。ＭＡＣアドレスは、製造者ごとに定められた固有の番号と、製造者が独自に割り当てることができる任意の番号との組み合わせによって表される。したがって、一例として、リンクローカルアドレスは、ＭＡＣアドレスにおける製造者の固有の番号と、ＭＡＣアドレスと重複しない範囲で無作為に定められる任意の番号との組み合わせとして生成される。リンクローカルアドレスの作成方法はこれに限定されない。
【００５４】
リンクローカルアドレスが生成された後、Ｓ１０２にて、生成されたリンクローカルアドレスと同じリンクローカルアドレスがネットワーク３００上に存在するか否かを確認するため、生成されたリンクローカルアドレスが宛先としてセットされたアドレス解決プロトコル（ＡＲＰ）リクエストがブロードキャストで送信される。
【００５５】
ＡＲＰリクエストに対して応答がある場合、すなわち生成されたリンクローカルアドレスと同じリンクローカルアドレスを有する機器がネットワーク３００上に存在する場合（Ｓ１０４にてＹＥＳ）、リンクローカルアドレスが再度作成される（Ｓ１００）。
【００５６】
ＡＲＰリクエストに対して応答がない場合、すなわち生成されたリンクローカルアドレスと同じリンクローカルアドレスを有する機器がネットワーク３００上に存在しない場合（Ｓ１０４にてＮＯ）、作成されたリンクローカルアドレスが自己のリンクローカルアドレスとして確定される（Ｓ１０６）。その後、Ｓ１０８にて、確定されたリンクローカルアドレスが、エイリアスとして登録される。
【００５７】
図７を参照して、コンピュータ２００が、前述した図４に示されるネットワーク構成情報２５０を作成するために実行するプログラムの制御構造について説明する。本実施の形態において、以下に説明するプログラムは、コンピュータ２００によって実行される。
【００５８】
Ｓ２００にて、第１コントローラ１０１、第２コントローラ１０２、第３コントローラ１０３および第４コントローラ１０４に各々のＩＰアドレスを含む情報の要求が、コンピュータ２００からブロードキャスト送信される。
【００５９】
その後、Ｓ２０２にて、各プログラマブルロジックコントローラから受信した情報から、ネットワーク構成情報２５０が作成される。
【００６０】
図８を参照して、第１コントローラ１０１、第２コントローラ１０２、第３コントローラ１０３または第４コントローラ１０４が、各々の情報を送信するために実行するプログラムの制御構造について説明する。
【００６１】
Ｓ３００にて、プログラマブルロジックコントローラの、ＩＰアドレスを含む情報を要求する要求を受信したか否かが判断される。要求を受信すると（Ｓ３００にてＹＥＳ）、Ｓ３０２にて、コンピュータ２００のリンクローカルアドレスに向けて、プログラマブルロジックコントローラの情報を送信する。
【００６２】
図９および図１０を参照して、コンピュータ２００が、第１コントローラ１０１、第２コントローラ１０２、第３コントローラ１０３または第４コントローラ１０４と通信するために実行するプログラムの制御構造について説明する。本実施の形態において、以下に説明するプログラムは、コンピュータ２００によって実行される。
【００６３】
Ｓ４００にて、前述した図４に示されるネットワーク構成情報２５０が作成される。Ｓ４０２にて、ネットワーク構成情報２５０に基づいて、図１１に示すノード一覧情報が表示装置２９２に表示される。ノード一覧表は、各プログラマブルロジックコントローラのＩＰアドレスなどを含む。図１１に示すノード一覧情報は一例であって、これに限定されない。ノード一覧情報は、コンピュータ２００自身の情報（ＩＰアドレスおよびＭＡＣアドレスなど）を含んでもよい。
【００６４】
ユーザは、コンピュータ２００を操作して、ノード一覧情報に示される機器（プログラマブルロジックコントローラ）の中から接続（通信）先を選択する。
【００６５】
図９に戻って、Ｓ４０４にて、接続先として選択されたプログラマブルロジックコントローラのＩＰアドレスと同じＩＰアドレスを他のプログラマブルロジックコントローラが有するかを判断する。接続先として選択されたプログラマブルロジックコントローラのＩＰアドレスと同じＩＰアドレスを他のプログラマブルロジックコントローラが有していなければ（Ｓ４０４にてＮＯ）、Ｓ４０６にて、接続先として選択されたプログラマブルロジックコントローラとコンピュータ２００との間の接続（通信）が確立される。
【００６６】
接続先として選択されたプログラマブルロジックコントローラのＩＰアドレスと同じＩＰアドレスを他のプログラマブルロジックコントローラが有していれば（Ｓ４０４にてＹＥＳ）、Ｓ４０８にて、ＩＰアドレスが重複していることがユーザに通知される。たとえば、ＩＰアドレスが重複していることを示す警告が表示装置２９２に表示される。
【００６７】
接続（通信）がキャンセルされると（Ｓ４１０にてキャンセル）、接続（通信）が確立されることなく処理が終了する。
【００６８】
リンクローカルアドレスを用いて接続（通信）するメンテナンスモードが選択されると（Ｓ４１０にてメンテナンスモード）、Ｓ４１２にて、リンクローカルアドレスを用いて、接続（通信）先として選択されたプログラマブルロジックコントローラとコンピュータ２００との間で接続（通信）が確立される。
【００６９】
たとえば、コンピュータ２００上で、接続（通信）先として選択されたプログラマブルロジックコントローラのＩＰアドレスが変更されると（Ｓ４１０にて変更）、Ｓ４１４にて、リンクローカルアドレスを用いて、接続先として選択されたプログラマブルロジックコントローラとコンピュータ２００との間で接続が確立される。
【００７０】
その後、Ｓ４１６にて、接続先として選択されたプログラマブルロジックコントローラに、変更されたＩＰアドレスが登録される。ＩＰアドレスが再登録された後、Ｓ４１８にて、ＩＰアドレスを用いて、接続先として選択されたプログラマブルロジックコントローラとコンピュータ２００との間で接続（通信）が確立される。
【００７１】
以上のように、ユーザによって割り当てられるＩＰアドレスとは別に、リンクローカルアドレスが設定される。よって、ＩＰアドレスが重複していても、リンクローカルアドレスを用いて通信できる。さらに、複数のプログラマブルロジックコントローラは、設定されたリンクローカルアドレスに対して各々のＩＰアドレスを含む情報を送信するように要求される。したがって、同じＩＰアドレスが誤って重複して設定されていても、リンクローカルアドレスを用いることによって、複数のプログラマブルロジックコントローラから各々のＩＰアドレスを受信できる。ＩＰアドレス同士を比較することによって、各機器に対して割り当てられたＩＰアドレスを検証できる。よって、ＩＰアドレスが重複している場合には、誤りを訂正することができる。その結果、適切に修正されたＩＰアドレスを用いて通信できる。プログラマブルロジックコントローラに対してＩＰアドレスが設定されていない場合も同様に、リンクローカルアドレスを用いて通信できる。
【００７２】
また、ＩＰアドレスに加えてリンクローカルアドレスが設定されるため、ＩＰアドレスを維持したまま、リンクローカルアドレスを用いて通信が可能である。したがって、ユーザによって割り当てられたＩＰアドレスがプログラマブルロジックコントローラまたはコンピュータによって変更されることを回避できる。そのため、ユーザによるＩＰアドレスの管理が妨げられない。
【００７３】
以下、図１２に示すように、１台のコンピュータ２００と、１台のプログラマブルロジックコントローラ１０５とがイーサネットを利用してハブを介さずに接続された実施例について説明する。なお、この実施例においては、プログラマブルロジックコントローラ１０５の代わりにプログラマブル表示器をコンピュータ２００にハブを介さずに接続してもよい。
【００７４】
図１３を参照して、１台のコンピュータ２００と、１台のプログラマブルロジックコントローラ１０５とがイーサネットを利用して、ハブを介さずに接続された場合に、コンピュータ２００がプログラマブルロジックコントローラ１０５と通信するために実行するプログラムの制御構造について説明する。
【００７５】
Ｓ５００にて、ネットワーク構成情報２５０が作成される。Ｓ５０２にて、ネットワーク構成情報２５０に基づいて、コンピュータ２００にイーサネットを利用して接続された機器が一台であるか否かが判定される。コンピュータ２００にイーサネットを利用して接続された機器が一台であると（Ｓ５０２にてＹＥＳ）、Ｓ５０４にて、コンピュータ２００に接続されたプログラマブルロジックコントローラ１０５のリンクローカルアドレスを用いて通信が確立される。
【００７６】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００７７】
１０  制御システム、１０１  第１コントローラ、１０２  第２コントローラ、１０３  第３コントローラ、１０４  第４コントローラ、１０５  プログラマブルロジックコントローラ、１１１  アドレス設定機能、１２１  接続機能、１３１  送信機能、１５１  演算装置、１６１  不揮発性記憶装置、１７１  揮発性記憶装置、１８１  通信装置、２００  コンピュータ、２１０  アドレス設定機能、２２０  接続機能、２３０  要求機能、２４０  受信機能、２６０  演算装置、２７０  不揮発性記憶装置、２８０  揮発性記憶装置、２９０  通信装置、２９２  表示装置、３００  ネットワーク、３０２  ハブ。
【図１】
0005720330.tif 000002
【図２】
0005720330.tif 000003
【図３】
0005720330.tif 000004
【図４】
0005720330.tif 000005
【図５】
0005720330.tif 000006
【図６】
0005720330.tif 000007
【図７】
0005720330.tif 000008
【図８】
0005720330.tif 000009
【図９】
0005720330.tif 000010
【図１０】
0005720330.tif 000011
【図１１】
0005720330.tif 000012
【図１２】
0005720330.tif 000013
【図１３】
0005720330.tif 000014