(57)【要約】【課題】制御アーキテクチャの複数のレベルにおいて情報へのオブジェクト指向アクセスをサポートするシステムおよび方法を提供する。【解決手段】データ・アクセスを容易に行うために、ＭＥＳシステムに隣接する層またはＭＥＳシステムの一部とする、またはホワイト・ボックスがデータをカプセル化するために協力する。さらに上記オブジェクト指向データ・アクセスをコントローラのデータ・タイプの標準動作およびこれらデータ・タイプのタグとしてコントローラ内に組込むことができ、各データ需要側との共通なインタフェースを使用して、データに関連する特性および／または方法を表示するためにデータをデータ・オブジェクトとしてカプセル化することができる。それ故、データ需要側は、そのオートメーション・システム構成要素と一緒に特性、方法、修飾子等のオブジェクト指向コンセプトを使用することができる。【選択図】図１
2006107498.tif 000002
【特許請求の範囲】
【請求項１】
産業用制御システムにデータを供給するシステム（１００，２００）であって、
データに関連する特性および方法を１つまたは複数のデータ・オブジェクトとしてパッケージ化するために、ソースから前記データを受信し、前記データ（２２０，３１０）をカプセル化する産業用制御デバイス（３２０，４１０）に関連するパッケージング構成要素（１１０）であって、共通なデータ・オブジェクト・フォーマットを使用することにより、データに対するオブジェクト指向アクセスが容易になる前記パッケージング構成要素（１１０）と、
前記カプセル化されたデータ・オブジェクトのうちの１つから選択したデータ・オブジェクトにアクセスするためのインタフェースを使用する産業用制御ネットワーク内に位置するデータを使用するデバイス（１２０）とを備える前記システム。
【請求項２】
前記パッケージング構成要素（１１０）が、処理デバイス（２３０）、スマート端末、遠隔端末、産業用プロセッサ、プログラマブル論理コントローラ（７１０，７４０）およびインテリジェント・コントローラのうちの１つまたは複数に関連する、請求項１に記載のシステム。
【請求項３】
前記データを使用するデバイス（１２０）が、統合基幹業務層（５５０，６４０）、生産実行システム層（５４０，６３０）、オブジェクト層（５３０）および制御層（５２０，６２０）のうちの少なくとも１つの中に位置する、請求項１に記載のシステム。
【請求項４】
前記データを使用するデバイス（１２０）が、処理デバイス（２３０）、スマート端末、遠隔端末、産業用プロセッサ、プログラマブル論理コントローラ（７１０，７４０）およびインテリジェント・コントローラのうちの１つまたは複数である、請求項１に記載のシステム。
【請求項５】
許可を受けていないデータを使用するデバイスが、前記データ特性および前記データ方法のうちの少なくとも１つにアクセスするのを前記インタフェースが防止する、請求項１に記載のシステム。
【請求項６】
前記カプセル化されたデータを使用して、前記データ特性および前記データ方法のうちの少なくとも１つの位置を発見することができる検索エンジンをさらに備える、請求項１に記載のシステム。
【請求項７】
前記データを使用するデバイス（１２０）が、直接データ読出し特性（９３０）、直接書込み特性（９４０）、および直接データ呼出し方法（９５０）のうちの少なくとも１つを有することができる、請求項１に記載のシステム。
【請求項８】
各データ・オブジェクト（５１０）の単一のインスタンスだけが、前記産業用制御システムと関連する、請求項１に記載のシステム。
【請求項９】
前記パッケージング構成要素（１１０）を、統合基幹業務層（５５０，６４０）、生産実行システム層（５４０，６３０）、オブジェクト層（５３０）および制御層（５２０，６２０）のうちの１つの中で位置することができる、請求項１に記載のシステム。
【請求項１０】
特定のデータを使用するデバイス（１２０）に表示される前記特性および方法を判断する抽出構成要素（２１０）をさらに備える、請求項１に記載のシステム。
【請求項１１】
前記データを使用する構成要素（１２０）と前記データ・オブジェクト（５１０）との間の前記インタフェースを決定する人工知能（ＡＩ）構成要素をさらに備える、請求項１に記載のシステム。
【請求項１２】
前記ＡＩ構成要素が、前記データを使用するデバイス（１２０）のモデル、前記データを使用するデバイスの要件、前記データを使用するデバイスの改訂、前記データを使用するデバイスのデータ・アクセスの履歴、および前記データを使用するデバイスの許可レベルのうちの少なくとも１つに基づいて前記インタフェースを決定する、請求項１１に記載のシステム。
【請求項１３】
前記ＡＩ構成要素が、サポート・ベクトル・マシン、ニューラル・ネットワーク、バック伝搬ネットワーク、フィードフォワード・バック伝搬ネットワーク、放射をベースとするネットワーク、ファジィ・ロジック・ネットワーク、エキスパート・システム、ベイズ・ネットワーク、およびデータ融合ネットワークのうちの１つに少なくとも一部は基づいて決定を行う、請求項１１に記載のシステム。
【請求項１４】
産業用制御システム内においてデータを供給するためのコンピュータ実施方法（８００）であって、
ソースからデータを受信するステップ（８１０）と、
前記データの特性および方法を抽出するステップ（８２０）と、
データ・オブジェクトを供給するために、前記データの前記特性および方法をカプセル化するステップ（８３０）と、
少なくとも１人のデータ加入者（側）（４２０〜４６０）に前記データの前記特性および方法を表示するステップ（８４０）とを含む前記方法。
【請求項１５】
前記データ加入者（側）のニーズのひとつと前記データ加入者（側）の許可とを決定するために、前記データ加入者（側）に対してインタフェースとして機能するステップをさらに含む、請求項１４に記載の方法。
【請求項１６】
前記特性および方法に対して前記インタフェースとして機能するステップが、１つまたは複数の特性を読み出すステップ（９３０）、１つまたは複数の特性を書き込むステップ（９４０）、１つまたは複数の方法を呼び出すステップ（９５０）のうちの少なくとも１つを含む、請求項１５に記載の方法。
【請求項１７】
ＥＲＰ層（５５０，６４０）、ＭＥＳ層（５４０，６３０）、制御層（５２０，６２０）およびオブジェクト層（５３０）のうちの１つでデータを受信する（１０３０）、請求項１４に記載の方法。
【請求項１８】
１つまたは複数の層間で前記データ・オブジェクトを相互に交換するステップをさらに含み、前記層が、ＥＲＰ層（５５０，６４０）、ＭＥＳ層（５４０，６３０）、制御層（５２０，６２０）およびオブジェクト層（５３０）のうちの１つである、請求項１４に記載の方法。
【請求項１９】
オブジェクト・ライブラリ（６１０）に１つまたは複数のデータ・オブジェクトを記憶するステップをさらに含む、請求項１４に記載の方法。
【請求項２０】
情報へのオブジェクト指向アクセスを行う方法であって、
産業用制御構成要素からデータを受信するための手段（１２０）と、
特性および方法の適当なサブセットを表示することにより、前記データをカプセル化するための手段（１１０，２２０，３１０）と、
データ需要者（側）にこのような特性および方法を提供するための手段（２１０）とを備える方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業用制御システムに関し、特にオートメーション・システム内でオブジェクト指向機能を使用することができるようにするためのシステムおよび方法に関する。
【背景技術】
【０００２】
産業用コントローラは、工業プロセス、機械、製造装置および他の工場用オートメーションの用途を制御するために使用する特種な目的の処理デバイスである。制御プログラムまたはルーチンにより、産業用コントローラは、被制御プロセスの状態を表す１つまたは複数のプロセス変数、または入力を測定することができ、プロセスの制御を行う出力を変化させることができる。入力および出力は、２進法のデータ（例えば、オンまたはオフ）、および／または連続しているある範囲の値をとるアナログのデータであってもよい。制御ルーチンは、バッチ処理機能により一連の実行サイクル中に実行することができ、１つまたは複数の機能ユニットを備えることができる。このような制御ルーチンは、ツールおよびインタフェースを有するコントローラ構成システム内で生成することができ、それによりユーザは、プログラミング言語または制御機能の図形的表示により制御戦術を実施することができる。制御ルーチンは、プロセスまたは機械を制御する際に制御戦略を実施するために、構成システムから１つまたは複数のコントローラ内へダウンロードすることができる。
【０００３】
被制御プロセスから受信した測定入力、およびプロセスに送信した出力は、制御システム内の１つまたは複数の入出力（Ｉ／Ｏ）モジュールを通過することができる。上記入出力モジュールは、コントローラと被制御プロセスとの間で電気的インタフェースとしての働きをし、コントローラの近くにまたは遠くに設置することができる。入力および出力はプロセッサ・メモリ内のＩ／Ｏテーブル内に記録することができる。入力値は、１つまたは複数の入力モジュールにより被制御プロセスから非同期状態で読み出すことができ、出力値は、特殊な通信回路によりプロセッサへの以降の通信中に、プロセッサによりＩ／Ｏテーブルに直接書き込むことができる。出力モジュールは、Ｉ／Ｏテーブルからの出力を、モータ、ドライブ、弁、ソレノイド等のようなアクチュエータに供給することにより、被制御プロセスに対して直接インタフェースとして機能することができる。
【０００４】
制御ルーチンの実行中、被制御プロセスと交換した入力および出力の値は、Ｉ／Ｏテーブルを通過する。Ｉ／Ｏテーブル内の入力の値は、専用走査回路により被制御プロセスから非同期状態で更新することができる。この走査回路は、バックプレーン上のバスまたはネットワーク通信により、入力および／または出力モジュールと通信することができる。走査回路は、また、被制御プロセスへＩ／Ｏテーブル内の出力の値を非同期状態で書き込むことができる。Ｉ／Ｏテーブルからの出力値は、プロセスとインタフェースしている間に、１つまたは複数の出力モジュールに送ることができる。それ故、コントローラは、被制御プロセスと直接通信しなくても、Ｉ／Ｏテーブルに簡単にアクセスすることができる。
【０００５】
分散型制御システムの場合には、産業用コントローラを（それぞれが異なる機能を実行する）多数の制御モジュールへ分散すると、コントローラのハードウェアの構成を容易に行うことができる。次に、制御タスクのために必要な特定の制御モジュールを、ラック内の共通のバックプレーン上におよび／またはネットワークまたは他の通信媒体を通して一緒に接続することができる。制御モジュールは、プロセッサ、電力供給源、ネットワーク通信モジュール、および被制御プロセスと入力および出力信号を直接交換するＩ／Ｏモジュールを含むことができる。データは、直列であっても並列であってもよいバックプレーン通信バスにより、またはネットワークを通してモジュール間で交換することができる。ネットワーク通信だけに基づいてＩ／Ｏ動作を行う他に、自律論理または他の制御プログラムまたはルーチンを実行することができるスマート・モジュールも存在する。
【０００６】
分散型産業用制御システムの種々の制御モジュールは、いくつかのラック内の共通の通信リンクに沿って空間内に分散することができる。それ故、いくつかのＩ／Ｏモジュールを、コントローラの一部の近くおよびコントローラの残りの部分から離して設置することができる。データは、共通の通信リンクまたはネットワークにより、これら遠隔モジュールにより送ることができ、この場合、ネットワーク上のすべてのモジュールは、標準通信プロトコルにより通信する。
【０００７】
通常の分散型制御システムの場合には、１つまたは複数のＩ／Ｏモジュールが、プロセスとのインタフェース用に使用される。出力は、メッセージの形をしているその制御または出力値を、ネットワークまたはバックプレーンを通してマスタ装置またはピア装置から入手する。例えば、ある出力モジュールは、通信ネットワークまたはバックプレーン通信バスを通して、プログラマブル論理コントローラ（ＰＬＣ）のようなプロセッサから出力値を受信することができる。所望の出力値は、通常、Ｉ／Ｏメッセージのようなメッセージ内の出力モジュールに送られる。このようなメッセージを受信する出力モジュールは、対応する出力（アナログまたはデジタル）を被制御プロセスに送る。入力モジュールは、プロセス変数の値を測定し、入力値をネットワークまたはバックプレーンを通してマスタ装置またはピア装置に報告する。プロセッサ（例えば、ＰＬＣ）は、制御計算を行うためにこの入力値を使用することができる。
【０００８】
データのコピーが、工場の作業場、制御レベルおよびＭＥＳレベルのような制御アーキテクチャの複数のレベル上に存在する現在のオートメーション・システムにおいては、データと動作は別々のものである。例えば、特定のデータ・ソースに対する制御システム内の複数の場所で持続性を維持しようとすると、いくつかの問題がでてくる場合がある。例えば、システムの動作を無視してデータを変更することはできるが、そうするとデータと動作との間の一貫性が失われる場合がある。さらに、あるレベル（例えば、ＭＥＳレベル）での対応する変更を行わないで、他のレベル（例えば、制御レベル）でデータおよび／または動作を変更すると、間違ったオートメーション・システムの動作として表面化する場合がある。
【０００９】
さらに、すでに説明したように、データは、通常、特定の制御システム内の１つまたは複数のコントローラ内に記憶されている。データは、システム全体を通して分配することができ、そのため収集または組織化されない、種々のビット値、語値および整数値を含む複数のフォーマットで記憶することができるので、外部デバイスとの通信が難しくなったり、非効率になったりする場合がある。データと通信するために、このようなデータの属性および方法、およびこのようなデータの使用方法を決定する目的で、別々の場所のデータを読み出すために、一般的なＩ／Ｏ読出しを使用することができる。この方法で、データをアーキテクチャの種々のレベルで記憶することができ、自己記述でないようにすることができ、そのためアーキテクチャの別々のレベルで容易に使用することができない。
【００１０】
従来においては、データのフォーマットおよび意味は、データ（例えば、ビット、語、タグ名等）のフォーマットおよび値が、制御システムに対して指定の意味を持つように予め規定しておかなければならなかった。例えば、「Ｊｏｅ」という語が、スケーリング・ファクタを表している場合には、データの裏のこのような意味を、制御システム（例えば、ある構成要素からＭＥＳ層へ）内の層毎にソースから加入者（側）に伝えなければならない。そのため、データ加入者（側）は、データを読んだり、理解することができる。同様に、反対方向の通信は、ある手順を行いたい場合、データを変更するために特定のプロトコルに従わなければならないというような困難に遭遇する。それ故、例えば、制御システムとＭＥＳ層との間の従来の通信は、特定のデータ通信プロトコルが遵守されない場合には失敗する。
【００１１】
図１３は、ある特定の産業用オートメーション・アーキテクチャを示す。この図および添付のテキストは、従来のアーキテクチャに関連する種々の違いを説明するためのものである。現在の技術的レベルの産業用オートメーション・システムは、２つ以上の層を含む階層的アーキテクチャを使用している。図１３は、従来技術の制御層１３１０、生産実行（ＭＥＳ）システム層１３２０、および統合基幹業務（ＥＲＰ）層１３３０を使用している通常の３層アーキテクチャを示す。階層アーキテクチャの機能に注目するのは重要なことである。制御層１３１０（例えば、工場の作業場）は、リアルタイム制御用に特化されているＰＬＣおよびドライブのようなコントローラを含むことができる。それ故、これらのコントローラは、工場の作業場のデータを捕捉し、このデータをもっと高いレベル（例えば、ＭＥＳ層１３２０、ＥＲＰ層１３３０等）に送る。ＭＥＳ層１３２０は、構造化データ、ソフトウェア・アプリケーションおよびトランザクション指向アーキテクチャを含む１つまたは複数の計算装置を備えることができる。ＥＲＰ層１３３０は、通常、例えば、注文管理アプリケーションおよび顧客管理アプリケーションのようなＥＲＰソフトウェアを実行する１つまたは複数の計算装置を使用することができる。制御層１３１０のデータは、センサおよびアクチュエータの状態を含んでいて、これらの状態を製品のバッチまたは機械の効率のような物理または論理エンティティに関連づけない。このようなデータは、非構造化データと呼ばれる。何故なら、このデータをＭＥＳ層１３２０またはＥＲＰ層１３３０のところで通常使用される構造化データ・タイプに変換するには、有意の顧客プログラミングが必要になるからである。また、非構造化データを、複数のコンピュータ内に常駐することができる複数のＭＥＳアプリケーションに送るコントローラにより、今日では、通常、いくつかの場所で同じデータの多くのコピーを使用している。これは望ましいことではない。何故なら、障害が起きた場合、システムの回復およびデータの１つの「正しい」コピーを発見するのが困難であるからである。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
それ故、少なくとも上記の観点からいって、産業用オートメーション技術の場合には、制御アーキテクチャのデータおよび動作を送るための柔軟で融通性の高いシステムおよび方法が必要である。
【課題を解決するための手段】
【００１３】
本発明のいくつかの態様を基本的に理解してもらうために、本発明の概要について簡単に説明する。この概要は本発明を広範に説明するものではない。この概要は、本発明の基本的なまたは重要な素子を特定するためのものでもなければ、本発明の範囲を限定するためのものでもない。その目的は、単に、後述の詳細な説明の前置きとして本発明のいくつかのコンセプトを簡単な形で説明することである。
【００１４】
本発明は、外部のクライアント（例えば、制御システム、ＭＥＳ層等）が、周知のフォーマットでコントローラからデータおよび／またはサービスを要求することができるように、データおよびサービスの両方に対してはっきりと規定されたインタフェースを提供するコントローラ（例えば、産業用コントローラ、プログラマブル論理コントローラ、スマート端末等）内で、構造化オブジェクトを生成するためのシステムおよび方法を提供する。それ故、外部のクライアントは、コントローラ内のデータの位置および／またはデータ・フォーマット（例えば、特定のビットおよびバイトの編成方法）について知る必要がない。
【００１５】
この方法により、オブジェクトの識別およびデータの特性の識別を行うことができるコントローラ内でオブジェクト・レベルの機能を使用することができる。同様に、サービスの識別方法は、本発明のある態様に従って項目の作動および要求を行うことができる。このようにして、制御システムは、特定のデータ・フォーマットおよび編成の必要性を緩和するために、上のレベルのクライアントに署名情報を公表することができる。制御システムは、１つまたは複数のコントローラにオブジェクトおよび対応するサービスを送るために、コントローラを通して制御サービスに接続することができる。データの文書化が必要な従来の方法の代わりに、このようなサービスの場所を発見するために動的な問合わせを使用することができる。
【００１６】
上記の利点は、プログラマブル論理コントローラまたは他の適当なフロアレベルのデバイスのようなデータ・ソースからデータを受信するパッケージング構成要素を提供することにより達成することができる。その後で、このような受信データの特性および方法を表示し、これらの特性および方法を１つまたは複数のデータ・オブジェクトにするために、この受信データをカプセル化することができる。産業用オートメーション・コンテキスト（例えば、統合基幹業務システム等）内、および工場のフロアのデバイス（例えば、プログラマブル論理コントローラ）で使用する高いレベルのシステムに共通なデータ・オブジェクト・フォーマットを使用すれば、データ・オブジェクトとしてカプセル化されている特性および方法に容易にアクセスすることができる。１つまたは複数のデータ・オブジェクトとしてデータをフォーマットした場合には、産業用オートメーション環境内のデータを使用するデバイスは、望ましくは、受信される特性および／または方法を表すデータ・オブジェクトにアクセスするためのインタフェースを使用することができる。
【００１７】
工場のフロア上のコントローラ内の計算能力および高速通信の急速な進歩のトレンドの助けを借りて、本発明は、現在の工場のフロア、ＭＥＳおよびＥＲＰシステムの階層的境界に渡って、オートメーション・データの共通のオブジェクト指向表現の生成に焦点を当てている。それ故、このオブジェクト指向表現は、産業用オートメーション階層のすべてのレベルに渡って共通に使用することができ、標準プログラミング技術により層間接続を生成することができる。本発明を使用すれば、カスタマイズしたソフトウェアおよびカスタマイズしたデータ・インタフェースの数を大きく低減することができ、特定のデータが生成される場所のような制御アーキテクチャ内の１つの場所からデータを記憶しデータにアクセスすることができる。
【００１８】
上記および関連する目的を達成するために、本発明は、以下に詳細に説明する機能を含む。下記の説明および添付の図面は、本発明のいくつかの例示としての態様を詳細に説明し、図示する。しかし、これらの態様は本発明の原理を使用することができる種々の方法の数例に過ぎない。添付の図面を参照しながら、本発明の下記の詳細な説明を読めば、本発明の他の態様、利点および新規な機能を理解することができるだろう。
【実施例】
【００１９】
添付の図面を参照しながら本発明の種々の態様について説明する。図面全体を通して同様の参照番号は同様の素子を示す。本発明は、例えば、制御アーキテクチャで複数のレベル上の情報へのオブジェクト指向アクセスをサポートするシステムおよび方法に関する。このようなデータ・アクセスを容易に行うために、例えば、ＭＥＳシステムに隣接する層またはＭＥＳシステムの一部として、またはホワイトボックスがコントローラまたはＭＥＳ層内のようなデータをカプセル化するために協力する。さらに、このようなオブジェクト指向データ・アクセスを、コントローラのデータ・タイプの標準的な動作としておよびこれらデータ・タイプのタグとしてコントローラ内に組み込むことができる。このようにして、ユーザは、そのオートメーション・システム構成要素と一緒に直接、特性、方法、範囲／アクセス修飾子（民間企業、保護企業、公共企業体）、多態性、継承等のようなオブジェクト指向コンセプトを使用することができる。データへのこのアクセスは、データが階層的データ・アーキテクチャ内の複数の位置内に記憶されている従来の工場のオートメーション制御技術と全く対照的なものである。
【００２０】
例えば、階層的アーキテクチャの場合には、工場のフロアは、リアルタイム制御用に特化されているＰＬＣおよびドライブのようなコントローラを含むことができる。それ故、これらのコントローラは、工場のフロアのデータを捕捉し、そのデータをもっと高いレベルに送ることができる。工場の作業場のデータは、センサおよびアクチュエータの状態を含んでいて、これらの状態を製品のバッチまたは機械の効率のような物理または論理エンティティと関連づけない。このようなデータは、非構造化データであってもよい。何故なら、このデータを、ＭＥＳシステムまたは企業システムで通常使用する構造化データ・タイプに変換するには、有意なカスタム・プログラミングを必要とする場合があるからである。また、コントローラが、非構造化データを、複数のコンピュータ上に常駐することができる複数のＭＥＳアプリケーションに送るので、現在ではいくつかの場所でほぼ同様のデータの多くのコピーを有しているのが普通であるからである。このような複数のデータを使用するのは望ましくない。何故なら、故障した場合、システムを回復するのが難しく、データのゴールデン・コピーを発見するのが難しいからである。
【００２１】
図１について説明すると、例示としてのシステム１００は、データを使用するデバイス１２０に対してインタフェースとして機能するパッケージング構成要素１１０を備える。パッケージング構成要素１１０は、１つまたは複数のソースからデータを受信し、データを使用するデバイス１２０が、例えば、オートメーション・システムのシステム統合、発展および保守を簡単に行うことができるような方法で、このようなデータをパッケージ化するために使用することができる。このような簡略化は、ほぼすべての適当なデータ加入者（側）が、データの特性および方法にアクセスできるように、データをカプセル化することにより可能になる。
【００２２】
パッケージング構成要素１１０は、このようなパッケージング構成要素１１０が通信により接続することができる任意の数のソースから情報を受信することができる。例えば、パッケージング構成要素１１０は、システムの制御アーキテクチャに関連する種々のソースから情報を受信するために、データ駆動型アーキテクチャ全体内に位置する外部デバイスと通信することができる。このような情報は、イーサネット（登録商標）、ＣｏｎｔｒｏｌＮｅｔ、ＤｅｖｉｃｅＮｅｔ、Ｐｒｏｆｉｂｕｓ、ＣＡＮバス等のような特定のプロトコルまたは通信規格を通して送ることができる。別の方法としては、または追加的に、無線イーサネット、赤外線、Ｗｉ−Ｆｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）等のような無線プロトコルを通して通信を行うことができる。さらに、パッケージング構成要素１１０は、ツイスト・ペア、同軸ケーブル、直列ケーブル等のような種々の媒体を通してデータを受信することができる。パッケージング構成要素１１０は、シリアル・ポート、ＵＳＢポート、ワイヤ端末等のようなハードウェア・インタフェース、またはワイヤ、ケーブル、ポート等のようなハードウェア・デバイスであってもよい。別の方法としては、パッケージング構成要素１１０は、例えば、ＡＰＩのようなソフトウェア・インタフェースを介してデータが送受信されるような性質のソフトウェアであってもよい。
【００２３】
パッケージング構成要素１１０は、特定の制御アーキテクチャの１つまたは複数のレベルのデータへのオブジェクト指向アクセスをサポートすることができるように、データをパッケージ化するために使用することができる。例えば、このようなパッケージ化されたデータには、例えば、生産実行システム（ＭＥＳ；Ｍａｎｕｆａｃｔｕｒｉｎｇ  Ｅｘｅｃｕｔｉｏｎ  Ｓｙｓｔｅｍ）のアプリケーションおよび／または制御レベルの処理構成要素によりアクセスすることができる。それ故、特定のソースからのデータの１つだけのコピーが特定の制御アーキテクチャ内に存在しさえすればよい。このようなパッケージ化されたデータを、制御アーキテクチャ全体を通してデータの一貫性のための丈夫な手段を維持できるように、メモリ（図示せず）に記憶することができる。
【００２４】
パッケージング構成要素１１０が受信したデータのパッケージングを、多数の種々の要因により判断することができる。データは、値およびこのような値を記述するために使用するメタデータを含む広い範囲の情報のタイプを含む。例えば、非接触センサからのデータの送信は、２．４ボルトおよびデータのスケーリング・ファクタおよびメーカーおよびセンサの型番のデータ値を含むことができる。スケーリング・ファクタは、入力データの現実の世界の値を判断するのに使用することができる。例えば、２．４ボルトの値は、特定のスケーリング・ファクタを使用する１７ｃｍの測定値を表すことができる。
【００２５】
本発明は、位置および／またはデータの意味のすべての概念を完全に抽出することができ、簡単にデータの使用者に特性および方法の適当なサブセットを提供することができることを理解されたい。例えば、制御スキームのある語がスケールであると指定しなければならない代わりに、パッケージ化されたデータは、特性「スケーリング値」を有することができる。同様に、パッケージ化されたデータを、処理中の次のバッチを作動するために使用する場合には、例えば、このようなバッチを作動すると、制御システム内の特定の語のあるビットを設定しなければならないことをデータ加入者（側）に知らせる代わりに、「次のバッチを実行する」ことを表示する方法を使用することができる。成分量、調理時間、調理温度等のようなレシピの値を表す特性を表示することができる。別の方法としては、これらの特性は、「バッチを実行する」というコマンドのパラメータであってもよい。さらに、システムのデータの文書を少なくするために、これらのオブジェクト、方法および特性を公表することもできる。
【００２６】
データを使用するデバイス１２０は、特定のデータを使用する事実上任意のデバイス、構成要素、アプリケーション等であってもよい。すでに説明したように、パッケージング構成要素１１０によりデータがパッケージ化されると、このデータをデータ・オブジェクトとして使用することができ、データを使用するデバイスが使用することができる。このようにして、データを使用するデバイス１２０（例えば、ＭＥＳアプリケーション）は、例えば、特性を直接読み出したり／書き込んだりすることができ、および／または、コントローラをベースとするデータ・オブジェクトの方法を呼び出すこともできる。もう１つの例を挙げると、コントローラは、特性を直接呼び出しおよび／または書き込むことができ、および／またはＭＥＳ層アプリケーションの（または他のコントローラの）データ・オブジェクトが表示するオブジェクトの方法を呼び出すことができるクライアント・デバイスであってもよい。それ故、データをデータ・オブジェクトとしてパッケージ化すると、全制御システム内でデータの通信および実施を容易に行うことができる。さらに、このようなデータのコピーは１つしか存在しないので、システム内で一貫性のあるデータ（例えば、特性）および方法（例えば、動作）を供給するという点で、制御システムをもっと丈夫なものにすることができる。
【００２７】
パッケージング構成要素１１０およびデータを使用するデバイス１２０は、相互に遠隔地に位置していても近くに位置していてもよいし、また種々の技術により結合されていてもよい。例えば、データを使用するデバイス１２０は、１回または周期的にある条件に基づいて、パッケージング構成要素１１０からデータを要求することができ、ＣｏｎｔｒｏｌＮｅｔ、ＤｅｖｉｃｅＮｅｔ、Ｐｒｏｆｉｂｕｓ，イーサネット（登録商標）等のような任意の数の通信プロトコルを使用して構成することができる。さらに、このような要求を送信するのに、有線技術（例えば、同軸ケーブル、ツイスト・ペア等）、および／または無線技術（例えば、赤外線、無線イーサネット、Ｂｌｕｅｔｏｏｔｈ（登録商標）等）のような種々の媒体を使用することができる。すでに説明したように、データを使用するデバイス１２０は、例えば、コントローラまたはソフトウェア・アプリケーションのような他の異なるデータを使用するデバイスに、データ（例えば、特性および／または方法）を再送信することができる。
【００２８】
図２は、処理デバイス２３０に対してインタフェースとして機能することができるデータ・オブジェクトを供給するために、抽出構成要素２１０およびカプセル化構成要素２２０を使用するシステム２００を示す。抽出構成要素２１０は、特定の制御アーキテクチャ内に位置することができる１つまたは複数のソースからデータを受信することができる。例えば、統合基幹業務（ＥＲＰ；Ｅｎｔｅｒｐｒｉｓｅ  Ｒｅｓｏｕｒｃｅ  Ｐｌａｎｎｉｎｇ）アプリケーション、ＭＥＳアプリケーション、コントローラ等から、データを受信することができる。さらに、データは種々のフォーマットを使用することができ、このようなデータの使用方法、データのソース、データのスケール等に関連する自己記述情報を含むことができる。
【００２９】
抽出構成要素２１０は、特定のデータ需要者（側）にどんな特性および方法が表示されたかを判断するために使用することができる。このようにして、自分たちが関心のないデータおよび／またはアクセスするのを禁止すべきデータを、需要者（側）が見ることができないようにすることにより、需要者（側）の混乱を緩和することができる。例えば、データ需要者（側）が制御システム内のデータ・オブジェクトからスケーリング・ファクタにアクセスしたい場合には、抽出構成要素は、データのスケーリング・ファクタを単に供給し、データ・ソース、ソースの位置、ソースのメーカー等のような不必要な他のデータを除去することができる。
【００３０】
カプセル化構成要素２２０は、データ・オブジェクトが、種々のデータ需要者（側）に対してインタフェースとして機能することができる方法を規定するために使用することができる。本発明の実施例によれば、データ・オブジェクトの特性および／または方法へのアクセスは、このようなデータ・オブジェクトと通信するために使用するインタフェースにより指示されてもよい。例えば、カプセル化構成要素は、データ・オブジェクトが処理デバイス２３０に対してインタフェースとして機能する方法を規定することができる。このアプローチの場合、データ・オブジェクトは、処理デバイス２３０に同じ特性および／または方法を提供するために、異なるデータを使用することができる。カプセル化構成要素２２０を使用すれば、ユーザは、例えば、処理構成要素２３０のような特定のデータ需要者（側）に、このような特性および／または方法を提供するために使用するデータを修正することができる。
【００３１】
データをカプセル化することにより、処理デバイス２３０は見ることはできないが、通信のための一貫性のあるまた信頼性の高い手段を提供するために、処理デバイス２３０に同じインタフェースを提供するデータ・オブジェクトを変更することができる。さらに、このようなインタフェースは、データ需要者（側）への種々のデータを記述するための総合的な「タグ」を供給することができる。例えば、データ需要者（側）にデータ点および／または語を提示する代わりに、データを記述し、このようなデータ需要者（側）が制御システムの所望の態様に対して、自動的にインタフェースとして機能することができるようにするタグを使用することができる。例えば、あるデータ点を「スケール」、「温度」、「距離」等として識別することができる。それ故、データ需要者（側）は、制御ネットワーク全体内のデータの位置および機能についてよく知らなくてもよい。代わりに、このような需要者（側）は、インタフェースする所望のデータを受信するために、種々の特性および／または方法を含むデータに関連する特定の制御システムに単に問い合わせを行うことができる。
【００３２】
カプセル化構成要素２２０は、処理デバイス２３０のようなデータ需要者（側）にインタフェースする最善の方法を決定することができる人工知能（ＡＩ）構成要素（図示せず）を有することができる。例えば、ＡＩ構成要素は、データ需要者（側）のタイプおよび対応するニーズを認識し、その後で、データ・オブジェクトへの適当なインタフェースを供給することができる。
【００３３】
本発明の１つの態様においては、データ・オブジェクトおよびデータ需要者（側）に表示されたこのようなデータの特性および方法へのインタフェースは、システムをトレーニングするために、探索のための望ましい結果および／または望ましくない結果の例を含むデータの１つまたは複数のトレーニング・セットを使用することができる機械学習により生成することができる。本発明の他の態様においては、望ましい結果を示す１つまたは複数の機能に基づく最初の条件を使用することができる。このような最初の条件は、時間の経過、および識別を改善するために戻された結果に関連するユーザの動作に応じて調整することができる。例えば、ユーザが使用する結果を、関連する問い合わせに対する望ましい結果を学習させる目的で、システムをトレーニングするために使用することができる。さらに、どの結果（例えば、特性、方法等）が、特定のデータ項目に対して最も頻繁に要求されるかについての知識を、データ加入者（側）が関心を持つおよび／または見ることができるこのような情報だけを表示するような適当なインタフェースを構成するために使用することができる。例えば、ユーザがもっと頻繁にアクセスする結果を、ユーザにとってより有益なものと見なすことができる。このようにして、特定のデータ需要者（側）が、特定の特性および／または方法を要求した場合には、将来このようなデータ態様を使用することができる。
【００３４】
さらに、本明細書で使用する場合、「推論」という用語は、通常、イベントおよび／またはデータを介して捕捉した場合の一組の観察からのシステム、環境および／またはユーザの状態を推理または推論するプロセスを意味する。推論は、特定のコンテキストまたは動作を識別するために使用することができ、または例えば、状態上の確率分布を生成することができる。推論は、見込みに基づくものであってもよい。すなわち、データおよびイベントの考慮に基づく、問題の状態についての確率分布の計算であってもよい。推論は、一組のイベントおよび／またはデータからもっと高いレベルのイベントを構成するために使用する技術であるということができる。このような推論は、結果として、イベントが時間的に接近して相互に関連していようがいまいが、イベントおよびデータが、１つまたはいくつかのイベントおよびデータ・ソースからのものであろうがなかろうが、一組の観察したイベントおよび／または記憶しているイベント・データから、新しいイベントまたは動作を構成することができる。種々の分類スキームおよび／またはシステム（例えば、サポート・ベクトル・マシン、ニューラル・ネットワーク（例えば、逆伝搬、フィードフォワード逆伝搬、放射ベースおよびファジィ・ロジック）、エキスパート・システム、ベイズ（Ｂａｙｅｓｉａｎ）ネットワーク、およびデータ融合）を、本発明の一態様と一緒に、自動的および／または推論した動作の実行の際に使用することができる。
【００３５】
本発明のさらにもう１つの態様においては、データ需要者（側）への適当なインタフェースを予想するためにある技術を使用することができる。例えば、データおよび種々の加入者（側）へのインタフェースの際に使用したこのようなデータと関連する属性を表す履歴のデータのような情報は、ネットワーク内のデータの加入者（側）の好適な特性および／または方法を予測するのに使用することができる。例えば、ベイズ学習、ベイズ分類器、および決定木学習法、サポート・ベクトル・マシン、直線および非直線回帰および／またはニューラル・ネットワークのような他の統計分類器を含む統計、確率、推論および（例えば、明示でおよび暗黙にトレーニングした）分類器をベースとするインテリジェントな決定を、本発明のある態様に従って使用することができる。このようにして、カプセル化構成要素は、特定のデータ・ソースに関連する特定のデータ需要者（側）の学習した動作をベースとして意志決定を行うために、ＡＩ構成要素（図示せず）を使用することができる。
【００３６】
あるアプローチの場合には、処理デバイス２３０は、１つまたは複数のデータ点が常駐することができる事実上任意の構成要素であってもよい。本発明の１つの態様によれば、プログラマブル論理コントローラ（例えば、Ａｌｌｅｎ  ＢｒａｄｌｅｙのＰＬＣ５、ＳＬＣ−５００、ＭｉｒｃｒｏＬｏｇｉｘ等）は、処理デバイス２３０であってもよい。例えば、処理デバイス２３０は、異なるプロトコルを使用する１つまたは複数のデータ需要者（側）と通信するために使用するＡｌｌｅｎ  ＢｒａｄｌｅｙのＳＬＣ−５００  ＰＬＣであってもよい。もう１つの例を挙げると、処理デバイスは、特定の特性および／または方法を含む、種々のデータを要求および／または使用することができるデータベースのようなソフトウェア・アプリケーションであってもよい。
【００３７】
図３は、産業用コントローラ３２０内に組み込まれているカプセル化構成要素３１０を含むシステム３００である。カプセル化構成要素３１０は、産業用コントローラ３２０が受信するデータの特性および方法を提供する。図に示すように、産業用コントローラ３２０は制御構成要素３５０と結合している。産業用コントローラ３２０は、産業環境で使用する事実上すべての処理デバイスであってもよい。このような例としては、プログラマブル論理コントローラ、インテリジェント・プロセッサ、遠隔端末、データ取得カード等がある。さらに、産業用コントローラとの通信は、任意の数の媒体（例えば、同軸ケーブル、ツイスト・ペア、シリアルポート等）、および／またはＣｏｎｔｒｏｌＮｅｔ、ＤｅｖｉｃｅＮｅｔ、イーサネット（登録商標）、赤外線等のようなプロトコルにより行うことができる。さらに、産業用コントローラは、種々のデータ需要者（側）にデータを送信するために、１つまたは複数のポートを有することができる。このようにして、産業用コントローラ３２０は、それが導入される事実上任意の制御システム内で、データを受信および／または送信することができる。
【００３８】
図に示すように、カプセル化構成要素３１０は産業用コントローラ３２０に組み込まれている。しかし、カプセル化構成要素は、産業用コントローラ３２０に対して事実上任意の場所（例えば、遠隔地）に設置することができることを理解されたい。例えば、オートメーション・システム内のオブジェクト指向機能が作動できるようにするために、異なるデータ需要者（側）にデータが提示されるように、カプセル化構成要素３１０を、産業用コントローラが受信したデータをカプセル化するために使用することができる。このようにして、データ需要者（側）は、特性、方法、範囲のようなデータおよび／またはアクセス修飾子、多態性、継承等に関連するオブジェクト指向コンセプトを使用することができる。例えば、各需要者（側）が、このような用語に異なる意味を割り当てる産業用コントローラに対してインタフェースとして機能することができる２つ以上のデータ需要者（側）（図示せず）は、「集合体」という用語を使用することができる。このアプローチの場合、カプセル化された構成要素からのデータは、異なる各データ需要者（側）が要求する特定の機能を認識することができる。
【００３９】
もう１つの例を挙げると、同様のデータ・オブジェクト（例えば、同じプロセス、同じ制御態様等からのデータ）のグループを、このようなグループ内のデータに関連する特性および方法を規定するためにグループ分けすることができる。このようにして、データ・オブジェクトのあるグループと関連する特性および方法を、１回規定することができ、複数の場合にこのような特性および方法を再規定しなくても、複数のデータ需要者（側）により使用することができる。さらに、制御システム全体を通して、データの規定および使用法の一貫性を維持することができる。
【００４０】
図４について説明すると、この図は、産業用コントローラ４１０が、複数のデータ加入者（側）４２０〜４６０に対してインタフェースとして機能する例示としてのシステム４００である。産業用コントローラ４１０が受信したデータは、後でアクセスするメモリ（図示せず）に記憶することができる。産業用コントローラ４１０は、ＩＰ６７、ＩＰ４５等のような特定の環境基準に適合する構成要素のような産業環境内に常駐することができる事実上任意のコントローラであってもよい。さらに、産業用コントローラ４１０は、局所的におよび／または遠隔地で検索し、使用するために、受信したデータを処理および／または記憶することができる。
【００４１】
産業用コントローラ４１０が受信して記憶したデータは、システム４００の残りにこのデータの１枚のコピーを供給することができる。このデータを、例えば、１人または複数のデータ加入者（側）に特性および方法の適当なサブセットを表示するために、カプセル化することができる。このようにして、このようなデータ態様に関心のある許可を受けている加入者（側）だけが、このデータを閲覧することができる。カプセル化されたデータは、制御システム内の種々のインタフェース全体と通信する自己記述データであってもよい。さらに、特定の制御アーキテクチャ全体の種々の異なる位置に位置することができる１人または複数のデータ加入者（側）４２０〜４６０は、産業用コントローラを通してアクセスすることができる。
【００４２】
データ加入者（側）４２０〜４６０は、特定のアーキテクチャおよび／またはシステム内の任意の位置および／または制御レベルのところに位置することができる。例えば、データ加入者（側）４３０は、ＭＥＳ層内のアプリケーションを表示することができる。この場合、このようなアプリケーションは、特性を直接読み出しおよび／または書き込むことができ、および／または産業用コントローラ４１０内のデータの方法を呼び出すことができる。このようなデータ・インタフェース動作は、種々の技術により行うことができる。例えば、標準実行エンジンを、産業用コントローラおよび／または．ＮＥＴ共通言語ランタイム、またはＪａｖａ仮想マシンのようなデータ加入者（側）内に組み込むことができる。さらに、コントローラ・オブジェクト指向コンセプトを、例えば、ＩＥＣ−１１３１言語のような標準制御システム・プログラミング言語を使用して、産業用コントローラからのデータにより動作可能にすることができる。このような言語は、ｒｅｌａｙ  ｌａｄｄｅｒロジック、構造化テキスト、機能ブロック図、シーケンシャル機能チャート、命令リスト等を含むことができる。
【００４３】
図５は、データ・オブジェクト構成要素５１０が、制御層５２０、オブジェクト層５３０、ＭＥＳ層５４０および／またはＥＲＰ層５５０に対してインタフェースとして機能する制御アーキテクチャ５００である。データ・オブジェクト構成要素５１０は、１つまたは複数のソースから情報を受信することができ、このような情報を抽出しカプセル化することができ、そして、データ・オブジェクトとして出力することができる。データ・オブジェクトを、例えば、オートメーション階層のように、上方および下方に容易に交換することができるように、このデータ・オブジェクトは、制御アーキテクチャ５００の１つまたは複数の層（例えば、制御、オブジェクト、ＭＥＳ、ＥＲＰなど）に対してインタフェースとして機能することができる。このアプローチの場合には、情報へのオブジェクト指向アクセスを、制御アーキテクチャ５００の複数のレベルのところでサポートすることができる。
【００４４】
制御アーキテクチャ５００と一緒に使用するデータは、本発明のある態様に従って複数の位置のうちの１つに記憶することができることを理解されたい。例えば、データ・アクセス構成要素５１０、オブジェクト層５３０、ＭＥＳ層５４０等からデータにアクセスすることができる。制御アーキテクチャ５００内の２つ以上の位置からデータにアクセスすることができるが、このようなデータは、その特性および方法の一貫性のある更新を行うために、１つの位置だけに常駐する（例えば、記憶される）。例えば、データ・オブジェクト構成要素５１０、またはオブジェクト層５３０からデータの位置を見つけてデータにアクセスすることができる。さらに、本発明により使用するデータは、制御アーキテクチャ５００に対して、事実上任意の位置に位置することができることを理解されたい。
【００４５】
データにアクセスしようとしているのがアーキテクチャ５００のどのレベルであっても、１つのインタフェースによりデータの特性および／または方法を読み出しおよび／または書き込むことができる。例えば、特定のレベル（例えば、ＥＲＰ、ＭＥＳ、制御等）が、異なる場所から特定のデータにアクセスしようとしていたり、このようなオブジェクト・サービス指向データを使用しようとしている場合には、データは、例えば、データ需要者（側）のタイプおよび／または位置が何であれ同じ表示を有する。すなわち、データは、特定の特性および／または方法を含むオブジェクトとして現れる。さらに、このようなデータが局所的に作動され、異なる場所で使用されようとされまいと、データ需要者（側）は、依然としてそのデータにアクセスするために、同じタイプの機能およびインタフェースを有することができる。
【００４６】
図６は、データ・オブジェクト・ライブラリ６１０が、制御層６２０、ＭＥＳ層６３０および／またはＥＲＰ層６４０に対してインタフェースとして機能することができるシステム６００である。このアプローチの場合、データ・オブジェクト・ライブラリ６１０内には、任意の数のソースから受信した１つまたは複数のデータ・オブジェクトが多数位置することができる。例えば、データ・オブジェクトをＭＥＳ層６３０および／または外部のデータ・オブジェクト・ソースから受信することができる。
【００４７】
従来、制御アーキテクチャの１つの層内で使用するデータは、同じアーキテクチャの異なる層と一緒に、容易に使用すること（例えば、読出し、書込み等）ができない。代わりに、このようなデータは、データを使用する各層のいくつかのデータ使用要件に適合するように、再フォーマットおよび／または再構成しなければならない。しかし、本発明のある態様によれば、種々の需要者（側）にデータの所望の特性および方法を表示するために、データをカプセル化し、データ・オブジェクト・ライブラリ６１０に記憶することができる。このようにして、データ・オブジェクト・ライブラリを、特定のプロジェクト内に、単に所望のデータ・オブジェクトをドラッグ・アンド・ドロップすることにより、１つまたは複数のデータ・オブジェクトを特定のプロジェクトと一緒に使用することができるように分配することができる。例えば、ユーザは、所望の制御機能を実行し、またＭＥＳレベルおよび／または外部の統合に対してインタフェースとして機能するために、１つまたは複数のデータ・オブジェクトを使用して、データ・オブジェクト・ライブラリを構成することができる。このようなデータ・オブジェクトは、データ・オブジェクト・ライブラリ６１０内に記憶することができ、ライブラリ・オブジェクトを単に「取り込み（ｇｒａｂｂｉｎｇ）」、それを特定のプロジェクト内にドロップするだけで、いつか今後何回も使用することができる。
【００４８】
特定のユーザは、必要に応じてデータ・オブジェクトを編成するために、データ・オブジェクト・ライブラリ６１０を使用することができる。例えば、データ・オブジェクトを、データ・オブジェクト・ライブラリ６１０を通して１つまたは複数のデータ・オブジェクトにアクセスする種々のデータ需要者（側）について、必要に応じて種々のグループに分離することができる。それ故、種々のハードウェアおよび／またはソフトウェア構成要素からの処理点の特定のグループを、工場内の特定の組立ライン上での製造を制御するために使用することができる場合には、このようなデータを、本発明により１つまたは複数のデータ・オブジェクトとして最初にカプセル化することができる。次に、これらのデータ・オブジェクトを、グループ（例えば、サブライブラリ）として、データ・オブジェクト・ライブラリ６１０内に収容し、制御層６２０、ＭＥＳ層６３０およびＥＲＰ層６４０を含む全データ・アーキテクチャが、それをシームレスに使用することができる。
【００４９】
図７は、センサ７２０に対してインタフェースとして機能し、このような情報をプログラマブル論理コントローラ（ＰＬＣ）７４０および／またはＭＥＳアプリケーション７５０に提供するために、ＰＬＣ７１０を使用する例示としてのシステム７００である。データ特性および／または方法を容易に送るために、ＰＬＣ７１０を、センサからデータを受信し、センサ・データをＰＬＣ７１０、ＰＬＣ７４０、および／またはＭＥＳアプリケーション７５０（例えば、データ需要者（側））と一緒に使用することができるデータ・オブジェクトに変換するカプセル化構成要素７３０に結合することができる。１人または複数のデータ需要者（側）は、ほぼ同じ方法でカプセル化構成要素からデータ・オブジェクトに対してインタフェースとして機能することができることを理解されたい。例えば、ＭＥＳアプリケーション７５０は、「タンク１」と名付けられたこのようなデータ・オブジェクトに対してインタフェースとして機能するために、特定のタイプのデータ・オブジェクトを要求し、ＰＬＣ７１０に接続することができる。このような結果が返送された場合、ＭＥＳアプリケーションは、ＰＬＣ７１０に実際にサービスを送るデータ・オブジェクトを要求するために、構造化方法を使用することができる。このようにして、Ｃ＃、ビジュアル・ベーシック、Ｃ等のようなプログラムを、このようなサービス・レベルのアーキテクチャをサポートし、データ・オブジェクト「タンク１」に容易にアクセスするために、ＭＥＳアプリケーション７５０内で使用することができる。
【００５０】
図８、図９、および図１０は、本発明による方法８００、９００および１０００である。説明を簡単にするために、これらの方法は一連の動作として図示し、説明する。本発明は、図に示す動作および／または動作の順序により制限されないことを理解されたい。例えば、動作は、種々の順序でおよび／または同時に行うことができ、本明細書内に図示していない、また説明してない他の動作と一緒に行うことができる。さらに、本発明による方法を実施するために、必ずしも図に示すすべての動作が必要なわけではない。さらに、当業者であれば、別の方法としてこれらの方法を状態図またはイベントを通して一連の相互に関連する状態として表すことができることを理解し、了解することができるだろう。
【００５１】
ここで図８について説明すると、この図は、１人または複数の需要者（側）にデータ特性および方法を表示するために使用する方法８００を示す。このようにして、情報へのオブジェクト指向アクセスを、特定の制御アーキテクチャ内の１つまたは複数のレベルに供給することができる。ステップ８１０において、情報を送ることができる事実上任意のソースからデータを受信する。このような情報は、同軸ケーブル、イーサネット（登録商標）・ケーブル、赤外線、無線イーサネット等のような種々の有線および／または無線媒体を使用して、１つまたは複数のプロトコル（例えば、直列、ＣｏｎｔｒｏｌＮｅｔ、ＤｅｖｉｃｅＮｅｔ等）により送ることができる。情報は、例えば、イベントに基づいて、周期的に、または１回だけ受信することができる。一例を挙げて説明すると、特定の温度が所定の値になった場合またはそれを超えた場合はいつでもデータを受信することができる。
【００５２】
受信データは、種々のフォーマットおよび／または規格により、種々の長さで送ることができる。一般的に、このようなデータは、受信したデータに関連する値および方法を含む。メタデータは、どんな方法および特性を使用することができるのか、このような特性および方法にどのようにアクセスしたらよいのか、および／または呼び出したらよいのかをクライアントがよく理解することができるように、受信したこのような値および方法を記述するために使用することができる。さらに、このようなデータは、制御アーキテクチャに関連する事実上任意の場所で受信することができる。このアプローチの場合、データをＭＥＳシステムの次のまたは一部の層として、または例えば、コントローラおよび／またはＭＥＳ層内でデータをカプセル化するために協力するホワイト・ボックスとして受信することができる。別の方法としては、コントローラ・データ・タイプおよびこれらデータ・タイプのタグの標準的動作として、情報へのオブジェクト指向アクセスをサポートするために、コントローラを通してデータを受信することができる。
【００５３】
ステップ８２０において、１人または複数のデータ需要者（側）に役立つ可能性のある情報にデータを関連づけることができるようにデータが抽出される。例えば、データは、値、デバイス・メーカー、デバイス・プロトコル、デバイス・ポート、デバイス位置、デバイスＩＰアドレス、デバイスの色、データの周期性等を供給することができる。しかし、１人または複数の需要者（側）は、送ったデータすべてを要求しない場合がある。このような抽出は、データのカプセル化方法の決定を支援することができる。
【００５４】
ステップ８３０において、１人または複数のデータ需要者（側）にデータを供給することができるように、データがカプセル化される。このようにして、需要者（側）がアクセスの許可を受けていないデータ、および／またはアクセスに関心のないデータにアクセスするのを防止するために、特性および方法の適当なサブセットだけが特定の需要者（側）に表示される。データの特性および方法の表示を制限することにより、特性および方法にアクセスする方法が変化しても、このようなデータにアクセスしている異なる需要者（側）に影響はない。さらに、データをカプセル化すると、例えば、制御アーキテクチャを通して、特定のインタフェースを使用することができる特性および／または方法に選択的にアクセスすることができる。ステップ８４０において、データは、１人または複数のデータ需要者（側）にデータ・オブジェクトとして送られる。
【００５５】
図９は、データの特性および方法を使用する例示としての方法９００を示す。ステップ９１０において、データの要求が行われる。このようなデータは、例えば、制御システムと関連する１つまたは複数のデータ需要者（側）により要求することができる。さらに、データのタイプ、属性、フォーマットなどを指定することができ、このような要求を検索エンジン、問合わせ構成要素等を通して行うことができる。ステップ９２０において、データの位置が発見される。少なくとも一部が要求されるデータ・パラメータに基づいて、特定のシステム内のデータの位置を発見することができる。同様に、要求したデータの位置を発見するのに、データ位置、アドレス、またはデータの意味に関連する任意の特定の情報が必要なくなる。それ故、システムは、事実上任意のデータ要求を、特に、特定の制御システムのアーキテクチャにとって新しいおよび／または未知の需要者（側）からのデータ要求を適合することができる。
【００５６】
ステップ９３０において、データ需要者（側）は、データ特性を読み出し、ステップ９４０において、データ需要者（側）は、１つまたは複数のデータ特性を書き込むことができる。同様に、データ需要者（側）は、ステップ９２０において位置を発見したデータに関連する方法をステップ９５０で呼び出すことができる。それ故、所望のデータの位置を発見した場合には、需要者（側）は、データ需要者（側）に関連する１つまたは複数のプロセスにより、このような位置を発見したデータの使用をスタートすることができる。情報へのオブジェクト指向アクセスをサポートするカプセル化されているデータを供給することにより、このような相互作用を容易に行うことができる。さらに、需要者（側）は、特性、方法、範囲修飾子、アクセス修飾子、多態性等のようなデータと一緒に、種々のオブジェクト指向コンセプトを使用することができる。
【００５７】
ここで図１０について説明すると、この図は、第１および第２のデータ需要者（側）両方に共通なインタフェースを介して、データを供給するための方法１０００を示す。ステップ１０１０において、種々のプロトコル、媒体および規格に従ってデータが受信される。このようなデータは、例えば、それが特定の構成要素および／またはデバイスに到着するといつでもポーリングおよび／または受信することができる。ステップ１０２０において、受信したデータは、本発明のある態様によりデータ・オブジェクトに変換される。このデータは、このようなデータを使用するためのデータ需要者（側）用の手段を供給するために、データを抽出およびカプセル化することにより、データ・オブジェクトへ変換することができる。ステップに１０３０において、第１の需要者（側）から要求が受信される。この需要者（側）は局所的におよび／または遠隔地からデータを要求することができ、またＭＥＳ層、制御層等のような制御システムに関連する事実上任意の位置に位置することができる。ステップ１０４０において、第２の需要者（側）から要求が受信される。この需要者（側）は、同様に事実上任意の位置に位置することができる。ステップ１０５０において、それぞれの各需要者（側）と一緒にデータ・オブジェクトを使用するために、共通のインタフェースにより、第１および第２の需要者（側）の両方にデータが供給される。このようなインタフェースは、データに関連する需要者（側）のニーズ、特性および／または方法等のような複数の要因に基づいて規定することができる。
【００５８】
図１１の場合には、本発明の種々の態様を実施するための例示としての環境１１００は、図に示すコンピュータ１１１２を含む。コンピュータ１１１２は、処理ユニット１１１４と、システム・メモリ１１１６と、システム・バス１１１８とを含む。システム・バス１１１８は、システム・メモリ１１１６を含む（但し、これに限定されない）システム構成要素を、処理ユニット１１１４に結合する。処理ユニット１１１４は、入手できる種々のプロセッサのうちの任意のものであってもよい。デュアル・マイクロプロセッサおよび他のマルチプロセッサ・アーキテクチャも、処理ユニット１１１４として使用することができる。
【００５９】
システム・バス１１１８は、メモリ・バスまたはメモリ・コントローラ、周辺バスまたは外部バスであってもよく、更に、８ビット・バス、Ｉｎｄｕｓｔｒｉａｌ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＩＳＡ）、マイクロチャネル・アーキテクチャ（ＭＳＡ）、拡張ＩＳＡ（ＥＩＳＡ）、インテリジェント・ドライブ・エレクトロニクス（ＩＤＥ）、ＶＥＳＡローカル・バス（ＶＬＢ）、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＰＣＩ）、ユニバーサル・シリアルバス（ＵＳＢ）、Ａｄｖａｎｃｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ（ＡＧＰ）、Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎ  ｂｕｓ（ＰＣＭＣＩＡ）およびスモール・コンピュータ・システム・インタフェース（ＳＣＳＩ）を含むが、これらに限定されず、種々の有用なバス・アーキテクチャのうちの任意のものを使用するローカル・バスを含むいくつかのタイプのバス構造のうちの任意のものであってもよい。
【００６０】
システム・メモリ１１１６は、揮発性メモリ１１２０および不揮発性メモリ１１２２を含む。スタートの際等に、コンピュータ１１１２内の要素間で情報を転送するための基本ルーチンを含む基本入出力システム（ＢＩＯＳ）は、不揮発性メモリ１１２２内に記憶される。不揮発性メモリ１１２２は、説明のためのものであって本発明を制限するものではないが、読出し専用メモリ（ＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、電気的にプログラム可能なＲＯＭ（ＥＰＲＯＭ）、電気的に消去可能なＲＯＭ（ＥＥＰＲＯＭ）またはフラッシュ・メモリを含むことができる。揮発性メモリ１１２０は、外部キャッシュ・メモリとして機能するランダム・アクセス・メモリ（ＲＡＭ）を含む。ＲＡＭは、説明のためのものであって本発明を制限するものではないが、同期型ＲＡＭ（ＳＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、同期型ＤＲＡＭ（ＳＤＲＡＭ）、ダブル・データ・レートＳＤＲＡＭ（ＤＤＲ  ＳＤＲＡＭ）、エンハンスド・ＳＤＲＡＭ（ＥＳＤＲＡＭ）、Ｓｙｎｃｈｌｉｎｋ  ＤＲＡＭ（ＳＬＤＲＡＭ）、およびダイレクトＲａｍｂｕｓ  ＲＡＭ（ＤＲＲＡＭ）のような多くの形式で使用できる。
【００６１】
コンピュータ１１１２は、また、取り外すことができる／取り外すことができない揮発性／不揮発性コンピュータ記憶媒体を含む。図１１は、例えば、ディスク記憶領域１１２４を示す。ディスク記憶領域１１２４は、磁気ディスク・ドライブ、フレキシブル・ディスク・ドライブ、テープ・ドライブ、Ｊａｚドライブ、Ｚｉｐドライブ、ＬＳ−１００ドライブ、フラッシュ・メモリ・カードまたはメモリ・スティックのようなデバイスを含むが、これらに限定されない。さらに、ディスク記憶領域１１２４は、別々に、またはコンパクト・ディスクＲＯＭデバイス（ＣＤ−ＲＯＭ）、ＣＤ追記型ドライブ（ＣＤ−Ｒドライブ）、ＣＤ書換え型ドライブ（ＣＤ−ＲＷドライブ）またはデジタル汎用ディスクＲＯＭドライブ（ＤＶＤ−ＲＯＭ）のような光ディスク・ドライブを含む（但し、これらに限定されない）記憶媒体を一緒に若しくは別々に記憶媒体を含むことができる。システム・バス１１１８とディスク記憶領域１１２４との接続を容易にするために、インタフェース１１２６のような取り外すことができる、または取り外すことができないインタフェースが通常使用される。
【００６２】
図１１は、ユーザと適当な動作環境１１００内で記述した基本コンピュータ・リソースとの間の仲介者として動作するソフトウェアを示していることを理解されたい。このようなソフトウェアは、オペレーティング・システム１１２８を含む。ディスク記憶領域１１２４上に記憶することができるオペレーティング・システム１１２８は、コンピュータ・システム１１１２のリソースを制御し、割り当てる働きをする。システム・アプリケーション１１３０は、システム・メモリ１１１６内またはディスク記憶領域１１２４上に記憶されているプログラム・モジュール１１３２およびプログラム・データ１１３４を通して、オペレーティング・システム１１２８によるリソースの管理を利用する。本発明は種々のオペレーティング・システムまたはオペレーティング・システムの組合わせと一緒に実施することができることを理解されたい。
【００６３】
ユーザは、入力装置１１３６を通して、コンピュータ１１１２内にコマンドまたは情報を入力する。入力装置１１３６は、マウス、トラックボール、スタイラス、タッチパッド、キーボード、マイクロホン、ジョイスティック、ゲーム・パッド、衛星用ディッシュ、スキャナ、ＴＶチューナ・カード、デジタル・カメラ、デジタル・ビデオ・カメラ、ウェブ・カメラ等のようなポインティング・デバイスを含むが、これらに限定されない。これらおよび他の入力装置は、（ひとつまたは複数の）インタフェース・ポート１１３８を介して、システム・バス１１１８により、処理ユニット１１１４に接続される。インタフェース・ポート１１３８は、例えば、直列ポート、パラレル・ポート、ゲーム・ポートおよびユニバーサル・シリアル・バス（ＵＳＢ）を含む。（ひとつまたは複数の）出力装置１１４０は、（ひとつまたは複数の）入力装置１１３６と同じタイプのポートのうちのいくつかを使用する。それ故、例えば、ＵＳＢポートは、コンピュータ１１１２に入力するため、またコンピュータ１１１２から出力装置１１４０に情報を出力するために使用することができる。出力アダプタ１１４２は、特種なアダプタを必要とする他の出力装置１１４０のうちのモニタ、スピーカ、およびプリンタのようないくつかの出力装置１１４０があることを説明するために示されたものである。出力アダプタ１１４２は、説明のためのものであって本発明を制限するためのものではないが、出力装置１１４０とシステム・バス１１１８との間の接続手段となるビデオ・カードおよび音声カードを含む。他のデバイスおよび／またはデバイスのシステムは、（ひとつまたは複数の）リモート・コンピュータ１１４４のような入力機能および出力機能の両方を供給することに留意されたい。
【００６４】
コンピュータ１１１２は、リモート・コンピュータ１１４４のように、１つまたは複数のリモート・コンピュータへの論理接続によりネットワークで接続している環境内で動作することができる。リモート・コンピュータ１１４４は、パーソナル・コンピュータであっても、サーバであっても、ルータであっても、ネットワークＰＣであっても、ワークステーションであっても、マイクロプロセッサをベースとするツールであっても、ピア・デバイスまたは他の共通のネットワーク・ノード等であってもよく、通常、コンピュータ１１１２に関連して説明した多くのまたはすべての要素を含む。説明を簡単にするために、リモート・コンピュータ１１４４と一緒にメモリ記憶領域１１４６だけを図示してある。リモート・コンピュータ１１４４は、ネットワーク・インタフェース１１４８を通して、論理的にコンピュータ１１１２に接続していて、次に通信接続１１５０を通して物理的に接続している。ネットワーク・インタフェース１１４８は、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）のような通信ネットワークを含む。ＬＡＮ技術は、ファイバ分散データ・インタフェース（ＦＤＤＩ）、銅線分散データ・インタフェース（ＣＤＤＩ）、イーサネット（登録商標）／ＩＥＥＥ８０２．３、トークンリング／ＩＥＥＥ８０２．５等を含む。ＷＡＮ技術は、二点間リンク、デジタル総合サービス網（ＩＳＤＮ）のような回線交換網およびそれを修正したもの、パケット交換網およびデジタル加入者（側）ライン（ＤＳＬ）を含むが、これらに限定されない。
【００６５】
通信接続１１５０は、ネットワーク・インタフェース１１４８を、バス１１１８に接続するために使用するハードウェア／ソフトウェアである。図では、通信接続１１５０は、説明を分かりやすくするためにコンピュータ１１１２内に位置しているが、コンピュータ１１１２の外部に設置することもできる。ネットワーク・インタフェース１１４８へ接続するために必要なハードウェア／ソフトウェアは、通常の電話級のモデム、ケーブル・モデムおよびＤＳＬモデム、ＩＳＤＮアダプタおよびイーサネット（登録商標）・カードを含むモデムのような内部および外部技術を含むが、これらは単に例示としてのものに過ぎない。
【００６６】
図１２は、本発明を使用することができる例示としてのコンピューティング環境１２００である。システム１２００は、１つまたは複数のクライアント１２１０を含む。クライアント１２１０は、ハードウェアでおよび／またはソフトウェア（例えば、スレッド、プロセス、計算装置）であってもよい。システム１２００は、また１つまたは複数のサーバ１２３０を含む。同様に、サーバ１２３０はハードウェアおよび／またはソフトウェア（例えば、スレッド、プロセス、計算装置）であってもよい。
【００６７】
クライアント１２１０とサーバ１２３０との間で行うことができる１つの通信は、２つ以上のコンピュータ・プロセス間で送信されるデータ・パケットの形をしていてもよい。システム１２００は、さらに、クライアント１２１０とサーバ１２３０との間の通信を容易にするために使用することができる通信フレームワーク１２５０を含む。クライアント１２１０は、クライアント１２１０にとって局所的な情報を記憶するために使用することができる１つまたは複数のクライアント・データ記憶領域１２６０に対してインタフェースとして機能する。同様に、サーバ１２００は、サーバ１２３０にとって局所的な情報を記憶するために使用することができる１つまたは複数のサーバ・データ記憶領域１２４０に対してインタフェースとして機能することができる。
【００６８】
上記説明は本発明のいくつかの例を含む。もちろん、本発明を記述するために構成要素または方法の考えられるすべての組合わせを記述することはできないが、通常の当業者であれば、本発明の多くの他の組合わせおよび順列が可能であることを理解することができるだろう。それ故、本発明は、添付の特許請求の範囲の精神および範囲に含まれるすべてのこのような変更、修正および変形版を含むものである。この点に関して、本発明は、本発明の種々の方法のステップを実行するためのコンピュータが実行することができる命令を有するシステムおよびコンピュータ読み取り可能媒体を含むことを理解することができるだろう。さらに、本発明の１つの特定の機能を、本発明のいくつかの態様または実施態様のうちの１つだけについて説明してきたが、このような機能は、任意の所与のまたは特定の用途に対して必要に応じてまた有利に、他の実施態様の１つまたは複数の他の機能と結合することができる。さらに、詳細な説明または特許請求の範囲で使用する「含む」、「含んでいる」、「有する」、「有している」という用語およびその派生語の範囲内おいて、これらの用語は、「備えている」という用語およびその派生語と同様に包括的なものである。
【図面の簡単な説明】
【００６９】
【図１】本発明のある態様による例示としてのディレクトリ・インタフェース・システムである。
【図２】本発明のある態様による人工知能構成要素を含む、例示としてのディレクトリ・インタフェース・システムである。
【図３】本発明のある態様による複数のデータ・ソースを含む、例示としてのディレクトリ・インタフェース・システムである。
【図４】本発明のある態様による複数のデータ要求元およびデータ・ソースを含むディレクトリ・インタフェース・システムを使用する例示としてのシステムである。
【図５】本発明のある態様によるディレクトリ構造システムである。
【図６】本発明のある態様によるアドレス・リストを含むデータ・ディレクトリ・システムである。
【図７】本発明のある態様によるネットワーク環境の例示としての制御アーキテクチャである。
【図８】本発明のある態様によるアドレスからデータを受信する例示としての方法である。
【図９】本発明のある態様による関連する属性をベースとしてデータを選択する例示としての方法である。
【図１０】要求しているアプリケーションによりデータを実施する例示としての方法である。
【図１１】本発明を使用することができる例示としてのコンピューティング環境である。
【図１２】本発明を使用することができる例示としてのネットワークである。
【図１３】産業用オートメーション環境で共通に使用する例示としての従来のアーキテクチャである。
【符号の説明】
【００７０】
１００，２００，４００，６００，１２００  システム
１１０  パッケージング構成要素
１２０  データを使用するデバイス
２１０  抽出構成要素
２２０，３１０，７３０  カプセル化構成要素
２３０  処理デバイス
３２０，４１０  産業用コントローラ
３５０  制御構成要素
４２０〜４６０  データ加入者（側）
５００  制御アーキテクチャ
５１０  データ・オブジェクト構成要素
５２０，６２０  制御層
５３０  オブジェクト層
５４０，６３０  ＭＥＳ層
５５０，６４０  ＥＲＰ層
６１０  データ・オブジェクト・ライブラリ
７１０，７４０  プログラマブル論理コントローラ（ＰＬＣ）
７２０  センサ
７５０  ＭＥＳアプリケーション
１１００  動作環境
１１１２  コンピュータ
１１１４  処理ユニット
１１１６  システム・メモリ
１１１８  システム・バス
１１２０  揮発性メモリ
１１２２  不揮発性メモリ
１１２４  ディスク記憶領域
１１２６  インタフェース
１１２８  オペレーティング・システム
１１３０  システム・アプリケーション
１１３２  プログラム・モジュール
１１３４  プログラム・データ
１１３６  入力装置
１１３８  インタフェース・ポート
１１４０  出力装置
１１４２  出力アダプタ
１１４４  リモート・コンピュータ
１１４６  メモリ記憶領域
１１４８  ネットワーク・インタフェース
１１５０  通信接続
１２００  コンピューティング環境
１２１０  クライアント
１２３０  サーバ
１２４０  サーバ・データ記憶領域
１２６０  クライアント・データ記憶領域
【図１】
2006107498.tif 000003
【図２】
2006107498.tif 000004
【図３】
2006107498.tif 000005
【図４】
2006107498.tif 000006
【図５】
2006107498.tif 000007
【図６】
2006107498.tif 000008
【図７】
2006107498.tif 000009
【図８】
2006107498.tif 000010
【図９】
2006107498.tif 000011
【図１０】
2006107498.tif 000012
【図１１】
2006107498.tif 000013
【図１２】
2006107498.tif 000014
【図１３】
2006107498.tif 000015
【外国語明細書】
2006107498000001.pdf