(57)【要約】【課題】エンジニアが、様々なデータソースに関連した通信インターフェース標準およびプロトコルに関する高度な訓練を受けることを不要にする。【解決手段】第１のデータソース内の第１の基準値を参照するために第１のユーザ定義パラメータ名を受信することを伴う。複数のデータソース・インターフェースの最初の一つにより第１のデータソース内の第１の基準値にアクセスすることができるようになる。第１のユーザ定義パラメータ名に基づいて第１のデータソース内の第１の基準値への参照を可能にすることも伴う。その後に、第１のユーザ定義パラメータ名を含む第１のデータアクセス依頼の受信に応答して第１のデータソース内の第１の基準値にアクセスするために、データソース・インターフェース・ソフトウェアが生成される。【選択図】図１２
2014238891.tif 000002
【特許請求の範囲】
【請求項１】
プロセス制御システムに関連した情報にアクセスするための機器であって、
プロセッサーシステムと、
前記プロセッサーシステムに通信可能に連結されたメモリと、を備え、
前記メモリがその中に指示を格納して含み、
前記格納されている指示により、前記プロセッサーシステムが、
第１のデータソース内の第１のデータを参照するために第１のユーザ定義のパラメータ名を受信し、
第１のデータアクセス標準に従って第１のデータソース内の前記第１のデータにアクセスするために複数のユニバーサル・インターフェース・モジュールの第１のユニバーサル・インターフェース・モジュールのための第１のパラメータを構成し、
前記第１のユーザ定義のパラメータ名に基づいて前記第１のデータソース内の前記第１のデータを参照するために前記第１のユニバーサル・インターフェース・モジュールのための第２のパラメータを構成し、
第１のユーザ定義パラメータ名を含む第１のデータアクセス依頼の受信に応答して前記第１のデータソース内の前記第１のデータにアクセスするために前記構成された前記第１のパラメータ及び前記第２のパラメータに従って前記第１のユニバーサル・インターフェース・モジュールを生成し、
前記第１のデータアクセス依頼が第１のフォーマットを有し、
前記第１のユニバーサル・インターフェース・モジュールが、前記第１のデータアクセス依頼に基づいて前記第１のデータソースに関連する第２のフォーマットを有する第３のデータアクセス依頼を生成するように構成され、
前記第１のデータソースが第１のデータアクセス・プロトコルに関連する
ことを特徴とする機器。
【請求項２】
前記第１のデータソースが、制御システムフィールド装置、プログラム可能論理制御装置またはデータベースのうちの一つであることを特徴とする、請求項１に記載の機器。
【請求項３】
前記格納された指示により、前記プロセッサーシステムが、ユーザが第１のユーザ定義パラメータ名を指定することを可能にすべく、複数のユーザ選択可能なフィールドを有するグラフィカルユーザインターフェースを表示することを可能とすることを特徴とする、請求項１又は請求項２に記載の機器。
【請求項４】
前記格納された指示により、前記プロセッサーシステムがモジュールデータ構造内に前記第１のユニバーサル・インターフェース・モジュールを格納することを可能とすることを特徴とする、請求項１〜請求項３の何れか１項に記載の機器。
【請求項５】
前記第１のユニバーサル・インターフェース・モジュールが共通の通信インターフェースを介して前記第１のデータソースにアクセスするように構成されることを特徴とする、請求項１〜請求項４の何れか１項に記載の機器。
【請求項６】
前記共通の通信インターフェースがオブジェクトのリンクと埋め込み標準を使用して実施されることを特徴とする、請求項５に記載の機器。
【請求項７】
前記格納された指示により、前記プロセッサーシステムが、前記第１のデータで数値演算動作を実行すべく前記第１のユニバーサル・インターフェース・モジュールをデータ処理機能が構成できるようにすることを可能とすることを特徴とする、請求項１〜請求項６の何れか１項に記載の機器。
【請求項８】
前記格納された指示により、前記プロセッサーシステムが、前記第１のデータに基づいてアラームを生成するべく、前記第１のユニバーサル・インターフェース・モジュールをアラーム機能が構成できるようにすることを可能とすることを特徴とする、請求項１〜請求項７の何れか１項に記載の機器。
【請求項９】
指示を格納して有する機械アクセス可能な媒体であって、前記格納された指示は実行されると、機械に、
第１のデータソース内の第１のデータを参照するために第１のユーザ定義のパラメータ名を受信し、
第１のデータアクセス標準に従って第１のデータソース内の前記第１のデータにアクセスするために複数のユニバーサル・インターフェース・モジュールの第１のユニバーサル・インターフェース・モジュールのための第１のパラメータを構成し、
前記第１のユーザ定義のパラメータ名に基づいて前記第１のデータソース内の前記第１のデータを参照するために前記第１のユニバーサル・インターフェース・モジュールのための第２のパラメータを構成し、
第１のユーザ定義パラメータ名を含む第１のデータアクセス依頼の受信に応答して前記第１のデータソース内の前記第１のデータにアクセスするために前記構成された前記第１のパラメータ及び前記第２のパラメータに従って前記第１のユニバーサル・インターフェース・モジュールを生成し、
前記第１のデータアクセス依頼が第１のフォーマットを有し、
前記第１のユニバーサル・インターフェース・モジュールが、前記第１のデータアクセス依頼に基づいて前記第１のデータソースに関連する第２のフォーマットを有する第３のデータアクセス依頼を生成するように構成され、
前記第１のデータソースが第１のデータアクセス・プロトコルに関連する
ことを特徴とする機械アクセス可能な媒体。
【請求項１０】
前記格納された指示が実行されると、機械に、
ユーザが第１のユーザ定義パラメータ名を指定できるようにするために複数のユーザ選択可能なフィールドを有するグラフィカルユーザインターフェースを表示させることを特徴とする、請求項９に記載の機械アクセス可能な媒体。
【請求項１１】
前記格納された指示が実行されると、機械に、
ネットワーク・エンティティにより実行されることになっているネットワーク・エンティティに通信できるモジュールデータ構造内に前記第１のユニバーサル・インターフェース・モジュールを格納させることを特徴とする、請求項９又は請求項１０に記載の機械アクセス可能な媒体。
【請求項１２】
前記格納された指示が実行されると、機械に、
共通の通信インターフェースを介して第１のデータソースにアクセスするように前記第１のユニバーサル・インターフェース・モジュールを構成させることを特徴とする、請求項９〜請求項１１の何れか１項に記載の機械アクセス可能な媒体。
【請求項１３】
前記共通の通信インターフェースがオブジェクトのリンクと埋め込み標準を使用して実施されることを特徴とする請求項１２に記載の機械アクセス可能な媒体。
【請求項１４】
前記格納された指示が実行されると、機械に、
データ処理機能により第１のデータにて数値演算動作を実行するように前記第１のユニバーサル・インターフェース・モジュールを構成させることを特徴とする、請求項９〜請求項１３の何れか１項に記載の機械アクセス可能な媒体。
【請求項１５】
前記格納された指示が実行されると、機械に、
アラーム機能により第１のデータに基づいてアラームを生成するように前記第１のユニバーサル・インターフェース・モジュールを構成させることを特徴とする、請求項９〜請求項１４の何れか１項に記載の機械アクセス可能な媒体。
【請求項１６】
プロセス制御システムに関連したデータに機械がアクセスするための方法であって、
第１のデータソース内の第１のデータを参照するために第１のユーザ定義のパラメータ名を受信し、
第１のデータアクセス標準に従って第１のデータソース内の前記第１のデータにアクセスするために複数のユニバーサル・インターフェース・モジュールの第１のユニバーサル・インターフェース・モジュールのための第１のパラメータを構成し、
前記第１のユーザ定義のパラメータ名に基づいて前記第１のデータソース内の前記第１のデータを参照するために前記第１のユニバーサル・インターフェース・モジュールのための第２のパラメータを構成し、
第１のユーザ定義パラメータ名を含む第１のデータアクセス依頼の受信に応答して前記第１のデータソース内の前記第１のデータにアクセスするために前記構成された前記第１のパラメータ及び前記第２のパラメータに従って前記第１のユニバーサル・インターフェース・モジュールを生成し、
前記第１のデータアクセス依頼が第１のフォーマットを有し、
前記第１のユニバーサル・インターフェース・モジュールが、前記第１のデータアクセス依頼に基づいて前記第１のデータソースに関連する第２のフォーマットを有する第３のデータアクセス依頼を生成するように構成され、
前記第１のデータソースが第１のデータアクセス・プロトコルに関連する
方法。
【請求項１７】
ユーザが前記第１のユーザ定義パラメータ名を指定できるようにするために複数のユーザ選択可能なフィールドを有するグラフィカルユーザインターフェースを表示することを更に含む、請求項１６に記載の方法。
【請求項１８】
ネットワーク・エンティティにより実行されることになっているネットワーク・エンティティに通信できるモジュールデータ構造内に前記第１のユニバーサル・インターフェース・モジュールを格納することを更に含む、請求項１６又は請求項１７に記載の方法。
【請求項１９】
共通の通信インターフェースを介して第１のデータソースにアクセスするように前記第１のユニバーサル・インターフェース・モジュールを構成することを更に含む、請求項１８に記載の方法。
【請求項２０】
共通の通信インターフェースがオブジェクトのリンクと埋め込み標準を使用して実施されることを特徴とする、請求項１６〜請求項１９の何れか１項に記載の方法。
【請求項２１】
データ処理機能によって、前記第１のデータにて数値演算動作を実行するように前記第１のユニバーサル・インターフェース・モジュールを構成できるようにすることを更に含む、請求項１６〜請求項２０の何れか１項に記載の方法。
【請求項２２】
アラーム機能によって、前記第１のデータに基づいてアラームを生成するようの前記第１のユニバーサル・インターフェース・モジュールを構成できるようにすることを更に含む、請求項１６〜請求項２１の何れか１項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概してプロセス制御システムに関し、より具体的にはプロセス制御システムに関連する情報にアクセスする機器および方法に関する。
【背景技術】
【０００２】
化学薬品の処理工程や、石油精製工程、またはその他のプロセスにおいて使用されるようなプロセス制御システムは通常、アナログ、デジタルまたはアナログ・デジタル混在バスを介して、少なくとも一つのホストまたはオペレーターワークステーションおよび、一つ又は複数のフィールド装置に通信可能に連結される一つ又は複数のプロセスコントローラと入・出力（Ｉ／Ｏ）装置を含んでいる。フィールド装置は、例えば、バルブ、バルブ・ポジショナ、スイッチおよびトランスミッタ（例えば、温度、圧力、流量センサ）などでありえ、バルブの開閉や工程パラメータの測定など、プロセス内における機能を実行する。プロセスコントローラは、フィールド装置により生成されたプロセス計測且つ又はフィールド装置に関するその他の情報を示す信号を受信し、その情報を使って制御ルーチンを実施してから、制御信号を生成する。この制御信号は、プロセスの動作を制御すべく、バスまたはその他の通信回線を通じてフィールド装置に送信されることになる。このように、フィールド装置を通信可能に連結しているバス及び又はその他の通信リンクを介してフィールド装置を使用することにより、プロセスコントローラは制御計画を実行且つ協調させうる。
【０００３】
フィールド装置及び又はコントローラからの情報は、オペレーターワークステーション（例えば、プロセッサを基盤としたシステム）により実行される一つ又は複数のアプリケーション（すなわち、ソフトウェアルーチン、プログラム、など）にとって利用可能なものとされ、それによって、例えば、プロセスの現状表示、プロセスの評価、プロセスの動作の修正変更などプロセスに関する所望の機能をユーザが行えるようになる。また、多くのプロセス制御システムには一つ又は複数のアプリケーションステーションも含まれている。一般にこれらのアプリケーションステーションは、ローカルエリアネットワーク（ＬＡＮ）を介してコントローラやオペレーターワークステーションおよびプロセス制御システム内のその他のシステムに通信可能に連結されるパーソナルコンピュータ、ワークステーション、サーバ、またはそれ同等のものを使用して実施される。各アプリケーションステーションは、プロセス制御システム内でキャンペーン管理機能、保守管理機能、仮想制御機能、診断機能、実時間監視機能、安全関連機能、構成機能などを行う一つ又は複数のソフトウェアアプリケーションを実行しうる。
【０００４】
ネットワークに通信可能に連結されたオペレーターワークステーション、アプリケーションステーション、コントローラおよびその他のプロセッサーシステムにより実行されるソフトウェアプロセスはしばしば、例えば第三者により提供されるネットワーク・エンティティ（例えば、フィールド装置、サーバ、データベース、プログラム可能論理制御装置、解析機構、実験室システム、ビジネスシステム、企業体ヒストリアン、ＳＱＬサーバ等を使用するバックエンド・データベースまたはそれ同等のもの、等）など、その他のデータソースに含まれる情報またはデータにアクセスすることを必要とする。但し、大抵の場合、ネットワーク・エンティティは同じ通信インターフェース標準、プロトコルまたはデータアクセス機能を使用していない。よって、複数の異なるデータソースのデータへのアクセスを必要とするソフトウェアプロセス（例えば、プロセス制御ルーチン）をエンジニアまたはユーザが開発する時は常に、エンジニアは、カスタマイズされたデータソース・アクセス・インターフェースを、エンジニアがデータへのアクセスを可能にしたいと希望する各データソースに向けて開発しなければならない。よって、それぞれカスタマイズされたデータソース・アクセス・インターフェースを生成するにはエンジニアが、様々なデータソースに関連した通信インターフェース標準およびプロトコルに関する高度な訓練を受けている、または高度な知識を備えていることが要求される。
【発明の開示】
【課題を解決するための手段】
【０００５】
プロセス制御システムにインターフェース接続される、ネットワーク化されたエンティティに関連した情報にアクセスするための例示的な機器および方法を説明する。一実施例による例示的な装置は、プロセッサーシステムと、プロセッサーシステムに通信可能に連結されたメモリを含んでいる。前記メモリはそれに格納された指示を含んでおり、前記指示は、プロセッサーシステムが第１のデータソースにある第１の基準値を参照すべく第１のユーザ定義パラメータ名を受け取ることを可能にし、且つ複数のデータソース・インターフェースの最初の一つが第１のデータソースにある第１の基準にアクセスすることを可能にする。また、前記格納された指示は、第１のユーザ定義パラメータ名に基づいて第１のデータソース内の第１の基準値への参照を可能にする。更に、前記格納された指示は、第１のユーザ定義パラメータ名を含む第１のデータアクセス依頼（要求）の受信に応答して第１のデータソース内の第１の基準値にアクセスするように構成されたデータソース・インターフェース・ソフトウェアをプロセッサーシステムが生成することを可能にする。
【０００６】
別の実施例における例示的な方法には、第１のデータソース内の第１の基準値を参照するために第１のユーザ定義パラメータ名を受け取ることを伴う。複数のデータソース・インターフェースの最初の一つにより第１のデータソース内の第１の基準値にアクセスすることができる。また、例示的な方法には、第１のユーザ定義パラメータ名に基づいて第１のデータソース内の第１の基準値を参照することを可能にすることも伴う。更にまた、第１のユーザ定義パラメータ名を含む第１のデータアクセス依頼の受信に応答して第１のデータソース内の第１の基準値にアクセスするために、データソース・インターフェース・ソフトウェアがその後に生成される。
【図面の簡単な説明】
【０００７】
【図１】例示的なプロセス制御システムを示すブロック図である。
【図２】複数のデータソースへのアクセスを可能にするための本明細書に記載される例示的な方法および装置に従って実施される、例示的なユニバーサル・インターフェース・モジュールを有するデータアクセス構成を示す図である。
【図３】図２のユニバーサル・インターフェース・モジュールの例示的な実施形態のブロック図である。
【図４】図２のユニバーサル・インターフェース・モジュールを実施するのに使用できる例示的な方法のフローチャートを描く図である。
【図５】ソフトウェアプロセスがユニバーサル・インターフェース・モジュールを介してプロセスコントローラ内のデータにアクセスできる例示的な様態を描く図である。
【図６】エンタープライズ・ネットワークに通信可能に連結されたその他のエンティティにおけるデータにアクセスするために、異なるネットワーク・エンティティがユニバーサル・インターフェース・モジュール・オブジェクトをインスタンス化する、図１の例示的なエンタープライズ・ネットワークの一部分を示す図である。
【図７】ユニバーサル・インターフェース・モジュールを構成するために構成フェーズ中に使用されることができる例示的な構成プログラム・グラフィカルユーザインターフェース（ＧＵＩ）を示す図である。
【図８】実行フェーズ中にユニバーサル・インターフェース・モジュールを使用してアクセスされたデータを表示するために使用されることができる例示的な実行時ＧＵＩを示す図である。
【図９】図７の構成プログラムＧＵＩを介して提供されるユーザ指定の構成に基づいて生成された例示的なソフトウェア命令を含んでいる、事前コンパイル中間準備エリアを描く図である。
【図１０】ユニバーサル・インターフェース・モジュールが第三者データソースと通信することができる例示的な共有通信インターフェースを描く図である。
【図１１】図１０の共有通信インターフェースを実施するために使用されることができるリソースのフレームワーク（枠組み）およびデータソース・エクステンション（ＤＳＥ：Ｄａｔａ  Ｓｏｕｒｃｅ  Ｅｘｔｅｎｓｉｏｎ）のフレームワークを示す図である。
【図１２】ユーザが構成フェーズ中にユニバーサル・インターフェース・モジュールを構成することを可能にするために使用されることができる例示的な方法のフローチャートを描く図である。
【図１３Ａ】実行時フェーズ中にユニバーサル・インターフェース・モジュールを実施するために使用されることができる例示的な方法のフローチャートを描く図である。
【図１３Ｂ】実行時フェーズ中にユニバーサル・インターフェース・モジュールを実施するために使用されることができる例示的な方法のフローチャートを描く図である。
【図１３Ｃ】実行時フェーズ中にユニバーサル・インターフェース・モジュールを実施するために使用されることができる例示的な方法のフローチャートを描く図である。
【図１４】本明細書に記載される例示的な機器および方法を実施するために使用されることができる例示的なプロセッサーシステムのブロック図である。
【発明を実施するための形態】
【０００８】
なお、以下の説明では、例示的な機器およびシステムが、その他の数多く存在する構成要素の中でも特に、ハードウェア上で実行されるソフトウェア及び又はファームウェアを含んだ状態で述べられているが、このようなシステムは単に本発明の実施形態の一例に過ぎず、本発明を限定するものであると見なされるべきでない。例えば、これらのハードウェア、ソフトウェアおよびファームウェア構成要素のいずれか又は全ては、ハードウェアにおいてのみ、またはソフトウェアにおいてのみ、あるいはハードウェアとソフトウェアの任意の組合せにおいて具体化できるものとして考慮されるべきである。よって、実施例として挙げられる機器およびシステムが以下に説明されているが、通常の技術を有する当業者であれば、本明細書に提供される実施例がこれらの機器およびシステムを実施する唯一の手段ではないことが容易に理解できるはずである。
【０００９】
既知の技法は、（例えば、複数のサブシステムとデータソースをその中に備える法人企業体などの）ネットワーク・システムの至る所に設置されている様々なタイプのデータソース（例えば、データベース、サーバ、プロセス制御システムコントローラ、など）に関連する（例えば、由来する、または格納されている）情報にソフトウェアプロセスがアクセスする（例えば、読み込む、または書き込む）ことを可能にするものであり、各々のデータソースと情報を交換するように高度にカスタマイズされたデータソース・インターフェース構成体またはデータソース・インターフェース・モジュール（例えば、ソフトウェア機能、オブジェクト指向プログラミング・クラス、ソフトウェア層、など）を採用する。同じ制御システム製造メーカにより提供された標準部品にインターフェース接続する場合、これらのインターフェースは事前に構築されるので、通常インターフェース接続ソフトウェアの複雑性のほとんどはユーザに分からない（見えない）状態になっている。しかしながら、第三者からの異なる対象データソース内の情報にアクセスするようにソフトウェアプロセスが構成されるたびに、対象データソースに関連する通信インターフェース標準およびプロトコルに関して比較的高度な訓練を受けている、または比較的高度な知識を有する個人（例えば、プログラマ、エンジニア、など）が、対象データソース内の情報にアクセスするように構成され高度にカスタマイズされたデータソース・インターフェースを作成しなければならない。従って、既知の技法の場合では、ソフトウェアプロセスが情報を交換することになる各データソースの通信インターフェースや通信プロトコルなどに関する比較的高度な知識を有することが個々人に要求される。
【００１０】
第三者データソースにインターフェース接続する既知の技法とは異なり、本明細書に記載される例示的な機器と方法は、異なるタイプのデータソースの通信インターフェース、通信プロトコルなどに関する多量の知識を有することをユーザに要求することなく、様々なタイプのデータソースに関連する（例えば、由来する、または格納されている）情報またはデータにアクセスする際にユニバーサル・データソース・アクセス・インターフェース（すなわちユニバーサル・インターフェース）を使用すること可能にする。制御システムは、それぞれが一つ又は複数の第三者データソースにアクセスするように構成されるユニバーサル・インターフェースの様々なインスタンスを、備えることができる。ユニバーサル・インターフェースの各インスタンスには、当該ユニバーサル・インターフェース・インスタンスに対応するデータソース内のデータにアクセスするためにデータアクセス依頼を行うことができる一般データアクセス・インターフェースが、含まれうる。一般データアクセス・インターフェースには、制御システム中のその他のデータにアクセスするために使用されるものに類似するデータアクセス技法を使用することにより、制御システムを通じてアクセスしうる。本明細書に示される実施例では、制御システムルーチンを構成し実行するための制御システムソフトウェアがモジュールを使用して実施される。ユーザは、プロセス制御システムのコントローラ及び又はフィールド装置により実行されることになっているプロセス制御ルーチンを定義するために、モジュールを構成することができる。モジュールは、プロセス制御ルーチンを実施するための機能を定義する複数の機能ブロックを含んでいる。例示的な実施形態のいくつかでは、この機能によって、コントローラまたはフィールド装置に測定値（例えば、電圧値、温度値、フロー値、電圧値、現在値、など）を取得させたり、アルゴリズムまたは計算（例えば、積分、微分、たし算、ひき算、など）を実行させたり、計装の制御（例えば、バルブの開閉、炉調整、ボイラ調整、など）を行わせたり、またはその他いかなる機能を行わせるようにしても良い。後述の実施例におけるユニバーサル・インターフェースは、アクセスされる（例えば、読み込まれる、書き込まれる、修正変更される、など）データのタイプを指定するために複数のユーザ構成可能設定を備えるモジュールを使用して実施される。
【００１１】
データがアクセスされるたびに、所望のデータの位置を示すパス情報、装置識別情報、レジスタ情報をデータアクセス依頼に含んで提供することを要求するのではなく、ユーザ定義の名称に基づいてアプリケーションが制御システムの全体にわたりデータにアクセスすることを可能にすべく、ユーザ定義の名称を特定のデータに割り当てるようにユニバーサル・インターフェース・モジュールを構成することができる。例示的なユニバーサル・インターフェース・モジュールは、異なるタイプのデータソース（例えば、プログラム可能論理制御装置（ＰＬＣ）、フィールド装置、サーバ、など）と通信するために比較的高度にカスタマイズされた複数のデータソース・インターフェース機能を含んでいる。異なるデータソースに関連する様々な通信インターフェース標準およびプロトコルに関する多量の予備知識または知識を必要とせずに、異なるタイプのデータソース内の情報にアクセスするのに、ユーザまたはアプリケーションが例示的なユニバーサル・インターフェース・モジュールを使用できるようするために、例示的なユニバーサル・インターフェース・モジュールは、データソースと関連する高度にカスタマイズされたデータソース・インターフェース機能から一般データアクセス依頼インターフェースを抽象化する。
【００１２】
例示的な実施形態では、実験室データシステムにおいて生成及び又は格納される実験室計測データにアクセスするために、例示的なユニバーサル・インターフェース・モジュールが実験室データシステムに連結されたアプリケーションステーションにて実施されうる。アプリケーションステーション内のユニバーサル・インターフェース・モジュールには、ユーザまたはソフトウェアプロセス（例えば、アプリケーション）が実験室データに各々割り当てられたユーザ定義の名称を使用して実験室計測データにアクセスするために使用できる一般データアクセス・インターフェースが含まれうる。また、ユニバーサル・インターフェース・モジュールは、依頼された実験室データに割り当てられたユーザ定義の名称を含む一般データアクセス・インターフェースからデータ依頼を受け取る実験室データアクセス依頼生成機構を含みうる。実験室データアクセス依頼生成機構は、実験室データを生成及び又は格納する実験室データシステム内の実験室データへのアクセスに特有なインターフェースのフォーマットを使用してデータ依頼をフォーマットするように構成される。このように、例示的なユニバーサル・インターフェース・モジュールを使用するように構成されたユーザまたはソフトウェアプロセスは、例示的なユニバーサル・インターフェース・モジュールの一般データアクセス依頼インターフェースを介し、ユーザ定義のデータ名を使用して実験室データを依頼することができる。またそれによって、例示的なユニバーサル・インターフェース・モジュールは、データアクセス依頼を生成して実験室データシステムにその依頼を通信するために実験室データアクセス依頼生成機構を使用できるようになり、これにより、実験室データシステムと直接に通信するための特定のデータ依頼フォーマットをユーザまたはソフトウェアプロセスが認識していることを要求する必要がなくなる。
【００１３】
別の例示的な実施形態では、制御システム内部または外部のＳＱＬデータベースにデータアクセスを提供すべく、制御システム内のアプリケーションステーションにおいてインスタンス化された例示的なユニバーサル・インターフェース・モジュールが構造化問合せ（クエリ）言語（ＳＱＬ）データベース・インターフェースを備えうる。ＳＱＬデータベース・インターフェースは、データ読み出し及び又はデータを格納するためにＳＱＬデータベースに通信すべく、データ依頼をＳＱＬ問合せ文字列にフォーマットする問合せ文字列生成機構としての機能を含みうる。このように、例示的なユニバーサル・インターフェース・モジュールを使用するように構成されたユーザまたはソフトウェアプロセスは、例示的なユニバーサル・インターフェース・モジュールの一般データアクセス依頼インターフェースを介してデータアクセス依頼を提供することができる。データアクセス依頼は、ユニバーサル・インターフェース・モジュールを実行するアプリケーションステーションの中から発する、またはアプリケーションステーションに通信可能に連結された別のアプリケーションステーションまたはその他の構成要素から発することができる。またそれによって、例示的なユニバーサル・インターフェース・モジュールはＳＱＬ問合せ文字列生成機構機能を使用して、データアクセス依頼を適切なＳＱＬ問合せ文字列に変換し、ＳＱＬデータベースにＳＱＬ問合せ文字列を通信することができる。
【００１４】
ここで図１を参照すると、例示的なエンタープライズ・ネットワーク１００は、例えば製造環境、材料取扱い環境などにおける一つ又は複数のプロセスの自動化に関連する一つ又は複数のプロセス制御システム、データ分析システム、データ記憶システムなどを含んでいる。バスまたはローカルエリアネットワーク（ＬＡＮ）１０６を介してコントローラＡ  １０８、コントローラＢ  １１０、アプリケーションステーション１１２、およびアプリケーションステーション１０２を通じて企業体ネットワーク１００に接続されているビジネスシステム１１４に通信可能に連結されたオペレータステーション１０４およびアプリケーションステーション１０２が、例示的なエンタープライズ・ネットワーク１００に含まれている。議論の目的上、図１には特定数のシステムおよび特定タイプのシステムが示されているが、例示的な企業体ネットワーク１００には更に多くの、またはより少数の、システムおよびその他のタイプのシステムが含まれてよい。
【００１５】
アプリケーションステーション１０２は、一つ又は複数の情報技術アプリケーション、ユーザ対話型アプリケーション、及び又は通信アプリケーションに関連した動作を実行するように構成されうる。例えば、アプリケーションステーション１０２、オペレータステーション１０４、コントローラＡ  １０８、コントローラＢ  １１０、アプリケーションステーション１１２およびビジネスシステム１１４が、任意の所望の通信媒体（例えば、ワイヤレス、ハードワイヤード式、など）およびプロトコル（例えば、ＨＴＴＰ、ＳＯＡＰ、など）を使用してお互いに及び又はその他のシステムと通信できるようにする通信用アプリケーションやプロセス制御関連アプリケーションに関連する動作を実行するようにアプリケーションステーション１０２を構成しうる。
【００１６】
ＬＡＮ  １０６は所望のあらゆる通信媒体およびプロトコルを使用して実施されうる。例えば、ＬＡＮ  １０６は、ハードワイヤード（配線式）またはワイヤレス（無線式）Ｅｔｈｅｒｎｅｔ（登録商標）通信方式に基づくものでありうる。これについては周知の方式であるため、ここで更に詳しく説明しない。しかしながら、通常の技術を有する当業者ならば、その他のあらゆる適切な通信媒体およびプロトコルを使用できることは一目瞭然のはずである。更に、アプリケーションステーション１０２およびオペレータステーション１０４内にＬＡＮが一つだけ備えられた状態で図示されているが、二つ以上のＬＡＮおよび適切な通信系ハードウェアを使用して、これらのシステム間に冗長通信経路を提供するようにしても良い。例示的な企業体ネットワーク１００のステーション１０４、１０２および１１２及び又はコントローラ１０８および１１０がＬＡＮ  １０６を介して通信可能に連結された状態で図示されているが、例示的な企業体ネットワーク１００におけるステーション１０２、１０４および１１２、コントローラ１０８および１１０、及び又は第三者ビジネスシステム１１４  の一つ又は複数を地理的に遠隔な位置に設置しても良く、この場合、例えば、ワイヤレス通信回線、インターネットを基盤とした通信ネットワーク、またはその他にも交換通信ネットワークやパケットを基盤とした通信ネットワーク、電話回線（例えば、デジタル加入者線）、またはそれのいかなる組合せを使用して実施される広域ネットワーク（ＷＡＮ）（図示せず）を介して、当前記一つ又は複数のステーションおよびコントローラをＬＡＮ  １０６に通信可能に連結しても良い。更に、ステーション１０２、１０４および１１２、コントローラ１０８および１１０、及び又はビジネスシステム１１４  内にはＬＡＮが一つだけ備えられた状態で図示されているが、二つ以上のＬＡＮおよび適切な通信系ハードウェアを使用して、これらの間に冗長通信経路を提供するようにしても良い。
【００１７】
アプリケーションステーション１０２は、アプリケーションステーション１０２、オペレータステーション１０４、コントローラＡ  １０８、コントローラＢ  １１０、アプリケーションステーション１１２、及び又はビジネスシステム１１４の一つ又は複数においてソフトウェアプロセスが情報にアクセスする（例えば、読み取る及び又は書き込む）ことを可能にするために本明細書に記載される例示的な方法およびシステムを実施するために使用される、一つ又は複数のアプリケーションに関連する動作を実行するように構成されうる。アプリケーションステーション１０２およびオペレータステーション１０４は、一つ又は複数のワークステーションまたはその他の適切な１以上のコンピュータ・システム（または処理システム（例えば、図１４のプロセッサーシステム１４１０）を使用して実施されうる。例えば、シングルプロセッサのパーソナルコンピュータ、シングルまたはマルチプロセッサのワークステーションなどを使用して、アプリケーションステーション１０２およびオペレータステーション１０４を実施することが可能である。
【００１８】
コントローラ１０８および１１０の詳細に注目すると、コントローラＡ  １０８には制御ＣＰＵ  １１６が含まれており、コントローラＢ  １１０には制御ＣＰＵ  １１８が含まれている。本明細書においては、その各々がＬＡＮ  １０６に通信可能に連結された状態で示されている。制御ＣＰＵの１１６と１１８の各々は、各々のＩ／Ｏ装置１２８と１３０を介して、各フィールド装置１２０と１２２及び各プログラム可能論理制御装置（ＰＬＣ）１２４と１２６に通信可能に連結されている。フィールド装置１２０と１２２、ならびにＰＬＣの１２４と１２６は、制御システムの製造メーカ、または第三者により提供されたものであってよい。コントローラＡ  １０８に連結された制御ＣＰＵ  １１６、フィールド装置１２０、ＰＬＣ  １２４およびＩ／Ｏ装置１２８は、コントローラＢ  １１０に連結されている各々対応する制御ＣＰＵ  １１８、フィールド装置１２２、ＰＬＣ  １２６およびＩ／Ｏ装置１３０と実質的に類似しているものであってもよい、もしくは異なるものであってもよい。
【００１９】
例えば、Ｅｍｅｒｓｏｎ  Ｐｒｏｃｅｓｓ  Ｍａｎａｇｅｍｅｎｔ（登録商標）およびＦｉｓｈｅｒ−Ｒｏｓｅｍｏｕｎｔ  Ｓｙｓｔｅｍｓ，Ｉｎｃ社により販売されるＤｅｌｔａＶ（登録商標）コントローラを使用してコントローラ１０８と１１０のうち一つまたは両方を実施しうる。但し、その他のコントローラを代わりに使用することも可能である。図１のコントローラ１０８および１１０の各々において制御ＣＰＵが一つだけ備えられた状態で示されているが、いかなる所望のタイプまたはいかなる所望のタイプの組合せの制御ＣＰＵを追加して備えても良い。いかなる場合も、システムエンジニアまたはその他のシステムオペレータがアプリケーションステーション１０２を使用して生成し制御ＣＰＵ１１６および１１８においてインスタンス化した一つ又は複数のプロセス制御ルーチンを有する一つ又は複数のプロセス制御モジュールを、制御ＣＰＵ１１６および１１８により実行しうる。更に、第三者の装置を含むネットワーク・エンティティにおけるデータの場所を定義する装置ＩＤやレジスタ・アドレスまたはＩＤなどの提供を要する代わりに、ユーザ定義のデータアクセス依頼パラメータ名を使用してフィールド装置１２０と１２２およびＰＬＣ１２４と１２６内のデータにユーザ及び又はアプリケーションがアクセスすることを可能にするために、一つ又は複数のユニバーサル・インターフェース・モジュールを、制御ＣＰＵの１１６および１１８により実行しうる。本明細書に記載されるユニバーサル・インターフェース・モジュールは、この情報を制御システム内のその他のアプリケーションにより容易に利用できるようにするために、第三者装置を含むネットワーク・エンティティに定期的にアクセスして前記第三者装置を含むネットワーク・エンティティからアクセスした値を局部的（ローカル）にキャッシュするように構成されうる。
【００２０】
フィールド装置１２０および１２２のうち一つまたは両方は、Ｆｉｅｌｄｂｕｓ適合バルブ、アクチュエータ、センサなどであってよく、この場合、フィールド装置１２０および１２２は周知のＦｉｅｌｄｂｕｓプロトコルを使用して各々の制御ＣＰＵ１１６および１１８と通信する。もちろん、より少数のまたは更に多くのフィールド装置およびその他のタイプのフィールド装置と通信プロトコルを代わりに使用することも可能である。その代わりとして、例えば、フィールド装置１２０および１２２のうち一つまたは両方は、周知のＰｒｏｆｉｂｕｓ（登録商標）およびＨＡＲＴ（登録商標）通信プロトコルを使用して各々の制御ＣＰＵ１１６および１１８と通信するＰｒｏｆｉｂｕｓ（登録商標）またはＨＡＲＴ（登録商標）適合装置であってよい。（Ｉ／Ｏ装置１２８および１３０に類似するか同一の）Ｉ／Ｏ装置を追加して制御ＣＰＵ１１６および１１８に連結しても良く、そうすることによって、（Ｆｉｅｌｄｂｕｓ装置、ＨＡＲＴ（登録商標）装置などでありうる）追加されたフィールド装置の一群が制御ＣＰＵ１１６および１１８と通信することができるようにしても良い。
【００２１】
図１に表されるように、アプリケーションステーション１１２は、アラームおよびイベント監視機能１３２およびイベント・ヒストリアン１３４を実行する。アラームおよびイベント監視機能１３２は、例示的な企業体ネットワーク１００のプロセスコントローラ１０８および１１０の一つ又は複数に関連する様々な態様及び又は区域を監視すべく、一つ又は複数の監視ルーチンに関連する動作を実行するように構成されうる。例えば、アラームおよびイベント監視機能１３２により監視されるコントローラ１０８および１１０における特定のイベント（例えば、圧力限界値、プロセス開始時間、プロセス終了時間、設備の不具合、など）をユーザが指定しても良く、更にイベントが特定の特徴（例えば、しきい値限界値に達したなど）を有する場合に生成されるべきアラームのタイプをユーザが指定しても良い。イベント・ヒストリアン・ステーション１３４は、アラームおよびイベント監視機能１３２が監視するように設定されている各イベント、アラーム、アクションなどに関連したプロセス制御ログ情報を取得または収集することができる。イベント・ヒストリアン・ステーション１３４はログ・データベース（図示せず）にプロセス制御ログ情報を格納できる。
【００２２】
ビジネスシステム１１４には複数のサーバおよびデータベースが備えられている。なお、図中では第三者サーバ１３６および第三者データベース１３８が前記複数のサーバおよびデータベースの一例として示されている。一般に、ビジネスシステム１１４は企業体ネットワーク１００のビジネス的側面（例えば会計、購買、営業、市場取引など）を対象としうる。例えば、ビジネスシステム１１４は、棚卸しされた原材料の数量や稼動コスト、必要生産数量などを示す情報を格納することができる。ビジネスシステム１１４内の情報のいくつかは、企業体ネットワーク１００のその他の構成要素（例えば、コントローラ１０８および１１０、アプリケーションステーション１１２など）から得られた情報に基づいて生成されることができる。更にまた、コントローラ１０８および１１０及び又はアプリケーションステーション１１２は、アプリケーションステーション１０２により実行されビジネスシステム１１４内のデータへのアクセスを可能にするように構成されたユニバーサル・インターフェース・モジュール（例えば、図２のユニバーサル・インターフェース・モジュール２０６）を通じてビジネスシステム１１４に格納された情報を読み出すことができる。また、ステーション１０２、１０４と１１２およびコントローラ１０８と１１０により構成される制御システムからビジネスシステムに生産実績情報を通信できる。
【００２３】
第三者サーバ１３６および第三者データベース１３８は、ビジネス関連動作の任意のものを実行するために実施されうる。第三者サーバ１３６および第三者データベース１３８がステーション１０２、１０４と１１２およびコントローラ１０８と１１０に関連した同じデータアクセス・インターフェース規格またはプロトコルを使用しないことを示すために、「第三者」の命名規則を使用しうる。即ち、第三者サーバ１３６および第三者データベース１３８内の情報にアクセスするために使用されるデータアクセス・プロトコルは、ステーション１０２、１０４と１１２およびコントローラ１０８と１１０により構成された制御システム内の情報にアクセスするために使用されるデータアクセス・プロトコルとは実質的に異なりうる。例えば、ステーション１０２、１０４と１１２およびコントローラ１０８と１１０が、制御システムソフトウェア・パッケージ（例えば、Ｅｍｅｒｓｏｎ  Ｐｒｏｃｅｓｓ  Ｍａｎａｇｅｍｅｎｔ社（登録商標）によるＤｅｌｔａＶ（登録商標）ディジタル・オートメーション・システム）の一部として共通の供給業者（例えば、Ｅｍｅｒｓｏｎ  Ｐｒｏｃｅｓｓ  Ｍａｎａｇｅｍｅｎｔ社（登録商標））により提供されるものである場合、供給業者に定義されたデータアクセス標準（つまり、ネーティブ（自身固有）のデータアクセス・インターフェース規格）を使用するように、ステーション１０２、１０４と１１２およびコントローラ１０８と１１０のそれぞれを構成しうる。但し、ステーション１０２、１０４、１１２およびコントローラ１０８と１１０が、第三者サーバ１３６および第三者データベース１３８（またはフィールド装置またはＰＬＣなどの第三者フィールド装置）に関連したネーティブでない第三者データアクセス・インターフェース規格を使用するように構成されない場合もある。本明細書に示される実施例において、第三者データアクセス・インターフェースはネーティブ・データアクセス・インターフェースとは異なる。即ち、ネーティブ・データアクセス・インターフェースを実施するために使用されるものと同じ供給業者定義のデータアクセス標準に従って設計または構成されたデータアクセス・インターフェースが、第三者データアクセス・インターフェースを必要とする第三者データソースには備えられていない。
【００２４】
例示的な実施形態のいくつかにおいて、第三者データソース内のデータにアクセスするための第三者データアクセス・インターフェースは、供給業者定義のデータアクセス標準（または供給業者定義のデータアクセス標準とは異なる業界定義のデータアクセス標準）に従って構成される。ユーザおよびソフトウェアプロセス及び又はソフトウェアアプリケーションが各タイプのデータソース特有のフォーマットにてデータアクセス依頼を提供することを必要とせずに、ユーザおよびソフトウェアプロセス及び又はソフトウェアアプリケーションによるネーティブのデータソースおよび第三者データソースへのアクセスを可能にするために、本明細書に記載される機器および方法は、第１のフォーマットを備えるデータアクセス依頼を、ネーティブのデータアクセス・インターフェースのフォーマット及び又は第三者データアクセス・インターフェースのフォーマットへ翻訳するユニバーサル・インターフェース・モジュールを提供する。このように、あらゆるタイプのデータソースに含まれるデータにアクセスするためのデータアクセス依頼フォーマットは、ユニバーサル・フォーマットに標準化される。このようなユニバーサル・フォーマットへの標準化により、アクセスされるべきデータのパラメータ名をユーザが定義できるようになり、且つ、ユーザやソフトウェアプロセス及び又はアプリケーションがユーザ定義のパラメータ名を使用してデータにアクセスできるようになる。
【００２５】
例えばステーション１０２、１０４、１１２およびコントローラ１０８と１１０のような制御システムのネーティブ構成要素によって、それに生成された及び又はそれの中に格納されているデータにアクセスするために実行できるユニバーサル・インターフェース・モジュールを実施するために、本明細書に記載される例示的な方法および機器を使用できる。第三者製造メーカにより提供されたビジネスシステム１１４、フィールド装置（例えば、フィールド装置１２０および１２２に類似するまたはそれと同一のフィールド装置）、及び又はＰＬＣサブシステム（例えば、ＰＬＣ１２４および１２８に類似するか、またはそれと同一のＰＬＣ）により生成及び又は格納されているデータにアクセスするために、ユニバーサル・インターフェース・モジュールを制御システムのネーティブの構成要素によって使用することもできる。特に、ユニバーサル・インターフェース・モジュールにより、ネーティブ構成要素のユーザまたはソフトウェアプロセスに、企業体ネットワーク１００全体に至る異なるデータソースに関連する様々な通信プロトコルや通信インターフェースまたはデータアクセス機能に関する比較的高度な知識を有することを要求する必要なく、制御システムに連結されているあらゆる構成要素内のデータにアクセスすることが可能になる。
【００２６】
例示的な企業体ネットワーク１００は、より詳細にわたり後述される例示的なシステムおよび方法を有利に採用しうるシステムの一種を示すべく提示されている。但し望ましい場合は、図１に示される例示的な企業体ネットワーク１００よりも複雑なその他のシステムにおいても、または例示的な企業体ネットワーク１００よりも複雑性の低いその他のシステムにおいても、及び又はプロセス制御作業、企業体管理動作、通信作業などに関連して使用されるシステムにおいても、本明細書に記載される例示的なシステムおよび方法を有利に採用することができる。
【００２７】
図２に描かれるデータアクセス構成２００は、本明細書に記載される例示的な方法および機器に従って構成され、アプリケーションステーション１０２により実行されるソフトウェアプロセス２０２が例示的なユニバーサル・インターフェース・モジュールを介して複数の異なるデータソース内の情報にアクセスすることを可能にするように構成される。本明細書に示される実施例において、アプリケーションステーション１０２により実行された例示的なユニバーサル・インターフェース・モジュール２０６は、第三者データベース・インターフェース２０８を介した第三者データベース１３８へのアクセスを提供する。制御ＣＰＵ１１６により実行される例示的なユニバーサル・インターフェース・モジュール２１０は、コントローラＡ  １０８、フィールド装置１２０、及び又はＰＬＣ１２４により生成された及び又はそれに格納されているデータへのアクセスを提供する。制御ＣＰＵ  １１８により実行される例示的なユニバーサル・インターフェース・モジュール２１２は、コントローラＢ  １１０、フィールド装置１２２、及び又はＰＬＣ１２６により生成された及び又はそれに格納されているデータへのアクセスを提供する。ユニバーサル・インターフェース・モジュール２０６、２１０および２１２の各々は、アクセスされるべきデータおよびそのデータのユーザ定義パラメータ名を指定するユーザ定義の構成に基づいて、その各々のネットワーク・エンティティによりインスタンス化され実行される。ユニバーサル・インターフェース・モジュール２０６、２１０および２１２のインスタンスは、ユーザ定義のパラメータ名を用いて後で当前記のデータにアクセスするために複数回使用できるアクセスされるべきデータへのパスを定義するために、構成フェーズ中に一回比較的容易に構成されうるモジュールとして実施される。
【００２８】
ソフトウェアプロセス２０２は、ステーション１０２および１０４（図１）上で実行可能なユーザ・アプリケーションでありえ、グラフィカルユーザインターフェース（ＧＵＩ）や、制御ＣＰＵの１１６および１１８のうちのいずれかに実質的に類似するか、またはそれと同一である制御ＣＰＵにより実行可能なソフトウェアプロセス、またはその他のシステムにより実行可能なソフトウェアプロセスを有する。例示的な実施形態のいくつかでは、ソフトウェアプロセス２０が、企業体ネットワーク１００において生成された特定のデータを監視するバックグラウンド・プロセスであってよい。その他の例示的な実施形態において、ソフトウェアプロセス２０２は、ユーザが企業体ネットワーク１００に関連する情報をアクセスできるウェブ基盤のアプリケーションであってよい。ユニバーサル・インターフェース・モジュール２０６の使用により、ソフトウェアプロセス２０２には、第三者データベース１３８にアクセスするために第三者データベース・インターフェース２０８に特有のデータアクセス機能を備える必要がなくなる。同じように、ソフトウェアプロセス２０２は、制御ＣＰＵ  １１６、フィールド装置１２０および及び又はＰＬＣ  １２４内のデータにアクセスするためにユニバーサル・インターフェース・モジュール２１０を使用でき、また制御ＣＰＵ１１８、フィールド装置１２２、及び又はＰＬＣ  １２６内のデータにアクセスするためにユニバーサル・インターフェース・モジュール２１２を使用できる。図示する実施例において、また以下より詳細にわたり説明されているように、ユニバーサル・インターフェース・モジュール２０６、２１０および２１２は、ユーザ定義のパラメータ名を含む第１のフォーマットでデータアクセス依頼を受け取るように構成され、且つ、アクセスされるべきデータソースに対応したフォーマットにデータアクセス依頼を変換してフォーマットされたデータアクセス依頼を対応するデータソース（例えば、第三者データベース１３８、制御ＣＰＵ１１６と１１８、ＰＬＣ１２０と１２２、およびフィールド装置１２４と１２６）に通信するように構成された、複数の事前定義された機能を有するモジュールとして実施される。更に、データソースに書き込まれるべきデータがソフトウェアプロセス２０２により提供される場合、ユニバーサル・インターフェース・モジュール２０６、２１０および２１２は、前記提供されるデータを各々のデータソースに対応するフォーマットに翻訳するように構成される。このように、情報を交換するところの異なるデータソースに関連する異なる通信プロトコルや通信フォーマットや通信インターフェースなどに関する詳細を知っていなければならない、というユーザへの負担が解消される。
【００２９】
図３は、図２のユニバーサル・インターフェース・モジュール２０６、２１０および２１２の各々を実施するために使用されうる例示的なプログラミング構造のブロック図である。本明細書に示される実施例において、ユニバーサル・インターフェース・モジュール２０６、２１０および２１２の各々はオブジェクト指向プログラミング環境を使用して実施される。但し、任意の適切なタイプのプログラミング言語に関しては、その代わりとして他のタイプのプログラミング環境を使用しうる。ユニバーサル・インターフェース・モジュールは異なるネットワーク・エンティティにおいてインスタンス化されうる。例えば、図１および図２のアプリケーションステーション１０２はユニバーサル・インターフェース・モジュール２０６をインスタンス化し実行するように構成され、図１および図２の制御ＣＰＵ１１６はユニバーサル・インターフェース・モジュール２１０をインスタンス化し実行するように構成され、また図１および図２の制御ＣＰＵ１１８はユニバーサル・インターフェース・モジュール２１２をインスタンス化し実行するように構成される。ユニバーサル・インターフェース・モジュールの機能特性のいくつかまたは全ては、機械アクセス可能媒体に格納された、例えば図１４の例示的なプロセッサーシステム１４１０などのプロセッサーシステムにより実行されると図１３Ａ〜図１３Ｂのフローチャートに示される動作を実行するような指示、コード、及び又はその他のソフトウェア及び又はファームウェアなどを使用して実施しうる。
【００３０】
図示される実施例における図２のユニバーサル・インターフェース・モジュール２０６、２１０および２１２の各々は、その構成要素（例えば、図１のコントローラＡ  １０８）内の、またはその構成要素に連結されている別のデータソース（例えば、図１および図２のフィールド装置１２０またはＰＬＣ  １２４）内のデータへアクセスするために、企業体１００（図１）の各々のネーティブ構成要素により実行されるように設計、プログラムなどを行いうる。ネーティブのおよび第三者のコントローラやサーバ、データベースなどをはじめとする異なるネットワーク・エンティティにアクセスするためのデータアクセス依頼のフォーマットは、ソフトウェア提供業者、プロセス制御システムのサプライヤ、設備メーカなどにより定義されうる。
【００３１】
ユニバーサル・インターフェース・モジュールのインスタンス化は、図７を参照して後述される構成用インターフェースを介して構成されうる一つ又は複数のユーザ選択可能な機能特性に基づいて作動するように構成されうる。構成フェーズ中には、ユーザがデータアクセスを有効に設定することを希望するデータソースのタイプに基づいて、およびユーザがデータアクセス関連用途に向けて有効に設定することを希望する機能のタイプ（例えば、データ処理、アラーム、など）に基づいて、ユーザ（例えば、ソフトウェア提供業者、プロセス制御システムのサプライヤ、設備メーカなどの顧客）が、機能特性のいくつかまたは全てを選択できる。実行フェーズ中には、構成フェーズ中に指定されたユーザ構成に基づいてユニバーサル・インターフェース・モジュールが作動する。ユニバーサル・インターフェース・モジュールの設計フェーズ、構成フェーズおよび実行フェーズについては、図４を参照して以下詳細にわたり説明する。
【００３２】
図３に示されるように、図２のユニバーサル・インターフェース・モジュール２０６、２１０および２１２の各々は、ＵｎｉｖｅｒｓａｌＩｎｔｅｒｆａｃｅＣｌａｓｓタイプのオブジェクト指向クラス（本稿ではユニバーサル・インターフェース・クラス３０２と呼ぶ）を使用して実施される。図３に関連して後述される機能に従って実施されるその他のクラス（例えば、データソース・インターフェース・クラス、アラーム・クラス、データ処理クラス、など）の特徴を引き継ぐＵｎｉｖｅｒｓａｌＩｎｔｅｒｆａｃｅＣｌａｓｓタイプのオブジェクトをインスタンス化するためにユニバーサル・インターフェース・クラス３０２を使用しうる。このように、ＵｎｉｖｅｒｓａｌＩｎｔｅｒｆａｃｅＣｌａｓｓタイプのオブジェクトは、企業体１００のあらゆるネーティブ構成要素が一つ又は複数のデータソース（例えば、図１および図２のフィールド装置１２０および１２２、ＰＬＣ１２４および１２６、ならびに第三者データベース１３８）にアクセスすることを可能にするための様々な能力を有するコンテナ（オブジェクト群）またはモジュール（機能単位）として使用することができる。
【００３３】
ユニバーサル・インターフェース・クラス３０２には、企業体ネットワーク１００のその他のモジュール（例えば、プロセス制御ルーチン・モジュール）内のデータにアクセスする方法と実質的に類似するか同一の方法でデータソース内のデータにアクセスできる、一般データアクセス・インターフェース３０４が備えられている。一般データアクセス・インターフェース３０４は、一つ又は複数のネーティブデータソース（例えば、図１および図２のフィールド装置１２０および１２２、ならびにＰＬＣの１２４および１２６）に格納された情報へのアクセスを依頼するために企業体ネットワーク１００のネーティブ構成要素により使用される、複数のユニバーサル・データアクセス機能を定義しうる。一般データアクセス・インターフェース３０４のユニバーサル・データアクセス機能は、第三者システムおよび装置（例えば、図１のビジネスシステム１１４）にあるデータソース内の情報にアクセスするために、同じ方法で、企業体１００のネーティブ構成要素により使用されうる。
【００３４】
構成フェーズ中に指定されたネーティブデータソース内の情報にユニバーサル・インターフェース・モジュールがアクセスすることを可能にするために、ユニバーサル・インターフェース・クラス３０２には入出力インターフェース３０６が備えられている。構成フェーズ中に指定された第三者データソース内の情報にユニバーサル・インターフェース・モジュールがアクセスすることを可能にするために、ユニバーサル・インターフェース・クラス３０２には、複数の第三者データソース・インターフェース３０８ａ〜３０８ｃが備えられている。
【００３５】
図示する実施例においては、第三者データソース・インターフェース３０８ａ〜ｃには、第三者コントローラ・インターフェース３０８ａ、第三者サーバ・インターフェース３０８ｂ、および第三者データベース・インターフェース３０８ｃが含まれている。その他の例示的な実施形態では、その他のタイプの第三者データソース内の情報にアクセスするために、その他の第三者データアクセス・インターフェースを備えてもよい。上述されるように、第三者データソース（例えば、図１の第三者サーバ１３６および第三者データベース１３８）は、ネーティブのデータアクセス機能を実施するために使用されるデータアクセス標準（例えば、別の供給業者定義の標準、または別の業界定義の標準）とは異なるデータアクセス標準（例えば、供給業者定義の標準、または業界定義の標準）に従って実施された第三者データアクセス機能を使用してアクセスされるデータソースである。よって、第三者データソース・インターフェース３０８ａ〜３０８ｃには、第三者データソース内の情報にアクセスするために第三者データアクセス機能が含まれている。
【００３６】
メモリ３１２にデータを格納するために、ユニバーサル・インターフェース・クラス３０２には、データ格納インターフェース３１０（つまりデータ構造インターフェース３１０）を備えうる。本明細書に示される実施例において、ユニバーサル・インターフェース・クラス３０２のインスタンス化は、ユニバーサル・インターフェース・モジュール・インスタンス化によりアクセスされた（例えば、書き込まれた、または読み込まれた）情報のコピーを格納するためにメモリ３１２を使用する。例えば、図２のユニバーサル・インターフェース・モジュール２０６が定期的に図１および図２の第三者データベース１３８からデータを読み取る依頼を伝送するように構成される場合、ユニバーサル・インターフェース・モジュール２０６は、第三者データベース・インターフェース３０８ｃを介して指定されたデータソースからデータを読み取り、メモリ３１２に読み取られたデータのコピーを格納する（例えば、読み取られたデータをキャッシュに格納する）ためにデータ格納インターフェース３１０を使用する。このように、例えば図１および図２のアプリケーションステーション１０２などの企業体ネットワーク１００のネーティブ構成要素部分がユニバーサル・インターフェース・モジュール２０６に読み取られたデータ依頼を通信する場合、ユニバーサル・インターフェース・モジュール２０６は、それがローカルメモリのキャッシュに格納された依頼データを有するかどうかを判断するかもしれず、またその場合、ユニバーサル・インターフェース・モジュール２０６は、第三者データベース１３８にアクセスするのに比較的長期の遅延を要する代わりに一般データアクセス・インターフェース３０４を介してアプリケーションステーション１０２内のキャッシュに格納された値を直ちに返すことができる。同様に、アプリケーションステーション１０２が第三者データベース１３８における値を変更するために書込み依頼を通信する場合、ユニバーサル・インターフェース・モジュール２０６はメモリ３１２における値を変更し、メモリ３１２において変更されたデータを、第三者データベース・インターフェース３０８ｃを介して第三者データベース１３８に書き込む。
【００３７】
例示的な実施形態において、ユニバーサル・インターフェース・モジュール２０６は、アプリケーションステーション１０２のローカルメモリ（例えば、ハードドライブ、ランダムアクセス記憶装置（ＲＡＭ））にメモリ３１２が割り当てられるように依頼するためにデータ格納インターフェース３１０を使用する。データを局部的（ローカル）にメモリ３１２に格納することにより、データソース（例えば、フィールド装置１２０および１２２の一つ、またはＰＬＣ１２４および１２６のうちの一つ）にアクセスすることなく、企業体ネットワーク１００における複数のネットワーク構成要素により同じ情報を複数回にわたりアクセスできるようになるので、データのメモリ３１２内への局部的な格納は、データアクセス速度を増加させるために有利に使用することができる。また、メモリ３１２により提供される局部格納機能によって、アプリケーションが、ユニバーサル・インターフェース・モジュールと第三者装置との間の通信状態に関係なく（例えば、通信リンクが一時的に無効になっていることに関係なく）、ユニバーサル・インターフェース・モジュールに書き込まれるべきデータとともにデータ書込み依頼を通信できるようになる。例えば、ユニバーサル・インターフェース・モジュールは、書込みデータを局部的に格納し、その後ユニバーサル・インターフェース・モジュールと第三者装置間の通信リンクが再度設置された時点で第三者装置にデータを書き込むためにメモリ３１２を使用することができる。
【００３８】
データが第三者装置に書き込まれることになっている例示的な実施形態のいくつかにおいて、ユニバーサル・インターフェース・モジュール２０６は、メモリ３１２内へのデータの格納に当たり周知のキャッシング技法（例えば、データ・ライトスルー、データ・ライトバック、など）を使用しうる。メモリ３１２に格納されたデータをどのくらいの頻度でリフレッシュまたは更新するか、及び又はメモリ３１２に格納されたデータをどのくらいの頻度で各々のデータソースにライトバックするかを示す、リフレッシュまたは更新パラメータ値を、ユーザが構成時間中に提供しうる。
【００３９】
図示する実施例においては、ユニバーサル・インターフェース・クラス３０２には、メモリ３１２内のデータがいつ無効となりうるかを検出することによってデータのインテグリティ（完全整合性）を保証するために、データ有効性監視機構３１４が備えられている。データ有効性監視機構３１４は、メモリ３１２内のデータがもはや各々のデータソース内の各々のデータと同じものでないかもしれないとの旨を示して、いつデータソースとのデータ通信に障害が生じたのかを判断するように構成されうる。例えば、ユニバーサル・インターフェース・クラス３０２が第三者サーバ・インターフェース３０８ｂを介して図１の第三者サーバ１３６と通信するために使用される場合、データ格納インターフェース３１０はメモリ３１２にアクセスされたデータを格納する。図２に示される実施例において、第三者データベース１３８がクラッシュした場合、もしくは第三者データベース１３８がユニバーサル・インターフェース・モジュール２０６と通信できなくなると、データ有効性監視機構３１４は、第三者データベース１３８との情報交換が失敗したことを検出するか、ＬＡＮ１０６に通信可能に連結されたネットワーク監視機構（図示せず）によりデータベース１３８を利用できないとの通知を受け取るかの少なくともいずれかを行う。その後、データ有効性監視機構３１４は、メモリ３１２およびそれに対応する第三者データベース１３８に格納されたデータがもはや有効でないかもしれないことを示すために、警告メッセージを生成するか、第三者データベース１３８からのデータに関連するデータ品質パラメータを更新するかの少なくともいずれかを行う。このように、メモリ３１２に格納されたデータのインテグリティ（完全整合性）を継続的に監視することができ、ユニバーサル・インターフェース・モジュール２０６を通じてデータにアクセスする企業体１００のネーティブ構成要素が、無効データを使用してしまうことを防止する。
【００４０】
図２のユニバーサル・インターフェース・モジュール２０６、２１０および２１２の各々は、データソース（例えば、図１および図２の第三者データベース１３８）内の特定データへのアクセスを制限するように構成されてもよい。特定タイプのデータアクセスを制限するため、及び又は特定のデータへのアクセスを制限するために、ユニバーサル・インターフェース・クラス３０２には一つ又は複数の規則３１６が含まれている。規則３１６は、特定のデータソース及び又はデータソース内の特定データへのデータアクセスのうち特定タイプのもの（例えば、リードアクセス、ライトアクセス、など）を制限する。いくつかの例示的な実施形態における規則３１６は、データソース・インターフェース３０６および３０８ａ〜３０８ｃの特定の一つにより選択的に使用されうる。なお、規則３１６には、必須規則とユーザ選択可能規則が含まれうる。必須規則はユーザにより無効とすることができないが、選択可能規則は構成フェーズ中に有効にも無効にも設定できる。
【００４１】
企業体ネットワーク１００のネーティブ構成により一般データアクセス・インターフェース３０４を介してデータソース・インターフェース３０６および３０８ａ〜３０８ｃの各々に対応するデータアクセス依頼フォーマットにて提供されたデータアクセス依頼を変換するために、ユニバーサル・インターフェース・クラス３０２には一つ又は複数の変換ユーティリティ３１８が備えられている。図示される実施例では、変換ユーティリティ３１８が、データアクセス依頼の内容を含む情報を一般データアクセス・インターフェース３０４から受信し、更に変換ユーティリティ３１８がその情報を、データソース・インターフェース３０６および３０８ａ〜３０８ｃの各々に対応するアクセス依頼フォーマット（例えば、対象データソースに対応するフォーマット、および当該対象データソースと関連した通信プロトコル）に変換する。変換ユーティリティ３１８がデータソース・インターフェース３０６および３０８ａ〜３０８ｃとは別に示されているが、例示的な実施形態のいくつかでは、データソース・インターフェース３０６および３０８ａ〜３０８ｃの各々にめいめいの変換ユーティリティ３１８を含んでもよい。
【００４２】
ユニバーサル・インターフェース・モジュール２０６、２１０および２１２の各々がデータ処理動作（例えば、データのフィルター、データのタイプ変換、など）を実行できるようにするために、ユニバーサル・インターフェース・クラス３０２には、一つ又は複数のデータ処理機能３２０が備えられている。データ処理機能３２０としては、例えば、データタイプ変換、データ条件設定機能（例えば、平均算出機能、データ・フィルタ、など）、論理関係（例えば、ビット反転）が挙げられる。ユーザは、データソース・インターフェース３０６および３０８ａ〜３０８ｃの選択されたものに関連してどのデータ処理機能３２０を使用するのかを選択しうる。ユーザに指定されたデータに基づいてアラームを生成するために、ユニバーサル・インターフェース・クラス３０２には一つ又は複数のアラーム３２２が備えられている。ユーザは、任意の所望のデータに関する一つ又は複数のアラーム３２２をデータソースから選択しうる。特定のデータを監視するようにアラーム３２２を構成し、監視の対象となっているデータ値がしきい値以上またはしきい値以下になった場合に通知を生成するようにしても良い。データソース・インターフェース３０６および３０８ａ〜３０８ｃ、データ格納インターフェース３１０、データ有効性監視機構３１４、規則３１６、変換ユーティリティ３１８、機能３２０およびアラーム３２２は、ユニバーサル・インターフェース・クラス３０２のデータ要素及び又は機能要素として実施されうる。
【００４３】
図４は、図２のユーザインターフェース・モジュール２０６、２１０および２１２の各々を実施するために使用されうる例示的な方法のフローチャートを表す図である。特に設計フェーズ４０２中に、ユニバーサル・インターフェース定型設計者（例えば、ソフトウェア提供業者、プロセス制御システムのサプライヤ、設備メーカ、など）は、ユーザ選択可能なデータソース・インターフェース（例えば、図３のデータソース・インターフェース３０６および３０８ａ〜３０８ｃ）を設計またはプログラムし（例えば、ソフトウェア・コードを生成し）、（そのうちいくつかはユーザ選択可能でありうる）データアクセス規則（例えば、図３の規則３１６）を定義し、ユーザ選択可能なアラーム・タイプ（例えば、図３のアラーム３１８）を定義し、ユーザ選択可能なデータ処理機能（例えば、図３のデータ処理機能３２０）を定義できる（ブロック４０４）。また設計フェーズ４０２中には、ユニバーサル・インターフェース定型４０８を生成するために、ブロック４０４で提供されたユーザ選択可能データソース・インターフェース、データアクセス規則、ユーザ選択可能アラーム・タイプおよびユーザ選択可能データ処理機能が使用される（ブロック４０６）。
【００４４】
ユーザ構成フェーズ４１０中には、ユニバーサル・インターフェース定型４０８を使用してユニバーサル・インターフェース・モジュール（例えば、図２のユニバーサル・インターフェース・モジュール２０６、２１０および２１２のうちの一つ）の特定の構成を指定するために、ユーザは（図７に示される如く構成プログラム・グラフィカルユーザインターフェース（ＧＵＩ）７００を備えうる）構成用アプリケーションを使用できる。例えば、ユニバーサル・インターフェース定型４０８は、図３に関連して上述される機能特性の全てを提供することができ、そのいくつかは例えばデータソース・インターフェース３０６および３０８ａ〜３０８ｃ、規則３１６、データアクセス依頼変換ユーティリティ３１８、データ処理機能３２０およびアラーム３２２のいくつかまたは全てなど、ユーザ選択可能なものでありうる。その後、ユーザは、実行時フェーズ４１２中にユニバーサル・インターフェース・モジュールのインスタンスが動作することを保証するための所望の方法に基づいて、ブロックのいくつかを選択する（例えば、有効に設定する）ことができる。例えば図４に示されるように、ユーザは、データソース・インターフェース（例えば、図３のデータソース・インターフェース３０６および３０８ａ〜３０８ｃのうちの一つ又は複数）を選択でき、データアクセス規則（例えば、図３の規則３１６の一つ又は複数）を選択したりユーザ定義の規則を定義したりでき、更にアラーム・タイプ（例えば、図３のアラーム３２２の一つ又は複数）を選択でき、且つ、データ処理機能（例えば、図３のデータ処理機能３２０の一つ又は複数）を選択できる（ブロック４１４）。いくつかの例示的な実施形態において、ユーザは、いくつかの項目に関しては選択しないことにすることも可能である。例えば、ユーザは、いずれのアラーム３２２も、またはいずれのデータ処理機能３２０も選択しないことにしてもよい。
【００４５】
ブロック４１４で選択を行った後に、ユーザはデータアクセス・パラメータを指定することができる（ブロック４１６）。データアクセス・パラメータにはデータソース・パス（例えば、図１および図２のフィールド装置１２０と１２２、ＰＬＣ１２４と１２６、ならびに図１のビジネスシステム１１４のネットワーク・パスまたはネットワーク・アドレス）、アクセスされるべきデータ、ユニバーサル・インターフェース・モジュール内で各々の基準を割り当てるためのユーザ定義名などが含まれる。更に、ユーザは、指定されたデータソースから読み出されたデータに関連した特定のしきい値に基づいてアラームがトリガされるようにも定義しうる。その後、ユニバーサル・インターフェース・モジュール４２０は、ユーザに選択された機能特性を含むように生成され、企業体１００の対応する構成要素（例えば、図１ステーション１０２、１０４および１１２のうちの一つ、またはコントローラ１０８および１１０のうちの一つ）にダウンロードされる（ブロック４１８）。
【００４６】
実行時フェーズ４１２中に、プロセッサーシステム（例えば、図１のアプリケーションステーション１０２、コントローラ１１６、コントローラ１１８など）は、前記ダウンロードされたユニバーサル・インターフェース・モジュール４２０を実行することができる（ブロック４２２）。その後、ユニバーサル・インターフェース・モジュール４２０は、構成フェーズ４１０中に指定されたユーザ構成に従ってデータアクセス、アラーム監視、データ処理機能などを実行する（ブロック４２４）。
【００４７】
図５は、ユニバーサル・インターフェース・モジュール２１０を介して例えばオペレータステーション１０４などの企業体ネットワーク１００のネーティブ構成要素が、コントローラＡ  １０８内のデータにアクセスすることができる例示的な様態を表す。
本明細書に示される実施例において、ユニバーサル・インターフェース・モジュール２１０のモジュール名５０１は「ＭｏｄｕｌｅＡ」である。図示される如く、ユニバーサル・インターフェース・モジュール２１０には、特定の基準および基準パス５０６用のパラメータ名５０４を含む複数のパラメータ５０２が備えられている。企業体１００のネーティブ構成要素は、ユニバーサル・インターフェース・モジュール２１０を独自に識別するためにモジュール名５０１を使用することができる。（つまり、読込み依頼５１２に含まれるモジュール名５０１は、コントローラＡ  １０８により実行されるユニバーサル・インターフェース・モジュール２１０と独自に関連付けられている。）コントローラＡ  １０８内のデータにアクセスするために、オペレータステーション１０４は、ユニバーサル・インターフェース・モジュール２１０に設定されたモジュール名５０１およびパラメータ名５０４を使用する。本明細書に示される実施例において、モジュール名５０１、パラメータ名５０４およびそれの関連する基準パス５０６は、図４の構成フェーズ４１０中にユーザにより指定される。オペレータステーション１０４は、モジュール名５０１およびパラメータ名５０４を使用して、コントローラＡ  １０８を通じてフィールド装置１２０から読み出される情報のうち関心の的になっている情報を参照する。ユニバーサル・インターフェース・モジュール２１０によりメモリ（例えば、メモリ３１２）に局部的に格納され、読み出される基準を生成する、フィールド装置１２０の入力ポート（ＩＮ）とフィールド装置１２０の装置のＩＤ（ＰＴ１）は、前記参照されたパラメータ用に定義された基準パス５０６により指定される。
【００４８】
ユニバーサル・インターフェース・モジュール２１０にコントローラＡ  １０８からデータを読み出させるために、オペレータステーション１０４は、ユニバーサル・インターフェース読込み機能呼出５１２「（ＵｎｉｖＲｅａｄ（ＭｏｄｕｌｅＡ、圧力））」をコントローラＡ  １０８に通信し、その次にコントローラＡ  １０８は、前記読込み機能呼出５１２を一般データアクセス・インターフェース３０４に送信する。本明細書に示される実施例において、ユニバーサル・インターフェース読込み機能呼出５１２のフォーマットは本明細書で目的の情報を指定するために「ＵｎｉｖＲｅａｄ（モジュール名、パラメータ名）」として示される。モジュール名（例えば、モジュール名＝＞ＭｏｄｕｌｅＡ）は、データが読み出されるべきデータソースと読み出されるべき特定のデータ（例えば、パラメータ名＝＞圧力）を同定するために企業体ネットワーク１００（図１）内で使用される。（つまり、モジュール名は、企業体ネットワーク１００の特定の構成要素に関連する。）アプリケーションがパラメータ値を受け取るために定期的にデータアクセス依頼を通信すると、キャッシュメモリ（例えば、メモリ３１２）に格納された直近のパラメータ値は直ちにアプリケーションに返されることになる。それ以外の場合は、フィールド装置１２０に関連したデータアクセス依頼フォーマットに従ってフォーマットされたデータアクセス依頼５１４を生成するようにユニバーサル・インターフェース・モジュール２１０用に構成されたパラメータ５０２を、変換ユーティリティ３１８は使用する。本明細書に示される実施例において、データアクセス依頼５１４のフォーマットは、ユニバーサル・インターフェース読込み機能呼出５１２のフォーマットとは異なり、必ずしも図５に示されるようにフォーマットされていない。変換ユーティリティ３１８がデータアクセス依頼５１４を生成後、ユニバーサル・インターフェース・モジュール２１０はフィールド装置１２０にデータアクセス依頼５１４を通信する。
【００４９】
例示的な実施形態のいくつかにおいて、ユニバーサル・インターフェース・モジュール２１０は、データソース内のデータにアクセスするためにインターフェース特有のフォーマットを使用するように構成されうる。モジュール「ＭｏｄｕｌｅＡ」からパラメータ「圧力」を読み取るためにアプリケーションがユニバーサル・インターフェース・モジュール２１０に通信できるようにする、との例示的なインターフェース特有なフォーマットによる依頼は、「ＭｏｄｕｌｅＡ／圧力／ＰＶ．ＣＶ」としてフォーマットされうる。特定のデータタイプ（例えば、整数、倍数、浮動小数、など）を特定のデータソースから依頼元のアプリケーションに返すべく、データアクセス依頼フォーマットを、還元データタイプ指名子およびソース指名子を含むように拡張することが可能であり、「ＤｖＲｔ：ｆｌｏａｔ／／ＭｏｄｕｌｅＡ／圧力／ＰＶ．ＣＶ」としてフォーマットすることができる。
【００５０】
コントローラ１０８に通信可能に連結されたその他の構成要素（例えば、図１および図２のＰＬＣ１２４およびフィールド装置１２０）内のデータにアクセスすべく異なるネットワーク・エンティティ（例えば、図１のアプリケーションステーション１０２およびコントローラ１０８）がユニバーサル・インターフェース・クラス３０２（図３）に基づいてユニバーサル・インターフェース・オブジェクト６０２および６０４をインスタンス化するところの、図１の企業体ネットワーク１００の一部分が、図６に示されている。図示されるように、アプリケーションステーション１０２は、ユニバーサル・インターフェース・クラス３０２に基づく「ＵｎｉｖｅｒｓａｌＩｎｔｅｒｆａｃｅＣｌａｓｓ」タイプの実験室オブジェクト６０２（つまり、実験室ユニバーサル・インターフェース・モジュール・オブジェクト６０２）をインスタンス化する。実験室オブジェクト６０２は「実験室」という名称のユニバーサル・インターフェース・モジュールである。図示される実施例では、例えばデータアクセス速度を増加させることにより、及び又は実験室オブジェクト６０２と第三者実験室システム６０３間の通信リンクが無効となっている場合でも実験室オブジェクト６０２に関連したローカル・キャッシュメモリからデータを読み出せるようにすることにより、企業体１００内のアプリケーションによるデータへのアクセスを図るために、実験室オブジェクト６０２が、定期的に第三者実験室システム６０３内のデータにアクセスするように構成され、読み出されたデータをローカルメモリ（例えば、図３のメモリ３１２）において局部的にキャッシュに格納するようにしても良い。実験室オブジェクト６０２は、密度データ値６０６および粘度データ値６０８を含むデータパラメータを定義する。本明細書に示される実施例において、実験室システム６０３は、密度データ値６０６および粘度データ値６０８に対応するデータを提供する。
【００５１】
図示される如く、コントローラ１０８は、ユニバーサル・インターフェース・クラス３０２に基づく「ＵｎｉｖｅｒｓａｌＩｎｔｅｒｆａｃｅＣｌａｓｓ」タイプの煤吹器オブジェクト６０４（つまり、煤吹器ユニバーサル・インターフェース・モジュール・オブジェクト６０４）をインスタンス化する。煤吹器オブジェクト６０４は「煤吹器」という名称のユニバーサル・インターフェース・モジュールである。煤吹器オブジェクト６０４は、「第１管温度」のデータ値６１０、「第２管温度」のデータ値６１２、および「差圧」のデータ値６１４を含むデータパラメータを定義する。本明細書に示される実施例において、ＰＬＣ１２４は、第２管温度データ値６１０および第２管温度データ値６１２に対応するデータを提供する。差圧データ値６１４は、第２のデータ値（例えば、第２の電圧値）から第１のデータ値（例えば、第１の電圧値）を引き算するように設定された機能３２０（図３）の一つにより生成されうる。
【００５２】
本明細書に示される実施例において、コントローラ１０８は、フィールド装置１２０と通信するためのバス・カード６２０と、ＰＬＣ１２４と通信するためのシリアルカード６２２を含む。フィールド装置１２０内のデータにアクセスするために、煤吹器オブジェクト６０４は、データに定期的にアクセスし、一般データアクセス・インターフェース３０４（図３）に対応するフォーマットによりユーザ定義パラメータ名に基づいてキャッシュに格納して、例えば図３の変換ユーティリティ３１８の一つを使用してデータアクセス依頼をバス・カード６２０およびフィールド装置１２０（またはシリアルカード６２２およびＰＬＣ１２４）に対応するフォーマットに変換するように構成される。また、ＰＬＣ  １２４内のデータにアクセスするために、煤吹器オブジェクト６０４は、一般データアクセス・インターフェース３０４（図３）に対応するフォーマットでデータアクセス依頼を受け取り、例えば図３の変換ユーティリティ３１８の一つを使用してデータアクセス依頼をバス・カード６２０およびフィールド装置１２０（またはシリアルカード６２２およびＰＬＣ  １２４）に対応するフォーマットに変換するように構成されうる。
【００５３】
実験室オブジェクト６０２および煤吹器オブジェクト６０４の構成（例えば、実験室と煤吹器といったモジュール名、各モジュール、データ処理機能、データ経路のパラメータ名など）は、構成フェーズ（例えば、図４の構成フェーズ４１０）中にユーザにより指定することができる。その後、アプリケーションステーション１０２およびコントローラ１０８は、ユーザ指定の動作を実行するために、実行時フェーズ（例えば、図４の実行時フェーズ４１２）中に実験室オブジェクト６０２および煤吹器オブジェクト６０４の各々のものを実行することができる。
【００５４】
図７は、図６のユニバーサル・インターフェース実験室モジュール６０２を構成するために構成フェーズ（例えば、図４の構成フェーズ４１０）中に使用されうる例示的な構成プログラム・グラフィカルユーザインターフェース（ＧＵＩ）７００を示す図である。例示的な実施形態のいくつかにおいて、ユーザがユニバーサル・インターフェース・モジュール（例えば、実験室ユニバーサル・インターフェース・モジュール・オブジェクト６０２またはその他のユニバーサル・インターフェース・モジュール）を構成できるようにするために、構成プログラムＧＵＩ７００は、制御システムソフトウェア・パッケージ（例えば、Ｅｍｅｒｓｏｎ  Ｐｒｏｃｅｓｓ  Ｍａｎａｇｅｍｅｎｔ（登録商標）によるＤｅｌｔａＶ（登録商標）ディジタル・オートメーション・システム）の一部として提供される。
【００５５】
構成プログラムＧＵＩ７００は、ユーザがユニバーサル・インターフェース・モジュールの各インスタンスに独自のモジュール名を与えることを可能にする。またユーザは、ユニバーサル・インターフェース・モジュールのインスタンスを通じてアクセスされるデータにユーザ定義のパラメータ名を与えうる。更にユーザは、どのパラメータがユニバーサル・インターフェース・モジュールにおいて定期的にリフレッシュされ（例えば、図３のメモリ３１２において）キャッシュに格納されることになるかを指定してもよい。通常、モジュールのパラメータおよび各パラメータ用に選択された機能特性は、実験室ユニバーサル・インターフェース・モジュール・オブジェクト６０２が実行時フェーズ（例えば、図４の実行時フェーズ４１２）中にどのように機能すべきかを指定するために、表の各行は図３に関連して上述される機能特性を示すところの、テーブル（またはスプレッドシート）を用いて構成段階中に表示されることになる。
【００５６】
データソース・インターフェース（例えば、図３のデータソース・インターフェース３０６および３０８ａ〜３０８ｃの一つ）に関連したユーザにより編集可能なパラメータ値、アラーム（例えば、図３のアラーム３２２）、規則（例えば、図３の規則３１６）、データ・プロセス機能など（例えば、図３のデータ・プロセス機能３２０）、を表示するために、構成プログラムＧＵＩ７００にはエリア７１０を編集するパラメータが備えられている。本明細書に示される実施例において、エリア７１０を編集するパラメータは、表式のまたはスプレッドシートの形式でパラメータ値を表示する。パラメータ値は、スプレッドシート・ファイル、テキストファイル、エクステンシブル・マークアップ・ランゲージ（ＸＭＬ）ファイル、またはＧＵＩ７００のスプレッドシート表示ビューにインポートされうるその他のファイルに、（例えば、「記憶機構パラメータ」オプションを選択することにより）格納されることができる。実験室ユニバーサル・インターフェース・モジュール・オブジェクト６０２が作動する方法を変更すべく、ＧＵＩ７００のスプレッドシート表示ビューを介してスプレッドシート・ファイル、テキストファイル、ＸＭＬファイルなどのパラメータを表示および編集するために、ユーザはＧＵＩ７００を使用しうる。
【００５７】
ユーザはユニバーサル・インターフェース・モジュールにデータパラメータを追加し、データパラメータに名称を与えた後、前記ユーザはユニバーサル・インターフェース・モジュールを介して本明細書で関心の的になっている情報にアクセスするおよびそれを処理するのに必要な情報を提供しうる。図７に示される実施例において、プログラム構成ＧＵＩ７００には、データ型フィールド７１２、読み取り専用フィールド７１４、パス・フィールド７１６、および更新時間フィールド（または更新間隔フィールド）７１８が備えられている。データ型フィールド７１２は、アクセスされるべき基準のデータタイプ（例えば、浮動小数点、整数、など）を指定する機能をユーザに提供する。読み取り専用フィールド７１４は、データパラメータが読み取り専用であるべきかどうか示す機能をユーザに提供する。
【００５８】
パス・フィールド７１６は、企業体ネットワーク１００（図１）内のデータパラメータおよびデータを生成する及び又は格納するデータソースのパスを指定する機能をユーザに提供する。パス・フィールドにおいて指定されたパスにより、対応するデータソース・インターフェースを、ユニバーサル・インターフェース・モジュールが選択するようになる。例えば、パスがネーティブのフィールド装置に対応する場合、ユニバーサル・インターフェース・モジュールは図３のＩ／Ｏインターフェース３０６を選択する。その反面、パスが第三者データソースに対応する場合、ユニバーサル・インターフェース・モジュールは第三者インターフェース３０８ａ〜３０８ｃの一つを選択する。
【００５９】
更新時間フィールド７１８は、ユニバーサル・インターフェース・モジュールがどのくらいの頻度で局部的に格納された基準（つまり、図３のメモリ３１２に局部的に格納された基準値）をリフレッシュするべきかを指定する機能をユーザに提供する。例えば、基準が高速フィールド装置に対応する場合、ユニバーサル・インターフェース・モジュールに比較的高頻度で基準をリフレッシュさせるように、ユーザは更新時間を短めに指定するかもしれない。一方、一日一回の頻度で更新されるフィールド装置内のパラメータに基準が対応する場合、ユニバーサル・インターフェース・モジュールに比較的低頻度で基準をリフレッシュさせるように、ユーザは更新時間を長めに指定するかもしれない。いかなる場合も、基準値は、例えばメモリ３１２に局部的に格納され、それによってユニバーサル・インターフェース・モジュールが当該基準値を求める読込み依頼を受信した際は常に、例えばフィールド装置（例えば、図２のフィールド装置１２０）、ＰＬＣ（例えば、図２のＰＬＣ１２４）、またはユニバーサル・インターフェース・モジュールに連結されたその他の構成要素との通信の確立を必要とせずに、ユニバーサル・インターフェース・モジュールがローカルメモリ３１２から基準値を読み出せるようになっている。
【００６０】
プログラム構成ＧＵＩ７００には、アラーム・フィールド７２０、警報値フィールド７２２および数値演算ｓｔａｔ／ｆｎフィールド７２４も備えられている。ユーザは、対応する基準に対してアラームを装備すべきかどうかをアラーム・フィールド７２０によって指定することができる。アラーム値フィールド７２２は、基準値に基づいてアラームがトリガされるところの最低及び又は最大しきい値を指定する機能をユーザに提供する。アラーム検出は、ユニバーサル・インターフェース・モジュールにおいて構成されたいかなるパラメータに対して定義されうる。例示的な実施形態のいくつかにおいてアラーム状態が検出されると、企業体ネットワーク１００内のその他のモジュール（例えば、制御プロセスモジュール）に対してアラームが報告されるのと同じ方法で、オペレータステーション１０４（図１）に対してアラームが自動的に報告される。数値演算ｓｔａｔ／ｆｎフィールド７２４は、統計機能、数値演算機能、またはその他の処理機能のあらゆるものが、対応するデータ上で実行されるべきかどうかを指定する機能をユーザに提供する。
【００６１】
図８は、実行フェーズ（例えば、図４の実行フェーズ４０６）中にユニバーサル・インターフェース・モジュールを使用してアクセスされたデータを表示するのに使用しうる例示的な実行時ＧＵＩ８００を示す図である。例示的な実行時ＧＵＩ８００には、構成されたパラメータに関連する実行時の動作値を示すところのテーブル形式またはスプレッドシート形式を用いて実施された表示領域８１０が備えられている。本明細書に示される実施例において、各々のデータソース（例えば、図１および図２のフィールド装置１２０またはＰＬＣ１２４）から読み出されたデータの値を表示するために、例示的な実行時ＧＵＩ８００には実際値フィールド８１２が備えられている。例示的な実行時ＧＵＩ８００には、例えば図３のメモリ３１２に局部的に格納されたデータがもはや有効ではないかもしれないことを示すべく各々のデータに関連したデータ品質パラメータを表示するために、データの品質フィールド８１４も備えられている。このように、メモリ３１２に格納されたデータのインテグリティを継続して監視することができ、且つ、ユニバーサル・インターフェース・モジュールを通じてデータにアクセスする企業体１００のネーティブ構成要素が無効データを使用することを防止している。
【００６２】
図９は、図７の構成プログラムＧＵＩ７００を介して指定されたユーザ指定の構成に基づいて生成された例示的なソフトウェア命令を含む事前コンパイル中間準備エリア９００（例えば、ソフトウェア・ファイル）を描く図である。本明細書に示される実施例において、ユニバーサル・インターフェース・モジュールのパラメータに関連したエントリの各々は、実行時フェーズ（例えば、図４の実行時フェーズ４１２）中に実行される機能に対応する。構成フェーズ（例えば、図４の構成フェーズ４１０）中に、ユーザがユニバーサル・インターフェース・モジュール構成の各パラメータに必要な情報を指定し終えてコンパイル・オプションまたは生成オプションを選択すると、構成プログラムは、ユニバーサル・インターフェース・モジュール（例えば、図４のユニバーサル・インターフェース・モジュール４２０）を生成するために事前コンパイル中間準備エリア９００にユニバーサル情報モジュール情報を生成する。このように、ユニバーサル・インターフェース・モジュールは、実行時フェーズ（例えば、図４の実行時フェーズ４１２）中に実行することができる。
【００６３】
図９に示される実施例において、事前コンパイル中間準備エリア９００にはパラメータ定義９０２および９０４が備えられている。また、事前コンパイル中間準備エリア９００には、（図３のユニバーサル・インターフェース・クラス３０２の基づいた）ＵｎｉｖｅｒｓａｌＩｎｔｅｒｆａｃｅＣｌａｓｓタイプの実験室オブジェクト（例えば、図６の実験室オブジェクト６０２）をインスタンス化できるｍａｉｎ関数９０６が備えられている。更に、図示されていないが、ｍａｉｎ関数９０６は、パラメータ定義９０２および９０４に関連した動作を有効にするソフトウェア命令を含んでいる。
【００６４】
図１０は、ユニバーサル・インターフェース・モジュール２０６が共通の通信インターフェース１００４を介して第三者データソース１００２と通信する例示的な実施形態を描く図である。図示される如く、その他のユニバーサル・インターフェース・モジュール１０１２および１０１４もまた共通の通信インターフェース１００４を介して第三者データソース１００２に通信することができる。共通の通信インターフェース１００４を実施するために使用されうる例示的な共通の通信インターフェースは、周知の業界標準ＯＰＣ（マイクロソフト株式会社のＯＬＥ（オブジェクトのリンクと埋め込み）／ＣＯＭ（コンポーネント・オブジェクト・モデル）標準を基盤とする）を含んでいる。共通の通信インターフェース１００４は、異なる供給業者により提供された（または異なる標準に適合する設計がなされている）クライアントおよびサーバアプリケーション間に比較的高度な相互運用性を提供する。従来は、クライアントアプリケーション供給業者が、各制御装置とインターフェースに対して異なるドライバーを開発しなければならなかった。共通の通信インターフェース１００４によって、ユニバーサル・インターフェース・モジュール２０６が、共通の通信データソース・インターフェース１００６として図１０に示されるタイプのインターフェースの一つを使用して、第三者データソース１００２にアクセスすることが可能になる。図１０に示される実施例では、図３に関連して上述される第三者データソース・インターフェース３０８ａ〜３０８ｃの代わりに、またはそれに加えて、共通通信データソース・インターフェース１００６を使用してもよい。
【００６５】
ユニバーサル・インターフェース・モジュール２０６は、共通の通信インターフェース１００４により有効とされた同じ機能呼出を使用して第三者データソース１００２のあらゆるものにも通信することができる。即ち、共通の通信インターフェース１００４により、第三者データソース１００２の各々に関連する通信標準の全てを認識していなければならないという条件からユニバーサル・インターフェース・モジュール２０６は開放される（隔離される）。もちろん、上記されるように、その他の例示的な実施形態におけるユニバーサル・インターフェース・モジュール２０６には、第三者データソース１００２に直接に通信するための第三者データソース・インターフェース（例えば、第三者データソース・インターフェース３０８ａ〜３０８ｃ）を備えうる。
【００６６】
図１１は、図１０の共通通信インターフェース１００４を実施するために使用されうるリソースフレームワーク（枠組み）１１０２およびデータソース・エクステンション（ＤＳＥ）のフレームワーク１１０４を示す。一般にリソースフレームワーク１１０２は、データバインディングに関連するプロセスを実施するように構成されており、且つ、以下詳細に説明されるように変数、スクリプト、およびデータソース（例えば、図１０の第三者データソース１００２）への参照を生成およびトラッキングするリソース管理機構１１０６を含んでいる。各ユニバーサル・インターフェース・モジュール（例えば、ユニバーサル・インターフェース・モジュール２０６）は、各々のリソース管理機構のインスタンス（例えば、リソース管理機構１１０６）により管理される。例えば、リソースフレームワーク１１０２は、各々が異なるユニバーサル・インターフェース・モジュールに一意に関連する、リソース管理機構１１０６に類似する複数のリソース管理機構インスタンスを含みうる。図１１に示されるように、ユニバーサル・インターフェース・モジュール２０６には、特徴またはプロパティ（性状）（例えば、データ要素および機能要素）をリソース管理機構１１０６から引き継ぐモジュール・リソース管理機構１１０８が備えられている。モジュール・リソース管理機構１１０８は、共通の通信インターフェース・データソース・インターフェース１００６（図１０）において実施されることができ、且つ、一つ又は複数の変数１１１０、スクリプト（つまり、実行可能なソフトウェア・スクリプト）１１１２、そして変数ベースに格納されたデータソース参照１１１４に関連する。変数ベース１１１４は、コンテキスト１１１８のデータリンクまたは１以上のデータリンク・オブジェクト１１１６（つまり、１以上のバインディングまたは結合オブジェクト１１１６）の一つ又は複数を介して、変数１１１０、スクリプト（つまり、実行可能なソフトウェア・スクリプト）１１１２、そして変数ベースに格納されたデータソース参照１１１４を一つ又は複数のデータサービスまたはデータソースに連結するか、結び付けるか、またはバインドする。
【００６７】
図示される実施例においては、データリンク１１１６が、設定参照１１２０およびアクティブ参照１１２２を介して第三者データソース１００２（図１０）に通信可能に連結される。設定参照とアクティブな参照１１２０および１１２２は、特定のデータ項目を捜し出すためにＤＳＥフレームワーク１１０４により必要とされる情報（例えば、ネットワーク・パス情報）を含む文字列オブジェクトである。本明細書に示される実施例において、アクティブ参照１１２２のエイリアス（例えば、変数名）は、完全に解消されなければならない（つまり、エイリアスは各々のネットワーク・パスに翻訳または関連付けられなければならない）が、設定参照１１２０は未解消のエイリアスを含みうる。
【００６８】
データリンク１１１６は、データソース（例えば、図１０の第三者データソース１００２の一つ）内の特定のデータ項目の位置の文字列表現を含みうる、よって、データリンク１１１６はデータソースに特有である。それに加えて、文字列表現は、実行時中に変更可能なエイリアスへの参照を含みうる。図示される如く、コンテキスト１１１８も、データソース１１２４（例えば、実行時データソース）および後述されるデータソース管理機能１１２６に連結される。
【００６９】
図１１に示されるように、リソース管理機構１１０６はモジュール・リソース管理機構１１０８からデータ・コンテキストを受け取る。一般にデータ・コンテキストは、モジュール・リソース管理機構１１０８により使用されるプロパティ（例えば、変数名、データソースＩＤ、など）からなる。リソース管理機構１１０６は、データ・コンテキストに関連するプロパティを、変数１１１０とスクリプト１１１２および変数ベースの参照１１１４の適切なものにマップする、関係付ける、もしくは関連付けるように構成される。それに加えて、リソース管理機構１１０６は更に、バインディング１１１６、コンテキスト１１１８およびデータソース管理機能１１２６を介して第三者データソース１００２の一つ又は複数にプロパティをマップするか、関連付けるか、もしくは結びつけるように構成される。変数１１１０、スクリプト１１１２、変数ベースの参照１１１４、及び又は第三者データソース１００２にモジュール・リソース管理機構１１０８のプロパティを関係付けるためにリソース管理機構１１０６により使用されるマッピングは、例えばシステム構成エンジニアまたはその他のシステムユーザによってシステム構成動作（例えば、図４の構成フェーズ４１０）中に確立することができる。
【００７０】
稼動中、リソース管理機構１１０６は、変数の変更やデータソースに書き込まれるべき値などに関係する情報を受信しうる。場合によって、データ変更は、モジュール・リソース管理機構１１０８によりリソース管理機構１１０６に提供されるデータ・コンテキストの変更を介して伝達されうる。より具体的に言うと、このような場合には、一つ又は複数のデータ・コンテキストプロパティに対してなされたユーザ起動の変更、または図２のソフトウェアプロセス２０２によりなされた変更により、一つ又は複数のスクリプト１１１２が発動されて、変数１１１０及び又は変数ベース１１１４内の参照に関連する値の一つ又は複数が変更されることになりうる。前記変更が第三者データソース１００２の一つ又は複数に格納されたデータと関係する場合には、リソース管理機構１１０６により管理されるオブジェクトへの変更が、バインディング１１１６およびコンテキスト・オブジェクト１１１８を介して、第三者データソース１００２の適切な一つ又は複数に自動的に伝播されうる。その他の場合では、（例えば、プロセス変数への変更が参照された結果として）第三者データソース１００２の一つ又は複数の中でデータ変更が生じ、また、リソース管理機構１１０６により提供されるマッピング機能性を介してユニバーサル・インターフェース・モジュール２０６のモジュール・リソース管理機構１１０８に格納されたプロパティの適切なものに、コンテキスト１１１８およびバインディング１１１６を介して自動的に前記変更が伝播されうる。
【００７１】
データソース管理機能１１２６は、データソース（例えば、第三者データソース１００２の一つ）に関連する一群の結合オブジェクト（例えば、データリンク１１１６）に関係するクライアント状態情報を維持するために使用されるコンテキスト・オブジェクト（例えば、コンテキスト・オブジェクト１１１８）を生成し管理する。ユニバーサル・インターフェース・モジュール２０６の場合には、コンテキスト・オブジェクト１１１８および各々の第三者データソース・インターフェース（例えば、図１０の共通の通信インターフェースデータソース・インターフェース１００６、及び又は図３の第三者データソース・インターフェース３０８ａ〜３０８ｃ）の間に一対一対応の関係が存在する。言いかえれば、ユニバーサル・インターフェース・モジュール２０６におけるデータソース・インターフェースごとに一つのコンテキストがあり、各コンテキストは、当前記のデータソース・インターフェースに関連したバインディングのみを含んでいる。よって、図１１の実施例において、コンテキスト・オブジェクト１１１８は、例えば図１０の共通の通信インターフェースデータソース・インターフェース１００６に一意に対応する。
【００７２】
また、コンテキスト・オブジェクトはデータ更新機構も提供する。前記データ更新機構のうちの一つは、イベントを基盤とするものであり各々全てのイベントに応答して更新を開始する一方、前記データ更新機構の別の一つは、本来照合され、複数のデータ変更イベントを収集しタイマーに応答してデータソースへと変更済バインディング項目のリストを送ることにより、定期的に（例えば、タイマーに基づいて）更新を開始する。もちろん、比較的多くのイベントがプロセスに存在する場合、各イベントに個々別々に応答することにより、図１の企業体１００中のプロセス制御システムの性能及び又は実行時プロセスの性能を損なうこともある（例えば、応答性が遅くなりうる）。よって、ダーティ・バインディングのリスト（例えば、データは変更済みだが実行時プロセスにまだ受け渡されていない一群のバインディング）に定期的に応答することにより、全体的な性能を向上させることができる。コンテキスト・オブジェクト１１１８および第三者データソース１００２間の接続は、例えばマイクロソフト株式会社により提供される「Ｉｎｄｉｇｏ」のフレームワークを使用して実施されてよい。
【００７３】
図１１の実施例に関連した変更情報の流れが、ユニバーサル・インターフェース・モジュール２０６で開始されリソース管理機構１１０６、データリンク１１１６、データソース管理機能１１２６およびコンテキスト１１１８を介して第三者データソース１００２の一つ又は複数に自動的に伝播される状態で説明されているが、データ変更情報は、その代わりに、またはそれに加えて、第三者データソース１００２の一つ又は複数からユニバーサル・インターフェース・モジュール２０６に自動的に伝播することも可能である。リソースフレームワーク１１０２およびＤＳＥフレームワーク１１０４の更なる詳細は、２００５年５月４日出願のＰＣＴ特許出願番号ＰＣＴ／ＵＳ２００５／０１５３９４に提示されている。なお、当該出願の明細書は本明細書に参照することにより本稿にその全体が援用される。
【００７４】
図１２、図１３Ａ、図１３Ｂおよび図１３Ｃは、例示的なユニバーサル・インターフェース・モジュール２０６、２１０および２１２（図２）を実施するために使用されうる例示的な方法のフローチャートである。以下、議論の目的上、ユニバーサル・インターフェース・モジュール２０６に関連してフローチャートを説明する。例示的な実施形態のいくつかにおいて、図１２、図１３Ａ、図１３Ｂおよび図１３Ｃの例示的な方法は、プロセッサ（例えば、図１４の例示的なプロセッサーシステム１４１０に示されるプロセッサ１４１２）による実行のためのプログラムを含む機械可読命令を使用して実施されうる。前記プログラムは、ＣＤ−ＲＯＭ、フロッピー（登録商標）ディスク、ハードドライブ、デジタル多用途ディスク（ＤＶＤ）などの有形媒体、またはプロセッサ１４１２を関連したメモリに格納されたソフトウェアで具体化されうる、及び又は、周知の方法でファームウェア及び又は専用ハードウェアで具体化されうるものである。更に、例示的なプログラムは、図１２、図１３Ａ、図１３Ｂおよび図１３Ｃに示されるフローチャートを参照して説明されているが、通常の技術を有する当業者ならば、例示的なユニバーサル・インターフェース・モジュール２０６を実施するその他多くの方法を代わりに使用しうることは一目瞭然のはずである。例えば、ブロックの実行順序は変更できるものであり、及び又は、本明細書に記載されるブロックのうちのいくつかを変更、除外、または組み合わせることが可能である。
【００７５】
ここで図１２を参照すると、ユーザがユニバーサル・インターフェース・モジュール２０６用に特定の構成を指定することを可能にするために、図中に示される例示的な方法を図４の構成フェーズ４１０中に実施しうる。このように、ユニバーサル・インターフェース・モジュール２０６はアクセスすべきデータソースをユーザが指定することができ、またユニバーサル・インターフェース・モジュール２０６が実行すべき（例えば、データ処理動作、アラーム生成動作、などの）その他の動作もユーザは指定することができる。本明細書に示される実施例では、図７の例示的な構成プログラムＧＵＩ７００および図９の事前コンパイル中間準備エリア９００に関連して、図１２の例示的な方法を説明する。但し、構成プログラムＧＵＩ７００またはその他のＧＵＩを基盤としたプログラムに関しては、図１２の例示的な方法を実施する必要はない。例えば例示的な実施形態のいくつかにおいて、図１２の例示的な方法はテキストベースのユーザインターフェース（例えば、コマンドライン・インターフェース）またはその他いかなるタイプのユーザインターフェースを使用して実施されてもよい。
【００７６】
図１２に示されるように、構成プログラムＧＵＩ７００は最初にユニバーサル・インターフェース定型（例えば、図４のユニバーサル・インターフェース定型４０８）を受信する（または読み出す）（ブロック１２０２）。その後、構成プログラムＧＵＩ７００は、ユニバーサル・インターフェース定型４０８により提供されるユーザ選択可能なオプションまたは機能特性を読み込む（ブロック１２０４）。例えば、構成プログラムＧＵＩ７００は、選択可能なデータソース・パス、データタイプ、データ・プロセス機能、アラームのタイプ、更新時間などをドロップダウン・メニューに投入することができる。
【００７７】
その後、構成プログラムＧＵＩ７００は、基準パラメータ（例えば、圧力基準パラメータ）がモジュールに追加されたかどうかを判断する（ブロック１２０６）。基準パラメータが追加されたと構成プログラムＧＵＩ７００が判断した場合（ブロック１２０６）、構成プログラムＧＵＩ７００は事前コンパイル中間準備エリア９００（図９）の追加されたパラメータに対応するソフトウェア・コードを格納する（ブロック１２０８）。例えば、構成プログラムＧＵＩ７００はパラメータ定義（例えば、図９のパラメータ定義９０２および９０４の一つ）を格納することができる。
【００７８】
その後、構成プログラムＧＵＩ７００は、ユーザ選択可能な機能特性またはユーザ編集可能な機能特性をパラメータ編集エリア７１０（図７）に表示する（ブロック１２１０）。その後、構成プログラムＧＵＩ  ７００は、追加された基準パラメータのためのユーザ指定機能選択を受信する（ブロック１２１２）。構成プログラムＧＵＩ７００は、事前コンパイル中間準備エリア９００においてユーザ指定機能特性を各々のパラメータ定義と関連付ける（ブロック１２１４）。構成プログラムＧＵＩ  ７００は各々のデータソースにおいてユーザ定義の基準パラメータ名を基準位置と関連付ける（ブロック１２１６）。例えば、図７に示されるようにユーザ定義の基準パラメータ名が「圧力」である場合、アクセスされるべき基準値の位置が「ＰＴ１」のＩＤを有するフィールド装置内の「ＩＮ」ポート（図５および図７）である場合、企業体ネットワーク１００のネーティブ構成要素がユーザ定義の基準パラメータ名「圧力」に基づいて基準値「ＰＴ１．ＩＮ」にて参照しアクセスすることを可能にするために、構成プログラムＧＵＩ７００は、企業体ネットワーク１００内の基準「ＰＴ１．ＩＮ」の位置にユーザ定義の基準パラメータ名「圧力」を関連付ける。
【００７９】
構成プログラム（例えば、構成プログラムＧＵＩ７００に対応する構成プログラム）は、それが図２のユニバーサル・インターフェース・モジュール２０６を生成すべきかどうかを判断する（ブロック１２２０）。例えば、ユーザが構成プログラムＧＵＩ７００上でコンパイル・オプションまたは生成オプション（図示せず）を選択すると、構成プログラムは、それがユニバーサル・インターフェース・モジュール２０６を生成するべきであると判断しうる。構成プログラムがユニバーサル・インターフェース・モジュール２０６を生成するべきであると判断した場合（ブロック１２２０）、構成プログラムは、事前コンパイル中間準備エリア９００の情報に基づいてユニバーサル・インターフェース・モジュール２０６を生成する（ブロック１２２２）。ユニバーサル・インターフェース・モジュール２０６を生成後（ブロック１２２２）、または、コンパイルされたユーザインターフェース２０６を生成すべきではない構成プログラムが判断した場合（ブロック１２２０）、または基準パラメータが追加されていないと構成プログラムＧＵＩ７００が判断した場合（ブロック１２０６）、構成プログラムは、それが図１２の例示的な方法を終了すべきかどうかを判断する（ブロック１２２４）。例えば、ユーザが構成プログラムＧＵＩ７００を終了した場合または現在の構成作業空間（ワークスペース）を閉じた場合、構成プログラムは、それが例示的な方法を終了すべきであると判断する。構成プログラムが例示的な方法を終了すべきでないと判断した場合、制御はブロック１２０６に戻される。それ以外の場合、図１２の例示的な方法は終了される。
【００８０】
ここで図１３Ａ、図１３Ｂおよび図１３Ｃを参照するに、ユニバーサル・インターフェース・モジュール２０６が一つ又は複数のデータソース内のデータにアクセスできるようにするために、図中に示される例示的な方法を図４の実行時フェーズ４１２中に実施しうる。以下、議論の目的上、図１３Ａ、図１３Ｂおよび図１３Ｃの例示的な方法を、アプリケーションステーション１０２（図１および図２）により実施されるものとして説明する。但し、例示的な方法はその他のプロセッサーシステムまたは装置を使用しても実施されうる。最初に、アプリケーションステーション１０２はユニバーサル・インターフェース・モジュール２０６をインスタンス化する（ブロック１３０２）。例えば、アプリケーションステーション１０２は、ユニバーサル・インターフェース・クラスのタイプのユニバーサル・インターフェース・モジュール・オブジェクトをインスタンス化することができる。その後、アプリケーションステーション１０２はユーザ指定のパラメータに対応する１以上のデータソース・インターフェース（例えば、図３のデータソース・インターフェース３０６および３０８ａ〜３０８ｃの一つ又は複数）をインスタンス化する（ブロック１３０４）。その後、アプリケーションステーション１０２は対応するデータソースにデータソース・インターフェースをバインドする（ブロック１３０６）。例えば、アプリケーションステーション１０２は、ユーザ指定のモジュール名「実験室」に等しい図５のモジュール名５０１、および、ユーザ指定の基準パラメータ名とパスに等しい複数のパラメータ５０２（図５）を設定することができる。
【００８１】
その後、アプリケーションステーション１０２はユーザ指定のデータ処理機能をインスタンス化する（ブロック１３０８）。例えば、アプリケーションステーション１０２は、図３のデータ処理機能３２０の一つ又は複数をインスタンス化することができる。その後、アプリケーションステーション１０２は、ユーザ指定のデータ処理機能を、対応するデータソース・インターフェースまたはその他のデータ処理機能にバインドする（ブロック１３１０）。例えば、アプリケーションステーション１０２は、ユーザ指定のデータ処理機能を、ブロック１３０４でインスタンス化されたデータソース・インターフェース３０６および３０８ａ〜３０８ｃの対応するものにバインドすることができる。その後、アプリケーションステーション１０２はユーザ指定のアラーム機能をインスタンス化する（ブロック１３１２）。例えば、アプリケーションステーション１０２は、図３のアラーム３２２の一つ又は複数をインスタンス化することができる。その後、アプリケーションステーション１０２は、アラーム４２２のうち有効になっているものを、ユニバーサル・インターフェース・モジュール２０６にバインドする（ブロック１３１４）。例えば、アプリケーションステーション１０２は、アラームを各々の基準パラメータにバインドすることができる。その後、アプリケーションステーション１０２は、一般データアクセス・インターフェース３０４（図３）をインスタンス化し（ブロック１３１６）、ユニバーサル・インターフェース・モジュール２０６を稼動する（または実行する）（ブロック１３１８）。
【００８２】
ユニバーサル・インターフェース・モジュール２０６は、一つ又は複数の対応するデータソース（ブロック１３２０）（図１３Ｂ）からのユーザ指定データの初期読取りを実行する。例えば、ユーザ指定のデータが第三者データを含んでいる場合、ユニバーサル・インターフェース・モジュール２０６は、第三者データベース１３８（図２）からデータを読み取る。その後、ユニバーサル・インターフェース・モジュール２０６は、例えば図３のメモリ３１２などのローカルメモリにデータを格納する（ブロック１３２２）。続いて、ユニバーサル・インターフェース・モジュール２０６は、図７の更新時間フィールドに格納された更新時間または間隔値に基づいて定期的にまたは非定期的に第三者データベース１３８からデータを読み取ることができる。ユニバーサル・インターフェース・モジュール２０６は、それがデータソース（図１３Ｂ）からデータアクセス依頼を受信したかどうかを判断する（ブロック１３２４）。例えば、ユニバーサル・インターフェース・モジュール２０６が、企業体ネットワーク１００（図１）の別の構成要素またはネットワーク・エンティティからユニバーサル・インターフェース読込み機能呼出５１２（図５）を受信すると、ユニバーサル・インターフェース・モジュール２０６はそれがデータアクセス依頼を受信したものと判断する。
【００８３】
ユニバーサル・インターフェース・モジュール２０６がデータアクセス依頼を受信したと判断した場合（ブロック１３２４）、ユニバーサル・インターフェース・モジュール２０６は、例えばデータ格納インターフェース３１０（図３）を使用して、局部的にキャッシュに格納されたているデータのうち依頼されたものをメモリ３１２から読み出す（ブロック１３２６）。ユニバーサル・インターフェース・モジュール２０６は、それが一つ又は複数のデータ・プロセス機能を実行するべきかどうかを判断する（ブロック１３２８）。例えば、ユーザ指定の機能が、依頼されたデータのためにユニバーサル・インターフェース・モジュール２０６においてインスタンス化された場合、ユニバーサル・インターフェース・モジュール２０６は依頼データに対して一つ又は複数データ処理機能を実行する（ブロック１３３０）。データ・プロセス機能は、いかなる時点においても実行でき、必ずしもデータアクセス依頼がユニバーサル・インターフェース・モジュール２０６により受信された場合にだけに実行されなければならないというわけではない。
【００８４】
データ・プロセス機能を実行後（ブロック１３３０）、またはユニバーサル・インターフェース・モジュール２０６がデータアクセス依頼を受信していないと判断した場合（ブロック１３２４）、ユニバーサル・インターフェース・モジュール２０６は、一つ又は複数アラーム（例えば、図８のアラーム・フィールドに対応するアラーム）を生成するべきかどうかを判断する（ブロック１３３８）（図１３Ｃ）。例えば、更新済データがブロック１３１２（図１３Ａ）でインスタンス化されたアラーム３２２（図３）の一つに対して利用可能であり、更新済データがユーザ指定の下限しきい値より低いかまたはユーザ指定の上限しきい値より高い場合、ユニバーサル・インターフェース・モジュール２０６はアラームを生成する（ブロック１３４０）。
【００８５】
ユニバーサル・インターフェース・モジュール２０６がアラームを生成後（ブロック１３４０）、またはユニバーサル・インターフェース・モジュール２０６がアラームを生成すべきでないと判断した場合（ブロック１３３８）、ユニバーサル・インターフェース・モジュール２０６はデータをデータソースに書き込むべきどうかを判断する（ブロック１３４２）。例えば、ユニバーサル・インターフェース・モジュール２０６が、企業体ネットワーク１００（図１）のネーティブ構成要素またはネットワーク・エンティティからユニバーサル・インターフェース・ライト機能呼出を受け取る場合、または特定のデータソースに特定の情報を定期的に書き込むために、ユーザが構成フェーズ４１０（図４）中にユニバーサル・インターフェース・モジュール２０６を構成した場合、ユニバーサル・インターフェース・モジュール２０６はデータをデータソースに書き込むべきであると判断する。
【００８６】
ユニバーサル・インターフェース・モジュール２０６が、指定されたデータソースにデータを書き込むべきと判断した場合（ブロック１３４２）、ユニバーサル・インターフェース・モジュール２０６は、指定された対象データソースに対応するデータソース・インターフェース３０６および３０８ａ〜３０８ｃの一つを選択する（ブロック１３４４）。その後、変換ユーティリティ３１８（図３）の一つは、対象データソースのフォーマットに従ってデータ書込み依頼（例えば、データ書込み機能呼出し）を生成する（ブロック１３４６）。その後、対象データソースに対応するデータソース・インターフェース（例えば、ネーティブデータソース用の図３および図５のＩ／Ｏインターフェース３０６または第三者データソース用の図３の第三者インターフェース３０８ａ〜３０８ｃ）は、データ書込依頼と、対象データソースに書き込まれるべきデータを通信する。
【００８７】
その後、ユニバーサル・インターフェース・モジュール２０６は、データを（例えばメモリ３１２において）局部的にキャッシュに格納するべきかどうか判断する（ブロック１３５０）。例えば、ユーザは、どのデータが局部的にキャッシュに格納されるべきかを構成フェーズ４１０（図４）中に指定することができる。ユニバーサル・インターフェース・モジュール２０６がデータを局部的にキャッシュに格納すべきでないと判断した場合（ブロック１３５０）、データ格納インターフェース３１０（図３）はメモリ３１２にデータを格納する（ブロック１３５２）。データ格納インターフェース３１０がメモリ３１２にデータを格納した後、またはユニバーサル・インターフェース・モジュール２０６がデータを局部的にキャッシュに格納しないと判断した場合（ブロック１３５０）、ユニバーサル・インターフェース・モジュール２０６は、動作を終了すべきかどうかを判断する（ブロック１３５４）。例えば、ユーザまたはソフトウェアプロセス（例えば、図２のソフトウェアプロセス２０２）は、ユニバーサル・インターフェース・モジュール２０６を終了してもよい。ユニバーサル・インターフェース・モジュール２０６がそれの動作を終了すべきでないと判断した場合、制御は図１３Ｂのブロック１３２０に送り返される。それ以外の場合、図１３Ａ、図１３Ｂおよび図１３Ｃの例示的な方法は終了される。
【００８８】
図１４は、本明細書に記載される機器および方法を実施するために使用されうる例示的なプロセッサーシステム１４１０のブロック図である。図１４に示されるように、プロセッサーシステム１４１０は相互接続バス１４１４に連結されるプロセッサ１４１２を含んでいる。プロセッサ１４１２には、レジスタ・セットまたはレジスタ領域１４１６が含まれている。レジスタ・セットまたはレジスタ領域１４１６は、図１４では完全にチップ上に備えられた状態で示されているが、その代わりとして、完全に又は部分的にチップ外に備えられた状態で、専用の電気接続を介して及び又は相互接続バス１４１４を介して、プロセッサ１４１２に直接連結することも可能である。プロセッサ１４１２には、適切なプロセッサ、処理装置またはマイクロプロセッサであればいかなるものを使用してもよい。図１４には図示されていないが、システム１４１０は、マルチプロセッサシステムでありえ、よってプロセッサ１４１２と同一であるか、または類似し、且つ相互接続バス１４１４に通信可能に連結される、一つ又は複数の更に追加された別のプロセッサを含んでもよい。
【００８９】
図１４のプロセッサ１４１２は、メモリーコントローラー１４２０および周辺入出力（Ｉ／Ｏ）コントローラ１４２２を含むチップセット１４１８に連結される。周知のように、チップセットは一般に、チップセット１４１８に連結される一つ又は複数のプロセッサによりアクセス可能なまたは使用される複数の汎用及び又は専用レジスタやタイマーなどに加え、入出力および記憶管理機能を備える。メモリ制御部１４２０は、プロセッサ１４１２（または、複数のプロセッサが備えられている場合は「複数のプロセッサ」）がシステム・メモリ１４２４および大容量記憶メモリ１４２５にアクセスできるようにする機能を果たす。
【００９０】
システム・メモリ１４２４は、例えば静的ランダムアクセス記憶装置（ＳＲＡＭ）、動的ランダムアクセス記憶装置（ＤＲＡＭ）、フラッシュメモリ、読み取り専用メモリなど（ＲＯＭ）など所望のあらゆるタイプの揮発性及び又は不揮発性メモリを含みうる。大容量記憶メモリ１４２５は、ハードディスクドライブ、オプティカルドライブ、テープ記憶装置などを含む所望のあらゆるタイプの大容量記憶装置を含みうる。
【００９１】
周辺Ｉ／Ｏコントローラ１４２２は、周辺Ｉ／Ｏバス１４３２を介して、周辺入出力（Ｉ／Ｏ）装置１４２６および１４２８、ならびにネットワーク・インターフェース１４３０とプロセッサ１４１２が通信することを可能にする機能を行う。Ｉ／Ｏ装置１４２６および１４２８には、例えば、キーボード、ビデオディスプレイまたはモニター、マウスなど、所望するいかなるタイプのＩ／Ｏ装置を使用しえる。ネットワーク・インターフェース１４３０は、プロセッサーシステム１４１０が別のプロセッサーシステムと通信することを可能にする例えばイーサネット（登録商標）装置、非同期転送モード（ＡＴＭ）装置、８０２．１１装置、ＤＳＬモデム、ケーブル・モデム、セルラーモデムなどであってよい。
【００９２】
メモリ制御器１４２０とＩ／Ｏコントローラ１４２２は、図１４においてチップセット１４１８内の別々の機能ブロックとして表されているが、これらのブロックにより実行される機能は、単一の半導体回路内に統合しても、個別の集積回路を二つ以上用いても実施しうるものである。
【００９３】
実施例として挙げられる特定の方法、機器および製造品が本明細書において記載されているが、この特許の適用領域の範囲はそれに限定されるものではない。それとは逆に、本特許は、字義的にもしくは均等論に基づいて添付の特許請求の範囲内に公正に含まれる方法、機器および製造品の全てを網羅するものである。
【図１】
2014238891.tif 000003
【図２】
2014238891.tif 000004
【図３】
2014238891.tif 000005
【図４】
2014238891.tif 000006
【図５】
2014238891.tif 000007
【図６】
2014238891.tif 000008
【図７】
2014238891.tif 000009
【図８】
2014238891.tif 000010
【図９】
2014238891.tif 000011
【図１０】
2014238891.tif 000012
【図１１】
2014238891.tif 000013
【図１２】
2014238891.tif 000014
【図１３Ａ】
2014238891.tif 000015
【図１３Ｂ】
2014238891.tif 000016
【図１３Ｃ】
2014238891.tif 000017
【図１４】
2014238891.tif 000018