JP6962099B2 - 制御システムおよび制御装置 - Google Patents

制御システムおよび制御装置 Download PDF

Info

Publication number
JP6962099B2
JP6962099B2 JP2017183680A JP2017183680A JP6962099B2 JP 6962099 B2 JP6962099 B2 JP 6962099B2 JP 2017183680 A JP2017183680 A JP 2017183680A JP 2017183680 A JP2017183680 A JP 2017183680A JP 6962099 B2 JP6962099 B2 JP 6962099B2
Authority
JP
Japan
Prior art keywords
data
network
devices
control
timer
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.)
Active
Application number
JP2017183680A
Other languages
English (en)
Other versions
JP2019062288A (ja
Inventor
光宏 米田
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
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 filed Critical Omron Corp
Priority to JP2017183680A priority Critical patent/JP6962099B2/ja
Priority to US16/639,557 priority patent/US11082197B2/en
Priority to CN201880053680.XA priority patent/CN111034128B/zh
Priority to EP18859434.5A priority patent/EP3691192B1/en
Priority to PCT/JP2018/031068 priority patent/WO2019058861A1/ja
Publication of JP2019062288A publication Critical patent/JP2019062288A/ja
Application granted granted Critical
Publication of JP6962099B2 publication Critical patent/JP6962099B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40143Bus networks involving priority mechanisms
    • H04L12/4015Bus networks involving priority mechanisms by scheduling the transmission of messages at the communication node
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements

Description

本発明は、複数の制御装置がネットワーク接続された制御システム、およびその制御システムを構成する制御装置に関する。
様々な生産現場において、PLC(プログラマブルコントローラ)などの制御装置を用いたFA(Factory Automation)技術が広く普及している。このような制御装置は、1または複数の機器との間でバスまたはネットワークを介してデータを送受信する。
制御システムの高機能化に伴って、互いに独立した制御処理を実行する複数の制御装置がネットワークを介して接続されるような構成も実現しつつある。例えば、特開2015−118505号公報(特許文献1)には、コントローラレベルネットワークに複数の制御装置が接続された制御システムが開示される。複数の制御装置の各々には、デバイスレベルネットワークを介して複数の入出力装置が接続されている。各制御装置は、複数の入出力装置から取得した入力値を、コントローラレベルネットワークを介してサーバに送信する。
特開2015−118505号公報
しかしながら、複数の制御装置は互いに独立した制御処理を実行するため、1つの制御装置と別の制御装置との間では、機器において収集または生成されたデータ(入力データ)を収集するタイミングまたは機器に対する指令などのデータ(出力データ)を対象の機器へ送信するタイミングを互いに同期させることができない。
また、上記1の制御装置に接続される機器と、上記別の制御装置に接続される機器とを連係して動作させるためには、これらの制御装置間でそれぞれの機器の情報を遣り取りする必要があるが、入力データが収集されるタイミングまたは出力データが出力されるタイミングを互いに同期させることができないため、複数の機器の間で制御タイミングを同期させることが困難となる。
このように、互いに異なる制御装置に接続される複数の機器の協調制御を行なうことができないため、結果的に複数の機器を連係して動作させることができないことが懸念される。
本発明は、複数の制御装置がネットワーク接続された制御システムにおいて、互いに異なる制御装置に接続される複数の機器の協調制御を実現するための新たな構成を提供することを目的とする。
本開示の一例では、第1のネットワークに接続される複数の制御装置と、第1のネットワークよりも下位の第2のネットワークを介して、複数の制御装置の各々に接続される1または複数の機器とを備える制御システムが提供される。複数の制御装置の各々は、第1のネットワークを介して他の制御装置との間で第1のデータを送受信する上位通信手段と、第2のネットワークを介して1または複数の機器との間で第2のデータを送受信する下位通信手段とを含む。上位通信手段は、複数の制御装置の間で互いに時刻同期された第1のタイマを有している。下位通信手段は、第1のタイマの時刻に基づいて、1または複数の機器に対して第2のデータを伝送する処理を開始すべきタイミングを決定する。
本開示に従う制御システムによれば、第1のネットワークに接続される複数の制御装置の各々は、他の制御装置と互いに時刻同期されたタイマ(第1のタイマ)を有しているため、このタイマの時刻を基準として、下位の第2のネットワークを介して1または複数のフィールド機器との間でデータを送受信するタイミングを決定することができる。これにより、複数の制御装置の間で、入力データを収集するタイミングまたは出力データを送信するタイミングを互いに同期させることができる。また、複数の制御装置は互いに時刻同期しているため、それぞれの機器のデータを遣り取りするタイミングを互いに同期させることができる。この結果、互いに異なる制御装置に接続される複数の機器の協調制御を行なうことが可能となる。
これにより、互いに異なる制御装置に接続される複数の機器の間で、制御タイミングを同期させることができるため、当該複数の機器の間では処理の待ち合わせが不要となり、処理時間を短縮することができる。また、複数の機器の動作が互いに同期するため、動作タイミングを一致させることができ、結果的に処理精度を向上させることができる。
好ましくは、上位通信手段は、第2のデータを伝送する処理を開始すべきタイミングを基準として、複数の制御装置の各々における下位通信手段が第2のデータの送受信に要する時間の最大値に基づいて、第1のデータを伝送する処理を開始すべきタイミングを決定する。これによると、複数の制御装置の間で、第1のデータを伝送する処理を開始すべきタイミングを互いに同期させることができる。
好ましくは、複数の制御装置の各々は、予め定められた周期において、第2のデータを伝送する処理および第1のデータを伝送する処理を実行した後に、ユーザプログラムを実行する。
これによると、複数の制御装置の各々は、他の制御装置との間で互いに時刻同期した第1および第2のデータに基づいてユーザプログラムを実行することができる。なお、本明細書において、「ユーザプログラム」は、ユーザによって任意に作成可能なプログラムを包含する。「ユーザプログラム」は、シーケンス制御を実現するためのシーケンスプログラム、モーション制御を実現するためのモーションプログラム、および、アプリケーションプログラムを含み得る。
好ましくは、下位通信手段は、1または複数の機器との間で互いに時刻同期された第2のタイマを有する。複数の制御装置の各々は、第1のタイマと第2のタイマとの間で時刻同期するための同期手段をさらに含む。これによると、複数の制御装置の間で、それぞれに接続される1または複数の機器を互いに時刻同期させることができる。
好ましくは、上位通信手段は、第1のプロトコルに従って第1のデータを送受信する。下位通信手段は、第1のプロトコルとは異なる第2のプロトコルに従って第2のデータを送受信する。同期手段は、第1のタイマを基準として、第2のタイマを時刻補正する。
これによると、上位通信手段と下位通信手段とで互いに異なるプロトコルに従ってデータが送受信される場合であっても、上位通信手段および下位通信手段の間を時刻同期させることができる。
好ましくは、下位通信手段は、第2のデータを予め定められた周期毎に更新する。上位通信手段は、第1のデータを、各周期において利用可能な時間に応じたデータサイズに分割した上で、分割後のそれぞれのデータを複数の周期に割り当てる。
これによると、第2のデータを予め定められた周期毎に更新することを保証しつつ、第1のデータを伝送することができる。
本開示の一例では、第1のネットワークに接続されるとともに、第1のネットワークよりも下位の第2のネットワークを介して1または複数の機器と接続される制御装置が提供される。制御装置は、第1のネットワークを介して他の制御装置との間で第1のデータを送受信する上位通信手段と、第2のネットワークを介して1または複数のスレーブ機器との間で第2のデータを送受信する下位通信手段とを備える。上位通信手段は、他の制御装置の間で互いに時刻同期された第1のタイマを有している。下位通信手段は、第1のタイマの時刻に基づいて、1または複数の機器に対して第2のデータを伝送する処理を開始すべきタイミングを決定する。
本開示の一例によれば、複数の制御装置がネットワーク接続された制御システムにおいて、互いに異なる制御装置に接続される複数の機器の協調制御を実現することができる。
本実施の形態に従う制御システムの全体構成の一例を示す模式図である。 本実施の形態に従う制御システムのネットワーク構成例を示す模式図である。 本実施の形態に従う制御システムのデータ通信処理を示す模式図である。 本実施の形態に係る制御装置のハードウェア構成例を示すブロック図である。 本実施の形態に従う制御処理を実現するための制御装置のソフトウェア構成の一例を示す模式図である。 本実施の形態に従う制御装置における制御処理のスケジューリングを説明するための模式図である。 図6に示した制御処理のスケジューリングにおける、通信処理の開始タイミングを決定する処理を説明するための模式図である。 図6に示した制御処理のスケジューリングにおける、通信処理の開始タイミングを決定する処理を説明するためのフローチャートである。 本実施の形態に係る制御システムの応用例を示す模式図である。
§1 適用例
まず、図2を用いて、本発明が適用される場面の一例について説明する。図2は、本実施の形態に従う制御システム1の要部構成の一例を模式的に示す図である。
図2を参照して、本実施の形態に従う制御システム1において、コントローラレベルのネットワーク11には、複数の制御装置100A〜100Cが接続されている。複数の制御装置100A〜100Cの各々には、フィールドネットワーク110を介して1または複数のフィールド機器200が接続されている。ネットワーク11は本発明の「第1のネットワーク」の一実施例に対応し、フィールドネットワーク110は本発明の「第2のネットワーク」の一実施例に対応する。
複数の制御装置100A〜100Cの各々は、フィールドネットワーク110を介して1または複数のフィールド機器200との間でデータを送受信する。複数の制御装置100A〜100Cの各々は、さらに、ネットワーク11を介して、他の制御装置との間でデータを送受信する。
複数の制御装置100A〜100Cは、他の制御装置と互いに時刻同期されたタイマ101A〜101C(第1のタイマ)をそれぞれ有している。複数の制御装置100A〜100Cの各々は、さらに、1または複数のフィールド機器200との間で互いに時刻同期されたタイマ102(第2のタイマ)を有している。複数の制御装置100A〜100Cの各々において、タイマ101(第1のタイマ)にタイマ102(第2のタイマ)を同期させる。これにより、複数の制御装置100A〜100Cの各々は、実質的に、複数の制御装置の間で互いに時刻同期されたタイマ101の時刻に基づいて、フィールド機器200に対してデータを伝送する処理を開始すべきタイミングを決定することができる(図6のタイミングT1に相当)。その結果、複数の制御装置100A〜100Cの間で、入力データを収集するタイミングまたは出力データを送信するタイミングを互いに同期させることが可能となる。また、複数の制御装置100A〜100Cは互いに時刻同期しているため、それぞれの機器のデータを遣り取りするタイミングを互いに同期させることができる。この結果、互いに異なる制御装置に接続される複数のフィールド機器200の協調制御を実現することができる。
このような構成を採用することにより、例えば生産現場においては、互いに異なる制御装置に接続される複数の機器の間で、制御タイミングを同期させることができるため、当該複数の機器の間では処理の待ち合わせが不要となり、処理時間を短縮することができる。また、複数の機器の動作が互いに同期するため、動作タイミングを一致させることができ、結果的に処理精度(組立精度、加工精度など)を向上させることができる。
§2 構成例
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
以下の説明においては、「制御装置」の典型例として、PLC(プログラマブルコントローラ)を具体例として説明するが、PLCの名称に限定されることなく、本明細書に開示された技術思想は、任意の制御装置に対して適用可能である。また、PLC(制御装置)を含むシステム全体を、以下では「制御システム」とも称する。
<A.制御システムの全体構成>
まず、本実施の形態に従う制御システムの全体構成について説明する。図1は、本実施の形態に従う制御システム1の全体構成の一例を示す模式図である。
図1を参照して、制御システム1では、ネットワークが複数レベルに接続されており、各レベルのネットワークには、それぞれ異なる機能が割り当てられる。具体的には、4つのレベルのネットワーク11〜14が設けられている。
ネットワーク11は、コントロールレベルのネットワークであり、マシン制御機器である複数の制御装置100A〜100C(以下、「制御装置100」と総称することもある。)と、装置/ライン管理機器である装置/ライン管理装置190およびSCADA(Supervisory Control And Data Acquisition)機能を提供する表示装置180とが接続されており、装置間でデータを伝送できるリンクが形成される。ネットワーク2は、コントローラ(制御装置100)と管理機器(装置/ライン管理装置190および表示装置180)との間でデータリンクを構築する。ネットワーク11は、主として、制御系に係る情報の伝送を主たる機能として提供する。
制御装置100には、センサ、アクチュエータといった各種のフィールド機器が接続される。これらのフィールド機器は、制御装置100に装着される入出力ユニットを介して直接接続される場合もあるが、フィールドネットワークを介して接続されることもある。図1に示す構成例においては、制御装置100では、1または複数のフィールドネットワーク110が構成されており、各フィールドネットワーク110には、1または複数のフィールド機器200が接続される。1または複数のフィールド機器200の各々は、製造装置や生産ラインなど(以下、「フィールド」とも総称する。)に対して何らかの物理的な作用を与えるアクチュエータ、およびフィールドとの間で情報を遣り取りする入出力装置などを含む。したがって、図1に示す制御システム1には、ネットワーク11〜14の4つのレベルに加えて、フィールドレベルのネットワークがさらに追加されることになる。
フィールドネットワーク110を介して、制御装置100とフィールド機器200との間でデータが遣り取りされることになるが、これらの遣り取りされるデータは、数100μsecオーダ〜数10msecオーダのごく短い周期で更新されることになる。なお、このような遣り取りされるデータの更新処理は、入出力リフレッシュ処理とも称される。
ネットワーク12は、管理レベルのネットワークであり、装置/ライン管理装置190と、製造管理装置300およびデータベース装置310とが接続されており、装置間でデータを伝送できるリンクが形成される。ネットワーク12は、管理情報の遣り取りおよび装置/ラインの情報の伝送を主たる機能として提供する。
ネットワーク13は、コンピュータレベルのネットワークであり、製造管理装置300およびデータベース装置310と生産計画などを管理する生産管理装置350とが接続されており、装置間でデータを伝送できるリンクが形成される。ネットワーク13は、生産管理および情報系のデータの伝送を主たる機能として提供する。
ネットワーク14は、インターネットなどの外部ネットワークであり、生産管理装置350とクラウドやサプライチェーンなどとが接続される。
図1に示す制御システム1において、ネットワーク12およびそれ以下のレベルは、「ファクトリーネットワーク」とも称され、機器を現実に制御するためのデータ(以下、「制御系データ」と総称することもある)を遣り取りする制御系通信を提供する。一方、ネットワーク13以上のレベルは、「コーポレートネットワーク」とも称され、生産ライン/工場での生産活動などを監視・管理・制御するためのデータ(以下、「情報系データ」と総称することもある)を遣り取りする情報系通信を提供する。
ネットワーク11〜14およびフィールドネットワーク110には、このような要求される特性の違いに応じたプロトコルおよびフレームワークが採用される。例えば、ファクトリーネットワークに属するネットワーク11および12のプロトコルとしては、汎用的なEthernet(登録商標)上に制御用プロトコルを実装した産業用オープンネットワークであるEtherNet/IP(登録商標)を用いてもよい。また、フィールドネットワーク110のプロトコルとしては、マシンコントロール用ネットワークの一例であるEtherCAT(登録商標)を採用してもよい。なお、ネットワーク11のプロトコル(第1のプロトコル)とフィールドネットワーク110のプロトコル(第2のプロトコル)とは、同じであってもよいし、異なっていてもよい。
このようなマシンコントロールに適したネットワーク技術を採用することで、機器間の伝送に要する時間が保証されたリアルタイム性を提供できる。但し、1回の通信周期で伝送可能なデータ量には制限がある。
一方、コーポレートネットワークに属するネットワーク13および14のプロトコルとしては、接続先の多様性を担保するために、汎用的なEthernetなどが用いられる。汎用的なEthernetを採用することで、リアルタイム性は実現できないものの、送信可能なデータ量などの制限は存在しない。
<B.概要>
図1に示すファクトリーネットワークにおいては、ネットワーク11に接続される複数の制御装置100A〜100Cの各々は、フィールドネットワーク110を介して接続される1または複数の機器200とのデータを送受信する。具体的には、制御装置100は、フィールド機器200において収集または生成されたデータ(入力データ)を収集する処理(入力処理)、フィールド機器200に対する指令などのデータ(出力データ)を生成する処理(演算処理)および、生成した出力データを対象のフィールド機器200へ送信する処理(出力処理)などを実行する。
フィールドネットワーク110では、データの到着時間が保証される必要がある。そのため、制御装置100は、データ伝送のタイミングを規定する、データが送受信される主体(すなわち、1または複数のフィールド機器200)の間で互いに時刻同期されたタイマを有している。
しかしながら、複数の制御装置100の間で時刻同期がとれていない場合には、例えば、1つの制御装置100に接続されるフィールド機器200と、別の制御装置100に接続されるフィールド機器200との間は時刻同期させることができない。その結果、入出力リフレッシュ処理のタイミングが一致しない場合が生じ得るため、互いに異なる制御装置100に接続される複数のフィールド機器200を連係して動作させることが困難となる。
そこで、本実施の形態に従う制御システム1においては、複数の制御装置100の各々が有するタイマを互いに時刻同期させる。これにより、互いに異なる制御装置100に接続される複数のフィールド機器200の協調制御を実現する。
以下、本実施の形態に係る制御システム1が提供する時刻同期機能について説明する。
<C.ネットワーク構成例>
次に、本実施の形態に従う制御システム1のネットワーク構成例について説明する。図2は、本実施の形態に従う制御システム1のネットワーク構成例を示す模式図である。
図2に示す制御システム1は、複数の制御装置100A〜100Cと、複数のフィールド機器200A〜200Iとを含む。制御システム1は、一例として、少なくとも一部の制御装置がデイジーチェーン接続のネットワークを採用する。制御装置100A〜100Cの各々は、フィールドネットワーク110内のデータ伝送を管理するマスタとして機能する。フィールド機器200A〜200Iは、対応するマスタからの指令に従ってデータ伝送を行なうスレーブとして機能する。
制御装置100A〜100Cは、コントロールレベルのネットワーク11(上位ネットワーク)に接続されている。ネットワーク11には、例えばライン管理装置190が接続されている。
制御装置100Aに接続されるフィールドネットワーク110には、フィールド機器200A〜200Cがデイジーチェーンで順次接続されており、制御装置100Bに接続されるフィールドネットワーク110には、フィールド機器200D〜200Fがデイジーチェーンで順次接続されており、制御装置100Cに接続されるフィールドネットワーク110には、フィールド機器200G〜200Iがデイジーチェーンで順次接続されている。
フィールドネットワーク110内において、制御装置100および1または複数のフィールド機器200は、いずれもデータ伝送機能を有する通信装置とみなすことができる。図2に示す例においては、制御装置100および1または複数のフィールド機器200の各々は、隣接して接続されているある通信装置から、ネットワーク上を伝送されるデータを受信すると、当該データを必要に応じて、隣接して接続されている別の通信装置へ伝送する機能を有している。なお、受信されたデータが自装置宛てである場合には、当該受信したデータは他の通信装置へ伝送されることなく、当該データを受信した装置自体で当該データが処理される。
本実施の形態に従う制御システム1において、フィールドネットワーク110を構成する複数の通信装置、すなわち制御装置100および1または複数のフィールド機器200の間では、送受信タイミングが時刻同期されている(図中の時刻同期(3)に相当)。具体的には、制御装置100および1または複数のフィールド機器200の各々は、互いに時刻同期されたタイマ(あるいは、同期してインクリメントまたはデクリメントされるカウンタ)を有しており、それらの時刻同期されたタイマまたはカウンタに従って、各々がデータの送信または受信のタイミングを決定する。
図2に示す例においては、制御装置100Aはタイマ102Aを有しており、フィールド機器200A〜200Cはタイマ201A〜201Cをそれぞれ有している。制御装置100Aのタイマ102Aがマスタとして機能し、フィールド機器200A〜200Cのタイマがこのマスタを基準としてタイミングを同期させる。
制御装置100Bはタイマ102Bを有しており、フィールド機器200D〜200Fはタイマ201D〜201Fをそれぞれ有している。制御装置100Bのタイマ102Bがマスタとして機能し、フィールド機器200D〜200Fのタイマがこのマスタを基準としてタイミングを同期させる。
制御装置100Cはタイマ102Cを有しており、フィールド機器200G〜200Iはタイマ201G〜201Iをそれぞれ有している。制御装置100Cのタイマ102Cがマスタとして機能し、フィールド機器200G〜200Iのタイマがこのマスタを基準としてタイミングを同期させる。
すなわち、制御装置100A〜100Cの各々は、フィールドネットワーク110内のデータ伝送を管理するマスタとして機能し、各制御装置100に接続されるフィールド機器200は、マスタからの指令に従ってデータ伝送を行なうスレーブとして機能する。マスタとスレーブとの間でタイマを互いに同期させることにより、フィールドネットワーク110を構成する制御装置100とフィールド機器200との間でデータの伝送タイミングなどを互いに一致させることができる。
図2に示す例において、制御装置100Aは、さらに、タイマ102Aと時刻同期されたタイマ101Aを有している。制御装置100Bは、さらに、タイマ102Bと時刻同期されたタイマ101Bを有している。制御装置100Cは、さらに、タイマ102Cと時刻同期されたタイマ101Cを有している(図中の時刻同期(2)に相当)。制御システム1においては、タイマ101A〜101Cのいずれかを、制御システム1全体のマスタとして機能させる。以下、このようなシステム全体のマスタを「グランドマスタクロック」とも称す。
一例として、図2では、制御装置100Aのタイマ101Aがグランドマスタクロックに設定され、制御装置100B,100Cのタイマがこのグランドマスタクロックに時刻同期する。これにより、複数の制御装置100A〜100Bの間で、互いに時刻同期させることができる(図中の時刻同期(1)に相当)。
このように、複数の制御装置100A〜100Cの各々は、複数の制御装置100A〜100Cの間で互いに時刻同期されたタイマ(第1のタイマ)と、フィールドネットワーク110を介して接続される1または複数のフィールド機器200と時刻同期されたタイマ(第2のタイマ)とを有しており、第1のタイマと第1のタイマとは互いに時刻同期している。この結果、制御装置100Aおよびフィールド機器200A〜200Cの間で時刻同期された第2のタイマ(タイマ102A)と、制御装置100Bおよびフィールド機器200D〜200Fの間で時刻同期された第2のタイマ(タイマ102B)と、制御装置100Cおよびフィールド機器200G〜200Iの間で時刻同期された第2のタイマ(タイマ102C)とが互いに時刻同期することになる。
なお、図2には、いずれかの制御装置100のタイマをグランドマスタクロックとして設定する構成例について説明したが、外部装置のタイマをグランドマスタクロックとして設定してもよい。
<D.データ通信処理>
図3は、本実施の形態に従う制御システム1のデータ通信処理を示す模式図である。図3を参照して、フィールドネットワーク110に接続される制御装置100Aと複数のフィールド機器200A〜200Cとの間では、予め定められたシステム周期に従って、データが遣り取りされる。
制御装置100Bと複数のフィールド機器200D〜200Fとの間、および、制御装置100Cと複数のフィールド機器200G〜200Iとの間においても、システム周期に従って、データが遣り取りされる。このようなデータの遣り取りによって、制御装置100およびフィールド機器の制御動作が実現される。以下の説明では、フィールドネットワーク110上の通信を「下位ネットワーク(NW)通信」とも称する。
上位ネットワーク11に接続される制御装置100A〜100Cの間では、予め定められたシステム周期に従って、各制御装置が入力処理によってフィールド機器200から収集したデータ、演算処理によって生成した出力データなどが遣り取りされる。このようなデータの遣り取りによって、制御装置100Aに接続されるフィールド機器200、制御装置100Bに接続されるフィールド機器200および制御装置100Cに接続されるフィールド機器200を連係して動作させることができる。以下の説明では、ネットワーク11上の通信を「上位ネットワーク(NW)通信」とも称する。
本実施の形態に従う制御システム1においては、下位ネットワーク通信におけるデータの伝送を開始すべきタイミングは、複数の制御装置100A〜100Cの間で互いに時刻同期されているタイマ(第1のタイマ)の時刻に基づいて決定される。これにより、複数の制御装置100A〜100Cの間では、フィールド機器200との間でデータを遣り取りするタイミングなどを互いに一致させることができるため、結果的にフィールド機器200の制御タイミングを同期させることができる。
<E.制御装置のハードウェア構成例>
次に、本実施の形態に従う制御装置100のハードウェア構成について説明する。
図4は、本実施の形態に係る制御装置100のハードウェア構成例を示すブロック図である。制御装置100は、典型的には、PLC(プログラマブルコントローラ)をベースとして構成されてもよい。
図4を参照して、制御装置100は、主たるコンポーネントとして、プロセッサ103と、メモリ104と、ストレージ106と、ネットワークコントローラ130と、フィールドネットワークコントローラ140とを含む。
プロセッサ103は、ストレージ106に格納されているシステムプログラム107およびユーザアプリケーションプログラム108を読出して実行することにより、後述するような処理を含む各種処理を実現する。メモリ104は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置からなる。ストレージ106は、制御装置100の各部を制御するためのシステムプログラム107に加えて、制御対象などに応じて設計されるユーザアプリケーションプログラム108が格納される。
ネットワークコントローラ130は、制御装置100がネットワーク11を介して他の装置との間でデータを遣り取りするためのインターフェイスを提供する。ネットワークコントローラ130は、主たるコンポーネントとして、送受信コントローラ131と、送受信バッファ132と、タイマ101とを含む。
送受信コントローラ131は、ネットワーク11上を定周期で伝送されるパケットの生成および受信に関する処理を行なう。具体的には、送受信コントローラ131は、ネットワーク11から受信したパケットに格納されているデータを送受信バッファ132に書込む。送受信コントローラ131は、送受信バッファ132に書込まれた受信パケットを順次読出すとともに、当該読出したデータのうち制御装置100での処理に必要なデータのみをプロセッサ103へ出力する。送受信コントローラ131は、プロセッサ103からの指令に従って、他の装置へ送信すべきデータあるいはパケットを送受信バッファ132へ順次書込む。送受信バッファ132に格納されているデータは、ネットワークコントローラ130上をパケットが転送される周期に応じて順次送出される。
タイマ101は、送受信コントローラ131からデータの送信などを指示するタイミングの基準となるパルスを発生する。タイマ101としては、リアルタイムクロック、または、所定周期でカウントアップ(インクリメント)するフリーランカウンタを用いることができる。フリーランカウンタが出力するカウント値をある時点からの経過時間として扱うことで現在時刻を計算でき、これによってタイマとして機能させることができる。
フィールドネットワークコントローラ140は、制御装置100がフィールドネットワーク110を介してフィールド機器200との間でデータを遣り取りするためのインターフェイスを提供する。フィールドネットワークコントローラ140は、主たるコンポーネントとして、送受信コントローラ141と、送受信バッファ142と、タイマ102とを含む。これらのコンポーネントの機能は、ネットワークコントローラ130の対応するコンポーネントの機能と同様であるので、詳細な説明は繰返さない。
フィールド機器200は、制御システム1による様々な機械や設備の制御を実現する。典型的には、フィールド機器200の各々は、制御対象の機械や設備などからのフィールド情報の収集や、制御対象の機械や設備への指令信号の出力などを司る。フィールド機器200は、主たるコンポーネントとして、フィールドネットワークコントローラ210と、フィールドネットワーク110上でのデータ転送を管理するための制御ロジック214とを含む。
フィールドネットワークコントローラ210は、フィールド機器200がフィールドネットワーク110を介して制御装置100との間でデータを遣り取りするためのインターフェイスを提供する。フィールドネットワークコントローラ210は、主たるコンポーネントとして、送受信コントローラ212と、タイマ201とを含む。送受信コントローラ212は、フィールドネットワーク110上を転送される通信フレームに対するデータ書込みおよびデータ読出しを行なう。タイマ201は、送受信コントローラ212に対する指令出力やフィールド機器200での処理実行などのタイミングの基準となるクロックを発生する。タイマ201としては、リアルタイムクロックまたがフリーランカウンタが用いられる。
ネットワークコントローラ130は、本発明における「上位通信手段」の一実施例に対応する。ネットワークコントローラ130のタイマ101は、図2で示したように、他の制御装置100のネットワークコントローラ130のタイマ101と時刻同期している。すなわち、タイマ101は本発明における「第1のタイマ」の一実施例に対応する。
フィールドネットワークコントローラ140は、本発明における「下位通信手段」の一実施例に対応する。フィールドネットワークコントローラ140のタイマ102は、図2で示したように、フィールド機器200のタイマ201と時刻同期している、すなわち、タイマ102は本発明における「第2のタイマ」の一実施例に対応する。
<F.ソフトウェア構成>
次に、本実施の形態に従う制御処理を実現するためのソフトウェア構成の一例について説明する。図5は、本実施の形態に従う制御処理を実現するための制御装置100のソフトウェア構成の一例を示す模式図である。
図5を参照して、制御装置100のプロセッサ103ではスケジューラ170が実行される。スケジューラ170は、予め定められたシステム周期に従って、複数の処理の実行順序や実行中断などを決定する。より具体的には、スケジューラ170は、ユーザアプリケーション実行処理171と、各種処理を含む周辺処理172と、上位ネットワーク通信処理173と、下位ネットワーク通信処理174と、時刻同期処理175とに対して、予め定められた優先度およびシステム周期などに従って、処理リソース(プロセッサ時間およびメモリなど)を割り当てる。
ユーザアプリケーション実行処理171は、ユーザアプリケーションプログラム108(図4参照)の実行に係る処理を含む。
上位ネットワーク通信処理173は、上位ネットワーク通信に関わるデータに係る処理、例えば、データ作成、エンコーディング、デコーディング、抽出、加工編集などを含む。同様に、下位ネットワーク通信処理174は、下位ネットワーク通信に関わるデータに係る処理を含む。
時刻同期処理175は、時刻同期に係る処理を含む。例えば、自身の制御装置100のタイマ101がグランドマスタクロックに設定された場合、時刻同期処理175は、他の制御装置100およびフィールド機器200との間で時刻同期をとるために、タイマ101を基準として、他の制御装置100およびフィールド機器200のタイマを調整する処理などを含む。あるいは、他の制御装置100のタイマ101がグランドマスタクロックに設定された場合、時刻同期処理175は、他の制御装置100のタイマ101を基準として自身のタイマ101およびフィールド機器200のタイマ201を調整する処理を含む。
さらに、制御装置100のプロセッサ103には、通信ドライバ176が実装されており、通信ドライバ176がネットワークコントローラ(図4参照)などを制御する。
<G.制御処理のスケジューリング>
次に、本実施の形態に従う制御装置100における制御処理のスケジューリングについて説明する。
図6は、本実施の形態に従う制御装置100における制御処理のスケジューリングを説明するための模式図である。図6においては、ネットワーク11に接続される複数の制御装置100A〜100Cにおける制御処理の実行タイミングが示されている。
図6を参照して、制御装置100A〜100Cの各々においては、予め定められたシステム周期Tsに従って、上位ネットワーク通信処理、下位ネットワーク通信処理、シーケンス処理、およびモーション処理が実行される。
上位ネットワーク通信処理は、図3に示したように、複数の制御装置100A〜100Cの間で、上位ネットワーク11を介してデータを遣り取りする処理である。上位ネットワーク通信処理では、入力データおよび出力データを更新する入出力リフレッシュ処理が実行される。入出力リフレッシュ処理においては、他の制御装置100から入力データが収集されるとともに、直前のシステム周期Tsにおいて演算された出力データが他の制御装置100へ与えられる。
下位ネットワーク通信処理は、図3に示したように、制御装置100とフィールド機器200との間で、フィールドネットワーク110を介してデータを遣り取りする処理である。下位ネットワーク通信処理では、入力データおよび出力データを更新する入出力リフレッシュ処理が実行される。入出力リフレッシュ処理においては、フィールド機器200から入力データが収集されるとともに、直前のシステム周期Tsにおいてモーション処理により演算された出力データがフィールド機器200へ与えられる。
シーケンス処理は、基本的には、入力値、出力値、内部値などを演算する1または複数の論理回路により記述されるプログラム(シーケンスプログラム)を実行する処理である。なお、シーケンスプログラムは、電気回路を表現するプログラムでもよい。
モーション処理は、サーボモータなどのアクチュエータに対して、位置、速度、加速度、加加速度、角度、角速度、角加速度、角加加速度などの数値を指令として演算する処理である。
図6の例では、制御装置100A〜100Cの各々において、まず、下位ネットワーク通信処理が優先的に割り当てられる。具体的には、システム周期Tsに対して、下位ネットワーク通信処理に要する処理時間(以下、「下位ネットワーク通信処理時間」とも称す。)t1が割り当てられる。システム周期Tsのうち、下位ネットワーク通信処理時間t1を除いた残り時間に対して、上位ネットワーク通信処理に要する処理時間、シーケンス処理に要する処理時間、およびモーション処理に要する処理時間が順次割り当てられる。
本実施の形態に従うスケジューリングにおいては、下位ネットワーク通信処理を開始すべきタイミング(図中のタイミングT1に相当)を、複数の制御装置100A〜100Cの間で互いに一致させる。本実施の形態に従うスケジューリングにおいては、さらに、上位ネットワーク通信処理を開始すべきタイミング(図中のタイミングT2に相当)を、複数の制御装置100A〜100Cの間で互いに一致させる。これにより、複数の制御装置100A〜100Cの間で、入力データの取得タイミングおよび出力データの出力タイミングを互いに一致させることができる。
なお、上位ネットワーク通信は、すべてのシステム周期で発生するものではないので、複数の制御装置100A〜100Cのいずれかの制御装置においては、システム周期のうち下位ネットワーク通信処理時間を除いた残り時間でシーケンス処理およびモーション処理が行なわれることもある。この場合、当該制御装置を除いた残りの制御装置の間で、上位ネットワーク通信処理を開始すべきタイミングを一致させる。
あるいは、複数の制御装置100A〜100Cの間で上位ネットワーク通信処理を開始すべきタイミングを一致させたことで、いずれかの制御装置においては、上位ネットワーク通信処理時間を除いた残り時間が少なくなり、システム周期内にシーケンス処理およびモーション処理を実行するのに必要な時間を確保できなくなる場合が生じる。このような場合、当該制御装置においては、上位ネットワーク通信の対象となるデータを、各システム周期において利用可能な通信時間に応じたデータサイズに分割した上で、分割後のそれぞれのデータを複数のシステム周期に割り当てる。
図8は、図6に示した制御処理のスケジューリングにおける、通信処理の開始タイミングを決定する処理を説明するためのフローチャートである。図8に示す処理は、典型的には、典型的には、サポート装置400(図7参照)を用いて実行される。
図7に示すように、制御装置100には、サポート装置400が接続可能になっている。サポート装置400は、制御装置100が制御対象を制御するために必要な準備を支援する装置である。具体的には、サポート装置400は、制御装置100で実行されるプログラムの開発環境(プログラム作成編集ツール、パーサ、コンパイラなど)、制御装置100および制御装置100に接続される各種デバイスのパラメータ(コンフィギュレーション)を設定するための設定環境、生成したユーザプログラムを制御装置100へ出力する機能、制御装置100上で実行されるユーザプログラムなどをオンラインで修正・変更する機能、などを提供する。サポート装置400は設定ツールがインストールされたPC(パーソナルコンピュータ)などにより構成される。
なお、図7に示す制御システム1においては、制御装置100とサポート装置400とが別体として構成されているが、サポート装置400の機能を制御装置100に搭載するような構成を採用してもよい。
図8を参照して、最初に、上位ネットワーク11における時刻同期プロトコルにより、複数の制御装置100の間で、ネットワークコントローラ130のタイマ101を互いに時刻同期させる(ステップS10)。時刻同期プロトコルとしては、IEEE(Institute of Electrical and Electronics Engineers)158、IEEE802.1AS、IEEE802.1ASなどの高精度時間同期プロトコルを採用することで、時刻同期を実現することができる。
図2の例では、複数の制御装置100A〜100Cのうちのいずれか(例えば制御装置100A)のタイマ101をグランドマスタクロックに設定するとともに、他の制御装置(例えば制御装置100B,100C)のタイマ101をこのグランドマスタクロックに時刻同期させる。ステップS10の処理により、図2に示すように、複数の制御装置100A〜100Cの間では、ネットワークコントローラ130のタイマ101が互いに時刻同期されることになる(図2の時刻同期(1)に相当)。
次に、複数の制御装置100の各々においては、他の制御装置100との間で時刻同期させたネットワークコントローラ130のタイマ101に、フィールドネットワークコントローラ140のタイマ102を時刻同期させる(ステップS20)。
このような制御装置100内部における複数のタイマ間の時刻同期を実現するために、ネットワークコントローラ130のタイマ101に同期機能が実装され、フィールドネットワークコントローラ140のタイマ102にラッチ機能が実行される。タイマ101の同期機能は、自身のタイマを基準としてタイマ102を調整する機能である。タイマ102のラッチ機能は、タイマ101を基準として自身のタイマを調整する機能である。タイマ101の同期機能は、指定されたタイミングでタイマ101が同期信号をアサートすると、その同期信号がアサートされた時刻を通知する。ラッチ機能は、タイマ101からの同期信号を検知すると、自身が保持している時刻と先に通知された時刻との差分に基づいて、タイマ102の時刻を補正する。ステップS20の処理により、図2に示すように、制御装置100A〜100Cの各々において、タイマ101とタイマ102との間の時刻同期が実現される(図2の時刻同期(2)に相当)。各制御装置100ではさらに、フィールドネットワークコントローラ140のタイマ102にフィールド機器200が有するタイマ201を時刻同期させる(図2の時刻同期(3)に相当)。この結果、複数の制御装置100の各々に接続されるフィールド機器200はいずれも、グランドマスタクロックであるタイマ101に時刻同期することになる。
次に、グランドマスタクロックであるタイマ101が管理する時刻を基準として、複数の制御装置100の各々の通信処理のスケジュールが決定される。図6の例では、最初に、下位ネットワーク通信処理を開始すべきタイミングT1が決定される(ステップS30)。ステップS30では、上述した時刻同期処理が完了した後の最初のシステム周期TsにおけるタイミングT1は、時刻同期処理を開始したタイミングT0から所定の時間αが経過したタイミングに設定される(T1=T0+α)。この所定の時間αは、時刻同期処理に要する時間を含むように設定されている。
なお、図6に示したように、下位ネットワーク通信処理は、システム周期Ts毎に実行される。第2回目以降のシステム周期TsにおけるタイミングT1は、前回のシステム周期TsにおけるタイミングT1に対して、システム周期Tsに相当する時間を加算したタイミングに設定される(T1(今回のシステム周期)=T1(前回のシステム周期)+Ts)。
次に、複数の制御装置100の各々について、下位ネットワーク通信処理に要する時間(以下、「下位ネットワーク通信処理時間t1」とも称す。)が算出される(ステップS40)。下位ネットワーク通信処理時間t1は、制御装置100とフィールド機器200との間の通信状況に依存するため、図6に示すように、制御装置100ごとに異なる長さとなり得る。制御装置100とフィールド機器200との間の通信状況には、制御装置100とフィールド機器200との間で遣り取りされるデータサイズ、データを伝送するための通信帯域、フィールドネットワーク110上に送出されたデータがフィールド機器200まで伝送されるのに要する時間、および、各フィールド機器200がデータを受信してから該受信データに対応する信号がフィールド機器200から出力可能になるまでに要する時間などが含まれる。これらの要素の少なくとも一部は、サポート装置400に実装されている設定ツールを用いて、ユーザが設定することができる。複数の制御装置100の各々について、ユーザにより設定された要素に基づいて、下位ネットワーク通信処理時間t1が算出される。
次に、ステップS40により制御装置100ごとに算出された下位ネットワーク通信処理時間t1のうち、その値が最も大きなものが「最大下位ネットワーク通信処理時間t1_low」として算出される(ステップS50)。
次に、複数の制御装置100の各々における、フィールドネットワーク110に接続されるフィールド機器200の制御タイミングが決定される。フィールドネットワーク110に複数のフィールド機器200が接続されている場合、該複数のフィールド機器200の制御タイミングは、複数のフィールド機器200のうち、データを受信するタイミングが最も遅いフィールド機器200がデータを受信するタイミングに基づいて決定される。
次に、複数の制御装置100の各々において、上位ネットワーク通信処理を開始すべきタイミングT2が決定される(ステップS70)。上位ネットワーク通信処理を開始すべきタイミングT2は、ステップS30で決定された、下位ネットワーク通信処理を開始すべきタイミングT1を基準として、最大下位ネットワーク通信処理時間t1_lowに基づいて決定される。図6の例では、タイミングT2は、タイミングT1に最大下位ネットワーク通信処理時間t1_lowを加算したタイミングに設定されている(T2=T1+t1_low)。
このように、下位ネットワーク通信を開始すべきタイミングT1を複数の制御装置100の間で一致させることで、複数の制御装置100の間で、フィールド機器200に対する入出力リフレッシュ処理のタイミングを互いに同期させることができる。さらに、上位ネットワーク通信を開始すべきタイミングT2を複数の制御装置100の間で一致させることで、互いに独立した制御を実行する複数の制御装置100の間で入出力リフレッシュ処理のタイミングを互いに同期させることができる。これにより、複数の制御装置100の間でフィールド機器200の制御タイミングを同期させることができる。この結果、互いに異なる制御装置100に接続される複数のフィールド機器200の協調制御が可能となる。
<H.応用例>
図9は、本実施の形態に係る制御システム1の応用例を示す模式図である。図9には、ロボット組立システムに本実施の形態に係る制御システム1を適用した例が示されている。
図9を参照して、ロボット組立システムは、多関節ロボット700と、ワークWを保持するXYステージ750とを含む。図9には、多関節ロボット700の先端に把持された部品をワークWに設けられた孔に挿入するようなアプリケーション例を示す。
制御装置100Aは、フィールドネットワーク110を介して各種のフィールド機器200と接続されている。制御装置100Aは、典型的には、PLCとして具現化されてもよい。フィールド機器200は、リモートI/O(Input/Output)装置510と、サーボドライバ520,530とを含む。
リモートI/O装置510は、典型的には、フィールドネットワーク110を介して通信を行なう通信カプラと、入力データの取得および出力データの出力を行なうための入出力部とを含む。リモートI/O装置510には、入力リレーや各種センサなどの入力データを収集する装置、および、出力リレー、コンタクタ、サーボドライバ、および、その他任意のアクチュエータなどのフィールドに対して何らかの作用を与える装置が接続される。
サーボドライバ520は、制御装置100A(PLC)からの出力データ(例えば、位置指令や速度指令など)に従って、XYステージ750のX軸を駆動するサーボモータ752を駆動する。サーボドライバ530は、制御装置100Aからの出力データに従って、XYステージ750のY軸を駆動するサーボモータ754を駆動する。
制御装置100Bは、フィールドネットワーク110を介してフィールド機器200と接続されている。フィールド機器200は、多関節ロボット700を含む。制御装置100Bは、典型的には、ロボットコントローラとして具現化されてもよい。
すなわち、ロボット組立システムにおいて、多関節ロボット700は制御装置100B(ロボットコントローラ)によって駆動され、XYステージ750は制御装置100A(PLC)によって駆動される。多関節ロボット700およびXYステージ750は連係させる必要があるので、制御装置100Aおよび制御装置100Bは、いずれも上位ネットワーク11を介して上位コントローラ195と接続されている。上位コントローラ195は、制御装置100Aおよび制御装置100Bに対して指令を与える。
制御装置100Aは、リモートI/O装置510を介して取得される入力データおよび内部データを用いて、シーケンス制御に従って出力データを演算し、演算した出力データをリモートI/O装置510から出力する。制御装置100Aは、モーション制御において演算される指令値をそれぞれのサーボドライバ520に与えることで、XYステージ750上に配置されたワークWを適切な位置に位置決めする。
一方、多関節ロボット700に対する制御は、制御装置100A(PLC)とは別に配置された制御装置100B(ロボットコントローラ)によって実現される。制御装置100Bは、ロボットプログラムに記述された命令を逐次実行することで、多関節ロボット700に予め定められた挙動を行なわせる。
制御装置100Aおよび制御装置100Bは、それぞれ独立した制御処理を実行するので、XYステージ750と多関節ロボット700とを連係して動作させるために、それぞれの装置の情報を上位ネットワーク11上で遣り取りする。
本実施の形態に従うロボット組立システムにおいては、制御装置100Aは、リモートI/O装置510およびサーボドライバ520との間で互いに時刻同期されたタイマを有しており、制御装置100Bは、多関節ロボット700との間で互いに時刻同期されたタイマを有している。そして、制御装置100Aおよび制御装置100Bのいずれかにあるタイマを、制御システム1全体のマスタ(グランドマスタクロック)として機能させることにより、制御装置100Aと制御装置100Bとを時刻同期させる。
この同期した時刻に基づいた通信処理のスケジューリングを行なうことによって、制御装置100AとリモートI/O装置510およびサーボドライバ520との間でデータを送受信する処理を開始すべきタイミングと、制御装置100Bと多関節ロボット700との間でデータを送受信する処理を開始すべきタイミングとを互いに一致させる。さらに、制御装置100Aと制御装置100Bとの間でデータを送受信する処理を開始すべきタイミングを一致させる。
このような構成を採用することにより、リモートI/O装置510およびサーボドライバ520と多関節ロボット700との間で、データが出力されるタイミングまたはデータが更新されるタイミングを互いに同期させることができる。その結果、例えば、加工前のワークWを所定位置に配置し、あるいは、組立済みのワークWを取り出す際において、多関節ロボット700とXYステージ750との間で、制御タイミングを同期させることができる。これにより、多関節ロボット700とXYステージ750との間では、処理の待ち合わせが不要となるため、処理時間を短縮することができる。また、XYステージ750の動作と多関節ロボット700の動作とが同期するため、XYステージ750を動作させつつ、多関節ロボット700を動作させる際に、動作タイミングを一致させることができるため、組立精度を向上させることが可能となる。
<I.利点>
本実施の形態に従う制御システム1によれば、同一の上位ネットワークに接続される複数の制御装置の各々は、他の制御装置と互いに時刻同期されたタイマ(第1のタイマ)を有しているため、このタイマの時刻を基準として、下位ネットワークを介して1または複数のフィールド機器との間でデータを送受信するタイミングを決定することができる。これにより、複数の制御装置の間で、入力データを収集するタイミングまたは出力データを送信するタイミングを互いに同期させることができる。また、複数の制御装置は互いに時刻同期しているため、それぞれの機器のデータを遣り取りするタイミングを互いに同期させることができる。この結果、互いに異なる制御装置に接続される複数の機器の協調制御を行なうことが可能となる。
これにより、互いに異なる制御装置に接続される複数の機器の間で、制御タイミングを同期させることができるため、当該複数の機器の間では処理の待ち合わせが不要となり、処理時間を短縮することができる。また、複数の機器の動作が互いに同期するため、動作タイミングを一致させることができ、結果的に処理精度を向上させることができる。
[付記]
以上のように、本実施形態は以下のような開示を含む。
(1)本実施形態では、第1のネットワーク(11)に接続される複数の制御装置(100)と、第1のネットワーク(11)よりも下位の第2のネットワーク(110)を介して、複数の制御装置(100)の各々に接続される1または複数の機器(200)とを備える制御システム(1)が提供される。複数の制御装置(100)の各々は、第1のネットワーク(11)を介して他の制御装置(200)との間で第1のデータを送受信する上位通信手段と、第2のネットワーク(110)を介して1または複数の機器(200)との間で第2のデータを送受信する下位通信手段とを含む。上位通信手段は、複数の制御装置(100)の間で互いに時刻同期された第1のタイマ(101)を有している。下位通信手段は、第1のタイマ(101)の時刻に基づいて、1または複数の機器(200)に対して第2のデータを伝送する処理を開始すべきタイミング(図6のタイミングT1)を決定する。
(2)上記制御システム(1)において好ましくは、上位通信手段は、第2のデータを伝送する処理を開始すべきタイミング(図6のタイミングT1)を基準として、複数の制御装置(100)の各々における下位通信手段が第2のデータの送受信に要する時間(図6の時間t1)の最大値に基づいて、第1のデータを伝送する処理を開始すべきタイミング(図6のタイミングT2)を決定する。
(3)上記制御システム(1)において好ましくは、複数の制御装置(100)の各々は、予め定められた周期において、第2のデータを伝送する処理および第1のデータを伝送する処理を実行した後に、ユーザプログラムを実行する。
(4)上記制御システム(1)において好ましくは、下位通信手段は、1または複数の機器(200)との間で互いに時刻同期された第2のタイマ(102)を有する。複数の制御装置(100)の各々は、第1のタイマ(101)と第2のタイマ(102)との間で時刻同期するための同期手段をさらに含む。
(5)上記制御システム(1)において好ましくは、上位通信手段は、第1のプロトコルに従って第1のデータを送受信する。下位通信手段は、第1のプロトコルとは異なる第2のプロトコルに従って第2のデータを送受信する。同期手段は、第1のタイマ(101)を基準として、第2のタイマ(102)を時刻補正する。
(6)上記制御システム(1)において好ましくは、下位通信手段は、第2のデータを予め定められた周期毎に更新する。上位通信手段は、第1のデータを、各周期において利用可能な時間に応じたデータサイズに分割した上で、分割後のそれぞれのデータを複数の周期に割り当てる。
(7)本実施形態では、第1のネットワーク(11)に接続されるとともに、第1のネットワーク(11)よりも下位の第2のネットワーク(110)を介して1または複数の機器(200)と接続される制御装置(100)が提供される。制御装置(100)は、第1のネットワーク(11)を介して他の制御装置(100)との間で第1のデータを送受信する上位通信手段と、第2のネットワーク(110)を介して1または複数の機器(200)との間で第2のデータを送受信する下位通信手段とを備える。上位通信手段は、他の制御装置(100)の間で互いに時刻同期された第1のタイマ(101)を有している。下位通信手段は、第1のタイマ(101)の時刻に基づいて、1または複数の機器(200)に対して第2のデータを伝送する処理を開始すべきタイミングを決定する。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 制御システム、2,11〜14 ネットワーク、101(101A〜101C) タイマ(第1のタイマ)、102(102A〜102C) タイマ(第2のタイマ)、201(201A〜201I) タイマ、103 プロセッサ、104 メモリ、106 ストレージ、107 システムプログラム、108 ユーザアプリケーションプログラム、110 フィールドネットワーク、130 ネットワークコントローラ、131,141,212 送受信コントローラ、132,142 送受信バッファ、140,210 フィールドネットワークコントローラ、170 スケジューラ、171 ユーザアプリケーション実行処理、172 周辺処理、173 上位ネットワーク通信処理、174 下位ネットワーク通信処理、175 時刻同期処理、176 通信ドライバ、180 表示装置、190 ライン管理装置、195 上位コントローラ、200(200A〜200I) フィールド機器(機器)、214 制御ロジック、300 製造管理装置、3120 データベース装置、350 生産管理装置、400 サポート装置、510 リモートI/O装置、520,530 サーボドライバ、700 多関節ロボット、750 ステージ、752,754 サーボモータ。

Claims (6)

  1. 第1のネットワークに接続される複数の制御装置と、
    前記第1のネットワークよりも下位の第2のネットワークを介して、前記複数の制御装置の各々に接続される1または複数の機器とを備え、
    前記複数の制御装置の各々は、
    前記第1のネットワークを介して他の制御装置との間で第1のデータを送受信する上位通信手段と、
    前記第2のネットワークを介して前記1または複数の機器との間で第2のデータを送受信する下位通信手段とを含み、
    前記上位通信手段は、前記複数の制御装置の間で互いに時刻同期された第1のタイマを有しており、
    前記下位通信手段は、前記第1のタイマの時刻に基づいて、前記1または複数の機器に対して前記第2のデータを伝送する処理を開始すべきタイミングを決定し、
    前記上位通信手段は、前記第2のデータを伝送する処理を開始すべきタイミングを基準として、各前記複数の制御装置における前記下位通信手段が前記第2のデータの送受信に要する時間の最大値に基づいて、前記第1のデータを伝送する処理を開始すべきタイミングを決定する、制御システム。
  2. 前記複数の制御装置の各々は、予め定められた周期において、前記第2のデータを伝送する処理および前記第1のデータを伝送する処理を実行した後に、ユーザプログラムを実行する、請求項1に記載の制御システム。
  3. 第1のネットワークに接続される複数の制御装置と、
    前記第1のネットワークよりも下位の第2のネットワークを介して、前記複数の制御装置の各々に接続される1または複数の機器とを備え、
    前記複数の制御装置の各々は、
    前記第1のネットワークを介して他の制御装置との間で第1のデータを送受信する上位通信手段と、
    前記第2のネットワークを介して前記1または複数の機器との間で第2のデータを送受信する下位通信手段とを含み、
    前記上位通信手段は、前記複数の制御装置の間で互いに時刻同期された第1のタイマを有しており、
    前記下位通信手段は、前記第1のタイマの時刻に基づいて、前記1または複数の機器に対して前記第2のデータを伝送する処理を開始すべきタイミングを決定し、
    前記下位通信手段は、前記1または複数の機器との間で互いに時刻同期された第2のタイマを有し、
    前記複数の制御装置の各々は、前記第1のタイマと前記第2のタイマとの間で時刻同期するための同期手段をさらに含む、制御システム。
  4. 前記上位通信手段は、第1のプロトコルに従って前記第1のデータを送受信し、
    前記下位通信手段は、前記第1のプロトコルとは異なる第2のプロトコルに従って前記第2のデータを送受信し、
    前記同期手段は、前記第1のタイマを基準として、前記第2のタイマを時刻補正する、請求項に記載の制御システム。
  5. 第1のネットワークに接続される複数の制御装置と、
    前記第1のネットワークよりも下位の第2のネットワークを介して、前記複数の制御装置の各々に接続される1または複数の機器とを備え、
    前記複数の制御装置の各々は、
    前記第1のネットワークを介して他の制御装置との間で第1のデータを送受信する上位通信手段と、
    前記第2のネットワークを介して前記1または複数の機器との間で第2のデータを送受信する下位通信手段とを含み、
    前記上位通信手段は、前記複数の制御装置の間で互いに時刻同期された第1のタイマを有しており、
    前記下位通信手段は、前記第1のタイマの時刻に基づいて、前記1または複数の機器に対して前記第2のデータを伝送する処理を開始すべきタイミングを決定し、
    前記下位通信手段は、前記第2のデータを予め定められた周期毎に更新し、
    前記上位通信手段は、前記第1のデータを、各周期において利用可能な時間に応じたデータサイズに分割した上で、分割後のそれぞれのデータを複数の周期に割り当てる、制御システム。
  6. 第1のネットワークに接続されるとともに、前記第1のネットワークよりも下位の第2のネットワークを介して1または複数の機器と接続される制御装置であって、
    前記第1のネットワークを介して他の制御装置との間で第1のデータを送受信する上位通信手段と、
    前記第2のネットワークを介して前記1または複数の機器との間で第2のデータを送受信する下位通信手段とを備え、前記上位通信手段は、前記他の制御装置の間で互いに時刻同期された第1のタイマを有しており、
    前記下位通信手段は、前記第1のタイマの時刻に基づいて、前記1または複数の機器に対して前記第2のデータを伝送する処理を開始すべきタイミングを決定し、
    前記上位通信手段は、前記第2のデータを伝送する処理を開始すべきタイミングを基準として、各前記制御装置における前記下位通信手段が前記第2のデータの送受信に要する時間の最大値に基づいて、前記第1のデータを伝送する処理を開始すべきタイミングを決定する、制御装置。
JP2017183680A 2017-09-25 2017-09-25 制御システムおよび制御装置 Active JP6962099B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2017183680A JP6962099B2 (ja) 2017-09-25 2017-09-25 制御システムおよび制御装置
US16/639,557 US11082197B2 (en) 2017-09-25 2018-08-23 Control system and control device
CN201880053680.XA CN111034128B (zh) 2017-09-25 2018-08-23 控制系统以及控制装置
EP18859434.5A EP3691192B1 (en) 2017-09-25 2018-08-23 Control system and control device
PCT/JP2018/031068 WO2019058861A1 (ja) 2017-09-25 2018-08-23 制御システムおよび制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017183680A JP6962099B2 (ja) 2017-09-25 2017-09-25 制御システムおよび制御装置

Publications (2)

Publication Number Publication Date
JP2019062288A JP2019062288A (ja) 2019-04-18
JP6962099B2 true JP6962099B2 (ja) 2021-11-05

Family

ID=65811103

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017183680A Active JP6962099B2 (ja) 2017-09-25 2017-09-25 制御システムおよび制御装置

Country Status (5)

Country Link
US (1) US11082197B2 (ja)
EP (1) EP3691192B1 (ja)
JP (1) JP6962099B2 (ja)
CN (1) CN111034128B (ja)
WO (1) WO2019058861A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7423920B2 (ja) * 2019-07-03 2024-01-30 オムロン株式会社 制御システム、設定装置およびコンピュータプログラム
JPWO2021002421A1 (ja) * 2019-07-04 2021-01-07
JP7318406B2 (ja) * 2019-08-07 2023-08-01 オムロン株式会社 制御装置
JP7251402B2 (ja) * 2019-08-20 2023-04-04 オムロン株式会社 制御システム、制御装置およびプログラム
JP7310495B2 (ja) * 2019-09-26 2023-07-19 オムロン株式会社 制御システム、情報処理装置およびプログラム
JP7412119B2 (ja) * 2019-10-03 2024-01-12 株式会社キーエンス データ活用システム
JP7423249B2 (ja) * 2019-10-24 2024-01-29 株式会社日立製作所 制御装置及び分散制御システム
WO2021130983A1 (ja) * 2019-12-26 2021-07-01 三菱電機株式会社 データ収集分析システム、データ収集分析装置、機械学習装置およびデータ収集分析方法
JP7167072B2 (ja) * 2020-02-19 2022-11-08 株式会社安川電機 生産システム、通信方法、及びプログラム
JP7229957B2 (ja) * 2020-02-19 2023-02-28 株式会社安川電機 生産システム、通信方法、及びプログラム
US11765233B2 (en) * 2020-04-24 2023-09-19 Mitsubishi Electric Corporation Communication device, communication system, communication method, and recording medium
JP7337021B2 (ja) * 2020-04-28 2023-09-01 株式会社日立産機システム 産業用ネットワークに接続されるスレーブ装置を制御するマスタ装置及び当該マスタ装置に備えられる通信モジュール
JP2022133624A (ja) * 2021-03-02 2022-09-14 オムロン株式会社 情報処理装置、方法およびプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002351513A (ja) 2001-05-30 2002-12-06 Okuma Corp 数値制御装置
DE102006013640A1 (de) 2006-03-22 2007-09-27 Robert Bosch Gmbh Verfahren und Datenübertragungssystem zur Übergabe von Daten zwischen dem Datenübertragungssystem und einem Host-Prozessor eines Teilnehmers eines Datenübertragungssystems
CN101316160B (zh) * 2008-06-11 2010-12-15 南京磐能电力科技股份有限公司 多节点同步采样和数据传输方法
CN104115432B (zh) * 2012-01-04 2017-09-15 马维尔国际贸易有限公司 用于在时间认知设备之间传达时间信息的方法和装置
JP2015115864A (ja) * 2013-12-13 2015-06-22 株式会社日立製作所 データ転送システム及びデータ転送システムの制御方法
JP2015118505A (ja) 2013-12-18 2015-06-25 富士電機株式会社 コントローラシステム
KR101542016B1 (ko) * 2014-09-17 2015-08-05 성균관대학교산학협력단 차량 내 이종 네트워크 도메인들 간의 동기화 게이트웨이 장치 및 동기화 방법
WO2016152237A1 (ja) 2015-03-25 2016-09-29 セイコーソリューションズ株式会社 同期メッセージ送出装置、時刻同期システムおよび同期メッセージ送出方法
JP6516217B2 (ja) * 2015-03-25 2019-05-22 セイコーソリューションズ株式会社 同期メッセージ送出装置、時刻同期システム、同期メッセージ送出方法およびプログラム
JP6477161B2 (ja) * 2015-03-31 2019-03-06 オムロン株式会社 情報処理装置、情報処理プログラムおよび情報処理方法

Also Published As

Publication number Publication date
CN111034128A (zh) 2020-04-17
US20210135836A1 (en) 2021-05-06
WO2019058861A1 (ja) 2019-03-28
EP3691192B1 (en) 2022-03-23
CN111034128B (zh) 2022-04-05
EP3691192A4 (en) 2021-06-09
US11082197B2 (en) 2021-08-03
JP2019062288A (ja) 2019-04-18
EP3691192A1 (en) 2020-08-05

Similar Documents

Publication Publication Date Title
JP6962099B2 (ja) 制御システムおよび制御装置
JP6946909B2 (ja) 制御システムおよび制御装置
JP6806019B2 (ja) 制御装置
US10277417B2 (en) Control system, control apparatus and control method with input-only communication frame
CN109581976B (zh) 控制装置
JP6950385B2 (ja) 制御装置および制御方法
JP7396393B2 (ja) 制御システム、装置および制御方法
JP2022028059A (ja) 制御システム
US11269313B2 (en) Controller and control system that stores data in current control cycle for output in next control cycle
JP7327225B2 (ja) ロボット制御システムおよび制御方法
US20090150705A1 (en) Method and apparatus for operating cooperating, differing devices
JP7251402B2 (ja) 制御システム、制御装置およびプログラム
EP3851925A1 (en) Control system and control device
WO2022185589A1 (ja) 情報処理装置、方法およびプログラム
JP7231073B2 (ja) 制御装置および制御システム
WO2021145124A1 (ja) 制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200304

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210707

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: 20210914

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210927

R150 Certificate of patent or registration of utility model

Ref document number: 6962099

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150