(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0009】
以下は、他のコンポーネントの中でも特に、ハードウェア上に実装されるソフトウェアおよび/またはファームウェアを含む、例示的方法ならびに装置を記述するが、これらの例は、解説にすぎず、制限として見なされるべきではないことに留意されたい。例えば、ハードウェア、ソフトウェア、およびファームウェアコンポーネントのうちのいずれかまたはすべては、ハードウェアのみで、ソフトウェアのみで、またはハードウェアおよびソフトウェアの任意の組み合わせによって具現化することができることが意図される。したがって、以下が例示的方法および装置を記述する一方で、当業者は、提供される例が、そのような方法および装置を実装する唯一の方法ではないことを容易に理解するであろう。例えば、例示的方法および装置は、プロセス制御情報を表示することに関連して記述される一方、例示的方法および装置は、より一般的に適用可能であり、任意の自動化システム、バッチ処理システム、製造システム、産業用制御システム、安全計装システム等に関連する情報を表示するために実装することができる。
【0010】
プロセス制御システムは、一般に、制御システム内にあるフィールドデバイスを管理する、ルーチン、制御戦略、および/またはアルゴリズムを実施する、コントローラを含む。フィールドデバイスは、例えば、弁、弁ポジショナ、スイッチ、および送信部であってもよく、弁の開閉、およびプロセス制御パラメータの測定等のプロセス制御機能を実施する場合がある。フィールドデバイスを管理することに加えて、コントローラは、フィールドデバイスから受信されるデータに基づき、プロセス制御情報を生成する場合がある。プロセス制御情報は、プロセス統計、警報、監視情報、プロセストレンド情報、診断情報、フィールドデバイス状態情報、および/またはフィールドデバイスからのメッセージを含むことができる。
【0011】
コントローラは、オペレータがプロセス制御システムを管理できるように、ワークステーション上で動作するアプリケーションにプロセス制御情報を送信する。典型的に、アプリケーションは、少なくとも1つの図式データ表現として、プロセス制御情報をユーザインターフェース内に表示する。これらのデータ表現は、典型的に、チャート、グラフ、データ表、リストボックス、図式記号、テキスト等の形態で、プロセス制御情報を図式的に表示するため、データ表現は、オペレータにとって有用である。ユーザインターフェース内のデータ表現および対応するテキストは、一般に、情報を閲覧するオペレータのロケールに関連するフォーマットおよび/または言語で表示される。
【0012】
多くの既知のシステムでは、ワークステーションは、対応する電子デバイス記述(EDD)ファイルを介して、フィールドデバイスからのプロセス制御情報を表示する。多くの場合、EDDファイルは、対応するフィールドデバイスと共に、プロセス制御環境に輸送される。いくつかの例では、EDDファイルは、フィールドデバイス内に含まれ、フィールドデバイスをプロセス制御システムにインストールすると、プロセス制御システムにアップロードされてもよい。これらの場合では、コントローラが、EDDファイルを記憶してもよい。代替として、プロセス制御システムに接続される各ワークステーションが、EDDファイルのローカルコピーを記憶してもよい。他の例では、プロセス制御人員は、EDDファイルを中央データベースに記憶し、対応するフィールドデバイスからのプロセス制御情報を表示するために、EDDファイルにアクセスしてもよい。
【0013】
現在、多くの広く使用されるプロセス制御通信プロトコルは、電子デバイス記述言語(EDDL)標準に準拠するEDDファイルの使用をサポートする。これらのプロセス制御プロトコルとしては、例えば、Foundation Fieldbus、Hart Communication Foundation、およびProfibusが挙げられる。さらに、フィールド機器統合(FDI)標準は、プロセス制御人員によって使用される共通ツールセットを作成して、制御システム内の共に通信可能に接続されるフィールドデバイスを管理するために、EDDLの使用をサポートする場合がある。
【0014】
EDDLは、診断情報、状態情報、資産管理情報、および/またはフィールドデバイスに関連付けられる任意の他のプロセス制御情報にアクセスするためのEDDファイルを作成する普遍的方法を提供する。このようにして、EDDLは、フィールドデバイスをプロセス制御システムと統合し、それによって、ワークステーション(例えば、プロセッサ、サーバ、コンピュータ等)および/または手持ち式デバイス(例えば、フィールド通信器、携帯電話、スマートフォン、ラップトップ、ネットパッド等)によってフィールドデバイスからのプロセス制御情報にアクセスされる場合がある、相互運用環境を作り出すために、プロセス制御人員によって使用されてもよい。ワークステーションおよび/または手持ち式デバイスは、フィールドデバイスを設定するため、フィールドデバイスを較正するため、フィールドデバイスに関連する問題を診断するため、ならびに/またはデータ、状態情報、および/もしくは警報をユーザインターフェースディスプレイに提供するために、EDDLフォーマット済みのEDDファイルと組み合わせて、プロセス制御情報を使用することができる。このようにして、EDDファイルは、ワークステーションおよび/または手持ち式デバイス上で動作するアプリケーションが、対応するフィールドデバイスによって生成されるプロセス制御情報の図式表現を表示することを可能にする。
【0015】
EDDLは、フィールドデバイスの特性、パラメータ、および/または機能を記述するために使用されてもよい、テキストに基づく言語である。この機能性としては、例えば、メニューシステム記述、一般的なデバイス情報、診断、性能解析情報、動作統計、パラメータ化情報、範囲設定情報、シミュレーションパラメータ、オーバーライド情報、較正トリム情報、監視情報、デバイスセキュリティプロトコル、および/またはリセット情報が挙げられる。フィールドデバイスの製造業者は、通信プロトコルおよび/またはデバイスオペレーティングシステム(例えば、Windows(登録商標)、Android、Blackberry OS、iOS等)とは関係なく、プロセス制御情報にアクセスし、プロセス制御情報を表示する、ホストワークステーションおよび/もしくは手持ち式デバイスの標準化形態ならびに/または構造を提供するEDDファイルを作成するために、EDDLを使用する。フィールドデバイスによるEDDLの比較的広い使用を通じて、プロセス制御人員は、プロトコルおよび/またはプロセス制御システムの種類に関わらず、プロセス制御システムで使用するための、そのクラスで最高のフィールドデバイスを選択することができる。
【0016】
フィールドデバイス設計者は、フィールドデバイスに関連付けられるパラメータが、ユーザインターフェースを介して表示されるアプリケーション内のどこに表示されるかを定義するために、EDDファイルを使用する場合がある。表示情報は、パラメータ化プロセス制御情報の種類に基づく、ある種類の図式表現を含む場合がある。また、EDDファイルは、1ステップずつのフィールドデバイスセットアップ、対話型フィールドデバイスセットアップ、および/または較正手順を支援するために使用される、米国規格協会(ANSI)Cプログラミング言語のサブセットに基づく、スクリプト言語である、EDDL方法も含む場合がある。EDDファイルを使用して、フィールドデバイス製造業者は、プロセス制御人員が、フィールドデバイス機能性の全範囲内のフィールドデバイスにアクセスすることを可能にすることができ、すべてのメニューおよびパラメータは、製造業者によって意図されるように表示される。
【0017】
EDDファイルを定義するために、フィールドデバイス製造業者は、フィールドデバイスからのプロセス制御情報の図式表現が表示される、アプリケーション内の特定の位置を特定することができる。さらに、プロセス制御人員は、彼らの嗜好を反映するように、および/またはプロセス制御システム内の状態を反映するように、EDDファイルを編集することができる。しかしながら、多くの既知のEDDファイルは、図形の定義および表示(例えば、プロセス制御情報の図形表現)に関して固定的である。換言すれば、EDDファイルは、プロセス制御情報に基づき、図形を条件付きで表示することを支援しない場合があるため、図形は、プロセス制御情報に関わらず、アプリケーション内に表示される。
【0018】
さらに、多くの図形は、ユーザが、プロセス制御情報を閲覧している間、図形特性(例えば、寸法、テキスト、色、透明度、ユーザインターフェース内の位置等)および/または図形に関連付けられる特徴を変更できないようにすることによって、比較的固定的である。例えば、EDDファイルは、ポンプ速度を示す棒グラフがユーザインターフェースの中央に表示され、棒グラフが3インチの高さを有するように特定する場合がある。現在、この棒グラフを閲覧するユーザは、EDDファイルによって、棒グラフをユーザインターフェース内の別の位置に移動すること、棒グラフの高さを変更すること、棒グラフ内の色を変更すること等が制限されている場合がある。
【0019】
本明細書に記述される例示的方法および装置は、フィールドデバイスによって生成されるプロセス制御情報に基づき、図形を条件付きで表示するために、EDDファイル内に実装されてもよい、スクリプト拡張機能を実装する。また、ユーザによって提供される情報(例えば、図形上でのマウスクリック)に基づいて変更される場合がある、図式特性および/またはパラメータを定義することによって、ユーザが表示される図形を修正することを可能にするために、例示的スクリプト拡張機能は、EDDファイル内に組み込まれ、または実装されてもよい。
【0020】
スクリプト拡張機能は、1つ以上の条件と合致する、および/または1つ以上の条件を満たす、フィールドデバイスからのプロセス制御情報に基づき、ユーザインターフェース内に表示する図形を生成する、EDDファイル内の命令である。例えば、本明細書に記述される例示的方法および装置は、1つ以上のフィールドデバイスに関連付けられる属性および/または特性に関する表現を、図形を表示するためのスクリプト拡張機能として利用する場合がある。また、本明細書に記述される方法および装置は、フィールドデバイス内で所定のイベントが発生する際に図形を表示するためのスクリプト拡張機能として、イベントハンドラを利用することもできる。さらに、本明細書に記述される例示的方法および装置は、所定の条件と合致するフィールドデバイスからのプロセス制御情報の部分に基づき、値、更新パラメータ参照(単数または複数)を表示するため、および/もしくは計算値情報を記憶するための方法ならびに/または機能スクリプト拡張機能として、EDDファイル内に実装することができる。
【0021】
加えて、本明細書に記述される例示的方法および装置は、フィールドデバイスによって生成されるプロセス制御情報の一部分が所定の条件と合致する場合、プロセス制御情報を図形に変換するために、1つ以上のコンバータスクリプト拡張機能を利用する場合がある。また、スクリプト拡張機能は、一定期間ごとに変化するプロセス制御情報が条件(例えば、閾値)と合致する際に図形を表示する、トリガスクリプト拡張機能を含んでもよい。いくつかの例では、スクリプト拡張機能は、EDDファイルの複合構造内に定義され、プロセス制御情報を表示するために、他の命令および/または機能と対話することができる。
【0022】
例示的スクリプト拡張機能を作成するために、本明細書に記述される例示的方法および装置は、いつ図形が表示されるかを識別する、プロセス制御情報内の条件を決定する。いくつかの例では、プロセス制御設計者は、図形の表示についての嗜好に基づき、条件を定義することができる。条件は、例えば、フィールドデバイスからのいくつかのプロセス制御情報、またはフィールドデバイスに関連付けられるパラメータ値が、最大限度に近づいている、および/または最大限度を超えたことをユーザに警告するために指示図形を表示する、閾値を含む場合がある。また、条件は、例えば、イベントを表す図形が表示されることを示す、プロセス制御情報内に特定されるイベントをんでもよい。別の例では、条件は、プロセス制御情報の一部分を対応する図形に変更するための変換のリストを含む場合がある。加えて、条件は、いつ特定のパラメータがユーザによって修正されるかもしれないかを特定することができる。
【0023】
本明細書に記述される例示的方法および装置は、EDDファイル内のスクリプト拡張機能を生成するために、条件を使用することができる。例えば、いくつかの条件は、トリガスクリプト拡張機能によって実装されてもよく、一方、他の条件は、コンバータおよび/またはイベントハンドラスクリプト拡張機能によって埋め込まれてもよい。他の例では、条件は、機能および/または表現スクリプト拡張機能によって実装されてもよい。さらに他の例では、条件は、異なる種類のスクリプト拡張機能、および/または他の種類のスクリプト拡張機能の組み合わせを使用して、スクリプト拡張機能内に実装されてもよい。スクリプト拡張機能が生成されると、本明細書に記述される例示的方法および装置は、スクリプト拡張機能をEDDファイル内に組み込む、および/または含み、EDDファイルを、ワークステーションおよび/または手持ち式デバイスによってアクセス可能なデータベースに記憶する。
【0024】
EDDファイル内の例示的スクリプト拡張機能を利用することによって、本明細書に記述される例示的方法および装置は、プロセス制御人員および/またはフィールドデバイス製造業者が、プロセス制御情報をより包括的に、および/または完全に表示する、アプリケーションを設計することを可能にする。換言すれば、例示的スクリプト拡張機能は、デバイス製造業者が、計算および/または機能をフィールドデバイス内に含むことを試みるというよりはむしろ、ワークステーション上で実行される計算および/または機能を提供することを可能にする。ワークステーションおよび/または手持ち式デバイスは、一般的に、フィールドデバイスより大きな処理能力を有するため、デバイス製造業者は、EDDファイル内のスクリプト拡張機能を介して、比較的より複雑な図形および/または機能を実装する場合がある。さらに、例示的スクリプト拡張機能は、フィールドデバイス製造業者が、フィールドデバイスを支援し、維持するためのツールとして利用されるプロセス制御情報の図式表現に関して、彼らのデバイスにおける差別化を提供することを可能にする。
【0025】
図1は、例示的ディスプレイインターフェース102を含む、例示的プロセス制御環境100のブロック図を示す。例示的ディスプレイインターフェース102は、EDDファイル内に含まれるスクリプト拡張機能を使用した表示のために、図形をレンダリングする。ディスプレイインターフェース102は、プロセス制御システム104に関連付けられる。加えて、ディスプレイインターフェース102は、ワークステーション106によって実装されてもよく、かつ/またはワークステーション106内に含まれてもよい。他の例では、ディスプレイインターフェース102は、ワークステーション106に通信可能に接続され得る、サーバ、プロセッサ、分散コンピューティングネットワーク、および/または任意の他のコンピューティングデバイス(単数または複数)内に含まれてもよい。
【0026】
また、図示される例は、スクリプトジェネレータ108をホストするサーバ107も含む。スクリプトジェネレータ108は、プロセス制御システム104に関連付けられる条件に基づき、EDDファイル内のスクリプト拡張機能を作成する。スクリプトジェネレータ108は、サーバ107内に示されるが、他の例では、スクリプトジェネレータ108は、ワークステーション106内に含まれ、ディスプレイインターフェース102と並列動作してもよい。
【0027】
図1の例示的ワークステーション106および/または例示的サーバ107は、パーソナルコンピュータ、ラップトップ、サーバ、コントローラ、携帯情報端末(PDA)、マイクロコンピュータ等の任意のコンピューティングデバイスを含んでもい。また、例示的ワークステーション106は、例えば、携帯電話、スマートフォン、PDA、ネットパッド、フィールド通信等の任意のモバイルコンピューティングデバイスも含んでもよい。ワークステーション106および/またはサーバ107は、任意の好適なコンピュータシステムまたは処理システム(例えば、
図10のプロセッサシステムP10)を使用して、実装してもよい。例えば、ワークステーション106は、シングルプロセッサパーソナルコンピュータ、シングルまたはマルチプロセッサワークステーション等を使用して実装できる可能性がある。
【0028】
例示的プロセス制御システム104は、任意の種類の製造施設、プロセス施設、オートメーション施設、安全計装施設、および/または任意の他の種類のプロセス制御構造もしくはシステムを含んでもよい。いくつかの例では、プロセス制御システム104は、異なる場所に位置する複数の施設を含んでもよい。加えて、例示的プロセス制御環境100は、同一施設内に含まれ、かつ/または異なる施設に位置する場合がある、他のプロセス制御システム(図示せず)を含んでもよい。
【0029】
例示的プロセス制御システム104は、ローカルエリアネットワーク(LAN)110を介して、ワークステーション106および/またはサーバ107に通信可能に接続する場合がある、コントローラ109を含む。LAN110は、任意の通信媒体および/またはプロトコルを使用して実装することができる。例えば、LAN110は、有線または無線イーサネット(登録商標)通信スキームに基づいてもよい。しかしながら、任意の他の好適な通信媒体およびプロトコルを使用できる可能性がある。さらに、LAN110が示されるが、冗長通信パスを提供するために、2つ以上のLANおよび/または無線ネットワーク、ならびに適切な通信ハードウェアを使用してもよい。
【0030】
プロセス制御環境100は、遠隔ワークステーション(例えば、プロセス制御環境100外のワークステーション)に、プロセス制御環境100内のEDDファイルおよび/またはプロセス制御情報へのアクセスを提供するために、ファイアウォール(図示せず)を含んでもよい。また、プロセス制御環境100は、ワークステーション(図示せず)をLAN110に通信可能に接続するために、1つ以上のルータ(図示せず)も含んでもよい。また、ルータは、複数のプロセス制御システムを通信可能に接続することもできる。
【0031】
プロセス制御システム104はまた、フィールドデバイス112(例えば、入力および/または出力デバイス)も含む。フィールドデバイス112は、入力を受信し、出力を生成し、かつ/またはプロセスを制御することができる、任意の種類(単数または複数)のプロセス制御コンポーネント(単数または複数)を含んでもよい。フィールドデバイス112は、プロセスを制御するための、例えば、弁、ポンプ、ファン、ヒーター、クーラー、および/またはミキサー等の制御デバイスを含むことができる。加えて、フィールドデバイス112は、例えば、プロセスの一部を測定するための温度センサ、圧力ゲージ、濃度ゲージ、液面計、流量計、および/または蒸気センサ等の測定または監視デバイスを含んでもよい。フィールドデバイス112は、入力114を介してコントローラ109から命令を受信し、特定されたコマンドを実行し、フィールドデバイス112によって実装および/または制御されるプロセスに変化を生じさせる。さらに、フィールドデバイス112は、プロセスデータ、環境データ、および/または入力デバイスデータを測定し、出力116を介して、測定されたデータをプロセス制御情報としてコントローラ109へ送信する。このプロセス制御情報には、フィールドデバイス112からの測定された出力に対応する変数の値が含まれる場合がある。
【0032】
また、フィールドデバイス112は、コントローラ109、サーバ107、および/またはワークステーション106によってアクセス可能である、EDDファイルも含んでもよい。EDDファイルは、フィールドデバイス112の特性、機能、パラメータ、および/または特徴を記述する。EDDファイルは、EDDライブラリ120に記憶される。EDDライブラリ120は、電子的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM)、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、および/または任意の他の種類のメモリによって実装されてもよい。EDDファイルは、コントローラ109を介し、かつ/またはプロセス制御人員によってサーバ107を介して、EDDライブラリに記憶されてもよい。ワークステーション106は、どのようにフィールドデバイス112に関連付けられるプロセス制御情報を表示するかを決定するために、EDDファイルについて、EDDライブラリ120にアクセスすることができる。プロセス制御設計者および/または技術者は、表示嗜好ならびに/またはプロセス制御システム104および/もしくはフィールドデバイス112のセットアップ設定に基づき、EDDファイルを修正するために、ワークステーション106および/またはスクリプトジェネレータ108を使用してもよい。
【0033】
EDDライブラリ120は、コントローラ109とは別個に示されるが、いくつかのプロセス制御環境では、ライブラリ120は、コントローラ109、ワークステーション106、および/またはサーバ107内に含まれてもよい。これらの例では、コントローラ109は、制御ルーチンおよび/またはアルゴリズムを操作するために、EDDファイルに局所的にアクセスしてもよい。代替として、ワークステーション106および/またはサーバ107は、対応するプロセス制御情報を表示するために、EDDファイルに局所的にアクセスしてもよい。
【0034】
また、プロセス制御システム104は、フィールドデバイス112からデータを受信し、データを、例示的コントローラ109によって処理することができる通信に変換するために、I/Oデバイス122(例えば、1つ以上のI/Oカード)も含む。同様に、I/Oデバイス122は、コントローラ109からのデータまたは通信を、対応するフィールドデバイス112によって処理することができるデータフォーマットに変換する場合がある。
【0035】
図1の例示的コントローラ109は、プロセス制御システム104内のフィールドデバイス112を管理するために、1つ以上の制御ルーチン(例えば、プロセス制御アルゴリズム、機能、および/または命令)を操作する。制御ルーチンには、プロセス監視アプリケーション、警報管理アプリケーション、プロセストレンディングおよび/または履歴アプリケーション、診断アプリケーション、バッチ処理および/またはキャンペーン管理アプリケーション、統計アプリケーション、ストリーミング動画アプリケーション、高度制御アプリケーション、安全計装アプリケーション等が含まれる。例示的コントローラ109は、プロセス制御情報(例えば、資源)をワークステーション106に送信する。コントローラ109によって送信されるプロセス制御情報には、例えば、プロセス制御値、データ値、警報情報、テキスト、状態情報、診断情報、エラーメッセージ、パラメータ、イベント、および/またはデバイス識別子が含まれてもよい。
【0036】
いくつかの例では、また、コントローラ109は、フィールドデバイス112からのプロセス制御情報をデータベース124に送信してもよい。データベース124は、電子的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM)、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、および/または任意の他の種類のメモリによって実装されてもよい。プロセス制御情報は、関連フィールドデバイスに基づき、記憶および/または整理されてもよい。例えば、PUMP01識別子を伴うポンプのポンプ速度パラメータPS101に関連付けられる出力値(例えば、プロセス制御情報)は、データベース124内に記憶され、PUMP01識別子およびPS101パラメータによってインデックスが付けられてもよい。PS101パラメータを参照するEDDファイルは、PS101パラメータと関連して記憶されるプロセス制御情報を検索するために、データベース124にアクセスすることができる。
【0037】
例示的ワークステーション106は、記憶されたプロセス制御情報を表示するために、例示的データベース124にアクセスする場合がある。また、他のワークステーションおよび/または手持ち式デバイス(図示せず)も、プロセス制御情報について、データベース124にアクセスする場合がある。このようにして、プロセス制御環境100へのアクセスを有する任意のコンピューティングデバイスは、プロセス制御情報を図式的に表示するために、データベース124にアクセスすることができる。
【0038】
プロセス制御システム104へのアクセスを有する、例示的ワークステーション106および/または他のワークステーションは、1つ以上のアプリケーションを介して、プロセス制御システム104内の1つ以上のプロセスを閲覧する、修正する、および/または訂正するように構成される場合がある。図示される例では、アプリケーション130は、ユーザインターフェース132を介して表示される。アプリケーションには、エンタープライズビューアプリケーション、グラフィックススタジオアプリケーション、エクスプローラアプリケーション、および/または任意の他の種類のプロセス制御に基づくアプリケーションを含んでもよい。これらのアプリケーション130は、ユーザインターフェース132を介して、ワークステーション106内に情報を表示する。ユーザインターフェース132は、図式表現(単数または複数)として表示されるプロセス制御情報(例えば、機能ブロック図および/または概略図)を示すための、ワークステーション106内に表示される場合がある、図式ウィンドウ(例えば、アプリケーションプログラミングインターフェース(API))を含んでもよい。ワークステーション106は、ディスプレイインターフェース102に通信可能に接続されてもよい、2つ以上のユーザインターフェース132を表示する能力を有する場合がある。
【0039】
図1の例では、スクリプトジェネレータ108は、フィールドデバイス112からのプロセス制御情報内の条件を識別し、かつ/またはフィールドデバイス112と関連付けられるEDDファイル内の条件を識別する。スクリプトジェネレータ108は、EDDライブラリ120からのEDDファイルにアクセスする。例示的スクリプトジェネレータ108は、条件に基づき、スクリプト拡張機能を作成し、スクリプト拡張機能を適切なEDDファイル内に挿入および/または含む。次いで、スクリプトジェネレータ108は、修正されたEDDファイルを、EDDライブラリ120に記憶する場合がある。スクリプトジェネレータ108は、
図2に関連してより詳細に説明される。
【0040】
図2の例示的ディスプレイインターフェース102は、EDDライブラリ120内に記憶されるEDDファイルに基づき、フィールドデバイス112からのプロセス制御情報の図式表現を生成する。ディスプレイインターフェース102は、ユーザインターフェース132を介した表示のために、アプリケーション130に図式表現を送信する。このようにして、ワークステーション106のユーザは、フィールドデバイス112に関連付けられるプロセス制御情報を閲覧する場合がある。プロセス制御情報を表示するために、例示的ディスプレイインターフェース102は、ワークステーション106のユーザから、フィールドデバイス112および/またはプロセス制御システム104内の特定のフィールドデバイスに関連付けられる情報の閲覧要求を受信する場合がある。他の例では、ディスプレイインターフェース102は、コントローラ109からプロセス制御情報を受信し、どのフィールドデバイス112が情報に対応するかを識別することができる。
【0041】
次いで、例示的ディスプレイインターフェース102は、要求されたフィールドデバイス112に関連付けられるEDDファイルについて、EDDライブラリ120にアクセスする。ディスプレイインターフェース102は、どのようにプロセス制御情報が表示されるかに関する命令についてのEDDファイルを読み取る。場合によっては、EDDファイルは、アプリケーション130の一部としてメニュー(単数または複数)を表示するための命令を含んでもよい。EDDファイルは、メニュー(単数または複数)内の各項目の機能性の記述を提供することができる。また、EDDファイルは、どのように図形(単数または複数)がアプリケーション130内に表示されるかを定義する命令を含んでもよい。例えば、EDDファイルは、表の寸法、配置、フォーマッティング、データフィールド、および/または位置を定義する命令を含むことができる。別の例では、EDDファイルは、グラフおよび/もしくはチャートの寸法、配置、フォーマッティング、位置、データフィールド、ならびに/または位置を定義する命令を含んでもよい。さらに他の例では、EDDファイルは、アプリケーション130内に表示される図形をリンクおよび/または参照することができる。
【0042】
アプリケーション130および/または任意の他のアプリケーション内に図形を表示するために、
図1の例示的ディスプレイインターフェース102は、図形を構成、フォーマット、および/または位置付けるために、EDDファイル内の命令を使用する。いくつかの例では、EDDファイルは、特定の図形が表示されるように特定する、命令を含んでもよい。EDDファイルは、ディスプレイインターフェース102が、参照される図形を見つけるためにアクセスする、図形のデータベースへの参照および/またはリンクを含んでもよい。このようにして、ディスプレイインターフェース102は、EDDファイル内で参照される、事前に作製された図形(例えば、クリップアート、写真、アニメーション等)を表示する場合がある。したがって、データベース内の図形は、プロセス制御環境100内のワークステーションによって、同時に表示されてもよい。また、例示的ディスプレイインターフェース102は、アプリケーション130内の表示のために、対応するプロセス制御情報を用いて、参照される図形をレンダリングしてもよい。
【0043】
図1の例示的ディスプレイインターフェース102は、EDDファイル内のデータベース124内に記憶されるプロセス制御情報ならびに/またはコントローラ109への参照および/もしくはリンクを使用することによって、図形をプロセス制御情報と組み合わせる。例えば、表図形を記述するEDDファイルは、パラメータ(例えば、プロセス制御情報)への表セルのそれぞれの参照を含むことができる。参照は、メモリ内のディレクトリ位置、階層データスキーム内の位置、プロセス制御情報をホストするサーバ(例えば、OPCに関連付けられるサーバ)のインターネットアドレス、および/またはプロセス制御情報に対応するパラメータによって特定されるコントローラ109内の位置を含んでもよい。ディスプレイインターフェース102は、プロセス制御情報を挿入するため、および/またはプロセス制御情報を図形と組み合わせるために、リンクおよび/または参照を使用する。次いで、ディスプレイインターフェース102は、ユーザインターフェース132を介して、プロセス制御情報をアプリケーション130内に図式的に表示するために、EDDファイル内の命令を使用して、プロセス制御情報を用いて、図形をレンダリングする場合がある。
【0044】
静的に定義される図形を実装することに加えて、例示的ディスプレイインターフェース102は、スクリプト拡張機能を含む、EDDファイル内の命令を読み取ること、および/または実行することができる。スクリプト拡張機能を実行することによって、ディスプレイインターフェース102は、プロセス制御情報を表示するための条件命令を実行する。多くの場合では、ワークステーション106および/またはディスプレイインターフェース102を含んでもよい任意の他のプロセッサは、一般的に、比較的複雑な命令を実行するために、より高い演算能力を有する。したがって、比較的大量の処理帯域幅を消費する場合がある表現、イベントハンドラ、機能、方法、コンバータ、および/またはトリガは、例えば、ワークステーション106によって実行されるEDDファイル内に表現され、それによって、フィールドデバイス112の処理要件を低減する場合がある。例えば、ディスプレイインターフェース102は、スクリプト拡張機能内の比較的複雑な演算、表現、機能、および/または方法(例えば、三重積分関数、ベイズ統計分析、分散統計モデルの分析等)を実行する場合がある。処理をワークステーション106に押し付けることによって、デバイス製造業者は、フィールドデバイス112の処理能力を、プロセス制御システム104内の環境および/またはプロセス制御条件の測定、ならびに測定値の報告に集中させることができる。
【0045】
スクリプト拡張機能をEDDファイル内に含むことによって、例示的ディスプレイインターフェース102は、フィールドデバイス設計者が、そうでなければ、フィールドデバイス112内に記憶される命令内に定義することが不可能である、および/または困難である、比較的複雑な図形をアプリケーション130内に表示するよう特定することを可能にする。例えば、ディスプレイインターフェース102は、フィールドデバイス112からのプロセス制御情報が1つ以上の特定条件と合致する場合にのみ、1つ以上の図形を表示するよう特定する、イベントハンドラおよび/またはコンバータを実行することができる。他の例では、ディスプレイインターフェース102は、ワークステーション106のユーザが、どのように特定の図形が表示されるかを特定および/または修正することを可能にするために、イベントハンドラスクリプト拡張機能を使用する。さらに他の例では、ディスプレイインターフェース102は、プロセス制御情報の一部分が1つ以上の条件と合致する場合に、プロセス制御情報をデータベース(単数または複数)および/またはプロセス制御環境100内のメモリ(単数または複数)に書き込むために、方法スクリプト拡張機能を使用する場合がある。さらなる例では、ディスプレイインターフェース102は、プロセス制御情報の一部分が、1つ以上の条件と合致するように漸次的に変化する(例えば、タイマ)場合に、一連の命令を実行するために、トリガスクリプト拡張機能を使用する場合がある。
【0046】
図2は、
図1の例示的ディスプレイインターフェース102およびスクリプトジェネレータ108の機能ブロック図を示す。EDDライブラリ120およびデータベース124は、ディスプレイインターフェース102およびスクリプトジェネレータ108の外部に示されるが、いくつかの例では、ライブラリ120および/またはデータベース132は、ディスプレイインターフェース102および/またはスクリプトジェネレータ108内に含まれてもよい。他の例では、ディスプレイインターフェース102および/またはスクリプトジェネレータ108は、ライブラリ120および/またはデータベース132のローカルコピーを含んでもよい。
【0047】
例示的スクリプトジェネレータ108は、スクリプト拡張機能を含むEDDファイルを作成する。例示的スクリプトジェネレータ108は、複数のEDDファイルを同時に生成、または代替として、プロセスEDDファイルを順次処理する場合がある。EDDライブラリ内に記憶されるEDDファイルを作成する、修正する、閲覧する、および/または編集するために、例示的スクリプトジェネレータ108は、エディタ202を含む。例示的エディタ202は、フィールドデバイス開発者および/またはプロセス制御人員が、EDDファイル内の構文および/または論理エラーを確認することを可能にするためのインターフェースとして機能する場合がある。EDDファイルが拡張スタイルシート言語変換(XSLT)フォーマットおよび/または拡張マークアップ言語(XML)フォーマットである例では、エディタ202は、Altova(登録商標)社からのXMLSpy(登録商標)を使用して実装する場合がある。これらの他の例では、エディタ202は、EDDファイルを、XMLおよび/またはXSLTフォーマットからハイパーテキストマークアップ言語(HTML)ファイルに変換する場合がある。次いで、ワークステーション106がインターネットを介してEDDライブラリ120に通信可能に接続される例では、ディスプレイインターフェース102は、HTMLフォーマット化EDDファイルにアクセスする場合がある。
【0048】
EDDファイルを作成するために、例示的エディタ202は、フィールドデバイス112の機能性を記述する情報について、EDDライブラリ120および/またはデータベース124にアクセスする場合がある。他の例では、ユーザは、フィールドデバイス112に関連付けられる仕様に基づき、EDDファイルを作成するために、エディタ202を利用することができる。例えば、エディタ202は、デバイス設計者がEDDファイルを作成するために使用してもよい、テキスト編集アプリケーションを呼び出す場合がある。他の例では、エディタ202は、入力114、出力116、データベース124内に記憶されるプロセス制御情報、および/またはフィールドデバイス112に関連付けられる任意の追加情報に基づき、EDDファイルを生成する、ルーチンおよび/またはアルゴリズムであってもよい。例えば、エディタ202は、フィールドデバイスからの出力の種類を識別し、出力の種類に基づき、出力されるプロセス制御情報を表示するためのEDDファイルを作成することができる。いくつかの例では、エディタ202は、フィールドデバイス112のうちの1つの特徴および/または機能を記述する、EDDファイルを作成するために使用される場合がある。他の例では、エディタ202は、フィールドデバイス112の特徴および/もしくは機能性を集合的に記述し、かつ/またはプロセス制御システム104を記述する、EDDファイルを作成することができる。
【0049】
図示される例の例示的エディタ202は、EDDファイル内のスクリプト拡張機能を作成する。スクリプト拡張機能データベース204は、所定のスクリプト拡張機能のライブラリを記憶する。スクリプト拡張機能データベース204は、電子的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM)、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、および/または任意の他の種類のメモリによって実装される場合がある。いくつかの例では、スクリプト拡張機能データベース204は、スクリプト拡張機能を、フィールドデバイス112に関連付けられる情報のグローバルセットに基づき、どのようにスクリプト拡張機能が利用されるかを特定する、スクリプトアーキテクチャ(例えば、
図3に示されるスクリプト拡張機能アーキテクチャ)内、および/または複合構造(例えば、
図4に示される複合構造)内に記憶することができる。他の例では、スクリプト拡張機能は、エディタ202がプロセス制御情報内の1つ以上の条件と合致するスクリプト拡張機能を選択するために使用する、リストとして記憶されてもよい。図示される例では、スクリプト拡張機能データベース204は、例えば、表現、イベントハンドラ、機能、方法、コンバータ、および/またはトリガを含む、スクリプト拡張機能の例を含む。
【0050】
EDDファイル内のスクリプト拡張機能を作成するために、例示的エディタ202は、データベース124内に記憶されるプロセス制御情報内の条件、ならびに/またはフィールドデバイス112に関連付けられる特徴および/もしくは機能を識別する。例示的エディタ202は、閾値および/または所定のイベントと合致する、プロセス制御情報のある部分に応えて、図形が表示される、および/または一連の命令が実行されるという事実に基づき、条件を識別する。また、エディタ202は、条件を識別するために、EDDファイルの構文を審査もしてもよい。例えば、エディタ202は、例えば、文字列、数字の列、句読点、数学演算子等を示す、語彙項目に基づき、条件を識別してもよい。
【0051】
条件を判定すると、
図2の例示的エディタ202は、条件をスクリプト拡張機能と合致させるために、スクリプト拡張機能データベース204にアクセスする。エディタ202は、条件と類似する、および/もしくは条件を含む、スクリプト拡張機能アーキテクチャならびに/または構造を判定することによって、条件をスクリプト拡張機能と合致させる場合がある。他の例では、エディタ202のユーザは、条件の理解に基づき、スクリプト拡張機能を選択する場合がある。次いで、例示的エディタ202は、選択されたスクリプト拡張機能をコピーし、スクリプト拡張機能をEDDファイル(単数または複数)に挿入する、および/または含む。このようにして、エディタ202は、EDDファイルの一部分を挿入されたスクリプト拡張機能にリンクする。例えば、エディタ202は、図形として表示される値を計算するために、EDDファイルの数式スクリプト拡張機能内のプロセス制御情報のパラメータ、特性、および/または属性の名前を使用することができる。
【0052】
EDDファイル(単数または複数)内のスクリプト拡張機能(単数または複数)を作成すると、例示的エディタ202は、EDDファイル(単数または複数)をコンパイラ206に送信する。
図2の例示的コンパイラ206は、EDDライブラリ120内への記憶のために、および/または例示的ディスプレイインターフェース102による使用のために、スクリプト拡張機能(単数または複数)を伴うEDDファイル(単数または複数)を処理する、コンパイルする、確認する、および/または変換する。例示的コンパイラ206は、EDDファイルをスキャンおよび/もしくは解析して、構文エラー、プロトコルエラー、ならびに/または語彙項目を識別するために、任意の数および/もしくは種類(単数または複数)のアルゴリズム(単数または複数)、論理、ならびに/または方法を使用する、スキャナ208を含む。スキャナ208は、EDDファイル(単数または複数)を圧縮二値フォーマットに変換するために、語彙項目をトークナイザ210に提供する。スキャナ208によって検出される、いかなるエラーも、エディタ202を介して、フィールドデバイス設計者に通信する場合がある。スキャナ208によって検出されるエラーの種類に基づき、例示的エディタ202は、検出されたエラーを試験および/またはデバッグするためのツールを、フィールドデバイス設計者に提供する。エディタ202は、フィールドデバイス設計者および/または他のプロセス制御人員が、EDDファイル(単数または複数)を編集して、いかなる検出されたエラーも修正することを可能にする。このようにして、例示的スキャナ208は、フィールドデバイス設計者が、EDDファイル(単数または複数)とのユーザ対話を試験および/またはシミュレートすることを可能にし、これは、EDDファイル(単数または複数)の品質の改善をもたらす場合がある。
【0053】
任意の数および/もしくは種類(単数または複数)のアルゴリズム(単数または複数)、論理、ならびに/または方法(単数または複数)を使用して、
図2の例示的トークナイザ210は、特定のトークン(例えば、分類可能な入力文字列)を識別するために、スキャナ208によって識別される語彙項目を処理する。例えば、スキャナ208は、例えば、例示的トークナイザ210が1つ以上の圧縮二値語に区分する、および/または分離する、文を表す文字列語彙項目を識別することができる。トークナイザ210によって識別される各トークンは、値(例えば、実際の変数名)および種類(例えば、変数、演算子、数等)の両方を有し、それによって、トークナイザ210が、EDDファイル(単数または複数)を二値フォーマットに圧縮することを可能にする。圧縮フォーマットは、プロセス制御人員による改竄および/または後続の処理の問題を防止する場合がある。トークン化されたEDDファイルは比較的小さいため、多くのフィールドデバイスのトークン化されたファイルは、手持ち式デバイスおよび/またはワークステーション106の限られたフラッシュメモリ内に記憶することができる。
【0054】
また、
図2の例示的スクリプトジェネレータ108は、EDDファイル(単数または複数)を製造供給元および/またはシステムの特定の形式に変換するためのインタプリタ212も含む。EDDL標準をサポートする、多くのEDDファイルが、プロセス制御システムによって利用される一方、インタプリタ212は、いくつかのEDDファイルを、専用のプロセス制御標準および/またはプロセス制御マネージャによって要求される任意の他の標準に変換するために使用される場合がある。スクリプトジェネレータ108は、EDDファイルを、プロセス制御システム104および/またはワークステーション106内のアプリケーションと互換性のあるフォーマットに変換するために、インタプリタ212を利用することができる。例えば、インタプリタ212は、いくつかのEDDファイルを、ウェブブラウザによってアクセスすることができる、HTMLフォーマットに変換することができる。いくつかの例では、インタプリタ212は、トークナイザ210がEDDファイルを圧縮する前に、EDDファイルを変換してもよい。他の例では、インタプリタ212は、圧縮二値EDDファイルを変換してもよい。例示的インタプリタ212は、EDDファイルを対応する特定フォーマットに変換するために、任意の数および/もしくは種類(単数または複数)のアルゴリズム(単数または複数)、論理、ならびに/または方法(単数または複数)を使用することができる。
【0055】
EDDファイルをスキャン、トークン化、および/または変換すると、図示される例の例示的コンパイラ206は、EDDファイル(単数または複数)をEDDライブラリ120に記憶する。いくつかの例では、コンパイラ206は、同一のEDDファイルの複数の変換バージョンを記憶することができ、それによって、異なるフォーマットおよび/またはオペレーティングシステムに関連付けられる、異なるアプリケーションが、プロセス制御情報を表示するために、互換性のあるEDDファイルにアクセスすることを可能にする。他の例では、コンパイラ206は、EDDファイルの圧縮二値バージョンと、圧縮されていないバージョンとを記憶する場合があり、それによって、ユーザが、デバイスのメモリ制約に基づき、EDDファイルを選択することを可能にする。
【0056】
また、
図2の例は、プロセス制御情報を表示するために、EDDファイルについて、EDDライブラリ120にアクセスする、例示的ディスプレイインターフェース102を示す。いくつかの例では、ディスプレイインターフェース102は、手持ち式デバイスおよび/またはワークステーション106にローカルにEDDファイルを記憶するために、EDDライブラリ120に一定期間ごとにアクセスする場合がある。このようにして、ユーザは、LAN110に通信可能に接続されるデバイスを有することなく、プロセス制御情報の図形を閲覧することができる。他の例では、ディスプレイインターフェース102は、プロセス制御情報の閲覧要求が受信される時にいつでも、EDDファイルについて、EDDライブラリ120にアクセスする。
【0057】
例示的ディスプレイインターフェース102は、ワークステーション(例えば、ワークステーション106)からの複数のプロセス制御情報の閲覧要求を同時に処理する場合がある。代替として、例示的ディスプレイインターフェース102は、単一のプロセス制御情報の閲覧要求を処理する場合がある。これらの代替の例では、複数の要求を処理するために、複数のディスプレイインターフェース102がアクセスされてもよい。例示的ディスプレイインターフェース102は、ワークステーション106と関連して説明されるが、ディスプレイインターフェース102は、他のワークステーションおよび/または
図1のプロセス制御環境100に関連付けられるデバイスで動作してもよい。
【0058】
プロセス制御情報を図式的に閲覧する要求を受信するために、例示的ディスプレイインターフェース102は、受信部220を含む。例示的受信部220は、ワークステーション106内のユーザインターフェース132に通信可能に接続される。受信部220は、ワークステーション106および/またはユーザインターフェース132を介して、ユーザから、プロセス制御情報の閲覧要求を受信する。ユーザは、所望の情報に関連付けられる識別子を要求および/または検索フィールドに入力することによって、プロセス制御情報を閲覧することを選択する。例えば、ユーザは、フィールドデバイスの識別子を入力してもよい。別の例では、ユーザは、プロセス制御システム104内の領域および/またはフィールドデバイス群を入力してもよい。さらに別の例では、ユーザは、パラメータに関連付けられるプロセス制御情報を閲覧するために、パラメータの識別子(例えば、変数名)を特定してもよい。
【0059】
また、ユーザは、データディレクトリ内の所望の対象(例えば、フィールドデバイス、コンポーネント、領域等のリスティング)をブラウズすることによって、プロセス制御情報を特定してもよい。例えば、ユーザは、オープン機能を利用し、ディレクトリを所望のフィールドデバイスにナビゲートしてもよい。さらに他の例では、ユーザは、ユーザインターフェース132を介して、図式表現および/または情報に関連付けられる識別子を選択することによって、プロセス制御情報を閲覧することができる。代替として、ユーザは、プロセス制御情報を含む、および/またはリストする、ウェブサイトアドレスを入力してもよい。次いで、ユーザは、表示されるウェブページ内にリストされる所望のプロセス制御対象を選択してもよい。いくつかの例では、ユーザは、複数のプロセス制御対象を選択する場合がある。これらの例では、プロセス制御対象は、単一の要求内、または代替として、複数の要求内に含まれる場合がある。
【0060】
プロセス制御情報の閲覧要求を受信すると、例示的受信部220は、EDDプロセッサ222に要求を送信する。例示的EDDプロセッサ222は、EDDファイルを識別するために、要求を情報に解析する。EDDプロセッサ222は、EDDライブラリ120にアクセスして、要求されたプロセス制御情報と合致するEDDファイルを検索するために、情報を使用する。例えば、プロセス制御情報に対する要求は、「Rosemount(登録商標)フィールドデバイス圧力センサ」の種類と、圧力センサの「PRS02」の識別子とを含む場合がある。EDDプロセッサ222は、Rosemount(登録商標)フィールドデバイス圧力センサの機能性を定義する、EDDファイルを検索する。また、EDDプロセッサ222は、PRS02デバイス特有の定義を含む、EDDファイルも検索する。場合によっては、EDDファイルの名称および/またはファイル名は、種類および/または識別子を含んでもよい。他の場合では、EDDファイルに関連付けられるメタデータは、種類および/または識別子を含んでもよい。さらに他の場合では、EDDプロセッサ222は、合致する種類および/または識別子のEDDファイル内のテキストを検索しなければならない場合がある。
【0061】
要求されたプロセス制御情報と合致するEDDファイル(単数または複数)を見つけた後、EDDプロセッサ222は、EDDファイル(単数または複数)を図形プロセッサ224に転送する。例示的図形プロセッサ224は、EDDファイル(単数または複数)を使用して、要求されたプロセス制御情報の表示を生成する。また、例示的図形プロセッサ224は、要求されたプロセス制御情報のデータベース124にもアクセスする。いくつかの例では、図形プロセッサ224は、データベース124内の対応するプロセス制御情報を見つけるために、EDDファイル(単数または複数)内のリンクおよび/または参照を使用してもよい。加えて、または代替として、図形プロセッサ224は、データベース124内の対応するプロセス制御情報を見つけるために、識別子および/またはユーザからの要求内に含まれる他の情報を使用してもよい。これらの他の例では、図形プロセッサ224は、見つけられたプロセス制御情報を、プロセス制御情報を利用するEDDファイル(単数または複数)の部分と合致させる。
【0062】
例示的図形プロセッサ224は、EDDファイル内の命令(単数または複数)を実行することによって、ユーザインターフェース132を介して表示するための図形を生成する。図形プロセッサ224は、任意のメニュー、表示、および/またはフォーマット情報を判定するために、命令を実行する場合がある。情報は、表示ファイルを作成するために、および/またはプロセス制御情報を表示するためのテンプレートをフォーマットするために、図形プロセッサ224によって使用されてもよい。また、メニュー情報は、ユーザインターフェース132を用いて表示するために使用することができる、メニュー機能および/または選択肢も含む場合がある。メニュー機能は、例えば、フィールドデバイスを設定するため、フィールドデバイスによって生成されるプロセス制御情報を閲覧するため、および/またはフィールドデバイスに関連付けられる任意の他の情報のための選択肢を含んでもよい。
【0063】
また、例示的図形プロセッサ224は、
図1のコントローラ109によって処理されるプロセス制御情報への参照について、EDDファイル(単数または複数)を読み取る。いくつかの例では、EDDファイルの部分は、リンク、ファイルディレクトリ、および/またはプロセス制御情報に対応する識別子を含んでもよい。例えば、EDDファイルは、ポンプ速度データフィールドを含んでもよい。また、EDDファイルは、ポンプ速度パラメータおよび/またはコントローラ109によって計算された変数へのリンクも含んでもよい。例示的図形プロセッサ224は、データベース124から、または代替としてコントローラ109から、ポンプ速度値を要求するために、リンクを使用する。次いで、図形プロセッサ224は、ポンプ速度値(例えば、プロセス制御情報)の図式表現を生成するために、ポンプ速度値を、対応するEDDファイルに挿入することができる。図式表現は、例えば、ポンプ速度を表示するゲージを含むことができる。他の例では、図形プロセッサ224は、データベース124からの対応するプロセス制御情報にアクセスするために、EDDファイル内のリンク、参照、データ位置、および/または識別子を使用することができる。
【0064】
例示的図形プロセッサ224は、表示ファイルを生成するために、EDDファイル(単数または複数)を使用する。表示ファイルは、例えば、プロセス制御情報の位置、要求されたプロセス情報の図式表現、および/またはデータフィールドを特定する。プロセス制御情報を1つ以上の図形として表示するために、図形プロセッサ224は、表示ファイルを生成するために、EDDファイル(単数または複数)内のフォーマッティングおよび/または図形命令を使用する。いくつかのEDDファイル(単数または複数)は、図形プロセッサ224が記述される図形を生成するために読み取る、例えば、チャート、グラフ、および/または表の属性を定義する場合がある。次いで、図形プロセッサ224は、対応するプロセス制御情報を、表示ファイルとして図形の特性および/または属性に挿入する、埋め込む、および/または別の方法で含む。レンダラー228は、対応するプロセス制御情報を用いて、記述される図形を生成するために、表示ファイルを実行する。
【0065】
いくつかの例では、EDDファイル(単数または複数)は、図形データベース226内に記憶される所定の図形を参照してもよい。これらの例では、図形プロセッサ224は、図形データベース226内の対応する図形を見つけるために、リンク、参照、および/または識別子を使用する。次いで、図形プロセッサ224は、図形のコピーを作成し、図形を、レンダ228によってレンダリングされる表示ファイル内に含む。他の例では、図形プロセッサ224は、レンダラー228が、ユーザインターフェース132を介して、プロセス制御情報を用いて、図形を表示してもよいように、図形を表示ファイルにリンクし、図形に関連付けられる属性および/もしくは特性に、プロセス制御情報を挿入し、かつ/または埋め込む。
【0066】
また、例示的図形プロセッサ224は、EDDファイル(単数または複数)内のスクリプト拡張機能も実行する。スクリプト拡張機能は、図形プロセッサ224に、プロセス制御情報の一部分がスクリプト拡張機能内の条件と合致する場合に図形を表示するよう命令する。条件がプロセス制御情報と合致する場合、図形プロセッサ224は、対応する図形について、図形データベース226にアクセスする。例えば、EDDファイルは、出力が、最大ポンプ速度の90%を超えるポンプ速度を示す場合、警報図形が表示されることを特定する、機能スクリプト拡張機能を含んでもよい。ユーザが、ポンプに関連付けられるプロセス制御情報を閲覧することを要求する場合、図形プロセッサ224は、データベース124からのどのプロセス制御情報にアクセスするかを判定するために、ポンプに関連付けられるEDDファイルを実行する。次いで、図形プロセッサ224は、機能スクリプト拡張機能を実行する(例えば、ポンプ速度を最大値の90%と比較する)ために、ポンプ速度プロセス制御情報を使用する。図形プロセッサ224が、90%を超えるという条件に合致するポンプ速度を判定する場合、図形プロセッサ224は、機能スクリプト拡張機能内の、表示される図形データベース226内の図形への参照を使用する。図形プロセッサ224は、表示ファイル内に図形を含むために、データベース124からの図形にアクセスする。
【0067】
図2の例示的図形プロセッサ224は、プロセス制御情報内に特定されるプロセス制御イベントが条件と合致する際に図形を表示する、スクリプト拡張機能内のイベントハンドラを実行してもよい。加えて、図形プロセッサ224は、プロセス制御情報が条件と合致する際にデータソースに値を書き込む、スクリプト拡張機能内の機能を実行してもよい。また、図形プロセッサ224は、書き込まれた値を図形内に表示してもよい。この例では、図形プロセッサ224は、EDDファイルを介して、計算された値をデータベース124に書き込んでもよい。他の例では、図形プロセッサ224は、ワークステーション106内のメモリに書き込んでもよい。さらに、図形プロセッサ224は、プロセス制御情報の一部分が条件と合致する場合に、プロセス制御情報の一部分を図形に変更することによって図形を表示するために、スクリプト拡張機能内のコンバータを実行してもよい。また、図形プロセッサ224は、プロセス制御情報の一部分が条件に到達するように漸次的に変化する際に図形を表示する、スクリプト拡張機能内のトリガも実行する場合がある。
【0068】
図形プロセッサ224が、スクリプト拡張機能を含むEDDファイル(単数または複数)を実行することによって、表示ファイルを作成した後、図形プロセッサ224は、表示ファイルをレンダラー228に送信する。例示的レンダラー228は、
図2のディスプレイインターフェース102内に示されるが、ディスプレイインターフェース102は、プロセス制御情報を表示するデバイスとは別個である場合がある他の例では、レンダラー228は、デバイス内に位置してもよい。これらの例では、図形プロセッサ224は、表示ファイルをレンダラー228に送信する(例えば、インターネットおよび/またはLAN110を介して)。
【0069】
例示的レンダラー228は、表示ファイルを、ユーザが、例えば、ユーザインターフェース132を介して閲覧可能である、フォーマットに処理する(例えば、レンダリングする)。例示的レンダラー228は、プロセス制御情報の図形(単数または複数)を表示するデバイス(例えば、ワークステーション106)の表示寸法に基づき、表示を生成する場合がある。表示ファイルをレンダリングした後、例示的レンダラー228は、要求されたプロセス制御情報を図式的に表示するために、レンダリングされた表示を、ワークステーション106内のアプリケーション130に送信する。
【0070】
例示的ディスプレイインターフェース102およびスクリプトジェネレータ108を
図2に図示したが、
図2に図示されるサーバ、プラットフォーム、インターフェース、データ構造、要素、プロセス、および/またはデバイスのうちの1つ以上が、任意の方法で組み合わされ、分割され、再配置され、除外され、排除され、および/または実装されてもよい。さらに、例示的エディタ202、例示的スクリプト拡張機能データベース204、例示的コンパイラ206、例示的スキャナ208、例示的トークナイザ210、例示的インタプリタ212、例示的受信部220、例示的EDDプロセッサ222、例示的図形プロセッサ224、例示的図形データベース226、例示的レンダラー228、ならびに/または、より一般に、例示的ディスプレイインターフェース102および/もしくはスクリプトジェネレータ108は、ハードウェア、ソフトウェア、ファームウェア、ならびに/またはハードウェア、ソフトウェアおよび/もしくはファームウェアの任意の組み合わせによって実装されてもよい。したがって、例えば、例示的エディタ202、例示的スクリプト拡張機能データベース204、例示的コンパイラ206、例示的スキャナ208、例示的トークナイザ210、例示的インタプリタ212、例示的受信部220、例示的EDDプロセッサ222、例示的図形プロセッサ224、例示的図形データベース226、例示的レンダラー228、ならびに/または、より一般に、例示的ディスプレイインターフェース102および/もしくはスクリプトジェネレータ108のうちのいずれも、1つ以上の回路、プログラム可能なプロセッサ、特定用途向け集積回路(ASIC)、プログラマブル論理デバイス(PLD)、および/またはフィールドプログラマブル論理デバイス(FPLD)等によって実装される可能性がある。
【0071】
本特許のいずれかの装置請求項が、純粋にソフトウェアおよび/またはファームウェア実装を網羅するものとして読まれる場合、例示的エディタ202、例示的スクリプト拡張機能データベース204、例示的コンパイラ206、例示的スキャナ208、例示的トークナイザ210、例示的インタプリタ212、例示的受信部220、例示的EDDプロセッサ222、例示的図形プロセッサ224、例示的図形データベース226、および/または例示的レンダラー228のうちの少なくとも1つは、ここで、そのソフトウェアおよび/またはファームウェアを記憶するメモリ、DVD、CD等のコンピュータ可読媒体を含むことが、明示的に定義される。さらにまた、例示的ディスプレイインターフェース102および/またはスクリプトジェネレータ108は、
図2に図示されたものに加えて、またはそれらの代わりに、1つ以上の要素、プロセス、および/もしくはデバイスを含んでもよく、かつ/または図示される要素、プロセス、およびデバイスのうちのいずれか2つ以上またはすべてを含んでもよい。
【0072】
図3は、
図1の例示的ディスプレイインターフェース102によって処理される場合があるEDDファイルに関連付けられる、例示的スクリプト拡張機能アーキテクチャ300のダイアグラムを示す。
図3は、スクリプト拡張機能アーキテクチャ300を示すが、他の例は、異なる種類のスクリプト拡張機能、および/またはスクリプト拡張機能の組み合わせのアーキテクチャを含んでもよい。例示的スクリプト拡張機能アーキテクチャ300は、スクリプトジェネレータ108によって作成され、EDDライブラリ120に記憶された、EDDファイルの一部分を表す場合がある。例示的ディスプレイインターフェース102は、1つ以上のスクリプト拡張機能を実行して、プロセス制御情報の図形がユーザインターフェース132内に表示されるか否かを判定するために、スクリプト拡張機能アーキテクチャ300にアクセスすることができる。
【0073】
例示的スクリプト拡張機能アーキテクチャ300は、スクリプト本体302を含む。スクリプト本体302は、スクリプト拡張機能、変数、パラメータ、および/または属性をリンクする、命令を含む。この例では、スクリプト本体302は、プロセッサに変数の値を一定期間ごとにインクリメントする一連の命令を含む、タイマ304にリンクされる。図示される例の例示的スクリプト本体302は、トリガスクリプト拡張機能306と併せて、タイマ304を使用する。例示的トリガスクリプト拡張機能306は、いつ図形を表示するかを判定するために、タイマ304からの値を使用する。タイマ304およびトリガスクリプト拡張機能306は、スクリプト拡張機能アーキテクチャ300に関連付けられるフィールドデバイスの特徴、特性、および/または機能性を定義する、グローバルセットライブラリ308に接続される。この例では、タイマ304および/またはトリガスクリプト拡張機能306は、入力、出力、および/またはフィールドデバイスによって報告され、グローバルセットライブラリ308内に特定される、他の変数に関連付けられるパラメータにリンクされてもよい。例えば、トリガスクリプト拡張機能306に基づいて図形を生成するためのスクリプトは、グローバルセットライブラリ308内で特定される図形の定義を参照してもよい。
【0074】
例示的スクリプト拡張機能アーキテクチャ300は、パラメータ312を、グローバルセットライブラリ308内に特定される図式表現に変換する、コンバータスクリプト拡張機能310を含む。例示的パラメータ312は、スクリプト本体302にリンクされる方法参照316によって参照される、方法スクリプト拡張機能314によって、スクリプト拡張機能アーキテクチャ300内で計算される。方法参照316は、スクリプト本体302内の複数のインスタンスが方法スクリプト拡張機能314を実行することを可能にする、方法スクリプト拡張機能314へのポインタであってもよい。
【0075】
同様に、スクリプト本体302内の複数のインスタンスは、グローバルセットライブラリ308内で特定される変数の値および/または属性をリストする表320にアクセスするための表参照318を指し示してもよい。加えて、スクリプト本体302の複数のインスタンスは、グローバルセットライブラリ308内に特定される1つ以上の変数および/または属性を参照する、特性定義324にアクセスするための特性参照322を指し示してもよい。
【0076】
図4は、
図1の例示的ディスプレイインターフェース102によって処理される場合がある、EDDファイル内のスクリプト拡張機能の例示的複合構造400のダイアグラムを示す。
図4は、複合構造400を示すが、他の例は、異なる種類のスクリプト拡張機能、および/またはスクリプト拡張機能の組み合わせの構造を含んでもよい。例示的複合構造400は、スクリプトジェネレータ108によって作成され、EDDライブラリ120に記憶された、EDDファイルの一部分を表してもよい。例示的ディスプレイインターフェース102は、1つ以上のスクリプト拡張機能を実行して、プロセス制御情報の図形がユーザインターフェース132内に表示されるか否かを判定するために、複合構造400にアクセスする場合がある。
【0077】
図3のスクリプト拡張機能アーキテクチャ300と同様に、複合構造400は、スクリプト本体402と、フィールドデバイスのEDDファイルを実装するためのグローバルセットライブラリ404とを含む。また、複合構造400は、図形を定義および/または特定する、シェープツリーブロック406も含む。対照的に、スクリプト拡張機能アーキテクチャ300は、スクリプト本体302内の図形を定義および/または特定してもよい。形状使用ブロック408は、スクリプト拡張機能内の条件(例えば、イベントの使用および特性の使用)に基づき、シェープツリーブロック406内のどの図形が表示されるかを定義する。加えて、複合形状ブロック410は、どのようにシェープツリーブロック406内の図形が表示されるかを定義してもよい。他の例では、複合構造400は、例えば、図形データベース226内に記憶される図形を参照してもよい。
【0078】
図示される例の例示的複合構造400は、第1の方法スクリプト拡張機能412と、第2の方法スクリプト拡張機能414と、コンバータスクリプト拡張機能416とを含む。第1の方法スクリプト拡張機能412は、第1のパラメータ418の値に基づき、図形を表示する。方法参照ブロック420は、スクリプト本体402内の複数のインスタンスが、第1の方法スクリプト拡張機能412を指し示すことを可能にする。同様に、方法参照ブロック422は、スクリプト本体402内の複数のインスタンスが、グローバルセットライブラリ404からのフィールドデバイスに関連付けられる情報にアクセスすることができる、第2の方法スクリプト拡張機能414を指し示すことを可能にする。例示的コンバータスクリプト拡張機能416は、引数ブロック424、およびパラメータ428によって表されるプロセス制御情報の一部分に合致するコンバータ使用インスタンス426(例えば、条件)に基づき、いつ図形が表示されるかを決定する。
【0079】
図5〜
図7は、スクリプト拡張機能内の条件に基づき、
図1および
図2の例示的ディスプレイインターフェース102によって生成される図形を表示する、例示的ユーザインターフェース132を示す。ユーザインターフェース132は、ブラウザアプリケーション内に、タンク101フィールドデバイスに関連付けられるプロセス制御情報を表示する。
図5のユーザインターフェース132は、ユーザが、ネットワークアドレスおよび/またはインターネットアドレスを入力して、プロセス制御情報を閲覧するために使用することができる、ナビゲーションバー502を含む。この例では、ユーザは、‘DAserver/Dvice/Tank_101のアドレスを入力する。アドレスに応えて、例示的ディスプレイインターフェース102は、「タンク101」を識別子として識別し、関連EDDファイルを見つける。EDDファイルは、タンク101フィールドデバイスに関連付けられる情報に基づき、スクリプトジェネレータ108によって生成されていてもよい。この例では、タンク101フィールドデバイスは、
図1のプロセス制御システム104内の流体を貯蔵する貯蔵タンクである。EDDファイルは、ディスプレイインターフェース102に、タンク101フィールドデバイスを設定および/または管理するための選択肢を伴うメニューパネル504を生成させる、命令を含んでもよい。タンク101フィールドデバイスは、
図1のフィールドデバイス112内に含まれてもよい。
【0080】
この例では、ユーザは、メニューパネル504内の「手動セットアップ」選択肢を選択する。「手動セットアップ」選択肢が選択されたことに応えて、ディスプレイインターフェース102は、EDDファイルから、パラメータパネル506および図形パネル508が表示されることを判定する。「手動セットアップ」選択肢は、ユーザが、どのようにタンク101フィールドデバイスからのプロセス制御情報が図式的に表示されるかを特定することを可能にする。パラメータパネル506は、ユーザが、タンク101フィールドデバイスのレベルを表示するためのデータフィールド内の単位型を選択することを可能にする、レベルパラメータを含む。また、パラメータパネル506は、ユーザが、タンク101フィールドデバイス内の流体の温度を表示するための単位型を選択することを可能にする、温度パラメータ(例えば、Temp)も含む。さらに、パラメータパネル506は、ユーザが、タンク101フィールドデバイスの識別値を入力することを可能にする、タグパラメータを含む。さらに、パラメータパネル506は、ユーザが、タンク101フィールドデバイス内の流体レベルに基づき、いつ警報が表示されるかを特定することを可能にする、下範囲および上範囲パラメータを含む。
【0081】
図形パネル508は、パラメータパネル506内のパラメータに基づく、タンク図形510のプレビューを含む。例えば、タンク図形510は、90%の上範囲パラメータおよび10%の下範囲パラメータを含む。また、図形パネル508は、イベントハンドラスクリプト拡張機能に関連付けられる、高さアジャスタ512および幅アジャスタ514も含む。例えば、イベントハンドラスクリプト拡張機能は、以下の命令を含んでもよい。
【数1】
【0082】
命令は、幅アジャスタ514の左ボタン(例えば、Button.Left)が選択される場合、ディスプレイインターフェース102が、図形510の幅を10単位減少させることを示す(例えば、this.Width −=10)。同様に、ディスプレイインターフェースは、幅アジャスタ514の右ボタンが選択される度に、図形510の幅を10単位増加させることができる。このようにして、イベントハンドラスクリプト拡張機能は、例示的ディスプレイインターフェース102が、EDDファイルを変更することなく、ユーザからの情報に基づき、図形510を調整する(例えば、修正する)ことを可能にする。換言すれば、EDDファイル内のイベントハンドラスクリプト拡張機能は、ユーザが、図形510の表示を変更するための条件と合致する幅および/または高さを選択することに基づき、図形510の表示を変更する。
【0083】
また、例示的ユーザインターフェース132は、タンク101フィールドデバイスのレベルの百分率の計算(例えば、%レベル=100×(レベル/56.3ガル)を含む、変換パネル516も含む。いくつかの例では、計算は、ユーザによって入力されてもよい。他の例では、タンク101フィールドデバイスに関連付けられるEDDファイルは、計算を含む場合がある。変換パネル516は、計算を介した、表現スクリプト拡張機能の例を示す。例えば、計算は、ある数で除算されるレベルパラメータ(例えば、レベル/56.3)を含む。次いで、結果としてもたらされる値は、100で乗算される。このようにして、表現スクリプト拡張機能は、タンク101フィールドデバイスが、百分率値を送信する代わりに、タンク101フィールドデバイスのレベルの百分率を計算し、それによって、タンク101フィールドデバイス内のデータ処理量を低減する。変換パネル516内に示される計算は、比較的単純であるが、他のEDDファイルは、ディスプレイインターフェース102に関連付けられる処理能力を必要とする、比較的複雑な表現(例えば、再帰代数フィードバック機能)を含んでもよい。
【0084】
図6は、タンク101デバイスに関連付けられるプロセス制御情報を表示する、ユーザインターフェース132を示す。例示的ディスプレイインターフェース102は、プロセス制御情報を図式的に表示するために、タンク101フィールドデバイスに関連付けられるEDDファイルを実行する。例えば、ディスプレイインターフェース102は、ユーザによって、
図5のパラメータパネル506を介して特定される、パラメータパネル602を表示する。
図6の例示的パラメータパネル602は、デバイスによって報告される値に基づく、タンク101フィールドデバイスのレベルの百分率(例えば、Level)を示す。また、パラメータパネル602は、タンク101フィールドデバイスによって報告される流体の温度も含む。
【0085】
また、ユーザインターフェース132は、図形510を示す、
図5の図形パネル508も含む。例示的ディスプレイインターフェース102は、機能スクリプト拡張機能およびコンバータスクリプト拡張機能内の条件と合致させるためのプロセス制御情報として、タンク101フィールドデバイスのレベル(例えば、23%)を使用してもよい。機能スクリプト拡張機能は、例えば、以下の命令を含んでもよい。
【数2】
【0086】
機能スクリプト拡張機能のこれらの命令は、表示プロセッサ102に、報告されるレベルが0未満の場合に0%のレベルを有する図形510を示させ、タンク101フィールドデバイスから報告されるレベルが99.9を超える場合に99.9%のレベルを有する図形510を示させる。このようにして、タンク101フィールドデバイスによって報告されるレベルプロセス制御情報は、図形510内にどのレベルを示すかを判定するために、条件(例えば、0未満および99.9を超える)と比較される。他の例では、機能は、レベルが0未満の場合、またはレベルが99.9を超える場合に異なる図形を表示するアクションを含んでもよい。加えて、機能スクリプト拡張機能は、ディスプレイインターフェース102に、タンク101フィールドデバイスのレベルをディレクトリおよび/またはメモリ位置のパラメータに書き込ませる、命令(例えば、‘DVRt:float//TNK101/LEVEL.CV’=level;)を含む。また、EDDファイルは、ディスプレイインターフェース102に、図形510内にタンク101フィールドデバイスのレベル(例えば、23%線)を示させる命令(図示せず)を、機能スクリプト拡張機能内に含んでもよい。
【0087】
また、例示的図形510は、タンク101フィールドデバイスに関連付けられるEDDファイル内のコンバータスクリプト拡張機能に関連付けられてもよい。例えば、コンバータスクリプト拡張機能は、以下の命令を含んでもよい。
【数3】
【0088】
これらの命令は、ディスプレイインターフェース102に、タンク101フィールドデバイスによって生成されるレベルプロセス制御情報を、条件(例えば、10.0未満または90.0を超える)と比較させる。この例では、条件は、ユーザが
図5のパラメータパネル506の下範囲パラメータおよび上範囲パラメータ内の値を入力することによって、特定されていてもよい。コンバータスクリプト拡張機能に基づき、タンク101フィールドデバイスの報告されるレベルが10%未満である、または90%を超える場合、ディスプレイインターフェース102は、タンク101フィールドデバイスのレベルを描写する、赤色のバー604を示す。そうでなければ、ディスプレイインターフェース102は、緑色のバー604を示す。このようにして、ディスプレイインターフェース102は、レベルプロセス制御情報を、バー604の色に変換する。他の比較的より複雑な例では、コンバータスクリプト拡張機能は、タンク101フィールドデバイスのレベルが条件と合致すること(例えば、90%以上または10%以下)を示すために、ディスプレイインターフェース102に、図形パネル508内に、図形510に隣接して、一種の警報図形を表示するよう命令してもよい。これらの例では、命令は、
図2の図形データベース226内の図形へのリンクを含んでもよい。
【0089】
図7は、マイクロチャート
図702内に、タンク101フィールドデバイスに関連付けられるプロセス制御情報を図式的に表示する、ユーザインターフェース132を示す。この例では、ユーザは、メニューパネル504内の「状態セットアップ」メニュー項目を選択し、それによって、ディスプレイインターフェース102に、表示情報を記述するEDDファイルの部分を実行させ、ユーザが、タンク101フィールドデバイスの状態の図式表示(例えば、マイクロチャート
図702)をセットアップすることを可能にする。図式表示は、ユーザが、トリガスクリプト拡張機能の条件を特定することを可能にする、トリガパラメータ表704を含む。このようにして、ユーザは、ユーザがEDDファイル内の命令を修正することなく、ディスプレイインターフェース102に、マイクロチャート
図702を修正させるために、トリガパラメータ表704内に値を入力してもよい。
【0090】
例示的トリガパラメータ表704は、トリガスクリプト拡張機能の目的を記述する、特性パラメータを含む。トリガパラメータ表704内のパラメータによって記述されるトリガスクリプト拡張機能は、マイクロチャート702のタイムラインを1000ミリ秒(ms)毎に延長する。トリガパラメータは、ユーザがマイクロチャート
図702を閲覧する際にトリガスクリプト拡張機能が有効にされるか否かを示す。期間パラメータは、アクションスクリプトパラメータ内に定義されるイベントが発生する時間を特定する。名前パラメータは、ユーザが、トリガスクリプト拡張機能の識別値を提供することを可能にする。
【0091】
さらに、自動リセットパラメータは、ユーザが、期間パラメータ内に特定される値が閾値に到達すると、トリガスクリプト拡張機能がリセットするか否かを選択することを可能にする。アクションスクリプトパラメータは、期間パラメータ内に特定される値の期限が切れると、マイクロチャート
図702がどのように変更されるかを特定する。この例では、マイクロチャート
図702のタイムラインが、10単位だけ増加される。このようにして、マイクロチャート
図702は、タイマの漸次的増加が1000msに到達する(例えば、合致する)と、ディスプレイインターフェース102によって変更される。タイムラインは、EDDファイルを実行するディスプレイインターフェース102によって、タンク101フィールドデバイスによって一定期間ごとに報告される追加の状態情報を示すように延長されてもよい。
【0092】
図1および
図2のディスプレイインターフェース102ならびに/またはスクリプトジェネレータ108を実装するための例示的プロセス800および900を表すフローチャートが、
図8A、
図8B、
図9A、および
図9Bに示される。この例では、プロセス800および900は、機械可読命令を使用して、
図10に関連して以下で説明される例示的プロセッサシステムP10内に示される、プロセッサP12等のプロセッサによって実行するためのプログラムの形態で実装される場合がある。このプログラムは、プロセッサP12に関連付けられる、CD−ROM、フロッピー(登録商標)ディスク、ハードドライブ、デジタル多用途ディスク(DVD)、またはメモリ等のコンピュータ可読媒体上に記憶されるソフトウェアで具現化されてもよいが、代替として、プログラム全体および/またはその一部が、プロセッサP12以外のデバイスによって実行されることも可能であり、ならびに/あるいはファームウェアもしくは専用ハードウェアで具現化されることも可能である。さらに、
図8A、
図8B、
図9A、および
図9Bに図示されるフローチャートを参照して例示的プログラムを説明したが、代替として、例示的ディスプレイインターフェース102および/またはスクリプトジェネレータ108を実装する多くの他の方法が使用されてもよい。例えば、ブロックを実行する順序が変更されてもよく、および/または記載されるブロックのうちのいくつかが変更、排除、もしくは組み合わされてもよい。
【0093】
上述のように、
図8A、
図8B、
図9A、および
図9Bの例示的プロセスは、ハードディスクドライブ、フラッシュメモリ、読み取り専用メモリ(ROM)、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、キャッシュメモリ、ランダムアクセスメモリ(RAM)、および/または情報が任意の期間(例えば、延長された期間、永久的、短いインスタンス、一時的にバッファリングする間、および/または情報をキャッシングする間)記憶される任意の他の記憶媒体等の有形のコンピュータ可読媒体上に記憶される、コード化された命令(例えば、コンピュータ可読命令)を使用して、実装することができる。本明細書で使用される場合、有形のコンピュータ可読媒体という用語は、任意の種類のコンピュータ可読記憶装置を含み、伝播信号を除くことが明示的に定義される。加えてまたは代替として、
図8A、
図8B、
図9A、および
図9Bの例示的プロセスは、ハードディスクドライブ、フラッシュメモリ、読み取り専用メモリ、コンパクトディスク、デジタル多用途ディスク、キャッシュメモリ、ランダムアクセスメモリ、および/または情報が任意の期間(例えば、延長された期間、永久的、短いインスタンス、一時的にバッファリングする間、および/または情報をキャッシングする間)記憶される任意の他の記憶媒体等の非一過性コンピュータ可読媒体上に記憶される、コード化された命令(例えば、コンピュータ可読命令)を使用して実装されてもよい。本明細書で使用される場合、非一過性コンピュータ可読媒体という用語は、任意の種類のコンピュータ可読媒体を含み、伝播信号を除くことが明示的に定義される。
【0094】
図8Aおよび
図8Bの例示的プロセス800は、ユーザによって要求されたプロセス制御情報に基づき、図形を表示する。
図8Aの例示的プロセス800は、プロセス制御情報の閲覧要求(例えば、
図2の受信部220を介して)受信することによって開始する(ブロック802)。要求は、フィールドデバイスの識別子、コンポーネント、プロセス制御環境内の領域、および/またはプロセス制御情報の任意の他の識別表示を含んでもよい。次いで、例示的プロセス800は、例えば、要求に含まれる、および/または要求に関連付けられるフィールドデバイスの少なくとも1つの識別子を判定する(例えば、EDDプロセッサ222を介して)(ブロック804)。例示的プロセス800は、例えば、EDDライブラリ120内に記憶される、少なくとも1つのEDDファイルを見つけるために、識別子(単数または複数)を使用する(例えば、EDDプロセッサ222を介して)(ブロック806)。
【0095】
次いで、例示的プロセス800は、表示ファイルを作成するために、選択されたEDDファイル(単数または複数)内の命令を実行する(例えば、図形プロセッサ224を介して)(ブロック808)。命令を実行することは、メニュー機能性、メニューおよび/もしくは他の図形を表示するための情報、ならびに/またはフィールドデバイスに関連付けられる任意の他の表示および/もしくは処理情報を判定することを含んでもよい。また、例示的プロセス800は、例えば、データベース124内に記憶されるプロセス制御情報にアクセスするために、命令を使用する(例えば、図形プロセッサ224を介して)。例えば、EDDファイル内のいくつかの命令は、フィールドデバイスによって生成されたプロセス制御情報を参照、および/またはプロセス制御情報にリンクする場合がある。
【0096】
また、例示的プロセス800は、EDDファイル(単数または複数)内のスクリプト拡張機能も実行する(例えば、図形プロセッサ224を介して)(ブロック812)。例示的プロセス800は、プロセス制御情報内の値、属性、および/もしくは特性の計算ならびに/または比較を実施する、表現スクリプト拡張機能を実行する場合がある。また、例示的プロセス800は、プロセス800に、プロセス制御イベントが検出される場合に図形を表示するよう命令する、イベントハンドラスクリプト拡張機能も実行する場合がある。加えて、例示的プロセス800は、機能および/もしくは方法スクリプト拡張機能、コンバータスクリプト拡張機能、トリガスクリプト拡張機能、ならびに/または任意の他の種類のスクリプト拡張機能を実行する場合がある。スクリプト拡張機能を実行すると同時に、例示的プロセス800は、スクリプト拡張機能によって特定される条件が、条件内で参照されるプロセス制御情報の一部分と合致するか否かを判定する(例えば、図形プロセッサ224を介して)(ブロック814)。換言すれば、例示的プロセス800は、スクリプト拡張機能内の変数、パラメータ、属性、および/または参照によって特定されるプロセス制御情報の一部分が、閾値および/もしくは特定されるイベント(例えば、条件)と合致するか否か、ならびに/またはそれを超えるか否かを判定する。
【0097】
例示的プロセス800が、条件がプロセス制御情報の一部分と合致すると判定する場合、例示的プロセス800は、条件によって参照され、かつ/または条件内に含まれる、少なくとも1つの図形を見つける(例えば、図形プロセッサ224を介して)(ブロック816)。例示的プロセス800は、例えば、参照される図形(単数または複数)を検索するために、図形データベース226にアクセスすることができる。次いで、例示的プロセス800は、対応するプロセス制御情報と共に、図形を表示ファイルに追加する(例えば、図形プロセッサ224を介して)(ブロック818)。図形を追加することは、参照を表示ファイルにある図形データベース226内の図形の位置に提供すること、および/または図形を記述する情報をコピーし、コピーした情報を表示ファイルに挿入することを含んでもよい。次いで、例示的プロセス800は、他のスクリプト拡張機能内で処理すべき追加条件が存在するか否かを判定する(例えば、図形プロセッサ224を介して)(ブロック820)。処理すべき追加条件が存在する場合、例示的プロセス800は、ブロック814へ戻り、残りの条件のうちの1つが参照されるプロセス制御情報の一部分と合致するか否かを判定する。
【0098】
しかしながら、処理すべき追加条件が存在しない場合、
図8Bの例示的プロセス800は、要求されるプロセス制御情報の表示を生成するために、表示ファイルをレンダリングする(例えば、レンダラー228を介して)ことによって継続する(ブロック822)。また、プロセス制御情報の一部分と合致する条件がない場合(ブロック814)、例示的プロセスは、ブロック822を実行する。例示的プロセス800は、EDDファイル(単数または複数)および/または図形データベース226内で定義される特性を使用して、表示可能な図形を作成および/または生成し、プロセス制御情報を、図形によって特定される、対応するパラメータ、変数、および/または属性に挿入することによって、表示ファイルをレンダリングする場合がある。
【0099】
次いで、例示的プロセス800は、プロセス制御情報をアプリケーション(例えば、アプリケーション130)内に図式的に表示するために(例えば、レンダラー228を介して)、レンダリングされた表示ファイルをユーザインターフェース(例えば、
図1のユーザインターフェース132)に送信する(ブロック824)。次いで、例示的プロセス800は、別の追加プロセス制御情報の閲覧要求が受信されているか否か(例えば、受信部220を介して)を判定してもよい(ブロック826)。別の要求が受信されている場合、例示的プロセス800は、
図8Aのブロック804に戻り、要求内に含まれる、少なくとも1つの識別子を判定する。例示的プロセス800は、ユーザがディスプレイインターフェース102の使用を中断するまで要求を確認し続けてもよい。代替として、例示的プロセス800は、追加要求が検出されない場合、終了してもよい。
【0100】
図9Aおよび
図9Bの例示的プロセス900は、少なくとも1つのフィールドデバイスに関連付けられる情報に基づき、EDDファイルを生成する。
図9Aの例示的プロセス900は、フィールドデバイスに関連付けられる情報を受信する(例えば、
図2のエディタ202を介して)ことによって開始する(ブロック902)。情報は、フィールドデバイスによって生成され、例えば、データベース124内に記憶される、プロセス制御情報を含む場合がある。また、情報は、フィールドデバイスの製造業者からの仕様および/またはフィールドデバイス内に記憶される任意の情報も含む場合がある。次いで、例示的プロセス900は、例えば、EDDライブラリ120にアクセスし、EDDファイルを検索する(例えば、エディタ202を介して)ことによって、フィールドデバイスに対するEDDファイルが存在するか否かを判定する(ブロック904)。例示的プロセス900は、フィールドデバイスと合致する任意のEDDファイルについて、EDDライブラリ120を確認することによって、EDDファイルが存在することを判定してもよい。いくつかの例では、EDDファイルは、フィールドデバイス内に記憶され、例示的プロセス900によって受信されてもよい。
【0101】
フィールドデバイスに対するEDDファイルが存在する場合、例示的プロセス900は、EDDライブラリ120からEDDファイルを取り出す(例えば、エディタ202を介して)(ブロック906)。しかしながら、EDDファイルが存在しない場合、例示的プロセス900は、受信した情報に基づき、EDDファイルを作成する(例えば、エディタ202を介して)(ブロック908)。いくつかの例では、プロセス制御設計者および/またはフィールドデバイス設計者は、フィールドデバイスに関連付けられる仕様に基づき、EDDファイルを作成してもよい。他の例では、プロセス900は、どのようにプロセス制御情報および/またはメニュー項目が図式的に表示されるかに関するガイドとして情報を使用して、EDDファイルを生成してもよい。
【0102】
EDDファイルを作成した後、または取り出した後(ブロック906または908)、例示的プロセス900は、いつフィールドデバイスに関連付けられるプロセス制御情報が図形として表示されるかを(例えば、エディタ202を介して)識別する情報に基づき、条件(単数または複数)を決定することによって継続する(ブロック910)。次いで、例示的プロセス900は、判定された条件と合致するスクリプト拡張機能(単数または複数)について、データベース(例えば、スクリプト拡張機能データベース210)にアクセスする(例えば、エディタ202を介して)(ブロック912)。スクリプト拡張機能データベース204は、例えば、表現、機能、方法、トリガ、変換する、および/またはイベントハンドラを含む、例示的プロセス900が検索する場合がある、任意の数および/または種類のスクリプト拡張機能を含んでもよい。例示的プロセス900は、条件の変数、属性、および/もしくはパラメータの種類ならびに/またはそれらの間の関係を、スクリプト拡張機能内の変数、属性、および/もしくはパラメータの種類ならびに/またはそれらの間の関係と比較することによって、条件をスクリプト拡張機能と合致させる場合がある。
【0103】
スクリプト拡張機能データベース204内のスクリプト拡張機能のいずれも、条件(単数または複数)のいずれにも合致しない場合(ブロック914)、例示的プロセス900は、合致しなかった条件のそれぞれに対するスクリプト拡張機能(単数または複数)を作成する(例えば、エディタ202を介して)(ブロック916)。例示的プロセス900は、条件を、いくつかのプロセス制御情報を識別する、1つ以上の変数、属性、および/またはパラメータとの比較を含む、1つ以上の実行可能な命令に変換することによって、スクリプト拡張機能を作成してもよい。また、例示的プロセス900は、プロセス制御情報が条件と合致する場合に表示される図形を判定することによって、スクリプト拡張機能を作成してもよい。代替として、スクリプト拡張機能は、ユーザによって特定および/または作成されてもよい。次いで、例示的プロセス900は、EDDファイル内にスクリプト拡張機能(単数または複数)を含む。さらに、条件と合致する任意のスクリプト拡張機能(ブロック914)について、例示的プロセス900は、スクリプト拡張機能データベース204からの合致するスクリプト拡張機能をEDDファイル内に含む。
【0104】
図9Bの例示的プロセス900は、エラーについてEDDファイルをスキャンすることによって、スクリプト拡張機能を伴うEDDファイルをコンパイルする(例えば、スキャナ208を介して)ことによって継続する(ブロック920)。少なくとも1つのエラーが検出される場合(ブロック922)、例示的プロセス900は、エラーを報告するエラーメッセージをユーザに送信する(例えば、エディタ202を介して)(ブロック924)。次いで、例示的プロセス900は、エラー(単数または複数)を訂正するための命令を受信する(例えば、エディタ202を介して)(ブロック926)。例示的プロセス900は、エラーを訂正し、プロセス制御システムに従うように、EDDファイルを、プロセス制御人員によって特定されるフォーマットおよび/または標準に変換する(例えば、インタプリタ212を介して)(ブロック928)。いくつかの例では、EDDファイルは、変換されない場合がある。これらの例では、ブロック928は、例示的プロセス900によって省略される。
【0105】
例示的プロセス900は、次に、EDDファイルを圧縮二値フォーマットにトークン化してもよい(例えば、トークナイザ210を介して)(ブロック930)。次いで、例示的プロセス900は、EDDファイルおよび/またはトークン化されたEDDファイルを、例えば、EDDライブラリ120に記憶してもよい(例えば、コンパイラ206を介して)(ブロック932)。他の例では、プロセス900は、EDDファイルを、例えば、
図1のワークステーション106等のデバイスに送信してもよい。また、例示的プロセス900は、スクリプト拡張機能が追加EDDファイルに追加されるか否かを判定する(例えば、エディタ202を介して)(ブロック934)。追加EDDファイルが存在する場合、
図9Aの例示的プロセス900は、ブロック902に戻り、EDDファイルを取り出し、かつ/または作成するために、フィールドデバイスに関連付けられる情報を受信する。処理すべき追加EDDファイルが存在しない場合、例示的プロセス900は終了する。
【0106】
図10は、本明細書に記述される例示的方法および装置が実装するために使用される場合がある、例示的プロセッサシステムP10のブロック図である。例えば、
図1および/または
図2の例示的エディタ202、例示的スクリプト拡張機能データベース204、例示的コンパイラ206、例示的スキャナ208、例示的トークナイザ210、例示的インタプリタ212、例示的受信部220、例示的EDDプロセッサ222、例示的図形プロセッサ224、例示的図形データベース226、例示的レンダラー228、ならびに/または、より一般的には、例示的ディスプレイインターフェース102および/もしくはスクリプトジェネレータ108を実装するために、例示的プロセッサシステムP10と同様または同一のプロセッサシステムが使用されてもよい。例示的プロセッサシステムP10は、複数の周辺機器、インターフェース、チップ、メモリ等を含むように以下に説明されるが、これらの要素のうちの1つ以上が、例示的エディタ202、例示的スクリプト拡張機能データベース204、例示的コンパイラ206、例示的スキャナ208、例示的トークナイザ210、例示的インタプリタ212、例示的受信部220、例示的EDDプロセッサ222、例示的図形プロセッサ224、例示的図形データベース226、例示的レンダラー228、ならびに/または、より一般的には、例示的ディスプレイインターフェース102および/もしくはスクリプトジェネレータ108のうちの1つ以上を実装するために使用される他の例示的プロセッサシステムから削除されてもよい。
【0107】
図10に示されるように、プロセッサシステムP10は、相互接続バスP14に接続される、プロセッサP12を含む。プロセッサP12は、
図10では完全にオンチップであるように描写されるが、代替として、完全に、または部分的にオフチップであり、専用電気接続を介して、および/または相互接続バスP14を介して、プロセッサP12に直接接続される可能性がある、レジスタセットまたはレジスタ空間P16を含む。プロセッサP12は、任意の好適なプロセッサ、処理ユニット、またはマイクロプロセッサであってもよい。
図10には図示されていないが、システムP10は、マルチプロセッサシステムであってもよく、したがって、プロセッサP12と同一である、または類似し、相互接続バスP14に通信可能に接続される、1つ以上の追加プロセッサを含んでもよい。
【0108】
図10のプロセッサP12は、メモリコントローラP20と、周辺機器入力/出力(I/O)コントローラP22とを含む、チップセットP18に接続される。周知であるように、チップセットは、典型的に、アクセス可能である、もしくはチップセットP18に接続される1つ以上のプロセッサによって使用される、I/Oおよびメモリ管理機能、ならびに複数の汎用および/または専用レジスタ、タイマ等を提供する。メモリコントローラP20は、プロセッサP12(または、複数のプロセッサが存在する場合、プロセッサ(複数))がシステムメモリP24および大容量記憶メモリP25にアクセスすることを可能にする、機能を実施する。
【0109】
システムメモリP24は、例えば、静的ランダムアクセスメモリ(SRAM)、動的ランダムアクセスメモリ(DRAM)、フラッシュメモリ、読み取り専用メモリ(ROM)等の任意の所望の種類の揮発性および/または不揮発性メモリを含んでもよい。大容量記憶メモリP25は、任意の所望の種類の大容量記憶デバイスを含むことができる。例えば、例示的プロセッサシステムP10が、例示的スクリプト拡張機能データベース204および/または例示的図形データベース226(
図1および
図2)を実装するために使用される場合、大容量記憶メモリP25は、ハードディスクドライブ、光学式ドライブ、テープ記憶デバイス等を含んでもよい。代替として、例示的プロセッサシステムP10が、スクリプト拡張機能データベース204および/または図形データベース226を実装するために使用される場合、大容量記憶メモリP25は、固体メモリ(例えば、フラッシュメモリ、RAMメモリ等)、磁気メモリ(例えば、ハードドライブ)、またはスクリプト拡張機能データベース204および/または図形データベース226内の大容量記憶に好適な任意の他のメモリを含んでもよい。
【0110】
周辺機器I/OコントローラP22は、プロセッサP12が、周辺機器I/OバスP32を介して、周辺機器入力/出力(I/O)デバイスP26およびP28、ならびにネットワークインターフェースP30と通信することを可能にする、機能を実施する。I/OデバイスP26およびP28は、例えば、キーボード、ディスプレイ(例えば、液晶ディスプレイ(LCD)、ブラウン管(CRT)ディスプレイ等)、ナビゲーションデバイス(例えば、マウス、トラックボール、静電容量式タッチパッド、ジョイスティック等)等の任意の所望の種類のI/Oデバイスであってもよい。ネットワークインターフェースP30は、プロセッサシステムP10が別のプロセッサシステムと通信することを可能にする、例えば、イーサネット(登録商標)デバイス、非同期転送モード(ATM)デバイス、802.11デバイス、DSLモデム、ケーブルモデム、携帯電話モデム等であってもよい。
【0111】
メモリコントローラP20およびI/OコントローラP22は、チップセットP18内の別個の機能ブロックとして
図10に描写されるが、これらのブロックによって実施される機能は、単一の半導体回路内に集積されてもよく、または、2つ以上の別個の集積回路を使用して実装されてもよい。
【0112】
上述の例示的方法および/または装置のうちの少なくともいくつかは、コンピュータプロセッサ上で動く、1つ以上のソフトウェアおよび/またはファームウェアプログラムによって実装される。しかしながら、本明細書に記述される例示的方法および/または装置のうちのいくつか、またはすべてを、全体的に、または部分的に実装するために、特定用途向け集積回路、プログラマブル論理アレイ、および他のハードウェアデバイスを含むが、これらに限定されない、専用ハードウェア実装を、同様に構築することができる。さらに、また、分散処理もしくはコンポーネント/オブジェクト分散処理、並列処理、または仮想機械処理を含むが、これらに限定されない、代替のソフトウェア実装も、本明細書に記述される例示的方法および/またはシステムを実装するために構築することができる。
【0113】
また、本明細書に記述される例示的ソフトウェアおよび/またはファームウェア実装は、磁気媒体(例えば、磁気ディスクまたはテープ)、光ディスク等の光磁気媒体もしくは光媒体、あるいはメモリカード、または1つ以上の読み取り専用(不揮発性)メモリ、ランダムアクセスメモリ、もしくは他の書き換え可能(揮発性)メモリを収容する他のパッケージ等の固体媒体等の有形記憶媒体上に記憶されることにも留意されたい。したがって、本明細書に記述される例示的ソフトウェアおよび/またはファームウェアは、上述されるもの、またはとって代わる記憶媒体等の有形記憶媒体上に記憶することができる。上記の明細書が、特定の標準およびプロトコルを参照して、例示的コンポーネントおよび機能を説明する範囲について、本特許の範囲は、そのような標準およびプロトコルに限定されないことが理解される。
【0114】
加えて、本特許は、ハードウェア上で実行されるソフトウェアまたはファームウェアを含む、例示的方法および装置を開示するが、そのようなシステムは、例示にすぎず、制限として解釈されるべきではないことに留意されたい。例えば、これらのハードウェアおよびソフトウェアコンポーネントのうちのいずれか、またはすべてを、ハードウェアのみで、ソフトウェアのみで、ファームウェアのみで、またはハードウェア、ファームウェア、および/もしくはソフトウェアの何らかの組み合わせで具現化できる可能性があることが意図される。したがって、上記の明細書は、例示的方法、システム、および機械がアクセス可能な媒体を説明したが、例は、そのようなシステム、方法、および機械がアクセス可能な媒体を実装するための唯一の方法ではない。したがって、特定の例示的方法、システム、および機械がアクセス可能な媒体が本明細書に記述されてきたが、本特許の対象範囲は、これらに限定されない。それどころか、本特許は、文言上、または均等論の下で適正に添付の特許請求の範囲内である、すべての方法、システム、および機械がアクセス可能な媒体を対象とする。