説明

プロセス制御データを収集する方法および装置

【課題】プロセス制御データを収集するための方法、装置、および製造物品を開示する。
【解決手段】プロセス制御データを収集するための例示的方法は、測定されるパラメータおよび測定サンプリングレートを記述する電子デバイス記述を登録することと、その測定サンプリングレートに基づいてパラメータを測定することと、測定されたパラメータを代表するデータをデータ構造に保存することと、データの要求、データと関連付けられる状態、またはデータと関連付けられるイベントのうちの少なくとも1つに応答して、プロセス制御ネットワークを介して、データ構造内のデータを第1のプロセス制御デバイスに転送させることと、を含む。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、プロセス制御システムに関し、より具体的には、プロセス制御データを収集する方法および装置に関する。
【背景技術】
【0002】
化学、石油、医薬、紙パルプ、または他の製造プロセスにおいて使用されるもののようなプロセス制御システムは、通常、少なくとも1つのオペレータワークステーションを含む少なくとも1つのホスト、およびアナログ、デジタル、または複合アナログ/デジタル通信プロトコルを介して通信可能に構成される1つ以上のフィールド機器と通信可能に連結される、1つ以上のプロセスコントローラを含む。フィールド機器は、例えば、デバイスコントローラ、バルブ、バルブアクチュエータ、バルブポジショナー、スイッチ、およびトランスミッタ(例えば、温度、圧力、流速、および化学組成センサ)、またはそれらの組み合わせであってもよく、プロセス制御システム内で、バルブの開閉およびプロセスパラメータの測定または推測等の機能を遂行する。プロセスコントローラは、フィールド機器によって行われるプロセス測定値および/またはフィールド機器に関する他の情報を示す信号を受信し、この情報を使用して、制御ルーチンを実装し、プロセスの動作を制御するように、バスまたは他の通信回線上でフィールド機器に送信される、制御信号を生成する。
【0003】
典型的なプロセス制御システムは、プロセスコントローラによって動作される、1つまたは複数の制御ループに分割される。各制御ループは、1つまたは複数のフィールド機器からの多数の入力、制御アルゴリズム、および1つまたは複数の出力を含む。これらのフィールド機器のそれぞれは、通常、1つまたは複数のI/Oカードおよびそれぞれの通信経路(例えば、2線ケーブル、ワイヤレスリンク、または光学ファイバ)を介して、プロセスコントローラに連結される。I/Oカードは、フィールド機器からの入力を受信し、入力をプロセスコントローラに転送する。同様に、出力信号は、I/Oカードを介して、プロセス制御システム内のフィールド機器に送信される。任意の特定の制御ループの質は、制御ループが時間通りに入力変更を読み取り、必要な制御計算を行って、出力信号の形態で応答を生成する能力によって決定される。一部の例において、通信経路は、入力信号が、プロセスコントローラによって時間通りに受信されるのを遅延させる場合があり、それによって、その通信経路を使用する任意の制御ループの質を低下させる。
【発明の概要】
【課題を解決するための手段】
【0004】
プロセス制御データを収集する例示的方法は、測定されるパラメータおよび測定サンプリングレートを記述する電子デバイス記述を登録することと、測定サンプリングレートに基づいて、パラメータを測定することと、測定したパラメータを代表するデータをデータ構造に保存することと、データの要求、データと関連付けられる状態、またはデータと関連付けられるイベントのうちの少なくとも1つに応答して、プロセス制御ネットワークを介して、データ構造内のデータを第1のプロセス制御デバイスに転送させることと、を含む。
【0005】
プロセス制御データを収集する例示的装置は、プロセス制御パラメータと関連付けられる情報を収集するセンサと、情報を測定データに変換するアナログデジタル変換器と、測定データをデータ構造に保存するストレージデバイスと、装置と関連付けられる電子デバイス記述によって定義されるようにデータの要求を受信して、プロセス制御デバイスと通信するためにポートを開き、電子デバイス記述によって定義されるようにプロセス制御デバイスに測定データを転送させる、ポートコントローラと、を含む。
【図面の簡単な説明】
【0006】
【図1】本発明の例示的プロセス制御システムを示すブロック図である。
【図2】本発明の図1のプロセス制御システムの例示的制御ループの図である。
【図3】本発明の図1および図2のプロセス制御システム内のプロセス制御データを提供する例示的プロセス制御デバイスのブロック図である。
【図4】本発明の図1および図2のプロセス制御システム内のプロセス制御データを受信および/または操作する例示的プロセス制御アプリケーションまたはコントローラのブロック図である。
【図5】本発明のプロセス制御デバイス上に保存されたプロセス制御データにアクセスするように実行される場合がある命令を表す例示的擬似コードである。
【図6】本発明のプロセス制御データのサンプルを収集するように行われる場合がある例示的方法を表すフローチャートである。
【図7】本発明のデータサンプルを処理するように行われる場合がある例示的方法を表すフローチャートである。
【図8】FDIサーバ、コントローラ、および/または図1のプロセス制御デバイス、図2のセンサおよび/またはI/Oカード、図3のプロセス制御デバイス、および/または図4の例示的プロセス制御アプリケーションを実装するための、図6および図7の方法を実行するコンピュータで実施可能な実施例のブロック図である。
【発明を実施するための形態】
【0007】
本明細書に記載される例示的方法および装置は、プロセス制御データを収集する装置とアプリケーションとの間のデータ転送を行うために、プロセス制御システムにおいて使用されてもよい。以前は専用ハードウェアを使用して行われていたプロセス制御機能の多くが、ソフトウェアを使用して行われるため、データ待ち時間が制御性能に著しい影響を及ぼす可能性がある。一部のプロセス制御通信ネットワーク、バス、標準、および/または通信プロトコルは、高容量のデータ転送を処理することができるが、他のネットワーク、バス、標準、および/またはプロトコルは、そのような能力または容量を提供しないかもしれない。したがって、複数のネットワーク、バス、標準、および/またはプロトコルを伴うプロセス制御システムでは、これらのネットワーク、バス、標準、および/またはプロトコルの中に、広範な範囲のデータボリューム容量、および/またはデータ要件が存在する場合がある。多重通信プロトコルを使用するそのようなプロセス制御システムにおいて、本明細書に記載される例示的方法および装置を使用し、特性または要件を電子デバイス記述(EDD)ファイルから読み取ることによって、異なる特性または要件を有するデータにアクセスできるようにすることができる。さらに、より複雑かつ/またはデータ集約型のフィールド機器を、データボリューム容量がより低い通信バス上で開発および/または使用できるように本明細書に開示される例示的方法および装置を使用することができる。
【0008】
以下に記載される一部の実施例において、センサまたは他の種類のプロセスモニタ等のプロセス制御デバイスは、EDDファイルに従うか、またはそれによって定義されるように、プロセス制御状態または変数をサンプリングして、変数値のデジタル表示を生成する。プロセス制御状態のサンプリングは、異なる変数に対して異なるレートで起こる場合が多く、このサンプルは、サンプルが生成されたとき、および/または複数のサンプルが収集された後、プロセスアナライザによって使用されてもよい。一部の例において、プロセス制御デバイスは、EDDファイルに従うか、またはそれによって定義されるように、サンプリング時にプロセス制御アプリケーションにサンプルを送信する。一部の他の実施例において、プロセス制御デバイスは、サンプルをデータ構造に保存し、十分な数または所定数のサンプルが収集されると、データ構造をプロセス制御アプリケーションに送信する。
【0009】
一部の例示的プロセス制御システムにおいて、(例えば、プロセス制御ループにおいて)サンプリングされたデータを使用する、プロセス制御デバイス、プロセスコントローラ、および/またはプロセス制御アプリケーションは、データサンプルを生成するプロセスモニタまたはセンサの電子デバイス記述(例えば、EDDファイル)にアクセスし、データサンプルをプロセスモニタまたはセンサから抽出する方法を決定する。データサンプルを回収する方法を決定した後、プロセス制御デバイス、プロセスコントローラ、および/またはプロセス制御アプリケーションは、プロセス制御通信バスおよび/またはネットワークを介して、データサンプルにアクセスする。
【0010】
図1は、制御システム102、ワークステーション104、およびフィールド機器統合(FDI)サーバ106を含む、例示的プロセス制御環境100を示す、ブロック図である。例示的制御環境100は、制御システム102および/または他の制御システム(図示せず)と通信可能に連結されてもよい、追加のクライアント(図示せず)を含んでもよい。
【0011】
ワークステーション104(例えば、ターミナル、ワークステーション、PC)、例示的制御システム102、および/またはフィールド機器統合(FDI)サーバ106は、FDI標準を使用して通信する。FDIサーバ106は、HART、Foundation Fieldbus、および/またはProfibus等の異なる標準を使用して動作する、異なるネットワーク上のデバイスとインターフェースする。一般に、FDI標準は、デバイスの製造者および/またはサプライヤが、デバイスが本来準拠している標準に関係なく、顧客によって使用することができ、一様にデバイスを管理することができるツールセットを構築できるようにする仕様を提供する。FDI標準は、標準電子デバイス記述言語(EDDL)のテキストベースのファイル(例えば、XMLファイル)が、デバイス、デバイスによって提供される方法、デバイスによってサポートされる測定値およびデバイスパラメータ、デバイスのコンフィギュレーション情報、および/またはユーザがデバイスとともに有することができる相互動作を記述できる、テキストデバイス記述方法を含む。
【0012】
FDI標準は、アプリケーションおよび/またはデバイスが通信する方法をさらに提供する。通信方法は、通信チャネルを介してメッセージを送信および受信する、メッセージバスの通信方法と類似している。メッセージバスの方法は、アプリケーション、コントローラ、サーバ、および/またはデバイスが、受信しているアプリケーションまたはデバイスの内部動作に関する特定の詳細のすべてを知る必要なく、相互動作できるようにする。メッセージバスのアプローチに加えて、FDI標準は、アプリケーション、コントローラ、サーバ、および/またはデバイスからサービスを要求する、サービス指向の方法のための特徴を提供する。このサービス指向の方法の下、アプリケーション、コントローラ、サーバ、および/またはデバイスは、契約およびメッセージを使用して、機能性を露呈および消費する。サービス方法は、アプリケーション、コントローラ、サーバ、および/またはデバイスによって、システムリソースおよび/またはシステム挙動を交渉、割り当て、割り当て解除、制限、管理、および診断するように使用されてもよい。
【0013】
例示的ワークステーション104および例示的FDIサーバ106は、第1の通信バス108を介して通信している。FDIサーバ106は、通信バス108を、通信バス108と同一の種類であってもまたは異なる種類であってもよい、他の通信バス110および112と接続するか、または通信可能に連結する。FDIサーバ106は、通信バス108を介して、制御システム102とも通信している。したがって、ワークステーション104は、FDIサーバ106および通信バス108を介して、制御システム102内のデバイスのうちのいずれかと通信する。一部の例において、通信バス108〜112は、Foundation Fieldbusプロトコル、Profibusプロトコル、および/またはHARTプロトコルを使用して実装されてもよい。
【0014】
HARTプロトコルは、ブロックデータ転送を行う方法を含み、これはバルブ診断および/または頻度分析等のより複雑なプロセス制御機能を行うように使用されてもよい。HARTブロックデータ転送方法は、そこを通ってデータストリームが、スレーブデバイスへ、またはスレーブデバイスから転送されてもよい、スレーブデバイスの特定ポートへの接続をホストが確立できるようにする。データの種類またはデータの機能は、スレーブデバイスにおいてどのポートを開くかを判定する場合がある。
【0015】
同様に、Foundation Fieldbusは、最大16パラメータのサンプル(例えば、1パラメータで16サンプル、それぞれ2パラメータで8サンプル等)をプロセス制御デバイス上に保存するデータ構造である、トレンドオブジェクトを特定する。トレンドオブジェクトが充填されると、プロセス制御デバイスは、保存されたサンプルを含むトレンドオブジェクトを、例えば、プロセス制御ループにおいて使用されるインターフェースデバイス(例えば、コントローラ、プロセス制御アプリケーション等)に送信してもよい。特に、インターフェースデバイスは、サンプルを収集するプロセス制御デバイスとの単一相互動作を介して、プロセス制御変数の複数のサンプルにアクセスしてもよい。プロセス制御デバイスを構成することによって、プロセス制御デバイスは、新しいデータ群が収集される度に、トレンドオブジェクトの一部またはすべてをインターフェースデバイスに自動的に報告する場合がある。追加的にまたは代替的に、トレンドオブジェクトは、読み取りサービスを実装することによって、インターフェースデバイスにより任意の時点で読み取られる場合がある。
【0016】
例示的制御システム102は、製造施設、プロセス施設、オートメーション施設、および/または任意の他の種類のプロセス制御構造またはシステムのうちのいずれかの種類を含んでもよい。一部の例において、制御システム102は、異なる位置において複数の施設を含んでもよい。さらに、例示的制御システム102は、プロセス制御サブシステム114と関連付けられるが、制御システム102は、追加のプロセス制御システムを含んでもよい。
【0017】
例示的プロセス制御サブシステム114は、データバス118を介して、コントローラ116と通信可能に連結される。プロセス制御サブシステム114は、任意の数のフィールド機器を含んでもよい(例えば、入力および/または出力デバイス)。フィールド機器は、入力を受信し、出力を生成し、および/またはプロセスを制御することができる、任意の種類のプロセス制御コンポーネントを含んでもよい。例えば、フィールド機器は、プロセスを制御するために、例えば、バルブ、ポンプ、ファン、ヒーター、クーラー、および/またはミキサー等の入力デバイスを含んでもよい。さらに、フィールド機器は、プロセスの部分を測定するために、例えば、温度計、圧力ゲージ、濃度ゲージ、液面計、流量計、および/または蒸気センサ等の出力デバイスを含んでもよい。入力デバイスは、コントローラ116からの命令を受信して、特定されたコマンドを実行し、かつプロセスに変更をもたらす場合がある。さらに、出力デバイスは、プロセスデータ、環境データ、および/または入力デバイスデータを測定し、かつ測定データをプロセス制御情報(例えば、プロセスデータ)として、コントローラ118に送信する場合がある。このプロセスデータは、各フィールド機器からの測定出力に対応する変数の値(例えば、測定プロセス変数および/または測定品質変数)を含んでもよい。
【0018】
図1に例証されている実施例において、コントローラ116は、データバス118を介して、プロセス制御サブシステム114内のフィールド機器と通信してもよい。データバス118は、プロセス制御サブシステム114内の通信コンポーネントに連結されてもよい。通信コンポーネントは、I/Oカードを含み、データをフィールド機器から受信し、例示的コントローラ116が受信できる通信媒体にデータを変換する場合がある。さらに、これらのI/Oカードは、コントローラ116からのデータを、対応するフィールド機器により処理できるデータ形式に変換する場合がある。実施例において、データバス118は、Fieldbusプロトコルまたは他の種類の有線および/または無線通信プロトコル(例えば、Profibusプロトコル、HARTプロトコル等)を使用して、実装されてもよい。
【0019】
コントローラ116は、任意の有線および/または無線接続を介して、FDIサーバ106と通信可能に連結される。コントローラ116は、コントローラ116がプロセス制御サブシステム114からプロセスデータを受信すると、プロセスデータをFDIサーバ106に送信する場合がある。他の実施例において、コントローラ106は、プロセスデータを一定の時間間隔で(例えば、毎分、毎時、毎日等)FDIサーバ106に送信してもよい。あるいは、FDIサーバ106は、コントローラ116からのプロセスデータを要求してもよい。
【0020】
プロセスデータを受信する際に、図1の例示的FDIサーバ106は、プロセスデータをファイルシステム(図示せず)内に保存する。ファイルシステムは、プロセス制御サブシステム114内のデバイスに基づいて、および/またはプロセス制御サブシステム114を管理するようにコントローラ116内で動作するルーチン(例えば、アプリケーションおよび/またはアルゴリズム)に基づいて、ディレクトリおよび/またはサブディレクトリとともに、階層様式で配列される場合がある。他の実施例において、ファイルシステムは、制御システム102のオペレータによって配列されてもよい。プロセスデータは、関連付けられたディレクトリおよび/またはサブディレクトリ内のパラメータに対して保存されてもよい。一部の例において、パラメータは、コントローラ116上で動作するルーチンと関連付けられるか、またはプロセス制御環境100内のフィールド機器出力と関連付けられた変数であってもよい。パラメータは、パラメータと関連付けられたプロセスデータの種類を記述する、メタデータを含んでもよい。
【0021】
例示的ワークステーション104は、プロセス制御システムと関連付けられたプロセスデータを読み取る、書き込む、および/またはサブスクライブすることが承認される場合がある個人と関連付けられてもよい。ワークステーション104は、遠隔位置からプロセス制御環境100にアクセスする場合がある制御システム102と関連付けられた人員と関連付けられてもよい。ワークステーション104は、任意の有線および/または無線通信媒体(例えば、インターネット)を使用して、FDIサーバ106を介して、プロセス制御環境100にアクセスしてもよい。
【0022】
例示的FDIサーバ106は、ワークステーション104上で操作するクライアントアプリケーション120のユーザがプロセスデータを見ることができるように、プロセスデータをフォーマットすることができる。図1の実施例は、インターフェース122においてプロセスデータを表示する、クライアントアプリケーション120を示す。例えば、クライアントアプリケーション120は、ウェブクライアントディスプレイアプリケーションを含んでもよい。FDIサーバ106は、ウェブページを作成する、および/またはテンプレートウェブページにアクセスする、およびデータフィールドをウェブページ内に配置するか、または組み込むことによって、ウェブサーバアプリケーションに対するプロセスデータをフォーマットする場合がある。次に、インターフェース122は、ウェブブラウザを介して、html要求および応答を使用して、FDIサーバ106においてホストされるウェブページにアクセスすることによって、プロセスデータを表示する場合がある。あるいは、FDIサーバ106は、クライアントアプリケーション120において、ウェブブラウザ(例えば、インターフェース122)内で実行可能である場合があるか、またはワークステーション104(例えば、Windows(登録商標)オペレーティングシステムアプリケーション、アプリケーションプラグイン)に対してネイティブである場合がある、ウェブアプリケーション(例えば、ActiveX、Adobe Flash(商標)および/またはSilverlight(商標))を初期化することによって、クライアントディスプレイアプリケーションに対するプロセスデータをフォーマットする場合がある。
【0023】
ワークステーション104、FDIサーバ106、および/またはコントローラ116は、通信バス108−112を介して、他のデバイス128、130、132、134、136と通信する場合がある。例示的デバイス128〜136は、ワークステーション、ターミナル、コントローラ、通信ネットワークドロップノード、通信デバイス(例えば、モデム、ネットワークゲートウェイ)および/または任意の他の種類の入力、出力、および/または制御デバイスを含んでもよい。一部の例において、ワークステーション104、FDIサーバ106、および/またはコントローラ116は、同期転送、ブロックデータ転送、および/またはデータバス108〜112を介して通信する他の方法を使用して、デバイス128〜136に対して、および/またはデバイスから情報を転送してもよい(例えば、データ処理、データログ、および/または他の目的で)。
【0024】
図2は、例示的プロセス制御サブシステム114、および制御ループ202を動作させる、図1の例示的コントローラ116を示す。図2は、2組のフィードバックループ204および206をさらに含む。第1のフィードバックループ204は、I/Oカード212aに連結される、フィールド機器208a(例えば、バルブ)および210a(例えば、圧力センサ)を含む。第2のフィードバックループ206は、I/Oカード212bに連結される、フィールド機器208b(例えば、バルブ)および210b(例えば、別の圧力センサ)を含む。
【0025】
図2に示されるように、プロセス制御環境100は、図1のワークステーション104を含み、これは1つまたは複数の通信ネットワーク(例えば、通信バス108)を介して、コントローラ116と通信可能に連結される。コントローラ116は、プロセス制御サブシステム114内で(例えば、図1のデータバス118を介して)I/Oデータ取得モジュール214とも通信可能に連結される。I/Oデータ取得モジュール214は、それぞれの通信経路216aおよび216b(例えば、2地点間接続)は、それぞれの通信経路216aおよび216b(例えば、2地点間接続)を介して、I/Oカード212aおよび212bと通信可能に連結される。
【0026】
図2の例示的コントローラ116は、I/Oスケジューラ218を含む。一部の例において、コントローラ116は、I/Oデータ取得モジュール214も含んでもよく、この場合、コントローラ116は、通信バス108を介して、および/または通信経路216aおよび216bを介して、例示的I/Oカード212aおよび212bと通信する場合がある。他の実施例において、I/Oデータ取得モジュール214は、I/Oカード212aおよび212b内で実装されてもよい。
【0027】
制御ループ202は、入力信号プロセッサまたは機能ブロック(AI)220、比例−積分−微分制御動作計算器または機能ブロック(PID)222、および出力信号生成器または機能ブロック(AO)224を含む。AI220、PID222、および/またはAO224は、I/Oデータ取得モジュール214によって生成されたデータを使用して、プロセスを制御する場合がある。通信バス118を介してデータを送信するために、例示的I/Oデータ取得モジュール214は、センサ210aおよび210bからの信号を受信し、および信号をサンプリングして、信号を代表するデータを生成する。I/Oデータ取得モジュール214は、次に、データをコントローラ116に送信する。
【0028】
センサ210aおよび210bからの信号の収集および/またはサンプリングレートは、センサ210aおよび210bによって生成された信号を記述する、それぞれのEDDファイル(EDDLで書き込まれた)に基づく場合がある。例えば、I/Oデータ取得モジュール214が、関連付けられたEDDファイルに基づいて、センサ210aが温度測定値を提供することを決定した場合、I/Oデータ取得モジュール214は、比較的低速で、センサ210aから受信された信号をサンプリングする場合がある。対照的に、I/Oデータ取得モジュール214が、関連付けられたEDDファイルに基づいて、センサ210bが圧力測定値を提供することを決定した場合、I/Oデータ取得モジュール214は、比較的高速で、センサ210bから受信された信号をサンプリングする場合がある。EDDファイルおよび/またはサンプリングレートに基づいて、I/Oデータ取得モジュール214は、次に、異なるレートで、および/または異なる送信方法を使用して、サンプルデータをコントローラ116に送信してもよい。
【0029】
制御ループ202内の制御アルゴリズムおよび/またはルーチンは、AI220から入力データを受信し、PID222を使用して入力データを処理し、AO224を介して出力データを生成する。単一の制御ループサイクルは、複数のルーチンおよび/または制御アルゴリズムを含んでもよい。他の実施例において、制御ループ202は、他の種類のAI、PID、および/またはAOを含んでもよい。さらに、他の実施例は、複数のAI220、PID222、および/またはAO224を含んでもよい。
【0030】
一部の例において、センサ210a〜210b、I/Oカード212a〜212b、I/Oデータ取得モジュール214、および/またはコントローラ116(I/Oスケジューラ218、AI220、PID222、および/またはAO224を含む)のうちのいずれかは、デジタル通信する場合がある。例えば、デジタル通信は、プロセス制御データ、例えば、アナログデータのデジタルサンプルを、デジタル通信バスを通して送信する場合がある。これらの実施例において、センサ210a〜210b、I/Oカード212a〜212b、I/Oデータ取得モジュール214、および/またはコントローラ116は、例えば、プロセス制御変数、プロセス制御変数のサンプリング頻度、および/またはプロセス制御変数にアクセスする標準および/または特別な方法の定義を記述する、電子デバイス記述ファイルに基づいて、デジタルサンプルを保存、送信、および/または受信する場合がある。センサ210a〜210b、I/Oカード212a〜212b、I/Oデータ取得モジュール214、および/またはコントローラ116のうちのいずれかを実装するために使用される場合がある、例示的プロセス制御デバイスおよび例示的プロセス制御アプリケーションおよび/またはコントローラは、図3および4と併せて以下に記述される。さらに、処理用のデータ転送に使用される場合がある例示的プロセスは、図6および7に記載される。
【0031】
プロセス制御サブシステム114および制御ループ202aの運用実施例において、センサ210aは、パイプ内の流体の圧力値を含む入力信号を、I/Oカード212aおよび/またはI/Oデータ取得モジュール214に送信する。一部の例において、センサ210aは、I/Oデータ取得モジュール214からの要求時に、入力信号を送信する場合がある。I/Oデータ取得モジュール214は、入力信号を転送し、かつ/または入力信号を代表するデータは、制御ループ202を介して転送および処理される。制御ループ202は、次に、入力データを使用して、バルブ208aの制御動作を計算する。コントローラ116は、I/Oカード212aを介して出力信号に変換される場合がある、出力データを介して、この制御動作をバルブ208aに送信する。バルブ208aは、出力データおよび/または出力信号を受信し、出力データおよび/または信号の値に基づいて、その位置を変更する。データ処理の実施例において、圧力信号は、センサ210aによって生成され、圧力データを生成するようにI/Oカード212aおよび/またはI/Oデータ取得モジュール214においてサンプリングされ、EDDファイルに従って、頻度分析のために、I/Oカード212aおよび/またはI/Oデータ取得モジュール214からコントローラ116に転送される場合がある。
【0032】
I/Oスケジューラ218および/またはコントローラ116は、センサ210aおよび210bを起源とする入力信号のタイミングを管理する。I/Oスケジューラ218は、制御ループ202の各予定期間中に、入力信号を制御ループ202に転送する。例えば、制御ループ202は、コントローラ116がセンサ210aを起源とする入力信号を受信する予定期間、およびコントローラ116がセンサ210bを起源とする入力信号を受信する予定期間を含む。これらの予定期間は、制御ループ202が入力信号のそれぞれを利用および/または処理する前に、制御ループ202が、それぞれのセンサ210aおよび210bから入力信号のそれぞれを受信するように、事前設定されてもよい。一部の例において、コントローラ116は(例えば、I/Oスケジューラ218を介して)、センサ210aおよび210bによって生成されたデータをサブスクライブする。コントローラ116は、センサ210aおよび210bのEDDファイルからデータの種類を判定する場合がある。
【0033】
AI220は、I/Oスケジューラ218から入力データを受信し、PID222内で処理するための入力データを構成する。I/Oスケジューラ218は、各入力信号の予定期間中に、入力データをAI220に転送する場合があり、かつ/または入力データを収集し、データ構造を使用して、入力データをバルクで転送する場合がある。実施例において、制御ループ202によって処理するために入力データが必要とされる予定期間の開始前に、入力データがI/Oスケジューラ218によって受信される場合、I/Oスケジューラ218は、予定期間まで入力データの転送を遅延させる。他の例において、I/Oスケジューラ218が、予定期間の終了までに入力データを受信しなかった場合、AI220は、同一のフィールド機器から以前に送信された入力データを利用してもよい。I/Oスケジューラ218および/またはコントローラ116は、同一のフィールド機器からの後続の入力データのタイミングを調整して、I/Oスケジューラ218が、予定期間中に入力データを受信するようにしてもよい(すなわち、例えば、制御ループ202を実行する場合に、データがコントローラ116による処理に必要とされる時間に先行する期間)。他の実施例において、I/Oスケジューラ218および/またはコントローラ116は、同一フィールド機器からの後続の入力データのタイミングを増分的に調整して、受信された入力データのタイミングにおけるオーバーシュートを回避する場合がある。
【0034】
別の運用実施例において、センサ210aは、5ミリ秒(ms)毎に、圧力入力信号を送信する。一部の例において、I/Oデータ取得モジュール214は、入力値に対して、5ms反復サイクルで、センサ210aをポーリングまたは照会する場合がある。その場合、センサ210aは、第1の圧力データを生成し、第1の圧力信号をI/Oデータ取得モジュール214に送信する。5ミリ秒後、センサ210aは、第2の圧力信号を生成し、第2の圧力信号から5ms後に、センサ210aは、第3の圧力信号を生成する、等々となる。I/Oデータ取得モジュール214は、I/Oカード212aを介して第1の圧力信号および/またはデータを受信し、データをI/Oスケジューラ218に転送する。一部の例において、I/Oデータ取得モジュール214は、I/Oデータ取得モジュール214が、センサ210aおよび210bから信号を受信および/またはサンプリングすると、データをコントローラ116(例えば、I/Oスケジューラ218)に送信する場合がある。一部の他の実施例において、I/Oデータ取得モジュール214は、データ構造(例えば、トレンドオブジェクト、配列オブジェクト)を投入し、バルクデータ転送を使用して、データ構造中のデータをコントローラ116に転送する場合がある。
【0035】
圧力データを受信する際、制御ループ202は、バルブ208aに対する制御動作を計算する。例えば、圧力データは、1805バールの圧力値を示す場合がある。PID222は、次に、この値を定義された閾値1700バールと比較する場合がある。閾値を超える105バールの差異は、次に、バルブ208aを開いて、パイプ内の圧力をバール1700未満に低下させる制御動作をPID222に計算させる場合がある。この計算された制御動作は、AO224によって生成され、I/Oカード212aを介してバルブ208aに送信された出力データ内で提供され、制御データをアナログ信号に戻すように変化する場合がある。出力信号を受信する際に、バルブ208aが開いて、パイプ内の圧力を低下させる。
【0036】
図3は、プロセス制御データを生成、保存、および送信する、図1および図2のプロセス制御環境100内にある例示的プロセス制御デバイス300のブロック図である。例示的プロセス制御デバイス300を使用して、図1の例示的プロセス制御デバイス128〜136および/または図2のセンサ210aおよび210bのうちのいずれかを実装する場合がある。追加的にまたは代替的に、例示的プロセス制御デバイス300は、図2のコントローラ116および/またはI/Oカード212aおよび212bを実装する場合がある。
【0037】
例示的プロセス制御デバイス300は、センサ302、アナログデジタル変換器(ADC)304、およびプロセッサ306を含む。プロセッサ306は、サンプルストレージ308を生成および/または維持し、以下でさらに詳述される。プロセス制御アプリケーションまたは他のプロセス制御デバイスと通信するために、例示的プロセス制御デバイス300は、ネットワークインターフェース310、ポートコントローラ312、およびレジストラ314を含む。
【0038】
例示的センサ302は、プロセス制御変数、例えば、温度、圧力および/または他の変数を測定する。多くのプロセス制御測定値は、測定され、トランスデューサによって電子信号に変換されると、連続アナログ信号をもたらす連続状態である。アナログ信号は、図2と併せて上述されるように、制御ループの一部として取得、増幅、変更、フィルター、および/または送信される場合がある。
【0039】
デジタル通信ネットワークに沿って、測定値が他のデバイスに送信される一部の他の実施例において、ADC304は、サンプリングを介して、アナログ信号をデジタル表示に変換する。一部の例において、測定されているプロセス制御変数は、比較的ゆっくり変化する(例えば、100ms以上毎)。これらの例において、ADC304は、比較的低速で、センサ302からの信号をサンプリングする。信号サンプリングの間が長いため、サンプルは、プロセス制御バス(例えば、HART、Fieldbus、Profibus)を介して、ADC304がサンプルを生成する時に、コントローラおよび/またはプロセス制御アプリケーションに送信される場合がある。サンプルを送信するために、ADC304は、サンプリングした値をプロセッサ306に提供し、ネットワークインターフェース310を介して、サンプリングされた値を送信する。一部の例において、プロセッサ306は、サンプリングされた値の信頼値(例えば、良い、悪い、または疑わしい等のステータス)を判定し、信頼値をサンプルの一部として送信する。追加的にまたは代替的に、プロセッサ306は、タイムスタンプをデータに追加して、データの処理を提供する場合がある。
【0040】
他の実施例において、測定された変数は、より高いレートで変化する(例えば、高頻度のコンポーネントを含む)。高頻度のコンポーネントが関心対象である場合、ADC304は、より高いレートで変数をサンプリングする(例えば、関心対象の最高頻度コンポーネントの頻度の少なくとも2倍)。サンプルが生成されたとき、高頻度サンプリングの結果として、プロセス制御バスを介して送信されない場合があり、そのような転送は、通信バスの帯幅を圧倒する可能性があるためである。代わりに、プロセッサ306は、サンプリングされた値を有するサンプルストレージ308を形成および投入する。例示的サンプルストレージ308は、サンプリングされた値のそれぞれの信頼性をさらに保存する場合がある。使用されてもよい例示的サンプルストレージ308は、Foundation Fieldbus標準の一部として定義されるトレンドオブジェクトである。サンプルストレージ308が閾値サイズ(例えば、閾値サンプル数)に到達した場合、以下でさらに詳述されるように、プロセッサ306は、サンプルストレージ308のコンテンツのすべてまたは一部をコントローラおよび/またはプロセス制御アプリケーションに転送する。一部の例において、他の状態(例えば、″TAG/PV″>″someLimit″)および/またはイベント(例えば、″TAG/Highlimit″=″True″)は、サンプルストレージ308からのデータの転送をトリガする場合がある。
【0041】
サンプルストレージ308は、例えば、アレイ、マトリクス、クラス、構造、および/またはサンプルデータを送信するために使用される、保存されるデータおよび/または通信プロトコルに対する任意の他の種類の適切なデータ構造を使用して、サンプルデータを組織化する場合がある。アレイを使用して、サンプルストレージ308は、浮動小数点数(例えば、floats)および/または整数(例えば、ints)等の単純な種類のデータタイプ、ならびにストラクトオブジェクト等のより複雑なデータタイプを保存する場合がある。ストラクトオブジェクトは、例えば、値、状態、品質情報、タイムスタンプ、および/またはデータサンプルに関する他の情報を保存する場合がある。マトリクスの使用は、アレイに類似する場合があるが、相関されるサンプルを保存するために有利に使用される場合があり、共通のデータ構造に同時に保存される必要がある。データサンプルをクラスまたはストラクトとして保存することは、データおよび/またはデータの特性を拡大、修正、および/または別の方法として、アレイおよびマトリクスでは不可能な方法で操作することができる。
【0042】
ネットワークインターフェース310は、プロセス制御通信バス、例えば、HART、Foundation Fieldbus、および/またはProfibus手順と相互作用するために適切なインターフェース手順を含む。図3に例証される例示的通信バスは、図1の通信バス118である。ネットワークインターフェース310は、プロセッサ306と相互作用して、通信バス118に対して、および/または通信バス118からメッセージを送信し、かつ/またはポートコントローラ312を用いて、他のデバイスとの通信のために開いたポートを管理する。例えば、ポートコントローラ312は、指定されたポート上のブロックデータ転送を介して、サンプル構造308中のサンプルデータに対するネットワークインターフェース310を経由して、プロセス制御アプリケーション(例えば、図1のアプリケーション120)からの要求を受信する場合がある。要求が承認されることをポートコントローラ312が決定する場合、ポートコントローラ312は、ポートを開き、そこを通ってサンプルデータが要求しているアプリケーションに送信される、ポートのプロセッサ306に通知する。一方、要求が承認されないことをポートコントローラ312が決定する場合、ポートコントローラ312は、要求を破棄し、かつ/またはプロセッサ306に要求を破棄するように命令する。
【0043】
レジストラ314は、例示的プロセス制御デバイス300をプロセス制御環境100に登録する。登録は、例えば、プロセス制御デバイス300が、プロセス制御環境100に初めて接続されると起こる場合がある。一部の例において、登録は、プロセス制御デバイス300が、プロセス制御環境100に接続および/または再接続されるたびに、および/またはプロセス制御デバイス300が構成変更(例えば、プロセス制御デバイス300物理的位置の変更)を有する場合に起こる場合がある。プロセス制御デバイス300を登録するために、例示的レジストラ314は、この実施例では、EDDLを使用して書き込まれるEDDファイルを提供する。
【0044】
EDDファイルを使用して、異なる製造者からの異なるフィールド装置に含まれる、診断、リアルタイム、および資産管理情報にアクセスしてもよい。EDDLを使用して、最新の自動化センサおよびアクチュエータにおいて使用可能な情報が、例えば、分配されたプロセス制御システムまたは携帯コミュニケータによってアクセスされて、構成し、プロセス制御デバイスを較正し、問題を診断し、かつ/またはユーザインターフェースディスプレイ用のデータおよび/またはアラームを提供する場合がある、相互運用可能な環境を提供してもよい。
【0045】
EDDLは、フィールド機器の特徴を記述するために使用される場合がある、テキストベースの言語である。デバイス製造者は、EDDLを使用して、EDDファイルを形成し、ホストシステムおよび携帯コミュニケータに対して一貫した形態および構造を提供して、通信プロトコルまたはデバイス動作システムから独立したフィールド装置内の情報にアクセスし、表示してもよい。EDDファイルは、装置設計者またはデバイス設計者によって形成され、EDDL構文を使用して、デバイスおよびそのパラメータを記述する。パラメータは、例えば、プロセス変数、セットポイント、上限−下限、大気温度等を含む場合がある。デバイス設計者は、インターフェースコンポーネント、例えば、EDDLを使用して、メニュー、パラメータディスプレイ、ディスプレイ状態等をさらに定義してもよい。
【0046】
図4は、プロセス制御データを受信および/または操作する、図1および図2のプロセス制御環境100内の例示的プロセス制御アプリケーション400またはコントローラのブロック図である。明確および簡潔にするために、図4の例示的ブロック図は、図1のクライアント120等のクライアントデバイス上で実行されるプロセス制御アプリケーションを参照して説明される。しかしながら、図4の例示的プロセス制御アプリケーション400を使用して、プロセス制御サーバ、スタンドアロン型後処理アプリケーション、プロセスコントローラ、またはプロセス制御システムの状況において、制御および/または後処理機能を実行する場合がある、任意の他の種類のプロセス制御デバイスも実装される場合がある。
【0047】
例示的プロセス制御アプリケーション400は、後処理装置402、ストレージ404、ユーザインターフェース406、EDDファイルリーダー408、ネットワークインターフェース410、およびポートコントローラ412を含む。例示的後処理装置402は、プロセス制御データ(例えば、温度、圧力等のトレンドデータ)を受信し、1つまたは複数の後処理動作をデータ上で行う。例えば、後処理は、頻度分析、診断、データロギング、ゲージシステム、および/または任意の他の後処理および/または制御アプリケーションを含んでもよい。
【0048】
一部の後処理アプリケーション(例えば、後処理装置402)は、比較的大量のデータを必要とする場合がある。プロセス制御通信バス(例えば、通信バス108)を介して、プロセス制御データを取得するために、後処理装置402は、プロセス制御データ(例えば、センサ、コントローラ)のソースからデータを要求する場合があり、かつ/またはデータのソースが通信バス108を介してデータを受信すると、データを受信する場合がある。
【0049】
ストレージ404は、後処理に先立ってプロセス制御データを保存し、および/または後処理装置402によって生成される結果を保存する。例えば、プロセス制御アプリケーション400が、ソースからプロセス制御データを受信すると、プロセス制御データは、後処理装置402が所望の後処理動作を実行するために十分なデータが収集されるまで、ストレージ404に保存される。追加的にまたは代替的に、後処理装置402が後処理動作を実行し、結果(例えば、頻度スペクトル、データログ等)を生成した後、結果は、ストレージ404に保存される場合がある。ストレージ404から、結果は、別のプロセス制御デバイスおよび/またはアプリケーションに送信され、要求に応じてプロセス制御環境100のユーザによって視認され、かつ/または他のデータと併せてさらに処理される場合がある。
【0050】
後処理装置402は、ユーザインターフェース406と相互作用して、後処理動作の結果をユーザに提示し、および/または後処理データの要求を受信する。例えば、ユーザが特定のバルブにおける圧力の頻度分析を視認したい場合、ユーザは、バルブを選択し、例示的プロセス制御アプリケーション400に、ユーザインターフェース406を介して(例えば、コンピュータキーボードおよび/またはコンピュータマウスを介して)頻度分析を行うように命令してもよい。選択したバルブに関連付けられた圧力センサからデータを抽出することを含む、頻度分析を行った後、後処理装置400は、ユーザインターフェース406を介して(例えば、ディスプレイモニタを介して)、頻度分析をユーザに表示する。
【0051】
例示的ネットワークインターフェース410は、図3のネットワークインターフェース310に類似するか、または同一であってもよい。しかしながら、ネットワークインターフェース410は、スレーブインターフェースとは対照的に、通信バスの種類に応じて(例えば、Fieldbus)、ホストインターフェースであってもよい。データをプロセス制御デバイスから抽出するために、後処理装置402は、ネットワークインターフェース410を介して、選択したデバイス(例えば、ユーザにより選択されたバルブのコントローラ)のEDDファイルにアクセスする。EDDリーダー408は、EDDファイルを読み取り、選択したデバイスからプロセス制御データにアクセスする方法を判定する。例えば、EDDファイルは、プロセス制御デバイスによって使用される際のプロセス制御変数の定義、プロセス制御変数のサンプリング頻度、プロセス制御変数にアクセスする標準および/または特別な方法等を含んでもよい。
【0052】
EDDファイルに基づいて、後処理装置402は、ポートコントローラ412に命令し、プロセス制御アプリケーション400上の対応するポートを使用して、スレーブデバイス(例えば、図3のプロセス制御デバイス300)上の特定のポートへの接続を確立させる。ポートコントローラ412は、プロセス制御デバイス300上のポートと通信するためにプロセス制御アプリケーション上で使用されるポートを判定し、ネットワークインターフェース410を介して、コマンドをプロセス制御デバイス300に送信する。プロセス制御デバイス300がコマンドに応答すると、通信バス108上の指定ポート間にパイプラインが形成される。ポート間にパイプラインが形成されたという確認を受信した後、後処理装置402は、プロセス制御デバイス300において収集された所望のデータを要求し、パイプラインを介してデータを受信する。
【0053】
プロセス制御デバイス300とプロセス制御アプリケーション400との間のデータ転送は、例えば、トレンドオブジェクト(例えば、Fieldbusを使用して)および/またはデータストリーミングを使用して、ブロックデータ転送を介して達成される場合がある。一部のプロセス制御通信プロトコル(例えば、HART、Fieldbus)において、同期通信のために事前定義されたバス時間または最小量のバス時間が確保され、これは一般に、待ち時間に敏感なアプリケーションによって使用される。バス時間の残りは、他の非同期通信、例えば、ブロックデータ転送に使用されてもよい。ブロックデータ転送は、プロセス制御デバイス300からプロセス制御アプリケーション400へのデータの複数サンプルの転送をもたらす。データサンプルは、追加として、それらのサンプルの信頼性の指標を含んでもよい(例えば、良い、疑わしい、悪いステータス)。
【0054】
一部の例において、プロセス制御アプリケーション400は、アレイまたはマトリクスパラメータ、および/またはクラスあるいはストラクト特性を参照することによって、プロセス制御デバイス300中のプロセス制御データにアクセスする場合がある。例えば、デバイスアレイパラメータにアクセスするために、プロセス制御アプリケーションは、図5に示される命令500を実行する場合がある。図5の例示的な命令500は、プロセス制御アプリケーション(例えば、図4のプロセス制御アプリケーション400)によって、プロセス制御デバイス(例えば、図3のデバイス300)上に保存されるプロセス制御データにアクセスするために使用される場合がある方法を示す。プロセス制御アプリケーション400は、プロセス制御デバイス300上の所望のデータが、″args″という名前のFrequencyCaptureオブジェクト(例えば、アレイ)として保存されることを決定する(例えば、EDDリーダー408を介して)。したがって、プロセス制御アプリケーション400が命令500を実行すると、プロセス制御アプリケーション400は、ブロックデータ転送を介して、args中のプロセス制御データを取得する。一部の例において、プロセス制御データは、例示的命令500を開始する前(例えば、方法のコール前に)転送される。
【0055】
図1および図2の例示的コントローラ116、例示的クライアントアプリケーション120、例示的プロセス制御デバイス128−136、および/または例示的I/Oカード212a〜212bを実装する例示的方法は、図3および図4に示されたが、図3および図4に示される要素、プロセス、および/またはデバイスのうちの1つまたは複数を、任意の他の方法で、複合、分割、再配置、省略、排除、および/または実装してもよい。さらに、図3および図4の例示的センサ302、例示的ADC304、例示的プロセッサ306、例示的サンプルストレージ308、例示的ネットワークインターフェース310、例示的ポートコントローラ312、例示的レジストラ314、例示的後処理装置402、例示的ストレージ404、例示的ユーザインターフェース406、例示的EDDリーダー408、例示的ネットワークインターフェース410、例示的ポートコントローラ412、および/または、より一般的には、例示的プロセス制御デバイス300および/または例示的プロセス制御アプリケーション400は、ハードウェア、ソフトウェア、ファームウェア、および/またはハードウェア、ソフトウェア、および/またはファームウェアの任意の組み合わせによって実装されてもよい。したがって、例えば、例示的センサ302、例示的ADC304、例示的プロセッサ306、例示的サンプルストレージ308、例示的ネットワークインターフェース310、例示的ポートコントローラ312、例示的レジストラ314、例示的後処理装置402、例示的ストレージ404、例示的ユーザインターフェース406、例示的EDDリーダー408、例示的ネットワークインターフェース410、例示的ポートコントローラ412、および/または、より一般的には、例示的プロセス制御デバイス300および/または例示的プロセス制御アプリケーション400のうちのいずれかは、1つまたは複数の回路、プログラム可能プロセッサ、特定用途向け集積回路(ASIC)、プログラム可能論理デバイス(PLD)、および/またはフィールドプログラム可能論理デバイスは(FPLD)等によって実装できる可能性がある。添付の装置クレームのうちのいずれかが、純粋にソフトウェアおよび/またはファームウェア実装を網羅すると読み取られる場合、例示的センサ302、例示的ADC304、例示的プロセッサ306、例示的サンプルストレージ308、例示的ネットワークインターフェース310、例示的ポートコントローラ312、例示的レジストラ314、例示的後処理装置402、例示的ストレージ404、例示的ユーザインターフェース406、例示的EDDリーダー408、例示的ネットワークインターフェース410、および/または例示的ポートコントローラ412のうちの少なくとも1つは、メモリ、DVD、CD等のコンピュータ可読媒体を含み、ソフトウェアおよび/またはファームウェアを保存するように、本明細書において明示的に定義される。さらに、図3および図4の例示的プロセス制御デバイス300および/または例示的プロセス制御アプリケーション400は、図3および図4に図示されたもの、に加えて、またはその代わりに、1つまたは複数の要素、プロセス、および/またはデバイスを含む場合があり、かつ/または例証される要素、プロセス、およびデバイスのうちのいずれか2つ以上、またはすべてを含んでもよい。
【0056】
図1および図2の例示的コントローラ116、例示的クライアントアプリケーション120、例示的プロセス制御デバイス128〜136、および/または例示的I/Oカード212a〜212bを実装するための例示的プロセスまたは方法を代表するフローチャートは、図6および図7に示される。この実施例において、方法は、図8に関連して以下で論じられる、例示的コンピュータ800において示されるプロセッサ802等のプロセッサによる実行のためのプログラムを使用して実装されてもよい。プログラムは、コンピュータ可読媒体、例えば、CD−ROM、フロッピー(登録商標)ディスク、ハードドライブ、デジタル多用途ディスク(DVD)、またはプロセッサ802と関連付けられるメモリ上に保存されるソフトウェアにおいて具体化される場合があるが、プログラム全体および/またはその部分は、代替として、プロセッサ802以外のデバイスによって実行できる可能性があり、かつ/またはファームウェアまたは専用ハードウェアにおいて具体化される。さらに、例示的プログラムは、図6および図7において例証されるフローチャートを参照して説明されるが、図1および図2の例示的コントローラ116、例示的クライアントアプリケーション120、例示的プロセス制御デバイス128〜136、および/または例示的I/Oカード212a〜212bを実装する多くの他の方法が、代替として使用されてもよい。例えば、ブロックの実行順序は変更されてもよく、および/または説明されるブロックの一部は、変更、排除、または組み合わされてもよい。
【0057】
上述されるように、図6および図7の例示的方法またはプロセスは、有形のコンピュータ可読媒体、例えば、ハードディスクドライブ、フラッシュメモリ、読み取り専用メモリ(ROM)、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、キャッシュ、ランダムアクセスメモリ(RAM)および/または任意の他の記憶媒体上に保存される、符号化された命令(例えば、コンピュータ可読命令)を使用して実装されてもよく、情報は、そこに任意の期間保存される(例えば、延長された期間、永久的、短いインスタンス、一時的にバッファリングする間、および/または情報をキャッシングする間)。本明細書で使用される場合、用語「有形のコンピュータ可読媒体」は、任意の種類のコンピュータ可読ストレージを含み、信号の伝播を排除すること明示的に定義する。追加的にまたは代替的に、図6および図7の例示的プロセスは、持続性コンピュータ可読媒体、例えば、ハードディスクドライブ、フラッシュメモリ、読み取り専用メモリ、コンパクトディスク、デジタル多用途ディスク、キャッシュ、ランダムアクセスメモリ、および/または任意の他の記憶媒体上に保存される、符号化された命令(例えば、コンピュータ可読命令)を使用して実装されてもよく、情報は、そこに任意の期間保存される(例えば、延長された期間、永久的、短いインスタンス、一時的にバッファリングする間、および/または情報をキャッシングする間)。本明細書で使用される場合、用語「持続性コンピュータ可読媒体」は、任意の種類のコンピュータ可読ストレージを含み、信号の伝播を排除すること明示的に定義する。
【0058】
図6は、プロセス制御データサンプルを収集するように行われる場合がある、例示的方法600を代表するフローチャートである。例示的方法600を使用して、図1のプロセス制御デバイス128〜136、図2のセンサ210a〜210bおよび/または図3のI/Oカード212a〜212b、および/または図3の例示的プロセス制御デバイス300を実装してもよい。明確および簡潔にするために、例示的方法600は、図3の例示的プロセス制御デバイス300に関連して以下で論じられる。
【0059】
例示的方法600は、プロセス制御デバイス300(ブロック602)を初期化する例示的プロセッサ306で開始する。初期化は、例えば、プロセス制御デバイス300が、図1のプロセス制御環境100に接続され、電源が入ると起こる場合がある。初期化後、または初期化の一部として、レジストラ314は、EDDファイルをプロセス制御サーバ(例えば、図1のFDIサーバ106)に登録する(ブロック604)。EDDファイルは、例えば、プロセス制御デバイス300によって提供されるサービス、プロセス制御デバイス300によって測定されるパラメータ、パラメータのサンプリングレート、および/またはプロセス制御デバイス300の他の記述を含んでもよい。
【0060】
センサ302は、次に、1つまたは複数のプロセス制御パラメータ(例えば、温度、圧力等)を測定してもよい(ブロック606)。一部の例において、センサ302は、実質的に連続するパラメータの値を測定し、アナログ信号を出力する。ADC304は、プロセス制御パラメータに対応するサンプリングレートにおいて(例えば、パラメータの種類に基づいて)、測定されたプロセス制御パラメータをサンプリングし(例えば、センサ302からのアナログ信号をサンプリングする)、これによりデータサンプルを生成する(ブロック608)。ADC304および/またはプロセッサ306は、サンプルをデータストレージに保存する(ブロック610)。例えば、ADC304は、サンプルをサンプルストレージ308に提供してもよく、これは、サンプルを対応するデータ構造に保存する。使用される場合がある一部の例示的データ構造は、アレイオブジェクト、マトリクスオブジェクト、クラス、ストラクト、および/または他の種類のデータ構造を含む。
【0061】
プロセッサ306は、1つまたは複数の特定イベントおよび/または状態(例えば、EDDにおいて定義されるような)が発生して、サンプルストレージ308からのデータの転送をトリガするか否かを判定する(ブロック612)。例えば、プロセッサ306は、サンプルストレージ308におけるサンプルの数が、閾値を越えるか否か(例えば、“TAG/PV”>“someLimit”であるという条件)を判定する場合があり、かつ/または指定されたアラームがフラグされたか否か(例えば、“TAG/Highlimit”=“True”、イベント)を判定する場合がある。一部の例において、閾値は、データサンプル、タイムスタンプ、および/またはステータスに関して、データ構造がその容量に到達するときを表す場合がある。他の実施例において、閾値は、ブロックデータ転送を介して、またはストリーミングデータによって、データサンプルを別のプロセス制御デバイスおよび/またはアプリケーションに効率的に転送するためのデータサイズの下限を表す場合がある。1つまたは複数の特定イベントおよび/または状態が発生しなかった場合(ブロック612)、プロセッサ306は、データストレージ中のサンプルの承認された要求が受信されたか否かを判定する(ブロック614)。プロセッサ306は、要求が、例えば、要求者の認証情報をアクセスリストと比較することによって承認されるか否かを判定してもよい。しかしながら、承認を判定する多くの方法は、サンプル要求が承認されるか否かを判定するために使用されてもよい。
【0062】
要求が承認されない場合(ブロック614)、例示的方法600は終了する場合がある。代替的に、例示的方法600を反復して、サンプルの収集、サンプルの保存、データ要求の受信、および/またはデータストレージからのデータサンプルの送信を継続してもよい。一方、1つまたは複数の特定イベントおよび/または状態が発生した場合(ブロック612)、または承認されたサンプル要求が受信された場合(ブロック614)、例示的プロセッサ306は、データサンプルをプロセス制御アプリケーションに送信する(例えば、ネットワークインターフェース310を介して)(ブロック616)。例えば、ポートコントローラ312は、受信しているプロセス制御アプリケーション上の特定ポートに転送するためにポートを開く場合があり、かつ/またはプロセッサ306は、データ構造が閾値サイズに到達すると、ネットワークインターフェース310を介してデータをブロードキャストする。
【0063】
図7は、データサンプルを処理するように実行される場合がある、例示的方法700を表すフローチャートである。例示的方法700を使用して、図1の例示的FDIサーバ106および/または例示的コントローラ116、および/または図4の例示的プロセス制御アプリケーション400を実装してもよい。明確および簡潔にするために、例示的方法700は、図4の例示的プロセス制御アプリケーション400に関連して以下に説明される。
【0064】
例示的プロセス制御アプリケーション400は、パラメータ測定デバイス(例えば、プロセス制御デバイス300)に対応するEDDファイルを受信する(ブロック702)。EDDファイルに基づいて、EDDリーダー408は、名前、位置、および/またはEDDファイルと関連付けられるプロセス制御デバイス300によって測定されるパラメータの種類を判定する(ブロック704)。EDDリーダー408は、EDDファイルからパラメータのサンプリングレートをさらに判定する(ブロック706)。
【0065】
EDDリーダー408は、サンプリングレートが閾値よりも大きいか否かをさらに判定する(ブロック708)。例示的閾値は、ブロードキャストデータサンプルが生成されるときに、それらの伝播が実用的でなくなるサンプリングレートを表す場合がある。サンプリングレートが閾値よりも大きくない場合(ブロック708)、後処理装置402は、所望のパラメータを生成するプロセス制御デバイス300が、パラメータの加入契約をサポートする(例えば、定期的および/または非定期的間隔で、データを送信または受信する)か否かを判定する場合がある(ブロック710)。例示的プロセス制御デバイス300が、加入契約をサポートする場合(ブロック710)、以下でさらに詳述されるようにブロック718への転送を制御する。
【0066】
EDDリーダー408が、サンプリングレートが閾値よりも大きいことを判定する場合(ブロック708)、またはプロセス制御デバイス300がサブスクライブをサポートしない場合(ブロック710)、ポートコントローラ412は、接続を確立することによって(例えば、ネットワークインターフェース410を介して)、プロセス制御デバイス300上のポートへのブロックデータ転送を開始する(例えば、ネットワークインターフェース310およびポートコントローラ312を介して)(ブロック712)。例えば、ポートコントローラ412は、ネットワークインターフェース410にオープンポートコマンドを送信させてもよく、これは次に、プロセス制御デバイス300によって承認または却下される。プロセス制御デバイス300とプロセス制御アプリケーション400とのポート間の接続は、プロセス制御デバイス300がオープンポートコマンドを承認すると確立される(例えば、プロセス制御アプリケーション400が、要求されたパラメータへのアクセスを承認される場合)。
【0067】
接続を確立した後、後処理装置402は、プロセス制御デバイス300からのパラメータに対応するデータサンプルの転送を行う(ブロック714)。一部の例において、プロセス制御デバイスは、サンプル値、ステータス、および/またはタイムスタンプを含む、データサンプルを含有するトレンドオブジェクトを送信する。しかしながら、他の形態のブロックデータ転送もまた使用されてもよい。後処理装置402は、受信されたデータサンプルをストレージ404に保存する(ブロック716)。
【0068】
サンプリングレートが、閾値よりも大きくなく(ブロック708)、プロセス制御デバイス300がサブスクライブをサポートする場合(ブロック710)、後処理装置402は、プロセス制御デバイス300からのブロードキャストデータサンプルを受信し、データサンプルをストレージ404に保存する(ブロック718)。要求されたデータサンプル(ブロック714)および/またはブロードキャストデータサンプル(ブロック718)を受信および/または保存した後、例示的後処理プロセッサ402は、十分なデータサンプルがデータサンプルを処理するために受信および/または保存されたか否かを判定する(ブロック720)。後処理プロセッサ402および/またはストレージ404が、十分なデータサンプルを有しない場合(ブロック720)、制御は、ブロック708に戻り、データサンプルの収集を継続する。
【0069】
十分なデータサンプルがある場合(ブロック720)、後処理装置402は、所望の分析または後処理操作に従って、データサンプルを処理する(ブロック722)。例えば、後処理装置402は、任意の適切なプロセス制御分析、例えば、頻度分析、診断、データロギング、ゲージシステム、および/または任意の他の後処理および/または制御アプリケーションを行ってもよい。一部の他の実施例において、後処理装置402は、制御ループ操作を行って、プロセス制御デバイスに対する1つまたは複数の入力値を生成する場合がある。任意の生成した値の処理および/または保存および/または出力を行った後、例示的方法700は終了する場合があり、かつ/または追加のプロセス制御データの収集および/または処理を繰り返す。
【0070】
図8は、図6および図7の方法600および700を実行して、図1のFDIサーバ106、コントローラ116、および/またはプロセス制御デバイス128〜136、図2のセンサ210a−210bおよび/またはI/Oカード212a〜212b、図3のプロセス制御デバイス300、および/または図4の例示的プロセス制御アプリケーション400を実装することができる、例示的コンピュータ800のブロック図である。例示的コンピュータ800は、追加的にまたは代替的に、図1のクライアント104を実装して、クライアントアプリケーション120を実行してもよい。コンピュータ800は、例えば、サーバ、パーソナルコンピュータ、モバイルフォン(例えば、携帯電話)、パーソナルデジタルアシスタント(PDA)、インターネットアプライアンス、または任意の他の種類のコンピュータデバイスとすることができる。
【0071】
例示的プロセッサシステム800は、組み込まれたメモリ、例えば、ランダムアクセスメモリ(RAM)804、読み取り専用メモリ(ROM)806、およびフラッシュメモリ808を有するプロセッサ802を含む。例えば、プロセッサ802は、1つまたは複数のPentium(登録商標)ファミリー、Itanium(登録商標)ファミリー、またはXScale(登録商標)ファミリーからのIntel(登録商標)マイクロプロセッサによって実装することができる。当然のことながら、他のファミリーからの他のプロセッサも適切である。
【0072】
RAM804、ROM806、および/またはフラッシュメモリ808は、図6および図7のプロセス600および700を実装する、機械可読命令を保存する場合がある。RAM804は、同期型ダイナミックランダムアクセスメモリ(SDRAM)、ダイナミックランダムアクセスメモリ(DRAM)、RAMBUSダイナミックランダムアクセスメモリ(RDRAM)および/または任意の他の種類のランダムアクセスメモリデバイスによって実装されてもよい。例証される実施例のフラッシュメモリ808は、ブートブロック810を含む。RAM804、ROM806、およびフラッシュメモリ808へのアクセスは、通常、メモリコントローラによって制御される(図示せず)。
【0073】
プロセッサ802は、インターフェース、例えば、他のコンポーネントがインターフェースされる場合がある、バス812に連結される。例証される実施例において、バス812にインターフェースで接続されるコンポーネントは、入力デバイス814、ディスプレイデバイス816、大容量記憶デバイス818および着脱式記憶デバイスドライブ820を含む。着脱式記憶デバイスドライブ820は、関連付けられた着脱式記憶媒体822、例えば、磁気または光学媒体を含んでもよい。
【0074】
入力デバイス814は、ユーザにプロセッサ802へのデータおよびコマンドの入力を許可する。入力デバイス814は、キーボード、マウス、タッチスクリーン、トラックパッド、バーコードスキャナ、またはユーザが情報をプロセッサ802に提供できるようにする任意の他のデバイスのうちの任意の1つまたは複数を使用して実装される場合がある。
【0075】
ディスプレイデバイス816は、例えば、液晶ディスプレイ(LCD)モニタ、陰極線管(CRT)モニタ、またはプロセッサ802とユーザとの間のインターフェースとして動作する任意の他の適切なデバイスである場合がある。図8に示されるディスプレイデバイス816は、ディスプレイスクリーンをプロセッサ802にインターフェースで接続するために要求される、任意の追加のハードウェアを含む。
【0076】
大容量記憶デバイス818は、例えば、従来のハードドライブまたはプロセッサ802によって読み取り可能な任意の他の磁気または光学媒体であってもよい。
【0077】
着脱式記憶デバイスドライブ820は、例えば、光学ドライブ、例えば、コンパクトディスク記録可能(CD−R)ドライブ、コンパクトディスク書換可能(CD−RW)ドライブ、デジタル多用途ディスク(DVD)ドライブまたは任意の他の光学ドライブであってもよい。代替として、例えば、磁気媒体ドライブであってもよい。媒体822は、ドライブ820とともに動作するように選択されるため、着脱式記憶媒体822は、着脱式記憶デバイスドライブ820と相補的である。例えば、着脱式記憶デバイスドライブ820が光学ドライブである場合、着脱式記憶媒体822は、CD−Rディスク、CD−RWディスク、DVDディスク、または任意の他の適切な光学ディスクである場合がある。一方、着脱式記憶デバイスドライブ820が磁気媒体デバイスである場合、着脱式記憶媒体822は、例えば、ディスケットまたは任意の他の適切な磁気記憶媒体であってもよい。
【0078】
図6および図7のプロセス600および700を実装するための符号化された命令は、RAM804、ROM806、フラッシュメモリ808、大容量記憶デバイス818内、および/またはCDまたはDVD等の着脱式記憶媒体822上に保存されてもよい。
【0079】
前述から、上で開示される方法および装置を使用して、デバイス、コントローラ、および/またはデバイスの電子デバイス記述によって定義される方法を使用するアプリケーション間で、大きいブロックのプロセス制御データの転送を処理するための機構を提供する場合があることが理解されるであろう。例示的方法および装置は、プロセス問題を速やかに診断するために、後でプロセスエラーを抽出および/または視認、記録するように、プロセスアクティビティのログ(例えば、データロギング)を保存すること、プロセス制御通信ネットワークを介して、測定データをデバイス性能をプロファイリングするためにストリーミングすること、および/またはプロセス制御システムの他の部分におけるプロセス制御データの頻度分析等の以前に専用であった機能および/またはデータ集約型の機能を統合すること、をさらに可能にする場合がある。そのような機能の統合は、より迅速かつ簡易な問題の診断を可能にする場合がある。さらに、例示的方法および装置は、インフラストラクチャへの実質的な追加を必要としないか、またはプロセス制御通信デバイス、コントローラ、アプリケーション、および/またはネットワークの柔軟性または性能を犠牲にすることなく、これらおよび他のプロセス制御データのアプリケーションを可能にする。
【0080】
特定の例示的方法、装置、および製造物品が本明細書で説明されたが、本特許が網羅する範囲はそれらに限定されない。反対に、本特許は、本特許の請求項の範囲内に適正に含まれる、すべての方法、装置、および製造物品を網羅する。

【特許請求の範囲】
【請求項1】
プロセス制御データを収集する方法であって、
測定されるパラメータおよび測定値サンプリングレートを記述する、電子デバイス記述を登録することと、
前記電子デバイス記述によって定義されるように、前記パラメータを測定することと、
測定されるパラメータを代表するデータをデータ構造に保存することと、
前記データの要求、前記データと関連付けられる状態、または前記データと関連付けられるイベントのうちの少なくとも1つに応答して、プロセス制御ネットワークを介して、前記データ構造内のデータをプロセス制御デバイスに転送することと、
を含む、方法。
【請求項2】
前記電子デバイス記述は、電子デバイス記述言語で書かれたファイルである、請求項1に記載の方法。
【請求項3】
前記データを転送することは、プロセス制御デバイスにおける第1のポートと第2のポートとの間の接続を確立することを含む、請求項1に記載の方法。
【請求項4】
前記データを転送することは、ブロックデータ転送またはデータストリームのうちの少なくとも1つを行うことを含む、請求項1に記載の方法。
【請求項5】
前記データ構造が閾値量を超えるデータ量を有する場合に、前記データを転送することをさらに含む、請求項1に記載の方法。
【請求項6】
前記データを保存することは、アレイオブジェクト、マトリクスオブジェクト、クラスオブジェクト、またはストラクトオブジェクトのうちの少なくとも1つにデータを保存することを含む、請求項1に記載の方法。
【請求項7】
前記電子デバイス記述は、前記パラメータの名前、前記パラメータの位置、前記パラメータの種類、または前記パラメータのサンプリングレートのうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項8】
プロセス制御データを収集する装置であって、
プロセス制御パラメータと関連付けられる情報を収集するセンサと、
前記情報を測定データに変換するアナログデジタル変換器と、
前記測定データをデータ構造に保存するストレージデバイスと、
前記装置と関連付けられる電子デバイス記述によって定義されるようにデータの要求を受信し、プロセス制御デバイスと通信するためにポートを開き、前記電子デバイス記述によって定義されるように前記プロセス制御デバイスに前記測定データを転送させる、ポートコントローラと、
を備える、装置。
【請求項9】
前記電子デバイス記述をプロセス制御サーバに登録するレジストラをさらに備える、請求項8に記載の装置。
【請求項10】
前記電子デバイス記述は、前記パラメータの名前、前記パラメータの位置、前記パラメータの種類、または前記パラメータのサンプリングレートのうちの少なくとも1つを含む、請求項8に記載の装置。
【請求項11】
前記ストレージデバイスは、アレイオブジェクト、マトリクスオブジェクト、クラスオブジェクト、またはストラクトオブジェクトのうちの少なくとも1つに前記測定データを保存するものである、請求項8に記載の装置。
【請求項12】
前記ポートコントローラは、前記ストレージデバイスが閾値量を超えるデータ量を有する場合に、前記データを転送させるものである、請求項8に記載の装置。
【請求項13】
前記データを転送するためにポートを開くコマンドを受信するためのネットワークインターフェースをさらに備える、請求項8に記載の装置。
【請求項14】
前記データの状態を判定し、前記状態を前記ストレージデバイスに保存するためのプロセッサをさらに備える、請求項8に記載の装置。
【請求項15】
機械可読命令を備える有形の製造物品であって、実行されると、機械に少なくとも
測定されるパラメータおよび測定値サンプリングレートを記述する電子デバイス記述を登録させ、
前記電子デバイス記述によって定義されるようにパラメータを測定させ、
前記測定されたパラメータを代表するデータをデータ構造に保存させ、
前記データの要求、前記データと関連付けられる状態、または前記データと関連付けられるイベントのうちの少なくとも1つに応答して、プロセス制御ネットワークを介して、前記データ構造内のデータをプロセス制御デバイスに転送させる、
製造物品。
【請求項16】
前記データを転送することは、前記プロセス制御デバイスにおける第1のポートと第2のポートとの間に接続を確立することを含む、請求項15に記載の製造物品。
【請求項17】
前記電子デバイス記述は、前記パラメータの名前、前記パラメータの位置、前記パラメータの種類、または前記パラメータのサンプリングレートのうちの少なくとも1つを含む、請求項15に記載の製造物品。
【請求項18】
前記データを転送することは、ブロックデータ転送またはデータストリームのうちの少なくとも1つを行うことを含む、請求項15に記載の製造物品。
【請求項19】
前記データを保存することは、アレイオブジェクト、マトリクスオブジェクト、クラスオブジェクト、またはストラクトオブジェクトのうちの少なくとも1つに前記データを保存することを含む、請求項15に記載の製造物品。
【請求項20】
前記命令は、前記データ構造が、閾値量を超えるデータ量を有する場合に、少なくとも前記機械に前記データを転送させる、請求項15に記載の製造物品。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate