JP7327017B2 - マスタ装置、演算処理装置、プログラマブルロジックコントローラ、ネットワーク、および方法 - Google Patents

マスタ装置、演算処理装置、プログラマブルロジックコントローラ、ネットワーク、および方法 Download PDF

Info

Publication number
JP7327017B2
JP7327017B2 JP2019162181A JP2019162181A JP7327017B2 JP 7327017 B2 JP7327017 B2 JP 7327017B2 JP 2019162181 A JP2019162181 A JP 2019162181A JP 2019162181 A JP2019162181 A JP 2019162181A JP 7327017 B2 JP7327017 B2 JP 7327017B2
Authority
JP
Japan
Prior art keywords
slave
port
data
frame
command
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019162181A
Other languages
English (en)
Other versions
JP2021040288A (ja
Inventor
泰士 福田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2019162181A priority Critical patent/JP7327017B2/ja
Priority to PCT/JP2020/009127 priority patent/WO2021044652A1/ja
Priority to US17/635,381 priority patent/US20220400031A1/en
Priority to CN202080056369.8A priority patent/CN114245978B/zh
Priority to EP20861702.7A priority patent/EP4027591A4/en
Publication of JP2021040288A publication Critical patent/JP2021040288A/ja
Application granted granted Critical
Publication of JP7327017B2 publication Critical patent/JP7327017B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L12/437Ring fault isolation or reconfiguration
    • 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/423Loop networks with centralised control, e.g. polling
    • 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/422Synchronisation for ring networks

Landscapes

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

Description

本開示は、マスタ、演算処理装置、プログラマブルロジックコントローラ、ネットワーク、および方法に関する。
従来、マスタとスレーブとから構成されるネットワークが知られている。例えば、このようなネットワークは、ライントポロジ(ディジーチェーン)、ツリートポロジ、リングトポロジなどが知られている。リングトポロジとしては、例えば特許文献1にも開示されているようなリング型ネットワークシステムが提案されている。
特開2016-119616号公報
リングトポロジの1の接続形態として、リング配線により複数のスレーブがリング状に接続されて、これら複数のスレーブのうちの1つがデータ転送の起点または終点となるジャンクション(分岐)として動作する、いわゆるジャンクション冗長化のリング配線が提案されている。
ジャンクション冗長化リング配線では、通常は、マスタの起点から送信されたデータは複数のスレーブを経由して、マスタの終点に戻る。配線が切断されると、切断箇所のスレーブはループバック(折返し転送)を実施する。発明者は、切断箇所が、その後に再接続されると、ループバックのデータはリング配線を巡回し、その後、再度、配線が切断されると巡回データがマスタに戻り得ること、およびマスタにとっては戻された巡回データが誤入力となる可能性があるとの知見を得た。
それゆえに、本開示の目的は、リング配線における巡回データの発生を抑制するマスタ、演算処理装置、プログラマブルロジックコントローラ、ネットワーク、および方法を提供することである。
本開示においてリング配線に接続される複数のスレーブ装置を管理するマスタ装置が提供される。複数のスレーブ装置は、リング配線の起点および終点となる第1スレーブ装置と、第1スレーブ装置の起点と終点との間に接続される複数の第2スレーブ装置とを含み、リング配線は、各第2スレーブ装置が、起点側から入来するデータを受付け、受付けたデータを終点側へ巡回転送させるための第1経路と、各複数のスレーブ装置が、隣接するスレーブ装置との間の経路が切断される場合に、自装置からデータをループバックするための第2経路とを構成可能である。マスタ装置は、切断から復旧する場合に、第2経路を第1経路に切替えるための指令をループバックを実施するスレーブ装置に送信する指令手段を備え、指令の送信からリング配線の伝搬遅延時間に基づく時間が経過後に、リング配線にデータを送出する。
上述の開示によれば、リング配線が切断から復旧する場合に、マスタ装置は、リング配線において、指令が該当するスレーブに到達し指令が実行されてループバックの第2経路が第1経路に切替わるまでの所要時間を、伝搬遅延時間に基づく時間から見込み、この見込まれた時間が経過したタイミングで、新たなデータをリング配線に送出することが可能となる。この結果、送出されたデータは、第1経路で転送され得て、リング配線におけるループバック方向に巡回する逆巡回データの発生を抑制することができる。
上述の開示において、各スレーブ装置は、隣接するスレーブ装置に繋がる経路が接続される第1ポートおよび第2ポートを有し、各第2スレーブ装置は、第1経路が構成される場合、起点側から入来するデータを第1ポートで受付け、受付けたデータを第2ポートから終点側へ転送し、指令は、検出された第1ポートからのデータ受付を可能にするオープン指令および第2ポートからのデータ受付を可能にするオープン指令を含み、指令手段は、切断経路のリング配線上の位置に応じて、第1ポートのオープン指令および第2ポートのオープン指令の送信順序を異ならせる。
上述の開示によれば、マスタは、切断経路に接続される第1および第2ポートを有したスレーブに、指令として、第1ポートからのデータ受付を可能にするオープン指令および第2ポートからのデータ受付を可能にするオープン指令を送信する場合に、この指令の送信順序を、切断経路のリング配線上の位置に応じて異ならせることができる。
上述の開示において、マスタ装置は、さらに、複数のスレーブ装置との通信に基づき、切断経路が接続されるスレーブ装置の第1ポートおよび第2ポートを検出する手段を備える。
上述の開示によれば、マスタ装置は、指令の送信に際して、複数のスレーブ装置との通信に基づき、切断経路が接続されるスレーブ装置の第1ポートおよび第2ポートを検出することができる。
上述の開示において、データは、ループバックから巡回転送に変化したか否かを示す符号を含み、マスタ装置は、リング配線からの入来データのうち、符号が変化を示しているデータを検出し破棄する。
上述の開示によれば、切断からの復旧がなされた場合、マスタは、マスタに到達するデータのうちから、ループバック転送から巡回転送に変化したデータを符号の変化に基づき検出(抽出)し、検出されたデータを破棄することができる。
上述の開示において、マスタ装置は、世代を割当てながらデータをリング配線に送出し、マスタ装置は、指令を送信したとき、その後にデータに割当てる世代を、当該指令送信前に割当られていた世代から変更し、マスタ装置は、リング配線から入来するデータのうち、現在、データに割当られる世代とは異なる世代が割当てられたデータを検出し破棄する。
上述の開示によれば、マスタ装置は、リング配線に送出するデータに割当てる世代を、切断からの復旧がなされて指令を送信する前後で変更する。これにより、マスタ装置は、マスタ装置に到達するデータのうち、指令送信時にループバックから巡回転送に変化したデータを、割当てられている世代に基づき検出し破棄することができる。
上述の開示において、マスタ装置は、ループバック転送から巡回転送への変化が発生した旨の通知を出力する。
上述の開示によれば、ループバック転送から巡回転送への変化が発生し、逆方向への巡回転送が発生している旨の通知を、ユーザに対し出力することができる。
上述の開示において、リング配線は、EtherCATネットワークを含む。
上述の開示によれば、EtherCATネットワークにおいて上記のマスタ装置の構成を適用することができる。
上述の開示に係るマスタ装置を備える演算処理装置が提供される。
上述の開示に係る演算処理装置を備えた、プログラマブルロジックコントローラが提供される。
本開示において、リング配線を含むネットワークが提供される。ネットワークは、リング配線に接続される複数のスレーブ装置と、複数のスレーブ装置を管理するマスタ装置と、を備え、複数のスレーブ装置は、リング配線の起点および終点となる第1スレーブ装置と、第1スレーブ装置の起点と終点との間に接続される複数の第2スレーブ装置とを含み、リング配線は、各第2スレーブ装置が、起点側から入来するデータを受付け、受付けたデータを終点側へ巡回転送させるための第1経路と、各複数のスレーブ装置が、隣接するスレーブ装置との間の経路が切断される場合に、自装置からデータをループバックするための第2経路とを構成可能であり、マスタ装置は、切断から復旧する場合に、第2経路を第1経路に切替えるための指令をループバックを実施するスレーブ装置に送信する指令手段を備え、指令の送信からリング配線の伝搬遅延時間に基づく時間が経過後に、リング配線にデータを送出する。
上述の開示によれば、リング配線が切断から復旧する場合に、マスタ装置は、リング配線において、指令が該当するスレーブに到達し指令が実行されてループバックの第2経路が第1経路に切替わるまでの所要時間を、伝搬遅延時間に基づく時間として見込み、この見込まれた時間が経過したタイミングで、新たなデータをリング配線に送出することが可能となる。この結果、送出されたデータは、第1経路で転送され得て、リング配線におけるループバック方向に巡回する逆巡回データの発生を抑制することができる。
本開示においては、リング配線に接続される複数のスレーブ装置を管理するマスタ装置が実施する方法が提供される。複数のスレーブ装置は、リング配線の起点および終点となる第1スレーブ装置と、第1スレーブ装置の起点と終点との間に接続される複数の第2スレーブ装置とを含み、リング配線は、各第2スレーブ装置が、起点側から入来するデータを受付け、受付けたデータを終点側へ巡回転送させるための第1経路と、各複数のスレーブ装置が、隣接するスレーブ装置との間の経路が切断される場合に、自装置からデータをループバックするための第2経路とを構成可能であり、方法は、切断から復旧する場合に、第2経路を第1経路に切替えるための指令をループバックを実施するスレーブ装置に送信するステップと、指令の送信からリング配線の伝搬遅延時間に基づく時間が経過後に、リング配線にデータを送出するステップとを備える。
上述の開示において、方法が実施されると、リング配線が切断から復旧する場合に、マスタ装置は、リング配線において、指令が該当するスレーブに到達し指令が実行されてループバックの第2経路が第1経路に切替わるまでの所要時間を、伝搬遅延時間に基づく時間として見込み、この見込まれた時間が経過したタイミングで、新たなデータをリング配線に送出することが可能となる。この結果、送出されたデータは、第1経路で転送され得て、リング配線におけるループバック方向に巡回する逆巡回データの発生を抑制することができる。
本開示によれば、リング配線における巡回データの発生を抑制することができる。
本実施の形態に係るPLCシステムの全体構成を示す模式図である。 本実施の形態に係るPLCシステムに含まれるプロセッサユニット10のハードウェア構成を示す模式図である。 本実施の形態に係るスレーブのハードウェア構成を示す模式図である。 本実施の形態に係る2つのスレーブ間のフレームの流れの一例を模式的に説明するための図である。 本実施の形態に係るリングトポロジにおけるフレームの経路の変化の一例を模式的に説明するための図である。 本実施の形態に係るフレームの構成の一例を模式的に示す図である。 本実施の形態に係るマスタの機能構成の一例を模式的に示す図である。 本実施の形態に係るスレーブの機能構成の一例を模式的に示す図である。 本実施の形態に係る切断/接続の経路の(ケース1)と(ケース2)の位置を模式的に示す図である。 本実施の形態に係る処理のフローチャートである。 本実施の形態に係る“第1モード”のフレームの流れを模式的に示す図である。 本実施の形態に係る“第1モード”のフレームの流れを模式的に示す図である。 本実施の形態に係る“第1モード”のフレームの流れを模式的に示す図である。 本実施の形態に係る“第1モード”のフレームの流れを模式的に示す図である。 本実施の形態に係る“第2モード”のフレームの流れを模式的に示す図である。 本実施の形態に係る“第2モード”のフレームの流れを模式的に示す図である。 本実施の形態に係る“第2モード”のフレームの流れを模式的に示す図である。 本実施の形態に係る“第2モード”のフレームの流れを模式的に示す図である。 本実施の形態に係る“第2モード”のフレームの流れを模式的に示す図である。 本実施の形態に係る“第2モード”のフレームの流れを模式的に示す図である。 本実施の形態に係る“第1モード”のフレームの他の流れを模式的に示す図である。 本実施の形態に係る“第1モード”のフレームの他の流れを模式的に示す図である。 本実施の形態に係る“第1モード”のフレームの他の流れを模式的に示す図である。 本実施の形態に係るマスタの機能構成の他の例を模式的に示す図である。 本実施の形態に係るスレーブの機能構成の他の例を模式的に図である。 本実施の形態に係る“第1モード”の処理のフローチャートの一例を示す図である。 本実施の形態に係るマスタの機能構成の他の例を模式的に示す図である。 本実施の形態に係る世代設定部の処理を説明するための図である。 本実施の形態に係るフレームの他の流れを模式的に示す図である。 本実施の形態に係るフレームの他の流れを模式的に示す図である。 本実施の形態に係るフレームの他の流れを模式的に示す図である。 本実施の形態に係るフレーム破棄部の処理のフローチャートの一例を示す図である。 本実施の形態に係るサポート装置で表示される画面の一例を示す図である。
本の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
本実施の形態では、ネットワーク構成の一例として、PLC(プログラマブルロジックコントローラ)を中心とする制御システムに適用されるケースを例示する。但し、このような制御システムとしては、PLCだけではなく、各種の産業用コンピュータを中心とした構成を採用することもできる。また、ネットワーク構成を適用する対象は制御システムに限定されない。
<A.適用例>
本発明が適用される場面の一例について説明する。図5を参照して、上記の制御システムは、例えばフィールドネットワークを構成するリング配線に接続される複数のスレーブを管理するマスタ10を備える。リング配線には、例えばEtherCATを適用することができる。
複数のスレーブは、リング配線の起点および終点となる第1スレーブ装置(分岐用スレーブ)と、第1スレーブ装置の起点と終点との間に接続される複数の第2スレーブ装置(スレーブ「A」、スレーブ「B」、スレーブ「C」およびスレーブ「D」)とを含む。第1スレーブ装置は、リング配線に接続された第2スレーブ装置とマスタ10との間でデータを分岐させながら両者の遣り取りを実現する、いわゆるジャンクションに相当する。マスタ10は、例えばPLCに相当し、第2スレーブはフィールドに備えられる制御対象(センサ、スイッチ、リレーなど)を接続する機器を含む。データは、例えばマスタ10から各スレーブに送信される制御用の指令、および第2スレーブからマスタ10に送信されるフィールド情報を含む。データは、例えばフレーム形式で構成されるが、フレーム形式に限定されない。
リング配線は、各第2スレーブ装置が、起点側から入来するデータを受付け、受付けたデータを終点側へ転送するための第1経路15(図5のStep0)と、各複数のスレーブ装置が、隣接するスレーブ装置との間の経路が切断される場合に、自装置からデータをループバック転送するための第2経路16(図5のStep1)とを構成可能である。このように、リング配線は、第1経路15と第2経路16とを冗長的に構成可能なジャンクション冗長化のリングトポロジを構成し得る。
マスタ10は、経路の切断が接続されて復旧する場合に(図5のStep2)、第2経路16を元の第1経路15に切替えるための指令(コマンド)を、ループバック転送を実施するスレーブ装置に送信する。Step1では、ループバック転送を実施するスレーブ「C」とスレーブ「D」は当該指令を受付けて、受付けた指令を実行する。指令の実行によって、例えば、復旧された経路に接続されているスレーブ「C」とスレーブ「D」の入出力ポートがオープンする。さらに、マスタ10は、上記の指令をリング配線に送信してからリング配線の伝搬遅延時間に基づく所定時間が経過した後に、リング配線に新たなデータを送出する。これにより、新たなデータが、リング配線において後述する逆巡回データとなることを防止できる。
本開示では、リング配線の切断および接続は、ケーブルの切断および接続などの物理的な事象を想定するが、切断または接続の事象は、物理層の事象に限定されない。例えば、物理層よりも上位層(例えば、コネクション層)での論理的な切断または接続の事象であっても本開示を適用することができる。
ここで、逆巡回データの発生を説明する。上記のように切断経路が接続されて復旧すると、スレーブ「C」とスレーブ「D」ではループバックは実施されなくなり、切断時にループバックで転送されていたデータはリング配線内を巡回し始める(図5のStep2)。この巡回の方向は、経路が切断されていない正常時(図5のStep0)におけるデータの流れる方向とは逆であるので、本実施の形態では「逆巡回」とも称する(図5のStep2)。逆巡回データは、マスタ10に到達しない。
その後、再接続された箇所が切断されると(図5のStep3)、再度、リング配線においては第2経路16が構成されて、逆巡回データは第2経路16を経由してマスタ10に到達する(図5のStep3)。マスタ10にとって、逆巡回データは誤入力となり得る。
本開示では、指令をリング配線に送信してからリング配線の伝搬遅延時間に基づく所定時間が経過した後に、例えば指令がリング配線を介して該当するスレーブ装置(例えば、スレーブ「C」とスレーブ「D」)に到達するまでの伝搬遅延時間に基づく所定時間が経過した後に、リング配線に新たなデータが送出される。
これにより、リング配線が切断から復旧する場合に、マスタ10は、リング配線において、指令が該当するスレーブに到達し指令が実行されてループバックの第2経路16が第1経路15に切替わるまでの所要時間を、伝搬遅延時間に基づく時間として見込み、この見込まれた時間が経過したタイミングで、新たなデータをリング配線に送出することが可能となる。この結果、送出されたデータは、第1経路15で転送され得て、リング配線におけるループバック方向に巡回する逆巡回データの発生を抑制することができる。
以下、本実施の形態のより具体的な応用例について説明する。
<B.PLCシステムの全体構成>
まず、制御システムの一形態である、本実施の形態に係るPLCシステム1の全体構成について説明する。図1は、本実施の形態に係るPLCシステム1の全体構成を示す模式図である。
図1を参照して、PLCシステム1は制御対象を制御するための制御システムであって、本開示に係るネットワークが適用されるシステムの一例である。PLCシステム1は、メイン処理装置2と、複数のリモート装置であるスレーブ40-0,40-1,40-2,40-3,40-4とを含む。メイン処理装置2およびスレーブ40-0,40-1,40-2,40-3,40-4は、PLCシステム1の少なくとも一部を構成する装置であり、ネットワーク4を介して接続されている。
ネットワーク4には、例えばTSN(Time-sensitive networking)規格に従いデータの到達時間が保証される、定周期通信を行なうバスまたはネットワークを採用することが好ましい。例えば、マシンコントロール用ネットワークの一例であるEtherCAT(登録商標)、汎用的なEthernet(登録商標)上に制御用プロトコルを実装した産業用オープンネットワークであるEtherNet/IP(登録商標)などの公知のプロトコルに係るネットワークを採用してもよい。
メイン処理装置2は、制御対象を制御するために必要なプログラム(ユーザプログラムおよびシステムプログラムなどを含む)を実行することで、図示しない外部のスイッチまたはセンサなどからの入力信号(以下、「フィールド情報」と称する)を収集する処理、収集したフィールド情報に基づいて制御演算を行なう処理、制御演算によって算出された指令値を外部のリレーやアクチュエータへ与える処理などを実現する。
メイン処理装置2は、PLCに相当し、その装置構成として、CPU(Central Processing Unit)などを含む演算処理装置としてのプロセッサユニット10と、1つ以上のIOユニット20と、電源ユニット30とを備える。プロセッサユニット10およびIOユニット20は、図示しない内部バスを介して互いにデータ通信可能に接続されている。電源ユニット30は、プロセッサユニット10およびIOユニット20へ適切な電圧の電力を供給する。
プロセッサユニット10は、制御対象を制御するために必要なプログラムを実行する演算部と、ネットワーク4を介したスレーブ40-0,40-1,40-2,40-3,40-4との通信を制御するための通信処理部に相当する通信コントローラ110とを含む。ネットワーク4を介した通信は、メイン処理装置2によって主体的に制御される。具体的には、プロセッサユニット10は、後述するタイマ115に基づく周期、または予め定められたタイミング、または規則に従って、ネットワーク4上を順次伝送されるデータを送出する。以下の説明においては、ネットワーク4上を順次伝送されるデータを「フレーム」とも称す。このような意味において、プロセッサユニット10を以下ではスレーブ40-0,40-1,40-2,40-3,40-4を管理する「マスタ10」と称する。また、スレーブ40-0,40-1,40-2,40-3,40-4は基本的に同様の構成を備えることから、これらスレーブに共通した構成を説明する場合は、「スレーブ40」と総称する。なお、図1のPLCシステム1では、4台のスレーブ40-0,40-1,40-2,40-3,40-4を備えるが、スレーブの台数は4台に限定されない。
スレーブ40は、外部のスイッチまたはセンサなどのフィールド機器からのフィールド情報を受信し、ネットワーク4を介して、その受信したフィールド情報をマスタ10へ送信する。併せて、スレーブ40は、マスタ10からネットワーク4を介して受信した指令値を、外部のリレーやアクチュエータのフィールド機器へ出力する。あるいは、スレーブ40は、ネットワーク4を介して受信した指令値に従って自身で動作するものであってもよい。例えば、スレーブ40としては、演算機能を持たない単純なIOユニット、演算機能を有するIOユニット、モーションコントローラのようなアクチュエータを含む装置、などが想定される。
マスタ10の通信コントローラ110は、メイン処理装置2および1つ以上のスレーブ40が扱うデータを含むデータ列(本実施の形態では、「フレーム50」に相当する)のネットワーク4上での伝送を管理するように構成されている。
図1に示されるように、ネットワーク(ネットワークシステム)は、マスタ10と複数のスレーブ40とで構成されている。マスタ10は、リングトポロジを含むネットワークを構成する複数のスレーブ40-0~40-4を管理する。また、マスタ10は、外部の情報処理装置であるサポート装置200に通信可能に接続されている。サポート装置200は、ディスプレイ209を備える。
リングトポロジを説明するために、スレーブ40-0を分岐用スレーブ40-0と称し、スレーブ40-1~40-4を、それぞれ、スレーブ「A」、スレーブ「B」、スレーブ「C」およびスレーブ「D」とも称する。また、図1では、各スレーブが有するポートとして、主にフレーム50が入来する入力ポートINおよび主にネットワーク4上にフレーム50を送出する出力ポートOUTが示される。
分岐用スレーブ40-0は、リングトポロジの起点および終点となるスレーブであって、リングトポロジを構成するスレーブである。スレーブ「A」、スレーブ「B」、スレーブ「C」およびスレーブ「D」はこの順番でディジーチェーン接続されて、ディジーチェーン接続されたスレーブ群は、分岐用スレーブ40-0が有する起点に対応の第1出力ポートOUT1および終点に対応の第2出力ポートOUT2との間に接続される。さらに、分岐用スレーブ40-0の入力ポートINには、マスタ10が接続される。
分岐用スレーブ40-0の第1出力ポートOUT1および第2出力ポートOUT2は、それぞれ、スレーブ「A」の入力ポートINおよびスレーブ「D」の出力ポートOUTに接続される。ディジーチェーンで接続されたスレーブ群において、各スレーブ40の出力ポートOUTは、隣接するスレーブ40の入力ポートINに接続される。これにより、マスタ10からネットワーク4の送出されたフレーム50は、分岐用スレーブ40-0を経て、ディジーチェーン接続された各スレーブ40を経由し、その後、分岐用スレーブ40-0を経て、マスタ10に戻る。したがって、マスタ10は、リングトポロジを巡回するフレーム50を介して各スレーブ40との間でデータ(指令値またはフィールド情報)を遣り取りすることができる。
以下では、互いにネットワーク4のケーブルで接続された2つのスレーブ40の間で「IN-OUT関係」が規定される。具体的には、一方のスレーブ40の出力ポートOUTから他方のスレーブ40の入力ポートINへのデータ入力を、「OUTからINへの入力」とも称する。また、互いにケーブルで接続された2つのスレーブ40のうち、一方のスレーブ40の入力ポートINから他方のスレーブ40の出力ポートOUTへのデータ入力を、(以下、「INからOUTへの入力」とも称する。
<C.プロセッサユニット10のハードウェア構成>
図2は、本実施の形態に係るPLCシステム1に含まれるプロセッサユニット10のハードウェア構成を示す模式図である。図2を参照して、本実施の形態に係るマスタ10(すなわち、プロセッサユニット10)の装置構成について説明する。
図2を参照して、マスタ10は、通信処理部である通信コントローラ110に加えて、演算部であるプロセッサ100と、主記憶装置の一例である主メモリ102と、補助記憶装置の一例である不揮発性メモリ104と、内部バスコントローラ106と、タイマ115と、メモリカードインターフェイス114およびUSB(Universal Serial Bus)コントローラ112と、ネットワーク4が繋がる通信コントローラ110とを含む。これらのコンポーネントは、内部バス108を介して、互いにデータ通信可能に構成される。マスタ10は、さらに、ネットワーク4でフレーム50を送出するための出力ポート121およびネットワーク4からフレーム50が入来する入力ポート131を含む。主メモリ102は、DRAM(Dynamic Random Access Memory)またはSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。不揮発性メモリ104は、例えば、HDD(Hard Disk Drive)またはSSD(Solid State Drive)などの不揮発性記憶装置などで構成される。
説明の便宜上、マスタ10は、1つのプロセッサ100のみを備えるが、複数のプロセッサが実装されてもよい。なお、各プロセッサは、複数のコアを有していてもよい。マスタ10においては、プロセッサ100が1または複数のタスクを周期的に実行する。
プロセッサ100は、制御に係るプログラムを実行する。プロセッサ100は、不揮発性メモリ104などから必要なプログラムを読み出すとともに、主メモリ102に展開して実行する。制御に係るプログラムとしては、典型的には、ユーザプログラムおよびシステムプログラムを含む。
内部バスコントローラ106は、内部バス109を介してIOユニット20と接続され、プロセッサ100とIOユニット20との間のデータの遣り取りを仲介する。
メモリカードインターフェイス114は、メモリカード116を脱着可能に構成されており、メモリカード116に対してデータを書込み、メモリカード116から各種データ(ユーザプログラムまたはデータなど)を読出すことが可能になっている。ユーザプログラムは、メモリカード116から不揮発性メモリ104にロードされてもよい。
USBコントローラ112は、サポート装置200とマスタ10との通信を制御する。なお、サポート装置200との通信のための規格は、USBに限定されず、各種の通信規格を適用することができる。
通信コントローラ110は、ネットワーク4を介してスレーブ40と接続され、マスタ10とスレーブ40との間のデータ(指令およびフィールド情報など)の遣り取りを仲介する。より具体的には、通信コントローラ110は、共有メモリ111と、送信バッファ120と、送信回路122と、受信バッファ130と、受信回路132とを含む。送信回路122および受信回路132は、それぞれ、出力ポート121および入力ポート131に接続されて、接続されたポートを介してネットワーク4上にデータを送出し、ネットワーク4から入来するデータを受信する。
送信バッファ120および送信回路122は、通信コントローラ110から外部装置へのフレーム送出に係る処理を実現し、受信バッファ130および受信回路132は、外部装置から通信コントローラ110へのフレーム受信に係る処理を実現する。通信コントローラ110は共有メモリ111を有しており、プロセッサ100は、直接的には、共有メモリ111にアクセスして、データ(フィールド情報など)を書き込むとともに、データ(指令など)を取得する。つまり、共有メモリ111に書き込まれたデータは、送信バッファ120へ転送され、送信バッファ120から外部装置へ送出される。また、外部装置から取得したデータは、受信バッファ130で受信された後、共有メモリ111へ転送される。
通信コントローラ110は、ソフトウェアを用いて、その一部または全部を実現してもよい。あるいは、ASIC(Application Specific Integrated Circuit:特定用途向集積回路)やFPGA(Field-Programmable Gate Array)などのハード回路を用いて、その一部または全部を実現してもよい。
<D.スレーブ40の装置構成>
図3は、本実施の形態に係るスレーブ40のハードウェア構成を示す模式図である。図3を参照して、本実施の形態に係るスレーブ40の装置構成について説明する。
図3を参照して、スレーブ40は、プロセッサ400、タイマ403、入力ポート410、出力ポート420、受信回路(図中は、Rxと略す)424および433、転送回路(図中は、Txと略す)423および434を備える。
プロセッサ400は、入力ポート410または出力ポート420を介してネットワーク4とデータを送受信し、送受信するデータに所定処理を実施する。プロセッサ400は、ソフトウェアを実行することによりフレーム処理部440を含む所定処理を実現する。スレーブ40(分岐用スレーブは除く)のフレーム処理部440は、主に、入来するフレーム50と図示しないフィールド機器との間でのデータ(指令またはフィールド情報)の遣り取りを実施する。なお、プロセッサ400は、その一部または全部をソフトウェアで実現してもよく、プロセッサ回路として実現されてもよい。回路は、ASICまたはFPGAを含み得る。
入力ポート410は、受信回路424が接続されるポート411と、転送回路434が接続されるポート412とを含む。同様に、出力ポート420は、受信回路424が接続されるポート421と、転送回路423が接続されるポート422とを含む。プロセッサ400は、タイマ403に基づく周期、または予め定められたタイミング、または規則に従って、切替信号401と402を、それぞれ、入力ポート410および出力ポート420に出力する。入力ポート410は、切替信号401に従い、ポート410および411の一方をネットワーク4に接続し、出力ポート420は、切替信号402に従い、ポート422および421の一方をネットワーク4に接続する。
このような切替信号401と402によって、互いにネットワーク4で接続された2つのスレーブ40の間で上記に述べた「IN-OUT関係」が動的に切替られる。具体的には、ポート411と422がネットワーク4に接続される場合、「OUTからINへの入力」でフレーム50が転送されて、ポート412と421がネットワーク4に接続される場合、「INからOUTへの入力」でフレーム50が転送される。
<E.スレーブ間のデータの流れ>
図4は、本実施の形態に係る2つのスレーブ間のフレームの流れの一例を模式的に説明するための図である。図4は、図1のリングトポロジにおいて隣接する任意の2つのスレーブ40の間のフレーム50の流れを示す、例えばスレーブ「C」とスレーブ「D」間のフレーム50の流れを示す。図5は、本実施の形態に係るリングトポロジにおけるフレーム50の経路の変化の一例を模式的に説明するための図である。
図4では、破線の矢印は、フレーム50の流れ(経路)を表している。また、破線の矢印の上下の番号((i),(ii),(iii),…)は、フレーム50の流れの順序(経路の順序)を示している。以下では、説明の便宜上、経路(i)等と記載した場合には、番号(i)の経路を指すものとする。
図4と図5を参照して、ネットワーク4が切断されていない正常な場合のフレーム50の流れと、ネットワーク4の切断/接続(切断された後に接続)がされたときのフレーム50の流れとを説明する。
まず、正常な場合のフレーム50の流れを説明する。マスタ10からのフレーム50が、分岐用スレーブ40-0の起点側からスレーブ「C」の入力ポート410に入来すると(図4の(i)参照)、入力ポート410からフレーム処理部440にフレーム50が送られる(ii)参照)。フレーム処理部440は、入来するフレーム50を受付けて所定の処理を施す。その後、フレーム処理部440は、処理後のフレーム50を出力ポート420に送る((iii)参照)。
フレーム50は、出力ポート420から、ネットワーク4を介してスレーブ「D」に転送される。フレーム50は、スレーブ「D」の入力ポート410に転送される((iv)参照)。スレーブ「D」の入力ポート410にフレーム55が入来すると、入力ポート410は入来したフレーム50をフレーム処理部440に送信する((v)参照)。フレーム処理部440は、受信したフレーム50に対して所定の処理を行なう。その後、フレーム処理部440は、処理後のフレーム50を出力ポート420に送信する((vi)参照)。その後、フレーム50は、スレーブ「D」の出力ポート420から、図示されない分岐用スレーブ40-0を介してマスタ10に戻る。
このように、正常時は、スレーブ40間のフレーム50の流れは「OUTからINへの入力」に従う一方向への流れとなる(図5のStep0)。
これに対して、ネットワーク4による転送経路がスレーブ「C」とスレーブ「D」の間で切断された場合、フレーム50は次のように転送される。まず、上記の正常時のフレーム50の流れにおいて、スレーブ「C」のフレーム処理部440は、処理後のフレーム50を出力ポート420に送る((vi)参照)が、スレーブ「D」との接続が切断されている場合は、スレーブ「C」は、フレーム50を、スレーブ「C」の出力ポート420からフレーム処理部440を介することなく、入力ポート410に送信する((ix)参照)。このように、スレーブ「C」では、スレーブ「D」との接続が切断されている場合は、フレーム50を折返し転送する。ネットワーク切断時は、切断箇所のスレーブ40においてフレーム50が折返し転送されることで、正常時のフレーム50の流れとは逆向きの「OUTからINへの入力」に従う方向の流れが生じ得る。本実施の形態では、このようなスレーブ40におけるフレーム50の折返し方向への転送を「ループバック」とも称する(図5のStep1)。
スレーブ「C」でループバックされたフレーム50は、図示しないスレーブ「B」→スレーブ「A」→分岐用スレーブ40-0と逆方向に転送されて、スレーブ「D」の出力ポート420に転送される。スレーブ「D」は、スレーブ「C」との接続が切断されていることから、出力ポート420で受付けたフレーム50を、分岐用スレーブ40-0に折返し転送し、フレーム50は分岐用スレーブ40-0からマスタ10に戻される。
その後、切断箇所が再接続されると、スレーブ40では折返しが実施されなくなって、すなわち切断時に折返し転送されていたフレーム50はリングトポロジ内を巡回し始める((vii)、(viii)、(ix)および(x)参照)。この巡回の方向は、正常時にフレーム50の流れる方向とは逆であるので、本実施の形態では「逆巡回」とも称する(図5のStep2)。逆巡回フレーム50は、各スレーブ40ではフレーム処理部440をバイパスする経路で転送される。逆巡回フレーム50は、マスタ10に到達しないために、マスタ10は、逆巡回フレーム50が生じたとき、データロスト(フレームロスト)を検出する。
その後、再接続された箇所が切断されると、通常時のフレーム50と巡回フレーム50の流れる方向は一致することになるために、マスタ10に通常のフレーム50と巡回フレーム50の両方が到達する(図5のStep3)。
(発明者の知見)
本実施の形態では、通常時のフレーム50および逆巡回フレーム50は、それぞれ、当該フレームを識別するインデックス53と転送するべきデータ本体であるデータグラム52を含む。マスタ10は、制御周期に基づく所定周期毎に所定範囲のインデックス53を付加してフレーム50を生成し転送する(図5のStep3.1)。逆巡回フレーム50は現在周期ではない過去の周期のフレーム50である可能性が高いが、マスタ10に到達した逆巡回フレーム50と現在の通常時のフレーム50との両者が一致しているインデックス53を有する場合は、マスタ10は、両フレームのうちどちらが正しいかを判別できなくなり、誤動作に繋がる。
発明者は、ジャンクション冗長化のリングトポロジでは、経路の切断/接続がなされた場合に、上記に述べた逆巡回フレームが発生するとの新たな知見を得て、この知見のもと、上記の誤動作回避のためには巡回フレーム50の発生を抑制する必要があるとの課題を見いだした。巡回フレーム発生の抑制に関する処理を以下に説明する。
(フレームの構成例)
本実施の形態に係るフレームの構成例を説明する。図6は、本実施の形態に係るフレームの構成の一例を模式的に示す図である。本実施の形態に係るフレーム50は、基本的に、コントロール情報を格納するためのヘッダ51とデータグラム52を含む(図6(A))。フレームの種類に応じて、ヘッダ51またはデータグラム52に格納される情報は異なる。
図6(B)を参照して通常時にリングトポロジのスレーブ40を巡回しながら転送されるフレーム55(以下、巡回フレーム55とも称する)のヘッダ51にはインデックス53、フレームの破棄の要否を判定するために参照されるRoundTripBit57、RoundTripBit57が設定された時間571、およびタイプ58が格納されて、データグラム52の領域に各スレーブ40(すなわち、スレーブ「A」、スレーブ「B」、スレーブ「C」およびスレーブ「D」)に対応の指令値またはフィールド情報であるデータ52A~52Dのそれぞれが格納される。このデータグラム52には、メッセージが格納されてもよい。RoundTripBit57は、初期値は「OFF」であって、巡回フレーム55がループバックされる場合に、スレーブ40によって「ON」が設定(書換)される。タイプ58は、フレーム50の種類を示す。本実施の形態では、フレーム50の種類は、通常の巡回フレーム55、後述するコマンドフレーム56などを含む。
図6(C)は、コマンドフレーム56の一例を示す。コマンドフレーム56は、ヘッダ51にタイプ58を格納し、データグラム52としてポートを開けるための指令であるオープンコマンド54を有する。オープンコマンド54は、オープンするべきスレーブ40のポートを識別するポート識別子59を含む。スレーブ40は、ポート識別子59から自己宛てのコマンドフレーム56であると検出すると、オープンコマンド54を実行し、当該ポートのオープン処理を実施する。オープン処理は、ネットワーク4の切断によりポートが閉じたスレーブ40の状態を、ポート開の状態に遷移させることを含む。より具体的には、当該ポートを介したフレーム転送(送受信)の処理を実行可能な状態(実行許可状態)に遷移させることを含む。なお、スレーブ40は、隣接するスレーブ40との間でネットワーク4が切断されたことを検出すると、隣接するスレーブ40を接続するポートを閉じて、スレーブ40をフレーム転送の処理を実行禁止する状態に遷移させる。
<F.巡回フレーム発生の抑制>
本実施の形態では、リングトポロジにおけるスレーブ40間の切断箇所が接続し直されて復旧した場合に、マスタ10は、復旧した箇所に接続されているスレーブ40の入出力ポートをオープンするためのコマンドフレーム56を送信し、その直後ではなく所定時間が経過したときに、リングトポロジへの通常時の巡回フレーム55の送出(転送)を開始する。
(F1.マスタ10の機能構成)
図7は、本実施の形態に係るマスタ10の機能構成の一例を模式的に示す図である。図7を参照して、マスタ10は、逆巡回フレームの発生を抑制するために巡回抑制部180と、不揮発性メモリ104に対応する記憶部185と、通信処理部186および187と、フレーム処理部188を含む。通信処理部187は、逆巡回フレーム発生の可能性示す通知を出力する通知部1871を有する。
記憶部185は、ネットワーク構成情報1851を含む。ネットワーク構成情報1851は、例えば、サポート装置200においてユーザによって事前に作成され、かつマスタ10に転送される。ネットワーク構成情報1851は、マスタ10とスレーブ40との間の接続関係、およびリングトポロジのネットワーク4に接続されるスレーブ40の接続関係を、マスタ10またはスレーブ40とその接続する入出ポートを識別する情報を含む。
フレーム処理部188は、通信処理部186を介してスレーブ40と通常時のフレームを遣り取りする。フレーム処理部188は、ユーザプログラムの演算結果である指令値を格納した巡回フレーム55を生成し通信処理部186に出力するとともに、スレーブ40から受信した巡回フレーム55のフィールド情報をユーザプログラムのために出力する受信処理を実施する。具体的には、フレーム処理部188は、制御周期に基づく周期毎に、当該周期における複数の巡回フレーム55をリングトポロジとの間で遣り取りする。
巡回抑制部180は、「指令手段」の一実施例であるポート制御部1810と、検出部1820とを備える。検出部1820は、経路の切断から接続への復旧を検出する復旧検出部1821と、リングトポロジのネットワーク4の接続状態を検出する接続状態検出部1822と、オープンコマンド54の出力態様(モード)を判定するモード判定部1823と、オープンコマンド54を送信後にフレーム処理部188にフレーム送信を許可する送信許可部1824とを備える。
通信処理部186は、通信コントローラ110に対応し、スレーブ40との間でデータの送受信を行うためのインターフェイスである。通信処理部187は、USBコントローラ112に対応し、サポート装置200との間でデータの送受信を行うためのインターフェイスである。通知部1871は、サポート装置200に上記の通知を出力する。
ポート制御部1810は、検出部1820からの出力に基づき、オープンコマンド54を格納したコマンドフレーム56を生成し、通信処理部186に出力する。このオープンコマンド54は、リングトポロジにおいて接続し直された切断経路を接続するスレーブ40の入力ポート410または出力ポート420をオープンするための指令を示す。
復旧検出部1821は、切断された経路に例えばユーザ操作によりケーブル(配線)が接続されて経路が復旧したことを、例えば外部からの入力により検出する。
接続状態検出部1822は、ネットワーク4の切断/接続箇所のリングトポロジ上の位置を検出する。この詳細は後述する。
モード判定部1823は、接続状態検出部1822が検出した切断/接続箇所の位置に応じて、ポート制御部1810によるオープンコマンド54の出力態様を異ならせる。ここでは、オープンコマンド54の出力態様として、切断/接続の検出位置が、分岐用スレーブ40-0の終点と隣接するスレーブ「D」との間である「第2モード」と、当該検出位置がリングトポロジの他の位置(すなわち、分岐用スレーブ40-0の起点~スレーブ「D」までの間の位置)である「第1モード」とを含む。各モードに応じたオープンコマンドの出力態様については後述する。
(F2.リングトポロジの切断箇所の検出)
接続状態検出部1822は、予め定められた検出用データを用いて、リングトポロジのネットワーク4の構成を検出する。
具体的には、検出用データは、第1のデータと、第1のデータが各スレーブ40を通過した時刻を示すタイムスタンプ情報を各スレーブ40から取得するための第2のデータとを含む。接続状態検出部1822は、先に第1のデータをリングトポロジのネットワーク4に送出する。接続状態検出部1822が、リングトポロジを介して戻ってきた第1のデータを受信した後に、第2のデータをネットワーク4に送出する。そして、接続状態検出部1822は、リングトポロジを介して戻ってきた第2のデータを受信する。
上記のタイムスタンプ情報は、各ポートをデータが通過したときの時間(時刻)である。たとえば、入力ポート410にデータ入力され、かつ出力ポート420から当該データ出力される場合、タイムスタンプ情報は、入力ポート410をデータ通過したときの時間と、出力ポート420をデータが通過したときの時間を当該ポートの識別子(スレーブ40の識別子とポートの識別子の組)を含む。タイムスタンプは、各スレーブ40内のデータ処理部で記憶され得る。
接続状態検出部1822は、タイムスタンプを利用することにより、データの各ポートの通過順序が分かる。また、ネットワーク4で互いに接続された2つのスレーブ40間において、「OUTからINへの入力」および「INからOUTへの入力」のいずれが行われているかを判断できる。接続状態検出部1822は、タイムスタンプによる取得されたポートの通過順序を示すデータと、ネットワーク構成情報1851が示す接続関係を示す情報を照合し、照合の結果に基づき、データが通過しているポートおよび通過していないポートの各識別子を特定することができる。
特定されたポート識別子に基づき、接続状態検出部1822は、リングトポロジにおいて切断経路の位置を検出することができ、また、当該切断経路が接続し直されたことも検出すことができる。
モード判定部1823は、接続状態検出部1822の出力と、ネットワーク構成情報1851とを照合し、照合の結果に基づき、接続/切断の検出位置を特定し、特定した検出位置に基づき「第2モード」であるか、または「第1モード」であるかを判定する。
(F3.スレーブ40の機能構成)
図8は、本実施の形態に係るスレーブ40の機能構成の一例を模式的に示す図である。図8を参照して、プロセッサ400は、ループバック部470、フレーム判別部430、フレーム処理部440、およびオープンコマンド54を実行するコマンド実行部450を備える。
ループバック部470は、隣接するスレーブ40との接続経路の遮断を検出したとき、自装置の「INからOUTへの入力」を「OUTからINへの入力」にループバックし、または「OUTからINへの入力」を「INからOUTへの入力」にループバックする。
フレーム判別部430は、入力ポート410または出力ポート420に入来するフレームのタイプ58に基づき、当該フレームの種類を判別する。フレーム判別部430は、入力ポート410に入来するフレームであって、タイプ58が“通常”を示すフレーム、すなわち通常時の巡回フレーム55は、フレーム処理部440に出力するが、出力ポート420に入来するフレームであって、タイプ58が“通常”を示すフレーム、すなわち逆巡回フレーム55はフレーム処理部440をバイパスして入力ポート410に出力する。
さらに、フレーム判別部430は、入力ポート410または出力ポート420に入来するフレームであって、タイプ58が“コマンド”を示すフレーム、すなわちコマンドフレーム56であって、ポート識別子59が自装置の入力ポート410または出力ポート420を示すと判定した場合は、コマンドフレーム56をコマンド実行部450に出力するとともに、入力ポート410または出力ポート420を介してネットワーク4に送出する。
コマンド実行部450は、フレーム判別部430から出力されたコマンドフレーム56のオープンコマンド54を実行する。これにより、オープンコマンド54で指示される入力ポート410または出力ポート420についてのポートオープン処理が実施される。
(F4.ポートオープンの実現方法)
本実施の形態では、切断された経路を接続するときは、マスタ10は、当該経路を接続しているスレーブ40の入力ポート410および出力ポート420のオープン順序を、リングトポロジ内の当該経路の位置に応じて適正化する。具体的には、マスタ10は、当該オープン順序を、逆巡回フレーム55(図5のStep2)が発生を抑制するような順序に決定する。本実施の形態に係る切断/接続の経路の位置は、(ケース1)と(ケース2)の位置を含む。図9は、本実施の形態に係る切断/接続の経路の(ケース1)と(ケース2)の位置を模式的に示す図である。図10は、本実施の形態に係る処理のフローチャートである。
図9(A)を参照して(ケース1)では、接続状態検出部1822は、スレーブ「C」の出力ポート420(port1)とスレーブ「D」の入力ポート410(port0)の間の経路が切断されていることを検出する。図9(B)を参照して(ケース2)では、接続状態検出部1822は、スレーブ「D」の終点となるポート(pot1)と分岐用スレーブ40-0の出力ポート420(port1)の間の経路が切断されていることを検出する。図9(A)の(ケース1)では、スレーブ「C」とスレーブ「D」との間の経路の切断であったが、切断箇所は、この位置に限定されず、分岐用スレーブ40-0の起点とスレーブ「A」の間、スレーブ「A」とスレーブ「B」の間、およびスレーブ「B」とスレーブ「C」の間のいずれであってもよい。
図10を参照して、接続状態検出部1822はリングトポロジにおける切断された経路を接続するスレーブ40の入力ポート410と出力ポート420を検出する(ステップS1)。復旧検出部1821は、外部入力に基づき、切断箇所が接続されて復旧したことを検出する(ステップS2)。モード判定部1823は、切断箇所が接続されたことが検出されたとき、ステップS1で検出されていた切断経路のスレーブ40の入力ポート410と出力ポート420を、ネットワーク構成情報1851と照合し、照合の結果に基づき、切断/接続箇所は(ケース1)および(ケース2)のいずれにあたるかを検出する。切断/接続箇所は(ケース1)にあたると検出されると、モード判定部1823はポートオープンを「第1モード」に従い実施すると判定し(ステップS3で“第1モード”)、ポート制御部1810は“第1モード”に従いオープンコマンド54を送信する(ステップS4)。
切断/接続箇所は(ケース2)にあたると検出されると、モード判定部1823はポートオープンを「第2モード」に従い実施すると判定し(ステップS3で“第2モード”)、ポート制御部1810は“第2モード”に従いオープンコマンド54を送信する(ステップS5)。
送信許可部1824は、ステップS4またはステップS5においてオープンコマンド54が送信されてから、例えば所定時間が経過したことを検出したことに応じてフレーム送信許可をフレーム処理部188に出力する(ステップS6)。フレーム処理部188は、送信許可部1824からの送信許可を受信したことに応じて通常時の巡回フレーム55のリングトポロジへの送信を開始する(ステップS7)。
(F4-1.「第1モード」におけるポートのオープン順序)
図11~図14は、本実施の形態に係る“第1モード”のフレームの流れを模式的に示す図である。図11~図14の太線矢印は、フレーム50の流れる方向を示している。図11~図14を参照して、ステップS4(図10)の処理を説明する。図11~図14では、分岐用スレーブ40-0とスレーブ「A」との間の経路が切断されている。したがって、接続状態検出部1822は、分岐用スレーブ40-0の出力ポート420の識別子portY(図11)とスレーブ「A」の入力ポート410の識別子portX(図11)を出力する。
図11では、マスタ10は、通常時の巡回フレーム55(図中はCyclicフレーム55と示す)に続いて、コマンドフレーム56をリングトポロジに送信する。ポート制御部1810は、接続状態検出部1822の出力に基づき、portXのオープンコマンド54とportYのオープンコマンド54の両方を格納したコマンドフレーム56を生成し、リングトポロジに送出する(図11のステップS41)。マスタ10は、当該コマンドフレーム56の送信直後に、通常時の巡回フレーム55などのフレームを送信しない。
ステップS41で送出されたコマンドフレーム56が、分岐用スレーブ40-0に到着すると、分岐用スレーブ40-0のコマンド実行部450は、自己宛のオープンコマンド54と判定し、当該オープンコマンド54を実行する(図12のステップS42)。これにより、分岐用スレーブ40-0のportYがオープンする。マスタ10は、コマンドフレーム56の送信直後にフレームを送信しないので、オープンしたportYを通過してportXに入来するフレームは存在しない。
portYがオープンされると、通常時の巡回フレーム55とコマンドフレーム56は、「OUTからINへの入力」に従う一方向への流れに従い、分岐用スレーブ40-0のポート410、スレーブ「D」、スレーブ「C」、スレーブ「B」およびスレーブ「A」に到達する。スレーブ「A」のコマンド実行部450は、コマンドフレーム56は自己宛のフレームであると判定し、コマンドフレーム56のオープンコマンド54を実行する(図13のステップS43)とともに、コマンドフレーム56および巡回フレーム55はスレーブ「A」でループバックされる(図13)。ループバックされた巡回フレーム55とコマンドフレーム56は、マスタ10に戻される(図14)。
これにより、portXがオープンするが、マスタ10は、コマンドフレーム56の送信直後にフレームを送信していないので、オープンしたportXを通過してportYに入来するフレームは存在しない。すなわち、逆巡回フレームが発生しない。
送信許可部1824は、マスタ10がコマンドフレーム56を送信後から所定時間経過したことを検出すると、送信許可を出力し、フレーム処理部188は送信許可を受付けると、通常時の巡回フレーム55を生成しリングトポロジに送出する(図10のステップS6,S7)。
送信許可部1824が計時する上記の所定時間は、リング配線であるネットワーク4におけるフレーム50の伝搬遅延時間に基づいている。より具体的には、所定時間は、コマンドフレーム56がマスタ10から送出されて戻ってくるまでの所要時間(伝搬遅延時間)、またはコマンドフレーム56がリングトポロジを一巡する所要時間(伝搬遅延時間)に基づいている。この所要時間は予め推定(計算)されている。なお、送信許可部1824による送信許可出力のタイミングは、コマンドフレーム56の伝播遅延時間に基づくものとして、例えば、マスタ10が、リングトポロジから戻されたコマンドフレーム56の到達を検出したときであってもよい。
(F4-2.「第2モード」におけるポートのオープン順序)
図15~図20は、本実施の形態に係る“第2モード”のフレームの流れを模式的に示す図である。図15~図20の太い矢印は、フレーム50の流れる方向を示している。図15~図20を参照して、ステップS5(図10)の処理を説明する。図15~図20は、分岐用スレーブ40-0の終点のportZとスレーブ「D」の出力ポート420であるportYとの間の経路が切断されている。したがって、接続状態検出部1822は分岐用スレーブ40-0のポートの識別子portZ(図15)とスレーブ「D」の出力ポート420の識別子portY(図15)を出力する。
図15では、マスタ10は、通常の巡回フレーム55に続いて、コマンドフレーム56をリングトポロジに送信する。ポート制御部1810は、接続状態検出部1822の出力に基づき、portYのオープンコマンド54のみを格納したコマンドフレーム56を生成し、リングトポロジに送出する(図15のステップS51)。マスタ10は、当該コマンドフレーム56の送信直後に、通常時の巡回フレーム55などのフレームを送信しない。
通常時の巡回フレーム55とコマンドフレーム56は、まず、分岐用スレーブ40-0に到達する。通常時の巡回フレーム55とコマンドフレーム56は分岐用スレーブ40-0を通過する(図16)。仮に、コマンドフレーム56に分岐用スレーブ40-0のportZのオープンコマンド54が格納されていると、当該オープンコマンド54が実行されてportZが開き、戻ってくるフレーム50の全てはportZを介してスレーブ「D」に転送される逆巡回フレームとなってしまう。これを回避するために、マスタ10は、この時点でportZのオープンコマンド54を送信しない。
通常時の巡回フレーム55とコマンドフレーム56は、まず、分岐用スレーブ40-0を通過すると、スレーブ「A」、スレーブ「B」およびスレーブ「C」を通過しスレーブ「D」に到達する。コマンドフレーム56がスレーブ「D」に到着すると、スレーブ「D」のコマンド実行部450は、自己宛のオープンコマンド54と判定し、当該オープンコマンド54を実行する(図17のステップS61)。これにより、スレーブ「D」のportYがオープンする。
portYがオープンすると、通常時の巡回フレーム55とコマンドフレーム56は、「OUTからINへの入力」に従う一方向への流れに従い、スレーブ「D」の入力ポート410、スレーブ「C」、スレーブ「B」、スレーブ「A」および分岐用スレーブ40-0を介してマスタ10に到達する(図18)。
マスタ10は、コマンドフレーム56の送信直後にフレームを送信していないので、portYのオープン直後に逆巡回フレームは発生しない。
送信許可部1824は、マスタ10がコマンドフレーム56を送信後から所定時間経過したことを検出すると、送信許可を出力し、フレーム処理部188は送信許可を受付けると、通常時の巡回フレーム55などのフレーム50を生成しリングトポロジに送出する(図10のステップS6,S7)。
次の周期にマスタ10は所定コマンドを格納したコマンドフレーム56を送信する。このコマンドフレーム56が「INからOUTへの入力」に従う方向に転送されて、オープンされたスレーブ「D」のportYを経て分岐用スレーブ40-0にportZに入来すると、分岐用スレーブ40-0は所定コマンドを実行する。これにより、portZが所定コマンドによりオープンされて、このコマンドフレーム56はportZで消失する(図19)。この所定コマンドを用いたportZをオープンする処理はEtherCATのASICの仕様に従っている。
さらに送信許可部1824が計時する当該所定時間経過後に、マスタ10は次の周期の通常の巡回フレーム55を送信する。当該巡回フレーム55は「INからOUTへの入力」に従う方向に転送されて、オープンされたスレーブ「D」のportYおよび分岐用スレーブ40-0のportZを経て、マスタ10に戻る(図20)。
送信許可部1824が計時する当該所定時間は、リング配線の伝搬遅延時間に基づく時間に基づいている。具体的には、所定コマンドのコマンドフレーム56がマスタ10から送出されて戻ってくるまでの所要時間(伝搬遅延時間)に基づいている。
<G.巡回フレームの検出と破棄>
本実施の形態では、マスタ10は、逆巡回フレームが到達したことを検出すると、到達した逆巡回フレームを破棄する方法を説明する。この方法は、(ケース1)に適用することができる。
図21~図23は、本実施の形態に係る“第1モード”のフレームの他の流れを模式的に示す図である。図24は、本実施の形態に係るマスタ10の機能構成の他の例を模式的に示す図である。図25は、本実施の形態に係るスレーブ40の機能構成の他の例を模式的に図である。図26は、本実施の形態に係る“第1モード”の処理のフローチャートの一例を示す図である。
図25を参照して、スレーブ40のプロセッサ400は、図8の構成に追加してビット設定部460を備える。ビット設定部460は、スレーブ40に到達する巡回フレーム55のうち、フレーム処理部440をバイパスされる巡回フレーム55(すなわち、逆巡回フレーム)のRoundTripBit57を「ON」に設定し、ネットワーク4に送出する。なお、マスタ10はコマンドフレーム56をリントポロジに送出するとき、RoundTripBit57に初期値は「OFF」を設定している。
図24を参照して、マスタ10は図7の構成に追加して、フレーム破棄部189を備える。フレーム破棄部189は、通信処理部186が受信しフレーム処理部188に出力するフレームのうちから逆巡回フレームを検出(抽出)し破棄する。具体的には、フレーム破棄部189は、マスタ10に到達した巡回フレーム55のうちから、RoundTripBit57が「ON」である巡回フレーム55を検出(抽出)し破棄する。これにより、例えば、現在の周期ではない、過去の周期の巡回フレーム55に相当する逆巡回フレームが、通信処理部186からフレーム処理部188に出力されることが防止されて、ユーザプログラムの処理対象から逆巡回フレームを排除することができる。
図21~図23の太線矢印は、フレーム50の流れる方向を示している。図21~図23を参照して、ステップS4(図10)の他の処理を説明する。図21~図23では、分岐用スレーブ40-0とスレーブ「A」との間の経路が切断されている。したがって、接続状態検出部1822の出力は、分岐用スレーブ40-0の出力ポート420の識別子portY(図21)とスレーブ「A」の入力ポート410の識別子portX(図21)を示す。
マスタ10は、通常の巡回フレーム55に続いて、2つのコマンドフレーム56をリングトポロジに順に送出し、直後にメッセージのフレーム55を送信する。1番目に送出されるコマンドフレーム56はportYのオープンコマンド54を格納し、2番目に送出されるコマンドフレーム56はportXのオープンコマンド54を格納している。
ポート制御部1810は、接続状態検出部1822の出力に基づき、1番目のコマンドフレーム56と2番目のコマンドフレーム56を生成し、リングトポロジに順に送出する(図21のステップS45)。
分岐用スレーブ40-0は、1番目の巡回フレーム55とportYのオープンコマンド54を格納したコマンドフレーム56の2つのフレーム(これを、‘先の2つのフレーム’と呼ぶ)を受信すると、受信したコマンドフレーム56に格納されたportYのオープンコマンド54を実行し、portYはオープンする。
そして、先の2つのフレームは、「OUTからINへの入力」に従い分岐用スレーブ40-0からスレーブ「D」、スレーブ「C」およびスレーブ「B」の方向に転送されてスレーブ「A」に到達する。また、分岐用スレーブ40-0は、portXのオープンコマンド54のコマンドフレーム56およびメッセージのフレーム55の2つのフレーム(これを、‘後の2つのフレーム’と呼ぶ)を受信して、受信した後の2つのフレームを、オープンしたportYを介して、スレーブ「A」に転送する。スレーブ「A」のportXはオープンしていないために、後の2つのフレームはスレーブ「A」のportXで消失する。このとき、スレーブ「A」のportXはオープンする。この動作は、EtherCATのASICの仕様に従っている。これにより、分岐用スレーブ40-0とスレーブ「A」との間の経路は切断から復旧する。
スレーブ「A」は、先の2つのフレームのうち巡回フレーム55を受信すると、ループバック部470は、portXがオープンしていないために当該巡回フレーム55をループバックする。このループバックにより、巡回フレーム55は、「OUTからINへの入力」に従う方向に逆巡回する。ループバック部470によってループバックが実施されるときビット設定部460は、ループバックされた巡回フレーム55のRoundTripBit57をONに設定するとともに、ヘッダ51にRoundTripBit57をOFFからONに設定した時間571を格納する。なお、portYのオープンコマンド54のコマンドフレーム56は逆巡回フレームとなる。
以降、マスタ10がリングトポロジに送出する巡回フレーム55も、「OUTからINへの入力」に従い分岐用スレーブ40-0からスレーブ「D」、スレーブ「C」およびスレーブ「B」の方向に転送されてスレーブ「A」に到達して、スレーブ「A」でRoundTripBit57がONに設定されて、ループバックされる。その後、スレーブ「A」でループバックされた全ての巡回フレーム55は、マスタ10に到達する。
また、上記のEtherCATのASICの仕様によりportXがオープンした後に、先の2つのフレーム(すなわち、「OUTからINへの入力」に従い分岐用スレーブ40-0からスレーブ「D」、スレーブ「C」およびスレーブ「B」の方向に転送され先の2つのフレーム)がスレーブ「A」に到達するケースを説明する。このケースでは、当該先の2つのフレームは、オープンしているportXを介して、「OUTからINへの入力」に従い、スレーブ「A」から分岐用スレーブ40-0、スレーブ「D」、スレーブ「C」、スレーブ「B」およびスレーブ「A」と逆巡回する。その後、再度、分岐用スレーブ40-0とスレーブ「A」との間の経路が切断されたとき、逆巡回していた先の2つのフレームは、スレーブ「A」でループバックされマスタ10に到達する。このループバック時に、先の2つのフレームは、スレーブ「A」でRoundTripBit57がONに設定される。
マスタ10は、リングトポロジから到達する巡回フレーム55を受付けると、フレーム破棄部189は、受付けた巡回フレーム55のうちRoundTripBit57がONを示す逆巡回フレームを検出して破棄する(図23のステップS47)。
(G1.巡回フレームの検出と破棄)
図26を参照して、マスタ10のフレーム破棄部189の処理を説明する。なお、図26以降の図では、インデックスを“Index”とも表記する。まず、フレーム破棄部189は、マスタ10が受付けた巡回フレーム55のインデックス53の値を、現在周期のインデックス値の範囲と比較し、比較の結果に基づき、インデックス53が当該範囲内の値に該当するか否かを判断する(ステップS51)。ここでは、インデックス53の値は、所定周期毎に異なる所定範囲内の値を示す。したがって、インデックス53の値が現在の所定周期の範囲内に該当しないと判定される場合(ステップS51でNO)、フレーム破棄部189は受付けた巡回フレーム55を破棄する(ステップS59)。
インデックス53の値が現在の所定周期の範囲内に該当すると判定された場合(ステップS51でYES)、フレーム破棄部189は受付けた巡回フレーム55のRoundTripBit57がONを示すか否かを判定し(ステップS53)、ONを示すと判定した場合(ステップS53でYES)、フレーム破棄部189は受付けた巡回フレーム55を破棄する(ステップS59)。一方、RoundTripBit57がONを示さない(すなわち、OFFを示す)と判定された場合(ステップS53でNO)、フレーム破棄部189は、巡回フレーム55の時間571に基づき、RoundTripBit57がONに設定されてから伝搬遅延時間に基づく所定時間が経過したか否かを判定する(ステップS55)。
フレーム破棄部189は、RoundTripBit57がONに設定されてから未だ所定時間が経過していないと判定すると(ステップS55でNO)、受付けた巡回フレーム55を破棄する(ステップS59)が、RoundTripBit57がONに設定されてから所定時間が経過したと判定すると(ステップS55でYES)、巡回フレーム55はフレーム破棄部189によって破棄されずにフレーム処理部188によりフレームの受信処理が実行される(ステップS57)。
図26の処理によれば、マスタ10は、到達する巡回フレーム55をインデックス53、RoundTripBit57および時間571を用いて、段階的にフィルタリングする。これにより、マスタ10は、リングトポロジから到達する巡回フレーム55のうち逆巡回フレームに該当する可能性がある巡回フレーム55の検出の確実性を向上させることができる。
(G2.巡回フレームの検出と破棄の他の例)
マスタ10が、到達する逆巡回フレームを検出するためのインデックス53の値(番号)の採番方法を説明する。この方法は、(ケース1)と(ケース2)の両方に適用することができる。図27は、本実施の形態に係るマスタ10の機能構成の他の例を模式的に示す図である。図27を参照して、マスタ10は、図7の構成に追加して、世代設定部190およびフレーム破棄部191を備える。図28は、本実施の形態に係る世代設定部190の処理を説明するための図である。図29~図31は、本実施の形態に係るフレームの他の流れを模式的に示す図である。図32は、フレーム破棄部191の処理のフローチャートの一例を示す図である。
本実施の形態では、マスタ10が、所定周期、例えば制御周期に基づくに所定周期毎にフレーム50をリングトポロジに送出するとき、送出されるフレーム50の世代を所定周期毎に管理するためのインデックス53を設定する。具体的には、世代設定部190は、通信処理部186が巡回抑制部180またはフレーム処理部188から受付けるフレーム50(コマンドフレーム56または通常の巡回フレーム55)のヘッダ51に世代管理のためのインデックス53を設定し、通信処理部186は、インデックス53が設定されたフレーム50をリングトポロジに送出する。
図28を参照して、世代設定部190は、タイマ115の出力に同期しながら値をインデックス番号の有効範囲291内でインクリメントし、インクリメントした値をインデックス53に設定する。有効範囲291は、複数の特定の有効範囲293に分割され得る。世代設定部190は、所定周期毎に特定の有効範囲293内でインデックス53の値をインクリメントする。これにより、フレーム50は、所定周期毎に異なる有効範囲293の値を示すインデックス53、すなわち世代が割当てられてリングトポロジに送出される。
世代設定部190は、例えば、所定周期毎に値を0~1022の範囲でインクリメントするとともに、ポート制御部1810からコマンドフレーム56が出力されたとき、世代設定部190は、巡回フレームを検出するために、次の所定周期から有効範囲293を変更する、すなわち巡回フレーム55に割当てる世代を変更する(図28のステップS292)。例えば、有効範囲293が「0~1022」でインクリメントされたインデックス53がフレーム50に割当てられる場合に、コマンドフレーム56が出力されたとき、世代設定部190は、次の所定周期から、有効範囲293を現在の「0~1022」から「1023~2046」に変更する。したがって、コマンドフレーム56が送出される毎に、次の所定周期で送出されるフレームは次の世代のフレームに切替えられる。
図29~図31のフレームの流れを参照して、逆巡回フレームの検出を説明する。マスタ10が、ある所定周期において有効範囲293が「A」(例えば、0~1022)である通常の巡回フレーム55を送信中に、分岐用スレーブ40-0のportYとスレーブ「A」のportXの間で経路が切断されると、通常の巡回フレーム55は切断箇所でループバックされる。マスタ10は、経路切断を検出すると、ポート制御部1810がportYのオープンコマンド54のコマンドフレーム56と、portXのオープンコマンド54のコマンドフレーム56を順番に送信し、続いてメッセージの巡回フレーム55を送信する(図29)。この場合、portYのオープンコマンド54のコマンドフレーム56が分岐用スレーブ40-0に到達するとportYはオープンするが、portXは未だオープンしていない。そのため、以降に続くportXのオープンコマンド54のコマンドフレーム56とメッセージの巡回フレーム55は分岐用スレーブ40-0,スレーブ「D」、スレーブ「C」、スレーブ「B」およびスレーブ「A」の方向に転送される。portXのオープンコマンド54のコマンドフレーム56がスレーブ「A」に到達すると、スレーブ「A」においてportXのオープンコマンド54が実行されてportXがオープンする。これにより、ループバックされていた有効範囲「A」のコマンドフレーム56は、リングトポロジ内で逆巡回を開始する(図29)。
マスタ10では、世代設定部190は、ポート制御部1810からコマンドフレーム56が出力されたことに応じて、次の所定周期からリングトポロジに送出されるフレーム50のインデックス53の有効範囲293を「A」から「B」に変更する(図30)。その後は、マスタ10は、有効範囲293が「B」を示すインデックス53のフレーム50をリングトポロジに送出する。
再度、経路が切断されると、逆巡回していた有効範囲293が「A」のフレーム50は切断箇所でループバックされて、マスタ10に到達する(図31)。このとき、フレーム破棄部191は、図32のフレーム破棄の処理を実施する。
図32を参照して、フレーム破棄部191は、通信処理部186がリングトポロジから受付けるフレーム50のインデックス53の値を、世代設定部190が示す現在の有効範囲293の値と比較し、比較の結果に基づき、当該フレーム50のインデックス53の値が有効であるか否かを判定する(ステップS21)。
図31の場合、マスタ10が受付けるフレーム50のインデックス53は有効範囲293の「A」の値を示すのに対して、世代設定部190が示す現在の有効範囲293は「B」の値である。したがって、フレーム破棄部191は、受付けたフレーム50のインデックス53の値は現在の有効範囲293に該当しないことに基づき、インデックス53は有効でないと判定し(ステップS21でNO)、当該フレーム50がフレーム処理部188に出力されないように破棄する(ステップS25)。
一方、フレーム破棄部191は、受付けたフレーム50のインデックス53の値は現在の有効範囲293に該当することに基づき、インデックス53は有効であると判定すると(ステップS21でYES)、フレーム破棄部191は当該フレーム50を破棄しない。したがって、受付けられたフレーム50に対して、フレーム処理部188によって受信処理が実行される(ステップS23)。
世代設定部190およびフレーム破棄部191によれば、マスタ10にリングトポロジから到達するフレーム50のうち、当該フレーム50のインデックス53が現在の有効範囲293に該当しないフレーム、すなわち逆巡回フレームのみを検出(抽出)して破棄することができる。
なお、世代設定部190により設定された世代(インデックス53)を用いた巡回フレームの検出は、ビット設定部460によって設定されるRoundTripBit57を用いた巡回フレームの検出と組合わせて実行されてもよい。
<H.巡回フレーム発生の通知>
本実施の形態では、通知部1871は、ループバック転送から巡回転送への変化により逆巡回フレームが発生した可能性がある旨の通知を出力する。例えば、マスタ10が、リングトポロジにおけるフレームロストを検出したとき、通知部1871は、上記の通知を出力する。
具体的には、通信処理部186は、リングトポロジから受信するフレーム50のインデックス53に基づきフレームロストを検出する。通信処理部186は、リングトポロジに送出したフレーム50のインデックス53と、リングトポロジから到達するフレーム50のインデックス53の値どうしを照合する。通信処理部186は、照合の結果に基づき、各所定周期において到達したフレーム50のインデックス53の値が当該所定周期において送出したフレーム50のインデックス53の値に一致したとき、送出したフレーム50は全てマスタ10に戻ったことを判定する。これに対して、当該所定周期において到達したフレーム50のインデックス53の値が当該所定周期において送出したフレーム50のインデックス値と不一致であったときは、送出したフレーム50は全てがマスタ10に戻っていないことを判定する。すなわち、フレームロストの発生を検出する。フレームロストの原因の1つは、逆巡回フレームの発生である。したがって、通知部1871は、通信処理部186によってフレームロストの発生が検出されたとき、逆巡回フレーム発生の可能性を示す通知を生成し、通信処理部187を介してサポート装置200に出力する。
図33は、本実施の形態に係るサポート装置200で表示される画面の一例を示す図である。図33の画面は、通知部1871からの通知に基づき、サポート装置200で表示される。サポート装置200は、通知部1871から通知を受信すると、システム定義変数を用いて逆巡回フレームの発生の可能性を示す通知をディスプレイ209などに出力する。図33では、ネットワーク構成情報1851に基づくリングトポロジを含むネットワーク構成を示す画像に関連付けて、通知に基づき「巡回フレームが発生した可能性がある」旨のメッセージ1091が表示される。
また、図33の画面では、リングトポロジのネットワーク構成の画像において、接続状態検出部1822の出力に基づき、経路が切断され箇所を指示するマークを表示してもよい。
なお、逆巡回フレームの発生の検出方法は、フレームロストの発生を検出したことに限定されず、フレーム破棄部189または191によりフレーム破棄が実施されることに基づき検出されてもよい。
<I.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
リング配線(4)に接続される複数のスレーブ装置(40)を管理するマスタ装置(10)であって、
前記複数のスレーブ装置は、前記リング配線の起点および終点となる第1スレーブ装置(40-0)と、前記第1スレーブ装置の起点と終点との間に接続される複数の第2スレーブ装置(40-1、40-2、40-3、40-4)とを含み、
前記リング配線は、
各前記第2スレーブ装置が、起点側から入来するデータ(50)を受付け、受付けたデータを終点側へ巡回転送させるための第1経路(15)と、
各前記複数のスレーブ装置が、隣接するスレーブ装置との間の経路が切断される場合に、自装置から前記データをループバックするための第2経路(16)とを構成可能であり、
前記マスタ装置は、
前記切断から復旧する場合に、前記第2経路を前記第1経路に切替えるための指令(56)を前記ループバックを実施するスレーブ装置に送信する指令手段(1810)を備え、
前記指令の送信から前記リング配線の伝搬遅延時間に基づく時間が経過後に、前記リング配線にデータを送出する(1824)、マスタ装置。
[構成2]
前記各スレーブ装置は、隣接するスレーブ装置に繋がる経路が接続される第1ポート(410)および第2ポート(420)を有し、
各第2スレーブ装置は、前記第1経路が構成される場合、起点側から入来するデータを前記第1ポートで受付け、受付けたデータを前記第2ポートから終点側へ転送し、
前記指令は、検出された前記第1ポートからのデータ受付を可能にするオープン指令(54、59)および前記第2ポートからのデータ受付を可能にするオープン指令(54,59)を含み、
前記指令手段は、
切断経路のリング配線上の位置に応じて、前記第1ポートのオープン指令および前記第2ポートのオープン指令の送信順序を異ならせる、構成1に記載のマスタ装置。
[構成3]
前記マスタ装置は、さらに、
前記複数のスレーブ装置との通信に基づき、切断経路が接続されるスレーブ装置の第1ポートおよび第2ポートを検出する手段(1822)を備える、構成2に記載にマスタ装置。
[構成4]
前記データは、前記ループバックから前記巡回転送に変化したか否かを示す符号(57)を含み、
前記マスタ装置は、前記リング配線からの入来データのうち、前記符号が前記変化を示すデータを検出し破棄する(189)、構成2または3に記載のマスタ装置。
[構成5]
前記マスタ装置は、世代(293)を割当てながらデータをリング配線に送出し、
前記マスタ装置は、前記指令を送信したとき、その後にデータに割当てる世代を、当該指令送信前に割当られていた世代から変更し、
前記マスタ装置は、前記リング配線から入来するデータのうち、現在、データに割当られる世代とは異なる世代が割当てられたデータを検出し破棄する(191)、構成2から4のいずれか1に記載のマスタ装置。
[構成6]
前記マスタ装置は、ループバック転送から巡回転送への変化が発生した旨の通知を出力する(1871)、構成2から5のいずれか1に記載のマスタ装置。
[構成7]
前記リング配線は、EtherCATネットワークを含む、構成1から6のいずれか1に記載のマスタ装置。
[構成8]
構成1から7のいずれか1に記載にマスタ装置を備える演算処理装置。
[構成9]
構成8に記載に演算処理装置を備えた、プログラマブルロジックコントローラ。
[構成10]
リング配線(4)を含むネットワークであって、
前記リング配線に接続される複数のスレーブ装置(40)と、
前記複数のスレーブ装置を管理するマスタ装置(10)と、を備え、
前記複数のスレーブ装置は、前記リング配線の起点および終点となる第1スレーブ装置(40-0)と、前記第1スレーブ装置の起点と終点との間に接続される複数の第2スレーブ装置(40-1,40-2、40-3、40-4)とを含み、
前記リング配線は、
各前記第2スレーブ装置が、起点側から入来するデータを受付け、受付けたデータを終点側へ巡回転送させるための第1経路(15)と、
各前記複数のスレーブ装置が、隣接するスレーブ装置との間の経路が切断される場合に、自装置から前記データをループバックするための第2経路(16)とを構成可能であり、
前記マスタ装置は、
前記切断から復旧する場合に、前記第2経路を前記第1経路に切替えるための指令(56)を前記ループバックを実施するスレーブ装置に送信する指令手段(1810)を備え、
前記指令の送信から前記リング配線の伝搬遅延時間に基づく時間が経過後に、前記リング配線にデータを送出する(1824)、ネットワーク。
[構成11]
リング配線(4)に接続される複数のスレーブ装置(40)を管理するマスタ装置(10)が実施する方法であって、
前記複数のスレーブ装置は、前記リング配線の起点および終点となる第1スレーブ装置(40-0)と、前記第1スレーブ装置の起点と終点との間に接続される複数の第2スレーブ装置(40-1,40-2、40-3、40-4)とを含み、
前記リング配線は、
各前記第2スレーブ装置が、起点側から入来するデータを受付け、受付けたデータを前記終点側へ巡回転送させるための第1経路(15)と、
各前記複数のスレーブ装置が、隣接するスレーブ装置との間の経路が切断される場合に、自装置から前記データをループバックするための第2経路(16)とを構成可能であり、
前記方法は、
前記切断から復旧する場合に、前記第2経路を前記第1経路に切替えるための指令(56)を前記ループバックを実施するスレーブ装置に送信するステップ(S5、S4)と、
前記指令の送信から前記リング配線の伝搬遅延時間に基づく時間が経過後に、前記リング配線にデータを送出するステップ(S6、S7)とを備える、方法。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
1 システム、2 メイン処理装置、4 ネットワーク、10 マスタ、15 第1経路、16 第2経路、40 スレーブ、40-0 分岐用スレーブ、50 フレーム、55 巡回フレーム、51 ヘッダ、52 データグラム、53 インデックス、54 オープンコマンド、56 コマンドフレーム、58 タイプ、59 ポート識別子、180 巡回抑制部、186,187 通信処理部、188,440 フレーム処理部、189,191 フレーム破棄部、190 世代設定部、200 サポート装置、209 ディスプレイ、261 ケーブル切断箇所、291,293 有効範囲、430 フレーム判別部、450 コマンド実行部、460 ビット設定部、470 ループバック部、571 時間、1091 メッセージ、1810 ポート制御部、1820 検出部、1821 復旧検出部、1822 接続状態検出部、1823 モード判定部、1824 送信許可部、1851 ネットワーク構成情報、1871 通知部。

Claims (10)

  1. リング配線に接続される複数のスレーブ装置を管理するマスタ装置であって、
    前記複数のスレーブ装置は、前記リング配線の起点および終点となる第1スレーブ装置と、前記第1スレーブ装置の起点と終点との間に接続される複数の第2スレーブ装置とを含み、
    前記リング配線は、
    各前記第2スレーブ装置が、起点側から入来するデータを受付け、受付けたデータを終点側へ巡回転送させるための第1経路と、
    各前記複数のスレーブ装置が、隣接するスレーブ装置との間の経路が切断される場合に、自装置から前記データをループバックするための第2経路とを構成可能であり、
    前記マスタ装置は、
    前記切断から復旧する場合に、前記第2経路を前記第1経路に切替えるための指令を前記ループバックを実施するスレーブ装置に送信する指令手段を備え、
    前記指令の送信から前記リング配線の伝搬遅延時間に基づく時間が経過後に、前記リング配線にデータを送出し、
    前記各スレーブ装置は、隣接するスレーブ装置に繋がる経路が接続される第1ポートおよび第2ポートを有し、
    各第2スレーブ装置は、前記第1経路が構成される場合、起点側から入来するデータを前記第1ポートで受付け、受付けたデータを前記第2ポートから終点側へ転送し、
    前記指令は、検出された前記第1ポートからのデータ受付を可能にするオープン指令および前記第2ポートからのデータ受付を可能にするオープン指令を含み、
    前記指令手段は、
    切断経路のリング配線上の位置に応じて、前記第1ポートのオープン指令および前記第2ポートのオープン指令の送信順序を異ならせるマスタ装置。
  2. 前記マスタ装置は、さらに、
    前記複数のスレーブ装置との通信に基づき、切断経路が接続されるスレーブ装置の第1ポートおよび第2ポートを検出する手段を備える、請求項に記載にマスタ装置。
  3. 前記データは、前記ループバックから前記巡回転送に変化したか否かを示す符号を含み、
    前記マスタ装置は、前記リング配線からの入来データのうち、前記符号が前記変化を示すデータを検出し破棄する、請求項またはに記載のマスタ装置。
  4. 前記マスタ装置は、世代を割当てながらデータをリング配線に送出し、
    前記マスタ装置は、前記指令を送信したとき、その後にデータに割当てる世代を、当該指令送信前に割当られていた世代から変更し、
    前記マスタ装置は、前記リング配線から入来するデータのうち、現在、データに割当られる世代とは異なる世代が割当てられたデータを検出し破棄する、請求項からのいずれか1項に記載のマスタ装置。
  5. 前記マスタ装置は、ループバック転送から巡回転送への変化が発生した旨の通知を出力する、請求項からのいずれか1項に記載のマスタ装置。
  6. 前記リング配線は、EtherCATネットワークを含む、請求項1からのいずれか1項に記載のマスタ装置。
  7. 請求項1からのいずれか1項に記載にマスタ装置を備える演算処理装置。
  8. 請求項に記載に演算処理装置を備えた、プログラマブルロジックコントローラ。
  9. リング配線を含むネットワークであって、
    前記リング配線に接続される複数のスレーブ装置と、
    前記複数のスレーブ装置を管理するマスタ装置と、を備え、
    前記複数のスレーブ装置は、前記リング配線の起点および終点となる第1スレーブ装置と、前記第1スレーブ装置の起点と終点との間に接続される複数の第2スレーブ装置とを含み、
    前記リング配線は、
    各前記第2スレーブ装置が、起点側から入来するデータを受付け、受付けたデータを終点側へ巡回転送させるための第1経路と、
    各前記複数のスレーブ装置が、隣接するスレーブ装置との間の経路が切断される場合に、自装置から前記データをループバックするための第2経路とを構成可能であり、
    前記マスタ装置は、
    前記切断から復旧する場合に、前記第2経路を前記第1経路に切替えるための指令を前記ループバックを実施するスレーブ装置に送信する指令手段を備え、
    前記指令の送信から前記リング配線の伝搬遅延時間に基づく時間が経過後に、前記リング配線にデータを送出し、
    前記各スレーブ装置は、隣接するスレーブ装置に繋がる経路が接続される第1ポートおよび第2ポートを有し、
    各第2スレーブ装置は、前記第1経路が構成される場合、起点側から入来するデータを前記第1ポートで受付け、受付けたデータを前記第2ポートから終点側へ転送し、
    前記指令は、検出された前記第1ポートからのデータ受付を可能にするオープン指令および前記第2ポートからのデータ受付を可能にするオープン指令を含み、
    前記指令手段は、
    切断経路のリング配線上の位置に応じて、前記第1ポートのオープン指令および前記第2ポートのオープン指令の送信順序を異ならせる、ネットワーク。
  10. リング配線に接続される複数のスレーブ装置を管理するマスタ装置が実施する方法であって、
    前記複数のスレーブ装置は、前記リング配線の起点および終点となる第1スレーブ装置と、前記第1スレーブ装置の起点と終点との間に接続される複数の第2スレーブ装置とを含み、
    前記リング配線は、
    各前記第2スレーブ装置が、起点側から入来するデータを受付け、受付けたデータを終点側へ巡回転送させるための第1経路と、
    各前記複数のスレーブ装置が、隣接するスレーブ装置との間の経路が切断される場合に、自装置から前記データをループバックするための第2経路とを構成可能であり、
    前記方法は、
    前記切断から復旧する場合に、前記第2経路を前記第1経路に切替えるための指令を前記ループバックを実施するスレーブ装置に送信するステップと、
    前記指令の送信から前記リング配線の伝搬遅延時間に基づく時間が経過後に、前記リング配線にデータを送出するステップとを備え
    前記各スレーブ装置は、隣接するスレーブ装置に繋がる経路が接続される第1ポートおよび第2ポートを有し、
    各第2スレーブ装置は、前記第1経路が構成される場合、起点側から入来するデータを前記第1ポートで受付け、受付けたデータを前記第2ポートから終点側へ転送し、
    前記指令は、検出された前記第1ポートからのデータ受付を可能にするオープン指令および前記第2ポートからのデータ受付を可能にするオープン指令を含み、
    前記送信するステップでは、
    切断経路のリング配線上の位置に応じて、前記第1ポートのオープン指令および前記第2ポートのオープン指令の送信順序を異ならせる、方法。
JP2019162181A 2019-09-05 2019-09-05 マスタ装置、演算処理装置、プログラマブルロジックコントローラ、ネットワーク、および方法 Active JP7327017B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2019162181A JP7327017B2 (ja) 2019-09-05 2019-09-05 マスタ装置、演算処理装置、プログラマブルロジックコントローラ、ネットワーク、および方法
PCT/JP2020/009127 WO2021044652A1 (ja) 2019-09-05 2020-03-04 マスタ装置、演算処理装置、プログラマブルロジックコントローラ、ネットワーク、および方法
US17/635,381 US20220400031A1 (en) 2019-09-05 2020-03-04 Master device, arithmetic processing device, programmable logic controller, network, and method
CN202080056369.8A CN114245978B (zh) 2019-09-05 2020-03-04 主机装置、运算处理装置、控制器、网络系统以及方法
EP20861702.7A EP4027591A4 (en) 2019-09-05 2020-03-04 MASTER DEVICE, ARITHMETIC PROCESSING DEVICE, PROGRAMMABLE LOGIC CONTROLLER, NETWORK, AND METHOD

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019162181A JP7327017B2 (ja) 2019-09-05 2019-09-05 マスタ装置、演算処理装置、プログラマブルロジックコントローラ、ネットワーク、および方法

Publications (2)

Publication Number Publication Date
JP2021040288A JP2021040288A (ja) 2021-03-11
JP7327017B2 true JP7327017B2 (ja) 2023-08-16

Family

ID=74847456

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019162181A Active JP7327017B2 (ja) 2019-09-05 2019-09-05 マスタ装置、演算処理装置、プログラマブルロジックコントローラ、ネットワーク、および方法

Country Status (5)

Country Link
US (1) US20220400031A1 (ja)
EP (1) EP4027591A4 (ja)
JP (1) JP7327017B2 (ja)
CN (1) CN114245978B (ja)
WO (1) WO2021044652A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023006295A (ja) * 2021-06-30 2023-01-18 オムロン株式会社 通信装置、通信制御方法、および通信制御プログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010062861A (ja) 2008-09-03 2010-03-18 Fuji Electric Systems Co Ltd リング型ネットワークシステム及びリング型ネットワークシステムの復旧方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000196640A (ja) * 1998-12-25 2000-07-14 Toshiba Corp ル―プ型デ―タ伝送システム
US8072999B1 (en) * 2007-05-08 2011-12-06 Motion Engineering Inc. Method and system for removing and returning nodes in a synchronous network
JP5527086B2 (ja) * 2010-07-29 2014-06-18 富士電機株式会社 ネットワークシステム
CN102594582B (zh) * 2011-01-14 2017-12-15 中兴通讯股份有限公司 一种报文环回方法及系统
EP2774336B1 (en) * 2011-11-04 2020-01-08 NXP USA, Inc. Real-time distributed network module, real-time distributed network and method therefor
JP2016119616A (ja) 2014-12-22 2016-06-30 富士電機株式会社 リング型ネットワークシステム、そのマスタノード

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010062861A (ja) 2008-09-03 2010-03-18 Fuji Electric Systems Co Ltd リング型ネットワークシステム及びリング型ネットワークシステムの復旧方法

Also Published As

Publication number Publication date
JP2021040288A (ja) 2021-03-11
WO2021044652A1 (ja) 2021-03-11
EP4027591A1 (en) 2022-07-13
CN114245978A (zh) 2022-03-25
EP4027591A4 (en) 2023-08-09
CN114245978B (zh) 2023-08-01
US20220400031A1 (en) 2022-12-15

Similar Documents

Publication Publication Date Title
JP4437984B2 (ja) ネットワーク中継装置及びその制御方法
US7907516B2 (en) Node setting apparatus, network system, node setting method, and computer product
US8898364B2 (en) Method, system, and bus coupler for exchanging data between a higher-level network and a lower-level network
JP4074631B2 (ja) 伝送路システム、および同システムにおけるフレーム伝送装置、ならびに伝送路切り替え方法
JP4691601B2 (ja) データのサイクリック伝送のための方法、通信ネットワーク、及び制御装置
CN105607590A (zh) 用于在过程控制系统中提供冗余性的方法和装置
GB2383508A (en) Cascade control system using loopback for network units
CN110401558A (zh) 安全级多点通信网络设备、系统及安全级网络通信方法
CN103152251A (zh) 一种报文处理方法及装置
US20220094588A1 (en) Failure Handling Of A TSN Communication Link
JP7327017B2 (ja) マスタ装置、演算処理装置、プログラマブルロジックコントローラ、ネットワーク、および方法
US20160132446A1 (en) Network subscriber
US7263104B2 (en) Concentrator and reset control method therefor
US10432424B2 (en) Ring network system and network node
US8824333B2 (en) Method and apparatus for full duplex serial shifting mode and switch mode data transmission
CN115705267A (zh) 监控采集设备、基于监控采集设备的主备切换方法及系统
JP4944986B2 (ja) 伝送路システムおよび伝送路構築方法
US11757799B2 (en) Line monitor device and network switch
JP7330329B2 (ja) 通信制御装置及び通信制御システム
JP2011101113A (ja) Mac回路
JP6559390B2 (ja) 転送装置、転送方法および転送プログラム
US7979599B2 (en) Method for the allocation of memory in a buffer memory
JP2017184072A (ja) フィールドネットワークの伝送方法
KR20230084123A (ko) 원자력 발전소 및 기타 산업 시설의 자동 모니터링 및 제어 시스템을 위한 이중 버스
JP4585544B2 (ja) 伝送路システム、リングマップ生成方法およびノード

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

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230619

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230717

R150 Certificate of patent or registration of utility model

Ref document number: 7327017

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150