JP2015115864A - データ転送システム及びデータ転送システムの制御方法 - Google Patents
データ転送システム及びデータ転送システムの制御方法 Download PDFInfo
- Publication number
- JP2015115864A JP2015115864A JP2013258061A JP2013258061A JP2015115864A JP 2015115864 A JP2015115864 A JP 2015115864A JP 2013258061 A JP2013258061 A JP 2013258061A JP 2013258061 A JP2013258061 A JP 2013258061A JP 2015115864 A JP2015115864 A JP 2015115864A
- Authority
- JP
- Japan
- Prior art keywords
- data transfer
- communication
- unit
- transfer
- frame
- 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
Links
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
【課題】制御系ネットワーク通信におけるリアルタイム性を損なうことなく、マルチキャスト通信を可能とする。【解決手段】転送フレームを生成、送信するマスタ60は、少なくとも一のデータ転送装置10を含む通信ネットワークを通じて、制御対象が接続されている複数のスレーブ70に接続されている。データ転送装置10はマスタ60と接続する通信ポートとスレーブ70と接続する通信ポートとを有する。データ転送装置10は、通信ネットワーク上に構成される複数のデータ転送経路に応じて、あらかじめ設定されている所定の期間にマスタ60から受信した転送フレームをメモリ上でコピーしてスレーブ70側の通信ポートに受け渡すことにより所定の期間内でデータ転送を完了させる。【選択図】図5
Description
本発明は、データ転送システム及びデータ転送システムの制御方法に関する。
1990年代前半、イーサネット(Ethernet、登録商標)は、情報系ネットワークでローカルエリアネットワーク(LAN)の通信媒体として使われていたが、リアルタイム性能の問題からファクトリーオートメーション(FA)システムへの適用は難しいとされていた。しかし、スイッチングハブの出現によって、この問題が劇的に改善されるに至り、また、インターネット普及も追い風になって、スイッチングハブが安価に入手できるようになったことで、イーサネットがFAシステム等の産業向けに使われるようになった(以下、「産業用イーサネット」と言う)。
産業用イーサネットは、1990年代中頃から、コントローラ間ネットワークに適用され、さらに2000年以後には生産現場等に設置されているアクチュエータ、センサ等をネットワークで接続する、フィールドネットワークにまで拡張されるに至っている。
一般に、制御系ネットワークシステムは、産業用イーサネットなどの制御ネットワークと、これに接続されているマスタ及び複数のスレーブから構成され、マスタが制御命令を搭載したフレームを送出し、各スレーブが当該フレームを受信してそれに含まれる制御命令を実行する。フレームには、各スレーブにおいて必要とされる情報が添付されることもある。
制御系ネットワークシステムに関し、例えば非特許文献1〜3に示すような技術がある。非特許文献1に記載のEtherCAT(登録商標)は、イーサネットベースのフィールドバスの規格である。この規格では、マスタは、1つのイーサネットのフレーム上の所定の領域に、複数のスレーブへの制御情報を書き込み、当該フレームを受信したスレーブはその制御情報を読み込んでアクチュエータ等の制御を行なう。またスレーブはセンサの情報を、当該イーサネットフレームの所定の領域に書き込んで、その情報をマスタに転送する。マスタが送信した1つのイーサネットフレームについては、全てのスレーブで読み込み及び書き込みが行われ、当該イーサネットフレームが再びマスタに返送されてくることで、1サイクル分の制御が完了する
このように、EtherCat等で実現される制御ネットワークは、一般的には、固定長のフレームを用いて、高精度リアルタイム通信あるいは短期間サイクリック通信を実現しており、マスタがフレームの送出をサイクリック制御することによって、ネットワークを含むシステム全体として同期制御を可能としている。
非特許文献2には、キーと値だけで構成されて、主にメモリ上に展開されるデータベースの発明が記載されている。当該データベースは、従来のハードディスク上に構成されるデータベースや、SQLを使ったデータベースと比較して、2桁以上の高速アクセス性能を実現していると言われている。このアクセス性能は、制御系ネットワークが必要とするリアルタイムでの所定時間内でのデータ処理を可能とする場合がある。
また、非特許文献3には回線交換方式の通信について記載されている。回線交換方式とは、通信開始から終了まで、物理的又は仮想的な伝送路を設定し、その伝送路を通信回線として占有して行う通信の交換方式、又はその方式によるデータ通信方式をいう。回線交換方式は、パケット通信のようにデータを蓄積し、流量・再送を行う必要がなく交換設備の機能が簡便で済む。また、通信回線を終端装置間で占有するため、基本的には、接続速度やQoS(Quality of Service)が保証され、輻輳などによる伝送遅延等の伝送時間の変動は原則として生じない。
"EtherCAT Master Application Developers Manual Doc. No.: P.4500.21 / Rev. 1.4, Page 22 of 151"、[online]、[平成25年7月12日検索]、インターネット<URL: http://www.esd-electronics-usa.com/Shared/Handbooks/EtherCATMasterDevelopersManual.pdf>
"Java development 2.0: Redis for the real world"、developerWorks、[online]、[平成25年7月12日検索]、インターネット<URL: http://www.ibm.com/developerworks/library/j-javadev2-22/>
"Introduction to WAN Technologies, 3 Circuit Switching"、[online]、[平成25年7月12日検索]、インターネット<URL: http://docwiki.cisco.com/wiki/Introduction_to_WAN_Technologies#Circuit_switching>
しかしながら、これらの文献に記載されている発明には、以下のような問題があると考えられる。まず、非特許文献1に記載の発明では、制御システムにおけるリアルタイム通信を実現するためには、イーサネットのフレームをリアルタイムで転送する専用装置が必要となるという問題がある。また、かかるリアルタイム通信を必要とする制御システムと、必要としないコンテンツ配信等のための情報システムとを同一の装置に接続することはできないという問題もある。後者の問題は、制御系のリアルタイムの通信が、情報系の非リアルタイムの通信によって損なわれるためである。
また、非特許文献2に記載のデータベースの発明は、高速のデータ読み書きを実現するためのものであるが、制御系システムにおけるリアルタイム性能とは、単にリアルタイム時間を越える高速アクセスが実現できるだけでは十分ではない。すなわち、リアルタイム性が破られる可能性が限りなく0に近いことでは足りず、確実に0でなければならない。この点、非特許文献2の技術は、確実なリアルタイム性が完全に保証されている訳ではない。
また、非特許文献3の回線交換方式では、通信回線を流れるデータ量にかかわらず、複数の端末による伝送路などの共有(マルチキャスト通信)ができないため、ネットワーク資源の利用効率が悪く、異なる速度の端末装置間での通信は比較的困難となる。また、通信中はその端末装置同士を接続している通信回線を占有しつづけるため、動的な経路切替は困難であり、また切替が可能であったとしても時間がかかる。
回線交換方式の代表例としては、加入電話回線ネットワーク「公衆交換電話網(PSTN、Public Switching Telephone Network)」がある。PSTNでは「SS7(Signaling System No.7(共通線信号No.7)」というプロトコルが用いられる。SS7は、回線制御装置に対して切替の制御命令の通信を行うが、制御ネットワークが要求する精度の速度で回線を切替えることはできない。基本的には、送信元が発信する送信先のアドレス(電話番号等)の入力毎に、回線制御装置に対して切替命令が行われるからである。
以上の課題を踏まえ、本発明は、制御系ネットワーク通信におけるリアルタイム性を損なうことなく、マルチキャスト通信を可能とするデータ転送システム等を提供することを目的としている。
上記の及び他の目的を達成するための、本発明の一態様は、転送フレームを生成して送信する第一の通信部と、前記転送フレームを受信して格納されているデータを読み出す複数の第二の通信部と、前記第一の通信部と前記第二の通信部とを通信可能に接続する通信ネットワーク、前記通信ネットワークを介して前記第一の通信部と前記第二の通信部とに接続されて前記第一の通信部と前記第二の通信部との間でのデータ転送を実行するデータ転送部とを備えるデータ転送システムであって、前記データ転送部は、前記データ転送を制御するためのデータ転送制御部と、前記転送フレームを格納する記憶部と、前記第一の通信部との間での前記転送フレームの送受信を実行する第一の通信ポートと、少なくとも一の前記第二の通信部との間での前記転送フレームの送受信を実行する第二の通信ポートとを備え、前記第一の通信部と時刻同期がなされており、前記記憶部は、前記第一の通信ポートが受信した前記転送フレームを格納する第一の記憶領域と、前記第二の通信ポートが送受信する前記転送フレームを格納する第二の記憶領域とを備え、前記データ転送制御部は、あらかじめ設定されている所定の期間に前記第一の通信ポートが前記転送フレームを受信した場合、当該転送フレームを前記第一の記憶領域に格納するとともに、前記第二の記憶領域に転送し、前記第二の通信ポートから送信させるデータ転送システムである。また、本発明の他の態様は、前記データ転送システムの制御方法である。
本発明のデータ転送システム等によれば、制御系ネットワーク通信におけるリアルタイム性を損なうことなく、マルチキャスト通信が可能となる。
以下、適宜添付図面を参照しながら本発明につき、その実施形態に即して説明する。まず、本発明の構成及び動作の理解を容易とするために、従来の制御系ネットワークの構成例について説明する。図1、図2に、従来の一般的な制御系ネットワークの概略構成例を示している。図1に示す制御系ネットワークは、非特許文献1に関して述べたような、イーサネットベースのフィールドバスである。図1の構成例では、生産ライン等のサイトSに、それぞれ異なる制御を実行するための制御A用ネットワークと制御B用ネットワークとが設けられている。例えば制御A用ネットワークは制御マスタ100に対して複数のスレーブ200が、通信線300によってデイジーチェーン構成で接続されている。制御マスタ100は、各スレーブ200への制御情報が書き込まれたフレームを通信線300に送出する。当該フレームを受信した各スレーブ200はその制御情報を読み込んで所定の制御を行なうとともに、各スレーブ200に接続されている端末デバイスからの情報を、当該フレームに書き込んで、次のスレーブ200に転送する。制御マスタ100が送信した1つのフレームについて全てのスレーブ200で読み込み及び書き込みが行われ、再び制御マスタ100に返送されてくることで、1サイクル分の制御が完了する。制御B用ネットワークでは、上記と同様の通信制御が別個に実行される。
また、図2に示すネットワークは、2台の制御マスタ100に複数のLANスイッチ250を通信線300で接続して構成されている。LANスイッチ250は周知のように、端末に付与されたID(MACアドレス等)を利用してパケットのスイッチングを実行するデバイスである。これにより、ネットワークに接続されている端末のグループ化が可能となっており、図2では、制御A用の制御マスタ100により制御される端末はVLAN#1の符号で識別される仮想グループを構成している。VLANの略号は、Virtual LANを表す。
これに対して、本発明の実施形態について例示すれば以下のとおりである。本発明の実施形態に係るデータ転送システム1は、時刻同期機能を有し、タイムテーブルに記載されたスケジュールに応じて所定のポート間でデータ転送を行うデータ転送装置、又は、スケジュールに応じてデータを送信し又は受信するマスタと、当該タイムテーブルを作成し、当該データ転送装置又は当該マスタに対して、当該タイムテーブルを配信するスケジュールサーバと、データを送信受信するスレーブとを有する。
スケジュールサーバは、所定の時刻に所定のマスタ−スレーブ間を接続する情報を、各データ転送装置のタイムテーブルに変換して、各データ転送装置に転送する。データ転送装置又はマスタは、時刻同期機能によって常に時刻の同期が行われ、上記タイムテーブルの内容に応じてポート間のデータ転送経路を切替える。マスタ−スレーブ間では、時刻同期機能によって常に時刻の同期が行われ、上記タイムテーブルの内容に応じて転送フレームを送信、又は受信する。
図3に、本発明の動作の概要の一例を示す。例えば、制御用のフレームを送信するマスタ60とデータ転送装置10とが通信線300によって通信可能に接続されている構成において、これらを時刻同期させて、マスタ60とデータ転送装置10による論理的な経路を所定の期間ごとに構成する。つまり、ある時刻になるとあるデータ転送装置10のあるポートに到着した転送フレームは、一度データ転送装置10のメモリの所定アドレスにコピーされた後、別のポートに転送する為のメモリの所定アドレスにコピーされることになる。当該所定の期間以外に到着した転送フレームは、データ転送装置10においてコピーされないようにすることもできる。
これによって、データ転送装置10において、1入力多出力の論理的なデータ転送装置を作ることによって、論理的な経路で直結された任意の形状のネットワーク経路が構築され、リアルタイム性を担保するマルチキャスト通信を可能とするデータ転送を実現することができる。
これを実現するためには、マスタ60とデータ転送装置10との間において、高精度の時刻同期が可能であることが前提となる。100km四方レベルの範囲を必要とする制御システム(電力系統管理システム、鉄道運行管理システム等)を想定すると、例えば、GPS(Global Positioning System)を利用した時刻同期等で実現することができる。ただし、NTP(Network Time Protocol)、あるいはIEEE1588を用いたもの等、本発明の実施形態であるデータ転送システム1が適用される制御システムとして要求される時刻同期の精度を担保するものであれば、限定はない。
以上のような構成により、本発明の実施形態に係るデータ転送システムによれば、図3に示すように、ネットワーク内の論理的な経路を時刻単位で変化させることによって、複数のマルチキャスト通信を可能とするリアルタイムなデータ転送が可能となる。
次に、本発明について、その実施形態による実施例の構成に即して説明する。
第一の実施例
図4は、一般的な制御系システムとしてのデータ転送システム1の構成を示す図である。マスタコントローラ60(第一の通信部。以下、「マスタ60」という。)は、サーボドライブ、I/O、温湿度計、温湿度調整器、インバータ、ステッピングモータ等の被制御対象、又は被制御対象との間に介在するインターフェース装置であるスレーブデバイス70(第二の通信部。以下、「スレーブ70」という。)と、制御用イーサネット80(以下、「制御LAN80」という。)によって、通信可能にカスケード接続されている。
図4は、一般的な制御系システムとしてのデータ転送システム1の構成を示す図である。マスタコントローラ60(第一の通信部。以下、「マスタ60」という。)は、サーボドライブ、I/O、温湿度計、温湿度調整器、インバータ、ステッピングモータ等の被制御対象、又は被制御対象との間に介在するインターフェース装置であるスレーブデバイス70(第二の通信部。以下、「スレーブ70」という。)と、制御用イーサネット80(以下、「制御LAN80」という。)によって、通信可能にカスケード接続されている。
マスタ60は、制御対象機器への制御命令のリクエストを搭載した転送フレームを送出し、スレーブ70は、それぞれ各スレーブ単位に割り当てられた転送フレームの領域のデータを読み出し、制御命令によって指定される制御内容を実行し、その実行結果、その他のセンサデータ等を転送フレームに書き込む。スレーブ70は、当該転送フレームを次のスレーブ70に順次転送し、最後にマスタ60に戻す。各データの書き込み、読み込みは、転送フレームをフレーム単位で転送する為、リアルタイム性が保証されたデータ転送が可能となる。この点について具体的には後述する。
スケジュールサーバ20は、マスタ60と、イーサネット、RS−232C等の通信回線によって接続されており、上記の転送フレームへのデータの割り当て領域や、マスタ60がスレーブ70にサイクリックに転送する転送フレームの周期を設定する機能を有する。マスタ60、スレーブ70、及びスケジュールサーバ20は、後述するような、通信機能を有するコンピュータとして構成されている。
次に、本実施例の通信ネットワークを介した制御系システムの構成例について説明する。図5は、本実施例の通信ネットワークを介した制御系システムを構成するデータ転送システム1の構成例を示す図である。なお、構成要素のうち、マスタ60、スレーブ70、スケジュールサーバ20については、図4のものと同じである。
データ転送装置10(データ転送部)は、他のデータ転送装置10、マスタ60、及びスレーブ70を相互に通信可能に接続するネットワーク機器である。図5の構成例では、データ転送装置10間はスター状のネットワークを構成しているが、本発明はこのネットワーク形態に限られるものではない。またネットワークを構成する通信媒体も特に限定されるものではない。
データ転送装置10は、スケジュールサーバ20、マスタ60、又は制御LAN80と接続される複数のポートを有し、自己の所有するタイムテーブルに従って、所定の時間になったら、2以上のポート間のデータ転送のみを実施することで、論理的にポート間を接続する。
マスタ60は、ネットワークインターフェースを有し、あらかじめ図5のデータ転送システム1に関して設定されている所定の時間になったら、所定の転送フレームを送信し、あるいは受信する。
制御LAN80は、マスタ60から受信する転送フレームをスレーブ70に転送する。スレーブ70は、受信した転送フレームに含まれる制御命令を読み出し、また転送フレームに制御結果の情報を書き込み、制御LAN80を介して順次接続されているスレーブ70に転送していく。最後のスレーブ70は、制御LAN80を介して、転送フレームを、マスタ60に転送する。
なお、本実施例においては、制御LAN80、およびマスタ60、データ転送装置10を接続するネットワーク媒体として、イーサネット、又は広域イーサネット(Wide Area Network、WAN)を例として説明することとするが、特にこのネットワーク媒体に限定されるものではない。また、これらのネットワークには双方向通信を可能とする2以上の物理的又は仮想的な通信線を有するものを含むが、図中においては煩雑さを避けるためにその記載を一本の線で単純化している。
また、図5の構成例において、データ転送装置10とマスタ60との間では、高精度の時刻同期が施されているものとする。この時刻同期の方式は、例えばGPSを使った方式、NTPによる方式、IEEE1588に準拠する方式等、必要となる時刻同期の精度を担保するものであれば、限定はない。本実施例については、一例としてGPSを使った時刻同期方式を例として説明する。なお、GPSを使用した時刻同期方式については、“The Role of GPS in Precise Time and Frequency Dissemination” [online][平成25年1月12日検索] インターネット、<URL:http://ilrs.gsfc.nasa.gov/docs/timing/gpsrole.pdf>に詳しく記載されている。
なお、以下の説明において、複数のデータ転送装置10、マスタ60を互いに識別するために、データ転送装置10については、TM_A、TM_B等の符号を、マスタ60については、Cont_α、Cont_β等の符号を付すこととする。
次に、本実施例のスケジュールサーバ20(スケジュール管理部)について説明する。図6は、スケジュールサーバ20のハードウェア構成例を示す図である。スケジュールサーバ20は、各種データ演算を実行するためのプロセッサであるCPU22、CPU22で実行されるプログラム及び各種データの記憶領域を提供するRAM(Random Access Memory)、ROM(Read Only Memory)等の記憶デバイスであるメモリ23、キーボード24やマウス25等のデータ入力デバイスを制御する入出力コントローラ26、各種データ表示を行う表示モニタ271を制御するモニタコントローラ27、及びイーサネットネットワークインターフェースカード(NIC)等で構成される通信インターフェース21を具備する。これらの各部は、バス28により相互に通信可能に接続されている。スケジュールサーバ20には、HDD(HardDisk Drive)、SSD(Solid State Drive)等の補助記憶デバイスを設けることもできる。通信インターフェース21は、データ転送装置10とイーサネットで接続されるが、これらに限定されるものではなく、RS−232C等、その通信媒体や通信手段は問わない。
次に、データ転送装置10について説明する。図7は、データ転送装置10のハードウェア構成例を示す図である。データ転送装置10は、複数のNIC11、メモリ13、GPS受信機兼1PPS生成器15、PLL周波数シンセサイザ17、及びマイクロコンピュータ19(データ転送制御部。以下「マイコン19」)を具備する。NIC11、メモリ13(記憶部)、及びPLL周波数シンセサイザ17は、マイコン19とそれぞれ接続されている。NIC11は制御LAN80に応じた構成を有するインターフェースカードであり、制御LAN80を介して他のデータ転送装置10、スレーブ70、及びスケジュールサーバ20と通信可能に接続される。
GPS受信機兼1PPS生成器15は、GPSアンテナANTと接続され、アンテナANTを介してGPS衛星から受信するGPS信号に基づいて精密な1PPS(Pulse Per Second(1秒間隔のパスル))信号を生成し、PLL周波数シンセサイザ17に転送する。PLL周波数シンセサイザ17は、この1PPS信号からマイコン19が必要とするクロック周波数のクロック信号を生成する。この1PPS信号に同期したクロック信号を使うことによって、各データ転送装置10、マスタ60を互いに時刻同期させて稼動させることが可能となる。
マイコン19は、接続されている各NIC11で受信された他の機器からのデータを、所定のタイムスケジュールに従ってあて先の機器に接続されているNIC11へ出力する機能を、メモリ13に格納されているプログラムを用いて実現する。このデータ転送機能は、本実施例の制御系システムにおいて、データ転送のリアルタイム性を担保するための主要な機能である。
次に、マスタ60について説明する。図8は、マスタ60のハードウェア構成例を示す図である。マスタ60は、スケジュールサーバ20と同様に、各種データ演算を実行するためのプロセッサであるCPU62、CPU62で実行されるプログラム及び各種データの記憶領域を提供するRAM(Random Access Memory)、ROM(Read Only Memory)等の記憶デバイスであるメモリ63、キーボード66やマウス67等のデータ入力デバイスを制御する入出力コントローラ65、各種データ表示を行う表示モニタ641を制御するモニタコントローラ64、及びイーサネットネットワークインターフェースカード(NIC)等で構成される通信インターフェース68を具備する。これらの各部は、バス69により相互に通信可能に接続されている。通信インターフェース68は、データ転送装置10と制御LAN80によって接続される。
次に、マスタ60に設けられている通信インターフェース68について説明する。図9は、前述した通信インターフェース68のハードウェア構成例を示す図である。通信インターフェース68は、NIC688、メモリ689、GPS受信機兼1PPS生成器682、PLL周波数シンセサイザ684、及びマイクロコンピュータ686(以下「マイコン686」)を具備する。NIC688、メモリ689、及びPLL周波数シンセサイザ684は、マイコン686とそれぞれ接続されている。NIC688は制御LAN80に応じた構成を有するインターフェースカードであり、制御LAN80を介してデータ転送装置10と通信可能に接続される。
マイコン686と、NIC688は、データ転送装置10へのデータ送信用とデータ転送装置10からのデータ受信用の2つの接続を有している。周波数シンセサイザ684、GPS信号兼1PPS生成器682の機能、作用については、前述の図6に関して説明したマスタ60の場合と同じである。なお、本実施例においては、通信インターフェース68について、マイコン686を使用して制御する態様で説明しているが、これに限定されるものではない。例えば通信インターフェース68の機能を、FPGA等を用いて実現しても、本実施例の効果、作用に影響を与えるものではない。
次に、本実施例での制御系システムで使用されるデータフレームの構造について説明する。図10は、一般的なイーサネットフレームと、2種類の転送フレームを示す図である。イーサネットフレームは、プリアンブル(PA)611、送信先アドレス(DA)612、送信元アドレス(SA)613、タイプ614、データ615、及びフレームチェックシーケンス(FCS)616からなる。この一般的なイーサネットフレームの構造については、例えば“Ethernet Technologies” [online][平成25年1月12日検索]インターネット、<http://docwiki.cisco.com/wiki/Ethernet_Technologies>に詳細に記載されているため、ここでは特に説明しない。
本実施例においては、図10の#A、#Bで示される2種類の転送フレームを使用するものとしている。これらのフレームは、イーサネットフレームのデータ615に格納される。なお、#Bのフレームは、マスタ60とスレーブ70との間においてフォーマットが規定されていれば自由に使用してよく、制御の種類に応じて、必要な分だけ用意することができる。#Aの転送フレームにおいて、ヘッダ領域6151は、マスタ60がフレームの種類をスレーブ70に知らせるために使用されるヘッダ領域であり、データ領域6152、6153は、スレーブ70用に準備されたフレーム上のデータ領域である。これらの領域に、マスタ60、又はスレーブ70がビット単位で制御命令やセンサ情報等のデータを搭載する。このフレーム構成に関しては、例えば、EtherCAT Master Application Developers Manual.Doc: P4500.21 /Rev.1.4 Page20 of 151 [online][平成25年1月12日検索]インターネット、<URL: http://www.esd-electronics-usa.com/Shared/Handbooks/EtherCATMasterDevelopersManual.pdf>に詳しく記載されている。
次に、以上の構成を踏まえて、本実施例のデータ転送システムの作用について、順次説明する。まず、本実施例のデータ転送システム1の初期情報について説明する。図11は、スケジュールサーバ20から入力される、本実施例によるリアルタイムデータ転送システム1に関する初期情報を示す初期情報テーブル234である。初期情報とは、データ転送システム1において実現されるべき通信ネットワークを表現した基本仕様ともいうべき情報であり、あらかじめデータ転送システム1に要求される仕様に従って設計、作成される。初期情報テーブル234は、T−LAN2341、マスタ2342、制御LAN2343、通信期間2344、及び通信周期2345の項目を有する。T−LAN2341とは、本実施例の時刻単位で形態を変化するデータ転送システムであり、時分割(time-multiplexed)制御LAN(以下「T−LAN」という。)のエントリ番号が入力される。優先度はエントリ番号が若い順に高いものとする。すなわち、T−LAN2341が#1のデータ転送システムと#2とが競合した場合には、#1の構成が優先される。
マスタ2342、制御LAN2343の列には、マスタ60とそのマスタ60が制御する制御LAN80を識別する文字列をペアで入力する。マスタ60と制御LAN80によって、所定の時刻にマルチキャスト通信を可能とするT−LANが構築される。通信期間2344、通信周期2345は、それぞれ、当該T−LANが有効となる期間とそれを繰り返す周期とを入力する。T−LAN#1を例として説明すると、マスタ60(Cont_α)と制御LAN80(CLAN_1)が、本実施例の広域のリアルタイムデータ転送システム1を構成するのは、5msの期間であり、それが10ms周期で行われることを示す。なお、このT−LANを構成する装置やネットワークは、それぞれいくつ存在してもよい。
次に、スケジュールサーバ20の機能について説明する。図12は、スケジュールサーバ20のメモリ23に格納されているソフトウェア構成と、その動作を説明する図である。まず、スケジュールサーバ20には、キーボード24、マウス25を通じて、外部インターフェースドライバ(以下「外部I/Fドライバ」という。)231を介して、初期情報設定モジュール232に対して、初期システム情報が入力される。外部I/Fドライバ231は、スケジュールサーバ20へのデータ入出力を管理する機能部である。
ここで、入力される初期システム情報とは、データ転送装置10の切替期間(本実施例では1ms)、又は繰り返し最大値周期(本実施例では20ms)である。なお、1518バイト長のフレームを100Mbpsのイーサネットで使う場合、切替期間を最小125μ秒程度まで設定することが可能である。繰り返し周期は、本実施例のネットワークを利用する制御系システムの転送フレームの送信周期に依存して設定されることになる。例えば、転送フレームを1秒周期で送信することを必要とする制御系システムがあれば、その最大値は1000msとする必要がある。
初期情報設定モジュール232は、これらの初期システム情報を外部I/Fドライバ231から受信して、例えば図11に例示した初期情報テーブル234に、切替期間2346、繰り返し周期2347として格納する。初期情報テーブル234に記録されるT−LAN2341、マスタ2342、及び制御LAN2343の各項目も、キーボード24等を介して入力される。
次に、スケジュールサーバ20では、リソース割当モジュール233が、初期情報テーブル234を参照して、各ネットワーク(T−LAN#1等)へのネットワークリソースの割り当てを実施する。リソース割り当ての成否は、外部I/Fドライバ231を介して、スケジュールサーバ20に通知され、モニタ271等に出力される。リソース割り当てに成功した場合、リソース割当モジュール233によって、後述する全体タイムテーブル235(全体構成情報記憶部)、個別タイムテーブル236(個別スケジュール情報)、及び配布時刻スケジュール237のファイルが作成される。これらのファイルは、メモリ23に格納される。
タイムテーブル配信モジュール238は、スケジュールサーバ20の時刻情報を監視し、配布時刻スケジュール237に記載されている配布時刻になったと判定した場合、個別タイムテーブル236を、NIC I/Fドライバ239を介して、データ転送装置10又はマスタ60に配信する。この配信方法に関しては特に限定はなく、ネットワーク経由で行っても、オフラインで実施してもよい。以上のようにして、スケジュールサーバ20において、各制御系システムが利用するデータ転送システムに必要なネットワークリソースの割り当てと、それにより各データ転送システムが構成されることとなるタイムスケジュールが設定される。
次に、上記したリソース割当モジュール233によるリソース割当処理について説明する。図13は、リソース割当モジュール233によるデータ処理を例示するフローチャートである。リソース割当処理は、例えばスケジュールサーバ20が起動された後開始し(S100)、その稼働中、キーボード24等を通じて新規リソース割当のリクエストを受信するのを待機する(S101、No)。
リソース割当モジュール233が新規のT−LANに対するリクエストを確認すると(S101、Yes)、初期情報テーブル234を参照した後、当該リクエストを入力し(S102)、全体タイムテーブル235にエントリを追加する(S103)。次に、リソース割当モジュール233は、リクエストされたT−LANについてリソース割り当てが可能かどうかを判断する(S104)。
S104での判断処理においては、例えば、同時刻に2以上の異なるT−LANが同じネットワークリソースを使うこととなる場合には、リソース割り当てが不可能となる旨の判断が行われることになる。但し、T−LANが異なる経路で設定できる場合や、時刻をずらすことでリソース割り当てが可能となる場合は、当該競合しているT−LANに対してリソース割り当て可能となる。
リソース割り当ての可否を判定する方法としては、各種のアルゴリズムを利用することができるが、ここではダイクストラ法を一例として説明する。図5に示すTM_A、TM_B、TM_C、及びTM_Dの4つのデータ転送装置10からなるネットワークを考えると、同時刻においてデータ転送装置10間のネットワークが同時に使用されないようにリソース割り当てをすればよい。ダイクストラ法を適用するに際しては、各データ転送装置10間のネットワークコストの初期値を1と設定する。勿論、1以外の値を使って、ネットワークの利用頻度を変更させるようにしてもよい。また、ある時刻において、各データ転送装置10間のネットワークが使用されている場合は、コストを無限大(以下「∞」と記載)とする。
図11の初期情報テーブル234に示すT−LAN#1を構成する場合、TM_AからTM_Bに到達する経路を算出する必要があるが、この場合TM_AとTM_Bを直結するネットワークを利用すると最小コストは1となるので、この経路で確定する。次にT−LAN#2を構成する場合、すでにTM_AとTM_Bを直結する最小コストは∞となっているので、これを使うことはできない。TM_AとTM_Cを直結するコストは1であり、またTM_AとTM_Dを直結するコストも1である。TM_CとTM_Bを直結するコストも1であるので、TM_A、TM_C、TM_Bを経由するコストは、合計で2となる。次に、TM_DとTM_Cを直結するコストは1となるので、TM_A、TM_D、TM_Cを経由するコストはこの段階で2となり、TM_AとTM_Cを直結するコストである1より大きくなるので採用できない。TM_A、TM_D、TM_Bを経由するコストは2となるので、この場合、TM_A、TM_C、TM_Bを経由する経路と、TM_A、TM_D、TM_Bを経由する経路のどちらを採用してもよい。ここでは同じコストであれば、最初に見つかった方の経路を採択するアルゴリズムを採用する。最後に、T−LAN#3を構成する場合、既にTM_AとTM_Bを直結する経路と、TM_AとTM_Cを直結する経路はコスト∞であるので、採用できない。そこで、TM_AとTM_Dを直結する経路がコスト1で成立するので、これを採用する。上記の3つの経路は、いずれの時刻においても成立するため、このまま固定することになる。後述する図24に示すような変形例の場合には、TM_B、TM_C間のネットワーク経路の利用が重複するため、同じ時刻にリソース割り当ては不可能となる。この場合には、リソースを割り当てる時刻をずらして、割り当てが可能となるかを調べる(S105)。この方法については後述する。
S104で割り当てが可能である場合は(S104又はS105、Yes)、リソース割当モジュール233は、全体タイムテーブル235へのエントリ追加を確定し、個別タイムテーブル236を作成する(S106)。その後、リソース割当モジュール233はS101に戻って新規リクエストを待機する。一方、リソース割り当てが不可能であると判定された場合には(S105、No)、リソース割当モジュール233は、全体タイムテーブル235へのエントリを削除し、リソース割り当てが不可能である旨をスケジュールサーバ20のモニタ271等を通じて出力する(S107)。S101において更なるT−LANの追加リクエストが存在しないと判定した場合は(S101、No)、リソース割当モジュール233は処理を終了する(S108)。以上のリソース割当処理により、ネットワークを使用しようとする複数のデータ通信システム(制御系システム)に対して効率的なリソース割り当てを行うことができる。
次に、上記のリソース割当処理によって作成される全体タイムテーブル235について説明する。図14は、本実施例における全体タイムテーブル235の構成例を示す図である。図11に例示した初期情報テーブル234に記録されているリアルタイム性を保証するデータ転送システム10の初期情報に基づき、まずT−LAN#1の情報が入力される。すると、図12に示すリソース割当モジュール233は、T−LAN#1のマスタ60であるCont_αと、制御対象のLANであるCLAN_1を接続する経路を探す。この場合、図5のネットワーク構成を参照すると、Cont_α−TM_A−TM_B−CLAN_1の経路が利用可能であるので、この経路を確定する。次に、T−LAN#1の通信期間1140、通信周期1150と、繰り返し最大値周期(20ms)を考慮して、全体タイムテーブル235に記録する(符号2351)。なお、全体タイムテーブル235において、通信時刻の000〜019は、各データ転送装置10と各マスタ60で同期している時刻であり、具体的には、例えば「011」とは、12時34分56.011秒、同分56.031秒、同分56.051秒のように、20ms間隔に繰り返される時刻を示すものである。
次に、初期情報としてT−LAN#2の情報が入力されると、リソース割当モジュール233は、マスタ60であるCont_βと制御対象のLANであるCLAN_2を接続する経路を探す。この場合、図5のネットワーク構成を参照すると、同じ時刻にT−LAN#1がTM_A−TM_Bを利用するのでこの経路は使えない。そこで、リソース割当モジュール233は、前記したダイクストラ法によりCont_β−TM_A−TM_C−TM_B−CLAN_1の経路を確定して、全体タイムテーブル235に記録する(符号2352)。
次に、T−LAN#3の情報が入力されると、同様にして、リソース割当モジュール233は、Cont_γとCLAN_4を接続する経路を探す。その結果、リソース割当モジュール233は、Cont_β−TM_D−CLAN_4の経路を確定して、全体タイムテーブル235に記録する(符号2353)。
次に、リソース割当モジュール233は、全体タイムテーブル235に基づき、データ転送装置10、又はマスタ60用の個別タイムテーブル236を作成する。以上のようにして、全体タイムテーブル235に、初期情報テーブル234の通信期間2344、通信周期2345の条件を満たしたT−LAN#1〜#3が設定される。
次に、個別タイムテーブル236について説明する。図15は、TM_Aで特定されるデータ転送装置10のための個別タイムテーブル236を作成するためのTM_Aに接続されるデータ転送装置10の構成図である。図中、符号0〜5は、データ転送装置TM_Aが有するNIC11のポート番号を示している。また、図16は、図15の構成図をマトリックスで示す図である。リソース割当モジュール233は、全体タイムテーブル235から、TM_Aの記載のある記述を読み取る。図14に例示する本実施例の全体タイムテーブル235には、TM_Aが割り当てられているT−LANとして、#1(Cont_α−TM_A−TM_B−CLAN_1)と、#2(Cont_β−TM_A−TM_C−TM_B−CLAN_2)の2つがあり、TM_Aは、Cont_αとTM_Bのペアと、Cont_βとTM_Cのペアを中継していることが分かる。この情報を図16のマトリックスにあてはめることで、図15のペアとなるべきポート番号が明らかになる。ここでは、「1−2」と「3−5」のポートペアが抽出されることになる。
図17に、本実施例での個別タイムテーブル236を例示している。図17中で、(TM_A用)は、TM_A用の個別タイムテーブル236と対応するポート番号のペアを示す図であることを表している。「1−2」の表現は、TM_Aのポート1とポート2は、T−LAN#1を実現する為に、時刻000から004の間と010から014の間に論理的に接続されることを示している。また同様に、TM_Aについて、「3−5」の表現は、ポート3とポート5は、T−LAN#2を実現する為に、時刻000から003の間に論理的に接続されることを示している。
同様に、図17の(TM_B用)は、TM_B用の個別タイムテーブル236と対応するポート番号のペアを示す図である。「5−1」の表現は、ポート5とポート1は、T−LAN#1を実現するために、時刻000から004の間と010から014の間に論理的に接続されることを示している。また、「3−2」の表現は、ポート3とポート2は、T−LAN#2を実現するために、時刻000から003の間に論理的に接続されることを示している。
また、図17の(TM_C用)は、TM_C用の個別タイムテーブル236と対応するポート番号のペアを示す図である。「2−3」の表現は、ポート2とポート3は、T−LAN#2を実現するために、時刻000から003の間に論理的に接続されることを示している。
また、図17の(TM_D用)は、TM_D用の個別タイムテーブル236と対応するポート番号のペアを示す図である。「5−4」の表現は、ポート5とポート4は、T−LAN#3を実現するために、時刻000、005、010、015から1msの間に論理的に接続されることを示している。TM_A〜TM_Dの各データ転送装置10は、図17に例示する個別タイムテーブル236に設定されているようにポート間を接続することにより、T−LAN#1〜#3で特定されるデータ転送システムを所望の条件を満たすように設定することができる。
次に、マスタ60に関する個別タイムテーブル236について説明する。図18は、図5に例示されているマスタ60としてのCont_α、Cont_β、Cont_γがそれぞれ、制御対象であるCLAN_1,CLAN_2,CLAN_3へ転送フレームを送出することを許容される期間を示す個別タイムテーブル236の構成例である。各マスタ60については、図17に例示する各データ転送装置10について設定された通信期間に対応してポートがオープンされるように、個別タイムテーブル236が作成されている。この個別タイムテーブル236は、スケジュールサーバ20によって、所定のタイミングで各マスタ60に配信される。
次に、データ転送装置10の機能を実現するソフトウェア構成とその動作について説明する。図19は、データ転送装置10に搭載されているマイコン19のソフトウェアの構成と動作を示す図である。本実施例におけるデータ転送装置10の機能は、主として個別タイムテーブル受信モジュール192及び時刻ベース転送切替モジュール193とによって実現される。個別タイムテーブル受信モジュール192は、スケジュールサーバ20から個別タイムテーブル236、配布時刻スケジュール237、又はその配布時刻スケジュール237に記載されたタイミングで起動する個別タイムテーブルを、ネットワーク経由で、又はオフラインで受信する。時刻ベース転送切替モジュール193は、個別タイムテーブル236と時刻同期された時刻を使って所定のポートのビットを読み取り、別のポートに書き出す処理を実行する。また、配布時刻スケジュール237に記載された時刻が到来した場合、個別タイムテーブル237を新しい個別タイムテーブル237に変更し、古いものを廃棄する処理を実行する。なお、配布時刻スケジュール237は、例えばメモリ13に、マイコン19が定期的に個別タイムテーブル236の更新を実行すべき時刻情報として格納しておけばよい。
次に、データ転送装置10の時刻ベース転送切替モジュール193が実行する処理について説明する。図20は、時刻ベース転送切替モジュール193の動作を示すフローチャートである。時刻ベース転送切替モジュール193は、データ転送装置10の起動とともに処理を開始し(S1930)、GPS信号と時刻同期されたクロックによって起動するマイコン19のタイマー割り込みを確認する(S1931)。マイコン19のタイマー割り込みを検知すると、時刻ベース転送切替モジュール193は、現在時刻を取得し(S1932)、個別タイムテーブル236を参照する。時刻ベース転送切替モジュール193は、個別タイムテーブル236の内容と対照して、フレームが到着したのが個別タイムターブル236で割り当てられているポートであるか判定する(S1935)。割り当てられているポートであると判定した場合(S1935、Yes)、時刻ベース転送切替モジュール193は、指定された一方のポートから作られる1以上の転送フレームが完成しているかどうかを確認する(S1934)。指定された一方のポートから作られる1以上の転送フレームが完成していると判定した場合(S1934、Yes)、時刻ベース転送切替モジュール193は、指定された他方のポート用のメモリに転送フレームをコピーする(S19341)。これを次のタイマー割り込みが発生するまで繰り返す(S1931)。一方、データを受信したのが個別タイムターブル236で割り当てられているポートでないと判定した場合(S1935、No)、時刻ベース転送切替モジュール193は、受信した転送フレームをメモリにコピーすることなく廃棄して(S1936)、タイマー割り込み確認ステップに戻る(S1931)。
なお、データ転送装置10のメモリ13には、それぞれのNIC11ごとに、インカミング転送フレーム及びアウトゴーイング転送フレーム用のメモリ領域(第一の記憶領域、第二の記憶領域)が確保されており、マイコン19は、自身の内蔵メモリ内にそれぞれの転送フレーム用メモリ領域のアドレスを格納している。これにより、マイコン19は、個別タイムテーブル236によって指定される通信期間に、接続されているべきポート間で到着した転送フレームをコピーすることでポート間の接続を確立することができる。
次に、マスタ60に搭載されている通信インターフェース68の機能を実現するためのソフトウェア構成とその動作について説明する。図21は、マスタ60の通信インターフェース68が有するマイコン686が実行するソフトウェアの構成と動作を示す図である。本実施例における通信インターフェース68の機能は、主として個別タイムテーブル受信モジュール6862及び時刻ベース転送切替モジュール6863とによって実現される。
個別タイムテーブル受信モジュール6862は、スケジュールサーバ20から個別タイムテーブル236、配布時刻スケジュール237、又はその配布時刻スケジュール237に記載されたタイミングで起動する個別タイムテーブル236をネットワーク経由で受信する。時刻ベースフレーム送出モジュール6863は、個別タイムテーブル236と時刻同期された時刻を使って、所定のメモリ領域に格納されている転送フレームを読み取りNIC688に転送フレームで送出し、NIC688は同じく転送フレーム単位でネットワークに送出する。また、時刻ベースフレーム送出モジュール6863は、配布時刻スケジュール237に記載された時刻が到来した場合、個別タイムテーブル236を新しい個別タイムテーブル236に更新し、古いものを廃棄する。なお、配布時刻スケジュール237は、例えばメモリ689に、マイコン686が定期的に個別タイムテーブル236の更新を実行すべき時刻情報として格納しておけばよい。
図22は、メモリ689内に構成されるインカミング転送フレーム用及びアウトゴーイング転送フレーム用のメモリ領域6891を示す模式図である。CLANのポートがオープンするタイミングで、CLAN用アウトゴーイング転送フレーム用のメモリ領域68911から転送フレーム単位で情報が転送される。また、同じようにCLAN用インカミング転送フレーム用のメモリ領域68912から転送フレーム単位で情報が格納される。
図23は、時刻ベースフレーム送出モジュール6863の動作を例示するフローチャートである。時刻ベースフレーム送出モジュール6863は、通信インターフェース68の起動とともに処理を開始し(S68630)、GPS信号と時刻同期されたクロックによって起動するマイコン686のタイマー割り込みを確認する(S68631)。マイコン686のタイマー割り込みを検知すると、時刻ベースフレーム送出モジュール6863は、現在時刻を取得し(S68632)、個別タイムテーブル236を参照する(S68633)。
現在時刻と個別タイムテーブル236の内容とを比較して個別タイムターブル236で割り当てられている時刻であると判定した場合(S68634、Yes)、時刻ベースフレーム送出モジュール6863は、1つ以上の転送フレームが完成しているか判定し(S68635)、完成していると判定した場合(S68635、Yes)、指定されたCLAN用アウトゴーイング転送フレーム用のメモリ領域68691に格納された転送フレームをNIC688に転送し、あるいはNIC688から転送されてきた転送フレームをCLAN用インカミング転送フレーム用のメモリ領域68692に格納する(S68636)。時刻ベースフレーム送出モジュール6863は、この処理を次のタイマー割り込み(S68631)が発生するまで繰り返す。一方、個別タイムターブル236で割り当てられている時刻でないと判定した場合(S68634、No)、時刻ベースフレーム送出モジュール6863は、転送フレームを廃棄して(S68637)、S68631の処理に戻る。このようにして、マスタ60の通信インターフェース68では、個別タイムテーブル236に設定されている所定の期間に所定のデータ転送装置10との間でネットワークの接続が確立される。
図24は、本実施例における構築情報(初期情報)によって構成されるT−LAN#1〜#3を示す図である。本実施例においては、いずれのT−LANもその経路が重複していないので、T−LANが設定される時刻の調整を考慮する必要はない。なお、本実施例においては、時刻同期の方法としてGPSの利用を想定しているが、これに限定するものではなく、ネットワーク同期方式であるNTPやIEEE1588などを用いてもよい。あるいは、本実施例の個別タイムテーブル236を用いた時刻同期を行ってもよい。例えば、スケジュールサーバ20から、通信時刻000から1msの間は、例えば、時刻同期用のトリガ信号を全てのデータ転送装置10およびマスタ60が受信できるように、事前に個別タイムテーブル236に記載しておくようにする。各データ転送装置10、マスタ60では、そのトリガを受信することによって、互いに同期するように時刻を補正することができる。
第二の実施例
次に、本発明の第二の実施例に係るデータ転送システム1について説明する。図25は、本実施例によるデータ転送システム1の構成を例示する図であり、第一の実施例のT−LAN#3の構成が変更されている。
次に、本発明の第二の実施例に係るデータ転送システム1について説明する。図25は、本実施例によるデータ転送システム1の構成を例示する図であり、第一の実施例のT−LAN#3の構成が変更されている。
本構成のT−LAN#3は、第一の実施例でのT−LAN#3に対して、制御対象としてCLAN5、CLAN6が追加されており、Cont_γ−CLAN4−CLAN5−CLAN6で構成されるネットワークである。この場合、TM_CとTM_Bとの間の経路を、T−LAN#2とT−LAN#3とが共用することになるため、両方のネットワークが同じ時刻にネットワークリソースを共用することができない点で第一の実施例とは異なる。また、T−LAN#3の転送フレームは、CLAN4からCLAN5を経由してCLAN6に至るために、CLAN4、CLAN5はそれぞれ2つのポートを使う点も第一実施例とは異なる。
図26は、図14に例示した第一実施例における全体タイムテーブル235の作成アルゴリズムを使って再構成した、本実施例の全体タイムテーブル235である。このように、T−LAN#3の構成タイミングを4msずらすことによって、TM_CとTM_Bの経路が共用される問題は回避できることになる。割り当ての可否を判定する方法としては、各種のアルゴリズムを用いることができるが、ここでは第一実施例に関して説明したダイクストラ法を一例として説明する。
本実施例では、図25に示すTM_A、TM_B、TM_C、TM_Dの各データ転送装置10からなるネットワークにおいて、同時刻においてデータ転送装置10間のネットワークが同時に使用されないようにリソースの割り当てをすればよい。ダイクストラ法を適用するに際して、各データ転送装置10間のネットワークコストの算定は、第一実施例で説明した通りである。
まず、図26に示すT−LAN#1を構成する場合、TM_AからTM_Bに到達する経路を算出する必要があるが、この場合TM_AとTM_Bを直結するネットワークを利用すると最小コストは1となるので、この経路で確定する。
次に、T−LAN#2を構成する場合、すでにTM_AとTM_Bを直結する最小コストは∞となっているので、これを使うことはできない。TM_AとTM_Cを直結するコストは1であり、またTM_AとTM_Dを直結するコストも1である。TM_CとTM_Bを直結するコストも1であるので、TM_A、TM_C、TM_Bを経由するコストは、合計で2となる。次に、TM_DとTM_Cを直結するコストは1となるので、TM_A、TM_D、TM_Cを経由する場合は、この段階で2となり、TM_AとTM_Cを直結するコストである1より大きくなるので採用できない。TM_A、TM_D、TM_Bを経由するコストは2となるので、この場合、TM_A、TM_C、TM_Bを経由する経路と、TM_A、TM_D、TM_Bを経由する経路のどちらを採用してもよいこととなる。ここでは、2つの経路が同じコストであれば、最初に見つかった方の経路を採択するアルゴリズムを採用する。
次に、T−LAN#3の構成を考える。T−LAN#3ではTM_D、TM_C、TM_Bの順番で接続する必要があるため、TM_DとTM_Cが接続され、かつ同時に、TM_CとTM_Bが接続されることが条件と考えればよい。TM_DとTM_Cを接続するには、これを直結するコストが1となるので、確定的にこの経路で決定する。しかし、TM_CからTM_Bに到達する経路については、TM_CとTM_Bのコストが∞であり、TM_CとTM_Aのコストも∞であり、またTM_AとTM_Bのコストも∞であるので、同じ時刻にT−LAN#3を、T−LAN#1、T−LAN#2と併存させる方法はない。
そこで、すでに成立しているT−LAN#1及びT−LAN#2のスケジュールを固定したまま、T−LAN#3が成立し得る時刻の検索を開始する。T−LAN#3の通信時刻を1msずつずらしながら、対応するT−LAN#1及びT−LAN#2の構成が設定されていない時間を検索すると、004の時刻においてT−LAN#2が設定されていないことが検知できる。この時刻において、TM_CからTM_Bに到達する経路については、TM_CとTM_Bのコストが1であり、TM_CとTM_Aのコストも1であるが、TM_AとTM_Bのコストは∞のままであるので、TM_CとTM_Bを直結するコストが1となりこの経路で確定する。仮に時刻004において、T−LAN#3が成立した場合に、要求される5ms周期で繰り返し設定したとしても、T−LAN#3が成立するかどうかを、上記のようにして全て調べる。その結果、T−LAN#3がT−LAN#1及びT−LAN#2と競合することなく成立すると判断された場合、全体タイムテーブル235のエントリを確定することとなる。なお、上記のようにしてT−LANの通信時刻をシフトしてもネットワークリソースの競合を解消することができない場合には、スケジュールサーバ20は、当該T−LANを設定することができない旨の情報を、表示モニタ271等を通じて出力することができる。
以上のようにして全体タイムテーブル235が設定されたことにより、本実施例では、図27に例示する個別タイムテーブル236が作成される。すなわち、データ転送装置TM_B用の個別タイムテーブル236としては、T−LAN#3用としてポート3とポート6を接続するエントリが追加されることになる。また、データ転送装置TM_C用の個別タイムテーブル236としては、ポート1とポート4、ポート3とポート6を接続するエントリが追加されることになる。また、データ転送装置TM_D用の個別タイムテーブル236としては、ポート3とポート6を接続するエントリが追加されることになる。さらに、T−LAN#3のマスタ60であるCont_γについては、図27に例示するように、全体タイムテーブル235においてT−LAN#3が構成されるタイミングで、転送フレームを送出することが許容される(ポートがオープンとなる)内容が記録される。
本実施例によれば、時間的に複数の制御系システムが競合してリソースの割り当てが行えない場合にも、優先度が低い制御系システムの構成タイミングを他の制御系システムに対してシフトさせることにより、ネットワークリソースの制限内で可能な限りの数の制御系システムを、リアルタイム性を担保しつつ構成させることができる。これにより、ハードウェアとしてのネットワークを複数のリアルタイム制御系システムにより共用することが可能となり、運用コストの低減が可能となる。
第三の実施例
次に、本発明の第三の実施例について説明する。第三の実施例は、本発明のデータ転送システム1を、鉄道運行管理システムに適用した事例である。図28は、本実施例の鉄道運行管理システムの構成例を示す図である。同図に示すように、マスタ60(Cont_α)を含むT−LAN#1は、リング状の鉄道路線の運行管理を行うための情報伝送を担当しており、マスタ60(Cont_β)を含むT−LAN#2は、当該リング状の鉄道路線の一部を共用する別の鉄道路線の運行管理を行うための情報伝送を担当している。ここで、マスタ60は、各鉄道路線に設置された信号71、ポイント72を制御する。
次に、本発明の第三の実施例について説明する。第三の実施例は、本発明のデータ転送システム1を、鉄道運行管理システムに適用した事例である。図28は、本実施例の鉄道運行管理システムの構成例を示す図である。同図に示すように、マスタ60(Cont_α)を含むT−LAN#1は、リング状の鉄道路線の運行管理を行うための情報伝送を担当しており、マスタ60(Cont_β)を含むT−LAN#2は、当該リング状の鉄道路線の一部を共用する別の鉄道路線の運行管理を行うための情報伝送を担当している。ここで、マスタ60は、各鉄道路線に設置された信号71、ポイント72を制御する。
本実施例においては、ネットワークは、鉄道路線の路線形状とは無関係に敷設されているが、ネットワークに含まれる全てのデータ転送装置10は、スケジュールサーバ20、マスタ60からいずれかのデータ転送装置10を経由して、信号71、ポイント72に転送フレームを届けることができる。転送フレームは、路線単位で、時刻分割して所定の路線用の信号71又はポインタ72に届けられるため、ネットワークを路線毎に設置する必要はなく、ネットワークの経路リソースを有効に活用することができる。また、新しい路線が作られた場合であっても、その路線専用のネットワークを敷設する必要はなく、設定によって所望の運行管理用ネットワークを構成することが可能となる。本実施例が、第一、第二の実施例と異なる点は、EtherCatと異なり、転送フレームをマスタ60に戻す必要がないことである。各マスタ60から送信される転送フレームは、スレーブである信号71、ポイント72に転送されて終了する。従って、転送フレームは各データ転送装置10において複製して、転送することで、各鉄道路線用のネットワークのマルチキャストを実現することができる。本実施例では、T−LAN#1とT−LAN#2とが交互に10ms単位でネットワークに割り当てられる。
図29に、本実施例における全体タイムテーブル235の構成例を示している。図29は20msの期間におけるネットワーク上のデータ転送システム構成を示しており、ここでは、前記のように、T−LAN#1とT−LAN#2とが10msずつ交互に構成することが示されている。
図30には、図29の全体タイムテーブル235に基づく個別タイムテーブル236の構成例が、データ転送装置TM_D、TM_G、及びTM_Aについて示されている。すなわち、図30では、図28に例示するCont_αをマスタ60とするT−LAN#1を構成するために、時刻000〜009の期間には、TM_Dのポート間2−4、2−5、2−6が接続され、TM_E、TM_Fを経由して、TM_Gではポート間3−1が接続されている。また、図28に例示するCont_βをマスタ60とするT−LAN#2を構成するために、時刻010〜019の期間にはTM_Dのポート間3−5、3−6が接続され、TM_E、TM_Fを経由して、TM_Gではポート間3−2が、TM_Cを経由してTM_Aではポート間1−2が接続されている。
本発明の実施形態によれば、データ転送装置10及びマスタ60は、スケジュールサーバ20から配信されたスケジュールに応じて指定の時刻に指定の経路を構築することができる。各データ転送装置10及びノードは転送フレームを、バッファリングを行わない制御フレーム単位で転送するため、リアルタイム性が保証されたデータ転送が可能となる。
また、本発明によれば、データ転送装置10は、一入力多出力のデータ転送を行うことによって、リアルタイム性が保証されたマルチキャストのデータ転送を実現することができる。
また、本発明によれば、時刻ごとにデータ転送装置10によって転送フレームの経路を切り換えることによって、周期的に形態の異なるマルチキャスト通信を実現することができる。
1 データ転送システム 10 データ転送装置 11 NIC
13 メモリ 15 GPS受信機兼1PPS生成器
17 PLL周波数シンセサイザ17 19 マイコン
20 スケジュールサーバ
21 ネットワークインターフェースカード 22 CPU
23 メモリ 24 キーボード 25 マウス
26 入出力コントローラ 27 モニタコントローラ
60 マスタ 61 ネットワークインターフェースカード
62 CPU 63 メモリ 68 ネットワークインターフェースカード
70 スレーブ 80 制御LAN
192 個別タイムテーブル受信モジュール
193 時刻ベース転送切替モジュール
232 初期情報設定モジュール
234 初期情報テーブル234 233 リソース割当モジュール
235 全体タイムテーブル 236 個別タイムテーブル
237 配布時刻スケジュール 238 タイムテーブル配信モジュール
239 NIC I/Fドライバ
682 GPS受信機兼1PPS生成器
684 PLL周波数シンセサイザ684
686 マイコン 688 メモリ
6862 個別タイムテーブル受信モジュール
6863 時刻ベース転送切替モジュール
13 メモリ 15 GPS受信機兼1PPS生成器
17 PLL周波数シンセサイザ17 19 マイコン
20 スケジュールサーバ
21 ネットワークインターフェースカード 22 CPU
23 メモリ 24 キーボード 25 マウス
26 入出力コントローラ 27 モニタコントローラ
60 マスタ 61 ネットワークインターフェースカード
62 CPU 63 メモリ 68 ネットワークインターフェースカード
70 スレーブ 80 制御LAN
192 個別タイムテーブル受信モジュール
193 時刻ベース転送切替モジュール
232 初期情報設定モジュール
234 初期情報テーブル234 233 リソース割当モジュール
235 全体タイムテーブル 236 個別タイムテーブル
237 配布時刻スケジュール 238 タイムテーブル配信モジュール
239 NIC I/Fドライバ
682 GPS受信機兼1PPS生成器
684 PLL周波数シンセサイザ684
686 マイコン 688 メモリ
6862 個別タイムテーブル受信モジュール
6863 時刻ベース転送切替モジュール
Claims (10)
- 転送フレームを生成して送信する第一の通信部と、前記転送フレームを受信して格納されているデータを読み出す複数の第二の通信部と、前記第一の通信部と前記第二の通信部とを通信可能に接続する通信ネットワーク、前記通信ネットワークを介して前記第一の通信部と前記第二の通信部とに接続されて前記第一の通信部と前記第二の通信部との間でのデータ転送を実行するデータ転送部とを備えるデータ転送システムであって、
前記データ転送部は、前記データ転送を制御するためのデータ転送制御部と、前記転送フレームを格納する記憶部と、前記第一の通信部との間での前記転送フレームの送受信を実行する第一の通信ポートと、少なくとも一の前記第二の通信部との間での前記転送フレームの送受信を実行する第二の通信ポートとを備え、前記第一の通信部と時刻同期がなされており、
前記記憶部は、前記第一の通信ポートが受信した前記転送フレームを格納する第一の記憶領域と、前記第二の通信ポートが送受信する前記転送フレームを格納する第二の記憶領域とを備え、
前記データ転送制御部は、あらかじめ設定されている所定の期間に前記第一の通信ポートが前記転送フレームを受信した場合、当該転送フレームを前記第一の記憶領域に格納するとともに、前記第二の記憶領域に転送し、前記第二の通信ポートから送信させる、
データ転送システム。 - 請求項1記載のデータ転送システムであって、
前記データ転送部は、他の少なくとも一の前記第二の通信部との間での前記転送フレームの送受信を実行する第三の通信ポートをさらに備え、
前記記憶部は、前記第三の通信ポートが送受信する前記転送フレームを格納する第三の記憶領域をさらに備え、
前記データ転送制御部は、所定の期間に前記第一の通信ポートが前記転送フレームを受信した場合、当該転送フレームを前記第一の記憶領域に格納するとともに、前記第二の記憶領域及び前記第三の記憶領域に転送し、前記第二の通信ポート及び前記第三の通信ポートから送信させる、
データ転送システム。 - 請求項1記載のデータ転送システムであって、
前記第一の通信部と所定の前記第二の通信部とを含んで構成される複数のネットワーク構成と、各当該ネットワーク構成が確立していることを要求される所定の期間とを関連付けて記憶している全体構成情報記憶部と、前記全体構成情報記憶部の記憶内容から、各前記ネットワーク構成において、前記第一の通信部が対応する前記第二の通信部と通信を行う期間、及び前記データ転送部において、前記第一の通信ポートと前記第二の通信ポートとの間で前記転送フレームの転送を実行する期間とを含む個別スケジュール情報を生成して、前記第一の通信部及び前記データ転送部に配信するスケジュール管理部をさらに備えている、
データ転送システム。 - 請求項1記載のデータ転送システムであって、
前記データ転送制御部は、前記所定の期間以外の時間帯に前記第一の通信ポートが受信した前記転送フレームのデータを前記記憶部に格納することなく廃棄する、
データ転送システム。 - 請求項3記載のデータ転送システムであって、
前記スケジュール管理部は、前記全体構成情報記憶部の記憶内容において、一の前記ネットワーク構成が含む前記データ転送部間のデータ転送経路と他の前記ネットワーク構成が含む前記データ転送部間のデータ転送経路とが同一期間で競合していると判定した場合、いずれかの前記ネットワーク構成が確立される期間を時間的にシフトさせることにより、前記データ転送経路の競合を解消する、
データ転送システム。 - 請求項5記載のデータ転送システムであって、
前記スケジュール管理部は、前記全体構成情報記憶部の記憶内容において、一の前記ネットワーク構成が含む前記データ転送部間のデータ転送経路と他の前記ネットワーク構成が含む前記データ転送部間のデータ転送経路とが同一期間で競合していると判定し、かついずれの前記ネットワーク構成が確立される期間を時間的にシフトさせても、前記データ転送経路の競合を解消することができないと判定した場合、所望のネットワーク構成を確立することができない旨の情報を出力する、
データ転送システム。 - 請求項3記載のデータ転送システムであって、
前記全体構成情報記憶部の記憶内容は、前記ネットワーク構成が要求する前記転送フレームの転送周期のうちで、最も長い転送周期に相当する時間分だけ設定される、
データ転送システム。 - 転送フレームを生成して送信する第一の通信部と、前記転送フレームを受信して格納されているデータを読み出す複数の第二の通信部と、前記第一の通信部と前記第二の通信部とを通信可能に接続する通信ネットワークと、前記通信ネットワークを介して前記第一の通信部と前記第二の通信部とに接続されて前記第一の通信部と前記第二の通信部との間でのデータ転送を実行するデータ転送部とを備え、前記データ転送部は、前記データ転送を制御するためのデータ転送制御部と、前記転送フレームを格納する記憶部と、前記第一の通信部との間での前記転送フレームの送受信を実行する第一の通信ポートと、少なくとも一の前記第二の通信部との間での前記転送フレームの送受信を実行する第二の通信ポートとを備え、前記記憶部は、前記第一の通信ポートが受信した前記転送フレームを格納する第一の記憶領域と、前記第二の通信ポートが送受信する前記転送フレームを格納する第二の記憶領域とを備えるデータ転送システムの制御方法であって、
前記第一の通信部と前記データ転送部との間で時刻同期をとり、
前記データ転送制御部により、あらかじめ設定されている所定の期間に前記第一の通信ポートが前記転送フレームを受信した場合、当該転送フレームを前記第一の記憶領域に格納するとともに、前記第二の記憶領域に転送し、前記第二の通信ポートから送信させる、
データ転送システムの制御方法。 - 請求項8記載のデータ転送システムの制御方法であって、
前記データ転送部は、他の少なくとも一の前記第二の通信部との間での前記転送フレームの送受信を実行する第三の通信ポートをさらに備え、
前記記憶部は、前記第三の通信ポートが送受信する前記転送フレームを格納する第三の記憶領域をさらに備え、
前記データ転送制御部により、所定の期間に前記第一の通信ポートが前記転送フレームを受信した場合、当該転送フレームを前記第一の記憶領域に格納するとともに、前記第二の記憶領域及び前記第三の記憶領域に転送し、前記第二の通信ポート及び前記第三の通信ポートから送信させる、
データ転送システムの制御方法。 - 請求項8記載のデータ転送システムの制御方法であって、
前記データ転送システムは、前記第一の通信部と所定の前記第二の通信部とを含んで構成される複数のネットワーク構成と、各当該ネットワーク構成が確立していることを要求される所定の期間とを関連付けて記憶している全体構成情報記憶部と、前記全体構成情報記憶部の記憶内容から、各前記ネットワーク構成において、前記第一の通信部が対応する前記第二の通信部と通信を行う期間、及び前記データ転送部において、前記第一の通信ポートと前記第二の通信ポートとの間で前記転送フレームの転送を実行する期間とを含む個別スケジュール情報とを生成して、前記第一の通信部及び前記データ転送部に配信するスケジュール管理部をさらに備えている、
データ転送システムの制御方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013258061A JP2015115864A (ja) | 2013-12-13 | 2013-12-13 | データ転送システム及びデータ転送システムの制御方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013258061A JP2015115864A (ja) | 2013-12-13 | 2013-12-13 | データ転送システム及びデータ転送システムの制御方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2015115864A true JP2015115864A (ja) | 2015-06-22 |
Family
ID=53529269
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2013258061A Pending JP2015115864A (ja) | 2013-12-13 | 2013-12-13 | データ転送システム及びデータ転送システムの制御方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2015115864A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019058861A1 (ja) * | 2017-09-25 | 2019-03-28 | オムロン株式会社 | 制御システムおよび制御装置 |
| JP2020025155A (ja) * | 2018-08-06 | 2020-02-13 | オムロン株式会社 | 通信システム、通信装置および通信方法 |
| CN111683396A (zh) * | 2020-05-28 | 2020-09-18 | 为麦智能科技(天津)有限公司 | 信息处理方法、系统及电子设备 |
| WO2025197503A1 (ja) * | 2024-03-21 | 2025-09-25 | ソニーグループ株式会社 | 通信装置、ロボットの通信方法、及び、ロボット |
-
2013
- 2013-12-13 JP JP2013258061A patent/JP2015115864A/ja active Pending
Cited By (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019058861A1 (ja) * | 2017-09-25 | 2019-03-28 | オムロン株式会社 | 制御システムおよび制御装置 |
| JP2019062288A (ja) * | 2017-09-25 | 2019-04-18 | オムロン株式会社 | 制御システムおよび制御装置 |
| CN111034128A (zh) * | 2017-09-25 | 2020-04-17 | 欧姆龙株式会社 | 控制系统以及控制装置 |
| US11082197B2 (en) | 2017-09-25 | 2021-08-03 | Omron Corporation | Control system and control device |
| CN111034128B (zh) * | 2017-09-25 | 2022-04-05 | 欧姆龙株式会社 | 控制系统以及控制装置 |
| JP2020025155A (ja) * | 2018-08-06 | 2020-02-13 | オムロン株式会社 | 通信システム、通信装置および通信方法 |
| WO2020031908A1 (ja) * | 2018-08-06 | 2020-02-13 | オムロン株式会社 | 通信システム、通信装置および通信方法 |
| JP7014091B2 (ja) | 2018-08-06 | 2022-02-01 | オムロン株式会社 | 通信システム、通信装置および通信方法 |
| CN111683396A (zh) * | 2020-05-28 | 2020-09-18 | 为麦智能科技(天津)有限公司 | 信息处理方法、系统及电子设备 |
| CN111683396B (zh) * | 2020-05-28 | 2023-10-03 | 为麦智能科技(天津)有限公司 | 信息处理方法、系统及电子设备 |
| WO2025197503A1 (ja) * | 2024-03-21 | 2025-09-25 | ソニーグループ株式会社 | 通信装置、ロボットの通信方法、及び、ロボット |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101164264B (zh) | 用于对两个总线系统进行同步的方法和设备以及由两个总线系统组成的装置 | |
| US8850058B2 (en) | Ethernet-based data transmission method, ethernet nodes and control system | |
| JP5793690B2 (ja) | インタフェース装置、およびメモリバスシステム | |
| CN100417145C (zh) | 通过交换式数据网络传输数据的方法和系统 | |
| JP7396393B2 (ja) | 制御システム、装置および制御方法 | |
| JP6449430B2 (ja) | ネットワーク装置用の時刻同期方法、装置及び時刻同期サーバ | |
| CN101454763A (zh) | 用于在串行总线之间传输数据的网关 | |
| JP2015115864A (ja) | データ転送システム及びデータ転送システムの制御方法 | |
| CN111835656B (zh) | 工业互联网中基于优先级的业务实时编排方法 | |
| US20050066062A1 (en) | Method and device for determining time in a bus system and corresponding bus system | |
| US9614749B2 (en) | Data processing system and method for changing a transmission table | |
| JP5372699B2 (ja) | 車載ネットワーク装置 | |
| CN119631362A (zh) | 同步数据网络系统及对其进行初始化和同步的方法 | |
| CN1559126B (zh) | 运行等时的周期性通信系统的方法 | |
| JP2011165185A (ja) | タイムトリガ型バスシステムの作動方法 | |
| WO2014102993A1 (ja) | パケット中継装置、パケット転送方法および通信システム | |
| JP6114386B2 (ja) | 大規模コンピュータネットワークにおける最適な時間制御経路を構築するための方法 | |
| WO2014167703A1 (ja) | ネットワークシステム、通信方法、及び、ネットワーク装置 | |
| JP6939665B2 (ja) | ネットワークシステム | |
| JP2018174445A (ja) | 仮想lanの時刻同期方法 | |
| WO2023238501A1 (ja) | データ通信システム、データ通信方法、中継装置、中継方法、及びプログラム | |
| JP2018032344A (ja) | 分散同期処理システムおよび分散同期処理方法 | |
| US20040114582A1 (en) | Electronic switching circuit and method for a communication interface with buffer storage | |
| JP6039592B2 (ja) | 動的帯域割当を行うネットワークで用いられるスケジューラ及びプログラム | |
| CN104065707A (zh) | 基于计算与通信协同设计的时间触发调度系统 |