JP2019159631A - 制御システム、コントローラ、および制御方法 - Google Patents

制御システム、コントローラ、および制御方法 Download PDF

Info

Publication number
JP2019159631A
JP2019159631A JP2018043839A JP2018043839A JP2019159631A JP 2019159631 A JP2019159631 A JP 2019159631A JP 2018043839 A JP2018043839 A JP 2018043839A JP 2018043839 A JP2018043839 A JP 2018043839A JP 2019159631 A JP2019159631 A JP 2019159631A
Authority
JP
Japan
Prior art keywords
controller
address
network
controllers
control program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018043839A
Other languages
English (en)
Other versions
JP6954190B2 (ja
Inventor
陽一 黒川
Yoichi Kurokawa
陽一 黒川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2018043839A priority Critical patent/JP6954190B2/ja
Priority to EP19767451.8A priority patent/EP3767410B1/en
Priority to CN201980004100.2A priority patent/CN111052009B/zh
Priority to PCT/JP2019/002733 priority patent/WO2019176335A1/ja
Priority to US16/643,843 priority patent/US11165745B2/en
Publication of JP2019159631A publication Critical patent/JP2019159631A/ja
Application granted granted Critical
Publication of JP6954190B2 publication Critical patent/JP6954190B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/04Program control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y40/00IoT characterised by the purpose of the information processing
    • G16Y40/30Control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5038Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5046Resolving address allocation conflicts; Testing of addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】コントローラ間で同一の制御プログラムを利用する場合であっても通信可能な状態にできる技術を提供する。
【解決手段】コントローラは、IPアドレスと識別子との対応関係を含むネットワーク設定と、駆動機器を制御する制御プログラムを格納する記憶装置を備える。制御プログラムは、上記識別子を入力として駆動機器を制御する制御命令を含む。コントローラは、同一のネットワーク上の他のコントローラのIPアドレスとは異なるようにIPアドレスを生成し、ネットワーク設定のIPアドレスを書き換える生成モジュールと、ネットワーク設定のIPアドレスに従って同一ネットワーク上の情報処理装置と通信する通信モジュールとを備える。
【選択図】図1

Description

本開示は、IP(Internet Protocol)アドレスを制御装置に自動設定するための技術に関する。
様々な生産現場において、PLC(Programmable Logic Controller)やロボットコントローラなどの産業用の制御装置(以下、「コントローラ」ともいう。)が導入されている。コントローラが種々の産業用の駆動機器を制御することで、生産工程が自動化される。
複数のコントローラが同一のネットワークに接続されることがある。これらのコントローラは、上位の情報処理装置と通信可能に構成されている。上位の情報処理装置は、各コントローラと通信することで、各コントローラが制御する駆動機器の情報や各コントローラの情報を収集することができる。情報処理装置が各コントローラと通信するためには、各コントローラに対してネットワーク設定(たとえば、IPアドレスなど)を行う必要がある。
コントローラのネットワーク設定に関する文献として、たとえば、特開2013−242629号公報(特許文献1)と、特開2008−152799号公報(特許文献2)と、特開2017−151934号公報(特許文献3)と、特開2002−328706号公報(特許文献4)とがある。
特開2013−242629号公報 特開2008−152799号公報 特開2017−151934号公報 特開2002−328706号公報
生産現場における設備を拡大するときに、現在の設備と同じ設備を複製したいというケースがある。この場合、コントローラにダウンロードされている駆動機器の制御プログラムが他のコントローラでも利用される。
制御プログラムがコントローラのIPアドレスに依存して駆動機器を制御する場合、制御プログラムが複製されると、IPアドレスが重複してしまい、制御プログラムは、正常に動作しない。また、ネットワーク設定が重複してしまい、上位の情報処理装置は、各コントローラと通信できなくなる。これらの問題を解決するためには、ネットワーク設定や制御プログラムの記述を手動で変更する必要がある。しかしながら、このような変更は、設備の規模が大きくなるほど手間となる。
本開示は上述のような問題点を解決するためになされたものであって、ある局面における目的は、コントローラ間で同一の制御プログラムを利用する場合であっても通信可能な状態にできる技術を提供することである。
本開示の一例では、制御システムは、それぞれが制御対象の駆動機器を制御するための複数のコントローラと、上記複数のコントローラと同一のネットワークに接続される情報処理装置とを備える。上記複数のコントローラのそれぞれは、自コントローラのIP(Internet Protocol)アドレスと当該IPアドレスに代わる識別子との対応関係を含むネットワーク設定と、制御対象の駆動機器を制御するための制御プログラムとを格納する記憶装置を備える。上記制御プログラムは、自コントローラの上記ネットワーク設定に示される上記識別子を入力として制御対象の駆動機器を制御する制御命令を含む。上記複数のコントローラのそれぞれは、さらに、他のコントローラのIPアドレスとは異なるように自コントローラのIPアドレスを生成し、当該生成したIPアドレスで、当該自コントローラの上記ネットワーク設定に示されるIPアドレスを書き換えるための生成モジュールと、自コントローラの上記ネットワーク設定に示されるIPアドレスに従って上記情報処理装置と通信するための通信モジュールとを備える。
この開示によれば、制御システムは、コントローラ間で同一の制御プログラムを利用する場合であっても情報処理装置と各コントローラとを通信可能な状態にできる。
本開示の一例では、上記生成モジュールは、自コントローラを一意に識別可能な識別情報に基づいて、当該自コントローラのIPアドレスを生成する。
この開示によれば、コントローラは、他のコントローラのIPアドレスとは重複しないIPアドレスを確実に生成することができる。
本開示の一例では、上記複数のコントローラのそれぞれは、外部記憶媒体に接続可能に構成されている。上記外部記憶媒体は、IPアドレスに関する設定値を格納している。上記生成モジュールは、上記外部記憶媒体に格納されている上記設定値を読み取り、当該設定値に従って自コントローラのIPアドレスを生成する。
この開示によれば、ユーザは、外部記憶媒体に格納されている設定値を書き換えるだけでコントローラのIPアドレスを変えることができる。
本開示の一例では、上記生成モジュールは、生成したIPアドレスが上記他のコントローラで既に使用されているか否かを当該他のコントローラに問い合わせ、当該問い合わせに応答する他のコントローラが存在しない場合、当該生成したIPアドレスで自コントローラの上記ネットワーク設定に示されるIPアドレスを書き換える。
この開示によれば、コントローラは、他のコントローラのIPアドレスとは重複しないIPアドレスを確実に生成することができる。
本開示の一例では、上記生成モジュールは、上記問い合わせに応答する他のコントローラが存在する場合、先に生成したIPアドレスとは異なるIPアドレスを再生成する。
この開示によれば、コントローラは、自コントローラのIPアドレスが他のコントローラのIPアドレスと重複することを回避することができる。
本開示の一例では、上記生成モジュールは、上記他のコントローラのIPアドレスが自コントローラに既に設定されているか否かを当該他のコントローラから問い合わされた場合、当該IPアドレスとは重複しないように自コントローラのIPアドレスを生成する。
この開示によれば、コントローラは、ランダムにIPアドレスを生成するよりも確実に一意のIPアドレスを生成することができる。
本開示の一例では、自コントローラに格納される制御プログラムは、他のコントローラに格納される制御プログラムを複製したものである。
この開示によれば、他のコントローラにおける制御プログラムが自コントローラにおける制御プログラムを複製した場合であっても、制御システムは、情報処理装置と各コントローラとを通信可能な状態にできる。
本開示の他の例では、駆動機器を制御するためのコントローラは、上記コントローラのIPアドレスと当該IPアドレスに代わる識別子との対応関係を含むネットワーク設定と、上記駆動機器を制御するための制御プログラムを格納する記憶装置を備える。上記制御プログラムは、上記ネットワーク設定に示される上記識別子を入力として上記駆動機器を制御する制御命令を含む。上記コントローラは、さらに、上記コントローラと同一のネットワークに接続される他のコントローラのIPアドレスとは異なるように上記コントローラのIPアドレスを生成し、当該生成したIPアドレスで、上記ネットワーク設定に示されるIPアドレスを書き換えるための生成モジュールと、上記ネットワーク設定に示されるIPアドレスに従って上記コントローラと同一のネットワークに接続される情報処理装置と通信するための通信モジュールとを備える。
この開示によれば、制御システムは、コントローラ間で同一の制御プログラムを利用する場合であっても情報処理装置と各コントローラとを通信可能な状態にできる。
本開示の他の例では、駆動機器を制御するためのコントローラの制御方法は、上記コントローラのIPアドレスと、当該IPアドレスに代わる識別子との対応関係を含むネットワーク設定と、上記駆動機器を制御するための制御プログラムを上記コントローラの記憶装置から取得するステップを備える。上記制御プログラムは、上記ネットワーク設定に示される上記識別子を入力として上記駆動機器を制御する制御命令を含む。上記制御方法は、さらに、上記コントローラと同一のネットワークに接続される他のコントローラのIPアドレスとは異なるように上記コントローラのIPアドレスを生成し、当該生成したIPアドレスで、上記ネットワーク設定に示されるIPアドレスを書き換えるステップと、上記ネットワーク設定に示されるIPアドレスに従って上記コントローラと同一のネットワークに接続される情報処理装置と通信するステップとを備える。
この開示によれば、制御システムは、コントローラ間で同一の制御プログラムを利用する場合であっても情報処理装置と各コントローラとを通信可能な状態にできる。
実施の形態に従う制御システムの概略を示す図である。 実施の形態に従う制御システムのシステム構成を示す図である。 IPアドレスの自動生成機能を有するファンクションブロックを示す図である。 各コントローラが自身のIPアドレスを生成する過程を示す図である。 図3に示されるファンクションブロックを組み込んだ制御プログラムの例を示す図である。 IPアドレスの設定モードを設定するための画面の一例を示す図である。 コントローラのIPアドレスに依存するファンクションブロックを示す図である。 通知方式によるIPアドレスの収集機能の流れを示すシーケンス図である。 IPアドレスの管理テーブルの一例を示す図である。 ポーリング方式によるIPアドレスの収集機能の流れを示すシーケンス図である。 図3に示されるファンクションブロックの変形例を示す図である。 図9に示される管理テーブルの変形例を示す図である。 実施の形態に従うコントローラのハードウェア構成例を示すブロック図である。 実施の形態に従う情報処理装置のハードウェア構成を示す模式図である。
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。
<A.適用例>
図1を参照して、本発明の適用例について説明する。図1は、制御システム1の概略を示す図である。
制御システム1は、設備および装置などの制御対象を制御し、生産工程を自動化するためのFA(Factory Automation)システムである。制御システム1は、複数のコントローラと、1または複数の情報処理装置200と、複数の駆動機器とを含む。図1には、複数のコントローラの例として、2つのコントローラ100A,100Bが示されている。また、複数の駆動機器の例として、2つの駆動機器300が示されている。
コントローラ100A、100Bは、それぞれ、記憶装置105と、生成モジュール152と、通信モジュール154とを含む。以下では、複数のコントローラ(たとえば、コントローラ100A、100B)を総称してコントローラ100ともいう。
コントローラ100は、複数のネットワークに接続され得る。図1の例では、コントローラ100は、ネットワークN1とネットワークN2とに接続されている。
ネットワークN1には、たとえば、EtherNET(登録商標)が採用される。但し、ネットワークN1は、EtherNETに限定されず、任意の通信手段が採用され得る。図1の例では、ネットワークN1に情報処理装置200が接続されている。情報処理装置200は、たとえば、PC(Personal Computer)、タブレット端末、スマートフォン、表示器(たとえば、HMI(Human Machine Interface))などを含む。
ネットワークN2は、ネットワークN1よりも下位のネットワークである。ネットワークN2には、たとえば、EtherNet/IP(登録商標)などが採用される。図1の例では、ネットワークN2に駆動機器300が接続されている。駆動機器300は、生産工程を自動化するための種々の産業用機器を含む。一例として、駆動機器300は、アームロボットや、アームロボットを制御するためのロボットコントローラや、生産工程を搬送されるワークを撮影するための画像センサや、生産工程で利用されるその他の機器などを含む。
記憶装置105は、コントローラ100のネットワーク設定108と、駆動機器300を制御するための制御プログラム110とを格納する。
ネットワーク設定108は、コントローラ100のIPアドレスと、当該IPアドレスに代わる識別子との対応関係を含む。当該識別子は、制御プログラム110で規定されているプログラム変数であってもよいし、コントローラ100で管理されるシステム変数であってもよいし、各変数の記憶場所を示す物理アドレスであってもよい。
制御プログラム110は、駆動機器300に応じて設計者によって実装されたユーザプログラムである。制御プログラム110の開発ツールは、たとえば、PCとしての情報処理装置200にインストールされている。設計者は、予め規定されている複数種類の命令を開発ツール上で任意に組み合わせることで、駆動機器300の構成に合わせた制御プログラム110を設計することができる。開発ツール上でコンパイルされた制御プログラム110は、コントローラ100にインストールされる。
典型的には、コントローラ100Aの制御プログラム110は、コントローラ100Bの制御プログラム110を複製したものである。本実施の形態に従う制御システム1は、制御プログラムが複製された場合でも、制御プログラムの記述やIPアドレスに関する設定を変更することなしにコントローラ100が動作するような環境を提供する。
より具体的には、制御プログラム110は、コントローラ100のネットワーク設定108に示される識別子を入力として制御対象の駆動機器300を制御する制御命令を含む。当該識別子は、コントローラ100A,100B間で共通している。上述したように、当該識別子は、コントローラの100A,100BのIPアドレスに代わるものである。当該識別子は、コントローラの100A,100BのIPアドレスには連動しない固定値である。このような識別子を入力としてIPアドレスが解釈されることで、IPアドレスが変わった場合でも、ユーザは、制御プログラム110を書き換える必要がなくなる。
生成モジュール152は、他のコントローラのIPアドレスとは異なるように自コントローラのIPアドレスを生成する。すなわち、生成モジュール152は、コントローラ100A,100B間でIPアドレスが重複しないように自コントローラのIPアドレスを生成する。重複しないようにIPアドレスを生成する方法の詳細については後述する。生成モジュール152は、自コントローラのネットワーク設定108に示されるIPアドレスを、生成したIPアドレスで書き換える。
通信モジュール154は、自コントローラのネットワーク設定108に示されるIPアドレスに従って情報処理装置200と通信する。ネットワーク設定108に示されるIPアドレスは、他のコントローラと重複しないように決定されたものであるので、情報処理装置200は、コントローラ100A,100Bと通信することができる。
以上のように、制御プログラム110に含まれる、IPアドレスに依存する制御命令は、IPアドレスに代わる識別子に従って制御対象の駆動機器300を制御する。そのため、IPアドレスが変わった場合であっても、制御プログラム110の記述を変える必要がない。その結果、現在使用されている制御プログラムを他のコントローラに流用することが可能になる。
また、コントローラ100A,100Bは、それぞれ、他のコントローラと重複しないようにIPアドレスを生成する機能を有する。そのため、ネットワークN1に接続されるコントローラが増えた場合であっても、情報処理装置200は、各コントローラと通信を継続することができる。その結果、あるコントローラにおける制御プログラムを同一のネットワークに接続される他のコントローラで利用する場合であっても通信可能な状態にできる。これにより、現在の設備を複製する場合に、IPアドレスに関する設定や制御プログラムの記述を手動で変更する必要が無くなる。このような利点は、設備の規模が大きくなるほど顕著となる。
<B.制御システム1の装置構成>
次に、本実施の形態に従う制御システム1の全体構成について説明する。図2は、本実施の形態に従う制御システム1のシステム構成を示す図である。
図2に示されるように、制御システム1は、複数のコントローラ100と、1または複数の情報処理装置200と、複数の駆動機器300とを含む。
コントローラ100は、複数のネットワークに接続され得る。図2の例では、コントローラ100は、上位のネットワークN1と、下位のネットワークN2に接続されている。
上位のネットワークN1には、情報処理装置200が接続されている。情報処理装置200は、ネットワークN1に接続され得る通信機器である。図2に示されるように、情報処理装置200は、1または複数のサポート装置200Aと、1または複数のサーバ装置200Bと、1または複数の表示器200Cとの少なくとも1つで構成される。
サポート装置200Aは、制御プログラム110を設計するための開発環境を設計者に提供する。サポート装置200Aは、たとえば、ノート型PC、デスクトップ型PC、タブレット端末、または、スマートフォンなどである。設計者は、サポート装置200A上で制御プログラム110を設計し、当該制御プログラム110をネットワークN1を介してコントローラ100にダウンロードすることができる。
サーバ装置200Bは、データベースシステム、製造実行システム(MES:Manufacturing Execution System)などが想定される。製造実行システムは、制御対象の製造装置や設備からの情報を取得して、生産全体を監視および管理するものであり、オーダ情報、品質情報、出荷情報などを扱うこともできる。これらに限らず、情報系サービス(制御対象から各種情報を取得して、マクロ的またはミクロ的な分析などを行う処理)を提供する装置をネットワークN1に接続するようにしてもよい。また、サーバ装置200Bは、コントローラ100や駆動機器300の動作状態に関するデータをコントローラ100から収集し、当該収集したデータをデーターベースに書き込む。
表示器200Cは、ユーザからの操作を受けて、コントローラ100に対してユーザ操作に応じたコマンドなどを出力する。表示器200Cは、コントローラ100での演算結果などをグラフィカルに表示する。
下位のネットワークN2には、駆動機器300が接続されている。駆動機器300は、直接的または間接的にワークWに対して所定の作業を行うための機器の集合である。図2には、駆動機器300の一例であるアームロボット325が示されている。コントローラ100Aおよびアームロボット325の設備と、コントローラ100Bおよびアームロボット325の設備とは、同じである。
コントローラ100は、複数の物理的な通信ポートを有する。それぞれの通信ポートに異なるネットワークが接続され得る。図2の例では、コントローラ100は、2つの通信ポートP1,P2を有する。ネットワークN1は、ハブ150で分離されており、コントローラ100A,100Bの各々の通信ポートP1に接続されている。通信ポートP2には、ネットワークN2が接続されている。ネットワークN2には、データの到達時間が保証される、定周期通信を行うフィールドネットワークを採用することが好ましい。このような定周期通信を行うフィールドネットワークとしては、EtherCAT、CompoNetなどが知られている。コントローラ100は、制御プログラム110(図1参照)に従ってアームロボット325に対する制御指令を定周期ごとに生成し、当該制御指令をアームロボット325に送信する。
<C.IPアドレスの自動生成機能>
上述のように、コントローラ100の各々は、他のコントローラと重複しないように自身のIPアドレスを生成する。このようなIPアドレスの生成機能には、様々な方法が採用され得る。以下では、IPアドレスの自動生成機能の具体例について説明する。
(C1.IPアドレスの自動生成機能の具体例1)
まず、図3を参照して、IPアドレスの自動生成機能の具体例1について説明する。本具体例では、IPアドレスの自動生成機能がファンクションブロックで提供される。このようなファンクションブロックが上述の制御プログラム110(図1参照)に組み込まれることで、ユーザは、IPアドレスを設定する必要が無くなる。図3は、IPアドレスの自動生成機能を有するファンクションブロックFB0を示す図である。ファンクションブロックFB0は、上述の生成モジュール152(図1参照)の一例である。
以下では、IPアドレスの自動生成機能がファンクションブロックで規定されている前提で説明を行うが、IPアドレスの自動生成機能は、他のプログラム言語で規定されてもよい。一例として、IPアドレスの自動生成機能は、ラダーダイアグラム(LD:Ladder Diagram)で規定されてもよいし、命令リスト(IL:Instruction List)、構造化テキスト(ST:Structured Text)、および、シーケンシャルファンクションチャート(SFC:Sequential Function Chart)のいずれか、あるいは、これらの組み合わせで規定されてもよい。また、JavaScript(登録商標)やC言語のような汎用的なプログラミング言語で規定されていてもよい。
図3に示されるように、ファンクションブロックFB0は、IPアドレスの自動生成機能に関する設定を受け付ける入力部155A,155Bと、IPアドレスの自動生成機能の実行結果を出力するための出力部157A〜157Eとを含む。
「Execute」として示される入力部155Aは、IPアドレスの自動生成機能を実行するか否かを指定するための設定を受け付ける。一例として、入力部155Aは、「True」または「False」の入力を受け付ける。入力部155Aに「False」が入力されている限り、IPアドレスの自動生成機能は、実行されない。一方で、入力部155Aに「True」が入力された場合には、IPアドレスの自動生成機能が実行される。
「Method」として示される入力部155Bは、IPアドレスの自動生成方法の設定を受け付ける。すなわち、ファンクションブロックFB0は、入力部155Bに入力される値に応じてIPアドレスの自動生成機能の方法を切り替える。一例として、入力部155Bは、「1」〜「3」の入力を受け付ける。
入力部155Bに「1」が入力された場合、ファンクションブロックFB0は、メモリカードなどの外部記憶装置に格納されている所定の設定値に基づいて、IPアドレスを生成する。典型的には、外部記憶装置には、設定ファイルが予め書き込まれている。当該設定ファイルには、IPアドレスに関する設定値が規定されている。当該設定値は、IPアドレス自体であってもよいし、コントローラ固有の識別情報(たとえば、MAC(Media Access Control)やシリアルナンバーなど)であってもよい。ファンクションブロックFB0は、「Execute」として示される入力部155Aに「True」が入力されたことに基づいて、当該外部記憶装置に格納されている設定ファイルから設定値を読み込む。次に、ファンクションブロックFB0は、当該設定値に基づいて、コントローラ100のIPアドレスを生成する。このようなIPアドレスの生成方法が提供されることで、ユーザは、既存の制御プログラム110を書き換える必要が無くなる。
入力部155Bに「2」が入力された場合、ファンクションブロックFB0は、自コントローラを一意に識別可能な識別情報に基づいて、当該自コントローラのIPアドレスを生成する。当該識別情報は、たとえば、コントローラ100のMAC(Media Access Control)アドレスである。このような識別情報に基づいてコントローラが生成されることで、コントローラのIPアドレスが一意に決定され得る。
入力部155Bに「3」が入力された場合、ファンクションブロックFB0は、自コントローラを一意に識別可能な識別情報に基づいて、当該自コントローラのIPアドレスを生成する。当該識別情報は、たとえば、コントローラ100のシリアルナンバーである。このような識別情報に基づいてコントローラが生成されることで、コントローラのIPアドレスが一意に決定され得る。
IPアドレスが正常に生成された場合には、正常終了を示す信号が、「Done」として示される出力部157Aから出力される。IPアドレスの生成中には、生成処理中を示す信号が、「Busy」として示される出力部157Bから出力される。IPアドレスが正常に生成されなかった場合には、異常終了を示す信号が、「Error」として示される出力部157Cから出力される。この場合には、さらに、エラーの内容を識別するためのエラーIDが、「ErrorID」として示される出力部157Dから出力される。IPアドレスが正常に生成された場合には、「IPAddress」として示される出力部157Cから、生成されたIPアドレスが出力される。
なお、ファンクションブロックFB0には、入力部155A,155Bおよび出力部157A〜157Eの他にも様々な入力部および出力部が設けられてもよい。
(C2.IPアドレスの自動生成機能の具体例2)
次に、図4を参照して、IPアドレスの自動生成機能の具体例2について説明する。本具体例では、IPアドレスの自動生成機能がファンクションブロックとしては提供されずコントローラ100の基本機能として提供される。当該基本機能は、上述の生成モジュール152(図1参照)の一例である。
図4は、各コントローラが自身のIPアドレスを生成する過程を示す図である。図4には、3つのコントローラ100A〜100Cが示されている。コントローラ100A〜100Cは、ハブ150を介して、同一のネットワークNW1に接続されている。初期状態として、コントローラ100A〜100Cには、IPアドレスが設定されていない状態であるとする。
まず、コントローラ100Aの生成モジュール152が、自コントローラのIPアドレスを生成したとする。コントローラ100A〜100CのIPアドレスが未設定である現段階では、コントローラ100Aは、たとえば、自コントローラを一意に識別可能な識別情報に基づいて、当該自コントローラのIPアドレスを生成する。当該識別情報は、たとえば、MACアドレスおよびシリアルナンバーの少なくとも一方を含む。このような識別情報に基づいてコントローラが生成されることで、コントローラのIPアドレスが一意に生成され得る。図4の例では、コントローラ100AのIPアドレスとして「192.168.250.1」が生成されている。
ステップS1において、コントローラ100Aは、生成したIPアドレスを他のコントローラ100B,100Cにブロードキャストで送信する。生成されたIPアドレスは、たとえば、ARP(Address Resolution Protocol)パケットで送信される。ARPは、IPアドレスからEthernetのMACアドレスの情報を得るための仕組みである。ARPパケットに対する応答があることは、当該ARPパケットに含まれるIPアドレスが既に利用されていることを示す。
この仕組みを利用して、コントローラ100Aの生成モジュール152は、生成したIPアドレスが他のコントローラで既に使用されているか否かを他のコントローラに問い合わせる。すなわち、コントローラ100Aの生成モジュール152は、生成したIPアドレスをARPパケットに書き込み、当該ARPパケットをブロードキャストで他のコントローラ100B,100Cに送信する。
ステップS2において、他のコントローラ100B,100Cは、ARPパケットによる問い合わせをコントローラ100Aから受信したとする。このとき、コントローラ100B,100Cは、ARPパケットに含まれるIPアドレスを記憶しておく。コントローラ100B,100Cは、ARPパケットに含まれるIPアドレスが自身のIPアドレスに一致するか否かを判断する。コントローラ100B,100Cは、ARPパケットに含まれるIPアドレスが自身のIPアドレスに一致すると判断した場合、自身のMACアドレスを送信元のコントローラ100Aに送信する。そうでない場合には、コントローラ100B,100Cは、送信元のコントローラ100Aに対して何も送信しない。
ステップS3において、ARPパケットによる問い合わせに応答する他のコントローラが存在しない場合、コントローラ100Bの生成モジュール152は、生成したIPアドレスで自コントローラのネットワーク設定108(図1参照)を書き換える。これにより、コントローラ100Aは、一意のIPアドレスを確実に生成することができる。
一方で、コントローラ100Aの生成モジュール152は、ARPパケットによる問い合わせに応答する他のコントローラが存在する場合、先に生成したIPアドレスとは異なるIPアドレスを再生成する。これにより、コントローラ100Aは、他のコントローラとIPアドレスが重複することを回避することができる。ARPパケットによる問い合わせに対する応答を得なくなるまで、コントローラ100Aは、IPアドレスの再生成とARPパケットによる問い合わせとを繰り返す。
次に、コントローラ100Bの生成モジュール152は、自コントローラのIPアドレスを生成する。ARPパケットによる問い合わせを他のコントローラ100Aから受信している現段階では、コントローラ100Bの生成モジュール152は、当該問い合わせに含まれるIPアドレスとは重複しないように自コントローラのIPアドレスを生成する。これにより、コントローラ100Bは、ランダムにIPアドレスを生成するよりも確実に一意のIPアドレスを生成することができる。
一例として、コントローラ100Bは、当該IPアドレスに所定値(たとえば、1)を加算し、当該加算結果を自コントローラのIPアドレスとして採用する。図4の例では、コントローラ100BのIPアドレスとして「192.168.250.2」が生成されている。ステップS4において、コントローラ100Bは、生成したIPアドレスをARPパケットに書き込み、当該ARPパケットをブロードキャストで他のコントローラ100A,100Cに送信する。
ステップS5において、他のコントローラ100A,100Cは、ARPパケットによる問い合わせをコントローラ100Bから受信したとする。このとき、コントローラ100A,100Cは、ARPパケットに含まれるIPアドレスを記憶しておく。コントローラ100A,100Cは、ARPパケットに含まれるIPアドレスが自身のIPアドレスに一致するか否かを判断する。コントローラ100A,100Cは、ARPパケットに含まれるIPアドレスが自身のIPアドレスに一致すると判断した場合、自身のMACアドレスを送信元のコントローラ100Bに送信する。そうでない場合には、コントローラ100A,100Cは、送信元のコントローラ100Bに対して何も送信しない。
ステップS6において、ARPパケットによる問い合わせに応答する他のコントローラが存在しない場合、コントローラ100Bの生成モジュール152は、生成したIPアドレスで自コントローラのネットワーク設定108(図1参照)を書き換える。
一方で、コントローラ100Bの生成モジュール152は、ARPパケットによる問い合わせに応答する他のコントローラが存在する場合、先に生成したIPアドレスとは異なるIPアドレスを再生成する。これにより、コントローラ100Bは、他のコントローラとIPアドレスが重複することを回避することができる。ARPパケットによる問い合わせに対する応答を得なくなるまで、コントローラ100Bは、IPアドレスの再生成とARPパケットによる問い合わせとを繰り返す。
次に、コントローラ100Cの生成モジュール152は、自コントローラのIPアドレスを生成する。ARPパケットによる問い合わせを他のコントローラ100A,100Bから受信している現段階では、コントローラ100Cの生成モジュール152は、当該問い合わせに含まれるIPアドレスとは重複しないように自コントローラのIPアドレスを生成する。
一例として、コントローラ100Cは、当該IPアドレスに所定値(たとえば、1)を加算し、当該加算結果を自コントローラのIPアドレスとして採用する。図4の例では、コントローラ100CのIPアドレスとして「192.168.250.3」が生成されている。ステップS7において、コントローラ100Cの生成モジュール152は、生成したIPアドレスをARPパケットに書き込み、当該ARPパケットをブロードキャストで他のコントローラ100A,100Bに送信する。
ステップS8において、他のコントローラ100A,100Bは、ARPパケットによる問い合わせをコントローラ100Cから受信したとする。コントローラ100A,100Bは、ARPパケットに含まれるIPアドレスが自身のIPアドレスに一致するか否かを判断する。コントローラ100A,100Bは、ARPパケットに含まれるIPアドレスが自身のIPアドレスに一致すると判断した場合、自身のMACアドレスを送信元のコントローラ100Cに送信する。そうでない場合には、コントローラ100A,100Bは、送信元のコントローラ100Cに対して何も送信しない。
ステップS9において、ARPパケットによる問い合わせに応答する他のコントローラが存在しない場合、コントローラ100Cの生成モジュール152は、生成したIPアドレスで自コントローラのネットワーク設定108(図1参照)を書き換える。
一方で、コントローラ100Cの生成モジュール152は、ARPパケットによる問い合わせに応答する他のコントローラが存在する場合、先に生成したIPアドレスとは異なるIPアドレスを再生成する。これにより、コントローラ100Aは、他のコントローラとIPアドレスが重複することを回避することができる。ARPパケットによる問い合わせに対する応答を得なくなるまで、コントローラ100Cは、IPアドレスの再生成とARPパケットによる問い合わせとを繰り返す。
以上のようにして、本具体例では、コントローラ100の各々は、生成したIPアドレスが他のコントローラで使用されているか否かをARPパケットによる問い合わせ結果に基づいて判断する。コントローラ100は、ARPパケットによる問い合わせを他のコントローラから一度でも受信した段階では、他のコントローラから受信したARPパケットに含まれるIPアドレスと重複しないようにIPアドレスを生成する。これにより、コントローラ間のIPアドレスの重複が防止される。
好ましくは、ARPパケットが送信される間隔は、コントローラごとにずらされる。各コントローラは、たとえば、乱数を発生させ、当該乱数に基づいて、ARPパケットを送信するタイミングを決定する。このように、ARPパケットを送信するタイミングがコントローラごとにずらされることで、ARPパケットが同時に送信されることが防止される。
<D.プログラム例>
図5を参照して、図3で説明したファンクションブロックFB0の使用例について説明する。図5は、図3に示されるファンクションブロックFB0を組み込んだ制御プログラムの例を示す図である。
図5の例では、制御プログラム110は、ラダープログラムで規定されている。当該制御プログラム110は、コントローラ100のIPアドレスを生成する処理、および、生成されたIPアドレスをコントローラ100に設定する処理などを含む。なお、図5に示される制御プログラム110は、コントローラ100における全処理を示しているわけではなく、一部の処理を示している。
図5の例では、制御プログラム110は、入力要素IN0,IN1と、ファンクションブロックFB0,FB1と、出力要素OUT0,OUT1とを含む。
入力要素IN0,IN1の値は、割付けられている変数に応じて変化する。より具体的には、入力要素IN0には、変数「AutoSetting」が割り当てられている。変数「AutoSetting」は、BOOL型であり、初期値は、「False」(=OFF)である。図5には示されていないが、変数「AutoSetting」の値は、たとえば、IPアドレスの自動設定モードがONに設定されたことに基づいて、「True」(=ON)に変化する。IPアドレスの設定モードの説明については後述する(図6参照)。IPアドレスの自動設定モードがOFFに設定されている場合、変数「AutoSetting」の値は、「False」(=OFF)となる。
入力要素IN1には、変数「ChangeTrigger」が割り当てられている。変数「ChangeTrigger」は、BOOL型であり、初期値は、「False」(=OFF)である。図5には示されていないが、変数「ChangeTrigger」の値は、たとえば、コントローラ100が起動されたことに基づいて、「True」(=ON)に変化する。その他の場合、変数「ChangeTrigger」の値は、「False」(=OFF)となる。
入力要素IN2には、変数「Done0」が割り当てられている。変数「Done0」は、BOOL型であり、初期値は、「False」(=OFF)である。また、変数「Done0」は、ファンクションブロックFB0の出力「Done」に関連付けられている。上述したように、IPアドレスの生成処理が正常に変更された場合には、ファンクションブロックFB0の出力「Done」からは、正常終了を示す信号「True」(=ON)が出力される。ファンクションブロックFB0の出力「Done」が「True」(=ON)となると、入力要素IN2の値は、「True」(=ON)となる。一方で、ファンクションブロックFB0の出力「Done」が「False」(=OFF)となると、入力要素IN2の値は、「False」(=OFF)となる。
ファンクションブロックFB0は、IPアドレスを生成するためのプログラムである。変数「AutoSetting」が「True」(=ON)になり、かつ、変数「ChangeTrigger」が「True」(=ON)になったことに基づいて、有効を示す信号「True」(=ON)がファンクションブロックFB0の入力部「Execute」に入力される。このことに基づいて、ファンクションブロックFB0は、入力部「Method」に入力される変数「Method0」に従ってIPアドレスの生成処理を実行する。IPアドレスの生成処理の詳細については図3で説明した通りであるので、その説明については繰り返さない。
ファンクションブロックFB1は、コントローラ100にIPアドレスを設定するためのプログラムである。変数「Done」が「True」(=ON)になったことに基づいて、有効を示す信号「True」(=ON)がファンクションブロックFB1の入力部「Execute」に入力される。このことに基づいて、ファンクションブロックFB1は、入力部「IPAddress」に入力される変数「IPAddress0」の値に従ってIPアドレスの設定処理を実行する。変数「IPAddress0」は、ファンクションブロックFB0の出力「IPAddress」に関連付けられているので、ファンクションブロックFB0によって生成されたIPアドレスがファンクションブロックFB1によって設定される。より具体的には、ファンクションブロックFB1は、コントローラ100のネットワーク設定108(図1参照)に規定されるIPアドレスや、システム変数で管理されるIPアドレスを、変数「IPAddress0」の値で書き換える。
IPアドレスが正常に設定された場合には、正常終了を示す信号が、ファンクションブロックFB1の出力部「Done」から出力される。IPアドレスの設定中には、設定処理中を示す信号が、ファンクションブロックFB1の出力部「Busy」から出力される。IPアドレスが正常に設定されなかった場合には、異常終了を示す信号が、ファンクションブロックFB1の出力部「Error」から出力される。この場合には、さらに、エラーの内容を識別するためのエラーIDが、ファンクションブロックFB1の出力部「ErrorID」から出力される。
出力要素OUT1には、変数「Done1」が割付けられており、ファンクションブロックFB1の出力部「Done」に関連付けられている。その結果、出力要素OUT1の値は、ファンクションブロックFB1の出力「Done」の値に応じて変化する。
<E.IPアドレスの設定モード>
図6を参照して、IPアドレスの設定モードについて説明する。図6は、IPアドレスの設定モードを設定するための画面の一例を示す図である。
IPアドレスの設定モードは、たとえば、上述のサポート装置200A(図2参照)に表示される設定画面30上で設定され得る。設定画面30は、設定モードの選択を受け付けるラジオボタンR1〜R4と、OKボタン31と、キャンセルボタン32とを含む。IPアドレスの設定モードは、たとえば、第1設定モード〜第4設定モードを含む。
ラジオボタンR1が選択された場合、IPアドレスの設定モードは、第1設定モードに設定される。第1設定モードでは、ユーザは、コントローラ100に設定するIPアドレスと、サブネットマスクと、デフォルトゲートウェイのIPアドレスとを指定することができる。
ラジオボタンR2が選択された場合、IPアドレスの設定モードは、第2設定モードに設定される。第2設定モードにおいては、コントローラ100は、BOOTP(BOOTstrap Protocol)プロトコルに従ってサーバからIPアドレスを取得するように設定される。第2設定モードにおいては、コントローラ100は、起動される度にIPアドレスを動的に設定する。
ラジオボタンR3が選択された場合、IPアドレスの設定モードは、第3設定モードに設定される。第3設定モードにおいては、コントローラ100は、BOOTPプロトコルに従ってサーバからIPアドレスを取得するように設定される。第2設定モードにおいては、コントローラ100は、IPアドレスを静的に設定する。
ラジオボタンR4が選択された場合、IPアドレスの設定モードは、第4設定モードに設定される。第4設定モードにおいては、コントローラ100は、IPアドレスを自動生成し、当該IPアドレスを自身に適用する。IPアドレスの自動生成機能については図3や図4で説明した通りであるので、その説明については繰り返さない。
OKボタン31が押下されると、サポート装置200Aは、選択された設定モードを保存する。サポート装置200Aは、設定モードのダウンロード命令を受け付けたことに基づいて、選択された設定モードを、指定されたコントローラ100に送信する。コントローラ100は、選択された設定モードに従ってIPアドレスを設定する。
キャンセルボタン32が押下されると、サポート装置200Aは、選択された設定モードを保存せずに、設定画面30を閉じる。
<F.IPアドレスの設定に依存する制御命令>
上述のように、制御プログラム110(図1参照)は、自コントローラのIPアドレスに依存する制御命令を含む。以下では、図7を参照して、自コントローラのIPアドレスに依存する制御命令の一例について説明する。図7は、自コントローラのIPアドレスに依存するファンクションブロックFB2を示す図である。
以下では、自コントローラのIPアドレスに依存する制御命令の例として、ファンクションブロックFB2を例に挙げて説明を行うが、当該制御命令は、ファンクションブロックFB2に限定されない。たとえば、当該制御命令は、ラダーダイアグラムで規定されるもの、命令リスト、構造化テキスト、および、シーケンシャルファンクションチャートのいずれか、あるいは、これらの組み合わせで規定されるものも含み得る。また、当該制御命令は、JavaScriptやC言語のような汎用的なプログラミング言語で規定されるものも含み得る。
ファンクションブロックFB2は、指定されたデータを指定された装置に送信するためのプログラムである。ファンクションブロックFB2は、データ送信機能に関する設定を受け付ける入力部158A〜158Dと、データ送信機能の実行結果を出力するための出力部159A〜159Dとを含む。
「Execute」として示される入力部158Aは、データ送信機能を実行するか否かを指定するための設定を受け付ける。一例として、入力部158Aは、「True」または「False」の入力を受け付ける。入力部158Aに「False」が入力されている限り、データ送信機能は、実行されない。一方で、入力部158Aに「True」が入力された場合には、データ送信機能が実行される。
「Soket」として示される入力部158Bは、送信先や送信元に関するネットワーク情報を受け付ける。一例として、当該ネットワーク情報は、送信先の情報処理装置200のIPアドレスや、送信元のコントローラ100のIPアドレスなどを含む。このように、ファンクションブロックFB2は、コントローラ100のIPアドレスに依存する。IPアドレスの代わりとなる上述の識別子(図1参照)が入力部158Bに入力されるネットワーク情報に書き込まれた上で、当該ネットワーク情報が入力部158Bに入力されるように制御プログラム110が設計される。
「SendDat」として示される入力部158Cは、送信対象のデータを入力として受け付ける。「Size」として示される入力部158Dは、送信対象のデータのサイズを入力として受け付ける。
送信対象のデータが正常に送信された場合には、正常終了を示す信号が、「Done」として示される出力部159Aから出力される。送信対象のデータの送信中には、送信処理中を示す信号が、「Busy」として示される出力部159Bから出力される。送信対象のデータが正常に生成されなかった場合には、異常終了を示す信号が、「Error」として示される出力部159Cから出力される。この場合には、さらに、エラーの内容を識別するためのエラーIDが、「ErrorID」として示される出力部159Dから出力される。
<G.IPアドレスの収集機能>
情報処理装置200(図1参照)は、上述の自動生成機能により生成されたIPアドレスを下位の各コントローラから収集する。この収集機能により、ユーザは、各コントローラに設定されたIPアドレスを容易に把握することができる。
IPアドレスの収集方法には、様々な収取方式が採用され得る。一例として、IPアドレスの収集方法には、コントローラ100からの通知方式、および情報処理装置200によるポーリング方式のいずれかが採用される。以下では、図8〜図10を参照して、当該通知方式および当該ポーリング方式について順に説明する。
(G1.通知方式によるIPアドレスの収集機能)
まず、図8を参照して、通知方式によるIPアドレスの収集機能について説明する。図8は、通知方式によるIPアドレスの収集機能の流れを示すシーケンス図である。
本方式におけるデータ収集機能においては、各コントローラは、自動生成したIPアドレスを設定したタイミングで上位の情報処理装置200に自ら送信する。
より具体的には、ステップS10において、コントローラ100が起動されたとする。または、ステップS10において、コントローラ100は、上述のサポート装置200Aなどから各種設定をダウンロードしたとする。当該各種設定は、サポート装置200Aで設計された制御プログラム110や、上述の設定画面30(図6参照)で設定された設定モードなどを含む。
ステップS12において、コントローラ100は、IPアドレスの自動生成処理を実行する。IPアドレスの自動生成処理については図3および図4で説明した通りであるので、その説明については繰り返さない。コントローラ100は、生成したIPアドレスを自IPアドレスとして設定する。
ステップS20において、コントローラ100は、ステップS12で生成したIPアドレスを情報処理装置200に送信する。他のコントローラも同様に、自動生成されたIPアドレスを設定したタイミングで当該IPアドレスを情報処理装置200に送信する。
ステップS22において、情報処理装置200は、コントローラ100からIPアドレスを受信したことに基づいて、IPアドレスの管理テーブルを更新する。図9は、IPアドレスの管理テーブルの一例を示す図である。図9には、IPアドレスの管理テーブルの一例として、管理テーブル35が示されている。
管理テーブル35は、たとえば、情報処理装置200の後述の記憶装置210(図14参照)で管理される。管理テーブル35において、コントローラの識別情報と、IPアドレスと、シリアルナンバーと、型式とが対応付けられている。コントローラの識別情報は、コントローラ名やID(Identification)などコントローラを一意に識別可能によって示される。
IPアドレスの送信元のコントローラに関する情報が管理テーブル35に規定されていない場合には、情報処理装置200は、当該送信元のコントローラの識別情報と、当該送信元のコントローラのIPアドレスと、当該送信元のコントローラのシリアルナンバーと、当該送信元のコントローラの型式とを管理テーブル35に追加する。一方で、IPアドレスの送信元のコントローラに関する情報が管理テーブル35に既に規定されている場合には、当該送信元のコントローラの識別情報に対応付けられているIPアドレス、シリアルナンバー、型式を、受信したIPアドレス、シリアルナンバー、型式で更新する。
ユーザは、管理テーブル35を必要に応じて情報処理装置200のディスプレイに表示することができる。これにより、ユーザは、各コントローラに設定されたIPアドレスを容易に把握することができる。また、シリアルナンバーや型式などが並べて表示されることで、ユーザは、コントローラを区別しやすくなり、どのコントローラにどのようなIPアドレスが設定されたのかを容易に把握することができる。
(G2.ポーリング方式によるIPアドレスの収集機能)
次に、図10を参照して、ポーリング方式によるIPアドレスの収集機能について説明する。図10は、ポーリング方式によるIPアドレスの収集機能の流れを示すシーケンス図である。
本方式におけるデータ収集機能においては、情報処理装置200が各コントローラから自動生成されたIPアドレスを定期的に収集する。
より具体的には、ステップS50において、情報処理装置200は、コントローラ100の各々にIPアドレスの送信命令を送信する。当該送信命令は、情報処理装置200からコントローラ100に定期的に送信される。
ステップS50の時点では、コントローラ100のIPアドレスが未設定であるとする。IPアドレスが未設定の状態である場合、コントローラ100は、情報処理装置200から受信した送信命令に対して何も応答しない。
ステップS54において、コントローラ100が起動されたとする。または、ステップS54において、コントローラ100は、上述のサポート装置200Aなどから各種設定をダウンロードしたとする。当該各種設定は、サポート装置200Aで設計された制御プログラム110や、上述の設定画面30(図6参照)で設定された設定モードなどを含む。
ステップS60において、情報処理装置200は、コントローラ100の各々にIPアドレスの送信命令を送信する。ステップS50と同様に、この時点では、情報処理装置200のIPアドレスが未設定であるため、コントローラ100は、ステップS60で受信した送信命令に対して何も応答しない。
ステップS64において、コントローラ100は、IPアドレスの自動生成処理を実行する。IPアドレスの自動生成処理については図3および図4で説明した通りであるので、その説明については繰り返さない。コントローラ100は、生成したIPアドレスを自IPアドレスとして設定する。
ステップS70において、情報処理装置200は、コントローラ100の各々にIPアドレスの送信命令を送信する。この時点では、情報処理装置200のIPアドレスが設定されているので、ステップS72において、コントローラ100は、自身のIPアドレスを情報処理装置200に送信する。
ステップS80において、情報処理装置200は、コントローラ100からIPアドレスを受信したことに基づいて、IPアドレスの管理テーブル35(図9参照)を更新する。管理テーブル35の更新方法については図9で説明した通りであるので、その説明については繰り返さない。
<H.IPアドレスの決定状態>
好ましくは、制御システム1は、コントローラ100のIPアドレスが仮決定されている状態か本決定されている状態かを受け付けるように構成される。このような決定状態が設定され得ることで、ユーザは、各コントローラのIPアドレスが仮に設定されている状態か真に設定されている状態かを容易に把握することができる。
一例として、ユーザは、制御システム1のネットワーク環境を構築するときにはコントローラ100のIPアドレスを仮決定状態とする。このような仮決定状態は、とりあえず制御システム1を通信可能な状態にするときなどに採用され得る。ユーザは、制御システム1のネットワーク環境を構築後にはコントローラ100のIPアドレスを真に設定し、当該IPアドレスを本決定状態とする。
以下では、図11を参照して、IPアドレスの決定状態を設定する方法について説明する。図11は、図3に示されるファンクションブロックFB0の変形例を示す図である。図11には、ファンクションブロックFB0の変形例として、ファンクションブロックFB3が示されている。
図11に示されるファンクションブロックFB3は、入力部155Cをさらに有する点で、図3に示されるファンクションブロックFB0と異なる。その他の点については上述の通りであるので、それらの説明については繰り返さない。
「Setting」として示される入力部155Cは、IPアドレスの決定状態の設定を受け付ける。一例として、入力部155Cは、「0」または「1」の入力を受け付ける。
入力部155Cに「0」が入力された場合、ファンクションブロックFB3により生成されるIPアドレスは、仮決定状態として設定される。入力部155Cに「1」が入力された場合、ファンクションブロックFB3により生成されるIPアドレスは、本決定状態として設定される。
IPアドレスの決定状態は、たとえば、IPアドレスの自動生成方法に応じて切り替えられる。一例として、コントローラ100の識別情報(たとえば、MACアドレスなど)からIPアドレスを生成する方法が入力部155Bに対して設定された場合には、入力部155Cには仮決定状態を示す「0」が入力される。また、メモリカードなどの外部記憶装置に格納されている設定値に基づいてIPアドレスを生成する方法が入力部155Bに対して設定された場合には、入力部155Cには本決定状態を示す「1」が入力される。
図12は、図9に示される管理テーブル35の変形例を示す図である。図12には、変形例として、管理テーブル35Aが示されている。
管理テーブル35Aは、たとえば、情報処理装置200の後述の記憶装置210(図14参照)で管理される。管理テーブル35Aにおいて、コントローラの識別情報と、IPアドレスと、IPアドレスの決定状態とが対応付けられている。コントローラの識別情報は、コントローラ名やIDなどコントローラを一意に識別可能によって示される。
ユーザは、管理テーブル35Aを必要に応じて情報処理装置200のディスプレイに表示することができる。これにより、ユーザは、各コントローラに設定されたIPアドレスの決定状態を容易に把握することができる。
<I.コントローラ100のハードウェア構成>
図13は、コントローラ100のハードウェア構成例を示すブロック図である。図13を参照して、コントローラ100は、プロセッサ102と、チップセット104と、記憶装置105と、主メモリ106と、USB(Universal Serial Bus)インターフェイス112と、メモリカードインターフェイス114と、ネットワークインターフェイス118と、内部バスコントローラ120と、フィールドネットワークコントローラ130とを含む。
プロセッサ102は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)などで構成される。プロセッサ102としては、複数のコアを有する構成を採用してもよいし、プロセッサ102を複数配置してもよい。このように、コントローラ100は、1または複数のプロセッサ102、および/または、1または複数のコアを有するプロセッサ102を有している。チップセット104は、プロセッサ102および周辺エレメントを制御することで、コントローラ100全体としての処理を実現する。主メモリ106は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。記憶装置105は、たとえば、フラッシュメモリなどの不揮発性記憶装置などで構成される。
プロセッサ102は、記憶装置105に格納された各種プログラムを読出して、主メモリ106に展開して実行することで、制御対象に応じた制御を実現する。記憶装置105には、上述のネットワーク設定108やコントローラ100の制御プログラム110が格納されている。制御プログラム110は、基本的な処理を実現するためのシステムプログラム111Bに加えて、制御対象の製造装置や設備に応じて作成されたユーザプログラム110Aを含む。
USBインターフェイス112は、USB接続を介した外部装置(たとえば、ユーザプログラムの開発などを行うサポート装置)との間のデータ通信を仲介する。
メモリカードインターフェイス114は、メモリカード116が着脱可能に構成されており、メモリカード116に対してデータを書き込み、メモリカード116から各種データ(ユーザプログラムやトレースデータなど)を読出すことが可能になっている。
ネットワークインターフェイス118は、ネットワークN1を介したデータ通信の仲介が可能になっている。
内部バスコントローラ120は、コントローラ100に装着される機能ユニットとの間のデータ通信を仲介する。フィールドネットワークコントローラ130は、ネットワークN2を介した他のユニットとの間のデータ通信を仲介する。
図13には、プロセッサ102がプログラムを実行することで必要な処理が実現される構成例を示したが、これらの提供される処理の一部または全部を、専用のハードウェア回路(たとえば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field Programmable Gate Array)など)を用いて実装してもよい。
<J.情報処理装置200のハードウェア構成>
図14を参照して、情報処理装置200のハードウェア構成について説明する。図14は、情報処理装置200のハードウェア構成を示す模式図である。
情報処理装置200は、一例として、汎用的なコンピュータアーキテクチャに準じて構成されるコンピュータからなる。情報処理装置200は、制御装置201と、主メモリ202と、通信インターフェイス203と、操作インターフェイス205と、表示インターフェイス206と、光学ドライブ207と、記憶装置210とを含む。これらのコンポーネントは、内部バス219を介して互いに通信可能に接続されている。
制御装置201は、たとえば、少なくとも1つの集積回路によって構成される。集積回路は、たとえば、少なくとも1つのCPU、少なくとも1つのASIC、少なくとも1つのFPGA、またはそれらの組み合わせなどによって構成される。制御装置201は、プログラムを主メモリ202に展開して実行することで、IPアドレスの上述の収集機能など各種処理を実現する。主メモリ202は、揮発性メモリにより構成され、制御装置201によるプログラム実行に必要なワークメモリとして機能する。
通信インターフェイス203は、外部機器との間でネットワークを介してデータを遣り取りする。当該外部機器は、たとえば、コントローラ100、サーバ、その他の通信機器などを含む。情報処理装置200は、通信インターフェイス203を介して、情報処理プログラム213をダウンロードできるように構成されてもよい。情報処理プログラム213は、上述の制御プログラム110の統合開発環境を提供するためのプログラムである。
操作インターフェイス205は、操作部222に接続され、操作部222からのユーザ操作を示す信号を取り込む。操作部222は、典型的には、キーボード、マウス、タッチパネル、タッチパッドなどからなり、ユーザからの操作を受け付ける。
表示インターフェイス206は、表示部220と接続され、制御装置201などからの指令に従って、表示部220に対して、画像を表示するための画像信号を送出する。表示部220は、ディスプレイ、インジケータなどからなり、ユーザに対して各種情報を提示する。
光学ドライブ207は、光学ディスク207Aなどから、その中に格納されている各種プログラムを読み出して、記憶装置210にインストールする。
図14には、光学ドライブ207を介して必要なプログラムを情報処理装置200にインストールする構成例が示されているが、これに限られることなく、ネットワーク上のサーバ装置などからダウンロードするようにしてもよい。あるいは、情報処理装置200上のプログラムは、USB(Universal Serial Bus)メモリ、SD(Secure Digital)カード、CF(Compact Flash)などの記憶媒体に書き込まれているプログラムによって書き換えられるように構成されてもよい。
記憶装置210は、たとえば、ハードディスクや外付けの記憶媒体である。一例として、記憶装置210は、上述の管理テーブル35,35Aと、情報処理プログラム213とを格納する。なお、管理テーブル35,35Aは、必ずしも記憶装置210に格納される必要はなく、その他の記憶装置に格納されてもよい。一例として、管理テーブル35,35Aは、主メモリ202や外部記憶媒体(たとえば、メモリカードやサーバなど)に格納されてもよい。
<K.まとめ>
以上のようにして、制御プログラム110は、IPアドレスに依存する制御命令を含む。当該制御命令は、コントローラ100のネットワーク設定108に示される識別子を入力として制御対象の駆動機器300を制御する。当該識別子は、コントローラのIPアドレスに代わるものであり、各コントローラで共通している。このような識別子を入力とすることで、IPアドレスが変わった場合でも、ユーザは、制御プログラム110を書き換える必要がなくなる。そのため、現在使用されている制御プログラムを他のコントローラに流用することが可能になり、設備の拡大が容易となる。
また、コントローラ100は、他のコントローラのIPアドレスとは異なるように自コントローラのIPアドレスを生成する。これにより、ユーザは、設備を拡大する場合であっても通信可能な環境を容易に構築することができる。
<L.付記>
以上のように、本実施形態は以下のような開示を含む。
[構成1]
それぞれが制御対象の駆動機器(300)を制御するための複数のコントローラ(100A,100B,100C)と、
前記複数のコントローラ(100A,100B,100C)と同一のネットワークに接続される情報処理装置(200)とを備え、
前記複数のコントローラ(100A,100B,100C)のそれぞれは、
自コントローラのIP(Internet Protocol)アドレスと当該IPアドレスに代わる識別子との対応関係を含むネットワーク設定(108)と、制御対象の駆動機器(300)を制御するための制御プログラム(110)とを格納する記憶装置(105)を備え、
前記制御プログラム(110)は、自コントローラの前記ネットワーク設定(108)に示される前記識別子を入力として制御対象の駆動機器(300)を制御する制御命令を含み、
前記複数のコントローラ(100A,100B,100C)のそれぞれは、さらに、
他のコントローラのIPアドレスとは異なるように自コントローラのIPアドレスを生成し、当該生成したIPアドレスで、当該自コントローラの前記ネットワーク設定(108)に示されるIPアドレスを書き換えるための生成モジュール(152)と、
自コントローラの前記ネットワーク設定(108)に示されるIPアドレスに従って前記情報処理装置(200)と通信するための通信モジュール(154)とを備える、制御システム。
[構成2]
前記生成モジュール(152)は、自コントローラを一意に識別可能な識別情報に基づいて、当該自コントローラのIPアドレスを生成する、構成1に記載の制御システム。
[構成3]
前記複数のコントローラ(100A,100B,100C)のそれぞれは、外部記憶媒体に接続可能に構成されており、
前記外部記憶媒体は、IPアドレスに関する設定値を格納しており、
前記生成モジュール(152)は、前記外部記憶媒体に格納されている前記設定値を読み取り、当該設定値に従って自コントローラのIPアドレスを生成する、構成1または2に記載の制御システム。
[構成4]
前記生成モジュール(152)は、
生成したIPアドレスが前記他のコントローラで既に使用されているか否かを当該他のコントローラに問い合わせ、
当該問い合わせに応答する他のコントローラが存在しない場合、当該生成したIPアドレスで自コントローラの前記ネットワーク設定(108)に示されるIPアドレスを書き換える、構成1〜3のいずれか1項に記載の制御システム。
[構成5]
前記生成モジュール(152)は、前記問い合わせに応答する他のコントローラが存在する場合、先に生成したIPアドレスとは異なるIPアドレスを再生成する、構成4に記載の制御システム。
[構成6]
前記生成モジュール(152)は、前記他のコントローラのIPアドレスが自コントローラに既に設定されているか否かを当該他のコントローラから問い合わされた場合、当該IPアドレスとは重複しないように自コントローラのIPアドレスを生成する、構成4または5に記載の制御システム。
[構成7]
自コントローラに格納される制御プログラム(110)は、他のコントローラに格納される制御プログラム(110)を複製したものである、構成1〜6のいずれか1項に記載の制御システム。
[構成8]
駆動機器(300)を制御するためのコントローラ(100A)であって、
前記コントローラ(100A)のIPアドレスと当該IPアドレスに代わる識別子との対応関係を含むネットワーク設定(108)と、前記駆動機器(300)を制御するための制御プログラム(110)を格納する記憶装置(105)を備え、
前記制御プログラム(110)は、前記ネットワーク設定(108)に示される前記識別子を入力として前記駆動機器(300)を制御する制御命令を含み、さらに、
前記コントローラ(100A)と同一のネットワークに接続される他のコントローラ(100B,100C)のIPアドレスとは異なるように前記コントローラ(100A)のIPアドレスを生成し、当該生成したIPアドレスで、前記ネットワーク設定(108)に示されるIPアドレスを書き換えるための生成モジュール(152)と、
前記ネットワーク設定(108)に示されるIPアドレスに従って前記コントローラ(100A)と同一のネットワークに接続される情報処理装置(200)と通信するための通信モジュール(154)とを備える、コントローラ。
[構成9]
駆動機器(300)を制御するためのコントローラ(100A)の制御方法であって、
前記コントローラ(100A)のIPアドレスと、当該IPアドレスに代わる識別子との対応関係を含むネットワーク設定(108)と、前記駆動機器(300)を制御するための制御プログラム(110)を前記コントローラ(100A)の記憶装置から取得するステップを備え、
前記制御プログラム(110)は、前記ネットワーク設定(108)に示される前記識別子を入力として前記駆動機器(300)を制御する制御命令を含み、さらに、
前記コントローラ(100A)と同一のネットワークに接続される他のコントローラ(100B,100C)のIPアドレスとは異なるように前記コントローラ(100A)のIPアドレスを生成し、当該生成したIPアドレスで、前記ネットワーク設定(108)に示されるIPアドレスを書き換えるステップと、
前記ネットワーク設定(108)に示されるIPアドレスに従って前記コントローラ(100A)と同一のネットワークに接続される情報処理装置(200)と通信するステップとを備える、制御方法。
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
1 制御システム、30 設定画面、31 OKボタン、32 キャンセルボタン、35,35A 管理テーブル、100,100A,100B,100C コントローラ、102 プロセッサ、104 チップセット、105,210 記憶装置、106,202 主メモリ、108 ネットワーク設定、110 制御プログラム、110A ユーザプログラム、111B システムプログラム、112 USBインターフェイス、114 メモリカードインターフェイス、116 メモリカード、118 ネットワークインターフェイス、120 内部バスコントローラ、130 フィールドネットワークコントローラ、150 ハブ、152 生成モジュール、154 通信モジュール、155A,155B,155C,158A,158B,158C,158D 入力部、157A,157B,157C,157D,157E,159A,159B,159C,159D 出力部、200 情報処理装置、200A サポート装置、200B サーバ装置、200C 表示器、201 制御装置、203 通信インターフェイス、205 操作インターフェイス、206 表示インターフェイス、207 光学ドライブ、207A 光学ディスク、213 情報処理プログラム、219 内部バス、220 表示部、222 操作部、300 駆動機器、325 アームロボット。

Claims (9)

  1. それぞれが制御対象の駆動機器を制御するための複数のコントローラと、
    前記複数のコントローラと同一のネットワークに接続される情報処理装置とを備え、
    前記複数のコントローラのそれぞれは、
    自コントローラのIP(Internet Protocol)アドレスと当該IPアドレスに代わる識別子との対応関係を含むネットワーク設定と、制御対象の駆動機器を制御するための制御プログラムとを格納する記憶装置を備え、
    前記制御プログラムは、自コントローラの前記ネットワーク設定に示される前記識別子を入力として制御対象の駆動機器を制御する制御命令を含み、
    前記複数のコントローラのそれぞれは、さらに、
    他のコントローラのIPアドレスとは異なるように自コントローラのIPアドレスを生成し、当該生成したIPアドレスで、当該自コントローラの前記ネットワーク設定に示されるIPアドレスを書き換えるための生成モジュールと、
    自コントローラの前記ネットワーク設定に示されるIPアドレスに従って前記情報処理装置と通信するための通信モジュールとを備える、制御システム。
  2. 前記生成モジュールは、自コントローラを一意に識別可能な識別情報に基づいて、当該自コントローラのIPアドレスを生成する、請求項1に記載の制御システム。
  3. 前記複数のコントローラのそれぞれは、外部記憶媒体に接続可能に構成されており、
    前記外部記憶媒体は、IPアドレスに関する設定値を格納しており、
    前記生成モジュールは、前記外部記憶媒体に格納されている前記設定値を読み取り、当該設定値に従って自コントローラのIPアドレスを生成する、請求項1または2に記載の制御システム。
  4. 前記生成モジュールは、
    生成したIPアドレスが前記他のコントローラで既に使用されているか否かを当該他のコントローラに問い合わせ、
    当該問い合わせに応答する他のコントローラが存在しない場合、当該生成したIPアドレスで自コントローラの前記ネットワーク設定に示されるIPアドレスを書き換える、請求項1〜3のいずれか1項に記載の制御システム。
  5. 前記生成モジュールは、前記問い合わせに応答する他のコントローラが存在する場合、先に生成したIPアドレスとは異なるIPアドレスを再生成する、請求項4に記載の制御システム。
  6. 前記生成モジュールは、前記他のコントローラのIPアドレスが自コントローラに既に設定されているか否かを当該他のコントローラから問い合わされた場合、当該IPアドレスとは重複しないように自コントローラのIPアドレスを生成する、請求項4または5に記載の制御システム。
  7. 自コントローラに格納される制御プログラムは、他のコントローラに格納される制御プログラムを複製したものである、請求項1〜6のいずれか1項に記載の制御システム。
  8. 駆動機器を制御するためのコントローラであって、
    前記コントローラのIPアドレスと当該IPアドレスに代わる識別子との対応関係を含むネットワーク設定と、前記駆動機器を制御するための制御プログラムを格納する記憶装置を備え、
    前記制御プログラムは、前記ネットワーク設定に示される前記識別子を入力として前記駆動機器を制御する制御命令を含み、さらに、
    前記コントローラと同一のネットワークに接続される他のコントローラのIPアドレスとは異なるように前記コントローラのIPアドレスを生成し、当該生成したIPアドレスで、前記ネットワーク設定に示されるIPアドレスを書き換えるための生成モジュールと、
    前記ネットワーク設定に示されるIPアドレスに従って前記コントローラと同一のネットワークに接続される情報処理装置と通信するための通信モジュールとを備える、コントローラ。
  9. 駆動機器を制御するためのコントローラの制御方法であって、
    前記コントローラのIPアドレスと、当該IPアドレスに代わる識別子との対応関係を含むネットワーク設定と、前記駆動機器を制御するための制御プログラムを前記コントローラの記憶装置から取得するステップを備え、
    前記制御プログラムは、前記ネットワーク設定に示される前記識別子を入力として前記駆動機器を制御する制御命令を含み、さらに、
    前記コントローラと同一のネットワークに接続される他のコントローラのIPアドレスとは異なるように前記コントローラのIPアドレスを生成し、当該生成したIPアドレスで、前記ネットワーク設定に示されるIPアドレスを書き換えるステップと、
    前記ネットワーク設定に示されるIPアドレスに従って前記コントローラと同一のネットワークに接続される情報処理装置と通信するステップとを備える、制御方法。
JP2018043839A 2018-03-12 2018-03-12 制御システム、コントローラ、および制御方法 Active JP6954190B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2018043839A JP6954190B2 (ja) 2018-03-12 2018-03-12 制御システム、コントローラ、および制御方法
EP19767451.8A EP3767410B1 (en) 2018-03-12 2019-01-28 Control system, controller, and control method
CN201980004100.2A CN111052009B (zh) 2018-03-12 2019-01-28 控制系统、控制器和控制方法
PCT/JP2019/002733 WO2019176335A1 (ja) 2018-03-12 2019-01-28 制御システム、コントローラ、および制御方法
US16/643,843 US11165745B2 (en) 2018-03-12 2019-01-28 Control system, controller, and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018043839A JP6954190B2 (ja) 2018-03-12 2018-03-12 制御システム、コントローラ、および制御方法

Publications (2)

Publication Number Publication Date
JP2019159631A true JP2019159631A (ja) 2019-09-19
JP6954190B2 JP6954190B2 (ja) 2021-10-27

Family

ID=67907722

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018043839A Active JP6954190B2 (ja) 2018-03-12 2018-03-12 制御システム、コントローラ、および制御方法

Country Status (5)

Country Link
US (1) US11165745B2 (ja)
EP (1) EP3767410B1 (ja)
JP (1) JP6954190B2 (ja)
CN (1) CN111052009B (ja)
WO (1) WO2019176335A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113391603A (zh) * 2020-03-13 2021-09-14 株式会社安川电机 生产系统、控制方法和程序
JP2022139149A (ja) * 2021-03-11 2022-09-26 オムロン株式会社 制御システムおよび制御方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI861445B (zh) * 2020-12-08 2024-11-11 日商發那科股份有限公司 機器人控制裝置、機器人控制系統及機器人控制方法
US11741284B2 (en) * 2021-09-28 2023-08-29 GBT Technologies, Inc. Systems and methods of automatic generation of integrated circuit IP blocks
SE545244C2 (en) * 2022-07-18 2023-06-07 Atlas Copco Ind Technique Ab Method of a network device for connecting a group of industrial tools to a plurality of controllers using shared single virtual ip addresses and identifiers, and network device
CN120435850A (zh) * 2023-04-14 2025-08-05 三菱电机株式会社 Plc系统、远程单元、主站、远程单元控制方法、主站控制方法、远程单元控制程序及主站控制程序

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000137508A (ja) * 1998-10-30 2000-05-16 Digital Electronics Corp 制御装置
JP2002108731A (ja) * 2000-09-27 2002-04-12 Digital Electronics Corp コンピュータのネットワーク設定方法、そのプログラムが記録された記録媒体、および、その方法でネットワーク設定可能なコンピュータ
JP2004302735A (ja) * 2003-03-31 2004-10-28 Mitsubishi Electric Corp 機器構成管理装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7120139B1 (en) * 1999-12-30 2006-10-10 At&T Corp. Broadband cable telephony network architecture IP ITN network architecture reference model
CA2325670C (en) * 1999-12-30 2003-12-30 At&T Corp. Method for performing roaming amongst multiple ip networks
JP4238964B2 (ja) 2001-04-27 2009-03-18 オムロン株式会社 プログラマブルコントローラ・システム
US7272458B2 (en) 2004-04-13 2007-09-18 Omron Corporation Control system setting device
US9210034B2 (en) * 2007-03-01 2015-12-08 Cisco Technology, Inc. Client addressing and roaming in a wireless network
US9319300B2 (en) * 2008-12-09 2016-04-19 Glue Networks, Inc. Systems and methods for determining endpoint configurations for endpoints of a virtual private network (VPN) and deploying the configurations to the endpoints
CN102859973B (zh) * 2011-04-19 2015-04-15 华为技术有限公司 一种地址解析的方法,装置和系统
US8738756B2 (en) * 2011-12-01 2014-05-27 International Business Machines Corporation Enabling co-existence of hosts or virtual machines with identical addresses
JP6362821B2 (ja) 2012-05-18 2018-07-25 オムロン株式会社 制御装置、制御方法および命令セット
KR20160070471A (ko) * 2014-12-10 2016-06-20 한국전자통신연구원 직접통신 단말기에서 ip를 할당하는 방법 및 장치
JP6627571B2 (ja) 2016-02-26 2020-01-08 オムロン株式会社 プログラマブルコントローラ、プログラマブルコントローラの制御方法、プログラマブルコントローラの制御プログラム
FR3063855B1 (fr) * 2017-03-08 2019-04-12 Areva Np Circuit logique programmable de commande d'une installation electrique, en particulier une installation nucleaire, dispositif et procede de commande associes

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000137508A (ja) * 1998-10-30 2000-05-16 Digital Electronics Corp 制御装置
JP2002108731A (ja) * 2000-09-27 2002-04-12 Digital Electronics Corp コンピュータのネットワーク設定方法、そのプログラムが記録された記録媒体、および、その方法でネットワーク設定可能なコンピュータ
JP2004302735A (ja) * 2003-03-31 2004-10-28 Mitsubishi Electric Corp 機器構成管理装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113391603A (zh) * 2020-03-13 2021-09-14 株式会社安川电机 生产系统、控制方法和程序
JP2021144650A (ja) * 2020-03-13 2021-09-24 株式会社安川電機 生産システム、制御方法、及びプログラム
US11953882B2 (en) 2020-03-13 2024-04-09 Kabushiki Kaisha Yaskawa Denki Production system, control method, and information storage medium
CN113391603B (zh) * 2020-03-13 2024-06-18 株式会社安川电机 生产系统、控制方法和程序
JP2022139149A (ja) * 2021-03-11 2022-09-26 オムロン株式会社 制御システムおよび制御方法
JP7608885B2 (ja) 2021-03-11 2025-01-07 オムロン株式会社 制御システムおよび制御方法

Also Published As

Publication number Publication date
JP6954190B2 (ja) 2021-10-27
WO2019176335A1 (ja) 2019-09-19
US11165745B2 (en) 2021-11-02
EP3767410A1 (en) 2021-01-20
US20210067483A1 (en) 2021-03-04
CN111052009A (zh) 2020-04-21
EP3767410A4 (en) 2021-11-17
CN111052009B (zh) 2023-04-11
EP3767410B1 (en) 2024-11-13

Similar Documents

Publication Publication Date Title
JP6954190B2 (ja) 制御システム、コントローラ、および制御方法
US7987305B2 (en) Remote virtual placeholder configuration for distributed input/output modules
JP6514252B2 (ja) ロボットのデータ設定システム、データ設定方法及びプログラム
JP6816554B2 (ja) 制御システム、制御装置および制御プログラム
JP2002268707A (ja) コントローラ及びツール並びにそれらにより構成されるシステム
WO2019167512A1 (ja) 表示装置、画面生成方法、および画面生成プログラム
CN100452749C (zh) 生产系统的网络地址设定方法
JP2019179476A (ja) サポート装置、サポートプログラム、設定方法
JP6954191B2 (ja) 制御システム、開発支援装置、および開発支援プログラム
WO2019176386A1 (ja) 制御システム、制御方法、および制御プログラム
CN111971630B (zh) 管理装置及管理系统
JP6135247B2 (ja) 情報処理装置および情報処理プログラム
CN111788816A (zh) 在自动化系统中建立网络通信的方法
JP2011186607A (ja) フィールドデバイス、フィールドデバイスの設定方法、フィールドデバイス管理装置及びプログラム
US12085904B2 (en) Engineering device, engineering method, and information storage medium
JP2003273875A (ja) データサーバ
JP2019179475A (ja) サポート装置、サポートプログラム、設定方法
JP7107262B2 (ja) 制御システムおよび制御装置
CN103518164A (zh) 用于运行自动化系统的方法
WO2019167246A1 (ja) データ管理システム、制御装置、データ管理装置、データ管理方法およびデータ管理プログラム
WO2024190554A1 (ja) サポート装置、制御方法、およびサポートプログラム
WO2022254953A1 (ja) 制御システムおよび制御方法
CN114746816A (zh) 具备hart透传接口的plc模拟模块
JP2003015707A (ja) 制御装置および該制御装置用の制御プログラム
JP2017147673A (ja) デバイス情報管理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200306

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210217

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210831

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210913

R150 Certificate of patent or registration of utility model

Ref document number: 6954190

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150