(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-24
(45)【発行日】2022-09-01
(54)【発明の名称】構造とは無関係なプロセス制御
(51)【国際特許分類】
G05B 19/042 20060101AFI20220825BHJP
【FI】
G05B19/042
(21)【出願番号】P 2017136960
(22)【出願日】2017-07-13
【審査請求日】2020-07-03
(32)【優先日】2016-07-15
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】512132022
【氏名又は名称】フィッシャー-ローズマウント システムズ,インコーポレイテッド
(74)【代理人】
【識別番号】100096091
【氏名又は名称】井上 誠一
(72)【発明者】
【氏名】ラリー・オスカー・ジュント
(72)【発明者】
【氏名】ギャリー・ロウ
(72)【発明者】
【氏名】エドワード・マクデビット
(72)【発明者】
【氏名】マット・ストーナー
(72)【発明者】
【氏名】ゴドフレイ・アール・シェリフ
(72)【発明者】
【氏名】デビット・アール・デニソン
(72)【発明者】
【氏名】マーク・ジェイ・ニクソン
(72)【発明者】
【氏名】ジェームス・アール・バレンタイン
(72)【発明者】
【氏名】ジェイ・マイケル・ルーカス
(72)【発明者】
【氏名】スティーブン・ギルバート
【審査官】牧 初
(56)【参考文献】
【文献】特開2016-071828(JP,A)
【文献】特開2002-251204(JP,A)
【文献】特開2009-140286(JP,A)
【文献】米国特許出願公開第2003/0109942(US,A1)
【文献】特開2016-095853(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/04-19/05
(57)【特許請求の範囲】
【請求項1】
プロセスプラントを運転するコンピュータ実行方法であって:
制御プロセスに関連付けられる制御モジュールを選択し、前記制御モジュールはプロセス制御システムのソフトウェアモジュールとして実装され、プロセス制御データを受信するように構成される少なくとも1つの入力を有し;
第1信号オブジェクトを前記制御モジュールの前記少なくとも1つの入力に関連付け;
前記第1信号オブジェクトは前記プロセス制御システムのデータオブジェクトとして実装され、前記第1信号オブジェクトはデータソースを指定するパスと前記データソースから得たデータを供給する変数とを有し、
第1パスを前記第1信号オブジェクトに前記パスとして割り当て、前記第1パスで、前記プロセスプラントのプロセス制御デバイスの出力を指定し、
前記第1信号オブジェクトは、出力データを前記プロセス制御デバイスから1種類以上のプロトコルを介して受信し、前記プロセス制御データを、受信した前記出力データから抽出し、前記プロセス制御データを前記制御モジュールに、受信した前記出力データの前記1種類以上のプロトコルとは関係なく標準的なフォーマットで供給し、
前記制御モジュールは、前記プロセス制御デバイスに関連付けられる前記プロセス制御データを前記第1信号オブジェクトの前記変数から受信する、コンピュータ実行方法。
【請求項2】
前記第1信号オブジェクトから受信される前記プロセス制御データは、前記プロセスプラントのI/O構造とは無関係である、請求項1に記載のコンピュータ実行方法。
【請求項3】
更に:
第2信号オブジェクトを前記制御モジュールの出力に関連付け;
第2パスを前記第2信号オブジェクトに割り当て、前記第2パスで、前記プロセスプラントの前記プロセス制御デバイスまたは別のプロセス制御デバイスのうちの一方のプロセス制御デバイスの入力を指定し、
前記制御モジュールはプロセス制御データを前記プロセス制御デバイスまたは別のプロセス制御デバイスに前記第2信号オブジェクトを介して、前記プロセス制御デバイスまたは別のプロセス制御デバイスに関連付けられる
I/O構造とは関係なく送信する、請求項
1記載のコンピュータ実行方法。
【請求項4】
更に:
前記制御モジュールが第1制御モジュールであり、
第2制御モジュールを選択し、前記第2制御モジュールは入力を含み;
前記第2制御モジュールの前記入力を前記第2信号オブジェクトに関連付け、
前記第2制御モジュールの前記入力を前記第2信号オブジェクトに関連付けることにより、前記第2制御モジュールが、前記プロセス制御データを前記第1制御モジュールの前記出力から前記第2制御モジュールの前記入力で受信するようになる、請求項3に記載のコンピュータ実行方法。
【請求項5】
更に:
前記第1パスを前記第1信号オブジェクトに割り当てる前に、第1コンピュータのプロセッサにより、メモリに、前記制御モジュール、及び関連付け後の前記第1信号オブジェクトを格納し、
前記第1パスを前記第1信号オブジェクトに割り当てる前に、第2コンピュータのプロセッサにより、前記メモリから、前記制御モジュール、及び関連付け後の前記第1信号オブジェクトを取り出す、請求項1乃至請求項4のいずれか1項に記載のコンピュータ実行方法。
【請求項6】
更に:
第3信号オブジェクトを、前記制御モジュールの少なくとも1つの入力に関連付け;
第3パスを前記第3信号オブジェクトに割り当て、前記第3パスで定数値を定義する、請求項1乃至請求項5のいずれか1項に記載のコンピュータ実行方法。
【請求項7】
前記制御モジュールは、オブジェクト指向プログラミング言語で記述されるクラスのインスタンスである、請求項1乃至請求項6のいずれか1項に記載のコンピュータ実行方法。
【請求項8】
複数の制御モジュールを前記第1信号オブジェクトに関連付け;
前記第1パスを前記第1信号オブジェクトに割り当てることにより、前記第1信号オブジェクトに関連付けられる前記複数の制御モジュールの各制御モジュールが、前記プロセス制御デバイスに関連付けられるプロセス制御データを前記第1信号オブジェクトから受信するようになる、請求項1乃至請求項7のいずれか1項に記載のコンピュータ実行方法。
【請求項9】
前記制御モジュールを選択すること、及び前記第1信号オブジェクトを前記制御モジュールの前記少なくとも1つの入力に関連付けることが、制御方式を制御方式ライブラリから選択することにより行われて、選択した前記制御方式に、前記制御モジュール、及び関連付け後の前記第1信号オブジェクトの両方を取り込むようにする、請求項1乃至請求項8のいずれか1項に記載のコンピュータ実行方法。
【請求項10】
選択した前記制御方式に前記第1パスを取り込まない、請求項9に記載のコンピュータ実行方法。
【請求項11】
更に:
ユーザインターフェースに直接取り込まれる第4信号オブジェクトを選択し;
選択した前記第4信号オブジェクトが前記ユーザインターフェースに取り込まれるようにし;
第4パスを前記第4信号オブジェクトに割り当て、前記第4パスで、前記プロセスプラントの別のプロセス制御デバイスの出力を指定し;
前記ユーザインターフェースで、前記別のプロセス制御デバイスに関連付けられ
、かつ前記第4信号オブジェクトを介して受信されるプロセス制御データの指示を表示する、請求項1乃至請求項10のいずれか1項に記載のコンピュータ実行方法。
【請求項12】
更に:
テストパスを前記第1信号オブジェクトに割り当て、前記テストパスをテストデータに関連付け;
前記制御モジュールを、前記テストデータを使用して実行することにより、前記制御モジュールの動作を模擬する、請求項1乃至請求項11のいずれか1項に記載のコンピュータ実行方法。
【請求項13】
前記テストデータは、前記プロセスプラントの異なる運転状態を表す複数のテストデータ集合を含み、前記方法では更に:
出力プロセス制御データを前記モジュールからテストデータ集合毎に受信し;
受信した前記プロセス制御データを記録し;
前記制御モジュールが正しく機能していることを、記録した前記出力プロセス制御データを使用して確認する、請求項12に記載のコンピュータ実行方法。
【請求項14】
更に:
記録した前記出力プロセス制御データを使用して、前記制御モジュールが所定の品質パラメータ内で機能していないと判断し;
前記制御モジュールまたは前記第1信号オブジェクトの1つ以上のパラメータを調整し;
前記1つ以上のパラメータの調整後に、前記制御モジュールを、前記テストデータを使用して実行することにより前記制御モジュールの動作を模擬し;
出力プロセス制御データを前記モジュールからテストデータ集合毎に受信し;
受信した前記出力プロセス制御データを記録する、請求項12又は請求項13に記載のコンピュータ実行方法。
【請求項15】
テストパスを前記第1信号オブジェクトに割り当て、前記テストパスをテストデータに関連付け;
前記制御モジュールを、前記テストデータを使用して実行することにより、前記制御モジュールの動作を模擬し、
前記テストデータは、前記プロセスプラントの
I/O構造とは無関係である、請求項
1に記載のコンピュータ実行方法。
【請求項16】
プロセスプラントを運転するプロセス制御システムであって:
前記プロセスプラント内に配置される複数のプロセス制御デバイスと;
前記複数のプロセス制御デバイスに通信可能に接続されるコントローラであって、該コントローラが、少なくとも1つの制御モジュールであって、前記コントローラによりプロセス制御システムのソフトウェアモジュールとして実装された制御モジュールを有し、該少なくとも1つの制御モジュールが、入力プロセス制御データを受信する入力と、出力プロセス制御データを送信する出力と、を有する、前記コントローラと、を備え、
前記制御モジュールの前記入力を第1信号オブジェクトに関連付けてプロセス制御データを受信し、前記第1信号オブジェクトは前記コントローラにより前記プロセス制御システムにデータオブジェクトとして実装され、前記第1信号オブジェクトはデータソースを指定するパスと前記データソースから得たデータを供給する変数とを有し、
前記第1信号オブジェクトには、前記複数のプロセス制御デバイスの1つのプロセス制
御デバイスの出力を指定する第1パスが前記第1信号オブジェクトのパスとして割り当てられ、
前記第1信号オブジェクトは、出力データを前記プロセス制御デバイスから1種類以上のプロトコルを介して受信し、前記プロセス制御データを、受信した前記出力データから抽出し、前記プロセス制御データを前記制御モジュールに、受信した前記出力データの前記1種類以上のプロトコルとは関係なく標準的なフォーマットで供給し、
前記制御モジュールは、前記プロセス制御デバイスに関連付けられる前記プロセス制御データを前記第1信号オブジェクトの前記変数から受信する、プロセス制御システム。
【請求項17】
前記第1信号オブジェクトから受信される前記プロセス制御データは、前記プロセスプラントの
I/O構造とは無関係である、請求項16に記載のプロセス制御システム。
【請求項18】
前記制御モジュールの前記出力は、第2信号オブジェクトに関連付けられ;
前記第2信号オブジェクトには、前記複数のプロセス制御デバイスの第2プロセス制御デバイスの入力を指定する第2パスが割り当てられ;
前記制御モジュールはプロセス制御データを前記第2プロセス制御デバイスに前記第2信号オブジェクトを介して、前記第2プロセス制御デバイスに関連付けられる
I/O構造とは関係なく送信する、請求項
16に記載のプロセス制御システム。
【請求項19】
前記第1パスは前記第1信号オブジェクトに、前記制御モジュールの実行中に前記コントローラにより割り当てられて、前記プロセスプラントを運転する、請求項16乃至請求項18のいずれか1項に記載のプロセス制御システム。
【請求項20】
プロセスプラントを運転するコンピュータ実行方法であって:
複数のフィールドデバイスに通信可能に接続されるコントローラのプロセッサで、制御モジュールの指示を受信して前記プロセスプラントを運転し;
前記コントローラ内の汎用シャドウブロックを前記制御モジュールに関連付け、前記汎用シャドウブロックは前記制御モジュールと標準的な通信フォーマットで通信し;
前記コントローラで、前記コントローラに通信可能に接続されるフィールドデバイスに関する記述データを受信し、前記記述データは、前記フィールドデバイスの機能ブロックの種類を記述し;
前記汎用シャドウブロックを構成して、前記コントローラ内で、前記フィールドデバイスの前記機能ブロックの動作を、受信した前記記述データに基づいて写像し、前記汎用シャドウブロックを構成することは、前記フィールドデバイスの機能ブロックの種類に従って動作するように前記汎用シャドウブロックを構成することを含む、コンピュータ実行方法。
【請求項21】
前記汎用シャドウブロックを前記制御モジュールに関連付ける際に、前記制御モジュールの入力または出力の参照を指定して前記汎用シャドウブロックを特定する、請求項20に記載のコンピュータ実行方法。
【請求項22】
前記参照で、前記フィールドデバイスに達するパスを指定する、請求項21に記載のコンピュータ実行方法。
【請求項23】
更に、前記制御モジュールの別の入力または出力の第2参照を指定して定数値を特定する、請求項20乃至請求項22のいずれか1項に記載のコンピュータ実行方法。
【請求項24】
更に:
前記コントローラ内の更に別の汎用シャドウブロックを前記制御モジュールに関連付け;
前記コントローラで、前記コントローラに通信可能に接続される更に別のフィールドデバイスに関する更に別の記述データを受信し、前記更に別の記述データは、前記更に別のフィールドデバイスの機能ブロックを記述し、前記更に別の汎用シャドウブロックは、構成前の前記シャドウブロックと同一であり;
前記更に別の汎用シャドウブロックを構成して前記コントローラ内で、前記更に別のフィールドデバイスの前記機能ブロックの動作を、受信した前記更に別の記述データに基づいて写像する、請求項20乃至請求項23のいずれか1項に記載のコンピュータ実行方法。
【請求項25】
前記更に別のフィールドデバイスは、前記フィールドデバイスとは異なる通信プロトコルを使用する、請求項24に記載のコンピュータ実行方法。
【請求項26】
前記記述データは、前記フィールドデバイスをテキスト形式の標準記述言語で記述するデータを含む、請求項20乃至請求項25のいずれか1項に記載のコンピュータ実行方法。
【請求項27】
前記フィールドデバイスに関する前記記述データを受信する際に;
前記記述データに関するリクエストを前記フィールドデバイスに送信し;
前記記述データを前記フィールドデバイスから受信する、請求項20乃至請求項26のいずれか1項に記載のコンピュータ実行方法。
【請求項28】
更に:
前記制御モジュールを実行すると、前記汎用シャドウブロックが構成されたかどうかを判断し;
前記汎用シャドウブロックが構成されていない場合、前記フィールドデバイスの指示を受信し;
前記フィールドデバイスに関する前記記述データの受信は、前記フィールドデバイスの前記受信指示に基づいて行われる、請求項20乃至請求項27のいずれか1項に記載のコンピュータ実行方法。
【請求項29】
前記記述データは、前記フィールドデバイスに関連付けられる
I/O構造に関する情報を含む、請求項20乃至請求項28のいずれか1項に記載のコンピュータ実行方法。
【請求項30】
更に:
構成後の前記シャドウブロックで、プロセス制御データを前記フィールドデバイスから受信し;
構成後の前記シャドウブロックで、受信した前記プロセス制御データを、前記制御モジュールが使用する標準的なフォーマットに変換し、前記標準的なフォーマットは、前記記述データに基づく前記汎用シャドウブロックの構成とは無関係であり;
前記制御モジュールに、変換後の前記プロセス制御データを前記制御モジュールの入力に供給する、請求項20乃至請求項29のいずれか1項に記載のコンピュータ実行方法。
【請求項31】
更に:
構成後の前記シャドウブロックで、プロセス制御データを前記制御モジュールの出力から受信し、前記プロセス制御データは、前記フィールドデバイス、及び前記プロセスプラントのI/O構造とは無関係な標準的なフォーマットで出力され;
構成後の前記シャドウブロックで、前記プロセス制御データを前記標準的なフォーマットから、前記フィールドデバイスが使用する第2フォーマットに変換し;
前記フィールドデバイスに、変換後の前記プロセス制御データを送信する、請求項20乃至請求項
28のいずれか1項に記載のコンピュータ実行方法。
【請求項32】
プロセスプラントを運転するプロセス制御システムであって:
前記プロセスプラント内に配置される複数のフィールドデバイスと;
前記複数のフィールドデバイスに通信可能に接続され、かつ前記プロセスプラントを運転する少なくとも1つの制御モジュールを有するコントローラと、を備え、前記コントローラは更に、コンピュータ可読命令を含み、前記コンピュータ可読命令により、前記コントローラは:
前記コントローラ内の
汎用シャドウブロックを前記制御モジュールに関連付けるようになり、前記汎用シャドウブロックは前記制御モジュールと標準的な通信フォーマットで通信を行い;
前記複数のフィールドデバイスの1つのフィールドデバイスに関する記述データを受信するようになり、前記記述データは、前記フィールドデバイスの機能ブロックの種類を記述し;
前記汎用シャドウブロックを構成して前記コントローラ内で、前記フィールドデバイスの前記機能ブロックの動作を、受信した前記記述データに基づいて写像するようになり、前記汎用シャドウブロックを構成することは、前記フィールドデバイスの機能ブロックの種類に従って動作するように前記汎用シャドウブロックを構成することを含む、プロセス制御システム。
【請求項33】
前記汎用シャドウブロックを前記制御モジュールに関連付ける際に、前記制御モジュールの入力または出力の参照を指定して前記汎用シャドウブロックを特定する、請求項32に記載のプロセス制御システム。
【請求項34】
前記参照で、前記フィールドデバイスに達するパスを指定する、請求項33に記載のプロセス制御システム。
【請求項35】
前記コンピュータ可読命令により更に、前記コントローラは
前記コントローラ内の更に別の汎用シャドウブロックを前記制御モジュールに関連付けるようになり;
前記複数のフィールドデバイスのうち更に別のフィールドデバイスに関する更に別の記述データを受信するようになり、前記更に別の記述データは、前記更に別のフィールドデバイスの機能ブロックを記述し、前記更に別の汎用シャドウブロックは、構成前の前記シャドウブロックと同一であり;
前記更に別の汎用シャドウブロックを構成して前記コントローラ内で、前記更に別のフィールドデバイスの前記機能ブロックの動作を、受信した前記更に別の記述データに基づいて写像するようになる、請求項32乃至請求項34のいずれか1項に記載のプロセス制御システム。
【請求項36】
前記更に別のフィールドデバイスの前記機能ブロックは、前記フィールドデバイスの前記機能ブロックとは種類が異なる、請求項35に記載のプロセス制御システム。
【請求項37】
前記更に別のフィールドデバイスは、前記フィールドデバイスとは種類が異なる、請求項36に記載のプロセス制御システム。
【請求項38】
前記コンピュータ可読命令により更に、前記コントローラは:
前記制御モジュールを実行すると、前記汎用シャドウブロックが構成されたかどうかを判断するようになり;
前記汎用シャドウブロックが構成されていない場合、前記フィールドデバイスの指示を受信するようになり、
前記フィールドデバイスに関する前記記述データは前記フィールドデバイスの前記受信指示に基づいて受信される、請求項32乃至請求項37のいずれか1項に記載のプロセス制御システム。
【請求項39】
前記フィールドデバイスの前記指示は、プロセスプラントオペレータにより選択される、請求項38に記載のプロセス制御システム。
【請求項40】
前記フィールドデバイスの前記指示は、前記プロセスプラントに関する情報を格納するデータベースから受信される、請求項38に記載のプロセス制御システム。
【請求項41】
前記記述データは、前記フィールドデバイスに関連付けられる
I/O構造に関する情報を含む、請求項32乃至請求項40のいずれか1項に記載のプロセス制御システム。
【請求項42】
前記コンピュータ可読命令により更に、前記コントローラは:
構成後の前記シャドウブロックで、プロセス制御データを前記フィールドデバイスから受信するようになり;
構成後の前記シャドウブロックで、受信した前記プロセス制御データを、前記制御モジュールが使用する標準的なフォーマットに変換するようになり、前記標準的なフォーマットは、前記記述データに基づく前記汎用シャドウブロックの構成とは無関係であり;
変換後の前記プロセス制御データを前記制御モジュールの入力に供給するようになる、請求項32乃至請求項41のいずれか1項に記載のプロセス制御システム。
【請求項43】
前記制御モジュールは、前記フィールドデバイスの種類、及び前記プロセスプラントの
I/O構造とは無関係な制御モジュールクラスのインスタンスである、請求項32乃至請求項
40のいずれか1項に記載のプロセス制御システム。
【請求項44】
前記制御モジュールは、前記汎用シャドウブロックからの1つ以上の入力を無視するオプションを含む、請求項32乃至請求項43のいずれか1項に記載のプロセス制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は概ねプロセスプラント及びプロセス制御システムに関し、特に構造とは無関係なプロセス制御システムに関するものである。
【背景技術】
【0002】
化学、石油、または他のプロセスで使用される、分散型プロセス制御システムは、一般的に、1つ以上のフィールドデバイスにアナログバス、デジタルバス、または複合アナログ/デジタルバスを介して、または無線通信リンクもしくは無線通信ネットワークを介して通信可能に接続される1つ以上のプロセスコントローラを含む。フィールドデバイス、例えば、バルブ、バルブポジショナ、スイッチ、及びトランスミッタ(例えば、温度、圧力、レベル及び流量センサ)は、プロセス環境の内部に位置し、一般的に例えばバルブを開閉したり、あるいは、測定プロセスパラメータなどの物理的またはプロセス制御機能を行って、プロセスプラントまたはシステム内で実行する1つ以上のプロセスを制御する。公知のFieldbusプロトコルに準拠するフィールドデバイスのようなスマートフィールドデバイスも、制御計算アラーム機能、及び一般的にコントローラ内で共通に実行される他の制御機能を実行することもできる。プロセスコントローラは、一般的にプラント環境内に位置してもいるが、センサまたはフィールドデバイス及び/またはフィールドデバイスに関連する他の情報によって行われたプロセス測定を表す信号を受信し、例えばプロセス制御決定を下す異なる制御モジュールを実行するコントローラアプリケーションを実行し、制御信号を受信した情報にもとづいて生成し、HART(登録商標)、無線HART(登録商標)、及びFOUNDATION(登録商標)フィールドバスフィールドデバイスなどのようなフィールドデバイスで実行中の制御モジュールまたはブロックと調和させる。コントローラ内の制御モジュールは、通信ラインまたはリンクを介してフィールドデバイスに制御信号を送信することによって、プロセスプラントまたはシステムの少なくとも一部の操作を制御する。
【0003】
フィールドデバイスとコントローラからの情報は、通常、データハイウェイを介して1つ以上の他のハードウェア装置、例えば、一般的に、より過酷なプラント環境から離隔した制御室または他の位置に載置されるオペレータワークステーション、パーソナルコンピュータ、または演算装置、データヒストリアン、レポートジェネレータ、中央データベース、または他の集中管理演算装置上で利用できるようになる。これらのハードウェア装置は、それぞれ、一般的に、プロセスプラントまたはプロセスプラントの一部にわたって集中化されている。これらのハードウェア装置は、例えば、オペレータがプロセスの制御及び/またはプロセスプラントの操作に対する機能、例えば、プロセス制御ルーチンの設定を変更すること、コントローラまたはフィールドデバイス内の制御モジュールの操作を変更すること、プロセスの現在の状態を表示すること、フィールドデバイスやコントローラが生成したアラームを表示すること、人材育成またはプロセス制御ソフトウェアのテストを目的とするプロセスの操作をシミュレートすること、構成データベースなどを維持し、更新することなどを実行できるようにするアプリケーションを実行する。ハードウェア装置、コントローラ、及びフィールドデバイスが利用するデータハイウェイは、有線通信パス、無線通信パス、または有線及び無線複合通信パスを含んでいてもよい。
【0004】
1例として、Emerson Process Managementが販売するDeltaV(商標)制御システムは、プロセスプラント内の様々な場所に位置する異なるデバイス内に保存され、それによって実行される複数のアプリケーションを含む。これらのアプリケーションの各アプリケーションは、ユーザインターフェース(UI)となってユーザ(例えば、構成エンジニア、プロセスプラントオペレータ、保守技術者など)が、プロセスプラント運転及びプロセスプラント構成の局面を目視で確認することができる、及び/又は変更することができるようになっている。本明細書全体を通じて、“user interface(ユーザインターフェース)”または“UI”というフレーズは、ユーザがプロセスプラントの構成、運転、または状態を目視で確認することができる、または変更することができるようなアプリケーションまたは画面を指すために使用される。同様に、“user interface device(ユーザインターフェースデバイス)”または“UI device(UIデバイス)”というフレーズは、ユーザインターフェースがデバイス上で、当該デバイスが固定されている(例えば、ワークステーション、壁取付ディスプレイ、プロセス制御デバイスディスプレイなど)か、または携行できる(例えば、ラップトップコンピュータ、タブレットコンピュータ、スマートフォンなど)かどうかに関係なく動作する当該デバイスを指すために使用される。1つ以上のオペレータワークステーション内またはコンピューティングデバイス内に常駐する構成アプリケーションによりユーザは、プロセス制御モジュールを生成する、または変更することができ、これらのプロセス制御モジュールを、データハイウェイを介して専用分散コントローラにダウンロードすることができる。通常、これらの制御モジュールは、通信可能に相互接続される機能ブロック群により構成される。構成アプリケーションにより更に、構成設計者はオペレータインターフェースを生成するか、または変更することができ、このオペレータインターフェースをビューイングアプリケーションが使用してデータをオペレータに対して表示することによりオペレータがプロセス制御ルーチン内のセットポイントのような設定を変更することができる。各専用コントローラ、及び幾つかの場合の1つ以上のフィールドデバイスは、それぞれのコントローラアプリケーションを格納して実行し、コントローラアプリケーションは、当該コントローラアプリケーションに割り当てられ、かつダウンロードされる制御モジュールを実行して、実際のプロセス制御機能を実行する。1つ以上のオペレータワークステーション上で(または、オペレータワークステーション及びデータハイウェイに通信可能に接続される1つ以上のリモートコンピューティングデバイス上で)実行することができるビューイングアプリケーションは、データを、コントローラアプリケーションからデータハイウェイを介して受信し、このデータをプロセス制御システム設計者、オペレータ、またはユーザに対してUIを使用して表示し、オペレータビュー、エンジニアビュー、テクニシャンビューなどのような複数の異なるビューのいずれかのビューを供給することができる。データヒストリアンアプリケーションが通常、データハイウェイを経由して供給されるデータの所定部分または全部を収集して格納するデータヒストリアンデバイスに格納されてデータヒストリアンデバイスにより実行されるのに対し、構成データベースアプリケーションは、データハイウェイに接続される更に別のコンピュータ内で実行されて、現在のプロセス制御ルーチン構成及び当該プロセス制御ルーチン構成に関連付けられるデータを格納することができる。代わりに、構成データベースは、構成アプリケーションと同じワークステーション内に格納することができる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
既存のプロセス制御システムでは、プロセスプラントを制御する際に、フィールドデバイスと通信してプロセス制御データを送受信するプロセス制御ロジックを実行する1つ以上の制御モジュールを動作させる。フィールドデバイスは、様々な演算及び通信プロトコルのうちの任意の演算及び通信プロトコルを使用することができるので、制御モジュールは、プロセス制御データを、適切なプロトコルを使用してデバイス毎に受け入れて供給するように構成される必要がある。更に、制御モジュールとフィールドデバイスとの間の通信リンクは、別のレイヤの通信プロトコルまたはフォーマットを追加して、プロセス制御データを適正に送受信することができる。従って、プロセス制御システムは通常、非常に多くの制御モジュールを含み、これらの制御モジュールは、同じロジック演算または同様のロジック演算を実行するが、これらの制御モジュールがフィールドデバイスから受信する、またはフィールドデバイスに供給するデータの種類が異なっている。更に、プロセス制御ネットワークを変更する(フィールドデバイスを置き換えること、またはネットワークの通信インフラストラクチャに変更を加えることを含む)ためには、複数の制御モジュールに変更を加える必要がある場合が多い。本明細書において記載される本発明は、これらの問題を解決する。
【課題を解決するための手段】
【0006】
本明細書において開示されるのは、制御対象のプロセスプラントの通信構造とは無関係なプロセス制御システムを形成して動作させるシステム及び方法である。記載されるシステム及び方法の様々な態様は、プロセス制御ロジック演算をプロセスプラントのプロセス制御ネットワーク内の通信動作から完全に、または部分的に分離する中間コンポーネントを使用する。この分離は、信号オブジェクトまたはシャドウブロックを使用して行なわれて、通信がプロセス制御ロジックを実行する制御モジュールと制御調整をプロセスプラントに対して実行するフィールドデバイスとの間で行なわれるようになる。信号オブジェクト及びシャドウブロックは共に、制御モジュールがフィールドデバイスと、プロセス制御ネットワークのI/O構造を介して直接通信を行なうことがないように制御モジュールを分離し、信号オブジェクト及びシャドウブロックは共に、制御モジュールとフィールドデバイスとの間で送受信されるプロセス制御データのプロトコル変換を処理することができる。本明細書において開示されるシステム及び方法の幾つかの実施形態が、信号オブジェクト及びシャドウブロックの両方を利用するのに対し、他の実施形態は、信号オブジェクトのみを、またはシャドウブロックのみを利用する。
【0007】
本明細書において記載される本発明の1つの態様によれば、プロセスプラントを運転する方法が開示され、当該方法では:制御プロセスに関連付けられる制御モジュールを選択し、信号オブジェクトを制御モジュールの入力または出力に関連付け、パスを信号オブジェクトに割り当てる。制御モジュールは、プロセス制御データを受信する、処理する、生成することにより、プロセスプラントを制御することができる。本明細書において記載される本発明の別の態様によれば、プロセスプラントを運転するシステムが開示され、当該システムは:プロセスプラント内に配置される複数のプロセス制御デバイスと、複数のフィールドデバイスに通信可能に接続されるコントローラであって、該コントローラが、少なくとも1つの制御モジュールを有し、該制御モジュールが、入力プロセス制御データを受信する入力と、出力プロセス制御データを送信する出力と、を有する、前記コントローラと、を備える。制御モジュールの入力を信号オブジェクトに関連付けてプロセス制御データを受信することができ、信号オブジェクトには、複数のプロセス制御デバイスの1つのプロセス制御デバイスの出力を指定するパスが割り当てられる。従って、制御モジュールは、プロセス制御デバイスに関連付けられるプロセス制御データを信号オブジェクトから受信することができる。このようなシステム及び方法の他の特徴またはコンポーネントは、以下に説明される特徴またはコンポーネントのように、様々な実施形態に含めるようにしてもよい。
【0008】
信号オブジェクトに割り当てられるパスで、プロセスプラントのプロセス制御デバイスの入力または出力を指定することができ、プロセス制御デバイスはフィールドデバイスとすることができる。幾つかの実施形態では、パスで、定数データ値を指定するか、またはデータベースのような他のデータソースを指定することができる。信号オブジェクトが制御モジュールをプロセス制御デバイスから分離するので、フィールドデバイスが受信する、または生成するプロセス制御データは、プロセスプラントのI/O構造とは無関係とすることができる。このため、信号オブジェクトは、出力データをプロセス制御デバイスまたは制御モジュールから受信することができ、プロセス制御データを出力データから抽出することができ、プロセス制御データを制御モジュールまたはプロセス制御デバイスに、受信した出力データとは異なるフォーマットを使用して供給することができる。詳細には、信号オブジェクトがプロセス制御データを制御モジュールまたはユーザインターフェースに供給する場合、信号オブジェクトは、出力データを標準的なフォーマットに変換することができる。従って、プロセス制御データは、任意の制御モジュールが直接使用することができ、プロセスプラントのI/O構造のフォーマット、プロトコル、または他の付帯情報を考慮しなくても済む。
【0009】
幾つかの実施形態では、更に別の信号オブジェクトを制御モジュールに関連付けることができる。例えば、第2信号オブジェクトを制御モジュールの出力に関連付けて、制御モジュールの出力から送信されるプロセス制御データを受信することができる。第2信号オブジェクトには、プロセスプラントのプロセス制御デバイスの入力を指定するパスを割り当てることができ、当該プロセス制御デバイスは、同じプロセス制御デバイスまたは別のプロセス制御デバイスとすることができる。パスを第2信号オブジェクトにこのように割り当てることにより、第2信号オブジェクトがプロセス制御データをプロセス制御デバイスに供給するようになる。信号オブジェクトが、制御モジュールとプロセス制御デバイスとの間の通信を処理するので、制御モジュールは、プロセス制御データを、信号オブジェクトを介してプロセス制御デバイスに、プロセス制御デバイスに関連付けられるI/O構造とは関係なく間接的に送信することができる。別の実施形態では、第2制御モジュールの入力を第2信号オブジェクトに関連付けて、プロセス制御データを第2信号オブジェクトから受信することができる。このように、第2制御モジュールの入力で、プロセス制御データを制御モジュールの出力から第2信号オブジェクトを介して受信することができる。更に別の実施形態では、制御モジュールの複数の入力または出力を同じ信号オブジェクトに関連付けて、各制御モジュールが、プロセス制御データを同じプロセス制御デバイスから信号オブジェクトを介して受信するか、またはプロセス制御データを同じプロセス制御デバイスに信号オブジェクトを介して供給するようにする。更に別の制御モジュールまたは信号オブジェクトを同じように、様々な構成で付加して接続することができる。
【0010】
制御モジュールは、幾つかの実施形態では、オブジェクト指向プログラミング言語で記述されるクラスのインスタンスとして実行されるようにしてもよい。従って、制御モジュールクラスの複数のインスタンスは、制御モジュールが更新されると自動的に更新することができる。複数の制御モジュールまたは制御モジュールクラスは、ライブラリに格納することができ、当該ライブラリからこれらの制御モジュールまたは制御モジュールクラスを選択してプロセス制御システム内で使用することができる。信号オブジェクトまたは信号オブジェクトクラスは同様にして、ライブラリに格納することができる。別の実施形態では、ライブラリは、複数の制御方式を格納することができる。各制御方式に、1つ以上の制御モジュールを取り込むことができ、制御方式内の各制御モジュールに、1つ以上の信号オブジェクトを関連付けることができる。このように、制御方式を選択することにより、信号オブジェクトを関連付けた状態の1つ以上の制御モジュールをプロセス制御システムに取り込むことができる。制御方式の制御モジュールに関連付けられる信号オブジェクトは、割り当てパスを含むことができる、または含まないようにしてもよい。
【0011】
幾つかの実施形態では、1つ以上の信号オブジェクトをいずれの制御モジュールにも関連付けないようにしてもよい。このような未関連付けの信号オブジェクトは、ユーザインターフェースと通信して、プロセス制御データをユーザインターフェースに供給することができる、またはプロセス制御データをユーザインターフェースから、制御モジュールを使用することなく受信することができる。例えば、信号オブジェクトに、プロセス制御デバイスの出力を指定するパスを割り当てることにより、プロセス制御データをプロセス制御デバイスから受信することができる。このような信号オブジェクトをユーザインターフェースに直接関連付けることにより、プロセス制御データをプロセス制御デバイスからユーザインターフェースに、制御モジュールを全く使用することなく供給することができる。従って、ユーザインターフェースにより、プロセス制御データをプロセスプラントオペレータに、または他のユーザに提示することができる。信号オブジェクトは、スケーリング、アラーム、またはビット取り出し操作をプロセス制御データに対して行なうことができる。スケーリングを行なう際に、プロセス制御データのスケールに関する情報を供給することができる、またはプロセス制御データを好適なスケールに変換することができる。アラームを行なう際に、プロセス制御データがアラーム基準を満たすと、アラームをアラーム基準に基づいて発信することにより、ユーザインターフェースがアラームをユーザに提示するようになる。アラーム基準は、ユーザが予め決定するか、または設定することができる。ビット取り出し操作を行なう際に、1以上の特定ビットを、1つ以上のプロセス制御デバイスが生成する1つ以上の出力データストリームから選択することができる。
【0012】
幾つかの実施形態では、プロセス制御システムの動作をテストすることができる。プロセス制御システムをテストする際に、テストデータに関連付けられるテストパスを1つ以上の信号オブジェクトに割り当て、1つ以上の制御モジュールを、テストデータを使用して実行することにより、プロセス制御システム内の制御モジュールの動作を模擬することができる。テストデータは、プロセスプラント内の運転状態を表わす1つ以上のテストデータ集合を含むことができ、プロセスプラントのI/O構造とは無関係とすることができる。1つ以上の制御モジュールの動作をテストする際に、出力プロセス制御データをモジュールからテストデータ集合毎に受信し、受信した出力プロセス制御データを記録し、制御モジュールが正しく機能していることを、記録した出力プロセス制御データを使用して確認することができる。テストでは更に、記録した出力プロセス制御データを使用して、制御モジュールが所定の品質パラメータ内で機能していないと判断し、制御モジュールまたは1つ以上の信号オブジェクトの1種類以上のパラメータを調整することができる。このような調整の後、1つ以上の制御モジュールを再度、テストデータを使用してテストすることができる。テストが終了すると、プロセスプラントのI/O構造の少なくとも一部を表わす情報を受信して使用することにより、パスを1つ以上の信号オブジェクトに割り当てることができる。幾つかの実施形態では、構成後の1つ以上の制御モジュール、及び関連付け後の信号オブジェクトは、メモリに第1コンピュータにより格納することができ、メモリから第2コンピュータにより取り出して、プロセス制御システムを実行することにより、パスを信号オブジェクトに割り当てることができる。別の実施形態では、パスを1つ以上の信号オブジェクトに、関連付け後の制御モジュールの実行中の実行時間に割り当ててプロセスプラントを運転することができる。
【0013】
本明細書において記載される本発明の別の態様によれば、プロセスプラントを運転する方法が開示され、当該方法では:プロセスプラントを運転する制御モジュールの指示を、複数のフィールドデバイスに通信可能に接続されるコントローラで受信し、コントローラ内の汎用シャドウブロックを制御モジュールに関連付け、コントローラに通信可能に接続されるフィールドデバイスに関する記述データを受信し、汎用シャドウブロックを構成してコントローラ内で、フィールドデバイスの機能ブロックの動作を、受信した記述データに基づいて写像する。記述データはフィールドデバイスの機能を記述し、フィールドデバイス内で動作する機能ブロックの記述を含むことができる。幾つかの実施形態では、記述データは、フィールドデバイスをテキスト形式の標準記述言語で記述するデータを含むことができる。記述データは更に、フィールドデバイスに関連付けられるI/O構造に関する情報を含むことができる。幾つかの実施形態では、記述データの一部または全部は、記述データに関するリクエストをフィールドデバイスに送信して、記述データをフィールドデバイスから受信することにより受信することができる。その代わりに、記述データの一部または全部を、プロセスプラントに関する情報を格納するデータベースから受信するようにしてもよい。
【0014】
汎用シャドウブロックを制御モジュールに関連付ける際に、制御モジュールの入力または出力のいずれかの参照を指定して汎用シャドウブロックを特定することができる。このような参照で、フィールドデバイスに達するパスを指定するようにしてもよい。制御モジュールの入力または出力の参照を同様に指定して、定数値を特定することができる。幾つかの実施形態では、コントローラ内の1つ以上の更に別の汎用シャドウブロックを制御モジュールの入力または出力に関連付け、更に別の記述データを受信し、1つ以上の更に別の汎用シャドウブロックを構成することができる。更に別の記述データは、コントローラに通信可能に接続される1つ以上の更に別のフィールドデバイスに関する情報を含むことができ、当該情報は、このような更に別のフィールドデバイスの機能ブロックの記述を含むことができる。1つ以上の更に別の汎用シャドウブロックは、構成前の汎用シャドウブロックと同一とすることができるので、更に別の記述データを使用した構成により、汎用シャドウブロックが、詳細に構成されるようになってコントローラ内で、1つ以上の更に別のフィールドデバイスの機能ブロックの動作を写像することができる。このように、汎用シャドウブロックは、フィールドデバイスにも使用することができる、または種類が異なる、または異なる通信プロトコルを使用するフィールドデバイス内の機能ブロックにも使用することができる。
【0015】
制御モジュールを実行すると、コントローラは、汎用シャドウブロックが構成されたかどうかを判断することができる。汎用シャドウブロックが構成されていない場合、コントローラは汎用シャドウブロックを、フィールドデバイスの指示を受信し、フィールドデバイスに関する記述データを、フィールドデバイスの受信指示に基づいて受信し、汎用シャドウブロックを、受信した記述データを使用して構成することにより構成することができる。幾つかの実施形態では、フィールドデバイスの指示は、プロセスプラントオペレータにより選択することができる。フィールドデバイスの指示は同じようにして、プロセスプラントに関する情報を格納するデータベースから受信されるようにしてもよい。
【0016】
別の実施形態では、構成後のシャドウブロックは、プロセス制御データを受信して変換することにより通信を制御モジュールとフィールドデバイスとの間で行なうことができる。構成後のシャドウブロックは、プロセス制御データをフィールドデバイスから受信し、受信したプロセス制御データを、汎用シャドウブロックの構成とは無関係な標準的なフォーマットに記述データを使用して変換し、変換後のプロセス制御データを標準的なフォーマットで制御モジュールの入力に供給することができる。構成後のシャドウブロックは同様に、プロセス制御データを制御モジュールの出力から、プロセスプラントのフィールドデバイス及びI/O構造とは無関係な標準的なフォーマットで受信し、プロセス制御データを標準的なフォーマットから、フィールドデバイスが使用する第2フォーマットに変換し、変換後のプロセス制御データをフィールドデバイスに送信することができる。
【0017】
幾つかの実施形態では、制御モジュールは、フィールドデバイスの種類、及びプロセスプラントのI/O構造とは無関係な制御モジュールクラスのインスタントとすることができる。汎用シャドウブロックは同様に、汎用シャドウブロッククラスのインスタンスとすることができる。1つ以上の汎用シャドウブロックは、制御モジュールに制御モジュールクラスに基づいて関連付けることができる。各制御モジュールクラスがより多くのプロセスプラントの構成またはプロセスプラントの運転を担当することができるために、制御モジュールは、汎用シャドウブロックからの1つ以上の入力、または汎用シャドウブロックへの1つ以上の出力を無視するオプションを含むことができる。更に、制御モジュールまたは所定の形態の制御モジュールをプロセスプラントオペレータに、またはプロセス制御システムの他のユーザに、標準的なフォーマットを使用して、制御モジュールクラスに基づいて提示することができる。例えば、プロセスプラントを運転するように構成されるユーザインターフェースをコントローラで、またはユーザデバイスで生成することができ、当該ユーザインターフェースは、制御モジュールの表示を含むことができる。ユーザインターフェースは、プロセスプラントに関する情報であって、同じクラスの制御モジュールの1つ以上の表示を含む情報をプロセスプラントオペレータに、または他のユーザに提示することができるので、同じクラスの全ての制御モジュールが同じ標準的なフォーマットで表示されるようになる。
【図面の簡単な説明】
【0018】
【
図1A】
図1A~Bは、プロセス制御システムまたはプロセスプラント内で動作する例示的なプロセス制御ネットワークのブロック図である。
【0019】
【
図2】
図2は、本明細書の記載によるプロセス制御ネットワークのプロセス制御システムの例示的な通信構造を示すブロック図である。
【0020】
【
図3】
図3は、本明細書の記載によるプロセス制御ネットワークのプロセス制御システムの例示的な通信構造を詳細に示すブロック図である。
【0021】
【
図4】
図4は、本明細書の記載によるプロセス制御ネットワークの例示的なプロセス制御システム内の例示的な制御モジュールを詳細に示すブロック図である。
【0022】
【
図5】
図5は、本明細書の記載によるプロセス制御ネットワークのプロセス制御システムを構成する例示的な方法を表わすフローチャートである。
【0023】
【
図6】
図6は、本明細書の記載によるプロセス制御ネットワーク内の汎用シャドウブロックを使用する制御モジュールの例示的な構成を示すブロック図である。
【0024】
【
図7】
図7は、本明細書の記載によるシャドウブロックを、プロセス制御ネットワーク内の汎用シャドウブロックを用いてインスタンス化する例示的な方法を表わすフローチャートである。
【発明を実施するための形態】
【0025】
プロセス制御システムは、プロセスプラントを監視して運転する広範囲の産業用途に使用される。このようなプロセス制御システムは、制御ロジックブロック、ループ、ルーチン、または機能を実行する制御モジュールを利用するように構成することができる。制御モジュールは、入力プロセス制御データを(例えば、プロセスプラント内の測定デバイスから)受信して出力プロセス制御データ(例えば、バルブ、ポンプなどを動作させる制御コマンド)を生成する。制御モジュールは多くの場合、入力プロセス制御データを生成する、または出力プロセス制御データを受信するフィールドデバイスから遠く離れたコントローラ内で実行される。このようなフィールドデバイスと通信するために、制御モジュールにより、プロセス制御データが、プロセスプラントの様々な通信リンクを介して送信される、または受信されるようになり、これらの通信リンクがプロセスプラントのI/O構造を構成する。本明細書において使用されるように、“I/O architecture(I/O構造)”とは、複数の様々な種類の通信リンク、通信リレーまたは通信スイッチ、通信プロトコル、通信フォーマット、様々な種類のデバイス、デバイス仕様、デバイスプロトコル、及びデバイス操作フォーマットまたは通信フォーマットを含むことができるプロセスプラントの全部または一部の物理的通信インフラストラクチャを指している。
【0026】
I/O構造を介したプロセス制御データまたは他のデータの送受信を管理するために、本明細書において説明される本発明の様々な実施形態は、シャドウブロックまたは信号オブジェクトを利用することができる。シャドウブロックまたは信号オブジェクトは、制御モジュールとフィールドデバイスとの間の通信の方式を管理することにより、制御モジュールをI/O構造から様々な程度に分離する。シャドウブロックは、制御モジュールを実行するコントローラ内または他のデバイス内のフィールドデバイス(または、フィールドデバイス内の機能ブロック)の動作を写像することにより、制御モジュールが、これらの制御モジュールがあたかも実際のフィールドデバイスであるかのようにシャドウブロックとインタラクションを行なうように構成することができる。シャドウブロックは従って、プロセス制御データを、I/O構造を使用して送受信することができる。信号オブジェクトは、制御モジュールをフィールドデバイスに接続するように構成することができ、接続する際に、プロセス制御データをI/O構造に使用されるプロトコルと制御モジュールが使用する標準的なフォーマットとの間で変換することができる。信号オブジェクトをこのように使用して、制御モジュールとフィールドデバイスまたは他の制御モジュールとの間の通信を管理することができる。信号オブジェクトを使用して、プロセス制御データをユーザインターフェースに直接送信することにより、制御モジュールを迂回して簡単に提示することもできる、またはアラーム機能を果たすこともできる。
システム概要
【0027】
まず、例示的なプロセスプラントの全体構造を参照するに、
図1Aは、プロセス制御システム内、またはプロセスプラント10(または、プロセスプラントの一部)内で動作する例示的なプロセス制御ネットワーク100のブロック図である。プロセス制御ネットワーク100は、多種多様な他のデバイスの間の接続を直接的または間接的に可能にするネットワークバックボーン105を含むことができる。ネットワークバックボーン105に接続されるデバイスは、様々な実施形態では、他のプロセスプラントへの(例えば、イントラネットまたはコーポレートワイドエリアネットワークを介した)アクセスポイント72、ゲートウェイ75、外部システムへの(例えば、インターネットへの)ゲートウェイ78、UIデバイス112、サーバ150、データベース140、ビッグデータアプライアンス102(例えば、ビッグデータヒストリアンを含む)、ビッグデータエキスパートシステム104、監視エンジン106、コントローラ11、入力/出力(I/O)カード26及び28、有線フィールドデバイス15~23、有線制御デバイス24、無線ゲートウェイ35、及び無線通信ネットワーク70の組み合わせを含む。通信ネットワーク70は無線デバイス40~58を含むことができ、これらの無線デバイスは、無線フィールドデバイス40~46、無線アダプター52a及び52b、アクセスポイント55a及び55b、及びルータ58を含む。無線アダプター52a及び52bは、非無線フィールドデバイス48及び50にそれぞれ接続することができる。コントローラ11は、プロセッサ30、メモリ32、及び1種類以上の制御ルーチン38を含むことができる。
図1Aは、ネットワークバックボーン105に接続されるデバイス群のうちの幾つかのデバイスの1つのデバイスしか示していないが、これらのデバイスの各デバイスは、複数のインスタンスをネットワークバックボーン105上に有することができ、実際、プロセスプラント10は、複数のネットワークバックボーン105を含むことができることを理解できるであろう。
【0028】
UIデバイス112は、コントローラ11及び無線ゲートウェイ35にネットワークバックボーン105を介して通信可能に接続することができる。コントローラ11は、有線フィールドデバイス15~23にI/Oカード26及び28を介して通信可能に接続することができ、無線フィールドデバイス40~46及び非無線フィールドデバイス48~50にネットワークバックボーン105及び無線ゲートウェイ35を介して通信可能に接続することができる。幾つかのフィールドデバイス22及び23は、コントローラ11に制御デバイス24を介して間接的に接続することができ、制御デバイス24は、フィールドデバイス22及び23と直接通信し、かつI/Oカード28を介してコントローラ11と通信する。コントローラ11は、バッチプロセスまたは連続プロセスを、フィールドデバイス15~23及び40~50のうちの少なくとも幾つかのフィールドデバイスを使用して実行するように動作することができる。例えば、Emerson Process Managementから販売されているDeltaV(商標)コントローラとすることができるコントローラ11は、プロセス制御ネットワークバックボーン105に通信可能に接続される。コントローラ11は更に、フィールドデバイス15~23及び40~50に、例えば標準的な4~20mAのデバイス、I/Oカード26,28、及び/又はFOUNDATION(登録商標)Fieldbusプロトコル、HART(登録商標)プロトコル、Wireless HART(登録商標)プロトコルなどのような任意の高性能通信プロトコルに関連付けられる任意の所望のハードウェア及びソフトウェアを使用して通信可能に接続することができる。
図1Aに示す実施形態では、コントローラ11、フィールドデバイス15~23及び48~50、制御デバイス24、及びI/Oカード26,28は有線デバイスであり、フィールドデバイス40~46は無線フィールドデバイスである。しかしながら、文脈上別の意味を示していると判断されない限り、本明細書において言及されるフィールドデバイス15~23または40~50のうちの任意のフィールドデバイスは、有線または無線フィールドデバイスとして実現することができ、コントローラ11とフィールドデバイス15~23または40~50との間の通信接続は、有線接続または無線接続のいずれかの接続または両方の接続を含むことができる。プロセス制御が本明細書においてフィールドデバイスの観点から説明されているが、任意の種類のプロセス制御デバイスを、様々に記述される実施形態のうちの任意の実施形態において使用するようにしてもよい。
【0029】
UIデバイス112の動作状態では、UIデバイス112は、幾つかの実施形態では、ユーザインターフェース(“UI”)を実行することにより、UIデバイス112は入力を、入力インターフェースを介して受け入れることができ、出力をディスプレイに表示することができる。UIデバイス112は、データ(例えば、プロセスパラメータのようなプロセス関連データ、ログデータ、センサデータ、及び/又は捕捉してビッグデータアプライアンス102に格納することができる任意の他のデータ)をサーバ150から受信することができる。他の実施形態では、UIは、全体または一部をサーバ150で実行することができ、サーバ150は、表示データをUIデバイス112に送信することができる。UIデバイス112は、UIデータ(UIデータは、表示データ及びプロセスパラメータデータを含むことができる)を、バックボーン105を介してプロセス制御ネットワーク100内の他のノードから受信することができ、他のノードとして、例えばコントローラ11、無線ゲートウェイ35、またはサーバ150を挙げることができる。UIデバイス112で受信するUIデータに基づいて、UIデバイス112は、プロセス制御ネットワーク100に関連付けられるプロセスの様々な局面を表わす出力(すなわち、視覚表現または画像)を供給することによりユーザがプロセスを監視することができる。ユーザは更に、プロセスを、入力をUIデバイス112で行なうことにより制御することができる。これを例示すると、UIデバイス112は、例えばタンク充填プロセスを表わす画像(1つ以上のフィールドデバイスからのデータを含む)を供給することができる。このようなシナリオでは、ユーザはタンク液位測定値を読み取って、タンクを満たす必要があると判断することができる。ユーザは、UIデバイス112に表示されるインレットバルブ画像とインタラクションを行なってコマンドを入力することによりインレットバルブを開くことができる。
【0030】
別の動作状態では、UIデバイス112は、UIの他に、複数のルーチン、モジュール、またはサービスを実行することができる。1つの実施形態では、UIデバイス112は、状況認識ルーチンを実行することができ、状況認識ルーチンは、例えば位置認識、設備認識、またはスケジューリング認識に関連する様々なルーチンまたはサブルーチンを含むことができる。これらの状況ルーチンによりUIデバイス112は、UIデバイス112が動作している特定の環境または状況に適したグラフィカルユーザインターフェース構成(“GUI構成”)を画像により表示することができる。UIデバイス112は更に、状態判定ルーチンを実行することにより、UIデバイス112が、UIデバイス112(UIのような)で実行されているアプリケーションの状態を含むUIデバイス112の状態を追跡して保存することができる。UIデバイス112上のアプリケーションの状態を追跡することにより、UIデバイス112はユーザに許可して、例えば所定のセッションを第1UIデバイス112上で開始することができ、第2UIデバイス112を使用し始めることができることにより、ワークフローを当該ユーザの前のセッションから再開して中断を最小限に抑えることができる。
【0031】
UIデバイス112(または、アプリケーションまたは画面をUIデバイス112に提供するサーバ)は更に、プラント資産の管理に関連するルーチンを実行することができる。例えば、幾つかのルーチンを使用して、プロセスプラント内の資産を設置する、置き換える、保守する、校正する、診断する、または委託することができる。他のルーチンを使用して、特定の資産に関連付けられる製造指図書を作成する、または完成させることができる、及び/又はプラント人員(特定のデバイスの近傍に居る人員)に製造指図書を通知することができる。UIデバイス112は、プロセスの監視に関連するルーチンを実行することができる。例えば、幾つかのルーチンは、野外計測データを記録する、実験サンプルレポートを作成する、リアルタイム資産パラメータを表示するなどのために使用することができる。UIデバイス112は更に、プラント建設手順及びワークフローの遵守に関連するルーチンを実行することができる。例えば、幾つかのルーチンは、標準的な運転手順(SOP)、スタートアップ手順、シャットダウン手順、ロックアウト手順、作業指示書、または他の製品/資産文書に関連する情報を供給することができる。更に別のルーチンにより、UIデバイス112がネットワークに接続されると、製造指図書を直ちに容易に配信することができ、システムを直ちに容易にオフラインで利用することができ、データを容易に手入力することができる。通信ルーチンは、電子メールルーチン、テキストメッセージングルーチン、インスタントメッセージングルーチンなどを含むことにより、プラント人員及び/又は技術的サポートまたは他のサポートを行なう外部当事者の間の通信を容易にすることができる。
【0032】
UIデバイス112(または、アプリケーションまたは画面をUIデバイス112に提供するサーバ)は更に、1種類以上の監査プロセスをサポートする、及び/又は容易にするルーチンを含むことができる。監査プロセスは、例えば作業監査及び/又は政府監査を含むことができる。種々実施形態では、ルーチンによりユーザはデータを目視で確認することができる、及び/又はデータ収集、データ保守、及び/又はデータ照合に関連するレポートを作成して規制を満たすことができる。例えば、移動制御室が医薬製造プラント内に設置される場合、移動制御室により、収集されるデータの目視確認またはレポート作成が容易になって、プラントで生産される製品の安全性に関連する政府規制を満たすことができる。種々実施形態では、ルーチンによりユーザは、製造指図書の監査、メンテナンス、または他のプラントプロセスに関連するレポートを目視確認することができる、及び/又は作成することができる。
【0033】
特定の実施形態では、UIデバイス112は、シンクライアント、ウェブクライアント、またはシッククライアントのような任意の種類のクライアントを実装することができる。例えば、UIデバイス112は、UIデバイス112の動作に必要な処理の大部分を受け持つ他のノード、コンピュータ、またはサーバに依存する可能性がある。このような例では、UIデバイス112はサーバ150と通信することができ、サーバ150は、プロセス制御ネットワーク100上の1つ以上の他のノードと通信することができ、かつ表示データ及び/又はプロセス制御データを確認してUIデバイス112に送信することができる。更に、UIデバイス112は、受信したユーザ入力に関するいかなるデータもサーバ150に渡すことができるので、サーバ150は、ユーザ入力に関連するデータの処理を行ない、それに応じた動作を行なう。別の表現をすると、UIデバイス112は、画像を表示する以上の機能を有していないので、データを格納してUIデバイス112の動作に必要なルーチンを実行する1つ以上のノードまたはサーバへのポータルとして機能する。シンクライアントUIデバイスは、UIデバイス112に関するハードウェア要求を最小限に抑えられるという利点を提供する。
【0034】
他の実施形態では、UIデバイス112はウェブクライアントとすることができる。このような実施形態では、UIデバイス112のユーザは、プロセス制御システムとインタラクションを、UIデバイス112のブラウザを介して行なうことができる。ブラウザにより、ユーザは別のノードまたはサーバ150(サーバ150のような)のデータ及びリソースにバックボーン105を介してアクセスすることができる。例えば、ブラウザは、表示データまたはプロセスパラメータデータのようなUIデータを、サーバ150から受信することによりブラウザが画像を表示してプロセスの所定部分または全部を制御する、及び/又は監視することができる。ブラウザは更に、ユーザ入力(画像上のマウスクリックのような)を受信することができる。ユーザ入力によりブラウザは、サーバ150に格納されている情報リソースを取り出すか、または情報リソースにアクセスすることができる。例えば、マウスクリックによりブラウザは、クリック対象の画像に関する情報を取り出して(サーバ150から)表示することができる。更に他の実施形態では、UIデバイス112に関する処理の大部分は、UIデバイス112で行なうことができる。例えば、UIデバイス112は、前に説明したUI、状態判定ルーチン、及び状況認識ルーチンを実行することができる。UIデバイス112は更に、データをその場で格納する、データにその場でアクセスする、データをその場で分析することができる。
【0035】
動作状態では、ユーザはUIデバイス112とインタラクションを行なって、フィールドデバイス15~23またはデバイス40~50のうちの任意のデバイスのようなプロセス制御ネットワーク100内の1つ以上のデバイスを監視する、または制御することができる。ユーザはUIデバイス112とインタラクションを行なって、例えばコントローラ11に格納されている制御ルーチン38に関連付けられるパラメータを修正する、または変更することができる。コントローラ11のプロセッサ30は、制御ループを含むことができる1種類以上のプロセス制御ルーチン38(メモリ32に格納されている)を実行する、または監視することができる。プロセッサ30は、フィールドデバイス15~23及び40~50と通信することができ、バックボーン105に通信可能に接続される他のノードと通信することができる。本明細書において記載される任意の制御ルーチンまたはモジュール(品質予測及び障害検出モジュールまたは機能ブロックを含む)は、制御ルーチンまたはモジュールのうち、異なるコントローラまたは他のデバイスにより必要に応じて実施される、または実行されるルーチン部分またはモジュール部分を有することができることに留意されたい。同様に、本明細書において記載され、かつプロセスプラント10内で実施されることになる制御ルーチンまたはモジュールは、ソフトウェア、ファームウェア、ハードウェアなどを含む任意の形態を採ることができる。制御ルーチンは、任意の所望のソフトウェア形式で実行することができ、例えばオブジェクト指向プログラミング、ラダーロジック、シーケンシャルファンクションチャート、機能ブロック図を使用して、または任意の他のソフトウェアプログラミング言語または設計パラダイムを使用して実行することができる。詳細には、制御ルーチンは、ユーザがUIデバイス112を介して実行することができる。制御ルーチンは、ランダムアクセスメモリ(RAM)またはリードオンリメモリ(ROM)のような任意の所望の種類のメモリに格納することができる。同様に、制御ルーチンはハードコード化して、例えば1つ以上のEPROM,EEPROM,特定用途向け集積回路(ASIC)、または任意の他のハードウェアエレメントまたはファームウェアエレメントに格納することができる。従って、コントローラ11は、制御方式または制御ルーチンを任意の所望の態様で実行するように構成する(ユーザが特定の実施形態におけるUIデバイス112を使用することにより)ことができる。
【0036】
UIデバイス112の幾つかの実施形態では、ユーザはUIデバイス112とインタラクションを行なって制御方式をコントローラ11で、一般に機能ブロックと表記されるブロックを使用して実行することができ、各機能ブロックは、制御ルーチン全体のオブジェクトまたは他の部分(例えば、サブルーチン)であり、他の機能ブロックと連携動作して(リンクと呼ばれる通信路を介して)プロセス制御ループをプロセスプラント10内で実行する。制御系機能ブロックは通常、トランスミッタ、センサ、または他のプロセスパラメータ測定デバイスに関連付けられる機能のような入力機能;PID,ファジーロジックなどの制御を実行する制御ルーチンに関連付けられる機能のような制御機能;またはバルブのような所定のデバイスの動作を制御して所定の物理機能をプロセス制御システム内で実行する出力機能のうちの1つの機能を実行する。勿論、ハイブリッド機能ブロック及び他の種類の機能ブロックが存在する。これらの機能ブロックは、UIデバイス112において表示される画像表現を有することができるので、ユーザは機能ブロックの種類、機能ブロック間の接続、及びプロセス制御システム内で実行される機能ブロック群の各機能ブロックに関連付けられる入力/出力を容易に修正することができる。機能ブロックは、コントローラ11に格納してコントローラ11により実行することができ、これは通常、これらの機能ブロックが、標準的な4~20mAのデバイス及びHART(登録商標)デバイスのような所定の種類の高性能フィールドデバイスに使用される、または関連付けられる場合に当てはまる、または機能ブロックはフィールドデバイス自体に格納して、フィールドデバイス自体により実行することができ、これはFieldbusデバイスの場合に当てはまる。機能ブロックがフィールドデバイス自体により実行される例では、シャドウブロック36をコントローラ11が実行して、機能ブロックの動作を写像することができる。コントローラ11は、1種類以上の制御ルーチン38を含むことができ、これらの制御ルーチンは、1種類以上の制御ループを実行することができる。各制御ループは通常、制御モジュール34と表記され、機能ブロック群のうちの1つ以上の機能ブロックを実行することにより実行される。
【0037】
UIデバイス112は、幾つかの実施形態では、ビッグデータアプライアンス102及び/又はエキスパートシステム104及び/又は監視エンジン106とインタラクションを行なう。ビッグデータアプライアンス102は、全種類のプロセス制御データをプロセスプラント10から収集して格納することができ、これらのプロセス制御データとして、センサデータ、制御パラメータ、手入力データ(例えば、プロセスプラントオペレータが入力する静的データ)、人員配置及びコマンド入力、データの全部に関連付けられるタイムスタンプ、プロセスプラント10内で利用することができる任意の他の種類のデータを挙げることができる。ビッグデータアプライアンス102に通信可能に接続されるエキスパートシステム104は、特定のユーザ入力とは無関係に、または特定のユーザ入力に従って動作することにより、ビッグデータアプライアンス102に格納されているプロセスプラントデータを分析することができる。エキスパートシステム104は、モデルを開発する、及び/又は使用することができ、データトレンド及び/又はデータ相関を認識することができ、実際の問題または予測される問題、及び/又は異常な状況、及び/又はプロセスプラント10に影響を与える虞がある、またはプロセスプラント10に直ぐに影響を与えることになる準最適状態などについてプラント人員に警報を発することができる。幾つかの実施形態では、エキスパートシステム104は、これらの機能を、特定のデータ集合またはトレンドを特定の問題または状態に関連付けるために特別にプログラムすることなく実行し、その代わり、現在のトレンドまたはデータが、前の状態(前の状態は、肯定的な/望ましい状態、または否定的な/望ましくない状態とすることができる)の時刻の前に、当該時刻に、またはほぼ当該時刻に同時発生していることを認識する。トレンドまたはデータが以前に同時発生しているという認識に基づいて、エキスパートシステム104は状態を予測することができる。エキスパートシステム104は更に、ビッグデータアプライアンス102に格納されているデータに基づいて、いずれのプロセス変数、センサ読み取り値などが、プロセスプラント10内の異常状況を検出する、予測する、防止する、及び/又は解消するために最も重要であるかを判断することができる。例えば、エキスパートシステム104は、炭化水素が積層体から排出されていると判断することができる、炭化水素が排出される原因を自動的に突き止める、及び/又は炭化水素が排出される原因となる問題を解消するワーク製品を製造するようにする(例えば、監視エンジン106により)、及び/又はワーク製品を製造して設備をテストすることができる、またはネットワークを介して入手することができないパラメータを観測する/記録することができる。別の例として、エキスパートシステム104は、一連のこれまでのデータポイントで表示されるトレンドが、予測される異常状況、予測されるメンテナンス問題、予測される故障などを示唆していると判断することができる。
【0038】
以下に更に詳細に説明されるように、監視エンジン106は、ビッグデータアプライアンス102及び/又はエキスパートシステム104とインタラクションを行なって、様々な監視活動を自動的に実行する、及び/又は容易にすることができる。例えば、監視エンジン106は、エキスパートシステム104により特定されるトレンドを監視することができ、ワーク製品をプラント人員に代わって製造することができる。別の例として、監視エンジン106は、プロセスプラントリソースの校正状態を監視することができ、ワーク製品をプラント人員に代わって製造することができる。これらの機能に関連して、監視エンジン106は更に、人員証明書、設備をスケジューリングされたワーク製品の製造中に操作する許可、及びワーク製品製造のタイミングを管理することができる。監視エンジン106は、UIデバイス112とインタラクションを行なって、ワーク製品の製造を割り当てて追跡することができ、ワーク製品の完成後にワーク製品を追跡調査して、ワーク製品が製造されるまでの状態または指示(例えば、特定されるトレンド、異常状況など)が解消されていることを確認することができる。例えば、監視エンジン106は、エキスパートシステム104から、バルブが故障した状態でワーク製品が製造されていることを確認することができる。監視エンジン106は、UIデバイス112を携行している保守要員が、故障バルブの近傍に居ることを後で突き止めることができ、ワーク製品を保守要員に渡すように要求して、保守要員がUIデバイス112を介してワーク製品を受け取ることができるようにする。監視エンジン106は、保守要員が、ワーク製品を製造するための適正な一連の技術を有していることを確認することができ、必要な許可を保守要員に与えてワーク製品を製造させることができる。更に、監視エンジン106は、プロセス制御活動をスケジューリングし直して、ワーク製品を完成させることができる。監視エンジン106は、ワーク製品の製造前に、及び/又は製造中に、標準作業手順、マニュアル、及び他の文書を人員に与えることができる。これらは、監視エンジン106の数例に過ぎず、監視エンジン106については、以下に更に説明されることになる。
【0039】
図1Aを参照し続けると、無線フィールドデバイス40~46は、無線ネットワーク70内で、Wireless HART(登録商標)プロトコルのような無線プロトコルを使用して通信を行なう。特定の実施形態では、UIデバイス112は、無線フィールドデバイス40~46と、無線ネットワーク70を使用して通信することができる。このような無線フィールドデバイス40~46は、プロセス制御ネットワーク100の1つ以上の他のノードと直接通信することができ、これらの他のノードは更に、無線通信を行なう(例えば、無線プロトコルを使用して)ように構成される。無線通信を行なうようには構成されない1つ以上の他のノードと通信するために、無線フィールドデバイス40~46は、バックボーン105に接続される無線ゲートウェイ35を利用することができる。勿論、フィールドデバイス15~23及び40~46は、将来開発される任意の規格またはプロトコルを含む任意の有線プロトコルまたは無線プロトコルのような任意の他の所望の規格(群)またはプロトコルに準拠することができる。
【0040】
無線ゲートウェイ35は、無線通信ネットワーク70の様々な無線デバイス40~58へのアクセスを可能にする。詳細には、無線ゲートウェイ35は、プロセス制御ネットワーク100の無線デバイス40~58と他のノード(
図1Aのコントローラ11を含む)との間の通信接続を可能にする。無線ゲートウェイ35は、幾つかの場合では、有線及び無線プロトコルスタックの共有レイヤまたはレイヤ群をトンネリングにより透過的に伝送しながら、通信接続を有線及び無線プロトコルスタックの下位レイヤに対するルーティングサービス、バッファリングサービス、及びタイミングサービス(例えば、アドレス変換、ルーティング、パケット分割、優先付けなど)により可能にする。別の場合では、無線ゲートウェイ35は、コマンドを、プロトコルレイヤを全く共有しない有線プロトコルと無線プロトコルとの間で変換することができる。プロトコル変換及びコマンド変換の他に、無線ゲートウェイ35は、無線ネットワーク70内で実行される無線プロトコルに関連付けられるスケジューリング方式のタイムスロット及びスーパーフレーム(時間軸で等間隔に配置される通信タイムスロット集合)に使用される同期クロックを供給することができる。更に、無線ゲートウェイ35は、無線ネットワーク70のネットワーク管理機能及びネットワーク運用機能を提供することができ、例えばリソース管理、性能調整、ネットワーク障害解消、トラフィック監視、セキュリティなどを行なう。
【0041】
有線フィールドデバイス15~23と同様に、無線ネットワーク70の無線フィールドデバイス40~46は、物理制御機能をプロセスプラント10内で実行することができ、例えばバルブを開閉する、プロセスパラメータの測定値を採取することができる。しかしながら、無線フィールドデバイス40~46は、ネットワーク70の無線プロトコルを使用して通信を行なうように構成される。従って、無線ネットワーク70の無線フィールドデバイス40~46、無線ゲートウェイ、及び他の無線ノード52~58は、無線通信パケットの生成元及び消費先である。
【0042】
幾つかのシナリオでは、無線ネットワーク70は、非無線デバイスを含むことができる。例えば、
図1Aのフィールドデバイス48は、4~20mAのレガシーデバイスとすることができ、フィールドデバイス50は、従来の有線HART(登録商標)デバイスとすることができる。ネットワーク30内で通信を行なうために、フィールドデバイス48及び50は、無線通信ネットワーク70に無線アダプター(WA)52aまたは52bを介して接続することができる。更に、無線アダプター52a、52bは、Foundation(登録商標)Fieldbus、PROFIBUS、DeviceNetなどのような他の通信プロトコルをサポートすることができる。更に、無線通信ネットワーク30は、1つ以上のネットワークアクセスポイント55a,55bを含むことができ、これらのネットワークアクセスポイントは、無線ゲートウェイ35と有線通信する別体の物理デバイスとすることができる、または無線ゲートウェイ35と一体に内蔵デバイスとして設けることができる。無線ネットワーク70は更に、1つ以上のルータ58を含むことにより、パケットを1つの無線デバイスから別の無線デバイスに無線通信ネットワーク30内で転送することができる。無線デバイス32~46及び52~58は、互いに通信することができ、無線ゲートウェイ35と無線通信ネットワーク70の無線リンク60を経由して通信することができる。
【0043】
従って、
図1Aは、主としてネットワークルーティング機能及び管理機能をプロセス制御システムの様々なネットワークに付与する役割を担うプロバイダデバイスの幾つかの例を含む。例えば、無線ゲートウェイ35、アクセスポイント55a,55b、及びルータ58は、無線パケットを無線通信ネットワーク70内でルーティングする機能を含む。無線ゲートウェイ35は、無線ネットワーク70のトラフィック管理機能及び運用機能を実行するだけでなく、トラフィックを有線ネットワークにルーティングして、有線ネットワークからルーティングすることができ、これらの有線ネットワークは、無線ネットワーク70に通信可能に接続される。無線ネットワーク70は、無線プロセス制御プロトコルを利用することができ、無線プロセス制御プロトコルは特に、Wireless HART(登録商標)のようなプロセス制御メッセージ及び機能をサポートする。
【0044】
特定の実施形態では、プロセス制御ネットワーク100は、ネットワークバックボーン105に接続される他のノードを含むことができ、これらの他のノードは、他の無線プロトコルを使用して通信を行なう。例えば、プロセス制御ネットワーク100は、1つ以上の無線アクセスポイント72を含むことができ、これらの無線アクセスポイントは、WiFi対応プロトコルまたは他のIEEE802.11対応無線ローカルエリアネットワークプロトコルのような他の無線プロトコル、WiMAX(Worldwide Interoperability for Microwave Access)対応プロトコル、LTE (Long Term Evolution) 対応プロトコル、または他のITU-R
(International Telecommunication Union Radiocommunication Sector) 対応プロトコルのような移動通信プロトコル、近距離通信(NFC) プロトコル及び Bluetooth(登録商標)プロトコル、または他の無線通信プロトコルのような短波長無線通信プロトコルを利用する。通常、このような無線アクセスポイント72により、ハンドヘルドコンピューティングデバイスまたは他のポータブルコンピューティングデバイスは、それぞれの無線ネットワークを経由して通信を行なうことができ、この無線ネットワークは、無線ネットワーク70とは異なっており、かつ無線ネットワーク70とは異なる無線プロトコルをサポートする。幾つかの実施形態では、UIデバイス112は、プロセス制御ネットワーク100を経由して、無線アクセスポイント72を使用して通信を行なう。幾つかのシナリオでは、ポータブルコンピューティングデバイスの他に、1つ以上のプロセス制御デバイス(例えば、コントローラ11、フィールドデバイス15~23、または無線デバイス35,40~58)もまた、アクセスポイント72がサポートする無線ネットワークを使用して通信を行なうことができる。
【0045】
更に、または代わりに、プロバイダデバイスは、近傍のプロセスプラント10の外部に在るシステムへの1つ以上のゲートウェイ75,78を含むことができる。このような実施形態では、UIデバイス112を使用して、前記外部システムを制御する、監視する、またはその他には、前記外部システムと通信することができる。通常、このようなシステムは、プロセスプラント10により生成される情報、使用される情報、または変更される情報の消費先または供給源である。例えば、プラントゲートウェイノード75は、近傍のプロセスプラント10(当該プラント固有の該当するプロセス制御データネットワークバックボーン105を有する)を、プラント固有の該当するネットワークバックボーンを有する別のプロセスプラントに通信可能に接続することができる。1つの実施形態では、単一のネットワークバックボーン105が、複数のプロセスプラントまたは複数のプロセス制御環境を受け持つことができる。
【0046】
別の例では、プラントゲートウェイノード75は、近傍のプロセスプラントを、プロセス制御ネットワーク100またはバックボーン105を含まない旧来のプロセスプラントまたは先行技術によるプロセスプラントに通信可能に接続することができる。この例では、プラントゲートウェイノード75は、メッセージをプラント10のプロセス制御ビッグデータバックボーン105が利用するプロトコルと、レガシーシステム(例えば、Ethernet、Profibus、Fieldbus、DeviceNetなど)が利用する異なるプロトコルとの間で変換する、または翻訳することができる。このような例では、UIデバイス112を使用して、前記旧来のプロセスプラントまたは先行技術によるプロセスプラント内のシステムまたはネットワークを制御する、監視する、またはその他には、システムまたはネットワークと通信することができる。他の例では、バックボーン105は、プラント10のレガシーシステムを含むことができ、プラントゲートウェイノード75は、レガシーシステムバックボーン105を別のプラントのビッグデータバックボーンに接続することができる。
【0047】
プロバイダデバイスは、1つ以上の外部システムゲートウェイノード78を含むことにより、プロセス制御ネットワーク100を、ラボラトリーシステム(例えば、Laboratory Information Management System(ラボラトリー情報管理システム)またはLIMS)、人員巡回データベース、資材ハンドリングシステム、メンテナンス管理システム、製品棚卸制御システム、生産計画システム、気象データシステム、出荷ハンドリングシステム、梱包システム、インターネット、別のプロバイダのプロセス制御システム、または他の外部システムのような外部パブリックシステムまたはプライベートシステムのネットワークに通信可能に接続することができる。外部システムゲートウェイノード78は、例えばプロセス制御システムとプロセスプラントの外部に居る人員(例えば、自宅に居る人員)との間の通信を容易にすることができる。1つのこのような例では、オペレータまたは保守技術者は、UIデバイス112を当該オペレータまたは保守技術者の自宅で使用して、ネットワークバックボーン105にホームネットワーク(図示せず)、インターネット、及びゲートウェイ78を介して接続することができる。別の例では、オペレータまたは保守技術者は、UIデバイス112を任意の場所で使用して、ネットワークバックボーン105に移動電話ネットワーク(図示せず)、インターネット、及びゲートウェイ78を介して接続することができる。ゲートウェイノード78は更に、プロセスプラント内のプラント人員とプロセスプラントの外部のエンティティまたは人間との間の通信を容易にすることができる。例えば、プロセスプラント内のプロセス制御デバイスで修理を行なう技術者は、当該技術者のUIデバイス112でプロセス制御デバイスの製造業者から派遣されるサポート担当者と通信することができる。更に別の例では、監視エンジン106は、天候を監視する、供給業者から入荷された貨物を追跡する、金融データ(例えば、商品先物)を追跡するなどして、監視エンジン106を支援することにより、ワーク製品をスケジューリングする、生産計画を管理するなどすることができる。勿論、ゲートウェイ78(または、ゲートウェイ75、もしくは実際には、任意の2つのデバイスの間の)を介して形成される全ての接続は、セキュアな接続とすることができる(例えば、暗号化接続、ファイアウォール接続など)。
【0048】
図1Aは、有限数のフィールドデバイス15~23及び40~50を受け持つコントローラ11を1つしか示していないが、これは単なる例示に過ぎず、非限定的な実施形態である。任意の数のコントローラ11を、プロセス制御ネットワーク100のプロバイダデバイスに含めることができ、これらのコントローラ11のうちの任意のコントローラ11は、任意の数の有線または無線フィールドデバイス15~23、40~50と通信して、プラント10内のプロセスを制御することができる。また、プロセスプラント10は更に、任意の数の無線ゲートウェイ35、ルータ58、アクセスポイント55、無線プロセス制御通信ネットワーク70、アクセスポイント72、及び/又はゲートウェイ75,78を含むことができる。
【0049】
図1Bは、プロセスプラント10のプロセス制御システム内で動作するプロセス制御ネットワーク100の一部のブロック図であり、例示的なコントローラ11の動作を詳細に示している。図示のように、コントローラ11は、ユーザインターフェースデバイス112にネットワークバックボーン105を介して通信可能に接続される。コントローラ11は更に、フィールドデバイス20,22,及び23だけでなく、制御デバイス24にも接続される。詳細には、コントローラ11は、フィールドデバイス22及び23に制御デバイス24を介して接続される。I/O構造(図示せず)の更に別の通信リンクまたはコンポーネントを更に、様々な実施形態に含めるようにしてもよい。
【0050】
図1Bのブロック図は、制御モジュール34の構成を詳細に示しており、制御モジュール34は、フィールドデバイス20,22,及び23内で実行される機能ブロックをコントローラ11内で表わすシャドウブロック36を使用する。制御モジュール34は、プロセスプラント10を運転するために使用されるPIDコントローラのような任意の種類の制御モジュールとすることができる。制御モジュール34は図を分かり易くするために1つしか図示されていないが、プロセスプラントコントローラは通常、複数の制御モジュールを含む。このような制御モジュールは、ハードウェアモジュール、ソフトウェアモジュール、またはそれぞれのモジュールを組み合わせた複合モジュールとして実現することができる。制御モジュール34は、任意の数の入力(IN)及び出力(OUT)を含むことができ、入力及び出力はそれぞれ、データソースを入力として参照することができる、または所定のコンポーネントを出力として参照することができる。入力または出力は同じようにして、他の制御モジュールを参照することができる。例示的な制御モジュール34は、入力を、フィールドデバイス20を写像するシャドウブロック36A及び参照定数37から受信する。例示的な制御モジュール34は、入力データを処理して、フィールドデバイス22または23のうち1つ以上のフィールドデバイスを写像するシャドウブロック36Bへの出力を生成する。シャドウブロック36Aは、フィールドデバイス20と通信し、シャドウブロック36Bは、制御デバイス24と通信する。制御デバイス24は更に、フィールドデバイス22及び23と通信してフィールドデバイス22及び23を制御し、フィールドデバイス22及び23は、レガシーフィールドデバイスとすることができる、またはコントローラ11と幾つかの実施形態において直接通信することができない他のフィールドデバイスとすることができる。
【0051】
シャドウブロック36は、以下に更に説明されるように、制御モジュール34により実行されてフィールドデバイス20,22,及び23内の機能ブロック(図示せず)の動作を写像する。これにより、制御モジュール34が、フィールドデバイス20,22,及び23との通信をI/O構造を介して確立して維持する必要がないようにすることができる。シャドウブロックを使用することにより、制御モジュール34は、プロセス監視機能及び制御機能を、コントローラ11及びフィールドデバイス20,22,23を接続するI/O構造を気にすることなく実行することができる。しかしながら、シャドウブロック36は、フィールドデバイス20,22,及び23との通信リンクを確立して維持するように構成される必要がある。このように、シャドウブロック36は、フィールドデバイス20,22,及び23のI/O構造、通信プロトコル、及び動作仕様を気にする必要がある。更に、幾つかの実施形態では、制御モジュール34は、シャドウブロック36と、フィールドデバイス20,22,及び23が使用する適切なプロトコルを使用して通信するように構成される必要がある。
【0052】
参照定数37は、永久的に固定することができ、かつプロセスプラントオペレータまたは他のユーザが設定する、またはプロセス制御ネットワーク100内のコントローラ11または他のコンピューティングデバイスが生成する格納値である。例えば、参照定数37は、ビッグデータアプライアンス102、エキスパートシステム104、監視エンジン106、またはサーバ150が定期的に設定することができる、またはイベントが発生すると(例えば、プロセスプラント10の初期セットアップ中に)設定することができる。幾つかの実施形態では、参照定数37は、プロセスプラントオペレータがUIデバイス112を介して設定することができる、またはデータベース140から取り出すことができる。別の例として、参照定数37は、プロセス状態に対応するセットポイントのような定数データ値を含むことができる。
【0053】
図1Bは、本説明が範囲の点で、
図1Aに関して記載されるプロセスプラントに限定されず、本説明を他の制御システム、監視システム、及び安全システムなどに適用することができることを示すために提示される。本説明では、種々実施形態について、プロセスプラント10の観点から記載しているが、慣例を踏襲した本説明は、簡便性に鑑みて行なわれているに過ぎず、本発明を限定するために行なわれるのではない。
信号オブジェクト
【0054】
本明細書において開示される本発明の1つの態様によれば、信号オブジェクトを使用して、プロセスプラント10を運転するために使用される制御ロジック及びユーザインターフェースを、プロセス制御ネットワーク100内のフィールドデバイスと通信することがないように分離することができる。信号オブジェクトは、コントローラ11内に、またはUIデバイス112内に配置することができ、フィールドデバイス15~23,40~50との通信接続を確立する、維持する、または利用するように構成することができる。信号オブジェクトを制御モジュール34に関連付けてプロセス制御を、プロセス制御データを制御モジュールと制御モジュールとの間に介在して、または制御モジュールとフィールドデバイスとの間に介在して送受信することにより容易にすることができる。このような通信を可能にするために、信号オブジェクトには、プロセス制御データの受信元のデータソースを指定する、またはプロセス制御データの送信先のデータターゲットを指定するパスが割り当てられる。制御モジュールをフィールドデバイスと通信することがないように更に分離するために、信号オブジェクトは、プロセスプラントのフィールドデバイスに関連付けられるI/O構造とは無関係なプロセス制御データを受信し、プロセス制御データをフィールドデバイスに、関連するI/O構造の通りに送信することができる。同様に、信号オブジェクトは、受信したプロセス制御データに関連付けられるI/O構造に関係なく、プロセス制御データを制御モジュールに標準的なフォーマットで供給することができる。
【0055】
図2は、プロセス制御ネットワーク100のプロセス制御システム200の例示的な通信構造を示すブロック図であり、プロセス制御システムのレイヤ間の通信を示している。プロセス制御システム200は、プロセスプラント10の少なくとも一部を、本明細書において説明される方法に従って監視して制御する。プロセス制御システム200は、プロセス制御ネットワーク100の様々なコンポーネントを使用して実現されるが、このようなコンポーネント及び通信構造を
図2から削除して重要な特徴の明瞭性を高めている。例示的なプロセス制御システム200は、4レイヤ:ユーザインターフェース(UI)レイヤ210、モジュールレイヤ220、信号レイヤ230、及びデバイスレイヤ240を含む。
【0056】
レイヤ210,220,230,及び240が通信してプロセスプラント10を運転する。UIレイヤ210のUIブロック212は、情報をプロセスプラントオペレータに対して提示して、プロセスプラント運転の変更に関するコマンドを受信する。UIレイヤ210はモジュールレイヤ220と通信し、UIレイヤ210が更に、信号レイヤ230と幾つかの実施形態において通信することができる。UIブロック212は、プロセス制御データを制御モジュール222または信号オブジェクト232から受信し、当該プロセス制御データは、プロセスプラントオペレータに対して提示することができる、処理することにより更に別のデータを生成することができる、または格納することにより後で使用することができる。UIブロック212は更に、プロセス制御データの指示、または制御コマンドをモジュールレイヤ220の制御モジュール222に送信してプロセスプラント10を運転する。幾つかの実施形態では、UIブロック212は更に、プロセス制御データの指示、または制御コマンドを信号レイヤ230の信号オブジェクト232に直接送信してプロセスプラント10を運転する。制御モジュール222は、プロセスプラント10をパラメータまたは指標に従って運転するように構成され、パラメータまたは指標は、プロセスプラントオペレータがUIブロック212を介して設定する、または調整することができる。プロセスプラント10を運転するために、制御モジュール222は、フィールドデバイス242により生成されるプロセス制御データを受信し、プロセス制御データを処理し、他のプロセス制御データ(すなわち、制御コマンド)をフィールドデバイス242に送信する。
【0057】
フィールドデバイス242はプロセス制御データを制御モジュール222に信号オブジェクト232を介して供給し、制御モジュール222は、プロセス制御データをフィールドデバイス242から信号オブジェクト232を介して受信する。また、制御モジュール222は更に、プロセス制御データをフィールドデバイス242に信号オブジェクト232を介して供給し、フィールドデバイス242は、プロセス制御データを、信号オブジェクト232を介して受信する。信号オブジェクト232は、フィールドデバイス242と制御モジュール222またはUIブロック212との間の通信リンクとしての役割を担うことにより、プロセス制御データを翻訳または変換し、制御モジュール222とフィールドデバイス242との間の通信接続を維持する。信号レイヤ230をモジュールレイヤ220とデバイスレイヤ240との間に挿入することにより、制御モジュール222がフィールドデバイス242から分離される。このように分離することにより、制御モジュール222は、特定のフィールドデバイス構成またはプロセスプラント10のI/O構造とは無関係に動作することができる。
【0058】
UIレイヤ210はUIブロック212を含み、UIブロック212は、UIプログラムの一部または全部を実行し、UIプログラムは、情報をプロセスプラントオペレータに対して提示して、コマンドをプロセスプラントオペレータから受信する。UIブロック212は、1つ以上のUIデバイス112内で、サーバ150内で、またはコントローラ11内で実行される。各UIブロック212は、幾つかのプロセス制御インターフェース機能を実行することができ、例えばプロセスプラント情報をプロセスプラントオペレータに対して表示する、プロセスプラント10の所定部分の内部の運転条件を設定する、アラームをプロセスプラントオペレータに対して設定または提示する、または要約情報をプロセスプラントオペレータに対して提示する。UIブロック212は、プロセス制御データを含むことができるプロセス情報を1つ以上のモジュール222から、または信号オブジェクト232から受信することができる。受信した幾つかのプロセス情報は、要約することにより、または使用することにより更に別の情報を生成してプロセスプラントオペレータに対してUIデバイス112を介して提示することができる。更に、幾つかのUIブロック212は、受信した情報を格納または追跡して、リクエストがあるとプロセスプラントオペレータに対して使用するか、または提示することができ、リクエストがない場合には、プロセス情報を表示しなくても済ませることができる。各UIブロック212は、プロセス制御システムの一部とすることができる、または別体のプロセス制御システムとすることができ、当該UIブロック212は、異なるユーザの異なるデバイス上で実行することができる。幾つかのUIブロック212は更に、入力をユーザ(例えば、プロセスプラントオペレータ)から受信して、プロセスプラント10の運転の1つ以上の局面を、モジュール222を介して制御するように構成することができる。例えば、プロセスプラントオペレータは、プロセスプラント10内のパラメータ(例えば、温度、圧力、流量など)に対する変更を選択することができ、当該変更を1つ以上のモジュール222に送信して実行させることができる。例示的なプロセス制御システム200は、2つのUIブロック212A及び212Bを示しているが、任意の数のこのようなUIブロック212を様々な実施形態に含めるようにしてもよい。
【0059】
モジュールレイヤ220は制御モジュール222を含み、制御モジュール222は、監視操作及び制御操作をプロセスプラント10内で実行する。各制御モジュール222は、本明細書の他の箇所に詳細に説明されるように、コントローラ11内で実行される制御モジュール34とすることができる。制御モジュール222は更に、1つ以上のUIデバイス112、サーバ150、エキスパートシステム104、または監視エンジン106により様々な実施形態において実行することができる。制御モジュール222は、プロセスプラントオペレータがUIブロック212を介して制御する、構成する、または選択することができ、制御モジュール222は、プロセス情報をUIブロック212に供給することができる。幾つかの実施形態では、制御モジュール222は、プロセス制御ネットワーク100または制御システムが初めて構成されるときにプロセスエンジニアまたは技術者により初めて構成することができる。制御モジュール222は、制御ループまたは制御ルーチンを実行して、フィードバックループ(例えば、PIDループ、PIループ、PDループなど)またはフィードフォーワードループのようなプロセスプラント10の適正な機能を維持することができる。プロセスプラント10を制御するために、制御モジュール222は、入力信号を、1つ以上のフィールドデバイス242の出力を表わす1つ以上の信号オブジェクト232から受信する。制御モジュール222は更に、出力信号を生成することができ、これらの出力信号を、信号オブジェクト232を介して渡して、フィールドデバイス群242のうちの1つ以上のフィールドデバイス242を制御することができる。例示的なプロセス制御システム200は3つの制御モジュール222A、222B、及び222Cを示しているが、任意の数のこのような制御モジュール222を様々な実施形態に含めるようにしてもよい。
【0060】
信号レイヤ230は信号オブジェクト232を含み、信号オブジェクト232は、プロセス制御データを制御モジュール222に供給する、またはプロセス制御データを制御モジュール222から受信する。信号オブジェクト232を制御モジュール222の入力または出力に関連付けることにより、プロセス制御データを標準的なフォーマットで送信することができる。信号オブジェクト232は更に、プロセス制御データをフィールドデバイスとの間で送受信するように構成することができ、プロセス制御データは、標準的なフォーマットとは異なるフォーマットまたはプロトコルで送受信することができる。信号オブジェクト232は、コントローラ11のメモリ32に格納されているデータオブジェクトとすることができる。代わりに、信号オブジェクト232は、1つ以上のUIデバイス112、サーバ150、エキスパートシステム104、または監視エンジン106により実行することができる。各信号オブジェクト232を、対応する制御モジュール222が実行される同じハードウェアデバイス(例えば、コントローラ11、UIデバイス11、またはサーバ150)内で実行すると特に有利である。信号オブジェクト232及び制御モジュール222を同じデバイス内に共に格納することにより、通信を一層効率的に行なうことができ、複雑さを低減することができ、速度を速めることができる。例えば、制御モジュール222と、これらの制御モジュールを関連付ける関連付け後の信号デバイス232とは、メモリ32に格納することができ、ソフトウェアモジュールとしてコントローラ11のプロセッサ30により実行することができる。しかしながら、幾つかの例または実施形態は、これらの制御モジュールを関連付ける関連付け後の信号オブジェクト232とは異なるデバイスで実行される1つ以上の制御モジュール232を含むことができる。例えば、幾つかの制御モジュール222は、コントローラ11により実行される信号オブジェクトに関連付けられた状態で、UIデバイス112により実行することができる。例示的なプロセス制御システム200は5つの信号オブジェクト232A,232B,232C,232D,及び232Eを示しているが、任意の数のこのような信号オブジェクトを様々な実施形態に含めるようにしてもよい。
【0061】
デバイスレイヤ240はフィールドデバイス242を含み、フィールドデバイス242は、プロセスプラント10内の状態及び設備を監視して制御する。各フィールドデバイス242は、プロセス制御データを生成する(すなわち、温度、在庫量、圧力、流量などのようなプロセスプラント10の一部の内部の状態に関するセンサデータを生成する)またはプロセス制御措置を、受信したプロセス制御データに基づいて実施する(すなわち、物理制御機能をプロセスプラント10内で実行し、例えばバルブを開閉する、モータの速度を調整する、ポンプを動作させるなど)。幾つかのフィールドデバイス242は、プロセス制御データの生成、及びプロセス制御措置の実施を同時に行なう。例示的なプロセス制御システム200は2つのフィールドデバイス242A及び242Bを示しているが、任意の数のこのようなフィールドデバイス242を様々な実施形態に含めるようにしてもよい。各フィールドデバイス242は、本明細書の他の箇所に詳細に説明されるように、有線制御デバイス15~23または無線制御デバイス40~50とすることができる。幾つかのフィールドデバイス242は、本明細書の他の箇所に説明されるように、機能ブロック(図示せず)を実行することができる。
【0062】
図2に示すように、UIブロック212は、1つ以上の制御モジュール222に通信可能に接続することができ、各制御モジュール222は、1つ以上のUIブロック212に通信可能に接続することができる。例えば、制御モジュール222Aは、UIブロック212A及び212Bの両方と通信するが、制御モジュール222B及び222Cは、UIブロック212Bとのみ通信する。制御モジュール222は、他の制御モジュール222と通信することができる。例えば、制御モジュール222Bは、制御モジュール222Cと通信する。制御モジュール群222の間のこのような通信により、フィードバックまたはフィードフォワード制御ループを使用したプロセス制御が容易になるだけでなく、測定分析及び応答判断がより一層高度に容易に行なわれるようになる。幾つかの実施形態では、制御モジュール222は、出力を同じ制御モジュール222の入力に送信するように構成することができる。幾つかの実施形態では、UIブロック212は、1つ以上の信号オブジェクト232に、制御モジュール222を間に挟むことなく通信可能に接続することができる。例えば、UIブロック212Bは、信号オブジェクト232Bに通信可能に直接接続されるので、UIブロック212Bは、プロセス制御データまたは他の情報を信号オブジェクト232Bから、プロセス制御データまたは他の情報を制御モジュール群222のうちの任意の制御モジュールを介して渡すということなく受信する。
【0063】
各信号オブジェクト232は、プロセス制御データを1つ以上の制御モジュール222またはフィールドデバイス242から受信することができる。幾つかの実施形態では、幾つかの信号オブジェクト232は、プロセス制御データを制御モジュール222及びフィールドデバイス242の両方から受信することができる。他の実施形態では、各信号オブジェクト232は、プロセス制御データを、多くても、1つ以上の制御モジュール222から、または1つ以上のフィールドデバイス242から受信することができる。1つのこのような実施形態が
図2に示され、
図2では、信号オブジェクト232A及び232Cはプロセス制御データを制御モジュール222からのみ受信し、信号オブジェクト232B及び232Dはプロセス制御データをフィールドデバイス242からのみ受信し、信号オブジェクト232Eは、プロセス制御データを、制御モジュール222またはフィールドデバイス242のいずれからも受信しない。別の実施形態では、各信号オブジェクト232は、1つのフィールドデバイス242に、またはそれよりも少ない数のフィールドデバイス242に関連付けられるが、それにも拘らず、幾つかの例では、1つよりも多くの入力及び/又は出力に関連付けられる。更に別の実施形態では、各信号オブジェクト232は、
図2に示すように、1つのフィールドデバイス242の多くても1つの入力または出力に関連付けられるようにしてもよい。信号オブジェクト232Aがフィールドデバイス242Aの入力に関連付けられるのに対し、信号オブジェクト232Bはフィールドデバイス242Aの出力に関連付けられる。同様に、信号オブジェクト232Cがフィールドデバイス242Bの入力に関連付けられるのに対し、信号オブジェクト232Dはフィールドデバイス242Bの出力に関連付けられる。信号オブジェクト232Eは、いずれのフィールドデバイス242にも関連付けられない。その代わり、信号オブジェクト232Eは、不完全に構成される(すなわち、信号オブジェクト232Eには、フィールドデバイス242に達するパスが未だ割り当てられていない)、または信号オブジェクト232Eは、静的データまたは定数データを格納することができる。幾つかの実施形態では、信号オブジェクト232Eは、データベース140のような外部データソースに達するパスを含むことができる、または入力をプロセスプラントオペレータから受信するように構成することができる。
【0064】
各信号オブジェクト232は、1つ以上の制御モジュール222に関連付けられて、プロセス制御データを供給するか、または受信することができる。幾つかの実施形態では、信号オブジェクト232は、信号オブジェクト232Bで示す通り、複数の制御モジュール222に関連付けられ、信号オブジェクト232Bは、制御モジュール222A及び222Bの両方に通信可能に接続される。他の実施形態では、各信号オブジェクト232は、多くても1つの制御モジュール222(または、UIブロック212)に関連付けられるだけであることにより、プロセス制御データを受信するか、またはプロセス制御データを供給するかのいずれかである。更に別の実施形態では、各信号オブジェクト232は、1つの制御モジュール222またはUIブロック212に関連付けられる場合にのみ生成されるので、各信号オブジェクト232は、制御モジュール222またはUIブロック212に関連付けられない限り設けられない。しかしながら、これは、他の実施形態が、制御モジュール222またはUIブロック212に関連付けられていない状態で設けられる信号オブジェクト232を含むようにしてもよいので、必要ではない。このような未関連付けの信号オブジェクト232が、フィールドデバイス242に通信可能に接続されるように構成されるようにしてもよい、または信号オブジェクト232のライブラリに格納されるようにしてもよい。
【0065】
図3は、プロセス制御ネットワーク100のプロセス制御システム300の例示的な通信構造を更に詳細に示し、様々なコンポーネント内の入力、出力、変数、パス、及びアラームを示している。更に別の接続及び構成要素が、例示的なプロセス制御システム300内に図示されているが、システム300は、幾つかの実施形態におけるシステム200と同じとすることができる。例示的なプロセス制御システム300は同様に、UIブロック312を有するUIレイヤ310と、制御モジュール322を有するモジュールレイヤ320と、信号オブジェクト332を有する信号レイヤ330と、フィールドデバイス342を有するデバイスレイヤ340と、を含むことができる。UIブロック312、制御モジュール322、信号オブジェクト332、及びフィールドデバイス342の各々は、上に説明したUIブロック212、制御モジュール222、信号オブジェクト232、及びフィールドデバイス242のそれぞれとすることができる。更に、モジュールレイヤ320は、制御モジュールライブラリ324を含むことができ、信号レイヤ330は、信号オブジェクトライブラリ334を含むことができる。これらのライブラリは、制御モジュール322のクラス、または信号オブジェクト332のクラスを格納することができ、制御モジュールまたは信号オブジェクトは、プロセス制御システム300内で実行することができる。別の実施形態では、更に別の、より少ない、または代替えのコンポーネント、構成、または接続を、代わりに使用するようにしてもよい。
【0066】
図2に示す接続の他に、
図3のブロック図は、UIブロック312、制御モジュール322、信号オブジェクト332、及びフィールドデバイス342の内部接続を示している。図示の例示的な実施形態では、各UIブロック312は、変数316及び対応するパス318を有する。変数316は、データを別のブロック、アプリケーション、またはプログラムから呼び出されるか、またはリクエストされるときに特定するための構成可能な変数名のような、UIブロック312内の対応するパスに結び付けられる情報を取得するための名称または手段となる。幾つかの実施形態では、変数316は、別のブロック、アプリケーション、またはプログラムに供給することができる値を(揮発性メモリまたは永続メモリに)格納することができる。変数316がデータを格納する実施形態では、これらの変数は、直近に受信したデータを新規データが受信されるまで格納しておくことができる。このように、変数316は、直近に受信したデータを制御モジュール322または他のブロック、アプリケーション、またはプログラムに、複数のプロセス制御サイクル(または、他の関連更新期間)にわたって、新規データが入手されるまで供給することができる。例えば、UIブロック312Aの変数316A3は、制御モジュール322Aの出力328A1から直近に受信した値を格納することができる。この格納プロセス制御データは、例えばプロセスプラントオペレータに対して表示することができる、またはデータベース140に格納することができる。ユーザまたはプログラムが情報を変数316A3にリクエストする場合、格納値を供給することができる。データが変数316に格納されていない場合、その代わりに情報を316A3にリクエストすることにより、リクエストを制御モジュール322Aの出力328A1に、対応するパス318A3を辿ることによりルーティングすることができる。
【0067】
同様に、変数316を使用して、プロセスプラント10の制御可能なパラメータに変更を加えることができる。例えば、変数316B1は、入力データをプロセスプラントオペレータまたは別のソースから受信することができ、入力データは、対応するパス318B1を通って制御モジュール326Cの入力326C1に送信することができる。入力データは、制御モジュール326Cの入力326C1で受信される他の入力データに上書きすることができる、または幾つかの実施形態では、入力データは、制御モジュール322の入力への唯一のデータソースとすることができる。幾つかの実施形態では、プロセス制御データを制御モジュール322に供給する代わりに、UIブロック312が同じようにして、プロセス制御データを信号オブジェクト332に直接供給することができる。信号オブジェクト332は、プロセス制御データをフィールドデバイス342に供給することができる(例えば、UIレイヤ310を介した緊急シャットダウン制御を可能にする)。信号オブジェクト332は更に、または代わりに、受信したプロセス制御データを制御モジュール322に供給することができる(例えば、フィールドデバイス342を、制御モジュール322を動作させることにより間接的に制御する)。更に、UIブロック312は、制御モジュール322に通信可能に接続されて、変数316が調整されると、UIブロック312が制御モジュール322の動作または構成を、パス318を介して調整することができるようになっている。例えば、プロセスプラントオペレータは、UIブロック312の変数316の値を設定することができ、この値は、制御モジュール322に、変数に対応するパス318を通って送信することにより、制御モジュール322のゲインを調整することができる。幾つかの実施形態では、UIブロック312は、プロセス制御データ(例えば、セットポイント)を受信して、制御モジュール322に信号オブジェクト332を介してのみ供給することができる。幾つかのこのような実施形態では、UIブロック312はそれにも拘らず、制御モジュール322を直接調整するか、または制御モジュール322を直接構成することができる(すなわち、信号オブジェクト332を使用することなく)。2つのUIブロック312A(パス318A1,318A2,及び318A3に対応する変数316A1,316A2,及び316A3を有する)及び312B(パス318B1及び318B2に対応する変数316B1及び316B2を有する)が図示されているが、他の構成は、異なる個数の変数316を備えるより多くのUIブロック312またはより少ないUIブロック312を有し、対応するパス318を様々な実施形態において使用することができる。
【0068】
また、図示の例示的な実施形態では、制御モジュール322は、入力326及び出力328を有することができる。入力326は、プロセス制御データを信号オブジェクト332、UIブロック312、または他のソース(例えば、データベース140またはエキスパートシステム104)から受信する。制御モジュール322は、入力326の入力プロセス制御データを使用して、出力プロセス制御データを出力328で生成する。出力プロセス制御データは、プロセスプラントオペレータまたは他のユーザにUIブロック312を介して供給することができ、これにより出力プロセス制御データが表示されるようになる、または格納されるようになる。出力プロセス制御データは更に、または代わりに、フィールドデバイス342に信号オブジェクト332を介して供給することができ、これによりフィールドデバイス342の動作を制御することができる。例えば、制御モジュール322は、PIDコントローラを搭載することができ、PIDコントローラは、測定値をフィールドデバイス342から入力プロセス制御データとして入力326で受信して(信号オブジェクト332を介して)出力プロセス制御データを出力328で、制御コマンドとして生成して別のフィールドデバイス342を動作させる(別の信号オブジェクト332を介して)ことによりプロセスプラント10の一部を制御する。このような例示的なPID制御モジュール322は、
図4に図示され、以下に説明される。
【0069】
また、これらの制御モジュール322は、相互に接続することができるので、第1制御モジュール322の入力326がプロセス制御データを第2プロセス制御モジュール322の出力328から受信することができる。このような構成は、出力プロセス制御データを制御モジュール322Bの出力328B1から受信する制御モジュール322Aの入力326A2の接続部分に図示されている。入力326A2が、出力328B1に直接接続されるものとして図示されているが、幾つかの実施形態は、信号オブジェクト332を使用して、複数の制御モジュール328の入力326及び出力328を接続するようにしてもよい。このような実施形態では、各出力328が信号オブジェクト332に関連付けられて、出力プロセス制御データを信号オブジェクト332に供給する。従って、同じ制御モジュール322、または別の制御モジュール322の入力326を信号オブジェクト332に接続してプロセス制御データを受信することができる。従って、このような実施形態では、各入力326及び各出力328が、信号オブジェクト群332のうちの1つの信号オブジェクト332にのみ関連付けられる(すなわち、接続される)。しかしながら、複数の制御モジュール322またはUIブロック312が、同じプロセス制御データを使用する可能性があるので、複数の入力326またはパス318を信号オブジェクト332の変数336に同時に関連付けるようにしてもよい。別の実施形態では、制御ブロック322の複数の出力328、またはUIブロック312の複数のパス318を信号オブジェクト332の同じ変数336に関連付けるようにしてもよい。例えば、制御モジュール322の出力328は普通、プロセス制御データを信号オブジェクト332の変数336に供給することができるが、プロセスプラントオペレータは、モジュール生成プロセス制御データにUIブロック312を使用して上書きすることができ、UIブロック312は、プロセス制御データを同じ信号オブジェクト332の変数336に供給する。3つの制御モジュール322A(入力326A1,326A2,及び326Aと出力328A1及び328A2と、を有する)、322B(入力326B1及び326B2と、出力328Bと、を有する)、及び322C(入力326C1及び326C2と、出力328C1及び328C2と、を有する)が図示されているが、他の構成は、異なる数の入力326及び出力238を備える、より多くの、またはより少ない制御モジュール322を有する他の構成を様々な実施形態において使用するようにしてもよい。
【0070】
また、図示の例示的な実施形態では、各信号オブジェクト332は、変数336及びパス338を有する。信号オブジェクト332の変数336及びパス338は、UIブロック312の変数316及びパス318と同様の態様で機能する。制御モジュール322を信号オブジェクト332に接続するために、制御モジュール322の入力326または出力328を信号オブジェクト332に関連付けることができる。このような関連付けは、制御モジュール322の入力326の参照またはポインタを設定して信号オブジェクトの変数336を指定するか、または呼び出すことにより行なうことができる。好適な実施形態では、各信号オブジェクトは、変数336を1つだけ持ち、かつ対応するパス338を有する。変数336は、予め指定された種類及び/又はスケール(例えば、長い整数列、浮動小数点、テキスト文字列、ミリアンペア、ボルト、psi(1平方インチ面積あたりの圧力)など)を有するように定義されるか、または任意の種類のプロセス制御データを表わすので未定義とされるかのいずれかである。幾つかの実施形態では、変数336は、プロセス制御データと、変数のフォーマット及びスケールに関するデータ構造情報との両方を含むことができる。別の実施形態は同様に、制御モジュール322に許可して変数を構成させることにより、データを特定の方式で格納することができる。例えば、変数336のデータ種類及びスケールは、信号オブジェクト332が入力326または出力328に関連付けられる場合に設定することができる。好適な実施形態では、信号オブジェクト332の変数336は、信号オブジェクト332に接続されるフィールドデバイス342から受信される、またはフィールドデバイス342に送信されるプロセス制御データのプロトコル、種類、またはフォーマットに関係なく、標準的なフォーマットに設定される。従って、信号オブジェクト332は、フィールドデバイス342からI/O構造を介して受信されるプロセス制御データを取り出すことができ、プロセス制御データを標準的なフォーマットに変換して1つ以上の制御モジュール322が更に使用することができるようにする。信号オブジェクト332は同じようにして、標準的なフォーマットで1つ以上の制御モジュール322から受信されるプロセス制御データを、関連するI/O構造を介してフィールドデバイス342に送信するために適するフォーマットに変換することができる。
【0071】
各信号オブジェクト332は更に、変数336に対応するパス338を含む。パス338は、変数336に対応するデータソースを指定する、または変数336で受信するデータの送信先のターゲットを指定する。通常、パス338は、フィールドデバイス342または定数データのいずれかを指定するが、パス338は、他の種類のデータソースまたはデータ受領者を指定することができる。例えば、パス338は、データベース140、制御モジュール322の入力326または出力328を指定するか、もしくはプロセス制御ネットワーク100内の他の場所を指定することができる。パス338がフィールドデバイス342を指定する場合、パス338は、関連するI/O構造を介してフィールドデバイス342の入力346または出力348に達するパスを指定することができ、当該パスは、フィールドデバイス342の個別チャネルまたはポートとすることができる。パス338は従って、プロセスプラント10のI/O構造のうちフィールドデバイス342に関連する部分の通信プロトコルまたはフォーマットに関する情報を含むことができる。幾つかの実施形態では、パス338は、1以上のビットを、フィールドデバイス342が生成する複数ビットを含むデータストリームから取り出し、これにより、特定の関連性を持つプロセス制御データをフィールドデバイス342から受信されるデジタル信号から取得し易くなる。パス338が定数データを指定する場合、定数データはパス338に直接格納することができる、またはパスは、定数データを格納するメモリストレージロケーションを指すことができ、メモリストレージロケーションはローカルロケーションまたはリモートロケーションとすることができる。定数データは、ゲインまたはリミットのようなプロセス制御データまたは他の関連データとすることができる。
【0072】
信号オブジェクト332は、制御モジュール322に、パス338を指定することなく関連付けることができる。例えば、プロセス制御システム300を初期構成している間、または引き続き構成している間、信号オブジェクト332は、パス338が未定義の状態で生成することができる。未定義パス338は、定数データ、またはフィールドデバイス342のようなデータソースのいずれかを指定する値を割り当てることにより後で定義することができる。従って、信号オブジェクト332は、制御モジュール322の入力326または出力328に、値またはデータソースを信号オブジェクト332のパス338に割り当てていない状態で関連付けることができる。パス338は、後で割り当てるようにしてもよく、プロセスプラント10の運転前に、または運転中のいずれかで割り当てるようにしてもよい。例えば、パス338は、プロセスプラントオペレータが、プロセスプラント10の運転中に、情報が必要になる場合に割り当てるようにしてもよい(または、情報が必要になると予測される直前に)。このような例では、UIブロック312は、プロセスプラントオペレータに催促して、パス338を信号オブジェクト332にUIデバイス112を介して割り当てさせることができる。幾つかの実施形態では、これを行なう際に、プロセスプラントオペレータに、信号オブジェクト332に割り当てるべきパス338を選択する際の1つ以上のオプションを提示することができる。例えば、コントローラ11に接続されているとして特定される全てのフィールドデバイス342のリストは、UIデバイス112を介して提示することにより、信号オブジェクト332に割り当てるべきパス338の選択を行なうことができる。これを行なう際に、コントローラ11がフィールドデバイス342にポーリングして、コントローラ11に通信可能に接続されるフィールドデバイス342を特定することができる、またはこれを行なう際に、データベース140にクエリを発行して、接続フィールドデバイス342及びローカルI/O構造に関する構成情報を取得することができる。
【0073】
更に、新規パス338を信号オブジェクト332に割り当てることにより、既存のパス338を置き換えることができる。この置き換えは、データソースが変更される場合に、例えばフィールドデバイス342の代わりに別のフィールドデバイス342を用いる場合に、またはローカルI/O構造が変更される場合に行なうことができる。パス338を割り当て直すことによって更に、プロセス制御システム300の動作を一層効率的にテストし易くなる。幾つかの実施形態では、信号オブジェクト332のパス338は、テストデータに割り当てることができる。テストデータは、プロセスプラント10の多種多様な運転状態におけるフィールドデバイス342から予測されるプロセス制御データを写像することができる。従って、プロセス制御システム300は、プロセスプラント10内に設置される前にテストすることができる。このようなテストは、I/O構造に関係なく、またはフィールドデバイス342に関する特定の種類、プロトコル、フォーマット、または他の情報に関係なく、テストデータを指定するパス338を使用することにより行なうことができる。テストデータは、プロセスプラント10の任意の特定のフィールドデバイス342またはI/O構造に特有である必要がないので、プロセス制御システム300をプロセスプラント10の構成に関する知識無しでテストすることができる。これは、プロセスプラント10の特定の構成(すなわち、フィールドデバイス342の種類、数、及びI/O構造)が、プロセスプラント10が建設される直前まで最終決定されない場合が多く、構成がプロセスプラント10の寿命にわたって繰り返し変更される可能性があるので極めて望ましい。信号オブジェクト332は、制御モジュール322をフィールドデバイス342から分離するので、システム300を特定のフィールドデバイス342についてテストする必要がない。その代わり、各信号オブジェクト332は、必要に応じて(例えば、プロセスプラント10におけるテストと設置との間の期間、フィールドデバイス342を置き換える時期など)調整することができる。信号オブジェクト332を調整するためには、影響を受ける信号オブジェクト332しか変更されないので、プロセス制御システム300全体をテストし直す必要がない。幾つかの実施形態では、この変更の際に、新規パス338を信号オブジェクト332に割り当てて、新規データソースまたはデータ受領者(新規フィールドデバイス342の出力348または入力346)を指定するだけで済む。他の実施形態では、プロセス制御データを信号オブジェクト内で処理することに関して、他のパラメータを調整することもでき、例えば通信プロトコルまたは出力スケールを表わすパラメータを調整することができる。幾つかの実施形態では、信号オブジェクト332は、このようなパラメータに関する情報を、例えばフィールドデバイス342に格納されているデバイス記述言語(DDL)データを受信することによりフィールドデバイス332から直接受信することができる。勿論、信号オブジェクト332は、置き換えることにより更新するようにしてもよく、旧信号オブジェクト332は、制御モジュール322との関連付けが解消され、新規信号オブジェクト332が制御モジュール322に関連付けられる。
【0074】
幾つかの信号オブジェクト332は更に、構成可能なアラーム335を含むことができる。アラーム335は、制御モジュール322を介して接続されるのではなく、UIブロック312に直接通信可能に接続される。従って、信号オブジェクト332のアラーム335は、データをUIブロック312に直接送信することができ、データをいずれの制御モジュール322にも送信しなくても済む。これにより、制御モジュール322を、アラーム状態を判断するためにだけ使用するのを回避することができるので、制御モジュール群322の全てが、幾つかのプロセス制御ループまたは他のプロセス制御措置を実行する。アラーム335は、プロセス制御システム300の構成及びセットアップ中に構成することができる、またはプロセスプラントオペレータが設定するか、または調整することにより、プロセスプラント10内の異常運転状態を、パス338で指定されるフィールドデバイス342から信号オブジェクトで受信されるプロセス制御データに基づいて判断することができる。アラーム335の1つ以上の基準が満たされると、アラーム335を起動することができ、これにより更に、アラートまたは警告をプロセス制御システム300のプロセスプラントオペレータまたは他のユーザにUIデバイス112を介して提示することができる。8個の信号オブジェクト332A(変数336A、パス338A、及びアラーム335Aを有する)、332B(変数336B及びパス338Bを有する)、332C(変数336C及びパス338Cを有する)、332D(変数336D及びパス338Dを有する)、332E(変数336A、パス338A、及びアラーム335Aを有する)、332F(変数336F及びパス338Fを有する)、332G(変数336G及びパス338Gを有する)、及び332H(変数336H及びパス338Hを有する)が図示されているが、8個よりも多い数の、または少ない数の信号オブジェクト332(アラーム335付き、またはアラーム335無し)を有する他の構成を様々な実施形態において使用するようにしてもよい。
【0075】
制御モジュールライブラリ324及び信号レイヤライブラリ334は、複数クラスの制御モジュール322及び信号オブジェクト332をそれぞれ格納することができる。これらのクラスは、これらのクラスのデータ構造及び用途をオブジェクト指向プログラミング言語で定義する制御モジュールまたは信号オブジェクトのおおまかな種類とすることができる。制御モジュールライブラリ324に格納されている制御モジュールクラスは、再利用可能なクラスとすることができ、再利用可能なクラスは、プロセス制御機能をプロセス制御システム300内で実行するように構成される。各制御モジュール322が制御モジュールクラスに基づいて生成される場合、制御モジュール322は、クラスのインスタンスとして、詳細な構成を行なって、または詳細な構成を行なうことなくインスタンス化される。例えば、特定のPID制御モジュール322は、制御モジュールライブラリ324に格納されているPIDコントローラの制御モジュールクラスのインスタンスとして生成することができる。インスタンス化された制御モジュール322は、本明細書の他の箇所に説明されているように、プロセス制御機能をインスタンス化時に、または後の時点のいずれかで実行するように構成することができる。同様に、信号オブジェクトライブラリ334に格納されている信号オブジェクトクラスは、プロセス制御システム300内で使用することができる信号オブジェクトのおおまかな種類とすることができ、信号オブジェクト334は、信号オブジェクトクラスのインスタンスとして生成することができる。幾つかの実施形態では、全ての信号オブジェクト332は1つの信号オブジェクトクラスのインスタンスとすることができる。幾つかの実施形態では、制御モジュールライブラリ324の制御モジュールクラスまたは信号オブジェクトライブラリ334の信号オブジェクトクラスを更新または調整することにより、更新または調整を全ての制御モジュール322または信号オブジェクトに対してクラスに基づいて自動的に行なうことができる。幾つかの実施形態では、制御モジュールライブラリ324及び信号レイヤライブラリ334を組み合わせて1つのライブラリとすることができ、1つのライブラリをコントローラ11のメモリ32にその場で格納するか、またはデータベース140または他の箇所に、遠く離れた場所から操作して格納することができる。
【0076】
プロセス制御システム300内のフィールドデバイス342は、入力346及び出力348を有することができる。入力346は、プロセス制御データまたは制御コマンドを、信号オブジェクト332を介して受信することができ、これによりフィールドデバイスが、実際の制御操作を実行するようになり、例えばバルブを開閉する、モータを始動または停止する、またはポンプを制御する。出力348は、フィールドデバイスが生成する温度測定値、圧力測定値、または流量測定値のようなプロセス制御データを送信することができる。各フィールドデバイス342は、1つ以上の入力346または出力348を含むことができる。1入力346A及び1出力348Aを有するフィールドデバイス342A、及び1入力346B及び2出力348B1及び348B2を有するフィールドデバイス342Bの2つのフィールドデバイスが図示されているが、このような構成ではなく、他の構成が様々な実施形態に用いられるようにしてもよい。
【0077】
図4は、プロセス制御ネットワーク100のプロセス制御システム300の動作を詳細に示す例示的な制御モジュールのブロック図を示しており、本明細書において開示される本発明の実施形態によるPID制御モジュールの動作を示している。制御モジュール422または同様の制御モジュールは、制御モジュール222または232として、上に説明した例示的なプロセス制御システム200及び300に含めることができる。
図4に示す制御モジュール422は、特定の種類の制御モジュールの作用を更に詳細に示しているが、他の構成をそれに代えて、プロセス制御ネットワーク100内の様々な制御モジュールに用いるようにしてもよい。上に説明したように、信号オブジェクト432は、特に信号オブジェクト232及び332に関して本明細書の他の箇所に説明されている通りに実行することができ、フィールドデバイス442は、特にフィールドデバイス242及び342に関して本明細書において説明されている任意の種類のフィールドデバイスとすることができる。2つのフィールドデバイス442A及び442Bが
図2の例示的な実施形態において図示されているが、フィールドデバイス442A及び442Bは、幾つかの実施形態において組み合わせるようにしてもよい。
【0078】
例示的な制御モジュール422は制御ロジックブロック421を含み、制御ロジックブロック421は、制御モジュール422の制御ロジック演算を行なう。制御ロジックブロック421は、プロセス制御システム200または300のセットアップ中に構成することができる、または制御ロジックブロック421の構成は、制御ロジックブロック421が属する制御モジュールクラスの構成により決定することができる。例えば、PID制御ロジックブロック421内の比例項、整数項、及び微分項の各項に割り当てられる重みは、PID制御モジュールのクラスの全インスタンスについて指定することができる、または普通のPID制御モジュールに基づいて構成されて、プロセス制御ネットワーク100内の特定の用途に適合させることができる。幾つかの実施形態では、制御ロジックブロック421は、エキスパートシステム104により、プロセスプラント10の運転の自動分析及び最適化に基づいて構成することができる(直接構成するか、またはクラスのインスタンスとして構成することができる)。プロセス制御ロジック演算を行なうために、制御ロジックブロック421は、間接入力426及び直接入力427を受け付ける。間接入力426で、プロセスプラント10内の測定可能な条件要素の状態に関する入力プロセス制御データをフィールドデバイス442Aから間接的に受信する。幾つかの実施形態では、入力プロセス制御データは、制御モジュール422内の参照部429Aを介して取得することができ、参照部429Aは、信号オブジェクト432Aに達するパスを指定する。このような構成により、制御ロジックブロック421は、参照部429に含まれる関連付け後の信号オブジェクト432に関する情報と個別に一致する状態をクラスの複数のインスタンスにわたって保持することができる。直接入力427で、出力プロセス制御データを制御ロジックブロック421の出力428から制御モジュール422内の別の参照部429Bを介して直接受信する。間接入力426で受信されるこの入力プロセス制御データを、直接入力427で受信される出力プロセス制御データと比較することにより誤差項を求め、別の出力プロセス制御データを生成することによりフィールドデバイス442Bを、公知の方法を使用して制御することができる。
【0079】
フィールドデバイス442A及び442Bを制御モジュール422に接続するために、信号オブジェクト432A及び432Bを使用する。本明細書の他の箇所に更に詳細に説明されるように、これらの信号オブジェクト432はそれぞれ、変数436及びパス438を含む。参照部429Aは、信号オブジェクト432Aの変数436Aを指すパスまたはポインタを指定し、パスまたはポインタは、フィールドデバイス442Aの出力448Aを指定する対応パス438Aを有する。このように、フィールドデバイス442Aが出力448Aで生成するプロセス制御データは、信号オブジェクト432A(信号オブジェクト432Aを変数436Aに格納することができる場合)で受信され、信号オブジェクト432Aから、制御モジュール422の参照部429Aで、プロセス制御データが受信され、参照部429Aから当該プロセス制御データが制御ロジックブロック421の入力426に供給される。制御ロジックブロック421は、直接プロセス制御データ及び間接プロセス制御データを使用して、更に別のプロセス制御データを生成することにより、フィールドデバイス446Bを制御してプロセス制御をプロセスプラント10内で行なう。制御ロジックブロック421で生成されるプロセス制御データは参照部429Bに供給され、この参照部429Bからプロセス制御データが直接入力427と信号オブジェクト432Bの変数436Bの両方に供給される。信号オブジェクト432Bはプロセス制御データを変数436Bで受信し、プロセス制御データをフィールドデバイス442Bの入力446Bに、変数436Bに対応するパス438Bを使用して供給する。本明細書の他の箇所に説明されるように、信号オブジェクトは、プロセス制御データの一部を取り出すか、または変換することにより、プロセス制御データを適切なフォーマットで、制御モジュール422及びフィールドデバイス442の適切なプロトコルを使用して供給することができる。
【0080】
図5は、例示的なプロセス制御システム構成及びテスト方法500のフロー図であり、システム200及び300を含むプロセス制御ネットワーク100のプロセス制御システムを構成する方法を示している。プロセス制御システム300に対して行なわれる参照は例示に過ぎず、方法500は、様々な実施形態における他のプロセス制御システムに適用することができる。例示的な方法500は、ブロック502において、制御モジュールを選択することから始まる。ブロック504では、信号オブジェクトを、選択した制御モジュールの入力及び出力に関連付けることができ、ブロック506及び508では、選択した制御モジュールのパラメータ及び信号オブジェクトのパラメータを指定することができる。ブロック510では、プロセス制御システム内の他の制御モジュールを同様に構成することにより、プロセス制御システムの一部または全部を形成することができる。次に、プロセスプラント10内で実行する前に、ブロック512~518において、構成後のプロセス制御システムをテストすることができる。これを行なう際に、テストデータをブロック512においてインポートし、プロセス制御システムの制御モジュールの動作をブロック514においてテストし、プロセス制御システムがテストに合格したかどうかについて、ブロック516において、プロセス制御モジュールの出力に基づいて判断する。プロセス制御システムがテストに不合格になる場合、ブロック518において、調整を1つ以上の制御モジュールまたは信号オブジェクトのパラメータに対して行ない、ブロック514において、プロセス制御システムを再テストすることができる。ブロック516においてプロセス制御システムがテストに合格する場合、ブロック520において、プロセス制御システムをプロセスプラント内で、信号オブジェクトとフィールドデバイスとの間に接続されるパスを割り当てることにより実行することができる。次に、ブロック522において、プロセス制御システムをプロセス制御ネットワーク100内で実行して、プロセスプラント10の運転を制御することができる。
【0081】
幾つかの実施形態では、ブロック502~518を、プロセスプラント10に関連付けられない1つ以上のコンピュータ上で実行するようにしてもよい。このように、プロセス制御システムを設計し、構成し、及びテストして、異なる構成を有する任意の数のプロセスプラントで、プロセスプラント10において利用されるI/O構造とは無関係に動作させることができる。ブロック512~518におけるテストにより正常な運転が確認されると、構成後のプロセス制御システムのプログラム(UIブロック312、制御モジュール322、及び信号オブジェクト332を有する)を非一時的なコンピュータ可読記憶媒体(例えば、ハードディスクドライブまたは光ディスクのような不揮発性メモリデバイス)に格納することができる。次に、ブロック520~522において、格納後のプロセス制御システムプログラムの一部または全部を、プロセス制御ネットワーク100のコントローラ11、UIデバイス112、エキスパートシステム104、または他のコンポーネントにダウンロードする、インストールする、またはインスタンス化することにより、プロセスプラント内のプロセス制御システムを構成して実行することができる。プロセス制御システムをプロセスプラント10内で構成して実行する際に、ブロック520において、フィールドデバイス342を信号オブジェクト332のパス338に割り当てることができる。
【0082】
ブロック502では、プロセス制御エンジニア、技術者、または他のユーザは、制御モジュール322を選択して構成することができる。制御モジュール322を選択する際に、プロセス制御モジュールクラスを制御モジュールライブラリ324から選択することができる。制御モジュール322を選択する際に、代わりに新規制御モジュール322を、制御モジュールの構造、ロジック、及び他の特性を定義することにより生成することができる。幾つかの実施形態では、制御モジュール322を選択することにより、選択した制御モジュールを、プロセス制御システムのユーザインターフェースに含めることができ、このユーザインターフェースを1つ以上のUIブロック312で実行して、プロセスプラントオペレータにUIデバイス112を介して提示することができる。幾つかの実施形態では、ユーザは、制御モジュール322をプロセス制御システムのユーザインターフェースに含めるかどうかについて選択することができる。
【0083】
ブロック504では、1つ以上の信号オブジェクト332を、選択した制御モジュール322の1つ以上の入力326または出力228に関連付けることができる。信号オブジェクト332は制御モジュール322に自動的に関連付けるか、またはプロセス制御エンジニア、技術者、または他のユーザにより関連付けることができる。上に説明したように、各信号オブジェクト332は入力326または出力328に、例えば信号オブジェクト332の変数336に達するパスを、制御モジュール322の参照内に指定することにより関連付けることができる。幾つかの実施形態では、信号オブジェクト332を制御モジュール322の全入力326及び出力328に関連付ける必要があるのに対し、他の実施形態は、入力326または出力328を、信号オブジェクト332を関連付けることなく許可することができる。幾つかの実施形態により、制御モジュール322の入力326または出力328にフラグを立てて、プロセス制御システムの動作中に無視し易くすることができる。このような実施形態では、プロセス制御モジュール322は、フラグ付きの入力326または出力328を使用することなく、プロセス制御システムの動作中に実行することができる。これにより、プロセスプラントオペレータに対する警告メッセージまたはエラーメッセージを回避することができ、回避できない場合には、当該メッセージが、制御モジュール322の入力326または出力328が未定義であることに関して実行時間に生成される。
【0084】
幾つかの実施形態では、ブロック502において制御モジュール322を選択する際に、1つ以上の信号オブジェクト332を制御モジュール322の入力326または出力328に自動的に関連付けることができる。これを行なう際に、入力326または出力328のうちの1つ以上に対応する新規信号オブジェクト332をインスタンス化するか、またはその他には、生成することができる。例えば、制御モジュールライブラリ324は、1種類以上の制御方式を含むことができ、各制御方式は、制御モジュール322と、制御モジュール322に関連付けられる1つ以上の信号オブジェクト332と、を含むことができる。従って、制御モジュール322の選択は、制御モジュール322を含む制御方式を選択することにより行なうことができる。別の実施形態では、制御方式は、1つ以上の信号オブジェクト332を含むが、信号オブジェクト332のパス338を全く含まない。他の実施形態では、制御方式は、信号オブジェクト332と、定数データを指定する1つ以上のパス338と、を含むようにしてもよく、かつ他のパス338を除外するようにしてもよい。以下に更に説明されるように、制御方式は更に、制御モジュール322または信号オブジェクト332のパラメータに関する情報を含むことができる。
【0085】
ブロック506では、制御モジュール322の1つ以上のパラメータを指定することができる。パラメータは、自動的に指定するか、またはプロセス制御エンジニア、技術者、または他のユーザにより指定することができる。パラメータは、制御モジュール322の内部動作、通信接続、または提示に関連付けることができる。例えば、パラメータは、制御モジュール322の名称、通信に使用されるプロトコル、制御サイクル実行速度、制御ロジックに適用されるゲインまたは重み、もしくはプロセス制御システム内の制御モジュール322の動作または用途に影響する他の情報を指定することができる。幾つかの実施形態では、幾つかのパラメータまたは全パラメータのデフォルト値は、制御モジュール322が最初に選択されて、制御モジュールの一部または全部をユーザが調整可能である場合に適用することができる。
【0086】
ブロック508では、1つ以上のパラメータを同様にして、1つ以上の信号オブジェクト332に対応して指定することができる。パラメータは、制御モジュール322、UIブロック312、またはフィールドデバイス342との通信に使用されるフォーマットまたはプロトコルを含む変数336またはパス338に関する情報を含むことができる。例えば、信号オブジェクト332のパラメータは、パス338内のフィールドデバイス342の仕様を含むことができ、これらのパスは、実際のフィールドデバイス342に、またはテストデータを受信するように設計されるメモリロケーションに割り当てることができる。パラメータは更に、上に説明したように、アラーム、受信したプロセス制御データのスケール、またはデータストリームから取り出されるビットに関する情報を含むことができる。
【0087】
ブロック510では、他の制御モジュール322または信号オブジェクト332を生成して構成することにより、プロセス制御システムまたはプロセス制御システムの一部を形成することができる。これを行なう際に、上に説明したように、複数の制御モジュール322を接続して複雑な制御機能を実行することができる。例えば、1つ以上の更に別の制御モジュール322を選択して構成することにより、入力として、プロセス制御モジュール322により出力328で生成されるプロセス制御データを受信することができる。上に説明したように、制御モジュール322は、フィールドデバイスに関連付けられるI/O構造とは無関係な標準的なフォーマットを使用することができる。幾つかの実施形態では、更に別の制御モジュール322のうちの1つ以上の制御モジュール322は、制御モジュール322の出力328に関連付けられる同じ信号オブジェクト332に関連付けられる入力326を有するようにしてもよい。別の実施形態では、1つ以上の更に別の制御モジュール322は、他の信号オブジェクト332の変数336に関連付けられる入力326を有するようにしてもよく、他の信号オブジェクト332は、制御モジュール322の出力328に関連付けられる信号オブジェクト332の変数336を指定する対応パス338を有する。
【0088】
更に、または代わりに、他の制御モジュール322または信号オブジェクト332を構成する際に、制御モジュール322に関連付けられることは全くない信号オブジェクト332を生成して構成することができる。このような信号オブジェクト332は、プロセス制御システムの1つ以上のUIブロック312または他のUIコンポーネントに関連付けることができる。信号オブジェクト332とUIブロック312との間のこの直接接続は、アラームを供給する、ビットをデータストリームから取り出す、またはスケール処理後のプロセス制御データをプロセスプラントオペレータにUIデバイス112を使用して提示するように構成される信号オブジェクト332に特に有利となり得る。制御モジュール322に関連付けられることは全くないこれらの信号オブジェクト332は、関連付けられる場合には、本明細書の他の箇所に説明されているように、パス338をフィールドデバイス342の入力346または出力348に割り当てるように構成することができる。
【0089】
プロセス制御システムがブロック510において十分に構成される場合、ブロック512~518において、プロセス制御システムを幾つかの実施形態においてテストして、正常に機能していることを、テストデータを使用して確認することができる。ブロック512では、テストデータをインポートするか、またはテストデータにアクセスすることができる。テストデータは、データベースまたは他のメモリに格納されているプロセス制御データ(または、これまでのプロセス制御データ)を写像するように設計されるデータとすることができる。テストデータは、プロセスプラント10のI/O構造とは無関係なデータとすることができる。幾つかの実施形態では、テストデータが、制御モジュール322が使用する標準的なデータフォーマットを使用することにより、テストデータを、変換せずに信号オブジェクトを介して直接渡すことができる。テストデータは更に、プロセスプラント内で発生する可能性のある異なる運転状態を表わす複数のテストデータ集合を含むことができ、異なる運転状態として、正常運転状態、異常運転状態、及び緊急状態、または臨界状態を挙げることができる。
【0090】
ブロック514では、プロセス制御システムの動作を、テストデータを使用して確認することができる。これを行なう際に、プロセス制御システムの制御モジュール322及び/又はUIブロック312をテスト環境内で実行し、テストデータを連続プロセス制御データ値として、信号オブジェクト332に供給することができる。テストデータを信号オブジェクト332に供給するために、信号オブジェクトのパス338を変数またはメモリロケーションにテスト環境内で割り当てて、テストデータを受信することができる。1種類以上の動作状態を表わすテストデータ集合を信号オブジェクト332に提示することができ、制御モジュール322が生成する出力プロセス制御データを記録して分析することができる。次に、記録済みのプロセス制御データは、予測プロセス制御データまたは適切なプロセス制御データと比較することにより確認することができる。
【0091】
ブロック516では、制御モジュール322が生成する記録済みのプロセス制御データを評価して、プロセス制御システムがテストに合格するかどうかについて、許容される範囲に収まる応答を生成することにより判断することができる。これを行なう際に、制御モジュール322の性能を所定の品質パラメータと、出力プロセス制御データを使用して比較することができる。幾つかの実施形態では、出力プロセス制御データを使用して、仮想フィールドデバイスの動作を模擬することができ、プロセス制御システムが正常に機能していることを確認する際に、仮想フィールドデバイスがプロセスプラントの高効率運転について許容される範囲に収まる状態を保持していることを確認することができる。ブロック516において、プロセス制御システムがテストに不合格になる場合、ブロック518において、1つ以上の制御モジュール322または信号オブジェクト332を調整することができる。プロセス制御システムがプロセスプラント10内で実行される状態になっていると判断される場合、上に説明したように、プロセス制御システムをプロセスプラント10内で実行することができる、または格納しておいて後で実行することができる。
【0092】
ブロック518では、調整を制御モジュール322または信号オブジェクト332のパラメータに対して行なって、プロセス制御システムの性能を向上させることができる。これを行なう際に、制御モジュール322の応答に関するパラメータを調整することができる、または構成された誤接続を、信号オブジェクト332を出入りするパスを変更することにより修正することができる。幾つかの実施形態では、これを行なう際に、制御モジュール322を他の制御モジュール322に置き換えて、より良好な性能を、特に制御モジュール322の重要な特徴が制御モジュールクラスごとに定義される構成の例において実現することができる。信号オブジェクト332を同じようにして、他の信号オブジェクト332で調整するか、または他の信号オブジェクト332に置き換えることができる。調整が既に行なわれている場合、ブロック514において調整後のプロセス制御システムを再度テストして、別の調整が必要であるかどうかについて判断することができる。プロセス制御システムの性能が所定の品質パラメータに収まる場合、上に説明したように、プロセス制御システムをプロセスプラント10内で実行することができる、または格納しておいて後で実行することができる。
【0093】
ブロック520では、プロセス制御システムを構成して、適切な値を信号オブジェクト332のパス338に割り当てることにより、プロセスプラント10の特定のI/O構造内で動作させることができる。プロセスプラント10のI/O構造に関する情報を受信することができ、使用することにより信号オブジェクト332のパス338を割り当てて、プロセスプラント10内のフィールドデバイス342を指定することができる。パス338の割り当ては、プロセス制御システムをプロセス制御ネットワーク100内に設置する前の、または設置した後のいずれかの時点で、信号オブジェクト332のパス338をバッチ更新することにより行なうことができる。幾つかの実施形態では、1つ以上の信号オブジェクト332またはパス338が、実行時間まで未定義のままとされるか、または未割り当てのままとされることにより、信号オブジェクト332またはパス338をプロセスプラントオペレータがプロセス制御システムの実行中に構成して、プロセスプラント10を運転することができる。また、ブロック520では、プロセス制御システムをプロセスプラント10のプロセス制御ネットワーク100内に設置するか、または組み込むことにより、制御運転をプロセスプラント10内で実行することができる。
【0094】
ブロック522では、プロセス制御システムがプロセスプラント10の全部または一部を、プロセス制御ネットワーク100を介して運転することができる。プロセス制御システムが、入力336または出力338が信号オブジェクト332に関連付けられない状態の制御モジュール322を含む場合、プロセスプラントオペレータに催促して、信号オブジェクト332を入力336または出力338に、制御モジュール322の実行中に関連付けさせることができる。代わりに、信号オブジェクト332を制御モジュール322に、プロセス制御ネットワーク100内のエキスパートシステム104、フィールドデバイス342、または他のデータソースからの情報に基づいて関連付けるようにしてもよい。同様に、プロセス制御システムが、パス338が未割り当ての状態の信号オブジェクト332を含む場合、パス338を自動的に、または手動でフィールドデバイス342に、または定数データ値に、関連付け後の制御モジュール322の実行中に割り当てるようにしてもよい。幾つかの実施形態では、プロセス制御システムを未関連付け、または未割り当て信号オブジェクト332またはパス338についてスタートアップ中にチェックすることができ、是正措置を当該時点で採るか、または提案することができる。別の実施形態では、未関連付け、または未割り当て信号オブジェクト332またはパス338は、関連付け後の制御モジュール322が実際に実行される場合にのみ構成することができる。従って、プロセス制御システムは、運転が中断するまで制御機能を実行してプロセスプラント10に対する制御を、プロセス制御ネットワーク100を介して容易にするか、または行なうことができる。
シャドウブロック
【0095】
本明細書において開示される本発明の別の態様によれば、プロセス制御は、プロセスプラント10のI/O構造からシャドウブロックを使用して少なくとも部分的に分離することができる。シャドウブロックは、コントローラ11上で実行されて、フィールドデバイスの動作を写像するか、またはフィールドデバイスの機能ブロックを写像することができる。コントローラ11の制御モジュール34は、プロセス制御データをシャドウブロック36に直接送信することができ、シャドウブロック36が更に、プロセス制御データをコントローラとフィールドデバイス15~23、40~50との間に介在して送受信することができる。このように、シャドウブロックは、制御モジュールとフィールドデバイスとの間の通信を管理して制御モジュールをフィールドデバイスから少なくとも部分的に分離することができる。幾つかの実施形態では、シャドウブロック36は更に、プロセス制御データを、制御モジュールが使用する標準的なフォーマットとプロセスプラント10の固有のI/O構造内で使用されるフォーマットまたはプロトコルとの間で変換することにより、制御モジュール34をI/O構造から分離することができる。汎用シャドウブロックは、特定のプロセス制御システムに対応して、フィールドデバイスから受信される記述データを使用して自動的に構成することができる。記述データは、フィールドデバイスの機能をテキスト形式の標準記述言語で記述することができる。このように、制御モジュールを汎用シャドウブロックに関連付けることができ、汎用シャドウブロックを、記述データを使用して自動的に構成することにより、セットアップ時間を短縮することができる、メモリを節約することができる、プロセス制御システム内の誤りを低減することができる。
【0096】
図6は、汎用シャドウブロックをプロセスプラント制御システム内で使用する様子を示すブロック図である。
図1A~
図1Bに示すように、コントローラ11は、プロセスプラントの一部または全部の運転を、例示的なプロセス制御ネットワーク100の一部として制御するように構成される。制御モジュール34は、プロセスプラントに関するデータを受信して、ユーザインターフェース120に送信することにより、プロセスプラントオペレータが、プロセスプラントの運転を、プロセス制御ネットワーク100を介して監視して制御することができる。ユーザインターフェース120はコントローラ11内で実行されるか、またはサーバ150もしくはユーザインターフェースデバイス112のいずれか、または両方を含むことができる別のコンピュータ上で実行される。プロセスプラント10のフィールドデバイスを監視して制御するために、制御モジュール34は、コントローラ11内で実行される1つ以上のシャドウブロック36とインタラクションを行なう。シャドウブロック36は、フィールドデバイス20または制御デバイス24内で実行される機能ブロック14の動作を模擬するか、または写像する。機能ブロック14をコントローラ11でシャドーイングすることにより処理効率を、I/O構造及び通信構成を制御モジュール34の動作から少なくとも部分的に分離することにより高めることができる。プロセス制御におけるシャドウブロックについての詳細な説明に関しては、米国特許第6,298,454号(Schleissらによる“Diagnostics in a Process Control System”)を参照されたく、この特許文献は、引用をもって本明細書に組み込み記載されているものとする。図示の実施形態では、1つのシャドウブロック36が、フィールドデバイス20の機能ブロック14の動作を写像しているものとして図示されているが、これらのコンポーネントの更に別の構成、または代わりに別の構成を他の実施形態において利用するようにしてもよい。
【0097】
シャドウブロックは、フィールドデバイスと通信して、機能ブロックの特定の動作を写像するように構成される必要がある。これは、新規種類のシャドウブロックをフィールドデバイスの異なる種類またはモデルごとに生成することにより既に行なわれており、当該シャドウブロックは、シャドウブロックが生成されたときのフィールドデバイス、通信プロトコル、及びI/O構造に固有である。フィールドデバイスを置き換えるか、またはI/O構造を変更する場合、シャドウブロックをこのような変更に対応して構成し直す必要がある。このように、技術者またはプロセスプラントオペレータが生成する必要があるシャドウブロックの数は、プロセスプラント内のフィールドデバイスの数に近いか、またはフィールドデバイスの数よりも多くなる可能性があり、これらのシャドウブロックは、プロセスプラントコンポーネントまたは構造に変更を加えるたびに構成し直す必要がある。シャドウブロックの数及び定常的な手動再構成の回数がこのように多くなるのを回避するために、本発明の1つの態様は、汎用シャドウブロックを利用する。
【0098】
汎用シャドウブロックは、フィールドデバイスに関する記述データを使用して自動的に構成されるように設計される汎用目的のシャドウブロックである。図示の実施形態では、制御モジュール34に関連付けられるシャドウブロック36は、最初にインスタンス化または実行される場合の汎用シャドウブロックである。次に、汎用シャドウブロック36は、記述データ13をフィールドデバイス20またはデータベース140から受信する。記述データ13を使用して汎用シャドウブロック36を構成することにより、機能ブロック14と通信して機能ブロック14を写像する。構成後のシャドウブロック36は、フィールドデバイス20に関連付けられるプロセス制御データを制御モジュール34に、制御モジュール34への入力として供給することができる。このような入力プロセス制御データを制御モジュール34が使用して、プロセスプラントの一部の状態を判断する、または出力プロセス制御データを生成して、プロセスプラントの運転を制御する。更に、または代わりに、構成後のシャドウブロック36は、プロセス制御データを制御モジュール34からの出力として受信することができる。次に、このような出力プロセス制御データは、フィールドデバイス20にシャドウブロック36を介して送信される。
【0099】
記述データ13は、機能ブロック14の動作を標準のテキスト形式フォーマットで記述することができる。記述データ13は、機能ブロック14に関連付けられる種類、スケール、範囲、出力、デバイスサイクル、測定遅延、制御遅延、または制御プロセスを特定する情報を含むことができる。記述データ13は更に、ユーザインターフェース120によるフィールドデバイス20の表示に関する情報を含むことができる。例えば、記述データ13は、ユーザインターフェース120に表示すべき名称または記述だけでなく、フィールドデバイス20の出力に関連付けられるパラメータを特定することができる。幾つかの実施形態では、記述データ13は更に、フィールドデバイス20に関連付けられるI/O構造を記述する。このようなI/O構造データは、通信プロトコル、ネットワーク接続パス、更新サイクル、通信遅延、またはノイズレベルに関する情報を含むことができる。上記のように、I/O構造データによりコントローラ11はフィールドデバイス20と直接通信するか、またはプロセス制御ネットワーク100を介して間接的に通信することができる。
【0100】
汎用シャドウブロック36は、記述データ13をフィールドデバイス20から、またはデータベース140から受信することができる。フィールドデバイス20は、記述データ13をフィールドデバイス20に内蔵されるメモリに格納することができ、当該メモリはリードオンリメモリまたは再書き込み可能メモリとすることができる。幾つかのフィールドデバイス20は、記述データ13をフィールドデバイス20の1つ以上の機能ブロック14内に取り込むことができる。フィールドデバイス20がプロセッサを含む場合、記述データ13の一部は、リクエストされるとプロセッサを使用して動的に生成することができる。汎用シャドウブロック36は、記述データ13を受信するリクエストをフィールドデバイス20に送信することができ、当該リクエストによりフィールドデバイス20が記述データ13を汎用シャドウブロック36に送信するようになる。送信された記述データ13を受信すると、汎用シャドウブロック36は、コントローラ11内でプロセッサ30を使用して構成されることにより、機能ブロック14を写像することができる。代わりに、汎用シャドウブロック36は、記述データ13をデータベース140から受信することができる。データベース140は、プロセスプラントのデバイス及び構造に関する情報を含むように集中的に構築されて維持される。記述データ13は、バッチ処理を使用して生成するか、または更新することにより、複数のエントリを一度に生成するか、または変更することができる。この場合も同じく、シャドウブロック36は、記述データ13をデータベース140に対してリクエストすることができ、リクエストする際に、データベース140のエントリをシャドウブロック36にリンクさせることができる。データベース140の記述データ13が変更されると、シャドウブロック36は、データベース140にリンクすることにより自動的に再構成することができる。
【0101】
記述データ13のソースに関係なく、記述データ13を汎用シャドウブロック36にユーザ入力に基づいて供給することができる。プロセスプラントオペレータまたは他のユーザは、フィールドデバイス20をプロセス制御ネットワーク100内の複数のフィールドデバイスから選択することができる。幾つかの実施形態では、フィールドデバイス20は、コントローラ11に通信可能に接続されているとして自動的に検出されるフィールドデバイス群からなる自動生成リストまたはグループから選択される。他の実施形態では、制御プログラムを予め生成しておいてコントローラ11にインストールすることができ、当該制御プログラムは、プロセスプラントの汎用制御システムを指定することができる。このような実施形態では、コントローラ11は、各フィールドデバイスを自動的に決定して各汎用シャドウブロック36に関連付けることができる。
【0102】
幾つかの実施形態では、汎用シャドウブロック36は、複数の汎用シャドウブロックから選択することができる。各汎用シャドウブロックは、インラインセンサまたは電子制御バルブのような所定クラスのフィールドデバイス機能ブロックを写像するように適合させることができる。上に説明したように、汎用シャドウブロッククラス群の各汎用シャドウブロッククラスをインスタンス化して構成することにより、特定のフィールドデバイスまたは機能ブロックを、記述データを使用して写像することができる。複数の汎用シャドウブロッククラスを使用するとシステムの複雑さが増すが、これらの汎用シャドウブロッククラスの数は、プロセス制御システムに必要とされる非汎用シャドウブロックの数よりも少なくすることができるので、記憶容量、構成、及び複雑さに関する非常に大きな利点がそれにも拘らず、汎用シャドウブロッククラスを使用することにより得られる。幾つかの実施形態では、1つ以上の汎用シャドウブロックは、コントローラ11のライブラリ12に格納することができ、ライブラリ12から汎用シャドウブロック36を選択することができる。
【0103】
更に、制御モジュール34は、制御モジュールクラスまたは下位制御モジュールクラスのインスタンスとすることができる。これにより、制御モジュール34をフィールドデバイス20のI/O構造または種類とは無関係なモジュールとすることができる。このような制御モジュールクラスは、1つ以上のシャドウブロッククラスに関連付けることができるので、制御モジュール34をコントローラ11上でインスタンス化すると、当該制御モジュールが特定クラスの1つ以上の汎用シャドウブロック36を制御モジュール36に自動的に関連付けるようになる。同様に、コントローラ11は、制御モジュールに関連付けるべき汎用シャドウブロックの数及び種類を、制御モジュールの種類または構成に基づいて自動的に決定することができる。
【0104】
汎用シャドウブロックを様々な異なる制御モジュールに関連付けることができるために、標準的な通信フォーマットを制御モジュールとシャドウブロックとの間で使用することができる。この標準的な通信フォーマットにより、制御モジュール34はシャドウブロック36を、記述データ13によるこれらのシャドウブロックの構成に関係なく利用することができる。記述データ13を使用して構成した後、構成後のシャドウブロック36は、プロセス制御データを標準的な通信フォーマットとフィールドデバイスが使用する通信プロトコルとの間で変換することができる。例えば、シャドウブロック36は、プロセス制御データをフィールドデバイス20から受信することができ、受信したデータを標準的な通信フォーマットに変換することができ、変換後のデータを制御モジュール34の入力に供給することができる。別の例として、シャドウブロック36は、制御コマンドを制御モジュール34から標準的な通信フォーマットで受信することができ、制御コマンドをフィールドデバイス20が使用する通信プロトコルに変換することができ、変換後の制御コマンドをフィールドデバイス20に送信することができる。
【0105】
図7は、例示的なシャドウブロックインスタンス化方法700による汎用シャドウブロックをプロセスプラント制御に使用する様子を示すフロー図である。方法700の他に、汎用シャドウブロックを使用する他の方法を本明細書における記述の通りに実行するようにしてもよい。方法700は、コントローラ11で実行されることになる制御モジュール34を選択するブロック702から始まり、ブロック704では、汎用シャドウブロック36を制御モジュール34に関連付ける。ブロック706では、記述データ13を取得し、ブロック708では、記述データ13を使用して汎用シャドウブロック36を構成する。次に、ブロック710では、構成後のシャドウブロック36及び制御モジュール34を実行してプロセスプラントを運転する。ブロック712において、汎用シャドウブロック36を構成するために必要な参照が見つからないと判断される場合には必ず、ブロック714において、プロセスプラントオペレータに催促して、見つからない情報を供給させる。ブロック716において受信されるオペレータ入力に基づいて、コントローラ11は、ブロック718において、更に別の構成のシャドウブロック36が必要であるかどうかについて判断することができる。更に別の構成のシャドウブロック36が必要である場合、方法700はブロック708に進むことができ、ブロック708において、シャドウブロック36を構成し、ブロック710において、プロセスプラントを運転する。更に別の構成のシャドウブロック36が必要ではない場合、方法700はブロック710に進み、ブロック710では、プロセスプラントを、ブロック720において運転が終了したと判断されるまで運転する。
【0106】
ブロック702では、方法が、制御モジュール34を選択することから始まる。制御モジュール34は、ユーザインターフェース120を介して手動で選択することができる、またはコントローラ11に、プロセス制御ネットワーク100またはコントローラ11の構成中またはスタートアップ中に読み込むことができる。例えば、プロセス制御エンジニアまたはプロセスプラントオペレータは、ユーザインターフェース120を使用して制御モジュール34を、ライブラリ12に格納することができる複数の制御モジュールから選択することができる。制御モジュール34は、制御モジュールクラスから選択するか、またはインスタンス化することができる。このような実施形態では、同じクラスの制御モジュールの各インスタンスは、同じ標準的なフォーマットとして、プロセスプラントオペレータに対してユーザインターフェース120を介して表示することができる。このようなモジュールは、コントローラ11またはユーザインターフェース120に表示されるラベルで区別することができる。いずれにしても、コントローラ11は、ブロック702において、1つ以上の制御モジュール34の指示を受信し、これらの制御モジュール34が次に、フィールドデバイス20に汎用シャドウブロック36を介して接続される。幾つかの実施形態では、1つ以上の制御モジュール34は、ユーザが制御システムの開発中に選択することができ、この選択は、プロセスプラントとは別の場所で行なうことができる。このような実施形態では、制御モジュール34に関する情報を格納し、後で、コントローラ11のメモリ32に転送するようにしてもよい。
【0107】
ブロック704では、1つ以上の汎用シャドウブロック36を、選択した制御モジュール34に関連付ける。これを行なう際に、制御モジュール34の1つ以上の入力または出力に対応する汎用シャドウブロック36のインスタンスへの参照を指定することができる。この参照で、プロセス制御データを制御モジュール34の出力から受信することになる、またはプロセス制御データを制御モジュール34の入力に供給することになる汎用シャドウブロック36を特定することができる。この参照で、汎用シャドウブロック36のインスタンスに達するパスを特定することができる。幾つかの実施形態では、この参照で更に、プロセス制御ネットワーク100内のフィールドデバイス20に達するパスを特定することができる、またはその他には、シャドウブロック36でシャドーイングすることになるフィールドデバイス20を指定することができる。上に説明したように、制御モジュール34の幾つかの入力または出力で、代わりに、定数値または静的情報を、参照定数37を介して参照することができる。各シャドウブロック36は、制御モジュール34の種類またはクラスに基づいて自動的に関連付けることができる、または各シャドウブロック36は、プロセス制御ネットワーク100のユーザが選択することができる。代わりに、各シャドウブロック36は、制御システムの開発中に既に生成されている情報に基づいて自動的に関連付けることができる。例えば、複数のモジュール34、及び関連する汎用シャドウブロックへの参照は、データベース140に格納し、コントローラ11が取り出すことができる。
【0108】
ブロック706では、1つ以上の汎用シャドウブロック36を構成するための記述データ13をコントローラ11で受信する。記述データ13は、フィールドデバイス20またはデータベース140から取得することができる。例えば、汎用シャドウブロック36は、フィールドデバイス140に対して、情報に関するリクエストでポーリングを行なうことができ、これによりフィールドデバイスが、記述データ13を生成するか、または送信するようになる。別の例として、ユーザはオプションを、ユーザインターフェース120を介して選択することができ、これによりシャドウブロック36が、記述データ13をデータベース140に対してリクエストして、データベース140から受信することができる。記述データ13は、機能ブロック14の動作を記述する標準化テキスト形式フォーマットで任意の汎用シャドウブロック36宛てに受信することにより、汎用シャドウブロック36で機能ブロック14をシャドーイングすることができるようになる。一旦、受信されると、記述データ13を使用して、1つ以上の汎用シャドウブロック36を構成することができる。実際、これらの汎用シャドウブロック36は、異なるフィールドデバイスからの記述データで構成される前の段階において同一とすることができ、これらのフィールドデバイスは、種類の点で異なる、フィールドデバイス内の機能ブロックの種類の点で異なる、またはコントローラ11と通信するために使用される通信プロトコルの点で異なる可能性がある。
【0109】
ブロック708では、1つ以上の汎用シャドウブロック36を構成して1つ以上のフィールドデバイス20の機能ブロック14を、受信した記述データ13を使用して写像する。シャドウブロック36を構成する際に、シャドウブロック36を構成して、フィールドデバイス20との通信をプロセス制御ネットワーク100の関連I/O構造を介して処理する、機能ブロック14の動作を、プロセス制御データを制御モジュール20に供給することにより、またはプロセス制御データを制御モジュール20から受信することにより写像する、プロセス制御データを制御モジュール34が使用する標準的な通信フォーマットとフィールドデバイス20が使用する通信プロトコルとの間で変換することができる。これを行なう際に、記述データ13の受信テキストを構文解析して、特定用情報を抽出し、次に汎用シャドウブロック36のパラメータを調整して、記述データ13から抽出される情報を取り込むことができる。幾つかの実施形態では、抽出した情報の所定部分を使用して、データベース中の、またはライブラリ中の別の情報を検索することにより、フィールドデバイス20に格納し、コントローラ11にプロセス制御プロトコルを介して、フィールドデバイス20とコントローラ11との間のプロセス制御通信インフラストラクチャを使用して送信する必要がある記述データ13の量を減らすことができる。例えば、記述データ13中のフィールドエントリは、機能ブロックの一般的な種類をコードで指定することができ、当該コードをコントローラ11が使用して更に別の情報をデータベース140から取り出すことができる。ブロック708における構成後、構成後のシャドウブロック36は、他のシャドウブロックと同様に機能して機能ブロック14を写像し、コントローラ11とフィールドデバイス20との間の通信を関連I/O構造を介して処理する。
【0110】
ブロック710では、コントローラ11は、プロセスプラント、またはプロセスプラントのうちフィールドデバイス20を格納する部分を、制御モジュール34を使用して運転することができる。制御モジュール34は、プロセス制御データを1つ以上のシャドウブロック36から標準的な通信フォーマットで受信する。制御モジュール34の出力からの、他の制御モジュールからの、または他のソースからのデータは、制御モジュール34への入力として使用することもできる。例えば、参照定数37は、制御モジュール34への入力として使用することができる。制御モジュール34からシャドウブロック36に出力されるプロセス制御データは、ローカルI/O構造に対応する適切な通信プロトコルに変換して、フィールドデバイス20に送信することにより、プロセスプラントの運転を制御することができる。例えば、制御モジュール34からの標準的な通信フォーマットデータは、バルブアクチュエータ宛てに発信され、かつバルブアクチュエータに無線I/O構造を介して送信されるWireless HART(登録商標)プロトコルに変換することができる。プロセス制御データを受信すると、バルブアクチュエータは、バルブを、受信した制御コマンドに基づいて開閉するようになる。このようなプロセス制御は、プロセス制御ネットワーク100の動作を変更する所定の原因が生じるまで継続して行なわれる。
【0111】
ブロック712では、コントローラ712は、制御モジュール34及びシャドウブロック36が完全に構成されているかどうかを判断し、判断する際に、いずれの参照が見つからないかを、または正常に行なわれないかを判断することができる。参照は、例えばプロセスプラントのI/O構造が変更された場合、または特定のプロセス制御ネットワーク100に関する情報が必要ではない場合、制御モジュール34の入力または出力に見つからない可能性がある。記述データ13の誤りにより、または構成に対する変更により同じようにして、参照が見つからないか、または壊れる可能性がある。同様に、フィールドデバイスを特定する参照または参照の一部が見つからないか、または不正である可能性があり、この場合、汎用シャドウブロック36は、フィールドデバイス20に関連付けられる記述データ13を取得することができない。ブロック712において、全ての制御モジュール34及びシャドウブロック36が完全に構成されていると判断される場合、プロセスプラントの制御システムの動作は、コントローラ11がブロック720において、プロセスプラントの運転を続けられないと判断するまで継続させることができる。
【0112】
コントローラ11が、1つ以上の参照が見つからないと判断する、または不正であると判断する場合、ブロック714において、プロセスプラントオペレータに催促して参照に関する更に別の情報を供給させることができる。このような催促をプロセスプラントオペレータに、ユーザインターフェース120を使用して提示することができる。この催促により、オペレータに対して、参照が見つからない、または壊れていることについて警報を発することができ、情報をリクエストして参照を生成するか、または更新することができる。幾つかの実施形態では、催促は、オペレータがフラグをセットして特定の情報を無視することができるオプションを含むことができる。例えば、制御モジュール34の特定の入力は、システム構成またはI/O構造に起因して、プロセス制御ネットワーク100の正常な動作に必要とならない可能性がある。このような例では、オペレータは、フラグをセットして当該入力を無視するオプションを選択することができる。フラグは、制御モジュール34または構成後のシャドウブロック36のいずれかでセットすることができ、当該フラグを使用し続けて、フィールドデバイス20と制御モジュール34の他の入力または出力との間の通信を行なうことができる。
【0113】
ブロック714において催促を提示すると、コントローラ11は、ブロック716において、更に別の情報をプロセスプラントオペレータから受信することができる。オペレータは、フィールドデバイス20または機能ブロック14の指示を供給することができ、この指示に基づいて、シャドウブロック36を上記の通りに構成することができる。オペレータは、代わりに見つからない参照を無視するオプションの選択を行なうことができる。幾つかの実施形態では、コントローラ11は、選択される1つ以上の機能ブロック14またはフィールドデバイス20をプロセス制御ネットワーク100内に検出される機能ブロックまたはフィールドデバイスのリストから受信することができる。受信した情報は、フィールドデバイス20から受信されるデータの解釈または使用に関する情報を含むこともできる。例えば、オペレータは、機能ブロック14から出力されるデータの単位を指定することができ、当該情報を制御モジュール34が使用して演算をスケーリング処理することができる。
【0114】
ブロック716において、プロセスプラントオペレータの入力を受信すると、コントローラ11は、ブロック718において、シャドウブロック36の更に別の構成が必要かどうかについて判断することができる。更に別の構成が必要である場合、方法700はブロック708に進むことができ、ブロック708では、シャドウブロック36を構成する。更に別の構成が必要ではない場合、コントローラ11は更に、ブロック720において、プロセスプラントの運転を続けるかどうかについて判断することができる。運転を続ける場合、コントローラ11は、ブロック710において、プロセス制御システムを実行してプロセスプラントを運転し続けることができる。プロセスプラントの運転を続けない場合、方法700は終了する。
更に別の注意事項
【0115】
以下の更に別の注意事項を、これまでの説明に適用する。本明細書全体を通じて、サーバ150、UIデバイス112、または任意の他のデバイスもしくはルーチンによって行なわれるものとして説明される動作は概して、データを機械可読命令に従って操作または変換するプロセッサの動作またはプロセスを指す。機械可読命令は、プロセッサに通信可能に接続されるメモリデバイスに格納されてメモリデバイスから取り出すことができる。すなわち、本明細書において説明される方法は、非一時的なコンピュータ可読媒体に(すなわち、メモリデバイスに)格納される機械実行可能命令セットで具体化される。命令は、対応するデバイス(例えば、サーバ、モバイル機器など)の1つ以上のプロセッサにより実行されると、命令により、プロセッサが方法を実行するようになる。命令、ルーチン、モジュール、プロセス、サービス、プログラム、及び/又はアプリケーションが、コンピュータ可読メモリまたはコンピュータ可読媒体に格納される、または保存されるものとして本明細書において言及される場合、“stored(格納する)”、“saved(保存する)”という単語は、一時的な信号を含まないものとする。
【0116】
更に、“operator(オペレータ)”、“personnel(人員)”、“person(人間)”、“user(ユーザ)”、“technician(技術者)”という用語、及び他の同様の用語は、本明細書において説明されるシステム、装置、及び方法を使用することができる、またはシステム、装置、及び方法とインタラクションを行なうプロセスプラント環境内の人間を表わすために使用されるが、これらの用語は、限定的に使用されないものとする。これまでの説明から分かるように、本明細書において説明されるシステム、装置、及び方法は、プロセス制御システムを構成する、または動作させるこのような人員の能力を向上させるという利点または効果を有することができる。特定の用語が本記述に使用される場合、当該用語は、プラント人員が従事する仕事が従来通りの仕事であるという部分的な理由により使用されるが、当該特定の仕事に従事することができる人員を限定するために使用されるのではない。
【0117】
更に、本明細書全体を通じて、複数の例が、単数の例として記述されるコンポーネント、操作、または構造を実現することができる。1つ以上の方法における個々の操作が個別の操作として例示かつ説明されているが、個々の操作のうちの1つ以上の操作は、同時に行なわれてもよく、これらの操作が図示の順序で行なわれる必要はない。例示的な構成の別体のコンポーネントとして提示される構造及び機能は、複合構造または複合コンポーネントとして実現することができる。同様に、単一のコンポーネントとして提示される構造及び機能は、別体のコンポーネントとして実現することができる。これらの及び他の変更、変形、追加、及び改善は、本明細書における主題の範囲に含まれる。
【0118】
そうでないと明示的に記載されていない限り、“processing(処理する)”、“computing(算出する)”、“calculating(計算する)”、“determining(判断する)”、“identifying(特定する)”、“presenting(提示する)”、“displaying(表示する)”などのような単語を使用した本明細書における説明は、1つ以上のメモリ(例えば、揮発性メモリ、不揮発性メモリ、またはこれらのメモリを組み合わせた複合メモリ)、レジスタ、または情報を受信する、格納する、送信する、または表示する他の機械コンポーネント内の物理(例えば、電子、磁気、または光)量として表わされるデータを操作する、または変換する機械(例えば、コンピュータ)の動作またはプロセスを指している。
【0119】
ソフトウェアで実行される場合、本明細書において説明されるアプリケーション、サービス、及びエンジンのうちの任意の要素は、任意の有形の非一時的なコンピュータ可読メモリに格納することができ、例えば磁気ディスク、レーザディスク、固体メモリデバイス、分子メモリストレージデバイス、または他の記憶媒体に、コンピュータまたはプロセッサのRAMもしくはROMなどに格納することができる。本明細書において開示される例示的なシステムは、他のコンポーネントの中でもとりわけ、ハードウェアで実行されるソフトウェア及び/又はファームウェアを含むものとして開示されているが、このようなシステムは単なる例示に過ぎず、限定的に考えられてはならないことに留意されたい。例えば、これらのハードウェアコンポーネント、ソフトウェアコンポーネント、及びファームウェアコンポーネントのうちの任意のコンポーネント、または全てのコンポーネントは、ハードウェアでのみ、ソフトウェアでのみ、またはハードウェア及びソフトウェアの任意の組み合わせでのみ具体化されることが想到される。従って、この技術分野の当業者は、提供される例が、このようなシステムを実現するための唯一の方法ではないことを容易に理解できるであろう。
【0120】
本発明について、特定の例を挙げて説明してきたが、これらは例示に過ぎず、本発明を限定することを意図するものではないが、開示された実施形態は、本発明の趣旨と範囲から逸脱することなく、変更、追加、削除などを行えることは当業者にとって明らかであろう。
態様
【0121】
本開示の以下の態様は、単なる例示に過ぎず、本開示の範囲を限定するものではない。
【0122】
1.プロセスプラントを運転するコンピュータ実行方法であって:制御プロセスに関連付けられる制御モジュールを選択し、前記制御モジュールは、プロセス制御データを受信するように構成される少なくとも1つの入力を有し;第1信号オブジェクトを前記制御モジュールの前記少なくとも1つの入力に関連付け;第1パスを前記信号オブジェクトに割り当て、前記第1パスで、前記プロセスプラントのプロセス制御デバイスの出力を指定し、前記制御モジュールは、前記プロセス制御デバイスに関連付けられるプロセス制御データを前記第1信号オブジェクトから受信する、コンピュータ実行方法。
【0123】
2.前記第1信号オブジェクトから受信される前記プロセス制御データは、前記プロセスプラントのI/O構造とは無関係である、態様1に記載のコンピュータ実行方法。
【0124】
3.前記第1信号オブジェクトは、出力データを前記フィールドデバイスから1種類以上のプロトコルを介して受信し、前記プロセス制御データを、受信した前記出力データから抽出し、前記プロセス制御データを前記制御モジュールに、受信した前記出力データの前記1種類以上のプロトコルとは関係なく、標準的なフォーマットで供給する、態様1又は態様2のいずれかに記載のコンピュータ実行方法。
【0125】
4.更に:第2信号オブジェクトを前記制御モジュールの出力に関連付け;第2パスを前記第2信号オブジェクトに割り当て、前記第2パスで、前記プロセスプラントの前記プロセス制御デバイスまたは別のプロセス制御デバイスのうちの一方のプロセス制御デバイスの入力を指定し、前記制御モジュールはプロセス制御データを前記プロセス制御デバイスまたは別のプロセス制御デバイスに前記第2信号オブジェクトを介して、前記プロセス制御デバイスまたは別のプロセス制御デバイスに関連付けられるI/O構造とは関係なく送信する、態様1~3のいずれか1つの態様に記載のコンピュータ実行方法。
【0126】
5.更に:第2制御モジュールを選択し、前記第2制御モジュールは入力を含み;前記第2制御モジュールの前記入力を前記第2信号オブジェクトに関連付け、前記第2制御モジュールの前記入力を前記第2信号オブジェクトに関連付けることにより、前記第2制御モジュールが、前記プロセス制御データを前記第1制御モジュールの前記出力から前記第2制御モジュールの前記入力で受信するようになる、態様4に記載のコンピュータ実行方法。
【0127】
6.更に:前記第1パスを前記第1信号オブジェクトに割り当てる前に、第1コンピュータのプロセッサにより、メモリに、前記制御モジュール、及び前記関連付け後の前記第1信号オブジェクトを格納し;前記第1パスを前記第1信号オブジェクトに割り当てる前に、第2コンピュータのプロセッサにより、前記メモリから、前記制御モジュール、及び前記関連付け後の前記第1信号オブジェクトを取り出す、態様1~5のいずれか1つの態様に記載のコンピュータ実行方法。
【0128】
7.前記第1パスを前記第1信号オブジェクトに、前記制御モジュールの実行中に割り当てて、前記プロセスプラントを運転する、態様6に記載のコンピュータ実行方法。
【0129】
8.更に:第3信号オブジェクトを、前記制御モジュールの少なくとも1つの入力に関連付け;第3パスを前記第3信号オブジェクトに割り当て、前記第3パスで定数値を定義する、態様1~7のいずれか1つの態様に記載のコンピュータ実行方法。
【0130】
9.前記プロセス制御デバイスはフィールドデバイスを備える、態様1~8のいずれか1つの態様に記載のコンピュータ実行方法。
【0131】
10.前記制御モジュールは、オブジェクト指向プログラミング言語で記述されるクラスのインスタンスである、態様1~9のいずれか1つの態様に記載のコンピュータ実行方法。
【0132】
11.更に、前記制御モジュールのインスタンスが属する前記クラスを更新し、前記クラスに対する前記更新は、前記クラスの前記インスタンスに対して自動的に行なわれる、態様10に記載のコンピュータ実行方法。
【0133】
12.前記制御モジュールを選択する際に、ユーザにより選択される制御モジュールを、複数の制御モジュールを格納するライブラリから受信する、態様1~11のいずれか1つの態様に記載のコンピュータ実行方法。
【0134】
13.複数の制御モジュールを前記第1信号オブジェクトに関連付け、前記第1パスを前記第1信号オブジェクトに割り当てることにより、前記第1信号オブジェクトに関連付けられる前記複数の制御モジュールの各制御モジュールが、前記プロセス制御デバイスに関連付けられるプロセス制御データを前記第1信号オブジェクトから受信するようになる、態様1~12のいずれか1つの態様に記載のコンピュータ実行方法。
【0135】
14.前記制御モジュールを選択すること、及び前記第1信号オブジェクトを前記制御モジュールの前記少なくとも1つの入力に関連付けることが、制御方式を制御方式ライブラリから選択することにより行なわれて、選択した前記制御方式に、前記制御モジュール及び前記関連付け後の前記第1信号オブジェクトの両方を取り込むようにする、態様1~13のいずれか1つの態様に記載のコンピュータ実行方法。
【0136】
15.選択した前記制御方式に前記第1パスを取り込まない、態様14に記載のコンピュータ実行方法。
【0137】
16.更に:ユーザインターフェースに直接取り込まれる第4信号オブジェクトを選択し;選択した前記第4信号オブジェクトが前記ユーザインターフェースに取り込まれるようにし;第4パスを前記第4信号オブジェクトに割り当て、前記第4パスで、前記プロセスプラントの別のプロセス制御デバイスの出力を指定し;前記ユーザインターフェースで、前記別のプロセス制御デバイスに関連付けられ、かつ前記第4信号オブジェクトを介して受信されるプロセス制御データの指示を表示する、態様1~15のいずれか1つの態様に記載のコンピュータ実行方法。
【0138】
17.前記第4信号オブジェクトをいずれの制御モジュールにも関連付けない、態様16に記載のコンピュータ実行方法。
【0139】
18.前記第4信号オブジェクトは、前記プロセス制御データのスケールに関する情報を含む、態様16又は態様17のいずれかに記載のコンピュータ実行方法。
【0140】
19.前記第4信号オブジェクトは、前記プロセス制御データに基づくアラームを含む、態様16~18のいずれか1つの態様に記載のコンピュータ実行方法。
【0141】
20.更に:選択される1つ以上のアラーム基準を前記ユーザから受信し;前記インターフェースに指示してアラームを前記ユーザに、前記1つ以上のアラーム基準が満たされる場合に提示する、態様19に記載のコンピュータ実行方法。
【0142】
21.前記第4信号オブジェクトは、特定ビットを前記プロセス制御データの1つ以上の出力ストリームから取り出して前記ユーザインターフェースに提示する情報を含む、態様16~20のいずれか1つの態様に記載のコンピュータ実行方法。
【0143】
22.更に:テストパスを前記第1信号オブジェクトに割り当て、前記テストパスをテストデータに関連付け;前記制御モジュールを、前記テストデータを使用して実行することにより、前記制御モジュールの動作を模擬する、態様1~21のいずれか1つの態様に記載のコンピュータ実行方法。
【0144】
23.前記テストデータは、前記プロセスプラントの異なる運転状態を表わす複数のテストデータ集合を含み、前記方法では更に:出力プロセス制御データを前記モジュールからテストデータ集合毎に受信し;受信した前記出力プロセス制御データを記録し;前記制御モジュールが正しく機能していることを、記録した前記出力プロセス制御データを使用して確認する、態様22に記載のコンピュータ実行方法。
【0145】
24.更に:記録した前記出力プロセス制御データを使用して、前記制御モジュールが所定の品質パラメータ内で機能していないと判断し;前記制御モジュールまたは前記第1信号オブジェクトの1つ以上のパラメータを調整し;前記1つ以上のパラメータの調整後に、前記制御モジュールを、前記テストデータを使用して実行することにより前記制御モジュールの動作を模擬し;出力プロセス制御データを前記モジュールからテストデータ集合毎に受信し;受信した前記出力プロセス制御データを記録する、態様23に記載のコンピュータ実行方法。
【0146】
25.前記テストデータは、前記プロセスプラントの前記I/O構造とは無関係である、態様23又は態様24のいずれかに記載のコンピュータ実行方法。
【0147】
26.更に、前記プロセスプラントの前記I/O構造の少なくとも一部を表わす情報を受信し、前記制御モジュールが正しく機能していることを確認した後に、かつ前記プロセスプラントの前記I/O構造の前記少なくとも一部を表わす前記情報を受信した後に、前記第1パスを前記第1オブジェクトに割り当てる、態様23~25のいずれか1つの態様に記載のコンピュータ実行方法。
【0148】
27.プロセスプラントを運転するプロセス制御システムであって:前記プロセスプラント内に配置される複数のプロセス制御デバイスと;前記複数のフィールドデバイスに通信可能に接続されるコントローラであって、該コントローラが、少なくとも1つの制御モジュールを有し、該少なくとも1つの制御モジュールが、入力プロセス制御データを受信する入力と、出力プロセス制御データを送信する出力と、を有する、前記コントローラと、を備え、前記制御モジュールの前記入力を第1信号オブジェクトに関連付けてプロセス制御データを受信し、前記第1信号オブジェクトには、前記複数のプロセス制御デバイスの1つのプロセス制御デバイスの出力を指定する第1パスが割り当てられ、前記制御モジュールは、前記プロセス制御デバイスに関連付けられるプロセス制御データを前記第1信号オブジェクトから受信する、プロセス制御システム。
【0149】
28.前記第1信号オブジェクトから受信される前記プロセス制御データは、前記プロセスプラントのI/O構造とは無関係である、態様27に記載のプロセス制御システム。
【0150】
29.前記第1信号オブジェクトは、出力データを前記フィールドデバイスから1種類以上のプロトコルを介して受信し、前記プロセス制御データを、受信した前記出力データから抽出し、前記プロセス制御データを前記制御モジュールに、受信した前記出力データの前記1種類以上のプロトコルとは関係なく標準的なフォーマットで供給する、態様27又は態様28のいずれかに記載のプロセス制御システム。
【0151】
30.前記制御モジュールの出力は、第2信号オブジェクトに関連付けられ;前記第2信号オブジェクトには、前記複数のプロセス制御デバイスの第2プロセス制御デバイスの入力を指定する第2パスが割り当てられ;前記制御モジュールはプロセス制御データを前記第2プロセス制御デバイスに前記第2信号オブジェクトを介して、前記第2プロセス制御デバイスに関連付けられる前記I/O構造とは関係なく送信する、態様27~29のいずれか1つの態様に記載のプロセス制御システム。
【0152】
31.前記第2信号オブジェクトは、前記コントローラの第2制御モジュールの入力に関連付けられ;前記第2制御モジュールの前記入力で、プロセス制御データを前記制御モジュールの前記出力から前記第2信号オブジェクトを介して受信する、態様30に記載のプロセス制御システム。
【0153】
32.前記第1パスは前記第1信号オブジェクトに、前記制御モジュールの実行中に前記コントローラにより割り当てられて、前記プロセスプラントを運転する、態様27~31のいずれか1つの態様に記載のプロセス制御システム。
【0154】
33.前記制御モジュールは、オブジェクト指向プログラミング言語で記述されるクラスのインスタンスである、態様27~32のいずれか1つの態様に記載のプロセス制御システム。
【0155】
34.前記制御モジュールは、制御モジュールクラスのメンバであり、前記制御モジュールクラスの各メンバは、前記制御モジュールクラスが更新されると自動的に更新される、態様27~33のいずれか1つの態様に記載のプロセス制御システム。
【0156】
35.更に、前記複数のプロセス制御デバイスに、かつ前記少なくとも1つの制御モジュールに通信可能に接続されるユーザインターフェースを備える、態様27~34のいずれか1つの態様に記載のプロセス制御システム。
【0157】
36.前記ユーザインターフェースは、前記複数のプロセス制御デバイスの第3プロセス制御デバイスに、いずれの制御モジュールにも関連付けられない第3信号オブジェクトを介して通信可能に接続される、態様35に記載のプロセス制御システム。
【0158】
37.前記ユーザインターフェースは、前記第3信号オブジェクトから受信されるプロセス制御データを前記ユーザインターフェースのユーザに提示する、態様36に記載のプロセス制御システム。
【0159】
38.前記第3信号オブジェクトは、プロセス制御データを前記ユーザインターフェースに、前記第3プロセス制御デバイスに関連付けられる前記I/O構造とは関係なく標準的なフォーマットで供給する、態様36又は態様37のいずれかに記載のプロセス制御システム。
【0160】
39.前記第3信号オブジェクトは:前記プロセス制御データのスケール;前記プロセス制御データに関連付けられるアラーム;または前記第3プロセス制御デバイスの1つ以上の出力ストリームから取り出される特定ビットのうちの1つ以上に関する情報を前記ユーザインターフェースに供給する、態様36~38のいずれか1つの態様に記載のプロセス制御システム。
【0161】
40.プロセスプラントを運転するコンピュータ実行方法であって:複数のフィールドデバイスに通信可能に接続されるコントローラのプロセッサで、制御モジュールの指示を受信して前記プロセスプラントを運転し;前記コントローラ内の汎用シャドウブロックを前記制御モジュールに関連付け;前記コントローラで、前記コントローラに通信可能に接続されるフィールドデバイスに関する記述データを受信し、前記記述データは、前記フィールドデバイスの機能ブロックを記述し;前記汎用シャドウブロックを構成して、前記コントローラ内で、前記フィールドデバイスの前記機能ブロックの動作を、受信した前記記述データに基づいて写像する、コンピュータ実行方法。
【0162】
41.前記汎用シャドウブロックを前記制御モジュールに関連付ける際に、前記制御モジュールの入力または出力の参照を指定して前記汎用シャドウブロックを特定する、態様40に記載のコンピュータ実行方法。
【0163】
42.前記参照で、前記フィールドデバイスに達するパスを指定する、態様41に記載のコンピュータ実行方法。
【0164】
43.更に、前記制御モジュールの別の入力または出力の第2参照を指定して定数値を特定する、態様41又は態様42のいずれかに記載のコンピュータ実行方法。
【0165】
44.更に:前記コントローラ内の更に別の汎用シャドウブロックを前記制御モジュールに関連付け;前記コントローラで、前記コントローラに通信可能に接続される更に別のフィールドデバイスに関する更に別の記述データを受信し、前記更に別の記述データは、前記更に別のフィールドデバイスの機能ブロックを記述し、前記更に別の汎用シャドウブロックは、構成前の前記シャドウブロックと同一であり;前記更に別の汎用シャドウブロックを構成して前記コントローラ内で、前記更に別のフィールドデバイスの前記機能ブロックの動作を、受信した前記更に別の記述データに基づいて写像する、態様40~43のいずれか1つの態様に記載のコンピュータ実行方法。
【0166】
45.前記更に別のフィールドデバイスの前記機能ブロックは、前記フィールドデバイスの前記機能ブロックとは種類が異なる、態様44に記載のコンピュータ実行方法。
【0167】
46.前記更に別のフィールドデバイスは、前記フィールドデバイスとは種類が異なる、態様44又は態様45のいずれかに記載のコンピュータ実行方法。
【0168】
47.前記更に別のフィールドデバイスは、前記フィールドデバイスとは異なる通信プロトコルを使用する、態様44~46のいずれか1つの態様に記載のコンピュータ実行方法。
【0169】
48.前記記述データは、前記フィールドデバイスをテキスト形式の標準記述言語で記述するデータを含む、態様40~47のいずれか1つの態様に記載のコンピュータ実行方法。
【0170】
49.前記フィールドデバイスに関する前記記述データを受信する際に:前記記述データに関するリクエストを前記フィールドデバイスに送信し;前記記述データを前記フィールドデバイスから受信する、態様40~48のいずれか1つの態様に記載のコンピュータ実行方法。
【0171】
50.前記フィールドデバイスに関する前記記述データを受信する際に、前記記述データを、前記プロセスプラントに関する情報を格納するデータベースから受信する、態様40~49のいずれか1つの態様に記載のコンピュータ実行方法。
【0172】
51.更に:前記制御モジュールを実行すると、前記汎用シャドウブロックが構成されたかどうかを判断し;前記汎用シャドウブロックが構成されていない場合、前記フィールドデバイスの指示を受信し;前記フィールドデバイスに関する前記記述データの受信は、前記フィールドデバイスの前記受信指示に基づいて行なわれる、態様40~50のいずれか1つの態様に記載のコンピュータ実行方法。
【0173】
52.前記フィールドデバイスの前記指示は、プロセスプラントオペレータにより選択される、態様40~51のいずれか1つの態様に記載のコンピュータ実行方法。
【0174】
53.前記フィールドデバイスの前記指示は、前記プロセスプラントに関する情報を格納するデータベースから受信される、態様40~52のいずれか1つの態様に記載のコンピュータ実行方法。
【0175】
54.前記記述データは、前記フィールドデバイスに関連付けられる前記I/O構造に関する情報を含む、態様40~53のいずれか1つの態様に記載のコンピュータ実行方法。
【0176】
55.更に:構成後の前記シャドウブロックで、プロセス制御データを前記フィールドデバイスから受信し;構成後の前記シャドウブロックで、受信した前記プロセス制御データを、前記制御モジュールが使用する標準的なフォーマットに変換し、前記標準的なフォーマットは、前記記述データに基づく前記汎用シャドウブロックの構成とは無関係であり;前記制御モジュールに、変換後の前記プロセス制御データを前記制御モジュールの入力に供給する、態様40~54のいずれか1つの態様に記載のコンピュータ実行方法。
【0177】
56.更に:構成後の前記シャドウブロックで、プロセス制御データを前記制御モジュールの出力から受信し、前記プロセス制御データは、前記プロセスプラントの前記フィールドデバイス及び前記I/O構造とは無関係な標準的なフォーマットで出力され;構成後の前記シャドウブロックで、前記プロセス制御データを前記標準的なフォーマットから、前記フィールドデバイスが使用する第2フォーマットに変換し;前記フィールドデバイスに、変換後の前記プロセス制御データを送信する、態様40~55のいずれか1つの態様に記載のコンピュータ実行方法。
【0178】
57.前記制御モジュールは、前記フィールドデバイスの種類、及び前記プロセスプラントの前記I/O構造とは無関係な制御モジュールクラスのインスタンスである、態様40~56のいずれか1つの態様に記載のコンピュータ実行方法。
【0179】
58.前記制御モジュールは、前記汎用シャドウブロックからの1つ以上の入力を無視するオプションを含む、態様57に記載のコンピュータ実行方法。
【0180】
59.更に:ユーザデバイスにより、前記プロセスプラントを運転するように構成されるユーザインターフェースを生成し、前記ユーザインターフェースは、前記制御モジュールの表示を含み;前記ユーザステーションで、前記ユーザインターフェースをプロセスプラントオペレータに提示し、前記制御モジュールクラス内の各制御モジュールは、同じ標準的なフォーマットで表示される、態様57又は態様58のいずれかに記載のコンピュータ実行方法。
【0181】
60.前記汎用シャドウブロックは、汎用シャドウブロッククラスのインスタンスである、態様57~59のいずれか1つの態様に記載のコンピュータ実行方法。
【0182】
61.前記汎用シャドウブロックを前記制御モジュールに、前記制御モジュールクラスに基づいて自動的に関連付ける、態様60に記載のコンピュータ実行方法。
【0183】
62.プロセスプラントを運転するプロセス制御システムであって:前記プロセスプラント内に配置される複数のフィールドデバイスと;前記複数のフィールドデバイスに通信可能に接続され、かつ前記プロセスプラントを運転する少なくとも1つの制御モジュールを有するコントローラと、を備え、前記コントローラは更に、コンピュータ可読命令を含み、前記コンピュータ可読命令により、前記コントローラは:前記コントローラ内の汎用シャドウブロックを前記制御モジュールに関連付けるようになり;前記複数のフィールドデバイスの1つのフィールドデバイスに関する記述データを受信するようになり、前記記述データは、前記フィールドデバイスの機能ブロックを記述し;前記汎用シャドウブロックを構成して前記コントローラ内で、前記フィールドデバイスの前記機能ブロックの動作を、受信した前記記述データに基づいて写像するようになる、プロセス制御システム。
【0184】
63.前記汎用シャドウブロックを前記制御モジュールに関連付ける際に、前記制御モジュールの入力または出力の参照を指定して前記汎用シャドウブロックを特定する、態様62に記載のプロセス制御システム。
【0185】
64.前記参照で、前記フィールドデバイスに達するパスを指定する、態様63に記載のプロセス制御システム。
【0186】
65.前記コンピュータ可読命令により更に、前記コントローラは:前記コントローラ内の更に別の汎用シャドウブロックを前記制御モジュールに関連付けるようになり;前記複数のフィールドデバイスのうち更に別のフィールドデバイスに関する更に別の記述データを受信するようになり、前記更に別の記述データは、前記更に別のフィールドデバイスの機能ブロックを記述し、前記更に別の汎用シャドウブロックは、構成前の前記シャドウブロックと同一であり;前記更に別の汎用シャドウブロックを構成して前記コントローラ内で、前記更に別のフィールドデバイスの前記機能ブロックの動作を、受信した前記更に別の記述データに基づいて写像するようになる、態様62~64のいずれか1つの態様に記載のプロセス制御システム。
【0187】
66.前記更に別のフィールドデバイスの前記機能ブロックは、前記フィールドデバイスの前記機能ブロックとは種類が異なる、態様65に記載のプロセス制御システム。
【0188】
67.前記更に別のフィールドデバイスは、前記フィールドデバイスとは種類が異なる、態様66に記載のプロセス制御システム。
【0189】
68.前記記述データは、前記フィールドデバイスをテキスト形式の標準記述言語で記述するデータを含む、態様62~67のいずれか1つの態様に記載のプロセス制御システム。
【0190】
69.前記フィールドデバイスに関する前記記述データは、前記フィールドデバイスから受信される、態様62~68のいずれか1つの態様に記載のプロセス制御システム。
【0191】
70.前記フィールドデバイスに関する前記記述データは、前記プロセスプラントに関する情報を格納するデータベースから受信される、態様62~69のいずれか1つの態様に記載のプロセス制御システム。
【0192】
71.前記コンピュータ可読命令により更に、前記コントローラは:前記制御モジュールを実行すると、前記汎用シャドウブロックが構成されたかどうかを判断するようになり;前記汎用シャドウブロックが構成されていない場合、前記フィールドデバイスの指示を受信するようになり、前記フィールドデバイスに関する前記記述データは、前記フィールドデバイスの前記受信指示に基づいて受信される、態様62~70のいずれか1つの態様に記載のプロセス制御システム。
【0193】
72.前記フィールドデバイスの前記指示は、プロセスプラントオペレータにより選択される、態様71に記載のプロセス制御システム。
【0194】
73.前記フィールドデバイスの前記指示は、前記プロセスプラントに関する情報を格納するデータベースから受信される、態様71又は態様72のいずれかに記載のプロセス制御システム。
【0195】
74.前記記述データは、前記フィールドデバイスに関連付けられる前記I/O構造に関する情報を含む、態様62~73のいずれか1つの態様に記載のプロセス制御システム。
【0196】
75.前記コンピュータ可読命令により更に、前記コントローラは:構成後の前記シャドウブロックで、プロセス制御データを前記フィールドデバイスから受信するようになり;構成後の前記シャドウブロックで、受信した前記プロセス制御データを、前記制御モジュールが使用する標準的なフォーマットに変換するようになり、前記標準的なフォーマットは、前記記述データに基づく前記汎用シャドウブロックの構成とは無関係であり;変換後の前記プロセス制御データを前記制御モジュールの入力に供給するようになる、態様62~74のいずれか1つの態様に記載のプロセス制御システム。
【0197】
76.前記制御モジュールは、前記フィールドデバイスの種類、及び前記プロセスプラントの前記I/O構造とは無関係な制御モジュールクラスのインスタンスである、態様62~75のいずれか1つの態様に記載のプロセス制御システム。
【0198】
77.前記汎用シャドウブロックは、前記制御モジュールに、前記制御モジュールクラスに基づいて自動的に関連付けられる、態様76に記載のプロセス制御システム。
【0199】
78.前記汎用シャドウブロックは、汎用シャドウブロッククラスのインスタンスである、態様62~77のいずれか1つの態様に記載のプロセス制御システム。
【0200】
79.前記制御モジュールは、前記汎用シャドウブロックからの1つ以上の入力を無視するオプションを含む、態様62~78のいずれか1つの態様に記載のプロセス制御システム。