JP2021051652A - 制御システム、情報処理装置およびプログラム - Google Patents

制御システム、情報処理装置およびプログラム Download PDF

Info

Publication number
JP2021051652A
JP2021051652A JP2019175283A JP2019175283A JP2021051652A JP 2021051652 A JP2021051652 A JP 2021051652A JP 2019175283 A JP2019175283 A JP 2019175283A JP 2019175283 A JP2019175283 A JP 2019175283A JP 2021051652 A JP2021051652 A JP 2021051652A
Authority
JP
Japan
Prior art keywords
timer
devices
information
network
transfer
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
JP2019175283A
Other languages
English (en)
Other versions
JP7310495B2 (ja
Inventor
太雅 新實
Taiga Niimi
太雅 新實
光宏 米田
Mitsuhiro Yoneda
光宏 米田
亮太 赤井
Ryota Akai
亮太 赤井
信幸 阪谷
Nobuyuki Sakatani
信幸 阪谷
成憲 澤田
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 JP2019175283A priority Critical patent/JP7310495B2/ja
Priority to US17/636,359 priority patent/US20220286267A1/en
Priority to PCT/JP2020/010381 priority patent/WO2021059561A1/ja
Priority to CN202080057130.2A priority patent/CN114222955A/zh
Priority to EP20867272.5A priority patent/EP4036669A4/en
Publication of JP2021051652A publication Critical patent/JP2021051652A/ja
Application granted granted Critical
Publication of JP7310495B2 publication Critical patent/JP7310495B2/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
    • 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
    • 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
    • H04J3/0641Change of the master or reference, e.g. take-over or failure of the master
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/12Arrangements providing for calling or supervisory signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • 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
    • 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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0213Standardised network management protocols, e.g. simple network management protocol [SNMP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Programmable Controllers (AREA)

Abstract

【課題】伝送経路の長さを示す指標を考慮して時刻同期のための基準タイマを決定する。【解決手段】複数の転送機器が有するタイマのうちから、基準タイマを決定するタイマ決定手段は、各複数の転送機器について、データが当該転送機器から末端機器に到達するまでに経由するネットワーク上の経路の長さを示す経路指標を取得し、複数の転送機器のうち、末端機器に到達するまでの経路が所定長さを示す経路指標を有する1つ以上の転送機器のタイマのうちから、基準タイマを決定する。【選択図】図1

Description

本発明は、機器が互いに時刻同期する制御システム、情報処理装置およびプログラムに関する。
様々な生産現場において、PLC(プログラマブルロジックコントローラ)などの制御装置を用いたFA(ファクトリオートメーション)技術が広く普及している。このような制御装置は、互いに時刻同期した複数の機器の間でネットワークを介してデータを送受信し、データによって複数の機器を制御することにより、複数の機器を連携して制御する。
装置間の時刻同期に関して、例えば、特許文献1(特開2016−152489号公報)は、基準時刻を有する複数のマスタ装置と時刻情報を含む時刻同期パケットを送受信してスレーブ装置の時刻を同期させる時刻同期方法を開示する、具体的には、スレーブ装置は、時刻同期パケットの時刻情報に基づいて複数のマスタ装置毎に計算されるオフセットを蓄積し、蓄積されたオフセットから複数のマスタ装置毎の時刻品質の状態を示す評価値を測定し、複数のマスタ装置毎の評価値を比較して評価値が示す時刻品質の状態が高い方のマスタ装置の時刻情報に切り替える。
特開2016−152489号公報
FAシステムでは、複数の制御対象が、時刻同期に基づく制御周期に従い転送される制御データに従い動作するので、制御対象間で高い時刻同期精度が要求される。その一方で、FAシステムの大規模化に伴い、ネットワークを介したデータ伝送の経路は長くなる傾向にある。このことから、制御対象によってはマスタ装置との間の経路途中に配置された他の機器における時刻情報の滞留時間などを含む通信遅延によって、制御対象間で時刻同期の精度がばらつく可能性がある。したがって、FAシステムでは、上記の要求を満たすために、制御対象までの伝送経路における伝送経路の長さ(通信遅延)を考慮して時刻同期の基準タイマを決定することが望まれる。
しかしながら、特許文献1は、FAシステムにおける時刻同期を提案していない。また、特許文献1は、伝送経路における時刻品質の状態を考慮しているものの、マスタ装置の基準時刻の精度を優先してマスタを選択しているために、FAシステムにおける上記の要望に応えることはできない。
本開示は、FAシステムにおいて、伝送経路の長さを示す指標を考慮して時刻同期のための基準タイマを決定する制御システム、情報処理装置およびプログラムを提供することである。
この開示にかかる制御システムは、FAのネットワークに接続される複数の機器を備える制御システムであって、複数の機器は、それぞれ、時間を管理するタイマを有し、複数の機器のタイマは、基準時間を管理する基準タイマに時刻同期し、複数の機器は、ネットワークの末端に接続される1つ以上の末端機器と、制御に関連したデータを1つ以上の末端機器に転送する複数の転送機器と、を備え、複数の転送機器が有するタイマのうちから、基準タイマを決定するタイマ決定手段を備え、タイマ決定手段は、各複数の転送機器について、データが当該転送機器から1つ以上の末端機器に到達するまでに経由するネットワーク上の経路の長さを示す経路指標を取得する経路指標取得手段を有し、1つ以上の末端機器に到達するまでの経路が所定長さを示す経路指標を有する1つ以上の転送機器のタイマのうちから、基準タイマを決定する。
この開示によれば、FAシステムにおいて、末端機器にまでデータを転送する経路の長さを示す指標を考慮して時刻同期のための基準タイマを決定することができる。
上述の開示では、時刻同期において、基準タイマの時間情報が対象機器に転送されて、経路の所定長さは、対象機器への時間情報の転送にかかる通信遅延を一定に保証可能な長さを含む。
この開示によれば、基準タイマを決定するための1つ以上の候補を選択するために参照される経路の所定長さを、対象機器への時間情報の転送にかかる通信遅延を一定に保証可能な長さにすることができる。
上述の開示において、複数の転送機器は、時刻同期に基づく周期で制御演算を実行し、演算結果である制御に関するデータをネットワークに転送する1つ以上のコントローラを含み、1つ以上の末端機器は、1つ以上のコントローラのうち、周期が最短であるコントローラから転送される制御に関するデータを用いて制御対象を制御する機器を含む。
この開示によれば、末端機器が制御対象を制御するために用いるデータを最短の周期で算出するコントローラを含む複数の転送機器が有するタイマを、基準タイマの候補とすることができる。
上述の開示において、制御対象は、制御に関するデータに従い挙動が制御されるモーション制御対象を含む。
この開示によれば、末端機器のモーション制御対象を制御するために用いるデータを最短の周期で算出するコントローラを含む複数の転送機器が有するタイマを、基準タイマの候補とすることができる。
上述の開示において、タイマ決定手段は、さらに、タイマの時間の精度と当該タイマを有する転送機器の経路指標とから、時刻同期の精度を示す指標を算出する精度指標算出手段と、1つ以上の末端機器に到達するまでの経路が所定長さを示す経路指標を有する1つ以上の転送機器のタイマのうちから、基準タイマを決定するための1つ以上の候補を選択する候補選択手段と、を有し、候補として選択された1つ以上のタイマのうちから、選択された各タイマの精度指標に基づき基準タイマを決定する。
この開示によれば、基準タイマの候補となる候補タイマを決定する場合に、その候補を決定するために用いる指標を、各タイマの時間の精度と当該タイマを有する転送機器の経路指標とから算出することができる。
上述の開示において、候補選択手段は、さらに、経路指標が所定長さの経路を示す1つ以上の転送機器に含まれる1つ以上のコントローラのうち、周期が最短であるコントローラを特定し、特定された当該コントローラと、当該コントローラからのデータが1つ以上の末端機器に到達するまでに経由する1つ以上の転送機器とが有するタイマを、基準タイマを決定するための1つ以上の候補として選択する。
この開示によれば、末端機器が制御対象を制御するために用いるデータを最短の周期で算出するコントローラと、当該データを末端機器にまで転送する転送機器とが有するタイマのうちから、基準タイマを決定することができる。
上述の開示において、タイマ決定手段は、さらに、タイマの時間の精度と当該タイマを有する転送機器の経路指標とから、時刻同期の精度を示す指標を算出する精度指標算出手段を有し、複数の転送機器が有するタイマのうちから、各タイマの精度指標に基づき基準タイマを決定する。
この開示によれば、基準タイマを決定するために用いる指標として、各タイマの時間の精度と当該タイマを有する転送機器の経路指標とから算出した指標を用いることができる。
上述の開示において、複数の転送機器のうちから、各転送機器が有するプログラム実行にかかるリソースの余裕を示す情報に基づき1の転送機器を選択する手段を、さらに備え、選択された1の転送機器が、タイマ決定手段を有する。
この開示によれば、制御システムが備える転送機器のうち、タイマ決定手段を実施可能なリソースを有する転送機器に、当該タイマ決定手段を実施させることができる。
この開示にかかる情報処理装置は、FAのネットワークに接続される複数の機器を備える制御システムに接続可能な情報処理装置であって、複数の機器は、それぞれ、時間を管理するタイマを有し、複数の機器のタイマは、基準時間を管理する基準タイマに時刻同期し、複数の機器は、ネットワークの末端に接続される1つ以上の末端機器と、制御に関連したデータを1つ以上の末端機器に転送する複数の転送機器と、を備え、情報処理装置は、複数の転送機器が有するタイマのうちから、基準タイマを決定するタイマ決定手段を備え、タイマ決定手段は、各複数の転送機器について、データが当該転送機器から1つ以上の末端機器に到達するまでに経由するネットワーク上の経路の長さを示す経路指標を取得する経路指標取得手段と、経路指標が1つ以上の末端機器に到達するまでの経路が所定長さを示す1つ以上の転送機器のタイマのうちから、基準タイマを決定するための1つ以上の候補を選択する候補選択手段と、を有する。
この開示によれば、FAシステムにおいて、末端機器にまでデータを転送する経路の長さを示す指標を考慮して時刻同期のための基準タイマを決定することができる。
この開示にかかるプログラムは、FAのネットワークに接続される複数の機器を備える制御システムに対する設定方法をコンピュータに実行させるプログラムである。複数の機器は、それぞれ、時間を管理するタイマを有し、複数の機器のタイマは、基準時間を管理する基準タイマに時刻同期し、複数の機器は、ネットワークの末端に接続される1つ以上の末端機器と、制御に関連したデータを1つ以上の末端機器に転送する複数の転送機器と、を備え、設定方法は、複数の転送機器が有するタイマのうちから、基準タイマを決定するステップを備え、基準タイマを決定するステップは、各複数の転送機器について、データが当該転送機器から1つ以上の末端機器に到達するまでに経由するネットワーク上の経路の長さを示す経路指標を取得するステップと、経路指標が1つ以上の末端機器に到達するまでの経路が所定長さを示す1つ以上の転送機器のタイマのうちから、基準タイマを決定するための1つ以上の候補を選択するステップと、を有する。
この開示によれば、プログラムが実行されることにより、コンピュータは、FAシステムにおいて、末端機器にまでデータを転送する経路の長さを示す指標を考慮して時刻同期のための基準タイマを決定することができる。
この開示によれば、FAシステムにおいて、末端機器にまでデータを転送する経路の長さを示す指標を考慮して時刻同期のための基準タイマを決定することができる。
実施の形態に従う制御システム1の構成を模式的に示す図である。 本実施の形態にかかる制御システム1のハードウェア構成の一例を示す模式図である。 本実施の形態にかかるネットワークを介した機器の接続形態の一例を模式的に示す図である。 本実施の形態にかかるサポート装置500の構成を概略的に示す図である。 本実施の形態にかかるサポート装置500のソフトウェア構成を模式的に示す図である。 本実施の形態にかかる全体の処理の一例を概略的に示すフローチャートである。 本実施の形態にかかる制御対象を考慮したトポロジの一例を模式的に示す図である。 本実施の形態にかかるSNMP情報603の一例を模式的に示す図である。 本実施の形態にかかるトポロジ情報30の一例を模式的に示す図である。 本実施の形態にかかる制御対象を考慮したトポロジ情報の算出処理の一例を示すフローチャートである。 図10の処理で参照されるアクセス履歴611の一例を示す図である。 本実施の形態にかかるクロック情報605を取得する処理の一例を示すフローチャートである。 本実施の形態にかかる最短周期制御の関連機器610を検出する処理の一例を示すフローチャートである。 本実施の形態にかかるプロジェクト60の一例を模式的に示す図である。 本実施の形態にかかるグランドマスタの候補の選択とグランドマスタの決定の処理の一例を示すフローチャートである。 本実施の形態にかかる機器間で自律的にグランドマスタを検出する処理の一例を模式的に示す図である。 本実施の形態にかかるネットワークの構成の他の例を模式的に示す図である。 本実施の形態にかかる制御対象を考慮したトポロジの他の例を模式的に示す図である。 本実施の形態にかかるSNMP情報603の他の例を模式的に示す図である。 本実施の形態にかかるトポロジ情報30の他の例を模式的に示す図である。 本実施の形態にかかるグランドマスタの候補の選択とグランドマスタの決定の処理の他の例を示すフローチャートである。 本実施の形態にかかる制御システムの他の構成を模式的に示す図である。 本実施の形態にかかるグランドマスタの動的決定の制御システムの構成の一例を模式的に示す図である。 本実施の形態にかかる制御システムのハードウェア構成の一例を模式的に示す図である。 本実施の形態にかかるスイッチ1000のソフトウェア構成を模式的に示す図である。 本実施の形態にかかるセレクタを決定する処理の一例を示すフローチャートである。 本実施の形態にかかるセレクタを用いてグランドマスタを決定する処理の一例を示すフローチャートである。 本実施の形態にかかるセレクタを選択的に決定する処理の一例を示すフローチャートである。 本実施の形態にかかる制御対象を考慮したトポロジの他の例を模式的に示す図である。 本実施の形態にかかる最短周期制御の関連機器の決定の処理の一例を示すフローチャートである。 本実施の形態にかかるネットワークの構成の他の例を模式的に示す図である。 本実施の形態にかかる制御対象を考慮したトポロジの他の例を模式的に示す図である。 本実施の形態にかかるトポロジ情報30の他の例を模式的に示す図である。 本実施の形態にかかる制御システムの他の構成を模式的に示す図である。 本実施の形態にかかるグランドマスタの決定により供される利点を説明する図である。
以下、図面を参照しつつ、本発明に従う実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。
<A.適用例>
まず、図1を参照して、本発明が適用される場面の一例について説明する。図1は、実施の形態に従う制御システム1の構成を模式的に示す図である。図1を参照して、制御システム1は、FAのネットワーク2に接続されて互いに時刻同期する複数の機器を備える。本実施の形態では、機器間の時刻同期を、例えばTSN(Time-Sensitive Networking)のIEEE(Institute of Electrical and Electronics Engineers)1588、IEEE802.1AS、IEEE802.1AS−Revなどの高精度時間同期プロトコルを採用することで実現している。
ネットワーク2に接続される複数の機器は、「転送機器」の一実施例であるスイッチ100A,100B,100C、100Dおよび100Eと、「末端機器」の一実施例であるエンドポイント200A,200B,200C,200D,200Eおよび200Fを含む。スイッチ100A,100B,100Cおよび100Eは、それぞれ、タイマ101A,101B,101C、101Dおよび101Eを備える。スイッチ100A,100B,100Cおよび100Eは、スイッチ機能などの共通した機能を説明する場合は、スイッチ100と総称する。また、タイマ101A,101B,101C、101Dおよび101Eも、共通の機能を説明する場合は、タイマ101と総称する。エンドポイント200A,200B,200C,200D,200Eおよび200Fは、それぞれ、タイマ201A,201B,201C,201D,201Eおよび201Fを備える。エンドポイント200A,200B,200C,200D,200Eおよび200Fは共通した機能を備えるので、共通した機能を説明する場合は、エンドポイント200と総称する。タイマ201A,201B,201C,201D,201Eおよび201Fも、共通の機能を説明する場合は、タイマ201と総称する。
本実施の形態では、「転送機器」はデータ(典型的には制御に関連したデータ)をネットワーク2上に転送する機能を備える。「転送機器」には、データを中継するスイッチ機能を備える。スイッチ機能は、典型的には、転送機器のネットワーク2に繋がる入力ポートに入来するデータを、転送機器の出力ポートを介してネットワーク2に送出する。入力ポートおよび出力ポートに繋がる隣接した機器は、他の「転送機器」または「末端機器」を含み得る。これにより、各転送機器は、隣接する機器から入来するデータを、隣接する他の機器に転送する、いわゆる中継機能を提供する。
本実施の形態では、「末端機器」は、スイッチ機能を備えない機器であって、ネットワーク2を介して受信する制御データを用いて「制御対象」を駆動する機器を含む。具体的には、「制御対象」は、FAの生産ラインに備えられて制御の対象となる機械または設備、センサなどを含む。機械または設備にはロボット、テーブル、コンベアなどのメカニカル機構が含まれる。このような機械または設備などの挙動の制御としては、機械または設備に関連したサーボモータの運動(速度、トルクなど)を制御するためのモーション制御などの制御演算が含まれ得る。このようなモーション制御は、さらに、位置決めテーブルまたはロボットなどのメカニカル機構の位置決めを行うモーションプログラムなどの制御プログラムの実行も想定される。
また、「末端機器」は、制御対象の制御データをネットワーク2を介して受信し、受信した制御データに基づき制御対象の動作を制御する機器に相当する。「末端機器」は、限定されないが、例えば、センサなどの制御対象の入出力を制御するIOユニットと、上記のサーボモータを制御データに従い駆動するサーボモータドライバなどを含む。
ネットワーク2に接続される「転送機器」には、上記の時刻同期に基づく周期で制御プログラム(制御演算)を実行し、演算結果である制御データをネットワーク2に出力ポートを介して送信する1つ以上の「コントローラ」を含む。このコントローラは、PLC(プログラマブルロジックコントローラ)を含み得る。図1では、例えば、スイッチ100Bと100Dはコントローラに相当する。
ネットワーク2としては、例えばTSN規格に従いデータの到達時間が保証される、定周期通信を行なうバスまたはネットワークを採用することが好ましい。例えば、ネットワーク2にはTSNの上位プロトコルとしてEtherNet/IP(登録商標)などの公知のプロトコルにかかるネットワークを採用してもよい。EtherNet/IPは、汎用的なEthernet(登録商標)上に制御用プロトコルを実装した産業用オープンネットワークである。ネットワーク2上では、データは、例えばフレーム単位で転送される。
「タイマ」(タイマ101,201)は、ある精度を有した時間を管理する。具体的には、タイマ101は、ネットワーク2からデータの送受信、または制御対象の制御周期などを指示するタイミングの基準となるパルスを発生する。タイマ101,201としては、限定されないが、リアルタイムクロック、または、所定周期でカウントアップ(インクリメントまたはデクリメント)するフリーランカウンタを用いることができる。フリーランカウンタが出力するカウント値をある時点からの経過時間として扱うことで現在時刻を計算でき、これによってタイマとして動作させることができる。
「基準タイマ」は、ネットワーク2に接続される複数の転送機器(スイッチ100)が有するタイマ(タイマ101)のうちから選択的に決定されるタイマであって、時刻同期のための基準時間を管理するタイマを意味する。以下では、基準タイマをグランドマスタとも呼ぶ。
本実施の形態では、「タイマ」が有する時間の精度(Clock Accuracy)とは、主に、タイマが管理(計測)する時間の精度(例えば、ミリ秒、マイクロ秒など)である。時間の精度は、例えばミリ秒はマイクロ秒よりも低い。また、時間の精度は、当該タイマが安定して時間を計測できることを示す安定性の程度を含んでもよい。
本実施の形態では、制御対象で検知されたフィールド値が、ネットワーク2を介して転送される。「フィールド値」の概念は、任意の制御対象についてのデータ(値)の時間的な変化を連続的(あるいは、一定間隔をおいて不連続)に検知して得られる一連の値も含み得る。
コントローラで制御プログラムが実行されることにより、フィールド値に基づく制御演算が実施されて、制御演算による算出値は、「制御対象」を制御するための指令値、制御量などを含む制御データに相当する。コントローラは、制御データを、時刻同期に基づく予め定められた周期毎にネットワーク2上に送出(転送)する。エンドポイント200は、時刻同期に基づく周期で制御データを受信し、受信した制御データに従い制御対象を制御する。具体的には、ロボットのアームの位置を制御するモーション制御の場合、アームの複数軸に対応した複数のサーボモータは、対応する複数のエンドポイント200によって、制御周期に同期して制御される。したがって、複数の制御対象を、互いに同期して制御するために、複数のエンドポイント200のタイマ201の時刻同期に関して高い精度が求められる。
さらに、制御システム1はネットワーク2に接続可能なサポート装置500を備える。サポート装置500は、制御システム1の複数の機器を時刻同期させるために必要な準備を支援する「情報処理装置」の一実施例である。具体的には、サポート装置500はサポートツールのアプリケーションプログラムを実行することにより、支援環境を提供する。サポート装置500は、サポートツールを操作するためにユーザを支援する環境、例えばサポートツールの操作を受付けるUI(User Interface)を提供し得る。サポート装置500は、汎用のコンピュータであってよく、図示されるような据え置き型、またはユーザが携帯可能なタイプであってもよい。
サポート装置500は、たとえばUSB(Universal Serial Bus)に従いケーブル3を介してスイッチ100Aと通信することにより、ネットワーク2に接続されるが、サポート装置500の接続態様はこれに限定されず、たとえば無線でネットワーク2に接続されてもよい。
サポート装置500はサポートツール770(図5)を起動すると、起動されたサポートツール770は、ネットワーク2のエンドポイント200までの伝送経路の長さを示す指標を考慮して時刻同期のためのグランドマスタを決定する。なお、サポートツール770が起動される場合は、ネットワーク2に接続される機器は電源ONの状態であるが、制御に関連する動作を停止している、すなわちネットワーク2上では制御に関連したデータ(フィールド値、制御データなど)は転送されないとする。
サポートツール770は、ネットワーク2に接続される複数の機器に、予め定められた情報をサポート装置500に送信することを要求する情報要求602を送信する。
スイッチ100は、情報要求602に応答して、予め定められた情報としてSNMP(Simple Network Management Protocol)情報603およびクロック情報605を、サポート装置500に送信する。また、スイッチ100は、情報要求602に応答して、エンドポイント200から予め定められた情報として機器情報604を受信し、受信した機器情報604を隣接のスイッチ100に送信する。このように、各エンドポイント200の機器情報604は、ネットワーク2上の1つ以上のスイッチ100を経由してサポート装置500に転送される。
スイッチ100からのSNMP情報603は、当該スイッチ100が有する情報であって、スイッチ100自身の情報(識別子(例えば、MAC(Media Access Control address)アドレス、製品名)、当該スイッチ100に接続された隣接の機器の情報(識別子(例えば、MACアドレス、製品名)、および隣接する機器を接続するポートの情報などを含む。機器情報604は、エンドポイント200の識別子、機器の種類、およびポートの情報であって当該エンドポイント200を接続するスイッチのポートの情報を含む。
クロック情報605は、タイマ101(またはタイマ201)が有する情報であって、当該タイマが管理する時間の精度(Clock Accuracy)を含む。
サポートツール770は、各スイッチ100から受信したSNMP情報603および各エンドポイント200から受信する機器情報604を解析し、解析結果に基づき、ネットワーク2における複数の機器の相互の接続の形態を示すトポロジ情報30を算出する(ステップT1)。サポートツール770は、トポロジ情報30とクロック情報605に基づき、複数のスイッチ100が有するタイマ101のうちから、グランドマスタを決定する(ステップT13)。グランドマスタの決定に際して、サポートツール770は、各スイッチ100について、当該スイッチ100からエンドポイント200に到達するまでに経由するネットワーク2上の経路の長さを示す経路指標を取得する(ステップT10)。続いて、サポートツール770は、複数のスイッチ100のうち、上記の経路指標が示す経路が所定長さである1つ以上のスイッチ100が有するタイマ101を、上記のグランドマスタの候補として選択する(ステップT11)。サポートツール770は、選択された1以上の候補からグランドマスタを決定すると、グランドマスタ(タイマ101)のスイッチ100に対して、プライオリティ設定情報601を送信する。
プライオリティ設定情報601を受信したスイッチ100は、プライオリティ設定情報601に基づき、自機器にグランドマスタを示す値のプライオリティを設定する。このようにスイッチ100に設定されるプライオリティは、後述するように、当該スイッチ100のタイマ101を他のタイマよりも優先してグランドマスタに選択(決定)するために参照される値に相当する。
したがって、サポートツール770は、FAシステムにおいて、制御対象を制御するエンドポイント200まで制御データなどのデータを伝送する経路の長さを示す経路指標を考慮して候補タイマを選択し、選択された候補タイマからグランドマスタを決定することができる。
以下、本実施の形態のより具体的な応用例について説明する。
<B.ハードウェアの構成例>
図2は、本実施の形態にかかる制御システム1のハードウェア構成の一例を示す模式図である。図2は、スイッチ100にエンドポイント200が関連付けて示される。図2のスイッチ100は、典型的には、PLCをベースとして構成されているが、上記に述べたスイッチ機能を備える構成であれば、この構成に限定されない。
図2を参照して、スイッチ100は、主たるコンポーネントとして、CPU(Central Processing Unit)などのプロセッサ102と、メモリ104と、ストレージ106と、ネットワークコントローラ110とを含む。また、スイッチ100は、サポート装置500と通信するI/F(Interface)103を含む。これらは内部バス109を介して相互に通信する。
ストレージ106には、スイッチ100の各部を制御するためのOS(Operating System)を含むシステムプログラム107に加えて、制御対象などに応じて設計されるユーザアプリケーションプログラム108が格納される。ユーザアプリケーションプログラム108には、制御対象などに応じて設計されるモーション制御プログラムなどの各種の制御プログラムが含まれる。
プロセッサ102は、ストレージ106に格納されているシステムプログラム107およびユーザアプリケーションプログラム108をメモリ104に読み出して実行することで、後述するような処理を含む各種処理を実現する。メモリ104は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置からなる。
メモリ104は、グランドマスタのプライオリティ607を格納するための領域1041、自機器のタイマ101のプライオリティ606を格納するための領域1042、および自機器のタイマ101の精度(Clock Accuracy)を示すクロック情報605を格納するための領域1043を有する。プライオリティ606および607は、グランドマスタを選択するためのBMCA(Best Master Clock Algorithm)処理(図16)で用いられる。
ネットワークコントローラ110は、スイッチ100がネットワーク2を介してエンドポイント200または他のスイッチ100との間でデータを遣り取りするためのインターフェイスを提供する。ネットワークコントローラ110は、主たるコンポーネントとして、受信回路(Rx)111と、受信(Rx)バッファ112と、送受信コントローラ(Tx/Rx CTRL)113と、送信(Tx)バッファ114と、送信回路(Tx)115と、タイマ101とを含む。
受信回路111は、ネットワーク2上を時刻同期に基づいた周期で転送されるフレームを入力ポート(図示せず)を介して受信して、その受信したフレームに格納されているデータを受信バッファ112に書込む。送受信コントローラ113は、受信バッファ112に書込まれた受信フレームを順次読出す。送受信コントローラ113は、当該読出されたフレームから、スイッチ100での処理に必要なデータのみを抽出し、プロセッサ102へ出力する。送受信コントローラ113は、プロセッサ102からの指令に従って、エンドポイント200へ送信すべきデータあるいはフレームを送信バッファ114へ順次書込む。送信回路115は、ネットワークコントローラ110上をフレームが転送される周期であって、時刻同期に基づいた周期で、送信バッファ114に格納されているデータを出力ポート(図示せず)を介して順次ネットワーク2へ送出する。
図2を参照して、エンドポイント200は、制御対象の制御を実現するために必要な各種機能を実現する。典型的には、エンドポイント200の各々は、制御対象の設備や装置などからのフィールド情報の収集または、制御対象の設備や装置などへの制御指令の出力を司る。エンドポイント200の各々は、主たるコンポーネントとして、プロセッサ202と、メモリ204と、ストレージ206と、通信回路210とを含む。通信回路210は、ネットワーク2を転送されるフレームを処理する。すなわち、通信回路210は、ネットワーク2を介して入力ポート(図示せず)から何らかのフレームを受信すると、当該受信したフレームに対するデータ書込みおよび/またはフレームからのデータ読出しを行ない、その後に、出力ポート(図示せず)を介してネットワーク2に当該フレームを送出する。
より具体的には、通信回路210は、受信回路(Rx)211と、送受信コントローラ(Tx/Rx CTRL)212と、送信回路(Tx)213と、タイマ201とを含む。受信回路211および送信回路213は、ネットワーク2と物理的に接続される部位であり、送受信コントローラ212からの指令に従って、ネットワーク2上を転送されるフレームを受信し、受信フレームを処理し、処理後のフレームをネットワーク2に送出する。送受信コントローラ212は、ネットワーク2上を転送されるフレームに対するデータ書込みおよび/または当該フレームからのデータ読出しを行なう。
メモリ204は、グランドマスタのプライオリティ607を格納するための領域2041、自機器のタイマ201のプライオリティ606を格納するための領域2042、および自機器のタイマ201の精度(Clock Accuracy)を示すクロック情報605を格納するための領域2043を有する。プライオリティ607および606は、グランドマスタを選択するための後述するBMCA処理で用いられる情報である。
スイッチ100のタイマ101は、送受信コントローラ113による入出力のタイミングまたはスイッチ100による処理の実行のタイミングなどの基準となるクロックを発生する。また、エンドポイント200のタイマ201は、送受信コントローラ212による指令出力のタイミングまたはエンドポイント200による処理の実行のタイミングなどの基準となるクロックを発生する。タイマ101およびタイマ201は、後述するようにグランドマスタに時刻同期するので、ネットワーク2に接続されたスイッチ100およびエンドポイント200を互いに時刻同期させて動作させることができる。
<C.機器の接続形態の例示>
図3は、本実施の形態にかかるネットワークを介した機器の接続形態の一例を模式的に示す図である。図3のネットワーク構成では、斜線で示すスイッチ100を中心にして、複数の機器(スイッチ100またはエンドポイント200)の接続形態が模式的に示されている。中心のスイッチ100は、ネットワークを介してフレームを送受信するポートとして、例えばポートP1、P2およびP3を備える。ポートP1、P2およびP3は、それぞれ、機器「C1」、「C」および「C2」が接続されているが、複数の機器が接続(マルチ接続)されてもよい。中心のスイッチ100の各ポートに繋がる機器「C1」、「C」および「C2」もまた、当該機器が有するポートを介して他の機器を接続する。機器「C1」は、機器「D1」と「B1」をマルチ接続する。また、機器「C」は、機器「D」と「B」をマルチ接続する。また、機器「C2」は、機器「D2」と「A2」をマルチ接続する。本実施の形態では、このような機器間の接続形態(ポートに接続される機器の情報と、当該ポートの情報)は、後述するトポロジ情報30として算出される。
<D.サポート装置500のハードウェア構成>
図4は、本実施の形態にかかるサポート装置500の構成を概略的に示す図である。図4を参照して、サポート装置500は、CPU(Central Processing Unit)502とプログラムおよびデータを格納する格納部を備えて、プログラムに従って動作するコンピュータシステムである。格納部は、ROM(Read Only Memory)503、RAM(Random Access Memory)504およびHDD(Hard Disk Drive)505を含む。サポート装置500は、さらに、通信コントローラ507およびI/O(Input/Output)インターフェイス508を含む。サポート装置500は、さらに、キーボード509およびディスプレイ510を含む。キーボード509は、ユーザからのサポート装置500に対する指示を含む入力を受付ける。当該入力を受付けるために、サポート装置500は、マウス等の他のデバイスを含んでもよい。ディスプレイ510は、LCD(Liquid Crystal Display)または有機EL(Electro Luminescence)を含み、サポート装置500から出力される情報を表示する。サポート装置500は、外部の記憶媒体501を脱着自在に装着し、装着された記憶媒体501にプログラムおよび/またはデータを読み書きするリーダライタ506(図中は、R/W506と略す)を備える。
通信コントローラ507は、ケーブル3を介したサポート装置500と外部デバイスとの通信を制御する。通信コントローラ507は、例えばNIC(Network Interface Card)を含んで構成される。I/Oインターフェイス508(図中は、I/O508と略す)は、CPU502とキーボード509およびディスプレイ510との間のデータの遣り取りを制御する。
HDD505は、OS(Operating System)を含むシステムプログラム70、サポートツールを構成するツールプログラム77、および製品情報ライブラリ91を含む情報群78を格納する領域を有する。製品情報ライブラリ91は、ネットワーク2に接続され得る複数の機器のそれぞれに対応して、当該機器の名前、当該機器に関する情報を含む。機器に関する情報は、当該機器がスイッチまたは制御対象のエンドポイントであるか、スイッチのうちコントローラであるか、制御対象のうちモーション制御対象であるかを示す情報を含む。これら情報は、例えば、フラグにより示される。
情報群78の領域は、さらに、機器情報604を格納するための機器情報領域80、SNMP情報603を格納するためのSNMP情報領域81、トポロジ情報30を格納するためのトポロジ情報領域82、プロジェクト60(図14)を格納するためのプロジェクト領域83およびクロック情報605を格納するためのクロック情報領域84を含む。
ツールプログラム77は、制御システム1にグランドマスタに関する情報を設定する設定方法を提供する。具体的には、ツールプログラム77は、情報収集プログラム71、トポロジ算出プログラム72、およびグランドマスタのタイマを決定するタイマ決定プログラム73を含む。タイマ決定プログラム73は、経路指標取得プログラム74、複数のタイマ101のうちからグランドマスタの候補となるタイマをプロジェクト60を用いて選択する候補選択プログラム75、および精度指標算出プログラム76を含む。精度指標算出プログラム76は、候補タイマのうちからグランドマスタを決定するための時間精度の指標を示す精度指標を、クロック情報605を用いて算出する。
情報収集プログラム71は、実行されることにより、情報要求602を送信し、当該要求の応答であるSNMP情報603、機器情報604およびクロック情報605を受信し、受信した情報をそれぞれ、SNMP情報領域81、機器情報領域80およびクロック情報領域84に格納する。
トポロジ算出プログラム72は、実行されることにより、SNMP情報領域81および機器情報領域80のSNMP情報603および機器情報604を製品情報ライブラリ91の情報を用いて解析し、解析の結果に基づき、トポロジ情報30(図10)を算出し、算出されたトポロジ情報30をトポロジ情報領域82に格納する。
<E.サポート装置500のソフトウェア構成>
図5は、本実施の形態にかかるサポート装置500のソフトウェア構成を模式的に示す図である。図5では、図4で示されたツールプログラム77が、システムプログラム70のもとでCPU502によって実行されることで提供されるサポートツール770の機能が、HDD505に格納される関連する情報とともに示されている。
サポートツール770の機能は、情報収集プログラム71、トポロジ算出プログラム72およびタイマ決定プログラム73のそれぞれに対応する、情報収集部710、トポロジ算出部720およびタイマ決定部711を含む。タイマ決定部711は、経路指標取得プログラム74、候補選択プログラム75および精度指標算出プログラム76のそれぞれに対応する、経路指標取得部721、候補選択部731および精度指標算出部741を含む。
<F.全体の処理フロー>
図6は、本実施の形態にかかる全体の処理の一例を概略的に示すフローチャートである。
図6を参照して、サポート装置500においてサポートツール770が起動されると、トポロジ算出部720は、トポロジ情報30を算出する(ステップT1)。具体的には、情報収集部710は、ネットワーク2に接続されるスイッチ100およびエンドポイント200からSNMP情報603および機器情報604を収集する(ステップT3,T5)。トポロジ算出部720は、収集されたSNMP情報603および機器情報604からトポロジ情報30の算出処理(図8)を実施する。なお、スイッチ100は、接続するエンドポイント200からの機器情報604を用いて当該スイッチにかかるトポロジ情報を算出して、サポート装置500に転送してもよい。
情報収集部710は、ネットワーク2に接続される各スイッチ100からクロック情報605を取得する(ステップT7,T9)。
経路指標取得部721は、上記の算出されたトポロジ情報30を解析し、解析の結果に基づき、各スイッチ100について、制御データが当該スイッチ100からエンドポイント200に到達するまでに経由するネットワーク2上の経路の長さまたは経路上の距離を示す経路指標を取得する(ステップT10)。本実施の形態では、この経路指標は、例えばスイッチ100からのデータ(制御データなど)がエンドポイント200に到達するまでに経由する機器の数であるHop(ホップ)数を示す。
候補選択部731は、グランドマスタの1つ以上の候補を選択する(ステップT11)。具体的には、候補選択部731は、1つ以上のエンドポイント200に到達するまでの経路が所定長さを示す経路指標を有する1つ以上の転送機器のタイマのうちから、グランドマスタの1つ以上の候補のタイマ101を選択する。または、候補選択部731は、経路指標で選択された1つ以上の候補のタイマ101を有するスイッチ100の中のコントローラのうちから、最短の周期で対象を制御する1つ以上のコントローラのタイマ101を候補として選択する。
タイマ決定部711は、グランドマスタの1または複数の候補から、グランドマスタを決定する(ステップT13)。具体的には、精度指標算出部741は、候補として選択された1つ以上のタイマ101のそれぞれについて、当該タイマ101の時間の精度と当該タイマ101を有するコントローラの経路指標とから、時刻同期の精度を示す精度指標を算出する。タイマ決定部711は、1つ以上の候補(タイマ101)のうち、精度指標が最高の精度を示す候補をグランドマスタに決定する。
タイマ決定部711は、グランドマスタに決定されたタイマ101に、グランドマスタであることを設定するためのプライオリティ設定情報601を送信する(ステップT15)。その後、ネットワーク2に接続されたスイッチ100とエンドポイント200は、グランドマスタを特定するために、たとえばBMCA処理(図16)を実施する(ステップT17,T19)。
なお、サポート装置500は、SNMP情報603、機器情報604およびクロック情報605を取得した後は、制御システム1から切り離されて、取得された情報を用いてグランドマスタを決定し、決定したグランドマスタを設定するプライオリティ設定情報601を制御システム1に出力するとしてもよい。
本実施の形態では、タイマ決定部711は、候補のタイマ101を選択することなく、各スイッチ100のタイマ101のうちから、グランドマスタを決定してもよい。具体的には、タイマ決定部711は、各タイマ101について算出された上記精度指標に基づき、グランドマスタを決定するとしてもよい。例えば、タイマ決定部711は、精度指標が最高の精度を示すタイマ101をグランドマスタに決定するとしてもよい。
サポート装置500は、上記に述べた候補のタイマ101からグランドマスタを決定するモードと、候補のタイマ101を選択することなく、各スイッチ100のタイマ101から精度指標に基づきグランドマスタを決定するモードとを備え、いずれか一方のモードに切替えられると、切替後のモードに従い、グランドマスタを決定するとしてもよい。サポート装置500は、このようなモードの切替を、例えばキーボード509から受付けたユーザ操作に従い実施する。
<G.制御対象を考慮したトポロジと経路指標>
本実施の形態では、制御対象として、高い精度の時刻同期が要求される種類の制御対象について、時刻同期精度を保証するようにグランドマスタが決定される。
(G1.制御対象を考慮したトポロジの一例)
図7は、本実施の形態にかかる制御対象を考慮したトポロジの一例を模式的に示す図である。図7のトポロジは、制御対象として、高い精度の時刻同期が要求される種類の制御対象、すなわちモーション制御対象620のエンドポイント200(図中では、エンドポイント(E)、(F)および(G)で示される)を中心にしたトポロジが示されている。トポロジは、エンドポイント(E)、(F)および(G)に繋がるスイッチ100(図中では、スイッチ(A)、(B)、(C)および(D)で示される)を有する。さらに、図7のトポロジでは、スイッチ(B)および(C)は、モーション制御対象620のモーション制御プログラムを実行するコントローラに相当し、このうちスイッチ(C)のコントローラが最も短い周期でモーション制御プログラムを実行する。
本実施の形態では、モーション制御対象620のモーション制御プログラムを実行するコントローラのうち最短周期で実行するコントローラから対応の制御対象(エンドポイント200)までの経路上に接続される機器を、「最短周期制御の関連機器610」と称する。本実施の形態では、最短周期制御の関連機器610のスイッチ100(より特定的にはコントローラ)が有する1または複数のタイマ101が、候補タイマとして選択され得る。
(G2.制御対象を考慮したSNMP情報とトポロジ情報)
図8は、本実施の形態にかかるSNMP情報603の一例を模式的に示す図である。図9は、本実施の形態にかかるトポロジ情報30の一例を模式的に示す図である。
図8のSNMP情報603は、図7のトポロジにおけるスイッチ(A)〜(D)それぞれのSNMP情報20A、20B、20Cおよび20Dを含む。図8を参照して、SNMP情報20A、20B、20Cおよび20Dは、それぞれ、対応の機器の情報として、機器データ21、機器の名前22、機器のポートそれぞれに対応のポートID(Identifier)23、および各ポートに接続される他の機器の情報(機器データ24、他の機器の名前25、およびポートID26)を含む。
機器データ21,24は、MACアドレスとIPアドレスの両方を含む。他の機器のポートID26は、対応のポートID23のポートに繋がる他の機器のポートを示す。図9のSNMP情報603によれば、スイッチ(C)の「ポート2」に、スイッチ(D)の「ポート1」が接続されている。
図9のトポロジ情報30は、例えば図8のSNMP情報603から算出された情報を示す。図9を参照して、トポロジ情報30は、スイッチ(A)〜(D)それぞれのSNMP情報20A、20B、20Cおよび20Dに対応したトポロジ情報30A、30B、30Cおよび30Dを含む。図10を参照して、トポロジ情報30A、30B、30Cおよび30Dは、それぞれ、モーション制御対象32(エンドポイント(E)、(F)および(G)のそれぞれ)に対応してHop数31を含む。
(G3.制御対象を考慮したトポロジ情報の算出処理)
図10は、本実施の形態にかかる制御対象を考慮したトポロジ情報の算出処理の一例を示すフローチャートである。図11は、図10の処理で参照されるアクセス履歴611の一例を示す図である。図11を参照してアクセス履歴611は、スイッチの各ポートに対応して、当該ポートに接続される他のスイッチの識別情報608と仮の値であるHop数609とを含むテーブル形式を有する。Hop数609は、図10の処理で算出される間は、仮の値として参照される。図11のアクセス履歴611の情報は、例えば、トポロジ算出部720が、図8のスイッチ(A)のSNMP情報20Aを探索した場合に算出される値の一例を示している。トポロジ算出部720は、アクセス履歴611に基づき、後述するリングトポロジを検出することができる。
図10を参照して、トポロジ算出部720はSNMP情報603の各スイッチ100の出力ポートに接続される機器のSNMP情報からトポロジを算出する。具体的には、トポロジ算出部720は、SNMP情報603から1のSNMP情報を選択してアクセスする(ステップS1)。例えば、トポロジ算出部720は、SNMP情報603の機器の名前22,25に基づき製品情報ライブラリ91を検索し、検索結果に基づき、スイッチである機器の名前22,25を有したSNMP情報を順にアクセスする(ステップS2)。図8では、例えば、機器の名前22,25が「製品名A」、「製品名B」、「製品名C」および「製品名D」であるSNMP情報20A〜20Dが順にアクセスの対象となる。なお、アクセスの順番は、これに限定されない。トポロジ算出部720は、アクセス対象のSNMP情報を、ポートID23,26の情報を探索(操作)することによりトポロジ情報30を算出する。
まず、トポロジ算出部720は、あるスイッチのSNMP情報から未探索のポートを処理の対象ポートとして選択し(ステップS3)、選択した対象ポートにスイッチが接続されていないと判定すると(ステップS4でNO)、全てのポートを探索したかを判定し(ステップS5)、全てのポートを探索していないと判定すると(ステップS5でNO)、ステップS3に戻る。トポロジ算出部720は、全てのポートを探索したと判定すると(ステップS5でYES)、当該スイッチのポートの探索で用いたアクセス履歴(図11)をクリアし(ステップS6)、全てのスイッチのSNMP情報を処理したかを判定する(ステップS7)。トポロジ算出部720は、全てのスイッチのSNMP情報の処理が終了していないと判定すると(ステップS7でNO)、ステップS1に戻り、次のアクセス対象のSNMP情報の処理を開始する。トポロジ算出部720は、全てのスイッチのSNMP情報の処理が終了したと判定すると(ステップS7でYES)、処理を終了する。
トポロジ算出部720は、選択した対象ポートにスイッチが接続されていると判定すると(ステップS4でYES)、一時変数であるHop数(仮)609に+1を加算し(ステップS8)、アクセス対象スイッチのSNMP情報をアクセスし(ステップS9)、対応のアクセス履歴611を確認(走査)する(ステップS10)。
トポロジ算出部720は、アクセス履歴611において対象ポートに対応の情報(識別情報608とHop数(仮)609)に基づき、同一のスイッチからのHop数(仮)が既に算出されているかを判定する(ステップS11)。トポロジ算出部720は、同一のスイッチからのHop数(仮)609は算出されていないと判定すると(ステップS11でNO)、スイッチの識別情報608とHop数(仮)609(ステップS8で算出された値)を、アクセス履歴611の対象ポートの情報として保存する(ステップS13)。その後、ステップS14に移行する。
トポロジ算出部720は、同一のスイッチからのHop数(仮)は算出されていると判定すると(ステップS11でYES)、ステップS12でリングトポロジの場合の判定を実施する。具体的には、リングトポロジの場合は重複してトポロジ情報を算出することになるため、このような重複の算出を回避するために、トポロジ算出部720は、(ステップS8で算出されたHop数(仮)<アクセス履歴611の既存のHop数(仮)609)の条件が満たされるか否かを判定する(ステップS12)。トポロジ算出部720は、この条件が満たされると判定すると(ステップS12でYES)、Hop数の小さい情報(S8で算出されたHop数(仮))を正として選択する。具体的には、トポロジ算出部720は、スイッチ識別情報とHop数(仮)を、アクセス履歴611に関連付けて格納する(ステップS13)。
トポロジ算出部720は、上記の条件が満たされないと判定すると(ステップS12でNO)、すなわちHop数(仮)≧既存のHop数(仮)の条件が満たされることを判定した場合、既に算出したトポロジ情報が正であるから、改めてトポロジ情報を算出する必要が無いため、ステップS23に移行して、参照元のスイッチに戻る。
ステップS14では、トポロジ算出部720は、スイッチの未探索のポートを選択し(ステップS14)、トポロジ算出部720は、この選択された対象ポートについてスイッチが接続されているかを判定する。具体的には、トポロジ算出部720は、対象ポートの1つ前に参照元のスイッチが接続されているかを判定し(ステップS15)、参照元のスイッチが接続されていると判定すると(ステップS15でYES)、ステップS14に戻るが、参照元のスイッチが接続されていないと判定すると(ステップS15でNO)、対象ポートに未参照のスイッチが接続されているかを判定する(ステップS16)。トポロジ算出部720は、対象ポートに未参照のスイッチが接続されていると判定すると(ステップS16でYES)ステップS8に戻るが、対象ポートに未参照のスイッチが接続されていないと判定すると(ステップS16でNO)、トポロジ算出部720は、当該スイッチについて全てのポートを探索したか否かを判定する(ステップS17)。トポロジ算出部720は、当該スイッチについて全てのポートを探索したと判定すると(ステップS17でYES)、後述するステップS18に移行するが、当該スイッチについて全てのポートを探索していないと判定すると(ステップS17でNO)、ステップS14に戻る。
ステップS18において、トポロジ算出部720は、当該スイッチにスイッチ以外の機器(すなわちエンドポイント200)が接続されているかを判定する(ステップS18)。トポロジ算出部720は、スイッチ以外の機器が接続されていると判定すると(ステップS18でYES)、Hop数31=Hop数(仮)609+1をトポロジ情報30に保存し(ステップS19)、スイッチ以外の機器が接続されていないと判定すると(ステップS18でNO)、Hop数31=Hop数(仮)609をトポロジ情報30に保存し(ステップS20)、ステップS21に移行する。
トポロジ算出部720は、モーション制御対象の機器が存在するかを判定し(ステップS21)、モーション制御対象の機器が存在すると判定すると(ステップS21でYES)、モーション制御対象の識別情報をトポロジ情報30に保存し(ステップS22)、モーション制御対象の機器は存在しないと判定すると(ステップS21でNO)、ステップS23に移行する。
トポロジ算出部720は、参照元のスイッチが存在するか否かを判定し(ステップS23)、参照元のスイッチが存在しないと判定すると(ステップS23でNO)、ステップS5に移行するが、参照元のスイッチが存在すると判定すると(ステップS23でYES)、トポロジ算出部720は、Hop数(仮)609から1を減算し(ステップS25)、参照元のスイッチのSNMP情報に戻る(ステップS26)。
図10の処理で生成された各スイッチの、例えばSNMP情報20A〜20D(図8)のそれぞれに対応したアクセス履歴611の情報から、トポロジ算出部720は、各スイッチについてのトポロジ情報30A〜30D(図9)を生成することができる。
<H.クロック情報605の取得>
図12は、本実施の形態にかかるクロック情報605を取得する処理の一例を示すフローチャートである。図6のステップT7およびT9において、情報収集部710は、ネットワーク2の各機器からクロック情報605を受信して、受信したクロック情報605をクロック情報領域84に格納する。
具体的には、情報収集部710は、トポロジ情報30から、各スイッチ100のIPアドレスを取得する(ステップS31)。情報収集部710は、取得したIPアドレスを用いて各スイッチ100に対し、クロック情報605の送信を要求する情報要求602を送信する(ステップS32)。
各スイッチ100のネットワークコントローラ110は、クロック情報605の情報要求602を受信したかを判定する(ステップS33)。ネットワークコントローラ110は、クロック情報605の情報要求602を受信しないと判定すると(ステップS33でNO)、ステップS33を繰り返すが、情報要求602を受信したと判定すると(ステップS33でYES)、タイマ101のクロック情報(Clock Accuracy)605を取得し(ステップS34)、取得されたクロック情報605をサポート装置500に送信する(ステップS35)。
サポート装置500は、全てのスイッチ100から応答としてクロック情報605を受信完了したかを判定する(ステップS36)。受信完了していないと判定されると(ステップS36でNO)、ステップS36が繰り返されるが、受信完了と判定されると(ステップS36でYES)、受信した全てのクロック情報605はHDD505に格納される(ステップS37)。これにより、サポート装置500の情報収集部710は、全てのスイッチ100のクロック情報605を収集することができる。
<I.最短周期制御の関連機器610の検出>
図13は、本実施の形態にかかる最短周期制御の関連機器610を検出する処理の一例を示すフローチャートである。この検出処理は、候補選択部731が、各コントローラのプロジェクト60を用いて実施する。図14は、本実施の形態にかかるプロジェクト60の一例を模式的に示す図である。
図14を参照して、サポート装置500のHDD505に格納される各コントローラに対応したプロジェクト60は、NW(ネットワーク)構成(コントローラ、コントローラの制御対象、中継器などの情報)61、機器情報(NW構成61に備えられる各機器に対応の名前およびIPアドレスなど)62、NW構成61の各コントローラが有する制御周期63、制御周期63に同期して実行される制御プログラムを含むユーザプログラム64を含む。
図13を参照して、候補選択部731は、各コントローラのプロジェクト60の制御周期63どうしを比較し、比較の結果に基づき、最小周期を示す制御周期63を有するプロジェクト60を選択する(ステップS41)。
候補選択部731は、トポロジ情報30と選択したプロジェクト60のNW構成61および機器情報62とを照合し、照合の結果に基づき、NW構成61および機器情報62と一致した機器の情報をトポロジ情報30から選択する(ステップS42)。具体的には、照合の結果に基づき、NW構成61および機器情報62と一致した機器の名前22,24および機器データ21,24(IPアドレス)を有する機器(スイッチ100,エンドポイント200)を最短周期制御の関連機器610と決定する(ステップS43)。
<J.候補の選択とグランドマスタの決定>
図15は、本実施の形態にかかるグランドマスタの候補の選択とグランドマスタの決定の処理の一例を示すフローチャートである。
図15を参照して、タイマ決定部711は、最短周期制御の関連機器610から、グランドマスタを決定(検出)する(図6のステップT13)。具体的には、タイマ決定部711はトポロジ情報30の各エンドポイント200について、当該エンドポイントまでの最大Hop数以下である機器(スイッチ100)を選択する(ステップS3)。この最大Hop数は、時刻同期プロトコルが時刻同期を保証できる最大のHop数を示す。例えば、時刻同期プロトコルがIEEE802.1ASであるならば最大Hop数は“7”である。本実施の形態では、限定されないが最大Hop数を例えば“7”とする。
タイマ決定部711は、選択された機器は1つであるか否かを判定する(ステップS5)。タイマ決定部711は、選択された機器は1つであると判定すると(ステップS5でYES)、選択された機器(スイッチ100)の領域1042の自機器のプライオリティ606を、所定の最小値に設定する指令を有したプライオリティ設定情報601を送信する(ステップS17)。選択された機器(スイッチ100)は、タイマ決定部711からのプライオリティ設定情報601の指令に従い、領域1042の自機器のプライオリティ606を所定の最小値に設定する。
タイマ決定部711は、選択した機器から最短周期制御の関連機器610を選択する(ステップS7)。タイマ決定部711は、最短周期制御の関連機器610の機器の数は1つであるか否かを判定する(ステップS9)。タイマ決定部711は、選択された機器は1つであると判定すると(ステップS9でYES)、ステップS17の処理を実施する。一方、タイマ決定部711は、選択した機器が1つでない、すなわち複数の機器(スイッチ100)であると判定したとき(ステップS9でNO)、精度指標算出部741は、精度指標値を算出する(ステップS11)。
具体的には、精度指標算出部741は、選択した複数の機器(スイッチ100)のトポロジ情報から、最大Hop数のモーション制御対象の新指標値を算出する(ステップS11)。具体的には、精度指標算出部741は、Hop数、時刻補正のばらつき(時刻補正誤差)から新指標値を算出し、当該新指標値を既存のパラメータよりも優先して、グランドマスタを選択する判断指標として用いる。新指標値の算出式として、例えば(新指標値=対象機器のクロック情報605が示すClock Accuracy+((最大ホップ数−1)までの時刻補正誤差))を適用することができる。なお、各機器の時刻補正誤差は、共通の値とみなす。本実施の形態では、時刻補正誤差は、限定されないが、例えば100nsecとする。例えば、最大Hop数=7とすれば、((最大ホップ数−1)までの時刻補正誤差))は、(7−1)×100nsと算出することができる。
タイマ決定部711は、ステップS7で選択した機器(スイッチ100)のうちから、新指標値が最小である機器を選択し(ステップS13)、選択された機器は1つであるか否かを判定する(ステップS15)。選択された機器は1つと判定されたとき(ステップS15でYES)、タイマ決定部711は、上述したステップS17の処理を実施するが、選択された機器は複数と判定されたときは、タイマ決定部711は、選択された複数の機器(スイッチ100)にプライオリティ設定情報601を送信する(ステップS19)。選択された機器(スイッチ100)は、それぞれ、タイマ決定部711からのプライオリティ設定情報601の指令に従い、領域1042の自機器のプライオリティ606に所定の最小値を設定する。
<K.高精度のタイマを有した機器の検出処理>
図16は、本実施の形態にかかる機器間で自律的にグランドマスタを検出する処理の一例を模式的に示す図である。この検出処理は、例えばBMCA処理に従い実施される。
図16では、スイッチ100またはエンドポイント200に対応する機器「A」〜「C」が示されて、このうち機器「B」のタイマ101はグランドマスタである。すなわち、機器「B」のプライオリティ606には、上記のステップT11の処理によって所定の最小値が設定されている。
まず、図16の(A)において、動作開始時には、各機器は、自機器のタイマ101をグランドマスタとして、自機器のプライオリティ606をアナウンスメッセージ370によって他の機器に配信するよう動作する。具体的には、スイッチ100のプロセッサ102は、領域1042の自機器のプライオリティ606を領域1041にグランドマスタのプライオリティ607として格納するとともに、自機器のプライオリティ606を含むアナウンスメッセージ370を送信する。
各機器は、受信したアナウンスメッセージ370のプライオリティと自機器のプライオリティ606の値どうしを比較し、比較の結果に基づき、一方のプライオリティ606が他方のプライオリティ606よりも優れているかを判定する。具体的には、比較の結果、一方のプライオリティの値が他方のプライオリティ606の値よりも小さい場合、一方のプライオリティ606が他方のプライオリティ606よりも優れていることを示す。また、比較の結果、一方のプライオリティ606の値が他方のプライオリティ606の値よりも大きい場合、一方のプライオリティ606が他方のプライオリティ606よりも劣ることを示す。
図16の(B)において、各機器は、上記の比較の結果に基づき、他の機器のプライオリティ606が自機器のプライオリティ606よりも優れていると判定した場合、メモリ(領域1041、2041)のグランドマスタのプライオリティ607に、受信したアナウンスメッセージ370のプライオリティ606を上書きする。この場合、当該上書きを実施した機器はスレーブ(グランドマスタから時刻情報を受信する側)に切替わるとともに、自機器のアナウンスメッセージ370の配信を停止する。
図16の(B)では、例えば、機器「B」のプライオリティ606は機器「A」のプライオリティ606よりも優れている。したがって、機器「A」はマスタからスレーブに切替わるとともにアナウンスメッセージ370の配信を停止する。
図16の(C)において、各機器は、上記に述べたプライオリティどうしの比較の結果に基づき、他の機器からのアナウンスメッセージ370のプライオリティ606が自機器が有するプライオリティ606よりも劣ると判定した場合は、当該アナウンスメッセージ370を次の機器に転送しない(アナウンスメッセージ370を廃棄する)。
図16の(C)では、例えば、機器「B」のプライオリティ606は、機器「C」のプライオリティ606よりも優れている。したがって、機器「B」は、機器「C」から受信するアナウンスメッセージ370を廃棄する。これにより、機器「C」からのアナウンスメッセージ370は、機器「B」を経由して、次の機器「A」に配信されない。機器「C」は、機器「B」からのアナウンスメッセージ370のプライオリティ606を自機器のメモリ(領域1041、2041)のグランドマスタのプライオリティ607に上書きする。これにより、機器「C」はマスタからスレーブに切替わる。
図16のBMCA処理によれば、タイマ決定部711によりプライオリティ606が所定の最小値に設定された機器、すなわち機器「B」のみがスレーブに切替わることなく当初のマスタの設定を維持することができて、その結果、機器「B」のタイマ101が、自己の時間情報を配信するグランドマスタとなる。
<L.ネットワーク構成の他の例>
図17は、本実施の形態にかかるネットワークの構成の他の例を模式的に示す図である。図17の制御システム11のネットワーク構成では、スイッチ100Aに、基本構成11Aと、コントローラがマルチポートの構成11Bと、デイジーチェーントポロジの構成11Cとが接続される。図1では、制御システム1のネットワーク構成は基本構成のみを備えたが、制御システムのネットワーク構成は図1の構成に限定されず、図17の構成であってもよい。
制御システム11では、基本構成11Aでは、図1の構成と同様に、コントローラ(スイッチ100B)は、他のスイッチ100を介してエンドポイント200を接続する。これに対して、構成11Bは、コントローラ(スイッチ100F)を備え、当該コントローラは自己のマルチポートに(他のスイッチを介さず)複数のエンドポイント200(200G、200Hおよび200I)を接続する。スイッチ100F、およびエンドポイント200G、200H、200Iは、それぞれ、タイマ101F、201G、201Hおよび201Iを有する。
また、デイジーチェーントポロジの構成11Cは、スイッチ100Aに接続されるコントローラ(スイッチ100G)にデイジチェーンによりスイッチ100Hおよび100I、エンドポイント200Jが接続されている。スイッチ100H、100Iおよびエンドポイント200Jは、それぞれ、タイマ101G、101H、101Iおよび201Jを有する。また、スイッチ100Hおよびスイッチ100Iは、制御対象を制御するコントローラの機能も備える。例えば、ネットワーク構成の変更などで、コントローラ100Gは、構成11Aまたは構成11Cのコントローラの提供会社とは異なる他社製品である場合は、コントローラ100Gに、スイッチおよびエンドポイントをデイジーチェーンで接続することが要求されるケースがある。
(L1.制御対象を考慮したトポロジ情報の算出)
図18は、本実施の形態にかかる制御対象を考慮したトポロジの他の例を模式的に示す図である。図18のトポロジは、制御対象として、高い精度の時刻同期が要求される種類の制御対象、すなわちモーション制御対象620を接続する機器(図中では、エンドポイント(E)および(F)ならびにスイッチ(D)で示される)を中心にしたトポロジが示されている。さらに、図18のトポロジでは、スイッチ(A)、(B)および(C)は、モーション制御対象620のモーション制御プログラムを実行し得るコントローラに相当し、このうちスイッチ(C)と(D)が最も短い制御周期でモーション制御プログラムを実行する。したがって、図18では、最短周期制御の関連機器610は、スイッチ(C)と(D)およびエンドポイント(F)を備え、最短周期制御の関連機器610が有する1または複数のタイマ101が、候補タイマとして選択され得る。
(L2.制御対象を考慮したSNMP情報とトポロジ情報)
図19は、本実施の形態にかかるSNMP情報603の他の例を模式的に示す図である。図20は、本実施の形態にかかるトポロジ情報30の他の例を模式的に示す図である。
図19のSNMP情報603は、情報収集部710が図18のネットワーク構成に情報要求602を送信し、応答として受信したSNMP情報603を示す。図19のSNMP情報603は、図18のトポロジにおけるスイッチ(A)〜(D)それぞれのSNMP情報20A、20B、20Cおよび20Dを含む。図19のスイッチ(D)に対応のSNMP情報20Dは、図8のトポロジ情報903のスイッチ(D)に対応のSNMP情報とは異なり、スイッチ(D)がエンドポイント(F)のみを接続することに基づく情報を示す。図19のSNMP情報20A、20Bおよび20Cは、それぞれ、図8の対応する情報と同じであるので説明は繰り返さない。
トポロジ算出部720は、図19のSNMP情報603から図20のトポロジ情報30を生成する。図20のトポロジ情報30の算出処理は、図10の処理と同様であるので、説明は繰り返さない。
(L3.候補の選択とグランドマスタの決定)
図21は、本実施の形態にかかるグランドマスタの候補の選択とグランドマスタの決定の処理の他の例を示すフローチャートである。図21の処理は、デイジーチェーントポロジ(図17)を含むネットワーク構成に対して適用することができる。図21の処理は、図15の処理にステップS4aおよびS4bが追加されたものであり、図21の他の処理は図15と同様である。したがって、図21の処理は、主に、ステップS4aとS4bの処理を説明する。
デイジーチェーントポロジでは、例えば図17のデイジーチェーントポロジ11Cに示されるように、エンドポイント200J(リモート制御対象のエンドポイント)からモーション制御プログラムを実行するコントローラ(スイッチ100G)までの経路に、当該コントローラで制御されない制御対象(すなわち、コントローラ100Hと100Iで制御される制御対象)の機器が含まれる。このように、コントローラ100Hまたはコントローラ100Iは、モーション制御対象620のモーション制御プログラムを実行するコントローラではないから、グランドマスタの候補機器から、これらを除外することが必要となる。この点を考慮して、図21では、ステップS4aとS4bの処理において、このような除外処理が実施される。
このような除外処理で、図18のスイッチ(D)が除外される場合、タイマ決定部711は、図20のトポロジ情報30からスイッチ(D)のトポロジ情報30Dを除外(削除)する。これにより、経路指標で選択されたスイッチ100のうちから、モーション制御対象620を制御するスイッチ機能をもつ1つ以上のコントローラのタイマ101を優先してグランドマスタとして選択することができる。
(L4.リング型のトポロジ)
図22は、本実施の形態にかかる制御システムの他の構成を模式的に示す図である。図22を参照して、制御システム12は、リング型のネットワーク構成を備える。リング型のネットワーク構成では、スイッチ100A、100B、100Cおよび100Dはネットワーク2を介して円状に接続されて、リングではデータは一方方向に転送される。さらに、スイッチ100Bは、エンドポイント200のみを接続し、スイッチ100Dは、マルチポートで複数のエンドポイント200を接続し、スイッチ100Cは、他のスイッチ100を介してエンドポイント200を接続する。
図22では、スイッチ100Aに接続されたサポート装置500がサポートツール770を起動することにより、上述したグランドマスタの決定方法を、リング型のトポロジに対しても同様に適用することができる。
<M.グランドマスタの動的決定>
上記に述べたネットワークトポロジに基づくグランドマスタの決定は、サポート装置500がサポートツール770を起動することにより実施されている(これを、静的決定とも称する)。本実施の形態では、グランドマスタの動的決定も提供される。動的決定では、サポートツール770をサポート装置500ではなく、ネットワークを構成するいずれかのスイッチ100において、典型的にはコントローラにおいて実施する。このようなコントローラを以降では「セレクタ」とも称する。したがって、制御システムにサポート装置500を接続が困難な環境であっても、セレクタが、サポートツール770と同様の処理を実施してグランドマスタを決定することができる。
図23は、本実施の形態にかかるグランドマスタの動的決定の制御システムの構成の一例を模式的に示す図である。図23の動的決定の制御システム1Aは、サポート装置500は備えないが、他の構成は図1に示した構成と同様であるので説明は繰り返さない。
(M1.グランドマスタの動的決定の制御システムの構成)
図24は、本実施の形態にかかる制御システムのハードウェア構成の一例を模式的に示す図である。図24では、図23の制御システム1Aのスイッチ1000にエンドポイント200が関連付けて示される。図24のスイッチ1000は、典型的には、PLCをベースとして構成されているが、上記に述べたスイッチ機能を備える構成であれば、この構成に限定されない。
スイッチ1000は、メモリ104に自機器がセレクタ候補であるか否かを示す候補データ704を格納する領域1044を有する。また、ストレージ106に、図2のシステムプログラム107およびユーザアプリケーションプログラム108に追加して、グランドマスタの動的決定に関連したセレクタプログラム79、ツールプログラム771および情報群78を格納する。ストレージ106のツールプログラム771および情報群78は、サポート装置500のHDD505に格納されたツールプログラム771および情報群78(図4)と同様であるので説明は繰り返さない。また、スイッチ1000の他の構成およびエンドポイント200の構成は、図4に示されたものと同様であるので説明は繰り返さない。
図25は、本実施の形態にかかるスイッチ1000のソフトウェア構成を模式的に示す図である。図25では、ツールプログラム771とセレクタプログラム79がシステムプログラム107のもとでCPU102によって実行されることで提供されるセレクタ部702およびサポートツール770aの機能が示されている。サポートツール770aの機能において、候補選択プログラム75aに対応の候補選択部731aを除いた機能は、図5に示した機能と同様であるので説明は繰り返さない。
(M2.全体処理フロー)
グランドマスタの動的決定にかかる処理の概略を図26と図27を参照して説明する。グランドマスタの動的決定が実施される場合、ネットワーク2に接続された機器は電源ONの状態であるが、制御に関連する動作を停止している、すなわちネットワーク2上では制御に関するデータ(フィールド値、制御データなど)は転送されないとする。
図26は、本実施の形態にかかるセレクタを決定する処理の一例を示すフローチャートである。図26では、ネットワーク2に接続されるスイッチ1000は、セレクタ候補に相当する。各スイッチ1000(セレクタ候補)のセレクタ部702は、ネットワーク2に接続される他のスイッチ1000と通信してセレクタを決定する。
具体的には、スイッチ1000のセレクタ部702どうしは、互いに、自機器のプロセッサ102が有するCPUの稼働率を含む通知を通信する(ステップT20,T21)。各スイッチ1000のセレクタ部702は、他のスイッチ1000から受信する通知が示すCPU稼働率を比較し、比較の結果に基づき「セレクタ」を選択的に決定する(ステップT23,T24)。ステップT24,T25の処理は、図28で後述する。
図27は、本実施の形態にかかるセレクタを用いてグランドマスタを決定する処理の一例を示すフローチャートである。図27のフローチャートは、図26の処理で選択された「セレクタ」においてサポートツール770aが起動されることにより実施される。図27のセレクタの処理のうち、ステップT11aの処理(図30)を除いた処理は図6の処理と同様であるので説明は繰り返さない。また、スイッチ1000(非セレクタ)の処理およびエンドポイント200の処理は、図6で示された処理と同様であるから説明は繰り返さない。
(M3.セレクタを選択的に決定する処理)
図28は、本実施の形態にかかるセレクタを選択的に決定する処理の一例を示すフローチャートである。
まず、セレクタ部702は、自機器がセレクタ候補に適するか否かを判定し(ステップS41,S42)、適さないと判定したとき(ステップS41でNO、またはステップS42でNO)、セレクタ部702は、領域1044に、自機器がセレクタ候補でないことを示す“Notセレクタ候補”の候補データ704を設定(格納)し(ステップS50)、これにより、“Notセレクタ候補”のログを保存する(ステップS51)。その後、後述するステップS53に移行する。
自機器がセレクタ候補に適するか否かの判定は、自機器のリソースに、サポートツール770のプログラムを実行できるほどの余裕があるか否かに基づき判定する。例えば、自機器のストレージ106またはメモリ104を含む記憶領域の空き容量が閾値以上であるか否かを判定し(ステップS41)または自機器のCPU稼働率が閾値以下であるか否かを判定する(ステップS42)。
セレクタ部702は、自機器の記憶領域の空き容量が閾値以上であると判定し(ステップS41でYES)および自機器のCPU稼働率が閾値以下であると判定(ステップS42でYES)すると、セレクタ部702は、領域1044に、自機器がセレクタ候補であることを示す“セレクタ候補”の候補データ704を設定(格納)する(ステップS43)。セレクタ部702は、その後、セレクタを選択的に決定する期限に達したか否かを判定するために、処理開始から所定時間(例えば、X1時間)が経過したか否かを判定する(ステップS44)。
セレクタ部702は、所定時間が経過したと判定すると(ステップS44でYES)、領域1044に“セレクタ”を示す候補データ704を設定(格納)し、他の機器に対して、候補データ704に基づき、自機器が「セレクタ」である旨のセレクタ通知を送信する(ステップS52)。その後、後述するステップS53に移行する。
一方、セレクタ部702は、処理開始から所定時間が経過していないと判定すると(ステップS44でNO)、自機器のCPU稼働率を含む通知を他の機器に、マルチキャストで送信する(ステップS45)。セレクタ部702は、他のセレクタ候補からCPU稼働率を含む通知を受信するか否かを判定し(ステップS46)、当該通知を受信したと判定すると(ステップS46でYES)、セレクタ部702は、受信した通知に含まれるCPU稼働率を自機器のCPU稼働率と比較し、比較の結果に基づき、自機器のCPU稼働率が他のセレクタ候補のCPU稼働率よりも小さいか否かを判定する(ステップS47)。セレクタ部702は、比較の結果に基づき、自機器のCPU稼働率が他のセレクタ候補のCPU稼働率以上であると判定すると(ステップS47でNO)、セレクタ部702は、ステップS50に移行する。
また、セレクタ部702は、他のセレクタ候補からCPU稼働率を含む通知を受信していないと判定すると(ステップS46でNO)、または自機器のCPU稼働率が他のセレクタ候補のCPU稼働率未満であると判定すると(ステップS47でYES)、セレクタ部702は、ステップS45の通知を送信してから所定時間、すなわちCPU稼働率の送信周期の時間X2)が経過したか否かを判定する(ステップS48)。この所定時間が経過したと判定されると(ステップS48でYES)、ステップS49に移行するが、当該所定時間が経過していないと判定されると(ステップS48でNO)、ステップS44に戻り、CPU稼働率の通知を送信する。
ステップS53では、セレクタ部702は、他のセレクタ候補からセレクタ通知を受信したか否かを判定し(ステップS53)、セレクタ部702は、セレクタ通知を受信したと判定すると(ステップS53でYES)、処理を終了する。
一方、セレクタ部702は、他のセレクタ候補からセレクタ通知を受信していないと判定し(ステップS53でNO)、領域1044に“Notセレクタ候補”の候補データ704が設定された(ステップS50)ときから、所定時間(例えば、X3秒)が経過したと判定すると(ステップS54でYES)、セレクタ部702は、制御システムではセレクタが存在しないと判定する(ステップS55)。
セレクタ部702は、1044に“Notセレクタ候補”の候補データ704が設定された(ステップS50)ときから、所定時間が経過していないと判定すると(ステップS54でNO)、ステップS53に戻る。
図28の処理によれば、複数のセレクタ候補のうちから、サポートツール770aを実行可能なほどにリソースの余裕があるセレクタ候補の候補データ704に「セレクタ」が設定される。なお、図28の処理を終了したとき、セレクタ候補の全ての候補データ704が“Notセレクタ候補”に設定されている場合は、従来のIEEE802.1ASなどに時刻同期処理が実施されてもよい。
(M4.制御対象を考慮したトポロジの一例)
図29は、本実施の形態にかかる制御対象を考慮したトポロジの他の例を模式的に示す図である。図29のトポロジは、モーション制御対象620のエンドポイント200(図中では、エンドポイント(E)、(F)および(G)で示される)を中心にしたトポロジが示されている。トポロジは、エンドポイント(E)、(F)および(G)に繋がるスイッチ100(図中では、スイッチ(A)、(B)、(C)および(D)で示される)を有する。さらに、図29のトポロジでは、スイッチ(B)および(C)は、モーション制御対象620のモーション制御プログラムを実行するコントローラに相当し、このうちスイッチ(C)が最も短い周期でモーション制御プログラムを実行する。
図29のトポロジでは、スイッチ(C)が、図28の処理により「セレクタ」に決定されて、セレクタであるスイッチ(C)がサポートツールを770を実施することにより、他のスイッチに対して情報要求602が送信されている。なお、図29では、セレクタのスイッチ(C)から送信されるプライオリティ設定情報601、他のスイッチから送信されるSNMP情報603、機器情報604およびクロック情報605は、図1で示された情報と同様であるので、図示が略されている。
(M5.最短周期制御の関連機器の決定)
図30は、本実施の形態にかかる最短周期制御の関連機器の決定の処理の一例を示すフローチャートである。図28の処理により「セレクタ」に決定されたスイッチ1000は、他のコントローラと通信することにより、最短周期制御の関連機器610を決定する。なお、ここでは、各コントローラは、自機器のプロジェクト60(図14)を内部のメモリに格納している。
図30を参照して、セレクタの候補選択部731aは、トポロジ情報30に基づき、ネットワーク2に接続されたコントローラのそれぞれのIPアドレスを取得する(ステップS61)。
候補選択部731aは、後述するように各コントローラから最短の制御周期に関する情報を要求する(ステップS63)。これを考慮して、図30の処理では、要求の送信周期(例えば、X5秒)および要求に対する応答の期限(要求から所定時間経過(例えば、X4秒経過))を設けている。
候補選択部731aは、上記の要求の送信から所定時間経過(例えば、X4秒経過)したかを判定する(ステップS62)。候補選択部731aは、この所定時間が経過したと判定すると(ステップS62でYES)、後述するステップS67に移行する。
候補選択部731aは、要求を送信してから当該所定時間が経過していないと判定すると(ステップS62でNO)、ステップS61で取得されたIPアドレスを用いてコントローラに最短制御周期対象の情報の要求を含む要求通知を送信する(ステップS63)。
コントローラのプロセッサ102は、セレクタの候補選択部731aから要求通知を受信するか否かを判定し(ステップS70)、受信しないと判定すると(ステップS70でNO)、処理を終了するが、要求通知を受信したと判定すると(ステップS70でYES)、自機器が有するプロジェクト60から最短の制御周期63を選択(抽出)する(ステップS71)。コントローラのプロセッサ102は、プロジェクト60から、最短の制御周期63、NW構成61および機器情報62を検索し、検索されたこれら情報を含む応答の通知をセレクタに送信する(ステップS72)。
セレクタの候補選択部731aは、上記の要求通知に対する応答通知を、コントローラから受信するか否かを判定する(ステップS64)。応答を受信しないと判定されると(ステップS64でNO)、ステップS66に移行するが、応答を受信したと判定されると(ステップS64でYES)、候補選択部731aは、受信した応答内容(最短制御周期、NW構成および機器情報)をメモリ104に保存(格納)する(ステップS65)。候補選択部731aは、要求の送信周期(例えば、X5秒)の時間が経過したと判定すると(ステップS66でYES)、ステップS67に移行するが、当該時間が経過していないと判定すると(ステップS66でNO)、ステップS62に戻る。
ステップS67では、候補選択部731aは、ステップS65で格納された情報のうちから、最も短い最短制御周期63のNW構成61および機器情報62を選択する(ステップS67)。この場合、最も短い最短制御周期63が複数個選択された場合は、これら複数の最短制御周期63それぞれのNW構成61の全てを選択する。
候補選択部731aは、トポロジ情報30と選択したプロジェクト60のNW構成61および機器情報62とを照合し、照合の結果に基づき、NW構成61および機器情報62と一致した機器の情報をトポロジ情報30から選択する(ステップS68)。具体的には、照合の結果に基づき、NW構成61および機器情報62と一致した機器の名前22,24および機器データ21,24(IPアドレス)を有する機器(スイッチ100,エンドポイント200)を最短周期制御の関連機器610と決定する(ステップS69)。これにより、例えば、セレクタは、図29のスイッチ(C)および(D)ならびにエンドポイント(F)および(G)を最短周期制御の関連機器610と決定することができる。
<M6.ネットワーク構成の他の例>
図31は、本実施の形態にかかるネットワークの構成の他の例を模式的に示す図である。図31の制御システム1Bのデイジーチェーントポロジ11Cを備えるネットワーク構成は、動的にグランドマスタが決定される構成であって、図17のネットワーク構成からサポート装置500を除いた構成と同様であるから説明は繰り返さない。
図32は、本実施の形態にかかる制御対象を考慮したトポロジの他の例を模式的に示す図である。図32のトポロジは、制御対象として、高い精度の時刻同期が要求される種類の制御対象、すなわちモーション制御対象620を接続する機器(図中では、エンドポイント(E)および(F)ならびにスイッチ(D)で示される)を中心にしたトポロジが示されている。さらに、図32のトポロジでは、スイッチ(A)、(B)および(C)は、モーション制御対象620のモーション制御プログラムを実行し得るコントローラに相当し、このうちスイッチ(C)と(D)が最も短い制御周期でモーション制御プログラムを実行する。したがって、図32では、最短周期制御の関連機器610は、スイッチ(C)と(D)およびエンドポイント(F)を備え、最短周期制御の関連機器610が有する1または複数のタイマ101が、候補タイマとして選択され得る。
図33は、本実施の形態にかかるトポロジ情報30の他の例を模式的に示す図である。図33では、上記で述べた除外処理によりスイッチ(D)が除外されることで、図33のトポロジ情報30から、スイッチ(D)に対応のトポロジ情報30Dが削除(除外)される。
(M7.リング型のトポロジ)
図34は、本実施の形態にかかる制御システムの他の構成を模式的に示す図である。図34を参照して、制御システム1Cは、リング型のネットワーク構成を備える。このリング型のネットワーク構成では、スイッチ100A、100B、100Cおよび100Dはネットワーク2を介して円状に接続されて、グランドマスタを動的に決定する場合に、これらいずれかのスイッチがセレクタに選択されることで、セレクタのスイッチでサポートツール770aが実施されて、グランドマスタの動的決定が実現される。図34の制御システム1Cのネットワーク構成は、サポート装置500を備えないが、他の構成は図22に示された構成と同様であるので、説明は繰り返さない。
<N.システム同期処理>
タイマ決定部711によりグランドマスタのタイマ101が決定されると、ネットワーク2に接続される各機器が備えるタイマを、グランドマスタに時刻同期させるためにシステム同期処理が実施される。
具体的には、グランドマスタに設定されたタイマ101を有するスイッチ100は、他のスイッチ100およびエンドポイント200との間で時刻同期をとるために、当該タイマ101を基準として、他のスイッチ100のタイマ101およびエンドポイント200のタイマ201を調整する処理などを実施する。
<O.プログラム>
サポート装置500のCPU502またはスイッチ100のプロセッサ102は、サポートツール770(770a)のプログラムを実行することによりサポート装置500またはスイッチ100内の各構成要素の制御を行う。HDD105またはストレージ106は、このようなサポートツールに関するプログラムおよびデータなどを記憶し得る。
HDD505およびストレージ106の記憶媒体は、HDDまたはSSDに限定されない。
また、サポートツール770に関するプログラムまたはデータは、各種通信回線を介してHDD505にダウンロードされてもよい。または、記憶媒体501を介してHDD505にダウンロードされるとしてもよい。記憶媒体501は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的または化学的作用によって蓄積する媒体である。サポート装置500は、この記憶媒体501から、サポートツール770に関するプログラムまたはデータを取得してもよい。セレクタ部702およびサポートツール770aに関するプログラムまたはデータは、各種通信回線を介してストレージ106にダウンロードされてもよい。または、記憶媒体501を介してHDD505にダウンロードされるとしてもよい。
プログラムは、CPUなどの1つ以上のプロセッサにより、またはプロセッサとASIC(Application Specific Integrated Circuit),FPGA(Field-Programmable Gate Array)などの回路との組合せにより実行され得る。
<P.利点>
図35は、本実施の形態にかかるグランドマスタの決定により供される利点を説明する図である。図35の(A)は、制御システムのネットワーク構成において、複数の機器(スイッチ100またはエンドポイント200)を矩形のマークで示し、これらマークをネットワークで接続されたトポロジを示している。図35の(A)では、「A」と「B」の矩形は、グランドマスタの機器に相当し、斜線の機器は、グランドマスタと時刻同期するタイマを有した対象機器である。
図35の(B)は、上記のシステム同期処理の一例を模式的に示している。図35の(B)では、グランドマスタGMの機器と隣接する機器SW1の2つの機器間で時刻同期を行い、その後、時刻同期された機器SW1がマスタとなり、隣接の機器SW2のタイマを時刻同期させる。順次隣接する機器間で時刻同期が行なわれるため、誤差(ΔT(M−1)、ΔT(1−2)、Δt(2−3))が伝搬していく。したがって、ホップ数が多いほど伝搬される誤差は大きくなり、時刻同期の精度が低下する。本実施の形態の背景としてFA用途の機器(スイッチ100、またはエンドポイント200など)において、クロックの精度がミリ秒のオーダで要求されるケースは少なく、したがって、「タイマ」が有する時間の精度(Clock Accuracy)よりも、経路指標(ホップ数)の方が時刻同期の精度への影響は大きいと考えられる。
このような背景のもと、本実施の形態では、まず、時刻同期の精度を保証する範囲を、例えば伝搬される誤差が所定の大きさとなる範囲を、経路指標(トポロジのHop数)で決定し、決定された範囲における機器が有する各タイマをグランドマスタの候補とする。そして、精度指標算出部741は、候補のタイマのそれぞれの時間精度(クロック情報605)と経路指標とから当該タイマの新たな精度を算出し、タイマ決定部711は、新たな精度が高い候補タイマを、グランドマスタに決定する。
例えば、図35の(A)の場合、対象機器にまで、伝搬される誤差が所定の大きさとなる範囲(すなわち、トポロジのHop数で決定された範囲)には、グランドマスタの候補として機器「A」と「B」があることが判定される。グランドマスタの候補の機器「A」は機器「B」よりも高い時間精度を有するとしても、上記の新たな精度はHop数が考慮されることから、例えば機器「B」の方が新たな精度が高くなり、機器「B」のタイマをグランドマスタとして決定することが可能となる。
<Q.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
FAのネットワーク(2)に接続される複数の機器(100、200)を備える制御システムであって、
前記複数の機器は、それぞれ、時間を管理するタイマ(101、201)を有し、
前記複数の機器のタイマは、基準時間を管理する基準タイマに時刻同期し、
前記複数の機器は、
前記ネットワークの末端に接続される1つ以上の末端機器(200)と、
制御に関連したデータを前記1つ以上の末端機器に転送する複数の転送機器(100)と、を備え、
前記複数の転送機器が有するタイマのうちから、前記基準タイマを決定するタイマ決定手段(711)を備え、
前記タイマ決定手段は、
各前記複数の転送機器について、前記データが当該転送機器から前記1つ以上の末端機器に到達するまでに経由するネットワーク上の経路の長さを示す経路指標を取得する経路指標取得手段(721)と、
前記1つ以上の末端機器に到達するまでの経路が所定長さを示す前記経路指標を有する1つ以上の転送機器のタイマのうちから、前記基準タイマを決定する、制御システム。
[構成2]
前記時刻同期において、前記基準タイマの時間情報が対象機器に転送されて、
前記経路の所定長さは、前記対象機器への前記時間情報の転送にかかる通信遅延を一定に保証可能な長さを含む、構成1に記載の制御システム。
[構成3]
前記複数の転送機器は、
前記時刻同期に基づく周期で制御演算を実行し、演算結果である前記制御に関するデータを前記ネットワークに転送する1つ以上のコントローラを含み、
前記1つ以上の末端機器は、前記1つ以上のコントローラのうち、前記周期が最短であるコントローラから転送される前記制御に関するデータを用いて制御対象を制御する機器(620)を含む、構成1または2に記載の制御システム。
[構成4]
前記制御対象は、前記制御に関するデータに従い挙動が制御されるモーション制御対象を含む、構成3に記載の制御システム。
[構成5]
前記タイマ決定手段は、さらに、
前記タイマの前記時間の精度と当該タイマを有する前記転送機器の前記経路指標とから、前記時刻同期の精度を示す指標を算出する精度指標算出手段(741)と、
前記1つ以上の末端機器に到達するまでの経路が所定長さを示す前記経路指標を有する1つ以上の転送機器のタイマのうちから、前記基準タイマを決定するための1つ以上の候補を選択する候補選択手段(731、731a)と、を有し、
前記候補として選択された前記1つ以上のタイマのうちから、選択された各タイマの前記精度指標に基づき前記基準タイマを決定する、構成1から4のいずれか1に記載の制御システム。
[構成6]
前記候補選択手段は、さらに、
前記経路指標が前記所定長さの経路を示す1つ以上の転送機器に含まれる1つ以上の前記コントローラのうち、前記周期が最短であるコントローラを特定し、
特定された当該コントローラと、当該コントローラからの前記データが前記1つ以上の末端機器に到達するまでに経由する1つ以上の転送機器とが有するタイマを、前記基準タイマを決定するための前記1つ以上の候補として選択する、構成5に記載の制御システム。
[構成7]
前記タイマ決定手段は、さらに、
前記タイマの前記時間の精度と当該タイマを有する前記転送機器の前記経路指標とから、前記時刻同期の精度を示す指標を算出する精度指標算出手段(741)を有し、
前記複数の転送機器が有するタイマのうちから、各タイマの前記精度指標に基づき前記基準タイマを決定する、構成1から5のいずれか1に記載の制御システム。
[構成8]
前記複数の転送機器のうちから、各転送機器が有するプログラム実行にかかるリソースの余裕を示す情報に基づき1の転送機器を選択する手段(702)を、さらに備え、
前記選択された1の転送機器が、前記タイマ決定手段を有する、構成1から7のいずれか1に記載の制御システム。
[構成9]
FAのネットワーク(2)に接続される複数の機器(100、200)を備える制御システムに接続可能な情報処理装置(500)であって、
前記複数の機器は、それぞれ、時間を管理するタイマ(101、201)を有し、
前記複数の機器のタイマは、基準時間を管理する基準タイマに時刻同期し、
前記複数の機器は、
前記ネットワークの末端に接続される1つ以上の末端機器(200)と、
制御に関連したデータを前記1つ以上の末端機器に転送する複数の転送機器(100)と、を備え、
前記情報処理装置は、
前記複数の転送機器が有するタイマのうちから、前記基準タイマを決定するタイマ決定手段(711)を備え、
前記タイマ決定手段は、
各前記複数の転送機器について、前記データが当該転送機器から前記1つ以上の末端機器に到達するまでに経由するネットワーク上の経路の長さを示す経路指標を取得する経路指標取得手段(721)と、
前記経路指標が前記1つ以上の末端機器に到達するまでの経路が所定長さを示す1つ以上の転送機器のタイマのうちから、前記基準タイマを決定する、情報処理装置。
[構成10]
FAのネットワーク(2)に接続される複数の機器(100、200)を備える制御システムに対する設定方法をコンピュータ(102、502)に実行させるプログラム(77,771)であって、
前記複数の機器は、それぞれ、時間を管理するタイマ(100、200)を有し、
前記複数の機器のタイマは、基準時間を管理する基準タイマに時刻同期し、
前記複数の機器は、
前記ネットワークの末端に接続される1つ以上の末端機器(200)と、
制御に関連したデータを前記1つ以上の末端機器に転送する複数の転送機器(100)と、を備え、
前記設定方法は、
前記複数の転送機器が有するタイマのうちから、前記基準タイマを決定するステップ(T10、T11、T11a、T13)を備え、
前記基準タイマを決定するステップは、
各前記複数の転送機器について、前記データが当該転送機器から前記1つ以上の末端機器に到達するまでに経由するネットワーク上の経路の長さを示す経路指標を取得するステップ(T10)と、
前記経路指標が前記1つ以上の末端機器に到達するまでの経路が所定長さを示す1つ以上の転送機器のタイマのうちから、前記基準タイマを決定するステップ(T11)と、を有する、プログラム。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1,1A,1B,1C,11,12 制御システム、2 ネットワーク、3 ケーブル、11A 基本構成、11C デイジーチェーントポロジ、71 情報収集プログラム、72 トポロジ算出プログラム、73 タイマ決定プログラム、74 経路指標取得プログラム、75,75a 候補選択プログラム、76 精度指標算出プログラム、77,771 ツールプログラム、78 情報群、79 セレクタプログラム、80 機器情報領域、81 SNMP情報領域、82 トポロジ情報領域、83 プロジェクト領域、84 クロック情報領域、91 製品情報ライブラリ、370 アナウンスメッセージ、500 サポート装置、501 記憶媒体、601 プライオリティ設定情報、602 情報要求、603 SNMP情報、604 機器情報、605 クロック情報、610 最短周期制御の関連機器、611 アクセス履歴、620 モーション制御対象、702 セレクタ部、704 候補データ、710 情報収集部、711 タイマ決定部、720 トポロジ算出部、721 経路指標取得部、731,731a 候補選択部、741 精度指標算出部、770,770a サポートツール。

Claims (10)

  1. FA(ファクトリオートメーション)のネットワークに接続される複数の機器を備える制御システムであって、
    前記複数の機器は、それぞれ、時間を管理するタイマを有し、
    前記複数の機器のタイマは、基準時間を管理する基準タイマに時刻同期し、
    前記複数の機器は、
    前記ネットワークの末端に接続される1つ以上の末端機器と、
    制御に関連したデータを前記1つ以上の末端機器に転送する複数の転送機器と、を備え、
    前記複数の転送機器が有するタイマのうちから、前記基準タイマを決定するタイマ決定手段を備え、
    前記タイマ決定手段は、
    各前記複数の転送機器について、前記データが当該転送機器から前記1つ以上の末端機器に到達するまでに経由するネットワーク上の経路の長さを示す経路指標を取得する経路指標取得手段を有し、
    前記1つ以上の末端機器に到達するまでの経路が所定長さを示す前記経路指標を有する1つ以上の転送機器のタイマのうちから、前記基準タイマを決定する、制御システム。
  2. 前記時刻同期において、前記基準タイマの時間情報が対象機器に転送されて、
    前記経路の所定長さは、前記対象機器への前記時間情報の転送にかかる通信遅延を一定に保証可能な長さを含む、請求項1に記載の制御システム。
  3. 前記複数の転送機器は、
    前記時刻同期に基づく周期で制御演算を実行し、演算結果である前記制御に関するデータを前記ネットワークに転送する1つ以上のコントローラを含み、
    前記1つ以上の末端機器は、前記1つ以上のコントローラのうち、前記周期が最短であるコントローラから転送される前記制御に関するデータを用いて制御対象を制御する機器を含む、請求項1または2に記載の制御システム。
  4. 前記制御対象は、前記制御に関するデータに従い挙動が制御されるモーション制御対象を含む、請求項3に記載の制御システム。
  5. 前記タイマ決定手段は、さらに、
    前記タイマの前記時間の精度と当該タイマを有する前記転送機器の前記経路指標とから、前記時刻同期の精度を示す精度指標を算出する精度指標算出手段と、
    前記1つ以上の末端機器に到達するまでの経路が所定長さを示す前記経路指標を有する1つ以上の転送機器のタイマのうちから、前記基準タイマを決定するための1つ以上の候補を選択する候補選択手段と、を有し、
    前記候補として選択された1つ以上のタイマのうちから、選択された各タイマの前記精度指標に基づき前記基準タイマを決定する、請求項1から4のいずれか1項に記載の制御システム。
  6. 前記候補選択手段は、さらに、
    前記経路指標が前記所定長さの経路を示す1つ以上の転送機器に含まれる1つ以上の前記コントローラのうち、前記周期が最短であるコントローラを特定し、
    特定された当該コントローラと、当該コントローラからの前記データが前記1つ以上の末端機器に到達するまでに経由する1つ以上の転送機器とが有するタイマを、前記基準タイマを決定するための前記1つ以上の候補として選択する、請求項5に記載の制御システム。
  7. 前記タイマ決定手段は、さらに、
    前記タイマの前記時間の精度と当該タイマを有する前記転送機器の前記経路指標とから、前記時刻同期の精度を示す指標を算出する精度指標算出手段を有し、
    前記複数の転送機器が有するタイマのうちから、各タイマの前記精度指標に基づき前記基準タイマを決定する、請求項1から5のいずれか1項に記載の制御システム。
  8. 前記複数の転送機器のうちから、各転送機器が有するプログラム実行にかかるリソースの余裕を示す情報に基づき1の転送機器を選択する手段を、さらに備え、
    前記選択された1の転送機器が、前記タイマ決定手段を有する、請求項1から7のいずれか1項に記載の制御システム。
  9. FA(ファクトリオートメーション)のネットワークに接続される複数の機器を備える制御システムに接続可能な情報処理装置であって、
    前記複数の機器は、それぞれ、時間を管理するタイマを有し、
    前記複数の機器のタイマは、基準時間を管理する基準タイマに時刻同期し、
    前記複数の機器は、
    前記ネットワークの末端に接続される1つ以上の末端機器と、
    制御に関連したデータを前記1つ以上の末端機器に転送する複数の転送機器と、を備え、
    前記情報処理装置は、
    前記複数の転送機器が有するタイマのうちから、前記基準タイマを決定するタイマ決定手段を備え、
    前記タイマ決定手段は、
    各前記複数の転送機器について、前記データが当該転送機器から前記1つ以上の末端機器に到達するまでに経由するネットワーク上の経路の長さを示す経路指標を取得する経路指標取得手段と、
    前記経路指標が前記1つ以上の末端機器に到達するまでの経路が所定長さを示す1つ以上の転送機器のタイマのうちから、前記基準タイマを決定する、情報処理装置。
  10. FA(ファクトリオートメーション)のネットワークに接続される複数の機器を備える制御システムに対する設定方法をコンピュータに実行させるプログラムであって、
    前記複数の機器は、それぞれ、時間を管理するタイマを有し、
    前記複数の機器のタイマは、基準時間を管理する基準タイマに時刻同期し、
    前記複数の機器は、
    前記ネットワークの末端に接続される1つ以上の末端機器と、
    制御に関連したデータを前記1つ以上の末端機器に転送する複数の転送機器と、を備え、
    前記設定方法は、
    前記複数の転送機器が有するタイマのうちから、前記基準タイマを決定するステップを備え、
    前記基準タイマを決定するステップは、
    各前記複数の転送機器について、前記データが当該転送機器から前記1つ以上の末端機器に到達するまでに経由するネットワーク上の経路の長さを示す経路指標を取得するステップと、
    前記経路指標が前記1つ以上の末端機器に到達するまでの経路が所定長さを示す1つ以上の転送機器のタイマのうちから、前記基準タイマを決定するステップと、を有する、プログラム。
JP2019175283A 2019-09-26 2019-09-26 制御システム、情報処理装置およびプログラム Active JP7310495B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2019175283A JP7310495B2 (ja) 2019-09-26 2019-09-26 制御システム、情報処理装置およびプログラム
US17/636,359 US20220286267A1 (en) 2019-09-26 2020-03-10 Control system, information processing device, and non-transitory computer readable medium
PCT/JP2020/010381 WO2021059561A1 (ja) 2019-09-26 2020-03-10 制御システム、情報処理装置およびプログラム
CN202080057130.2A CN114222955A (zh) 2019-09-26 2020-03-10 控制系统、信息处理装置以及程序
EP20867272.5A EP4036669A4 (en) 2019-09-26 2020-03-10 CONTROL SYSTEM, INFORMATION PROCESSING APPARATUS AND PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019175283A JP7310495B2 (ja) 2019-09-26 2019-09-26 制御システム、情報処理装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2021051652A true JP2021051652A (ja) 2021-04-01
JP7310495B2 JP7310495B2 (ja) 2023-07-19

Family

ID=75158022

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019175283A Active JP7310495B2 (ja) 2019-09-26 2019-09-26 制御システム、情報処理装置およびプログラム

Country Status (5)

Country Link
US (1) US20220286267A1 (ja)
EP (1) EP4036669A4 (ja)
JP (1) JP7310495B2 (ja)
CN (1) CN114222955A (ja)
WO (1) WO2021059561A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10721698B2 (en) * 2017-07-01 2020-07-21 ARRIS Enterprises, LLC Identifying a synchronization master for radio nodes
JP7487908B1 (ja) 2023-11-01 2024-05-21 奥村組土木興業株式会社 岩盤掘削機

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08123513A (ja) * 1994-10-24 1996-05-17 Nippei Toyama Corp プログラマブルコントローラのデータモニタ装置
JPH1011285A (ja) * 1996-06-19 1998-01-16 Keyence Corp プログラマブルコントローラ及び記録媒体

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0827111A1 (en) * 1996-08-30 1998-03-04 Canon Kabushiki Kaisha Methods and devices for processing a set of data
US6751228B1 (en) * 1999-03-23 2004-06-15 Yamaha Corporation Packet handler of audio data by isochronous mode
JP5058974B2 (ja) * 2006-03-17 2012-10-24 パナソニック株式会社 無線伝送システム及び無線伝送方法、並びにそれらに用いられる無線局及び送信局
JP5850143B2 (ja) * 2012-05-01 2016-02-03 富士電機株式会社 信号同期システム、マルチプロセッサ、及びノード同期システム
EP2701318B1 (en) * 2012-08-22 2015-04-15 Alcatel Lucent A method for synchronizing distributed clocks by the precision time protocol, in a telecommunication network
CN105721190B (zh) * 2014-12-04 2019-06-21 华为技术有限公司 数据传输路径的故障检测方法、装置及服务器
JP5937243B1 (ja) * 2015-02-17 2016-06-22 日本電信電話株式会社 時刻同期方法および時刻同期装置
JP6683137B2 (ja) * 2017-01-11 2020-04-15 三菱電機株式会社 産業用コントローラシステム
DE102017120032A1 (de) * 2017-08-31 2019-02-28 Vega Grieshaber Kg Verfahren zur zeitsynchronisierten Verarbeitung von Daten eines Feldgerätes der Prozessautomatisierung
JP6962099B2 (ja) * 2017-09-25 2021-11-05 オムロン株式会社 制御システムおよび制御装置
JP6783881B2 (ja) * 2019-02-13 2020-11-11 Necプラットフォームズ株式会社 伝送装置および遅延測定方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08123513A (ja) * 1994-10-24 1996-05-17 Nippei Toyama Corp プログラマブルコントローラのデータモニタ装置
JPH1011285A (ja) * 1996-06-19 1998-01-16 Keyence Corp プログラマブルコントローラ及び記録媒体

Also Published As

Publication number Publication date
WO2021059561A1 (ja) 2021-04-01
CN114222955A (zh) 2022-03-22
EP4036669A1 (en) 2022-08-03
JP7310495B2 (ja) 2023-07-19
US20220286267A1 (en) 2022-09-08
EP4036669A4 (en) 2023-10-04

Similar Documents

Publication Publication Date Title
EP3361707B1 (en) Method and apparatus for controlling and managing a field device using an industry internet operating system
WO2021059561A1 (ja) 制御システム、情報処理装置およびプログラム
US9413552B2 (en) Internet protocol addressing of devices employing the network ring topology
JP2022093387A (ja) 制御システム、装置および制御方法
WO2020054477A1 (ja) 制御システムおよび制御装置
JP2016031554A (ja) データ収集装置及び産業用ネットワークシステム
WO2021033358A1 (ja) 制御システム、制御装置およびプログラム
JP5852267B2 (ja) 分散型制御システムのためのリレーインタフェースモジュール
JP2006318367A (ja) バス管理システム、およびバス管理装置
CN114465689B (zh) 通道组的信号指令同步处理方法、系统、设备及存储介质
WO2023116806A1 (zh) 实时通道组的控制方法、网络系统及存储介质
JP4479220B2 (ja) 生産設備用制御装置、生産設備制御システムおよび生産設備用制御装置による生産設備の制御方法
CN114466081B (zh) 实时通道组的节点管控方法、系统、设备及存储介质
CN114448801B (zh) 实时通道组创建的方法、网络拓扑、设备及存储介质
JP7404789B2 (ja) 制御システム、制御システムの通信制御方法、および制御装置
JP7078901B2 (ja) 制御システムおよび制御方法
JP6939665B2 (ja) ネットワークシステム
CN114448865B (zh) 业务报文的处理方法、系统、设备及存储介质
JP7453061B2 (ja) 通信制御システム及び通信制御方法
JP7415345B2 (ja) 制御システム、サポート装置および設定プログラム
KR101342480B1 (ko) 빌딩 자동 제어용 라우터 및 그 라우팅 방법
CA3095223A1 (en) Node, network system and method of data synchronisation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220707

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230309

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230619

R150 Certificate of patent or registration of utility model

Ref document number: 7310495

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150