(57)【特許請求の範囲】
【請求項１】
第１のネットワークに接続される制御装置と、
前記第１のネットワークとは別の第２のネットワークを介して前記制御装置と接続される操作端末とを備え、
前記制御装置は、
前記第１のネットワーク上に、ＩＰアドレスの他に名称および型式の少なくとも一方を含むアドレス情報の要求をブロードキャスト送信するための手段と、
前記ブロードキャストに対する応答から、前記第１のネットワーク上の機器毎のアドレス情報を取得してネットワーク構成情報を構成するための手段と、
前記操作端末に、前記ネットワーク構成情報を送信するための手段とを含み、
前記操作端末は、
前記制御装置から前記ネットワーク構成情報を受信するための手段と、
宛先としていずれかの機器のＩＰアドレスを含むデータを、前記制御装置に送信するための手段とを含み、
前記制御装置は、さらに、前記操作端末から前記制御装置に送信されたデータを、当該データに宛先として含まれるＩＰアドレスに該当する機器へ転送するための手段をさらに含む、制御システム。
【請求項２】
前記制御装置は、前記操作端末からの前記アドレス情報の要求に応答して、前記アドレス情報の要求のブロードキャスト送信を開始するとともに、前記ブロードキャストに対する応答に含まれる情報から前記ネットワーク構成情報を都度構成する、請求項１に記載の制御システム。
【請求項３】
前記制御装置は、前記操作端末を宛先として前記機器から前記制御装置に送信されたデータを、前記操作端末に転送するための手段をさらに含む、請求項１または２に記載の制御システム。
【請求項４】
前記第１のネットワークの通信プロトコルと、前記第２のネットワークの通信プロトコルとは異なる、請求項１〜３のいずれか１項に記載の制御システム。
【請求項５】
第１のネットワークに接続される制御装置であって、前記制御装置には、前記第１のネットワークとは別の第２のネットワークを介して操作端末が接続可能になっており、
前記第１のネットワーク上に、ＩＰアドレスの他に名称および型式の少なくとも一方を含むアドレス情報の要求をブロードキャスト送信するための手段と、
前記ブロードキャストに対する応答から、前記第１のネットワーク上の機器毎のアドレス情報を取得してネットワーク構成情報を構成するための手段と、
前記操作端末に、前記ネットワーク構成情報を送信するための手段と、
前記操作端末から前記制御装置に送信される、宛先としていずれかの機器のＩＰアドレスを含むデータを、当該データに宛先として含まれるＩＰアドレスに該当する機器へ転送するための手段とを含む、制御装置。
【請求項６】
前記制御装置は、前記操作端末からの前記アドレス情報の要求に応答して、前記アドレス情報の要求のブロードキャスト送信を開始するとともに、前記ブロードキャストに対する応答に含まれる情報から前記ネットワーク構成情報を都度構成する、請求項５に記載の制御装置。
【請求項７】
前記制御装置は、前記操作端末を宛先として前記機器から前記制御装置に送信されたデータを、前記操作端末に転送するための手段をさらに含む、請求項５または６に記載の制御装置。
【請求項８】
第１のネットワークに接続される制御装置に対して、前記第１のネットワークとは別の第２のネットワークを介して接続される操作端末であって、前記制御装置は、前記第１のネットワーク上に、ＩＰアドレスの他に名称および型式の少なくとも一方を含むアドレス情報の要求をブロードキャスト送信するとともに、前記ブロードキャストに対する応答から、前記第１のネットワーク上の機器毎のアドレス情報を取得してネットワーク構成情報を構成し、
前記制御装置から送信される前記第１のネットワーク上の機器のネットワーク構成情報を受信するための手段と、
宛先としていずれかの機器のＩＰアドレスを含むデータを、前記制御装置に送信するための手段とを含み、前記制御装置は、前記操作端末から前記制御装置に送信されたデータを、当該データに宛先として含まれるＩＰアドレスに該当する機器へ転送する、操作端末。
【請求項９】
前記第１のネットワークの通信プロトコルと、前記第２のネットワークの通信プロトコルとは異なる、請求項８に記載の操作端末。
【請求項１０】
第１のネットワークに接続される制御装置で実行されるプログラムであって、前記制御装置には、前記第１のネットワークとは別の第２のネットワークを介して操作端末が接続可能になっており、前記プログラムは前記制御装置に、
前記第１のネットワーク上に、ＩＰアドレスの他に名称および型式の少なくとも一方を含むアドレス情報の要求をブロードキャスト送信するステップと、
前記ブロードキャストに対する応答から、前記第１のネットワーク上の機器毎のアドレス情報を取得してネットワーク構成情報を構成するステップと、
前記操作端末に、前記アドレス情報を送信するステップと、
前記操作端末から前記制御装置に送信される、宛先としていずれかの機器のＩＰアドレスを含むデータを、当該データに宛先として含まれるＩＰアドレスに該当する機器へ転送するステップとを実行させる、プログラム。
【請求項１１】
第１のネットワークに接続される制御装置に対して、前記第１のネットワークとは別の第２のネットワークを介して接続される操作端末で実行されるプログラムであって、前記制御装置は、前記第１のネットワーク上に、ＩＰアドレスの他に名称および型式の少なくとも一方を含むアドレス情報の要求をブロードキャスト送信するとともに、前記ブロードキャストに対する応答から、前記第１のネットワーク上の機器毎のアドレス情報を取得してネットワーク構成情報を構成し、前記プログラムは前記操作端末に、
前記制御装置から送信される前記第１のネットワーク上の機器のネットワーク構成情報を受信するステップと、
宛先としていずれかの機器のＩＰアドレスを含むデータを、前記制御装置に送信するためのステップとを実行させ、前記制御装置は、前記操作端末から前記制御装置に送信されたデータを、当該データに宛先として含まれるＩＰアドレスに該当する機器へ転送する、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御システム、制御装置、操作端末およびプログラムに関し、特に、ネットワーク上の機器と、ネットワーク上にはない操作端末との間で通信を確立するための技術に関する。
【背景技術】
【０００２】
自動化された工場などにおいて製造機械の制御装置として用いられるプログラマブルロジックコントローラ（ＰＬＣ）が知られている。たとえば、プログラマブルロジックコントローラは、ツールと呼ばれるソフトウェアがインストールされたコンピュータ（市販のパーソナルコンピュータなど）またはプログラマブルロジックコントローラの設定などに用いられる表示器を用いて管理される。
【０００３】
プログラマブルロジックコントローラ、コンピュータおよび表示器は、特開２００７−２４３８２５号公報（特許文献１）に記載のように、たとえばイーサネット（登録商標）を利用したネットワークを介して接続される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２４３８２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、たとえば管理上の理由のために、コンピュータをネットワークに直接接続することが制限されるネットワークもある。このようなネットワークにおいては、たとえばプログラマブルロジックコントローラの設定を変更または確認する場合、特定のプログラマブルロジックコントローラをルータとして機能させ、このプログラマブルロジックコントローラを介して、コンピュータと他のプログラマブルロジックコントローラとが通信することが可能である。
【０００６】
ルータとして機能する特定のプログラマブルロジックコントローラを介して、コンピュータと他のプログラマブルロジックコントローラとが通信するためには、コンピュータにおいて、ネットワークへの経路情報（ルーティングテーブル）が設定されていなくてはならない。
【０００７】
したがって、経路情報が正しく設定されていなければ、通信が確立されないといった問題点がある。また、誤って経路情報が設定された場合には、既存のネットワークとの通信障害が発生し得る。さらに、通信相手であるプログラマブルロジックコントローラのアドレス情報が不明であれば、経路情報そのものの設定が不可能である。これらの問題を回避するためには、プログラマブルロジックコントローラが接続されるネットワークの構成をユーザが詳細に把握しておかなければならない。
【０００８】
しかしながら、製造ラインを立ち上げた直後、または、何らかのトラブルが発生した場合などには、アドレス情報が不明であることもある。この場合には、各々のプログラマブルロジックコントローラ毎に、夫々の接続ポートを用いてコンピュータを接続することによって、アドレス情報を１つずつ確認する必要があった。このような作業はユーザにとって煩わしい。
【０００９】
一方、ユーザの手作業によらずに経路情報を動的に構築する技術として、ＲＩＰ（Routing Information Protocol）が知られている。ＲＩＰは、ルータ間で経路情報を交換するプロトコルである、ＲＩＰの導入は容易である反面、経路情報をネットワーク全体に送信するため、ネットワークの負荷が増大し得る。また、意図せずに経路情報が交換されることによって、ネットワーク障害の原因ともなり得る。
【００１０】
本発明は、上述の課題を解決するためになされたものであり、その目的は、ネットワーク上の機器のアドレス情報をユーザが把握していなくても、ネットワーク上の機器と、ネットワーク上にはない操作端末との間で通信を正しく確立することである。
【課題を解決するための手段】
【００１１】
制御システムは、第１のネットワークに接続される制御装置と、第１のネットワークとは別の第２ネットワークを介して制御装置と接続される操作端末とを備える。制御装置は、第１のネットワーク上の機器のアドレス情報を取得するための手段と、操作端末に、アドレス情報を送信するための手段とを含む。操作端末は、制御装置からアドレス情報を受信するための手段を含む。
【００１２】
第１のネットワークに接続される制御装置は、第１のネットワーク上の機器のアドレス情報を取得するための手段と、第１のネットワークとは別の第２ネットワークを介して制御装置に接続される操作端末に、アドレス情報を送信するための手段とを含む。
【００１３】
第１のネットワークとは別の第２ネットワークを介して接続される操作端末は、第１のネットワークに接続される制御装置から、第１のネットワーク上の機器のアドレス情報を受信するための手段を含む。
【００１４】
あるプログラムは、第１のネットワークに接続される制御装置に、第１のネットワーク上の機器のアドレス情報を取得するステップと、第１のネットワークとは別の第２ネットワークを介して制御装置に接続される操作端末に、アドレス情報を送信するステップとを実行させる。
【００１５】
別のプログラムは、第１のネットワークとは別の第２ネットワークを介して接続される操作端末に、第１のネットワークに接続される制御装置から、第１のネットワーク上の機器のアドレス情報を受信するステップを実行させる。
【発明の効果】
【００１６】
制御装置が接続された第１のネットワークとは異なる第２ネットワークを介して制御装置と接続された操作端末は、第１のネットワーク上の機器のアドレス情報を制御装置から受信する。これにより、操作端末は、アドレス情報を利用して、第１のネットワーク上の機器と通信できる。
【図面の簡単な説明】
【００１７】
【図１】コンピュータと複数のプログラマブルロジックコントローラと含む制御システムを示す図である。
【図２】プログラマブルロジックコントローラの機能と、コンピュータの機能とを示す機能ブロック図である。
【図３】プログラマブルロジックコントローラの情報を示す図である。
【図４】ネットワーク構成情報を示す図である。
【図５】プログラマブルロジックコントローラのハードウェア構成と、コンピュータのハードウェア構成とを示すブロック図である。
【図６】ネットワーク構成情報を作成するために実行されるプログラムの制御構造を示すフローチャートである。
【図７】ネットワーク上のプログラマブルロジックコントローラが、プログラマブルロジックコントローラのアドレス情報を送信するために実行されるプログラムの制御構造を示すフローチャートである。
【図８】コンピュータにアドレス情報を送信するために実行されるプログラムの制御構造を示すフローチャートである。
【図９】コンピュータがネットワーク上のプログラマブルロジックコントローラと通信するために実行されるプログラムの制御構造を示すフローチャートである。
【図１０】ノード一覧情報を示す図である。
【図１１】コンピュータと、ネットワーク上のプログラマブルロジックコントローラとの通信を中継するために実行されるプログラムの制御構造を示すフローチャートである。
【発明を実施するための形態】
【００１８】
図１を参照して、本実施の形態に係る制御システム１０について説明する。制御システム１０は、第１プログラマブルロジックコントローラ（以下、第１コントローラと記載する）１０１と、第２プログラマブルロジックコントローラ（以下、第２コントローラと記載する）１０２と、第３プログラマブルロジックコントローラ（以下、第３コントローラと記載する）１０３と、コンピュータ２００とを備える。プログラマブルロジックコントローラの数は３つに限られず、１台以上であればいくつでもよい。
【００１９】
第１コントローラ１０１、第２コントローラ１０２および第３コントローラ１０３は、制御装置として用いられる。コンピュータ２００は、ユーザが操作する操作端末として用いられる。
【００２０】
第１コントローラ１０１、第２コントローラ１０２および第３コントローラ１０３は、第１ネットワーク３００を介して相互に電気的に接続される。第１コントローラ１０１、第２コントローラ１０２および第３コントローラ１０３を無線で接続してもよい。
【００２１】
第１ネットワーク３００は、イーサネットを利用して、第１コントローラ１０１、第２コントローラ１０２および第３コントローラ１０３を相互に接続する。イーサネットの通信プロトコルには、たとえばＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）またはＵＤＰ／ＩＰ（User Datagram Protocol/Internet Protocol）が用いられる。なお、イーサネットを利用した接続方法には周知の技術を利用すればよいため、ここではその詳細な説明は繰り返さない。イーサネット以外の通信規格を利用してもよい。
【００２２】
第１コントローラ１０１、第２コントローラ１０２および第３コントローラ１０３には、夫々異なる工作機械が接続される。第１コントローラ１０１、第２コントローラ１０２および第３コントローラ１０３は、これらの工作機械の制御装置としての機能を有する。
【００２３】
第１ネットワーク３００上では、一例として、第１コントローラ１０１には、ＩＰアドレスとして「10.6.100.1」が割り当てられる。第２コントローラ１０２には、ＩＰアドレスとして「10.6.100.2」が割り当てられる。第３コントローラ１０３には、ＩＰアドレスとして「10.6.100.3」が割り当てられる。
【００２４】
本実施の形態において第１コントローラ１０１、第２コントローラ１０２および第３コントローラ１０３に割り当てられるＩＰアドレスは、たとえば製造ラインなどを設計または管理するユーザによって選択された固定のＩＰアドレスである。これらのＩＰアドレスは一例であって、割り当てられるＩＰアドレスはこれらに限定されない。
【００２５】
コンピュータ２００は、第１ネットワーク３００とは別の第２ネットワーク３０２を介して、第１コントローラ１０１、第２コントローラ１０２および第３コントローラ１０３のうちのいずれか１台と接続される。図１においては、ＵＳＢ（Universal Serial Bus）を用いてコンピュータ２００と第１コントローラ１０１との間の第２ネットワーク３０２が確立された例を示す。
【００２６】
この第２ネットワーク３０２において、一例として、コンピュータ２００には、アドレスとして、「192168.251.2」が割り当てられる。第１コントローラ１０１には、アドレスとして「192168.251.2」が割り当てられる。これらのアドレスは、たとえば製造ラインなどを設計または管理するユーザによって選択された固定のアドレスである。これらのアドレスは一例であって、割り当てられるアドレスはこれらに限定されない。
【００２７】
コンピュータ２００は、たとえば市販されているパーソナルコンピュータである。コンピュータ２００は、ノートブックコンピュータ、デスクトップコンピュータ、携帯情報端末（ＰＤＡ：Personal  Digital  Assistant）など、任意の形式のコンピュータが用いられ得る。
【００２８】
コンピュータ２００には、コンピュータ２００に所望の機能を実行させるためのプログラムであるエンジニアリングツールがインストールされる。ユーザは、コンピュータ２００を操作端末として使用することによって、第１コントローラ１０１、第２コントローラ１０２および第３コントローラ１０３の設定を変更することなどが可能である。
【００２９】
コンピュータ２００の代わりに、もしくは加えて、プログラマブル表示器と呼ばれる専用の制御装置を用いてもよい。すなわち、操作端末としてプログラマブル表示器を用いてもよい。プログラマブル表示器は、たとえば、第１コントローラ１０１、第２コントローラ１０２および第３コントローラ１０３の作動状態および設定内容などを表示する。プログラマブル表示器は、たとえばタッチパネルを有する。ユーザは、タッチパネルを操作することによって、第１コントローラ１０１、第２コントローラ１０２および第３コントローラ１０３の設定を変更することなどが可能である。
【００３０】
プログラマブル表示器を、プログラマブルコントローラの代わりに、もしくは加えて第１ネットワーク３００に接続し、制御装置として用いてもよい。
【００３１】
図２を参照して、第１コントローラ１０１、第２コントローラ１０２、第３コントローラ１０３およびコンピュータ２００の機能について説明する。
【００３２】
第１コントローラ１０１は、接続機能１１１と、要求機能１２１と、受信機能１３１と、保持機能１４１と、送信機能１５１と、転送機能１６１とを含む。これらの機能は、たとえば第１コントローラ１０１にインストールされるプログラムをＣＰＵ（Central  Processing  Unit）が実行することによって実現される。上記の機能をハードウェアにより実現してもよく、ソフトウェアとハードウェアとの協働により実現してもよい。
【００３３】
接続機能１１１は、第１ネットワーク３００との接続（通信）およびＵＳＢによるコンピュータ２００との接続（通信）を処理する。
【００３４】
要求機能１２１は、第１ネットワーク３００上の第２コントローラ１０２および第３コントローラ１０３に、各々のＩＰアドレスを含むアドレス情報を第１コントローラ１０１のＩＰアドレスに対して送信するように要求する。第１ネットワーク３００上の全ての機器、すなわち第２コントローラ１０２および第３コントローラ１０３に、各々のＩＰアドレスを含むアドレス情報の要求がブロードキャスト送信される。要求とともに、たとえば、第１コントローラ１０１のＩＰアドレスを含むアドレス情報が送信される。
【００３５】
第２コントローラ１０２および第３コントローラ１０３は、要求を受信すると、各々のアドレス情報を、第１コントローラ１０１のＩＰアドレスを宛先として送信する。
【００３６】
受信機能１３１は、第２コントローラ１０２および第３コントローラ１０３から送信される、各々のアドレス情報を受信する。保持機能１４１は、受信した各アドレス情報を保持する。より具体的には、受信された各アドレス情報が第１コントローラ１０１内に記憶される。なお、アドレス情報を保持しなくてもよい。すなわち、第１コントローラ１０１０が保持機能１４１を有さなくてもよい。
【００３７】
第１コントローラ１０１は、各プログラマブルロジックコントローラから受信し、記憶したアドレス情報から、ネットワーク構成情報を作成する。図３に、一例として第２コントローラ１０２のアドレス情報を示す。図４に、ネットワーク構成情報の一例を示す。各プログラマブルロジックコントローラのアドレス情報は、ＩＰアドレスの他、ＭＡＣ（Media  Access  Control）アドレス、名称などの付加情報、型式およびユニットバージョンなどを含む。これらの情報は一例であって、情報はこれらに限定されない。
【００３８】
ネットワーク構成情報は、各プログラマブルロジックコントローラから受信した情報を統合することによって作成される。図４に示すネットワーク構成情報は、第１コントローラ１０１自身のアドレス情報を含む。ネットワーク構成情報は、図４に示すものに限定されない。
【００３９】
図２に戻って、送信機能１５１は、第１ネットワーク３００上の機器のアドレス情報を、第１ネットワーク３００とは別の第２ネットワーク３０２を介してコンピュータ２００に送信する。より具体的にはアドレス情報を含む、上述したネットワーク構成情報がコンピュータ２００に送信される。
【００４０】
転送機能１６１は、第１コントローラ１０１がルータとして動作するための機能である。転送機能１６１は、第１ネットワーク３００上の機器、すなわち第２コントローラ１０２または第３コントローラ１０３のＩＰアドレスを宛先としてコンピュータ２００から第１コントローラ１０１に送信されたデータを、宛先として指定された機器に転送する。同様に、転送機能１６１は、コンピュータ２００のＩＰアドレスを宛先として、第１ネットワーク３００上の機器、すなわち第２コントローラ１０２または第３コントローラ１０３から第１コントローラ１０１に送信されたデータを、宛先として指定されたコンピュータ２００に転送する。
【００４１】
第２コントローラ１０２は、接続機能１１２と、送信機能１２２とを含む。これらの機能は、たとえば第２コントローラ１０２にインストールされるプログラムをＣＰＵが実行することによって実現される。上記の機能をハードウェアにより実現してもよく、ソフトウェアとハードウェアとの協働により実現してもよい。
【００４２】
接続機能１１２は、第１ネットワーク３００との接続（通信）を処理する。送信機能１２２は、第２コントローラ１０２のアドレス情報を、第１ネットワーク３００を介して第１コントローラ１０１に送信する。
【００４３】
同様に、第３コントローラ１０３は、接続機能１１３と、送信機能１２３とを含む。これらの機能は、たとえば第３コントローラ１０３にインストールされるプログラムをＣＰＵが実行することによって実現される。上記の機能をハードウェアにより実現してもよく、ソフトウェアとハードウェアとの協働により実現してもよい。
【００４４】
接続機能１１３は、第１ネットワーク３００との接続（通信）を処理する。送信機能１２３は、第３コントローラ１０３のアドレス情報を、第１ネットワーク３００を介して第１コントローラ１０１に送信する。
【００４５】
図２に戻って、コンピュータ２００は、接続機能２１０と、要求機能２２０と、受信機能２３０と、送信機能２４０とを含む。これらの機能は、たとえばコンピュータ２００にインストールされるプログラムをＣＰＵが実行することによって実現される。上記の機能をハードウェアにより実現してもよく、ソフトウェアとハードウェアとの協働により実現してもよい。
【００４６】
接続機能２１０は、ＵＳＢを用いた第２ネットワーク３０２による第１コントローラ１０１との接続（通信）を処理する。
【００４７】
要求機能２２０は、第２ネットワーク３０２によってコンピュータ２００が第１コントローラ１０１と接続された場合に、第１ネットワーク３００上の機器のアドレス情報、より具体的にはネットワーク構成情報をコンピュータ２００のアドレスに対して送信するように第１コントローラ１０１に要求する。第１コントローラ１０１は、要求を受信すると、第１ネットワーク３００上の機器のアドレス情報を、コンピュータ２００のアドレスを宛先として送信する。
【００４８】
受信機能２３０は、第１コントローラ１０１から送信される、第１ネットワーク３００上の各々の機器のアドレス情報、より具体的にはアドレス情報を含むネットワーク構成情報を受信する。なお、第１コントローラ１０１からネットワーク構成情報を受信する代わりに、第１コントローラ１０１から受信したアドレス情報に基いて、コンピュータ２００がネットワーク構成情報を作成するようにしてもよい。
【００４９】
送信機能２４０は、第２コントローラ１０２または第３コントローラ１０３のＩＰアドレスが宛先のデータを、第１コントローラ１０１に送信する。
【００５０】
図５を参照して、第１コントローラ１０１、第２コントローラ１０２、第３コントローラ１０３、およびコンピュータ２００のハードウェア構成について説明する。
【００５１】
図５においては、第１コントローラ１０１、第２コントローラ１０２、第３コントローラ１０３およびのうち、第１コントローラ１０１のみを示す。第２コントローラ１０２、第３コントローラ１０３のハードウェア構成は、第１コントローラ１０１のハードウェア構成と同じ、もしくは略同じであるため、ここではその詳細な説明は繰り返さない。
【００５２】
第１コントローラ１０１（第２コントローラ１０２および第３コントローラ１０３）は、演算装置４０１、不揮発性記憶装置４１１、揮発性記憶装置４２１および通信装置４３１を含む。
【００５３】
演算装置４０１は、たとえばＣＰＵである。演算装置４０１は、オペレーティングシステム（ＯＳ）を含む、種々のソフトウェア（プログラム）を実行する。不揮発性記憶装置４１１は、たとえばＲＯＭ（Read  Only  Memory）またはＨＤＤ（Hard  disk  drive）である。不揮発性記憶装置４１１は、演算装置４０１が実行するソフトウェアの実行モジュールを格納する。
【００５４】
揮発性記憶装置４２１は、たとえばＲＡＭ（Random  Access  Memory）である。揮発性記憶装置４２１は、たとえば各々のソフトウェアが必要とするワーク領域などを保持するために用いられる。
【００５５】
通信装置４３１は、第１ネットワーク３００または第２ネットワーク３０２を介した通信を制御するために用いられる。通信装置４３１は、第１コントローラ１０１の外部の装置であってもよい。
【００５６】
コンピュータ２００は、演算装置５００、不揮発性記憶装置５１０、揮発性記憶装置５２０、通信装置５３０および表示装置５４０を含む。演算装置５００、不揮発性記憶装置５１０、揮発性記憶装置５２０および通信装置５３０は、それぞれ、演算装置４０１、不揮発性記憶装置４１１、揮発性記憶装置４２１および通信装置４３１と同じ、もしくは略同じである。したがって、ここではその詳細な説明は繰り返さない。
【００５７】
表示装置５４０は、たとえば前述のネットワーク構成情報などの種々の情報を表示する。表示装置５４０には一般的なモニターなどが用いられる。
【００５８】
図６を参照して、第１コントローラ１０１が、前述した図４に示されるネットワーク構成情報を作成するために実行するプログラムの制御構造について説明する。なお、以下に説明するプログラムは、たとえば第１コントローラ１０１が起動したとき、あるいは、第１コントローラ１０１が、コンピュータ２００から、第１ネットワーク３００上の機器のアドレス情報の要求を受信したときに実行される。
【００５９】
ステップ（以下、ステップをＳと略す）１００にて、第２コントローラ１０２および第３コントローラ１０３に各々のＩＰアドレスを含むアドレス情報の要求が、第１コントローラ１０１から第１ネットワーク３００上にブロードキャスト送信される。
【００６０】
その後、Ｓ１０２にて、第１コントローラ１０１が各プログラマブルロジックコントローラからアドレス情報を受信すると、Ｓ１０４にて、ネットワーク構成情報が作成される。
【００６１】
図７を参照して、第２コントローラ１０２および第３コントローラ１０３が、各々のアドレス情報を送信するために実行するプログラムの制御構造について説明する。
【００６２】
Ｓ２００にて、ＩＰアドレスを含むアドレス情報を要求する要求を受信したか否かが判断される。要求を受信すると（Ｓ２００にてＹＥＳ）、Ｓ２０２にて、要求の発信元、すなわち第１コントローラ１０１のＩＰアドレスに向けて、アドレス情報が送信される。
【００６３】
図８を参照して、第１コントローラ１０１が、第２コントローラ１０２および第３コントローラ１０３のアドレス情報をコンピュータ２００に送信するために実行するプログラムの制御構造について説明する。
【００６４】
Ｓ３００にて、ＵＳＢを用いた第２ネットワーク３０２によって、第１コントローラ１０１とコンピュータ２００とが接続されたか否かが判断される。ＵＳＢを用いてプログラマブルロジックコントローラとコンピュータ２００とが接続されてか否かを判断する方法には周知の一般的な技術を利用すればよいため、ここではその詳細な説明は繰り返さない。
【００６５】
ＵＳＢを用いた第２ネットワーク３０２によって、第１コントローラ１０１とコンピュータ２００とが接続されると（Ｓ３００にてＹＥＳ）、Ｓ３０２にて、コンピュータ２００から、第１ネットワーク３００上の機器のアドレス情報の要求を受信したか否かが判断される。
【００６６】
第１コントローラ１０１が要求を受信すると（Ｓ３０２にてＹＥＳ）、Ｓ３０４にて、第１ネットワーク３００上の機器、具体的には第２コントローラ１０２および第３コントローラ１０３のアドレス情報を第１コントローラ１０１が保持しているか否かが判断される。
【００６７】
第１コントローラ１０１がアドレス情報を保持していると（Ｓ３０４にてＹＥＳ）、Ｓ３０６にて、第１ネットワーク３００上の機器のアドレス情報がコンピュータ２００に送信される。
【００６８】
その他、第２コントローラ１０２および第３コントローラ１０３のアドレス情報を第１コントローラ１０１が保持しているか否かに関わらず、第１コントローラ１０１が、コンピュータ２００から、第１ネットワーク３００上の機器のアドレス情報の要求を受信すると、前述した図６に示される処理を実行して第２コントローラ１０２および第３コントローラ１０３のアドレス情報を取得し、取得したアドレス情報をコンピュータ２００に送信するようにしてもよい。この場合、コンピュータ２００からの要求に応じて、取得したアドレス情報を保持するか否かを決定してもよい。
【００６９】
図９を参照して、コンピュータ２００が、第２コントローラ１０２または第３コントローラ１０３と通信するために実行するプログラムの制御構造について説明する。
【００７０】
Ｓ４００にて、ＵＳＢを用いた第２ネットワーク３０２によって、コンピュータ２００がプログラマブルロジックコントローラと接続されたか否かが判断される。コンピュータ２００がプログラマブルロジックコントローラと接続されると（Ｓ４００にてＹＥＳ）、Ｓ４０１にて、接続されたプログラマブルロジックコントローラに向けて、接続されたプログラマブルロジックコントローラのアドレス情報を要求する。
【００７１】
その後、接続されたプログラマブルロジックコントローラのアドレス情報、たとえば、第１コントローラ１０１のアドレス情報が受信されると（Ｓ４０２にてＹＥＳ）、Ｓ４０３にて、受信されたアドレス情報に基いて、コンピュータ２００においてルーティングテーブルが自動的に設定される。
【００７２】
さらに、コンピュータ２００は、Ｓ４０４にて、接続されたプログラマブルロジックコントローラに向けて、第１ネットワーク３００上の機器のアドレス情報を要求する。
【００７３】
その後、第１ネットワーク３００上の機器のアドレス情報、具体的にはネットワーク構成情報が受信されると（Ｓ４０５にてＹＥＳ）、Ｓ４０６にて、図１０に示すノード一覧情報が表示装置５４０に表示される。ノード一覧表は、各プログラマブルロジックコントローラのＩＰアドレスなどを含む。図１０に示すノード一覧情報は一例であって、これに限定されない。ノード一覧情報は、コンピュータ２００自身の情報（ＩＰアドレスおよびＭＡＣアドレスなど）を含んでもよい。
【００７４】
ユーザは、コンピュータ２００を操作して、ノード一覧情報に示される機器（プログラマブルロジックコントローラ）の中から接続（通信）先を選択する。
【００７５】
図９に戻って、接続先となるプログラマブルロジックコントローラが選択されると（Ｓ４０８にてＹＥＳ）、接続先として選択されたプログラマブルロジックコントローラとコンピュータ２００との間の接続（通信）が確立される。
【００７６】
具体的には、Ｓ４１０にて、接続先として選択されたプログラマブルロジックコントローラのＩＰアドレスを宛先としたデータが、第１コントローラ１０１、すなわち第１ネットワーク３００上のアドレス情報の提供元のプログラマブルコントローラに向けて送信される。
【００７７】
なお、ルーティングテーブルは、実際にコンピュータ２００と、第１ネットワーク３００上の機器（第２コントローラ１０２ならびに第３コントローラ１０３）とを接続するときに設定するようにしてもよい。
【００７８】
図１１を参照して、第１コントローラ１０１が、コンピュータ２００と、第２コントローラ１０２または第３コントローラ１０３との通信を中継するために実行するプログラムの制御構造について説明する。
【００７９】
ＵＳＢを用いた第２ネットワーク３０２によって、第２コントローラ１０２または第３コントローラ１０３のＩＰアドレスを宛先としたデータを、第１コントローラ１０１がコンピュータ２００から受信すると（Ｓ５００にてＹＥＳ）、Ｓ５０２にて、第１コントローラ１０１は、宛先として指定された機器、すなわち第２コントローラ１０２または第３コントローラ１０３のＩＰアドレスに向けて、受信したデータを第１ネットワーク３００上で送信する。
【００８０】
一方、第１ネットワーク３００上で、コンピュータ２００のアドレスを宛先としたデータを、第１コントローラ１０１が、第２コントローラ１０２または第３コントローラ１０３から受信すると（Ｓ５０４にてＹＥＳ）、Ｓ５０６にて、第１コントローラ１０１は、コンピュータ２００のアドレスに向けて、受信したデータを、ＵＳＢを用いた第２ネットワーク３０２上で送信する。
【００８１】
以上のように、第２コントローラ１０２および第３コントローラ１０３が接続された第１ネットワーク３００とは異なる第２ネットワーク３０２を介して第１コントローラ１０１と接続されたコンピュータ２００は、第１ネットワーク３００上の第２コントローラ１０２および第３コントローラ１０３のアドレス情報を、第１コントローラ１０１から受信する。これにより、コンピュータ２００は、アドレス情報を利用して、第１ネットワーク３００上の第２コントローラ１０２および第３コントローラ１０３と通信できる。
【００８２】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００８３】
１０  制御システム、１０１，１０２，１０３  プログラマブルロジックコントローラ、１１１  接続機能、１１２，１１３  接続機能、１２１  要求機能、１２２，１２３  送信機能、１３１  受信機能、１４１  保持機能、１５１  送信機能、１６１  転送機能、２００  コンピュータ、２１０  接続機能、２２０  要求機能、２３０  受信機能、２４０  送信機能、３００  第１ネットワーク、３０２  第２ネットワーク、４０１  演算装置、４１１  不揮発性記憶装置、４２１  揮発性記憶装置、４３１  通信装置、５００  演算装置、５１０  不揮発性記憶装置、５２０  揮発性記憶装置、５３０  通信装置、５４０  表示装置。
【図１】
0005768420.tif 000002
【図２】
0005768420.tif 000003
【図３】
0005768420.tif 000004
【図４】
0005768420.tif 000005
【図５】
0005768420.tif 000006
【図６】
0005768420.tif 000007
【図７】
0005768420.tif 000008
【図８】
0005768420.tif 000009
【図９】
0005768420.tif 000010
【図１０】
0005768420.tif 000011
【図１１】
0005768420.tif 000012