(57)【特許請求の範囲】
【請求項１】
複数の遠隔端末のうち少なくとも一つがブローカエージェントである前記複数の遠隔端末に通信可能に結合されるホストおよび、前記複数の遠隔端末に通信可能に結合される複数のフィールド機器であって、当該複数のフィールド機器の少なくとも一部が１つまたは複数の物理的機能を実行して、前記プロセスプラントで実行するプロセスを制御する、複数のフィールド機器を含むプロセスプラントの機器階層を構築するためのシステムであって、
前記システムは、
前記複数の遠隔端末に通信可能に結合され、前記ホストにおいて動作する階層ビルダモジュール及び前記遠隔端末において動作するＨＡＲＴ階層報告モジュールを含む階層生成エンジンであって、
前記階層生成エンジンは、前記複数の遠隔端末および前記複数のフィールド機器それぞれを示し、前記複数の遠隔端末および前記複数のフィールド機器との親子関係が記載された機器識別情報であって、前記ブローカエージェントとして構成される前記遠隔端末に保存されるそれぞれの機器識別情報を取得し、
前記それぞれの機器識別情報を、前記階層生成エンジンがアクセス可能なローカルメモリに保存し、
前記それぞれの機器識別情報を使用して、前記複数の遠隔端末および前記複数のフィールド機器に含まれる１つまたは複数の対の遠隔端末およびフィールド機器間のそれぞれの親子関係を示している前記機器階層の少なくとも一部を構築し、
前記構築された機器階層の少なくとも一部が、前記ホストにアクセス可能となるように構成される、システム。
【請求項２】
前記それぞれの機器識別情報は、前記複数のフィールド機器に含まれるフィールド機器のそれぞれの機器タイプ、それぞれの機器識別またはそれぞれの機器タグのうちの少なくとも１つを更に含む請求項１に記載のシステム。
【請求項３】
前記それぞれの機器識別情報は、前記フィールド機器の前記それぞれの機器タグを更に含み、前記ローカルメモリは、前記フィールド機器の前記それぞれの機器タグである１つの機器タグだけを保存する、請求項２に記載のシステム。
【請求項４】
前記ローカルメモリに保存される前記フィールド機器の前記１つの機器タグは、前記フィールド機器の複数の機器タグのうちの最も長い機器タグである、請求項３に記載のシステム。
【請求項５】
前記フィールド機器は、有線フィールド機器または無線フィールド機器の一方である、請求項２に記載のシステム。
【請求項６】
前記フィールド機器は、有線ＨＡＲＴフィールド機器または無線ＨＡＲＴフィールド機器の一方である、請求項５に記載のシステム。
【請求項７】
前記機器階層の前記少なくとも一部は、前記機器階層の少なくとも第１の部分であり、前記それぞれの機器識別情報は、第１の機器識別情報であり、前記階層生成エンジンは、前記複数のフィールド機器及び複数の遠隔端末に通信可能に結合され、
前記階層生成エンジンはさらに、
前記機器階層の前記少なくとも第１の部分の構築後、前記複数のフィールド機器及び複数の遠隔端末から送信された、１つまたは複数の通信に含まれる第２の機器識別情報を、前記ローカルメモリに保存し、かつ、
（ｉ）前記機器階層の前記少なくとも第１の部分を再構築する、または（ｉｉ）前記保存された第２の機器識別情報を使用して、前記機器階層の少なくとも第２の部分を構築するのうち少なくとも一方を行うよう構成される、請求項１に記載のシステム。
【請求項８】
前記複数のフィールド機器から送信された前記１つまたは複数の通信は、ＨＡＲＴコマンド番号０のメッセージを含み、前記第２の機器識別情報は、前記ＨＡＲＴコマンド番号０のメッセージに対して送信された応答を含む、請求項７に記載のシステム。
【請求項９】
前記複数のフィールド機器のうちの前記１つまたは複数は、前記複数のフィールド機器の少なくとも第１のサブセットであり、
前記階層生成エンジンはさらに、
前記機器階層の前記少なくとも第１の部分の構築後に、前記遠隔端末から、前記複数のフィールド機器の少なくとも第２のサブセットに含まれる各フィールド機器のそれぞれの機器状態またはそれぞれの通信状態のうちの少なくとも一方を取得する、かつ
ｉ）前記機器階層の前記少なくとも第１の部分を再構築する、または（ｉｉ）前記それぞれの機器状態または前記それぞれの通信状態のうちの少なくとも一方を使用して、前記機器階層の少なくとも第２の部分を構築するのうちの少なくとも一方を行うよう構成される、請求項１に記載のシステム。
【請求項１０】
前記階層ビルダモジュールは、ソフトウェアモジュールとしての前記ホストに含まれる、請求項１に記載のシステム。
【請求項１１】
前記ＨＡＲＴ階層報告モジュールは、ソフトウェアモジュールとしての前記遠隔端末に含まれる、請求項１に記載のシステム。
【請求項１２】
前記ブローカエージェントとして構成された前記遠隔端末は、それぞれが、それぞれの複数のフィールド機器に結合される、複数の遠隔端末に含まれ、前記階層生成エンジンはさらに、前記複数の遠隔端末のそれぞれに対応するそれぞれの機器階層の少なくとも一部を構築するよう構成される、請求項１に記載のシステム。
【請求項１３】
ユーザインタフェースで、前記機器階層の前記構築された少なくとも一部の表示を提供するよう構成されるホストをさらに備える、請求項１に記載のシステム。
【請求項１４】
前記階層ビルダモジュールの少なくとも一部は、ソフトウェアモジュールとしての前記ホストに含まれる、請求項１３に記載のシステム。
【請求項１５】
複数の遠隔端末の少なくとも一つがブローカエージェントとして構成された、前記複数の遠隔端末に通信可能に結合されるホスト、および前記複数の遠隔端末に通信可能に結合される複数のフィールド機器であって、当該複数のフィールド機器の少なくとも一部が１つまたは複数の物理的機能を実行して、前記プロセスプラントで実行されるプロセスを制御する、複数のフィールド機器を含むプロセスの機器階層を構築するための方法であって、
前記ホストで前記ブローカエージェントとして構成された前記遠隔端末から、前記複数のフィールド機器および前記複数の遠隔端末それぞれの、それらの機器の親子関係が記載されたそれぞれの機器識別情報であって、前記ブローカエージェントとして構成される前記遠隔端末に保存される、前記複数のフィールド機器および前記複数の遠隔端末それぞれの、それぞれの機器識別情報を取得するステップと、
前記取得したそれぞれの機器識別情報を、前記ホストがアクセス可能な第１のメモリに保存するステップと、
前記保存されたそれぞれの機器識別情報を使用して、前記複数のフィールド機器および前記複数の遠隔端末に含まれる１つまたは複数の対のフィールド機器および１または複数の遠隔端末間のそれぞれの親子関係を示している前記機器階層の少なくとも一部を構築するステップと、
前記プロセスプラントの１つまたは複数の他の機器が使用する前記機器階層の前記構築された少なくとも一部を、前記第１のメモリまたは第２のメモリのうちの少なくとも一方に保存するステップとを備える、方法。
【請求項１６】
前記複数のフィールド機器それぞれの、それぞれの前記機器識別情報を取得することは、前記複数のフィールド機器に含まれるフィールド機器のそれぞれの機器タイプ、それぞれの機器識別またはそれぞれの機器タグのうちの少なくとも１つを取得することを含む、請求項１５に記載の方法。
【請求項１７】
前記取得した機器識別情報を保存することは、前記複数のフィールド機器に含まれるフィールド機器の１つの機器タグのみを保存することを含む、請求項１５に記載の方法。
【請求項１８】
前記複数のフィールド機器それぞれの、それぞれの前記機器識別情報を取得することは、前記複数のフィールド機器に含まれる有線フィールド機器または無線フィールド機器のそれぞれの機器識別情報を取得することを含む、請求項１５に記載の方法。
【請求項１９】
前記取得した機器識別情報は、第１の取得した機器識別情報であり、
前記第１の取得した機器識別情報を使用して、前記機器階層の前記少なくとも一部を構築した後、前記複数のフィールド機器から送信された１つまたは複数のメッセージに含まれる第２の機器識別情報を取得するステップと、
前記取得した第２の機器識別情報を、前記第１のメモリに保存するステップと、
（ｉ）前記機器階層の前記少なくとも一部を再構築するステップ、または（ｉｉ）前記保存された第２の機器識別情報を使用して、前記機器階層の少なくとも他の部分を構築するステップの少なくとも一方をさらに備える、請求項１５に記載の方法。
【請求項２０】
前記複数のフィールド機器の前記１つまたは複数は、前記複数のフィールド機器の少なくとも第１のサブセットであり、
前記ブローカエージェントとして構成された前記遠隔端末から、前記複数のフィールド機器の少なくとも第２のサブセットに含まれる各フィールド機器のそれぞれの機器状態またはそれぞれの通信状態のうちの少なくとも一方を取得するステップと、
ｉ）前記機器階層の前記少なくとも第１の部分を再構築するステップ、または（ｉｉ）前記それぞれの機器状態または前記それぞれの通信状態のうちの少なくとも一方を使用して、前記機器階層の少なくとも第２の部分を構築するステップの少なくとも一方をさらに備える、請求項１５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、プロセスプラントシステムに関し、より詳細には、プロセス制御およびデータ取得システムにおけるサーバアクションを構成することに関する。
【背景技術】
【０００２】
本明細書に提供される背景技術の記載は、一般に本開示の背景を提示するためのものである。この背景技術の項に記載される範囲において、本発明者の作業ならびに出願時に従来技術として認められなかった本記載の態様は、本開示に対する従来技術として、明確にも暗示的にも認められていない。
【０００３】
化学、石油または他のプロセスプラントに使用されるような、分散プロセス制御システムは、典型的には、アナログ、デジタルまたはアナログ／デジタルバスの組み合わせ、あるいは無線通信リンクまたはネットワークを介して、１つまたは複数のフィールド機器に通信可能に結合される１つまたは複数のプロセスコントローラを含む。このフィールド機器は、例えば、バルブ、バルブポジショナ、スイッチおよびトランスミッタ（例えば、温度センサ、圧力センサ、レベルセンサおよび流量センサ）であってもよく、プロセス環境内に配置され、一般に、バルブの開閉、プロセスパラメータの測定、などの物理的またはプロセス制御機能を実行して、プロセスプラントまたはシステム内で実行する１つまたは複数のプロセスを制御する。周知のフィールドバスプロトコルに準拠するフィールド機器などのスマートフィールド機器はまた、制御計算、警報機能およびコントローラ内に共通して実装される他の制御機能を実行することができる。このプロセスコントローラはまた、典型的にはプラント環境内に配置されて、センサおよび／またはフィールド機器によってなされるプロセス測定を示す信号ならびに／あるいはフィールド機器に関する情報を受信し、受信した情報に基づいて、プロセス制御決定をする、制御信号を生成する、かつHART（登録商標）、Wireless HART（登録商標）およびFOUNDATION（登録商標）フィールドバスフィールド機器などのフィールド機器で実行されている制御モジュールまたはブロックと調和して動く、例えば、別の制御モジュールを動かすコントローラアプリケーションを実行する。このコントローラ内の制御モジュールは、制御信号を通信ラインまたはリンクを通じてフィールド機器に送信し、それによりプロセスプラントまたはシステムの少なくとも１部分の動作を制御する。
【０００４】
フィールド機器およびコントローラからの情報は、通常、データハイウェイを通じて１つまたは複数の他のハードウェア機器に対し入手可能にされる。ハードウェア機器の例としては、オペレータワークステーション、パーソナルコンピュータまたはコンピューティングデバイス、データヒストリアン、リポートジェネレータ、集中データベース、あるいは典型的には制御ルームまたはより厳しいプラント環境から離れた他の場所に配置される他の集中管理コンピューティングデバイスなどが挙げられる。こうしたハードウェア機器のそれぞれは、典型的には、プロセスプラントにわたって、またはプロセスプラントの一部にわたって集中化されている。こうしたハードウェア機器は、例えば、オペレータが、プロセスを制御する、かつ／またはプロセスプラントを作動させることに関する機能を実行することを可能にするアプリケーションを実行しする。制御する機能の例として、プロセス制御ルーチンの設定の変更、コントローラまたはフィールド機器内の制御モジュールの動作の修正、プロセスの現在の状態の監視、フィールド機器およびコントローラにより生成される警報の監視、人材教育またはプロセス制御ソフトウェアのテストを目的としたプロセスの動作のシミュレーション、構成データベースの維持および更新などが挙げられる。このハードウェア機器によって利用されるデータハイウェイ、コントローラおよびフィールド機器は、有線通信パス、無線通信パス、またはそれらの組み合わせを含むことができる。
【０００５】
分散プロセス制御システムは、１つまたは複数の遠隔端末（ＲＴＵ）を含むことができ、その遠隔端末は、フィールド機器に結合されたフローコンピュータを実装可能である。したがって、ＲＴＵは、「フローコンピュータ」または単に「コントローラ」と呼ばれることがある。ＲＴＵは、例えば、有線ハイウェイアドレス可能遠隔トランスデューサ（ＨＡＲＴ）フィールド機器に接続するためのＩ／Ｏモジュールおよび無線ＨＡＲＴフィールド機器に接続するためのＩ／Ｏモジュールを含むことができる。資産管理システム（ＡＭＳ）などの、監視制御およびデータ取得システムを実装するマシンホストは、１つまたは複数のＲＴＵと通信して、ＲＴＵに接続されたフィールド機器に関する情報を収集することができる。場合によっては、独立した専用ホストに実装可能なＨＡＲＴサーバは、ＨＡＲＴフィールド機器にインタフェースを提供する。このＡＭＳおよびＨＡＲＴのサーバは、リモートアクセスサービス（ＲＡＳ）方式にしたがって、動作することができる。例えば、ＡＭＳは、ＲＡＳホストシステムインタフェース（ＨＳＩ）を使用するＲＡＳのネットワークインタフェースと対話することができる。このＡＭＳは、複数のイーサネット（登録商標）ポートを介してＲＡＳ  ＨＡＲＴサーバに接続し、種々の種類のデータおよび／またはコマンドを渡すことができる。
【０００６】
このＡＭＳが、ＲＴＵからフィールド機器の情報を収集する目的の１つは、機器識別、親子関係の判定を含む、フィールド機器の完全な階層を構築することである。このＡＭＳは、ホストマシンのオペレータのため階層の視覚化および／またはテキスト記述を生成することができる。ＨＡＲＴプロトコル（「ＨＡＲＴ機器」）を使用して通信する機器に対して、ＡＭＳは、ＨＡＲＴサーバを介して機器階層を要求することができ、ＨＡＲＴサーバは一般に、ＨＡＲＴコマンドのシーケンスを機器それぞれに送信して、必要な情報を収集する。より具体的には、このシーケンスは、機器識別を取得するコマンド番号０、機器の所定のパラメータを指定し、記述する、いわゆる、ショートタグを取得するコマンド番号１３、機器によっては、機器の追加のパラメータを記述する、いわゆる、ロングタグを取得するコマンド番号２０を含むことができる。この情報を収集する段階は、必要な情報を収集するためにＨＡＲＴ機器当たり８〜１２秒かかる場合がある。大きいメッシュネットワークで動作する無線ＨＡＲＴ機器では、このステップにさらに長くかかる場合がある。 
【０００７】
結果として、ＲＴＵの全体の機器階層を構築することは、時間がかかる作業であり、持続時間は接続されたＨＡＲＴ機器の数に大きく依存する。
【発明の概要】
【０００８】
ホストマシンで動作する階層ビルダは、遠隔端末（ＲＴＵ）に結合されるフィールド機器の階層を構築するが、ＲＴＵは、フィールド機器に直接照会せずに、ホストマシンに結合されている。このＲＴＵは、フィールド機器の情報をローカルメモリに保存できるが、ホストマシンは、フィールド機器の識別のみを保存できる。このホストマシンのオペレータが、階層記述の更新を要求すると、ホストマシンは、フィールド機器の識別を含むＲＴＵへの機器情報の要求を送信する。これに応じて、このＲＴＵは、ローカルメモリからこの情報を取得し、取得した情報を階層ビルダへ提供する。このように、この階層ビルダは、機器階層を早く効率的に構築するために要求される情報を取得することができる。
【０００９】
フィールド機器は、ＨＡＲＴプロトコルに準拠し、ホストに保存された機器識別は、ＨＡＲＴコマンド番号０（またはその適切な部分）に対する応答に対応することができる。このＲＴＵは、コマンド番号１３および２０などの機器タグならびに現在の機器の状態を取得するためのＨＡＲＴコマンドに対する応答を保存することができる。このＲＴＵは、ＨＡＲＴの応答をキャッシュし、機器情報をホストに報告し、パススルーコマンドを処理するＨＡＲＴ階層報告モジュールを実装することができる。このホストマシンおよびＨＡＲＴ階層報告モジュールで動作する階層ビルダは、階層生成エンジンの構成要素として動作することができる。さらに、冗長を取り除くため、ホストは、ショート機器タグおよびロング機器タグを保存するのではなく、どのＨＡＲＴ機器に対しても、１つの機器タグのみを保存することができる。より具体的には、このＲＴＵは、入手可能な場合、有線ＨＡＲＴフィールド機器に対しては、ショート機器タグだけ、無線ＨＡＲＴフィールド機器に対しては、ロング機器タグだけを保存することができ（そうでなければ、このＲＴＵは、無線ＨＡＲＴフィールド機器に対して、ショート機器タグを保存できる）、ホストは、このＲＴＵのメモリ内で入手可能な同じタグを保存することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、本開示の技術を使用して、ＲＴＵが機器情報をキャッシュして、ホストマシンがフィールド機器階層を構築することを可能にする例示的なプロセスプラントまたはプロセス制御システムの一部のブロック図である。
【図２】図２は、図１のシステムで、動作可能な例示的なホストのブロック図である。
【図３】図３は、図１のシステムで、動作可能な例示的な階層生成エンジンのブロック図である。
【図４】図４は、図３の階層生成エンジンが構築可能な例示的な機器階層の概略図である。
【図５】図５は、本開示の技術による、機器階層を構築するためのホスト、ＲＴＵおよびいくつかのフィールド機器の間の情報の流れを図示する例示的なメッセージ通信図である。
【図６】図６は、図１のＲＴＵに実装可能なキャッシュを使用して機器情報を管理する例示的な方法の流れ図である。
【発明を実施するための形態】
【００１１】
概要
一般的に、本開示の階層生成エンジンは、ＲＴＵに結合されるフィールド機器の階層を早く効率的に生成する。例示的な階層生成エンジンは、ホストマシンで動作する階層ビルダおよびＲＴＵで動作するＨＡＲＴ階層報告モジュールを含むことができる。第１の例では、このＲＴＵは、フィールド機器にＨＡＲＴコマンドを送信して、それぞれの機器識別、機器タグを決定し、機器タグを取得する。このＲＴＵは、すばやくアクセス可能なキャッシュとして動作することができる、データベース内にこの情報を保存する。保存される情報は、機器タグを含むことができる。一例示的な実施例によれば、このＲＴＵは、ＨＡＲＴ機器ごとにタグだけを保存する。このＲＴＵはまた、取得した情報をホストマシンに転送することができる。
【００１２】
階層ビルダは、ホストマシンのメモリに機器識別情報（または単に「機器識別」）を保存することができる。より具体的な例として、この階層ビルダは、ハードディスクなどの永続メモリにＨＡＲＴコマンド番号０に対する応答を保存することができる。ホストマシンのオペレータが、階層情報を再構築または「リフレッシュ」したい場合、この階層ビルダは、ＲＴＵに機器情報要求を送信する。これに応じて、このＲＴＵは、ＨＡＲＴコマンドをフィールド機器に再送せずに、ＲＴＵのメモリから機器情報を取得する。そして、このＲＴＵは、機器情報をホストマシンに転送する。一例示的な実施形態では、このＲＴＵは、今ＲＴＵに接続されているＨＡＲＴ機器それぞれの機器状態および通信状態を転送する。
【００１３】
ホストマシンで動作する階層ビルダが、ＲＴＵの更新された階層を構築するために必要な情報を取得すると、階層ビルダは、その階層の文字または視覚表現を生成する。このように、このホストマシンは、直接フィールド機器に照会せずに、このインスタンスの階層を再構築する。複数のＲＴＵが、ホストマシンにアクセス可能なとき、オペレータは、特定のＲＴＵ、いくつかのＲＴＵまたはアクセス可能なＲＴＵの階層を再構築するよう要求することができる。したがって、この階層ビルダは、ＲＴＵでキャッシュされた情報を使用して、完全な階層または階層の所望の部分のみを構築することができる。さらに、この階層ビルダは、階層の特定の部分を再構築し、以前構築された階層の１つまたは複数の部分を変更せずに使用することができる。
【００１４】
明確にするために記すと、機器階層を構築するための技術は、ＨＡＲＴ機器を参照して以下で主に論じられる。しかし、類似の技術が、他の種類のフィールド機器および産業自動化プロトコル（例えば、フィールドバス、Ｐｒｏｆｉｂｕｓ）、特に機器情報を取得するためにメッセージを交換することが必要なプロトコルにも、適用可能であることが理解されよう。さらに、こうした技術は一般に、中間ブローカ機器または「エージェント」、特に多くの機器を含む巨大システムを使用して、ホストが遠隔機器からデータを取得するシステムで使用可能である。言い換えると、ＲＴＵは、中間ブローカ機器の一例に過ぎず、このホストマシンは、本開示の技術とともに使用可能な中央装置の一例に過ぎない。同様に、ＨＡＲＴフィールド機器は、本開示の技術が適用される遠隔装置のほんの一例である。
例示的なシステムおよび機器
【００１５】
図１は、ＲＴＵ１２が、フィールド機器２０に関する情報を取得、保存およびホスト１４に報告するために動作する例示的なシステム１０のブロック図である。このフィールド機器２０は、  有線ＨＡＲＴ機器２０Ａ〜２０Ｅおよび／または無線ＨＡＲＴ機器２２Ａ〜２２Ｄを含むことができる。この有線フィールド機器２０Ａ〜２０Ｅは、有線リンク２４Ａ〜２４Ｃを介して通信可能である。この無線ＨＡＲＴ機器２２Ａ〜２２Ｄは、対の機器の間で複数の通信リンクを介して無線メッシュネットワーク２６内で動作する。このフィールド機器２０は、バルブ、バルブポジショナ、スイッチ、センサ（例えば、温度センサ、圧力センサ、振動センサ、流量センサまたはｐＨセンサ）、ポンプ、ファンなどの任意の種類の機器であってよい。このフィールド機器２０は、例えば、バルブの開閉、プロセスパラメータの測定などのプロセスまたはプロセス制御ループ内で、制御、監視および／または物理的機能を実行する。フィールド機器２０に加えて、ＲＴＵ１２は、例えば、他のネットワークに対するアダプタまたはゲートウェイなどの他の遠隔装置に結合可能である、 
【００１６】
このＲＴＵ１２は、任意の好適な汎用または埋め込み処理装置を含むことができるプロセッサ３０、プロセッサ３０により可読の任意の好適な永続および／または非永続記憶コンポーネントを含むことができるメモリ３２、有線ＨＡＲＴカード３４および無線カードＨＡＲＴカード３６を含むことができる。それぞれのカード３４および３６は、ＨＡＲＴ通信プロトコルに準拠するメッセージを送信および受信する様に構成される。このＲＴＵ１２は、カード３４を介して有線フィールド機器２０Ａ〜２０Ｅに、カード３６を介して無線フィールド機器２２Ａ〜２２Ｄに、そして、少なくとも一部の実施形態では、無線アクセスポイント４０にアクセス可能である。 
【００１７】
簡略化のために、図１では、１台のホストマシン、１つのＲＴＵ、および１枚の有線カードおよび１枚の無線カードを介してＲＴＵに結合されるフィールド機器のみを図示している。しかし、一般には、このシステム１０は、追加の装置、通信リンクおよび通信ネットワークを含むことができる。例えば、実施形態によっては、このシステム１０は、アクセスポイント、他のプロセスプラントへのゲートウェイ（例えば、イントラネットまたは企業広域ネットワークを介して）、外部システムへのゲートウェイ（例えば、インターネットへ）、ヒューマンインタフェース（ＨＭＩ）装置、サーバ、データシステム（例えば、プロセスデータベース、ヒストリアンを含む）、コントローラ、コントローラ内で作動する入出力（Ｉ／Ｏ）カード、ルータ、追加の有線通信ネットワーク、追加の無線通信ネットワークなどを含むことができる。
【００１８】
このメモリ３２は、ＨＡＲＴ階層報告モジュール５０を実装するプロセッサ３０で実行可能なソフトウェアおよび／またはファームウェア命令を保存することができる。動作中、このモジュール５０は、ＨＡＲＴコマンドをフォーマットし、フィールド機器２０へ送信し、ＨＡＲＴコマンドへの応答をフィールド機器２０から受信して、パススルーコマンドをホスト１４とフィールド機器２０との間で送信する。このモジュール５０が、送受信することができる例示的なＨＡＲＴコマンドは、図４を参照してより詳細を論じられる。また、ＨＡＲＴ機器およびＨＡＲＴコマンドは、本開示の技術を使用可能な通信プロセス制御情報の標準のほんの一例に過ぎないことに留意されたい。
【００１９】
このモジュール５０は、メモリ３２の任意の好適な部分であってよいＨＡＲＴ階層キャッシュ５２の有線および／または無線フィールド機器２０の情報を保存することができる。このキャッシュ５２は、リレーショナルデータベースの１つまたは幾つかのテーブルとして、または任意の他の好適なデータ構造を使用して、実装可能である。一例示的な実施形態では、このキャッシュ５２は、各フィールド機器２０に対して、機器識別、機器タイプおよび機器タグを含むそれぞれの記録６０を保存する。機器識別は、コマンド番号０に対する応答とすることができる。既知の通り、ＨＡＲＴ機器は、８文字の「ショートタグ」を報告し、ＨＡＲＴ機器によっては（ｒｅｖ７）、３２文字の「ロングタグ」を報告することができる。さらに、このキャッシュ５２は、ＲＴＵ１２が「見える」通りにフィールド機器の現状態を保存することができる。この状態は、たとえば、「動作中」または「オフライン」であってもよい。幾つかの実施形態においては、このモジュール５０は、幾つかのフィールド機器２０で両方のタグが入手可能な場合であっても、フィールド機器２０のそれぞれの１つのタグをキャッシュ５２に保存し、ホスト１４に報告する。
【００２０】
ホスト１４からのコマンドに応じて機器情報を収集することに加えて、このモジュール５０またはＲＴＵ１２内で動作する他のコンポーネントは、機器２０からの現在の情報でキャッシュ５２を最新の状態に維持することができる。一般に、このＲＴＵ１２は、フィールド機器２０が開始した状態更新を受信し、または更新情報を求めてフィールド機器２０を定期的にポーリングすることなどができる。
【００２１】
一実施形態では、このホスト１４は、図２に示すように実装される。ホスト１００は、メモリ１０４に結合される１つまたは複数のプロセッサ１０２を含む。この１つまたは複数のプロセッサ１０２は、例えば、汎用中央演算処理装置（ＣＰＵｓ）であってよい。このメモリ１０４は、１つまたは複数のプロセッサ１０２によって可読な任意の好適な記録媒体であってよく、永続および／または非永続コンポーネントを含んでもよい。このホスト１００はまた、１つまたは複数のディスプレイ、タッチスクリーン、キーボード、スピーカ、マイクロフォンなどの任意の好適な組み合わせを含むユーザインタフェース１０６を含むことができる。設計エンジニア、計装エンジニア、技術者などのオペレータは、ユーザインタフェース１０６を操作して、コマンドを指定し、ホスト１００から出力を受信する。さらに、このホスト１００は、１つまたは複数のネットワークインタフェース１０８を含んで、それを介して、ＲＴＵを含む遠隔機器にアクセスできる。１つまたは複数のネットワークインタフェース１０８は、好適な有線および無線通信をサポートすることができる。
【００２２】
メモリ１０４は、１つまたは複数のプロセッサ１０２で実行可能な命令ならびにこれらの命令が動作するデータを保存することができる。具体的には、このメモリ１０４は、プロセスプラントで動作するフィールド機器に関する情報、より具体的には、フィールド機器が動作するプロセス制御プラントに関する情報をオペレータに提供する、資産管理システム（ＡＭＳ）１１０の命令を保存することができる。実施形態によっては、このＡＭＳ１１０は、プロセス制御プラントを操作する様々な態様を監視し制御する分散ソフトウェアシステムの唯一のコンポーネントとして動作することができる。このメモリ１０４はさらに、ＨＡＲＴ通信プロトコルに準拠するコマンドを生成し受信するよう構成されるＨＡＲＴ通信コントローラ１１２を保存することができる。さらに、このメモリ１０４は、ＨＡＲＴ機器識別データ１１６を保存することができ、それは、ＲＴＵが報告する機器識別のテーブルとして実装可能である。
【００２３】
実施形態によっては、この機器識別データ１１６は、ＨＡＲＴコマンド番号０に対する応答を含む。例えば、一実施形態では、このホスト１００が、ＨＡＲＴコマンド番号０に対する完全な応答を機器識別として保存する。この機器識別は、拡張された機器タイプコード、改訂レベルおよび機器識別番号を含むことができる。他の実施形態においては、このホスト１００は、機器識別として機器識別番号だけを保存する。より一般的には、こうした実施形態では、機器識別データ１１６は、ＨＡＲＴコマンド番号０に対する応答の全体または任意の好適な部分を含むことができる。実施形態によっては、この機器識別データ１１６は、対応するＨＡＲＴ機器の寿命の期間変化しない統計的永続データである。
【００２４】
ＡＭＳ１１０は、階層ビルダ１２０を含むことができる。動作中、この階層ビルダ１２０は、ＲＴＵなどの遠隔機器から機器識別を受信し、この機器識別をＨＡＲＴ機器識別データ１１６の一部としてメモリ１０４に保存し、この保存された機器識別を使用して、更新されたＨＡＲＴ機器情報を効率的に要求し、遠隔機器から受信する。この階層ビルダ１２０は、ＨＡＲＴ機器間での親子関係の記載を含む所定のＲＴＵに結合されたＨＡＲＴ機器に関する情報を受信すると、その機器階層の文字および／または視覚表現を生成することができる。
【００２５】
さらに明確にするために記すと、図３は、上記で論じたフィールド機器階層を生成するコンポーネントの一部またはすべてを含むことができる例示的な階層生成エンジン１５０を示している。この実施形態の階層生成エンジン１５０は、階層ビルダ１５２、ＨＡＲＴ階層報告モジュール１５４、ＨＡＲＴ機器識別情報１５６およびＨＡＲＴ階層キャッシュ１５８を含む。一部の実施形態によれば、この階層ビルダ１５２は、ホストマシンで動作し、このＨＡＲＴ階層報告モジュール１５４は、ＲＴＵまたはフィールド機器に通信可能に結合される他の好適な機器で動作する。しかし、より一般的には、このモジュール１５２および１５４は、任意の好適な方法で２つ以上の機械の間に分散可能である。このモジュール１５２および１５４それぞれは、ソフトウェア、ファームウェア、ハードウェアまたはそれらの任意の好適な組み合わせを使用して、実装可能である。このモジュール１５２および１５４は、データ１５６および１５８をそれぞれ利用することができ、それぞれのデータが、１つまたは複数のメモリモジュールに保存可能で、任意の好適なデータ構造を使用して整理可能である。
例示的な機器階層
【００２６】
次に、図４は、階層ビルダ１２０または１５２が構築可能な、例示的な階層２００の概略図を示している。上述のように、この階層ビルダ１２０または１５２はまた、階層２００の任意の好適な視覚化または文字記述を生成することができる。例えば、この階層ビルダ１２０または１５２は、階層の各ノードに図を含んで、機器または通信チャネルの対応するタイプを示すことができる。図４では、タイプ２０２の標識は、すでに拡張されたブランチに対応し、タイプ２０４の標識は、さらにノードおよび／またはサブブランチを示すために拡張可能なブランチに対応する。
【００２７】
一般的に、機器階層は、ＲＴＵネットワーク内のＨＡＲＴ機器の組織を記述する。典型的な機器階層は、ネットワークトポロジおよび以下の情報を記述する。（ｉ）ＲＴＵネームおよびタイプ、（ｉｉ）ＨＡＲＴカード／モジュール、および（ｉｉｉ）有線チャネル。無線ＨＡＲＴでは、階層で、チャネルが指定されていない可能性があり、すべての無線ＨＡＲＴ機器が、同じチャネル上にあると見なす場合がある。所定のチャネル上のＨＡＲＴ機器では、情報は、機器タグ、機器ホストパスおよびＨＡＲＴコマンド番号０への応答を含む。しかし、実施形態によっては、ＨＡＲＴコマンド番号０への応答の一部は省略可能である。
【００２８】
この階層２００は、ＨＡＲＴ機器をモジュールノード（例えば、ノード２１０）およびチャネルモード（例えば、ノード２２０）の下に示している。ノードのコンポーネントは、機器タグおよび機器識別情報を含んでいる。より詳細を以下で論じるように、ＨＡＲＴ機器は、ショートタグ、および、場合によっては、ロングタグを含むことができる。この機器識別情報は、ＨＡＲＴコマンド番号０に対する応答とすることができる。無線ＨＡＲＴ機器の場合、階層２００は、最上位にＨＡＲＴサーバノード（例えば、２３０）および低いレベルに無線ＨＡＲＴアダプタノード（例えばノード２５０および２５２）と共に無線ＨＡＲＴ機器ノード（例えば、ノード２４０および２４２）を含んでいる。無線ＨＡＲＴアダプタに結合される有線機器は、サブ機器ノード（例えば、ノード２６０および２６２）として、階層２００中に表すことができる。一般に、この階層２００は、単一のＲＴＵまたは複数のＲＴＵに対応することができ、測定値を生成する、またはプロセスプラントならびにサーバ、アダプタ、ルータ、通信チャネルなどで物理的機能を実行するセンサ、アクチュエータ、ポジショナ、他の機器を表す任意の数のノードを含むことができる。
機器階層の生成
【００２９】
ここで、図５を参照すると、メッセージ通信図２５０は、ホスト２５２、ＲＴＵ２５４、および、まとめて「フィールド機器２５６」と呼ばれる、いくつかのフィールド機器２５６Ａ、２５６Ｂ〜２５６Ｎとの間の情報の例示的な流れを示している。図１および２を参照して上記で説明した、このホスト２５２は、ホスト１４および／またはホスト１００と類似でもよく、このＲＴＵ２５４は、ＲＴＵ１２と類似でもよく、フィールド機器２５６は、フィールド機器２０と類似でもよい。図５では、矢印は、有線または無線通信チャネルを介して、表示の方向の情報の流れを表している。各矢印は、１つのコマンドまたはメッセージまたは、場合によっては、一連のコマンドまたはメッセージに対応することができる。
【００３０】
キャッシュ母集団ステージ２６０の間、ホスト２５２またはＲＴＵ２５４は、一連のコマンドを生成して、フィールド機器２５６から情報を収集する。続く再構築ステージ２６２の間、このホスト２５２は、ＲＴＵ２５４に類似の情報を照会し、このＲＴＵ２５４は、フィールド機器２５６に照会せずに、ＲＴＵ２５６のローカルのメモリから情報を取得する。図示の実施形態では、ホスト２５２は、パススルーＨＡＲＴコマンドをＲＴＵに送信するが、他の実施形態においては、このホスト２５２は、他の非ＨＡＲＴ通信プロトコルに準拠するメッセージをＲＴＵ２５４に送信し、それに応じて、ＲＴＵ２５４は、ＨＡＲＴコマンドをフォーマットして、フィールド機器２５６に送信することができる。ＨＡＲＴは、フィールド機器、コントローラ、ホストマシンなどとの間でプロセス制御情報を交換するための通信プロトコルのほんの一例であり、他の実施形態においては、機器２５２、２５４および２５６は他の好適なプロトコルを使用してもよいことに再度留意されたい。
【００３１】
図５に示すように、ホスト２５２は、ステージ２６０で、１つまたは複数のＨＡＲＴコマンド２７０をフィールド機器２５６ＡのＲＴＵ２５４へ送信することができる。このＨＡＲＴコマンド２７０は、個々のフィールド機器に対して特定であることができ、または、１つのＨＡＲＴコマンドが、複数のフィールド機器のためのデータを要求するために送信可能である。ホスト２５２は、コマンド２７０を生成する前に、ＲＴＵ２５４が追加されたことを検知し、ＲＴＵ２５４に要求を送信して、ＲＴＵ２５４が装備する有線および無線ＨＡＲＴカードを識別するよう求める場合がある。ＲＴＵ２５４は、ホスト２５２がコマンド２７０を生成するのに必要な情報を提供しても良い。
【００３２】
このコマンド２７０は、１つが入手可能なとき、（ｉ）フィールド機器がその固有の識別を報告することを要求する、コマンド番号０、（ｉｉ）フィールド機器からショートタグを読み出すコマンド番号１３、および（ｉｉｉ）フィールド機器からロングタグを読み出すコマンド番号２０を含むことができる。ＲＴＵ２５４は、コマンド２７０をコマンド２７２Ａとしてフィールド機器２５６Ａへ渡し（転送し）、応答２７２Ｂを受信する。
【００３３】
ＲＴＵ２５４は、この受信した応答をキャッシュに（イベント２７４）保存することができる。具体的には、ＲＴＵ２５４は、機器識別、機器タイプおよびデータベースの機器タグデータを保存することができ、ローカルでアクセス可能なメモリ内の任意の好適なデータ構造を使用して、それらを実装可能である。ＲＴＵ２５４が、図１に示すＲＴＵ１２と同様に実装される場合、ＨＡＲＴ階層報告モジュール５０は、この情報をＨＡＲＴ階層キャッシュ５２に保存することができる。そして、ＲＴＵ２５４は、要求された情報をメッセージ２７６としてホスト２５２へ転送することができる。ホスト２５２は、機器識別をローカルメモリに保存することができる（イベント２７８）。この機器識別は、ＨＡＲＴコマンド番号０に対する完全な応答またはその応答の所定の部分を含むことができる。
【００３４】
ホスト２５２およびＲＴＵ２５４は、図５に概略を示すように、フィールド機器２５６Ｂ〜２５６Ｎの同様のメッセージを交換することができる。すなわち、ステージ２６０の間、ＲＴＵ２５４は、フィールド機器２５６Ａ、２５６Ｂ〜２５６ＮからのＨＡＲＴコマンドに対する応答を収集およびキャッシュして、ホスト２５２は、機器の識別をキャッシュしている。しかし、場合によって、ＲＴＵ２５４はまた、定期的なＲＴＵ２５４からの要求に応答して、またはそうでなければ、ホスト２５２からの要求以外のイベントに応答して、フィールド機器２５６Ａ、２５６Ｂ〜２５６Ｎのデータを収集する。これらのケースでは、ＲＴＵ２５４は、フィールド機器２５６Ａ、２５６Ｂ〜２５６Ｎのデータをホスト２５２へ転送せずに、そのデータをキャッシュすることができる。さらに、実施形態によっては、このＲＴＵ２５４は、ＨＡＲＴコマンド２７０またはコマンドタイプに基づいてＲＴＵ２５４で発したコマンドに対する応答を選択的にキャッシュすることができる。例えば、一実施形態のＲＴＵは、対応するフィールド機器とより遅いデータを交換せず、キャッシュされたデータを使用してホスト２５２の次のコマンド番号０に対して応答するように、コマンド番号０に対する応答をキャッシュする。さらに、実施形態によっては、ＲＴＵ２５４は、ホスト２５２のＨＡＲＴコマンド２７０のすべてをパススルーメッセージとして扱うことができ、これらのパススルーメッセージに対する応答をキャッシュしない、またはそうでなければ、別の方法で処理することができる。こうした実施形態では、ＲＴＵ２５４は、フィールド機器２５６Ａ、２５６Ｂ〜２５６ＮがＲＴＵ２５４で発せられたコマンドに応じて提供するデータだけをキャッシュする。
【００３５】
イベント２７４および２７８に続く時点で、ホスト２５２は、ＲＴＵ２５４が結合される（メッセージ２８０）ＨＡＲＴ機器に関して、ＲＴＵ２５４に照会することができる。複数のＨＡＲＴコマンドを、フィールド機器２２５６Ａ、２５６Ｂ〜２５６Ｎそれぞれに送信するのではなく、ＲＴＵ２５４は、ローカルメモリの機器情報をルックアップして（イベント２８２）、ホスト２５２の照会に応答することができる（メッセージ２８４）。より具体的には、ホスト２５２は、機器識別をＲＴＵ２５４へ送信し、ＲＴＵ２５４は、それを使用して、機器情報をルックアップすることができる。ＲＴＵ２５４が、指定された機器の情報を見つけられない場合、このＲＴＵ２５４は、対応する有線または無線ＨＡＲＴカードを介して、コマンド番号０を送信することができる（しかし、実施形態によっては、ホスト２５２は、ホスト２５２のローカルのキャッシュだけに依存して、機器階層を再構築する）。また、場合によっては、このＲＴＵ２５４は、フィールド機器２５６Ａ、２５６Ｂ〜２５６Ｎから受信した応答に対するタイムスタンプを保存することができ、ホスト２５２からの要求に応じて、キャッシュされたデータが古くない、すなわち、要求の時間に対してある特定の時間間隔の範囲内にある場合のみ、ホスト２５２にキャッシュされたデータを提供することができる。あるいは、このＲＴＵ２５４は、このタイムスタンプをメッセージ（複数可）２８４の一部としてホスト２５２に報告することができる、あるいは、このタイムスタンプを使用して、ＨＡＲＴコマンドをフィールド機器に送信して、新しい応答を取得して、その新しい応答でホスト２５２に応じるか、または、キャッシュされたデータを使用してすぐにホスト２５２に応答するかどうかを動的に決定することができる。
【００３６】
図６は、上述のＲＴＵ１２または２５４などのＲＴＵで実装可能な、機器情報をキャッシュするための例示的な方法３００の流れ図である。この方法は、ソフトウェア、ファームウェア、ハードウェアまたはそれらの任意の好適な組み合わせで実装可能である。
【００３７】
方法３０２は、ブロック３００で開始して、そこで、ＨＡＲＴコマンドへの応答が、受信され、キャッシュされる。上述のように、所定のフィールド機器に対して、ＲＴＵは、その機器の機器タグおよび現在の状態を保存することができる。ＲＴＵはまた、ホストに提供する（ブロック３０４、実施形態によっては、フィールド機器の寿命の間に一度は実行される可能性がある）ものと同じ機器識別を保存するまたは同じ機器識別でテーブルをインデックス化することができる。このように、ホストは、ＲＴＵが情報をキャッシュするフィールド機器を明白に参照することができる。
【００３８】
次に、ブロック３０６で、ＲＴＵに結合された所定のフィールド機器に関する情報の要求が受信される。その要求は、機器識別を含む可能性がある。ブロック３０８で、このフィールド機器に関する情報は、機器識別を使用してローカルキャッシュに配置され、ブロック３１０でホストに提供される。上述のように、フィールドの情報がローカルメモリで見つけられない場合、１つまたは複数のＨＡＲＴコマンドが送信されて、フィールド機器に照会することができる。例えば、ＨＡＲＴコマンド番号０が、送信可能である。
その他の選択肢
【００３９】
上記論述を全体的に参照すると、代替案の一部は、初期階層ビルドからのＨＡＲＴコマンド番号０の応答を排除することを含むことができる。言い換えると、ＲＴＵは、コマンド番号０に対する応答を転送することを省略して、ホストでの階層の構築プロセスを早め、この情報を、バックグラウンドタスクの一部としてまたは後の時間に提供することができる。
【００４０】
さらに、一実施形態によれば、ホストは、履歴データに基づいた初期の階層を表示する。そして、ホストは、更新されたＨＡＲＴ機器情報を収集するために１つまたは複数のＲＴＵを介して、バックグラウンドタスクを起動する。このように、ホストは、ＲＴＵおよび／またはホストにキャッシュされた機器情報を使用して階層を素早く表示して、新しいネットワーク構成にしたがって、情報を更新する。
【００４１】
さらに、一実施形態では、ＲＴＵは、ＲＴＵに結合されるすべてのＨＡＲＴ機器に対するＨＡＲＴコマンド番号０の応答をキャッシュすることができる。ＲＴＵは、パススルーＨＡＲＴメッセージをホストから受信すると、ＨＡＲＴフィールド機器にパススルーメッセージを送信せずに、キャッシュされたデータを使用して、パススルーＨＡＲＴコマンドに応答することができる。この実施形態では、ホストは、ＲＴＵがキャッシュされたデータを使用して応答するか、実際はパススルーＨＡＲＴコマンドを再送信しているかを意識する必要がないことに留意されたい。言い換えると、ホストは、ＲＴＵでのキャッシング技術を特にサポートするよう構成される必要はない。
総論
【００４２】
上述から、本開示の技術は、ホスト装置がフィールド機器で入手できる外部データに依存することを低減し、すでに入手可能なローカル情報を効率的に使用することが理解されよう。上述の特定の実施例では、ＲＴＵは、フィールド機器の最新情報を維持し、ある状況では、ホストおよびフィールド機器が、パススルー機器としてＲＴＵを使用し、ＨＡＲＴコマンド／メッセージを交換することを不要にする。
【００４３】
さらに、遠隔装置から静的情報を取得することに、比較的時間がかかり、将来情報が要求される可能性が高い状況では、本開示の技術により、遠隔装置から再度同じ情報を要求するのではなく、機器がローカルにアクセス可能なメモリに静的情報を保存することが可能になる。より具体的には、上述の例示的な実施形態および例では、ユーザが、機器階層を再構築するまたは同じＨＡＲＴ機器をまだ有しているＲＴＵに再接続するとき、そのＲＴＵは、ローカルでアクセス可能なメモリからＨＡＲＴコマンド番号０に対する応答を素早く取得し、ホストに該応答を提供することができる。
【００４４】
さらに、本開示の技術は、データの冗長を低減する。上述の通り、ＲＴＵは、すべてのＨＡＲＴ機器に対する１つのタグを保存することができ、ホストは、ホストで階層を生成するのに十分な、同じ１つのタグを保存することができる。
【００４５】
特に明記されていない限り、「処理する」、「計算する」、「算出する」、「決定する」、「特定する」、「提示する」、「表示する」などの用語を使用する本明細書の論述は、１つまたは複数のメモリ（例えば、揮発性メモリ、不揮発性メモリまたはそれらの組み合わせ）、レジスタ、または情報を取得、保存、送信または表示する他の機械のコンポーネント内の物理（例えば、電子的、磁気的または光学的）量として表されるデータを操作または変換する機械（例えば、コンピュータ）の行為または処理を指すことができる。
【００４６】
本明細書に記載するアプリケーション、サービス、エンジン、ルーチンおよびモジュールのいずれかは、ソフトウェアで実装される場合、任意の有形非一過性コンピュータ可読メモリに保存可能であり、例として、磁気ディスク、レーザディスク、ソリッドステートメモリ装置、分子メモリ記憶装置、光ディスクまたは他の記憶媒体、コンピュータのＲＡＭまたはＲＯＭ，あるいはプロセッサなどが挙げられる。本明細書に開示する例示的なシステムは、他のコンポーネントから、ハードウェア上で実行されるソフトウェアおよび／またはファームウェアを含むものとして開示されるが、こうしたシステムは、単に例示であり、限定的であると見なされるべきではないことに留意されたい。例えば、これらのハードウェア、ソフトウェアおよびファームウェアコンポーネントのいずれかまたはすべては、ハードウェアにおいてのみ、ソフトウェアにおいてのみ、またはハードウェアとソフトウェアの任意の組み合わせにおいて具現化可能と考えられる。したがって、同業者ならば、提供された例が、こうしたシステムを実装する唯一の方法でないことをすぐに理解するであろう。
【００４７】
このように、本発明は、特定の実施例を参照して説明してきたが、それらは、例示のみを目的としており、本発明を限定するものではなく、本発明の趣旨および範囲を逸脱しない範囲で、本開示の実施形態に変更、追加または削除を実施可能であることは、同業者には明らかであろう。
【図１】
0006651510.tif 000002
【図２】
0006651510.tif 000003
【図３】
0006651510.tif 000004
【図４】
0006651510.tif 000005
【図５】
0006651510.tif 000006
【図６】
0006651510.tif 000007