JP2020518921A - オープンアーキテクチャ産業制御システム - Google Patents

オープンアーキテクチャ産業制御システム Download PDF

Info

Publication number
JP2020518921A
JP2020518921A JP2019560214A JP2019560214A JP2020518921A JP 2020518921 A JP2020518921 A JP 2020518921A JP 2019560214 A JP2019560214 A JP 2019560214A JP 2019560214 A JP2019560214 A JP 2019560214A JP 2020518921 A JP2020518921 A JP 2020518921A
Authority
JP
Japan
Prior art keywords
communication
virtual
input
control system
controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019560214A
Other languages
English (en)
Other versions
JP7257329B2 (ja
Inventor
マーク・ジェイ・ニクソン
ファン・カルロス・ブラボー
ギャリー・ケイ・ロウ
Original Assignee
フィッシャー−ローズマウント システムズ,インコーポレイテッド
フィッシャー−ローズマウント システムズ,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=62186554&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2020518921(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by フィッシャー−ローズマウント システムズ,インコーポレイテッド, フィッシャー−ローズマウント システムズ,インコーポレイテッド filed Critical フィッシャー−ローズマウント システムズ,インコーポレイテッド
Publication of JP2020518921A publication Critical patent/JP2020518921A/ja
Application granted granted Critical
Publication of JP7257329B2 publication Critical patent/JP7257329B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0421Multiprocessor system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4183Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by data acquisition, e.g. workpiece identification
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41845Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by system universality, reconfigurability, modularity
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • G05B19/4186Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication by protocol, e.g. MAP, TOP
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41885Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4072Drivers or receivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/4226Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with asynchronous protocol
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/80Management or planning

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Programmable Controllers (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

プロセスプラントで使用するための産業制御システムは、システムの回復力、応答性、および弾性を高めることによってシステムのリアクティブ性を高めるハードウェア/ソフトウェアアーキテクチャを使用する。産業制御システムは、プラント内のフィールドデバイスに連結され、制御およびメッセージングの目的でフィールドデバイスへの直接または間接アクセスを提供する1つ以上の分散型入力/出力コントローラデバイス(BFN I/Oコントローラ)と、1つ以上の高機能ノードおよび計算ノードと、ネットワーク接続を介してBFN I/Oコントローラに連結された1つ以上のユーザノードとを含む。高機能ノードは、仮想マシン、デバイス、またはエンティティを記憶して実行し、これにより制御システムで使用されるハードウェアがそのハードウェア上で機能するソフトウェアから連結解除され、システムのスケーリング、再構成、および変更がより容易になる。【選択図】図2

Description

[関連出願]
これは、2017年5月1日に出願された「Open Architecture Industrial Control System」と題する米国仮特許出願第62/492,895号、および2017年5月2日に出願された「Open Architecture Industrial Control System」と題する米国仮特許出願第62/500,198号の優先権および出願日の利益を主張する正式に出願された出願であり、その全体の開示が、参照により本明細書に明示的に組み込まれる。
本特許出願は、概して、産業およびプロセス制御システムに関し、かつより具体的には、信頼性、回復力、応答性、および弾性を提供するオープンアーキテクチャ産業制御システムに関する。
化学、石油、または他のプロセスプラントにおいて使用されるものなどのプロセスまたは産業制御システムは、典型的には、アナログバス、デジタルバス、もしくはアナログ/デジタル結合バスを介して、または無線通信リンクもしくはネットワークを介して、1つ以上のフィールドデバイスに通信可能に連結される、1つ以上のプロセスコントローラを含む。例えば、バルブ、バルブポジショナ、スイッチ、およびトランスミッタ(例えば、温度センサ、圧力センサ、レベルセンサ、およびフローレートセンサ)である場合があるフィールドデバイスは、プロセス環境内に位置し、概して、バルブの開放または閉鎖、プロセスパラメータの測定等の物理的制御機能またはプロセス制御機能を実施して、プロセスプラント内またはシステム内で実行中の1つ以上のプロセスを制御する。周知のFOUNDATION(登録商標)フィールドバスプロトコルに適合するフィールドデバイスなどのスマートフィールドデバイスはまた、制御計算、警告機能、およびコントローラ内で一般に実装される他の制御機能も実施し得る。中央に位置し得るが、分散方法でプラント環境内にも位置し得るプロセスコントローラは、フィールドデバイスによって行われるプロセス測定を指示する信号および/またはフィールドデバイスに関する他の情報を受信し、例えば、プロセス制御判断を行い、受信した情報に基づき制御信号を発生させ、HART(登録商標)、WirelessHART(登録商標)、およびFOUNDATION(登録商標)フィールドバスフィールドデバイスなどの、フィールドデバイスで実施される制御モジュールまたはブロックと連携する、異なる制御モジュールを作動させるコントローラアプリケーションを実行する。コントローラ内の制御モジュールは、通信ラインまたはリンクを経由して、フィールドデバイスに制御信号を送信し、それによって、プロセスプラントまたはシステムの少なくとも一部分の動作を制御する。
フィールドデバイスおよびコントローラからの情報は、制御室もしくはより厳しいプラント環境から離れた他の場所に典型的に配置される、オペレータワークステーション、パーソナルコンピュータもしくはコンピューティングデバイス、データヒストリアン、レポートジェネレータ、集中データベース、または他の集中管理コンピューティングデバイスなどの1つ以上の他のハードウェアデバイスに対して、通常、データハイウェイを通じてコントローラから利用可能にされる。これらのハードウェアデバイスの各々は、典型的には、プロセスプラントにわたって、またはプロセスプラントの一部分にわたって集中化される。これらのハードウェアデバイスは、例えば、オペレータが、プロセス制御ルーチンの設定の変更、コントローラもしくはフィールドデバイス内の制御モジュールの動作の修正、プロセスの現在の状態の視認、フィールドデバイスおよびコントローラによって発生された警告の視認、担当者の訓練もしくはプロセス制御ソフトウェアの試験を目的としたプロセスの動作のシミュレーション、構成データベースの保守および更新などの、プロセスの制御および/またはプロセスプラントの動作に関する機能を実施することを可能にし得るアプリケーションを実行する。ハードウェアデバイスによりデータハイウェイを利用して、コントローラおよびフィールドデバイスは、有線通信パス、無線通信パス、または有線もしくは無線通信経路の組み合わせを含むことができる。
一例として、Emerson Process Managementによって販売されている、DeltaV(商標)制御システムは、プロセスプラント内の多様な場所に配置された異なるデバイス内に記憶され、それらの異なるデバイスによって実行される複数のアプリケーションを含む。1つ以上のワークステーションまたはコンピューティングデバイス内に備わる構成アプリケーションは、ユーザによる、プロセス制御モジュールの作成または変更、およびデータハイウェイを経由した、これらのプロセス制御モジュールの、専用分散型コントローラへのダウンロードを可能にする。典型的には、これらの制御モジュールは、通信可能に相互接続された機能ブロックで構成され、これらの機能ブロックは、それに対する入力に基づき制御スキーム内で機能を実施し、出力を制御スキーム内の他の機能ブロックに提供するオブジェクト指向プログラミングプロトコル内のオブジェクトである。また、構成アプリケーションは、データをオペレータに対して表示するため、かつオペレータによるプロセス制御ルーチン内の設定点などの設定の変更を可能にするために視認アプリケーションが使用するオペレータインターフェースを、構成設計者が作成または変更することを可能にし得る。各専用コントローラ、およびいくつかの場合においては、1つ以上のフィールドデバイスは、実際のプロセス制御機能を実装するために、それらに割り当てられてダウンロードされた制御モジュールを作動させるそれぞれのコントローラアプリケーションを記憶および実行する。視認アプリケーションは、1つ以上のオペレータワークステーション(またはオペレータワークステーションおよびデータハイウェイと通信可能に接続された1つ以上のリモートコンピューティングデバイス)上で実行され得、この視認アプリケーションは、コントローラアプリケーションからデータハイウェイを経由してデータを受信し、ユーザインターフェースを使用してこのデータをプロセス制御システム設計者、オペレータ、またはユーザに表示して、オペレータのビュー、エンジニアのビュー、技師のビュー等のいくつかの異なるビューのうちのいずれかを提供し得る。データヒストリアンアプリケーションが、典型的には、データハイウェイにわたって提供されたデータの一部またはすべてを収集および記憶するデータヒストリアンデバイスに記憶され、それによって実行される一方で、構成データベースアプリケーションが、現在のプロセス制御ルーチン構成およびそれと関連付けられたデータを記憶するために、データハイウェイに取り付けられたなおさらに離れたコンピュータで作動され得る。代替的に、構成データベースは、構成アプリケーションと同じワークステーション内に位置し得る。
現在知られているプロセス制御プラントとプロセス制御システムのアーキテクチャは、限定されたコントローラおよびデバイスのメモリ、通信帯域幅、ならびにコントローラおよびデバイスのプロセッサ能力の影響を強く受ける。例えば、現在知られているプロセス制御システムアーキテクチャでは、コントローラでの動的および静的不揮発性メモリの使用は、通常、最小限に抑えられるか、または少なくとも慎重に管理される。その結果、システム構成中(例えば、アプリオリ)に、ユーザは、典型的には、コントローラのどのデータをアーカイブまたは保存するか、保存する頻度、および圧縮を使用するかどうかを選択しなければならず、したがって、コントローラは、この限定されたデータルールセットで構成される。そのため、トラブルシューティングおよびプロセス分析に有用であり得るデータはアーカイブされないことが多く、収集された場合、データ圧縮により有用な情報が失われた可能性がある。
さらに、現在知られているプロセス制御システムでコントローラのメモリ使用量を最小限に抑えるために、(コントローラの構成によって指示されるときに)アーカイブまたは保存されるように選択されたデータが、適切なデータヒストリアンまたはデータサイロでのストレージ用にサイロワークステーションまたはコンピューティングデバイスにレポートされる。データをレポートするために使用される現在の技法は、通信リソースを十分に利用せず、過剰なコントローラの負荷を誘発する。さらに、ヒストリアンまたはサイロでの通信およびサンプリングの時間遅延により、データ収集およびタイムスタンプが実際のプロセスと同期していないことがよくある。
同様に、バッチプロセス制御システムでは、コントローラのメモリ使用量を最小限に抑えるために、コントローラ構成のバッチレシピおよびスナップショットは、典型的には、集中管理コンピューティングデバイスまたは(例えば、データサイロもしくはヒストリアン)の場所に記憶されたままであり、必要な場合にのみコントローラに転送される。かかる戦略は、コントローラに、およびワークステーションまたは集中管理コンピューティングデバイスとコントローラとの間の通信に、著しいバースト負荷をもたらす。
さらに、以前の高いコストのディスクストレージと組み合わせた、現在知られているプロセス制御システムのリレーショナルデータベースの能力および性能の限定は、特定のアプリケーションの目的を満たすために、データを非依存エンティティまたはサイロに構造化する際に大きな役割を果たす。例えば、DeltaV(商標)システム内では、プロセスモデル、継続的な履歴データ、ならびにバッチおよびイベントデータのアーカイブは、3つの異なるアプリケーションデータベースまたはデータのサイロに保存される。各サイロは、内部に記憶されたデータにアクセスするための異なるインターフェースを有する。
いずれの場合も、プロセス制御システムなどの産業制御システムの現在のアーキテクチャは、制御機能、入力/出力(I/O)機能、ユーザインターフェース機能等のようなさまざまな機能が、ハードウェア(例えば、ユーザワークステーション、プロセスコントローラ、専用I/Oデバイス、フィールドデバイス等)の特定の部分で実施され、それらに結び付けられており、常に特定のハードウェア内にとどまるという点で、主にハードウェアで駆動される。このアーキテクチャ設計は、これらのシステムが迅速に変更または再構成するのが難しく、プロプライエタリ制御ソフトウェアを実装するために使用されるプロプライエタリハードウェアに密接に結び付けられ、実装するのに費用がかかる場合があるデバイスごとのハードウェアの冗長性が必要であり、特定の方法で構成される必要がある追加のハードウェアを追加することなしでは容易にスケーリングすることができないため、制御システムの回復力、応答性、および弾性を限定する。
プロセスプラントで使用するためのプロセス制御などの産業制御システムは、システムの回復力、応答性、および弾性を高めることによってシステムのリアクティブ性を高めるハードウェア/ソフトウェアアーキテクチャを使用する。より具体的には、産業制御システムは、大方の場合、制御システムで使用されるハードウェアを、そのハードウェアで機能するソフトウェアから連結解除し、システムのスケーリング、再構成、および変更を容易にする。概して、新しい産業制御システムまたはプロセス制御システムは、プラント内のフィールドデバイスに連結され、制御およびメッセージングの目的でフィールドデバイスへの直接または間接アクセスを提供する1つ以上の基本機能ノード(BFN)入力/出力(I/O)デバイスを含む。本システムはまた、1つ以上の高機能ノード(AFN)、およびEthernetバスまたはスイッチのようなオープンプロトコルネットワークなどのネットワーク接続を介してBFN I/OデバイスおよびAFNに連結された1つ以上のユーザまたは他の計算ノードを含む。
BFN I/Oデバイス(BFNコントローラとも称される)の各々は、専用I/Oハードウェアに接続された(マルチコアプロセッサであり得る)フロントエンドプロセッサを含むことができ、次に専用I/Oハードウェアは、フィールドデバイス用に現在存在するさまざまなフィールドデバイスプロトコルのいずれかを使用して、プラント内のさまざまなフィールドデバイスへの通信チャネルもしくはバス接続を提供または実装する。高機能ノードは、1つ以上のサーバなどの1つ以上の処理デバイスを含み得、当該処理デバイスは、制御処理、データ分析処理、警告および警報処理、データストレージ等のような高いレベルの処理活動を実施するために、特定のノードで一緒に連結されるか、または一緒に接続される。高機能ノードは、内部に配設され、実行される、仮想コントローラ、仮想Ethernetデバイス、仮想プロトコルおよび制御中継デバイス、仮想データ分析デバイス等のようなさまざまな仮想デバイスを有し得る。しかしながら、(例えば、高機能ノード内の汎用処理ハードウェア上で作動するソフトウェアで実装され得る)仮想デバイスの各々またはさまざまなグループは、高機能ノード内およびBFN I/Oデバイス内の他の仮想デバイスに依存せずに作動するスタンドアロンデバイスとして動作する。さらにまた、本システムは、ユーザワークステーション、データヒストリアン、構成データベース等を実装し得る1つ以上の他のコンピュータノードを含み得る。
ノード(例えば、基本機能ノード、高機能ノード、およびその他の計算ノード)の各々の中の仮想デバイスまたは要素を含むデバイスは、伝送デバイスまたは要素(アクタとも称される)がハードウェアデバイスの場所に依存しないメッセージフォーマット化およびアドレス指定スキームを使用して、他の仮想デバイスまたはアクタにデータメッセージを送信する、すなわち、通信アドレス指定スキームが、メッセージの意図された受信側をホストしているハードウェアデバイスまたはハードウェアデバイスの場所(例えば、サーバ、プロセッサ等)を特定しないか、またはそれらに依存しない、データメッセージングを使用して互いに通信する。例えば、データメッセージを、他の仮想デバイスまたは要素に関連付けられたアドレスに、それらの仮想デバイスのハードウェアの場所またはネットワークの場所を指定することなく、送信することができ、これは、仮想デバイスが、1つのハードウェアの場所から別のハードウェアの場所へ(例えば、特定の高機能ノードにおける異なる処理デバイス間、または異なる高機能ノードの異なるハードウェアデバイス間)、いかなる通信の中断もなく、かつかかる場所の変更を実装するために制御システムを再構成する必要なく、移動することを可能にする。
さらにまた、データメッセージングスキームは、単方向であり得、かつプロトコル不問またはプロトコル非依存であり得、これは、各仮想デバイスまたは要素(共にBFN I/Oコントローラおよび高機能ノード内)が任意の所望の通信プロトコルまたはパケット構造と、ネットワーク接続を介して要素とハードウェアデバイスとの間でメッセージを送信するためのメッセージ内の任意の所望のデータフォーマットとを使用することができることを意味する。概して言えば、データメッセージング構造は、このデータメッセージングスキームが、伝送されるデータと、データメッセージ内のデータの構造、および/またはデータメッセージを復号化するために使用するメッセージプロトコルを定義または識別するデータフォーマット(またはメタデータ)メッセージとを含むデータメッセージを提供するという点で、自己記述型であり得る。データメッセージおよびデータフォーマットメッセージを別々に異なる時間に送信して、メッセージのアドレスが、データメッセージ内のデータを復号化、解釈、および使用するために、データメッセージのフォーマットおよび通信プロトコルを理解することを可能にすることができる。場合によっては、各高機能ノードは、高機能ノード内の仮想コントローラまたは他の仮想要素に送信されたメッセージのデータ解釈および復号化を実施する、コントローラまたは他の中継サービス(仮想マシンまたはデバイスであり得る)を含み得る。
データメッセージングプロトコルのこれらの態様により、仮想要素がハードウェアの場所に依存しないことが可能になり、これは、制御システム要素を再構成する必要なく、制御システム要素を単一のノード(複数のサーバまたはブレードであり得る)または異なるノードのいずれかにおいて、異なるハードウェアデバイス(例えば、異なる処理デバイス)に移動させるか、または配置することができることを意味する。この特徴により、仮想デバイスが作動しているハードウェアデバイスが失敗した場合、過負荷になった場合、または他の理由で必要になった場合に、仮想デバイスを任意の利用可能なハードウェアデバイスに移動させることができるため、この特徴は、より堅牢で安価な冗長性プロビジョニングを可能にする。さらにまた、新しい制御アーキテクチャのデータメッセージングプロトコルのこれらの態様により、同じプロトコル、またはメッセージもしくはデータフォーマットを使用するために制御システム内のすべての仮想デバイスまたは要素を必要とすることなく、仮想デバイスまたは要素が任意の所望のフォーマットまたはメッセージプロトコルのデータメッセージを送信および受信することが可能になる。したがって、例えば、異なる仮想コントローラまたは仮想制御要素は、任意の所望の通信プロトコルおよび/またはデータフォーマットを使用して、共通の通信ネットワークを介して同じノード内または異なるノード内の他の仮想デバイスまたは仮想要素と通信することができる。この特徴により、同じ制御システムまたはネットワーク内の異なる製造業者が提供する仮想デバイスまたは要素の相互運用が可能になる。
さらにまた、制御システムアーキテクチャは、アクタモデルを使用して、システム内で通信を実施することができる。アクタモデルを使用すると、システム内の各制御エントリまたは他の仮想エンティティが、システム内のすべてのアクタとは無関係に動作する別個のアクタになる場合がある。各アクタは、単方向メッセージングを使用して(例えば、本明細書に参照される自己記述型メッセージプロトコルを使用して)、受信アクタが実行されるハードウェアの場所ではなく、受信アクタを指定するアドレスを介して下流のアクタにメッセージを送信するように構成される。その結果、各アクタは、実行および通信時に他のアクタと非同期に動作する自己完結型エンティティである。この機能は、制御システムの残部または制御システム内の他のアクタを再構成することなく、例えば、他のアクタに通知することなく、(負荷バランシング、フォールトトレランス、および冗長性の目的のために)個々のアクタをハードウェア内で動き回らせることができることを意味する。さらに、この方法でアクタモデルを使用することにより、他のアクタを再構成または変更することなく、メッセージストリームまたはスレッド内の一部のアクタで再構成活動を実施することが可能になり、システムを更新することがより容易になり、回復力が高まる。
一実施形態では、産業環境内で物理的機能を実施する複数のフィールドデバイスを有する産業制御システムは、産業環境内の複数のフィールドデバイスに連結された入力/出力プロセッサを含む入力/出力ノードと、1つ以上の仮想コントローラノードであって、1つ以上の仮想コントローラノードの各々が、1つ以上のプロセッサ、メモリ、メモリに記憶され、産業環境内でフィールドデバイスの制御を実施するように1つ以上のプロセッサ上で実行可能な1つ以上の仮想コントローラ、およびメモリに記憶され、ノードの1つ以上の仮想コントローラの動作を管理するように1つ以上のプロセッサ上で実行可能なスーパーバイザを含む、1つ以上の仮想コントローラノードと、入力/出力ノードを1つ以上の仮想コントローラノードの各々に接続する通信ネットワークと、を含む。入力/出力プロセッサは、産業環境内のフィールドデバイスのうちの1つ以上からデバイス信号を受信し、デバイス信号を処理し、処理されたデバイス信号を、1つ以上の仮想コントローラへの伝達用に通信ネットワーク上に配置し、通信ネットワークを介して、仮想コントローラのうちの1つ以上から制御信号を受信し、受信された制御信号を処理し、処理された制御信号を産業環境内のフィールドデバイスのうちの1つ以上に送信する。
所望の場合には、1つ以上の仮想コントローラノードは、複数の仮想コントローラノードを含み、複数の仮想コントローラノードのうちの1つの1つ以上の仮想コントローラは、仮想コントローラ通信を再構成することなく、複数の仮想コントローラノードのうちの1つから、複数の仮想コントローラノードのうちの別の1つへと移動可能である。別の場合では、1つ以上の仮想コントローラは、仮想コントローラ通信を再構成することなく、仮想コントローラノードのメモリの1つの場所から、仮想コントローラノードのメモリの別の場所へと移動可能である。さらに、仮想コントローラノードのうちの少なくとも1つは、複数の異なるメモリデバイスを含むことができ、1つ以上の仮想コントローラは、仮想コントローラ通信を再構成することなく、仮想コントローラノードのうちの少なくとも1つの複数のメモリデバイスのうちの1つから、仮想コントローラノードのうちの少なくとも1つの複数のメモリデバイスのうちの別の1つへと移動可能であり得る。
同様に、入力/出力ノードは、産業環境内の物理的入力/出力デバイスを介してフィールドデバイスからデバイス信号を受信するように、産業環境内の物理的入力/出力デバイスに連結された仮想入力/出力ルーチンを含み得る。入力/出力ノードは同様にまたは代わりに、産業環境内のフィールドデバイスから直接デバイス信号を受信するように連結された仮想入力/出力ルーチンを含むことができ、仮想入力/出力ルーチンは、フィールドデバイスからのデバイス信号、およびフィールドデバイスに伝達された制御信号に対して入力/出力信号処理を実施するように、入力/出力ノード内の汎用プロセッサで実行される。また、入力/出力ノードは、自己記述型通信スキーム、および/または複数の異なる通信プロトコル、および/またはハードウェアの場所に依存しない通信アドレス指定スキームを使用して、デバイス信号を仮想コントローラノード内の仮想コントローラに通信する仮想入力/出力ルーチンを含み得る。
さらに、入力/出力ノードは、入力/出力ノードのメモリに記憶され、デバイス信号のうちの1つ以上を使用して、産業環境内のフィールドデバイスのうちの1つを制御するための1つ以上の制御信号を生成するように、入力/出力ノードのプロセッサで実行される、制御ルーチンをさらに含み得る。この場合、1つ以上の仮想コントローラノード内の仮想コントローラは、第1のレート以下で制御ルーチン実行を実施することができ、入力/出力ノード内の制御ルーチンは、第1のレートよりも大きい第2のレートで制御ルーチン実行を実施することができる。一実施形態では、第2のレートは、第1のレートの5倍以上であり得る。
同様に、入力/出力ノードは、デバイス信号を通信ネットワーク上で多重化し、複数の異なる通信プロトコルを介して複数のフィールドデバイスからデバイス信号を受信し、自己記述型通信スキームを使用して、デバイス信号を通信ネットワーク上で多重化し、かつ/または複数の異なる通信プロトコルを介して複数のフィールドデバイスからデバイス信号を受信し、複数の異なる通信プロトコルおよび自己記述型通信スキームを使用して、デバイス信号を通信ネットワーク上で多重化する、仮想入力/出力通信ルーチンを含む。自己記述型通信スキームは、第1の通信プロトコルにおけるデバイス信号と、第1の通信プロトコルを記述するプロトコル記述信号と、を含むデバイス信号データを含み得る。
また、所望の場合には、仮想コントローラノードのスーパーバイザは、仮想コントローラノード内のプロセッサの負荷バランシングを実施することができ、仮想コントローラノードのうちの少なくとも1つのスーパーバイザは、仮想コントローラを、仮想コントローラの仮想コントローラ通信を再構成することなく、仮想コントローラノードにおいて1つのプロセッサから別のプロセッサへと移動させるように構成され得る。
別の実施形態では、産業環境内で物理的機能を実施する複数のフィールドデバイスを有する産業制御システムは、1つ以上の通信チャネルを介して産業環境内の複数のフィールドデバイスに連結された入力/出力プロセッサを含む入力/出力ノードと、複数のコントローラノードであって、コントローラノードの各々が、1つ以上のプロセッサ、メモリ、メモリに記憶され、産業環境内でフィールドデバイスの制御を実施するように1つ以上のプロセッサ上で実行可能な1つ以上のコントローラ、およびメモリに記憶され、コントローラノードの1つ以上のコントローラの動作を管理するように1つ以上のプロセッサ上で実行可能なスーパーバイザを含む、複数のコントローラノードと、オープン通信プロトコルを使用して、入力/出力ノードを1つ以上のコントローラノードの各々に接続するオープンプロトコル通信ネットワークと、を含む。ここで、入力/出力プロセッサは、産業環境内のフィールドデバイスのうちの1つ以上からデバイス信号を受信し、1つ以上のコントローラへの伝達用にオープン通信プロトコルを使用して、デバイス信号を通信ネットワーク上に配置し、通信ネットワークを介して、コントローラのうちの1つ以上から制御信号を受信し、制御信号を産業環境内のフィールドデバイスのうちの1つ以上に送信する。
オープンプロトコル通信ネットワークは、Ethernet通信ネットワークであり得、かつ/またはTCP/IPパケットベースのネットワーク通信スキームを使用し得る。また、入力/出力ノードは、オープン通信プロトコルに従って構成されたパケットを介して複数の異なる通信プロトコルでデータを送信することによって、および/またはハードウェアの場所に依存しない通信アドレス指定スキームを使用することによって、デバイス信号をコントローラノードのコントローラに通信し得る。
別の実施形態では、産業環境内で物理的機能を実施する複数のフィールドデバイスを有する産業制御システムは、1つ以上の通信チャネルを介して産業環境内の複数のフィールドデバイスに連結された入力/出力プロセッサを含む入力/出力ノードと、複数のコントローラノードであって、コントローラノードの各々が、1つ以上のプロセッサ、1つ以上のメモリ、1つ以上のメモリに記憶され、産業環境内でフィールドデバイスの制御を実施するように1つ以上のプロセッサ上で実行可能な1つ以上のコントローラ、を含む、複数のコントローラノードと、入力/出力ノードを1つ以上のコントローラノードの各々に接続する通信ネットワークと、を含む。この例では、入力/出力プロセッサは、産業環境内のフィールドデバイスのうちの1つ以上からデバイス信号を受信し、ハードウェアの場所に依存しない通信アドレス指定スキームを使用して、デバイス信号を通信ネットワーク上に配置する。
複数のBFN I/Oコントローラまたはデバイス、複数の高機能ノード、および共通の通信ネットワークを介して通信可能に接続されたユーザワークステーションノードなどの他の計算ノードを有する、産業制御システムまたはプロセス制御システムのアーキテクチャの一例のブロック図である。 図1のBFN I/Oコントローラおよび単一の高機能ノード内の仮想デバイスおよび要素のより詳細な配列例を例示するブロック図である。 図1および2のシステム内の異なる仮想要素間のデータフローを例示するデータフローダイアグラムである。 場所およびプロトコルに依存しないメッセージングを実施するように、図1および2の制御システム内のさまざまな仮想要素によって実装され得る自己記述型データメッセージングスキームを例示するフローダイアグラムである。 本明細書に記載される、アクタベースのモデルおよび自己記述型データメッセージングスキームを使用して、出力に送信される制御信号を生成するPID制御要素へのプロセス変数測定の通信を実施するアクタベースの制御ループを実装する方法を例示する、従来の制御ループダイアグラムと並置された例示的なアクタモデルダイアグラムである。 図1および2の制御システムに実装され得るローカル高速制御ネットワークのダイアグラムであり、単一の高機能ノード内の単一の制御中継器に連結された複数の高速BFN I/Oコントローラを含む。 図6のローカル高速制御ネットワーク上のBFN I/Oコントローラのマルチコアプロセッサ内でタスクを分散させるための例示的なアーキテクチャのブロックダイアグラムである。 図6のローカル高速制御ネットワークの例示的な構成階層である。 制御機能を実施するために使用されるプロセス制御システム内の要素の論理的構造のダイアグラムである。 S88規格に適合する制御ネットワークの一般的なハードウェアプロトコルダイアグラムである。 図1および2の制御システムによって使用される自己記述型メッセージプロトコルで使用され得るOPC−UAプロトコルにデータを適合させるために、図9および10の論理的ダイアグラムおよびハードウェアダイアグラムで使用するためのデータ変換方法またはスキームを例示するデータダイアグラムである。 図1および2の制御システムの高機能ノードに関連付けられた従来のコントローラおよび仮想コントローラを含む制御ノードのセットの例示的な構成階層のユーザインターフェースダイアグラムである。 図2の高機能ノードの仮想Ethernet BFN Modbusコントローラに連結され得る例示的なModbusサブネットワークを例示する。
図1は、プロセスプラントで使用されるプロセス制御システムなどの産業制御システム10の例示的なアーキテクチャのブロックダイアグラムである。例示的な産業制御システム10(本明細書ではプロセス制御システム10とも称される)は、ネットワーク16を介して1つ以上の高機能ノード14に連結された1つ以上の基本機能ノード(BFN)入力/出力(I/O)コントローラを含む。この場合、ネットワーク16は、スイッチ18を有するEthernetネットワークとして例示されているが、ネットワーク16は、任意のIPネットワーク(例えば、TCP/IPプロトコルを使用する任意のネットワーク)のような任意のパケットベースのネットワークなどの任意のオープンプロトコルネットワークを含む、他のタイプのネットワークであり得る。図1に例示されるように、プロセス制御ネットワーク10は、ネットワーク16バスに通信可能に接続されたさまざまな他の計算ノード20を含む。計算ノード20は、例えば、オペレータまたはユーザワークステーションノード(22、24)、構成ノード26、1つ以上のデータヒストリアンまたはデータベースノード28、およびプロセス制御プラントまたはシステムで使用される典型的なハードウェアデバイスを実装する任意の他のノードを含み得る。
概して言えば、BFN I/Oコントローラ12の各々は、プロセス制御システム10、および特に、高機能ノード14を、センサ、バルブ、ならびに他の測定および制御デバイスなどの制御されるプラント内のさまざまなフィールドデバイスに接続するコンピューティングプラットフォームである。BFN I/Oコントローラ12の各々は、HART、Foundation Fieldbus、CAN、Profibus、WirelessHART等のI/OデバイスなどのI/Oデバイスを含む従来のI/Oサブネットワークであり得る1つ以上のI/Oサブネットワークまたはデバイスに連結されたフロントエンドプロセッサまたは高速コントローラを含む。当然のことながら、I/Oデバイスは、データの収集および制御の目的で、すなわち、フィールドデバイスからデバイス信号を受信し、それらのデバイス信号を処理、例えば、信号を解釈するなどして、信号に対してデータプロトコル変換またはプロトコルトンネリングを実施するために、プラント内のさまざまなフィールドデバイスに接続するI/Oチャネルまたはバスに連結される。さらにまた、BFN I/Oコントローラ12は、HART、WirelessHART、Foundation Fieldbus、4〜20ミリアンペア、CAN、Profibus、またはその他の既知のプロトコルのいずれかなど、任意の所望の通信プロトコル構造を使用して、フィールドデバイスに直接連結され得る。BFN I/Oコントローラ12は、制御されるプラントまたはシステム内のさまざまなハードウェア、例えば、フィールドデバイスへの通信接続(論理的に構成可能な接続であり得る)を提供する物理的構成要素を含み、かつネットワーク16とサブネットワークとの間で通信活動を実施することができ、場合によっては、高速制御活動などの制御活動を実装することができる論理的構成要素を含む。しかしながら、特定のBFN I/Oコントローラ12の物理的構成要素および論理的構成要素は、概して、ネットワーク16の観点から単一のノードを形成するように、一緒に密接に連結される。一般的な意味で、各BFN I/Oコントローラ12は、本質的にプロプライエタリであり得、異なる製造業者によって提供され得るが、これらのデバイス12は、以下に記載される方法で通信を実施して、さまざまな異なるタイプのI/Oデバイスへの(プロプライエタリデバイスへさえも)ネットワーク化された通信を可能にする一方、依然として、同じプロセス制御ネットワーク内のBFN I/Oコントローラ12の相互運用を可能にするであろう。同様に、理解されるように、ノード12の入力/出力デバイスは、1つ以上のコントローラ、例えば、以下に記載される仮想コントローラから制御信号を受信することができ、(例えば、これらの制御信号を、フィールドデバイスに送信され得る信号フォーマットに変換またはパッケージ化するように)これらの制御信号を処理することができ、処理された制御信号を、入力/出力ラインを介してフィールドデバイスに提供して、フィールドデバイス、ひいては、プラントの制御を実施することができる。
高機能ノード14は、各ノード14のサーバファーム内の1つ以上のサーバなど、汎用コンピューティング処理ハードウェアまたは処理ハードウェアバンクを含み得る。概して言えば、高機能ノード14は、データ分析、構成機能、メンテナンス機能、データストレージ機能等のような制御および他の機能を実施するために、ネットワーク16、スーパーバイザ、およびノードのハードウェアで実行中のさまざまな仮想デバイスまたはサービスへの通信インターフェースを有する。スーパーバイザ(本明細書ではハイパーバイザとも称される)は、高機能ノード14内で動作中の、さまざまな仮想コントローラ、仮想Ethernet BFN、データ中継サービス、通信サービス等を含む、さまざまな他の仮想デバイスまたは論理的デバイスの動作と連携することができる。スーパーバイザは、特定の高機能ノード12内で負荷バランシングおよび冗長性サービスを提供するために、高機能ノード12のハードウェア内の他の論理的デバイスまたは仮想デバイスを移動させるか、または能動的にスケジュールを組むこともできる。
さらにまた、さまざまな他の計算ノード20は、ネットワーク16と、特に、BFN I/Oコントローラ12および高機能ノード14とインターフェースして、ユーザインターフェース活動、ネットワークおよびプロセス制御システム構成活動、データの収集およびストレージ活動、データ分析活動等のような他の制御活動を実施することができる。しかしながら、多くの場合、他の計算ノード20は、シンクライアントデバイスを含むか、またはシンクライアントデバイスを作動させることができ、シンクライアントデバイスは、他のノード内、および特に、高機能ノード14内の仮想デバイスまたはエンティティとインターフェースして、ユーザに情報を提供し、ユーザが、高機能ノード14の仮想デバイス内で実行される制御機能、メンテナンス機能、データ分析機能、警告機能、および他の機能とインターフェースすることを可能にする。
図2は、ネットワーク16のスイッチ18を介して接続されたBFN I/Oコントローラ12のうちの1つ、および高機能ノード14のうちの1つをより詳細に例示する。図2に例示されるように、BFN I/Oコントローラ12は、論理的構成要素30(BFN I/Oコントローラ12内のプロセッサ上で実行されるソフトウェアルーチンおよびモジュールを含む)と、1つ以上のプロセッサ34(汎用プロセッサ、ACIC、プログラム可能な論理アレイ、再プログラム可能なゲートアレイ、プログラム可能な論理コントローラ(PLC)等であり得る)、およびBFN I/Oコントローラ12を、制御されているプラントまたはシステム内のフィールドデバイスまたはその他のデバイスに接続する際に使用するためのさまざまな物理的I/Oコネクタ36を含む、物理的構成要素32とを含む。物理的I/Oコネクタ36は、4〜20ma規格のコネクタ、Fieldbus、CAN、Profibus等のコネクタなのバスベースのコネクタ、HARTコネクタなどのチャネルコネクタ、WirelessHARTコネクタ、IEEE無線プロトコルコネクタなどの無線コネクタ等を含む、任意の所望のタイプのI/Oコネクタであり得る。ある場合では、I/Oコネクタハードウェア36は、接続が行われた後に構成または指定されるプラント内のフィールドデバイスおよび他のハードウェアのアドレス指定またはタグ接続を可能にする、再プログラム可能なコネクタまたはデジタル構成可能なコネクタを含み得る。かかる構成可能な接続I/O構造の例は、米国特許番号第7,684,875号、同第8,332,567号、同第8,762,618号、同第8,977,851号、同第9,083,548号、同第9,411,769号、および同第9,495,313号、ならびに米国特許出願公開第2016/0226162号に記載されており、これらは、参照により本明細書に明示的に組み込まれ、本明細書ではCHARM I/Oと称される。
同様に、図2に例示されるように、I/Oコントローラ12の論理的構成要素30は、ネットワーク16を介して通信を実施する通信アプリケーション(Comm)、I/Oコントローラ12に記憶された制御モジュールを実装または実行して、例えば、BFN I/Oコントローラ12内での高速制御ダウンを実施することができる制御アプリケーション、および物理的I/O構成要素32または36を介してサブネットワーク(例えば、フィールドデバイス)との通信を実施するI/Oアプリケーションなどのさまざまなサービスアプリケーションを含み得る。図2にも例示されるように、論理的構成要素30は、例えば、入力制御モジュール(例えば、機能ブロック)、出力制御モジュール(例えば、機能ブロック)、比例−積分−微分(PID)もしくはモデル予測制御(MPC)ブロックなどの制御計算モジュールもしくはブロック、警告ブロック等であり得る、1つ以上の制御モジュール38を含むか、または記憶し得る。概して、BFN I/Oコントローラ12は、その中の制御モジュールまたはブロックを動作または実行して、高速制御(例えば、10ミリ秒のサイクル時間)を実施する。
図2に例示されるように、高機能ノード14は、サーバファーム内のサーバ、別個のマザーボード上のプロセッサおよびメモリ等のような複数の異なるハードウェアデバイスを含むことができ、各サーバまたはプロセッサ構成要素は、例えば、サーバキャビネット内の異なるブレードまたはハードウェアデバイスとして構成される。高機能ノード14は、ノードでのハードウェア監視を提供するだけでなく、さまざまなハードウェアデバイスで構成または実行される、ノード14内のさまざまな他の仮想デバイスまたはエンティティの動作を制御および指揮するスーパーバイザまたはハイパーバイザ50を含む。高機能ノード14は、例えば、ノード14の1つ以上のプロセッサ上でベースオペレーティングシステム(OS)として作動するWindows(登録商標)OSなどの1つ以上のオペレーティングシステムを含み得る。同様に、高機能ノード14は、任意の数の仮想マシン、デバイス、またはエンティティを含み得る。例えば、図2に例示されるように、高機能ノード14は、制御活動を実施するために、プロセスプラント内の従来のコントローラとしてエミュレートまたは動作することができる1つ以上の仮想コントローラ52を含む。仮想コントローラ52の各々は、標準の分散型コントローラでは典型的であるように、さまざまな制御モジュール、機能ブロック、警告モジュール、通信モジュール、ユーザインターフェースモジュール等を含むことができ、これらの制御モジュールまたは仮想コントローラ52内の他の構造は、フィールドデバイスの処理およびフィールドデバイスへの伝達のために、通信ネットワーク16を介してノード12に送信される(任意の種類の)制御信号を発生させることができる。しかしながら、この場合、仮想コントローラ52は、相互に依存せず、かつ高機能ノード14内の他の仮想デバイスまたはエンティティに依存せずに作動し、ノード14内の異なるプロセッサまたはサーバハードウェアデバイスで作動または実行することができ、制御を実施するため、例えば、センサ測定値を取得するため、制御信号を発生させてフィールドデバイスに送信するため、フィールドデバイスまたはオペレータインターフェース22、24からの警告、警報、およびその他のメッセージを発生させて送信または処理するため、指揮制御を実施する等のために、ネットワーク16を介してBFN I/Oコントローラ12のうちの1つ以上に依存せずに作動し、それらと通信する。
同様に、図2に例示されるように、高機能ノード14は、制御を実施することができるか、またはEthernetネットワーク接続16を介してノード14に連結された他の分散型制御サブネットワークの制御活動を追跡することができる、1つ以上の仮想Ethernet BFNコントローラまたはデバイス54を含み得る。かかるサブネットワークとしては、例えば、Modbusネットワークを挙げることができる。図2に例示されるように、仮想コントローラ52およびEthernet BFNコントローラ54は、同じまたは別個のまたは異なるオペレーティングシステムで作動または実行することができる。
さらにまた、図2に例示されるように、高機能ノード14は、仮想コントローラ52、50およびBFN I/Oントローラ12、ならびにそれらが取り付けられているサブネットワークからのプロセスおよび/または他のデータを収集、編成、および記憶し得る、もう1つのデータストレージ仮想マシン62を含み得る。所望の場合には、データストレージ仮想マシン62は、仮想ビッグデータアプライアンスまたは任意の他のタイプのデータストレージマシンとすることができる。さらに、高機能ノード14は、例えば、仮想データストレージデバイス62、仮想コントローラ52、50、BFN I/Oコントローラ12等によって収集されたデータまたは任意の他のデータを使用して、データ分析を実施し得る、1つ以上の仮想データ分析デバイス64を含み得る。繰り返しになるが、仮想マシンの各々は、任意の汎用プロセッサおよび異なるハードウェアデバイス(例えば、サーバまたはマザーボード)のいずれかに関連付けられたメモリ上など、ノード16内の同じまたは異なる汎用処理ハードウェア上に実装することができる。
さらにまた、高機能ノード14は、ネットワーク16内のデータに対してOPC処理および変換を実施して、異なるソースからのデータまたは異なる製造業者からのデバイスの相互運用または解釈を可能にする仮想OPC−UAデバイス68を含み得る。高機能ノード14はまた、1つ以上の仮想構成アプリケーション、仮想オペレータインターフェースアプリケーション、仮想制御インターフェースアプリケーション、仮想メンテナンスインターフェースアプリケーション等70を含み得る。仮想デバイス70は、標準のオペレータ制御活動(ユーザインターフェースを含む)、構成活動(ユーザインターフェースを含む)、メンテナンス活動(ユーザインターフェースを含む)、警告処理および表示活動等を実装することができ、これらの仮想デバイス70は、プラントまたはシステム10内のユーザとインターフェースするために、ネットワーク16を介してユーザワークステーションまたはシンクライアント22、24、26等とインターフェースすることができる。
さらにまた、高機能ノード14は、BFNコントローラ中継サービスまたはマシン74を含み得る。概して言えば、コントローラ中継サービスまたはマシン74は、例えば、高機能ノード14のBFN I/Oコントローラ12と仮想コントローラ52との間を流れるデータのデータ中継サービスを実施する。以下により詳細に論じられるように、これらのデータ中継サービス70により、ネットワーク16を介した通信がプロトコルに依存しないことが可能になる、すなわち、中継サービス70は、制御システム10内の異なるデバイス、仮想デバイス、論理的エンティティ、および仮想エンティティが所望の任意の通信プロトコルと任意のデータフォーマットとを使用し、依然としてネットワーク16を介して通信を実施することを可能にする。この特徴はまた、制御システム10が、BFN I/Oコントローラ12と高機能ノード14との間の通信を実施する際に使用する通信プロトコルおよびデータフォーマットの選択という意味でオープンアーキテクチャであることを可能にする。
理解されるように、ノード14内の仮想マシンまたはデバイスの各々は、それら自体の(および異なる)オペレーティングシステムを有することができ、ひいては、他の仮想デバイスに依存せずに作動することができる。さらに、高機能ノード14内のさまざまな仮想マシンの設計および構成は、互いに連携する必要がなく、ひいては、異なる製造業者によって提供され、ノード14の設計をオープンアーキテクチャにすることができる。さらにまた、単一の高機能ノード14内の仮想デバイスまたはエンティティの各々は、ノード14内の同じまたは異なる物理的サーバまたは処理デバイス上で作動または実行することができ、他の仮想デバイスまたはノード14自体を再構成することを必要とすることなく、かつ移動中の仮想デバイスのダウンタイムを限定または最小限に抑えるだけで、(例えば、ハイパーバイザ50によって)ノード14内の物理的ハードウェアまたは処理デバイス間で移動させることができる。この機能は、ハイパーバイザ50が、ノード14において物理的ハードウェアまたはサーバ間で仮想デバイスを移動させて、ノード14で負荷のバランスをとり、ハードウェアデバイスのうちの1つが失敗した場合に冗長性の再構成または切り替えを実施し、ノード14で他の仮想デバイスの動作等に大きな影響を与えることなく、特定の仮想デバイスによって一時的な高負荷処理を可能にする。
したがって、図1および2の新しいオープンアーキテクチャの産業制御システムは、1つ以上の基本機能ノード(BFN)入力/出力(I/O)コントローラまたはデバイス12、および1つ以上の制御スーパーバイザまたは高機能ノード14がネットワーク16を介して連結され、各々がI/Oサービス、デバイスサービス、制御サービス、および共通のサービスを含む一連の機能をサポートし得る、分散型アーキテクチャを含む。システム10は、ハードウェアとソフトウェアとの組み合わせを含み、BFN I/Oコントローラ12のハードウェアは、構成可能なスマート論理ソルバ(CSLS)、構成可能なI/Oキャリア、さまざまな構成可能なI/Oモジュールおよびサポートケーブル、ならびに電源を含む。システム10はまた、オープンシステム(例えば、OPC−UA)インターフェース68、コントローラ中継器層70、および他の特徴を提供するために使用される指揮コントローラ14を含む。システム10の指揮コントローラノード14および他の部分は、構成可能な仮想システムの一部として仮想化およびパッケージ化され得るか、またはスタンドアロンハードウェアとしてインストールされ、作動することができる。
基本機能ノード12を、最も基本的な形で、単一のデバイスで、または単一の測定でも使用することができ、その結果、すべての場合で基本機能ノード12がI/Oを多重化する必要がないことが理解されよう。さらに、基本機能ノード12はまた、他のデバイス、例えば、Ethernet IPデバイスがオープンプロトコルをサポートしていない場合、それらのデバイスに中継サービスを提供することができる。さらなる例として、基本機能ノード12は、重量スケール、NIRデバイス、ゲージングシステム等のような他のデバイスに中継サービスを提供することができる。
さらにまた、基本機能ノード12を介して接続する代わりに、本明細書に記載される制御システムアーキテクチャを拡張して、I/Oデバイス、または実際のプロセス制御デバイスもしくはフィールドデバイスなどの他のデバイスをネットワーク16に直接接続させることができる。この場合、デバイス(例えば、フィールドデバイス)は、ネットワークプロトコルとの通信をサポートし、通信、データ操作、およびバルブ診断などの特定の機能のために使用され得る(以下に記載されるアクタであり得る)ルーチンのうちの1つ以上、ただし、場合によってはごく少数を含み得る。
図1および2の制御アーキテクチャは、アプリケーションが、プラント制御システム10内のネットワーク16の任意の計算ノードまたはプロセッサノードにインストール可能であることを可能にするように設計されている。これらのアプリケーションは、システムの負荷要求および外乱に応答して、ノード間で分散されたり、場合によっては計算ノード間で移動されたりする場合がある。アプリケーションを依存せずに移行およびアップグレードする能力により、システム10全体で非常に重要なスケーリングとアップタイム統計を達成することが可能になる。この能力は、リアクティブと称される場合があり、Erlang、ならびに最近ではAkkaおよびAkka.Netを含むさまざまなリアクティブアーキテクチャ上に構築される場合がある。
新しいオープンアーキテクチャはまた、自己記述型のデータ駆動型システムまたはデータメッセージングの使用を含み得る。自己記述型メッセージングアプローチでは、データおよびデータ記述の両方をシステム10内のあらゆる構成要素(物理的および/もしくは論理的または仮想構成要素)の一部として記憶することができ、データおよびデータ記述の両方は、任意のデータ通信のエンドポイント間の接続の確立の一部として通信され得る。
新しいオープンアーキテクチャはまた、ハードウェアレベル、アプリケーションレベル、および特徴レベルでの冗長性を含む。ハードウェアレベルでは、データをシステム間で複製することができ、ハードウェア障害が検出されると、タイミングまたはデータをまったく、またはほとんど失うことなく、アプリケーションまたは仮想マシン全体を(例えば、ハイパーバイザ50によって開始される)他のハードウェアプラットフォームに自動的に切り替えることができる。アプリケーションレベルでは、アプリケーションを、異なる計算ノードまたは(これもハイパーバイザ50によって開始される)ノード内の異なるサーバもしくは物理的処理マシン上で複製することができ、接続を失うことなくデバイスまたはノード間で移行することができる。特徴レベルでは、測定値などの特徴を他の測定値で、またはより一般的な場合ではソフトセンサでバックアップすることができる。システム10はまた、制御システムの基本アーキテクチャの一部として測定調和を実施し得る。
さらにまた、新しいオープンアーキテクチャは、データ駆動型インターフェースを含み得る。データ駆動型インターフェースを用いると、エンドポイントは、実装例の詳細を知らなくても、関係するデータについて構成要素を照会することができる。これをさらに一歩進めると、照会駆動型機能スタイルのインターフェースを使用して、物理的に分離されたサブシステムにわたってデータにアクセスすることができる。同様に、上記のように、この制御システムアーキテクチャでは、ハードウェアコンピューティングリソースをクラスタ化および仮想化して、非常にスケーラブルなハードウェアプラットフォームを提供することができ、これらの仮想化システムは、Dockerなどの技術を使用して、アプレットをインストールおよび実行することができる。
さらに、オープンシステムアーキテクチャは、アプリケーションが、システム10内の任意の計算ノードにインストール可能であることを可能にするように設計される。したがって、これらのアプリケーションは、ノード12と14との間で分散され得るか、または場合によっては、例えば、システムの負荷および障害に応答して、ノード12と14との間で移動され得る。アプリケーションを依存せずに容易に移行およびアップグレードする能力により、システム10全体で非常に重要なスケーリングと利用可能な統計を達成することが可能になる。
背景として、分散型制御システム(DCS)産業は、マイクロコントローラの台頭によって大部分が可能になった。初期のDCSアーキテクチャの一部として、オペレータ、コントローラ、およびI/O機能は、専用の計算プラットフォームに分離され、プロプライエタリな冗長性ネットワーク技術を介して分散されていた。Emerson Automation SolutionsのDeltaV(商標)システムなどの次世代システムは、これらの概念を、制御機能がほぼすべてのノードで作動することを可能にすること、および計算能力がシステム内の任意のポイントで利用されることを可能にすることによっての両方に拡張しており、最近では、CHARMS(商標)技術の点でI/O自体に拡張した。DeltaVは、Ethernet、スイッチ、TCP/UDP/IP、ならびにWindowsおよびLinux(登録商標)などの一般的なオペレーティングシステムなどのITベースの技術も採用している。DeltaVなどのシステムは、制御を任意の場所で作動させることができるが、アーキテクチャは依然として、機能が特定の計算ボックスまたはマシンで作動されることを強要する。
さらに、非常に高いアップタイムを達成し、障害シナリオをサポートするため、およびオンラインアップグレードシナリオを提供するために、制御アーキテクチャは、典型的には、ネットワーク冗長性、コントローラ冗長性、I/O冗長性、およびアプリケーションステーションの冗長性をすべてハードウェア固有ベースで提供する。この冗長性はその目標をほぼ満たしているが、制御アプリケーションのスケールアップを困難にする。特に、制御アプリケーションは、手動で再割り当てし、システムにインストールまたは「ダウンロード」しなければならない。さらに、リモート監視、障害検出、およびその他のアプリケーションの台頭により、これらのDCSアーキテクチャの負荷がさらに増加した。これらの要件の多くは、いわゆるIoTまたはIIoT要件によって駆動される。
本明細書に記載されるシステムで使用されるとき、これらの問題の一部に対する答えは、一部には、マルチコアプロセッサの使用、タイムセンシティブネットワーク(TSN)、FPGAなどプログラム可能なプラットフォーム、データ駆動型技法、およびメッセージ駆動型システムなどの新興のネットワークメッセージングパッシング技術の使用である。マルチコアプラットフォームを使用する1つの方法は、仮想化、および最近ではDockerなどのコンテナベースの仮想化を用いてきた。仮想化およびコンテナベースの仮想化は、多くの産業で採用されている。しかしながら、図1および2のオープンアーキテクチャ制御システムで使用され得る1つの重要なアプローチは、アクタベースの方法(これは、コンピュータサイエンス産業では一般的な用語である)を利用する。このアクタベースのアプローチにより、システム10のリアクティブ性が高まり、リアクティブアプリケーション開発は、大きなパラダイムシフトである。
概して、リアクティブシステムの原則は、特にメッセージ処理の使用によって、応答性、回復力、および弾性がより高いシステムを達成するように設計される。より具体的には、応答性システムは、計算の必要性、障害、およびユーザ要求の変化に可能な限り迅速に応答することができ、これにより、アプリケーションおよびユーザが動作の完了を無駄に待つのに多大な時間を費やさないことを確保する。例えば、アプリケーションが応答するためには、アプリケーションが使用量のスパイク増加に反応することができる必要がある。これらのスパイクは、何らかの形態の異常検出を実施するためのユーザ要求によって、またはユーザがシステム全体からデータを表示する一連のダッシュボード(ユーザインターフェース)を引き上げるのと同じくらい単純または一般的なものによって駆動され得る。アプリケーションの使用量が2倍になった場合、アプリケーションの応答時間も2倍になってはいけない。応答性を管理する最も容易な方法は、この増加した処理圧力に反応する容易なスケーラビリティを可能にするシステムを作成することである。アプリケーションの負荷が増加した場合にプロセッサリソースを過負荷にすることなく、サービスのインスタンスの数を増減できるようにアプリケーション処理を提供することにより、アプリケーションがこれと処理要求の増加に容易に反応することを可能にする。本明細書に記載されるシステムは、システム10で使用される仮想化およびメッセージパッシングスキームに基づいて、この容易なスケールアップを可能にする。
さらに、アプリケーションを使用可能にするためには、アプリケーションは、供され得る広範な条件に耐える必要があり、そのため、回復力があるべきである。アプリケーションは、負荷の増加によるユーザに起因する問題、ならびにアプリケーション内で発生した問題に対して回復力があるべきである。例えば、とりわけ、より強力なアプリケーションを作成するために組み合わされている非常に多くのデータソースにより、ほとんどすべてのアプリケーションでエラーは一般的な態様である。これらの外部サービスのいずれかが失敗する可能性は常に存在し、その結果、アプリケーションでエラーに遭遇したときに何が起こるかを考慮することが重要である。回復力のあるアプリケーションを確保するために、アプリケーションは、障害源に応答することができるか、またはそれに耐えられなければならない。
同様に、許可の欠如などの潜在的なセキュリティ上の問題が発生した場合に、システムがいかに対処するかを考慮することも重要である。ユーザがユーザ自身のジョブをますます多くのサービスと統合することを検討するにつれて、システムアーキテクチャは、これらのサードパーティシステムの障害を取り扱うことができることが必要である。概して言えば、障害が発生した場合に、対処するためにシステム全体が苦戦しないこと、またはさらに悪いことに、単一の構成要素の障害の結果としてシステム全体が失敗することに苦戦しないことが重要である。理想的には、障害を可能な限り最小のユニットまで下位へ隔離し、そのユニットだけに障害をカプセル化することが望ましい。この設計の目標は、アプリケーションが依然として逆境に立ち向かうことができることを確保するのに役立つ。障害を考慮すると、ユーザに対して障害の内部詳細を強要することは望ましくないが、代わりに、ユーザにとって意味のある一部の詳細をユーザに提供することが望ましい。理想的なシナリオでは、システム10は、課題を自動的に解決し、アプリケーションに自己修復させることができるべきである。したがって、スケーラビリティおよび回復力の両方が強力な接続を共有し、アプリケーションがスケーラビリティを念頭に置いて構築されている場合、アプリケーションは障害をよりよく取り扱うことができるであろう。アプリケーションが回復力を念頭に置いて構築されている場合、アプリケーションは増加した負荷を取り扱うことができるという点で、この記述の逆も真である。
リアクティブシステム、および特に、図1および2の制御システム内のリアクティブアプリケーションを提供するために、システム10は、システム内のアプリケーションまたはエンティティ間の単方向メッセージング、およびメッセージングのための自己記述型データプロトコルの使用に依存する特定のメッセージパッシングプロトコルまたはアーキテクチャを使用することができる。メッセージパッシングアーキテクチャは、非同期通信の形態であり得、ここで、データは、ワーカーがファイアアンドフォーゲット方法で後のステージで処理するためにキューに入れられる。かかる単方向メッセージパッシングアーキテクチャを使用することにより、回復力があり、スケーラブルで応答性のアプリケーションを作成するためのいくつかの貴重な構築ブロックを提供する。特に、単方向メッセージパッシングアーキテクチャの使用は、構成要素(アプリケーション、デバイス等)間の隔離を提供する。隔離が達成されると、利用可能なCPU電力、利用可能なメモリ、障害のリスク等のような要因に応じて、最も理想的な(ハードウェア)場所で実施する必要がある異なるタスクを展開することが可能である。隔離は、単一の構成要素が失敗した場合、システムの残部が同様に失敗することなく、動作することが可能であるため、回復力の重要な構成要素である。隔離はまた、失敗した構成要素が、依存サービスからバックオフして課題を引き起こすか、またはその状態をリセットするために再起動するかのいずれかによって、時間の経過とともに自己修復する機会を得ることを可能にする。
さらに、単方向メッセージパッシングスキームを使用することにより、場所の透過性を提供する。より具体的には、単方向メッセージパッシングは、送信側がメッセージを送信するために受信側のアドレスを提供することのみを必要とする。送信側は、受信側の(ハードウェア内の)実際の場所を知る必要がなく、かつそれにより、受信側は、制御システム内の任意の場所に位置することができ、送信側が知らなくても移動することができる。特に、送信側が受信側のアドレスでメッセージを送信する場合、フレームワークは、そのサービスが同じマシン上、同じノード内のサーバ上、またはまったく異なる計算プラットフォーム内のサーバ上に位置するかどうかにかかわらず、クラスタまたはノードのセット内のサービスまたは受信側の物理的な場所にメッセージをルーティングする複雑さを扱う。この特徴により、フレームワークは、変更についてアプリケーションに警報する必要なしに、作動中のタスクの場所を動的に再構成することができ、より容易なスケーリングが可能になる。システム障害を考慮すると、フレームワークがサービスを新しい場所に再展開することは完全に実行可能であり、これも場所の透過性の要件につながる。
メッセージパッシングを、アクタベースの同時並行性の使用によって有利に扱うこともできる。この方法論の例としては、ErlangおよびAkkaが挙げられる。これらの技法は両方とも、システムを非依存アクタに分割するアクタモデルを実装する。アクタモデル内のアクタは、3つの重要な概念であるストレージ、処理、および通信をカプセル化する。アクタは、非ブロッキングで非同期である。
DCSは、データ集約型アーキテクチャである。その結果、測定デバイスから非常に大量のリアルタイムデータが抽出され、このデータを使用して、制御、ユーザ、およびエンタープライズレベルの決定を駆動する。リアクティブアプリケーションは、周囲の変化する世界に反応する。したがって、構成要素または作業ユニットは、初期の処理チェーンで他の構成要素によって伝播されたメッセージに反応する。この単方向のアクタベースのメッセージングの結果として、図3に示されるように、データはアプリケーションのステージを通って流れる。特に、図3は、単純なデータフローダイアグラム100の一例を提供し、ここで、複数のデータコレクタ102は、データをデータアグリゲータ104に提供(またはファンイン)し、次いで、データアグリゲータ104は、データを別のデータアグリゲータ106に送信することができ、次いで、データアグリゲータ106は、データを複数の出力ブロック108に送信することができる。図3のデータコレクタ102は、例えば、センサ測定値であるか、または従来の制御システムのAIブロックに関連している場合がある。データアグリゲータ104は、従来の制御システムの制御ブロックまたは制御モジュールであり得、データアグリゲータ106は、従来の制御システムの警告取り扱いブロックであり得、出力ブロック108は、従来の制御システムユーザインターフェース、警告ステーション、警告インターロック等であり得る。当然のことながら、図3のデータフローダイアグラム100は、産業制御システムまたはプロセス制御システム内の多くの他のタイプのデータフローを表すことができる。図3の矢印は、データがどのようにシステムを通って流れるかを例示しており、循環依存関係(すなわち、データメッセージングに関する単方向フロー)の欠如は、かかるシステムがどのように動作するかを理解するために必要なオーバーヘッドを低減することがすぐに明らかになる。
図3の例では、システム10は、(例えば、パブリッシュ/サブスクライブ通信プロトコル、HTTP API要求、またはMQTTなどの他の何らかの形態の遠隔取り込みプロトコルなどの制御システムプロトコルを介して)データを制御システムに取り込む。データがセンサデータである場合、センサ識別子構成要素(例えば、データアグリゲータ104または106のうちの1つ)は、センサ読み取り値に対してアグリゲーションおよびその他の処理を実施することを担い、次いで、これらの読み取り値を次の構成要素に伝播する。この次の構成要素は、ビュークライアントであり得、次いで、ビュークライアントは、データを、データを表示するディスプレイ、データを記録する履歴クライアント、ならびにデータおよび/または他のアプリケーションに対してアクションをとる制御アプリケーションに提供する。データフローを考慮する際の主要な目的は、動作がチェーン内で逆方向に呼び出されることに依存することを避けるべきであることである。代わりに、各サービスは、チェーンの前の要素(複数可)から受信したデータに応じて正しく作用することができるべきである。この単方向のデータフローにより、構成要素の試験が容易であること、コードベースを初めて使用する開発者にとって組み合わせが理解しやすいこと、およびまた、アプリケーションがプルベースモデルではなくプッシュベースモデルで作業することができることを確保する。プルベースモデルにアプリケーションが存在すると、複数の非依存サービスがすべてプル動作の対象からデータを回収するために競合するときに、コンテンションの課題に直面するため、コンテンションの課題の潜在性につながる。
さらに、図3の例では、ボックスまたはオブジェクト(例えば、コレクタ102、アグリゲータ104および106、ならびに出力108)の各々は、アクタモデルのアクタである。アクタモデルは、同時並行動作をモデル化する手段として設計された計算のモデルである。アクタモデルは、低レベルの同時並行プリミティブを抽象化する手段として、非依存エンティティ間でメッセージパッシングを使用することに依存する。Erlangは、アクタモデルの実装例で最も有名な例であり、テレコム用の高度な同時並行アプリケーションの開発を支援するようにEricssonによって設計されている。アクタモデルは、本明細書に記載される制御システムが、マルチスレッドの詳細を気にする必要がない一方で、任意の特定のハードウェアマシンですべてのリソースの大部分を利用可能にもしながら、システムが任意の数のコアを有するマシンで作動することができるような方法でコードを使用することを可能にする、強力な抽象化を形成する。
本明細書に記載される制御システムアーキテクチャの別の重要な態様は、構成要素(例えば、仮想デバイス、仮想構成要素またはエンティティ、ハードウェアデバイス、およびアクタ)間のデータまたはデータメッセージングが自己記述型であることである。自己記述型データメッセージングプロトコルをサポートするには、制御システム10の構成要素は、データおよびデータ記述の両方を独立してまたは一緒に受信することができなければならない。このようにして、アクタは、データ記述を使用して、最初に受信中のデータを解釈し、次いで、データに作用することができる。
データ記述およびデータの両方を自己記述型データシステムで送信する方法を図4に詳細に例示する。特に、図4のダイアグラム120に例示されるように、アクタ122は、プラント(またはプラント内の別のアクタ)124からデータを受信し、かつ同様に、データ124の受信と同時に、または受信前もしくは受信直後のその他の時点で受信し、アクタ120は、アクタ122がデータ124を復号化および理解することを可能にする方法で、データ124を記述する参照データ126を受信する。データ124および参照データ(メタデータとも称される)126は、例えば、図4の例に示されるように、圧縮された形態で伝送されても、JSON形態で拡張されてもよい。しかしながら、データは、任意の所望のプロトコルおよび/またはデータフォーマットで表現または送信され得る。いずれの場合でも、参照またはメタデータ126は、受信されているデータ124を解釈するためにアクタ122によって使用される。
図1および2のシステムでは、コントローラ中継サービスマシン74は、仮想マシン52、54等がアクタとしてモデル化されている場合、図4のスキームを使用して、ノード14内のさまざまな他の仮想デバイスのデータ復号化および解釈を実施することができることが理解されよう。また、本明細書に記載されるアクタベースのモデルは、各仮想デバイスまたは論理的構成要素が別個のアクタであるように、BFN I/Oコントローラ12内に描写された仮想デバイス、および高機能ノード14内の仮想デバイスまたはエンティティで使用され得ることを理解されたい。この場合、BFNコントローラ中継器74は、本明細書に記載される自己記述型データメッセージングスキームに基づいてデータ復号化を実施し、解釈されたデータを他の仮想マシン(例えば、仮想コントローラ52、仮想Ethernet BFN54、データ分析マシン64等)のうちの1つ以上に提供することができる。同様に、BFNコントローラ中継器74は、他の仮想マシン50、52、62、64のうちの1つから送信されたデータメッセージを外部デバイス(例えば、DNC I/Oコントローラ12)に、仮想デバイスによって送信されたデータメッセージと組み合わせて、これらのデバイスまたはメッセージのデータ記述を提供することによって、提供するか、または適合させることができる。
しかしながら、重要なことには、仮想コントローラ52内の制御ブロックまたはモジュールの各々、データ分析マシン64内の各データ分析ブロック等のような、仮想デバイス内の実際の仮想エンティティのさまざまなもの、または所望の場合には、それらの各々は、アクタモデル内の別個のアクタであってもよい。同様に、この場合、BFN I/Oコントローラ12内の論理的エンティティの各々は、アクタモデル内の別個のアクタであり得る。結果として、データ中継またはデータメッセージングは、(例えば、本明細書に記載される自己記述型データスキームを使用して)各アクタによって実施され得る。この場合、この機能は別個のアクタによって提供されるため、コントローラ中継サービスマシン74は、高機能ノード14には必要ない場合がある。
同様に、上記のように、基本機能ノード12を介して接続する代わりに、制御システムアーキテクチャを拡張して、プロセス制御デバイスまたはフィールドデバイスなどの他のデバイスをネットワーク16に直接接続させることができる場合、デバイス(例えば、フィールドデバイス)は、ネットワークプロトコルとの通信をサポートし、通信、データ操作、およびかかる通信を可能にするバルブ診断などの特定の機能に使用され得る1つ以上のアクタを含むことができる。ここで、アクタは、制御システム内でフィールドデバイスレベルに下位へ広がっている。
いずれの場合も、アクタベースのアプローチは、例えば、バッチ制御および状態ベースの制御を含むさまざまなタイプの制御に非常に適している場合がある。バッチ制御を用いて、アクタの各々は、バッチがレシピを進行するにつれて、他の関係するアクタにメッセージを送信する。同様に、状態ベースの制御またはそれについての単純なシーケンス制御を用いて、アクタは、シーケンスが進行するにつれて、他の関係するアクタにメッセージを送信する。これらの場合、アクタ間でメッセージを送信する以外に、アクタ間の密接に連結された連携の必要はない。さらにまた、アクタ間のメッセージは任意の所望のフォーマットおよびプロトコルのものであり得、HARTまたはFieldbusプロトコルメッセージなどの他のプロトコルメッセージを包含し得ることが理解されよう。同様に、アクタは、バスベースのネットワークで使用されるのと同じ基本原則を使用して、メッシュネットワークを介して通信することができるため、通信ネットワークが(例えば、有線もしくは無線ネットワーク、またはこれら2つの組み合わせに基づく)メッシュ通信システムである場合でも、アクタベースのモデルを使用することができる。
従来のプロセス制御システムに適用されるアクタモデルの使用の一例として、従来のプロセス制御モジュールの各機能ブロックは、各アクタが次いで(他のアクタに対して非同期に)実行され、その結果をチェーン内の次のアクタに送信し、これにより、機能を下位のチェーンに駆動させるときに、アクタモデルの別個のアクタとして指定され得る。このマッピングは、例えば、カスケードプロセス制御ループでよく機能する。
アクタベースのモデルをプロセス制御システムのプロセス制御ループに適用する別の例として、図5は、BFN I/Oコントローラ12のうちの1つ以上と高機能ノード14のうちの1との間で分離された単純なPID制御ループ130を実施する1つの方法を例示する。この例では、プロセス制御ループは、フィールドデバイス内またはBFN I/Oコントローラ12のうちの1つに配設されたAI(アナログ入力)ブロック132を含み、高機能ノード14の仮想コントローラデバイス52に実装されたPID制御ブロック134に測定信号を提供し、バルブ内またはBFN I/Oコントローラ12のうちの1つに配設されたAO(アナログ出力)ブロック136に制御出力を提供し、バルブを位置決めする現在のバルブのフィードバック測定を受信する。従来の制御システムでは、ブロック132、134、および136は、プロプライエタリであり、同じプロトコルまたはメッセージングスキームに適合し得、これらのブロックは、専用または事前構成された通信パスを介して事前構成されたハードウェアに信号を送信して、制御通信を実装するように構成され得る。ブロック132、134、136はすべて同じプロトコルのものであるため、送信および受信ブロックは、これらのメッセージが同じプロトコルおよびデータフォーマットに適合している場合、常にデータメッセージをどのように読み取るかを知っている。
しかしながら、図5の下部は、アクタベースのモデルを単純な制御ループ130に適用して、単方向および自己記述型のメッセージングを提供するか、または提供することができ、これにより、図1および2のネットワーク16を介して(および同じノード内のアクタ間、または単一ノードの物理的マシンもしくはプロセッサ間でさえ)メッセージプロトコルおよびフォーマットの独立性を可能にする、方法を例示する。特に、アクタベースのモデル140では、複数のデータコレクタブロック142Aおよび142Bを提供して、(AIブロック132に関連付けられた)センサ測定値および(AOブロック136に関連付けられた)バルブ位置測定値を収集する。これらのデータコレクタブロック142Aおよび142Bは、異なるフィールドデバイス内および/または同じもしくは異なるBFN I/Oコントローラデバイス12内に位置し得る。しかしながら、図5に例示されるように、ブロック142Aおよび142Bの各々は、データ中継器ブロック144Aおよび144Bに接続され、それらの各々は、自己記述型データプロトコルを使用して、ネットワーク12にわたってデータメッセージングを提供する。ブロック144Aおよび144Bの各々は、ブロック142Aおよび142Bからのデータを同じまたは異なるメッセージングプロトコルパケットにカプセル化することができ、ベースメッセージ(データメッセージとも称される)内のデータを記述する他のメタデータメッセージを提供することができる。ブロック144Aおよび144Bは、(自己記述型メッセージスキームに関連付けられた)これらのメッセージの対を、この場合、高機能ノード14のうちの1に配設された仮想コントローラ52のうちの1つに存在し得る下流ブロック146Aおよび146Bにアドレス指定されたネットワーク16にわたって送信することができる。ブロック144Aおよび144Bは、異なるメッセージプロトコルおよび/または異なるメッセージフォーマットもしくはデータフォーマットを使用することができ、ひいては、データコレクタブロック142Aおよび142Bは、同じプロプライエタリなプロトコルまたはスキームに適合する必要はないが、異なるプロプライエタリなプログラミングを使用する完全に異なる製造業者によって提供され得ることに留意されたい。さらに、中継器ブロック144Aおよび144Bは、(例えば、互いに)完全に異なるデータフォーマットまたはメタデータ記述を使用してメッセージを送信することができ、これもまた、これらのブロックの使用時の独立性およびオープンさを高める。
さらにまた、中継器ブロックまたはアクタ146Aおよび146Bの第2の対は、それぞれブロック144Aおよび144Bからデータメッセージおよびメタデータメッセージを受信し、内部の情報を使用して、データ(例えば、センサ測定データ)を復号化する。この復号化プロセスは、メッセージのメッセージプロトコル(例えば、パケットフォーマット)を判定すること、ならびにメタデータメッセージに基づいてメッセージ内のデータの意味を定義するデータフォーマットを判定すること、を含み得る。次いで、中継器ブロック146Aおよび146Bは、復号化されたデータをPID制御ブロック148に提供する。中継器ブロック146Aおよび146Bは、互いにおよびPIDブロック148とは独立して動作し得ることに留意されたい。プロプライエタリな制御ルーチンを設けることができるPID制御ブロック148は、センサ測定入力を使用し、その出力で制御信号を生成することができる。PID制御ブロックからの制御信号は、ネットワーク16を介した通信に適したメッセージ(メッセージパケット)内のデータを符号化することができ、そのデータを、BFN I/Oコントローラ12のうちの1つの中の論理的エンティティにアドレス指定されたネットワーク16にわたるメタデータメッセージと共に送信することができる、別の中継器ブロック150(アクタモデル内の別個のアクタ)に提供され得る。次いで、メッセージは、(メタデータおよびデータメッセージ内のデータに基づいて)ネットワーク16を介して受信されたメッセージ内のデータを復号化する、適切なBFN I/Oコントローラ12内のさらなる中継ブロック152によって受信される。さらに、中継器ブロック152によって復号化されたメッセージは、ネットワーク16にわたって送信される場合、任意のメッセージプロトコル(例えば、任意のパケットベースのプロトコル)であり得、中継器ブロック152がメタデータを使用して、データメッセージのフォーマットを復号化または理解するため、任意のメッセージもしくはデータフォーマットまたはスキームを使用し得る。いずれの場合も、中継器ブロック152は、次いで、例えば、BFN I/Oコントローラ12のうちの1つまたはフィールドデバイス内の論理的構成要素等の中にあり得る制御ブロック154に制御信号を提供して、例えば、バルブの位置を変更させる。
述べられるように、ブロック142A、142B、144A、144B、146A、146B、148、150、152、および154の各々は、同じまたは異なる物理的ハードウェアで動作し得る別個のアクタである。これらのアクタの各々は、互いに非同期の単方向を使用し、ひいては、いずれのプルベースの通信も実施しない。さらにまた、アクタまたはブロックの各々は、本明細書に記載される自己記述型データプロトコルを使用してデータを伝送し、通信プロトコルおよびフォーマットを独立させることができる。場合によっては、自己記述型データプロトコルのメタデータメッセージは、データメッセージと同時(例えば、わずかに前またはわずかに後)に送信され得るか、または下流アクタによる使用のために、周期的にまたは他の非周期的な時間に下流アクタに送信され得る。つまり、メタデータメッセージは、受信アクタはデータメッセージの復号化に使用するためのメタデータを記憶することができるため、自己記述型メッセージプロトコルのデータメッセージほど頻繁に送信する必要がない場合がある。したがって、メタデータメッセージは、典型的には、データメッセージよりも少ない頻度で送信され得、メタデータメッセージは、メタデータが変更、追加、または別様に改変された場合、および/またはメタデータの特定の上流アクタからデータメッセージを受信し得るシステムに追加された新しいアクタに通知するためにのみ送信され得る。
さらにまた、図5に例示されるように、アクタベースのモデルは、従来の制御ループのAIブロック132にほぼ対応するアクタ142Aおよび144Aを有し、従来の制御ループ130のPIDブロック134に対応するアクタ146A、146B、148、および150を有し、従来の制御ループ130のAOブロック136に対応するアクタ142B、144B、152、および154を有する。当然のことながら、チェーンまたはアクタモデル140に他のアクタを追加して、他のアクションを実施することができる。例えば、中継器ブロックを2つのアクタに分割することができ、そのうちの一方は、メタデータスキームに従ってデータメッセージをフォーマット化し、そのうちの他方は、第1のアクタのデータメッセージを特定のパケットベースのプロトコルのパケットにフォーマット化して、そのメッセージを、ネットワーク16を介して送信する。
理解されるように、本明細書で論じられるアクタベースのモデルの使用は、単方向のメッセージングを提供し、自己記述型メッセージングプロトコルの使用を可能にし、制御システム内のさまざまな論理的要素の非同期動作を可能にし、これにより、制御システム10内で実行されるアプリケーションに上で論じられるリアクティブな利点を提供する。例えば、このアクタベースのモデルを使用すると、ユーザが中継器ブロックを制御ブロックとは独立して更新することを可能にする。この特徴は、ユーザまたはシステムが、データプロトコルまたはデータメッセージングフォーマットが変更されるたびに(例えば、実装されるパケットベースのメッセージングプロトコルに新しい更新が提供されるとき)、制御ブロック(例えば、制御ブロック通信)に接触するか、またはそれを再構成する必要なしに、中継器ブロックを変更または再構成することを可能にする。一方、この特徴は、データメッセージングまたは中継器ブロックを変更する必要なしに、(例えば、これらのブロックのプロプライエタリな動作を変更または更新するために)制御ブロックを更新または変更することを可能にする。次いで、この特徴は、変更に直接関連付けられていない機能を有する他のアクタを再構成することなく、変更に関連付けられたアクタを中心に再構成活動を行うことを可能にする。この動作により、システム10の構成がより容易になり、より隔離され、エラーの検出と修正がより容易になり、システムまたはコントロール内のアプリケーションのエラーに対する回復力が高まる。
前述したように、本明細書に記載される制御システムアーキテクチャは、ワークロードの変化および構成要素の障害の両方を容易に取り扱うことができる。特に、比較的複雑な制御システムを扱うときに発生する可能性のある多くの異なるタイプのエラーおよび問題が存在する。いくつかの例としては、ハードウェア障害、ソフトウェア障害、ネットワーク接続障害、メンテナンス障害、および過剰な処理障害が挙げられる。
概して言えば、アプリケーションまたは論理的エンティティをホストする計算ノードの物理的構成要素が失敗すると、ハードウェア障害が発生する。この障害は、いくつかの(例えば、センサ)アクタをホストしているノードが失敗した場合を網羅する。典型的には、ハードウェア障害としては、ハードドライブ障害、プロセッサ障害等のようなものが挙げられる。ハードウェア障害の場合、システム(例えば、図2のハイパーバイザ50)は、そのノード上に位置するアクタ(例えば、センサ)表現を置換デバイスまたはノードへ容易に移行することができる(例えば、センサをバックアップセンサ、ソフトセンサ、または障害条件ハンドラーに移行することができる)。したがって、アクタまたは他の論理的エンティティを、制御システム10の同じノード上の他のハードウェアまたは他のノード上のハードウェアの任意の組み合わせに流すことができる。ここで、メッセージはハードウェア固有の場所ではなく、他のアクタにアドレス指定されているため、フロントエンドノードは、メッセージを正しくリダイレクトすることができるが、これらのメッセージの内部には関係がない。したがって、(本明細書に記載される通信はハードウェアの場所に依存しないようにできるか、またはそのようにセットアップされるため)ルーチン、コントローラ、中継器を再構成する必要なしに、かつ特に、移動する構成要素の通信を再構成する必要なしに、図2のスーパーバイザまたはハイパーバイザ50は、例えば、制御ルーチン、仮想コントローラ、中継サービス等のような構成要素を1つのハードウェアデバイスから(またはハードウェアデバイス内の異なるメモリまたはプロセッサに)移動させることができる。
不正な動作が発生し、ソフトウェアが未だ取り扱っていない例外をスローすることにつながると、ソフトウェア障害が発生する。このタイプの障害としては、アプリケーションに落ち度がある汎用事例、例えば、アプリケーションが接続を担当するデータベースにアクセスできない場合、またはアプリケーションがゼロで除算しようとする場合、が挙げられる。このタイプの障害を取り扱うために、システムは、個々のセンサまたはアプリケーションを監視し、障害が発生した場合に、典型的にはアクタまたは表現を再起動することによって、アクタが既知の作業状態に戻されることを保証するスーパーバイザ(例えば、ハイパーバイザ50)を含む。
ネットワーク接続障害は、ルータ障害、スイッチ障害、またはその他のネットワークハードウェア障害の結果として、マシンが相互に通信することができない場合に発生する。同様に、環境メンテナンスルーチン障害としては、データヒストリアンから大量のデータを収集するなど、いくつかの潜在的に長時間作動されるタスクを作動することが挙げられる。これらのすべての場合において、障害によりアプリケーションからリソースが奪われ、アプリケーションが一時停止する可能性がある。この後者の状況は通常、障害とは見なされないが、アプリケーションが十分な時間内にハートビート要求に応答しない可能性があるため、他のマシンからは障害として認識される可能性がある。このタイプの障害を修正するために、システムは、アクタまたは表現が利用可能な処理能力がより高い場所に移動することを保証するスーパーバイザ(例えば、図2のハイパーバイザ50)を含む。
さらに、アクタ(例えば、センサ)が他のアクタよりも多くの処理を必要とする場合、過剰処理障害が発生する可能性がある。例えば、1つのセンサアクタが1秒ごとに1回よりも頻繁に読み取り値を発生させる場合があり、これは、処理持続時間への波及効果を有する。この場合、システムは、他のセンサが応答し続けること防ぐことになるため、他のセンサアクタの処理時間を奪うことは望まない。このタイプの障害を取り扱うことができるようにするために、システムは、センサまたは他のアクタが、独自の専用スレッドにあるマシンであるか、すべて一緒に完全に異なるマシンであるかどうかにかかわらず、利用可能な処理能力がより高い場所に移動することができることを保証するスーパーバイザ(例えば、図2のハイパーバイザ50)を含む。
場合によっては、BFN I/Oコントローラハードウェアは、デュアルコアプロセッサを利用することができ、コアのうちの1つは、高速制御活動(例えば、10msおよび20ms実行)に使用され、他のコアは、他のすべて(例えば、I/O、メッセージ取り扱い、50msおよび100ms制御実行等)に使用される。BFN I/Oコントローラキャリアは、冗長ハードウェアBFNをサポートすることができ、キャリアは、I/Oベースプレートへの接続を提供する。同様に、高速制御活動は、例えば、高機能ノード14内の仮想コントローラの実行レートよりも少なくとも5倍または少なくとも10倍大きい実行速度またはレートで動作し得る。
別の例では、本明細書に記載される制御アーキテクチャは、高速制御活動および低速制御活動を同時に実施し、依然として、これらの両方またはすべての制御速度が定格速度で適応および実施されることを保証することができる。図6は、Ethernetローカル高速制御ネットワーク16Aを介して接続された3つのBFN I/Oコントローラ12を含む例示的な高速制御ネットワークを例示する。BFN I/Oコントローラ12のすべては、この例では、高機能ノード14内にあってもよく、同じローカル高速制御ネットワークを共有する1つのBFNコントローラ中継器74に連結される。BFNコントローラ中継器74およびBFN I/Oコントローラ12は、ローカル高速制御ネットワーク16Aを介して構成、パラメータ変更、および制御データを通信する。BFN I/Oコントローラ12はまた、ローカル高速制御ネットワーク16Aを介して、高速パラメータおよび入力データを他のBFNに通信する。各BFN I/Oコントローラ12は、50ms間隔で低速パラメータと入力データをブロードキャストし、BFN制御の実行がBFN I/Oコントローラ12間の高速パラメータ転送と同期されないことが留意されよう。この場合、高速制御パラメータが定格速度において高速制御ネットワーク16A上で通信されることを確実にするために、高速制御ネットワークは、バス上の高速制御メッセージを優先して、これらのメッセージがバスを介して高速レート(例えば、10msまたは20ms)で通信されることを確実にする時間依存ネットワーク(TSN)スイッチを備えたTSNであるか、またはTSNを含み得る。高速制御ネットワークリンク16Aを形成するためにネットワーク16でTSNスイッチを使用することは、BFN I/Oコントローラ12と高機能ノード14との間で同じネットワークを介して高速制御および低速制御の両方を可能にするため望ましい。
ある場合には、BFN制御モジュール(従来のモジュールまたは上に記載されるアクタベースモデル内のアクタである得る)は、アクティブなBFN I/Oコントローラ12で実行される。BFN I/Oコントローラ12は、ローカル入力、ならびにローカル高速制御ネットワーク16Aから受信した高速パラメータを、BFN制御モジュールまたはアクタへの入力データとして使用する。制御実行の終了時に、制御サブシステムは、出力値を(例えば、フィールドデバイスに接続された)ローカルI/Oサブシステムに書き込み、10sごと(高速パラメータデータの場合)または50msごと(低速パラメータデータの場合)のいずれかでローカル高速制御ネットワーク16Aにわたって転送するために、I/Oデータと高速パラメータデータとをキューに入れる。当然のことながら、これらの時間は単なる例であり、他のタイミングを使用することができる。
BFN I/Oコントローラ12で高速制御を実施するために、各コントローラ12は、高速および中速(または低速)制御に使用される2つのコアまたはプロセッサを含み得る。図7は、これら2つのコア(コア0およびコア1)の間でタスクを分割して、高速制御と低速制御とを実施する1つの方法を例示する。この例では、コア0は高速制御に使用され、コア1は低速制御に使用される。I/Oスキャンと制御実行との同期された性質により、コア0では10msおよび20msのスクリューツースクリュー(screw−to−screw)、コア1では50msおよび100msのスクリューツースクリューの性能の制御が可能になる。所望の場合は、100msより遅い制御実行レートを、高機能ノード14のうちの1つにある仮想コントローラ52で実行することができる。
図7に例示されるように、コア0は、高速制御ネットワーク16A上で通信を実施する通信サブシステム202と、高速コンピューティング制御活動を(例えば、10または20msサイクルレートで)実施する高速制御ブロック204とを含む。コア0の高速制御ブロックは、すべてコア1内にあるP2P(ピアツーピア)サブシステム通信ブロック206、低速制御ブロック208、およびI/Oサブシステム通信ブロック210に接続されている。さらに、通信サブシステムブロック202をI/Oシステムブロック210に接続して、高速制御データがI/Oサブシステムブロック210から高速制御ネットワーク16Aに直接提供されるか、またはその逆も同様に提供されることを可能にすることができる。P2Pブロック206は、低速制御の速度またはレート(例えば、50ms)でピアツーピア通信を実施し、低速制御ブロック208は、低速制御活動(例えば、中速制御算出、警告の取り扱い、デバイス間通信の取り扱い等)を実施し、I/Oサブシステムブロック210は、I/Oサブシステム内のデバイス(例えば、フィールドデバイス)との通信を実施する。さらに、診断サブシステムブロック212は、サブシステム診断を実施するためにコア1で実行される。BFN I/Oコントローラ12内のマルチコアプロセッサのコア間のタスクのこの分割により、所望のレートでの高速制御および低速制御の両方が可能になる。さらに、TSNを高速制御ネットワーク16Aとして使用することにより、高機能ノード14などの他のデバイスとの高速および低速制御通信の両方が可能になり、これにより、所望の場合、いくつかの高速制御が高機能ノード14で実施されることが可能になる。
所望の場合、BFN I/Oコントローラ12は、警報情報、例えば、ADVISE_ALM、COMM_ALM、FAILED_ALM、およびMAINT_ALMなどのハードウェア警告をサポートすることができる。これらのイベントは、イベントおよび警告情報の処理を担当するアクタにブロードキャストされる。これらの警告の各々は、プロセス警告と同じ警告プロパティ(例えば、警告抑制)を有する。ハードウェア警告は、問題の全般的な指示を与え、その診断を使用して、正確な問題をさらに診断する。例示的なハードウェア警告を下の表1にまとめる。
Figure 2020518921
ある場合には、制御システムの構成中に、各特定のBFN I/Oコントローラ12をローカル高速制御ネットワーク16A上の仮想コントローラ52に割り当てることができ、次いで、コントローラ12を試運転および構成することができる。試運転は、高機能ノード14上の仮想構成システム70で作動する構成アプリケーション、または図1のワークステーション26のうちの1つなどのクライアントまたは他の計算ノードで提供されるBFNコンテキストメニューを通じて実施され得る。BFN I/OコントローラカードのEEPROMを使用して、BFN I/Oコントローラ12のアドレス、名前、ダウンロードCRC、および最終ダウンロード時間を保持することができる。BFN I/Oコントローラ12は、パワーアップすると、この情報を読み取って、パワーダウンされる前と同じ位置にあるかどうかを判定する。BFN I/Oコントローラ12が、同じ位置で依然として試運転されていると判定し、仮想コントローラ構成と一致するフラッシュ内の有効な構成を有する場合、BFN I/Oコントローラ12は、構成状態に遷移する。
上記のように、BFN I/Oコントローラの構成は、仮想コントローラ52の下のローカル高速制御ネットワークサブシステムを介して利用可能にされ得る。図8は、特定の仮想コントローラ52の下またはその一部としてのBFN I/Oコントローラネットワークの拡大図を描写する構成アプリケーションの画面表示を例示する。この例では、3つのBFN I/Oコントローラ12(BFN−1、BFN−2、BFN−3)が仮想コントローラ52のローカル高速制御ネットワークの下に例示されている。BFN−1の下のI/Oモジュールサブシステムは、そのBFNに構成されたすべてのI/Oモジュールを含むことに留意されたい。BFNの下でI/Oモジュールサブシステムを拡張すると、BFNの下で有効にすることができるすべての可能なI/Oモジュールがユーザに提示されることがある。各I/Oモジュールには番号、すなわち、CHM1−01からCHM1−12〜CHM8−01からCHM8−12(8つのキャリア×12=96個のIOモジュール/BFN)を付けることができ、構成システムにより、ユーザがこの画面でチャネルまたはモジュールの割り当てを行うことが可能になる。下の表2は、デバイスタグへのチャネル(CHARMチャネル)の割り当て例を例示する。
Figure 2020518921
さらに、BFNおよびそのI/Oモジュールに関するハードウェア警告をハードウェアエントリまたはタブによって定義することができる。
さらにまた、ローカル高速制御ネットワークコンテキストメニューにより、新しいBFN I/Oコントローラのプレースホルダを作成することが可能になる場合がある。仮想コントローラに物理的に接続された割り当てられていないBFNは、割り当てられていないBFNコンテンツビューに表示される場合がある。割り当てられていないBFNのフォーマットは、割り当てられていないBFNのタイプ、モデル、および改訂を表示し得る。さらにまた、割り当てられていないBFN内のBFNを、BFNメニューからのドラッグアンドドロップまたはコンテキストメニューのいずれかの選択によって、作成されたプレースホルダに割り当てることができる。BFNは、割り当てを実施するために物理的に存在すべきである。割り当てが行われると、仮想コントローラは、基本識別情報を受信して、名前とアドレスとを含む対応するデバイスモジュールを作成する。識別情報をI/Oデータおよび高速パラメータ公開で使用して、データのソースを一意に識別する。
一例では、機能していないBFN I/Oコントローラの復旧時に、BFN I/Oコントローラが、同じ位置で、仮想コントローラと同じ構成で依然として試運転されていることを検出した場合、構成はローカルコールドリスタートメモリからランタイムコン構成メモリにコピーされ、I/Oモジュールがダウンロードされ、制御実行が開始される。さらにまた、BFN I/Oコントローラは、合計ダウンロードをサポートすることができ、ユーザが個々のI/Oモジュールをダウンロードすることができる場合とできない場合とがある。合計ダウンロードの場合、BFN I/Oコントローラは、ダウンロードを処理し、ダウンロードの妨害効果を最小限に抑えるために、どの構成要素が変更されたかを判定する(すなわち、「完全一致」ダウンロードである)。例えば、1つの制御戦略(モジュール)またはI/Oモジュールのみが変更された場合、そのアイテムのみが更新される。BFN I/Oコントローラは、ダウンロードで変更されたすべてのI/Oモジュールを構成し得る。BFN I/Oコントローラが、I/Oモジュールとの失われた通信を再確立したことをこれまでに検出した場合、BFN I/Oコントローラは、モジュールに必要な構成シーケンスを送信して、モジュールをオンラインに戻すことができる。これにより、障害回復がもたらされる。
さらに、BFN I/Oコントローラは、入力モジュールと出力モジュールとを含む、任意の数とタイプのI/Oモジュールをサポートし得る。一例では、以下に記載されるタイプの合計96個のI/Oモジュールをサポートすることができる。特に、サポートされ得る例示的なBFN I/O入力モジュールを表3にまとめる。
Figure 2020518921
サポートされ得る例示的なBFN I/O出力モジュールを表4にまとめる。
Figure 2020518921
さらにまた、(図2の)OPC−UAサービス68と組み合わせた(図2の)BFNコントローラ中継器サービス74は、BFN I/OコントローラへのOPCマッピングを提供することができる。このマッピングの一例を図9〜11に関して例示する。図9では、組織的構成要素は、制御システム10内のすべての名前付きアイテムを含む。図9のダイアグラムに示される例は、エリアおよび制御戦略(制御モジュール)を含む。プリミティブは、機能ブロック定義およびパラメータ定義で構成されている。定義および使用量は、機能ブロック、制御戦略、パラメータ、および警告へのインターフェースを定義する。インスタンスは、特定のデバイスまたはI/Oチャネルなどの特定のタグ付けされたアイテムを含む。デバイスは、コントローラ、I/Oモジュール、およびHARTデバイスなどのスマートデバイスを含む。
さらに、制御戦略は、図10に描写されるANSI/ISA−88モデルに従うことができる。ここでは、警告とイベントとがこの構造に結び付けられている。結果として、マッピング層は、制御戦略(モジュール)からOPC−UAを介して閲覧およびアクセスされ得るオブジェクトへのインターフェースを提供する。このマッピングの基本的なオブジェクトモデルの一例を図11に例示する。図9〜11のマッピングを使用して、上に記載される自己記述型メッセージプロトコルにメタデータメッセージを提供することができることに留意されたい。
さらにまた、仮想コントローラ52は、制御戦略(例えば、制御モジュール)を実行し、DCSからBFN I/Oコントローラ12へのインターフェースを提供し、Modbus/TCP接続をサポートすることができる。構成および動作を簡素化するために、シャドウモジュールを使用して、BFN I/Oコントローラ12で実行中の高速モジュールをシャドウすることができる。
構成中、構成アプリケーション(例えば、図2の仮想構成アプリケーション70)は、仮想コントローラを追加する機能を含むコンテキストメニュー選択を制御ネットワーク上に提供することができる。図12は、階層内の制御ネットワークアイテムの下のエクスプローラビューに仮想コントローラを例示する構成アプリケーションまたはデバイスによってユーザに提示され得る例示的な構成画面を例示する。
この場合、割り当てられたモジュールタブは、そのコントローラに割り当てられた制御モジュールを示す。ハードウェア警告のタイプは、ADVISE、COMM、FAILED、およびMAINTであり得る。ローカル高速制御ネットワークサブシステムは、BFN I/Oコントローラが現れる所である。さらに、割り当てられたI/Oおよび割り当てられた無線I/Oは、リモートI/O、WIOC、およびその他のデバイスからのリモートI/O割り当てを保持する(オープン制御システムプロトタイプの場合は不要)。
一例では、図2の仮想Ethernet BFN54は、インテリジェントフィールドデバイスからのデータにアクセスするためのプラットフォームを提供する。仮想Ethernet BFN54は、履歴データの収集、警告、および限定された制御をサポートするために、インテリジェントデバイスデータへのアクセスを可能に、Modbus TCPおよびEtherNet/IPなどの任意の所望のプロトコルをサポートすることができる。サポートするDCS構成により、ポートの下に物理的デバイスと論理的デバイスとを備えるポートを定義することが可能になる。論理的デバイスは、アクセスするデバイス内の特定のデータアイテムを定義する信号を包含し得る。次いで、デバイスデータは、デバイス信号タグ(DST)を介して制御戦略(モジュール)パラメータにマッピングされ得る。ポート、デバイス、および信号は、プロトコルに応じて異なる構成プロパティを有し得る。一例では、仮想Ethernet BFN54内のモジュールの機能ブロックの能力は、モータ制御および指揮制御をサポートするように構成されるが、アナログおよび高度な制御をサポートするように構成することができる。ある場合には、仮想Ethernet BFN54は、任意の他のI/Oを直接参照することができない場合があり、そのため、I/Oを仮想Ethernet BFN54に割り当てることができない場合がある。さらにまた、デバイスデータは、デバイスに接続された仮想Ethernet BFN54内でのみ参照することができる場合がある。すなわち、デバイスデータを別のコントローラから直接外部から参照することはできない。
さらに、Modbus TCPインターフェースにより、プログラム可能な論理コントローラ(PLC)、ドライブ、モータ制御センタ(MCC)、分析器、およびModbus TCPを通信する同様のデバイスなどのModbusデータソースを制御システム10に統合することが可能になる。Modbus TCPインターフェースは、Modbusサーバ(スレーブデバイス)との間でデータの読み取りおよび書き込みを行うModbusクライアント(マスタ)であり得る。Modbusサーバデバイスは、図13に例示されるように、直接Modbus TCPデバイスまたはModbus TCPゲートウェイ下のModbusシリアルデバイスであり得る。当然のことながら、多くの利用可能なModbus TCPゲートウェイのいずれかを使用することができる。
さらにまた、EtherNet/IP(EIP)インターフェースにより、PLC、可変速ドライブ、MCC、分析器、海中デバイス、およびEIPを通信する同様のデバイスなどのEIPデータソースを制御システムに統合することが可能な場合がある。EIPインターフェースは、EIP I/Oアダプタおよび他のスキャナとの間でデータの読み出しおよび書き込みを行うEIP I/Oスキャナであり得る。EIPインターフェースネットワークでは、一般的なリング、スター、およびリニアトポロジを使用することができる。
仮想コントローラ52は、1つ以上のBFN制御戦略(モジュール)を記憶することができ、かつBFN I/Oコントローラ12が割り当てられている仮想コントローラ52で作動中のシャドウモジュールを介してパラメータデータへのオンライン視認およびアクセスを提供することができる。BFN I/Oコントローラ12がダウンロードされると、シャドウモジュールが、BFN I/Oコントローラ12で作動中のBFNモジュールから作成される。さらに、BFN I/Oモジュールデータは、ローカル高速制御ネットワーク上の任意のBFNおよび仮想コントローラ52自体からアクセス可能であってもよい。出力は、出力I/Oモジュールを所有するBFN I/Oコントローラ12のモジュールから駆動され得る。高速スキャン周期入力データは、所望の場合、ローカル高速制御ネットワークを介して50ミリ秒以上のレートで通信することができ、ネットワーク16上のすべてのBFN I/Oコントローラ12は更新を受信する。入力データ、I/O診断および警報情報、ならびにフィールドデバイスプロトコルデータ(HARTデータなど)のような他のデータを、より遅いレート(例えば、100ms)で仮想コントローラ52に送信することができる。
さらにまた、Ethernet通信スイッチおよびI/Oポート(IOP)を包含するハードウェアは、仮想コントローラ、ローカル高速制御ネットワーク、および制御ネットワークのネットワーク接続を物理的に隔離するサポートを含み得る。冗長ネットワーク接続がサポートされ得る。さらにまた、BFN I/Oモジュールが別のBFN I/Oモジュールからのデータを使用するように構成されていると、データのソースは高速パラメータ考慮され、データの使用量は高速パラメータ参照と考慮される。追加的に、非高速パラメータを使用して、仮想コントローラ52とBFN I/Oコントローラ12との間でデータを交換することができる。さらに、参照を仮想コントローラ52からBFN I/Oコントローラ12に構成する場合、非高速パラメータ機構を使用することができる。同様に、システム10は、I/Oモジュールの自動検知をサポートすることができる。I/Oモジュールタイプが構成時に定義されていない場合、自動検知時に情報が充填される。しかしながら、I/Oモジュールタイプが入力されていて、自動検知されたタイプが一致しない場合、調停ダイアログが示されることがある。I/Oモジュールが構成されているものと一致しない場合にも、調停ダイアログが発生することがある。
追加的に、仮想コントローラノードレベルで利用可能な情報としては、ノード自体の診断、通信、割り当てられたI/O、割り当てられたモジュール、リスタート、冗長性、Modbus、および仮想コントローラに属するローカル高速制御ネットワークが挙げられ得る。所望の場合、OPC−UAインターフェース68を介して履歴と傾向をサポートすることができる。警告検出とタイムスタンプは、BFN I/Oコントローラ12で実行され、正確なタイムスタンプと警告データを提供することができる。BFN I/Oコントローラ12からの警告は、プロセスカテゴリ内であってもよい。アセット管理を使用して、例えば、仮想コントローラ52およびBFN I/Oコントローラ12の下にHARTおよび他のプロトコルI/Oモジュールを位置付けることができる。アセット管理は、図2の仮想AMSデバイスマネージャ70によって提供される。
ソフトウェアに実装される場合、本明細書に記載されるアプリケーション、サービス、仮想デバイス、仮想マシン、仮想エンティティ等のいずれかを、コンピュータもしくはプロセッサのRAMもしくはROM等における磁気ディスク、レーザディスク、固体メモリデバイス、分子メモリストレージデバイス、または他のストレージ媒体などの任意の有形の非一時的コンピュータ可読メモリに記憶することができる。本明細書に開示される例示的システムは、他の構成要素の中でも、ハードウェア上で実行されるソフトウェアおよび/またはファームウェアを含むように開示されているが、かかるシステムは単に例示的であるに過ぎず、限定的であると見なされるべきではないことに留意されたい。例えば、これらのハードウェア、ソフトウェア、およびファームウェア構成要素のうちのいずれかまたはすべてが、ハードウェアにのみ、ソフトウェアにのみ、あるいはハードウェアおよびソフトウェアの任意の組み合わせで、埋め込まれ得ることが企図される。したがって、本明細書に記載される例示的なシステムは、1つ以上のコンピュータデバイスのプロセッサで実行されるソフトウェアで実装されるものとして記載されているが、提供される例がかかるシステムを実装する唯一の方法ではないことを当業者は容易に理解するであろう。
したがって、本発明は具体的な例に関して記載されてきたが、これらの例は例解的であるに過ぎず、本発明の限定であることを意図せず、変更、追加、または削除が、本発明の主旨および範囲から逸脱することなく、開示される実施形態に対して行われ得ることが当業者には明らかであろう。

Claims (39)

  1. 産業環境内で物理的機能を実施する複数のフィールドデバイスを有する産業制御システムであって、
    前記産業環境内の前記複数のフィールドデバイスに連結された入力/出力プロセッサを含む入力/出力ノードと、
    1つ以上の仮想コントローラノードであって、前記1つ以上の仮想コントローラノードの各々が、1つ以上のプロセッサ、メモリ、前記メモリに記憶され、前記産業環境内で前記フィールドデバイスの制御を実施するように前記1つ以上のプロセッサ上で実行可能な1つ以上の仮想コントローラ、および前記メモリに記憶され、前記ノードの前記1つ以上の仮想コントローラの動作を管理するように前記1つ以上のプロセッサ上で実行可能なスーパーバイザを含む、1つ以上の仮想コントローラノードと、
    前記入力/出力ノードを前記1つ以上の仮想コントローラノードの各々に接続する通信ネットワークと、を備え、
    前記入力/出力プロセッサが、前記産業環境内の前記フィールドデバイスのうちの1つ以上からデバイス信号を受信し、前記デバイス信号を処理し、前記処理されたデバイス信号を、前記1つ以上の仮想コントローラへの伝達用に前記通信ネットワーク上に配置し、前記通信ネットワークを介して、前記仮想コントローラのうちの1つ以上から制御信号を受信し、前記受信された制御信号を処理し、前記処理された制御信号を前記産業環境内の前記フィールドデバイスのうちの1つ以上に送信する、産業制御システム。
  2. 前記1つ以上の仮想コントローラノードが、複数の仮想コントローラノードを含み、前記複数の仮想コントローラノードのうちの1つの1つ以上の仮想コントローラが、前記仮想コントローラ通信を再構成することなく、前記複数の仮想コントローラノードのうちの前記1つから、前記複数の仮想コントローラノードのうちの別の1つへと移動可能である、請求項1に記載の産業制御システム。
  3. 前記1つ以上の仮想コントローラが、前記仮想コントローラ通信を再構成することなく、仮想コントローラノードの前記メモリの1つの場所から、前記仮想コントローラノードの前記メモリの別の場所へと移動可能である、請求項1に記載の産業制御システム。
  4. 前記仮想コントローラノードのうちの少なくとも1つが、複数の異なるメモリデバイスを含み、前記1つ以上の仮想コントローラが、前記仮想コントローラ通信を再構成することなく、前記仮想コントローラノードのうちの前記少なくとも1つの前記複数のメモリデバイスのうちの1つから、前記仮想コントローラノードのうちの前記少なくとも1つの前記複数のメモリデバイスのうちの別の1つへと移動可能である、請求項1に記載の産業制御システム。
  5. 前記入力/出力ノードが、前記産業環境内の物理的入力/出力デバイスを介してフィールドデバイスからデバイス信号を受信するように、前記産業環境内の前記物理的入力/出力デバイスに連結された仮想入力/出力ルーチンを含む、請求項1に記載の産業制御システム。
  6. 前記入力/出力ノードが、前記産業環境内のフィールドデバイスから直接デバイス信号を受信するように連結された仮想入力/出力ルーチンを含み、前記仮想入力/出力ルーチンが、前記フィールドデバイスからのデバイス信号、および前記フィールドデバイスに伝達された制御信号に対して入力/出力信号処理を実施するように、前記入力/出力ノード内の汎用プロセッサで実行される、請求項1に記載の産業制御システム。
  7. 前記入力/出力ノードが、自己記述型通信スキームを使用して、デバイス信号を前記仮想コントローラノード内の前記仮想コントローラに通信する仮想入力/出力ルーチンを含む、請求項1に記載の産業制御システム。
  8. 前記入力/出力ノードが、複数の異なる通信プロトコルを使用して、前記通信ネットワークを介してデバイス信号を前記仮想コントローラに通信する仮想入力/出力ルーチンを含む、請求項1に記載の産業制御システム。
  9. 前記入力/出力ノードが、ハードウェアの場所に依存しない通信アドレス指定スキームを使用して、デバイス信号を前記仮想コントローラに通信する仮想入力/出力ルーチンを含む、請求項1に記載の産業制御システム。
  10. 前記入力/出力ノードが、前記入力/出力ノードの前記メモリに記憶され、前記デバイス信号のうちの1つ以上を使用して、前記産業環境内の前記フィールドデバイスのうちの1つを制御するための1つ以上の制御信号を生成するように、前記入力/出力ノードの前記プロセッサで実行される、制御ルーチンをさらに含む、請求項1に記載の産業制御システム。
  11. 前記1つ以上の仮想コントローラノード内の前記仮想コントローラが、第1のレート以下で制御ルーチン実行を実施し、前記入力/出力ノード内の制御ルーチンが、前記第1のレートよりも大きい第2のレートで制御ルーチン実行を実施する、請求項10に記載の産業制御システム。
  12. 前記第2のレートが、前記第1のレートの5倍以上である、請求項11に記載の産業制御システム。
  13. 前記入力/出力ノードが、デバイス信号を前記通信ネットワーク上で多重化する仮想入力/出力通信ルーチンを含む、請求項1に記載の産業制御システム。
  14. 前記入力/出力ノードが、複数の異なる通信プロトコルを介して複数のフィールドデバイスからデバイス信号を受信し、自己記述型通信スキームを使用して、前記デバイス信号を前記通信ネットワーク上で多重化する仮想入力/出力通信ルーチンを含む、請求項1に記載の産業制御システム。
  15. 前記入力/出力ノードが、複数の異なる通信プロトコルを介して複数のフィールドデバイスからデバイス信号を受信し、前記複数の異なる通信プロトコル内で、自己記述型通信スキームを使用して、前記デバイス信号を前記通信ネットワーク上で多重化する仮想入力/出力通信ルーチンを含む、請求項1に記載の産業制御システム。
  16. 前記自己記述型通信スキームが、第1の通信プロトコルにおける前記デバイス信号と、前記第1の通信プロトコルを記述するプロトコル記述信号と、を含むデバイス信号データを含む、請求項15に記載の産業制御システム。
  17. 前記仮想コントローラノードの前記スーパーバイザが、前記仮想コントローラノード内の前記プロセッサの負荷バランシングを実施する、請求項1に記載の産業制御システム。
  18. 前記仮想コントローラノードのうちの少なくとも1つの前記スーパーバイザが、仮想コントローラを、前記仮想コントローラの前記仮想コントローラ通信を再構成することなく、前記仮想コントローラノードにおいて1つのプロセッサから別のプロセッサへと移動させるように構成されている、請求項1に記載の産業制御システム。
  19. 産業環境内で物理的機能を実施する複数のフィールドデバイスを有する産業制御システムであって、
    1つ以上の通信チャネルを介して前記産業環境内の前記複数のフィールドデバイスに連結された入力/出力プロセッサを含む入力/出力ノードと、
    複数のコントローラノードであって、前記コントローラノードの各々が、1つ以上のプロセッサ、メモリ、前記メモリに記憶され、前記産業環境内で前記フィールドデバイスの制御を実施するように前記1つ以上のプロセッサ上で実行可能な1つ以上のコントローラ、および前記メモリに記憶され、前記コントローラノードの前記1つ以上のコントローラの動作を管理するように前記1つ以上のプロセッサ上で実行可能なスーパーバイザを含む、複数のコントローラノードと、
    オープン通信プロトコルを使用して、前記入力/出力ノードを前記1つ以上のコントローラノードの各々に接続するオープンプロトコル通信ネットワークと、を備え、
    前記入力/出力プロセッサが、前記産業環境内の前記フィールドデバイスのうちの1つ以上からデバイス信号を受信し、前記1つ以上のコントローラへの伝達用にオープン通信プロトコルを使用して、前記デバイス信号を前記通信ネットワーク上に配置し、前記通信ネットワークを介して、前記コントローラのうちの1つ以上から制御信号を受信し、前記制御信号を前記産業環境内の前記フィールドデバイスのうちの1つ以上に送信する、産業制御システム。
  20. 前記オープンプロトコル通信ネットワークが、Ethernet通信ネットワークである、請求項19に記載の産業制御システム。
  21. 前記オープンプロトコル通信ネットワークが、TCP/IPパケットベースのネットワーク通信スキームを使用する、請求項19に記載の産業制御システム。
  22. 前記コントローラノードのうちの1つが、複数の仮想コントローラを含む仮想コントローラノードであり、前記複数の仮想コントローラが、前記コントローラノードのうちの前記1つにおいて前記プロセッサの第1のものから前記プロセッサの第2のものへと移動可能である、請求項19に記載の産業制御システム。
  23. 前記入力/出力ノードが、自己記述型通信スキームを使用して、デバイス信号を前記コントローラノード内の前記コントローラに通信する、請求項19に記載の産業制御システム。
  24. 前記入力/出力ノードが、前記オープン通信プロトコルに従って構成されたパケットを介して複数の異なる通信プロトコルでデータを送信することによって、デバイス信号を前記コントローラノードの前記コントローラに通信する、請求項19に記載の産業制御システム。
  25. 前記入力/出力ノードが、ハードウェアの場所に依存しない通信アドレス指定スキームを使用して、デバイス信号を前記コントローラノードの前記コントローラに通信する、請求項19に記載の産業制御システム。
  26. 前記入力/出力ノードが、異なる通信プロトコルスキームで構成されたデバイス信号を前記オープンプロトコル通信ネットワーク上で多重化する入力/出力通信ルーチンを含む、請求項19に記載の産業制御システム。
  27. 前記入力/出力ノードが、複数の異なる通信プロトコルを介して前記複数のフィールドデバイスからデバイス信号を受信し、自己記述型通信スキームを使用して、前記デバイス信号を前記通信ネットワーク上で多重化する入力/出力通信ルーチンを含む、請求項19に記載の産業制御システム。
  28. 前記自己記述型通信スキームが、第1の通信プロトコルにおける前記デバイス信号と、前記第1の通信プロトコルを記述するプロトコル記述信号と、を含むデバイス信号データを含む、請求項27に記載の産業制御システム。
  29. 産業環境内で物理的機能を実施する複数のフィールドデバイスを有する産業制御システムであって、
    1つ以上の通信チャネルを介して前記産業環境内の前記複数のフィールドデバイスに連結された入力/出力プロセッサを含む入力/出力ノードと、
    複数のコントローラノードであって、前記コントローラノードの各々が、1つ以上のプロセッサ、1つ以上のメモリ、前記1つ以上のメモリに記憶され、前記産業環境内で前記フィールドデバイスの制御を実施するように前記1つ以上のプロセッサ上で実行可能な1つ以上のコントローラ、を含む、複数のコントローラノードと、
    前記入力/出力ノードを前記1つ以上のコントローラノードの各々に接続する通信ネットワークと、を備え、
    前記入力/出力プロセッサが、前記産業環境内の前記フィールドデバイスのうちの1つ以上からデバイス信号を受信し、ハードウェアの場所に依存しない通信アドレス指定スキームを使用して、前記デバイス信号を前記通信ネットワーク上に配置する、産業制御システム。
  30. 前記ハードウェアの場所に依存しない通信アドレス指定スキームが、自己記述型通信スキームを含む、請求項29に記載の産業制御システム。
  31. 前記自己記述型通信スキームが、第1の通信プロトコルにおける前記デバイス信号と、前記第1の通信プロトコルを記述するプロトコル記述信号と、を含むデバイス信号データを含む、請求項30に記載の産業制御システム。
  32. 前記自己記述型通信スキームが、第1の通信プロトコルにおける前記デバイス信号と、前記フィールドデバイスのうちの1つに関して前記第1の通信プロトコルを記述するプロトコル記述信号と、を含むデバイス信号データを含み、ならびに第2の通信プロトコルにおける前記デバイス信号と、前記フィールドデバイスのうちの第2のものに関して前記第2の通信プロトコルを記述するプロトコル記述信号と、を含むデバイス信号データを含む、請求項30に記載の産業制御システム。
  33. 通信ネットワークが、オープンプロトコル通信ネットワークである、請求項30に記載の産業制御システム。
  34. 前記オープンプロトコル通信ネットワークが、TCP/IPパケットベースのネットワーク通信スキームを使用する、請求項33に記載の産業制御システム。
  35. 前記コントローラノードのうちの1つが、複数の仮想コントローラを含む仮想コントローラノードであり、前記複数の仮想コントローラが、前記コントローラノードのうちの前記1つにおいて前記プロセッサの第1のものから前記プロセッサの第2のものへと移動可能である、請求項29に記載の産業制御システム。
  36. 前記入力/出力ノードが、自己記述型通信スキームに従って構成されたパケットを介して複数の異なる通信プロトコルでデータを送信することによって、デバイス信号を前記仮想コントローラに通信する、請求項35に記載の産業制御システム。
  37. 前記入力/出力ノードが、前記ハードウェアの場所に依存しない通信スキームを使用して、異なる通信プロトコルスキームで構成されたデバイス信号を前記通信ネットワーク上で多重化する入力/出力通信ルーチンを含む、請求項29に記載の産業制御システム。
  38. 前記入力/出力ノードが、複数の異なる通信プロトコルを介して複数のフィールドデバイスからデバイス信号を受信し、自己記述型通信スキームを使用して、前記デバイス信号を前記通信ネットワーク上で多重化する入力/出力通信ルーチンを含む、請求項29に記載の産業制御システム。
  39. コントローラノードが、ハードウェアの場所に依存しない通信アドレス指定スキームを使用して、前記通信ネットワークを介して制御信号を送信する、請求項29に記載の産業制御システム。
JP2019560214A 2017-05-01 2018-04-30 オープンアーキテクチャ産業制御システム Active JP7257329B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762492895P 2017-05-01 2017-05-01
US62/492,895 2017-05-01
US201762500198P 2017-05-02 2017-05-02
US62/500,198 2017-05-02
PCT/US2018/030110 WO2018204225A1 (en) 2017-05-01 2018-04-30 Open architecture industrial control system

Publications (2)

Publication Number Publication Date
JP2020518921A true JP2020518921A (ja) 2020-06-25
JP7257329B2 JP7257329B2 (ja) 2023-04-13

Family

ID=62186554

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019560214A Active JP7257329B2 (ja) 2017-05-01 2018-04-30 オープンアーキテクチャ産業制御システム

Country Status (6)

Country Link
US (1) US11137745B2 (ja)
JP (1) JP7257329B2 (ja)
CN (1) CN110582732B (ja)
DE (1) DE112018002293T5 (ja)
GB (3) GB2605871B (ja)
WO (1) WO2018204225A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102211876B1 (ko) * 2020-07-14 2021-02-03 강재종 기존 필드버스 기반 자동제어 시스템의 사물인터넷 연동 장치 및 방법

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110612488A (zh) * 2017-05-03 2019-12-24 西门子股份公司 控制器内实现真实世界对象可见性和可及性的过程映像
EP3401742B1 (de) * 2017-05-09 2020-09-02 Siemens Aktiengesellschaft Automatisierungssystem und verfahren zum betrieb
DE102017110633B3 (de) * 2017-05-16 2018-11-15 Krohne Messtechnik Gmbh Anzeigegerät für die Prozessautomation
US11435728B2 (en) * 2017-10-02 2022-09-06 Fisher-Rosemount Systems, Inc. I/O virtualization for commissioning
US11394653B2 (en) * 2018-04-04 2022-07-19 Siemens Aktiengesellschaft Data transmission in time-sensitive data networks
EP3750054B1 (en) * 2018-04-27 2023-08-16 Hewlett-Packard Development Company, L.P. Signals to i/o devices based on virtual computer messages
DE102018216111A1 (de) * 2018-09-21 2020-03-26 Robert Bosch Gmbh Übertragungsverfahren
CA3115709A1 (en) 2018-10-12 2020-04-16 Bray International, Inc. Smart valve with integrated electronics
US11451632B2 (en) * 2018-10-29 2022-09-20 Honeywell International Inc. System and method for supporting wired and wireless communications in industrial safety systems
MX2021006622A (es) 2018-12-06 2021-09-21 Bray Int Inc Adaptador de válvula inteligente con componentes electrónicos integrados.
CN109521746A (zh) * 2018-12-28 2019-03-26 西安西热锅炉环保工程有限公司 一种基于容错设计的dcs外挂智能控制系统及方法
US11345462B2 (en) * 2019-03-22 2022-05-31 Northrop Grumman Systems Corporation System control architecture monitoring system
EP3719646B1 (en) * 2019-04-02 2023-11-15 Gamma-Digital Kft. Method for communicating in a network-distributed process control system and network-distributed process control system
US20220121597A1 (en) * 2019-04-26 2022-04-21 Mitsubishi Electric Corporation Data processing device, data processing method, and program
GB2587842A (en) * 2019-06-10 2021-04-14 Fisher Rosemount Systems Inc Centralized virtualization management node in process control system
US11550311B2 (en) * 2019-06-10 2023-01-10 Fisher-Rosemount Systems, Inc. Centralized virtualization management node in process control systems
GB2589941B (en) * 2019-06-10 2024-03-27 Fisher Rosemount Systems Inc Ease of node switchovers in process control systems
GB202318172D0 (en) 2019-06-10 2024-01-10 Fisher Rosemount Systems Inc Virtualized real-time i/o in process control systems
US11249464B2 (en) * 2019-06-10 2022-02-15 Fisher-Rosemount Systems, Inc. Industrial control system architecture for real-time simulation and process control
US11231701B2 (en) 2019-06-10 2022-01-25 Fisher-Rosemount Systems, Inc. Publish/subscribe protocol for real-time process control
GB2623651A (en) 2019-06-10 2024-04-24 Fisher Rosemount Systems Inc Automatic load balancing and performance leveling of virtual nodes running real-time control in process control systems
DE102019116120A1 (de) * 2019-06-13 2020-12-17 Endress+Hauser Process Solutions Ag Verfahren zum Bereitstellen eines digitalen Zwillings für ein nicht digitales Feldgerät der Automatisierungstechnik
CN110442097B (zh) * 2019-07-30 2024-03-29 南京国电南自维美德自动化有限公司 一种分散控制系统中模件地址自动识别装置和方法
US11635980B2 (en) * 2019-09-20 2023-04-25 Fisher-Rosemount Systems, Inc. Modular process control system
US11768878B2 (en) * 2019-09-20 2023-09-26 Fisher-Rosemount Systems, Inc. Search results display in a process control system
US11768877B2 (en) * 2019-09-20 2023-09-26 Fisher-Rosemount Systems, Inc. Smart search capabilities in a process control system
US11287808B2 (en) * 2019-10-31 2022-03-29 Honeywell International Inc. Industrial process control and automation system having decoupled controllers
CN114901980A (zh) 2020-01-03 2022-08-12 布雷国际有限公司 具有测力计的阀件
JP7287325B2 (ja) 2020-03-26 2023-06-06 横河電機株式会社 制御システム、制御装置、及び、フィールド機器へのアクセス方法
JP7264098B2 (ja) 2020-03-26 2023-04-25 横河電機株式会社 制御システム
US11762742B2 (en) 2020-03-31 2023-09-19 Honeywell International Inc. Process control system with different hardware architecture controller backup
CN111614719A (zh) * 2020-04-13 2020-09-01 广州市山水生态环保建设有限公司 远程自动控制系统及农村生活污水一体化控制系统
US11782410B2 (en) * 2020-06-06 2023-10-10 Honeywell International Inc. Building management system with control logic distributed between a virtual controller and a smart edge controller
CN111830895B (zh) * 2020-07-14 2022-03-15 上海海得自动化控制软件有限公司 基于plc阵列的数据调度方法、介质、plc设备及调度系统
CN112180820A (zh) * 2020-08-31 2021-01-05 国电蚌埠发电有限公司 一种基于Modbus RTU通讯协议在EDPF-NT Plus系统中的应用方法
CN112087461B (zh) * 2020-09-11 2022-12-20 工业互联网创新中心(上海)有限公司 Modbus/tcp协议的数据在tsn网络中流转的系统、方法、装置及设备
US11474873B2 (en) * 2020-09-22 2022-10-18 Rockwell Automation Technologies, Inc. Implementing serverless functions using container orchestration systems and operational technology devices
US11989084B2 (en) 2020-09-23 2024-05-21 Honeywell International Inc. Self-healing process control system
CN112217673A (zh) * 2020-09-30 2021-01-12 北京东土科技股份有限公司 控制器站间通信方法、装置、计算机设备及存储介质
US11874938B2 (en) 2020-11-03 2024-01-16 Honeywell International Inc. Admittance mechanism
CN112578755A (zh) * 2020-12-17 2021-03-30 上海通群科技有限公司 可编程智能控制器及基于可编程智能控制器的应用系统
CN112697293A (zh) * 2020-12-31 2021-04-23 上海自动化仪表有限公司 基于opcua的智能温度变送器
US11656609B2 (en) * 2021-01-14 2023-05-23 Fisher-Rosemount Systems, Inc. Detecting component degradation in industrial process plants based on loop component responsiveness
CN115225726B (zh) * 2021-03-31 2024-05-24 京东方科技集团股份有限公司 多协议终端的组网方法、通信方法、存储介质及电子设备
CN113433850B (zh) * 2021-06-04 2022-06-03 电子科技大学 一种fpga异态逻辑修复方法
US20220398122A1 (en) * 2021-06-14 2022-12-15 Monsanto Technology Llc Systems and methods for providing a virtual machine link to process controls
US12007747B2 (en) 2021-06-16 2024-06-11 Fisher-Rosemount Systems, Inc. Software defined process control system and methods for industrial process plants
US11960588B2 (en) 2021-06-16 2024-04-16 Fisher-Rosemount Systems, Inc Security services in a software defined control system
US11726933B2 (en) 2021-06-16 2023-08-15 Fisher-Rosemount Systems, Inc. I/O server services configured to facilitate control in a process control environment by containerized controller services
US11789428B2 (en) 2021-06-16 2023-10-17 Fisher-Rosemount Systems, Inc. I/O server services for selecting and utilizing active controller outputs from containerized controller services in a process control environment
CN113923071B (zh) * 2021-07-28 2022-09-27 北京大学 基于tsn的hart总线交换机电路
US11601331B1 (en) * 2021-09-14 2023-03-07 Salesforce.Com, Inc. Dynamic hardware configuration
CN114200899B (zh) * 2021-11-16 2024-06-14 中国航空工业集团公司雷华电子技术研究所 一种多子系统控制方法及其系统电子设备、可读存储介质
JP2023090264A (ja) * 2021-12-17 2023-06-29 横河電機株式会社 制御システムおよび制御方法
CN114465845B (zh) * 2022-04-14 2022-08-12 深圳艾灵网络有限公司 基于现场总线的数据通信方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06214601A (ja) * 1993-01-13 1994-08-05 Nissan Motor Co Ltd 設備制御装置のバックアップ装置
JPH0736516A (ja) * 1993-06-28 1995-02-07 Ricoh Co Ltd シミュレーション装置
EP2829931A2 (en) * 2013-07-24 2015-01-28 Yokogawa Electric Corporation Process control apparatus and system, and method for determining normality thereof
JP2015026279A (ja) * 2013-07-26 2015-02-05 株式会社東芝 プラント監視制御装置及びプログラム
WO2015169352A1 (en) * 2014-05-07 2015-11-12 Abb Technology Ltd Flexible controller utilization in a process control system
WO2017064560A1 (en) * 2015-10-13 2017-04-20 Schneider Electric Industries Sas Centralized management of a software defined automation system

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69710201T3 (de) * 1996-10-04 2007-07-05 Fisher Controls International Llc (N.D.Ges.D.Staates Delaware) Netzwerkzugangs-interface für prozesssteuerungsnetzwerk
US7392165B2 (en) * 2002-10-21 2008-06-24 Fisher-Rosemount Systems, Inc. Simulation system for multi-node process control systems
US7865251B2 (en) * 2003-01-28 2011-01-04 Fisher-Rosemount Systems, Inc. Method for intercontroller communications in a safety instrumented system or a process control system
US7305520B2 (en) * 2004-01-30 2007-12-04 Hewlett-Packard Development Company, L.P. Storage system with capability to allocate virtual storage segments among a plurality of controllers
US8006056B2 (en) * 2004-01-30 2011-08-23 Hewlett-Packard Development Company, L.P. Storage system including capability to move a virtual storage device group without moving data
US9411769B2 (en) 2006-09-19 2016-08-09 Fisher-Rosemount Systems, Inc. Apparatus and methods to communicatively couple field devices to controllers in a process control system
US8332567B2 (en) * 2006-09-19 2012-12-11 Fisher-Rosemount Systems, Inc. Apparatus and methods to communicatively couple field devices to controllers in a process control system
US7684875B2 (en) 2007-02-02 2010-03-23 Fisher-Rosemount Systems, Inc. Methods and apparatus to configure process control system inputs and outputs
US9083548B2 (en) 2008-09-23 2015-07-14 Fisher-Rosemount Systems, Inc. Apparatus and methods to communicatively couple field devices to controllers in a process control system
US8977851B2 (en) 2009-01-21 2015-03-10 Fisher-Rosemount Systems, Inc. Removable security modules and related methods
EP2224300B1 (en) * 2009-02-27 2018-07-11 Siemens Aktiengesellschaft Method of providing data access in an industrial automation system, computer program product and industrial automation system
US20120297461A1 (en) * 2010-12-02 2012-11-22 Stephen Pineau System and method for reducing cyber crime in industrial control systems
CN102684720B (zh) * 2011-03-09 2016-09-14 费希尔控制国际公司 用于在过程控制或监测环境中进行无线通信的方法和装置
US9191203B2 (en) * 2013-08-06 2015-11-17 Bedrock Automation Platforms Inc. Secure industrial control system
US9727511B2 (en) * 2011-12-30 2017-08-08 Bedrock Automation Platforms Inc. Input/output module with multi-channel switching capability
CN105684365B (zh) * 2013-02-12 2020-03-24 慧与发展有限责任合伙企业 利用软件定义流映射和虚拟化的网络功能的网络控制
US9378162B2 (en) * 2013-05-21 2016-06-28 Arm Limited Handling and routing interrupts to virtual processors
JP6020476B2 (ja) * 2014-01-20 2016-11-02 横河電機株式会社 プロセス制御装置及びその更新方法
US9946240B2 (en) 2015-01-30 2018-04-17 Fisher-Rosemount Systems, Inc. Apparatus to communicatively couple three-wire field devices to controllers in a process control system
US20160274930A1 (en) * 2015-03-16 2016-09-22 Honeywell International Inc. Method and apparatus for an on-process migration in a virtual environment within an industrial process control and automation system
KR101811332B1 (ko) 2015-03-25 2018-01-30 주식회사 에프티넷 내식성이 향상된 열교환기 튜브 및 파이프용 알루미늄 합금, 그 합금을 이용한 알류미늄 튜브 또는 배관의 제조방법 및 이를 이용한 열교환기 시스템
CN108028792B (zh) * 2015-09-17 2020-10-23 株式会社安川电机 工业设备通信系统、通信方法和工业设备
WO2019099111A1 (en) * 2017-11-16 2019-05-23 Intel Corporation Distributed software-defined industrial systems

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06214601A (ja) * 1993-01-13 1994-08-05 Nissan Motor Co Ltd 設備制御装置のバックアップ装置
JPH0736516A (ja) * 1993-06-28 1995-02-07 Ricoh Co Ltd シミュレーション装置
EP2829931A2 (en) * 2013-07-24 2015-01-28 Yokogawa Electric Corporation Process control apparatus and system, and method for determining normality thereof
JP2015026279A (ja) * 2013-07-26 2015-02-05 株式会社東芝 プラント監視制御装置及びプログラム
WO2015169352A1 (en) * 2014-05-07 2015-11-12 Abb Technology Ltd Flexible controller utilization in a process control system
WO2017064560A1 (en) * 2015-10-13 2017-04-20 Schneider Electric Industries Sas Centralized management of a software defined automation system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102211876B1 (ko) * 2020-07-14 2021-02-03 강재종 기존 필드버스 기반 자동제어 시스템의 사물인터넷 연동 장치 및 방법
WO2022014853A1 (ko) * 2020-07-14 2022-01-20 일품 주식회사 기존 필드버스 기반 자동제어 시스템의 사물인터넷 연동 장치 및 방법
US11822315B2 (en) 2020-07-14 2023-11-21 Ilpum Corp. Device and method for interlinking conventional fieldbus-based automatic control system with IoT

Also Published As

Publication number Publication date
US20180321662A1 (en) 2018-11-08
GB2605871A (en) 2022-10-19
GB2608035B (en) 2023-03-22
US11137745B2 (en) 2021-10-05
CN110582732A (zh) 2019-12-17
WO2018204225A1 (en) 2018-11-08
JP7257329B2 (ja) 2023-04-13
GB2575758B (en) 2023-04-12
GB202212319D0 (en) 2022-10-05
GB2608035A (en) 2022-12-21
GB201915675D0 (en) 2019-12-11
GB2575758A (en) 2020-01-22
CN110582732B (zh) 2023-06-02
GB202201357D0 (en) 2022-03-16
GB2605871B (en) 2023-02-08
DE112018002293T5 (de) 2020-02-27

Similar Documents

Publication Publication Date Title
JP7257329B2 (ja) オープンアーキテクチャ産業制御システム
US11550311B2 (en) Centralized virtualization management node in process control systems
US11249464B2 (en) Industrial control system architecture for real-time simulation and process control
US11747797B2 (en) Publish/subscribe protocol for real-time process control
US11747798B2 (en) Virtualized real-time I/O in process control systems
US11960270B2 (en) Automatic load balancing and performance leveling of virtual nodes running real-time control in process control systems
US12019431B2 (en) Ease of node switchovers in process control systems
GB2587842A (en) Centralized virtualization management node in process control system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220614

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221212

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230314

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230403

R150 Certificate of patent or registration of utility model

Ref document number: 7257329

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150