JP2020150485A - 制御システム、装置および制御方法 - Google Patents

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

Info

Publication number
JP2020150485A
JP2020150485A JP2019048251A JP2019048251A JP2020150485A JP 2020150485 A JP2020150485 A JP 2020150485A JP 2019048251 A JP2019048251 A JP 2019048251A JP 2019048251 A JP2019048251 A JP 2019048251A JP 2020150485 A JP2020150485 A JP 2020150485A
Authority
JP
Japan
Prior art keywords
frame
devices
communication
network
control system
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
JP2019048251A
Other languages
English (en)
Other versions
JP7059973B2 (ja
Inventor
光宏 米田
Mitsuhiro Yoneda
光宏 米田
信幸 阪谷
Nobuyuki Sakatani
信幸 阪谷
亮太 赤井
Ryota Akai
亮太 赤井
太雅 新實
Taiga Niimi
太雅 新實
成憲 澤田
Shigenori Sawada
成憲 澤田
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 JP2019048251A priority Critical patent/JP7059973B2/ja
Priority to EP20773346.0A priority patent/EP3940998A4/en
Priority to PCT/JP2020/006262 priority patent/WO2020189144A1/ja
Priority to CN202080017225.1A priority patent/CN113508560B/zh
Priority to US17/434,210 priority patent/US11811547B2/en
Publication of JP2020150485A publication Critical patent/JP2020150485A/ja
Priority to JP2022065758A priority patent/JP7396393B2/ja
Application granted granted Critical
Publication of JP7059973B2 publication Critical patent/JP7059973B2/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
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • 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/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • 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
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • 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/403Bus networks with centralised control, e.g. polling
    • H04L12/4035Bus networks with centralised control, e.g. polling in which slots of a TDMA packet structure are assigned based on a contention resolution carried out at a master unit
    • 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/44Star or tree networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25126Synchronize communication based on internal clock of microprocessor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1685Details of the supervisory signal the supervisory signal being transmitted in response to a specific request, e.g. to a polling signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1848Time-out mechanisms
    • 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
    • H04L2012/4026Bus for use in automation systems
    • 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/44Star or tree networks
    • H04L2012/445Star or tree networks with switching in a hub, e.g. ETHERNET switch
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Landscapes

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

Abstract

【課題】効率的な通信を可能にする制御システム、装置および方法を提供する。【解決手段】互いに時刻同期された複数の装置がネットワーク接続される。ネットワークは、複数の装置が周期的に遣り取りするフレームを転送し、複数の装置は、1以上の制御装置と、制御装置により制御される装置とを含み、各複数の装置は、自装置に到来するフレームを送信する第1の装置および自装置から送信されるフレームを受信する第2の装置を、それぞれ、ネットワークを介して接続し、複数の装置の少なくとも1つは、転送経路を介してフレームが規定時間に到着しない場合に、周期にかかる条件が満たされるときは、再送要求を、当該転送経路で送信する。【選択図】図1

Description

本開示は制御システム、装置および制御方法に関する。
近年の情報通信技術(ICT:Information and Communication Technology)の進歩に伴って、FA(Factory Automation)の生産ラインについても、現場の製造機器からPLC(プログラマブルコントローラ)までを一体のネットワーク化するようなシステムが実現されつつある。このようなネットワーク化の実現に関して、例えば、特許文献1(特開2011−192068号公報)は、PLCを構成するユニット間の通信を確実に行うために、マスタユニットは、スレーブユニットからのレスポンスの受信を待つことなく、異なるスレーブユニット宛の複数の送信フレームを一括りとして複数回(例えば3回)連続して送信する構成を開示する。
特開2011−192068号公報
特許文献1では、マスタユニットは、スレーブユニットにフレームが到着しているか否かにかかわらず、異なるスレーブユニット宛の複数の送信フレームを複数回連続して送信するのでフレームの転送量が多くなる。したがって、ユニット間の確実な通信を効率的に実現可能な環境が望まれる。
本開示の1つの目的は、効率的な通信を可能にする制御システム、装置および方法を提供することである。
この開示のある局面によれば、互いに時刻同期された複数の装置がネットワーク接続された制御システムが提供される。ネットワークは、複数の装置が周期的に遣り取りするフレームを転送し、複数の装置は、1以上の制御装置と、制御装置により制御される装置とを含み、各複数の装置は、自装置に到来するフレームを送信する第1の装置および自装置から送信されるフレームを受信する第2の装置を、それぞれ、ネットワークを介して接続し、各装置は、フレームの転送経路および同期した時刻に基づく転送タイミングの情報を有し、複数の装置の少なくとも1つは、転送経路を介してフレームが規定時間に到着しない場合に、周期にかかる条件が満たされるときは、再送要求を、当該転送経路で送信する。
上述の開示によれば、装置はフレームが規定時間に未到着において、周期にかかる条件が満たされるときに限り再送要求を送信する。したがって、未到着であれば再送要求が送信されるとしても、ネットワークの通信帯域の消費量の増加を限定的にすることができて、装置間の確実な通信を効率的に実現できる。
上述の開示において、周期は、複数の装置がフレームを遣り取りする時間と、遣り取りされるフレームのデータに基づく1以上の制御装置が実施する制御演算の時間とを含み、条件は、フレームを遣り取りする時間および制御演算の時間を、周期から除いた余裕時間と、再送要求に対する応答時間とに基づく条件を含む。
上述の開示によれば、再送要求を送信するために判断される条件を、周期内の余裕時間と再送要求にかかる応答時間に基づき設定することができる。
上述の開示において、周期にかかる条件が満たされないとき、1以上の制御装置は、前の周期で到着したフレームのデータに基く制御演算を実施、または前の周期で算出した値を制御に用いる。
上述の開示において、再送要求を送信できない場合は、前の制御周期で到着したフレームのデータまたは算出値で、制御を実施できる。
上述の開示において、少なくとも1つの装置は、再送要求を、ネットワークを介して第1の装置に転送するとき、フレームの未着通知を、ネットワークを介して第2の装置に転送する。
上述の開示によれば、フレームが未到着であった装置は、再送要求の送信とともに、当該フレームの転送先の装置に対してフレームに代えて未着通知を転送できる。したがって、転送先となる装置に対して、未着通知を送信することで、転送先装置による再送要求の送信を抑制することができる。これにより、上記に述べたように、通信帯域の消費量の増加を抑制できる。
上述の開示において、ネットワークが転送するフレームは、制御に用いる制御系データのフレームと、非制御系データのフレームとを含み、少なくとも1つの装置は、再送要求を、制御系データのフレームと非制御系データのフレームのうち、制御系データのフレームについてのみ送信する。
上述の開示によれば、再送要求は制御系データのみに限定して送信されるので、再送要求を送信するとしても、上記に述べたように、通信帯域の消費量の増加を抑制できる。
上述の開示において、少なくとも1つの装置は、ネットワークを介して、複数の第1の装置を接続し、複数の第1の装置のうち、再送要求に対する応答が可能な装置を検出し、検出された装置に再送要求を送信する再送処理部を備える。
上述の開示によれば、再送要求は、当該再送要求に対する応答が可能な装置宛に限定して送信することができるので、再送要求を送信するとしても、上記に述べたように、通信帯域の消費量の増加を抑制できる。
上述の開示において、制御装置間のネットワーク通信のプロトコルと、制御装置と制御される装置間のネットワーク通信のプロトコルは共通する。
上述の開示によれば、装置間のプロトコルは共通するので、フレーム転送時にプロトコル相違にかかる装置間でのプロトコル変換の省くことができて、その分、通信を高速化できる。
上述の開示のある局面によれば、制御システムに備えられる装置が提供される。制御システムは、ネットワーク接続されて互いに時刻同期された複数の装置を備え、ネットワークは、複数の装置が周期的に遣り取りするフレームを転送し、装置は、自装置に到来するフレームを送信する第1の装置および自装置から送信されるフレームを受信する第2の装置を、それぞれ、ネットワークを介して接続し、装置は、フレームの転送経路および同期した時刻に基づく転送タイミングの情報を有し、転送経路を介してフレームが規定時間に到着しない場合に、周期にかかる条件が満たされるときは、再送要求を、当該転送経路で送信する。
上述の開示によれば、装置はフレームが規定時間に未到着において、周期にかかる条件が満たされるときに限り再送要求を送信する。したがって、未到着であれば再送要求が送信されるとしても、ネットワークの通信帯域の消費量の増加を限定的にすることができて、装置間の確実な通信を効率的に実現できる。
この開示のある局面によれば、制御システムに備えられる装置の通信を制御する方法であって、制御システムは、ネットワーク接続されて互いに時刻同期された複数の装置を備え、ネットワークは、複数の装置が周期的に遣り取りするフレームを転送し、装置は、自装置に到来するフレームを送信する第1の装置および自装置から送信されるフレームを受信する第2の装置を、それぞれ、ネットワークを介して接続し、装置は、フレームの転送経路および同期した時刻に基づく転送タイミングの情報を有し、装置の通信を制御する方法は、ネットワークを介して当該装置に到来するフレームを受信するステップと、転送経路を介してフレームが当該装置に規定時間に到着するかを検出するステップと、フレームが到着しない場合、周期にかかる条件が満たされるときは、再送要求を、当該転送経路で送信するステップと、を備える。
上述の開示によれば、装置はフレームが規定時間に未到着において、周期にかかる条件が満たされるときに限り再送要求を送信する。したがって、未到着であれば再送要求が送信されるとしても、ネットワークの通信帯域の消費量の増加を限定的にすることができて、装置間の確実な通信を効率的に実現できる。
本開示によれば、効率的な通信を可能にする制御システム、装置および方法が提供される。
本実施の形態にかかる制御システム1の構成の一例を模式的に示す図である。 本実施の形態にかかるPLC100の要部構成を示す模式図である。 本発明の実施の形態に係るフィールド装置90の要部構成を模式的に示す図である。 本実施の形態にかかる通信フレーム20の構成の一例を模式的に示す図である。 本実施の形態にかかる通信フレーム20の構成の一例を模式的に示す図である。 本実施の形態にかかる通信フレーム20の構成の一例を模式的に示す図である。 本実施の形態にかかるストリームID29を説明するための図である。 本実施の形態にかかる接続情報テーブル170の構成の一例を模式的に示す図である。 本実施の形態にかかるスケジュール情報180の一例を模式的に示す図である。 本実施の形態にかかるPLC100が備える機能を模式的に示す図である。 本実施の形態にかかるフィールド装置90が備える機能を模式的に示す図である。 本実施の形態にかかる制御システム1における基本のタイミングチャートの一例を模式的に示す図である。 本実施の形態にかかる制御システム1における通信異常時のタイミングチャートの一例を模式的に示す図である。 本実施の形態にかかる通信異常時にデータ共有が困難となるケースを模式的に示す図である。 本実施の形態にかかる再送処理における通信シーケンスの一例を模式的に示す図である。 本実施の形態にかかる再送処理を実行する条件を説明する模式図である。 本実施の形態にかかる再送処理の一例を示すフローチャートである。 図17のステップS19の処理の一例を示すフローチャートである。 本実施の形態にかかるフィールド装置90による再送処理の一例を模式的に示す図である。 本実施の形態にかかる制御システム1の構成を他の構成と対して示す図である。
本実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
<A.適用例>
まず、本発明が適用される場面の一例について説明する。図1は、本実施の形態にかかる制御システム1の構成の一例を模式的に示す図である。図1を参照して、FAに適用され得る制御システム1では、例えば、ネットワーク11に接続されて、ネットワーク11を介してデータを遣り取りする「装置」の一実施例であるPLC100A、PLC100B、およびフィールド装置群を備える。また、制御システム1は、時刻同期のマスタクロックを提供可能なマスタ200を備える。マスタ200による時刻同期のマスタクロックの提供は、例えば、時刻マスタ機能を持つスイッチ、または何れかのPLC等で実現されてもよい。
本実施の形態では、時刻同期は、例えば、ネットワーク11においてTSN(Time-Sensitive Networking)に従うデータ通信が実施されることで実現され得る。また、「タイミング」は何らかの事象が生じる時期、時間または時刻の概念を表す。
PLC100AおよびPLC100Bは、制御演算を実施する「制御装置」の一実施例であって、本実施の形態では同様の機能を備える。PLC100A,PLC100Bを区別しない場合はPLC100と総称する。PLC100には、サポート装置500を接続することができる。フィールド装置群は、各種のフィールド装置90A〜90Fを含む。フィールド装置90A〜90Fは、それぞれ、PLC100からの受信データに従い制御する「制御対象」を、ネットワーク2を介して接続するが、フィールド装置90が制御対象と一体的に構成されて提供されてもよい。したがって、本実施の形態では、フィールド装置90は、PLC100により制御される装置に相当する。本発実施の形態では、フィールド装置90A〜90Fは基本的に同様の機能を備えるので、これらを区別しない場合は、「フィールド装置90」と総称する。
上記に述べた制御対象は、製造装置または生産ラインなど(以下、「フィールド」とも総称する。)に対して何らかの物理的な作用を与えるアクチュエータ、およびフィールドとの間で情報を遣り取りするセンサ等の入出力装置などを含み得る。
フィールド装置90A,90Bおよび90Cは、ネットワーク11を介して、デイジーチェーンでPLC100Aに順次接続されて、フィールド装置90D,90Eおよび90Fは、ネットワーク11を介して、デイジーチェーンでPLC100Bに順次接続されている。
本実施の形態では、制御対象で検知されたフィールド値が、ネットワーク11を介して転送される。「フィールド値」の概念は、任意の制御対象についてのデータ(値)の時間的な変化を連続的(あるいは、一定間隔をおいて不連続)に検知して得られる一連の値も含み得る。
本明細書において「フィールド値」は、PLC100での制御演算において利用可能な値(実値)を総称する概念であり、典型的には、制御対象から取得されて制御演算に入力されるセンサの出力などを含み得る。フィールド値に基づく制御演算による算出値は、「制御対象」を制御する指令値,制御量を含み得る。PLC100は、このようなフィールド値、指令値、制御量などを含む「制御系データ」を、ネットワーク11を介して転送する。「制御系データ」は、製造装置または生産設備の制御対象の制御に用いるために予め定められた周期毎(例えば、後述する制御周期10毎)にPLC100またはフィールド装置90において更新される必要がる。このように、制御系データは、制御対象の制御に用いられるため、ネットワーク11上を定周期的で転送されて、この通信周期を確実に保証する必要がある。ネットワーク11を介して、PLC100とフィールド装置90との間で遣り取りされる制御系データは、数100μsecオーダ〜数10msecオーダのごく短い周期で更新されることになる。
図1に示すネットワーク11においては、制御系データとは異なる非制御系データも転送され得る。非制御系データは、例えば、「情報系データ」または「制御情報系データ」を含む。これらは、制御系データのような制御周期の定周期的な転送が要求されないものの、ある程度の定時性が求められるデータである。情報系データは、制御システムの管理に関するデータを含む。制御情報系データは、制御システム1に備えられる装置または制御対象の設定,管理に関するデータを含む。
ネットワーク11には、例えばTSN規格に従いデータの到達時間が保証される、定周期通信を行なうバスまたはネットワークを採用することが好ましい。例えば、ネットワーク11にはTSNの上位プロトコルとしてEtherNet/IP(登録商標)などの公知のプロトコルに係るネットワークを採用してもよい。EtherNet/IPは、汎用的なEthernet(登録商標)上に制御用プロトコルを実装した産業用オープンネットワークである。
図1に示す制御システム1は、上記に述べたように、送信元から送出したデータ(制御系データ)が送信先(宛先)に到着する時刻が保証されることが要求される。このために、制御システム1は、予め定められた制御周期(後述する制御周期10)を維持しつつ、ネットワーク11が有する通信帯域において、制御系データの通信帯域が確保されるように、データ転送のためのスケジューリングを実施する。より具体的には、制御系データが、制御情報系データおよび情報系データよりも優先的に転送されるように、データ転送のためのスケジューリングが実施される。
制御システム1では、このような宛先への到着時刻を保証しつつ、スケジューリング機能を実現するために、互いに時刻同期された複数の装置(PLC100およびフィールド装置90)の各々は、時刻同期されたタイマ(あるいは、同期してインクリメントまたはデクリメントされるカウンタ)を有しており、それらタイマまたはカウンタに従って、各装置がデータの送信または受信のタイミングを決定する。
図1では、PLC100A,100Bはタイマ160A,160Bを有し、フィールド装置90A〜90Fは、それぞれ、タイマ99A〜99Fを有している。例えば、制御システム1は、マスタ200のタイマ200Aがグランドマスタとして機能し、PLC100のタイマおよびフィールド装置90のタイマがこのグランドマスタを基準としてタイミングを同期させる。このようなタイマ間の同期によって、制御システム1において、装置間でデータの転送タイミングなどを互いに一致または同期させることができる。
ネットワーク11は、データを格納した通信フレーム20を転送する。制御系データを格納した通信フレーム20を転送する周期は、制御周期10に同期している。したがって、各装置では、基本的に、制御周期毎に、当該制御周期のための制御系データが到来することが保証される。
各装置は、自装置に到来する通信フレーム20を送信する第1の装置および自装置から送信される通信フレーム20を受信する第2の装置を、ネットワーク11を介して接続する。各装置は、通信フレーム20の転送経路を示す経路情報および同期した時刻に基づく転送タイミングを示すタイミング情報を格納するとともに、自装置に到来する通信フレーム20または自装置から送信する通信フレーム20を保持(格納)する領域を備える。
ネットワーク11に接続される複数の装置の少なくとも1つは、ネットワーク11を介して通信フレーム20がタイミング情報により規定される時間に到着しないと判定した場合において、上記の周期にかかる条件が満たされるときは、未到着の通信フレーム20の再送要求9を、ネットワーク11を介して送信する。これにより、未到着であっても、上記に述べた制御系データの到来の保証が可能となる。
図1において、再送要求9の送信を説明する。例えば、ある制御周期において、フィールド装置90Cのフィールド値の通信フレーム20は、ネットワーク11を介して転送されて、フィールド装置90Bおよびフィールド装置90Aを経由してPLC100Aに到達する。転送途中でフレーム消失8が発生すると、消失の通信フレーム20はPLC100Aに到達しない。PLC100Aは、フィールド装置90Cからの通信フレーム20が、タイミング情報に基く規定時間に到着しないことを検知すると、当該周期内でフレーム再送処理を実施する余裕時間があるとの条件が満たされると判断した場合は、再送要求9をネットワーク11に送信する。
PLC100Aは、再送要求9の宛先を決定することができる。例えば、PLC100Aは、宛先を、自装置に到来する通信フレーム20を送信する第1の装置に決定する。または、ネットワーク11に複数の第1の装置が接続される場合は、PLC100Aは、宛先を、複数の第1の装置のうち再送要求9に応答する機能を備える装置に決定する。または、PLC100Aは、宛先を、当該応答機能を備える装置のうち自装置の最も近くに接続されている装置に決定する。各装置は、受信した再送要求9に応答して、要求される通信フレーム20を要求元の装置に送信する。
このように、制御システム1では、ネットワーク11に接続される各装置が、同期した時刻に基づく時間の観点で通信フレーム20の到着の失敗(フレーム消失8)または成功を判断し、フレーム消失8を判断したときに再送要求9を送信する。したがって、特許文献1のような複数回の連続送信によらずに、効率的な通信により各装置へのフレーム到着の確率を高めることができる。以下、本実施の形態のより具体的な応用例について説明する。
<B.PLC100のハードウェア構成>
図2は、本実施の形態にかかるPLC100の要部構成を示す模式図である。図2を参照して、PLC100は、演算処理部110、通信回路130、DMA(Direct Memory Access)コントローラ140、高精度なタイマ160、USB(Universal Serial Bus)コントローラ107、ネットワーク11を接続する通信ポート136および137、およびメモリカードインターフェイス108を含む。
演算処理部110は、プロセッサ112、記憶部114およびストレージ119を含む。説明の便宜上、PLC100には、1つのプロセッサ112のみを備えるが、複数のプロセッサが実装されてもよい。なお、各プロセッサは、複数のコアを有していてもよい。演算処理部110においては、プロセッサ112が1または複数のタスクを周期的に実行する。演算処理部110で複数のタスクが実行される場合には、それらの複数のタスクに対して、互いに異なる優先度が設定されてもよい。
また、プロセッサ112は、通信回路130の後述するバッファ132に格納された通信フレーム20(例えば、入力データ134、出力データ135)を記憶部114に転送する。記憶部114は、DRAM(Dynamic Random Access Memory)またはSRAM(Static Random Access Memory)などを備えて構成され、プロセッサ112でのプログラムの実行に必要なワーク領域を提供する。
ストレージ119は、フラッシュメモリまたはハードディスクなどを備えて構成され、周辺処理プログラム120、上記の時刻同期を実施するための時刻同期プログラム121、IOリフレッシュプログラム125、システムプログラム122、スケジューラ123、ユーザプログラム(UPG:User Program)124、通信プログラム127およびコンフィギュレーション126などを格納する。
システムプログラム122は、プロセッサ112においてユーザプログラム124を実行するためのOS(Operating System)およびライブラリなどを含む。IOリフレッシュプログラム125は、通信回路130を介して受信する通信フレーム20に含まれるフィールド値(入力データ)を演算処理部110に送信する。また、IOリフレッシュプログラム125は、PLC100で算出される指令値,制御量(出力データ)をフィールド装置90へ送信する。このように、IOリフレッシュプログラム125は、入力データおよび出力データの少なくともいずれかを転送する処理(後述する、IOリフレッシュ処理)を実現する。
ユーザプログラム124は、制御対象の機械や設備に応じて任意に作成される「制御演算処理」のプログラムである。具体的には、ユーザプログラム124は、制御対象の「シーケンス制御」のために、記憶部114の入力データ134に基づく演算を実施するための制御演算プログラムと、「モーション制御」のために、入力データ134に基づく演算を実施するためのモーションプログラムとを含む。モーション制御は、制御対象となるサーボモータなどのアクチュエータに対して、位置、速度、加速度、角度などの数値を含む指令値を算出する。これらユーザプログラム124の制御演算処理による制御量,指令値などの算出値は、出力データ135として記憶部114に格納される。
通信プログラム127は、記憶部114の出力データ135を用いて通信フレーム20を生成するとともに、通信フレーム20を送受信するように通信回路130を制御する。また、通信プログラム127は、通信フレーム20の再送にかかる再送処理のための再送プログラム128を含む。再送プログラム128は、通信フレーム20が到着していない場合に再送要求9の通信フレーム20を生成し、当該通信フレーム20をネットワーク11を介して送信するよう通信回路130を制御する。また、再送プログラム128は、通知プログラム129を含む。通知プログラム129は、再送要求9が送信される場合に、当該PLC100に通信フレーム20が未着(到来していない)である旨の未着通知6の通信フレーム20を生成し、当該通信フレーム20を、ネットワーク11を介して送信するよう通信回路130を制御する。
周辺処理プログラム120は、ユーザプログラム124により実施される制御演算処理などとは異なる処理であって、制御演算処理の周辺で実施される処理であり、例えばネットワーク11を介して遣り取りされる通信フレーム20のロギング処理等を含む。
スケジューラ123は、PLC100のプロセスまたはタスクなどに対して、優先度に従いリソース割当てや実行タイミングなどを管理するプログラムである。このような、プロセスまたはタスクは、周辺処理プログラム120、ユーザプログラム124、IOリフレッシュプログラム125、時刻同期プログラム121、通信プログラム127等が、プロセッサ112により実行されることにより生成され得るプロセスまたはタスクが含まれる。スケジューラ123は、時刻同期したタイマ160に従い、例えば予め定められた制御周期に基づく周期で各プログラムの実行タイミングを調整する。これにより、PLC100は、制御演算処理およびIOリフレッシュ処理を、フィールド装置90との間で同期した時刻に基づく周期でサイクリックに実施することができる。
コンフィギュレーション126は、PLC100でのプログラム実行に必要な各種設定値やネットワーク構成を定義する各種設定値を含む。コンフィギュレーション126は、例えば、「転送経路の情報」の一例である後述する接続情報テーブル170および「転送タイミングの情報」の一例である後述するスケジュール情報180を含む。
USBコントローラ107は、PLC100にサポート装置500を脱着可能(detachable)に接続する。メモリカードインターフェイス108は、メモリカード116を脱着可能に構成されており、メモリカード116に対してデータを書込み、メモリカード116から各種データ(ユーザプログラムまたはデータなど)を読出すことが可能になっている。コンフィギュレーション126のデータは、メモリカード116またはサポート装置500からストレージ119にロードされてもよい。
通信回路130は、ネットワーク11を物理的に接続する通信ポート136および137を接続する。限定されないが、例えば通信ポート136は、他のPLC100側に繋がるネットワーク11が接続され、通信ポート137はフィールド装置90側に繋がるネットワーク11が接続される。通信回路130は、通信ポート136,137を介して他の装置と通信フレーム20を遣り取りする。通信回路130は、ネットワーク11を介して送受信される通信フレーム20を一時的に格納するバッファ132を備える。バッファ132に一時的に格納される通信フレーム20は、例えば、入力データ134および出力データ135を含む。以下では、PLC100側に繋がるネットワーク11が接続される通信ポート136を「第1ポート」、およびフィールド装置90側(非PLC100側)に繋がるネットワーク11が接続される通信ポート137を「第2ポート」とも呼ぶ。
通信回路130により実行される通信フレーム20の送受信は例えば次のように実現される。通信回路130は、プロセッサ112の指令に従い、DMAコントローラ140を介した記憶部114からの出力データ135に基づく通信フレーム20をコピーして、コピーを出力データ135としてバッファ132に格納するとともに、通信フレーム20をネットワーク11上に送信する。
また、通信回路130は、プロセッサ112の指令に従い、ネットワーク11から到来(受信)する通信フレーム20をコピーして、コピーを入力データ134としてバッファ132に格納するとともに、通信フレーム20を演算処理部110へ出力する。この通信フレーム20は、入力データとして記憶部114に格納される。
記憶部114には、送受信される通信フレーム20のデータが、制御周期10よりも長い期間に亘り蓄積されてもよく、直近の制御周期10の通信フレーム20のデータのみが蓄積されるとしてもよい。
本実施の形態において、PLC100による「IOリフレッシュ処理」は、出力データ135(通信フレーム20)の他の装置への送信、および他の装置からの入力データ134の受信のうちの少なくとも一方を含む。「IOリフレッシュ処理」では、入力データ134はフィールド装置90により収集されて転送されるフィールド値の通信フレーム20に対応し、出力データ135は、PLC100のユーザプログラム124の制御演算処理により算出された指令値,制御量の通信フレーム20に対応する。
DMAコントローラ140は、演算処理部110および通信回路130に接続され、演算処理部110と通信回路130との間で、データアクセスを高速化する機能を備える。DMAコントローラ140は、通信回路130のバッファ132に格納された通信フレーム20(例えば、入力データ134)を記憶部114に転送する。DMAコントローラ140は、例えば、プロセッサ112からの通信要求に応答して、通信回路130に対して指令を与えて、通信回路130のバッファ132に格納された入力データ134を記憶部114へ送信する。また、DMAコントローラ140は、プロセッサ112からの通信要求に応答して、記憶部114に格納された出力データ135を通信回路130に送信する。DMAコントローラ140の少なくとも主要部については、ハードワイヤードな構成を有することで、プロセッサ112より高速な処理を実現可能である。このようなDMAコントローラ140を介した通信回路130と演算処理部110の間の通信フレーム20の転送(図中の破線楕円で示されるDMA処理)は、後述するIOリフレッシュ部72によるIOリフレッシュ処理で実現され得る。この実現のためのケースは、通信回路130が入力データ134を受信する時にDMA処理がIOリフレッシュ処理内で実行されるとともに、通信回路130が出力データ135を送信する時に、IOリフレッシュ処理よりも前に(出力データ135が用意できた時点で)DMA処理により通信回路130のバッファ132に出力データ135を転送しておき、IOリフレッシュ処理の開始直後に、通信回路130から出力データ135の通信フレーム20を送信開始するケースも含み得る。このように、出力データ135をIOリフレッシュ処理よりも前に通信回路130のバッファ132に転送しておくことで、IOリフレッシュ処理時間の短縮と送信タイミングのジッタの低減が可能となる。
タイマ160は、PLC100およびPLC100に接続される他の装置との間でタイミングを決定するための一種のクロックであり、所定周期でカウントアップするカウンタなどを用いて実現される。
図2に示す構成においては、説明の便宜上、演算処理部110、通信回路130およびDMAコントローラ140に区別した構成を描いているが、これに限られることなく任意の実装形態を採用できる。例えば、演算処理部110の全部または一部と通信回路130の全部または一部とを同一のチップ上に実装したSoC(System on Chip)で構成してもよい。あるいは、演算処理部110のプロセッサ112とDMAコントローラ140の主要機能とを同一のチップ上に実装したSoCを用いてもよい。これらの実装形態については、適宜選択可能である。
<C.フィールド装置90のハードウェア構成>
図3は、本発明の実施の形態に係るフィールド装置90の要部構成を模式的に示す図である。図3を参照して、フィールド装置90は、プロセッサ91、メモリ92、ネットワーク2を接続する通信I/F(Interface)93、ネットワーク11を接続する通信回路94、PLC100のタイマ160と同様の構成を備えるタイマ99、およびメモリカード96が脱着可能に装着されるメモリカードインターフェイス95を備える。なお、フィールド装置90は、IO(Input/Output)ユニットまたはサーボなどのような機器も含み得る。このような機器はメモリカード96を取り扱う機能および回路を備えないこともあり得る。したがって、フィールド装置90は、メモリカード96に関連した機能および回路を備えない装置も含み得る。
通信I/F93は、プロセッサ91からの指令に従い、制御対象からのフィールド値をネットワーク2を介して、受信するとともに、プロセッサ91からの指令値,制御量を制御対象に送信する。これにより、制御対象は、指令値,制御量に従い制御されて、その結果であるフィールド値を出力する。
通信回路94は、ネットワーク11を物理的に接続する通信ポート971および972を備える。通信回路94は、通信ポート971,972を介して他の装置と通信フレーム20を遣り取りする。限定されないが、通信ポート971はPLC100側に繋がるネットワーク11を接続し、通信ポート972はフィールド装置90側に繋がるネットワーク11を接続する。したがって、通信ポート971は「第1ポート」および通信ポート972は「第2ポート」に相当する。
また、通信回路94は、ネットワーク11を介して送受信される通信フレーム20を一時的に格納するバッファ941を備える。バッファ941には、通信フレーム20が例えば、入力データ944または出力データ943として一時的に格納される。
メモリ92は、DRAMまたはSRAMなどを備えて構成され、プロセッサ91でのプログラムの実行に必要なワーク領域を提供する。さらに、メモリ92は、フラッシュメモリまたはハードディスクなどを備えて構成され、システムプログラム81、上記の時刻同期を実施するための時刻同期プログラム82、通信プログラム83、コンフィギュレーション88、出力データ943および入力データ944などを格納する。出力データ943および入力データ944は、通信フレーム20に相当する。メモリ92には、PLC100を経由してサポート装置500から、またはメモリカードインターフェイス95を介してメモリカード96からプログラムまたはデータが格納され得る。
通信プログラム83は、通信I/F93および通信回路94を制御するプログラムである。通信プログラム83は、通信回路94の制御に関して、再送処理のための再送プログラム84と通知プログラム85を含む。再送プログラム84は、通信フレーム20が到着(到来)していない場合に再送要求9をネットワーク11上に送信するよう通信回路94を制御する。通知プログラム85は、再送要求9が送信される場合に、未着通知6の通信フレーム20を他の装置に送信するよう通信回路94を制御する。
コンフィギュレーション88は、フィールド装置90でのプログラム実行に必要な各種設定値やネットワーク構成を定義する各種設定値を含む。コンフィギュレーション88は、例えば、「転送経路の情報」の一例である後述する接続情報テーブル86および「転送タイミングの情報」の一例である後述するスケジュール情報87を含む。コンフィギュレーション88は、さらに、トリガ時間89の情報を含む。トリガ時間89は、フィールド装置90が、制御対象を、PLC100から受信する指令値,制御量に従い制御する時間を示す。各フィールド装置90は、タイマ99を用いることで、トリガ時間89が到来したことを検出する。各フィールド装置90のタイマ99はフィールド装置90間で互いに時刻同期されているので、トリガ時間89が到来すると、各フィールド装置90による制御対象の制御を同期して実施させることができる。
通信回路94は、プロセッサ91の指令に従い、メモリ92の出力データ943の通信フレーム20をコピーして、コピーを出力データ943としてバッファ941に格納するとともに、当該通信フレーム20をネットワーク11上に送信する。また、通信回路94は、プロセッサ91の指令に従い、ネットワーク11から到来する通信フレーム20を受信し、当該通信フレーム20をコピーし、コピーを入力データ944としてバッファ941に格納する。また、プロセッサ91は、当該通信フレーム20の入力データ944をメモリ92に格納する。
<D.通信フレーム20の構成>
図4、図5および図6は、本実施の形態にかかる通信フレーム20の構成の一例を模式的に示す図である。図4は、基本的な通信フレーム20の一例、図5と図6は再送要求9の通信フレーム20の一例を、それぞれ示している。
(d1.基本的な通信フレーム)
図4を参照して、装置間で遣り取りされる通信フレーム20は基本的に、プリアンブルの領域として、プリアンブルを格納する領域21、フレームの宛先を格納する領域22、フレームの送信元を格納する領域23、タグの領域24、ネットワークのタイプを格納する領域25、および誤り訂正のための領域27を含み、さらに、転送されるべきデータ本体であるペイロードを格納する領域26を含む。通信フレーム20の領域22の宛先および領域23の送信元は、各装置を一意に識別する情報、例えばMAC(Media Access Control address)を含む。図4の基本的な通信フレーム20の場合は、ペイロードは、例えば制御系データである入力データ134,944または出力データ135,943を含む。
領域22は、さらに、通信フレーム20の転送を管理するためのストリームID(Identifier)29を含む。図7は、本実施の形態にかかるストリームID29を説明するための図である。本実施の形態では、ネットワーク11上を転送される通信フレーム20はフロー12の単位で管理される。図7に示すように、ネットワーク11に接続される装置は、通信フレーム20の送信元(TALKER)または送信先(LISTENER)となり得る。各フロー12は、TALKERである送信元装置のMACアドレスとLISTENERである送信先装置のMACアドレスの組で規定されるストリームIDが割当てられる。したがって、各装置は、遣り取りする各通信フレーム20を、そのストリームID29に基き一意に識別することが可能となる。
(d2.通信フレーム20のペイロード)
例えば、図4の通信フレーム20の領域26には、ペイロードとして制御系データが格納され得る。領域26は、制御系データのうちフィールド値を格納する領域と、指令値,制御量を格納する領域とを備える。
各フィールド装置90は、領域26を読み書きする場合、例えば、当該装置に個別に割当てられているオフセット(例えば、通信フレーム20の先頭からのオフセット)に基づいた領域26内の位置を特定し、特定した位置でデータを読み書きする。具体的には、通信プログラム83は、到来した通信フレーム20の領域26の自装置のオフセットに基く位置から、指令値,制御量(入力データ944または出力データ135)を読出し、また、送信すべき通信フレーム20の領域26のオフセットに基づく位置にフィールド値(出力データ943または入力データ134)を書込む。
一方、PLC100は各フィールド装置90に割当てられたオフセット情報を記憶している。したがって、PLC100は、このオフセット情報に基き、到来する通信フレーム20の領域26内から各フィールド装置90のフィールド値(出力データ943または入力データ134)を読出し、また、このオフセット情報に基き、送信すべき通信フレーム20の領域26内の各フィールド装置90のオフセット位置に、指令値,制御量(入力データ944または出力データ135)を書込むことができる。
これにより、PLC100は、通信フレーム20の領域26に各フィールド装置90の制御系データを読み書きでき、また、各フィールド装置90は通信フレーム20の領域26に自装置の制御系データを読み書きすることができる。
(d3.再送要求9の通信フレーム)
図5を参照して、再送要求9を送信するための通信フレーム20である再送要求フレームは、例えば、領域23には再送要求9の送信元(TALKER)の装置のMACアドレスが格納され、領域22には再送要求9の送信先(LISTENER)である装置のMACアドレス30が格納され、領域26には、再送要求9を示すフラグ31と、再送が要求されている通信フレーム20のストリームID29とを含むペイロードが格納される。図5の再送要求フレームが送信された場合、領域22のMACアドレス30に一致するアドレスを有した装置のみが、当該再送要求フレームを受信することができる。
再送要求フレームの構成は、図5に限定されず、例えば、図6のように、再送要求フレームの送信先をストリームIDで指定してもよい。図6を参照して、再送要求フレームの領域23は再送要求9の送信元の装置のMACアドレスが格納され、宛先の領域22には再送要求フレームのストリームID291が格納され、領域26には再送が要求されている通信フレーム20のストリームID29が格納される。図6の構成によれば、領域22のストリームID291が示す送信先(LISTENER)のMACアドレス30に一致するアドレスを有した装置のみが、当該再送要求フレームを受信することができる。
<E.接続情報テーブル>
図8は、本実施の形態にかかる接続情報テーブル170の構成の一例を模式的に示す図である。図8を参照して、PLC100が備える接続情報テーブル170は、第1ポートのポート情報171と、第2ポートのポート情報172とを含む。
ポート情報171および172は、それぞれ、装置情報173と応答可否情報174を含む。装置情報173は、対応の通信ポートに繋がるネットワーク11に接続される各装置に対応して、当該装置を識別するMACアドレスを含む。装置情報173は、例えば、ネットワーク11の接続位置が、当該PLC100に近い方の装置から順番にMACアドレスが並べられている。応答可否情報174は、対応の装置情報173が示す装置のうち、再送要求9への応答機能を備えない各装置の識別子であるMACアドレスを含む。なお、応答可否情報174のMACアドレスは、再送要求9への応答機能を備える各装置のMACアドレスであってもよい。
本実施の形態では、フィールド装置90が備える接続情報テーブル86も、図8の接続情報テーブル170と同様の構成を備える。したがって、接続情報テーブル86の説明は繰返さない。
(e1.スケジュール情報)
図9は、本実施の形態にかかるスケジュール情報180の一例を模式的に示す図である。図9を参照して、スケジュール情報180は、制御系データの通信フレーム20のストリーム毎に、ストリームID183、当該ストリームの通信フレーム20が装置に到着する時間である到着時間184、出力同期185および到来する通信ポートを識別するポートID186の情報を含む。出力同期185は、当該ストリームの通信フレーム20のデータ(例えば制御系データ)を、到来する他の通信フレーム20のデータと同期して処理するべき同期処理対象であるか否かを示している。出力同期185が「1」であるとき、対応ストリームの通信フレーム20は同期処理対象であることを示し、「0」であるときは対応ストリームの通信フレーム20は同期処理対象ではないことを示す。スケジュール情報180は、図9に示すように、ストリームID183に対応付けて、当該ストリームID183を構成する送信元と宛先の各装置にMACアドレスを含んでもよい。
本実施の形態では、フィールド装置90が備えるスケジュール情報87も、図9のスケジュール情報180と同様の構成を備える。したがって、スケジュール情報87の説明は繰返さない。
<F.機能構成>
図10は、本実施の形態にかかるPLC100が備える機能を模式的に示す図である。図10では、図2で示したPLC100の各プログラムがプロセッサ112により実行されることで提供される主要な機能が模式的に示される。具体的には、PLC100は、IOリフレッシュプログラム125が実行されることで提供されるIOリフレッシュ部72、ユーザプログラム124が実行されることで提供される制御演算部73、周辺処理プログラム120が実行されることで提供される周辺処理部74、および通信プログラム127が実行されることで提供される通信処理部75を備える。通信処理部75は、再送プログラム128が実行されることで提供される再送処理部76を含む。再送処理部76は、通知プログラム129が実行されることで提供される通知処理部77を含む。各処理部は、プロセッサ112が、システムプログラム122のOSおよび各種ライブラリと協働して当該処理部のプログラムを実行することで提供される。
図11は、本実施の形態にかかるフィールド装置90が備える機能を模式的に示す図である。図11では、図3で示したフィールド装置90の各プログラムがプロセッサ91により実行されることで提供される主要な機能が模式的に示される。具体的には、フィールド装置90は、通信プログラム83が実行されることで提供される通信処理部60、およびネットワーク2を介した制御対象との入出力を実施する入出力処理部63を備える。通信処理部60は、再送プログラム84が実行されることで提供される再送処理部61を含む。再送処理部61は、通知プログラム85が実行されることで提供される通知処理部62を含む。入出力処理部63は、システムプログラム81が通信I/F93を制御する入出力プログラムが実行されることで提供される。これら処理部は、プロセッサ91が、システムプログラム81のOSおよび各種ライブラリと協働して処理部のプログラムを実行することで提供される。
<G.制御システム1のタイミングチャート>
図12は、本実施の形態にかかる制御システム1における基本のタイミングチャートの一例を模式的に示す図である。タイミングチャートの横軸に示す時間経過に従い、PLC100A,100Bおよび各フィールド装置90間での通信を含む処理の開始および終了のタイミングと処理の実施時間の長さが示される。処理の実施時間の長さは、時間軸が延びる方向に延びる帯状の長さで示されている。図1では、各PLC100に3台のフィールド装置90が接続されるが、接続されるフィールド装置90は3台に限定されない。
まず、PLC100では、スケジューラ123により、制御周期10内に完了することが要求されるIOリフレッシュ部72のIOリフレッシュの処理および制御演算部73の制御演算処理が最も高い優先度で実行されて、次位の優先度で周辺処理部74による周辺処理が実行されるようにスケジューリングされる。制御周期10は、互いに時刻同期するPLC100とフィールド装置90とが共有する時間の一例である。なお、周辺処理は、他の処理よりも実行の優先度は低いので、制御演算に時間を要する場合、スケジューラ123は周辺処理をN(N>2)回の制御周期10毎に実行するとしてもよい。
フィールド装置90では、制御周期10において、共通のトリガ時間89が到来したときにトリガ7を発生させて、トリガ7に応答して制御対象を制御する。具体的には、フィールド装置90は、当該制御周期10のIOリフレッシュ部72によりPLC100から受信している指令値,制御量に基づき、制御対象を制御する。
基本的には、制御周期10では、当該制御周期10の終わりにフィールド装置90がネットワーク11にフィールド値の送信準備(「Snd」)を実施する。次の制御周期10のIOリフレッシュ処理が開始されると、フィールド装置90は、準備されている当該フィールド値の通信フレーム20をネットワーク11上に送信し、PLC100は、ネットワーク11上を転送される各フィールド装置90のフィールド値の通信フレーム20を受信(収集)する。また、PLC100は、制御周期10の制御演算部73による制御演算処理において、当該制御周期10のIOリフレッシュ処理において受信したフィールド値に基く制御演算を実施する。また、PLC100は、制御周期10のIOリフレッシュ処理の開始時において、前の制御周期10で算出された指令値,制御量の通信フレーム20をネットワーク11上に送信する。これにより、各フィールド装置90は、制御周期10のIOリフレッシュ処理の開始時に、ネットワーク11上を転送される指令値,制御量の通信フレーム20の受信(「Rcv」)を実施し、受信した指令値,制御量に基き、トリガ7に応答して、制御対象の制御を実施することができる。
図12では、各フィールド装置90が送信準備「Snd」を実施すると、(t)回目(ただし、t=1,2,3,・・・)の制御周期10は終了し、(t+1)回目の制御周期10が開始されることが示される。
例えば、図12では、エンドツーエンド(E2E)のシーケンス111が示される。シーケンス111では、例えば、フィールド装置90Fが送信した通信フレーム20が、フィールド装置90F→フィールド装置90E→フィールド装置90D→PLC100B→PLC100A→フィールド装置90A→フィールド装置90B→フィールド装置90Cの方向に転送されることで、ネットワーク11の全体を転送される。また、各フィールド装置90が、フィールド装置90Fと同様なE2Eのシーケンスを実施することで、全てのフィールド装置90からのフィールド値の通信フレーム20はネットワーク11上を転送される。
これにより、PLC100A,PLC100Bは、いずれも、1の制御周期10内のIOリフレッシュ処理においてネットワーク11に転送される全てのフィールド装置90からのフィールド値を受信できるとともに、所定のストリームIDで指定される、すなわち所定の1以上のフィールド装置90の通信フレーム20のフィールド値を受信することもできる。
したがって、制御周期10の制御演算処理では、PLC100AまたはPLC100Bは、全てのフィールド装置90のフィールド値に基いた指令値,制御量の算出、または所定の1以上のフィールド装置90のフィールド値に基いた指令値,制御量の算出が可能となる。これにより、フィールド装置90のフィールド値に基いた制御演算処理のユーザプログラム124の配置先は、PLC100AおよびPLC100Bのいずれであってもよくなり、制御システム1におけるユーザプログラム124の配置の自由度が高まる。
また、図12では、シーケンス111のE2Eは、フィールド装置90F→フィールド装置90Cであったが、逆に、E2Eはフィールド装置90C→フィールド装置90Fであってもよい。なお、図12では、フィールド装置90およびPLC100は、図4の通信フレーム20のストリームID29を、E2Eとなるフィールド装置90のMACアドレスの組で任意に設定(変更)することができる。
(g1.フィールド装置90の転送処理)
本実施の形態では、通信フレーム20の転送時に、フィールド装置90の通信処理部60は、転送処理を実施する。具体的には、転送処理では、通信処理部60は、受信した通信フレーム20の領域23に自装置のMACアドレスを設定するとともに、領域22に、接続情報テーブル86に基づく宛先装置のMACアドレスを設定する。このとき、通信処理部60は、接続情報テーブル86における通信フレーム20を受信した通信ポートに対応の装置情報173のうち、最も近くに接続されている装置(フィールド装置90またはPLC100)のMACアドレスを検出し、検出されたMACアドレスを上記の宛先装置のMACアドレスとして設定する。
また、通信処理部60は、制御周期10の終わりに送信準備「Snd」の通信フレーム20に、入出力処理部63を介して受付ける制御対象からのフィールド値を当該通信フレーム20の領域26に設定する。その後、通信処理部60は、通信フレーム20をネットワーク11上に送信するよう通信回路94を制御する。
また、制御周期10の初めに遣り取りされる受信「Rcv」の通信フレーム20を受信すると、通信処理部60は、通信フレーム20の領域26から対応の指令値,制御量を読出し、入出力処理部63に出力するとともに、通信フレーム20をネットワーク11上に送信するよう通信回路94を制御する。
また、フィールド装置90は、受信した通信フレーム20のストリームID29が自装置のMACアドレスを示すと判断すると、自装置を接続するPLC100宛に通信フレーム20を転送する。
(g2.PLC100の転送処理)
本実施の形態では、通信フレーム20の転送時に、PLC100の通信処理部75は、転送処理を実施する。具体的には、通信処理部75は、PLC100に到来する通信フレーム20を受信すると、自装置のMACアドレスを送信元の領域23に設定するとともに、接続情報テーブル170に基づき、宛先装置のMACアドレスを通信フレーム20の領域22に設定する。このとき、通信処理部75は、接続情報テーブル170において、通信フレーム20を受信した通信ポート側の装置情報のうちから最も近くに接続されている装置(フィールド装置90またはPLC100)のMACアドレスを検出し、検出したMACアドレスを上記の宛先装置のMACアドレスとして設定する。その後、通信処理部75は、通信フレーム20をネットワーク11上に送信するよう通信回路130を制御する。
また通信処理部75は、送信準備「Snd」による通信フレーム20を受信すると、ネットワーク11上に送信するよう通信回路94を制御する。また、通信処理部75は、制御周期10の初めに遣り取りする受信「Rcv」の通信フレーム20が到来すると、当該通信フレーム20をネットワーク11上に送信するよう通信回路94を制御する。
なお、制御周期10において、制御系データの通信フレーム20である送信準備「Snd」がなされた通信フレーム20および受信「Rcv」の各通信フレーム20は定周期で遣り取りされるので、これら通信フレーム20が到来する時期を、フィールド装置90は時刻同期したタイマ99を用いることで、またPLC100はタイマ101を用いることでそれぞれ予測することができる。
上記に述べた転送処理においては、通信フレーム20はネットワーク11上を転送されるとともに、各装置において、そのコピーが通信回路130,94の各バッファに一時的に格納される。このバッファに格納された通信フレーム20は、少なくとも、次の制御周期10のIOリフレッシュ部72のIOリフレッシュ処理が実施されるまでの間は、当該バッファで保持しておくことができる。
<H.通信異常のケース>
図13は、本実施の形態にかかる制御システム1における通信異常時のタイミングチャートの一例を模式的に示す図である。図14は、本実施の形態にかかる通信異常時にデータ共有が困難となるケースを模式的に示す図である。
図12では、シーケンス111が実施されることで、PLC100AとPLC100Bは、フィールド値の制御系データを共有することができる。これに対して、図13のように通信のシーケンス111の途中で、例えばPLC100AからPLC100B間のネットワーク11においてフレーム消失8のような通信異常が発生した場合、各PLC100が制御演算を実行するタイミングで上記のデータ共有を実現することが困難となり、適切な指令値,制御量を算出できなくなる可能性がある。このケースの具体例が図14に示される。図14では、例えば、ネットワーク11を介して複数のPLC100がデイジーチェーンで互いデータを遣り取り可能に接続されている。各PLC100は、ネットワーク11を介してデイジーチェーンで1つ以上のフィールド装置90を接続する。図14では、複数のPLC100は、フィールド装置90Fを接続するPLC(O)、PLC(S)、PLC(R1)およびフィールド装置90Cを接続するPLC(R2)として区別されている。
図14において、図12のE2Eのシーケンス111が実施される場合、通信異常がなければ、1の制御周期10のIOリフレッシュ部72のIOリフレッシュ処理において、フィールド装置90Fからの通信フレーム20は、ネットワーク11の全ての装置を経由して、フィールド装置90Cに到着する。これに対して、例えばt回目の制御周期10のIOリフレッシュ部72のIOリフレッシュ処理において、PLC(S)とPLC(R1)間の転送時にフレーム消失8が発生したとする。この場合、フィールド装置90Fのバッファ941、PLC(O)のバッファ132およびPLC(R2)のバッファ132で保持されている通信フレーム20はt回目の制御周期10の制御系データであるのに対して、フレーム消失8により通信フレーム20が到来していないPLC(R1)およびPLC(R2)のバッファ132に保持されている通信フレーム20は、前の制御周期10(t−1回目の制御周期10)のままである。したがって、各PLC100がIOリフレッシュ処理の後の制御演算を実行するタイミングで上記のデータ共有はできず、適切な指令値,制御量の算出が困難となる。
<I.再送処理>
上記のフレーム消失8等の通信異常が生じた場合、PLC100は、規定時間に、例えば制御周期10の開始から(すなわちIOリフレッシュ部72のIOリフレッシュ処理の開始から)一定時間内に、通信フレーム20が到着していないことを検出すると、再送処理部76は再送処理を実施する。再送処理部76は、未到着の通信フレーム20の再送要求9の再送要求フレームを、ネットワーク11上に送信する。
通信フレーム20の未到着は、スケジュール情報180の到着時間184に基き判定される。具体的には、各制御周期10において、各PLC100は、到来する通信フレーム20のストリームID29毎に、タイマ160を用いて到着時間184を計測し、計測した到着時間184をスケジュール情報180に格納する。つまり、制御系データの通信フレーム20は、制御周期10に同期して定周期で転送されるので、PLC100には、制御周期10の開始から一定時間内に制御系データの通信フレーム20が到着し得ると予測できる。したがって、PLC100は、タイマ160を用いて、この一定時間内に到来する通信フレーム20が到来する通信ポートを検出するとともに到着時間184を計測する。検出した通信ポートの情報および計測した到着時間184は、それぞれ、スケジュール情報180の各ストリームID183毎のポートID186および到着時間184に設定する。これにより、スケジュール情報180の制御系データの通信フレーム20のストリームID183毎の到来する通信ポートを設定できるとともに、到着時間184を最近の値に維持することができる。
図15は、本実施の形態にかかる再送処理における通信シーケンスの一例を模式的に示す図である。図15を参照して、図14のケースにおける再送処理を説明する。まず、PLC(R1)の再送処理部76は、例えば制御周期10毎に、上記の通り制御系データの通信フレーム20の到着時刻を予測し、スケジュール情報180のストリームID183毎に対応の到着時間184を更新する(ステップS1)
PLC(R1)の再送処理部76は、スケジュール情報180のストリームID183と、(t)の制御周期10の開始から一定時間内に到来する通信フレーム20のストリームID29とを比較し、比較の結果に基き、この一定時間内に到着していないストリームIDの通信フレーム20が有ることを検出する(ステップS2)。すなわち、ストリームID183のうち、この一定時間内に対応の通信フレーム20が到着していないストリームID183が有ることを検出する。ステップS2では、再送処理部76は、図5または図6の再送要求フレームを生成し、通信回路130を介してネットワーク11上に送信する。また、ステップS2では、通知処理部77は、未着通知6を格納した通信フレーム20を生成し通信回路130を介してネットワーク11上に送信する。なお、再送処理では、制御周期10にかかる条件が満たされるときは、再送要求9が送信される。ステップS2で送信される再送要求フレームの内容、未着通知6の送信および条件に基づく再送処理の詳細は後述する。
図15では、未着通知6は、PLC(R2)に送信される。PLC(R2)の再送処理部76は、未着通知6を受信すると、PLC(R2)に接続される他のPLC100に未着通知6を転送する(ステップS3)。このような、他のPLC100を、「後段PLC」ともいう。これにより、PLC(R2)および後段PLC100は、制御系データの到着を期待でき、到着を待つことができる。
(t)の制御周期10内において、再送要求9の受信元の装置は、PLC(S)とする。PLC(S)の再送処理部76は、再送要求9を受信したとき、バッファ132に保持されている通信フレーム20のうち、再送要求フレームで指定される未着のストリームIDに一致する通信フレーム20を、通信回路130を介してネットワーク11上に送信する(ステップS4)。これにより、要求元のPLC(R1)に、再送要求9に応じた通信フレーム20が再送される。
PLC(R1)は、再送された通信フレーム20を受信すると、受信した通信フレーム20をPLC(R2)に送信する転送処理を実施する。これにより、未着通知6を受けていた後段PLCであるPLC(R2)は、未着であった制御系データの通信フレーム20を受信することができる。
(i1.再送要求フレームの生成)
ステップS2で送信される再送要求フレームを説明する。再送処理部76は、再送要求フレームを図5の形式で生成する場合、領域23に再送要求9の送信元のPLC(R1)のMACアドレスを格納する。また、領域22の宛先装置のMACアドレスには、PLC(R1)に最も近くに接続される装置のMACアドレスを設定する。具体的には、再送処理部76は、未到着のストリームID183に対応したポートID186で特定される通信ポートのポート情報171(または172)のうち、PLC(R1)に最も近くに接続される装置のMACアドレスを特定する。この場合は、PLC(S)のMACアドレスが特定される。また、領域26には、再送要求9のフラグ31と、ステップS2で未到着が検出されたストリームID183を格納する。
また、再送処理部76は、再送要求フレームを図6の形式で生成する場合、領域23は再送要求9の送信元の装置のMACアドレスを格納し、宛先の領域22には再送要求フレームのストリームID291を格納し、領域26には再送を要求する通信フレーム20のストリームID29(未到着のストリームID183)を格納する。
(i2.条件に基づく再送処理)
図16は、本実施の形態にかかる再送処理を実行する条件を説明する模式図である。本実施の形態では、再送処理時間177と制御周期10内の余裕時間との関係が、(再送処理時間177<余裕時間)の条件を満たすとき、再送処理部76は再送処理を実施すると決定する。したがって、再送処理部76は、当該条件が満たされないときは、再送処理を実施しないと決定することもできる。
上記の余裕時間は、余裕時間=(制御周期10の時間−制御に必要な処理(IOリフレッシュ処理、制御演算処理等)にかかる時間)で算出される。なお、制御に必要な処理には、低優先度のタスクに割り付けられたユーザプログラムまたは周辺処理のプログラム、情報系の処理は含まれない。また、再送処理時間177は、再送要求9に対する応答を受信するまでに要する応答時間であって、再送処理時間177=(PLC(S)への再送要求9の通信時間+PLC(S)内の再送処理の時間+PLC(S)の再送通信時間)で算出される。なお、再送要求9の通信時間と再送通信時間は、(通信フレーム20のサイズ/(通信帯域)+ケーブル遅延時間)に基き算出される。また、PLC(S)内の再送処理の時間は、再送要求9を受けた制御系データの送信準備(データ読出し、データコピー等)の時間を示す。
なお、上記の応答時間は、より好ましくは、装置毎に、そのコンフィギュレーション88に基き算出される。すなわち、応答時間は情報再送要求9の通信距離に依存する。したがって、再送処理部76は、再送要求9の転送経路に応答可否情報174が「応答不可」である装置が存在するか否か、またはその台数を、コンフィギュレーション88の接続情報テーブル170から判断し、判断の結果に基き、再送処理時間177を算出するための通信時間に係るパラメータ値を変化させる。これにより、各装置は、自装置に固有の接続情報テーブル170に基き、より正確な再送処理時間177の算出が可能となる。
(i3.再送処理のフローチャート)
図17は、本実施の形態にかかる再送処理の一例を示すフローチャートである。図17を参照して、図14のPLC(R1)の再送処理部76による再送処理を説明する。まず、再送処理部76は、スケジュール情報180に登録されたストリームID183の通信フレーム20が、対応の到着時間184に到着するかを判断する(ステップS11)。再送処理部76は、ストリームID183の通信フレーム20が対応の到着時間184に到着していると判断すると(ステップS11でYES)、再送処理部76は、受信した通信フレーム20は未着通知6の通信フレーム20であるかを判断する(ステップS13)。再送処理部76は、未着通知6の通信フレーム20を受信したと判断すると(ステップS13でYES)、通知処理部77は、後段PLCに未着通知6の通信フレーム20を送信する(ステップS15)。その後、ステップS11に戻る。ステップS15で未着通知6を受信したとき、再送処理部76は、再送要求9を送信しないと判断することができる。
一方、再送処理部76は、受信した通信フレーム20は、未着通知6の通信フレーム20ではないと判断すると(ステップS13でNO)、制御演算部73は、受信した通信フレーム20のデータ(すなわち、制御系データ)に基づく制御演算処理を実施する(ステップS23)。
ステップS11において、再送処理部76は、ストリームID183の通信フレーム20が対応の到着時間184に到着していない、すなわち未着と判断すると(ステップS11でNO)、通知処理部77は、後段PLCに未着通知6の通信フレーム20を送信する(ステップS17)。
再送処理部76は再送処理を実行する条件(余裕時間>再送処理時間177)が満たされるかを判断し(ステップS19)、条件が満たされと判断すると(ステップS19でYYES)、再送要求9の通信フレーム20を送信する(ステップS21)。その後、ステップS11に戻る。
一方、再送処理部76は、再送処理を実行する条件が満たされないと判断すると(ステップS19でNO)、未着との判断がN(N>2)回以下の制御周期連続しているかを判断する(ステップS25)。再送処理部76は、未着との判断がN(N>2)回以下の制御周期10が連続したと判断すると(ステップS25でYES)、PLC(R1)の制御演算部73は、記憶部114に蓄積された通信フレーム20のデータのうち直近の制御周期10の制御系データに基き制御演算を実施し、指令値,制御量を算出する(ステップS27)。一方、再送処理部76は、未着との判断がN(N>2)回より多くの制御周期10連続したと判断すると(ステップS25でNO)、後段PLC(PLC(R2))に対して、異常通知を送信する。後段PLCは、未着通知6の受信後に異常通知を受信するとき、所定の異常処理を実施する。例えば、ステップS27と同様の処理を実施する。
上記のステップS25の変数Nの値は、例えばPLC(R1)に接続される制御対象の特性に応じて決めることができる。また、ステップS27では、PLC100は、前の制御周期の制御系データに基づく制御演算の実施に代えて、前の制御周期で既に算出されていた指令値,制御量(記憶部114の出力データ135等)を、今回の制御周期10で算出される制御系データとして決定してもよい。
(i4.再送処理を実行する条件の具体例)
図18は、図17のステップS19の処理の一例を示すフローチャートである。図18を参照して、再送処理の実行の条件の判断(ステップS19)の詳細を説明する。まず、再送処理部76は、未着と判断されたストリームID183の出力同期185が設定されているか、すなわち「1」を示すかを判断する(ステップS191)。
出力同期185が設定されていると判断すると(ステップS191でYES)、再送処理部76は、(同期タイミングまでの余裕時間>再送処理時間177)の条件が満たされるかを判断する(ステップS192)。再送処理部76は、当該条件は満たされないと判断すると(ステップS192でNO)、再送要求9を送信せずにステップS25に移行するが、当該条件は満たされると判断すると(ステップS192でYES)、再送処理部76は再送要求9を送信する(ステップS21)。
ステップS191に戻り、再送処理部76は、未着のストリームID183に対応の出力同期185は設定されていない、すなわち「0」を示すと判断すると(ステップS191でNO)、再送処理部76は上記の(余裕時間>再送処理時間177)の条件が満たされるかを判断し(ステップS193)、満たされるときは(ステップS193でYES)、ステップS21に移行し、満たされないときは(ステップS193でNO)、ステップS25に移行する。
なお、ステップS191では、未着のストリームID183毎に出力同期185を異ならせる動的設定によるが、PLC100毎に出力同期させるかを予め決定する静的設定でもよい。
また、ステップS192の条件の「同期タイミングまでの余裕時間」は、出力同期するデータが未着の場合は(出力同期の時間−未着検出時間)で算出されてもよく、また、未着のストリームIDの通信フレーム20を受信した場合は、(出力同期の時間−未着フレーム受信時間)で算出されてもよい。なお、出力同期の時間は、トリガ7を出力する予め定められた時間に相当する。
<J.フィールド装置90による再送処理>
本実施の形態では、再送処理は、PLC100とフィールド装置90のいずれもが実施することができる。上記に述べたPLC100の再送処理は、フィールド装置90の再送処理部61により同様に実施することができる。図19は、本実施の形態にかかるフィールド装置90による再送処理の一例を模式的に示す図である。
図19では、フィールド装置90Aが再送処理部61を備えないケースにおいて、フィールド装置90Cからの通信フレーム20がPLC(O)まで転送される途中でフレーム消失8が発生している。したがって、フィールド装置90AとPLC(O)は通信フレーム20が到着しない。フィールド装置90Aが再送処理部61を備えないので再送要求9は送信しないが、PLC(O)は再送要求9を送信する。
この場合、PLC(O)の再送処理部76は、未着のストリームID183のポートID186から特定されるポート情報171(または172)のうち、応答可否情報174に該当しない装置のうち、すなわち再送処理部61を備える装置のうち最も近くに位置する装置(図19ではフィールド装置90B)に再送要求9を送信する。フィールド装置90Bの再送処理部61、再送要求9を受信すると、要求されたストリームID183の通信フレーム20の再送信を実施する。これにより、フィールド装置90AおよびPLC(O)は、未着であった通信フレーム20を受信することができる。
<K.利点>
図20は、本実施の形態にかかる制御システム1の構成を他の構成と対して示す図である。図20を参照して、制御システム1により奏される利点を説明する。図20では、装置間の通信に共通した1のプロトコル(例えば、TSN)を用いる制御システム1と、装置間の通信に複数種類のプロトコル(例えば、TSNとEtherCAT(登録商標))を用いる制御システム3を示す。制御システム3では、PLC100間の通信にはTSNが使用されて、PLC100とフィールド装置90間およびフィールド装置90間の通信にはEtherCAT(図中は、ECATと略される)が使用されている。
図20において、E2Eにより、フィールド値の一例であるロボットの位置情報のフレームを、フィールド装置90Aからフィールド装置90Dへ送信するケースにおいて、制御システム1では、共通プロトコルが用いられるので、フィールド装置間の通信レイヤからPLC100間の通信レイヤへ、フレームが転送される場合にプロトコル変換は必要とされない。これに対して、制御システム3では、(1)ECAT通信→(2)ECAT/TSNのプロトコル変換→(3)TSN通信→(4)TSN/ECATのプロトコル変換→(5)ECAT通信というように、通信経路においてプロトコル変換(2)および(4)を実施する必要がある。
このように、制御システム1は、レイヤ間を跨ぐ通信であっても、プロトコル変換を必要とせずに装置は互いのデータを共有することが可能となる。また、制御システム1は、プロトコル変換を必要としないので、制御システム3に比較してレイヤ間の通信を高速化することができる。したがって、制御システム1に備えられる装置は、比較的短い通信周期内、例えば、制御周期10内のIOリフレッシュ処理の周期内で互いのデータを共有することが可能となる。これにより、PLC100は、ユーザプログラム124による制御演算処理の開始に先立って演算対象となる全ての値(フィールド値)を取得しておくことができるので、通信遅延を考慮せずにユーザプログラム124を設計することも可能となる。
また、ネットワーク11では、制御系データの通信フレーム20と非制御系データ(情報系および制御情報系)の通信フレーム20を転送するが、再送要求9は制御系データの通信フレーム20についてのみ送信される。したがって、定周期で到着することが保証されるべき制御系データに限定して再送要求9が送信されるので、再送要求9が送信されるとしても、ネットワーク11の通信帯域の消費を抑制することができる。
<L.付記>
上述の実施の形態は、以下のような技術思想を含む。
[構成1]
互いに時刻同期された複数の装置(100,90)がネットワーク(11)接続された制御システム(1)であって、
前記ネットワークは、前記複数の装置が周期的に遣り取りするフレーム(20)を転送し、
前記複数の装置は、1以上の制御装置(100)と、前記制御装置により制御される装置(90)とを含み、
各前記複数の装置は、自装置に到来するフレームを送信する第1の装置および自装置から送信されるフレームを受信する第2の装置を、それぞれ、前記ネットワークを介して接続し、
前記各装置は、フレームの転送経路(170,86)および同期した時刻に基づく転送タイミング(180,87)の情報を有し、
前記複数の装置の少なくとも1つは、
前記転送経路を介してフレームが規定時間に到着しない場合に、前記周期(10)にかかる条件が満たされるときは、再送要求(9)を、当該転送経路で送信する、制御システム。
[構成2]
前記周期は、前記複数の装置がフレームを遣り取りする時間と、遣り取りされるフレームのデータに基づく前記1以上の制御装置が実施する制御演算の時間とを含み、
前記条件は、
前記フレームを遣り取りする時間および前記制御演算の時間を、前記周期から除いた余裕時間と、前記再送要求に対する応答時間とに基づく条件を含む、構成1に記載の制御システム。
[構成3]
前記周期にかかる条件が満たされないとき、前記1以上の制御装置は、前の周期で到着したフレームのデータに基く前記制御演算を実施する、または前の周期での算出値を制御に用いる、構成2に記載の制御システム。
[構成4]
前記少なくとも1つの装置は、
前記再送要求を、ネットワークを介して前記第1の装置に転送するとき、
フレームの未着通知を、ネットワークを介して前記第2の装置に転送する、構成1から3のいずれか1に記載の制御システム。
[構成5]
前記ネットワークが転送するフレームは、前記制御に用いる制御系データのフレームと、非制御系データのフレームとを含み、
前記少なくとも1つの装置は、
前記再送要求を、前記制御系データのフレームと前記非制御系データのフレームのうち、前記制御系データのフレームについてのみ送信する、構成1から4のいずれか1に記載の制御システム。
[構成6]
前記少なくとも1つの装置は、
ネットワークを介して、複数の前記第1の装置を接続し、
前記複数の第1の装置のうち、前記再送要求に対する応答が可能な装置を検出し、検出された装置に前記再送要求を送信する再送処理部(76,61)を備える、構成1から5のいずれか1に記載の制御システム。
[構成7]
前記制御装置間のネットワーク通信のプロトコルと、前記制御装置と前記制御される装置間のネットワーク通信のプロトコルは共通する、構成1から6のいずれか1に記載の制御システム。
[構成8]
制御システム(1)に備えられる装置(100,90)であって、
前記制御システムは、ネットワーク(11)接続されて互いに時刻同期された複数の前記装置を備え、
前記ネットワークは、前記複数の装置が周期的に遣り取りするフレーム(20)を転送し、
前記装置は、自装置に到来するフレームを送信する第1の装置および自装置から送信されるフレームを受信する第2の装置を、それぞれ、前記ネットワークを介して接続し、
前記装置は、フレームの転送経路(170,86)および同期した時刻に基づく転送タイミング(180,87)の情報を有し、
前記転送経路を介してフレームが規定時間に到着しない場合に、前記周期にかかる条件が満たされるときは、再送要求(9)を、当該転送経路で送信する、装置。
[構成9]
制御システム(1)に備えられる装置(100,90)の通信を制御する方法であって、
前記制御システムは、ネットワーク(11)接続されて互いに時刻同期された複数の前記装置を備え、
前記ネットワークは、前記複数の装置が周期的に遣り取りするフレーム(20)を転送し、
前記装置は、自装置に到来するフレームを送信する第1の装置および自装置から送信されるフレームを受信する第2の装置を、それぞれ、前記ネットワークを介して接続し、
前記装置は、フレームの転送経路(170,86)および同期した時刻に基づく転送タイミング(180,87)の情報を有し、
前記装置の通信を制御する方法は、
前記ネットワークを介して当該装置に到来するフレームを受信するステップと、
前記転送経路を介してフレームが当該装置に規定時間に到着するかを検出するステップと、
前記フレームが到着しない場合、前記周期(10)にかかる条件が満たされるときは、再送要求(9)を、当該転送経路で送信するステップと、を備える、方法。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1,3 制御システム、2,11 ネットワーク、6 未着通知、7 トリガ、8 フレーム消失、9 再送要求、10 制御周期、111 シーケンス、12 フロー、20 通信フレーム、21,22,23,24,25,26,27 フィールド、29,291,183 ストリームID、30 MACアドレス、31 フラグ、60,75 通信処理部、61,76 再送処理部、62,77 通知処理部、63 入出力処理部、72 IOリフレッシュ部、73 制御演算部、74 周辺処理部、81,122 システムプログラム、82,121 時刻同期プログラム、83,127 通信プログラム、84,128 再送プログラム、85,129 通知プログラム、86,170 接続情報テーブル、87,180 スケジュール情報、88,126 コンフィギュレーション、89 トリガ時間、90,90A,90B,90C,90D,90E,90F フィールド装置、91,112 プロセッサ、92 メモリ、93 通信I/F 94、100,100A,100B PLC,130 通信回路、95,108,144 メモリカードインターフェイス、96,116 メモリカード、99,99A〜99F,160,160A,160B,200A タイマ、107,140 コントローラ、110 演算処理部、114 記憶部、119 ストレージ、120 周辺処理プログラム、123 スケジューラ、124 ユーザプログラム、125 IOリフレッシュプログラム、132,941 バッファ、134,944 入力データ、135,943 出力データ、136,137,971,972 通信ポート、171,172 ポート情報、173 装置情報、174 応答可否情報、177 再送処理時間、184 到着時間、185 出力同期、200 マスタ、500 サポート装置。

Claims (9)

  1. 互いに時刻同期された複数の装置がネットワーク接続された制御システムであって、
    前記ネットワークは、前記複数の装置が周期的に遣り取りするフレームを転送し、
    前記複数の装置は、1以上の制御装置と、前記制御装置により制御される装置とを含み、
    各前記複数の装置は、自装置に到来するフレームを送信する第1の装置および自装置から送信されるフレームを受信する第2の装置を、それぞれ、前記ネットワークを介して接続し、
    前記各装置は、フレームの転送経路および同期した時刻に基づく転送タイミングの情報を有し、
    前記複数の装置の少なくとも1つは、
    前記転送経路を介してフレームが規定時間に到着しない場合に、前記周期にかかる条件が満たされるときは、再送要求を、当該転送経路で送信する、制御システム。
  2. 前記周期は、前記複数の装置がフレームを遣り取りする時間と、遣り取りされるフレームのデータに基づく前記1以上の制御装置が実施する制御演算の時間とを含み、
    前記条件は、
    前記フレームを遣り取りする時間および前記制御演算の時間を、前記周期から除いた余裕時間と、前記再送要求に対する応答時間とに基づく条件を含む、請求項1に記載の制御システム。
  3. 前記周期にかかる条件が満たされないとき、前記1以上の制御装置は、前の周期で到着したフレームのデータに基く前記制御演算を実施する、または前の周期での算出値を制御に用いる、請求項2に記載の制御システム。
  4. 前記少なくとも1つの装置は、
    前記再送要求を、ネットワークを介して前記第1の装置に転送するとき、
    フレームの未着通知を、ネットワークを介して前記第2の装置に転送する、請求項1から3のいずれか1項に記載の制御システム。
  5. 前記ネットワークが転送するフレームは、前記制御に用いる制御系データのフレームと、非制御系データのフレームとを含み、
    前記少なくとも1つの装置は、
    前記再送要求を、前記制御系データのフレームと前記非制御系データのフレームのうち、前記制御系データのフレームについてのみ送信する、請求項1から4のいずれか1項に記載の制御システム。
  6. 前記少なくとも1つの装置は、
    ネットワークを介して、複数の前記第1の装置を接続し、
    前記複数の第1の装置のうち、前記再送要求に対する応答が可能な装置を検出し、検出された装置に前記再送要求を送信する再送処理部を備える、請求項1から5のいずれか1項に記載の制御システム。
  7. 前記制御装置間のネットワーク通信のプロトコルと、前記制御装置と前記制御される装置間のネットワーク通信のプロトコルは共通する、請求項1から6のいずれか1項に記載の制御システム。
  8. 制御システムに備えられる装置であって、
    前記制御システムは、ネットワーク接続されて互いに時刻同期された複数の前記装置を備え、
    前記ネットワークは、前記複数の装置が周期的に遣り取りするフレームを転送し、
    前記装置は、自装置に到来するフレームを送信する第1の装置および自装置から送信されるフレームを受信する第2の装置を、それぞれ、前記ネットワークを介して接続し、
    前記装置は、フレームの転送経路および同期した時刻に基づく転送タイミングの情報を有し、
    前記転送経路を介してフレームが規定時間に到着しない場合に、前記周期にかかる条件が満たされるときは、再送要求を、当該転送経路で送信する、装置。
  9. 制御システムに備えられる装置の通信を制御する方法であって、
    前記制御システムは、ネットワーク接続されて互いに時刻同期された複数の前記装置を備え、
    前記ネットワークは、前記複数の装置が周期的に遣り取りするフレームを転送し、
    前記装置は、自装置に到来するフレームを送信する第1の装置および自装置から送信されるフレームを受信する第2の装置を、それぞれ、前記ネットワークを介して接続し、
    前記装置は、フレームの転送経路および同期した時刻に基づく転送タイミングの情報を有し、
    前記装置の通信を制御する方法は、
    前記ネットワークを介して当該装置に到来するフレームを受信するステップと、
    前記転送経路を介してフレームが当該装置に規定時間に到着するかを検出するステップと、
    前記フレームが到着しない場合、前記周期にかかる条件が満たされるときは、再送要求を、当該転送経路で送信するステップと、を備える、方法。
JP2019048251A 2019-03-15 2019-03-15 制御システム、装置および制御方法 Active JP7059973B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2019048251A JP7059973B2 (ja) 2019-03-15 2019-03-15 制御システム、装置および制御方法
EP20773346.0A EP3940998A4 (en) 2019-03-15 2020-02-18 CONTROL SYSTEM, CONTROL DEVICE AND METHOD
PCT/JP2020/006262 WO2020189144A1 (ja) 2019-03-15 2020-02-18 制御システム、装置および制御方法
CN202080017225.1A CN113508560B (zh) 2019-03-15 2020-02-18 控制系统、装置以及控制方法
US17/434,210 US11811547B2 (en) 2019-03-15 2020-02-18 Control system in which a plurality of apparatuses in time synchronization with one another are connected to a network
JP2022065758A JP7396393B2 (ja) 2019-03-15 2022-04-12 制御システム、装置および制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019048251A JP7059973B2 (ja) 2019-03-15 2019-03-15 制御システム、装置および制御方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022065758A Division JP7396393B2 (ja) 2019-03-15 2022-04-12 制御システム、装置および制御方法

Publications (2)

Publication Number Publication Date
JP2020150485A true JP2020150485A (ja) 2020-09-17
JP7059973B2 JP7059973B2 (ja) 2022-04-26

Family

ID=72429962

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019048251A Active JP7059973B2 (ja) 2019-03-15 2019-03-15 制御システム、装置および制御方法
JP2022065758A Active JP7396393B2 (ja) 2019-03-15 2022-04-12 制御システム、装置および制御方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2022065758A Active JP7396393B2 (ja) 2019-03-15 2022-04-12 制御システム、装置および制御方法

Country Status (5)

Country Link
US (1) US11811547B2 (ja)
EP (1) EP3940998A4 (ja)
JP (2) JP7059973B2 (ja)
CN (1) CN113508560B (ja)
WO (1) WO2020189144A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7076654B1 (ja) * 2021-03-09 2022-05-27 三菱電機株式会社 プログラマブルコントローラの通信ユニット、受信データ記憶方法及びプログラム
JP2022128404A (ja) * 2021-02-22 2022-09-01 株式会社日立製作所 データパケット管理方法およびコンピュータプログラム
JP7440485B2 (ja) 2021-12-23 2024-02-28 株式会社日立産機システム プログラマブルコントローラ及び通信システム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006080847A (ja) * 2004-09-09 2006-03-23 Matsushita Electric Ind Co Ltd 媒体の誤り状態に応じて媒体確保を調整する方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0512146A (ja) 1991-06-28 1993-01-22 Toshiba Corp データ伝送装置
JP3168894B2 (ja) 1995-12-26 2001-05-21 三菱電機株式会社 データ伝送装置およびデータ伝送方法
JP2001230795A (ja) 2000-02-16 2001-08-24 Sony Corp 無線伝送方法および無線伝送装置
JP2002084338A (ja) 2000-07-07 2002-03-22 Matsushita Electric Ind Co Ltd データ送信装置、データ受信装置、およびデータ通信システム
US7882253B2 (en) * 2001-04-05 2011-02-01 Real-Time Innovations, Inc. Real-time publish-subscribe system
JP2003060699A (ja) 2001-08-14 2003-02-28 Nippon Telegr & Teleph Corp <Ntt> ネットワークにおける再送制御方法
JP3912091B2 (ja) 2001-12-04 2007-05-09 ソニー株式会社 データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
US7053770B2 (en) * 2004-09-10 2006-05-30 Nivis , Llc System and method for communicating alarm conditions in a mesh network
US8957835B2 (en) * 2008-09-30 2015-02-17 Apple Inc. Head-mounted display apparatus for retaining a portable electronic device with display
JP2010124492A (ja) 2010-02-10 2010-06-03 Sony Corp 無線伝送方法および無線伝送装置
JP5408445B2 (ja) 2010-03-15 2014-02-05 オムロン株式会社 プログラマブルコントローラおよびマスタ通信回路
JP5542027B2 (ja) 2010-10-28 2014-07-09 三菱電機株式会社 デジタル保護制御装置
JP5389071B2 (ja) 2011-02-17 2014-01-15 株式会社日立産機システム 通信制御装置
JP6094196B2 (ja) * 2012-12-14 2017-03-15 オムロン株式会社 情報処理装置、情報処理プログラムおよび情報処理方法
JP6477161B2 (ja) 2015-03-31 2019-03-06 オムロン株式会社 情報処理装置、情報処理プログラムおよび情報処理方法
JP6356909B2 (ja) * 2015-04-23 2018-07-11 株式会社東芝 クライアントシステム、クライアントシステムの管理方法、システムコントローラ

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006080847A (ja) * 2004-09-09 2006-03-23 Matsushita Electric Ind Co Ltd 媒体の誤り状態に応じて媒体確保を調整する方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022128404A (ja) * 2021-02-22 2022-09-01 株式会社日立製作所 データパケット管理方法およびコンピュータプログラム
JP7331078B2 (ja) 2021-02-22 2023-08-22 株式会社日立製作所 データパケット管理方法およびコンピュータプログラム
JP7076654B1 (ja) * 2021-03-09 2022-05-27 三菱電機株式会社 プログラマブルコントローラの通信ユニット、受信データ記憶方法及びプログラム
WO2022190186A1 (ja) * 2021-03-09 2022-09-15 三菱電機株式会社 プログラマブルコントローラの通信ユニット、受信データ記憶方法及びプログラム
JP7440485B2 (ja) 2021-12-23 2024-02-28 株式会社日立産機システム プログラマブルコントローラ及び通信システム

Also Published As

Publication number Publication date
CN113508560B (zh) 2023-06-13
JP7059973B2 (ja) 2022-04-26
EP3940998A4 (en) 2022-12-07
EP3940998A1 (en) 2022-01-19
JP2022093387A (ja) 2022-06-23
CN113508560A (zh) 2021-10-15
US11811547B2 (en) 2023-11-07
US20220173922A1 (en) 2022-06-02
JP7396393B2 (ja) 2023-12-12
WO2020189144A1 (ja) 2020-09-24

Similar Documents

Publication Publication Date Title
JP7396393B2 (ja) 制御システム、装置および制御方法
JP6962099B2 (ja) 制御システムおよび制御装置
EP3691193B1 (en) Control system and communication method
US20170099158A1 (en) Control system, control apparatus and control method
US10785014B2 (en) Computation device, control device and control method
US9467309B2 (en) Network distributor
US11323323B2 (en) Communication system, communication apparatus, and communication method
US20220147022A1 (en) Control system
WO2021059561A1 (ja) 制御システム、情報処理装置およびプログラム
WO2020054477A1 (ja) 制御システムおよび制御装置
US10313040B2 (en) Communication device, communication system, and method for synchronized transmission of telegrams
US11269313B2 (en) Controller and control system that stores data in current control cycle for output in next control cycle
JP6939665B2 (ja) ネットワークシステム
US20220357715A1 (en) Control System, Support Device, and Computer-Readable Storage Medium
JP7231073B2 (ja) 制御装置および制御システム
JP2012073741A (ja) バス転送システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210921

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211027

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220328

R150 Certificate of patent or registration of utility model

Ref document number: 7059973

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150