(57)【特許請求の範囲】
【請求項１】
リアルタイムのプロセス制御システム（１０）であって、動的データ参照（ＤＤＲ）モジュール（３０）を持つコンピュータ・システム（２００）と、前記ＤＤＲモジュールを介してアクセスできる複数の外部データ参照（３１１〜３１３および３１１’〜３１５’）と、複数の総称変数（３２０〜３２０”’）に対して演算を行うユーザ・アプリケーション（３００）を実行するための前記コンピュータ・システムと、前記外部データ参照を前記総称変数に動的に結合するシステム（４０）とを含むプロセス制御システムであり、前記総称変数の少なくとも一部に対する別名変数（４０５）を作成できるＤＤＲルーチン（４０）をユーザ・アプリケーション内に含み、前記別名変数が特定の外部データ参照（３１１〜３１３および３１１’〜３１５’）を識別するように適合されており、前記ユーザ・アプリケーションと前記外部参照の間のデータ通信を行わせるために特定の総称変数（３２０〜３２０”’）を前記特定の外部データ参照に結合するよう前記ＤＤＲモジュールに要求するために、前記ユーザ・アプリケーションが実行時に前記別名変数を用いることを特徴とするプロセス制御システム。
【請求項２】
前記ＤＤＲルーチン（４０）がさらにデータ変数（４００）の作成を可能にし、前記データ変数が特定の外部データ参照（３１１〜３１５）の値を含むように適合されている請求項１に記載のシステム。
【請求項３】
前記ＤＤＲルーチン（４０）がさらに外部参照状況変数（４１０）の作成を可能にし、前記外部参照状況変数が前記特定の総称変数（３２０〜３２０”’）と前記特定の外部データ参照（３１１〜３１５’）との間の結合の状況を含むように適合されていることを特徴とする請求項１または請求項２に記載のシステム。
【請求項４】
前記ＤＤＲルーチン（４０）が、再使用のために実行時決定結合を記憶することを特徴とする上記請求項のいずれか１項に記載のシステム。
【請求項５】
前記ＤＤＲルーチン（４０）が、前記ユーザ・アプリケーション（３００）のために現在有効な実行時決定結合の表示を記憶することを特徴とする上記請求項のいずれか１項に記載のシステム。
【請求項６】
前記ＤＤＲルーチン（４０）が、前記コンピュータ・システム（２００）上で実行する複数の別々のユーザ・アプリケーション（２３０〜２３０”）に関連付けられていることを特徴とする上記請求項のいずれか１項に記載のシステム。
【請求項７】
前記別名変数（４０５）がヌル値に設定されていることを特徴とする上記請求項のいずれか１項に記載のシステム。
【請求項８】
前記ヌル値の使用が前記別名変数（４０５）が使用可能であることを示すことを特徴とする請求項７に記載のシステム。
【請求項９】
前記外部データ参照（３１１〜３１５および３１１’〜３１５’）が前記プロセス制御システム（１０）のセンサおよび制御できる装置に対応することを特徴とする上記請求項のいずれか１項に記載のシステム。
【請求項１０】
データ・バスを介して前記コンピュータ・システム（２００）に連結されている複数のセンサおよび制御できる装置（３１１〜３１５’）を特徴とするシステムであって、前記複数のセンサおよび制御できる装置のそれぞれが、それらに関連付けられた対応の外部データ参照と前記コンピュータ・システム（２００）に関連付けられた動的データ参照（ＤＤＲ）モジュール（３０）とを持ち、前記ＤＤＲモジュールが前記コンピュータ・システムによる前記外部データ参照へのアクセスを可能にする、上記請求項のいずれか１項に記載のシステム。
【請求項１１】
動的データ参照（ＤＤＲ）モジュール（３０）を持つコンピュータ・システム（２００）を備えたリアルタイムのプロセス制御システム（１０）を操作する方法であって、前記ＤＤＲモジュールを介して複数の外部データ参照（３１１〜３１５および３１１’〜３１５’）がアクセス可能であり、前記コンピュータ・システムが複数の総称変数（３２０〜３２０”’）上でユーザ・アプリケーション（３００）を実行する、前記外部データ参照を前記総称変数に動的に結合するために前記コンピュータ・システムを操作する方法において、
前記ユーザ・アプリケーション内のＤＤＲルーチン（４０）を用いて前記総称変数（３２０〜３２０”’）の少なくとも一部に対して別名変数（４０５）を作成するステップであって、前記別名変数が特定の外部データ参照（３１１〜３１３および３１１’〜３１５’）を識別するように適合されているステップと、
前記ユーザ・アプリケーション（３００）と前記外部参照（３０５〜３０５’）の間のデータの通信を可能にするために特定の総称変数を前記特定の外部データ参照（３１１〜３１５）に結合するよう前記ＤＤＲモジュール（３０）に要求するために、前記ユーザ・アプリケーション（３００）が実行時に前記別名変数（４０５）を用いるステップと
を含むことを特徴とする方法。
【請求項１２】
データ変数（４００）を作成するステップを特徴とする方法であって、前記データ変数が特定の外部データ参照（３１１〜３１５’）の値を含むように適合されている請求項１１に記載の方法。
【請求項１３】
外部参照状況変数（４１０）を作成するステップを特徴とする方法であって、前記外部参照状況変数が前記特定の総称変数（３２０〜３２０”’）と前記特定の外部データ参照（３１１〜３１５’）との間の結合の状況を含むように適合されている請求項１１または１２に記載の方法。
【請求項１４】
再使用のために実行時決定結合を前記ＤＤＲインタフェース（４０）を用いて記憶するステップを特徴とする請求項１１ないし１３のいずれかの請求項に記載の方法。
【請求項１５】
前記ユーザ・アプリケーション（３００）のために現在有効な実行時決定結合の表示を前記ＤＤＲルーチン（４０）を用いて記憶するステップを特徴とする請求項１１ないし１４のいずれかの請求項に記載の方法。
【請求項１６】
前記ＤＤＲルーチン（４０）が、前記コンピュータ・システム（２００）上で実行する複数の別々のユーザ・アプリケーション（２３０〜２３０”）に関連付けられていることを特徴とする請求項１１ないし１５のいずれかの請求項に記載の方法。
【請求項１７】
前記別名変数（４０）をヌル値に設定するステップを特徴とする請求項１１ないし１６のいずれかの請求項に記載の方法。
【請求項１８】
前記別名変数（４０５）が前記ヌル値の関数として使用可能であることを示すステップを特徴とする請求項１１ないし１７のいずれかの請求項に記載の方法。
【請求項１９】
前記外部データ参照（３１１〜３１５および３１１’〜３１５’）が前記プロセス制御システムのセンサおよび制御できる装置に対応することを特徴とする請求項１１ないし１８のいずれかの請求項に記載の方法。
【発明の詳細な説明】
関連出願への相互参照
本発明は、１９８６年８月１９日にＨｅｎｚｅｌに発行された「Ｐｌａｎｔ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ」と題する米国特許第４，６０７，２５６号および１９９４年７月２６日にＢｌａｎｄ等に発行された「Ｓｙｓｔｅｍ  ｆｏｒ  Ｍａｋｉｎｇ  Ｄａｔａ  Ａｖａｉｌａｂｌｅ  ｔｏ  ａｎ  Ｏｕｔｓｉｄｅ  Ｓｏｆｔｗａｒｅ  Ｐａｃｋａｇｅ  ｂｙ  Ｕｔｉｌｉｚｉｎｇ  ａ  Ｄａｔａ  Ｆｉｌｅ  ｗｈｉｃｈ  Ｃｏｎｔａｉｎｓ  Ｓｏｕｒｃｅ  ａｎｄ  Ｄｅｓｔｉｎａｔｉｏｎ  Ｉｎｆｏｒｍａｔｉｏｎと題する米国特許第５，３３３，２９８号で開示された発明に関連する。これらの発明は、本発明と同一の譲受人に譲渡されており、あらゆる目的のために本明細書で引用されている。
発明の技術分野
本発明は、一般に計算システムおよび処理システムを対象とし、より具体的には、外部データ参照を使用する分散形プロセス制御システムにデータ・アクセスを行う計算システムおよび処理システムを対象とする。
発明の背景
自動化プラント制御システム（たとえば、アリゾナ州フェニックスのＨＯＮＥＹＷＥＬＬ社が製造販売しているＴＤＣ  ３０００  Ｉｎｄｕｓｔｒｉａｌ  Ａｕｔｏｍａｔｉｏｎ  Ｓｙｓｔｅｍｓ）は、たとえば、製造用設備内の様々なプロセスを制御し監視するためのアルゴリズムと補助機械の包括的なセットを含んでいる。自動化プラント制御システムは、グローバルに、または製造用設備の特定の部分内で、広範なプロセス要件を満たすように作ることができる。伝統的に自動化プラント制御システムは様々なモジュールを含み、各モジュールは独自のプロセッサやファームウェアを持ち、それらが通信バスによって相互に接続されて分散形プロセス制御システムを形成している。システムの分散性のおかげで、設備の拡大や変更に応じてシステムを漸次拡張する可能性を保ちながら、高性能を実現することができる。
自動化プラント管理の第１の目的は、全プロセスの制御を工場全体で統合する制御方式を提供し、それによって設備の全体的な能率を向上させることである。この目的に関連して、米国特許第４，６０７，２５６号（「特許’２５６」）は、システム内での通信およびプラント内での関連プロセス管理も含めて、工業プラントや電力事業プラントを監視・制御するための全工場規模のシステムを提供している。より具体的には、プラント管理システムは、様々なタイプの別々のモジュールを用いた「トークン・パッシング」配置を組み込んでいる。共通のバス上にある１つのモジュールと別のモジュールとの間で情報の送受信が行われる。各モジュールはネットワーク内で一つのピアとして機能し、個別のネットワーク・アドレスを割り当てられている。モジュール間を通るトークンは、トークンを所有するモジュールに対して、バスにアクセスし、そのバス上にある別のモジュールのアドレスに信号を送信する権利を与える。特許’２５６で開示されているような自動化制御システムは、当技術分野においてよく知られている。
自動化プラント管理の第２の目的は、様々なプラント・プロセス機能を実行する各種アプリケーションからの様々なデータ・ソースのために共通の通信インタフェースを提供する制御方式をサポートすることである。この目的に関連して、米国特許第５，３３３，２９８号（「特許’２９８」）は、総称データ交換（「ＧＤＸ」）を伴うデータ転送方法を提供している。特許’２９８は、様々なあらかじめ定められた周辺装置と通信を行うコンピュータ・システムを用いた制御方式を提供している。より具体的には、このような通信は、外部つまり第三者のアプリケーション・パッケージを組み込むことのできるコンピュータ・システムに関連付けられたＧＤＸロジックを介して行われる。
一般に、外部のアプリケーション・パッケージで定められたあらゆるデータのソースは、コンピュータ・システムで必要などのようなデータのソースとも異なる。したがって、ＧＤＸは、外部のアプリケーション・パッケージの実行中に、外部のアプリケーション・パッケージとコンピュータ・システムとの間に必要なデータを提供する。ＧＤＸは、高水準ユーザ・アプリケーションを外部データ参照に結びつける。ＧＤＸは、外部アプリケーション実行前か、または別の実行プロセスを使用することによって、アクセスする外部データ参照を選択する。特許’２９８で開示されているようなＧＤＸロジックを用いた自動化制御システムは、当技術分野においてよく知られている。
残念ながら、従来の方法は、プロジェクトに特有であるか、またはデータ・ソース／宛先に特有の傾向があり、データ交換の柔軟性を欠いている。伝統的に、外部データ参照のサポートは静的または動的に行われてきた。サポートが静的である場合には、ひとたび確立された外部データ参照を実行時に変更することはできない。例としては、ＤＹＮＡＭＩＣ  ＭＡＴＲＩＸ  ＣＯＮＴＲＯＬ社のオーダー・メードのコントローラであるＤＣＭｉ、ＡＢＥ、ＯｐｅｎＤＤＡ  １００、およびＯｐｅｎＤＤＡ  １１０があげられる。サポートが動的である場合には、単一のデータ・ソース／宛先に関しては外部データ参照の選択が実行時に柔軟かつ動的に行われるが、他のデータ・ソース／宛先は使用できない。例としては、ＡＭ、ＣＭ５０Ｓ、およびＣＭ５０Ｎがある。
したがって、当技術分野において必要なことは、高度なアプリケーション開発（たとえば、高水準プログラミング言語）内で動的な外部データ参照の結合をサポートし、特定のデータ・ソース／宛先に依存しない、より強力で柔軟な形態のデータ・アクセスである。
当技術分野においてさらに必要なことは、どの外部データ参照にアクセスするかをユーザ・プログラムが実行時に制御するための手段である。当技術分野においてさらに必要なことは、任意の外部データ参照または一連の参照のために、ユーザ・プログラムがこのような外部データ参照へのアクセスを実行時に転送できるような手段である。
発明の概要
本発明は本明細書の請求項１で定義するシステムを提供する。
前記システムは、従属請求項２ないし１０に記載の任意の１つまたは複数の機能を組み込むことができる。
本発明は本明細書の請求項１１で定義する方法も提供する。
前記方法は、従属請求項１２ないし１９に記載の任意の１つまたは複数の機能を組み込むことができる。
従来技術に見られる上記の欠陥に対処するために、本発明は高度なアプリケーション開発内で実行時に外部データ参照の結合を可能にする動的データ参照（「ＤＤＲ」）を提供し、それによってユーザ・プログラムが実行時にどの外部データ参照にアクセスするかを制御でき、実行時に任意の外部データ参照または１組のデータ参照のためにこのような外部データ参照へのアクセスをリダイレクトできるようにする。
この特徴を達成する上で、本発明は、ＤＤＲモジュールを持つコンピュータ・システムで使用するために、ＤＤＲモジュールを介してアクセスできる複数の外部データ参照と、複数の総称変数に対する演算用のユーザ・アプリケーションを実行できるコンピュータ・システムと、外部データ参照を総称変数に動的に結合するシステムと、そのシステムの操作方法とを提供する。システムは、少なくとも一部の総称変数のために別名変数の作成を可能にするＤＤＲインタフェース・ルーチンを、前記ユーザ・アプリケーション内に含んでいる。別名変数は特定の外部データ参照を識別するように適合されている。ユーザ・アプリケーションは、ユーザ・アプリケーションと外部参照の間のデータ通信を可能にするために特定の総称変数を特定の外部データ参照に結合するようＤＤＲモジュールに要求するために実行時に別名変数を用いる。
本発明では、別名変数の使用により、ユーザ・アプリケーションは実行時に１つまたは複数の外部データ参照を変更することができる。有利な実施態様において、アプリケーション・プログラムの１つまたは複数のネイティブ高水準言語変数を１つまたは複数の外部データ参照の１つまたは複数の様々なコンポーネントまたはプロパティに関連付け、１つまたは複数のネイティブ高水準言語変数を選択されたセットに関連付ける（つまり、外部データ参照に演算を加えるために、それを論理グループに整理する）ために、外部データ・ステートメントが使用される。アプリケーションの通常の、つまり伝統的な構築が行われる。実行時に、１つまたは複数の望みの外部データ参照の名前が１つまたは複数の別名変数と関連付けられ、それがアプリケーション・プログラムと外部データ参照との間のデータ転送によって通信される。本発明では、別名変数の使用により高度なアプリケーション開発内で外部データ参照を実行時に結合することができる。
本発明の有利な実施態様では、ＤＤＲルーチンはさらに、特定の外部データ参照の値を含むように適合されたデータ変数の作成を可能にする。データ変数としては、１つまたは複数のアプリケーションによって処理されることになる外部ソースからのデータを定義により保持するアプリケーション変数が考えられる。
本発明の有利な実施態様では、ＤＤＲルーチンはさらに、特定の総称変数と特定の外部データ参照との間の結合の状況を含むように適合された外部参照状況変数の作成を可能にする。外部参照状況変数としては、特定の別名変数に関連付けられた特定の外部データ参照と特定のデータ変数との間の動的結合の状況を定義により保持するアプリケーション変数が考えられる。
本発明の有利な実施態様では、ＤＤＲルーチンは、実行時決定結合を記憶して再使用する。特定の外部データ参照源を区別して継続的に使用する場合に再インスタンシエーションが必要なくなるため、処理能率および資源保存が向上する。
本発明の有利な実施態様では、ＤＤＲルーチンは、ユーザ・アプリケーションのために現在有効な実行時決定結合の表示を記憶する。定義済みの一定のトークンを使用することにより、無効な結合（つまり、「ヌル」結合）の表示を判断することができる。同様に、アクティブな結合の表示は、関連付けられた外部参照結合によって特定の別名変数を復元することによって行われる。
本発明の有利な実施態様において、ＤＤＲルーチンは、コンピュータ・システム上で実行する複数の別々のユーザ・アプリケーションに関連付けられている。本発明の原理はマルチユーザ環境に組み込んで使用することができる。
本発明の有利な実施態様において、コンピュータ・システムは少なくともリアルタイムのプロセス制御システムの一部であり、外部データ参照はプロセス制御システムのセンサおよび制御できる装置に対応する。本発明の原理は、自動化プラント制御システムと関連して特に順応性があり有用である。
本発明を使用し、または配るための有利な実施態様は、ソフトウェアである。ソフトウェアとしての実施態様は、従来の記憶媒体に記憶される複数の処理システム命令を含んでいる。好ましい記憶媒体には、磁気記憶媒体、光学記憶媒体、および電気記憶媒体、ならびに適切に構成された以上の媒体の組合せが無制限に含まれる。処理システムの命令は、上記の処理システム（１つまたは複数）によって読取りおよび実行でき、本発明の原理に従って高度なアプリケーション開発内で実行時に外部データ参照の結合を可能にするＤＤＲを提供することができる。したがって、ユーザ・プログラムは実行時に、どの外部データ参照にアクセスするかを制御でき、任意の外部データ参照または１組の参照のために、このような外部データ参照へのアクセスをリダイレクトすることができる。
以下で説明する本発明の詳細な説明を当業者がよりよく理解できるように、以上で本発明の特徴および技術的利点について大まかに説明した。本発明の請求項の主題となる本発明のその他の特徴と利点について以下で説明する。当業者であれば、ここで開示する概念および特定の実施形態を基礎にして、本発明と同一の目的を達成する他の構造を容易に修正または設計できるということを理解されたい。さらに、当業者にはこのような等価な構造は、非常に広範な形態を持つ本発明の精神と範囲から外れるものではないことも理解されたい。
【図面の簡単な説明】
本発明およびその利点をさらに完全に理解するために、以下の説明を添付図面と併せて検討されたい。なお、類似するパーツには同様の番号が付けてある。
第１図は、本発明の使用に適した例示的なプロセス制御システムのブロック図である。
第２図は、第１図に示したプロセス制御システムの例示的な演算モジュールつまり処理モジュールであって、本発明の原理に従って動的データ参照を提供するモジュールを図示するブロック図である。
第３図は、第１図および第２図に示したプロセス制御システムの例示的な動的データ参照モジュールを、本発明の原理に従って図示する機能図である。
第４図は、第３図に示した動的データ参照モジュールの例示的な動的データ参照構成体を、本発明の原理に従って図示する機能図である。
第５図は、総称制御プロセス・アプリケーションのソース・コードの例示的なリストである。
詳細な説明
本発明によるシステムと方法の例示的な実施形態の説明に取りかかる前に、本発明が適切に使用され、実装される計算システム環境つまり処理システム環境について説明するのが有益であろう。まず第１図について説明するが、これは本発明と適切に関連付けられる例示的なプロセス制御システム（一般に符号１０で示す）の高水準ブロック図である。
プロセス制御システム１０は、実例として、従来のプラント制御ネットワーク１００を含んでいる。本明細書で使用する「含む」という用語は、無制限な包含を意味する。プラント制御ネットワーク１００は、例示的な汎用制御ネットワーク（「ＵＣＮ」）１１０を介してプロセス・コントローラ１０５に適切に関連付けらている。本明細書で使用する「関連付け」という用語およびその派生語は、「包括する」、「相互接続する」、「含む」、「含まれる」、「接続する」、「連結する」、「伝達できる」、「並置する」、「協働する」、「インターリーブする」、「〜の所有物である」、「結合される」などを意味する場合がある。
例示的なプラント制御ネットワーク１００はローカル制御ネットワーク（「ＬＣＮ」）を利用してＵＣＮからデータを収集する働きを持つネットワーク・インタフェース・モジュール（「ＮＩＭ」）１１５を含んでいる。プロセス・コントローラ１０５は、アナログ電気信号やディジタル電気信号のような電気信号、光信号、または磁気信号を送信または受信する複数の通信インタフェース１２０に関連付けられている。本明細書では、「または」という語を「および／または」という包括的な意味で使用している。
例示的な実施形態では、実例として、通信インタフェース１２０は、アナログ入力信号（「Ａ／Ｉ」）、アナログ出力信号（「Ａ／Ｏ」）、ディジタル入力信号（「Ｄ／Ｉ」）、およびディジタル出力信号（「Ｄ／Ｏ」）を送信または受信する働きを持つ。これらの例示的な信号は、プラント制御ネットワーク１００と弁、圧力スイッチ、圧力計、熱電対などのような従来の様々な現場装置（図示せず）との間で適切に通信される。例示した実施形態は単一のプラント制御ネットワーク１００とプロセス・コントローラ１０５しか含んでいないことに留意されたい。プロセス制御システム１００の代替実施形態では、１つまたは複数の対応するＵＮＣ  １１０および対応するＮＩＭ  １１５を介して追加プロセス・コントローラ１０５をプラント制御ネットワーク１００に動作可能な形で接続することができる。別の実施形態でも、プロセス制御システム１０は、複数の協働的プラント制御ネットワーク１００を適切に含むことができる。
例示的なプラント制御ネットワーク１００は、プラント・オペレータと協力して被制御プロセスを総体的に監視することができる。プラント制御ネットワーク１００は、監視機能を遂行する上で必要なすべての情報を取得し、オペレータとの対話のためのインタフェース（図示せず）を含むことができる。プラント制御ネットワーク１００は、複数の物理モジュールを含み、それらのモジュールが、必要な被制御プロセスの制御／監視機能を実行する上で必要に応じて、汎用オペレータ・ステーション・モジュール（「ＵＯＳ」）１２５、アプリケーション・モジュール（「ＡＭ」）１３０、履歴モジュール（「ＨＭ」）１３５、計算機モジュール（「ＣＭ」）１４０、およびこれらのモジュールの複製（ならびに、図示はしないが、アプリケーションに依存することのある追加のモジュール・タイプ）を含んでいる。これらの物理モジュールのそれぞれは、必要に応じて、モジュール間の通信を可能にするＬＣＮ  １４５に動作可能に接続されている。ＮＩＭ  １１５はＬＣＮ  １４５とＵＣＮ  １１０の間のインタフェースである。
プラント制御ネットワーク１００の例示的なＵＯＳ  １２５は、１人または複数のプラント・オペレータ用のワークステーションであり、１人または複数のプラント・オペレータと彼等が担当する１つまたは複数のプラント・プロセスとの間のインタフェースであるグラフィカル・ユーザ・インタフェース（「ＧＵＩ」）のような従来のオペレータ・インタフェースまたはコンソールを含んでいる。たとえば、各ＵＯＳ  １２５および、従来のバックアップ・モジュール（図示せず）はＬＣＮ  １４５に接続され、ＵＯＳ  １２５と、バックアップ・モジュール（図示せず）も含めたプラント制御ネットワーク１００の他のあらゆるモジュール（ＮＩＭ  １１５、ＡＭ  １３０、ＨＭ  １３５など）との間のあらゆる通信はＬＣＮ  １４５によって行われる。ＵＯＳ  １２５はＬＣＮ  １４５上のデータ、ならびにプラント制御ネットワーク１００に属す他の任意のモジュールを介して得られる資源およびデータまたはそれらのモジュールから得られる資源およびデータにアクセスすることができる。各ＵＯＳ  １２５は、たとえば、従来のビデオ表示装置、オペレータ・キーボード、データ記憶装置（たとえば、フロッピー・ディスク・ドライブ、ＣＤ  ＲＯＭドライブ、ハード・ドライブ、または他の従来のドライブ）、トレンド・ペン・レコーダ、および状況表示装置を適切に含むことができる（図示せず）。
プラント制御ネットワーク１００の例示的なＨＭ  １３５は、大容量データ記憶機能であることが望ましい。各ＨＭ  １３５は、例えば伝統的なウィンチェスタ・ディスクのような従来のディスク大容量記憶装置を少なくとも１つ含むことができる。ディスク大容量記憶装置は、大容量、不揮発性、除去できないデータの記憶装置である。このような大容量記憶装置によって記憶されるデータの種類は、一般にトレンド履歴、トレンドの決定に使用できるデータ、表示を構成または形成するデータ、モジュール（たとえば、ＵＯＳ  １２５やＡＭ  １３０など）用プロセス・コントローラ１０５のユニットのためのプログラムのコピー、またはプラント制御ネットワーク１００のモジュールのユニットのためのプログラムのコピーである。
プラント制御ネットワーク１００の例示的なＡＭ  １３０は、プロセス・コントローラ１０５によって実行されるプロセス制御機能を支援する追加のデータ処理機能、たとえば、データ取得、アラーム、およびバッチ履歴収集を行い、必要に応じて連続制御計算機能を有する。ＡＭ  １３０のデータ処理は、関連する従来型モジュール・プロセッサおよびモジュール・メモリ（図示せず）によって行われる。
プラント制御ネットワーク１００の例示的なＣＭ  １４０は、中規模から大規模の汎用データ処理システムがＬＣＮ  １４５上でプラント制御ネットワーク１００の他のモジュール（たとえば、ＵＯＳ  １２５やＡＭ  １３０など）およびそのようなモジュールのユニットと通信でき、ＮＩＭ  １１５を介してプロセス・コントローラ１０５のユニットと通信できるように、すべての物理モジュールの標準ユニットまたは共通ユニットを使用する。ＣＭ  １４０の従来のデータ処理システムでは、一般に高水準プログラミング言語で、監視、最適化、汎用ユーザ・プログラムの作成、およびそのようなプログラムの実行が行える。これらのデータ処理システムは、当技術分野でよく知られているように、従来の通信システム、またはネットワーク、および通信回線を介して他の類似するシステムと通信できるであろう。
プラント制御ネットワーク１００の例示的なＬＣＮ  １４５は、従来の高速ビット・シリアル二重冗長通信バスを適切に用いて例示的なモジュール（たとえば、ＵＯＳ  １２５やＡＭ  １３０など）を相互接続することができる。このようなバスは、データ・ソース（ＮＩＭ  １１５、ＡＭ  １３０、ＨＭ  １３５など）と、このようなデータの主要ユーザ（ＵＯＳ  １２５、ＡＭ  １３０、およびＣＭ１４０など）との間の主要なデータ転送経路となる。このバスはまた、記憶イメージのようなデータの大きなブロックをＨＭ  １３５のようなモジュールからＵＯＳ  １２５のような別のモジュールへ適切に移動するための適当な通信媒体となる。
例示してある実施形態におけるプラント制御ネットワーク１００の各物理モジュール（たとえば、ＵＯＳ  １２５やＡＭ  １３０など）は、一定の標準ユニットを含む場合があることに留意されたい。有利なプラント制御ネットワーク１００およびこのような物理モジュールのより完全な説明は、あらゆる目的のために本明細書で引用されている米国特許第４，６０７，２５６号（「特許’２５６」）に記載されている。
例示的なＣＭ  １４０は、適切に配置された任意の従来型コンピュータ（１台または複数）を含むことができる。１つの例示的なコンピュータは、ＨＯＮＥＹＷＥＬＬ  ＤＰＳ−６であり、これはミネソタ州ＭｉｎｎｅａｐｏｌｉｓのＨＯＮＥＹＷＥＬＬ社によって販売されており、ＣＭ  １４０で使用されている。現在、本発明のシステムと方法を使用するプラント制御ネットワーク１００のＣＭ  １４０はＨＥＷＬＥＴＴ−ＰＡＣＫＡＲＤ社（３０００  Ｈａｎｏｖｅｒ  Ｓｔ．，Ｐａｌｏ  Ａｌｔｏ，カリフォルニア州９４３０４）で販売している従来のＨＥＷＬＥＴＴ−ＰＡＣＫＡＲＤ（「ＨＰ」）ＰＡ−ＲＩＳＣシステムを含んでいる。
最適化、モデリング、統計的分析、および他の同様の手順が、プロセス制御システム１０と関連付けられている。これらの手順は一般にデータに演算を加え、それから生じた結果を出力する。データは一般に予め決められたファイルや副手順などを通して得られる。本発明のシステムと方法は、複数のデータ・ソースおよびデータ宛先を本質的に定義（または再定義）することによって手順をプロセス制御システム１０に統合し、それにより必要な入力データが手順にとって利用できるようにし、アプリケーション・プログラムのデータをプロセス制御システムに出力する方法を提供する。本明細書で使用する「手順」という用語は、機能、ルーチン、サブルーチン、タスク、アルゴリズム、プログラム、スレッドなども含め、コンピュータを用いて何かを実行するための仕方、方法、または一連のステップを意味する。
ここで第２図について説明するが、これは本発明の動的データ参照を行うシステムと方法を含むように適切に構成された例示的なＣＭ（一般に符号１４０で示す）の機能ブロック図である。例示的なＣＭ  １４０は、端末キーボード２０５および外部記憶装置２１０と適切に関連付けられた従来のコンピュータ・システムまたは処理システム２００を含んでいる。例示的なキーボード２０５および記憶装置２１０は、説明の目的で含めてある。そして当業者であれば、前記装置の代わりまたは前記装置と組み合せて追加装置が使用可能なことを理解できるはずである。
有利な実施形態では、ＣＭ  １４０のコンピュータ２００は、前述のＨＰ  ＰＡ−ＲＩＳＣ機である。ＨＰ  ＰＡ−ＲＩＳＣ機は、例えばＨＰ−ＵＸのような関連するオペレーティング・システム（「ＯＳ」）２１５で稼動することができる。適切なインタフェース・プログラム（「ＬＸＳ」）２２０が、コンピュータ２００およびＯＳ  ２１５と組み合わせて実行できるソフトウェア・パッケージを、従来のゲートウェイ２２５および例示的なＬＣＮ  １４５を介して、１つまたは複数の従来型ハードウェア周辺装置（図示せず）とインタフェースする（つまり、両者の通信を可能にする）。このような通信は、利用できる通信プロトコルに適切に従う。
例示的なコンピュータ・システム２００は、複数の実行可能プログラムまたはソフトウェア・パッケージを含んでいる。それらは、たとえば、アプリケーション・プログラム２３０、２３０’、２３０”、および２３５ならびに本発明の制御論理を実現し、それに責任を持つ総称データ交換（「ＧＤＸ」）パッケージ２４０である。例示的なＧＤＸパッケージ２４０は、ＧＥＴＬＩＳＴプログラム２４５、ＰＵＴＬＩＳＴプログラム２５０、ポイント・リスト定義（「ＰＬＤ」）ファイル２５５、制御入力／出力（「ＣＩＯ」）ファイル２６０、およびＭＡＫＥＬＩＳＴプログラム２６５のような実行可能プログラムおよびファイルを含んでいる。
説明上、例示的なアプリケーション・プログラム（「ＡＰＰＬＩ  ＰＲＯＧ」）２３５は、従来のＨＰ／ＨＰ−ＵＸ環境規格およびプロトコルに従って書かれたり作成されたりするものと想定する。つまり、反復または第１図のプロセス制御システム１０との通信に関する知識なしに、より具体的には反復または第三者ソフトウェア・ベンダのＬＣＮ  １４５との通信に関する知識なしに、書かれ作成されるなどするものと想定する。例示してある実施形態によれば、個々のＣＩＯファイル２６０およびＰＬＤファイル２５５は、コンピュータ２００と関連付けられた各アプリケーション・プログラム２３５ごとに存在することができる。
「Ｓｙｓｔｅｍ  ｆｏｒ  Ｍａｋｉｎｇ  Ｄａｔａ  Ａｖａｉｌａｂｌｅ  ｔｏ  ａｎ  Ｏｕｔｓｉｄｅ  Ｓｏｆｔｗａｒｅ  Ｐａｃｋａｇｅ  ｂｙ  Ｕｔｉｌｉｚｉｎｇ  Ｄａｔａ  Ｆｉｌｅ  ｗｈｉｃｈ  Ｃｏｎｔａｉｎｓ  Ｓｏｕｒｃｅ  ａｎｄ  Ｄｅｓｔｉｎａｔｉｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ」と題する米国特許第５，３３３，２９８号（「特許’２９８」）におけるＢｌａｎｄ等の教義によれば、アプリケーション・プログラム２３５の手順の部分はほとんど修正を必要としない。特許’２９８は、あらゆる目的のために本明細書で引用されている。
したがって、たとえば、端末キーボード２０５を使用するオペレータは、プロセス制御システム１０においてアプリケーション・プログラム２３５の識別済みアプリケーション・プログラム変数のソースと宛先を識別することによってＣＭ  １４０と対話することができる。さらに、オペレータは、得られたデータおよびそのデータのフォーマット（つまり、データをアプリケーション・プログラム２３５に必要なフォーマットとの間で変換する必要があるかどうか）を用いて実行すべき１つまたは複数の操作を指定することができる。この情報は、ＰＬＤファイル２５５を構成することができる。例示的なＭＡＫＥＬＩＳＴプログラム２６５は、「オフライン」モードで（つまりアプリケーション・プログラム２３５が実行していないときに）使用することができる。ＰＬＤファイル２５５に含まれている情報から、ＭＡＫＥＬＩＳＴプログラム２６５は、特許’２９８で述べられているアプリケーション実行中に使用される特定の情報を得ることができる。この情報から、ＣＩＯファイル２６０が生成される。このようにして、データを獲得して、実行中のアプリケーション・プログラム２３５にとって必要と思われるメモリ内の記憶位置に格納することができる。
当業者であれば、これらのファイルまたはメモリ記憶位置が、多くの異なるコンピュータ・システム・プラットフォーム（または処理システム・プラットフォーム）を用いて様々な方法によって生成できることを理解するであろう。別の有利な実施形態では、コンピュータ２００を、全面的または部分的に、プログラマブル・アレイ・ロジック（「ＰＡＬ」）、プログラマブル・ロジック・アレイ（「ＰＬＡ」）、ディジタル信号プロセッサ（「ＤＳＰ」）、利用者書込み可能ゲート・アレイ（「ＦＰＧＡ」）、特定用途向けＩＣ（「ＡＳＩＣ」）、超大規模集積回路（「ＶＬＳＩ」）などのようなプログラマブル・ロジック装置を含む他の任意の適切な処理回路と置き換えるかまたは組み合わせて、本明細書で説明し請求している様々なタイプの回路およびコンピュータ（または処理）システムを形成することができる。
従来のコンピュータ・システムおよび処理システムのアーキテクチャは、ＭａｃＭｉｌｌａｎ  Ｐｕｂｌｉｓｈｉｎｇ  Ｃｏ．出版のＷｉｌｌｉａｍ  Ｓｔａｌｌｉｎｇｓ著の「Ｃｏｍｐｕｔｅｒ  Ｏｒｇａｎｉｚａｔｉｏｎ  ａｎｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ」（第３版１９９３年）に、従来の処理システム・ネットワーク設計は、ＭａｃＧｒａｗ−Ｈｉｌｌ，Ｉｎｃ．出版のＤａｒｒｅｎ  Ｌ．Ｓｐｏｈｎ著の「Ｄａｔａ  Ｎｅｔｗｏｒｋ  Ｄｅｓｉｇｎ」（１９９３年）に、従来のデータ通信は、Ｐｌｅｎｕｍ  Ｐｒｅｓｓ出版のＲ．Ｄ．Ｇｉｔｌｉｎ、Ｊ．Ｆ．Ｈａｙｅｓ、Ｓ．Ｂ．Ｗｅｉｎｓｔｅｉｎ共著の「Ｄａｔａ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｐｒｉｎｃｉｐｌｅｓ」（１９９２年）およびＩｒｗｉｎ  Ｐｒｏｆｅｓｓｉｏｎａｌ  Ｐｕｂｌｉｓｈｉｎｇ出版のＪａｍｅｓ  Ｈａｒｒｙ  Ｇｒｅｅｎ著の「Ｔｈｅ  Ｉｒｗｉｎ  Ｈａｎｄｂｏｏｋ  ｏｆ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎｓ」（第２版１９９２年）に、より詳しく記載されている。これらの著書は、あらゆる目的のために本明細書で引用されている。
ここで第３図について説明するが、これは第１図および第２図に示したプロセス制御システム１０の例示的なＤＤＲモジュール３０の高水準の機能図である。ＤＤＲモジュール３０は、実例として、総称プロセス制御アプリケーション３００および２つの例示的な分散制御システム（「ＤＣＳ」）、つまりＤＣＳ  ３０５およびＤＣＳ  ３０５’とともに第２図の例示的なＧＤＸ  ２４０などと関連付けられている。２つのＤＣＳしか示してないが、これが限定を示すものでないことは、当業者なら理解できるはずである。
例示的なＤＣＳ  ３０５とＤＣＳ  ３０５’それぞれが、５つのデータ参照（それぞれ、３１１〜３１５および３１１’〜３１５’）を含み、それらのデータ参照は、ある関連するデータ・ソースの物理特性や論理特性などの特性を実例として表している。それぞれ５つのデータ参照からなる３１１〜３１５と３１１’〜３１５’のそれぞれのセットは、それぞれ例示的な２つのサブセット３０５および３０５’に分割される。データ参照の２つのサブセットしか示してないが、それが例示的なものであって、限定を示すものでないことは、当業者なら理解できるはずである。
例示的な総称プロセス制御アプリケーション３００は１つまたは複数のプロセス手順（図示せず）を含んでおり、それらのプロセス手順は１つまたは複数の総称変数、実例として挙げるなら、変数３２０、３２０’、３２０”、および３２０”’を演算し、それらによって指定される。本発明に従えば、例示的な総称変数３２０〜３２０”’は、外部データ参照３１１〜３１５’と動的に結合される。
ＤＤＲモジュールまたはＤＤＲルーチン３０は、複数の総称変数３２０〜３２０”’のうちの少なくとも一部に対して、１つまたは複数の別名変数（図示せず）のインスタンシエーションまたは作成を促進する。別名変数は、関連のまたは所定の外部データ参照３１１〜３１５’を識別するように適切に作られている。本発明に従えば、総称プロセス制御アプリケーション３００は、アプリケーション３００と各例示的ＤＣＳ  ３０５および３０５’との間のデータ通信を可能にするために特定の総称変数３２０〜３２０”’を特定の外部データ参照３１１〜３１５’に結合するようＤＤＲモジュール３０に要求するために実行時に別名変数を用いる。
言い換えるなら、総称プロセス制御アプリケーション３００は、ＤＤＲモジュール構成体を用いて決められた制御データ・テンプレートを構成する総称変数３２０〜３２０”’に対する演算で指定される。上記の例示的な実施形態において、ＤＤＲモジュール３０を用いた制御データ・テンプレートのインスタンシエーションは、２つの例示的なＤＣＳ  ３０５および３０５’からアクセスされるデータになり、テンプレート内で各別名変数に対する複数の外部データ参照結合となる。
ここで第４図について説明するが、これは第３図に示したＤＤＲモジュール３０の例示的なＤＤＲ構成体（一般に符号４０で示す）を、本発明の原理に従って図示する高水準の機能図である。例示的なＤＤＲ構成体４０は、各データ変数４００、別名変数４０５、および状況変数４１０と例示的に関連付けられている。例示的なデータ変数４００としては、総称プロセス制御アプリケーション３００に必要な機能を満たすために演算対象のデータを保持するアプリケーション変数がある。記憶データはＧＤＸ  ２４０を用いてアクセスすることができる。例示的な別名変数４０５としては、データ・アクセスと動的に関連付けることができる外部データ参照３１１〜３１５’のうちの少なくとも１つの識別子（たとえば、名前）を保持するアプリケーション変数である。このエンティティを指定する能力をＤＤＲに与える。例示的な外部参照状況変数４１０は、別名変数４０５の関連外部データ参照（つまり、３１１〜３１５’のうちのいずれか）と関連データ変数４００との間の任意の動的結合の状況を保持するアプリケーション変数である。
例示してある実施形態では、各別名変数４０５に対する「現行」参照名は、メモリに格納され、いつでも適切に変更される。外部データ参照は、（１）有効な外部参照コンポーネントを対象別名変数４０５にロードすることによって、および（２）「次の」外部データ参照を対象別名変数４０５の関数として選択することによって、動的に変更することができる。
より詳細には、別名変数をロードするステップは、たとえば、ＡＳＣＩＩなどのフォーマットを持つストリングを別名変数４０５に入れるために、Ｃ、ＦＯＲＴＲＡＮ、または適切に構成されたプログラミング言語のような高水準プログラミング言語によって提供される従来の構成体を使用することを含んでいる。もし別名変数４０５に事前に決められたヌル値（つまり、無視できるほど小さい値、無情報、ボイドなど）がロードされても、それと関連付けられる１つまたは複数の外部データ参照を実行時に変更しようと試みてもエラーにはならないはずである。むしろ、ヌル参照は、「使用可能な」別名変数４０５として扱われる。したがって、状況変数４１０は事前に決められたヌル値をヌルと識別する情報を適切に含むことができるが、実行時にそのヌル値を呼び出そうとしてもエラーにはならない。
「次の」外部データ参照選択ステップに注意を集中すると、このステップは、別名変数４０５と関連付けられている外部参照名コンポーネントをメモリへ移動すること、新しい外部参照名に更新されたすべての外部参照を分解し、妥当性を検査し、それによって新しい外部データ参照結合を確立すること、および外部データ参照の分解および妥当性検査と関連付けられている状況値を外部参照状況変数４１０に移動することを適切に含んでいる。
外部データ参照の分解と妥当性検査に失敗した場合、エラーを反映する状況値を戻すことができる。個々の外部参照状況変数４１０は、変更された外部データ参照ごとに状況値を含むことができ、メモリ内に保持されている外部参照名は、エラーの原因となっている外部参照の名前を反映することができる。
ひとたび外部参照の変更が完了すると、「新しい」外部参照を用いて「新しい」外部データにアクセスするために、適切なデータ・アクセス操作を実行することができる。変更の試みに際してエラーの生ずる外部参照については、（１）エラーを生ずる外部データ参照と関連するデータ変数４００のために外部データにアクセスすることはできず、（２）変更の試みに際して生じたエラーにより関連するデータ変数４００に対して外部参照の結合が生じなかったことを示す「非結合」インディケータを適切に戻すことができる（たとえば、エラー状況を戻すことができる）。
上記の有利な実施形態において、「ヌル」の外部データ参照が作成されると（たとえば、特定の別名変数４０５が使用可能であることを示している）、それがデータ・アクセスに使用された場合、（１）外部データはヌルに設定された外部データ参照と関連付けられているデータ変数４００に対してにアクセスすることができなくなり、（２）データ変数４００のために外部参照の結合が生じなかったことを示す「非結合」インディケータを適切に戻すことができる。
別名変数４０５をヌルに設定する上記能力は、ＤＤＲ構成体４０のインスタンシエーションの前に適切に発生し、その後変更可能であるか、または本発明のＤＤＲ機構を用いて実行時もしくは実行中に発生させることができる点に留意されたい。したがって、ＤＤＲの動的な性質はアプリケーション開発者に、実行時の外部データ参照に関して高い柔軟性と機能性を提供する。
例示的な実施形態に従えば、ＤＤＲ構成体原理を取り入れているプロセス制御アプリケーション開発者は、総称プロセス制御アプリケーション３００内でＤＤＲコンポーネントを決めることができる。ＤＤＲコンポーネントは、完全なＤＤＲ構成体４０の様々なパーツを代表するアプリケーション変数から構成できる。全ＤＤＲ構成体の集まりは、総称プロセス制御アプリケーション３００の動的データ・テンプレートを決める。このテンプレートの例示は適切に行われ、その後、本発明のＤＤＲ機構を用いて実行時または実行中に変更することができる。
例示的な第３図および第４図は、ＤＤＲモジュール３０を介して結合されているデータによって適切に例示することができる総称プロセス制御アプリケーション３００を一括して図示する。これは、構成において総称的な特定の手順を派生元の特定のデータ・ソース／宛先から分離することによって展開できる柔軟で再使用可能なアプリケーションを提供する。
ここで第５図について説明するが、これは例示的な総称制御プロセス・アプリケーション３００のソース・コード（一般に符号５０で示す）の関連部分の例示的なリストである。ソース・コード・リスト５０は例示的なＤＤＲ構成体４０ならびに例示的なＤＣＳ  ３０５および３０５’と例示的に関連付けられており、プログラム・リストの４つの例示的なサブセクション５００〜５１５を含んでいる。
第１の例示的なサブセクション５００は複数の従来型変数定義を含んでいる。サブセクション５００は、本発明の原理に従ってＤＤＲ構成体４０を確立するための適切な手段を提供する。「ＡｌｉａｓＶａｒ［１０］」、「ＦｌｏｗＲａｔｅ」、および「ＥｘｔＲｅｆＳｔａｔｕｓ」は、それぞれ別名変数４０５、データ変数４００、および外部データ参照状況変数４１０を例示する。
第２の例示的なサブセクション５０５は、例示的な別名変数４０５と関連付けられている外部データ参照名を識別、指定、または指し示すこと、および例示した実施形態のＯｐｅｎＤＤＡアプリケーション・プログラミング・インタフェース（「ＡＰＩ」）を通して例示的なＤＤＲモジュール３０を呼び出すことにより、例示的に実行して第３図に示す外部データ参照３１１〜３１５’のうちのいずれかのような外部データ参照またはデータ・ソースに結合する少なくとも１つのＤＤＲプログラム命令を含んでいる。結合の試みが成功か失敗かを示す状況インディケータを、総称プロセス制御アプリケーション３００に適切に戻すことができる。また、このインディケータは例示的な状況変数４１０に格納される。
サブセクション５０５は「ＥＸＥＣ  ＤＤＡ  ＭＯＤＩＦＹ  ＣＩＯ」コマンドを含んでいることに留意されたい。このコマンドは、新しい外部データ参照を選択するために適切に使用することができる。実施形態によれば、このコマンドを呼び出す前に、別名変数４０５を新しい外部データ参照の名前と関連付ける必要がある。そうしないと、エラー状態が発生することがある。別名変数４０５がヌルに設定されていると、このコマンドの実行は、別名変数４０５が使用可能なことを示すということを思い起こしてほしい。
有利な実施形態では、１つまたは複数の別名変数４０５を用いて次の「ＥＸＥＣ  ＤＤＡ  ＭＯＤＩＦＹ  ＣＩＯ」コマンドの実行によって外部データ参照名を更新すべきかどうか決定するために、任意選択の変更コード変数を適切に決めて使用することができる。変更コード変数は、上記コマンドの実行中に適切に妥当性検査することができる。そして無効な変更コードが検出されると、関連付けられている別名変数４０５に含まれる関連外部データ参照は動的に選択されない。変更は行われず、それに続く別名変数４０５のロード・ステートメントは、前の外部参照コンポーネント値を戻し、外部データ参照状況変数４１０は、外部参照が不確定であることを示すように設定される。
第３の例示的なサブセクション５１０は、総称プロセス制御アプリケーション３００が結合の成功を検証した後に、例示した実施形態のＯｐｅｎＤＤＡ  ＡＰＩおよびＧＤＸを用いて例示的なデータ変数４００にアクセスすることができる１つまたは複数の実行可能なプログラム命令を含んでいる。なお、この例では例示的なデータ変数４００は７６．４５である。
第４の例示的なサブセクション５１５は、データ変数４００に格納されている受信データに対して従来の演算を行うことができる従来のプログラム命令を含んでいる。
したがって、例示的な別名変数４０５は、総称プロセス制御アプリケーション３００が、実行時に１つまたは複数のデータ変数４００を１つまたは複数の外部データ参照３１１〜３１５’に関連付けられるようにする。総称プロセス制御アプリケーション３００の１つまたは複数のネイティブ高水準言語変数を１つまたは複数の外部データ参照３１１〜３１５’の１つまたは複数の様々なコンポーネントまたはプロパティに関連付け、１つまたは複数のネイティブ高水準言語変数を選択されたセットに関連付けるために、外部データ・ステートメントが使用される。アプリケーションの通常の、つまり伝統的な構築が行われ、実行時に、１つまたは複数の望みの外部データ参照の名前が１つまたは複数の別名変数と関連付けられ、それがアプリケーション３００と外部データ参照３１１〜３１５’との間のデータ転送によって通信される。
例示した実施形態では、特許’２９８で定義されている現行ＧＤＸテクノロジを用いるモジュラ・ソフトウェア・コンポーネントの実装によって本発明の仕組みが実現される。作成時に定義された構成体を用いて、標準ＯｐｅｎＤＤＡ  ＡＰＩ内にプログラムされた特定の手順を呼び出すことによって、ＤＤＲが活動化される。ＤＤＲの最重要操作は、新しい外部データ参照を総称プロセス制御アプリケーション３００の動作中のデータ変数４００に結合することである。
例示した実施形態では、上記に加え、ＤＤＲは、好ましくはＡＰＩを通して、後に再使用するための実行時決定結合の各永久記憶、特定のアプリケーションにとって現在有効な動的結合の照会機能（つまり、外部参照名−別名）、各ＤＤＲ構成体のための結合機能の専門化した制御などを適切に提供することができる。
以上のことから、ＤＤＲモジュールを持つコンピュータ・システムで使用するために、ＤＤＲモジュールを介してアクセスできる複数の外部データ参照と、複数の総称変数に対する演算用のユーザ・アプリケーションを実行できるコンピュータ・システムと、外部データ参照を総称変数に動的に結合するシステムおよび方法を本発明が提供することが明らかである。システムは、総称変数のうちの少なくとも一部のために別名変数の作成を可能にするＤＤＲルーチンをユーザ・アプリケーション内に含んでいる。別名変数は特定の外部データ参照を識別するように適合されている。ユーザ・アプリケーションは、ユーザ・アプリケーションと外部参照の間のデータ通信を可能にするために特定の総称変数を特定の外部データ参照に結合するようＤＤＲモジュールに要求するために実行時に別名変数を用いる。
好ましい実施例すなわちＯｐｅｎ  ＤＤＡ  Ｄｅｖｅｌｏｐｅｒ’ｓ  Ｋｉｔ，ＭＰ−ＳＷＤＤＡ１部品番号５１１５１５１５が、アリゾナ州フェニックスのＨＯＮＥＹＷＥＬＬ社によって販売されている。この実施例によるＤＤＲの原理は、「ＯｐｅｎＤＤＡ  Ｒｅｆｅｒｅｎｃｅ  Ｍａｎｕａｌ」（ＤＤ２７−２００）のページ６５〜９０、９７、１１１〜１１６、および１２１〜１２８ならびに「ＯｐｅｎＤＤＡ  Ｕｓｅｒ’ｓ  Ｇｕｉｄｅ」（ＤＤ１１−２００）のページ９３〜１１０に詳しく記載されている。両者はアリゾナ州フェニックスのＨＯＮＥＹＷＥＬＬ社から入手可能である。連絡先は、ＰＳＣ  ＤＩＳＴＲＩＢＵＴＩＯＮ，２５００  Ｗ．Ｕｎｉｏｎ  Ｈｉｌｌｓ，Ｐｈｏｅｎｉｘ，Ａｒｉｚｏｎａ  ８５０２７である。なお両者とも、あらゆる目的のために本明細書で引用されている。
本発明およびその利点について詳しく説明してきたが、本発明の趣旨および範囲から逸脱せずに、その最も広義の形態においてそれに様々な変更、代替および改変を加えられることを当業者は理解されたい。
【図１】
0003875999.tif 000002
【図２】
0003875999.tif 000003
【図３】
0003875999.tif 000004
【図４】
0003875999.tif 000005
【図５】
0003875999.tif 000006