(57)【特許請求の範囲】
【請求項１】
ローカライズされたプロセス制御オブジェクトの表示方法であって、
プロセス制御システムに関連するプロセス制御オブジェクトを視認する要求を受信し、
前記プロセス制御オブジェクトに基づいて、タグを含むデバイス記述ファイルを選択し、
前記要求に関連するロケールに基づいて一組のロケールテンプレートを選択し、
前記プロセス制御オブジェクトに基づいて、前記一組のロケールテンプレートからロケールテンプレートを選択し、
前記選択されたロケールテンプレートの部分を前記デバイス記述ファイル内の前記タグに挿入することによって、表示のために前記プロセス制御オブジェクトを処理すること、
を含み、
前記一組のロケールテンプレートは、拡張スタイルシート言語変換ロケールテンプレート、拡張マークアップ言語ロケールテンプレート、およびリソースベースロケールテンプレートのうちの少なくとも一つから選択される
方法。
【請求項２】
前記選択されたロケールテンプレート内の前記プロセス制御オブジェクトを表示する命令を、前記要求を送信したアプリケーションに送信することをさらに含む請求項１に記載の方法。
【請求項３】
前記アプリケーションを介して、前記選択されたロケールテンプレート内で前記プロセス制御オブジェクトを表示することをさらに含む請求項２に記載の方法。
【請求項４】
前記要求は、言語タイプ、数値書式、インターネットプロトコルアドレス、データ書式、国、地域、または方言のうちの少なくとも１つを含むロケール情報を含む請求項１に記載の方法。
【請求項５】
前記一組のロケールテンプレートを選択することは、
前記要求に関連する前記ロケール情報を識別し、
前記識別されたロケール情報を、前記一組のロケールテンプレート内で対応するテンプレートと一致させること、を含む請求項４に記載の方法。
【請求項６】
前記一組のロケールテンプレートから前記ロケールテンプレートを選択することは、
前記プロセス制御オブジェクトのタイプを識別し、
前記ロケールテンプレートが前記プロセス制御オブジェクトのタイプを表示するように構成されていることを指定する識別子を含む前記ロケールテンプレートを識別することによって、前記タイプを前記ロケールテンプレートと一致させること、を含む請求項１〜請求項５の何れか１項に記載の方法。
【請求項７】
前記プロセス制御オブジェクトに関連する少なくとも１つのリソースを確定し、
前記少なくとも１つのリソースのタイプに基づいて、前記ロケールテンプレートを選択し、
前記選択されたロケールテンプレート内での表示のために、前記少なくとも１つのリソースを処理すること、
をさらに含む請求項１〜請求項６の何れか１項に記載の方法。
【請求項８】
前記ロケールテンプレートは、翻訳された情報を含むロケールリソースファイルである請求項１〜請求項７の何れか１項に記載の方法。
【請求項９】
表示のために前記プロセス制御オブジェクトを処理する前に、前記ロケールテンプレートを翻訳することをさらに含む請求項１〜請求項８の何れか１項に記載の方法。
【請求項１０】
前記一組のロケールテンプレートは、拡張スタイルシート言語変換ロケールテンプレート、拡張マークアップ言語ロケールテンプレート、およびリソースベースロケールテンプレートから選択される請求項１〜請求項９の何れか１項に記載の方法。
【請求項１１】
前記デバイス記述ファイルは、一般情報、診断、性能解析、運転統計、パラメータ化、範囲、シミュレーション、オーバーライド、較正トリム、監視、セキュリティ、またはリセットのうちの少なくとも１つのために、前記プロセス制御オブジェクトに関連する機能性の説明を含む電子デバイス記述言語ファイルである請求項１〜請求項１０の何れか１項に記載の方法。
【請求項１２】
ローカライズされたプロセス制御オブジェクトの表示装置であって、
プロセス制御オブジェクトを視認する要求に基づく、タグを含むデバイス記述ファイルを選択するデバイス記述ファイルプロセッサと、
前記要求に関連するロケールに基づいて一組のロケールテンプレートを選択し、受信されたプロセス制御オブジェクトに基づいて、前記一組のロケールテンプレートからロケールテンプレートを選択するための、テンプレートプロセッサと、
前記選択されたロケールテンプレートを前記デバイス記述ファイル内の前記タグと結合することによって、表示のために前記プロセス制御オブジェクトを処理するオブジェクトマネジャと、
を備え、
前記一組のロケールテンプレートは、拡張スタイルシート言語変換ロケールテンプレート、拡張マークアップ言語ロケールテンプレート、およびリソースベースロケールテンプレートのうちの少なくとも一つから選択される装置。
【請求項１３】
前記オブジェクトマネジャは、
前記選択されたロケールテンプレートの部分を、前記デバイス記述ファイル内の前記タグと一致させ、
前記ロケールテンプレートの前記一致された部分を前記デバイス記述ファイル内の前記タグ内に挿入し、
前記ロケールテンプレートの前記挿入された部分を用いて前記デバイス記述ファイルを操作すること
によって、前記選択されたロケールテンプレートを前記タグと結合する、請求項１２に記載の装置。
【請求項１４】
前記テンプレートプロセッサは、
前記要求に関連するロケール情報を識別し、
前記識別されたロケール情報を、前記一組のロケールテンプレートと一致させること
によって、前記一組のロケールテンプレートを選択する、請求項１２又は請求項１３に記載の装置。
【請求項１５】
前記テンプレートプロセッサは、
前記プロセス制御オブジェクトのタイプを識別し、
前記ロケールテンプレートが前記プロセス制御オブジェクトのタイプを表示するように構成されていることを指定する識別子を含む前記ロケールテンプレートを識別することによって、前記タイプを前記一組内の前記ロケールテンプレートと一致させること
によって、前記一組内の前記ロケールテンプレートを選択する請求項１２〜請求項１４の何れか１項に記載の装置。
【請求項１６】
前記オブジェクトマネジャは、
前記プロセス制御オブジェクトに関連する少なくとも１つのリソースを確定し、
前記少なくとも１つのリソースのためのコントローラにアクセスし、
前記少なくとも１つのリソースのタイプに基づいて、前記テンプレートプロセッサから前記ロケールテンプレートを受信し、
前記選択されたロケールテンプレート内での表示のために前記少なくとも１つのリソースを処理する、請求項１２〜請求項１５の何れか１項に記載の装置。
【請求項１７】
命令が記憶されている機械アクセス可能媒体であって、前記命令は、実行されると機械に、少なくとも、
プロセス制御システムに関連するプロセス制御オブジェクトを視認する要求を受信し、
前記プロセス制御オブジェクトに基づいて、タグを含むデバイス記述ファイルを選択し、
前記要求に関連するロケールに基づいて一組のロケールテンプレートを選択し、
前記プロセス制御オブジェクトに基づいて、前記一組のロケールテンプレートからロケールテンプレートを選択し、
前記選択されたロケールテンプレートの部分を前記デバイス記述ファイル内の前記タグに挿入すること
によって、表示のために前記プロセス制御オブジェクトを処理させ、
前記一組のロケールテンプレートは、拡張スタイルシート言語変換ロケールテンプレート、拡張マークアップ言語ロケールテンプレート、およびリソースベースロケールテンプレートのうちの少なくとも一つから選択される機械アクセス可能媒体。
【請求項１８】
前記命令は、実行されると前記機械に、
前記要求に関連するロケール情報を識別し、
前記識別されたロケール情報を、前記一組のロケールテンプレート内で対応するテンプレートと一致させること、
により、前記一組のロケールテンプレートを選択させる請求項１７に記載の機械アクセス可能媒体。
【請求項１９】
前記命令は、実行されると前記機械に、
前記プロセス制御オブジェクトのタイプを識別し、
前記ロケールテンプレートが前記プロセス制御オブジェクトのタイプを表示するように構成されていることを指定する識別子を含む前記ロケールテンプレートを識別することによって、前記タイプを前記ロケールテンプレートと一致させること、
により、前記一組のロケールテンプレートから前記ロケールテンプレートを選択させる請求項１７又は請求項１８に記載の機械アクセス可能媒体。
【請求項２０】
前記命令は、実行されると前記機械に、
前記プロセス制御オブジェクトに関連する少なくとも１つのリソースを確定し、
前記少なくとも１つのリソースのタイプに基づいて、前記ロケールテンプレートを選択し、
前記選択されたロケールテンプレート内での表示のために、前記少なくとも１つのリソースを処理すること、
をさせる請求項１７〜請求項１９の何れか１項に記載の機械アクセス可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、全体として、プロセス制御システムに関し、より詳細には、ローカライズされたプロセス制御オブジェクトの表示方法および装置に関する。
【背景技術】
【０００２】
化学、石油、または他のプロセスで使用されるようなプロセス制御システムは、通常、アナログバス、デジタルバス、または結合されたアナログ／デジタルバスを介して、少なくとも１つのホストまたはオペレータワークステーション、および１以上のフィールドデバイスに通信可能に結合した、１以上のプロセスコントローラおよび入力／出力（Ｉ／Ｏ）デバイスを含む。たとえば弁、弁ポジショナ、スイッチ、および送信機（たとえば、温度、圧力、および流量センサ）であってよいフィールドデバイスは、弁を開放または閉鎖すること、および、プロセス制御パラメータを測定することなどの、プロセス内のプロセス制御機能を実施する。コントローラは、フィールドデバイスによって行われるプロセス測定を示す信号を受信し、制御ルーチンを実装するためにこの情報を処理し、制御信号を生成し、制御信号は、バスまたは他の通信ラインを通じてフィールドデバイスに送出されて、プロセスの動作を制御する。こうして、コントローラは、フィールドデバイスに通信可能に結合するバスおよび／または他の通信リンクを介してフィールドデバイスを使用して制御ストラテジまたはルーチンを実行し調整することができる。
【０００３】
フィールドデバイスおよびコントローラからの情報は、オペレータワークステーション（たとえば、プロセッサベースシステム）によって実行される１以上のアプリケーション（すなわち、ルーチン、プログラムなど）に利用可能とされて、プロセスの現在の状態を（たとえば、グラフィカルユーザインタフェースを介して）視認すること、プロセスを評価すること、プロセスの動作を（たとえば、視覚オブジェクト図を介して）修正することなどのような、プロセスに関する所望の機能をオペレータが実施することができる。多くのプロセス制御システムはまた、１以上のアプリケーションステーションを含む。通常、これらのアプリケーションステーションは、ローカルエリアネットワーク（ＬＡＮ）を介してプロセス制御システム内のコントローラ、オペレータワークステーション、および他のシステムに通信可能に結合されるパーソナルコンピュータ、ワークステーション、またはこれらと同様なものを使用して実装される。各アプリケーションステーションは、プロセス制御システム内で、キャンペーン管理機能、メンテナンス管理機能、仮想制御機能、診断機能、リアルタイム監視機能、安全関連機能、構成機能などを実施する１以上のストラテジ、ルーチン、またはアプリケーションを実行することができる。
【０００４】
さらに、アプリケーションステーションおよび／またはオペレータワークステーションは、オペレータの言語のために構成された（たとえば、ローカライズされた）アプリケーションを実装する場合がある。アプリケーションのための言語構築プロシージャの一部として、プロセス制御設計者またはアプリケーションデザイナは、通常、ロケールに関連する数値書式に基づいて、翻訳されたフレーズ（たとえば、英語のフレーズ）を付加し、及び／または、データフィールドをフォーマットする。他の例では、設計者は、アプリケーション内でローカリゼーション情報を更新することによって、リソースファイル内のアプリケーションを構成する場合がある。
【０００５】
さらに、プロセス制御情報を管理するコントローラおよびデータベースは、一般に、プロセス制御システムのための地域設定（たとえば言語設定）によって構成される。多くの事例では、これらのコントローラおよび／またはデータベースは、１つの地域設定を使用できるだけである。リソースファイルを有するコントローラおよびデータベースは、他の言語設定をサポートするように再構成される必要がある場合がある。換言すれば、コントローラおよび／またはデータベースは、一度に１つのロケールについて単一プロセス制御システム内のアプリケーションからの要求を扱うことができるだけであり、異なるロケールに対しては完全な再構成が更新される必要がある場合がある。
【０００６】
コントローラおよび／またはデータベースは、一般に、単一ロケールに関連し、コントローラによって生成される情報にアクセスするアプリケーションは、コントローラに割当てられたロケールに関連する言語で情報を表示するだけであってよい。そのため、アプリケーションが、複数のロケール間に分散した複数のコントローラにアクセスする場合、複数の言語が関与する場合がある。言語リリースをサポートするためにコントローラを更新することは、言語更新または変更時に再初期化する比較的多数の制御ルーチンをコントローラが含む場合があるため、非効率であり、及び／または時間がかかる場合がある。さらに、コントローラを更新することは、プロセス制御システムを停止することを含む場合がある。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ローカライズされたプロセス制御オブジェクトを表示する例示的な方法および装置が記述される。
【課題を解決するための手段】
【０００８】
一例では、本方法は、プロセス制御システムに関連するプロセス制御オブジェクトを視認する要求を受信すること、および、プロセス制御オブジェクトに基づいて、タグを含むデバイス記述ファイルを選択することを含む。例示的な方法はまた、要求に関連するロケールに基づいて一組のロケールテンプレートを選択すること、および、プロセス制御オブジェクトに基づいて、一組のロケールテンプレートからロケールテンプレートを選択することを含む。例示的な方法はさらに、選択されたロケールテンプレートの部分をデバイス記述ファイル内のタグに挿入することによって、表示のためにプロセス制御オブジェクトを処理することを含む。
【０００９】
例示的な装置は、プロセス制御オブジェクトを視認する要求に基づいて、タグを含むデバイス記述ファイルを選択するデバイス記述ファイルプロセッサを含む。例示的な装置はまた、要求に関連するロケールに基づいて一組のロケールテンプレートを選択し、受信されたプロセス制御オブジェクトに基づいて、一組のロケールテンプレートからロケールテンプレートを選択するための、テンプレートプロセッサを含む。例示的な装置はさらに、選択されたロケールテンプレートをデバイス記述ファイル内のタグと結合することによって、表示のためにプロセス制御オブジェクトを処理するオブジェクトマネジャを含む。
【図面の簡単な説明】
【００１０】
【図１】例示的なローカリゼーションインタフェースを含む例示的なプロセス制御システムを示すブロック図である。
【図２】図１の例示的なローカリゼーションインタフェースの機能ブロック図である。
【図３】テキストベースリソースロケールテンプレートを利用する図１および図２のローカリゼーションインタフェースを含む例示的な実装システムを示す図である。
【図４】ＸＭＬについてフォーマットされたロケールテンプレートを利用する図１および図２のローカリゼーションインタフェースを含む図３の例示的な実装システムを示す図である。
【図５】ローカライズされたプロセス制御オブジェクトを表示するための、図１および図２のローカリゼーションインタフェースを含む例示的なプロセス制御アーキテクチャを示す図である。
【図６】ウェブブラウザ内のプロセス制御情報として、要求されるプロセス制御オブジェクトを表示する例示的なユーザインタフェースを示す図である。
【図７】ウェブブラウザ内のプロセス制御情報として、要求されるプロセス制御オブジェクトを表示する例示的なユーザインタフェースを示す図である。
【図８】異なるローカリゼーションコンテキストの同じプロセス制御情報が図１および図２の例示的なローカリゼーションインタフェースによって適用される例示的なユーザインタフェースを示す図である。
【図９】異なるローカリゼーションコンテキストの同じプロセス制御情報が図１および図２の例示的なローカリゼーションインタフェースによって適用される例示的なユーザインタフェースを示す図である。
【図１０】ウェブブラウザ内のプロセス制御オブジェクトに関連するプロセス制御情報を表示するための、図１および図２の例示的なローカリゼーションインタフェースと通信する例示的なユーザインタフェースを示す図である。
【図１１】（Ａ）及び（Ｂ）は、無線デバイス上で表示される例示的なユーザインタフェースを示す図である。
【図１２】図１および／または図２のローカリゼーションインタフェースを実装するために使用されてもよい例示的なプロセスのフローチャートである。
【図１３】図１および／または図２のローカリゼーションインタフェースを実装するために使用されてもよい例示的なプロセスのフローチャートである。
【図１４】図１および／または図２のローカリゼーションインタフェースを実装するために使用されてもよい例示的なプロセスのフローチャートである。
【図１５】本明細書に記載される例示的な方法および装置を実装するために使用できる例示的なプロセッサシステムのブロック図である。
【発明を実施するための形態】
【００１１】
以下は、数あるコンポーネントの中でも、ハードウェア上で実行されるソフトウェアおよび／またはファームウェアを含む例示的な方法および装置を記述するが、これらの例は、例証であるに過ぎず、制限的であると考えられるべきでないことを留意されたい。たとえば、ハードウェア、ソフトウェア、およびファームウェアコンポーネントのいずれかまたは全ては、ハードウェアのみ、ソフトウェアのみ、またはハードウェアおよびソフトウェアの任意の組合せで具現化できる可能性があることが意図される。したがって、以下は例示的な方法および装置を記述するが、提供される例が、こうした方法および装置を実装するための唯一の方法でないことを当業者は容易に理解するであろう。たとえば、例示的な方法および装置は、ローカライズされたプロセス制御オブジェクトを表示することに関連して記述されるが、例示的な方法および装置は、任意の自動化システム、バッチ処理システム、製造システム、工業制御システム、安全計装システムなどに関連するローカライズされたプロセス制御オブジェクトを表示するためにより一般的に適用可能であり、かつ実装されてもよい。
【００１２】
プロセス制御システムは、一般に、制御システム内に配置されたフィールドデバイスを管理するルーチン、制御ストラテジ、および／またはアルゴリズムを実施するコントローラを含む。フィールドデバイスは、たとえば弁、弁ポジショナ、スイッチ、および送信機であってよく、また、弁の開放または閉鎖、および、プロセス制御パラメータの測定などのプロセス制御機能を実施してもよい。フィールドデバイスを管理することに加えて、コントローラは、フィールドデバイスから受信されるデータに基づいてプロセス制御情報を生成してもよい。プロセス制御情報（たとえばリソース）は、フィールドデバイスからのプロセス統計量、アラーム、監視情報、プロセストレンド情報、診断情報、フィールドデバイス状態情報、および／またはメッセージを含んでもよい。プロセス制御情報、フィールドデバイス、プロセス制御システムの部分、および／またはフィールドデバイスのコンポーネントは、一括してプロセス制御オブジェクトと呼ばれる。
【００１３】
コントローラは、オペレータがプロセス制御システムを管理できるように、ワークステーション上で動作するアプリケーションにプロセス制御情報を送信する。通常、アプリケーションは、プロセス制御オブジェクトを、ユーザインタフェース内の少なくとも１つのグラフィカルデータ表現として表示する。データ表現は、プロセス制御オブジェクトを、チャート、グラフ、データテーブル、リストボックス、グラフィカルシンボル、テキストなどの形態でグラフィカルに表示することによってオペレータの助けになる。ユーザインタフェース内のデータ表現および対応するテキストは、一般に、情報を視認するオペレータのロケールに関連する書式および／または言語で表示される。オペレータのロケールは、国、言語、数値書式、タイムゾーン、地理的領域、文化的領域、方言、民族領域などを含んでもよい。
【００１４】
プロセス制御システムは、世界中の施設で使用されてもよい。各国および／または各地域について、要員は、慣れた言語（たとえば、フランス語、ドイツ語、日本語、ポーランド語など）および／または地域設定で働くことを好む。一般に、任意のプロセス制御システムについて、異なるレベルの訓練および／または経験を持つ種々の要員が存在する場合があり、要員は、プロセス制御システムによって使用される言語によって影響を受ける場合がある。さらに、これらの異なる要員によって好まれる言語は、同じ施設内であっても常に同じでない場合がある。たとえば、エンジニアは、プロセスを英語で解析することを好むかもしれず、一方、オペレータは、プロセスを中国語で監視することを好むかもしれない。
【００１５】
さらに、プロセス制御システムは、遠隔ロケーションから構成及び／または、診断されてもよい。たとえば、日本のプロセス制御システムは、米国で設計されたアプリケーションおよび制御ルーチンを含む場合がある。この例では、システム内の問題の構成、または診断の責任がある米国要員は英語が堪能であり、一方、日本のプロセス制御要員は日本語が堪能である場合がある。言語差の結果として、日本の制御システムは、米国の診断および構成サポートを使用することによって制限される場合がある。さらに、２つの言語間で構成情報を共有することは、難しくかつ非効率である場合がある。多くの事例では、システムは一旦構成されると、プロセス制御システムを構成するために必要とされる時間のために、別の言語に再構成されない場合がある。そのため、新しいシステムに関して開発されるどんな技術革新も、元のシステムの構成に容易に組み込まれない場合がある。
【００１６】
世界の異なる所のプロセス制御システムは、共通のリソースおよび／またはシステム構成情報を共有する場合がある。しかし、これらのプロセス制御システムは、異なる（たとえばローカライズされた）地域設定によって構成される場合がある。異なる地域設定を有する制御システム間で情報を共有することは、比較的難しくかつ時間がかかる場合がある。ある例では、異なる地域設定を有する制御システムに送信される情報は、システム内で情報を利用する前に変換される場合がある。さらに、異なる地域設定間で情報を変換することは、不適切に変換された情報に起因する問題をもたらす場合がある。たとえば、米国の地域設定における７５．０００の値は、７５である場合がある（ピリオドは小数点であり、カンマは１０００単位の区切り記号である）。フランスでは、同じ値は、７５，０００として表される場合がある（カンマは小数点であり、ピリオドは１０００単位の区切り記号である）。数値７５．０００は、７５，０００の対応する適切な値に変換されない場合がある。この変換なしでは、受信側制御システムは、予想されるより１０００倍大きな値を使用する場合がある。
【００１７】
変換の問題に対処するために、多くのプロセス制御システムのテキストは、言語ニュートラルであるように構成されてもよい。換言すれば、多くの知られているプロセス制御システムは、自然言語ワードの代わりにポインタ（たとえば変数名）を使用してもよい。いくつかの例では、ポインタは、ワードに比べて維持するのが難しい場合がある。さらに、プロセス制御システムの一部分だけが、構成の複雑さのために、言語ニュートラルであるように構成される場合がある。しかし、プロセス制御システムの他の部分は、単一言語のために設計されてもよい。そのため、プロセス制御システムのこれらの言語ニュートラル部分は、異なる言語のために翻訳される必要がある場合がある。
【００１８】
一般にプロセス制御システムに加えて、プロセス制御システム内のフィールドデバイスは、地域および／言語についてローカライズされてもよい。いくつかの知られているシステムでは、プロセス制御アプリケーションは、対応するデバイス記述ファイル（たとえば、電子デバイス記述言語（ＥＤＤＬ）ファイル）を介してフィールドデバイスからのプロセス制御情報を表示する。デバイス記述ファイルは、フィールドデバイス内に記憶されてもよく、或いは代替として、コントローラおよび／またはワークステーション内に記憶されてもよいファイルである。ファイルは、フィールドデバイスによって生成される情報をアプリケーションがどのように表示するかに関連する命令を提供する。こうして、デバイス記述ファイルは、アプリケーションが、対応するフィールドデバイスから生成されるプロセス制御情報を含むプロセス制御オブジェクトのグラフィカル表現を表示することを可能にする。たとえば、アプリケーションは、デバイス記述ファイルを使用して、ミリボルト（たとえば、あるタイプの単位、およびその単位のある大きさ）でフィールドデバイス出力プロセス制御情報を判定してもよい。デバイス記述ファイルはまた、ミリボルト出力が、たとえばゲージ、チャート、数値フィールド、マクロチャート、バーグラフ、グリッド、および／または画像になるようにグラフィカル表現を規定してもよい。
【００１９】
デバイス記述ファイルはまた、フィールドデバイスの機能性を記述する。この機能性は、メニューシステム記述、一般デバイス情報、診断、性能解析情報、運転統計、パラメータ化情報、範囲設定情報、シミュレーションパラメータ、オーバーライド情報、較正トリム情報、監視情報、デバイスセキュリティプロトコル、および／またはリセット情報を含んでもよい。いくつかの例では、デバイス記述ファイルは、ワードプロセッシングアプリケーションによって読取り可能なテキストベースファイルである。
【００２０】
フィールドデバイスをローカライズするために、デバイス記述ファイル内のテキストおよび／または数値フィールドは、所望のロケールを反映するために修正される。さらに、ユーザインタフェースを介してプロセス制御オブジェクトを表示するアプリケーションは、ローカライズされたデバイス記述ファイルを反映するために更新されなければならない。こうして、プロセス制御オブジェクトは、ロケールについてフォーマットされ、同じロケールについて構成されたアプリケーション内で表示される。デバイス記述ファイルの任意の部分が修正される場合、プロセス制御オブジェクトを表示する対応するアプリケーションは、プロセス制御要員によって適切に更新されなければならない。これらのアプリケーションを更新することは、時間がかかり、比較的非効率である可能性がある。
【００２１】
アプリケーションおよび／またはデバイス記述ファイルのためにローカライズされている情報および／またはデータは、ローカライズされた情報と呼ばれる。ローカライズされた情報は、アプリケーション内で表示される、条件、命令、コマンド、イベント、状態、値、および／または任意の他のテキストを記述してもよい翻訳されたテキストストリングを含んでもよい。さらに、ローカライズされた情報は、数値フォーマッティング情報を含んでもよい。
【００２２】
現在、多くのフィールドデバイス製造業者は、フィールドデバイスによって販売業者に提供されるツールキット内にデバイス記述ファイル、試験スクリプト、および／またはデバイス固有コンポーネントを含む。販売業者は、その後、販売業者のロケールに基づいてデバイス記述ファイルおよび関連アプリケーションをローカライズする。さらに、販売業者は、関連アプリケーションを用いて、ローカライズされたデバイス記述ファイルを検証して、ローカリゼーションが、フィールドデバイスおよび／またはデバイス記述ファイルの機能性を変更しなかったことを確実にする。翻訳されたファイルを検証するとすぐに、販売業者は、プロセス制御システム内で使用するために、フィールドデバイス、翻訳されたデバイス記述ファイル、および／または、対応するアプリケーションをプロセス制御システムマネジャに伝達する。
【００２３】
多くの事例では、デバイス記述ファイルを使用するコントローラおよび／またはデータベースは、コントローラ命令が更新されてもよいように、言語またはロケールが変更されるたびに再初期化される必要がある場合がある。さらに、コントローラおよび／またはデータベースは、デバイス記述ファイル内のローカライズ可能フレーズおよび翻訳されたテキストファイル（たとえば、ローカライズされた情報）が、修正される、及び／または、拡張されるため、再初期化される必要がある場合がある。コントローラの再初期化は、プロセス制御システムを停止することを必要とし、生産の停止によって収益の損失が生じる場合がある。さらに、１つのロケールのために構成されたコントローラは、プロセス制御オブジェクトを、（たとえば、世界の異なる所に配置されたオペレータおよび関連アプリケーションのために）複数の言語で表示することを必要とする場合がある複数のアプリケーションをサポートする能力がないかもしれない。
【００２４】
本明細書で記述される例示的な方法および装置は、ローカライズされた情報が別個のデータベース内で管理されることを可能にするデバイス記述ファイル内のタグを利用することによって、アプリケーション内でプロセス制御オブジェクトを表示する。換言すれば、本明細書で記述される例示的な方法および装置は、プロセス制御オブジェクトおよびデバイス記述ファイルをローカライズされた情報から分離し、それにより、プロセス制御オブジェクトが、デバイス記述ファイルおよび／またはプロセス制御情報を修正することなく、ローカライズされたコンテキスト内で表示されることを可能にする。こうして、本明細書で記述される例示的な方法および装置は、プロセス制御情報を生成するデバイス層と、アプリケーション内でプロセス制御情報を表示するホストアプリケーション層との間のインタフェース層として実装される。
【００２５】
デバイス記述ファイル内のタグは、ローカライズされたテキスト、書式、および／または値（たとえば、ローカライズされた情報）を置換する。タグは、ロケールテンプレート内でローカライズされた情報を参照する。データベースは、異なるロケール（たとえば、日本、米国、ドイツなど）用のロケールテンプレートを含んでもよい。ロケールテンプレートは、テキストストリング、数値フィールド定義、および／またはデータグラフィカル表現定義を含むロケール固有のリソースファイルであってよい。ロケール固有のリソースファイルはまた、プロセス制御情報を適切に表示するために使用されてもよい、対応するフィールドデバイスによって生成されるプロセス制御情報に対する参照を含んでもよい。あるいは、ロケールテンプレートは、ローカライズされた情報を含む拡張スタイルシート言語変換（ＸＳＬＴ）ファイルおよび／または拡張マークアップ言語（ＸＭＬ）ファイルを含んでもよい。ＸＳＬＴおよび／またはＸＭＬファイルは、本明細書で記述される例示的な方法および装置によってハイパーテキストマークアップ言語(HyperText Markup Language)（ＨＴＭＬ）ファイルに変換されて、ウェブブラウザ内でプロセス制御オブジェクトを表示してもよい。いくつかの例では、ロケールテンプレートは、ＸＭＬデバイス記述ファイル内で対応するタグを参照するタグを含むＸＭＬファイルを含んでもよい。
【００２６】
特定のロケールについてデバイス記述ファイルを利用するために、本明細書で記述される例示的な方法および装置は、プロセス制御要員がロケールを選択することを可能にする。本明細書で記述される例示的な方法および装置は、その後、指定されたロケールおよび要求されたプロセス制御オブジェクトを使用して、選択されたローカライズされた書式でアプリケーションを介してプロセス制御オブジェクトを表示する。ローカライズされた情報がデバイス記述ファイルから分離するため、単一デバイス記述ファイルを、複数のロケールについて同時に使用することができる。たとえば、オペレータは、プロセス制御オブジェクトを、ワークステーション上で日本語で視認してもよく、一方、同じエリア内の異なるワークステーション上のエンジニアは、同じプロセス制御オブジェクトを英語で視認する。さらに、本明細書で記述される例示的な方法および装置は、オペレータが、データベース内のコントローラおよび／またはデバイス記述ファイルを再初期化する必要なしで、アプリケーションのロケールおよび／または言語を比較的迅速に切換えることを可能にする。
【００２７】
さらに、デバイス記述ファイルおよびローカライズされた情報が別個であるため、フィールドデバイス製造業者は、フィールドデバイス用のデバイス記述ファイルをリリースし、ローカライズされた情報に関連するタグを指定することできる。販売業者および／またはプロセス制御要員は、その後、デバイス記述ファイルを修正する（かつ、壊す可能性がある）代わりに、ローカライズされた情報を有する１以上のロケールテンプレートを作成する。さらに、販売業者および／またはプロセス制御要員は、翻訳されたデバイス記述ファイルの代わりに、ロケールテンプレートを検証しなければならないだけである場合がある。
【００２８】
デバイス記述ファイルをロケールテンプレートから分離することによって、ロケールテンプレートに対する更新および／または修正は、コントローラおよび／またはフィールドデバイスを停止することなく行われる場合がある。そのため、言語更新は、制御システムの動作から生成される、生産性、効率、および／または収益に影響を及ぼすことなく、適用される場合がある。さらに、ロケールテンプレートがテキストストリングおよび／または数値フィールドを含むため、ロケールテンプレートは、任意のテキスト編集アプリケーションによって比較的容易に修正される場合がある。例示的な方法および装置は、ラテン語系言語に関連するロケールテンプレートを実装する本開示を通して記述され示されるが、ロケールテンプレートはまた、他の言語および／または方言（たとえば、インドの言語、日本語、中国語、アラビア語など）も含んでもよい。
【００２９】
本明細書で記述される例示的な方法および装置はまた、アプリケーション内でのプロセス制御オブジェクトのグラフィカル表現についての設計時間を低減する。たとえば、ロケールテンプレートは、特定のロケールについてプロセス制御オブジェクトがアプリケーション内でどのように表示されるかを指定してもよい。こうして、アプリケーションは、あるロケールについてローカライズされた情報によってハードコーディングされない。代わりに、本明細書で記述される方法および装置は、表示のために、レンダリングされたロケールテンプレートをアプリケーションに送信する。
【００３０】
本明細書で記述される例示的な方法および装置は、ディスプレイのタイプに基づいてプロセス制御オブジェクトを表示する。たとえば、多くのプロセス制御要員は、プロセス制御オブジェクトを、ワークステーション、ラップトップ、および／または他のコンピューティングデバイス上で視認する。さらに、モバイルデバイスの進歩に伴って、プロセス制御要員はまた、プロセス制御オブジェクトを、スマートフォン、ネットパッド、フィールド通信機、携帯情報端末、および／または任意の他の無線モバイルデバイス上で視認する場合もある。しかし、スクリーンサイズが異なるデバイス間で変わる場合があるため、多くの知られているプロセス制御システムは、異なるデバイスタイプについて異なるアプリケーションを有する。さらに、モバイルデバイス用のアプリケーションの一部は、ワークステーション用のアプリケーションの機能性の一部を含まない場合がある。たとえば、スマートフォンを介して一部のプロセス制御情報にアクセスするために、ユーザは、プロセス制御モバイルアプリケーションを使用しなければならない場合がある。
【００３１】
本明細書で記述される例示的な方法および装置は、プロセス制御オブジェクトのための要求を送信したデバイスのタイプに基づいて異なるロケールテンプレートを利用する。こうして、プロセス制御設計者は、テンプレート間で共通な機能を維持しながら、異なるスクリーンサイズについてロケールテンプレート内でローカライズされたレイアウト情報を指定してもよい。例示的な方法および装置は、ユーザのデバイスに基づいて適切なロケールテンプレートを選択して、ユーザのロケールのためにフォーマットされ、また、ユーザのデバイスに基づいてフォーマットされたプロセス制御オブジェクトを表示する。こうして、本明細書で記述される例示的な方法および装置は、プロセス制御オブジェクトが、デバイスタイプによらず、ウェブブラウザを介してアクセスされることを可能にする。
【００３２】
図１は、例示的なローカリゼーションインタフェース１０２を含む例示的なプロセス制御環境１００のブロック図を示す。例示的なローカリゼーションインタフェース１０２は、プロセス制御システム１０４の一部である。さらに、例示的なローカリゼーションインタフェース１０２は、ワークステーション１０６および／または無線デバイス１０７によって実装されてもよく、及び／または、ワークステーション１０６および／または無線デバイス１０７の中に含まれてもよい。他の例では、例示的なローカリゼーションインタフェース１０２は、ワークステーション１０６および／または無線デバイスに通信可能に結合される場合があるサーバ、プロセッサ、分散コンピューティングネットワーク、および／または、任意の他の１以上のコンピューティングデバイスに含まれてもよい。
【００３３】
図１の例示的なワークステーション１０６は、パーソナルコンピュータ、ラップトップ、サーバ、コントローラ、携帯情報端末（ＰＤＡ）、マイクロコンピュータなどのような任意のコンピューティングデバイスを含んでもよい。例示的な無線デバイス１０７は、たとえば携帯電話、スマートフォン、ＰＤＡ、ネットパッド、フィールド通信機、ラップトップなどのような任意のモバイルコンピューティングデバイスを含んでもよい。ワークステーション１０６および／または無線デバイス１０７は、任意の適したコンピュータシステムまたは処理システム（たとえば、図１５のプロセッサシステムＰ１０）を使用して実装されてもよい。たとえば、ワークステーション１０６および／または無線デバイス１０７は、単一プロセッサパーソナルコンピュータ、単一またはマルチプロセッサワークステーションなどを使用して実装できる可能性がある。
【００３４】
例示的なプロセス制御システム１０４は、任意のタイプの製造施設、プロセス施設、自動化施設、安全計装システム、および／または任意の他のタイプのプロセス制御構造またはシステムを含んでもよい。ある例では、プロセス制御システム１０４は、異なる場所に配置された複数の施設を含んでもよい。さらに、例示的なプロセス制御環境１００は、同じ施設内に含まれてもよく、及び／または、異なる施設に配置されてもよい他のプロセス制御システム（図示せず）を含んでもよい。
【００３５】
例示的なプロセス制御システム１０４は、無線ネットワーク１０９を介して無線デバイス１０７に通信可能に結合されてもよく、かつローカルエリアネットワーク（ＬＡＮ）１１０を介してワークステーション１０６に通信可能に結合されてもよい、コントローラ１０８を含む。ＬＡＮ１１０および／または無線ネットワーク１０９は、任意の通信媒体および／またはプロトコルを使用して実装されてもよい。たとえば、ＬＡＮ１１０は、有線または無線イーサネット(登録商標)通信スキームに基づいてもよい。しかし、任意の他の適した通信媒体およびプロトコルが使用できる可能性がある。さらに、無線ネットワーク１０９およびＬＡＮ１１０が示されるが、冗長通信経路を提供するために、２つ以上のＬＡＮおよび／または無線ネットワークおよび適切な通信ハードウェアが使用されてもよい。
【００３６】
さらに、図１のプロセス制御環境１００は、無線ネットワーク１０９を介して無線デバイス１０７をＬＡＮ１１０に通信可能に結合するルータ１１１を含む。ルータ１１１はまた、他のワークステーション（図示せず）をコントローラ１０８に通信可能に結合してもよく、及び／または、ワークステーション１０６を他のプロセス制御システム内のコントローラ（図示せず）に通信可能に結合してもよい。さらに、プロセス制御環境１００は、プロセス制御環境１００内のリソースに対するアクセスを遠隔ワークステーション（たとえば、プロセス制御環境１００の外側のワークステーション）に提供するファイアウォール（図示せず）を含んでもよい。
【００３７】
プロセス制御システム１０４はまた、フィールドデバイス１１２（たとえば、入力および／または出力デバイス）を含む。フィールドデバイス１１２は、入力を受信し、出力を生成し、及び／または、プロセスを制御することが可能な、任意の１以上のタイプの、１以上のプロセス制御コンポーネントを含んでもよい。フィールドデバイス１１２は、たとえばプロセスを制御するための弁、ポンプ、ファン、加熱器、冷却器、および／または混合器などの制御デバイスを含んでもよい。さらに、フィールドデバイス１１２は、たとえばプロセスの部分を測定するための温度センサ、圧力計、濃度計、液面計、流量計、および／または蒸気センサなどの測定または監視デバイスを含んでもよい。フィールドデバイス１１２は、入力１１４を介してコントローラ１０８から命令を受信して、指定されたコマンドを実行し、フィールドデバイス１１２によって実装され及び／または制御されるプロセスに対する変更をもたらす。さらに、フィールドデバイス１１２は、プロセスデータ、環境データ、および／または入力デバイスデータを測定し、測定されたデータを、出力１１６を介して、プロセス制御情報としてコントローラ１０８に送信する。このプロセス制御情報は、各フィールドデバイスからの測定出力に対応する変数値を含んでもよい。
【００３８】
プロセス制御システム１０４はまた、フィールドデバイス１１２からデータを受信し、データを、例示的なコントローラ１０８によって処理されることが可能な通信に変換するＩ／Ｏデバイス１１８（たとえば、１以上のＩ／Ｏカード）も含む。同様に、Ｉ／Ｏデバイス１１８は、コントローラ１０８からのデータまたは通信情報を、対応するフィールドデバイス１１２によって処理されることが可能なデータ書式に変換してもよい。
【００３９】
図１の例示的なコントローラ１０８は、プロセス制御システム１０４内のフィールドデバイス１１２を管理するために１以上の制御ルーチン（たとえば、プロセス制御アルゴリズム、関数、および／または命令）を動作させる。制御ルーチンは、プロセス監視アプリケーション、アラーム管理アプリケーション、プロセストレンディングおよび／または履歴アプリケーション、診断アプリケーション、バッチ処理および／またはキャンペーン管理アプリケーション、統計アプリケーション、ストリーミングビデオアプリケーション、高度制御アプリケーション、安全計装アプリケーションなどを含んでもよい。例示的なコントローラ１０８は、プロセス制御情報（たとえばリソース）をワークステーション１０６および／または無線デバイス１０７に送信する。コントローラ１０８によって送信されるリソースは、プロセス制御値、データ値、アラーム情報、テキスト、状態情報、診断情報、エラーメッセージ。パラメータ、イベント、および／またはデバイス識別子を含んでもよい。他の例では、コントローラ１０８は、フィールドデバイス１１２からのプロセス制御情報をデータベース（図示せず）に転送してもよい。
【００４０】
例示的なワークステーション１０６、例示的な無線デバイス１０７、および／またはプロセス制御システム１０４へのアクセスを有する他のワークステーションは、１以上のアプリケーションを介してプロセス制御システム１０４内の１以上のプロセスを視認し、修正し、及び／または訂正するように構成されてもよい。示される例では、アプリケーション１２０は、ユーザインタフェース１２２を介して表示される。アプリケーションは、エンタプライズビューアプリケーション、グラフィクススタジオアプリケーション、エキスプローラアプリケーション、および／または任意の他のタイプのプロセス制御ベースアプリケーションを含んでもよい。これらのアプリケーションは、ユーザインタフェース１２２を介してワークステーション１０６内の情報を表示する。ユーザインタフェース１２２は、１以上のグラフィカル表現（たとえば、機能ブロック図および／または結線図）として表示される１以上のリソースを示すために、ワークステーション１０６内で表示されてもよいグラフィカルウィンドウ（たとえば、アプリケーションプログラミングインタフェース（ＡＰＩ））を含んでもよい。ワークステーション１０６は、ローカリゼーションインタフェース１０２に通信可能に結合されてもよい２つ以上のユーザインタフェース１２２を表示することが可能であってよい。同様に、無線デバイス１０７は、ユーザインタフェース１２６を介して表示されるアプリケーション１２４を含む。
【００４１】
図１の例示的なプロセス制御システム１０４はまた、デバイス記述データベース１３０およびテンプレートデータベース１３２を含む。データベース１３０および１３２は、電気的消去可能プログラマブル読み出し専用メモリ（ＥＥＰＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、および／または任意の他のタイプのメモリによって実装されてもよい。例示的なデバイス記述データベース１３０は、フィールドデバイス１１２に関連するデバイス記述ファイルを記憶する。デバイス記述ファイルは、フィールドデバイス１１２の機能、特徴、および／またはコンポーネントを記述するテキストベースファイルを含んでもよい。いくつかの例では、デバイス記述ファイルはＥＤＤＬベースファイルであってよい。
【００４２】
デバイス記述ファイルは、対応するフィールドデバイスが、プロセス制御システム１０４内のフィールドデバイス１１２に付加されるときに、プロセス制御要員によってデータベース１３０に記憶される。いくつかの例では、デバイス記述ファイルは、フィールドデバイス内に含まれ、フィールドデバイスをフィールドデバイス１１２に付加するとすぐに、コントローラ１０８を介してデータベース１３０に記憶される。デバイス記述データベース１３０は、コントローラ１０８から分離しているとして示されるが、いくつかのプロセス制御環境では、データベース１３０は、コントローラ１０８、ワークステーション１０６、および／または無線デバイス１０７内に含まれてもよい。これらの例では、コントローラ１０８は、制御ルーチンおよび／またはアルゴリズムを動作させるために、デバイス記述ファイルにローカルにアクセスしてもよい。あるいは、ワークステーション１０６および／または無線デバイス１０７は、対応するプロセス制御情報を表示するために、デバイス記述ファイルにローカルにアクセスしてもよい。
【００４３】
図１の例では、デバイス記述ファイルは、テンプレートデータベース１３２内に記憶されたロケールテンプレート内のローカライズされた情報に対するタグ（たとえば相互参照識別子）を含む。ロケールテンプレートは、特定のロケールに関連する組（セット）内に記憶されてもよい。組はそれぞれ、異なるプロセス制御オブジェクト、デバイス表示タイプ、および／またはプロセス制御情報タイプについてのロケールテンプレートを含んでもよい。たとえば、テンプレートデータベース１３２は、ドイツのロケールに関連する一組のロケールテンプレート、フランスのロケールに関連する一組のロケールテンプレート、およびメキシコのロケールに関連する一組のロケールテンプレートを含んでもよい。組はそれぞれ、プロセス制御オブジェクトを無線デバイス１０７上で表示するロケールテンプレート、および、プロセス制御オブジェクトをワークステーション１０６上で表示するロケールテンプレートを含んでもよい。さらに、組はそれぞれ、コントローラ１０８によって生成される、異なるタイプのプロセス制御オブジェクトおよび／または対応するプロセス制御情報に関連するロケールテンプレートを含んでもよい。
【００４４】
ロケールテンプレートは、デバイス記述ファイル内の指定されたタグに基づいてロケールテンプレートを作成する場合があるプロセス制御要員によってテンプレートデータベース１３２に記憶されてもよい。他の例では、販売業者および／または地域のプロセス制御マネジャが、ロケールテンプレートを生成してもよい。ローカリゼーション情報を含むロケールテンプレートを記憶することによって、プロセス制御要員は、コントローラ１０８内に画定される比較的中核的なコンポーネントおよびデータベース１３０内のデバイス記述ファイルから分離して、プロセス制御システム１０４内に翻訳ファイルを構築してもよい。さらに、ローカリゼーション情報を中核的プロセス制御機能から分離することによって、翻訳情報は、プロセス制御システム１０４をオフラインにする必要なしに、修正されてもよく、及び／または、更新されてもよい。
【００４５】
いくつかの例では、ロケールテンプレートは、デバイス記述ファイル内のタグに対応するタグを含むテキストベースリソースファイルであってよい。他の例では、ロケールテンプレートは、ウェブブラウザ内でプロセス制御オブジェクトを表示するためのＸＭＬおよび／またはＸＳＬＴファイルを含んでもよい。ロケールテンプレート内のタグは、翻訳されたテキスト、数値書式、および／または任意の他のローカライズされた情報を参照してもよい。ロケールテンプレートはまた、ローカライズされた情報をアプリケーション内で表示するために、グラフィカルフォーマティング情報を含んでもよい。
【００４６】
図１の例示的なテンプレートデータベース１３２はまた、デフォルト情報を含んでもよい。たとえば、テンプレートデータベース１３２は、ロケールに中立的なロケールテンプレートの組を含んでもよい。ロケールを一致させられない例では、ローカリゼーションインタフェース１０２は、デフォルトロケールテンプレートを使用してもよい。他の例では、ローカリゼーションインタフェース１０２は、デフォルトロケールテンプレートを選択し、アプリケーション内で表示するために、デフォルトテキストを、ユーザによって指定されたロケールに変換する翻訳器を使用してもよい。
【００４７】
ローカライズされたプロセス制御オブジェクトをアプリケーション１２０内で表示するために、ユーザインタフェース１２２は、１以上のプロセス制御オブジェクトを視認するユーザからの要求を送信してもよい。ユーザインタフェース１２２は、要求をローカリゼーションインタフェース１０２に送信する。ローカリゼーションインタフェース１０２は、その後、要求に関連するロケールを確定する。ロケールは、たとえば言語タイプ、数値書式、インターネットプロトコルアドレス、データ書式、国、地域、および／または方言を含む、要求内に含まれるロケール情報によって識別されてもよい。他の例では、要求は、ロケールを識別するメタデータを含んでもよい。なお他の例では、ユーザは、ワークステーション１０６にログインするとすぐに、ロケールを選択してもよい。
【００４８】
ロケールを確定するとすぐに、例示的なローカリゼーションインタフェース１０２は、ユーザによって要求されるプロセス制御オブジェクトタイプを確定する。プロセス制御オブジェクトタイプは、プロセス制御オブジェクトの識別子および／またはプロセス制御オブジェクト名の拡張子に基づいて確定されてもよい。たとえば、フィールドデバイスプロセス制御オブジェクトは、「ＦＤ」という識別子および／または「．ｄｅｖｉｃｅ」という名の拡張子を含んでもよく、一方、機能ブロックプロセス制御オブジェクトは、「ＦＢ」という識別子および／または「ｂｌｏｃｋ」という名の拡張子を含んでもよい。例示的なローカリゼーションインタフェース１０２は、要求されるオブジェクトに関連する１条のデバイス記述ファイルを検索するために、デバイス記述データベース１３０にアクセスする。ローカリゼーションインタフェース１０２は、その後、ユーザのロケールに関連する一組のロケールテンプレートを選択するために、テンプレートデータベース１３２にアクセスしてもよい。その組内で、ローカリゼーションインタフェース１０２は、１以上のデバイス記述ファイル内のタグに対応するタグを含む１以上のロケールテンプレートを選択する。ローカリゼーションインタフェース１０２はまた、選択されたプロセス制御オブジェクトに関連するコントローラ１０８によって生成されたプロセス制御オブジェクトタイプおよび／または任意のプロセス制御情報に基づいてロケールテンプレートを選択してもよい。
【００４９】
例示的なローカリゼーションインタフェース１０２は、表示を生成するために、１以上のデバイス記述ファイル（複数可）と組合せて、及び／または、１以上のデバイス記述ファイル内に挿入された、選択されたロケールテンプレートをレンダリングすることによって、ユーザインタフェース１２２を介して、選択されたプロセス制御オブジェクトを表示する。ロケールテンプレートを１以上のデバイス記述ファイルと組合せること、および／または、１以上のデバイス記述ファイルにロケールテンプレートを挿入することは、１以上のデバイス記述ファイル内のタグを識別すること、ロケールテンプレート内の対応するタグを識別すること、ならびに、ローカライズされた情報を参照するロケールテンプレートのタグ付けされた部分を用いて１以上のデバイス記述ファイルを処理することおよび／またはコンパイルすることを含む。レンダリングすることはまた、１以上のデバイス記述ファイル内のプロセス制御情報および／またはロケールテンプレートに対する参照を識別すること、ならびに、コントローラ１０８内の対応する情報にアクセスすることを含んでもよい。こうして、ローカリゼーションインタフェース１０２は、新しく生成されたプロセス制御情報を、ユーザのロケールコンテキストでアプリケーション１２０内に表示する。
【００５０】
図１の例示的なローカリゼーションインタフェース１０２は、ワークステーション１０６のユーザが、第１のロケールに関連する書式でユーザインタフェース１２２を介してプロセス制御オブジェクトを視認することを可能にし、一方、無線デバイス１０７の第２のユーザは、第２のロケールに関連する書式でユーザインタフェース１２６を介して同じプロセス制御オブジェクトを同時に視認する。たとえば、第１のロケールは、ポーランド語に関連することができ、一方、第２のロケールは、イタリア語に関連する。こうして、ワークステーション１０６内のローカリゼーションインタフェース１０２および無線デバイス１０７内のローカリゼーションインタフェース１０２（図示せず）は、コントローラ１０８によって生成される言語に中立的なプロセス制御情報を表示し、また、ローカライズされたプロセス制御オブジェクトを各ユーザについてそれぞれ適切なロケールコンテキストで表示する。
【００５１】
図２は、図１の例示的なローカリゼーションインタフェース１０２の機能ブロック図を示す。デバイス記述データベース１３０およびテンプレートデータベース１３２は、ローカリゼーションインタフェース１０２の外部に示されるが、いくつかの例では、データベース１３０および／または１３２は、ローカリゼーションインタフェース１０２に含まれてもよい。例示的なローカリゼーションインタフェース１０２は、ワークステーション（たとえばワークステーション１０６および／または無線デバイス１０７）からのプロセス制御オブジェクトを視認する複数の要求を同時に処理してもよい。あるいは、例示的なローカリゼーションインタフェース１０２は、プロセス制御オブジェクトを視認するという単一の要求を処理してもよい。これらの代替例では、複数のローカリゼーションインタフェース１０２は、複数の要求を処理するためにアクセスされてもよい。例示的なローカリゼーションインタフェース１０２はワークステーション１０６に接続された状態で記述されるが、ローカリゼーションインタフェース１０２は、図１のプロセス制御環境１００に対してアクセスを有する無線デバイス１０７および／または他のワークステーションと共に動作してもよい。
【００５２】
１以上のプロセス制御オブジェクトを視認する要求を受信するために、例示的なローカリゼーションインタフェース１０２は、ワークステーションインタフェース２０２を含む。例示的なローカリゼーションインタフェース２０２は、ワークステーション１０６および／またはユーザインタフェース１２２を介してユーザから要求を受信する。ユーザは、オブジェクトに関連する識別子を要求フィールドおよび／または検索フィールドに入力することによってプロセス制御オブジェクトを選択する。他の例では、ユーザは、データディレクトリ内で所望のオブジェクトに対してブラウジングすることによってプロセス制御オブジェクトを選択する。たとえば、ユーザは、オープン関数を利用し、所望のプロセス制御オブジェクトにディレクトリをナビゲートしてもよい。なお他の例では、ユーザは、オブジェクトに関連するグラフィカル表現および／または識別子を選択することによって、プロセス制御オブジェクトに関連する情報を視認してもよい。あるいは、ユーザは、プロセス制御オブジェクトを含み、及び／またはプロセス制御オブジェクトを列挙するウェブサイトアドレスを入力してもよい。ユーザは、その後、表示されたウェブページ内に挙げられた所望のプロセス制御オブジェクトを選択してもよい。ある例では、ユーザは、複数のプロセス制御オブジェクトを選択してもよい。これらの例では、プロセス制御オブジェクトは、単一の要求、または別法として、複数の要求内に含まれてもよい。
【００５３】
視認する１以上のプロセス制御オブジェクトを識別することに加えて、要求はまた、ユーザのロケールを識別するロケーション情報も含んでもよい。いくつかの事例では、ユーザは、ワークステーション１０６および／またはアプリケーションにログインするとすぐに、ロケールを選択することができる。他の事例では、要求は、ワークステーション１０６内の構成された地域設定に基づいてロケールを識別するロケーション情報メタデータを含んでもよい。なお他の事例では、ユーザは、プロセス制御オブジェクトを要求している間に、所望のロケールを選択してもよい。さらなる事例では、要求は、ワークステーション１０６のＩＰアドレスを含んでもよい。これらの事例では、ワークステーションインタフェース２０２は、ＩＰアドレスに関連するロケールを確定するために、地理的ＩＰアドレスをデータベース使用してもよい。
【００５４】
さらに、要求は、要求がそこから送信されたデバイスタイプを識別する情報を含んでもよい。デバイスタイプ情報は、要求に関連するメタデータ内に含まれてもよい。他の例では、ワークステーションインタフェース２０２は、要求を送信したデバイスに関連するメディアアクセス制御（ＭＡＣ）アドレスに基づいてデバイスタイプを確定してもよい。たとえば、ＭＡＣアドレスは、デバイスがワークステーションおよび／または手持ち式デバイスであるかどうかを示す場合がある。あるいは、ワークステーションインタフェース２０２は、デバイスタイプ情報についてデバイスに質問してもよい。
【００５５】
プロセス制御オブジェクトを視認する要求を受信するとすぐに、例示的なワークステーションインタフェース２０２は、要求をデバイス記述ファイルプロセッサ２０４に転送する。ある例では、ワークステーションインタフェース２０２は、要求を転送する前に、セキュリティプロトコルを利用してもよい。たとえば、ワークステーションインタフェース２０２は、要求されたプロセス制御オブジェクトをユーザが視認することを許可されているかどうかを判定するために、識別および／またはパスワードの入力をユーザに促してもよい。他の例では、要求は、ワークステーションインタフェース２０２が、ユーザを認証するために使用する場合があるユーザを識別するメタデータを含んでもよい。
【００５６】
要求された１以上のプロセス制御オブジェクトに基づいて１以上のデバイス記述ファイルを選択するために、図２の例示的なローカリゼーションインタフェース１０２は、デバイス記述ファイルプロセッサ２０４を含む。要求を受信した後、例示的なデバイス記述ファイルプロセッサ２０４は、プロセス制御オブジェクトのそれぞれについてタイプを判定する。タイプは、プロセス制御オブジェクトを識別するために使用される識別子、プロセス制御オブジェクトのファイル名、および／または要求内に含まれるメタデータによって判定されてもよい。
【００５７】
例示的なデバイス記述ファイルプロセッサ２０４は、その後、要求された１以上のプロセス制御オブジェクトと一致する１以上のデバイス記述ファイルを検索するため、デバイス記述データベース１３０にアクセスする。デバイス記述ファイルに対してプロセス制御オブジェクトを一致させるために、デバイス記述ファイルプロセッサ２０４は、プロセス制御オブジェクトのタイプおよび／または識別子を含むファイルを位置特定してもよい。たとえば、プロセス制御オブジェクトについての要求は、「Ｒｏｓｅｍｏｕｎｔ（登録商標）フィールドデバイス圧力センサ」タイプおよび「ＰＲＳ０２」識別子を含んでもよい。デバイス記述ファイルプロセッサ２０４は、Ｒｏｓｅｍｏｕｎｔ（登録商標）フィールドデバイス圧力センサについての機能性を定義するデバイス記述ファイルを検索する。デバイス記述ファイルプロセッサ２０４はまた、特にＰＲＳ０２デバイスについての定義を含むデバイス記述ファイルを検索してもよい。いくつかの事例では、デバイス記述ファイルのタイトルおよび／またはファイル名は、タイプおよび／または識別子を含んでもよい。他の事例では、デバイス記述ファイルに関連するメタデータは、タイプおよび／または識別子を含んでもよい。なお他の事例では、デバイス記述ファイルプロセッサ２０４は、適合タイプおよび／または識別子についてファイル内のテキストを検索する必要がある場合がある。
【００５８】
少なくとも１つのデバイス記述ファイルを選択した後に、例示的なデバイス記述ファイルプロセッサ２０４は、ファイルをオブジェクトマネジャ２０６に送信する。さらに、デバイス記述ファイルプロセッサ２０４は、要求をオブジェクトマネジャ２０６に転送する。例示的なオブジェクトマネジャ２０６は、アプリケーション内での表示のために、１以上のデバイス記述ファイルを処理する。デバイス記述ファイルを処理するために、例示的なオブジェクトマネジュア２０６は、任意のメニュー、表示、および／または書式情報を確定するために、ファイルを読む。情報は、表示のためにテンプレートをフォーマットする及び／またはプロセス制御オブジェクトをフォーマットするために使用されてもよい。メニュー情報はまた、要求されたプロセス制御オブジェクトと共に表示されるために利用可能なメニュー機能および／またはオプションを含んでもよい。メニュー関数は、プロセス制御オブジェクトに関連して実施する機能および／または視認する情報を含んでもよい。
【００５９】
例示的なオブジェクトマネジャ２０６はまた、タグについてデバイス記述ファイル（複数可）を読む。タグは、オブジェクトマネジャ２０６が表示のためにテンプレートに翻訳されたテキストおよび／またはフォーマットされた数値を付加するために使用する、ロケールテンプレート内のローカライズされた情報を参照する。適切なロケールテンプレートを得るために、例示的なオブジェクトマネジャ２０６は、ロケールテンプレートを検索するメッセージをテンプレートプロセッサ２０８に送出する。メッセージは、要求された１以上のプロセス制御オブジェクトを識別するユーザからの要求メッセージ、および／または、デバイス記述ファイルプロセッサ２０４から受信された１以上のデバイス記述ファイルを含んでもよい。
【００６０】
例示的なテンプレートプロセッサ２０８は、オブジェクトマネジャ２０６からメッセージを受信し、ロケールテンプレートを検索するためにテンプレートデータベース１３２にアクセスする。例示的なテンプレートプロセッサ２０８は、ロケールテンプレートの体系に基づいてテンプレートデータベース１３２を検索する。いくつかの例では、ロケールテンプレートは、ロケールに基づいて組および／またはグループ内に体系化されてもよい。これらの例では、テンプレートプロセッサ２０８は、要求内に含まれるロケールに一致する一組のロケールテンプレートを識別する。例示的なテンプレートプロセッサ２０８は、その後、要求されたプロセス制御オブジェクト、デバイスタイプ、および／または１以上のデバイス記述ファイルに整合する１以上のロケールテンプレートを、選択された組の中で検索する。ロケールに基づいて一組のロケールテンプレートを選択するために、テンプレートプロセッサ２０８は、ワークステーションインタフェース２０２によって識別されたロケーション情報（たとえばロケール情報）を使用する。たとえば、ワークステーションインタフェース２０２は、要求がドイツのロケールに関連すると判定してもよい。テンプレートプロセッサ２０８は、その後、ドイツ語に翻訳されたテキスト、ドイツの規格に関連するフォーマティング、および／または、ドイツのロケールに関連する任意の他のローカライズされた情報に対応する一組のロケールテンプレートを検索してもよい。
【００６１】
他の例では、ロケールテンプレートは、要求デバイスタイプおよび／またはプロセス制御オブジェクトタイプに基づいてテンプレートデータベース１３２内の組および／またはグループによって体系化されてもよい。これらの例では、テンプレートプロセッサ２０８は、要求内に含まれるデバイスタイプに整合する組、および／または、要求されるプロセス制御オブジェクトに一致する組を選択する。選択された組の中で、テンプテートプロセッサ２０８は、その後、要求に関連するロケールに一致するロケールテンプレートを選択してもよい。
【００６２】
例示的なテンプレートプロセッサ２０８は、１以上のデバイス記述ファイル内のタグを、ロケールテンプレート内の対応するタグと一致させることによってロケールテンプレートを選択する。たとえば、デバイス記述ファイルは、‘＠Ｈｉｇｈ  Ａｌａｒｍ  Ｖａｌｕｅ＠’タグを含む場合がある。この例では、テンプレートプロセッサ２０８は、対応する‘＠Ｈｉｇｈ  Ａｌａｒｍ  Ｖａｌｕｅ＠’タグを含むロケールテンプレートを検索する。タグは、テキストファイル内の特別及び／または一意のプログラミング文字に基づいて識別されてもよい。あるいは、テンプレートプロセッサ２０８（および／またはオブジェクトマネジャ２０６）は、予め定義されたコードおよび／または変数識別子に基づいてタグを識別してもよい。
【００６３】
いくつかの例では、テンプレートプロセッサ２０８は、プロセス制御オブジェクトに関連する識別子に基づいてロケールテンプレートを選択してもよい。たとえば、ロケールテンプレートは、‘ＰＵＭＰ０１’プロセス制御オブジェクトについて作成されてもよい。テンプレートプロセッサ２０８は、ファイル名内に‘ＰＵＭＰ０１’メタデータを有し、及び／または、テンプレート内にテキストとして‘ＰＵＭＰ０１’を含んだロケールテンプレートを検索してもよい。他の例では、テンプレートプロセッサ２０８は、対応するロケールテンプレートを選択するために、プロセス制御オブジェクトのタイプを使用してもよい。これらの例では、ロケールテンプレートは、あるタイプのプロセス制御オブジェクトについてローカライズされた情報をロケールテンプレートが表示するように構成されていることを特定する識別子（たとえば、メタデータおよび／またはファイルコメント）を含んでもよい。
【００６４】
例示的なテンプレートプロセッサ２０８はまた、要求されたプロセス制御オブジェクトを表示するデバイスタイプに基づいてロケールテンプレートを選択してもよい。ロケールテンプレートは、異なるデバイスタイプについて、どのテンプレートが使用されてもよいかを識別する情報を含んでもよい。いくつかの例では、ロケールテンプレートは、許容可能なデバイスのリストを示してもよい。あるいは、ロケールテンプレートは、比較的大きな表示面積を有するデバイスタイプ（たとえばコンピュータモニタ）および比較的小さな表示面積を有するデバイスタイプ（たとえば無線電話ディスプレイ）に基づいて識別されてもよい。これらの例では、テンプレートプロセッサ２０８は、ワークステーションインタフェース２０２からのデバイスタイプ情報を使用して、プロセス制御オブジェクトを表示するデバイスに最もよく一致するロケールテンプレートを選択する。
【００６５】
いくつかの例では、テンプレートプロセッサ２０８は、プロセス制御オブジェクト、ロケール、タグ、および／またはデバイスタイプに基づいてロケールテンプレートを位置特定しない場合がある。これらの例では、テンプレートプロセッサ２０８は、デフォルトロケールテンプレートを選択してもよい。たとえば、テンプレートプロセッサ２０８は、プロセス制御オブジェクトに一致するロケールテンプレートを見出すかもしれないが、特にカナダのロケールについてロケールテンプレートを見出さないかもしれない。この例では、テンプレートプロセッサ２０８は、プロセス制御オブジェクトに一致するデフォルト（たとえば、英語の）ロケールテンプレートを選択してもよい。
【００６６】
１以上のロケールテンプレートを選択した後、例示的なテンプレートプロセッサ２０８は、ロケールテンプレートをオブジェクトマネジャ２０６に送信する。例示的なオブジェクトマネジャ２０６は、受信された１以上のロケールテンプレートを用いてデバイス記述ファイルプロセッサ２０４から受信された１以上のデバイス記述ファイルを実行し、コンパイルし、及び／または動作させることによって、表示のために、要求された１以上のプロセス制御オブジェクトを処理する。オブジェクトマネジャ２０６は、ロケールテンプレート内で、対応する１以上のタグにタグ付けされた翻訳されたテキスト、および／または、フォーマットされたデータフィールド（たとえばローカライズされた情報）をデバイス記述ファイル内に挿入することによって、ロケールテンプレートを用いてデバイス記述ファイルを処理する。換言すれば、オブジェクトマネジャ２０６は、プロセス制御オブジェクトの表示を生成するために、デバイス記述ファイルの対応するタグ付けされた部分をコンパイルし、及び／または、実行するために、ロケールテンプレートのタグ付けされた部分を参照する。他の例では、デバイス記述ファイルは、ロケールテンプレートに対する関数コールを含んでもよい。これらの他の例では、オブジェクトマネジャ２０６は、プロセス制御オブジェクトの表示を生成するために、デバイス記述ファイルによって参照されたロケールテンプレート内の命令を実行する。
【００６７】
さらに、オブジェクトマネジャ２０６は、要求されたオブジェクトを表示するために、コントローラ１０８によって生成されたプロセス制御情報（たとえばリソース）に対する参照を使用してもよい。いくつかの例では、ロケールテンプレートの部分は、リンク、ファイルディレクトリ、および／または、プロセス制御情報に対応する識別子を含んでもよい。たとえば、ロケールテンプレートは、ヨーロッパ番号付け慣行に従ってフォーマットされているポンプ速度データフィールドを含んでもよい。ロケールテンプレートはまた、コントローラ１０８によって計算されたポンプ速度パラメータおよび／または変数に対するリンクを含む。例示的なオブジェクトマネジャ２０６は、コントローラ１０８からのポンプ速度値を要求するためにリンクを使用する。オブジェクトマネジャ２０６は、その後、コントローラ１０８から受信した値をヨーロッパ書式用のデータフィールド内にフォーマットする。オブジェクトマネジャ２０６は、その後、フォーマットされたデータフィールドおよびポンプ速度値を、対応するデバイス記述ファイル内に挿入して、ヨーロッパ番号付け慣行で示されたポンプ速度を含むプロセス制御オブジェクト表示を生成してもよい。こうして、ユーザは、オブジェクトからの最も最近のデータ出力を視認するようにプロセス制御オブジェクトを要求してもよい。他の例では、オブジェクトマネジャ２０６は、デバイス記述ファイル内のリンク、参照、データロケーション、および／または識別子を使用して、コントローラ１０８からの対応するプロセス制御情報にアクセスしてもよい。
【００６８】
例示的なオブジェクトマネジャ２０６は、表示ファイル（たとえばＨＴＭＬファイル）を生成するために、１以上のデバイス記述ファイルおよび／または関連ロケールテンプレートを使用する。表示ファイルは、プロセス制御情報、要求されたプロセスオブジェクトのグラフィカル表示、およびデータフィールドのロケーションを指定する。表示ファイルはまた、表示のための翻訳されたテキストおよび／またはロケールテンプレート内で指定されてもよい任意の他のローカライズされた情報を含む。オブジェクトマネジャ２０６は、表示ファイルをレンダラー２１０に送信する。例示的なレンダラー２１０は、たとえばユーザインタフェース１２２を介してユーザによって視認可能な書式に表示ファイルを処理する（たとえば、レンダリングする）。例示的なレンダラー２１０は、同様に表示ファイル内のロケールテンプレートによって指定された表示サイズに基づいて表示を生成する。たとえば、レンダラー２１０は、無線デバイス１０７によって表示される１以上のプロセス制御オブジェクト用の比較的小さな視認面積に対する表示、および、ワークステーション１０６によって表示される同じ１以上のプロセス制御オブジェクト用の比較的大きな視認面積に対する表示を生成してもよい。
【００６９】
例示的なレンダラー２１０は、要求された１以上のオブジェクトを表示するために、レンダリングされた１以上の表示を、たとえばワークステーション１０６内のアプリケーションに送信する。いくつかの例では、表示を送信することは、インターネットを通してウェブブラウジングアプリケーションに表示情報を送出することを含む。これらの例では、ウェブブラウジングアプリケーションはまた、ユーザインタフェース１２２内に表示を生成するレンダラー２１０を含んでもよい。図１の例などの他の例では、レンダラー２１０は、レンダリングされた１以上のプロセス制御オブジェクトを、ワークステーション１０６内のユーザインタフェース１２２に送信する。
【００７０】
レンダラー２１０をアプリケーションに通信可能に結合するために、例示的なローカリゼーションインタフェース１０２は、アプリケーションインタフェース２１２を含む。アプリケーションインタフェース２１２は、ターゲットアプリケーション、ユーザインタフェース、および／またはワークステーションを示すメッセージをレンダラー２１０から受信してもよい。ターゲット情報は、ワークステーションインタフェース２０２によって要求メッセージにおいて受信され、また、ローカリゼーションインタフェース１０２を通して伝搬したアドレス情報に基づいてもよい。アプリケーションインタフェース２１２は、ターゲット情報を使用して、ターゲットアプリケーション内で視認セッションを始動する。視認セッションを始動するために、アプリケーションインタフェース２１２は、ターゲットアプリケーション、ユーザインタフェース、および／またはワークステーションにメッセージを接続する要求を送信してもよい。接続を確立するとすぐ、アプリケーションインタフェース２１２は、レンダリングされた１以上のプロセス制御オブジェクトをレンダラー２１０から転送する。
【００７１】
デフォルトのロケールテンプレートを翻訳するため、および／または、テキストストリング情報を翻訳するために、図２の例示的なローカリゼーションインタフェース１０２は、翻訳器２１４を含む。例示的なオブジェクトマネジャ２０６は、指定されたロケールについてロケールテンプレートが識別されることができない事例で翻訳器２１４を使用してもよい。翻訳器２１４は、オブジェクトマネジャ２０６からデフォルトテンプレートを受信し、指定されたロケールに基づいてテキストストリングを翻訳し、翻訳されたテキストストリングをオブジェクトマネジャ２０６に送信してもよい。こうして、翻訳器２１４は、あるロケールについてロケールテンプレートが作成されなかったときに使用されてもよい。例示的な翻訳器２１４はまた、データフィールドを、指定されたロケールに基づく書式に変換してもよい。たとえば、翻訳器２１４は、どの数値および／またはデータ書式がどのロケールに関連するかを識別するライブラリを含んでもよい。
【００７２】
示される例の例示的なローカリゼーションインタフェース１０２はまた、データベースマネジャ２１６も含む。例示的なデータベースマネジャ２１６は、テンプレートデータベース１３２内のロケールテンプレートおよびデバイス記述データベース１３０内のデバイス記述ファイルを管理する。データベースマネジャ２１６は、ロケールテンプレートを、ロケール、デバイスタイプ、プロセス制御オブジェクトタイプなどに基づく組に体系化することによってロケールテンプレートを管理する。データベースマネジャ２１６はまた、新しいローカリゼーション情報が入手可能になると、ロケールテンプレートを更新してもよい、及び／または、修正してもよい。データベースマネジャ２１６は、ファイルをデータベース１３０に記憶することによってデバイス記述ファイルを管理する。ユーザは、データベースマネジャ２１６を介してデバイス記述ファイルを更新する、付加する、及び／または除去してもよい。あるいは、データベースマネジャ２１６は、コントローラ１０８を介してプロセス制御デバイス１１２からデバイス記述ファイルに対する更新を受信する場合がある。
【００７３】
いくつかの例では、データベースマネジャ２１６は、データベース１３０および１３２を管理するユーザ用のインタフェースとして機能する場合がある。これらの例では、ユーザは、記憶された情報を視認するためのナビゲーションインタフェースを提供するデータベースマネジャ２１６を介してデータベース１３０および／または１３２にアクセスしてもよい。データベースマネジャ２１６はまた、ロケールテンプレートおよび／またはデバイス記述ファイルに対して読取るおよび／または書込む能力をユーザに提供してもよい。
【００７４】
例示的なローカリゼーションインタフェース１０２が図２で示されたが、図２で示すサーバ、プラットフォーム、インタフェース、データ構造、要素、プロセッサ、および／またはデバイスの１以上は、任意の方法で組合され、分割され、再配置され、省略され、なくされ、及び／または実装されてもよい。さらに、例示的なワークステーションインタフェース２０２、例示的なデバイス記述ファイルプロセッサ２０４、例示的なオブジェクトマネジャ２０６、例示的なテンプレートプロセッサ２０８、例示的なレンダラー２１０、例示的なアプリケーションインタフェース２１２、例示的な翻訳器２１４、例示的なデータベースマネジャ２１６、および／または、より一般的に、例示的なローカリゼーションインタフェース１０２は、ハードウェア、ソフトウェア、ファームウェア、ならびに／または、ハードウェア、ソフトウェア、および／またはファームウェアの任意の組合せによって実装されてもよい。そのため、たとえば、例示的なワークステーションインタフェース２０２、例示的なデバイス記述ファイルプロセッサ２０４、例示的なオブジェクトマネジャ２０６、例示的なテンプレートプロセッサ２０８、例示的なレンダラー２１０、例示的なアプリケーションインタフェース２１２、例示的な翻訳器２１４、例示的なデータベースマネジャ２１６、および／または、より一般的に、例示的なローカリゼーションインタフェース１０２のいずれかは、１以上の回路、プログラマブルプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、プログラマブルロジックデバイス（ＰＬＤ）、および／またはフィールドプログラマブルロジックデバイス（ＦＰＬＤ）などによって実装することができる。
【００７５】
本特許の任意の装置請求項が、純粋にソフトウェアおよび／またはファームウェア実装を包含するように読まれるとき、例示的なワークステーションインタフェース２０２、例示的なデバイス記述ファイルプロセッサ２０４、例示的なオブジェクトマネジャ２０６、例示的なテンプレートプロセッサ２０８、例示的なレンダラー２１０、例示的なアプリケーションインタフェース２１２、例示的な翻訳器２１４、および／または例示的なデータベースマネジャ２１６のうちの少なくとも１つは、本明細書によってソフトウェアおよび／またはファームウェアを記憶するメモリ、ＤＶＤ、ＣＤなどのようなコンピュータ可読媒体を含むように明示的に定義される。さらに、例示的なローカリゼーションインタフェース１０２は、図２に示すものに加えてまたはその代わりに、１以上の要素、プロセス、および／またはデバイスを含んでもよく、及び／または、示される要素、プロセス、およびデバイスのうちの任意のものの２つ以上または全てを含んでもよい。
【００７６】
図３は、テキストベースリソースロケールテンプレートを利用する図１および図２のローカリゼーションインタフェース１０２を含む例示的な実装システム３００を示す。示される例では、ローカリゼーションインタフェース１０２は、テキストベースリソースファイルに基づいてアプリケーション３０２内でプロセス制御オブジェクトを表示する。アプリケーション３０２は、図１の例示的なユーザインタフェース１２２を介して表示されてもよい。この例では、デバイス記述データベース１３０は、デバイス記述ファイル３０４を含む。ファイル３０４の一部分は、ＥＤＤＬ書式のテキストを含むテキストボックス３０６内に表示される。他の例では、デバイス記述データベース１３０は、他のタイプのリソースファイルを含んでもよい。
【００７７】
例はまた、ロケールテンプレートの４つの組３１０〜３１６を有するテンプレートデータベース１３２を含む。特に、組３１０は、英語のロケールに関連するロケールテンプレートを含み、組３１２は、ドイツ語のロケールに関連するロケールテンプレートを含み、組３１４は、フランス語のロケールに関連するロケールテンプレートを含み、組３１６は、スペイン語のロケールに関連するロケールテンプレートを含む。他の例では、テンプレートデータベース１３２は、より少ないまたはさらなるロケールの組を含んでもよい。
【００７８】
この例では、英語のロケールの組３１０は、ロケールテンプレート３２０〜３２４を含む。ロケールテンプレートは、テキストベースリソースファイルとして示される。ロケールテンプレートの一部分３３０は、テキストボックス３３２内で強調される。ロケールテンプレート３２０〜３２４はそれぞれ、異なるフィールドデバイスに関連する。付加的にまたは別法として、ロケールテンプレート３２０〜３２４は、プロセス制御オブジェクトを表示するデバイスタイプに関連してもよい。さらに、ロケールテンプレート３２０〜３２４はそれぞれ、異なるタグを含んでもよい。３つのロケールテンプレート３２０〜３２４だけが示されるが、組３１０は、より少ないまたはさらなるロケールテンプレートを含んでもよい。
【００７９】
図３の例では、デバイス記述ファイル３０４の一部分は、テキストボックス３０６内に表示される。例示的なテキストボックス３０６は、フィールドデバイス用の高アラーム警報システムを表示する条件を定義するパラメータを含む。パラメータはそれぞれ、ロケールテンプレート３２０〜３２４内のタグに対応するタグに対して参照される。たとえば、テキストボックス３０６は、「＠Ｈｉｇｈ  Ａｌａｒｍ＠」タグに関連する記述パラメータを含む。この例では、例示的なローカリゼーションインタフェース１０２は、「＠Ｈｉｇｈ  Ａｌａｒｍ＠」タグを有するロケールテンプレートを検索する。テキストボックス３０６はまた、「＠Ｈｉｇｈ  Ａｌａｒｍ  Ｖａｌｕｅ＠」タグを含むメッセージパラメータを含む。
【００８０】
示された例では、ユーザは、プロセス制御オブジェクトを視認する要求３４０をともなうローカリゼーションインタフェース１０２を提供する。要求３４０は、プロセス制御オブジェクトの識別子を含んでもよい。要求３４０に応答して、ローカリゼーションインタフェース１０２は、デバイス記述ファイル３０４が要求されたプロセス制御オブジェクトに関連すると判定する。プロセス制御オブジェクトを表示するために、ローカリゼーションインタフェース１０２は、要求３４０が英語のロケールに関連すると判定し、英語のロケールの組３１０を選択し、デバイス記述ファイル３０４内のタグがロケールテンプレート３２０〜３２４に対応すると判定する。
【００８１】
たとえばテキストボックス３０６内のメッセージパラメータを表示するために、ローカリゼーションインタフェース１０２は、「＠Ｈｉｇｈ  Ａｌａｒｍ  Ｖａｌｕｅ＠」タグを使用して、テキストボックス３３２内の対応する「＠Ｈｉｇｈ  Ａｌａｒｍ  Ｖａｌｕｅ＠」タグを識別する。ローカリゼーションインタフェース１０２は、その後、テキストボックス３３２内のローカリゼーション情報（たとえば”ｆｒｏｍ：ａｌａｒｍｔｙｐｅｓ．ｆｈｘ，ａｌａｒｍ  ｄｅｓｃｒｉｐｔｉｏｎ”Ｈｉｇｈ  Ａｌａｒｍ  Ｖａｌｕｅ）をメッセージパラメータに隣接する「＠Ｈｉｇｈ  Ａｌａｒｍ  Ｖａｌｕｅ＠」タグロケーションに組み込む（挿入する）。ローカリゼーション情報は、コントローラ１０８内および／またはプロセス制御システム１０４の他の部分内でプロセス制御情報を位置特定するためにローカリゼーションインタフェース１０２が使用する参照（例えば、ａｌａｒｍｔｙｐｅｓ．ｆｈｘ）を含む。このプロセス制御情報は、高アラームの値を含んでもよい。さらに、ローカリゼーション情報は、ローカリゼーションインタフェース１０２によって高アラーム値）に隣接して表示される翻訳されたテキスト（たとえば高アラーム値）を含む。こうして、ローカリゼーションインタフェース１０２は、ロケールテンプレート３２０〜３２４を使用して、ローカライズされた情報をデバイス記述ファイル３０４内に挿入し、それにより、アプリケーション３０２内で要求されたプロセス制御オブジェクトを表示する。
【００８２】
別の例では、ローカリゼーションインタフェース１０２は、要求されたプロセス制御オブジェクトを英語のコンテキストで表示している間に、ローカリゼーションインタフェース１０２が同じプロセス制御オブジェクトをドイツのロケールで視認する第２の要求を別のユーザから受信する場合がある。この他の例では、ローカリゼーションインタフェース１０２は、ロケールテンプレートについてドイツの組３１２にアクセスし、同じデバイス記述ファイル３０４を使用して、タグ付けされたローカリゼーション情報をドイツ語のコンテキストで表示する。そのため、例示的なローカリゼーションインタフェース１０２は、同じデバイス記述ファイルを使用して、同時に異なるロケールコンテキストでプロセス制御オブジェクトを表示することを可能にする。
【００８３】
図４は、ＸＭＬフォーマットされたロケールテンプレートを利用する図１および図２のローカリゼーションインタフェース１０２を含む図３の例示的な実装システム３００を示す。この例では、ローカリゼーションインタフェース１０２は、デバイス記述ファイル３０４に関連するプロセス制御オブジェクトについての要求４０２を受信する。ローカリゼーションインタフェース１０２は、要求４０２がフランスのロケールに関連すると判定し、ロケールテンプレート４０４を含むロケールテンプレートのフランスの組３１４を選択する。この例では、ロケールテンプレート４０４はＸＭＬフォーマットされたテキストを含む。
【００８４】
例示的なローカリゼーションインタフェース１０２は、テキストボックス３０６内のタグを、組３１４内の対応するタグと一致させる。具体的には、ローカリゼーションインタフェース１０２は、メッセージパラメータをロケールテンプレート４０４の一部分４０６と一致させる。部分４０６はテキストボックス４０８内に示される。この示される例では、ローカリゼーションインタフェース１０２は、ロケールテンプレート４０４が、書式ライン（たとえば、＜?ｘｍｌ  ｖｅｒｓｉｏｎ＝”１．０”ｅｎｃｏｄｉｎｇ＝”ＵＴＦ−８”？＞）に基づいてＸＭＬファイルについてフォーマットされていると判定する。さらに、ローカリゼーションインタフェース１０２は、ローカリゼーションライン（たとえば、＜ｄｅｖｉｃｅＬｏｃａｌｉｚａｔｉｏｎ  ｌｏｃａｌｅ＝”ｆｒ−ＦＲ”＞）に基づいてロケールテンプレート４０４がフランス語のロケールに関連すると判定する。
【００８５】
例示的なローカリゼーションインタフェース１０２は、メッセージパラメータに関連する「＠Ｈｉｇｈ  Ａｌａｒｍ  Ｖａｌｕｅ＠」タグを「＜ Ｈｉｇｈ  Ａｌａｒｍ  Ｖａｌｕｅ＞」ＸＭＬフォーマットされたタグと一致させるために、ロケールテンプレートがＸＭＬファイルであるという情報を使用する。例示的なローカリゼーションインタフェース１０２は、その後、「＜ Ｈｉｇｈ  Ａｌａｒｍ  Ｖａｌｕｅ＞」ＸＭＬフォーマットされたタグに関連するテキスト（たとえばＨａｕｔ  ａｌａｒｍｅ  ｈａｕｔｅ  ｖａｌｕｅｒ）を、メッセージパラメータ内に組み込んでもよい。ローカリゼーションインタフェース１０２はまた、「％Ｐ１」変数に関連するプロセス制御情報についてコントローラ１０８にアクセスしてもよい。こうして、ローカリゼーションインタフェース１０２は、フランス語の「Ｈａｕｔ  ａｌａｒｍｅ  ｈａｕｔｅ  ｖａｌｕｅｒ」高アラームメッセージおよび「％Ｐ１」変数に対応する高アラーム値を含む、アプリケーション３０２内の要求４０２によって指定されたプロセス制御オブジェクトを表示する。さらに、図３および図４の例は、ローカリゼーションインタフェース１０２が、異なるロケールテンプレート（たとえば、リソースベースロケールテンプレート３２０およびＸＭＬフォーマットされたロケールテンプレート４０４）を使用して、同じデバイス記述ファイル３０４に基づいて異なるロケールコンテキストで同じプロセス制御オブジェクトを同時に表示してもよいことを示す。
【００８６】
図５は、ローカライズされたプロセス制御オブジェクトを表示するための、ローカリゼーションインタフェース１０２を含む例示的なプロセス制御アーキテクチャ５００を示す。プロセス制御アーキテクチャ５００は、要求されたプロセス制御オブジェクトに関連するプロセス制御情報に基づいて、ローカライズされた表示を生成するための機能層（たとえば、層０〜３）を含む。他の例は、さらなるまたはより少ない層（たとえば、サービス層またはセキュリティ層）を含んでもよい。層０では、コントローラサブシステム５０２（たとえばコントローラ１０８）は、フィールドデバイス１１２からデータ（たとえば図１の出力１１６）を受信する。コントローラサブシステム５０２は、ネットワークプロトコルおよび／またはネットワークサービスを含むデバイスネットワークを含む。プロセス制御情報は、コントローラサブシステム５０２から層１へ機能的に送信される。
【００８７】
層１は、ランタイムサービス５０４およびデータベースサービス５０６を含むネットワークアプリケーション層である。ランタイムサービス５０４は、プロセス制御情報を生成するために、アルゴリズムおよび／またはルーチン内でフィールドデバイス１１２からデータを受信する。ランタイムサービス５０４はまた、プロセス制御システム１０４内でプロセス制御情報を送信するためのネットワークメッセージを含んでもよい。層１はまた、一般的なプロセス制御情報を記憶するためのデータベースサービス５０６を含む。データベースサービス５０６は、プロセス制御システム１０４内のワークステーション（たとえばワークステーション１０６）および／または他のサーバ内にプロセス制御情報を記憶してもよい。データベースサービス５０６はまた、割当てられた識別子（たとえば変数名）によってプロセス制御情報を記憶してもよい。データベースサービス５０６は、データタイプをプロセス制御情報に割当ててもよい。
【００８８】
層２は、ローカリゼーションインタフェース１０２、デバイス記述ファイル５１０、およびロケールテンプレート５１２を含む翻訳層である。層２は、ユーザからの指定された要求に基づいて層１からのプロセス制御情報に（たとえばローカリゼーションインタフェース１０２を介して）アクセスする。ローカリゼーションインタフェース１０２は、デバイス記述ファイル５１０を使用して、プロセス制御情報がどのように（たとえば、チャート内、テキストフィールド内、バーグラフ内などで）表示されるかを判定する。ローカリゼーションインタフェース１０２は、ロケールテンプレート５１２を使用して、指定されたロケールコンテキストでプロセス制御情報を表示するために、表示書式情報を含むローカライズされた情報にアクセスする。ローカリゼーションインタフェース１０２は、表示のためにプロセス制御情報をレンダリングする。こうして、ローカリゼーションインタフェース１０２は、ユーザによって要求されたグラフィカル表現として、ローカライズされたプロセス制御動作および／またはネットワークコンポーネントを実装することによって、アプリケーションファサードとして動作する。
【００８９】
機能的に層２の上で、層３は、ローカリゼーションインタフェース１０２によってローカライズされレンダリングされたプロセス制御オブジェクトを表示するためのアプリケーション５２０〜５２４を含む。示された例では、アプリケーション５２０〜５２４は、エンタプライズビューアプリケーション５２０、グラフィックスタジオアプリケーション５２２、およびエキスプローラアプリケーション５２４を含む。エンタプライズビューアプリケーション５２０は、ユーザが、たとえばフィールドデバイス１１２および／またはプロセス制御システム１０４の動作状態を視認し及び／または修正してもよいように、監視コンテキスト内でプロセス制御情報を表示する。グラフィックスタジオアプリケーション５２２は、ユーザが、たとえばフィールドデバイス１１２および／またはプロセス制御システム１０４を構成するために使用してもよい設計およびシミュレーションアプリケーションである。エキスプローラアプリケーション５２４は、ユーザが、プロセス制御オブジェクトおよび／またはプロセス制御情報を検索し及び／または視認することを可能にする。
【００９０】
アプリケーション５２０〜５２４は、ユーザによって選択されたプロセス制御オブジェクトについての要求を、層２内のローカリゼーションインタフェース１０２に送信する。ローカリゼーションインタフェース１０２は、その後、要求のコンテキスト（たとえば、ロケール、デバイスタイプ、および／またはアプリケーションタイプ）および関連するデバイス記述ファイル５１０を使用して、要求されたプロセス制御オブジェクトに関連するプロセス制御情報を表示するための適切なロケールテンプレート５１２を選択する。ローカリゼーションインタフェース１０２は、表示のために、層３内の要求先のアプリケーション５２０〜５２４に、レンダリングされたプロセス制御情報を送信する。
【００９１】
図６および図７は、要求されたプロセス制御オブジェクト（たとえばデバイスコレクション）を、ウェブブラウザ内のプロセス制御情報として表示する例示的なユーザインタフェース６００を示す。ユーザインタフェース６００は、ユーザが、ファイルロケーションおよび／またはプロセス制御オブジェクトの経路を入力するために使用してもよいナビゲーションバー６０２を含む。この例では、ユーザは「ＨＴＴＰ：／／ＤＡＳＥＲＶＥＲ／ＤＥＶＩＣＥ／ＤＥＶＩＣＥＣＯＬＬＥＣＴＩＯＮ」というウェブアドレスをナビゲーションバー６０２に入力し、デバイスコレクションプロセス制御オブジェクトについての要求をローカリゼーションインタフェース１０２に送信するように、ユーザインタフェース６００にさせる。要求はまた、ウェブアドレス、ユーザインタフェース６００に関連するロケールを含む。ローカリゼーションインタフェース１０２は、デバイスコレクションプロセス制御オブジェクトに関連するデバイス記述ファイルを検索する。この例では、要求がウェブブラウザから送信されたため、ローカリゼーションインタフェース１０２は、ＸＭＬのためにフォーマットされているデバイス記述ファイルを検索する。以下の命令は、ＸＭＬフォーマットされたファイルを示す。
＜?xml version=”1.0”encoding=”UTF-8”?＞
＜?xml-stylesheet type=”text/xsl”href=”file://Ccd.xsl”?＞
＜catalog＞
＜device＞
＜manufacturer＞Rosemount＜/manufacturer＞
＜type＞3051MV＜/type＞
＜version＞5＜/version＞
＜/device＞
＜device＞
＜manufacturer＞Micromotion＜/manufacturer＞
＜type＞MM MV＜/type＞
＜version＞2＜/version＞
＜/device＞
＜device＞
＜manufacturer＞Fisher＜/manufacturer＞
＜type＞DVC6010F＜/type＞
＜version＞3＜/version＞
＜/device＞
＜/catalog＞
【００９２】
先に示した例示的なデバイス記述ＸＭＬファイルは、＜catalog＞ラインの下に、３つのデバイスの製造者、デバイスタイプ、およびバージョンを列挙する。この情報をユーザインタフェース６００において表示するために、例示的なローカリゼーションインタフェース１０２は、要求に関連するロケールと一致し、デバイス記述ファイル内のタグに対応するタグ（たとえば、＜manufacturer＞、＜type＞、＜version＞）を含むロケールテンプレートについてテンプレートデータベース１３２にアクセスする。デバイス記述ファイル内で、タグは、デバイスコレクションプロセス制御オブジェクトに関連するデバイスのリストとして表示されるプロセス制御情報（たとえばRosemount、3051MV、5）を含む。この例では、ローカリゼーションインタフェース１０２は、ユーザが、英語のロケールに関連し、英語のロケールテンプレートの組を選択すると判定する。さらに、要求がウェブブラウザによって送信されたため、ローカリゼーションインタフェース１０２は、ＸＭＬおよび／またはＸＳＬＴロケールテンプレートファイルを検索する。英語のロケールＸＳＬＴロケールテンプレートは、
【数１】
0005893297.tif 000002
を含んでもよい。
【００９３】
このＸＳＬＴロケールテンプレートは、プロセス制御情報をデータフィールドにフォーマットするために、カラムヘッダ（たとえば、製造者、デバイスタイプ、およびバージョン）および命令（たとえば、＜xsl:value-of  select=”manufacturer”/＞、＜xsl:value-of  select=”type”/＞、および＜xsl:value-of  select=”version”/＞）を含むテーブル６０４を定義する。ローカリゼーションインタフェース１０２は、ＸＭＬデバイス記述ファイルを有するＸＳＬＴテンプレートを使用して、ユーザインタフェース６００を介して表示可能なＨＴＭＬファイルを生成する。例示的なユーザインタフェース６００は、ＨＴＭＬファイルを使用して、図６のテーブル６０４をレンダリングし表示する。
【００９４】
図７は、フランスのロケールにおける図６のユーザインタフェース６００を示す。この例では、ユーザは、図６に示すように、同じ「ＨＴＴＰ：／／ＤＡＳＥＲＶＥＲ／ＤＥＶＩＣＥ／ＤＥＶＩＣＥＣＯＬＬＥＣＴＩＯＮ」ウェブアドレスを入力してもよい。しかし、要求がフランスのロケールを含むため、ローカリゼーションインタフェース１０２は、フランスのロケールテンプレートについてテンプレートデータベース１３２を検索する。ＸＳＬＴのフランスのロケールテンプレートは、
【数２】
0005893297.tif 000003
を含んでもよい。
【００９５】
このＸＳＬＴロケールテンプレートを使用して、ローカリゼーションインタフェース１０２は、ＨＴＭＬ命令によって定義されたテーブル７０４を生成し、これらの命令を図７のユーザインタフェース６００に送信する。ユーザインタフェース６００は、その後、テーブル７０４を表示するためにＨＴＭＬ命令をレンダリングする。この例では、フランスのロケールテンプレートは、テーブル７０４の表の見出し（たとえば、＞Fabricant、Type de Peripheriques、およびVersion）およびタイトル（たとえば、Collection de Peripheriques）の言語を変更する。図６および７に示すように、２つのユーザは、ユーザのそれぞれに関連するロケールコンテキストでデバイスコレクションプロセス制御オブジェクトに関連する同じプロセス制御情報を同時に視認する場合がある。
【００９６】
図８および図９は、図１および／または図２の例示的なローカリゼーションインタフェース１０２によって適用された異なるローカリゼーションコンテキストの同じプロセス制御情報を有する例示的なユーザインタフェース８００および９００を示す。具体的には、ユーザインタフェース８００および９００は、Ｖａｌｖｅ０１Ｃの識別子を有する弁（たとえばフィールドデバイス）に関連する特性を示す。例示的なユーザインタフェース８００および９００は、データフィールド８０２〜８１０および９０２〜９１０内にプロセス制御情報を示すが、他のユーザインタフェースは、たとえばチャート、バーグラフ、画像、配線図、レイアウト図、状態インジケータ、ゲージなどを含む他の種類のグラフィカル表現内にプロセス制御データを表示してもよい。
【００９７】
図８の例示的なユーザインタフェース８００は、英語で示され、データフィールド８０２〜８１０を含む。図９の例示的なユーザインタフェース９００は、フランスの言語で示され、データフィールド９０２〜９１０を含む。データフィールド８０２および９０２は、弁の名前を指定し、データフィールド８０４および９０４は、弁の閉鎖パーセンテージを指定し、データフィールド８０６および９０６は、弁を通る流体流量を指定し、データフィールド８０８および９０８は、弁の詳細を指定し、データフィールド８１０および９１０は、弁に関連するプロセス制御情報のファイルの場所を指定する。
【００９８】
図８の例では、例示的なローカリゼーションインタフェース１０２は、ユーザが、Ｖａｌｖｅ０１Ｃプロセス制御オブジェクトに関連するプロセス制御情報を要求し、英語のコンテキストでローカリゼーション情報を表示すると決定する。ローカリゼーションインタフェース１０２は、Ｖａｌｖｅ０１Ｃプロセス制御オブジェクトに関連するデバイス詳細ファイルを位置特性する。ローカリゼーションインタフェース１０２は、その後、Ｖａｌｖｅ０１Ｃフィールドデバイスによって生成される、対応するプロセス制御情報の詳細を提供する、対応する英語のロケールテンプレート（たとえば、ＮＡＭＥ、ＶＡＬＶＥ０１Ｃ、ＣＬＯＳＥ％、ＦＬＯＷ  ＲＡＴＥ、ＤＥＳＣＲＩＰＴＩＯＮ、ＩＮＦＬＯＷ  ＶＡＬＶＥ  ＴＯ  ＴＡＮＫ  １Ｗ３、ＣＡＮＣＥＬ、ＲＥＰＬＡＣＥ、および／またはＤＯＮＥ）内のテキストストリングを参照するタグを使用する。英語のロケールテンプレートはまた、コントローラ１０８によって処理される対応するプロセス制御情報のロケーションを指すファイルロケーション（たとえば、／ＰＩＤ０１／ＰＲ０１／ＷＲ．ＶＡＬＶＥ０１Ｃ）を含む。この例では、プロセス制御情報は、Ｖａｌｖｅ０１Ｃフィールドデバイスによって送信された値０．３５および２．５２を含んでもよい。さらに、ユーザインタフェース８００がエンタプライズアプリケーション（たとえばプロセス制御ソフトウェアアプリケーション）に関連する場合があるため、ローカリゼーションインタフェース１０２は、リソースファイル書式を有するロケールテンプレートを検索してもよい。
【００９９】
図９の例では、ローカリゼーションインタフェース１０２は、ユーザがフランスのロケールに関連すると決定する。結果として、ローカリゼーションインタフェース１０２は、データフィールド９０４および９０６内でヨーロッパ番号付け規格に準拠するようにフォーマットされたプロセス制御情報、およびローカライズされたテキスト情報をデータフィールド９０８内に表示する。しかし、ローカリゼーションインタフェース１０２は、図８において英語でＶａｌｖｅ０１Ｃプロセス制御オブジェクトを表示するために使用されるユーザインタフェース９００について同じデバイス記述ファイルを利用する。さらに、図９のローカリゼーションインタフェース１０２は、コントローラ１０８からデータフィールド９０４〜９０８内で表示されたプロセス制御情報にアクセスし、フランスのロケールテンプレート内の情報に基づいてデータをフォーマットする。ローカリゼーションインタフェース１０２はまた、図２の翻訳器２１４を使用して、フィールド９０８内のテキストを翻訳する。あるいは、翻訳されたテキストが、フランスのロケールテンプレート内に含まれてもよい。さらに、ローカリゼーションインタフェース１０２は、データフィールド９０２〜９０８に隣接するテキスト（たとえば、Ｎｏｍ、Ｆｅｒｍｅｒ％、Ｔａｕｘ  Ｆｌｕｘ、およびＤｅｓｃｒｉｐｔｉｏｎ）について、フランスのロケールテンプレート内で翻訳されたテキストを使用する。
【０１００】
いくつかの例では、ユーザインタフェース８００および９００を介して表示されるローカライズされた情報のレイアウトは、各ロケールテンプレート内で指定されるデータフィールド８０２〜８１０および９０２〜９１０の相対的な位置決めおよび／または自動サイズ決定に基づく場合がある。さらに、データフィールド８０２〜８１０および９０２〜９１０のレイアウトは、より長いローカライズ可能フレーズがよく読めないようにならないように、余分の空間を含む場合がある。さらに、データフィールド８０２〜８１０および９０２〜９１０のレイアウトは、クリッピングを防止するためにテキストラッピングを含んでもよい。さらに、ＸＭＬ言語属性が、ハイフォネーション、スペルチェック、数値置換、スクリプト整形、および／またはフォントフォールバックが、指定されたロケールに関連するように、図８および図９のユーザインタフェース８００および９００について設定されてもよい。同様に、ユーザインタフェース８００および９００のそれぞれは、テキストストリングを表示するために、複合フォントおよびテキスト流れ方向を指定してもよい。
【０１０１】
図１０は、ウェブブラウザアプリケーションにおいてＴＴ１０１プロセス制御オブジェクトに関連するプロセス制御情報を表示するために、例示的なローカリゼーションインタフェース１０２と通信する例示的なユーザインタフェース１０００を示す。例示的なユーザインタフェース１０００は、フィールドデバイスに関連するプロセス制御情報を視認するために、ＴＴ１０１フィールドデバイス名（たとえば、プロセス制御オブジェクト）を入力するためにユーザが利用してもよいナビゲーションバー１００２を含む。別の例では、ユーザは、フィールドデバイスを位置特定するために階層的ディレクトリを使用してもよい。ユーザインタフェース１０００はまた、ＴＴ１０１フィールドデバイスとインタフェースするオプションを含むメニューバー１００４を含む。この例では、手動セットアップオプションが選択されている。メニューバー１００４に列挙されたオプションは、ＴＴ１０１フィールドデバイスに関連するデバイス記述ファイル内に指定されてもよい。
【０１０２】
図１０の例示的なユーザインタフェース１０００は、ＴＴ１０１フィールドデバイスに関連するプロセス制御情報を視認する要求内に含まれるターゲット表示情報を、ローカリゼーションインタフェース１０２に送出する。ローカリゼーションインタフェース１０２は、ＴＴ１０１フィールドデバイスに関連するデバイス記述ファイルを位置特定し、対応する英語のロケールテンプレートを位置特定する。ローカリゼーションインタフェース１０２は、ターゲット表示情報（たとえば、デバイスタイプ情報）を使用して、ＴＴ１０１フィールドデバイスに関連するどのプロセス制御情報が、ワークステーションまたはラップトップ上のウェブブラウザ内で表示されるかを指定するロケールテンプレートを検索する。また、ローカリゼーションインタフェース１０２も、ターゲット表示情報を使用して、ワークステーションおよび／またはラップトップ上で表示するために構成される英語のロケールテンプレートを識別する。要求がウェブブラウザを介して送信されたため、ローカリゼーションインタフェース１０２は、ＸＭＬおよび／またはＸＳＬＴフォーマットされたロケールテンプレートを選択して、プロセス制御情報をＨＴＭＬ書式で表示する。
【０１０３】
さらに、例示的なローカリゼーションインタフェース１０２は、ＴＴ１０１プロセス制御オブジェクトを使用して、ＴＴ１０１フィールドデバイスからの出力としてデータパネル１００６および１００８内に表示するプロセス制御情報および／または特性（たとえば情報）を検索する。データパネル１００６および１００８は、ＴＴ１０１フィールドデバイスのアナログ入力（ＡＩ）、％範囲、単位、下限範囲、上限範囲、タグ、日付、および記述子用のデータフィールドを含む。例示的なローカリゼーションインタフェース１０２は、情報および参照（たとえば、プロセス制御情報に対するタグ、経路、および／またはリンク）をロケールテンプレート内にフォーマットすることに基づいて、このプロセス制御情報を適切なデータフィールド内に挿入する。ローカリゼーションインタフェース１０２は、その後、データパネル１００６および１００８内にプロセス制御情報をレンダリングし表示する命令をユーザインタフェース１０００に送信してもよい。
【０１０４】
図１１（Ａ）および（Ｂ）は、図１の無線デバイス１０７上に表示された例示的なユーザインタフェース１１００を示す。この例では、無線デバイス１０７は、図１および図２のローカリゼーションインタフェース１０２に通信可能に結合される。図１１（Ａ
）では、ユーザインタフェース１１００は、プロセス制御オブジェクト検索フィールド１１０２およびキーボード１１０４を含む。プロセス制御オブジェクト検索フィールド１１０２は、キーボード１１０４を介してユーザがプロセス制御オブジェクトの識別子（たとえばＯＰＣ  ＤＡ／ＤＥＶＩＣＥ／ＴＴ１０１）を入力することを可能にする。ユーザインタフェース１１００は、ＴＴ１０１プロセス制御オブジェクトについての要求をローカリゼーションインタフェース１０２に送信する。さらに、無線デバイス１０７は、ターゲット表示情報および／またはロケール情報をローカリゼーションインタフェース１０２に送信する。
【０１０５】
ローカリゼーションインタフェース１０２は、ＴＴ１０１プロセス制御オブジェクトを使用して、対応するデバイス記述ファイル、１以上のロケールテンプレート、および／またはプロセス制御情報を位置特定する。また、例示的なローカリゼーションインタフェース１０２は、ターゲット表示情報を使用して、無線デバイス１０７の比較的小さなスクリーン上に表示するためにフォーマットされた１以上のロケールテンプレートを選択する。さらに、ローカリゼーションインタフェース１０２は、無線デバイス１０７に関連する英語のロケールに一致する１以上のロケールテンプレートを選択してもよい。示される例では、ローカリゼーションインタフェース１０２は、図１０に関連して述べたように、同じＴＴ１０１フィールドデバイス識別子を受信する。しかし、要求が、図１０のウェブブラウザユーザインタフェース１０００と比較して比較的小さなスクリーンを有する図１１（Ａ）の無線デバイス１０７からのものであるため、ローカリゼーションインタフェース１０２は、ユーザインタフェース１１００の比較的小さなスクリーンのためにフォーマットされた表示を生成する。
【０１０６】
図１１（Ｂ）は、ローカリゼーションインタフェース１０２からの生成された表示を示す。この例では、無線デバイス１０７は、ローカリゼーションインタフェース１０２からの命令に基づいて表示をレンダリングしてもよい。他の例では、ローカリゼーションインタフェース１０２は、表示をレンダリングし、無線デバイス１０７に送信してもよい。図１１（Ｂ）のユーザインタフェース１１００内の表示は、ＴＴ１０１フィールドデバイスに関連する異なる機能にナビゲーションするためのメニューパネル１２０２を含む。いくつかの例では、メニューパネル１２０２内に列挙したアイテムは、ＴＴ１０１フィールドデバイス用のデバイス記述ファイル内で指定されてもよい。ユーザインタフェース１１００はまた、無線デバイス１０７を介して表示するためにフォーマットされ、また、ユーザのローカリゼーションコンテキストで表示するためにフォーマットされる、ＴＴ１０１フィールドデバイスに関連するプロセス制御情報を示すプロセスデータパネル１２０４を含む。
【０１０７】
図１および図２のローカリゼーションインタフェース１０２を実装するための例示的なプロセス１３００および１４００を示すフローチャートが、図１２、図１３、および図１４に示される。この例では、プロセスは、図１５に関連して以下で論じる例示的なプロセッサシステムＰ１０に示されるプロセッサＰ１２などのプロセッサによって実行されるプログラムの形態の機械可読命令を使用して実装されてもよい。プログラムは、ＣＤ−ＲＯＭ、フロッピー(登録商標)ディスク、ハードドライブ、デジタル多用途ディスク（ＤＶＤ）、またはプロセッサＰ１２に関連するメモリなどのコンピュータ可読媒体上に記憶されたソフトウェアで具現化されてもよいが、プログラム全体および／またはプログラムの一部は、代替的に、プロセッサＰ１２以外のデバイスによって実行できる可能性があり、及び／または、ファームウェアまたは専用ハードウェアで具現化できる可能性がある。さらに、例示的なプログラムは、図１２、図１３、および図１４に示されるフローチャートを参照して述べられるが、例示的なローカリゼーションインタフェース１０２を実装する多くの他の方法が、代替的に使用されてもよい。たとえば、ブロックの実行順序は、変更されてもよく、及び／または、記述されるブロックのいくつかは、変更されても、なくされても、または、組み合わされてもよい。
【０１０８】
上述したように、図１２、図１３、および図１４の例示的なプロセスは、ハードディスクドライブ、フラッシュメモリ、読み出し専用メモリ（ＲＯＭ）、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）、キャッシュ、ランダムアクセスメモリ（ＲＡＭ）、および／または、情報が任意の期間にわたって（たとえば、長い期間にわたって、永久的に、わずかな瞬間、一時的にバッファリングするために、および／または、情報のキャッシングのために）記憶される任意の他の記憶媒体などの有形のコンピュータ可読媒体上に記憶されたコード化された命令（たとえばコンピュータ可読命令）を使用して実装されてもよい。本明細書で使用される場合、有形のコンピュータ可読媒体という用語は、任意のタイプのコンピュータ可読記憶装置を含み、かつ伝搬信号を排除することが明示的に規定される。付加的にまたは代替的に、図１２、図１３、および図１４の例示的なプロセスは、ハードディスクドライブ、フラッシュメモリ、読み出し専用メモリ、コンパクトディスク、デジタル多用途ディスク、キャッシュ、ランダムアクセスメモリ、および／または、情報が任意の期間にわたって（たとえば、長い期間にわたって、永久的に、わずかな瞬間、一時的にバッファリングするために、および／または、情報のキャッシングのために）記憶される任意の他の記憶媒体などの非一過性のコンピュータ可読媒体上に記憶されたコード化された命令（たとえばコンピュータ可読命令）を使用して実装されてもよい。本明細書で使用される場合、非一過性のコンピュータ可読媒体という用語は、任意のタイプのコンピュータ可読媒体を含み、また、伝搬信号を排除することが明示的に規定される。
【０１０９】
図１２および図１３の例示的なプロセスは、ユーザによって要求されたプロセス制御オブジェクトを表示し、及び／または、プロセス制御情報を表示する。図１２の例示的なプロセス１３００は、ユーザインタフェースを介して（たとえば、図２のワークステーションインタフェース２０２を介して）表示されるアプリケーションからプロセス制御オブジェクトを視認する要求を受信することによって始まる（ブロック１３０２）。例示的なプロセス１３００は、その後、要求されたプロセス制御オブジェクトに対応するデバイス記述ファイルを（たとえば、デバイス記述ファイルプロセッサ２０４を介して）位置特定する（ブロック１３０４）。例示的なプロセス１３００は、次に、要求に関連するロケールおよびデバイスタイプを（たとえば、オブジェクトマネジャ２０６および／またはテンプレートプロセッサ２０８を介して）確定する（ブロック１３０６および１３０８）。ロケールおよび／またはデバイスタイプは、要求に含まれるメタデータに基づいて確定されてもよい。
【０１１０】
例示的なプロセス１３００は、確定されたロケールを使用して、確定されたロケールに関連するロケールテンプレートの組を（たとえば、テンプレートプロセッサ２０８を介して）選択する（ブロック１３１０）。例示的なプロセス１３００は、その後、要求が、ウェブブラウザからのものかどうかを（たとえば、ワークステーションインタフェース２０２および／またはオブジェクトマネジャ２０６を介して）判定する（ブロック１３１２）。他の例では、プロセス１３００は、要求を受信するとすぐに、要求がウェブブラウザからのものかどうかを判定してもよい。要求がウェブブラウザからのものである場合、例示的なプロセス１３００は、確定されたデバイス記述ファイル内の１以上のタグに対応する少なくとも１つのタグを含む１以上のＸＭＬおよび／またはＸＳＬＴロケールテンプレートを（たとえば、テンプレートプロセッサ２０８を介して）選択する（ブロック１３１４）。ＸＭＬおよび／またはＸＳＬＴフォーマットされたロケールテンプレートを選択することによって、例示的なプロセス１３００は、要求されたプロセス制御オブジェクトを表示するためにＨＴＭＬファイルを生成してもよい。例示的なプロセス１３００は、その後、確定されたデバイスタイプに対応する１以上のロケールテンプレートを、選択されたＸＭＬおよび／またはＸＳＬＴロケールテンプレートの中から（たとえば、テンプレートプロセッサ２０８を介して）選択する（ブロック１３１６）。図１３の例示的なプロセス１３００は、ローカライズされた情報を表示するための少なくとも１つのロケールテンプレートが存在するかどうかを（たとえば、テンプレートプロセッサ２０８を介して）チェックすることによって、継続する（ブロック１３１８）。
【０１１１】
しかし、要求がウェブブラウザからのものでない場合（ブロック１３１２）、図１２の例示的なプロセス１３００は、確定されたデバイス記述ファイル内の１以上のタグに対応する少なくとも１つのタグを含む１以上のリソースベースロケールテンプレートを（たとえば、テンプレートプロセッサ２０８を介して）選択する（ブロック１３２０）。例示的なプロセス１３００は、その後、確定されたデバイスタイプに対応する１以上のロケールテンプレートを、選択されたリソースベースロケールテンプレートの中から（たとえば、テンプレートプロセッサ２０８を介して）選択する（ブロック１３２２）。図１３の例示的なプロセス１３００は、ローカライズされた情報を表示するための少なくとも１つのロケールテンプレートが存在するかどうかを（たとえば、テンプレートプロセッサ２０８を介して）判定する（ブロック１３１８）。
【０１１２】
デバイス記述ファイルのデバイスタイプ、ロケール、および／または１以上のタグに対して一致するロケールテンプレートが存在しない場合、例示的なプロセス１３００は、デフォルトロケールテンプレートを（たとえば、テンプレートプロセッサ２０８を介して）選択する（ブロック１３２４）。例示的なプロセス１３００は、その後、選択された１以上のロケールテンプレートおよび／またはデバイス記述ファイル内で参照されたプロセス制御情報を（たとえば、オブジェクトマネジャ２０６を介して）取出す（ブロック１３２６）。例示的なプロセス１３００は、次に、要求されたプロセス制御オブジェクトとして表示するために、デバイス記述ファイル、１以上のロケールテンプレート、および／または取出されたプロセス制御情報を（たとえば、オブジェクトマネジャ２０６および／またはレンダラー２１０を介して）処理する（ブロック１３２８）。処理は、表示のために、デバイス記述ファイル、１以上のロケールテンプレート、および／または取出されたプロセス制御情報をレンダリングすることを含んでもよい。他の例では、ターゲットユーザインターフェースは、例示的プロセス１３００からの処理された表示情報をレンダリングしてもよい。
【０１１３】
例示的なプロセス１３００は、アプリケーション内で視認するために、処理された表示および／またはレンダリングされた表示をユーザインタフェースに（たとえば、アプリケーションインタフェース２１２を介して）送信することによって継続する（ブロック１３３０）。例示的なプロセス１３００は、その後、プロセス制御オブジェクトを視認する要求を受信することに戻ってもよい。他の例では、例示的なプロセス１３００は、複数の要求を同時に実行してもよい。
【０１１４】
図１４の例示的なプロセス１４００は、新しく付加されたフィールドデバイスをサポートするために、デバイス記述ファイルおよび１以上のロケールテンプレートを生成する。例示的なプロセス１４００は、フィールドデバイスがプロセス制御システムに付加されたという情報を（たとえば、データベースマネジャ２１６を介して）受信することによって始まる（ブロック１４０２）。情報は、プロセス制御要員によって入力されてもよく、または代替的に、例示的なプロセス１４００は、フィールドデバイスの付加を検出してもよい。例示的なプロセス１４００は、次に、フィールドデバイスに関連するデバイス記述ファイルを、図１および図２のデバイス記述データベース１３０に（たとえば、データベースマネジャ２１６を介して）記憶する（ブロック１４０４）。いくつかの例では、プロセス１４００は、コントローラ１０８を介してフィールドデバイスからデバイス記述ファイルを受信してもよい。他の例では、プロセス制御要員は、デバイス記述ファイルを提供してもよい。
【０１１５】
示される例の例示的なプロセス１４００は、その後、異なるロケール用のデバイス記述ファイルについてロケールテンプレートの１以上の組を（たとえば、データベースマネジャ２１６を介して）作成する（ブロック１４０６）。ある例では、ロケールテンプレートの組は、デフォルトロケールについて作成されてもよい。例示的なプロセス１４００は、その後、翻訳器を使用して他のロケールの組を生成してもよい。他の例では、プロセス制御要員は、所望のロケールのそれぞれについて組を作成してもよい。例示的なプロセス１４００は、デバイス記述ファイル内のタグを参照するロケールテンプレートに、ローカライズされた情報を有するタグを付加することによってロケールテンプレートの１以上の組を（たとえば、データベースマネジャ２１６を介して）作成してもよい（ブロック１４０８）。例示的なプロセス１４００は、プロセス制御情報に参照および／またはリンクを付加することによって、ロケールテンプレートの１以上の組を（たとえば、データベースマネジャ２１６を介して）作成してもよい（ブロック１４１０）。
【０１１６】
さらに、例示的なプロセス１４００は、１以上の組のそれぞれについて、異なるデバイスタイプ上での表示のために構成され、及び／または、フォーマットされているロケールテンプレートを（たとえば、データベースマネジャ２１６を介して）作成する（ブロック１４１２）。さらに、例示的なプロセス１４００は、１以上の組のそれぞれについて、ＸＭＬファイル、ＸＳＬＴファイル、および／またはリソースベースファイルに対してフォーマットされているロケールテンプレートを（たとえば、データベースマネジャ２１６を介して）作成してもよい（ブロック１４１４）。例示的なプロセス１４００は、その後、テンプレートデータベース１３２に、作成されたロケールテンプレートを（たとえば、データベースマネジャ２１６を介して）記憶する（ブロック１４１６）。例示的なプロセス１４００は、次に、別のフィールドデバイスがプロセス制御システムに付加されたという情報を受信することに戻る。他の例では、プロセス１４００は、プロセス制御システムに付加するさらなるフィールドデバイスが存在しない場合終了してもよい。
【０１１７】
図１５は、本明細書で記述される例示的な方法および装置を実装するために使用されてもよい例示的なプロセッサシステムＰ１０のブロック図である。たとえば、例示的なプロセッサシステムＰ１０と同様のまたは同一のプロセッサシステムが、図１および／または図２の例示的なワークステーションインタフェース２０２、例示的なデバイス記述ファイルプロセッサ２０４、例示的なオブジェクトマネジャ２０６、例示的なテンプレートプロセッサ２０８、例示的なレンダラー２１０、例示的なアプリケーションインタフェース２１２、例示的な翻訳器２１４、例示的なデータベースマネジャ２１６、ならびに／またはより一般的に例示的なローカリゼーションインタフェース１０２を実装するために使用されてもよい。例示的なプロセッサシステムＰ１０は、複数の周辺機器、インタフェース、チップ、メモリなどを含むものとして以下で述べられるが、これらの要素の１以上は、例示的なワークステーションインタフェース２０２、例示的なデバイス記述ファイルプロセッサ２０４、例示的なオブジェクトマネジャ２０６、例示的なテンプレートプロセッサ２０８、例示的なレンダラー２１０、例示的なアプリケーションインタフェース２１２、例示的な翻訳器２１４、例示的なデータベースマネジャ２１６、および／またはより一般的に例示的なローカリゼーションインタフェース１０２のうちの１つ以上を実装するために使用される他の例示的なプロセッサシステムから省略されてもよい。
【０１１８】
図１５に示すように、プロセッサシステムＰ１０は、相互接続バスＰ１４に結合されるプロセッサＰ１２を含む。プロセッサＰ１２は、レジスタの組またはレジスタ空間Ｐ１６を含み、レジスタの組またはレジスタ空間Ｐ１６は、図１５では、完全にオンチップであるとして示されるが、あるいは、完全にまたは部分的にオフチップで配置され、専用電気接続および／または相互接続バスＰ１４を介してプロセッサＰ１２に直接接続できる可能性がある。プロセッサＰ１２は、任意の適したプロセッサ、処理ユニット、またはマイクロプロセッサであってよい。図１５には示さないが、システムＰ１０は、マルチプロセッサシステムであってよく、したがって、プロセッサＰ１２と同一であるかまたは同様であり、相互接続バスＰ１４に通信可能に結合される１以上の追加のプロセッサを含んでもよい。
【０１１９】
図１５のプロセッサＰ１２は、メモリコントローラＰ２０および周辺入力／出力（Ｉ／Ｏ）コントローラＰ２２を含むチップセットＰ１８に結合される。よく知られているように、チップセットは、通常、Ｉ／Ｏおよびメモリ管理機能、ならびに、チップセットＰ１８に結合した１以上のプロセッサによってアクセス可能となり、または使用される、複数の汎用および／または専用のレジスタ、タイマなどを提供する。メモリコントローラＰ２０は、プロセッサＰ１２（または、複数のプロセッサが存在する場合、複数のプロセッサ）が、システムメモリＰ２４および大容量記憶メモリＰ２５にアクセスすることを可能にする機能を実施する。
【０１２０】
システムメモリＰ２４は、たとえば静的ランダムアクセスメモリ（ＳＲＡＭ）、動的ランダムアクセスメモリ（ＤＲＡＭ）、フラッシュメモリ、読み出し専用メモリ（ＲＯＭ）などのような任意の所望のタイプの揮発性メモリおよび／または不揮発性メモリを含んでもよい。大容量記憶メモリＰ２５は、任意の所望のタイプの大容量記憶デバイスを含んでもよい。たとえば、例示的なプロセッサシステムＰ１０が、デバイス記述データベース１３０および／またはテンプレートデータベース１３２（図１および図２）を実装するために使用される場合、大容量記憶メモリＰ２５は、ハードディスクドライブ、光学ドライブ、テープ記憶デバイスなどを含んでもよい。あるいは、例示的なプロセッサシステムＰ１０が、デバイス記述データベース１３０および／またはテンプレートデータベース１３２を実装するために使用される場合、大容量記憶メモリＰ２５は、固体メモリ（たとえば、フラッシュメモリ、ＲＡＭメモリなど）、磁気メモリ（たとえば、ハードドライブ）、あるいは、デバイス記述データベース１３０および／またはテンプレートデータベース１３２の大容量記憶部に適した任意の他のメモリを含んでもよい。
【０１２１】
周辺Ｉ／ＯコントローラＰ２２は、プロセッサＰ１２が、周辺Ｉ／ＯバスＰ３２を介して周辺入力／出力（Ｉ／Ｏ）デバイスＰ２６およびＰ２８ならびにネットワークインタフェースＰ３０と通信することを可能にする機能を実施する。Ｉ／ＯデバイスＰ２６およびＰ２８は、たとえば、キーボード、ディスプレイ（たとえば液晶ディスプレイ（ＬＣＤ）、陰極線管（ＣＲＴ）ディスプレイなど）、ナビゲーションデバイス（たとえば、マウス、トラックボール、容量性タッチパッド、ジョイスティックなど）などのような任意の所望のタイプのＩ／Ｏデバイスであってよい。ネットワークインタフェースＰ３０は、プロセッサシステムＰ１０が別のプロセッサシステムと通信することを可能にする、たとえばイーサネット(登録商標)デバイス、非同期転送モード（ＡＴＭ）デバイス、８０２．１１デバイス、ＤＳＬモデム、ケーブルモデム、携帯モデムなどであってよい。
【０１２２】
メモリコントローラＰ２０およびＩ／ＯコントローラＰ２２は、チップセットＰ１８内の別個の機能ブロックとして図１５に示されるが、これらのブロックによって実施される機能は、単一半導体回路内に集積化されてもよく、または、２つ以上の別個の集積回路を使用して実装されてもよい。
【０１２３】
上述した例示的な方法および／または装置の少なくともいくつかは、コンピュータプロセッサ上で実行される１以上のソフトウェアおよび／またはファームウェアプログラムによって実装される。しかし、特定用途向け集積回路、プログラマブルロジックアレイ、および他のハードウェアデバイスを含むが、それに限定されない専用ハードウェア実施態様は、同様に、本明細書で記述される例示的な方法および／または装置の一部または全てを、全体的にまたは部分的に実装するように構築することができる。さらに、分散処理またはコンポーネント／オブジェクト分散処理、並列処理、またはバーチャル機械処理を含むが、それに限定されない代替のソフトウェア実装もまた、本明細書で記述される例示的な方法および／またはシステムを実装するように構築することができる。
【０１２４】
本明細書で記述される例示的なソフトウェアおよび／またはファームウェア実装は、磁気媒体（たとえば磁気ディスクまたは磁気テープ）、光磁気媒体または光ディスクなどの光媒体、あるいは、メモリカードまたは１つもしくは複数の読み出し専用（不揮発性）メモリ、ランダムアクセスメモリ、または他の再書込み可能（揮発性）メモリを収容する他のパッケージなどの固体媒体などの有形の記憶媒体上に記憶されることも留意されるべきである。したがって、本明細書で記述される例示的なソフトウェアおよび／またはファームウェアは、上述した媒体または後継記憶媒体などの有形の記憶媒体上に記憶することができる。上記仕様が、特定の規格およびプロトコルを参照して例示的なコンポーネントおよび機能を記述する範囲で、本特許の範囲は、こうした規格およびプロトコルに限定されないことが理解される。
【０１２５】
さらに、本特許は、ハードウェア上で実行されるソフトウェアまたはファームウェアを含む例示的な方法および装置を開示するが、こうしたシステムは、例証に過ぎず、制限的であると考えられるべきでないことを留意されたい。たとえば、これらのハードウェアおよびソフトウェアの任意のものまたは全てが、ハードウェアのみで、ソフトウェアのみで、ファームウェアのみで、あるいは、ハードウェア、ファームウェア、および／またはソフトウェアの何らかの組合せで具現化できる可能性があることが意図される。相応して、上記仕様は、例示的な方法、システム、および機械アクセス可能媒体を述べたが、これらの例は、こうしたシステム、方法、および機械アクセス可能媒体を実装する唯一の方法ではない。したがって、いくつかの例示的な方法、システム、および機械アクセス可能媒体が本明細書で述べられたが、本特許の包含の範囲はそれに限定されない。それと反対に、本特許は、文言的にまたは均等論の下で、添付特許請求の範囲内に正当に入る全ての方法、システム、および機械アクセス可能媒体を包含する。
【図１】
0005893297.tif 000004
【図２】
0005893297.tif 000005
【図３】
0005893297.tif 000006
【図４】
0005893297.tif 000007
【図５】
0005893297.tif 000008
【図６】
0005893297.tif 000009
【図７】
0005893297.tif 000010
【図８】
0005893297.tif 000011
【図９】
0005893297.tif 000012
【図１０】
0005893297.tif 000013
【図１１】
0005893297.tif 000014
【図１２】
0005893297.tif 000015
【図１３】
0005893297.tif 000016
【図１４】
0005893297.tif 000017
【図１５】
0005893297.tif 000018