(57)【特許請求の範囲】
【請求項１】
プロセス制御を実施するように構成されたプロセス制御システムのための構成システムであって、
少なくとも１つのメモリと前記メモリに格納された１つまたは複数の定義モジュールを備えたリポジトリであって、各定義モジュールは前記定義モジュールに関連付けられたコンポーネントを制御するための制御ロジックを備える、リポジトリと、
産業システム内の特定のコンポーネントの１つまたは複数のプロパティを識別するためのユーザ入力を受信し、
前記リポジトリ内から定義モジュールの選択を可能とする、
ように構成されたリポジトリ・コントローラであって、前記選択された定義モジュールは、前記定義モジュールに関連付けられたコンポーネントを制御するための制御ロジックを備え、前記関連付けられたコンポーネントは、前記識別された１つまたは複数のプロパティを有する、リポジトリ・コントローラと、
を備え、
前記定義モジュールは、類似の特定のコンポーネントに対して再利用可能である、構成システム。
【請求項２】
前記リポジトリ・コントローラはさらに、前記特定のコンポーネントを制御するために、前記定義モジュールの、前記産業システム内部に実装されたインスタンスを生成するように構成され、前記実装されたインスタンスは、前記選択された定義モジュール内の制御ロジックに基づいて生成されたバイナリ制御ロジックを備える、請求項１に記載の構成システム。
【請求項３】
前記リポジトリ・コントローラは、修正された制御ロジックに基づいて前記バイナリ制御ロジックを生成するように構成され、
前記修正された制御ロジックは、前記選択された定義モジュール内の制御ロジックを、前記特定のコンポーネントに対応する設計仕様データに基づいて修正することによって生成される、
請求項２に記載の構成システム。
【請求項４】
前記選択された定義モジュールは、前記定義モジュールに関連付けられたコンポーネントへの入力および前記定義モジュールに関連付けられたコンポーネントからの出力を制御するための制御ロジックを備える、請求項１に記載の構成システム。
【請求項５】
前記リポジトリはさらに１つまたは複数のプロセス・テンプレートを含み、各プロセス・テンプレートは１組のコンポーネントの動作を制御するための処理データを含み、
前記リポジトリ・コントローラは、
前記産業システムのサブシステムと関連付けられた１つまたは複数のプロパティを識別するユーザ入力を受信し、
前記リポジトリの内部からプロセス・テンプレートを選択できるようにする
ように構成され、
前記選択されたプロセス・テンプレートは、前記サブシステムに関連付けられた前記識別された１つまたは複数のプロパティを有する１組のコンポーネントを制御するための制御ロジックを含む、
請求項１に記載の構成システム。
【請求項６】
前記リポジトリ・コントローラはさらに、前記サブシステムを制御するためのバイナリ制御ロジックを生成するように構成され、前記生成されたバイナリ制御ロジックは前記選択されたプロセス・テンプレート内部の処理データに基づく、請求項５に記載の構成システム。
【請求項７】
前記リポジトリはさらに、１つまたは複数のヒューマン・マシン・インタフェース（Ｈ
ＭＩ）パーツを含み、各ＨＭＩパーツは、前記産業システムの少なくとも１つのコンポーネントに関連付けられたＨＭＩを生成するための情報を含み、
前記リポジトリ・コントローラは、
生成されることを意図したＨＭＩに関連付けられた１つまたは複数のプロパティを識別するユーザ入力を受信し、
前記リポジトリからＨＭＩパーツを選択できるようにし、
前記選択されたＨＭＩパーツ内部の情報に基づいてＨＭＩをユーザに表示するために描画する
ように構成され、
前記選択されたＨＭＩパーツは、生成されることを意図した前記ＨＭＩに関連付けられた前記識別された１つまたは複数のプロパティを有するＨＭＩを生成するための情報を含む、
請求項１に記載の構成システム。
【請求項８】
前記リポジトリの内部のＨＭＩパーツは、前記産業システムの少なくとも１つのコンポーネントのユーザ・インタフェース・ベースの制御を可能とするように構成された１つまたは複数のグラフィック・ウィンドウ・テンプレートを備える、請求項７に記載の構成システム。
【請求項９】
前記リポジトリの内部のＨＭＩパーツは１つまたは複数のリンク・パーツを含み、各リンク・パーツは、
ＨＭＩを生成するためのＨＭＩサブコンポーネントと、
前記ＨＭＩに関連付けられた１組のプロパティであって、前記ＨＭＩに関連付けられたプロパティは、生成されたＨＭＩ内部に含まれる前記リンク・パーツの各インスタンスに伝達される、プロパティと、
を含む、
請求項７に記載の構成システム。
【請求項１０】
前記リポジトリ・コントローラは、リンク・パーツの前記関連付けられたプロパティの何れかに対する修正が、各生成されたＨＭＩ内部の前記リンク・パーツの各インスタンスのプロパティの修正をもたらすように構成され、両方の修正は互いに対応する、請求項９に記載の構成システム。
【請求項１１】
前記リポジトリの内部のＨＭＩパーツは１つまたは複数のカスタム・フェースプレートを含み、各カスタム・フェースプレートは定義モジュールに関連付けられ、
前記関連付けられた定義モジュールの、前記産業システム内部に実装されたインスタンスが必要とするユーザ入力を受信するために構成された１つまたは複数の要素、または
前記関連付けられた定義モジュールの、前記産業システム内部に実装されたインスタンスにより生成された出力をユーザに提供するために構成された１つまたは複数の要素
を備える、
請求項７に記載の構成システム。
【請求項１２】
定義モジュールの、前記産業システム内部に実装されたインスタンスの生成に応答して、ＨＭＩは、当該定義モジュールに関連付けられたカスタム・フェースプレートに基づいて生成される、請求項１１に記載の構成システム。
【請求項１３】
前記リポジトリ・コントローラはさらに、
前記リポジトリの内部の既存の定義モジュールまたは既存のプロセス・テンプレート・モジュールを、ユーザ入力に基づいて修正するか、または、
既存の定義モジュールの、前記産業システム内部に実装されたインスタンスもしくは既存のプロセス・テンプレートの、前記産業システム内部に実装されたインスタンスから情報を抽出し、追加された定義モジュールまたは追加されたプロセス・テンプレートを前記抽出された情報に基づいて生成するか、または、
前記産業システムの内部で実装されたバイナリ制御ロジックから情報を抽出し、前記追加された定義モジュールを前記抽出された情報に基づいて生成する
ことによって、定義モジュールまたはプロセス・テンプレートのうち少なくとも１つを前記リポジトリに追加するように構成された、
請求項２に記載の構成システム。
【請求項１４】
前記追加された定義モジュールまたは前記追加されたプロセス・テンプレートを生成するための前記ユーザ入力または前記抽出された情報は、前記産業システムの内部の１つまたは複数のコンポーネントに対応する制御ロジック、プロパティ定義または調節パラメータのうち少なくとも１つを含んでもよい、請求項１３に記載の構成システム。
【請求項１５】
前記リポジトリ・コントローラは、
前記リポジトリに追加された各定義モジュールまたは各プロセス・テンプレートに一意な識別子を割り当てるか、または、
前記リポジトリの内部で修正された各定義モジュールまたは各プロセス・テンプレートに対応するバージョン番号を割り当てる
ように構成された、
請求項１３に記載の構成システム。
【請求項１６】
前記リポジトリ・コントローラはさらに、以前に前記リポジトリからダウンロードしたデータを有するユーザとのインタフェースとして機能し、前記ダウンロードしたデータに対する以降のリポジトリ更新に関する情報をかかるユーザに提供するように構成された、請求項１に記載の構成システム。
【請求項１７】
プロセス制御を実施するためのプロセス制御システムを構成するための方法であって、
リポジトリ・コントローラによって、少なくとも１つのメモリを含むリポジトリに１つまたは複数の定義モジュールを格納するステップであって、各定義モジュールは前記定義モジュールに関連付けられたコンポーネントを制御するための制御ロジックを含み、前記制御ロジックは前記定義モジュールに関連付けられたコンポーネントに対応する入力パラメータおよび出力パラメータの少なくとも１つに基づいて生成されるステップと、
前記リポジトリ・コントローラによって、産業システム内の特定のコンポーネントの１つまたは複数のプロパティを識別するユーザ入力を受信するステップと、
前記リポジトリ・コントローラによって、前記リポジトリの内部から定義モジュールを選択するステップであって、前記選択された定義モジュールは、前記関連付けられたコンポーネントを制御するための制御ロジックを含み、前記関連付けられたコンポーネントは、前記識別された１つまたは複数のプロパティを有する、ステップと、
を含み、
前記定義モジュールは、類似の特定のコンポーネントに対して再利用可能である、方法。
【請求項１８】
前記特定のコンポーネントを制御するために、前記リポジトリ・コントローラによって、前記定義モジュールの、前記産業システム内部に実装されたインスタンスを生成するステップをさらに含み、前記実装されたインスタンスは、前記選択された定義モジュール内の制御ロジックに基づいて生成されたバイナリ制御ロジックを含む、請求項１７に記載の方法。
【請求項１９】
前記リポジトリの内部の既存の定義モジュールまたは既存のプロセス・テンプレート・モジュールを、ユーザ入力に基づいて修正するか、または、
既存の定義モジュールの、前記産業システム内部に実装されたインスタンスまたは既存のプロセス・テンプレートの、前記産業システム内部に実装されたインスタンスから情報を抽出し、追加された定義モジュールまたは追加されたプロセス・テンプレートを前記抽出された情報に基づいて生成するか、または、
前記産業システムの内部で実装されたバイナリ制御ロジックから情報を抽出し、前記
追加された定義モジュールを前記抽出された情報に基づいて生成する
ことによって、前記リポジトリ・コントローラによって、定義モジュールまたはプロセス・テンプレートのうち少なくとも１つを前記リポジトリに追加するステップをさらに含む、請求項１８に記載の方法。
【請求項２０】
前記リポジトリ・コントローラによって、前記リポジトリに追加された各定義モジュールまたは各プロセス・テンプレートに一意な識別子を割り当てるステップ、または、
前記リポジトリ・コントローラによって、前記リポジトリの内部で修正された各定義モジュールまたは各プロセス・テンプレートに対応するバージョン番号を割り当てるステップ
をさらに含む、請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、産業プラントに対する産業オートメーションの分野に関し、特に、産業プラントに対するプロセス制御システムの構成に関する。
【背景技術】
【０００２】
図１Ａは石油、鉄鋼および化学プロセス産業向けの産業プラントのプロセス制御システム１００を示す。産業プラントでは、センサ１０２およびバルブ装置、アクチュエータ１０４のようなフィールド装置が、プラント機器が実施する流体プロセスのようなプロセスを測定または制御する。センサ１０２の例には流量計や温度計がある。バルブ装置１０４は流量制御バルブおよび開閉バルブであり、アクチュエータ１０４はファンおよびモータである。フィールド装置１０２、１０４はフィールド・ネットワーク１０６に接続される。フィールド装置１０２、１０４は、入出力（Ｉ／Ｏ）ユニットを通じて、制御ネットワーク１１０内にあるコントローラ１０８に接続される。センサ１０２からの測定値に基づいて、コントローラ１０８は、当該アクチュエータを制御するための信号を生成するために使用される計算を実施する。コントローラ１０８内の各制御ロジックは機能ブロックにカプセル化される。当該機能ブロックは、フィールド装置ごとに定義された入力、出力パラメータを受信または生成するために定義され、当該パラメータを計算するためのアルゴリズムを含む。パラメータには、当該機能ブロックで生成されるプロセス変数および調節パラメータが含まれる。プロセス変数は、温度、圧力、力、供給、流量、化学組成、加重、位置および速度のような、測定値が存在する変数である。調節パラメータは、当該コントローラにおいて当該プロセスを制御するために適用される変数である。制御ロジックはコントローラ１０８のアルゴリズムである。
【０００３】
制御ネットワーク１１０内のヒューマン・マシン・インタフェース（ＨＭＩ）端末１１２は、データを当該機能ブロックと交換し、プロセス制御システム１００を動作させるための情報をオペレータに提供する。プロセス制御システム１００は、当該交換されたデータに基づいて機器やフィールド装置のようなパーツに対して、当該機能ブロックからのコマンドを管理し発行する。当該発行されたコマンドは、設計データに従ってエンジニアリング・ツール１２０内で準備され修正される制御ロジックに基づく。当該制御ロジックは産業プラントの仕様である。当該制御ロジックは、当該コントローラおよびＨＭＩ端末で実行するためのバイナリ制御データに変換される。オペレータは、当該コントローラおよびＨＭＩ端末内のバイナリ制御データを適用することによって産業プラントを制御し操作する。ＨＭＩ端末１１２のスクリーン定義はエンジニアリング・ツール１２０により準備される。当該機能ブロックは、センサからの測定値およびバイナリ制御データに基づいて、当該アクチュエータに対する信号を生成するための計算を実施する。オペレータはプロセス調整の間に調節パラメータの設計値を設定する。
【０００４】
図１Ｂは、プロセス制御システム１００を設定または構成するためのエンジニアリング・ツール１２０を示す。ユーザは、エンジニアリング・ツール１２０内のエディタ１２２を使用して、産業プラントの設計データの変更に対して制御ロジックを準備し修正する。変更の例には、異なるフィールド装置のパラメータ値を異なるプロセスに設定し、または、異なる原材料を当該プロセスに設定するものがある。当該異なるプロセスは、異なる製品または同一の製品の異なるグレードのためのものである。当該準備され修正された制御ロジックはシリアル化された制御データ１２４として格納される。シリアル化された制御データ１２４は変換器１２６により読み取られる。変換器１２６は、シリアル化された制御データ１２４から、バイナリ・フォーマット内の制御データであるバイナリ制御データ１２８を生成する。バイナリ制御データ１２８はデータベース１３０に格納される。バイナリ制御データ１２８は、ＨＭＩ端末１１２とコントローラ１０８で実行するためにプロセス制御システム１００に送信される。
【０００５】
産業プラントでは、パラメータに関して多数のデータ・ファイルおよびデータ・セットがある。当該パラメータは、関連するデータ・セットが異なるタイプまたはソースであるとき、複雑なデータ関係を有する。例として、コントローラに関連する機能ブロック内のパラメータがある。当該パラメータは、当該機能ブロックにおいて第１のタイプとして定義され、アラーム管理システムのときは第２のタイプとして定義される。当該第１のタイプおよび第２のタイプの定義は異なる。パラメータまたはパラメータ関係が設計データにおいて変更されたとき、プロセス制御システム１００の当該制御ロジックにおいて更新すべき対応するパラメータを特定するのは面倒である。
【０００６】
産業プラントの指示書、制御ロジック定義、および仕様のようなドキュメントは、エンジニアリング・ツールと別の異なるツールを用いて、図１Ｃに示すように手動で準備される。当該処理プラントに関するドキュメントは、制御ロジックから制御データまで、独立に準備される。
【０００７】
ドキュメントが手動で準備されるので、当該ドキュメントが産業プラントの制御ロジックまたは制御データと一貫していることを保証するのは面倒であり時間がかかる。石油処理プラントの例において、石油のような原材料の組成は生産国に依存する。したがって、当該処理プラントのプロセス制御システムにおける制御ロジックを異なる組成ごとに変更すべきである。原材料の異なる組成に関する異なる制御ロジックのドキュメントは手動で独立に準備される。この準備は面倒であり時間がかかる。
【０００８】
当該ドキュメントはユーザにより準備される。当該ユーザは、当該エンジニアリング・ツールまたはプロセス制御システムの顧客かベンダの何れかである。異なるユーザが制御ロジックを別々に準備し修正するので、当該ドキュメントは同じユーザにより準備または更新されなければならない。これは他のユーザにとって不都合であり厄介である。
【０００９】
さらに、制御ロジックは、産業プラントにおける連続的な運用上の改善に起因して絶え間なく変化している。理想的な状況では、ドキュメントは制御ロジックの変更ごとに更新される。しかし、現実には、制御ロジックが変更されるたびにドキュメントを更新するのは論理的に困難である。したがって、ドキュメントは通常、更新されない。幾つかのケースでは、ユーザは制御ロジックの変更を統合してドキュメントを定期的に更新する。ドキュメント化は手動プロセスであるので、誤りや見過ごしはドキュメントの準備または更新では一般的な事象である。定期的な更新は多くの矛盾を引き起こしうる。これは、制御ロジックとドキュメントの間の矛盾をもたらす。ドキュメントが正確性を欠くと、当該ドキュメントは処理プラントに対して信頼できるドキュメントではない。
【００１０】
典型的な産業プラントでは、仕様のドキュメントは何千ものページからなる。かかる膨大なドキュメントを手動で更新するのは面倒で時間がかかる。ドキュメントが制御ロジックと一貫しているのを保証するために、大量の追加の人的工数、時間およびコストが手動プロセスに必要である。これにより、プロセス制御システムを維持し更新するためのコストが増大する。制御ロジックの維持と更新のコストに加えて、プロセス制御システムを変更する必要があるとき、ドキュメント化が制御ロジックと一貫しているのを保証するために追加のコストが必要である。プロセス産業のコスト競争的な環境では、ドキュメント化を維持するためのコストは先延ばしされるかまたは完全に回避される。これらの状況では、ドキュメントは更新不足のため陳腐なものとなる。ドキュメントの準備と更新を改善する必要がある。
【００１１】
産業プラントは、３０年以上の長い期間持続するように設計され構築されている。典型的な大規模産業プラントでは、プロセス制御システムは１０，０００個を超えるフィールド装置を制御する。プロセス制御システムには、多数の高度な機能がある。多数の複雑で高度な機能を有する産業プラントでは、多数のユーザが協働してプラント制御システムの制御ロジックを維持または更新する必要がある。ユーザは何年ものプラント動作にわたって変わっている可能性がある。制御ロジックを変更するためには、既存のユーザは制御ロジックに関する自己の理解をリフレッシュしなければならず、新規のユーザは制御ロジックを見つけ出して理解しなければならない。制御ロジックを理解する１つの方法はドキュメントからのものである。上述の理由のため、ドキュメントが制御ロジックと矛盾するとき、ドキュメントから理解することはできない。
【００１２】
プロセス制御システムを準備するには多数の技術的作業がある。１つの技術的作業は、制御ロジックまたはドキュメントを生成する方法である。制御ロジックが正確であることを保証するために、生成された制御ロジックに試験が実施される。当該制御ロジックは各コントローラ１０８に固有なデータを含むので、制御ロジックの技術的作業、設計、生成、および試験は繰返し実施される。これにより、産業プラントに対してプロセス制御システム１００を準備するのに大量の工数と時間が必要となる。
【００１３】
異なるユーザは技術的作業を別々に実施する。ユーザが以前のユーザと異なるとき、保守を行うユーザには多数の作業が必要である。技術的作業の品質を改善し標準化する必要がある。これは、処理プラントのプロセス制御システムの理解の簡単さを高めることである。
【００１４】
ユーザは、全ての改訂を伴う仕様ドキュメントのような様々なタイプのドキュメントを用いて制御ロジックを解読し検証するために、追加の人的工数と時間を費やさなければならない。これは、プロセス制御システムの保守に追加のコストをもたらす。
【発明の概要】
【発明が解決しようとする課題】
【００１５】
必要な人的工数、時間、およびコストを削減することで、プロセス制御システムおよびそのドキュメント化を準備、修正、および保守するための効率を高める必要がある。さらに、制御ロジックおよびドキュメント化の一貫性を高める必要がある。連続的な保守と動作の改善を効率的に可能とするための機構が必要である。
【課題を解決するための手段】
【００１６】
本発明は、プロセス制御を実施するように構成されたプロセス制御システムに対する構成システムを含む。当該構成システムは、少なくとも１つのメモリと当該メモリに格納された１つまたは複数の定義モジュールとを含むリポジトリを備える。各定義モジュールは、関連付けられたコンポーネントを制御するための制御ロジックを含んでもよい。当該構成システムはまた、リポジトリ・コントローラを備える。当該リポジトリ・コントローラを、産業システム内の特定のコンポーネントの１つまたは複数のプロパティを識別するためのユーザ入力を受信するように構成してもよい。当該リポジトリ・コントローラがさらに、リポジトリ内から定義モジュールを選択できるようにしてもよい。当該選択された定義モジュールは、当該識別された１つまたは複数のコンポーネント・プロパティを有する関連付けられたコンポーネントを制御するための制御ロジックを備える。
【００１７】
当該リポジトリ・コントローラをさらに、特定のコンポーネントを制御するために、実装された定義モジュールのインスタンスを生成するように構成してもよい。当該実装されたインスタンスは、選択された定義モジュール内の制御ロジックに基づいて生成されたバイナリ制御ロジックを含む。
【００１８】
１実施形態では、リポジトリ・コントローラを、修正された制御ロジックに基づいてバイナリ制御ロジックを生成するように構成してもよい。当該修正された制御ロジックを、特定のコンポーネントに対応する設計仕様データに基づいて、選択された定義モジュール内の制御ロジックを修正することによって生成してもよい。当該選択された定義モジュールは、関連付けられたコンポーネントへの入力または当該関連付けられたコンポーネントからの出力のうち少なくとも１つを制御するための制御ロジックを含んでもよい。
【００１９】
リポジトリはさらに、１つまたは複数のプロセス・テンプレートを含んでもよい。各プロセス・テンプレートは、１組のコンポーネントの動作を制御するための処理データを含む。当該リポジトリ・コントローラを、産業システムのサブシステムと関連付けられた１つまたは複数のプロパティを識別するユーザ入力を受信し、当該リポジトリ内部からプロセス・テンプレートを選択できるようにするように構成してもよい。当該選択されたプロセス・テンプレートは、当該サブシステムに関連付けられた識別された１つまたは複数のプロパティを有する１組のコンポーネントを制御するための制御ロジックを含む。
【００２０】
当該リポジトリ・コントローラを、当該サブシステムを制御するためのバイナリ制御ロジックを生成するように構成してもよい。生成されたバイナリ制御ロジックは選択されたプロセス・テンプレート内部の処理データに基づく。
【００２１】
リポジトリはさらに、１つまたは複数のヒューマン・マシン・インタフェース（ＨＭＩ）パーツを含んでもよい。各ＨＭＩパーツは、産業システムの少なくとも１つのコンポーネントに関連付けられたＨＭＩを生成するための情報を含む。リポジトリ・コントローラを、（ｉ）生成されることを意図したＨＭＩに関連付けられた１つまたは複数のプロパティを識別するユーザ入力を受信し、（ｉｉ）当該リポジトリからＨＭＩパーツを選択できるようにし、（ｉｉｉ）選択されたＨＭＩパーツ内部の情報に基づいてＨＭＩをユーザに表示するために描画するように構成してもよい。当該選択されたＨＭＩパーツは、生成されることを意図したＨＭＩに関連付けられた識別された１つまたは複数のプロパティを有するＨＭＩを生成するための情報を含む。
【００２２】
リポジトリ内部のＨＭＩパーツは、産業システムの少なくとも１つのコンポーネントのユーザ・インタフェース・ベースの制御を可能とするように構成された１つまたは複数のグラフィック・ウィンドウ・テンプレートを含んでもよい。当該リポジトリ内部のＨＭＩパーツはまた、１つまたは複数のリンク・パーツを含んでもよい。各リンク・パーツは、ＨＭＩを生成するためのＨＭＩサブコンポーネント、および１組の関連付けられたプロパティを含む。当該関連付けられたプロパティは、生成されたＨＭＩ内部に含まれるリンク・パーツの各インスタンスに伝達される。
【００２３】
リポジトリ・コントローラを、リンク・パーツの関連付けられたプロパティの何れかに対する修正が、各生成されたＨＭＩ内部のリンク・パーツの各インスタンスのプロパティの対応する修正をもたらすように構成してもよい。
【００２４】
１実施形態では、リポジトリ内部のＨＭＩパーツが、１つまたは複数のカスタム・フェースプレートを含んでもよい。各カスタム・フェースプレートは特に、定義モジュールに関連付けられる。各カスタム・フェースプレートは、関連付けられた定義モジュールの実装されたインスタンスが必要とするユーザ入力を受信するために特に構成された１つまたは複数の要素を含んでもよく、または、当該関連付けられた定義モジュールの実装されたインスタンスにより生成された出力をユーザに提供するするために特に構成された１つまたは複数の要素を含んでもよい。
【００２５】
別の実施形態では、定義モジュールの実装されたインスタンスの生成に応答して、ＨＭＩは、当該定義モジュールに特に関連付けられたカスタム・フェースプレートに基づいて生成される。
【００２６】
リポジトリ・コントローラをさらに、（ｉ）リポジトリ内部の既存の定義モジュールまたは既存のプロセス・テンプレート・モジュールをユーザ入力に基づいて修正するか、または（ｉｉ）既存の定義モジュールの実装されたインスタンスまたは既存のプロセス・テンプレートの実装されたインスタンスから情報を抽出し、当該追加された定義モジュールまたは追加されたプロセス・テンプレートを抽出された情報に基づいて生成するか、または、（ｉｉｉ）産業システム内部で実装されたバイナリ制御ロジックから情報を抽出し、当該追加された定義モジュールを当該抽出された情報に基づいて生成することによって、定義モジュールまたはプロセス・テンプレートのうち少なくとも１つを当該リポジトリに追加するように構成してもよい。
【００２７】
当該追加された定義モジュールまたは当該追加されたプロセス・テンプレートを生成するためのユーザ入力または抽出された情報は、産業システム内部の１つまたは複数のコンポーネントに対応する制御ロジック、プロパティ定義または調節パラメータのうち少なくとも１つを含んでもよい。
【００２８】
リポジトリ・コントローラをさらに、リポジトリに追加された各定義モジュールまたは各プロセス・テンプレートに一意な識別子を割り当てるか、または、当該リポジトリ内部で修正された定義モジュールまたはプロセス・テンプレートの各々に対応するバージョン番号を割り当てるように構成してもよい。
【００２９】
当該リポジトリ・コントローラを、本発明の特定の実施形態において、以前に当該リポジトリからダウンロードしたデータを有するユーザとインタフェースし、当該ダウンロードしたデータに対する以降のリポジトリ更新に関する情報をかかるユーザに提供するように構成してもよい。
【００３０】
本発明はさらに、プロセス制御を実施するためのプロセス制御システムを構成するための方法を提供する。当該方法は、少なくとも１つのメモリを備えたリポジトリに１つまたは複数の定義モジュールを格納するステップを含む。各定義モジュールは関連付けられたコンポーネントを制御するための制御ロジックを含む。当該制御ロジックは、関連付けられたコンポーネントに対応する入力パラメータおよび出力パラメータのうち少なくとも１つに基づいて生成される。当該方法はさらに、産業システム内の特定のコンポーネントの１つまたは複数のプロパティを識別するためのユーザ入力を受信するステップと、リポジトリ内部の定義モジュールを選択するステップとを含む。当該選択された定義モジュールは、識別された１つまたは複数のコンポーネント・プロパティを有する関連付けられたコンポーネントを制御するための制御ロジックを含む。
【００３１】
当該方法はさらに、特定のコンポーネントを制御するために、定義モジュールの実装されたインスタンスを生成するステップを含んでもよい。当該定義モジュールの実装されたインスタンスは、選択された定義モジュール内の制御ロジックに基づいて生成されたバイナリ制御ロジックを含む。
【００３２】
当該方法がさらに、（ｉ）リポジトリ内部の既存の定義モジュールまたは既存のプロセス・テンプレート・モジュールをユーザ入力に基づいて修正するか、または、（ｉｉ）既存の定義モジュールの実装されたインスタンスまたは既存のプロセス・テンプレートの実装されたインスタンスから情報を抽出し、当該追加された定義モジュールまたは追加されたプロセス・テンプレートを当該抽出された情報に基づいて生成するか、または、（ｉｉｉ）産業システム内部で実装されたバイナリ制御ロジックから情報を抽出し、当該追加された定義モジュールを当該抽出された情報に基づいて生成することによって、定義モジュールまたはプロセス・テンプレートのうち少なくとも１つをリポジトリに追加するステップを含んでもよい。
【００３３】
本発明の１実施形態では、当該方法は、当該リポジトリに追加された各定義モジュールまたは各プロセス・テンプレートに一意な識別子を割り当てるステップ、または、当該リポジトリ内部で修正された各定義モジュールまたは各プロセス・テンプレートに対応するバージョン番号を割り当てるステップを含んでもよい。
【図面の簡単な説明】
【００３４】
【図１Ａ】従来技術におけるプロセス制御構成システムを示す図である。
【図１Ｂ】従来技術におけるエンジニアリング・ツールの図である。
【図１Ｃ】従来技術におけるプラント・ドキュメントを準備するための手動ワークフローを示す図である。
【図２Ａ】例示的なプロセス制御の配管計装図である。
【図２Ｂ】本発明の幾つかの実施形態に従って制御ロジックをコントローラに割り当てる例を示す図である。
【図２Ｃ】本発明の幾つかの実施形態に従って制御ロジックをコントローラに割り当てる例を示す図である。
【図３Ａ】本発明の幾つかの実施形態に従う定義モジュールの図である。
【図３Ｂ】本発明の幾つかの実施形態に従う定義モジュールの図である。
【図３Ｃ】本発明の幾つかの実施形態に従う定義モジュールの図である。
【図４Ａ】例示的なエディタ４００を示す図である。
【図４Ｂ】定義モジュールとアプリケーション・モジュールの間で生成されたリンクと、アプリケーション・モジュールとコントローラの間で定義されたリンクの例を示す図である。
【図５】幾つかの実施形態に従う本発明の例示的なブロック図である。
【図６Ａ】本発明の幾つかの実施形態に従うワークフローの図である。
【図６Ｂ】本発明の幾つかの実施形態に従うワークフローの図である。
【図６Ｃ】本発明の幾つかの実施形態に従うワークフローの図である。
【図６Ｄ】本発明の幾つかの実施形態に従うワークフローの図である。
【図７Ａ】本発明の幾つかの実施形態に従うモジュール生成器の例示的なディスプレイ画面を示す図である。
【図７Ｂ】本発明の幾つかの実施形態に従う、生成されたリンクを表示するための例示的なディスプレイ画面を示す図である。
【図７Ｃ】本発明の幾つかの実施形態に従うドキュメント・レイアウト構成器に対する例示的なディスプレイ画面の図である。
【図７Ｄ】幾つかの実施形態に従うプラント・ドキュメントの例示的なコンテンツ・テーブルを示す図である。
【図８Ａ】本発明の幾つかの実施形態に従うエディタのワークフローを示す図である。
【図８Ｂ】本発明の幾つかの実施形態に従うマスエディタのワークフローを示す図である。
【図９】本発明の幾つかの実施形態に従うプロセス制御構成システムを示す図である。
【図１０】本発明に従って構成されたリポジトリのシステムの実施形態を示す図である。
【図１１】産業プラント内部の例示的なサブシステムを示す図である。
【図１２】本発明の１実施形態に従うリポジトリ・コントローラを示す図である。
【図１３Ａ】本発明に従う例示的なワークフローの図である。
【図１３Ｂ】本発明に従う例示的なワークフローの図である。
【図１４】プロセス制御構成システムのブロック図である。
【発明を実施するための形態】
【００３５】
プロセス制御システム
図２Ａは、産業プラント２３０（図示せず）における機器２１０に対する例示的なプロセス制御システム２００の図である。本例では、機器２１０は原油炉である。プロセス制御システム２００は、機器２１０の異なるパーツを制御するためのパーツ２２０、２２２、２２４、２２６、２２８である。パーツ２２０、２２２、２２４、２２６、２２８はそれぞれサブパーツからなる。本例では、パーツ２２０はサブパーツ・フィールド装置２０２、２０４および制御ロジック２０６を有する。制御ロジック２０６は産業プラント２３０内のプロセス２３２（図示せず）を制御するためのコントローラ２１２（図９で示す）内で実施される。本例では制御ロジック２０６は産業プラント２３０に対する設計データ２３４（図示せず）に従ってフィールド装置２０２、２０４を制御するためのものである。
【００３６】
本例では、フィールド装置２０２は、センサ、入力パラメータをコントローラ２１２に送信する入力装置である。コントローラ２１２は、２つの機能ブロック、即ち、第１の機能ブロック２０５と第２の機能ブロック２０７において制御ロジック２０６を有する。機能ブロック２０５、２０７は、制御ロジック２０６を処理するためのコントローラ２１２内のソフトウェア・コンポーネントである。当該入力パラメータは、出力パラメータを生成するために第２の機能ブロック２０７で処理される前に第１の機能ブロック２０５で処理される。コントローラ２１２は次いで、第２の機能ブロック２０７からの出力パラメータをフィールド装置２０４、即ち、本例ではバルブに対するアクチュエータである出力装置に送信する。本例では、フィールド装置２０２、２０４は、入出力（Ｉ／Ｏ）カードまたはモジュールのようなハードウェア・インタフェース・コンポーネントに接続される。当該コンポーネントは次いでコントローラ内の第１の機能ブロック２０５と第２の機能ブロック２０７に接続される。
【００３７】
産業プラント２３０に対するプロセス制御システム２００は、本発明の幾つかの実施形態に従う同一のまたは異なるタイプの機器２１０に対する複数のプロセス制御システム２００からなる。
【００３８】
プロセス制御システム２００は複数のプロセッサと複数のＨＭＩ端末２１８（図示せず）を備える。各ＨＭＩ端末２１８はＨＭＩスクリーン２１７（図示せず）と入力装置からなる。ＨＭＩスクリーン２１７はパーツ２２０を表示し、したがってサブパーツに対してはフィールド装置２０２、２０４を表示する。ＨＭＩスクリーン２１７は、本発明の幾つかの実施形態に従う全てのパーツ２２０、２２２、２２４、２２６、２２８とそのサブパーツ・フィールド装置２０２、２０４、制御ロジック２０６を表示する。
【００３９】
プロセス２３２は、機器２１０におけるプロセスと各パーツ２２０、２２２、２２４、２２６、２２８におけるプロセスを含むがこれらに限られない。あるいは、機器２１０は、パーツ２２０、２２２、２２４、２２６、２２８からなるパーツである。この代替では、機器２１０におけるプロセスはパーツ２２０、２２２、２２４、２２６、２２８におけるプロセスからなる。
【００４０】
パーツ
「産業プラントの一部」というフレーズの状況における「パーツ」という用語は、「全体ではない」、産業プラントを構成する部分の１つを意味する。産業プラントの一部としてのプロセス制御ターゲットというフレーズの状況での「パーツ」という用語は、プロセス制御システムにより実施されるプロセス制御を受けるターゲットを意味する。当該「パーツ」または当該「プロセス制御ターゲット」はハードウェア単体、ソフトウェア単体、またはその両者を組み合わせたものでありうる。「パーツ」または「プロセス制御ターゲット」の幾つかの例示的な例は、フィールド装置、機能ブロック、コネクタ、コントローラ、ＨＭＩスクリーンを含んでもよいがこれらに限られない。「パーツ関連データ」という用語は上述のパーツまたは「プロセス制御ターゲット」に関連するデータを意味する。「パーツ」がフィールド装置である場合、パーツ関連データは当該フィールド装置に関連する１組のデータを意味する。
【００４１】
全体として考えた産業プラント２３０に対して、全体の産業プラント２３０の分割をパーツと称する。本発明では、パーツは産業プラント２３０の構成要素または領域である。構成要素はセンサおよびアクチュエータ、制御ロジック２０６、コントローラ２１２および機器２１０のようなフィールド装置２０２、２０４を含むがこれらに限られない。コントローラ２１２は、本発明の幾つかの実施形態に従う、機能ブロック２０５、２０７、関連する機能ブロック２０５、２０７の間のコネクタ２０９を含む。当該コンポーネントが他のコンポーネントから構成されるとき、当該パーツは複数のサブパーツからなる。例えば、パーツ２２０は、機能ブロック２０５、２０７のような非常に基本ブロックおよび機能ブロック２０５、２０７に対するコネクタ２０９から成る組立品である。
【００４２】
通常、産業プラント２３０は事実上異なる管理領域に分割される。例えば、領域とは、特定のプロセスに対するコンポーネントの集合であるか、または、物理的位置にあるコンポーネントの集合である。当該領域は、特定、参照、または構成の簡単さのためセル、ユニットにさらに分割される。
【００４３】
全体として考えたグラフィカル・ユーザ・インタフェースに対して、ＨＭＩスクリーン上に示すべきグラフィカル・ユーザ・インタフェースに対して構成するために使用されるコンポーネントは部品と称される。例えば、部品は、数値データ部品、バー・グラフ部品、テキスト部品、画像部品のようなデータ・アクセス部品である。別の例では、部品は、ラベル部品およびリンク部品のような非データ・アクセス部品である。
【００４４】
部品は、本発明の幾つかの実施形態に従う少なくとも１つの入力パラメータと１つの出力パラメータを含む。本発明の幾つかの実施形態によれば、当該入力パラメータまたは出力パラメータのうち１つは固定され、操作できない。
【００４５】
プロセス制御システム要素とはプロセス制御システムの部分を意味し、全体を意味しない。
【００４６】
設計データ
設計データ２３４は産業プラント２３０の設計仕様であり、プロセス２３２向けのプロセス制御システム２００の構成に関するデータを含む。設計データ２３４は、フィールド装置２０２、２０４、制御ロジック２０６、機器２１０、コントローラ２１２、機能ブロック２０５、２０７、コネクタ２０９および各コンポーネントに固有なデータのようなコンポーネントに関するデータを含む。
【００４７】
定義モジュール
プロセス制御システム２００およびその構成システムは複数のハードウェアとソフトウェア・コンポーネントを備える。定義モジュール３００は、メモリに存在する追加のソフトウェア・コンポーネントである。定義モジュール３００は、プロセス制御システム２００での使用に適している。定義モジュール３００は、本発明の幾つかの実施形態に従うプロセス制御システム２００に対する構成システムでの使用に適している。あるいは、アプリケーション・モジュール４４０は、定義モジュール３００のインスタンスであり、メモリ上のソフトウェア・コンポーネントである。アプリケーション・モジュール４００は、プロセス制御システム２００およびプロセス制御システム２００の構成システムのうち少なくとも１つのソフトウェア・コンポーネントである。
【００４８】
図３Ａは、本発明の幾つかの実施形態に従う定義モジュール３００を示す。定義モジュール３００は、産業プラント２３０内のプロセス制御システム２００のパーツ２２０を表すように定義されている。
【００４９】
あるいは、図３Ｂはさらに、それぞれ、サブパーツ・フィールド装置２０２、２０４および制御ロジック２０６に対する定義モジュール３０２、３０４、３０６を示す。この代替では、定義モジュール３００は、本発明の幾つかの実施形態に従う定義モジュール３０２、３０４、３０６からなる。定義モジュール３０６は制御ロジック２０６に対して定義される。制御ロジック２０６は、機能ブロック２０５、２０７、および、機能ブロック２０５、２０７の間の接続２０９からなる。機能ブロック２０５、２０７はさらに、本発明の幾つかの実施形態に従う別々の定義モジュールで定義される。
【００５０】
図３Ｃは、本発明の幾つかの実施形態に従う定義モジュール３００を示す。定義モジュール３００は、プロパティ・ファイル３１０、制御ロジック・ファイル定義３２０およびデータ定義ファイル３３０のうち１つを含む。定義モジュール３００はさらに、本発明の幾つかの実施形態に従う、複数の制御ロジック定義ファイル３２０、複数のデータ定義ファイル３３０を含む。当該複数の各ファイル・タイプ、制御ロジック定義ファイル３２０およびデータ定義ファイル３３０は、本発明の幾つかの実施形態に従う別々の定義ファイルに格納される。
【００５１】
定義モジュール３００は、パーツ２２０に関連する設計データ２３４に基づいて構成される。定義モジュール３００は、同一のまたは異なる産業プラント２３０において類似のパーツ２２２、２２４、２２６、２２８に再利用可能である。これにより、異なるパーツ２２２、２２４、２２６、２２８に対して同様な定義モジュール３００を定義するための不必要な繰返し作業が削減される。
【００５２】
定義モジュール３００は、本発明の幾つかの実施形態に従うパーツのタイプに基づいて構成される。１例では、定義モジュール３００は汎用設計データ２３４に基づいて汎用パーツに対して構成される。汎用設計データ２３４は、制約を有さず、プロセス制御システム２００から独立している。定義モジュール３００は次いで、パーツ２２０に対する設計データ２３４で更新されることによりパーツ２２０に対して定義される。１例として、定義モジュール３００がパーツ２２０に対する設計データ２３４でインスタンス化される。
【００５３】
有利なことに、定義モジュール３００は汎用設計データ２３４で生成され、後に実際の設計データ２３４で更新される。これにより、プロセス制御システム２００の構成がさらに好都合になる。
【００５４】
プロパティ・ファイル
プロパティ・ファイル３１０は、定義モジュール３００のモジュール・プロパティを含む。プロパティ・ファイル３１０は、ユーザおよび定義モジュール３００の利用を検索して特定するために使用される。当該プロパティの例には、定義モジュール３００に一意な識別子、定義モジュール３００の修正に必要なアクセス許可、定義モジュール３００の外部検索を容易にするための少なくとも１つのキーワード、および、直近の更新を示すかまたは次の保守をスケジュールするための参照として作用する最終更新日がある。
【００５５】
定義モジュール３００のプロパティ・ファイル３１０に追加される追加のプロパティにはパーツ２２０に関連する情報が含まれる。プロパティ・ファイル３１０に追加される情報の例には、パーツ２２０のＨＭＩ端末２１８の操作と監視のためのＨＭＩスクリーン２１７設定、ソース・コード、バージョン、サイズ、タイムスタンプのような制御ロジック情報、パーツ２２０のファームウェア・バージョン、設定、改訂履歴、物理位置、パーツ２２０の媒体、速度、ハードウェアおよびソフトウェア・インタフェース設定、外部接続端末、ファイアウォール情報のようなネットワーク情報、パーツ２２０の論理接続情報および物理接続情報、パーツ２２０が使用するシミュレーション・モデル、パーツ２２０に対する配管計装図のバージョン番号、プロセス・フロー図のようなプラント情報がある。
【００５６】
本発明の幾つかの実施形態によれば、定義モジュール３００に対する複数のプロパティ・ファイル３１０がある。複数のプロパティ・ファイル３１０の各々は、パーツ２２０が修正されたときに、異なるプロパティが定義モジュール３００の準備の容易さを向上させるためのものである。
【００５７】
１例では、ＨＭＩスクリーン２１７が、パーツ２２０、したがって、サブパーツ・フィールド装置２０２に対して１つまたは複数のＨＭＩ端末２１８に表示される。ＨＭＩスクリーン２１７がパーツ２２０に対するプロセス条件またはユーザ嗜好とともに変化するとき、ＨＭＩ端末２１８に表示される複数のＨＭＩスクリーン２１７がある。ＨＭＩスクリーン２１７の変化ごとの夫々のＨＭＩスクリーン２１７設定は、別々のプロパティ・ファイル３１０内にある。これにより、ＨＭＩスクリーン２１７がパーツ２２０に対するプロセス条件またはユーザ嗜好と関連するかどうかの判定の容易さが向上する。
【００５８】
制御ロジック定義ファイル
制御ロジック定義ファイル３２０は、パーツ２２０に対する制御ロジック定義３２２、アラーム定義３２６のうち１つを含む。制御ロジック定義３２２は制御ロジック２０６からなり、これは入出力（Ｉ／Ｏ）信号の処理アルゴリズムである。フィールド装置２０２からの入力信号は、制御ロジック２０６に対する制御ロジック定義３２２に適用されるように定義され、制御ロジック２０６はフィールド装置２０４に対する出力信号を生成するように定義される。Ｉ／Ｏ信号の例には、センサ２０２から受信した値と制御バルブ２０４に送信された値のようなプロセス変数がある。プロセス変数は、温度、圧力、力、供給、流量、化学組成、加重、位置および速度のような測定値が存在する変数である。
【００５９】
追加の制御ロジック定義３２２は、制御ロジック２０６が利用可能であるかまたは外部ソースからインポートされるときに、制御ロジック定義ファイル３２０に含まれる。これは、定義モジュール３００にインポートされた任意のフォーマットで制御ロジック定義３２２を含めるのに好都合である。
【００６０】
制御ロジック定義ファイル３２０は、幾つかの実施形態に従うパーツ２２０に対するアラーム定義３２６ファイルを含む。同様に、アラーム定義３２６は、サブパーツ、フィールド装置２０２、２０４からの入出力（Ｉ／Ｏ）信号に対するアラーム制御ロジックまたはアルゴリズムからなる。例えば、所定の範囲外のＩ／Ｏ信号のような、フィールド装置２０２からの入力信号またはフィールド装置２０４への出力信号に基づいてアラームが起動される。定義モジュール３００はさらに、別のアラーム通知ツールを用いずにアラーム管理機能を提供するように改善される。アラーム管理機能を有するプロセス制御システム２００を構成し維持するためのリソースにより、別々の独立なアラーム管理ツールの使用と比較して設計データ２３４との一貫性がさらに改善する。
【００６１】
制御ロジック定義３２２に加えて、サブパーツ、フィールド装置２０２、２０４に対するパラメータ設定３２４（図示せず）値が制御ロジック定義ファイル３２０で定義され、アラーム設定３２５値（図示せず）がアラーム定義ファイルで定義される。パラメータ設定３２４値は、タグ名、タグ・コメント、範囲を含むがこれらに限られない。
【００６２】
調節パラメータ
制御ロジック定義３２２内の処理アルゴリズムはさらに調節パラメータを含む。調節パラメータとは、プロセス２３２を制御するために制御ロジック２０６内で生成され適用される変数である。制御ロジックに対する以下の汎用アルゴリズムを有する比例積分微分（ＰＩＤ）コントローラの１例を用いると、
【００６３】
【数１】
0006648493.tif 000002
【００６４】
である。ここで、
Ｋｐは比例利得、即ち、調節パラメータであり、Ｋｉは積分利得、即ち、調節パラメータであり、Ｋｄは微分利得、即ち、調節パラメータであり、ｅは、誤差＝セットポイント−プロセス変数であり、ｔは時刻または瞬時（現時点）であり、Ｔは積分変数であり、時刻０から現時点ｔまでの値をとる。
【００６５】
ＰＩＤコントローラに関する上述の制御ロジックにおいて、Ｋｐ、Ｋｉ、Ｋｄは調節パラメータの例である。プロセス制御システムの当業者は、当該制御ロジックを処理する機能ブロックで生成される他の調節パラメータがあることを理解する。
【００６６】
調節パラメータにはアラーム・セットポイントが含まれる。当該アラーム・セットポイントは、プロセス制御システム２００内のアラーム管理に対するアラーム定義３２６で定義された調節パラメータである。
【００６７】
当該調節パラメータの使用例は、定義モジュール３００を最初に使用したときのプロセス２３２の調整である。当該調節パラメータ、機能ブロック・データ項目は、制御ロジック２０６の機能ブロック２０５、２０７で生成される。したがって、当該調節パラメータは、プロセス制御システム２００が動作しているときにのみ利用可能である。調節パラメータが最初の調整に必要なときは、デフォルト値またはユーザ入力値が使用される。
【００６８】
定義モジュール３００の構成中に、パーツ２２０に対する制御ロジック２０６において固定値を定義して必要な特定の機能を実現する。当該固定値は、本発明の幾つかの実施形態に従う設計値、初期値またはユーザ定義値である。当該固定値の使用例としては、プロセス制御システム２００のランタイム中がある。ランタイムとは実行である。当該固定値は制御ロジック２０６の調整段階中に割り当てられる。
【００６９】
プロセス制御システム２００の動作中に、機能ブロックで生成された現在値が当該固定値との比較のために取り出される。当該比較を使用してプロセス２３２を監視または制御する。これにより、調節パラメータ、即ち、固定値が定義モジュール３００に提供されたとき、プロセス制御システム２００の操作と設定中のユーザの効率が向上する。当該ユーザの経験に依存する必要はなく、当該固定値に対する参照ソースを調べる必要もない。さらに、現在値が制御ロジック２０６の調整に好適な値であると判定されたとき、当該機能ブロックで生成された現在値が更新された固定値として格納される。
【００７０】
生成マネージャ５００のような変換ツールが、定義モジュール３００内の制御ロジック定義３２２を制御プログラムまたは制御データ５１０に変換する。制御データ５１０が、プロセス制御システム２００内のコントローラ２１２に送信またはロードされ、異なるプロセス２３２または産業プラント２３０ごとに異なる。コントローラ２１２は制御データ５１０を実行する。制御データ５１０は当該定義を読み取って産業プラント２３０を制御する。
【００７１】
１例では、制御ロジック定義ファイル３２０がパーツ２２０に対して構成される。コントローラ２１２に対する制御ロジック２０６は機能ブロック２０５、２０７にカプセル化される。コントローラ２１２は制御データ５１０内の制御ロジック２０６を読み取り、入力プロセス変数を特定し、機能ブロック２０５、２０７内のアルゴリズムを実施して出力プロセス変数を生成し、出力プロセス変数に対する宛先と特定する。当該宛先の例には、別のコントローラ、フィールド装置がある。幾つかの例では、制御ロジック２０６は、処理アルゴリズムに適用して処理するため、プロセス変数のような入力パラメータをフィールド装置２０２から受け取るか、または、ユーザ入力をＨＭＩ端末２１８から受け取って、フィールド装置２０４を制御するための出力パラメータを生成する。幾つかの例では、制御ロジック２０６は所定の入力パラメータを有する。フィールド装置２０４の振舞いは当該入力パラメータおよび当該処理アルゴリズムに依存する。
【００７２】
パーツ２２０、２２２、２２４、２２６、２２８に対して構成された制御ロジック２０６を有する定義モジュール３００は、パーツ２２０、２２２、２２４、２２６、２２８に対する制御ロジック２０６のコントローラ２１２への物理束縛または割当てとは独立である。図２Ｂおよび２Ｃの例を説明に用いると、パーツ２２０、２２２、２２４、２２６、２２８の制御ロジック２０６は、定義モジュール３００において「ＦＣＳ０１０１」として識別されるコントローラ２１２で定義される。図２Ｂの第１の割当てでは、パーツ２２０、２２２、２２４、２２６、２２８に対する制御ロジック２０６はコントローラ２１２「ＦＣＳ０１０１」に割り当てられる。図２Ｃの代替的な第２の割当てでは、パーツ２２０、２２２、２２４に対する制御ロジック２０６は第１のコントローラ２１２「ＦＣＳ０１０１」に割り当てられ、パーツ２２６、２２８の制御ロジック２０６は第２のコントローラ２１３（図示せず）「ＦＣＳ０１０２」に割り当てられる。パーツ２２０、２２２、２２４、２２６、２２８内の制御ロジック２０６は両方のタイプの割当てに対して有効である。
【００７３】
制御ロジック定義ファイル３２０は、本発明の幾つかの実施形態に従う、パーツ２２０に対する制御ロジック定義３２２、アラーム定義３２６、パラメータ設定３２４およびアラーム設定３２５、当該サブパーツのフィールド装置２０２、２０４、制御ロジック２０６のうち任意の１つを含む。ルータ、ハブまたはスイッチのようなネットワーク装置２０８（図示せず）を含むパーツ２２０の１つの例示的な実施形態では、ネットワーク装置２０８に対する制御ロジック定義３２２、アラーム定義３２６、パラメータ設定３２４またはアラーム設定３２５が含まれる。
【００７４】
典型的な産業プラント２３０は、異なるベンダにより提供されるフィールド装置２０２、２０４からなる。制御ロジック定義３２２、アラーム定義３２６は、パーツ２２０およびサブパーツ、フィールド装置２０２、２０４に対するベンダ固有のフォーマットで準備される。あるいは、制御ロジック定義３２２は業界標準に基づく汎用フォーマットで準備される。
【００７５】
制御ロジック定義ファイル３２０が本発明の幾つかの実施形態に従うフォルダであるとき、制御ロジック定義ファイル３２０は上述のコンテンツを格納するための定義モジュール３００内の位置を参照する。
【００７６】
データ定義ファイル
データ定義ファイル３３０は、パーツ２２０に対する制御ロジック定義３２２に関連する設計データ２３４を格納する。制御ロジック定義３２２は、設計データ２３４が更新されたときに更新される。これにより、プロセス２３２に対して実行された制御データ５１０が設計データ２３４と一貫することが保証される。
【００７７】
ルール定義ファイル
データ定義ファイル３３０は、本発明の幾つかの実施形態に従うルール定義３２８ファイルを含む。ルール定義３２８は、パーツ２２０または他のパーツ、フィールド装置２０２、２０４に関するパラメータ設定３２４値を更新または変更するために適用される。制御ロジック定義３２２内のパラメータ設定３２４値は、設計データ２３４に関連する被参照データの変更に従って変更される。被参照データは、顧客、ベンダからのような、ユーザが構成し編集可能なデータであり、特定の機器、プロセスまたは製品に固有である。当該被参照データは、フィールド装置に対する構成もしくは設定データであり、または、制御ロジック定義３２２、アラーム定義３２６内にある。
【００７８】
ルール定義３２８は、当該被参照データ内のパラメータを制御ロジック・パラメータに設定するための少なくとも１つの条件と１つの動作を含む。ルールの１例は、被参照データ内のフィールド装置に対する対応する構成「ｃｏｎｆｉｇ＿ｖａｌｕｅ」設定が「１」であるとき、フィールド装置に対する制御ロジック・パラメータ「ｐａｒａｍ０１」設定が「５」であるというものである。
【００７９】
被参照データは本発明の幾つかの実施形態に従うデータ・ソース内にある。「データ・ソース」という用語は、１つまたは複数の組のデータ、メモリまたはこれらのデータを非一時的に格納するように構成された記憶部に格納された、リポジトリまたはデータベースを意味する。当該データ・ソースは、本発明の幾つかの実施形態に従うリポジトリまたはデータベースのような１つまたは複数の組のデータを有するメモリまたは記憶部のようなハードウェアの組合せである。当該データ・ソースの例は、定義モジュール３００と同一または異なるメモリに格納されたファイル構造内の入出力（Ｉ／Ｏ）リストである。Ｉ／Ｏリストの例には、全てのフィールド装置２０２、２０４とそれらのプロパティおよびパラメータが含まれる。当該Ｉ／Ｏリストは、当該パラメータが変更されたとき定期的に更新される。ルール定義３２８は定義モジュール３００内のパラメータ変更を更新する。
【００８０】
ルール定義３２８ファイルを編集するためのアクセス権は、定義モジュール３００の開発者または設計者のような経験または権限のあるユーザに制限される。他のユーザはルール定義３２８を参照し使用するためのアクセス権を有する。これは、パーツ２２０向けに定義された制御ロジック定義３２２とパーツ２２０向けに設計された設計データ２３４との間の誤差または矛盾を最小限にするためである。ルール定義３２８ファイルは、本発明の幾つかの実施形態に従う制御ロジック定義ファイル３２０内にある。これにより、編集権限なしに、ルール定義３２８ファイルが制御ロジック定義ファイル３２０内にあるときにルール定義３２８ファイルの参照と使用にアクセス権を設定する容易さが向上する。
【００８１】
ルール定義３２８は設計データ２３４内のパラメータの複雑な関係を解釈し提供する。ルール定義３２８が定義モジュール３００に含まれるとき、定義モジュール３００の設計データ２３４との一貫性が改善する。
【００８２】
ルール定義３２８ファイルは、本発明の幾つかの実施形態に従う複数のルール定義３２８を含む。ルール定義３２８は、本発明の幾つかの実施形態に従う、ユーザが制御ロジック定義またはパラメータごとにルール定義３２８を選択または選択解除するためのオプション・プロパティを含む。ルール定義３２８はさらに、ルール定義３２８に対して優先度列を定義するための順位プロパティを含む。これにより、設計データ２３４との一貫性がさらに高まる。
【００８３】
定義モジュール３００に含まれているルール定義３２８は、従来のシステムと比べて、外部ルール・データベースへの、制御ロジックを有するオブジェクト内のリンクを含めるのにより好都合かつ効率的である。さらに、複雑なパラメータ関係の保守と可視性が、設計データ２３４との一貫性を保証するためにリンクと外部ルール・データベースの両方を維持しなければならない従来のシステムと比べて向上する。
【００８４】
ドキュメント定義ファイル３３１
データ定義ファイル３３０は、本発明の幾つかの実施形態に従う、ドキュメント・データ３３２を格納するドキュメント定義ファイル３３１（図示せず）を含む。ドキュメント・データ３３２は、プラント・ドキュメント５３０を生成するのに必要な設計データ２３４を含む。パラメータ設定３２４、アラーム設定３２５のようなドキュメント・データ３３２は実装中には使用されず、パーツ２２０、サブパーツのフィールド装置２０２、２０４、制御ロジック２０６、機能ブロック２０５、２０７、コネクタ２０９、ネットワーク装置２０８における直接的な設定または構成に対しては、ドキュメント・データ３３２は本発明の幾つかの実施形態に従う定義モジュール３００のためのテスト手続きまたはテスト・データを含む。ドキュメント・データ３３２は、産業プラント２３０仕様、命令マニュアル、制御ロジック定義３２２仕様、アラーム定義３２６仕様および産業プラント２３０に関連する任意のかかるドキュメントのような、プラント・ドキュメント５３０を生成するために使用される。ドキュメント・データ３３２には、テスト機能データ、ＨＭＩスクリーン２１７の実際のまたは代表的な画像、パーツ２２０、サブパーツのフィールド装置２０２、２０４、制御ロジック２０６、ネットワーク装置２０８の実際のまたは代表的な画像、および他の任意の情報が含まれるがこれらに限られない。他の情報には、産業プラント２３０または制御ロジック定義３２２の説明または例示であるテキスト・ファイルまたはビデオが含まれる。
【００８５】
プラント・ドキュメント５３０は、プロセス制御システム２００において、ドキュメント定義ファイル３３１から生成され、制御ロジック定義３２２と整合するように更新される。なぜならば、当該定義が同一のソース、設計データ２３４に基づくからである。
【００８６】
本発明の幾つかの実施形態に従う定義モジュール３００には複数のドキュメント定義ファイル３３１がある。複数のドキュメント定義ファイル３３１の各々は、ドキュメント・データ３３２の異なるタイプのためのものである。例えば、複数の制御ロジック定義３２２、アラーム定義３２６、ルール定義３２８が定義モジュール３００にあるとき、各ドキュメント定義ファイル３３１は、制御ロジック定義３２２、アラーム定義３２６、ルール定義３２８ごとに別々に準備される。これにより、ドキュメント・データ３３２の異なるタイプが複数のドキュメント・ファイル３３１で準備されるとき、プラント・ドキュメント５３０の準備の容易さが向上する。さらに、これにより、ドキュメント・ファイル３３１の保守の容易さが向上する。
【００８７】
各ドキュメント定義ファイル３３１は、本発明の幾つかの実施形態に従う、レイアウト・ファイル３３４、パラグラフ・ファイル３３６、セクション・ファイル３３８のようなドキュメント・ファイルからなる。レイアウト・ファイル３３４は、特定のプラント・ドキュメント５３０を生成するために使用されるドキュメント・データ３３２の配置および管理を定義する。パラグラフ・ファイル３３６は、データ部分または当該データ部分の説明ごとに１つのパラグラフまたはを準備することによるドキュメント・データ３３２の管理である。例えば、ドキュメント・データ３３２の１つのパラグラフが１つのテキスト・ファイルに格納される。したがって、レイアウト・ファイル３３４は、複数のパラグラフ・ファイル３３６があるとき、複数のパラグラフ・ファイル３３６のレイアウトを定義する。レイアウト・ファイル３３４とパラグラフ・ファイル３３６は本発明の幾つかの実施形態に従う１つの説明用ドキュメント・ファイルに結合される。しかし、レイアウト・ファイル３３４とパラグラフ・ファイル３３６が別々のドキュメント・ファイルで管理されると、管理と使用の容易さが向上する。
【００８８】
セクション・ファイル３３８は、セクション、サブセクション、またはセクション、サブセクションの集合であるチャプタに関する、テキストまたは画像でのドキュメント・データ３３２の定義である。
【００８９】
さらに、ドキュメント・データ３３２は、本発明の幾つかの実施形態に従う添付物を含む。添付物の例には、プラント・ドキュメント５３０を生成するかまたは制御データ５１０とともに含まれるために使用されるドキュメントまたはデータがある。当該添付物は、テキストおよび画像からなるドキュメント・データ３３２として添付ファイル３４０に個別または集合的に格納される。添付ファイル３４０は、複数の添付物を管理するためのドキュメント・ファイル、添付リスト・ファイル３４２からなる。当該複数の添付物は、添付すべきファイルが複数あるとき、定義モジュール３００内のプラント・ドキュメント５３０で使用または添付される。添付すべき複数のかかるファイルは添付リスト・ファイル３４２で列挙される。
【００９０】
利用可能なドキュメント・データ３３２のタイプに基づいて、ドキュメント定義ファイル３３１、添付ファイル３４０が、プラント・ドキュメント５３０を生成するためのドキュメント・データ３３２を管理する容易さと効率を高めるように構築または構成される。設計ドキュメント３３２が構造化されたドキュメント定義ファイル３３１、添付ファイル３４０に配置されているとき、異なるユーザが、ドキュメント・データ３３２を更新し、任意のタイプのプラント・ドキュメント５３０を生成することができる。
【００９１】
ドキュメント定義ファイル３３１は、ドキュメント定義ファイル３３１が本発明の幾つかの実施形態に従うフォルダであるとき、上述のコンテンツを記憶するための定義モジュール３００内の位置を指す。
【００９２】
リポジトリ
定義モジュール３００、制御ロジック定義ファイル３２０、アラーム定義３２６ファイル、データ定義ファイル３３０、ルール定義３２８ファイル、ドキュメント定義ファイル３３１は、同一のパーツ２２０または異なるパーツ２２２、２２４、２２６、２２８に対して再利用または更新するために取り出すように構成した後、リポジトリ１３００に格納される。リポジトリ１３００は、定義モジュール３００に対するエディタ・ツールとして同一のコンピュータ上にある。リポジトリ１３００は、本発明の幾つかの実施形態に従う別々のサーバ、コンピューティング・クラウドのような安全な位置に配置される。これにより、多くのユーザがリポジトリ１３００を安全に利用することができる。ユーザはリポジトリ１３００にアクセスする。これにより、異なるパーツ２２２、２２４、２２６、２２８に対して同様な制御ロジック２１２を定義するための不要な反復作業が削減される。制御ロジック２１２を定義する作業は、機器２１０の定義モジュール３００において５回ではなく１回だけ行われる。
【００９３】
リポジトリ１３００は、リポジトリ１３００内のコンテンツを管理するためのリポジトリ・ツールを備える。当該リポジトリ・ツールは、グローバル識別子および改訂番号、特に定義モジュール３００およびアプリケーション・モジュール４４０のようなコンテンツにグローバル・プロパティを割り当てるための割当て機能を有する。定義モジュール３００およびアプリケーション・モジュール４４０は、当該モジュールがユーザにライセンスされたときに当該割当て機能がライセンス・マークを割り当てるためのライセンス・マーク・プロパティを含む。
【００９４】
当該リポジトリ・ツールは、当該リポジトリ内のコンテンツを管理するために使用される内部データを含む。当該内部データは、レポート、ライセンスされたコンテンツ、ファイルを閲覧、アップロード、ダウンロード、および生成するためのアクセス権のようなユーザ情報と、インデックス閲覧および検索のための検索機能を含む。当該内部データは、利用統計値、利用履歴、例えば、最終ユーザ、最終ダウンロードのような、コンテンツの利用情報を含む。
【００９５】
改訂番号のようなグローバル・プロパティおよびユーザ・ライセンスされたコンテンツのような内部データに基づいて、当該リポジトリ・ツールは、グローバル・プロパティが変更されたときにユーザに通知を送信する通知機能を含む。１例では、当該通知機能は、新たな改訂が利用可能であるとき、更新されたコンテンツをライセンスされたユーザに送信する。
【００９６】
当該グローバル・プロパティおよび内部データに基づいて、リポジトリ１３００の顧客のようなユーザは、プロセス制御システム２００の構成またはセットアップのための有用なコンテンツを特定するために閲覧を行うことができる。
【００９７】
複数のユーザが利用できるようにコンテンツがアップロードされると、リポジトリ１３００内のコンテンツを準備するための累積されたスキルや経験の利用が最大になる。ユーザがコンテンツをリポジトリ１３００からダウンロードするとき、プロセス制御システム２００を準備または修正するためのリソースは最小化される。
【００９８】
実装の概念
本発明は、オブジェクト指向プログラミングの概念を用いてエディタ・ツール４００で実装される。定義モジュール３００は、それが基底ジュールであるとき、親クラスである。定義モジュールは、子定義モジュールが親定義モジュール３００を継承するとき、子クラスである。親クラスの変更は自動的に子クラスで更新される。したがって、子定義モジュール３００が自動的に更新されるので、親定義モジュール３００が変更されたとき、当該子定義モジュールは対応する手動の更新を必要としない。
【００９９】
定義モジュール３００はパーツ２２２、２２４、２２６、２２８に適用される。なぜならば、当該パーツはパーツ２２０と類似しているからである。図２Ａから、パーツ２２０、２２２、２２４、２２６、２２８は２つの入力を有するので、同一の定義モジュール３００がパーツ２２０、２２２、２２４、２２６、２２８に適用される。さらに、定義モジュール３０１（図示せず）が機器２１０に対して準備される。定義モジュール３０１は、本発明の幾つかの実施形態に従う５つの定義モジュール３００からなる。定義モジュール３０１は、定義モジュール３００がさらにサブパーツ２０２、２０４、２０６に対する定義モジュール３０２、３０４、３０６を含むとき、複数の入れ子レベルを有する。
【０１００】
アプリケーション・モジュール４４０は、本発明の幾つかの実施形態に従うパーツ２２０に対する定義モジュール３００のインスタンスである。定義モジュール３００が設計データ３００またはデータ・ソースに基づく特定のパラメータを割り当てられたとき、アプリケーション・モジュール４４０が生成またはインスタンス化される。したがって、アプリケーション・モジュール４４２、４４４、４４６、４４８は、夫々のパーツ２２２、２２４、２２６、２２８に対するインスタンスである。アプリケーション・モジュール４４０は、本発明の幾つかの実施形態に従うインスタンス化されたオブジェクトである。
【０１０１】
説明のための１例を用いると、定義モジュール３００は汎用制御ロジックのような汎用情報を有する。本例では、当該汎用制御ロジックを、インスタンス化の間に特定の値を含めることで任意の制御ロジックに使用することができる。汎用制御ロジックを有する定義モジュールはテンプレートと類似する。アプリケーション・モジュール４４０はインスタンス化された定義モジュール３００であり、これはアプリケーション・モジュール４００内の制御ロジックが特定の値を有することを意味する。アプリケーション・モジュール４４０は、特定の値を有するので、もはやテンプレートではない。アプリケーション・モジュール４４０内の制御ロジックは特定のパーツ向けであり、汎用パーツ向けではない。アプリケーション・モジュール４４０の制御ロジックにおけるパラメータまたはデータはデータ定義ファイル３３０で定義されたデータに基づいて更新されている。アプリケーション・モジュール４４０では、データ定義ファイル３３０は定義モジュール３００のものと同一である。
【０１０２】
有利なことに、本発明では、本発明の幾つかの実施形態に従う機器２１０に使用される、５つの定義モジュールではなく１つのみの定義モジュール３００の構成が必要である。したがって、定義モジュール３００は他の同様なパーツに再利用される。これにより、パーツ２２０、２２２、２２４、２２６２２８を含む機器２１０に対する定義モジュール３００の準備、保守、および更新中の効率が向上する。
【０１０３】
全てのアプリケーション・モジュール４４０、４４２、４４４、４４６、４４８は、設計データ２３４におけるパラメータ変更が定義３００で更新されたときに更新される。プロセス制御システム２００の構成と設定の効率が本発明により向上する。
【０１０４】
エディタ・ツール４００
図４Ａは図９のプロセス制御構成システム９００における例示的なエディタ・ツール４００を示し、図５はプロセス制御システム２００に使用されるように構成されたエディタ・ツール４００の例示的なブロック図を示す。エディタ・ツール４００は、産業プラント２３０、プロセス２３２または機器２１０向けのプロセス制御システム２００の設計仕様２３４に基づいて定義モジュール３００を準備、保守、および修正するために使用される。準備された定義モジュール３００はデータベース４３０のモジュール・ライブラリ４３２に格納される。データベース４３０は、本発明の幾つかの実施形態に従うエディタ・ツール４００とは異なる。これらの実施形態では、エディタ・ツール４００は、データベース４３０を含むリポジトリ１３００と通信するように構成される。
【０１０５】
計算制御コンポーネント４１０
エディタ・ツール４００は計算制御コンポーネント４１０を備える。計算制御コンポーネント４１０は、本発明の幾つかの実施形態に従うシステム１０００のプロセッサ１１００に存在する。計算制御コンポーネント４１０は、エディタ・ツール４００内の他の全てのコンポーネントを制御して定義モジュール３００およびアプリケーション・モジュール４４０を操作する。当該操作は、アプリケーション・モジュール４４０を生成するための定義モジュール３００の準備、保守、修正、およびインストール、ならびに、アプリケーション・モジュール４４０の修正を含む。
【０１０６】
モジュール生成コンポーネント４１２
エディタ・ツール４００はモジュール生成コンポーネント４１２を備える。モジュール生成コンポーネント４１２は、後述の１つまたは複数の機能を実施するように構成される。図６Ａは、アプリケーション・モジュール４４０を生成するための機能に関するワークフロー６１０である。Ｓ６１２で、モジュール生成コンポーネント４１２は、モジュール・ライブラリ４３２に格納された定義モジュール３００を取り出す。
【０１０７】
Ｓ６１４で、モジュール生成コンポーネント４１２は、入力装置１２００から受信したユーザ入力または入力信号のような入力を読み出す。当該入力は本発明の幾つかの実施形態に従うデータ・ソースである。定義モジュール３００内のルール定義３２８は、データ・ソース・パラメータを設計データ２３４に基づく入力として定義する。
【０１０８】
Ｓ６１６で、モジュール生成コンポーネント４１２が、当該入力と定義モジュール３００に基づいて、定義モジュール３００を生成または更新する。モジュール生成コンポーネント４１２は、本発明の幾つかの実施形態に従うアプリケーション・モジュール４４０を生成またはインスタンス化する。
【０１０９】
図７Ａは、エディタ・ツール４００における、生成された定義モジュール３００の例示的なディスプレイ画面４５０を示す。定義モジュール３００およびその制御ロジック定義ファイル３２０、ドキュメント定義ファイル３３１、添付ファイル３４０がモジュール・ライブラリ・ウィンドウ４５２に表示される。プロパティ・ファイル３１０は、本発明の幾つかの実施形態に従って、同一のモジュール・ライブラリ・ウィンドウ４５２内または別々のモジュール・プロパティ・ファイル・ウィンドウ４５４内に表示される。定義モジュール３００に対する制御ロジック定義３２２は、既知の制御ロジック・エディタまたは制御ロジック描画ビルダを用いて制御ロジック・エディタ・ウィンドウ４５６で編集される。制御ロジック定義３２２はパーツ２２０およびサブパーツ２０２、２０４、２０６を含む。固定されたプロパティ、および、当該プロパティの変数であるパラメータは、パーツ２２０およびサブパーツ２０２、２０４、２０６ごとに、パーツ・プロパティ・ウィンドウ４５８で列挙される。パーツ・プロパティ・ウィンドウ４５に表示されたプロパティの例は、識別子または「Ｔａｇ  Ｎａｍｅ」、「Ｔｙｐｅ」、「Ｒｕｌｅ」、「Ｔａｇ  Ｃｏｍｍｅｎｔ」である。プロパティごとに、パラメータのデフォルトまたはリストが選択用に提供され、ユーザ入力の妥当性がチェックされ、または、チェック・ボックスが適切な選択のために提供される。
【０１１０】
モジュール・ライブラリ・ウィンドウ４５２、モジュール・プロパティ・ファイル・ウィンドウ４５４、制御ロジック・エディタ・ウィンドウ４５６およびパーツ・プロパティ・ウィンドウ４５８はディスプレイ画面４５０上の別々の領域である。当該ウィンドウは参照および使用の簡単さのためタイル表示で配置される。
【０１１１】
アプリケーション・モジュール４４０はオブジェクト指向プログラミングにおけるインスタンスと等価である。オブジェクト指向プログラミングでは、インスタンスはクラス・モジュールをインスタンス化することで生成される。これは、実際の値をクラス・モジュール内で適用または使用するものである。本発明では、当該実際の値は、入力装置１２００から受信したユーザ入力または入力信号に基づく。
【０１１２】
モジュール生成コンポーネント４１２は、必要な数のアプリケーション・モジュールを生成する。この機器２１０の例では、当該必要な数のアプリケーション・モジュール４４０、４４２、４４４、４４６、４４８は、パーツ２２０、２２２、２２４、２２６、２２８が機器２１０を制御するために生成またはインスタンス化される。
【０１１３】
モジュール生成コンポーネント４１２は、機器２１０の異なるステータスごとに、新たな定義モジュール３００を準備または生成する。この機能のために、モジュール生成コンポーネント４１２は新たな定義モジュール３００で開始する。新たな定義モジュール３００はプロパティ・ファイル３１０内に所定のデフォルトプロパティを有し、制御ロジック定義ファイル３２０、ドキュメント定義ファイル３３１内には情報を有さない。定義モジュール３００の様々なタイプ、例えば、機器２１０タイプ、パーツ２２０タイプ、サブパーツ２０６タイプ、機能タイプ、製造者タイプまたは製造者と機能タイプの混合がある。定義モジュール３００の異なるタイプは、新たな定義モジュール３００を準備する方法で選択するために列挙される。当該選択は、定義モジュール３００の新たなタイプを準備するためのオプションを含む。これは、入力装置１２００から受信したユーザ入力または入力信号の形のユーザ命令に基づく。
【０１１４】
モジュール生成コンポーネント４１２は、機器２１０の異なるステータスごとにアプリケーション・モジュール４４０を修正する。プロパティ・ファイル３１０内の関連フィールドは、修正されたアプリケーション４４０を特定するために更新される。これは、入力装置１２００から受信したユーザ入力または入力信号の形のユーザ命令に基づく。
【０１１５】
Ｓ６１８で、モジュール生成コンポーネント４１２は、生成、インスタンス化、または修正されたアプリケーション・モジュール４４０、および生成された定義モジュール３００をデータベース４３０に格納する。データベース４３０は、同一のまたは異なるメモリ記憶媒体においてエディタ・ツール４００としてセットアップされる。
【０１１６】
モジュール生成コンポーネント４１２は、入力またはスケジュールのような所定のルールに基づいて、構成された機能ベースを実施するために起動される。所定の入力の例には、入力装置１２００を用いた、モジュール生成コンポーネント４１２を起動するためのユーザ入力がある。
【０１１７】
モジュール・ライブラリ４３２は、本発明の幾つかの実施形態に従う複数の定義モジュール３００を有する。複数の定義モジュール３００は、モジュール・ライブラリ・ウィンドウ４５２に階層ツリー構造で表示される。これにより、閲覧または編集のための所望の定義モジュール３００を特定するための簡単なナビゲーションが可能となる。
【０１１８】
リンク生成コンポーネント４１４
エディタ・ツール４００はリンク生成コンポーネント４１４を備える。リンク生成コンポーネント４１４は、以下の１つまたは複数の機能を実施するように構成される。
【０１１９】
図６Ｂは、本発明の幾つかの実施形態に従うリンク生成コンポーネント４１４により実施される機能のワークフロー６２０である。リンク生成コンポーネント４１４は、Ｓ６２２で各定義モジュール３００をデータベース４３０から取り出す。Ｓ６２４で、定義モジュール３００ごとに、リンク生成コンポーネント４１４は、パーツ２２０、サブパーツ２０２、２０４、２０６、制御ロジック定義３２２、定義モジュール３００に関連するアプリケーション・モジュール４４０を識別する。Ｓ６２６で、リンク生成コンポーネント４１４は、Ｓ６２４で、当該識別に基づいて、パーツ２２０、サブパーツ２０２、２０４、２０６、制御ロジック定義３２２、アプリケーション・モジュール４４０の情報をデータベース４３０から取り出す。Ｓ６２８で、リンク生成コンポーネント４１４はリンク４１６を生成して、取り出した情報をリンクまたは束縛する。図４Ｂに示すリンク４１６はアプリケーション・モジュール４４０と定義モジュール３００の間にある。Ｓ６２９で、リンク生成コンポーネント４１４が、生成されたリンク４１６をデータベース４３０に格納する。
【０１２０】
リンク生成コンポーネント４１４の機能は、アプリケーション・モジュール４４０がコントローラ２１２に割り当てられたときにリンク４１７を生成することである。図６Ｃは、リンク４１７を生成するために当該リンク生成コンポーネントにより実施されるワークフロー６３０である。ステップＳ６３２は、生成されたアプリケーション・モジュール４４０、４４２、４４４、４４６、４４８を選択するためのリストを提供する。ステップＳ６３４は、Ｓ６３２で選択されたアプリケーション・モジュール４４０に割り当てられた、選択するための利用可能なコントローラ２１２、２１３のリストを提供する。ステップＳ６３６で、リンク４１７が、選択されたアプリケーション・モジュール４４０をコントローラ２１２にリンクまたは束縛するために生成される。ステップＳ６３８で、リンク４１７がデータベース４３０に格納される。リンク４１７を生成するためのリンク生成コンポーネント４１４が、本発明の幾つかの実施形態に従うリンク４１６を生成するための別々のリンク生成コンポーネント４１４として提供される。
【０１２１】
有利なことに、生成されたリンク４１７は、フィールド装置２０２、２０４に対するアプリケーション・モジュール４４０の制御ロジック２０６をコントローラ２１２で実行させる。これは、論理束縛と呼ばれ、コントローラ２１２を有するフィールド装置２０２、２０４の物理接続とは独立である。保守作業の間、当該論理束縛が当該物理接続と独立に更新される。有利なことに、プロセス制御システム２００の任意のパーツ２２０に対する構成作業または保守作業を実施するユーザは当該物理接続を気にする必要がない。
【０１２２】
リンク生成コンポーネント４１４は、本発明の幾つかの実施形態に従うリンク修正機能を実施する。リンク生成モジュール・コンポーネント４１４は、取り出した情報に対する利用可能なオプションのリストを提供する。例えば、定義モジュール３００がパーツ２２０に対して特定される。リンク生成モジュール４１４は、当該パーツに対する利用可能なオプションである他の定義モジュールのリストを提供する。別の例では、他のフィールド装置のリストが識別子またはタグ名により識別される。これらは、サブパーツ２０２、２０４に対して利用可能なオプションである。ユーザは当該利用可能なオプションから選択を行う。リンク生成モジュール・コンポーネント４１４は、当該選択に基づいて、更新されたリンク４１６を生成する。更新されたリンク４１６はデータベース４３０に格納される。
【０１２３】
図７Ｂは、生成されたリンク４１６を表示するための、エディタ・ツール４００内の例示的なディスプレイ画面４６０である。ナビゲーション・ウィンドウ４６２は、ユーザが所望の機器２１０、パーツ２２０を選択するためのプラント機器、プラント領域、プラント・プロセス、機器ベンダのような複数のグループ・タイプを表示する。本例では、ユーザが機器２１０を参照するために選択する。リンク・リスト・ウィンドウ４６４は、機器２１０に対して、「Ｐ＆ＩＤ  Ｔａｇ  Ｎａｍｅ」のラベルを付した列内の識別子を列挙する。本例では、当該識別子は、各パーツ２２０、２２２、２２４、２２６、２２８のコントローラ２１２のためのものである。コントローラ２１２ごとの情報が、リンク生成コンポーネント４１４により生成されたリンク４１６に基づいて、対応する列内に列挙される。本例で例示した情報は、対応するアプリケーション・モジュール４４０、４４２、４４４、４４６、４４８の記憶位置である「ＡＰＭ  Ｐａｔｈ」、対応するアプリケーション・モジュール４４０、４４２、４４４、４４６、４４８の名前である「ＡＰＭ  Ｎａｍｅ」、パーツごとの定義モジュール３００である「Ｃｌａｓｓ」、対応するサブパーツ２０２、２０４に対する識別子である「ＩＯ  Ｔａｇ  Ｎａｍｅ」である。ディスプレイ画面４６０上の選択肢がプロパティを有するとき、当該選択肢のプロパティを表示するためのプロパティ・ウィンドウ４６６（図示せず）が含まれる。
【０１２４】
ナビゲーション・ウィンドウ４６２、リンク・リスト・ウィンドウ４６４、プロパティ・ウィンドウ４６６およびパーツ・プロパティ・ウィンドウ４５８はディスプレイ画面４６０上の別々の領域である。当該ウィンドウは、閲覧と利用の簡単さのため、タイル表示で配置される。当該情報に対する利用可能なオプションのリストが、オプション・ウィンドウまたはドロップ・ダウン・リスト４６８（図示せず）で提供される。
【０１２５】
リンク生成コンポーネント４１４は、アプリケーション・モジュール４４０が生成されたときに機能を実施する。あるいは、リンク生成コンポーネント４１４が、所定の入力、スケジュールに基づいて、または、本発明の幾つかの実施形態に従う任意の情報の変更が検出されたとき、構成された機能を実施する。所定の入力の例には、入力装置１２００を用いて、リンク生成コンポーネント４１４を起動するユーザ入力がある。当該情報の変更には、定義モジュールのパーツ、サブパーツに対して代替的に利用可能なオプションの選択が含まれる。
【０１２６】
ドキュメント・レイアウト構成コンポーネント４１８
エディタ・ツール４００は、ドキュメント・レイアウト構成コンポーネント４１８を備える。ドキュメント・レイアウト構成コンポーネント４１８が、レイアウト４１９を定義するための後述する１つまたは複数の機能を実施するように構成される。レイアウト４１９は、プラント・ドキュメント５３０に対する設定または構成である。レイアウト４１９は当該設定のリストを含み、当該リストの例には、プラント・ドキュメント５３０のコンテンツ・リストまたはコンテンツ・テーブルがある。プラント・ドキュメント５３０はレイアウト４１９に基づいて生成される。
【０１２７】
図６Ｄは、本発明の幾つかの実施形態に従うドキュメント・レイアウト構成コンポーネント４１８により実施される機能のワークフロー６４０である。Ｓ６４２で、ドキュメント・レイアウト構成コンポーネント４１８が、各定義モジュール３００をデータベース４３０から取り出す。Ｓ６４４で、定義モジュール３００ごとに、ドキュメント・レイアウト構成コンポーネント４１８がドキュメント定義ファイル３３１のレイアウト情報を識別する。当該レイアウト情報は、レイアウト・ファイル３３４がドキュメント定義ファイル３３１に対して定義されていないとき、レイアウト・ファイル３３４のコンテンツ、またはドキュメント定義ファイル３３１、ドキュメント・ファイル３３２、３３６、３３８のヘッダである。
【０１２８】
Ｓ６４６で、ドキュメント・レイアウト構成コンポーネント４１８が、所定のレイアウト・シーケンスまたは階層に従ってレイアウト情報に基づいて、レイアウト４１９を配置、設定、または固定する。レイアウト・シーケンスの例には、定義モジュール３００に対するレイアウト情報、それに続いて、アプリケーション・モジュール４４０、４４２、４４４、４４６、４４８に対するレイアウト情報がある。階層の例には、ドキュメント定義ファイル３３１下のドキュメント・ファイル３３２、３３４、３３６、３３８がある。ドキュメント・レイアウト構成コンポーネント４１８は、本発明の幾つかの実施形態に従って、レイアウト４１９を配置するためのユーザ入力を入力装置１２００から受信する。Ｓ６４８で、配置されたレイアウト４１９がデータベース４３０に格納される。
【０１２９】
あるいは、ドキュメント・レイアウト構成コンポーネント４１８が、レイアウト・ファイル３３４が各定義モジュール３００内のドキュメント定義ファイル３３１に対して定義されているかどうかを判定する。ドキュメント・レイアウト構成コンポーネント４１８は、レイアウト・ファイル３３４が定義されているとき、定義モジュール３００に対するアプリケーション・モジュール４４０を取り出す。アプリケーション・モジュール４４０は、入力装置１２００から受信したユーザ入力または入力信号に基づいて生成される。アプリケーション・モジュール４４０は、レイアウト・ファイル３３４内のレイアウト情報からレイアウト４１９を継承する。当該ドキュメント・レイアウト構成コンポーネントは継承したレイアウト４１９をデータベース４３０に格納する。
【０１３０】
ドキュメント・レイアウト構成コンポーネント４１８は、本発明の幾つかの実施形態に従うレイアウト修正機能を有する。ドキュメント・レイアウト構成コンポーネント４１８は格納されたレイアウト４１９を取り出す。ドキュメント・レイアウト構成コンポーネント４１８は、取り出したレイアウト４１９と入力装置１２００から受信したユーザ入力に基づいて、レイアウト４１９を配置、設定、または固定する。これにより、プラント・ドキュメント５３０を準備する効率が向上する。レイアウト４１９は、本発明の幾つかの実施形態に従うプラント・ドキュメント５３０のタイプ、例えば、仕様、命令マニュアル、制御ロジック定義に従って分類され格納される。異なるタイプのプラント・ドキュメント５３０に対して要求される情報は通常は異なる。さらに、異なる処理プラントの異なる顧客は異なるドキュメント化要件を有する。有利なことに、これによりドキュメント化の効率と一貫性が向上する。さらに、利用可能なレイアウト４１９のデータベースにより、ユーザが標準化されたドキュメント化を保守して、ユーザが不要な新たなレイアウトを生成するのを最小化することができる。
【０１３１】
図７Ｃは、ドキュメント・レイアウト構成コンポーネント４１８に対する例示的なディスプレイ画面４７０である。レイアウト・ウィンドウ４７２は、所定のシーケンスまたは階層に従って、取り出した定義モジュール３００およびアプリケーション・モジュール４４のレイアウト情報を表示する。レイアウト・ファイル３３４が定義されていないとき、当該レイアウト情報は、ドキュメント定義ファイル３３１、ドキュメント・ファイル３３６、３３８、３４０に関するヘッダまたは識別子４７４のリストである。本例では、当該レイアウト情報のトップレベル階層は、定義モジュール３００の識別子プロパティ「ＰＩＤ＿Ａ０１」、アプリケーション・モジュール４４０「ＰＩＤ＿Ｂ０１」を列挙し、後続のレベル階層はドキュメント３３６、３３８、３４０「Ｃｏｎｔｒｏｌ  Ｄｒａｗｉｎｇ」、「Ｐａｒａｍｅｔｅｒ  Ｓｅｔｔｉｎｇ」、「Ｎａｒｒａｔｉｖｅ」、「Ａｐｐｌｉｃａｂｌｅ  Ｌｉｓｔ」を列挙する。
【０１３２】
ドキュメント・レイアウト構成コンポーネント４１８は、本発明の幾つかの実施形態に従うレイアウト・ウィンドウ４７２上の選択ツール４７６を含む。選択ツール４７６は、当該ユーザ入力に基づいてレイアウト４１９を再配置するためのドラッグ・アンド・ドロップ機能である。選択ツール４７６は、当該ユーザ入力に基づいて含まれるかまたは排除される、ヘッダまたは識別子４７４ごとに提供されるチェックボックスである。
【０１３３】
プラント・ドキュメント生成コンポーネント４２０
エディタ・ツール４００はプラント・ドキュメント生成コンポーネント４２０を備える。プラント・ドキュメント生成コンポーネント４２０は、仕様、命令マニュアル、制御ロジック定義のようなプラント・ドキュメント５３０を生成するように構成される。プラント・ドキュメント生成コンポーネント４２０は、定義モジュール３００、アプリケーション・モジュール４４０、リンク４１６およびレイアウト４１９をデータベース４３０から取り出す。プラント・ドキュメント生成コンポーネント４２０は、制御ロジック定義３２２、リンク４１６、４１７およびレイアウト４１９を適用して、プラント・ドキュメント５３０を生成する。生成されたプラント・ドキュメント５３０はデータベース４３０に格納される。
【０１３４】
説明のための１例を用いると、プラント・ドキュメント生成コンポーネント４２０は、機器２１０に対して、パーツ２２０、２２２、２２４、２２６、２２８、リンク４１６、４１７およびレイアウト４１９に対する格納された定義モジュール３００、アプリケーション・モジュール４４０、４４２、４４４、４４６、４４８を取り出す。プラント・ドキュメント生成コンポーネント４２０は、制御ロジック定義３２２、リンク４１６、４１７およびレイアウト４１９に基づいてプラント・ドキュメント５３０を生成する。
【０１３５】
図７Ｄはプラント・ドキュメント５３０の例示的なコンテンツ・テーブル４８０である。コンテンツ・リスト４８２は、定義モジュール３００および関連するリンク４１６、４１７、レイアウト４１９に基づいて生成される。コンテンツ・リスト４８４は、アプリケーション・モジュール４４０、関連するリンク４１６、４１７、およびレイアウト４１９に基づいて生成される。コンテンツ・リスト４８６は、アプリケーション・モジュール４４２および関連するリンク４１６、４１７、レイアウト４１９に基づいて生成される。
【０１３６】
プラント・ドキュメント５３０は制御ロジック定義３２２に基づいて生成されるので、プラント・ドキュメント５３０は制御ロジック定義３２２と一貫する。プラント・ドキュメント５３０は本発明により自動的に生成される。プラント・ドキュメント５３０により、プロセス２３２、制御ロジック２０６、パラメータ設定３２４、アラーム設定３２５のような産業プラント２３０の設計データ２３４における任意の変更に対してプラント・ドキュメント５３０を生成し更新する効率と正確性が向上する。向上した正確性により、産業プラント２３０の設定または構成を理解するために使用されるとき、プラント・ドキュメント５３０の信頼性が向上する。
【０１３７】
さらに、異なる制御ロジックまたは原材料の異なる組成に関する複数のプラント・ドキュメント５３０は、その差異が定義モジュール３００またはアプリケーション・モジュール４４０で更新されるとき、好都合かつ効率的に生成される。本発明を利用するとき、当該差異を理解しプラント・ドキュメント５３０を生成するために必要なマンパワー、時間、および工数は非常に少ない。プラント・ドキュメント５３０の準備、保守、および更新に必要な時間とコストは少ない。
【０１３８】
産業プラント２３０に対するプロセス制御システム２００の実装では、ドキュメント・データ３３２はプロセス制御システム２００の仕様に基づいて準備される。ドキュメント・データ３３２は次いで、制御データ５１０に変換され、複数の機能ブロック２０５、２０７にカプセル化される。次いで、産業プラント２３０が仕様に従って実施することを保証するためのテストを行う。複数のプラント・ドキュメント５３０は、ドキュメント・データ３３２からテスト・データまで、産業プラント２３０の異なる態様に対して準備される。しばしば、情報またはデータが関連し、または、複製すらされる。本発明は、関連するデータとプラント・ドキュメント５３０が任意の変更に対して自動的に更新されるように、リンク４１６を生成する。これにより、プロセス制御システム２００の準備、保守、および更新の効率が向上する。
【０１３９】
パーツ修正コンポーネント４２２
プロセス制御システム２００の準備または保守の間にテスト動作が行われる。当該テスト動作の間、制御ロジック２０６からの生成物を改良するために産業プラント２３０が変更される。かかる変更の例には、パーツ機器２１０、サブパーツ・フィールド装置２０２、２０４および他の任意の関連するパーツ関連情報のパラメータ設定３２４がある。テスト動作の間の生成物を改良する以外に、同じ変更に関する他の理由には、産業プラント２３０の仕様変更や修正すべき誤りがある。
【０１４０】
エディタ・ツール４００は、パラメータ設定３２４のようなパーツ機器２１０、サブパーツ・フィールド装置２０２、２０４のパーツ関連情報を修正するように構成されたパーツ修正コンポーネント４２２を備える。モジュール生成コンポーネント４１２は、パーツ修正コンポーネント４２２が当該パーツ関連情報を修正したときに、定義モジュール３００およびアプリケーション・モジュール４４０の対応する情報を自動的に更新する。モジュール生成コンポーネント４１２は、入力またはスケジュールのような所定のルールに基づいて、構成された機能を実施するように起動される。所定の入力の例には、入力装置１２００を用いて、モジュール生成コンポーネント４１２を起動するユーザ入力がある。
【０１４１】
エディタ・ツール４００はアプリケーション・モジュール４４０を生成マネージャ５００に送信して、制御ロジック定義３２２、アラーム定義３２６内の制御ロジック２０６をロジック制御データ５１２に変換する。リンク４１７はまた、リンク制御データ５１４に送信され変換される。プロセス制御システム２００は、リンク制御データ５１４に基づいて、プロセス２３２を制御するためにコントローラ２１２内で実行すべきロジック制御データ５１２を決定する。
【０１４２】
マス・エディタ・コンポーネント４２４
エディタ・ツール４００はマス・エディタ・コンポーネント４２４を含む。マス・エディタ・コンポーネント４２４は、全ての関連するモジュールまたはファイルにおけるパラメータ変更を更新する。マス・エディタ・コンポーネント４２４は、エディタ・ツール４００内の任意のエディタまたは構成コンポーネントで起動されるように構成される。
【０１４３】
１例では、マス・エディタ・コンポーネント４２４は、モジュール生成コンポーネント４１２内の制御ロジック・エディタで起動される。マス・エディタ・コンポーネント４２４は、データベース４３０から、当該制御ロジック・エディタにより編集可能な全てのファイルとモジュールを特定する。マス・エディタ・コンポーネント４２４は、本発明の幾つかの実施形態に従う、ユーザ選択のための当該識別されたファイルおよびモジュールのリストを提供する。
【０１４４】
当該識別されたまたは選択されたファイルおよびモジュールは次いで、ユーザまたは別のツールによる並列な編集のために、データベース４３０からチェックアウトされるかまたはロックされる。これにより、ファイルとモジュールのデータ整合性が維持される。チェックアウトされたファイルとモジュール内のパラメータは、参照と編集のために出力ファイル内に生成される。幾つかの実施形態では、出力されたファイルは、当該制御ロジック・エディタに対する所定のデータ・グリッド・フォーマットに基づくデータ・グリッドである。当該データ・グリッド内のセルは、本発明の幾つかの実施形態に従う編集可能セルと読取専用セルに区別される。
【０１４５】
パラメータ変更のための入力がマス・エディタ・コンポーネント４２４により受け取られる。マス・エディタ・コンポーネント４２４は、出力ファイル内の関連パラメータを決定し、それに応じて関連するパラメータを更新する。
【０１４６】
出力ファイルがデータ・グリッドである実施形態では、マス・エディタ・コンポーネント４２４はさらにグリッド・ルール・コンポーネント４２６を備える。グリッド・ルール・コンポーネント４２６は、パラメータ変更に関する論理条件と当該論理条件が満たされたときに当該データ・グリッド内の関連パラメータを更新するための対応する動作とを有する、グリッド・ルールを定義するように構成される。グリッド・ルールの例示的な使用は、「ＡＢＣ＃＃＃」で開始し「ＸＹＺ＃＃＃」までの、タグのタイプに関するタグの名前付け規則を変更することである。マス・エディタ・コンポーネント４２４は、タグ識別子が「ＡＢＣ」で開始するとき、論理条件を満たすタグ識別子を検索するための定義されたグリッド・ルールを使用する。マス・エディタ・コンポーネント４２４は、対応する動作を実施して、検索されたタグ識別子において「ＡＢＣ」を「ＸＹＺ」で置き換える。
【０１４７】
マス・エディタ・コンポーネント４２４は、識別されたファイルおよびモジュールのチェックインまたはロック解除の前に、関連するパラメータ内のパラメータ変更および更新が有効かどうかを判定する。
【０１４８】
定義されたグリッド・ルールは、他のマス・エディタ・コンポーネント４２４による再利用のためにリポジトリ１３００に格納される。マス・エディタ・コンポーネント４２４は、本発明の幾つかの実施形態に従う、直接的な使用または使用前の修正のために、定義されたルールを当該リポジトリからインポートする。
【０１４９】
マス・エディタ・コンポーネント４２４は、パラメータ値の更新または名前付け規則の変更のようなバルク・データまたは大量データの変更の効率、柔軟性および信頼性を高める。バルク・データ変更に関する従来のシステムでは、全てのファイルがフィルタまたは選択のために列挙され、次いで、フィルタされたファイルの詳細がさらにフィルタまたは選択される。当該詳細からフィルタされたデータは、エクスポートされたファイルを置き換えるためにインポートされる前に当該変更に影響を及ぼすために、Ｍｉｃｒｏｓｏｆｔ  Ｅｘｃｅｌ（登録商標）またはカンマ区切り（．ＣＳＶ）ファイルのようなスプレッド・シートにエクスポートされる。インポートされたファイルが読み取られるとき、データ障害をもたらしうる変更に対する有効性チェックはない。当該データ障害の原因を決定し修正するためにリソースが失われる。さらに、フィルタされたデータがエクスポートされるとき、複数のエクスポートを異なるユーザまたは別のツールにより同時に行うことができる。変更が当該データの所望のバージョンに影響を及ぼしていないかもしれないときは、データ整合性が欠けているかもしれない。
【０１５０】
方法の発明
図８Ａは、ステップＳ８０２で選択された機器２１０の仕様２３４に基づいて、エディタ・ツール４００を用いてプロセス制御システム２００をセットアップまたは構成するためのワークフロー８００である。ステップＳ８０４で、機器２１０の定義モジュール３０１を識別する。定義モジュール３０１は、入れ子レベルのない定義モジュール３００または複数の入れ子レベルを有する定義モジュール３０１であると識別される。定義モジュール３０１は、モジュール生成コンポーネント４１２を用いて準備されるか、または、エディタ・ツール４００内の検索機能を用いてデータベース４３０から検索される。
【０１５１】
ステップＳ８０６では、仕様２３４に従って定義モジュール３０１を修正する。定義モジュール３０１内のプロパティ・ファイル３１０、制御ロジック定義ファイル３２０、ドキュメント定義ファイル３３１は仕様２３４に基づいて修正される。
【０１５２】
ステップＳ８０８で、新たな定義モジュール３００が必要であり、かつ、必要なとき追加されるかどうかを判定する。廃止モジュール３００は、定義モジュール３０１が複数の定義モジュール３００を含むときに決定され削除される。廃止定義モジュール３００は、仕様２３４に基づいて適用可能でなく有効でもないものである。
【０１５３】
ステップＳ８１０で、定義モジュール３０１が入れ子式のモジュール３０２、３０４、３０６を含むとき、任意の変更が入れ子式のモジュール３０２、３０４、３０６に行われたかどうかを判定する。ステップＳ８０６とＳ８０８を、仕様２３４に基づいて変更される入れ子式のモジュール３０２、３０４、３０６ごとに繰り返す。
【０１５４】
ステップＳ８１２で、本発明の幾つかの実施形態に従う、更新された定義モジュール３０１を格納する。ステップＳ８１２で、本発明の幾つかの実施形態に従う対応するアプリケーション・モジュール４４０、４４２、４４４、４４６、４４８を生成する。次いで、更新された定義モジュール３０１とその対応するアプリケーション・モジュール４４０、４４２、４４４、４４６、４４８のうち少なくとも１つがデータベース４３０に格納される。
【０１５５】
ステップ８２０で、エディタ・ツール４００がアプリケーション・モジュール４４０、４４２、４４４、４４６、４４８をデータベース４３０から取り出し、アプリケーション・モジュール４４０、４４２、４４４、４４６、４４８を生成マネージャ７００に送信する。生成マネージャ７００は、プロセス制御システム２００に対するアプリケーション・モジュール４４０、４４２、４４４、４４６、４４８に基づいて制御データ５１０を準備する。特に、制御データ５１０が当該プロセス制御システムの機能ブロック２０５、２０７に対して準備される。
【０１５６】
ステップ８３０で、エディタ・ツール４００は入力装置１２００およびプラント・ドキュメント生成コンポーネント４２０からのユーザ入力に基づき、プラント・ドキュメント５３０をアプリケーション・モジュール４４０から生成する。
【０１５７】
図８Ｂは、本発明の幾つかの実施形態に従う、マス・エディタ・コンポーネント４２４を使用するための例示的なワークフロー８５０である。
【０１５８】
ステップＳ８５２で、マス・エディタ・コンポーネント４２４をモジュール生成コンポーネント４１２内の制御ロジック・エディタで起動する。マス・エディタ・コンポーネント４２４は、データベース４３０から、当該制御ロジック・エディタにより編集可能な全てのファイルとモジュールを特定する。マス・エディタ・コンポーネント４２４は、本発明の幾つかの実施形態に従う、ユーザ選択のための識別されたファイルおよびモジュールのリストを提供する。
【０１５９】
ステップＳ８５４で、当該識別または選択されたファイルおよびモジュールがデータベース４３０からチェックアウトされる。チェックアウトされたファイルとモジュール内のパラメータは、当該制御ロジック・エディタに対する所定のデータ・グリッド・フォーマットに基づいてデータ・グリッドで生成される。当該データ・グリッド内のセルは、本発明の幾つかの実施形態に従う編集可能なセルおよび読取専用のセルに区別される。
【０１６０】
ステップＳ８５６で、パラメータ変更の入力がマス・エディタ・コンポーネント４２４により受信される。マス・エディタ・コンポーネント４２４は、データ・グリッド内の関連パラメータを決定し、それに応じて当該関連パラメータを更新する。ステップＳ８５７は、論理条件と当該論理条件が満たされたときの対応する動作とを伴うグリッド・ルールをインポートまたは定義するための代替的なステップである。
【０１６１】
ステップＳ８５８で、マス・エディタ・コンポーネント４２４は、識別されたファイルおよびモジュールのチェックインまたはロック解除の前に関連パラメータのパラメータ変更と更新が有効であるかどうかを判定する。識別されたファイルのチェックインまたはロック解除はステップＳ８５９で行われる。
【０１６２】
有利なことに、本発明では、仕様２３４を基礎とする任意のプロセス制御システム２００の制御データを準備する容易性が向上する。さらに、プラント・ドキュメント５３０は、ドキュメント定義ファイル３３１、添付ファイル３４０が仕様２３４に基づいて更新されるとき、少ない工数で生成される。これにより、修正ごとの制御データ５１０およびプラント・ドキュメント５３０、産業プラント２３０の変更または保守を準備し生成するためのマンパワーのコストが減る。さらに、データベース４３０は異なる産業プラント２３０に使用でき、したがって、新たなプロセス２３２または新たな産業プラント２３０に対してプロセス制御システム２００を修正、セットアップ、または構成するための効率を高める。
【０１６３】
制御ロジック定義３２２が機密である状況では、当該機密なアプリケーション・モジュール４４０は、異なる産業プラント２３０では利用できない。しかし、定義モジュール３００が機密であるとき、定義モジュール３００はアプリケーション・モジュール４４０に対して利用可能であり、逆も成り立つ。
【０１６４】
システム構成
図９は、本発明の幾つかの実施形態に従うプロセス制御のためのシステム構成９００である。フィールド装置２０２、２０４はフィールド・ネットワーク１０６に接続される。フィールド装置２０２、２０４は、入出力（Ｉ／Ｏ）ユニットを通じて制御ネットワーク１１０内のコントローラ２１２に接続される。エディタ・ツール４００は、上述の定義モジュール３００を準備するために制御ネットワーク１１０レベルで構成される。制御ネットワーク１１０は、一般的な通信機能を取り込み高信頼、リアルタイム、かつ安定な通信を可能とするプロセス制御システムに適している。当該制御ネットワークの例には、汎用目的の通信にＩＰインターネット・プロトコルを使用しＩＥＣ  ６１７８４−２で定義されたリアルタイムＥｔｈｅｒｎｅｔ（ＲＴＥ）通信プロファイルのＣＰＦ−１０に従うＶｎｅｔ／ＩＰがある。
【０１６５】
図１０は、前述のリポジトリ１３００のシステム実施形態を示す。リポジトリ１３００は、モジュール・リポジトリ１３０２、プロセス・テンプレート・リポジトリ１３０４、ＨＭＩパーツ・リポジトリ１３０６および内部データ・リポジトリ１３１４を備える。これらのリポジトリ１３０２、１３０４、１３０６および１３１４の各々が、異なるデータベースもしくはデータ記憶ユニットを含んでもよく、または、１つまたは複数の一時的または非一時的な記憶装置内のパーティションとして含めてもよい。
【０１６６】
モジュール・リポジトリ１３０２は定義モジュール３００のための記憶リポジトリを備える。上述のように、各定義モジュール３００が、プロセス制御システムのパーツまたはコンポーネントを制御するためのプロパティ定義、制御ロジック定義、データ定義および調節パラメータのうち１つまたは複数を含んでもよい。モジュール・リポジトリ１３０２内に格納された定義モジュール３００内の夫々のプロパティ定義、制御ロジック定義、データ定義または調節パラメータを、プロセス制御システム内の特定のパーツまたはコンポーネント・タイプを制御するか、または、特定のプロセス条件または動作条件に応じてパーツまたはコンポーネント・タイプの振舞いを制御するように構成してもよい。本発明の１実施形態では、モジュール・リポジトリ１３０２内の定義モジュール３００の少なくとも１つは、その夫々のプロパティ定義、制御ロジック定義、データ定義および調節パラメータのうち１つまたは複数の点でモジュール・リポジトリ１３０２内の少なくとも１つの他の定義モジュール３００とは異なる。より特定の実施形態では、モジュール・リポジトリ１３０２内の各定義モジュール３００は、プロパティ定義、制御ロジック定義、データ定義または調節パラメータのうち少なくとも１つの点で他の定義モジュール３００とは異なる。特定の定義モジュール３００を、当該プロセス制御システム内の特定のパーツまたはコンポーネントを制御するためのモジュール・リポジトリ３００から選択してもよい。
【０１６７】
本発明の１実施形態では、モジュール・リポジトリ１３０２に格納された各定義モジュール３００を暗号化し、さらに、それに割り当てられた一意な識別子およびバージョン番号のうち少なくとも１つを有してもよい。各定義モジュール３００に、モジュール・リポジトリ１３０２に追加する際に一意な識別子を割り当ててもよく、当該一意な識別子はその後に当該定義モジュールと永続的に関連付られる。さらに、モジュール・リポジトリ１３０２内の各定義モジュールにバージョン番号を割り当ててもよく、当該バージョン番号を、当該定義モジュールの修正または変更に応答して増加または変更してもよい。
【０１６８】
プロセス・テンプレート・リポジトリ１３０４は、複数のプロセス・テンプレートの記憶リポジトリを含む。本発明に従うプロセス・テンプレートは、産業プラント内のコンポーネントのサブシステムまたはサブセットの動作を制御するためのテンプレート化された処理データまたは処理命令を含む。本発明の１実施形態では、コンポーネントのサブシステムまたはサブセットが複数のパーツまたはコンポーネントを含んでもよい。具体的な実施形態では、プロセス・テンプレートを特に、当該産業プラント内のユニット、サブシステムまたはサブプロセスのうち１つまたは複数を制御するように構成してもよく、さらに詳細には、所定の動作条件に応じて１つまたは複数のユニット、サブシステムまたはサブプロセスを制御するように構成してもよい。
【０１６９】
プロセス・テンプレートおよび産業プラント・サブシステムの関係を説明することを目的として、図１１は産業プラント１１０２内の例示的な電力プラント・サブシステム１１０４を示す。電力プラント・サブシステム１１０４は、サブユニット１１０８、１１１０および１１１２、ボイラ１１１４、発電機１１１６、タービン１１１８および冷却器１１２０を有する炉１１０６を備える。本発明の１実施形態では、電力プラント・サブシステム１１０４を制御するように構成されたプロセス・テンプレートが、当該電力プラント・サブシステムと関連して示されたコンポーネント１１０６乃至１１２０のうち１つまたは複数を制御するように構成された制御ロジック定義を含んでもよい。
【０１７０】
本発明の１実施形態では、プロセス・テンプレートは、モジュール・リポジトリ１３０２から取り出した、または、モジュール・リポジトリ１３０２に格納された、１つまたは複数の定義モジュール３００を含んでもよい。別の実施形態では、プロセス・テンプレートを、モジュール・リポジトリ１３０２から取り出した複数の定義モジュール３００に基づいて生成してもよい。
【０１７１】
ＨＭＩパーツ・リポジトリ１３０６は、グラフィック・ウィンドウ・テンプレート１３０８の記憶リポジトリ、リンク・パーツ１３１０の記憶リポジトリ、およびカスタム・フェースプレート１３１２の記憶リポジトリを備える。
【０１７２】
グラフィック・ウィンドウ・テンプレート１３０８に対する記憶リポジトリは、プロセス制御システム内で実装するための１つまたは複数のテンプレートＨＭＩスクリーンを備える。本発明の１実施形態では、グラフィック・ウィンドウ・テンプレート１３０８に対するリポジトリ内に格納されたテンプレートＨＭＩスクリーンを特に、または、一意に、プロセス制御システム内で実装可能な１つまたは複数のプロセスと関連付けてもよい。
【０１７３】
リンク・パーツ１３１０の記憶リポジトリは、プロセス制御システム内での実装のためのＨＭＩスクリーンを設計または生成するために選択できる複数のＨＭＩサブコンポーネントを備える。本発明の１実施形態では、リンク・パーツ１３１０の記憶リポジトリ内のリンク・パーツが１組の関連付けられたプロパティを含む。当該関連付けられたプロパティは、プロセス制御システム内で実装される当該リンク・パーツの各インスタンスにより共有される。リンク・パーツに関連付けられた任意のプロパティの修正または変更は、当該プロセス制御システム内のかかるリンク・パーツの実装された各インスタンスに伝達され、その中で実装される。
【０１７４】
カスタム・フェースプレート１３１２の記憶リポジトリは、プロセス制御システム内で実装するためのＨＭＩスクリーンを設計または生成するために選択できる複数のカスタム・フェースプレートを含む。カスタム・フェースプレートを、特に、または、一意に、モジュール・リポジトリ１３０２内に格納された特定の定義モジュール３００と関連付けてもよく、当該カスタム・フェースプレートを、関連付けられた定義モジュール３００が当該プロセス制御システム内で実装されたことに応答して、プロセス制御システム内で実装するためにリポジトリ１３１２から取り出してもよい。カスタム・フェースプレートが、（ｉ）当該関連付けられた定義モジュールの実装されたインスタンスが必要とするオペレータ入力を可能とするように特に構成された１つまたは複数の要素、または、（ｉｉ）ユーザまたはオペレータに、当該関連付けられた定義モジュールの実装されたインスタンスにより生成された出力を提供するために特に構成された１つまたは複数の要素を含んでもよい。
【０１７５】
内部データ・リポジトリ１３１４を、オペレータまたはユーザがリポジトリ１３００のコンテンツを検索、閲覧、および当該コンテンツへのアクセスを制御できるようにするための１つまたは複数の組のデータを含むように構成してもよい。
【０１７６】
内部データ・リポジトリ１３１４が、コンテンツ・データを閲覧オペレータまたはユーザに提供するように構成されたデータ・インデックスを備える、閲覧データ・インデックス１３１８を含んでもよい。閲覧データ・インデックス１３１８を、ユーザ、オペレータまたは作業に適したコンテンツの任意の提供を実現するように構成してもよい。例示的な実施形態では、閲覧データ・インデックス１３１８は、データをツリー構造で参照オペレータまたはユーザに提供するように構成される。
【０１７７】
内部データ・リポジトリ１３１４がさらに検索データ・インデックス１３２０を含んでもよい。検索データ・インデックス１３２０は、リポジトリ１３００内に格納された離散データ項目のプロパティを格納してもよい。離散データ項目のプロパティを、データ項目をリポジトリ１３００に追加するときに設定もしくは決定してもよく、または、外部ソースから当該リポジトリにアップロードしてもよい。例示的な実施形態では、検索データ・インデックス１３２０は、モジュール・リポジトリ１３０２内に格納された各定義モジュール３００と関連付けられたプロパティを含み、１つまたは複数の所望のまたはターゲットのプロパティを有する定義モジュールを求めてユーザまたはオペレータがモジュール・リポジトリ１３０２を検索できるようにする。
【０１７８】
内部データ・リポジトリ１３１４をさらに統計的データ１３２２を格納するように構成してもよい。当該統計的データは、データ・リポジトリ１３００の利用に関する情報を提供する。内部データ・リポジトリ１３１４内に格納された例示的な統計的データが、モジュール・リポジトリ１３０２に格納された１つまたは複数の定義モジュール３００、定義モジュール３００の検索の数と中身に関する統計的情報、特定の定義モジュール３００に関するアクセス要求とダウンロードに関する統計的情報、特定のデータ・アクセス要求またはデータ・ダウンロード要求に関連付けられたユーザに関する統計的情報、およびリポジトリ１３００に対する動作に関する他の記述的情報または統計的情報を含んでもよい。
【０１７９】
内部データ・リポジトリ１３１４がアクセス・コントロール・データ１３２４を含んでもよい。アクセス・コントロール・データ１３２４は、リポジトリ１３００内またはその中の任意のサブリポジトリ内に格納されたデータに関するユーザアクセス権および特権を定義する。
【０１８０】
図１０に示すように、リポジトリ１３０２をリポジトリ・コントローラ１３２６と通信可能に接続してもよい。
【０１８１】
図１２は、本発明の１実施形態に従うリポジトリ・コントローラ１３２６を示す。リポジトリ・コントローラ１３２６は、リポジトリ・アクセス・コントローラ１３２８、リポジトリ編集コントローラ１３３０およびインタフェース・コントローラ１３４８を備える。本発明の１実施形態では、リポジトリ・コントローラ１３２６を、１つまたは複数のプロセッサ１１００上または１つまたは複数のプロセッサ１１００内で部分的または全体的に実装してもよい。
【０１８２】
リポジトリ・アクセス・コントローラ１３２８は、リポジトリ１３００内に格納されたデータにユーザまたはオペレータがアクセスし、取り出せるように構成される。リポジトリ・アクセス・コントローラ１３２８を、定義モジュール・アクセス・コントロール１３３２、プロセス・テンプレート・アクセス・コントロール１３３４、ＨＭＩデータ・アクセス・コントロール１３３６および統計的データ・アクセス・コントロール１３３８を含むように構成してもよい。
【０１８３】
定義モジュール・アクセス・コントロール１３３２を、モジュール・リポジトリ１３０２と通信可能にインタフェースし、ユーザまたはオペレータが、モジュール・リポジトリ１３０２内に格納された１つまたは複数の定義モジュール３００を参照、アクセス、または取り出せるように構成してもよい。定義モジュール・アクセス・コントロール１３３２を、ユーザ入力により受信された１つまたは複数のコンポーネント・プロパティに基づいて、ユーザが１つまたは複数の定義モジュールを参照、アクセス、または取り出せるように構成してもよい。上述の本発明の諸実施形態にしたがって、定義モジュール・アクセス・コントロール１３３２を介してモジュール・リポジトリ１３０２から取り出した定義モジュール３００を対応するアプリケーション・モジュール４４０としてインスタンス化してもよいことは理解されよう。
【０１８４】
同様に、プロセス・テンプレート・アクセス・コントロール１３３４を、プロセス・テンプレート・リポジトリ１３０４と通信可能にインタフェースし、ユーザまたはオペレータが、プロセス・テンプレート・リポジトリ１３０４内に格納された１つまたは複数のプロセス・テンプレートを参照、アクセス、または取り出せるように構成してもよい。プロセス・テンプレート・アクセス・コントロール１３３４を、ユーザ入力により受信した１つまたは複数のコンポーネント・プロパティまたはサブシステム・プロパティに基づいて、ユーザが１つまたは複数のプロセス・テンプレートを参照、アクセス、または取り出せるように構成してもよい。続いて、プロセス・テンプレート・リポジトリ１３０４からプロセス・テンプレート・アクセス・コントロール１３３４を通じて取り出したプロセス・テンプレートを、産業プラント内の１つまたは複数のサブシステムを制御するための制御ロジック（またはバイナリ制御ロジック）を生成するためにインスタンス化してもよい。
【０１８５】
ＨＭＩデータ・アクセス・コントロール１３３６を、ＨＭＩパーツ・リポジトリ１３０６と通信可能にインタフェースし、ユーザまたはオペレータが、ＨＭＩパーツ・リポジトリ１３０６内に格納された１つまたは複数のＨＭＩパーツを参照、アクセス、または取り出せるように構成してもよい。ＨＭＩデータ・アクセス・コントロール１３３６を、ユーザ入力により受信された１つまたは複数のＨＭＩプロパティに基づいて１つまたは複数のＨＭＩパーツをユーザが参照、アクセス、または取り出せるように構成してもよい。続いて、ＨＭＩパーツ・リポジトリ１３０６からＨＭＩデータ・アクセス・コントロール１３３６を通じて取り出したＨＭＩパーツを、産業プラント内の１つまたは複数のパーツまたはサブシステムを制御するための１つまたは複数のヒューマン・マシン・インタフェースを生成するために使用してもよい。
【０１８６】
統計的データ・アクセス・コントロール１３３８を、内部データ・リポジトリ１３１４と通信可能にインタフェースし、ユーザまたはオペレータが、内部データ・リポジトリ１３１４内に格納された統計的データを参照、アクセス、または取り出せるように構成してもよい。
【０１８７】
リポジトリ編集コントローラ１３３０は、ユーザまたはオペレータによるリポジトリ１３００内に格納されたデータの修正を可能とするように構成される。リポジトリ編集コントローラ１３３０を、定義モジュール編集コントロール１３４０、プロセス・テンプレート編集コントロール１３４２、一意なＩＤコントロール１３４４、およびバージョン・コントロール１３４６を含むように構成してもよい。
【０１８８】
定義モジュール編集コントロール１３４０を、モジュール・リポジトリ１３０２と通信可能にインタフェースし、ユーザまたはオペレータが、定義モジュール３００をモジュール・リポジトリ１３０２に追加するか、または、モジュール・リポジトリ１３０２内の既存の定義モジュール３００の新たなバージョンを修正もしくは作成できるように構成してもよい。本発明の１実施形態では、定義モジュール編集コントロール１３４０は、ユーザまたはオペレータが、（ｉ）情報をアプリケーション・モジュール４４０から抽出して当該抽出された情報に基づいて定義モジュール３００を生成するか、または、（ｉｉ）産業システム内のコンポーネントを制御するために実装されたバイナリ制御ロジックから情報を抽出することによって、定義モジュール３００をモジュール・リポジトリ１３０２に追加できるようにする。１実施形態では、当該抽出された情報は制御ロジック、プロパティ定義または調節パラメータのうち少なくとも１つを含んでもよい。
【０１８９】
同様に、プロセス・テンプレート編集コントロール１３４２を、プロセス・テンプレート・リポジトリ１３０４と通信可能にインタフェースし、ユーザまたはオペレータが、プロセス・テンプレートをプロセス・テンプレート・リポジトリ１３０４に追加するための入力を提供するか、または、プロセス・テンプレート・リポジトリ１３０４内の既存のプロセス・テンプレートの新たなバージョンを修正もしくは作成できるように構成してもよい。本発明の１実施形態では、プロセス・テンプレート編集コントロール１３４２は、ユーザまたはオペレータが、制御プロセッサの実装されたインスタンスからの情報を制御プロセス内で実装されたバイナリ制御ロジックから抽出することによって、プロセス・テンプレートをプロセス・テンプレート・リポジトリ１３０４に追加できるようにする。
【０１９０】
一意なＩＤコントロール１３４４は、モジュール・リポジトリ１３０２に追加された新たな定義モジュール３００またはプロセス・テンプレートごとに一意な識別子を生成し、割り当てる。バージョン・コントロール１３４６は、既存の定義モジュール３００またはプロセス・テンプレートのそれぞれの修正または変更されたバージョンに対応するバージョン番号を生成する。当該生成された一意な識別子およびバージョン番号を、リポジトリ１３００内に格納されたデータの論理アクセス、検索、または取出しに使用してもよい。
【０１９１】
インタフェース・コントローラ１３４８は、以前に定義モジュール３００またはプロセス・テンプレートをモジュール・リポジトリ１３０２からダウンロードするかまたは他の任意のデータをリポジトリ１３００からダウンロードしたユーザまたはオペレータに当該定義モジュールまたはデータの更新（または新たなバージョン）を通知するように、ユーザ・インタフェースを提供または制御するように構成される。インタフェース・コントローラはさらに、ユーザまたはオペレータが、ダウンロードされた定義モジュールまたはダウンロードされたデータの更新または新たなバージョンを、例えば、アクセスリンクを当該更新に提供することによって、または、更新された定義モジュールまたはデータのコピーを転送することによって、参照、アクセス、または取り出せるようにしてもよい。
【０１９２】
リポジトリ・コントローラ１３２６がさらに、リポジトリ１３００へのアクセスを可能または制限するためのコントロール、ユーザまたはオペレータがリポジトリ１３００内に格納されたデータに関連付けられたアクセス権を指定できるようにするためのコントロール、ユーザがリポジトリ１３００内のインデックス・データ１３１６を通じてアクセスし検索できるようにするためのコントロール、制御ロジックまたは修正された制御ロジックをバイナリ制御ロジックに変換するためのコントロールまたはコンバータ、および、産業プラント内で実装するために、産業プラント内のパーツまたはコンポーネントにバイナリ制御ロジックを送信、アップロード、もしくは配送するためのコントロールを含む、他のコントロールを含んでもよいことはさらに理解されよう。
【０１９３】
本発明の１実施形態では、リポジトリ・コントローラ１３２６を、１つまたは複数の入力装置１２００および／またはディスプレイ装置１４００と通信可能に接続して、ユーザまたはオペレータがリポジトリ・コントローラ１３２６とインタフェースできるようにしてもよい。
【０１９４】
リポジトリ記憶と抽出の方法
図１３Ａは、定義モジュール・ファイル３００が生成されリポジトリ１３００内に格納される本発明の１実施形態を表すワークフローである。
【０１９５】
ステップ１３０２Ａは、産業プラント２３０の特定のパーツ（例えば、パーツ２２０、２２２、２２４、２２６、または２２８）内の入出力を制御するための制御ロジック２０６を含む定義モジュール３００を生成するステップを含む。１実施形態では、制御ロジック２０６は、特定のパーツ内の第１のフィールド装置２０２（例えば、センサ）から受信した入力信号を処理するための第１の制御ロジック（または第１の機能ブロック２０５）、および、特定のパーツ内の第２のフィールド装置２０４（例えば、バルブ）の出力または振舞いを制御するための第２の制御ロジック（または第２の機能ブロック２０７）を含んでもよい。
【０１９６】
ステップ１３０４Ａは、場合によっては、定義モジュール・ファイル３００内に、定義モジュール３００内に含まれた制御ロジックに関連付けられたプロパティ、調節パラメータ、およびデータ定義のうち１つまたは複数を含めるステップを含む。
【０１９７】
その後、ステップ１３０６Ａが、生成された定義モジュール３００をリポジトリ１３００内に格納するステップを含む。
【０１９８】
図１３Ｂは、本発明の１実施形態を表すワークフローであり、定義モジュール３００はリポジトリ１３００から取り出され、産業プラント２３０内の特定のパーツ（例えば、パーツ２２０、２２２、２２４、２２６、または２２８）を制御するためのアプリケーション・モジュール４４０としてインスタンス化される。
【０１９９】
ステップ１３０２Ｂは、特定のパーツを制御するのに適した格納された定義モジュール３００を特定するためにリポジトリ１３００のコンテンツを検索または閲覧するステップを含む。定義モジュール３００は、特定のパーツ内の入出力機能を制御するための必要なまたは所望の制御ロジック２０６を含むと判定したことに応答して、適切であると特定される。１実施形態では、定義モジュール３００を、その中の制御ロジック２０６が、特定のパーツ内の第１のフィールド装置２０２（例えば、センサ）から受信した入力信号を処理するための第１の制御ロジック（または第１の機能ブロック２０５）および特定のパーツ内の第２のフィールド装置２０４（例えば、バルブ）の出力または振舞いを制御するための第２の制御ロジック（または第２の機能ブロック２０７）のうち１つまたは両方を含む場合に、特定のパーツ内の入出力機能を制御するのに適していると特定してもよい。
【０２００】
ステップ１３０４Ｂは、識別された定義モジュール・ファイル３００をリポジトリ１３００から取り出すステップと、取り出した定義モジュール３００に基づいてアプリケーション・モジュール４４０を生成するステップを含む。アプリケーション・モジュール４４０を生成するステップは、１つまたは複数の特定のパラメータを（定義モジュール３００から取り出した）制御ロジック２０６に割り当てるかまたは含めることによって、修正された制御ロジックを生成するステップを含む。１つまたは複数の特定のパラメータは、識別され取り出された定義モジュール３００には含まれていない。１実施形態では、当該１つまたは複数の特定のパラメータを、制御すべき特定のパーツに関連付られた設計データまたは設計仕様に基づいて選択してもよい。
【０２０１】
その後、ステップ１３０６Ｂは、当該修正された制御ロジックをバイナリ制御データに変換するステップと、産業プラント内で制御するための特定のパーツに関連付られるかまたは当該パーツ内に配置された１つまたは複数のコントローラに当該バイナリ制御データを送信、アップロード、または適用するステップを含む。図１４は、本発明のシステム１０００構成のブロック図である。システム１０００はコンピュータの一部であるプロセッサ１１００を備える。プロセッサ１１００は、入力装置１２００、記憶部１３００、ディスプレイ１４００、出力または送信装置１５００と通信する。入力装置１２００、記憶部１３００、ディスプレイ１４００、出力または送信装置１５００は、本発明の幾つかの実施形態に従うプロセッサと同一のまたは別々のコンピュータである。
【０２０２】
エディタ・ツール４００および変換ツール５００は１つまたは複数のプロセッサ１１００内で実装される。
【０２０３】
入力装置１２００は、ユーザ入力を受信し、代替的なソース／サード・パーティからのインポートを入力するためのインタフェース装置である。入力装置１２００の例には、キーボード、マウス、タッチ・センシティブ・ディスプレイ・インタフェースのようなポインティング・デバイスがある。
【０２０４】
データベース４３０は、記憶部またはリポジトリ１３００内にあり、ランダム・アクセス・メモリ、読取専用メモリまたはハード・ディスク・ドライブのような一時的または非一時的メモリ記憶媒体である。当該メモリ記憶媒体は、機器２１０、パーツ２２０、２２２、２２４、２２６、２２８、サブパーツ・フィールド装置２０２、２０４、制御ロジック２０６、ネットワーク装置２０８を含むパーツ・ライブラリ４３１、定義モジュール３００、３０１、３０２、３０４、３０６、微分アプリケーション・モジュール４４０、４４２、４４４、４４６、４４８を含むモジュール・ライブラリ４３２、リンク・ライブラリ４３４のリンク４１６、４１７、レイアウト４１９のためのレイアウト・ライブラリ４３６、プラント・ドキュメント５３０のためのドキュメント・ライブラリ４３８、および上述の関連情報を格納する。
【０２０５】
データベース４３０は、タイプにより情報を格納するための複数のメモリ・コンポーネントを有する。有利なことに、これにより、要求された情報を取り出すためにエディタ・ツール４００内でコンポーネント４１０、４１２、４１４、４１８、４２０、４２２を構成する容易さが向上する。コンポーネント４１０、４１２、４１４、４１８、４２０、４２２を構成するステップは、上述の機能を実施するためにそれらを設定するステップを含む。さらに、格納された情報は、外部ツールのような他の任意の目的のために取り出すために適切である。
【０２０６】
本発明は説明した実施形態には限定されない。本発明は、代替物、修正および均等物を包含しようとするものであり、それらは、添付の特許請求の範囲により定義される本発明の趣旨と範囲に含まれうる。さらに、本発明を具体的な詳細なしに実施してもよいことは当業者には明らかであろう。当該具体的な詳細は、本発明の徹底的な理解を与えるために含めたものである。最後に、公知の方法、手続き、コンポーネント、および機能は、本発明の諸態様を不必要に不明瞭にしないために詳細には説明していない。
【符号の説明】
【０２０７】
１１００  プロセッサ
１２００  入力装置
１３００  記憶域
１４００  ディスプレイ
１５００  出力装置
１６００  変換器
【図１Ａ】
0006648493.tif 000003
【図１Ｂ】
0006648493.tif 000004
【図１Ｃ】
0006648493.tif 000005
【図２Ａ】
0006648493.tif 000006
【図２Ｂ】
0006648493.tif 000007
【図２Ｃ】
0006648493.tif 000008
【図３Ａ】
0006648493.tif 000009
【図３Ｂ】
0006648493.tif 000010
【図３Ｃ】
0006648493.tif 000011
【図４Ａ】
0006648493.tif 000012
【図４Ｂ】
0006648493.tif 000013
【図５】
0006648493.tif 000014
【図６Ａ】
0006648493.tif 000015
【図６Ｂ】
0006648493.tif 000016
【図６Ｃ】
0006648493.tif 000017
【図６Ｄ】
0006648493.tif 000018
【図７Ａ】
0006648493.tif 000019
【図７Ｂ】
0006648493.tif 000020
【図７Ｃ】
0006648493.tif 000021
【図７Ｄ】
0006648493.tif 000022
【図８Ａ】
0006648493.tif 000023
【図８Ｂ】
0006648493.tif 000024
【図９】
0006648493.tif 000025
【図１０】
0006648493.tif 000026
【図１１】
0006648493.tif 000027
【図１２】
0006648493.tif 000028
【図１３Ａ】
0006648493.tif 000029
【図１３Ｂ】
0006648493.tif 000030
【図１４】
0006648493.tif 000031