(57)【要約】【課題】プロセス制御を行うように構成されたプロセス制御システムのための設定システム。【解決手段】設定システムは、限定はしないが、a)設計データに基づく工業プラントのパートに対する、メモリに保存された定義モジュールを含む。定義モジュールは、限定はしないが、a-1)  パートに対する制御ロジックを定義するように構成された制御ロジック定義ファイルと、a-2)  定義された制御ロジックに関連するデータを定義するように構成されたデータ定義ファイルとを備える。【選択図】図５
2016095852.tif 000002
【特許請求の範囲】
【請求項１】
プロセス制御を行うように構成されたプロセス制御システムのための設定システムであって、前記設定システムは、
a)  設計データに基づく工業プラントのパートに対する、メモリに保存された定義モジュールを備え、前記定義モジュールは、
a-1)  前記パートに対する制御ロジックを定義するように構成された制御ロジック定義ファイルと、
a-2)  前記定義された制御ロジックに関連するデータを定義するように構成されたデータ定義ファイルとを備える、システム。
【請求項２】
前記設定システムは、
b)  前記制御ロジック定義ファイルおよび前記データ定義ファイルのうちの少なくとも1つの生成および更新の少なくとも一方を行うように構成されたエディタをさらに備え、
前記エディタは、1つまたは複数のプロセッサによって実施される、請求項１に記載のシステム。
【請求項３】
前記設定システムは、
c)  制御ロジック定義を前記プロセス制御システムに対する制御データに変換するように構成されたコンバータをさらに備え、
前記コンバータは、1つまたは複数のプロセッサによって実施される、請求項２に記載のシステム。
【請求項４】
前記定義モジュールは、
a-3)  前記パートに対するモジュールプロパティを保存するように構成されたプロパティファイルをさらに備える、請求項１に記載のシステム。
【請求項５】
前記パートは、1つの入力パラメータおよび1つの出力パラメータを備える、請求項１に記載のシステム。
【請求項６】
前記システムは、前記パートに関するパラメータを備えたデータソースと通信するようにさらに構成され、前記制御ロジックは、制御ロジックパラメータを備え、
前記データ定義ファイルは、前記定義された条件に基づく、前記パラメータを前記制御ロジックパラメータにセットするための条件およびアクションを備えたルールを定義するように構成されたルールファイルを備える、請求項１に記載のシステム。
【請求項７】
前記データ定義ファイルは、ドキュメンテーションのための制御ロジック仕様データを定義するように構成されたドキュメントファイルを備える、請求項１に記載のシステム。
【請求項８】
前記パートは、複数のサブパートを含むとともに、前記定義モジュールは、前記サブパートに対する複数のサブパート定義モジュールを含む、請求項１に記載のシステム。
【請求項９】
前記制御ロジック定義ファイルは、少なくとも1つの調整パラメータを定義するようにさらに構成される、請求項１に記載のシステム。
【請求項１０】
プロセス制御を行うように構成されたプロセス制御システムのための設定システムであって、前記設定システムは、
a)  アプリケーションモジュールを生成するように構成されたエディタを備え、前記アプリケーションモジュールは、
a-1)  パートに対する制御ロジックを定義するように構成された制御ロジック定義ファイルと、
a-2)  前記定義された制御ロジックに関連するデータを定義するように構成されたデータ定義ファイルとを備え、
前記エディタは、1つまたは複数のプロセッサによって実施される、システム。
【請求項１１】
前記設定システムは、データソースを有するサーバと通信するように構成され、
前記エディタは、
第1の制御ロジックおよび設計データを備える定義モジュールを取り出すとともに、
前記サーバ内の前記データソースからパート関連データを取り出すようにさらに構成され、
前記アプリケーションモジュールは、前記パート関連データに基づく前記定義モジュールのインスタンスというのものであり、
前記制御ロジック定義ファイルは、前記パート関連データに基づくインスタンス作成された第2の制御ロジックを有し、
前記データ定義ファイルは、前記第2の制御ロジックに関連するインスタンス作成されたデータを有する、請求項１０に記載のシステム。
【請求項１２】
前記システムは、
b)  前記アプリケーションモジュールを前記プロセス制御システムに対する制御ロジックデータに変換するように構成されたコンバータをさらに備え、
前記コンバータは、1つまたは複数のプロセッサによって実施される、請求項１０に記載のシステム。
【請求項１３】
前記パートは、1つの入力パラメータおよび1つの出力パラメータを備える、請求項１０に記載のシステム。
【請求項１４】
前記システムは、前記パートに対するパートソースパラメータを備えるデータソースと通信するようにさらに構成され、前記制御ロジックは、制御ロジックパラメータを備え、
前記データ定義ファイルは、前記定義された条件に基づく、前記パートソースパラメータを前記制御ロジックパラメータにセットするための条件およびアクションを備えたルールを定義するように構成されたルールファイルを備える、請求項１０に記載のシステム。
【請求項１５】
前記データ定義ファイルは、ドキュメンテーションのための制御ロジック仕様データを定義するように構成されたドキュメントファイルを備える、請求項１０に記載のシステム。
【請求項１６】
前記制御ロジック定義ファイルは、少なくとも1つの調整パラメータを定義するようにさらに構成される、請求項１０に記載のシステム。
【請求項１７】
プロセス制御を行うように構成されたプロセス制御システムのための設定システムによって行われる設定方法を行うための、設定システムによって実行されるコンピュータプログラムを保存する持続性コンピュータ可読媒体であって、前記設定方法は、
a)  メモリに、工業プラントのパートに対する定義モジュールを保存するステップを含み、前記定義モジュールは、
a-1)  前記パートに対する制御ロジックを定義するように構成された制御ロジック定義ファイルと、
a-2)  前記定義された制御ロジックに関連するデータを定義するように構成されたデータ定義ファイルとを備え、
前記設定方法は、
b)  前記定義モジュールを更新するステップを備える、媒体。
【請求項１８】
前記方法は、
c)  エディタを使用して、前記制御ロジック定義ファイルおよび前記データ定義ファイルのうちの少なくとも1つの生成および更新の少なくとも一方を行うステップをさらに含み、
前記エディタは、1つまたは複数のプロセッサによって実施される、請求項１７に記載の媒体。
【請求項１９】
前記方法は、
d)  コンバータを使用して、前記定義モジュールを前記プロセス制御システムに対する制御ロジックデータに変換するステップをさらに含み、
前記コンバータは、1つまたは複数のプロセッサによって実施される、請求項１７に記載の媒体。
【請求項２０】
ユーザインターフェースおよび1つまたは複数のプロセスコントローラを有するプロセスプラントにおいて使用するためのプロセス制御システムであって、前記プロセス制御システムは、
a)  定義モジュールからインスタンス作成されたアプリケーションモジュールを含み、前記アプリケーションモジュールは、
a-1)  前記プロセスプラントのパートに対する制御ロジックを定義するように構成された制御ロジック定義ファイルと、
a-2)  前記定義された制御ロジックに関連するデータを定義するように構成されたデータ定義ファイルとを備え、
前記プロセス制御システムは、
b)  前記制御ロジックの定義を制御データに変換するように構成されたコンバータと、
c)  1つまたは複数のプロセスコントローラ上で前記制御データを実行して、前記プロセスプラント内のプロセス制御アクティビティを実施するように適合されたコントローラとを備え、
エディタおよび前記コンバータは、1つまたは複数のプロセッサによって実施される、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明の開示は、工業プラントのための工業オートメーションの分野に関し、特に、工業プラントのためのプロセス制御システムの設定に関する。
【背景技術】
【０００２】
図1Aは、製油、製鋼、化学プロセス工業のための工業プラントのプロセス制御システム100を示す。工業プラントおいて、センサ102、バルブ装置、アクチュエータ104などのフィールドデバイスは、プラント設備によって行われる流体プロセスなどのプロセスを測定または制御する。センサ102の例は、流量計、温度計であり、バルブ装置104は、流量制御バルブや開閉バルブであり、アクチュエータ104は、ファンやモータである。フィールドデバイス102, 104は、フィールドネットワーク106に接続される。フィールドデバイス102, 104は、制御ネットワーク110内にあるコントローラ108に入出力(I/O)ユニットを通じて接続される。センサ102からの測定値に基づいて、コントローラ108は、アクチュエータを制御するための信号を生成するのに使用される計算を行う。コントローラ108における各制御ロジックは、機能ブロックにカプセル化される。機能ブロックは、各フィールドデバイスに対して定義される入出力パラメータを受信または生成しかつパラメータを計算するためのアルゴリズムを含むように定義される。パラメータは、機能ブロックにおいて生成されるプロセス変数および調整パラメータを含む。プロセス変数は、温度、圧力、力、供給量、流量、化学組成、重量、位置、および速度などの、測定が存在する変数である。調整パラメータは、プロセスを制御するコントローラにおいて適用される変数である。制御ロジックは、コントローラ108のアルゴリズムである。
【０００３】
制御ネットワーク110内のヒューマンマシンインタフェース(HMI)端末112は、機能ブロックとデータ交換するとともに、プロセス制御システム100を操作するオペレータに情報を提供する。プロセス制御システム100は、交換されたデータに基づいて、設備およびフィールドデバイスなどのパートに対して、機能ブロックから、コマンドを管理および発行する。発行されたコマンドは、工業プラントの仕様である設計データに従ってエンジニアリングツール120において用意および修正される制御ロジックに基づく。制御ロジックは、コントローラおよびHMI端末における実行のためにバイナリ制御データに変換される。オペレータは、コントローラおよびHMI端末においてバイナリ制御データを適用することによって、工業プラントを制御および操作する。HMI端末112の画面定義は、エンジニアリングツール120によって用意される。機能ブロックは、センサからの測定値およびバイナリ制御データに基づいて、アクチュエータに対する信号を生成する計算を行う。オペレータは、プロセスの調整中に調整パラメータに対する設計値をセットする。
【０００４】
図1Bは、プロセス制御システム100をセットまたは設定するためのエンジニアリングツール120を示す。ユーザは、エンジニアリングツール120内のエディタ122を使用して、制御ロジックに対する工業プラントの設計データの変更を用意および修正する。変更の一例は、異なるプロセスまたはプロセスに対しての異なる原料に関する異なるフィールドデバイスパラメータ値をセットすることである。異なるプロセスは、異なる製品または同じ製品の異なる等級に対するものである。用意および修正された制御ロジックは、連続した制御データ124として保存される。連続した制御データ124は、コンバータ126によって読み取られる。コンバータ126は、連続した制御データ124から、バイナリフォーマットの制御データであるバイナリ制御データ128を生成する。バイナリ制御データ128は、データベース130に保存される。バイナリ制御データ128は、HMI端末112およびコントローラ108における実行ののためにプロセス制御システム100に送信される。
【０００５】
工業プラントには、パラメータに関する多くのデータファイルおよびデータセットが存在する。関連するデータセットが異なるタイプまたはソースのものである場合、パラメータは、複雑なデータ関係を有する。一例は、コントローラに関連する機能ブロック内のパラメータである。パラメータは、機能ブロックにおける第1のタイプとして定義されるとともに、アラーム管理システムにおける場合、第2のタイプとして定義される。第1のタイプおよび第2のタイプの定義は異なる。パラメータまたはパラメータの関係性が設計データ内で変更された場合に、プロセス制御システム100に対する制御ロジック内で更新されるべき対応するパラメータを識別することは退屈である。
【０００６】
工業プラントに関する取扱説明書、制御ロジック定義書、および仕様書などのドキュメントは、別個でかつエンジニアリングツールとは異なるツールを使用して、図1Cに示されるように手動で用意される。制御ロジックから制御データに至る、プロセスプラントに関するドキュメントは、独立して用意される。
【０００７】
ドキュメントは、手動で用意されるため、ドキュメントが工業プラントに対する制御ロジックまたは制御データと整合することを保証することは、退屈でありかつ時間がかかる。石油精製プラントの例において、原油などの原材料の組成は、産出国に依存する。従って、プロセスプラントのプロセス制御システムにおける制御ロジックは、各異なる組成に対して変更されなければならない。原料の異なる組成に対しての異なる制御ロジックに関するドキュメントが、個別に手動で用意される。その用意は、退屈でありかつ時間がかかる。
【０００８】
ドキュメントは、エンジニアリングツールまたはプロセス制御システムの顧客もしくはベンダであるユーザによって用意される。異なるユーザは異なるやり方で制御ロジックを用意および修正するため、ドキュメントは、同じユーザによって用意または更新されなければならない。これは、他のユーザにとって不便でかつ面倒である。
【０００９】
さらに、制御ロジックは、工業プラントにおける持続的な操業改善により継続的に変更される。理想的な状況では、制御ロジックの変更毎にドキュメントが更新される。しかし実際には、制御ロジックの変更がある度にドキュメントを更新することは、ロジスティックに困難である。従って、ドキュメントは、通常更新されない。幾つかの場合、ユーザは、制御ロジックの変更を集約してドキュメントを定期的に更新する。ドキュメンテーションは手動プロセスであるため、ミスや見落としは、ドキュメントの用意または更新の間に共通して起きるものである。定期的な更新は、より多くの誤りを起こす可能性がある。これは、制御ロジックとドキュメントとの間の不整合を招く。ドキュメントが正確さを欠く場合、そのドキュメントは、プロセスプラントに関して信頼できるドキュメンテーションではない。
【００１０】
典型的な工業プラントにおいて、仕様ドキュメントは、数千頁からなる。そのような膨大なドキュメントを手動で更新することは、退屈でありかつ時間がかかる。ドキュメントが制御ロジックと整合することを保証するためには、手動プロセスのために多大なさらなる人的労力、時間、およびコストが要求される。これは、プロセス制御システムを保守および更新するためのコストを増大させる。制御ロジックの保守および更新のコストに加えて、プロセス制御システムに対して変更が要求された場合には、さらなるコストが、ドキュメンテーションが制御ロジックと整合することを保証するために要求される。プロセス工業に対するコスト競争環境において、ドキュメンテーションを保守するためのコストは、先送りまたは完全に回避される。これらの状況において、ドキュメントは、更新の欠如により陳腐である。ドキュメントの用意および更新を向上させる要求がある。
【００１１】
工業プラントは、30年以上の長期間耐えられるように設計および建設される。典型的な大規模工業プラントにおいて、プロセス制御システムは、10000個を超えるフィールドデバイスを制御する。プロセス制御システムには複雑でかつ高度な機能が多数存在する。複雑でかつ高度な機能を多数有する工業プラントでは、プラント制御システムの制御ロジックを保守または更新するために、大勢のユーザが一緒に働くことが要求される。ユーザは、長年にわたるプラント操業で交代されてきたであろう。制御ロジックに対する変更を行うために、既存のユーザは、制御ロジックについての理解を更新するとともに、新しいユーザは、制御ロジックについて調べて理解しなければならない。制御ロジックを理解する1つの方法は、ドキュメントからである。上記説明した理由によりドキュメントが制御ロジックと不整合である場合、ドキュメントからの理解は不可能である。
【００１２】
プロセス制御システムを用意するために多くのエンジニアリングタスクが存在する。エンジニアリングタスクの1つが、制御ロジックまたはドキュメントを生成する方法である。制御ロジックが正確であることを保証するために、生成された制御ロジックに関してテストが行われる。制御ロジックは、各コントローラ108に固有のデータを含むため、エンジニアリングタスク、設計、生成、および制御ロジックのテストは、繰り返し行われる。これは、工業プラントのためのプロセス制御システム100を準備するのに多大な労力および時間を要求する。
【００１３】
様々なユーザが、様々なやり方でエンジニアリングタスクを行う。ユーザが以前のユーザとは異なる場合、保守を行うユーザには、より多くの労力が要求される。エンジニアリングタスクの品質を向上させかつ標準化する必要がある。これは、プロセスプラントのプロセス制御システムの理解の容易さを向上させる。
【００１４】
ユーザは、制御ロジックを解釈して、全ての改訂変更を有する仕様ドキュメントなどの様々なタイプのドキュメントの使用を検証するのにさらなる人的労力および時間を費やさなければならない。これは、プロセス制御システムの保守のためにさらなるコストを招く。
【００１５】
要する人的労力、時間、およびコストの削減によって、プロセス制御システムおよびそのドキュメンテーションを用意、修正、および保守する効率性を向上させる必要がある。さらに、制御ロジックおよびドキュメンテーションの整合性の向上が必要とされる。これらは、持続的な保守および操業改善を効率的に可能するメカニズムを必要とする。
【発明の概要】
【課題を解決するための手段】
【００１６】
プロセス制御を行うように構成されたプロセス制御システムのための設定システム。設定システムは、限定はしないが、a)  設計データに基づく工業プラントのパートに対する、メモリに保存された定義モジュールを含む。定義モジュールは、限定はしないが、a-1)  パートに対する制御ロジックを定義するために構成された制御ロジック定義ファイルと、a-2)  定義された制御ロジックに関連するデータを定義するために構成されたデータ定義ファイルとを含む。
【図面の簡単な説明】
【００１７】
【図１Ａ】関連技術におけるプロセス制御設定システムを示す図である。
【図１Ｂ】関連技術におけるエンジニアリングツールの図である。
【図１Ｃ】関連技術におけるプラントドキュメントを用意するための手動ワークフローを示す図である。
【図２Ａ】図2A  例示的なプロセス制御の配管計装図である。
【図２Ｂ】本発明の幾つかの実施形態により制御ロジックをコントローラに割り当てる例を示す図である。
【図２Ｃ】本発明の幾つかの実施形態により制御ロジックをコントローラに割り当てる例を示す図である。
【図３Ａ】本発明の幾つかの実施形態による定義モジュールを示す図である。
【図３Ｂ】本発明の幾つかの実施形態による定義モジュールを示す図である。
【図３Ｃ】本発明の幾つかの実施形態による定義モジュールを示す図である。
【図４Ａ】例示的なエディタ400を示す図である。
【図４Ｂ】定義モジュールとアプリケーションモジュールとの間に生成されたリンク、およびアプリケーションモジュールとコントローラとの間で定義されたリンクの例を示す図である。
【図５】図5  幾つかの実施形態による本発明の例示的なブロック図である。
【図６Ａ】本発明の幾つかの実施形態によるワークフローを示す図である。
【図６Ｂ】本発明の幾つかの実施形態によるワークフローを示す図である。
【図６Ｃ】本発明の幾つかの実施形態によるワークフローを示す図である。
【図６Ｄ】図6A, 6B, 6C, 6D  本発明の幾つかの実施形態によるワークフローを示す図である。
【図７Ａ】本発明の幾つかの実施形態によるモジュールジェネレータに対する例示的な表示画面である。
【図７Ｂ】本発明の幾つかの実施形態により生成されたリンクを表示する例示的な表示画面である。
【図７Ｃ】本発明の幾つかの実施形態によるドキュメントレイアウトコンフィギュレータに関する例示的な表示画面である。
【図７Ｄ】幾つかの実施形態によるプラントドキュメントの例示的なコンテンツテーブルを示す図である。
【図８Ａ】本発明の幾つかの実施形態によるエディタのワークフローを示す図である。
【図８Ｂ】本発明の幾つかの実施形態によるマスエディタのワークフローを示す図である。
【図９】本発明の幾つかの実施形態によるプロセス制御設定システムを示す図である。
【図１０】プロセス制御設定システムに関するブロック図である。
【発明を実施するための形態】
【００１８】
プロセス制御システム
図2Aは、工業プラント230(図示せず)における設備210のための例示的なプロセス制御システム200の図である。この例において、設備210は、原油炉である。プロセス制御システム200は、設備210の様々なパートを制御するためのパート220, 222, 224, 226, 228を有している。パート220, 222, 224, 226, 228はそれぞれサブパートから成る。この例において、パート220は、フィールドデバイス202, 204、および制御ロジック206といったサブパートを有している。制御ロジック206は、工業プラント230におけるプロセス232(図示せず)を制御するためのコントローラ212(図9に示される)において行われる。この例において、制御ロジック206は、工業プラント230に関する設計データ234(図示せず)に従ってフィールドデバイス202, 204を制御するためのものである。
【００１９】
この例において、フィールドデバイス202は、センサであり、入力パラメータをコントローラ212に送信する入力装置である。コントローラ212は、第1の機能ブロック205および第2の機能ブロック207の2つの機能ブロックにおける制御ロジック206を有している。機能ブロック205, 207は、制御ロジック206を処理するためのコントローラ212におけるソフトウェアコンポーネントである。入力パラメータは、出力パラメータを生成する第2の機能ブロック207において処理される前に、第1の機能ブロック205において処理される。それから、コントローラ212は、出力パラメータを第2の機能ブロック207からフィールドデバイス204(この例ではバルブに対するアクチュエータである出力装置)に伝送する。この例において、フィールドデバイス202, 204は、入出力(I/O)カードまたはモジュールなどのハードウェアインターフェースコンポーネントに接続され、そしてコントローラ内の第1の機能ブロック205および第2の機能ブロック207に接続される。
【００２０】
本発明の幾つかの実施形態によれば、工業プラント230のためのプロセス制御システム200は、同じまたは異なるタイプの設備210に対する複数のプロセス制御システム200から成る。
【００２１】
プロセス制御システム200は、複数のプロセッサおよび複数のHMI端末218(図示せず)を含む。
各HMI端末218は、HMI画面217(図示せず)および入力装置から成る。HMI画面217は、パート220を表示し、サブパートであるフィールドデバイス202, 204のために応じて表示する。本発明の幾つかの実施形態によれば、HMI画面217は、全てのパート220, 222, 224, 226, 228、およびサブパートであるフィールドデバイス202, 204、制御ロジック206を表示する。
【００２２】
プロセス232は、限定はしないが、設備210におけるプロセス、および各パート220, 222, 224, 226, 228におけるプロセスを含む。代替として、設備210は、パート220, 222, 224, 226, 228から成るパートである。この代替例において、設備210におけるプロセスは、パート220, 222, 224, 226, 228におけるプロセスから成る。
【００２３】
パート
「工業プラントのパート」という表現の文脈における用語「パート」は、工業プラントを構成する要素の「全てはなく」、1つを意味する。工業プラントのパートとしての「プロセス制御ターゲット」という表現の文脈における用語「パート」は、プロセス制御システムによって行われるプロセス制御の対象であるターゲットを意味する。「パート」または「プロセス制御ターゲット」は、ハードウェアのみ、ソフトウェアのみ、またはその組み合わせであることが可能である。「パート」または「プロセス制御ターゲット」の幾つかの説明例は、限定はしないが、フィールドデバイス、機能ブロック、コネクタ、コントローラ、HMI画面を含み得る。用語「パート関連データ」は、上述の「パート」または「プロセス制御ターゲット」に関連するデータを意味する。「パート」がフィールドデバイスである場合には、パート関連データは、フィールドデバイスに関連するデータのセットを意味する。
【００２４】
全体として考慮される工業プラント230に関して、工業プラント230全体の部分は、パートと称される。本発明において、パートは、工業プラント230のコンポーネントまたは領域である。コンポーネントは、限定はしないが、センサおよびアクチュエータなどのフィールドデバイス202, 204、制御ロジック206、コントローラ212、ならびに設備210を含む。本発明の幾つかの実施形態によれば、コントローラ212は、機能ブロック205, 207、関連する機能ブロック205, 207の間のコネクタ209を含む。コンポーネントが他のコンポーネントから構成される場合、パートは複数のサブパートから成る。例えば、パート220は、機能ブロック205, 207などのごく基本的なブロックおよび機能ブロック205, 207に対するコネクタ209からの集合である。
【００２５】
通常、工業プラント230は、管理のための様々な領域に実質的に分割される。例えば、領域は、特定のプロセスに対するコンポーネントのコレクション、またはある物理的位置におけるコンポーネントのコレクションである。領域は、識別、参照、または設定を容易にするための単位であるセルにさらに分割される。
【００２６】
全体として考慮されるグラフィカルユーザインターフェースでは、HMI画面上に示されるグラフィカルユーザインターフェースに対して構成するために使用されるコンポーネントは、パートと称される。例えば、パートは、数値データパート、棒グラフパート、テキストパート、画像パートなどのデータアクセスパートである。別の例において、パートは、ラベルパートおよびリンクパートなどの非データアクセスパートである。
【００２７】
本発明の幾つかの実施形態によれば、パートは、少なくとも1つの入力パラメータおよび1つの出力パラメータを含む。本発明の幾つかの実施形態によれば、入力パラメータおよび出力パラメータの一方は、固定されて操作することはできない。
【００２８】
プロセス制御システムエレメントは、プロセス制御システムの全体ではなく、パートを意味する。
【００２９】
設計データ
工業プラント230のための設計仕様である設計データ234は、プロセス232に対するプロセス制御システム200の設定に関するデータを含む。設計データ234は、フィールドデバイス202, 204、制御ロジック206、設備210、コントローラ212、機能ブロック205, 207、コネクタ209などのコンポーネントに関するデータ、および各コンポーネントに固有のデータを含む。
【００３０】
定義モジュール
プロセス制御システム200およびその設定システムは、複数のハードウェアおよびソフトウェアコンポーネントを含む。定義モジュール300は、メモリ上に存在する追加のソフトウェアコンポーネントである。定義モジュール300は、プロセス制御システム200において使用されるのに適している。本発明の幾つかの実施形態によれば、定義モジュール300は、プロセス制御システム200のための設定システムにおいて使用されるのに適している。代替として、定義モジュール300のインスタンスであるアプリケーションモジュール440は、メモリ上のソフトウェアコンポーネントである。アプリケーションモジュール400は、プロセス制御システム200およびプロセス制御システム200の設定システムのうちの少なくとも1つのソフトウェアコンポーネントである。
【００３１】
図3Aは、本発明の幾つかの実施形態による定義モジュール300を示す。定義モジュール300は、工業プラント230におけるプロセス制御システム200のパート220を表すように定義される。
【００３２】
代替として、図3Bはさらに、フィールドデバイス202, 204、および制御ロジック206といったサブパートに対する定義モジュール302, 304, 306をそれぞれ示す。この代替例において、定義モジュール300は、本発明の幾つかの実施形態による定義モジュール302, 304, 306から成る。定義モジュール306は、制御ロジック206に対して定義される。制御ロジック206は、機能ブロック205, 207、および機能ブロック205, 207の間のコネクション209から成る。本発明の幾つかの実施形態によれば、機能ブロック205, 207は、別個の定義モジュールにおいてさらに定義される。
【００３３】
図3Cは、本発明の幾つかの実施形態による定義モジュール300を示す。定義モジュール300は、プロパティファイル310、制御ロジックファイル定義320、およびデータ定義ファイル330のうちの1つを含む。本発明の幾つかの実施形態によれば、定義モジュール300は、複数の制御ロジック定義ファイル320、複数のデータ定義ファイル330をさらに含む。本発明の幾つかの実施形態によれば、制御ロジック定義ファイル320およびデータ定義ファイル330の各タイプのファイルの複数が別個の定義ファイルに保存される。
【００３４】
定義モジュール300は、パート220に関連する設計データ234に基づいて構成される。定義モジュール300は、同じまたは異なる工業プラント230における同様のパート222, 224, 226, 228に対して再利用可能である。これは、異なるパート222, 224, 226, 228に対する同様の定義モジュール300を定義する不必要な繰り返しタスクを減らす。
【００３５】
本発明の幾つかの実施形態によれば、定義モジュール300は、パートのタイプに基づいて構成される。一例において、定義モジュール300は、汎用設計データ234に基づく汎用パートに対して構成される。限定を有さない汎用設計データ234は、プロセス制御システム200から独立している。そして、定義モジュール300は、設計データ234に対するパート220とともに更新されることによって、パート220に対して更新される。一例は、パート220に関する設計データ234による定義モジュール300のインスタンス作成である。
【００３６】
有利には、定義モジュール300は、汎用設計データ234を用いて生成されるとともに、その後に実際の設計データ234を用いて更新される。これは、プロセス制御システム200に対する設定の利便性を向上させる。
【００３７】
プロパティファイル
プロパティファイル310は、定義モジュール300のモジュールプロパティを含む。プロパティファイル310は、定義モジュール300のユーザおよび使用を検索および識別するために使用される。プロパティの例は、定義モジュール300に対して固有である識別子、定義モジュール300の修正のために要求されるアクセス許可、定義モジュール300の外部検索を促進させるための少なくとも1つのキーワード、および最近の更新を示すための、または次の保守をスケジュールするための参照として作用する最新の修正日である。
【００３８】
定義モジュール300のプロパティファイル310に追加される付加的なプロパティは、パート220に関連する情報を含む。プロパティファイル310に追加される情報の例は、パート220のHMI端末218を操作および監視するためのHMI画面217のセッティングと、パート220のソースコード、バージョン、サイズ、タイムスタンプ、ファームウェアバージョン、セッティング、修正履歴、物理的位置などの制御ロジック情報と、パート220のメディア、速度、ハードウェアおよびソフトウェアインターフェースセッティング、外部接続端末、ファイアウォール情報などのネットワーク情報と、パート220の論理的および物理的接続情報と、パート220が使用するシミュレーションモデルと、パート220に関する配管計装図および工程系統図のバージョン番号などのプラント情報とである。
【００３９】
本発明の幾つかの実施形態によれば、定義モジュール300に対して複数のプロパティファイル310が存在する。複数のプロパティファイル310のそれぞれは、パート220が修正された際の、定義モジュール300の準備の容易さを向上させるための、異なるプロパティに関するものである。
【００４０】
一例において、HMI画面217は、1つまたは複数のHMI端末218に対するパート220上に表示され、サブパートであるフィールドデバイス202のために応じて表示される。HMI画面217がパート220に対するプロセス条件またはユーザ嗜好によって変化した場合、HMI端末218上に表示された複数のHMI画面217が存在する。HMI画面217の各バリエーションに対する各HMI画面217セッティングは、別個のプロパティファイル310にある。これは、HMI画面217がパート220に対するプロセス条件またはユーザ嗜好に関連するかどうかを判定する容易さを向上させる。
【００４１】
制御ロジック定義ファイル
制御ロジック定義ファイル320は、パート220に対する制御ロジック定義322、アラーム定義326のうちの1つを含む。制御ロジック定義322は、入出力(I/O)信号に対するプロセスアルゴリズムである制御ロジック206から成る。フィールドデバイス202からの入力信号は、フィールドデバイス204への出力信号を生成するように定義された、制御ロジック206に対する制御ロジック定義322に適用されるように定義される。I/O信号の例は、センサ202から受信された値およびバルブ204を制御するために伝送された値などのプロセス変数である。プロセス変数は、温度、圧力、力、供給量、流量、化学組成、重量、位置、および速度などの、測定が存在する変数である。
【００４２】
制御ロジック206が外部ソースから利用可能またはインポートされる場合、追加の制御ロジック定義322が制御ロジック定義ファイル320に含まれる。これは、定義モジュール300にインポートされるフォーマットに制御ロジック定義322を含めるのに都合が良い。
【００４３】
幾つかの実施形態によれば、制御ロジック定義ファイル320は、パート220に対するアラーム定義326ファイルを含む。同様に、アラーム定義326は、サブパートであるフィールドデバイス202, 204からの入出力(I/O)信号に対するアラーム制御ロジックまたはアルゴリズムから成る。例えば、アラームは、予め定義された範囲から外れているI/O信号などの、フィールドデバイス202からの入力信号、またはフィールドデバイス204への出力信号に基づいてアクティベートされる。定義モジュール300は、別のアラーム通知ツールを使用することなく、アラーム管理機能を提供するようにさらに改良される。アラーム管理機能によりプロセス制御システム200を設定および保守するリソースは、別個の独立したアラーム管理ツールの使用と比べて、設計データ234との整合性をさらに向上させる。
【００４４】
制御ロジック定義322に加えて、サブパートであるフィールドデバイス202, 204に対するパラメータセッティング324(図示せず)の値は、制御ロジック定義ファイル320およびアラーム定義ファイル内のアラームセッティング325(図示せず)の値において定義される。パラメータセッティング324の値は、限定はしないが、タグ名、タグコメント、範囲を含む。
【００４５】
調整パラメータ
制御ロジック定義322内のプロセスアルゴリズムは、調整パラメータをさらに含む。調整パラメータは、プロセス232を制御するために、制御ロジック206において生成および適用される変数である。制御ロジックに対する以下の汎用アルゴリズムを有する、比例-積分-微分(PID, Proportional-Integral-Derivative)コントローラの例を用いる。
【００４６】
【数１】
2016095852.tif 000003
【００４７】
ここで、
Kp:  比例ゲイン、調整パラメータ
Ki:  積分ゲイン、調整パラメータ
Kd:  微分ゲイン、調整パラメータ
e:  エラー＝セットポイント−プロセス変数
t:  時間または瞬時(現在)
τ:  積分の変数、時間0から現在tまでの値をとる
【００４８】
IPIDコントローラに対する上記制御ロジックにおいて、Kp, Ki, Kdは調整パラメータの例である。プロセス制御システムの分野における当業者は、制御ロジックを処理している機能ブロック内で生成される他の調整パラメータが存在することを理解する。
【００４９】
調整パラメータは、アラームセットポイントを含む。アラームセットポイントは、プロセス制御システム200におけるアラーム管理のためのアラーム定義326において定義される調整パラメータである。
【００５０】
調整パラメータの使用例は、定義モジュール300が初めて使用された場合に、プロセス232を調整するためのものである。調整パラメータ、機能ブロックデータアイテムは、制御ロジック206の機能ブロック205, 207において生成される。従って、調整パラメータは、プロセス制御システム200が動作中の場合でのみ利用可能である。調整パラメータが最初の調整のために要求された場合、デフォルト値またはユーザ入力値が使用される。
【００５１】
定義モジュール300の設定の間、固定値は、要求された特定の機能を実現するために、パート220に対する制御ロジック206において定義される。本発明の幾つかの実施形態によれば、固定値は、設計値、初期値、またはユーザ定義値である。固定値の使用例は、プロセス制御システム200の実行であるランタイムの間である。固定値は、制御ロジック206の調整フェーズの間に割り当てられる。
【００５２】
プロセス制御システム200の動作の間、機能ブロック内で生成された現在値は、固定値との比較ののために取り出される。この比較は、プロセス232を監視または制御するために使用される。これは、調整パラメータ、固定値に定義モジュール300が提供される場合、プロセス制御システム200の動作およびセッティングの間のユーザの効率性を向上させる。ユーザの経験に頼る必要または固定値に対する参照ソースをルックアップする必要がない。加えて、機能ブロック内で生成された現在値が、制御ロジック206を調整するのに好ましい値であると判定された場合、現在値は、更新された固定値として保存される。
【００５３】
一例において、制御ロジック定義ファイル320は、パート220に対して構成される。コントローラ212に対する制御ロジック206は、機能ブロック205, 207にカプセル化される。コントローラ212は、制御データ510内の制御ロジック206を読み出し、入力プロセス変数を識別し、出力プロセス変数を生成するために機能ブロック205, 207におけるアルゴリズムを行うとともに、出力プロセス変数の宛先を識別する。宛先の例は、別のコントローラ、フィールドデバイスである。幾つかの例において、制御ロジック206は、フィールドデバイス204を制御するための出力パラメータを処理および生成するためのプロセスアルゴリズムに適用される、フィールドデバイス202からのプロセス変数またはHMI端末218からのユーザ入力などの入力パラメータを受信する。幾つかの例において、制御ロジック206は、予め定義された入力パラメータを有している。フィールドデバイス204の挙動は、入力パラメータおよびプロセスアルゴリズムに依存する。
【００５４】
パート220, 222, 224, 226, 228に対して設定される制御ロジック206を有する定義モジュール300は、パート220, 222, 224, 226, 228に対する制御ロジック206のコントローラ212への物理的結束または割り当てに依存しない。説明のために図2Bおよび2Cの例を用いると、パート220, 222, 224, 226, 228の制御ロジック206は、定義モジュール300内で「FCS0101」として識別されるコントローラ212において定義される。図2Bの第1の割り当てにおいて、パート220, 222, 224, 226, 228に対する制御ロジック206は、コントローラ212「FCS0101」に割り当てられる。図2Cの代替的な第2の割り当てにおいて、パート220, 222, 224に対する制御ロジック206は、第1のコントローラ212「FCS0101」に割り当てられるとともに、制御ロジック206に対するパート226, 228は、第2のコントローラ213(図示せず)「FCS0102」に割り当てられる。パート220, 222, 224, 226, 228における制御ロジック206は、両方のタイプの割り当てに対して有効である。
【００５５】
本発明の幾つかの実施形態によれば、制御ロジック定義ファイル320は、パート220、サブパートであるフィールドデバイス202, 204、制御ロジック206に対する、制御ロジック定義322、アラーム定義326、パラメータセッティング324、およびアラームセッティング325のうちのいずれか1つを含む。ルータ、ハブ、またはスイッチなどのネットワーク装置208(図示せず)を含むパート220の例示的な実施形態において、ネットワーク装置208に対する制御ロジック定義322、アラーム定義326、パラメータセッティング324、またはアラームセッティング325が含まれる。
【００５６】
典型的な工業プラント230は、様々なベンダによって提供されるフィールドデバイス202, 204から成る。制御ロジック定義322、アラーム定義326は、パート220およびサブパートであるフィールドデバイス202, 204に対するベンダ固有のフォーマットで用意される。代替として、制御ロジック定義322は、工業規格に基づく汎用フォーマットで用意される。
【００５７】
本発明の幾つかの実施形態によれば、制御ロジック定義ファイル320がフォルダである場合、制御ロジック定義ファイル320は、上述したコンテンツの保存のために定義モジュール300内の位置を参照する。
【００５８】
データ定義ファイル
データ定義ファイル330は、パート220に対する制御ロジック定義322に関連する設計データ234を保存する。設計データ234が更新された場合、制御ロジック定義322は更新される。これはプロセス232に対して実行される制御データ510が設計データ234と整合することを保証する。
【００５９】
ルール定義ファイル
本発明の幾つかの実施形態によれば、データ定義ファイル330は、ルール定義328ファイルを含む。ルール定義328は、パート220、または他のパート、フィールドデバイス202, 204に対して、パラメータセッティング324の値を更新または変更するために適用される。制御ロジック定義322内のパラメータセッティング324の値は、設計データ234に関連する参照データの変更に従って変更される。参照データは、特定の設備、プロセス、または製品に固有のものや、顧客、ベンダからのものなどのユーザが設定し編集可能なデータである。参照データは、フィールドデバイスに対するデータ、または制御ロジック定義322、アラーム定義326内のデータの設定またはセッティングである。
【００６０】
ルール定義328は、条件が満たされた場合に、参照データ内のパラメータを制御ロジックパラメータにセットするための少なくとも1つの条件および1つのアクションを含む。ルールの一例：  参照データにおいてフィールドデバイスに関して対応する設定「config_value」のセッティングが「1」である場合、フィールドデバイスに対する制御ロジックパラメータ「param01」のセッティングは、「5」である。
【００６１】
本発明の幾つかの実施形態によれば、参照データは、データソースにある。用語「データソース」は、データを持続的に保存するように構成されたメモリまたはストレージに保存された1つまたは複数のデータセット、リポジトリ、またはデータベースを意味する。本発明の幾つかの実施形態によれば、データソースは、リポジトリまたはデータベースなどの、1つまたは複数のデータセットを有するメモリまたはストレージなどのハードウェアの組み合わせである。データソースの例は、定義モジュール300からの同じまたは別個の、メモリに保存されたファイル構造内の入出力(I/O)リストである。I/Oリストの例は、全てのフィールドデバイス202, 204、ならびにそれらのプロパティおよびパラメータを含む。パラメータの変更がある場合、I/Oリストは、定期的に更新される。ルール定義328は、定義モジュール300のパラメータ変更を更新する。
【００６２】
ルール定義328ファイルを編集するためのアクセス権は、定義モジュール300の開発者もしくは設計者などの経験を積んだユーザまたは許可されたユーザに制限される。他のユーザは、ルール定義328を閲覧および使用するためのアクセス権を有する。これは、パート220に対して定義された制御ロジック定義322とパート220に対して設計された設計データ234との間のエラーまたは不整合を最小限にする。本発明の幾つかの実施形態によれば、ルール定義328のファイルは、制御ロジック定義ファイル320内にある。これは、ルール定義328のファイルが制御ロジック定義ファイル320内にある場合、編集ための権限無しに、ルール定義328のファイルを閲覧および使用するためのアクセス権のセッティングの容易さを向上させる。
【００６３】
ルール定義328は、設計データ234内のパラメータの複雑な関係性を解釈および提供する。ルール定義328が定義モジュール300に含まれる場合、定義モジュール300と設計データ234との整合性が向上される。
【００６４】
本発明の幾つかの実施形態によれば、ルール定義328ファイルは、複数のルール定義328を含む。本発明の幾つかの実施形態によれば、ルール定義328は、ユーザが、各制御ロジック定義またはパラメータに対するルール定義328を選択または非選択するためのオプションプロパティを含む。ルール定義328は、ルール定義328の優先順位を定義するランクプロパティをさらに含む。これは、設計データ234との整合性をさらに向上させる。
【００６５】
定義モジュール300に含まれているルール定義328は、制御ロジックを有するオブジェクトにおける、外部ルールデータベースへのリンクを含む従来のシステムと比べて、より便利でかつ効率的である。さらに、リンクおよび外部ルールデータベースの両方が設計データ234との整合性を保証するように保守しなければならない従来のシステムと比べて、複雑なパラメータ関係の保守および可視性が向上される。
【００６６】
ドキュメント定義ファイル331
本発明の幾つかの実施形態によれば、データ定義ファイル330は、ドキュメントデータ332を保存するドキュメント定義ファイル331(図示せず)を含む。ドキュメントデータ332は、プラントドキュメント530を生成するのに必要である設計データ234を含む。本発明の幾つかの実施形態によれば、ドキュメントデータ332は、パート220、サブパートであるフィールドデバイス202, 204、制御ロジック206、機能ブロック205, 207、コネクタ209、ネットワーク装置208におけるダイレクトセッティングまたは設定に対するパラメータセッティング324、アラームセッティング325などの実施の間、使用されない。ドキュメントデータ332は、定義モジュール300に対するテスト手順またはテストデータを含む。ドキュメントデータ332は、工業プラント230の仕様書、取扱説明書、制御ロジック定義322の仕様書、アラーム定義326の仕様書などのプラントドキュメント530、および工業プラント230に関連するそのようなドキュメントを生成するために使用される。ドキュメントデータ332は、限定はしないが、テスト機能データ、HMI画面217の実画像または代表画像、パート220、サブパート(フィールドデバイス202, 204)、制御ロジック206、ネットワーク装置208の実画像または代表画像、およびその他の情報を含む。他の情報は、工業プラント230または制御ロジック定義322の説明または説明図であるテキストファイルまたはビデオを含む。
【００６７】
定義が、同じソース、設計データ234に基づくため、ドキュメント定義ファイル331から生成されるプラントドキュメント530は、プロセス制御システム200において制御ロジック定義322と整合するように更新される。
【００６８】
本発明の幾つかの実施形態によれば、定義モジュール300に対する複数のドキュメント定義ファイル331が存在する。複数のドキュメント定義ファイル331のそれぞれは、異なるタイプのドキュメントデータ332に対するものである。例えば、定義モジュール300に複数の制御ロジック定義322、アラーム定義326、ルール定義328がある場合、各ドキュメント定義ファイル331は、各制御ロジック定義322、アラーム定義326、ルール定義328に対して別々に用意される。これは、様々なタイプのドキュメントデータ332が複数のドキュメントファイル331内で用意されている場合、プラントドキュメント530の準備の容易さを向上させる。さらにこれは、ドキュメントファイル331に対する保守の容易さを向上させる。
【００６９】
本発明の幾つかの実施形態によれば、各ドキュメント定義ファイル331は、レイアウトファイル334、パラグラフファイル336、およびセクションファイル338などのドキュメントファイルから成る。レイアウトファイル334は、特定のプラントドキュメント530を生成するのに使用されるドキュメントデータ332の配置および管理を定義する。パラグラフファイル336は、各データ部分またはそのデータ部分の説明(narration)に対する1つのパラグラフを用意することによるドキュメントデータ332の管理である。例えば、ドキュメントデータ332の1つのパラグラフは、1つのテキストファイルに保存される。従って、2つ以上のパラグラフファイル336が存在する場合、レイアウトファイル334は、複数のパラグラフファイル336のレイアウトを定義する。本発明の幾つかの実施形態によれば、レイアウトファイル334およびパラグラフファイル336は、1つの説明(narrative)ドキュメントファイルに組み込まれる。しかし、レイアウトファイル334およびパラグラフファイル336が、別個のドキュメントファイル内で管理される場合、管理および使用の容易さが向上する。
【００７０】
セクションファイル338は、セクション、サブセクション、またはセクション、サブセクションのコレクションであるチャプターに対する、テキストまたは画像内の、ドキュメントデータ332の定義である。
【００７１】
さらに、本発明の幾つかの実施形態によれば、ドキュメントデータ332は、添付物を含む。添付物の例は、プラントドキュメント530を生成するのに使用される、または制御データ510とともに含まれるドキュメントまたはデータである。添付物は、テキストおよび画像から成るドキュメントデータ332として添付ファイル340内に個別にまたは集合的に保存される。添付ファイル340は、ドキュメントファイルを備え、添付されるそのようなファイルが2つ以上ある場合、定義モジュール300におけるプラントドキュメント530内で使用または添付される複数の添付物を管理するための添付リストファイル342を備える。添付される複数のそのようなファイルは、添付リストファイル342内にリストされる。
【００７２】
利用可能なドキュメントデータ332のタイプに基づいて、ドキュメント定義ファイル331、添付ファイル340が構築または設定されて、プラントドキュメント530を生成するためのドキュメントデータ332を保守する容易さおよび効率性を向上させる。設計ドキュメント332が構築されたドキュメント定義ファイル331、添付ファイル340に配置された場合、様々なユーザが、ドキュメントデータ332を更新しかつ任意のタイプのプラントドキュメント530を生成することができる。
【００７３】
本発明の幾つかの実施形態によれば、ドキュメント定義ファイル331がフォルダである場合、ドキュメント定義ファイル331は、上述したコンテンツの保存のために定義モジュール300内の位置を参照する。
【００７４】
リポジトリ
定義モジュール300、制御ロジック定義ファイル320、アラーム定義326ファイル、データ定義ファイル330、ルール定義328ファイル、ドキュメント定義ファイル331は、同じパート220または異なるパート222, 224, 226, 228に対して再利用または更新される、取り出しの設定の後、リポジトリ1300に保存される。リポジトリ1300は、定義モジュール300に対するエディタツールと同じコンピュータ上にある。本発明の幾つかの実施形態によれば、リポジトリ1300は、別個のサーバ、コンピューティングクラウドなどのセキュアなロケーションに配置される。これは、より多くのユーザがリポジトリ1300を安全に利用可能であることを可能にする。ユーザは、リポジトリ1300にアクセスする。これは、異なるパート222, 224, 226, 228に対する同様の制御ロジック212を定義する不必要な各タスクを減らす。制御ロジック212である定義するタスクは、設備210に対する定義モジュール300において、5回ではなく1回のみなされる。
【００７５】
リポジトリ1300は、リポジトリ1300内のコンテンツを管理するリポジトリツールを含む。リポジトリツールは、グローバルプロパティをグローバル識別子および修正番号などのコンテンツ(特に、定義モジュール300およびアプリケーションモジュール440)に割り当てるアサイメント機能を有する。定義モジュール300およびアプリケーションモジュール440は、モジュールがユーザにライセンスされている場合、ライセンスマークを割り当てるアサイメント機能に対するライセンスマークプロパティを含む。
【００７６】
リポジトリツールは、リポジトリ内のコンテンツを管理するために使用される内部データを含む。内部データは、レポート、ライセンスされたコンテンツ、ファイル、ブラウズ、および検索にインデックスを付ける検索機能をブラウズ、検索、アップロード、ダウンロード、および生成するためのアクセス権などのユーザ情報を含む。内部データは、使用統計、使用履歴(例えば、最終ユーザ、最終ダウンロード)など、コンテンツに関する使用情報を含む。
【００７７】
修正番号などのグローバルプロパティおよびユーザにライセンスされたコンテンツなどの内部データに基づいて、リポジトリツールは、グローバルプロパティに変更がある場合に、通知をユーザに送信する通知機能を含む。一例において、新たな修正が利用可能である場合、通知機能は、アップロードされたコンテンツをライセンスされたユーザに送信する。グローバルプロパティおよび内部データに基づいて、リポジトリ1300の顧客などのユーザは、設定のために有用なコンテンツまたはプロセス制御システム200の設定を識別するようにブラウズすることができる。
【００７８】
コンテンツが複数のユーザによってアクセス可能であるようにアップロードされた場合、リポジトリ1300内のコンテンツを用意するのに蓄積されたスキルおよび経験の利用が最大化される。プロセス制御システム200を用意または修正するためのものであるリソースは、ユーザがリポジトリ1300からコンテンツをダウンロードした場合に最小化される。
【００７９】
実装の概念
本発明は、オブジェクト指向プログラミング概念を使用したエディタツール400において実装される。定義モジュール300がベースモジュールである場合、定義モジュール300は親クラスである。子定義モジュールが親定義モジュール300を継承する場合、子定義モジュールは子クラスである。親クラスにおける変更は、子クラスににおいて自動的に更新される。従って、子定義モジュールは自動的に更新されるため、子定義モジュールは、親定義モジュール300が変更された場合の対応する手動更新を必要としない。
【００８０】
パートがパート220と同様であるため、定義モジュール300がパート222, 224, 226, 228に適用される。図2Aから、パート220, 222, 224, 226, 228は、2つの入力を有しているため、同じ定義モジュール300が、パート220, 222, 224, 226, 228に適用される。さらに、定義モジュール301(図示せず)は、設備210に対して用意される。本発明の幾つかの実施形態によれば、定義モジュール301は、5つの定義モジュール300から成る。定義モジュールがサブパート202, 204, 206に対する定義モジュール302, 304, 306をさらに含む場合、定義モジュール301は、複数のネスティングレベルを有する。
【００８１】
本発明の幾つかの実施形態によれば、アプリケーションモジュール440は、パート220に対する定義モジュール300のインスタンスである。アプリケーションモジュール440は、定義モジュール300が設計データ300またはデータソースに基づいて割り当てられた特定のパラメータである場合、生成またはインスタンス作成される。従って、アプリケーションモジュール442, 444, 446, 448は、各パート222, 224, 226, 228に対するインスタンスである。本発明の幾つかの実施形態によれば、アプリケーションモジュール440は、インスタンス作成されたオブジェクトである。
【００８２】
説明のための例を用いると、定義モジュール300は、汎用制御ロジックなどの汎用情報を有する。この例において、汎用制御ロジックは、インスタンス作成の間、特定の値を含むことによって、制御ロジックのために使用することができる。汎用制御ロジックを有する定義モジュールは、テンプレートと同様である。アプリケーションモジュール440は、インスタンス作成された定義モジュール300であり、アプリケーションモジュール400内の制御ロジックが特定の値を有することを意味する。アプリケーションモジュール440が特定の値を有すると、それはもはやテンプレートではない。アプリケーションモジュール440内の制御ロジックは、汎用パートに対するものではなく、特定のパートに対するものである。アプリケーションモジュール440の制御ロジック内のパラメータまたはデータは、データ定義ファイル330内で定義されたデータに基づいて更新されている。アプリケーションモジュール440において、データ定義ファイル330は、定義モジュール300におけるものと同じである。
【００８３】
本発明の幾つかの実施形態によれば、有利には、本発明は、設備210のために使用される5つの定義モジュールの代わりに、1つだけの定義モジュール300の設定を要する。従って、定義モジュール300は、他の同様のパートのために再利用される。これは、パート220, 222, 224, 226 228を含む設備210に対する定義モジュール300の用意、保守、および更新の間の効率性を向上させる。
【００８４】
設計データ234におけるパラメータ変更が、定義300において更新された場合、全てのアプリケーションモジュール440, 442, 444, 446, 448が更新される。プロセス制御システム200の設定およびセッティングの効率性が、本発明により向上する。
【００８５】
エディタツール400
図4Aは、図9のプロセス制御設定システム900における例示的なエディタツール400を示すとともに、図5は、プロセス制御システム200のために使用されるように構成されたエディタツール400の例示的なブロック図を示す。エディタツール400は、工業プラント230、プロセス232、または設備210に対するプロセス制御システム200の設計仕様234に基づいて、定義モジュール300を用意、保守、および修正するために使用される。用意された定義モジュール300は、データベース430のモジュールライブラリ432に保存される。本発明の幾つかの実施形態によれば、データベース430は、エディタツール400と分離している。これらの実施形態において、エディタツール400は、データベース430を含むリポジトリ1300と通信するように構成される。
【００８６】
計算制御コンポーネント410
エディタツール400は、計算制御コンポーネント410を含む。本発明の幾つかの実施形態によれば、計算制御コンポーネント410は、システム1000のプロセッサ1100内に存在する。計算制御コンポーネント410は、エディタツール400内の他の全てのコンポーネントを制御して、定義モジュール300およびアプリケーションモジュール440を操作する。この操作は、アプリケーションモジュール440を生成するための定義モジュール300の用意、保守、修正、およびインスタンス作成、ならびにアプリケーションモジュール440の修正を含む。
【００８７】
モジュール生成コンポーネント412
エディタツール400は、モジュール生成コンポーネント412を含む。モジュール生成コンポーネント412は、以下で説明される1つまたは複数の機能を行うように構成される。図6Aは、アプリケーションモジュール440を生成する機能に関するワークフロー610である。S612において、モジュール生成コンポーネント412は、モジュールライブラリ432に保存された定義モジュール300を読み出す。
【００８８】
S614において、モジュール生成コンポーネント412は、入力装置1200から受信されたユーザ入力または入力信号などの入力を読み取る。本発明の幾つかの実施形態によれば、入力はデータソースである。定義モジュール300内のルール定義328は、設計データ234に基づく入力としてデータソースパラメータを定義する。
【００８９】
S616において、モジュール生成コンポーネント412は、入力および定義モジュール300に基づいて、定義モジュール300を生成または更新する。本発明の幾つかの実施形態によれば、モジュール生成コンポーネント412は、アプリケーションモジュール440を生成するまたはインスタンス作成する。
【００９０】
図7Aは、生成された定義モジュール300の、エディタツール400における例示的な表示画面450を示す。定義モジュール300、ならびにその制御ロジック定義ファイル320、ドキュメント定義ファイル331、および添付ファイル340は、モジュールライブラリウィンドウ452内に表示される。本発明の幾つかの実施形態によれば、プロパティファイル310は、同じモジュールライブラリウィンドウ452内に、または別個のモジュールプロパティファイルウィンドウ454内に表示される。定義モジュール300に対する制御ロジック定義322は、既知の制御ロジックエディタまたは制御ロジック描画ビルダを使用して、制御ロジックエディタウィンドウ456内で編集される。制御ロジック定義322は、パート220およびサブパート202, 204, 206を含む。パート220およびサブパート202, 204, 206のそれぞれに関して、固定されたプロパティおよびプロパティの変数であるパラメータは、パートプロパティウィンドウ458内にリストされる。パートプロパティウィンドウ45内に表示されたプロパティの例は、識別子、または「タグ名(Tag Name)」、「タイプ(Type)」、「ルール(rule)」、「タグコメント(Tag Comment)」である。各プロパティに関して、パラメータのデフォルトまたはリストが、選択のために提供され、ユーザ入力が、有効性についてチェックされる、または選択のためのチェックボックスが適切に提供される。
【００９１】
モジュールライブラリウィンドウ452、モジュールプロパティファイルウィンドウ454、制御ロジックエディタウィンドウ456、およびパートプロパティウィンドウ458は、表示画面450上の別個の領域である。ウィンドウは、閲覧および使用の容易さのために、タイル状ディスプレイに配置される。
【００９２】
アプリケーションモジュール440は、オブジェクト指向プログラミングにおけるインスタンスと等価である。オブジェクト指向プログラミングでは、インスタンスは、クラスモジュールのインスタンス作成によって生成され、クラスモジュール内の実際の値を適用または使用する。本発明において、実際の値は、入力装置1200からの受信されたユーザ入力または入力信号に基づく。
【００９３】
モジュール生成コンポーネント412は、必要な数のアプリケーションモジュールを生成する。設備210の例では、必要な数のアプリケーションモジュール440, 442, 444, 446, 448は、設備210を制御するパート220, 222, 224, 226, 228に対して、生成またはインスタンス作成される。
【００９４】
モジュール生成コンポーネント412は、設備210の異なる状態に対する新しい定義モジュール300を用意または生成する。この機能に対して、モジュール生成コンポーネント412は、新しい定義モジュール300により開始する。新しい定義モジュール300は、プロパティファイル310内に予め定義されたデフォルトのプロパティを有し、制御ロジック定義ファイル320、ドキュメント定義ファイル331内に情報は有さない。例えば、設備210のタイプ、パート220のタイプ、サブパート206のタイプ、機能のタイプ、製造業者のタイプ、または製造業者−機能の混合タイプに対して、定義モジュール300の様々なタイプが存在する。様々なタイプの定義モジュール300が、新しい定義モジュール300を用意するための方法における選択に関してリストされる。選択は、新しいタイプの定義モジュール300を用意するためのオプションを含む。これは、入力装置1200から受信されたユーザ入力または入力信号の形式のユーザ命令に基づく。
【００９５】
モジュール生成コンポーネント412は、異なる状態の設備210のそれぞれに対してアプリケーションモジュール440を修正する。プロパティファイル310内の関連フィールドは、修正されたアプリケーション440を識別するように更新される。これは、入力装置1200から受信されたユーザ入力または入力信号の形式のユーザ命令に基づく。
【００９６】
S618において、モジュール生成コンポーネント412は、生成、インスタンス作成、または修正されたアプリケーションモジュール440、および生成された定義モジュール300をデータベース430に保存する。データベース430は、エディタツール400として、同じまたは異なるメモリ記憶媒体内にセットアップされる。
【００９７】
モジュール生成コンポーネント412は、入力またはスケジュールなどの予め定義されたルールに基づいて、設定された機能を行うようにアクティベートされる。予め定義された入力の例は、入力装置1200を使用してモジュール生成コンポーネント412をアクティベートするためのユーザ入力である。
【００９８】
本発明の幾つかの実施形態によれば、モジュールライブラリ432は、複数の定義モジュール300を有する。複数の定義モジュール300は、階層ツリー構造におけるモジュールライブラリウィンドウ452に表示される。これは、閲覧または編集のために所望の定義モジュール300を配置するのに容易なナビゲーションを可能にする。
【００９９】
リンク生成コンポーネント414
エディタツール400は、リンク生成コンポーネント414を含む。リンク生成コンポーネント414は、以下で説明される1つまたは複数の機能を行うように構成される。
【０１００】
図6Bは、本発明の幾つかの実施形態によるリンク生成コンポーネント414によって行われる機能のワークフロー620である。S622において、リンク生成コンポーネント414は、データベース430から各定義モジュール300を読み出す。S624において、各定義モジュール300に対して、リンク生成コンポーネント414は、パート220、サブパート202, 204, 206、制御ロジック定義322、定義モジュール300に関連するアプリケーションモジュール440を識別する。S626において、リンク生成コンポーネント414は、S624における識別に基づいて、データベース430から、パート220、サブパート202, 204, 206、制御ロジック定義322、アプリケーションモジュール440の情報を取り出す。S628において、リンク生成コンポーネント414は、取り出された情報をリンクまたはバインドするためのリンク416を生成する。図4Bに示されるリンク416は、アプリケーションモジュール440と定義モジュール300との間にある。S629において、リンク生成コンポーネント414は、生成されたリンク416をデータベース430に保存する。
【０１０１】
リンク生成コンポーネント414の機能は、アプリケーションモジュール440がコントローラ212に割り当てられた場合に、リンク417を生成するためのものである。図6Cは、リンク417を生成するリンク生成コンポーネントによって行われるワークフロー630である。ステップS632では、選択のために、生成されたアプリケーションモジュール440, 442, 444, 446, 448のリストを提供する。ステップS634では、選択のために、S632において選択されたアプリケーションモジュール440に割り当てられるべき、利用可能なコントローラ212, 213のリストを提供する。ステップS636において、リンク417は、選択されたアプリケーションモジュール440をコントローラ212にリンクまたはバインドするように生成される。ステップS638において、リンク417は、データベース430に保存される。本発明の幾つかの実施形態によれば、リンク417を生成するリンク生成コンポーネント414は、リンク416を生成する別個のリンク生成コンポーネント414として提供される。
【０１０２】
有利には、生成されたリンク417は、アプリケーションモジュール440を制御ロジック206がフィールドデバイス202, 204に対してコントローラ212において実行されるようにする。これは、ロジカルバインディングと称され、コントローラ212とのフィールドデバイス202, 204の物理的接続とは独立している。保守タスクの間、タスク、ロジカルバインディングは、物理的接続とは独立して更新される。有利には、プロセス制御システム200のパート220に対して設定タスクまたは保守タスクを行うユーザは、物理的接続を気にする必要はない。
【０１０３】
本発明の幾つかの実施形態によれば、リンク生成コンポーネント414は、リンク修正機能を行う。リンク生成モジュールコンポーネント414は、取り出された情報に対して利用可能なオプションのリストを提供する。例えば、定義モジュール300は、パート220に対して識別される。リンク生成モジュール414は、パートに対して利用可能なオプションである他の定義モジュールのリストを提供する。別の例において、利用可能なオプションに対するサブパート202, 204である他のフィールドデバイスのリストは、識別子またはタグ名によって識別される。ユーザは、利用可能なオプションから選択を行う。選択に基づくリンク生成モジュールコンポーネント414は、更新されたリンク416を生成する。更新されたリンク416は、データベース430に保存される。
【０１０４】
図7Bは、エディタツール400において、生成されたリンク416を表示する例示的な表示画面460である。ナビゲーションウィンドウ462は、ユーザが所望の設備210、パート220を選択するために、プラント設備、プラント領域、設備ベンダなどの複数のグループタイプを表示する。本例において、ユーザは、設備210のビューを選択する。リンクリストウィンドウ464は、設備210に対してラベル付けされた列「P&IDタグ名(P&ID Tag Name)」において識別子をリストする。この例において、識別子は、各パート220, 222, 224, 226, 228のコントローラ212に対するものである。各コントローラ212に関する情報は、リンク生成コンポーネント414によって生成されたリンク416に基づいて、対応する列にリストされる。この例で示される情報は、対応するアプリケーションモジュール440, 442, 444, 446, 448の保存位置である「APMパス(APM Path)」、対応するアプリケーションモジュール440, 442, 444, 446, 448の名称である「APM名(APM Name)」、各パートに対する定義モジュール300である「クラス(Class)」、対応するサブパート202, 204に対する識別子である「IOタグ名(IO Tag Name)」である。選択がプロパティを有する場合、表示画面460上に選択のプロパティを表示するように、プロパティウィンドウ466(図示せず)が含まれる。
【０１０５】
ナビゲーションウィンドウ462、リンクリストウィンドウ464、プロパティウィンドウ466、およびパートプロパティウィンドウ458は、表示画面460上の別個の領域である。ウィンドウは、閲覧および使用の容易さのためにタイル状ディスプレイに配置される。情報に対して利用可能なオプションのリストは、オプションウィンドウまたはドロップダウンリスト468(図示せず)に提供される。
【０１０６】
アプリケーションモジュール440が生成された場合、リンク生成コンポーネント414は、その機能を行う。代替として、リンク生成コンポーネント414は、本発明の幾つかの実施形態によれば、予め定義された入力であるスケジュールに基づいて、または何らかの情報に対して変更が検出された場合、設定された機能を行う。予め定義された入力の例は、入力装置1200を使用して、リンク生成コンポーネント414をアクティベートするためのユーザ入力である。情報の変更は、定義モジュールのパート、サブパートに対して代替的に利用可能なオプションの選択を含む。
【０１０７】
ドキュメントレイアウト設定コンポーネント418
エディタツール400は、ドキュメントレイアウト設定コンポーネント418を含む。ドキュメントレイアウト設定コンポーネント418は、レイアウト419を定義するための、以下で説明される1つまたは複数の機能を行うように構成される。レイアウト419は、プラントドキュメント530に対するセッティングまたは設定である。レイアウト419は、セッティングのリストを含み、リストの例は、プラントドキュメント530に対する、コンテンツリスト、またはコンテンツのテーブルである。プラントドキュメント530は、レイアウト419に基づいて生成される。
【０１０８】
図6Dは、本発明の幾つかの実施形態による、ドキュメントレイアウト設定コンポーネント418によって行われる機能のワークフロー640である。S642において、ドキュメントレイアウト設定コンポーネント418は、データベース430から各定義モジュール300を読み出す。S644において、各定義モジュール300に対して、ドキュメントレイアウト設定コンポーネント418は、ドキュメント定義ファイル331のレイアウト情報を識別する。レイアウトファイル334がドキュメント定義ファイル331に対して定義されていない場合、レイアウト情報は、レイアウトファイル334のコンテンツ、またはドキュメント定義ファイル331およびドキュメントファイル332, 336, 338のヘッダである。
【０１０９】
S646において、ドキュメントレイアウト設定コンポーネント418は、予め定義されたレイアウト順序または階層に従うレイアウト情報に基づいて、レイアウト419を配置、セット、または固定する。レイアウト順序の例は、定義モジュール300に関するレイアウト情報の後に続くアプリケーションモジュール440, 442, 444, 446, 448に関するレイアウト情報である。階層の例は、ドキュメント定義ファイル331の下のドキュメントファイル332, 334, 336, 338である。本発明の幾つかの実施形態によれば、ドキュメントレイアウト設定コンポーネント418は、入力装置1200からのユーザ入力を受信して、レイアウト419を配置する。
【０１１０】
S648において、配置されたレイアウト419は、データベース430に保存される。
【０１１１】
代替として、ドキュメントレイアウト設定コンポーネント418は、レイアウトファイル334が各定義モジュール300内のドキュメント定義ファイル331に対して定義されているかどうかを判定する。ドキュメントレイアウト設定コンポーネント418は、レイアウトファイル334が定義されている場合、定義モジュール300に対するアプリケーションモジュール440を読み出す。アプリケーションモジュール440は、入力装置1200から受信されたユーザ入力または入力信号に基づいて生成される。
アプリケーションモジュール440は、レイアウトファイル334内のレイアウト情報からレイアウト419を継承する。ドキュメントレイアウト設定コンポーネントは、継承されたレイアウト419データベース430に保存する。
【０１１２】
本発明の幾つかの実施形態によれば、ドキュメントレイアウト設定コンポーネント418は、レイアウト修正機能を有する。ドキュメントレイアウト設定コンポーネント418は、保存されたレイアウト419を読み出す。ドキュメントレイアウト設定コンポーネント418は、取り出されたレイアウト419と入力装置1200から受信したユーザ入力とに基づいて、レイアウト419を配置、セット、または固定する。これは、プラントドキュメント530を用意する効率を向上させる。本発明の幾つかの実施形態によれば、レイアウト419は、例えば、仕様書、取扱説明書、制御ロジック定義書といったプラントドキュメント530のタイプに従って、分類および保存される。異なるタイプのプラントドキュメント530に対して要求される情報は、通常異なる。加えて、異なるプロセスプラントに対して異なる顧客は、異なるドキュメンテーション要件を有している。有利には、これはドキュメンテーションの効率性および整合性を向上させる。さらに、利用可能なレイアウト419のデータベースは、ユーザが標準化されたドキュメンテーションを維持することを可能にして、ユーザが不必要な新たなレイアウトを作成することを最小限にする。
【０１１３】
図7Cは、ドキュメントレイアウト設定コンポーネント418に対する例示的な表示画面470である。レイアウトウィンドウ472は、予め定義された順序または階層に従って、取り出された定義モジュール300およびアプリケーションモジュール440に関するレイアウト情報を表示する。レイアウトファイル334が定義されていない場合、レイアウト情報は、ドキュメント定義ファイル331およびドキュメントファイル336, 338, 340に対するヘッダまたは識別子474のリストである。この例において、レイアウト情報の最上位レベル階層は、定義モジュール300「PID_A01」およびアプリケーションモジュール440「PID_B01」のリスト識別子プロパティをリストし、下位レベル階層は、ドキュメント336, 338, 340、「制御図面(Control Drawing)」、「パラメータセッティング(Parameter Setting)」、「説明(Narrative)」、「適用可能リスト(Applicable list)」をリストする。
【０１１４】
本発明の幾つかの実施形態によれば、ドキュメントレイアウト設定コンポーネント418は、レイアウトウィンドウ472上の選択ツール476を含む。選択ツール476は、ユーザ入力に基づいてレイアウト419を再配置するためのドラッグアンドドロップ機能である。選択ツール476は、ユーザ入力に基づいて含められるまたは除外される各ヘッダまたは識別子474に対して提供されるチェックボックスである。
【０１１５】
プラントドキュメント生成コンポーネント420
エディタツール400は、プラントドキュメント生成コンポーネント420を含む。プラントドキュメント生成コンポーネント420は、仕様書、取扱説明書、および制御ロジック定義書などのプラントドキュメント530を生成するように構成される。プラントドキュメント生成コンポーネント420は、データベース430から定義モジュール300、アプリケーションモジュール440、リンク416、およびレイアウト419を読み出す。プラントドキュメント生成コンポーネント420は、制御ロジック定義322、リンク416,417、およびレイアウト419を適用してプラントドキュメント530を生成する。生成されたプラントドキュメント530は、データベース430に保存される。
【０１１６】
説明のための例を用いると、プラントドキュメント生成コンポーネント420は、設備210に関して、保存された定義モジュール300、パート220, 222, 224, 226, 228に対するアプリケーションモジュール440, 442, 444, 446, 448、リンク416, 417、およびレイアウト419を取り出す。プラントドキュメント生成コンポーネント420は、制御ロジック定義322、リンク416, 417、およびレイアウト419に基づいて、プラントドキュメント530を生成する。
【０１１７】
図7Dは、プラントドキュメント530の例示的なコンテンツテーブル480である。コンテンツリスト482は、定義モジュール300、関連リンク416, 417、およびレイアウト419に基づいて生成される。コンテンツリスト484は、アプリケーションモジュール440、関連リンク416, 417、およびレイアウト419に基づいて生成される。コンテンツリスト486は、アプリケーションモジュール442、関連リンク416, 417、およびレイアウト419に基づいて生成される。
【０１１８】
プラントドキュメント530が制御ロジック定義322に基づいて生成されるため、プラントドキュメント530は、制御ロジック定義322と整合する。プラントドキュメント530は、プロセス232、制御ロジック206、パラメータセッティング324、アラームセッティング325などの、工業プラント230の設計データ234の変化に対するプラントドキュメント530の生成および更新に関する効率性および正確さを向上させる本発明によって自動的に生成される。工業プラント230のセッティングまたは設定を理解するのに使用される場合、正確さの向上はプラントドキュメント530の信頼性を増加させる。
【０１１９】
さらに、異なる制御ロジックまたは原料の異なる組成に対する複数のプラントドキュメント530は、定義モジュール300またはアプリケーションモジュール440において、差が更新された場合に、便利にかつ効率的に生成される。本発明を使用した場合、その差を理解しかつプラントドキュメント530を生成するのに要する人的資源、時間、および労力が非常に少なくて済む。プラントドキュメント530の用意、保守、および更新に要する時間およびコストがより少なくて済む。
【０１２０】
工業プラント230のためのプロセス制御システム200の実装において、ドキュメントデータ332は、プロセス制御システム200の仕様に基づいて用意される。そして、ドキュメントデータ332は、制御データ510に変換されて、複数の機能ブロック205, 207にカプセル化される。それから、工業プラント230が仕様に従って機能することを保証するように、テストがなされる。複数のプラントドキュメント530は、ドキュメントデータ332からテストデータに至る、工業プラント230の様々な態様に対して用意される。多くの場合、情報,またはデータは、関連している、またはさらに言えば重複している。本発明は、関連データおよびプラントドキュメント530が変更に対して自動的に更新されるように、リンク416を生成する。これは、プロセス制御システム200の用意、保守、および更新の効率性を向上させる。
【０１２１】
パート修正コンポーネント422
試運転は、プロセス制御システム200の準備または保守の間に行われる。試運転の間、制御ロジック206からの歩留まりを向上させるために、工業プラント230の変更がある。そのような変更の例は、パート設備210、サブパートであるフィールドデバイス202, 204、および他の関係するパート関連情報のパラメータセッティング324である。試運転の間の歩留まりの向上に加えて、同じ変更に関する他の理由は、工業プラント230の仕様の変更、および修正されるべきミスを含む。
【０１２２】
エディタツール400は、パラメータセッティング324など、パート設備210、サブパートであるフィールドデバイス202, 204のパート関連情報を修正するように構成されたパート修正コンポーネント422を含む。モジュール生成コンポーネント412は、パート修正コンポーネント422がパート関連情報を修正した場合、定義モジュール300およびアプリケーションモジュール440の対応する情報を自動的に更新する。モジュール生成コンポーネント412は、入力またはスケジュールなどの予め定義されたルールに基づいて設定された機能を行うようにアクティベートされる。予め定義された入力の例は、入力装置1200を使用してモジュール生成コンポーネント412をアクティベートするためのユーザ入力である。
【０１２３】
エディタツール400は、アプリケーションモジュール440を生成マネージャ500に伝送して、制御ロジック定義322およびアラーム定義326における制御ロジック206をロジック制御データ512に変換する。リンク417はさらに伝送されるとともに、リンク制御データ514に変換される。プロセス制御システム200は、コントローラ212において実行すべきロジック制御データ512を決定して、リンク制御データ514に基づいてプロセス232を制御する。
【０１２４】
マスエディタコンポーネント424
エディタツール400は、マスエディタコンポーネント424を含む。マスエディタコンポーネント424は、全ての関連するモジュールまたはファイルのパラメータ変更を更新する。マスエディタコンポーネント424は、エディタツール400におけるエディタまたは設定コンポーネントにおいてアクティベートされるように構成される。
【０１２５】
一例において、マスエディタコンポーネント424は、モジュール生成コンポーネント412内の制御ロジックエディタにおいてアクティベートされる。マスエディタコンポーネント424は、データベース430から、制御ロジックエディタによって編集可能である全てのファイルおよびモジュールを識別する。本発明の幾つかの実施形態によれば、マスエディタコンポーネント424は、ユーザ選択に対する識別されたファイルおよびモジュールのリストを提供する。
【０１２６】
そして、識別または検索されたファイルおよびモジュールは、データベース430からチェックアウトされる、またはユーザまたは別のツールによる同時編集に対してロックされる。これは、ファイルおよびモジュールのデータ完全性を維持する。チェックアウトされたファイルおよびモジュール内のパラメータは、閲覧および編集のための出力ファイル内に生成される。幾つかの実施形態において、出力ファイルは、制御ロジックエディタに対する予め提示されたデータグリッドフォーマットに基づくデータグリッドである。本発明の幾つかの実施形態によれば、データグリッド内のセルは、編集可能セルおよび読み取り専用セルとは区別される。
【０１２７】
パラメータ変更に対する入力は、マスエディタコンポーネント424によって受信される。マスエディタコンポーネント424は、出力ファイル内の関連するパラメータを決定するとともに、それに応じて、関連するパラメータを更新する。
【０１２８】
実施形態において、出力ファイルがデータグリッドである場合、マスエディタコンポーネント424は、グリッドルールコンポーネント426をさらに含む。グリッドルールコンポーネント426は、パラメータ変更に対する論理条件と、論理条件が満たされた場合にデータグリッド内の関連するパラメータを更新するための対応するアクションとを有するグリッドルールを定義するように構成される。グリッドルールの使用例は、「ABC###」で始まるタグのタイプに対するタグの命名規則を「XYZ###」へ変更することである。マスエディタコンポーネント424は、定義されたグリッドルールを使用して、タグ識別子が「ABC」で始まる場合に論理条件を満たすタグ識別子を探索する。マスエディタコンポーネント424は、検索されたタグ識別子において「ABC」を「XYZ」で置換するための対応するアクションを行う。
【０１２９】
マスエディタコンポーネント424は、識別されたファイルおよびモジュールのチェックインまたはアンロックの前において、パラメータ変更および関連するパラメータの更新が有効であるかどうかを判定する。
【０１３０】
定義されたグリッドルールは、他のマスエディタコンポーネント424による再利用のためにリポジトリ1300に保存される。本発明の幾つかの実施形態によれば、直接使用または使用前の修正のために、マスエディタコンポーネント424は、定義されたルールをリポジトリからインポートする。
【０１３１】
マスエディタコンポーネント424はパラメータ値の更新や命名規則の変更などのバルクまたはマスデータの変更の効率性、柔軟性、および、信頼性を向上させる。バルクデータの変更に関する従来のシステムでは、全てのファイルがフィルタリングまたは選択のためにリストされ、そして、フィルタされたファイルで詳細がさらにフィルタまたは選択される。その詳細からフィルタされたデータは、エクスポートされたファイルを置換するためにインポートされる前にMicrosoft Excel(商標)またはコンマ区切り(.CSV)ファイルなどのスプレッドシートにエクスポートされて変更に作用する。インポートされたファイルが読み取れる際、データ障害を招く可能性がある変更に対する有効性チェックがない。リソースは、データ障害の原因を決定および修正するために失われる。さらに、フィルタリングされたデータがエクスポートされた場合、複数のエクスポートが異なるユーザまたは別のツールによって同時になされる可能性がある。データ完全性は、変更がデータの所望のバージョンに作用していない場合に欠くことがある。
【０１３２】
発明の方法
図8Aは、エディタツール400を使用して、ステップS802で選択された設備210に関する仕様234に基づいてプロセス制御システム200をセットアップまたは設定するためのワークフロー800である。ステップS804では、設備210に対する定義モジュール301を識別する。定義モジュール301は、ネスティングレベルを有さない定義モジュール300、または複数のネスティングレベルを有する定義モジュール301であると識別される。定義モジュール301は、モジュール生成コンポーネント412を使用して用意される、またはエディタツール400における検索機能を使用してデータベース430から検索される。
【０１３３】
ステップS806では、仕様234に従って定義モジュール301を修正する。定義モジュール301内のプロパティファイル310、制御ロジック定義ファイル320、ドキュメント定義ファイル331が、仕様234に基づいて修正される。
【０１３４】
ステップS808では、新しい定義モジュール300が要求されるかどうか、および要求される場合には追加すべきかどうかを判定する。定義モジュール301が複数の定義モジュール300を含む場合、廃止のモジュール300が決定および削除される。廃止の定義モジュール300は、仕様234に基づいて適用可能でない、または有効でないものである。
【０１３５】
ステップS810では、定義モジュール301がネストされたモジュール302, 304, 306を含む場合、ネストされたモジュール302, 304, 306に対して変更が行われるかどうかを判定する。仕様234に基づいて変更される、ネストされた各モジュール302, 304, 306に対して、ステップS806およびS808は繰り返される。
【０１３６】
本発明の幾つかの実施形態によれば、ステップS812では、更新された定義モジュール301を保存する。本発明の幾つかの実施形態によれば、ステップS812では、対応するアプリケーションモジュール440, 442, 444, 446, 448を生成する。そして、更新された定義モジュール301およびその対応するアプリケーションモジュール440, 442, 444, 446, 448 のうちの少なくとも1つが、データベース430に保存される。
【０１３７】
ステップS820において、エディタツール400は、データベース430からアプリケーションモジュール440, 442, 444, 446, 448を読み出すとともに、アプリケーションモジュール440, 442, 444, 446, 448を生成マネージャ700に送信する。生成マネージャ700は、プロセス制御システム200に対するアプリケーションモジュール440, 442, 444, 446, 448に基づいて、制御データ510を用意する。特に、制御データ510は、プロセス制御システムの機能ブロック205, 207に対して用意される。
【０１３８】
ステップS830において、入力装置1200からのユーザ入力、プラントドキュメント生成コンポーネント420に基づいてエディタツール400は、アプリケーションモジュール440からプラントドキュメント530を生成する。
【０１３９】
図8Bは、本発明の幾つかの実施形態による、マスエディタコンポーネント424を使用するための例示的なワークフロー850である。
【０１４０】
ステップS852において、マスエディタコンポーネント424は、モジュール生成コンポーネント412内の制御ロジックエディタにおいてアクティベートされる。マスエディタコンポーネント424は、データベース430から、制御ロジックエディタによって編集可能である全てのファイルおよびモジュールを識別する。本発明の幾つかの実施形態によれば、マスエディタコンポーネント424は、ユーザ選択に対して識別されたファイルおよびモジュールのリストを提供する。
【０１４１】
ステップS854において、識別または検索されたファイルおよびモジュールは、データベース430からチェックアウトされる。チェックアウトされたファイルおよびモジュール内のパラメータは、制御ロジックエディタに対して予め定義されたデータグリッドフォーマットに基づくデータグリッド内に生成される。本発明の幾つかの実施形態によれば、データグリッド内のセルは、編集可能セルおよび読み取り専用セルと区別される。
【０１４２】
ステップS856において、パラメータ変更に関する入力が、マスエディタコンポーネント424によって受信される。マスエディタコンポーネント424は、データグリッド内で関連するパラメータを決定するとともに、それに応じて、関連するパラメータを更新する。ステップS857は、論理条件、および論理条件が満たされた場合に対応するアクションにより、グリッドルールをインポートまたは定義する代替的ステップである。
【０１４３】
ステップS858において、マスエディタコンポーネント424は、識別されたファイルおよびモジュールのチェックインまたはアンロックの前において、関連するパラメータのパラメータ変更および更新が有効であるかどうかを判定する。識別されたファイルのチェックインまたはアンロックは、ステップS859におけるものである。
【０１４４】
有利には、本発明は、仕様234に基づいて何らかのプロセス制御システム200に対する制御データを用意する容易さを向上させる。加えて、ドキュメント定義ファイル331、添付ファイル340が仕様書234に基づいて更新される場合、プラントドキュメント530は、より少ない労力で生成される。これは、工業プラント230の各修正、変更、または保守に関して、制御データ510およびプラントドキュメント530を用意および生成するための人的資源のコストを減らす。さらに、データベース430は、様々な工業プラント230のために使用することが可能であり、従って、新しいプロセス232または新しい工業プラント230のためのプロセス制御システム200を修正、セットアップ、または設定する効率を向上させる。
【０１４５】
制御ロジック定義322が機密である状況において、機密のアプリケーションモジュール440は、異なる工業プラント230での使用に対して利用可能にはされない。しかし、定義モジュール300が機密である場合でも、定義モジュール300は、アプリケーションモジュール440に対して利用可能であり、逆もまた同様である。
【０１４６】
システム設定
図9は、本発明の幾つかの実施形態によるプロセス制御のためのシステム設定900である。フィールドデバイス202, 204は、フィールドネットワーク106に接続される。フィールドデバイス202, 204は、入出力(I/O)ユニットを通じて制御ネットワーク110内にあるコントローラ212に接続される。エディタツール400は、上述の定義モジュール300を用意するために制御ネットワーク110レベルで構成される。制御ネットワーク110は、プロセス制御システムに適しており、一般的な通信機能を組み込むとともに、高信頼性のリアルタイムで安定した通信を可能にする。制御ネットワークの例は、汎用通信のためのインターネットプロトコル(IP, Internet protocol)を使用し、かつIEC 61784-2において規定されるリアルタイムイーサネット(登録商標)(RTE, real-time Ethernet(登録商標))通信プロファイルのCPF-10に従うVnet/IPである。
【０１４７】
図10は、本発明のシステム1000設定に関するブロック図である。システム1000は、コンピュータのパートであるプロセッサ1100を含む。プロセッサ1100は、入力装置1200、ストレージ1300、ディスプレイ1400、出力または送信装置1500と通信する。本発明の幾つかの実施形態によれば、入力装置1200、ストレージ1300、ディスプレイ1400、出力または送信装置1500は、プロセッサとして同じまたは別個のコンピュータにある。
【０１４８】
エディタツール400およびコンバータツール500は、1つまたは複数のプロセッサ1100において実装される。
【０１４９】
入力装置1200は、ユーザ入力、および代替ソースまたはサードパーティからの入力インポートを受信するインターフェース装置である。入力装置1200の例は、キーボードならびにマウスおよび接触感知式ディスプレイインターフェースなどのポインティングデバイスである。
【０１５０】
データベース430は、ランダムアクセスメモリ(Random Access メモリ)、リードオンリーメモリ(Read Only メモリ)、ハードディスクドライブ(Hard Disk Drive)などのメモリ記憶媒体であるストレージまたはリポジトリ1300にある。メモリ記憶媒体は、上述した、設備210、パート220, 222, 224, 226, 228、サブパートであるフィールドデバイス202, 204、制御ロジック206、ネットワーク装置208を含むパートライブラリ431と、定義モジュール300, 301, 302, 304, 306、および派生アプリケーションモジュール440, 442, 444, 446, 448を含むモジュールライブラリ432と、リンクライブラリ434、リンク416, 417と、レイアウト419に対するレイアウトライブラリ436と、プラントドキュメント530および関連する情報に対するドキュメントライブラリ438とを格納する。
【０１５１】
データベース430は、タイプ別に情報を保存するために複数のメモリコンポーネントを有する。有利には、これは、要求された情報を読み出すために、エディタツール400におけるコンポーネント410, 412, 414, 418, 420, 422の設定の容易さを向上させる。コンポーネント410, 412, 414, 418, 420, 422を設定することは、それらが上述した機能を行うようにセットすることを含む。さらに、保存された情報は、外部ツールなどの他の目的のために読み出されるのに適している。
【０１５２】
本発明は、記載された実施形態に限定されない。本発明は、添付の特許請求の範囲によって規定されるように本発明の趣旨および範囲内に含まれ得る代替物、改良物、および等価物を包含することが意図される。さらに、具体的詳細がなくとも本発明が実施され得ることは、当業者にとって自明であろう。具体的詳細は、本発明の十分な理解を提供するために含まれている。最後に、本発明の態様を不必要に曖昧にしないように、周知の方法、手順、コンポーネント、および特徴は、詳細に記載されていない。
【０１５３】
本発明のさらなる実施形態が以下に記載される。
【０１５４】
プロセス制御を行うように構成されたプロセス制御システムのための設定システム。設定システムは、限定はしないが、a)  設計データに基づく工業プラントのパートに対する、メモリに保存された定義モジュールを含む。定義モジュールは、限定はしないが、a-1)  パートに対する制御ロジックを定義するように構成された制御ロジック定義ファイルと、a-2)  定義された制御ロジックに関連するデータを定義するように構成されたデータ定義ファイルとを含む。
【０１５５】
設定システムは、b)  制御ロジック定義ファイルおよびデータ定義ファイルのうちの少なくとも1つの生成および更新の少なくとも一方を行うように構成されたエディタをさらに含み、エディタは、1つまたは複数のプロセッサによって実施される。
【０１５６】
設定システムは、c)  制御ロジック定義をプロセス制御システムに対する制御データに変換するように構成されたコンバータをさらに含み、コンバータは、1つまたは複数のプロセッサによって実施される。
【０１５７】
定義モジュールは、a-3)  パートに対するモジュールプロパティを保存するように構成されたプロパティファイルをさらに含む、設定システム。
【０１５８】
パートは、1つの入力パラメータおよび1つの出力パラメータを含む、設定システム。
【０１５９】
設定システムは、パートに関するパラメータを含むデータソースと通信するようにさらに構成される。制御ロジックは、制御ロジックパラメータを備える。データ定義ファイルは、定義された条件に基づく、パラメータを制御ロジックパラメータにセットするための条件およびアクションを備えたルールを定義するように構成されたルールファイルを備える。
【０１６０】
データ定義ファイルは、ドキュメンテーションのための制御ロジック仕様データを定義するように構成されたドキュメントファイルを備える、設定システム。
【０１６１】
パートは、複数のサブパートを含むとともに、定義モジュールは、サブパートに対する複数のサブパート定義モジュールを備える、設定システム。
【０１６２】
制御ロジック定義ファイルは、少なくとも1つの調整パラメータを定義するようにさらに構成される、設定システム。
【０１６３】
本発明の別の態様は、プロセス制御を行うように構成されたプロセス制御システムのための設定システムであり、設定システムは、限定はしないが、a)  アプリケーションモジュールを生成するように構成されたエディタを含み、アプリケーションモジュールは、限定はしないが、a-1)  パートに対する制御ロジックを定義するように構成された制御ロジック定義ファイルと、a-2)  定義された制御ロジックに関連するデータを定義するように構成されたデータ定義ファイルとを含む。エディタは、1つまたは複数のプロセッサによって実施される。
【０１６４】
設定システムは、データソースを有するサーバと通信するように構成される。エディタは、第1の制御ロジックおよび設計データを含む定義モジュールを取り出すとともに、サーバ内のデータソースからパート関連データを取り出すようにさらに構成される。アプリケーションモジュールは、パート関連データに基づく定義モジュールのインスタンスというものである。制御ロジック定義ファイルは、パート関連データに基づくインスタンス作成された第2の制御ロジックを有するとともに、データ定義ファイルは、第2の制御ロジックに関連するインスタンス作成されたデータを有する。
【０１６５】
設定システムは、b)  アプリケーションモジュールをプロセス制御システムに対する制御ロジックデータに変換するように構成されたコンバータをさらに含む。コンバータは、1つまたは複数のプロセッサによって実施される。 
【０１６６】
パートは、1つの入力パラメータおよび1つの出力パラメータを備える、設定システム。
【０１６７】
設定システムは、パートに対するパートソースパラメータを含むデータソースと通信するようにさらに構成され、制御ロジックは、制御ロジックパラメータを含む。データ定義ファイルは、定義された条件に基づく、パートソースパラメータを制御ロジックパラメータにセットするための条件およびアクションを備えたルールを定義するように構成されたルールファイルを含む。
【０１６８】
データ定義ファイルは、ドキュメンテーションのための制御ロジック仕様データを定義するように構成されたドキュメントファイルを含む、設定システム。
【０１６９】
制御ロジック定義ファイルは、少なくとも1つの調整パラメータを定義するようにさらに構成される、設定システム。
【０１７０】
本発明のさらに別の態様は、プロセス制御を行うように構成されたプロセス制御システムのための設定システムによって行われる設定方法を行うための、設定システムによって実行されるコンピュータプログラムを保存する持続性コンピュータ可読媒体である。設定方法は、限定はしないが、a)  工業プラントのパートに対する定義モジュールをメモリに保存するステップを含む。定義モジュールは、限定はしないが、a-1)  パートに対する制御ロジックを定義するように構成された制御ロジック定義ファイルと、a-2)  定義された制御ロジックに関連するデータを定義するように構成されたデータ定義ファイルとを備える。設定方法は、限定はしないが、b)  定義モジュールを更新するステップを含む。
【０１７１】
媒体における、c)  エディタを使用して、制御ロジック定義ファイルおよびデータ定義ファイルの少なくとも1つの生成および更新の少なくとも一方を行うステップをさらに含む、方法。エディタは、1つまたは複数のプロセッサによって実施される。
【０１７２】
媒体における、d)  コンバータを使用して、定義モジュールをプロセス制御システムに対する制御ロジックデータに変換するステップをさらに含む、方法。コンバータは、1つまたは複数のプロセッサによって実施される。
【０１７３】
本発明の別の態様における、ユーザインターフェースおよび1つまたは複数のプロセスコントローラを有するプロセスプラントにおいて使用するためのプロセス制御システム。プロセス制御システムは、限定はしないが、a)  定義モジュールからインスタンス作成されたアプリケーションモジュールと、b)  制御ロジック定義を制御データに変換するように構成されたコンバータと、c)  1つまたは複数のプロセスコントローラ上で制御データを実行して、前記プロセスプラント内のプロセス制御アクティビティを実施するように適合されたコントローラとを含む。アプリケーションモジュールは、限定はしないが、a-1)  プロセスプラントのパートに対する制御ロジックを定義するように構成された制御ロジック定義ファイルと、a-2)  定義された制御ロジックに関連するデータを定義するように構成されたデータ定義ファイルとを含む。エディタおよびコンバータは、1つまたは複数のプロセッサによって実施される。
【符号の説明】
【０１７４】
100  プロセス制御システム
102  センサ
104  アクチュエータ
106  フィールドネットワーク
112  ヒューマンマシンインタフェース端末
120  エンジニアリングツール
130  データベース
110  制御ネットワーク
200  プロセス制御システム
202  センサ
204  アクチュエータ
205  機能ブロック
206  制御ロジック
207  機能ブロック
209  コネクタ、コネクション
210  設備
220, 222, 224, 226, 228  パート
322  制御ロジック定義
326  アラーム定義
328  ルール定義
332  ドキュメントデータ
334  レイアウトファイル
336  パラグラフファイル
338  セクションファイル
342  添付リストファイル
450  表示画面
452  モジュールライブラリウィンドウ
454  モジュールプロパティファイルウィンドウ
456  制御ロジックエディタウィンドウ
458  パートプロパティウィンドウ
460  表示画面
462  ナビゲーションウィンドウ
464  リンクリストウィンドウ
466  プロパティウィンドウ
470  表示画面
472  レイアウトウィンドウ
474  ヘッダ、識別子
480  コンテンツテーブル
482, 484, 486  コンテンツリスト
【図１Ａ】
2016095852.tif 000004
【図１Ｂ】
2016095852.tif 000005
【図１Ｃ】
2016095852.tif 000006
【図２Ａ】
2016095852.tif 000007
【図２Ｂ】
2016095852.tif 000008
【図２Ｃ】
2016095852.tif 000009
【図３Ａ】
2016095852.tif 000010
【図３Ｂ】
2016095852.tif 000011
【図３Ｃ】
2016095852.tif 000012
【図４Ａ】
2016095852.tif 000013
【図４Ｂ】
2016095852.tif 000014
【図５】
2016095852.tif 000015
【図６Ａ】
2016095852.tif 000016
【図６Ｂ】
2016095852.tif 000017
【図６Ｃ】
2016095852.tif 000018
【図６Ｄ】
2016095852.tif 000019
【図７Ａ】
2016095852.tif 000020
【図７Ｂ】
2016095852.tif 000021
【図７Ｃ】
2016095852.tif 000022
【図７Ｄ】
2016095852.tif 000023
【図８Ａ】
2016095852.tif 000024
【図８Ｂ】
2016095852.tif 000025
【図９】
2016095852.tif 000026
【図１０】
2016095852.tif 000027
【外国語明細書】
2016095852000001.pdf