(57)【要約】  本発明は、複数のノードを備える制御システムに適用される、イーサネット（登録商標）に基づくデータ伝送方法を提供する。本方法は、以下を含む。第1ノードが、送信される必要があるデータをキャッシュする(S101)。第1ノードがデータを送信できる時間区分を現在の通信マクロサイクルが含む場合、現在の通信マクロサイクル内の第1ノードがデータを送信できる時間区分に第1ノードはキャッシュ済みデータを送信する。第1ノードがデータを送信できる時間区分を現在の通信マクロサイクルが含まない場合、現在の通信マクロサイクル内に第1ノードはキャッシュ済みデータを送信しない。現在の通信マクロサイクル内の第1ノードがデータを送信できる時間区分に他のノードはデータを送信せず、通信マクロサイクルは同じ持続時間を有し、各通信マクロサイクルは固定長の複数の時間区分からなる(S102)。
2012516589.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードを備える制御システムで使用するイーサネット（登録商標）に基づくデータ伝送方法であって、
第1ノードにより、送信されるデータをバッファリングする段階と、
前記第1ノードがデータを送信する時間間隔を現在の通信マクロサイクルが含む場合、前記第1ノードによって、前記現在の通信マクロサイクル内の前記第1ノードがデータを送信する前記時間間隔に前記バッファリング済みデータを送信し、前記第1ノードがデータを送信する前記時間間隔を前記現在の通信マクロサイクルが含まない場合、前記第1ノードによって、前記現在の通信マクロサイクル内に前記バッファリング済みデータを送信しない段階と
を含み、
前記現在の通信マクロサイクル内の前記第1ノードがデータを送信する前記時間間隔に、他のノードはデータを送信せず、各通信マクロサイクルは同じ持続時間を有し、各通信マクロサイクルは複数の固定持続時間である時間間隔からなる、データ伝送方法。
【請求項２】
前記時間間隔のうちの任意の1つを、事前に割り当てられたたった1つのノードが占めることができる、請求項1に記載の方法。
【請求項３】
各通信マクロサイクルがランダムな時間間隔を含み、前記ランダムな時間間隔が、前記ランダムな時間間隔を占めたいという要求に成功したノードによって占められ、各通信マクロサイクル内の前記ランダムな時間間隔を除く前記時間間隔のうちの任意の1つを、事前に割り当てられたたった1つのノードが占めることができる、請求項1に記載の方法。
【請求項４】
前記第1ノードによってデータを送信するとき、または送信した後、
前記第1ノードによって第2ノードに対し、次の通信マクロサイクル内の前記ランダムな時間間隔を占めたいと要求する段階と、
前記次の通信マクロサイクル内の前記ランダムな時間間隔を占めることを前記第2ノードが許可する旨の応答を、前記次の通信マクロサイクル内に受信した場合、前記第1ノードによって、前記次の通信マクロサイクル内の前記ランダムな時間間隔にデータを送信し、前記第1ノードがデータを送信する前記時間間隔を前記次の通信マクロサイクルが含む場合、前記第1ノードによって、前記次の通信マクロサイクル内の前記第1ノードがデータを送信する前記時間間隔にデータをさらに送信する段階と
をさらに含む、請求項3に記載の方法。
【請求項５】
送信される前記データを前記第1ノードによりバッファリングする前に、
第3ノードによって送信された、前記現在の通信マクロサイクル内の前記ランダムな時間間隔を占めたいという要求を、先行する通信マクロサイクル内に前記第1ノードによって受信する段階と、
前記第3ノードが前記現在の通信マクロサイクル内の前記ランダムな時間間隔を占めることを前記第1ノードが許可する場合、前記第1ノードによって、前記現在の通信マクロサイクル内の前記第1ノードがデータを送信する前記時間間隔に、前記第3ノードが前記現在の通信マクロサイクル内の前記ランダムな時間間隔を占めることを許可する旨の応答を前記第3ノードに送信する段階と
をさらに含む、請求項3に記載の方法。
【請求項６】
前記第1ノードがクロック源でない場合、
前記クロック源がデータを送信する時間間隔に前記クロック源によって送信された第1データを受信した後に、前記第1ノードによって、前記第1データが域内に到着した時間を記録する段階と、
前記第1ノードによって、前記クロック源がデータを送信する別の時間間隔に前記クロック源によって送信された第2データを受信する段階であって、前記第2データが、前記クロック源が前記第1データを送信した時間を含む段階と、
前記第1ノードによって、前記第1データが前記域内に到着した前記時間、前記クロック源が前記第1データを送信した前記時間、および前記第1ノードと前記クロック源との間の回路遅延に従ってローカルクロックを修正する段階と
をさらに含む、請求項1に記載の方法。
【請求項７】
前記第1ノードがクロック源である場合、前記第1ノードによって、前記バッファリング済みデータが送信された時間を記録する段階をさらに含み、前記第1ノードがデータを送信する次の時間間隔に前記第1ノードによって送信された前記データが、前記バッファリング済みデータが送信された前記時間を含む、請求項1に記載の方法。
【請求項８】
複数のイーサネット（登録商標）ノードを有する制御システムで使用するイーサネット（登録商標）ノードであって、
送信されるデータをバッファリングするバッファリング装置と、
送信される前記データを前記バッファリング装置がバッファリングした後、前記イーサネット（登録商標）ノードがデータを送信する時間間隔を現在の通信マクロサイクルが含むか否かを判断する第1判断装置と、
前記イーサネット（登録商標）ノードがデータを送信する前記時間間隔を前記現在の通信マクロサイクルが含むと前記第1判断装置が判断した場合、前記現在の通信マクロサイクル内の前記イーサネット（登録商標）ノードがデータを送信する前記時間間隔に、前記バッファリング装置によってバッファリングされた前記データを送信し、前記イーサネット（登録商標）ノードがデータを送信する前記時間間隔を前記現在の通信マクロサイクルが含まないと前記第1判断装置が判断した場合、前記現在の通信マクロサイクル内に、前記バッファリング装置によってバッファリングされた前記データを送信しない、データ処理装置と
を含み、
前記現在の通信マクロサイクル内の前記イーサネット（登録商標）ノードがデータを送信する前記時間間隔に、他のノードはデータを送信せず、各通信マクロサイクルが同じ持続時間を有し、各通信マクロサイクルが複数の固定持続時間である時間間隔からなる、イーサネット（登録商標）ノード。
【請求項９】
前記時間間隔のうちの任意の1つを、事前に割り当てられたたった1つのノードが占めることができる、請求項8に記載のイーサネット（登録商標）ノード。
【請求項１０】
各通信マクロサイクルがランダムな時間間隔を含み、前記ランダムな時間間隔が、前記ランダムな時間間隔を占めたいという要求に成功したノードによって占められ、各通信マクロサイクル内の前記ランダムな時間間隔を除く他の時間間隔のうちの任意の1つを、事前に割り当てられたたった1つのノードが占めることができる、請求項8に記載のイーサネット（登録商標）ノード。
【請求項１１】
前記データ処理装置がデータを送信するとき、または送信した後、第2イーサネット（登録商標）ノードに対し、次の通信マクロサイクル内の前記ランダムな時間間隔を占めたいと要求する要求装置と、
前記要求装置が前記第2イーサネット（登録商標）ノードに対し、前記次の通信マクロサイクル内の前記ランダムな時間間隔を占めたいと要求した後、前記次の通信マクロサイクル内の前記ランダムな時間間隔を占めることを前記第2イーサネット（登録商標）ノードが許可する旨の応答を、前記次の通信マクロサイクル内に受信する第1受信装置と、
前記次の通信マクロサイクル内の前記ランダムな時間間隔を占めることを前記第2イーサネット（登録商標）ノードが許可する旨の前記応答を前記第1受信装置が受信した後、前記次の通信マクロサイクル内の前記ランダムな時間間隔にデータを送信し、前記イーサネット（登録商標）ノードがデータを送信する前記時間間隔を前記次の通信マクロサイクルが含む場合、前記次の通信マクロサイクル内の前記イーサネット（登録商標）ノードがデータを送信する前記時間間隔にデータをさらに送信する、データ処理装置と
をさらに含む、請求項10に記載のイーサネット（登録商標）ノード。
【請求項１２】
送信される前記データを前記バッファリング装置がバッファリングする前に、第3イーサネット（登録商標）ノードによって送信された、前記現在の通信マクロサイクル内の前記ランダムな時間間隔を占めたいという要求を、先行する通信マクロサイクル内に受信する第2受信装置と、
前記第3イーサネット（登録商標）ノードによって送信された、前記現在の通信マクロサイクル内の前記ランダムな時間間隔を占めたいという要求を前記第2受信装置が受信した後、前記第3イーサネット（登録商標）ノードが前記現在の通信マクロサイクル内の前記ランダムな時間間隔を占めることを許されるか否かを判断する第2判断装置と
をさらに含み、
前記第3イーサネット（登録商標）ノードが前記現在の通信マクロサイクル内の前記ランダムな時間間隔を占めることを許されると前記第2判断装置が判断した場合、前記現在の通信マクロサイクル内の前記イーサネット（登録商標）ノードがデータを送信する前記時間間隔に、前記データ処理装置が前記第3イーサネット（登録商標）ノードに対して、前記第3イーサネット（登録商標）ノードが前記現在の通信マクロサイクル内の前記ランダムな時間間隔を占めることを許可する旨の応答を送信する、請求項10に記載のイーサネット（登録商標）ノード。
【請求項１３】
前記イーサネット（登録商標）ノードがクロック源でない場合、
前記バッファリング装置によってバッファリングされた前記データを前記データ処理装置が送信する前に、前記クロック源がデータを送信する時間間隔に前記クロック源によって送信された第1データを受信する第3受信装置と、
前記クロック源によって送信された前記第1データを前記第3受信装置が受信した後に、前記第1データが到着した時間を記録する第1記録装置と
をさらに含み、
前記第1データを受信した後に前記第3受信装置が、前記クロック源がデータを送信する別の時間間隔に前記クロック源によって送信された第2データをさらに受信し、前記第2データが、前記クロック源が前記第1データを送信した時間を含む、イーサネット（登録商標）ノードであって、
前記第1データが到着した前記時間、前記クロック源が前記第1データを送信した前記時間、および前記イーサネット（登録商標）ノードと前記クロック源との間の回路遅延に従って、前記イーサネット（登録商標）ノードのクロックを修正するクロック修正装置をさらに含む、請求項8に記載のイーサネット（登録商標）ノード。
【請求項１４】
前記イーサネット（登録商標）ノードがクロック源である場合、前記バッファリング装置によってバッファリングされた前記データを前記データ処理装置が送信するとき、または送信した後、前記バッファリング装置によってバッファリングされた前記データを前記データ処理装置が送信した時間を記録する第2記録装置をさらに含み、前記第1ノードがデータを送信する次の時間間隔に前記第1ノードによって送信された前記データが、前記バッファリング済みデータが送信された前記時間を含む、請求項8に記載のイーサネット（登録商標）ノード。
【請求項１５】
制御デバイスおよび複数の測定/作動装置を含む制御システムであって、
前記制御デバイスは、前記測定/作動装置のうち少なくとも1つを制御し、通信マクロサイクル内の前記制御デバイスがデータを送信する時間間隔にデータを送信し、
前記複数の測定/作動装置は、前記制御デバイスによって制御され、前記測定/作動装置の各々は、前記通信マクロサイクル内の前記測定/作動装置がデータを送信する前記時間間隔にデータを送信し、
任意の通信マクロサイクルにおける前記時間間隔のうちの任意の1つを、前記制御デバイスおよび前記複数の測定/作動装置のうちのたった1つが占めることができ、各通信マクロサイクルは同じ持続時間を有し、各通信マクロサイクルは複数の固定持続時間である時間間隔からなる、制御システム。
【請求項１６】
前記時間間隔のうちの任意の1つを、事前に割り当てられたたった1つのデバイスが占めることができる、請求項15に記載のシステム。
【請求項１７】
各通信マクロサイクルがランダムな時間間隔を含み、前記ランダムな時間間隔が、前記ランダムな時間間隔を占めたいという要求に成功した前記デバイスの1つによって占められ、各通信マクロサイクル内の前記ランダムな時間間隔を除く前記時間間隔のうちの任意の1つを、事前に割り当てられたたった1つのデバイスが占めることができる、請求項15に記載のシステム。
【請求項１８】
前記測定/作動装置の各々が前記制御デバイスに対し、前記測定/作動装置がデータを送信する前記時間間隔に、次の通信マクロサイクル内の前記ランダムな時間間隔を占めたいと要求し、
前記次の通信マクロサイクル内の前記制御デバイスがデータを送信する前記時間間隔に、前記制御デバイスは、前記次の通信マクロサイクル内の前記ランダムな時間間隔を占めることを許可する旨の応答を、前記要求している測定/作動装置全てのうちの1つに対し送信する、請求項17に記載のシステム。
【請求項１９】
前記制御デバイスによって直接制御される前記測定/作動装置は、第1レベル測定/作動装置であり、各第1レベル測定/作動装置は、少なくとも1つの第2レベル測定/作動装置を直接制御し、
各第2レベル測定/作動装置は、前記第2レベル測定/作動装置を直接制御する前記第1レベル測定/作動装置に対し、前記第2レベル測定/作動装置がデータを送信する前記時間間隔に、前記次の通信マクロサイクル内の前記ランダムな時間間隔を占めたいと要求し、
各第1レベル測定/作動装置は、前記第1レベル測定/作動装置によって直接制御されている前記第2レベル測定/作動装置から、前記次の通信マクロサイクル内の前記ランダムな時間間隔を占めることが許される1つの第2レベル測定/作動装置を選択し、前記第1レベル測定/作動装置がデータを送信する前記時間間隔に、前記次の通信マクロサイクル内の前記ランダムな時間間隔を占めたいという要求を前記制御デバイスに送信し、前記要求は、前記選択済み第2レベル測定/作動装置を特定する情報を含み、
前記次の通信マクロサイクル内の前記制御デバイスがデータを送信する前記時間間隔に、前記制御デバイスは、前記次の通信マクロサイクル内の前記ランダムな時間間隔を占めることを許可する旨の応答を、前記要求している第1レベル測定/作動装置全てのうちの1つに対し送信し、
前記要求している第1レベル測定/作動装置全てのうちの前記1つは、前記選択済み第2レベル測定/作動装置に対し、前記次の通信マクロサイクル内の前記ランダムな時間間隔を占めることを許可する旨の応答を送信する、請求項18に記載のシステム。
【請求項２０】
前記制御デバイスはクロック源であり、第1データを送信するとき、または送信した後、前記制御デバイスは前記第1データが送信された前記時間を記録し、
前記第1データを受信した前記測定/作動装置は、前記第1データが域内に到着した時間を記録し、
前記制御デバイスは、前記第1データが送信された前記時間を、前記制御デバイスがデータを送信する次の時間間隔に送信される第2データに含め、
前記第2データを受信した後、前記第1データを受信した前記測定/作動装置は、前記制御デバイスが前記第1データを送信した前記時間、前記第1データが前記域内に到着した前記時間、前記域内と前記制御デバイスとの間の回路遅延に従って、ローカルクロックを修正する、請求項15に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、2009年4月15日に中華人民共和国国家知識産権局に出願され、「ETHERNET(登録商標)-BASED  DATA  TRANSMISSION  METHOD,  ETHERNET（登録商標）  NODES  AND  CONTROL  SYSTEM」と題し、その内容が参照により本明細書に完全に組み込まれている中国特許出願第200910130848.5号の優先権を主張する。
【０００２】
本開示は、数値制御技術の分野に関し、具体的にはイーサネット（登録商標）に基づくデータ伝送技術に関する。
【背景技術】
【０００３】
イーサネット（登録商標）技術の急速な発展に伴い、イーサネット（登録商標）通信はますます多くの通信システムで広く使用されるようになっている。イーサネット（登録商標）は、使用の普及、成熟した技術および低コストという利点を有し、イーサネット（登録商標）通信の通信速度は、他の従来型のシリアル通信の通信速度を明らかに上回っている。
【０００４】
イーサネット（登録商標）通信は現在、一部の数値制御システムなどの一部の制御システムで使用されている。制御システムは、少なくとも1つの制御デバイスおよび少なくとも1つの測定/作動装置を含み、1つの制御デバイスは少なくとも1つの測定/作動装置を制御する。
【０００５】
実用面では、イーサネット（登録商標）は通常、キャリア検知多重アクセス(CSMA)/衝突検出(CD)メカニズムを使用してデータを送信する。具体的には、制御システム内の各ノード(制御デバイスおよび測定/作動装置を含む)はチャネルのリスニングを行い、データ伝送を望むノードは、チャネルが解放されているときのみデータを送信できる。
【０００６】
一方、複数のノードが同時にデータを送信した場合、伝送衝突が起きて、データ伝送を望む一部のノードまたは全てのノードがデータ送信に失敗することがある。
【０００７】
衝突によって生じる上記問題を解決するための1つの既存の方法では、伝送衝突が検出された場合に、データ伝送を望むノードはバックオフする、すなわち、一定時間経過後に伝送を再試行する。
【０００８】
だが、発明者が上記の解決法を研究した結果、データ伝送を望むノードが一定時間経過後に伝送を再試行しても、伝送衝突が発生する可能性があり、そのため、データ伝送を望むノードは、さらに一定時間待ってから伝送を再試行できるに過ぎないことが分かっている。この現象が続けば、データ伝送を望むノードは非常に長い時間にわたってデータ伝送を阻まれ、いつ伝送が実現できるかさえ確かでない。したがって、既存のバックオフメカニズムによって伝送衝突の問題を根本的に解決することはできない。
【発明の概要】
【課題を解決するための手段】
【０００９】
本開示は、伝送衝突の問題を根本的に解決するための、イーサネット（登録商標）に基づくデータ伝送方法、イーサネット（登録商標）ノードおよび制御システムを提供する。
【００１０】
本開示は、複数のノードを含む制御システムで使用する、イーサネット（登録商標）に基づくデータ伝送方法を提供する。このデータ伝送方法は以下を含む。第1ノードによって、送信されるデータをバッファリングする段階。および、第1ノードがデータを送信する時間間隔を現在の通信マクロサイクル(communication  macro  cycle)が含む場合、第1ノードによって、現在の通信マクロサイクル内の第1ノードがデータを送信する時間間隔にバッファリング済みデータを送信し、第1ノードがデータを送信する時間間隔を現在の通信マクロサイクルが含まない場合、第1ノードによって、現在の通信マクロサイクル内にバッファリング済みデータを送信しない段階。現在の通信マクロサイクル内の第1ノードがデータを送信する時間間隔に、他のノードはデータを送信せず、各通信マクロサイクルは同じ持続時間を有し、各通信マクロサイクルは複数の固定持続時間である時間間隔からなる。
【００１１】
本開示は、複数のイーサネット（登録商標）ノードを有する制御システムで使用するイーサネット（登録商標）ノードを提供する。このイーサネット（登録商標）ノードは以下を含む。送信されるデータをバッファリングするバッファリング装置。送信されるデータをバッファリング装置がバッファリングした後、イーサネット（登録商標）ノードがデータを送信する時間間隔を現在の通信マクロサイクルが含むか否かを判断する第1判断装置。および、イーサネット（登録商標）ノードがデータを送信する時間間隔を現在の通信マクロサイクルが含むと第1判断装置が判断した場合、現在の通信マクロサイクル内のイーサネット（登録商標）ノードがデータを送信する時間間隔に、バッファリング装置によってバッファリングされたデータを送信し、イーサネット（登録商標）ノードがデータを送信する時間間隔を現在の通信マクロサイクルが含まないと第1判断装置が判断した場合、現在の通信マクロサイクル内に、バッファリング装置によってバッファリングされたデータを送信しない、データ処理装置。現在の通信マクロサイクル内のイーサネット（登録商標）ノードがデータを送信する時間間隔に他のノードはデータを送信せず、各通信マクロサイクルは同じ持続時間を有し、各通信マクロサイクルは複数の固定持続時間である時間間隔からなる。
【００１２】
本開示は、制御システムを提供する。制御システムは、制御デバイスおよび複数の測定/作動装置を含み、制御デバイスは、測定/作動装置の少なくとも1つを制御し、通信マクロサイクル内の制御デバイスがデータを送信する時間間隔にデータを送信し、複数の測定/作動装置は制御デバイスによって制御され、測定/作動装置の各々は、通信マクロサイクル内の測定/作動装置がデータを送信する時間間隔にデータを送信し、任意の通信マクロサイクルにおける時間間隔のうちの任意の1つを、制御デバイスおよび複数の測定/作動装置のうちのたった1つが占めることができ、各通信マクロサイクルは同じ持続時間を有し、各通信マクロサイクルは複数の固定持続時間である時間間隔からなる。
【００１３】
本開示では、制御システムにおけるノードの各々は、当該ノードがデータを送信する時間間隔にデータを送信し、それにより、複数のノードが同時にデータを送信することにより生じる伝送衝突の問題が解決される。また、ノードの各々は、指定された時間間隔にデータを送信できることが保証され、その結果、データの送信を望むノードが非常に長い時間にわたってデータを送信できないという問題が解決される。
【図面の簡単な説明】
【００１４】
【図１】本開示によるイーサネット（登録商標）に基づくデータ伝送方法の流れ図である。
【図２】本開示によるイーサネット（登録商標）ノードの論理構造の概略図である。
【図３】本開示によるイーサネット（登録商標）が採用する複数のトポロジ構造の概略図である。
【図４】本開示によるIEEE1588精密クロック同期化プロトコル(Precision  Clock  Synchronization  Protocol)に基づくクロック同期化プロセスの概略図である。
【図５】本開示による通信マクロサイクルを設定する方法の概略図である。
【図６】本開示による図5に示されている通信マクロサイクルに基づくデータ伝送パターンの概略図である。
【図７】本開示による定期データの概略的構造図である。
【図８】本開示による要求/許可プロセスの概略図である。
【図９】本開示によるデバイスによって実行される通信スケジューリング管理の流れ図である。
【図１０】本開示によるデバイスによるデータ処理の流れ図である。
【図１１】本開示によるイーサネット（登録商標）が採用するデイジーチェーン構造の概略図である。
【図１２】本開示によるクロック同期化プロセスの概略図である。
【図１３】本開示による通信マクロサイクルを設定する別の方法の概略図である。
【図１４】本開示による図13の通信マクロサイクルに基づくデータ伝送パターンの概略図である。
【発明を実施するための形態】
【００１５】
本発明の実施形態の技術的解決法を、図面と共に明確かつ完全に説明する。見たところ、説明される実施形態は、本発明の全てではなく一部の実施形態に過ぎない。当業者が発明的努力なしに本発明の実施形態から得るその他の実施形態は、本発明の範囲内にある。
【００１６】
本開示の全ての実施形態が、イーサネット（登録商標）に基づく制御システムで適用可能であることに留意すべきである。
【００１７】
制御システムは複数のノードを含むことができ、ノードの少なくとも1つは、他のノードの動作を制御する制御デバイスであり、ノードの少なくとも1つは、測定および作動を主な機能とし、制御デバイスによって制御される測定/作動装置である。例えば、制御システムは、少なくとも1つの数値制御デバイス、および数値制御デバイスによって制御される少なくとも1つのサーボドライバを含む数値制御システムであってよい。
【００１８】
イーサネット（登録商標）は、制御システムにおける様々なノード、ネットワークブリッジ、スイッチおよび他のデバイスからなるローカルエリアネットワークであってよい。イーサネット（登録商標）は、例えばスター型トポロジ構造、デイジーチェーン型トポロジ構造、リング型トポロジ構造などを利用することができる。もちろん、これらの構造が混合された構造も可能である。
【００１９】
以下の実施形態の全てで言及される通信マクロサイクルは、複数の固定持続時間である時間間隔からなるサイクルを指し、各通信マクロサイクルは同じ持続時間を有する。通信マクロサイクル内におけるそれぞれの時間間隔の持続時間は、対応するノードの性能に従い設定されうる。この場合、通信マクロサイクル内における全ての時間間隔が同じ持続時間を有する、または時間間隔の一部のみが同じ持続時間を有する、または時間間隔のいずれも同じ持続時間を有さない可能性がある。一般的に言って、時間間隔のうちの任意の1つを、データ伝送のために1つのノードのみが占めることができる。
【００２０】
本開示では、各通信マクロサイクルは、少なくとも2つの方法によって設定されうる。
【００２１】
そのうちの1つの方法では、各通信マクロサイクル内の時間間隔の各々が、1つのノードに事前に割り当てられる。すなわち、時間間隔の各々は1つのノードに事前に対応付けられ、それにより、時間間隔の各々は、データ伝送のため事前に割り当てられた1つのノードによって占められる。実際面では、各通信マクロサイクルにおける同じ時間間隔を同じノードに割り当てることができ、それによりこのノードは、各通信マクロサイクル内の同じ時間間隔にデータを送信する。例えば、各通信マクロサイクルにおける第1時間間隔は、他のノードの動作を制御する制御デバイスに割り当てられ、それにより制御デバイスは、各通信マクロサイクルにおける第1時間間隔内にデータを送信する。また、様々な通信マクロサイクル内の同じ時間間隔を、様々なノードに割り当てることができる。すなわち、複数のノードの伝送が、同じ時間間隔において多重化される。例えば、第n(nは整数)通信マクロサイクル内の第1時間間隔が制御デバイスに割り当てられ、第(n+1)通信マクロサイクル内の第1時間間隔が制御システムの測定/作動装置1に割り当てられると想定した場合、第1時間間隔は制御デバイスおよび測定/作動装置によって交互に占められる。
【００２２】
通信マクロサイクルを設定する第2の方法では、ノードに事前に割り当てられた少なくとも1つの時間間隔以外に、ランダムな時間間隔が各通信マクロサイクルに含まれる。ランダムな時間間隔は、特定のノードによって占められるように事前に割り当てられることはないが、それぞれのノードが自身の時間間隔に伝送するプロセス中に一定のスキームに従ってノードに割り当てられる。例えば、通信マクロサイクルが、事前に割り当てられた第1時間間隔、第2時間間隔および第3時間間隔を含み、ランダムな時間間隔をさらに含むと想定する。第1時間間隔、第2時間間隔および第3時間間隔を、事前に割り当てられたノードがそれぞれ占めることができ、ランダムな時間間隔を、ランダムな時間間隔を占めることを許可されたノードだけが占めることができる。実用面では、1つのノードは、様々な通信マクロサイクル内のランダムな時間間隔を占めることを継続的に数回許可されうる。もちろん、様々なノードは、様々な通信マクロサイクル内のランダムな時間間隔を占めることを許可されうる。また、様々な通信マクロサイクルにおけるランダムな時間間隔の持続時間は、総じて同じである。
【００２３】
当然ながら、通信マクロサイクルは他の方法で設定されてよく、特定の用途で必要に応じて当業者によって柔軟に設定されてよい。以下の実施形態全てにおける通信マクロサイクルは主に、上記2つの方法によって設定され、通信マクロサイクルを設定する他の方法については、本明細書では詳述しない。
【００２４】
本開示によるイーサネット（登録商標）に基づくデータ伝送方法について、以下で説明する。図1に示されているように、本方法は以下を含む。
【００２５】
S101:第1ノードにより、送信されるデータをバッファリングする。
【００２６】
S102:第1ノードがデータを送信する時間間隔を現在の通信マクロサイクルが含む場合、第1ノードによって、現在の通信マクロサイクル内の第1ノードがデータを送信する時間間隔にバッファリング済みデータを送信し、第1ノードがデータを送信する時間間隔を現在の通信マクロサイクルが含まない場合、第1ノードによって、現在の通信マクロサイクル内にバッファリング済みデータを送信しない。現在の通信マクロサイクル内の第1ノードがデータを送信する時間間隔に他のノードはデータを送信せず、各通信マクロサイクルは同じ持続時間を有し、各通信マクロサイクルは複数の固定持続時間である時間間隔からなる。
【００２７】
具体的には、送信されるデータは、第1ノードによって転送されるデータ、または第1ノードによって生成されて送信されるデータであってよい。
【００２８】
送信されるデータをバッファリングした後に第1ノードは、第1ノードがデータを送信する時間間隔を現在の通信マクロサイクルが含むか否かを判断することができる。
【００２９】
第1ノードがデータを送信する時間間隔を現在の通信マクロサイクルが含むと判断された場合、現在の通信マクロサイクル内の第1ノードがデータを送信する時間間隔に、第1ノードはバッファリング済みデータを送信することができる。実用においては、バッファリング済みデータの規模が比較的大きいこともある。この場合、現在の通信マクロサイクル内の第1ノードがデータを送信する時間間隔に、第1ノードはバッファリング済みデータの一部のみを送信することができ、バッファリング済みデータの残りは、第1ノードがデータを送信する1つまたは複数の後の時間間隔に送信できる。
【００３０】
第1ノードがデータを送信する時間間隔を現在の通信マクロサイクルが含まない場合、第1ノードは、現在の通信マクロサイクル内にバッファリング済みデータを送信しない。
【００３１】
上記の通り、任意の1つの時間間隔を、事前に割り当てられたたった1つのノードが占めることができる。すなわち、1つの時間間隔をたった1つのノードが単独(uniquely)で占めることができ、各時間間隔を1つのノードに事前に割り当てることができる。こうして、制御システムが起動した後に、各ノードは事前に割り当てられた時間間隔にデータを送信する。
【００３２】
また、上記の通り、各通信マクロサイクルはランダムな時間間隔を含むことができ、ランダムな時間間隔は、ランダムな時間間隔を占めたいという要求に成功したノードによって占められる。各通信マクロサイクル内のランダムな時間間隔を除く時間間隔のうちの任意の1つを、事前に割り当てられた1つのノードのみが占めることができる。すなわち、1つの時間間隔をたった1つのノードが占めることができ、ランダムな時間間隔を除く各時間間隔を1つのノードに事前に割り当てることができる。また、ランダムな時間間隔は、特定のノードに事前に割り当てられることはないが、ランダムな時間間隔を占めたいという要求に成功したノードによって占められる。こうして、制御システムが起動した後に、ノードの各々は、当該ノードに事前に割り当てられた、ランダムな時間間隔ではない時間間隔にデータを送信する。さらに、全てのノードは、ランダムな時間間隔を占めたいと要求することができ、あるノードがあるランダムな時間間隔を占めたいという要求に成功した場合、このノードはこのランダムな時間間隔にデータを送信する。
【００３３】
データ伝送のためノードに事前に割り当てられた時間間隔に当該ノードによって送信されるデータが、定期的に送信されるリアルタイム要求データ、例えば、測定および制御に密接に関係するデータ(制御語、状態語、位置、速度、トルクなどを含む)でありうることに留意すべきである。ランダムな時間間隔にノードによって送信されるデータは、特定の状況の下で生成される、リアルタイム要求ではないデータ、例えば、デバイス管理の設定およびパラメータ設定、例えば、IEEE1588の同期メッセージ、アプリケーション層サービスメッセージ(application  layer  service  message)、および情報技術分野における他の通常のTCP/IPに基づくメッセージでありうる。
【００３４】
ランダムな時間間隔が現在の通信マクロサイクル内に含まれる場合であって、現在の通信マクロサイクル内のランダムな時間間隔を、データを送信するために第1ノードが占めることはできず、第1ノードに割り当てられた時間間隔を現在の通信マクロサイクルが含まない場合、S102で言及されている、第1ノードがデータを送信する時間間隔を現在の通信マクロサイクルが含まない場合と考えられることにも留意すべきである。
【００３５】
S101およびS102を再び参照し、第1ノードが第2ノードに対して、ランダムな時間間隔を占めたいと要求する必要がある場合、第1ノードは第2ノードに対し、現在の通信マクロサイクル内の第1ノードがデータを送信する時間間隔にデータを送信している最中、または送信した後に、次の通信マクロサイクル内のランダムな時間間隔を占めたいと要求することができる。次の通信マクロサイクル内のランダムな時間間隔を占めることに関する第2ノードからの応答が、次の通信マクロサイクル内に受信された場合、第1ノードは、次の通信マクロサイクル内のランダムな時間間隔にデータを送信することができる。当然ながら、次の通信マクロサイクルが、第1ノードがデータを送信する時間間隔を含む場合、第1ノードは、次の通信マクロサイクル内の第1ノードがデータを送信する時間間隔にデータを送信することもできる。望ましくは、第1ノードは、第2ノードに送信されるデータに要求用フィールドを設定することができ、この要求用フィールドの内容は、例えば伝送に関する第1ノードの優先度である。望ましくは、第2ノードは、第1ノードに送信される(またはブロードキャストされる)データに許可用フィールドを設定することができ、この許可用フィールドの内容は、例えば第1ノードの識別子である。よって、伝送のためにデータが送信されるだけでなく、申し入れおよび許可が第1ノードおよび第2ノードによって終了し、その結果、時間およびメッセージの資源の節約となる。
【００３６】
第1ノードが、他のノードに対してランダムな時間間隔を占めることを許可するノードである場合、送信されるデータをバッファリングする前に第1ノードは、第3ノードによって送信された、現在の通信マクロサイクル内のランダムな時間間隔を占めたいという要求を、先行する通信マクロサイクル内に受信することができる。第3ノードが現在の通信マクロサイクル内のランダムな時間間隔を占めることを第1ノードが許可する場合、現在の通信マクロサイクル内の第1ノードがデータを送信する時間間隔に、第1ノードは第3ノードに対して、第3ノードが現在の通信マクロサイクル内のランダムな時間間隔を占めることを許可する旨の応答を送信することができる。こうして、第3ノードは、現在の通信マクロサイクル内のランダムな時間間隔にデータを送信することができる。
【００３７】
本開示において、ノードの各々は、当該ノードに事前に割り当てられた時間間隔、または当該ノードが要求により占めることを許可されたランダムな時間間隔にデータを送信する必要があり、ノードの各々が、当該ノードがデータを送信する時間間隔に予定通りにデータを確実に送信できるよう、制御システム内の様々なノードがローカルクロックを適宜調整するのが望ましい。すなわち、制御システム内の様々なノードがネットワーククロック同期を適宜実行するのが望ましい。
【００３８】
クロック同期の1つの方法は、簡易ネットワークタイムプロトコル(SNTP)またはIEEE1588プロトコルに基づく。また、本開示はさらに、クロック同期の別の方法を提供する。
【００３９】
S101およびS102を再び参照し、第1ノードがクロック源でない場合、第1ノードは、S102が実行される前に、クロック源がデータを送信する時間間隔にクロック源によって送信された第1データを受信した後、第1データが域内(local)に到着した時間を記録する。次いで、第1ノードは、クロック源がデータを送信する別の時間間隔にクロック源によって送信された第2データを受信する。この第2データは、クロック源が第1データを送信した時間を含む。こうして、第1ノードは、第1データが域内に到着した時間、クロック源が第1データを送信した時間、および第1ノードとクロック源との間の回路遅延に従ってローカルクロックを修正することができる。
【００４０】
第1ノードがクロック源である場合、S102が実行されるとき、または実行された後、第1ノードは、現在の通信マクロサイクル内の第1ノードがデータを送信する時間間隔に第1ノードがデータを送信した時間を記録する。第1ノードからデータを受信するノードは、当該データが受信された時間を記録することができる。第1ノードによって記録された時間は、第1ノードがデータを送信する次の時間間隔に第1ノードによって送信されるデータに含まれうる。よって、第1ノードから2度受信するノードは、第1ノードによる時間記録、第1ノードによって送信されたデータが受信された記録済み時間、および第1ノードに対する回路遅延に従ってローカルクロックを修正することができる。
【００４１】
特定の実施形態では、制御デバイスがクロック源として一般的に使用される。当然ながら、他のノードをクロック源として使用してもよい。本開示は、ノード間のクロック同期が確実にとられる限り、この点で限定されていない。
【００４２】
S101およびS102における第1ノードは、制御システム内の制御デバイスであってよく、または制御システム内の測定/作動装置であってよいことに留意すべきである。例えば、第1ノードは、数値制御システム内の数値制御デバイスであってよく、または数値制御システム内のサーボドライバであってよい。
【００４３】
イーサネット（登録商標）に基づく上記のデータ伝送方法に対応して、本開示はさらにイーサネット（登録商標）ノードを提供する。図2に示されているように、このノードは以下を含む。送信されるデータをバッファリングするバッファリング装置201。送信されるデータをバッファリング装置201がバッファリングした後、イーサネット（登録商標）ノードがデータを送信する時間間隔を現在の通信マクロサイクルが含むか否かを判断する第1判断装置202。および、イーサネット（登録商標）ノード(具体的には、データ処理装置203)がデータを送信する時間間隔を現在の通信マクロサイクルが含むと第1判断装置202が判断した場合、現在の通信マクロサイクル内のイーサネット（登録商標）ノード(具体的には、データ処理装置203)がデータを送信する時間間隔に、バッファリング装置201によってバッファリングされたデータを送信し、イーサネット（登録商標）ノード(具体的には、データ処理装置203)がデータを送信する時間間隔を現在の通信マクロサイクルが含まないと第1判断装置202が判断した場合、現在の通信マクロサイクル内に、データバッファリング装置201によってバッファリングされたデータを送信しない、データ処理装置203。現在の通信マクロサイクル内のイーサネット（登録商標）ノード(具体的には、データ処理装置203)がデータを送信する時間間隔に、他のノードはデータを送信せず、各通信マクロサイクルは同じ持続時間を有し、各通信マクロサイクルは複数の固定持続時間である時間間隔からなる。
【００４４】
具体的には、送信されるデータは、図2に示されているイーサネット（登録商標）ノードによって転送されるデータであってよく、図2に示されているイーサネット（登録商標）ノードによって生成されて送信されるデータであってもよい。
【００４５】
実用においては、バッファリング装置201によってバッファリングされるデータの規模が比較的大きいことがある。この場合、現在の通信マクロサイクル内のデータ処理装置203がデータを送信する時間間隔に、データ処理装置203はバッファリング済みデータの一部のみを送信することができ、バッファリング済みデータの残りは、データ処理装置203がデータを送信する1つまたは複数の後の時間間隔に送信できる。
【００４６】
上記の通り、任意の1つの時間間隔を、事前に割り当てられたたった1つのノードが占めることができる。すなわち、1つの時間間隔をたった1つのノードが単独で占めることができ、各時間間隔を1つのノードに事前に割り当てることができる。こうして、制御システムが起動した後に、各ノードは事前に割り当てられた時間間隔にデータを送信する。
【００４７】
また、上記の通り、各通信マクロサイクルはランダムな時間間隔を含むことができ、ランダムな時間間隔は、ランダムな時間間隔を占めたいという要求に成功したノードによって占められる。各通信マクロサイクル内のランダムな時間間隔を除く時間間隔のうちの任意の1つを、事前に割り当てられた1つのノードのみが占めることができる。すなわち、1つの時間間隔をたった1つのノードが占めることができ、ランダムな時間間隔を除く各時間間隔を1つのノードに事前に割り当てることができる。また、ランダムな時間間隔は、特定のノードに事前に割り当てられることはなく、ランダムな時間間隔を占めたいという要求に成功したノードによって占められる。こうして、制御システムが起動した後に、ノードの各々は、当該ノードに事前に割り当てられた、ランダムな時間間隔ではない時間間隔にデータを送信する。さらに、全てのノードは、ランダムな時間間隔を占めたいと要求することができ、あるノードがあるランダムな時間間隔を占めたいという要求に成功した場合、このノードはこのランダムな時間間隔にデータを送信する。
【００４８】
データ伝送のためノードに事前に割り当てられた時間間隔に当該ノードによって送信されるデータが、定期的に送信されるリアルタイム要求データ、例えば、測定および制御に密接に関係するデータ(制御語、状態語、位置、速度、トルクなどを含む)でありうることに留意すべきである。ランダムな時間間隔にノードによって送信されるデータは、特定の状況の下で生成される、リアルタイム要求ではないデータ、例えば、デバイス管理の設定およびパラメータ設定、例えば、IEEE1588の同期メッセージ、アプリケーション層サービスメッセージ、および情報技術分野における他の通常のTCP/IPに基づくメッセージでありうる。
【００４９】
ランダムな時間間隔が現在の通信マクロサイクル内に含まれる場合であって、現在の通信マクロサイクル内のランダムな時間間隔を、データを送信するためにデータ処理装置203が占めることができず、図2に示されているノード(具体的には、データ処理装置203)に割り当てられた時間間隔を現在の通信マクロサイクルが含まない場合、イーサネット（登録商標）ノードがデータを送信する時間間隔を現在の通信マクロサイクルが含まないと第1判断装置202が判断する場合と考えられることにも留意すべきである。
【００５０】
図2に示されているイーサネット（登録商標）ノードは以下をさらに含むことができる。現在の通信マクロサイクル内の図2に示されているイーサネット（登録商標）ノード(具体的には、データ処理装置203)がデータを送信する時間間隔にデータ処理装置203がデータを送信するとき、または送信した後、次の通信マクロサイクル内のランダムな時間間隔を占めたいという要求を第2イーサネット（登録商標）に送信する要求装置204。および、要求装置204が第2イーサネット（登録商標）ノードに対し、次の通信マイクロサイクル内のランダムな時間間隔を占めたいと要求した後、次の通信マクロサイクル内のランダムな時間間隔を占めることを第2イーサネット（登録商標）ノードが許可する旨の応答を、次の通信マクロサイクル内に受信する第1受信装置205。第1受信装置205が次の通信マクロサイクル内に、次の通信マクロサイクル内のランダムな時間間隔を占めることを第2イーサネット（登録商標）ノードが許可する旨の応答を受信した場合、データ処理装置203は、次の通信マクロサイクル内のランダムな時間間隔にデータを送信することができる。当然ながら、図2に示されているイーサネット（登録商標）ノード(具体的には、データ処理装置203)がデータを送信する時間間隔を次の通信マクロサイクルが含む場合、データ処理装置203は、次の通信マクロサイクル内の処理装置203がデータを送信する時間間隔にデータを送信することもできる。望ましくは、データ処理装置203は、第2イーサネット（登録商標）ノードに送信されるデータに要求用フィールド設定することができ、この要求用フィールドの内容は、例えば、データを送信する図2に示されているイーサネット（登録商標）ノードの優先度である。第2イーサネット（登録商標）ノードは、図2に示されているイーサネット（登録商標）ノードに送信される(またはブロードキャストされる)データに許可用フィールドを設定することができ、この許可用フィールドの内容は、例えば、図2に示されているイーサネット（登録商標）ノードの識別子である。よって、伝送のためにデータが送信されるだけでなく、申し入れおよび許可が図2に示されているイーサネット（登録商標）ノードおよび第2イーサネット（登録商標）ノードによって終了し、結果的に時間およびメッセージの資源の節約と
なる。
【００５１】
図2に示されているイーサネット（登録商標）ノードが、他のノードがランダム時間間隔を占めるのを許可するノードである場合、図2に示されているイーサネット（登録商標）ノードは以下をさらに含むことができる。送信されるデータをバッファリング装置201がバッファリングする前に、第3イーサネット（登録商標）ノードによって送信された、現在の通信マクロサイクル内のランダムな時間間隔占めたいという要求を、先行する通信マクロサイクル内に受信する第2受信装置206。および、第3イーサネット（登録商標）ノードによって送信された、現在の通信マクロサイクル内のランダムな時間間隔を占めたいという要求を第2受信装置206が受信した後に、第3イーサネット（登録商標）ノードが現在の通信マクロサイクル内のランダムな時間間隔を占めることが許されるか否かを判断する第2判断装置207。第3イーサネット（登録商標）ノードが現在の通信マクロサイクル内のランダムな時間間隔を占めることが許されると第2判断装置207が判断した場合、データ処理装置203は、現在の通信マクロサイクル内のデータ処理装置203がデータを送信する時間間隔に、現在の通信マクロサイクル内のランダムな時間間隔を占めることを許可する旨の応答を第3イーサネット（登録商標）に送信することができる。こうして、第3イーサネット（登録商標）ノードは、現在の通信マクロサイクル内のランダムな時間間隔にデータを送信することができる。
【００５２】
本開示において、ノードの各々は、当該ノードに事前に割り当てられた時間間隔、または当該ノードが要求により占めることを許可されたランダムな時間間隔にデータを送信する必要があり、ノードの各々が、当該ノードがデータを送信する時間間隔に予定通りにデータを確実に送信できるよう、制御システム内の様々なノードがローカルクロックを適宜調整するのが望ましい。すなわち、制御システム内の様々なノードがネットワーククロック同期を適宜実行するのが望ましい。
【００５３】
クロック同期の1つの方法は、簡易ネットワークタイムプロトコル(SNTP)またはIEEE1588プロトコルに基づく。また、本開示はさらに、クロック同期の別の方法を提供する。
【００５４】
引き続き図2を参照し、図2に示されているイーサネット（登録商標）ノードがクロック源ではない場合、図2に示されているイーサネット（登録商標）ノードは以下をさらに含むことができる。バッファリング装置201によってバッファリングされたデータをデータ処理装置203が送信する前に、クロック源がデータを送信する時間間隔にクロック源によって送信された第1データを受信する第3受信装置208。および、クロック源によって送信された第1データを第3受信装置208が受信した後に、第1データが域内に到着した時間を記録する第1記録装置209。第1データを受信した後に第3受信装置208はさらに、クロック源がデータを送信する別の時間間隔にクロック源によって送信された第2データを受信し、この第2データは、クロック源が第1データを送信した時間を含む。図2に示されているイーサネット（登録商標）ノードは、第1データが域内に到着した時間、クロック源が第1データを送信した時間、およびイーサネット（登録商標）ノードとクロック源との間の回路遅延に従って、図2に示されているイーサネット（登録商標）ノードのクロックを修正するクロック修正装置210をさらに含むことができる。
【００５５】
図2に示されているイーサネット（登録商標）ノードがクロック源である場合、図2に示されているイーサネット（登録商標）ノードは以下をさらに含むことができる。バッファリング装置201によってバッファリングされたデータをデータ処理装置203が送信するとき、または送信した後、現在の通信マクロサイクル内の図2に示されているイーサネット（登録商標）ノード(具体的には、データ処理装置203)がデータを送信する時間間隔にデータが送信された時間を記録する第2記録装置211。図2に示されているイーサネット（登録商標）ノード(具体的には、データ処理装置203)によって送信されたデータを受信するノードは、データが受信された時間を記録することができる。データ処理装置203は、図2に示されているイーサネット（登録商標）ノード(具体的には、データ処理装置203)がデータを送信する次の時間間隔に送信されるデータに、第2記録装置211によって記録された時間を含めることができる。こうして、図2に示されているイーサネット（登録商標）ノード(具体的には、データ処理装置203)から2度受信するノードは、第2記録装置211によって記録された時間、図2に示されているイーサネット（登録商標）ノード(具体的には、データ処理装置203)によって送信されたデータが受信された時間、および図2に示されているイーサネット（登録商標）ノードから2度受信するノードとイーサネット（登録商標）ノードとの間の回路遅延に従って、ローカルクロックを修正することができる。
【００５６】
図2に示されているイーサネット（登録商標）ノードは、制御システム内の制御デバイスであってよく、制御システム内の測定/作動装置であってもよいことに留意すべきである。例えば、図2に示されているイーサネット（登録商標）ノードは、数値制御システム内の制御デバイスであってよく、制御システム内の測定/作動装置であってもよい。
【００５７】
イーサネット（登録商標）に基づく上記のデータ伝送方法、および上記のイーサネット（登録商標）ノードに加えて、本開示は制御システムをさらに提供する。制御システムは以下を含む。制御デバイスおよび複数の測定/作動装置。制御デバイスは測定/作動装置の少なくとも1つを制御し、通信マクロサイクル内の制御デバイスがデータを送信する時間間隔にデータを送信する。複数の測定/作動装置は制御デバイスによって制御され、測定/作動装置の各々は、通信マクロサイクル内の測定/作動装置がデータを送信する時間間隔にデータを送信する。任意の通信マクロサイクルにおける時間間隔のうちの任意の1つを、データを送信するために制御デバイスおよび複数の測定/作動装置のうちのたった1つが占めることができ、各通信マクロサイクルは同じ持続時間を有し、各通信マクロサイクルは複数の固定持続時間である時間間隔からなる。
【００５８】
上記の通り、任意の1つの時間間隔を、事前に割り当てられたたった1つのノードが占めることができる。すなわち、1つの時間間隔をたった1つのノードが単独で占めることができ、各時間間隔を1つのノードに事前に割り当てることができる。こうして、制御システムが起動した後に、各ノードは事前に割り当てられた時間間隔にデータを送信する。
【００５９】
また、上記の通り、各通信マクロサイクルはランダムな時間間隔を含むことができ、ランダムな時間間隔は、ランダムな時間間隔を占めたいという要求に成功したノードによって占められる。各通信マクロサイクル内のランダムな時間間隔を除く時間間隔のうちの任意の1つを、事前に割り当てられた1つのノードのみが占めることができる。すなわち、1つの時間間隔をたった1つのノードが占めることができ、ランダムな時間間隔を除く各時間間隔を1つのノードに事前に割り当てることができる。また、ランダムな時間間隔は、特定のノードに事前に割り当てられることはなく、ランダムな時間間隔を占めたいという要求に成功したノードによって占められる。こうして、制御システムが起動した後に、ノードの各々は、当該ノードに事前に割り当てられた、ランダムな時間間隔ではない時間間隔にデータを送信する。さらに、全てのノードは、ランダムな時間間隔を占めたいと要求することができ、あるノードがあるランダムな時間間隔を占めたいという要求に成功した場合、このノードはこのランダムな時間間隔にデータを送信する。
【００６０】
データ伝送のためノードに事前に割り当てられた時間間隔に当該ノードによって送信されるデータが、定期的に送信されるリアルタイム要求データ、例えば、測定および制御に密接に関係するデータ(制御語、状態語、位置、速度、トルクなどを含む)でありうることに留意すべきである。ランダムな時間間隔にノードによって送信されるデータは、特定の状況の下で生成される、リアルタイム要求ではないデータ、例えば、デバイス管理の設定およびパラメータ設定、例えば、IEEE1588の同期メッセージ、アプリケーション層サービスメッセージ、および情報技術分野における他の通常のTCP/IPに基づくメッセージでありうる。
【００６１】
各測定/作動装置がデータを送信する時間間隔に、各測定/作動装置は制御デバイスに対し、次の通信マクロサイクル内のランダムな時間間隔を占めたいと要求することができ、次の通信マクロサイクル内の制御デバイスがデータを送信する時間間隔に、制御デバイスは、要求した全ての測定/作動装置のうちの1つに対し、次の通信マクロサイクル内のランダムな時間間隔を占めることを許可する旨の応答を送信することができる。望ましくは、測定/作動装置は、制御デバイスに送信されるデータに要求用フィールド設定することができ、この要求用フィールドの内容は、例えば、データを送信する測定/作動装置の優先度である。制御デバイスは、測定/作動装置に送信される(ブロードキャストされる)データに許可用フィールドを設定することができ、許可用フィールドの内容は、例えば、対応する測定/作動装置の識別子であり、それにより、伝送のためにデータが送信されるだけでなく、申し入れおよび許可が制御デバイスおよび測定/作動装置によって終了し、その結果、時間およびメッセージの資源の節約になる。
【００６２】
制御デバイスによって直接制御される測定/作動装置を第1レベル測定/作動装置と称し、第1レベル測定/作動装置の各々は、少なくとも1つの第2レベル測定/作動装置を直接制御する。各第2レベル測定/作動装置がデータを送信する時間間隔に、第2レベル測定/作動装置は、第2レベル測定/作動装置を直接制御する第1レベル測定/作動装置に対して、次の通信マクロサイクル内のランダムな時間間隔を占めたいと要求することができる。各第1レベル測定/作動装置は、第1レベル測定/作動装置によって直接制御されている第2レベル測定/作動装置から、次の通信マクロサイクル内のランダムな時間間隔を占めることが許される1つの第2レベル測定/作動装置を選択することができ、第1レベル測定/作動装置がデータを送信する時間間隔に、次の通信マクロサイクル内のランダムな時間間隔を占めたいという要求を制御デバイスに送信することができ、この要求は、選択された第2レベル測定/作動装置を識別する情報を含む。次の通信マクロサイクル内の制御デバイスがデータを送信する時間間隔に、制御デバイスは、次の通信マクロサイクル内のランダムな時間間隔を占めることを許可する旨の応答を、要求を送信した全ての第1レベル測定/作動装置の1つに対して送信し、全ての第1レベル測定/作動装置の1つは、選択された第2レベル測定/作動装置に対し、次の通信マクロサイクル内のランダムな時間間隔を占めることを許可する旨の応答を送信する。当然ながら、第3レベル測定/作動装置または他のレベルの測定/作動装置が要求および許可に参加してもよい。すなわち、要求および許可は複数のレベルで実行できる。
【００６３】
本開示では、デバイスの各々は、当該デバイス自体に事前に割り当てられた時間間隔に、または当該デバイスが要求により占めることを許可された時間間隔にデータを送信する必要がある。各デバイスが、それ自体がデータを送信する時間間隔に予定通りデータを確実に送信できるよう、制御システム内の様々なデバイスがローカルクロックを適宜調整する、すなわち、ネットワーククロック同期を適宜実行するのが望ましい。
【００６４】
クロック同期の1つの方法は、簡易ネットワークタイムプロトコル(SNTP)またはIEEE1588プロトコルに基づく。また、本開示はさらに、クロック同期の別の方法を提供する。
【００６５】
制御デバイスがクロック源である場合、第1データの伝送時または伝送後に制御デバイスは、第1データが送信された時間を記録することができる。第1データを受信する測定/作動装置は、第1データが域内に到着した時間を記録することができる。制御デバイスがデータを送信する次の時間間隔に制御デバイスによって送信された第2データは、第1データが送信された時間を含むことができる。そして、第1データを受信する測定/作動装置は第2データの受信後に、制御デバイスが第1データを送信した時間、第1データが域内に到着した時間、および域内と制御デバイスとの間の回路遅延に従ってローカルクロックを修正することができる。
【００６６】
特定の実施形態では、制御デバイスがクロック源として一般的に使用される。当然ながら、特定の測定/作動装置をクロック源として使用してもよい。本開示は、デバイス間のクロック同期が確実にとられる限り、この点で限定されていない。
【００６７】
上記の制御システムは、例えば数値制御システムであり、制御デバイスは、例えば数値制御システム内の数値制御デバイスであり、測定/作動装置は、例えば数値制御システム内のサーボドライバであることに留意すべきである。
【００６８】
当業者が本開示をより明確に理解できるよう、本開示のいくつかの好ましい実施形態について、例として数値システムを取り上げて以下で説明する。
【００６９】
第1の好ましい実施形態
図3は、本開示のイーサネット（登録商標）のスター型トポロジ構造、デイジーチェーン型トポロジ構造またはリング型トポロジ構造を示している。第1の好ましい実施形態では、イーサネット（登録商標）は、図3に示されているようなスター型トポロジ構造であり、ローカルエリアネットワークが、1つの数値制御デバイス、3つのサーボドライバおよび1つの産業用スイッチからなる。
【００７０】
図4に示されているように、クロックは、IEEE1588精密クロック同期化プロトコルに基づき同期化され、数値制御デバイスが主クロック(すなわち、クロック源)、サーボドライバが従属クロックになるよう設定され、主クロックと従属クロックとの間で同期化が実行される。数値制御システムが起動した後、各サーボドライバは、数値制御デバイスとサーボドライバとの間の回路遅延を測定し、遅延を記憶する。回路遅延は、以下の方法によって測定される。
【００７１】
数値制御デバイスは同期(SYNC)メッセージを送信し、SYNCメッセージ伝送時間:Tsn=1000000nsを記録し、サーボドライバへ送信するフォロー_アップメッセージでタイムスタンプ(すなわち、伝送時間Tsn)を搬送する。
【００７２】
サーボドライバは、SYNCメッセージを受信し、SYNCメッセージ到着時間:Tdn=1300500nsを記録する。
【００７３】
サーボドライバはフォロー_アップメッセージを受信し、数値制御デバイスがSYNCメッセージを送信した伝送時間Tsnを取得する。
【００７４】
サーボドライバは遅延_要求メッセージを送信し、遅延_要求メッセージ伝送時間:Tsn+1=1360000nsを記録する。
【００７５】
数値制御デバイスは遅延_要求メッセージを受信し、遅延_要求メッセージ到着時間:Tdn+1=1060500nsを記録し、サーボドライバへ送信する遅延_応答メッセージでタイムスタンプ(すなわち、到着時間Tdn+1)を搬送する。
【００７６】
遅延_応答メッセージの受信後にサーボドライバは、以下の式により回路遅延を計算する。
【００７７】
【数１】
2012516589.tif 000003
【００７８】
続いて、数値制御デバイスはSYNCメッセージを定期的に送信し、SYNCメッセージを受信したサーボドライバは、SYNCを送信した数値制御デバイスと同期をとる。数値制御デバイスおよび各サーボドライバは関連クロックを維持し、各サーボドライバは、自身のクロックを数値制御デバイスのクロックと定期的に同期させ、ローカルクロックを修正する。
【００７９】
同期偏差は、以下の方法を用いることによって計算できる。
【００８０】
数値制御デバイスはSYNCメッセージを送信し、SYNCメッセージ伝送時間:Tsn+2=2000000nsを記録し、サーボドライバへ送信するフォロー_アップメッセージでタイムスタンプ(すなわち、伝送時間Tsn+2)を搬送する。
【００８１】
サーボドライバは、SYNCメッセージを受信し、SYNCメッセージ到着時間Tdn+2=2300500nsを記録する。
【００８２】
サーボドライバはフォロー_アップメッセージを受信し、数値制御デバイスがSYNCメッセージを送信した伝送時間Tsn+2を取得する。
【００８３】
サーボドライバは、以下の式を用いて同期偏差を計算する。
Offsetn=Tdn+2-Tsn+2-Delayn=2300500-2000000-500=300000ns
【００８４】
Offsetnがサーボドライバによってローカルクロックから除去されるまで、同期は完了した状態である。クロック同期の完了後、通信スケジューリングが始まり、次いで数値制御デバイスおよび各サーボドライバは、通信スケジューリング方式に従ってデータを送信、すなわち、データ伝送プロセスを開始する。
【００８５】
図5に示されているように、第1の好ましい実施形態では、通信マクロサイクルはランダムな時間間隔を含む。図5に示されている定期時間は、デバイスに事前に割り当てられる時間幅を指し、複数のタイムスロット(すなわち、時間間隔)を含み、各時間間隔が1つのデバイスに事前に割り当てられる。図5に示されている不定期時間は、ランダムな時間間隔を指す。
【００８６】
図6に示されているように、数値制御デバイスおよび(図6ではサーボ1と称されている)サーボドライバ1は、各通信マクロサイクル内のそれぞれのタイムスロットにデータ(例えば、定期データと呼ばれる、定期的に送信されるデータ)を送信し、(図6ではサーボ2と称されている)サーボドライバ2および(図6ではサーボ3と称されている)サーボドライバ3は、データ(例えば、定期データと呼ばれる、定期的に送信されるデータ)を交互に送信することによって同じタイムスロットを共有する。通信マクロサイクルaでは、サーボドライバ1は、定期データの要求フィールドを使用して、(不定期データと呼ばれる)不定期に送信できるデータを送信したいと要求する。通信マクロサイクルbでは、数値制御デバイスは、定期データの許可フィールドを使用して、サーボドライバ1に対し、通信マクロサイクルb内の不定期時間に不定期データを送信するよう命令する。許可された後、サーボドライバ1は通信マクロサイクルb内の不定期時間に不定期データを送信する。
【００８７】
図7に示されているように、要求フィールドおよび許可フィールドが定期データに挿入されており、これら2つのフィールドはデータリンク層の通信スケジューリング/管理サブレイヤによって維持されうる。第1の好ましい実施形態では、要求フィールドは各サーボドライバによって維持され、サーボドライバの通信スケジューリング/管理サブレイヤは、ローカルデバイスの不定期データの待ち行列内で優先度の最も高いものを要求フィールドに書き込む。許可フィールドは数値制御デバイスによって維持される。すなわち、数値制御デバイスによって送信される定期データの許可フィールドだけが重要である。数値制御デバイスの通信スケジューリング/管理サブレイヤは、各サーボドライバによって送信された要求フィールドを処理し、サーボドライバの1つに対し、当該サーボドライバのタグ番号を指定して不定期データを送信することを許可する。
【００８８】
図8に示されているように、第1の好ましい実施形態では、優先度スケジューリング方式が採用される。すなわち、数値制御デバイスは、各サーボドライバによって送信される不定期データの優先度に従って、どのサーボドライバが不定期時間を占めることにするかを決定する。ある通信マクロサイクルにおいて、(図6ではサーボ1と称されている)サーボドライバ1は、0x1の優先度を有する不定期データを送信したいと要求し、(図6ではサーボ2と称されている)サーボドライバ2は、0x2の優先度を有する不定期データを送信したいと要求し、(図6ではサーボ3と称されている)サーボドライバ3は、送信する不定期データを持っておらず、要求フィールドを保留値(reserved  value)0xffに設定すると想定する。次の通信マクロサイクルでは、数値制御デバイスはサーボドライバ1に対し、タグ番号16を指定して、次の通信マクロサイクル内の不定期時間に不定期データを送信するよう命令する。
【００８９】
図9に示されているように、通信スケジューリング/管理はイベントトリガとして実施することができ、通信スケジューリング/管理は1つのデバイスで行われる。具体的な流れは次の通りである。
【００９０】
S901:通信スケジューリングを開始する。
【００９１】
S902:通信スケジューリング/管理サブレイヤによって、定期時間開始イベントを第1イベントとして時限イベントリストに挿入し、待機する。
【００９２】
S903:定期時間が始まったとき、定期時間開始イベントに応じ、定期データ伝送イベントを時限イベントリストに挿入し、定期データを編成し、送信される定期データをネットワークカードの記憶領域に書き込み、待機する。
【００９３】
S904:定期データを送信する時間になったとき、定期データ伝送イベントに応じ、ネットワークカードの記憶領域のデータを送信し、不定期時間開始イベントを時限イベントリストに挿入し、待機する。
【００９４】
S905:不定期時間が始まったとき、不定期時間開始イベントに応じる。
【００９５】
S906:現在のデバイスが不定期データを送信することが許されるか否かを確認し、このデバイスが許される場合にはS907に進み、このデバイスが許されない場合はS902に進む。
【００９６】
S907:不定期データ待ち行列が空白であるか否かを確認し、不定期データ待ち行列が空白でない場合にはS908に進み、不定期データ待ち行列が空白である場合にはS902に進む。
【００９７】
S908:不定期時間が、不定期データ待ち行列内で優先度の最も高いデータの長さに対して十分な長さであるか否かを判断し、不定期時間が当該不定期データを送信するのに十分な長さである場合にはS909に進み、不定期時間が当該不定期データを送信するのに十分な長さでない場合にはS902に進む。
【００９８】
S909:不定期データを送信し、S902に進む。
【００９９】
図10に示されているように、待機中に数値制御デバイスおよび各サーボドライバは受信済みデータを処理することができる。データは割り込みモードまたは照会モードで受信されうる。第1の好ましい実施形態では、データは照会モードで受信される。
【０１００】
S1001:ネットワークカードによって割り込みを起こし、ネットワークカード割り込みハンドラを実行する。
【０１０１】
S  1002:ネットワークカードの記憶領域にデータがあるか否かを確認し、ネットワークカードの記憶領域にデータがある場合にはS1003に進み、ネットワークカードの記憶領域にデータがない場合にはS1010に進む。
【０１０２】
S1003:メモリにデータを保存し、データの種類を判断する。データが定期データである場合にはS1004に進み、データが不定期データである場合にはS1006に進む。
【０１０３】
S1004:サーボドライバはS1005に進み、数値制御デバイスは、要求フィールドの内容を取得し、サイクルスケジューリング/管理を実行し、次いでS1005に進む。具体的には、現在記録されている優先度が0xffであり、要求フィールドの優先度が0xffでない場合、要求フィールドの優先度を記録し、サーボドライバのタグ番号を記録する。現在記録されている優先度が0xffではない場合、要求フィールドの優先度を現在記録されている優先度と比較し、要求フィールドの優先度の方が高い場合、要求フィールドの優先度を記録し、サーボドライバのタグ番号を記録する。
【０１０４】
S1005:定期データを処理のため機能ブロックに渡す。
【０１０５】
S1006:データを搬送するメッセージの種類を判断する。データを搬送するメッセージが、アプリケーション層によって定義された不定期サービスメッセージである場合、S1007に進む。メッセージがIEEE1588同期メッセージである場合、S1008に進む。メッセージが他のプロトコルで定義されたメッセージ、例えば、TCP/IPまたは他のリアルタイムイーサネット（登録商標）技術によって定義されたメッセージである場合、S1009に進む。
【０１０６】
S1007:メッセージを処理のためアプリケーション層プロトコルの機能ブロックに渡し、S1010に進む。
【０１０７】
S1008:メッセージを処理のためIEEE1588プロトコルの機能ブロックに渡し、S1010に進む。
【０１０８】
S1009:メッセージを処理のため関連プロトコルスタックに渡し、S1010に進む。
【０１０９】
S1010:割り込みハンドラを終了する。
【０１１０】
第2の好ましい実施形態
第2の好ましい実施形態は、以下の点で第1の好ましい実施形態と異なる。第2の好ましい実施形態では、イーサネット（登録商標）のデイジーチェーン型トポロジ構造が採用され、送信されるデータでタイムスタンプを搬送することでクロック同期が実施され、通信マクロサイクルはランダムな時間間隔を含まない。
【０１１１】
図11に示されているように、数値制御システムは、1つの数値制御デバイスおよび(図11ではサーボと称されている)4つのサーボドライバを含む。より対線の信号伝送遅延は5.5ns/mであり、各デバイスによって引き起こされる遅延は300nsである。各サーボドライバと数値制御デバイスとの間の回路遅延は、回線によって引き起こされる伝送遅延とデバイスによって引き起こされる遅延との和である。例えば、サーボドライバ4と数値制御デバイスとの間の回路遅延Delaynは、55ns+300ns+22ns+300ns+22ns+300ns+88ns=1087nsである。
【０１１２】
図12に示されているように、送信されるデータでタイムスタンプを搬送することによってクロック同期が実施される。定期データの前回伝送の記録済み時間が、数値制御デバイスによって送信される定期データに含まれる。例えば、通信マクロサイクルaでは、数値制御デバイスは定期データを送信し、データ伝送時間Tsnを記録する。通信マクロサイクルbでは、データ伝送時間Tsnが、送信されるデータで搬送される。通信マクロサイクルaでは、(図12ではサーボ4と称されている)サーボドライバ4が、数値制御デバイスによって送信された定期データを受信し、データ到着時間Tdnを記録する。データ伝送時間Tsnを搬送するデータを受信した後にサーボドライバ4は、以下の式でクロック同期偏差を計算する。
Offsetn=  Tdn-Tsn-Delayn  =1000000-1000000-1087  =-1087ns
【０１１３】
図13に示されているように、通信マクロサイクルは、定期時間のみを含み、不定期時間を含まない。
【０１１４】
図14に示されているように、各デバイスは、割り当てられたタイムスロットにデータを定期的に送信する。送信されるデータは、同期データ、リアルタイムデータおよび非リアルタイムデータを含むことができる。
【０１１５】
通信マクロサイクルは不定期時間を含まず、そのため、定期データ伝送イベントがトリガされた後、定期時間開始イベントが時限イベントリストに挿入される。
【０１１６】
定期メッセージの受信後に各デバイスは、データを定期メッセージから抽出し、データの種類に従って対応する処理方法を選択する。中でも、同期データはクロック同期に使用される情報である。リアルタイムデータは、一般に制御に関係するデータであって、リアルタイム要求であり、処理のため関連する機能ブロックに送信される。非リアルタイムデータは、アプリケーション層サービス、TCP/IPプロトコルまたは他のプロトコルのデータを含み、リアルタイム要求ではない。定期データの非リアルタイムデータ領域の長さが、送信されるデータの長さより短い場合、伝送は数回にわたって実行されうる。例えば、非リアルタイムデータ領域のデータを分割して送信することができ、受信側は個別に受信された非リアルタイムデータを再結合し、次いで結合された非リアルタイムデータを関連プロトコルブロックに渡して処理することができる。
【０１１７】
要約すると、本開示では、制御システムにおけるノードの各々は、当該ノードがデータを送信する時間間隔にデータを送信し、それにより、複数のノードが同時にデータを送信したときに生じる伝送衝突の問題が解決される。また、ノードの各々は、指定された時点でデータを送信できることが保証され、データ伝送を望むノードが非常に長い時間にわたってデータを送信できないという問題が解決される。
【０１１８】
さらに、本開示では、ランダムな時間間隔を占めたいという要求の処理、およびランダムな時間間隔を占めることを許可する処理は、ノードからデータを送信する手段によって実施することができ、要求および許可の時間コストを節約できるだけでなく、メッセージ資源も節約できる。
【０１１９】
本開示によって提供されるイーサネット（登録商標）ノードは、多くの仮想装置、すなわち、コンピュータ言語の文または文の組み合わせによって実現される装置を含むことに留意すべきである。実用面では、様々な文の組み合わせは様々な機能を実施することができ、この場合、仮想装置の区分は様々であってよい。すなわち、本開示は仮想装置のたった1つの例示的な区分を提示しており、実用面で当業者は、本開示で述べたイーサネット（登録商標）ノードの機能が実現可能である限り、実際の必要に応じて様々な区分が可能である。
【０１２０】
例示的方法の流れの全部または一部が、コンピュータプログラムのその後の命令によって関連ハードウェアで実施でき、このプログラムをコンピュータ可読記憶媒体に保存できることを、当業者は理解できよう。プログラムは、実行される場合、様々な方法の流れを実施することができる。記憶媒体は、磁気ディスク、光ディスク、読み取り専用メモリ(ROM)、またはランダムアクセスメモリ(RAM)などであってよい。
【０１２１】
上記説明は本発明の好ましい実施形態に過ぎず、本発明を限定することを意図していない。本発明の精神および原則の範囲内で行われるあらゆる修正、同等の代替、改良などは、本発明の範囲内にある。
【符号の説明】
【０１２２】
201  バッファリング装置
202  第1判断装置
203  データ処理装置
204  要求装置
205  第1受信装置
206  第2受信装置
207  第2判断装置
208  第3受信装置
209  第1記録装置
210  クロック修正装置
211  第2記録装置
【図１】
2012516589.tif 000004
【図２】
2012516589.tif 000005
【図３】
2012516589.tif 000006
【図４】
2012516589.tif 000007
【図５】
2012516589.tif 000008
【図６】
2012516589.tif 000009
【図７】
2012516589.tif 000010
【図８】
2012516589.tif 000011
【図９】
2012516589.tif 000012
【図１０】
2012516589.tif 000013
【図１１】
2012516589.tif 000014
【図１２】
2012516589.tif 000015
【図１３】
2012516589.tif 000016
【図１４】
2012516589.tif 000017
【国際調査報告】
2012516589.tif 000018
2012516589.tif 000019
2012516589.tif 000020
2012516589.tif 000021