特許第5720330号(P5720330)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オムロン株式会社の特許一覧

特許5720330制御システム、操作端末およびプログラム
<>
  • 特許5720330-制御システム、操作端末およびプログラム 図000002
  • 特許5720330-制御システム、操作端末およびプログラム 図000003
  • 特許5720330-制御システム、操作端末およびプログラム 図000004
  • 特許5720330-制御システム、操作端末およびプログラム 図000005
  • 特許5720330-制御システム、操作端末およびプログラム 図000006
  • 特許5720330-制御システム、操作端末およびプログラム 図000007
  • 特許5720330-制御システム、操作端末およびプログラム 図000008
  • 特許5720330-制御システム、操作端末およびプログラム 図000009
  • 特許5720330-制御システム、操作端末およびプログラム 図000010
  • 特許5720330-制御システム、操作端末およびプログラム 図000011
  • 特許5720330-制御システム、操作端末およびプログラム 図000012
  • 特許5720330-制御システム、操作端末およびプログラム 図000013
  • 特許5720330-制御システム、操作端末およびプログラム 図000014
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5720330
(24)【登録日】2015年4月3日
(45)【発行日】2015年5月20日
(54)【発明の名称】制御システム、操作端末およびプログラム
(51)【国際特許分類】
   H04L 12/28 20060101AFI20150430BHJP
【FI】
   H04L12/28 200A
【請求項の数】12
【全頁数】16
(21)【出願番号】特願2011-56375(P2011-56375)
(22)【出願日】2011年3月15日
(65)【公開番号】特開2012-195650(P2012-195650A)
(43)【公開日】2012年10月11日
【審査請求日】2014年3月14日
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】岡村 弘太郎
(72)【発明者】
【氏名】永田 雄大
【審査官】 安藤 一道
(56)【参考文献】
【文献】 特開2009−267720(JP,A)
【文献】 特開2007−188393(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/28
(57)【特許請求の範囲】
【請求項1】
第1のアドレスが割り当てられる操作端末および第2のアドレスが割り当てられる制御装置を備える制御システムであって、
前記操作端末は、
前記第1のアドレスとは別の第1のローカルアドレスを設定するための第1の設定手段と、
前記第1のローカルアドレスを指定して、当該第1のローカルアドレスが設定された制御装置からの応答を要求するための要求手段と
前記制御装置から前記応答を受信するための受信手段とを備え、
前記制御装置は、
前記第2のアドレスとは別の第2のローカルアドレスを設定するための第2の設定手段と、
前記操作端末からの要求によって指定された第1のローカルアドレスと前記第2の設定手段が設定した第2のローカルアドレスとが一致する場合に、応答を送信する送信手段とを備え、
前記第1の設定手段は、前記受信手段がいずれかの制御装置から応答を受信した場合に、先に設定した第1のローカルアドレスを変更する、制御システム。
【請求項2】
前記操作端末は、前記制御装置の前記第2のアドレスを表示するための手段を備える、請求項1に記載の制御システム。
【請求項3】
前記操作端末は、前記第2のアドレスを指定して、当該第2のアドレスが割り当てられた制御装置からの応答の要求を送信した場合に、一つの制御装置からの応答のみを受信すると、受信した第2のアドレスが割り当てられた制御装置と通信する、請求項1または2に記載の制御システム。
【請求項4】
前記操作端末は、前記操作端末に割り当てられた第1のアドレスと、前記制御装置に割り当てられた第2のアドレスとが重複しない場合に、前記制御装置と通信する、請求項1〜3のいずれか1項に記載の制御システム。
【請求項5】
第1のアドレスが割り当てられるとともに、第2のアドレスが割り当てられる制御装置と通信可能な操作端末であって、
前記第1のアドレスとは別の第1のローカルアドレスを設定するための設定手段を備え、前記制御装置は前記第2のアドレスとは別の第2のローカルアドレスを設定し
前記第1のローカルアドレスを指定して、当該第1のローカルアドレスが設定された制御装置からの応答を要求するための要求手段と、
前記制御装置から前記応答を受信するための受信手段とを備え
前記制御装置は、前記操作端末からの要求によって指定された第1のローカルアドレスと自装置に設定されている第2のローカルアドレスとが一致する場合に、応答を送信し、
前記設定手段は、前記受信手段がいずれかの制御装置から応答を受信した場合に、先に設定した第1のローカルアドレスを変更する、操作端末。
【請求項6】
前記制御装置の前記第2のアドレスを表示するための手段をさらに備える、請求項に記載の操作端末。
【請求項7】
前記第2のアドレスを指定して、当該第2のアドレスが割り当てられた制御装置からの応答の要求を送信した場合に、一つの制御装置からの応答のみを受信すると、受信した第2のアドレスが割り当てられた制御装置と通信する、請求項5または6に記載の操作端末。
【請求項8】
前記操作端末は、前記操作端末に割り当てられた第1のアドレスと、前記制御装置に割り当てられた第2のアドレスとが重複しない場合に、前記制御装置と通信する、請求項5〜7のいずれか1項に記載の操作端末。
【請求項9】
第1のアドレスが割り当てられるとともに、第2のアドレスが割り当てられる制御装置と通信可能な操作端末で実行されるプログラムであって、前記プログラムは前記操作端末に、
前記第1のアドレスとは別の第1のローカルアドレスを設定するステップを実行させ、前記制御装置は前記第2のアドレスとは別の第2のローカルアドレスを設定し
前記第1のローカルアドレスを指定して、当該第1のローカルアドレスが設定された制御装置からの応答を要求するステップと、
前記制御装置から前記応答を受信するステップとを実行させ
前記制御装置は、前記操作端末からの要求によって指定された第1のローカルアドレスと自装置に設定されている第2のローカルアドレスとが一致する場合に、応答を送信し、
前記設定するステップは、いずれかの制御装置から応答を受信した場合に、先に設定した第1のローカルアドレスを変更するステップを含む、プログラム。
【請求項10】
前記操作端末に、前記制御装置の前記第2のアドレスを表示するステップを実行させる、請求項に記載のプログラム。
【請求項11】
前記操作端末に、前記第2のアドレスを指定して、当該第2のアドレスが割り当てられた制御装置からの応答の要求を送信した場合に、一つの制御装置からの応答のみを受信すると、受信した第2のアドレスが割り当てられた制御装置と通信するステップをさらに実行させる、請求項9または10に記載のプログラム。
【請求項12】
前記操作端末に、前記操作端末に割り当てられた第1のアドレスと、前記制御装置に割り当てられた第2のアドレスとが重複しない場合に、前記制御装置と通信するステップを実行させる、請求項9〜11のいずれか1項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御システム、操作端末およびプログラムに関し、特に、割り当てられるアドレスとは別のローカルアドレスを用いる制御システム、操作端末およびプログラムに関する。
【背景技術】
【0002】
自動化された工場などにおいて製造機械の制御装置として用いられるプログラマブルロジックコントローラ(PLC)が知られている。たとえば、プログラマブルロジックコントローラは、ツールと呼ばれるソフトウェアがインストールされたコンピュータ(市販のパーソナルコンピュータなど)またはプログラマブルロジックコントローラの設定などに用いられる表示器を用いて管理される。
【0003】
プログラマブルロジックコントローラ、コンピュータおよび表示器を接続するネットワークの中には、イーサネット(登録商標)を利用するものがある。イーサネットを利用した場合には、機器間での通信のために、プログラマブルロジックコントローラ、コンピュータおよび表示器などに対してアドレス(たとえばIP(Internet Protocol)アドレス)をユーザが定め、定めたIPアドレスをプログラマブルロジックコントローラ、コンピュータおよび表示器において設定する必要がある。機器間での通信の際には、設定ツールなどを利用して通信先のIPアドレスを指定し、接続を確立させる必要がある。したがって、IPアドレス等が誤って設定されると、接続が確立されないといった問題があり得る。
【0004】
また、イーサネットの特性上、接続先の機器が属するネットワークのネットワークアドレスをユーザが知らなければ接続(通信)が確立されないという問題、または、異なるネットワーク間では通信できないという問題もあり得る。
【0005】
これらの問題を回避するためには、プログラマブルロジックコントローラ、コンピュータおよび表示器を接続するネットワークの構成をユーザが詳細に把握しておかなければならない。
【0006】
しかしながら、製造ラインを立ち上げた直後、または、何らかのトラブルが発生した場合などには、各機器のIPアドレスが不明であることもある。
【0007】
このような課題に関連する技術として、特開2007−243825号公報(特許文献1)は、エンジニアリングツールが、同一ネットワークに接続する全てのノードに対して情報要求コマンドをブロードキャスト送信し、プログラマブルコントローラ(プログラマブルロジックコントローラ)が、情報要求コマンドに対して自局の機器情報およびIPアドレスをレスポンスとして返信することを開示する。
【0008】
特開2007−243825号公報に記載の技術によれば、エンジニアリングツールおよびプログラマブルコントローラの各々のIPアドレスを設定した後、エンジニアリングツールから各プログラマブルコントローラのIPアドレスを参照することができる。よって、接続したいプログラマブルコントローラを簡単に指定することができる。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2007−243825号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、特開2007−243825号公報の記載の技術では、プログラマブルロジックコントローラから受信したIPアドレスを用いて通信するため、予めプログラマブルロジックコントローラにアドレスを設定しておかなければ、コンピュータがネットワーク上のプログラマブルロジックコントローラと通信できない。
【0011】
また、プログラマブルロジックコントローラのIPアドレスが誤って設定された場合においても、コンピュータがプログラマブルロジックコントローラと通信できないことがあり得る。
【0012】
本発明は、上述の課題を解決するためになされたものであり、その目的は、アドレスが設定されていない場合、または誤って設定された場合でも機器間での通信を実現することである。
【課題を解決するための手段】
【0013】
制御システムは、第1のアドレスが割り当てられる操作端末および第2のアドレスが割り当てられる制御装置を備える。操作端末は、第1のアドレスとは別のローカルアドレスを設定するための第1の設定手段と、ローカルアドレスに対して第2のアドレスを送信するように制御装置に要求するための要求手段と、制御装置から第2のアドレスを受信するための受信手段とを備える。制御装置は、第2のアドレスとは別のローカルアドレスを設定するための第2の設定手段を備える。
【0014】
第1のアドレスが割り当てられる操作端末は、第1のアドレスとは別のローカルアドレスを設定するための設定手段と、ローカルアドレスに対して第2のアドレスを送信するように、第2のアドレスが割り当てられ、かつ前記第2のアドレスとは別のローカルアドレスを設定する制御装置に要求するための要求手段と、制御装置から第2のアドレスを受信するための受信手段とを備える。
【0015】
プログラムは、第1のアドレスが割り当てられる操作端末に、第1のアドレスとは別のローカルアドレスを設定するステップと、ローカルアドレスに対して第2のアドレスを送信するように、第2のアドレスが割り当てられ、かつ前記第2のアドレスとは別のローカルアドレスを設定する制御装置に要求するステップと、制御装置から第2のアドレスを受信するステップとを実行させる。
【発明の効果】
【0016】
本発明によれば、たとえばユーザによって割り当てられたアドレスとは別に、操作端末によってローカルアドレスが設定される。よって、アドレスが設定されていない場合、または誤って設定された場合でも、ローカルアドレスを用いて操作端末と制御装置との間での通信を実現することができる。さらに、制御装置は、設定されたローカルアドレスに対して自身のアドレスを送信するように要求される。したがって、アドレスが誤って設定されていても、ローカルアドレスを用いることによって、操作端末は、制御装置からアドレスを受信できる。そのため、割り当てられたアドレスを検証できる。よって、アドレスが誤っている場合には、誤りを訂正することができる。その結果、適切に修正されたアドレスを用いて通信できる。
【図面の簡単な説明】
【0017】
図1】1台のコンピュータと複数のプログラマブルロジックコントローラとが接続された制御システムを示す図である。
図2】プログラマブルロジックコントローラの機能と、コンピュータの機能とを示す機能ブロック図である。
図3】プログラマブルロジックコントローラの情報を示す図である。
図4】ネットワーク構成情報を示す図である。
図5】プログラマブルロジックコントローラのハードウェア構成と、コンピュータのハードウェア構成とを示すブロック図である。
図6】リンクローカルアドレスを設定するために実行されるプログラムの制御構造を示すフローチャートである。
図7】ネットワーク構成情報を作成するために実行されるプログラムの制御構造を示すフローチャートである。
図8】プログラマブルロジックコントローラの情報を送信するために実行されるプログラムの制御構造を示すフローチャートである。
図9】コンピュータがプログラマブルロジックコントローラと通信するために実行されるプログラムの制御構造を示すフローチャート(その1)である。
図10】コンピュータがプログラマブルロジックコントローラと通信するために実行されるプログラムの制御構造を示すフローチャート(その2)である。
図11】ノード一覧情報を示す図である。
図12】1台のコンピュータと1台のプログラマブルロジックコントローラとが接続された状態を示す図である。
図13】コンピュータが1台のプログラマブルロジックコントローラと通信するために実行されるプログラムの制御構造を示すフローチャートである。
【発明を実施するための形態】
【0018】
図1を参照して、本実施の形態に係る制御システム10について説明する。制御システム10は、第1プログラマブルロジックコントローラ(以下、第1コントローラと記載する)101と、第2プログラマブルロジックコントローラ(以下、第2コントローラと記載する)102と、第3プログラマブルロジックコントローラ(以下、第3コントローラと記載する)103と、第4プログラマブルロジックコントローラ(以下、第1コントローラと記載する)104と、コンピュータ200とを備える。プログラマブルロジックコントローラの数は4つに限られず、1台以上であればいくつでもよい。
【0019】
第1コントローラ101、第2コントローラ102、第3コントローラ103および第4コントローラ104は、制御装置として用いられる。コンピュータ200は、ユーザが操作する操作端末として用いられる。
【0020】
第1コントローラ101、第2コントローラ102、第3コントローラ103、第4コントローラ104およびコンピュータ200は、ネットワーク300を介して相互に電気的に接続される。
【0021】
第1コントローラ101、第2コントローラ102、第3コントローラ103、第4コントローラ104およびコンピュータ200は、夫々、ネットワーク300上に設けられたハブ302に通信ケーブルによって接続される。第1コントローラ101、第2コントローラ102、第3コントローラ103、第4コントローラ104およびコンピュータ200を無線で接続してもよい。
【0022】
ネットワーク300は、イーサネットを利用して、第1コントローラ101、第2コントローラ102、第3コントローラ103、第4コントローラ104およびコンピュータ200を相互に接続する。なお、イーサネットを利用した接続方法には周知の技術を利用すればよいため、ここではその詳細な説明は繰り返さない。イーサネット以外の通信規格を利用してもよい。
【0023】
第1コントローラ101、第2コントローラ102、第3コントローラ103および第4コントローラ104には、夫々異なる工作機械が接続される。第1コントローラ101、第2コントローラ102、第3コントローラ103および第4コントローラ104は、これらの工作機械の制御装置としての機能を有する。
【0024】
コンピュータ200は、たとえば市販されているパーソナルコンピュータである。コンピュータ200は、ノートブックコンピュータ、デスクトップコンピュータ、携帯情報端末(PDA:Personal Digital Assistant)など、任意の形式のコンピュータが用いられ得る。
【0025】
コンピュータ200には、コンピュータ200に所望の機能を実行させるためのプログラムであるエンジニアリングツールがインストールされる。ユーザは、コンピュータ200を操作することによって、第1コントローラ101、第2コントローラ102および第3コントローラ103の設定を変更することなどが可能である。
【0026】
コンピュータ200の代わりに、もしくは加えて、プログラマブル表示器と呼ばれる専用の制御装置をネットワーク300に接続してもよい。すなわち、操作端末としてプログラマブル表示器を用いてもよい。プログラマブル表示器は、たとえば、第1コントローラ101、第2コントローラ102、第3コントローラ103および第4コントローラ104の作動状態および設定内容などを表示する。プログラマブル表示器は、たとえばタッチパネルを有する。ユーザは、タッチパネルを操作することによって、第1コントローラ101、第2コントローラ102、第3コントローラ103および第4コントローラ104の設定を変更することなどが可能である。
【0027】
プログラマブル表示器を、プログラマブルコントローラの代わりに、もしくは加えてネットワーク300に接続し、制御装置として用いてもよい。
【0028】
第1コントローラ101、第2コントローラ102、第3コントローラ103、第4コントローラ104およびコンピュータ200の夫々には、IPアドレスが割り当てられる。割り当てられたIPアドレスの各々は、専用のツールなどを用いて第1コントローラ101、第2コントローラ102、第3コントローラ103、第4コントローラ104およびコンピュータ200に夫々登録(記憶)される。
【0029】
一例として、第1コントローラ101には、IPアドレスとして「192.168.250.1」が割り当てられる。第2コントローラ102には、DHCP(Dynamic Host Configuration Protocol)を利用してIPアドレスが割り当てられる。ただし、図1に示す例ではDHCPサーバが存在しないため、第2コントローラ102にIPアドレスを割り当てることができない。その結果、「0.0.0.0」が第2コントローラ102のIPアドレスとして示される。
【0030】
第3コントローラ103には、IPアドレスとして「192.168.70.2」が割り当てられる。第4コントローラ104には、IPアドレスとして「192.168.250.1」が割り当てられる。ただし、このIPアドレスは誤って設定されたものであって、正しくは、IPアドレスとしてたとえば「192.168.250.2」が割り当てられべきである。
【0031】
コンピュータ200には、IPアドレスとして「192.168.70.1」が割り当てられる。本実施の形態において第1コントローラ101、第3コントローラ103、第4コントローラ104およびコンピュータ200に割り当てられるIPアドレスは、たとえば製造ラインなどを設計または管理するユーザによって選択された固定のIPアドレスである。これらのIPアドレスは一例であって、割り当てられるIPアドレスはこれらに限定されない。
【0032】
第1コントローラ101、第2コントローラ102、第3コントローラ103、第4コントローラ104およびコンピュータ200は、夫々、IPアドレスとは別のリンクローカルアドレスを自動的に設定する。リンクローカルアドレスは、エイリアスとして用いられ得る。このように、複数のアドレスが割当てられる機能のことをIPエイリアスと呼ぶ。このIPエイリアスの機能はイーサネット利用技術の1つとして知られている。
【0033】
一例として、第1コントローラ101は、自己のリンクローカルアドレスに「169.254.30.1」を設定する。第2コントローラ102は、自己のリンクローカルアドレスに「169.254.78.35」を設定する。第3コントローラ103は、自己のリンクローカルアドレスに「169.254.60.57」を設定する。第4コントローラ104は、自己のリンクローカルアドレスに「169.254.78.12」を設定する。コンピュータ200は、自己のリンクローカルアドレスに「169.254.30.3」を設定する。これらのリンクローカルアドレスは一例であって、リンクローカルアドレスはこれらに限定されない。
【0034】
第1コントローラ101、第2コントローラ102、第3コントローラ103、第4コントローラ104およびコンピュータ200は、他の機器において設定されたリンクローカルアドレスとは異なるリンクローカルアドレスを設定する。すなわち、第1コントローラ101、第2コントローラ102、第3コントローラ103、第4コントローラ104およびコンピュータ200の夫々には、異なるリンクローカルアドレスが設定される。
【0035】
図2を参照して、第1コントローラ101、第2コントローラ102、第3コントローラ103、第4コントローラ104およびコンピュータ200の機能について説明する。図2においては、第1コントローラ101、第2コントローラ102、第3コントローラ103および第4コントローラ104のうち、第1コントローラ101のみを示す。第2コントローラ102、第3コントローラ103および第4コントローラ104の機能は、第1コントローラ101の機能と同じ、もしくは略同じであるため、ここではその詳細な説明は繰り返さない。
【0036】
第1コントローラ101(第2コントローラ102、第3コントローラ103および第4コントローラ104)は、アドレス設定機能111、接続機能121および送信機能131を含む。アドレス設定機能111は、上述したリンクローカルアドレスを設定する。接続機能121は、ネットワーク300との接続(通信)を処理する。
【0037】
送信機能131は、第1コントローラ101の情報141を、ネットワーク300を介して送信する。これらの機能は、たとえば第1コントローラ101にインストールされるプログラムをCPU(Central Processing Unit)が実行することによって実現される。
【0038】
図3に、第1コントローラ101の情報141の一例を示す。第1コントローラ101の情報141は、リンクローカルアドレス、IPアドレス、MAC(Media Access Control)アドレス、名称などの付加情報、型式およびユニットバージョンなどを含む。これらの情報は一例であって、第1コントローラ101の情報141はこれらに限定されない。
【0039】
図2に戻って、コンピュータ200は、アドレス設定機能210、接続機能220、要求機能230および受信機能240を含む。アドレス設定機能210は、上述したリンクローカルアドレスを設定する。接続機能220は、ネットワーク300との接続(通信)を処理する。
【0040】
要求機能230は、第1コントローラ101、第2コントローラ102、第3コントローラ103および第4コントローラ104に各々のIPアドレスを含む情報をコンピュータ200のリンクローカルアドレスに対して送信するように要求する。第1コントローラ101、第2コントローラ102、第3コントローラ103および第4コントローラ104に各々のIPアドレスを含む情報の要求がブロードキャスト送信される。第1コントローラ101、第2コントローラ102、第3コントローラ103および第4コントローラ104は、要求を受信すると、各々の情報を、コンピュータ200のリンクローカルアドレスを宛先として送信する。
【0041】
受信機能240は、第1コントローラ101、第2コントローラ102、第3コントローラ103および第4コントローラ104から送信される、各々の情報を受信する。これらの機能は、たとえばコンピュータ200にインストールされるプログラムであるエンジニアリングツールをCPUが実行することによって実現される。
【0042】
第1コントローラ101、第2コントローラ102、第3コントローラ103または第4コントローラ104が、コンピュータ200の要求機能230および受信機能240を有するようにしてもよい。
【0043】
コンピュータ200は、各プログラマブルロジックコントローラから受信した情報から、ネットワーク構成情報250を作成する。図4に、ネットワーク構成情報250の一例を示す。ネットワーク構成情報250は、各プログラマブルロジックコントローラから受信した情報を統合することによって作成される。ネットワーク構成情報250は、コンピュータ200自身の情報(IPアドレスおよびリンクローカルアドレスなど)を含んでもよい。
【0044】
図5を参照して、第1コントローラ101、第2コントローラ102、第3コントローラ103、第4コントローラ104およびコンピュータ200のハードウェア構成について説明する。
【0045】
図5においては、第1コントローラ101、第2コントローラ102、第3コントローラ103および第4コントローラ104のうち、第1コントローラ101のみを示す。第2コントローラ102、第3コントローラ103および第4コントローラ104のハードウェア構成は、第1コントローラ101のハードウェア構成と同じ、もしくは略同じであるため、ここではその詳細な説明は繰り返さない。
【0046】
第1コントローラ101(第2コントローラ102、第3コントローラ103および第4コントローラ104)は、演算装置151、不揮発性記憶装置161、揮発性記憶装置171および通信装置181を含む。
【0047】
演算装置151は、たとえばCPUである。演算装置151は、オペレーティングシステム(OS)を含む、種々のソフトウェア(プログラム)を実行する。不揮発性記憶装置161は、たとえばROM(Read Only Memory)またはHDD(Hard disk drive)である。不揮発性記憶装置161は、演算装置151が実行するソフトウェアの実行モジュールを格納する。
【0048】
揮発性記憶装置171は、たとえばRAM(Random Access Memory)である。揮発性記憶装置171は、たとえば各々のソフトウェアが必要とするワーク領域などを保持するために用いられる。
【0049】
通信装置181は、ネットワーク300を介した通信を制御するために用いられる。通信装置181は、第1コントローラ101の外部の装置であってもよい。
【0050】
コンピュータ200は、演算装置260、不揮発性記憶装置270、揮発性記憶装置280、通信装置290および表示装置292を含む。演算装置260、不揮発性記憶装置270、揮発性記憶装置280および通信装置290は、それぞれ、演算装置151、不揮発性記憶装置161、揮発性記憶装置171および通信装置181と同じ、もしくは略同じである。したがって、ここではその詳細な説明は繰り返さない。
【0051】
表示装置292は、たとえば前述のネットワーク構成情報250などの種々の情報を表示する。表示装置292には一般的なモニターなどが用いられる。
【0052】
図6を参照して、第1コントローラ101、第2コントローラ102、第3コントローラ103、第4コントローラ104およびコンピュータ200が、リンクローカルアドレスを設定するときに実行するプログラムの制御構造について説明する。以下に説明するプログラムは、第1コントローラ101、第2コントローラ102、第3コントローラ103、第4コントローラ104およびコンピュータ200の各々において実行される。このプログラムは、たとえば、LAN(Local Area Network)ケーブルなどの通信ケーブルが、第1コントローラ101、第2コントローラ102、第3コントローラ103、第4コントローラ104またはコンピュータ200のポートに挿入されたときに実行される。
【0053】
ステップ(以下、ステップをSと略す)100にて、MACアドレスに基づいて、リンクローカルアドレスが生成される。周知の通り、MACアドレスは、各々の機器に取り付けられたイーサネットカードに固有のID番号である。MACアドレスは、製造者ごとに定められた固有の番号と、製造者が独自に割り当てることができる任意の番号との組み合わせによって表される。したがって、一例として、リンクローカルアドレスは、MACアドレスにおける製造者の固有の番号と、MACアドレスと重複しない範囲で無作為に定められる任意の番号との組み合わせとして生成される。リンクローカルアドレスの作成方法はこれに限定されない。
【0054】
リンクローカルアドレスが生成された後、S102にて、生成されたリンクローカルアドレスと同じリンクローカルアドレスがネットワーク300上に存在するか否かを確認するため、生成されたリンクローカルアドレスが宛先としてセットされたアドレス解決プロトコル(ARP)リクエストがブロードキャストで送信される。
【0055】
ARPリクエストに対して応答がある場合、すなわち生成されたリンクローカルアドレスと同じリンクローカルアドレスを有する機器がネットワーク300上に存在する場合(S104にてYES)、リンクローカルアドレスが再度作成される(S100)。
【0056】
ARPリクエストに対して応答がない場合、すなわち生成されたリンクローカルアドレスと同じリンクローカルアドレスを有する機器がネットワーク300上に存在しない場合(S104にてNO)、作成されたリンクローカルアドレスが自己のリンクローカルアドレスとして確定される(S106)。その後、S108にて、確定されたリンクローカルアドレスが、エイリアスとして登録される。
【0057】
図7を参照して、コンピュータ200が、前述した図4に示されるネットワーク構成情報250を作成するために実行するプログラムの制御構造について説明する。本実施の形態において、以下に説明するプログラムは、コンピュータ200によって実行される。
【0058】
S200にて、第1コントローラ101、第2コントローラ102、第3コントローラ103および第4コントローラ104に各々のIPアドレスを含む情報の要求が、コンピュータ200からブロードキャスト送信される。
【0059】
その後、S202にて、各プログラマブルロジックコントローラから受信した情報から、ネットワーク構成情報250が作成される。
【0060】
図8を参照して、第1コントローラ101、第2コントローラ102、第3コントローラ103または第4コントローラ104が、各々の情報を送信するために実行するプログラムの制御構造について説明する。
【0061】
S300にて、プログラマブルロジックコントローラの、IPアドレスを含む情報を要求する要求を受信したか否かが判断される。要求を受信すると(S300にてYES)、S302にて、コンピュータ200のリンクローカルアドレスに向けて、プログラマブルロジックコントローラの情報を送信する。
【0062】
図9および図10を参照して、コンピュータ200が、第1コントローラ101、第2コントローラ102、第3コントローラ103または第4コントローラ104と通信するために実行するプログラムの制御構造について説明する。本実施の形態において、以下に説明するプログラムは、コンピュータ200によって実行される。
【0063】
S400にて、前述した図4に示されるネットワーク構成情報250が作成される。S402にて、ネットワーク構成情報250に基づいて、図11に示すノード一覧情報が表示装置292に表示される。ノード一覧表は、各プログラマブルロジックコントローラのIPアドレスなどを含む。図11に示すノード一覧情報は一例であって、これに限定されない。ノード一覧情報は、コンピュータ200自身の情報(IPアドレスおよびMACアドレスなど)を含んでもよい。
【0064】
ユーザは、コンピュータ200を操作して、ノード一覧情報に示される機器(プログラマブルロジックコントローラ)の中から接続(通信)先を選択する。
【0065】
図9に戻って、S404にて、接続先として選択されたプログラマブルロジックコントローラのIPアドレスと同じIPアドレスを他のプログラマブルロジックコントローラが有するかを判断する。接続先として選択されたプログラマブルロジックコントローラのIPアドレスと同じIPアドレスを他のプログラマブルロジックコントローラが有していなければ(S404にてNO)、S406にて、接続先として選択されたプログラマブルロジックコントローラとコンピュータ200との間の接続(通信)が確立される。
【0066】
接続先として選択されたプログラマブルロジックコントローラのIPアドレスと同じIPアドレスを他のプログラマブルロジックコントローラが有していれば(S404にてYES)、S408にて、IPアドレスが重複していることがユーザに通知される。たとえば、IPアドレスが重複していることを示す警告が表示装置292に表示される。
【0067】
接続(通信)がキャンセルされると(S410にてキャンセル)、接続(通信)が確立されることなく処理が終了する。
【0068】
リンクローカルアドレスを用いて接続(通信)するメンテナンスモードが選択されると(S410にてメンテナンスモード)、S412にて、リンクローカルアドレスを用いて、接続(通信)先として選択されたプログラマブルロジックコントローラとコンピュータ200との間で接続(通信)が確立される。
【0069】
たとえば、コンピュータ200上で、接続(通信)先として選択されたプログラマブルロジックコントローラのIPアドレスが変更されると(S410にて変更)、S414にて、リンクローカルアドレスを用いて、接続先として選択されたプログラマブルロジックコントローラとコンピュータ200との間で接続が確立される。
【0070】
その後、S416にて、接続先として選択されたプログラマブルロジックコントローラに、変更されたIPアドレスが登録される。IPアドレスが再登録された後、S418にて、IPアドレスを用いて、接続先として選択されたプログラマブルロジックコントローラとコンピュータ200との間で接続(通信)が確立される。
【0071】
以上のように、ユーザによって割り当てられるIPアドレスとは別に、リンクローカルアドレスが設定される。よって、IPアドレスが重複していても、リンクローカルアドレスを用いて通信できる。さらに、複数のプログラマブルロジックコントローラは、設定されたリンクローカルアドレスに対して各々のIPアドレスを含む情報を送信するように要求される。したがって、同じIPアドレスが誤って重複して設定されていても、リンクローカルアドレスを用いることによって、複数のプログラマブルロジックコントローラから各々のIPアドレスを受信できる。IPアドレス同士を比較することによって、各機器に対して割り当てられたIPアドレスを検証できる。よって、IPアドレスが重複している場合には、誤りを訂正することができる。その結果、適切に修正されたIPアドレスを用いて通信できる。プログラマブルロジックコントローラに対してIPアドレスが設定されていない場合も同様に、リンクローカルアドレスを用いて通信できる。
【0072】
また、IPアドレスに加えてリンクローカルアドレスが設定されるため、IPアドレスを維持したまま、リンクローカルアドレスを用いて通信が可能である。したがって、ユーザによって割り当てられたIPアドレスがプログラマブルロジックコントローラまたはコンピュータによって変更されることを回避できる。そのため、ユーザによるIPアドレスの管理が妨げられない。
【0073】
以下、図12に示すように、1台のコンピュータ200と、1台のプログラマブルロジックコントローラ105とがイーサネットを利用してハブを介さずに接続された実施例について説明する。なお、この実施例においては、プログラマブルロジックコントローラ105の代わりにプログラマブル表示器をコンピュータ200にハブを介さずに接続してもよい。
【0074】
図13を参照して、1台のコンピュータ200と、1台のプログラマブルロジックコントローラ105とがイーサネットを利用して、ハブを介さずに接続された場合に、コンピュータ200がプログラマブルロジックコントローラ105と通信するために実行するプログラムの制御構造について説明する。
【0075】
S500にて、ネットワーク構成情報250が作成される。S502にて、ネットワーク構成情報250に基づいて、コンピュータ200にイーサネットを利用して接続された機器が一台であるか否かが判定される。コンピュータ200にイーサネットを利用して接続された機器が一台であると(S502にてYES)、S504にて、コンピュータ200に接続されたプログラマブルロジックコントローラ105のリンクローカルアドレスを用いて通信が確立される。
【0076】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0077】
10 制御システム、101 第1コントローラ、102 第2コントローラ、103 第3コントローラ、104 第4コントローラ、105 プログラマブルロジックコントローラ、111 アドレス設定機能、121 接続機能、131 送信機能、151 演算装置、161 不揮発性記憶装置、171 揮発性記憶装置、181 通信装置、200 コンピュータ、210 アドレス設定機能、220 接続機能、230 要求機能、240 受信機能、260 演算装置、270 不揮発性記憶装置、280 揮発性記憶装置、290 通信装置、292 表示装置、300 ネットワーク、302 ハブ。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13