JP2017120669A - プロセス制御システム内のデバイスと通信するための方法、有形の製品、及びプロセス制御システム内のフィールドデバイスと通信するための装置 - Google Patents

プロセス制御システム内のデバイスと通信するための方法、有形の製品、及びプロセス制御システム内のフィールドデバイスと通信するための装置 Download PDF

Info

Publication number
JP2017120669A
JP2017120669A JP2017076246A JP2017076246A JP2017120669A JP 2017120669 A JP2017120669 A JP 2017120669A JP 2017076246 A JP2017076246 A JP 2017076246A JP 2017076246 A JP2017076246 A JP 2017076246A JP 2017120669 A JP2017120669 A JP 2017120669A
Authority
JP
Japan
Prior art keywords
service
process control
network
implement
control system
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.)
Pending
Application number
JP2017076246A
Other languages
English (en)
Inventor
ニクソン マーク
Mark Nixon
ニクソン マーク
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fisher Rosemount Systems Inc
Original Assignee
Fisher Rosemount Systems Inc
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
Application filed by Fisher Rosemount Systems Inc filed Critical Fisher Rosemount Systems Inc
Publication of JP2017120669A publication Critical patent/JP2017120669A/ja
Priority to JP2019076955A priority Critical patent/JP7298976B2/ja
Pending legal-status Critical Current

Links

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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Quality & Reliability (AREA)
  • Manufacturing & Machinery (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Communication Control (AREA)

Abstract

【課題】プロセス制御システム内のデバイスと通信するためのサービス指向フレームワークが開示される。
【解決手段】プロセス制御システム内のデバイスと通信するための例示的な方法は、プロセス制御システム内のデバイスと通信するためのサービスであって、プロセス制御システムを実装するために使用されたプロセス制御ネットワークプロトコルとは無関係な汎用インターフェースを有するサービスを呼び出すことと、サービスを実装するための1つ以上のネットワーク動作であって、プロセス制御システムを実装するために使用されたプロセス制御ネットワークプロトコルに特化しているネットワーク動作に、サービスを変換することと、1つ以上のネットワーク動作に従って、デバイスと通信するために、プロセス制御システムを実装するために使用されたプロセス制御ネットワークプロトコルに特化したネットワークインターフェースを使用することと、を含む。
【選択図】図1

Description

本開示は、概して、プロセス制御システムに関し、より具体的には、プロセス制御システム内のデバイスと通信するためのサービス指向フレームワークに関する。
化学プロセス、石油プロセス、または他のプロセスで使用されるもの等のプロセス制御システムは、一般的に、アナログ、デジタル、またはアナログ/デジタルを組み合わせたバスを介して、少なくとも1つのクライアントまたはオペレータワークステーションおよび1つ以上のフィールドデバイスに通信可能に結合された1つ以上のプロセスコントローラを含む。例えば、バルブ、バルブ位置決め装置、スイッチ、およびトランスミッタであってもよいフィールドデバイス(例えば、温度、圧力、および流量センサ)は、バルブの開閉およびプロセス制御パラメータの計測等のプロセス内のプロセス制御機能を実行する。コントローラは、フィールドデバイスによって行われるプロセス測定を示す信号を受信し、制御ルーチンを実装するためにこの情報を処理し、プロセスの動作を制御するためにフィールドデバイスにバスまたは他の通信回線上で送信される制御信号を発生させる。このようにして、コントローラは、フィールドデバイスを通信可能に結合するバスおよび/または他の通信リンクを介してフィールドデバイスを使用して制御戦略またはルーチンを実行し、連携調整する。
フィールドデバイスおよびコントローラからの情報は、オペレータが、プロセスに関して所望の機能を実行可能となるように、クライアント/オペレータワークステーション(例えばプロセッサベースのシステム)によって実行されるランタイムデータとして、1つ以上のアプリケーション(例えばルーチン、プログラム等)で利用できるようにされてもよい。これらの機能のいくつかは、(例えば、グラフィカルユーザインターフェースを介した)プロセスの現在の状態を視認すること、プロセスを評価すること、(例えば、視覚オブジェクト図を介した)プロセスの動作を修正すること等を含んでもよい。多くのプロセス制御システムは、さらに、アプリケーションステーションとも称される1つ以上の他のクライアントアプリケーションステーションも含む。通常、アプリケーションステーションは、コントローラ、オペレータワークステーション、およびローカルエリアネットワーク(LAN)を介してプロセス制御システム内の他のシステムに通信可能に結合されるパーソナルコンピュータ、ワークステーション等を使用して実装される。各アプリケーションステーションは、プロセス制御システムの中でキャンペーン管理機能、保守管理機能、仮想制御機能、診断機能、リアルタイム監視機能、安全性関連機能、構成機能等を実行する1つ以上の戦略、ルーチン、またはアプリケーションを実行してもよい。
本明細書に記載される例示的な方法、装置、および製品は、概して、プロセス制御システムに関し、より詳細には、プロセス制御システム内のデバイスと通信するためのサービス指向フレームワークに関する。
本明細書に開示される例において、プロセス制御システム内のデバイスと通信するための方法は、プロセス制御システム内のデバイスと通信するためのサービスを呼び出すことを含み、サービスは、プロセス制御システムを実装するために使用されたプロセス制御ネットワークプロトコルとは無関係である汎用インターフェースを提供する。例示的な方法は、さらに、サービスを実装するために、サービスを1つ以上のネットワーク動作へ変換することを含み、ネットワーク動作は、プロセス制御システムを実装するために使用されたプロセス制御ネットワークプロトコルに特化している。さらに、例示的な方法は、1つ以上のネットワーク動作に従ってデバイスと通信するために、プロセス制御システムを実装するために使用されたプロセス制御ネットワークプロトコルに特化したネットワークインターフェースを使用することを含む。
本明細書に開示される別の例において、有形の製品は、実行された場合に、機械に、少なくとも、プロセス制御システム内のデバイスと通信するために、サービスを呼び出させる機械可読命令を格納し、サービスは、プロセス制御システムを実装するために使用されたプロセス制御ネットワークプロトコルに無関係な汎用インターフェースを提供する。機械可読命令は、実行された場合に、さらに、機械に、少なくとも、サービスを実装するために、1つ以上のネットワーク動作へサービスを変換させ、ネットワーク動作は、プロセス制御システムを実装するために使用されたプロセス制御ネット枠プロトコルに特化している。機械可読命令は、実行された場合に、さらに、機械に、少なくとも、1つ以上のネットワーク動作に従ってデバイスと通信するために、プロセス制御システムを実装するために使用されたプロセス制御ネットワークプロトコルに特化したネットワークインターフェースを使用させる。
本明細書に開示されるさらに別の例において、プロセス制御システム内のフィールドデバイスと通信するための装置は、複数の異なるプロセス制御ネットワークプロトコルを使用して実装された複数のプロセス制御システム内の複数のフィールドデバイスと通信するためのサービス指向フレームワークを実装するためのプロセッサを含む。いくつかの例において、サービス指向フレームワークは、複数のフィールドデバイスと通信するための複数のサービスを実装するサービスレイヤを含み、それぞれのサービスは、複数のプロセス制御システムを実装するために使用された複数のプロセス制御ネットワークプロトコルのいずれとも無関係である各汎用インターフェースを提供する。いくつかの例において、サービス指向フレームワークは、さらに、複数の変換レイヤを含み、各変換レイヤは、各サービスを実装するために、ネットワーク動作の各シーケンスへ、複数のサービス内の各サービスを変換するためのものであり、ネットワーク動作の各シーケンスは、各変換レイヤに関連付けられた特定のプロセス制御ネットワークプロトコルに特化している。いくつかの例において、サービス指向フレームワークは、さらに、複数のプロセス制御システムを実装するために使用された複数のプロセス制御ネットワークプロトコルのそれぞれに特化した複数のネットワークインターフェースを提供するために、複数の変換レイヤとそれぞれ関連付けられた複数のネットワークレイヤを含む。例示的な装置は、さらに、プロセッサによって実装されたサービスレイヤと共に、クライアントデバイスによって実装されたアプリケーションを通信可能に結合するためのインターフェースも含む。
プロセス制御システム内のデバイスと通信するためのサービス指向フレームワークを実装するために、フィールドデバイス統合サーバを含む例示的なプロセス制御環境を示す、ブロック図である。 図1のフィールドデバイス統合サーバによって実装されてもよい例示的なサービス指向フレームワークのブロック図である。 図2のサービス指向フレームワークによって提供されてもよい例示的なサービスを示す図である。 図1のプロセス制御環境を実装するために使用されてもよい例示的なフィールドデバイス統合サーバの例のブロック図である。 図1のプロセス制御環境を実装するために使用してもよい例示的なクライアントデバイスのブロック図である。 図1のプロセス制御環境内の例示的なサービス指向フレームワークを実装するための例示的なプロセスを表すフローチャートである。 図6のサービス指向フレームワークプロセスにおいてサービスレイヤ処理を実装するための例示的なプロセスを表すフローチャートである。 図6のサービス指向フレームワークプロセスにおいて変換レイヤ処理を実装するための例示的なプロセスを表すフローチャートである。 図6のサービス指向フレームワークプロセスにおいてネットワークレイヤ処理を実装するための例示的なプロセスを表すフローチャートである。 図2のサービス指向フレームワークの例示的な動作を表すフローチャートである。 図1のプロセス制御環境において、図2のサービス指向フレームワークを実装するために、図6〜図10のプロセスの一部または全てを実装するために使用された例示的な機械可読命令を実行してもよい例示的な処理システムのブロック図である。
以下において、他のコンポーネントの中でも、ハードウェアで実行されるソフトウェアおよび/またはファームウェアを含む、例示的な方法、装置、および製品を記載するが、これらの例は例示的なものにすぎず、制限的なものとして考えられるべきではないことに留意されたい。例えば、ハードウェア、ソフトウェア、およびファームウェアコンポーネントのいずれかまたは全てを、ハードウェアのみ、ソフトウェアのみ、またはハードウェアおよびソフトウェアの任意の組み合わせにおいて実現できる可能性があることが意図される。従って、以下において、例示的な方法、装置、および製品を説明するが、当業者は、示されている例が、かかる方法、装置、および製品を実装する唯一の方法ではないことを容易に理解するであろう。例えば、例示的な方法、装置、および製品が、プロセス制御システム内のデバイスと通信するためのサービス指向フレームワークの実装に関連して記載されているが、例示的な方法、装置、および製品は、より一般的に適用可能であり、いずれかの自動化システム、バッチ処理システム、製造システム、工業制御システム、安全計装システム等の利用のために実装されてもよい。
多くの異なる種類のプロセス制御ネットワークプロトコルを、プロセス制御システムの実装のために使用できる。かかるプロセス制御ネットワークプロトコルの例には、Foundation Fieldbusプロトコル、Profibusプロトコル、HARTプロトコル等を含むが、これらに制限されない。上記のように、プロセス制御システムは、情報を処理するために1つ以上のクライアントワークステーション上で実行する1つ以上のクライアントアプリケーションを利用でき、プロセス制御システム内のフィールドデバイスと相互作用できる。しかしながら、以前のプロセス制御システムにおいて、かかるクライアントアプリケーションは、一般的には、特定のプロセス制御システムを実装するために使用される特定のプロセス制御ネットワークプロトコルを対象としている。このため、以前のプロセス制御システムで使用されるクライアントアプリケーションは、改訂する必要がある場合があり、また、異なる(例えば新しい)プロセス制御ネットワークプロトコルがプロセス制御制御システムで利用される場合には、再書き込みされる必要がある場合があり、こうした以前のクライアントアプリケーションは、異なるプロセス制御ネットワークプロトコルを利用する異なるプロセス制御システムにわたって移動が可能ではない場合がある。
対照的に、本明細書に記載される例示的な方法、装置、および製品は、クライアントアプリケーション(例えばプロセス制御アプリケーション)が、クライアントアプリケーションが利用されるプロセス制御システムを実装するために使用されたいかなる特定のプロセス制御ネットワークプロトコルとも無関係にできるようにする、プロセス制御システム内のデバイスと通信するためのサービス指向フレームワークを実装する。いくつかの例において、サービス指向フレームワークは、フィールドデバイス統合(FDI)規格に照らして実装される。本明細書に記載される例示的なサービス指向フレームワークは、サービスレイヤ、1つ以上の変換レイヤ、および1つ以上の変換レイヤにそれぞれ関連付けられた1つ以上のネットワークレイヤを含む。かかる例において、サービスレイヤは、1つ以上のプロセス制御システム内の1つ以上のフィールドデバイスと通信するために、1つ以上のプロセス制御サービスを実装する。各サービスは、フィールドデバイスが常駐できる任意のプロセス制御システムを実装するために使用されたいかなるプロセス制御ネットワークプロトコルとも無関係な汎用インターフェースを提供する。言い換えると、サービスレイヤによって実装されたサービスは、ネットワークプロトコルにとらわれることがない。サービス指向フレームワークによって実装されたプロセス制御サービスの例は、(1)フィールドデバイスにメッセージを送信し、デバイスからの対応する応答を受信するためのサービス、(2)フィールドデバイスによって返された発行されたデータを購読するためのサービス、(3)フィールドデバイスによって返されたイベントを受信するためのサービス、(4)プロセス制御システムおよびプロセス制御システムを実装するフィールドデバイスのグループを記述する情報を取得するためのサービス、(5)フィールドデバイスへ制御パラメータ値を書き込むためのサービス、等を含むが、これらに制限されない。
例示的なサービス指向フレームワークに含まれる1つ以上の変換レイヤは、それぞれ、各プロセス制御ネットワークプロトコルを対象としている。このため、特定の変換レイヤは、サービスレイヤによって提供される各サービスを、各サービスを実装するためのネットワーク動作の各シーケンスへと変換し、ここで、ネットワーク動作の各シーケンスは、特定の変換レイヤに関連付けられた特定のプロセス制御ネットワークプロトコルに特化している。いくつかの例では、変換レイヤは、フィールドデバイスに対するデバイス記述を読み、そのフィールドデバイスにより、サービスは、サービスを実装するために使用されるネットワーク動作の特定のシーケンスを作成するために通信することである。いくつかの例において、変換レイヤは、さらに、または、代替的に、サービスを実装するために実行される際に、ネットワーク動作のシーケンスを追跡するために特定のサービスを実装するために使用されたネットワーク動作の特定のシーケンスの状態を維持する。
例示的なサービス指向フレームワークに含まれる1つ以上のネットワークレイヤは、さらに、各プロセス制御ネットワークプロトコルを対象としている。例えば、特定のネットワークレイヤは、変換レイヤによってサポートされる特定のプロセス制御ネットワークプロトコルに特化した関連付けられた変換レイヤのためのネットワークインターフェースを提供する。ネットワークインターフェースは、通信トランザクション(例えばコマンド、応答等)が、特定のサービスを実装するために変換レイヤによって決定される特定のネットワーク動作シーケンス(例えばこれを実行すること、実装すること、等)に従って、特定のプロセス制御ネットワークプロトコルをサポートする1つ以上のフィールドデバイスで置き換えることを可能にする。
図を参照すると、図1は、例示的なプロセス制御システム102内のフィールドデバイスと通信するためのサービス指向フレームワークを実装するために、FDIサーバ106を含む例示的なプロセス制御環境100を示す、ブロック図である。例示的な制御環境100は、プロセス制御システム102および/または他の制御システム(図示せず)に通信可能に結合されてもよいさらなるクライアント(図示せず)を含んでもよい。
クライアント104(例えば、ターミナル、ワークステーション、パーソナルコンピュータ等)、例示的な制御システム102、および/またはフィールドデバイス統合(FDI)サーバ106は、FDI規格を使用して通信する。FDIサーバ106は、HART、Foundation Fieldbus、および/またはProfibusを含む異なる規格を使用して動作する、異なるネットワーク上のデバイスとインターフェースを取る。概して、FDIは、デバイスの製造者および/またはサプライヤが、デバイスが本来意図されたおよび/または構築された規格に関係なく、均一にデバイスを管理するために、顧客によって使用可能なツールセットを構築できるようにするための仕様を提供する。FDIは、標準的な電子デバイス記述言語(EDDL)のテキストベースのファイル(例えば、XMLファイル)が、デバイス、デバイスによって提供された方法、デバイスによってサポートされる測定およびデバイスパラメータ、デバイスのための構成情報、および/またはユーザがデバイスと行うことができる相互作用を記述できるようにする、テキストによるデバイス記述方法を含む。
以下により詳細に記載されるように、FDIサーバ106は、メッセージバスアーキテクチャおよびサービス指向アーキテクチャに基づいて、サービス指向フレームワークを実装する。メッセージバスアーキテクチャは、サービス指向フレームワークと通信するために、(以下に詳細に記載されているように、クライアント104で実行されるアプリケーション120等の)アプリケーションの標準的な方法を提供する。メッセージバスアーキテクチャは、通信チャネルを介してメッセージを送受信するメッセージバスと類似している。メッセージバスアーキテクチャは、アプリケーションが、コントローラ、サーバ、デバイス、および/またはその他のアプリケーションの内部動作についての具体的な詳細の全てを必ずしも知らなくても、プロセス制御コントローラ、サーバ、デバイス、および/またはその他のアプリケーションと通信できるようにする。
メッセージバスアーキテクチャに加えて、サービス指向アーキテクチャは、一組のサービスとして、プロセス制御機能を提供する。こうしたサービス指向アーキテクチャにおいては、特定のデバイスがサポートするネットワークサービスは、デバイスに関連付けられたデバイス記述において要約される。サービスは、FDI規格の一部として定義されるメッセージベースの相互作用によって実装されるインターフェースを介して呼び出される。メッセージベースの相互作用によってサービスが呼び出されるため、サービスの要求者およびサービス提供者の位置は別々とすることができ、このため、プロセス制御環境100内に分散できる。
メッセージバスアーキテクチャとサービス指向アーキテクチャを、サービス指向フレームワークに組み合わせることで、少なくともいくつかの状況において、いくつかの利点を提供できる。例えば、アプリケーションを異なる環境で実行できる(例えばMicrosoft Windows(登録商標)のホストで実行しているアプリケーションは、いくつかのプロセス制御ネットワークプロトコルのうちの1つを使用してプロセス制御埋め込みデバイスとのインターフェースを取ってもよい)。別の考えられる利点として、全てのデバイスが全てのサービスをサポートする必要がない。さらに別の考えられる利点として、サービスは、より高いレベルのアプリケーションを、実際のプロセス制御ネットワーク(例えばバス)プロトコルとは関係なく実装することができる。
例示的なクライアント104および例示的なFDIサーバ106は、第1の通信バス108を介して通信される。FDIサーバ106は、通信バス108と同じまたは異なるタイプであってもよい、他の通信バス110、112へ、通信バス108を接続する。FDIサーバ106は、さらに、通信バス112を介して制御システム102とも通信する。このため、クライアント104は、FDIサーバ106ならびに適切な通信バス108および112を介して、制御システム102内のデバイスのいずれかと通信してもよい。
いくつかの例において、通信バス108〜110は、ローカルエリアネットワーク(LAN)プロトコル(イーサネット(登録商標)等)、ワイヤレスフィディリティ(Wi−Fi)プロトコル(例えば米国電気電子技術者協会(IEEE)802.11ファミリー規格に基づく)、セルラ通信ネットワーク、インターネット等を使用して実装してもよく、通信バス112は、Foundation Fieldbusプロトコル、Profibusプロトコル、および/またはHARTプロトコルに準拠するように実装されてもよい。さらにまたは代替的に、通信バス108〜110のうちの1つ以上を、Foundation Fieldbusプロトコル、Profibusプロトコル、および/またはHARTプロトコルに準拠するように実装してもよい。さらにまたは代替的に、通信バス112は、LANプロトコル(イーサネット(登録商標)等)、Wi−Fiプロトコル(例えばIEEE802.11ファミリー規格に基づく)、セルラ通信ネットワーク、インターネット等に準拠するように実装されてもよい。
例示的な制御システム102は、製造施設、処理施設、自動化施設、および/または任意の他の種類のプロセス制御構造またはシステムのいずれかの種類を含んでもよい。いくつかの例において、制御システム102は、異なる位置に配置される複数の施設を含んでもよい。さらに、例示的な制御システム102がプロセス制御サブシステム114に関連付けられていても、制御システム102は、さらなるプロセス制御サブシステムを含んでもよい。
例示的なプロセス制御サブシステム114は、データバス118を介して、コントローラ116へ通信可能に結合される。プロセス制御サブシステム114は、示されるように、いずれかの数のフィールドデバイス119(例えば入力および/または出力デバイス)を含んでもよい。フィールドデバイス119は、入力の受信、出力の生成、および/またはプロセスの制御が可能であるプロセス制御コンポーネントの任意の種類を含んでもよい。例えば、フィールドデバイス119は、プロセスを制御するために、例えば、バルブ、ポンプ、ファン、ヒーター、クーラー、および/またはミキサー等の入力デバイスを含んでもよい。さらに、フィールドデバイス119は、プロセスの一部を計測するために、例えば、温度計、圧力計、濃度計、油面計、流量計測装置、および/または蒸気センサ等の出力デバイスを含んでもよい。入力デバイスは、指定されたコマンドを実行し、プロセスに変更を生じさせるために、コントローラ116から命令を受信してもよい。さらに、出力デバイスは、プロセスデータ、環境データ、および/または入力デバイスデータを計測してもよく、プロセス制御情報(例えばプロセスデータ)として、コントローラ116へ計測したデータを送信してもよい。このプロセスデータは、各フィールドデバイス119からの計測された出力に対応する、変数値(例えば、計測されたプロセス変数および/または計測されたクオリティ変数)を含んでもよい。
図1の図示された例において、例示的なコントローラ116は、データバス118を介して、プロセス制御サブシステム114内のフィールドデバイス119と通信してもよい。データバス118は、プロセス制御サブシステム114内の通信コンポーネントに結合されてもよい。通信コンポーネントは、フィールドデバイス119からデータを受信し、例示的なコントローラ116によって受信できる通信媒体へデータを転換するための入出力カードを含んでもよい。さらに、これらの入出力カードは、データを、コントローラ116から、対応するフィールドデバイス119によって処理できるデータフォーマットへ転換してもよい。一例において、データバス118は、Fieldbusプロトコルまたは他の種類の有線および/もしくはワイヤレス通信プロトコル(例えばProfibusプロトコル、HARTプロトコル等)を使用して実装されてもよい。
コントローラ116は、任意の有線および/またはワイヤレス接続を介して、FDIサーバ106と通信可能に結合される。いくつかの例において、接続は、コントローラ116へのアクセスを制限するために、ファイアウォールおよび/または他のセキュリティ機構を含んでもよい。コントローラ116は、コントローラ116がプロセス制御サブシステム114からプロセスデータを受信すると、FDIサーバ106へプロセスデータを送信してもよい。他の例において、コントローラ116は、定期的な間隔で(例えば毎分、毎時間、毎日等)、FDIサーバ106へプロセスデータを送信してもよい。あるいは、FDIサーバ106は、コントローラ116からプロセスデータを要求してもよい。
プロセスデータを受信すると、図1の例示的なFDIサーバ106は、ファイルシステム(図示せず)内にプロセスデータを格納する。ファイルシステムは、プロセス制御サブシステム114内のデバイス119に基づいて、および/または、プロセス制御サブシステム114を管理するために、コントローラ116内で動作するルーチン(例えばアプリケーションおよび/またはアルゴリズム)に基づいて、ディレクトリおよび/またはサブディレクトリを用いて階層的に配設されてもよい。他の例では、ファイルシステムは、制御システム102のオペレータによって配設されてもよい。プロセスデータは、関連付けられたディレクトリおよび/またはサブディレクトリ内のパラメータに格納されてもよい。いくつかの例において、パラメータは、コントローラ116上で動作するルーチンと関連付けられる、またはプロセス制御環境100内のフィールドデバイス出力と関連付けられる変数であってもよい。パラメータは、パラメータに関連付けられたプロセスデータの種類を記述するメタデータを含んでもよい。
例示的なクライアント104は、プロセス制御環境100に関連付けられプロセスデータを読み込み、書き出し、および/または購読することが承認されている場合がある個人に関連付けられてもよい。クライアント104は、さらに、遠隔位置からプロセス制御環境100にアクセスする場合がある制御システム102に関連付けられた人員に関連付けられてもよい。クライアント104は、任意の有線および/またはワイヤレス通信媒体(例えばインターネット)を使用して、FDIサーバ106を介してプロセス制御環境100にアクセスしてもよい。
例示的なFDIサーバ106は、プロセスデータが、クライアント104上で動作するクライアントアプリケーション120のユーザによって視認可能になるように、プロセスデータをフォーマットすることができる。図1の例は、インターフェース122内のプロセスデータを示すクライアントアプリケーション120を示す。例えば、クライアントアプリケーション120は、ウェブクライアントディスプレイアプリケーションを含んでもよい。FDIサーバ106は、ウェブページを作成し、かつ/またはテンプレートウェブページにアクセスし、ウェブページ内にデータフィールドを配置または埋め込むことにより、ウェブサーバアプリケーションのためのプロセスデータをフォーマットしてもよい。その後、インターフェース122は、ウェブブラウザを介して、ハイパーテキストマークアップ言語(HTML)要求および応答を使用してFDIサーバ106内でホストされるウェブページにアクセスすることにより、プロセスデータを表示してもよい。あるいは、FDIサーバ106は、ウェブブラウザ(例えばインターフェース122)内で実行可能であってもよい、またはクライアント104(例えばWindows(登録商標)オペレーティングシステムアプリケーション、アプリケーションプラグイン)にネイティブであってもよい、クライアントアプリケーション120において、ウェブアプリケーション(例えばActiveX,Adobe Flash(商標)および/またはSilverlight(商標)を初期化することにより、クライアントディスプレイアプリケーションのために、プロセスデータをフォーマットしてもよい。いくつかの例において、FDIサーバ106は、クライアントアプリケーション120へプロセスデータを送信する前に、対応するデータフィールドに、プロセスデータを関連付ける。プロセスデータを受信すると、クライアントアプリケーション120は、対応するデータフィールド内のプロセスデータを表示するために、ウェブブラウザ(例えばインターフェース122)内のディスプレイを作成(レンダリング)する。
図2は、図1の例示的なFDIサーバ106によって、少なくとも部分的に実装されてもよい例示的なサービス指向フレームワーク200のブロック図である。図2に示されるように、サービス指向フレームワーク200は、クライアントアプリケーション202、デバイス記述208、および1つ以上のデバイスネットワーク210と通信する。サービス指向フレームワーク200は、サービスレイヤ212、変換レイヤ214、ネットワークレイヤ216、およびセキュリティレイヤ218を含む。
図2の例示的なクライアントアプリケーション202は、デバイスを設定するためのアプリケーション、デバイスの較正および診断を実行するためのアプリケーション、および/または1つ以上のデバイスネットワークに配置されたデバイスから測定値およびイベントを読み込むためのアプリケーションである。クライアントアプリケーション202は、リッチクライアントモデルまたはリッチインターネットモデルに従って実装されるユーザインターフェース(UI)を含むことができる。例えば、リッチクライアントモデルにおいて、UIは、Microsoft Windows(登録商標)または同様のアプリケーションスタイルを利用する。リッチインターネットモデルにおいて、UIは、ウェブブラウザインターフェースまたはウェブブラウザプラグインインターフェース等のウェブスタイルクライアントを利用する。図2に示されるように、クライアントアプリケーション202は、サービスレイヤ212からサービスを要求および利用してもよいサービス顧客206を含む。図1のアプリケーション120に対応する場合がある、クライアントアプリケーション202は、例えば、図1の例示的なクライアント104および/または図11の例示的な処理システム1100上で実行されるコンピュータ可読命令を使用して実装されてもよい。クライアントアプリケーション202は、サービス指向フレームワーク200を介して、プロセス制御サブシステム114に対応する場合がある、デバイスネットワーク210と通信する。サービス指向フレームワーク200は、FDIサーバ106によって実装されたものとして記載されているが、例示的なサービス指向フレームワーク200および/またはフレームワーク200の選択された部分は、代替的に、ネットワーク108、110、および112上のクライアント104、サーバ106、コントローラ116、および/またはデバイス128〜136のうちの1つ以上、または任意の組み合わせで実装されてもよい
サービスレイヤ212は、サービスインターフェース220、サービスメッセージタイプ222、サービスデータタイプ224、アダプタ226、およびサービス228を含む。サービスレイヤ212によって提供された例示的なサービス228は、デバイス記述208およびデバイスネットワーク210へのアクセスをサポートする。サービス228は、アプリケーションおよび/またはデバイスが、所望の能力または機能を実行するために必要な特定のサービス228を要求できるようにするサービス契約として明らかにされている。いくつかの例において、サービスによって実装された新しい機能を含み、かつ/または新しいメッセージおよびデータタイプを含むためのサービス契約の変更は、既存のサービス契約と下位互換性がなくてもよい。
図示される例において、サービスレイヤ212は、サービス228へメッセージベースのインターフェースを提供する、サービスインターフェース220を介してアクセスされる。サービスレイヤ212は、アプリケーションおよび/またはデバイスからのサービス要求を管理し、かつ、クライアントアプリケーション202によって使用するためのサービス契約を変換する。サービスとサービス顧客との間のメッセージを渡すときに、メッセージを各サービス顧客が理解できるフォーマットに変換するために、1つ以上のアダプタ226が使用されてもよい。
サービスレイヤ212へのアクセスは、ポリシーによって定義される。ポリシーは、サービス顧客が、サービス、および/またはサービスの要求に関する任意の他の詳細にアクセスするための何らかの接続および/またはセキュリティ要件を決定する方法を提供する。
例示的な変換レイヤ214は、通信が望ましいデバイスを含むデバイスネットワーク210(または、より一般的には、プロセス制御システム)を実装するために使用された特定のプロセス制御ネットワークプロトコル(デバイスネットワークプロトコルとして本明細書で称されることもある、HART、Fieldbus、Profibus等)をサポートするために、サービスレイヤによって提供されたネットワークに無関係なサービスを変換する。変換レイヤ214は、各サービスを実装するために、サービスレイヤ212によって提供された各ネットワークに無関係なサービス228をネットワーク動作230の各シーケンスへ変換するために、アプリケーションファサード229を含む。特定のサービス228のためのアプリケーションファサード229によって決定されたネットワーク動作230のシーケンスは、変換レイヤ214に関連付けられた特定のプロセス制御ネットワークプロトコル236、および、さらに、サービス228が通信する特定のネットワークコンポーネント231(例えばフィールドデバイス)にも特化している。変換レイヤ214は、さらに、サービス228の実装のために実行される際に、ネットワークオペレーション230のシーケンスを追跡するために、特定のサービスを実装するために使用されたネットワーク動作230のシーケンスの実行の状態(例えば、順序、時間等)を維持する。
変換レイヤ214は、例えば、開始時において読み込まれるデバイス記述ファイル208からデバイス(例えばネットワークコンポーネント231)についての情報を受信する。デバイス記述ファイル208は、電子デバイス記述言語(EDDL)232および/または共通のファイルフォーマット234のデバイスについての情報を含む。例えば、EDDLファイル232は、図1のプロセス制御システム102に含まれるフィールドデバイスの各製造者によって生成されるデバイス挙動を定義するテキストによる記述および論理を表す。EDDLファイル232は、図1のプロセス制御システム102上に含まれるデバイスのデジタルデータシートに類似する可能性がある。従来のプログラミング言語と比較して、EDDLエレメントの柔軟性は、制限されており、また、デバイス記述に特化している。しかしながら、EDD言語の簡略性により、EDDデバイス記述の容易かつ効率的な開発が可能になり、ハードウェアおよびオペレーティングシステムプラットフォームへの独立性が提供され、デバイス動作のための均一的な理念が生じ、解釈による高いロバスト性がもたらされる。概して、EDDL技術は、低程度から平均的な複雑さのデバイスで使用される。
共通ファイルフォーマット234は、デバイスおよび/またはアプリケーションについての情報を格納し、ファイルは、システム、ツールセット、アプリケーション、および/または他のデバイスの間で交換されてもよい。いくつかの例において、共通ファイルフォーマット234は、柔軟性があり、タグを使用して事実上無制限の記述を可能にする拡張マークアップ言語(XML)を含むスキーマを使用する。
ネットワークレイヤ216は、図1のプロセス制御システム102を実装するために使用されたデバイスネットワークのうちの1つ以上と相互作用するためのデータアクセス機能性を含む。図示された例において、ネットワークレイヤ216は、種々のネットワークメッセージタイプ242、ネットワークデータタイプ244、および、おそらくは、特定のプロセス制御ネットワークプロトコル236に特化した1つ以上のオブジェクト辞書246をサポートするネットワークアプリケーションプログラミングインターフェース(API)240を含む。例示的なフレームワーク200は、複数のネットワークレイヤ216および関連付けられた変換レイヤ214を含み、ここで、各変換レイヤ214および関連付けられたネットワークレイヤ216は、特定のデバイスネットワーク210(またはより一般的には、特定のプロセス制御システム)を実装する特定のデバイスネットワークプロトコル236(HART、Fieldbus、およびProfibus等のプロセス制御システムプロトコルとも称される)に特化している。従って、例示的なフレームワーク200およびネットワークアプリケーションレイヤ216は、これらのプロトコルへのいかなる変化をも必要としない。
デバイスネットワーク210は、例示的なフレームワーク200に、プロセス制御フィールドデバイスを構成する、デバイス診断にアクセスする、測定値を転送する、アラームおよびイベントを転送する能力、ならびに/またはその他の通信および制御能力を提供するために、それぞれのネットワークプロトコル236およびネットワークサービス238に従って、プロセス制御システム(例えば図2のプロセス制御システム102)を実装するフィールドデバイスとのインターフェースを取る。サービス指向フレームワーク200によってサポートされるいくつかの例示的な能力は、要求および/または応答、イベントの発行および/または購読、イベントの送信、アプリケーションおよび/またはデバイスのディレクトリの保守、ならびに/またはデバイスへのコマンドの書き込みを含む。サービス指向フレームワーク200は、クライアントアプリケーション202に、サービスレイヤ212を介したこれらの能力へのアクセスを提供する。例えば、サービス指向フレームワーク200は、要求/応答、発行/購読、イベント、ディレクトリ、および書き込み能力について定義されたサービスを有してもよい。
いくつかの例において、サービス指向フレームワーク200は、サービスの呼び出しのための非同期コールモデルを利用する。非同期コールの使用は、クライアントプロセスのブロックを回避する。いくつかの例において、バックグラウンド動作の実行のための1つ以上の個別の処理スレッドは、さらに、フィールドデバイスからのデータのポーリングに使用される。このため、フィールドデバイスからのデータの読み込み等のより長く実行される動作は、(例えば先行技術のアプリケーションで起こる可能性があるように)UIアプリケーションを実装するプロセススレッドがブロックされることを防ぐために、バックグラウンドのスレッドおよび非同期実行と共に処理できる。いくつかの例において、サービスコールは、クライアントサーバ接続が認証できるように、セキュリティ情報を含むバインディングを使用する。機密情報および通信チャネルを保護するために、インターネットプロトコルセキュリティ(IPSec)およびセキュアソケットレイヤ(SSL)を、クライアントデバイス104とFDIサーバ106との間のチャネル等の通信チャネルを安全にするために使用できる。データタンパリングを検出するためにデータおよびデジタル署名を保護するための暗号化も利用でき、これらの能力はオンおよびオフにすることを選択できる。
例示的な動作において、クライアントアプリケーション202は、圧力トランスミッタ等のデバイスからの圧力の読み取りを要求するために、FDI規格を使用し、汎用(例えばネットワークに無関係な)インターフェース220を有するサービス228を呼び出す。要求を受信すると、サービスレイヤ212は、変換レイヤ214へ要求を転送する。変換レイヤ214は、圧力トランスミッタが接続されているデバイスネットワークに特化したコマンドを生成し、ネットワークアプリケーションレイヤ216を介してコマンドを送信する。例えば、デバイスネットワークがHARTネットワークである場合、クライアントアプリケーション202は、圧力トランスミッタへコマンドを送信する。これに対し、デバイスネットワークがFieldbusネットワークである場合、クライアントアプリケーション202は、オブジェクト辞書入力を読み込む、または要求する。デバイスネットワークは、圧力トランスミッタへ要求を送信し、ネットワークアプリケーションレイヤ216を介して、デバイスから変換レイヤ214へ応答を返す。変換レイヤ214は、次に、クライアントアプリケーション202によって理解可能である汎用応答フォーマットへ、応答を転換する。いくつかの他の例において、クライアントアプリケーション202は、応答のための特定のフォーマットを必要とする。これらの場合において、クライアントアプリケーション202は、応答がクライアントアプリケーション202に戻される際に、特定のアダプタ226を呼び出すように要求してもよい。
いくつかの場合において、デバイスネットワークへのアクセスを制限する必要があってもよい。この要件をサポートするために、サービス指向フレームワーク200は、1つ以上の認証モジュール248および/または承認モジュール250を提供するために、セキュリティレイヤ218を含む。フレームワーク200によってアプリケーション202を認証するための認証モジュール248の実装は、使用されるサービスホストの種類に依存してもよい。このため、サービス指向フレームワーク200は、1つ以上のセキュリティレイヤ218が、フレームワーク200に組み込まれることを可能にする。例えば、サービス指向フレームワーク200がインターネット情報サービス(IIS)においてホストされる場合、IISによって提供された認証サポートを使用できる。サービスがWindows(登録商標)サービスによってホストされる場合、メッセージベースまたはトランスポートベースの認証を使用できる。
いくつかの例において、サービス指向フレームワーク200は、ユーザアクセスの承認を提供する。これらの場合、承認モジュール250は、ユーザ、グループ、および役割について、リソース上のアクセス許可を提供するために使用できる。
いくつかの例において、例えばプロセス制御アプリケーション202のパフォーマンスを向上させるために、変換レイヤ214の実装は、FDIサーバ106およびクライアントデバイス104にわたって分割される。かかる例において、クライアントデバイス104は、機密情報を含まない変換レイヤ214の部分を実装できるが、FDIサーバ106は、機密情報を含む変換レイヤ214の部分を実装できる。
いくつかの例において、FDIサーバ106および/またはクライアントデバイス104は、例えば、プロセス制御アプリケーション202のパフォーマンスを向上させるために、キャッシュを利用する。例えば、クライアントデバイス104は、FDIサーバ106から取得したサービス指向フレームワーク(例えばサービス228)のコンポーネントをキャッシュできる。さらに、または代替的に、FDIサーバ106は、例えば、外部メモリ、フィールドデバイス自体等から読み出された後で、デバイス記述208をキャッシュできる。さらに、または代替的に、FDIサーバ106は、フィールドデバイスから戻ったデータおよび/またはフィールドデバイスへ書き込まれるデータを、こうしたデータがアプリケーション202に戻る、またはフィールドデバイスに書き込まれるまで、適宜キャッシュできる。
いくつかの例において、プログラム構成は、アプリケーションを、アプリケーション全体の再実装または再配備をせずに、より容易に拡張できるように、サービス指向フレームワーク200で利用される。これは、多数のモジュールからアプリケーションを実装し、柔軟に結合されるようにコンポーネントを設計することで、達成できる。
いくつかの例において、サービス指向フレームワーク200は、例外管理およびロギングをサポートする。例えば、検証メッセージ等のエラーを、運営スタッフおよびモニタリングシステムによる使用のために、FDIサーバ106上にログオンできる。例外管理はまた、非同期例外、ならびにクライアントとサーバコードとの間の例外連携の両方をカバーできる。ロギングに関して、クライアントファイルシステムへのアクセスは、Silverlightアプリケーションにおいて利用可能ではなく、クライアントおよびサーバの実行は、しばしば、非同期で進行する。このため、以下の情報のうちの一部または全てが、クライアント側からサーバ側へ転送されるログファイルに含まれる。(1)それぞれのログされた入力に関連付けられたユーザ、(2)ログ入力に関連付けられた機械、(3)関連するクライアントおよびサーバログファイルを組み合わせるための機構、(4)重大なエラーおよび例外、等々。
いくつかの例において、プロセス制御アプリケーション202は、クライアントデバイス104等のプラットフォームの組み込みメディア能力を利用するために実装される。例えば、以下のガイドラインに従うことができる。(1)サービス指向フレームワーク200のインターフェースは、いかなるプロセス制御ネットワークプロトコルとも無関係であるため、プロセス制御アプリケーション202は、クライアントデバイス104によって既に提供されたグラフィック能力を利用するように設計されている、および(2)本来のグラフィックおよび/またはベクトルグラフィックは、例えば、アプリケーションパフォーマンスを向上させるために利用された。
いくつかの例において、クライアントデバイス104上で実行されるアプリケーション202とFDIサーバ106上で実行されるサービス指向フレームワーク200との間のインターフェースを提供するサービスインターフェース220は、リッチデスクトップ、スマートハンドヘルド、より機能性の低いハンドヘルド等のように、固定されているまたはモバイルであるクライアントデバイス104をサポートする。このため、サービスインターフェース220は、例えば、モバイルインターフェースの一部として使用されるナビゲーションを、リッチUIと同様にすることができるようにする、リッチおよびモバイルの両方のインターフェースのためのUI記述をサポートするように実装されてもよい。
いくつかの例において、サービス指向フレームワーク200は、ウェブスタイルのインターフェースを利用するアプリケーション202をサポートする。これらの例において、データバインディングは、例えば、テーブル状および複数列のデータ表現でデータを表示するために使用される。このため、開発を簡略化し、符号化エラーを低下できる、デバイスの日付の表現を実装するために必要なコードを低減できる。データバインディングは、さらに、異なる視認またはフォームのデータの自動的な同期化も可能にする。双方向バインディングの使用は、さらに、ユーザによる表示データの更新を可能にする。さらに、ナビゲーションボタンイベントは、アプリケーションまたはウェブページから外れた意図しないナビゲーションを回避するために、トラップすることができる。
上記のように、変換レイヤ214は、クライアントアプリケーション202によって呼び出された特定のサービス228を実装するために決定されたネットワークオペレーション230のシーケンスの状態を格納する。1つ以上のアプリケーション202は、同時に複数のサービス228を呼び出すことができるため、変換レイヤ214は、1つのシーケンスの状態が別のシーケンスによって乱されないように、隔離されたストレージ(図示せず)で同時に実行している異なるサービス228のためのネットワーク動作230の異なるシーケンスのための状態の情報を格納するように構成される。
上記のように、サービス指向フレームワーク200は、1つ以上の認証モジュール248および/または承認モジュール250を提供するために、セキュリティレイヤ218を含む。いくつかの例において、認証モジュール248は、これらのコンポーネントが適切に相互動作することを確実にするために、アプリケーション202、サービス指向フレームワーク200、デバイス記述ファイル208等の検証をサポートする。例えば、アプリケーション202のクライアント側の検証は、適切なUIがユーザに示されることを確実にするために使用される。サーバ側の検証を、アプリケーション202および/またはフィールドデバイスによって提供されたデータ等のデータソースからの入力を検証するために使用できる。例えば、サーバ側の検証機構は、データを制限、拒否、および/または削除するために使用でき、入力データは長さ、範囲、フォーマット、タイプ等についてチェックされる。いくつかの例において、隔離されたストレージ(図示せず)は、特定のアプリケーション202および/またはクライアントデバイス104に特化した検証ルールを格納するために使用される。
図3は、図2の例示的なサービス指向フレームワークによって提供されてもよい例示的なサービス228を示すブロック図である。図3の例示的なサービス228は、フィールドデバイスへメッセージを送信し、デバイスからの対応する応答を受信するために、アプリケーション(例えば、クライアントアプリケーション202)のための例示的な要求・応答サービス304を含む。図3の例示的なサービス228は、さらに、フィールドデバイスによって返された発行されたデータを購読するために、アプリケーション(例えばクライアントアプリケーション202)のための例示的な発行・購読サービス308も含む。図3の例示的なサービス228は、フィールドデバイスによって返されたイベントを受信するために、アプリケーション(例えばクライアントアプリケーション202)のための例示的なイベントサービス312もさらに含む。さらに、図3の例示的なサービス228は、1つ以上のデバイスネットワーク210(例えば、または一般的に、1つ以上の関連付けられたプロセス制御システム102)および1つ以上のデバイスネットワーク210によって相互接続された(例えば、および、このため、1つ以上の関連付けられたプロセス制御システム102を実装する)フィールドデバイスのグループを記述する情報を取得するために、アプリケーション(例えばクライアントアプリケーション202)のための例示的なディレクトリサービス316を含む。図3の例示的なサービス228は、さらに、制御パラメータ値をフィールドデバイスへ書き込むために、アプリケーション(例えばクライアントアプリケーション202)のための例示的な書き込みサービス320も含む。いくつかの例において、書き込みサービス320は、種々のアクセス制限(例えば、承認ユーザのみに書き込みを制限する等)をサポートできる。
図4は、図1のFDIサーバ106の例示的な実装のブロック図である。図示された例のFDIサーバ106は、アプリケーション(図2のクライアントアプリケーション202および/または図1のクライアントアプリケーション120)とインターフェースを取るために、例示的なアプリケーションインターフェース404を含む。例えば、アプリケーションインターフェース404は、プロセス制御ネットワークプロトコルとは無関係である、サービスメッセージタイプ222およびサービスデータタイプ224によって定義されるメッセージベースのサービスインターフェース220を実装できる。さらに、アプリケーションインターフェース404は、FDIサーバ106自体および/または他のクライアントデバイス(例えば図1のクライアント104等)で実行するアプリケーションと通信可能に結合するために実装できる。
図4のFDIサーバ106は、図2のサービス指向フレームワーク200の一部または全てを実装するために、機械可読命令を実行するために、例示的なプロセッサ408をさらに含む。プロセッサ408は、以下により詳述される、図11の処理システム1100に含まれる1つ以上のプロセッサ1102等のいずれかのタイプのプロセッサを使用して実装されてもよい。
図4のFDIサーバ106は、さらに、1つ以上のプロセス制御システムを実装する1つ以上のデバイスネットワークとインターフェースを取るために、例示的なネットワークインターフェース412を含む。このため、ネットワークインターフェース412は、上記のプロセス制御ネットワークプロトコル236のうちの1つ以上をサポートできる。
図5は、図1のクライアントデバイス104の例示的な実装のブロック図である。図示された例のクライアントデバイス104は、他のプロセス制御アプリケーション(例えば、図2の他のクライアントアプリケーション202および/または図1の他のクライアントアプリケーション120)で実行している他のクライアントとインターフェースを取るために、例示的なクライアントインターフェース504を含む。例えば、クライアントインターフェース404は、同じまたは異なるデバイス上で実行するアプリケーションの間の通信のために、通信プロトコルおよび/またはプロセス間メッセージングの任意のタイプにすることができる。
図5のクライアントデバイス104は、さらに、図2のサービス指向フレームワーク200とインターフェースを取るための1つ以上のアプリケーション202を実装するために、機械可読命令を実行するために、例示的なプロセッサ508も含む。プロセッサ508は、以下により詳述される、図11の処理システム1100に含まれる1つ以上のプロセッサ1102等の任意のタイプのプロセッサを使用して実装されてもよい。
図5のFDIサーバ104は、サービス指向フレームワーク200を実装する図1および/または図4のFDIサーバ106とインターフェースを取るために、例示的なサービスインターフェース512をさらに含む。このため、サービスインターフェース512は、図4のアプリケーションインターフェース404の相手側であり、いかなるプロセス制御ネットワークプロトコルとも無関係である、サービス指向フレームワーク200のサービスメッセージタイプ222およびサービスデータタイプ224によって定義されるメッセージベースのサービスインターフェース220を実装できる。
図1のFDIサーバ106およびクライアントデバイス104を実装する例示的な方法が、図4〜図5に示されているが、それぞれ、図4〜図5に示されるエレメント、プロセスおよび/またはデバイスのうちの1つ以上は、任意の他の方法で、組み合わされる、分割される、再構成される、省略される、削除される、および/または、実装されてもよい。さらに、例示的なアプリケーションインターフェース404、例示的なプロセッサ408、例示的なネットワークインターフェース412、例示的なクライアントインターフェース504、例示的なプロセッサ508、例示的なサービスインターフェース512、および/または、より一般的には、図4の例示的なFDIサーバ106、および/または図5の例示的なクライアントデバイスは、ハードウェア、ソフトウェア、ファームウェア、および/またはハードウェア、ソフトウェアおよび/またはファームウェアの任意の組み合わせによって実装されてもよい。このため、例えば、例示的なアプリケーションインターフェース404、例示的なプロセッサ408、例示的なネットワークインターフェース412、例示的なクライアントインターフェース504、例示的なプロセッサ508、例示的なサービスインターフェース512、および/または、より一般的には、例示的なFDIサーバ106、および/または例示的なクライアントデバイス104のいずれかを、1つ以上の回路、プログラム可能なプロセッサ、特定用途向け集積回路(ASIC)、プログラム可能な論理デバイス(PLD)、および/またはフィールドプログラマブル論理デバイス(FPLD)等によって実装できる可能性がある。添付の装置請求項のいずれかが、純粋に、ソフトウェアおよび/またはファームウェア実装を網羅するように読まれる場合、例示的なFDIサーバ106、例示的なクライアントデバイス104、例示的なアプリケーションインターフェース404、例示的なプロセッサ408、例示的なネットワークインターフェース412、例示的なクライアントインターフェース504、例示的なプロセッサ508、および/または例示的なサービスインターフェース512のうちの少なくとも1つが、かかるソフトウェアおよび/またはファームウェアを格納する、メモリ、デジタル多用途ディスク(DVD)、コンパクトディスク(CD)等の有形のコンピュータ可読媒体を含むように、本明細書によって、明示的に定義される。またさらに、図4の例示的なFDIサーバ106および/または図5の例示的なクライアントデバイス104は、図4〜図5に示されるものに加えて、またはその代わりに、1つ以上のエレメント、プロセスおよび/またはデバイスを含んでもよく、かつ/または、図示されたエレメント、プロセスおよびデバイスのうちのいずれか2つ以上または全てを含んでもよい。
例示的なプロセス制御環境100、例示的なFDIサーバ106、例示的なクライアントデバイス104、例示的なアプリケーションインターフェース404、例示的なプロセッサ408、例示的なネットワークインターフェース412、例示的なクライアントインターフェース504、例示的なプロセッサ508、例示的なサービスインターフェース512および/または、より一般的には、サービス指向フレームワーク200を実装するために実行してもよい、例示的なプロセスを示すフローチャートが、図6〜図10に示される。これらの例において、各フローチャートによって表されるプロセスは、図11に関して以下に記載された例示的なプロセッシングシステム1100に示されたプロセッサ1102等のプロセッサによって実行するための機械可読命令を含む1つ以上のプログラムによって実装されてもよい。あるいは、図6〜図10のフローチャートによって表されるプロセスのうちの1つ以上を実装するプログラムの全体、および/またはその一部は、プロセッサ1102(例えば、コントローラおよび/または任意の他の適したデバイス等)以外のデバイスによって実行できる可能性があり、かつ/または(例えばASIC、PLD、FPLD、個別論理等によって実装される)ファームウェアまたは専用のハードウェアによって具体化できる可能性がある。さらに、図6〜図10のフローチャートまたはその1つ以上の部分によって現されるプロセスのうちの1つ以上は、手動で実装してもよい。さらに、例示的なプロセスは、図6〜図10に示されるフローチャートを参照して記載されるが、あるいは、本明細書に記載された例示的な方法および装置を実装するための多くの他の技術が代替的に使用されてもよい。例えば、図6〜図10に示されるフローチャートを参照して、ブロックの実行の順序を変えてもよく、および/または、記載されるブロックのうちのいくつかを、変更、除去、組み合わせおよび/または複数ブロックに下位分割してもよい。
上記のように、図6〜図10の例示的なプロセスは、ハードディスクドライブ、フラッシュメモリ、読み込み専用メモリ(ROM)、CD、DVD、キャッシュ、ランダムアクセスメモリ(RAM)および/または、任意の持続時間(例えばより長い期間、永久に、短い瞬間、一時的なバッファリングのため、および/または情報のキャッシュのため)情報を格納する、任意の他の格納媒体等の有形のコンピュータ可読媒体に格納される符号化命令(例えばコンピュータ可読命令)を使用して実装されてもよい。本明細書に使用されている場合、有形のコンピュータ可読媒体という用語は、任意の種類のコンピュータ可読ストレージを含み、伝播する信号を除外するように、明示的に定義されている。さらに、または代替的に、図6〜図10の例示的なプロセスは、フラッシュメモリ、ROM、CD、DVD、キャッシュ、ランダムアクセスメモリ(RAM)および/または、任意の持続時間(例えばより長い期間、永久に、短い瞬間、一時的なバッファリングのため、および/または情報のキャッシュのため)情報を格納する任意の他のストレージメディア等の非一時的なコンピュータ可読媒体に格納される符号化命令(例えばコンピュータ可読命令)を使用して実装してもよい。本明細書に使用される場合、非一時的なコンピュータ可読媒体という用語は、任意の種類のコンピュータ可読媒体を含み、伝播する信号を除外するように、明示的に定義されている。さらに、本明細書で使用される場合、「コンピュータ可読」および「機械可読」という用語は、別途示されていない限り、同等であると考えられる。
図2の例示的なサービス指向フレームワーク200を実装するために実行されてもよい例示的なプロセス600を、図6に示す。例示的なプロセス600は、所定のイベント等の発生時に基づいて、所定の間隔で、またはその組み合わせで実行されてもよい。図6のプロセス600は、図1およびまたは図5のクライアントデバイス104によって実行されるものとしてプロセス制御アプリケーション202をサポートするために、それぞれ、図1および/または図4のFDIサーバ106によって実行されるという観点から記載されている。このため、前掲の図を参照して、図6のプロセス600は、クライアントデバイス104が、サービス指向フレームワーク200によって提供される1つ以上のネットワークに無関係のサービス228(ネットワークにとらわれないサービス、デバイスに無関係のサービス、デバイスにとらわれないサービス等とも称される)を使用して、1つ以上のプロセス制御システムにおいて1つ以上のフィールドデバイスと通信するためのものである、プロセス制御アプリケーション202を実行する、ブロック605において実行を開始する。例えば、ブロック605において、プロセス制御アプリケーションは、1つ以上のフィールドデバイスと通信するために、全て図3の、要求・応答サービス304、発行・購読サービス308、イベントサービス312、ディレクトリサービス316、および/または書き込みサービス320のうちの1つ以上を使用できる。
ブロック610において、FDIサーバ106で実行されるサービス指向フレームワーク200は、アクセスポリシーが利用されているかどうかを決定する。アクセスポリシーが利用される場合(ブロック610)、ブロック615において、サービス指向フレームワーク200の認証モジュール248は、サービス指向フレームワーク200で使用するためのプロセス制御アプリケーション202を認証する。さらに、ブロック620において、サービス指向フレームワーク200の承認モジュール250は、サービス指向フレームワーク200によって提供されたサービス228へ、アクセスのユーザに特化したレベル(例えば、読み込み専用、読み込み書き出し、アクセスなし、管理者アクセス等)を提供するために、プロセス制御アプリケーション202のユーザを承認する。
ブロック625において、プロセス制御アプリケーション202は、サービス指向フレームワーク200のネットワークに無関係なサービスレイヤ212とインターフェースとインターフェースを取る。サービスレイヤ212は、サービスがいかなる特定のプロセス制御ネットワークプロトコルに依存しない場合に、プロセス制御システム内のフィールドデバイスと通信するためのサービス228を提供するため、ネットワークに無関係であると称される。ブロック625における処理の実装に使用されてもよい例示的なプロセスを、以下により詳細に記載する、図7に示す。
ブロック630において、サービス指向ネットワーク200のネットワークに無関係なサービスレイヤ212は、サービス指向フレームワーク200のネットワーク依存変換レイヤ214とのインターフェースを取る。変換レイヤ214は、サービス指向フレームワーク200に含まれる各変換レイヤ214が、特定のプロセス制御ネットワークプロトコルに特化した(例えば依存する)ネットワーク動作の各シーケンスに、サービスレイヤ212によって提供されたネットワークに無関係のサービス228を変換するため、ネットワーク依存するものと称される。ブロック630において処理を実装するために使用されてもよい例示的なプロセスは図8に示され、以下により詳細に記載される。
ブロック635において、サービス指向フレームワーク200のネットワーク依存変換レイヤ214は、サービス指向フレームワーク200の対応するネットワーク依存ネットワークレイヤ216とインターフェースを取る。ネットワークレイヤ216は、サービス指向フレームワーク200に含まれる各ネットワークレイヤ216が、変換レイヤ214によってサポートされた特定のプロセス制御ネットワークプロトコルを対象とするネットワークインターフェースを、その各変換レイヤ214によって決定されたネットワーク動作のシーケンスに提供するため、ネットワーク依存するものと称される。ブロック635において処理を実装するために使用されてもよい例示的なプロセスが図9に示され、以下により詳細に記載される。
ブロック640において、サービス指向フレームワーク200の1つ以上のネットワークレイヤ216は、プロセス制御アプリケーション202が通信する1つ以上のフィールドデバイスを含む1つ以上のプロセス制御システムを実装する、1つ以上の特定のデバイスネットワーク210とのインターフェースを取るために使用される。その後、例示的なプロセス600の実行が終了する。
図6のブロック625において例示的なサービスレイヤ処理を実装するために実行されてもよい例示的なプロセス625を、図7に示す。前掲の図を参照すると、図7のプロセス625は、サービス指向フレームワーク200のサービスレイヤ212が、プロセス制御アプリケーション202によってアクセス可能なサービス契約の形態の、利用可能なネットワークに無関係なサービス228を明らかにする、ブロック705において、実行を開始する。ブロック710において、プロセス制御アプリケーション202は、サービスインターフェース220のうちの1つ以上を使用して、サービス228のうちの1つ以上を呼び出し、各サービスインターフェース220は、各サービス228に関連付けられる。例えば、各サービスインターフェース220は、サービス指向フレームワーク200によって指定されるサービスメッセージタイプ222およびサービスデータタイプ224を使用して定義されるネットワークに無関係なメッセージを利用する、メッセージベースのサービスインターフェースである。
ブロック715において、サービスレイヤ212は、ブロック710において特定のサービス228を呼び出すプロセス制御アプリケーション202に応答して、フィールドデバイスによってプロセス制御アプリケーション202に返される応答(例えばデバイスデータ、イベント等)が、アプリケーションに特化したフォーマットに適合する必要があるかどうかを決定する。アプリケーションに特化した応答適合が必要な場合(ブロック715)、サービスレイヤ212は、応答データを、プロセス制御アプリケーション202に特化したフォーマットに適合させるために、選択されたアダプタ226を呼び出す。その後、例示的なプロセス625の実行が終了する。
図6のブロック630において例示的な変換レイヤ処理630を実装するために実行されてもよい例示的なプロセス630を、図8に示す。前掲の図を参照すると、図8のプロセス630は、特定のフィールドデバイスと通信するために使用されたプロセス制御ネットワークプロトコルをサポートするサービス指向フレームワーク200の特定の変換レイヤが、サービス指向フレームワーク200のサービスレイヤ212によって呼び出される、ブロック805において、実行を開始する。さらに、ブロック805において、特定の変換レイヤ214に含まれるアプリケーションファサード229は、サービス228を実装するための1つ以上のネットワーク動作230のそれぞれのシーケンスへ、サービスレイヤ212によって提供された特定のサービス228を実装するサービス動作を変換するために使用される。上記のように、特定のサービス228を実装するサービス動作は、いかなるプロセス制御ネットワークプロトコルとも無関係であり、一方で、ネットワーク動作230のシーケンスは、サービス228が通信する特定のフィールドデバイスを含むデバイスネットワーク210(例えば、および、より一般的には、プロセス制御システム)
を実装するために使用された特定のプロセス制御ネットワークプロトコルに特化している。
ブロック810において、変換レイヤ214は、サービス228が通信する1つ以上の特定のフィールドデバイスと相互作用するためのネットワーク動作230のシーケンスを作成するために、デバイス記述ファイル208(例えば、EDDLフォーマット232および/または共通ファイルフォーマット234)を使用する。
ブロック815において、変換レイヤ214は、(例えば対応するネットワークレイヤ216を呼び出すことによって)ネットワーク動作230のシーケンスを実行し、実行される際に、ネットワーク動作230のシーケンスの状態を維持する。ブロック810において変換レイヤ214によって維持される状態は、ネットワーク動作のシーケンス230のどれが実行されてきたか、および、サービス228を実装するための所与の時間において実行するためにどれが残っているかを追跡するために使用できる。ネットワーク動作のシーケンス230が実行された後、例示的なプロセス630の実行が終了する。
図6のブロック635において例示的なネットワークレイヤ処理を実装するために実行されてもよい例示的なプロセス635を、図9に示す。前掲の図を参照すると、図9のプロセス635は、対応する変換レイヤ214によって決定されたネットワーク動作のシーケンスが、ネットワーク動作230のシーケンスが実行されるフィールドデバイスを含むデバイスネットワーク210について定義された適切なネットワークAPI240とインターフェースを取ることを可能にするために、特定のネットワークレイヤ216が呼び出されるブロック905において、実行を開始する。例えば、ブロック905において使用されるネットワークAPI240は、種々のネットワークメッセージタイプ242、ネットワークデータタイプ244、および、おそらくは、ネットワーク動作230のシーケンスが実行されるフィールドデバイスを含むデバイスネットワーク210によって利用される、特定のプロセス制御ネットワークプロトコル236に特化した1つ以上のオブジェクト辞書246をサポートする。ブロック905においてプロセスが完了後、例示的なプロセス635の実行が終了する。
クライアントアプリケーション202がプロセス制御システム102内のフィールドデバイスと通信できるようにするために、図2のサービスフレームワーク200の例示的な動作を示す例示的なプロセス1000が、図10に示される。先行する図を参照すると、ブロック1005において、クライアントアプリケーションは、サービスレイヤ212によって明らかにされ、フィールドデバイス(例えば圧力トランスミッタ)から読み込みデータ(例えばモニタリングされた圧力)を要求するために、汎用(例えばネットワークに無関係の)インターフェース220を有する、ネットワークに無関係のサービス228を呼び出す。ブロック1010において、変換レイヤ214は、フィールドデバイスを含む特定のデバイスネットワーク210内のサービス228を実装するために、ネットワークに依存するネットワーク動作230のシーケンスへ、ネットワークに無関係なサービス228を変換する。例えば、ブロック1010において、変換レイヤ214のアプリケーションファサード229は、ネットワーク動作230のシーケンスを作成するために、デバイス記述ファイル208から取得したネットワークコンポーネント情報を使用する。(例えば、デバイス記述ファイル208は、EDDL記述232または圧力トランスミッタの共通ファイルフォーマット記述234にすることができる)。
ブロック1015において、変換レイヤ214は、ブロック1010において決定されるネットワーク動作230のシーケンスに従って、フィールドデバイス(例えば圧力トランスミッタ)へ、ネットワーク依存トランザクション(例えば、ネットワークメッセージタイプ242、ネットワークデータタイプ244、および/またはオブジェクト辞書246に従ってフォーマットされたコマンド)を送信するために、変換レイヤ214に関連付けられたネットワークレイヤ216によって提供されたネットワークAPI240を呼び出す。その後しばらくして、ブロック1020において、ネットワークAPI240は、フィールドデバイス(例えば、圧力トランスミッタ)から応答(例えば計測された圧力データを含む)を受信する。ブロック1025において、変換レイヤ214は、サービスレイヤ212に提供される、汎用の、ネットワークに無関係な応答フォーマットへと、ブロック1015で受信した応答のネットワーク依存のフォーマットを変換する。ブロック1030において、サービスレイヤ212は、必要な場合には、ブロック1025で生成された応答の汎用のネットワークに無関係のフォーマットを、ネットワークにはやはり関係ないが、アプリケーション202に特化しているフォーマットへ転換するために、アダプタを呼び出す。ブロック1035において、サービスレイヤは、アプリケーション202へ、(例えば、ブロック1005において呼び出されたサービス220のサービスインターフェース220を使って)応答を返す。その後、例示的なプロセス1000の実行が終了する。
図11は、図2のFDIサーバ106およびサービス指向フレームワーク200を実装することができる例示的な処理システム1100のブロック図である。例示的な処理システム1100は、さらに、または代替的に、クライアントアプリケーション120、202等を実行するために、クライアント104を実装するために使用されてもよい。コンピュータ1100は、例えば、サーバ、パーソナルコンピュータ、携帯電話(例えば、セルフォン)、携帯情報端末(PDA)、インターネット機器、または任意の他の種類のコンピューティングデバイスとすることができる。
例示的なプロセッサシステム1100は、ランダムアクセスメモリ(RAM)1104、読み込み専用メモリ(ROM)1106およびフラッシュメモリ1108等の関連付けられたメモリを有するプロセッサ1102を含む。プロセッサ1102は、図6〜図10に示されるプロセスを実装するために、他のものの中でもとりわけ、機械可読命令を実行してもよい。プロセッサ1102は、Pentium(登録商標)ファミリー、Itanium(登録商標)ファミリー、および/またはXScale(登録商標)ファミリーからの1つ以上のIntel(登録商標)マイクロプロセッサ、ARM(登録商標)および/またはマイクロコントローラのPIC(登録商標)ファミリー等からの1つ以上のマイクロコントローラ等の、任意のタイプのプロセスユニットであってもよい。当然ながら、他のファミリーからの他のプロセッサも適している。
RAM1104、ROM1106、および/またはフラッシュメモリ1108は、図9のプロセス900を実装する機械可読命令を格納してもよい。RAM1104は、同期ダイナミックランダムアクセスメモリ(SDRAM)、ダイナミックランダムアクセスメモリ(DRAM)、RAMBUSダイナミックランダムアクセスメモリ(RDRAM)、および/または任意の他のタイプのランダムアクセスメモリデバイスによって実装されてもよい。図示された例のフラッシュメモリ1108は、ブートブロック1110を含む。RAM1104、ROM1106、およびフラッシュメモリ1108へのアクセスは、典型的には、メモリコントローラ(図示せず)によって制御される。
プロセッサ1102は、他のコンポーネントがインターフェースを取ってもよいバス1112等のインターフェースに結合される。図示された例において、バス1112へのインターフェースを取るコンポーネントは、入力デバイス1114、ディスプレイデバイス1116、大容量格納デバイス1118、およびリムーバブルストレージデバイスドライブ1120を含む。リムーバブルストレージデバイスドライブ1120は、磁気または光学メディア等の関連付けられたリムーバブルストレージメディアを含んでもよい。
入力デバイス1114は、ユーザがデータおよびコマンドをプロセッサ1102へ入力することを可能にする。入力デバイス1114は、キーボード、マウス、タッチスクリーン、トラックパッド、バーコードスキャナ、またはユーザがプロセッサ1102へ情報を提供することを可能にする任意の他のデバイスのうちのいずれか1つ以上を使用して実装してもよい。
ディスプレイデバイス1116は、例えば、液晶ディスプレイ(LCD)モニタ、ブラウン管(CRT)モニタ、またはプロセッサ1102とユーザとの間のインターフェースとして作用する任意の他の適切なデバイスにしてもよい。図11に示されるようなディスプレイデバイス1116は、プロセッサ1102へディスプレイ画面がインターフェースを取ることが必要な任意の追加的なハードウェアを含む。
大容量ストレージデバイス1118は、例えば、従来のハードディスク、またはプロセッサ1102によって読み込み可能な任意の他の磁気または光学メディアであってもよい。
リムーバブルストレージデバイスドライブ1120は、例えば、コンパクトディスク記録可能(CD−R)ドライブ、コンパクトディスク再書き込み可能(CD−RW)ドライブ、デジタル多用途ディスク(DVD)ドライブ等の光学ドライブ、または任意の他の光学ドライブであってもよい。あるいは、例えば、磁気メディアドライブであってもよい。リムーバブルストレージメディア1122は、ドライブ1120と共に動作するためにメディア1122が選択されるため、リムーバブルストレージデバイスドライブ1120に対して補完的である。例えば、リムーバブルストレージデバイスドライブ1120が光ドライブである場合、リムーバブルストレージメディア1122は、CD−Rディスク、CD−RWディスク、DVDディスクまたは任意の他の適した光ディスクであってもよい。一方で、リムーバブルストレージデバイスドライブ1120が磁気メディアデバイスである場合、リムーバブルストレージメディア1122は、例えば、ディスケットまたは任意の他の適した磁気ストレージメディアであってもよい。
図6〜図10のプロセスのうちの1つ以上を実装するための符号化された命令は、RAM1104、ROM1106、フラッシュメモリ1108、大容量ストレージデバイス1188および/またはCDまたはDVD等のリムーバブルストレージメディア1122に格納されてもよい。
図11のプロセスシステム等のシステムにおいて、本明細書に記載されている方法および/または装置を実装する代わりに、本明細書に記載されている方法および/または装置は、プロセッサおよび/またはASIC(特定用途向け集積回路)等の構造に埋め込まれてもよい。
上記の開示から、本明細書に記載された例示的な方法、装置、および製品を、プロセス制御ネットワーク内のデバイスと通信するためのサービス指向フレームワークを実装するために使用できることが理解されよう。本明細書に開示される例示的なサービス指向フレームワークは、少なくともいくつかの状況において、先行のプロセス制御ソリューションを超える利点を提供できる。例えば、本明細書に開示されるサービス指向フレームワークにおいて、既存のアプリケーションに影響を与えることなく、ベンダーにより、システムに機能、特徴、および柔軟性を追加することが可能である場合がある。別の例として、本明細書に開示されるサービス指向フレームワークは、各プロセス制御アプリケーションはサービスを介して通信する方法を知る必要があるのみであるため、全体的なシステムの複雑性を低減する場合があり、一方で、デバイスと通信するために使用される特定のプロセス制御ネットワーク/デバイスプロトコルは、フレームワーク内のより低いレベルにおいて提供される。さらに別の例として、本明細書に開示されるサービス指向フレームワークが、アプリケーションの変更、更新、および、交換が、この同じネットワークに無関係なインターフェースにのみ基づくことを可能にする、デバイスネットワークと通信するための、汎用のネットワークに無関係なインターフェースを明らかにするため、プロセス制御アプリケーションは、基幹的なデバイスネットワークとは無関係に変更できる。さらに別の例として、本明細書に開示されるサービス指向フレームワークは、各プロセス制御アプリケーションが、各ネットワークタイプをサポートするために、複数の接続の代わりに、フレームワークへ単一の接続のみをサポートすることを可能にする。別の例として、本明細書に開示されるサービス指向フレームワークは、プロセス制御デバイスネットワークによって提供された能力をサポートするためにサービスを追加することを可能にし、EDDL記述は、特定のデバイスによってどのサービスが提供されるかを定義できる。さらに別の例として、本明細書に開示されるサービス指向フレームワークは、プロセス制御システムの実装を検証するために、適合性試験ポイントとして使用可能なレイヤ間の明確に定義されたインターフェースを含む。さらに別の例として、本明細書に開示されるサービス指向フレームワークのネットワークに無関係なサービスインターフェースは、プロセス制御アプリケーションが異なるデバイスとの通信を継続することを予想して、顧客が、任意のサプライヤからデバイスを購入し、アーキテクチャにこれらをプラグインすることを可能にする。
最後に、製造者の特定の例示的な方法、装置、および製品を本明細書に記載しているが、本発明の網羅する範囲はこれに制限されない。逆に、本発明は、添付の請求項の範囲の範囲内に、文字通り、または、均等論の下で正当に相当する全ての方法、装置および製品を包含する。

Claims (14)

  1. プロセス制御システム内のデバイスと通信するための方法であって、前記方法は、
    前記プロセス制御システム内の前記デバイスとクライアントアプリケーションとの間で通信し且つ前記デバイスからプロセスデータを受信するプロセス制御サービスであるサービスであって、前記プロセス制御システムを実装するために使用されたプロセス制御ネットワークプロトコルとは無関係である汎用インターフェースを有する、サービスを呼び出すことと、
    変換レイヤが、前記サービスを実装するために、ネットワーク動作のシーケンスへ前記サービスを変換することであって、前記ネットワーク動作の前記シーケンスが前記プロセス制御システムを実装するために使用された前記プロセス制御ネットワークプロトコルに特化している、前記サービスを変換することと、
    前記ネットワーク動作の前記シーケンスのどれが、前記サービスを実装するために実行されたかを追跡するために、前記ネットワーク動作の前記シーケンスの実行の状態を維持することと、
    前記ネットワーク動作に従って前記デバイスと通信するために、前記プロセス制御システムを実装するために使用された前記プロセス制御ネットワークプロトコルに特化したネットワークインターフェースを使用することと、を含み、
    前記シーケンスの実行の状態は、前記サービスと共に実装する他のサービスを実装するネットワーク動作の他のシーケンスの状態から隔離されたストレージに格納される、
    方法。
  2. 前記デバイスからの応答を受信することであって、前記応答は、前記プロセス制御システムを実装するために使用された前記プロセス制御ネットワークプロトコルに特化した第1のフォーマットである、応答を受信することと、
    前記応答を、前記第1のフォーマットから、前記プロセス制御システムを実装するために使用された前記プロセス制御ネットワークプロトコルとは無関係な第2のフォーマットへ変換することと、
    前記応答を、前記第2のフォーマットから、前記応答を受信するためのアプリケーションに特化した第3のフォーマットへ転換するために、アダプタを呼び出すことと、をさらに含む、請求項1に記載の方法。
  3. 前記ネットワークインターフェースは、複数のネットワークメッセージタイプ、複数のネットワークデータタイプ、またはオブジェクト辞書のうちの少なくとも1つを含むネットワークアプリケーションプログラミングインターフェースを含み、
    前記複数のネットワークメッセージタイプ、前記複数のネットワークデータタイプ、及び前記オブジェクト辞書は、前記プロセス制御システムを実装するために使用された前記プロセス制御ネットワークプロトコルに特化している、
    請求項1又は請求項2に記載の方法。
  4. 前記サービスは、複数のサービスを提供するサービスレイヤによって、サービス契約として提供され、前記複数のサービスのそれぞれは、前記プロセス制御システムを実装するために使用された前記プロセス制御ネットワークプロトコルとは無関係であり、前記複数のサービスのそれぞれは、複数の異なるプロセス制御ネットワークプロトコルを使用して実装された複数の異なるプロセス制御システム内のデバイスとの通信をサポートする、請求項1〜請求項3の何れか1項に記載の方法。
  5. 前記サービスを実装するために、1つ以上のネットワーク動作へ前記サービスを変換することは、前記ネットワーク動作を作成するために、前記デバイスのデバイス記述を読み込むことを含む、請求項1〜請求項4の何れか1項に記載の方法。
  6. 前記サービスは、
    メッセージをデバイスに送信し、前記デバイスから対応する応答を受信するための第1のサービス、
    前記デバイスによって返された発行されたデータを購読する(subscribe to)ための第2のサービス、
    前記デバイスによって返された受信されたイベントへの第3のサービス、
    前記プロセス制御システムと、前記プロセス制御システムを実装する、前記デバイスを含む複数のデバイスとを記述する情報を取得するための第4のサービス、
    制御パラメータ値を前記デバイスへ書き込むための第5のサービス、のうちの少なくとも1つに対応する、請求項5に記載の方法。
  7. 実行された場合に、機械に、少なくとも、
    プロセス制御システム内のデバイスとクライアントアプリケーションとの間で通信し且つ前記デバイスからプロセスデータを受信するプロセス制御サービスであるサービスであって、前記プロセス制御システムを実装するために使用されたプロセス制御ネットワークプロトコルとは無関係である汎用インターフェースを有する、サービスを呼び出すことと、
    変換レイヤが、前記サービスを実装するための、1つ以上のネットワーク動作であって、前記プロセス制御システムを実装するために使用された前記プロセス制御ネットワークプロトコルに特化しているネットワーク動作のシーケンスに、前記サービスを変換することと、
    前記ネットワーク動作の前記シーケンスのどれが、前記サービスを実装するために実行されたかを追跡するために、前記ネットワーク動作の前記シーケンスの実行の状態を維持することと、
    前記ネットワーク動作に従って、前記デバイスと通信するために、前記プロセス制御システムを実装するために使用された前記プロセス制御ネットワークプロトコルに特化したネットワークインターフェースを使用することと、を行わせる、機械可読命令を格納する、有形の製品であって、
    前記シーケンスの実行の状態は、前記サービスと共に実装する他のサービスを実装するネットワーク動作の他のシーケンスの状態から隔離されたストレージに格納される、
    有形の製品。
  8. 前記ネットワークインターフェースは、複数のネットワークメッセージタイプ、複数のネットワークデータタイプまたはオブジェクト辞書のうちの少なくとも1つを含む、ネットワークアプリケーションプログラミングインターフェースを含み、
    前記複数のネットワークメッセージタイプ、前記複数のネットワークデータタイプ、及び前記オブジェクト辞書は、前記プロセス制御システムを実装するために使用された前記プロセス制御ネットワークプロトコルに特化している、
    請求項7に記載の有形の製品。
  9. 前記機械可読命令は、実行される場合に、さらに、
    前記ネットワーク動作の前記シーケンスを作成するために、前記デバイスのデバイス記述を読み込むことによって、前記サービスを実装するために、前記機械に、前記サービスを1つ以上のネットワーク動作へ変換させる、請求項7又は請求項8に記載の有形の製品。
  10. 前記サービスは、複数のサービスを提供するサービスレイヤによって、サービス契約として提供され、前記複数のサービスのそれぞれは、前記プロセス制御システムを実装するために使用された前記プロセス制御ネットワークプロトコルとは無関係であり、前記複数のサービスのそれぞれは、複数の異なるプロセス制御ネットワークプロトコルを使用して実装された複数の異なるプロセス制御システム内のデバイスとの通信をサポートし、
    前記機械可読命令は、実行された場合に、さらに、前記機械に、前記サービスを呼び出すために、メッセージベースのサービスインターフェースを定義する複数のメッセージのうちの1つ以上を使用して前記サービスを呼び出させ、前記複数のメッセージは、複数のサービスメッセージタイプおよび複数のサービスデータタイプを含み、前記複数のサービスメッセージタイプおよび前記複数のサービスデータタイプは、いかなるプロセス制御ネットワークプロトコルとも無関係である、請求項7〜請求項9の何れか1項に記載の有形の製品。
  11. プロセス制御システム内のフィールドデバイスと通信するための装置であって、前記装置は、
    複数の異なるプロセス制御ネットワークプロトコルを使用して実装された複数のプロセス制御システム内の複数のフィールドデバイスと通信するためのサービス指向フレームワークを実装するためのプロセッサであって、前記サービス指向フレームワークは、
    前記複数のフィールドデバイスとクライアントデバイスによって実装されるアプリケーションとの間で通信し且つ前記複数のフィールドデバイスからプロセスデータを受信するプロセス制御サービスを含む複数のサービスを実装するサービスレイヤであって、それぞれのサービスは、前記複数のプロセス制御システムを実装するために使用された前記複数のプロセス制御ネットワークプロトコルのいずれとも無関係である各汎用インターフェースを有する、サービスレイヤと、
    複数の変換レイヤであって、各変換レイヤは、各サービスを実装するために、ネットワーク動作の各シーケンスへ、前記複数のサービス内の前記各サービスを変換し、ネットワーク動作の前記各シーケンスは、前記各変換レイヤに関連付けられた特定のプロセス制御ネットワークプロトコルに特化している、複数の変換レイヤと、
    前記複数のプロセス制御システムを実装するために使用された前記複数のプロセス制御ネットワークプロトコルのそれぞれに特化した複数のネットワークインターフェースを提供するために、前記複数の変換レイヤとそれぞれ関連付けられた複数のネットワークレイヤと、を備えるサービス指向フレームワークである、プロセッサと、
    前記クライアントデバイスによって実装された前記アプリケーションを、前記プロセッサによって実装された前記サービスレイヤと通信可能に結合するためのインターフェースと、を含む、装置であって、
    前記複数の変換レイヤの各々は、前記ネットワーク動作の前記各シーケンスのどれが、前記サービスを実装するために実行されたかを追跡するために、前記ネットワーク動作の前記各シーケンスの実行の状態を維持し、
    前記各シーケンスの実行の状態は、前記サービスと共に実装する他のサービスを実装するネットワーク動作の他のシーケンスの状態から隔離されたストレージに格納される、
    装置。
  12. 前記複数のネットワークレイヤの中の第1のネットワークレイヤによって提供された、前記複数のネットワークインターフェースの中の第1のネットワークインターフェースは、複数のネットワークメッセージタイプ、複数のネットワークデータタイプ、またはオブジェクト辞書のうちの少なくとも1つを含むネットワークアプリケーションプログラミングインターフェースを含み、
    前記複数のネットワークメッセージタイプ、前記複数のネットワークデータタイプ、及び前記オブジェクト辞書は、第1のプロセス制御システムを実装するために使用された第1のプロセス制御ネットワークプロトコルに特化している、
    請求項11に記載の装置。
  13. 複数の変換レイヤの中の第1の変換レイヤは、
    それによって第1のサービスが、ネットワーク動作の第1のシーケンスを作成するために通信する、第1のフィールドデバイスのためのデバイス記述を読み込むことによって、第1のサービスをネットワーク動作の第1のシーケンスに変換する、請求項11又は請求項12に記載の装置。
  14. 前記複数のサービスの各サービスは、前記サービスレイヤによって、各サービス契約として提供され、前記各サービスは、前記複数の異なるプロセス制御ネットワークプロトコルを使用して実装された前記複数の異なるプロセス制御システム内の前記複数のフィールドデバイスとの通信をサポートし、前記各サービスは、前記複数のサービスのそれぞれを呼び出すために、メッセージベースのサービスインターフェースを定義する複数のメッセージのうちの1つ以上を使用して呼び出され、前記複数のメッセージは、複数のサービスメッセージタイプおよび複数のサービスデータタイプを含み、前記複数のサービスメッセージタイプおよび前記複数のサービスデータタイプは、いかなるプロセス制御ネットワークプロトコルとも無関係である、請求項11〜請求項13の何れか1項に記載の装置。
JP2017076246A 2010-09-23 2017-04-06 プロセス制御システム内のデバイスと通信するための方法、有形の製品、及びプロセス制御システム内のフィールドデバイスと通信するための装置 Pending JP2017120669A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019076955A JP7298976B2 (ja) 2010-09-23 2019-04-15 プロセス制御システム内のデバイスと通信するための方法、有形の製品、及びプロセス制御システム内のフィールドデバイスと通信するための装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/889,064 US20120079125A1 (en) 2010-09-23 2010-09-23 Service oriented framework for communicating with devices in a process control system
US12/889,064 2010-09-23

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2011201998A Division JP2012069113A (ja) 2010-09-23 2011-09-15 プロセス制御システム内のデバイスと通信するためのサービス指向フレームワーク

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2019076955A Division JP7298976B2 (ja) 2010-09-23 2019-04-15 プロセス制御システム内のデバイスと通信するための方法、有形の製品、及びプロセス制御システム内のフィールドデバイスと通信するための装置

Publications (1)

Publication Number Publication Date
JP2017120669A true JP2017120669A (ja) 2017-07-06

Family

ID=44908342

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2011201998A Pending JP2012069113A (ja) 2010-09-23 2011-09-15 プロセス制御システム内のデバイスと通信するためのサービス指向フレームワーク
JP2017076246A Pending JP2017120669A (ja) 2010-09-23 2017-04-06 プロセス制御システム内のデバイスと通信するための方法、有形の製品、及びプロセス制御システム内のフィールドデバイスと通信するための装置
JP2019076955A Active JP7298976B2 (ja) 2010-09-23 2019-04-15 プロセス制御システム内のデバイスと通信するための方法、有形の製品、及びプロセス制御システム内のフィールドデバイスと通信するための装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2011201998A Pending JP2012069113A (ja) 2010-09-23 2011-09-15 プロセス制御システム内のデバイスと通信するためのサービス指向フレームワーク

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2019076955A Active JP7298976B2 (ja) 2010-09-23 2019-04-15 プロセス制御システム内のデバイスと通信するための方法、有形の製品、及びプロセス制御システム内のフィールドデバイスと通信するための装置

Country Status (5)

Country Link
US (1) US20120079125A1 (ja)
JP (3) JP2012069113A (ja)
CN (1) CN102413121B (ja)
DE (1) DE102011053851A1 (ja)
GB (1) GB2486516B (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120226786A1 (en) * 2011-03-04 2012-09-06 General Electric Company System and method for porting of device software
US9678484B2 (en) * 2013-03-15 2017-06-13 Fisher-Rosemount Systems, Inc. Method and apparatus for seamless state transfer between user interface devices in a mobile control room
CN105324728B (zh) * 2013-06-11 2019-06-07 西门子公司 用于监控自动化工厂的工业控制系统
KR20180043385A (ko) 2014-04-09 2018-04-27 콘비다 와이어리스, 엘엘씨 서비스 인에이블러 기능
DE102014006622B4 (de) 2014-05-08 2022-03-03 Acontis Technologies Gmbh Verfahren zur Fernnutzung eines Endgerätes
EP2988183B1 (de) * 2014-08-14 2020-04-01 Siemens Aktiengesellschaft System zum beobachten und/oder steuern einer anlage
DE102014014183A1 (de) * 2014-09-19 2016-04-07 Abb Technology Ag Einrichtung zur Verwaltung und Konfiguration von Feldgeräten einer Automatisierungsanlage
DE102017109030A1 (de) * 2017-04-27 2018-10-31 Endress+Hauser Process Solutions Ag Verfahren zum Betreiben eines Feldgeräts
DE102018109609A1 (de) * 2018-04-20 2019-10-24 Weidmüller Interface GmbH & Co. KG Gateway und Verfahren zum Übertragen von Daten zwischen einer Produktionsmaschine und einem übergeordneten System über ein zwischengeschaltetes Gateway
DE102018132384A1 (de) * 2018-12-17 2020-06-18 Endress+Hauser Conducta Gmbh+Co. Kg Hardware-Software-Kommunikationssystem für eine Sensorsignalüberwachung der Prozessautomatisierungstechnik
EP3702856B1 (en) * 2019-03-01 2024-05-29 ABB Schweiz AG Network centric process control
CN113098951B (zh) * 2021-03-30 2022-08-30 中电科航空电子有限公司 一种民机客舱无线网络系统及其服务器软件架构

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63163604A (ja) * 1986-12-26 1988-07-07 Toshiba Mach Co Ltd フロ−チヤ−ト式プログラマブルシ−ケンスコントロ−ラのモニタ方法
JPH08286725A (ja) * 1995-04-13 1996-11-01 Miyachi Technos Corp 抵抗溶接用又はレーザ加工用端末ユニット、抵抗溶接又はレーザ加工制御装置、端末ユニット稼働方法
JPH09237115A (ja) * 1996-03-01 1997-09-09 Toshiba Corp 監視制御装置
JPH11143523A (ja) * 1997-11-05 1999-05-28 Fanuc Ltd 数値制御装置の状態診断装置
JP2002091888A (ja) * 2000-09-12 2002-03-29 Digital Electronics Corp 制御システムおよびそれに適用されるメール送信プログラムを記録した記録媒体
JP2002157357A (ja) * 2000-11-17 2002-05-31 Canon Inc 機器管理装置、機器管理プログラム、機器管理プログラムが格納された記録媒体、及び機器管理方法
JP2003331076A (ja) * 2002-05-10 2003-11-21 Hitachi Ltd 設備保全システム
JP2006172462A (ja) * 2004-12-10 2006-06-29 Fisher Rosemount Syst Inc 通信方法および通信システム
JP2010055423A (ja) * 2008-08-28 2010-03-11 Toshiba Corp マイクロプロセッサ

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09258806A (ja) * 1996-03-19 1997-10-03 Meidensha Corp プロセス情報の等価方法
JPH11316685A (ja) * 1997-10-31 1999-11-16 Endress & Hauser Gmbh & Co コントローラを用いてフィールドバスを介してフィールドデバイスを遠隔制御および/または遠隔操作する装置
US7386551B1 (en) * 1998-11-09 2008-06-10 Unisys Corporation Method and apparatus for providing an availability message to a remote user
US6449715B1 (en) 1999-10-04 2002-09-10 Fisher-Rosemount Systems, Inc. Process control configuration system for use with a profibus device network
JP2001184119A (ja) 1999-12-27 2001-07-06 Tsubakimoto Chain Co モニタリング方法及び装置
JP3442334B2 (ja) * 2000-02-24 2003-09-02 東京瓦斯株式会社 セントラルヒーティングシステムの故障診断装置及び故障診断方法
JP2002341906A (ja) * 2001-05-15 2002-11-29 Digital Electronics Corp プログラム式表示装置およびその表示装置を用いたデータ通信システム
JP2007528530A (ja) * 2003-12-04 2007-10-11 ハネウェル・インターナショナル・インコーポレーテッド 制御システムと複数の被制御デバイスとの間でデバイス記述を伝達するシステムおよび方法
US7930053B2 (en) * 2003-12-23 2011-04-19 Beacons Pharmaceuticals Pte Ltd Virtual platform to facilitate automated production
US7206977B2 (en) * 2004-01-13 2007-04-17 International Business Machines Corporation Intelligent self-configurable adapter
JP4324864B2 (ja) * 2004-03-15 2009-09-02 オムロン株式会社 ネットワークシステム
US8533737B2 (en) * 2004-03-18 2013-09-10 Global Infotek, Inc. System and method for interfacing distributed systems with different frameworks
JP4842541B2 (ja) * 2005-01-07 2011-12-21 株式会社デジタル 制御用表示装置、画面データ生成装置、並びに、それらのプログラムおよび記録媒体
US7921194B2 (en) * 2006-03-09 2011-04-05 Samsung Electronics Co., Ltd. Method and system for remote access to universal plug and play devices
US8015039B2 (en) * 2006-12-14 2011-09-06 Sap Ag Enterprise verification and certification framework
KR101474840B1 (ko) * 2007-11-05 2014-12-19 삼성전자 주식회사 UPnP 기반의 네트워크 시스템 및 그 제어 방법
CN101572603B (zh) * 2008-04-30 2012-05-30 国际商业机器公司 分布式环境中的组成服务的统一访问控制系统及方法
US7774404B2 (en) * 2008-06-13 2010-08-10 Sap Ag Managing software component versions within a service oriented architecture
US8763089B2 (en) * 2010-01-12 2014-06-24 Microsoft Corporation Flexible authentication and authorization mechanism
US20110295646A1 (en) * 2010-05-26 2011-12-01 Sap Ag Service delivery management for brokered service delivery of service groups
CN102346685B (zh) * 2010-07-29 2016-09-28 甲骨文国际公司 集成适配器管理系统和方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63163604A (ja) * 1986-12-26 1988-07-07 Toshiba Mach Co Ltd フロ−チヤ−ト式プログラマブルシ−ケンスコントロ−ラのモニタ方法
JPH08286725A (ja) * 1995-04-13 1996-11-01 Miyachi Technos Corp 抵抗溶接用又はレーザ加工用端末ユニット、抵抗溶接又はレーザ加工制御装置、端末ユニット稼働方法
JPH09237115A (ja) * 1996-03-01 1997-09-09 Toshiba Corp 監視制御装置
JPH11143523A (ja) * 1997-11-05 1999-05-28 Fanuc Ltd 数値制御装置の状態診断装置
JP2002091888A (ja) * 2000-09-12 2002-03-29 Digital Electronics Corp 制御システムおよびそれに適用されるメール送信プログラムを記録した記録媒体
JP2002157357A (ja) * 2000-11-17 2002-05-31 Canon Inc 機器管理装置、機器管理プログラム、機器管理プログラムが格納された記録媒体、及び機器管理方法
JP2003331076A (ja) * 2002-05-10 2003-11-21 Hitachi Ltd 設備保全システム
JP2006172462A (ja) * 2004-12-10 2006-06-29 Fisher Rosemount Syst Inc 通信方法および通信システム
JP2010055423A (ja) * 2008-08-28 2010-03-11 Toshiba Corp マイクロプロセッサ

Also Published As

Publication number Publication date
CN102413121B (zh) 2017-08-01
GB2486516A (en) 2012-06-20
US20120079125A1 (en) 2012-03-29
JP7298976B2 (ja) 2023-06-27
JP2019145149A (ja) 2019-08-29
JP2012069113A (ja) 2012-04-05
CN102413121A (zh) 2012-04-11
GB2486516B (en) 2017-02-01
DE102011053851A1 (de) 2012-03-29
GB201115637D0 (en) 2011-10-26

Similar Documents

Publication Publication Date Title
JP7298976B2 (ja) プロセス制御システム内のデバイスと通信するための方法、有形の製品、及びプロセス制御システム内のフィールドデバイスと通信するための装置
JP7087120B2 (ja) プロセス工場の少なくとも一部を制御及び/又は監視する方法、プロセス工場の少なくとも一部を制御及び/又は監視する装置、及び、機械アクセス可能媒体
US11435728B2 (en) I/O virtualization for commissioning
US10386825B2 (en) I/O-abstracted field device configurations
GB2484008B (en) Methods and apparatus to manage process data
US9053441B2 (en) Systems and methods for regulatory compliance with qualified systems
JP2018073055A (ja) エンジニアリングツール連携装置、エンジニアリングツール連携方法、エンジニアリングツール連携プログラム及び記録媒体
EP4296803A1 (en) Device configuration object template with user interaction for device properties generator
US10868880B2 (en) Control system with persistent and transient data stores for registration, production and status data for networked devices
EP4296848A1 (en) System and method for device profile creation in an integrated development environment
US20120221126A1 (en) Extraction of a foundation fieldbus device information for enhanced device selection and data validation
Sanz-Jimeno et al. A tool based on the industry foundation classes standard for dynamic data collection and automatic generation of building automation control networks
US12079624B2 (en) Method for connecting a web socket session with an object instance with automation device association
US12014172B2 (en) Presentation design dynamic generation from data model server
US20240019850A1 (en) Extensible profiles for industrial control modules
WO2019240743A1 (en) A method and system for semantic integration approach for field device life cycle management
US20120239168A1 (en) Virtual communication relationship information extraction, availability determination and validation from foundation fieldbus device description files
Ajmeri Integrating HART data from smart devices

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170406

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180313

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181024

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20181218