JP6528847B2 - 制御ネットワークシステム、そのノード装置 - Google Patents

制御ネットワークシステム、そのノード装置 Download PDF

Info

Publication number
JP6528847B2
JP6528847B2 JP2017534129A JP2017534129A JP6528847B2 JP 6528847 B2 JP6528847 B2 JP 6528847B2 JP 2017534129 A JP2017534129 A JP 2017534129A JP 2017534129 A JP2017534129 A JP 2017534129A JP 6528847 B2 JP6528847 B2 JP 6528847B2
Authority
JP
Japan
Prior art keywords
station
data
node
network system
control network
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
JP2017534129A
Other languages
English (en)
Other versions
JPWO2017026180A1 (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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co Ltd
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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Publication of JPWO2017026180A1 publication Critical patent/JPWO2017026180A1/ja
Application granted granted Critical
Publication of JP6528847B2 publication Critical patent/JP6528847B2/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/427Loop networks with decentralised control
    • 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/427Loop networks with decentralised control
    • H04L12/433Loop networks with decentralised control with asynchronous transmission, e.g. token ring, register insertion
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/14Two-way operation using the same type of signal, i.e. duplex
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、複数のノード装置が通信線で接続され、所定の周期毎にデータ交換を行う制御用ネットワークシステムに関する。
制御用ネットワークシステム(プラント制御用伝送システム等)においては、システムを構成する各機器(ノード)が相互に大容量データ交換を、リアルタイム性を保証したうえで行う必要がある。リアルタイム性を保証するとは、例えば、定周期の各期間内に、データ交換が必要な全ての機器間のデータ交換を完了することを意味する。各機器は、例えば定周期で、その時点の当該機器の状態等を示すデータを収集して、これを他の全機器へ渡す必要がある。逆に言えば、各機器は、例えば定周期で、他の全ての機器それぞれの状態データ等を取得することになり、この取得データを用いて何等かの所定の処理を実行することになる。
尚、上記各機器(ノード)は、何等かの制御対象機器を管理する装置等であり、例えば制御管理機器の現状を示すデータ(温度、圧力、回転数等)を、随時、収集している。そして、各機器(ノード)の収集データを、全ての機器(ノード)で共有する必要があるものとする。
各機器(ノード)に搭載されるアプリケーションによるアクセス要求の発生に応じてイベント的に相互アクセスを行うような伝送方式を採用していると、ネットワーク負荷がアプリケーションに依存してしまい、リアルタイム性を保証することができない。そこで、各機器に仮想的な共有メモリ(コモンメモリ)を設けて、各機器が通信サイクル(スキャン時間)毎に、時分割多重方式で(相互に異なるタイミングで)ネットワーク上の全ノードへ自ノードデータの送信を行うようにする伝送方式によって、リアルタイム性を保証したデータ交換方式を実現している。尚、各ノードは、受信したデータによって上記コモンメモリの該当領域のデータを更新し、これよりアプリケーションがコモンメモリにアクセスして他ノードの最新データを取得して、この最新データを用いた何等かの処理を実行することになる。
上記データ交換を実現する為のネットワーク上での効率的な同報通信(ブロードキャスト通信)手法については、既に様々な手法が提案されているが、ここではその一例として特許文献1の発明がある。
特許文献1の発明は、各ノードの内蔵タイマによる時分割多重アクセス方式と、マスタノードからの同期化フレームによるスレーブノードの内蔵タイマ補正とを併用することで、各ノードからの送信タイミング重複を防ぎつつ効率の高い伝送を実現している。
あるいは、例えば、特許文献2にも、特許文献1と略同様の従来技術が、開示されている。
図14に、上記特許文献1、2等の従来手法によるデータ交換の具体例を示す。
この従来手法では、各局(ノード)は、サイクルタイマとセンドタイマの2種類のタイマを備える。サイクルタイマは、データ交換周期(スキャン時間)を生成する為のタイマであり、全ての局で同一の時間が設定されている。従来手法では、同期フレームによって全ての局のサイクルタイマの同期化を図るが、これについては特に説明しない。
センドタイマは、各局のデータ送信タイミングを生成する為のタイマであり、全ての局で相互に異なる値が設定される。センドタイマは、サイクルタイマのタイマアップ時に起動され、上記設定値に応じたタイミングでタイマアップするので、全ての局で相互に異なるタイミングでタイマアップすることになる。これより、例えば図14に示すように、全ての局のデータ送信タイミングが、相互に異なることになる。
図14の具体例について説明する。
上記サイクルタイマによって、図示のように、データ交換周期(通信サイクル)であるスキャン時間101が生成される。スキャン時間101は、時刻合わせに使用する図示のTC帯域102及びデータ交換に使用する図示のTS帯域103で構成される。尚、TC帯域、TS帯域については、例えば特許文献2に記載の通りであり、ここでは特に説明しない。
例えば、TC帯域では、特許文献2等に記載のノード同期方法等によって、時刻同期を行うための同期フレーム104がマスタノードによって伝送路上に送信され、これによって各スレーブノードのサイクルタイマを同期化する。そして、TS帯域では、各ノードが、自局に割当てられた送信タイミングで、自局のデータを通信経路上にブロードキャスト送信する。各ノード毎に、自局のサイクルタイマを元に、各通信サイクルの開始タイミングで自局のセンドタイマを起動して、センドタイマがタイムアップしたタイミングが、上記送信タイミングとなる。
これより、図14に示すように、全ての局で相互に異なるタイミングでセンドタイマがタイマアップし、以って相互に異なるタイミングでフレームデータ(107,110等)が、不図示の通信経路上にブロードキャスト送信されることになる。換言すれば、スキャン時間101に対して時分割で相互に異なる送信タイムスロット(105,108等)が、各局に割当てられることになる。
特許文献1の発明においては、伝送路をバスないしシリアルケーブルで接続されたネットワークとして構成しているが、最近では産業用ネットワークにおいてもEthernetの適用が進んでおり、情報系機器との連携も考慮してコントローラレベルネットワークにおいてはこれが主流となりつつある。
特開2005−159754号公報 国際公開番号WO2013/121568号
上記特許文献1,2等の従来手法では、物理層をバスあるいはシリアルケーブルのカスケードとしているので、ブロードキャストにより一度に全ての他局へデータ送信することができる。ブロードキャスト送信されたデータの受信タイミングは、各ノード同時あるいはほぼ無視できる時間差であることが想定できる。
一方、例えば100BASE-TXや1000BASE-TなどのEthernetを伝送路とした全二重回線等であって、且つ、トポロジとしてリング型またはライン型を採用した場合、各局(ノード)は、隣接局以外の局と通信する為には、自局と通信相手局との間にある1以上の局によって中継することを前提とした伝送を行う構成となる。つまり、この構成の場合、各局が直接的に通信可能となるのは、隣接局のみとなる。あるノードは、隣接局から送信されたフレームデータが、自局宛ではない場合、これを別の隣接局へ中継する。この中継が繰り返されることで、最終的に、フレームデータは宛先局に到達することになる。
尚、上記隣接局とは、自局と直接、通信線によって接続された他局である。また、全二重回線であるので、通信線は、上りと下りの2つが設けられる。つまり、自局から隣接局へのデータ送信用の通信線と、隣接局から送られるデータの受信用の通信線とが、設けられる。
一般的にFWまたはLSI等によってフレームデータを隣接ノードへ中継する場合、一定の中継遅延が発生するため、任意のノードのフレームデータを全ノードに同報通信する場合、最大で「“構成ノード数−1”×中継遅延時間+伝送時間」の時間が必要となる。
図15は、リング型トポロジの全二重回線による制御用ネットワークシステムの具体例である。
図示の例では、4台のノード(局1、局2、局3、局4)が、それぞれ、上記上りと下りの2本の通信線によって、図示のようにリング型に接続されており、ネットワーク全体で右回り(時計回り)の通信経路を回線A、左回り(反時計回り)の通信経路を回線Bとする。回線Aの場合、例えば局1からの送信データは、局1→局3→局2→局4→局1というように、局3、局2、局4によって順次中継されて、局1に戻ってくる。同様に、回線Bの場合、例えば局1からの送信データは、局1→局4→局2→局3→局1というように、局4、局2、局3によって順次中継されて、局1に戻ってくる。
図16に、図15のシステムにおける従来の通信方式による制御用ネットワークシステムの動作の一例を示す。尚、図16は、上記回線Aの動作例であるが、回線Bについても略同様である。
上述したように、制御用ネットワークシステムにおいて、定周期の各スキャン時間内に、全ての局が、自局のデータを他の全ての局に渡す必要がある。これを例えば図15に示すようなリング型トポロジの構成において実現する場合の動作例を、図16に示している。
図16の例は、トークン方式であり、トークン(送信権)を獲得した局が、自局のデータを送信できるものであり、それ以外の局は、このデータの受信と中継を行うことになる。
図示の例では、まず、局1がトークンを獲得し、これより、自局のデータを下流の隣接局へ送信する。下流の隣接局は、図15の構成で回線Aの場合には局3となる。図15の構成で回線Aの場合には、局1の上流の隣接局は局4ということになる。尚、図16において、矩形は送受信データフレーム(パケット)を示し、各局毎に、上側が受信、下側が送信を示す。また、横軸は時間である。矩形の中の数字は送信元の局を示し、例えば‘1’であれば送信元は局1となり、パケット’局1’と記すものとする。上記トークンを獲得した局1は、局3に対してパケット’局1’を送信することになる。尚、矩形の中が‘T’であるのはトークンを意味する。
局3は、上記パケット’局1’を受信すると、これを取得すると共に下流の隣接局(局2)へ中継する。このパケット’局1’を受信した局2も、同様にして、これを取得すると共に下流の隣接局(局4)へ中継する。このパケット’局1’を受信した局4も、同様にしてこれを取得すると共に下流の隣接局(局1)へ中継する。
これより、局1は、自局の送信データフレームを受信することになり、以ってトークンをリリースする。ここでは、トークンには権限局情報が含まれ、リリースの際に権限局が更新されるものとする。ここでは仮に権限局は‘1’→‘2’→‘3’→‘4’→‘1’→‘2’→等のように、リリースの度に更新されるものとする。ここでは、上記局1のトークンリリースの際に、権限局が‘2’に更新されているものとする。
これより、局1の下流の隣接局である局3が、トークンを受信するが、権限局が自局ではないので、そのまま自局の下流の隣接局である局2へ中継する。局2は、トークンを受信すると、権限局が自局であるので、送信権を獲得したものとして、自局のデータ(パケット’局2’)を送信することになる。これは、当然、自局の下流の隣接局である局4へ、送信することになる。このパケット’局2’も、上記パケット’局1’と略同様に、局2→局4→局1→局3の順で順次、受信・中継されていき、最後は局2が自局の送信データを受信することになり、以ってトークンをリリースする。
その後、局3、局4も、トークンを獲得して送信権を得ると、自局のデータを送信することになり、データは他の局によって順次中継されて自局に戻ってくる。
このようにして、全ての局1,2,3,4が、自局のデータを送信することになり、他局全てがそのデータを受信・取得することになる。つまり、全ての局が、自局のデータを他の全ての局に渡したことになる。
制御ネットワークシステムにおいては、例えば定周期で、例えばサイクルタイマの起動からタイムアップまでの時間(スキャン時間)内に、データ交換が必要とされる全ての局(ノード)同士の相互のデータ交換を完了する必要がある。つまり、全ての局が、それぞれ、自局のデータを他の全ての局に渡す必要がある。これを、リング型トポロジのネットワークで実現しようとした場合、例えばトークン方式で行う場合には、上述した図16に示す動作となる。つまり、各局毎に送信パケットが一巡するのに(自局に戻ってくるまでに)掛かる時間をTa、局の台数をM台とした場合、最低でも“Ta×M”の時間が掛かることになる。つまり、非常に時間が掛かることになり、以って上記スキャン時間を非常に長く設定する必要が生じてしまう。換言すれば、データ交換周期が長くなってしまうという問題が生じる。
本発明の課題は、ネットワークに接続される全ノード装置が相互にデータ交換する制御ネットワークシステムにおいて、伝送効率を高め従来よりも短時間でデータ交換を完了させることができる制御ネットワークシステム、そのノード装置等を提供することである。
本発明の制御ネットワークシステムは、複数のノード装置が相互にデータ交換する制御ネットワークシステムにおいて、前記各ノード装置は、下記の各構成を有する。
・所定のデータ交換周期毎に、該データ交換周期の開始から所定時間経過した所定のタイミングで、自ノード装置のデータを隣接ノード装置へ送信するデータ送信手段;
・任意の隣接ノード装置からの送信データを受信した場合、該送信データを取得すると共に別の隣接ノード装置へ中継するが、前記受信したデータの送信元が下流側の隣接ノード装置であった場合には、前記中継を行わずに、前記受信したデータを破棄する中継手段;及び
・前記所定のタイミングを生成する第1タイマ。
そして、全てのノード装置の前記第1タイマが同一タイミングで起動し且つ同一時間後にタイマアップすることによって、前記全てのノード装置の前記所定のタイミングを同一タイミングとする。
(a)、(b)は、本例の制御ネットワークシステムの全体構成図である。 (a)、(b)は、ノードのドライバの処理を示すフローチャート図(その1)である。 ノードのドライバの処理を示すフローチャート図(その2)である。 ノードのドライバの処理を示すフローチャート図(その3)である。 ノードの処理部の処理を示すフローチャート図である。 本手法によるネットワークシステムの自局データ送信に係わる動作を示す図である。 本手法によるシステム全体のデータ送受信動作を示す図(その1)である。 本手法によるシステム全体のデータ送受信動作を示す図(その2)である。 (a)、(b)は、ステップS21,S23.S24.S26の処理イメージである。 本例の制御ネットワークシステムのトポロジの他の例である。 本例の制御ネットワークシステムの機能ブロック図である。 ライン型の全二重回線の制御ネットワークシステムの構成例である。 リング型の一回線の制御ネットワークシステムの構成例である。 従来手法によるデータ交換の具体例を示す図である。 リング型トポロジの全二重回線による制御用ネットワークシステムの具体例である。 図15のシステムにおける従来の通信方式による制御用ネットワークシステムの動作の一例を示す図である。
以下、図面を参照して、本発明の実施の形態について説明する。
図1(a)、(b)は、本例の制御ネットワークシステムの全体構成図である。
尚、図1には、全二重回線等であり且つトポロジとしてリング型であるネットワークシステムを例にしているが、本例の制御ネットワークシステムの構成は、この例に限らない。例えば、リング型ではなく、ライン型であってもよいし、後に図示する他の型であってもよい。また、全二重回線に限るものでもなく、例えばその2倍の回線数(全四重回線と呼ぶ)等であっても構わないし、1回線であっても構わない。また、図1には、構成ノードが4つである例を示すが、勿論、この例に限らない。
また、本例の制御ネットワークシステムも、上述したように、システムを構成する各機器(ノード)が、相互にデータ交換を行う必要があり、これをリアルタイム性を保証したうえで行う必要がある。その為、例えば上記サイクルタイマで規定されるデータ交換周期の時間内に(スキャン時間内に)全ノード間のデータ交換を完了させる必要がある。つまり、スキャン時間内に、全ノードが、自ノードのデータを、他の全てのノードに渡す必要があることを前提とする。換言すれば、上記のように、システムを構成する各機器(局;ノード)が相互にデータ交換を、リアルタイム性を保証したうえで行う必要があることを前提とする。
図1(a)に示す例の制御ネットワークシステムは、上記図15と同様に、図示の4台のノード10(局1、局2、局3、局4)が、全二重の通信回線12,13によって接続されており、ネットワーク全体で右回り(時計回り)の通信経路を回線A、左回り(反時計回り)の通信経路を回線Bとする。図15で説明したように、通信回線12,13は例えば上りと下りの通信線であり、例えば局1と局2との間の通信は、通信回線12によって局1が局2へデータ送信し、通信回線13によって局2が局1へデータ送信する。
更に詳しくは、図1(b)に示すように、各ノード10は例えばドライバ11を有しており、上記回線Aに係わる通信回線12(12a,12b,12c,12d),上記回線Bに係わる通信回線13(13a,13b,13c,13d)が、それぞれ、図示のように各ノード10のドライバ11に接続している。
ここで、通信回線12,13は、それぞれが、1本の通信線(シリアル線など)ではなく、複数の通信線(シリアル線など)から成る。つまり、例えば通信回線12は、図示の通信線12a、12b、12c、12dから成る。各通信線は、任意の2つのノード10間を接続している。図示の例では、通信線12aは局1−局2間、通信線12bは局2−局3間、通信線12cは局3−局4間、通信線12dは局4−局1間を、それぞれ接続している。
通信回線13についても同様である。すなわち、通信回線13は、図示の通信線13a、13b、13c、13dから成る。各通信線は、任意の2つのノード10間を接続している。図示の例では、通信線13aは局1−局2間、通信線13bは局2−局3間、通信線13cは局3−局4間、通信線13dは局4−局1間を、それぞれ接続している。
そして、例えば局1−局2間の通信に関しては、局1は通信線12aにより局2へデータフレーム(パケット)を送信し、局2は通信線13aにより局1へデータフレーム(パケット)を送信する。よって、局1と局2が相互に同時にパケット送信しても、使用する通信線が異なるので、パケット衝突が起こることはない。これは他の局間の通信についても同様であり、ネットワークシステム全体として、全局が同時にパケット送信しても、各々がパケット送信に使用する通信線が異なるので、パケット衝突が起こることはない。
また、各ノード10は、上記ドライバ11以外に、処理部14、サイクルタイマ15、センドタイマ16も有している。サイクルタイマ15、センドタイマ16については、上記特許文献1,2で説明されており、ここでの説明は省略する。処理部14は、ノード10のメインの処理を実行するものであり、例えば不図示の制御対象機器の制御、その状態を示すデータ等の収集、サイクルタイマ15、センドタイマ16の設定・起動の管理、送信データフレーム(パケット)の生成など、様々な処理を行う。
ドライバ11は、例えば、上記処理部14からの要求に応じて上記送信データフレームを他ノードへ送信したり、他ノードからの送信データフレームを受信するとこれを処理部14に渡す等、通信回線12,13を介した通信処理を行う処理部(通信専用プロセッサ等)である。
ドライバ11は、通信回線12、13の何れについても、上流側から送られてくるパケットを受信すると、これを中継するものと判定した場合には、下流側へ送出する。例えば、局1を例にすると、回線Aに関しては局4が上流側、局2が下流側となり、回線Bに関しては局4が下流側、局2が上流側となる。
これより、局1のドライバ11は、通信線12dを介して局4からの送信パケット(データフレーム)を受信すると、これを中継する場合には、通信線12aを介して局2へ転送する。尚、中継する際には、データフレームの内容(データ)は取得して、必要に応じて処理部14へ渡す。同様に、通信線13aを介して局2からのパケットを受信すると、これを中継する場合には、通信線13dを介して局4へ送信する。また、局1が自局のデータを送信する場合には、局1のドライバ11は、このデータフレームを、回線A、回線Bの両系へ送出する。つまり、このデータフレームを、通信線12aを介して局2へ送信すると共に通信線13dを介して局4へ送信する。
図2(a)、(b)は、ノード10の処理を示すフローチャート図である。
図2(a)は、自局データ送信の際のドライバ11の処理を示す。
ノード10が有する上記処理部14(CPU/MPU等)は、所定のソフトウェア(プログラム)等を実行することで、所定の制御処理等を実行している。そして、この処理の1つとして自局のデータを送信するイベントが発生した場合、このデータと送信要求をドライバ11に渡す。
ドライバ11は、上記データと送信要求を受けると(ステップS11)、このデータフレームを上記回線A、回線Bの両系に送信する(ステップS12)。これは、上記の通り、両方とも下流側へ送信する。従って、局1の場合、回線Aについては通信回線12aを介して局2へ送信し、回線Bについては通信回線13dを介して局4へ送信する。
上記送信した自局データ(パケット)は、正常であれば、ネットワークを一巡して自局に戻ってくる。また、他局の送信データ(パケット)を受信する場合もある。
図2(b)は、データ受信の際のドライバ11の処理を示す。
ドライバ11は、上記回線A,Bの何れかを介して任意のパケットを受信すると、図2(b)の処理を実行する。まず、受信パケットの送信元をチェックして、送信元が自局である場合には(ステップS21,NO)、このパケットを破棄する(ステップS23)。この場合は、自局が上記ステップS12で送信したパケットが、ネットワークを一巡して、戻ってきたものであるはずだからである。
一方、受信パケットの送信元が他局(自局以外)である場合には(ステップS21,YES)、受信パケットを中継する(ステップS22)。つまり、受信パケットを下流の隣接局へ転送する。勿論、回線Aで受信した場合は回線Aにおける下流へ、回線Bで受信した場合は回線Bにおける下流へ、中継することになる。また、中継する場合でも、受信パケットは不図示のバッファ等に残しておき、後述するステップS24,S25の処理の際に利用する。
ステップS22の処理を行った場合には、更に、この受信パケットが、既に受信済みのパケットと同一であるか否かを判定する(ステップS24)。本例では送信元ノードは上記ステップS12で回線A、回線Bの両系にパケット送信するので、正常であれば、他局は、この2つのパケットを受信することになる。よって、後から受信したパケットは必要ないことになる。これより、既に受信済みのパケットと同じパケットを受信した場合には(ステップS24,YES)、受信パケットを破棄する(ステップS26)。
尚、例えば、送信元ノードは、上記ステップS12の際に、送信する2つのパケット(データフレーム)に同一フレーム番号を付与している。通常、データフレーム送信毎に、フレーム番号を付与して送信する。フレーム番号は、送信毎に、更新(例えば+1インクリメント)される。これより、ステップS24の処理では、例えば、受信パケットと、既に受信済みのパケットとが、送信元ノードが同一で且つフレーム番号が同一である場合に、両者が同一であるものと判定する。但し、これは一例であり、この例に限らない。
一方、受信パケットが、上記2つのパケットのうちのどちらか一方を先に受信したものである場合には(ステップS24,NO)、この受信パケットのデータを処理部14に渡す(ステップS25)。処理部14は、このデータを用いて何等かの処理を行うことになるが、これについては特に関係ないので、説明は省略する。
ここで、データ受信の際のドライバ11の処理は、上記図2(b)の処理例に限るものではなく、例えば図3や、図4に示す処理であってもよい。
図3は、データ受信の際のドライバ11の処理フローチャート図(その2)である。
図4は、データ受信の際のドライバ11の処理フローチャート図(その3)である。
以下、まず、図3について説明する。
ドライバ11は、上記回線A,Bの何れかを介して任意のパケットを受信すると、図3の処理を実行する。まず、受信パケットの送信元をチェックして、送信元が自局である場合には(ステップS31,NO)、このパケットを破棄する(ステップS35)。尚、ステップS31、S35の処理は、上記ステップS21,S23の処理と同じであってよい。
一方、受信パケットの送信元が他局である場合には(ステップS31,YES)、続いて、受信パケットが、既に受信済みのパケットと同一であるか否かを判定する(ステップS32)。この処理は、上記ステップS24と同じであってよく、ここでは特に説明しない。そして、既に受信済みのパケットと同じパケットを受信した場合には(ステップS32,YES)、受信パケットを破棄する(ステップS35)。ステップS35は、上記ステップS26と同じであってよく、更にステップS26はステップS23と同じであってよい。これより、図3では、“破棄”処理は1つにまとめて示してある。
一方、受信パケットが、ステップS24で説明した2つのパケットのうちのどちらか一方を先に受信したものである場合には(ステップS32,NO)、この受信パケット(先着パケット)を中継すると共に(ステップS33)、そのデータを処理部14に渡す(ステップS34)。
ステップS33、S34は、上記ステップS22,S25と同じであってよい。
上記図3の処理が図2(b)の処理と異なる点は、受信パケットの送信元が他局であり、且つ、最初のパケットを受信した場合に、このパケットの中継処理を行っている点である。
つまり、図3の処理では、受信パケットの送信元が他局であっても、既に受信済みのパケットと同じパケットを受信した場合には、このパケットの中継は行わない。一方、図2(b)の処理では、この様なケースであっても、パケットの中継を行う。図3の処理では、図2(b)の処理よりも、システム全体としての中継回数を減らすことができる。図3の処理は、例えば任意のノード10が回線A、回線Bの両系に送信したデータのうち、自局に最初に到達したデータ(先着パケット)は中継するが、その後に自局に到達したデータ(後着パケット)は中継しないものと見做してよい。
これについて、例えば局1が両系に送信したパケットに関して局3が図3の処理を行う場合であって、仮に、局1→局2→局3のルートのパケットが先に局3に到達し、その後に、局1→局4→局3のルートのパケットが局3に到達したものとする。この場合、図3の処理では、後から到達したパケットは局2に中継されないことになる。しかし、局2は、上記局1→局2→局3のルートで既にパケット受信済みであるので、問題ないことになる。
次に、図4の処理について説明する。
尚、図4の処理が図2の処理と異なる点は、ステップS21の代わりにステップS41の処理を実行する点であり、他の処理(ステップS42,S43,S44,S45)は、図2のステップS22,S24、S25、S23(またはS26)と同じであってよく、ここでは特に説明しない。
ステップS41の処理は、受信パケットの送信元をチェックして、送信元が自局の下流の隣接局が送信したフレームであるか否かを判定する処理である。そして、送信元が自局の下流の隣接局が送信したフレームである場合には(ステップS41,YES)この受信パケットを破棄し、そうでない場合には(ステップS41,NO)ステップS42へ移行する。
尚、言うまでもないが、各パケット(データフレーム)には、送信元ノードの識別番号(局IDなど)が付与されている。また、例えば、各ノード10は、予め、ネットワーク構成情報を記憶している。ネットワーク構成情報は、各ノード10毎に、自ノードの上流側と下流側の隣接局の上記局ID等の情報が含まれている。ネットワーク構成情報は、例えば開発者等が予め任意に作成して、各ノード10に記憶させるが、この例に限らない。例えば、送信元ノード以外は破棄することを許さず必ず中継させると共に中継時に中継局の上記局ID等を付与させることが決められている特殊なパケットを予め用意しておく。任意のノード10が特性のときに(たとえば空き帯域に)上記特殊パケットを送信し、これが一巡して送信元ノードに戻ってくると、送信元ノードでは上記付与されている局IDに基づいて、上流側、下流側の隣接局を判別することが可能となる。
図2(b)や図3の場合、自局がステップS12で送信したフレームが、リング型ネットワークを一周して戻ってきたら、破棄するものであった。しかし、この例に限らず、自局の1つ手前の他局で破棄させるようにしてもよく、この様な例に応じたものが図4の処理である。
尚、図4の例に限らず、例えば図3の処理において、ステップS31の代わりにステップS41の処理を行うようにしてもよい。
以上、図2、図3、図4の処理を纏めると、例えば下記のようになる。
・パケットは、リング型ネットワークの各ノード10を一巡したら、すなわちデータ交換が必要とされる全ノード10が受信したら、破棄する。破棄を行うのは、パケット送信元のノード10であってもよいし、その1つ手前のノード10(送信元ノードにパケットを中継するノード10)であっても構わない。
・送信元ノードは、上記パケットを、回線A、回線Bの両系に送信する。他の各ノード10は、両系からパケットを受信する。他の各ノード10のドライバ11は、最初に受信したパケットは処理部14に渡すが(実質的に受け取るが)、2番目に受信したパケットは処理部14に渡さない(実質的に受け取らない)。
・上記他の各ノードは、上記2番目に受信したパケットは、中継してもよいし、中継しなくてもよい。
図5は、ノード10の処理部14の処理を示すフローチャート図である。
図5の処理は、随時実行されるものであり、基本的には何等かのイベント待ち状態であり(ステップS51)、何等かのイベントが発生する毎に(ステップS52,YES)、発生したイベントの内容に応じた処理を実行する。
発生したイベントが、サイクルタイマ15のタイムアウト(サイクルT.O.)である場合には(ステップS53,YES)、センドタイマ16に所定の設定値をセットして(ステップS54)、センドタイマ16を起動する(ステップS55)。
発生したイベントが、センドタイマ16のタイムアウト(センドT.O.)である場合には(ステップS56,YES)、自局のデータを送信させる(ステップS57)。これは、上記自局のデータと送信要求を、ドライバ11に渡すものである。これより、上記の通り、ドライバ11は、上記ステップS11のデータ&送信要求を受けることになり、このデータを上記回線A、回線Bの両系に送信することになる(ステップS12)。
尚、基本的には、上記ステップS55で起動したセンドタイマ16が、タイマアップした場合に、上記ステップS56がYESとなることになる。
また、発生したイベントが、コモンメモリフレーム受信である場合には(ステップS58,YES)、このコモンメモリフレームのデータを、不図示のコモンメモリの該当領域に格納する(ステップS59)。尚、ここでは、上記ステップS57の処理に応じて送信されるフレームを、コモンメモリフレームと呼ぶものとする。上記図2(b)等の処理により、任意の他局が上記ステップS57の処理により送信したコモンメモリフレームをドライバ11が受信し、これをドライバ11が上記ステップS25により処理部14に渡すと、上記ステップS58の判定がYESとなることになる。
また、受信フレームが、コモンメモリフレームではなく、例えば同期化フレームである場合には、以下に説明する処理が実行される。
すなわち、マスタノードは、上記コモンメモリフレームだけでなく、別タイミングで、サイクルタイマ15の同期化の為の同期化フレームを送信する場合がある。これは、任意の宛先ノードに対して送信するものである。宛先ノード以外の各ノード10は、この同期化フレームを受信すると、これを中継する。宛先ノードは、この同期化フレームを受信すると、中継せずに、同期応答フレームを送信元ノード(マスタノード)へ返信する。この処理が、図5に示すステップS60.S61の処理である。
すなわち、発生したイベントが、自局宛の同期化フレームの受信である場合には(ステップS60,YES)、上記同期応答フレームをドライバ11に渡して、送信元ノード(マスタノード)へ送信させる(ステップS61)。
尚、システムを構成する複数のノード10のうちの何れか1つの局(一例では、局1、局2、局3、局4の何れか)が、上記マスタノードとして動作するように予め設定されているか、もしくは、局番やMACアドレス等の昇順または降順等で優先度判定を行い、上記マスタノードとして動作する。マスタノード以外のノード10は、基本的には全て、スレーブノードとして動作することになる。そして、マスタノードは、上記同期化フレーム等によって、全てのスレーブノードのサイクルタイマ15を、自ノードのサイクルタイマ15に同期させる。これについては、従来技術文献等に記載されており、ここではこれ以上詳細には説明しない。
また、尚、一例としては例えば、上記マスタノードは、上記同期化フレームを送信する際に、例えば図2(a)のステップS12の処理により回線A、回線Bの両系に送信する。これより、宛先のスレーブノードは、先着した同期化フレームを受信すると、例えば図3、図5の処理の場合には、ドライバ11がステップS34の処理によって同期化フレームを処理部14に渡し、これより処理部14は上記ステップS60がYESになりステップS61の処理を行うことになる。これより、ドライバ11は、上記ステップS12の処理により、上記同期応答フレームを両系に送信することになる。そして、マスタノードにおいて、先着した同期応答フレームが、ステップS34の処理により処理部14に渡されることになる。尚、マスタノード、宛先スレーブノードの両方とも、後着したフレームや自局の送信フレームは破棄される(ステップS35)。
以上の処理によれば、結果的に、マスタノード−宛先スレーブノード間を、フレームが最短ルートで往復することになる。
そして、この最短ルートでのフレーム往復に要する時間が、マスタノードで計測され、この計測時間の半分の時間が、マスタノード−宛先スレーブノード間の通信時間(通信遅延時間)として算出されることになる。この通信遅延時間を用いてサイクルタイマ15の同期化を図る処理については、従来技術であり、ここでは特に説明しない。
尚、発生したイベントが、上述した各種イベントの何れでも無い場合には(ステップS60,NO)、発生したイベントに応じた処理を実行するが、これについては特に図示・説明はしないものとする。
ここで、図14で説明したように、従来技術ではセンドタイマの設定値は、全ての局で相互に異なる値が設定されるものであった。これに対して本手法では、一例としては、全ての局で同一の設定値がセットされるものとする(完全に同一に限らず、ほぼ同一であってもよいものとする。つまり、多少は異なってもよいものとする)。
換言すれば、従来技術の場合、ステップS54のセンドタイマ設定値は、各ノード毎に、一例としては下記の算出式によって決定されていた。
設定値=TC帯域時間+(スロット単位時間×自局の割当スロット番号)
スロット単位時間は、上記送信タイムスロット(105,108等)の長さであり、一例としては、スロット単位時間=TS帯域時間÷局数、等とする。また、割当スロット番号は「‘0’と自然数」であり、例えば局数=N台とした場合、0、1,2,・・・、N−1の何れかが、各局に重複しないように割当てられるものである。
一方、本手法の場合、一例としては全てのノードに同じセンドタイマ設定値が、予め設定されている。その一例を下記に示す。
設定値=TC帯域時間+α(α;0または任意の正の値)。
図6は、本手法によるネットワークシステムの自局データ送信に係わる動作を示す図である。
図示のように、各ノード10毎に、サイクルタイマ15によって生成されるスキャン時間21(データ交換周期)毎に、上記ステップS54,S55の処理が実行されて、センドタイマ16が動作開始する。上記の通り、全てのノード10のセンドタイマ16には、任意の同一の値が設定されるので、図6に示すように全てのセンドタイマ16が同一タイミングでタイマアップする。これより、全てのノード10で同時に上記ステップS57の処理(自局データフレーム26の送信)が行われることになる。
但し、これは、一例であり、この例に限らない。基本的には、全てのノード10で同時に上記ステップS57の処理(自局データフレーム26の送信)が行われるようにすることが出来れば、どの様な手法であっても構わない。尚、この場合の“同時に”は、完全に同時である場合に限らず、多少のズレがあっても構わない。
上記自局データを同時に送信する為に、例えば上記のように全てのセンドタイマ16が同一タイミングでタイマアップするように構成するものであり、これを実現する為の一例として、サイクルタイマ15の同期化を図ったうえで、全てのノード10のセンドタイマ16に同一の値が設定されるようにしているが、この例に限らない。
例えば一例としては、センドタイマ16の起動からタイマアップまでの時間(カウント数等)が同一となればよいのであり、これを実現する方法の一例が上記の通り設定値を同一とするものであるが、この例に限らない。例えば、各センドタイマ16の初期値(起動時の値)が異なっていれば、当然、設定値も異なることになる。例えば上記カウント数を‘1000’とした場合であって、例えば局1のセンドタイマ16の初期値は‘0’、局2のセンドタイマ16の初期値は‘1000’、局3のセンドタイマ16の初期値は‘2000’、局4のセンドタイマ16の初期値は‘3000’であるものとする。この場合、各センドタイマ16の上記ステップS54でセットする設定値を、局1が‘1000’、局2が‘2000’、局3が‘3000’、局4が‘4000’とすると、全てのノード10においてセンドタイマ16のタイマアップまでのカウント数が‘1000’となる。これより、全てのセンドタイマ16が同一タイミングでタイマアップすることになる。
上述したように、本手法では、一例としては、全てのセンドタイマ16が同一タイミングでタイマアップするように構成すればよく、その為の方法は何でもよい。例えば、全てのノード10のセンドタイマ16が、同一タイミングで起動し且つ同一時間後にタイマアップすることによって、全てのセンドタイマ16が同一タイミングでタイマアップするように構成するものであれば、何でも良い。また、この例に限るものでもない。
更に、本手法では、必ずしも全てのセンドタイマ16が同一タイミングでタイマアップするように構成しなくてもよく、結果的に全てのノード10の自局データ送信タイミングが同一となるものであれば、何でも良い。
そして、上記“同一タイミング”とは、完全に同一のタイミングに限らず、多少のズレがあっても構わないものとする。
尚、図示の例では、ノード10は5台あるものとし、図示の第1センドタイマ〜第5センドタイマは、当該5台のノード10それぞれのセンドタイマ16を意味する。
尚、上記同一タイミングでデータ送信が行われるためには、全てのノードのサイクルタイマが同期していることが前提となるが、これは上記特許文献1,2等の従来技術で実現されているので、ここでは特に詳細には説明しないが、以下、簡単に説明する。
まず、上記サイクルタイマ同期の為に、従来技術では、マスタノードと各スレーブノード間の伝送遅延時間を求めていた。これは、特定のパケットがマスタノード−スレーブノード間を往復するのに掛かる時間を実測して、該実測値の半分を伝送遅延時間としていた。各スレーブノードは、上記特定パケットを受信すると、これを直ちにマスタノードへ返信していた。本手法でも、基本的にはこれと同様の処理を行って伝送遅延時間を求める。つまり、特定パケットの場合には、リング型ネットワークを一巡させるのではなく、各スレーブノードを順次宛先として、宛先のスレーブノードまで特定パケットを中継させる。そして、宛先のスレーブノードは、特定パケットを受信すると、直ちにこれをマスタノードへ返信する。
但し、本例の場合、マスタノードは、回線A、回線Bの両系に上記特定パケットを送信し、宛先スレーブノードは特定パケットを2つの通信経路によって2回受信することになる。宛先スレーブノードは、最初に受信した特定パケットに対してのみ上記返信処理を行い、2回目に受信した特定パケットは破棄する。つまり、マスタノード−各スレーブノード間の最短ルートの伝送遅延時間を、求めることになる。
尚、本説明では特にマスタノード、スレーブノードの区別なく説明しているが、ここでは仮に図1の局1がマスタノードであるものとする。そして、局1が例えば宛先を局2とする特定パケットを回線A、回線Bの両系に送信した場合、局2は、まず、通信線12aを介して特定パケットを受信することになり、直ちにこれを通信線13aを介して局1へ返信する。その後、局2は、回線Bにより局4、局3によって中継された特定パケットを、通信線13bを介して受信することになるが、この特定パケットは破棄する。
このようにして、マスタノード(局1)−局2間の伝送遅延時間、すなわち最短ルートでの局1−局2間の通信に掛かる時間が、求められることになる。局1−局3間、局1−局4間の伝送遅延時間も、同様にして求められることになる。
図6に示すように、データ交換周期であるスキャン時間21は、時刻合わせに使用するTC帯域22とデータ交換に使用するTS帯域23とから構成される。TC帯域22では、例えば特許文献2のノード同期方法等によって、時刻同期を行うための同期フレーム24が、マスタノードによって伝送路上に送信される。各スレーブノードはこの同期フレーム24の受信タイミングと上記伝送遅延時間に基づいて、自局のサイクルタイマ15をマスタノードのサイクルタイマ15に同期化する。この処理が、図5に示すステップS62.S63の処理である。すなわち、発生したイベントが、同期フレームの受信である場合に(ステップS62,YES)、サイクルタイマを同期化する(ステップS63)。
尚、上述した同期化フレームが上記特定パケットの一例であるが、同期化フレームは同期フレーム24とは異なるものである。
尚、図6においてはサイクルタイマ15の動作を1つのみ示しているが、各ノード10は、それぞれ、自局のサイクルタイマ15に基づいて動作する。上記の通り、全てのサイクルタイマ15が同期している前提から、1つのみ示しているものである。
図7に、本手法によるシステム全体のデータ送受信動作を示す。
尚、図7は、図1に示す局1と局4の間に更に局5が設けられ、全体として5台のノード10から成る構成における動作を示すものとする。
尚、図7は、図16と同様、図示の矩形は送受信データ(パケット)を示し、各局毎に、上側が受信、下側が送信を示す。また、横軸は時間である。また、矩形内には送信元の局を記述してある。また、図7には、上記センドタイマ16がタイマアップした時点から示している。これより、図上左端に示すように、各局は同時に自局のデータを送信している。例えば、局1は、図示の矩形内が“局1”のデータを送信している。
TS帯域にて全ノード10間の相互のデータ交換を行う。各ノード10は、上記図6に示す送信タイミングにて回線A及び回線Bに同一のフレーム(自局データ)を送信する。各ノード10は、上流の隣接ノード(隣接局)から渡されたフレームを受信した場合、送信元が自局である場合以外は、受信したフレームを下流の隣接ノードに対して中継する。
尚、上記のように、回線Aと回線Bの両系にデータ送信するものであり、これより、図7には回線A,回線Bそれぞれについてデータ送受信動作を示すが、ここでは簡単化の為に回線Aについてのみ説明するが、回線Bについても回線Aと同様であると見做して構わない。
ここでは、回線Aに関しては、仮に局1を基準にして考えるならば、局1→局2→局3→局4→局5→局1の順にパケットが巡回するものとする。
つまり、回線Aに関しては、局1から見れば、下流側の隣接局は局2であり、上流側の隣接局は局5であることになる。これより、図7に示す回線Aに係わる動作の場合、局1の送信データ(その中が“局1”である矩形)は、局2が受信することになる。また、局1は、この“局1”データ送信中に、図示のように、“局5”データを受信開始することになる。“局1”データと“局5”データの送信タイミングは同じであるが、通信路による遅延等によって、受信タイミングが多少遅れる。
上記局1に関する動作は、他局についても同様であり、例えば局3は、自局データを局4へ送信し、このデータ送信中に図示のように“局2”データを受信開始することになる。
そして、例えば局1は、上記“局5”データを受信完了すると、直ちに、この“局5”データを局2へ転送する。つまり、“局5”データを中継する。尚、受信データを全て受信し終わるまでは、この受信データを転送することは出来ない。そして、局1は、当該“局5”データの転送処理中に、図示のように今度は局5から転送されてくる“局4”データを、受信開始することになる。そして、受信完了したら、直ちに“局4”データを転送開始することになる。
その後も、局1は、図示のように、“局3”データ、“局2”データを順次、中継する(受信し転送する)ことになり、更にその後に図示のように“局1”データを受信することになる。つまり、自局データが回線Aを一巡して戻ってきたことになる。この場合、局1では、上記ステップS21の判定がNOとなり、以って上記ステップS23の処理を行う(受信した“局1”データを破棄する)。
他の局についても、上記局1の動作と略同様の動作を行うことになり、最後は自局の送信データを受信することになり、これを破棄することになる。勿論、これは図2(b)に示す一例の場合であり、上記の通り、この例に限らない。
このようにして、図7に示すように、全てのノード10が、殆ど空き時間なく、送受信処理を実行することになり、上記図16に示した従来手法に比べて、短時間で全ノード間のデータ交換が完了することは明らかである。そして、これより従来に比べて、データ量を増やしてもよいし、あるいは、サイクルタイマ15の設定値を小さくして、スキャン時間を短くしてもよい。
従来技術のように各ノード間の通信帯域が未使用状態とならないため、全ノード間で相互にデータ交換するために必要な時間が短縮され、残った帯域時間において更なるデータ交換が可能となり、ネットワーク上のデータ量を増やすことができる。また、この残った帯域時間を次スキャン時間として使用することで、データ交換周期の高速化を実現することができる。
また、ここでは上記のように回線Aの動作について説明したが、回線Bについても同様にしてパケットがリング型ネットワークを一巡することになる。そして、正常であれば上記の通り、各ノード10は、同じパケットを回線Aと回線Bの両方から受け取ることになる。そして、後から受け取ったパケットは、上記ステップS26の処理が実行されることになり破棄されることになる。
例えば局1は、上記回線Aに関しては“局5”データを、局5→局1によって受信することになり、早い段階で受信することになる。一方、回線Bに関しては“局5”データを、局5→局4→局3→局2→局1によって受信することになり、終盤で受信することになる。つまり、局1は“局5”データを、1回目は回線Aから受信し、2回目に回線Bから受信することになり、1回目はステップS25の処理を行うが、2回目はステップS26の処理を行うことになる。但し、これは一例であり、この例に限らず、例えば、1回目はステップS26の処理を行うが、2回目はステップS25の処理を行うようにしてもよい。このように、同一のフレームを2つ受信した場合には、先着優先または後着優先で一方を破棄し他方を受け取る。
また、図7に示す例は、全てのノード10の送信データ量が同じである場合を示しているが、本手法は、送信データ量が各局で異なる場合であっても、上記効果が得られるものである。これについて、図8に具体例を示して説明する。
尚、ここでは1つのパケットで送信できるデータ量に上限があるものとし、以って送信データ量が多い場合には複数のパケットに分けて送信するものとする。そして、図8に示す例では、局1と局4は1つのパケットのみ送信し、局2は3つのパケットを送信し、局3は2つのパケットを送信するものとする。つまり、局2が最も送信データ量が多く、次に多いのが局4ということになる。
また、図8では、図7とは異なり、図1に示す構成における動作を示すものとする。よって、ノード10の数は4台(局1、局2、局3、局4)である。そして、ここでは、回線Aに係わる動作のみを示し、回線Bについては省略している。回線Aでは、例えば、局1→局2→局3→局4→局1の順にパケットが一巡する。
図8において、4台の各局(局1、局2、局3、局4)は、それぞれ、例えばTS帯域の最初に自局のセンドタイマ16がタイマアップすることで、自局のデータを送信開始する。局1を例にすると、自局のデータ(“局1”データ)を送信開始し、この送信動作中に、“局4”データを受信開始する。“局1”データを送信完了し、その後、“局4”データを受信完了すると直ちに“局4”データを局2へ転送開始する。その後、2つの“局3”データを順次受信して、これらも順次、局2へ中継する。その後、3つの“局2”データを順次受信して、これらも順次、局2へ中継する。その後、“局1”データを受信したら、これは上記の通り破棄することになる(図2(b)の例の場合)。
続いて、図8に示す局2の動作について説明する。
上記のことから、局2は、3つの自局データ(“局2”データ)を送信することになる。ここで、例えばドライバ11が後述するFIFOメモリと送信専用チップ(IC等)を備える構成の場合、ドライバ11は上記3つの“局2”データをFIFOメモリに格納する。送信専用チップはFIFOメモリの格納データを順次取り出して送信する。まず、上記3つの“局2”データのうち最初の“局2”データを取り出して送信開始する。図示の例では、この送信処理中に“局1”データを受信開始しており、“局1”データを受信完了したらこれをFIFOメモリに格納する。更に、その後、“局4”データを受信開始し、“局4”データを受信完了したらこれをFIFOメモリに格納する。
送信専用チップはFIFOメモリの格納データを格納順に順次取り出して送信するので、上記の例では図示のように、まず、上記3つの“局2”データを順次送信し、続いて、“局1”データを送信し、その後、“局4”データを送信することになる。尚、“局1”データ、“局4”データの送信は、中継(転送)処理である。尚、送信先は下流の隣接局である局3である。
局2は、更に、2つの“局3”データも順次受信し、これらも既に受信済みの他局データを中継完了した後に、中継を行う。更に、3つの自局データ(“局2”データ)も順次受信することになるが、これら全て上記ステップS23により破棄することになる。
尚、上記の例では、自局データを受信したら破棄するものとしたが、この例に限らない。例えば、自局の下流側の隣接局が送信元であるパケットを受信したら、このパケットのデータを取得するが中継は行わない(例えば破棄する)ようにしてもよい。当然のことながら送信元はこのパケットのデータを取得する必要はなく、上記ステップS23のように単に破棄するだけなので、このパケットを中継する処理は無駄であり、この無駄を省く為に上記処理を行うようにしてもよい。これによって、更に短時間で全ノードのデータ交換が完了することになる。
局3、局4の動作についても上記局1、局2と略同様であり、説明は省略する。
ここで、図1(b)に示す構成を用いて、図8の動作について更に説明する。
まず、図1(b)に示すドライバ11は、不図示のFIFOメモリと送信専用チップとを備えるものとする。FIFOメモリと送信専用チップ(IC等)は、回線A用と回線B用が、それぞれ、設けられている。例えば、回線A用の送信専用チップは、回線A用のFIFOメモリに任意の1以上のデータフレームがある場合には、これを順次、回線A上に送信する。例えば、局2の場合、通信線12b上に(つまり局3に対して)データフレームを送信することになる。
一方、ドライバ11本体は、上記ステップS12またはステップS22の処理の際には、自局データフレームまたは受信したデータフレームを、該当するFIFOメモリに格納する処理を行うことになる。上記図8で説明した局2を例にすると、局2は、まずステップS12の処理で、3つのデータフレームより成る自局データを、回線A、回線B両系へ送信する。ここでは回線Aについてのみ説明するならば、回線Aに対応するFIFOメモリに、上記3つの“局2”データフレームを、順次、格納することになる。
これより、回線Aに対応する送信専用チップは、この3つの“局2”データフレームを、順次、通信線12b上に送信することになる。これより、図8で説明したように、局2は、3つの自局データ(“局2”データ)を順次、局3へ送信することになる。そして、この処理中に、図8で説明したように、局2は、“局1”データ、“局4”データ等を順次受信することになり、これらをステップS22の中継処理により、回線Aに対応するFIFOメモリに、順次格納することになる。これより、図8で説明したように、局2は、3つの“局2”データフレームを送信完了したら、続いて、“局1”データ、“局4”データ等を順次送信することになる。
但し、上記の例に限らす、FIFOメモリには、各データの格納場所を示す情報(ポインタ等)が格納されるようにしてもよい。送信専用チップは、FIFOメモリからポインタ等を順次取り出して、取り出したポインタ等が示す記憶領域のデータを送信する。この場合、例えば、中継処理の際には、受信用の所定の記憶領域(受信バッファ等)に受信データを格納していき、受信完了したら(受信データを格納完了したら)、この記憶領域(受信バッファ等)を示すポインタ等を、FIFOメモリに格納する。
図9(b)に上記ステップS21,S23の処理のイメージを示し、図9(a)に上記ステップS24,S26の処理のイメージを示す。
ここでは、各ノード10が図示のフィルタ33の機能を有するものとして説明する。フィルタ33によって、上記ステップS21,S23の処理やステップS24,S26の処理が、実現されるものとする。また、ここでは局1と局2のみ示すが、他の局もあっても構わない(省略しているものと見做して構わない)。そして、局1におけるパケット受信に係わる動作例を説明する。
まず、図9(a)に示すように、局2が自局データを送信した場合、これが回線A、回線Bを介して局1に渡される。これら両系からの2つのパケットを局1が受信したものが、図示の局2A回線フレーム31、局2B回線フレーム32である。フィルタ33は、これ2つのデータフレーム31,32のうちの何れか一方を、先着優先または後着優先で、図示の局2フレーム34として自局内に取り込む。
また、図9(b)では、局1が自局データを回線A、回線Bの両系に送信し、これらが局2等の他局によって中継されて、最終的には局1に戻ってきたものが、図示の局1A回線フレーム41、局1B回線フレーム42であるものとする。この場合、フィルタ33によって、これら2つのデータフレーム41、42の両方とも、上記ステップS23によって破棄する。
尚、本手法の適用対象となるネットワークトポロジは、上記リング型やライン型の例に限らない。例えば一例としては、図10に示すようなネットワークトポロジであっても構わない。尚、図10において任意の2つのノード10間を接続する各通信線46は、上記通信線12a、12b、12c、12dや通信線13a、13b、13c、13dに相当するものと見做しても構わない。また、本例の制御ネットワークシステムは、イーサネットに限るものでもない。
図11は、本例の制御ネットワークシステムの機能ブロック図である。
図11の制御ネットワークシステムは、複数のノード装置50から成り、例えば概略的には、複数のノード装置50が同時にデータ送信しても、通信干渉が起きないネットワークシステムである。
更に詳しくは、本手法の適用対象となるネットワークは、例えば、複数の通信線61から成り、各通信線がピアtoピアの関係で任意の2つのノード装置50間を接続して成るネットワークである。更に全二重回線である。つまり、上り用通信線と下り用通信線により構成される。つまり、各ノード装置50が同時にデータ送信しても、パケット衝突が起こることはないネットワーク構成である。更に、通信線61によって直接接続されていないノード装置50間の通信は、他のノード装置50が中継を行うことで実現するネットワークでもある。
そして、図11に示す例では、各ノード装置50は、それぞれ、第1タイマ51、データ送信部52、中継部53を有する。更に第2タイマ54を有するものであってもよい。第1タイマ51の一例が上記センドタイマ16であり、第2タイマ54の一例が上記サイクルタイマ15であると見做しても構わない。
データ送信部52は、所定のデータ交換周期毎に(スキャン時間内に)、第1タイマに51によって生成される所定のタイミングで、自装置のデータを隣接局へ送信する。尚、送信先は、下流の隣接局である。
中継部53は、任意の(上流の)隣接局からの送信データを受信した場合、該送信データを取得すると共に別の隣接局へ中継する。
そして、全てのノード装置50の上記第1タイマ51による所定のタイミングを、同一タイミングとなるようにすることを特徴とする。尚、同一とは完全に同一とは限らず、多少のズレがあっても構わない。つまり、同一は、ほぼ同一の場合も含むものとする。
例えば、全てのノード装置50の第1タイマ51の設定値を同一とすることで、全てのノード装置50の上記第1タイマ51による所定のタイミングを、同一タイミングとするものであるが、この例に限らない。尚、前提として、例えば、全てのノード装置50の上記第2タイマ54を、同期させておく必要があるが、この例に限らない。同期させる方法は、上記の通り、従来技術である。第2タイマ54によってデータ交換周期が生成される。
また、例えば、各ノード装置50がデータ送信部52によって送信したデータは、全て、他のノード装置50の中継部53によって中継されることで、データ交換周期内に全ての他のノード装置50に受信・取得されて全ノード装置間の相互のデータ交換が完了することになる。尚、受信・取得は、例えば、受信かつ取得の意味であるが、この例に限らない。
また、例えば、図11に示す例の制御ネットワークシステムは、複数の上記ノード装置50と複数の通信線61から成り、各通信線61が任意の2つのノード装置50間を接続している。そして、各ノード装置50は、自装置と通信線によって接続されている他のノード装置50である上記隣接局と通信可能である。通信線によって接続されていないノード装置間の通信は、他の1以上のノード装置50が上記中継部53によって中継することで実現する。
また、上記通信線61は、例えば全二重回線である。
また、例えば、図11の制御ネットワークシステムは、リング型またはライン型のネットワークであるが、この例に限らない。
あるいは、例えば、図11の制御ネットワークシステムは、リング型またはライン型のトポロジにて全二重の通信回線によって前記各ノード装置が接続されたネットワークである。そして、例えば、データ送信部52は、該全二重の両系に自装置のデータを送信する。
尚、図1には、リング型で全二重回線の例を示す。ライン型の全二重回線の例を図12に示す。図12の構成は、図1(b)において通信線12d及び通信線13dが、存在しない構成と見做して構わない。この様なライン型の構成の場合、各ノード10の送信データは、自局に戻ってくることなく、両端のノード10(この例では局1、局4)に到達した時点で中継は終了となる。
また、例えば、中継部53は、受信したデータの送信元が自装置であった場合には、中継を行わずに、該受信データを破棄する。
あるいは、例えば、中継部53は、受信したデータの送信元が下流側の隣接局であった場合には、中継を行わずに、該受信データを破棄する。
例えば、上記データ交換周期内に、全てのノード装置50の送信データが、それぞれ、上記中継が繰り返されることによって全ての他のノード装置50に受信されることで、全てのノード装置間のデータ交換が完了する。
また、ノード装置50は、CPU/MPU等の演算プロセッサやメモリ等の記憶部を備える。記憶部には予め所定のアプリケーションプログラムが記憶されている。演算プロセッサが、このアプリケーションプログラムを実行することで、上記データ送信部52や中継部53の処理機能が実現される。あるいは、演算プロセッサが、このアプリケーションプログラムを実行することで、上記図2(a)、(b)、図3、図4、図5に示すフローチャートの処理が、実現されるものと言うこともできる。
上述したように、本手法では、例えば特許文献2等のノード同期方法によってマスタノードのタイマと同期されたタイマを用いて、ネットワークを構成している全ノード10が、同時に自局データの送信を両隣の隣接ノードに行う。自局データの送信完了後は、全ノード10が、それぞれ、自ノードの一方の隣接ノードから受信したフレームデータを、他方の隣接ノードに対して中継する。このように、構成ノード間の全二重回線の伝送帯域を同時に使用し、伝送効率を高め、ネットワーク全体の伝送量の大容量化及びデータ交換周期の高速化の実現を可能とする。これより、例えば、リング型トポロジまたはライン型トポロジの全二重回線のネットワークシステムにおいて、ネットワーク上のデータ量を増やすことができるし、データ交換周期の高速化を実現することが可能となる。
尚、対象は制御用ネットワークシステムであり、上述したように所定のデータ交換周期毎に(スキャン時間内に)全てのノード間のデータ交換を完了する必要があり、以ってシステムを構成する各ノードが相互にデータ交換を、リアルタイム性を保証したうえで行う必要があるものであることを前提とする。
尚、本手法は、上述した実施例に限らない。例えば、適用対象は、上記“リング型トポロジまたはライン型トポロジの全二重回線のネットワークシステム”に限らない。トポロジがリング型やライン型に限らないことは既に述べた通りである。更に、全二重回線に限るものではなく、多重回線(4重回線など)であってもよいし、1回線であっても構わない。
一回線の場合、例えば図1に示す回線A、回線Bの各通信回線12,13のうちの何れか一方のみが、存在する構成となる。例えば、通信回線12のみが存在する構成となる。この様な構成例を、図13に示す。
また、1回線の場合には、サイクルタイマ15の同期をとる為に、例えば最初は図1に示す2回線の構成としてサイクルタイマ15の同期をとった後に、1回線の構成に変更して、1回線で運用させるようにするが、この例に限らない。例えば他の例としては全ノード10に電波時計を設けることで、各ノード10毎に自己の電波時計による時刻にサイクルタイマ15を合わせることで、結果的に全ノードのサイクルタイマ15が同期するようにしてもよい。
また、一回線の場合(ここでは、回線Aのみとする)、各ノード10の処理は、基本的には上記図2(a)、図3、図4、図5の処理と略同様であるが、一部が異なる。すなわち、まず、上記ステップS12の処理は、回線Aにのみデータ送信する処理となる。また、受信処理に関しては、両系から2つのパケットを受信することは無くなるので、ステップS24、ステップS43の処理は削除されることになる。
本発明の制御ネットワークシステム、そのノード10等によれば、データ交換が必要とされる全ノード10が相互にデータ交換する際、従来よりも短時間でデータ交換を完了させることができる。従い、本発明の制御ネットワークを使った制御システムではデータリフレッシュ周期(定期的)を高速化できるので、制御の高速化が図れる。さらには顧客システムにおける生産性向上などが期待できる。
本発明の制御ネットワークシステム、そのノード装置等によれば、データ交換が必要とされる全ノード装置が相互にデータ交換する際、従来よりも短時間でデータ交換を完了させることができる。従い、本発明の制御ネットワークを使った制御システムではデータリフレッシュ周期(定期的)を高速化できるので、制御の高速化が図れる。さらには顧客システムにおける生産性向上などが期待できる。

Claims (11)

  1. 複数のノード装置が相互にデータ交換する制御ネットワークシステムにおいて、
    前記各ノード装置は、
    所定のデータ交換周期毎に、該データ交換周期の開始から所定時間経過した所定のタイミングで、自ノード装置のデータを隣接ノード装置へ送信するデータ送信手段と、
    任意の隣接ノード装置からの送信データを受信した場合、該送信データを取得すると共に別の隣接ノード装置へ中継するが、前記受信したデータの送信元が下流側の隣接ノード装置であった場合には、前記中継を行わずに、前記受信したデータを破棄する中継手段と、
    前記所定のタイミングを生成する第1タイマとを有し、
    全てのノード装置の前記第1タイマが同一タイミングで起動し且つ同一時間後にタイマアップすることによって、前記全てのノード装置の前記所定のタイミングを同一タイミングとすることを特徴とする制御ネットワークシステム。
  2. 前記データ交換周期内に、全ての前記ノード装置の送信データが、それぞれ、前記中継が繰り返されることによって全ての他のノード装置に受信されることで、全てのノード装置間の相互のデータ交換が完了することを特徴とする請求項1記載の制御ネットワークシステム。
  3. 前記中継手段は、前記受信したデータの送信元が自ノード装置であった場合には、前記中継を行わずに、該受信データを破棄することを特徴とする請求項1記載の制御ネットワークシステム。
  4. 前記各ノード装置は、第2タイマを更に有し、
    該第2タイマによって前記データ交換周期が生成され、
    全てのノード装置の第2タイマは同期されていることを特徴とする請求項1記載の制御ネットワークシステム。
  5. 全てのノード装置の前記第1タイマの設定値を同一とすることで、前記全てのノード装置の前記第1タイマによる前記所定のタイミングを同一タイミングとすることを特徴とする請求項1記載の制御ネットワークシステム。
  6. 任意の前記ノード装置に係わる前記隣接ノード装置は、前記任意のノード装置と通信線によって接続され且つ前記任意のノード装置と直接通信可能である他のノード装置であることを特徴とする請求項1記載の制御ネットワークシステム。
  7. 前記制御ネットワークシステムは、複数の前記ノード装置と複数の通信線から成り、各通信線が任意の2つのノード装置間を接続しており、各ノード装置が前記通信線によって接続されている他のノード装置である前記隣接ノード装置と通信可能であり、通信線によって接続されていないノード装置間の通信は他の1以上のノード装置が中継することで実現するネットワークであることを特徴とする請求項1記載の制御ネットワークシステム。
  8. 前記制御ネットワークシステムは、リング型またはライン型のネットワークであることを特徴とする請求項1記載の制御ネットワークシステム。
  9. 前記制御ネットワークシステムは、リング型またはライン型のトポロジにて全二重の通信回線によって前記各ノード装置が接続されたネットワークであり、
    前記データ送信手段は、該全二重の両系に前記自ノード装置のデータを送信することを特徴とする請求項1記載の制御ネットワークシステム。
  10. 前記制御ネットワークシステムは、複数の前記ノード装置が同時にデータ送信しても、通信干渉が起きない制御ネットワークシステムであることを特徴とする請求項1記載の制御ネットワークシステム。
  11. 複数のノード装置が相互にデータ交換する制御ネットワークシステムにおける前記各ノード装置であって、
    所定のデータ交換周期毎に、該データ交換周期の開始から所定時間経過した所定のタイミングで、自ノード装置のデータを隣接ノード装置へ送信するデータ送信手段と、
    任意の隣接ノード装置からの送信データを受信した場合、該送信データを取得すると共に別の隣接ノード装置へ中継するが、前記受信したデータの送信元が下流側の隣接ノード装置であった場合には、前記中継を行わずに、前記受信したデータを破棄する中継手段と、
    前記所定のタイミングを生成する第1タイマとを有し、
    前記第1タイマが他の全てのノード装置における前記第1タイマと同一タイミングで起動し且つ同一時間後にタイマアップすることによって、前記所定のタイミングが前記他の全てのノード装置における前記所定のタイミングと同一タイミングであることを特徴とする制御ネットワークシステムにおけるノード装置。
JP2017534129A 2015-08-12 2016-06-27 制御ネットワークシステム、そのノード装置 Active JP6528847B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2015159659 2015-08-12
JP2015159659 2015-08-12
PCT/JP2016/069040 WO2017026180A1 (ja) 2015-08-12 2016-06-27 制御ネットワークシステム、そのノード装置

Publications (2)

Publication Number Publication Date
JPWO2017026180A1 JPWO2017026180A1 (ja) 2017-11-09
JP6528847B2 true JP6528847B2 (ja) 2019-06-12

Family

ID=57983081

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017534129A Active JP6528847B2 (ja) 2015-08-12 2016-06-27 制御ネットワークシステム、そのノード装置

Country Status (6)

Country Link
EP (1) EP3242445B1 (ja)
JP (1) JP6528847B2 (ja)
KR (1) KR101947569B1 (ja)
CN (1) CN107210940B (ja)
TW (1) TWI688239B (ja)
WO (1) WO2017026180A1 (ja)

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1188388A (ja) * 1997-09-08 1999-03-30 Toshiba Corp データ伝送システム及び方法並びにプログラムを記録した媒体
US6891828B2 (en) * 2001-03-12 2005-05-10 Network Excellence For Enterprises Corp. Dual-loop bus-based network switch using distance-value or bit-mask
JP4379237B2 (ja) * 2004-07-14 2009-12-09 ソニー株式会社 無線通信システム、無線通信装置及び無線通信方法、並びにコンピュータ・プログラム
JP4991254B2 (ja) * 2006-11-17 2012-08-01 株式会社東芝 二重リング・ネットワークの通信制御方法及び二重リング・ネットワークの伝送局
JP5351607B2 (ja) * 2009-05-22 2013-11-27 アズビル株式会社 ネットワークシステムおよびノード
EP2410697A1 (en) * 2010-07-20 2012-01-25 ABB Research Ltd. Frame transmission and communication network
EP2566110B1 (de) * 2011-08-30 2014-10-01 Siemens Aktiengesellschaft Verfahren zum Übertragen von Telegrammen in einem Automatisierungssystem
CN103209468B (zh) * 2012-01-17 2016-05-18 华为终端有限公司 无线传输的方法、接入点和站点
CN103249116B (zh) * 2012-02-13 2016-10-05 华为终端有限公司 确定邻居站点的方法、站点、接入点和通信系统
JP5930767B2 (ja) * 2012-02-23 2016-06-08 キヤノン株式会社 電子デバイス、通信制御方法
JP5631351B2 (ja) * 2012-03-28 2014-11-26 三菱電機株式会社 通信システム
JP5817785B2 (ja) * 2013-05-29 2015-11-18 株式会社安川電機 産業用デバイス、コントローラ、データ転送方法及びデータ送信方法

Also Published As

Publication number Publication date
EP3242445A4 (en) 2018-03-28
CN107210940A (zh) 2017-09-26
CN107210940B (zh) 2020-12-04
KR101947569B1 (ko) 2019-02-14
TW201711422A (zh) 2017-03-16
TWI688239B (zh) 2020-03-11
EP3242445B1 (en) 2020-08-19
JPWO2017026180A1 (ja) 2017-11-09
EP3242445A1 (en) 2017-11-08
WO2017026180A1 (ja) 2017-02-16
KR20180030458A (ko) 2018-03-23

Similar Documents

Publication Publication Date Title
US10164785B2 (en) Method for implementing a real-time industrial internet field broadband bus
US9906320B2 (en) Industrial network apparatus and data communication method
JP5849786B2 (ja) データブロック出力装置、通信システム、データブロック出力方法、及び通信方法
JP6265058B2 (ja) ネットワーク伝送システム、そのマスタノード、スレーブノード
TWI669937B (zh) 在非確定性網路上之網路裝置間傳輸資料之方法
JP6528847B2 (ja) 制御ネットワークシステム、そのノード装置
JP6687114B2 (ja) 制御ネットワークシステム、そのノード装置
KR101991114B1 (ko) 제어 네트워크 시스템, 그 노드 장치
TW201731265A (zh) 時間同步從裝置及通訊控制方法
JP2017063363A (ja) 通信システムおよびパケット交換装置
KR102595945B1 (ko) 산업용 IoT에서 사용되는 TSN 네트워크를 위한 비결정적 중단을 제거하는 공동 트래픽 라우팅 및 스케줄링 방법
Hagino et al. Frame transmission time control for TDMA-based ethernet
JP2004048491A (ja) PON(PassiveOpticalNetwork)システム
JP5677155B2 (ja) データ送受信装置及びデータ送受信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190404

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190429

R150 Certificate of patent or registration of utility model

Ref document number: 6528847

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250