(57)【要約】      （修正有）【課題】制御対象のプロセスプラントの通信構造とは無関係なプロセス制御システムを形成して動作させるシステム及び方法を提供する。【解決手段】制御システムの制御モジュールは、プロセスプラントのＩ／Ｏ構造から、信号オブジェクトまたは汎用シャドウブロックを使用して分離され、制御モジュールとフィールドデバイスとの間の通信の少なくとも一部を管理し、信号オブジェクトは、変換を制御モジュールが使用するプロトコルとフィールドデバイスが使用するプロトコルとの間で行なうことにより、制御モジュールをＩ／Ｏ構造から分離することができ、汎用シャドウブロックを自動的に構成して、フィールドデバイスの動作を、制御モジュールを実行するコントローラ内で写像することができ、制御モジュールをＩ／Ｏ構造から、シャドウブロックを使用して制御モジュールとフィールドデバイスとの間の通信を管理することにより部分的に分離することができる。【選択図】図５
2018010638.tif 000002
【特許請求の範囲】
【請求項１】
プロセスプラントを運転するコンピュータ実行方法であって：
制御プロセスに関連付けられる制御モジュールを選択し、前記制御モジュールは、プロセス制御データを受信するように構成される少なくとも１つの入力を有し；
第１信号オブジェクトを前記制御モジュールの前記少なくとも１つの入力に関連付け；
第１パスを前記信号オブジェクトに割り当て、前記第１パスで、前記プロセスプラントのプロセス制御デバイスの出力を指定し、
前記制御モジュールは、前記プロセス制御デバイスに関連付けられるプロセス制御データを前記第１信号オブジェクトから受信する、コンピュータ実行方法。
【請求項２】
前記第１信号オブジェクトから受信される前記プロセス制御データは、前記プロセスプラントのＩ／Ｏ構造とは無関係である、請求項１に記載のコンピュータ実行方法。
【請求項３】
前記第１信号オブジェクトは、出力データを前記フィールドデバイスから１種類以上のプロトコルを介して受信し、前記プロセス制御データを、受信した前記出力データから抽出し、前記プロセス制御データを前記制御モジュールに、受信した前記出力データの前記１種類以上のプロトコルとは関係なく標準的なフォーマットで供給する、請求項１に記載のコンピュータ実行方法。
【請求項４】
更に：
第２信号オブジェクトを前記制御モジュールの出力に関連付け；
第２パスを前記第２信号オブジェクトに割り当て、前記第２パスで、前記プロセスプラントの前記プロセス制御デバイスまたは別のプロセス制御デバイスのうちの一方のプロセス制御デバイスの入力を指定し、
前記制御モジュールはプロセス制御データを前記プロセス制御デバイスまたは別のプロセス制御デバイスに前記第２信号オブジェクトを介して、前記プロセス制御デバイスまたは別のプロセス制御デバイスに関連付けられる前記Ｉ／Ｏ構造とは関係なく送信する、請求項１に記載のコンピュータ実行方法。
【請求項５】
更に：
第２制御モジュールを選択し、前記第２制御モジュールは入力を含み；
前記第２制御モジュールの前記入力を前記第２信号オブジェクトに関連付け、
前記第２制御モジュールの前記入力を前記第２信号オブジェクトに関連付けることにより、前記第２制御モジュールが、前記プロセス制御データを前記第１制御モジュールの前記出力から前記第２制御モジュールの前記入力で受信するようになる、請求項４に記載のコンピュータ実行方法。
【請求項６】
更に：
前記第１パスを前記第１信号オブジェクトに割り当てる前に、第１コンピュータのプロセッサにより、メモリに、前記制御モジュール、及び関連付け後の前記第１信号オブジェクトを格納し；
前記第１パスを前記第１信号オブジェクトに割り当てる前に、第２コンピュータのプロセッサにより、前記メモリから、前記制御モジュール、及び関連付け後の前記第１信号オブジェクトを取り出す、請求項１に記載のコンピュータ実行方法。
【請求項７】
前記第１パスを前記第１信号オブジェクトに、前記制御モジュールの実行中に割り当てて、前記プロセスプラントを運転する、請求項６に記載のコンピュータ実行方法。
【請求項８】
更に：
第３信号オブジェクトを、前記制御モジュールの少なくとも１つの入力に関連付け；
第３パスを前記第３信号オブジェクトに割り当て、前記第３パスで定数値を定義する、請求項１に記載のコンピュータ実行方法。
【請求項９】
前記プロセス制御デバイスはフィールドデバイスを備える、請求項１に記載のコンピュータ実行方法。
【請求項１０】
前記制御モジュールは、オブジェクト指向プログラミング言語で記述されるクラスのインスタンスである、請求項１に記載のコンピュータ実行方法。
【請求項１１】
更に、前記制御モジュールのインスタンスが属する前記クラスを更新し、前記クラスに対する前記更新は、前記クラスの前記インスタンスに対して自動的に行なわれる、請求項１０に記載のコンピュータ実行方法。
【請求項１２】
前記制御モジュールを選択する際に、ユーザにより選択される制御モジュールを、複数の制御モジュールを格納するライブラリから受信する、請求項１に記載のコンピュータ実行方法。
【請求項１３】
複数の制御モジュールを前記第１信号オブジェクトに関連付け、
前記第１パスを前記第１信号オブジェクトに割り当てることにより、前記第１信号オブジェクトに関連付けられる前記複数の制御モジュールの各制御モジュールが、前記プロセス制御デバイスに関連付けられるプロセス制御データを前記第１信号オブジェクトから受信するようになる、請求項１に記載のコンピュータ実行方法。
【請求項１４】
前記制御モジュールを選択すること、及び前記第１信号オブジェクトを前記制御モジュールの前記少なくとも１つの入力に関連付けることが、制御方式を制御方式ライブラリから選択することにより行なわれて、選択した前記制御方式に、前記制御モジュール、及び関連付け後の前記第１信号オブジェクトの両方を取り込むようにする、請求項１に記載のコンピュータ実行方法。
【請求項１５】
選択した前記制御方式に前記第１パスを取り込まない、請求項１４に記載のコンピュータ実行方法。
【請求項１６】
更に：
ユーザインターフェースに直接取り込まれる第４信号オブジェクトを選択し；
選択した前記第４信号オブジェクトが前記ユーザインターフェースに取り込まれるようにし；
第４パスを前記第４信号オブジェクトに割り当て、前記第４パスで、前記プロセスプラントの別のプロセス制御デバイスの出力を指定し；
前記ユーザインターフェースで、前記別のプロセス制御デバイスに関連付けられ、かつ前記第４信号オブジェクトを介して受信されるプロセス制御データの指示を表示する、請求項１に記載のコンピュータ実行方法。
【請求項１７】
前記第４信号オブジェクトをいずれの制御モジュールにも関連付けない、請求項１６に記載のコンピュータ実行方法。
【請求項１８】
前記第４信号オブジェクトは、前記プロセス制御データのスケールに関する情報を含む、請求項１６に記載のコンピュータ実行方法。
【請求項１９】
前記第４信号オブジェクトは、前記プロセス制御データに基づくアラームを含む、請求項１６に記載のコンピュータ実行方法。
【請求項２０】
更に：
選択される１つ以上のアラーム基準を前記ユーザから受信し；
前記インターフェースに指示してアラームを前記ユーザに、前記１つ以上のアラーム基準が満たされる場合に提示する、請求項１９に記載のコンピュータ実行方法。
【請求項２１】
前記第４信号オブジェクトは、特定ビットを前記プロセス制御データの１つ以上の出力ストリームから取り出して前記ユーザインターフェースに提示する情報を含む、請求項１６に記載のコンピュータ実行方法。
【請求項２２】
更に：
テストパスを前記第１信号オブジェクトに割り当て、前記テストパスをテストデータに関連付け；
前記制御モジュールを、前記テストデータを使用して実行することにより、前記制御モジュールの動作を模擬する、請求項１に記載のコンピュータ実行方法。
【請求項２３】
前記テストデータは、前記プロセスプラントの異なる運転状態を表わす複数のテストデータ集合を含み、前記方法では更に：
出力プロセス制御データを前記モジュールからテストデータ集合毎に受信し；
受信した前記出力プロセス制御データを記録し；
前記制御モジュールが正しく機能していることを、記録した前記出力プロセス制御データを使用して確認する、請求項２２に記載のコンピュータ実行方法。
【請求項２４】
更に：
記録した前記出力プロセス制御データを使用して、前記制御モジュールが所定の品質パラメータ内で機能していないと判断し；
前記制御モジュールまたは前記第１信号オブジェクトの１つ以上のパラメータを調整し；
前記１つ以上のパラメータの調整後に、前記制御モジュールを、前記テストデータを使用して実行することにより前記制御モジュールの動作を模擬し；
出力プロセス制御データを前記モジュールからテストデータ集合毎に受信し；
受信した前記出力プロセス制御データを記録する、請求項２３に記載のコンピュータ実行方法。
【請求項２５】
前記テストデータは、前記プロセスプラントの前記Ｉ／Ｏ構造とは無関係である、請求項２３に記載のコンピュータ実行方法。
【請求項２６】
更に、前記プロセスプラントの前記Ｉ／Ｏ構造の少なくとも一部を表わす情報を受信し、前記制御モジュールが正しく機能していることを確認した後に、かつ前記プロセスプラントの前記Ｉ／Ｏ構造の前記少なくとも一部を表わす前記情報を受信した後に、前記第１パスを前記第１オブジェクトに割り当てる、請求項２３に記載のコンピュータ実行方法。
【請求項２７】
プロセスプラントを運転するプロセス制御システムであって：
前記プロセスプラント内に配置される複数のプロセス制御デバイスと；
前記複数のフィールドデバイスに通信可能に接続されるコントローラであって、該コントローラが、少なくとも１つの制御モジュールを有し、該少なくとも１つの制御モジュールが、入力プロセス制御データを受信する入力と、出力プロセス制御データを送信する出力と、を有する、前記コントローラと、を備え、
前記制御モジュールの前記入力を第１信号オブジェクトに関連付けてプロセス制御データを受信し、
前記第１信号オブジェクトには、前記複数のプロセス制御デバイスの１つのプロセス制御デバイスの出力を指定する第１パスが割り当てられ、
前記制御モジュールは、前記プロセス制御デバイスに関連付けられるプロセス制御データを前記第１信号オブジェクトから受信する、プロセス制御システム。
【請求項２８】
前記第１信号オブジェクトから受信される前記プロセス制御データは、前記プロセスプラントの前記Ｉ／Ｏ構造とは無関係である、請求項２７に記載のプロセス制御システム。
【請求項２９】
前記第１信号オブジェクトは、出力データを前記フィールドデバイスから１種類以上のプロトコルを介して受信し、前記プロセス制御データを、受信した前記出力データから抽出し、前記プロセス制御データを前記制御モジュールに、受信した前記出力データの前記１種類以上のプロトコルとは関係なく、標準的なフォーマットで供給する、請求項２８に記載のプロセス制御システム。
【請求項３０】
前記制御モジュールの前記出力は、第２信号オブジェクトに関連付けられ；
前記第２信号オブジェクトには、前記複数のプロセス制御デバイスの第２プロセス制御デバイスの入力を指定する第２パスが割り当てられ；
前記制御モジュールはプロセス制御データを前記第２プロセス制御デバイスに前記第２信号オブジェクトを介して、前記第２プロセス制御デバイスに関連付けられる前記Ｉ／Ｏ構造とは関係なく送信する、請求項２８に記載のプロセス制御システム。
【請求項３１】
前記第２信号オブジェクトは、前記コントローラの第２制御モジュールの入力に関連付けられ；
前記第２制御モジュールの前記入力で、プロセス制御データを前記制御モジュールの前記出力から前記第２信号オブジェクトを介して受信する、請求項３０に記載のプロセス制御システム。
【請求項３２】
前記第１パスは前記第１信号オブジェクトに、前記制御モジュールの実行中に前記コントローラにより割り当てられて、前記プロセスプラントを運転する、請求項２８に記載のプロセス制御システム。
【請求項３３】
前記制御モジュールは、オブジェクト指向プログラミング言語で記述される制御モジュールクラスのインスタンスである、請求項２８に記載のプロセス制御システム。
【請求項３４】
前記制御モジュールは、制御モジュールクラスのメンバであるので、前記制御モジュールクラスの各メンバは、前記制御モジュールクラスが更新されると自動的に更新される、請求項２８に記載のプロセス制御システム。
【請求項３５】
更に、前記複数のプロセス制御デバイスに、かつ前記少なくとも１つの制御モジュールに通信可能に接続されるユーザインターフェースを備える、請求項２８に記載のプロセス制御システム。
【請求項３６】
前記ユーザインターフェースは、前記複数のプロセス制御デバイスの第３プロセス制御デバイスに、いずれの制御モジュールにも関連付けられない第３信号オブジェクトを介して通信可能に接続される、請求項３５に記載のプロセス制御システム。
【請求項３７】
前記ユーザインターフェースは、前記第３信号オブジェクトから受信されるプロセス制御データを前記ユーザインターフェースのユーザに提示する、請求項３６に記載のプロセス制御システム。
【請求項３８】
前記第３信号オブジェクトは、プロセス制御データを前記ユーザインターフェースに、前記第３プロセス制御デバイスに関連付けられる前記Ｉ／Ｏ構造とは関係なく標準的なフォーマットで供給する、請求項３６に記載のプロセス制御システム。
【請求項３９】
前記第３信号オブジェクトは：前記プロセス制御データのスケール；前記プロセス制御データに関連付けられるアラーム；または前記第３プロセス制御デバイスの１つ以上の出力ストリームから取り出される特定ビットのうちの１つ以上に関する情報を前記ユーザインターフェースに供給する、請求項３６に記載のプロセス制御システム。
【請求項４０】
プロセスプラントを運転するコンピュータ実行方法であって：
複数のフィールドデバイスに通信可能に接続されるコントローラのプロセッサで、制御モジュールの指示を受信して前記プロセスプラントを運転し；
前記コントローラ内の汎用シャドウブロックを前記制御モジュールに関連付け；
前記コントローラで、前記コントローラに通信可能に接続されるフィールドデバイスに関する記述データを受信し、前記記述データは、前記フィールドデバイスの機能ブロックを記述し；
前記汎用シャドウブロックを構成して、前記コントローラ内で、前記フィールドデバイスの前記機能ブロックの動作を、受信した前記記述データに基づいて写像する、コンピュータ実行方法。
【請求項４１】
前記汎用シャドウブロックを前記制御モジュールに関連付ける際に、前記制御モジュールの入力または出力の参照を指定して前記汎用シャドウブロックを特定する、請求項４０に記載のコンピュータ実行方法。
【請求項４２】
前記参照で、前記フィールドデバイスに達するパスを指定する、請求項４１に記載のコンピュータ実行方法。
【請求項４３】
更に、前記制御モジュールの別の入力または出力の第２参照を指定して定数値を特定する、請求項４１に記載のコンピュータ実行方法。
【請求項４４】
更に：
前記コントローラ内の更に別の汎用シャドウブロックを前記制御モジュールに関連付け；
前記コントローラで、前記コントローラに通信可能に接続される更に別のフィールドデバイスに関する更に別の記述データを受信し、前記更に別の記述データは、前記更に別のフィールドデバイスの機能ブロックを記述し、前記更に別の汎用シャドウブロックは、構成前の前記シャドウブロックと同一であり；
前記更に別の汎用シャドウブロックを構成して前記コントローラ内で、前記更に別のフィールドデバイスの前記機能ブロックの動作を、受信した前記更に別の記述データに基づいて写像する、請求項４０に記載のコンピュータ実行方法。
【請求項４５】
前記更に別のフィールドデバイスの前記機能ブロックは、前記フィールドデバイスの前記機能ブロックとは種類が異なる、請求項４４に記載のコンピュータ実行方法。
【請求項４６】
前記更に別のフィールドデバイスは、前記フィールドデバイスとは種類が異なる、請求項４４に記載のコンピュータ実行方法。
【請求項４７】
前記更に別のフィールドデバイスは、前記フィールドデバイスとは異なる通信プロトコルを使用する、請求項４４に記載のコンピュータ実行方法。
【請求項４８】
前記記述データは、前記フィールドデバイスをテキスト形式の標準記述言語で記述するデータを含む、請求項４０に記載のコンピュータ実行方法。
【請求項４９】
前記フィールドデバイスに関する前記記述データを受信する際に：
前記記述データに関するリクエストを前記フィールドデバイスに送信し；
前記記述データを前記フィールドデバイスから受信する、請求項４０に記載のコンピュータ実行方法。
【請求項５０】
前記フィールドデバイスに関する前記記述データを受信する際に、前記記述データを、前記プロセスプラントに関する情報を格納するデータベースから受信する、請求項４０に記載のコンピュータ実行方法。
【請求項５１】
更に：
前記制御モジュールを実行すると、前記汎用シャドウブロックが構成されたかどうかを判断し；
前記汎用シャドウブロックが構成されていない場合、前記フィールドデバイスの指示を受信し；
前記フィールドデバイスに関する前記記述データの受信は、前記フィールドデバイスの前記受信指示に基づいて行なわれる、請求項４０に記載のコンピュータ実行方法。
【請求項５２】
前記フィールドデバイスの前記指示は、プロセスプラントオペレータにより選択される、請求項４０に記載のコンピュータ実行方法。
【請求項５３】
前記フィールドデバイスの前記指示は、前記プロセスプラントに関する情報を格納するデータベースから受信される、請求項４０に記載のコンピュータ実行方法。
【請求項５４】
前記記述データは、前記フィールドデバイスに関連付けられる前記Ｉ／Ｏ構造に関する情報を含む、請求項４０に記載のコンピュータ実行方法。
【請求項５５】
更に：
構成後の前記シャドウブロックで、プロセス制御データを前記フィールドデバイスから受信し；
構成後の前記シャドウブロックで、受信した前記プロセス制御データを、前記制御モジュールが使用する標準的なフォーマットに変換し、前記標準的なフォーマットは、前記記述データに基づく前記汎用シャドウブロックの構成とは無関係であり；
前記制御モジュールに、変換後の前記プロセス制御データを前記制御モジュールの入力に供給する、請求項４０に記載のコンピュータ実行方法。
【請求項５６】
更に：
構成後の前記シャドウブロックで、プロセス制御データを前記制御モジュールの出力から受信し、前記プロセス制御データは、前記フィールドデバイス、及び前記プロセスプラントのＩ／Ｏ構造とは無関係な標準的なフォーマットで出力され；
構成後の前記シャドウブロックで、前記プロセス制御データを前記標準的なフォーマットから、前記フィールドデバイスが使用する第２フォーマットに変換し；
前記フィールドデバイスに、変換後の前記プロセス制御データを送信する、請求項４０に記載のコンピュータ実行方法。
【請求項５７】
前記制御モジュールは、前記フィールドデバイスの種類、及び前記プロセスプラントの前記Ｉ／Ｏ構造とは無関係な制御モジュールクラスのインスタンスである、請求項４０に記載のコンピュータ実行方法。
【請求項５８】
前記制御モジュールは、前記汎用シャドウブロックからの１つ以上の入力を無視するオプションを含む、請求項５７に記載のコンピュータ実行方法。
【請求項５９】
更に：
ユーザデバイスにより、前記プロセスプラントを運転するように構成されるユーザインターフェースを生成し、前記ユーザインターフェースは、前記制御モジュールの表示を含み；
前記ユーザステーションで、前記ユーザインターフェースをプロセスプラントオペレータに提示し、
前記制御モジュールクラス内の各制御モジュールは、同じ標準的なフォーマットで表示される、請求項５７に記載のコンピュータ実行方法。
【請求項６０】
前記汎用シャドウブロックは、汎用シャドウブロッククラスのインスタンスである、請求項５７に記載のコンピュータ実行方法。
【請求項６１】
前記汎用シャドウブロックを前記制御モジュールに、前記制御モジュールクラスに基づいて自動的に関連付ける、請求項６０に記載のコンピュータ実行方法。
【請求項６２】
プロセスプラントを運転するプロセス制御システムであって：
前記プロセスプラント内に配置される複数のフィールドデバイスと；
前記複数のフィールドデバイスに通信可能に接続され、かつ前記プロセスプラントを運転する少なくとも１つの制御モジュールを有するコントローラと、を備え、前記コントローラは更に、コンピュータ可読命令を含み、前記コンピュータ可読命令により、前記コントローラは：
前記コントローラ内の汎用シャドウブロックを前記制御モジュールに関連付けるようになり；
前記複数のフィールドデバイスの１つのフィールドデバイスに関する記述データを受信するようになり、前記記述データは、前記フィールドデバイスの機能ブロックを記述し；
前記汎用シャドウブロックを構成して前記コントローラ内で、前記フィールドデバイスの前記機能ブロックの動作を、受信した前記記述データに基づいて写像するようになる、プロセス制御システム。
【請求項６３】
前記汎用シャドウブロックを前記制御モジュールに関連付ける際に、前記制御モジュールの入力または出力の参照を指定して前記汎用シャドウブロックを特定する、請求項６２に記載のプロセス制御システム。
【請求項６４】
前記参照で、前記フィールドデバイスに達するパスを指定する、請求項６３に記載のプロセス制御システム。
【請求項６５】
前記コンピュータ可読命令により更に、前記コントローラは：
前記コントローラ内の更に別の汎用シャドウブロックを前記制御モジュールに関連付けるようになり；
前記複数のフィールドデバイスのうち更に別のフィールドデバイスに関する更に別の記述データを受信するようになり、前記更に別の記述データは、前記更に別のフィールドデバイスの機能ブロックを記述し、前記更に別の汎用シャドウブロックは、構成前の前記シャドウブロックと同一であり；
前記更に別の汎用シャドウブロックを構成して前記コントローラ内で、前記更に別のフィールドデバイスの前記機能ブロックの動作を、受信した前記更に別の記述データに基づいて写像するようになる、請求項６２に記載のプロセス制御システム。
【請求項６６】
前記更に別のフィールドデバイスの前記機能ブロックは、前記フィールドデバイスの前記機能ブロックとは種類が異なる、請求項６５に記載のプロセス制御システム。
【請求項６７】
前記更に別のフィールドデバイスは、前記フィールドデバイスとは種類が異なる、請求項６６に記載のプロセス制御システム。
【請求項６８】
前記記述データは、前記フィールドデバイスをテキスト形式の標準記述言語で記述するデータを含む、請求項６２に記載のプロセス制御システム。
【請求項６９】
前記フィールドデバイスに関する前記記述データは、前記フィールドデバイスから受信される、請求項６２に記載のプロセス制御システム。
【請求項７０】
前記フィールドデバイスに関する前記記述データは、前記プロセスプラントに関する情報を格納するデータベースから受信される、請求項６２に記載のプロセス制御システム。
【請求項７１】
前記コンピュータ可読命令により更に、前記コントローラは：
前記制御モジュールを実行すると、前記汎用シャドウブロックが構成されたかどうかを判断するようになり；
前記汎用シャドウブロックが構成されていない場合、前記フィールドデバイスの指示を受信するようになり、
前記フィールドデバイスに関する前記記述データは、前記フィールドデバイスの前記受信指示に基づいて受信される、請求項６２に記載のプロセス制御システム。
【請求項７２】
前記フィールドデバイスの前記指示は、プロセスプラントオペレータにより選択される、請求項７１に記載のプロセス制御システム。
【請求項７３】
前記フィールドデバイスの前記指示は、前記プロセスプラントに関する情報を格納するデータベースから受信される、請求項７１に記載のプロセス制御システム。
【請求項７４】
前記記述データは、前記フィールドデバイスに関連付けられる前記Ｉ／Ｏ構造に関する情報を含む、請求項６２に記載のプロセス制御システム。
【請求項７５】
前記コンピュータ可読命令により更に、前記コントローラは：
構成後の前記シャドウブロックで、プロセス制御データを前記フィールドデバイスから受信するようになり；
構成後の前記シャドウブロックで、受信した前記プロセス制御データを、前記制御モジュールが使用する標準的なフォーマットに変換するようになり、前記標準的なフォーマットは、前記記述データに基づく前記汎用シャドウブロックの構成とは無関係であり；
変換後の前記プロセス制御データを前記制御モジュールの入力に供給するようになる、請求項６２に記載のプロセス制御システム。
【請求項７６】
前記制御モジュールは、前記フィールドデバイスの種類、及び前記プロセスプラントの前記Ｉ／Ｏ構造とは無関係な制御モジュールクラスのインスタンスである、請求項６２に記載のプロセス制御システム。
【請求項７７】
前記汎用シャドウブロックは、前記制御モジュールに、前記制御モジュールクラスに基づいて自動的に関連付けられる、請求項７６に記載のプロセス制御システム。
【請求項７８】
前記汎用シャドウブロックは、汎用シャドウブロッククラスのインスタンスである、請求項６２に記載のプロセス制御システム。
【請求項７９】
前記制御モジュールは、前記汎用シャドウブロックからの１つ以上の入力を無視するオプションを含む、請求項６２に記載のプロセス制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は概ねプロセスプラント及びプロセス制御システムに関し、特に構造とは無関係なプロセス制御システムに関するものである。
【背景技術】
【０００２】
化学、石油、または他のプロセスで使用される、分散型プロセス制御システムは、一般的に、１つ以上のフィールドデバイスにアナログバス、デジタルバス、または複合アナログ／デジタルバスを介して、または無線通信リンクもしくは無線通信ネットワークを介して通信可能に接続される１つ以上のプロセスコントローラを含む。フィールドデバイス、例えば、バルブ、バルブポジショナ、スイッチ、及びトランスミッタ（例えば、温度、圧力、レベル及び流量センサ）は、プロセス環境の内部に位置し、一般的に例えばバルブを開閉したり、あるいは、測定プロセスパラメータなどの物理的またはプロセス制御機能を行って、プロセスプラントまたはシステム内で実行する１つ以上のプロセスを制御する。公知のＦｉｅｌｄｂｕｓプロトコルに準拠するフィールドデバイスのようなスマートフィールドデバイスも、制御計算アラーム機能、及び一般的にコントローラ内で共通に実行される他の制御機能を実行することもできる。プロセスコントローラは、一般的にプラント環境内に位置してもいるが、センサまたはフィールドデバイス及び／またはフィールドデバイスに関連する他の情報によって行われたプロセス測定を表す信号を受信し、例えばプロセス制御決定を下す異なる制御モジュールを実行するコントローラアプリケーションを実行し、制御信号を受信した情報にもとづいて生成し、ＨＡＲＴ（登録商標）、無線ＨＡＲＴ（登録商標）、及びＦＯＵＮＤＡＴＩＯＮ（登録商標）フィールドバスフィールドデバイスなどのようなフィールドデバイスで実行中の制御モジュールまたはブロックと調和させる。コントローラ内の制御モジュールは、通信ラインまたはリンクを介してフィールドデバイスに制御信号を送信することによって、プロセスプラントまたはシステムの少なくとも一部の操作を制御する。
【０００３】
フィールドデバイスとコントローラからの情報は、通常、データハイウェイを介して１つ以上の他のハードウェア装置、例えば、一般的に、より過酷なプラント環境から離隔した制御室または他の位置に載置されるオペレータワークステーション、パーソナルコンピュータ、または演算装置、データヒストリアン、レポートジェネレータ、中央データベース、または他の集中管理演算装置上で利用できるようになる。これらのハードウェア装置は、それぞれ、一般的に、プロセスプラントまたはプロセスプラントの一部にわたって集中化されている。これらのハードウェア装置は、例えば、オペレータがプロセスの制御及び／またはプロセスプラントの操作に対する機能、例えば、プロセス制御ルーチンの設定を変更すること、コントローラまたはフィールドデバイス内の制御モジュールの操作を変更すること、プロセスの現在の状態を表示すること、フィールドデバイスやコントローラが生成したアラームを表示すること、人材育成またはプロセス制御ソフトウェアのテストを目的とするプロセスの操作をシミュレートすること、構成データベースなどを維持し、更新することなどを実行できるようにするアプリケーションを実行する。ハードウェア装置、コントローラ、及びフィールドデバイスが利用するデータハイウェイは、有線通信パス、無線通信パス、または有線及び無線複合通信パスを含んでいてもよい。
【０００４】
１例として、Ｅｍｅｒｓｏｎ  Ｐｒｏｃｅｓｓ  Ｍａｎａｇｅｍｅｎｔが販売するＤｅｌｔａＶ（商標）制御システムは、プロセスプラント内の様々な場所に位置する異なるデバイス内に保存され、それによって実行される複数のアプリケーションを含む。これらのアプリケーションの各アプリケーションは、ユーザインターフェース（ＵＩ）となってユーザ（例えば、構成エンジニア、プロセスプラントオペレータ、保守技術者など）が、プロセスプラント運転及びプロセスプラント構成の局面を目視で確認することができる、及び／又は変更することができるようになっている。本明細書全体を通じて、“ｕｓｅｒ  ｉｎｔｅｒｆａｃｅ（ユーザインターフェース）”または“ＵＩ”というフレーズは、ユーザがプロセスプラントの構成、運転、または状態を目視で確認することができる、または変更することができるようなアプリケーションまたは画面を指すために使用される。同様に、“ｕｓｅｒ  ｉｎｔｅｒｆａｃｅ  ｄｅｖｉｃｅ（ユーザインターフェースデバイス）”または“ＵＩ  ｄｅｖｉｃｅ（ＵＩデバイス）”というフレーズは、ユーザインターフェースがデバイス上で、当該デバイスが固定されている（例えば、ワークステーション、壁取付ディスプレイ、プロセス制御デバイスディスプレイなど）か、または携行できる（例えば、ラップトップコンピュータ、タブレットコンピュータ、スマートフォンなど）かどうかに関係なく動作する当該デバイスを指すために使用される。１つ以上のオペレータワークステーション内またはコンピューティングデバイス内に常駐する構成アプリケーションによりユーザは、プロセス制御モジュールを生成する、または変更することができ、これらのプロセス制御モジュールを、データハイウェイを介して専用分散コントローラにダウンロードすることができる。通常、これらの制御モジュールは、通信可能に相互接続される機能ブロック群により構成される。構成アプリケーションにより更に、構成設計者はオペレータインターフェースを生成するか、または変更することができ、このオペレータインターフェースをビューイングアプリケーションが使用してデータをオペレータに対して表示することによりオペレータがプロセス制御ルーチン内のセットポイントのような設定を変更することができる。各専用コントローラ、及び幾つかの場合の１つ以上のフィールドデバイスは、それぞれのコントローラアプリケーションを格納して実行し、コントローラアプリケーションは、当該コントローラアプリケーションに割り当てられ、かつダウンロードされる制御モジュールを実行して、実際のプロセス制御機能を実行する。１つ以上のオペレータワークステーション上で（または、オペレータワークステーション及びデータハイウェイに通信可能に接続される１つ以上のリモートコンピューティングデバイス上で）実行することができるビューイングアプリケーションは、データを、コントローラアプリケーションからデータハイウェイを介して受信し、このデータをプロセス制御システム設計者、オペレータ、またはユーザに対してＵＩを使用して表示し、オペレータビュー、エンジニアビュー、テクニシャンビューなどのような複数の異なるビューのいずれかのビューを供給することができる。データヒストリアンアプリケーションが通常、データハイウェイを経由して供給されるデータの所定部分または全部を収集して格納するデータヒストリアンデバイスに格納されてデータヒストリアンデバイスにより実行されるのに対し、構成データベースアプリケーションは、データハイウェイに接続される更に別のコンピュータ内で実行されて、現在のプロセス制御ルーチン構成及び当該プロセス制御ルーチン構成に関連付けられるデータを格納することができる。代わりに、構成データベースは、構成アプリケーションと同じワークステーション内に格納することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
既存のプロセス制御システムでは、プロセスプラントを制御する際に、フィールドデバイスと通信してプロセス制御データを送受信するプロセス制御ロジックを実行する１つ以上の制御モジュールを動作させる。フィールドデバイスは、様々な演算及び通信プロトコルのうちの任意の演算及び通信プロトコルを使用することができるので、制御モジュールは、プロセス制御データを、適切なプロトコルを使用してデバイス毎に受け入れて供給するように構成される必要がある。更に、制御モジュールとフィールドデバイスとの間の通信リンクは、別のレイヤの通信プロトコルまたはフォーマットを追加して、プロセス制御データを適正に送受信することができる。従って、プロセス制御システムは通常、非常に多くの制御モジュールを含み、これらの制御モジュールは、同じロジック演算または同様のロジック演算を実行するが、これらの制御モジュールがフィールドデバイスから受信する、またはフィールドデバイスに供給するデータの種類が異なっている。更に、プロセス制御ネットワークを変更する（フィールドデバイスを置き換えること、またはネットワークの通信インフラストラクチャに変更を加えることを含む）ためには、複数の制御モジュールに変更を加える必要がある場合が多い。本明細書において記載される本発明は、これらの問題を解決する。
【課題を解決するための手段】
【０００６】
本明細書において開示されるのは、制御対象のプロセスプラントの通信構造とは無関係なプロセス制御システムを形成して動作させるシステム及び方法である。記載されるシステム及び方法の様々な態様は、プロセス制御ロジック演算をプロセスプラントのプロセス制御ネットワーク内の通信動作から完全に、または部分的に分離する中間コンポーネントを使用する。この分離は、信号オブジェクトまたはシャドウブロックを使用して行なわれて、通信がプロセス制御ロジックを実行する制御モジュールと制御調整をプロセスプラントに対して実行するフィールドデバイスとの間で行なわれるようになる。信号オブジェクト及びシャドウブロックは共に、制御モジュールがフィールドデバイスと、プロセス制御ネットワークのＩ／Ｏ構造を介して直接通信を行なうことがないように制御モジュールを分離し、信号オブジェクト及びシャドウブロックは共に、制御モジュールとフィールドデバイスとの間で送受信されるプロセス制御データのプロトコル変換を処理することができる。本明細書において開示されるシステム及び方法の幾つかの実施形態が、信号オブジェクト及びシャドウブロックの両方を利用するのに対し、他の実施形態は、信号オブジェクトのみを、またはシャドウブロックのみを利用する。
【０００７】
本明細書において記載される本発明の１つの態様によれば、プロセスプラントを運転する方法が開示され、当該方法では：制御プロセスに関連付けられる制御モジュールを選択し、信号オブジェクトを制御モジュールの入力または出力に関連付け、パスを信号オブジェクトに割り当てる。制御モジュールは、プロセス制御データを受信する、処理する、生成することにより、プロセスプラントを制御することができる。本明細書において記載される本発明の別の態様によれば、プロセスプラントを運転するシステムが開示され、当該システムは：プロセスプラント内に配置される複数のプロセス制御デバイスと、複数のフィールドデバイスに通信可能に接続されるコントローラであって、該コントローラが、少なくとも１つの制御モジュールを有し、該制御モジュールが、入力プロセス制御データを受信する入力と、出力プロセス制御データを送信する出力と、を有する、前記コントローラと、を備える。制御モジュールの入力を信号オブジェクトに関連付けてプロセス制御データを受信することができ、信号オブジェクトには、複数のプロセス制御デバイスの１つのプロセス制御デバイスの出力を指定するパスが割り当てられる。従って、制御モジュールは、プロセス制御デバイスに関連付けられるプロセス制御データを信号オブジェクトから受信することができる。このようなシステム及び方法の他の特徴またはコンポーネントは、以下に説明される特徴またはコンポーネントのように、様々な実施形態に含めるようにしてもよい。
【０００８】
信号オブジェクトに割り当てられるパスで、プロセスプラントのプロセス制御デバイスの入力または出力を指定することができ、プロセス制御デバイスはフィールドデバイスとすることができる。幾つかの実施形態では、パスで、定数データ値を指定するか、またはデータベースのような他のデータソースを指定することができる。信号オブジェクトが制御モジュールをプロセス制御デバイスから分離するので、フィールドデバイスが受信する、または生成するプロセス制御データは、プロセスプラントのＩ／Ｏ構造とは無関係とすることができる。このため、信号オブジェクトは、出力データをプロセス制御デバイスまたは制御モジュールから受信することができ、プロセス制御データを出力データから抽出することができ、プロセス制御データを制御モジュールまたはプロセス制御デバイスに、受信した出力データとは異なるフォーマットを使用して供給することができる。詳細には、信号オブジェクトがプロセス制御データを制御モジュールまたはユーザインターフェースに供給する場合、信号オブジェクトは、出力データを標準的なフォーマットに変換することができる。従って、プロセス制御データは、任意の制御モジュールが直接使用することができ、プロセスプラントのＩ／Ｏ構造のフォーマット、プロトコル、または他の付帯情報を考慮しなくても済む。
【０００９】
幾つかの実施形態では、更に別の信号オブジェクトを制御モジュールに関連付けることができる。例えば、第２信号オブジェクトを制御モジュールの出力に関連付けて、制御モジュールの出力から送信されるプロセス制御データを受信することができる。第２信号オブジェクトには、プロセスプラントのプロセス制御デバイスの入力を指定するパスを割り当てることができ、当該プロセス制御デバイスは、同じプロセス制御デバイスまたは別のプロセス制御デバイスとすることができる。パスを第２信号オブジェクトにこのように割り当てることにより、第２信号オブジェクトがプロセス制御データをプロセス制御デバイスに供給するようになる。信号オブジェクトが、制御モジュールとプロセス制御デバイスとの間の通信を処理するので、制御モジュールは、プロセス制御データを、信号オブジェクトを介してプロセス制御デバイスに、プロセス制御デバイスに関連付けられるＩ／Ｏ構造とは関係なく間接的に送信することができる。別の実施形態では、第２制御モジュールの入力を第２信号オブジェクトに関連付けて、プロセス制御データを第２信号オブジェクトから受信することができる。このように、第２制御モジュールの入力で、プロセス制御データを制御モジュールの出力から第２信号オブジェクトを介して受信することができる。更に別の実施形態では、制御モジュールの複数の入力または出力を同じ信号オブジェクトに関連付けて、各制御モジュールが、プロセス制御データを同じプロセス制御デバイスから信号オブジェクトを介して受信するか、またはプロセス制御データを同じプロセス制御デバイスに信号オブジェクトを介して供給するようにする。更に別の制御モジュールまたは信号オブジェクトを同じように、様々な構成で付加して接続することができる。
【００１０】
制御モジュールは、幾つかの実施形態では、オブジェクト指向プログラミング言語で記述されるクラスのインスタンスとして実行されるようにしてもよい。従って、制御モジュールクラスの複数のインスタンスは、制御モジュールが更新されると自動的に更新することができる。複数の制御モジュールまたは制御モジュールクラスは、ライブラリに格納することができ、当該ライブラリからこれらの制御モジュールまたは制御モジュールクラスを選択してプロセス制御システム内で使用することができる。信号オブジェクトまたは信号オブジェクトクラスは同様にして、ライブラリに格納することができる。別の実施形態では、ライブラリは、複数の制御方式を格納することができる。各制御方式に、１つ以上の制御モジュールを取り込むことができ、制御方式内の各制御モジュールに、１つ以上の信号オブジェクトを関連付けることができる。このように、制御方式を選択することにより、信号オブジェクトを関連付けた状態の１つ以上の制御モジュールをプロセス制御システムに取り込むことができる。制御方式の制御モジュールに関連付けられる信号オブジェクトは、割り当てパスを含むことができる、または含まないようにしてもよい。
【００１１】
幾つかの実施形態では、１つ以上の信号オブジェクトをいずれの制御モジュールにも関連付けないようにしてもよい。このような未関連付けの信号オブジェクトは、ユーザインターフェースと通信して、プロセス制御データをユーザインターフェースに供給することができる、またはプロセス制御データをユーザインターフェースから、制御モジュールを使用することなく受信することができる。例えば、信号オブジェクトに、プロセス制御デバイスの出力を指定するパスを割り当てることにより、プロセス制御データをプロセス制御デバイスから受信することができる。このような信号オブジェクトをユーザインターフェースに直接関連付けることにより、プロセス制御データをプロセス制御デバイスからユーザインターフェースに、制御モジュールを全く使用することなく供給することができる。従って、ユーザインターフェースにより、プロセス制御データをプロセスプラントオペレータに、または他のユーザに提示することができる。信号オブジェクトは、スケーリング、アラーム、またはビット取り出し操作をプロセス制御データに対して行なうことができる。スケーリングを行なう際に、プロセス制御データのスケールに関する情報を供給することができる、またはプロセス制御データを好適なスケールに変換することができる。アラームを行なう際に、プロセス制御データがアラーム基準を満たすと、アラームをアラーム基準に基づいて発信することにより、ユーザインターフェースがアラームをユーザに提示するようになる。アラーム基準は、ユーザが予め決定するか、または設定することができる。ビット取り出し操作を行なう際に、１以上の特定ビットを、１つ以上のプロセス制御デバイスが生成する１つ以上の出力データストリームから選択することができる。
【００１２】
幾つかの実施形態では、プロセス制御システムの動作をテストすることができる。プロセス制御システムをテストする際に、テストデータに関連付けられるテストパスを１つ以上の信号オブジェクトに割り当て、１つ以上の制御モジュールを、テストデータを使用して実行することにより、プロセス制御システム内の制御モジュールの動作を模擬することができる。テストデータは、プロセスプラント内の運転状態を表わす１つ以上のテストデータ集合を含むことができ、プロセスプラントのＩ／Ｏ構造とは無関係とすることができる。１つ以上の制御モジュールの動作をテストする際に、出力プロセス制御データをモジュールからテストデータ集合毎に受信し、受信した出力プロセス制御データを記録し、制御モジュールが正しく機能していることを、記録した出力プロセス制御データを使用して確認することができる。テストでは更に、記録した出力プロセス制御データを使用して、制御モジュールが所定の品質パラメータ内で機能していないと判断し、制御モジュールまたは１つ以上の信号オブジェクトの１種類以上のパラメータを調整することができる。このような調整の後、１つ以上の制御モジュールを再度、テストデータを使用してテストすることができる。テストが終了すると、プロセスプラントのＩ／Ｏ構造の少なくとも一部を表わす情報を受信して使用することにより、パスを１つ以上の信号オブジェクトに割り当てることができる。幾つかの実施形態では、構成後の１つ以上の制御モジュール、及び関連付け後の信号オブジェクトは、メモリに第１コンピュータにより格納することができ、メモリから第２コンピュータにより取り出して、プロセス制御システムを実行することにより、パスを信号オブジェクトに割り当てることができる。別の実施形態では、パスを１つ以上の信号オブジェクトに、関連付け後の制御モジュールの実行中の実行時間に割り当ててプロセスプラントを運転することができる。
【００１３】
本明細書において記載される本発明の別の態様によれば、プロセスプラントを運転する方法が開示され、当該方法では：プロセスプラントを運転する制御モジュールの指示を、複数のフィールドデバイスに通信可能に接続されるコントローラで受信し、コントローラ内の汎用シャドウブロックを制御モジュールに関連付け、コントローラに通信可能に接続されるフィールドデバイスに関する記述データを受信し、汎用シャドウブロックを構成してコントローラ内で、フィールドデバイスの機能ブロックの動作を、受信した記述データに基づいて写像する。記述データはフィールドデバイスの機能を記述し、フィールドデバイス内で動作する機能ブロックの記述を含むことができる。幾つかの実施形態では、記述データは、フィールドデバイスをテキスト形式の標準記述言語で記述するデータを含むことができる。記述データは更に、フィールドデバイスに関連付けられるＩ／Ｏ構造に関する情報を含むことができる。幾つかの実施形態では、記述データの一部または全部は、記述データに関するリクエストをフィールドデバイスに送信して、記述データをフィールドデバイスから受信することにより受信することができる。その代わりに、記述データの一部または全部を、プロセスプラントに関する情報を格納するデータベースから受信するようにしてもよい。
【００１４】
汎用シャドウブロックを制御モジュールに関連付ける際に、制御モジュールの入力または出力のいずれかの参照を指定して汎用シャドウブロックを特定することができる。このような参照で、フィールドデバイスに達するパスを指定するようにしてもよい。制御モジュールの入力または出力の参照を同様に指定して、定数値を特定することができる。幾つかの実施形態では、コントローラ内の１つ以上の更に別の汎用シャドウブロックを制御モジュールの入力または出力に関連付け、更に別の記述データを受信し、１つ以上の更に別の汎用シャドウブロックを構成することができる。更に別の記述データは、コントローラに通信可能に接続される１つ以上の更に別のフィールドデバイスに関する情報を含むことができ、当該情報は、このような更に別のフィールドデバイスの機能ブロックの記述を含むことができる。１つ以上の更に別の汎用シャドウブロックは、構成前の汎用シャドウブロックと同一とすることができるので、更に別の記述データを使用した構成により、汎用シャドウブロックが、詳細に構成されるようになってコントローラ内で、１つ以上の更に別のフィールドデバイスの機能ブロックの動作を写像することができる。このように、汎用シャドウブロックは、フィールドデバイスにも使用することができる、または種類が異なる、または異なる通信プロトコルを使用するフィールドデバイス内の機能ブロックにも使用することができる。
【００１５】
制御モジュールを実行すると、コントローラは、汎用シャドウブロックが構成されたかどうかを判断することができる。汎用シャドウブロックが構成されていない場合、コントローラは汎用シャドウブロックを、フィールドデバイスの指示を受信し、フィールドデバイスに関する記述データを、フィールドデバイスの受信指示に基づいて受信し、汎用シャドウブロックを、受信した記述データを使用して構成することにより構成することができる。幾つかの実施形態では、フィールドデバイスの指示は、プロセスプラントオペレータにより選択することができる。フィールドデバイスの指示は同じようにして、プロセスプラントに関する情報を格納するデータベースから受信されるようにしてもよい。
【００１６】
別の実施形態では、構成後のシャドウブロックは、プロセス制御データを受信して変換することにより通信を制御モジュールとフィールドデバイスとの間で行なうことができる。構成後のシャドウブロックは、プロセス制御データをフィールドデバイスから受信し、受信したプロセス制御データを、汎用シャドウブロックの構成とは無関係な標準的なフォーマットに記述データを使用して変換し、変換後のプロセス制御データを標準的なフォーマットで制御モジュールの入力に供給することができる。構成後のシャドウブロックは同様に、プロセス制御データを制御モジュールの出力から、プロセスプラントのフィールドデバイス及びＩ／Ｏ構造とは無関係な標準的なフォーマットで受信し、プロセス制御データを標準的なフォーマットから、フィールドデバイスが使用する第２フォーマットに変換し、変換後のプロセス制御データをフィールドデバイスに送信することができる。
【００１７】
幾つかの実施形態では、制御モジュールは、フィールドデバイスの種類、及びプロセスプラントのＩ／Ｏ構造とは無関係な制御モジュールクラスのインスタントとすることができる。汎用シャドウブロックは同様に、汎用シャドウブロッククラスのインスタンスとすることができる。１つ以上の汎用シャドウブロックは、制御モジュールに制御モジュールクラスに基づいて関連付けることができる。各制御モジュールクラスがより多くのプロセスプラントの構成またはプロセスプラントの運転を担当することができるために、制御モジュールは、汎用シャドウブロックからの１つ以上の入力、または汎用シャドウブロックへの１つ以上の出力を無視するオプションを含むことができる。更に、制御モジュールまたは所定の形態の制御モジュールをプロセスプラントオペレータに、またはプロセス制御システムの他のユーザに、標準的なフォーマットを使用して、制御モジュールクラスに基づいて提示することができる。例えば、プロセスプラントを運転するように構成されるユーザインターフェースをコントローラで、またはユーザデバイスで生成することができ、当該ユーザインターフェースは、制御モジュールの表示を含むことができる。ユーザインターフェースは、プロセスプラントに関する情報であって、同じクラスの制御モジュールの１つ以上の表示を含む情報をプロセスプラントオペレータに、または他のユーザに提示することができるので、同じクラスの全ての制御モジュールが同じ標準的なフォーマットで表示されるようになる。
【図面の簡単な説明】
【００１８】
【図１Ａ】図１Ａ〜Ｂは、プロセス制御システムまたはプロセスプラント内で動作する例示的なプロセス制御ネットワークのブロック図である。
【図１Ｂ】同上。
【００１９】
【図２】図２は、本明細書の記載によるプロセス制御ネットワークのプロセス制御システムの例示的な通信構造を示すブロック図である。
【００２０】
【図３】図３は、本明細書の記載によるプロセス制御ネットワークのプロセス制御システムの例示的な通信構造を詳細に示すブロック図である。
【００２１】
【図４】図４は、本明細書の記載によるプロセス制御ネットワークの例示的なプロセス制御システム内の例示的な制御モジュールを詳細に示すブロック図である。
【００２２】
【図５】図５は、本明細書の記載によるプロセス制御ネットワークのプロセス制御システムを構成する例示的な方法を表わすフローチャートである。
【００２３】
【図６】図６は、本明細書の記載によるプロセス制御ネットワーク内の汎用シャドウブロックを使用する制御モジュールの例示的な構成を示すブロック図である。
【００２４】
【図７】図７は、本明細書の記載によるシャドウブロックを、プロセス制御ネットワーク内の汎用シャドウブロックを用いてインスタンス化する例示的な方法を表わすフローチャートである。
【発明を実施するための形態】
【００２５】
プロセス制御システムは、プロセスプラントを監視して運転する広範囲の産業用途に使用される。このようなプロセス制御システムは、制御ロジックブロック、ループ、ルーチン、または機能を実行する制御モジュールを利用するように構成することができる。制御モジュールは、入力プロセス制御データを（例えば、プロセスプラント内の測定デバイスから）受信して出力プロセス制御データ（例えば、バルブ、ポンプなどを動作させる制御コマンド）を生成する。制御モジュールは多くの場合、入力プロセス制御データを生成する、または出力プロセス制御データを受信するフィールドデバイスから遠く離れたコントローラ内で実行される。このようなフィールドデバイスと通信するために、制御モジュールにより、プロセス制御データが、プロセスプラントの様々な通信リンクを介して送信される、または受信されるようになり、これらの通信リンクがプロセスプラントのＩ／Ｏ構造を構成する。本明細書において使用されるように、“Ｉ／Ｏ  ａｒｃｈｉｔｅｃｔｕｒｅ（Ｉ／Ｏ構造）”とは、複数の様々な種類の通信リンク、通信リレーまたは通信スイッチ、通信プロトコル、通信フォーマット、様々な種類のデバイス、デバイス仕様、デバイスプロトコル、及びデバイス操作フォーマットまたは通信フォーマットを含むことができるプロセスプラントの全部または一部の物理的通信インフラストラクチャを指している。
【００２６】
Ｉ／Ｏ構造を介したプロセス制御データまたは他のデータの送受信を管理するために、本明細書において説明される本発明の様々な実施形態は、シャドウブロックまたは信号オブジェクトを利用することができる。シャドウブロックまたは信号オブジェクトは、制御モジュールとフィールドデバイスとの間の通信の方式を管理することにより、制御モジュールをＩ／Ｏ構造から様々な程度に分離する。シャドウブロックは、制御モジュールを実行するコントローラ内または他のデバイス内のフィールドデバイス（または、フィールドデバイス内の機能ブロック）の動作を写像することにより、制御モジュールが、これらの制御モジュールがあたかも実際のフィールドデバイスであるかのようにシャドウブロックとインタラクションを行なうように構成することができる。シャドウブロックは従って、プロセス制御データを、Ｉ／Ｏ構造を使用して送受信することができる。信号オブジェクトは、制御モジュールをフィールドデバイスに接続するように構成することができ、接続する際に、プロセス制御データをＩ／Ｏ構造に使用されるプロトコルと制御モジュールが使用する標準的なフォーマットとの間で変換することができる。信号オブジェクトをこのように使用して、制御モジュールとフィールドデバイスまたは他の制御モジュールとの間の通信を管理することができる。信号オブジェクトを使用して、プロセス制御データをユーザインターフェースに直接送信することにより、制御モジュールを迂回して簡単に提示することもできる、またはアラーム機能を果たすこともできる。
システム概要
【００２７】
まず、例示的なプロセスプラントの全体構造を参照するに、図１Ａは、プロセス制御システム内、またはプロセスプラント１０（または、プロセスプラントの一部）内で動作する例示的なプロセス制御ネットワーク１００のブロック図である。プロセス制御ネットワーク１００は、多種多様な他のデバイスの間の接続を直接的または間接的に可能にするネットワークバックボーン１０５を含むことができる。ネットワークバックボーン１０５に接続されるデバイスは、様々な実施形態では、他のプロセスプラントへの（例えば、イントラネットまたはコーポレートワイドエリアネットワークを介した）アクセスポイント７２、ゲートウェイ７５、外部システムへの（例えば、インターネットへの）ゲートウェイ７８、ＵＩデバイス１１２、サーバ１５０、データベース１４０、ビッグデータアプライアンス１０２（例えば、ビッグデータヒストリアンを含む）、ビッグデータエキスパートシステム１０４、監視エンジン１０６、コントローラ１１、入力／出力（Ｉ／Ｏ）カード２６及び２８、有線フィールドデバイス１５〜２３、有線制御デバイス２４、無線ゲートウェイ３５、及び無線通信ネットワーク７０の組み合わせを含む。通信ネットワーク７０は無線デバイス４０〜５８を含むことができ、これらの無線デバイスは、無線フィールドデバイス４０〜４６、無線アダプター５２ａ及び５２ｂ、アクセスポイント５５ａ及び５５ｂ、及びルータ５８を含む。無線アダプター５２ａ及び５２ｂは、非無線フィールドデバイス４８及び５０にそれぞれ接続することができる。コントローラ１１は、プロセッサ３０、メモリ３２、及び１種類以上の制御ルーチン３８を含むことができる。図１Ａは、ネットワークバックボーン１０５に接続されるデバイス群のうちの幾つかのデバイスの１つのデバイスしか示していないが、これらのデバイスの各デバイスは、複数のインスタンスをネットワークバックボーン１０５上に有することができ、実際、プロセスプラント１０は、複数のネットワークバックボーン１０５を含むことができることを理解できるであろう。
【００２８】
ＵＩデバイス１１２は、コントローラ１１及び無線ゲートウェイ３５にネットワークバックボーン１０５を介して通信可能に接続することができる。コントローラ１１は、有線フィールドデバイス１５〜２３にＩ／Ｏカード２６及び２８を介して通信可能に接続することができ、無線フィールドデバイス４０〜４６及び非無線フィールドデバイス４８〜５０にネットワークバックボーン１０５及び無線ゲートウェイ３５を介して通信可能に接続することができる。幾つかのフィールドデバイス２２及び２３は、コントローラ１１に制御デバイス２４を介して間接的に接続することができ、制御デバイス２４は、フィールドデバイス２２及び２３と直接通信し、かつＩ／Ｏカード２８を介してコントローラ１１と通信する。コントローラ１１は、バッチプロセスまたは連続プロセスを、フィールドデバイス１５〜２３及び４０〜５０のうちの少なくとも幾つかのフィールドデバイスを使用して実行するように動作することができる。例えば、Emerson Process Managementから販売されているDeltaV（商標）コントローラとすることができるコントローラ１１は、プロセス制御ネットワークバックボーン１０５に通信可能に接続される。コントローラ１１は更に、フィールドデバイス１５〜２３及び４０〜５０に、例えば標準的な４〜２０ｍＡのデバイス、Ｉ／Ｏカード２６，２８、及び／又はFOUNDATION（登録商標）Fieldbusプロトコル、HART（登録商標）プロトコル、Wireless HART（登録商標）プロトコルなどのような任意の高性能通信プロトコルに関連付けられる任意の所望のハードウェア及びソフトウェアを使用して通信可能に接続することができる。図１Ａに示す実施形態では、コントローラ１１、フィールドデバイス１５〜２３及び４８〜５０、制御デバイス２４、及びＩ／Ｏカード２６，２８は有線デバイスであり、フィールドデバイス４０〜４６は無線フィールドデバイスである。しかしながら、文脈上別の意味を示していると判断されない限り、本明細書において言及されるフィールドデバイス１５〜２３または４０〜５０のうちの任意のフィールドデバイスは、有線または無線フィールドデバイスとして実現することができ、コントローラ１１とフィールドデバイス１５〜２３または４０〜５０との間の通信接続は、有線接続または無線接続のいずれかの接続または両方の接続を含むことができる。プロセス制御が本明細書においてフィールドデバイスの観点から説明されているが、任意の種類のプロセス制御デバイスを、様々に記述される実施形態のうちの任意の実施形態において使用するようにしてもよい。
【００２９】
ＵＩデバイス１１２の動作状態では、ＵＩデバイス１１２は、幾つかの実施形態では、ユーザインターフェース（“ＵＩ”）を実行することにより、ＵＩデバイス１１２は入力を、入力インターフェースを介して受け入れることができ、出力をディスプレイに表示することができる。ＵＩデバイス１１２は、データ（例えば、プロセスパラメータのようなプロセス関連データ、ログデータ、センサデータ、及び／又は捕捉してビッグデータアプライアンス１０２に格納することができる任意の他のデータ）をサーバ１５０から受信することができる。他の実施形態では、ＵＩは、全体または一部をサーバ１５０で実行することができ、サーバ１５０は、表示データをＵＩデバイス１１２に送信することができる。ＵＩデバイス１１２は、ＵＩデータ（ＵＩデータは、表示データ及びプロセスパラメータデータを含むことができる）を、バックボーン１０５を介してプロセス制御ネットワーク１００内の他のノードから受信することができ、他のノードとして、例えばコントローラ１１、無線ゲートウェイ３５、またはサーバ１５０を挙げることができる。ＵＩデバイス１１２で受信するＵＩデータに基づいて、ＵＩデバイス１１２は、プロセス制御ネットワーク１００に関連付けられるプロセスの様々な局面を表わす出力（すなわち、視覚表現または画像）を供給することによりユーザがプロセスを監視することができる。ユーザは更に、プロセスを、入力をＵＩデバイス１１２で行なうことにより制御することができる。これを例示すると、ＵＩデバイス１１２は、例えばタンク充填プロセスを表わす画像（１つ以上のフィールドデバイスからのデータを含む）を供給することができる。このようなシナリオでは、ユーザはタンク液位測定値を読み取って、タンクを満たす必要があると判断することができる。ユーザは、ＵＩデバイス１１２に表示されるインレットバルブ画像とインタラクションを行なってコマンドを入力することによりインレットバルブを開くことができる。
【００３０】
別の動作状態では、ＵＩデバイス１１２は、ＵＩの他に、複数のルーチン、モジュール、またはサービスを実行することができる。１つの実施形態では、ＵＩデバイス１１２は、状況認識ルーチンを実行することができ、状況認識ルーチンは、例えば位置認識、設備認識、またはスケジューリング認識に関連する様々なルーチンまたはサブルーチンを含むことができる。これらの状況ルーチンによりＵＩデバイス１１２は、ＵＩデバイス１１２が動作している特定の環境または状況に適したグラフィカルユーザインターフェース構成（“ＧＵＩ構成”）を画像により表示することができる。ＵＩデバイス１１２は更に、状態判定ルーチンを実行することにより、ＵＩデバイス１１２が、ＵＩデバイス１１２（ＵＩのような）で実行されているアプリケーションの状態を含むＵＩデバイス１１２の状態を追跡して保存することができる。ＵＩデバイス１１２上のアプリケーションの状態を追跡することにより、ＵＩデバイス１１２はユーザに許可して、例えば所定のセッションを第１ＵＩデバイス１１２上で開始することができ、第２ＵＩデバイス１１２を使用し始めることができることにより、ワークフローを当該ユーザの前のセッションから再開して中断を最小限に抑えることができる。
【００３１】
ＵＩデバイス１１２（または、アプリケーションまたは画面をＵＩデバイス１１２に提供するサーバ）は更に、プラント資産の管理に関連するルーチンを実行することができる。例えば、幾つかのルーチンを使用して、プロセスプラント内の資産を設置する、置き換える、保守する、校正する、診断する、または委託することができる。他のルーチンを使用して、特定の資産に関連付けられる製造指図書を作成する、または完成させることができる、及び／又はプラント人員（特定のデバイスの近傍に居る人員）に製造指図書を通知することができる。ＵＩデバイス１１２は、プロセスの監視に関連するルーチンを実行することができる。例えば、幾つかのルーチンは、野外計測データを記録する、実験サンプルレポートを作成する、リアルタイム資産パラメータを表示するなどのために使用することができる。ＵＩデバイス１１２は更に、プラント建設手順及びワークフローの遵守に関連するルーチンを実行することができる。例えば、幾つかのルーチンは、標準的な運転手順（ＳＯＰ）、スタートアップ手順、シャットダウン手順、ロックアウト手順、作業指示書、または他の製品／資産文書に関連する情報を供給することができる。更に別のルーチンにより、ＵＩデバイス１１２がネットワークに接続されると、製造指図書を直ちに容易に配信することができ、システムを直ちに容易にオフラインで利用することができ、データを容易に手入力することができる。通信ルーチンは、電子メールルーチン、テキストメッセージングルーチン、インスタントメッセージングルーチンなどを含むことにより、プラント人員及び／又は技術的サポートまたは他のサポートを行なう外部当事者の間の通信を容易にすることができる。
【００３２】
ＵＩデバイス１１２（または、アプリケーションまたは画面をＵＩデバイス１１２に提供するサーバ）は更に、１種類以上の監査プロセスをサポートする、及び／又は容易にするルーチンを含むことができる。監査プロセスは、例えば作業監査及び／又は政府監査を含むことができる。種々実施形態では、ルーチンによりユーザはデータを目視で確認することができる、及び／又はデータ収集、データ保守、及び／又はデータ照合に関連するレポートを作成して規制を満たすことができる。例えば、移動制御室が医薬製造プラント内に設置される場合、移動制御室により、収集されるデータの目視確認またはレポート作成が容易になって、プラントで生産される製品の安全性に関連する政府規制を満たすことができる。種々実施形態では、ルーチンによりユーザは、製造指図書の監査、メンテナンス、または他のプラントプロセスに関連するレポートを目視確認することができる、及び／又は作成することができる。
【００３３】
特定の実施形態では、ＵＩデバイス１１２は、シンクライアント、ウェブクライアント、またはシッククライアントのような任意の種類のクライアントを実装することができる。例えば、ＵＩデバイス１１２は、ＵＩデバイス１１２の動作に必要な処理の大部分を受け持つ他のノード、コンピュータ、またはサーバに依存する可能性がある。このような例では、ＵＩデバイス１１２はサーバ１５０と通信することができ、サーバ１５０は、プロセス制御ネットワーク１００上の１つ以上の他のノードと通信することができ、かつ表示データ及び／又はプロセス制御データを確認してＵＩデバイス１１２に送信することができる。更に、ＵＩデバイス１１２は、受信したユーザ入力に関するいかなるデータもサーバ１５０に渡すことができるので、サーバ１５０は、ユーザ入力に関連するデータの処理を行ない、それに応じた動作を行なう。別の表現をすると、ＵＩデバイス１１２は、画像を表示する以上の機能を有していないので、データを格納してＵＩデバイス１１２の動作に必要なルーチンを実行する１つ以上のノードまたはサーバへのポータルとして機能する。シンクライアントＵＩデバイスは、ＵＩデバイス１１２に関するハードウェア要求を最小限に抑えられるという利点を提供する。
【００３４】
他の実施形態では、ＵＩデバイス１１２はウェブクライアントとすることができる。このような実施形態では、ＵＩデバイス１１２のユーザは、プロセス制御システムとインタラクションを、ＵＩデバイス１１２のブラウザを介して行なうことができる。ブラウザにより、ユーザは別のノードまたはサーバ１５０（サーバ１５０のような）のデータ及びリソースにバックボーン１０５を介してアクセスすることができる。例えば、ブラウザは、表示データまたはプロセスパラメータデータのようなＵＩデータを、サーバ１５０から受信することによりブラウザが画像を表示してプロセスの所定部分または全部を制御する、及び／又は監視することができる。ブラウザは更に、ユーザ入力（画像上のマウスクリックのような）を受信することができる。ユーザ入力によりブラウザは、サーバ１５０に格納されている情報リソースを取り出すか、または情報リソースにアクセスすることができる。例えば、マウスクリックによりブラウザは、クリック対象の画像に関する情報を取り出して（サーバ１５０から）表示することができる。更に他の実施形態では、ＵＩデバイス１１２に関する処理の大部分は、ＵＩデバイス１１２で行なうことができる。例えば、ＵＩデバイス１１２は、前に説明したＵＩ、状態判定ルーチン、及び状況認識ルーチンを実行することができる。ＵＩデバイス１１２は更に、データをその場で格納する、データにその場でアクセスする、データをその場で分析することができる。
【００３５】
動作状態では、ユーザはＵＩデバイス１１２とインタラクションを行なって、フィールドデバイス１５〜２３またはデバイス４０〜５０のうちの任意のデバイスのようなプロセス制御ネットワーク１００内の１つ以上のデバイスを監視する、または制御することができる。ユーザはＵＩデバイス１１２とインタラクションを行なって、例えばコントローラ１１に格納されている制御ルーチン３８に関連付けられるパラメータを修正する、または変更することができる。コントローラ１１のプロセッサ３０は、制御ループを含むことができる１種類以上のプロセス制御ルーチン３８（メモリ３２に格納されている）を実行する、または監視することができる。プロセッサ３０は、フィールドデバイス１５〜２３及び４０〜５０と通信することができ、バックボーン１０５に通信可能に接続される他のノードと通信することができる。本明細書において記載される任意の制御ルーチンまたはモジュール（品質予測及び障害検出モジュールまたは機能ブロックを含む）は、制御ルーチンまたはモジュールのうち、異なるコントローラまたは他のデバイスにより必要に応じて実施される、または実行されるルーチン部分またはモジュール部分を有することができることに留意されたい。同様に、本明細書において記載され、かつプロセスプラント１０内で実施されることになる制御ルーチンまたはモジュールは、ソフトウェア、ファームウェア、ハードウェアなどを含む任意の形態を採ることができる。制御ルーチンは、任意の所望のソフトウェア形式で実行することができ、例えばオブジェクト指向プログラミング、ラダーロジック、シーケンシャルファンクションチャート、機能ブロック図を使用して、または任意の他のソフトウェアプログラミング言語または設計パラダイムを使用して実行することができる。詳細には、制御ルーチンは、ユーザがＵＩデバイス１１２を介して実行することができる。制御ルーチンは、ランダムアクセスメモリ（ＲＡＭ）またはリードオンリメモリ（ＲＯＭ）のような任意の所望の種類のメモリに格納することができる。同様に、制御ルーチンはハードコード化して、例えば１つ以上のＥＰＲＯＭ，ＥＥＰＲＯＭ，特定用途向け集積回路（ＡＳＩＣ）、または任意の他のハードウェアエレメントまたはファームウェアエレメントに格納することができる。従って、コントローラ１１は、制御方式または制御ルーチンを任意の所望の態様で実行するように構成する（ユーザが特定の実施形態におけるＵＩデバイス１１２を使用することにより）ことができる。
【００３６】
ＵＩデバイス１１２の幾つかの実施形態では、ユーザはＵＩデバイス１１２とインタラクションを行なって制御方式をコントローラ１１で、一般に機能ブロックと表記されるブロックを使用して実行することができ、各機能ブロックは、制御ルーチン全体のオブジェクトまたは他の部分（例えば、サブルーチン）であり、他の機能ブロックと連携動作して（リンクと呼ばれる通信路を介して）プロセス制御ループをプロセスプラント１０内で実行する。制御系機能ブロックは通常、トランスミッタ、センサ、または他のプロセスパラメータ測定デバイスに関連付けられる機能のような入力機能；ＰＩＤ，ファジーロジックなどの制御を実行する制御ルーチンに関連付けられる機能のような制御機能；またはバルブのような所定のデバイスの動作を制御して所定の物理機能をプロセス制御システム内で実行する出力機能のうちの１つの機能を実行する。勿論、ハイブリッド機能ブロック及び他の種類の機能ブロックが存在する。これらの機能ブロックは、ＵＩデバイス１１２において表示される画像表現を有することができるので、ユーザは機能ブロックの種類、機能ブロック間の接続、及びプロセス制御システム内で実行される機能ブロック群の各機能ブロックに関連付けられる入力／出力を容易に修正することができる。機能ブロックは、コントローラ１１に格納してコントローラ１１により実行することができ、これは通常、これらの機能ブロックが、標準的な４〜２０ｍＡのデバイス及びHART（登録商標）デバイスのような所定の種類の高性能フィールドデバイスに使用される、または関連付けられる場合に当てはまる、または機能ブロックはフィールドデバイス自体に格納して、フィールドデバイス自体により実行することができ、これはFieldbusデバイスの場合に当てはまる。機能ブロックがフィールドデバイス自体により実行される例では、シャドウブロック３６をコントローラ１１が実行して、機能ブロックの動作を写像することができる。コントローラ１１は、１種類以上の制御ルーチン３８を含むことができ、これらの制御ルーチンは、１種類以上の制御ループを実行することができる。各制御ループは通常、制御モジュール３４と表記され、機能ブロック群のうちの１つ以上の機能ブロックを実行することにより実行される。
【００３７】
ＵＩデバイス１１２は、幾つかの実施形態では、ビッグデータアプライアンス１０２及び／又はエキスパートシステム１０４及び／又は監視エンジン１０６とインタラクションを行なう。ビッグデータアプライアンス１０２は、全種類のプロセス制御データをプロセスプラント１０から収集して格納することができ、これらのプロセス制御データとして、センサデータ、制御パラメータ、手入力データ（例えば、プロセスプラントオペレータが入力する静的データ）、人員配置及びコマンド入力、データの全部に関連付けられるタイムスタンプ、プロセスプラント１０内で利用することができる任意の他の種類のデータを挙げることができる。ビッグデータアプライアンス１０２に通信可能に接続されるエキスパートシステム１０４は、特定のユーザ入力とは無関係に、または特定のユーザ入力に従って動作することにより、ビッグデータアプライアンス１０２に格納されているプロセスプラントデータを分析することができる。エキスパートシステム１０４は、モデルを開発する、及び／又は使用することができ、データトレンド及び／又はデータ相関を認識することができ、実際の問題または予測される問題、及び／又は異常な状況、及び／又はプロセスプラント１０に影響を与える虞がある、またはプロセスプラント１０に直ぐに影響を与えることになる準最適状態などについてプラント人員に警報を発することができる。幾つかの実施形態では、エキスパートシステム１０４は、これらの機能を、特定のデータ集合またはトレンドを特定の問題または状態に関連付けるために特別にプログラムすることなく実行し、その代わり、現在のトレンドまたはデータが、前の状態（前の状態は、肯定的な／望ましい状態、または否定的な／望ましくない状態とすることができる）の時刻の前に、当該時刻に、またはほぼ当該時刻に同時発生していることを認識する。トレンドまたはデータが以前に同時発生しているという認識に基づいて、エキスパートシステム１０４は状態を予測することができる。エキスパートシステム１０４は更に、ビッグデータアプライアンス１０２に格納されているデータに基づいて、いずれのプロセス変数、センサ読み取り値などが、プロセスプラント１０内の異常状況を検出する、予測する、防止する、及び／又は解消するために最も重要であるかを判断することができる。例えば、エキスパートシステム１０４は、炭化水素が積層体から排出されていると判断することができる、炭化水素が排出される原因を自動的に突き止める、及び／又は炭化水素が排出される原因となる問題を解消するワーク製品を製造するようにする（例えば、監視エンジン１０６により）、及び／又はワーク製品を製造して設備をテストすることができる、またはネットワークを介して入手することができないパラメータを観測する／記録することができる。別の例として、エキスパートシステム１０４は、一連のこれまでのデータポイントで表示されるトレンドが、予測される異常状況、予測されるメンテナンス問題、予測される故障などを示唆していると判断することができる。
【００３８】
以下に更に詳細に説明されるように、監視エンジン１０６は、ビッグデータアプライアンス１０２及び／又はエキスパートシステム１０４とインタラクションを行なって、様々な監視活動を自動的に実行する、及び／又は容易にすることができる。例えば、監視エンジン１０６は、エキスパートシステム１０４により特定されるトレンドを監視することができ、ワーク製品をプラント人員に代わって製造することができる。別の例として、監視エンジン１０６は、プロセスプラントリソースの校正状態を監視することができ、ワーク製品をプラント人員に代わって製造することができる。これらの機能に関連して、監視エンジン１０６は更に、人員証明書、設備をスケジューリングされたワーク製品の製造中に操作する許可、及びワーク製品製造のタイミングを管理することができる。監視エンジン１０６は、ＵＩデバイス１１２とインタラクションを行なって、ワーク製品の製造を割り当てて追跡することができ、ワーク製品の完成後にワーク製品を追跡調査して、ワーク製品が製造されるまでの状態または指示（例えば、特定されるトレンド、異常状況など）が解消されていることを確認することができる。例えば、監視エンジン１０６は、エキスパートシステム１０４から、バルブが故障した状態でワーク製品が製造されていることを確認することができる。監視エンジン１０６は、ＵＩデバイス１１２を携行している保守要員が、故障バルブの近傍に居ることを後で突き止めることができ、ワーク製品を保守要員に渡すように要求して、保守要員がＵＩデバイス１１２を介してワーク製品を受け取ることができるようにする。監視エンジン１０６は、保守要員が、ワーク製品を製造するための適正な一連の技術を有していることを確認することができ、必要な許可を保守要員に与えてワーク製品を製造させることができる。更に、監視エンジン１０６は、プロセス制御活動をスケジューリングし直して、ワーク製品を完成させることができる。監視エンジン１０６は、ワーク製品の製造前に、及び／又は製造中に、標準作業手順、マニュアル、及び他の文書を人員に与えることができる。これらは、監視エンジン１０６の数例に過ぎず、監視エンジン１０６については、以下に更に説明されることになる。
【００３９】
図１Ａを参照し続けると、無線フィールドデバイス４０〜４６は、無線ネットワーク７０内で、Wireless HART（登録商標）プロトコルのような無線プロトコルを使用して通信を行なう。特定の実施形態では、ＵＩデバイス１１２は、無線フィールドデバイス４０〜４６と、無線ネットワーク７０を使用して通信することができる。このような無線フィールドデバイス４０〜４６は、プロセス制御ネットワーク１００の１つ以上の他のノードと直接通信することができ、これらの他のノードは更に、無線通信を行なう（例えば、無線プロトコルを使用して）ように構成される。無線通信を行なうようには構成されない１つ以上の他のノードと通信するために、無線フィールドデバイス４０〜４６は、バックボーン１０５に接続される無線ゲートウェイ３５を利用することができる。勿論、フィールドデバイス１５〜２３及び４０〜４６は、将来開発される任意の規格またはプロトコルを含む任意の有線プロトコルまたは無線プロトコルのような任意の他の所望の規格（群）またはプロトコルに準拠することができる。
【００４０】
無線ゲートウェイ３５は、無線通信ネットワーク７０の様々な無線デバイス４０〜５８へのアクセスを可能にする。詳細には、無線ゲートウェイ３５は、プロセス制御ネットワーク１００の無線デバイス４０〜５８と他のノード（図１Ａのコントローラ１１を含む）との間の通信接続を可能にする。無線ゲートウェイ３５は、幾つかの場合では、有線及び無線プロトコルスタックの共有レイヤまたはレイヤ群をトンネリングにより透過的に伝送しながら、通信接続を有線及び無線プロトコルスタックの下位レイヤに対するルーティングサービス、バッファリングサービス、及びタイミングサービス（例えば、アドレス変換、ルーティング、パケット分割、優先付けなど）により可能にする。別の場合では、無線ゲートウェイ３５は、コマンドを、プロトコルレイヤを全く共有しない有線プロトコルと無線プロトコルとの間で変換することができる。プロトコル変換及びコマンド変換の他に、無線ゲートウェイ３５は、無線ネットワーク７０内で実行される無線プロトコルに関連付けられるスケジューリング方式のタイムスロット及びスーパーフレーム（時間軸で等間隔に配置される通信タイムスロット集合）に使用される同期クロックを供給することができる。更に、無線ゲートウェイ３５は、無線ネットワーク７０のネットワーク管理機能及びネットワーク運用機能を提供することができ、例えばリソース管理、性能調整、ネットワーク障害解消、トラフィック監視、セキュリティなどを行なう。
【００４１】
有線フィールドデバイス１５〜２３と同様に、無線ネットワーク７０の無線フィールドデバイス４０〜４６は、物理制御機能をプロセスプラント１０内で実行することができ、例えばバルブを開閉する、プロセスパラメータの測定値を採取することができる。しかしながら、無線フィールドデバイス４０〜４６は、ネットワーク７０の無線プロトコルを使用して通信を行なうように構成される。従って、無線ネットワーク７０の無線フィールドデバイス４０〜４６、無線ゲートウェイ、及び他の無線ノード５２〜５８は、無線通信パケットの生成元及び消費先である。
【００４２】
幾つかのシナリオでは、無線ネットワーク７０は、非無線デバイスを含むことができる。例えば、図１Ａのフィールドデバイス４８は、４〜２０ｍＡのレガシーデバイスとすることができ、フィールドデバイス５０は、従来の有線HART（登録商標）デバイスとすることができる。ネットワーク３０内で通信を行なうために、フィールドデバイス４８及び５０は、無線通信ネットワーク７０に無線アダプター（ＷＡ）５２ａまたは５２ｂを介して接続することができる。更に、無線アダプター５２ａ、５２ｂは、Foundation（登録商標）Fieldbus、PROFIBUS、DeviceNetなどのような他の通信プロトコルをサポートすることができる。更に、無線通信ネットワーク３０は、１つ以上のネットワークアクセスポイント５５ａ，５５ｂを含むことができ、これらのネットワークアクセスポイントは、無線ゲートウェイ３５と有線通信する別体の物理デバイスとすることができる、または無線ゲートウェイ３５と一体に内蔵デバイスとして設けることができる。無線ネットワーク７０は更に、１つ以上のルータ５８を含むことにより、パケットを１つの無線デバイスから別の無線デバイスに無線通信ネットワーク３０内で転送することができる。無線デバイス３２〜４６及び５２〜５８は、互いに通信することができ、無線ゲートウェイ３５と無線通信ネットワーク７０の無線リンク６０を経由して通信することができる。
【００４３】
従って、図１Ａは、主としてネットワークルーティング機能及び管理機能をプロセス制御システムの様々なネットワークに付与する役割を担うプロバイダデバイスの幾つかの例を含む。例えば、無線ゲートウェイ３５、アクセスポイント５５ａ，５５ｂ、及びルータ５８は、無線パケットを無線通信ネットワーク７０内でルーティングする機能を含む。無線ゲートウェイ３５は、無線ネットワーク７０のトラフィック管理機能及び運用機能を実行するだけでなく、トラフィックを有線ネットワークにルーティングして、有線ネットワークからルーティングすることができ、これらの有線ネットワークは、無線ネットワーク７０に通信可能に接続される。無線ネットワーク７０は、無線プロセス制御プロトコルを利用することができ、無線プロセス制御プロトコルは特に、Wireless HART（登録商標）のようなプロセス制御メッセージ及び機能をサポートする。
【００４４】
特定の実施形態では、プロセス制御ネットワーク１００は、ネットワークバックボーン１０５に接続される他のノードを含むことができ、これらの他のノードは、他の無線プロトコルを使用して通信を行なう。例えば、プロセス制御ネットワーク１００は、１つ以上の無線アクセスポイント７２を含むことができ、これらの無線アクセスポイントは、WiFi対応プロトコルまたは他のIEEE802.11対応無線ローカルエリアネットワークプロトコルのような他の無線プロトコル、WiMAX(Worldwide Interoperability for Microwave Access)対応プロトコル、LTE (Long Term Evolution) 対応プロトコル、または他のITU-R
(International Telecommunication Union Radiocommunication Sector) 対応プロトコルのような移動通信プロトコル、近距離通信(NFC) プロトコル及び Bluetooth（登録商標）プロトコル、または他の無線通信プロトコルのような短波長無線通信プロトコルを利用する。通常、このような無線アクセスポイント７２により、ハンドヘルドコンピューティングデバイスまたは他のポータブルコンピューティングデバイスは、それぞれの無線ネットワークを経由して通信を行なうことができ、この無線ネットワークは、無線ネットワーク７０とは異なっており、かつ無線ネットワーク７０とは異なる無線プロトコルをサポートする。幾つかの実施形態では、ＵＩデバイス１１２は、プロセス制御ネットワーク１００を経由して、無線アクセスポイント７２を使用して通信を行なう。幾つかのシナリオでは、ポータブルコンピューティングデバイスの他に、１つ以上のプロセス制御デバイス（例えば、コントローラ１１、フィールドデバイス１５〜２３、または無線デバイス３５，４０〜５８）もまた、アクセスポイント７２がサポートする無線ネットワークを使用して通信を行なうことができる。
【００４５】
更に、または代わりに、プロバイダデバイスは、近傍のプロセスプラント１０の外部に在るシステムへの１つ以上のゲートウェイ７５，７８を含むことができる。このような実施形態では、ＵＩデバイス１１２を使用して、前記外部システムを制御する、監視する、またはその他には、前記外部システムと通信することができる。通常、このようなシステムは、プロセスプラント１０により生成される情報、使用される情報、または変更される情報の消費先または供給源である。例えば、プラントゲートウェイノード７５は、近傍のプロセスプラント１０（当該プラント固有の該当するプロセス制御データネットワークバックボーン１０５を有する）を、プラント固有の該当するネットワークバックボーンを有する別のプロセスプラントに通信可能に接続することができる。１つの実施形態では、単一のネットワークバックボーン１０５が、複数のプロセスプラントまたは複数のプロセス制御環境を受け持つことができる。
【００４６】
別の例では、プラントゲートウェイノード７５は、近傍のプロセスプラントを、プロセス制御ネットワーク１００またはバックボーン１０５を含まない旧来のプロセスプラントまたは先行技術によるプロセスプラントに通信可能に接続することができる。この例では、プラントゲートウェイノード７５は、メッセージをプラント１０のプロセス制御ビッグデータバックボーン１０５が利用するプロトコルと、レガシーシステム（例えば、Ethernet、Profibus、Fieldbus、DeviceNetなど）が利用する異なるプロトコルとの間で変換する、または翻訳することができる。このような例では、ＵＩデバイス１１２を使用して、前記旧来のプロセスプラントまたは先行技術によるプロセスプラント内のシステムまたはネットワークを制御する、監視する、またはその他には、システムまたはネットワークと通信することができる。他の例では、バックボーン１０５は、プラント１０のレガシーシステムを含むことができ、プラントゲートウェイノード７５は、レガシーシステムバックボーン１０５を別のプラントのビッグデータバックボーンに接続することができる。
【００４７】
プロバイダデバイスは、１つ以上の外部システムゲートウェイノード７８を含むことにより、プロセス制御ネットワーク１００を、ラボラトリーシステム（例えば、Laboratory Information Management System（ラボラトリー情報管理システム）またはLIMS）、人員巡回データベース、資材ハンドリングシステム、メンテナンス管理システム、製品棚卸制御システム、生産計画システム、気象データシステム、出荷ハンドリングシステム、梱包システム、インターネット、別のプロバイダのプロセス制御システム、または他の外部システムのような外部パブリックシステムまたはプライベートシステムのネットワークに通信可能に接続することができる。外部システムゲートウェイノード７８は、例えばプロセス制御システムとプロセスプラントの外部に居る人員（例えば、自宅に居る人員）との間の通信を容易にすることができる。１つのこのような例では、オペレータまたは保守技術者は、ＵＩデバイス１１２を当該オペレータまたは保守技術者の自宅で使用して、ネットワークバックボーン１０５にホームネットワーク（図示せず）、インターネット、及びゲートウェイ７８を介して接続することができる。別の例では、オペレータまたは保守技術者は、ＵＩデバイス１１２を任意の場所で使用して、ネットワークバックボーン１０５に移動電話ネットワーク（図示せず）、インターネット、及びゲートウェイ７８を介して接続することができる。ゲートウェイノード７８は更に、プロセスプラント内のプラント人員とプロセスプラントの外部のエンティティまたは人間との間の通信を容易にすることができる。例えば、プロセスプラント内のプロセス制御デバイスで修理を行なう技術者は、当該技術者のＵＩデバイス１１２でプロセス制御デバイスの製造業者から派遣されるサポート担当者と通信することができる。更に別の例では、監視エンジン１０６は、天候を監視する、供給業者から入荷された貨物を追跡する、金融データ（例えば、商品先物）を追跡するなどして、監視エンジン１０６を支援することにより、ワーク製品をスケジューリングする、生産計画を管理するなどすることができる。勿論、ゲートウェイ７８（または、ゲートウェイ７５、もしくは実際には、任意の２つのデバイスの間の）を介して形成される全ての接続は、セキュアな接続とすることができる（例えば、暗号化接続、ファイアウォール接続など）。
【００４８】
図１Ａは、有限数のフィールドデバイス１５〜２３及び４０〜５０を受け持つコントローラ１１を１つしか示していないが、これは単なる例示に過ぎず、非限定的な実施形態である。任意の数のコントローラ１１を、プロセス制御ネットワーク１００のプロバイダデバイスに含めることができ、これらのコントローラ１１のうちの任意のコントローラ１１は、任意の数の有線または無線フィールドデバイス１５〜２３、４０〜５０と通信して、プラント１０内のプロセスを制御することができる。また、プロセスプラント１０は更に、任意の数の無線ゲートウェイ３５、ルータ５８、アクセスポイント５５、無線プロセス制御通信ネットワーク７０、アクセスポイント７２、及び／又はゲートウェイ７５，７８を含むことができる。
【００４９】
図１Ｂは、プロセスプラント１０のプロセス制御システム内で動作するプロセス制御ネットワーク１００の一部のブロック図であり、例示的なコントローラ１１の動作を詳細に示している。図示のように、コントローラ１１は、ユーザインターフェースデバイス１１２にネットワークバックボーン１０５を介して通信可能に接続される。コントローラ１１は更に、フィールドデバイス２０，２２，及び２３だけでなく、制御デバイス２４にも接続される。詳細には、コントローラ１１は、フィールドデバイス２２及び２３に制御デバイス２４を介して接続される。Ｉ／Ｏ構造（図示せず）の更に別の通信リンクまたはコンポーネントを更に、様々な実施形態に含めるようにしてもよい。
【００５０】
図１Ｂのブロック図は、制御モジュール３４の構成を詳細に示しており、制御モジュール３４は、フィールドデバイス２０，２２，及び２３内で実行される機能ブロックをコントローラ１１内で表わすシャドウブロック３６を使用する。制御モジュール３４は、プロセスプラント１０を運転するために使用されるＰＩＤコントローラのような任意の種類の制御モジュールとすることができる。制御モジュール３４は図を分かり易くするために１つしか図示されていないが、プロセスプラントコントローラは通常、複数の制御モジュールを含む。このような制御モジュールは、ハードウェアモジュール、ソフトウェアモジュール、またはそれぞれのモジュールを組み合わせた複合モジュールとして実現することができる。制御モジュール３４は、任意の数の入力（ＩＮ）及び出力（ＯＵＴ）を含むことができ、入力及び出力はそれぞれ、データソースを入力として参照することができる、または所定のコンポーネントを出力として参照することができる。入力または出力は同じようにして、他の制御モジュールを参照することができる。例示的な制御モジュール３４は、入力を、フィールドデバイス２０を写像するシャドウブロック３６Ａ及び参照定数３７から受信する。例示的な制御モジュール３４は、入力データを処理して、フィールドデバイス２２または２３のうち１つ以上のフィールドデバイスを写像するシャドウブロック３６Ｂへの出力を生成する。シャドウブロック３６Ａは、フィールドデバイス２０と通信し、シャドウブロック３６Ｂは、制御デバイス２４と通信する。制御デバイス２４は更に、フィールドデバイス２２及び２３と通信してフィールドデバイス２２及び２３を制御し、フィールドデバイス２２及び２３は、レガシーフィールドデバイスとすることができる、またはコントローラ１１と幾つかの実施形態において直接通信することができない他のフィールドデバイスとすることができる。
【００５１】
シャドウブロック３６は、以下に更に説明されるように、制御モジュール３４により実行されてフィールドデバイス２０，２２，及び２３内の機能ブロック（図示せず）の動作を写像する。これにより、制御モジュール３４が、フィールドデバイス２０，２２，及び２３との通信をＩ／Ｏ構造を介して確立して維持する必要がないようにすることができる。シャドウブロックを使用することにより、制御モジュール３４は、プロセス監視機能及び制御機能を、コントローラ１１及びフィールドデバイス２０，２２，２３を接続するＩ／Ｏ構造を気にすることなく実行することができる。しかしながら、シャドウブロック３６は、フィールドデバイス２０，２２，及び２３との通信リンクを確立して維持するように構成される必要がある。このように、シャドウブロック３６は、フィールドデバイス２０，２２，及び２３のＩ／Ｏ構造、通信プロトコル、及び動作仕様を気にする必要がある。更に、幾つかの実施形態では、制御モジュール３４は、シャドウブロック３６と、フィールドデバイス２０，２２，及び２３が使用する適切なプロトコルを使用して通信するように構成される必要がある。
【００５２】
参照定数３７は、永久的に固定することができ、かつプロセスプラントオペレータまたは他のユーザが設定する、またはプロセス制御ネットワーク１００内のコントローラ１１または他のコンピューティングデバイスが生成する格納値である。例えば、参照定数３７は、ビッグデータアプライアンス１０２、エキスパートシステム１０４、監視エンジン１０６、またはサーバ１５０が定期的に設定することができる、またはイベントが発生すると（例えば、プロセスプラント１０の初期セットアップ中に）設定することができる。幾つかの実施形態では、参照定数３７は、プロセスプラントオペレータがＵＩデバイス１１２を介して設定することができる、またはデータベース１４０から取り出すことができる。別の例として、参照定数３７は、プロセス状態に対応するセットポイントのような定数データ値を含むことができる。
【００５３】
図１Ｂは、本説明が範囲の点で、図１Ａに関して記載されるプロセスプラントに限定されず、本説明を他の制御システム、監視システム、及び安全システムなどに適用することができることを示すために提示される。本説明では、種々実施形態について、プロセスプラント１０の観点から記載しているが、慣例を踏襲した本説明は、簡便性に鑑みて行なわれているに過ぎず、本発明を限定するために行なわれるのではない。
信号オブジェクト
【００５４】
本明細書において開示される本発明の１つの態様によれば、信号オブジェクトを使用して、プロセスプラント１０を運転するために使用される制御ロジック及びユーザインターフェースを、プロセス制御ネットワーク１００内のフィールドデバイスと通信することがないように分離することができる。信号オブジェクトは、コントローラ１１内に、またはＵＩデバイス１１２内に配置することができ、フィールドデバイス１５〜２３，４０〜５０との通信接続を確立する、維持する、または利用するように構成することができる。信号オブジェクトを制御モジュール３４に関連付けてプロセス制御を、プロセス制御データを制御モジュールと制御モジュールとの間に介在して、または制御モジュールとフィールドデバイスとの間に介在して送受信することにより容易にすることができる。このような通信を可能にするために、信号オブジェクトには、プロセス制御データの受信元のデータソースを指定する、またはプロセス制御データの送信先のデータターゲットを指定するパスが割り当てられる。制御モジュールをフィールドデバイスと通信することがないように更に分離するために、信号オブジェクトは、プロセスプラントのフィールドデバイスに関連付けられるＩ／Ｏ構造とは無関係なプロセス制御データを受信し、プロセス制御データをフィールドデバイスに、関連するＩ／Ｏ構造の通りに送信することができる。同様に、信号オブジェクトは、受信したプロセス制御データに関連付けられるＩ／Ｏ構造に関係なく、プロセス制御データを制御モジュールに標準的なフォーマットで供給することができる。
【００５５】
図２は、プロセス制御ネットワーク１００のプロセス制御システム２００の例示的な通信構造を示すブロック図であり、プロセス制御システムのレイヤ間の通信を示している。プロセス制御システム２００は、プロセスプラント１０の少なくとも一部を、本明細書において説明される方法に従って監視して制御する。プロセス制御システム２００は、プロセス制御ネットワーク１００の様々なコンポーネントを使用して実現されるが、このようなコンポーネント及び通信構造を図２から削除して重要な特徴の明瞭性を高めている。例示的なプロセス制御システム２００は、４レイヤ：ユーザインターフェース（ＵＩ）レイヤ２１０、モジュールレイヤ２２０、信号レイヤ２３０、及びデバイスレイヤ２４０を含む。
【００５６】
レイヤ２１０，２２０，２３０，及び２４０が通信してプロセスプラント１０を運転する。ＵＩレイヤ２１０のＵＩブロック２１２は、情報をプロセスプラントオペレータに対して提示して、プロセスプラント運転の変更に関するコマンドを受信する。ＵＩレイヤ２１０はモジュールレイヤ２２０と通信し、ＵＩレイヤ２１０が更に、信号レイヤ２３０と幾つかの実施形態において通信することができる。ＵＩブロック２１２は、プロセス制御データを制御モジュール２２２または信号オブジェクト２３２から受信し、当該プロセス制御データは、プロセスプラントオペレータに対して提示することができる、処理することにより更に別のデータを生成することができる、または格納することにより後で使用することができる。ＵＩブロック２１２は更に、プロセス制御データの指示、または制御コマンドをモジュールレイヤ２２０の制御モジュール２２２に送信してプロセスプラント１０を運転する。幾つかの実施形態では、ＵＩブロック２１２は更に、プロセス制御データの指示、または制御コマンドを信号レイヤ２３０の信号オブジェクト２３２に直接送信してプロセスプラント１０を運転する。制御モジュール２２２は、プロセスプラント１０をパラメータまたは指標に従って運転するように構成され、パラメータまたは指標は、プロセスプラントオペレータがＵＩブロック２１２を介して設定する、または調整することができる。プロセスプラント１０を運転するために、制御モジュール２２２は、フィールドデバイス２４２により生成されるプロセス制御データを受信し、プロセス制御データを処理し、他のプロセス制御データ（すなわち、制御コマンド）をフィールドデバイス２４２に送信する。
【００５７】
フィールドデバイス２４２はプロセス制御データを制御モジュール２２２に信号オブジェクト２３２を介して供給し、制御モジュール２２２は、プロセス制御データをフィールドデバイス２４２から信号オブジェクト２３２を介して受信する。また、制御モジュール２２２は更に、プロセス制御データをフィールドデバイス２４２に信号オブジェクト２３２を介して供給し、フィールドデバイス２４２は、プロセス制御データを、信号オブジェクト２３２を介して受信する。信号オブジェクト２３２は、フィールドデバイス２４２と制御モジュール２２２またはＵＩブロック２１２との間の通信リンクとしての役割を担うことにより、プロセス制御データを翻訳または変換し、制御モジュール２２２とフィールドデバイス２４２との間の通信接続を維持する。信号レイヤ２３０をモジュールレイヤ２２０とデバイスレイヤ２４０との間に挿入することにより、制御モジュール２２２がフィールドデバイス２４２から分離される。このように分離することにより、制御モジュール２２２は、特定のフィールドデバイス構成またはプロセスプラント１０のＩ／Ｏ構造とは無関係に動作することができる。
【００５８】
ＵＩレイヤ２１０はＵＩブロック２１２を含み、ＵＩブロック２１２は、ＵＩプログラムの一部または全部を実行し、ＵＩプログラムは、情報をプロセスプラントオペレータに対して提示して、コマンドをプロセスプラントオペレータから受信する。ＵＩブロック２１２は、１つ以上のＵＩデバイス１１２内で、サーバ１５０内で、またはコントローラ１１内で実行される。各ＵＩブロック２１２は、幾つかのプロセス制御インターフェース機能を実行することができ、例えばプロセスプラント情報をプロセスプラントオペレータに対して表示する、プロセスプラント１０の所定部分の内部の運転条件を設定する、アラームをプロセスプラントオペレータに対して設定または提示する、または要約情報をプロセスプラントオペレータに対して提示する。ＵＩブロック２１２は、プロセス制御データを含むことができるプロセス情報を１つ以上のモジュール２２２から、または信号オブジェクト２３２から受信することができる。受信した幾つかのプロセス情報は、要約することにより、または使用することにより更に別の情報を生成してプロセスプラントオペレータに対してＵＩデバイス１１２を介して提示することができる。更に、幾つかのＵＩブロック２１２は、受信した情報を格納または追跡して、リクエストがあるとプロセスプラントオペレータに対して使用するか、または提示することができ、リクエストがない場合には、プロセス情報を表示しなくても済ませることができる。各ＵＩブロック２１２は、プロセス制御システムの一部とすることができる、または別体のプロセス制御システムとすることができ、当該ＵＩブロック２１２は、異なるユーザの異なるデバイス上で実行することができる。幾つかのＵＩブロック２１２は更に、入力をユーザ（例えば、プロセスプラントオペレータ）から受信して、プロセスプラント１０の運転の１つ以上の局面を、モジュール２２２を介して制御するように構成することができる。例えば、プロセスプラントオペレータは、プロセスプラント１０内のパラメータ（例えば、温度、圧力、流量など）に対する変更を選択することができ、当該変更を１つ以上のモジュール２２２に送信して実行させることができる。例示的なプロセス制御システム２００は、２つのＵＩブロック２１２Ａ及び２１２Ｂを示しているが、任意の数のこのようなＵＩブロック２１２を様々な実施形態に含めるようにしてもよい。
【００５９】
モジュールレイヤ２２０は制御モジュール２２２を含み、制御モジュール２２２は、監視操作及び制御操作をプロセスプラント１０内で実行する。各制御モジュール２２２は、本明細書の他の箇所に詳細に説明されるように、コントローラ１１内で実行される制御モジュール３４とすることができる。制御モジュール２２２は更に、１つ以上のＵＩデバイス１１２、サーバ１５０、エキスパートシステム１０４、または監視エンジン１０６により様々な実施形態において実行することができる。制御モジュール２２２は、プロセスプラントオペレータがＵＩブロック２１２を介して制御する、構成する、または選択することができ、制御モジュール２２２は、プロセス情報をＵＩブロック２１２に供給することができる。幾つかの実施形態では、制御モジュール２２２は、プロセス制御ネットワーク１００または制御システムが初めて構成されるときにプロセスエンジニアまたは技術者により初めて構成することができる。制御モジュール２２２は、制御ループまたは制御ルーチンを実行して、フィードバックループ（例えば、ＰＩＤループ、ＰＩループ、ＰＤループなど）またはフィードフォーワードループのようなプロセスプラント１０の適正な機能を維持することができる。プロセスプラント１０を制御するために、制御モジュール２２２は、入力信号を、１つ以上のフィールドデバイス２４２の出力を表わす１つ以上の信号オブジェクト２３２から受信する。制御モジュール２２２は更に、出力信号を生成することができ、これらの出力信号を、信号オブジェクト２３２を介して渡して、フィールドデバイス群２４２のうちの１つ以上のフィールドデバイス２４２を制御することができる。例示的なプロセス制御システム２００は３つの制御モジュール２２２Ａ、２２２Ｂ、及び２２２Ｃを示しているが、任意の数のこのような制御モジュール２２２を様々な実施形態に含めるようにしてもよい。
【００６０】
信号レイヤ２３０は信号オブジェクト２３２を含み、信号オブジェクト２３２は、プロセス制御データを制御モジュール２２２に供給する、またはプロセス制御データを制御モジュール２２２から受信する。信号オブジェクト２３２を制御モジュール２２２の入力または出力に関連付けることにより、プロセス制御データを標準的なフォーマットで送信することができる。信号オブジェクト２３２は更に、プロセス制御データをフィールドデバイスとの間で送受信するように構成することができ、プロセス制御データは、標準的なフォーマットとは異なるフォーマットまたはプロトコルで送受信することができる。信号オブジェクト２３２は、コントローラ１１のメモリ３２に格納されているデータオブジェクトとすることができる。代わりに、信号オブジェクト２３２は、１つ以上のＵＩデバイス１１２、サーバ１５０、エキスパートシステム１０４、または監視エンジン１０６により実行することができる。各信号オブジェクト２３２を、対応する制御モジュール２２２が実行される同じハードウェアデバイス（例えば、コントローラ１１、ＵＩデバイス１１、またはサーバ１５０）内で実行すると特に有利である。信号オブジェクト２３２及び制御モジュール２２２を同じデバイス内に共に格納することにより、通信を一層効率的に行なうことができ、複雑さを低減することができ、速度を速めることができる。例えば、制御モジュール２２２と、これらの制御モジュールを関連付ける関連付け後の信号デバイス２３２とは、メモリ３２に格納することができ、ソフトウェアモジュールとしてコントローラ１１のプロセッサ３０により実行することができる。しかしながら、幾つかの例または実施形態は、これらの制御モジュールを関連付ける関連付け後の信号オブジェクト２３２とは異なるデバイスで実行される１つ以上の制御モジュール２３２を含むことができる。例えば、幾つかの制御モジュール２２２は、コントローラ１１により実行される信号オブジェクトに関連付けられた状態で、ＵＩデバイス１１２により実行することができる。例示的なプロセス制御システム２００は５つの信号オブジェクト２３２Ａ，２３２Ｂ，２３２Ｃ，２３２Ｄ，及び２３２Ｅを示しているが、任意の数のこのような信号オブジェクトを様々な実施形態に含めるようにしてもよい。
【００６１】
デバイスレイヤ２４０はフィールドデバイス２４２を含み、フィールドデバイス２４２は、プロセスプラント１０内の状態及び設備を監視して制御する。各フィールドデバイス２４２は、プロセス制御データを生成する（すなわち、温度、在庫量、圧力、流量などのようなプロセスプラント１０の一部の内部の状態に関するセンサデータを生成する）またはプロセス制御措置を、受信したプロセス制御データに基づいて実施する（すなわち、物理制御機能をプロセスプラント１０内で実行し、例えばバルブを開閉する、モータの速度を調整する、ポンプを動作させるなど）。幾つかのフィールドデバイス２４２は、プロセス制御データの生成、及びプロセス制御措置の実施を同時に行なう。例示的なプロセス制御システム２００は２つのフィールドデバイス２４２Ａ及び２４２Ｂを示しているが、任意の数のこのようなフィールドデバイス２４２を様々な実施形態に含めるようにしてもよい。各フィールドデバイス２４２は、本明細書の他の箇所に詳細に説明されるように、有線制御デバイス１５〜２３または無線制御デバイス４０〜５０とすることができる。幾つかのフィールドデバイス２４２は、本明細書の他の箇所に説明されるように、機能ブロック（図示せず）を実行することができる。
【００６２】
図２に示すように、ＵＩブロック２１２は、１つ以上の制御モジュール２２２に通信可能に接続することができ、各制御モジュール２２２は、１つ以上のＵＩブロック２１２に通信可能に接続することができる。例えば、制御モジュール２２２Ａは、ＵＩブロック２１２Ａ及び２１２Ｂの両方と通信するが、制御モジュール２２２Ｂ及び２２２Ｃは、ＵＩブロック２１２Ｂとのみ通信する。制御モジュール２２２は、他の制御モジュール２２２と通信することができる。例えば、制御モジュール２２２Ｂは、制御モジュール２２２Ｃと通信する。制御モジュール群２２２の間のこのような通信により、フィードバックまたはフィードフォワード制御ループを使用したプロセス制御が容易になるだけでなく、測定分析及び応答判断がより一層高度に容易に行なわれるようになる。幾つかの実施形態では、制御モジュール２２２は、出力を同じ制御モジュール２２２の入力に送信するように構成することができる。幾つかの実施形態では、ＵＩブロック２１２は、１つ以上の信号オブジェクト２３２に、制御モジュール２２２を間に挟むことなく通信可能に接続することができる。例えば、ＵＩブロック２１２Ｂは、信号オブジェクト２３２Ｂに通信可能に直接接続されるので、ＵＩブロック２１２Ｂは、プロセス制御データまたは他の情報を信号オブジェクト２３２Ｂから、プロセス制御データまたは他の情報を制御モジュール群２２２のうちの任意の制御モジュールを介して渡すということなく受信する。
【００６３】
各信号オブジェクト２３２は、プロセス制御データを１つ以上の制御モジュール２２２またはフィールドデバイス２４２から受信することができる。幾つかの実施形態では、幾つかの信号オブジェクト２３２は、プロセス制御データを制御モジュール２２２及びフィールドデバイス２４２の両方から受信することができる。他の実施形態では、各信号オブジェクト２３２は、プロセス制御データを、多くても、１つ以上の制御モジュール２２２から、または１つ以上のフィールドデバイス２４２から受信することができる。１つのこのような実施形態が図２に示され、図２では、信号オブジェクト２３２Ａ及び２３２Ｃはプロセス制御データを制御モジュール２２２からのみ受信し、信号オブジェクト２３２Ｂ及び２３２Ｄはプロセス制御データをフィールドデバイス２４２からのみ受信し、信号オブジェクト２３２Ｅは、プロセス制御データを、制御モジュール２２２またはフィールドデバイス２４２のいずれからも受信しない。別の実施形態では、各信号オブジェクト２３２は、１つのフィールドデバイス２４２に、またはそれよりも少ない数のフィールドデバイス２４２に関連付けられるが、それにも拘らず、幾つかの例では、１つよりも多くの入力及び／又は出力に関連付けられる。更に別の実施形態では、各信号オブジェクト２３２は、図２に示すように、１つのフィールドデバイス２４２の多くても１つの入力または出力に関連付けられるようにしてもよい。信号オブジェクト２３２Ａがフィールドデバイス２４２Ａの入力に関連付けられるのに対し、信号オブジェクト２３２Ｂはフィールドデバイス２４２Ａの出力に関連付けられる。同様に、信号オブジェクト２３２Ｃがフィールドデバイス２４２Ｂの入力に関連付けられるのに対し、信号オブジェクト２３２Ｄはフィールドデバイス２４２Ｂの出力に関連付けられる。信号オブジェクト２３２Ｅは、いずれのフィールドデバイス２４２にも関連付けられない。その代わり、信号オブジェクト２３２Ｅは、不完全に構成される（すなわち、信号オブジェクト２３２Ｅには、フィールドデバイス２４２に達するパスが未だ割り当てられていない）、または信号オブジェクト２３２Ｅは、静的データまたは定数データを格納することができる。幾つかの実施形態では、信号オブジェクト２３２Ｅは、データベース１４０のような外部データソースに達するパスを含むことができる、または入力をプロセスプラントオペレータから受信するように構成することができる。
【００６４】
各信号オブジェクト２３２は、１つ以上の制御モジュール２２２に関連付けられて、プロセス制御データを供給するか、または受信することができる。幾つかの実施形態では、信号オブジェクト２３２は、信号オブジェクト２３２Ｂで示す通り、複数の制御モジュール２２２に関連付けられ、信号オブジェクト２３２Ｂは、制御モジュール２２２Ａ及び２２２Ｂの両方に通信可能に接続される。他の実施形態では、各信号オブジェクト２３２は、多くても１つの制御モジュール２２２（または、ＵＩブロック２１２）に関連付けられるだけであることにより、プロセス制御データを受信するか、またはプロセス制御データを供給するかのいずれかである。更に別の実施形態では、各信号オブジェクト２３２は、１つの制御モジュール２２２またはＵＩブロック２１２に関連付けられる場合にのみ生成されるので、各信号オブジェクト２３２は、制御モジュール２２２またはＵＩブロック２１２に関連付けられない限り設けられない。しかしながら、これは、他の実施形態が、制御モジュール２２２またはＵＩブロック２１２に関連付けられていない状態で設けられる信号オブジェクト２３２を含むようにしてもよいので、必要ではない。このような未関連付けの信号オブジェクト２３２が、フィールドデバイス２４２に通信可能に接続されるように構成されるようにしてもよい、または信号オブジェクト２３２のライブラリに格納されるようにしてもよい。
【００６５】
図３は、プロセス制御ネットワーク１００のプロセス制御システム３００の例示的な通信構造を更に詳細に示し、様々なコンポーネント内の入力、出力、変数、パス、及びアラームを示している。更に別の接続及び構成要素が、例示的なプロセス制御システム３００内に図示されているが、システム３００は、幾つかの実施形態におけるシステム２００と同じとすることができる。例示的なプロセス制御システム３００は同様に、ＵＩブロック３１２を有するＵＩレイヤ３１０と、制御モジュール３２２を有するモジュールレイヤ３２０と、信号オブジェクト３３２を有する信号レイヤ３３０と、フィールドデバイス３４２を有するデバイスレイヤ３４０と、を含むことができる。ＵＩブロック３１２、制御モジュール３２２、信号オブジェクト３３２、及びフィールドデバイス３４２の各々は、上に説明したＵＩブロック２１２、制御モジュール２２２、信号オブジェクト２３２、及びフィールドデバイス２４２のそれぞれとすることができる。更に、モジュールレイヤ３２０は、制御モジュールライブラリ３２４を含むことができ、信号レイヤ３３０は、信号オブジェクトライブラリ３３４を含むことができる。これらのライブラリは、制御モジュール３２２のクラス、または信号オブジェクト３３２のクラスを格納することができ、制御モジュールまたは信号オブジェクトは、プロセス制御システム３００内で実行することができる。別の実施形態では、更に別の、より少ない、または代替えのコンポーネント、構成、または接続を、代わりに使用するようにしてもよい。
【００６６】
図２に示す接続の他に、図３のブロック図は、ＵＩブロック３１２、制御モジュール３２２、信号オブジェクト３３２、及びフィールドデバイス３４２の内部接続を示している。図示の例示的な実施形態では、各ＵＩブロック３１２は、変数３１６及び対応するパス３１８を有する。変数３１６は、データを別のブロック、アプリケーション、またはプログラムから呼び出されるか、またはリクエストされるときに特定するための構成可能な変数名のような、ＵＩブロック３１２内の対応するパスに結び付けられる情報を取得するための名称または手段となる。幾つかの実施形態では、変数３１６は、別のブロック、アプリケーション、またはプログラムに供給することができる値を（揮発性メモリまたは永続メモリに）格納することができる。変数３１６がデータを格納する実施形態では、これらの変数は、直近に受信したデータを新規データが受信されるまで格納しておくことができる。このように、変数３１６は、直近に受信したデータを制御モジュール３２２または他のブロック、アプリケーション、またはプログラムに、複数のプロセス制御サイクル（または、他の関連更新期間）にわたって、新規データが入手されるまで供給することができる。例えば、ＵＩブロック３１２Ａの変数３１６Ａ３は、制御モジュール３２２Ａの出力３２８Ａ１から直近に受信した値を格納することができる。この格納プロセス制御データは、例えばプロセスプラントオペレータに対して表示することができる、またはデータベース１４０に格納することができる。ユーザまたはプログラムが情報を変数３１６Ａ３にリクエストする場合、格納値を供給することができる。データが変数３１６に格納されていない場合、その代わりに情報を３１６Ａ３にリクエストすることにより、リクエストを制御モジュール３２２Ａの出力３２８Ａ１に、対応するパス３１８Ａ３を辿ることによりルーティングすることができる。
【００６７】
同様に、変数３１６を使用して、プロセスプラント１０の制御可能なパラメータに変更を加えることができる。例えば、変数３１６Ｂ１は、入力データをプロセスプラントオペレータまたは別のソースから受信することができ、入力データは、対応するパス３１８Ｂ１を通って制御モジュール３２６Ｃの入力３２６Ｃ１に送信することができる。入力データは、制御モジュール３２６Ｃの入力３２６Ｃ１で受信される他の入力データに上書きすることができる、または幾つかの実施形態では、入力データは、制御モジュール３２２の入力への唯一のデータソースとすることができる。幾つかの実施形態では、プロセス制御データを制御モジュール３２２に供給する代わりに、ＵＩブロック３１２が同じようにして、プロセス制御データを信号オブジェクト３３２に直接供給することができる。信号オブジェクト３３２は、プロセス制御データをフィールドデバイス３４２に供給することができる（例えば、ＵＩレイヤ３１０を介した緊急シャットダウン制御を可能にする）。信号オブジェクト３３２は更に、または代わりに、受信したプロセス制御データを制御モジュール３２２に供給することができる（例えば、フィールドデバイス３４２を、制御モジュール３２２を動作させることにより間接的に制御する）。更に、ＵＩブロック３１２は、制御モジュール３２２に通信可能に接続されて、変数３１６が調整されると、ＵＩブロック３１２が制御モジュール３２２の動作または構成を、パス３１８を介して調整することができるようになっている。例えば、プロセスプラントオペレータは、ＵＩブロック３１２の変数３１６の値を設定することができ、この値は、制御モジュール３２２に、変数に対応するパス３１８を通って送信することにより、制御モジュール３２２のゲインを調整することができる。幾つかの実施形態では、ＵＩブロック３１２は、プロセス制御データ（例えば、セットポイント）を受信して、制御モジュール３２２に信号オブジェクト３３２を介してのみ供給することができる。幾つかのこのような実施形態では、ＵＩブロック３１２はそれにも拘らず、制御モジュール３２２を直接調整するか、または制御モジュール３２２を直接構成することができる（すなわち、信号オブジェクト３３２を使用することなく）。２つのＵＩブロック３１２Ａ（パス３１８Ａ１，３１８Ａ２，及び３１８Ａ３に対応する変数３１６Ａ１，３１６Ａ２，及び３１６Ａ３を有する）及び３１２Ｂ（パス３１８Ｂ１及び３１８Ｂ２に対応する変数３１６Ｂ１及び３１６Ｂ２を有する）が図示されているが、他の構成は、異なる個数の変数３１６を備えるより多くのＵＩブロック３１２またはより少ないＵＩブロック３１２を有し、対応するパス３１８を様々な実施形態において使用することができる。
【００６８】
また、図示の例示的な実施形態では、制御モジュール３２２は、入力３２６及び出力３２８を有することができる。入力３２６は、プロセス制御データを信号オブジェクト３３２、ＵＩブロック３１２、または他のソース（例えば、データベース１４０またはエキスパートシステム１０４）から受信する。制御モジュール３２２は、入力３２６の入力プロセス制御データを使用して、出力プロセス制御データを出力３２８で生成する。出力プロセス制御データは、プロセスプラントオペレータまたは他のユーザにＵＩブロック３１２を介して供給することができ、これにより出力プロセス制御データが表示されるようになる、または格納されるようになる。出力プロセス制御データは更に、または代わりに、フィールドデバイス３４２に信号オブジェクト３３２を介して供給することができ、これによりフィールドデバイス３４２の動作を制御することができる。例えば、制御モジュール３２２は、ＰＩＤコントローラを搭載することができ、ＰＩＤコントローラは、測定値をフィールドデバイス３４２から入力プロセス制御データとして入力３２６で受信して（信号オブジェクト３３２を介して）出力プロセス制御データを出力３２８で、制御コマンドとして生成して別のフィールドデバイス３４２を動作させる（別の信号オブジェクト３３２を介して）ことによりプロセスプラント１０の一部を制御する。このような例示的なＰＩＤ制御モジュール３２２は、図４に図示され、以下に説明される。
【００６９】
また、これらの制御モジュール３２２は、相互に接続することができるので、第１制御モジュール３２２の入力３２６がプロセス制御データを第２プロセス制御モジュール３２２の出力３２８から受信することができる。このような構成は、出力プロセス制御データを制御モジュール３２２Ｂの出力３２８Ｂ１から受信する制御モジュール３２２Ａの入力３２６Ａ２の接続部分に図示されている。入力３２６Ａ２が、出力３２８Ｂ１に直接接続されるものとして図示されているが、幾つかの実施形態は、信号オブジェクト３３２を使用して、複数の制御モジュール３２８の入力３２６及び出力３２８を接続するようにしてもよい。このような実施形態では、各出力３２８が信号オブジェクト３３２に関連付けられて、出力プロセス制御データを信号オブジェクト３３２に供給する。従って、同じ制御モジュール３２２、または別の制御モジュール３２２の入力３２６を信号オブジェクト３３２に接続してプロセス制御データを受信することができる。従って、このような実施形態では、各入力３２６及び各出力３２８が、信号オブジェクト群３３２のうちの１つの信号オブジェクト３３２にのみ関連付けられる（すなわち、接続される）。しかしながら、複数の制御モジュール３２２またはＵＩブロック３１２が、同じプロセス制御データを使用する可能性があるので、複数の入力３２６またはパス３１８を信号オブジェクト３３２の変数３３６に同時に関連付けるようにしてもよい。別の実施形態では、制御ブロック３２２の複数の出力３２８、またはＵＩブロック３１２の複数のパス３１８を信号オブジェクト３３２の同じ変数３３６に関連付けるようにしてもよい。例えば、制御モジュール３２２の出力３２８は普通、プロセス制御データを信号オブジェクト３３２の変数３３６に供給することができるが、プロセスプラントオペレータは、モジュール生成プロセス制御データにＵＩブロック３１２を使用して上書きすることができ、ＵＩブロック３１２は、プロセス制御データを同じ信号オブジェクト３３２の変数３３６に供給する。３つの制御モジュール３２２Ａ（入力３２６Ａ１，３２６Ａ２，及び３２６Ａと出力３２８Ａ１及び３２８Ａ２と、を有する）、３２２Ｂ（入力３２６Ｂ１及び３２６Ｂ２と、出力３２８Ｂと、を有する）、及び３２２Ｃ（入力３２６Ｃ１及び３２６Ｃ２と、出力３２８Ｃ１及び３２８Ｃ２と、を有する）が図示されているが、他の構成は、異なる数の入力３２６及び出力２３８を備える、より多くの、またはより少ない制御モジュール３２２を有する他の構成を様々な実施形態において使用するようにしてもよい。
【００７０】
また、図示の例示的な実施形態では、各信号オブジェクト３３２は、変数３３６及びパス３３８を有する。信号オブジェクト３３２の変数３３６及びパス３３８は、ＵＩブロック３１２の変数３１６及びパス３１８と同様の態様で機能する。制御モジュール３２２を信号オブジェクト３３２に接続するために、制御モジュール３２２の入力３２６または出力３２８を信号オブジェクト３３２に関連付けることができる。このような関連付けは、制御モジュール３２２の入力３２６の参照またはポインタを設定して信号オブジェクトの変数３３６を指定するか、または呼び出すことにより行なうことができる。好適な実施形態では、各信号オブジェクトは、変数３３６を１つだけ持ち、かつ対応するパス３３８を有する。変数３３６は、予め指定された種類及び／又はスケール（例えば、長い整数列、浮動小数点、テキスト文字列、ミリアンペア、ボルト、ｐｓｉ（１平方インチ面積あたりの圧力）など）を有するように定義されるか、または任意の種類のプロセス制御データを表わすので未定義とされるかのいずれかである。幾つかの実施形態では、変数３３６は、プロセス制御データと、変数のフォーマット及びスケールに関するデータ構造情報との両方を含むことができる。別の実施形態は同様に、制御モジュール３２２に許可して変数を構成させることにより、データを特定の方式で格納することができる。例えば、変数３３６のデータ種類及びスケールは、信号オブジェクト３３２が入力３２６または出力３２８に関連付けられる場合に設定することができる。好適な実施形態では、信号オブジェクト３３２の変数３３６は、信号オブジェクト３３２に接続されるフィールドデバイス３４２から受信される、またはフィールドデバイス３４２に送信されるプロセス制御データのプロトコル、種類、またはフォーマットに関係なく、標準的なフォーマットに設定される。従って、信号オブジェクト３３２は、フィールドデバイス３４２からＩ／Ｏ構造を介して受信されるプロセス制御データを取り出すことができ、プロセス制御データを標準的なフォーマットに変換して１つ以上の制御モジュール３２２が更に使用することができるようにする。信号オブジェクト３３２は同じようにして、標準的なフォーマットで１つ以上の制御モジュール３２２から受信されるプロセス制御データを、関連するＩ／Ｏ構造を介してフィールドデバイス３４２に送信するために適するフォーマットに変換することができる。
【００７１】
各信号オブジェクト３３２は更に、変数３３６に対応するパス３３８を含む。パス３３８は、変数３３６に対応するデータソースを指定する、または変数３３６で受信するデータの送信先のターゲットを指定する。通常、パス３３８は、フィールドデバイス３４２または定数データのいずれかを指定するが、パス３３８は、他の種類のデータソースまたはデータ受領者を指定することができる。例えば、パス３３８は、データベース１４０、制御モジュール３２２の入力３２６または出力３２８を指定するか、もしくはプロセス制御ネットワーク１００内の他の場所を指定することができる。パス３３８がフィールドデバイス３４２を指定する場合、パス３３８は、関連するＩ／Ｏ構造を介してフィールドデバイス３４２の入力３４６または出力３４８に達するパスを指定することができ、当該パスは、フィールドデバイス３４２の個別チャネルまたはポートとすることができる。パス３３８は従って、プロセスプラント１０のＩ／Ｏ構造のうちフィールドデバイス３４２に関連する部分の通信プロトコルまたはフォーマットに関する情報を含むことができる。幾つかの実施形態では、パス３３８は、１以上のビットを、フィールドデバイス３４２が生成する複数ビットを含むデータストリームから取り出し、これにより、特定の関連性を持つプロセス制御データをフィールドデバイス３４２から受信されるデジタル信号から取得し易くなる。パス３３８が定数データを指定する場合、定数データはパス３３８に直接格納することができる、またはパスは、定数データを格納するメモリストレージロケーションを指すことができ、メモリストレージロケーションはローカルロケーションまたはリモートロケーションとすることができる。定数データは、ゲインまたはリミットのようなプロセス制御データまたは他の関連データとすることができる。
【００７２】
信号オブジェクト３３２は、制御モジュール３２２に、パス３３８を指定することなく関連付けることができる。例えば、プロセス制御システム３００を初期構成している間、または引き続き構成している間、信号オブジェクト３３２は、パス３３８が未定義の状態で生成することができる。未定義パス３３８は、定数データ、またはフィールドデバイス３４２のようなデータソースのいずれかを指定する値を割り当てることにより後で定義することができる。従って、信号オブジェクト３３２は、制御モジュール３２２の入力３２６または出力３２８に、値またはデータソースを信号オブジェクト３３２のパス３３８に割り当てていない状態で関連付けることができる。パス３３８は、後で割り当てるようにしてもよく、プロセスプラント１０の運転前に、または運転中のいずれかで割り当てるようにしてもよい。例えば、パス３３８は、プロセスプラントオペレータが、プロセスプラント１０の運転中に、情報が必要になる場合に割り当てるようにしてもよい（または、情報が必要になると予測される直前に）。このような例では、ＵＩブロック３１２は、プロセスプラントオペレータに催促して、パス３３８を信号オブジェクト３３２にＵＩデバイス１１２を介して割り当てさせることができる。幾つかの実施形態では、これを行なう際に、プロセスプラントオペレータに、信号オブジェクト３３２に割り当てるべきパス３３８を選択する際の１つ以上のオプションを提示することができる。例えば、コントローラ１１に接続されているとして特定される全てのフィールドデバイス３４２のリストは、ＵＩデバイス１１２を介して提示することにより、信号オブジェクト３３２に割り当てるべきパス３３８の選択を行なうことができる。これを行なう際に、コントローラ１１がフィールドデバイス３４２にポーリングして、コントローラ１１に通信可能に接続されるフィールドデバイス３４２を特定することができる、またはこれを行なう際に、データベース１４０にクエリを発行して、接続フィールドデバイス３４２及びローカルＩ／Ｏ構造に関する構成情報を取得することができる。
【００７３】
更に、新規パス３３８を信号オブジェクト３３２に割り当てることにより、既存のパス３３８を置き換えることができる。この置き換えは、データソースが変更される場合に、例えばフィールドデバイス３４２の代わりに別のフィールドデバイス３４２を用いる場合に、またはローカルＩ／Ｏ構造が変更される場合に行なうことができる。パス３３８を割り当て直すことによって更に、プロセス制御システム３００の動作を一層効率的にテストし易くなる。幾つかの実施形態では、信号オブジェクト３３２のパス３３８は、テストデータに割り当てることができる。テストデータは、プロセスプラント１０の多種多様な運転状態におけるフィールドデバイス３４２から予測されるプロセス制御データを写像することができる。従って、プロセス制御システム３００は、プロセスプラント１０内に設置される前にテストすることができる。このようなテストは、Ｉ／Ｏ構造に関係なく、またはフィールドデバイス３４２に関する特定の種類、プロトコル、フォーマット、または他の情報に関係なく、テストデータを指定するパス３３８を使用することにより行なうことができる。テストデータは、プロセスプラント１０の任意の特定のフィールドデバイス３４２またはＩ／Ｏ構造に特有である必要がないので、プロセス制御システム３００をプロセスプラント１０の構成に関する知識無しでテストすることができる。これは、プロセスプラント１０の特定の構成（すなわち、フィールドデバイス３４２の種類、数、及びＩ／Ｏ構造）が、プロセスプラント１０が建設される直前まで最終決定されない場合が多く、構成がプロセスプラント１０の寿命にわたって繰り返し変更される可能性があるので極めて望ましい。信号オブジェクト３３２は、制御モジュール３２２をフィールドデバイス３４２から分離するので、システム３００を特定のフィールドデバイス３４２についてテストする必要がない。その代わり、各信号オブジェクト３３２は、必要に応じて（例えば、プロセスプラント１０におけるテストと設置との間の期間、フィールドデバイス３４２を置き換える時期など）調整することができる。信号オブジェクト３３２を調整するためには、影響を受ける信号オブジェクト３３２しか変更されないので、プロセス制御システム３００全体をテストし直す必要がない。幾つかの実施形態では、この変更の際に、新規パス３３８を信号オブジェクト３３２に割り当てて、新規データソースまたはデータ受領者（新規フィールドデバイス３４２の出力３４８または入力３４６）を指定するだけで済む。他の実施形態では、プロセス制御データを信号オブジェクト内で処理することに関して、他のパラメータを調整することもでき、例えば通信プロトコルまたは出力スケールを表わすパラメータを調整することができる。幾つかの実施形態では、信号オブジェクト３３２は、このようなパラメータに関する情報を、例えばフィールドデバイス３４２に格納されているデバイス記述言語（ＤＤＬ）データを受信することによりフィールドデバイス３３２から直接受信することができる。勿論、信号オブジェクト３３２は、置き換えることにより更新するようにしてもよく、旧信号オブジェクト３３２は、制御モジュール３２２との関連付けが解消され、新規信号オブジェクト３３２が制御モジュール３２２に関連付けられる。
【００７４】
幾つかの信号オブジェクト３３２は更に、構成可能なアラーム３３５を含むことができる。アラーム３３５は、制御モジュール３２２を介して接続されるのではなく、ＵＩブロック３１２に直接通信可能に接続される。従って、信号オブジェクト３３２のアラーム３３５は、データをＵＩブロック３１２に直接送信することができ、データをいずれの制御モジュール３２２にも送信しなくても済む。これにより、制御モジュール３２２を、アラーム状態を判断するためにだけ使用するのを回避することができるので、制御モジュール群３２２の全てが、幾つかのプロセス制御ループまたは他のプロセス制御措置を実行する。アラーム３３５は、プロセス制御システム３００の構成及びセットアップ中に構成することができる、またはプロセスプラントオペレータが設定するか、または調整することにより、プロセスプラント１０内の異常運転状態を、パス３３８で指定されるフィールドデバイス３４２から信号オブジェクトで受信されるプロセス制御データに基づいて判断することができる。アラーム３３５の１つ以上の基準が満たされると、アラーム３３５を起動することができ、これにより更に、アラートまたは警告をプロセス制御システム３００のプロセスプラントオペレータまたは他のユーザにＵＩデバイス１１２を介して提示することができる。８個の信号オブジェクト３３２Ａ（変数３３６Ａ、パス３３８Ａ、及びアラーム３３５Ａを有する）、３３２Ｂ（変数３３６Ｂ及びパス３３８Ｂを有する）、３３２Ｃ（変数３３６Ｃ及びパス３３８Ｃを有する）、３３２Ｄ（変数３３６Ｄ及びパス３３８Ｄを有する）、３３２Ｅ（変数３３６Ａ、パス３３８Ａ、及びアラーム３３５Ａを有する）、３３２Ｆ（変数３３６Ｆ及びパス３３８Ｆを有する）、３３２Ｇ（変数３３６Ｇ及びパス３３８Ｇを有する）、及び３３２Ｈ（変数３３６Ｈ及びパス３３８Ｈを有する）が図示されているが、８個よりも多い数の、または少ない数の信号オブジェクト３３２（アラーム３３５付き、またはアラーム３３５無し）を有する他の構成を様々な実施形態において使用するようにしてもよい。
【００７５】
制御モジュールライブラリ３２４及び信号レイヤライブラリ３３４は、複数クラスの制御モジュール３２２及び信号オブジェクト３３２をそれぞれ格納することができる。これらのクラスは、これらのクラスのデータ構造及び用途をオブジェクト指向プログラミング言語で定義する制御モジュールまたは信号オブジェクトのおおまかな種類とすることができる。制御モジュールライブラリ３２４に格納されている制御モジュールクラスは、再利用可能なクラスとすることができ、再利用可能なクラスは、プロセス制御機能をプロセス制御システム３００内で実行するように構成される。各制御モジュール３２２が制御モジュールクラスに基づいて生成される場合、制御モジュール３２２は、クラスのインスタンスとして、詳細な構成を行なって、または詳細な構成を行なうことなくインスタンス化される。例えば、特定のＰＩＤ制御モジュール３２２は、制御モジュールライブラリ３２４に格納されているＰＩＤコントローラの制御モジュールクラスのインスタンスとして生成することができる。インスタンス化された制御モジュール３２２は、本明細書の他の箇所に説明されているように、プロセス制御機能をインスタンス化時に、または後の時点のいずれかで実行するように構成することができる。同様に、信号オブジェクトライブラリ３３４に格納されている信号オブジェクトクラスは、プロセス制御システム３００内で使用することができる信号オブジェクトのおおまかな種類とすることができ、信号オブジェクト３３４は、信号オブジェクトクラスのインスタンスとして生成することができる。幾つかの実施形態では、全ての信号オブジェクト３３２は１つの信号オブジェクトクラスのインスタンスとすることができる。幾つかの実施形態では、制御モジュールライブラリ３２４の制御モジュールクラスまたは信号オブジェクトライブラリ３３４の信号オブジェクトクラスを更新または調整することにより、更新または調整を全ての制御モジュール３２２または信号オブジェクトに対してクラスに基づいて自動的に行なうことができる。幾つかの実施形態では、制御モジュールライブラリ３２４及び信号レイヤライブラリ３３４を組み合わせて１つのライブラリとすることができ、１つのライブラリをコントローラ１１のメモリ３２にその場で格納するか、またはデータベース１４０または他の箇所に、遠く離れた場所から操作して格納することができる。
【００７６】
プロセス制御システム３００内のフィールドデバイス３４２は、入力３４６及び出力３４８を有することができる。入力３４６は、プロセス制御データまたは制御コマンドを、信号オブジェクト３３２を介して受信することができ、これによりフィールドデバイスが、実際の制御操作を実行するようになり、例えばバルブを開閉する、モータを始動または停止する、またはポンプを制御する。出力３４８は、フィールドデバイスが生成する温度測定値、圧力測定値、または流量測定値のようなプロセス制御データを送信することができる。各フィールドデバイス３４２は、１つ以上の入力３４６または出力３４８を含むことができる。１入力３４６Ａ及び１出力３４８Ａを有するフィールドデバイス３４２Ａ、及び１入力３４６Ｂ及び２出力３４８Ｂ１及び３４８Ｂ２を有するフィールドデバイス３４２Ｂの２つのフィールドデバイスが図示されているが、このような構成ではなく、他の構成が様々な実施形態に用いられるようにしてもよい。
【００７７】
図４は、プロセス制御ネットワーク１００のプロセス制御システム３００の動作を詳細に示す例示的な制御モジュールのブロック図を示しており、本明細書において開示される本発明の実施形態によるＰＩＤ制御モジュールの動作を示している。制御モジュール４２２または同様の制御モジュールは、制御モジュール２２２または２３２として、上に説明した例示的なプロセス制御システム２００及び３００に含めることができる。図４に示す制御モジュール４２２は、特定の種類の制御モジュールの作用を更に詳細に示しているが、他の構成をそれに代えて、プロセス制御ネットワーク１００内の様々な制御モジュールに用いるようにしてもよい。上に説明したように、信号オブジェクト４３２は、特に信号オブジェクト２３２及び３３２に関して本明細書の他の箇所に説明されている通りに実行することができ、フィールドデバイス４４２は、特にフィールドデバイス２４２及び３４２に関して本明細書において説明されている任意の種類のフィールドデバイスとすることができる。２つのフィールドデバイス４４２Ａ及び４４２Ｂが図２の例示的な実施形態において図示されているが、フィールドデバイス４４２Ａ及び４４２Ｂは、幾つかの実施形態において組み合わせるようにしてもよい。
【００７８】
例示的な制御モジュール４２２は制御ロジックブロック４２１を含み、制御ロジックブロック４２１は、制御モジュール４２２の制御ロジック演算を行なう。制御ロジックブロック４２１は、プロセス制御システム２００または３００のセットアップ中に構成することができる、または制御ロジックブロック４２１の構成は、制御ロジックブロック４２１が属する制御モジュールクラスの構成により決定することができる。例えば、ＰＩＤ制御ロジックブロック４２１内の比例項、整数項、及び微分項の各項に割り当てられる重みは、ＰＩＤ制御モジュールのクラスの全インスタンスについて指定することができる、または普通のＰＩＤ制御モジュールに基づいて構成されて、プロセス制御ネットワーク１００内の特定の用途に適合させることができる。幾つかの実施形態では、制御ロジックブロック４２１は、エキスパートシステム１０４により、プロセスプラント１０の運転の自動分析及び最適化に基づいて構成することができる（直接構成するか、またはクラスのインスタンスとして構成することができる）。プロセス制御ロジック演算を行なうために、制御ロジックブロック４２１は、間接入力４２６及び直接入力４２７を受け付ける。間接入力４２６で、プロセスプラント１０内の測定可能な条件要素の状態に関する入力プロセス制御データをフィールドデバイス４４２Ａから間接的に受信する。幾つかの実施形態では、入力プロセス制御データは、制御モジュール４２２内の参照部４２９Ａを介して取得することができ、参照部４２９Ａは、信号オブジェクト４３２Ａに達するパスを指定する。このような構成により、制御ロジックブロック４２１は、参照部４２９に含まれる関連付け後の信号オブジェクト４３２に関する情報と個別に一致する状態をクラスの複数のインスタンスにわたって保持することができる。直接入力４２７で、出力プロセス制御データを制御ロジックブロック４２１の出力４２８から制御モジュール４２２内の別の参照部４２９Ｂを介して直接受信する。間接入力４２６で受信されるこの入力プロセス制御データを、直接入力４２７で受信される出力プロセス制御データと比較することにより誤差項を求め、別の出力プロセス制御データを生成することによりフィールドデバイス４４２Ｂを、公知の方法を使用して制御することができる。
【００７９】
フィールドデバイス４４２Ａ及び４４２Ｂを制御モジュール４２２に接続するために、信号オブジェクト４３２Ａ及び４３２Ｂを使用する。本明細書の他の箇所に更に詳細に説明されるように、これらの信号オブジェクト４３２はそれぞれ、変数４３６及びパス４３８を含む。参照部４２９Ａは、信号オブジェクト４３２Ａの変数４３６Ａを指すパスまたはポインタを指定し、パスまたはポインタは、フィールドデバイス４４２Ａの出力４４８Ａを指定する対応パス４３８Ａを有する。このように、フィールドデバイス４４２Ａが出力４４８Ａで生成するプロセス制御データは、信号オブジェクト４３２Ａ（信号オブジェクト４３２Ａを変数４３６Ａに格納することができる場合）で受信され、信号オブジェクト４３２Ａから、制御モジュール４２２の参照部４２９Ａで、プロセス制御データが受信され、参照部４２９Ａから当該プロセス制御データが制御ロジックブロック４２１の入力４２６に供給される。制御ロジックブロック４２１は、直接プロセス制御データ及び間接プロセス制御データを使用して、更に別のプロセス制御データを生成することにより、フィールドデバイス４４６Ｂを制御してプロセス制御をプロセスプラント１０内で行なう。制御ロジックブロック４２１で生成されるプロセス制御データは参照部４２９Ｂに供給され、この参照部４２９Ｂからプロセス制御データが直接入力４２７と信号オブジェクト４３２Ｂの変数４３６Ｂの両方に供給される。信号オブジェクト４３２Ｂはプロセス制御データを変数４３６Ｂで受信し、プロセス制御データをフィールドデバイス４４２Ｂの入力４４６Ｂに、変数４３６Ｂに対応するパス４３８Ｂを使用して供給する。本明細書の他の箇所に説明されるように、信号オブジェクトは、プロセス制御データの一部を取り出すか、または変換することにより、プロセス制御データを適切なフォーマットで、制御モジュール４２２及びフィールドデバイス４４２の適切なプロトコルを使用して供給することができる。
【００８０】
図５は、例示的なプロセス制御システム構成及びテスト方法５００のフロー図であり、システム２００及び３００を含むプロセス制御ネットワーク１００のプロセス制御システムを構成する方法を示している。プロセス制御システム３００に対して行なわれる参照は例示に過ぎず、方法５００は、様々な実施形態における他のプロセス制御システムに適用することができる。例示的な方法５００は、ブロック５０２において、制御モジュールを選択することから始まる。ブロック５０４では、信号オブジェクトを、選択した制御モジュールの入力及び出力に関連付けることができ、ブロック５０６及び５０８では、選択した制御モジュールのパラメータ及び信号オブジェクトのパラメータを指定することができる。ブロック５１０では、プロセス制御システム内の他の制御モジュールを同様に構成することにより、プロセス制御システムの一部または全部を形成することができる。次に、プロセスプラント１０内で実行する前に、ブロック５１２〜５１８において、構成後のプロセス制御システムをテストすることができる。これを行なう際に、テストデータをブロック５１２においてインポートし、プロセス制御システムの制御モジュールの動作をブロック５１４においてテストし、プロセス制御システムがテストに合格したかどうかについて、ブロック５１６において、プロセス制御モジュールの出力に基づいて判断する。プロセス制御システムがテストに不合格になる場合、ブロック５１８において、調整を１つ以上の制御モジュールまたは信号オブジェクトのパラメータに対して行ない、ブロック５１４において、プロセス制御システムを再テストすることができる。ブロック５１６においてプロセス制御システムがテストに合格する場合、ブロック５２０において、プロセス制御システムをプロセスプラント内で、信号オブジェクトとフィールドデバイスとの間に接続されるパスを割り当てることにより実行することができる。次に、ブロック５２２において、プロセス制御システムをプロセス制御ネットワーク１００内で実行して、プロセスプラント１０の運転を制御することができる。
【００８１】
幾つかの実施形態では、ブロック５０２〜５１８を、プロセスプラント１０に関連付けられない１つ以上のコンピュータ上で実行するようにしてもよい。このように、プロセス制御システムを設計し、構成し、及びテストして、異なる構成を有する任意の数のプロセスプラントで、プロセスプラント１０において利用されるＩ／Ｏ構造とは無関係に動作させることができる。ブロック５１２〜５１８におけるテストにより正常な運転が確認されると、構成後のプロセス制御システムのプログラム（ＵＩブロック３１２、制御モジュール３２２、及び信号オブジェクト３３２を有する）を非一時的なコンピュータ可読記憶媒体（例えば、ハードディスクドライブまたは光ディスクのような不揮発性メモリデバイス）に格納することができる。次に、ブロック５２０〜５２２において、格納後のプロセス制御システムプログラムの一部または全部を、プロセス制御ネットワーク１００のコントローラ１１、ＵＩデバイス１１２、エキスパートシステム１０４、または他のコンポーネントにダウンロードする、インストールする、またはインスタンス化することにより、プロセスプラント内のプロセス制御システムを構成して実行することができる。プロセス制御システムをプロセスプラント１０内で構成して実行する際に、ブロック５２０において、フィールドデバイス３４２を信号オブジェクト３３２のパス３３８に割り当てることができる。
【００８２】
ブロック５０２では、プロセス制御エンジニア、技術者、または他のユーザは、制御モジュール３２２を選択して構成することができる。制御モジュール３２２を選択する際に、プロセス制御モジュールクラスを制御モジュールライブラリ３２４から選択することができる。制御モジュール３２２を選択する際に、代わりに新規制御モジュール３２２を、制御モジュールの構造、ロジック、及び他の特性を定義することにより生成することができる。幾つかの実施形態では、制御モジュール３２２を選択することにより、選択した制御モジュールを、プロセス制御システムのユーザインターフェースに含めることができ、このユーザインターフェースを１つ以上のＵＩブロック３１２で実行して、プロセスプラントオペレータにＵＩデバイス１１２を介して提示することができる。幾つかの実施形態では、ユーザは、制御モジュール３２２をプロセス制御システムのユーザインターフェースに含めるかどうかについて選択することができる。
【００８３】
ブロック５０４では、１つ以上の信号オブジェクト３３２を、選択した制御モジュール３２２の１つ以上の入力３２６または出力２２８に関連付けることができる。信号オブジェクト３３２は制御モジュール３２２に自動的に関連付けるか、またはプロセス制御エンジニア、技術者、または他のユーザにより関連付けることができる。上に説明したように、各信号オブジェクト３３２は入力３２６または出力３２８に、例えば信号オブジェクト３３２の変数３３６に達するパスを、制御モジュール３２２の参照内に指定することにより関連付けることができる。幾つかの実施形態では、信号オブジェクト３３２を制御モジュール３２２の全入力３２６及び出力３２８に関連付ける必要があるのに対し、他の実施形態は、入力３２６または出力３２８を、信号オブジェクト３３２を関連付けることなく許可することができる。幾つかの実施形態により、制御モジュール３２２の入力３２６または出力３２８にフラグを立てて、プロセス制御システムの動作中に無視し易くすることができる。このような実施形態では、プロセス制御モジュール３２２は、フラグ付きの入力３２６または出力３２８を使用することなく、プロセス制御システムの動作中に実行することができる。これにより、プロセスプラントオペレータに対する警告メッセージまたはエラーメッセージを回避することができ、回避できない場合には、当該メッセージが、制御モジュール３２２の入力３２６または出力３２８が未定義であることに関して実行時間に生成される。
【００８４】
幾つかの実施形態では、ブロック５０２において制御モジュール３２２を選択する際に、１つ以上の信号オブジェクト３３２を制御モジュール３２２の入力３２６または出力３２８に自動的に関連付けることができる。これを行なう際に、入力３２６または出力３２８のうちの１つ以上に対応する新規信号オブジェクト３３２をインスタンス化するか、またはその他には、生成することができる。例えば、制御モジュールライブラリ３２４は、１種類以上の制御方式を含むことができ、各制御方式は、制御モジュール３２２と、制御モジュール３２２に関連付けられる１つ以上の信号オブジェクト３３２と、を含むことができる。従って、制御モジュール３２２の選択は、制御モジュール３２２を含む制御方式を選択することにより行なうことができる。別の実施形態では、制御方式は、１つ以上の信号オブジェクト３３２を含むが、信号オブジェクト３３２のパス３３８を全く含まない。他の実施形態では、制御方式は、信号オブジェクト３３２と、定数データを指定する１つ以上のパス３３８と、を含むようにしてもよく、かつ他のパス３３８を除外するようにしてもよい。以下に更に説明されるように、制御方式は更に、制御モジュール３２２または信号オブジェクト３３２のパラメータに関する情報を含むことができる。
【００８５】
ブロック５０６では、制御モジュール３２２の１つ以上のパラメータを指定することができる。パラメータは、自動的に指定するか、またはプロセス制御エンジニア、技術者、または他のユーザにより指定することができる。パラメータは、制御モジュール３２２の内部動作、通信接続、または提示に関連付けることができる。例えば、パラメータは、制御モジュール３２２の名称、通信に使用されるプロトコル、制御サイクル実行速度、制御ロジックに適用されるゲインまたは重み、もしくはプロセス制御システム内の制御モジュール３２２の動作または用途に影響する他の情報を指定することができる。幾つかの実施形態では、幾つかのパラメータまたは全パラメータのデフォルト値は、制御モジュール３２２が最初に選択されて、制御モジュールの一部または全部をユーザが調整可能である場合に適用することができる。
【００８６】
ブロック５０８では、１つ以上のパラメータを同様にして、１つ以上の信号オブジェクト３３２に対応して指定することができる。パラメータは、制御モジュール３２２、ＵＩブロック３１２、またはフィールドデバイス３４２との通信に使用されるフォーマットまたはプロトコルを含む変数３３６またはパス３３８に関する情報を含むことができる。例えば、信号オブジェクト３３２のパラメータは、パス３３８内のフィールドデバイス３４２の仕様を含むことができ、これらのパスは、実際のフィールドデバイス３４２に、またはテストデータを受信するように設計されるメモリロケーションに割り当てることができる。パラメータは更に、上に説明したように、アラーム、受信したプロセス制御データのスケール、またはデータストリームから取り出されるビットに関する情報を含むことができる。
【００８７】
ブロック５１０では、他の制御モジュール３２２または信号オブジェクト３３２を生成して構成することにより、プロセス制御システムまたはプロセス制御システムの一部を形成することができる。これを行なう際に、上に説明したように、複数の制御モジュール３２２を接続して複雑な制御機能を実行することができる。例えば、１つ以上の更に別の制御モジュール３２２を選択して構成することにより、入力として、プロセス制御モジュール３２２により出力３２８で生成されるプロセス制御データを受信することができる。上に説明したように、制御モジュール３２２は、フィールドデバイスに関連付けられるＩ／Ｏ構造とは無関係な標準的なフォーマットを使用することができる。幾つかの実施形態では、更に別の制御モジュール３２２のうちの１つ以上の制御モジュール３２２は、制御モジュール３２２の出力３２８に関連付けられる同じ信号オブジェクト３３２に関連付けられる入力３２６を有するようにしてもよい。別の実施形態では、１つ以上の更に別の制御モジュール３２２は、他の信号オブジェクト３３２の変数３３６に関連付けられる入力３２６を有するようにしてもよく、他の信号オブジェクト３３２は、制御モジュール３２２の出力３２８に関連付けられる信号オブジェクト３３２の変数３３６を指定する対応パス３３８を有する。
【００８８】
更に、または代わりに、他の制御モジュール３２２または信号オブジェクト３３２を構成する際に、制御モジュール３２２に関連付けられることは全くない信号オブジェクト３３２を生成して構成することができる。このような信号オブジェクト３３２は、プロセス制御システムの１つ以上のＵＩブロック３１２または他のＵＩコンポーネントに関連付けることができる。信号オブジェクト３３２とＵＩブロック３１２との間のこの直接接続は、アラームを供給する、ビットをデータストリームから取り出す、またはスケール処理後のプロセス制御データをプロセスプラントオペレータにＵＩデバイス１１２を使用して提示するように構成される信号オブジェクト３３２に特に有利となり得る。制御モジュール３２２に関連付けられることは全くないこれらの信号オブジェクト３３２は、関連付けられる場合には、本明細書の他の箇所に説明されているように、パス３３８をフィールドデバイス３４２の入力３４６または出力３４８に割り当てるように構成することができる。
【００８９】
プロセス制御システムがブロック５１０において十分に構成される場合、ブロック５１２〜５１８において、プロセス制御システムを幾つかの実施形態においてテストして、正常に機能していることを、テストデータを使用して確認することができる。ブロック５１２では、テストデータをインポートするか、またはテストデータにアクセスすることができる。テストデータは、データベースまたは他のメモリに格納されているプロセス制御データ（または、これまでのプロセス制御データ）を写像するように設計されるデータとすることができる。テストデータは、プロセスプラント１０のＩ／Ｏ構造とは無関係なデータとすることができる。幾つかの実施形態では、テストデータが、制御モジュール３２２が使用する標準的なデータフォーマットを使用することにより、テストデータを、変換せずに信号オブジェクトを介して直接渡すことができる。テストデータは更に、プロセスプラント内で発生する可能性のある異なる運転状態を表わす複数のテストデータ集合を含むことができ、異なる運転状態として、正常運転状態、異常運転状態、及び緊急状態、または臨界状態を挙げることができる。
【００９０】
ブロック５１４では、プロセス制御システムの動作を、テストデータを使用して確認することができる。これを行なう際に、プロセス制御システムの制御モジュール３２２及び／又はＵＩブロック３１２をテスト環境内で実行し、テストデータを連続プロセス制御データ値として、信号オブジェクト３３２に供給することができる。テストデータを信号オブジェクト３３２に供給するために、信号オブジェクトのパス３３８を変数またはメモリロケーションにテスト環境内で割り当てて、テストデータを受信することができる。１種類以上の動作状態を表わすテストデータ集合を信号オブジェクト３３２に提示することができ、制御モジュール３２２が生成する出力プロセス制御データを記録して分析することができる。次に、記録済みのプロセス制御データは、予測プロセス制御データまたは適切なプロセス制御データと比較することにより確認することができる。
【００９１】
ブロック５１６では、制御モジュール３２２が生成する記録済みのプロセス制御データを評価して、プロセス制御システムがテストに合格するかどうかについて、許容される範囲に収まる応答を生成することにより判断することができる。これを行なう際に、制御モジュール３２２の性能を所定の品質パラメータと、出力プロセス制御データを使用して比較することができる。幾つかの実施形態では、出力プロセス制御データを使用して、仮想フィールドデバイスの動作を模擬することができ、プロセス制御システムが正常に機能していることを確認する際に、仮想フィールドデバイスがプロセスプラントの高効率運転について許容される範囲に収まる状態を保持していることを確認することができる。ブロック５１６において、プロセス制御システムがテストに不合格になる場合、ブロック５１８において、１つ以上の制御モジュール３２２または信号オブジェクト３３２を調整することができる。プロセス制御システムがプロセスプラント１０内で実行される状態になっていると判断される場合、上に説明したように、プロセス制御システムをプロセスプラント１０内で実行することができる、または格納しておいて後で実行することができる。
【００９２】
ブロック５１８では、調整を制御モジュール３２２または信号オブジェクト３３２のパラメータに対して行なって、プロセス制御システムの性能を向上させることができる。これを行なう際に、制御モジュール３２２の応答に関するパラメータを調整することができる、または構成された誤接続を、信号オブジェクト３３２を出入りするパスを変更することにより修正することができる。幾つかの実施形態では、これを行なう際に、制御モジュール３２２を他の制御モジュール３２２に置き換えて、より良好な性能を、特に制御モジュール３２２の重要な特徴が制御モジュールクラスごとに定義される構成の例において実現することができる。信号オブジェクト３３２を同じようにして、他の信号オブジェクト３３２で調整するか、または他の信号オブジェクト３３２に置き換えることができる。調整が既に行なわれている場合、ブロック５１４において調整後のプロセス制御システムを再度テストして、別の調整が必要であるかどうかについて判断することができる。プロセス制御システムの性能が所定の品質パラメータに収まる場合、上に説明したように、プロセス制御システムをプロセスプラント１０内で実行することができる、または格納しておいて後で実行することができる。
【００９３】
ブロック５２０では、プロセス制御システムを構成して、適切な値を信号オブジェクト３３２のパス３３８に割り当てることにより、プロセスプラント１０の特定のＩ／Ｏ構造内で動作させることができる。プロセスプラント１０のＩ／Ｏ構造に関する情報を受信することができ、使用することにより信号オブジェクト３３２のパス３３８を割り当てて、プロセスプラント１０内のフィールドデバイス３４２を指定することができる。パス３３８の割り当ては、プロセス制御システムをプロセス制御ネットワーク１００内に設置する前の、または設置した後のいずれかの時点で、信号オブジェクト３３２のパス３３８をバッチ更新することにより行なうことができる。幾つかの実施形態では、１つ以上の信号オブジェクト３３２またはパス３３８が、実行時間まで未定義のままとされるか、または未割り当てのままとされることにより、信号オブジェクト３３２またはパス３３８をプロセスプラントオペレータがプロセス制御システムの実行中に構成して、プロセスプラント１０を運転することができる。また、ブロック５２０では、プロセス制御システムをプロセスプラント１０のプロセス制御ネットワーク１００内に設置するか、または組み込むことにより、制御運転をプロセスプラント１０内で実行することができる。
【００９４】
ブロック５２２では、プロセス制御システムがプロセスプラント１０の全部または一部を、プロセス制御ネットワーク１００を介して運転することができる。プロセス制御システムが、入力３３６または出力３３８が信号オブジェクト３３２に関連付けられない状態の制御モジュール３２２を含む場合、プロセスプラントオペレータに催促して、信号オブジェクト３３２を入力３３６または出力３３８に、制御モジュール３２２の実行中に関連付けさせることができる。代わりに、信号オブジェクト３３２を制御モジュール３２２に、プロセス制御ネットワーク１００内のエキスパートシステム１０４、フィールドデバイス３４２、または他のデータソースからの情報に基づいて関連付けるようにしてもよい。同様に、プロセス制御システムが、パス３３８が未割り当ての状態の信号オブジェクト３３２を含む場合、パス３３８を自動的に、または手動でフィールドデバイス３４２に、または定数データ値に、関連付け後の制御モジュール３２２の実行中に割り当てるようにしてもよい。幾つかの実施形態では、プロセス制御システムを未関連付け、または未割り当て信号オブジェクト３３２またはパス３３８についてスタートアップ中にチェックすることができ、是正措置を当該時点で採るか、または提案することができる。別の実施形態では、未関連付け、または未割り当て信号オブジェクト３３２またはパス３３８は、関連付け後の制御モジュール３２２が実際に実行される場合にのみ構成することができる。従って、プロセス制御システムは、運転が中断するまで制御機能を実行してプロセスプラント１０に対する制御を、プロセス制御ネットワーク１００を介して容易にするか、または行なうことができる。
シャドウブロック
【００９５】
本明細書において開示される本発明の別の態様によれば、プロセス制御は、プロセスプラント１０のＩ／Ｏ構造からシャドウブロックを使用して少なくとも部分的に分離することができる。シャドウブロックは、コントローラ１１上で実行されて、フィールドデバイスの動作を写像するか、またはフィールドデバイスの機能ブロックを写像することができる。コントローラ１１の制御モジュール３４は、プロセス制御データをシャドウブロック３６に直接送信することができ、シャドウブロック３６が更に、プロセス制御データをコントローラとフィールドデバイス１５〜２３、４０〜５０との間に介在して送受信することができる。このように、シャドウブロックは、制御モジュールとフィールドデバイスとの間の通信を管理して制御モジュールをフィールドデバイスから少なくとも部分的に分離することができる。幾つかの実施形態では、シャドウブロック３６は更に、プロセス制御データを、制御モジュールが使用する標準的なフォーマットとプロセスプラント１０の固有のＩ／Ｏ構造内で使用されるフォーマットまたはプロトコルとの間で変換することにより、制御モジュール３４をＩ／Ｏ構造から分離することができる。汎用シャドウブロックは、特定のプロセス制御システムに対応して、フィールドデバイスから受信される記述データを使用して自動的に構成することができる。記述データは、フィールドデバイスの機能をテキスト形式の標準記述言語で記述することができる。このように、制御モジュールを汎用シャドウブロックに関連付けることができ、汎用シャドウブロックを、記述データを使用して自動的に構成することにより、セットアップ時間を短縮することができる、メモリを節約することができる、プロセス制御システム内の誤りを低減することができる。
【００９６】
図６は、汎用シャドウブロックをプロセスプラント制御システム内で使用する様子を示すブロック図である。図１Ａ〜図１Ｂに示すように、コントローラ１１は、プロセスプラントの一部または全部の運転を、例示的なプロセス制御ネットワーク１００の一部として制御するように構成される。制御モジュール３４は、プロセスプラントに関するデータを受信して、ユーザインターフェース１２０に送信することにより、プロセスプラントオペレータが、プロセスプラントの運転を、プロセス制御ネットワーク１００を介して監視して制御することができる。ユーザインターフェース１２０はコントローラ１１内で実行されるか、またはサーバ１５０もしくはユーザインターフェースデバイス１１２のいずれか、または両方を含むことができる別のコンピュータ上で実行される。プロセスプラント１０のフィールドデバイスを監視して制御するために、制御モジュール３４は、コントローラ１１内で実行される１つ以上のシャドウブロック３６とインタラクションを行なう。シャドウブロック３６は、フィールドデバイス２０または制御デバイス２４内で実行される機能ブロック１４の動作を模擬するか、または写像する。機能ブロック１４をコントローラ１１でシャドーイングすることにより処理効率を、Ｉ／Ｏ構造及び通信構成を制御モジュール３４の動作から少なくとも部分的に分離することにより高めることができる。プロセス制御におけるシャドウブロックについての詳細な説明に関しては、米国特許第６，２９８，４５４号（Schleissらによる“Ｄｉａｇｎｏｓｔｉｃｓ  ｉｎ  ａ  Ｐｒｏｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ｓｙｓｔｅｍ”）を参照されたく、この特許文献は、引用をもって本明細書に組み込み記載されているものとする。図示の実施形態では、１つのシャドウブロック３６が、フィールドデバイス２０の機能ブロック１４の動作を写像しているものとして図示されているが、これらのコンポーネントの更に別の構成、または代わりに別の構成を他の実施形態において利用するようにしてもよい。
【００９７】
シャドウブロックは、フィールドデバイスと通信して、機能ブロックの特定の動作を写像するように構成される必要がある。これは、新規種類のシャドウブロックをフィールドデバイスの異なる種類またはモデルごとに生成することにより既に行なわれており、当該シャドウブロックは、シャドウブロックが生成されたときのフィールドデバイス、通信プロトコル、及びＩ／Ｏ構造に固有である。フィールドデバイスを置き換えるか、またはＩ／Ｏ構造を変更する場合、シャドウブロックをこのような変更に対応して構成し直す必要がある。このように、技術者またはプロセスプラントオペレータが生成する必要があるシャドウブロックの数は、プロセスプラント内のフィールドデバイスの数に近いか、またはフィールドデバイスの数よりも多くなる可能性があり、これらのシャドウブロックは、プロセスプラントコンポーネントまたは構造に変更を加えるたびに構成し直す必要がある。シャドウブロックの数及び定常的な手動再構成の回数がこのように多くなるのを回避するために、本発明の１つの態様は、汎用シャドウブロックを利用する。
【００９８】
汎用シャドウブロックは、フィールドデバイスに関する記述データを使用して自動的に構成されるように設計される汎用目的のシャドウブロックである。図示の実施形態では、制御モジュール３４に関連付けられるシャドウブロック３６は、最初にインスタンス化または実行される場合の汎用シャドウブロックである。次に、汎用シャドウブロック３６は、記述データ１３をフィールドデバイス２０またはデータベース１４０から受信する。記述データ１３を使用して汎用シャドウブロック３６を構成することにより、機能ブロック１４と通信して機能ブロック１４を写像する。構成後のシャドウブロック３６は、フィールドデバイス２０に関連付けられるプロセス制御データを制御モジュール３４に、制御モジュール３４への入力として供給することができる。このような入力プロセス制御データを制御モジュール３４が使用して、プロセスプラントの一部の状態を判断する、または出力プロセス制御データを生成して、プロセスプラントの運転を制御する。更に、または代わりに、構成後のシャドウブロック３６は、プロセス制御データを制御モジュール３４からの出力として受信することができる。次に、このような出力プロセス制御データは、フィールドデバイス２０にシャドウブロック３６を介して送信される。
【００９９】
記述データ１３は、機能ブロック１４の動作を標準のテキスト形式フォーマットで記述することができる。記述データ１３は、機能ブロック１４に関連付けられる種類、スケール、範囲、出力、デバイスサイクル、測定遅延、制御遅延、または制御プロセスを特定する情報を含むことができる。記述データ１３は更に、ユーザインターフェース１２０によるフィールドデバイス２０の表示に関する情報を含むことができる。例えば、記述データ１３は、ユーザインターフェース１２０に表示すべき名称または記述だけでなく、フィールドデバイス２０の出力に関連付けられるパラメータを特定することができる。幾つかの実施形態では、記述データ１３は更に、フィールドデバイス２０に関連付けられるＩ／Ｏ構造を記述する。このようなＩ／Ｏ構造データは、通信プロトコル、ネットワーク接続パス、更新サイクル、通信遅延、またはノイズレベルに関する情報を含むことができる。上記のように、Ｉ／Ｏ構造データによりコントローラ１１はフィールドデバイス２０と直接通信するか、またはプロセス制御ネットワーク１００を介して間接的に通信することができる。
【０１００】
汎用シャドウブロック３６は、記述データ１３をフィールドデバイス２０から、またはデータベース１４０から受信することができる。フィールドデバイス２０は、記述データ１３をフィールドデバイス２０に内蔵されるメモリに格納することができ、当該メモリはリードオンリメモリまたは再書き込み可能メモリとすることができる。幾つかのフィールドデバイス２０は、記述データ１３をフィールドデバイス２０の１つ以上の機能ブロック１４内に取り込むことができる。フィールドデバイス２０がプロセッサを含む場合、記述データ１３の一部は、リクエストされるとプロセッサを使用して動的に生成することができる。汎用シャドウブロック３６は、記述データ１３を受信するリクエストをフィールドデバイス２０に送信することができ、当該リクエストによりフィールドデバイス２０が記述データ１３を汎用シャドウブロック３６に送信するようになる。送信された記述データ１３を受信すると、汎用シャドウブロック３６は、コントローラ１１内でプロセッサ３０を使用して構成されることにより、機能ブロック１４を写像することができる。代わりに、汎用シャドウブロック３６は、記述データ１３をデータベース１４０から受信することができる。データベース１４０は、プロセスプラントのデバイス及び構造に関する情報を含むように集中的に構築されて維持される。記述データ１３は、バッチ処理を使用して生成するか、または更新することにより、複数のエントリを一度に生成するか、または変更することができる。この場合も同じく、シャドウブロック３６は、記述データ１３をデータベース１４０に対してリクエストすることができ、リクエストする際に、データベース１４０のエントリをシャドウブロック３６にリンクさせることができる。データベース１４０の記述データ１３が変更されると、シャドウブロック３６は、データベース１４０にリンクすることにより自動的に再構成することができる。
【０１０１】
記述データ１３のソースに関係なく、記述データ１３を汎用シャドウブロック３６にユーザ入力に基づいて供給することができる。プロセスプラントオペレータまたは他のユーザは、フィールドデバイス２０をプロセス制御ネットワーク１００内の複数のフィールドデバイスから選択することができる。幾つかの実施形態では、フィールドデバイス２０は、コントローラ１１に通信可能に接続されているとして自動的に検出されるフィールドデバイス群からなる自動生成リストまたはグループから選択される。他の実施形態では、制御プログラムを予め生成しておいてコントローラ１１にインストールすることができ、当該制御プログラムは、プロセスプラントの汎用制御システムを指定することができる。このような実施形態では、コントローラ１１は、各フィールドデバイスを自動的に決定して各汎用シャドウブロック３６に関連付けることができる。
【０１０２】
幾つかの実施形態では、汎用シャドウブロック３６は、複数の汎用シャドウブロックから選択することができる。各汎用シャドウブロックは、インラインセンサまたは電子制御バルブのような所定クラスのフィールドデバイス機能ブロックを写像するように適合させることができる。上に説明したように、汎用シャドウブロッククラス群の各汎用シャドウブロッククラスをインスタンス化して構成することにより、特定のフィールドデバイスまたは機能ブロックを、記述データを使用して写像することができる。複数の汎用シャドウブロッククラスを使用するとシステムの複雑さが増すが、これらの汎用シャドウブロッククラスの数は、プロセス制御システムに必要とされる非汎用シャドウブロックの数よりも少なくすることができるので、記憶容量、構成、及び複雑さに関する非常に大きな利点がそれにも拘らず、汎用シャドウブロッククラスを使用することにより得られる。幾つかの実施形態では、１つ以上の汎用シャドウブロックは、コントローラ１１のライブラリ１２に格納することができ、ライブラリ１２から汎用シャドウブロック３６を選択することができる。
【０１０３】
更に、制御モジュール３４は、制御モジュールクラスまたは下位制御モジュールクラスのインスタンスとすることができる。これにより、制御モジュール３４をフィールドデバイス２０のＩ／Ｏ構造または種類とは無関係なモジュールとすることができる。このような制御モジュールクラスは、１つ以上のシャドウブロッククラスに関連付けることができるので、制御モジュール３４をコントローラ１１上でインスタンス化すると、当該制御モジュールが特定クラスの１つ以上の汎用シャドウブロック３６を制御モジュール３６に自動的に関連付けるようになる。同様に、コントローラ１１は、制御モジュールに関連付けるべき汎用シャドウブロックの数及び種類を、制御モジュールの種類または構成に基づいて自動的に決定することができる。
【０１０４】
汎用シャドウブロックを様々な異なる制御モジュールに関連付けることができるために、標準的な通信フォーマットを制御モジュールとシャドウブロックとの間で使用することができる。この標準的な通信フォーマットにより、制御モジュール３４はシャドウブロック３６を、記述データ１３によるこれらのシャドウブロックの構成に関係なく利用することができる。記述データ１３を使用して構成した後、構成後のシャドウブロック３６は、プロセス制御データを標準的な通信フォーマットとフィールドデバイスが使用する通信プロトコルとの間で変換することができる。例えば、シャドウブロック３６は、プロセス制御データをフィールドデバイス２０から受信することができ、受信したデータを標準的な通信フォーマットに変換することができ、変換後のデータを制御モジュール３４の入力に供給することができる。別の例として、シャドウブロック３６は、制御コマンドを制御モジュール３４から標準的な通信フォーマットで受信することができ、制御コマンドをフィールドデバイス２０が使用する通信プロトコルに変換することができ、変換後の制御コマンドをフィールドデバイス２０に送信することができる。
【０１０５】
図７は、例示的なシャドウブロックインスタンス化方法７００による汎用シャドウブロックをプロセスプラント制御に使用する様子を示すフロー図である。方法７００の他に、汎用シャドウブロックを使用する他の方法を本明細書における記述の通りに実行するようにしてもよい。方法７００は、コントローラ１１で実行されることになる制御モジュール３４を選択するブロック７０２から始まり、ブロック７０４では、汎用シャドウブロック３６を制御モジュール３４に関連付ける。ブロック７０６では、記述データ１３を取得し、ブロック７０８では、記述データ１３を使用して汎用シャドウブロック３６を構成する。次に、ブロック７１０では、構成後のシャドウブロック３６及び制御モジュール３４を実行してプロセスプラントを運転する。ブロック７１２において、汎用シャドウブロック３６を構成するために必要な参照が見つからないと判断される場合には必ず、ブロック７１４において、プロセスプラントオペレータに催促して、見つからない情報を供給させる。ブロック７１６において受信されるオペレータ入力に基づいて、コントローラ１１は、ブロック７１８において、更に別の構成のシャドウブロック３６が必要であるかどうかについて判断することができる。更に別の構成のシャドウブロック３６が必要である場合、方法７００はブロック７０８に進むことができ、ブロック７０８において、シャドウブロック３６を構成し、ブロック７１０において、プロセスプラントを運転する。更に別の構成のシャドウブロック３６が必要ではない場合、方法７００はブロック７１０に進み、ブロック７１０では、プロセスプラントを、ブロック７２０において運転が終了したと判断されるまで運転する。
【０１０６】
ブロック７０２では、方法が、制御モジュール３４を選択することから始まる。制御モジュール３４は、ユーザインターフェース１２０を介して手動で選択することができる、またはコントローラ１１に、プロセス制御ネットワーク１００またはコントローラ１１の構成中またはスタートアップ中に読み込むことができる。例えば、プロセス制御エンジニアまたはプロセスプラントオペレータは、ユーザインターフェース１２０を使用して制御モジュール３４を、ライブラリ１２に格納することができる複数の制御モジュールから選択することができる。制御モジュール３４は、制御モジュールクラスから選択するか、またはインスタンス化することができる。このような実施形態では、同じクラスの制御モジュールの各インスタンスは、同じ標準的なフォーマットとして、プロセスプラントオペレータに対してユーザインターフェース１２０を介して表示することができる。このようなモジュールは、コントローラ１１またはユーザインターフェース１２０に表示されるラベルで区別することができる。いずれにしても、コントローラ１１は、ブロック７０２において、１つ以上の制御モジュール３４の指示を受信し、これらの制御モジュール３４が次に、フィールドデバイス２０に汎用シャドウブロック３６を介して接続される。幾つかの実施形態では、１つ以上の制御モジュール３４は、ユーザが制御システムの開発中に選択することができ、この選択は、プロセスプラントとは別の場所で行なうことができる。このような実施形態では、制御モジュール３４に関する情報を格納し、後で、コントローラ１１のメモリ３２に転送するようにしてもよい。
【０１０７】
ブロック７０４では、１つ以上の汎用シャドウブロック３６を、選択した制御モジュール３４に関連付ける。これを行なう際に、制御モジュール３４の１つ以上の入力または出力に対応する汎用シャドウブロック３６のインスタンスへの参照を指定することができる。この参照で、プロセス制御データを制御モジュール３４の出力から受信することになる、またはプロセス制御データを制御モジュール３４の入力に供給することになる汎用シャドウブロック３６を特定することができる。この参照で、汎用シャドウブロック３６のインスタンスに達するパスを特定することができる。幾つかの実施形態では、この参照で更に、プロセス制御ネットワーク１００内のフィールドデバイス２０に達するパスを特定することができる、またはその他には、シャドウブロック３６でシャドーイングすることになるフィールドデバイス２０を指定することができる。上に説明したように、制御モジュール３４の幾つかの入力または出力で、代わりに、定数値または静的情報を、参照定数３７を介して参照することができる。各シャドウブロック３６は、制御モジュール３４の種類またはクラスに基づいて自動的に関連付けることができる、または各シャドウブロック３６は、プロセス制御ネットワーク１００のユーザが選択することができる。代わりに、各シャドウブロック３６は、制御システムの開発中に既に生成されている情報に基づいて自動的に関連付けることができる。例えば、複数のモジュール３４、及び関連する汎用シャドウブロックへの参照は、データベース１４０に格納し、コントローラ１１が取り出すことができる。
【０１０８】
ブロック７０６では、１つ以上の汎用シャドウブロック３６を構成するための記述データ１３をコントローラ１１で受信する。記述データ１３は、フィールドデバイス２０またはデータベース１４０から取得することができる。例えば、汎用シャドウブロック３６は、フィールドデバイス１４０に対して、情報に関するリクエストでポーリングを行なうことができ、これによりフィールドデバイスが、記述データ１３を生成するか、または送信するようになる。別の例として、ユーザはオプションを、ユーザインターフェース１２０を介して選択することができ、これによりシャドウブロック３６が、記述データ１３をデータベース１４０に対してリクエストして、データベース１４０から受信することができる。記述データ１３は、機能ブロック１４の動作を記述する標準化テキスト形式フォーマットで任意の汎用シャドウブロック３６宛てに受信することにより、汎用シャドウブロック３６で機能ブロック１４をシャドーイングすることができるようになる。一旦、受信されると、記述データ１３を使用して、１つ以上の汎用シャドウブロック３６を構成することができる。実際、これらの汎用シャドウブロック３６は、異なるフィールドデバイスからの記述データで構成される前の段階において同一とすることができ、これらのフィールドデバイスは、種類の点で異なる、フィールドデバイス内の機能ブロックの種類の点で異なる、またはコントローラ１１と通信するために使用される通信プロトコルの点で異なる可能性がある。
【０１０９】
ブロック７０８では、１つ以上の汎用シャドウブロック３６を構成して１つ以上のフィールドデバイス２０の機能ブロック１４を、受信した記述データ１３を使用して写像する。シャドウブロック３６を構成する際に、シャドウブロック３６を構成して、フィールドデバイス２０との通信をプロセス制御ネットワーク１００の関連Ｉ／Ｏ構造を介して処理する、機能ブロック１４の動作を、プロセス制御データを制御モジュール２０に供給することにより、またはプロセス制御データを制御モジュール２０から受信することにより写像する、プロセス制御データを制御モジュール３４が使用する標準的な通信フォーマットとフィールドデバイス２０が使用する通信プロトコルとの間で変換することができる。これを行なう際に、記述データ１３の受信テキストを構文解析して、特定用情報を抽出し、次に汎用シャドウブロック３６のパラメータを調整して、記述データ１３から抽出される情報を取り込むことができる。幾つかの実施形態では、抽出した情報の所定部分を使用して、データベース中の、またはライブラリ中の別の情報を検索することにより、フィールドデバイス２０に格納し、コントローラ１１にプロセス制御プロトコルを介して、フィールドデバイス２０とコントローラ１１との間のプロセス制御通信インフラストラクチャを使用して送信する必要がある記述データ１３の量を減らすことができる。例えば、記述データ１３中のフィールドエントリは、機能ブロックの一般的な種類をコードで指定することができ、当該コードをコントローラ１１が使用して更に別の情報をデータベース１４０から取り出すことができる。ブロック７０８における構成後、構成後のシャドウブロック３６は、他のシャドウブロックと同様に機能して機能ブロック１４を写像し、コントローラ１１とフィールドデバイス２０との間の通信を関連Ｉ／Ｏ構造を介して処理する。
【０１１０】
ブロック７１０では、コントローラ１１は、プロセスプラント、またはプロセスプラントのうちフィールドデバイス２０を格納する部分を、制御モジュール３４を使用して運転することができる。制御モジュール３４は、プロセス制御データを１つ以上のシャドウブロック３６から標準的な通信フォーマットで受信する。制御モジュール３４の出力からの、他の制御モジュールからの、または他のソースからのデータは、制御モジュール３４への入力として使用することもできる。例えば、参照定数３７は、制御モジュール３４への入力として使用することができる。制御モジュール３４からシャドウブロック３６に出力されるプロセス制御データは、ローカルＩ／Ｏ構造に対応する適切な通信プロトコルに変換して、フィールドデバイス２０に送信することにより、プロセスプラントの運転を制御することができる。例えば、制御モジュール３４からの標準的な通信フォーマットデータは、バルブアクチュエータ宛てに発信され、かつバルブアクチュエータに無線Ｉ／Ｏ構造を介して送信されるWireless HART（登録商標）プロトコルに変換することができる。プロセス制御データを受信すると、バルブアクチュエータは、バルブを、受信した制御コマンドに基づいて開閉するようになる。このようなプロセス制御は、プロセス制御ネットワーク１００の動作を変更する所定の原因が生じるまで継続して行なわれる。
【０１１１】
ブロック７１２では、コントローラ７１２は、制御モジュール３４及びシャドウブロック３６が完全に構成されているかどうかを判断し、判断する際に、いずれの参照が見つからないかを、または正常に行なわれないかを判断することができる。参照は、例えばプロセスプラントのＩ／Ｏ構造が変更された場合、または特定のプロセス制御ネットワーク１００に関する情報が必要ではない場合、制御モジュール３４の入力または出力に見つからない可能性がある。記述データ１３の誤りにより、または構成に対する変更により同じようにして、参照が見つからないか、または壊れる可能性がある。同様に、フィールドデバイスを特定する参照または参照の一部が見つからないか、または不正である可能性があり、この場合、汎用シャドウブロック３６は、フィールドデバイス２０に関連付けられる記述データ１３を取得することができない。ブロック７１２において、全ての制御モジュール３４及びシャドウブロック３６が完全に構成されていると判断される場合、プロセスプラントの制御システムの動作は、コントローラ１１がブロック７２０において、プロセスプラントの運転を続けられないと判断するまで継続させることができる。
【０１１２】
コントローラ１１が、１つ以上の参照が見つからないと判断する、または不正であると判断する場合、ブロック７１４において、プロセスプラントオペレータに催促して参照に関する更に別の情報を供給させることができる。このような催促をプロセスプラントオペレータに、ユーザインターフェース１２０を使用して提示することができる。この催促により、オペレータに対して、参照が見つからない、または壊れていることについて警報を発することができ、情報をリクエストして参照を生成するか、または更新することができる。幾つかの実施形態では、催促は、オペレータがフラグをセットして特定の情報を無視することができるオプションを含むことができる。例えば、制御モジュール３４の特定の入力は、システム構成またはＩ／Ｏ構造に起因して、プロセス制御ネットワーク１００の正常な動作に必要とならない可能性がある。このような例では、オペレータは、フラグをセットして当該入力を無視するオプションを選択することができる。フラグは、制御モジュール３４または構成後のシャドウブロック３６のいずれかでセットすることができ、当該フラグを使用し続けて、フィールドデバイス２０と制御モジュール３４の他の入力または出力との間の通信を行なうことができる。
【０１１３】
ブロック７１４において催促を提示すると、コントローラ１１は、ブロック７１６において、更に別の情報をプロセスプラントオペレータから受信することができる。オペレータは、フィールドデバイス２０または機能ブロック１４の指示を供給することができ、この指示に基づいて、シャドウブロック３６を上記の通りに構成することができる。オペレータは、代わりに見つからない参照を無視するオプションの選択を行なうことができる。幾つかの実施形態では、コントローラ１１は、選択される１つ以上の機能ブロック１４またはフィールドデバイス２０をプロセス制御ネットワーク１００内に検出される機能ブロックまたはフィールドデバイスのリストから受信することができる。受信した情報は、フィールドデバイス２０から受信されるデータの解釈または使用に関する情報を含むこともできる。例えば、オペレータは、機能ブロック１４から出力されるデータの単位を指定することができ、当該情報を制御モジュール３４が使用して演算をスケーリング処理することができる。
【０１１４】
ブロック７１６において、プロセスプラントオペレータの入力を受信すると、コントローラ１１は、ブロック７１８において、シャドウブロック３６の更に別の構成が必要かどうかについて判断することができる。更に別の構成が必要である場合、方法７００はブロック７０８に進むことができ、ブロック７０８では、シャドウブロック３６を構成する。更に別の構成が必要ではない場合、コントローラ１１は更に、ブロック７２０において、プロセスプラントの運転を続けるかどうかについて判断することができる。運転を続ける場合、コントローラ１１は、ブロック７１０において、プロセス制御システムを実行してプロセスプラントを運転し続けることができる。プロセスプラントの運転を続けない場合、方法７００は終了する。
更に別の注意事項
【０１１５】
以下の更に別の注意事項を、これまでの説明に適用する。本明細書全体を通じて、サーバ１５０、ＵＩデバイス１１２、または任意の他のデバイスもしくはルーチンによって行なわれるものとして説明される動作は概して、データを機械可読命令に従って操作または変換するプロセッサの動作またはプロセスを指す。機械可読命令は、プロセッサに通信可能に接続されるメモリデバイスに格納されてメモリデバイスから取り出すことができる。すなわち、本明細書において説明される方法は、非一時的なコンピュータ可読媒体に（すなわち、メモリデバイスに）格納される機械実行可能命令セットで具体化される。命令は、対応するデバイス（例えば、サーバ、モバイル機器など）の１つ以上のプロセッサにより実行されると、命令により、プロセッサが方法を実行するようになる。命令、ルーチン、モジュール、プロセス、サービス、プログラム、及び／又はアプリケーションが、コンピュータ可読メモリまたはコンピュータ可読媒体に格納される、または保存されるものとして本明細書において言及される場合、“ｓｔｏｒｅｄ（格納する）”、“ｓａｖｅｄ（保存する）”という単語は、一時的な信号を含まないものとする。
【０１１６】
更に、“ｏｐｅｒａｔｏｒ（オペレータ）”、“ｐｅｒｓｏｎｎｅｌ（人員）”、“ｐｅｒｓｏｎ（人間）”、“ｕｓｅｒ（ユーザ）”、“ｔｅｃｈｎｉｃｉａｎ（技術者）”という用語、及び他の同様の用語は、本明細書において説明されるシステム、装置、及び方法を使用することができる、またはシステム、装置、及び方法とインタラクションを行なうプロセスプラント環境内の人間を表わすために使用されるが、これらの用語は、限定的に使用されないものとする。これまでの説明から分かるように、本明細書において説明されるシステム、装置、及び方法は、プロセス制御システムを構成する、または動作させるこのような人員の能力を向上させるという利点または効果を有することができる。特定の用語が本記述に使用される場合、当該用語は、プラント人員が従事する仕事が従来通りの仕事であるという部分的な理由により使用されるが、当該特定の仕事に従事することができる人員を限定するために使用されるのではない。
【０１１７】
更に、本明細書全体を通じて、複数の例が、単数の例として記述されるコンポーネント、操作、または構造を実現することができる。１つ以上の方法における個々の操作が個別の操作として例示かつ説明されているが、個々の操作のうちの１つ以上の操作は、同時に行なわれてもよく、これらの操作が図示の順序で行なわれる必要はない。例示的な構成の別体のコンポーネントとして提示される構造及び機能は、複合構造または複合コンポーネントとして実現することができる。同様に、単一のコンポーネントとして提示される構造及び機能は、別体のコンポーネントとして実現することができる。これらの及び他の変更、変形、追加、及び改善は、本明細書における主題の範囲に含まれる。
【０１１８】
そうでないと明示的に記載されていない限り、“ｐｒｏｃｅｓｓｉｎｇ（処理する）”、“ｃｏｍｐｕｔｉｎｇ（算出する）”、“ｃａｌｃｕｌａｔｉｎｇ（計算する）”、“ｄｅｔｅｒｍｉｎｉｎｇ（判断する）”、“ｉｄｅｎｔｉｆｙｉｎｇ（特定する）”、“ｐｒｅｓｅｎｔｉｎｇ（提示する）”、“ｄｉｓｐｌａｙｉｎｇ（表示する）”などのような単語を使用した本明細書における説明は、１つ以上のメモリ（例えば、揮発性メモリ、不揮発性メモリ、またはこれらのメモリを組み合わせた複合メモリ）、レジスタ、または情報を受信する、格納する、送信する、または表示する他の機械コンポーネント内の物理（例えば、電子、磁気、または光）量として表わされるデータを操作する、または変換する機械（例えば、コンピュータ）の動作またはプロセスを指している。
【０１１９】
ソフトウェアで実行される場合、本明細書において説明されるアプリケーション、サービス、及びエンジンのうちの任意の要素は、任意の有形の非一時的なコンピュータ可読メモリに格納することができ、例えば磁気ディスク、レーザディスク、固体メモリデバイス、分子メモリストレージデバイス、または他の記憶媒体に、コンピュータまたはプロセッサのＲＡＭもしくはＲＯＭなどに格納することができる。本明細書において開示される例示的なシステムは、他のコンポーネントの中でもとりわけ、ハードウェアで実行されるソフトウェア及び／又はファームウェアを含むものとして開示されているが、このようなシステムは単なる例示に過ぎず、限定的に考えられてはならないことに留意されたい。例えば、これらのハードウェアコンポーネント、ソフトウェアコンポーネント、及びファームウェアコンポーネントのうちの任意のコンポーネント、または全てのコンポーネントは、ハードウェアでのみ、ソフトウェアでのみ、またはハードウェア及びソフトウェアの任意の組み合わせでのみ具体化されることが想到される。従って、この技術分野の当業者は、提供される例が、このようなシステムを実現するための唯一の方法ではないことを容易に理解できるであろう。
【０１２０】
本発明について、特定の例を挙げて説明してきたが、これらは例示に過ぎず、本発明を限定することを意図するものではないが、開示された実施形態は、本発明の趣旨と範囲から逸脱することなく、変更、追加、削除などを行えることは当業者にとって明らかであろう。
態様
【０１２１】
本開示の以下の態様は、単なる例示に過ぎず、本開示の範囲を限定するものではない。
【０１２２】
１．プロセスプラントを運転するコンピュータ実行方法であって：制御プロセスに関連付けられる制御モジュールを選択し、前記制御モジュールは、プロセス制御データを受信するように構成される少なくとも１つの入力を有し；第１信号オブジェクトを前記制御モジュールの前記少なくとも１つの入力に関連付け；第１パスを前記信号オブジェクトに割り当て、前記第１パスで、前記プロセスプラントのプロセス制御デバイスの出力を指定し、前記制御モジュールは、前記プロセス制御デバイスに関連付けられるプロセス制御データを前記第１信号オブジェクトから受信する、コンピュータ実行方法。
【０１２３】
２．前記第１信号オブジェクトから受信される前記プロセス制御データは、前記プロセスプラントのＩ／Ｏ構造とは無関係である、態様１に記載のコンピュータ実行方法。
【０１２４】
３．前記第１信号オブジェクトは、出力データを前記フィールドデバイスから１種類以上のプロトコルを介して受信し、前記プロセス制御データを、受信した前記出力データから抽出し、前記プロセス制御データを前記制御モジュールに、受信した前記出力データの前記１種類以上のプロトコルとは関係なく、標準的なフォーマットで供給する、態様１又は態様２のいずれかに記載のコンピュータ実行方法。
【０１２５】
４．更に：第２信号オブジェクトを前記制御モジュールの出力に関連付け；第２パスを前記第２信号オブジェクトに割り当て、前記第２パスで、前記プロセスプラントの前記プロセス制御デバイスまたは別のプロセス制御デバイスのうちの一方のプロセス制御デバイスの入力を指定し、前記制御モジュールはプロセス制御データを前記プロセス制御デバイスまたは別のプロセス制御デバイスに前記第２信号オブジェクトを介して、前記プロセス制御デバイスまたは別のプロセス制御デバイスに関連付けられるＩ／Ｏ構造とは関係なく送信する、態様１〜３のいずれか１つの態様に記載のコンピュータ実行方法。
【０１２６】
５．更に：第２制御モジュールを選択し、前記第２制御モジュールは入力を含み；前記第２制御モジュールの前記入力を前記第２信号オブジェクトに関連付け、前記第２制御モジュールの前記入力を前記第２信号オブジェクトに関連付けることにより、前記第２制御モジュールが、前記プロセス制御データを前記第１制御モジュールの前記出力から前記第２制御モジュールの前記入力で受信するようになる、態様４に記載のコンピュータ実行方法。
【０１２７】
６．更に：前記第１パスを前記第１信号オブジェクトに割り当てる前に、第１コンピュータのプロセッサにより、メモリに、前記制御モジュール、及び前記関連付け後の前記第１信号オブジェクトを格納し；前記第１パスを前記第１信号オブジェクトに割り当てる前に、第２コンピュータのプロセッサにより、前記メモリから、前記制御モジュール、及び前記関連付け後の前記第１信号オブジェクトを取り出す、態様１〜５のいずれか１つの態様に記載のコンピュータ実行方法。
【０１２８】
７．前記第１パスを前記第１信号オブジェクトに、前記制御モジュールの実行中に割り当てて、前記プロセスプラントを運転する、態様６に記載のコンピュータ実行方法。
【０１２９】
８．更に：第３信号オブジェクトを、前記制御モジュールの少なくとも１つの入力に関連付け；第３パスを前記第３信号オブジェクトに割り当て、前記第３パスで定数値を定義する、態様１〜７のいずれか１つの態様に記載のコンピュータ実行方法。
【０１３０】
９．前記プロセス制御デバイスはフィールドデバイスを備える、態様１〜８のいずれか１つの態様に記載のコンピュータ実行方法。
【０１３１】
１０．前記制御モジュールは、オブジェクト指向プログラミング言語で記述されるクラスのインスタンスである、態様１〜９のいずれか１つの態様に記載のコンピュータ実行方法。
【０１３２】
１１．更に、前記制御モジュールのインスタンスが属する前記クラスを更新し、前記クラスに対する前記更新は、前記クラスの前記インスタンスに対して自動的に行なわれる、態様１０に記載のコンピュータ実行方法。
【０１３３】
１２．前記制御モジュールを選択する際に、ユーザにより選択される制御モジュールを、複数の制御モジュールを格納するライブラリから受信する、態様１〜１１のいずれか１つの態様に記載のコンピュータ実行方法。
【０１３４】
１３．複数の制御モジュールを前記第１信号オブジェクトに関連付け、前記第１パスを前記第１信号オブジェクトに割り当てることにより、前記第１信号オブジェクトに関連付けられる前記複数の制御モジュールの各制御モジュールが、前記プロセス制御デバイスに関連付けられるプロセス制御データを前記第１信号オブジェクトから受信するようになる、態様１〜１２のいずれか１つの態様に記載のコンピュータ実行方法。
【０１３５】
１４．前記制御モジュールを選択すること、及び前記第１信号オブジェクトを前記制御モジュールの前記少なくとも１つの入力に関連付けることが、制御方式を制御方式ライブラリから選択することにより行なわれて、選択した前記制御方式に、前記制御モジュール及び前記関連付け後の前記第１信号オブジェクトの両方を取り込むようにする、態様１〜１３のいずれか１つの態様に記載のコンピュータ実行方法。
【０１３６】
１５．選択した前記制御方式に前記第１パスを取り込まない、態様１４に記載のコンピュータ実行方法。
【０１３７】
１６．更に：ユーザインターフェースに直接取り込まれる第４信号オブジェクトを選択し；選択した前記第４信号オブジェクトが前記ユーザインターフェースに取り込まれるようにし；第４パスを前記第４信号オブジェクトに割り当て、前記第４パスで、前記プロセスプラントの別のプロセス制御デバイスの出力を指定し；前記ユーザインターフェースで、前記別のプロセス制御デバイスに関連付けられ、かつ前記第４信号オブジェクトを介して受信されるプロセス制御データの指示を表示する、態様１〜１５のいずれか１つの態様に記載のコンピュータ実行方法。
【０１３８】
１７．前記第４信号オブジェクトをいずれの制御モジュールにも関連付けない、態様１６に記載のコンピュータ実行方法。
【０１３９】
１８．前記第４信号オブジェクトは、前記プロセス制御データのスケールに関する情報を含む、態様１６又は態様１７のいずれかに記載のコンピュータ実行方法。
【０１４０】
１９．前記第４信号オブジェクトは、前記プロセス制御データに基づくアラームを含む、態様１６〜１８のいずれか１つの態様に記載のコンピュータ実行方法。
【０１４１】
２０．更に：選択される１つ以上のアラーム基準を前記ユーザから受信し；前記インターフェースに指示してアラームを前記ユーザに、前記１つ以上のアラーム基準が満たされる場合に提示する、態様１９に記載のコンピュータ実行方法。
【０１４２】
２１．前記第４信号オブジェクトは、特定ビットを前記プロセス制御データの１つ以上の出力ストリームから取り出して前記ユーザインターフェースに提示する情報を含む、態様１６〜２０のいずれか１つの態様に記載のコンピュータ実行方法。
【０１４３】
２２．更に：テストパスを前記第１信号オブジェクトに割り当て、前記テストパスをテストデータに関連付け；前記制御モジュールを、前記テストデータを使用して実行することにより、前記制御モジュールの動作を模擬する、態様１〜２１のいずれか１つの態様に記載のコンピュータ実行方法。
【０１４４】
２３．前記テストデータは、前記プロセスプラントの異なる運転状態を表わす複数のテストデータ集合を含み、前記方法では更に：出力プロセス制御データを前記モジュールからテストデータ集合毎に受信し；受信した前記出力プロセス制御データを記録し；前記制御モジュールが正しく機能していることを、記録した前記出力プロセス制御データを使用して確認する、態様２２に記載のコンピュータ実行方法。
【０１４５】
２４．更に：記録した前記出力プロセス制御データを使用して、前記制御モジュールが所定の品質パラメータ内で機能していないと判断し；前記制御モジュールまたは前記第１信号オブジェクトの１つ以上のパラメータを調整し；前記１つ以上のパラメータの調整後に、前記制御モジュールを、前記テストデータを使用して実行することにより前記制御モジュールの動作を模擬し；出力プロセス制御データを前記モジュールからテストデータ集合毎に受信し；受信した前記出力プロセス制御データを記録する、態様２３に記載のコンピュータ実行方法。
【０１４６】
２５．前記テストデータは、前記プロセスプラントの前記Ｉ／Ｏ構造とは無関係である、態様２３又は態様２４のいずれかに記載のコンピュータ実行方法。
【０１４７】
２６．更に、前記プロセスプラントの前記Ｉ／Ｏ構造の少なくとも一部を表わす情報を受信し、前記制御モジュールが正しく機能していることを確認した後に、かつ前記プロセスプラントの前記Ｉ／Ｏ構造の前記少なくとも一部を表わす前記情報を受信した後に、前記第１パスを前記第１オブジェクトに割り当てる、態様２３〜２５のいずれか１つの態様に記載のコンピュータ実行方法。
【０１４８】
２７．プロセスプラントを運転するプロセス制御システムであって：前記プロセスプラント内に配置される複数のプロセス制御デバイスと；前記複数のフィールドデバイスに通信可能に接続されるコントローラであって、該コントローラが、少なくとも１つの制御モジュールを有し、該少なくとも１つの制御モジュールが、入力プロセス制御データを受信する入力と、出力プロセス制御データを送信する出力と、を有する、前記コントローラと、を備え、前記制御モジュールの前記入力を第１信号オブジェクトに関連付けてプロセス制御データを受信し、前記第１信号オブジェクトには、前記複数のプロセス制御デバイスの１つのプロセス制御デバイスの出力を指定する第１パスが割り当てられ、前記制御モジュールは、前記プロセス制御デバイスに関連付けられるプロセス制御データを前記第１信号オブジェクトから受信する、プロセス制御システム。
【０１４９】
２８．前記第１信号オブジェクトから受信される前記プロセス制御データは、前記プロセスプラントのＩ／Ｏ構造とは無関係である、態様２７に記載のプロセス制御システム。
【０１５０】
２９．前記第１信号オブジェクトは、出力データを前記フィールドデバイスから１種類以上のプロトコルを介して受信し、前記プロセス制御データを、受信した前記出力データから抽出し、前記プロセス制御データを前記制御モジュールに、受信した前記出力データの前記１種類以上のプロトコルとは関係なく標準的なフォーマットで供給する、態様２７又は態様２８のいずれかに記載のプロセス制御システム。
【０１５１】
３０．前記制御モジュールの出力は、第２信号オブジェクトに関連付けられ；前記第２信号オブジェクトには、前記複数のプロセス制御デバイスの第２プロセス制御デバイスの入力を指定する第２パスが割り当てられ；前記制御モジュールはプロセス制御データを前記第２プロセス制御デバイスに前記第２信号オブジェクトを介して、前記第２プロセス制御デバイスに関連付けられる前記Ｉ／Ｏ構造とは関係なく送信する、態様２７〜２９のいずれか１つの態様に記載のプロセス制御システム。
【０１５２】
３１．前記第２信号オブジェクトは、前記コントローラの第２制御モジュールの入力に関連付けられ；前記第２制御モジュールの前記入力で、プロセス制御データを前記制御モジュールの前記出力から前記第２信号オブジェクトを介して受信する、態様３０に記載のプロセス制御システム。
【０１５３】
３２．前記第１パスは前記第１信号オブジェクトに、前記制御モジュールの実行中に前記コントローラにより割り当てられて、前記プロセスプラントを運転する、態様２７〜３１のいずれか１つの態様に記載のプロセス制御システム。
【０１５４】
３３．前記制御モジュールは、オブジェクト指向プログラミング言語で記述されるクラスのインスタンスである、態様２７〜３２のいずれか１つの態様に記載のプロセス制御システム。
【０１５５】
３４．前記制御モジュールは、制御モジュールクラスのメンバであり、前記制御モジュールクラスの各メンバは、前記制御モジュールクラスが更新されると自動的に更新される、態様２７〜３３のいずれか１つの態様に記載のプロセス制御システム。
【０１５６】
３５．更に、前記複数のプロセス制御デバイスに、かつ前記少なくとも１つの制御モジュールに通信可能に接続されるユーザインターフェースを備える、態様２７〜３４のいずれか１つの態様に記載のプロセス制御システム。
【０１５７】
３６．前記ユーザインターフェースは、前記複数のプロセス制御デバイスの第３プロセス制御デバイスに、いずれの制御モジュールにも関連付けられない第３信号オブジェクトを介して通信可能に接続される、態様３５に記載のプロセス制御システム。
【０１５８】
３７．前記ユーザインターフェースは、前記第３信号オブジェクトから受信されるプロセス制御データを前記ユーザインターフェースのユーザに提示する、態様３６に記載のプロセス制御システム。
【０１５９】
３８．前記第３信号オブジェクトは、プロセス制御データを前記ユーザインターフェースに、前記第３プロセス制御デバイスに関連付けられる前記Ｉ／Ｏ構造とは関係なく標準的なフォーマットで供給する、態様３６又は態様３７のいずれかに記載のプロセス制御システム。
【０１６０】
３９．前記第３信号オブジェクトは：前記プロセス制御データのスケール；前記プロセス制御データに関連付けられるアラーム；または前記第３プロセス制御デバイスの１つ以上の出力ストリームから取り出される特定ビットのうちの１つ以上に関する情報を前記ユーザインターフェースに供給する、態様３６〜３８のいずれか１つの態様に記載のプロセス制御システム。
【０１６１】
４０．プロセスプラントを運転するコンピュータ実行方法であって：複数のフィールドデバイスに通信可能に接続されるコントローラのプロセッサで、制御モジュールの指示を受信して前記プロセスプラントを運転し；前記コントローラ内の汎用シャドウブロックを前記制御モジュールに関連付け；前記コントローラで、前記コントローラに通信可能に接続されるフィールドデバイスに関する記述データを受信し、前記記述データは、前記フィールドデバイスの機能ブロックを記述し；前記汎用シャドウブロックを構成して、前記コントローラ内で、前記フィールドデバイスの前記機能ブロックの動作を、受信した前記記述データに基づいて写像する、コンピュータ実行方法。
【０１６２】
４１．前記汎用シャドウブロックを前記制御モジュールに関連付ける際に、前記制御モジュールの入力または出力の参照を指定して前記汎用シャドウブロックを特定する、態様４０に記載のコンピュータ実行方法。
【０１６３】
４２．前記参照で、前記フィールドデバイスに達するパスを指定する、態様４１に記載のコンピュータ実行方法。
【０１６４】
４３．更に、前記制御モジュールの別の入力または出力の第２参照を指定して定数値を特定する、態様４１又は態様４２のいずれかに記載のコンピュータ実行方法。
【０１６５】
４４．更に：前記コントローラ内の更に別の汎用シャドウブロックを前記制御モジュールに関連付け；前記コントローラで、前記コントローラに通信可能に接続される更に別のフィールドデバイスに関する更に別の記述データを受信し、前記更に別の記述データは、前記更に別のフィールドデバイスの機能ブロックを記述し、前記更に別の汎用シャドウブロックは、構成前の前記シャドウブロックと同一であり；前記更に別の汎用シャドウブロックを構成して前記コントローラ内で、前記更に別のフィールドデバイスの前記機能ブロックの動作を、受信した前記更に別の記述データに基づいて写像する、態様４０〜４３のいずれか１つの態様に記載のコンピュータ実行方法。
【０１６６】
４５．前記更に別のフィールドデバイスの前記機能ブロックは、前記フィールドデバイスの前記機能ブロックとは種類が異なる、態様４４に記載のコンピュータ実行方法。
【０１６７】
４６．前記更に別のフィールドデバイスは、前記フィールドデバイスとは種類が異なる、態様４４又は態様４５のいずれかに記載のコンピュータ実行方法。
【０１６８】
４７．前記更に別のフィールドデバイスは、前記フィールドデバイスとは異なる通信プロトコルを使用する、態様４４〜４６のいずれか１つの態様に記載のコンピュータ実行方法。
【０１６９】
４８．前記記述データは、前記フィールドデバイスをテキスト形式の標準記述言語で記述するデータを含む、態様４０〜４７のいずれか１つの態様に記載のコンピュータ実行方法。
【０１７０】
４９．前記フィールドデバイスに関する前記記述データを受信する際に：前記記述データに関するリクエストを前記フィールドデバイスに送信し；前記記述データを前記フィールドデバイスから受信する、態様４０〜４８のいずれか１つの態様に記載のコンピュータ実行方法。
【０１７１】
５０．前記フィールドデバイスに関する前記記述データを受信する際に、前記記述データを、前記プロセスプラントに関する情報を格納するデータベースから受信する、態様４０〜４９のいずれか１つの態様に記載のコンピュータ実行方法。
【０１７２】
５１．更に：前記制御モジュールを実行すると、前記汎用シャドウブロックが構成されたかどうかを判断し；前記汎用シャドウブロックが構成されていない場合、前記フィールドデバイスの指示を受信し；前記フィールドデバイスに関する前記記述データの受信は、前記フィールドデバイスの前記受信指示に基づいて行なわれる、態様４０〜５０のいずれか１つの態様に記載のコンピュータ実行方法。
【０１７３】
５２．前記フィールドデバイスの前記指示は、プロセスプラントオペレータにより選択される、態様４０〜５１のいずれか１つの態様に記載のコンピュータ実行方法。
【０１７４】
５３．前記フィールドデバイスの前記指示は、前記プロセスプラントに関する情報を格納するデータベースから受信される、態様４０〜５２のいずれか１つの態様に記載のコンピュータ実行方法。
【０１７５】
５４．前記記述データは、前記フィールドデバイスに関連付けられる前記Ｉ／Ｏ構造に関する情報を含む、態様４０〜５３のいずれか１つの態様に記載のコンピュータ実行方法。
【０１７６】
５５．更に：構成後の前記シャドウブロックで、プロセス制御データを前記フィールドデバイスから受信し；構成後の前記シャドウブロックで、受信した前記プロセス制御データを、前記制御モジュールが使用する標準的なフォーマットに変換し、前記標準的なフォーマットは、前記記述データに基づく前記汎用シャドウブロックの構成とは無関係であり；前記制御モジュールに、変換後の前記プロセス制御データを前記制御モジュールの入力に供給する、態様４０〜５４のいずれか１つの態様に記載のコンピュータ実行方法。
【０１７７】
５６．更に：構成後の前記シャドウブロックで、プロセス制御データを前記制御モジュールの出力から受信し、前記プロセス制御データは、前記プロセスプラントの前記フィールドデバイス及び前記Ｉ／Ｏ構造とは無関係な標準的なフォーマットで出力され；構成後の前記シャドウブロックで、前記プロセス制御データを前記標準的なフォーマットから、前記フィールドデバイスが使用する第２フォーマットに変換し；前記フィールドデバイスに、変換後の前記プロセス制御データを送信する、態様４０〜５５のいずれか１つの態様に記載のコンピュータ実行方法。
【０１７８】
５７．前記制御モジュールは、前記フィールドデバイスの種類、及び前記プロセスプラントの前記Ｉ／Ｏ構造とは無関係な制御モジュールクラスのインスタンスである、態様４０〜５６のいずれか１つの態様に記載のコンピュータ実行方法。
【０１７９】
５８．前記制御モジュールは、前記汎用シャドウブロックからの１つ以上の入力を無視するオプションを含む、態様５７に記載のコンピュータ実行方法。
【０１８０】
５９．更に：ユーザデバイスにより、前記プロセスプラントを運転するように構成されるユーザインターフェースを生成し、前記ユーザインターフェースは、前記制御モジュールの表示を含み；前記ユーザステーションで、前記ユーザインターフェースをプロセスプラントオペレータに提示し、前記制御モジュールクラス内の各制御モジュールは、同じ標準的なフォーマットで表示される、態様５７又は態様５８のいずれかに記載のコンピュータ実行方法。
【０１８１】
６０．前記汎用シャドウブロックは、汎用シャドウブロッククラスのインスタンスである、態様５７〜５９のいずれか１つの態様に記載のコンピュータ実行方法。
【０１８２】
６１．前記汎用シャドウブロックを前記制御モジュールに、前記制御モジュールクラスに基づいて自動的に関連付ける、態様６０に記載のコンピュータ実行方法。
【０１８３】
６２．プロセスプラントを運転するプロセス制御システムであって：前記プロセスプラント内に配置される複数のフィールドデバイスと；前記複数のフィールドデバイスに通信可能に接続され、かつ前記プロセスプラントを運転する少なくとも１つの制御モジュールを有するコントローラと、を備え、前記コントローラは更に、コンピュータ可読命令を含み、前記コンピュータ可読命令により、前記コントローラは：前記コントローラ内の汎用シャドウブロックを前記制御モジュールに関連付けるようになり；前記複数のフィールドデバイスの１つのフィールドデバイスに関する記述データを受信するようになり、前記記述データは、前記フィールドデバイスの機能ブロックを記述し；前記汎用シャドウブロックを構成して前記コントローラ内で、前記フィールドデバイスの前記機能ブロックの動作を、受信した前記記述データに基づいて写像するようになる、プロセス制御システム。
【０１８４】
６３．前記汎用シャドウブロックを前記制御モジュールに関連付ける際に、前記制御モジュールの入力または出力の参照を指定して前記汎用シャドウブロックを特定する、態様６２に記載のプロセス制御システム。
【０１８５】
６４．前記参照で、前記フィールドデバイスに達するパスを指定する、態様６３に記載のプロセス制御システム。
【０１８６】
６５．前記コンピュータ可読命令により更に、前記コントローラは：前記コントローラ内の更に別の汎用シャドウブロックを前記制御モジュールに関連付けるようになり；前記複数のフィールドデバイスのうち更に別のフィールドデバイスに関する更に別の記述データを受信するようになり、前記更に別の記述データは、前記更に別のフィールドデバイスの機能ブロックを記述し、前記更に別の汎用シャドウブロックは、構成前の前記シャドウブロックと同一であり；前記更に別の汎用シャドウブロックを構成して前記コントローラ内で、前記更に別のフィールドデバイスの前記機能ブロックの動作を、受信した前記更に別の記述データに基づいて写像するようになる、態様６２〜６４のいずれか１つの態様に記載のプロセス制御システム。
【０１８７】
６６．前記更に別のフィールドデバイスの前記機能ブロックは、前記フィールドデバイスの前記機能ブロックとは種類が異なる、態様６５に記載のプロセス制御システム。
【０１８８】
６７．前記更に別のフィールドデバイスは、前記フィールドデバイスとは種類が異なる、態様６６に記載のプロセス制御システム。
【０１８９】
６８．前記記述データは、前記フィールドデバイスをテキスト形式の標準記述言語で記述するデータを含む、態様６２〜６７のいずれか１つの態様に記載のプロセス制御システム。
【０１９０】
６９．前記フィールドデバイスに関する前記記述データは、前記フィールドデバイスから受信される、態様６２〜６８のいずれか１つの態様に記載のプロセス制御システム。
【０１９１】
７０．前記フィールドデバイスに関する前記記述データは、前記プロセスプラントに関する情報を格納するデータベースから受信される、態様６２〜６９のいずれか１つの態様に記載のプロセス制御システム。
【０１９２】
７１．前記コンピュータ可読命令により更に、前記コントローラは：前記制御モジュールを実行すると、前記汎用シャドウブロックが構成されたかどうかを判断するようになり；前記汎用シャドウブロックが構成されていない場合、前記フィールドデバイスの指示を受信するようになり、前記フィールドデバイスに関する前記記述データは、前記フィールドデバイスの前記受信指示に基づいて受信される、態様６２〜７０のいずれか１つの態様に記載のプロセス制御システム。
【０１９３】
７２．前記フィールドデバイスの前記指示は、プロセスプラントオペレータにより選択される、態様７１に記載のプロセス制御システム。
【０１９４】
７３．前記フィールドデバイスの前記指示は、前記プロセスプラントに関する情報を格納するデータベースから受信される、態様７１又は態様７２のいずれかに記載のプロセス制御システム。
【０１９５】
７４．前記記述データは、前記フィールドデバイスに関連付けられる前記Ｉ／Ｏ構造に関する情報を含む、態様６２〜７３のいずれか１つの態様に記載のプロセス制御システム。
【０１９６】
７５．前記コンピュータ可読命令により更に、前記コントローラは：構成後の前記シャドウブロックで、プロセス制御データを前記フィールドデバイスから受信するようになり；構成後の前記シャドウブロックで、受信した前記プロセス制御データを、前記制御モジュールが使用する標準的なフォーマットに変換するようになり、前記標準的なフォーマットは、前記記述データに基づく前記汎用シャドウブロックの構成とは無関係であり；変換後の前記プロセス制御データを前記制御モジュールの入力に供給するようになる、態様６２〜７４のいずれか１つの態様に記載のプロセス制御システム。
【０１９７】
７６．前記制御モジュールは、前記フィールドデバイスの種類、及び前記プロセスプラントの前記Ｉ／Ｏ構造とは無関係な制御モジュールクラスのインスタンスである、態様６２〜７５のいずれか１つの態様に記載のプロセス制御システム。
【０１９８】
７７．前記汎用シャドウブロックは、前記制御モジュールに、前記制御モジュールクラスに基づいて自動的に関連付けられる、態様７６に記載のプロセス制御システム。
【０１９９】
７８．前記汎用シャドウブロックは、汎用シャドウブロッククラスのインスタンスである、態様６２〜７７のいずれか１つの態様に記載のプロセス制御システム。
【０２００】
７９．前記制御モジュールは、前記汎用シャドウブロックからの１つ以上の入力を無視するオプションを含む、態様６２〜７８のいずれか１つの態様に記載のプロセス制御システム。
【図１Ａ】
2018010638.tif 000003
【図１Ｂ】
2018010638.tif 000004
【図２】
2018010638.tif 000005
【図３】
2018010638.tif 000006
【図４】
2018010638.tif 000007
【図５】
2018010638.tif 000008
【図６】
2018010638.tif 000009
【図７】
2018010638.tif 000010