(57)【要約】【課題】複数のノードが非同期に送信した制御機器宛のデータが一時に集中することを緩和できるようにする。【解決手段】タイミング制御装置３において、複数のノード７１から制御機器１宛に送信された各データを受信し、受信した各データの複数の通信ポート１３−ｉ（ｉ＝１〜Ｎのいずれかで、Ｎは２以上の整数）への送信タイミングを、通信ポート１３−ｉ間でずらすように制御する。【選択図】図７
2012195868.tif 000002
【特許請求の範囲】
【請求項１】
制御システムを成す複数のノードと通信するための複数の通信ポートを備えた制御機器に接続されるタイミング制御装置であって、
複数の前記ノードから前記制御機器宛に送信された各データを受信する受信処理部と、
前記受信した各データの前記複数の通信ポートへの送信タイミングを、前記通信ポート間でずらすように制御する制御部と、
を備えた、タイミング制御装置。
【請求項２】
前記受信処理部は、
前記受信した各データを一時的に記憶するバッファメモリを備え、
前記制御部は、
前記バッファメモリから前記各データを読み出すタイミングを制御することで前記送信タイミングの制御を行なう、請求項１に記載のタイミング制御装置。
【請求項３】
前記制御部は、
前記バッファメモリへの前記各データの記憶が完了した順番で前記バッファメモリからの当該データの読み出しをそれぞれ開始する、請求項２に記載のタイミング制御装置。
【請求項４】
前記制御部は、
前記各データの１つの読み出しが完了してから、前記各データの他の１つの読み出しを開始する、請求項３に記載のタイミング制御装置。
【請求項５】
前記制御部は、
前記各データの１つの読み出しを開始してから完了するまでに、前記各データの他の１つの読み出しを開始する、請求項３に記載のタイミング制御装置。
【請求項６】
前記制御機器は、前記各通信ポートに接続されたパラレル通信バスを備え、
前記パラレル通信バスの転送レートは、前記各データの前記制御機器への転送レートよりも高い、請求項５に記載のタイミング制御装置。
【請求項７】
複数のノードと、
前記複数のノードと通信するための複数の通信ポートを備えた制御機器と、
前記制御機器に接続されるタイミング制御装置と、を備え、
前記タイミング制御装置は、
複数の前記ノードから前記制御機器宛に送信された各データを受信し、前記受信した各データの前記複数の通信ポートへの送信タイミングを、前記通信ポート間でずらすように制御する、制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の一態様は、制御システムを成す複数のノードから受信したデータを制御機器に送信する際のタイミングを制御する技術に関する。
【背景技術】
【０００２】
イーサネット（登録商標）通信路により接続した複数のノードからなる制御システムを冗長化する技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−２００５５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術では、複数のノードがそれぞれイーサネット通信路へ非同期にデータを送信する。そのため、例えば当該イーサネット通信路に接続された制御機器に複数のノードからのデータが一時に集中し、制御機器の処理負荷が瞬間的に上がってしまうことがある。
【０００５】
本発明の目的の１つは、複数のノードが送信した制御機器宛のデータが一時に集中することを緩和できるようにすることにある。
【０００６】
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の一つとして位置付けることができる。
【課題を解決するための手段】
【０００７】
本発明のタイミング制御装置の一態様は、制御システムを成す複数のノードと通信するための複数の通信ポートを備えた制御機器に接続されるタイミング制御装置であって、複数の前記ノードから前記制御機器宛に送信された各データを受信する受信処理部と、前記受信した各データの前記複数の通信ポートへの送信タイミングを、前記通信ポート間でずらすように制御する制御部と、を備える。
【０００８】
ここで、前記受信処理部は、前記受信した各データを一時的に記憶するバッファメモリを備え、前記制御部は、前記バッファメモリから前記各データを読み出すタイミングを制御することで前記送信タイミングの制御を行なうようにしてもよい。
【０００９】
また、前記制御部は、前記バッファメモリへの前記各データの記憶が完了した順番で前記バッファメモリからの当該データの読み出しをそれぞれ開始するようにしてもよい。
【００１０】
さらに、前記制御部は、前記各データの１つの読み出しが完了してから、前記各データの他の１つの読み出しを開始するようにしてもよい。
【００１１】
また、前記制御部は、前記各データの１つの読み出しを開始してから完了するまでに、前記各データの他の１つの読み出しを開始するようにしてもよい。
【００１２】
さらに、前記制御機器は、前記各通信ポートに接続されたパラレル通信バスを備えてもよく、前記パラレル通信バスの転送レートは、前記各データの前記制御機器への転送レートよりも高くてもよい。
【００１３】
さらに、本発明の制御システムの一態様は、複数のノードと、前記複数のノードと通信するための複数の通信ポートを備えた制御機器と、前記制御機器に接続されるタイミング制御装置と、を備え、前記タイミング制御装置は、複数の前記ノードから前記制御機器宛に送信された各データを受信し、前記受信した各データの前記複数の通信ポートへの送信タイミングを、前記通信ポート間でずらすように制御する。
【図面の簡単な説明】
【００１４】
【図１】一実施形態に係る制御システムの構成例を示すブロック図である。
【図２】図１に例示するタイミング制御装置による送信タイミング制御の一例を模式的に示す図である。
【図３】図１に例示するタイミング制御装置による送信タイミング制御の一例を模式的に示す図である。
【図４】図１に例示するタイミング制御装置による送信タイミング制御の一例を模式的に示す図である。
【図５】図１に例示するタイミング制御装置による送信タイミング制御の他の一例を模式的に示す図である。
【図６】図１に例示するタイミング制御装置による送信タイミング制御の他の一例を模式的に示す図である。
【図７】図１に例示するタイミング制御装置による送信タイミング制御の詳細な一例を説明する図である。
【図８】図１に例示するタイミング制御装置による送信タイミング制御の詳細な他の一例を説明する図である。
【図９】一実施形態の変形例に係る構成例を示すブロック図である。
【図１０】図１に例示するＣＰＵボードでデータ損失が生じる様子の一例を模式的に示す図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。即ち、本発明は、その趣旨を逸脱しない範囲で種々変形（各実施例を組み合わせる等）して実施することができる。また、以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付して表している。図面は模式的なものであり、必ずしも実際の寸法や比率等とは一致しない。図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。
【００１６】
〔１〕一実施形態の説明
図１は、一実施形態に係る制御システムの構成例を示すブロック図である。図１に例示する制御システムは、例えば制御機器に備えられる演算処理装置１と、スイッチングハブ等の集線装置５−ｉと、演算処理装置１と集線装置５−ｉとの間のデータ通信のタイミングを制御するタイミング制御装置３と、を備える。集線装置５−ｉには、制御系ネットワーク７−ｉを成す１又は複数の制御系のノード７１を接続することができる。
【００１７】
演算処理装置１が備えられる制御機器の一例は、通信プロトコルの異なる複数の制御系ネットワーク７−ｉを相互に通信可能に接続（統合）するゲートウェイである。なお、以下において、演算処理装置１を「制御機器１」あるいは「ゲートウェイ１」と称することがある。ゲートウェイ１と通信するノード７１の一例は、分散制御システム（ＤＣＳ）を成すＤＣＳ機器や、プログラマブルロジックコントローラ（ＰＬＣ）等である。
【００１８】
演算処理装置１の一例はＣＰＵボードであり、ＣＰＵボード１は、例示的に、ＣＰＵ（チップセット）１１と、ＰＣＩ（Peripheral Component Interconnect）バス１２と、複数の制御系ネットワーク７−ｉそれぞれとの通信に対応した複数の通信インタフェース〔ネットワークインタフェースカード（ＮＩＣ）〕１３−ｉ（ただし、ｉ＝１〜Ｎのいずれかで、Ｎは２以上の整数である。）と、を備える。
【００１９】
ＣＰＵ（チップセット）１１は、演算や通信制御の能力を備えた演算処理部の一例であり、ＮＩＣ１３−ｉ等の各部とＰＣＩバス１２を通じてデータ通信することができる。ＣＰＵ１１は、例示的に、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Processor、特定用途向けプロセッサー）等であってもよい。ＣＰＵ１１のコア数は、１（シングルコア）でもよいし、２（デュアルコア）、４（クアッドコア）及び６（ヘキサコア）等のマルチでもよい。
【００２０】
ＮＩＣ１３−ｉは、いずれかの制御系ネットワーク７−ｉに属するノード７１との通信に用いられる通信ポート（以下、単に「ポート」とも称する。）を成す。この意味で、ＮＩＣ１３−ｉを「通信ポート１３−ｉ」あるいは「ポート１３−ｉ」と表記することがある。ＮＩＣ１３−ｉには、それぞれ、受信したデータを一時的に記憶しておくメモリ（以下「受信バッファメモリ」とも称する。）１３１−ｉを備えることができる。ＮＩＣ１３−ｉの一例は、イーサネットプロトコルに対応したイーサネットカードである。イーサネットカードにおける受信バッファメモリは、例示的に、少なくとも１フレーム分のイーサネットフレームのデータを一時的に記憶可能な容量を有する。
【００２１】
いずれかのＮＩＣ１３−ｉの受信バッファメモリ１３１−ｉに受信データが記憶されると、当該ＮＩＣ１３−ｉは、ＣＰＵ１１へ割り込み信号を送信し、ＣＰＵ１１からＰＣＩバス１２の使用許可を受けることにより、受信データをＣＰＵ１１のメモリ（メインメモリ）へ転送する。なお、ＰＣＩバス１２は、パラレル通信バスの一例である。
【００２２】
一方、タイミング制御装置３は、例示的に、トランシーバ３１Ａ−ｉ及び３１Ｂ−ｉ、メディアアクセスコントローラ（ＭＡＣ）３２Ａ−ｉ及び３２Ｂ−ｉ、送受信バッファ３３−ｉ、並びに、コントローラ３４を備える。なお、以下では、トランシーバ３１Ａ−ｉ及び３１Ｂ−ｉを区別する必要がない場合にはトランシーバ３１−ｉと表記し、同様に、ＭＡＣ３２Ａ−ｉ及び３２Ｂ−ｉを区別する必要がない場合にはＭＡＣ３２−ｉと表記することがある。
【００２３】
トランシーバ３１−ｉは、ＣＰＵボード１や、制御系ネットワーク７−ｉを収容する集線装置５−ｉ等の機器と所定の通信媒体を介して接続されて、制御系ネットワーク７−ｉに属するノード７１との間に通信コネクションを提供する。例えば、トランシーバ３１Ａ−ｉは、集線装置５−ｉを介して制御系ネットワーク７−ｉと接続されて、制御系ネットワーク７−ｉに属するいずれかのノード７１との間の通信コネクションを提供する。当該通信コネクションを通じて、トランシーバ３１Ａ−ｉは、ノード７１が送信したＣＰＵボード１宛のデータの受信処理や、ゲートウェイ１が送信した当該ノード７１宛のデータの送信処理を実施する。一方、トランシーバ３１Ｂ−ｉは、例えば、ゲートウェイ１と接続されて、当該ゲートウェイ１との間の通信コネクションを提供する。当該通信コネクションを通じて、トランシーバ３１Ｂ−ｉは、ゲートウェイ１へのデータの送信処理やゲートウェイ１からのデータの受信処理を実施する。
【００２４】
トランシーバ３１−ｉにおける送信処理や受信処理には、例示的に、通信媒体に応じた物理的な通信コネクションの確立や維持、解放等の物理レイヤにおける処理が含まれる。通信媒体の一例としては、データを電気的に伝送するメタリックケーブルやデータを光で伝送する光ファイバケーブル等が挙げられる。メタリックケーブルの一例がイーサネットケーブルである。また、通信コネクションには、上り方向（例えばノード７１からＣＰＵボード１に向かう方向）のコネクション（アップストリームコネクション）とその反対方向である下り方向のコネクション（ダウンストリームコネクション）の双方が含まれ得る。
【００２５】
ＭＡＣ３２−ｉは、トランシーバ３１−ｉを通じて送受信されるデータ（アップ／ダウンストリームコネクション）の伝送制御を実施する。伝送制御の一例は、データリンク層の下位副層にあたるＭＡＣであり、イーサネット等のフレームの送受信方法やフレームの形式、誤り検出方法等を規定する。
【００２６】
送受信バッファ（メモリ）３３−ｉは、トランシーバ３１−ｉ及びＭＡＣ３２−ｉを通じて送受信されるデータ（アップ／ダウンストリームコネクションのデータ）を一時的に記憶する。送受信バッファ３３−ｉの一例は、ＦＩＦＯ（First In, First Out）メモリである。送受信バッファ３３−ｉ（あるいはバッファ記憶領域）は、アップ／ダウンストリームの別に設けることができる。送受信バッファ３３−ｉの記憶容量は、アップ／ダウンストリームコネクションのそれぞれにつき１フレーム分あれば足りるが、それを超える容量であっても構わない。
【００２７】
コントローラ３４は、送受信バッファ３３−ｉにおけるデータの書き込み及び読み出しのタイミングを個別的に制御する。かかる読み出しタイミングの個別的制御によって、アップ／ダウンストリームコネクションの別にデータの送信タイミングを制御することができる。ただし、ダウンストリームコネクション（例えばＣＰＵボード１から集線装置５へ送信されるデータ）の（以下「ダウンストリームデータ」ともいう。）については送信タイミング制御を行なわなくてもよい。
【００２８】
アップストリームコネクションのデータ（以下「アップストリームデータ」ともいう。）の送信タイミング制御によって、ゲートウェイ１のポート１３−ｉに到着するデータのタイミング（つまりは受信タイミング）をポート１３−ｉ毎に制御することができる。ポート１３−ｉ毎の受信タイミングを制御できることで、ポート１３−ｉ間でデータの受信タイミングが競合してしまい受信データの損失（欠落）が生じる確率を低減することができる。
【００２９】
ここで、受信データの損失が生じる状況の一例を説明する。ゲートウェイ等の制御機器にＣＰＵボード１が複数組み込まれて使用される場合、単体のＣＰＵボード１で動作するパーソナルコンピュータ（ＰＣ）に比して、多数のポート１３−ｉを１つのＰＣＩバス１２に接続できる。
【００３０】
例えば、イーサネット通信をベースにした制御系ネットワーク７−ｉ（冗長化された制御系ネットワークである場合もある）のためのＮＩＣや、ＰＬＣとの通信インタフェース（例えば図９の符号１４参照）等を１つのＰＣＩバス１２に接続することができる。別言すると、ＰＣＩバス１２は、異なる通信プロトコルの制御用データ通信のデータ転送に共用することができる。
【００３１】
この場合、ゲートウェイ（ＣＰＵボード）１と通信を行なう複数のノード７１から非同期にデータ（フレーム）がゲートウェイ１のポート１３−ｉ宛に連続的に送信されると、各ポート１３−ｉへ受信データが同時かそれに近いタイミングで到着する確率が高くなる。すると、受信バッファメモリ１３１−ｉに記憶したデータをＣＰＵ１１に転送しようとして、ＮＩＣ１３−ｉがＣＰＵ１１に送る割り込み信号もＮＩＣ１３−ｉ間で競合し易くなる。
【００３２】
ＣＰＵ１１への割り込み信号が競合すると、競合の発生したＮＩＣ１３−ｉは、ＰＣＩバス１２の使用、すなわち受信バッファメモリ１３１−ｉからＣＰＵ１１へのデータ転送が待たされることなる。
【００３３】
仮にＮＩＣ１３−ｉの受信バッファメモリ１３１−ｉの容量がイーサネット（フレームの１フレーム分であったとして、当該フレームの転送待ちの間あるいは転送途中に、次のデータ（フレーム）が到着してしまうと、新しく到着したデータ（フレーム）は、受信バッファメモリ１３１−ｉに記憶できず廃棄されてしまう（バッファオーバーフロー）。
【００３４】
その様子の一例を図１０に示す。図１０は、ポートＣ（ポート１３−３）の受信バッファメモリ１３１−３に記憶されたデータＣ１がＰＣＩバス１２に転送される前に、次のデータＣ２が同じポートＣに到着してしまい、データＣ２が損失してしまう様子を例示している。
【００３５】
このようなデータの損失は、ＮＩＣ１３−ｉの受信バッファメモリ１３１−ｉの容量を大きくすれば低減できるであろうが、コストや消費電力が大きくなる。サーバー等のために用意された、受信バッファメモリ１３１−ｉの容量が大きいＮＩＣ１３−ｉも存在するが、そのようなＮＩＣ１３−ｉをゲートウェイ１に多数使用しなければならないとすると、コストや消費電力の面で割に合わない。
【００３６】
一方、ＴＣＰ／ＩＰを用いるネットワークのようにデータの損失が生じてもアプリケーションレイヤ等の上位レイヤの処理によって当該データを再送することとすれば、ＮＩＣ１３−ｉの受信バッファメモリ１３１−ｉの容量は最小限（例えば１フレーム分）に抑えても構わない。容量が抑えられた分、ＮＩＣ１３−ｉのコストや消費電力は低く抑えることができる。したがって、多数のポート１３−ｉを備えるゲートウェイ１には、受信バッファメモリ１３１−ｉの容量が少ない、安価で消費電力の低いＮＩＣ１３−ｉを使用できることが望まれる。
【００３７】
しかし、リアルタイム性が重視され時間的制約のあるような例えば制御系ネットワーク７−ｉでは、再送を実施していると目的とする制御が所定のタイミングに間に合わなくなるおそれがある。そのため、制御系ネットワーク７−ｉには、再送を行なわない通信〔例えば、ＵＤＰ（User Datagram Protocol）通信〕が採用されることがある。ＵＤＰ通信において安価で消費電力の小さなＮＩＣ１３−ｉを用いると、結局、上述したようにデータの損失が生じ易くなる場合がある。
【００３８】
そこで、本実施形態では、ゲートウェイ１（ＮＩＣ１３−ｉ）の外部に設けたタイミング制御装置３にて、例えば図２〜図４にそれぞれ模式的に例示するように、ＣＰＵボード１の各通信ポート１３−ｉ宛のデータが各通信ポート１３−ｉの受信バッファメモリ１３１−ｉに到着するタイミングが重ならないよう、各ポート１３−ｉ宛のデータの送信タイミングを制御する。これにより、ゲートウェイ１の各ポート１３−ｉに一時にデータが集中して到着することを緩和することができ、ゲートウェイ１の処理負荷がデータ損失等を生じるほど瞬間的に上がってしまう確率を低減することができる。
【００３９】
なお、図２〜図４に示す例では、各ポート１３−ｉ間のデータが時間軸上で互いに重複しないように、各ポート１３−ｉ宛のデータの送信タイミングが制御されている。別言すると、或るポート１３−ｉ宛のデータの送信が開始されてから終了までの間（つまりはデータ送信期間）、他のポート１３−ｊ（ｊ＝１〜Ｎのいずれかであり、ｊ≠ｉ）宛のデータの送信は待たされる。
【００４０】
ただし、タイミング制御装置３からゲートウェイ１へのデータ転送速度よりもＰＣＩバス１２のデータ転送速度の方が高速な場合、このような送信待機は実施しなくてもよい。例えば、イーサネットのシリアル信号が１００メガビット／秒であるのに対し、ＰＣＩバス１２のパラレルバス信号が１３３メガバイト／秒である場合には、図５及び図６に模式的に例示するように、各ポート１３−ｉ間のデータが時間軸上で部分的に重複しても構わない。
【００４１】
別言すると、或るポート１３−ｉ宛のデータの送信を、他のポート１３−ｊ宛のデータの送信が開始されてから完了するまでに開始してもよい。非限定的な一例では、他のポート１３−ｊ宛のデータの送信が７０〜８０％程度終了したタイミングで、ポート１３−ｉのデータ送信を開始してもよい。これによれば、データ転送のパフォーマンスを向上することができ、ゲートウェイ１（ＰＣＩバス１２）の処理能力の有効利用を図ることができる。
【００４２】
なお、図２〜図６並びに図８〜図１０において、Ａ１、Ａ２及びＡ３等はポート１３−１（ポートＡ）宛のデータ、Ｂ１、Ｂ２及びＢ３等はポート１３−２（ポートＢ）宛のデータ、Ｃ１、Ｃ２及びＣ３等はポート１３−３（ポートＣ）宛のデータをそれぞれ表わしている。
【００４３】
上述したタイミング制御装置３による送信タイミング制御により、ゲートウェイ１のポート１３−ｉに到着するデータのタイミングをずらすことができるので、ゲートウェイ１においてＰＣＩバス１２のアクセスタイミング（データの転送タイミング）が競合する確率を低減することが可能となる。
【００４４】
したがって、バッファ容量の少ない安価なＮＩＣ１３−ｉを用いたとしても、ＰＣＩバス１２の負荷を平準化することができ、瞬間的にＰＣＩバス１２が高負荷状態になることを低減することができる。その結果、バッファオーバーフローによるデータの損失が発生する確率を低減することができる。
【００４５】
また、ＣＰＵ１１に対する割り込みタイミングが競合する確率も低減できるので、ＣＰＵ１１の動作を安定化できる。ＣＰＵチップセット１１は、その信頼性が過負荷の状態では安定しにくいことがあるので、割り込みタイミングが競合してＣＰＵ１１の負荷が瞬間的に高くなることを抑えられることは、ＣＰＵチップセット１１の動作安定化に有利である。別言すると、ＰＣＩバス１２に対するアクセスの集中を緩和することができるので、ＣＰＵチップセット１１の負荷を平準化することができるのである。
【００４６】
さらに、ゲートウェイ１（ＮＩＣ１３−ｉ）の外部に設けたタイミング制御装置３に備える送受信バッファ３３−ｉの容量を単純に増やすだけで、その増分に応じてゲートウェイ１での受信処理の余裕度を高めることができるので、ゲートウェイ１にはバッファ容量の少ない安価なＮＩＣ１３−ｉを適用できる。
【００４７】
（タイミング制御の一例）
以下、本実施形態のタイミング制御装置３によるアップストリームコネクションについての送信タイミング制御の詳細な一例について、図７を用いて説明する。なお、図７においては、ゲートウェイ１における１つのＰＣＩバス１２に例えば３つのＮＩＣ１３−１〜１３−３（ポートＡ〜Ｃ）が接続されている様子を例示している。
【００４８】
ゲートウェイ１の外部に設けたタイミング制御装置３は、スイッチングハブ等の集線装置５−ｉを通じてノード７１から受信したポート１３−ｉ宛のデータ（アップストリームデータ）の送信タイミングをポート１３−ｉ間で競合しないタイミングに制御（調整）する。
【００４９】
なお、ゲートウェイ１からノード７１宛のデータ（ダウンストリームデータ）の送信タイミングについては、タイミング制御装置３において制御する必要はない。ダウンストリームデータもＰＣＩバス１２を使用するが、そのアクセスタイミングはＣＰＵ１１によって調整できるので、アップストリームデータの場合ほど致命的な問題にはならない。100Base-TX等の全２重通信の場合、アップストリームデータの送信タイミング（あるいは受信タイミング）とダウンストリームデータの受信タイミング（あるいは送信タイミング）とは互いに独立している。
【００５０】
タイミング制御装置３は、ノード７１が送信したポート１３−ｉ宛のデータを集線装置５−ｉを通じて受信すると、コントローラ３４の制御の下、送受信バッファ３３−ｉに受信データを記憶する。ポート１３−ｉ宛のデータの送受信バッファ３３−ｉへの記憶が完了すると、送受信バッファ３３−ｉからコントローラ３４のタイミング調整回路３４１にデータ受信完了信号が通知される。なお、送受信バッファ３３−ｉへのデータの記憶の完了は、データの受信が完了したことの一例である。
【００５１】
タイミング調整回路３４１は、例示的に、送信タイミング調整（スケジューリング）のために用いられる待ち行列（あるいはキュー）３４０を有しており、ポート１３−ｉについてのデータ受信完了信号を受信すると、受信完了したポート１３−ｉの識別情報（以下「ポートＩＤ」という。）を待ち行列３４０に設定する。
【００５２】
非限定的な一例として、図７には、ポートＡ→ポートＢ→ポートＡ→ポートＣ→ポートＢ→ポートＢの順に受信が完了し、この順でそれぞれのポートＩＤが待ち行列３４０に設定される様子が例示されている。複数のポート１３−ｉ宛のデータが同時に受信された場合、いずれのポートＩＤを待ち行列３４０において先の順番に設定するかは自由に決めてよい。例えば、予めポート１３−ｉ毎に優先度を設定しておき、優先度の高いポート番号を先の順番に決定してもよいし、ランダムに順番を決定してもよい。
【００５３】
タイミング調整回路３４１の待ち行例３４０は、送信タイミング決定回路３４２によって監視され、送信待ちのポート１３−ｉのデータがあれば、当該ポート１３−ｉ宛のデータの送信許可を送受信バッファ３３−ｉに与える。これにより、送受信バッファ３３−ｉからポート１３−ｉ宛のデータが読み出されて、当該データがゲートウェイ１のポート１３−ｉへ送信される。
【００５４】
送信許可を与えたポート１３−ｉ宛のデータの送信が完了すると、送信完了信号が送受信バッファ３３−ｉから送信タイミング決定回路３４２に通知される。送信タイミング決定回路３４２は、送信完了信号を受けると、待ち行列３４０において次に送信待ちのデータの送信許可を送受信バッファ３３−ｉに与える。
【００５５】
以降、同様にして、送信タイミング決定回路３４２は、待ち行列３４０において送信待ちのデータが無くなるまで、順次、ポート１３−ｉ宛のデータ送信許可を該当データの送信が完了する毎に送受信バッファ３３−ｉに与える。
【００５６】
このようにして、１つのデータの送信が完了してから次のデータの送信を開始することで、複雑な送信タイミング制御によらずに、各ポート１３−ｉ宛のデータの送信タイミング（データ送信期間）を時間軸上で互いに重複しないようにずらすことができる。
【００５７】
なお、既述のようにタイミング制御装置３からゲートウェイ１へのデータ転送速度よりもＰＣＩバス１２のデータ転送速度の方が高速な場合には、各ポート１３−ｉの１つについてのデータの送信が開始されてから完了するまでの（例えば７０〜８０％程度の送信が終了した）タイミングで、他のポート１３−ｊの１つについてのデータの送信を開始してよい。
【００５８】
これを実現するには、例示的に、待ち行列３４０においてポート番号とともにデータサイズを設定しておくか、あるいは、送受信バッファ３３−ｉから送信タイミング決定回路３４２に対する送信完了信号の通知タイミングを、７０〜８０％のデータ読み出しが完了した時点に早めることで可能である。
【００５９】
〔２〕その他
上述した例では、各ポート１３−ｉ宛のデータの受信が完了した順番を待ち行列３４０において管理することで、受信完了順にポート１３−ｉ宛のデータの送信タイミングを調整しているが、当該調整は受信完了順でなくても構わない。
【００６０】
例えば図８に模式的に示すように、待ち行列３４０を用いずに、単純に各ポート１３−ｉに対応する送受信バッファ３３−ｉのデータの有無を所定の順序（例えばポートＩＤの昇順あるいは降順）で周期的にチェックし、送信待ちデータの存在が確認されれば当該送受信バッファ３３−ｉ（ポート１３−ｉ）に対して、送信許可を与えるようにしてもよい。この場合についても、送信許可は、他のポート１３−ｉについてのデータ送信が終了してから与えてもよいし、他のポート１３−ｉについてのデータ送信が完了するまでに与えてもよい。
【００６１】
また、ＰＣＩバス１２へのデータが競合するタイミングを緩和する手法の変形例としては、タイミング制御装置３において、受信した各ポート１３−ｉ宛のアップストリームデータ（パラレルデータ）をいったんシリアルデータに変換した後、さらにパラレルデータに変換することが挙げられる。これは、例えば図９に示すように、２つのスイッチングハブ３１０及び３２０をシリアル接続することで実現可能である。
【符号の説明】
【００６２】
１…ＣＰＵボード（制御機器、ゲートウェイ）、３…タイミング制御装置、５−１〜５−Ｎ…集線装置（スイッチングハブ）、７−１〜７−Ｎ…制御系ネットワーク、１１…ＣＰＵ（チップセット）、１２…ＰＣＩバス、１３−１〜１３−Ｎ…通信ポート（ＮＩＣ）、１４…ＰＬＣ通信インタフェース、３１Ａ−１〜３１Ａ−Ｎ，３１Ｂ−１〜３１Ｂ−Ｎ…トランシーバ、３２Ａ−１〜３２Ａ−Ｎ，３２Ｂ−１〜３２Ｂ−Ｎ…メディアアクセスコントローラ（ＭＡＣ）、３３−１〜３３−Ｎ…送受信バッファ（メモリ）、３４…コントローラ、７１…制御系のノード、１３１−１〜１３１−Ｎ…受信バッファメモリ、３１０，３２０…スイッチングハブ、３４０…待ち行列（キュー）、３４１…タイミング調整回路、３４２…送信タイミング決定回路
【図１】
2012195868.tif 000003
【図２】
2012195868.tif 000004
【図３】
2012195868.tif 000005
【図４】
2012195868.tif 000006
【図５】
2012195868.tif 000007
【図６】
2012195868.tif 000008
【図７】
2012195868.tif 000009
【図８】
2012195868.tif 000010
【図９】
2012195868.tif 000011
【図１０】
2012195868.tif 000012