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

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

Info

Publication number
JP2023006295A
JP2023006295A JP2021108825A JP2021108825A JP2023006295A JP 2023006295 A JP2023006295 A JP 2023006295A JP 2021108825 A JP2021108825 A JP 2021108825A JP 2021108825 A JP2021108825 A JP 2021108825A JP 2023006295 A JP2023006295 A JP 2023006295A
Authority
JP
Japan
Prior art keywords
network
section
devices
statistical information
frames
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
JP2021108825A
Other languages
English (en)
Inventor
健一 岩見
Kenichi Iwami
泰士 福田
Hiroshi Fukuda
拓文 太田
Hirofumi Ota
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 JP2021108825A priority Critical patent/JP2023006295A/ja
Priority to PCT/JP2022/014414 priority patent/WO2023276350A1/ja
Publication of JP2023006295A publication Critical patent/JP2023006295A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L12/437Ring fault isolation or reconfiguration

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】冗長化されたネットワークにおける安定性を維持するための新たな仕組みを提供する。【解決手段】通信装置は、フレームが一巡するように構成されたネットワークに接続される通信部を含む。ネットワークの少なくとも一部の経路は冗長化されている。ネットワークには1または複数のデバイスが接続されている。通信装置は、ネットワークを伝送するフレームについての統計情報を収集する収集部と、2つのデバイスに対してコマンドを送信することで、当該2つのデバイスの間の区間を論理的に切断する接続管理部と、ネットワークに含まれる区間を論理的に切断したときの統計情報の変化に基づいて、障害が発生している区間を特定する特定部とを含む。【選択図】図1

Description

本発明は、ネットワークに接続された通信装置、その通信装置における通信制御方法、およびその通信装置においてその通信制御方法を実現するための通信制御プログラムに関する。
例えば、EtherCAT(登録商標)に従うネットワークでは、通信マスタ(以下、単に「マスタ」とも称す。)が送信した通信フレーム(以下、単に「フレーム」とも称す。)は、すべての通信スレーブ(以下、単に「スレーブ」とも称す。)を巡回した上で、マスタに戻る。通常、フレームを巡回させる経路の一部が切断等されると、すべてのスレーブの間でフレームを伝送させることができなくなる。
このようなネットワークに生じる障害に対応する耐性を高めるために、フレーム伝送経路を冗長化したネットワークも実用化されている。説明の便宜上、冗長の経路を有するネットワークを「冗長化されたネットワーク」あるいは「リング構成」と称し、冗長の経路を有していないネットワークを「冗長化されていないネットワーク」あるいは「非リング構成」とも称する。
一方、ネットワークに生じる障害を検出するための技術および方法が提案されている。
例えば、特開2008-244714号公報(特許文献1)は、主信号の通信断を引き起こすことなくアウトオブサービス回線試験を実行可能な回線試験装置および回線試験方法を開示している。特開平11-112539号公報(特許文献2)は、リング状ネットワークの一部の要素に障害が発生しても、ネットワーク全体の通信機能を停止させることを防止する技術を開示する。特開昭64-16145号公報(特許文献3)は、通信機能の異常時に早急にそれを回復させる上で好適なネットワークの構成制御方式を開示する。
特開2008-244714号公報 特開平11-112539号公報 特開昭64-16145号公報
上述したように、冗長化されたネットワークは、切断等の恒久的な障害に対してフレームの伝送を継続できるという利点を有するが、ネットワークに生じる障害としては、恒久的なものだけではなく、一時的なものも存在する。一時的な障害としては、例えば、ネットワークに近接した装置から間欠的に発生するノイズを受けてフレームが消失するような事態が挙げられる。このような事態が生じると、フレーム伝送の安定性が低下する。また、部品の劣化などにより、フレームを安定して伝送できない事態も想定される。
本発明のある局面の目的は、冗長化されたネットワークにおける安定性を維持するための新たな仕組みを提供することである。
本発明のある実施の形態に従う通信装置は、フレームが一巡するように構成されたネットワークに接続される通信部を含む。ネットワークの少なくとも一部の経路は冗長化されている。ネットワークには1または複数のデバイスが接続されている。通信装置は、ネットワークを伝送するフレームについての統計情報を収集する収集部と、2つのデバイスに対してコマンドを送信することで、当該2つのデバイスの間の区間を論理的に切断する接続管理部と、ネットワークに含まれる区間を論理的に切断したときの統計情報の変化に基づいて、障害が発生している区間を特定する特定部とを含む。
この構成によれば、2つのデバイスの間の区間を論理的に切断したときに、当該区間において障害が発生していれば、統計情報に変化が生じ得る。このような統計情報の変化に基づいて、障害が発生している区間を確実に特定できる。障害が発生している区間を特定することで、当該障害による影響をより容易に除去できる。
接続管理部は、障害が発生している区間をネットワークから分離した状態を維持するようにしてもよい。この構成によれば、障害が発生している区間による影響を排除できる。
接続管理部は、ユーザ操作に従って、障害が発生している区間をネットワークから分離するようにしてもよい。この構成によれば、例えば、複数の区間において障害が発生しているような場合に、いずれの区間を優先的に分離するのかといった判断をユーザが行うことができる。
統計情報は、通信装置から送信されたフレーム数に対する、消失したフレームおよびエラーが発生したフレームの数の割合を示すエラー発生率を含んでいてもよい。この構成によれば、ネットワークを伝送されるフレームに生じ得るエラーを定量的に評価できる。
特定部は、論理的に接続した区間毎のエラー発生率が抑制される度合いに基づいて、障害が発生している区間である可能性を決定するようにしてもよい。この構成によれば、複数の区間において障害が発生しているような場合において、より大きな影響を与え得る障害を容易に特定できる。
特定部は、統計情報が予め定められた条件を満たした場合に、障害が発生している区間を特定する処理を開始するようにしてもよい。この構成によれば、何らかの障害しなければ、障害が発生している区間を特定する処理が開始されないので、通信装置での処理負荷を低減できる。
接続管理部は、隣接する2つのデバイスを順次選択し、当該選択した2つのデバイスに対してポートをクローズするコマンドを送信し、その後、当該選択した2つのデバイスに対してポートをオープンするコマンドを送信するようにしてもよい。この構成によれば、2つのデバイスを任意に順次選択していき、各選択された2つのデバイスの間の区間を順次評価できる。
通信装置は、障害が発生している区間を外部へ通知するための通知部をさらに含む。この構成によれば、ユーザなどに対して、障害が発生している区間を知らせることができる。
本発明の別の実施の形態によれば、フレームが一巡するように構成されたネットワークに接続された通信装置で実行される通信制御方法が提供される。ネットワークの少なくとも一部の経路は冗長化されている。ネットワークには1または複数のデバイスが接続されている。通信制御方法は、ネットワークを伝送するフレームについての統計情報を収集するステップと、2つのデバイスに対してコマンドを送信することで、当該2つのデバイスの間の区間を論理的に切断するステップと、ネットワークに含まれる区間を論理的に切断したときの統計情報の変化に基づいて、障害が発生している区間を特定するステップとを含む。
本発明のさらに別の実施の形態によれば、フレームが一巡するように構成されたネットワークに接続されたコンピュータで実行される通信制御プログラムが提供される。ネットワークの少なくとも一部の経路は冗長化されている。ネットワークには1または複数のデバイスが接続されている。通信制御プログラムはコンピュータに、ネットワークを伝送するフレームについての統計情報を収集するステップと、2つのデバイスに対してコマンドを送信することで、当該2つのデバイスの間の区間を論理的に切断するステップと、ネットワークに含まれる区間を論理的に切断したときの統計情報の変化に基づいて、障害が発生している区間を特定するステップとを実行させる。
本発明のある実施の形態によれば、冗長化されたネットワークにおける安定性を維持できる。
本実施の形態に従う通信システムのネットワーク構成例を示す模式図である。 本実施の形態に従う通信システムのPLCのハードウェア構成例を示す模式図である。 本実施の形態に従う通信システムのデバイスのハードウェア構成例を示す模式図である。 本実施の形態に従う通信システムの中継デバイスのハードウェア構成例を示す模式図である。 本実施の形態に従う通信システムにおける障害箇所の特定および分離の処理の一例を説明するための図である。 本実施の形態に従う通信システムにおける障害箇所の特定および分離の処理手順を示すフローチャートである。 本実施の形態に従う通信システムにおいて障害箇所が1箇所の場合の処理例を説明するための図である。 本実施の形態に従う通信システムにおいて障害箇所が2箇所の場合の処理例を説明するための図である。 本実施の形態に従う通信システムにおいて冗長化されていない経路に障害が発生した場合の処理例を説明するための図である。 本実施の形態に従う通信システムのサポート装置のハードウェア構成例を示す模式図である。 本実施の形態に従う通信システムのサポート装置が提供するユーザインターフェイス画面の一例を示す模式図である。 本実施の形態に従う通信システムのサポート装置が提供するユーザインターフェイス画面の別の一例を示す模式図である。 本実施の形態に従う通信システムのサポート装置が提供するユーザインターフェイス画面のさらに別の一例を示す模式図である。 本実施の形態に従う通信システムで採用可能な冗長化されたネットワークの一例を示す図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
<A.適用例>
まず、本発明が適用される場面の一例について説明する。
図1は、本実施の形態に従う通信システム1のネットワーク構成例を示す模式図である。図1(A)および図1(B)を参照して、通信システム1は、通信マスタ(マスタ)として機能する通信装置(一例として、PLC100)と、通信スレーブ(スレーブ)として機能する入出力装置などの機能デバイス200-1~200-5(以下、「機能デバイス200」とも総称する。)および中継デバイス300とを含む。また、機能デバイス200および中継デバイス300を「デバイス」または「スレーブデバイス」と総称することもある。マスタおよびデバイスは、いずれもネットワークに接続されている。
以下の説明においては、通信装置の一例として、任意の制御演算を実行するPLC(プログラマブルロジックコントローラ)を想定して説明するが、PLCに限らずマスタとして機能し得る任意の装置に適用可能である。
PLC100は、フレームの送受信を行うためのポート151を有している。機能デバイス200-1~200-5の各々は、フレームを送受信するための第1ポート251および第2ポート252を有している。
機能デバイス200の各々において、通常、第1ポート251は、フレームが入力されるポート(INポート)として用いられ、第2ポート252は、フレームが出力されるポート(OUTポート)として用いられる。但し、ネットワークを構成する経路の一部が切断等されると、第1ポート251および第2ポート252の各々は、フレームが入力されるポート(INポート)、および/または、フレームが出力されるポート(OUTポート)として用いられる。
中継デバイス300は、フレームを送受信するための第1ポート351、第2ポート352および第3ポート353を有している。中継デバイス300は、あるポートでフレームを受信すると、予め定められた規則に従って決定される別のポートから、当該受信したフレームを送信する。図1(A)に示す例では、予め定められた規則として、第1ポート351→第2ポート352→第3ポート353→第1ポート351→・・・といった循環的な規定が採用されてもよい。
通常のフレーム伝送においては、PLC100のポート151から送信されたフレームは、ケーブル20、中継デバイス300の第1ポート351、中継デバイス300の第2ポート352、ケーブル21、機能デバイス200-1の第1ポート251、機能デバイス200-1の第2ポート252、ケーブル22、機能デバイス200-2の第1ポート251、機能デバイス200-2の第2ポート252、ケーブル23、機能デバイス200-3の第1ポート251、機能デバイス200-3の第2ポート252、ケーブル24、機能デバイス200-4の第1ポート251、機能デバイス200-4の第2ポート252、ケーブル25、機能デバイス200-5の第1ポート251、機能デバイス200-5の第2ポート252、ケーブル26、中継デバイス300の第3ポート353、ケーブル20の順で一巡して、PLC100のポート151に戻る。
図1に示すネットワークにおいて、中継デバイス300から終端の機能デバイス200-5までの経路は、ケーブル21~ケーブル25の経路と、ケーブル26の経路とを含む。すなわち、ネットワークは、2つの経路を有しており、少なくとも一部の経路は冗長化されている。
PLC100は、機能構成として、収集モジュール50と、接続管理モジュール60と、特定モジュール70とを含む。
収集モジュール50は、ネットワークを伝送するフレームについての統計情報を収集する。
接続管理モジュール60は、ネットワークに接続されたデバイス(機能デバイス200および中継デバイス300)に対して、任意のコマンドを送信することで、ネットワークの任意の区間の切断/接続を管理する。典型的には、接続管理モジュール60は、隣接する2つのデバイスに対してポートを論理的にクローズするコマンドを送信することで、当該2つのデバイスの間の区間を論理的に切断する。また、接続管理モジュール60は、隣接する2つのデバイスに対してポートを論理的にオープンするコマンドを送信することで、当該2つのデバイスの間の区間を論理的に接続する。
特定モジュール70は、ネットワークに含まれる区間を論理的に切断したときの統計情報の変化に基づいて、障害が発生している区間を特定する。
本明細書において、「障害」は、フレームの伝送に悪影響を与える任意の事象を包含する概念である。「障害」は、例えば、フレームの伝送を阻害する外部からのノイズに起因するもの、部品の劣化などに起因するもの、ケーブルの断線や破断などに起因するものなどが挙げられる。
以下、特定モジュール70による障害が発生している区間の特定の典型例について説明する。
図1(A)に示すように、機能デバイス200-2と機能デバイス200-3との間に障害が発生している場合を想定する。この状態においては、ネットワーク上のフレーム伝送に影響が生じており、収集モジュール50が収集する統計情報は、フレームの伝送に何らかの異常が生じていることを示す特徴が含まれることになる。
ここで、図1(B)に示すように、接続管理モジュール60が機能デバイス200-2と機能デバイス200-3との間の区間を論理的に切断したとする。すると、フレームは、機能デバイス200-2および機能デバイス200-3においてそれぞれ折り返されるので、障害が発生している機能デバイス200-2と機能デバイス200-3との間を通過しなくなる。その結果、フレームの伝送への影響が生じなくなるので、収集モジュール50が収集する統計情報は、フレームの伝送に何らかの異常が生じていることを示す特徴が抑制されることになる。
接続管理モジュール60は、論理的に切断する区間を順次切り替え、特定モジュール70は、論理的に切断される区間毎の統計情報の変化に基づいて、障害が発生している区間を特定する。
以下、このような仕組みを実現するための構成、処理、機能などについて詳述する。
<B.ハードウェア構成例>
次に、本実施の形態に従う通信システム1を構成する各装置のハードウェア構成例について説明する。
(b1:通信装置(PLC100))
図2は、本実施の形態に従う通信システム1のPLC100のハードウェア構成例を示す模式図である。図2を参照して、PLC100は、主たるハードウェアコンポーネントとして、プロセッサ102と、メインメモリ104と、ストレージ110と、フィールドネットワークコントローラ112と、ローカルバスコントローラ114とを含む。これらのハードウェアコンポーネントは、内部バス118を介して電気的に接続される。
プロセッサ102は、制御演算を実行する演算処理部に相当し、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などで構成される。具体的には、プロセッサ102は、ストレージ110に格納されたプログラムを読出して、メインメモリ104に展開して実行することで、制御対象に応じた制御演算、および、後述するような各種処理を実現する。
メインメモリ104は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。ストレージ110は、例えば、SSD(Solid State Drive)やHDD(Hard Disk Drive)などの不揮発性記憶装置などで構成される。
ストレージ110には、基本的な機能を実現するためのシステムプログラム1102、および、制御対象に応じて作成されたユーザプログラム1104などが格納される。システムプログラム1102は、PLC100における基本的な機能を実現するため、通信制御プログラムの少なくとも一部とみなすことができる。
典型的には、システムプログラム1102は、接続管理モジュール60および特定モジュール70(図1)を実現するための命令を含んでいる。
フィールドネットワークコントローラ112は、通信部に相当し、フレームが一巡するように構成されたネットワークに接続される。より具体的には、フィールドネットワークコントローラ112は、ポート151を有しており、フレームの送受信処理を担当する。PLC100のフィールドネットワークコントローラ112は、マスタとして機能するためのネットワーク管理モジュール1122を有しているネットワーク管理モジュール1122は、ネットワークを伝送するフレームについての統計情報を収集する。すなわち、ネットワーク管理モジュール1122は、収集モジュール50(図1)を含む。さらに、フィールドネットワークコントローラ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)制御やモーション制御といった特殊機能を実装したコントローラを含み得る。
図2には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、PLC100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
また、図1に示す収集モジュール50、接続管理モジュール60、および特定モジュール70の各々についても、どのように実装してもよい。
さらに、PLC100に表示装置やサポート装置などの機能を統合した構成を採用してもよい。
(b2:機能デバイス200)
図3は、本実施の形態に従う通信システム1の機能デバイス200のハードウェア構成例を示す模式図である。図3を参照して、機能デバイス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は、第1ポート251および第2ポート252を有しており、フレームの送受信処理を担当する。機能デバイス200のフィールドネットワークコントローラ212は、通信スレーブ(スレーブ)として機能する。なお、フィールドネットワークコントローラ212は、フレームを周期的に送受信するための同期カウンタを有していてもよい。
機能モジュール220は、図2に示す機能ユニット116と同様に、制御対象との間で各種の信号をやり取りする処理などを担当する。
(b3:中継デバイス300)
図4は、本実施の形態に従う通信システム1の中継デバイス300のハードウェア構成例を示す模式図である。図4を参照して、中継デバイス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を有している。なお、中継デバイス300もマスタから見れば1つのスレーブとして取り扱われる。
<C.障害箇所の特定および分離>
次に、本実施の形態に従う通信システム1における障害箇所の特定および分離の処理について説明する。本実施の形態に従う通信システム1は、マスタとして機能するPLC100が収集する統計情報の変化に基づいて、何らかの障害が発生している箇所(以下、「障害箇所」とも称す。)を特定(あるいは、推定)する。
より具体的には、PLC100は、ネットワークの各区間を論理的に順次切断していき、切断した区間に応じて生じる統計情報の変化から障害箇所を特定する。
なお、通信システム1は、冗長化されたネットワーク(リング構成)を採用しているので、ネットワークを構成する経路の一部を論理的に切断したとしても、フレームの伝送は継続される。
ここで、統計情報は、ネットワークを伝送されるフレームの状態を所定期間に亘って集約した結果であり、例えば、フレームの消失やエラーフレームの発生などの情報を含む。より具体的には、フレームの消失は、PLC100から送信したフレームが所定時間内にPLC100へ戻ってこない(タイムアウトした)状態を意味する。また、エラーフレームの発生は、フレームに含まれる誤り検出情報(チェックビットやパリティビットなど)に基づいて、フレーム中のデータが破損した状態を意味する。以下では、統計情報に含まれる何らかの異常が発生する頻度を「エラー発生率」とも総称する。エラー発生率は、単位時間当たりのエラーが発生した回数に相当する。より具体的には、エラー発生率は、PLC100から送信されたフレーム数に対する、消失したフレームおよびエラーが発生したフレームの数の割合を示す。
PLC100は、任意のデバイス(機能デバイス200および中継デバイス300)に対してポートを論理的にオープン/クローズするコマンドを送信することができる。一方、各デバイスは、PLC100からのコマンドに従って、指定されたポートを論理的にオープン/クローズする。ポートを論理的にクローズすることで、対象のポートを介したフレームの送受信ができなくなり、対象のポートが物理的に切断された状態と実質的に同じになる。逆に、ポートを論理的にオープンすることで、対象のポートが物理的に接続された状態と実質的に同じになる。
具体的な処理順として、まず、PLC100は、統計情報160のエラー発生率が増加することで、何らかの障害が発生していることを検出する。そして、PLC100は、機能デバイス200に対してコマンドを送信することで、ネットワークの各区間を順次切断するとともに、各状態における統計情報160の変化に基づいて、切断した区間が障害箇所であるか否かを判断する。最終的に、PLC100は、特定した障害箇所に対応する区間を分離する。
図5は、本実施の形態に従う通信システム1における障害箇所の特定および分離の処理の一例を説明するための図である。図5には、機能デバイス200-2と機能デバイス200-3との間に障害が発生している場合の例を示す。
図5(A)を参照して、まず、PLC100は、中継デバイス300と機能デバイス200-1との間の区間を切断する。より具体的には、PLC100は、中継デバイス300の第2ポート352をクローズするコマンド、および、機能デバイス200-1の第1ポート251をクローズするコマンドをそれぞれ送信する。すると、中継デバイス300の第2ポート352と、機能デバイス200-1の第1ポート251との間には、フレームが伝送されなくなる。
この状態において、中継デバイス300において、第1ポート351で受信したフレームは、第2ポート352ではなく第3ポート353から送信される。また、機能デバイス200-1は、第2ポート252でフレームを受信すると、処理後のフレームを第2ポート252から送信する。すなわち、機能デバイス200-1の第2ポート252でフレームが折り返されることになる。このようなフレームの伝送経路の変更によって、フレームの伝送は継続される。
PLC100は、区間を切断した状態において、統計情報160のエラー発生率が相対的に高い状態が継続しているか否かを判断する。図5(A)の状態においては、切断された区間に障害箇所が含まれないので、エラー発生率が相対的に高い状態は継続する。そのため、PLC100は、障害箇所は別の区間であると判断する。そして、PLC100は、切断した区間を再接続する。より具体的には、PLC100は、中継デバイス300の第2ポート352をオープンするコマンド、および、機能デバイス200-1の第1ポート251をオープンするコマンドをそれぞれ送信する。
図5(B)を参照して、次に、PLC100は、機能デバイス200-1と機能デバイス200-2との間の区間を切断する。より具体的には、PLC100は、機能デバイス200-1の第2ポート252をクローズするコマンド、および、機能デバイス200-2の第1ポート251をクローズするコマンドをそれぞれ送信する。すると、機能デバイス200-1の第2ポート252と、機能デバイス200-2の第1ポート251との間には、フレームが伝送されなくなる。
この状態において、機能デバイス200-1は、第1ポート251でフレームを受信すると、処理後のフレームを第1ポート251から送信する。すなわち、機能デバイス200-1の第1ポート251でフレームが折り返されることになる。同様に、機能デバイス200-2は、第2ポート252でフレームを受信すると、処理後のフレームを第2ポート252から送信する。すなわち、機能デバイス200-2の第2ポート252でフレームが折り返されることになる。このようなフレームの伝送経路の変更によって、フレームの伝送は継続される。
PLC100は、区間を切断した状態において、統計情報160のエラー発生率が相対的に高い状態が継続しているか否かを判断する。図5(B)の状態においては、切断された区間に障害箇所が含まれないので、エラー発生率が相対的に高い状態は継続する。そのため、PLC100は、障害箇所は別の区間であると判断する。そして、PLC100は、切断した区間を再接続する。より具体的には、PLC100は、機能デバイス200-1の第2ポート252をオープンするコマンド、および、機能デバイス200-2の第1ポート251をオープンするコマンドをそれぞれ送信する。
図5(C)を参照して、次に、PLC100は、機能デバイス200-2と機能デバイス200-3との間の区間を切断する。より具体的には、PLC100は、機能デバイス200-2の第2ポート252をクローズするコマンド、および、機能デバイス200-3の第1ポート251をクローズするコマンドをそれぞれ送信する。すると、機能デバイス200-2の第2ポート252と、機能デバイス200-3の第1ポート251との間には、フレームが伝送されなくなる。
この状態において、機能デバイス200-2は、第1ポート251でフレームを受信すると、処理後のフレームを第1ポート251から送信する。すなわち、機能デバイス200-2の第1ポート251でフレームが折り返されることになる。同様に、機能デバイス200-3は、第2ポート252でフレームを受信すると、処理後のフレームを第2ポート252から送信する。すなわち、機能デバイス200-3の第2ポート252でフレームが折り返されることになる。このようなフレームの伝送経路の変更によって、フレームの伝送は継続される。
PLC100は、区間を切断した状態において、統計情報160のエラー発生率が相対的に高い状態が継続しているか否かを判断する。図5(C)の状態においては、切断された区間に障害箇所が含まれるので、エラー発生率は抑制されることになる。そのため、PLC100は、現在接続している区間に障害箇所が存在すると判断する。そして、PLC100は、対象の区間を切断した状態で維持する。この状態において、障害箇所の特定および障害箇所の分離の処理が完了する。
図6は、本実施の形態に従う通信システム1における障害箇所の特定および分離の処理手順を示すフローチャートである。図6に示す各ステップは、マスタとして機能するPLC100のプロセッサ102がシステムプログラム1102(通信制御プログラムの一例)を実行することで実現されてもよい。
図6を参照して、PLC100は、ネットワークを伝送するフレームについての統計情報160を収集する。より具体的には、PLC100は、統計情報160のエラー発生率を取得する(ステップS2)。そして、PLC100は、取得したエラー発生率が予め定められた障害発生基準を満たしているか否かを判断する(ステップS4)。障害発生基準は、例えば、エラー発生率が予め定められたしきい値を超えていることを含む。取得したエラー発生率が障害発生基準を満たしていなければ(ステップS4においてNO)、ステップS2以下の処理が繰り返される。
取得したエラー発生率が障害発生基準を満たしていれば(ステップS4においてYES)、PLC100は、ネットワークに何らかの障害が発生していると判断する(ステップS6)。そして、以下に示すような障害箇所の特定および分離の処理を開始する。このように、PLC100は、統計情報160が予め定められた条件を満たした場合に、障害が発生している区間を特定する処理を開始するようにしてもよい。
PLC100は、2つのデバイスに対してコマンドを送信することで、当該2つのデバイスの間の区間を論理的に切断する。より具体的には、PLC100は、ネットワークに含まれる区間のうち対象の区間を選択する(ステップS8)。そして、PLC100は、選択した対象の区間に接続された2つのポートをそれぞれクローズするコマンドをそれぞれ送信する(ステップS10)。クローズするコマンドによって、ネットワークの対象の区間が論理的に切断される。
続いて、PLC100は、統計情報160のエラー発生率を取得する(ステップS12)。そして、PLC100は、取得したエラー発生率が予め定められた障害箇所特定基準を満たしているか否かを判断する(ステップS14)。障害箇所特定基準は、例えば、エラー発生率が予め定められたしきい値以下であることを含む。すなわち、PLC100は、対象の区間を切断することによって、エラー発生率が抑制されたか否かを判断する。
取得したエラー発生率が障害発生基準を満たしていれば(ステップS14においてYES)、PLC100は、対象の区間において障害が発生していると判断する(ステップS16)。PLC100は、必要な通知処理などを行って(ステップS18)、現在の対象の区間が切断されている状態を維持する(ステップS20)。このように、PLC100は、障害が発生している区間をネットワークから分離した状態を維持する。そして、処理は終了する。
これに対して、取得したエラー発生率が障害発生基準を満たしていなければ(ステップS14においてNO)、PLC100は、対象の区間において障害が発生していないと判断し、選択した対象の区間に接続された2つのポートをそれぞれオープンするコマンドをそれぞれ送信する(ステップS22)。
このようにして、PLC100は、ネットワークに含まれる区間を論理的に切断したときの統計情報160の変化に基づいて、障害が発生している区間を特定する。このとき、PLC100は、隣接する2つのデバイスを順次選択し、当該選択した2つのデバイスに対してポートをクローズするコマンドを送信し、その後、当該選択した2つのデバイスに対してポートをオープンするコマンドを送信する。
続いて、PLC100は、ネットワークに含まれる区間のすべてを選択済であるか否かを判断する(ステップS24)。
ネットワークに含まれる区間のすべてを選択済でなければ(ステップS24においてNO)、PLC100は、ネットワークに含まれる区間のうち未選択の区間から対象の区間を選択する(ステップS26)。そして、ステップS10以下の処理が繰り返される。
ネットワークに含まれる区間のすべてを選択済であれば(ステップS24においてYES)、PLC100は、障害箇所を一意に特定することができないと判断する(ステップS28)。PLC100は、必要に応じて、障害箇所を推定するための処理を実行する(ステップS30)。そして、処理は終了する。
<D.障害箇所の推定>
次に、障害箇所を推定するいくつかの例について説明する。具体的には、区間毎にエラー発生率がどのように変化するのかに応じて、障害箇所であるか可能性を推定し、分離すべき区間を優先順位付けする。
図7は、本実施の形態に従う通信システム1において障害箇所が1箇所の場合の処理例を説明するための図である。図7(A)に示すように、機能デバイス200-2と機能デバイス200-3との間に障害が発生している例を想定する。
図7(B)に示すように、ネットワークの区間を切断する前においては、統計情報160の一例であるエラー発生率(=エラーフレーム数/フレーム送信数)が10%であったとする。
なお、エラー発生率は、図6に示すステップS2において取得される値であり、一定時間内に送信されたフレーム数(または、受信されたフレーム数)と、エラーフレーム数とに基づいて、ネットワーク全体のエラー発生率(=エラーフレーム数/フレーム送信数(または、フレーム受信数))として算出される。なお、エラーフレーム数は、何らかのエラーが発生したフレームに加えて、伝送途中に消失してフレームも含む。
上述したように、PLC100は、各区間を切断しつつ、統計情報160の変化に基づいて、障害箇所を特定する。図7(C)に示すように、統計情報160は、各区間を切断した場合のエラー発生率を含む。
各区間を切断した場合のエラー発生率は、図6に示すステップS12において取得される値であり、各区間を切断した場合において、一定時間内に送信されたフレーム数(または、受信されたフレーム数)と、エラーフレーム数とに基づいて、各区間を切断した場合のエラー発生率(=エラーフレーム数/フレーム送信数(または、フレーム受信数))として算出される。
PLC100は、各区間を切断したときのエラー発生率の変化に基づいて、各区間を切断したことで生じるエラー発生率を抑制できる効果として、寄与率を算出する。寄与率は、論理的に接続した区間毎のエラー発生率が抑制される度合いを示すものである。より具体的には、寄与率は、各区間を切断したときのエラー発生率の低減量を切断前のエラー発生率を基準として算出した割合を意味する。すなわち、寄与率={(切断前のエラー発生率)-(各区間を切断したときのエラー発生率)}/(切断前のエラー発生率)として算出される。このように、ネットワーク全体のエラー発生率と、各区間を切断した場合のエラー発生率とに基づいて、寄与率が算出される。
図7(C)に示す例では、S3-S4間(機能デバイス200-2と機能デバイス200-3との間)を切断したときの寄与率が100%であり、それ以外の区間については寄与率が0%であるので、切断対象はS3-S4間と一意に決定される。すなわち、S3-S4間に対してのみ優先順位として「1」が設定される。
図8は、本実施の形態に従う通信システム1において障害箇所が2箇所の場合の処理例を説明するための図である。図8(A)に示すように、機能デバイス200-2と機能デバイス200-3との間、ならびに、機能デバイス200-4と機能デバイス200-5との間に障害が発生している例を想定する。
図8(B)に示すように、ネットワークの区間を切断する前においては、統計情報160の一例であるエラー発生率(=エラーフレーム数/フレーム送信数)が10%であったとする。
図8(C)に示す例では、S3-S4間(機能デバイス200-2と機能デバイス200-3との間)を切断したときの寄与率が70%であり、S5-S6間(機能デバイス200-4と機能デバイス200-5との間)を切断したときの寄与率が30%である。なお、それ以外の区間については寄与率が0%である。
このような状態においては、寄与率が高い方から順に優先順位が設定される。すなわち、S3-S4間に対して優先順位として「1」が設定され、S5-S6間に対して優先順位として「2」が設定される。
最終的には、より優先順位の高いS3-S4間が切断対象として決定される。但し、次に優先順位の高いS5-S6間を切断対象として選択することも想定される。
このように、PLC100は、論理的に接続した区間毎のエラー発生率が抑制される度合いを示す寄与率に基づいて、障害が発生している区間である可能性を決定するようにしてもよい。
図9は、本実施の形態に従う通信システム1において冗長化されていない経路に障害が発生した場合の処理例を説明するための図である。図9(A)に示すように、PLC100と中継デバイス300との間に障害が発生している例を想定する。
図9(B)に示すように、ネットワークの区間を切断する前においては、統計情報160の一例であるエラー発生率(=エラーフレーム数/フレーム送信数)が10%であったとする。
図9(C)に示す例では、いずれの区間を切断した場合においても寄与率は0%である。PLC100は、この結果に基づいて、切断した区間には障害箇所が存在しないと判断する。なお、PLC100と中継デバイス300との間の区間は、冗長化されていないので、切断することができない。そのため、PLC100は、冗長化されていない経路において何らかの障害が発生している旨を通知等する。
上述したように、PLC100は、各区間を切断した場合のエラー発生率をそれぞれ算出し、算出されたエラー発生率のうち、ネットワーク全体のエラー発生率に対する影響度の高い区間を障害箇所である可能性が高いと判断し、ネットワークからの分離の対象として決定する。このとき、影響度に応じて、分離の対象となる優先順位付けしてもよい。
<E.ユーザへの情報提供>
次に、本実施の形態に従う通信システム1がユーザへ情報を提供する構成例について説明する。
(e1:サポート装置)
通信システム1が提供する情報は、PLC100に接続可能なサポート装置400を介してユーザへ提供されてもよい。
図10は、本実施の形態に従う通信システム1のサポート装置400のハードウェア構成例を示す模式図である。図10を参照して、サポート装置400は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコン)を用いて実現される。
サポート装置400は、通信システム1のPLC100および機能デバイス200に対する設定、ならびに、PLC100で実行されるユーザプログラム1104の作成が統合的に可能な統合開発環境を提供する。統合開発環境においては、デバッグやシミュレーションなどが可能であってもよい。
図10を参照して、サポート装置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から取り外されていてもよい。
(e2:ユーザインターフェイス例)
本実施の形態に従う通信システム1において、PLC100は、障害が発生している区間などの情報を外部へ通知するための通知機能を有している。PLC100から提供される情報は、サポート装置400などを介してユーザへ提示されてもよい。ユーザに対して提供される情報としては、例えば、以下のようなものが想定される。
・特定された障害箇所
・分離した障害箇所
・障害箇所を特定できなかった場合に、冗長化されていない経路に障害が発生している旨
図11は、本実施の形態に従う通信システム1のサポート装置400が提供するユーザインターフェイス画面の一例を示す模式図である。
図11(A)を参照して、ユーザインターフェイス画面450は、対象のネットワーク構成を示すネットワーク構成図452を含む。ネットワーク構成図452は、通信システム1を構成するPLC100、機能デバイス200および中継デバイス300の接続構成を示す。ネットワーク構成図452に含まれるノード間のうち、障害箇所であると特定された区間については、強調表示454が重畳されている。強調表示454によって、障害箇所であると特定された区間は、他のノード間とは異なる表示態様になっている。図11(A)は、2箇所の障害箇所が特定されている例を示すので、2つの強調表示454が重畳されている。
図11(A)に示されるユーザインターフェイス画面450は、分離されている区間を示す分離済マーク456をさらに含む。複数の障害箇所が特定されている場合であっても、通常は、分離される区間は1つであるので、分離済マーク456は1つだけ表示されることになる。
図11(B)には、ユーザが障害箇所をネットワークから分離する場合のユーザインターフェイス画面450を示す。ユーザは、ネットワーク構成図452に強調表示454が重畳されている区間のうち、分離したい区間をカーソル460を用いて選択する。すると、分離を指示するためのダイアログ458が表示されるので、ユーザは、表示されたダイアログ458をさらに選択することで、選択した区間をネットワークから分離することができる。このように、PLC100は、ユーザ操作に従って、障害が発生している区間をネットワークから分離するようにしてもよい。
図12は、本実施の形態に従う通信システム1のサポート装置400が提供するユーザインターフェイス画面の別の一例を示す模式図である。図12を参照して、ユーザインターフェイス画面450は、障害箇所についての寄与率を表示する。より具体的には、ユーザインターフェイス画面450は、ネットワーク構成図452を含む。ユーザが、障害箇所をカーソル460を用いてポイントすると、対象の障害箇所の寄与率462が表示される。ユーザは、障害箇所毎の寄与率462を参照して、いずれの障害箇所を分離するかを判断することができる。
図13は、本実施の形態に従う通信システム1のサポート装置400が提供するユーザインターフェイス画面のさらに別の一例を示す模式図である。図13を参照して、ユーザインターフェイス画面470は、各区間の寄与率を含む。
ユーザは、ユーザインターフェイス画面470を参照して、区間毎の寄与率を参照することで、いずれの障害箇所を分離するのかをより容易に選択できる。
(e3:情報提供の形態)
上述したような情報提供については、上述したようなサポート装置400上に表示されるユーザインターフェイス画面を用いる形態に限られず、以下のような任意の形態が可能である。
(1)サポート装置
上述したように、サポート装置400上に表示されるユーザインターフェイス画面を用いて、特定された障害箇所および関連する情報を表示するようにしてもよい。
また、サポート装置400がPLC100により管理されるシステム定義変数(例えば、障害発生の有無や障害箇所を示すフラグ)の値を読み出して表示するようにしてもよい。
また、サポート装置400がPLC100により管理されるイベントログ(例えば、障害発生の内容などのメッセージなどを含む)を読み出して表示するようにしてもよい。
(2)HMI(Human Machine Interface)
PLC100と通信可能なHMIを通信システム1に設けてもよい。HMIは、サポート装置400と同様に、PLC100から読み出される各種情報を任意の方法で提供するようにしてもよい。
(3)ユーザプログラム
PLC100が実行するユーザプログラム1104に記述された専用命令を用いて、各種情報を任意の方法で提供するようにしてもよい。専用命令としては、障害情報を取得するための命令、障害箇所の特定を開始/停止するための命令、障害箇所を分離/再接続するための命令などを含んでいてもよい。
上述したような情報をユーザへ提供することで、障害の発生および障害箇所の修繕をユーザに促すことができる。冗長化されたネットワークであっても、何らかの障害が発生すると、安定性が低下するので、障害箇所を修繕することで、より早期に元の安定性を確保できるようになる。
<F.変形例>
上述した典型的な実施の形態に加えて、以下のような変形が可能である。なお、以下に示す変形は、任意の1または複数の適宜組み合わせて適用することが可能である。
(1)障害箇所の特定および分離の処理の開始条件
上述の実施の形態においては、エラー発生率が予め定められた障害発生基準を満たしている場合に、障害箇所の特定および分離の処理が開始される。このように、PLC100がエラー発生率やエラーフレーム数を監視し、予め定められた条件を満たした場合に、障害箇所の特定および分離の処理を自動的に開始するようにしてもよい。
あるいは、ユーザがサポート装置400を介して、専用の命令をPLC100に与えることで、障害箇所の特定および分離の処理を自動的に開始するようにしてもよい。
さらにあるいは、専用の命令を含む任意の開始条件をユーザプログラム1104に記述しておき、PLC100がユーザプログラム1104を実行することで、記述された開始条件が満たされたときに、障害箇所の特定および分離の処理を自動的に開始するようにしてもよい。
なお、障害発生基準についてもユーザが任意に設定できるようにしてもよい。例えば、障害発生基準として任意のしきい値を用いることで、エラー発生率が予め定められたしきい値以下である場合には、ネットワークに生じる障害とみなさないようにしてもよい。
(2)統計情報
統計情報としては、任意の観点の情報を用いることができる。
例えば、単位時間当たり(例えば、1秒毎)に発生する異常の頻度を統計情報として用いてもよいし、単位フレーム数(例えば、1000フレーム毎)に対する異常の度合いを統計情報として用いてもよい。さらに、異常の発生数(エラーカウント)の時間的変化を統計情報として用いてもよい。
また、統計情報として用いる単位時間および単位フレーム数については、ユーザが任意に設定できるようにしてもよい。
(3)分離および復旧
障害箇所を特定した後に、当該特定した障害箇所を分離した状態に維持する処理例について説明したが、分離するか否かについては、ユーザが任意に選択できるようにしてもよい。この場合には、例えば、障害箇所を特定できるような情報をユーザに通知しつつ、ユーザからの分離の指示を受けた場合に限って、当該障害箇所を分離するようにしてもよい。
ユーザからの分離の指示は、ユーザがサポート装置400を操作してPLC100に与えられてもよいし、PLC100が実行するユーザプログラム1104に記述された専用命令を用いてPLC100に与えられてもよい。
また、ネットワークに発生した障害の要因が取り除かれた場合には、障害箇所を含む区間の分離を任意の方法で解除(復旧)できるようにしてもよい。例えば、PLC100は、論理的に切断した区間において、ケーブルが物理的に取り外しおよび再接続されることを検知すると、当該論理的に切断した区間の分離を解除してもよい。あるいは、ユーザがサポート装置400を操作して、切断した区間を再接続するようにPLC100へ指示するようにしてもよい。
(4)処理の実行主体
上述の説明においては、マスタとして機能するPLC100がすべての処理を実行する例について説明したが、これに限らず、マスタとして機能するPLC100に加えて、他の装置が処理の一部または全部を実行するようにしてもよい。
他の装置としては、PLC100に接続されるサポート装置400であってもよいし、サポート装置400以外の任意の情報処理装置であってもよい。さらに、いわゆるクラウド上にあるコンピューティングリソースを用いて、本実施の形態に従う処理を実現してもよい。
<G.冗長化されたネットワーク>
上述の説明では、中継デバイス300を用いた冗長化されたネットワークの例について説明したが、これに限らず他の構成を採用してもよい。
図14は、本実施の形態に従う通信システム1で採用可能な冗長化されたネットワークの一例を示す図である。
図14(A)には、3つ以上のポートを有する中継デバイス300を用いた冗長化されたネットワークの例を示す。中継デバイス300は、ポートを3つ以上有することで、ジャンクション冗長性(Junction Redundancy)を提供する。図14(A)に示す冗長化されたネットワークにおいては、PLC100のフィールドネットワークコントローラ112(通信部)および複数の機能デバイス200に接続された中継デバイス300を含む。
図14(B)には、2つ以上のポート151,152を有するPLC100を用いた冗長化されたネットワークの例を示す。PLC100は、ポートを2つ以上有することで、ケーブル冗長性(Cable Redundancy)を提供する。図14(B)に示す冗長化されたネットワークにおいては、PLC100のフィールドネットワークコントローラ112(通信部)は、それぞれ異なる機能デバイス200に接続された複数のポートを有している。
また、図14(A)に示す中継デバイス300、および、図14(B)に示すPLC100を任意に組み合わせて冗長化されたネットワークを構成してもよい。
本実施の形態に従う通信制御方法は、上述した構成例に限らず任意の冗長化されたネットワークに対して適用可能である。また、通信プロトコルとしても、EtherCATに限らず、フレームあるいはパケットなどのデータを順次転送する通信プロトコルに適用可能である。
<H.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
フレームが一巡するように構成されたネットワークに接続される通信部(112)を備え、前記ネットワークの少なくとも一部の経路は冗長化されており、前記ネットワークには1または複数のデバイス(200,300)が接続されており、
前記ネットワークを伝送するフレームについての統計情報(160)を収集する収集部(50;1122)と、
2つのデバイスに対してコマンドを送信することで、当該2つのデバイスの間の区間を論理的に切断する接続管理部(60)と、
前記ネットワークに含まれる区間を論理的に切断したときの前記統計情報の変化に基づいて、障害が発生している区間を特定する特定部(70)とを備える、通信装置。
[構成2]
前記接続管理部は、前記障害が発生している区間を前記ネットワークから分離した状態を維持する、構成1に記載の通信装置。
[構成3]
前記接続管理部は、ユーザ操作に従って、前記障害が発生している区間を前記ネットワークから分離する、構成1または2に記載の通信装置。
[構成4]
前記統計情報は、前記通信装置から送信されたフレーム数に対する、消失したフレームおよびエラーが発生したフレームの数の割合を示すエラー発生率を含む、構成1~3のいずれか1項に記載の通信装置。
[構成5]
前記特定部は、論理的に接続した区間毎の前記エラー発生率が抑制される度合いに基づいて、前記障害が発生している区間である可能性を決定する、構成4に記載の通信装置。
[構成6]
前記特定部は、前記統計情報が予め定められた条件を満たした場合に、前記障害が発生している区間を特定する処理を開始する、構成1~5のいずれか1項に記載の通信装置。
[構成7]
前記接続管理部は、隣接する2つのデバイスを順次選択し、当該選択した2つのデバイスに対してポートをクローズするコマンドを送信し、その後、当該選択した2つのデバイスに対してポートをオープンするコマンドを送信する、構成1~6のいずれか1項に記載の通信装置。
[構成8]
前記障害が発生している区間を外部へ通知するための通知部をさらに備える、構成1~7のいずれか1項に記載の通信装置。
[構成9]
フレームが一巡するように構成されたネットワークに接続された通信装置(100)で実行される通信制御方法であって、前記ネットワークの少なくとも一部の経路は冗長化されており、前記ネットワークには1または複数のデバイス(200;300)が接続されており、前記通信制御方法は、
前記ネットワークを伝送するフレームについての統計情報を収集するステップ(S2,S12)と、
2つのデバイスに対してコマンドを送信することで、当該2つのデバイスの間の区間を論理的に切断するステップ(S8,S10)と、
前記ネットワークに含まれる区間を論理的に切断したときの前記統計情報の変化に基づいて、障害が発生している区間を特定するステップ(S14,S16)とを備える、通信制御方法。
[構成10]
フレームが一巡するように構成されたネットワークに接続されたコンピュータ(100)で実行される通信制御プログラム(1102)であって、前記ネットワークの少なくとも一部の経路は冗長化されており、前記ネットワークには1または複数のデバイス(200;300)が接続されており、前記通信制御プログラムはコンピュータに、
前記ネットワークを伝送するフレームについての統計情報を収集するステップ(S2,S12)と、
2つのデバイスに対してコマンドを送信することで、当該2つのデバイスの間の区間を論理的に切断するステップ(S8,S10)と、
前記ネットワークに含まれる区間を論理的に切断したときの前記統計情報の変化に基づいて、障害が発生している区間を特定するステップ(S14,S16)とを実行させる、通信制御プログラム。
<I.利点>
本実施の形態に係る通信システムは、ネットワークに含まれる各区間について、障害が発生しているか否かを確実に判断できるので、何らかの障害が発生している場合には、当該障害を確実に除去等できる。このような障害の特定および分離が行える機能を実行することで、冗長化されたネットワークにおける安定性を維持することができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 通信システム、20,21,22,23,24,25,26 ケーブル、50 収集モジュール、60 接続管理モジュール、70 特定モジュール、100 PLC、102,202,302,402 プロセッサ、104,204,304,404 メインメモリ、110,210,310,410 ストレージ、112,212 フィールドネットワークコントローラ、114 ローカルバスコントローラ、116 機能ユニット、118,228 内部バス、151,152 ポート、160 統計情報、200 機能デバイス、206,306 制御回路、220 機能モジュール、251,351 第1ポート、252,352 第2ポート、300 中継デバイス、312 フィールドネットワークインターフェイス、353 第3ポート、400 サポート装置、406 入力部、408 表示部、412 通信コントローラ、416 光学ドライブ、418 記憶媒体、424 USBコントローラ、450,470 ユーザインターフェイス画面、452 ネットワーク構成図、454 強調表示、456 分離済マーク、458 ダイアログ、460 カーソル、462 寄与率、1102 システムプログラム、1104 ユーザプログラム、1122 ネットワーク管理モジュール、4102 OS、4104 開発プログラム。

Claims (10)

  1. フレームが一巡するように構成されたネットワークに接続される通信部を備え、前記ネットワークの少なくとも一部の経路は冗長化されており、前記ネットワークには1または複数のデバイスが接続されており、
    前記ネットワークを伝送するフレームについての統計情報を収集する収集部と、
    2つのデバイスに対してコマンドを送信することで、当該2つのデバイスの間の区間を論理的に切断する接続管理部と、
    前記ネットワークに含まれる区間を論理的に切断したときの前記統計情報の変化に基づいて、障害が発生している区間を特定する特定部とを備える、通信装置。
  2. 前記接続管理部は、前記障害が発生している区間を前記ネットワークから分離した状態を維持する、請求項1に記載の通信装置。
  3. 前記接続管理部は、ユーザ操作に従って、前記障害が発生している区間を前記ネットワークから分離する、請求項1または2に記載の通信装置。
  4. 前記統計情報は、前記通信装置から送信されたフレーム数に対する、消失したフレームおよびエラーが発生したフレームの数の割合を示すエラー発生率を含む、請求項1~3のいずれか1項に記載の通信装置。
  5. 前記特定部は、論理的に接続した区間毎の前記エラー発生率が抑制される度合いに基づいて、前記障害が発生している区間である可能性を決定する、請求項4に記載の通信装置。
  6. 前記特定部は、前記統計情報が予め定められた条件を満たした場合に、前記障害が発生している区間を特定する処理を開始する、請求項1~5のいずれか1項に記載の通信装置。
  7. 前記接続管理部は、隣接する2つのデバイスを順次選択し、当該選択した2つのデバイスに対してポートをクローズするコマンドを送信し、その後、当該選択した2つのデバイスに対してポートをオープンするコマンドを送信する、請求項1~6のいずれか1項に記載の通信装置。
  8. 前記障害が発生している区間を外部へ通知するための通知部をさらに備える、請求項1~7のいずれか1項に記載の通信装置。
  9. フレームが一巡するように構成されたネットワークに接続された通信装置で実行される通信制御方法であって、前記ネットワークの少なくとも一部の経路は冗長化されており、前記ネットワークには1または複数のデバイスが接続されており、前記通信制御方法は、
    前記ネットワークを伝送するフレームについての統計情報を収集するステップと、
    2つのデバイスに対してコマンドを送信することで、当該2つのデバイスの間の区間を論理的に切断するステップと、
    前記ネットワークに含まれる区間を論理的に切断したときの前記統計情報の変化に基づいて、障害が発生している区間を特定するステップとを備える、通信制御方法。
  10. フレームが一巡するように構成されたネットワークに接続されたコンピュータで実行される通信制御プログラムであって、前記ネットワークの少なくとも一部の経路は冗長化されており、前記ネットワークには1または複数のデバイスが接続されており、前記通信制御プログラムはコンピュータに、
    前記ネットワークを伝送するフレームについての統計情報を収集するステップと、
    2つのデバイスに対してコマンドを送信することで、当該2つのデバイスの間の区間を論理的に切断するステップと、
    前記ネットワークに含まれる区間を論理的に切断したときの前記統計情報の変化に基づいて、障害が発生している区間を特定するステップとを実行させる、通信制御プログラム。
JP2021108825A 2021-06-30 2021-06-30 通信装置、通信制御方法、および通信制御プログラム Pending JP2023006295A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021108825A JP2023006295A (ja) 2021-06-30 2021-06-30 通信装置、通信制御方法、および通信制御プログラム
PCT/JP2022/014414 WO2023276350A1 (ja) 2021-06-30 2022-03-25 通信装置、通信制御方法、および通信制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021108825A JP2023006295A (ja) 2021-06-30 2021-06-30 通信装置、通信制御方法、および通信制御プログラム

Publications (1)

Publication Number Publication Date
JP2023006295A true JP2023006295A (ja) 2023-01-18

Family

ID=84692640

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021108825A Pending JP2023006295A (ja) 2021-06-30 2021-06-30 通信装置、通信制御方法、および通信制御プログラム

Country Status (2)

Country Link
JP (1) JP2023006295A (ja)
WO (1) WO2023276350A1 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5229343B2 (ja) * 2011-03-15 2013-07-03 オムロン株式会社 接続異常検出方法、ネットワークシステムおよびマスター装置
JP7327017B2 (ja) * 2019-09-05 2023-08-16 オムロン株式会社 マスタ装置、演算処理装置、プログラマブルロジックコントローラ、ネットワーク、および方法

Also Published As

Publication number Publication date
WO2023276350A1 (ja) 2023-01-05

Similar Documents

Publication Publication Date Title
CN109104349B (zh) 基于CANopen协议的列车网络数据传输方法、系统及其装置
US8156319B2 (en) Self-restarting network devices
JP2018124697A (ja) 情報処理装置、情報処理プログラムおよび情報処理方法
US7953016B2 (en) Method and system for telecommunication apparatus fast fault notification
WO2016107425A1 (zh) 基于数据中心的故障分析方法和装置
CN112527567A (zh) 系统容灾方法、装置、设备以及存储介质
CN101854263B (zh) 网络拓扑的分析处理方法、系统和管理服务器
US9960985B2 (en) System and method for providing redundant Ethernet network connections
WO2023276350A1 (ja) 通信装置、通信制御方法、および通信制御プログラム
JP2007028118A (ja) ノード装置の故障判断方法
CN116027705A (zh) 一种可编程控制器主备切换及数据同步系统和方法
CN112468330B (zh) 一种故障节点的设置方法、系统、设备以及介质
JP5548160B2 (ja) 障害監視用ノード装置および障害検知回復方法
JP2015082131A (ja) 監視システム、監視方法、監視プログラム及び監視装置
JP7328907B2 (ja) 制御システム、制御方法
JP6359914B2 (ja) 中継システムおよび中継装置
JP6052150B2 (ja) 中継装置
CN112217718A (zh) 一种业务处理方法、装置、设备及存储介质
KR20150059697A (ko) 소프트웨어 정의 네트워크에서의 네트워크 결함 검출 방법 및 시스템
JP2014110620A (ja) ネットワーク運用システム
JP5752029B2 (ja) ネットワーク試験装置及びネットワーク試験方法
CN115858222B (zh) 一种虚拟机故障处理方法、系统及电子设备
CN116506327B (zh) 物理节点监测方法、装置、计算机设备及存储介质
WO2022113384A1 (ja) 制御装置、通信制御方法、および制御プログラム
US20240195679A1 (en) Smart online link repair and job scheduling in machine learning supercomputers

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240315