(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-05
(45)【発行日】2024-06-13
(54)【発明の名称】ノードデータを転送するための集約サーバおよび方法
(51)【国際特許分類】
G05B 19/05 20060101AFI20240606BHJP
H04L 67/12 20220101ALI20240606BHJP
H04L 67/563 20220101ALI20240606BHJP
H04L 67/567 20220101ALI20240606BHJP
【FI】
G05B19/05 S
H04L67/12
H04L67/563
H04L67/567
(21)【出願番号】P 2021559866
(86)(22)【出願日】2020-04-09
(86)【国際出願番号】 EP2020060202
(87)【国際公開番号】W WO2020208161
(87)【国際公開日】2020-10-15
【審査請求日】2021-12-01
(32)【優先日】2019-04-10
(33)【優先権主張国・地域又は機関】EP
【前置審査】
(73)【特許権者】
【識別番号】505056845
【氏名又は名称】アーベーベー・シュバイツ・アーゲー
【氏名又は名称原語表記】ABB Schweiz AG
【住所又は居所原語表記】Bruggerstrasse 66, 5400 Baden, Switzerland
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】フローデ・クロショイ
(72)【発明者】
【氏名】ローラント・ブラウン
【審査官】松本 泰典
(56)【参考文献】
【文献】米国特許出願公開第2007/0067458(US,A1)
【文献】米国特許出願公開第2013/0212160(US,A1)
【文献】米国特許出願公開第2018/0309831(US,A1)
【文献】特開2017-120671(JP,A)
【文献】米国特許第7912902(US,B2)
【文献】米国特許出願公開第2015/0033365(US,A1)
【文献】特開2018-106688(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/05
H04L 67/00
(57)【特許請求の範囲】
【請求項1】
集約されたアドレス空間(120)の制御ロジック(104)と第1および第2のプロキシノード(112,114)とを備えた集約サーバ(100)であって、前記集約サーバ(100)は、オープン・プラットフォーム・コミュニケーション・ユニファイド・アーキテクチャ OPC UA集約サーバ(100)であり、
前記第1のプロキシノード(112)が、集約されたサーバ(122)の遠隔アドレス空間(124)の第1のノード(116)に対応し、前記第2のプロキシノード(114)が、前記集約されたサーバ(122)の前記遠隔アドレス空間(124)の第2のノード(118)に対応し、
前記制御ロジックが、入/出力関係に従って、前記第1のプロキシノード(112)および第2のプロキシノード(114)を介して、遠隔アドレス空間(124)の前記第1のノード(116)から前記遠隔アドレス空間(124)の第2のノード(118)にノードデータを転送するように構成され、
前記第1のプロキシノード(112)および前記第2のプロキシノード(114)がメタ情報を含み、
前記メタ情報が、データの読み取り権限または書き込み権限を記述し、
インターフェースノードおよびプロキシノードの間の前記入/出力関係が、プロキシノードデータの前記読み取り権限または前記書き込み権限によって定義され、前記第1のプロキシノード(112)のメタ情報が、前記第1のプロキシノードのデータの読み取り権限を記述し、前記第2のプロキシノード(114)のメタ情報が、前記第2のプロキシノードのデータの書き込み権限を記述し、
集約アドレス空間(120)の参照が、前記第1のプロキシノード(112)と前記第2のプロキシノード(114)の間の関係を定義し、
前記第1のプロキシノード(112)が、第1のインターフェースノード(106)と前記第1のプロキシノード(112)の間の前記入/出力関係と、前記参照とに従って転送されるノードデータの転送ソースとして定義され、前記第2のプロキシノード(114)が、第2のインターフェースノード(108)と前記第2のプロキシノード(114)の間の前記入/出力関係と、前記参照とに従って転送されるノードデータの転送ターゲットとして定義される、集約サーバ(100)。
【請求項2】
前記制御ロジック(102)が、制御ロジックノード(104)を備え、前記制御ロジックノード(104)が、第1のインターフェースノード(106)を介して前記第1のプロキシノード(112)から前記ノードデータを受信し、入/出力関係に従って前記第2のプロキシノード(114)に前記ノードデータを転送するように構成される、請求項1に記載の集約サーバ(100)。
【請求項3】
前記制御ロジック(102)はさらに同期モジュールを備え、
前記同期モジュールは、前記転送するステップが実行される前に、前記遠隔アドレス空間(124)の第1のノード(116)の前記ノードデータと、前記第1のプロキシノード(112)の前記ノードデータを同期し、前記転送するステップが実行されるときに、前記ノードデータを前記第2のプロキシノード(114)および前記第2のノード(118)に提供するように構成される、請求項1または2に記載の集約サーバ(100)。
【請求項4】
前記集約サーバ(100)はさらに、入出力設定ファイルを備え、
前記入出力設定ファイル(110)は、前記第1のプロキシノード(112)および前記第2のプロキシノード(114)のデータタイプ定義、および/または参照を備え、
前記制御ロジックはさらに、前記入出力設定ファイル(110)を読み取り、ファイルデータに従って前記第1のノード(116)から前記第2のノード(118)に前記ノードデータを転送するように構成される、請求項1~3のいずれか一項に記載の集約サーバ(100)。
【請求項5】
遠隔アドレス空間(124)の第1のノード(116)のノードデータを遠隔アドレス空間(124)の第2のノード(118)に転送する方法(200)であって、
S1:前記第1のノード(116)および前記第2のノード(118)のノードデータを、オープン・プラットフォーム・コミュニケーション・ユニファイド・アーキテクチャ OPC UA集約サーバ(100)によって集約するステップ(210)と、
S2:前記第1のノード(116)のノードデータを含む第1のプロキシノード(112)と、前記第2のノード(118)のノードデータを含む第2のプロキシノード(114)とを、前記OPC UA集約サーバ(100)によって作成するステップ(220)と、
S3:前記第1のプロキシノード(112)と第1のインターフェースノード(106)の間の前記第1のプロキシノード(112)に含まれる入/出力関係に従って、前記OPC UA集約サーバ(100)によって前記第1のインターフェースノード(106)において前記第1のプロキシノード(112)からノードデータを受信するステップ(230)と、
S4:前記第1のインターフェースノード(106)の前記ノードデータを第2のインターフェースノード(108)に、前記OPC UA集約サーバ(100)によって提供するステップ(240)と、
S5:前記第2のインターフェースノード(108)および前記第2のプロキシノード(114)の間の前記入/出力関係と、前記第1のプロキシノード(112)および前記第2のプロキシノード(114)の間の関係を定義する集約アドレス空間(120)の参照とに従って、前記第1のインターフェースノード(106)の前記ノードデータを、前記第1のプロキシノード(112)および前記第2のプロキシノード(114)を介して前記遠隔アドレス空間(124)の前記第2のノード(118)に、前記OPC UA集約サーバ(100)によって転送するステップ(250)と
を備え、
ステップS2である、前記第1のノード(116)のノードデータを含む第1のプロキシノード(112)と、前記第2のノード(118)のノードデータを含む第2のプロキシノード(114)とを、前記OPC UA集約サーバ(100)によって作成するステップが、
S2a:参照情報を読み取ることによって、前記第1のプロキシノード(112)および前記第2のプロキシノード(114)の間の関係を決定するステップ(222)と、
S2b:第1のプロキシノード(112)のメタ情報を読み取って評価することによって、前記入/出力関係を決定するステップであって、前記第1のプロキシノードの前記メタ情報が読み取り権限を記述する、ステップ(224)と、
S2c:第2のプロキシノード(114)のメタ情報を読み取って評価することによって、前記入/出力関係を決定するステップであって、前記第2のプロキシノードの前記メタ情報が書き込み権限を記述する、ステップ(226)と、を備える、方法(200)。
【請求項6】
ステップS3である、前記第1のプロキシノード(112)と第1のインターフェースノード(106)の間の前記第1のプロキシノード(112)に含まれる入/出力関係に従って、前記OPC UA集約サーバ(100)によって前記第1のインターフェースノード(106)において前記第1のプロキシノード(112)からノードデータを受信するステップ(230)が、
S3a:前記第1のノード(116)においてデータ変更を検出するステップ(232)であって、前記データ変更の検出時に、
S3b:前記第1のノード(116)を前記第1のプロキシノード(112)と同期するステップ(234)と、前記第1のプロキシノード(112)と前記第1のインターフェースノード(106)の間の前記第1のプロキシノード(112)に含まれる入/出力関係に従って、前記OPC UA集約サーバ(100)によって、第1のインターフェースノード(106)において前記第1のプロキシノード(112)からノードデータを受信すること(230)をトリガするステップを実行する、
請求項
5に記載の方法(200)。
【請求項7】
制御ロジック(102)によって実行されると、オープン・プラットフォーム・コミュニケーション・ユニファイド・アーキテクチャ OPC UA集約サーバ(100)に請求項
5のステップS2~S5を実行することを命令するコンピュータプログラム要素。
【請求項8】
請求項
7に記載のプログラム要素が格納されたコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、遠隔アクセス空間の第1のノードのノードデータを遠隔アクセス空間の第2のノードに転送するための、オープン・プラットフォーム・コミュニケーション・ユニファイド・アーキテクチャ(OPC UA)の集約サーバ、コントローラ、方法、コンピュータプログラム要素、およびコンピュータ可読媒体に関する。
【背景技術】
【0002】
OPC UAは、様々なメーカーの様々なデバイスからのオンラインデータの通信を定義する標準仕様である。将来の分散制御システム(DCS)は、OPC UA接続のデバイス上で実行されるであろう。OPC UAは、プラットフォームに依存せず、サービス指向のクライアント-サーバ型のアーキテクチャであり、制御値、測定値、およびパラメータとしてマシンデータを転送し、マシンデータを意味的に記述する。
【発明の概要】
【発明が解決しようとする課題】
【0003】
UAサーバは、センサデータなどの情報をデバイスから受信して公開する。UAサーバは、情報の検出方法と分類方法を定義する情報モデルをサポートする。この情報の表現は、サーバのアドレス空間と呼ばれる。UAクライアントは、UAサーバと接続するアプリケーションである。クライアントを使用して、例えば、サーバのアドレス空間から情報を見つけ、サーバデータを読み取りおよび書き込み、データ変更などの一定の変更や警告などのイベントを購読し、サーバメソッドを呼び出す。クライアントとサーバ間の通信は、サービスによって処理される。アドレス空間は、UAサーバが公開する情報の実際の表現である。アドレス空間はノードおよび参照によって形成され、UAクライアントによって探索および表示され得る。ノードは、オブジェクト指向プログラミング言語のオブジェクトに比較され得る。ノードは、属性、メソッド、およびイベントを含む。属性は、読み取り可能な値を有し、メソッドはコマンドによって呼び出され、イベントはデバイス間で一定の情報を交換するために送信され得る。イベントは、例えば、データ変更において発生する、警告や状態である。イベントは、受信タイムスタンプ、メッセージ、および重大度を含む。参照は、ノードを互いに関連付けるために使用され、属性は、ノードを記述するために使用される。情報モデルはノードに基づく。
【0004】
OPC-UAシステムは、集約アーキテクチャに従って組織化され得る。集約アーキテクチャは、集約されたサーバおよび集約サーバを含み、本開示では集約サーバとも呼ばれる。
【0005】
集約されたサーバは、自動システムのエンティティを表す。これらは、単一のコンポーネント(例えば、フィールドデバイス)または構成要素のセットからなるサブシステム、自動システムの一部または自動システム全体のいずれかを表し得る基盤となるサーバである。集約されたサーバによって作成および管理されるノードは、遠隔アドレス空間を形成する。遠隔アドレス空間に対応するものは、集約サーバのノードによって形成された集約されたアドレス空間である。
【0006】
集約サーバは集約アーキテクチャのコアである。集約サーバは、OPC UAサービスを介して基盤となるサーバに接続し、それらのタイプ、インスタンス、および構造情報を集約する。したがって、単一のサーバを使用して、複数の他のサーバに接続でき、統一された方法で複数の他のサーバの情報を表すことができる。このようにして、サーバに接続しているクライアントは、単一のソースから複数のサーバのデータにアクセスできる。
【0007】
集約サーバにおいて集約されたノードは、集約されたサーバの遠隔ノードの像である。本開示では、これらのノードを「プロキシノード」とも呼ぶ。
【0008】
集約ノードマネージャは、集約サーバのアドレス空間のノードを管理する中央シングルトンである。OPC UAクライアントは、集約されたサーバに接続し、集約されたサーバのアドレス空間のノードにアクセスするための機能を提供する。集約ノードマネージャは、基板となるサーバ毎に1つのOPC UAクライアントを作成し、次いで、それぞれのクライアントの助けを借りて各基盤となるサーバを閲覧する。ノードマネージャは、全ての要求(読み取り、書き込み、購読など)を転送する。
【0009】
特に、十分にまたは完全に自動化された処理を実現するために、第1のノードに含まれたノードデータは、別のノードによって必要とされることがある。例えば、センサによって収集された測定値は、アクチュエータのコントローラに提供される必要がある。OPC UAサーバの従来のシステムでは、OPC UAクライアントは、OPC UAサーバ間のデータ交換を駆動する必要があった。現在知られているような集約サーバは単純に、接続されたOPC UAクライアントから任意の集約されたサーバにサービス要求を転送する。
【0010】
クライアントの関与なしに、およびサービス要求を転送する必要なしに、集約されたサーバ間で短い方法でデータを交換し、高速で経済的なデータ交換が実現することが望まれる場合がある。
【課題を解決するための手段】
【0011】
この課題は独立請求項の主題により解決される。実施形態は、従属請求項、以降の説明、および添付の図面により提供される。
【0012】
説明される実施形態は、同様に、集約サーバ、コントローラ、ノードデータを転送するための方法、コンピュータプログラム要素、およびコンピュータ可読媒体に関係する。相乗効果は、詳細に説明されていないかもしれないが、実施形態の様々な組み合わせから生じ得る。
【0013】
さらに、方法に関する本発明のすべての実施形態は、記載されたステップの順序で実行され得るが、それでも、これが方法の唯一かつ本質的なステップの順序である必要はないことに留意されたい。本明細書で提示される方法は、本明細書に反対に明示的に言及されない限り、それぞれの方法の実施形態から逸脱することなく、開示されたステップの別の順序で実行することができる。
【0014】
技術的な用語は、常識的に使用される。特定の意味が特定の用語に伝えられる場合、用語の定義は、以降ではその用語が使用される文脈で示されるであろう。
【0015】
一態様では、集約サーバが提供される。集約サーバは、集約されたアドレス空間に制御ロジックとプロキシノードを備える。第1のプロキシノードは、集約されたサーバの遠隔アドレス空間の第1のノードに対応し、第2のプロキシノードは、集約されたサーバの遠隔アクセス空間の第2のノードに対応する。制御ロジックは、入/出力関係に従って、第1のプロキシノードを介しておよびさらに第2のプロキシノードを介して、遠隔の空間の第1のノードからのノードデータを遠隔の空間の第2のノードに転送するように構成される。
【0016】
換言すれば、集約サーバは、遠隔アドレス空間の集約されたサーバの第1のノードのノードデータを、遠隔アドレス空間の同じまたは別の集約されたサーバの第2のノードに転送する、ロジック制御されたデータ転送処理を実行するように構成されている。転送は制御ロジックによって実行され、遠隔アドレス空間の第1のノードの像である第1のプロキシノードからノードデータを受け取り、該データを第2のプロキシノード、つまり遠隔アクセス空間の第2のノードに提供する。制御ロジックは、集約サーバのアドレス空間に表される、すなわち統合されている。制御ロジックは、集約サーバのアドレス空間内にプログラムされている。
【0017】
実施形態では、制御ロジックは、第1のインターフェースノードを介して第1のプロキシノードからノードデータを受け取り、入/出力関係に従って第2のプロキシノードにノードデータを転送するように構成された、制御ロジックノードを備える。
【0018】
したがって、特定の制御ノードは、転送されるべきノードデータを受信および送信するためのサービスを提供またはサポートできる。制御ロジックノードはさらに、転送されるノードデータを処理するための情報を提供し、制御ロジックは、制御ロジック内に実装されたルーチンまたは外部のルーチンのいずれかによってそのデータを処理するためのルーチンを提供し、制御ロジックは、ルーチンを呼び出すためのインターフェースを提供する。例えば、転送されるべきノードデータはフィルタリングされ、転送前に、平均化された値、平滑化された値、または物理単位に関して単位変換された値を得る。
【0019】
実施形態では、同期モジュールをさらに備える。制御ロジックは、転送が実行される前に遠隔アドレス空間の第1のノードのノードデータと、第1のプロキシノードのノードデータを同期し、転送が実行されるときに該ノードデータを第2のプロキシノードに提供するように構成される。
【0020】
OPC UAでは、集約されたサーバのノードのデータ変更は、クライアントがノードに対して購読しているとき、集約サーバによって監視されている。データ変更に気づくと、集約サーバはまず、遠隔アドレス空間のノードを、それに対応するプロキシノードと同期し、次いで、最新のノードデータを、制御ロジックを介して第2のプロキシノードおよび、第2のプロキシノードに対応する遠隔アドレス空間のノードに転送する。したがって、集約サーバは、遠隔アドレス空間のノードのプロキシである、集約されたアドレス空間のノードを知っているので、集約サーバは、遠隔のアドレス空間のそれぞれ対応するものと、プロキシノードを同期することができる。
【0021】
実施形態では、第1のプロキシノードおよび第2のプロキシノードがデータタイプ定義を有し、データタイプは、読み取りまたは書き込みであり、インターフェースノードとプロキシノードの間の入/出力関係は、プロキシノードデータの読み取りデータタイプまたは書き込みデータタイプによって定義され、第1のプロキシノードのデータタイプが読み取りデータタイプであり、第2のプロキシノードのデータタイプが書き込みデータタイプであり、集約アドレス空間の参照が、第1のプロキシノードと第2のプロキシノードの間の関係を定義し、第1のプロキシノードが、第1のインターフェースノードおよび第1のプロキシノードの間の入/出力関係と、参照とにしたがって転送されるべきノードデータの転送ソースとして定義され、第2のプロキシノードが、第2のインターフェースノードおよび第2のプロキシノードの間の入/出力関係と、参照とにしたがって転送されるべきノードデータの転送ターゲットとして定義される。
【0022】
したがって、データタイプ定義は、データが、インターフェースノードによって読み取られる必要があり、したがってデータがインターフェースノードのための入力データであるか、あるいは、データがプロキシノードに書き込まれる必要があり、転送されるデータがインターフェースノードからの出力データであるかを定義する。したがって、データタイプは、インターフェースノードとプロキシノードの間の関係を定義する。参照を使用して、第1のプロキシノードなどのプロキシノードを、例えば第2のプロキシノードなどの他のプロキシノードに関連付ける。したがって、参照は、どのプロキシノードが互いに関連しているかという情報を提供し、データタイプは、どのように、つまり、それらが互いにどの方向に接続されているかという情報を提供する。有利なことに、ノードデータを転送するためにノードを互い接続する参照に対して、正確に1つの読み取りデータタイプおよび1つまたは複数の書き込みデータタイプが許可される。
【0023】
したがって、プロキシノードとインターフェースノードの間の設定可能な入力関係と出力関係により、ノードデータを柔軟に転送できる。インターフェースノードは、プロキシノードに対する関係を反映した、変数および属性を有し、設定に応じて、プロキシノードからデータを受信するための方法、またはプロキシノードにデータを送信するための方法を有する。代わりに、制御ロジックがインターフェースノードデータを使用し、転送されるべきデータを受信および送信するための方法を提供する。各プロキシノードに対して、入力インターフェースノードおよび出力インターフェースノードが存在し得る。入力インターフェースノードを第1のプロキシノードに割り当て、対応する同期された出力インターフェースノードを第2のプロキシノードに割り当てることにより、第1のプロキシノードと第2のプロキシノードの間の関係ができる。それによって、「同期された」という用語は、このインターフェースノードの入力で受信したデータが対応する出力インターフェースノードに提供されることを意味する。したがって、別のプロキシノードがこの出力インターフェースノードに割り当てられ、その結果、第1のノードとプロキシノードのデータがそれぞれ、第2のプロキシノードおよび別のプロキシノードの両方に転送される。
【0024】
実施形態では、集約サーバはさらに、入/出力設定ファイルを有する。入出力設定ファイルは、第1のプロキシノードと第1のインターフェースノードの間の入力関係と、第2のインターフェースノードと第2のプロキシノードの間に出力関係を有する。制御ロジックは、入/出力設定ファイルから入力関係および出力関係を読み取り、入力関係および出力関係に従って、ノードデータを第1のノードから第2のノードに転送するように構成される。代わりに、コンソールが、制御ロジックに接続され、ファイルが、制御ロジックにコンソールを介してファイルを送信することによって提供されるか、設定がコンソールを介して直接変更され得る。コンソールは、集約サーバに接続されたクライアントのコンソールであってよい。
【0025】
したがって、ファイルに記述された入/出力関係は、ファイルがプロキシノードとインターフェースノードの間の関係を記述しているので、集約サーバに、プロキシノード間の値を同期する方法を指示する。
【0026】
実施形態では、集約サーバは、OPC UA集約サーバである。OPC UA集約サーバは、さらに別のOPC UAサーバを集約するように構成され、集約のためのサービスを提供するように構成されたOPC UAサーバであり、集約されたアドレス空間を作成し、集約されるノードのためにさらに別のOPC UAサーバを閲覧し、接続されたクライアントのために集約されたアドレス空間上の統合されたビューを提供し、集約されたアドレス空間の間のノードデータを転送および同期し、遠隔アドレス空間からの値およびイベントを監視するように構成される。
【0027】
ある態様では、集約サーバのコントローラが提供される。コントローラは、制御ロジックノード、第1のインターフェースノード、および第2のインターフェースノードを備え、第1のインターフェースノードが、第1のプロキシノードに割り当てられ、第2のインターフェースノードが、第2のプロキシノードに割り当てされ、制御ロジックノードが、第1のインターフェースノードおよび第1のプロキシノードの間の入/出力関係と、第2のインターフェースノードおよび第2のプロキシノードの間の入/出力関係とに従って、第1のプロキシノードから第2のプロキシノードにノードデータを転送するように構成される。コントローラは、専用のハードウェアまたはファームウェアであってよく、あるいは、ハードウェアロジック、コントローラ、またはプロセッサ上で実行されるソフトウェアの一部または全部であってよい。インターフェースノードおよびプロキシノードは、例えば、読み取りまたは書き込みのためのルーチンが適用される、メモリ内の変数またはデータアイテム、属性、メタ情報を含むデータオブジェクトとみなすことができる。属性およびメタデータ情報は、特に変数または値の意味、値が読み取られる必要があるか書き込まれる必要があるかなどの変数を記述する。プロキシノード変数の読み取り/書き込み権限は、割り当てられた、つまり接続されたインターフェースノードが入力インターフェースノードであるか出力インターフェースノードであるかを定義する。一般に、ノード、またはより正確にはノードが保持されるハードウェアは、空間的に分散されたハードウェアであることができる。
【0028】
一例では、第1のプロキシノードおよび第2のプロキシノードの間の論理接続および第1の入力ノードと第2の入力ノードの間の論理接続は、参照によって定義される。参照は、第1のプロキシノードおよび第2のプロキシノードに格納されている。代替的に、参照は、参照ノードに格納されるか、あるいは設定ファイルから読み取られる。したがって、コントローラはソースおよび1つまたは複数の宛先を識別する全ての情報を有する。次いで、コントローラは、変数の値など、第1のプロキシノードのノードデータを、第2のプロキシノードに転送できる。好ましくは、厳密には、読み取り権限を有する変数を有するプロキシノードに接続された1つの入力インターフェースノードと、書き込み権限を有する変数を有するそれぞれのプロキシノードに各々が接続された1つまたは複数の出力ノードが存在する。
【0029】
ある態様では、遠隔アドレス空間の第1のノードのノードデータを遠隔アドレス空間の第2のノードに転送する方法が提供される。方法は、以下のステップを含む。
S1:第1のノードと第2のノードのノードデータを集約サーバによって集約する。
S2:第1のノードのノードデータを有する第1のプロキシノードと、第2のノードのノードデータを有する第2のプロキシノードとを、集約サーバによって作成する。
S3:第1のプロキシノードと第1のインターフェースノードの間の、第1のプロキシノードに含まれた入/出力関係に従って、第1のインターフェースノードにおいて第1のプロキシノードからノードデータを、集約サーバによって受信する。
S4:第1のインターフェースノードのノードデータを第2のインターフェースノードに、集約サーバによって提供する。S5:第2のインターフェースノードと第2のプロキシノードの間の入/出力関係と、第1のプロキシノードと第2のプロキシノードの間の関係を定義する参照とに従って、第1のインターフェースノードのノードデータを第2のプロキシノードおよび第2のノードに、集約サーバによって転送する。
【0030】
実施形態では、ステップS2、すなわち、第1のノードのノードデータを有する第1のプロキシノードと、第2のノードのノードデータを有する第2のプロキシノードとを、集約サーバによって作成するステップにおいて、方法はさらに、S2a:参照情報を読み取ることによって第1のプロキシノードと第2のプロキシノードの間の関係を決定するステップと、S2b:第1のプロキシノードの、読み取り権限を記述するメタ情報を読み取って評価することによって入/出力関係を決定するステップと、S2c:第2のプロキシノードの、書き込み権限を記述するメタ情報を読み取って評価することによって入/出力関係を決定するステップとを含む。
【0031】
実施形態では、ステップS3、すなわち、第1のプロキシノードと第1のインターフェースノードの間の第1のプロキシノードに含まれた入/出力関係に従って、第1のインターフェースノードにおいて第1のプロキシノードからノードデータを集約サーバによって受信するステップは、S3a:第1のノードにおいてデータ変更を検出し、データ変更の検出時に、S3b:第1のノードを第1のプロキシノードに同期し、第1のプロキシノードと第1のインターフェースノードの間の、第1のプロキシノードに含まれる入/出力関係に従って、第1のインターフェースノードにおいて第1のプロキシノードからノードデータを受信することを、集約サーバによってトリガするステップを含む。
【0032】
ある態様では、コンピュータプログラム要素が提供され、制御ロジックによって実行されると、上述の集約サーバまたはOPC UA集約サーバなどの集約サーバに、上述のステップS2からS5を実行するよう命令する。コンピュータプログラム要素は、コンピュータプログラムの一部であっても、それ自身がプログラム全体であってもよい。例えば、コンピュータプログラム要素を使用して、既存のコンピュータプログラムを更新して本発明に到達するようにできる。
【0033】
ある態様では、コンピュータ可読媒体が提供され、請求項10に記載のプログラム要素が格納される。コンピュータ可読媒体は、例えば、USBスティック、CD、DVD、データストレージデバイス、ハードディスク、あるいは、上述のプログラム要素が格納され得る任意の他の媒体などのストレージ媒体であってよい。
【0034】
本発明のこれらのおよび他の特徴、態様、および利点は、添付の図面および以降の詳細な説明を参照しながらより良く理解されることになろう。
【図面の簡単な説明】
【0035】
【
図1】実施形態による集約サーバおよびコントローラのブロック図である。
【
図2】実施形態によるノードデータを転送する方法の流れ図である。
【発明を実施するための形態】
【0036】
図1は、集約されたアドレス空間120の制御ロジック102およびプロキシノード112を備える集約サーバ100のブロック図を示す。第1のプロキシノード112は、集約されたサーバ122の遠隔アドレス空間124の第1のノード116に対応し、第2のプロキシノード114が、集約されたサーバ122の遠隔アドレス空間124の第2のノード118に対応する。制御ロジック102は、制御ロジックノード104を備え、制御ロジックノード104は、第1のプロキシノード112および第2のプロキシノード114を介して、遠隔空間124の第1のノード116からのノードデータを、入/出力関係に従って遠隔空間124の第2のノード118に転送するように構成される。
【0037】
その開始段階中に、集約サーバ100は、他の集約されたOPC UAサーバの任意のアドレス空間の統合像を作成する。その結果が、遠隔の他のサーバから全てのノードを表す集約されたアドレス空間120である。開始段階の最後に、集約サーバ100はデータファイルを使用して、データ伝搬および制御ロジック102を構成する。このデータファイルは、集約されたアドレス空間120のノードと、集約されたアドレス空間120内の制御ロジック102を表すノードとの間の入/出力関係を記述する。制御ロジック102を表すノードは、制御ロジック102を表す単一のノードと、制御ロジックインターフェースノードの入力(1...n)106および出力(1...n)108を表すノードとからなる。集約サーバ100は、集約されたアドレス空間120のノードが、遠隔のアドレス空間124のノードのプロキシであることを知っている。集約サーバ100は、プロキシノードを、遠隔のアドレス空間のそれぞれの相手と同期できる。ファイルに記述された入/出力関係により、集約サーバ100は、ファイルがプロキシノードとインターフェースノードの間の関係(例えば、
図1のIFノード2とプロキシノード1の関係)を記述するので、プロキシノード間の値を同期する方法がわかる。集約ベースのデータ同期およびデータ転送ベースの同期の組み合わせにより、あるサーバから、その間に制御ロジックを含む別のサーバにデータ変更を転送できる。制御ロジック102の実行が、入力側のデータ変更によってトリガされる。購読により、集約サーバ100は入力側のデータ変更を検出できる。単一のロジック機能が他の入力に接続されている場合、集約サーバ100は、プロキシノードを介して遠隔から現在の値を読み取ることによって現在の値をリフレッシュする。集約サーバ100は、最新の対応入力データ像を使用してプログラムされたロジック動作を実行し、構成された入/出力関係に沿って伝搬される出力データを生成する。集約サーバ100は、計算結果を、プロキシノードを介して遠隔のノードに転送する。
【0038】
したがって、クライアントがサービスを転送する代わりに、制御ロジック102のロジック動作が、高速かつ効率的な方法でノードデータを転送する。
【0039】
図1はさらに、第3のインターフェースノード134、第3のプロキシノード126、および遠隔空間124の集約されたサーバ132の第3のノード128を示し、第2のノード118について記述したのと同様に転送ステップが適用され得る。
【0040】
図2は、遠隔アドレス空間124の第1のノード116のノードデータを、遠隔アドレス空間124の第2のノード118に転送するための方法200を示す。方法は、以下のステップを含む。
【0041】
S1:第1のノード116および第2のノード118のノードデータを、集約サーバ100によって集約する210。このステップは、システムの開始の間に実行される。第1のノードは、そのデータが転送されることになるソースノードである。例えば、第1のノードは、マシンコントローラのアクチュエータに提供されるべきセンサ測定データを格納してよく、あるいは第1のノードは、補正変数の値であってよく、第2のノードが、バルブを制御するローカル入力の補正変数を表す。集約時に、遠隔アドレス空間が、第1のステップにおいて閲覧またはスキャンされ、第2のステップS2において、プロキシノードが、集約サーバ100のアドレス空間200に作成される。したがって、S2は、以下を含む。
【0042】
S2:第1のノード116のノードデータを有する第1のプロキシノード112と、第2のノード118のノードデータを有する第2のプロキシノード114とを、集約サーバ100によって作成する220。プロキシノードは、遠隔アドレス空間のノードのコピーであってよく、あるいは、同一のデータを含むが、別の方法で表されてもよい。例えば、検出されたノードはグループ化されてよく、あるいは、自身のタイプ、インスタンス、および構造情報に従って表され得る。さらに別の例として、物理値の単位がユニット化されてよい。
【0043】
ステップ2は、ステップS2a:参照情報を読み取ることによって、第1のプロキシノード112と第2のプロキシノード114の間の関係を決定するステップ222を含む。参照情報は、第1のプロキシノードおよび第2のプロキシノードに格納されてよい。代替的に、参照は、参照ノードに格納されるか、あるいは設定ファイルから読み取られる。
【0044】
入/出力関係に関する情報がノードに格納されてよく、あるいは、入/出力関係が読み取られ、第1のプロキシノード112および第2のプロキシノード114に格納され得る設定ファイルに構成されてもよい。したがって、ステップS2bは、第1のプロキシノード112の、読み取り権限を記述するメタ情報を読み取って評価することによって入/出力関係を決定するステップ224を含む。対応して、ステップS2cは、第2のプロキシノードの、書き込み権限を記述するメタ情報を読み取って評価することによって入/出力関係を決定するステップ226を含む。さらに、プロキシノードが存在してもよい。したがって、ステップS2a~S2cは、これらのさらに別のプロキシノードに対して実行されてよく、その結果、参照情報に従って、かつメタ情報に従って、互いに関係するプロキシの入/出力関係を決定することができる。このことにより、読み取り権限を有するプロキシノードからのノードデータを、それぞれが書き込み権限を有する、遠隔アドレス空間のいくつかのさらに別のプロキシノードまたはノードに転送することができる。
【0045】
システムの実行中、ノードは監視され得る。監視は、このノードのための監視サービスの設定したアクティブ化によってなされ得る。データ変更は、その対応するプロキシノードとの遠隔アドレス空間の監視されたノードの同期と、対応するインターフェースノードにおけるデータの受信とをトリガする。したがって、次のステップは、以下である。
【0046】
S3:第1のプロキシノード112および第1のインターフェースノード106の間の第1のプロキシノードに含まれる入/出力関係に従って、集約サーバ100によって、第1のインターフェースノード106において第1のプロキシノード112からノードデータを受信する230。トリガすることは、OPC UA標準サービスまたは制御ロジック102によって実行されてよい。ステップS3は、以下のステップを含む。
【0047】
S3a:第1のノード116においてデータ変更を検出し、データ変更の検出時に、ステップS3b:第1のプロキシノード112と第1のノード116を同期し、ステップS3について記述したように、受信をトリガするステップ234を実行する。
【0048】
ステップS4は、第1のインターフェースノード106のノードデータを第2のインターフェースノード108に、集約サーバ100によって提供するステップ240を含む。提供することは、ステップS2a、S2b、およびS2cで決定された、入/出力関係および参照に基づく。
【0049】
最後に、ノードデータは、ステップS5:第2のインターフェースノード108、第2のプロキシノード114、第2のノード118の間の入/出力関係に従って、第1のインターフェースノード106のノードデータを第2のプロキシノード114に、集約サーバ100によって転送するステップ250、において転送される。
【符号の説明】
【0050】
100 集約サーバ
102 制御ロジック
104 制御ロジックノード
106 第1のインターフェースノード
108 第2のインターフェースノード
112 第1のプロキシノード
114 第2のプロキシノード
116 第1のノード
118 第2のノード
122 集約されたサーバ
124 遠隔アドレス空間
126 第3のプロキシノード
134 第3のインターフェースノード