(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-10
(45)【発行日】2023-08-21
(54)【発明の名称】ゲートウェイデバイスを通じて1次ネットワークドメインを2次ネットワークドメインと相互接続する方法、プログラム、媒体、およびデバイス
(51)【国際特許分類】
H04L 12/46 20060101AFI20230814BHJP
【FI】
H04L12/46 100C
(21)【出願番号】P 2022558826
(86)(22)【出願日】2020-12-09
(86)【国際出願番号】 JP2020046840
(87)【国際公開番号】W WO2021186821
(87)【国際公開日】2021-09-23
【審査請求日】2022-06-01
(32)【優先日】2020-03-20
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】503163527
【氏名又は名称】ミツビシ・エレクトリック・アールアンドディー・センター・ヨーロッパ・ビーヴィ
【氏名又は名称原語表記】MITSUBISHI ELECTRIC R&D CENTRE EUROPE B.V.
【住所又は居所原語表記】Capronilaan 46, 1119 NS Schiphol Rijk, The Netherlands
(74)【代理人】
【識別番号】100110423
【氏名又は名称】曾我 道治
(74)【代理人】
【識別番号】100111648
【氏名又は名称】梶並 順
(74)【代理人】
【識別番号】100122437
【氏名又は名称】大宅 一宏
(74)【代理人】
【識別番号】100147566
【氏名又は名称】上田 俊一
(74)【代理人】
【識別番号】100161171
【氏名又は名称】吉田 潤一郎
(72)【発明者】
【氏名】ロレ、ロマン
【審査官】羽岡 さやか
(56)【参考文献】
【文献】特表2019-503129(JP,A)
【文献】特開2019-080164(JP,A)
【文献】米国特許出願公開第2011/0258262(US,A1)
【文献】特開2008-017122(JP,A)
【文献】特開2005-236370(JP,A)
【文献】特開2004-282501(JP,A)
【文献】Julius Pfrommer et al.,Open Source OPC UA PubSub Over TSN for Realtime Industrial Communication,2018 IEEE 23rd International Conference on Emerging Technologies and Factory Automation (ETFA),2018年09月07日,P.1087-1090
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/46
(57)【特許請求の範囲】
【請求項1】
ゲートウェイデバイスを通じて1次ネットワークドメインを2次ネットワークドメインと相互接続する方法であって、
前記1次ネットワークドメインは、マスターアドレスに関連付けられたマスターデバイスを備える産業通信システムにおいて実施され、
前記2次ネットワークドメインは、OPC UA PubSub通信プロトコルを使用するとともに、物理サブスクライバモジュールを備える物理OPC UAデバイスを備える通信システムにおいて実施され、
前記ゲートウェイデバイスは、メモリと、前記1次ネットワークドメインおよび前記2次ネットワークドメインとの通信インターフェースとに動作可能に接続される処理ユニットを備え、
前記方法は、
前記ゲートウェイデバイスを使用して産業通信デバイスをエミュレーションすることであって、エミュレーションされる前記産業通信デバイスは、
前記1次ネットワークドメインにおける仮想スレーブアドレスに関連付けられた仮想スレーブモジュールであって、前記メモリ内に配置された第1のメモリ構造体を備える、仮想スレーブモジュールと、
前記2次ネットワークドメインにおける仮想OPC UAパブリッシャ識別子と、前記メモリ内に配置された第2のメモリ構造体に記憶された内部OPC UA情報モデルとに関連付けられた仮想OPC UAパブリッシャモジュールと、
を備える、エミュレーションすることと、
前記仮想スレーブモジュールを使用して、1次ネットワークドメインソースアドレスとしての前記マスターアドレスと、1次ネットワークドメインデスティネーションアドレスとしての前記仮想スレーブアドレスと、1次データペイロードとを含む少なくとも1つの1次メッセージを前記1次ネットワークドメインから受信することと、
各受信された前記1次メッセージについて、前記エミュレーションされる産業通信デバイスを使用して、前記受信された1次メッセージを処理し、前記1次データペイロードを前記内部OPC UA情報モデルに従って前記第2のメモリ構造体に記憶することと、
前記仮想OPC UAパブリッシャモジュールを使用して、前記仮想OPC UAパブリッシャ識別子と、前記内部OPC UA情報モデルに従って各記憶された前記1次データペイロードとを含むパブリッシャメッセージを生成することと、
前記通信インターフェースを使用して、生成された前記パブリッシャメッセージを、前記2次ネットワークドメインを通じて前記物理サブスクライバモジュールに送信することと、
を含む、方法。
【請求項2】
前記第1のメモリ構造体は、複数のメモリ区画の記述を含み、
各前記メモリ区画は、前記1次ネットワークドメイン内の対応するリモートリソースにマッピングされ、
各前記メモリ区画は、前記第2のメモリ構造体に記憶された前記内部OPC UA情報モデル内への対応するリファレンスに更にマッピングされ、
前記受信された1次メッセージを処理することは、前記1次データペイロードを復号化し、前記メモリ区画のセットを使用して、前記1次データペイロードを前記内部OPC UA情報モデルに従って前記第2のメモリ構造体に記憶することを含む、請求項1に記載の方法。
【請求項3】
前記物理サブスクライバモジュールは、パブリッシャ識別子を組み込んでいる受信されたパブリッシャメッセージのソースを組み込まれた前記パブリッシャ識別子に基づいて識別するように構成され、
前記2次ネットワークドメイン内の前記仮想OPC UAパブリッシャモジュールに関連付けられた前記仮想OPC UAパブリッシャ識別子は、前記仮想OPC UAパブリッシャモジュールに固有である、請求項1または2に記載の方法。
【請求項4】
前記物理サブスクライバモジュールは、パブリッシャ識別子およびライター識別子を組み込んでいる受信されたパブリッシャメッセージのソースを組み込まれた前記パブリッシャ識別子および組み込まれた前記ライター識別子に基づいて識別するように構成され、
前記2次ネットワークドメイン内の前記仮想OPC UAパブリッシャモジュールに関連付けられた前記仮想OPC UAパブリッシャ識別子は、前記ゲートウェイデバイスに固有であり、
前記生成されたパブリッシャメッセージは、前記仮想OPC UAパブリッシャモジュールに固有のライター識別子を更に含む、請求項1または2に記載の方法。
【請求項5】
前記通信インターフェースは、前記1次ネットワークドメインを通じた通信用に予約された複数の第1の時間窓と、前記2次ネットワークドメインを通じた通信用に予約された複数の第2の時間窓とを含むスケジュールに従って通信を可能にするように構成され、各前記第1の時間窓は、予約されていない時間窓によって前の第2の時間窓および次の第2の時間窓から分離され、
各前記1次メッセージは、予約された第1の時間窓の間に、前記仮想スレーブモジュールを使用して前記1次ネットワークドメインから受信され、
各受信された前記1次メッセージは、前記次の第2の予約された時間窓の開始前に処理され、
前記各受信された1次メッセージを処理することは、前記次の第2の予約された時間窓の開始前に前記パブリッシャメッセージを生成することをトリガーし、
前記生成されたパブリッシャメッセージは、前記次の第2の予約された時間窓の間に、前記2次ネットワークドメインを通じて送信される、請求項1
または2に記載の方法。
【請求項6】
前記通信インターフェースは、前記1次ネットワークドメインを通じた通信用に予約された複数の第1の時間窓と、前記2次ネットワークドメインを通じた通信用に予約された複数の第2の時間窓とを含むスケジュールに従って通信を可能にするように構成され、各前記第1の時間窓は、予約されていない時間窓によって前の第2の時間窓および次の第2の時間窓から分離され、
各前記1次メッセージは、予約された前記第1の時間窓の間に、前記仮想スレーブモジュールを使用して受信され、
各受信された前記1次メッセージは、前記次の第2の予約された時間窓の開始前に処理され、
前記パブリッシャメッセージを生成することは、前記次の第2の予約された時間窓の間にトリガーされ、
前記生成されたパブリッシャメッセージは、前記次の第2の予約された時間窓の間に、前記2次ネットワークドメインを通じて送信される、請求項1
または2に記載の方法。
【請求項7】
前記物理OPC UAデバイスは、OPC UAパブリッシャ識別子に関連付けられた物理パブリッシャモジュールを更に備え、
前記エミュレーションされる産業通信デバイスは、前記内部OPC UA情報モデルに関連付けられた仮想OPC UAサブスクライバモジュールを更に備え、
前記方法は、
前記仮想OPC UAサブスクライバモジュールを使用して、前記OPC UAパブリッシャ識別子と2次データペイロードとを含む少なくとも1つの2次サブスクライバメッセージを受信することと、
各受信された前記2次サブスクライバメッセージについて、前記エミュレーションされるデバイスを使用して、前記受信された2次サブスクライバメッセージを処理し、前記2次データペイロードを前記内部OPC UA情報モデルに従って前記第2のメモリ構造体に記憶することと、
前記仮想スレーブモジュールを使用して、1次ネットワークドメインソースアドレスとしての前記仮想スレーブアドレスと、1次ネットワークドメインデスティネーションアドレスとしての前記マスターアドレスと、前記第2のメモリ構造体に記憶された各前記2次データペイロードから得られる符号化されたデータペイロードとを含む仮想メッセージを生成することと、
前記通信インターフェースを使用して、前記生成された仮想メッセージを、前記1次ネットワークドメインを通じて前記マスターデバイスに送信することと、
を更に含む、請求項1
または2に記載の方法。
【請求項8】
前記受信された2次サブスクライバメッセージを処理することは、前記OPC UAパブリッシャ識別子に基づいて選択された暗号化鍵を使用して、前記受信された2次サブスクライバメッセージを解読することを含む、請求項7に記載の方法。
【請求項9】
前記物理パブリッシャモジュールは、前記物理OPC UAデバイスに固有のデータセットライター識別子に更に関連付けられ、
前記受信された2次サブスクライバメッセージを処理することは、
前記仮想OPC UAサブスクライバモジュールを使用して、前記物理OPC UAデバイスに関連付けられた前記データセットライター識別子に基づいて、前記2次データペイロードを復号化することと、
前記内部OPC UA情報モデルに従って、前記復号化された2次データペイロードを前記第2のメモリ構造体に記憶することと、
を含む、請求項
7に記載の方法。
【請求項10】
前記第1のメモリ構造体は、複数のメモリ区画の記述を含み、
各前記メモリ区画は、前記1次ネットワークドメイン内の対応するリモートリソースにマッピングされ、
各前記メモリ区画は、前記第2のメモリ構造体に記憶された前記内部OPC UA情報モデル内への対応するリファレンスに更にマッピングされ、
前記仮想メッセージを生成することは、前記複数のメモリ区画の前記記述を使用して、前記記憶された2次データペイロードを前記マスターデバイスによって可読なフォーマットに符号化することを含む、請求項
7に記載の方法。
【請求項11】
前記通信インターフェースは、前記1次ネットワークドメインを通じた通信用に予約された複数の第1の時間窓と、前記2次ネットワークドメインを通じた通信用に予約された複数の第2の時間窓とを含むスケジュールに従って通信を可能にするように構成され、各前記第1の時間窓は、予約されていない時間窓によって前の第2の時間窓および次の第2の時間窓から分離され、
各前記2次サブスクライバメッセージは、予約された前記第2の時間窓の間に前記仮想OPC UAサブスクライバモジュールを使用して受信され、
各受信された前記2次サブスクライバメッセージは、次の第1の予約された時間窓の開始前に処理され、
各前記受信された2次サブスクライバメッセージを処理することは、前記次の第1の予約された時間窓の開始前に前記仮想メッセージを生成することをトリガーし、
前記生成された仮想メッセージは、前記次の第1の予約された時間窓の間に前記1次ネットワークドメインを通じて送信される、請求項
7に記載の方法。
【請求項12】
前記通信インターフェースは、前記1次ネットワークドメインを通じた通信用に予約された複数の第1の時間窓と、前記2次ネットワークドメインを通じた通信用に予約された複数の第2の時間窓とを含むスケジュールに従って通信を可能にするように構成され、各前記第1の時間窓は、予約されていない時間窓によって前の第2の時間窓および次の第2の時間窓から分離され、
各前記2次サブスクライバメッセージは、予約された前記第2の時間窓の間に前記仮想OPC UAサブスクライバモジュールを使用して受信され、
各受信された前記2次サブスクライバメッセージは、次の第1の予約された時間窓の開始前に処理され、
前記仮想メッセージを生成することは、前記次の第1の予約された時間窓の間にトリガーされ、
前記生成された仮想メッセージは、前記次の第1の予約された時間窓の間に前記1次ネットワークドメインを通じて送信される、請求項
7に記載の方法。
【請求項13】
プロセッサがアクセス可能であり、前記プロセッサによって実行されると、請求項1
または2に記載の方法のステップを前記プロセッサに実行させる1つ以上の記憶された命令シーケンスを含む、コンピュータプログラム。
【請求項14】
請求項13に記載のコンピュータプログラムの1つ以上の記憶された命令シーケンスを記憶する、コンピュータ可読記憶媒体。
【請求項15】
メモリと、1次ネットワークドメインおよび2次ネットワークドメインとの通信インターフェースとに動作可能に接続される処理ユニットを備えるゲートウェイデバイスであって、
前記1次ネットワークドメインは、マスターアドレスに関連付けられたマスターデバイスを備える産業通信システムにおいて実施され、
前記2次ネットワークドメインは、OPC UA PubSub通信プロトコルを使用するとともに、物理サブスクライバモジュールを備える物理OPC UAデバイスを備える通信システムにおいて実施され、
前記ゲートウェイデバイスは、
前記ゲートウェイデバイスを使用して産業通信デバイスをエミュレーションすることであって、エミュレーションされる前記産業通信デバイスは、
前記1次ネットワークドメインにおける仮想スレーブアドレスに関連付けられた仮想スレーブモジュールであって、前記メモリ内に配置された第1のメモリ構造体を備える、仮想スレーブモジュールと、
前記2次ネットワークドメインにおける仮想OPC UAパブリッシャ識別子と、前記メモリ内に配置された第2のメモリ構造体に記憶された内部OPC UA情報モデルとに関連付けられた仮想OPC UAパブリッシャモジュールと、
を備える、エミュレーションすることと、
前記仮想スレーブモジュールを使用して、1次ネットワークドメインソースアドレスとしての前記マスターアドレスと、1次ネットワークドメインデスティネーションアドレスとしての前記仮想スレーブアドレスと、1次データペイロードとを含む少なくとも1つの1次メッセージを前記1次ネットワークドメインから受信することと、
各受信された前記1次メッセージについて、エミュレーションされる前記産業通信デバイスを使用して、前記受信された1次メッセージを処理し、前記1次データペイロードを前記内部OPC UA情報モデルに従って前記第2のメモリ構造体に記憶することと、
前記仮想OPC UAパブリッシャモジュールを使用して、前記仮想OPC UAパブリッシャ識別子と、前記内部OPC UA情報モデルに従って各記憶された前記1次データペイロードとを含むパブリッシャメッセージを生成することと、
前記通信インターフェースを使用して、生成された前記パブリッシャメッセージを、前記2次ネットワークドメインを通じて前記物理サブスクライバモジュールに送信することと、
を行うように構成される、ゲートウェイデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、電気通信の分野に属する。特に、ネットワークドメインを相互接続する方法と、そのような方法を実施するコンピュータ可読記憶媒体、コンピュータプログラムおよびゲートウェイデバイスとが以下に開示される。
【背景技術】
【0002】
多くの産業システムは、独自の通信プロトコルを実行するフィールドバスに基づいている。
【0003】
いくつかの産業通信プロトコルを、それらに関連した用途およびリアルタイム制約とともに以下に紹介する。以下の産業用途のケースでは、決定論的なリアルタイム通信能力を必要とする。
【0004】
レーザ切断機械類の場合、動作中には1msのサイクル時間を有するコントローラ間の周期的な通信が必要である。この通信は制御タスクに使用されるので、遅延時間およびジッターは最小でなければならない。クリティカルな通信の他に、視覚データ等の非クリティカル周期的イベントベース通信も存在する。
【0005】
パッケージ/小包識別ハンドリングシステムは、カメラおよびRFIDシステムとデータを交換する必要があるとともに、通常の動作中にタスクをソートするプログラマブルロジックコントローラ(PLC)とデータを交換する必要がある。データ交換は、イベントベース(最大18イベント毎秒)であり、小包の存在によって規定される。この通信は制御タスクに使用されるので、最小の遅延時間(100ms)が必要とされる。非クリティカル周期的イベントベース通信も行われる。
【0006】
レーザ距離測定アプリケーションの場合、レーザ距離センサは、中央コントローラまたはアクチュエータとデータを周期的に交換する。この場合、10msの周期が必要であり、その結果、データ量は15MB毎秒となる。様々なセンサからの測定値を調整するために時間同期が必要である。
【0007】
安全関連データの交換は、安全プロトコルを使用して行われる。このプロトコルは、ブラックチャネル通信レイヤを利用する。これは、安全関連設計を有しない構成要素が通信パスに存在することを意味する。したがって、相手方デバイスからの応答メッセージは、規定された時間内に受信されなければならない。最悪の場合の送信遅延時間が満了した場合には、機械は安全状態に遷移する。双方向データ交換は、決定論的タイミングに基づいて周期的に行われる。
【0008】
イーサネットTSNの導入に伴って、それらのプロトコルの最新の進化形は、さまざまなサービス品質(QoS)要件を有するネットワークデータフローをサポートする複雑なネットワークトポロジーにおいても、決定論的アクセス、低遅延時間/ジッターを提供するイーサネットTSNリンクレイヤに基づくことができる。
【0009】
TSNは、標準的なイーサネット上で決定論的メッセージングを提供する、IEEE802.1によって定義された標準技術である。TSNフレームで時間通りに送達を提供する鍵となるものは802.1Qbvである。Qbvは、非TSNイーサネットフレームをTSNフレームに前後してベストエフォート型で送信することを可能にしながら、いくつかのTSNイーサネットフレームをスケジュール通りに送信する手段である。全てのネットワークノードは同期されるので、Qbvは、クリティカル通信を非常に迅速に、且つ送達時のジッターを非常に小さくして送達することができる。
【0010】
IEEE802.1グループによって定義される種々のTSN規格は、以下の3つの基本となる主要な構成要素カテゴリーにグループ化することができる。
-時間同期:TSNネットワークにおける時刻は、通常、1つのマスターソースから全てのネットワークノードに分配される。ほとんどの場合に、これは、イーサネットフレームを利用して時間同期情報を分配する高精度時間プロトコルを使用して行われる。
-スケジューリングおよびトラフィックシェーピング:スケジューリングおよびトラフィックシェーピングは、同じネットワーク上で異なる優先度を有する異なるトラフィッククラスの共存を可能にする。TSNは、ソフトリアルタイム要件およびハードリアルタイム要件を有する適時の送達を確保するメカニズムを追加することによって標準的なイーサネット通信を強化する。
-通信パス、パス予約およびフォールトトレランスメカニズムの選択。
【0011】
スケジューリング構成要素に焦点を当てると、優先度ごとに、ユーザは、種々のアクセス制御スケジューリングメカニズムから、イーサネットフレームをどのように処理するのかを選択することができる。それによって、既に存在する方法(IEEE802.1Q厳密優先順位スケジューラ等)またはTSN IEEE802.1Qbvタイムアウェアトラフィックスケジューラ等のいくつかの新たな処理方法に或る優先度を割り当てることができる。
【0012】
IEEE802.1Qbvタイムアウェアスケジューラは、イーサネットネットワーク上の通信を固定長の繰り返し時間サイクルに分離するように設計されている。これらのサイクル内では、イーサネット優先度のうちの1つまたはいくつかに割り当てることができる種々のタイムスライスを構成することができる。そのメカニズムのおかげで、厳格なリアルタイム制約を有するトラフィッククラス用のイーサネット伝送媒体を独占的に使用させることが可能になる。この独占的なアクセスは、イーサネットスイッチ送信バッファにおける緩衝効果を取り除き、非決定論的な中断なくタイムクリティカルトラフィックを送信することができる。タイムスライスは、仮想通信チャネルとみなすことができ、非クリティカルバックグラウンドトラフィックからタイムクリティカル通信を分離することを可能にする。
【0013】
OPC UA(IEC62541としても知られている)は、M2Mおよびプロセス通信プロトコルであり、組み込み用途を目標とするOPC通信規格からの主要な進化形である。
【0014】
クライアント/サーバ方式を介した元のOPC UAデータ交換は、列挙されたリアルタイム(RT)使用事例を実施するにはあまり効率的でない。結果として、OPC協議会は、これらの要件に対処する新たなOPC UAパブリッシャ/サブスクライバ通信モデルを開発した。このモデルは、マルチポイントをアドレス指定するマルチキャストメッセージおよびブロードキャストメッセージと、決定論的通信とに基づいている。
【0015】
OPC UA協議会は、いくつかの産業リアルタイム(RT)使用事例をサポートすることを対象としたPubSub拡張を提案している。
【0016】
この進化形は、組み込みデバイスを対象とするもので、小さなフットプリントにおいて性能を最適化する。この進化形では、データを記述するためのメタモデルと、情報を交換およびブラウジングするための通信インフラストラクチャとが追加される。加えて、OPC UAは、IEC62443のような今後の規格に従ったセキュアなシステムの実施を支援するビルトインセキュリティモデルを備えている。
【0017】
OPC UAパブリッシャ/サブスクライバ通信方式(PubSub)は、マルチポイントをアドレス指定するマルチキャストメッセージおよびブロードキャストメッセージと、決定論的通信とに基づいている。この通信方式は、イーサネットTSNをリンクレイヤとしてサポートすることもできる。
【0018】
OPC UAパブリッシャ/サブスクライバ通信モデルは、分散アーキテクチャ内のパブリッシャとサブスクライバのリストとの間のメッセージの交換を定義する。この交換を行うために、サブスクライバが存在する場合に、どのようなサブスクライバが存在し得るのかを知ることなく、パブリッシャがメッセージを送信することを可能にする適切なインフラストラクチャが必要とされる。同様に、サブスクライバは、パブリッシャが存在する場合に、どのようなパブリッシャが存在するのかを知ることなく、このインフラストラクチャと通信して、サブスクライバが関心のあるいくつかのタイプのメッセージを示し、関心のあるメッセージのみを受信する。
【0019】
特定の使用事例に応じて、さまざまなプロトコルスタックおよびプロトコルヘッダーのさまざまなデータ符号化(バイナリー、JSON、XML)を使用するOPC UAパブリッシャ/サブスクライバ通信モデルのさまざまな実施態様が可能である。例えば、実施態様では、UADPバイナリープロトコルを使用して、以下の図に示すようにUDP/マルチキャストIPまたはマルチキャストTSNイーサネットのいずれかによって搬送されるOPC UA PubSubメッセージを暗号化によって符号化することができる。OPC UA PubSubは、MQTTまたはAMQP等のメッセージキュープロトコルへのプロトコルマッピングも定義する。
【0020】
OPC UA PubSubモデルは、リアルタイム周期的メッセージ送達サービスを提供するように適合されている。PubSub通信モデルのアプリケーションペイロードは、基本的には、変数/値のリストを表す名称および値の対のリストであるDataSetに依存する。CC-Link IEまたはProfinet/RT等の独自の産業通信プロトコルと比較して、OPC UAは、はるかに高い柔軟性を提供し、多数のビルトインデータタイプをサポートすることができる。
【0021】
DataSetは、OPC UAパブリッシャによってOPC UA PubSub DataSetMessageメッセージを通じてパブリッシュされ、アプリケーションペイロードとして含まれる。
【0022】
OPC UAは、パブリッシュされるDataSetの異なるデータ表現モードを提供する。その中で、RawData表現は、基本的に、データフィールドを連結したものと同様である。この表現を使用するには、送信機には、周期的なデータメッセージ送出を開始する前に、データフォーマット(DataSetMetaDataと呼ばれる)をアナウンスすることが必要とされる。
【発明の概要】
【発明が解決しようとする課題】
【0023】
現在、異なる通信システムに基づく産業フィールドバスを相互接続することは困難である。なぜならば、それらの通信システムは、同じリンクレイヤ(イーサネットTSN)上で動作している場合であっても、異なる産業通信プロトコルおよび情報モデルを使用しているからである。
【0024】
そのため、イーサネットTSN上で動作する独自の通信プロトコルのアプリケーションレイヤを変換するとともに、その基盤である情報モデルも変換する変換方法が必要とされている。
【0025】
そのような方法は、相互接続されたフィールドバスシステム内のデバイスのプログラミングを変更する必要がないように、明確な方法でデバイスの統合を可能にするものでなければならない。
【0026】
特に、メモリマッピングおよび時間同期は、変更されずに保持されるべきである。
【0027】
そのような方法は、例えば、独自のイーサネット産業プロトコルを相互運用可能なプロトコルと相互接続する産業イーサネットゲートウェイに展開可能なものでなければならない。
【0028】
実際、インダストリー4.0の出現に伴って、製造業者は、プラットフォームに依存しないサービス指向型アーキテクチャに統合される相互運用可能なプロトコル(例えばOPC UA)をサポートしなければならない。そのような方法は、単一のイーサネットTSNリンクレイヤに基づいて異なる通信プロトコルをサポートするデバイスおよびアプリケーションの共生を可能にする。
【課題を解決するための手段】
【0029】
本発明は、添付の独立請求項によって画定される。本明細書に開示される概念の更なる特徴および利点を、以下の説明において述べる。
【0030】
本開示は、上記状況を改善することを目的とする。
【0031】
このため、本開示は、ゲートウェイデバイス(GW)を通じて1次ネットワークドメイン(PND)を2次ネットワークドメイン(SND)と相互接続する方法であって、
1次ネットワークドメイン(PND)は、マスターアドレスに関連付けられたマスターデバイスを備える産業通信システムにおいて実施され、
2次ネットワークドメイン(SND)は、OPC UA PubSub通信プロトコルを使用するとともに、物理サブスクライバモジュールを備える物理OPC UAデバイスを備える通信システムにおいて実施され、
ゲートウェイデバイスは、メモリ(MEM)と、1次ネットワークドメイン(PND)および2次ネットワークドメイン(SND)との通信インターフェース(CI)とに動作可能に接続される処理ユニット(CPU)を備え、
方法は、
ゲートウェイデバイスを使用して産業通信デバイスをエミュレーションすることであって、エミュレーションされるデバイスは、
1次ネットワークドメイン(PND)における仮想スレーブアドレスに関連付けられた仮想スレーブモジュールであって、メモリ(MEM)内に配置された第1のメモリ構造体を備える、仮想スレーブモジュールと、
2次ネットワークドメイン(SND)における仮想OPC UAパブリッシャ識別子と、メモリ(MEM)内に配置された第2のメモリ構造体に記憶された内部OPC UA情報モデルとに関連付けられた仮想OPC UAパブリッシャモジュールと、
を備える、エミュレーションすることと、
仮想スレーブモジュールを使用して、1次ネットワークドメイン(PND)ソースアドレスとしてのマスターアドレスと、1次ネットワークドメイン(PND)デスティネーションアドレスとしての仮想スレーブアドレスと、1次データペイロードとを含む少なくとも1つの1次メッセージを1次ネットワークドメイン(PND)から受信することと、
各受信された1次メッセージについて、エミュレーションされるデバイスを使用して、受信された1次メッセージを処理し、1次データペイロードを内部OPC UA情報モデルに従って第2のメモリ構造体に記憶することと、
仮想OPC UAパブリッシャモジュールを使用して、仮想OPC UAパブリッシャ識別子と、内部OPC UA情報モデルに従って各記憶された1次データペイロードとを含むパブリッシャメッセージを生成することと、
通信インターフェースを使用して、生成されたパブリッシャメッセージを、2次ネットワークドメイン(SND)を通じて物理サブスクライバモジュールに送信することと、
を含む、方法を記載している。
【0032】
そのような方法により、任意の独自のプロトコルおよび情報モデルに依存する1次ネットワークドメイン内のマスターデバイスによって生成されたメッセージにおいて受信されるデータペイロードを、OPC UA PubSub仕様によって定義されるような開放型通信システムに依存する2次ネットワークドメイン内の任意の産業通信デバイスに送信することが可能になる。
【0033】
異種の産業イーサネットおよびOPC UAのサポートに適合されていない既存の方法と異なり、そのような方法は、ゲートウェイの内部の仮想デバイスの定義に依存する。もちろん、複数のデバイスを同時にサポートおよびエミュレーションすることができる。例えば、2次ネットワークドメインの各物理デバイスを1次ネットワークドメインに属する仮想デバイスにマッピングすることができ、その逆についても同様である。
【0034】
そのような方法は、独自のプロトコルおよび情報モデルに依存する1つまたはいくつかのリアルタイム産業通信システムを、OPC UA PubSub仕様によって定義されるような開放型通信システムと相互接続する一般的な変換方法を可能にする。
【0035】
そのような方法は、例えば、多種多様な動作方式および/または多種多様な情報モデルを有するプロトコルのサポートを可能にする。
【0036】
そのような方法は、集約された1次データペイロードを含むパブリッシャメッセージを生成する前に、複数の受信された1次メッセージから1次データペイロードを集約することを更に可能にする。
【0037】
任意選択として、第1のメモリ構造体は、複数のメモリ区画の記述を含み、
各メモリ区画は、1次ネットワークドメイン(PND)内の対応するリモートリソースにマッピングされ、
各メモリ区画は、第2のメモリ構造体に記憶された内部OPC UA情報モデル内への対応するリファレンスに更にマッピングされ、
受信された1次メッセージを処理することは、1次データペイロードを復号化し、メモリ区画のセットの記述を使用して、1次データペイロードを内部OPC UA情報モデルに従って第2のメモリ構造体に記憶することを含む。
【0038】
既存のプロトコル変換方法と異なり、通信プロトコルおよび関連する情報モデルがどのようなものであっても、或るネットワークドメインからのデバイス(およびコントローラ)および別のドメインのデバイスが全て単一のドメインに存在するかのように、或るネットワークドメインからのデバイス(およびコントローラ)が別のドメインのデバイスと安全に通信することができるように、明確で普遍的な方式が提供される。明確性は、固有のアドレス/データマッピングが既存のデバイス内に必要とされないことを意味する。そのため、関与するさまざまなコントローラの内部において、プログラムの修正は必要とされない。
【0039】
各仮想デバイスは、接続されたネットワークドメインにおいて対応する物理デバイスを完全にエミュレーションすることができるので、デバイスエミュレーションは、物理デバイスと同じ機能を提供することができる。これらの機能は、入出力(IO)状態およびメモリレジスタの同期、制御サービスおよび管理サービス(発見/構成/監視等)を提供するアラーム/イベント生成およびシグナリングサポートを意味する。
【0040】
任意選択として、
物理サブスクライバモジュールは、パブリッシャ識別子を組み込んでいる受信されたパブリッシャメッセージのソースを組み込まれたパブリッシャ識別子に基づいて識別するように構成され、
2次ネットワークドメイン(SND)内の仮想OPC UAパブリッシャモジュールに関連付けられた仮想OPC UAパブリッシャ識別子は、仮想OPC UAパブリッシャモジュールに固有である。
【0041】
したがって、アドレス計画が1次ネットワークドメイン(PND)および2次ネットワークドメイン(SND)の双方の間で首尾一貫している場合には、エミュレーションされるデバイスに固有の単一の識別子に基づいて、エミュレーションされるデバイスを双方のドメインにおいて識別することが可能である。
【0042】
任意選択として、
物理サブスクライバモジュールは、パブリッシャ識別子およびライター識別子を組み込んでいる受信されたパブリッシャメッセージのソースを組み込まれたパブリッシャ識別子および組み込まれたライター識別子に基づいて識別するように構成され、
2次ネットワークドメイン(SND)内の仮想OPC UAパブリッシャモジュールに関連付けられた仮想OPC UAパブリッシャ識別子は、ゲートウェイデバイスに固有であり、
生成されたパブリッシャメッセージは、仮想OPC UAパブリッシャモジュールに固有のライター識別子を更に含む。
【0043】
したがって、1次ネットワークドメイン(PND)および2次ネットワークドメイン(SND)の双方においてデバイスを配備する柔軟性を高めるために、双方のドメインの独立したアドレス計画を可能にするとともに、エミュレーションされるデバイスを双方のドメインにおいて識別することが可能である。
【0044】
任意選択として、
通信インターフェースは、1次ネットワークドメイン(PND)を通じた通信用に予約された複数の第1の時間窓と、2次ネットワークドメイン(SND)を通じた通信用に予約された複数の第2の時間窓とを含むスケジュールに従って通信を可能にするように構成され、各第1の時間窓は、予約されていない時間窓によって前の第2の時間窓および次の第2の時間窓から分離され、
各1次メッセージは、第1の予約された時間窓の間に、仮想スレーブモジュールを使用して1次ネットワークドメイン(PND)から受信され、
各受信された1次メッセージは、次の第2の予約された時間窓の開始前に処理され、
各受信された1次メッセージを処理することは、次の第2の予約された時間窓の開始前にパブリッシャメッセージを生成することをトリガーし、
生成されたパブリッシャメッセージは、次の第2の予約された時間窓の間に、2次ネットワークドメイン(SND)を通じて送信される。
【0045】
例えば、第1のネットワークドメインは、第1のクロックおよび第1のサイクル継続時間を有するTSNリンクレイヤに依存することができる。第2のネットワークドメインも、第2のクロックおよび第2のサイクル継続時間を有するTSNリンクレイヤに依存することができる。
【0046】
この例では、第1のクロックおよび第2のクロックが同期されておらず、および/または、第1のサイクル継続時間および第2のサイクル継続時間が異なる場合であっても、1次ネットワークドメインを2次ネットワークドメインと相互接続することができる。
【0047】
任意選択として、
通信インターフェースは、1次ネットワークドメイン(PND)を通じた通信用に予約された複数の第1の時間窓と、2次ネットワークドメイン(SND)を通じた通信用に予約された複数の第2の時間窓とを含むスケジュールに従って通信を可能にするように構成され、各第1の時間窓は、予約されていない時間窓によって前の第2の時間窓および次の第2の時間窓から分離され、
各1次メッセージは、第1の予約された時間窓の間に、仮想スレーブモジュールを使用して受信され、
各受信された1次メッセージは、次の第2の予約された時間窓の開始前に処理され、
パブリッシャメッセージを生成することは、次の第2の予約された時間窓の間にトリガーされ、
生成されたパブリッシャメッセージは、次の第2の予約された時間窓の間に、2次ネットワークドメイン(SND)を通じて送信される。
【0048】
この例では、第1のクロックおよび第2のクロックが同期されておらず、および/または、第1のサイクル継続時間および第2のサイクル継続時間が異なる場合であっても、1次ネットワークドメインを2次ネットワークドメインと相互接続することができる。
【0049】
また、パブリッシャメッセージの構築がサイクル全体にわたって拡散されるので、より高速なメッセージ生成が可能になる。
【0050】
さらに、パブリッシャメッセージは、当該パブリッシャメッセージ内に含まれることになるデータを搬送する1次ネットワークドメインから来る最後のメッセージの受信直後に準備することができるので、ネットワーククロックによってトリガーされるタイマーを定義することが厳密には必要とされない。
【0051】
任意選択として、
物理OPC UAデバイスは、OPC UAパブリッシャ識別子に関連付けられた物理パブリッシャモジュールを更に備え、
エミュレーションされるデバイスは、内部OPC UA情報モデルに関連付けられた仮想OPC UAサブスクライバモジュールを更に備え、
方法は、
仮想OPC UAサブスクライバモジュールを使用して、OPC UAパブリッシャ識別子と2次データペイロードとを含む少なくとも1つの2次サブスクライバメッセージを受信することと、
各受信された2次サブスクライバメッセージについて、エミュレーションされるデバイスを使用して、受信された2次サブスクライバメッセージを処理し、2次データペイロードを内部OPC UA情報モデルに従って第2のメモリ構造体に記憶することと、
仮想スレーブモジュールを使用して、1次ネットワークドメイン(PND)ソースアドレスとしての仮想スレーブアドレスと、1次ネットワークドメイン(PND)デスティネーションアドレスとしてのマスターアドレスと、第2のメモリ構造体に記憶された各2次データペイロードから得られる符号化されたデータペイロードとを含む仮想メッセージを生成することと、
通信インターフェースを使用して、生成された仮想メッセージを、1次ネットワークドメイン(PND)を通じてマスターデバイスに送信することと、
を更に含む。
【0052】
この例では、OPC UA PubSub仕様によって定義されるような開放型通信システムに依存する2次ネットワークドメイン内の任意の産業通信デバイスによってパブリッシュされるメッセージ内のデータペイロードを変換し、任意の独自のプロトコルおよび情報モデルに依存する1次ネットワークドメイン内のマスターデバイスに送信することができる。
【0053】
任意選択として、受信された2次サブスクライバメッセージを処理することは、OPC UAパブリッシャ識別子に基づいて選択された暗号化鍵を使用して、受信された2次サブスクライバメッセージを解読することを含む。
【0054】
この例では、暗号化およびメッセージ認証等のセキュリティ機能との適合性が、特に2次ネットワークドメイン(SND)において確保される。
【0055】
任意選択として、
物理パブリッシャモジュールは、物理OPC UAデバイスに固有のデータセットライター識別子に更に関連付けられ、
受信された2次サブスクライバメッセージを処理することは、
仮想OPC UAサブスクライバモジュールを使用して、物理OPC UAデバイスに関連付けられたデータセットライター識別子に基づいて、2次データペイロードを復号化することと、
内部OPC UA情報モデルに従って、復号化された2次データペイロードを第2のメモリ構造体に記憶することと、
を含む。
【0056】
任意選択として、
第1のメモリ構造体は、複数のメモリ区画の記述を含み、
各メモリ区画は、1次ネットワークドメイン(PND)内の対応するリモートリソースにマッピングされ、
各メモリ区画は、第2のメモリ構造体に記憶された内部OPC UA情報モデル内への対応するリファレンスに更にマッピングされ、
仮想メッセージを生成することは、複数のメモリ区画の記述を使用して、記憶された2次データペイロードを符号化して、符号化されたデータペイロードにすることを含む。
【0057】
この例では、2次データペイロードは、累積記憶された2次データペイロードを搬送する単一のPNDメッセージの準備を考慮して、記憶された2次データペイロードを更に累積することを可能にする内部OPC UA情報モデルに組み込まれる。
【0058】
任意選択として、
通信インターフェースは、1次ネットワークドメイン(PND)を通じた通信用に予約された複数の第1の時間窓と、2次ネットワークドメイン(SND)を通じた通信用に予約された複数の第2の時間窓とを含むスケジュールに従って通信を可能にするように構成され、各第1の時間窓は、予約されていない時間窓によって前の第2の時間窓および次の第2の時間窓から分離され、
各2次サブスクライバメッセージは、第2の予約された時間窓の間に仮想OPC UAサブスクライバモジュールを使用して受信され、
各受信された2次サブスクライバメッセージは、次の第1の予約された時間窓の開始前に処理され、
仮想メッセージを生成することは、次の第1の予約された時間窓の間にトリガーされ、
生成された仮想メッセージは、次の第1の予約された時間窓の間に1次ネットワークドメイン(PND)を通じて送信される。
【0059】
この例では、異なるクロックドメインを有するプロトコル間の相互接続、およびサイクル期間の長さに関する異なるタイミング要件を有する産業アプリケーション間の相互接続がサポートされる。
【0060】
任意選択として、
通信インターフェースは、1次ネットワークドメイン(PND)を通じた通信用に予約された複数の第1の時間窓と、2次ネットワークドメイン(SND)を通じた通信用に予約された複数の第2の時間窓とを含むスケジュールに従って通信を可能にするように構成され、各第1の時間窓は、予約されていない時間窓によって前の第2の時間窓および次の第2の時間窓から分離され、
各2次サブスクライバメッセージは、第2の予約された時間窓の間に仮想OPC UAサブスクライバモジュールを使用して受信され、
各受信された2次サブスクライバメッセージは、次の第1の予約された時間窓の開始前に処理され、
各受信された2次サブスクライバメッセージを処理することは、次の第1の予約された時間窓の開始前に仮想メッセージを生成することをトリガーし、
生成された仮想メッセージは、次の第1の予約された時間窓の間に1次ネットワークドメイン(PND)を通じて送信される。
【0061】
この例では、異なるクロックドメインを有するプロトコル間の相互接続、およびサイクル期間の長さに関する異なるタイミング要件を有する産業アプリケーション間の相互接続がサポートされる。
【0062】
また、パブリッシャメッセージの構築がサイクル全体にわたって拡散されるので、より高速なメッセージ生成が可能になる。
【0063】
さらに、この例では、パブリッシャメッセージは、当該パブリッシャメッセージ内に含まれることになるデータを搬送する1次ネットワークドメインから来る最後のメッセージの受信直後に準備することができるので、ネットワーククロックによってトリガーされるタイマーを定義することが厳密には必要とされない。
【0064】
本開示は、特定のモバイルデバイスのプロセッサによって実行されると、本明細書に記載の方法のいずれかをこのプロセッサに実行させる命令を含むコンピュータ可読記憶媒体も記載している。
【0065】
本開示は、プロセッサがアクセス可能であり、プロセッサによって実行されると、本明細書に記載の方法のいずれかをプロセッサに実行させる1つ以上の記憶された命令シーケンスを含む、コンピュータプログラムも記載している。
【0066】
本開示は、メモリ(MEM)と、1次ネットワークドメイン(PND)および2次ネットワークドメイン(SND)との通信インターフェース(CI)とに動作可能に接続される処理ユニット(CPU)を備えるゲートウェイデバイスであって、
1次ネットワークドメイン(PND)は、マスターアドレスに関連付けられたマスターデバイスを備える産業通信システムにおいて実施され、
2次ネットワークドメイン(SND)は、OPC UA PubSub通信プロトコルを使用するとともに、物理サブスクライバモジュールを備える物理OPC UAデバイスを備える通信システムにおいて実施され、
ゲートウェイデバイスは、本明細書に記載の方法のいずれかを行うように構成される、ゲートウェイデバイスも記載している。
【図面の簡単な説明】
【0067】
【
図1】通信システムにおける2つのネットワークドメインを相互接続する一例示のゲートウェイデバイスを示す図である。
【
図2】そのような通信システムの異なる例示のトポロジーを示す図である。
【
図3】そのような通信システムの異なる例示のトポロジーを示す図である。
【
図4】通信システムにおける2つのネットワークドメインを相互接続する異なる例示の方法を示す図である。
【
図5】通信システムにおける2つのネットワークドメインを相互接続する異なる例示の方法を示す図である。
【
図6】そのような方法を実行する一例示のスケジュールを示す図である。
【
図7】そのような方法を実行するときに通信システムにおけるエンティティ間で交換される例示のデータペイロードを示す図である。
【
図8】エミュレーションされるデバイスの一例示の構造を示す図である。
【発明を実施するための形態】
【0068】
【0069】
この通信システムは、ゲートウェイデバイス(GW)3000によって2次ネットワークドメイン(SND)2000に相互接続された1次ネットワークドメイン(PND)1000を備える。
【0070】
PNDは、マスターデバイス1100としてのプログラマブルロジックコントローラ(PLC)と、1つ以上のスレーブデバイス1200とを備える。
【0071】
SNDは、複数の産業通信デバイス2100、2200を備える。これらの産業通信デバイスは、OPC UAパブリッシャ/サブスクライバ通信方式に依存して、互いに通信するように構成されている。したがって、各産業通信デバイス2100、2200は、それぞれ、OPC UAサブスクライバモジュール2110、2210と、OPC UAパブリッシャモジュール2120、2220とを備える。
【0072】
各ドメインは、それ自体のアドレス計画を有することができる。
【0073】
例えば、マスターデバイス1100は、PND1000における識別子1110として一意のアドレスPND@0を有することができる一方、各スレーブデバイス1200は、PND1000における識別子1210として一意のアドレスPND@1を更に有することができる。PND1000における識別子1110、1210は、所与のメッセージのソースまたはターゲットのいずれかを識別するのに使用することができる。
【0074】
また、各パブリッシャモジュール2120、2220は、当該パブリッシャモジュール2120、2220からの任意のパブリッシャメッセージのSND2000におけるソース識別子2121、2221として、パブリッシャ識別子PubID#1、PubID#2を有することができる。
【0075】
各ドメイン1000、2000を通じた通信は、それ自体のクロックマスター1300、2300によって更に制御することができる。
【0076】
ゲートウェイデバイス3000は、メモリ(MEM)と、1次ネットワークドメイン(PND)1000および2次ネットワークドメイン(SND)2000との通信インターフェース(CI)とに動作可能に接続された処理ユニット(CPU)を備える。
【0077】
ゲートウェイデバイス3000は、各ネットワークドメインがイーサネットTSNリンクレイヤに依存しているときに、1次ネットワークドメインおよび2次ネットワークドメインの双方によって提供される以下の機能の相互接続を、データプレーン変換を通じて提供するように構成することができる。
-ネットワークデバイス入力/出力(IO)状態およびメモリレジスタの同期、並びに
-ネットワークデバイスアラームおよびイベントの生成。
【0078】
ゲートウェイデバイス3000は、データプレーン機能を十分にサポートするとともに、相互接続されたネットワークドメイン内へのゲートウェイデバイス3000の統合も可能にするために、制御プレーンを実施することもできる。例えば、ほとんどの産業プロトコルは、アタッチされたデバイスを自動的に検出してアドレスを割り当てる発見サービスをサポートする。
【0079】
制御プレーンの仕様は、独自の産業通信システムごとに大きく異なる場合がある。OPC UAは、デバイスおよびデータ通信の形式的記述を含む完備情報モデルを統合する。いくつかの独自の産業通信システムでは、この種の情報は、いくつかの構成ファイルを使用して外部ネットワーク構成ツールによって完全に管理することができる。そのため、変換方法が実施されるゲートウェイを、PND1000において使用される通信システムに固有の構成ツールによって構成しなければならないことが必要とされる。
【0080】
特に、このツールは、ネットワークデバイス同期に使用されるIO/メモリレジスタマッピングを定義しなければならず、ゲートウェイデバイス3000が、対応するDataSetMetaDataを構築し、OPC UA PubSub情報モデル内にPublishedDataSetを作成するのに使用することができる。いくつかの独自のプロトコルと異なり、OPC UAは、DataSetMessageのアプリケーションペイロードとして搬送されるDataSetの形式的記述を得る機能を提供する。
【0081】
この例では、PND内のマスターデバイス1100は、所定のリアルタイム制約を遵守して、SND2000内の産業通信デバイス2100、2200と通信することができることが望ましい。
【0082】
この通信を可能にするために、ゲートウェイデバイス3000は、産業通信デバイスが、PNDの通信プロトコルとSNDにおけるOPC UA通信プロトコルとの双方によって現実の物理デバイスとして正確に識別されるように、産業通信デバイスをエミュレーションする。
【0083】
各エミュレーションされるデバイス3100、3200は、以下のものを含む。
-PNDとの間でPNDマスターデバイス1100に対してメッセージを送受信する機能を含む仮想PNDスレーブ3110、3210、
-パブリッシャメッセージ(OPC UA PubSub DataSetMessage)を構築し、少なくとも1つのOPC-UAサブスクライバデバイス2110、2210に送信する機能を含む仮想OPC UAパブリッシャモジュール3120、3220、
-少なくとも1つのOPC UAパブリッシャデバイス2120、2220からサブスクライバメッセージ(OPC UA PubSub DataSetMessage)を受信し、解釈する機能を含む仮想OPC UAサブスクライバモジュール3130、3230、
-複数のメモリ区画の記述を記憶するのに使用される、ゲートウェイデバイス3000のメモリMEMの一部としての第1のメモリ構造体、および
-エミュレーションされるデバイス3100、3200に専用化されたOPC UA情報モデルを記憶するのに使用される、ゲートウェイデバイス3000のメモリMEMの一部としての第2のメモリ構造体。
【0084】
各メモリ区画は、1次ネットワークドメイン(PND)内のリモートリソースと呼ばれるリモートマスターデバイスのメモリレジスタまたはIOの或る対応するセットと、第2のメモリ構造体に記憶された内部OPC UA情報モデル内への対応するリファレンスとにマッピングされる。
【0085】
各仮想PNDスレーブ3110、3210は、当該仮想PNDスレーブに固有の仮想識別子3111、3211に関連付けられている。
【0086】
各仮想OPC UAパブリッシャモジュール3120、3220は、当該仮想OPC UAパブリッシャモジュールに固有の仮想パブリッシャ識別子3127、3221に関連付けられている。
【0087】
次に
図8を参照する。
図8は、エミュレーションされるデバイス3100の一例示の構造をより詳細な形式で示している。
【0088】
各管理される仮想PNDスレーブ3110について、ゲートウェイ3000は、以下のものを含むパラメータのセットを記憶する。
-PND1000において仮想PNDスレーブ3110を識別するアドレスとしての仮想識別子3111、
-任意選択として、仮想PNDスレーブ3110を識別する更なるタイプのアドレスとしての、例えばランダムに選ばれるレイヤ2媒体アクセス制御(L2-MAC)アドレス3112、
-PND1000内のクロックマスター1300に従って事前に構成することができるパブリッシュ間隔3113(例えば、μs単位)、並びに
-着信メッセージのソースであるとしてマスターデバイス1100を識別するマスターPNDアドレス1110およびL2-MACアドレス1111。
【0089】
多くの産業イーサネットシステムでは、PNDアドレスは、IPアドレスに基づいている。このエミュレーションされるデバイス3100によって送出されるフレームのソースL2-MACアドレスとして使用されるL2-MACアドレス3112は、ゲートウェイ3000のL2-MACアドレスを使用する代わりに、L2-MACアドレススプーフィングの目的で定義することができる。
【0090】
PNDデータフレームを受信すると、このPNDデータフレーム内のL2-MACアドレスおよびPNDデスティネーションアドレスは、このPNDデータフレームの受信を目的とする仮想スレーブを識別するのに使用される。次に、L2-MACアドレスおよびPNDソースアドレスは、目的とするマスターL2-MACアドレス1111およびPNDアドレス1110と比較され、PNDデータフレームがマスターデバイス1100によって送出されたか否かが確認される。いくつかのシステムでは、スレーブデバイスが、種々のマスターデバイスからフレームを受信することを可能にすることができ、そのため、いくつかの値を容認することができる。
【0091】
仮想PNDスレーブは、リモートPNDマスター1100のIOおよびメモリレジスタをマッピングするために画定されたメモリ区画3114のセットの記述を更に含むことができる。各メモリ区画3114は、ベースアドレス3115と、サイズ3116と、タイプ3117(メモリレジスタ/IO/...)と、本明細書において後に定義されるOPC UAデータセットへのリファレンス3118とを含むことができる。リファレンス3118は、対応するOPC UAデータセットとの間でデータをコピーするのに使用することができる。ベースアドレス3115およびサイズ3116は、PNDフレーム受信時にどのPNDリソースがアドレス指定されるのかを識別するのに使用される。
【0092】
各管理される仮想OPC UAパブリッシャモジュール3120および各管理されるサブスクライバモジュール3130について、ゲートウェイ3000は、PND内のメモリレジスタ3172、3132およびリモートI/O 3123、3133を含むリモートリソースをマッピングする、対応するデータセット3121、3131を記憶する。
【0093】
例えば、メモリレジスタは、nビット値(通常は8ビット、16ビットまたは32ビット)である一方、IOは、ブール(1ビット)である。その結果、メモリ区画に属するデータは、nビット値のアレイ、またはビットマップテーブル(バイトストリームにわたって符号化されたもの)のいずれかである。
【0094】
例えば、メモリレジスタは、OPC-UA整数アレイ(UINT8アレイ、UINT16アレイまたはUINT32アレイ)にわたって単純にマッピングすることができる。OPC-UAブールは、BYTEデータタイプ(8ビット)にわたって符号化されるので、ビットマップをバイトアレイに拡張すること(ビットバンディング操作)が必要とされる場合がある。
【0095】
他のデータ3124をデータセット3121に任意選択で追加することができる。さらに、OPC UAデータセットメタデータ3125、3135を各データセット3121、3131に関連付けることができる。データセットメタデータは、関連するデータセット内に含まれるデータのタイプの記述を提供する。
【0096】
各管理される仮想OPC UAパブリッシャモジュール3120について、ゲートウェイデバイス3000は、仮想OPC UAパブリッシャモジュール3120を、送出されたパブリッシャメッセージのソースであるとして識別する識別子のリストであるライターグループパラメータセットを記憶する。この識別子のリストは、本明細書において後に詳述するが、OPC UA PubSubルールに従って、仮想パブリッシャ識別子3127と、仮想ライターグループ識別子3128と、仮想データセットライター識別子3129とを含む。
【0097】
各管理される仮想OPC UAサブスクライバモジュール3130について、ゲートウェイデバイス3000は、受信サブスクライバメッセージの読み出しをそれらのソースに応じて可能にする識別子のリストであるリーダーグループパラメータセット3136を記憶する。この識別子のリストは、本明細書において後に詳述するが、リモートパブリッシャ識別子3137と、リモートライターグループ識別子3138と、リモートデータセットライター識別子3139とを含む。
【0098】
サブスクライバメッセージをSND2000から受信すると、仮想OPC UAサブスクライバモジュール3130は、受信サブスクライバメッセージのヘッダー内のパブリッシャ識別子およびライターグループ識別子を使用することによって、関連するリーダーグループ3136を識別しなければならない。識別されると、現在使用中の暗号化鍵を関連付けられたセキュリティグループコンテキストにおいて選択することができ、メッセージを解読して認証することができる(MACチェックされる)。次に、サブスクライバメッセージに組み込まれたデータペイロードを、リモートライターグループ識別子3138およびデータセットライター識別子3139に関連付けられたデータセットメタデータ3135に従って復号化することができる。復号化されたデータは、したがって、内部PubSub情報モデル内に転送することができる。
【0099】
ゲートウェイデバイス3000は、1つまたはいくつかのイーサネットTSNネットワークインターフェースを備えることができる。1つのネットワークインターフェースは、異なるプロトコルを有する1つまたはいくつかの産業ネットワークドメインをサポートすることができ、レガシーイーサネットネットワークトラフィックもサポートすることができる。
【0100】
次に
図2および
図3を参照する。
図2および
図3は、ゲートウェイデバイス3000によってサポートされる物理イーサネットTSNインターフェースの数に従ってアドレス指定することができる2つの異なる可能なネットワークトポロジーを示している。
【0101】
図2に示すトポロジーでは、産業ネットワークドメイン1000、2000の双方が単一のLAN上で互いに混合され、同じネットワーククロックを共有する。双方のネットワークドメインは、同じサイクル継続時間も使用する。このトポロジーでは、任意のPNDデバイスまたはOPC UAデバイスを単一のネットワークに接続することができる。例えば、双方の産業ネットワークは、異なるVLANを使用することによって区別される。
【0102】
この例では、1次ネットワークドメイン1000および2次ネットワークドメイン2000は、それらのVLAN-IDによって識別することができる。いくつかの管理局を任意のドメインに配置することができる。全てのデバイスは、イーサネットTSNスイッチ6000によって相互接続することができる。
【0103】
1次ネットワークドメイン(PND)デバイス1200は、デイジーチェーン接続されたトポロジーで接続することもできる(すなわち、2ポートイーサネットカットスルースイッチがデバイス1200内に統合される)。最初の図では、PLC1100は、PND1000内に配置され、PNDスレーブ1200およびOPC UAデバイス2110、2120、2210、2220を制御することができる。ゲートウェイデバイス3000は、PND側ではPND仮想スレーブ3110、3210のセットをエミュレーションし、OPC UA側ではOPC UA仮想パブリッシャ3120、3220またはサブスクライバ3130、3230をエミュレーションする。
【0104】
単一のTSNサイクル(すなわち802.1qbv)が、ネットワーク全体について定義される。可能なサイクル構成は、このサイクルを4つの部分に分割することである。第1の部分は、PNDデータフレーム(すなわちCCリンクIE TSN)に専用化され、第2の部分は、通常のトラフィック(すなわちレガシーイーサネット)に専用化され、第3の部分は、OPC UAフレームに専用化され、最後の部分は、再度、通常のトラフィックに専用化される。通常のトラフィックに専用化された期間を挿入することによって、PNDまたはOPC UAデータフレームの処理および準備のために最も多くの時間をゲートウェイデバイス3000に与えることが可能になる。
【0105】
図3に示すトポロジーでは、産業ネットワークドメイン1000、2000の双方がゲートウェイデバイス3000によって相互接続され、物理的に分離される。双方のドメインが、クロックドメイン(TSNが使用されているときはPTP)を共有することになっている場合には、ゲートウェイデバイス3000はPTPフレームも伝播しなければならないか、または、IEEE802.1ASが使用されているときはトランスペアレントクロックとして動作する。
【0106】
PND側において、デイジーチェーントポロジーが選ばれるとき、1つの好ましい構成は、デイジーチェーンの端部にゲートウェイを接続することである。
【0107】
各ネットワークドメインに1つずつの2つの同期されたサイクルが定義される。これらのサイクル構成は、以前の節において明らかにされた単一ネットワークトポロジーについて定義された構成から得られる。
【0108】
もちろん、総帯域幅は、
図2に示す単一ネットワークトポロジーにおいて利用可能な帯域幅よりも大きい。しかしながら、産業バスに専用化された帯域幅は、PNDフレームおよびOPC UAフレームを処理および準備するのに十分な時間をゲートウェイ3000に与えるために、同一のままでなければならない。
【0109】
ゲートウェイ3000がPND1000とSND2000との間の相互接続を提供することは、データペイロードをPND1000内の物理デバイスからSND2000内の物理デバイスへおよびその逆の方向に送信することができることを意味する。
【0110】
換言すれば、ゲートウェイデバイス3000は、PNDマスターコントローラ1100並びにOPC UA PubSubデバイスおよびモジュール2110、2210、2120、2220との間のメッセージ送信をディスパッチおよびトリガーする機能を含む。
【0111】
念のために、以下では、PNDからSNDへの一方向メッセージ送信のプロセスと、SNDからPNDへの一方向メッセージ送信のプロセスとを個別に説明する。
【0112】
次に
図4を参照する。
図4は、例えば
図1~
図3のいずれかに示すような通信システムの状況において、PND内のマスターデバイス1100からSND2000内の物理OPC UAデバイス2100、2200の物理OPC UAサブスクライバモジュール2110、2210へのデータペイロードの一方向送信を示している。
【0113】
各物理OPC UAサブスクライバ2110について、ゲートウェイデバイス3000は、上述したように産業通信デバイス3100をエミュレーションする(EMUL DEV(S10))。
【0114】
この例において検討される一方向データ送信の状況では、エミュレーションされるデバイス3100の該当モジュールは、以下のものである。
-PNDにわたってメッセージを送受信する機能を含む仮想PNDスレーブ3110、
-パブリッシャメッセージ(OPC UA PubSub DataSetMessage)を構築して送信する機能を含む仮想OPC UAパブリッシャモジュール3120、
-複数のメモリ区画の記述を記憶するのに使用される、ゲートウェイデバイス3000のメモリMEMの一部としての第1のメモリ構造体、および
-エミュレーションされるデバイス3100に専用化されたOPC UA情報モデル3122を記憶するのに使用される、ゲートウェイデバイス3000のメモリMEMの一部としての第2のメモリ構造体。
【0115】
1つ以上の1次メッセージ4000が、PLC1100によって送出され、全てのPNDスレーブデバイス1200に送信される。各1次メッセージ4000は、1次ネットワークドメイン(PND)ソースアドレスとしてマスターアドレス1110を含み、物理スレーブアドレス1210または仮想スレーブアドレス3111、3211とすることができる少なくとも1つの1次ネットワークドメイン(PND)デスティネーションアドレスを更に含む。各1次メッセージ4000は、1次データペイロード(アプリケーションデータ)を更に含む。
【0116】
1つ以上の1次メッセージ4000は、ゲートウェイデバイス3000によっても受信される(REC/PND(S20))。
【0117】
ゲートウェイデバイス3000によって受信されるいずれの着信PNDメッセージも、当該着信PNDメッセージに組み込まれたデスティネーションアドレスに従って、目的とするPND仮想スレーブ3110にディスパッチされる。
【0118】
換言すれば、そのデスティネーションアドレスが仮想スレーブアドレス3111である各1次メッセージ4000は、当該仮想スレーブアドレス3111に関連付けられた仮想PNDスレーブ3110を備えるエミュレーションされるデバイス3100によって処理される。
【0119】
処理は、適用可能なとき、すなわち、1次メッセージに組み込まれた1次データペイロードが暗号化されている場合に、1次データペイロードを解読すること(DECRYP PRIM(S30))を含む。
【0120】
処理は、メモリ区画のセットの記述を使用して、1次データペイロード(または解読する必要があった場合には解読された1次データペイロード)を、OPC UA PubSub仕様に適合したフォーマットに変換すること(CONV PRIM/SEC(S40))、すなわち符号化することを含む。変換された、すなわち符号化された1次データペイロードは、エミュレーションされるデバイス3100のOPC UA情報モデルを記憶するのに使用される第2のメモリ構造体に記憶される。
【0121】
換言すれば、エミュレーションされるデバイス3100の第2のメモリ構造体に記憶されたデータは、エミュレーションされるデバイス3100に専用化された内部OPC UA情報モデル3122に従って、その変換時、すなわち符号化時の1次データペイロードを含むように更新される。
【0122】
それぞれがそれ自身の1次データペイロードを含み、それぞれが同じデスティネーションアドレス3111を有する任意の数の1次メッセージ4000は、所定の時間フレーム内で連続的にまたは同時に受信することができ(REC/PND(S20))、その後、所与の仮想PNDスレーブ3110によって処理することができ、エミュレーションされるデバイス3100の第2のメモリ構造体に記憶されたデータを、1次メッセージに組み込まれた1次データペイロードのそれぞれを含むように更新することができる。
【0123】
1つ以上の1次メッセージが、エミュレーションされるデバイス3100によって処理されると、仮想OPC UAパブリッシャモジュール3120は、第2のメモリ構造体を読み出し、内部OPC UA情報モデル3122に従って仮想OPC UAパブリッシャ識別子3127と各記憶された1次データペイロードとを含むパブリッシャメッセージ4100を生成する(GEN PUB(S50))。
【0124】
一例では、各仮想パブリッシャモジュール3120は、一意の仮想パブリッシャ識別子3127(例えば、16ビットにわたって符号化されたもの)によって識別される。換言すれば、パブリッシャメッセージ4100に組み込まれた仮想パブリッシャ識別子3127は、それ自体単独で、パブリッシャメッセージを準備した仮想パブリッシャモジュール3120を識別することを可能にする。
【0125】
例えば、仮想パブリッシャ識別子3127は、エミュレーションされるデバイス3100によってエミュレーションされる対応する物理デバイスの識別子に設定することができる。例えば、エミュレーションされるデバイスがCCIETスレーブである場合に、仮想パブリッシャ識別子3127は、CCIETスレーブのCCIET識別子(IPアドレスの16ビットLSB)と同一のものとすることができる。
【0126】
OPC UA PubSub通信モデルに固有のルールによれば、パブリッシャメッセージ4100は、以下の追加の要件を有するライターグループ識別子およびデータセットライター識別子を更に含むことができる。
-全てのライターグループ識別子は、所与のパブリッシャ識別子3127について、通信システム内の全てのライターグループにわたって一意でなければならないこと、および
-全てのデータセットライター識別子は、所与のパブリッシャ識別子3127について、通信システム内の全てのデータセットライターにわたって一意でなければならないこと。
【0127】
この例として、OPC UA PubSubルールに従って、仮想パブリッシャモジュール3120ごとに1つのライターグループのみおよび1つのデータセットライターのみが定義され、ライターグループ識別子の値およびデータセットライター識別子の値は、例えば1に設定することができる。ただし、この選択は、アドレス計画がSND2000とPND1000との間で首尾一貫していることを前提としている。
【0128】
一例では、各エミュレーションされるデバイス3100、3200の仮想パブリッシャモジュール3120、3220は、ゲートウェイデバイス3000に関連付けられた同じ仮想パブリッシャ識別子3127によって全て識別される。加えて、各エミュレーションされるデバイス3100、3200の仮想パブリッシャモジュール3120、3220は、PND仮想スレーブアドレスに設定される異なるライターグループ識別子および異なるデータセットライター識別子に関連付けることができる。
【0129】
換言すれば、パブリッシャメッセージ4100に組み込まれた仮想パブリッシャ識別子3127は、それ自体単独では、パブリッシャメッセージ4100を準備した仮想パブリッシャモジュール3120の識別を可能にせず、パブリッシャメッセージ4100が、エミュレーションされるデバイスのパブリッシャモジュールによって準備されたことを示すだけである。しかし、パブリッシャメッセージ4100に組み込まれたライターグループ識別子および/またはデータセットライター識別子も考慮することによって、パブリッシャメッセージ4100を準備した仮想パブリッシャモジュール3120を識別することが可能である。
【0130】
この例では、SND2000およびPND1000の独立したアドレス計画が可能になる。この実施形態によって、2つのドメイン1000、2000におけるデバイス配備をより柔軟にすることが可能になる。
【0131】
通信インターフェースを使用して、生成されたパブリッシャメッセージ4100が、2次ネットワークドメイン(SND)を通じて送信され(TRANS PUB/SND(S60))、少なくとも物理OPC UAデバイス2100の物理サブスクライバモジュール2110によって読み出される。
【0132】
したがって、SND2000内の各OPC-UAデバイス2100、2200を、関連付けられたエミュレーションされるデバイス3100、3200を使用することによって個別にエミュレーションすることで、ゲートウェイは、PND1000内のマスターデバイス1100からSND2000内の目的とするターゲット物理OPC UAデバイス2100、2200へのデータ送信のルーティングを、マスターデバイス1100と、目的とするターゲット物理OPC UAデバイス2100、2200との双方に明確な方法で可能にする。
【0133】
実際、ゲートウェイデバイス3000によって受信される1次メッセージ4000は、PND1000内の物理PNDスレーブデバイス1200によって受信されるメッセージと異ならない。
【0134】
また、生成されたパブリッシャメッセージ4100は、SND2000内の物理OPC UAデバイス2100、2200のパブリッシャモジュール2120、2220が生成することができる他の任意のパブリッシャメッセージと同様に、SND2000内の物理OPC UAデバイス2100、2200のサブスクライバモジュール2110、2210が解釈することができる。
【0135】
次に
図5を参照する。
図5は、例えば
図1~
図3のいずれかに示すような通信システムの状況において、SND2000内の物理OPC UAデバイス2100、2200の物理OPC UAパブリッシャモジュール2210、2220からPND内のマスターデバイス1100へのデータペイロードの一方向送信を示している。
【0136】
各物理OPC UAサブスクライバ2110について、ゲートウェイデバイス3000は、上述したように産業通信デバイス3100をエミュレーションする(EMUL DEV(S10))。
【0137】
この例において検討される一方向データ送信の状況では、エミュレーションされるデバイス3100の該当モジュールは、以下のものである。
-PNDにわたってメッセージを送受信する機能を含む仮想PNDスレーブ3110、
-サブスクライバメッセージ(OPC UA PubSub DataSetMessage)を受信して解釈する機能を含む仮想OPC UAサブスクライバモジュール3130、
-複数のメモリ区画の記述を記憶するのに使用される、ゲートウェイデバイス3000のメモリMEMの一部としての第1のメモリ構造体、および
-エミュレーションされるデバイス3100に専用化されたOPC UA情報モデル3122を記憶するのに使用される、ゲートウェイデバイス3000のメモリMEMの一区画としての第2のメモリ構造体。
【0138】
1つ以上のパブリッシャメッセージが、SND2000内の1つ以上の物理OPC UA産業通信デバイス2100、2200のパブリッシャモジュール2120、2220によって送出される。
【0139】
各送出されたパブリッシャメッセージは、当該メッセージを送出したパブリッシャモジュールに関連付けられたOPC UAパブリッシャ識別子2121、2221を含む。各送出されたパブリッシャメッセージは、2次データペイロード(アプリケーションデータ)を更に含む。
【0140】
送出されたパブリッシャメッセージは、2次サブスクライバメッセージ5000、5100として受信することができ、物理OPC UA産業通信デバイス2100、2200の任意のサブスクライバモジュール2110、2210が解釈することができる。
【0141】
これらの送出されたメッセージは、ゲートウェイデバイス3000によって2次サブスクライバメッセージ5000、5100として更に受信される(REC/SND(S21))。
【0142】
ゲートウェイデバイス3000によって受信された各着信2次サブスクライバメッセージ5000、5100について、
-一方において、このサブスクライバメッセージ5000、5100を送出したパブリッシャモジュール2100、2200に関連付けられたOPC UAパブリッシャ識別子2121、2221、並びに、該当する場合には、関連付けられたライターグループおよびデータセットライター識別子と、
-他方において、リーダーグループパラメータセット3136と、
を比較することによって、リーダーグループが識別される。
【0143】
各着信2次サブスクライバメッセージ5000、5100は、識別されたリーダーグループに基づいて、少なくとも1つの目的とする仮想サブスクライバモジュール3130、3230にディスパッチされる。
【0144】
仮想サブスクライバモジュール3130、3230にディスパッチされた各2次サブスクライバメッセージ5000、5100は、当該仮想サブスクライバモジュール3130、3230を備えるエミュレーションされるデバイス3100、3200を使用して処理され、2次データペイロードが内部OPC UA情報モデルに従って第2のメモリ構造体に記憶される。
【0145】
処理は、適用可能なとき、すなわち、2次サブスクライバメッセージに組み込まれた2次データペイロードが暗号化されている場合に、2次データペイロードを解読することを含む(DECRYP SUB(S31))。
【0146】
処理は、2次データペイロード(または解読される必要があった場合には解読された2次データペイロード)をエミュレーションされるデバイス3100の第2のメモリ構造体内に記憶することを含む。
【0147】
換言すれば、エミュレーションされるデバイス3100の第2のメモリ構造体に記憶されたデータは、内部OPC UA情報モデルに従って、その受信時の2次データペイロードを含むように更新される。
【0148】
それぞれがそれ自身の2次データペイロードを含む任意の数の2次サブスクライバメッセージ5000、5100は、所定の時間フレーム内で連続的にまたは同時に受信することができ(REC/SND(S21))、その後、1つ以上の仮想サブスクライバモジュール3130、3230にディスパッチされてこれらのモジュールによって処理され、エミュレーションされるデバイス3100の第2のメモリ構造体に記憶されたデータを、2次サブスクライバメッセージ5000、5100に組み込まれた2次データペイロードのそれぞれを含むように更新することができる。
【0149】
1つ以上の2次サブスクライバメッセージ5000、5100が、エミュレーションされるデバイス3100によって処理されると、エミュレーションされるデバイス3100の仮想PNDスレーブ3110は、第2のメモリ構造体を読み出し、OPC UA情報モデル内に含まれるデータを、PND1000内のマスターデバイス1100によって解釈可能なフォーマットの符号化されたデータペイロードに変換し(CONV SEC/PRIM(S41))、1次ネットワークドメイン(PND)ソースアドレスとしての仮想PNDスレーブ3110の仮想スレーブアドレス3111と、1次ネットワークドメイン(PND)デスティネーションアドレスとしてのマスターデバイス1100のマスターアドレス1110と、各記憶された2次データペイロードとを含む仮想メッセージ5200を生成する(GEN MSG(S51))。
【0150】
通信インターフェースを使用して、生成された仮想メッセージ5200は、PND1000を通じて送信され(TRANS MSG/PND(S61))、少なくともマスターデバイス1100によって読み出される。
【0151】
マスターデバイス1100によって受信される仮想メッセージ5200は、その構造において、PND1000内の物理PNDスレーブデバイス1200によって送出されるメッセージ4010と異ならず、マスターデバイス1100によって同様に解釈することができる。
【0152】
その上、仮想サブスクライバモジュール3130、3230は、SND2000内の物理OPC UAデバイス2100、2200のサブスクライバモジュール2110、2210と同様に、受信された2次サブスクライバメッセージ5000、5100を解釈する。
【0153】
より一般的には、以前に紹介したように、ゲートウェイデバイス3000は、トランスペアレントモードで動作する。独自の通信プロトコルを使用するPND1000のデバイス1200は、2次ネットワークドメイン2000のOPC UAノード2100、2200が1次ネットワークドメイン1000のデバイス1200であるかのように、それらのノードと通信することになる。例えば、2つのOPC UAサブスクライバ2110、2210は、1次ネットワークドメイン1000のマスターコントローラ1100によってスレーブデバイス1200のようにみなされる。
【0154】
物理OPC UAサブスクライバモジュール2110、2210(2次ネットワークドメイン2000からのもの)が、独自のコントローラ1100からデータを受信したいとき、ゲートウェイデバイス3000は、データをサブスクライバモジュール2110、2210にプッシュする仮想OPC UAパブリッシャモジュール3120、3220を定義する。ゲートウェイデバイス3000は、1次ネットワークドメイン1000のマスターデバイス1100から来るデータをハンドリングする関連付けられた仮想スレーブデバイス3110、3210も定義する。
【0155】
同様に、物理OPC UAパブリッシャモジュール2120、2220(2次ネットワークドメイン2000からのもの)が、独自のコントローラ1100にデータを送信したいとき、ゲートウェイは、OPC UAパブリッシャモジュール2120、2220からデータを受信する仮想OPC UAサブスクライバモジュール3130、3230を定義する。ゲートウェイは、1次ネットワークドメイン1000のマスターデバイス1100から来るデータをハンドリングする関連付けられた仮想スレーブデバイス3110、3210も定義する。
【0156】
ゲートウェイデバイス3000は、物理OPC UAパブリッシャモジュールおよびサブスクライバモジュールと同様に、独自のコントローラとの間で受信/送信されるデータを記憶するいくつかのメモリ構造体3114、3121、3131も定義する。実際、OPC UA仕様は、任意の種類のデータをサポートすることができ、そのため、任意の種類の独自の産業イーサネット通信システムに適合することができる情報モデルを提供する。データマッピングは、デバイスごとに(1対1で)行われ、そのため、アプリケーションレイヤによって操作されるメモリアドレスを変換する必要はない。
【0157】
ゲートウェイは、各ネットワークドメインにおいて定義されたサービスを使用することによって各作成された仮想デバイスのデータパスを適切に確立しなければならない。例えば、TSNが1つのネットワークドメインにおいてリンクレイヤとして使用される場合には、仮想デバイスごとに特定のTSNデータストリームをオープンしてセットアップしなければならない。
【0158】
ゲートウェイによって送信されるメッセージは、管理される仮想デバイスの通信プロトコルを遵守しなければならない。
【0159】
メッセージ送信は、例えば、各ドメインにおいて異なる場合があるネットワーククロックに従ってPND送信機およびSND送信機によってトリガーされる。
【0160】
次に
図6および
図7を参照する。
図6は、ゲートウェイデバイス3000の通信インターフェース上のネットワークトラフィックスケジューリングの一例を示し、
図7は、通信システム内のエンティティ間で交換される例示のデータペイロードを示している。
【0161】
通信インターフェースは、PND1000およびSND2000の双方を混合する1つのネットワークインターフェースを含む。
【0162】
この例では、ネットワークドメインは同期され、単一のサイクル継続時間を使用する。TSNレベルにおいて、各トラフィッククラスの十分なオープン/クローズゲートを定義することによって、いくつかの期間がPNDプロトコルおよびOPC UA PubSubに専用化される。特定のトラフィッククラスが、PNDフレームおよびSNDフレームに専用化される。
【0163】
ゲートウェイデバイス3000は、サイクル内の予約されたOPC UA期間の開始時にOPC UAパブリッシャメッセージの送信を開始する。ゲートウェイデバイス3000は、TSN#0インターフェース上で送信される仮想メッセージについて同じルールを適用する。
【0164】
図6は、各産業ネットワークドメインにおいて交換される異なるフレーム間の関係を示している。
【0165】
PNDマスターデバイス1100(PLC)は、ペイロード4001を含む1つ以上のマルチキャスト1次メッセージ4000を送信する。このペイロード4001は、PLC1100によって制御される各PNDスレーブ1200のサブペイロード4002、4003、4004およびPLC1100によって制御される各仮想PNDスレーブ3110、3210のサブペイロード4005、4006に分解することができる。
【0166】
この例では、PND1000内の3つの物理PNDスレーブE、F、G1200と、ゲートウェイデバイス3000によって管理される2つの仮想スレーブ(AおよびB)とが存在する。
【0167】
ゲートウェイデバイス3000は、仮想スレーブA 3110およびB 3210に関連したサブペイロードを抽出し、抽出されたサブペイロードを、関連付けられたOPC UA情報モデル3122、3222に従って、関連付けられたOPC UA仮想パブリッシャモジュール3120、3220の第2のメモリ構造体に記憶する。そのような処理は、次のOPC UA予約期間の開始前に終了する。
【0168】
その間に、PNDスレーブ1200(この例におけるスレーブE等)は、サブペイロード4012を含むマルチキャストフレーム4010をPLC1100(または物理PNDスレーブ1200または仮想PNDスレーブ3110、3210とすることができる他のPNDスレーブ)に返信することができる。フレームの受信および処理に続いて、ゲートウェイデバイス3000は、OPC UA仮想パブリッシャモジュール3120、3220によって送出されるOPC UAパブリッシャメッセージ4100、4200を準備しなければならない。各パブリッシャメッセージ4100、4200は、仮想パブリッシャモジュール3120、3220にサブスクライブしている少なくとも1つのターゲットサブスクライバモジュール2110、2210を目的とするサブペイロード4105、4206を含む。
【0169】
提案されたPND/OPC UAデバイスマッピングでは、各物理スレーブデバイスは一意のライターグループにリンクされているので、OPC UA仮想パブリッシャモジュール3110、3120ごとに1つのパブリッシャメッセージ4100、4200が送出される。その結果、パブリッシャメッセージ4100、4200は、関連付けられたPNDスレーブ3110、3120のサブペイロードを搬送するPNDメッセージ4000の処理直後に直ちに準備(および任意選択で暗号化)することができる。それらのタスクは、PNDプロトコルとOPC UA期間との間に挿入される通常の期間中に実行することができる。準備されたパブリッシャメッセージ4100、4200は、OPC UA PubSubフレーム用に使用されるトラフィッククラスに専用化されたMACコントローラ送信キュー内に直ちにキューイングすることができる。それらのメッセージは、例えば802.1qbvスケジューリングモデルを適用することによってMACコントローラによって送出され、これは、それらのメッセージがOPC UA PubSubに専用化された期間の開始時に送信されることを意味する。
【0170】
この期間中に、ゲートウェイデバイス3000は、OPC UA仮想サブスクライバモジュール3130、3230がサブスクライブしている物理OPC UAパブリッシャモジュール2120、2220によって送出された2次サブスクライバメッセージ5000、5100を受信することができる。2次サブスクライバメッセージ5000、5100は、その2次データペイロードがマスターデバイス1100に送信されるように意図されているそれぞれサブペイロード5007、5008を含む。
【0171】
2次サブスクライバメッセージ5000、5100は、ゲートウェイデバイス3000によって直ちに処理され、対応するデータセットは、搬送されたデータを用いて更新される。OPC UA仮想サブスクライバモジュールとPND仮想スレーブとの間の1:1マッピングによって、PND仮想スレーブ3110、3210に関連付けられたサブペイロード部分5207、5208を準備することが可能である。このサブペイロード部分は、次の周期的PND期間中にゲートウェイデバイス3000によって送出される単一の仮想メッセージ5200に挿入される。
【0172】
OPC UA仮想パブリッシャメッセージ4100、4200(DataSetMessage)の送出は、ネットワーククロック(例えばPTPハードウェアクロック)によって制御されるタイマーによってトリガーすることができる。
【0173】
第1の例では、単一のタイマーをサイクル開始からの固定オフセットとして定義することができ、満了すると、ゲートウェイは、パブリッシャ識別子およびライターグループ識別子の各管理される対のパブリッシャメッセージ4100、4200のセット全体を生成する。
【0174】
第2の例では、PND1000およびSND2000が同期されているとき、PND1000から受信されるメッセージの処理は、情報モデルにおける関連データが更新されると直ちに、OPC UAパブリッシャメッセージの構築をトリガーする。第1に、この方法は、メッセージの生成がサイクル全体にわたって拡散されるので、より高速のメッセージ生成を可能にする。第2に、OPC UAメッセージは、対応するパブリッシャメッセージ4100、4200内に含まれるデータを搬送するPND1000から来る最後のメッセージ4000の受信直後に準備されるので、ネットワーククロックによってトリガーされるタイマーを定義することが厳密には必要とされない。
【0175】
同様に、生成された仮想メッセージ5200の1次ネットワークドメイン1000(PND)を通じたマスターデバイス1100への送出は、ネットワーククロックによって制御されるタイマーによってトリガーすることができる。第1の例では、単一のタイマーをサイクル開始からの固定オフセットとして定義することができ、満了すると、ゲートウェイ3000は、各管理される仮想スレーブモジュール3110、3210において仮想メッセージ5200のセット全体を生成する。第2の例では、PND1000およびSND2000が同期されているとき、SND2000から受信されるメッセージの処理は、各仮想スレーブモジュール3110による仮想メッセージ5200の構築を、当該仮想スレーブモジュール3110を備えるエミュレーションされるデバイス3100の情報モデル3122における関連データが更新されると直ちにトリガーする。