(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024048390
(43)【公開日】2024-04-08
(54)【発明の名称】複数のプログラマブル・オートメーション・コントローラにわたるプロセス・イメージ共有
(51)【国際特許分類】
H04L 12/28 20060101AFI20240401BHJP
G06F 9/46 20060101ALI20240401BHJP
G06F 8/65 20180101ALI20240401BHJP
G05B 19/05 20060101ALI20240401BHJP
【FI】
H04L12/28 100F
G06F9/46 420A
G06F8/65
G05B19/05 S
【審査請求】未請求
【請求項の数】9
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023163641
(22)【出願日】2023-09-26
(31)【優先権主張番号】22306425
(32)【優先日】2022-09-27
(33)【優先権主張国・地域又は機関】EP
(71)【出願人】
【識別番号】594083128
【氏名又は名称】シュネーデル、エレクトリック、インダストリーズ、エスアーエス
【氏名又は名称原語表記】SCHNEIDER ELECTRIC INDUSTRIES SAS
(74)【代理人】
【識別番号】100120031
【弁理士】
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100124372
【弁理士】
【氏名又は名称】山ノ井 傑
(74)【代理人】
【識別番号】100096921
【弁理士】
【氏名又は名称】吉元 弘
(72)【発明者】
【氏名】アントワーヌ、ブリュック
【テーマコード(参考)】
5B376
5H220
5K033
【Fターム(参考)】
5B376AA11
5B376AA21
5B376BC31
5H220AA04
5H220BB07
5H220CC09
5H220CX01
5H220CX05
5H220HH03
5H220JJ12
5H220JJ29
5H220MM08
5K033BA03
5K033CA11
5K033DA03
5K033DB14
5K033DB19
(57)【要約】 (修正有)
【課題】分散型オートメーション・システムの異なる産業用コントローラの間でのIOプロセス・イメージを効率的に管理する。
【解決手段】第1のコントローラ(CT1)が、分散型オートメーション・アプリケーション(Daa)から、または第1の組の通信デバイス(CD1)の通信デバイスからプロセス・データを取得すること(S2)と、第1のコントローラ(CT1)が、取得されたプロセス・データによって第1のプロセス・イメージ(PI1)を更新すること(S3)と、第1のコントローラ(CT1)が、第2の通信回線(CL2)上にプロセス・データを送信すること(S4)と、第2のコントローラ(CT2)が、第2の通信回線(CL2)上に送信されたプロセス・データを受信し、受信されたプロセス・データによって第2のプロセス・イメージ(PI2)を更新すること(S5)とを備える。
【選択図】
図3
【特許請求の範囲】
【請求項1】
第1のコントローラ(CT1)から少なくとも第2のコントローラ(CT2)へプロセス・データを共有するための方法であって、前記第1のコントローラ(CT1)および前記第2のコントローラ(CT2)が、各々、少なくとも分散型オートメーション・アプリケーション(Daa)を実行するための第1のランタイム環境(RE1)および第2のランタイム環境(RE2)を含み、ならびに各々、第1のプロセス・イメージ(PI1)および第2のプロセス・イメージ(PI2)を各々管理するための第1のプロセス・データ管理部(PDM1)および第2のプロセス・データ管理部(PDM2)を含み、前記第1のプロセス・データ管理部および前記第2のプロセス・データ管理部が、各々、第1の通信回線(CL1)を介して第1の組の通信デバイス(CD1)に、および第2の組の通信デバイス(CD2)にリンクされ、ならびに第2の通信回線(CL2)を介してそれらの間でリンクされ、前記方法が、
前記第1のコントローラ(CT1)が、前記分散型オートメーション・アプリケーション(Daa)から、または前記第1の組の通信デバイス(CD1)の通信デバイスからプロセス・データを取得するステップ(S2)と、
前記第1のコントローラ(CT1)が、前記取得されたプロセス・データによって前記第1のプロセス・イメージ(PI1)を更新するステップ(S3)と、
前記第1のコントローラ(CT1)が、前記第2の通信回線(CL2)上に前記プロセス・データを送信するステップ(S4)と、
前記第2のコントローラ(CT2)が、前記第2の通信回線(CL2)上に送信された前記プロセス・データを受信し、前記受信されたプロセス・データによって前記第2のプロセス・イメージ(PI2)を更新するステップ(S5)と
を備える、方法。
【請求項2】
前記第2の通信回線(CL2)が、高い信頼性とレイテンシに関する境界とを有する決定論的データ・パスを提供する、請求項1に記載の方法。
【請求項3】
前記プロセス・データが、前記第1の組の通信デバイス(CD1)の通信デバイスからの入力データであり、前記第1の通信回線(CL1)から前記第1のプロセス・データ管理部(PDM1)によって読み出される、請求項1または2に記載の方法。
【請求項4】
前記プロセス・データが、前記第1の組の通信デバイス(CD1)の通信デバイスのための出力データであり、前記分散型オートメーション・アプリケーション(Daa)から前記第1のプロセス・データ管理部(PDM1)によって書き込まれる、請求項1から3のいずれかに記載の方法。
【請求項5】
前記プロセス・データが、前記第2の通信回線(CL2)上で前記第1のプロセス・データ管理部(PDM1)に実装された第1の同期エージェント(SA1)のパブリッシャ・サービスによってパブリッシュされる、請求項1から4のいずれかに記載の方法。
【請求項6】
前記プロセス・データが、前記第2のプロセス・データ管理部(PDM2)に実装された第2の同期エージェント(SA2)のサブスクライバ・サービスを通して受信される、請求項1から5のいずれかに記載の方法。
【請求項7】
前記第1の通信回線(CL1)および前記第2の通信回線(CL2)が、合流される、請求項1から6のいずれかに記載の方法。
【請求項8】
第1のコントローラ(CT1)と、少なくとも第2のコントローラ(CT2)とを備え、前記第1のコントローラ(CT1)から少なくとも前記第2のコントローラ(CT2)へプロセス・データを共有するための産業用システムであって、前記第1のコントローラ(CT1)および前記第2のコントローラ(CT2)が、各々、少なくとも分散型オートメーション・アプリケーション(Daa)を実行するための第1のランタイム環境(RE1)および第2のランタイム環境(RE2)を含み、ならびに各々、第1のプロセス・イメージ(PI1)および第2のプロセス・イメージ(PI2)を各々管理するための第1のプロセス・データ管理部(PDM1)および第2のプロセス・データ管理部(PDM2)を含み、前記第1のプロセス・データ管理部および前記第2のプロセス・データ管理部が、各々、第1の通信回線(CL1)を介して第1の組の通信デバイス(CD1)に、および第2の組の通信デバイス(CD2)にリンクされ、ならびに第2の通信回線(CL2)を介してそれらの間でリンクされ、
前記第1のコントローラ(CT1)が、前記分散型オートメーション・アプリケーション(Daa)から、または前記第1の組の通信デバイス(CD1)の通信デバイスからプロセス・データを取得するように構成され、
前記第1のコントローラ(CT1)が、前記取得されたプロセス・データによって前記第1のプロセス・イメージ(PI1)を更新するように構成され、
前記第1のコントローラ(CT1)が、前記第2の通信回線(CL2)上に前記プロセス・データを送信するように構成され、
前記第2のコントローラ(CT2)が、前記第2の通信回線(CL2)上に送信された前記プロセス・データを受信し、前記受信されたプロセス・データによって前記第2のプロセス・イメージ(PI2)を更新するように構成される、産業用システム。
【請求項9】
請求項1から7のいずれかに記載の、第1のコントローラ(CT1)から少なくとも第2のコントローラ(CT2)へプロセス・データを共有するための方法を実行するためのコンピュータ・プログラムをその上に具体化したコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、プログラマブル・オートメーション・コントローラに関し、より詳細には、1組のプログラマブル・オートメーション・コントローラの間で交換される入出力データの処理に関する。
【背景技術】
【0002】
産業用オートメーション/制御システムは、プロセス、機械等を含む、多岐にわたるシステムの動作を制御するために採用されており、典型的には、制御モジュール、入出力(I/O)モジュール、I/Oデバイス等の複数の制御システムの構成要素又は装置の構成および相互接続を通して様々な制御アプリケーションに適用可能である。既存の産業用制御システムは、典型的には、制御プログラムを実行(run)または実行(execute)してI/Oシステム(例えば、典型的には、1つまたは複数のI/Oモジュールまたはデバイス)とインタラクトし、フィールド・センサからアナログおよび/またはデジタル入力の形態でシステム情報を受信し、1つまたは複数のアクチュエータに出力(アナログおよび/またはデジタル)を提供するプロセッサを含む。産業用制御システムは、製造施設において管理情報やその他のシステムとますます相互接続されるようになってきており、プロセス/機械制御機能に加えて、在庫制御、会計、製造制御等の様々なビジネス管理機能を容易にするために、任意の数の通信ネットワークに動作可能に接続されてもよい。
【0003】
コントローラは、出力デバイスの状態を制御するために入力デバイスの状態に関するデータを継続的に収集するソフトウェアを実行するように構成された専用のコンピュータ制御システムである。コントローラの例としては、プログラマブル・ロジック・コントローラ(PLC)またはプログラマブル・オートメーション・コントローラ(PAC)、モーション・コントローラ、CNC、スマートI/O、およびドライブ・コントローラが挙げられる。コントローラは、典型的には、プロセッサ(揮発性メモリを含んでもよい)、アプリケーション・プログラムを備えた揮発性メモリ、およびオートメーション・システムにおける他のデバイスに接続するための1つまたは複数の入出力(I/O)ポートという3つの主な構成要素を含む。
【0004】
プロセス・イメージは、実行中のコントローラの心臓部である。これは、コントローラが、いつでもアクセスを有するすべての入力、出力および内部変数、ならびにコントローラのソース・コードのスナップショットを提供する。プロセス・イメージは、常に、特定のコントローラに紐付けられる。コントローラにおいて、プロセス・イメージは、ランタイム・システムのみに見えるデータ構造であり、周期またはイベントベースのコントローラ・プログラムを実行するために使用される。
【0005】
分散型オートメーション・システム(典型的には、IEC61499規格に従ってプログラムされる)では、アプリケーションが、いくつかのプログラマブル・オートメーション・コントローラ上で実行され得る。IOモジュールがフィールドバス上で配備されるとき、入出力データは、通常、このフィールドバスを管理するPAC上でのみ利用可能となる。アプリケーションを配備するために使用されるビルドタイム・ソフトウェアは、フィールドバスから到来する入出力データを消費するアプリケーション部分を静的にマッピングすることを可能にする。
【0006】
図1を参照すると、アプリケーションA、アプリケーションB、およびアプリケーションCが、コントローラ1およびコントローラ2の間で分散される、IEC61499のプログラミング・モデルに従う一例が示されている。IEC 61499は、いくつかのコントローラにわたって分散され得る制御システム・アプリケーションをモデル化することを目的として導入された。特定のタイプのプログラミング言語である機能ブロック図は、オートメーション・システムをモデル化およびプログラムするための機能ブロックを使用するグラフィカル言語である。IEC 61499は、複数のコントローラにわたる、アプリケーションBのような制御プログラムの実装を可能にする。
【0007】
あるアプリケーションの各部分(例えば、機能ブロック)は、そのアプリケーションが分散されるコントローラの計算リソースを使用している。さらに、あるアプリケーションの各部分は、そのアプリケーションが分散されるコントローラの計算リソースを使用している。ここで、プロセス・イメージ1とプロセス・イメージ2とは、隔離されており、コントローラ1とコントローラ2との間で共有されない。
【0008】
例えば、アプリケーションAのすべての機能ブロックFB1(A)、FB2(A)、およびFB3(A)は、コントローラ1の計算リソース1-1およびコントローラ1のプロセス・イメージ1を使用している。アプリケーションBでは、機能ブロックFB1(B)は、コントローラ1の計算リソース1-2およびコントローラ1のプロセス・イメージ1を使用しており、機能ブロックFB2(B)およびFB3(B)は、コントローラ2の計算リソース2-1およびコントローラ2のプロセス・イメージ2を使用している。アプリケーションCでは、機能ブロックFB1(C)およびFB2(C)は、(アプリケーションBの機能ブロックFB2(B)およびFB3(B)の場合のように)コントローラ2の計算リソース2-1およびコントローラ2のプロセス・イメージ2を使用しており、機能ブロックFB3(C)は、コントローラ2の計算リソース2-2およびコントローラ2のプロセス・イメージ2を使用している。
【0009】
この例では、アプリケーションBは、コントローラ1とコントローラ2との間でIOプロセス・イメージを交換するための特定のコードを必要とする。アプリケーションBからの機能ブロックを別のコントローラ(例えば、表されていないコントローラ3)に分散させる必要がある場合、アプリケーションBのロジックは、コントローラ3とIOプロセス・イメージを交換するために、修正される必要が出てくる。
【発明の概要】
【発明が解決しようとする課題】
【0010】
したがって、分散型オートメーション・システムにおける異なる産業用コントローラの間でIOプロセス・イメージの効率的な管理を可能にする必要がある。
【課題を解決するための手段】
【0011】
本概要は、本発明の主題に関する概念を導入するために提供される。本概要は、特許請求される主題の本質的な特徴を特定することは意図されていないし、特許請求される主題の範囲を決定または限定するのに使用することも意図されていない。
【0012】
一実装形態では、第1のコントローラから少なくとも第2のコントローラへプロセス・データを共有するための方法であって、第1のコントローラおよび第2のコントローラが、各々、少なくとも分散型オートメーション・アプリケーションを実行するための第1のランタイム環境および第2のランタイム環境を含み、ならびに各々、第1のプロセス・イメージおよび第2のプロセス・イメージを各々管理するための第1のプロセス・データ管理部および第2のプロセス・データ管理部を含み、第1のプロセス・データ管理部および第2のプロセス・データ管理部が、各々、第1の通信回線を介して第1の組の通信デバイスに、および第2の組の通信デバイスにリンクされ、ならびに第2の通信回線を介してそれらの間でリンクされ、本方法が、
第1のコントローラが、分散型オートメーション・アプリケーションから、または第1の組の通信デバイスの通信デバイスからプロセス・データを取得するステップと、
第1のコントローラが、取得されたプロセス・データによって第1のプロセス・イメージを更新するステップと、
第1のコントローラが、第2の通信回線上にプロセス・データを送信するステップと、
第2のコントローラが、第2の通信回線上に送信されたプロセス・データを受信し、受信されたプロセス・データによって第2のプロセス・イメージを更新するステップと
を含む、方法が提供される。
【0013】
有利には、産業用システムは、アプリケーションのいずれの部分も、どこにマッピングされているかに関係なく、IOプロセス・イメージのどの部分にもアクセスできるようにするために、プロセス・インターフェース間の隔離を破ることを可能にする。
【0014】
一実施形態では、第2の通信回線は、高い信頼性とレイテンシに関する境界とを有する決定論的データ・パスを提供する。
【0015】
一実施形態では、プロセス・データは、第1の組の通信デバイスの通信デバイスからの入力データであり、第1の通信回線から第1のプロセス・データ管理部によって読み出される。
【0016】
一実施形態では、プロセス・データは、第1の組の通信デバイスの通信デバイスのための出力データであり、分散型オートメーション・アプリケーションから第1のプロセス・データ管理部によって書き込まれる。
【0017】
一実施形態では、プロセス・データは、第2の通信回線上で第1のプロセス・データ管理部のパブリッシャ・サービスによってパブリッシュされる。
【0018】
一実施形態では、プロセス・データは、第2のプロセス・データ管理部のサブスクライバ・サービスを通して受信される。
【0019】
一実施形態では、第1の通信回線および第2の通信回線は、合流される。
【0020】
別の実装形態では、第1のコントローラと、少なくとも第2のコントローラとを備え、第1のコントローラから少なくとも第2のコントローラへプロセス・データを共有するための産業用システムであって、第1のコントローラおよび第2のコントローラが、各々、少なくとも分散型オートメーション・アプリケーションを実行するための第1のランタイム環境および第2のランタイム環境を含み、ならびに各々、第1のプロセス・イメージおよび第2のプロセス・イメージを各々管理するための第1のプロセス・データ管理部および第2のプロセス・データ管理部を含み、第1のプロセス・データ管理部および第2のプロセス・データ管理部が、各々、第1の通信回線を介して第1の組の通信デバイスに、および第2の組の通信デバイスにリンクされ、ならびに第2の通信回線を介してそれらの間でリンクされ、
第1のコントローラが、分散型オートメーション・アプリケーションから、または第1の組の通信デバイスの通信デバイスからプロセス・データを取得するように構成され、
第1のコントローラが、取得されたプロセス・データによって第1のプロセス・イメージを更新するように構成され、
第1のコントローラが、第2の通信回線上にプロセス・データを送信するように構成され、
第2のコントローラが、第2の通信回線上に送信されたプロセス・データを受信し、受信されたプロセス・データによって第2のプロセス・イメージを更新するように構成される、産業用システムが提供される。
【0021】
別の実装形態では、第1のコントローラから少なくとも第2のコントローラへプロセス・データを共有するためのコンピュータ・プログラムをその上に具体化したコンピュータ可読媒体が提供される。前記コンピュータ・プログラムは、本発明による方法に従ってステップを実行する命令を備える。
【0022】
詳細な説明が、添付の図面を参照して説明される。図面では、参照番号の一番左の桁は、その参照番号が最初に出現する図を特定する。図面全体を通して、同様の特徴および構成要素に対して同じ番号が使用される。ここで、本主題の実施形態によるシステムおよび/方法のいくつかの実施形態が、例示の目的のみで、以下の添付の図面を参照して説明される。
【図面の簡単な説明】
【0023】
【
図1】第1のコントローラおよび第2のコントローラ上に分散型オートメーション・アプリケーションを配備した、既知の産業用通信システムの概略ブロック図である。
【
図2】一実施形態による、第1のコントローラから少なくとも第2のコントローラへプロセス・データを共有するための産業用通信システムの概略ブロック図である。
【
図3】一実施形態による、第1のコントローラから少なくとも第2のコントローラへプロセス・データを共有するための方法の流れ図である。
【発明を実施するための形態】
【0024】
同じ参照番号は、すべての図において同じ要素または同じタイプの要素を表す。
【0025】
当業者であれば、本明細書のいずれのブロック図も、本主題の原理を具体化する例示的なシステムの概念図を表すことを諒解されたい。同様に、いずれのフロー・チャート、流れ図、状態遷移図、擬似コード等も、コンピュータ可読媒体において実質的に表されることができ、したがって、コンピュータまたはプロセッサによって、そのようなコンピュータまたはプロセッサが明示的に示されているか否かに関わらず実行され得る、様々なプロセスを表すことを諒解されたい。
【0026】
図面および以下の説明は、本発明の特定の例示的な実施形態を示す。したがって、当業者は、本明細書に明示的に説明または示されていないが、本発明の原理を具体化し、本発明の範囲内に含まれる様々な配置構成を考案できるようになることを諒解されたい。さらに、本明細書で説明されるいずれの例も、本発明の原理を理解するのを助けることを意図されており、そのように具体的に記載された例および条件に限定されるものではないと解釈されるべきである。結果として、本発明は、以下で説明される特定の実施形態または例によって限定されるのではなく、特許請求の範囲およびそれらの等価物によって限定される。
【0027】
図2を参照すると、産業用通信システムは、少なくとも第1のコントローラCT1および第2のコントローラCT2(図示の例では2つのコントローラのみが表されている)を含む、1組のコントローラと、第1の組の通信デバイスCD1および第2の組の通信デバイスCD2と、アプリケーション・デバイスADと、第1の通信回線CL1および第2の通信回線CL2とを備える。第1の通信回線CL1は、各コントローラCT1、CT2と、各々の組の通信デバイスCD1、CD2とをリンクさせるマルチポイントの通信回線とすることができる。第2の通信回線CL2は、コントローラをそれらの間でリンクさせるか、またはコントローラとアプリケーション・デバイスADとをリンクさせるマルチポイントの通信回線とすることができる。第2の通信回線CL2が、コントローラをそれらの間でリンクさせているだけである場合、コントローラをアプリケーション・デバイスADとリンクさせるために、別の通信回線が提供されてもよい。一実施形態では、第1の通信回線CL1および第2の通信回線CL2は、合流されてもよい。
【0028】
コントローラは、第1の通信回線CL1を介して1組の通信デバイスとの通信を管理することができる。一例では、コントローラは、(Modbusのような)イーサネット・フィールドバスを介してリモートI/Oモジュールと通信する。別の例では、コントローラは、マルチポイント低電圧差動シグナリング(MLVDS)バスを介して、バックプレーンを通してローカルI/Oモジュールと通信する。コントローラCT1、CT2は、イーサネットやCAN(コントローラ・エリア・ネットワーク)バスのような第2の通信回線CL2を介して、それらの間、およびアプリケーション・デバイスADと通信することができる。
【0029】
コントローラは、プログラマブル・ロジック・コントローラPLC、プログラマブル・オートメーション・コントローラPAC、または他のタイプの処理デバイスとすることができ、仮想マシンまたはコンテナのような仮想デバイスを含んでもよい。
【0030】
通信デバイスは、センサや実世界と接続するためのアナログ・デジタル変換器(ADC)およびデジタル・アナログ変換器(DAC)、通信モジュール、デジタル入出力、中継器等を含むことができる。通信デバイスはまた、ゲートウェイまたはサーボ・ドライブであってもよい。通信モジュールは、適合されたパケット・フォーマットによって第1の通信回線CL1を通してコントローラと通信する。
【0031】
アプリケーション・デバイスADは、コンピュータまたはサーバのような任意の処理デバイスとすることができ、第1のコントローラCT1および第2のコントローラCT2のような異なるコントローラに対して分散型オートメーション・アプリケーションDaaを作成、マッピング、コンパイルおよび配備することを可能にする「エンジニアリング・ツール」のようなビルドタイム・アプリケーションBTAを備える。分散型オートメーション・アプリケーションDaaは、前記異なるコントローラによって配備および実行される、例えば、IEC61499の機能ブロックのようなアプリケーションのサブ部分Spa1、Spa2を備える。
【0032】
ビルドタイム・アプリケーションBTAは、第1の通信回線CL1のためのフィールドバス構成部FCを介して、1つまたはいくつかのフィールドバス・プロトコル(例えば、EtherNet/IP、Modbus/TCP、Profinet、EtherCAT、OPCUA FX…)に依拠するIOシステムのためのハードウェア構成の構成、マッピング、および配備を可能にする。
【0033】
フィールドバス構成部FCは、前記分散型オートメーション・アプリケーションDaaのどのコントローラに対してプロセス・イメージのどの部分が利用可能となるべきかをエンドユーザが選択する能力を定義するIO共有構成部を提供する。プロセス・イメージは、リンクされた通信デバイスおよびユーザ・プログラムと、コントローラのための分散型オートメーション・アプリケーションDaaとの間のストレージ・バッファと見なされ得る。
【0034】
IO共有構成部はまた、どのコントローラがフィールドバス走査部のオーナーであるかを定義する。フィールドバス走査部は、通信デバイスに対してデータを読み出し、書き込むためのコントローラの機能である。
【0035】
ビルドタイム・アプリケーションはまた、ジッタに関する分散型オートメーション・アプリケーションのニーズと一致するように、第2の通信回線CL2を介して分散型オートメーション・アプリケーションの異なるコントローラ間の通信を可能にするためのネットワーク・ツールNTを提供する。ネットワーク・ツールNTはまた、第1の通信回線CL1を介してコントローラと通信デバイスとの間の通信を構成することができる。
【0036】
一実施形態では、第2の通信回線CL2は、高い信頼性とレイテンシに関する境界とを有する決定論的データ・パスを提供する。
【0037】
一実施形態では、第2の通信回線CL2上の通信は、TSN(タイム・センシティブ・ネットワーク)準拠である。TSNは、リアルタイムに焦点が当てられた技術であり、情報が、固定された予測可能な所要時間でポイントAからポイントBまで進むことができることを確実にする方法を提供するために開発された。ネットワーク・ツールNTは、リアルタイムの様式でプロセス・イメージを共有するために、コントローラ間で使用されるべきすべてのTSNスロットを作成および寸法決めすることを可能にする追加のモジュールである、IO共有TSNスロット構成部をさらに含む。
【0038】
第1のコントローラCT1および第2のコントローラCT2の各々は、分散型オートメーション・アプリケーションDaa、すなわち、少なくとも分散型オートメーション・アプリケーションのサブ部分Spa1、Spa2を実行するための第1のランタイム環境RE1および第2のランタイム環境RE2の各々を含み、ならびに第1のプロセス・データ管理部PDM1および第2のプロセス・データ管理部PDM2の各々を含む。
【0039】
第1のプロセス・データ管理部PDM1は、第1の通信回線CL1を介して第1の組の通信デバイスCD1と通信することができ、また、第2のプロセス・データ管理部PDM2も、第1の通信回線CL1を介して第2の組の通信デバイスCD2と通信することができる。
【0040】
第1のランタイム環境RE1は、第2の通信回線CL2を介して第2のランタイム環境RE2と通信することができる。
【0041】
第1のプロセス・データ管理部PDM1および第2のプロセス・データ管理部PDM2の各々は、第1のプロセス・イメージPI1および第2のプロセス・イメージPI2の各々のデータを記憶および修正することができ、一貫した方法で他のコントローラとプロセス・データを交換するための第1の同期エージェントSA1および第2の同期エージェントSA2の各々を実装する。第1のプロセス・データ管理部PDM1および第2のプロセス・データ管理部PDM2の各々は、分散型オートメーション・アプリケーションDaaにプロセス・データを供給するために、分散型オートメーション・アプリケーションを実行する第1のランタイム環境RE1および第2のランタイム環境RE2の各々とインタラクトする。プロセス・イメージは、通信デバイスのプロセス・データが、分散型オートメーション・アプリケーションとの間でコピーされ得る、メモリ・エリアと見なされ得る。
【0042】
各プロセス・データ管理部PDM1、PDM2は、第2の通信回線CL2上で、例えば、「マルチプロトコル・ミドルウェア」を使用して1つまたは複数のプロトコルを管理することができる。
【0043】
各同期エージェントSA1、SA2は、対応するプロセス・データ管理部PDM1、PDM2が、他のコントローラにおいて利用可能な構成されたプロセス・データに対してパブリッシュ/サブスクライブすることを確実にする役割を担う。
【0044】
コントローラのプロセス・データ管理部は、周期的にまたはイベントに基づいて、前記コントローラにリンクされた通信デバイスを走査することができる。プロセス・データ管理部は、出力データが、ランタイム環境から分散オートメーション・アプリケーションDaaによって提供されるかどうか、または入力データが、フィールドバス、すなわち、第1の通信回線CL1から通信デバイスによって提供されるかどうかをモニタリングする。
【0045】
したがって、プロセス・データ管理部は、提供された入力データまたは提供された出力データから、そのプロセス・イメージ、すなわち、プロセス・データのローカル・コピーを更新することができる。プロセス・データが更新されると、またはプロセス・データの提供が検出されると、プロセス・データ管理部は、対応する同期エージェントをトリガし、更新をこのエージェントに通知する。
【0046】
同期エージェントは、第2の通信回線CL2上でパブリッシュされるべきプロセス・データを準備することができる。TSN環境を有する一実施形態では、同期エージェントは、次のTSNスロットにおいて第2の通信回線CL2上にプロセス・データを送信する。
【0047】
別のコントローラのプロセス・データ管理部は、第2の通信回線CL2上に送信されたプロセス・データを受信した後、受信されたプロセス・データによって前記別のコントローラのそのプロセス・イメージを更新することができる。
【0048】
したがって、各コントローラCT1、CT2の同期エージェントSA1、SA2は、サブスクライバ・サービスおよびパブリッシャ・サービスをホストする。一実施形態では、プロセス・データ管理部は、パブリッシュ/サブスクライブ機構、最適化されたペイロード、およびレイヤ2のヘッダを提供し、TSNシェーパとの互換性を持つOPCUAパブ/サブ・プロトコルを実装するOPC UAスタックをさらにホストする。
【0049】
図3を参照すると、本発明の一実施形態による、コントローラによってプロセス・イメージを共有するための方法は、ステップS1~S5を備える。
【0050】
開始ステップS1において、アプリケーション・デバイスADは、ハードウェア・プラットフォーム、すなわち、コントローラとは独立して分散型オートメーション・アプリケーションDaaを設計してもよく、第2の通信回線CL2上のコントローラCT1、CT2間の通信のためのネットワーク・トポロジを構成してもよい。通信デバイスを含むIOシステムはまた、第1の通信回線CL1上で使用されるプロトコルに準拠するように構成される。
【0051】
さらに、アプリケーション・デバイスADは、分散型オートメーション・アプリケーションDaaのニーズに対して各コントローラのプロセス・イメージをマッピングしてもよい。アプリケーション・デバイスADはまた、各コントローラのためのI/Oモジュールの入出力に対してオーナー戦略を構成すること、すなわち、どのコントローラが、他のコントローラの通信デバイスの入出力にアクセスできるかを決定することを行なってもよい。
【0052】
最後に、アプリケーション・デバイスADは、異なるコントローラ、ここでは、第1のコントローラCT1および第2のコントローラCT2に分散型オートメーション・アプリケーションDaaを配備する。
【0053】
ステップS2において、第1のコントローラCT1は、分散型オートメーション・アプリケーションDaaから、または第1の組の通信デバイスCD1の通信デバイスCD1から、新たなプロセス・データを取得する。新たなプロセス・データは、周期的にまたはイベントに基づいて、通信デバイスCD1から取得され得る。
【0054】
プロセス・データが、通信デバイスCD1からの入力データである場合、それらは、第1の通信回線CL1から第1のプロセス・データ管理部PDM1によって読み出される。プロセス・データが通信デバイスCD1のための出力データである場合、それらは、分散型オートメーション・アプリケーションDaaから第1のプロセス・データ管理部PDM1によって書き込まれる。
【0055】
ステップS3において、第1のプロセス・データ管理部PDM1は、取得されたプロセス・データによって第1のプロセス・イメージPI1を更新する。第1のプロセス・イメージの取得されたプロセス・データによって更新された部分は、コントローラ間で共有されるべき共通のIOプロセス・イメージを形成する。プロセス・データが更新されると、第1のプロセス・データ管理部PDM1は、更新されたプロセス・データを第1の同期エージェントSA1に通知する。
【0056】
ステップS4において、第1の同期エージェントSA1は、第2の通信回線CL2上にプロセス・データを送信する。一実施形態では、プロセス・データは、第1の同期エージェントSA1のパブリッシャ・サービスによってパブリッシュされる。
【0057】
ステップS5において、少なくとも第2のコントローラCT2は、第2の通信回線CL2上に送信されたプロセス・データを受信する。一実施形態では、プロセス・データは、第2の同期エージェントSA2のサブスクライバ・サービスを通して受信される。したがって、第2のコントローラCT2のような、第1のコントローラCT1によってパブリッシュされたデータにサブスクライブした産業用システム内のコントローラのみが、第2の通信回線CL2上に第1のプロセス・データ管理部PDM1によって送信されたプロセス・データを受信することができる。
【0058】
第2のプロセス・データ管理部PDM2は、受信されたプロセス・データによって第2のプロセス・イメージPI2を更新する。第2のプロセス・イメージの受信されたプロセス・データによって更新された部分は、コントローラ間で共有される共通のIOプロセス・イメージを形成する。
【0059】
本発明は、特定の実施形態を参照して上で説明されてきたが、本明細書に記載の特定の形態に限定されることを意図されていない。そうではなく、本発明は、添付の特許請求の範囲によってのみ限定され、上記の特定の実施形態以外の他の実施形態もこれらの付属の請求項の範囲内において等しく可能である。
【0060】
さらに、例示的な実施形態が、構成要素および/または機能のいくつかの例示的な組合せにおいて上で説明されてきたが、本開示の範囲を逸脱することなく、代替実施形態が、部材および/または機能の異なる組合せによって提供され得ることを諒解されたい。加えて、個別にまたは実施形態の一部として説明される特定の特徴は、個別に説明される他の特徴、または他の実施形態の一部と組み合わせられ得ることも特に企図される。
【符号の説明】
【0061】
FB1(A) 機能ブロック
FB2(A) 機能ブロック
FB3(A) 機能ブロック
FB1(B) 機能ブロック
FB2(B) 機能ブロック
FB3(B) 機能ブロック
FB1(C) 機能ブロック
FB2(C) 機能ブロック
FB3(C) 機能ブロック
CT1 第1のコントローラ
CT2 第2のコントローラ
CD1 第1の組の通信デバイス
CD2 第2の組の通信デバイス
CL1 第1の通信回線
CL2 第2の通信回線
AD アプリケーション・デバイス
Spa1 アプリケーションのサブ部分
Spa2 アプリケーションのサブ部分
BTA ビルドタイム・アプリケーション
Daa 分散型オートメーション・アプリケーション
FC フィールドバス構成部
NT ネットワーク・ツール
RE1 第1のランタイム環境
RE2 第2のランタイム環境
PDM1 第1のプロセス・データ管理部
PDM2 第2のプロセス・データ管理部
PI1 第1のプロセス・イメージ
PI2 第2のプロセス・イメージ
SA1 第1の同期エージェント
SA2 第2の同期エージェント
【外国語明細書】