JP2022083143A - 制御装置、通信制御方法、および制御プログラム - Google Patents

制御装置、通信制御方法、および制御プログラム Download PDF

Info

Publication number
JP2022083143A
JP2022083143A JP2020194428A JP2020194428A JP2022083143A JP 2022083143 A JP2022083143 A JP 2022083143A JP 2020194428 A JP2020194428 A JP 2020194428A JP 2020194428 A JP2020194428 A JP 2020194428A JP 2022083143 A JP2022083143 A JP 2022083143A
Authority
JP
Japan
Prior art keywords
communication
network
cable
port
redundant
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.)
Pending
Application number
JP2020194428A
Other languages
English (en)
Inventor
健一 岩見
Kenichi Iwami
泰士 福田
Hiroshi Fukuda
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 JP2020194428A priority Critical patent/JP2022083143A/ja
Priority to PCT/JP2021/008914 priority patent/WO2022113384A1/ja
Publication of JP2022083143A publication Critical patent/JP2022083143A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L12/437Ring fault isolation or reconfiguration

Landscapes

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

Abstract

【課題】複数の冗長構成を含むネットワークにおいて生じる新たな課題に対する解決手段を提供する。【解決手段】制御システム1において、制御装置100は、ネットワークにおける通信状態を監視する監視手段と、ネットワークに含まれるいずれかのケーブルの切断が検出されると、当該切断が検出されたケーブルに接続されている通信スレーブが解除条件を満たすか否かを判断する判断手段と、を含む。解除条件は、対象の通信スレーブのINポートに接続されているケーブルが切断されており、かつ、OUTポートで通信フレームを受信することを含む。制御装置は、解除条件が満たされると、ネットワークに含まれる冗長構成を解除する管理手段を含む。【選択図】図4

Description

本発明は、ネットワークに接続可能な制御装置、その制御装置における通信制御方法、およびその制御装置を実現するための制御プログラムに関する。
例えば、EtherCAT(登録商標)に従うネットワークでは、通信マスタが送信した通信フレームは、すべての通信スレーブを巡回した上で、通信マスタに戻る。
通信フレームを巡回させるためのトポロジーとして、一般的には、デイジーチェーン接続が採用されている。デイジーチェーン接続においては、通信フレームが同じ経路を往復するので、経路上に何らかの障害が発生すると、通信フレームを障害が発生した位置より後段に転送することができない。
このようなデイジーチェーン接続に対して、デイジーチェーン接続の最終段に接続されたスレーブから通信マスタに戻る経路を追加したトポロジーも実用化されている。このようなトポロジーは、リング接続と称される。すなわち、デイジーチェーン接続は非冗長構成であるのに対して、リング接続は冗長構成となる。
このようなリング接続に関して、特開2020-167554号公報(特許文献1)は、リングトポロジを含むネットワークにおける不正な経路を容易に知ることが可能なマスタ装置を開示する。
特開2020-167554号公報
本願発明者らは、複数の冗長構成を含むネットワークにおいて生じる新たな課題を発見した。本発明のある局面の目的は、複数の冗長構成を含むネットワークにおいて生じる新たな課題に対する解決手段を提供することである。
本発明のある実施の形態に従えば、1または複数の通信スレーブを含むネットワークにおいて通信マスタとして動作する制御装置が提供される。通信マスタから送信された通信フレームは、ネットワークを一巡して通信マスタに戻るように順次転送され、複数の通信スレーブの各々は、INポートおよびOUTポートを有している。制御装置は、ネットワークにおける通信状態を監視する監視手段と、ネットワークに含まれるいずれかのケーブルの切断が検出されると、当該切断が検出されたケーブルに接続されている通信スレーブが解除条件を満たすか否かを判断する判断手段とを含む。解除条件は、対象の通信スレーブのINポートに接続されているケーブルが切断されており、かつ、OUTポートで通信フレームを受信し得ることを含む。制御装置は、解除条件が満たされると、ネットワークに含まれる冗長構成を解除する管理手段を含む。
本明細書における「切断(disconnect)」との用語は、例えば、注目する経路(ケーブルなど)が物理的に不導通状態になることに加えて、何らかの手段によって信号が流れない状態になることを含み得る。そのため、「切断」との用語は、接続を物理的に遮断することに加えて、接続を論理的に遮断することを含み得る。
この構成によれば、切断が検出されたケーブルに接続されている通信スレーブが解除条件を満たす場合には、ネットワークに含まれる冗長構成が解除される。解除条件が満たされている状態では、冗長構成においてさらにケーブルの切断などが発生すると、通信フレームが破棄されるなどの問題が生じ得るが、このような問題の発生を防止できる。
管理手段は、対象の冗長構成を解除するために切断すべきケーブルがOUTポートに接続されている通信スレーブに対して、当該OUTポートをクローズするための指令を与えてもよい。この構成によれば、論理的に冗長構成を解除できるので、追加の設備などを用意することなく、ソフトウェアを用いて柔軟に実現できる。
ネットワークに含まれる冗長構成の各々には、冗長構成を解除するために切断すべきケーブルにスイッチが設けられている。管理手段は、対象の冗長構成に設けられたスイッチの各々がケーブルを切断するための指令を与えてもよい。この構成によれば、物理的に対象のケーブルを切断できるので、冗長構成をより確実に解除できる。
判断手段は、切断が検出されたケーブルがいずれかの冗長構成に含まれており、かつ、切断が検出されたケーブルが当該冗長構成を解除するために切断すべきケーブルではない場合に、解除条件が満たされると決定してもよい。この構成によれば、切断が検出されたケーブルの位置に基づいて、解除条件が満たされているか否かを判断できる。
同一の通信フレームが、INポートに接続されているケーブルが切断された通信スレーブのOUTポートで複数回受信されると、当該通信フレームは破棄されてもよい。
管理手段は、切断が検出されたケーブルが再接続されると、解除した冗長構成を再構成するようにしてもよい。この構成によれば、ケーブルに発生していた障害が復旧することで、元の冗長構成を維持できる。
制御装置は、ネットワークに含まれる冗長構成が解除されている状態を通知する通知手段をさらに含んでいてもよい。この構成によれば、例えば、ユーザは、冗長構成が解除されていることを容易に知ることができ、これによって、必要な措置をとることができる。
制御装置は、ユーザプログラムを実行する実行手段をさらに含む。ユーザプログラムは、ネットワークに含まれる冗長構成が解除されているか否かを示す情報を参照可能である。この構成によれば、例えば、冗長構成が解除されているか否かに基づいて、ユーザプログラムにより実行される処理を切り替えることができる。
本発明の別の実施の形態に従えば、1または複数の通信スレーブを含むネットワークにおいて通信マスタとして動作する制御装置で実行される通信制御方法が提供される。通信マスタから送信された通信フレームは、ネットワークを一巡して通信マスタに戻るように順次転送される。複数の通信スレーブの各々は、INポートおよびOUTポートを有している。通信制御方法は、ネットワークにおける通信状態を監視するステップと、ネットワークに含まれるいずれかのケーブルの切断が検出されると、当該切断が検出されたケーブルに接続されている通信スレーブが解除条件を満たすか否かを判断するステップとを含む。解除条件は、対象の通信スレーブのINポートに接続されているケーブルが切断されており、かつ、OUTポートで通信フレームを受信し得ることを含む。通信制御方法は、解除条件が満たされると、ネットワークに含まれる冗長構成を解除するステップを含む。
本発明のさらに別の実施の形態に従えば、1または複数の通信スレーブを含むネットワークにおいて通信マスタとして動作するコンピュータで実行される制御プログラムが提供される。通信マスタから送信された通信フレームは、ネットワークを一巡して通信マスタに戻るように順次転送される。複数の通信スレーブの各々は、INポートおよびOUTポートを有している。制御プログラムはコンピュータに、ネットワークにおける通信状態を監視するステップと、ネットワークに含まれるいずれかのケーブルの切断が検出されると、当該切断が検出されたケーブルに接続されている通信スレーブが解除条件を満たすか否かを判断するステップとを実行させる。解除条件は、対象の通信スレーブのINポートに接続されているケーブルが切断されており、かつ、OUTポートで通信フレームを受信し得ることを含む。制御プログラムはコンピュータに、解除条件が満たされると、ネットワークに含まれる冗長構成を解除するステップを実行させる。
本発明のある実施の形態によれば、複数の冗長構成を含むネットワークにおいて生じる新たな課題に対する解決手段を提供できる。
本実施の形態に従う通信制御方法における接続について説明するための図である。 図1(A)に示す冗長構成を複数含む制御システムを示す模式図である。 図2に示す制御システムにおいて1箇所の障害が発生した場合の通信フレームの挙動を説明するための図である。 図2に示す制御システムにおいて2箇所の障害が発生した場合の通信フレームの挙動を説明するための図である。 本実施の形態に従う制御システムのPLCのハードウェア構成例を示す模式図である。 本実施の形態に従う制御システムのデバイスのハードウェア構成例を示す模式図である。 本実施の形態に従う制御システムの中継装置のハードウェア構成例を示す模式図である。 本実施の形態に従う制御システムにおける通信フレームの伝送途中での破棄を防止するための方法を説明するための図である。 本実施の形態に従う制御システムに含まれるPLCの通信処理に係る機能構成の要部を示す模式図である。 本実施の形態に従う制御システムに含まれるPLCの実装例1における通信制御方法に係るフローチャートである。 本実施の形態に従う制御システムの実装例2を示す模式図である。 本実施の形態に従う制御システムに含まれるPLCの実装例2における通信制御方法に係るフローチャートである。 本実施の形態に従う制御システムのサポート装置のハードウェア構成例を示す模式図である。 本実施の形態に従う制御システムのサポート装置が提供するユーザインターフェイス画面の一例を示す模式図である。 本実施の形態に従う制御システムのサポート装置が提供するユーザインターフェイス画面の別の一例を示す模式図である。 本実施の形態に従う制御システムのサポート装置が提供するユーザインターフェイス画面のさらに別の一例を示す模式図である。 本実施の形態に従う制御システムのPLCで実行されるユーザプログラムの一例を示す図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
<A.適用例>
まず、図1~図4を参照して、本発明が適用される場面の一例について説明する。以下の説明においては、1または複数の通信スレーブ(以下、単に「スレーブ」とも称す。)を含むネットワークにおいて通信マスタ(以下、単に「マスタ」とも称す。)として動作する制御装置の一例として、PLC(プログラマブルロジックコントローラ)を想定する。また、ネットワークとしては、典型的には、EtherCATに従うネットワークを想定する。EtherCATに従うネットワークにおいては、マスタである制御装置(PLC)から送信された通信フレームは、ネットワークを一巡して制御装置に戻るように順次転送される。
図1は、本実施の形態に従う通信制御方法における接続について説明するための図である。図1(A)には、デイジーチェーン接続(非冗長構成)の一例を示し、図1(B)には、リング接続(冗長構成)の一例を示す。
図1(A)を参照して、デイジーチェーン接続の制御システム1Aは、マスタとして動作する制御装置の一例であるPLC100と、中継装置300と、スレーブとして動作する1または複数のデバイス200-1~200-5(以下、「デバイス200」とも総称する。)とを含む。
PLC100は、通信フレームの送受信を行うためのポート151を有している。デバイス200-1~200-5の各々は、通信フレームを送受信するためのINポート251(第1ポート)およびOUTポート252(第2ポート)を有している。基本的には、INポート251は、通信フレームが入力されるポートであり、OUTポート252は、通信フレームが出力されるポートである。但し、INポート251およびOUTポート252の名称に限らず、いずれのポートにおいても、通信フレームの受信および送信が可能である。
中継装置300は、通信フレームを送受信するための第1ポート351、第2ポート352、第3ポート353、第4ポート354、第5ポート355、第6ポート356を有している。中継装置300は、あるポートで通信フレームを受けると、所定規則に従って決定される別のポートから、当該受信したフレームを送信する。所定規則として、第1ポート351→第2ポート352→第3ポート353→・・・といった循環的に決定されてもよい。
図1(A)に示すデイジーチェーン接続では、PLC100、中継装置300、デバイス200の順に接続される。より具体的には、PLC100のポート151から送信された通信フレームは、ケーブル20、中継装置300の第1ポート351、中継装置300の第2ポート352、ケーブル21、デバイス200-1のINポート251、デバイス200-1のOUTポート252、ケーブル22、デバイス200-2のINポート251、デバイス200-2のOUTポート252、ケーブル23、デバイス200-3のINポート251、デバイス200-3のOUTポート252、ケーブル24、デバイス200-4のINポート251、デバイス200-4のOUTポート252、ケーブル25、デバイス200-5のINポート251の順に転送され、その後、同じ経路を経てPLC100のポート151に戻る。
このように、デイジーチェーン接続においては、通信フレームは、スレーブに接続されたケーブル20~25を両方向に伝送し得る。このとき、デバイス200のINポート251およびOUTポート252は、通信フレームの送信および受信の両方を行う。
そのため、いずれかのケーブルまたはいずれかのデバイスに何らかの障害が発生すると、障害が発生した部位より先には通信フレームを転送できない。そのため、障害に対する冗長性を有していない「非冗長構成」とみなすことができる。
本明細書における「非冗長構成」は、スレーブ間を接続するケーブルが切断されると、通信フレームを受信できないスレーブが発生し得るトポロジーを意味する。「非冗長構成」の一例としては、デイジーチェーン接続などが知られている。デイジーチェーン接続においては、OUTポート252に何らのケーブルも接続されていないデバイス200(スレーブ)が存在することになる。
図1(B)を参照してリング接続の制御システム1Bは、図1(A)に示すデイジーチェーン接続に比較して、デバイス200-5のOUTポート252と、中継装置300の第3ポート353とを接続するケーブル26が追加されている。ケーブル26が追加されることにより、デバイス200-5に到着した通信フレームは、デバイス200-5のINポート251ではなく、デバイス200-5のOUTポート252から送信されることになる。そして、ケーブル26および中継装置300を経て、PLC100のポート151に戻る。
図1(B)に示すリング接続において、ケーブル26は、迂回路を形成するケーブルであり、冗長経路の少なくとも一部を構成する。すなわち、ケーブル26を追加することによって、中継装置300の第2ポート352から送信された通信フレームが、デバイス200-1~200-5を通過して、中継装置300の第3ポート353に戻るリング状のループ経路が構成される。このようなリング接続においては、通信フレームは、スレーブに接続されたケーブル20~26の各々を一方向に伝送する。その結果、デバイス200のINポート251は通信フレームの受信を担当し、デバイス200のOUTポート252は通信フレームの送信を担当する。
上述したような通信フレームが一巡する経路を「冗長構成」とも称す。図1(B)に示すリング接続においては、中継装置300およびデバイス200-1~200-5を含む範囲が冗長構成10に相当する。
本明細書における「冗長構成」は、スレーブ間を接続するケーブルが切断されても、通信フレームの一巡を継続できるトポロジーを意味する。「冗長構成」の一例としては、リング接続などが知られている。リング接続においては、すべてのデバイス200のINポート251およびOUTポート252にケーブルが接続されていることになる。
冗長構成10においては、いずれかのケーブルまたはいずれかのデバイスに何らかの障害が発生しても、障害が発生した部位で通信フレームを折り返すことで、冗長経路を経て残りのデバイスを伝送することができる。
図2は、図1(A)に示す冗長構成10を複数含む制御システム1を示す模式図である。図2を参照して、制御システム1は、3つの冗長構成10-1,10-2,10-3を含む。冗長構成10-1においては、ケーブル21~26でリング接続が構成され、冗長構成10-2においては、ケーブル31~36でリング接続が構成され、冗長構成10-3においては、ケーブル41~46でリング接続が構成されている。
ここで、リング接続のいずれで障害が発生した場合の挙動について説明する。
図3は、図2に示す制御システム1において1箇所の障害が発生した場合の通信フレームの挙動を説明するための図である。図3を参照して、例えば、冗長構成10-1のデバイス200-2のOUTポート252とデバイス200-3のINポート251とを接続するケーブル23に断線などの障害が発生した場合を想定する。
この場合、デバイス200-2のOUTポート252から通信フレームを送信できないので、デバイス200-2は、OUTポート252に代えて、INポート251から通信フレームを送信する。その結果、通信フレームは、ケーブル22、デバイス200-1のOUTポート252、デバイス200-1のINポート251、ケーブル21、中継装置300の第3ポート353、ケーブル26、デバイス200-5のOUTポート252、デバイス200-5のINポート251、ケーブル25、デバイス200-4のOUTポート252、デバイス200-4のINポート251、ケーブル24、デバイス200-3のOUTポート252、デバイス200-3のINポート251(折り返し)、デバイス200-3のOUTポート252、ケーブル24、デバイス200-4のINポート251、デバイス200-4のOUTポート252、ケーブル25、デバイス200-5のINポート251、デバイス200-5のOUTポート252、ケーブル26の順に転送される。
このような通信フレームの転送経路によって、冗長構成10-1に含まれるすべてのデバイス200を通信フレームが通過することになる。すなわち、制御システム1においては、いずれか1箇所に障害が発生しても、通信は継続される。
次に、リング接続のいずれで複数の障害が発生した場合の挙動について説明する。
図4は、図2に示す制御システム1において2箇所の障害が発生した場合の通信フレームの挙動を説明するための図である。図4を参照して、図3に示す障害に加えて、冗長構成10-2のデバイス200-2のOUTポート252とデバイス200-3のINポート251とを接続するケーブル33にも断線などの障害が発生した場合を想定する。
この場合、冗長構成10-1だけではなく、冗長構成10-2においても、デバイス200-2のOUTポート252から通信フレームを送信できないので、デバイス200-2は、OUTポート252に代えて、INポート251から通信フレームを送信する。その結果、通信フレームは、ケーブル32、デバイス200-1のOUTポート252、デバイス200-1のINポート251、ケーブル31、中継装置300の第3ポート353、ケーブル36、デバイス200-5のOUTポート252、デバイス200-5のINポート251、ケーブル35、デバイス200-4のOUTポート252、デバイス200-4のINポート251、ケーブル34、デバイス200-3のOUTポート252、デバイス200-3のINポート251の順に転送されるが、通信フレームがデバイス200-3のINポート251に到達した時点で、破棄されてしまう。
すなわち、同一の通信フレームが、INポート251に接続されているケーブルが切断されたデバイス200(通信スレーブ)のOUTポート252で複数回受信されると、当該通信フレームは破棄される。その結果、通信フレームはマスタに戻らず、通信を継続できない。
本願発明者らは、このような冗長構成を有するネットワークにおいて、複数の障害が発生した場合に通信フレームを転送できなくなるという新たな課題を発見した。
ここで、通信フレームが破棄されてしまう理由について説明する。EtherCATにおいては、ネットワークに何らかの障害が発生して、通信フレームがマスタに戻ることなく、スレーブ間を永遠に巡回(circulating)することを防止するために、「Circulating bit」と呼ばれる情報が通信フレームに付加される。
Circulating bitは、通信フレームのEtherCAT Datagramsと呼ばれる領域に割り当てられる。マスタから送信される通信フレームのCirculating bitの初期値は「0」に設定される。
Circulating bitが「0」であれば、通信フレームは巡回していないことを意味し、Circulating bitが「1」であれば、通信フレームは一度だけ巡回したことを意味する。
デバイス200の各々は、INポート251がリンクオフ(何らかの障害によって通信できない状態)である場合に、通信フレームを(OUTポート252で)受信すると、当該受信した通信フレームに含まれるCirculating bitの値に応じて、以下のいずれかの処理を実行する。
(1)Circulating bitが「0」であれば、受信した通信フレームのCirculating bitを「1」に更新した上で、通信フレームの転送を継続する。
(2)Circulating bitが「1」であれば、受信した通信フレームを破棄する。
Circulating bitに基づく処理について、上述の図3および図4を参照して説明する。
図3に示すような1箇所の障害では、冗長構成10-1のデバイス200-3のOUTポート252で通信フレームを受信すると、通信フレームのCirculating bitが「0」から「1」に更新されて、通信フレームの転送が継続される。
これに対して、図4に示すような2箇所の障害では、冗長構成10-1のデバイス200-3のOUTポート252で通信フレームを受信すると、通信フレームのCirculating bitが「0」から「1」に更新されて、通信フレームの転送が継続されるものの、冗長構成10-2のデバイス200-3のOUTポート252で通信フレームを受信すると、通信フレームのCirculating bitが既に「1」なので、それ以降の転送はされず、破棄されてしまう。
本実施の形態に従う制御システムは、上述したような通信フレームの転送ができない状態に陥る可能性がある場合に、通信フレームの転送ができない状態に陥らないようにする手段を提供する。以下、このような手段を実現するための構成、処理、機能などについて詳述する。
なお、図3に示すように1箇所の障害が発生している状態において、対応する冗長経路を切断すると、当該冗長構成10において別の障害が発生したときに、一部のデバイス200は通信ができなくなる。例えば、冗長構成10-1のデバイス200-3のOUTポート252とデバイス200-4のINポート251とを接続するケーブル24に断線などの障害がさらに発生すると、デバイス200-3は、INポート251およびOUTポート252の両方がリンクオフするので、通信フレームを受信できなくなる。このような潜在的な不具合を防止するために、ネットワークに発生した障害の情報を通知あるいは利用できるようにする。詳細については、後述する。
また、すべてのデバイス200の通信が不能になってしまうことに比較して、一部のデバイス200のみ通信が不能になる状況であれば許容し得るとの判断もできる。
<B.ハードウェア構成例>
次に、本実施の形態に従う制御システム1を構成する各装置のハードウェア構成例について説明する。
(b1:制御装置(PLC100))
図5は、本実施の形態に従う制御システム1のPLC100のハードウェア構成例を示す模式図である。図5を参照して、PLC100は、主たるハードウェアコンポーネントとして、プロセッサ102と、メインメモリ104と、ストレージ110と、フィールドネットワークコントローラ112と、ローカルバスコントローラ114とを含む。これらのハードウェアコンポーネントは、内部バス118を介して電気的に接続される。
プロセッサ102は、制御演算を実行する演算処理部に相当し、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などで構成される。具体的には、プロセッサ102は、ストレージ110に格納されたプログラムを読出して、メインメモリ104に展開して実行することで、制御対象に応じた制御演算、および、後述するような各種処理を実現する。図5に示す構成例においては、プロセッサ102は、ユーザプログラム1104を周期的に実行する。
メインメモリ104は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。ストレージ110は、例えば、SSD(Solid State Drive)やHDD(Hard Disk Drive)などの不揮発性記憶装置などで構成される。
ストレージ110には、基本的な機能を実現するためのシステムプログラム1102、制御対象に応じて作成されたユーザプログラム1104、および、後述するような処理を決定するためのシステム設定情報1106などが格納される。システムプログラム1102は、PLC100における基本的な機能を実現するため、制御プログラムの少なくとも一部とみなすことができる。
フィールドネットワークコントローラ112は、通信部に相当し、通信フレームが一巡するように構成されたネットワークに接続される。より具体的には、フィールドネットワークコントローラ112は、ポート151を有しており、通信フレームの送受信処理を担当する。PLC100のフィールドネットワークコントローラ112は、通信マスタ(マスタ)として機能する。なお、フィールドネットワークコントローラ112は、通信フレームを周期的に送受信するための同期カウンタを有していてもよい。
ローカルバスコントローラ114は、内部バス118を介して、1または複数の機能ユニット116と電気的に接続される。機能ユニット116は、制御対象との間で各種の信号をやり取りする機能などを含む。機能ユニット116は、例えば、制御対象からのデジタル信号を受取るDI(Digital Input)機能、制御対象に対してデジタル信号を出力するDO(Digital Output)機能、制御対象からのアナログ信号を受取るAI(Analog Input)機能、制御対象に対してアナログ信号を出力するAO(Analog Output)機能のうち1または複数の機能を有している。さらに、機能ユニット116としては、PID(Proportional Integral Derivative)制御やモーション制御といった特殊機能を実装したコントローラを含み得る。
図5には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、PLC100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
さらに、PLC100に表示装置やサポート装置などの機能を統合した構成を採用してもよい。
(b2:デバイス200)
図6は、本実施の形態に従う制御システム1のデバイス200のハードウェア構成例を示す模式図である。図6を参照して、デバイス200は、主たるハードウェアコンポーネントとして、制御回路206と、フィールドネットワークコントローラ212と、機能モジュール220とを含む。
制御回路206は、デバイス200における処理を主体的に実行する演算処理部である。制御回路206は、典型的には、プロセッサ202と、メインメモリ204と、ストレージ210とを含む。プロセッサ202は、CPUやGPUなどで構成される。メインメモリ204は、DRAMやSRAMなどの揮発性記憶装置などで構成される。ストレージ210は、例えば、SSDなどの不揮発性記憶装置などで構成される。なお、ストレージ210として、ROM(Read Only Memory)を採用してもよい。
なお、制御回路206は、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。
フィールドネットワークコントローラ212は、INポート251およびOUTポート252を有しており、通信フレームの送受信処理を担当する。デバイス200のフィールドネットワークコントローラ212は、通信スレーブ(スレーブ)として機能する。なお、フィールドネットワークコントローラ212は、通信フレームを周期的に送受信するための同期カウンタを有していてもよい。
機能モジュール220は、図5に示す機能ユニット116と同様に、制御対象との間で各種の信号をやり取りする処理などを担当する。
(b3:中継装置300)
図7は、本実施の形態に従う制御システム1の中継装置300のハードウェア構成例を示す模式図である。図7を参照して、中継装置300は、主たるハードウェアコンポーネントとして、制御回路306と、フィールドネットワークインターフェイス312とを含む。
制御回路306は、中継装置300における通信フレームの転送処理を主体的に実行する演算処理部である。制御回路306は、典型的には、プロセッサ302と、メインメモリ304と、ストレージ310とを含む。プロセッサ302は、CPUやGPUなどで構成される。メインメモリ304は、DRAMやSRAMなどの揮発性記憶装置などで構成される。ストレージ310は、例えば、SSDなどの不揮発性記憶装置などで構成される。なお、ストレージ310として、ROMを採用してもよい。
なお、制御回路306は、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。
フィールドネットワークインターフェイス312は、第1ポート351、第2ポート352および第3ポート353、第4ポート354、第5ポート355、第6ポート356を有しており、通信フレームの図示しない受信回路および送信回路を含む。
<C.概要>
本実施の形態に従う制御システムは、上述したような通信フレームの転送ができない状態に陥る可能性がある場合に、通信フレームの転送ができない状態に陥らないようにする手段を提供する。
上述したように、INポート251がリンクオフしているデバイス200がOUTポート252で通信フレームを受信した場合に、Circulating bitの値が評価される。すなわち、INポート251がリンクオフしているデバイス200が複数存在し、それらのデバイス200がOUTポート252で通信フレームを受信し得るような状況を回避すればよい。このような状況を回避する方法として、いずれかのデバイス200のINポート251がリンクオフした場合には、通信フレームが冗長経路を伝送されないようにすることが考えられる。すなわち、様々な要因によってデバイス200のINポート251はリンクオフし得るが、冗長経路を切断すれば、デバイス200のOUTポート252で通信フレームを受信することはなくなる。その結果、仮に、INポート251がリンクオフしたデバイス200が複数発生したとしても、それらのデバイス200のOUTポート252に通信フレームが到達することはないので、通信フレームが伝送途中で破棄されることはない。
したがって、本実施の形態に従う制御システムにおいては、INポート251がリンクオフしており、かつ、OUTポート252に通信フレームが到達し得るデバイス200がネットワーク上で検出されると、ネットワークに含まれる冗長構成10のうち検出されたデバイス200が含まれる冗長構成10以外の冗長構成10について、冗長経路を切断する。これによって、INポート251がリンクオフしており、かつ、OUTポート252に通信フレームが到達し得るデバイス200が複数存在することはなくなり、通信フレームの伝送途中での破棄を防止できる。
冗長構成10を解除するための解除条件としては、対象のデバイス200(スレーブ)のINポート251に接続されているケーブルが切断されており、かつ、OUTポート252で通信フレームを受信し得ることを含む。より具体的な判断方法として、切断が検出されたケーブルがいずれかの冗長構成10に含まれており、かつ、切断が検出されたケーブルが当該冗長構成10を解除するために切断すべきケーブル(冗長経路)ではない場合に、解除条件が満たされると決定することができる。
図8は、本実施の形態に従う制御システム1における通信フレームの伝送途中での破棄を防止するための方法を説明するための図である。図8を参照して、例えば、冗長構成10-1のデバイス200-2のOUTポート252とデバイス200-3のINポート251とを接続するケーブル23に断線などの障害が発生した場合を想定する。
冗長構成10-1のデバイス200-3のINポート251がリンクオフしたことが検出されると((1)ケーブル切断検出)、冗長構成10-1以外の冗長構成10-2および冗長構成10-3の冗長経路(ケーブル36およびケーブル46)が切断される((2)冗長経路切断)。
冗長構成10-1においては、ケーブル23が切断されて、リング接続から非リング接続になっており、INポート251がリンクオフしており、かつ、OUTポート252に通信フレームが到達し得るデバイス200がさらに発生することはない。
また、冗長構成10-2および冗長構成10-3においては、冗長経路であるケーブル36およびケーブル46が切断されるので、リング接続(冗長構成10)からデイジーチェーン接続(非冗長構成)になっており、いずれのデバイス200についても、OUTポート252に通信フレームが到達することがない。
このように、いずれかの冗長構成10においてリンクオフが発生すると、それ以外の冗長構成10の冗長経路を切断して、冗長構成10を解除することで、通信フレームの伝送途中での破棄を防止できる。
以下、上述したような冗長構成10の解除を実現するための実装例について説明する。
<D.実装例1:論理的な解除>
実装例1として、冗長構成10の解除を論理的に行う構成について説明する。通信フレームが伝送される経路は、マスタからの指令によって、論理的に切断あるいは接続が可能になっている。より具体的には、デバイス200の各々は、ESC(EtherCAT Slave Controller)を有しており、マスタからの指令に従って、自身の各ポートを任意にオープンおよびクローズできる。ポートがクローズされることによって、ケーブルを介して他のポートと物理的に接続されていても、論理的に切断した状態(リンクオフ)にできる。
マスタであるPLC100は、システム設定情報1106(図5参照)を有している。システム設定情報1106は、(1)ネットワークを構成するすべてのスレーブおよびスレーブ間を接続するケーブル、(2)スレーブおよびケーブルにより構成される冗長構成10、(3)冗長構成10における冗長経路となるケーブル、といった情報を含む。
そのため、マスタであるPLC100は、対象のネットワークに含まれるスレーブおよびネットワークトポロジーを把握できる。また、マスタであるPLC100は、ネットワークを一巡してマスタまで戻った通信フレームに含まれる情報に基づいて、転送経路などの情報を取得できる。
図9は、本実施の形態に従う制御システム1に含まれるPLC100の通信処理に係る機能構成の要部を示す模式図である。図9を参照して、PLC100は、ネットワークに関する機能構成として、通信状態監視モジュール150と、解除要否判断モジュール152と、ネットワーク管理モジュール154と、通知モジュール156とを含む。図9に示す機能構成は、典型的には、PLC100のプロセッサ102がシステムプログラム1102(図5)を実行することで、実現される。但し、PLC100のフィールドネットワークコントローラ112に含まれる回路構成が図9に示す機能構成の全部または一部を実現してもよい。
通信状態監視モジュール150は、ネットワークにおける通信状態を監視する。より具体的には、通信状態監視モジュール150は、ネットワークに含まれるデバイス200の通信状態(例えば、応答の有無)、および、デバイス200間を接続するケーブルの通信状態(接続中/切断中)を監視する。通信状態監視モジュール150は、通信状態の変化に基づいて、いずれかのケーブルが切断された、あるいは、いずれかのケーブルが再接続されたことを検出できる。
解除要否判断モジュール152は、通信状態監視モジュール150によるケーブルの切断あるいは再接続の検出結果に応じて、冗長構成10の解除あるいは再構成の要否を判断する。例えば、解除要否判断モジュール152は、ネットワークに含まれるいずれかのケーブルの切断が検出されると、当該切断が検出されたケーブルに接続されているデバイス200(通信スレーブ)が解除条件を満たすか否かを判断する。
ネットワーク管理モジュール154は、解除条件が満たされると、ネットワークに含まれる冗長構成10を解除する。すなわち、ネットワーク管理モジュール154は、解除要否判断モジュール152による解除条件が満たされているとの判断結果に応じて、対象の冗長経路に接続されたデバイス200に対して、ポートのオープンあるいはクローズの指令を生成および送信する。より具体的には、ネットワーク管理モジュール154は、対象の冗長構成10を解除するために切断すべきケーブルがOUTポート252に接続されているデバイス200(通信スレーブ)に対して、そのOUTポート252をクローズするための指令を与える。例えば、図8に示す例では、PLC100は、冗長構成10-2のデバイス200-5に対して、OUTポート252をオープンする旨の指令を送信するとともに、冗長構成10-3のデバイス200-5に対して、OUTポート252をオープンする旨の指令を送信する。これらの指令によって、冗長経路であるケーブル36およびケーブル46が論理的に切断される。
また、ネットワーク管理モジュール154は、ケーブル23に発生した障害が復旧すると、冗長経路であるケーブル36およびケーブル46を再接続してもよい。すなわち、ネットワーク管理モジュール154は、切断が検出されたケーブルが再接続されると、解除したすべての冗長構成を再構成するようにしてもよい。図8に示す例では、ネットワーク管理モジュール154は、冗長構成10-2のデバイス200-5に対して、OUTポート252をクローズする旨の指令を送信するとともに、冗長構成10-3のデバイス200-5に対して、OUTポート252をクローズする旨の指令を送信する。
これらの指令によって、対応するケーブルの切断および再接続が可能となる。なお、冗長経路を構成するケーブルを複数切断する場合においては、それぞれのデバイス200に対してポートをオープンするための指令を送信することになるが、指令の送信順序などは任意でよい。また、指令の送信タイミングについても、可及的速やかであればよい。
通知モジュール156は、ネットワークの通信状態、通信状態の変化、冗長経路の切断指令が送信されたことなどの情報を外部へ送信する。特に、通知モジュール156は、ネットワークに含まれる冗長構成が解除されている状態を任意の出力先に任意の方法で通知するようにしてもよい。
図10は、本実施の形態に従う制御システム1に含まれるPLC100の実装例1における通信制御方法に係るフローチャートである。図10に示す各ステップは、典型的には、PLC100のプロセッサ102がシステムプログラム1102(図5)を実行することで、実現される。但し、PLC100のフィールドネットワークコントローラ112に含まれる回路構成が図10に示すステップの全部または一部を実行してもよい。
図10を参照して、PLC100は、ネットワークにおける通信状態を監視する(ステップS100)。そして、PLC100は、ネットワークに含まれるいずれかのケーブルの切断が検出されたか否かを判断する(ステップS102)。
ネットワークに含まれるいずれかのケーブルの切断も検出されなければ(ステップS102においてNO)、PLC100は、ネットワークに含まれるいずれかのケーブルの再接続が検出されたか否かを判断する(ステップS104)。ネットワークに含まれるいずれかのケーブルの再接続も検出されなければ(ステップS104においてNO)、ステップS100以下の処理が繰返される。
ネットワークに含まれるいずれかのケーブルの切断が検出されると(ステップS102においてYES)、PLC100は、当該切断が検出されたケーブルに接続されているデバイス200(通信スレーブ)が解除条件を満たすか否かを判断する。
より具体的には、PLC100は、切断したケーブルの位置を特定し(ステップS110)、切断したケーブルがいずれかの冗長構成のケーブルであるか否かを判断する(ステップS112)。
切断したケーブルが冗長構成のケーブルでなければ(ステップS112においてNO)、PLC100は、切断したケーブルおよび関連するデバイス200の情報を通知する(ステップS114)。そして、ステップS100以下の処理が繰返される。
切断したケーブルがいずれかの冗長構成のケーブルであれば(ステップS112においてYES)、PLC100は、切断したケーブルが冗長経路を構成するケーブルであるか否かを判断する(ステップS116)。
切断したケーブルが冗長経路を構成するケーブルであれば(ステップS116においてYES)、PLC100は、切断したケーブルおよび関連するデバイス200の情報、ならびに、切断したケーブルを含む冗長構成10が解除されていることを通知する(ステップS118)。そして、ステップS100以下の処理が繰返される。
切断したケーブルが冗長経路を構成するケーブルでなければ(ステップS116においてNO)、PLC100は、切断したケーブルを含む冗長構成以外の冗長構成について、冗長経路を切断するための指令を対応するデバイス200へ送信する(ステップS120)。すなわち、ステップS116においてNOの場合には、解除条件が満たされたことを意味し、PLC100は、ネットワークに含まれる冗長構成を解除する。そして、PLC100は、切断したケーブルおよび関連するデバイス200の情報、ならびに、すべての冗長構成が解除されていることを通知する(ステップS122)。そして、ステップS100以下の処理が繰返される。
ネットワーク内でケーブルの再接続が発生していれば(ステップS104においてYES)、PLC100は、再接続したケーブルの位置を特定し(ステップS130)、再接続したケーブルがいずれかの冗長構成のケーブルであるか否かを判断する(ステップS132)。
再接続したケーブルが冗長構成のケーブルでなければ(ステップS132においてNO)、PLC100は、再接続したケーブルおよび関連するデバイス200の情報を通知する(ステップS134)。そして、ステップS100以下の処理が繰返される。
再接続したケーブルがいずれかの冗長構成のケーブルであれば(ステップS132においてYES)、PLC100は、再接続したケーブルが冗長経路を構成するケーブルであるか否かを判断する(ステップS136)。
再接続したケーブルが冗長経路を構成するケーブルであれば(ステップS136においてYES)、PLC100は、再接続したケーブルおよび関連するデバイス200の情報、ならびに、再接続したケーブルを含む冗長構成が復旧されていることを通知する(ステップS138)。そして、ステップS100以下の処理が繰返される。
再接続したケーブルが冗長経路を構成するケーブルでなければ(ステップS136においてNO)、PLC100は、再接続したケーブルを含む冗長構成以外の冗長構成について、冗長経路を再接続するための指令を対応するデバイス200へ送信する(ステップS140)。そして、PLC100は、再接続したケーブルおよび関連するデバイス200の情報、ならびに、すべての冗長構成が復旧されていることを通知する(ステップS142)。そして、ステップS100以下の処理が繰返される。
以上のような機能構成および処理手順によって、冗長構成の論理的な解除および再構成を実現できる。
<E.実装例2:物理的な解除>
実装例2として、冗長構成の解除を物理的に行う構成について説明する。実装例2においては、冗長経路を物理的に切断可能なスイッチを設け、当該スイッチの状態を制御することで、冗長構成を解除あるいは再構成する。
図11は、本実施の形態に従う制御システム1の実装例2を示す模式図である。図11を参照して、制御システム1は、接続管理装置500と、スイッチ510-1,510-2,510-3(以下、「スイッチ510」とも総称する。)とを含む。スイッチ510-1は、冗長構成10-1の冗長経路であるケーブル26を物理的に切断および接続できる。スイッチ510-2は、冗長構成10-2の冗長経路であるケーブル36を物理的に切断および接続できる。スイッチ510-3は、冗長構成10-3の冗長経路であるケーブル46を物理的に切断および接続できる。なお、スイッチ510の構造については、ケーブルに流れる電気信号を遮断できるものであれば、どのようなものであってもよい。
このように、ネットワークに含まれる冗長構成10-1,10-2,10-3の各々には、冗長構成10-1,10-2,10-3を解除するために切断すべきケーブル26,36,46にスイッチ510-1,510-2,510-3がそれぞれ設けられている。
PLC100のネットワーク管理モジュール154(図9参照)は、対象の冗長構成10に設けられたスイッチ510の各々がケーブルを切断するための指令を与える。接続管理装置500は、PLC100からの指令に応じて、指定されたスイッチ510に冗長経路に相当するケーブルの切断および接続を行わせる。
また、ネットワーク管理モジュール154は、切断が検出されたケーブルが再接続されると、解除したすべての冗長構成10に設けられたスイッチ510の各々がケーブルを再接続するための指令を与えてもよい。
図12は、本実施の形態に従う制御システム1に含まれるPLC100の実装例2における通信制御方法に係るフローチャートである。図12に示す各ステップは、典型的には、PLC100のプロセッサ102がシステムプログラム1102(図5)を実行することで、実現される。但し、PLC100のフィールドネットワークコントローラ112に含まれる回路構成が図10に示すステップの全部または一部を実行してもよい。
図12に示すフローチャートは、図10に示すフローチャートのステップS120をステップS120Aに変更するとともに、ステップS140をステップS140Aに変更したものである。
ステップS120Aにおいて、PLC100は、切断したケーブルを含む冗長構成10以外の冗長構成10について、冗長経路を切断するための指令を接続管理装置500へ送信する(ステップS120A)。接続管理装置500は、PLC100からの指令に従って、対応するスイッチ510を駆動して、各スイッチ510が配置されている冗長経路を切断する。
ステップS140Aにおいて、PLC100は、再接続したケーブルを含む冗長構成10以外の冗長構成10について、冗長経路を再接続するための指令を接続管理装置500へ送信する(ステップS140A)。接続管理装置500は、PLC100からの指令に従って、対応するスイッチ510を駆動して、各スイッチ510が配置されている冗長経路を再接続する。
その他のステップについては、図10に示すフローチャートの対応するステップと同様であるので、詳細な説明は繰返さない。
以上のような機能構成および処理手順によって、冗長構成10の物理的な解除および再構成を実現できる。
<F.情報の通知および利用>
次に、PLC100の通知モジュール156(図9)による情報の通知、および、情報の利用の一例について説明する。
上述したように、何らかの障害が発生して冗長構成10が解除された状態においては、さらなる障害の発生によって、一部のデバイス200の通信ができなくなる。そのため、発生した障害を早期に復旧できるように、ユーザへの通知などが有効である。このような通知は、PLC100に接続されるサポート装置やHMI(Human Machine Interface)を介して行うことができる。
(f1:サポート装置)
図13は、本実施の形態に従う制御システム1のサポート装置400のハードウェア構成例を示す模式図である。図13を参照して、サポート装置400は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコン)を用いて実現される。
サポート装置400は、制御システム1のPLC100およびデバイス200に対する設定、ならびに、PLC100で実行されるユーザプログラム1104の作成が統合的に可能な統合開発環境を提供する。統合開発環境においては、デバッグやシミュレーションなどが可能であってもよい。
図13を参照して、サポート装置400は、主たるハードウェアコンポーネントとして、プロセッサ402と、メインメモリ404と、入力部406と、表示部408と、ストレージ410と、通信コントローラ412と、光学ドライブ416と、USBコントローラ424とを含む。これらのハードウェアコンポーネントは、内部バス228を介して電気的に接続される。
プロセッサ402は、CPUやGPUなどで構成され、ストレージ410に格納されたプログラムを読出して、メインメモリ404に展開して実行することで、サポート装置400としての機能を実現する。
メインメモリ404は、DRAMやSRAMなどの揮発性記憶装置などで構成される。ストレージ410は、例えば、HDDやSSDなどの不揮発性記憶装置などで構成される。
ストレージ410には、基本的な機能を実現するためのOS4102、および、統合開発環境を実現するための開発プログラム4104などが格納される。開発プログラム4104は、プロセッサ402により実行されることで、統合開発環境を提供する。
入力部406は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。
表示部408は、ディスプレイや各種インジケータなどで構成され、プロセッサ402からの処理結果などを出力する。
通信コントローラ412は、任意の上位ネットワークを介して、任意の情報処理装置との間でデータをやり取りする。
光学ドライブ416は、コンピュータ読取可能なプログラムを非一過的に格納する記憶媒体418(例えば、DVDなどの光学記憶媒体)から任意のデータを読み取り、および、任意のデータを記憶媒体418に書き込むことができる。
USBコントローラ424は、USB接続を介して、任意の情報処理装置との間のデータをやり取りする。
コンピュータ読取可能なプログラムを非一過的に格納する記憶媒体418から、その中に格納されたプログラムが読み取られてストレージ410などにインストールされてもよい。あるいは、サポート装置400で実行される各種プログラムは、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に係るサポート装置400が提供する機能は、OS4102が提供するモジュールの一部を利用する形で実現される場合もある。
なお、制御システム1の稼動中において、サポート装置400は、PLC100から取り外されていてもよい。
サポート装置400を介して任意の表示態様でユーザへ情報を提示することができる。以下に示すユーザインターフェイス画面は、サポート装置400のプロセッサ402がOS4102および開発プログラム4104などのプログラムを実行することで実現されてもよい。
図14は、本実施の形態に従う制御システム1のサポート装置400が提供するユーザインターフェイス画面の一例を示す模式図である。図14を参照して、ユーザインターフェイス画面450は、ネットワーク構成を示すオブジェクト452を含む。オブジェクト452上には、何らかの障害が発生している箇所に対応付けて、障害の発生を示すオブジェクト454が表示されている。図14に示す例では、オブジェクト454とともに、「障害発生中」の文字も表示されている。
ユーザは、図14に示すようなユーザインターフェイス画面450を参照することで、ネットワーク内で障害が発生している位置を一見して把握できる。
上述したように、冗長構成10を構成するケーブルであって、冗長経路ではないケーブルに障害が発生すると、他の冗長構成10についても冗長経路が切断される。このような状態になると、ユーザインターフェイス画面450には、すべての冗長構成10が解除されていることを示すオブジェクト456も表示される。
なお、ユーザインターフェイス画面450において、切断されている冗長経路についても表示するようにしてもよい。一方で、切断されている冗長経路は本質的な障害ではないので、ユーザの混乱を防止するために、切断されている冗長経路については表示しないようにしてもよい。
図15は、本実施の形態に従う制御システム1のサポート装置400が提供するユーザインターフェイス画面の別の一例を示す模式図である。図15を参照して、ユーザインターフェイス画面460は、ネットワークに含まれるデバイス200(スレーブ)の各ポートの状態を示す一覧表示オブジェクト462を含む。
一覧表示オブジェクト462は、各スレーブを特定するための識別情報464と、各スレーブのINポート251を示すINポート表示466およびOUTポート252を示すOUTポート表示468とを含む。INポート表示466に対応付けて、スレーブのINポート251の状態を示す状態表示467が表示されている。同様に、OUTポート表示468に対応付けて、スレーブのOUTポート252の状態を示す状態表示469が表示されている。
例えば、図3に示すような障害が発生している場合には、デバイス200-2(スレーブ02)のOUTポート252、および、デバイス200-3(スレーブ03)のINポート251が「リンクオフ」と表示される。ユーザは、このようなネットワークの状態表示を参照することで、ネットワーク内で障害が発生している位置を一見して把握できる。
なお、障害の発生を意味する「リンクオフ」の表示については、正常の状態を意味する「接続中」とは表示態様を異ならせてもよい。
図16は、本実施の形態に従う制御システム1のサポート装置400が提供するユーザインターフェイス画面のさらに別の一例を示す模式図である。図16を参照して、ユーザインターフェイス画面470は、ネットワークに関するイベントログ472を含む。
イベントログ472は、PLC100に予め登録されたイベントに応じて生成されてもよい。図16に示す例では、図3に示すような障害が発生したタイミングでイベントログ472が生成され、さらに、冗長構成10が解除されたタイミングで別のイベントログ472が生成されている。
上述の図14~図16に示されるユーザインターフェイス画面に限られず、任意のユーザインターフェイス画面を用いて、ユーザに対して必要な情報を提供することができる。
(f2:HMI)
制御システム1にHMIを設け、必要な情報をHMI上に表示してもよい。HMI上に表示される情報としては、上述の図14~図16に示されるユーザインターフェイス画面と同様の内容としてもよい。あるいは、制御システム1が制御する制御対象に応じて、任意に作成されるユーザインターフェイス画面を用いてもよい。すなわち、任意のユーザインターフェイス画面を用いて、ユーザに対して必要な情報を提供することができる。
なお、HMIは、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。
(f3:ユーザプログラム)
PLC100は、ネットワークの状態を取得することができるので、取得したネットワークの状態をユーザプログラムで参照できるようにしてもよい。
図17は、本実施の形態に従う制御システム1のPLC100で実行されるユーザプログラム1104の一例を示す図である。図17を参照して、ユーザプログラム1104は、冗長構成10が解除されているか否かを示す変数を利用可能になっている。A接点として用いられる変数160は、冗長構成10が維持されている状態でONになり、B接点として用いられる変数162は、冗長構成10が解除されている状態でONになる。このように、ユーザプログラム1104では、ネットワークに含まれる冗長構成10が解除されているか否かを示す情報を参照可能である。
ユーザプログラム1104において、処理ブロック164には、ネットワークが正常であるときの処理が規定されており、処理ブロック166には、ネットワークに何らかの障害が発生しているときの処理が規定されているとする。ここで、変数160は、処理ブロック164の実行条件として用いられており、変数162は、処理ブロック166の実行条件として用いられている。
このようなユーザプログラム1104を作成することで、ネットワークに何らの障害も発生していないときの処理と、ネットワークに何らかの障害が発生しているときの処理とを切り替えることができる。
図17には、冗長構成10が解除されているか否かを示す変数を用いる例を示すが、これに限らず、冗長構成10が解除されているか否かを示す状態を必要に応じて取得する専用命令を用意してもよいし、冗長構成10が解除されることをトリガーとして発生するイベントを用意してもよい。
(f4:冗長構成解除の必要性の通知)
上述の説明においては、ネットワークに障害が発生し、当該発生した障害が所定の条件を満たす場合には、ネットワークに含まれるすべての冗長構成10を自動的に解除する実装例について説明したが、すべての冗長構成10の解除をユーザが行うようにしてもよい。あるいは、ユーザの承認を得た上で、すべての冗長構成10を解除するようにしてもよい。
このような実装例を採用する場合には、ユーザに対して、ネットワークに含まれるすべての冗長構成10を解除する必要がある旨を通知するようにしてもよい。
<G.その他の実施形態>
上述の説明においては、主として、EtherCATに従うネットワークに適用した場合について説明したが、本実施の形態に従う通信制御方法の適用先は、EtherCATに従うネットワークに限定されるものではない。
例えば、EtherCATと同様に、スレーブ間を永遠に巡回しないような仕組みを採用している通信プロトコルであれば、同様に適用可能である。
<H.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
1または複数の通信スレーブ(200)を含むネットワークにおいて通信マスタ(100)として動作する制御装置(100)であって、前記通信マスタから送信された通信フレームは、前記ネットワークを一巡して前記通信マスタに戻るように順次転送され、前記複数の通信スレーブの各々は、INポート(251)およびOUTポート(252)を有しており、前記制御装置は、
前記ネットワークにおける通信状態を監視する監視手段(150)と、
前記ネットワークに含まれるいずれかのケーブルの切断が検出されると、当該切断が検出されたケーブルに接続されている通信スレーブが解除条件を満たすか否かを判断する判断手段(152)とを備え、前記解除条件は、対象の通信スレーブのINポートに接続されているケーブルが切断されており、かつ、OUTポートで通信フレームを受信し得ることを含み、
前記解除条件が満たされると、前記ネットワークに含まれる冗長構成(10)を解除する管理手段(154)を備える、制御装置。
[構成2]
前記管理手段は、対象の冗長構成を解除するために切断すべきケーブルがOUTポートに接続されている通信スレーブに対して、当該OUTポートをクローズするための指令を与える、構成1に記載の制御装置。
[構成3]
前記ネットワークに含まれる冗長構成の各々には、冗長構成を解除するために切断すべきケーブルにスイッチ(510)が設けられており、
前記管理手段は、対象の冗長構成に設けられたスイッチの各々がケーブルを切断するための指令を与える、構成1に記載の制御装置。
[構成4]
前記判断手段は、前記切断が検出されたケーブルがいずれかの冗長構成に含まれており、かつ、前記切断が検出されたケーブルが当該冗長構成を解除するために切断すべきケーブルではない場合に、前記解除条件が満たされると決定する、構成1~3のいずれか1項に記載の制御装置。
[構成5]
同一の通信フレームが、INポートに接続されているケーブルが切断された通信スレーブのOUTポートで複数回受信されると、当該通信フレームは破棄される、構成1~4のいずれか1項に記載の制御装置。
[構成6]
前記管理手段は、前記切断が検出されたケーブルが再接続されると、解除した冗長構成を再構成する、構成1~5のいずれか1項に記載の制御装置。
[構成7]
前記ネットワークに含まれる冗長構成が解除されている状態を通知する通知手段(156)をさらに備える、構成1~6のいずれか1項に記載の制御装置。
[構成8]
ユーザプログラム(1104)を実行する実行手段(102)をさらに備え、
前記ユーザプログラムは、前記ネットワークに含まれる冗長構成が解除されているか否かを示す情報を参照可能である、構成1~7のいずれか1項に記載の制御装置。
[構成9]
1または複数の通信スレーブ(200)を含むネットワークにおいて通信マスタ(100)として動作する制御装置(100)で実行される通信制御方法であって、前記通信マスタから送信された通信フレームは、前記ネットワークを一巡して前記通信マスタに戻るように順次転送され、前記複数の通信スレーブの各々は、INポート(251)およびOUTポート(252)を有しており、前記通信制御方法は、
前記ネットワークにおける通信状態を監視するステップ(S100)と、
前記ネットワークに含まれるいずれかのケーブルの切断が検出されると、当該切断が検出されたケーブルに接続されている通信スレーブが解除条件を満たすか否かを判断するステップ(S102~S116)とを備え、前記解除条件は、対象の通信スレーブのINポートに接続されているケーブルが切断されており、かつ、OUTポートで通信フレームを受信し得ることを含み、
前記解除条件が満たされると、前記ネットワークに含まれる冗長構成を解除するステップ(S120)を備える、通信制御方法。
[構成10]
1または複数の通信スレーブ(200)を含むネットワークにおいて通信マスタ(100)として動作するコンピュータ(100)で実行される制御プログラム(1102)であって、前記通信マスタから送信された通信フレームは、前記ネットワークを一巡して前記通信マスタに戻るように順次転送され、前記複数の通信スレーブの各々は、INポート(251)およびOUTポート(252)を有しており、前記制御プログラムは前記コンピュータに、
前記ネットワークにおける通信状態を監視するステップ(S100)と、
前記ネットワークに含まれるいずれかのケーブルの切断が検出されると、当該切断が検出されたケーブルに接続されている通信スレーブが解除条件を満たすか否かを判断するステップ(S102~S116)とを実行させ、前記解除条件は、対象の通信スレーブのINポートに接続されているケーブルが切断されており、かつ、OUTポートで通信フレームを受信し得ることを含み、
前記解除条件が満たされると、前記ネットワークに含まれる冗長構成を解除するステップ(S120)を実行させる、制御プログラム。
<I.利点>
本実施の形態に係る制御システムは、複数の冗長構成を含むネットワークにおいて生じる、複数箇所の障害発生による通信フレームの破棄といった課題に対する解決手段を提供できる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1,1A,1B 制御システム、10 冗長構成、20,21,22,23,24,25,26,31,32,33,34,35,36,41,42,43,44,45,46 ケーブル、100 PLC、102,202,302,402 プロセッサ、104,204,304,404 メインメモリ、110,210,310,410 ストレージ、112,212 フィールドネットワークコントローラ、114 ローカルバスコントローラ、116 機能ユニット、118,228 内部バス、150 通信状態監視モジュール、151 ポート、152 要否判断モジュール、154 ネットワーク管理モジュール、156 通知モジュール、160,162 変数、164,166 処理ブロック、200 デバイス、206,306 制御回路、220 機能モジュール、251 INポート、252 OUTポート、300 中継装置、312 フィールドネットワークインターフェイス、351 第1ポート、352 第2ポート、353 第3ポート、354 第4ポート、355 第5ポート、356 第6ポート、400 サポート装置、406 入力部、408 表示部、412 通信コントローラ、416 光学ドライブ、418 記憶媒体、424 USBコントローラ、450,460,470 ユーザインターフェイス画面、452,454,456 オブジェクト、462 一覧表示オブジェクト、464 識別情報、466 INポート表示、467,469 状態表示、468 OUTポート表示、472 イベントログ、500 接続管理装置、510 スイッチ、1102 システムプログラム、1104 ユーザプログラム、1106 システム設定情報、4102 OS、4104 開発プログラム。

Claims (10)

  1. 1または複数の通信スレーブを含むネットワークにおいて通信マスタとして動作する制御装置であって、前記通信マスタから送信された通信フレームは、前記ネットワークを一巡して前記通信マスタに戻るように順次転送され、前記複数の通信スレーブの各々は、INポートおよびOUTポートを有しており、前記制御装置は、
    前記ネットワークにおける通信状態を監視する監視手段と、
    前記ネットワークに含まれるいずれかのケーブルの切断が検出されると、当該切断が検出されたケーブルに接続されている通信スレーブが解除条件を満たすか否かを判断する判断手段とを備え、前記解除条件は、対象の通信スレーブのINポートに接続されているケーブルが切断されており、かつ、OUTポートで通信フレームを受信し得ることを含み、
    前記解除条件が満たされると、前記ネットワークに含まれる冗長構成を解除する管理手段を備える、制御装置。
  2. 前記管理手段は、対象の冗長構成を解除するために切断すべきケーブルがOUTポートに接続されている通信スレーブに対して、当該OUTポートをクローズするための指令を与える、請求項1に記載の制御装置。
  3. 前記ネットワークに含まれる冗長構成の各々には、冗長構成を解除するために切断すべきケーブルにスイッチが設けられており、
    前記管理手段は、対象の冗長構成に設けられたスイッチの各々がケーブルを切断するための指令を与える、請求項1に記載の制御装置。
  4. 前記判断手段は、前記切断が検出されたケーブルがいずれかの冗長構成に含まれており、かつ、前記切断が検出されたケーブルが当該冗長構成を解除するために切断すべきケーブルではない場合に、前記解除条件が満たされると決定する、請求項1~3のいずれか1項に記載の制御装置。
  5. 同一の通信フレームが、INポートに接続されているケーブルが切断された通信スレーブのOUTポートで複数回受信されると、当該通信フレームは破棄される、請求項1~4のいずれか1項に記載の制御装置。
  6. 前記管理手段は、前記切断が検出されたケーブルが再接続されると、解除した冗長構成を再構成する、請求項1~5のいずれか1項に記載の制御装置。
  7. 前記ネットワークに含まれる冗長構成が解除されている状態を通知する通知手段をさらに備える、請求項1~6のいずれか1項に記載の制御装置。
  8. ユーザプログラムを実行する実行手段をさらに備え、
    前記ユーザプログラムは、前記ネットワークに含まれる冗長構成が解除されているか否かを示す情報を参照可能である、請求項1~7のいずれか1項に記載の制御装置。
  9. 1または複数の通信スレーブを含むネットワークにおいて通信マスタとして動作する制御装置で実行される通信制御方法であって、前記通信マスタから送信された通信フレームは、前記ネットワークを一巡して前記通信マスタに戻るように順次転送され、前記複数の通信スレーブの各々は、INポートおよびOUTポートを有しており、前記通信制御方法は、
    前記ネットワークにおける通信状態を監視するステップと、
    前記ネットワークに含まれるいずれかのケーブルの切断が検出されると、当該切断が検出されたケーブルに接続されている通信スレーブが解除条件を満たすか否かを判断するステップとを備え、前記解除条件は、対象の通信スレーブのINポートに接続されているケーブルが切断されており、かつ、OUTポートで通信フレームを受信し得ることを含み、
    前記解除条件が満たされると、前記ネットワークに含まれる冗長構成を解除するステップとを備える、通信制御方法。
  10. 1または複数の通信スレーブを含むネットワークにおいて通信マスタとして動作するコンピュータで実行される制御プログラムであって、前記通信マスタから送信された通信フレームは、前記ネットワークを一巡して前記通信マスタに戻るように順次転送され、前記複数の通信スレーブの各々は、INポートおよびOUTポートを有しており、前記制御プログラムは前記コンピュータに、
    前記ネットワークにおける通信状態を監視するステップと、
    前記ネットワークに含まれるいずれかのケーブルの切断が検出されると、当該切断が検出されたケーブルに接続されている通信スレーブが解除条件を満たすか否かを判断するステップとを実行させ、前記解除条件は、対象の通信スレーブのINポートに接続されているケーブルが切断されており、かつ、OUTポートで通信フレームを受信し得ることを含み、
    前記解除条件が満たされると、前記ネットワークに含まれる冗長構成を解除するステップを実行させる、制御プログラム。
JP2020194428A 2020-11-24 2020-11-24 制御装置、通信制御方法、および制御プログラム Pending JP2022083143A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020194428A JP2022083143A (ja) 2020-11-24 2020-11-24 制御装置、通信制御方法、および制御プログラム
PCT/JP2021/008914 WO2022113384A1 (ja) 2020-11-24 2021-03-08 制御装置、通信制御方法、および制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020194428A JP2022083143A (ja) 2020-11-24 2020-11-24 制御装置、通信制御方法、および制御プログラム

Publications (1)

Publication Number Publication Date
JP2022083143A true JP2022083143A (ja) 2022-06-03

Family

ID=81754150

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020194428A Pending JP2022083143A (ja) 2020-11-24 2020-11-24 制御装置、通信制御方法、および制御プログラム

Country Status (2)

Country Link
JP (1) JP2022083143A (ja)
WO (1) WO2022113384A1 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4887897B2 (ja) * 2006-05-12 2012-02-29 富士通株式会社 パケット伝送装置、パケット転送方法及びパケット伝送システム
CN103918238B (zh) * 2011-11-04 2018-07-31 恩智浦美国有限公司 实时分布式网络模块、实时分布式网络及其方法
CN104767664B (zh) * 2014-01-07 2018-01-12 维谛技术有限公司 一种环形通信网络增减从节点的方法、装置及***
JP2016119616A (ja) * 2014-12-22 2016-06-30 富士電機株式会社 リング型ネットワークシステム、そのマスタノード
JP6830608B2 (ja) * 2017-10-31 2021-02-17 村田機械株式会社 通信システム、被制御機器、及び、通信システムの制御方法
JP7238534B2 (ja) * 2019-03-27 2023-03-14 オムロン株式会社 ネットワーク管理装置、管理方法、管理プログラムおよび記録媒体

Also Published As

Publication number Publication date
WO2022113384A1 (ja) 2022-06-02

Similar Documents

Publication Publication Date Title
JP4782823B2 (ja) ユーザ端末、マスタ・ユニット、通信システムおよびその稼動方法
JP4776374B2 (ja) 二重化監視制御システム、及び同システムの冗長化切替え方法
CN108377255B (zh) 信息处理装置、信息处理方法和记录介质
JP6747525B2 (ja) セーフティシステムおよびセーフティコントローラ
JP6897494B2 (ja) 制御システム、制御システムの通信制御方法、および中継装置
JP6852421B2 (ja) 情報処理装置、情報処理プログラムおよび情報処理方法
JP3882783B2 (ja) プログラマブルコントローラ及びcpuユニット並びに通信ユニット及び通信ユニットの制御方法
JP6933183B2 (ja) セーフティ制御システムおよびセーフティ制御ユニット
JP7028078B2 (ja) Plc二重化システムの切替方式、plc二重化システムの切替方法
CN102487347B (zh) 航天智能总线接口***和使用该接口***的航天智能网络***
WO2016129075A1 (ja) 制御システム、および中継装置
JP6558882B2 (ja) 制御システム、および中継装置
JP6428048B2 (ja) 通信システム,異常制御装置および異常制御方法
WO2022113384A1 (ja) 制御装置、通信制御方法、および制御プログラム
US8745448B2 (en) Storage system, storage control apparatus and method for failure recovery
JP3402733B2 (ja) 伝送装置の制御システム
JP2008181240A (ja) 冗長化分散制御システム
JP2007334668A (ja) メモリダンプ方法、クラスタシステム、それを構成するノードおよびプログラム
JP7328907B2 (ja) 制御システム、制御方法
JP2008197907A (ja) 監視ネットワークシステムおよびデータバックアップ方法
WO2023276350A1 (ja) 通信装置、通信制御方法、および通信制御プログラム
WO2022113383A1 (ja) 制御装置、通信制御方法、および制御プログラム
JP2014110620A (ja) ネットワーク運用システム
US7818613B2 (en) Arrangement and method for connecting a processing node in a distribution system
WO2023248548A1 (ja) 制御システム、中継装置および通信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230907