(57)【特許請求の範囲】
【請求項１】
プロセス制御情報を表示する方法であって、
フィールドデバイスに関連付けられるプロセス制御情報の閲覧要求を受信することと、
データベースを介して、前記フィールドデバイスに関連付けられるデバイス記述ファイルであって、電子デバイス記述言語（ＥＤＤＬ）に準拠するようにフォーマットされる、デバイス記述ファイルにアクセスすることと、
前記デバイス記述ファイルであって、前記プロセス制御情報の一部分がスクリプト拡張機能内の条件と合致する場合に図形を条件付きで表示する、前記スクリプト拡張機能を含む、前記デバイス記述ファイルを使用して、前記プロセス制御情報に対する表示を生成することと、
を含み、
前記スクリプト拡張機能は、プロセス制御イベントが前記条件と合致する際に前記図形を表示する、イベントハンドラ、及び前記プロセス制御情報の前記一部分が前記条件と合致するように漸次的に変化する際に前記図形を表示する、トリガの少なくとも１つである、
方法。
【請求項２】
前記スクリプト拡張機能は、前記プロセス制御情報が前記条件と合致する際に値として前記図形を表示する、機能を更に含む、請求項１に記載の方法。
【請求項３】
前記スクリプト拡張機能は、前記プロセス制御情報が前記条件と合致する際にデータソースに値を書き込む、機能を更に含む、請求項１又は請求項２に記載の方法。
【請求項４】
前記スクリプト拡張機能は、前記プロセス制御情報の前記一部分に対して少なくとも１つの数学演算を実施する、表現を更に含む、請求項１〜請求項３の何れか１項に記載の方法。
【請求項５】
前記スクリプト拡張機能は、前記プロセス制御情報の前記一部分が前記条件と合致する場合、前記プロセス制御情報の前記一部分を前記図形に変更することによって前記図形を表示する、コンバータを更に含む、請求項１〜請求項４の何れか１項に記載の方法。
【請求項６】
前記表示を生成することは、
前記プロセス制御情報と合致する前記条件を判定することと、
前記条件に基づき、前記図形を選択することと、
前記プロセス制御情報の前記一部分を前記図形と関連付けることと、
前記プロセス制御情報の前記一部分を前記図形内に表示することを含む表示のために、前記図形をレンダリングすることと、
を含む、請求項１〜請求項５の何れか１項に記載の方法。
【請求項７】
前記スクリプト拡張機能は、前記条件が前記プロセス制御情報の前記一部分と合致する場合に前記図形を表示する、複合構造を更に含む、請求項１〜請求項６の何れか１項に記載の方法。
【請求項８】
プロセス制御情報を表示する装置であって、
データベースを介して、フィールドデバイスに関連付けられるデバイス記述ファイルにアクセスする、電子デバイス記述プロセッサであって、前記デバイス記述ファイルは、電子デバイス記述言語（ＥＤＤＬ）に関連付けられる、電子デバイス記述プロセッサと、
前記デバイス記述ファイルおよび前記フィールドデバイスから受信されるプロセス制御情報を使用して、前記プロセス制御情報の表示を生成する、図形プロセッサであって、前記デバイス記述ファイルは、前記プロセス制御情報の一部分がスクリプト拡張機能内の条件と合致する場合、前記図形プロセッサに図形を表示するよう命令する、スクリプト拡張機能を含む、図形プロセッサと、
を備え、
前記図形プロセッサは、プロセス制御イベントが前記条件と合致する際に前記図形を表示する、イベントハンドラ、及び前記プロセス制御情報の前記一部分が前記条件と合致するように漸次的に変化する際に前記図形を表示する、トリガの少なくとも１つを実行する、
装置。
【請求項９】
前記図形プロセッサは、前記プロセス制御情報が前記条件と合致する際、データソースに値を書き込むために前記スクリプト拡張機能内の機能を実行し、前記図形内に前記書き込まれた値を表示するものである、請求項８に記載の装置。
【請求項１０】
前記図形プロセッサは、前記プロセス制御情報の前記一部分が前記条件と合致する場合、前記プロセス制御情報の前記一部分を前記図形に変更することによって前記図形を表示するために、前記スクリプト拡張機能内のコンバータを実行するものである、請求項８又は請求項９の何れか１項に記載の装置。
【請求項１１】
実行されると、機械に、少なくとも、
フィールドデバイスから送信されるプロセス制御情報の閲覧要求を受信させ、
データベースを介して、前記フィールドデバイスに関連付けられるデバイス記述ファイルであって、電子デバイス記述言語（ＥＤＤＬ）に準拠するようにフォーマットされる、デバイス記述ファイルにアクセスさせ、
前記デバイス記述ファイルであって、前記プロセス制御情報の一部分がスクリプト拡張機能内の条件と合致する場合に図形を条件付きで表示する、前記スクリプト拡張機能を含む、前記デバイス記述ファイルを使用して、前記プロセス制御情報の表示を生成させる、
その上に記憶される命令を有する、機械がアクセス可能な媒体であって、
前記スクリプト拡張機能は、プロセス制御イベントが前記条件と合致する際に前記図形を表示する、イベントハンドラ、及び前記プロセス制御情報の前記一部分が前記条件と合致するように漸次的に変化する際に前記図形を表示する、トリガの少なくとも１つである、
機械がアクセス可能な媒体。
【請求項１２】
デバイス記述ファイル内にスクリプト拡張機能を作成する方法であって、
フィールドデバイスに関連付けられる情報を受信することと、
前記フィールドデバイスからのプロセス制御情報が、いつ図形として表示されるかを識別する、前記情報内の条件を決定することと、
前記フィールドデバイスからの前記プロセス制御情報が前記条件と合致するときに前記図形を表示する、前記条件に基づき、スクリプト拡張機能を作成することと、
前記スクリプト拡張機能を前記フィールドデバイスに関連付けられるデバイス記述ファイルに記憶することと、
を含む、方法であって、
前記スクリプト拡張機能は、プロセス制御イベントが前記条件と合致する際に前記図形を表示する、イベントハンドラ、及び前記プロセス制御情報の一部分が前記条件と合致するように漸次的に変化する際に前記図形を表示する、トリガの少なくとも１つである、
方法。
【請求項１３】
前記スクリプト拡張機能を作成することは、
前記条件の種類に基づき、コンバータ、機能、または表現のうちの少なくとも１つを選択することと、
前記コンバータ、前記機能、または前記表現のうちの前記少なくとも１つを含む、前記スクリプト拡張機能を生成することと、
を含む、請求項１２に記載の方法。
【請求項１４】
前記スクリプト拡張機能を作成することは、
前記デバイス記述ファイルを二値フォーマットに圧縮することによって、前記スクリプト拡張機能を含む前記デバイス記述ファイルを処理することと、
前記圧縮されたデバイス記述ファイルを、ワークステーションのメモリまたは手持ち式デバイスのメモリのうちの少なくとも１つに送信することと、
を含む、請求項１２又は請求項１３に記載の方法。
【請求項１５】
前記スクリプト拡張機能を作成することは、
構文エラーを識別するために、前記デバイス記述ファイルを解析することと、
前記デバイス記述ファイルを用いて、ユーザインターフェースをシミュレートすることと、
前記フィールドデバイスに関連する情報に基づき、前記スクリプト拡張機能をシステム固有フォーマットに変換することと、
を含む、請求項１２〜請求項１４の何れか１項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、プロセス制御システムに関し、より具体的には、プロセス制御情報を表示する方法および装置に関する。
【背景技術】
【０００２】
化学、石油、または他のプロセスにおいて使用されるもののようなプロセス制御システムは、典型的に、アナログ、デジタル、またはアナログ／デジタルバスの組み合わせを介して、少なくとも１つのホスト又はオペレータのワークステーション、ならびに１つ以上のフィールドデバイスと通信可能に接続される、１つ以上のプロセスコントローラおよび入力／出力（Ｉ／Ｏ）デバイスを含む。フィールドデバイスは、例えば、弁、弁ポジショナ、スイッチ、および送信部（例えば、温度、圧力、および流速センサ）であってもよく、弁の開閉、およびプロセス制御パラメータの測定等、プロセス内でプロセス制御機能を実施する。コントローラは、フィールドデバイスによって行われたプロセス測定値を示す信号を受信し、制御ルーチンを実装するためにこの情報を処理し、プロセスの動作を制御するように、バスまたは他の通信回線上でフィールドデバイスに送信される、制御信号を生成する。このようにして、コントローラは、フィールドデバイスを通信可能に接続するバスおよび／または他の通信リンクを介して、フィールドデバイスを使用して、制御戦略またはルーチンを実行および調整する場合がある。
【０００３】
フィールドデバイスおよびコントローラからの情報は、オペレータが、プロセスの現在の状態を閲覧する（例えば、図式ユーザインターフェースを介して）、プロセスを評価する、プロセスの動作を修正する（例えば、視覚オブジェクト図を介して）等のプロセスに関する所望の機能を実施することを可能にするために、オペレータのワークステーション（例えば、プロセッサに基づくシステム）によって実行される１つ以上のアプリケーション（すなわち、ルーチン、プログラム等）にとって利用可能であってもよい。また、多くのプロセス制御システムは、１つ以上のアプリケーションステーションも含む。一般的に、これらのアプリケーションステーションは、ローカルエリアネットワーク（ＬＡＮ）を介して、コントローラ、オペレータのワークステーション、およびプロセス制御システム内の他のシステムに通信可能に接続される、パーソナルコンピュータ、ワークステーション等を使用して実装される。各アプリケーションステーションは、１つ以上の戦略、ルーチン、またはプロセス制御システム内のキャンペーン管理機能、保守管理機能、仮想制御機能、診断機能、リアルタイム監視機能、安全関連機能、設定機能等を実施するアプリケーションを実行することができる。
【０００４】
電子デバイス記述言語（ＥＤＤＬ）ファイルは、一般に、フィールドデバイスの機能を記述し、特定するための構造化フォーマットおよび／または標準化フォーマットを提供するために、プロセス制御システム内で使用される。プロセスコントローラおよび／またはワークステーションは、フィールドデバイスの解釈、制御、および／または管理を容易にするために、ＥＤＤＬファイルを使用する場合がある。加えて、プロセスコントローラおよび／またはワークステーションは、フィールドデバイスから出力されるプロセス制御情報の図式表現を生成するために、ＥＤＤＬファイルを利用することができる。このようにして、ＥＤＤＬファイルは、フィールドデバイスに関連付けられるパラメータに基づく、プロセス制御情報の視覚化を特定する。
【発明の概要】
【課題を解決するための手段】
【０００５】
プロセス制御情報を表示する、例示的方法および装置を記述する。一例では、方法は、フィールドデバイスに関連付けられるプロセス制御情報の閲覧要求を受信することを含む。また、例示的方法は、データベースを介して、フィールドデバイスに関連付けられるデバイス記述ファイルであって、電子デバイス記述言語（ＥＤＤＬ）に準拠するようにフォーマットされる、デバイス記述ファイルにアクセスすることも含む。例示的方法は、プロセス制御情報の一部分がスクリプト拡張機能内の条件と合致する場合に図形を条件付きで表示する、スクリプト拡張機能を含む、デバイス記述ファイルを使用して、プロセス制御情報の表示を生成することをさらに含む。
【０００６】
別の例では、方法は、フィールドデバイスに関連付けられる情報を受信することと、フィールドデバイスからのプロセス制御情報が、いつ図形として表示されるかを識別する、情報内の条件を決定することとを含む。加えて、この例は、フィールドデバイスからのプロセス制御情報が条件と合致する際に図形を表示する条件に基づき、スクリプト拡張機能を作成することを含む。さらに、例示的方法は、スクリプト拡張機能を、フィールドデバイスに関連付けられるデバイス記述ファイルに記憶することを含む。
【０００７】
例示的装置は、データベースを介して、フィールドデバイスに関連付けられるデバイス記述ファイルにアクセスする、電子デバイス記述プロセッサを含み、デバイス記述ファイルは、電子デバイス記述言語（ＥＤＤＬ）に関連付けられる。また、例示的装置は、デバイス記述ファイルおよびフィールドデバイスから受信されるプロセス制御情報を使用して、プロセス制御情報の表示を生成する、図形プロセッサも含み、デバイス記述ファイルは、プロセス制御情報の一部分がスクリプト拡張機能内の条件と合致する場合、図形プロセッサに図形を表示するよう命令する、スクリプト拡張機能を含む。
【図面の簡単な説明】
【０００８】
【図１】例示的ディスプレイインターフェースと、例示的スクリプトジェネレータとを含む、例示的プロセス制御システムを図示する、ブロック図である。
【図２】図１の例示的ディスプレイインターフェースおよびスクリプトジェネレータの機能ブロック図である。
【図３】図１の例示的ディスプレイインターフェースによって処理される場合がある、ＥＤＤファイル内の例示的スクリプト拡張機能アーキテクチャのダイアグラムである。
【図４】図１の例示的ディスプレイインターフェースによって処理される場合がある、ＥＤＤファイル内のスクリプト拡張機能の例示的複合構造のダイアグラムである。
【図５】スクリプト拡張機能内の条件に基づき、図１および図２の例示的ディスプレイインターフェースによって生成される図形を表示する、例示的ユーザインターフェースである。
【図６】スクリプト拡張機能内の条件に基づき、図１および図２の例示的ディスプレイインターフェースによって生成される図形を表示する、例示的ユーザインターフェースである。
【図７】スクリプト拡張機能内の条件に基づき、図１および図２の例示的ディスプレイインターフェースによって生成される図形を表示する、例示的ユーザインターフェースである。
【図８Ａ】図１および／もしくは図２の例示的ディスプレイインターフェースならびに／またはスクリプトジェネレータを実装するために使用することができる、例示的プロセスのフローチャートである。
【図８Ｂ】図１および／もしくは図２の例示的ディスプレイインターフェースならびに／またはスクリプトジェネレータを実装するために使用することができる、例示的プロセスのフローチャートである。
【図９Ａ】図１および／もしくは図２の例示的ディスプレイインターフェースならびに／またはスクリプトジェネレータを実装するために使用することができる、例示的プロセスのフローチャートである。
【図９Ｂ】図１および／もしくは図２の例示的ディスプレイインターフェースならびに／またはスクリプトジェネレータを実装するために使用することができる、例示的プロセスのフローチャートである。
【図１０】本明細書に記述される例示的方法および装置を実装するために使用することができる、例示的プロセッサシステムのブロック図である。
【発明を実施するための形態】
【０００９】
以下は、他のコンポーネントの中でも特に、ハードウェア上に実装されるソフトウェアおよび／またはファームウェアを含む、例示的方法ならびに装置を記述するが、これらの例は、解説にすぎず、制限として見なされるべきではないことに留意されたい。例えば、ハードウェア、ソフトウェア、およびファームウェアコンポーネントのうちのいずれかまたはすべては、ハードウェアのみで、ソフトウェアのみで、またはハードウェアおよびソフトウェアの任意の組み合わせによって具現化することができることが意図される。したがって、以下が例示的方法および装置を記述する一方で、当業者は、提供される例が、そのような方法および装置を実装する唯一の方法ではないことを容易に理解するであろう。例えば、例示的方法および装置は、プロセス制御情報を表示することに関連して記述される一方、例示的方法および装置は、より一般的に適用可能であり、任意の自動化システム、バッチ処理システム、製造システム、産業用制御システム、安全計装システム等に関連する情報を表示するために実装することができる。
【００１０】
プロセス制御システムは、一般に、制御システム内にあるフィールドデバイスを管理する、ルーチン、制御戦略、および／またはアルゴリズムを実施する、コントローラを含む。フィールドデバイスは、例えば、弁、弁ポジショナ、スイッチ、および送信部であってもよく、弁の開閉、およびプロセス制御パラメータの測定等のプロセス制御機能を実施する場合がある。フィールドデバイスを管理することに加えて、コントローラは、フィールドデバイスから受信されるデータに基づき、プロセス制御情報を生成する場合がある。プロセス制御情報は、プロセス統計、警報、監視情報、プロセストレンド情報、診断情報、フィールドデバイス状態情報、および／またはフィールドデバイスからのメッセージを含むことができる。
【００１１】
コントローラは、オペレータがプロセス制御システムを管理できるように、ワークステーション上で動作するアプリケーションにプロセス制御情報を送信する。典型的に、アプリケーションは、少なくとも１つの図式データ表現として、プロセス制御情報をユーザインターフェース内に表示する。これらのデータ表現は、典型的に、チャート、グラフ、データ表、リストボックス、図式記号、テキスト等の形態で、プロセス制御情報を図式的に表示するため、データ表現は、オペレータにとって有用である。ユーザインターフェース内のデータ表現および対応するテキストは、一般に、情報を閲覧するオペレータのロケールに関連するフォーマットおよび／または言語で表示される。
【００１２】
多くの既知のシステムでは、ワークステーションは、対応する電子デバイス記述（ＥＤＤ）ファイルを介して、フィールドデバイスからのプロセス制御情報を表示する。多くの場合、ＥＤＤファイルは、対応するフィールドデバイスと共に、プロセス制御環境に輸送される。いくつかの例では、ＥＤＤファイルは、フィールドデバイス内に含まれ、フィールドデバイスをプロセス制御システムにインストールすると、プロセス制御システムにアップロードされてもよい。これらの場合では、コントローラが、ＥＤＤファイルを記憶してもよい。代替として、プロセス制御システムに接続される各ワークステーションが、ＥＤＤファイルのローカルコピーを記憶してもよい。他の例では、プロセス制御人員は、ＥＤＤファイルを中央データベースに記憶し、対応するフィールドデバイスからのプロセス制御情報を表示するために、ＥＤＤファイルにアクセスしてもよい。
【００１３】
現在、多くの広く使用されるプロセス制御通信プロトコルは、電子デバイス記述言語（ＥＤＤＬ）標準に準拠するＥＤＤファイルの使用をサポートする。これらのプロセス制御プロトコルとしては、例えば、Ｆｏｕｎｄａｔｉｏｎ  Ｆｉｅｌｄｂｕｓ、Ｈａｒｔ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｆｏｕｎｄａｔｉｏｎ、およびＰｒｏｆｉｂｕｓが挙げられる。さらに、フィールド機器統合（ＦＤＩ）標準は、プロセス制御人員によって使用される共通ツールセットを作成して、制御システム内の共に通信可能に接続されるフィールドデバイスを管理するために、ＥＤＤＬの使用をサポートする場合がある。
【００１４】
ＥＤＤＬは、診断情報、状態情報、資産管理情報、および／またはフィールドデバイスに関連付けられる任意の他のプロセス制御情報にアクセスするためのＥＤＤファイルを作成する普遍的方法を提供する。このようにして、ＥＤＤＬは、フィールドデバイスをプロセス制御システムと統合し、それによって、ワークステーション（例えば、プロセッサ、サーバ、コンピュータ等）および／または手持ち式デバイス（例えば、フィールド通信器、携帯電話、スマートフォン、ラップトップ、ネットパッド等）によってフィールドデバイスからのプロセス制御情報にアクセスされる場合がある、相互運用環境を作り出すために、プロセス制御人員によって使用されてもよい。ワークステーションおよび／または手持ち式デバイスは、フィールドデバイスを設定するため、フィールドデバイスを較正するため、フィールドデバイスに関連する問題を診断するため、ならびに／またはデータ、状態情報、および／もしくは警報をユーザインターフェースディスプレイに提供するために、ＥＤＤＬフォーマット済みのＥＤＤファイルと組み合わせて、プロセス制御情報を使用することができる。このようにして、ＥＤＤファイルは、ワークステーションおよび／または手持ち式デバイス上で動作するアプリケーションが、対応するフィールドデバイスによって生成されるプロセス制御情報の図式表現を表示することを可能にする。
【００１５】
ＥＤＤＬは、フィールドデバイスの特性、パラメータ、および／または機能を記述するために使用されてもよい、テキストに基づく言語である。この機能性としては、例えば、メニューシステム記述、一般的なデバイス情報、診断、性能解析情報、動作統計、パラメータ化情報、範囲設定情報、シミュレーションパラメータ、オーバーライド情報、較正トリム情報、監視情報、デバイスセキュリティプロトコル、および／またはリセット情報が挙げられる。フィールドデバイスの製造業者は、通信プロトコルおよび／またはデバイスオペレーティングシステム（例えば、Ｗｉｎｄｏｗｓ(登録商標)、Ａｎｄｒｏｉｄ、Ｂｌａｃｋｂｅｒｒｙ  ＯＳ、ｉＯＳ等）とは関係なく、プロセス制御情報にアクセスし、プロセス制御情報を表示する、ホストワークステーションおよび／もしくは手持ち式デバイスの標準化形態ならびに／または構造を提供するＥＤＤファイルを作成するために、ＥＤＤＬを使用する。フィールドデバイスによるＥＤＤＬの比較的広い使用を通じて、プロセス制御人員は、プロトコルおよび／またはプロセス制御システムの種類に関わらず、プロセス制御システムで使用するための、そのクラスで最高のフィールドデバイスを選択することができる。
【００１６】
フィールドデバイス設計者は、フィールドデバイスに関連付けられるパラメータが、ユーザインターフェースを介して表示されるアプリケーション内のどこに表示されるかを定義するために、ＥＤＤファイルを使用する場合がある。表示情報は、パラメータ化プロセス制御情報の種類に基づく、ある種類の図式表現を含む場合がある。また、ＥＤＤファイルは、１ステップずつのフィールドデバイスセットアップ、対話型フィールドデバイスセットアップ、および／または較正手順を支援するために使用される、米国規格協会（ＡＮＳＩ）Ｃプログラミング言語のサブセットに基づく、スクリプト言語である、ＥＤＤＬ方法も含む場合がある。ＥＤＤファイルを使用して、フィールドデバイス製造業者は、プロセス制御人員が、フィールドデバイス機能性の全範囲内のフィールドデバイスにアクセスすることを可能にすることができ、すべてのメニューおよびパラメータは、製造業者によって意図されるように表示される。
【００１７】
ＥＤＤファイルを定義するために、フィールドデバイス製造業者は、フィールドデバイスからのプロセス制御情報の図式表現が表示される、アプリケーション内の特定の位置を特定することができる。さらに、プロセス制御人員は、彼らの嗜好を反映するように、および／またはプロセス制御システム内の状態を反映するように、ＥＤＤファイルを編集することができる。しかしながら、多くの既知のＥＤＤファイルは、図形の定義および表示（例えば、プロセス制御情報の図形表現）に関して固定的である。換言すれば、ＥＤＤファイルは、プロセス制御情報に基づき、図形を条件付きで表示することを支援しない場合があるため、図形は、プロセス制御情報に関わらず、アプリケーション内に表示される。
【００１８】
さらに、多くの図形は、ユーザが、プロセス制御情報を閲覧している間、図形特性（例えば、寸法、テキスト、色、透明度、ユーザインターフェース内の位置等）および／または図形に関連付けられる特徴を変更できないようにすることによって、比較的固定的である。例えば、ＥＤＤファイルは、ポンプ速度を示す棒グラフがユーザインターフェースの中央に表示され、棒グラフが３インチの高さを有するように特定する場合がある。現在、この棒グラフを閲覧するユーザは、ＥＤＤファイルによって、棒グラフをユーザインターフェース内の別の位置に移動すること、棒グラフの高さを変更すること、棒グラフ内の色を変更すること等が制限されている場合がある。
【００１９】
本明細書に記述される例示的方法および装置は、フィールドデバイスによって生成されるプロセス制御情報に基づき、図形を条件付きで表示するために、ＥＤＤファイル内に実装されてもよい、スクリプト拡張機能を実装する。また、ユーザによって提供される情報（例えば、図形上でのマウスクリック）に基づいて変更される場合がある、図式特性および／またはパラメータを定義することによって、ユーザが表示される図形を修正することを可能にするために、例示的スクリプト拡張機能は、ＥＤＤファイル内に組み込まれ、または実装されてもよい。
【００２０】
スクリプト拡張機能は、１つ以上の条件と合致する、および／または１つ以上の条件を満たす、フィールドデバイスからのプロセス制御情報に基づき、ユーザインターフェース内に表示する図形を生成する、ＥＤＤファイル内の命令である。例えば、本明細書に記述される例示的方法および装置は、１つ以上のフィールドデバイスに関連付けられる属性および／または特性に関する表現を、図形を表示するためのスクリプト拡張機能として利用する場合がある。また、本明細書に記述される方法および装置は、フィールドデバイス内で所定のイベントが発生する際に図形を表示するためのスクリプト拡張機能として、イベントハンドラを利用することもできる。さらに、本明細書に記述される例示的方法および装置は、所定の条件と合致するフィールドデバイスからのプロセス制御情報の部分に基づき、値、更新パラメータ参照（単数または複数）を表示するため、および／もしくは計算値情報を記憶するための方法ならびに／または機能スクリプト拡張機能として、ＥＤＤファイル内に実装することができる。
【００２１】
加えて、本明細書に記述される例示的方法および装置は、フィールドデバイスによって生成されるプロセス制御情報の一部分が所定の条件と合致する場合、プロセス制御情報を図形に変換するために、１つ以上のコンバータスクリプト拡張機能を利用する場合がある。また、スクリプト拡張機能は、一定期間ごとに変化するプロセス制御情報が条件（例えば、閾値）と合致する際に図形を表示する、トリガスクリプト拡張機能を含んでもよい。いくつかの例では、スクリプト拡張機能は、ＥＤＤファイルの複合構造内に定義され、プロセス制御情報を表示するために、他の命令および／または機能と対話することができる。
【００２２】
例示的スクリプト拡張機能を作成するために、本明細書に記述される例示的方法および装置は、いつ図形が表示されるかを識別する、プロセス制御情報内の条件を決定する。いくつかの例では、プロセス制御設計者は、図形の表示についての嗜好に基づき、条件を定義することができる。条件は、例えば、フィールドデバイスからのいくつかのプロセス制御情報、またはフィールドデバイスに関連付けられるパラメータ値が、最大限度に近づいている、および／または最大限度を超えたことをユーザに警告するために指示図形を表示する、閾値を含む場合がある。また、条件は、例えば、イベントを表す図形が表示されることを示す、プロセス制御情報内に特定されるイベントをんでもよい。別の例では、条件は、プロセス制御情報の一部分を対応する図形に変更するための変換のリストを含む場合がある。加えて、条件は、いつ特定のパラメータがユーザによって修正されるかもしれないかを特定することができる。
【００２３】
本明細書に記述される例示的方法および装置は、ＥＤＤファイル内のスクリプト拡張機能を生成するために、条件を使用することができる。例えば、いくつかの条件は、トリガスクリプト拡張機能によって実装されてもよく、一方、他の条件は、コンバータおよび／またはイベントハンドラスクリプト拡張機能によって埋め込まれてもよい。他の例では、条件は、機能および／または表現スクリプト拡張機能によって実装されてもよい。さらに他の例では、条件は、異なる種類のスクリプト拡張機能、および／または他の種類のスクリプト拡張機能の組み合わせを使用して、スクリプト拡張機能内に実装されてもよい。スクリプト拡張機能が生成されると、本明細書に記述される例示的方法および装置は、スクリプト拡張機能をＥＤＤファイル内に組み込む、および／または含み、ＥＤＤファイルを、ワークステーションおよび／または手持ち式デバイスによってアクセス可能なデータベースに記憶する。
【００２４】
ＥＤＤファイル内の例示的スクリプト拡張機能を利用することによって、本明細書に記述される例示的方法および装置は、プロセス制御人員および／またはフィールドデバイス製造業者が、プロセス制御情報をより包括的に、および／または完全に表示する、アプリケーションを設計することを可能にする。換言すれば、例示的スクリプト拡張機能は、デバイス製造業者が、計算および／または機能をフィールドデバイス内に含むことを試みるというよりはむしろ、ワークステーション上で実行される計算および／または機能を提供することを可能にする。ワークステーションおよび／または手持ち式デバイスは、一般的に、フィールドデバイスより大きな処理能力を有するため、デバイス製造業者は、ＥＤＤファイル内のスクリプト拡張機能を介して、比較的より複雑な図形および／または機能を実装する場合がある。さらに、例示的スクリプト拡張機能は、フィールドデバイス製造業者が、フィールドデバイスを支援し、維持するためのツールとして利用されるプロセス制御情報の図式表現に関して、彼らのデバイスにおける差別化を提供することを可能にする。
【００２５】
図１は、例示的ディスプレイインターフェース１０２を含む、例示的プロセス制御環境１００のブロック図を示す。例示的ディスプレイインターフェース１０２は、ＥＤＤファイル内に含まれるスクリプト拡張機能を使用した表示のために、図形をレンダリングする。ディスプレイインターフェース１０２は、プロセス制御システム１０４に関連付けられる。加えて、ディスプレイインターフェース１０２は、ワークステーション１０６によって実装されてもよく、かつ／またはワークステーション１０６内に含まれてもよい。他の例では、ディスプレイインターフェース１０２は、ワークステーション１０６に通信可能に接続され得る、サーバ、プロセッサ、分散コンピューティングネットワーク、および／または任意の他のコンピューティングデバイス（単数または複数）内に含まれてもよい。
【００２６】
また、図示される例は、スクリプトジェネレータ１０８をホストするサーバ１０７も含む。スクリプトジェネレータ１０８は、プロセス制御システム１０４に関連付けられる条件に基づき、ＥＤＤファイル内のスクリプト拡張機能を作成する。スクリプトジェネレータ１０８は、サーバ１０７内に示されるが、他の例では、スクリプトジェネレータ１０８は、ワークステーション１０６内に含まれ、ディスプレイインターフェース１０２と並列動作してもよい。
【００２７】
図１の例示的ワークステーション１０６および／または例示的サーバ１０７は、パーソナルコンピュータ、ラップトップ、サーバ、コントローラ、携帯情報端末（ＰＤＡ）、マイクロコンピュータ等の任意のコンピューティングデバイスを含んでもい。また、例示的ワークステーション１０６は、例えば、携帯電話、スマートフォン、ＰＤＡ、ネットパッド、フィールド通信等の任意のモバイルコンピューティングデバイスも含んでもよい。ワークステーション１０６および／またはサーバ１０７は、任意の好適なコンピュータシステムまたは処理システム（例えば、図１０のプロセッサシステムＰ１０）を使用して、実装してもよい。例えば、ワークステーション１０６は、シングルプロセッサパーソナルコンピュータ、シングルまたはマルチプロセッサワークステーション等を使用して実装できる可能性がある。
【００２８】
例示的プロセス制御システム１０４は、任意の種類の製造施設、プロセス施設、オートメーション施設、安全計装施設、および／または任意の他の種類のプロセス制御構造もしくはシステムを含んでもよい。いくつかの例では、プロセス制御システム１０４は、異なる場所に位置する複数の施設を含んでもよい。加えて、例示的プロセス制御環境１００は、同一施設内に含まれ、かつ／または異なる施設に位置する場合がある、他のプロセス制御システム（図示せず）を含んでもよい。
【００２９】
例示的プロセス制御システム１０４は、ローカルエリアネットワーク（ＬＡＮ）１１０を介して、ワークステーション１０６および／またはサーバ１０７に通信可能に接続する場合がある、コントローラ１０９を含む。ＬＡＮ１１０は、任意の通信媒体および／またはプロトコルを使用して実装することができる。例えば、ＬＡＮ１１０は、有線または無線イーサネット(登録商標)通信スキームに基づいてもよい。しかしながら、任意の他の好適な通信媒体およびプロトコルを使用できる可能性がある。さらに、ＬＡＮ１１０が示されるが、冗長通信パスを提供するために、２つ以上のＬＡＮおよび／または無線ネットワーク、ならびに適切な通信ハードウェアを使用してもよい。
【００３０】
プロセス制御環境１００は、遠隔ワークステーション（例えば、プロセス制御環境１００外のワークステーション）に、プロセス制御環境１００内のＥＤＤファイルおよび／またはプロセス制御情報へのアクセスを提供するために、ファイアウォール（図示せず）を含んでもよい。また、プロセス制御環境１００は、ワークステーション（図示せず）をＬＡＮ１１０に通信可能に接続するために、１つ以上のルータ（図示せず）も含んでもよい。また、ルータは、複数のプロセス制御システムを通信可能に接続することもできる。
【００３１】
プロセス制御システム１０４はまた、フィールドデバイス１１２（例えば、入力および／または出力デバイス）も含む。フィールドデバイス１１２は、入力を受信し、出力を生成し、かつ／またはプロセスを制御することができる、任意の種類（単数または複数）のプロセス制御コンポーネント（単数または複数）を含んでもよい。フィールドデバイス１１２は、プロセスを制御するための、例えば、弁、ポンプ、ファン、ヒーター、クーラー、および／またはミキサー等の制御デバイスを含むことができる。加えて、フィールドデバイス１１２は、例えば、プロセスの一部を測定するための温度センサ、圧力ゲージ、濃度ゲージ、液面計、流量計、および／または蒸気センサ等の測定または監視デバイスを含んでもよい。フィールドデバイス１１２は、入力１１４を介してコントローラ１０９から命令を受信し、特定されたコマンドを実行し、フィールドデバイス１１２によって実装および／または制御されるプロセスに変化を生じさせる。さらに、フィールドデバイス１１２は、プロセスデータ、環境データ、および／または入力デバイスデータを測定し、出力１１６を介して、測定されたデータをプロセス制御情報としてコントローラ１０９へ送信する。このプロセス制御情報には、フィールドデバイス１１２からの測定された出力に対応する変数の値が含まれる場合がある。
【００３２】
また、フィールドデバイス１１２は、コントローラ１０９、サーバ１０７、および／またはワークステーション１０６によってアクセス可能である、ＥＤＤファイルも含んでもよい。ＥＤＤファイルは、フィールドデバイス１１２の特性、機能、パラメータ、および／または特徴を記述する。ＥＤＤファイルは、ＥＤＤライブラリ１２０に記憶される。ＥＤＤライブラリ１２０は、電子的に消去可能なプログラム可能な読み取り専用メモリ（ＥＥＰＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、および／または任意の他の種類のメモリによって実装されてもよい。ＥＤＤファイルは、コントローラ１０９を介し、かつ／またはプロセス制御人員によってサーバ１０７を介して、ＥＤＤライブラリに記憶されてもよい。ワークステーション１０６は、どのようにフィールドデバイス１１２に関連付けられるプロセス制御情報を表示するかを決定するために、ＥＤＤファイルについて、ＥＤＤライブラリ１２０にアクセスすることができる。プロセス制御設計者および／または技術者は、表示嗜好ならびに／またはプロセス制御システム１０４および／もしくはフィールドデバイス１１２のセットアップ設定に基づき、ＥＤＤファイルを修正するために、ワークステーション１０６および／またはスクリプトジェネレータ１０８を使用してもよい。
【００３３】
ＥＤＤライブラリ１２０は、コントローラ１０９とは別個に示されるが、いくつかのプロセス制御環境では、ライブラリ１２０は、コントローラ１０９、ワークステーション１０６、および／またはサーバ１０７内に含まれてもよい。これらの例では、コントローラ１０９は、制御ルーチンおよび／またはアルゴリズムを操作するために、ＥＤＤファイルに局所的にアクセスしてもよい。代替として、ワークステーション１０６および／またはサーバ１０７は、対応するプロセス制御情報を表示するために、ＥＤＤファイルに局所的にアクセスしてもよい。
【００３４】
また、プロセス制御システム１０４は、フィールドデバイス１１２からデータを受信し、データを、例示的コントローラ１０９によって処理することができる通信に変換するために、Ｉ／Ｏデバイス１２２（例えば、１つ以上のＩ／Ｏカード）も含む。同様に、Ｉ／Ｏデバイス１２２は、コントローラ１０９からのデータまたは通信を、対応するフィールドデバイス１１２によって処理することができるデータフォーマットに変換する場合がある。
【００３５】
図１の例示的コントローラ１０９は、プロセス制御システム１０４内のフィールドデバイス１１２を管理するために、１つ以上の制御ルーチン（例えば、プロセス制御アルゴリズム、機能、および／または命令）を操作する。制御ルーチンには、プロセス監視アプリケーション、警報管理アプリケーション、プロセストレンディングおよび／または履歴アプリケーション、診断アプリケーション、バッチ処理および／またはキャンペーン管理アプリケーション、統計アプリケーション、ストリーミング動画アプリケーション、高度制御アプリケーション、安全計装アプリケーション等が含まれる。例示的コントローラ１０９は、プロセス制御情報（例えば、資源）をワークステーション１０６に送信する。コントローラ１０９によって送信されるプロセス制御情報には、例えば、プロセス制御値、データ値、警報情報、テキスト、状態情報、診断情報、エラーメッセージ、パラメータ、イベント、および／またはデバイス識別子が含まれてもよい。
【００３６】
いくつかの例では、また、コントローラ１０９は、フィールドデバイス１１２からのプロセス制御情報をデータベース１２４に送信してもよい。データベース１２４は、電子的に消去可能なプログラム可能な読み取り専用メモリ（ＥＥＰＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、および／または任意の他の種類のメモリによって実装されてもよい。プロセス制御情報は、関連フィールドデバイスに基づき、記憶および／または整理されてもよい。例えば、ＰＵＭＰ０１識別子を伴うポンプのポンプ速度パラメータＰＳ１０１に関連付けられる出力値（例えば、プロセス制御情報）は、データベース１２４内に記憶され、ＰＵＭＰ０１識別子およびＰＳ１０１パラメータによってインデックスが付けられてもよい。ＰＳ１０１パラメータを参照するＥＤＤファイルは、ＰＳ１０１パラメータと関連して記憶されるプロセス制御情報を検索するために、データベース１２４にアクセスすることができる。
【００３７】
例示的ワークステーション１０６は、記憶されたプロセス制御情報を表示するために、例示的データベース１２４にアクセスする場合がある。また、他のワークステーションおよび／または手持ち式デバイス（図示せず）も、プロセス制御情報について、データベース１２４にアクセスする場合がある。このようにして、プロセス制御環境１００へのアクセスを有する任意のコンピューティングデバイスは、プロセス制御情報を図式的に表示するために、データベース１２４にアクセスすることができる。
【００３８】
プロセス制御システム１０４へのアクセスを有する、例示的ワークステーション１０６および／または他のワークステーションは、１つ以上のアプリケーションを介して、プロセス制御システム１０４内の１つ以上のプロセスを閲覧する、修正する、および／または訂正するように構成される場合がある。図示される例では、アプリケーション１３０は、ユーザインターフェース１３２を介して表示される。アプリケーションには、エンタープライズビューアプリケーション、グラフィックススタジオアプリケーション、エクスプローラアプリケーション、および／または任意の他の種類のプロセス制御に基づくアプリケーションを含んでもよい。これらのアプリケーション１３０は、ユーザインターフェース１３２を介して、ワークステーション１０６内に情報を表示する。ユーザインターフェース１３２は、図式表現（単数または複数）として表示されるプロセス制御情報（例えば、機能ブロック図および／または概略図）を示すための、ワークステーション１０６内に表示される場合がある、図式ウィンドウ（例えば、アプリケーションプログラミングインターフェース（ＡＰＩ））を含んでもよい。ワークステーション１０６は、ディスプレイインターフェース１０２に通信可能に接続されてもよい、２つ以上のユーザインターフェース１３２を表示する能力を有する場合がある。
【００３９】
図１の例では、スクリプトジェネレータ１０８は、フィールドデバイス１１２からのプロセス制御情報内の条件を識別し、かつ／またはフィールドデバイス１１２と関連付けられるＥＤＤファイル内の条件を識別する。スクリプトジェネレータ１０８は、ＥＤＤライブラリ１２０からのＥＤＤファイルにアクセスする。例示的スクリプトジェネレータ１０８は、条件に基づき、スクリプト拡張機能を作成し、スクリプト拡張機能を適切なＥＤＤファイル内に挿入および／または含む。次いで、スクリプトジェネレータ１０８は、修正されたＥＤＤファイルを、ＥＤＤライブラリ１２０に記憶する場合がある。スクリプトジェネレータ１０８は、図２に関連してより詳細に説明される。
【００４０】
図２の例示的ディスプレイインターフェース１０２は、ＥＤＤライブラリ１２０内に記憶されるＥＤＤファイルに基づき、フィールドデバイス１１２からのプロセス制御情報の図式表現を生成する。ディスプレイインターフェース１０２は、ユーザインターフェース１３２を介した表示のために、アプリケーション１３０に図式表現を送信する。このようにして、ワークステーション１０６のユーザは、フィールドデバイス１１２に関連付けられるプロセス制御情報を閲覧する場合がある。プロセス制御情報を表示するために、例示的ディスプレイインターフェース１０２は、ワークステーション１０６のユーザから、フィールドデバイス１１２および／またはプロセス制御システム１０４内の特定のフィールドデバイスに関連付けられる情報の閲覧要求を受信する場合がある。他の例では、ディスプレイインターフェース１０２は、コントローラ１０９からプロセス制御情報を受信し、どのフィールドデバイス１１２が情報に対応するかを識別することができる。
【００４１】
次いで、例示的ディスプレイインターフェース１０２は、要求されたフィールドデバイス１１２に関連付けられるＥＤＤファイルについて、ＥＤＤライブラリ１２０にアクセスする。ディスプレイインターフェース１０２は、どのようにプロセス制御情報が表示されるかに関する命令についてのＥＤＤファイルを読み取る。場合によっては、ＥＤＤファイルは、アプリケーション１３０の一部としてメニュー（単数または複数）を表示するための命令を含んでもよい。ＥＤＤファイルは、メニュー（単数または複数）内の各項目の機能性の記述を提供することができる。また、ＥＤＤファイルは、どのように図形（単数または複数）がアプリケーション１３０内に表示されるかを定義する命令を含んでもよい。例えば、ＥＤＤファイルは、表の寸法、配置、フォーマッティング、データフィールド、および／または位置を定義する命令を含むことができる。別の例では、ＥＤＤファイルは、グラフおよび／もしくはチャートの寸法、配置、フォーマッティング、位置、データフィールド、ならびに／または位置を定義する命令を含んでもよい。さらに他の例では、ＥＤＤファイルは、アプリケーション１３０内に表示される図形をリンクおよび／または参照することができる。
【００４２】
アプリケーション１３０および／または任意の他のアプリケーション内に図形を表示するために、図１の例示的ディスプレイインターフェース１０２は、図形を構成、フォーマット、および／または位置付けるために、ＥＤＤファイル内の命令を使用する。いくつかの例では、ＥＤＤファイルは、特定の図形が表示されるように特定する、命令を含んでもよい。ＥＤＤファイルは、ディスプレイインターフェース１０２が、参照される図形を見つけるためにアクセスする、図形のデータベースへの参照および／またはリンクを含んでもよい。このようにして、ディスプレイインターフェース１０２は、ＥＤＤファイル内で参照される、事前に作製された図形（例えば、クリップアート、写真、アニメーション等）を表示する場合がある。したがって、データベース内の図形は、プロセス制御環境１００内のワークステーションによって、同時に表示されてもよい。また、例示的ディスプレイインターフェース１０２は、アプリケーション１３０内の表示のために、対応するプロセス制御情報を用いて、参照される図形をレンダリングしてもよい。
【００４３】
図１の例示的ディスプレイインターフェース１０２は、ＥＤＤファイル内のデータベース１２４内に記憶されるプロセス制御情報ならびに／またはコントローラ１０９への参照および／もしくはリンクを使用することによって、図形をプロセス制御情報と組み合わせる。例えば、表図形を記述するＥＤＤファイルは、パラメータ（例えば、プロセス制御情報）への表セルのそれぞれの参照を含むことができる。参照は、メモリ内のディレクトリ位置、階層データスキーム内の位置、プロセス制御情報をホストするサーバ（例えば、ＯＰＣに関連付けられるサーバ）のインターネットアドレス、および／またはプロセス制御情報に対応するパラメータによって特定されるコントローラ１０９内の位置を含んでもよい。ディスプレイインターフェース１０２は、プロセス制御情報を挿入するため、および／またはプロセス制御情報を図形と組み合わせるために、リンクおよび／または参照を使用する。次いで、ディスプレイインターフェース１０２は、ユーザインターフェース１３２を介して、プロセス制御情報をアプリケーション１３０内に図式的に表示するために、ＥＤＤファイル内の命令を使用して、プロセス制御情報を用いて、図形をレンダリングする場合がある。
【００４４】
静的に定義される図形を実装することに加えて、例示的ディスプレイインターフェース１０２は、スクリプト拡張機能を含む、ＥＤＤファイル内の命令を読み取ること、および／または実行することができる。スクリプト拡張機能を実行することによって、ディスプレイインターフェース１０２は、プロセス制御情報を表示するための条件命令を実行する。多くの場合では、ワークステーション１０６および／またはディスプレイインターフェース１０２を含んでもよい任意の他のプロセッサは、一般的に、比較的複雑な命令を実行するために、より高い演算能力を有する。したがって、比較的大量の処理帯域幅を消費する場合がある表現、イベントハンドラ、機能、方法、コンバータ、および／またはトリガは、例えば、ワークステーション１０６によって実行されるＥＤＤファイル内に表現され、それによって、フィールドデバイス１１２の処理要件を低減する場合がある。例えば、ディスプレイインターフェース１０２は、スクリプト拡張機能内の比較的複雑な演算、表現、機能、および／または方法（例えば、三重積分関数、ベイズ統計分析、分散統計モデルの分析等）を実行する場合がある。処理をワークステーション１０６に押し付けることによって、デバイス製造業者は、フィールドデバイス１１２の処理能力を、プロセス制御システム１０４内の環境および／またはプロセス制御条件の測定、ならびに測定値の報告に集中させることができる。
【００４５】
スクリプト拡張機能をＥＤＤファイル内に含むことによって、例示的ディスプレイインターフェース１０２は、フィールドデバイス設計者が、そうでなければ、フィールドデバイス１１２内に記憶される命令内に定義することが不可能である、および／または困難である、比較的複雑な図形をアプリケーション１３０内に表示するよう特定することを可能にする。例えば、ディスプレイインターフェース１０２は、フィールドデバイス１１２からのプロセス制御情報が１つ以上の特定条件と合致する場合にのみ、１つ以上の図形を表示するよう特定する、イベントハンドラおよび／またはコンバータを実行することができる。他の例では、ディスプレイインターフェース１０２は、ワークステーション１０６のユーザが、どのように特定の図形が表示されるかを特定および／または修正することを可能にするために、イベントハンドラスクリプト拡張機能を使用する。さらに他の例では、ディスプレイインターフェース１０２は、プロセス制御情報の一部分が１つ以上の条件と合致する場合に、プロセス制御情報をデータベース（単数または複数）および／またはプロセス制御環境１００内のメモリ（単数または複数）に書き込むために、方法スクリプト拡張機能を使用する場合がある。さらなる例では、ディスプレイインターフェース１０２は、プロセス制御情報の一部分が、１つ以上の条件と合致するように漸次的に変化する（例えば、タイマ）場合に、一連の命令を実行するために、トリガスクリプト拡張機能を使用する場合がある。
【００４６】
図２は、図１の例示的ディスプレイインターフェース１０２およびスクリプトジェネレータ１０８の機能ブロック図を示す。ＥＤＤライブラリ１２０およびデータベース１２４は、ディスプレイインターフェース１０２およびスクリプトジェネレータ１０８の外部に示されるが、いくつかの例では、ライブラリ１２０および／またはデータベース１３２は、ディスプレイインターフェース１０２および／またはスクリプトジェネレータ１０８内に含まれてもよい。他の例では、ディスプレイインターフェース１０２および／またはスクリプトジェネレータ１０８は、ライブラリ１２０および／またはデータベース１３２のローカルコピーを含んでもよい。
【００４７】
例示的スクリプトジェネレータ１０８は、スクリプト拡張機能を含むＥＤＤファイルを作成する。例示的スクリプトジェネレータ１０８は、複数のＥＤＤファイルを同時に生成、または代替として、プロセスＥＤＤファイルを順次処理する場合がある。ＥＤＤライブラリ内に記憶されるＥＤＤファイルを作成する、修正する、閲覧する、および／または編集するために、例示的スクリプトジェネレータ１０８は、エディタ２０２を含む。例示的エディタ２０２は、フィールドデバイス開発者および／またはプロセス制御人員が、ＥＤＤファイル内の構文および／または論理エラーを確認することを可能にするためのインターフェースとして機能する場合がある。ＥＤＤファイルが拡張スタイルシート言語変換（ＸＳＬＴ）フォーマットおよび／または拡張マークアップ言語（ＸＭＬ）フォーマットである例では、エディタ２０２は、Ａｌｔｏｖａ（登録商標）社からのＸＭＬＳｐｙ（登録商標）を使用して実装する場合がある。これらの他の例では、エディタ２０２は、ＥＤＤファイルを、ＸＭＬおよび／またはＸＳＬＴフォーマットからハイパーテキストマークアップ言語（ＨＴＭＬ）ファイルに変換する場合がある。次いで、ワークステーション１０６がインターネットを介してＥＤＤライブラリ１２０に通信可能に接続される例では、ディスプレイインターフェース１０２は、ＨＴＭＬフォーマット化ＥＤＤファイルにアクセスする場合がある。
【００４８】
ＥＤＤファイルを作成するために、例示的エディタ２０２は、フィールドデバイス１１２の機能性を記述する情報について、ＥＤＤライブラリ１２０および／またはデータベース１２４にアクセスする場合がある。他の例では、ユーザは、フィールドデバイス１１２に関連付けられる仕様に基づき、ＥＤＤファイルを作成するために、エディタ２０２を利用することができる。例えば、エディタ２０２は、デバイス設計者がＥＤＤファイルを作成するために使用してもよい、テキスト編集アプリケーションを呼び出す場合がある。他の例では、エディタ２０２は、入力１１４、出力１１６、データベース１２４内に記憶されるプロセス制御情報、および／またはフィールドデバイス１１２に関連付けられる任意の追加情報に基づき、ＥＤＤファイルを生成する、ルーチンおよび／またはアルゴリズムであってもよい。例えば、エディタ２０２は、フィールドデバイスからの出力の種類を識別し、出力の種類に基づき、出力されるプロセス制御情報を表示するためのＥＤＤファイルを作成することができる。いくつかの例では、エディタ２０２は、フィールドデバイス１１２のうちの１つの特徴および／または機能を記述する、ＥＤＤファイルを作成するために使用される場合がある。他の例では、エディタ２０２は、フィールドデバイス１１２の特徴および／もしくは機能性を集合的に記述し、かつ／またはプロセス制御システム１０４を記述する、ＥＤＤファイルを作成することができる。
【００４９】
図示される例の例示的エディタ２０２は、ＥＤＤファイル内のスクリプト拡張機能を作成する。スクリプト拡張機能データベース２０４は、所定のスクリプト拡張機能のライブラリを記憶する。スクリプト拡張機能データベース２０４は、電子的に消去可能なプログラム可能な読み取り専用メモリ（ＥＥＰＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、および／または任意の他の種類のメモリによって実装される場合がある。いくつかの例では、スクリプト拡張機能データベース２０４は、スクリプト拡張機能を、フィールドデバイス１１２に関連付けられる情報のグローバルセットに基づき、どのようにスクリプト拡張機能が利用されるかを特定する、スクリプトアーキテクチャ（例えば、図３に示されるスクリプト拡張機能アーキテクチャ）内、および／または複合構造（例えば、図４に示される複合構造）内に記憶することができる。他の例では、スクリプト拡張機能は、エディタ２０２がプロセス制御情報内の１つ以上の条件と合致するスクリプト拡張機能を選択するために使用する、リストとして記憶されてもよい。図示される例では、スクリプト拡張機能データベース２０４は、例えば、表現、イベントハンドラ、機能、方法、コンバータ、および／またはトリガを含む、スクリプト拡張機能の例を含む。
【００５０】
ＥＤＤファイル内のスクリプト拡張機能を作成するために、例示的エディタ２０２は、データベース１２４内に記憶されるプロセス制御情報内の条件、ならびに／またはフィールドデバイス１１２に関連付けられる特徴および／もしくは機能を識別する。例示的エディタ２０２は、閾値および／または所定のイベントと合致する、プロセス制御情報のある部分に応えて、図形が表示される、および／または一連の命令が実行されるという事実に基づき、条件を識別する。また、エディタ２０２は、条件を識別するために、ＥＤＤファイルの構文を審査もしてもよい。例えば、エディタ２０２は、例えば、文字列、数字の列、句読点、数学演算子等を示す、語彙項目に基づき、条件を識別してもよい。
【００５１】
条件を判定すると、図２の例示的エディタ２０２は、条件をスクリプト拡張機能と合致させるために、スクリプト拡張機能データベース２０４にアクセスする。エディタ２０２は、条件と類似する、および／もしくは条件を含む、スクリプト拡張機能アーキテクチャならびに／または構造を判定することによって、条件をスクリプト拡張機能と合致させる場合がある。他の例では、エディタ２０２のユーザは、条件の理解に基づき、スクリプト拡張機能を選択する場合がある。次いで、例示的エディタ２０２は、選択されたスクリプト拡張機能をコピーし、スクリプト拡張機能をＥＤＤファイル（単数または複数）に挿入する、および／または含む。このようにして、エディタ２０２は、ＥＤＤファイルの一部分を挿入されたスクリプト拡張機能にリンクする。例えば、エディタ２０２は、図形として表示される値を計算するために、ＥＤＤファイルの数式スクリプト拡張機能内のプロセス制御情報のパラメータ、特性、および／または属性の名前を使用することができる。
【００５２】
ＥＤＤファイル（単数または複数）内のスクリプト拡張機能（単数または複数）を作成すると、例示的エディタ２０２は、ＥＤＤファイル（単数または複数）をコンパイラ２０６に送信する。図２の例示的コンパイラ２０６は、ＥＤＤライブラリ１２０内への記憶のために、および／または例示的ディスプレイインターフェース１０２による使用のために、スクリプト拡張機能（単数または複数）を伴うＥＤＤファイル（単数または複数）を処理する、コンパイルする、確認する、および／または変換する。例示的コンパイラ２０６は、ＥＤＤファイルをスキャンおよび／もしくは解析して、構文エラー、プロトコルエラー、ならびに／または語彙項目を識別するために、任意の数および／もしくは種類（単数または複数）のアルゴリズム（単数または複数）、論理、ならびに／または方法を使用する、スキャナ２０８を含む。スキャナ２０８は、ＥＤＤファイル（単数または複数）を圧縮二値フォーマットに変換するために、語彙項目をトークナイザ２１０に提供する。スキャナ２０８によって検出される、いかなるエラーも、エディタ２０２を介して、フィールドデバイス設計者に通信する場合がある。スキャナ２０８によって検出されるエラーの種類に基づき、例示的エディタ２０２は、検出されたエラーを試験および／またはデバッグするためのツールを、フィールドデバイス設計者に提供する。エディタ２０２は、フィールドデバイス設計者および／または他のプロセス制御人員が、ＥＤＤファイル（単数または複数）を編集して、いかなる検出されたエラーも修正することを可能にする。このようにして、例示的スキャナ２０８は、フィールドデバイス設計者が、ＥＤＤファイル（単数または複数）とのユーザ対話を試験および／またはシミュレートすることを可能にし、これは、ＥＤＤファイル（単数または複数）の品質の改善をもたらす場合がある。
【００５３】
任意の数および／もしくは種類（単数または複数）のアルゴリズム（単数または複数）、論理、ならびに／または方法（単数または複数）を使用して、図２の例示的トークナイザ２１０は、特定のトークン（例えば、分類可能な入力文字列）を識別するために、スキャナ２０８によって識別される語彙項目を処理する。例えば、スキャナ２０８は、例えば、例示的トークナイザ２１０が１つ以上の圧縮二値語に区分する、および／または分離する、文を表す文字列語彙項目を識別することができる。トークナイザ２１０によって識別される各トークンは、値（例えば、実際の変数名）および種類（例えば、変数、演算子、数等）の両方を有し、それによって、トークナイザ２１０が、ＥＤＤファイル（単数または複数）を二値フォーマットに圧縮することを可能にする。圧縮フォーマットは、プロセス制御人員による改竄および／または後続の処理の問題を防止する場合がある。トークン化されたＥＤＤファイルは比較的小さいため、多くのフィールドデバイスのトークン化されたファイルは、手持ち式デバイスおよび／またはワークステーション１０６の限られたフラッシュメモリ内に記憶することができる。
【００５４】
また、図２の例示的スクリプトジェネレータ１０８は、ＥＤＤファイル（単数または複数）を製造供給元および／またはシステムの特定の形式に変換するためのインタプリタ２１２も含む。ＥＤＤＬ標準をサポートする、多くのＥＤＤファイルが、プロセス制御システムによって利用される一方、インタプリタ２１２は、いくつかのＥＤＤファイルを、専用のプロセス制御標準および／またはプロセス制御マネージャによって要求される任意の他の標準に変換するために使用される場合がある。スクリプトジェネレータ１０８は、ＥＤＤファイルを、プロセス制御システム１０４および／またはワークステーション１０６内のアプリケーションと互換性のあるフォーマットに変換するために、インタプリタ２１２を利用することができる。例えば、インタプリタ２１２は、いくつかのＥＤＤファイルを、ウェブブラウザによってアクセスすることができる、ＨＴＭＬフォーマットに変換することができる。いくつかの例では、インタプリタ２１２は、トークナイザ２１０がＥＤＤファイルを圧縮する前に、ＥＤＤファイルを変換してもよい。他の例では、インタプリタ２１２は、圧縮二値ＥＤＤファイルを変換してもよい。例示的インタプリタ２１２は、ＥＤＤファイルを対応する特定フォーマットに変換するために、任意の数および／もしくは種類（単数または複数）のアルゴリズム（単数または複数）、論理、ならびに／または方法（単数または複数）を使用することができる。
【００５５】
ＥＤＤファイルをスキャン、トークン化、および／または変換すると、図示される例の例示的コンパイラ２０６は、ＥＤＤファイル（単数または複数）をＥＤＤライブラリ１２０に記憶する。いくつかの例では、コンパイラ２０６は、同一のＥＤＤファイルの複数の変換バージョンを記憶することができ、それによって、異なるフォーマットおよび／またはオペレーティングシステムに関連付けられる、異なるアプリケーションが、プロセス制御情報を表示するために、互換性のあるＥＤＤファイルにアクセスすることを可能にする。他の例では、コンパイラ２０６は、ＥＤＤファイルの圧縮二値バージョンと、圧縮されていないバージョンとを記憶する場合があり、それによって、ユーザが、デバイスのメモリ制約に基づき、ＥＤＤファイルを選択することを可能にする。
【００５６】
また、図２の例は、プロセス制御情報を表示するために、ＥＤＤファイルについて、ＥＤＤライブラリ１２０にアクセスする、例示的ディスプレイインターフェース１０２を示す。いくつかの例では、ディスプレイインターフェース１０２は、手持ち式デバイスおよび／またはワークステーション１０６にローカルにＥＤＤファイルを記憶するために、ＥＤＤライブラリ１２０に一定期間ごとにアクセスする場合がある。このようにして、ユーザは、ＬＡＮ１１０に通信可能に接続されるデバイスを有することなく、プロセス制御情報の図形を閲覧することができる。他の例では、ディスプレイインターフェース１０２は、プロセス制御情報の閲覧要求が受信される時にいつでも、ＥＤＤファイルについて、ＥＤＤライブラリ１２０にアクセスする。
【００５７】
例示的ディスプレイインターフェース１０２は、ワークステーション（例えば、ワークステーション１０６）からの複数のプロセス制御情報の閲覧要求を同時に処理する場合がある。代替として、例示的ディスプレイインターフェース１０２は、単一のプロセス制御情報の閲覧要求を処理する場合がある。これらの代替の例では、複数の要求を処理するために、複数のディスプレイインターフェース１０２がアクセスされてもよい。例示的ディスプレイインターフェース１０２は、ワークステーション１０６と関連して説明されるが、ディスプレイインターフェース１０２は、他のワークステーションおよび／または図１のプロセス制御環境１００に関連付けられるデバイスで動作してもよい。
【００５８】
プロセス制御情報を図式的に閲覧する要求を受信するために、例示的ディスプレイインターフェース１０２は、受信部２２０を含む。例示的受信部２２０は、ワークステーション１０６内のユーザインターフェース１３２に通信可能に接続される。受信部２２０は、ワークステーション１０６および／またはユーザインターフェース１３２を介して、ユーザから、プロセス制御情報の閲覧要求を受信する。ユーザは、所望の情報に関連付けられる識別子を要求および／または検索フィールドに入力することによって、プロセス制御情報を閲覧することを選択する。例えば、ユーザは、フィールドデバイスの識別子を入力してもよい。別の例では、ユーザは、プロセス制御システム１０４内の領域および／またはフィールドデバイス群を入力してもよい。さらに別の例では、ユーザは、パラメータに関連付けられるプロセス制御情報を閲覧するために、パラメータの識別子（例えば、変数名）を特定してもよい。
【００５９】
また、ユーザは、データディレクトリ内の所望の対象（例えば、フィールドデバイス、コンポーネント、領域等のリスティング）をブラウズすることによって、プロセス制御情報を特定してもよい。例えば、ユーザは、オープン機能を利用し、ディレクトリを所望のフィールドデバイスにナビゲートしてもよい。さらに他の例では、ユーザは、ユーザインターフェース１３２を介して、図式表現および／または情報に関連付けられる識別子を選択することによって、プロセス制御情報を閲覧することができる。代替として、ユーザは、プロセス制御情報を含む、および／またはリストする、ウェブサイトアドレスを入力してもよい。次いで、ユーザは、表示されるウェブページ内にリストされる所望のプロセス制御対象を選択してもよい。いくつかの例では、ユーザは、複数のプロセス制御対象を選択する場合がある。これらの例では、プロセス制御対象は、単一の要求内、または代替として、複数の要求内に含まれる場合がある。
【００６０】
プロセス制御情報の閲覧要求を受信すると、例示的受信部２２０は、ＥＤＤプロセッサ２２２に要求を送信する。例示的ＥＤＤプロセッサ２２２は、ＥＤＤファイルを識別するために、要求を情報に解析する。ＥＤＤプロセッサ２２２は、ＥＤＤライブラリ１２０にアクセスして、要求されたプロセス制御情報と合致するＥＤＤファイルを検索するために、情報を使用する。例えば、プロセス制御情報に対する要求は、「Ｒｏｓｅｍｏｕｎｔ（登録商標）フィールドデバイス圧力センサ」の種類と、圧力センサの「ＰＲＳ０２」の識別子とを含む場合がある。ＥＤＤプロセッサ２２２は、Ｒｏｓｅｍｏｕｎｔ（登録商標）フィールドデバイス圧力センサの機能性を定義する、ＥＤＤファイルを検索する。また、ＥＤＤプロセッサ２２２は、ＰＲＳ０２デバイス特有の定義を含む、ＥＤＤファイルも検索する。場合によっては、ＥＤＤファイルの名称および／またはファイル名は、種類および／または識別子を含んでもよい。他の場合では、ＥＤＤファイルに関連付けられるメタデータは、種類および／または識別子を含んでもよい。さらに他の場合では、ＥＤＤプロセッサ２２２は、合致する種類および／または識別子のＥＤＤファイル内のテキストを検索しなければならない場合がある。
【００６１】
要求されたプロセス制御情報と合致するＥＤＤファイル（単数または複数）を見つけた後、ＥＤＤプロセッサ２２２は、ＥＤＤファイル（単数または複数）を図形プロセッサ２２４に転送する。例示的図形プロセッサ２２４は、ＥＤＤファイル（単数または複数）を使用して、要求されたプロセス制御情報の表示を生成する。また、例示的図形プロセッサ２２４は、要求されたプロセス制御情報のデータベース１２４にもアクセスする。いくつかの例では、図形プロセッサ２２４は、データベース１２４内の対応するプロセス制御情報を見つけるために、ＥＤＤファイル（単数または複数）内のリンクおよび／または参照を使用してもよい。加えて、または代替として、図形プロセッサ２２４は、データベース１２４内の対応するプロセス制御情報を見つけるために、識別子および／またはユーザからの要求内に含まれる他の情報を使用してもよい。これらの他の例では、図形プロセッサ２２４は、見つけられたプロセス制御情報を、プロセス制御情報を利用するＥＤＤファイル（単数または複数）の部分と合致させる。
【００６２】
例示的図形プロセッサ２２４は、ＥＤＤファイル内の命令（単数または複数）を実行することによって、ユーザインターフェース１３２を介して表示するための図形を生成する。図形プロセッサ２２４は、任意のメニュー、表示、および／またはフォーマット情報を判定するために、命令を実行する場合がある。情報は、表示ファイルを作成するために、および／またはプロセス制御情報を表示するためのテンプレートをフォーマットするために、図形プロセッサ２２４によって使用されてもよい。また、メニュー情報は、ユーザインターフェース１３２を用いて表示するために使用することができる、メニュー機能および／または選択肢も含む場合がある。メニュー機能は、例えば、フィールドデバイスを設定するため、フィールドデバイスによって生成されるプロセス制御情報を閲覧するため、および／またはフィールドデバイスに関連付けられる任意の他の情報のための選択肢を含んでもよい。
【００６３】
また、例示的図形プロセッサ２２４は、図１のコントローラ１０９によって処理されるプロセス制御情報への参照について、ＥＤＤファイル（単数または複数）を読み取る。いくつかの例では、ＥＤＤファイルの部分は、リンク、ファイルディレクトリ、および／またはプロセス制御情報に対応する識別子を含んでもよい。例えば、ＥＤＤファイルは、ポンプ速度データフィールドを含んでもよい。また、ＥＤＤファイルは、ポンプ速度パラメータおよび／またはコントローラ１０９によって計算された変数へのリンクも含んでもよい。例示的図形プロセッサ２２４は、データベース１２４から、または代替としてコントローラ１０９から、ポンプ速度値を要求するために、リンクを使用する。次いで、図形プロセッサ２２４は、ポンプ速度値（例えば、プロセス制御情報）の図式表現を生成するために、ポンプ速度値を、対応するＥＤＤファイルに挿入することができる。図式表現は、例えば、ポンプ速度を表示するゲージを含むことができる。他の例では、図形プロセッサ２２４は、データベース１２４からの対応するプロセス制御情報にアクセスするために、ＥＤＤファイル内のリンク、参照、データ位置、および／または識別子を使用することができる。
【００６４】
例示的図形プロセッサ２２４は、表示ファイルを生成するために、ＥＤＤファイル（単数または複数）を使用する。表示ファイルは、例えば、プロセス制御情報の位置、要求されたプロセス情報の図式表現、および／またはデータフィールドを特定する。プロセス制御情報を１つ以上の図形として表示するために、図形プロセッサ２２４は、表示ファイルを生成するために、ＥＤＤファイル（単数または複数）内のフォーマッティングおよび／または図形命令を使用する。いくつかのＥＤＤファイル（単数または複数）は、図形プロセッサ２２４が記述される図形を生成するために読み取る、例えば、チャート、グラフ、および／または表の属性を定義する場合がある。次いで、図形プロセッサ２２４は、対応するプロセス制御情報を、表示ファイルとして図形の特性および／または属性に挿入する、埋め込む、および／または別の方法で含む。レンダラー２２８は、対応するプロセス制御情報を用いて、記述される図形を生成するために、表示ファイルを実行する。
【００６５】
いくつかの例では、ＥＤＤファイル（単数または複数）は、図形データベース２２６内に記憶される所定の図形を参照してもよい。これらの例では、図形プロセッサ２２４は、図形データベース２２６内の対応する図形を見つけるために、リンク、参照、および／または識別子を使用する。次いで、図形プロセッサ２２４は、図形のコピーを作成し、図形を、レンダ２２８によってレンダリングされる表示ファイル内に含む。他の例では、図形プロセッサ２２４は、レンダラー２２８が、ユーザインターフェース１３２を介して、プロセス制御情報を用いて、図形を表示してもよいように、図形を表示ファイルにリンクし、図形に関連付けられる属性および／もしくは特性に、プロセス制御情報を挿入し、かつ／または埋め込む。
【００６６】
また、例示的図形プロセッサ２２４は、ＥＤＤファイル（単数または複数）内のスクリプト拡張機能も実行する。スクリプト拡張機能は、図形プロセッサ２２４に、プロセス制御情報の一部分がスクリプト拡張機能内の条件と合致する場合に図形を表示するよう命令する。条件がプロセス制御情報と合致する場合、図形プロセッサ２２４は、対応する図形について、図形データベース２２６にアクセスする。例えば、ＥＤＤファイルは、出力が、最大ポンプ速度の９０％を超えるポンプ速度を示す場合、警報図形が表示されることを特定する、機能スクリプト拡張機能を含んでもよい。ユーザが、ポンプに関連付けられるプロセス制御情報を閲覧することを要求する場合、図形プロセッサ２２４は、データベース１２４からのどのプロセス制御情報にアクセスするかを判定するために、ポンプに関連付けられるＥＤＤファイルを実行する。次いで、図形プロセッサ２２４は、機能スクリプト拡張機能を実行する（例えば、ポンプ速度を最大値の９０％と比較する）ために、ポンプ速度プロセス制御情報を使用する。図形プロセッサ２２４が、９０％を超えるという条件に合致するポンプ速度を判定する場合、図形プロセッサ２２４は、機能スクリプト拡張機能内の、表示される図形データベース２２６内の図形への参照を使用する。図形プロセッサ２２４は、表示ファイル内に図形を含むために、データベース１２４からの図形にアクセスする。
【００６７】
図２の例示的図形プロセッサ２２４は、プロセス制御情報内に特定されるプロセス制御イベントが条件と合致する際に図形を表示する、スクリプト拡張機能内のイベントハンドラを実行してもよい。加えて、図形プロセッサ２２４は、プロセス制御情報が条件と合致する際にデータソースに値を書き込む、スクリプト拡張機能内の機能を実行してもよい。また、図形プロセッサ２２４は、書き込まれた値を図形内に表示してもよい。この例では、図形プロセッサ２２４は、ＥＤＤファイルを介して、計算された値をデータベース１２４に書き込んでもよい。他の例では、図形プロセッサ２２４は、ワークステーション１０６内のメモリに書き込んでもよい。さらに、図形プロセッサ２２４は、プロセス制御情報の一部分が条件と合致する場合に、プロセス制御情報の一部分を図形に変更することによって図形を表示するために、スクリプト拡張機能内のコンバータを実行してもよい。また、図形プロセッサ２２４は、プロセス制御情報の一部分が条件に到達するように漸次的に変化する際に図形を表示する、スクリプト拡張機能内のトリガも実行する場合がある。
【００６８】
図形プロセッサ２２４が、スクリプト拡張機能を含むＥＤＤファイル（単数または複数）を実行することによって、表示ファイルを作成した後、図形プロセッサ２２４は、表示ファイルをレンダラー２２８に送信する。例示的レンダラー２２８は、図２のディスプレイインターフェース１０２内に示されるが、ディスプレイインターフェース１０２は、プロセス制御情報を表示するデバイスとは別個である場合がある他の例では、レンダラー２２８は、デバイス内に位置してもよい。これらの例では、図形プロセッサ２２４は、表示ファイルをレンダラー２２８に送信する（例えば、インターネットおよび／またはＬＡＮ１１０を介して）。
【００６９】
例示的レンダラー２２８は、表示ファイルを、ユーザが、例えば、ユーザインターフェース１３２を介して閲覧可能である、フォーマットに処理する（例えば、レンダリングする）。例示的レンダラー２２８は、プロセス制御情報の図形（単数または複数）を表示するデバイス（例えば、ワークステーション１０６）の表示寸法に基づき、表示を生成する場合がある。表示ファイルをレンダリングした後、例示的レンダラー２２８は、要求されたプロセス制御情報を図式的に表示するために、レンダリングされた表示を、ワークステーション１０６内のアプリケーション１３０に送信する。
【００７０】
例示的ディスプレイインターフェース１０２およびスクリプトジェネレータ１０８を図２に図示したが、図２に図示されるサーバ、プラットフォーム、インターフェース、データ構造、要素、プロセス、および／またはデバイスのうちの１つ以上が、任意の方法で組み合わされ、分割され、再配置され、除外され、排除され、および／または実装されてもよい。さらに、例示的エディタ２０２、例示的スクリプト拡張機能データベース２０４、例示的コンパイラ２０６、例示的スキャナ２０８、例示的トークナイザ２１０、例示的インタプリタ２１２、例示的受信部２２０、例示的ＥＤＤプロセッサ２２２、例示的図形プロセッサ２２４、例示的図形データベース２２６、例示的レンダラー２２８、ならびに／または、より一般に、例示的ディスプレイインターフェース１０２および／もしくはスクリプトジェネレータ１０８は、ハードウェア、ソフトウェア、ファームウェア、ならびに／またはハードウェア、ソフトウェアおよび／もしくはファームウェアの任意の組み合わせによって実装されてもよい。したがって、例えば、例示的エディタ２０２、例示的スクリプト拡張機能データベース２０４、例示的コンパイラ２０６、例示的スキャナ２０８、例示的トークナイザ２１０、例示的インタプリタ２１２、例示的受信部２２０、例示的ＥＤＤプロセッサ２２２、例示的図形プロセッサ２２４、例示的図形データベース２２６、例示的レンダラー２２８、ならびに／または、より一般に、例示的ディスプレイインターフェース１０２および／もしくはスクリプトジェネレータ１０８のうちのいずれも、１つ以上の回路、プログラム可能なプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、プログラマブル論理デバイス（ＰＬＤ）、および／またはフィールドプログラマブル論理デバイス（ＦＰＬＤ）等によって実装される可能性がある。
【００７１】
本特許のいずれかの装置請求項が、純粋にソフトウェアおよび／またはファームウェア実装を網羅するものとして読まれる場合、例示的エディタ２０２、例示的スクリプト拡張機能データベース２０４、例示的コンパイラ２０６、例示的スキャナ２０８、例示的トークナイザ２１０、例示的インタプリタ２１２、例示的受信部２２０、例示的ＥＤＤプロセッサ２２２、例示的図形プロセッサ２２４、例示的図形データベース２２６、および／または例示的レンダラー２２８のうちの少なくとも１つは、ここで、そのソフトウェアおよび／またはファームウェアを記憶するメモリ、ＤＶＤ、ＣＤ等のコンピュータ可読媒体を含むことが、明示的に定義される。さらにまた、例示的ディスプレイインターフェース１０２および／またはスクリプトジェネレータ１０８は、図２に図示されたものに加えて、またはそれらの代わりに、１つ以上の要素、プロセス、および／もしくはデバイスを含んでもよく、かつ／または図示される要素、プロセス、およびデバイスのうちのいずれか２つ以上またはすべてを含んでもよい。
【００７２】
図３は、図１の例示的ディスプレイインターフェース１０２によって処理される場合があるＥＤＤファイルに関連付けられる、例示的スクリプト拡張機能アーキテクチャ３００のダイアグラムを示す。図３は、スクリプト拡張機能アーキテクチャ３００を示すが、他の例は、異なる種類のスクリプト拡張機能、および／またはスクリプト拡張機能の組み合わせのアーキテクチャを含んでもよい。例示的スクリプト拡張機能アーキテクチャ３００は、スクリプトジェネレータ１０８によって作成され、ＥＤＤライブラリ１２０に記憶された、ＥＤＤファイルの一部分を表す場合がある。例示的ディスプレイインターフェース１０２は、１つ以上のスクリプト拡張機能を実行して、プロセス制御情報の図形がユーザインターフェース１３２内に表示されるか否かを判定するために、スクリプト拡張機能アーキテクチャ３００にアクセスすることができる。
【００７３】
例示的スクリプト拡張機能アーキテクチャ３００は、スクリプト本体３０２を含む。スクリプト本体３０２は、スクリプト拡張機能、変数、パラメータ、および／または属性をリンクする、命令を含む。この例では、スクリプト本体３０２は、プロセッサに変数の値を一定期間ごとにインクリメントする一連の命令を含む、タイマ３０４にリンクされる。図示される例の例示的スクリプト本体３０２は、トリガスクリプト拡張機能３０６と併せて、タイマ３０４を使用する。例示的トリガスクリプト拡張機能３０６は、いつ図形を表示するかを判定するために、タイマ３０４からの値を使用する。タイマ３０４およびトリガスクリプト拡張機能３０６は、スクリプト拡張機能アーキテクチャ３００に関連付けられるフィールドデバイスの特徴、特性、および／または機能性を定義する、グローバルセットライブラリ３０８に接続される。この例では、タイマ３０４および／またはトリガスクリプト拡張機能３０６は、入力、出力、および／またはフィールドデバイスによって報告され、グローバルセットライブラリ３０８内に特定される、他の変数に関連付けられるパラメータにリンクされてもよい。例えば、トリガスクリプト拡張機能３０６に基づいて図形を生成するためのスクリプトは、グローバルセットライブラリ３０８内で特定される図形の定義を参照してもよい。
【００７４】
例示的スクリプト拡張機能アーキテクチャ３００は、パラメータ３１２を、グローバルセットライブラリ３０８内に特定される図式表現に変換する、コンバータスクリプト拡張機能３１０を含む。例示的パラメータ３１２は、スクリプト本体３０２にリンクされる方法参照３１６によって参照される、方法スクリプト拡張機能３１４によって、スクリプト拡張機能アーキテクチャ３００内で計算される。方法参照３１６は、スクリプト本体３０２内の複数のインスタンスが方法スクリプト拡張機能３１４を実行することを可能にする、方法スクリプト拡張機能３１４へのポインタであってもよい。
【００７５】
同様に、スクリプト本体３０２内の複数のインスタンスは、グローバルセットライブラリ３０８内で特定される変数の値および／または属性をリストする表３２０にアクセスするための表参照３１８を指し示してもよい。加えて、スクリプト本体３０２の複数のインスタンスは、グローバルセットライブラリ３０８内に特定される１つ以上の変数および／または属性を参照する、特性定義３２４にアクセスするための特性参照３２２を指し示してもよい。
【００７６】
図４は、図１の例示的ディスプレイインターフェース１０２によって処理される場合がある、ＥＤＤファイル内のスクリプト拡張機能の例示的複合構造４００のダイアグラムを示す。図４は、複合構造４００を示すが、他の例は、異なる種類のスクリプト拡張機能、および／またはスクリプト拡張機能の組み合わせの構造を含んでもよい。例示的複合構造４００は、スクリプトジェネレータ１０８によって作成され、ＥＤＤライブラリ１２０に記憶された、ＥＤＤファイルの一部分を表してもよい。例示的ディスプレイインターフェース１０２は、１つ以上のスクリプト拡張機能を実行して、プロセス制御情報の図形がユーザインターフェース１３２内に表示されるか否かを判定するために、複合構造４００にアクセスする場合がある。
【００７７】
図３のスクリプト拡張機能アーキテクチャ３００と同様に、複合構造４００は、スクリプト本体４０２と、フィールドデバイスのＥＤＤファイルを実装するためのグローバルセットライブラリ４０４とを含む。また、複合構造４００は、図形を定義および／または特定する、シェープツリーブロック４０６も含む。対照的に、スクリプト拡張機能アーキテクチャ３００は、スクリプト本体３０２内の図形を定義および／または特定してもよい。形状使用ブロック４０８は、スクリプト拡張機能内の条件（例えば、イベントの使用および特性の使用）に基づき、シェープツリーブロック４０６内のどの図形が表示されるかを定義する。加えて、複合形状ブロック４１０は、どのようにシェープツリーブロック４０６内の図形が表示されるかを定義してもよい。他の例では、複合構造４００は、例えば、図形データベース２２６内に記憶される図形を参照してもよい。
【００７８】
図示される例の例示的複合構造４００は、第１の方法スクリプト拡張機能４１２と、第２の方法スクリプト拡張機能４１４と、コンバータスクリプト拡張機能４１６とを含む。第１の方法スクリプト拡張機能４１２は、第１のパラメータ４１８の値に基づき、図形を表示する。方法参照ブロック４２０は、スクリプト本体４０２内の複数のインスタンスが、第１の方法スクリプト拡張機能４１２を指し示すことを可能にする。同様に、方法参照ブロック４２２は、スクリプト本体４０２内の複数のインスタンスが、グローバルセットライブラリ４０４からのフィールドデバイスに関連付けられる情報にアクセスすることができる、第２の方法スクリプト拡張機能４１４を指し示すことを可能にする。例示的コンバータスクリプト拡張機能４１６は、引数ブロック４２４、およびパラメータ４２８によって表されるプロセス制御情報の一部分に合致するコンバータ使用インスタンス４２６（例えば、条件）に基づき、いつ図形が表示されるかを決定する。
【００７９】
図５〜図７は、スクリプト拡張機能内の条件に基づき、図１および図２の例示的ディスプレイインターフェース１０２によって生成される図形を表示する、例示的ユーザインターフェース１３２を示す。ユーザインターフェース１３２は、ブラウザアプリケーション内に、タンク１０１フィールドデバイスに関連付けられるプロセス制御情報を表示する。図５のユーザインターフェース１３２は、ユーザが、ネットワークアドレスおよび／またはインターネットアドレスを入力して、プロセス制御情報を閲覧するために使用することができる、ナビゲーションバー５０２を含む。この例では、ユーザは、‘ＤＡｓｅｒｖｅｒ／Ｄｖｉｃｅ／Ｔａｎｋ＿１０１のアドレスを入力する。アドレスに応えて、例示的ディスプレイインターフェース１０２は、「タンク１０１」を識別子として識別し、関連ＥＤＤファイルを見つける。ＥＤＤファイルは、タンク１０１フィールドデバイスに関連付けられる情報に基づき、スクリプトジェネレータ１０８によって生成されていてもよい。この例では、タンク１０１フィールドデバイスは、図１のプロセス制御システム１０４内の流体を貯蔵する貯蔵タンクである。ＥＤＤファイルは、ディスプレイインターフェース１０２に、タンク１０１フィールドデバイスを設定および／または管理するための選択肢を伴うメニューパネル５０４を生成させる、命令を含んでもよい。タンク１０１フィールドデバイスは、図１のフィールドデバイス１１２内に含まれてもよい。
【００８０】
この例では、ユーザは、メニューパネル５０４内の「手動セットアップ」選択肢を選択する。「手動セットアップ」選択肢が選択されたことに応えて、ディスプレイインターフェース１０２は、ＥＤＤファイルから、パラメータパネル５０６および図形パネル５０８が表示されることを判定する。「手動セットアップ」選択肢は、ユーザが、どのようにタンク１０１フィールドデバイスからのプロセス制御情報が図式的に表示されるかを特定することを可能にする。パラメータパネル５０６は、ユーザが、タンク１０１フィールドデバイスのレベルを表示するためのデータフィールド内の単位型を選択することを可能にする、レベルパラメータを含む。また、パラメータパネル５０６は、ユーザが、タンク１０１フィールドデバイス内の流体の温度を表示するための単位型を選択することを可能にする、温度パラメータ（例えば、Ｔｅｍｐ）も含む。さらに、パラメータパネル５０６は、ユーザが、タンク１０１フィールドデバイスの識別値を入力することを可能にする、タグパラメータを含む。さらに、パラメータパネル５０６は、ユーザが、タンク１０１フィールドデバイス内の流体レベルに基づき、いつ警報が表示されるかを特定することを可能にする、下範囲および上範囲パラメータを含む。
【００８１】
図形パネル５０８は、パラメータパネル５０６内のパラメータに基づく、タンク図形５１０のプレビューを含む。例えば、タンク図形５１０は、９０％の上範囲パラメータおよび１０％の下範囲パラメータを含む。また、図形パネル５０８は、イベントハンドラスクリプト拡張機能に関連付けられる、高さアジャスタ５１２および幅アジャスタ５１４も含む。例えば、イベントハンドラスクリプト拡張機能は、以下の命令を含んでもよい。
【数１】
0006008481.tif 000002
【００８２】
命令は、幅アジャスタ５１４の左ボタン（例えば、Ｂｕｔｔｏｎ．Ｌｅｆｔ）が選択される場合、ディスプレイインターフェース１０２が、図形５１０の幅を１０単位減少させることを示す（例えば、ｔｈｉｓ．Ｗｉｄｔｈ  −＝１０）。同様に、ディスプレイインターフェースは、幅アジャスタ５１４の右ボタンが選択される度に、図形５１０の幅を１０単位増加させることができる。このようにして、イベントハンドラスクリプト拡張機能は、例示的ディスプレイインターフェース１０２が、ＥＤＤファイルを変更することなく、ユーザからの情報に基づき、図形５１０を調整する（例えば、修正する）ことを可能にする。換言すれば、ＥＤＤファイル内のイベントハンドラスクリプト拡張機能は、ユーザが、図形５１０の表示を変更するための条件と合致する幅および／または高さを選択することに基づき、図形５１０の表示を変更する。
【００８３】
また、例示的ユーザインターフェース１３２は、タンク１０１フィールドデバイスのレベルの百分率の計算（例えば、％レベル＝１００×（レベル／５６．３ガル）を含む、変換パネル５１６も含む。いくつかの例では、計算は、ユーザによって入力されてもよい。他の例では、タンク１０１フィールドデバイスに関連付けられるＥＤＤファイルは、計算を含む場合がある。変換パネル５１６は、計算を介した、表現スクリプト拡張機能の例を示す。例えば、計算は、ある数で除算されるレベルパラメータ（例えば、レベル／５６．３）を含む。次いで、結果としてもたらされる値は、１００で乗算される。このようにして、表現スクリプト拡張機能は、タンク１０１フィールドデバイスが、百分率値を送信する代わりに、タンク１０１フィールドデバイスのレベルの百分率を計算し、それによって、タンク１０１フィールドデバイス内のデータ処理量を低減する。変換パネル５１６内に示される計算は、比較的単純であるが、他のＥＤＤファイルは、ディスプレイインターフェース１０２に関連付けられる処理能力を必要とする、比較的複雑な表現（例えば、再帰代数フィードバック機能）を含んでもよい。
【００８４】
図６は、タンク１０１デバイスに関連付けられるプロセス制御情報を表示する、ユーザインターフェース１３２を示す。例示的ディスプレイインターフェース１０２は、プロセス制御情報を図式的に表示するために、タンク１０１フィールドデバイスに関連付けられるＥＤＤファイルを実行する。例えば、ディスプレイインターフェース１０２は、ユーザによって、図５のパラメータパネル５０６を介して特定される、パラメータパネル６０２を表示する。図６の例示的パラメータパネル６０２は、デバイスによって報告される値に基づく、タンク１０１フィールドデバイスのレベルの百分率（例えば、Ｌｅｖｅｌ）を示す。また、パラメータパネル６０２は、タンク１０１フィールドデバイスによって報告される流体の温度も含む。
【００８５】
また、ユーザインターフェース１３２は、図形５１０を示す、図５の図形パネル５０８も含む。例示的ディスプレイインターフェース１０２は、機能スクリプト拡張機能およびコンバータスクリプト拡張機能内の条件と合致させるためのプロセス制御情報として、タンク１０１フィールドデバイスのレベル（例えば、２３％）を使用してもよい。機能スクリプト拡張機能は、例えば、以下の命令を含んでもよい。
【数２】
0006008481.tif 000003
【００８６】
機能スクリプト拡張機能のこれらの命令は、表示プロセッサ１０２に、報告されるレベルが０未満の場合に０％のレベルを有する図形５１０を示させ、タンク１０１フィールドデバイスから報告されるレベルが９９．９を超える場合に９９．９％のレベルを有する図形５１０を示させる。このようにして、タンク１０１フィールドデバイスによって報告されるレベルプロセス制御情報は、図形５１０内にどのレベルを示すかを判定するために、条件（例えば、０未満および９９．９を超える）と比較される。他の例では、機能は、レベルが０未満の場合、またはレベルが９９．９を超える場合に異なる図形を表示するアクションを含んでもよい。加えて、機能スクリプト拡張機能は、ディスプレイインターフェース１０２に、タンク１０１フィールドデバイスのレベルをディレクトリおよび／またはメモリ位置のパラメータに書き込ませる、命令（例えば、‘ＤＶＲｔ：ｆｌｏａｔ／／ＴＮＫ１０１／ＬＥＶＥＬ．ＣＶ’＝ｌｅｖｅｌ；）を含む。また、ＥＤＤファイルは、ディスプレイインターフェース１０２に、図形５１０内にタンク１０１フィールドデバイスのレベル（例えば、２３％線）を示させる命令（図示せず）を、機能スクリプト拡張機能内に含んでもよい。
【００８７】
また、例示的図形５１０は、タンク１０１フィールドデバイスに関連付けられるＥＤＤファイル内のコンバータスクリプト拡張機能に関連付けられてもよい。例えば、コンバータスクリプト拡張機能は、以下の命令を含んでもよい。
【数３】
0006008481.tif 000004
【００８８】
これらの命令は、ディスプレイインターフェース１０２に、タンク１０１フィールドデバイスによって生成されるレベルプロセス制御情報を、条件（例えば、１０．０未満または９０．０を超える）と比較させる。この例では、条件は、ユーザが図５のパラメータパネル５０６の下範囲パラメータおよび上範囲パラメータ内の値を入力することによって、特定されていてもよい。コンバータスクリプト拡張機能に基づき、タンク１０１フィールドデバイスの報告されるレベルが１０％未満である、または９０％を超える場合、ディスプレイインターフェース１０２は、タンク１０１フィールドデバイスのレベルを描写する、赤色のバー６０４を示す。そうでなければ、ディスプレイインターフェース１０２は、緑色のバー６０４を示す。このようにして、ディスプレイインターフェース１０２は、レベルプロセス制御情報を、バー６０４の色に変換する。他の比較的より複雑な例では、コンバータスクリプト拡張機能は、タンク１０１フィールドデバイスのレベルが条件と合致すること（例えば、９０％以上または１０％以下）を示すために、ディスプレイインターフェース１０２に、図形パネル５０８内に、図形５１０に隣接して、一種の警報図形を表示するよう命令してもよい。これらの例では、命令は、図２の図形データベース２２６内の図形へのリンクを含んでもよい。
【００８９】
図７は、マイクロチャート図７０２内に、タンク１０１フィールドデバイスに関連付けられるプロセス制御情報を図式的に表示する、ユーザインターフェース１３２を示す。この例では、ユーザは、メニューパネル５０４内の「状態セットアップ」メニュー項目を選択し、それによって、ディスプレイインターフェース１０２に、表示情報を記述するＥＤＤファイルの部分を実行させ、ユーザが、タンク１０１フィールドデバイスの状態の図式表示（例えば、マイクロチャート図７０２）をセットアップすることを可能にする。図式表示は、ユーザが、トリガスクリプト拡張機能の条件を特定することを可能にする、トリガパラメータ表７０４を含む。このようにして、ユーザは、ユーザがＥＤＤファイル内の命令を修正することなく、ディスプレイインターフェース１０２に、マイクロチャート図７０２を修正させるために、トリガパラメータ表７０４内に値を入力してもよい。
【００９０】
例示的トリガパラメータ表７０４は、トリガスクリプト拡張機能の目的を記述する、特性パラメータを含む。トリガパラメータ表７０４内のパラメータによって記述されるトリガスクリプト拡張機能は、マイクロチャート７０２のタイムラインを１０００ミリ秒（ｍｓ）毎に延長する。トリガパラメータは、ユーザがマイクロチャート図７０２を閲覧する際にトリガスクリプト拡張機能が有効にされるか否かを示す。期間パラメータは、アクションスクリプトパラメータ内に定義されるイベントが発生する時間を特定する。名前パラメータは、ユーザが、トリガスクリプト拡張機能の識別値を提供することを可能にする。
【００９１】
さらに、自動リセットパラメータは、ユーザが、期間パラメータ内に特定される値が閾値に到達すると、トリガスクリプト拡張機能がリセットするか否かを選択することを可能にする。アクションスクリプトパラメータは、期間パラメータ内に特定される値の期限が切れると、マイクロチャート図７０２がどのように変更されるかを特定する。この例では、マイクロチャート図７０２のタイムラインが、１０単位だけ増加される。このようにして、マイクロチャート図７０２は、タイマの漸次的増加が１０００ｍｓに到達する（例えば、合致する）と、ディスプレイインターフェース１０２によって変更される。タイムラインは、ＥＤＤファイルを実行するディスプレイインターフェース１０２によって、タンク１０１フィールドデバイスによって一定期間ごとに報告される追加の状態情報を示すように延長されてもよい。
【００９２】
図１および図２のディスプレイインターフェース１０２ならびに／またはスクリプトジェネレータ１０８を実装するための例示的プロセス８００および９００を表すフローチャートが、図８Ａ、図８Ｂ、図９Ａ、および図９Ｂに示される。この例では、プロセス８００および９００は、機械可読命令を使用して、図１０に関連して以下で説明される例示的プロセッサシステムＰ１０内に示される、プロセッサＰ１２等のプロセッサによって実行するためのプログラムの形態で実装される場合がある。このプログラムは、プロセッサＰ１２に関連付けられる、ＣＤ−ＲＯＭ、フロッピー(登録商標)ディスク、ハードドライブ、デジタル多用途ディスク（ＤＶＤ）、またはメモリ等のコンピュータ可読媒体上に記憶されるソフトウェアで具現化されてもよいが、代替として、プログラム全体および／またはその一部が、プロセッサＰ１２以外のデバイスによって実行されることも可能であり、ならびに／あるいはファームウェアもしくは専用ハードウェアで具現化されることも可能である。さらに、図８Ａ、図８Ｂ、図９Ａ、および図９Ｂに図示されるフローチャートを参照して例示的プログラムを説明したが、代替として、例示的ディスプレイインターフェース１０２および／またはスクリプトジェネレータ１０８を実装する多くの他の方法が使用されてもよい。例えば、ブロックを実行する順序が変更されてもよく、および／または記載されるブロックのうちのいくつかが変更、排除、もしくは組み合わされてもよい。
【００９３】
上述のように、図８Ａ、図８Ｂ、図９Ａ、および図９Ｂの例示的プロセスは、ハードディスクドライブ、フラッシュメモリ、読み取り専用メモリ（ＲＯＭ）、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）、キャッシュメモリ、ランダムアクセスメモリ（ＲＡＭ）、および／または情報が任意の期間（例えば、延長された期間、永久的、短いインスタンス、一時的にバッファリングする間、および／または情報をキャッシングする間）記憶される任意の他の記憶媒体等の有形のコンピュータ可読媒体上に記憶される、コード化された命令（例えば、コンピュータ可読命令）を使用して、実装することができる。本明細書で使用される場合、有形のコンピュータ可読媒体という用語は、任意の種類のコンピュータ可読記憶装置を含み、伝播信号を除くことが明示的に定義される。加えてまたは代替として、図８Ａ、図８Ｂ、図９Ａ、および図９Ｂの例示的プロセスは、ハードディスクドライブ、フラッシュメモリ、読み取り専用メモリ、コンパクトディスク、デジタル多用途ディスク、キャッシュメモリ、ランダムアクセスメモリ、および／または情報が任意の期間（例えば、延長された期間、永久的、短いインスタンス、一時的にバッファリングする間、および／または情報をキャッシングする間）記憶される任意の他の記憶媒体等の非一過性コンピュータ可読媒体上に記憶される、コード化された命令（例えば、コンピュータ可読命令）を使用して実装されてもよい。本明細書で使用される場合、非一過性コンピュータ可読媒体という用語は、任意の種類のコンピュータ可読媒体を含み、伝播信号を除くことが明示的に定義される。
【００９４】
図８Ａおよび図８Ｂの例示的プロセス８００は、ユーザによって要求されたプロセス制御情報に基づき、図形を表示する。図８Ａの例示的プロセス８００は、プロセス制御情報の閲覧要求（例えば、図２の受信部２２０を介して）受信することによって開始する（ブロック８０２）。要求は、フィールドデバイスの識別子、コンポーネント、プロセス制御環境内の領域、および／またはプロセス制御情報の任意の他の識別表示を含んでもよい。次いで、例示的プロセス８００は、例えば、要求に含まれる、および／または要求に関連付けられるフィールドデバイスの少なくとも１つの識別子を判定する（例えば、ＥＤＤプロセッサ２２２を介して）（ブロック８０４）。例示的プロセス８００は、例えば、ＥＤＤライブラリ１２０内に記憶される、少なくとも１つのＥＤＤファイルを見つけるために、識別子（単数または複数）を使用する（例えば、ＥＤＤプロセッサ２２２を介して）（ブロック８０６）。
【００９５】
次いで、例示的プロセス８００は、表示ファイルを作成するために、選択されたＥＤＤファイル（単数または複数）内の命令を実行する（例えば、図形プロセッサ２２４を介して）（ブロック８０８）。命令を実行することは、メニュー機能性、メニューおよび／もしくは他の図形を表示するための情報、ならびに／またはフィールドデバイスに関連付けられる任意の他の表示および／もしくは処理情報を判定することを含んでもよい。また、例示的プロセス８００は、例えば、データベース１２４内に記憶されるプロセス制御情報にアクセスするために、命令を使用する（例えば、図形プロセッサ２２４を介して）。例えば、ＥＤＤファイル内のいくつかの命令は、フィールドデバイスによって生成されたプロセス制御情報を参照、および／またはプロセス制御情報にリンクする場合がある。
【００９６】
また、例示的プロセス８００は、ＥＤＤファイル（単数または複数）内のスクリプト拡張機能も実行する（例えば、図形プロセッサ２２４を介して）（ブロック８１２）。例示的プロセス８００は、プロセス制御情報内の値、属性、および／もしくは特性の計算ならびに／または比較を実施する、表現スクリプト拡張機能を実行する場合がある。また、例示的プロセス８００は、プロセス８００に、プロセス制御イベントが検出される場合に図形を表示するよう命令する、イベントハンドラスクリプト拡張機能も実行する場合がある。加えて、例示的プロセス８００は、機能および／もしくは方法スクリプト拡張機能、コンバータスクリプト拡張機能、トリガスクリプト拡張機能、ならびに／または任意の他の種類のスクリプト拡張機能を実行する場合がある。スクリプト拡張機能を実行すると同時に、例示的プロセス８００は、スクリプト拡張機能によって特定される条件が、条件内で参照されるプロセス制御情報の一部分と合致するか否かを判定する（例えば、図形プロセッサ２２４を介して）（ブロック８１４）。換言すれば、例示的プロセス８００は、スクリプト拡張機能内の変数、パラメータ、属性、および／または参照によって特定されるプロセス制御情報の一部分が、閾値および／もしくは特定されるイベント（例えば、条件）と合致するか否か、ならびに／またはそれを超えるか否かを判定する。
【００９７】
例示的プロセス８００が、条件がプロセス制御情報の一部分と合致すると判定する場合、例示的プロセス８００は、条件によって参照され、かつ／または条件内に含まれる、少なくとも１つの図形を見つける（例えば、図形プロセッサ２２４を介して）（ブロック８１６）。例示的プロセス８００は、例えば、参照される図形（単数または複数）を検索するために、図形データベース２２６にアクセスすることができる。次いで、例示的プロセス８００は、対応するプロセス制御情報と共に、図形を表示ファイルに追加する（例えば、図形プロセッサ２２４を介して）（ブロック８１８）。図形を追加することは、参照を表示ファイルにある図形データベース２２６内の図形の位置に提供すること、および／または図形を記述する情報をコピーし、コピーした情報を表示ファイルに挿入することを含んでもよい。次いで、例示的プロセス８００は、他のスクリプト拡張機能内で処理すべき追加条件が存在するか否かを判定する（例えば、図形プロセッサ２２４を介して）（ブロック８２０）。処理すべき追加条件が存在する場合、例示的プロセス８００は、ブロック８１４へ戻り、残りの条件のうちの１つが参照されるプロセス制御情報の一部分と合致するか否かを判定する。
【００９８】
しかしながら、処理すべき追加条件が存在しない場合、図８Ｂの例示的プロセス８００は、要求されるプロセス制御情報の表示を生成するために、表示ファイルをレンダリングする（例えば、レンダラー２２８を介して）ことによって継続する（ブロック８２２）。また、プロセス制御情報の一部分と合致する条件がない場合（ブロック８１４）、例示的プロセスは、ブロック８２２を実行する。例示的プロセス８００は、ＥＤＤファイル（単数または複数）および／または図形データベース２２６内で定義される特性を使用して、表示可能な図形を作成および／または生成し、プロセス制御情報を、図形によって特定される、対応するパラメータ、変数、および／または属性に挿入することによって、表示ファイルをレンダリングする場合がある。
【００９９】
次いで、例示的プロセス８００は、プロセス制御情報をアプリケーション（例えば、アプリケーション１３０）内に図式的に表示するために（例えば、レンダラー２２８を介して）、レンダリングされた表示ファイルをユーザインターフェース（例えば、図１のユーザインターフェース１３２）に送信する（ブロック８２４）。次いで、例示的プロセス８００は、別の追加プロセス制御情報の閲覧要求が受信されているか否か（例えば、受信部２２０を介して）を判定してもよい（ブロック８２６）。別の要求が受信されている場合、例示的プロセス８００は、図８Ａのブロック８０４に戻り、要求内に含まれる、少なくとも１つの識別子を判定する。例示的プロセス８００は、ユーザがディスプレイインターフェース１０２の使用を中断するまで要求を確認し続けてもよい。代替として、例示的プロセス８００は、追加要求が検出されない場合、終了してもよい。
【０１００】
図９Ａおよび図９Ｂの例示的プロセス９００は、少なくとも１つのフィールドデバイスに関連付けられる情報に基づき、ＥＤＤファイルを生成する。図９Ａの例示的プロセス９００は、フィールドデバイスに関連付けられる情報を受信する（例えば、図２のエディタ２０２を介して）ことによって開始する（ブロック９０２）。情報は、フィールドデバイスによって生成され、例えば、データベース１２４内に記憶される、プロセス制御情報を含む場合がある。また、情報は、フィールドデバイスの製造業者からの仕様および／またはフィールドデバイス内に記憶される任意の情報も含む場合がある。次いで、例示的プロセス９００は、例えば、ＥＤＤライブラリ１２０にアクセスし、ＥＤＤファイルを検索する（例えば、エディタ２０２を介して）ことによって、フィールドデバイスに対するＥＤＤファイルが存在するか否かを判定する（ブロック９０４）。例示的プロセス９００は、フィールドデバイスと合致する任意のＥＤＤファイルについて、ＥＤＤライブラリ１２０を確認することによって、ＥＤＤファイルが存在することを判定してもよい。いくつかの例では、ＥＤＤファイルは、フィールドデバイス内に記憶され、例示的プロセス９００によって受信されてもよい。
【０１０１】
フィールドデバイスに対するＥＤＤファイルが存在する場合、例示的プロセス９００は、ＥＤＤライブラリ１２０からＥＤＤファイルを取り出す（例えば、エディタ２０２を介して）（ブロック９０６）。しかしながら、ＥＤＤファイルが存在しない場合、例示的プロセス９００は、受信した情報に基づき、ＥＤＤファイルを作成する（例えば、エディタ２０２を介して）（ブロック９０８）。いくつかの例では、プロセス制御設計者および／またはフィールドデバイス設計者は、フィールドデバイスに関連付けられる仕様に基づき、ＥＤＤファイルを作成してもよい。他の例では、プロセス９００は、どのようにプロセス制御情報および／またはメニュー項目が図式的に表示されるかに関するガイドとして情報を使用して、ＥＤＤファイルを生成してもよい。
【０１０２】
ＥＤＤファイルを作成した後、または取り出した後（ブロック９０６または９０８）、例示的プロセス９００は、いつフィールドデバイスに関連付けられるプロセス制御情報が図形として表示されるかを（例えば、エディタ２０２を介して）識別する情報に基づき、条件（単数または複数）を決定することによって継続する（ブロック９１０）。次いで、例示的プロセス９００は、判定された条件と合致するスクリプト拡張機能（単数または複数）について、データベース（例えば、スクリプト拡張機能データベース２１０）にアクセスする（例えば、エディタ２０２を介して）（ブロック９１２）。スクリプト拡張機能データベース２０４は、例えば、表現、機能、方法、トリガ、変換する、および／またはイベントハンドラを含む、例示的プロセス９００が検索する場合がある、任意の数および／または種類のスクリプト拡張機能を含んでもよい。例示的プロセス９００は、条件の変数、属性、および／もしくはパラメータの種類ならびに／またはそれらの間の関係を、スクリプト拡張機能内の変数、属性、および／もしくはパラメータの種類ならびに／またはそれらの間の関係と比較することによって、条件をスクリプト拡張機能と合致させる場合がある。
【０１０３】
スクリプト拡張機能データベース２０４内のスクリプト拡張機能のいずれも、条件（単数または複数）のいずれにも合致しない場合（ブロック９１４）、例示的プロセス９００は、合致しなかった条件のそれぞれに対するスクリプト拡張機能（単数または複数）を作成する（例えば、エディタ２０２を介して）（ブロック９１６）。例示的プロセス９００は、条件を、いくつかのプロセス制御情報を識別する、１つ以上の変数、属性、および／またはパラメータとの比較を含む、１つ以上の実行可能な命令に変換することによって、スクリプト拡張機能を作成してもよい。また、例示的プロセス９００は、プロセス制御情報が条件と合致する場合に表示される図形を判定することによって、スクリプト拡張機能を作成してもよい。代替として、スクリプト拡張機能は、ユーザによって特定および／または作成されてもよい。次いで、例示的プロセス９００は、ＥＤＤファイル内にスクリプト拡張機能（単数または複数）を含む。さらに、条件と合致する任意のスクリプト拡張機能（ブロック９１４）について、例示的プロセス９００は、スクリプト拡張機能データベース２０４からの合致するスクリプト拡張機能をＥＤＤファイル内に含む。
【０１０４】
図９Ｂの例示的プロセス９００は、エラーについてＥＤＤファイルをスキャンすることによって、スクリプト拡張機能を伴うＥＤＤファイルをコンパイルする（例えば、スキャナ２０８を介して）ことによって継続する（ブロック９２０）。少なくとも１つのエラーが検出される場合（ブロック９２２）、例示的プロセス９００は、エラーを報告するエラーメッセージをユーザに送信する（例えば、エディタ２０２を介して）（ブロック９２４）。次いで、例示的プロセス９００は、エラー（単数または複数）を訂正するための命令を受信する（例えば、エディタ２０２を介して）（ブロック９２６）。例示的プロセス９００は、エラーを訂正し、プロセス制御システムに従うように、ＥＤＤファイルを、プロセス制御人員によって特定されるフォーマットおよび／または標準に変換する（例えば、インタプリタ２１２を介して）（ブロック９２８）。いくつかの例では、ＥＤＤファイルは、変換されない場合がある。これらの例では、ブロック９２８は、例示的プロセス９００によって省略される。
【０１０５】
例示的プロセス９００は、次に、ＥＤＤファイルを圧縮二値フォーマットにトークン化してもよい（例えば、トークナイザ２１０を介して）（ブロック９３０）。次いで、例示的プロセス９００は、ＥＤＤファイルおよび／またはトークン化されたＥＤＤファイルを、例えば、ＥＤＤライブラリ１２０に記憶してもよい（例えば、コンパイラ２０６を介して）（ブロック９３２）。他の例では、プロセス９００は、ＥＤＤファイルを、例えば、図１のワークステーション１０６等のデバイスに送信してもよい。また、例示的プロセス９００は、スクリプト拡張機能が追加ＥＤＤファイルに追加されるか否かを判定する（例えば、エディタ２０２を介して）（ブロック９３４）。追加ＥＤＤファイルが存在する場合、図９Ａの例示的プロセス９００は、ブロック９０２に戻り、ＥＤＤファイルを取り出し、かつ／または作成するために、フィールドデバイスに関連付けられる情報を受信する。処理すべき追加ＥＤＤファイルが存在しない場合、例示的プロセス９００は終了する。
【０１０６】
図１０は、本明細書に記述される例示的方法および装置が実装するために使用される場合がある、例示的プロセッサシステムＰ１０のブロック図である。例えば、図１および／または図２の例示的エディタ２０２、例示的スクリプト拡張機能データベース２０４、例示的コンパイラ２０６、例示的スキャナ２０８、例示的トークナイザ２１０、例示的インタプリタ２１２、例示的受信部２２０、例示的ＥＤＤプロセッサ２２２、例示的図形プロセッサ２２４、例示的図形データベース２２６、例示的レンダラー２２８、ならびに／または、より一般的には、例示的ディスプレイインターフェース１０２および／もしくはスクリプトジェネレータ１０８を実装するために、例示的プロセッサシステムＰ１０と同様または同一のプロセッサシステムが使用されてもよい。例示的プロセッサシステムＰ１０は、複数の周辺機器、インターフェース、チップ、メモリ等を含むように以下に説明されるが、これらの要素のうちの１つ以上が、例示的エディタ２０２、例示的スクリプト拡張機能データベース２０４、例示的コンパイラ２０６、例示的スキャナ２０８、例示的トークナイザ２１０、例示的インタプリタ２１２、例示的受信部２２０、例示的ＥＤＤプロセッサ２２２、例示的図形プロセッサ２２４、例示的図形データベース２２６、例示的レンダラー２２８、ならびに／または、より一般的には、例示的ディスプレイインターフェース１０２および／もしくはスクリプトジェネレータ１０８のうちの１つ以上を実装するために使用される他の例示的プロセッサシステムから削除されてもよい。
【０１０７】
図１０に示されるように、プロセッサシステムＰ１０は、相互接続バスＰ１４に接続される、プロセッサＰ１２を含む。プロセッサＰ１２は、図１０では完全にオンチップであるように描写されるが、代替として、完全に、または部分的にオフチップであり、専用電気接続を介して、および／または相互接続バスＰ１４を介して、プロセッサＰ１２に直接接続される可能性がある、レジスタセットまたはレジスタ空間Ｐ１６を含む。プロセッサＰ１２は、任意の好適なプロセッサ、処理ユニット、またはマイクロプロセッサであってもよい。図１０には図示されていないが、システムＰ１０は、マルチプロセッサシステムであってもよく、したがって、プロセッサＰ１２と同一である、または類似し、相互接続バスＰ１４に通信可能に接続される、１つ以上の追加プロセッサを含んでもよい。
【０１０８】
図１０のプロセッサＰ１２は、メモリコントローラＰ２０と、周辺機器入力／出力（Ｉ／Ｏ）コントローラＰ２２とを含む、チップセットＰ１８に接続される。周知であるように、チップセットは、典型的に、アクセス可能である、もしくはチップセットＰ１８に接続される１つ以上のプロセッサによって使用される、Ｉ／Ｏおよびメモリ管理機能、ならびに複数の汎用および／または専用レジスタ、タイマ等を提供する。メモリコントローラＰ２０は、プロセッサＰ１２（または、複数のプロセッサが存在する場合、プロセッサ（複数））がシステムメモリＰ２４および大容量記憶メモリＰ２５にアクセスすることを可能にする、機能を実施する。
【０１０９】
システムメモリＰ２４は、例えば、静的ランダムアクセスメモリ（ＳＲＡＭ）、動的ランダムアクセスメモリ（ＤＲＡＭ）、フラッシュメモリ、読み取り専用メモリ（ＲＯＭ）等の任意の所望の種類の揮発性および／または不揮発性メモリを含んでもよい。大容量記憶メモリＰ２５は、任意の所望の種類の大容量記憶デバイスを含むことができる。例えば、例示的プロセッサシステムＰ１０が、例示的スクリプト拡張機能データベース２０４および／または例示的図形データベース２２６（図１および図２）を実装するために使用される場合、大容量記憶メモリＰ２５は、ハードディスクドライブ、光学式ドライブ、テープ記憶デバイス等を含んでもよい。代替として、例示的プロセッサシステムＰ１０が、スクリプト拡張機能データベース２０４および／または図形データベース２２６を実装するために使用される場合、大容量記憶メモリＰ２５は、固体メモリ（例えば、フラッシュメモリ、ＲＡＭメモリ等）、磁気メモリ（例えば、ハードドライブ）、またはスクリプト拡張機能データベース２０４および／または図形データベース２２６内の大容量記憶に好適な任意の他のメモリを含んでもよい。
【０１１０】
周辺機器Ｉ／ＯコントローラＰ２２は、プロセッサＰ１２が、周辺機器Ｉ／ＯバスＰ３２を介して、周辺機器入力／出力（Ｉ／Ｏ）デバイスＰ２６およびＰ２８、ならびにネットワークインターフェースＰ３０と通信することを可能にする、機能を実施する。Ｉ／ＯデバイスＰ２６およびＰ２８は、例えば、キーボード、ディスプレイ（例えば、液晶ディスプレイ（ＬＣＤ）、ブラウン管（ＣＲＴ）ディスプレイ等）、ナビゲーションデバイス（例えば、マウス、トラックボール、静電容量式タッチパッド、ジョイスティック等）等の任意の所望の種類のＩ／Ｏデバイスであってもよい。ネットワークインターフェースＰ３０は、プロセッサシステムＰ１０が別のプロセッサシステムと通信することを可能にする、例えば、イーサネット(登録商標)デバイス、非同期転送モード（ＡＴＭ）デバイス、８０２．１１デバイス、ＤＳＬモデム、ケーブルモデム、携帯電話モデム等であってもよい。
【０１１１】
メモリコントローラＰ２０およびＩ／ＯコントローラＰ２２は、チップセットＰ１８内の別個の機能ブロックとして図１０に描写されるが、これらのブロックによって実施される機能は、単一の半導体回路内に集積されてもよく、または、２つ以上の別個の集積回路を使用して実装されてもよい。
【０１１２】
上述の例示的方法および／または装置のうちの少なくともいくつかは、コンピュータプロセッサ上で動く、１つ以上のソフトウェアおよび／またはファームウェアプログラムによって実装される。しかしながら、本明細書に記述される例示的方法および／または装置のうちのいくつか、またはすべてを、全体的に、または部分的に実装するために、特定用途向け集積回路、プログラマブル論理アレイ、および他のハードウェアデバイスを含むが、これらに限定されない、専用ハードウェア実装を、同様に構築することができる。さらに、また、分散処理もしくはコンポーネント／オブジェクト分散処理、並列処理、または仮想機械処理を含むが、これらに限定されない、代替のソフトウェア実装も、本明細書に記述される例示的方法および／またはシステムを実装するために構築することができる。
【０１１３】
また、本明細書に記述される例示的ソフトウェアおよび／またはファームウェア実装は、磁気媒体（例えば、磁気ディスクまたはテープ）、光ディスク等の光磁気媒体もしくは光媒体、あるいはメモリカード、または１つ以上の読み取り専用（不揮発性）メモリ、ランダムアクセスメモリ、もしくは他の書き換え可能（揮発性）メモリを収容する他のパッケージ等の固体媒体等の有形記憶媒体上に記憶されることにも留意されたい。したがって、本明細書に記述される例示的ソフトウェアおよび／またはファームウェアは、上述されるもの、またはとって代わる記憶媒体等の有形記憶媒体上に記憶することができる。上記の明細書が、特定の標準およびプロトコルを参照して、例示的コンポーネントおよび機能を説明する範囲について、本特許の範囲は、そのような標準およびプロトコルに限定されないことが理解される。
【０１１４】
加えて、本特許は、ハードウェア上で実行されるソフトウェアまたはファームウェアを含む、例示的方法および装置を開示するが、そのようなシステムは、例示にすぎず、制限として解釈されるべきではないことに留意されたい。例えば、これらのハードウェアおよびソフトウェアコンポーネントのうちのいずれか、またはすべてを、ハードウェアのみで、ソフトウェアのみで、ファームウェアのみで、またはハードウェア、ファームウェア、および／もしくはソフトウェアの何らかの組み合わせで具現化できる可能性があることが意図される。したがって、上記の明細書は、例示的方法、システム、および機械がアクセス可能な媒体を説明したが、例は、そのようなシステム、方法、および機械がアクセス可能な媒体を実装するための唯一の方法ではない。したがって、特定の例示的方法、システム、および機械がアクセス可能な媒体が本明細書に記述されてきたが、本特許の対象範囲は、これらに限定されない。それどころか、本特許は、文言上、または均等論の下で適正に添付の特許請求の範囲内である、すべての方法、システム、および機械がアクセス可能な媒体を対象とする。
【図１】
0006008481.tif 000005
【図２】
0006008481.tif 000006
【図３】
0006008481.tif 000007
【図４】
0006008481.tif 000008
【図５】
0006008481.tif 000009
【図６】
0006008481.tif 000010
【図７】
0006008481.tif 000011
【図８Ａ】
0006008481.tif 000012
【図８Ｂ】
0006008481.tif 000013
【図９Ａ】
0006008481.tif 000014
【図９Ｂ】
0006008481.tif 000015
【図１０】
0006008481.tif 000016