IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オムロン株式会社の特許一覧

<>
  • 特許-通信方法、通信システムおよび通信装置 図1
  • 特許-通信方法、通信システムおよび通信装置 図2
  • 特許-通信方法、通信システムおよび通信装置 図3
  • 特許-通信方法、通信システムおよび通信装置 図4
  • 特許-通信方法、通信システムおよび通信装置 図5
  • 特許-通信方法、通信システムおよび通信装置 図6
  • 特許-通信方法、通信システムおよび通信装置 図7
  • 特許-通信方法、通信システムおよび通信装置 図8
  • 特許-通信方法、通信システムおよび通信装置 図9
  • 特許-通信方法、通信システムおよび通信装置 図10
  • 特許-通信方法、通信システムおよび通信装置 図11
  • 特許-通信方法、通信システムおよび通信装置 図12
  • 特許-通信方法、通信システムおよび通信装置 図13
  • 特許-通信方法、通信システムおよび通信装置 図14
  • 特許-通信方法、通信システムおよび通信装置 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-21
(45)【発行日】2024-10-29
(54)【発明の名称】通信方法、通信システムおよび通信装置
(51)【国際特許分類】
   H04L 41/00 20220101AFI20241022BHJP
【FI】
H04L41/00
【請求項の数】 10
(21)【出願番号】P 2021031632
(22)【出願日】2021-03-01
(65)【公開番号】P2022132907
(43)【公開日】2022-09-13
【審査請求日】2024-01-16
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】澤田 成憲
【審査官】小林 義晴
(56)【参考文献】
【文献】特開2019-68387(JP,A)
【文献】国際公開第2019/166081(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 47/00
H04L 41/00
(57)【特許請求の範囲】
【請求項1】
TSN(Time Sensitive Networking)に従うネットワークにおける通信方法であって、
前記ネットワーク上でやり取りされるフレームを定義した通信設定情報と、前記ネットワークに接続されるデバイスのTSNに係る性能情報を定義した能力情報とを取得するステップと、
前記ネットワークに生じ得るデバイスの接続形態を1または複数定義したネットワーク構成情報と、前記通信設定情報と、前記能力情報とに基づいて、各デバイスにおけるフレームの通信スケジュールを含むTSN設定を計算するステップと、
前記TSN設定を前記ネットワークに接続されたデバイスに提供するステップとを備え、
前記TSN設定を計算するステップは、前記ネットワーク構成情報に含まれる接続形態のいずれにおいても必要なフレーム転送を実現できるように、前記TSN設定を計算するステップを含む、通信方法。
【請求項2】
予め定められた条件が成立すると、前記TSN設定を計算するステップが開始される、請求項1に記載の通信方法。
【請求項3】
前記ネットワークに接続されたデバイスからのリクエストに応じて、前記TSN設定を計算するステップが開始される、請求項1に記載の通信方法。
【請求項4】
前記TSN設定を計算するステップは、前記ネットワーク構成情報に含まれる1つの接続形態について計算された設定情報が、前記ネットワーク構成情報に含まれる別の接続形態において必要なフレーム転送を実現できるか否かを判断するステップを含む、請求項1~3のいずれか1項に記載の通信方法。
【請求項5】
前記ネットワーク構成情報に定義されたデバイスの接続形態とは異なる接続形態が検出されると、当該異なる接続形態において、必要なフレーム転送を実現できるように、前記TSN設定を再計算するステップをさらに備える、請求項1~4のいずれか1項に記載の通信方法。
【請求項6】
前記再計算されたTSN設定を反映しなければならないと判断されると、当該反映の必要性を通知するステップをさらに備える、請求項5に記載の通信方法。
【請求項7】
明示的な承認に応答して、前記再計算されたTSN設定を前記ネットワークに接続されたデバイスに提供するステップをさらに備える、請求項6に記載の通信方法。
【請求項8】
各デバイスが隣接ノード情報を収集するステップと、
各デバイスが収集した隣接ノード情報に基づいて前記ネットワークのトポロジを生成するステップと、
前記生成されたトポロジに基づいて、前記ネットワーク構成情報を更新するステップとをさらに備える、請求項1~7のいずれか1項に記載の通信方法。
【請求項9】
TSN(Time Sensitive Networking)に従うネットワークを含む通信システムであって、
ネットワークコントローラと、
前記ネットワークに接続される1または複数のデバイスとを備え、
前記ネットワークコントローラは、
前記ネットワーク上でやり取りされるフレームを定義した通信設定情報と、前記1または複数のデバイスのTSNに係る性能情報を定義した能力情報とを取得する手段と、
前記ネットワークに生じ得るデバイスの接続形態を1または複数定義したネットワーク構成情報と、前記通信設定情報と、前記能力情報とに基づいて、各デバイスにおけるフレームの通信スケジュールを含むTSN設定を計算する手段と、
前記TSN設定を前記1または複数のデバイスに提供する手段とを備え、
前記TSN設定を計算する手段は、前記ネットワーク構成情報に含まれる接続形態のいずれにおいても必要なフレーム転送を実現できるように、前記TSN設定を計算する、通信システム。
【請求項10】
TSN(Time Sensitive Networking)に従うネットワークを構成するネットワークコントローラであって、
前記ネットワーク上でやり取りされるフレームを定義した通信設定情報と、前記ネットワークに接続されるデバイスのTSNに係る性能情報を定義した能力情報とを取得する手段と、
前記ネットワークに生じ得るデバイスの接続形態を1または複数定義したネットワーク構成情報と、前記通信設定情報と、前記能力情報とに基づいて、各デバイスにおけるフレームの通信スケジュールを含むTSN設定を計算する手段と、
前記TSN設定を前記ネットワークに接続されたデバイスに提供する手段とを備え、
前記TSN設定を計算する手段は、前記ネットワーク構成情報に含まれる接続形態のいずれにおいても必要なフレーム転送を実現できるように、前記TSN設定を計算する、通信装置。
【発明の詳細な説明】
【技術分野】
【0001】
本技術は、通信方法、通信システムおよび通信装置に関する。
【背景技術】
【0002】
一般的な情報系ネットワークに採用されている標準的なネットワーク(例えば、イーサネット(登録商標))を産業分野のネットワークでも利用できるように拡張する取り組みが進行しつつある。より具体的には、イーサネット(登録商標)をベースにして、ネットワークが決定性のある挙動をするように改良されたIEEE(Institute of Electrical and Electronic Engineers) 802.1 TSN(Time Sensitive Networking)(以下、「TSN規格」とも称す。)が知られている。TSN規格によれば、例えば、イーサネット(登録商標)などの汎用的なハードウェアを用いて、リアルタイム通信をより容易に実現できる。
【0003】
例えば、特許文献1(欧州特許第03357218号明細書)は、TSN規格に従うネットワークを利用した産業用ネットワークなどを開示する。
【先行技術文献】
【特許文献】
【0004】
【文献】欧州特許第03357218号明細書
【発明の概要】
【発明が解決しようとする課題】
【0005】
生産現場では、生産される品種や生産工程の変更に伴って、使用される装置や治具が変更されることも多い。このような変更は、段取り替えとも称される。このような段取り替えに伴って、産業用ネットワークに接続されるデバイスも変更されることになる。
【0006】
接続されるデバイスが変更された場合であっても、要求された通信性能を維持するための仕組みについては、何ら考慮されていない。
【0007】
本技術は、ネットワークに接続されるデバイスが変更されても、要求された通信性能を維持するための仕組みを提供する。
【課題を解決するための手段】
【0008】
本技術のある実施の形態に従えば、TSNに従うネットワークにおける通信方法が提供される。通信方法は、ネットワーク上でやり取りされるフレームを定義した通信設定情報と、ネットワークに接続されるデバイスのTSNに係る性能情報を定義した能力情報とを取得するステップと、ネットワークに生じ得るデバイスの接続形態を1または複数定義したネットワーク構成情報と、通信設定情報と、能力情報とに基づいて、各デバイスにおけるフレームの通信スケジュールを含むTSN設定を計算するステップと、TSN設定をネットワークに接続されたデバイスに提供するステップとを含む。TSN設定を計算するステップは、ネットワーク構成情報に含まれる接続形態のいずれにおいても必要なフレーム転送を実現できるように、TSN設定を計算するステップを含む。
【0009】
この構成によれば、例えば、段取り替えなどによってネットワーク構成(デバイスの接続形態)が変更されることが予定されている場合などには、ネットワークに生じ得るデバイスの接続形態を1または複数定義したネットワーク構成情報を用いてTSN設定を計算することで、いずれのネットワーク構成においても要求された通信性能を維持できる。
【0010】
予め定められた条件が成立すると、TSN設定を計算するステップが開始されてもよい。この構成によれば、ネットワークコントローラなどの管理主体を中心として、TSNに従うネットワークを管理できる。
【0011】
ネットワークに接続されたデバイスからのリクエストに応じて、TSN設定を計算するステップが開始されてもよい。この構成によれば、ネットワークに新たにデバイスが接続されることを契機として、最適なTSN設定を計算できる。
【0012】
TSN設定を計算するステップは、ネットワーク構成情報に含まれる1つの接続形態について計算された設定情報が、ネットワーク構成情報に含まれる別の接続形態において必要なフレーム転送を実現できるか否かを判断するステップを含んでいてもよい。この構成によれば、ネットワーク構成情報に定義されたデバイスの接続形態のいずれについても要求された通信性能を維持できるTSN設定を計算できる。
【0013】
通信方法は、ネットワーク構成情報に定義されたデバイスの接続形態とは異なる接続形態が検出されると、当該異なる接続形態において、必要なフレーム転送を実現できるように、TSN設定を再計算するステップをさらに含んでいてもよい。この構成によれば、当初のTSN設定の計算では考慮されていなかった接続形態に対しても、適切なTSN設定を計算できる。
【0014】
通信方法は、再計算されたTSN設定を反映しなければならないと判断されると、当該反映の必要性を通知するステップをさらに含んでいてもよい。この構成によれば、新たなTSN設定を反映する必要性がある場合に、ユーザは、ネットワーク内の影響などを考慮する機会を得ることができる。
【0015】
通信方法は、明示的な承認に応答して、再計算されたTSN設定をネットワークに接続されたデバイスに提供するステップをさらに含んでいてもよい。この構成によれば、ユーザなどが明示的に承認した場合に限って、TSN設定が反映されるので、ネットワーク内に生じる意図しない不具合の可能性を低減できる。
【0016】
通信方法は、各デバイスが隣接ノード情報を収集するステップと、各デバイスが収集した隣接ノード情報に基づいてネットワークのトポロジを生成するステップと、生成されたトポロジに基づいて、ネットワーク構成情報を更新するステップとをさらに含んでいてもよい。
【0017】
本技術の別の実施の形態に従えば、TSNに従うネットワークを含む通信システムが提供される。通信システムは、ネットワークコントローラと、ネットワークに接続される1または複数のデバイスとを含む。ネットワークコントローラは、ネットワーク上でやり取りされるフレームを定義した通信設定情報と、1または複数のデバイスのTSNに係る性能情報を定義した能力情報とを取得する手段と、ネットワークに生じ得るデバイスの接続形態を1または複数定義したネットワーク構成情報と、通信設定情報と、能力情報とに基づいて、各デバイスにおけるフレームの通信スケジュールを含むTSN設定を計算する手段と、TSN設定を1または複数のデバイスに提供する手段とを含む。TSN設定を計算する手段は、ネットワーク構成情報に含まれる接続形態のいずれにおいても必要なフレーム転送を実現できるように、TSN設定を計算する。
【0018】
本技術のさらに別の実施の形態に従えば、TSNに従うネットワークを構成するネットワークコントローラが提供される。ネットワークコントローラは、ネットワーク上でやり取りされるフレームを定義した通信設定情報と、ネットワークに接続されるデバイスのTSNに係る性能情報を定義した能力情報とを取得する手段と、ネットワークに生じ得るデバイスの接続形態を1または複数定義したネットワーク構成情報と、通信設定情報と、能力情報とに基づいて、各デバイスにおけるフレームの通信スケジュールを含むTSN設定を計算する手段と、TSN設定をネットワークに接続されたデバイスに提供する手段とを含む。TSN設定を計算する手段は、ネットワーク構成情報に含まれる接続形態のいずれにおいても必要なフレーム転送を実現できるように、TSN設定を計算する。
【発明の効果】
【0019】
本技術によれば、ネットワークに接続されるデバイスが変更されても、要求された通信性能を維持するための仕組みを提供できる。
【図面の簡単な説明】
【0020】
図1】本実施の形態に係る制御システムの全体構成の一例を示す模式図である。
図2】本実施の形態に係る制御システムを構成するエンドデバイスのハードウェア構成例を示すブロック図である。
図3】本実施の形態に係る制御システムを構成するスイッチのハードウェア構成例を示すブロック図である。
図4】本実施の形態に係る制御システムを構成するネットワークコントローラのハードウェア構成例を示すブロック図である。
図5図3に示すスイッチの1つのポートに関するより詳細な構成を示す模式図である。
図6】本実施の形態に係る制御システムにおけるフレーム転送に係る処理の一例を説明するための図である。
図7】本実施の形態に係る制御システムにおける処理の概要を説明するための図である。
図8】本実施の形態に係る制御システムのネットワークコントローラによるトポロジの生成処理の処理手順を示す図である。
図9】本実施の形態に係る制御システムのネットワークコントローラによるトポロジの変化を検出する処理手順を示す図である。
図10】本実施の形態に係る制御システムにおけるPushモードでの処理手順を示す図である。
図11】本実施の形態に係る制御システムにおいて用いられる通信設定情報の一例を示す図である。
図12】本実施の形態に係る制御システムにおけるRequestモードでの処理手順を示す図である。
図13】本実施の形態に係る制御システムにおけるRequestモードでの別の処理手順を示す図である。
図14】本実施の形態に係る制御システムのネットワークコントローラにおけるPushモードでの処理手順を示す図である。
図15】本実施の形態に係る制御システムのネットワークコントローラにおけるRequestモードでの処理手順を示す図である。
【発明を実施するための形態】
【0021】
本技術の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【0022】
<A.適用例>
まず、本実施の形態に係る制御システム1の全体構成の一例について説明する。図1は、本実施の形態に係る制御システム1の全体構成の一例を示す模式図である。
【0023】
図1に示す制御システム1は、TSNに従うネットワークを含む通信システムの一例である。そのため、制御システム1におけるネットワークに関する処理は、TSNに従うネットワークにおける通信処理に相当する。
【0024】
本明細書において、特段の断りがない限り、単に「TSN」との用語は、TSNに従うネットワークを総称する。また、「TSN設定」との用語は、TSNに従うネットワークを実現するために必要な設定を包含する。
【0025】
本明細書において、「デバイス」は、TSNに従うネットワークに接続される任意のデバイスを包含する。「デバイス」は、典型的には、エンドデバイスとスイッチとを含み得る。
【0026】
制御システム1のTSNには、PLC(プログラマブルコントローラ)などの制御装置が接続されている。ネットワーク接続された制御装置は、エンドデバイスに相当するので、以下の説明では、制御装置を「エンドデバイス」と称する。但し、「エンドデバイス」は、制御装置に限られず、任意のデバイスを含み得る。
【0027】
図1に示す制御システム1は、エンドデバイス100-1,100-2,100-3(「エンドデバイス100」と総称することもある。)と、スイッチ200-1,200-2と、ネットワークコントローラ300とを含む。これらの1または複数のデバイスが接続されるネットワークがTSNに相当する。
【0028】
エンドデバイス100-1は、リンク20を介して、スイッチ200-1と接続されている。スイッチ200-1とスイッチ200-2との間は、リンク22を介して接続されている。スイッチ200-2には、リンク24を介してエンドデバイス100-2が接続可能であるとともに、リンク26を介してエンドデバイス100-3が接続可能である。
【0029】
スイッチ200-1には、リンク28を介して、ネットワークコントローラ300が接続されている。
【0030】
エンドデバイス100-2およびエンドデバイス100-3は、段取り替えによって、選択的にスイッチ200-2に接続されるとする。すなわち、図1に示すTSNには、エンドデバイス100-1およびエンドデバイス100-2が接続された状態と、エンドデバイス100-1およびエンドデバイス100-3が接続された状態とが存在し得る。
【0031】
エンドデバイス100-1,100-2,100-3の各々は、TSNとは独立したフィールドバス30を有している。フィールドバス30には、1または複数のフィールドデバイス40が接続される。1または複数のフィールドデバイス40は、フィールド信号を取得する入力デバイス、および、エンドデバイス100からの指示に従ってフィールドに対して何らかのアクションを行う出力デバイスあるいはアクチュエータを含む。
【0032】
ネットワークコントローラ300は、TSNにおけるフレーム転送を管理する主体であり、リソース割当ておよび可用性を計算することで、フレーム転送の通信スケジュールを決定する。以下では、ネットワークコントローラ300によるリソース割当ておよび可用性の計算を「TSN計算」とも称す。典型的には、ネットワークコントローラ300は、IEEE 802.1 TSNの下位規格であるIEEE 802.1Qccの規定に従って動作してもよい。
【0033】
TSNにおいて、各フレームに付与される識別ラベルは、ストリームIDと、ストリーム宛先アドレスと、トラフィッククラスとを含む。ネットワークコントローラ300は、TSN内を転送される各フレームに対して、ユニークなストリームIDを決定するとともに、ストリームIDの各々の転送経路に応じて、ストリーム宛先アドレスおよびトラフィッククラスを決定し、エンドデバイス100およびスイッチ200の各々に対して、TSN設定を提供する。TSN設定は、各ストリームに対する帯域を考慮して決定された通信スケジュールを含む。
【0034】
本実施の形態に係る制御システム1においては、ネットワークコントローラ300が適切なリソース割当ておよび可用性の計算を行うことで、段取り替えなどによって、TSNに接続されるデバイスが変更された場合であっても、TSN全体として最適なパフォーマンスを実現できる。
【0035】
<B.ハードウェア構成例>
次に、制御システム1に含まれる各装置のハードウェア構成の一例について説明する。
【0036】
(b1:エンドデバイス100(制御装置))
図2は、本実施の形態に係る制御システム1を構成するエンドデバイス100のハードウェア構成例を示すブロック図である。図2を参照して、エンドデバイス100は、プロセッサ102と、主メモリ104と、ネットワークインターフェイス110と、ストレージ120と、内部バスインターフェイス130と、フィールドバスインターフェイス132と、メモリカードインターフェイス134とを含む。各コンポーネントは、バス138を介して電気的に接続されている。
【0037】
プロセッサ102は、CPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphical Processing Unit)などで構成され、ストレージ120に格納された各種プログラムを読み出して、主メモリ104に展開して実行することで、制御装置としての処理を実現する。
【0038】
ネットワークインターフェイス110は、TSNを介したデータのやり取り(フレーム伝送)を担当する。より具体的には、ネットワークインターフェイス110は、送受信制御回路112と、送信回路114と、受信回路116とを含む。送受信制御回路112は、ネットワークコントローラ300から予め与えられたTSN設定に従って、送信回路114および受信回路116を制御する。送信回路114は、送受信制御回路112からの指示に従って、TSN上にフレームを送出する。受信回路116は、TSNを介して入来したフレームを受信する。
【0039】
ストレージ120には、典型的には、制御装置としての機能を実現するためのシステムプログラム122と、制御装置が実行する制御ロジックを規定したユーザプログラム124とが格納される。
【0040】
内部バスインターフェイス130は、エンドデバイス100に搭載されるI/Oユニット140との間でデータをやり取りする。
【0041】
フィールドバスインターフェイス132は、フィールドバス30を介したフィールドデバイスとの間でデータをやり取りする。
【0042】
メモリカードインターフェイス134は、メモリカード136を着脱可能に構成されており、メモリカード136に対してデータを書込み、メモリカード136から各種データ(ユーザプログラムやトレースデータなど)を読出すことが可能になっている。
【0043】
図2には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードワイヤード回路(例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、エンドデバイス100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。このように、エンドデバイス100で実行される処理および提供する機能は、プロセッサ、ASIC、FPGAなどを含む処理回路(processing circuitry)で実現してもよい。
【0044】
(b2:スイッチ200)
図3は、本実施の形態に係る制御システム1を構成するスイッチ200のハードウェア構成例を示すブロック図である。図3を参照して、スイッチ200は、送受信制御回路212と、送信回路214-1,214-2,214-3,214-4(以下、「送信回路214」と総称することもある。)と、受信回路216-1,216-2,216-3,216-4(以下、「受信回路216」と総称することもある。)とを含む。送信回路214と受信回路216との組で1つのポートを形成する。なお、図3には、4つのポートを有するスイッチ200を例示するが、ポート数については、特に制限はない。
【0045】
送受信制御回路212は、ネットワークコントローラ300から予め与えられたTSN設定に従って、送信回路114および受信回路116を制御する。より具体的には、送受信制御回路212は、転送エンジン218と、キュー220とを含む。
【0046】
送受信制御回路212は、プロセッサがファームウェアを実行することで実現してもよいし、ASICやFPGAなどのハードワイヤード回路を用いて実現してもよい。また、送受信制御回路212だけではなく、送信回路114および受信回路116を含む全体を単一のチップで実現してもよい。このように、スイッチ200で実行される処理および提供する機能は、プロセッサ、ASIC、FPGAなどを含む処理回路で実現してもよい。
【0047】
(b3:ネットワークコントローラ300)
図4は、本実施の形態に係る制御システム1を構成するネットワークコントローラ300のハードウェア構成例を示すブロック図である。図4を参照して、ネットワークコントローラ300は、プロセッサ302と、主メモリ304と、ネットワークインターフェイス310と、ストレージ320とを含む。各コンポーネントは、バス338を介して電気的に接続されている。
【0048】
プロセッサ302は、CPU、MPU、GPUなどで構成され、ストレージ320に格納された各種プログラムを読み出して、主メモリ304に展開して実行することで、ネットワークコントローラとしての処理を実現する。
【0049】
ネットワークインターフェイス310は、TSNを介したデータのやり取り(フレーム伝送)を担当する。より具体的には、ネットワークインターフェイス310は、送受信制御回路312と、送信回路314と、受信回路316とを含む。
【0050】
ストレージ320には、典型的には、基本的な処理を実現するためのOS322と、後述するような処理を実現するためのネットワーク設定プログラム324とが格納される。
【0051】
図4には、プロセッサ302がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードワイヤード回路(例えば、ASICやFPGAを用いて実装してもよい。このように、ネットワークコントローラ300で実行される処理および提供する機能は、プロセッサ、ASIC、FPGAなどを含む処理回路(processing circuitry)で実現してもよい。
【0052】
<C.TSNを実現するための要部構成>
次に、本実施の形態に係る制御システム1のTSNを実現するための要部構成について説明する。すなわち、TSNにおいてフレームを送受信するポートの構成例について説明する。
【0053】
図5は、図3に示すスイッチ200の1つのポートに関するより詳細な構成を示す模式図である。図5を参照して、各ポートは、送信回路214と受信回路216との組からなる。送信回路214と受信回路216との間には、転送エンジン218およびキュー220が設けられる。
【0054】
より具体的には、転送エンジン218は、振分回路224と、タイミング制御回路226とを含む。また、キュー220は、トラフィッククラスの各値に対応付けられた複数のキュー220-1~220-Mを含む。
【0055】
振分回路224は、受信回路216を介して受信したフレームのヘッダ情報などに従って、当該フレームをキュー220-1~220-Mのうちいずれかに格納し、あるいは、別のポートの振分回路224へ転送する。また、振分回路224は、別のポートの振分回路224から受信したフレームについても同様の判断および処理を行う。
【0056】
振分回路224は、自ポートの送信回路214から送出すべきフレームを受信すると、当該フレームを当該フレームのトラフィッククラスに対応するキュー220へ格納する。このような振分回路224での処理によって、キュー220-1~220-Mには、トラフィッククラス別に分類されたフレームが順次格納されることになる。
【0057】
キュー220-1~220-Mの出力側には、ゲート222-1~222-Mがそれぞれ設けられている。ゲート222-1~222-M(以下、「ゲート222」と総称することもある。)の各々は、タイミング制御回路226からの指令に従って開閉する。ゲート222が開くと、対応付けられているキュー220に格納されているフレームが送信回路214から送出される。タイミング制御回路226から複数のゲート222に対して同時に開指令が与えられることはない。すなわち、タイミング制御回路226は、TSN設定に含まれる通信スケジュール228に従って、ゲート222を順次開閉する。これによって、予めTSN計算された通信スケジュールに従って、フレームが転送されることになる。
【0058】
なお、エンドデバイス100のポート(ネットワークインターフェイス110)、および、ネットワークコントローラ300のポート(ネットワークインターフェイス310)についても、図5と同様の構成を有している。
【0059】
上述したようなトラフィッククラス毎に用意されたキュー220へのフレームの格納、および、トラフィッククラス毎に用意されたキュー220からのフレームの送出を制御することで、TSNにおけるリアルタイムなフレーム転送を実現できる。
【0060】
<D.概要>
次に、本実施の形態に係る制御システム1のTSNにおける処理の概要について説明する。
【0061】
図6は、本実施の形態に係る制御システム1におけるフレーム転送に係る処理の一例を説明するための図である。図6(A)に示すように、エンドデバイス100-1からエンドデバイス100-2およびエンドデバイス100-3に対してフレームを送信する場合を想定する。
【0062】
経路途中には、スイッチ200-1およびスイッチ200-2が存在する。図5を参照して説明したように、エンドデバイス100およびスイッチ200は、ゲート222のタイミングの開閉タイミングを制御することで、リアルタイムなフレーム転送を実現する。
【0063】
ゲート222の開閉時間および開閉タイミングは、典型的には、フレームの送信処理に要する送信時間とフレームの伝搬遅延時間とに基づいて算出される。送信時間は、送出されるフレームの大きさ(フレームサイズ)に応じて算出される。伝搬遅延時間は、転送経路の長さに応じて変化する。一般的には、伝搬遅延時間は、任意のフレームを送信したときに計測された値が用いられる。
【0064】
図6(B)には、図6(A)に示すネットワーク構成におけるゲート222のタイミングの一例を示す。図6(B)に示すタイムチャートにおいて、上側にある区間がゲート222の開状態を意味する。
【0065】
エンドデバイス100-1のゲート222が開いた後、フレームがスイッチ200-1に伝送される。スイッチ200-1のゲート222は、エンドデバイス100-1からのフレームが到着してキュー220に格納される時間を反映した時間だけ遅れて開くことになる。スイッチ200-1のゲート222が開いた後、フレームがスイッチ200-2に伝送される。
【0066】
スイッチ200-2のポート1には、エンドデバイス100-2が接続されており、スイッチ200-2のポート2には、エンドデバイス100-3が接続されている。例えば、スイッチ200-2のポート1に接続されたエンドデバイス100-2までの伝搬遅延時間と、スイッチ200-2のポート2に接続されたエンドデバイス100-3までの伝搬遅延時間との間に差があるとする。このような場合には、スイッチ200-2のポート1に対応するゲート222の開くタイミングとスイッチ200-2のポート2に対応するゲート222の開くタイミングとの間には、所定の時間差が生じることになる。
【0067】
図7は、本実施の形態に係る制御システム1における処理の概要を説明するための図である。図7(A)には、スイッチ200-2のポート1にエンドデバイス100-2が接続されている状態を示し、図7(B)には、スイッチ200-2のポート2にエンドデバイス100-3が接続されている状態を示す。
【0068】
図7(C)を参照して、図7(A)に示すようなエンドデバイス100-2のみが接続されている状態におけるポートの開時間と、図7(B)に示すようなエンドデバイス100-3のみが接続されている状態におけるポートの開時間との間では、長さかタイミングが異なる場合がある。
【0069】
スイッチ200-2にエンドデバイス100-2とエンドデバイス100-3との両方が接続された状態においては、どちらか一方のみが接続された状態とも含むように、ポートの開時間が設定される。
【0070】
例えば、TSNにすべてのデバイスが接続されていない状態で、ネットワークコントローラ300がTSN計算を行った後に、新たなデバイスが接続された場合や、段取り替えなどによって、ネットワーク構成が変更される場合もある。このような場合において、最初のTSN計算が変更後のネットワーク構成を考慮したものでなければ、TSN計算を再度行う必要が生じる。
【0071】
そこで、本実施の形態に係る制御システム1は、いずれのネットワーク構成であっても適切なフレーム転送ができるように、TSN計算を行う。このようなTSN計算を行うことで、TSNを動作させながら、ネットワーク構成を任意に変更できる。すなわち、想定されるネットワーク構成の間で最悪値を考慮して、ゲートの開閉時間や帯域を確保できるようなTSN計算を行う。
【0072】
<E.処理手順>
次に、本実施の形態に係る制御システム1における処理手順の一例について説明する。
【0073】
図8は、本実施の形態に係る制御システム1のネットワークコントローラ300によるトポロジの生成処理の処理手順を示す図である。図8に示すような処理手順によって生成されたトポロジからネットワーク構成情報に含まれるデバイスの接続形態の候補が決定される。
【0074】
図8を参照して、TSNに接続されているエンドデバイス100およびスイッチ200の各々は、自ノードの情報を隣接するノードへアドバタイズしている。自ノードの情報のアドバタイズは、例えば、IEEE 802.1ABとして定義されたLLDP(Link Layer Discovery Protocol)などのプロトコルを用いることができる。
【0075】
まず、TSNに接続されているエンドデバイス100およびスイッチ200の各々は、隣接ノード情報を取得する((1)隣接ノード情報取得)。隣接ノード情報は、接続されたエンドデバイス100および/またはスイッチ200がアドバタイズする情報を収集することで取得される。
【0076】
続いて、ネットワークコントローラ300は、エンドデバイス100およびスイッチ200の各々から隣接ノード情報を収集する((2)隣接ノード情報収集)。なお、隣接ノード情報の収集には、SNMP(Simple Network Management Protocol)やNETCONFなどのプロトコルを用いてもよい。
【0077】
そして、ネットワークコントローラ300は、収集した隣接ノード情報に基づいて、TSNのトポロジを生成する((3)トポロジ生成)。このように、ネットワークコントローラ300は、各デバイスが収集した隣接ノード情報に基づいてTSNのトポロジを生成する。
【0078】
さらに、ネットワークコントローラ300は、先に生成したトポロジが存在する場合には、当該先に生成したトポロジと今回生成したトポロジとを照合する((4)トポロジ照合)。なお、トポロジ照合により、TSNのトポロジの変化が検出されると、デバイスの新たな接続形態としてネットワーク構成情報に追加してもよい。すなわち、ネットワークコントローラ300は、生成されたトポロジに基づいて、ネットワーク構成情報を更新してもよい。
【0079】
以上のような手順に従って、ネットワークコントローラ300によりトポロジが生成される。
【0080】
図9は、本実施の形態に係る制御システム1のネットワークコントローラ300によるトポロジの変化を検出する処理手順を示す図である。図9を参照して、図8と同様に、TSNに接続されているエンドデバイス100およびスイッチ200の各々は、自ノードの情報を隣接するノードへアドバタイズしている。
【0081】
まず、図9(A)を参照して、TSNに接続されているスイッチ200-2は、エンドデバイス100-2からアドバタイズされた情報を検出すると、当該検出された情報を用いて隣接ノード情報を更新する((1)隣接ノード情報更新)。そして、スイッチ200-2は、更新後の隣接ノード情報をネットワークコントローラ300へ通知する((2)隣接ノード情報通知)。
【0082】
図9(B)を参照して、TSNに接続されているスイッチ200-2は、エンドデバイス100-3からアドバタイズされた情報をさらに検出すると、当該検出された情報を用いて隣接ノード情報を更新する((1)隣接ノード情報更新)。そして、スイッチ200-2は、更新後の隣接ノード情報をネットワークコントローラ300へ通知する((2)隣接ノード情報通知)。
【0083】
ネットワークコントローラ300への更新後の隣接ノード情報の通知は、例えば、SNMPを採用している場合には、SNMPトラップを用いることができる。また、NETCONFを採用している場合には、NETCONF Event Notificationsを用いることができる。
【0084】
以上のような手順に従って、TSN(トポロジ)の変更などが検出される。
次に、ネットワークコントローラ300からエンドデバイス100およびスイッチ200の各々に対してTSN設定を提供する処理手順のいくつかについて説明する。例えば、TSNを利用してデバイス間でデータ通信を行うための通信スタックとして、IEC62541として国際標準化されているOPC UA(OPC Unified Architecture)を利用する場合を想定する。TSNとOPC UAとの組み合わせは、「OPC UA over TSN」などとも称される。
【0085】
ネットワークコントローラ300とエンドデバイス100との間の典型的なデータ通信方法として、「Push」モードと「Request」モードとがある。
【0086】
以下では、データ通信方法の種別に応じて、それぞれのモードにおける処理手順の例を示す。なお、説明の簡素化のため、1つのスイッチ200のみがTSNに存在するとしている。
【0087】
図10は、本実施の形態に係る制御システム1におけるPushモードでの処理手順を示す図である。図10を参照して、ネットワークコントローラ300は、ネットワーク構成情報および通信設定情報をロードする((1)ネットワーク構成情報および通信設定情報のロード)。
【0088】
ネットワーク構成情報は、段取り替えによって生じるすべてのネットワーク構成(段取り替えの各状態)を含む。すなわち、ネットワーク構成情報は、TSNに生じ得るデバイスの接続形態の定義を1または複数含む。例えば、ネットワーク構成情報は、図7(A)に示されるネットワーク構成と、図7(B)に示されるネットワーク構成との両方を含んでいてもよい。
【0089】
通信設定情報は、TSN上でやり取りされるフレームを定義した情報を含む。典型的には、通信設定情報は、エンドデバイス100間でやり取りされるフレームの定義を含む。
【0090】
図11は、本実施の形態に係る制御システム1において用いられる通信設定情報の一例を示す図である。図11には、任意のエンドデバイス100に対する通信設定情報の一例を示す。図11を参照して、通信設定情報は、例えば、送信および受信の別を示す情報と、送信先または送信元を示す情報と、データサイズと、周期とを含む。図11に示す通信設定情報は、エンドデバイス100毎に定義される。
【0091】
各エンドデバイス100の通信設定情報を参照することで、TSNにおいて確保しなければならない帯域などを決定できる。
【0092】
再度図10を参照して、エンドデバイス100の各々は、自デバイス用の通信設定情報をロードする((2)通信設定のロード)。通信設定情報については、図11に示すものと同様である。
【0093】
続いて、ネットワークコントローラ300は、エンドデバイス100およびスイッチ200の各々からTSN能力情報を収集する((3)TSN能力情報収集)。TSN能力情報は、TSNに接続されるデバイスのTSNに係る性能情報を定義した情報である。例えば、TSN能力情報は、転送レート、対応可能なトラフィッククラス数、ポート数などの情報を含む。
【0094】
そして、ネットワークコントローラ300は、ネットワーク構成情報および通信設定情報、ならびに、収集したTSN能力情報に基づいて、TSN計算を行う((4)TSN計算)。TSN計算においては、やり取りされるフレーム毎にストリームが決定されるとともに、各ストリーム(フレーム)に対する帯域を考慮して、通信スケジュールを決定する。このとき、段取り替えによって生じるすべてのネットワーク構成を考慮して、いずれのネットワーク構成になった場合であっても、フレーム転送を継続できるように、通信スケジュールが決定される。
【0095】
最終的に、ネットワークコントローラ300は、TSN計算によって決定されたTSN設定をエンドデバイス100およびスイッチ200にそれぞれ提供する((5)TSN設定)。
【0096】
エンドデバイス100およびスイッチ200の各々は、ネットワークコントローラ300からのTSN設定に従って、通信スケジュール228を決定および有効化する((6)通信スケジュール)。
【0097】
以上のような手順に従って、TSNに含まれるエンドデバイス100およびスイッチ200に対して通信スケジュールが反映される。
【0098】
図12は、本実施の形態に係る制御システム1におけるRequestモードでの処理手順を示す図である。図12に示す処理手順は、段取り替えで着脱される予定のエンドデバイス100のすべてをTSNに接続した状態で実行される。すなわち、TSNに接続された状態がネットワーク構成の変更内容を意味することになる。
【0099】
図12を参照して、エンドデバイス100の各々は、自デバイス用の通信設定情報をロードする((1)通信設定のロード)。通信設定情報については、図11に示すものと同様である。そして、エンドデバイス100の各々は、TSN設定の提供するためのTSN計算をネットワークコントローラ300へリクエストする((2)TSN計算リクエスト)。このとき、エンドデバイス100の各々から送信されるTSN計算リクエストは、通信設定情報およびTSN能力情報を含む。
【0100】
ネットワークコントローラ300は、TSN計算リクエストに応答して、ネットワーク構成情報をロードする((3)ネットワーク構成情報のロード)。ロードされるネットワーク構成情報は、段取り替えの各状態を含む。すなわち、ネットワーク構成情報は、段取り替えによって生じるすべてのネットワーク構成を含む。続いて、ネットワークコントローラ300は、スイッチ200の各々からTSN能力情報を収集する((4)TSN能力情報収集)。
【0101】
ネットワークコントローラ300は、エンドデバイス100からのTSN計算リクエスト(通信設定情報およびTSN能力情報を含む)と、スイッチ200からのTSN能力情報と、ネットワーク構成情報とに基づいて、TSN計算を行う((5)TSN計算)。このとき、段取り替えによって生じるすべてのネットワーク構成を考慮して、いずれのネットワーク構成になった場合であっても、フレーム転送を継続できるように、通信スケジュールが決定される。
【0102】
最終的に、ネットワークコントローラ300は、TSN計算によって決定されたTSN設定をエンドデバイス100およびスイッチ200にそれぞれ提供する((6)TSN設定)。
【0103】
エンドデバイス100およびスイッチ200の各々は、ネットワークコントローラ300からのTSN設定に従って、通信スケジュール228を決定および有効化する((7)通信スケジュール)。
【0104】
以上のような手順に従って、TSNに含まれるエンドデバイス100およびスイッチ200に対して通信スケジュールが反映される。
【0105】
<F.未登録デバイス>
上述したように、段取り替えによって生じるすべてのネットワーク構成を考慮してTSN設定が計算されるが、新たなエンドデバイスがTSNに接続される可能性もある。この場合には、TSN設定の計算が再度行われる。但し、再計算前のTSN設定から変更される場合もあるので、ユーザなどに通知するようにしてもよい。
【0106】
図13は、本実施の形態に係る制御システム1におけるRequestモードでの別の処理手順を示す図である。図13には、エンドデバイス100-4が新たにTSNに接続した場合を示す。Requestモードでは、エンドデバイス100は、ネットワークコントローラ300に対してTSN計算をリクエストするので、ネットワークコントローラ300は、登録されていない新たなエンドデバイス100のTSNへの接続を検出できる。
【0107】
図13を参照して、新たにTSNに接続したエンドデバイス100-4は、自デバイス用の通信設定情報をロードする((1)通信設定のロード)。そして、エンドデバイス100-4は、TSN設定の提供するためのTSN計算をネットワークコントローラ300へリクエストする((2)TSN計算リクエスト)。
【0108】
ネットワークコントローラ300は、TSN計算リクエストに応答して、ネットワーク構成情報をロードする((3)ネットワーク構成情報のロード)。そして、ネットワークコントローラ300は、エンドデバイス100-4からのTSN計算リクエスト(通信設定情報およびTSN能力情報を含む)と、先のTSN計算で使用した情報とに基づいて、TSN計算を行う((4)TSN計算)。このように、ネットワークコントローラ300は、ネットワーク構成情報に定義されたデバイスの接続形態とは異なる接続形態が検出されると、当該異なる接続形態において、必要なフレーム転送を実現できるように、TSN設定を再計算する処理を実行する。
【0109】
そして、ネットワークコントローラ300は、TSN計算において、再計算前のTSN設定(既存のTSN設定)のまま運用できるか否かを判断する。そして、TSN設定を再設定する必要がある場合には、ユーザなどに対して、再設定必要な旨を通知する((5)再設定必要の通知)。このように、ネットワークコントローラ300は、再計算されたTSN設定を反映しなければならないと判断されると、当該反映の必要性を通知する処理を実行する。
【0110】
ユーザなどから承認を受けると((6)承認)、ネットワークコントローラ300は、TSN計算によって決定されたTSN設定をエンドデバイス100-4に提供する((7-1)TSN設定)とともに、TSN計算によって決定されたTSN設定を既存のエンドデバイス100およびスイッチの各々に提供して、リスタートを指示する((7-2)TSN設定+リスタート)。このように、ネットワークコントローラ300は、明示的な承認に応答して、再計算されたTSN設定をTSNに接続されたデバイスに提供する処理を実行する。
【0111】
エンドデバイス100およびスイッチ200の各々は、ネットワークコントローラ300からのTSN設定に従って、通信スケジュール228を決定および有効化する((8)通信スケジュール)。
【0112】
以上のような手順に従って、新たなエンドデバイス100がTSNに接続した場合においても、新たな通信スケジュールが反映される。
【0113】
図13に示すように、Requestモードにおいて、エンドデバイス100がTSNに接続すると、TSN計算リクエストがネットワークコントローラ300へ送信されるので、当該接続したエンドデバイス100が未登録であるか否かを判断できる。
【0114】
ネットワークコントローラ300は、未登録のエンドデバイス100がTSNに接続したことで、他のエンドデバイス100が使用する帯域や通信スケジュールを変更する必要があるか否か、すなわち、他のエンドデバイス100に割当てられている帯域や通信スケジュールへの影響が許容範囲内であるか否かを判断する。帯域または通信スケジュールへの影響が許容範囲内でなければ、ネットワークコントローラ300は、ユーザなどに対して、TSN設定の再設定に対する承認を受けるようにする。ユーザなどから承認が得られると、TSNに接続するエンドデバイス100およびスイッチ200は、新たなTSN設定に従ってリスタートし、初期シーケンスが再度実行される。
【0115】
なお、帯域または通信スケジュールへの影響が許容範囲内であれば、新たにTSNに接続したエンドデバイス100-4に対してのみTSN設定が提供される。
【0116】
なお、ユーザなどへの通知方法としては、OPC UAのサブスクリプションを利用する方法などを用いてもよい。
【0117】
<G.ネットワークコントローラにおける処理手順>
次に、本実施の形態に係る制御システム1のネットワークコントローラ300における処理手順について説明する。
【0118】
図14は、本実施の形態に係る制御システム1のネットワークコントローラ300におけるPushモードでの処理手順を示す図である。図14に示す各ステップは、典型的には、ネットワークコントローラ300のプロセッサ302がネットワーク設定プログラム324を実行することで実現される。図14に示されるPushモードにおいては、予め定められた条件が成立すると、TSN設定を計算する処理が開始される。
【0119】
図14を参照して、ネットワークコントローラ300は、TSN計算の開始条件が成立すると(ステップS100においてYES)、対象のTSNに係るネットワーク構成情報を取得する(ステップS102)とともに、各エンドデバイス100の通信設定情報およびTSN能力情報を取得する(ステップS104)。すなわち、ネットワークコントローラ300は、TSN上でやり取りされるフレームを定義した通信設定情報と、TSNに接続されるデバイスのTSNに係る性能情報を定義したTSN能力情報とを取得する処理を実行する。
【0120】
ネットワークコントローラ300は、ネットワーク構成情報に含まれる1つのTSN構成を選択し(ステップS106)、ストリームの設定、各ストリームに対する帯域の割当て、通信スケジュールの決定などを含むTSN計算を行う(ステップS108)。すなわち、ネットワークコントローラ300は、ネットワーク構成情報と、通信設定情報と、TSN能力情報とに基づいて、各デバイスにおけるフレームの通信スケジュールを含むTSN設定を計算する処理実行する。そして、ネットワークコントローラ300は、TSN計算により決定されたTSN設定を現在のTSN設定とする。
【0121】
続いて、ネットワークコントローラ300は、以下のような手順により、ネットワーク構成情報に含まれる接続形態のいずれにおいても必要なフレーム転送を実現できるように、TSN設定を計算あるいは更新する。
【0122】
ネットワークコントローラ300は、ネットワーク構成情報に含まれる別のTSN構成を選択し(ステップS110)、ストリームの設定、各ストリームに対する帯域の割当て、通信スケジュールの決定などを含むTSN計算を行う(ステップS112)。
【0123】
そして、ネットワークコントローラ300は、今回のTSN計算によって決定されたTSN設定に基づいて、現在のTSN設定では必要なフレーム転送ができない項目が存在するか否かを判断する(ステップS114)。
【0124】
現在のTSN設定では必要なフレーム転送ができない項目が存在すれば(ステップS114においてYES)、ネットワークコントローラ300は、現在のTSN設定のうち必要なフレーム転送ができない項目の値を、今回のTSN計算によって決定されたTSN設定の対応する項目の値に変更する(ステップS116)。ネットワークコントローラ300は、変更後のTSN設定を新たな現在のTSN設定とする。
【0125】
このように、ネットワークコントローラ300は、ネットワーク構成情報に含まれる1つの接続形態について計算された設定情報が、ネットワーク構成情報に含まれる別の接続形態において必要なフレーム転送を実現できるか否かを判断する処理を実行する。
【0126】
現在のTSN設定で必要なフレーム転送ができれば(ステップS114においてNO)、ステップS116の処理はスキップされる。
【0127】
続いて、ネットワークコントローラ300は、ネットワーク構成情報に含まれるすべてのTSN構成の選択が完了したか否かを判断する(ステップS118)。
【0128】
ネットワーク構成情報に含まれるすべてのTSN構成の選択が完了していなければ(ステップS118においてNO)、ステップS110以下の処理が繰返される。
【0129】
ネットワーク構成情報に含まれるすべてのTSN構成の選択が完了していれば(ステップS118においてYES)、ネットワークコントローラ300は、エンドデバイス100およびスイッチ200の各々に対して、現在のTSN設定を送信する(ステップS120)。すなわち、ネットワークコントローラ300は、TSN設定をTSNに接続されたデバイスに提供する処理を実行する。
【0130】
以上により、ネットワークコントローラ300によるTSN計算が完了する。
図15は、本実施の形態に係る制御システム1のネットワークコントローラ300におけるRequestモードでの処理手順を示す図である。図15に示す各ステップは、典型的には、ネットワークコントローラ300のプロセッサ302がネットワーク設定プログラム324を実行することで実現される。図15に示されるRequestモードにおいては、TSNに接続されたデバイスからのリクエストに応じて、TSN設定を計算する処理が開始される。
【0131】
図15を参照して、ネットワークコントローラ300は、TSN計算リクエストを受信すると(ステップS200においてYES)、TSN計算リクエストに含まれる通信設定情報およびTSN能力情報を取得する(ステップS202)とともに、対象のTSNに係るネットワーク構成情報を取得する(ステップS204)。すなわち、ネットワークコントローラ300は、TSN上でやり取りされるフレームを定義した通信設定情報と、TSNに接続されるデバイスのTSNに係る性能情報を定義したTSN能力情報とを取得する処理を実行する。
【0132】
ネットワークコントローラ300は、ネットワーク構成情報に含まれる1つのTSN構成を選択し(ステップS206)、ストリームの設定、各ストリームに対する帯域の割当て、通信スケジュールの決定などを含むTSN計算を行う(ステップS208)。すなわち、ネットワークコントローラ300は、ネットワーク構成情報と、通信設定情報と、TSN能力情報とに基づいて、各デバイスにおけるフレームの通信スケジュールを含むTSN設定を計算する処理実行する。そして、ネットワークコントローラ300は、TSN計算により決定されたTSN設定を現在のTSN設定とする。
【0133】
続いて、ネットワークコントローラ300は、以下のような手順により、ネットワーク構成情報に含まれる接続形態のいずれにおいても必要なフレーム転送を実現できるように、TSN設定を計算あるいは更新する。
【0134】
ネットワークコントローラ300は、ネットワーク構成情報に含まれる別のTSN構成を選択し(ステップS210)、ストリームの設定、各ストリームに対する帯域の割当て、通信スケジュールの決定などを含むTSN計算を行う(ステップS212)。
【0135】
そして、ネットワークコントローラ300は、今回のTSN計算によって決定されたTSN設定に基づいて、現在のTSN設定では必要なフレーム転送ができない項目が存在するか否かを判断する(ステップS214)。
【0136】
現在のTSN設定では必要なフレーム転送ができない項目が存在すれば(ステップS214においてYES)、ネットワークコントローラ300は、現在のTSN設定のうち必要なフレーム転送ができない項目の値を、今回のTSN計算によって決定されたTSN設定の対応する項目の値に変更する(ステップS216)。ネットワークコントローラ300は、変更後のTSN設定を新たな現在のTSN設定とする。
【0137】
このように、ネットワークコントローラ300は、ネットワーク構成情報に含まれる1つの接続形態について計算された設定情報が、ネットワーク構成情報に含まれる別の接続形態において必要なフレーム転送を実現できるか否かを判断する処理を実行する。
【0138】
現在のTSN設定で必要なフレーム転送ができれば(ステップS214においてNO)、ステップS216の処理はスキップされる。
【0139】
続いて、ネットワークコントローラ300は、ネットワーク構成情報に含まれるすべてのTSN構成の選択が完了したか否かを判断する(ステップS218)。
【0140】
ネットワーク構成情報に含まれるすべてのTSN構成の選択が完了していなければ(ステップS218においてNO)、ステップS210以下の処理が繰返される。
【0141】
ネットワーク構成情報に含まれるすべてのTSN構成の選択が完了していれば(ステップS218においてYES)、ネットワークコントローラ300は、エンドデバイス100およびスイッチ200の各々に対して、現在のTSN設定を送信する(ステップS220)。すなわち、ネットワークコントローラ300は、TSN設定をTSNに接続されたデバイスに提供する処理を実行する。
【0142】
以上により、ネットワークコントローラ300によるTSN計算が完了する。
<H.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
【0143】
[構成1]
TSN(Time Sensitive Networking)に従うネットワークにおける通信方法であって、
前記ネットワーク上でやり取りされるフレームを定義した通信設定情報と、前記ネットワークに接続されるデバイスのTSNに係る性能情報を定義した能力情報とを取得するステップ(S104;S204)と、
前記ネットワークに生じ得るデバイスの接続形態を1または複数定義したネットワーク構成情報と、前記通信設定情報と、前記能力情報とに基づいて、各デバイスにおけるフレームの通信スケジュールを含むTSN設定を計算するステップ(S106~S118;S206~S218)と、
前記TSN設定を前記ネットワークに接続されたデバイスに提供するステップ(S120;S220)とを備え、
前記TSN設定を計算するステップは、前記ネットワーク構成情報に含まれる接続形態のいずれにおいても必要なフレーム転送を実現できるように、前記TSN設定を計算するステップ(S110~S118;S210~S218)を含む、通信方法。
【0144】
[構成2]
予め定められた条件が成立すると、前記TSN設定を計算するステップが開始される、構成1に記載の通信方法。
【0145】
[構成3]
前記ネットワークに接続されたデバイスからのリクエストに応じて、前記TSN設定を計算するステップが開始される、構成1に記載の通信方法。
【0146】
[構成4]
前記TSN設定を計算するステップは、前記ネットワーク構成情報に含まれる1つの接続形態について計算された設定情報が、前記ネットワーク構成情報に含まれる別の接続形態において必要なフレーム転送を実現できるか否かを判断するステップ(S114;S214)を含む、構成1~3のいずれか1項に記載の通信方法。
【0147】
[構成5]
前記ネットワーク構成情報に定義されたデバイスの接続形態とは異なる接続形態が検出されると、当該異なる接続形態において、必要なフレーム転送を実現できるように、前記TSN設定を再計算するステップをさらに備える、構成1~4のいずれか1項に記載の通信方法。
【0148】
[構成6]
前記再計算されたTSN設定を反映しなければならないと判断されると、当該反映の必要性を通知するステップをさらに備える、構成5に記載の通信方法。
【0149】
[構成7]
明示的な承認に応答して、前記再計算されたTSN設定を前記ネットワークに接続されたデバイスに提供するステップをさらに備える、構成6に記載の通信方法。
【0150】
[構成8]
各デバイスが隣接ノード情報を収集するステップと、
各デバイスが収集した隣接ノード情報に基づいて前記ネットワークのトポロジを生成するステップと、
前記生成されたトポロジに基づいて、前記ネットワーク構成情報を更新するステップとをさらに備える、構成1~7のいずれか1項に記載の通信方法。
【0151】
[構成9]
TSN(Time Sensitive Networking)に従うネットワークを含む通信システム(1)であって、
ネットワークコントローラ(300)と、
前記ネットワークに接続される1または複数のデバイス(100,200)とを備え、
前記ネットワークコントローラは、
前記ネットワーク上でやり取りされるフレームを定義した通信設定情報と、前記1または複数のデバイスのTSNに係る性能情報を定義した能力情報とを取得する手段(S104;S204)と、
前記ネットワークに生じ得るデバイスの接続形態を1または複数定義したネットワーク構成情報と、前記通信設定情報と、前記能力情報とに基づいて、各デバイスにおけるフレームの通信スケジュールを含むTSN設定を計算する手段(S106~S118;S206~S218)と、
前記TSN設定を前記1または複数のデバイスに提供する手段(S120;S220)とを備え、
前記TSN設定を計算する手段は、前記ネットワーク構成情報に含まれる接続形態のいずれにおいても必要なフレーム転送を実現できるように、前記TSN設定を計算する、通信システム。
【0152】
[構成10]
TSN(Time Sensitive Networking)に従うネットワークを構成するネットワークコントローラ(300)であって、
前記ネットワーク上でやり取りされるフレームを定義した通信設定情報と、前記ネットワークに接続されるデバイスのTSNに係る性能情報を定義した能力情報とを取得する手段(S104;S204)と、
前記ネットワークに生じ得るデバイスの接続形態を1または複数定義したネットワーク構成情報と、前記通信設定情報と、前記能力情報とに基づいて、各デバイスにおけるフレームの通信スケジュールを含むTSN設定を計算する手段(S106~S118;S206~S218)と、
前記TSN設定を前記ネットワークに接続されたデバイスに提供する手段(S120;S220)とを備え、
前記TSN設定を計算する手段は、前記ネットワーク構成情報に含まれる接続形態のいずれにおいても必要なフレーム転送を実現できるように、前記TSN設定を計算する、通信装置。
【0153】
<I.利点>
本実施の形態に係る通信制御システムによれば、段取り替えなどによってネットワーク構成(デバイスの接続形態)が変更されることが予定されている場合などには、ネットワークに生じ得るデバイスの接続形態を1または複数定義したネットワーク構成情報を用いてTSN設定を計算するので、いずれのネットワーク構成においても要求された通信性能を維持できる。そのため、段取り替えが生じても、要求された通信性能および制御性能を維持できる。
【0154】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0155】
1 制御システム、20,22,24,26,28 リンク、30 フィールドバス、40 フィールドデバイス、100 エンドデバイス、102,302 プロセッサ、104,304 主メモリ、110,310 ネットワークインターフェイス、112,212,312 送受信制御回路、114,214,314 送信回路、116,216,316 受信回路、120,320 ストレージ、122 システムプログラム、124 ユーザプログラム、130 内部バスインターフェイス、132 フィールドバスインターフェイス、134 メモリカードインターフェイス、136 メモリカード、138,338 バス、140 I/Oユニット、200 スイッチ、218 転送エンジン、220 キュー、222 ゲート、224 振分回路、226 タイミング制御回路、228 通信スケジュール、300 ネットワークコントローラ、322 OS、324 ネットワーク設定プログラム。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15