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