(57)【要約】【課題】本発明は、プロセス制御システムと関連付けられたデータを動的に表示する方法および装置を提供する。【解決手段】本発明の例示的方法は、ユーザによって選択されたプロセス制御情報をグラフィックスエンジンで受信することと、選択されたプロセス制御情報と関連付けられたプロセスデータを特定することと、特定されたプロセスデータをプロセスコントローラから取得することと、取得されたプロセスデータと関連付けられたメタデータを判断することと、メタデータに基づいてグラフィックスエンジンでデータ表現を生成することと、ユーザインタフェースを介してデータ表現を表示することとを含む。【選択図】図１０
2011113564.tif 000002
【特許請求の範囲】
【請求項１】
プロセス制御システムと関連付けられたデータを動的に表示する方法であって、
ユーザによって選択されたプロセス制御情報をグラフィックスエンジンで受信することと、
前記選択されたプロセス制御情報と関連付けられたプロセスデータを特定することと、
前記特定されたプロセスデータをプロセスコントローラから取得することと、
前記取得されたプロセスデータと関連付けられたメタデータを判断することと、
前記メタデータに基づいて前記グラフィックスエンジンでデータ表現を生成することと、
ユーザインタフェースを介して前記データ表現を表示することと、
を含む方法。
【請求項２】
前記プロセスデータまたは前記メタデータのうちの少なくとも１つに対する変更を受信することと、
前記変更を受信したことに応じて、前記変更されたプロセスデータまたは前記変更されたメタデータの少なくとも１つに基づいて前記データ表現を修正することと、
前記ユーザインタフェースを介して前記修正されたデータ表現を表示することと、
をさらに含む、請求項１に記載の方法。
【請求項３】
前記データ表現を修正することが、前記データ表現に第２のデータ表現を追加すること、前記データ表現にパラメータを追加すること、前記データ表現からパラメータを削除すること、前記データ表現のパラメータの種類を修正すること、または前記データ表現の視覚化を修正することのうちの少なくとも１つを含む、請求項２に記載の方法。
【請求項４】
前記データ表現を生成することが、
前記グラフィックスエンジンで前記メタデータのタイプを特定することと、
前記特定されたメタデータのタイプと、データベースにある少なくとも１つのデータ表現タイプとを相互参照することと、
前記特定されたメタデータのタイプと関連付けられた前記少なくとも１つのデータ表現タイプのインスタンスを生成することと、
前記メタデータを前記少なくとも１つのデータ表現タイプの前記インスタンスにあるデータフィールドに関連付けることと、
前記メタデータと関連付けられた前記プロセスデータを前記少なくとも１つのデータ表現タイプのインスタンスにある前記データフィールドと関連付けて、前記データ表現を生成することと、
を含む、請求項１に記載の方法。
【請求項５】
データ表現タイプを選択した後に、前記特定されたメタデータのタイプと前記少なくとも１つのデータ表現タイプとを相互参照するよう前記ユーザに促すことをさらに含む、請求項４に記載の方法。
【請求項６】
前記データ表現を描画した後に前記少なくとも１つのデータ表現を表示することをさらに含む、請求項１に記載の方法。
【請求項７】
前記メタデータを判断することが、前記プロセスデータとメタデータタイプとをデータベースで相互参照することを含む、請求項１に記載の方法。
【請求項８】
前記メタデータを判断することが、前記プロセスデータと関連付けられたメタデータを特定することを含む、請求項１に記載の方法。
【請求項９】
前記選択されたプロセス制御情報が、バッチ識別名、プロセス識別名、コントローラ識別名、現場装置識別名、前記プロセスデータと関連付けられたファイル、前記プロセスデータへのリンク、１つ以上の機能ブロック、１つ以上のパラメータ、１つ以上のプロセス制御エンドポイント、またはプロセス制御ルーチンのうちの少なくとも１つによって特定される、請求項１に記載の方法。
【請求項１０】
前記プロセスデータを取得することが、前記プロセスデータをサブスクライブすることまたは読み込むことのうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項１１】
データ識別名によって前記メタデータを解析した後に前記データ表現を生成することをさらに含む、請求項１に記載の方法。
【請求項１２】
前記データ表現と関連付けられたカスタマイズ情報を受信することと、
前記データ表現と前記カスタマイズ情報を参照することと、
前記カスタマイズ情報に基づいて前記データ表現を修正することと、
前記ユーザインタフェースを介して前記修正されたデータ表現を表示することと、
前記データ表現に対する前記カスタマイズ情報の参照をデータベースに格納することと、
をさらに含む、請求項１に記載の方法。
【請求項１３】
前記カスタマイズ情報が、１つ以上の前記データ表現の表示の修正、１つ以上の前記データ表現の色の変更、１つ以上の前記データ表現のレイアウトの変更、１つ以上の前記データ表現と関連付けられたグラフィックスの変更、１つ以上の前記データ表現の表示形式の変更、または１つ以上の前記データ表現と関連付けられた識別情報の変更のうちの少なくとも１つを含む、請求項１２に記載の方法。
【請求項１４】
前記メタデータに基づいて前記グラフィックスエンジンで第２のデータ表現を生成することと、
前記ユーザインタフェースを介して前記第２のデータ表現を表示することと、
をさらに含む、請求項１に記載の方法。
【請求項１５】
プロセス制御システムと関連付けられたデータを動的に表示する装置であって、
選択されたプロセス制御情報と関連付けられたプロセスデータを特定するためのデータマネージャと、
前記特定されたプロセスデータと関連付けられたメタデータを判断するためのメタデータジェネレータと、
前記メタデータに基づいてデータ表現を生成するためのデータ表現ジェネレータと、
ユーザインタフェースを介して前記データ表現を表示するためのデータ表現表示マネージャと、
を含む装置。
【請求項１６】
ユーザによって選択された前記プロセス制御情報を受信するための選択レシーバと、
前記特定されたプロセスデータをプロセスコントローラから取得し、前記データマネージャに前記特定されたプロセスデータを転送するためのデータリトリーバと、
をさらに含む、請求項１５に記載の装置。
【請求項１７】
前記データマネージャ、前記選択レシーバ、前記データ表現表示マネージャ、または前記データ表現ジェネレータのうちの少なくとも１つがグラフィックスエンジン内に含まれる、請求項１６に記載の装置。
【請求項１８】
前記データリトリーバまたは前記メタデータジェネレータのうちの少なくとも１つがデータサーバ内に含まれる、請求項１６に記載の装置。
【請求項１９】
前記データサーバが前記グラフィックスエンジン内に含まれる、請求項１８に記載の装置。
【請求項２０】
前記データリトリーバが前記プロセスデータをサブスクライブするか読み込むかのうちの少なくとも１つによって前記プロセスデータを取得することになっている、請求項１６に記載の装置。
【請求項２１】
前記選択レシーバが、前記プロセスデータまたは前記メタデータのうちの少なくとも１つに対する変更を受信することになっており、
前記データ表現ジェネレータが、前記変更されたプロセスデータまたは前記変更されたメタデータのうちの前記少なくとも１つに基づいて前記データ表現を修正することになっており、
前記データ表現表示マネージャが、前記ユーザインタフェースを介して前記修正されたデータ表現を表示することになっている、
請求項１６に記載の装置。
【請求項２２】
前記データ表現を変更することが、前記データ表現に第２のデータ表現を追加すること、前記データ表現にパラメータを追加すること、前記データ表現からパラメータを削除すること、前記データ表現のパラメータの種類を修正すること、または前記データ表現の視覚化を修正することのうちの少なくとも１つ含む、請求項２１に記載の装置。
【請求項２３】
前記データ表現ジェネレータが、
前記メタデータのタイプを特定することと、
前記特定されたメタデータのタイプと少なくとも１つのデータ表現タイプとをメタデータルールデータベースで相互参照することと、
前記特定されたメタデータのタイプと関連付けられた前記少なくとも１つのデータ表現タイプのインスタンスを生成することと、
前記メタデータを前記少なくとも１つのデータ表現タイプの前記インスタンスにあるデータフィールドと関連付けることと、
前記メタデータと関連付けられた前記プロセスデータを前記少なくとも１つのデータ表現タイプのインスタンスにある前記データフィールドと関連付けて前記データ表現を作成することと、
によって前記データ表現を生成することになっている、請求項１５に記載の装置。
【請求項２４】
前記データ表現ジェネレータが、データ表現タイプを選択した後に前記特定されたメタデータのタイプと前記少なくとも１つのデータ表現タイプとを相互参照するようユーザに促すプロンプトを送信することになっている、請求項２３に記載の装置。
【請求項２５】
前記データ表現表示マネージャが、前記データ表現を描画した後に前記少なくとも１つのデータ表現を表示するようになっている、請求項１５に記載の装置。
【請求項２６】
前記メタデータジェネレータが、前記プロセスデータとメタデータタイプとをメタデータのタイプデータベースで相互参照することによって前記メタデータを判断することになっている、請求項１５に記載の装置。
【請求項２７】
前記メタデータジェネレータが、前記プロセスデータと関連付けられたメタデータを特定することによって前記メタデータを判断することになっている、請求項１５に記載の装置。
【請求項２８】
前記データマネージャが、バッチ識別名、プロセス識別名、コントローラ識別名、現場装置識別名、前記プロセスデータと関連付けられたファイル、前記プロセスデータへのリンク、１つ以上の機能ブロック、１つ以上のパラメータ、１つ以上のプロセス制御エンドポイント、またはプロセス制御ルーチンのうちの少なくとも１つによって前記選択されたプロセス制御情報を特定することになっている、請求項１５に記載の装置。
【請求項２９】
前記データ表現ジェネレータが前記データ表現を生成する前にデータ識別名によって前記メタデータを解析するメタデータパーサをさらに含む、請求項１５に記載の装置。
【請求項３０】
前記データ表現表示マネージャが、前記データ表現と関連付けられたカスタマイズ情報を受信することになっており、前記データ表現ジェネレータが、
前記データ表現に対して前記カスタマイズ情報を照会することになっており、
前記カスタマイズ情報に基づいて前記データ表現を修正することになっており、
前記データに対する前記カスタマイズ情報の照会をデータ表現データベースに格納することになっている、
請求項１５に記載の装置。
【請求項３１】
前記データ表現表示マネージャが、前記ユーザインタフェースを介して前記修正されたデータ表現を表示することになっている、請求項３０に記載の装置。
【請求項３２】
前記データ表現表示マネージャが、前記ユーザインタフェースを介して前記データ表現を表示することになっている提示プロセッサに前記データ表現を転送することによって前記データ表現を表示することになっている、請求項１５に記載の装置。
【請求項３３】
命令を格納している機械アクセス可能なメディアであって、実行されると、マシンが、
ユーザによって選択されたプロセス制御情報を受信し、
前記選択されたプロセス制御情報と関連付けられたプロセスデータを特定し、
前記特定されたプロセスデータをプロセスコントローラから取得し、
前記取得されたプロセスデータと関連付けられたメタデータを判断し、
前記メタデータに基づいてデータ表現を生成し、
ユーザインタフェースを介して前記データ表現を表示する、
機械アクセス可能なメディア。
【請求項３４】
前記命令が実行されると、前記マシンが、
前記プロセスデータまたは前記メタデータのうちの少なくとも１つに対する変更を受信し、
前記変更を受信したことに応じて、前記変更されたプロセスデータまたは前記変更されたメタデータの少なくとも１つに基づいて前記データ表現を修正し、
前記ユーザインタフェースを介して前記修正されたデータ表現を表示する、
請求項３３に記載の機械アクセス可能なメディア。
【請求項３５】
前記命令が実行されると、前記マシンが、前記データ表現に第２のデータ表現を追加すること、前記データ表現にパラメータを追加すること、前記データ表現からパラメータを削除すること、前記データ表現のパラメータの種類を修正すること、または前記データ表現の視覚化を修正することのうちの少なくとも１つによって前記データ表現を修正する、請求項３４に記載の機械アクセス可能なメディア。
【請求項３６】
前記命令が実行されると、前記マシンが、
前記メタデータのタイプを特定し、
前記特定されたメタデータのタイプと少なくとも１つのデータ表現タイプとをデータベースで相互参照し、
前記特定されたメタデータのタイプと関連付けられた前記少なくとも１つのデータ表現タイプのインスタンスを生成し、
前記メタデータを前記少なくとも１つのデータ表現タイプの前記インスタンスにあるデータフィールドに関連付け、
前記メタデータと関連付けられた前記プロセスデータを前記少なくとも１つのデータ表現タイプのインスタンスにある前記データフィールドと関連付けて、前記データ表現を生成する、
請求項３３に記載の機械アクセス可能なメディア。
【請求項３７】
前記命令が実行されると、前記マシンが、データ表現タイプを選択した後に前記特定されたメタデータのタイプと前記少なくとも１つのデータ表現タイプとを相互参照するよう前記ユーザに促す、請求項３６に記載の機械アクセス可能なメディア。
【請求項３８】
前記命令が実行されると、前記マシンが、前記データ表現を描画した後に前記少なくとも１つのデータ表現を表示する、請求項３３に記載の機械アクセス可能なメディア。
【請求項３９】
前記命令が実行されると、前記マシンが、前記プロセスデータとメタデータタイプとを相互参照することによって前記メタデータを判断する、請求項３３に記載の機械アクセス可能なメディア。
【請求項４０】
前記命令が実行されると、前記マシンが、前記プロセスデータと関連付けられたメタデータを特定することによって前記メタデータを判断する、請求項３３に記載の機械アクセス可能なメディア。
【請求項４１】
前記命令が実行されると、前記マシンが、前記プロセスデータをサブスクライブするか読み込むかの少なくとも１つによって前記プロセスデータを取得する、請求項３３に記載の機械アクセス可能なメディア。
【請求項４２】
前記命令が実行されると、前記マシンが、データ識別名によって前記メタデータを解析した後に前記データ表現を生成する、請求項３３に記載の機械アクセス可能なメディア。
【請求項４３】
前記命令が実行されると、前記マシンが、
前記データ表現と関連付けられたカスタマイズ情報を受信し、
前記データ表現に対して前記カスタマイズ情報を照会し、
前記カスタマイズ情報に基づいて前記データ表現を修正し、
前記ユーザインタフェースを介して前記修正されたデータ表現を表示し、
前記データ表現に対する前記カスタマイズ情報の照会をデータベースに格納する、
請求項３３に記載の機械アクセス可能なメディア。
【請求項４４】
前記命令が実行されると、前記マシンが、
前記メタデータに基づいて第２のデータ表現を生成し、
前記ユーザインタフェースを介して前記第２のデータ表現を表示する、
請求項３３に記載の機械アクセス可能なメディア。
【請求項４５】
プロセス制御システムと関連付けられたデータを動的に表示する装置であって、
稼働すると、前記装置が、
ユーザによって選択されたプロセス制御情報を受信し、
前記選択されたプロセス制御情報と関連付けられたプロセスデータを特定し、
前記特定されたプロセスデータをプロセスコントローラから取得し、
前記取得されたプロセスデータと関連付けられたメタデータを判断し、
前記メタデータに基づいてデータ表現を生成し、
ユーザインタフェースを介して前記データ表現を表示する、
１つ以上のプロセッサを含む装置。
【請求項４６】
前記１つ以上の前記プロセッサが稼働すると、前記装置が、
前記プロセスデータまたは前記メタデータのうちの少なくとも１つに対する変更を受信し、
前記変更を受信したことに応じて、前記変更されたプロセスデータまたは前記変更されたメタデータの少なくとも１つに基づいて前記データ表現を修正し、
前記ユーザインタフェースを介して前記修正されたデータ表現を表示する、
請求項４５に記載の装置。
【請求項４７】
前記１つ以上の前記プロセッサが稼働すると、前記装置が、
前記メタデータのタイプを特定し、
前記特定されたメタデータのタイプと少なくとも１つのデータ表現タイプとをデータベース内で相互参照し、
前記特定されたメタデータのタイプと関連付けられた前記少なくとも１つのデータ表現タイプのインスタンスを生成し、
前記メタデータを前記少なくとも１つのデータ表現タイプの前記インスタンスにあるデータフィールドに関連付け、
前記メタデータと関連付けられた前記プロセスデータを前記少なくとも１つのデータ表現タイプのインスタンスにある前記データフィールドと関連付けて、前記データ表現を生成する、
請求項４５に記載の装置。
【請求項４８】
前記１つ以上のプロセッサが稼働すると、前記装置が、
前記データ表現と関連付けられたカスタマイズ情報を受信し、
前記データ表現と前記カスタマイズ情報を参照し、
前記カスタマイズ情報に基づいて前記データ表現を修正し、
前記ユーザインタフェースを介して前記修正されたデータ表現を表示し、
前記データ表現に対する前記カスタマイズ情報の照会をデータベースに格納する、
請求項４５に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般にプロセス制御システムに関し、特に、プロセス制御システムと関連付けられたデータを動的に表示するための方法および装置に関する。
【背景技術】
【０００２】
化学、石油、または他のプロセスなどで使用されるようなプロセス制御システムは、アナログ、デジタル、またはアナログ／デジタル複合バス経由で少なくとも１つのホストまたはオペレータワークステーションと１つ以上の現場装置とに通信可能に連結された１つ以上のプロセスコントローラおよび入出力（Ｉ／Ｏ）装置を概して含む。例えば、バルブ、バルブポジショナ、スイッチ、および送信器（温度、圧力、および流量センサなど）といった現場装置は、バルブの開閉やプロセス制御パラメータの測定など、プロセス内のプロセス制御機能を実行する。プロセスコントローラは、現場装置によって計測されたプロセス測定値を表す信号を受信し、この情報を処理して制御ルーチンを実装した後、バスまたは他の通信回線を通じて現場装置に送られる制御信号を生成して、このプロセスの動作を制御する。このようにして、プロセスコントローラは、現場装置を使用して、現場装置を通信可能に連結しているバスおよび／または他の通信リンク経由で制御ストラテジまたはルーチンを実行および調整することができる。
【０００３】
現場装置およびコントローラからの情報は、プロセスの現状の参照（グラフィカルユーザインタフェース経由などで）、プロセスの評価、あるいはプロセスの動作の修正（視覚的なオブジェクトダイアグラム経由などで）など、プロセスに関する所望の機能をオペレータが実行できるように、オペレータワークステーション（プロセッサベースのシステムなど）によって実行される１つ以上のアプリケーション（すなわち、ソフトウエアルーチン、プログラムなど）で利用できるようにしてもよい。また、多数のプロセス制御システムは、１つ以上のアプリケーションステーションを含む。一般に、これらのアプリケーションステーションは、ローカルエリアネットワーク（ＬＡＮ）経由でプロセス制御システム内のコントローラ、オペレータワークステーション、および他のシステムと通信可能に連結されているパーソナルコンピュータやワークステーションなどを使用して実装される。各アプリケーションステーションは、プロセス制御システム内でキャンペーン管理機能、保守管理機能、仮想制御機能、診断機能、リアルタイム監視機能、安全関連機能、構成機能などを実行する１つ以上のストラテジ、ルーチン、またはアプリケーションを実行し得る。
【０００４】
加えて、プロセス制御システムは、プロセス制御ルーチン、現場装置、コントローラ、および／または通信を監視するための監視情報、診断情報、および／またはアラームを表すデータ表現を概して含む。データ表現は、図、グラフ、データテーブル、リストボックス、グラフィカル記号、テキストなどの形態でプロセスデータをグラフィカルに表示することにより、オペレータを支援する。現在は、処理領域、一群の現場装置、プロセスの一部分、データのタイプ、および／またはプロセス制御コンポーネントに固有である可能性のあるユーザインタフェースでのデータ表現の表示を、プロセスのオペレータが手動で構成しなくてはならない場合がある。しかし、ユーザインタフェースがオペレータ、プロセス制御システム、プロセス制御領域、および／または一群の現場装置ごとに構成されなくてはならない場合があるため、このような手動構成は、プロセス制御オペレータにとって大きな負担となり得る。また、手動構成は、データ表現が重複する複数のユーザインタフェース画面を作成することに至る可能性がある。さらには、プロセス制御システムが修正されたときに、場合によっては、データ表現に対応するユーザインタフェースを変更して、その修正を反映する必要がある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、プロセス制御システムと関連付けられたデータを動的に表示する方法および装置を提供しようとするものである。
【課題を解決するための手段】
【０００６】
プロセス制御システムと関連付けられたデータを動的に表示する例示的方法および装置が記載される。一実施例において、方法は、ユーザによって選択されたプロセス制御情報グラフィックスエンジンで受信することと、選択されたプロセス制御情報と関連付けられたプロセスデータを特定することと、特定されたプロセスデータをプロセスコントローラから取得することとを含む。前記例示的方法は、取得されたプロセスデータと関連付けられたメタデータを判断することと、そのメタデータに基づいてグラフィックスエンジンでデータ表現を生成することと、ユーザインタフェースを介してデータ表現を表示することとをさらに含む。
【０００７】
例示的装置は、選択されたプロセス制御情報と関連付けられたプロセスデータを特定するためのデータマネージャと、取得されたプロセスデータと関連付けられたメタデータを判断するためのメタデータジェネレータとを含む。前記例示的装置は、メタデータに基づいてデータ表現を生成するためのデータ表現ジェネレータと、ユーザインタフェースを介してデータ表現を表示するためのデータ表現表示マネージャも含む。
【図面の簡単な説明】
【０００８】
【図１】グラフィックスエンジン例およびデータサーバ例を含むプロセス制御システム例を図示するブロック図を示す。
【図２】図１のグラフィックスエンジン例およびデータサーバ例の機能ブロック図を示す。
【図３】バッチベースのプロセス制御システムのデータ表現例を示す。
【図４】追加プロセスデータに関する修正を含む図３のデータ表現例を示す。
【図５】プロセス制御オペレータによって指定されたカスタマイズを含む図４のデータ表現例を示す。
【図６】図３から図５のバッチと関連付けられた説明変数の寄与度のデータ表現例を示す。
【図７】図３から図５のバッチと関連付けられた被説明変数の寄与度が追加された図６のデータ表現例を示す。
【図８】プロセス制御システムの一部分のステータスのデータ表現例を示す。
【図９】ステータスチャートデータ表現が追加された図８のデータ表現例を示す。
【図１０】図１および／または２のグラフィックスエンジン例、データサーバ例、選択レシーバ例、データマネージャ例、メタデータパーサ例、データ表現ジェネレータ例、データ表現表示マネージャ例、データリトリーバ例、および／またはメタデータジェネレータ例を実装するために使用され得る方法例のフローチャートである。
【図１１Ａ】図１および／または２のグラフィックスエンジン例、データサーバ例、選択レシーバ例、データマネージャ例、メタデータパーサ例、データ表現ジェネレータ例、データ表現表示マネージャ例、データリトリーバ例、および／またはメタデータジェネレータ例を実装するために使用され得る方法例のフローチャートである。
【図１１Ｂ】図１および／または２のグラフィックスエンジン例、データサーバ例、選択レシーバ例、データマネージャ例、メタデータパーサ例、データ表現ジェネレータ例、データ表現表示マネージャ例、データリトリーバ例、および／またはメタデータジェネレータ例を実装するために使用され得る方法例のフローチャートである。
【図１２】図１および／または２のグラフィックスエンジン例、データサーバ例、選択レシーバ例、データマネージャ例、メタデータパーサ例、データ表現ジェネレータ例、データ表現表示マネージャ例、データリトリーバ例、および／またはメタデータジェネレータ例を実装するために使用され得る方法例のフローチャートである。
【図１３】本明細書に記載の方法例および装置例を実装する目的で使用され得るプロセッサシステム例のブロック図である。
【発明を実施するための形態】
【０００９】
以下、コンポーネントの中でも特に、ハードウェア上で実行されるソフトウェアおよび／またはファームウェアを含む方法例および装置例について説明しているが、これらの例は単なる例に過ぎず、制限的なものとみなされるべきでないことに留意されたい。例えば、ハードウェア、ソフトウェア、およびファームウェアコンポーネントの一部または全部が、ハードウェアでのみ、ソフトウェアでのみ、あるいはハードウェアとソフトウェアとの任意の組み合わせで具現化され得ると考えられる。そのため、以下に方法例および装置例を記載するものの、当業者であれば、提供された実施例がかかる方法と装置を実装する唯一の方法でないことは容易に理解できるであろう。例えば、方法例および装置例は、プロセス制御システムと関連付けられたデータを動的に表示することと関連付けて記載されているものの、この方法例および装置例は、より一般的に適用可能であり、任意の自動化システム、バッチ処理システム、製造システム、産業制御システム、安全装備されたシステムなどと関連付けられたデータを動的に表示するように実装され得る。
【００１０】
概して、プロセス制御システムは、プロセスの状況をオペレータに知らせるためのプロセスデータ、アラーム、監視情報、および／または診断情報などの情報の管理および表示を含む。プロセス制御システムは、プロセス制御ルーチン、現場装置、コントローラ、および／または通信を監視するためのセンサ、モニタ、および／または診断装置を含み得る。さらに、プロセス制御システムと関連付けられた情報が、オペレータがユーザインタフェースを介してワークステーションで参照できるグラフィカルなデータ表現として表示されてもよい。データ表現は、現場装置と関連付けられたプロセスデータ、現場装置間の相互接続、現場装置間の通信、現場装置の出力経路、現場装置の機能状態、および／またはプロセス制御システムと関連付けられている可能性のあるその他任意の情報も含む場合がある。加えて、データ表現は、プロセス制御システム全体と、あるいはプロセス制御システムの１つ以上の部分と関連付けられていてもよい。
【００１１】
現在、データ表現は、プロセス制御システム内の既知のコンポーネントおよび／または接続、プロセス制御システムと関連付けられた機能ブロック図、および／またはプロセス制御システムのその他任意の表現に基づき、オペレータおよび／またはプロセス制御エンジニアによって手動で構成される。データ表現は、図、グラフ、データテーブル、リストボックス、グラフィカル記号、テキストなどの形態でプロセスデータをグラフィカルに表示することにより、オペレータを支援する。ただし、一般にデータ表現は、エンジニアおよび／またはオペレータによって指定された表示画面に対して固定または静的である。例えば、グラフデータ表現は、プロセスにおける現場装置のステータスを示す目的で使用され得る。グラフデータ表現は、オペレータ、デザイナー、および／またはエンジニアによって現場装置からのプロセスデータと手動でリンクされる１つ以上のデータフィールドを含み得る。グラフデータ表現は、データフィールドで参照されるプロセスデータを読み込み、プロセスデータを表示し得る。ただし、プロセスデータをデータフィールドとこのように手動でリンクすると、静的または固定データ表現が作成される。第２の現場装置がプロセスに追加されると、オペレータおよび／またはエンジニアが第２の現場装置からのプロセスデータをグラフデータ表現と手動でリンクしなくてはならない場合がある。
【００１２】
場合によっては、１つ以上のデータ表現を表示しているユーザインタフェースが複数のプロセスデータソースに対して構成される必要があることから、このような手動構成は、プロセス制御オペレータおよび／またはエンジニアにとって大きな負担となる場合がある。また、このような手動構成により、ユーザインタフェース画面および／またはデータ表現で情報が重複する場合もある。さらに、プロセス制御システムが修正されたときに、対応するユーザインタフェースおよび／またはデータ表現を修正して変更を反映しなくてはならない場合もある。
【００１３】
本明細書に記載の方法例および装置例では、オペレータおよび／またはエンジニアによって選択されたプロセスデータの種類（プロセス制御データなど）に基づいてユーザインタフェースを介して表示され得るデータ表現が動的に作成される。本明細書に記載の方法例および装置例では、オペレータおよび／またはエンジニア（ユーザなど）からプロセス制御情報の選択を受信し、選択されたプロセス制御情報と関連付けられているプロセスデータを特定することにより、データ表現が動的に作成される。プロセス制御情報は、プロセスデータを生成、処理、および／または管理するプロセス制御コンポーネントのいかなる識別名も含み得る。例えば、プロセス制御情報は、バッチ識別名、プロセス識別名、コントローラ識別名、現場装置識別名、プロセスデータと関連付けられたファイル、プロセスデータへのリンク、１つ以上の機能ブロック、１つ以上のパラメータ、１つ以上のプロセス制御エンドポイント、および／またはプロセス制御ルーチンを含み得る。プロセス制御コンポーネントは、現場装置、プロセスコントローラ、ルーチン、アルゴリズム、Ｉ／Ｏカード、および／またはデータを生成および／または処理できるその他任意のプロセスコントローラを含み得る。
【００１４】
選択されたプロセスデータを特定すると、本明細書に記載の方法例および装置例は、そのプロセスデータと関連付けられているメタデータを特定および／または作成する。メタデータは、プロセスデータと関連付けられた提示情報を指定することによってそのプロセスデータを説明する。一般に、提示情報は、例えば、プロセスデータのタイプ、プロセスデータの表示設定、プロセスデータの形式、プロセスデータの長さおよび／またはサイズ、プロセスデータの位置、および／またはプロセスデータに関するその他任意の定義または説明を含み得る。本明細書に記載の方法例および装置例は、メタデータを使用し、メタデータルールデータベースで指定された対応するデータ表現タイプとそのメタデータとを相互参照することにより、適切なデータ表現タイプを判断する。この方法例および装置例は、判断されたデータ表現タイプのインスタンスを作成し、新たに作成されたデータ表現インスタンスとプロセスデータを関連付ける。この方法例および装置例は、プロセスデータの位置をデータ表現インスタンス内に含まれる対応データフィールドにリンクおよび／または挿入することによってプロセスデータをデータ表現インスタンスと関連付ける場合もある。このデータ表現は、プロセスデータをデータ表現タイプのインスタンスと関連付けることによってインスタンスから生成される。その後、本明細書に記載の方法例および装置例は、ユーザインタフェースを介してデータ表現を描写および表示し得る。
【００１５】
いくつかの実施例においては、プロセスデータがメタデータを含み、かつ／またはメタデータと関連付けられている場合がある。この含まれているメタデータは、プロセスデータを生成する現場装置、プロセスデータをコンパイルおよび管理するコントローラ、および／またはプロセスデータを処理し、保存するルーチンおよび／またはアルゴリズムによってプロセスデータに追加されてもよい。メタデータがプロセスデータと一緒に含まれていない他の実施例においては、本明細書に記載の方法例および装置例が、プロセスデータの種類を基に、選択されたプロセスデータと、メタデータ定義を含むメタデータのタイプデータベースとを相互参照することによってメタデータを生成する。生成されたメタデータは次に、プロセスデータと関連付けられ、本明細書に記載の方法例および装置例によって使用されて適切なデータ表現を生成する。
【００１６】
本明細書に記載の方法例および装置例は、データ表現と関連付けられたプロセスデータおよび／またはメタデータに変更が生じると、表示されているデータ表現を自動的に更新および／または修正し得る。例えば、プロセス制御システムに対する変更により、そのプロセスデータと関連付けられた生成済みプロセスデータおよび／またはメタデータが追加、削除、および／または修正され得る。他の実施例においては、オペレータおよび／またはエンジニアが、データ表現内に表示されているプロセスデータを追加、削除、および／または修正してもよい。これらの両実施例においては、本明細書に記載の方法および装置が、変更されたシステムと関連付けられたメタデータを生成および／または特定し、影響を受けたデータ表現を自動的に更新し、修正されたデータ表現を再描画し、変更されたデータ表現を表示する。このように、プロセスデータ、メタデータ、および／またはプロセス制御システムに対して施された変更は、影響を受けたデータ表現で自動的に更新されるため、変更されたプロセスデータをオペレータおよび／またはエンジニアが手動で構成し直したり、データ表現内の適切なデータフィールドに改めてリンクしたりする必要がない。
【００１７】
さらに、またはあるいは、本明細書に記載の方法例および装置例により、プロセスオペレータ、エンジニア、および／またはデザイナーが、設定および／または要件に基づいてデータ表現の一部分をカスタマイズすることができる。オペレータがデータ表現をカスタマイズすると、その方法例および／または装置例は、データ表現と共にカスタマイズ情報を記憶する。また、この方法例および装置例が、他の同様のタイプのデータ表現を更新したり、カスタマイズ情報と共にデータ表現タイプを更新したりしてもよい。カスタマイズ情報は、例えば、１つ以上のデータ表現の表示の修正、１つ以上のデータ表現の色の変更、１つ以上のデータ表現のレイアウトの変更、１つ以上のデータ表現と関連付けられたグラフィックスの変更、１つ以上のデータ表現の表示形式の変更、および／または１つ以上のデータ表現と関連付けられた識別情報の変更などを含み得る。
【００１８】
メタデータに基づいてデータ表現を自動的に生成することにより、本明細書に記載の方法例および装置例は、ユーザインタフェースの開発中ではなく、ユーザによるリクエスト時にデータ表現を作成する動的なユーザインタフェース提示システムを提供する。さらに、プロセスデータの種類に基づいてデータ表現を自動的に作成することにより、本明細書に記載の方法例および装置例は、制御システムおよび対応するグラフィカルユーザインタフェースの同時開発を可能にし、エンジニアおよび／またはオペレータの生産性を改善する。例えばエンジニアは、プロセス制御システムの制御ストラテジの開発に注力できるようになり、プロセスデータがどのように示されるかを判断する必要がなくなる。同時にユーザインタフェース開発者は、ユーザインタフェースコントロールの開発に注力できるようになり、プロセスデータのタイプおよび／または位置を判断する必要がなくなる。さらに、本明細書に記載の方法例および装置例は、選択されたプロセス制御情報のみに基づいてデータ表現を動的に作成することにより、プロセス制御システムの柔軟性を改善する。データ表現タイプとメタデータとを相互参照する目的で使用されるデータベースは、エンジニアおよび／またはオペレータの要件に基づいて更新および／または改訂される場合があるため、プロセス制御システムのスケーラビリティも改善され得る。
【００１９】
図１は、グラフィックスエンジン例１０２とデータサーバ例１０４とを含むプロセス制御環境例１００を示すブロック図である。グラフィックスエンジン例１０２およびデータサーバ例１０４は、プロセス制御システム１０６内に位置する。ただし、他の実施例においては、グラフィックスエンジン１０２および／またはデータサーバ１０４が、サーバ内のプロセス制御システム１０６、分散コンピューティングネットワーク、および／またはプロセス制御システム１０６と通信可能に連結され得るその他任意の計算装置の外に位置する場合がある。さらにプロセス制御システム例１０６は、追加データサーバ（図示せず）および／または追加グラフィックスエンジン（図示せず）を含む場合がある。
【００２０】
プロセス制御システム例１０６は、任意のタイプの製造施設、処理施設、自動化施設、安全装備された施設、および／またはその他任意のプロセス制御またはシステムを含み得る。いくつかの実施例において、プロセス制御システム１０６は、異なる場所に位置する複数の施設を含み得る。加えてプロセス制御環境例１００は、同じ施設内に含まれていたり、異なる施設に位置したりする他のプロセス制御システム（図示せず）も含み得る。
【００２１】
プロセス制御環境例１００は、以下でさらに詳述されている方法例および装置例が好都合に使用され得るタイプのシステムを例示する目的で提供されている。ただし、本明細書に記載の方法例および装置例は、所望される場合には、図１に示されるプロセス制御環境例１００および／またはプロセス制御システム１０６よりも複雑または単純な他のシステム、および／またはプロセス制御アクティビティ、事業管理アクティビティ、通信アクティビティなどと関連して使用されるシステムで好都合に使用され得る。
【００２２】
図１のプロセス制御システム例１０６は、データサーバ１０４と通信可能に連結され得るコントローラ１０８を含む。プロセス制御システム１０６はまた、現場装置１１０（入力および／または出力装置など）も含む。現場装置１１０は、入力情報を受信し、出力情報を生成し、かつ／またはプロセスを制御することのできる任意のタイプのプロセス制御コンポーネントを含み得る。現場装置１１０は、例えば、プロセスを制御するためのバルブ、ポンプ、ファン、ヒーター、クーラー、および／またはミキサーなどの制御装置を含み得る。加えて、現場装置１１０は、例えば、プロセスの部分を測定するための温度センサ、圧力計、濃度計、液面計、流量計、および／または蒸気センサなどの測定または監視装置も含み得る。制御装置は、入力経路１１２を介してコントローラ１０８から命令を受信し、指定されたコマンドを実行し得るとともに、現場装置１１０によって実装および／または制御されるプロセスに変更を施し得る。さらに、測定装置は、プロセスデータ、環境データ、および／または入力装置データを測定し、測定されたデータをプロセスデータとして出力経路１１４を介してコントローラ１０８に送信する。このプロセスデータは、現場装置１１０の各々から受信した測定出力値に対応する変数の値を含み得る。
【００２３】
図１の図示実施例において、コントローラ例１０８は、入力経路１１２および／または出力経路１１４を介してプロセス制御システム１０６内の現場装置１１０と通信し得る。入力経路１１２および出力経路１１４は、データバスによって実装されてもよい。このデータバスは、プロセス制御システム１０６内の中間通信コンポーネントに連結されてもよい。これらの通信コンポーネントは、コマンド領域にある現場装置１１０をデータバスと通信可能に連結するためのフィールド結合ボックスを含み得る。加えて、通信コンポーネントは、現場装置１１０および／またはフィールド結合ボックスへの通信経路を組成するための整理キャビネットを含み得る。さらに通信コンポーネントは、現場装置１１０からデータを受信し、そのデータをコントローラ例１０８が受信可能な通信に変換するためのＩ／Ｏカード１１６（Ｉ／Ｏ装置など）を含み得る。加えて、これらのＩ／Ｏカード１１６は、コントローラ１０８からのデータまたは通信を、対応する現場装置１１０が処理可能なデータ形式に変換し得る。一実施例において、データバスは、Ｆｉｅｌｄｂｕｓプロトコルまたは他のタイプの有線のおよび／または無線通信プロトコル（ＰｒｏｆｉｂｕｓプロトコルやＨＡＲＴプロトコルなど）を使用して実装されてもよい。
【００２４】
図１のコントローラ例１０８は、プロセス制御システム１０６内で現場装置１１０を制御するために、プロセス制御アルゴリズム、機能、および／または命令など、１つ以上の制御ルーチンを管理する。制御ルーチンは、プロセス監視アプリケーション、アラーム管理アプリケーション、プロセストレンド分析および／または履歴管理アプリケーション、診断アプリケーション、バッチ処理および／またはキャンペーン管理アプリケーション、統計アプリケーション、ストリーミングビデオアプリケーション、高度な制御アプリケーション、安全装備されたアプリケーションなどを含み得る。制御ルーチンによって、プロセス制御システム１０６が特定の品質しきい値内で所望の製品の指定量を確実に生産し得る。例えば、プロセス制御システム１０６は、最終段階および／またはバッチ処理時に製品を生産するバッチシステムとして構成される場合がある。他の実施例において、プロセス制御システム１０６は、製品を絶え間なく生産する連続プロセス製造システムを含み得る。さらにコントローラ１０８は、制御ルーチン内で利用されるプロセスデータをデータサーバ例１０４に転送する場合がある。他の実施例において、データサーバ１０４は、プロセスデータの有無を確認するため、および／またはグラフィックスエンジン１０２からリクエストを受けたときにコントローラ１０８を周期的にポーリングする場合がある。
【００２５】
図１のプロセス制御環境例１００は、ローカルエリアネットワーク（ＬＡＮ）１２２を介してグラフィックスエンジン１０２と通信可能に連結されたワークステーション１２０を含む。ワークステーション例１２０は、パーソナルコンピュータ、ラップトップ、サーバ、コントローラ、スマートフォン、携帯情報端末（ＰＤＡ）、マイクロコンピュータなどを含む任意のコンピューティング装置を含み得る。加えて、ワークステーション１２０は、任意の適切なコンピュータシステムまたは処理システム（図１３のプロセッサシステムＰ１０など）を使用して実装され得る。例えば、ワークステーション１０６は、シングルプロセッサパーソナルコンピュータ、シングルまたはマルチプロセッサワークステーションなどを使用して実装できる可能性がある。
【００２６】
図１の実施例は、プロセス制御システム１０６にとって外部のワークステーション例１２０を示す。他の実施例において、ワークステーション１２０は、プロセス制御システム１０６内に含まれる場合があり、かつ／またはコントローラ１０８と通信可能に直接連結される場合がある。加えて、プロセス制御環境１００は、他のワークステーション（図示せず）をコントローラ１０８、データサーバ１０４、および／またはグラフィックスエンジン１０２と通信可能に連結し、かつ／またはワークステーション１２０を他のプロセス制御システム内の他のコントローラ（図示せず）および／またはグラフィックスエンジン（図示せず）と通信可能に連結するためのルータ（図示せず）を含み得る。さらにプロセス制御環境１００は、プロセス制御環境１００内のリソースへのアクセスをリモートワークステーション（プロセス制御環境１００外のワークステーションなど）に提供するためのファイアウォール（図示せず）を含み得る。
【００２７】
ＬＡＮ例１２２は、任意の所望の通信メディアおよびプロトコルを使用して実装され得る。例えば、ＬＡＮ１２２は、有線または無線のイーサネット（登録商標）通信方式に基づいてもよい。ただし、その他任意の適切な通信メディアおよびプロトコルも使用できる可能性がある。さらに、ＬＡＮ１２２は１つだけ示されているが、ワークステーション１２０内の複数のＬＡＮおよび適切な通信ハードウェアを使用して、ワークステーション１２０とそれぞれの類似ワークステーション（図示せず）との間で冗長通信経路を設けてもよい。
【００２８】
プロセス制御システム１０６にアクセス可能なワークステーション例１２０および／または他のワークステーション（図示せず）は、プロセス制御システム１０６内の１つ以上のプロセスを参照、修正、および／または矯正するように構成されてもよい。例えば、ワークステーション１２０は、グラフィックスエンジン１０２によって生成されるデータ表現をフォーマット、管理、および／または表示するユーザインタフェース（ＵＩ）提示プロセッサ１２４を含んでもよい。ＵＩ提示プロセッサ１２４は、ユーザインタフェース１２６を介してデータ表現を表示する。ユーザインタフェース例１２６は、ワークステーション１２０の一部であるグラフフィカルウインドウに表示されることで１つ以上のデータ表現を示してもよい。ワークステーション１２０は、追加ＵＩ提示プロセッサ（図示せず）を介して複数のユーザインタフェース１２６を表示できてもよい。あるいは、実施例ＵＩ提示プロセッサ１２４が複数のユーザインタフェース１２６を管理できてもよい。
【００２９】
図１のユーザインタフェース例１２６は、現場装置１１０と関連付けられたデータ表現を示す。オペレータは、オペレータがデータ表現として表示したいプロセス制御情報を選択することにより、データ表現の生成を開始する。プロセス制御情報は、ユーザインタフェース１２６でオペレータがアイコン、ファイル名、１つ以上の機能ブロック、プロセス制御システムの概略図の一部分、および／またはそのプロセス制御情報と関連付けられた識別名を選択することによって選択され得る。グラフィックスエンジン１０２は、選択を受信し、プロセス制御変数、現場装置１１０、入力経路１１２、出力経路１１４、機能ブロック、パラメータ、アプリケーション、ルーチン、および／または選択されたプロセス制御情報と関連付けられた他のプロセス制御コンポーネントを判断する。次にグラフィックスエンジン１０２は、選択されたプロセス制御情報と関連付けられたプロセス制御コンポーネントの識別名をデータサーバ１０４に送信することにより、プロセスデータを取得する。データサーバ例１０４は、プロセスデータおよび／またはプロセスデータの格納位置を特定し、この情報をグラフィックスエンジン１０２に転送する。いくつかの実施例においては、プロセスデータがすでにデータサーバ１０４に格納されている場合がある。他の実施例においては、プロセスデータが、コントローラ１０８に格納されているか、位置している場合がある。後者の実施例においては、データサーバ１０４がコントローラ１０８にリクエストされた処理データを転送するようにリクエストしてもよい。このリクエストは、読み込まれたリクエストおよび／またはサブスクライブリクエストを含み得る。
【００３０】
プロセスデータをグラフィックスエンジン１０２に送信する前に、図１のデータサーバ例１０４が、プロセスデータと関連付けられたメタデータを判断する。場合によっては、メタデータがすでにプロセスデータと関連付けられており、かつ／または組み込まれている場合がある。プロセスデータがメタデータを含まない他の実施例においては、データサーバ１０４が、プロセスデータとメタデータタイプとをデータベースで相互参照することによってメタデータを生成する。選択されたプロセスデータと関連付けられたメタデータを判断すると、データサーバ１０４は、メタデータおよびプロセスデータをグラフィックスエンジン１０２に転送する。次にグラフィックスエンジン１０２が、適用可能なメタデータ識別名によってメタデータを解析し得る。メタデータ内のメタデータ識別名は、関連付けられたプロセスデータがデータ表現内でどのように表示されるかを説明している。例えば、メタデータ識別名は、データ表現のタイプ（グラフ、チャート、テーブルなど）、プロセスデータ（フォントサイズ、フォントタイプ、フォントカラー、テキスト位置合わせなど）を表示するための形式、プロセスデータ（小数、１６進数、ストリング、テキストなど）を表示するためのデータ型、および／またはプロセスデータ（列、行、グラフデータ、ステータスデータなど）の表示特性を表すタグを含み得る。
【００３１】
次にグラフィックスエンジン例１０２は、解析されたメタデータのタイプを特定し、そのメタデータタイプとデータ表現タイプとを相互参照する場合がある。例えば、グラフィックスエンジン１０２は、データ表現タイプのインスタンスを生成し、データ表現のインスタンスにメタデータを関連付ける場合がある。具体的には、グラフィックスエンジン１０２が、データ表現タイプテンプレートをコピーし、そのデータ表現コピー内のデータフィールドにメタデータを一致させる場合がある。例えば、テーブルデータ表現がデータフィールドを行または列に含む場合がある。グラフィックスエンジン例１０２は、列メタデータ識別名によってメタデータの位置を特定し、一致したメタデータと関連付けられたプロセスデータを列データフィールドにリンクする場合がある。
【００３２】
いくつかの実施例においては、グラフィックスエンジン１０２が、メタデータタイプに対応する複数のデータ表現タイプを判断する場合がある。これらの実施例においては、グラフィックスエンジン１０２がワークステーション１２０で、オペレータにデータ表現タイプを選択するよう促す場合がある。あるいは、同じタイプの他のデータ表現がメタデータタイプと関連付けられるよう指定されたかどうかをグラフィックスエンジン１０２が判断する場合がある。さらには、グラフィックスエンジン１０２が、一致するデータ表現タイプごとにデータ表現を作成する場合もある。
【００３３】
図１のグラフィックスエンジン１０２は、データ表現を描画し、その描画をワークステーション１２０内のＵＩ提示プロセッサ１２４に送信することにより、作成されたデータ表現を表示する。次にＵＩ提示プロセッサ１２４は、ユーザインタフェース１２６を介してその描画をデータ表現の表示版に変換する。グラフィックスエンジン１０２は、データ表現と関連付けられたデータフィールドの各々にアクセスし、それらのデータフィールドにリンクされているプロセスデータを取得することによってそのデータ表現を表示装置に描画した後、そのデータ表現の機能（グラフ機能、テーブル機能、チャート機能など）に従ってプロセスデータの表示描画を作成する。
【００３４】
図１のグラフィックスエンジン例１０２はまた、プロセスデータおよび／またはメタデータに対する変更に基づいてデータ表現を修正する。いくつかの実施例においては、現場装置１１０および／またはプロセス制御システム１０６に対する変更により、プロセスデータが追加、削除、および／または修正される場合がある。他の実施例においては、プロセス制御エンジニアおよび／またはオペレータが、プロセスデータおよび／またはプロセスデータと関連付けられたメタデータを追加、削除、および／または修正する場合もある。グラフィックスエンジン１０２は、プロセスデータおよび／またはメタデータの変更を検出し、影響を受けたデータ表現を後で修正する場合がある。グラフィックスエンジン１０２は、データサーバ１０４から変更の合図を受信することにより、プロセスデータおよび／またはメタデータに対する変更を検出し得る。他の実施例においては、グラフィックスエンジン１０２が、データサーバ１０４をポーリングして、メタデータおよび／またはプロセスデータに対する変更の有無を確認し得る。さらに／あるいは、グラフィックスエンジン１０２が、ＵＩ提示プロセッサ１２４を介して、オペレータによって開始された変更をワークステーション１２０から受信する場合もある。
【００３５】
例えば、データ表現が第１の温度センサ現場装置１１０のステータスを示す場合がある。第２の温度センサがプロセス制御システム１０６に追加されると、グラフィックスエンジン１０２は、新しい温度センサからの出力経路、および／または新しい温度センサの出力経路と関連付けられたメタデータを検出する場合がある。次にグラフィックスエンジン１０２は、第１の温度センサのステータスと関連付けられたデータ表現を判断し、そのデータ表現内の適切なデータフィールドに第２の温度センサのステータスを参照するリンクを追加する。別の実施例においては、オペレータが、データ型表現をテキストフィールドからグラフに変更することによってセンサからの出力経路と関連付けられたメタデータを修正する場合がある。メタデータの変更を検出すると、グラフィックスエンジン例１０２は、表現タイプをグラフに変更し、センサからのプロセスデータをグラフ内に含まれるデータフィールドにリンクすることによってデータ表現を修正する。次にグラフィックスエンジン１０２は、そのグラフデータ表現をユーザインタフェース１２４で表示できるように描画し得る。
【００３６】
さらにグラフィックスエンジン例１０２は、オペレータおよび／またはエンジニアによるデータ表現のカスタマイズを管理する場合がある。オペレータがデータ表現をカスタマイズしたときに、グラフィックスエンジン１０２は、関連付けられたプロセスデータおよび／またはメタデータを判断し得る。グラフィックスエンジン１０２は、カスタマイズされた情報に基づいてデータ表現を修正し、表示する場合もある。さらにグラフィックスエンジン１０２は、同じデータ表現に後でアクセスした場合に、そのデータ表現を表示する前に同じカスタマイズをそのデータ表現に適用できるように、データ表現のカスタマイズ情報を記憶する場合がある。
【００３７】
図２は、図１のグラフィックスエンジン例１０２およびデータサーバ例１０４の機能ブロック図２００である。グラフィックスエンジン例１０２およびデータサーバ例１０４は別々の機能ブロックとして示されているが、他の実施例において、データサーバ１０４がグラフィックスエンジン１０２内に含まれていてもよい。あるいは、グラフィックスエンジン１０２およびデータサーバ１０４が１つの機能ブロック内で結合していてもよい。加えて図２は、データサーバ１０４およびＵＩ提示プロセッサ１２４と通信可能に連結されたグラフィックスエンジン１０２を示しているが、グラフィックスエンジン１０２が他のデータサーバおよび／またはＵＩ提示プロセッサと通信可能に連結されていてもよい。さらにデータサーバ例１０４がコントローラ１０８と通信可能に連結されているが、データサーバ１０４は他のコントローラと通信可能に連結されていてもよい。
【００３８】
オペレータによって選択されたプロセス制御情報をＵＩ提示プロセッサ１２４を介して受信するために、グラフィックスエンジン例１０２は選択レシーバ例２０２を含む。選択されたプロセス制御情報は、バッチ識別名、プロセス識別名、コントローラ識別名、現場装置識別名、プロセスデータと関連付けられたファイル、プロセスデータへのリンク、１つ以上の機能ブロック、１つ以上のパラメータ、１つ以上のプロセス制御エンドポイント、および／またはプロセス制御ルーチンを含み得るが、これらに限定されない。ＵＩ提示プロセッサ１２４は、選択されたプロセス制御情報をコンパイルし、この情報を選択レシーバ２０２に転送する。プロセス制御情報を受信すると、選択レシーバ２０２はこのプロセス制御情報を、データマネージャ２０４が処理できるようになるまでキューに入れておく。
【００３９】
選択されたプロセス制御情報と関連付けられたプロセスデータを特定するために、図２のグラフィックスエンジン例１０２は、データマネージャ２０４を含む。データマネージャ例２０４は、選択されたプロセス制御情報と関連付けられたプロセスデータを生成、処理、および／または管理し得るプロセス制御コンポーネントを特定することによってプロセスデータを特定する。このプロセス制御コンポーネントは、選択されたプロセス制御情報に対応しており、現場装置、プロセスコントローラ、ルーチン、アルゴリズム、Ｉ／Ｏカード、および／またはデータを生成および／または処理できるその他任意のプロセスコントローラも含み得る。
【００４０】
プロセス制御コンポーネントを特定すると、データマネージャ例２０４は、生成、処理、および／または特定されたプロセス制御コンポーネントと関連付けられている可能性があるプロセスデータを求めるリクエストをデータサーバ１０４に送信する。例えば、オペレータが、ＵＩ提示プロセッサ１２４によって表示される概略図上で現場装置を選択して現場装置によって生成されたプロセスデータを参照してもよい。ＵＩ提示プロセッサ１２４は、現場装置の識別値（プロセス制御情報など）を選択レシーバ２０２に送信し、次にそれらの識別値をデータマネージャ２０４に転送する。データマネージャ２０４は、現場装置識別値を現場装置（プロセス制御コンポーネントなど）として識別し、その現場装置と関連付けられているプロセスデータを求めるリクエストをデータサーバ１０４に送信する。
【００４１】
他の実施例においては、オペレータが概略図の複数部分または複数の機能ブロックを選択してもよい。これらの実施例において、プロセス制御情報は、複数の現場装置識別名、アラーム識別名、現場装置からの出力経路に基づいてルーチンによって計算されるパラメータ、および／または現場装置によって生成される出力経路に対応する出力変数名を含み得る。これらの実施例においては、データマネージャ２０４が、関連付けられたプロセスデータを求めるリクエストをデータサーバ１０４に送信する前に、タイプ、位置、および／またはその他任意のフィルタリング可能な特性別にプロセス制御情報を整理する。このようにして、データマネージャ例２０４は、プロセス制御情報の各部分がデータサーバ１０４によって取得されるプロセスデータに対応するようにプロセスデータを整理する。
【００４２】
プロセスデータを取得するために、図２のデータサーバ例１０４はデータリトリーバ２０６を含む。データリトリーバ例２０６は、データマネージャ２０４からリクエストを受信し、リクエストされた処理制御コンポーネントおよび／または情報と関連付けられたプロセスデータを特定して、プロセスデータの位置を判断し、そのプロセスデータをデータマネージャ２０４に転送する。いくつかの実施例においては、プロセスデータが、データリトリーバ２０６によってアクセス可能なデータサーバ１０４のデータベース内に位置する場合がある。プロセスデータがデータサーバ１０４に位置しないとデータリトリーバ２０６が判断する他の実施例においては、データリトリーバ２０６が、プロセスデータを求めるリクエストをコントローラ１０８に送信する場合がある。どちらの実施例においても、データリトリーバ２０６は、読み込まれたリクエストおよび／またはサブスクライブリクエストを送信することによってプロセスデータを取得し得る。サブスクライブリクエストが送信される実施例においては、データリトリーバ２０６が、後にデータマネージャ２０４に転送するプロセスデータを周期的に受信する場合がある。これらの実施例においては、データリトリーバ２０６がプロセスデータを利用できるようになると、ＵＩ提示プロセッサ１２４によって表示されるデータ表現が現在のプロセスデータと共に自動的に更新され得る。
【００４３】
データリトリーバ２０６は、リクエストされた処理データを受信すると、データマネージャ２０４によって送信されたプロセス制御コンポーネントおよび／または情報にそのプロセスデータをリンクし、リンクされた情報をデータマネージャ２０４に送信する。このようにして、データマネージャ２０４は、受信したプロセスデータが選択されたプロセス制御情報および／またはコンポーネントに対応すると判断することができる。他の実装例においては、データリトリーバ２０６が、対応するプロセス制御情報および／またはコンポーネントをリンクしないでデータマネージャ２０４にプロセスデータを送信する場合がある。
【００４４】
プロセス制御システムで、および／またはデータ表現内で利用されているプロセスデータに対して変更が行われる実施例においては、データリトリーバ例２０６が、変更の合図を受信し、その変更と関連付けられたプロセスデータを取得し、データマネージャ２０４にそのプロセスデータを転送する。あるいは、データリトリーバ２０６が周期的にコントローラ１０８をポーリングして、プロセスデータおよび／またはデータ表現に影響を及ぼす可能性のあるプロセス制御システムに何らかの変更があるかどうかを判断する場合もある。例えば、データリトリーバ２０６が、特定のプロセス制御領域にある現場装置からのプロセスデータを取得した場合、データリトリーバ２０６はその特定のプロセス制御領域に新たに追加された現場装置からデータマネージャ２０４にプロセスデータを転送する場合がある。
【００４５】
プロセスデータを取得することに加え、データサーバ例１０４は、取得されたプロセスデータと関連付けられたメタデータを判断するためのメタデータジェネレータ２０８を含む。メタデータジェネレータ例２０８は、取得されたプロセスデータのコピーをデータリトリーバ２０６から受信し、そのプロセスデータ内に組み込まれており、かつ／またはそのプロセスデータと関連付けられたメタデータが存在するかどうかを判断する。いくつかの実施例においては、組み込まれた、かつ／または関連付けられたそのメタデータが、プロセスデータのヘッダ内に含まれる場合がある。他の実施例においては、メタデータが、プロセスデータのストリング、データ語、および／または行内に含まれる場合がある。プロセスデータと関連付けられたメタデータが存在する場合には、メタデータジェネレータ２０８が、そのメタデータがデータ表現を生成するのに十分かどうかを判断する。データ表現を生成するのに十分なメタデータは、プロセスデータの種類を特定するメタデータ、そのプロセスデータの形式、および／またはプロセスデータの表示設定を含み得る。
【００４６】
例えば、メッセージおよび／またはデータ語を介して送信されるプロセスデータは、バッチ番号識別名について説明し、「２００８０２２９．１６３４５０」というプロセスデータ値を有する場合がある。このメッセージおよび／またはデータ語は、「Ｃｏｌｕｍｎ  Ｖａｌｕｅ」、「＜Ｎａｍｅ  Ｂａｔｃｈ  ＩＤ＞」、「＜Ｌｅｎｇｔｈ  １４＞」、および「＜Ｔｙｐｅ  Ｄｅｃｉｍａｌ＞」など、データ値と関連付けられたメタデータを表すバイトおよび／または語も含み得る。メタデータジェネレータ２０８は、「＜」、「＞」、「Ｃｏｌｕｍｎ  Ｖａｌｕｅ」、「Ｎａｍｅ」、「Ｌｅｎｇｔｈ  ＃」、および「Ｔｙｐｅ」などのコード名、識別名、および／または記号によってメタデータを識別する。十分なメタデータを特定すると、メタデータジェネレータ２０８は、プロセスデータおよびメタデータをグラフィックスエンジン１０２に転送する。
【００４７】
別の実施例において、メッセージまたはデータ語がプロセスデータだけを含む場合、および／または不十分なメタデータだけを含む場合、メタデータジェネレータ例２０８は、プロセスデータを特定し、そのプロセスデータとメタデータタイプとを相互参照する場合がある。メタデータのタイプデータベース２１０は、メタデータジェネレータ２０８がプロセスデータとメタデータタイプとを相互参照するのに利用する可能性のあるリストを含み得る。メタデータのタイプデータベース２１０は、電子的消去が可能なプログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、および／またはその他任意のタイプのメモリによって実装され得る。
【００４８】
一実施例において、メタデータジェネレータ２０８は「２００８０２２９．１６３４５０」というプロセスデータ値を受信し得る。次にメタデータジェネレータ例２０８は、このプロセスデータ値が「＃＃＃＃＃＃＃＃．＃＃＃＃＃＃」という形式の１４桁１０進値であると判断し得る。メタデータジェネレータ２０８は、メタデータのタイプデータベース２１０にアクセスして、「＃＃＃＃＃＃＃＃．＃＃＃＃＃＃」という形式とメタデータの識別名またはタイプとを相互参照し得る。本実施例においては、「＃＃＃＃＃＃＃＃．＃＃＃＃＃＃」という形式が、例えば「Ｎａｍｅ  Ｂａｔｃｈ  ＩＤ」、「Ｌｅｎｇｔｈ  １４」、「Ｔｙｐｅ  Ｄｅｃｉｍａｌ」、および「Ｃｏｌｕｍｎ  Ｖａｌｕｅ」といったメタデータ識別名など、バッチ識別名のメタデータ識別名と相互参照され得る。メタデータジェネレータ２０８は、ヘッダまたは他のデータバイト内のメタデータ、および／またはプロセスデータの語を組み込むことにより、かつ／またはこのメタデータをこのプロセスデータにリンクすることにより、判断されたメタデータのタイプおよび／または識別名をプロセスデータ値と関連付ける。次にメタデータジェネレータ２０８は、このメタデータおよびプロセスデータをグラフィックスエンジン１０２に送信する。
【００４９】
プロセスデータがデータストリングおよび／またはプロセスデータの各種部分を含み得る実施例において、メタデータジェネレータ例２０８は、各部分および／またはそのストリング内の各データ値のメタデータの識別名および／またはタイプを判断する。例えば、バッチタイプと関連付けられたプロセスデータを求めるリクエストにより、データリトリーバ２０６はそのバッチタイプと関連付けられたバッチプロセスデータストリングを取得し得る（「２００８０２２９．１６３４５０；チョコレートチップクッキー；５００ポンドのダークチョコレートチップクッキーを作る；２／２９／２００８；０：２３：３１  ＡＭ；０：５３：４５など）。メタデータジェネレータ例２０８は、そのストリング内のセミコロンの位置に基づいて各種プロセスデータ値を区切る。他の実施例においては、セパレータが、カンマ、ダッシュ、および／またはその他任意の記号またはコードとなり得る。メタデータジェネレータ２０８は、対応するデータ形式に基づいて各プロセスデータ値のメタデータ識別名を判断し、そのメタデータをプロセスデータと関連付ける場合がある。その後メタデータジェネレータ２０８は、プロセスデータストリングおよび判断されたメタデータをグラフィックスエンジン１０２に転送する。
【００５０】
メタデータをデータ表現の生成に使用できるようにメタデータを解析するために、図２のグラフィックスエンジン例１０２は、メタデータパーサ２１２を含む。メタデータパーサ例２１２は、プロセスデータと関連付けられたどのメタデータがデータ表現の生成に関連するか、または役立つかを判断する。余分または無関係なメタデータはメタデータパーサ２１２によって除外され、関連するメタデータが、データ表現を作成するためにデータ表現ジェネレータ２１４に転送される。メタデータパーサ２１２は、現場装置、ルーチン、コントローラ、および／または他のプロセス制御コンポーネントによってプロセスデータと関連付けられているメタデータを解析し得る。例えば、メタデータパーサ２１２は、Ｉ／Ｏカードを特定する一部のメタデータがデータ表現の生成とは無関係であると判断する場合がある。あるいは、メタデータジェネレータ２０８によって生成されたメタデータは、通常はメタデータパーサ２１２によって解析されない。他の実施例において、メタデータパーサ２１２は、プロセスデータがメタデータの対応部分と関連付けられるように、メタデータのストリング内でメタデータを区切る場合がある。メタデータを解析すると、メタデータパーサ２１２は、解析されたメタデータをデータ表現ジェネレータ２１４に転送する。
【００５１】
メタデータに基づいてデータ表現を生成または作成するために、図２のグラフィックスエンジン例１０２はデータ表現ジェネレータ２１４を含む。データ表現ジェネレータ例２１４は、プロセスデータおよび／またはメタデータと関連付けられたタグに基づいて、データマネージャ２０４から受信した対応するプロセスデータを、メタデータパーサ２１２から受信したメタデータと結合する。他の実施例においては、データ表現ジェネレータ２１４が、メタデータおよび関連付けられたプロセスデータをメタデータパーサ２１２から受信する場合がある。これらの他の実施例において、データ表現ジェネレータ２１４は、メタデータパーサ２１２から受信したプロセスデータの値を解決する場合があり、かつ／またはデータマネージャ２０４から受信したプロセスデータと比較して、このプロセスデータの値がメタデータジェネレータ２０８によって変更、不整合化、あるいは再フォーマットされていないことを確認する場合がある。
【００５２】
メタデータおよび関連付けられたプロセスデータを受信すると、データ表現ジェネレータ例２１４は、メタデータのタイプを特定し、特定されたメタデータタイプと少なくとも１つのデータ表現タイプとをメタデータルールデータベース２１６で相互参照し、特定されたメタデータのタイプと関連付けられた少なくとも１つのデータ表現タイプのインスタンスを生成することにより、１つ以上のデータ表現を自動的に生成する。次にデータ表現ジェネレータ例２１４は、メタデータを少なくとも１つのデータ表現タイプのインスタンスの１つ以上のデータフィールドと関連付けることと、そのメタデータと関連付けられたプロセスデータを少なくとも１つのデータ表現タイプのインスタンスのデータフィールドと関連付けることとによってプロセスデータを少なくとも１つのデータ表現タイプの新たに作成されたインスタンスと関連付け、データ表現を作成する。
【００５３】
データ表現ジェネレータ例２１４は、コード名、識別名、および／または記号によってメタデータタイプを特定する。次にデータ表現ジェネレータ２１４は、メタデータルールデータベース２１６にアクセスして、特定されたメタデータのタイプと１つ以上のデータ表現タイプとを相互参照する。メタデータルールデータベース２１６は、ＥＥＰＲＯＭ、ＲＡＭ、ＲＯＭ、および／またはその他任意のタイプのメモリによって実装されてよく、およびデータ表現タイプの識別名と相互参照されるメタデータ識別名または記号によって構成されるメタデータタイプ１つ以上のリストを含み得る。例えば、「Ｃｏｌｕｍｎ」というメタデータ識別名は、テーブルデータ表現タイプと相互参照され得る。他の実施例においては、「Ｔｉｍｅ  Ａｘｉｓ  Ｄａｔａ」というメタデータ識別名が折れ線グラフデータ表現タイプと相互参照され得る。さらに別の例においては、「Ｅｘｐｅｃｔｅｄ  Ｃｏｎｔｒｉｂｕｔｉｏｎ」というメタデータ識別名が棒グラフデータ表現タイプと相互参照され得る。メタデータルールデータベース２１６に格納されるリストは、グラフィックスエンジン１０２のデザイナーおよび／またはグラフィックスデザイナーによって最初に作成されてもよい。さらにこのリストは、プロセス制御エンジニアおよび／またはオペレータによって更新または修正されてもよい。
【００５４】
いくつかの実施例において、データ表現ジェネレータ２１４は、プロセスデータの一部分と関連付けられた複数のメタデータの識別名および／またはタイプを判断する場合があり、その複数のメタデータの識別名および／またはタイプとデータ表現タイプとを相互参照する場合がある。加えて、いくつかの実施例においては、データ表現ジェネレータ２１４が、そのメタデータのタイプおよび／または識別名に基づいて２つ以上の可能なデータ表現タイプを特定する場合がある。これらの実施例において、データ表現ジェネレータ２１４は、ＵＩ提示プロセッサ１２４を介してユーザにデータ表現タイプを選択するよう促す場合がある。あるいは、データ表現ジェネレータ２１４は、２つ以上のデータ表現タイプを生成する場合があり、またはデータ表現データベース２１８にアクセスして、ユーザがメタデータのタイプおよび／または識別名に基づいてデータ表現タイプの設定を指定したかどうかを判断する場合もある。データ表現データベース２１８は、ＥＥＰＲＯＭ、ＲＡＭ、ＲＯＭ、および／またはその他任意のタイプのメモリによって実装され得る。
【００５５】
データ表現タイプを判断すると、データ表現ジェネレータ例２１４は、データ表現タイプテンプレートのコピーを作成することによってデータ表現タイプのインスタンスを生成する。インスタンスとは、プロセスデータとのリンケージを含まないデータ表現のことである。インスタンスからデータ表現を作成するために、データ表現ジェネレータ２１４は、メタデータの識別名をインスタンス内のデータフィールドに一致させることによってメタデータをデータ表現インスタンスと関連付ける。例えば、テーブルデータ表現タイプは、列および行のデータフィールドを持ち得る。データ表現ジェネレータ例２１４は、「Ｃｏｌｕｍｎ」または「Ｒｏｗ」という識別名内のメタデータを特定し、関連付けられたプロセスデータを対応データフィールドとリンクする。データ表現ジェネレータ２１４はまた、データ表現が表示されたときにＵＩ提示プロセッサ１２４がプロセスデータをフォーマットできるように、データフィールド内にメタデータをリンクしているか、含んでいる場合がある。例えば、「Ｔｙｐｅ  Ｄｅｃｉｍａｌ」というメタデータ識別名は、プロセスデータが十進数形式で表示されるように、データフィールドでプロセスデータと関連付けられている場合がある。
【００５６】
データ表現ジェネレータ例２１４は、データフィールドに一致するメタデータと関連付けられたプロセスデータを特定し、そのプロセスデータを一致するデータフィールドに挿入することによってプロセスデータをデータフィールドにリンクする。あるいは、データ表現ジェネレータ２１４は、プロセスデータにアクセスするためにデータ表現表示マネージャ２２０によって使用され得るプロセスデータの位置（ファイルディレクトリの位置など）を挿入してもよい。データ表現ジェネレータ例２１４は、データ表現タイプと関連付けられたプロセスデータのすべてがリンクされるまで、インスタンス内のデータフィールドをリンクする。そのデータ表現タイプのインスタンスのデータフィールドがプロセスデータにリンクされると、データ表現が作成される。
【００５７】
データ表現を作成すると、図２のデータ表現ジェネレータ例２１４は、連結されたプロセスデータおよび関連付けられたメタデータを含むデータ表現のコピーをデータ表現データベース２１８に格納する。ユーザ（オペレータおよび／またはエンジニアなど）が、同じプロセス制御情報および／またはリクエストを選択してデータ表現を参照したときに同じデータ表現が速やかにアクセスされ、表示されるように、コピーが格納される。データ表現データベース２１８は、データ表現用のユーザカスタマイズ情報を格納してもよい。
【００５８】
データ表現ジェネレータ例２１４は、データ表現をデータ表現表示マネージャ２２０に送信することによってデータ表現の表示を開始する。データ表現表示マネージャ例２２０は、データ表現を表示用に描画し、ＵＩ提示プロセッサ１２４にその描画を転送することにより、受信したデータ表現を表示する。データ表現表示マネージャ２２０は、データフィールド内のプロセスデータをグラフィカルデータ表現に適用することに基づいてデータ表現のイメージを生成することによってデータ表現を描画し得る。データフィールドがプロセスデータの位置を含む実施例においては、データ表現表示マネージャ２２０が、プロセスデータ値のデータ位置にアクセスする。
【００５９】
データ表現の描画を受信すると、ＵＩ提示プロセッサ１２４は、ユーザが参照可能なユーザインタフェース（ユーザインタフェース１２６など）にデータ表現を表示する。ＵＩ提示プロセッサ例１２４は、ユーザによって指定された１つ以上のユーザインタフェースにデータ表現を表示する場合がある。いくつかの実施例において、ユーザインタフェースは、例えば、制御インタフェース、グラフィカルインタフェース、ウェブブラウザ、アプリケーション、および／またはデータ表現を表示できるその他任意の表示プログラムを含み得る。
【００６０】
ユーザがデータ表現をカスタマイズしてもよい実施例においては、データ表現表示マネージャ例２２０が、ＵＩ提示プロセッサ１２４からカスタマイズ情報を受信する。このカスタマイズ情報は、データ表現、データ表現と関連付けられたメタデータ、および／またはデータ表現と関連付けられたプロセスデータを含み得る。データ表現は、ユーザがデータ表現の表示を修正すること、データ表現の色を変更すること、データ表現のレイアウトを変更すること、データ表現と関連付けられたグラフィックスを変更すること、データ表現の表示形式を変更すること、データ表現と関連付けられた識別情報を変更することなどによってカスタマイズされ得る。カスタマイズ情報を受信すると、データ表現表示マネージャ２２０は、データ表現ジェネレータ２１４にそのカスタマイズ情報を転送する。
【００６１】
データ表現ジェネレータ例２１４は、関連付けられたデータ表現とカスタマイズ情報を参照し、データ表現データベース２１８にアクセスしてそのカスタマイズをデータ表現と共に格納し得る。加えてデータ表現ジェネレータ２１４は、カスタマイズ情報に基づいてデータ表現を修正する。例えば、データ表現内に表示されているデータのフォントカラーを変更することをユーザが選択すると、データ表現ジェネレータ２１４は、フォントカラーの変更をカスタマイズ情報として受信し、ユーザがフォントカラーの変更を実行するために指定したメタデータおよび／またはプロセスデータを判断し、フォントカラーと関連付けられたメタデータをユーザが選択したフォントカラーに変更することによってフォントカラーの変更をそのプロセスデータに適用する。データ表現がフォントカラーと関連付けられたメタデータおよび／またはメタデータ識別名を含まない実施例においては、データ表現ジェネレータ例２１４が、フォントカラーメタデータを作成し、そのフォントカラーメタデータを対応するプロセスデータと関連付ける。
【００６２】
データ表現を更新してユーザからのカスタマイズ情報を反映すると、データ表現ジェネレータ２１４は、そのデータ表現をデータ表現表示マネージャ２２０に送信する。次にデータ表現表示マネージャ２２０は、そのカスタマイズ情報を用いてデータ表現を再描画し、描画されたデータ表現をユーザインタフェース内に表示するためにＵＩ提示プロセッサ１２４に送信する。
【００６３】
加えて、ユーザがプロセスデータおよび／またはデータ表現の定義を変更することによってデータ表現を修正する実施例においては、ＵＩ提示プロセッサ１２４が、修正されたデータ表現をデータ表現ジェネレータ２１４に送信する。プロセスデータを変更することは、例えば、第２のデータ表現をデータ表現に追加すること、パラメータ（プロセスデータなど）をデータ表現に追加すること、データ表現からパラメータを削除すること、データ表現のパラメータの種類（プロセスデータの種類および／またはメタデータタイプなど）を修正すること、またはデータ表現の視覚化を修正することなども含み得る。他の実施例においては、データ表現に対する変更が、現場装置（図１の現場装置１１０など）、プロセス制御システム（プロセス制御システム１０６など）、および／またはコントローラ（コントローラ１０８など）内のプロセスデータ、メタデータ、および／またはコンポーネントに対する変更に起因する場合がある。
【００６４】
変更情報を受信すると、データ表現ジェネレータ２１４は、プロセスデータおよび／またはメタデータに対する変更に基づいて、メタデータ、プロセスデータ、および／またはデータ表現の定義を修正する。次にデータ表現ジェネレータ２１４は、データ表現データベース２１８に修正されたデータ表現を格納し、修正されたデータ表現をユーザインタフェース内に表示するためにデータ表現表示マネージャ２２０に送信する。このようにして、データ表現ジェネレータ２１４は、ユーザおよび／またはシステムによって指定されたプロセスデータおよび／またはメタデータに対するいかなる変更も、影響を受けたデータ表現で自動的に反映されるようにする。
【００６５】
グラフィックスエンジン１０２およびデータサーバ１０４を実装する方法例が図２に描かれているが、図２に示すインタフェース、データ構造、要素、プロセス、および／または装置の１つ以上が、その他任意の方法で結合、分割、再編成、省略、除去、および／または実装され得る。例えば、図２に示す選択レシーバ例２０２、データマネージャ例２０４、データリトリーバ例２０６、メタデータジェネレータ例２０８、メタデータのタイプデータベース例２１０、メタデータパーサ例２１２、データ表現ジェネレータ例２１４、メタデータルールデータベース例２１６、データ表現データベース例２１８、および／またはデータ表現表示マネージャ例２２０は、例えば、１つ以上のコンピューティング装置および／またはコンピューティングプラットフォーム（図１３の処理プラットフォーム例Ｐ１０など）によって実行される機械アクセスまたは読み取り可能な命令を使用して、別々に、および／または任意の組み合わせで実装され得る。
【００６６】
さらに、選択レシーバ例２０２、データマネージャ例２０４、データリトリーバ例２０６、メタデータジェネレータ例２０８、メタデータのタイプデータベース例２１０、メタデータパーサ例２１２、データ表現ジェネレータ例２１４、メタデータルールデータベース例２１６、データ表現データベース例２１８、データ表現表示マネージャ例２２０、および／またはさらに一般的にはグラフィックスエンジン１０２および／またはデータサーバ１０４は、ハードウェア、ソフトウェア、ファームウェア、および／またはハードウェア、ソフトウェア、および／またはファームウェアの任意の組み合わせによって実装され得る。そのため、例えば、選択レシーバ例２０２、データマネージャ例２０４、データリトリーバ例２０６、メタデータジェネレータ例２０８、メタデータのタイプデータベース例２１０、メタデータパーサ例２１２、データ表現ジェネレータ例２１４、メタデータルールデータベース例２１６、データ表現データベース例２１８、データ表現表示マネージャ例２２０、および／またはさらに一般的にはグラフィックスエンジン１０２および／またはデータサーバ１０４のいずれも、１つ以上の回路、プログラマブルプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、プログラマブル論理デバイス（ＰＬＤ）、および／またはフィールドプログラマブル論理デバイス（ＦＰＬＤ）などによって実装できる。
【００６７】
図３は、ユーザインタフェース３０２を介して表示されるバッチベースのプロセス制御システムのデータ表現例３００を示す。バッチベースのプロセス制御システムは、図１のプロセス制御システム１０６を含み得る。本実施例においては、プロセス制御システムがクッキーを製造する場合があり、ここでは各タイプのクッキーが、異なるバッチ（チョコレートチップ、ピーナッツバター、オートミールレーズン、ジンジャースナップなど）と関連付けられている。ユーザインタフェース例３０２は、データ表現３００を含む表示領域３０４を含む。加えて、ユーザインタフェース３０２はメニューバー３０６も含む。本実施例においては、メニューバー３０６のステータス項目３０８が選択され、データ表現３００用の表示領域３０４を開く。他の実施例においては、メニューバー３０６に含まれるメニュー選択項目が少ない場合または多い場合がある。加えて、メニューバー３０６は、プロセスデータを表示、管理、修正、カスタマイズ、および／または監視するためのアイコンおよび他の選択可能な機能を含み得る。
【００６８】
ユーザインタフェース例３０２は、情報選択バー３１０も含む。情報選択バー３１０から、オペレータおよび／またはエンジニアは表示領域３０４内に表示するプロセス制御情報を指定することができる。本実施例においては、オペレータが、プロセス制御情報（バッチ情報など）の名前を入力することによってプロセス制御情報を指定し得る。他の実施例においては、オペレータおよび／またはエンジニアが、ファイルディレクトリを閲覧すること、ファイル名を選択すること、概略図の一部分を強調表示すること、機能ダイアグラム内の機能ボックスを強調表示することなどによってプロセス制御情報を選択し得る。
【００６９】
オペレータおよび／またはエンジニアが情報選択バー３１０内でプロセス制御情報を入力すると、図１および／または図２のグラフィックスエンジン１０２が、「バッチ情報」というプロセス制御情報と関連付けられたプロセスコンポーネントを特定する。グラフィックスエンジン１０２は、データサーバ１０４を使用して、関連付けられたプロセスデータを取得し、メタデータを生成する。図３の実施例においては、プロセスデータが、バッチごとにデータストリングまたはデータ語の形態であり得る。例えば、データ表現３００の第１の行（チョコレートチップクッキーバッチなど）のプロセスデータは、「２００８０２２９．１６３４５０；チョコレートチップクッキー；５００ポンドのダークチョコレートチップクッキーを作る；２／２９／２００８；１０：２３：３１  ＡＭ；０：５３：４５」というデータストリングとして構成され得る。他の実施例においては、プロセスデータがプロセスデータのタイプによって組成され得る。
【００７０】
さらに、プロセスデータは、バッチＩＤ、レシピ、説明、開始時刻、経過時間の各ヘッダと関連付けられたメタデータを含むメタデータと関連付けられている場合もある。バッチＩＤヘッダ下のプロセスデータは、例えば、「＜Ｎａｍｅ  Ｂａｔｃｈ  ＩＤ＞」、「＜Ｌｅｎｇｔｈ  １４＞」、「＜Ｔｙｐｅ  Ｓｔｒｉｎｇ＞」、「＜ｃｏｌｕｍｎ＞」などを含むメタデータの識別名および／またはタイプと関連付けられている場合がある。同様に、レシピヘッダ下のプロセスデータは、例えば、「＜Ｎａｍｅ  Ｒｅｃｉｐｅ＞」、「＜Ｌｅｎｇｔｈ  ２５＞」、「＜Ｔｙｐｅ  Ｓｔｒｉｎｇ＞」、「＜ｃｏｌｕｍｎ＞」などを含むメタデータの識別名および／またはタイプと関連付けられている場合がある。同様に、他のヘッダの下のプロセスデータは、メタデータの識別名および／またはタイプと関連付けられている場合がある。
【００７１】
図１および／または図２のグラフィックスエンジン１０２は、プロセスデータと関連付けられたメタデータがテーブルデータ表現タイプと相互参照されていると判断することによって図２のデータ表現３００を生成する。次にグラフィックスエンジン１０２は、どのプロセスデータがテーブルデータ表現タイプのインスタンス内のどのデータフィールドに対応するかを判断する。本実施例において、グラフィックスエンジン１０２（データ表現ジェネレータ２１４など）は、５つの異なる列に整理できる５つの異なるタイプのプロセスデータが存在するとメタデータから判断し得る。グラフィックスエンジン１０２は、各列の表題として、「＜Ｎａｍｅ  ／Ｖａｌｕｅ／  ＞」（「＜Ｎａｍｅ  Ｂａｔｃｈ  ＩＤ＞」など）というメタデータ識別名を使用して、各プロセスデータの種類を列に割り当てる。グラフィックスエンジン１０２はまた、プロセスデータと関連付けられたメタデータを列の識別名に一致させることよって各データフィールド内のプロセスデータをリンクする。さらにグラフィックスエンジン１０２は、各行のプロセスデータが同じデータストリングおよび／またはデータ語と関連付けられるようにプロセスデータを配列してもよい。次にグラフィックスエンジン１０２は、プロセスデータを対応データフィールドにリンクし、それによって生成されるテーブルデータ表現３００を描画し、その描画をＵＩ提示プロセッサ１２４に送信して、ユーザインタフェース３０２経由でデータ表現３００を表示する。
【００７２】
さらに経過時間と関連付けられたプロセスデータが時間の経過に伴って周期的に変更される場合がある。このプロセスデータに関しては、データサーバ１０４が、経過時間処理データを取得するためにコントローラ１０８をサブスクライブしてもよい。その後、経過時間処理データが変更されると、データ表現３００は、経過時間処理データの最新の値を表示することができる。
【００７３】
図４は、データ表現４００を作成するためにプロセスデータ（装置および段階と関連付けられたプロセスデータなど）が追加された図３のデータ表現例３００を示す。図４の実施例においては、図３のデータ表現３００が装置および段階のプロセスデータを含むようにオペレータおよび／またはエンジニアが指定してもよい。他の実施例においては、プロセス制御システムに対する変更により、装置および段階と関連付けられたプロセスデータおよび／またはメタデータが「バッチ情報」というプロセス制御情報に追加される場合がある。これらの他の実施例において、グラフィックスエンジン１０２は、コントローラ１０８から変更の通知を受信し得る。
【００７４】
変更を受信すると、データサーバ１０４は、装置および段階プロセスデータのメタデータを判断し、この情報をグラフィックスエンジン１０２に転送する。次にグラフィックスエンジン１０２は、図３のデータ表現３００にアクセスし、この装置および段階プロセスデータと関連付けられたメタデータが列データフィールドに対応すると判断し、装置列および段階列を作成する。次にグラフィックスエンジン１０２は、適切なバッチＩＤを取得するために装置および段階プロセスデータをデータ表現４００にリンクし、ユーザインタフェース３０２内に表示するためにデータ表現４００を再描画する。本実施例においては、装置および段階プロセスデータが、バッチデータのデータ語および／またはデータストリング内に含まれている可能性がある。あるいは、装置および段階プロセスデータが、装置および段階プロセスデータと関連付けられたバッチＩＤを特定するメタデータを含み得る。
【００７５】
図５は、データ表現５００を作成するためにプロセス制御オペレータによってカスタマイズ情報が実装された図４のデータ表現例４００を示す。本実施例においては、オペレータが、メニューバー３０６のツールタブ５０２を選択し、テーブル編集ボックス５０６を表示するためのカスタマイズアイコン５０４を選択することによってカスタマイズ情報を指定した。テーブル編集ボックス５０６を使用して、オペレータは、データ表現５００のテキストのフォントタイプをＴｉｍｅｓ  Ｎｅｗ  Ｒｏｍａｎに変更し、バッチＩＤヘッダと関連付けられたプロセスデータのフォントサイズを上げ、開始時刻ヘッダおよび経過時間ヘッダと関連付けられたプロセスデータのフォントサイズを下げ、レシピヘッダおよび装置ヘッダと関連付けられたプロセスデータのフォントを太字化することができる。加えて、オペレータは、開始時列および経過時間列をバッチＩＤ列の隣に移動することができる。他の実施例においては、各種編集ボックスが、あるタイプのデータ表現と関連付けられている編集および／またはカスタマイズ機能を含み得る。例えば、棒グラフデータ表現は、グラフの棒を対象とするカスタマイズ機能を含み得る。
【００７６】
オペレータによって選択されたカスタマイズ情報を受信すると、図１および／または図２のグラフィックスエンジン１０２は、図４のデータ表現４００を更新し、カスタマイズ情報で指定された変更を反映して、データ表現５００を作成する。加えて、グラフィックスエンジン１０２は、カスタマイズ情報およびデータ表現５００をデータ表現データベース２１８に格納する。いくつかの実施例においては、オペレータがカスタマイズを選択し、実行しているときにグラフィックスエンジン１０２がデータ表現５００を更新する。他の実施例においては、グラフィックスエンジン１０２が、選択されたカスタマイズ情報を受信し、カスタマイズ情報に基づいてデータ表現５００を一度に修正する場合がある。
【００７７】
図６は、図３から図５のバッチ２００８０２２９．１６３４５０と関連する変量に対する変数の説明可能な寄与度（explained contribution）のデータ表現例６００を示す。本実施例においては、オペレータが、情報選択バー３１０に情報を入力することによって「バッチ２００８０２２９．１６３４５０  変数の寄与度」というプロセス制御情報を選択する。変数の説明可能な寄与度に関するデータ表現６００は、変数の寄与度量および／または平均的なバッチデータからバッチの変量に対するバッチ処理のコンポーネントを示す場合がある。さらに、変数の説明可能な寄与度は、バッチ処理内のプロセス変量から判断され得る変数の寄与度を定義するものであってよい。
【００７８】
このプロセス制御情報を受信すると、図１および／または図２のグラフィックスエンジン１０２は、プロセス制御情報と関連付けられたプロセス制御コンポーネントを判断し、対応するプロセスデータをデータサーバ１０４から取得する。さらにデータサーバ例１０４は、取得されたプロセスデータと関連付けられたメタデータを判断する。本実施例においては、データサーバ１０４が、各変数と関連付けられたメタデータ（「＜Ｖａｒｉａｂｌｅ  Ｎａｍｅ  Ｍｅｄｉａ  Ｆｌｏｗ＞」、「＜Ｖａｒｉａｂｌｅ  Ｎａｍｅ  Ｍｉｘｅｒ  Ｔｅｍｐ＞」、「＜Ｖａｒｉａｂｌｅ  Ｎａｍｅ  Ｗａｔｅｒ  Ｔｅｍｐ＞」など）を判断する場合がある。メタデータは、プロセスデータの形式（「＜Ｔｙｐｅ  Ｄｅｃｉｍａｌ＞」および／または「＜Ｌｅｎｇｔｈ  ４＞」など）も含み得る。
【００７９】
グラフィックスエンジン例１０２は、メタデータが棒グラフデータ表現タイプと相互参照されていると判断し、棒グラフデータ表現タイプのインスタンスを作成する場合がある。グラフィックスエンジン１０２は、データ表現６００を作成するためにインスタンス内のプロセスデータをデータフィールドにリンクする目的でこのメタデータを使用する場合がある。次にグラフィックスエンジン１０２は、データ表現６００を図６のユーザインタフェース３０２内に表示するために描画する。
【００８０】
図７は、データ表現７００を作成するために図３から図５のバッチと関連付けられた変数の説明不能な寄与度（unexplained contribution）を含む図６のデータ表現例６００を示す。本実施例においては、図１および／または図２のコントローラ１０８におけるアルゴリズムおよび／またはルーチンに対する更新により、「バッチ２００８０２２９．１６３４５０  変数の寄与度」というプロセス制御情報と関連付けられた変量に対するバッチ変数の説明不能な寄与度の計算が再定義および／または追加される場合がある。変数の説明不能な寄与度は、バッチ処理内でプロセスバリエーション変量から判断できない変数の寄与度を定義していてよい。
【００８１】
図１および／または図２のグラフィックスエンジン１０２および／またはデータサーバ１０４が変数の寄与度の計算に対する更新または修正の合図を受信すると、データサーバ１０４が、「２００８０２２９．１６３４５０  変数の寄与度」というプロセス制御情報と関連付けられたプロセスデータおよび／またはメタデータを取得する。次にデータサーバ１０４は、変数の説明不能な寄与度プロセスデータを特定するメタデータを含むプロセスデータと関連付けられたメタデータを判断し得る。次にデータサーバ１０４は、そのメタデータおよびプロセスデータをグラフィックスエンジン１０２に転送する。グラフィックスエンジン１０２は、メタデータおよびプロセスデータと図６のデータ表現６００のデータフィールドとを相互参照して、変数の説明不能な寄与度プロセスデータがどのように表示されるかを判断する。本実施例においては、グラフィックスエンジン１０２は、説明不能および説明可能な変数の寄与度データを変数ごとに１本の複合バー内に表示すると判断し得る。次にグラフィックスエンジン１０２は、プロセスデータを適切なデータフィールドにリンクしてデータ表現７００を作成し、データ表現７００をユーザインタフェース３０２内で表示するために描画する。このようにして、コントローラ１０８におけるアルゴリズムまたはルーチンに対する更新または変更が、対応するデータ表現７００で自動的に反映されるため、オペレータは新しいデータ表現を作成する必要がない。
【００８２】
図８は、プロセス制御システムの一部分（図１のプロセス制御システム１０６の一部分など）のステータスのデータ表現例８００を示す。データ表現例８００は、ミキサー８０６に連結されているポンプ８０４に連結されたタンク８０２を示す。データ表現８００は、タンクのステータス（例：２３．４％充填）、タンク８０２とポンプ８０４との間の接続のステータス（例：開）、ポンプ８０４のステータス（例：速度２．５グラム／秒）、ポンプ８０４とミキサー８０６との間の接続のステータス（例：開）、ミキサー８０６のステータス（例：４００回転／秒）、およびミキサー８０６からの出力のステータス（例：速度２．５グラム／秒）を含む。
【００８３】
オペレータおよび／またはエンジニアは、情報選択バー３１０に「ミキサー概要」プロセス制御情報を入力することによってデータ表現８００を作成してもよい。次に図１および／または図２のグラフィックスエンジン１０２が、選択されたプロセス制御情報と関連付けられたプロセス制御コンポーネント（タンク８０２、ポンプ８０４、ミキサー８０６など）を特定する。次にグラフィックスエンジン１０２は、これらのコンポーネントを使用して、これらのコンポーネントと関連付けられたプロセスデータを、図１および／または図２のデータサーバ１０４および／またはコントローラから取得する。さらにデータサーバ１０４は、取得されたプロセスデータと関連付けられたメタデータを判断する。
【００８４】
図８の実施例において、タンク８０２のメタデータは、「＜Ｄｅｖｉｃｅ  Ｔａｎｋ＞」、「＜Ｃｏｎｎｅｃｔｉｏｎ  Ｐｕｍｐ＞」、および／または「＜Ｓｔａｔｕｓ  Ｐｅｒｃｅｎｔａｇｅ＞」を含み得る。同様に、ポンプ８０４のメタデータは、「＜Ｄｅｖｉｃｅ  Ｐｕｍｐ＞」、「＜Ｃｏｎｎｅｃｔｉｏｎ  Ｔａｎｋ＞」、「＜Ｃｏｎｎｅｃｔｉｏｎ  Ｍｉｘｅｒ＞」、および／または「＜Ｓｔａｔｕｓ  Ｒａｔｅ＞を含み得る。同様に、ミキサー８０６のメタデータは、「＜Ｄｅｖｉｃｅ  Ｍｉｘｅｒ＞」、「＜Ｃｏｎｎｅｃｔｉｏｎ  Ｐｕｍｐ＞」、「＜Ｃｏｎｎｅｃｔｉｏｎ  Ｏｕｔ＞」、および／または「＜Ｓｔａｔｕｓ  Ｒｅｖｏｌｕｔｉｏｎｓ＞」を含み得る。グラフィックスエンジン例１０２は、このメタデータを使用してデータ表現タイプを判断する。例えば、グラフィックスエンジン１０２は、タンク８０２のメタデータに基づいてタンクデータ表現タイプを、ポンプ８０４のメタデータに基づいてポンプデータ表現タイプを、そしてミキサー８０６のメタデータに基づいてミキサーデータ表現タイプを選択し得る。
【００８５】
次にグラフィックスエンジン１０２は、タンク８０２、ポンプ８０４、およびミキサー８０６のデータ表現タイプの各インスタンスのデータフィールドに適切なプロセスデータをリンクし得る。グラフィックスエンジン１０２はまた、「＜Ｃｏｎｎｅｃｔｉｏｎ＞」メタデータが、タンク８０２、ポンプ８０４、およびミキサー８０６のデータ表現が結合されることを表すとも判断し得る。次にグラフィックスエンジン１０２は、データ表現を結合して、データ表現８００を作成する。加えて、グラフィックスエンジン１０２は、データ表現８００を、ユーザインタフェース３０２を介して表示するために描画する。
【００８６】
図９は、図８のデータ表現例８００にステータスチャートデータ表現９００が追加され、ユーザインタフェース３０２内に表示された状態を示す。本実施例においては、オペレータおよび／またはエンジニアが、データ表現８００によって通常提供される場合よりも多くのプロセスデータを提供するために、データ表現９００の追加を指定してもよい。オペレータは、ツールタブ５０２を選択し、データ表現アイコン９０４を選択することによってステータスチャートデータ表現９００を表示領域３０４に加えればよい。データ表現アイコン９０４を選択することにより、オペレータは、情報選択バー３１０に「＋  ステータスチャート」と入力してデータ表現９００を表示領域に追加することができる。
【００８７】
「ステータスチャート」プロセス制御情報を受信すると、図１および／または図２のグラフィックスエンジン例１０２が、「Ｓｔａｔｕｓ  Ｃｈａｒｔ」プロセス制御情報と関連付けられたプロセス制御コンポーネントを判断する。次にデータサーバ１０４は、判断されたプロセス制御コンポーネントと関連付けられたプロセスデータを取得し、取得されたプロセスデータのメタデータを判断する。本実施例においては、「ステータスチャート」のメタデータが、「「＜Ｔｉｔｌｅ  ＣＴＲＬ  ＬＰ０１  Ｏｖｅｒｖｉｅｗ＞」、「＜Ｎａｍｅ  Ｓｔａｔｕｓ＞」、「＜Ｎａｍｅ  Ｔｉｍｅ＞」、「＜Ｎａｍｅ  Ｆｌｏｗ＞」、および「＜Ｎａｍｅ  Ｆａｕｌｔｓ＞」を含み得る。プロセスデータは、メタデータを指定しているデータ型および／またはデータ長と関連付けられている場合もある。
【００８８】
次にグラフィックスエンジン１０２は、判断されたメタデータとチャートデータ表現タイプとを相互参照し、メタデータに基づいてどのプロセスデータがチャートデータ表現タイプのインスタンス内にあるどのデータフィールドと関連付けられているかを特定し、プロセスデータをデータフィールドにリンクしてデータ表現９００を作成する。さらにグラフィックスエンジン１０２は、データ表現９００を、ユーザインタフェース３０２を介して表示するために描画する。加えて、グラフィックスエンジン１０２は、ステータスチャートデータ表現９００をデータ表現８００と関連付け、データ表現データベース２１８内にこの関連付けを格納することによってデータ表現８００を修正し得る。このようにして、オペレータが後でデータ表現８００を参照することを選択した場合に、ステータスチャートデータ表現９００もユーザインタフェース３０２を介して表示されるため、オペレータがステータスチャートデータ表現９００を表示することを明示的に指定する必要がない。
【００８９】
図１０、図１１Ａ、図１１Ｂ、および図１２は、図１および／または図２の選択レシーバ例２０２、データマネージャ例２０４、データリトリーバ例２０６、メタデータジェネレータ例２０８、メタデータのタイプデータベース例２１０、メタデータパーサ例２１２、データ表現ジェネレータ例２１４、メタデータルールデータベース例２１６、データ表現データベース例２１８、データ表現表示マネージャ例２２０、および／またはさらに一般的にはグラフィックスエンジン１０２およびまたはデータサーバ１０４を実装するために実行され得る方法例のフローチャートである。図１０、図１１Ａ、図１１Ｂ、および／または図１２の方法例は、プロセッサ、コントローラ、および／またはその他任意の適切な処理装置によっても実行され得る。例えば、図１０、図１１Ａ、図１１Ｂ、および／または図１２の方法例は、フラッシュメモリ、ＣＤ、ＤＶＤ、フロッピー（登録商標）ディスク、ＲＯＭ、ＲＡＭ、プログラマブルＲＯＭ（ＰＲＯＭ）、電子的にプログラム可能なＲＯＭ（ＥＰＲＯＭ）、電子的に消去可能なＰＲＯＭ（ＥＥＰＲＯＭ）、光記憶ディスク、光記憶装置、磁気記憶装置ディスク、磁気記憶装置、および／または方法またはデータ構造の形態でプログラムコードおよび／または命令を担持または格納する目的で使用でき、プロセッサ、汎用または特殊用途のコンピュータ、またはプロセッサを有する他のマシン（図１３に関連して後述するプロセッサプラットフォーム例Ｐ１０など）によってアクセスできるその他任意のメディアなど、任意の有形コンピュータ可読メディアに格納されている符号化された命令で具現化され得る。上記の組み合わせも、コンピュ−タ可読メディアの範囲内に含まれる。
【００９０】
方法は、例えば、プロセッサ、汎用コンピュータ、特殊用途コンピュータ、または特殊用途処理機に１つ以上の特定の方法を実行させる命令および／またはデータを含む。あるいは、図１０、図１１Ａ、図１１Ｂ、および図１２の方法例の一部分もしくは全部は、ＡＳＩＣ、ＰＬＤ、ＦＰＬＤ、個別論理、ハードウェア、ファームウェアなどの任意の組み合わせを用いて実装され得る。
【００９１】
また、図１０、図１１Ａ、図１１Ｂ、および図１２の方法例の一部または全部が代わりに手動操作によって実装されたり、ファームウェア、ソフトウェア、個別論理、および／またはハードウェアなどの任意の組み合わせなど、前述の技術の任意の組み合わせとして実装されたりする場合もある。さらに、図１０、図１１Ａ、図１１Ｂ、および図１２の動作例を実装するその他多数の方法が用いられる場合もある。例えば、ブロックの実行順序が変更される場合があり、かつ／または記載されているブロックの１つ以上が変更、除去、再分割、または結合される場合がある。加えて、図１０、図１１Ａ、図１１Ｂ、および／または図１２の方法例の一部または全部が、例えば、個別の処理スレッド、プロセッサ、デバイス、個別論理、回路などによって順次および／または並行して実行される場合もある。
【００９２】
図１０の方法例１０００は、選択されたプロセス制御情報に基づいて動的なデータ表現を生成する。複数の方法例１０００が、複数のデータ表現を生成するために、並行または連続して実行され得る。加えて、複数の用途がプロセス制御情報を選択する実施例においては、方法例１０００がユーザごとに実行されたり、単一の方法例１０００がユーザ全員を対象に実行されたりする場合もある。
【００９３】
図１０の方法例１０００は、ユーザからプロセス制御情報の選択を（図２の選択レシーバ２０２などを介して）受信することから始まる（ブロック１００２）。方法例１０００は、選択されたプロセス制御情報と関連付けられたプロセスデータを（データマネージャ２０４などを介して）特定する（ブロック１００４）。このプロセスデータは、プロセス制御情報と関連付けられている可能性があるプロセス制御コンポーネントから判断および／または特定されてもよい。次に方法例１０００は、判断されたプロセスデータを（データリトリーバ２０６などを介して）読み込みおよび／またはサブスクライブする（ブロック１００６）。次に方法例１０００は、データサーバ１０４でこのプロセスデータを受信する（ブロック１００８）。
【００９４】
図１０の方法例１０００は、受信プロセスデータと関連付けられたメタデータを（メタデータジェネレータ２０８などを介して）判断することによって処理を続行する（ブロック１０１０）。方法例１０００は、プロセスデータと関連付けられており、かつ／またはプロセスデータ内に組み込まれている可能性のあるメタデータを判断する場合があり、あるいはプロセスデータのタイプおよび／または形式に基づいてメタデータを作成および／または生成する場合がある。次に方法例１０００は、メタデータおよび関連付けられたプロセスデータをグラフィックスエンジン１０２に転送する（ブロック１０１２）。次に方法例１０００は、（メタデータパーサ２１２などを介して）メタデータを解析する（ブロック１０１４）。グラフィックスエンジン１０２がデータサーバ１０４内に含まれる他の実施例においては、方法例１０００が、メタデータを判断すると同時にメタデータを解析する場合がある。
【００９５】
メタデータを解析すると、方法例１０００は、関連付けられたメタデータに基づいて（データ表現ジェネレータ２１４などを介して）データ表現を生成し、プロセスデータを表示する（ブロック１０１６）。方法例１０００は、表示されるメタデータおよび／またはプロセスデータのグループおよび／または部分ごとにデータ表現を生成する場合がある。方法例１０００がデータ表現を生成する方法に関するさらに詳しい説明を、図１１Ａおよび１１Ｂ内で合わせて後述する。データ表現を生成した後、方法例１０００は、ユーザインタフェースを介して、（ＵＩ提示プロセッサ１２４などを介して）データ表現を描画し（データ表現表示マネージャ２２０などを介して）表示する（ブロック１０１８）。
【００９６】
次に方法例１０００は、表示されたデータ表現のいずれかをユーザがカスタマイズしたかどうかを判断する（ブロック１０２０）。方法例１０００は、ＵＩ提示プロセッサ１２４からカスタマイズ情報を受信することによって、および／またはデータインタフェースをポーリングしてデータ表現が変更および／または修正されたかどうかを判断することによって、ユーザがデータ表現をカスタマイズしたかどうか判断し得る。方法例１０００は、ユーザが少なくとも１つのデータ表現もカスタマイズしていないと判断すると、別のワークステーションで同じユーザおよび／または異なるユーザからプロセス制御情報の選択を受信することに戻る（ブロック１００２）。
【００９７】
ただし方法例１０００は、ユーザが少なくとも１つのデータ表現（ブロック１０２０）をカスタマイズしたと判断すると、カスタマイズ情報に基づいてデータ表現を表示する（ブロック１０２２）。加えて、方法例１０００は、関連付けられたデータ表現、データ表現タイプ、および／またはプロセスデータを有するカスタマイズ情報を（データ表現ジェネレータ２１４などを介して）データ表現データベース２１８に格納する（ブロック１０２４）。次に方法例１０００は、別のワークステーションで同じユーザおよび／または異なるユーザからプロセス制御情報の選択を受信することに戻る場合がある（ブロック１００２）。
【００９８】
図１１Ａおよび１１Ｂの方法例１０１６は、図１０に記載のとおり、受信メタデータに基づいてデータ表現を生成する。方法例１０１６は、図２のデータ表現ジェネレータ２１４によって実装および／または実行され得る。複数の方法例１０１６は、複数のデータ表現を生成するために、並行または連続して実行され得る。加えて、メタデータの複数部分が受信される実施例においては、方法例１０１６が部分ごとに実装されるか、あるいは単一の方法例１０１６がすべての部分に対して実装され得る。
【００９９】
図１１Ａの方法例１０１６は、メタデータを受信することから始まる（ブロック１１０２）。メタデータは、図２のメタデータパーサ２１２から送信され得る。次に方法例１０１６は、受信メタデータのタイプを特定する（ブロック１１０４）。メタデータのタイプは、メタデータ内に含まれるメタデータ識別名、コード語、および／または記号によって特定され得る。次に方法例１０１６は、図２のメタデータルールデータベース２１６で、各メタデータタイプとデータ表現タイプとを相互参照する（ブロック１１０６）。単一のデータ表現内に表示されるように指定されたプロセスデータの一部分と複数のメタデータタイプが関連付けられている実施例においては、方法例１０１６が、複数のメタデータタイプと一致および／または相互参照しているデータ表現タイプを選択する場合がある。
【０１００】
次に図１１Ａの方法例１０１６は、一致したデータ表現タイプをコンパイルし（ブロック１１０８）、プロセスデータの同一部分と関連付けられた１つよりも多くのデータ表現タイプが存在するかどうかを判断する（ブロック１１１０）。そのプロセスデータに対応する１つよりも多くのデータ表現タイプが存在し得る場合、図１１Ｂの方法例１０１６はデータ表現データベース２１８にアクセスし、どのデータ表現タイプが選択されるべきかを示す事前カスタマイズ情報が存在するかどうかを判断する（ブロック１１１２）。事前カスタマイズ情報がなく、かつ／または選択すべきデータ表現タイプを指定し得る他の情報もない場合、方法例１０１６は、ユーザ（オペレータまたはエンジニアなど）にいずれかのデータ表現タイプを選択するよう促す（ブロック１１１４）。次に方法例１０１６は、明示されたデータ表現タイプを選択する（ブロック１１１６）。ただし、事前カスタマイズ情報が存在する場合（ブロック１１１２）、方法例１０１６は、明示されたデータ表現タイプを自動的に選択する（ブロック１１１６）。他の実施例においては、方法例１０１６が、一致するすべてのデータ表現タイプを選択する場合がある。
【０１０１】
図１１Ａの方法例１０１６は、選択されたデータ表現タイプごとにデータ表現のインスタンスを生成することによって処理を続行する（ブロック１１１８）。加えて、方法例１０１６は、そのプロセスデータのデータ表現タイプが１つしかないと判断すると（ブロック１１１０）、そのデータ表現タイプのデータ表現のインスタンスを生成する（ブロック１１１８）。次に方法例１０１６は、生成されたデータ表現タイプの各インスタンス内にあるデータフィールドに対応するプロセスデータを特定する（ブロック１１２０）。プロセスデータを特定することは、データ表現に一致するメタデータとどのプロセスデータが関連付けられているかを判断することを含み得る。加えて、プロセスデータを特定することは、各データフィールドとどのプロセスデータが関連付けられているかを判断することを含み得る。次に方法例１０１６は、プロセスデータを受信し、そのプロセスデータをデータ表現タイプのインスタンスにある対応データフィールドと関連付けてデータ表現を作成する。プロセスデータを関連付けることは、そのプロセスデータをデータフィールドに挿入すること、および／またはプロセスデータの位置を適切なデータフィールドに挿入することによってプロセスデータをリンクすることを含み得る。データ表現を生成すると、方法例１０１６は終了する。
【０１０２】
図１２の方法例１２００は、メタデータおよび／またはプロセスデータに対する変更に基づいて動的にデータ表現を更新する。複数の方法例１２００は、複数のデータ表現を更新するために、並行または連続して実行され得る。加えて、複数の用途がメタデータおよび／またはプロセスデータを選択する実施例においては、方法例１２００がユーザごとに実装されたり、単一の方法例１２００がユーザ全員を対象に実装されたりする場合もある。
【０１０３】
図１２の方法例１２００は、ユーザインタフェースを介して表示される１つ以上のデータ表現と関連付けられているメタデータおよび／またはプロセスデータに対する変更を（データ表現表示マネージャ２２０などを介して）受信することから始まる（ブロック１２０２）。変更されたメタデータおよび／またはプロセスデータは、現場装置、コントローラ、ルーチン、および／またはプロセス制御システムに対する変更に起因する場合がある。図１２の実施例においては、変更されたメタデータおよび／またはプロセスデータの明示が図１および図２のコントローラ１０８によって送信される場合がある。あるいは、ユーザが、表示されているデータ表現を修正することによって、および／またはメタデータの定義および／またはプロセスデータを変更することによってプロセスデータおよび／またはメタデータを変える場合もある。本実施例においては、変更されたメタデータおよび／またはプロセスデータの明示がＵＩ提示プロセッサ１２４によって送信される場合がある。他の実施例においては、方法例１２００が、コントローラ１０８および／またはＵＩ提示プロセッサ１２４をポーリングして、データ表現に影響を及ぼす可能性のあるメタデータおよび／またはプロセスデータに対する変更の有無を確認する場合がある。
【０１０４】
次に図１２の方法例１２００は、メタデータまたはプロセスデータに変更があったかどうかを判断する（ブロック１２０４）。プロセスデータに変更があった場合、方法例１２００は、変更されたプロセスデータと関連付けられたメタデータを（メタデータジェネレータ２０８および／またはデータ表現ジェネレータ２１４などを介して）生成する（ブロック１２０６）。次に方法例１２００は、新たに生成されたメタデータおよび変更されたプロセスデータをグラフィックスエンジン１０２に転送して、影響を受けたデータ表現を更新する（ブロック１２０８）。方法例１２００は、メタデータを解析する場合もある（ブロック１２１０）。
【０１０５】
メタデータを解析すると、方法例１２００は、関連付けられたメタデータに基づいて、変更されたプロセスデータと関連付けられたデータ表現を生成および／または修正する（ブロック１２１４）。方法例１２００は、変更されたプロセスデータを生成済みのデータ表現に一致させることによってデータ表現を特定する。データ表現を修正した後、方法例１２００は、データ表現を描画および／または更新し、ユーザインタフェースを介してそのデータ表現を表示する（ブロック１２１４）。
【０１０６】
次に方法例１２００は、修正されたデータ表現のいずれかでもユーザがカスタマイズしたかどうかを判断する（ブロック１２１６）。方法例１２００は、ユーザが少なくとも１つの修正されたデータ表現もカスタマイズしていないと判断すると、別のワークステーションで同じユーザおよび／または異なるユーザからメタデータおよび／またはプロセスデータに対する変更の選択を受信することに戻る（ブロック１２０２）。
【０１０７】
ただし、方法例１２００は、ユーザが少なくとも１つのデータ表現をカスタマイズしたと判断すると（ブロック１２１６）、カスタマイズ情報を、関連付けられたデータ表現、データ表現タイプ、および／またはプロセスデータと共にデータ表現データベース２１８に格納する（ブロック１２１８）。加えて、方法例１２００は、カスタマイズおよび／または修正されたデータ表現を表示する（ブロック１２２０）。次に方法例１２００は、別のワークステーションで同じユーザおよび／または異なるユーザのいずれかからメタデータおよび／またはプロセスデータに対する変更の選択を受信することに戻る場合がある（ブロック１２０２）。
【０１０８】
方法例１２００は、メタデータで変更があったと判断すると（ブロック１２０４）、変更されたメタデータと関連付けられたプロセス制御情報および／またはコンポーネントを特定する（ブロック１２３０）。方法例１２００は、変更されたメタデータを解析する場合もある（ブロック１２３２）。次に方法例１２００は、対応する変更されたメタデータに基づいて１つ以上のデータ表現を特定し、修正する（ブロック１２３４）。次に方法例１２００は、１つ以上の修正されたデータ表現の表示を描画および／または更新する（ブロック１２３６）。次に方法例１２００は、修正されたデータ表現のいずれかをユーザがカスタマイズしたかどうかを判断する（ブロック１２１６）。方法例１２００は、ユーザが少なくとも１つの修正されたデータ表現もカスタマイズしていないと判断すると、別のワークステーションで同じユーザおよび／または異なるユーザのいずれかからメタデータおよび／またはプロセスデータに対する変更の選択を受信することに戻る（ブロック１２０２）。
【０１０９】
ただし、方法例１２００は、ユーザが少なくとも１つのデータ表現をカスタマイズしたと判断すると（ブロック１２１６）、カスタマイズ情報を、関連付けられたデータ表現、データ表現タイプ、および／またはプロセスデータと共にデータ表現データベース２１８に格納する（ブロック１２１８）。加えて、方法例１２００は、カスタマイズおよび／または修正されたデータ表現を表示する（ブロック１２２０）。次に方法例１２００は、別のワークステーションで同じユーザおよび／または異なるユーザのいずれかからメタデータおよび／またはプロセスデータに対する変更の選択を受信することに戻る場合がある（ブロック１２０２）。
【０１１０】
図１３は、本明細書に記載の方法例および装置例を実装する目的で使用され得るプロセッサシステム例Ｐ１０のブロック図である。例えば、プロセッサシステム例Ｐ１０と類似または同一のプロセッサシステムが、図１および／または図２の選択レシーバ例２０２、データマネージャ例２０４、データリトリーバ例２０６、メタデータジェネレータ例２０８、メタデータのタイプデータベース例２１０、メタデータパーサ例２１２、データ表現ジェネレータ例２１４、メタデータルールデータベース例２１６、データ表現データベース例２１８、データ表現表示マネージャ例２２０、および／またはさらに一般的にはグラフィックスエンジン１０２および／またはデータサーバ１０４を実装する目的で使用され得る。プロセッサシステム例Ｐ１０は、複数の周辺機器、インタフェース、チップ、メモリなどを含むものとして後述されているが、これらの要素のうちの１つ以上が、選択レシーバ例２０２、データマネージャ例２０４、データリトリーバ例２０６、メタデータジェネレータ例２０８、メタデータのタイプデータベース例２１０、メタデータパーサ例２１２、データ表現ジェネレータ例２１４、メタデータルールデータベース例２１６、データ表現データベース例２１８、データ表現表示マネージャ例２２０、および／またはより一般的にはグラフィックスエンジン１０２、および／またはデータサーバ１０４のうちの１つ以上を実装する目的で使用される他のプロセッサシステム例から省略されている場合がある。
【０１１１】
図１３に表すとおり、プロセッサシステムＰ１０は、相互接続バスＰ１４に連結されているプロセッサＰ１２を含む。プロセッサＰ１２は、レジスタセットまたはレジスタスペースＰ１６を含む。これは、図１３で完全にオンチップであるものとして描かれているが、完全または部分的にオフチップであり、専用電気接続および／または相互接続バスＰ１４を介して直接プロセッサＰ１２に連結されている可能性もある。プロセッサＰ１２は、任意の適切なプロセッサ、処理機器、またはマイクロプロセッサであってもよい。図１３に表されていないが、システムＰ１０は、マルチプロセッサシステムであってもよく、したがって、プロセッサＰ１２と同一または類似であり、相互接続バスＰ１４に通信可能に連結されている１つ以上の追加プロセッサを含み得る。
【０１１２】
図１３のプロセッサＰ１２はチップセットＰ１８に連結されており、メモリコントローラＰ２０および周辺入出力（Ｉ／Ｏ）コントローラＰ２２を含む。周知のとおり、チップセットは、Ｉ／Ｏおよびメモリ管理機能に加え、チップセットＰ１８に連結された１つ以上のプロセッサによってアクセス可能または使用される複数の汎用および／または特殊用途のレジスタやタイマーなども提供するのが一般的である。メモリコントローラＰ２０は、プロセッサＰ１２（複数のプロセッサがある場合にはプロセッサ）がシステムメモリＰ２４および大容量記憶メモリＰ２５にアクセスできるようにする機能を実行する。
【０１１３】
システムメモリＰ２４は、例えばスタティックＲＡＭ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、フラッシュメモリ、読み取り専用メモリ（ＲＯＭ）など、いかなる所望のタイプの揮発性および／または不揮発メモリも含み得る。大容量記憶メモリＰ２５は、いかなる所望のタイプの大量記憶装置も含み得る。例えば、グラフィックスエンジン１０２および／またはデータサーバ１０４（図２）を実装する目的でプロセッサシステム例Ｐ１０が使用される場合、大容量記憶メモリＰ２５は、ハードディスクドライブ、光学ドライブ、テープ記憶装置などを含み得る。あるいは、メタデータのタイプデータベース例２１０、メタデータルールデータベース例２１６、および／またはデータ表現データベース例２１８を実装する目的でプロセッサシステム例Ｐ１０が使用される場合、大容量記憶メモリＰ２５は、ソリッドステートメモリ（フラッシュメモリやＲＡＭメモリなど）、磁気メモリ（ハードドライブなど）、あるいはメタデータのタイプデータベース例２１０、メタデータルールデータベース例２１６、および／またはデータ表現データベース例２１８における大容量記憶に適したその他いかなるメモリも含み得る。
【０１１４】
周辺Ｉ／ＯコントローラＰ２２は、プロセッサＰ１２が周辺Ｉ／ＯバスＰ３２を介して周辺入出力（Ｉ／Ｏ）装置Ｐ２６およびＰ２８、およびネットワークインタフェースＰ３０と通信できるようにする機能を実行する。入出力装置Ｐ２６およびＰ２８は、例えば、キーボード、表示装置（液晶ディスプレイ（ＬＣＤ）、ブラウン管（ＣＲＴ）ディスプレイなど）、ナビゲーション装置（マウス、トラックボール、容量タッチパッド、ジョイスティックなど）など、いかなる所望のタイプの入出力装置でもあってもよい。ネットワークインタフェースＰ３０は、例えば、プロセッサシステムＰ１０が他のプロセッサシステムと通信できるようにするイーサネット（登録商標）装置、非同期転送モード（ＡＴＭ）装置、８０２．１１装置、ＤＳＬモデム、ケーブルモデム、セルラー方式モデムなどであり得る。
【０１１５】
メモリコントローラＰ２０およびＩ／ＯコントローラＰ２２は、チップセットＰ１８内の別々の機能ブロックとして図１３に描かれているが、これらのブロックによって実行される機能は、単一の半導体回路の範囲内で統合されている場合、または２台以上の別々の集積回路を使用して実装されている場合がある。
【０１１６】
上記方法例および／または装置例の少なくともいくつかは、コンピュータプロセッサによって実行される１つ以上のソフトウェアおよび／またはファームウェアプログラムによって実装される。ただし、特定用途向け集積回路、プログラマブル論理配列、およびその他のハードウェア装置を含むがこれらに限定されない専用ハードウェア実装も同様に、本明細書に記載の方法例および／または装置例のいくつかまたはすべてを全体的または部分的に実装するように構築され得る。さらに、分散処理またはコンポーネント／オブジェクト分散処理、並列処理、または仮想マシン処理を含むがこれらに限定されない代替ソフトウェア実装も、本明細書に記載の方法例および／またはシステム例を実装するように構成され得る。
【０１１７】
また、本明細書に記載のソフトウェア例および／またはファームウェア例の実装は、磁気メディア（磁気ディスクやテープなど）、光ディスクなどの光磁気もしくは光学メディア、１つ以上の読み取り専用（不揮発性）メモリ、ランダムアクセスメモリ、あるいはその他の書き換え可能な（揮発性）メモリを収納するメモリカードまたはその他のパッケージなどのソリッドステートメディアなどの有形記憶メディアに格納されることにも留意すべきである。したがって、本明細書に記載のソフトウェア例および／またはファームウェア例は、上記または後継の記憶メディアなどの有形記憶メディアに格納され得る。上記の仕様が特定の標準仕様およびプロトコルに関してコンポーネント例および機能について記載する範囲で、本特許の範囲はかかる標準仕様およびプロトコルに限定されないものと理解される。例えば、インターネットおよび他のパケット交換ネットワーク伝送（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ（ＴＣＰなど）／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ（ＩＰ）、Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ（ＵＤＰ）／ＩＰ、ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ（ＨＴＭＬ）、ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ（ＨＴＴＰ）など）の各標準仕様は、当該技術の現況の実施例を表す。かかる標準仕様は、同じ一般機能を有しつつ、より高速または効率的な均等仕様によって周期的に取って代わられる。そのため、同じ機能を有する代替標準仕様およびプロトコルは、本特許によって想定され、添付の請求範囲の範囲内に含まれるものと意図される均等物である。
【０１１８】
加えて、本明細書は、ハードウェアで実行されるソフトウェアまたはファームウェアを含んでいる方法例および装置例を開示しているが、かかるシステムは単なる例に過ぎず、制限的なものとみなされるべきでないことに留意する必要がある。例えば、これらのハードウェアおよびソフトウェアコンポーネントのいずれかまたは全部が、ハードウェアでのみ、ソフトウェアでのみ、ファームウェアでのみ、あるいはハードウェア、ファームウェア、および／またはソフトウェアの任意の組み合わせで具現化され得ると考えられる。したがって、方法例、システム例、機械アクセス可能なメディア例について上記仕様で説明したものの、実施例は、かかるシステム、方法、および機械アクセス可能なメディアを実装するための唯一の方法ではない。そのため、特定の方法例、システム例、および機械アクセス可能なメディア例が本明細書に記載されているものの、本特許の網羅する範囲はそれらに制限されない。むしろ、本明細書は、文字どおりまたは均等論の下で、添付の請求の範囲に正当に含まれるすべての方法、システム、および機械アクセス可能なメディアを網羅する。
【図１】
2011113564.tif 000003
【図２】
2011113564.tif 000004
【図３】
2011113564.tif 000005
【図４】
2011113564.tif 000006
【図５】
2011113564.tif 000007
【図６】
2011113564.tif 000008
【図７】
2011113564.tif 000009
【図８】
2011113564.tif 000010
【図９】
2011113564.tif 000011
【図１０】
2011113564.tif 000012
【図１１Ａ】
2011113564.tif 000013
【図１１Ｂ】
2011113564.tif 000014
【図１２】
2011113564.tif 000015
【図１３】
2011113564.tif 000016