(57)【要約】      （修正有）【課題】プロセスプラント内のエンティティを表現可能なプロセスプラントアイテムのバージョンのトラッキングを容易にする。【解決手段】プロセスプラントアイテムは、プロセスプラントのプロセスエンティティを表すことが可能なモジュールオブジェクトなどから構成されうる。モジュールオブジェクトは、プロセスプラントのプロセスエンティティを包括的に表すことが可能なモジュールクラスオブジェクトから作成されうる。バージョンデータが格納され、モジュールオブジェクトと関連付けされる。バージョンデータは、そのモジュールオブジェクトの作成に用いられたモジュールクラスオブジェクトのバージョンを示すデータ、または、そのモジュールオブジェクトのバージョンを示すデータを有しうる。コンフィギュレーションシステム、バージョン管理システムなどは、あるアイテムに関連するバージョン管理データを検査するかまたは閲覧することを可能にする。【選択図】図５
2011204251.tif 000002
【特許請求の範囲】
【請求項１】
プロセスプラントの構成に利用されるオブジェクトエンティティであって、
コンピュータ読み取り可能メモリと、
前記プロセスプラント内のプロセスエンティティを包括的に表現する、前記コンピュータ読み取り可能メモリに格納されているクラスオブジェクトとを備え、
該クラスオブジェクトが
前記プロセスエンティティを構成する一または複数のプロセスエレメントの表記情報を格納するように構成された第一のメモリ格納部と、
前記プロセスエンティティを構成する前記一または複数のプロセスエレメントに一致する一または複数の具体的なプロセスエレメントの表記情報と、前記プロセスプラントの運転中に実行されるように該一または複数の具体的なプロセスエレメントに結び付けられるプログラミングと包含するように前記クラスオブジェクトから各々が作成される一または複数のモジュールクラスオブジェクトのリファレンス情報を格納するように構成された第二のメモリ格納部と、
前記クラスオブジェクトのバージョンを示すデータを格納するように構成された第三のメモリ格納部と
を有してなるオブジェクトエンティティ。
【請求項２】
前記クラスオブジェクトを構成している一または複数の他のモジュールクラスオブジェクトのリファレンス情報を格納するように構成された第四のメモリ格納部と、
前記一または複数の他のモジュールクラスオブジェクトのそれぞれに対応するバージョンを示すデータを格納するように構成された第五のメモリ格納部と
をさらに有してなる請求項１記載のオブジェクトエンティティ。
【請求項３】
前記プロセスエンティティがユニットを有しており、前記一または複数のプロセスエレメントのが、該ユニットの一または複数のサブエレメントを有している、請求項１記載のオブジェクトエンティティ。
【請求項４】
前記プロセスエンティティが装置エンティティを有しており、前記一または複数のプロセスエレメントが、該装置エンティティの一または複数のサブエレメントを有している請求項１記載のオブジェクトエンティティ。
【請求項５】
前記プロセスエンティティが制御エレメントを有しており、前記一または複数のプロセスエレメントが、前記プロセスプラント内における制御アクティビティの提供に利用されるように構成された包括的な制御ルーチンを有している請求項１記載のオブジェクトエンティティ。
【請求項６】
前記プロセスエンティティが表示エレメントを有しており、前記一または複数のプロセスエレメントが、前記プロセスプラント内における表示アクティビティをユーザに提供するために利用されるように構成された包括的な表示ルーチンを有している請求項１記載のオブジェクトエンティティ。
【請求項７】
プロセスプラントの構成に利用されるオブジェクトエンティティであって、
コンピュータ読み取り可能メモリと、
前記プロセスプラント内のプロセスエンティティを具体的に表現する、前記コンピュータ読み取り可能メモリに格納されているクラスオブジェクトとを備え、
該クラスオブジェクトが
前記プロセスプラントの運転中に、前記プロセスエンティティにより実行される一または複数の機能の表記情報を格納するように構成された第一のメモリ格納部と、
前記クラスオブジェクトのバージョンを示すデータを格納するように構成された第二のメモリ格納部と、
前記クラスオブジェクトを構成している一または複数のモジュールクラスオブジェクトのリファレンス情報を格納するように構成された第三のメモリ格納部と、
前記一または複数のモジュールクラスオブジェクトのそれぞれ対応するバージョンを示すデータを格納するように構成された第四のメモリ格納部と
を有してなるオブジェクトエンティティ。
【請求項８】
前記プロセスエンティティがユニットを有しており、前記一または複数のプロセスエレメントが一または複数の該ユニットのサブエレメントを有している請求項７記載のオブジェクトエンティティ。
【請求項９】
前記プロセスエンティティが装置エンティティを有しており、前記一または複数のプロセスエレメントが該装置エンティティの一または複数のサブエレメントを有している請求項７記載のオブジェクトエンティティ。
【請求項１０】
前記プロセスエンティティが制御エレメントを有しており、前記一または複数のプロセスエレメントが、前記プロセスプラント内における制御アクティビティの提供に利用されるように構成された包括的な制御ルーチンを有している請求項７記載のオブジェクトエンティティ。
【請求項１１】
前記プロセスエンティティが表示エレメントを有しており、前記一または複数のプロセスエレメントが、前記プロセスプラント内においてユーザに表示アクティビティを提供するために利用されるように構成された包括的な表示ルーチンを有している請求項７記載のオブジェクトエンティティ。
【請求項１２】
プロセスプラントの少なくとも一部の構成の変更を監視する方法であって、
前記プロセスプラント内のプロセスエンティティを包括的に表現可能なモジュールクラスオブジェクトの修正を検出することと、
前記プロセスプラント内のプロセスエンティティを各々が包括的に表現可能な前記モジュールクラスオブジェクトから作成された一または複数のモジュールオブジェクトを判定することと、
前記モジュールクラスオブジェクトの修正を前記一または複数のモジュールオブジェクトに伝送することと、
修正された前記モジュールクラスオブジェクトに対してバージョン識別子を生成することと、
修正済みの前記モジュールクラスオブジェクトの前記バージョン識別子を前記一または複数のモジュールオブジェクトの各々と関連付けすることと
を含んでいる方法。
【請求項１３】
前記一または複数のモジュールオブジェクトに対してそれぞれ対応するバージョン識別子を生成することと、
前記一または複数のモジュールオブジェクトの前記バージョン識別子を適切な前記一または複数のモジュールオブジェクトと関連付けすることと
をさらに有している請求項１２記載の方法。
【請求項１４】
前記モジュールクラスオブジェクトの修正を検出することは、修正済みの前記モジュールクラスオブジェクトがコンフィギュレーションデータベースに保存されたことを検出することを含んでいる請求項１２記載の方法。
【請求項１５】
前記モジュールクラスオブジェクトの修正を検出することは、修正済みの前記モジュールクラスオブジェクトがバージョン管理システムを通じてチェックインされたことを検出することを含んでいる請求項１２記載の方法。
【請求項１６】
修正済みの前記モジュールクラスオブジェクトの前記バージョン識別子を前記一または複数のモジュールオブジェクトの各々と関連付けすることは、修正済みの前記モジュールクラスオブジェクトの前記バージョン識別子を前記一または複数のモジュールオブジェクトの各々の一部として格納することを含んでいる請求項１２記載の方法。
【請求項１７】
修正済みの前記モジュールクラスオブジェクトの前記バージョン識別子を前記一または複数のモジュールオブジェクトの各々と関連付けすることは、修正済みの前記モジュールクラスオブジェクトの前記バージョン識別子に前記一または複数のモジュールオブジェクトの各々をリンクさせることを含んでいる請求項１２記載の方法。
【請求項１８】
プロセスプラントに関連する構成の変更を監視するコンフィギュレーション管理システムであって、
コンピュータ読み取り可能媒体と、
前記コンピュータ読み取り可能媒体と通信するプロセッサと、
前記プロセスプラント内のプロセスエンティティを包括的に表現可能なモジュールクラスオブジェクトを表す第一のデータと、前記モジュールクラスオブジェクトから作成された一または複数のプロセスプラントアイテムを表す第二のデータとを格納するデータベースと
前記モジュールクラスオブジェクトの修正を容易にし、前記モジュールクラスオブジェクトの修正を検出し、前記モジュールクラスオブジェクトから作成された前記一または複数のプロセスプラントアイテムを判定し、修正済みの前記モジュールクラスオブジェクトに基づいて前記一または複数のプロセスプラントアイテムを修正し、修正済みの前記モジュールクラスオブジェクトに対してバージョン識別子を生成し、修正済みの前記モジュールクラスオブジェクトの前記バージョン識別子を前記一または複数のプロセスプラントアイテムの各々と関連づけするために前記プロセッサにより実行されるように構成された、前記コンピュータ読み取り可能媒体に格納されているコンフィギュレーションルーチンおよびバージョン管理ルーチンと
を備えてなるコンフィギュレーション管理システム。
【請求項１９】
前記コンフィギュレーションルーチンおよび前記バージョン管理ルーチンが、前記一または複数のプロセスプラントアイテムに対してそれぞれに対応するバージョン識別子を生成し、
前記一または複数のプロセスプラントアイテムの前記バージョン識別子を適切な前記一または複数のプロセスプラントアイテムと関連づけるためにプロセッサにより実行されるように構成されている請求項１８記載のコンフィギュレーション管理システム。
【請求項２０】
前記コンフィギュレーションルーチンおよび前記バージョン管理ルーチンが、修正済みの前記モジュールクラスオブジェクトが前記データベースに保存されたことを検出することにより前記モジュールクラスオブジェクトの修正を検出すべく前記プロセッサにより実行されるように構成されている請求項１８記載のコンフィギュレーション管理システム。
【請求項２１】
前記コンフィギュレーションルーチンおよび前記バージョン管理ルーチンが、ユーザに前記モジュールクラスオブジェクトのチェックアウトを許可し、ユーザに前記モジュールクラスオブジェクトのチェックインを許可し、修正済みの前記モジュールクラスオブジェクトがチェックインされたことを検出することにより前記モジュールクラスオブジェクトの修正を検出するべく前記プロセッサにより実行されるように構成されている請求項１８記載のコンフィギュレーション管理システム。
【請求項２２】
前記コンフィギュレーションルーチンおよび前記バージョン管理ルーチンが、前記一または複数のモジュールオブジェクトの各々の一部として修正済みの前記モジュールクラスオブジェクトの前記バージョン識別子を格納すべく前記プロセッサにより実行されるように構成されている請求項１８記載のコンフィギュレーション管理システム。
【請求項２３】
前記コンフィギュレーションルーチンおよび前記バージョン管理ルーチンが、修正済みの前記モジュールクラスオブジェクトの前記バージョン識別子に前記一または複数のモジュールオブジェクトの各々をリンクさせるべく前記プロセッサにより実行されるように構成されている請求項１８記載のコンフィギュレーション管理システム。
【請求項２４】
プロセスプラントの少なくとも一部の構成の変更を監視する方法であって、
前記プロセスプラント内のプロセスエンティティを表現可能なプロセスプラントアイテムの修正を検出することと、
前記プロセスプラント内のプロセスエンティティを包括的に表現可能な、修正済みの前記プロセスプラントアイテムを構成している一または複数のモジュールクラスオブジェクトを判定することと、
前記一または複数のモジュールクラスオブジェクトの各々と関連付けされたバージョンデータを判定することと、
修正済みの前記プロセスプラントアイテムに対してバージョン識別子を生成することと、
修正済みの前記プロセスプラントアイテムと前記バージョン識別子を関連づけすることと、
前記一または複数のモジュールクラスオブジェクトの各々と関連づけされた前記バージョンデータを修正済みの前記プロセスプラントアイテムと関連づけすることと
を含んでいる方法。
【請求項２５】
前記プロセスプラントアイテムが、前記プロセスプラント内のプロセスエンティティを包括的に表現可能なモジュールオブジェクトを有している請求項２４記載の方法。
【請求項２６】
前記プロセスプラントアイテムが、前記プロセスプラント内のプロセスエンティティを具体的に表現可能なモジュールオブジェクトを有している請求項２４記載の方法。
【請求項２７】
前記一または複数のモジュールクラスオブジェクトの各々と関連づけされた前記バージョンデータを修正済みの前記プロセスプラントアイテムと関連づけすることが、前記一または複数のモジュールクラスオブジェクトの各々と関連づけされた前記バージョンデータを修正済みの前記プロセスプラントアイテムの一部として格納することを含んでいる請求項２４記載の方法。
【請求項２８】
前記一または複数のモジュールクラスオブジェクトの各々と関連づけされた前記バージョンデータを修正済みの前記プロセスプラントアイテムと関連付けすることが、前記一または複数のモジュールクラスオブジェクトの各々と関連づけされた前記バージョンデータに修正済みの前記プロセスプラントアイテムをリンクさせることを含んでいる請求項２４記載の方法。
【請求項２９】
前記プロセスプラントアイテムの修正を検出することが、修正済みの前記プロセスプラントアイテムを構成している前記一または複数のモジュールクラスオブジェクトの一または複数の修正を検出することを含んでいる請求項２４記載の方法。
【請求項３０】
前記プロセスプラントアイテムの修正を検出することが、修正済みの前記プロセスプラントアイテムを構成している前記一または複数のモジュールクラスオブジェクトに影響を及ぼさない前記プロセスプラントアイテムの修正を検出することを含んでいる請求項２４記載の方法。
【請求項３１】
前記プロセスプラントに関連する構成を追跡するコンフィギュレーション管理システムであって、
コンピュータ読み取り可能媒体と、
前記コンピュータ読み取り可能媒体と通信するプロセッサと、
前記プロセスプラント内のプロセスエンティティを表現可能なプロセスプラントアイテムを表している第一のデータと、前記プロセスプラント内のプロセスエンティティを包括的に表現可能な複数のモジュールクラスオブジェクトを表している第二のデータとを格納するデータベースと
前記プロセスプラントアイテムの修正を容易にすべく前記プロセッサにより実行されるように構成された、前記コンピュータ読み取り可能媒体に格納されているコンフィギュレーションルーチンと、
前記プロセスプラントアイテムの修正を検出し、修正済みの前記プロセスプラントアイテムを構成している一または複数のモジュールクラスオブジェクトの各々と関連づけされたバージョンデータを判定し、修正済みの前記プロセスプラントアイテムに対してバージョン識別子を生成し、該バージョン識別子を修正済みの前記プロセスプラントアイテムと関連づけし、修正済み前記プロセスプラントアイテムを構成している一または複数のモジュールクラスオブジェクトの各々と関連付けされた前記バージョンデータを修正済みの前記プロセスプラントアイテムと関連づけすべく前記プロセッサにより実行されるように構成された、前記コンピュータ読み取り可能媒体に格納されているバージョン管理ルーチンと
を備えているコンフィギュレーション管理システム。
【請求項３２】
格納されている前記バージョン管理ルーチンが、修正済みの前記プロセスプラントアイテムを構成している前記一または複数のモジュールクラスオブジェクトの一または複数の修正に起因する前記プロセスプラントアイテムの修正を検出すべく前記プロセッサにより実行されるように構成されている請求項３１記載のコンフィギュレーション管理システム。
【請求項３３】
格納されている前記バージョン管理ルーチンが、修正済みの前記プロセスプラントアイテムを構成している前記一または複数のモジュールクラスオブジェクトに影響を及ぼさない前記プロセスプラントアイテムの修正を検出すべく前記プロセッサにより実行されるように構成されている請求項３１記載のコンフィギュレーション管理システム。
【請求項３４】
前記プロセスプラントアイテムが、前記プロセスプラント内のプロセスエンティティを具体的に表現可能なモジュールオブジェクトを有している請求項３１記載のコンフィギュレーション管理システム。
【請求項３５】
前記プロセスプラントアイテムが、前記プロセスプラント内のプロセスエンティティを包括的に表現可能なモジュールオブジェクトを有している請求項３１記載のコンフィギュレーション管理システム。
【請求項３６】
前記プロセスプラントに関連する構成を追跡するコンフィギュレーション管理システムであって、
コンピュータ読み取り可能媒体と、
前記コンピュータ読み取り可能媒体と通信するプロセッサと、
前記プロセスプラント内のプロセスエンティティを表現可能なプロセスプラントアイテムを表している第一のデータと、前記プロセスプラント内のプロセスエンティティを包括的に表現可能な複数のモジュールクラスオブジェクトを表している第二のデータとを格納するデータベースと
前記プロセスプラントアイテムの修正を容易にすべく前記プロセッサにより実行されるように構成された、前記コンピュータ読み取り可能媒体に格納されているコンフィギュレーションルーチンと、
前記プロセスプラントアイテムの修正を検出し、修正済みの前記プロセスプラントアイテムを構成している一または複数のモジュールクラスオブジェクトの各々と関連づけされたバージョンデータを判定し、修正済みの前記プロセスプラントアイテムに対してバージョン識別子を生成し、該バージョン識別子を修正済みの前記プロセスプラントアイテムと関連づけし、修正済み前記プロセスプラントアイテムを構成している一または複数のモジュールクラスオブジェクトの各々と関連付けされた前記バージョンデータを修正済みの前記プロセスプラントアイテムと関連づけすべく前記プロセッサにより実行されるように構成された、前記コンピュータ読み取り可能媒体に格納されているバージョン管理ルーチンと
を備えているコンフィギュレーション管理システム。
【請求項３７】
格納されている前記バージョン管理ルーチンが、修正済みの前記プロセスプラントアイテムを構成している前記一または複数のモジュールクラスオブジェクトの一または複数の修正に起因する前記プロセスプラントアイテムの修正を検出すべく前記プロセッサにより実行されるように構成されている請求項３６記載のコンフィギュレーション管理システム。
【請求項３８】
格納されている前記バージョン管理ルーチンが、修正済みの前記プロセスプラントアイテムを構成している前記一または複数のモジュールクラスオブジェクトに影響を及ぼさない前記プロセスプラントアイテムの修正を検出すべく前記プロセッサにより実行されるように構成されている請求項３６記載のコンフィギュレーション管理システム。
【請求項３９】
前記プロセスプラントアイテムが、前記プロセスプラント内のプロセスエンティティを具体的に表現可能なモジュールオブジェクトを有している請求項３６記載のコンフィギュレーション管理システム。
【請求項４０】
前記プロセスプラントアイテムが、前記プロセスプラント内のプロセスエンティティを包括的に表現可能なモジュールオブジェクトを有している請求項３６記載のコンフィギュレーション管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的にプロセスプラントに関するものであり、より詳細にはプロセスプラントの構成に関連するバージョン管理に関するものである。
【背景技術】
【０００２】
本出願は、本明細書において参照することによりここで明示的にその全内容を援用する２００３年２月１８日出願の、表題が「プロセスコンフィギュレーションシステムのモジュールクラスオブジェクト」（MODULE CLASS OBJECTS IN A PROCESS PLANT CONFIGURATION SYSTEM）である米国特許出願番号第10/368,151号の一部継続出願である。
【０００３】
また、本出願は、本明細書において参照することによりここで明示的にその全内容を援用する本出願と同日に出願の、表題が「プロセスコンフィギュレーションシステムのオブジェクトに対するセキュリティ」（SECURITY FOR OBJECTS IN A PROCESS PLANT CONFIGURATION SYSTEM）である同時継続米国特許出願10/853,655号（弁護士事務所事件整理番号第06005/40122号）に関連するものである。
【０００４】
化学プロセス、石油プロセス、または他のプロセスにおいて利用される分散型プロセスプラントは、アナログバス、デジタルバス、またはアナログ／デジタルを組み合わせたバスを介して一または複数のフィールドデバイスに通信可能に接続された一または複数のプロセスコントローラを備えているのが一般的である。これらのフィールドデバイスは、たとえば、バルブ、バルブポジショナ、スイッチ、およびトランスミッタ（たとえば、温度センサ、圧力センサおよび流量センサ）などであってもよく、プロセス環境内に設置されて、バルブの開閉およびプロセスパラメータの測定の如きプロセス機能を実行する。また、周知のＦｉｅｌｄｂｕｓプロトコルに従うフィールドバスデバイスの如きスマートフィールドバスは、一般的にコントローラ内に実装されている制御計算機能、アラーム機能、および他の制御機能を実行する。また、プロセスコントローラもプラント環境内に設置されているのが一般的であり、フィールドデバイスにより作成されるプロセス測定値および／またはこれらのフィールドデバイスに関連する他の情報を表す信号を受信し、プロセス制御決定を行い、受信した情報に基づいて制御信号を生成し、たとえば、ＨＡＲＴフィールドデバイスおよびＦｉｅｌｄｂｕｓフィールドデバイスの如きフィールドデバイスにおいて実行される制御モジュールまたは制御ブロックと協調するさまざまな制御モジュールを実行する。コントローラ内の制御モジュールは、通信回線を介してこれらの制御信号をフィールドデバイスに送信してプロセスの動作を制御する。
【０００５】
フィールドデバイスおよびコントローラからの情報は、過酷なプラント環境から離れた制御室または他の場所に通常設置されるオペレータワークステーション、パーソナルコンピュータ、データヒストリアン、レポート作成装置、集中型データベースなどの如き一または複数の他のハードウェアデバイスによるデータハイウェイを介した利用が可能になっている。これらのハードウェアデバイスは、たとえば、プロセス制御ルーチンの設定変更、コントローラまたはフィールドデバイスの内の制御モジュールの動作修正、プロセスの現在状態の閲覧、フィールドデバイスおよびコントローラにより生成されるアラームの閲覧、作業員のトレーニングまたはプロセス制御ソフトウェアの試験の目的でプロセス動作のシミュレーション、コンフィギュレーションデータベースの維持・更新などの如きプロセス関連の機能を操作することをオペレータに可能にしうるアプリケーションを実行する。
【０００６】
一例としては、フィシャーローズマウント社により販売されているＤｅｌｔａＶ（登録商標）制御システムは、プロセスプラント内のさまざまな場所に設置されているさまざまなデバイス内に格納されこれらのデバイスにより実行される複数のアプリケーションを有している。一または複数のワークステーションに搭載されているコンフィギュレーションアプリケーションは、ユーザがプロセス制御モジュールを作成または変更し、これらの制御モジュールをデータハイウェイを介して専用の分散型コントローラにダウンロードすることを可能にする。通常、これらの制御モジュールは、通信可能に相互接続された機能ブロックからなっている。これらの機能ブロックは、制御スキーム内で入力情報に基づいて機能を実行し同一の制御スキーム内の他の機能ブロックに対して出力情報を伝送する、オブジェクト指向型プログラミングプロトコルにおけるオブジェクトである。また、このコンフィギュレーションアプリケーションにより、設計者が、データをオペレータに対して表示し設定値の如きプロセス制御ルーチン内の設定の変更をオペレータに可能にすべく閲覧アプリケーションにより用いられるユーザインターフェイスを、作成または変更することが可能となる。各専用コントローラおよび場合によってはフィールドデバイスは、実際のプロセス制御を実現すべく割り当てられダウンロードされる制御モジュールを実行するコントローラアプリケーションを格納・実行する。一または複数のオペレータワークステーション上で実行されうる閲覧アプリケーションは、データハイウェイを介してコントローラアプリケーションからのデータを受信し、ユーザインターフェイスを利用してこのデータをプロセスプラントの設計者、オペレータ、またはユーザに表示し、オペレータビュー、エンジニアビュー、テクニシャンビューなどの如き複数の異なるビューのうちのいずれかを提供しうる。データヒストリアンアプリケーションは、データハイウェイにより提供されるデータの一部または全部を収集・格納するデータヒストリアンデバイスに格納され、このデバイスにより実行されることが一般的であり、その一方、コンフィギュレーションコンフィギュレーションデータベースアプリケーションは、このデータハイウェイに接続されるさらなるコンピュータデバイスで実行され、現在時点のプロセス制御ルーチンの構成およびそれに関連するデータを格納しうる。あるいは、コンフィギュレーションデータベースが、コンフィギュレーションアプリケーションと同一のワークステーションに格納されてもよい。
【０００７】
ここでは、コンフィギュレーションアプリケーションは、機能ブロックテンプレートオブジェクトおよび場合によっては制御モジュールテンプレートオブジェクトの如きテンプレートオブジェクトライブラリを有しうる。これらのコンフィギュレーションアプリケーションは、プロセスプラントに対する制御戦略を構成すべく用いられる。これらのテンプレートオブジェクトは、すべてそれらに関連するデフォルトの特性、設定、および方法を有しており、エンジニアは、コンフィギュレーションアプリケーションを用いて、これらのテンプレートオブジェクトを選択し、実質的に、これら選択されたテンプレートオブジェクトをコンフィギュレーションスクリーンに移動することにより、制御モジュールを作成することができる。テンプレートオブジェクトを選択しコンフィギュレーションスクリーンに再配置させるプロセス間、エンジニアは、これらのオブジェクトの入力部と出力部を相互接続させ、パラメータ、名称、タグ、および他の特性を変更することにより、プロセスプラントにおいて特定の用途に用いる特定用途制御モジュールを作成する。一または複数のこのような制御モジュール作成をしたあと、エンジニアは、その制御モジュールをインスタンス化し、適切なコントローラおよびフィールドデバイスにダウンロードし、プロセスプラントの運転中に実行する。
【０００８】
そのあと、エンジニアは、通常、プロセスプラント内のオペレータ、メンテナンス作業員などに対する表示画面を、表示画面作成アプリケーション内で表示画面オブジェクトを選択・構築することにより作成する。通常、これらの表示画面は、システムレベルで、ワークステーションのうちの一または複数に実装され、プラント内の制御システムまたはデバイスの動作状態に関する、事前設定された表示画面をオペレータまたはメンテナンス作業員に提供する。通常、これらの表示画面は、プロセスプラント内のコントローラまたはデバイスにより発生されるアラームを受信・表示するアラーム表示画面、プロセスプラント内のコントローラおよび他のデバイスの動作状態を示す制御表示画面、プロセスプラント内のデバイスの機能状態を示すメンテナンス表示画面などの形態をとる。一般的に、これらの表示画面は、プロセスプラント内のプロセス制御モジュールまたはデバイスから受信した情報またはデータを公知の方法で表示すべく事前に設定されている。一部の既存のシステムでは、表示画面は、物理的または論理的なエレメントに関連する画像を有するとともに、その物理的または論理的なエレメントに関するデータを受信するためにその物理的または論理的なエレメントに通信可能に繋がれているオブジェクトを利用して作成される。このオブジェクトは、受信されたデータに基づいて、たとえばタンクが半分充填されていることを示すため、流量センサにより測定される流量を示すためなどの目的で表示スクリーン上の画像を変更してもよい。
【０００９】
制御コンフィギュレーションアプリケーションと同様に、表示画面作成アプリケーションは、タンク、バルブ、センサ、スライドバーのようなオペレータ制御ボタン、オン／オフスイッチなどの如き画像表示テンプレートアイテムを有しており、これらの画像表示テンプレートアイテムは、オペレータ表示画面、メンテナンス表示画面などを作成するために、いかなる所望の構成でスクリーン上に配置されてもよい。スクリーン上に配置されると、個々の画像アイテムは、異なるユーザに対してプロセスプラントの内部の仕組みに関するなんらかの情報または表示画面を提供するように、そのスクリーン上で相互接続されうる。しかしながら、画像表示画面をアニメ化するためには、表示画面の作成者は、画像アイテムの各々を、センサにより測定されるデータまたはバルブ位置を示すデータなどの如き、プロセスプラント内で生成されるデータに、その画像アイテムとプロセスプラント内のそれに対応するデータソースとの間に通信リンクを設定することによって、手動により結びつけなければならない。このプロセスは、単調であり、時間がかかり、エラーが発生する危険性を有している。
【００１０】
制御コンフィギュレーションアプリケーション内の制御テンプレートオブジェクトおよび表示画面作成アプリケーション内の表示アイテムは、数多くの異なる制御モジュールおよび画像表示画面を作成するためにコピーして使用されることが可能なので便利であるが、プロセスプラント内の異なる装置に対して同一の制御モジュールおよび画像表示画面を数多く作成することが必要な場合が多い。たとえば、数多くの中規模から大規模のプロセスプラントは、同一の基本的な汎用の制御モジュールおよび表示画面を用いて制御・閲覧可能な同一のまたは同等の装置の数多くのインスタンスを有している。しかしながら、これらの数多くの制御モジュールおよび表示画面の作成には、一つの汎用の制御モジュールまたは表示モジュールが作成され、次いで、この一つの汎用の制御モジュールまたは表示モジュールが、それが適用可能なさまざまな装置の各々毎にコピーされる。もちろん、コピーされたあと、新規の制御モジュールまたは表示モジュールは、帰属先の特定の装置を指定するためにコンフィギュレーションアプリケーションにおいて手動により変更されなければならず、そのあと、これらの制御モジュールおよび表示モジュールは、すべてインスタンス化されて、プロセスプラントへダウンロードされなければならない。
【００１１】
残念なことに、上述の制御モジュールおよび表示画面アイテムは、いかなる方法によっても、モジュール式組立品ではない。したがって、コピーされたあと、制御モジュールおよび表示画面は、対応付けされるプラント内の装置を指定するために、適切なコンフィギュレーションアプリケーションを用いて、手動によりおよび個別に変更されなければならない。同一のタイプの装置（すなわち、複製された装置）の数多くのコピーを有するプラントでは、このプロセスは、単調であり、時間がかかり、オペレータによりエラーが持ち込まれる危険性を有している。さらに、いったんプログラミングされると、これらの異なる制御モジュールおよび表示画面は相互に感知していない。したがって、いったん作成された制御モジュールに対して変更を加えるには、エンジニアまたはオペレータは、異なる複製の装置の異なる制御モジュールの各々に対して同一の変更を手動で加えなければならず、上述したように、時間がかかり、単調である。同一の問題が、プラント内の異なる組の複製された装置に対しても適応される。換言すれば、特定の制御モジュールまたは特定の画像ビューが（個別にまたはテンプレートオブジェクトからコピーされて）作成され、次いでプラント内の特定の一組の装置に結びつけられると、この制御モジュールまたは画像ビューは、同一のまたは同等のその他の制御モジュールまたは画像表示画面を自動的に感知することなく、システム内の個別のエンティティまたはオブジェクトとして存在する。したがって、特定のタイプの制御モジュールおよび画像表示画面のすべての一つに適応可能な変更は、それらのモジュールおよび表示画面に対して個々に行われなければならない。
【００１２】
さらに、それぞれの制御モジュールおよび表示画面が個別のオブジェクトであるので、変更、閲覧などの目的で、いかなるユーザであっても、その内部パラメータ、ビュー、機能ブロック、および他のエレメントすべてを利用することが可能であるようにしなければならないという意味において、それぞれの制御モジュールおよび表示画面はオープンでなければならない。現在時点では、これらの制御モジュールおよび表示画面に関する何を特定のオペレータまたは他のユーザが閲覧またはアクセスすることが可能であるのかを管理する方法が存在しない。したがって、これらの制御モジュールおよび表示画面の特定のエレメントのユーザに対して、メーカの独自仕様のソフトウェアおよび方法、アラームアクティビティなどの如き、これらの制御モジュールおよび表示画面の特定のエレメントを秘密にするような機能が存在していない。
【発明の開示】
【課題を解決するための手段】
【００１３】
バージョン管理システムは、プロセスプラント内のエンティティを表しうるまたは表現可能なプロセスプラントアイテムのバージョンのトラッキングを容易にする。このプロセスプラントアイテムは、たとえば、プロセスプラントのプロセスエンティティを明確に表すことが可能なモジュールオブジェクトなどから構成されうる。これらのモジュールオブジェクトは、プロセスプラントのプロセスエンティティを包括的に表すことが可能なモジュールクラスオブジェクトから作成されうる。バージョンデータが、格納され、モジュールオブジェクトと関連付けされる。かかるバージョンデータは、そのモジュールオブジェクトの作成に用いられたモジュールクラスオブジェクトのバージョンを示すデータを有しうる。または、かかるバージョンデータは、そのモジュールオブジェクトのバージョンを示すデータを有しうる。コンフィギュレーションシステム、バージョン管理システム、閲覧システム、ディバギングシステム、ランタイム監視システム、資産管理システムなどは、あるアイテムに関連するバージョン管理データを検査するかまたはそれを閲覧することを可能にする。
【発明を実施するための最良の形態】
【００１４】
ここで、図１を参照すると、プロセスプラント10は、イーサネット（登録商標）接続またはイーサネット（登録商標）バス15などを介して、複数のワークステーション14に接続されている一または複数のコントローラ12を備えている。これらのコントローラ12もまた、複数組の通信回線または通信バス18を介して、プロセスプラント10内のデバイスまたは装置と接続されているが、複数の組の通信回線18のうちのコントローラ12aに接続されている通信回線のみが図１に示されている。一例としてフィッシャーローズマウントシステムズ社から販売されているＤｅｌｔａＶ（登録商標）コントローラなどにより実現されうる上記コントローラ12は、プロセスプラント10全体に分散されているフィールドデバイスおよびフィールドデバイス内の機能ブロックの如き制御エレメントと通信し、一または複数のプロセス制御ルーチン19を実行し、プロセスプラント10の所望の運転を実行することが可能である。（たとえばパーソナルコンピュータでありうる）ワークステーション14は、コントローラ12により実行されるプロセス制御ルーチン19およびワークステーション14または他のコンピュータにより実行される表示ルーチンを設計し、かかるプロセス制御ルーチン19をコントローラ12にダウンロードするようにコントローラ12と通信するために、一または複数のコンフィギュレーションエンジニアにより用いられうる。さらに、ワークステーション14は、プロセスプラント10の運転中にプロセスプラント10またはそのエレメントに関する情報を受信・表示する表示ルーチンを実行しうる。
【００１５】
ワークステーション14の各々は、コンフィギュレーション設計アプリケーションおよび表示アプリケーションまたは閲覧アプリケーションの如きアプリケーションを格納するするとともにプロセスプラント10のコンフィギュレーションに関するコンフィギュレーションデータの如きデータを格納するメモリ20を備えている。また、ワークステーション14の各々は、プロセス制御ルーチンおよび他のルーチンを設計してこれらのプロセス制御ルーチンをコントローラ12にダウンロードすること、またはプロセスプラント10の運転中に情報を収集してユーザに対して表示することをコンフィギュレーションエンジニアに可能にするアプリケーションを実行するプロセッサ21を備えている。
【００１６】
さらに、コントローラ12の各々は、制御アプリケーションおよび通信アプリケーションを格納するメモリ22と、任意の公知の方法でそれらの制御アプリケーションおよび通信アプリケーションを実行するプロセッサ24とを備えている。一つのケースでは、コントローラ12の各々は、複数の異なる独立実行型の制御モジュールまたはプロセス制御ルーチン19を用いて制御戦略を実現するコントローラアプリケーションを格納・実行する。これらのプロセス制御ルーチン19の各々は、一般的に機能ブロックと呼ばれているものからなっていてもよい。ここで、各機能ブロックは、制御ルーチン全体の一部またはサブルーチンであり、プロセスプラント10内のプロセス制御ループを実行すべく、（リンクと呼ばれる通信施設を介して）他の機能ブロックとともに動作する。公知のように、オブジェクト指向型プログラミングプロトコルのオブジェクトでありうる機能ブロックは、通常、トランスミッタ、センサ、または他のプロセスパラメータ測定デバイスに関連する入力機能の如き入力機能、ＰＩＤ制御、ファジーロジック制御などを実行する制御ルーチンに関連する制御機能の如き制御機能、またはプロセスプラント10内のなんらかの物理的機能を実行するバルブの如きなんらかのデバイスの動作を制御する出力機能のうちの一つを実行する。もちろん、モデル予測コントローラ（ＭＰＣ）、オプチマイザなどの如きハイブリッドおよび他のタイプの複合機能ブロックも存在する。ＦｉｅｌｄｂｕｓプロトコルおよびＤｅｌｔａＶ（登録商標）システムプロトコルは、オブジェクト指向型プログラミングプロトコルに従って設計・実行される制御モジュールおよび制御機能ブロックを用いるが、これらの制御モジュールは、たとえばシーケンシャル機能ブロック、ラダーロジックなどを含むいかなる所望の制御プログラミングスキームを用いて設計されてもよく、機能ブロックまたはその他特定のプログラミング技術を用いて設計されることには限定されない。
【００１７】
ワークステーション14は、プロセス制御ルーチン19内の制御エレメントとこれらの制御エレメントがプロセスプラント10の制御を行うように構成される様態とを示す表示スクリーンを介して、コントローラ12内のプロセス制御ルーチン19の画像表示をユーザに対して提供しうる。図１のシステムでは、コンフィギュレーションデータベース25は、イーサネット（登録商標）バス15に接続され、コントローラ12およびワークステーション14により用いられるコンフィギュレーションデータを格納するとともに、将来の利用のためにプロセスプラント10において生成されるデータを収集・格納することによりデータヒストリアンとして機能する。
【００１８】
図１に示されているプロセスプラント10では、コントローラ12aは、本明細書においてＲｅａｃｔｏｒ＿０１、Ｒｅａｃｔｏｒ＿０２、およびＲｅａｃｔｏｒ＿０３と呼ばれる、（プラント10内の複製装置である）三組の同様に構成された反応装置にバス18を介して通信可能に接続されている。Ｒｅａｃｔｏｒ＿０１は、反応容器またはタンク100と、酸、アルカリ、および水を反応容器100に提供する流体流入管を制御するようにそれぞれ対応して接続される（装置エンティティである）三つの供給用バルブシステム101、102、103と、反応容器100から流出する流体を制御するように接続される流出用バルブシステム104とを備えている。レベルセンサ、温度センサ、圧力センサなどの如き任意のタイプのセンサでありうるセンサ105は、反応容器100の内部または近傍に配置されている。ここでの説明上、センサ105は、レベルセンサであると想定する。さらに、共有ヘッダバルブシステム110は、上記の反応装置の各々への流水量を制御する主制御装置を提供するために、給水管のうちの、上記反応装置Ｒｅａｃｔｏｒ＿０１、Ｒｅａｃｔｏｒ＿０２、およびＲｅａｃｔｏｒ＿０３の各々に対する上流側で接続されている。
【００１９】
同様に、Ｒｅａｃｔｏｒ＿０２は、反応容器200と、三つの供給用バルブシステム201、202、203と、流出用バルブシステム204と、レベルセンサ205とを備えており、Ｒｅａｃｔｏｒ＿０３は、反応容器300と、三つの供給用バルブシステム301、302、303と、流出用バルブシステム304と、レベルセンサ305とを備えている。図１の一例では、供給用バルブシステム101、201、301が酸を供給し、供給用バルブシステム102、202、302がアルカリを供給し、供給用バルブシステム103、203、303が共有ヘッダバルブシステム110とともに水を反応容器100に供給して、反応装置Ｒｅａｃｔｏｒ＿０１、Ｒｅａｃｔｏｒ＿０２、およびＲｅａｃｔｏｒ＿０３は塩を製造しうる。流出用バルブシステム104、204、304は、図１の右方向に向かうフローラインから製品を流出し、図１の下向に向かうフローラインから廃棄物または他の不必要な材料を排出すべく動作しうる。
【００２０】
コントローラ12は、反応装置ユニットに関する一または複数の動作を実行すべくバス18を介してバルブシステム101〜104、110、201〜204、301〜304と、センサ105、205、305とに通信可能に接続され、これらのエレメントの動作を制御する。かかる動作は、フェイズと一般的に呼ばれ、たとえば反応容器100、200、300を充填すること、反応容器100、200、300内の材料を加熱すること、反応容器100、200、300を空にすること、反応容器100、200、300を洗浄することなどが含まれる。
【００２１】
図１に示されているバルブ、センサ、および他の装置は、たとえばＦｉｅｌｄｂｕｓデバイス、４〜２０ｍａデバイス、ＨＡＲＴデバイスなどを含むいかなる所望の種類またはタイプの装置であってもよく、Ｆｉｅｌｄｂｕｓプロトコル、ＨＡＲＴプロトコル、４〜２０ｍａアナログプロトコルなどの如きいかなる公知のまたは所望の通信プロトコルに準拠するコントローラ12と通信してもよい。さらに、本明細書で説明する原理に従って、他のタイプのデバイスが、コントローラ12に接続されてもよいし、またコントローラ12により制御されてもよい。また、プロセスプラント10に関連する他のデバイスまたは領域を制御するために、プラント10内において、他の数のコントローラおよび他のタイプのコントローラが接続されてもよい。この追加されたコントローラの動作は、図１に示されているコントローラ12の動作と、いかなる所望の方法により協調させられてもよい。
【００２２】
一般的にいえば、図１のプロセスプラント10は、塩の如き製品の生産に必要とされる一連の異なる（通常フェイズと呼ばれる）ステップを実行するように反応装置ユニットのうちの一または複数（および他の装置）の動作を方向付けする高レベルの制御ルーチンであるバッチ実行ルーチンを、たとえばワークステーション14のうちの一つまたはコントローラ12aが実行するバッチプロセスを実現するために用いられる。異なるフェイズを実行するために、バッチ実行ルーチンは、実行されるステップ、これらのステップに関連する量および時間、ならびにこれらのステップの順序を明記するいわゆるレシピと呼ばれているものを用いる。一つのレシピには、たとえば、反応容器を適切な材料または原料で充填すること、反応容器内の材料を混合すること、反応容器内の材料を特定の時間、特定の温度で加熱すること、反応容器を空にすること、および次のバッチランの準備として反応容器を洗浄することが含まれうる。これらのステップの各々はバッチランのフェイズを規定しており、コントローラ12内のバッチ実行ルーチンはこれらのフェイズの各々に対して異なる制御アルゴリズムを実行する。もちろん、特定材料、材料の量、加熱温度、時間などは個々のレシピに応じて異なりうるので、これらのパラメータは、製造または生産される製品および用いられるレシピに応じて、バッチ毎に変わる。当業者にとって明らかなように、本明細書では、図１に示された反応装置内におけるバッチランのための制御ルーチンおよび構成が記載されているが、他の所望のデバイスを制御して、その他の所望のバッチプロセスを実行するために、または、所望ならば、連続プロセスランを実行するために、制御ルーチンが用いられてもよい。
【００２３】
また、いうまでもなく、バッチプロセスの同一のフェイズまたはステップが、同一のまたは異なる時間に、図１の別々の反応装置ユニットに対して実行されてもよい。さらに、図１の反応装置ユニットは、同一の数の同一のタイプの装置を一般的に備えているので、特定のフェイズに対する同一の包括的フェイズ制御ルーチンを、別々の反応装置ユニットの制御に用いてもよい。ただし、これらの異なる反応装置ユニットに関連する異なるハードウェアまたは装置を制御するためにこの包括的フェイズ制御ルーチンを修正する必要がある。たとえば、（反応装置ユニットが充填される、）Ｒｅａｃｔｏｒ＿０１に対する充填フェイズを実行するために、充填制御ルーチンは、たとえば容器100が満タンであることをレベルメータ105が感知する特定の時間、供給用バルブシステム101、102、103に関連する一または複数のバルブを開ける。しかしながら、この供給用バルブの指定を、バルブシステム101、102、103に代わりにバルブシステム201、202、203に関連する供給用バルブに変更し、レベルメータの指定を、レベルメータ105に代わりにレベルメータ205に変更するのみで、上記の同一の制御ルーチンがＲｅａｃｔｏｒ＿０２に対する充填フェイズの実行に用いられうる。
【００２４】
図２は、図１の反応装置のうちの一つ、とくにＲｅａｃｔｏｒ＿０１を詳細に示している。図１に同様に示されているように、図２のＲｅａｃｔｏｒ＿０１は、反応タンク100と、酸、アルカリ、および水をタンク100に供給する供給用バルブシステム101、102、103、110と、材料をタンク100から取り除く流出用バルブシステム104と、レベルセンサ105とを備えている。図２にさらに示されているように、供給用バルブシステム101、102、103の各々はトータライザと呼ばれる同種の装置を用いており、このトータライザは、相互に平行に配置された二つのバルブと、これらの二つのバルブの下流に配置された流量測定デバイスとを備えている。図３にさらに詳細に示される供給用バルブシステム101のトータライザは、粗調整バルブと呼ばれるオン／オフ型バルブ101aと、微調整バルブと呼ばれるオン／オフ型バルブ101bと、これらのバルブ101a、101bの下流に配置された流量計101cとを備えている。トータライザ101は、それに関連する一または複数の制御モジュールまたは制御ルーチンを有しており、これらの制御モジュールまたは制御ルーチンは、流量メータ101cにより測定された測定結果を用いて酸の供給量を制御すべく用いられる。第一の制御ルーチンは、粗調整バルブ101aおよび微調整バルブ101bを用いるトータライザ101を介して、高速の流量制御を行いうるし、第二の制御ルーチンは、粗調整バルブ101aおよび微調整バルブ101bを用いるトータライザ101を介して、高精度の流量制御を行いうる。
【００２５】
図２から明らかなように、アルカリ供給用バルブシステム102は、粗調整バルブ102aと、微調整バルブ102bと、流量メータ102cとを有するトータライザを備えており、共有ヘッダバルブシステム110は、粗調整バルブ110aと、微調整バルブ110bと、流量メータ110cとを備えている。トータライザ101、102、110の各々は、同一のユニット、すなわちＲｅａｃｔｏｒ＿０１の異なる場所で用いられるが、その内部には同一のタイプの複製装置を有している。同様に、Ｒｅａｃｔｏｒ＿０２およびＲｅａｃｔｏｒ＿０３もまた、供給用バルブシステム201、202、301、302においてトータライザを備えている。
【００２６】
同様に、流出用バルブシステム104は、三つのバルブを備える他の複製装置である。図４に最もよく示されているように、流出用バルブシステム104は、タンク100からの材料の放出のために開かれなければならない主流出用バルブ104aと、タンク100からの製品の搬送のために主流出用バルブ104aとともに開かれなければならない製品用バルブ104bと、タンク100から廃液システムまたは保存システムに廃棄製品、洗浄液などの如き材料を排出するために主流出用バルブ104aとともに開かれなければならない排液用バルブ104cを備えている。もちろん、タンク100を閉める目的、タンク100を空にする目的、またはタンク100からの製品を排出する目的でバルブ104a、104b、および104cの状態を制御するために、一または複数の制御ルーチンが流出用バルブシステム104に関連付けされてもよい。
【００２７】
従来、図１の反応装置Ｒｅａｃｔｏｒ＿０１、Ｒｅａｃｔｏｒ＿０２、Ｒｅａｃｔｏｒ＿０３と関連するさまざまな装置を制御する制御ルーチンを作成するために、コンフィギュレーションエンジニアは、まず、実質的に包括的である、たとえばワークステーション14のうちの一つに格納される複数の制御モジュールテンプレートを作成していた。制御モジュールテンプレートを作成するために、エンジニアは、画像を用いて異なる制御機能ブロックを相互に接続することにより、反応装置により実行される、さまざまなエレメントまたはループの制御ルーチンを提供していた。通常バルブまたは制御ループに基づいて包括的制御モジュールテンプレートがいったん作成されると、これらの制御モジュールテンプレートがコピーされていた。制御モジュールテンプレートのコピーは、プラント10内の特定の装置、たとえば反応装置Ｒｅａｃｔｏｒ＿０１、Ｒｅａｃｔｏｒ＿０２、Ｒｅａｃｔｏｒ＿０３内の特定の装置に手動により結びつけられることが可能であった。米国特許第6,385,496に記載されているように、いったん直接にまたは別名を用いて結びつけられると、制御モジュールテンプレートの結びつけられたコピーは、一または複数のコントローラ12にダウンロードされ、それらのコピーが結びつけられている反応装置に対してプロセス制御アクティビティを実行すべく用いられていた。しかしながら、制御モジュールテンプレートから作成された、結びつけられている制御モジュールは、プロセスプラントにおいて用いられる場合、それを構成している制御モジュールテンプレートのリファレンス情報またはそれとの関係を有しておらず、事実上は、スタンドアロン制御モジュールまたはスタンドアロン制御オブジェクトであった。
【００２８】
また、これらのシステムでは、コンフィギュレーションは、制御モジュールレベルで行わなければならなかった。すなわち、プロセスプラント内のさまざまな装置またはループの各々に対して別々の制御モジュールを作成しなければならなかった。制御モジュールレベルでは、プロセスプラント内のプロセスエンティティの各々に対して作成されそれに結びつけられなければならない異なるタイプの制御モジュールが一般的に数多く存在する。したがって、コンフィギュレーションエンジニアは、多くの時間を、個々の制御モジュールをコピーしてプラント内の個々の装置に結びつけるのみに費やしていた。たとえば、コンフィギュレーションエンジニアは、プラント内の一つの反応装置ユニットために何ダースもの制御モジュールを作成しコピーし、これらの制御モジュールの各々をその反応装置ユニット内の特定の装置に結びつけなければならないことがあった。この反応装置ユニットがプラント内で複製されたときは、そのコンフィギュレーションエンジニアが、複製された装置の各々の何ダースもの制御モジュールに対し上記のコピー作業および結びつけ作業を実行しなければならなかったので、そのコンフィギュレーションエンジニアの作業はさらに単調になって、時間のかかる、人的エラーの発生を伴うものとなった。
【００２９】
従来、コンフィギュレーションエンジニアは、ユニットモジュールを作成することができたが、これらのユニットモジュールは、ユニット上で実行されうるフェイズ用の収容部に過ぎず、そのユニットまたはそのユニット内の装置の基本動作を制御すべく用いられる制御スキームに関連する装置リファレンス情報を有していなかった。また、異なる装置の制御に用いられる制御エレメントに対してテンプレートを作成することができたが、装置エンティティおよびユニットエンティティの如き、プラント内の高レベルの複製エンティティを参照すべく用いられうるパッケージ化された制御モジュールがなかった。換言すれば、プロセスプラント10内のさまざまな複製エンティティに対して制御ルーチンを作成するために、コンフィギュレーションエンジニアは、低レベルの制御における装置の複製の各々に対して制御モジュールをコピーし、これらの制御モジュールの各々を、プロセスプラント10内の特定のまたは指定の装置または他のエンティティに応じて調整しなければならなかった。複数の複製装置を備えた大規模のプラントでは、このような作業は、時間がかかるとともに構成エラーを伴いうるものであった。さらに、複製装置に関連する制御モジュールに対する変更は、異なる装置の異なる制御モジュールに対して手作業により加えなければならなかったので、単調な、時間のかかる、オペレータによるエラーの発生をともなうものであった。同様に、オペレータ用の表示画面は、制御モジュールとは別に作成しなければならず、制御モジュールの場合と同様に、表示画面は、個別に作成され、一部変更され、プロセスプラント内の装置に結びつけられねばならなかった。
【００３０】
プロセスコンフィギュレーションの作成および変更を容易でかつ時間の余りかからないものにするために、図１のワークステーション14のうちの一つに格納されるコンフィギュレーションアプリケーションは、プロセスプラント10の構成に用いられる一組のモジュールクラスオブジェクトを有している。これらのモジュールクラスオブジェクトは、複数の組の複製装置を用いてプラントを構成する場合にとくに有効である。一般的にいえば、異なるモジュールクラスオブジェクト52は、プロセスプラント10内で複製または利用される異なるタイプの物理的なユニットまたは装置の各々、プロセスプラント10内で複製または利用される制御アクティビティの各タイプ、プロセスプラント10内で複製または利用される異なるタイプの表示アプリケーションの各々などに対して作成されうる。いったん作成されると、モジュールクラスオブジェクト52は、そのモジュールクラスオブジェクトに対応する、プロセスプラント10内のエレメントを構成すべく用いられうる。
【００３１】
プロセスエンティティの実質的に包括的バージョンであるとともに特定のエンティティに結びつけられていないモジュールクラスオブジェクトは、それらに関連する低レベルオブジェクトまたはインスタンス53、54、55、56（以下モジュールオブジェクトまたはモジュールブロックと呼ぶ）を有しうる。各モジュールオブジェクトは、モジュールクラスオブジェクトから作成され、これを構成しているモジュールクラスオブジェクトと同一の構造および性質を引き継いでいる。しかしながら、各モジュールオブジェクトは、プロセスプラント10内の特定のエンティティに結びつけられている。したがって、単一のモジュールクラスオブジェクト52が特定のタイプの反応装置ユニットを（プラント10内に存在するそのような反応装置ユニットの数に関係なく）表現すべく作成されうるし、その一方で、異なるモジュールオブジェクト53がプラント10内に実際に存在するそのタイプの異なる反応装置ユニットの各々に対して存在しうるしまたは作成されうる。
【００３２】
モジュールクラスオブジェクトから作成されるモジュールオブジェクトは、そのモジュールクラスオブジェクトに関連付けされ、それにより保有される。したがって、そのモジュールクラスオブジェクトに対して加えられた変更は、そのモジュールクラスオブジェクトに関連付けされているモジュールオブジェクトの各々に自動的に反映されるかまたは伝達される。したがって、複数のモジュールオブジェクトが一つの特定のモジュールクラスオブジェクトから作成されており、これらの異なるモジュールオブジェクトの各々が異なるプロセスエンティティに結びつけられているような場合には、そのモジュールクラスオブジェクトを変更して、その変更を、関連づけされているモジュールオブジェクトに自動的に伝達させるだけで、上記の異なるモジュールオブジェクトに対して変更を加えることが可能である。
【００３３】
同様に、いったんモジュールクラスオブジェクトからモジュールオブジェクトが作成されると、これらのモジュールオブジェクトを、バルク編集手法を用いて、プロセスプラント10内の特定の装置に結びつけうる。具体的にいえば、特定のモジュールクラスオブジェクトのモジュールオブジェクトがすべて同一のモジュールクラスオブジェクトに結合または保有されているので、たとえば表計算タイプのアプリケーションを用いてこれらのモジュールオブジェクトをすべて一緒に設定することが可能となり、このことにより、モジュールオブジェクトとこれらのモジュールオブジェクトに関連づけされているプラント10内の特定の装置との間に特定の関係を指定することがより容易なものとなるとともにさらに時間のかからないものとなる。
【００３４】
図１のモジュールクラスオブジェクト52は、いわゆるオブジェクト指向型のプログラミング環境またはプログラミング言語のオブジェクトでありうる。したがって、これらのオブジェクトは他のオブジェクトを保有するまたは参照することができる。一般的にいえば、モジュールクラスオブジェクト52は、高級オブジェクトであり、これらの高級オブジェクトは、プロセスエンティティに関連する制御ルーチン、装置、または他のエレメントの如き個々のエレメントの表示情報または定義情報に加えて、物理エレメントが相互接続される様式または論理エレメントが物理エレメントとともに動作する様式の如き上記の個々のエレメントが相互に動作する様式の定義情報または表示情報を有している。換言すれば、モジュールクラスオブジェクトは、プロセスプラント10内の特定の装置または特定のグループの装置、制御エレメント、表示画面などを制御・閲覧する基盤を提供する、たとえばオブジェクト指向型プログラミング言語のオブジェクトでありうるし、プロセスプラント10内の異なる複製装置を構成に用いるべく、そのエレメントのインスタンスを多く作成するのに有用でありうる。
【００３５】
基本的に、各モジュールクラスオブジェクトはコンフィギュレーションコンテナであり、このコンフィギュレーションコンテナは、プロセスエンティティに対する包括的な定義を、そのエンティティを制御するためにコントローラ12により用いられるべく、またはそのエンティティに関する表示アクティビティを実行するためにワークステーション14により用いられるべくそのエンティティに適応可能なさまざまな制御および／または表示のためのアプリケーションまたはルーチンの形態で有している。このモジュールクラスオブジェクトは、ユニット、装置、制御エンティティ表示アプリケーションなどの如き任意の種類のプロセスエンティティを表現しうる。プロセスプラント10のコンフィギュレーション中、モジュールクラスオブジェクトは、そのモジュールクラスオブジェクトにより定められた定義に準拠する任意の数の異なるプロセスエンティティに対し、そのプロセスエンティティのコンフィギュレーションインスタンスを作成すべく用いられうる。各コンフィギュレーションインスタンス（モジュールクラスオブジェクトから作成されたモジュールオブジェクト）は、異なる実際のプロセスエンティティと関連づけられるかまたは結びづけられている。これらの異なるモジュールオブジェクトには、とりわけ、プロセスプラント10内に配置される特定のプロセスエンティティに結びつけられる制御ルーチンおよび／または表示ルーチンが含まれ、制御ルーチンは、プロセスエンティティに対して実際の制御アクティティビティを実行すべく図１のコントローラ12内にダウンロードされ用いられることが可能であり、表示ルーチンは、プロセスプラント10の運転中に、エンティティに関する実際の表示アクティビティを実行すべくワークステーション14へダウンロードされることが可能である。
【００３６】
異なるタイプのモジュールクラスオブジェクトは、異なる適用範囲を有するプロセスエンティティを反映しうるので、異なる適用範囲を有するプロセスエンティティによりまたはそれに対して動作するように構成された制御ルーチンおよび／または表示ルーチンを含んでいる。ユニットの如きプロセスエンティティの適用範囲が大きければ大きいほど、より多くの制御ルーチンおよび／または表示ルーチンが通常そのモジュールクラスオブジェクトに関連づけされ、これらのモジュールクラスオブジェクトを用いてプラントの領域を構成することがより容易となる。しかしながら、モジュールクラスオブジェクトに関連づけされるプロセスエンティティの適用範囲が大きければ大きいほど、そのプロセスが、その適用範囲内において複製装置を含む可能性がより小さなものとなり、大規模な場合においてそのモジュールクラスオブジェクトが有用である可能性が小さくなる。これに対し、モジュールクラスオブジェクトに関連づけされるプロセスエンティティの適用範囲が小さければ小さいほど、そのモジュールクラスオブジェクトをプラントのさまざまな異なるロケーションにおいて使用可能である可能性が大きくなるが、どのような特定の場合であってもこのモジュールクラスオブジェクトを用いるときに実行されるコンフィギュレーションの量が小さくなる。いずれの場合であっても、モジュールクラスオブジェクトは、制御モジュールレベルにおけるよりも高度の抽象化レベルで異なる複製装置に対してコンフィギュレーションを実行することを可能とし、このことにより、複製装置ユニットおよび他の装置を備えるプロセスプラントを構成することが、モジュールクラスオブジェクト、とくにユニットレベルのように広い適用範囲を有するモジュールクラスオブジェクトを用いる場合により容易なものとなるとともにさらに時間のかからないものとなる。
【００３７】
一つの実施例では、プロセスプラントを構成する場合、コンフィギュレーションエンジニアは、図１の異なる反応装置に対するように、プロセスプラント内の複製されている異なるエレメントに対して単一のモジュールクラスオブジェクトを作成しうる。そのあと、コンフィギュレーションエンジニアは、図１の実際の反応装置の各々に対して上記のモジュールクラスオブジェクトのインスタンス（モジュールオブジェクト）を作成しうる。このように作成されたモジュールオブジェクトの各々は、図１の反応装置のうちの一つを動作させるべくコントローラ12aにより用いられる制御ルーチンを有しうるし、とくに図１の反応装置のうちの一つ内の装置と、結合させられるかまたは結び付けられる。次いで、これらの制御ルーチンは、コントローラ12へダウンロードされ、プロセスプラント10の運転中に用いられることが可能である。しかしながら、モジュールオブジェクトの各々は、いったん作成されたあとでも、モジュールクラスオブジェクトに依然として結びつけられており、そのモジュールオブジェクトを変更するために、そのモジュールオブジェクトへのアクセスを提供または拒絶するために、制御されることが可能である。同様に、同一のモジュールクラスオブジェクトからのモジュールオブジェクトは、それらを、一緒に作成・定義されること、たとえば表計算プログラムを用いてプラント内の装置に結びつけられることが可能である。
【００３８】
プロセスプラント内でコンフィギュレーションアクティビティを実行すべくプロセスプラント内で作成・使用されうるモジュールクラスオブジェクトの可能なタイプには他にも多くあるが、一例として本明細書に記載される四つの特定のタイプには、ユニットモジュールクラスオブジェクト、装置モジュールクラスオブジェクト、制御モジュールクラスオブジェクト、および表示モジュールクラスオブジェクトが含まれる。一般的にいえば、各異なるタイプのモジュールクラスオブジェクトは、プロセスプラント10内での異なる制御範囲または使用範囲に対して構成されたものまたは異なる制御範囲または使用範囲を意図した物である。ユニットモジュールクラスオブジェクトは、プロセスプラント内の広範囲の装置に対する制御アクティビティを表現（または構成）すべく用いられることを意図したものである。具体的にいえば、ユニットモジュールクラスオブジェクトは、たとえばなんらかの公知の方法で相互に協力して動作する個々のエレメントを備える図１の反応装置の如き相互に関連する一組の装置（通常、複製装置）のモデル化をまたは構成に利用されることを意図したものである。
【００３９】
装置モジュールクラスオブジェクトは、プロセスプラント内の上記よりも狭い範囲の物理装置に対する制御アクティビティの表現（および構成）に用いられることを意図したものである。装置モジュールクラスオブジェクトに関連する装置は、通常、ユニットのサブシステムを構成するバルブ、流量計などの如き一または複数の物理エンティティであり、この装置モジュールクラスオブジェクトは、上記のような装置に実行される、コマンド駆動型アルゴリズム（ＣＤＡ）、シーケンシャルフローチャート（ＳＦＣ）アルゴリズム、機能ブロックダイアグラム（ＦＢＤ）アルゴリズム、フェイズアルゴリズムなどでありうる一または複数のコマンドまたはアルゴリズムを有しうる。このように、装置モジュールクラスオブジェクトは、ユニット内の複数の低レベルのコンポーネントまたはエンティティの制御を設定することにより、そのユニット内において上記のような装置が用いられた場合にその装置の一組の基本的な機能を実施可能にすることを目的としている。公知のように、コマンド駆動型アルゴリズム（コマンド駆動型制御論理）は、ある機能を達成するために、複数のステップを通して、低レベルコンポーネントを協調させなければならない場合に用いられる。たとえば、あるバルブは、特定の時間の間開放され、次いで、他のバルブが開放されてから閉鎖されるまでの間、閉鎖されなければならない場合がある。図３のトータライザ101は、当該トータライザを通じて所望の全流量を供給すべく流量メータの読み取り値に基づいて粗調整用バルブおよび微調整バルブをまず作動させ操作するためにこのタイプのコマンド駆動型アルゴリズムを用いる。状態駆動型（状態駆動型制御ロジック）は、単一ステップで操作されうる異なる低レベルコンポーネントの状態を指定しうる。このような状態駆動型アルゴリズムは図４の流出用バルブシステム104に用いられうる。ここでは、その内部の個々のバルブの状態が、タンク100を閉鎖するため、タンク100を空にするため、またはタンク100から製品を搬送するために、流出用バルブシステム104の所望の状態に基づいて別々に（しかし単一ステップで）制御される。
【００４０】
制御モジュールクラスオブジェクトは、プロセスプラント内の個々の制御エレメントまたは制御モジュールを表現（および構成）するために用いられることを意図している。制御モジュールクラスオブジェクトは、バルブ、計器などの如きプラントエンティティ、装置、またはユニットに対して実行される特定のタイプの制御を提供または指定する。一般的にいえば、制御モジュールクラスオブジェクトは、プロセスプラント内の複製の制御アクティビティの実行に役立つ、コントローラにより実行されるなんらかの制御モジュールを規定する一組の通信可能に相互に接続される機能ブロックの如き特定のタイプの制御プログラミングを供する。ほとんどの場合、制御モジュールクラスオブジェクトは、単一のデバイスまたは一組の関連するデバイスを操作すべく包括的制御戦略を供する。
【００４１】
表示モジュールクラスオブジェクトは、プロセスプラント10の運転中に制御オペレータの如きユーザにより閲覧される表示アクティビティを表現（および構成）すべく用いられることを意図したものである。したがって、表示モジュールクラスオブジェクトは、図１のオペレータワークステーション14内に特定のタイプの表示画面を生成するために必要なプログラミングと、プラント10の運転中にこのプラントからの適切な情報を取得することをその表示画面に可能にすべくワークステーション14のうちの一または複数（ならびにプロセスプラント10内のその他のデバイス）により実行される必要があるプログラミングを指定しうる。表示クラスモジュールのタイプには、たとえばアラーム表示画面、コンフィギュレーション閲覧表示画面、オペレーション閲覧表示画面、診断表示画面などが含まれる。もちろん、表示モジュールクラスオブジェクトは、プロセスプラント内のいかなる所望の適応範囲を有する物理エレメントまたは物理エンティティを表すまたはそれに結びつけられる表示画面を供してもよい。たとえば、表示モジュールクラスオブジェクトは、プロセスプラント10内の全領域、ユニット、装置、制御エレメント、またはこれらのエレメントを組み合わせた物に関する情報を表示してもよい。
【００４２】
図５を参照すると、階層構造グラフが図１のコンフィギュレーションアプリケーション50に用いられるさまざまなタイプのモジュールクラスオブジェクト間の相互接続とともに、モジュールクラスオブジェクトとこれらのモジュールクラスオブジェクトから作成されたモジュールオブジェクトとの間の相互関係を示している。図５のグラフの上側から始めると、モジュールクラスオブジェクトは、モジュールクラスタイプにより、ユニットモジュールクラスタイプ400、装置モジュールクラスタイプ402、制御モジュールクラスタイプ404、および表示モジュールクラスタイプ406のうちの一つへ分けられている。もちろん、他のタイプのモジュールクラスオブジェクトが提供または使用されてもよい。本明細書で示されているこれらの四つのタイプは、モジュールクラスタイプの一例に過ぎない。（たとえばオブジェクト指向型プログラミング言語の高レベルオブジェクトでありうるとともに、分かりやすいように二重線を用いて図５に示されている）個々のモジュールクラスオブジェクトは、異なるタイプのモジュールクラス400、402、404、406の各々に該当する。具体的にいえば、プロセスプラント10の異なるユニットまたは異なるタイプのユニットに対して複数の異なるユニットモジュールクラスオブジェクトが存在しうる。たとえば、反応装置ユニットクラスモジュールオブジェクト410は、プロセスプラント10内の反応装置の特定のタイプまたはコンフィギュレーションを表しうる。同様に、パッケージャユニットモジュールクラスオブジェクト412は、プロセスプラント10内のパッケージングユニットの特定のタイプまたはコンフィギュレーションを表しうるし、ドライヤーユニットクラスモジュールオブジェクト414は、プロセスプラント10内のドライヤーユニットの特定のタイプまたはコンフィギュレーションを表しうる。もちろん、物理的構造において相互に異なる反応装置を表すべく一を超える反応装置ユニットモジュールクラスオブジェクトが存在してもよい。さらに、あるユニットモジュールクラスオブジェクトを用いて表されうるまたはモデル化されうるプラント内の異なるタイプのユニットをすべて記載するつもりはないが、当業者にとって明らかなように、異なるタイプのプラントには、ユニットモジュールクラスオブジェクトを用いてモデル化されうるまたは表されうる異なるタイプのユニットが数多くある。
【００４３】
同様に、プロセスプラント10内の異なるタイプの装置を表し、モデル化し、構成するために用いられる装置モジュールクラスオブジェクトには異なものが数多くある。図５に示されている一例としては、トータライザ装置モジュールクラスオブジェクト416および流出用バルブ装置モジュールクラスオブジェクト418が含まれており、その各々が、プロセスプラント10内の異なるタイプの装置（および好ましくは複製装置）に関連付けされている。同様に、オン／オフバルブ制御モジュールクラスオブジェクト422、レベルセンサ制御モジュールクラスオブジェクト424、および流量メータ制御モジュールクラスオブジェクト426として図５に示されている異なるタイプの制御モジュールクラスオブジェクトが数多くある。さらに、表示モジュールクラスオブジェクトは、アラーム表示モジュールクラスオブジェクト432、閲覧表示モジュールクラスオブジェクト434、および診断表示モジュールクラスオブジェクト436として図５に示されている。もちろん、本明細書記載の原理に従って、その他の所望のユニットモジュールクラスオブジェクト、装置モジュールクラスオブジェクト、制御モジュールクラスオブジェクト、および表示モジュールクラスオブジェクトがプロセスプラント10のコンフィギュレーション内で作成・使用されてもよい。
【００４４】
各モジュールクラスオブジェクトは、それに関連するまたはそれにより保有されるサブオブジェクトを有しうる。これらのサブオブジェクトは、それ自体でモジュールクラスオブジェクトであってもよいし、または図５に示されているように、それらが属するモジュールクラスオブジェクトのインスタンスとして作成されたモジュールオブジェクトであってもよい。図５は、反応装置ユニットモジュールクラスオブジェクト410がそれに関連するＲｅａｃｔｏｒ＿０１、Ｒｅａｃｔｏｒ＿０２，およびＲｅａｃｔｏｒ＿０３と呼ばれる三つの反応装置モジュールオブジェクトを有しており、これらの反応装置モジュールオブジェクトが図１のそれぞれ対応する反応装置に対応づけされている（すなわち、結びつけられている）ことを示している。また、図５は、トータライザ装置モジュールクラスオブジェクト416が、Ｗａｔｅｒ１、Ａｃｉｄ１，Ａｃｉｄ２、Ａｌｋａｌｉ１、およびＡｌｋａｌｉ２と呼ばれる五つの異なるモジュールオブジェクトを有するまたは保有しているものとして示している。どうように、オン／オフバルブ制御モジュールクラスオブジェクト422は、Ｃｏａｒｓｅ＿Ｖａｌｖｅ１、Ｃｏａｒｓｅ＿Ｖａｌｖｅ２，Ｃｏａｒｓｅ＿Ｖａｌｖｅ３，Ｆｉｎｅ＿Ｖａｌｖｅ１、Ｆｉｎｅ＿Ｖａｌｖｅ２，およびＦｉｎｅ＿Ｖａｌｖｅ３と呼ばれるモジュールオブジェクト有しているものとして示されている。同様に、図５のその他のユニットモジュールクラスオブジェクト、装置モジュールクラスオブジェクト、制御モジュールクラスオブジェクト、および表示モジュールクラスオブジェクトは、それらに関連する一または複数のモジュールオブジェクトを有しうる。しかしながら、分かりやすいように、これらのモジュールオブジェクトは、図５には示されていない。
【００４５】
図５では、Ｒｅａｃｔｏｒ＿０１ユニットモジュールオブジェクト、Ｒｅａｃｔｏｒ＿０２ユニットモジュールオブジェクト、Ｒｅａｃｔｏｒ＿０３ユニットモジュールオブジェクト、Ａｃｉｄ１（装置）モジュールオブジェクト、Ａｃｉｄ２（装置）モジュールオブジェクト、Ａｃｉｄ３（装置）モジュールオブジェクト、Ｃｏａｒｓｅ＿Ｖａｌｖｅ１制御モジュールオブジェクト、Ｃｏａｒｓｅ＿Ｖａｌｖｅ２制御モジュールオブジェクト、Ｃｏａｒｓｅ＿Ｖａｌｖｅ３制御モジュールオブジェクト、Ｆｉｎｅ＿Ｖａｌｖｅ１制御モジュールオブジェクト、Ｆｉｎｅ＿Ｖａｌｖｅ２制御モジュールオブジェクト、Ｆｉｎｅ＿Ｖａｌｖｅ３制御モジュールオブジェクト、その他のユニットモジュールオブジェクト、装置モジュールオブジェクト、制御モジュールオブジェクト、および表示モジュールオブジェクトの各々は、プロセスプラント10内の実際のユニットアプリケーション、装置アプリケーション、制御アプリケーション、または表示アプリケーションに結びつけられている個別のオブジェクトである。たとえば、プラント10において用いられる物理的酸トータライザは複数存在しているので、コンフィギュレーションルーチンにおいて作成される酸トータライザモジュールオブジェクトは複数存在することになり、プラント10内に存在する個々の酸トータライザに対して別々の酸トータライザモジュールオブジェクトが存在する。しかしながら、これらの別々のトータライザモジュールオブジェクトは、同一のトータライザモジュールクラスオブジェクト416に結びつけられるかまたは保有されている。もちろん、図５では、限られた数のモジュールクラスオブジェクトおよびそれらに関連するモジュールオブジェクトだけを示されているが、いうまでもなく、他のタイプのモジュールクラスオブジェクトが用いられてもよいし、異なるモジュールクラスオブジェクトの各々から任意の数のモジュールオブジェクトが作成されてもよい。
【００４６】
図５のモジュールクラスオブジェクトの各々（したがって、それに加えて図５のモジュールオブジェクトの各々）は、そのオブジェクトの一部として、そのモジュールを定義または構成する物理的または論理的なプロセスエレメントの定義情報または表示情報および、所望ならばこれらのプロセスエレメントがプロセスプラント10内でなんらかのアクティビティを実行するために物理的または論理的に相互に動作する様式の定義情報または表示情報を有しうる。たとえば、ユニットモジュールクラスオブジェクトは、通常、そのユニットとして定義されているプロセスエンティティ内のまたはそのプロセスエンティティを構成している物理的エレメントおよび制御エレメントのすべての表示情報を有している。また、このユニットモジュールクラスオブジェクトは、個々の部分の特定の構成および、これらの部分がユニットとして動作するために物理的にどのように相互に結びつけられかを規定しうる。同様に、装置モジュールクラスオブジェクトは、通常、装置として定義されるエンティティを制御するために用いられる制御ルーチンまたは制御モジュールと、これらの制御ルーチンを用いて、上記の部分が、プラント10に配置された場合に、装置として動作するために物理的にまたは論理的に相互に作用する様式を定義するコマンドとを有している。同様に、各制御モジュールクラスオブジェクトは、通常、プラント内で実行される、ある種の制御アルゴリズムの形式で制御アクティビティを定義する。また、各表示モジュールクラスオブジェクトは、プラント10内の指定されたタイプのユニット、装置、プラント領域、またはその他の物理的エンティティもしくは論理的エンティティに対して、とくに表示スクリーンコンフィギュレーションおよび表示される情報を定義し、もしあれば、収集されるデータおよび収集されるデータに加えられるデータ操作を定義する。
【００４７】
モジュールクラスの定義の一部として、モジュールクラスオブジェクトは、その内部に組み込まれるまたはその内部で用いられる他のモジュールクラスオブジェクトを表示または定義する。この場合、モジュールクラスオブジェクトから作成されるモジュールオブジェクトは、モジュールクラスレベルで定義される関係に従って、他のモジュールクラスオブジェクトから作成される他のモジュールオブジェクトを組み込むか、参照するか、または包含する。厳密に必要というわけではないが、ユニットモジュールクラスオブジェクトは、他のユニットモジュールクラスオブジェクト、装置モジュールクラスオブジェクト、制御モジュールクラスオブジェクト、および表示モジュールクラスオブジェクトを組み込みうるし、装置モジュールクラスオブジェクトは、他の装置モジュールクラスオブジェクト、制御モジュールクラスオブジェクト、および表示モジュールクラスオブジェクトを組み込みうる。制御モジュールクラスオブジェクトは、他の制御モジュールクラスオブジェクトおよび表示モジュールクラスオブジェクトを組み込むかまたは参照しうる。しかしながら、所望ならば、他のモジュールクラスオブジェクト関係も同様に用いてもよい。これらの組み込みの関係は、図５の下側の大矢印により示され、表示モジュールクラスオブジェクトのうちのいずれかが制御モジュールクラスオブジェクト、装置モジュールクラスオブジェクトおよびユニットモジュールクラスオブジェクトのうちのいずれかにより包含または参照されてもよいこと、制御モジュールクラスオブジェクトのうちのいずれかが装置モジュールクラスオブジェクトおよびユニットモジュールクラスオブジェクトのうちのいずれかにより包含または参照されてもよいこと、装置モジュールクラスオブジェクトのうちのいずれかがユニットモジュールクラスオブジェクトのうちのいずれかに包含または参照されてもよいことを示している。いうまでもなく、モジュールクラスオブジェクトは、同一のタイプの他のモジュールクラスオブジェクトを組み込んでもよい。たとえば、ユニットモジュールクラスオブジェクトは、その定義の一部として、他のユニットモジュールクラスオブジェクトを組み込みうる。同様に、装置モジュールクラスオブジェクトは、他の装置モジュールクラスオブジェクトを包含しうるし、制御モジュールクラスオブジェクトは、他の制御モジュールクラスオブジェクトを包含しうるし、表示モジュールクラスオブジェクトは、他の表示モジュールクラスオブジェクトを包含しうる。もちろん、所望ならば、モジュールクラスオブジェクトは、複数回、他のモジュールクラスオブジェクトを使用してもまたは組み込んでもよい。たとえば、反応装置ユニットモジュールクラスオブジェクトは、トータライザ装置モジュールクラスオブジェクトを複数回組み込んでもまたは使用してもよい。というのは、反応装置ユニットモジュールクラスオブジェクトによりモデル化されている反応装置は、複数のトータライザ用インスタンスを有しているからである。
【００４８】
また、いうまでもなく、第一のモジュールクラスオブジェクトが第二のモジュールクラスオブジェクトを組み込むまたは使用する場合、第一のモジュールクラスオブジェクトから作成されるまたはそのインスタンスとして作成されるモジュールオブジェクトはいずれも、第二のモジュールクラスオブジェクトから作成されるまたはそのインスタンスとして作成されるモジュールオブジェクトを組み込みまたは使用しうる。したがって、反応装置ユニットモジュールクラスオブジェクト410が、そのエレメントまたは一部として、トータライザモジュールクラスオブジェクト416を用いる場合、Ｒｅａｃｔｏｒ＿０１モジュールオブジェクトは、そのエレメントまたは一部としてＡｃｉｄ１モジュールオブジェクトの如きトータライザモジュールオブジェクトのうちの一つを使用または包含しうる。同様に、トータライザ装置モジュールクラスオブジェクトが、流出用バルブ装置モジュールクラスオブジェクトを組み込むまたは使用する場合、たとえばＴｏｔａｌｉｚａ＿１と一意に命名されうる、トータライザ装置モジュールクラスオブジェクトから作成されるモジュールオブジェクトは、流出用バルブ装置モジュールクラスオブジェクトから作成されたとえばＯｕｔｌｅｔ＿Ｖａｌｖｅ＿２と一意に命名されるモジュールオブジェクトを有しうる。このようにして、モジュールクラスオブジェクトレベルで定義されるモジュールクラスオブジェクト間の関係が、それらのモジュールクラスオブジェクトから展開されるまたは作成されるモジュールオブジェクトに反映される。モジュールクラスオブジェクト（したがって、それに加えてモジュールオブジェクト）間のこのような相互接続および参照により、コンフィギュレーションアクティビティ中のオブジェクトの変更の可能性が増大されるとともにその転送の可能性が向上されることになるため、制御モジュールクラスオブジェクトおよび装置モジュールクラスオブジェクトの如き最初の一組のモジュールクラスオブジェクトが作成されたあとに、ユニットモジュールクラスオブジェクトの如きさらに複雑なモジュールクラスオブジェクトを、これらの初期のモジュールクラスオブジェクトを参照することにより容易に作成しうる。もちろん、モジュールクラスオブジェクトは他のモジュールクラスオブジェクトを参照または使用することが可能であるが、これに加えてまたはこれに代えて、モジュールクラスオブジェクトは、付属のモジュールクラスオブジェクトを備えていないバルブ、センサなどの如き単純オブジェクトまたはプロセスエンティティを定義または使用してもよい。これらの単純オブジェクトは、使用する制御ルーチンに関して、モジュールクラスオブジェクト自体の内に十分に定義されている。
【００４９】
図６は、ユニットモジュールクラスオブジェクトに関連するまたはその内に存在するエンティティを記載または定義する一つの様式を示す反応装置ユニットモジュールクラスオブジェクト410の一例を示している。図６に示されているように、この反応装置ユニットモジュールクラスオブジェクト410は、モジュールクラスオブジェクトが存在しないプロセスプラント10内の単純オブジェクトまたは単純エレメントであるタンク500の表示情報を有している。このタンク500が点線により示されている理由は、このタンクに関する入力／出力制御または実行する必要のある制御アクティビティまたは低レベルアクティビティが存在しないからである。したがって、タンク500は、反応装置ユニットモジュールクラスオブジェクト410と関連するその他のオブジェクト間の相互接続を示すために含まれているに過ぎない。また、反応装置ユニットモジュールクラスオブジェクト410は、それぞれ対応してＡｃｉｄ、Ａｌｋａｌｉ、および水と命名された三つのトータライザ501、502、510を備えており、これらは、図５のトータライザ装置モジュールクラスオブジェクト416の三つの異なるリファレンスである。水トータライザモジュールクラスオブジェクト510がユニットモジュールクラスオブジェクト410のうちの点線によって分離されている区域に示されることにより、この水トータライザモジュールクラスオブジェクト510が共有モジュールクラスオブジェクトであって、ユニットモジュールクラスオブジェクト410が、このオブジェクトに対する制御を他のユニットモジュールクラスオブジェクトと共有していることを示している。図６の流出用オブジェクト504は、図５の流出用バルブ装置モジュールクラスオブジェクト418のリファレンスであり、レベルセンサ505は、図５のレベルセンサ制御モジュールクラスオブジェクト424のリファレンスであり、ｗａｔｅｒ＿ｉｎバルブ503は、バルブオブジェクトのリファレンスである。このバルブオブジェクトのリファレンスは、単純バルブエレメントでありうるし（、したがって、ユニットモジュールクラスオブジェクト410内で十分に定義されている）か、またはコンフィギュレーション戦略のいずこかに定義されるバルブ制御モジュールクラスオブジェクトのリファレンスでありうる。また、反応装置ユニットモジュールクラスオブジェクト410の異なるエンティティまたは部分の間の物理的な相互接続が、これらの異なるエレメント間の相互接続を定義する目的で示されている。上記のように、ユニットモジュールクラスオブジェクト410または他のなんらかのタイプのモジュールクラスオブジェクトは、それに関連する包括的制御ルーチンを含む、そのモジュールクラスオブジェクト内で十分意に定義されている単純エレメントを有してもよく、および／またはそのモジュールクラスオブジェクト外で定義されているモジュールクラスオブジェクトのリファレンスを有してもよい。
【００５０】
また、ユニットモジュールクラスオブジェクト410は、反応装置閲覧表示画面520および反応装置アラーム表示画面522と呼ばれる二つの例示的表示モジュールクラスオブジェクトを有しており、これらは、図５の閲覧表示モジュールクラスオブジェクト434およびアラーム表示モジュールクラスオブジェクト432のリファレンスである。これらのオブジェクトは、反応装置ユニットモジュールクラスオブジェクト410に定義される反応装置ユニット装置または部分のうちのいずれかに関連する状態（たとえば、タンクの充填レベル）およびアラームを表示する包括的表示アクティビティを定義する。同様に、ユニットモジュールクラスオブジェクト410は、Ｄｏｓｅフェイズクラスオブジェクト、Ｍｉｘフェイズクラスオブジェクト、Ｄｒａｉｎフェイズクラスオブジェクト、およびＦｌｕｓｈフェイズクラスオブジェクトとしてボックス524内に示されているフェイズクラスオブジェクトの如き他のエレメントを有しうるし、これらの各々は、ユニットモジュールクラスオブジェクト410により定義されるユニット上で作動される包括的制御ルーチンを定義している。このユニットモジュールクラスオブジェクトは、フェイズクラスオブジェクトに対して零以上の対応付けを有しうる。フェイズクラスオブジェクト524は、任意の所望の方法で、他の場所で定義され、ユニットモジュールクラスオブジェクト410にインポートされうる。ある意味において、フェイズクラス524は、ユニットを充填すること、ユニットを加熱すること、ユニットを空にすること、ユニットを洗浄することなどの如き異なる機能を実行すべく、ユニットモジュールクラスオブジェクト410により定義されたユニットに対して作動されうるコマンドまたはルーチンである。
【００５１】
さらに、ユニットモジュールクラスオブジェクト410は、このユニットモジュールクラスオブジェクト410からコンフィギュレーションアプリケーション50（図１）により作成されるモジュールクラスオブジェクトのリファレンスを格納するメモリまたは区域526を有しうる。この区域526は、本質的に、ユニットモジュールクラスオブジェクト410から作成されそれにより保有されたモジュールクラスオブジェクトのリストである。（もちろん、保有されているモジュールオブジェクトのこのようなリストおよび他の表示情報は、任意の所望の方法でワークステーション内にまたはコンフィギュレーションアプリケーション50により格納されてもよく、ユニットモジュールクラスオブジェクト410において物理的に収納される必要はない。）いずれの場合であっても、図６の一例では、ユニットモジュールクラスオブジェクト410は、ユニットモジュールオブジェクトＲｅａｃｔｏｒ＿０１、Ｒｅａｃｔｏｒ＿０２などを保有しており、これらの各々は、反応装置ユニットモジュールクラスオブジェクト410から作成されたものである。
【００５２】
また、ユニットモジュールクラスオブジェクト410は、コンフィギュレーションアクティビティの間またはそのあとでユニットモジュールクラスオブジェクト410により実行されうる一組のメソッド530を有している。これらのメソッド530は、ユニットモジュールクラスオブジェクト410に対して加えられた変更をこのユニットモジュールクラスオブジェクト410により保有されるモジュールオブジェクト526の各々に自動的に伝送する変更管理メソッドまたは変更管理アプリケーションを有しうる。他のメソッドには、ユニットモジュールクラスオブジェクト410に対しておよび／もしくはそれにより保有されるユニットモジュールオブジェクト526のうちのいずれかに対してセキュリティ管理またはアクセス管理を行うセキュリティ管理メソッド、または、モジュールクラスオブジェクトもしくはそれから作成されるモジュールオブジェクトに対して変更パラメータおよび／もしくはセキュリティパラメーメソッドが含まれる。もちろん、種々のメソッド530が、ユニットモジュールクラスオブジェクト410に対してまたはそれに関してその他のプロシージャを実行してもよい。
【００５３】
所望の場合には、ユニットモジュールクラスオブジェクト410は、このモジュールクラスオブジェクト410に加えられた変更がユニットモジュールオブジェクト526へ伝送される方法、およびセキュリティアクセスがユニットモジュールオブジェクト526において設定される方法を管理してもよい。このような機能を供する一つの方法は、変更がユニットモジュールオブジェクト526へ伝送され、そこで、セキュリティが処理される方法を指定するために、ユニットモジュールクラスオブジェクト410内に一または複数のフラッグまたはパラメータを設定することである。具体的にいえば、ユニットモジュールクラスオブジェクト410に対して加えられた変更をユニットモジュールオブジェクト526のうちの一または複数に自動的に伝送されるべきか否かを指定するために、一または複数の変更伝送パラメータが設定されうる。これらの変更伝送パラメータは、ユニットモジュールオブジェクト526に格納されうるし、ユニットモジュールクラスオブジェクトに対して加えられた変更がユニットモジュールオブジェクトに反映される必要があるか否かを、ユニットモジュールオブジェクト全体としてまたはサブエレメント毎に指定しうる。たとえば、ユニットモジュールクラスオブジェクト410は、（「Ｃ」の符号が付けられた）全域型変更パラメータ534を有しうる。このパラメータは、ユニットモジュールクラスオブジェクト410から作成された各ユニットモジュールオブジェクトに設定され、ユニットモジュールクラスオブジェクト410に加えられた変更がそのユニットモジュールオブジェクトに自動的に反映されることを有効または無効にしうる。同様に、ブロック501〜505、510、520、522の如き各サブエレメントまたは各ブロックは、ユニットモジュールクラスオブジェクト410内の当該ブロックに対して加えられた変更がそのユニットモジュールオブジェクトに反映される必要があるか否かを当該ブロックのみに対して指定する変更パラメータ536を有しうる。もちろん、ユニットモジュールオブジェクトの異なるブロックは、たとえばユニットモジュールクラスオブジェクト410のＡｃｉｄブロック501に対して加えられた変更がモジュールオブジェクト526のうちの特定の一つの対応するＡｃｉｄブロックに伝送される一方、ユニットモジュールクラスオブジェクト410のＡｃｉｄブロック502に対して加えられた変更がそのユニットモジュールオブジェクトのうちの特定の一つのＡｌｋａｌｉブロックには伝送されないように、異なって設定されうる。さらに、ユニットモジュールクラスオブジェクトから作成された異なるユニットモジュールオブジェクトは、ユニットモジュールクラスオブジェクト410内のＡｌｋａｌｉブロック502に対する変更がユニットモジュールオブジェクト526の第一のユニットモジュールオブジェクトの対応するＡｌｋａｌｉブロックに伝送される一方でユニットモジュールオブジェクト526の第二のユニットモジュールオブジェクトには伝送されないように、その変更パラメータが異なって設定されうる。もちろん、ユニットモジュールクラスオブジェクト410の変更管理メソッドは、ユニットモジュールオブジェクト526の変更パラメータにアクセス・使用して、ユニットモジュールクラスオブジェクト410において変更がなされた場合にそれらのオブジェクト内で変更を行うようにしてもよいし行わないようにしてもよい。
【００５４】
同様に、ユニットモジュールクラスオブジェクト410は、ユニットモジュールオブジェクト526の各々においてセキュリティまたはアクセスが管理される様式を指定する一または複数のセキュリティパラメータを有しうる。ユニットモジュールクラスオブジェクト410は、（「Ｓ」の符号が付けられた）全域型セキュリティパラメータ538を有しうるこのパラメータは、反応装置ユニットモジュールクラスオブジェクト410から作成された反応装置ユニットモジュールオブジェクト全体に対して任意の所望のレベルのセキュリティを提供しうるし、および／またはブロック501〜505、510、520、522などの各々に対するが如き、ユニットモジュールクラスオブジェクト410の各サブエレメントに対して異なるセキュリティパラメータ540を有しうる。このセキュリティパラメータ540は、ブロック毎に、上記のブロックの各々に対するセキュリティレベルを指定する。この全域型セキュリティパラメータ538は、事前に許可されたセキュリティアクセスレベルを有するユーザ以外のすべてのユーザに対してユニットモジュールクラスオブジェクトをロックするロックパラメータでありうる。もちろん、セキュリティパラメータ538、540は、アクセス禁止、アクセス制限、特定のタイプまたは身分のユーザによるアクセスなどの如き複数の異なるレベルのセキュリティのうちのいずれか一つを指定してもよく、また、これらのセキュリティレベルは、同一のユニットモジュールクラスオブジェクトから作成された異なるブロックまたは異なるユニットモジュールオブジェクトにおいて異なって設定されてもよい。所望ならば、セキュリティ手段の一部は、ユニットモジュールクラスオブジェクトに関連する一または複数のメソッドまたはアルゴリズムに対する暗号化を含んでのよい。
【００５５】
いうまでもなく、ユニットモジュールクラスオブジェクト410の変更パラメータおよびセキュリティパラメータは、デフォルト値に設定されてもよく、ユニットモジュールクラスオブジェクト410から作成された各ユニットモジュールオブジェクト526の対応する変更パラメータおよびセキュリティパラメータは、作成された時点で、このデフォルト値を受け入れてもよい。しかしながら、このような変更パラメータおよびセキュリティパラメータのデフォルト値もまた、ユニットモジュールオブジェクト526において、これらのユニットモジュールオブジェクトが作成されたあと、（適切なセキュリティアクセスを有するユーザにより）個々に変更されうる。本明細書では、反応装置ユニットモジュールクラスオブジェクトに関して、変更パラメータおよびセキュリティパラメータが説明されているが、同様の変更パラメータおよびセキュリティパラメータは、他のタイプのユニットモジュールクラスオブジェクトのみならず、いかなる所望のタイプの装置モジュールクラスオブジェクト、制御モジュールクラスオブジェクト、表示モジュールクラスオブジェクトなどに供されてもよい。
【００５６】
所望の場合には、ユニットモジュールクラスオブジェクト410は、当該ユニットモジュールクラスオブジェクト410に関連するユニットのユニットまたはサブユニット関連するドキュメンテーションを含む、ユニットモジュールクラスオブジェクトのために格納されたまたはそれに関連するドキュメンテーションへのＵＲＬまたは他のリファレンスの如きリファレンスを有しうる。図６では、このようなリファレンスが、リファレンス546として示されている。
【００５７】
モジュールクラスオブジェクトのさらなる一例として、図７には、トータライザ装置モジュールクラスオブジェクト416が示されている。このトータライザ装置モジュールクラスオブジェクト416は、（両方ともにオン／オフタイプの制御モジュールクラスオブジェクトである）Ｃｏａｒｓｅ＿Ｖａｌｖｅ550およびＦｉｎｅ＿Ｖａｌｖｅ552と命名される制御モジュールクラスオブジェクトと、（流量計制御モジュールクラスオブジェクトである）Ｆｌｏｗ＿Ｍｅｔｅｒ554と命名される制御モジュールクラスオブジェクトとともに、これらのエレメント間の相互接続に関する表示記号とを有している。さらに、トータライザ装置モジュールクラスオブジェクト416は、Ｔｏｔａｌｉｚｅｒ  Ａｌａｒｍ表示モジュールクラスオブジェクト560を含む表示モジュールクラスオブジェクトと、装置モジュールクラスオブジェクト416上で実装されうる一または複数のアルゴリズム564とを有する。アルゴリズム564が、Ｔｏｔａｌｉｚｅｒ＿ＦａｓｔコマンドおよびＴｏｔａｌｉｚｅ＿Ａｃｃｕｒａｔｅコマンドを有するものとして記載されているが、その他のコマンドまたはアルゴリズムが同様に含まれまたは用いられてもよい。さらに、装置モジュールクラスオブジェクトに関連するまたはそれに含まれるコマンドアルゴリズム564は、いかなる所望の形態を有してもよく、また、たとえばコマンド駆動型アルゴリズム（ＣＤＡ）、状態駆動型アルゴリズム（ＳＤＡ）、シーケンシャルフローチャート（ＳＦＣ）アルゴリズム、機能ブロックダイアグラム（ＦＢＤ）アルゴリズム、フェイズアルゴリズムなどであってもよい。しかしながら、一般的にいえば、これらのアルゴリズム564は、すべてＣＤＡまたはＳＤＡの如き特定のタイプである。もちろん、これらのアルゴリズム564は、Ｃ、Ｃ＋＋のプログラミング環境、シーケンシャル機能チャートプログラミング環境、機能ブロックプログラミング環境などの如きいかなる所望の言語またはプログラミング環境で書かれてもよい。
【００５８】
また、トータライザ装置モジュールクラスオブジェクト416は、装置モジュールクラスオブジェクト416から作成された、Ａｃｉｄ１、Ａｃｉｄ２、Ａｌｋａｌｉ１、Ａｌｋａｌｉ２、Ｗａｔｅｒ＿Ｈｄｒ１などと命名された一組の保有装置モジュールオブジェクト566への表示記号（および、所望ならば、通信パス）を格納するリストまたはメモリを有している。同様に、トータライザ装置モジュールクラスオブジェクト416は、装置モジュールオブジェクト566への変更の伝送を管理するために、全域型変更パラメータ572および／またはオブジェクトベースの変更パラメータ574とともに用いられうる変更管理メソッドを含む一組のメソッド570を有している。また、トータライザ装置モジュールクラスオブジェクト416は、全域型セキュリティパラメータ580およびオブジェクトベースのセキュリティパラメータ582を有している。変更パラメータおよびセキュリティパラメータ572、574、580、582は、図６のユニットモジュールクラスオブジェクト410の変更パラメータおよびセキュリティパラメータに対して記載されたとおりに概ね作動し、コマンド564を含む、制御モジュールクラスオブジェクト416のエレメントのうちのいずれにも適応されうる。さらに、変更パラメータおよびセキュリティパラメータの内の一方または両方は、本明細書にとくに記載されているように、全域レベル、オブジェクトレベル、またはエレメントレベル以外ならば、モジュールクラスオブジェクト（したがって、それに加えてそれから作成されるモジュールオブジェクト）内のいかなる所望のレベルでも提供されうる。所望ならば、モジュールクラスオブジェクトまたはそれから作成されるモジュールオブジェクトの変更パラメータおよびセキュリティパラメータは、単純かつ明快な方法でモジュールクラスオブジェクト全体またはモジュールオブジェクトに対して異なる変更パラメータおよびセキュリティパラメータを設定または指定することをコンフィギュレーションエンジニアに可能にするように、たとえば表計算プログラムの如き一括コンフィギュレーション用のアプリケーションまたはプログラムを用いて、設定または構成されてもよい。
【００５９】
所望の場合には、装置モジュールクラスオブジェクト416は、当該モジュールクラスオブジェクト416に関連する装置の装置またはサブエレメントに関連するドキュメンテーションを含む、装置モジュールクラスオブジェクトのために格納されたまたはそれに関連するドキュメンテーションへのＵＲＬまたは他のリファレンスの如きリファレンスを有してもよい。図７では、このようなリファレンスが、リファレンス599として示されている。同様に、アルゴリズム564のうちのいずれかの如き、装置モジュールクラスオブジェクト416のアルゴリズムのうちのいずれかは、暗号化されてもよいし、またはこれらのアルゴリズム564を暗号化または複合化するための、それに関連するセキュリティパラメータを有してもよい。所望ならば、このような暗号化または複合化がメソッド570により実行されてもよい。
【００６０】
プロセスプラント10を構築すべく、コンフィギュレーションエンジニアは、コンフィギュレーションアプリケーション50（図１）に関連するライブラリ内に、必要なユニットモジュールクラスオブジェクト、装置モジュールクラスオブジェクト、制御モジュールクラスオブジェクト、および表示モジュールクラスオブジェクトを作成する。所望ならば、このコンフィギュレーションエンジニアは、制御モジュールクラスおよび表示モジュールクラスの如き低次の適応範囲のエンティティから初めて、これらの低適応範囲のエンティティを利用または参照する装置モジュールクラスオブジェクトおよびユニットモジュールクラスオブジェクトの如き高次の適用範囲のエンティティに対するモジュールクラスオブジェクトへと展開してもよい。そのあと、コンフィギュレーションエンジニアは、プラント内のプロセスエンティティの各々に対して、必要なモジュールクラスオブジェクトを選択または指定し、この選択されたモジュールクラスオブジェクトに対応して実際のモジュールオブジェクトを作成してもよい。複製装置を設定する場合には、コンフィギュレーションエンジニアは、同一のモジュールクラスオブジェクトから、複製装置の各インスタンスに対するモジュールオブジェクトを作成する。したがって、コンフィギュレーションエンジニアは、図１の反応装置に対して反応装置ユニットモジュールクラスオブジェクトを作成しうる（このことは、ライブラリ内に他のモジュールクラスオブジェクトがまだ存在していない場合には当該反応装置ユニットモジュールクラスオブジェクトにより参照される他のモジュールクラスオブジェクトを作成することを含んでいる）。そのあと、コンフィギュレーションエンジニアは、当該反応装置ユニットモジュールクラスオブジェクトから、図１の反応装置Ｒｅａｃｔｏｒ＿１、Ｒｅａｃｔｏｒ＿２，およびＲｅａｃｔｏｒ＿３の各々に対する反応装置ユニットモジュールオブジェクトを作成することで、プロセスを構築しうる。
【００６１】
モジュールクラスオブジェクトから一または複数のモジュールオブジェクトを作成したあと、コンフィギュレーションエンジニアは、（サブオブジェクトまたは参照オブジェクト含む）これらのオブジェクトをプラント内の特定の装置と結びつけうる。これらのユニットモジュールオブジェクトがたん一のユニットモジュールクラスオブジェクトに関連づけされているので、異なるユニットモジュールオブジェクトのエイリアス名、パラメータ、および他の変数が、表計算アプリケーションの如き一括処理アプリケーションなどを用いて一緒に指定されうる。もちろん、モジュールオブジェクトを特定の装置に結びつけることにより、コンフィギュレーションエンジニアは、プロセスプラント10の運転中に制御アクティビティを実行するためにコントローラ12内の制御ルーチンまたは制御モジュールにより用いられる制御変数および通信パス名または、プロセスプラント10の運転中にたとえばワークステーション14内の表示ルーチンにより用いられる表示変数を実際には指定している。この結びつけアクティビティが完了したあと、コンフィギュレーションエンジニアは、結びつけられた制御ルーチンをコントローラ12へ、また、結びつけられた表示ルーチンをワークステーション14へダウンロードしうる。
【００６２】
図８〜図１６は、プロセスプラント10を構築すべくコンフィギュレーションエンジニアがモジュールクラスオブジェクトを作成・使用するプロセス中に、図１のコンフィギュレーションアプリケーションにより作成されうるスクリーン表示画面を示している。いうまでもなく、図８〜図１６のスクリーン表示画面のうちのほとんどは、そのスクリーンの左側にエクスプローラビューを有している。同様に、図８〜図１６のスクリーン表示画面のうちのほとんどは、その右側に一または複数の情報ビューを有している。これらの情報ビューは、エクスプローラビューのエレメントの内の選択された一つン関するさらなる情報を供している。この情報ビューでユーザに対して表示されることが可能なまたはユーザにより変更されることが可能な情報は、異なるモジュールクラスオブジェクトまたはそのサブエレメントの各々に対して設定される図６および図７の制御パラメータおよびセキュリティパラメータ534、536、538、540、572、574、580、582により決定または管理されうる。したがって、エクスプローラビュー内の特定のエレメントは、ユーザに対して表示または暴露され、エクスプローラビューに示されているモジュールクラスオブジェクトにおいて設定されモジュールオブジェクトに対して伝送されるセキュリティパラメータおよび制御パラメータに基づいて閲覧および／または変更されうる。もちろん、最初に説明したように、情報は、常に隠されていてもよいし、パスワードまたは他のセキュリティコードを入力するユーザにより表示可能または変更可能であってもよく、常に表示可能であるが変更可能でないものであってもよく、常に表示可能であるとともに変更可能であってもよく、またはこれらのその他の組み合わせもしくは他のセキュリティパラメータおよび変更パラメータのその他の組み合わせであってもよい。さらに、所望ならば、いずれのエレメントをさらに詳細に表示可能または変更可能かをユーザに知らせるために、エレメントの表示可能性または変更可能性が、強調表示、灰色表示、色付き表示、またはその他の技術を用いて、エクスプローラビューにおいて表示されてもよい。
【００６３】
図８において、スクリーン表示画面600は、その表示画面の左側に示されているエクスプローラコンフィギュレーションビュー602の部分を有している。このエクスプローラビュー602の部分は、ユニットモジュールクラスオブジェクト604、装置モジュールクラスオブジェクト606、および制御モジュールクラスオブジェクト608を含む複数のモジュールクラスオブジェクトを格納するライブラリを示している。（図６の反応装置ユニットモジュールクラスオブジェクト410に対応しうる）Ｒｅａｃｔｏｒユニットモジュールクラスオブジェクト610は、上記のユニットモジュールクラスライブラリ604内に格納され、Ｄｏｓｅフェイズクラスオブジェクト、Ｍｉｘフェイズクラスオブジェクト、Ｄｒａｉｎフェイズクラスオブジェクト、Ｆｌｕｓｈフェイズクラスオブジェクト、Ａｃｉｄ装置モジュールクラスオブジェクト、Ａｌｋａｌｉ装置モジュールクラスオブジェクト、Ｗａｔｅｒ装置モジュールクラスオブジェクト、流出用装置モジュールクラスオブジェクト、Ｗａｔｅｒ＿Ｉｎ制御モジュールクラスオブジェクト、Ｌｅｖｅｌ＿Ｍｅｔｅｒ制御モジュールクラスオブジェクト、および所望の他のオブジェクトを含む複数のサブエレメントの表示記号を有している。したがって、ユニットモジュールクラスライブラリ604において定義されているように、Ｒｅａｃｔｏｒユニットモジュールクラスオブジェクト610は、フェイズクラスオブジェクトの表示記号のみならず装置モジュールクラスオブジェクトおよび制御モジュールクラスオブジェクトの表示記号も有している。スクリーン600においてＲｅａｃｔｏｒユニットモジュールクラスオブジェクト610が選択されているので、そのエレメントがスクリーン600の右側においてさらに詳細に示されている。
【００６４】
さらに、装置モジュールクラスライブラリ606は、（図７のトータライザ装置モジュールクラスオブジェクト416に対応しうる）トータライザ装置モジュールクラスオブジェクト614と、Ｒｅａｃｔｏｒ＿Ｏｕｔｌｅｔ装置モジュールクラスオブジェクト616とを有している。このトータライザ装置モジュールクラスオブジェクト614は、Ｃｏｍｍａｎｄ＿００００１、Ｃｏｍｍａｎｄ＿００００２、およびＣｏｍｍａｎｄ＿００００３と呼ばれる、（図７のアルゴリズムのうちの一つの如き）アルゴリズムの三つの部分を有している。また、モジュールクラスオブジェクト614は、（オン／オフタイプの制御モジュールクラスオブジェクトである）Ｃｏａｒｓｅ＿ＶａｌｖｅおよびＦｉｎｅ＿Ｖａｌｖｅならびに（流量計タイプの制御モジュールクラスオブジェクトである）Ｆｌｏｗ＿Ｍｅｔｅｒと呼ばれる制御モジュールオブジェクトへのリファレンスを有している。さらに、Ｒｅａｃｔｏｒ＿Ｏｕｔｌｅｔ装置モジュールクラスオブジェクト616は、Ｓｔａｔｅ＿００００１、Ｓｔａｔｅ＿００００２，およびＳｔａｔｅ＿００００３と呼ばれる三つの状態を有する状態駆動型の制御アルゴリズムモジュール、Ｔａｒｇｅｔモジュール、Ｄｒｉｖｅモジュール、Ｍｏｎｉｔｏｒモジュール、およびＲｅａｄｂａｃｋモジュールと、（オン／オフ制御モジュールクラスオブジェクトタイプのモジュールブロックの表示記号またはそれらへのリファレンスでありうるとともにＯｕｔｌｅｔ、Ｄｒａｉｎ、およびＰｒｏｄｕｃｔと命名されているまたは単純オブジェクトでありうる）Ｏｕｔｌｅｔバルブ制御モジュールオブジェクト、Ｄｒａｉｎバルブ制御モジュールオブジェクト、およびＰｒｏｄｕｃｔバルブ制御モジュールオブジェクトとを有している。ＴｏｔａｌｉｚｅｒモジュールクラスオブジェクトおよびＲｅａｃｔｏｒ＿Ｏｕｔｌｅｔモジュールクラスオブジェクト614、616に関連するコマンド駆動型および状態駆動型のアルゴリズムは、いかなる所望のルーチンであってもよく、装置モジュールクラスオブジェクト内の制御モジュールオブジェクトを参照して、それらのコマンドとともに用いられてもよい。具体的にいえば、装置モジュールクラスオブジェクトのＣＤＡコマンドアルゴリズムまたはＳＤＡコマンドアルゴリズムは、制御モジュール（または他の装置モジュール）を参照する表現またはアクションを、これらのモジュールに対応するモジュールブロックの名称を組み入れ、当該アルゴリズムの実行時点においていずれの装置を操作するのかを示すことにより有しうる。これらのアルゴリズム内で制御モジュール（または他の装置モジュール）に対応するモジュールブロック名を用いることにより、そのアルゴリズムが搭載されている装置モジュールオブジェクトにより参照されるまたは関連付けされる制御モジュールオブジェクトが指定され、これらの特定の名称は、その装置モジュールオブジェクトが装置モジュールクラスオブジェクトからさくせいされるときに結びつけられるかまたはインスタンス化される。
【００６５】
図９は、トータライザ装置モジュールクラスオブジェクト614が、それに関連する実行論理を示すべく展開されているコンフィギュレーションスクリーン620を示しており、Ｃｏｍｍａｎｄ＿００００２，Ｃｏｍｍａｎｄ＿００００３、およびＣｏｍｍａｎｄ＿０００９９を有するコマンド駆動型アルゴリズムが含まれている。スクリーン620の右側622に示されているように、実行論理制御ルーチンに関する情報がさらに詳細に提供されている。具体的にいえば、Ｃｏｍｍａｎｄ＿００００２は、トータライザを通って流れる流量正確にまたは繊細に制御するために用いられるトータライザ調整ルーチンである。Ｃｏｍｍａｎｄ＿００００３は、トータライザの高速の流れを管理または提供するトータライザ高速ルーチンであり、Ｃｏｍｍａｎｄ＿０００９９は、トータライザをリセットするリセットルーチンである。スクリーン620のＭｏｎｉｔｏｒブロックは、監視アクティビティを提供する実行論理に関連する機能ブロックである。図８および図９から明らかなように、ライブラリ604、606、608内のモジュールクラスオブジェクト内のエレメントの各々は、サブオブジェクトおよびサブエレメントを有しており、一部またはすべてのケースにおいて、これらのサブエレメントは、プロセスプラント10の運転中にコントローラまたはワークステーションにより実行される制御ルーチンまたは表示ルーチンを参照または有している。しかしながら、モジュールクラスオブジェクトにおける制御ルーチン、表示ルーチン、およびその他の装置リファレンスは、実質的に包括的であり、したがって、プラント10内の実際の個々の装置には結びつけられてもいなければ結合されてもいない。
【００６６】
図１０は、トータライザ装置モジュールクラスオブジェクト614の実行論理のＣｏｍｍａｎｄ＿００００２ルーチンの詳細を示すさらなるスクリーン表示画面630を示している。シーケンシャル機能チャートプログラミングエディタ634から展開されたポップアップウィンドウ632に示されているように、Ｃｏｍｍａｎｄ＿００００２ルーチンは、一連のステップを有しており、各ステップは、一連のアクションを有している。Ｃｏｍｍａｎｄ＿００００２ルーチンの第一のステップ（Ｓ１）の第一のアクション（Ａ１）のみがウィンドウ632において示されている。いうまでもなく、Ｃｏｍｍａｎｄ＿００００２ルーチンの第一のステップの第一のアクションは、Ｆｌｏｗ＿Ｍｅｔｅｒ制御モジュールオブジェクトパラメータであるＲｅｓｅｔを「Ｔｒｕｅ」に設定し、次いで、変数ＳＰの状態に基づいて、Ｃｏａｒｓｅ＿Ｖａｌｖｅ制御モジュールオブジェクト（または、モジュールブロック）のＴａｒｇｅｔ＿Ｓｔａｔｅパラメータを「Ｖａｌｖｅ：Ｏｐｅｎ」に設定し、Ｆｉｎｅ＿Ｖａｌｖｅ制御モジュールオブジェクト（または、モジュールブロック）のＴａｒｇｅｔ＿Ｓｔａｔｅパラメータを「Ｖａｌｖｅ：Ｏｐｅｎ」に設定する。いうまでもなく、Ｃｏｍｍａｎｄ＿００００２ルーチンのこのセクションは、この時点では、包括的に、トータライザ装置モジュールクラスオブジェクトに関連するＦｌｏｗ＿Ｍｅｔｅｒ制御モジュールオブジェクト（または、モジュールブロック）、Ｃｏａｒｓｅ＿Ｖａｌｖｅ制御モジュールオブジェクト（または、モジュールブロック）、およびＦｉｎｅ＿Ｖａｌｖｅ制御モジュールオブジェクト（または、モジュールブロック）を参照しているが、トータライザ装置モジュールクラスオブジェクトから作成される実際のトータライザ装置モジュールオブジェクトは、トータライザ装置モジュールオブジェクトを用いてまたはそれの一部として作成される制御モジュールオブジェクトの実際の名称を参照する。
【００６７】
図１１は、図８のＲｅａｃｔｏｒユニットモジュールクラスオブジェクト610において用いられるまたは参照されうるＤｏｓｅフェイズクラス642に関連する制御アルゴリズムの詳細を示すスクリーンビュー640を示している。具体的にいえば、このＤｏｓｅフェイズクラス642は、Ａｂｏｒｔ、Ｆａｉｌ、Ｈｏｌｄ、Ｒｅｓｔａｒｔ、およびＲｕｎを含む一組の異なる汎用制御アクションを有している。（Ｒｕｎ＿Ｌｏｇｉｃと呼ばれる）実行アクションに関連する論理は、Ｓｔｅｐ１（Ｓ１）、Ｓｔｅｐ２（Ｓ２）、およびＳｔｅｐ３（Ｓ３）として上記スクリーンの区域644において示されている一連のステップと、二つの転移Ｔ１、Ｔ２と、終了とを有している。シーケンシャル機能チャートエディタ646は、ブロック図形式でこれらのステップと転移とを画像を用いて示している。ポップアップスクリーン648は、Ｓｔｅｐ１（Ｓ１）のＡｃｔｉｏｎ１（Ａ１）に関連する実際の制御論理を示している。具体的にいえば、論理エディタであるスクリーン648の実行ロジックは、反応装置用の共有水ヘッダを取得するアクションと、ｗａｔｅｒ＿ｉｎバルブを開くアクションと、次いで、その反応装置に関連する全てのトータライザをリセットするアクションとを有している。
【００６８】
Ｄｏｓｅフェイズクラスが反応装置から独立して書かれているので、当該Ｄｏｓｅフェイズクラスは、ランタイムの時点またはその前のどちらかで指定されるがいうまでもなく反応装置ユニットモジュールクラスオブジェクトにおいて指定可能でない装置を参照するためにエイリアス名を用いる。しかしながら、制御アルゴリズム648内で用いられる実際のデバイスまたは他のプロセスエレメントへのリファレンスは、同一のユニットモジュールクラスオブジェクト、このケースでは反応装置ユニットモジュールクラスオブジェクトに対するものである。制御ルーチン648では、エイリアス名は、＃記号により表されるので、＃ＷＡＴＥＲ＿ＩＮ＃は、同一のモジュール、すなわちユニットモジュールクラスオブジェクト610内のｗａｔｅｒ＿ｉｎ制御モジュールのエイリアス名である。同様に、＃ＷＡＴＥＲ＃、＃ＡＣＩＤ＃、および＃ＡＬＫＡＬＩ＃の記号表示は、Ｒｅａｃｔｏｒユニットモジュールクラスオブジェクト610内のＷａｔｅｒトータライザモジュールブロック、Ａｃｉｄトータライザモジュールブロック、およびＡｌｋａｌｉトータライザモジュールブロックを参照している。もちろん、いうまでもなく、トータライザ流出用装置モジュールクラスオブジェクト、反応装置流出用装置モジュールクラスオブジェクト、およびオン／オフバルブ制御モジュールクラスオブジェクトは、それぞれ対応する、（たとえば、Ａｌｋａｌｉ１、Ａｃｉｄ１、などと命名された）トータライザ装置モジュールオブジェクトおよび反応装置モジュールオブジェクトならびに（Ｃｏａｒｓｅ＿Ｖａｌｖｅ、Ｆｉｎｅ＿Ｖａｌｖｅ、Ｏｕｔｌｅｔ１などと命名された）オン／オフ制御モジュールオブジェクトを通じて、反応装置ユニットモジュールクラスオブジェクトに関連付けされ、そのユニットクラスオブジェクトの論理部分となる。
【００６９】
図１２は、Ｒｅａｃｔｏｒ＿Ｏｕｔｌｅｔ装置モジュールクラスオブジェクト616がさらに詳細に示されているスクリーン表示画面650を示している。このＲｅａｃｔｏｒ＿Ｏｕｔｌｅｔ装置モジュールクラスオブジェクト616に関連するＲｕｎ＿Ｌｏｇｉｃは、Ｄｒｉｖｅエレメントと、Ｍｏｎｉｔｏｒエレメントと、Ｒｅａｄｂａｃｋエレメントと、そしてさらに重要なことには、Ｒｅａｃｔｏｒ＿Ｏｕｔｌｅｔ装置モジュールクラスオブジェクト616に関連するバルブを制御すべく用いられる四つの状態を有する状態駆動型アルゴリズムとを備えたものとしてスクリーン部分652に示されている。右側のスクリーン部分654は、実際のバルブの開閉に用いられる制御ブロックまたは制御モジュール内の駆動アイテムＤｒａｉｎ＿ＳＰ、Ｏｕｔｌｅｔ＿ＳＰ、およびＰｒｏｄｕｃｔ＿ＳＰの名称と、Ｄｒａｉｎ、Ｏｕｔｌｅｔ、およびＰｒｏｄｕｃｔと命名されたモジュールブロック内の各制御モジュールＴａｒｇｅｔ＿Ｓｔａｔｅに対する通信パス仕様とに関する詳細を有している。リードバックパス仕様は、Ｄｒａｉｎモジュールブロック、Ｏｕｔｌｅｔモジュールブロック、およびＰｒｏｄｕｃｔモジュールブロックの各々におけるＣｕｒｒｅｎｔ＿Ｓｔａｔｅのリードバックパラメータに対する通信パス備えており、Ｒｅａｃｔｏｒ＿Ｏｕｔｌｅｔ装置の異なる状態に対するバルブの状態もまた供されている。したがって、スクリーン部分654内のＤｒｉｖｅの詳細から、Ｒｅａｃｔｏｒ＿Ｏｕｔｌｅｔ616の閉鎖状態運転の間は、廃液用バルブ、流出用バルブ、および製品用バルブはすべて閉められており、廃液運転の間は、廃液用バルブおよび流出用バルブは開かれているが製品用バルブは閉められており、製品放出運転の間は、廃液用バルブは閉められているが流出用バルブおよび製品用バルブは開かれていることが分かる。いうまでもなく、図１２のスクリーン表示画面650が、装置モジュールクラスオブジェクトに対して状態駆動制御論理を指定する一つの方法を示しているが、その他の所望の方法が同様に用いられてもよい。
【００７０】
もちろん、所望ならば、これらのスクリーンまたは図９〜図１２に示されているスクリーンと同等のスクリーンが、Ｄｏｓｅフェイズクラスまたは他のフェイズクラス内に、または、ユニットモジュールクラスオブジェクト、装置モジュールクラスオブジェクト、および表示モジュールクラスオブジェクトの如きその他のモジュールのうちのいずれかに対し、制御アルゴリズムを作成・指定することにより、任意の所望のモジュールクラスオブジェクトを作成すべくコンフィギュレーションエンジニアにより用いられてもよい。
【００７１】
以上で記載したように一または複数のモジュールクラスオブジェクトを作成したあと、コンフィギュレーションエンジニアは、これらのモジュールクラスオブジェクトを用いてプロセスプラント10内のエレメントを構成する。図１３は、プロセスプラント10のシステムコンフィギュレーションを示す階層ビュー661を有するスクリーン表示画面660を示している。システムコンフィギュレーション662は、プロセスプラント10の制御戦略の指定、具体的にいえば、プロセスプラント10のプロセスエンティティの制御に用いられる制御戦略664と表示されている区域を有している。これらの制御戦略664は、プラント10の物理領域の如き論理的グループに分割されている。ビュー661にはＡｒｅａ＿Ａ665が示されている。Ａｒｅａ＿Ａ665は、塩の製造に用いられる複数の台数のまたは例示の複製装置を内部に有しうる、Ｓａｌｔｓと呼ばれる塩製造区域666を備えている。
【００７２】
プラント10の塩製造区域を構成するために、コンフィギュレーションエンジニアは、図８のユニットモジュールクラスライブラリ604内の反応装置ユニットモジュールクラスオブジェクト610を選択し、Ｓａｌｔｓ666の見出しの下へドラッグまたはコピーし、反応装置ユニットモジュールクラスオブジェクト610により指定される形式の反応装置のインスタンスを作成しうる。この反応装置がＲｅａｃｔｏｒ＿１ユニットモジュールオブジェクト668として図１３に示されている。コンフィギュレーションアプリケーション50は、Ｒｅａｃｔｏｒ＿１ユニットモジュールオブジェクト668を、それを構成しているユニットモジュールクラスオブジェクトの名称に基づく一方でそのコンフィグレーションシステム内において一意的な方法で自動的に命名しうる。図１３に示されているように、Ｒｅａｃｔｏｒ＿１ユニットモジュールオブジェクト668は、Ａｃｉｄ＿１トータライザ装置モジュールオブジェクト、Ａｌｋａｌｉ＿１トータライザ装置モジュールオブジェクト、およびＯｕｔｌｅｔ＿２装置モジュールオブジェクトを備えており、これらはそれぞれ、反応装置ユニットモジュールクラスオブジェクト610内で指定される酸モジュールクラスオブジェクト、アルカリモジュールクラスオブジェクト、および流出モジュールクラスオブジェクトに対応している。さらに、Ｒｅａｃｔｏｒ＿１ユニットモジュールオブジェクト668は、モジュールクラスオブジェクト610により指定されるとおりに（フェイズクラスから作成される）Ｄｏｓｅユニットフェイズ、Ｄｒａｉｎユニットフェイズ、Ｆｌｕｓｈユニットフェイズ、およびＭｉｘユニットフェイズを有している。Ａｌｉａｓｅｓと呼ばれるフォルダにはエイリアスレゾルーションテーブルが設けられており、このテーブルは、Ｒｅａｃｔｏｒ＿１ユニットモジュールオブジェクト668のいずれかの制御ルーチンにおいて用いられるエイリアス名のレゾルーションリストを有している。Ｒｅａｃｔｏｒ＿１ユニットモジュールオブジェクト668内のエイリアスレゾルーションテーブルにより、ランタイム以前またはランタイム中に、これらの制御ルーチンを分けてプロセスプラント10内の特定の装置に結びつけることが可能となる。ユニットフェイズおよびエイリアスレゾルーションテーブルの利用は、本特許の譲受人に譲渡されるとともに、本明細書において参照することによりここで明示的にその全内容を援用する米国特許番号第6,385,496号に詳細に記載されている。さらに、Ｒｅａｃｔｏｒ＿１ユニットモジュールオブジェクト668は、Ｗａｔｅｒ＿ＨＤＲ１モジュールオブジェクトとＷａｔｅｒ＿Ｉｎモジュールオブジェクトとを有しており、これらのモジュールオブジェクトは、それぞれ、Ｒｅａｃｔｏｒユニットクラスオブジェクト610内に示されているＷａｔｅｒトータライザ装置モジュールクラスオブジェクトと、Ｒｅａｃｔｏｒユニットクラスオブジェクト610のＷａｔｅｒ＿Ｉｎオン／オフ型バルブ制御モジュールクラスオブジェクトとに対応している。もちろん、この場合も先と同様に、コンフィギュレーションアプリケーション50は、Ｒｅａｃｔｏｒ＿１ユニットモジュールオブジェクト668のエレメントに対して用いられる命名スキームを、当該Ｒｅａｃｔｏｒ＿１ユニットモジュー���オブジェクト668の個々のエレメントを構成しているＲｅａｃｔｏｒユニットモジュールクラスオブジェクト610内の対応するエレメントの名称に基づく一方で命名された名称がそのコンフィギュレーション戦略において一意的である方法で自動的に提供してもよい。Ｒｅａｃｔｏｒユニットモジュールクラスオブジェクト610に関する説明から明らかなように、Ｗａｔｅｒ＿ＨＤＲ１は、（図１の共有ヘッダバルブシステム110に対応する）共有水ヘッダである。したがって、Ｓａｌｔｓ記号表示下において、Ｗａｔｅｒ＿ＨＤＲ１670と呼ばれる別の装置モジュールオブジェクトが設けられている。もちろん、コンフィギュレーションエンジニアは、図８のトータライザ装置モジュールクラスオブジェクトからＷａｔｅｒ＿ＨＤＲ１670を、そのエレメントをスクリーン区域661へコピーまたはドラッグすることにより作成してもよい。このケースの場合、予測されるように、共有水ヘッダＷａｔｅｒ＿ＨＤＲ１670は、（Ｃｏａｒｓｅ＿Ｖａｌｖｅ４およびＦｉｎｅ＿Ｖａｌｖｅ４と命名される）特定のオン／オフ型バルブ制御モジュールオブジェクトと、（Ｆｌｏｗ＿Ｍｅｔｅｒ４と命名される）特定の流量計制御モジュールオブジェクトとを有しているものとして示されており、これらは、それぞれ、図８のトータライザ装置モジュールクラスオブジェクト614のＣｏａｒｓｅ＿Ｖａｌｖｅ制御モジュールクラスオブジェクト、Ｆｉｎｅ＿Ｖａｌｖｅ制御モジュールクラスオブジェクト、およびＦｌｏｗ＿Ｍｅｔｅｒ制御モジュールクラスオブジェクトに対応している。さらに、Ｒｅａｃｔｏｒ＿１モジュールオブジェクト668内のＷａｔｅｒ＿ＨＤＲ１リファレンスは、Ｗａｔｅｒ＿ＨＤＲ１装置モジュールオブジェクト670を参照している。
【００７３】
もちろん、上記の装置モジュールまたは制御モジュールのうちのいずれでもユニットモジュールクラスオブジェクト内で共有モジュールオブジェクトまたは非共有モジュールオブジェクトとして指定されてもよい。非共有モジュールオブジェクトは、その非共有モジュールオブジェクトを構成している高レベルのモジュールオブジェクトにより完全に保有される。共有モジュールオブジェクトは、一を超える数の高レベルモジュールオブジェクトにより保有されるかまたはそれらと関連づけされる。モジュールオブジェクトの共有特性または非共有特性は、エクスプローラビューにおけるモジュールオブジェクトの表示に影響を与える。具体的にいえば、非共有モジュールオブジェクトの指定により、モジュールオブジェクトは、制御戦略内の高レベルオブジェクト下でのみ表示され、その一日、共有モジュールオブジェクトの指定により、その共有モジュールブロックまたは共有モジュールオブジェクトは高レベルモジュールオブジェクトの各々の下で表示され、これらの高レベルモジュールオブジェクトは、エクスプローラ階層においてそのエレメントおよびスタンドアロンモジュールオブジェクトを共有する。
【００７４】
いうまでもなく、コンフィギュレーションエンジニアは、反応装置ユニットモジュールクラスオブジェクト610をコピーし、当該反応装置ユニットモジュールクラスオブジェクト610内に指定されるエレメントの全てを有するそのインスタンス（反応装置ユニットモジュールオブジェクト668）を作成することにより、反応装置全体に対する制御戦略をそのコンフィギュレーションシステムの制御戦略区域664内に作成することができる。しかしながら、モジュールオブジェクト毎に変わる入力／出力表示記号を用いて、またモジュールオブジェクトがプロセスプラント10内で結びつけられる様式を指定することをコンフィギュレーションエンジニアに可能にすべく作成されうるコンフィギュレーションダイアログボックスを用いて、反応装置ユニットモジュールオブジェクト668の個々のユニットおよびとくに制御エレメントをプロセスプラント10内の特定のエンティティに結びつけることまたは結合することが可能である。また、上記のように、作成された反応装置モジュールオブジェクト668は、依然として、反応装置ユニットモジュールクラスオブジェクト610に接続されているとともにそれにより保有されており、したがって、反応装置ユニットモジュールクラスオブジェクト610内で行われる変更は、所望ならば、Ｒｅａｃｔｏｒ＿１モジュールオブジェクト668内に自動的に伝送させ反映させてもよい。いずれの場合であっても、コンフィギュレーションエンジニアは、全体的に（オブジェクトワイドに）またはエレメント毎に親モジュールクラスオブジェクトからの変更を受理または拒否するように、Ｒｅａｃｔｏｒ＿１ユニットモジュールオブジェクト668の如き作成されたモジュールオブジェクトを変更または個別に調整しうる。
【００７５】
スクリーン660の右側部分672は、（区域661において選択されているエレメントであるので）Ｒｅａｃｔｏｒ＿１モジュールオブジェクト668のエレメントの全てに関連するパラメータ、アラームなどに加えて、それらに関連する数値情報、フィルタリング情報、および他の情報を掲示または記載している。もちろん、コンフィギュレーションエンジニアは、所望通りに、Ｒｅａｃｔｏｒ＿１モジュールオブジェクト668のエレメントの各々に対するこのようなデータを変更または指定することにより、任意の所望の方法で、モジュールクラスオブジェクトから作成される個々のモジュールオブジェクトを調整してもよい。
【００７６】
図１４は、Ｒｅａｃｔｏｒ＿１ユニットモジュールオブジェクト668のＡｃｉｄ１装置モジュールオブジェクト682のコンフィギュレーションを示すスクリーン680を示している。図１４では、Ａｃｉｄ１装置モジュールオブジェクト682が選択されているので、そのエレメントがスクリーン680の右側に示されている。これらのエレメントには、Ｃｏａｒｓｅ＿Ｖａｌｖｅ１制御モジュールオブジェクト、Ｆｉｎｅ＿Ｖａｌｖｅ１制御モジュールオブジェクト、Ｆｌｏｗ＿Ｍｅｔｅｒ１制御モジュールオブジェクトや、表示パラメータなどが含まれている。
【００７７】
ポップアップスクリーン686は、Ａｃｉｄ１装置モジュールオブジェクトに関連するサブモジュールオブジェクトおよび、これらのサブモジュールオブジェクトが帰属するまたはそれを構成しているモジュールクラスに関する情報を提供している。具体的にいえば、Ａｃｉｄ１装置モジュールオブジェクトはトータライザ装置モジュールクラスオブジェクトに属し、Ｃｏａｒｓｅ＿Ｖａｌｖｅ１モジュールオブジェクトおよびＦｉｎｅ＿Ｖａｌｖｅ１モジュールオブジェクトは図８のライブラリ区域608からのＯｎ＿ＯＦＦ＿Ｖａｌｖｅ１制御モジュールクラスオブジェクトに属し、Ｆｌｏｗ＿Ｍｅｔｅｒ１モジュールオブジェクトは図８のライブラリ区域608のＦｌｏｗ＿Ｍｅｔｅｒ制御モジュールクラスオブジェクトに属する。
【００７８】
また、Ａｃｉｄ１コンフィギュレーションポップアップスクリーン686のタブ表示画面には、パラメータ、ＩＯ（入力／出力）、アラーム、およびＦｉｅｌｄｂｕｓの表示がある。パラメータタブは、Ｒｅａｃｔｏｒ＿１モジュールオブジェクト668のＡｃｉｄ１トータライザのエレメントの各々のパラメータを指定または入力すべく用いられうる。ＩＯタブは、Ｒｅａｃｔｏｒ＿１モジュールオブジェクト668のＡｃｉｄ１トータライザモジュールオブジェクト682のエレメントの各々の入力／出力接続関係を指定することによりこれらの個々のエレメントをプロセスプラント10内の実際の装置に結びつけるべく用いられる。所望ならば、これらの結びつけを、図１５に示されているようなスプレッドシート用のアルゴリズムまたはプログラムを用いて指定することにより、（任意のレベルにおける）モジュールオブジェクトの全てのエレメントとプロセスプラント10内の実際のエレメントとの間の相互接続を全域的にまたは一括して指定してもよい。図１５のスプレッドシート表示画面688は、異なるトータライザ装置モジュールからの粗調整用バルブをプロセスプラント10内の装置に同時に結びつけることをコンフィギュレーションエンジニアに可能にするスプレッドシートビューを示している。このケースの場合、ＩＯ＿Ｏｕｔパス名およびＩＯ＿Ｒｅａｄｂａｃｋパス名がＶＬＶ−１０１Ａ、ＶＬＶ−２０１Ａ、ＶＬＶ−３０１Ａ、およびＶＬＶ−４０１Ａに対して指定されている。しかしながら、所望ならば、同一のモジュールの異なるエレメントが一括して指定されてもよい。
【００７９】
図１４をさらに説明すると、ポップアップスクリーン686のアラームタブは、Ａｃｉｄ＿１モジュールオブジェクトに関連するアラームを指定または構成すべく用いられうるし、Ｆｉｅｌｄｂｕｓタブは、必要に応じて、特定のＦｉｅｌｄｂｕｓデバイスの接続関係を指定すべく用いられうる。もちろん、同等のコンフィギュレーションスクリーンが、Ｒｅａｃｔｏｒ＿１モジュールオブジェクト668内の他のモジュールオブジェクトに対してまたはＲｅａｃｔｏｒ＿１モジュールオブジェクト668全体に対して用いられてもよい。同様に、同一のまたは同等のコンフィギュレーションスクリーンが、他のモジュールオブジェクトに対して用いられてもよい。いうまでもなく、これらのコンフィギュレーションスクリーンは、ユニットモジュールレベル、装置モジュールレベル、制御モジュールレベルなどを含むいかなるモジュールオブジェクトレベルで表示・使用されてもよい。
【００８０】
図１６は、プロセスプラント10用のコンフィギュレーションシステムのエクスプローラビュー661を有するスクリーン表示画面690を示しており、この画面によると、図８のＲｅａｔｏｒユニットモジュールクラスオブジェクト610からコピーまたは作成された、Ｒｅａｃｔｏｒ＿１＿１と呼ばれる反応装置モジュールオブジェクト692をコンフィギュレーションエンジニアがさらに追加している。もちろん、Ｒｅａｃｔｏｒ＿１＿１モジュールオブジェクト692の作成のときに、コンフィギュレーションエンジニアは、異なったパラメータ、異なるデバイスに対して異なった接続関係、およびそのサブエレメントの各々で異なった制御ルーチンを用いるように指定してもよい。図１６に示されているように、Ｒｅａｃｔｏｒ＿１＿１モジュールオブジェクトは、図８のＲｅａｃｔｏｒユニットモジュールクラスオブジェクト610内の装置モジュールクラスオブジェクトの各々のサブオブジェクトを有しており、これらには、Ａｃｉｄ２装置モジュールオブジェクト、Ａｌｋａｌｉ２装置モジュールオブジェクト、およびＯｕｔｌｅｔ４装置モジュールオブジェクトがふくまれる。また、Ｒｅａｃｔｏｒ＿１＿１モジュールオブジェクトは、Ｗａｔｅｒ＿Ｉｎ２、制御モジュールオブジェクト、Ｌｅｖｅｌ＿Ｍｅｔｅｒ２制御モジュールオブジェクト、Ｗａｔｅｒ＿ＨＤＲ１およびＤｏｓｅと呼ばれる共有装置モジュールオブジェクトのリファレンス、Ｄｒａｉｎユニットフェイズ、Ｆｌｕｓｈユニットフェイズ、およびＭｉｘユニットフェイズを有している。Ｒｅａｃｔｏｒ＿１＿１モジュールオブジェクト692とのみ関連するサブオブジェクトは、固有の名称が与えられており、Ｗａｔｅｒ＿ＨＤＲ１モジュールオブジェクトの如き共有ユニットは、共有水ヘッダの名称で示されている。
【００８１】
いうまでもなく、コンフィギュレーションエンジニアは、同様の方法で、本明細書記載の原理にしたがって、プロセス制御環境内のユニット、装置、制御エレメント、および表示エレメントに対してコンフィギュレーションエレメントを作成するために、その他のユニットモジュールオブジェクト、装置モジュールクラスオブジェクト、および制御モジュールクラスオブジェクトならびに表示モジュールクラスオブジェクトを用いてもよい。また、いうまでもなく、細目にまで至りうる、これらのモジュールクラスオブジェクトの利用により、コンフィギュレーションエンジニアは、コンフィギュレーションを行うのに非常に有利となる。というのは、コンフィギュレーションエンジニアは、制御テンプレートから別々に個々の制御エレメントを作成またはコピーする必要がないどころか、プロセスプラント10の構築に利用する非常に多くのコンフィギュレーションアイテムを作成すべく提供される非常に高レベルのまたは高適応範囲のモジュールクラスオブジェクトを用いることができる。
【００８２】
さらに、コンフィギュレーションエンジニアは、ユニットモジュールクラスオブジェクトのうちの一または複数を変更し、これらの変更を、当該ユニットモジュールクラスオブジェクトから作成されたまたはそれに関連づけされているモジュールオブジェクトの各々に伝送することにより、全域的に異なるプロセスエンティティのコンフィギュレーションのエレメントに対して変更を加えうる。この機能により、コンフィギュレーションが行われたあとのそのコンフィギュレーションの変更が、容易なかつ時間のかからないものとなる。さらに、コンフィギュレーションエンジニアは、モジュールクラスオブジェクト内のセキュリティパラメータを設定することにより、コンフィギュレーションシステム内のモジュールオブジェクトのさまざまなエレメントまたはコンポーネントに対するアクセスレベルを指定しうる。上記のように、コンフィギュレーションエンジニアは、セキュリティを、モジュール毎に、ユニットモジュールレベル、装置モジュールレベル、制御モジュールレベル、および表示モジュールレベルの如き任意のレベルで指定しうる。このようにして、ユニットモジュールオブジェクトうちの一部のエレメントは閲覧できるようになっており他のエレメントは閲覧できないようになっていてもよい。
【００８３】
もちろん、コンフィギュレーションシステムが完成しモジュールオブジェクトがプロセスプラント10内の個々のプロセスエンティティと結びつけられると、これらのモジュールに関連する制御用および表示用のモジュールまたはエレメントを、プロセスプラント10の運転中に実行すべく、図１の適切なコントローラ12およびワークステーション14にダウンロードしてもよい。
【００８４】
図１７は、プロセスプラントアイテムを設定し当該アイテムへのアクセスを制限するルーチン700の一例を示すフローダイアグラムである。このルーチン700は、図１のプロセスプラント10のワークステーション14のうちの一もしくは複数および／またはコントローラ12の如き一または複数のコンピューティングシステムにより実行されうる。また、このルーチン700は、プロセスプラント10から分離されているコンピューティングシステムにより実行されてもよい。たとえば、第三者であるプロバイダは、当該第三者であるプロバイダにより作成されたたとえばモジュールオブジェクト、モジュールクラスオブジェクト、モジュールテンプレート、複合テンプレートなどへのアクセスを制限すべくルーチン700を用いてもよい。そして、これらの作成されたモジュールオブジェクト、モジュールクラスオブジェクト、複合テンプレートなどは、この第三者であるプロバイダの顧客により利用されうるが、この顧客は、これらの作成されたモジュールオブジェクト、モジュールクラスオブジェクト、複合テンプレートなどの内部にあるアイテムの一部または全部をたとえば閲覧することが可能でない。一般的に、設定されるプロセスプラントアイテムは、モジュールオブジェクト、モジュールクラスオブジェクト、複合テンプレートなどである。ルーチン700は、たとえばコンフィギュレーションアプリケーション50の如きコンフィギュレーションアプリケーションの一部として実行されうる。たとえば、ルーチン700は、モジュールオブジェクト、モジュールクラスオブジェクト、複合テンプレートなどのコンフィギュレーション中にまたはそのあとで、コンフィギュレーションアプリケーション50を用いて実行されうる。また、ルーチン700は、コンフィギュレーションアプリケーション50から分離されたアプリケーションにより実行されうる。
【００８５】
ブロック702で、なんらかのプロセスプラントアイテムへのアクセスを制限する（すなわち、そのプロセスプラントアイテムに関連するデータを保護する）ことを示すユーザ入力情報が受信される。たとえば、当該アイテムを設定している人が、当該アイテムに関連するデータを保護することを示す、ボックスのチェック、ボタンの選択、メニューアイテムの選択などを行いうる。また、このユーザ入力情報は、そのアイテムのどの情報が保護されるのかを示してもよい。たとえば、ユーザは、一部のデータを保護し他のデータを保護しないでおくことを選択してもよい。
【００８６】
他の方法では、ユーザは、検出されるデータの選択を許容されえない。たとえば、ユーザは、あるアイテムに対して保護または非保護のいずれかを選択できるのみである場合がある。一例では、モジュールオブジェクトまたはモジュールクラスオブジェクトに関連するデータの保護を選択した場合、そのモジュールオブジェクトまたはモジュールクラスオブジェクトに関連する一組のデータは保護されうるが、そのセットに含まれないデータは保護されない。たとえば、モジュールオブジェクトまたはモジュールクラスオブジェクトを構成する機能ブロックおよびそれらの相互接続情報は保護されるが、そのモジュールオブジェクトまたはモジュールクラスオブジェクトのパラメータは保護されない。
【００８７】
図１８（ａ）および図１８（ｂ）は、図１のコンフィギュレーションアプリケーション50の如きコンフィギュレーションアプリケーションにより作成されうるスクリーン表示画面の一例である。プロセスの動作中にそのプロセスを監視すべく用いられるアプルケーション、コンフィギュレーションをデバッギングするためのデバッギングアプリケーション、資産管理アプリケーションなどの如き他のタイプのアプリケーションにより同等のスクリーン表示画面が作成されうる。スクリーン表示画面720は、複合テンプレートのライブラリ724を有するエクスプローラビューの一部722を備えている。上記の複合テンプレートのうちの一つは、ＤＹＮ＿ＦＵＬＬ複合テンプレート726である。このＤＹＮ＿ＦＵＬＬ複合テンプレート726は、さまざまなサブエレメントを有している。これらのサブエレメントは、エクスプローラビュー722においてＤＹＮ＿ＦＵＬＬ複合テンプレート726が選択されているので、スクリーン表示画面720の右側に示されている。ＤＹＮ＿ＦＵＬＬ複合テンプレート726を構成する上記のサブエレメントはパラメータと機能ブロック730とを有している。
【００８８】
スクリーン表示画面720では、ＤＹＮ＿ＦＵＬＬ複合テンプレート726が保護されるものとして設定されていないので、当該スクリーン表示画面720の右側に、機能ブロック730が表示されている。その一方、図１８（ｂ）は、保護されるものとして設定されたＤＹＮ＿ＦＵＬＬ複合テンプレート726に相当するスクリーン表示画面732を示している。したがって、スクリーン表示画面732では、機能ブロック730は、上記右側728に表示されていない（すなわち、それらは隠されている）。ＤＹＮ＿ＦＵＬＬ複合テンプレート726のパラメータは、ＤＹＮ＿ＦＵＬＬ複合テンプレート726が保護されるものとして設定されていても、依然として表示されている。
【００８９】
図１７をさらに説明すると、ブロック704で、ユーザは、パスワードを入力するように促されうる。たとえば、ウィンドウプロンプト、スクリーンプロンプト、オーディオプロンプトはユーザに対してパスワードを入力するように促しうる。以下で記載するように、このパスワードが、後に、保護データにアクセスするためにおよび／またはアイテムを再設定し保護を解除するために用いられうる。ブロック706で、上記のパスワードが受信されうる。たとえば、パスワードは、コンピューティングシステムのキーボード、キーパッド、タッチスクリーン、ライトペン、マウスなどを用いて入力されうる。
【００９０】
ブロック708では、保護されるプロセスプラントアイテムに関連するデータであるという表示記号が格納され、そのアイテムと関連づけされうる。たとえば、上記アイテムがオブジェクトである場合、表示記号はオブジェクトの一部として格納されうる。他の例としては、表示記号がオブジェクトから分離されて格納され、その表示記号へのリンクがそのオブジェクトの一部として格納されうる。さらに他の例では、プロセスプラントアイテムがモジュールクラスオブジェクトから作成されるアイテムである場合、表示記号は、そのモジュールクラスオブジェクトの一部として格納されうる。ユーザが保護するデータの選択を許容されない場合、ブロック708は削除されうる。
【００９１】
ブロック710では、ブロック706で受信されたパスワードが格納され、そのアイテムと関連付けされうる。たとえば、そのアイテムがオブジェクトである場合、パスワードはそのオブジェクトの一部として格納されうる。他の例では、パスワードがオブジェクトから分離されて格納され、そのパスワードへのリンクがそのオブジェクトの一部として格納されうる。さらに他の例では、プロセスプラントアイテムがモジュールクラスオブジェクトから作成されるアイテムである場合、パスワードは、そのモジュールクラスオブジェクトの一部として格納されうる。
【００９２】
任意選択的に、保護されるデータおよび／またはパスワードは暗号化されうる。これらの実施態様では、ブロック708、710は、暗号化されたデータおよび／または暗号化されたパスワードを格納し関連づけすることを含む。さらに、プロセスプラントアイテムがモジュールクラスオブジェクトから作成されるアイテムである場合には、保護されるデータまたは暗号化されるデータはそのモジュールクラスオブジェクトの一部として格納されうる。
【００９３】
上記のアイテムがモジュールクラスオブジェクトである場合には、保護されるデータであるという表示記号およびパスワードは、そのモジュールクラスオブジェクトから作成されるアイテムに伝送されうる。
【００９４】
ルーチン700と同等のルーチンがプロセスプラントアイテムまたはそのアイテムに関連付けされる特定のデータを「保護解除」すべく用いられうる。すなわち、保護されているプロセスプラントアイテムに関連するデータを保護解除することを示すユーザ入力情報が受信されうる。そして、ユーザはパスワードを促される。ルーチン700のブロック710で、受信されたパスワードが、格納されている、保護されるプロセスプラントアイテムに関連づけされているパスワードと一致した場合、ユーザは、保護されるデータのうちいずれを（または全てを）保護解除にするのかに関する入力を促される。次いで、ルーチン700のブロック708で格納されそのアイテムと関連づけされた表示記号は、そのデータの一部または全部が保護されないことを示すように修正されうる。
【００９５】
図１９は、一群のプロセスプラントアイテムを設定してその群へのアクセスを制限するルーチン750の一例を示すフローダイアグラムである。このルーチン750は、図１のプロセスプラント10のワークステーション14のうちの一または複数および／またはコントローラ12の如き一または複数のコンピューティングシステムにより実行されうる。この群内のプロセスプラントアイテムは、たとえば、モジュールオブジェクト、モジュールクラスオブジェクト、および／または複合テンプレートでありうる。ルーチン750は、コンフィギュレーションアプリケーション50の如きコンフィギュレーションアプリケーションの一部として実行されうる。たとえば、ルーチン750は、コンフィギュレーションアプリケーション50を用いて上記の群のアイテムを設定したあとに実行されうる。また、ルーチン750は、コンフィギュレーションアプリケーション50とは別のアプリケーションにより実行されうる。
【００９６】
ブロック752では、上記の一群のアイテムへのアクセスが制限されること（すなわち、上記の一群のプロセスプラントアイテムが保護されること）を示すユーザ入力情報が受信される。たとえば、この群の各アイテムに関連するデータへのアクセスが防御される。これに加えて、この群へのアイテムの追加またはこの群からアイテムの削除は禁止される。このような一群のアイテムとは、たとえば、アイテムのライブラリ、アイテムのフォルダ、アイテムのクラス、アイテムのカテゴリなどである。
【００９７】
一群のアイテムを設定する人は、一群のアイテムを強調表示することにより、ライブラリ名、フォルダ名、クラス名、カテゴリ名を選択することなどにより、その群の選択をまず行いうる。図１８（ａ）を説明すると、人は、たとえば、サブライブラリ734の選択、カテゴリ736の選択、そのカテゴリ736内の複数のモジュールの強調表示などを行いうる。次いで、その人は、たとえば、その群が保護されることを示すための、ボックスのチェック、ボタンの選択、メニューアイテムの選択などを行いうる。
【００９８】
図１９をさらに参照すると、ブロック754では、ユーザはパスワードを入力するように促されうる。たとえば、ウィンドウプロンプト、スクリーンプロンプト、オーディオプロンプトによりユーザに対してパスワードを入力するように促しうる。以下で記載するように、このパスワードが、後に、保護データにアクセスするためにおよび／またはアイテムを再設定し保護を解除するために用いられうる。ブロック756で、上記のパスワードが受信されうる。たとえば、パスワードは、コンピューティングシステムのキーボード、キーパッド、タッチスクリーン、ライトペン、マウスなどを用いて入力されうる。
【００９９】
ブロック758で、その一群のアイテムが保護されるという表示記号が格納され、そのアイテムと関連づけされうる。たとえば、上記の群がアイテムのカテゴリである場合、そのカテゴリを変更しようという試みがなされた場合に、そのカテゴリが保護されていることが判別されるように、上記の一群のアイテムが保護されるという表示記号が格納され、この表示記号がそのカテゴリと関連付けされる。さらに、表示記号はその群の各アイテムと関連づけされうる。たとえば、これらのアイテムがオブジェクトである場合、そのアイテムが保護されている群のアイテムであるという表示記号が各オブジェクトの一部として格納されうる。また、その表示記号が各オブジェクトから分離されて格納されうるし、その表示記号へのリンクが各オブジェクトの一部として格納されうる。
【０１００】
ブロック760では、ブロック756で受信されたパスワードが格納され、上記の一群のアイテムと関連づけされうる。たとえば、その群がアイテムのカテゴリである場合、パスワードが格納され、そのパスワードはそのカテゴリと関連づけされうる。さらに、そのパスワードはその群の各アイテムと関連づけされうる。たとえば、これらのアイテムがオブジェクトである場合、そのパスワードは各オブジェクトの一部として格納されうる。また、そのパスワードが各オブジェクトから分離されて格納されうるし、そのパスワードへのリンクが各オブジェクトの一部として格納されうる。
【０１０１】
図１７のルーチン700と同様に、ルーチン750と同等のルーチンが、上記の一群のプロセスプラントアイテムを「保護解除」すべく用いられうる。
【０１０２】
図２０は、保護されることもあれば保護されないこともある、プロセスプラントアイテムに関連づけされたデータの閲覧を許可するか否かを判定するルーチン770の一例を示すフローダイアグラムである。このルーチン770は、図１のプロセスプラント10のワークステーション14のうちの一または複数および／またはコントローラ12の如き一または複数のコンピューティングシステムにより実行されうる。このようなプロセスプラントアイテムは、モジュールオブジェクト、モジュールクラスオブジェクト、複合テンプレートなどを有している。ルーチン770は、コンフィギュレーションアプリケーション50の如きコンフィギュレーションアプリケーションの一部として実行されうる。また、ルーチン770は、監視アプリケーション、デバッギングアプリケーション、資産管理アプリケーションなどの如き他のアプリケーションの一部として実行されうる。
【０１０３】
ブロック772では、プロセスプラントアイテムに関連するデータを閲覧する要求が受信される。たとえば、ユーザは、エクスプローラビューにおいてアイテムを選択し、モジュールへとドリルダウンし、そのモジュールのコンポーネントを調べうる。一例として図１８（ｂ）を参照すると、ユーザは、スクリーン表示画面732におけるエクスプローラビューのうちの部分722においてＤＹＮ＿ＦＵＬＬ複合テンプレート726を選択している。したがって、ＤＹＮ＿ＦＵＬＬ複合テンプレート726のサブエレメントがスクリーン表示画面732の右側に表示される。
【０１０４】
ブロック774では、上記のアイテムに関連するデータを保護するか否かが判定される。たとえば、図１７のブロック708で格納されるような、上記のアイテムに関連するデータが保護されることを示す表示記号の如き、上記のアイテムに関連する表示記号が存在するか否かが判定されうる。他の一例では、図１９のブロック758で格納されるような、上記のアイテムが保護される一群のアイテムの一部であることを示す表示記号の如きアイテムに関連する表示記号が存在するか否かが判定される。
【０１０５】
アイテムに関連するデータが保護されない場合、フローは、そのアイテムに関連するデータが表示されるブロック776へ進みうる。たとえば、ユーザがエクスプローラビューにおいてそのアイテムを選択した場合、そのアイテムのサブエレメントが表示クリーンの一部分に表示されうる。一例として図１８（ａ）を参照すると、ユーザは、スクリーン表示画面720におけるエクスプローラビューノブ分722においてＤＹＮ＿ＦＵＬＬ複合テンプレート726を選択している。したがって、機能ブロック730を含む、ＤＹＮ＿ＦＵＬＬ複合テンプレート726のサブエレメントが、スクリーン表示画面720の右側部分728に表示される。他の一例では、ユーザの要求によりモジュールに至るまで「ドリルダウン」し、そのモジュールのコンポーネントを調べる場合、そのモジュールのコンポーネントが表示スクリーンまたはウィンドウに表示されうる。
【０１０６】
ブロック774において、アイテムに関連するデータが保護されることが判定された場合フローはブロック786へ進みうる。ここで、そのアイテムに関連するデータのうちの保護されるデータは表示されないが、非保護のデータは表示されうる。
【０１０７】
任意選択的に、ブロック774でアイテムに関連するデータが保護されると判定された場合、フローはブロック778に進んでもよい。ブロック778では、ユーザは。たとえばウィンドウプロンプト、表示スクリーンプロンプト、オーディオプロンプトなどを用いてパスワードを入力するように促されうる。たとえば、パスワードは、コンピューティングシステムのキーボード、キーパッド、タッチスクリーン、ライトペン、マウスなどを用いて入力されうる。ブロック782では、ブロック780で受信されたパスワードは、格納されそのアイテムに関連づけされたパスワードと比較されうる。たとえば、受信されたパスワードは、図１７のブロック710で格納されたパスワード、または図１９のブロック760で格納されたパスワードと比較されうる。
【０１０８】
ブロック784では、ブロック780で受信されたパスワードが、格納されかつそのアイテムに関連づけされているパスワードと一致するか否かが判定されうる。これらのパスワードが一致する場合、そのアイテムに関連するデータがブロック776で表示されうる。パスワードが一致しない場合、ブロック786で、そのアイテムに関連するデータのうちの保護されるデータは表示されないが非保護のデータは表示されうる。たとえば、図１８を参照すると、ＤＹＮ＿ＦＵＬＬモジュール726のパラメータが表示スクリーン732の右側部分728において表示されているがＤＹＮ＿ＦＵＬＬモジュール726のこう制している機能ブロックは表示されていない。
【０１０９】
なお、ブロック778、780、782、784は、任意なものであり、削除されてもよい。このようなケースの場合には、上記のように、ブロック774でデータが保護されることが判定された場合、フローはブロック７８６へ進みうる。
【０１１０】
図２１は、保護されることもあれば保護されないこともあるプロセスプラントアイテムまたは一群のプロセスプラントアイテムの修正を許可するか否を判定するルーチンの一例を示すフローダイアグラムである。このルーチン800は、図１のプロセスプラント10のワークステーション14のうちの一または複数および／またはコントローラ12の如き一または複数のコンピューティングシステムにより実行されうる。このようなプロセスプラントアイテムは、たとえば、モジュールオブジェクト、モジュールクラスオブジェクト、および／または複合テンプレートを有している。ルーチン800は、コンフィギュレーションアプリケーション50の如きコンフィギュレーションアプリケーションの一部として実行されうる。また、ルーチン800は、たとえば資産管理アプリケーションの如き他のアプリケーションの一部として実行されうる。
【０１１１】
ブロック802では、プロセスプラントアイテムまたは一群のプロセスプラントアイテムの修正の要求が受信される。たとえば、ユーザは、エクスプローラビューにおいて、修正するアイテムの選択、アイテムの修正するコンポーネントなどを行いうる。他の一例では、ユーザは、一群のアイテム代えアイテムの削除、一群のアイテムに対して新規のアイテムの追加などを試みうる。
【０１１２】
ブロック804では、アイテムまたは一群のアイテムが保護されるか否かが判定される。たとえば、図１７のブロック708で格納されるような、上記のアイテムに関連するデータが保護されることを示す表示記号の如き、上記のアイテムに関連する表示記号が存在するか否かが判定されうる。他の一例では、図１９のブロック758で格納されるような、上記のアイテムが保護される一群のアイテムの一部であることを示す表示記号の如き、上記のアイテムに関連する表示記号が存在するか否かが判定されうる。さらに他の一例では、図１９のブロック758で格納されるような、上記の一群のアイテムが保護されることを示す表示記号の如き、上記の一群のアイテムに関連する表示記号が存在するか否かが判定されうる。
【０１１３】
上記のアイテムまたは上記の一群のアイテムに関連するデータが保護されない場合、フローは、修正が許可されるブロック806へ進みうる。しかしながら、ブロック804で、上記のアイテムまたは上記の一群のアイテムに関連するデータが保護されると判定された場合、フローはブロック808へ進みうる。ブロック808では、ユーザが修正しようとしている上記のアイテムまたは上記の一群のアイテムが保護されていることを示す通知（たとえば、ウィンドウプロンプト、表示スクリーンプロンプト、オーディオプロンプトなど）が生成されうる。任意選択的に、ブロック808は削除されてもよい。このようなケースの場合には、上記のアイテムまたは上記の一群のアイテムは、上記のアイテムまたは上記の一群のアイテムが保護されていることをユーザに示すような方法で表示されうる。たとえば、上記のアイテムまたは上記の一群のアイテムの画像が、上記のアイテムまたは上記の一群のアイテムが保護されていることを示すように、「灰色」になってもよいし、シンボルを有すなどしてもよい。他の一例では、上記のアイテムまたは上記の一群のアイテムが保護されているというユーザに対する表示が存在しない場合もある。このようなケースの場合、ユーザは、上記のアイテムまたは上記の一群のアイテムの修正を単に行えないということもある。このブロック808のあとかまたはブロック808が削除されている場合、ルーチンは終了してもよい。
【０１１４】
任意選択的に、フローはブロック810へ進んでもよい。ブロック810では、ユーザは、ウィンドウプロンプト、表示スクリーンプロンプト、オーディオプロンプトなどを用いて、パスワードを入力するように促されうる。ブロック812において、ユーザにより入力されたパスワードが受信されうる。たとえば、このパスワードは、コンピューティングシステムのキーボード、キーパッド、タッチスクリーン、ライトペン、マウスなどを利用して入力されうる。ブロック814では、ブロック812で受信されたパスワードが、格納されかつ上記のアイテムまたは上記の一群のアイテムに関連づけされているパスワードと比較されうる。たとえば、受信されたパスワードは、図１７ノブロック710で格納されたパスワードまたは図１９ノブロック760で格納されたパスワードと比較されうる。
【０１１５】
ブロック816では、ブロック812で受信されたパスワードが、格納されかつ上記のアイテムまたは上記の一群のアイテムと関連づけされているパスワードと一致するか否が判定されうる。これらのパスワードが一致する場合、その修正がブロック806において許可されうる。これらのパスワードが一致しない場合、その修正が許可されないという通知がブロック818において生成されうる。これに代えてまたはこれに加えて、この通知は、ブロック812で受信されたパスワードが正しいパスワードでないことを示してもよい。
【０１１６】
以上のように、ブロック810、812、814、816、818は、任意のものであり、削除されてもよい。このようなケースの場合、ルーチンはブロック808のあと終了しうる。また、ブロック808は、任意のものであり、削除されてもよい。このようなケースの場合、ルーチンは、上記のアイテムまたは上記の一群のアイテムが保護されるとブロック804で判定されている場合、終了してもよいし任意ブロック810へ進んでもよい。
【０１１７】
図１７および図１９〜２１では、プロセスプラントアイテムへのアクセスを制限するためのパスワードに関して説明されたが、パスワードに代えてまたはそれに加えて、アクセスを制限する他の技術が用いられてもよい。たとえば、アイテムに対するアクセスを許可された人を表す事前許可セキュリティアクセスレベル、アイテムに対するアクセスを許可された特定の人の表示記号（ログイン名、ＩＤ番号）のリストなどが用いられてもよい。さらに、全てのアクセスを禁止するか否か、読み取りアクセスのみ許可するか否か、異なる人および／または異なるレベルの認可に対する異なる防御レベルのなどの如き防御レベルに関連するデータが、さらにアイテムまたは一群のアイテムに関連づけされうる。さらに、一部の実施態様では、ユーザは、アイテムのサブエレメントに対して異なるレベルのセキュリティレベルを選択することを許可されうる。一般的に、アクセスセキュリティデータ（たとえば、パスワード、バイオメトリックデータ、事前に許可されたセキュリティティアクセスレベル、許可された人および／またはＩＤのリストなど）は、格納されかつプロセスプラントアイテムと関連づけされうるし、このアクセスセキュリティデータは、ユーザセキュリティデータ（たとえば、ユーザにより入力されるパスワード、ユーザのＩＤ、ユーザのログインＩＤ、ユーザより得られるバイオメトリックデータなど）と比較され、アイテムおよび／またはそのアイテムの特定のサブエレメントへのアクセスを許可されているか否かを判定しうる。
【０１１８】
図１７を説明すると、ブロック704、706、710は、所望ならば、削除されてもよい。たとえば、ユーザは、プロセスプラントアイテムまたは当該プロセスプラントアイテムに関連するデータが保護されることを示してもよい。次いで、ユーザは、図１９のルーチン750と同等のルーチンを用いて、自分が保護したいプロセスプラントアイテムを含む一群のアイテムを保護してもよい。このようにして、ユーザは、保護されているデータを閲覧すべく他の人によりそのアイテムの設定が変更されること禁止しうる。
【０１１９】
図２２は、プロセスプラントアイテムをエクスポートるルーチン830の一例を示すフローダイアグラムである。このルーチン830は、図１のワークステーション14のうちの一または複数および／またはコントローラ12の如き一または複数のコンピューティングシステムにより実行されうる。また、ルーチン830は、プロセスプラント10から分離されたコンピューティングシステムにより実行されうる。たとえば、ルーチン830は、プロセスプラントアイテムを顧客にまたはプロセスプラント10へエクスポートするために、第三のプロバイダのコンピューティングシステムまたは他のプロセスプラントのコンピューティングシステムにより実行されうる。このプロセスプラントアイテムは、モジュールオブジェクト、モジュールクラスオブジェクト、複合テンプレートなどを有しうる。ルーチン830は、コンフィギュレーションアプリケーション50の如きコンフィギュレーションアプリケーションの一部として実行されうる。また、ルーチン830は、資産運用アプリケーションまたは、たとえば第三のプロバイダにより用いられるアプリケーションの如き他のアプリケーションの一部として実行されうる。
【０１２０】
ブロック832では、プロセスプラントアイテムをエクスポートする要求が受信されうる。たとえば、ユーザは、エクスプローラビューへエクスポートするアイテムを選択しうる。他の一例では、ユーザは、エクスポートする一群のプロセスプラントアイテムを選択しうるし、ルーチン830をその一群の各々に対して実行しうる。
【０１２１】
ブロック834では、上記アイテムに関連するデータが保護されるか否かが判定される。たとえば、図１７のブロック708で格納されるような、上記のアイテムに関連するデータが保護されることを示す表示記号の如き、上記のアイテムに関連する表示記号が存在するか否かが判定されうる。他の一例では、図１９のブロック758で格納されるような、上記のアイテムが、保護される一群のアイテムの一部であることを示す表示記号の如き上記アイテムに関連する表示記号が存在するか否かが判定される。上記アイテムに関連するデータが保護されない場合、フローは、上記アイテムがエクスポートされうるブロック836へ進みうる。
【０１２２】
しかしながら、ブロック834で上記アイテムに関連するデータが保護されると判定された場合、フローは、ブロック838へ進みうる。ブロック838では、保護されるデータが暗号化されうる。次いで、ブロック840では、上記のアイテムに関連するパスワードが暗号化されうる。たとえば、図１７ノブロック706で受信されたパスワードまたは図１９のブロック756で受信されたパスワードが暗号化される。
【０１２３】
ブロック842では、上記アイテムは、保護されるデータが暗号化された保護データと交換されパスワードが暗号化されたパスワードと交換された状態で、エクスポートされうる。このプロセスプラントアイテムがモジュールクラスオブジェクトから作成されたアイテムである場合、暗号化されたデータおよび／または暗号化されたパスワードは、たとえば、そのモジュールクラスオブジェクトまたはそのアイテムの一部としてエクスポートされうる。
【０１２４】
図２３は、プロセスプラントに関連するバージョン管理および監査トレイル情報を提供すべく用いられうるコンフィギュレーションシステム900の一例を示すブロック線図である利用可能なバージョン管理技術および監査トレイル技術のさらなる態様は、本出願の譲受者に譲渡された表題が「プロセスプラントにおけるバージョン管理および監査トレイル（Version Control and Audit Trail in a Process Control System）」である米国特許番号第6,449,624号に記載されている。いうまでもなく、米国特許番号第6,449,624号に記載されている技術を用いなければならないということはなく、異なる技術を用いてもよい。米国特許番号第6,449,624号は、本明細書において参照することにより、全ての目的においてその全内容をここに援用されるものとする。
【０１２５】
コンフィギュレーションシステム900は、たとえばワークステーション14（図１）またはなんらかの他のコンピューティングデバイスの表示デバイス丈に生成されうるユーザインターフェイス904を備えている。このユーザインターフェイス904は、一または複数のコンフィギュレーションアプリケーション906を用いてプロセスプラントまたはプロセスプラントの一部を設定することをユーザに可能にしうる。コンフィギュレーションアプリケーション906は、コンフィギュレーションアプリケーション50（図１）の如きコンフィギュレーションアプリケーションを含みうる。また、ユーザインターフェイス904は、バージョン管理および監査トレイルシステム908（以後、「ＶＣＡＴシステム」と呼ぶ）と接続され、このＶＣＡＴシステムは、通常、コンフィギュレーションアプリケーション906と協働し、プロセスプラントまたはそのプロセスプラントの一部の設定に関する履歴情報を記録・管理する。コンフィギュレーションアプリケーション906およびＶＣＡＴシステム908の両方は、コンフィギュレーションデータベース912にアクセスまたはそれと通信し、このコンフィギュレーションデータベース912は、プロセスプラントまたはそのプロセスプラントの一部の現在時点での設定（以後、プロセスコンフィギュレーションと呼ぶ）を表すデータを格納しうる。また、ＶＣＡＴシステム908は、バージョン管理データベース910とも通信する。
【０１２６】
バージョン管理データベース910は、プロセスコンフィギュレーションにおいて活用される各アイテムの任意の数の以前のバージョンを表すコンフィギュレーション履歴データを有しうる。一緒にすると、全てのアイテムの履歴データを用いて、プロセスの以前の設定を再現することが可能である。さらに詳細にいうと、コンフィギュレーションデータベース912内の各アイテム（およびコンフィギュレーションデータベース912内にはもはや存在していない各アイテム）に対して、そのアイテムのコンフィギュレーションを表すデータが複数のバージョンにわたり格納されている。たとえば、あるアイテムがその作成以来３回にわたり修正されてきているとする。したがって、バージョン管理データベース910は、作成の時点でのそのアイテムのコンフィギュレーションを表す「バージョン１」と呼ばれうるデータのみならず、上記の３回の修正の各々のあとのそのアイテムのコンフィギュレーションを表す「バージョン２」、「バージョン３」、および「バージョン４」に相当するデータも有していることになる。
【０１２７】
したがって、コンフィギュレーション履歴データは、モジュールオブジェクトおよびモジュールクラスオブジェクトに対して加えられる修正全てを表すデータを有しうる。これらの修正は、限定されるわけではないが、コンフィギュレーションアプリケーション906を用い手行われうる。ユーザインターフェイス904、コンフィギュレーションアプリケーション906、およびＶＣＡＴシステム908のうちのいずれかまたは全てを組み合わせて、単一の統合されたシステムにしうる。しかしながら、説明の便宜上、タスクを、インターフェイス904、コンフィギュレーションアプリケーション906、およびＶＣＡＴシステム908に対して別々に帰属するものとして本明細書で記載する。ＶＣＡＴシステム908は、プロセスコンフィギュレーションの修正を監視することを可能にするような方法でワークステーション14（図１）の如き一または複数のコンピューティングデバイスを用いて実装されうる。ユーザインターフェイス904およびコンフィギュレーションアプリケーション906は、ＶＣＡＴシステム908と同一のコンピューティングデバイス上に、またはＶＣＡＴシステム908を実装するコンピューティングデバイスと通信する異なるコンピューティングデバイス上に実装されうる。
【０１２８】
データベース910、912の一方または両方のデータは、ワークステーション14と関連するたとえば揮発性メモリ、磁気式格納媒体、または光学式格納媒体の如き、プロセスプラント10内のいずこかに物理的に設けられているコンピュータ夜も取り可能媒体に格納されうる。これに代えて、データベース910、912の一方または両方のデータは、ワークステーション14の如きコンピューティングデバイスが、イントラネット、インターネット、またはその他の通信媒体の如きネットワークを利用して格納されているデータにアクセスするような遠隔の領域に格納されうる。さらに、データベース910、912の各々に格納されるデータは、同一のコンピュータ読み取り可能媒体に格納される必要はない。したがって、データベース910、912の一部分が、他の部分を格納するデバイスまたは媒体とは異なるメモリデバイスまたはメモリ媒体に格納されてもよい。
【０１２９】
図２３では、ＶＣＡＴシステム908は、バージョン管理データベース910とは異なりかつそれから分離されたものとして示されている。これに代えて、バージョン管理データベース910がＶＣＡＴシステム908の一部を形成してもよい。同様に、コンフィギュレーションデータベース912およびバージョン管理データベース910は、分離されたかつ異なるデータ構造を構成してもよいが、これに限定されるわけではない。すなわち、データベース910、912は、同一の格納媒体に設けられてもよいし、事実上、プロセスプラント10専用の共通データベースの一部分を構成しうる。さらに、データベース910、912の各々に格納されるデータは、同一のコンピュータ読み取り可能媒体に格納される必要がない。したがって、本明細書で用いられる「データベース」は、いかなる特定のデータ構造に限定されることなく解釈されるべきである。
【０１３０】
図２４は、プロセスプラントアイテムのバージョン野津移籍を用にするルーチン930の一例を示すフローダイアグラムである。このプロセスプラントアイテムは、たとえば、モジュールオブジェクトおよび／またはモジュールクラスオブジェクトを有しうる、ルーチン930は、図２３のＶＣＡＴシステム908などにより実行されうる。図２３を参照しながら、このルーチン930を説明する。
【０１３１】
ブロック932では、プロセスプラントアイテムの修正が検出されうる。たとえば、ユーザは、コンフィギュレーションアプリケーション906を用いてプロセスコンフィギュレーションに対して新規のアイテムの追加を試みうる。他の一例では、ユーザは、アイテムの修正したあと、コンフィギュレーションデータベース912にそのアイテムを保存することを要求しうる。さらに他の一例では、ユーザは、アイテムの修正したあと、コンフィギュレーションデータベース912にそのアイテムを「チェックイン」することを要求しうる。米国特許第6,449,624は、利用可能な「チェックイン」手順および「チェックアウト」手順に関連する技術を記載している。
【０１３２】
ブロック934では、モジュールクラスオブジェクトがアイテムの修正に用いられた場合にいずれのモジュールクラスオブジェクトが用いられたかが判定されうる。たとえば、第一のモジュールクラスオブジェクトが第二のモジュールクラスオブジェクトの作成に用いられ、次いで、この第二のモジュールクラスオブジェクトがアイテムの作成に用いられている。アイテムの修正に一または複数のモジュールクラスオブジェクトが用いられた場合、ブロック936で、用いられたモジュールクラスオブジェクトの各々のバージョンが判定されうる。
【０１３３】
ブロック938では、修正されたアイテムのバージョン識別子が生成される。このバージョン識別子は、数字、文字、シンボルなどを有しうる。バージョン識別子は、ブロック932で検出される修正を反映するバージョンを表す。たとえば、ブロック932で検出された修正がアイテムの作成であった場合、そのバージョン識別子は第一のバージョンを表す。他の一例では、ブロック932で検出された修正がアイテムの第一のバージョンの修正であった場合、そのバージョン識別子は第二のバージョンを表す。
【０１３４】
ブロック940では、ブロック938で生成されたバージョン識別子が、格納され、修正されたアイテムと関連づけされる。たとえば、そのアイテムがオブジェクトである場合、そのバージョン識別子は、そのオブジェクトの一部として格納されうる。他の一例では、そのバージョン識別子は、そのオブジェクトから分離されて格納されうるし、そのバージョン識別子へのリンクがそのオブジェクトの一部として格納されうる。
【０１３５】
ブロック942では、ブロック936で判定された、アイテムを構成している一または複数のモジュールクラスオブジェクトのバージョン識別子が、格納され、修正されたアイテムと関連づけされうる。たとえば、アイテムがオブジェクトである場合、そのバージョン識別子はそのオブジェクトの一部として格納されうる。他の一例では、そのバージョン識別子は、オブジェクトから分離されて格納されうるし、そのバージョン識別子への一または複数のリンクは、そのオブジェクトの一部として格納されうる。さらに他の一例では、ブロック938で生成されるバージョン識別子は、ブロック936で生成されるバージョン識別子を用いて生成されうる。たとえば、ブロック936で判定されるバージョン識別子は、ブロック938で生成されるバージョン識別子内にコード化されうる。このようなケースの場合、ブロック940はブロック942を包含しうる。
【０１３６】
図２５は、プロセスプラントアイテムのバージョンの追跡を容易にするルーチン948の一例を示すフローダイアグラムである。これらのプロセスプラントアイテムは、モジュールオブジェクトおよび／またはモジュールクラスオブジェクトを有しうる。ルーチン948は、たとえば図２３のＶＣＡＴシステム908により実行されうる。
【０１３７】
ブロック950では、モジュールクラスオブジェクトの新規のバージョンが作成されたか否かが判定されうる。たとえば、モジュールクラスオブジェクトの新規のバージョンがいつ「チェックイン」されたかが検出されうる。ブロック952では、そのモジュールクラスオブジェクトを用いて作成されたプロセスプラントアイテムが判定されうる。たとえば、図６を参照すると、モジュールオブジェクトのうちのいずれが上記のモジュールクラスオブジェクトから作成されたものかを判定するために、メモリ526が検査されうる。また、他のモジュールクラスオブジェクトのうちのいずれが上記のモジュールクラスオブジェクトから作成されたものかを判定するために、メモリ526または他のメモリもしくはセクションが検査されうる。
【０１３８】
ブロック954では、モジュールクラスオブジェクトの新規のバージョンまたはそのモジュールクラスオブジェクトに対して加えられた変更が、ブロック952で判定されたアイテムに伝送されうる。次いで、ブロック958で、そのモジュールクラスオブジェクトの新規のバージョンのバージョン識別子が、格納され、ブロック952で判定されたアイテムに関連づけされうる。一例では、ブロック952で判定されるアイテムのバージョン識別子は、これらのアイテムの新規のバージョンを反映するための更新はなされない。任意選択的に、他の一例では、ブロック952で判定されるアイテムのバージョン識別子は、ブロック959で更新される。次いで、それらのアイテムの新規のバージョン識別子は、格納され、それらのアイテムと関連づけされる。
【０１３９】
図２４のブロック940、942および図２５のブロック958、959で格納されるバージョン識別子により、ユーザは、現在時点のコンフィギュレーションに、アイテムのいずれのバージョンが用いられているか、またはこれらのアイテムを構成しているモジュールクラスオブジェクトのいずれのバージョンが用いられているのか、を追跡することが容易となる。たとえば、コンフィギュレーションアプリケーション、資産管理アプリケーションなどは、コンフィギュレーションデータベース912（図２３）を検査し、アイテムのバージョンおよびこれらのアイテムを構成しているモジュールクラスオブジェクトのバージョンを判定しうる。他の一例では、デバッギングアプリケーション、監視アプリケーションなどは、たとえばコントローラ12のメモリを検査し、アイテムのバージョンおよびこれらのアイテムを構成しているモジュールクラスオブジェクトのバージョンを判定しうる。
【０１４０】
図２６は、プロセスプラントアイテムのコンフィギュレーションを容易にするルーチン960の一例を示すフローダイアグラムである。このルーチン960は、たとえば、プロセスプラントアイテムがコンフィギュレーションアプリケーションにより表示スクリーン上に表示されるときに、実行されうる。このプロセスプラントアイテムは、たとえばモジュールオブジェクトおよび／またはモジュールクラスオブジェクトを有しうる。ルーチン960は、たとえば図２３のコンフィギュレーションアプリケーション906および／またはＶＣＡＴシステム908により実行されうる。このルーチン960を図２３を参照しながら説明する。
【０１４１】
ブロック962では、上記のアイテムの作成にモジュールクラスオブジェクトが用いられた場合、いずれのモジュールクラスが用いられたかが判定されうる。たとえば、第一のモジュールクラスオブジェクトが第二のモジュールクラスオブジェクトの作成に用いられ、次いで、この第二のモジュールクラスオブジェクトが上記のアイテムの作成に用いられる。上記アイテムの作成に一または複数のモジュールクラスオブジェクトが用いられる場合、ブロック964では、それらのモジュールクラスオブジェクトの各々の現在時点でのバージョンが判定されうる。ブロック966では、上記のアイテムの作成に用いられたモジュールクラスオブジェクトの各々のバージョンが判定されうる。たとえば、図２４のブロック942で格納され、上記のアイテムと関連づけされたバージョン識別子が検索されうる。
【０１４２】
ブロック968では、上記のアイテムの作成に用いられたモジュールクラスオブジェクトの各々に対して、そのモジュールクラスオブジェクトの現在時点のバージョンが上記のアイテムの作成に用いられたモジュールクラスオブジェクトのバージョンと異なるか否が判定される。異ならない場合、ルーチンは終了しうる。しかしながら、一または複数の相違が検出された場合、ブロック970においてなんらかの通知が生成されうる。この通知は、通常、上記のアイテムの作成に用いられたモジュールクラスオブジェクトの新規のバージョンが入手可能であるということを示しうる。また、この通知は、テキスト、シンボル、色彩、オーディオプロンプトなどを有しうる。たとえば、テキストボックスまたはウィンドウを、コンフィギュレーション表示スクリーン上の上記のアイテムの図式表現のとなりにまたは重ね合わせて、表示しうる。他の一例では、シンボルを、上記アイテムの図式表現上にまたはその近くに表示しうる。さらに他の一例では、上記アイテムの図式表現の色彩、明度などが変更されうる。この通知自体が、いずれのモジュールクラスオブジェクトが入手可能な新規のバージョンを有しているかを示しうる。他の方法では、この通知は、いずれのモジュールクラスオブジェクトが入手可能な新規のバージョンを有しているかをユーザに対して通知しないが、ユーザが、たとえばメニューアイテムを選択することにより、シンボル上を「ダブルクリック」することにより、上記アイテムに至るまで「ドリルダウン」することなどにより、その情報を見出すためのさらなるステップを実行することができる。
【０１４３】
次いで、任意選択的に、ユーザは、モジュールクラスオブジェクトの新規のバージョンを用いて上記のプロセスプラントアイテムを更新することにより当該アイテムを修正するプロセスを開始するためのユーザインターフェイス機構を提供されうる。たとえば、ユーザは、そのプロセスを開始するためのたとえばボタンを提供されうる。他の一例では、ユーザは、上記のプロセスプラントアイテムの更新に新規のバージョンを有する複数のモジュールクラスオブジェクトのうちのいずれを用いるかを選択するためのユーザインターフェイス機構を提供されうる。たとえば、ユーザは、上記のプロセスプラントアイテムの更新に用いられる新規のバージョンを有するモジュールクラスオブジェクトに対応して、ボックスのチェック、図式表現の強調表示などを行うことをできうる。
【０１４４】
図２７は、プロセスプラントアイテムのコンフィギュレーションを容易にするルーチン980の一例を示すフローダイアグラムである。このルーチン980は、プロセスプラントアイテムがたとえば修正および／または「チェックイン」されるときに実行されうる。上記のプロセスプラントアイテムは、たとえばモジュールクラスオブジェクトを有しうる。ルーチン980は、図２３のたとえばコンフィギュレーションアプリケーション906および／またはＶＣＡＴシステム908により実行されうる。このルーチン980を、図２３を参照しながら説明する。
【０１４５】
ブロック982では、モジュールクラスオブジェクトの新規のバージョンが作成されたか否かが判定されうる。たとえば、新規のバージョンのモジュールクラスオブジェクトがいつ「チェックイン」されたかが検出されうる。ブロック984では、このモジュールクラスオブジェクトを用いて作成されたプロセスプラントアイテムが判定されうる。たとえば、図６を参照すると、モジュールオブジェクトのうちのいずれが上記のモジュールクラスオブジェクトから作成されたものかを判定するために、メモリ526が検査されうる。また、他のモジュールクラスオブジェクトのうちのいずれが上記のモジュールクラスオブジェクトから作成されたものかを判定するために、メモリ526または他のメモリもしくはセクションが検査されうる。
【０１４６】
ブロック986では、ユーザは、上記のモジュールクラスオブジェクトに対して加えられた変更をブロック984で特定されたプロセスプラントアイテムのうちの一または複数に伝送すべきか否かに関して入力を促されうる。たとえば、テキストボックス、ウィンドウ、表示スクリーン、オーディオプロンプトなどがユーザの促しに用いられうる。
【０１４７】
任意選択的に、ユーザは、ブロック984で特定されたプロセスプラントアイテムのうちから変更が伝送される特定のプロセスプラントアイテムを選択するユーザインターフェイス機構を提供されてもよい。たとえば、ユーザは、上記のプロセスプラントアイテムの更新に用いられる新規のバージョンを有するモジュールクラスオブジェクトに対応して、ボックスのチェック、図式表現の強調表示などを行うことをできうる。
【０１４８】
ブロック988では、ブロック986により生成されたプロンプトに対するユーザの応答が受信される。ブロック990では、このユーザの応答が、変更を伝送することを示しているか否かが判定されうる。変更が伝送されない場合、ルーチンは終了する。変更が伝送される場合、ブロック992で変更が、ブロック984で特定されたプロセスプラントアイテムに伝送される。任意選択的に、変更は、ブロック984で特定されたプロセスプラントアイテムのうちの選択されるアイテムに伝送されてもよい。
【０１４９】
図１７、図１９〜図２２、および図２４〜２７は、プロセスプラントアイテムに関連して記載されているが、同等のルーチンが、プロセスプラントアイテムにより実行される制御ステップのシーケンスに従って、アクセスの制限、加えられた変更の追跡、および変更の伝送に用いられてもよい。たとえば、図１７、図１９〜図２２、および図２４〜２７のルーチンと同等のルーチンが、フェイズクラス、ユニットフェイズ、および／または一群のフェイズクラスもしくはユニットフェイズに従って、アクセスの制限、加えられた変更の追跡、および変更の伝送に用いられてもよい。
【０１５０】
図２８は、モジュールクラスオブジェクトを設定するためのユーザインターフェイスのスクリーン表示画面1000の一例である。このスクリーン表示画面1000では、「ＣＡＬＣＵＬＡＴＩＯＮ」と呼ばれるモジュールクラスオブジェクトの詳細が示されている。スクリーン表示画面1000は、上記のオブジェクトを編集するための編集部1004を有している。図２８に示されているように、ＣＡＬＣＵＬＡＴＩＯＮモジュールクラスオブジェクトは、乗算機能ブロック1008と、加算機能ブロック1012とを有している。また、スクリーン表示画面1000は、ＣＡＬＣＵＬＡＴＩＯＮモジュールクラスオブジェクトへのアクセスが制限されている場合であっても隠されることのない、ＣＡＬＣＵＬＡＴＩＯＮモジュールクラスオブジェクトのパラメータを示す部分1020も有している。隠されることのないパラメータには、ＣＡＬＣＵＬＡＴＩＯＮモジュールクラスオブジェクトから作成されるモジュールオブジェクトのバージョンを示すバージョンインディケータ1026と、ＣＡＬＣＵＬＡＴＩＯＮモジュールクラスオブジェクトのバージョンを示すバージョンインディケータ1028とが含まれる。
【０１５１】
図２９は、隠されることのない、ＣＡＬＣＵＬＡＴＩＯＮモジュールクラスオブジェクトのパラメータを判定するためのユーザインターフェイスのスクリーン表示画面1030の他の一例である。このスクリーン表示画面1030は、隠されることのない一群のパラメータからパラメータを追加および削除するための追加ボタン1032および削除ボタン1034を有している。スクリーン表示画面1030は、ＭＵＬＴＩＰＬＩＥＲパラメータ1038が隠されることのない一群のパラメータに追加されることを示している。もう一度、図２８を参照すると、ＭＵＬＴＩＰＬＩＥＲパラメータ1038は、乗算ブロック1008の入力「ＩＮ２」に対応している。
【０１５２】
図３０は、デバッギングアプリケーション用のユーザインターフェイスのスクリーン表示画面1040の一例である。このスクリーン表示画面1040では、ＣＡＬＣＵＬＡＴＩＯＮ＿１モジュールオブジェクトの詳細が示されている。ＣＡＬＣＵＬＡＴＩＯＮ＿１モジュールオブジェクトは、ＣＡＬＣＵＬＡＴＩＯＮモジュールクラスオブジェクトから作成されている。この一例では、ＣＡＬＣＵＬＡＴＩＯＮモジュールクラスオブジェクトへのアクセスは制限されていない。したがって、スクリーン表示画面1040は、ＣＡＬＣＵＬＡＴＩＯＮ＿１モジュールオブジェクトを構成しているサブエレメントの詳細を概ね示している。たとえば、部分1044は、ＣＡＬＣＵＬＡＴＩＯＮ＿１モジュールオブジェクトが、乗算機能ブロック1008と、加算機能ブロック1012とを有していることを示している。また、スクリーン表示画面1040は、ＣＡＬＣＵＬＡＴＩＯＮ＿１モジュールオブジェクトのパラメータを表示する部分1048も有している。たとえば、ＣＡＬＣＵＬＡＴＩＯＮ＿１モジュールオブジェクトは、バージョンインディケータ1026、1028と、ＭＵＬＴＩＰＬＩＥＲパラメータ1038とを有している。これに加えて、スクリーン表示画面1040は、ＣＡＬＣＵＬＡＴＩＯＮ＿１モジュールオブジェクトを構成している機能ブロック表示す部分1050も有している。すなわち、部分1050は、ＣＡＬＣＵＬＡＴＩＯＮ＿１モジュールオブジェクトが、加算機能ブロックと乗算機能ブロックとを有していることを示している。
【０１５３】
図３１は、ＣＡＬＣＵＬＡＴＩＯＮモジュールクラスオブジェクトへのアクセスが制限されている場合のスクリーン表示画面1040の一例である。したがって、スクリーン表示画面1040は、ＣＡＬＣＵＬＡＴＩＯＮ＿１モジュールオブジェクトを構成しているサブエレメントの全ての詳細を概ね示していない。たとえば、部分1044、1050は、ＣＡＬＣＵＬＡＴＩＯＮ＿１モジュールオブジェクトが乗算機能ブロック1008と加算機能ブロック1012とを有していることを示していない。しかしながら、部分1048は、ＣＡＬＣＵＬＡＴＩＯＮ＿１モジュールオブジェクトのパラメータを依然として示している。
【０１５４】
当業者にとって明らかなように、本明細書記載の技術に対してさまざまな変更を加えることが可能である。たとえば、ブロックの順番の変更、ブロックの削除、新規のブロックの追加などを行ってもよい。さらに、本明細書記載のさまざまな技術を組み合わせてもよい。たとえば、図１７のルーチン700と同等のルーチンを用いてモジュールクラスオブジェクトに関連するなんらかのデータを保護してもよい。次いで、そのモジュールクラスオブジェクトからモジュールテンプレートを作成してもよい。次いで、図１７のルーチン700と同等のルーチンを用いて、前記のモジュールクラスオブジェクトでは保護されていない、モジュールテンプレートに関連するなんらかのデータを保護してもよい。次いで、前記のモジュールクラスオブジェクトおよび前記のモジュールテンプレートに対して指定された保護を有する、前記のモジュールテンプレートの特定のインスタンスを作成してもよい。
【０１５５】
実現された場合、本明細書記載のソフトウェアは、そのいずれも、磁気ディスク、レーザーディスク、または他の記憶媒体や、コンピュータまたはプロセッサのＲＡＭまたはＲＯＭなどの如きいかなるコンピュータ読取り可能メモリに格納されてもよい。同様に、このソフトウェアは、たとえばコンピュータ読取り可能ディスクまたは他の搬送可能なコンピュータ格納メカニズムまたは、電話回線、インターネット、ワールドワイドウェブ、その他のローカルエリアネットワークもしくはワイドエリアネットワークなど如き通信チャネルを含むいかなる公知のまたはいかなる所望の搬送方法を用いて、ユーザ、プロセスプラント、またはオペレータワークステーションへ搬送されてもよい。（上記の電話回線、インターネット、ワールドワイドウェブ、その他のローカルエリアネットワークもしくはワイドエリアネットワークなど如き通信チャネルは、搬送可能な記憶媒体を介してかかるソフトウェアを提供するのと同様または相互交換可能であるとみなされる）
本発明は特定の例を参照して説明されているが、これは、説明のみを意図したものであって、本発明を限定することを意図したものではない。当業者にとって明らかであるように、ここに開示されている実施例に対し、本発明の精神および範囲から逸脱することなく変更、追加または削除を行うことが可能である。
【図面の簡単な説明】
【０１５６】
【図１】プロセスプラントに対する制御アクティビティおよび表示アクティビティの構成にモジュールクラスオブジェクトを用いるコンフィギュレーションアプリケーションを実装するオペレータワークステーションを備えた、プロセスプラント内に設置される分散型プロセス制御ネットワークを示すブロック図である。
【図２】図１のリアクタユニットを示す線図である。
【図３】図２のリアクタユニットにおいて用いられるトータライザ装置エンティティを示す線図である。
【図４】図２のリアクタユニットにおいて用いられる出口バルブシステムを示す線図である。
【図５】モジュールクラスオブジェクトと、ユニット、装置、制御、および表示のタイプのモジュールクラスオブジェクトの準モジュールオブジェクトとの間の相互関係を示す論理線図である。
【図６】図１のプラント内のトータライザに対する構成アクティビティの実行に用いられうるリアクタユニットモジュールクラスオブジェクトを示す論理線図である。
【図７】図１のプラント内のトータライザに対する構成アクティビティの実行に用いられうるトータライザ装置モジュールクラスオブジェクトを示す論理線図である。
【図８】モジュールクラスオブジェクトを用いてプロセスプラントを構成すべくコンフィギュレーションオペレータにより用いられうる第一のコンフィギュレーションスクリーンを示す図である。
【図９】モジュールクラスオブジェクトを用いてプロセスプラントを構成すべくコンフィギュレーションオペレータにより用いられうる第二のコンフィギュレーションスクリーンを示す図である。
【図１０】モジュールクラスオブジェクトを用いてプロセスプラントを構成すべくコンフィギュレーションオペレータにより用いられうる第三のコンフィギュレーションスクリーンを示す図である。
【図１１】モジュールクラスオブジェクトを用いてプロセスプラントを構成すべくコンフィギュレーションオペレータにより用いられうる第四のコンフィギュレーションスクリーンを示す図である。
【図１２】モジュールクラスオブジェクトを用いてプロセスプラントを構成すべくコンフィギュレーションオペレータにより用いられうる第五のコンフィギュレーションスクリーンを示す図である。
【図１３】モジュールクラスオブジェクトを用いてプロセスプラントを構成すべくコンフィギュレーションオペレータにより用いられうる第六のコンフィギュレーションスクリーンを示す図である。
【図１４】モジュールクラスオブジェクトを用いてプロセスプラントを構成すべくコンフィギュレーションオペレータにより用いられうる第七のコンフィギュレーションスクリーンを示す図である。
【図１５】モジュールクラスオブジェクトを用いてプロセスプラントを構成すべくコンフィギュレーションオペレータにより用いられうる第八のコンフィギュレーションスクリーンを示す図である。
【図１６】モジュールクラスオブジェクトを用いてプロセスプラントを構成すべくコンフィギュレーションオペレータにより用いられうる第九のコンフィギュレーションスクリーンを示す図である。
【図１７】プロセスプラントアイテムを設定してそのアイテムに対するアクセスを制限するルーチンの一例を示すフローダイアグラムである。
【図１８】（ａ）は機能ブロックを含む、複合テンプレートのサブエレメント示すスクリーン表示画面の一例である。（ｂ）は図１８（ａ）の複合テンプレートのサブエレメントを示す一方で機能ブロックサブエレメントを隠しているスクリーン表示画面の一例である。
【図１９】一群のプロセスプラントアイテムを設定してその群に対するアクセスを制限するルーチンの一例を示すフローダイアグラムである。
【図２０】プロセスプラントに関連するデータの閲覧を許可するか否かを決定するルーチンの一例を示すフローダイアグラムである。
【図２１】一つのプロセスプラントアイテムまたは一群のプロセスプラントアイテムの変更を許可するか否かを決定するルーチンの一例を示すフローダイアグラムである
【図２２】プロセスプラントアイテムをエクスポートするルーチンの一例を示すフローダイアグラムである。
【図２３】プロセスプラントに関連するバージョン管理情報および監査トレイル情報を供すべく用いられうるコンフィギュレーションシステムの一例を示すブロック線図である。
【図２４】プロセスプラントアイテムのバージョンのトラッキングを容易にするルーチンの一例を示すフローダイアグラムである。
【図２５】複数のプロセスプラントアイテムのバージョンのトラッキングを容易にするルーチンの一例を示すフローダイアグラムである。
【図２６】プロセスプラントアイテムのコンフィギュレーションを容易にするルーチンの一例を示すフローダイアグラムである。
【図２７】複数のプロセスプラントアイテムのコンフィギュレーションを容易にするルーチンの一例を示すフローダイアグラムである。
【図２８】モジュールクラスオブジェクトを構成するためのユーザインターフェイススクリーン表示画面の一例である。
【図２９】モジュールクラスオブジェクトを構成するためのユーザインターフェイススクリーン表示画面の他の一例である。
【図３０】モジュールオブジェクトに関連するデータが隠されないモジュールオブジェクトデバッギング用ユーザインターフェイスのスクリーン表示画面の一例である。
【図３１】モジュールオブジェクトに関連するデータが隠される図３０のスクリーン表示画面の一例である。
【符号の説明】
【０１５７】
10  プロセスプラント
12  コントローラ
14  ワークステーション
15  イーサネット（登録商標）バス
18  通信バス
19  プロセス制御ルーチン
20、22  メモリ
24  プロセッサ
50  コンフィギュレーションアプリケーション
52  モジュールクラスオブジェクト
53、54、55、56  インスタンス、モジュールオブジェクト、モジュールブロック
100、200、300  反応容器またはタンク
101、102、103、201、202、203、301、302、303  供給用バルブシステム
101、102、110  トータライザ
101a  粗調整用バルブ
101b  微調整用バルブ
101c  流量メータ
104、204、304  流出用バルブシステム
104a  主流出用バルブ
104b  製品用バルブ
104c  廃液用バルブ
105、205、305  センサ
110  共有ヘッダバルブシステム
400  ユニットモジュールクラスタイプ
402  装置モジュールクラスタイプ
404  制御モジュールクラスタイプ
406  表示モジュールクラスタイプ
410  反応装置（リアクタ）ユニットモジュールクラスオブジェクト
412  パッケージユニットモジュールクラスオブジェクト
414  ドライヤーユニットクラスモジュールオブジェクト
416  トータライザ装置モジュールクラスオブジェクト
418  流出用バルブ装置モジュールクラスオブジェクト
422  オン／オフバルブ制御モジュールクラスオブジェクト
424  レベルセンサ制御モジュールクラスオブジェクト
426  流量メータ制御モジュールクラスオブジェクト
432  アラーム表示モジュールクラスオブジェクト
434  閲覧表示モジュールクラスオブジェクト
436  診断表示モジュールクラスオブジェクト
500  タンク
501  Ａｃｉｄブロック
502  Ａｌｋａｌｉブロック
503  ｗａｔｅｒ＿ｉｎバルブ
504  流出用オブジェクト
505  レベルセンサ
520  反応装置（リアクタ）閲覧表示画面
522  反応装置（リアクタ）アラーム表示画面
524  フェイズクラスオブジェクト
526  ユニットモジュールオブジェクト
534  全域型変更パラメータ
536  セキュリティパラメータ
538  全域型セキュリティパラメータ
540  セキュリティパラメータ
550  Ｃｏａｒｓｅ＿Ｖａｌｖｅ
552  Ｆｉｎｅ＿Ｖａｌｖｅ
554  Ｆｌｏｗ＿Ｍｅｔｅｒ
560  Ｔｏｔａｌｉｚｅｒ  Ａｌａｒｍ表示モジュールクラスオブジェクト
564  アルゴリズム
566  保有装置モジュールオブジェクト
570  メソッド
572  全域型変更パラメータ
574  変更パラメータ
580  全域型セキュリティパラメータ
582  セキュリティパラメータ
600  スクリーン表示画面
602  エクスプローラコンフィギュレーションビュー
604  ユニットモジュールクラスオブジェクト
606  装置モジュールクラスオブジェクト
608  制御モジュールクラスオブジェクト
610  Ｒｅａｃｔｏｒユニットモジュールクラスオブジェクト
614  トータライザ装置モジュールクラスオブジェクト
616  Ｒｅａｃｔｏｒ＿Ｏｕｔｌｅｔ装置モジュールクラスオブジェクト
620  コンフィギュレーションスクリーン
630  スクリーン表示画面
632  ポップアップウィンドウ
634  シーケンシャル機能チャートプログラミングエディタ
640  スクリーンビュー
642  Ｄｏｓｅフェイズクラス
646  シーケンシャル機能チャートエディタ
648  ポップアップスクリーン
650  スクリーン表示画面
652、654  スクリーン部分
660  スクリーン
661  階層ビュー
662  システムコンフィギュレーション
664  制御戦略
665  Ａｒｅａ＿Ａ
666  Ｓａｌｔｓ
668  Ｒｅａｃｔｏｒ＿１ユニットモジュールオブジェクト
670  Ｗａｔｅｒ＿ＨＤＲ１
680  スクリーン
682  Ａｃｉｄ１装置モジュールオブジェクト
686  Ａｃｉｄ１コンフィギュレーションポップアップスクリーン
690  スクリーン表示画面
692  Ｒｅａｃｔｏｒ＿１＿１モジュールオブジェクト
700  ルーチン
720  スクリーン表示画面
724  ライブラリ
726  ＤＹＮ＿ＦＵＬＬ複合テンプレート
730  機能ブロック
732  スクリーン表示画面
734  サブライブラリ
736  カテゴリ
750、770、800、830、  ルーチン
900  コンフィギュレーションシステム
904  ユーザインターフェイス
906  コンフィギュレーションアプリケーション
908  バージョン管理および監査トレイルシステム（ＶＣＡＴ）
910  バージョン管理データベース
912  コンフィギュレーションデータベース
930、948、960、980  ルーチン
1000、1030、1040  スクリーン表示画面
1004  編集部
1008  乗算機能ブロック
1012  加算機能ブロック
1026、1028  バージョンインディケータ
1032  追加ボタン
1034  削除ボタン
1038  ＭＵＴＩＰＬＩＥＲパラメータ
1020、1044、1048、1050  部分
【図１】
2011204251.tif 000003
【図２】
2011204251.tif 000004
【図３】
2011204251.tif 000005
【図４】
2011204251.tif 000006
【図５】
2011204251.tif 000007
【図６】
2011204251.tif 000008
【図７】
2011204251.tif 000009
【図８】
2011204251.tif 000010
【図９】
2011204251.tif 000011
【図１０】
2011204251.tif 000012
【図１１】
2011204251.tif 000013
【図１２】
2011204251.tif 000014
【図１３】
2011204251.tif 000015
【図１４】
2011204251.tif 000016
【図１５】
2011204251.tif 000017
【図１６】
2011204251.tif 000018
【図１７】
2011204251.tif 000019
【図１８】
2011204251.tif 000020
【図１９】
2011204251.tif 000021
【図２０】
2011204251.tif 000022
【図２１】
2011204251.tif 000023
【図２２】
2011204251.tif 000024
【図２３】
2011204251.tif 000025
【図２４】
2011204251.tif 000026
【図２５】
2011204251.tif 000027
【図２６】
2011204251.tif 000028
【図２７】
2011204251.tif 000029
【図２８】
2011204251.tif 000030
【図２９】
2011204251.tif 000031
【図３０】
2011204251.tif 000032
【図３１】
2011204251.tif 000033
【手続補正書】
【提出日】平成23年6月15日(2011.6.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プロセスプラントの少なくとも一部の構成の変更を監視する方法であって、
前記プロセスプラント内のプロセスエンティティを包括的に表現可能なモジュールクラスオブジェクトの修正を検出することと、
前記プロセスプラント内のプロセスエンティティを各々が包括的に表現可能な前記モジュールクラスオブジェクトから作成された一または複数のモジュールオブジェクトを判定することと、
前記モジュールクラスオブジェクトの修正を前記一または複数のモジュールオブジェクトに伝送することと、
修正された前記モジュールクラスオブジェクトに対してバージョン識別子を生成することと、
修正済みの前記モジュールクラスオブジェクトの前記バージョン識別子を前記一または複数のモジュールオブジェクトの各々と関連付けすることと
を含んでいる方法。
【請求項２】
前記一または複数のモジュールオブジェクトに対してそれぞれ対応するバージョン識別子を生成することと、
前記一または複数のモジュールオブジェクトの前記バージョン識別子を適切な前記一または複数のモジュールオブジェクトと関連付けすることと
をさらに有している請求項１記載の方法。
【請求項３】
前記モジュールクラスオブジェクトの修正を検出することは、修正済みの前記モジュールクラスオブジェクトがコンフィギュレーションデータベースに保存されたことを検出することを含んでいる請求項１記載の方法。
【請求項４】
前記モジュールクラスオブジェクトの修正を検出することは、修正済みの前記モジュールクラスオブジェクトがバージョン管理システムを通じてチェックインされたことを検出することを含んでいる請求項１記載の方法。
【請求項５】
修正済みの前記モジュールクラスオブジェクトの前記バージョン識別子を前記一または複数のモジュールオブジェクトの各々と関連付けすることは、修正済みの前記モジュールクラスオブジェクトの前記バージョン識別子を前記一または複数のモジュールオブジェクトの各々の一部として格納することを含んでいる請求項１記載の方法。
【請求項６】
修正済みの前記モジュールクラスオブジェクトの前記バージョン識別子を前記一または複数のモジュールオブジェクトの各々と関連付けすることは、修正済みの前記モジュールクラスオブジェクトの前記バージョン識別子に前記一または複数のモジュールオブジェクトの各々をリンクさせることを含んでいる請求項１記載の方法。
【請求項７】
プロセスプラントに関連する構成の変更を監視するコンフィギュレーション管理システムであって、
コンピュータ読み取り可能媒体と、
前記コンピュータ読み取り可能媒体と通信するプロセッサと、
前記プロセスプラント内のプロセスエンティティを包括的に表現可能なモジュールクラスオブジェクトを表す第一のデータと、前記モジュールクラスオブジェクトから作成された一または複数のプロセスプラントアイテムを表す第二のデータとを格納するデータベースと
前記モジュールクラスオブジェクトの修正を容易にし、前記モジュールクラスオブジェクトの修正を検出し、前記モジュールクラスオブジェクトから作成された前記一または複数のプロセスプラントアイテムを判定し、修正済みの前記モジュールクラスオブジェクトに基づいて前記一または複数のプロセスプラントアイテムを修正し、修正済みの前記モジュールクラスオブジェクトに対してバージョン識別子を生成し、修正済みの前記モジュールクラスオブジェクトの前記バージョン識別子を前記一または複数のプロセスプラントアイテムの各々と関連づけするために前記プロセッサにより実行されるように構成された、前記コンピュータ読み取り可能媒体に格納されているコンフィギュレーションルーチンおよびバージョン管理ルーチンと
を備えてなるコンフィギュレーション管理システム。
【請求項８】
前記コンフィギュレーションルーチンおよび前記バージョン管理ルーチンが、前記一または複数のプロセスプラントアイテムに対してそれぞれに対応するバージョン識別子を生成し、
前記一または複数のプロセスプラントアイテムの前記バージョン識別子を適切な前記一または複数のプロセスプラントアイテムと関連づけるためにプロセッサにより実行されるように構成されている請求項７記載のコンフィギュレーション管理システム。
【請求項９】
前記コンフィギュレーションルーチンおよび前記バージョン管理ルーチンが、修正済みの前記モジュールクラスオブジェクトが前記データベースに保存されたことを検出することにより前記モジュールクラスオブジェクトの修正を検出すべく前記プロセッサにより実行されるように構成されている請求項７記載のコンフィギュレーション管理システム。
【請求項１０】
前記コンフィギュレーションルーチンおよび前記バージョン管理ルーチンが、ユーザに前記モジュールクラスオブジェクトのチェックアウトを許可し、ユーザに前記モジュールクラスオブジェクトのチェックインを許可し、修正済みの前記モジュールクラスオブジェクトがチェックインされたことを検出することにより前記モジュールクラスオブジェクトの修正を検出するべく前記プロセッサにより実行されるように構成されている請求項７記載のコンフィギュレーション管理システム。
【請求項１１】
前記コンフィギュレーションルーチンおよび前記バージョン管理ルーチンが、前記一または複数のモジュールオブジェクトの各々の一部として修正済みの前記モジュールクラスオブジェクトの前記バージョン識別子を格納すべく前記プロセッサにより実行されるように構成されている請求項７記載のコンフィギュレーション管理システム。
【請求項１２】
前記コンフィギュレーションルーチンおよび前記バージョン管理ルーチンが、修正済みの前記モジュールクラスオブジェクトの前記バージョン識別子に前記一または複数のモジュールオブジェクトの各々をリンクさせるべく前記プロセッサにより実行されるように構成されている請求項７記載のコンフィギュレーション管理システム。
【請求項１３】
プロセスプラントの少なくとも一部の構成の変更を監視する方法であって、
前記プロセスプラント内のプロセスエンティティを表現可能なプロセスプラントアイテムの修正を検出することと、
前記プロセスプラント内のプロセスエンティティを包括的に表現可能な、修正済みの前記プロセスプラントアイテムを構成している一または複数のモジュールクラスオブジェクトを判定することと、
前記一または複数のモジュールクラスオブジェクトの各々と関連付けされたバージョンデータを判定することと、
修正済みの前記プロセスプラントアイテムに対してバージョン識別子を生成することと、
修正済みの前記プロセスプラントアイテムと前記バージョン識別子を関連づけすることと、
前記一または複数のモジュールクラスオブジェクトの各々と関連づけされた前記バージョンデータを修正済みの前記プロセスプラントアイテムと関連づけすることと
を含んでいる方法。
【請求項１４】
前記プロセスプラントアイテムが、前記プロセスプラント内のプロセスエンティティを包括的に表現可能なモジュールオブジェクトを有している請求項１３記載の方法。
【請求項１５】
前記プロセスプラントアイテムが、前記プロセスプラント内のプロセスエンティティを具体的に表現可能なモジュールオブジェクトを有している請求項１３記載の方法。
【請求項１６】
前記一または複数のモジュールクラスオブジェクトの各々と関連づけされた前記バージョンデータを修正済みの前記プロセスプラントアイテムと関連づけすることが、前記一または複数のモジュールクラスオブジェクトの各々と関連づけされた前記バージョンデータを修正済みの前記プロセスプラントアイテムの一部として格納することを含んでいる請求項１３記載の方法。
【請求項１７】
前記一または複数のモジュールクラスオブジェクトの各々と関連づけされた前記バージョンデータを修正済みの前記プロセスプラントアイテムと関連付けすることが、前記一または複数のモジュールクラスオブジェクトの各々と関連づけされた前記バージョンデータに修正済みの前記プロセスプラントアイテムをリンクさせることを含んでいる請求項１３記載の方法。
【請求項１８】
前記プロセスプラントアイテムの修正を検出することが、修正済みの前記プロセスプラントアイテムを構成している前記一または複数のモジュールクラスオブジェクトの一または複数の修正を検出することを含んでいる請求項１３記載の方法。
【請求項１９】
前記プロセスプラントアイテムの修正を検出することが、修正済みの前記プロセスプラントアイテムを構成している前記一または複数のモジュールクラスオブジェクトに影響を及ぼさない前記プロセスプラントアイテムの修正を検出することを含んでいる請求項１３記載の方法。
【請求項２０】
前記プロセスプラントに関連する構成を追跡するコンフィギュレーション管理システムであって、
コンピュータ読み取り可能媒体と、
前記コンピュータ読み取り可能媒体と通信するプロセッサと、
前記プロセスプラント内のプロセスエンティティを表現可能なプロセスプラントアイテムを表している第一のデータと、前記プロセスプラント内のプロセスエンティティを包括的に表現可能な複数のモジュールクラスオブジェクトを表している第二のデータとを格納するデータベースと
前記プロセスプラントアイテムの修正を容易にすべく前記プロセッサにより実行されるように構成された、前記コンピュータ読み取り可能媒体に格納されているコンフィギュレーションルーチンと、
前記プロセスプラントアイテムの修正を検出し、修正済みの前記プロセスプラントアイテムを構成している一または複数のモジュールクラスオブジェクトの各々と関連づけされたバージョンデータを判定し、修正済みの前記プロセスプラントアイテムに対してバージョン識別子を生成し、該バージョン識別子を修正済みの前記プロセスプラントアイテムと関連づけし、修正済み前記プロセスプラントアイテムを構成している一または複数のモジュールクラスオブジェクトの各々と関連付けされた前記バージョンデータを修正済みの前記プロセスプラントアイテムと関連づけすべく前記プロセッサにより実行されるように構成された、前記コンピュータ読み取り可能媒体に格納されているバージョン管理ルーチンと
を備えているコンフィギュレーション管理システム。
【請求項２１】
格納されている前記バージョン管理ルーチンが、修正済みの前記プロセスプラントアイテムを構成している前記一または複数のモジュールクラスオブジェクトの一または複数の修正に起因する前記プロセスプラントアイテムの修正を検出すべく前記プロセッサにより実行されるように構成されている請求項２０記載のコンフィギュレーション管理システム。
【請求項２２】
格納されている前記バージョン管理ルーチンが、修正済みの前記プロセスプラントアイテムを構成している前記一または複数のモジュールクラスオブジェクトに影響を及ぼさない前記プロセスプラントアイテムの修正を検出すべく前記プロセッサにより実行されるように構成されている請求項２０記載のコンフィギュレーション管理システム。
【請求項２３】
前記プロセスプラントアイテムが、前記プロセスプラント内のプロセスエンティティを具体的に表現可能なモジュールオブジェクトを有している請求項２０記載のコンフィギュレーション管理システム。
【請求項２４】
前記プロセスプラントアイテムが、前記プロセスプラント内のプロセスエンティティを包括的に表現可能なモジュールオブジェクトを有している請求項２０記載のコンフィギュレーション管理システム。
【請求項２５】
前記プロセスプラントに関連する構成を追跡するコンフィギュレーション管理システムであって、
コンピュータ読み取り可能媒体と、
前記コンピュータ読み取り可能媒体と通信するプロセッサと、
前記プロセスプラント内のプロセスエンティティを表現可能なプロセスプラントアイテムを表している第一のデータと、前記プロセスプラント内のプロセスエンティティを包括的に表現可能な複数のモジュールクラスオブジェクトを表している第二のデータとを格納するデータベースと
前記プロセスプラントアイテムの修正を容易にすべく前記プロセッサにより実行されるように構成された、前記コンピュータ読み取り可能媒体に格納されているコンフィギュレーションルーチンと、
前記プロセスプラントアイテムの修正を検出し、修正済みの前記プロセスプラントアイテムを構成している一または複数のモジュールクラスオブジェクトの各々と関連づけされたバージョンデータを判定し、修正済みの前記プロセスプラントアイテムに対してバージョン識別子を生成し、該バージョン識別子を修正済みの前記プロセスプラントアイテムと関連づけし、修正済み前記プロセスプラントアイテムを構成している一または複数のモジュールクラスオブジェクトの各々と関連付けされた前記バージョンデータを修正済みの前記プロセスプラントアイテムと関連づけすべく前記プロセッサにより実行されるように構成された、前記コンピュータ読み取り可能媒体に格納されているバージョン管理ルーチンと
を備えているコンフィギュレーション管理システム。
【請求項２６】
格納されている前記バージョン管理ルーチンが、修正済みの前記プロセスプラントアイテムを構成している前記一または複数のモジュールクラスオブジェクトの一または複数の修正に起因する前記プロセスプラントアイテムの修正を検出すべく前記プロセッサにより実行されるように構成されている請求項２５記載のコンフィギュレーション管理システム。
【請求項２７】
格納されている前記バージョン管理ルーチンが、修正済みの前記プロセスプラントアイテムを構成している前記一または複数のモジュールクラスオブジェクトに影響を及ぼさない前記プロセスプラントアイテムの修正を検出すべく前記プロセッサにより実行されるように構成されている請求項２５記載のコンフィギュレーション管理システム。
【請求項２８】
前記プロセスプラントアイテムが、前記プロセスプラント内のプロセスエンティティを具体的に表現可能なモジュールオブジェクトを有している請求項２５記載のコンフィギュレーション管理システム。
【請求項２９】
前記プロセスプラントアイテムが、前記プロセスプラント内のプロセスエンティティを包括的に表現可能なモジュールオブジェクトを有している請求項２５記載のコンフィギュレーション管理システム。
【外国語明細書】
2011204251000001.pdf