(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-19
(45)【発行日】2024-08-27
(54)【発明の名称】工業プラントにおいてフィールドデバイスをシミュレートするためのシステムおよび方法
(51)【国際特許分類】
G05B 19/042 20060101AFI20240820BHJP
【FI】
G05B19/042
【外国語出願】
(21)【出願番号】P 2020094165
(22)【出願日】2020-05-29
【審査請求日】2023-05-01
(32)【優先日】2019-09-03
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】000006507
【氏名又は名称】横河電機株式会社
(74)【代理人】
【識別番号】100106909
【氏名又は名称】棚井 澄雄
(74)【代理人】
【氏名又は名称】佐伯 義文
(74)【代理人】
【識別番号】100167553
【氏名又は名称】高橋 久典
(74)【代理人】
【識別番号】100181124
【氏名又は名称】沖田 壮男
(72)【発明者】
【氏名】ジン・シャン・シュ
(72)【発明者】
【氏名】キム・ファット・ウン
(72)【発明者】
【氏名】ウェイ・ホン・ウェン
【審査官】渡邊 捷太郎
(56)【参考文献】
【文献】特開2019-079508(JP,A)
【文献】特開2008-021135(JP,A)
【文献】特開2011-238094(JP,A)
【文献】国際公開第2015/079503(WO,A1)
【文献】特開2012-238252(JP,A)
【文献】特表2013-535742(JP,A)
【文献】米国特許出願公開第2017/0176982(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/042
(57)【特許請求の範囲】
【請求項1】
デバイスエンジニアリング方法であって、
デバイス管理システムにおけるデータベース内の、プラントネットワーク階層(PNH)のデータおよび1つまたは複数の登録済みデバイス(RD)のデータを、シミュレーションサーバ(SS)に同期させるステップと、
シミュレーションモードにおいて、前記デバイス管理システムが、実際のプラント用の1つまたは複数の物理フィールドデバイスを制御するように構成されたいかなる物理制御局にも通信可能に結合されていない間、1つまたは複数のシミュレートされたデバイス(SD)との通信を介して前記デバイス管理システムの少なくとも1つの機能を実行するステップと、
シミュレーション通信応答コードおよびデバイスステータスについて、前記1つまたは複数のシミュレートされたデバイス(SD)内に仮想パラメータを導入するステップと、
デバイス構成のために、前記デバイス管理システムにおけるフィールドデバイス通信サーバ(FDCS)内の前記1つまたは複数の登録済みデバイス(RD)に対する、前記シミュレーションサーバ(SS)内の前記プラントネットワーク階層(PNH)において1つまたは複数のデバイス記述ファイル(DDファイル)から生成された前記1つまたは複数のシミュレートされたデバイス(SD)を用いて、i)設定可能なデバイスパラメータ、ii)設定可能でないデバイスパラメータ、およびiii)
前記デバイスステータスをシミュレートするステップと、
前記フィールドデバイス通信サーバ(FDCS)内の通信要求処理構成要素(CRH)から前記シミュレーションサーバ(SS)内の前記プラントネットワーク階層(PNH)中の前記1つまたは複数のシミュレートされたデバイス(SD)への並列通信を同時に実行するステップであって、前記並列通信が、前記通信要求処理構成要素(CRH)から、前記シミュレーションサーバ(SS)内の前記プラントネットワーク階層(PNH)中の前記1つまたは複数のシミュレートされたデバイス(SD)へ、通信要求を送ることを含む、ステップと、
を含
み、
前記デバイスステータスをシミュレートするステップは、
前記1つまたは複数のシミュレートされたデバイス(SD)のうちの1つのシミュレートされたデバイスによって、前記デバイスステータスにアクセスするために、前記1つのシミュレートされたデバイスとの通信をシミュレートするための前記仮想パラメータを用いて、通信応答データで、前記通信要求処理構成要素(CRH)からの通信要求に対して応答するステップを含む、デバイスエンジニアリング方法。
【請求項2】
前記
1つまたは複数のシミュレートされたデバイス(SD)が前記シミュレーションサーバ(SS)内でインスタンス化されているか否かを判定するステップ
をさらに含む、請求項1に記載のデバイスエンジニアリング方法。
【請求項3】
前記
1つまたは複数のシミュレートされたデバイス(SD)が前記シミュレーションサーバ(SS)内でインスタンス化されていないと判定される場合、前記
1つまたは複数のシミュレートされたデバイス(SD)を前記シミュレーションサーバ(SS)内でインスタンス化するステップ
をさらに含む、請求項2に記載のデバイスエンジニアリング方法。
【請求項4】
前記
1つまたは複数のシミュレートされたデバイス
(SD)へ
前記通信要求を送るステップ
をさらに含む、請求項1に記載のデバイスエンジニアリング方法。
【請求項5】
前記
1つまたは複数のシミュレートされたデバイス
(SD)によって前記通信要求を分析するステップ
をさらに含む、請求項1に記載のデバイスエンジニアリング方法。
【請求項6】
分析結果に基づく通信応答を前記
1つまたは複数のシミュレートされたデバイス
(SD)から前記デバイス管理システムへ送るステップ
をさらに含む、請求項5に記載のデバイスエンジニアリング方法。
【請求項7】
前記シミュレーションサーバ(SS)内の
前記プラントネットワーク階層
(PNH)中の1つまたは複数のセグメントを選択するステップ
をさらに含む、請求項1に記載のデバイスエンジニアリング方法。
【請求項8】
1つまたは複数のデバイス情報サービスライブラリを有するデバイス記述サービスを用いて、前記1つまたは複数のデバイス記述ファイル(DDファイル)を選択するステップ
をさらに含む、請求項7に記載のデバイスエンジニアリング方法。
【請求項9】
前記設定可能でないデバイスパラメータが、読取り専用デバイスパラメータであり、変更不可能である、請求項1に記載のデバイスエンジニアリング方法。
【請求項10】
前記
1つまたは複数のシミュレートされたデバイス
(SD)のそれぞれが、
前記1つまたは複数の物理フィールドデバイスの製造業者を識別する製造業者情報、
前記1つまたは複数の物理フィールドデバイスのタイプを識別するデバイスタイプ情報、ならびに
前記1つまたは複数のデバイス記述ファイル(DDファイル)から取り出された1つまたは複数のパラメータ特性、
各シミュレートされたデバイスの構成値、および
各シミュレートされたデバイスのパラメータ値を記憶する、デバイスデータベース
を備える、請求項1に記載のデバイスエンジニアリング方法。
【請求項11】
前記デバイスデータベースが、すべての機能ブロックおよびパラメータの情報をさらに記憶する、請求項10に記載のデバイスエンジニアリング方法。
【請求項12】
前記デバイスデータベースが、通信要求または通信応答に関与するパラメータに対して、コマンドトランザクションのためのパラメータタイプ、パラメータサイズ、パラメータのオフセットをさらに記憶する、請求項11に記載のデバイスエンジニアリング方法。
【請求項13】
前記
1つまたは複数のシミュレートされたデバイス
(SD)が、
機能ブロックおよび個々のパラメータにアクセスするロジック
をさらに備える、請求項10に記載のデバイスエンジニアリング方法。
【請求項14】
前記
1つまたは複数のシミュレートされたデバイス
(SD)が、
HART通信要求を解釈し、パラメータ値およびHART通信応答データにアクセスするロジック
をさらに備える、請求項10に記載のデバイスエンジニアリング方法。
【請求項15】
前記デバイス管理システムにおいて前記プラントネットワーク階層(PNH)を作成するステップと、
前記デバイス管理システムにおいて登録済みデバイスを作成するために、前記デバイス管理システムにおける前記データベース内にデバイスを登録するステップと、
前記プラントネットワーク階層(PNH)の前記データおよび前記1つまたは複数の登録済みデバイス(RD)の前記データをシミュレーションサーバ(SS)に同期させる前に、前記デバイス管理システムにおける前記データベース内に前記1つまたは複数の登録済みデバイス(RD)を作成するために、前記デバイス管理システムによって前記登録済みデバイスを設定するステップと
をさらに含む、請求項1に記載のデバイスエンジニアリング方法。
【請求項16】
前記デバイス構成に対して、i)前記設定可能なデバイスパラメータ、ii)前記設定可能でないデバイスパラメータ、およびiii)前記デバイスステータスをシミュレートする前に、前記通信要求を制御バスドライバから前記シミュレーションサーバ(SS)に切り替えるステップ
をさらに含む、請求項15に記載のデバイスエンジニアリング方法。
【請求項17】
前記シミュレーションサーバ(SS)内のシミュレーションデータベース(SDB)にアクセスするステップと、
前記1つまたは複数のシミュレートされたデバイス(SD)によって通信応答を作るステップと
をさらに含む、請求項1に記載のデバイスエンジニアリング方法。
【請求項18】
HARTデバイス、FFデバイス、Profibusデバイス、およびISA10
0のデバイスタイプに対してデバイスをシミュレートするステップ
をさらに含む、請求項1に記載のデバイスエンジニアリング方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、一般に、工業プラントにおけるフィールドデバイスのためのシステムおよび方法に関する。
【背景技術】
【0002】
工業プラントにおいて、物理デバイスがない場合でも、デバイス管理システムの機能を実行すること、たとえば、システム構成、挙動検査を実行することは、技術者にとって困難であるので、デバイスエンジニアリングは、技術者による大量の作業を伴って実行されなければならず、いくつかの機能は起動され得ないことがある。デバイスエンジニアリングのために、異なるタイプの膨大な数のフィールドデバイスへのデバイス通信のシミュレーションが必要とされる。市場において現在利用可能である限定された機能および限定されたデバイスをサポートするために、ハードウェアシミュレータが利用可能となっている。しかしながら、ハードウェアシミュレータは、通常は、特定のデバイスのシミュレーション機能に対して使用される。
【発明の概要】
【課題を解決するための手段】
【0003】
いくつかの実施形態では、デバイスエンジニアリング方法は以下のプロセスを含む。デバイス管理サーバ(DMS)のデータベース内の、プラントネットワーク階層(PNH)のデータおよび1つまたは複数の登録済みデバイス(RD)のデータが、デバイスシミュレーションサーバ(SS)に同期される。シミュレーションモードにおいて、デバイス管理システムが、実際のプラントにおける1つまたは複数の物理フィールドデバイスを制御するように構成されたいかなる物理制御局にも通信可能に結合されていない間、シミュレートされたデバイス(SD)との通信を介してデバイス管理システムの少なくとも1つの機能の実行が行われる。シミュレートされたデバイス(SD)内に仮想パラメータが導入される。デバイス構成のために、1つまたは複数のデバイス記述ファイル(DDファイル)から生成されたシミュレートされたデバイス(SD)を用いて、i)設定可能なデバイスパラメータの値変更、ii)プロセス変数などの設定可能でないデバイスパラメータの値変更、およびiii)デバイスステータスシミュレーションのシミュレーションが行われる。シミュレーションサーバ(SS)内のシミュレートされたプラントネットワーク階層(SIMULATED PNH)より下のシミュレートされたデバイス(SD)は、普通はデバイス管理システムにおけるフィールドデバイス通信サーバ(FDCS)が通信する1つまたは複数の登録済みデバイス(RD)に対応する。フィールドデバイス通信サーバ(FDCS)内の通信要求処理構成要素(CRH)からシミュレーションサーバ(SS)内のプラントネットワーク階層(PNH)中のシミュレートされたデバイス(SD)へ同時に実行される並列通信がある。並列通信は、通信要求処理構成要素(CRH)から、シミュレーションサーバ(SS)内のプラントネットワーク階層(PNH)中の複数のシミュレートされたデバイス(SD)へ、複数の通信要求を送ることを可能にする。
【図面の簡単な説明】
【0004】
【
図1】いくつかの実施形態におけるデバイス管理システムを示すブロック図である。
【
図2】フィールドデバイスデータベースの同期を用いてシミュレートされたデバイス(SD)を作成する動作および手順を示すフローチャートである。
【
図3】フィールドデバイス通信サーバ(FDCS)内のシミュレーションサーバツール(SST)を用いたシミュレーション用の個々のデバイスを作成するためのプロセスのフローチャートである。
【
図4】表示スクリーン上で表示されるシミュレーションサーバツールの一例の図である。
【
図5】設定可能なデバイスパラメータおよび設定可能でないデバイスパラメータが表示スクリーン上で表示されるシミュレーションユーザインターフェースの図である。
【
図6】シミュレーションユーザインターフェースにおけるデバイスステータスをシミュレートする一例の図である。
【
図7】デバイス記述ファイルに基づくHARTデバイスシミュレーション(コマンドを基にしたトランザクション)の実装のフローチャートである。
【
図8】HART用のデバイス記述ファイルを用いたデバイスシミュレーション(パラメータを基にしたトランザクション)を実現するためのプロセスのフローチャートである。
【
図9】FF-H1通信シミュレーションのためのプロセスのフローチャートである。
【
図10】シミュレートされたデバイス(SD)とのデバイス管理システムの通信のプロセスのフローチャートである。
【発明を実施するための形態】
【0005】
いくつかの態様では、方法およびシステムは、物理デバイスが利用可能でないデバイスエンジニアリング中にシミュレートされたデバイス(SD)とのプラントデバイス通信をシミュレートするためのものである。デバイスエンジニアリングのために使用されるデバイス管理システムにシミュレーションモードが導入され、フィールドデバイス通信サーバ(FDCS)は、物理フィールドデバイスまたはシミュレートされたデバイス(SD)と通信するように構成され得る。
【0006】
いくつかの場合において、方法およびシステムは、様々なベンダからのFOUNDATION Fieldbus(FF)通信デバイスおよびHART通信デバイスなどの任意のタイプのデバイスを、デバイス記述ファイルから取り出される情報に基づいてシミュレートするためのものである。シミュレートされたデバイス(SD)のデバイス構成および/またはパラメータ値が、シミュレーションデータベース内に記憶される。
【0007】
パラメータを基にしたトランザクションを伴うFOUNDATION Fieldbus(FF)通信デバイスの場合、フィールドデバイスへの通信は、デバイスステータスを含むパラメータ値を、シミュレーションデータベースから読み取ること、および/またはシミュレーションデータベースに書き込むことによってシミュレートされる。
【0008】
HART通信デバイスの場合、フィールドデバイスへの通信は、デバイス記述ファイルによって公開されるコマンド構造、およびシミュレーションデータベース内に記憶されたパラメータ値を解釈することによって、シミュレートされる。シミュレーション通信応答コードおよびデバイスステータスに対して仮想パラメータが導入される。様々なアプリケーションとの統合をもたらすために、HART通信デバイスに対してパラメータを基にしたトランザクションもサポートされる。
【0009】
物理デバイスへの通信のシミュレーションの前に、デバイス管理サーバ(DMS)のフィールドデバイスデータベース内の、プラントネットワーク階層(PNH)のデータおよび1つまたは複数の登録済みデバイス(RD)のデータが、シミュレーションサーバ(SS)のデータベースに同期される。
【0010】
技術者が、PV値などの設定可能なパラメータおよび設定可能でないパラメータのパラメータ値、ならびにデバイスステータスを変更および/またはシミュレートすることを可能にするために、シミュレーションユーザインターフェースが設けられる。
【0011】
いくつかの実施形態では、デバイスエンジニアリング方法は以下のプロセスを含む。デバイス管理サーバ(DMS)内の、プラントネットワーク階層(PNH)のデータおよび1つまたは複数の登録済みデバイス(RD)のデータが、デバイスシミュレーションサーバ(SS)のデータベースに同期される。シミュレーションモードにおいて、デバイス管理システムが、実際のプラント内の1つまたは複数の物理フィールドデバイスを制御するように構成されたいかなる物理制御局にも通信可能に結合されていない間、シミュレートされたデバイス(SD)との通信を介してデバイス管理システムの少なくとも1つの機能の実行が行われる。シミュレートされたデバイス(SD)内に仮想パラメータが導入される。デバイス構成のために、1つまたは複数のデバイス記述ファイル(DDファイル)から生成されたシミュレートされたデバイス(SD)を用いて、i)設定可能なデバイスパラメータの値変更、ii)設定可能でないデバイスパラメータの値変更、およびiii)デバイスステータスシミュレーションの、シミュレーションが行われる。シミュレーションサーバ(SS)内のプラントネットワーク階層(PNH)中のシミュレートされたデバイス(SD)は、デバイス管理システムにおける登録済みデバイス(RD)に対応する。フィールドデバイス通信サーバ(FDCS)内の通信要求処理構成要素(CRH)から、シミュレーションサーバ(SS)内のプラントネットワーク階層(PNH)中のシミュレートされたデバイス(SD)へ、並列通信が同時に実行される。並列通信は、通信要求処理構成要素(CRH)からシミュレーションサーバ(SS)内のシミュレートされたプラントネットワーク階層(SIMULATED PNH)中のシミュレートされたデバイス(SD)へ通信要求を送ることを含む。
【0012】
いくつかの場合において、デバイスエンジニアリング方法は、限定はしないが、シミュレートされたデバイス(SD)がシミュレーションサーバ(SS)内でインスタンス化されているかどうかを判定することをさらに含んでよい。
【0013】
いくつかの場合において、デバイスエンジニアリング方法は、限定はしないが、シミュレートされたデバイス(SD)がシミュレーションサーバ(SS)内でインスタンス化されていないことが判定される場合、シミュレートされたデバイス(SD)をシミュレーションサーバ(SS)内でインスタンス化することをさらに含んでよい。
【0014】
いくつかの場合において、デバイスエンジニアリング方法は、限定はしないが、シミュレートされたデバイスへ通信要求を送ることをさらに含んでよい。
【0015】
いくつかの場合において、デバイスエンジニアリング方法は、限定はしないが、シミュレートされたデバイスによって通信要求を分析することをさらに含んでよい。
【0016】
いくつかの場合において、デバイスエンジニアリング方法は、限定はしないが、分析の結果に基づいて通信応答を生成し、シミュレートされたデバイスからデバイス管理システムへ送ることをさらに含んでよい。
【0017】
いくつかの場合において、デバイスエンジニアリング方法は、限定はしないが、シミュレーションサーバ(SS)内のシミュレートされたプラントネットワーク階層(SIMULATED PNH)中の1つまたは複数のセグメントを選択することをさらに含んでよい。
【0018】
いくつかの場合において、デバイスエンジニアリング方法は、限定はしないが、1つまたは複数のデバイス情報サービスライブラリを有するデバイス記述サービスにおける1つまたは複数のデバイス記述ファイル(DDファイル)を選択することをさらに含んでよい。
【0019】
いくつかの場合において、設定可能でないデバイスパラメータは、読取り専用デバイスパラメータであり、変更不可能である。
【0020】
いくつかの場合において、シミュレートされたデバイス(SD)は、限定はしないが、1つまたは複数の物理フィールドデバイスの製造業者を識別する製造業者情報、1つまたは複数の物理フィールドデバイスに対するデバイスタイプを識別するデバイスタイプ情報、ならびに1つまたは複数のデバイス情報サービスライブラリを有するデバイス記述サービスを用いて1つまたは複数のデバイス記述ファイル(DDファイル)から取り出された1つまたは複数のパラメータ特性、シミュレートされたデバイスの構成値、およびシミュレートされたデバイスのパラメータ値を記憶するデバイスデータベースをさらに含んでよい。
【0021】
いくつかの場合において、デバイスデータベースは、すべての機能ブロックおよびパラメータの情報をさらに記憶する。
【0022】
いくつかの場合において、デバイスデータベースは、通信要求または通信応答に関与するパラメータに対して、コマンドトランザクションのためのパラメータタイプ、パラメータサイズ、パラメータのオフセットをさらに記憶する。
【0023】
いくつかの場合において、シミュレートされたデバイスは、限定はしないが、機能ブロックおよび個々のパラメータにアクセスするロジックをさらに含んでよい。
【0024】
いくつかの場合において、シミュレートされたデバイスは、限定はしないが、1つまたは複数のデバイス情報サービスライブラリを有するデバイス記述サービスを用いてHART通信要求を解釈してパラメータ値およびHART通信応答データにアクセスするロジックをさらに含んでよい。
【0025】
いくつかの場合において、デバイスエンジニアリング方法は、限定はしないが、デバイス管理クライアント(DMC)内にプラントネットワーク階層(PNH)を作成するステップと、デバイス管理システムにおいて登録済みデバイスを作成するために、デバイス管理システムにおけるデータベース内にデバイスを登録するステップと、プラントネットワーク階層(PNH)のデータおよび1つまたは複数の登録済みデバイス(RD)のデータをシミュレーションサーバ(SS)に同期させる前に、デバイス管理システムにおけるデータベース内に1つまたは複数の登録済みデバイス(RD)を作成するために、デバイス管理システムによって登録済みデバイスを設定するステップとをさらに含んでよい。
【0026】
いくつかの場合において、デバイスエンジニアリング方法は、限定はしないが、デバイス構成に対して、i)設定可能なデバイスパラメータ、ii)設定可能でないデバイスパラメータ、およびiii)デバイスステータスをシミュレートする前に、プラント内に存在してもしなくてもよい物理デバイスから、シミュレーションサーバ(SS)内の1つまたは複数のシミュレートされたデバイス(SD)に、通信要求を切り替えることをさらに含んでよい。
【0027】
いくつかの場合において、デバイスエンジニアリング方法は、限定はしないが、1つまたは複数のシミュレートされたデバイス(SD)がシミュレーションサーバ(SS)内に見つかるかどうかを判定するステップと、シミュレーションサーバ(SS)内に1つまたは複数のシミュレートされたデバイス(SD)を作成するステップと、作成された1つまたは複数のシミュレートされたデバイス(SD)を用いて、i)設定可能なデバイスパラメータ、ii)設定可能でないデバイスパラメータ、およびiii)デバイスステータスを設定するステップとをさらに含んでよい。
【0028】
いくつかの場合において、デバイスエンジニアリング方法は、限定はしないが、シミュレーションサーバ(SS)内のシミュレーションデータベース(SDB)にアクセスするステップと、1つまたは複数のシミュレートされたデバイス(SD)によって通信応答を作るステップとをさらに含んでよい。
【0029】
いくつかの場合において、デバイスエンジニアリング方法は、限定はしないが、HARTデバイス、FFデバイス、Profibusデバイス、およびISA100のうちの少なくとも1つのデバイスタイプに対してデバイスをシミュレートすることをさらに含んでよい。
【0030】
デバイスのシミュレーションは、デバイスパラメータを設定すること、デバイスとの通信をシミュレートすることによって実行されるが、デバイス自体をシミュレートすることによって実行されるのではなく、すなわち、デバイスの内部ロジックはシミュレートされない。
【0031】
デバイスステータスはデバイスの健康状態を示すが、HARTデバイスはデバイスステータスに対するパラメータを公開しない。HARTデバイスは、通信応答データにデバイスステータスを付加する。デバイスステータスに対して規定されるパラメータ、およびデバイスステータスは、ユーザによって変更され得ないので、デバイス健康状態をシミュレートするために仮想パラメータがシミュレーションデータベースに導入される。デバイスステータスに対する仮想パラメータを読み取ることおよび書き込むことによる、デバイスとの通信のシミュレーションが実行される。
【0032】
設定可能なデバイスパラメータは、たとえば、デバイスタグ、エンジニアリングユニットなどを見るため、使用するため、かつ編集するために、アプリケーションに公開される。
【0033】
設定可能でないデバイスパラメータは、見ることおよび使用することだけのためにアプリケーションに公開され、アプリケーションはパラメータの値、たとえば、温度を変更することができない。
【0034】
仮想パラメータはデバイスによって公開されない。仮想パラメータは、デバイスとの通信をシミュレートして特定のデバイス特性、たとえば、デバイスステータスにアクセスするために使用されるにすぎない。
【0035】
実際のデバイスの場合、アプリケーションまたはエンドユーザが温度の単位を摂氏から華氏に変更するならば、温度の値はそれに応じて変化する。
【0036】
しかしながら、デバイスシミュレータは、デバイスの内部ロジックをシミュレートすることができず、したがって、単位が変更される場合でも温度の値は変化しない。
【0037】
再び、デバイス内部ロジックに対してではなく、デバイスステータスに対して仮想パラメータを読み取ることおよび書き込むことによって、我々はデバイスとの通信をシミュレートしている。
【0038】
シミュレートされたデバイス(SD)内に仮想パラメータを導入することは、シミュレートされたHARTデバイスのインスタンス化のためのプロセスの一部である。全体的な作業フローは、限定はしないが、データベースを同期させること、シミュレーションモードを有効化すること、エンジニアリング機能を実行すること、シミュレートされたデバイスをインスタンス化すること、シミュレートされたデバイスへ要求を送ること、シミュレートされたデバイスからの応答を受信および処理することを含んでよい。
【0039】
「パラメータの構成」という用語は、設定可能なパラメータの値のみを変更することに対して、実際のデバイスに適用される。「パラメータのシミュレーション」という用語は、設定可能なパラメータだけでなく、設定可能でないパラメータおよびデバイスステータスの値も変更することに対して、デバイスシミュレータに適用される。
【0040】
上記で説明したようなデバイスエンジニアリング方法およびシステムは、パラメータ値を調整するために、かつ利用可能なフィールドデバイスがない場合にデバイス互換性およびシステム挙動をチェックするために、技術者がデバイス構成などの制御システムエンジニアリングと並行してフィールドデバイスエンジニアリングを実行することを可能にする。より詳細には、上記で説明したようなデバイスエンジニアリング方法およびシステムは、デバイス管理システムが、実際のプラント内の1つまたは複数の物理フィールドデバイスを制御するように構成されたいかなる物理制御局にも通信可能に結合されていない間、パラメータ値を調整するために、かつデバイス互換性およびシステム挙動をチェックするために、技術者がデバイス構成などの制御システムエンジニアリングと並行してフィールドデバイスエンジニアリングを実行することを可能にする。
【0041】
上記で説明したようなデバイスエンジニアリング方法およびシステムは、シミュレートされたデバイスが、異なるタイプの他のシミュレートされたデバイスと置き換えられ、いかなる物理デバイスもまだ提示されないとき、技術者がシステム挙動をチェックすることを可能にする。
【0042】
上記で説明したようなデバイスエンジニアリング方法およびシステムは、利用可能なフィールドデバイスがない場合に、技術者が極めて便利な方法でプロセス変数およびデバイスステータスをシミュレートすることを可能にする。より詳細には、上記で説明したようなデバイスエンジニアリング方法およびシステムは、デバイス管理システムが、実際のプラント内の1つまたは複数の物理フィールドデバイスを制御するように構成されたいかなる物理制御局にも通信可能に結合されていない間、技術者が極めて便利な方法でプロセス変数およびデバイスステータスをシミュレートすることを可能にする。
【0043】
上記で説明したようなデバイスエンジニアリング方法およびシステムは、実際のデバイスが展開されるかまたはシステムに接続される前であっても、できるだけ速やかに技術者がデバイス管理システムのエンジニアリングを実行することを可能にする。言い換えれば、上記で説明したようなデバイスエンジニアリング方法およびシステムは、デバイス管理システムが、実際のプラント内の1つまたは複数の物理フィールドデバイスを制御するように構成されたいかなる物理制御局にも通信可能に結合されていない間、できるだけ速やかに技術者がデバイス管理システムのエンジニアリングを実行することを可能にする。
【0044】
上記で説明したようなデバイスエンジニアリング方法およびシステムは、異なるベンダからの異なるタイプの複数のデバイスを、互いに並行して、または同時に、技術者がシミュレートすることを可能にする。
【0045】
図1は、いくつかの実施形態におけるデバイス管理システムを示すブロック図である。
【0046】
デバイス管理システム1000は、限定はしないが、デバイス管理クライアント(DMC)110、デバイス管理サーバ(DMS)120、フィールドデバイス通信サーバ(FDCS)200、およびシミュレーションサーバ(SS)300を含んでよい。デバイス管理クライアント(DMC)110は、フィールドデバイス通信サーバ(FDCS)200に、通信可能かつ動作可能に結合される。デバイス管理サーバ(DMS)120は、シミュレーションサーバ(SS)300に、通信可能かつ動作可能に結合される。
【0047】
デバイス管理システム1000は、デバイス管理サーバ(DMS)120内のフィールドデバイスデータベース(FDDB)121内の、プラントネットワーク階層(PNH)のデータおよび1つまたは複数の登録済みデバイス(RD)のデータを、シミュレーションサーバ(SS)300に同期させるように構成される。シミュレーションモードにおいて、実際のプラント内の物理HARTデバイス700および物理FFデバイス800などの1つまたは複数の物理フィールドデバイスを制御するように構成された物理制御局としての制御局600に、デバイス管理システム1000が制御バスインターフェース400および制御ネットワークインターフェース500を介して通信可能に結合されていない間、デバイス管理システム1000は、シミュレーションサーバ(SS)300との通信を介してデバイス管理システム1000の少なくとも1つの機能を実行するように構成される。
【0048】
デバイス管理システム1000は、シミュレートされたデバイス(SD)内に仮想パラメータを導入するように構成される。
【0049】
シミュレーションサーバ(SS)300は、デバイス構成のために、デバイス管理システム1000におけるデバイス管理サーバ(DMS)120内の1つまたは複数の登録済みデバイス(RD)に対する、シミュレーションサーバ(SS)300内のシミュレートされたプラントネットワーク階層(SIMULATED PNH)において1つまたは複数のデバイス記述ファイル(DDファイル)から生成されたシミュレートされたデバイス(SD)を用いて、i)設定可能なデバイスパラメータの値変更、ii)設定可能でないデバイスパラメータの値変更、およびiii)デバイスステータスシミュレーションを、シミュレートするように構成される。
【0050】
フィールドデバイス通信サーバ(FDCS)200およびシミュレーションサーバ(SS)300は、フィールドデバイス通信サーバ(FDCS)200内の通信要求処理構成要素(CRH)240からシミュレーションサーバ(SS)300内のシミュレートされたプラントネットワーク階層(SIMULATED PNH)中のシミュレートされたデバイス(SD)への並列通信を、同時に実行するように構成され、並列通信は、通信要求処理構成要素(CRH)240からシミュレーションサーバ(SS)内のシミュレートされたプラントネットワーク階層(SIMULATED PNH)中のシミュレートされたデバイス(SD)へ通信要求を送ることを含む。実際のプラント内の物理HARTデバイス700および物理FFデバイス800などの1つまたは複数の物理フィールドデバイスを制御するように構成された物理制御局としての制御局600に、デバイス管理システム1000が制御バスインターフェース400および制御ネットワークインターフェース500を介して通信可能に結合されていない間、通信要求処理構成要素(CRH)240からの通信要求が、シミュレーションサーバ(SS)内のシミュレートされたプラントネットワーク階層(SIMULATED PNH)中のシミュレートされたデバイス(SD)へ送られ得る。
【0051】
デバイス管理システム1000は、限定はしないが、デバイス管理クライアント(DMC)110およびデバイス管理サーバ(DMS)120を含んでよい。デバイス管理クライアント(DMC)110は、デバイス管理サーバ(DMS)120に、可換的かつ動作可能に結合される。デバイス管理クライアント(DMC)110は、フィールドデバイス通信サーバ(FDCS)200に、可換的かつ動作可能に結合される。デバイス管理サーバ(DMS)120は、シミュレーションサーバ(SS)300に、可換的かつ動作可能に結合される。デバイス管理クライアント(DMC)110は、限定はしないが、シミュレーションユーザインターフェース(SIMULATION UI)111を含んでよい。シミュレーションユーザインターフェース(SIMULATION UI)111は、デバイス管理サーバ(DMS)120およびフィールドデバイス通信サーバ(FDCS)200と通信するために使用され得る。デバイス管理サーバ(DMS)120は、限定はしないが、フィールドデバイスデータベース(FDDB)121を含んでよい。デバイス管理サーバ(DMS)120は、フィールドデバイスデータベース(FDDB)121のデータがシミュレーションサーバ(SS)300と同期されることを可能にするように構成される。
【0052】
フィールドデバイス通信サーバ(FDCS)200は、限定はしないが、インターフェース標準サービス(OPC SERVICE)210、HART通信マネージャ(HART CM)220、FF通信マネージャ(FF CM)230、通信要求処理構成要素(CRH)240、および制御バスドライバ(CBD)250を含んでよい。インターフェース標準サービス(OPC SERVICE)210は、デバイス管理クライアント(DMC)110とHART通信マネージャ(HART CM)220との間の、かつデバイス管理クライアント(DMC)110とFF通信マネージャ(FF CM)230との間の、インターフェースとして実行するように構成される。HART通信マネージャ(HART CM)220は、制御バスインターフェース400、制御ネットワークインターフェース500、および物理HARTデバイス700を制御するように構成される制御局600を介した、フィールドデバイス通信サーバ(FDCS)200と物理HARTデバイス700との間のHART通信を管理するように構成される。FF通信マネージャ(FF CM)230は、制御バスインターフェース400、制御ネットワークインターフェース500、および物理FFデバイス800を制御するように構成される制御局600を介した、フィールドデバイス通信サーバ(FDCS)200と物理FFデバイス800との間のFF通信を管理するように構成される。
【0053】
通信要求処理構成要素(CRH)240は、HART通信マネージャ(HART CM)220と制御バスドライバ(CBD)250との間に、可換的かつ動作可能に結合される。通信要求処理構成要素(CRH)240はまた、FF通信マネージャ(FF CM)230と制御バスドライバ(CBD)250との間に、可換的かつ動作可能に結合される。通信要求処理構成要素(CRH)240は、制御バスインターフェース400、制御ネットワークインターフェース500、および物理HARTデバイス700を制御するように構成される制御局600を介した、HART通信マネージャ(HART CM)220から物理HARTデバイス700への通信要求を決定するように構成される。通信要求処理構成要素(CRH)240は、制御バスインターフェース400、制御ネットワークインターフェース500、および物理FFデバイス800を制御するように構成される制御局600を介した、FF通信マネージャ(FF CM)230から物理FFデバイス800への通信要求を決定するように構成される。通信要求処理構成要素(CRH)240は、HART通信マネージャ(HART CM)220からシミュレーションサーバ(SS)300への通信要求を決定するように構成される。通信要求処理構成要素(CRH)240は、FF通信マネージャ(FF CM)230からシミュレーションサーバ(SS)300への通信要求を決定するように構成される。HART通信マネージャ(HART CM)220が物理HARTデバイス700に通信するとき、制御バスドライバ(CBD)250が使用される。FF通信マネージャ(FF CM)230が物理FFデバイス800に通信するとき、制御バスドライバ(CBD)250が使用される。
【0054】
シミュレーションサーバ(SS)300は、限定はしないが、デバイスデータベース同期ツール(DDBSNC)310、シミュレーションサーバツール(SST)320、シミュレーションデータベース(SDB)330、HARTデバイス記述サービス(HART DD)340、FFデバイス記述サービス(FF DD)350、シミュレートされたHARTデバイス360、およびシミュレートされたFFデバイス370を含んでよい。
【0055】
デバイス管理クライアント(DMC)110は、プラントネットワーク階層(PNH)を作成するための、登録済みデバイス(RD)を登録するための、かつ登録済みデバイス(RD)を設定するための、様々な機能をデバイス技術者に提供するように構成される。
【0056】
フィールドデバイスデータベース(FDDB)121は、プラントネットワーク階層(PNH)のデータおよび1つまたは複数の登録済みデバイス(RD)のデータを記憶する。
【0057】
フィールドデバイス通信サーバ(FDCS)200は、制御バスインターフェース400、制御ネットワークインターフェース500、ならびに物理FFデバイス800および物理HARTデバイス700を制御するように構成される制御局600を介した、物理HARTデバイス700および物理FFデバイス800への通信チャネルを管理するように構成される。フィールドデバイス通信サーバ(FDCS)200は、デバイス管理クライアント(DMC)110による要求を、制御バスインターフェース400、制御ネットワークインターフェース500、および制御局600を介して、物理HARTデバイス700および物理FFデバイス800へ送るように構成される。フィールドデバイス通信サーバ(FDCS)200は、制御バスインターフェース400、制御ネットワークインターフェース500、および制御局600を介して、物理HARTデバイス700および物理FFデバイス800から要求への応答を受信するように構成される。フィールドデバイス通信サーバ(FDCS)200は、デバイス管理クライアント(DMC)110の様々な機能の間の対応する機能を、制御バスインターフェース400、制御ネットワークインターフェース500、および制御局600を介して、物理HARTデバイス700および物理FFデバイス800へ返送するように構成される。
【0058】
デバイス管理システム1000は、シミュレーションモードとなるように設定可能である。デバイス管理クライアント(DMC)110は、デバイス管理システム1000がシミュレーションモードに置かれているとき、物理HARTデバイス700および物理FFデバイス800ではなく、シミュレートされたデバイス(SD)、たとえば、シミュレートされたHARTデバイス360およびシミュレートされたFFデバイス370へ、通信要求を送るように構成される。
【0059】
シミュレーションサーバ(SS)300は、シミュレートされたデバイス(SD)用のそれぞれの構成およびパラメータ値を記憶するシミュレーションデータベース(SDB)330を含む。
【0060】
シミュレーションサーバ(SS)300は、HART Foundationによって提供されるデバイス情報サービスライブラリによって実装され得るHARTデバイス記述サービス(HART DD)340を含む。
【0061】
シミュレーションサーバ(SS)300は、Fieldbus Foundation Groupによって提供されるデバイス情報サービスライブラリによって実装され得るFFデバイス記述サービス(FF DD)350を含む。
【0062】
デバイスデータベース同期ツール(DDBSNC)310は、登録済みデバイスを記憶するフィールドデバイスデータベース(FDDB)121を含むデバイス管理サーバ(DMS)120に、通信可能かつ動作可能に結合される。デバイスデータベース同期ツール(DDBSNC)310は、技術者がシミュレートされたプラントネットワーク階層(SIMULATED PNH)およびシミュレートされたデバイス(SD)を作成することを可能にするように構成される。デバイスデータベース同期ツール(DDBSNC)310は、シミュレートされたプラントネットワーク階層(SIMULATED PNH)およびシミュレートされたデバイス(SD)を作成するために、技術者がフィールドデバイスデータベース(FDDB)121からプラントネットワーク階層(PNH)およびデバイスパラメータ値の情報を取り出すことを可能にするように構成される。すなわち、デバイスデータベース同期ツール(DDBSNC)310は、デバイス管理サーバ(DMS)120内のフィールドデバイスデータベース(FDDB)121内の、プラントネットワーク階層(PNH)のデータおよび1つまたは複数の登録済みデバイス(RD)のデータを、シミュレーションサーバ(SS)300に同期させるように構成される。フィールドデバイスデータベース(FDDB)121がシミュレーションサーバ(SS)300に同期されると、技術者は、デバイス管理システム100内のデバイス管理クライアント(DMC)110によって送られる通信要求をシミュレートされたデバイス(SD)に切り替えるための選択肢を有する。
【0063】
シミュレーションサーバ(SS)300は、シミュレーションサーバツール(SST)320を含む。シミュレーションサーバツール(SST)320は、シミュレーションプロジェクト、デバイスごとのデバイスターンアラウンドタイム設定などの、シミュレーションの環境を管理し、シミュレートされたプラントネットワーク階層(SIMULATED PNH)、IOモジュール、およびシミュレーションデバイスを追加する、削除する、かつ/または修正するなどの、シミュレートされたプラントネットワーク階層(SIMULATED PNH)を管理するように、デバイス管理に加えて代替物を技術者に提供するように構成される。
【0064】
シミュレーションサーバ(SS)300は、シミュレートされた制御局およびシミュレートされたデバイス(SD)をインスタンス化するように構成される。シミュレーションサーバ(SS)300は、フィールドデバイス通信サーバ(FDCS)200からシミュレートされたデバイス(SD)に通信要求を転送し、フィールドデバイス通信サーバ(FDCS)200に応答を戻すように構成される。
【0065】
フィールドデバイス通信サーバ(FDCS)200は、通信要求処理構成要素(CRH)240を含む。通信要求処理構成要素(CRH)240は、デバイス管理システム1000におけるデバイス管理クライアント(DMC)110からの通信要求が、物理HARTデバイス700および物理FFデバイス800へ送られるのか、それともシミュレートされたHARTデバイス360およびシミュレートされたFFデバイス370へ送られるのかを決定するように構成される。
【0066】
通信要求処理構成要素(CRH)240は、シミュレーション切替えテーブルを有するように構成され得る。シミュレーション切替えテーブルは、通信がシミュレートされたデバイス(SD)へ送られるのか、それともプラント内の物理HARTデバイス700および物理FFデバイス800などの物理デバイスへ送られるのかを決定するために使用される。制御システムタイプレベルからデバイスレベルまでの、プラントネットワーク階層(PNH)における選択的なレベルにおいてシミュレーションモードを有効化および無効化することによって、同時にデバイス管理クライアント(DMC)110からシミュレートされたデバイス(SD)ならびにプラント内の物理HARTデバイス700および物理FFデバイス800などの物理デバイスへ、同時通信が達成され得る。
【0067】
表1は、シミュレーション切替えテーブルの一例を示す。
【0068】
【0069】
プラント階層の各レベルは、ユーザによって指定されない場合、その親のシミュレーションモードを継承し、必要とされるとき、継承されるモードを上書きする。親レベルのシミュレーションモードが有効化されると、後続のプラント階層ノードは、親レベルのシミュレーションモードを継承する。表1に示すように、制御システムタイプ、プロジェクト1、制御局0101が、シミュレーションモードを有効化すると、IOM1、ノード01、スロット01は、ユーザによって指定されない場合、シミュレーションモードを継承する。プラント階層のデバイスレベルでは、シミュレートされたデバイス(SD)への通信は、その親レベルのすべてがシミュレーションモードとともに有効化され、かつデバイス自体もシミュレーションモードとともに有効化される場合のみ、有効化される。たとえば、プラント階層ノードチャネル02がシミュレーションモードを無効化すると、デバイスMおよびデバイスNがシミュレーションモードを有効化するときでさえ、チャネル02より下のデバイスMおよびデバイスNへの通信は、物理デバイスMおよび物理デバイスNにしか送られない。
【0070】
デバイス管理クライアント(DMC)110から通信要求処理構成要素(CRH)240へ並列通信要求が送られると、通信要求処理構成要素(CRH)240は、シミュレーション切替えテーブルに基づいて通信要求を物理デバイスおよび/またはシミュレートされたデバイス(SD)へ送る。デバイスのうちの一部がデバイスモードにあり、かつ一部がシミュレーションモードにあるとき、通信要求処理構成要素(CRH)240は、通信要求を物理デバイスおよびシミュレートされたデバイス(SD)へ同時に送る。
【0071】
デバイス管理システム1000は、デバイス管理クライアント(DMC)110を含む。デバイス管理クライアント(DMC)110は、技術者がデバイスの設定可能なパラメータおよび設定可能でないパラメータの値、ならびにデバイスステータスをシミュレートすることを可能にするように構成される、拡張ユーザインターフェースである。
【0072】
物理HARTデバイス700および物理FFデバイス800などの物理フィールドデバイスとは異なり、シミュレートされたHARTデバイス360およびシミュレートされたFFデバイス370などのシミュレートされたデバイス(SD)は、いかなる物理ハードウェアリソースもない。シミュレートされたHARTデバイス360およびシミュレートされたFFデバイス370などのシミュレートされたデバイス(SD)は、製造業者関連情報、デバイスタイプ、およびデバイスリビジョンなどの、デバイス情報の断片から作られる。
【0073】
シミュレーションサーバ(SS)300は、シミュレーションデータベース(SDB)330を含む。シミュレーションデータベース(SDB)330は、パラメータタイプ、デフォルト値などの、デバイス記述ファイルから取り出されたパラメータ特性情報を記憶する。シミュレーションデータベース(SDB)330は、シミュレートされたデバイス(SD)の構成およびパラメータ値を記憶する。シミュレーションデータベース(SDB)330は、シミュレートされたHARTデバイス360のために、通信要求または通信応答に関与するパラメータに対して、すべてのコマンドトランザクション構造のための情報、すなわち、コマンドトランザクションのためのパラメータタイプ、パラメータサイズ、パラメータのオフセットを記憶する。シミュレーションデータベース(SDB)330は、シミュレートされたFFデバイス370に対して、機能ブロック中のインデックス、サブインデックス、ビューなどの、すべての機能ブロックおよびパラメータの情報を記憶する。シミュレーションデータベース(SDB)330は、シミュレートされたHARTデバイス360に対して、HART通信要求を解釈してパラメータ値にアクセスするとともにHART通信応答データを作るロジックを記憶する。シミュレーションデータベース(SDB)330は、シミュレートされたFFデバイス370に対して、機能ブロックおよび個々のパラメータにアクセスするロジック、すなわち、たとえば、稼働デバイスリスト入手やオブジェクト記述読取りなどのFFネットワーク管理機能、機能ブロックリスト読取り、ならびにインデックスおよびサブインデックスを用いたパラメータ値へのアクセスを記憶する。
【0074】
デバイスエンジニアリングの実行
シミュレートされたデバイス(SD)を用いてデバイスエンジニアリングを実行することは、2つの方法、すなわち、1)デバイス管理システム1000におけるデバイス管理サーバ(DMS)120内のフィールドデバイスデータベース(FDDB)121の同期を用いて、シミュレートされたHARTデバイス360およびシミュレートされたFFデバイス370などのシミュレートされたデバイス(SD)を作成すること、ならびに2)フィールドデバイス通信サーバ(FDCS)200内のシミュレーションサーバツール(SST)320を用いたシミュレーション用の個々のデバイスを作成することで、実施され得る。
【0075】
フィールドデバイスデータベース(FDDB)の同期を用いたシミュレートされたデバイスの作成
通常、HARTデバイスおよび/またはFFデバイスなどのデバイスは、手作業の登録または他のプロジェクトからのインポートによって、デバイス管理システム1000におけるデバイス管理クライアント(DMC)110内に登録される。シミュレーションサーバ(SS)300内で登録済みデバイスがシミュレートされ得るように、デバイス管理クライアント(DMC)110内の登録済みHARTデバイスおよび登録済みFFデバイスなどの登録済みデバイスがシミュレーションサーバ(SS)300に同期され得る。
【0076】
図2は、フィールドデバイスデータベースの同期を用いてシミュレートされたデバイスを作成する動作および手順を示すフローチャートである。
【0077】
ステップS101において、デバイス管理システム1000におけるデバイス管理クライアント(DMC)110内に、プラントネットワーク階層(PNH)が作成される。
【0078】
ステップS102において、HARTデバイスおよび/またはFFデバイスなどのデバイスは、手作業の登録または他のプロジェクトからのインポートによって、デバイス管理システム1000におけるデバイス管理クライアント(DMC)110内に登録される。
【0079】
ステップS103において、デバイス管理サーバ(DMS)120内のフィールドデバイスデータベース(FDDB)121内の、プラントネットワーク階層(PNH)のデータおよび1つまたは複数の登録済みデバイス(RD)のデータが、デバイスデータベース同期ツール(DDBSNC)310によってシミュレーションサーバ(SS)300に同期される。
【0080】
ステップS104において、デバイス管理クライアント(DMC)110から送られる通信要求は、フィールドデバイス通信サーバ(FDCS)200内の制御バスドライバ(250)からシミュレーションサーバ(SS)300に切り替えられる。通信要求は、デバイス管理クライアント(DMC)110から発信する。シミュレーションモードが有効化されると、通信要求処理構成要素(CRH)240は、通信要求を制御バスドライバ(CBD)250からシミュレーションサーバ(SS)300に切り替える。
【0081】
ステップS105において、シミュレーションサーバ(SS)300へ送られた通信要求を用いて、シミュレーションユーザインターフェース(SIMULATION UI)111を使用することによって、デバイス管理システム1000におけるフィールドデバイス通信サーバ(FDCS)200内の1つまたは複数の登録済みデバイス(RD)に対する、シミュレーションサーバ(SS)300内のプラントネットワーク階層(PNH)において1つまたは複数のデバイス記述ファイル(DDファイル)から生成されたシミュレートされたデバイス(SD)を用いて、i)設定可能なデバイスパラメータの値変更、ii)設定可能でないデバイスパラメータの値変更、およびiii)デバイスステータスシミュレーションを、シミュレートする。
【0082】
ステップS106において、シミュレーションサーバ(SS)300は、シミュレートされたデバイス(SD)を特定する。
【0083】
ステップS107において、シミュレートされたデバイス(SD)がシミュレーションサーバ(SS)300内に見つかるかどうかが判定される。
【0084】
ステップS108において、シミュレートされたデバイス(SD)がシミュレーションサーバ(SS)300内に見つからないことがステップS107において判定される場合、シミュレーションサーバ(SS)300は、i)デバイス記述ファイルの中から読み取られた設定可能なデバイスパラメータおよび設定可能でないデバイスパラメータ、ならびにii)HARTデバイスステータスに対する導入された仮想パラメータを用いて、シミュレートされたデバイス(SD)を作成する。
【0085】
ステップS109において、ステップS108において構成が行われた後、シミュレーションサーバ(SS)300は、シミュレートされたHARTデバイス360およびシミュレートされたFFデバイス370などのシミュレートされたデバイス(SD)に通信要求を転送する。シミュレートされたデバイス(SD)がシミュレーションサーバ(SS)300内に見つかることがステップS107において判定される場合、シミュレーションサーバ(SS)300は、シミュレートされたHARTデバイス360およびシミュレートされたFFデバイス370などのシミュレートされたデバイス(SD)に通信要求を転送する。
【0086】
ステップS110において、シミュレートされたHARTデバイス360およびシミュレートされたFFデバイス370などのシミュレートされたデバイス(SD)による通信要求の受信時に、シミュレートされたHARTデバイス360およびシミュレートされたFFデバイス370などのシミュレートされたデバイス(SD)は、通信要求を解釈し、シミュレーションデータベース(SDB)330にアクセスする。次いで、シミュレートされたデバイス(SD)は、通信応答を作り、通信応答をシミュレーションサーバ(SS)300に戻す。
【0087】
ステップS111において、シミュレーションサーバ(SS)300は、シミュレートされたHARTデバイス360およびシミュレートされたFFデバイス370などのシミュレートされたデバイス(SD)から戻されている通信応答を、デバイス管理システム1000におけるデバイス管理クライアント(DMC)110内のシミュレーションユーザインターフェース(SIMULATION UI)111に配送する。
【0088】
シミュレーションサーバ(SS)300内のシミュレーションサーバツール(SST)320を用いたシミュレーション用の個々のデバイスの作成
図3は、シミュレーションサーバ(SS)300内のシミュレーションサーバツール(SST)320を用いたシミュレーション用の個々のデバイスを作成するためのプロセスのフローチャートである。
図4は、表示スクリーン上で表示されるシミュレーションサーバツール(SST)320の一例の図である。
【0089】
デバイス管理サーバ(DMS)120内のフィールドデバイスデータベース(FDDB)121の同期の他に、技術者はまた、シミュレーションサーバツール(SST)320を用いてシミュレートされたプラントネットワーク階層(SIMULATED PNH)に個々のデバイスを追加することが可能となる。
【0090】
図3を参照すると、シミュレーションサーバ(SS)300内のシミュレーションサーバツール(SST)320を用いたシミュレーション用の個々のデバイスを作成するためのプロセスが説明される。
【0091】
ステップS201において、シミュレーションサーバツール(SST)320が起動される。
【0092】
ステップS202において、シミュレーションサーバツール(SST)320は、シミュレーションサーバ(SS)300内のシミュレーションデータベース(SDB)330内のシミュレートされたプラントネットワーク階層(SIMULATED PNH)中の1つまたは複数のセグメントを選択する。
【0093】
ステップS203において、シミュレーションサーバツール(SST)320は、HARTデバイス記述サービス(HART DD)340を用いて、かつFFデバイス記述サービス(FF DD)350を用いて、デバイス記述ファイル(DDファイル)を選択する。シミュレーションサーバツール(SST)320は、デバイス記述ファイル(DDファイル)からデバイスタイプを選択する。シミュレーションサーバツール(SST)320は、選択されたデバイス記述ファイル(DDファイル)からパラメータ情報を取り出す。シミュレーションサーバツール(SST)320は、シミュレーションデータベース(SDB)330を作成する。
【0094】
ステップS204において、通信要求処理構成要素(CRH)240は、通信要求を制御バスドライバ(CBD)250からシミュレーションサーバ(SS)300に切り替える。通信要求は、デバイス管理クライアント(DMC)110から発信する。シミュレーションモードが有効化されると、通信要求処理構成要素(CRH)240は、通信要求を制御バスドライバ(CBD)250からシミュレーションサーバ(SS)300に切り替える。
【0095】
ステップS205において、自動的に開始されたシミュレーションサーバ(SS)300を入手するとともに、シミュレーションデータベース330によってシミュレートされたデバイス(SD)を作成するために、シミュレーションユーザインターフェース(SIMULATION UI)111が起動される。
【0096】
ステップS206において、デバイスシミュレーションサーバ(SS)300によって、デバイス構成のために、技術者は、シミュレーションユーザインターフェース(SIMULATION UI)111を用いて、i)設定可能なデバイスパラメータの値変更、ii)設定可能でないデバイスパラメータの値変更、およびiii)デバイスステータスシミュレーションを、シミュレートする。
【0097】
ステップS207において、デバイス管理システム1000におけるデバイス管理クライアント(DMC)110の機能が実行される。シミュレーションサーバ(SS)300内のシミュレートされたHARTデバイス360およびシミュレートされたFFデバイス370などのシミュレートされたデバイス(SD)へ、通信要求が送られる。シミュレートされたデバイス(SD)は、通信応答を作り、通信応答をシミュレーションサーバ(SS)300に戻す。シミュレーションサーバ(SS)300は、シミュレートされたHARTデバイス360およびシミュレートされたFFデバイス370などのシミュレートされたデバイス(SD)から戻されている通信応答を、デバイス管理システム1000におけるデバイス管理クライアント(DMC)110内のシミュレーションユーザインターフェース(SIMULATION UI)111に配送する。
【0098】
設定可能なデバイスパラメータ/設定可能でないデバイスパラメータのシミュレーション
上記で説明したように、i)設定可能なデバイスパラメータの値変更、およびii)設定可能でないデバイスパラメータの値変更が、シミュレートされる。
【0099】
図5は、表示スクリーン上で表示される設定可能なデバイスパラメータおよび設定可能でないデバイスパラメータの図である。
【0100】
設定可能でないデバイスパラメータは、限定はしないが、フィールドデバイスの主要な変数値を含んでよい。設定可能でないデバイスパラメータが、センサーハードウェアによって検出されるような実際の物理量測定値を反映するので、設定可能でないデバイスパラメータは、読取り専用デバイスパラメータであり、変更され得ない。フィールドデバイスとして温度センサーの場合には、設定可能でないデバイスパラメータは、温度センサーデバイスの主要な変数値を含む。設定可能でないデバイスパラメータが、温度センサーハードウェアによって検出されるような実際の温度測定値を反映するので、設定可能でないデバイスパラメータは、読取り専用デバイスパラメータであり、変更され得ない。
【0101】
デバイスシミュレーションは、任意の温度値、たとえば、摂氏0度、摂氏33度を自由にシミュレートすることが可能となるように値を変更するために、設定可能なパラメータを変更することと類似の方法を提供する。
【0102】
シミュレーションユーザインターフェース(SIMULATION UI)111は、技術者が、異なるユーザ入力を様々なデータタイプに適用するために、たとえば、ストリング値または浮動値はテキストボックスを使用する、列挙値はドロップダウンリストを使用する、ビット列挙は専用のダイアログを使用するなどのために、構成される。シミュレータデータベース内の値を変更することによって、読取り専用パラメータに対する任意の望ましい値のシミュレーションが達成される。
【0103】
デバイスステータスのシミュレーション
HARTデバイスステータスは、デバイスの実際の条件または動作上のステータスを反映する。デバイスシミュレーションは、任意のデバイス条件、たとえば、正常、メンテナンスが必要、デバイスの故障をシミュレートすることが可能となるように、デバイス値を変更するための方法を提供する。
【0104】
図6は、シミュレーションユーザインターフェースにおけるデバイスステータスをシミュレートする一例の図である。
【0105】
シミュレーションユーザインターフェース(SIMULATION UI)111は、デバイスステータスのシミュレーションのために使用され得る。同様に、他の設定可能でないパラメータに対して、シミュレーションユーザインターフェース(SIMULATION UI)111においてパラメータ値が修正および/またはシミュレートされ得、デバイスステータスもシミュレートされ得る。シミュレーションユーザインターフェース(SIMULATION UI)111は、デバイスステータスの各ビットを解釈および表示し、技術者がデバイスステータスの各ビットの値を変更し、次いで、シミュレーションのためにシミュレーションデータベース(SDB)330にセーブすることを可能にする。
【0106】
デバイス記述ファイルを用いたHART通信のシミュレーション
HARTデバイスをシミュレートするためのシミュレーション機能は、より広い範囲の高度なアプリケーションをサポートするように、HARTに対して「パラメータを基にしたトランザクション」(OSIレイヤ8)と「HARTコマンド」(OSIレイヤ7)の両方をサポートする。
【0107】
アプリケーション(レイヤ7)とHARTデバイスとの間の通信は、限定はしないが、基本的にバイナリデータのストリームであるHARTコマンド中で符号化された、要求および応答を含んでよい。
【0108】
通常、アプリケーションから送られるHART通信要求は、HARTデバイスによって処理され、HARTデバイスは、対応するHART通信応答をアプリケーションに返送することによって応答する。
【0109】
デバイスシミュレーションの場合には、HART通信要求は、デバイスシミュレーション機能によって処理される。デバイスシミュレーション機能は、HART通信要求を解釈するとともに対応するHART通信応答を戻すためのロジックを有する。すべてのコマンドトランザクション構造に対するパラメータ情報は、シミュレートされたデバイス360が作成されるときにHARTデバイス記述サービス(HART DD)340を用いてデバイス記述ファイルから取り出され、シミュレートされたデバイスによって保持される。パラメータ情報は、通信要求または通信応答に関与するパラメータに対して、コマンドトランザクションのためのパラメータタイプ、パラメータサイズ、パラメータのオフセットを含む。シミュレートされたデバイス(SD)において通信要求が受信されると、シミュレートされたデバイスは、以下のプロセスによって要求を処理する。
1)通信要求内のパラメータオフセット、およびパラメータサイズに基づいて、コマンドに対する要求パラメータを探索する。
2)要求内のパラメータ値のバイトを切り下げ、パラメータタイプに従ってパラメータ値を復号し、シミュレーションデータベース330にパラメータ値を書き込む。
3)応答パラメータに対するパラメータ値をシミュレーションデータベース330から読み取る。
4)パラメータタイプに従ってパラメータ値を符号化し、通信応答内のパラメータオフセット、およびパラメータサイズに基づいて、通信応答バイトを作る。
【0110】
HARTデバイスをシミュレートするためのシミュレーション機能は、デバイス記述(DD)情報が利用可能である限り、デバイスシミュレーション機能内のデバイス記述(DD)情報を使用することによって、汎用コマンド、慣例コマンド、ならびに任意の製造業者および任意のモデルに対するデバイス固有コマンドをサポートする。
【0111】
いくつかのHARTフィールドデバイスは、すべての汎用コマンドおよび慣例コマンド(HARTコマンド)をサポートするとは限らない。デバイスシミュレーションは、それらのHARTデバイスが汎用コマンドおよび慣例コマンドをサポートしない場合でも必要なときに、HART Foundationによって提供されるHART仕様に従って、これらのコマンド(汎用コマンドおよび慣例コマンド)のためのデフォルトの実装を提供する。
【0112】
図7は、デバイス記述ファイルに基づくHARTデバイスシミュレーションの実装のフローチャートである。
【0113】
ステップS301において、デバイス記述(DD)ファイルが、HARTデバイス記述サービス(HART DD)340のライブラリにロードされる。
【0114】
ステップS302において、HARTデバイス記述サービス(HART DD)340を用いてデバイス記述(DD)ファイルからすべてのパラメータ情報が取り出される。パラメータ情報は、限定はしないが、パラメータサイズ、パラメータタイプ、通信要求内のオフセット、および応答を含んでよく、それらはシミュレートされたデバイスの任意のメモリ内に保持される。
【0115】
ステップS303において、シミュレートされたHARTデバイス360によって通信要求が受信される。
【0116】
ステップS304において、シミュレートされたHARTデバイス360による通信要求の受信時に、シミュレートされたHARTデバイス360は通信要求を分析する。
【0117】
ステップS305において、書込みのためにパラメータ情報が決定され、パラメータ情報はシミュレートされたデバイスメモリから取り出される。
【0118】
ステップS306において、シミュレーションデータベース(SDB)330にパラメータ値が書き込まれ、パラメータ値のバイトは、パラメータサイズ、および通信要求内のオフセットに基づいて、要求パラメータを得るために切り下げられ、パラメータ値は、パラメータタイプに従って復号される。
【0119】
ステップS307において、応答のためにパラメータ情報が決定され、シミュレートされたデバイスのメモリから応答パラメータが取り出される。
【0120】
ステップS308において、シミュレーションデータベース(SDB)330からパラメータ値が読み取られる。
【0121】
ステップS309において、通信応答が作られ、パラメータ値は、パラメータタイプおよびパラメータサイズに従ってバイトに符号化され、バイトは、それに応じてパラメータオフセットに基づいて通信応答に付加される。
【0122】
ステップS310において、通信応答がシミュレーションユーザインターフェース(SIMULATION UI)111に戻される。
【0123】
デバイス記述ファイルを用いたHART通信のシミュレーション(パラメータを基にしたトランザクション)
「パラメータを基にしたトランザクション」という用語は、パラメータ名、たとえば、「tag_name」読取りまたは「message」書込みを指定することによって、読取りトランザクションまたは書込みトランザクションをデバイスとともに実行することを指し、そのことは、本来ならHARTコマンドなどのいくつかの低レベルプロトコル固有コマンドまたはアドレス指定メカニズムを使用することによって行われなければならないことになる。
【0124】
図8は、HART用のデバイス記述ファイルを用いたデバイスシミュレーション(パラメータを基にしたトランザクション)を実現するためのプロセスのフローチャートである。
【0125】
ステップS401において、デバイス記述(DD)ファイルがロードされる。
【0126】
ステップS402において、HARTデバイス記述サービス(HART DD)340を用いてデバイス記述(DD)ファイルからすべてのパラメータ情報が取り出される。パラメータ情報は、限定はしないが、パラメータサイズ、パラメータタイプ、および応答を含んでよく、それらはシミュレートされたデバイスの任意のメモリ内に保持される。
【0127】
ステップS403において、シミュレートされたHARTデバイス360によって通信要求が受信される。
【0128】
ステップS404において、シミュレートされたHARTデバイス360による通信要求の受信時に、シミュレートされたHARTデバイス360は通信要求を分析する。
【0129】
ステップS405において、通信要求のタイプがシミュレートされたHARTデバイス360によってチェックされて、通信要求が「書込み」であるのかそれとも「読取り」であるのかをシミュレートされたHARTデバイス360による通信要求の分析に基づいて決定する。
【0130】
ステップS406において、通信要求のタイプが「書込み」であるものと決定される場合、シミュレーションデータベース(SDB)330にパラメータ値が書き込まれ、パラメータ値はパラメータタイプに従って変換または変更され、パラメータ値は、必要とされるバイトを直接復号することなく、シミュレーションデータベース(SDB)330に直接書き込まれる。
【0131】
ステップS407において、通信要求のタイプが「読取り」であるものと決定される場合、シミュレーションデータベース(SDB)330からパラメータ値が読み取られ、パラメータ値は、シミュレーションデータベース(SDB)330から読み取られ、次いで、パラメータ値は、パラメータタイプに従って変換または変更される。
【0132】
ステップS408において、パラメータ値を復号して必要とされるバイトにすることなく、デバイス管理クライアント(DMC)110内のシミュレーションユーザインターフェース(SIMULATION UI)111にパラメータ値が直接戻される。
【0133】
パラメータを基にしたトランザクションを用いたFF-H1通信のシミュレーション
FF-H1通信シミュレーションは、FF-H1アプリケーションレイヤおよびユーザアプリケーションの機能においてターゲットにされる。FF H1サービスとは、デバイスアドレス割当て、タグサービス発見、OD(オブジェクト記述)入手、NMOD(ネットワーク管理オブジェクト記述)入手、ディレクトリ情報、OD(オブジェクト記述)ディレクトリ情報入手、デバイス識別および/または稼働リスト入手、ブロックリストおよびブロックパラメータ読取り、ならびにブロックパラメータ書込みの、シミュレーションである。
【0134】
図9は、FF-H1通信シミュレーションのためのプロセスのフローチャートである。
【0135】
ステップS501において、デバイス記述(DD)ファイルがロードされる。
【0136】
ステップS502において、FFデバイス記述サービス(FF DD)350のデバイス記述ファイルからデバイス情報が取り出され、OD(オブジェクト記述)リスト、デバイスリスト、OD(オブジェクト記述)ディレクトリ情報、NMODディレクトリ情報、ブロックリスト、およびブロックパラメータリストの、サポート構造が作成される。
【0137】
ステップS503において、通信要求が受信される。
【0138】
ステップS504において、通信要求のタイプが分析される。
【0139】
ステップS505において、OD(オブジェクト記述)を入手すべきかどうかが決定される。
【0140】
ステップS506において、OD(オブジェクト記述)を入手することが必要であると決定される場合、OD(オブジェクト記述)リストからOD(オブジェクト記述)が入手される。
【0141】
ステップS507において、いかなるOD(オブジェクト記述)も入手することが必要でないと決定される場合、タグを入手すべきかどうかが決定される。
【0142】
ステップS508において、タグを入手することが必要であると決定される場合、デバイスリストからタグが入手される。
【0143】
ステップS509において、いかなるタグも入手することが必要でないと決定される場合、稼働リストを識別または入手すべきかどうかが決定される。
【0144】
ステップS510において、稼働リストを識別または入手することが必要であると決定される場合、デバイスリストからデバイス情報が入手される。
【0145】
ステップS511において、稼働リストを識別または入手することが必要でないと決定される場合、FMS(Fieldbusメッセージ仕様)を読み取る/ブロックリストを読み取るべきかどうかが決定される。
【0146】
ステップS512において、FMS(Fieldbusメッセージ仕様)を読み取る/ブロックリストを読み取ることが必要であると決定される場合、ブロックリストからブロック情報が入手される。
【0147】
ステップS513において、FMS(Fieldbusメッセージ仕様)を読み取る/ブロックパラメータを読み取ることが必要でないと決定される場合、FMS(Fieldbusメッセージ仕様)を読み取る/ブロックパラメータを読み取るべきかどうかが決定される。
【0148】
ステップS514において、FMS(Fieldbusメッセージ仕様)を読み取る/ブロックパラメータを読み取ることが必要であると決定される場合、ブロックパラメータリストからブロックパラメータが読み取られる。
【0149】
ステップS515において、FMS(Fieldbusメッセージ仕様)を読み取る/ブロックパラメータを読み取ることが必要でないと決定される場合、FMS(Fieldbusメッセージ仕様)を書き込む/ブロックパラメータを書き込むべきかどうかが決定される。
【0150】
ステップS516において、FMS(Fieldbusメッセージ仕様)を書き込む/ブロックパラメータを書き込むことが必要であると決定される場合、ブロックパラメータリストにFMS(Fieldbusメッセージ仕様)/ブロックパラメータが書き込まれる。
【0151】
ステップS517において、ブロックパラメータリストにFMS(Fieldbusメッセージ仕様)を書き込む/ブロックパラメータを書き込むことが必要でないと決定される場合、デバイス管理クライアント(DMC)110のシミュレーションユーザインターフェース(SIMULATION UI)111に、応答データが戻される。
【0152】
HARTおよびFF通信プロトコルの事例において説明が行われているが、本明細書で説明するシミュレーション方法はISA100およびProfibusにも適用可能であり得る。
【0153】
シミュレートされたデバイスとのデバイス管理システム通信
図10は、シミュレートされたデバイス(SD)とのデバイス管理システム1000の通信のプロセスのフローチャートである。
【0154】
ステップS601において、デバイス管理システム1000のデバイス管理サーバ(DMS)120のフィールドデバイスデータベース(FDDB)121が、シミュレーションサーバ(SS)300に同期される。
【0155】
ステップS602において、デバイス管理システム1000においてシミュレーションモードが有効化される。
【0156】
ステップS603において、デバイス管理システム1000の機能が実行される。
【0157】
ステップS604において、デバイス管理システム1000の機能によって、デバイス管理クライアント(DMC)110からシミュレーションサーバ(SS)300へ通信要求が送られる。
【0158】
ステップS605において、シミュレートされたデバイスがシミュレーションサーバ(SS)300によってインスタンス化されているかどうかが判定される。
【0159】
ステップS606において、シミュレートされたデバイスがシミュレーションサーバ(SS)300によってインスタンス化されていないことが判定される場合、シミュレートされたデバイスはシミュレーションサーバ(SS)300によってインスタンス化される。
【0160】
ステップS607において、シミュレートされたデバイスがシミュレーションサーバ(SS)300によってインスタンス化されていることが判定される場合、シミュレーションサーバ(SS)300によってシミュレートされたデバイスへ通信要求が送られる。
【0161】
ステップS608において、シミュレートされたデバイスによって通信要求が分析され、分析の結果としての応答データが、シミュレートされたデバイスによって生成され、シミュレートされたデバイスによってシミュレーションサーバ(SS)300へ返送される。
【0162】
ステップS609において、シミュレーションサーバ(SS)300によってデバイス管理クライアント(DMC)110へ応答が送られる。
【0163】
ステップS610において、シミュレートされたデバイスからの応答は、デバイス管理システム1000の機能によって受信および処理される。
【0164】
上記で説明した実施形態におけるシステムおよび方法は、1つまたは複数のプロセッサ上でコンピュータソフトウェア、ソフトウェアコンポーネント、プログラムコード、および/または命令を実行する、機械または回路構成を通じて、部分的または全体的に展開され得る。1つまたは複数のプロセッサは、汎用コンピュータ、サーバ、クラウドサーバ、クライアント、ネットワーク基盤、移動式コンピューティングプラットフォーム、固定式コンピューティングプラットフォーム、または他のコンピューティングプラットフォームの一部であってよい。1つまたは複数のプロセッサは、任意の種類の計算デバイスもしくは処理デバイス、またはプログラム命令、コード、バイナリ命令などを実行することが可能なデバイスであってよい。1つまたは複数のプロセッサは、その上に記憶されたプログラムコードまたはプログラム命令の実行を直接または間接的に容易にし得る、シグナルプロセッサ、デジタルプロセッサ、組込みプロセッサ、マイクロプロセッサ、またはコプロセッサ、たとえば、数値演算コプロセッサ、グラフィックスコプロセッサ、通信コプロセッサなどの、任意の変形形態であってよく、またはそれらを含んでもよい。加えて、1つまたは複数のプロセッサは、複数のプログラム、スレッド、およびコードの実行を可能にし得る。1つまたは複数のプロセッサの性能を向上させるために、かつアプリケーションの同時動作を容易にするために、スレッドは同時に実行され得る。本明細書で説明するプログラムコード、プログラム命令などは、1つまたは複数のスレッドにおいて実施され得る。1つまたは複数のプロセッサは、本明細書で説明するように、コード、命令、およびプログラムを記憶するメモリを含んでよい。プロセッサは、本明細書および他の場所で説明するように、コード、命令、およびプログラムを記憶し得る非一時的プロセッサ可読記憶媒体に、インターフェースを通じてアクセスし得る。プログラム、コード、プログラム命令、またはコンピューティングデバイスもしくは処理デバイスによって実行されることが可能な他のタイプの命令を記憶するためのプロセッサに関連する、非一時的プロセッサ可読記憶媒体は、メモリ、ハードディスク、フラッシュドライブ、RAM、ROM、CD-ROM、DVD、キャッシュなどのうちの1つまたは複数を含んでよいが、それらに限定されない。
【0165】
プロセッサは、マルチプロセッサの速度および性能を向上させ得る1つまたは複数のコアを含んでよい。いくつかの実施形態では、プロセスは、2つ以上の独立したコアを組み合わせるデュアルコアプロセッサ、クワッドコアプロセッサ、他のチップレベルのマルチプロセッサなどであってよい。
【0166】
本明細書で説明する方法およびシステムは、サーバ、クライアント、ファイアウォール、ゲートウェイ、ハブ、ルータ、または他のそのようなコンピュータハードウェアおよび/もしくはネットワーキングハードウェアにおいてコンピュータソフトウェアを実行する機械を通じて、部分的または全体的に展開され得る。
【0167】
ソフトウェアプログラムは、ファイルクライアント、プリントクライアント、ドメインクライアント、インターネットクライアント、イントラネットクライアント、および2次クライアント、ホストクライアント、分散クライアントなどの他の変形形態を含んでよい、1つまたは複数のクライアントに関連し得る。クライアントは、メモリ、プロセッサ、コンピュータ可読媒体、記憶媒体、物理ポートおよび仮想ポート、通信デバイス、ならびに有線媒体または無線媒体を通じて他のクライアント、サーバ、機械、およびデバイスにアクセスすることが可能なインターフェースなどのうちの、1つまたは複数を含んでよい。本明細書で説明するようなプログラムまたはコードは、クライアントによって実行され得る。加えて、本出願で説明するような方法の実行のために必要とされる他のデバイスは、クライアントに関連する基盤の一部と見なされてよい。クライアントは、サーバ、他のクライアント、プリンタ、データベースサーバ、プリントサーバ、ファイルサーバ、通信サーバ、分散サーバなどを含む他のデバイスに、インターフェースを提供し得る。この結合および/または接続は、ネットワークを横断するプログラムの遠隔実行を容易にし得る。これらのデバイスのうちの一部または全部のネットワーキングは、1つまたは複数のロケーションにおけるプログラムまたは方法の並行処理を容易にし得る。加えて、インターフェースを通じてクライアントに取り付けられたデバイスのうちのいずれも、方法、プログラム、アプリケーション、コード、および/または命令を記憶することが可能な少なくとも1つの記憶媒体を含んでよい。中央リポジトリが、異なるデバイス上で実行されるべきプログラム命令を提供し得る。この実装では、リモートリポジトリは、プログラムコード、命令、およびプログラムのための記憶媒体の働きをし得る。
【0168】
ソフトウェアプログラムは、ファイルサーバ、プリントサーバ、ドメインサーバ、インターネットサーバ、イントラネットサーバ、および2次サーバ、ホストサーバ、分散サーバなどの他の変形形態などを含んでよい、1つまたは複数のサーバに関連し得る。サーバは、メモリ、プロセッサ、コンピュータ可読媒体、記憶媒体、物理ポートおよび仮想ポート、通信デバイス、ならびに有線媒体または無線媒体を通じて他のサーバ、クライアント、機械、およびデバイスにアクセスすることが可能なインターフェースなどのうちの、1つまたは複数を含んでよい。本明細書で説明するような方法、プログラム、またはコードは、サーバによって実行され得る。加えて、本出願で説明するような方法の実行のために必要とされる他のデバイスは、サーバに関連する基盤の一部と見なされてよい。サーバは、クライアント、他のサーバ、プリンタ、データベースサーバ、プリントサーバ、ファイルサーバ、通信サーバ、分散サーバ、ソーシャルネットワークなどを含む他のデバイスに、インターフェースを提供し得る。この結合および/または接続は、ネットワークを横断するプログラムの遠隔実行を容易にし得る。これらのデバイスのうちの一部または全部のネットワーキングは、1つまたは複数のロケーションにおけるプログラムまたは方法の並行処理を容易にし得る。インターフェースを通じてサーバに取り付けられたデバイスのうちのいずれも、プログラム、コード、および/または命令を記憶することが可能な少なくとも1つの記憶媒体を含んでよい。中央リポジトリが、異なるデバイス上で実行されるべきプログラム命令を提供し得る。この実装では、リモートリポジトリは、プログラムコード、命令、およびプログラムのための記憶媒体の働きをし得る。
【0169】
本明細書で説明する方法およびシステムは、ネットワーク基盤を通じて部分的または全体的に展開され得る。ネットワーク基盤は、当技術分野で知られているように、コンピューティングデバイス、サーバ、ルータ、ハブ、ファイアウォール、クライアント、パーソナルコンピュータ、通信デバイス、ルーティングデバイス、ならびに他の能動デバイスおよび受動デバイス、モジュールおよび/またはコンポーネントなどの要素を含んでよい。ネットワーク基盤に関連するコンピューティングデバイスおよび/または非コンピューティングデバイスは、他の構成要素は別として、フラッシュメモリ、バッファ、スタック、RAM、ROMなどの記憶媒体を含んでよい。本明細書および他の場所で説明するプロセス、方法、プログラムコード、命令は、ネットワーク基盤要素のうちの1つまたは複数によって実行され得る。
【0170】
本明細書および他の場所で説明する方法、プログラムコード、および命令は、モバイルデバイス上で、またはモバイルデバイスを通じて、実施され得る。モバイルデバイスは、ナビゲーションデバイス、セルフォン、モバイルフォン、移動式携帯情報端末、ラップトップ、パームトップ、ネットブック、ページャ、電子ブックリーダー、音楽プレーヤなどを含んでよい。これらのデバイスは、他の構成要素は別として、フラッシュメモリ、バッファ、RAM、ROM、および1つまたは複数のコンピューティングデバイスなどの記憶媒体を含んでよい。モバイルデバイスに関連するコンピューティングデバイスは、その上に記憶されたプログラムコード、方法、および命令を実行することを可能にされ得る。代替として、モバイルデバイスは、他のデバイスと共同して命令を実行するように構成され得る。モバイルデバイスは、サーバとインターフェースされるとともに、プログラムコードを実行するように構成された基地局と、通信し得る。モバイルデバイスは、ピアツーピアネットワーク、メッシュネットワーク、または他の通信ネットワーク上で通信し得る。プログラムコードは、サーバに関連するとともに、サーバ内に組み込まれたコンピューティングデバイスによって実行される記憶媒体上に、記憶され得る。基地局は、コンピューティングデバイスおよび記憶媒体を含んでよい。記憶デバイスは、基地局に関連するコンピューティングデバイスによって実行されるプログラムコードおよび命令を記憶し得る。
【0171】
コンピュータソフトウェア、プログラムコード、および/または命令は、いくらかの時間区間にわたって、コンピューティングのために使用されるデジタルデータを保持するコンピュータ構成要素、デバイス、および記録媒体、ランダムアクセスメモリ(RAM)と呼ばれる半導体ストレージ、光ディスク、ハードディスク、テープ、ドラム、カード、および他のタイプのような磁気ストレージの形態などの、通常はもっと永続的な記憶用の大容量ストレージ、プロセッサレジスタ、キャッシュメモリ、揮発性メモリ、不揮発性メモリ、CD、DVDなどの光ストレージ、フラッシュメモリ、たとえば、USBスティックまたはUSBキー、フロッピーディスク、磁気テープ、紙テープ、パンチカード、スタンドアロンのRAMディスク、ジップドライブ、リムーバブル大容量ストレージ、オフラインなどのリムーバブル媒体、ダイナミックメモリ、スタティックメモリ、読取り/書込みストレージ、ミュータブルストレージ、読取り専用、ランダムアクセス、逐次アクセス、ロケーションアドレス指定可能、ファイルアドレス指定可能、コンテンツアドレス指定可能、ネットワーク接続ストレージ、ストレージエリアネットワーク、バーコード、磁性インクなどの他のコンピュータメモリを含んでよい、機械可読媒体上で記憶および/またはアクセスされ得る。
【0172】
本明細書で説明する方法、デバイス、装置、およびシステムは、物理的かつ/または無形のアイテムを、ある状態から別の状態に変換し得る。本明細書で説明する方法およびシステムはまた、物理的かつ/または無形のアイテムを表すデータを、ある状態から別の状態に変換し得る。
【0173】
図面全体にわたるフローチャートおよびブロック図の中を含めて、本明細書で説明するモジュール、エンジン、構成要素、および要素は、モジュール、エンジン、構成要素、および要素の間の論理的な境界を暗示する。しかしながら、ソフトウェアまたはハードウェアの技術的手法に従って、モジュール、エンジン、構成要素、および要素、ならびにそれらの機能は、コンピュータ実行可能媒体を通じて1つまたは複数のプロセッサ、コンピュータ、機械上で実施されてよく、それらはモノリシックソフトウェア構造として、スタンドアロンソフトウェアモジュールとして、または外部のルーチン、コード、サービス、もしくはこれらのものの任意の組合せを採用するモジュールとして、その上に記憶されたプログラム命令を実行することが可能であり、そのようなすべての実装は本開示の範囲内にあり得る。そのような機械の例は、限定はしないが、携帯情報端末、ラップトップ、パーソナルコンピュータ、モバイルフォン、他のハンドヘルドコンピューティングデバイス、医療機器、有線または無線通信デバイス、トランスジューサ、チップ、計算器、衛星、タブレットPC、電子ブック、ガジェット、電子デバイス、人工知能を有するデバイス、コンピューティングデバイス、ネットワーキング機器、サーバ、ルータ、プロセッサ組込み式アイウェアなどを含んでよい。さらに、フローチャートおよびブロック図の中のモジュール、エンジン、構成要素、および要素、または任意の他の論理構成要素は、プログラム命令を実行することが可能な1つまたは複数の機械、コンピュータ、またはプロセッサ上で実施され得る。上記の説明および説明が参照されている図面は、開示するシステムのいくつかの機能的態様を記載するが、これらの機能的態様を実現するためのソフトウェアの特定の構成は、明示的に述べられていないか、またはさもなければコンテキストから明瞭でない限り、これらの説明から推定されるべきでない。上記で特定および説明された様々なステップが変更され得ること、ならびにステップの順序が本明細書で開示する技法の特定の適用例に適合され得ることも、諒解されよう。そのようなすべての変形および修正は、本開示の範囲内に入るものとする。様々なステップに対する順序の説明は、特定の適用例によって必要とされない限り、あるいは明示的に述べられるか、またはさもなければコンテキストから明瞭でない限り、それらのステップに対して特定の実行順序を必要とするものと理解されるべきでない。
【0174】
上記で説明した方法および/またはプロセス、ならびにそれらのステップは、特定の適用例に適したハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの任意の組合せで実現され得る。ハードウェアは、汎用コンピュータおよび/または専用コンピューティングデバイス、あるいは特定のコンピューティングデバイス、または特定のコンピューティングデバイスの特定の態様もしくは構成要素を含んでよい。プロセスは、内部メモリおよび/または外部メモリと一緒に、1つまたは複数のマイクロプロセッサ、マイクロコントローラ、組込み式マイクロコントローラ、プログラマブルデジタルシグナルプロセッサ、または他のプログラマブルデバイスにおいて実現され得る。プロセスは、同様にまたは代わりに、特定用途向け集積回路、プログラマブルゲートアレイ、プログラマブルアレイロジック、または電子信号を処理するように構成され得る任意の他のデバイスまたはデバイスの組合せにおいて具現化されてよい。プロセスのうちの1つまたは複数が、機械可読媒体上で実行されることが可能なコンピュータ実行可能コードとして実現され得ることが、さらに諒解されよう。
【0175】
コンピュータ実行可能コードは、上記のデバイス、ならびにプロセッサの異種の組合せ、プロセッサアーキテクチャ、もしくは異なるハードウェアおよびソフトウェアの組合せ、またはプログラム命令を実行することが可能な任意の他の機械のうちの1つにおいて、記憶され得るとともに実行するようにコンパイルまたは解釈され得るオブジェクト指向プログラミング言語を使用して作成され得る。
【0176】
したがって、一態様では、上記で説明した各方法およびそれらの組合せは、1つまたは複数のコンピューティングデバイス上で実行するとき、それらのステップを実行するコンピュータ実行可能コードにおいて具現化されてよい。別の態様では、方法は、それらのステップを実行するとともにいくつかの方法でデバイスにわたって分散され得るシステムにおいて具現化されてよく、または機能のすべてが、専用のスタンドアロンデバイスまたは他のハードウェア内に統合されてもよい。別の態様では、上記で説明したプロセスに関連するステップを実行するための手段は、上記で説明したハードウェアおよび/またはソフトウェアのうちのいずれかを含んでよい。そのようなすべての並べ替えおよび組合せが、本開示の範囲内に入るものとする。
【0177】
本発明のいくつかの実施形態が説明されているが、これらの実施形態は、単に例として提示されており、本発明の範囲を限定するものではない。実際、本明細書で説明する新規の実施形態は、様々な他の形態で具現化されてよく、さらに、本明細書で説明する実施形態の形態での様々な省略、置換、および変更が、本発明の趣旨から逸脱することなく行われてよい。添付の特許請求の範囲およびそれらの均等物は、本発明の範囲内および趣旨内に入ることになるような形態または修正を包含するものとする。
【符号の説明】
【0178】
110 デバイス管理クライアント(DMC)
111 シミュレーションユーザインターフェース(SIMULATION UI)
120 デバイス管理サーバ(DMS)
121 フィールドデバイスデータベース(FDDB)
200 フィールドデバイス通信サーバ(FDCS)
210 インターフェース標準サービス(OPC SERVICE)
220 HART通信マネージャ(HART CM)
230 FF通信マネージャ(FF CM)
240 通信要求処理構成要素(CRH)
250 制御バスドライバ(CBD)
300 シミュレーションサーバ(SS)
310 デバイスデータベース同期ツール(DDBSNC)
320 シミュレーションサーバツール(SST)
330 シミュレーションデータベース(SDB)
340 HARTデバイス記述サービス(HART DD)
350 FFデバイス記述サービス(FF DD)
360 シミュレートされたHARTデバイス
370 シミュレートされたFFデバイス
400 制御バスインターフェース
500 制御ネットワークインターフェース
600 制御局
700 物理HARTデバイス
800 物理FFデバイス
1000 デバイス管理システム