(57)【要約】【課題】  デバイスコントローラの役割等に関連した識別情報を自動的に生成する。【解決手段】  複数のデバイスｘ，ｙがフィールドバスＦＢｘ，ＦＢｙに接続されてなり、当該デバイスｘ，ｙと通信を行うデバイスコントローラＤ内のＩＤ生成部１０は、フィールドバスＦＢｘ，ＦＢｙの種類を識別するためにソフトウェアスタックスキャンをし、識別されたサブネットワークの種類に準拠した方式で通信を行ってデバイスの特徴を識別すると、フィールドバスＦＢｘ，ＦＢｙの特徴とデバイスｘ，ｙの特徴とからなるトポロジ情報を自己の識別情報とする。【選択図】      図２
2007200305.tif 000002
【特許請求の範囲】
【請求項１】
複数のデバイスがフィールドバスに接続されてなるサブネットワークが接続され、当該デバイスと通信を行うデバイスコントローラの識別情報自動生成装置であって、
前記サブネットワークの特徴を識別するサブネットワーク識別手段と、
前記サブネットワークに含まれるデバイスの特徴を識別するデバイス識別手段と、
前記サブネットワーク識別手段で識別されたサブネットワークの特徴と前記デバイス識別手段で識別されたデバイスの特徴との少なくとも一方からなるトポロジ情報を、自己の識別情報とする識別情報生成手段と
を備えることを特徴とする識別情報自動生成装置。
【請求項２】
前記サブネットワーク識別手段は、前記デバイスコントローラに格納されているソフトウェアスタック又はハードウェアスタックを検索して、当該デバイスコントローラに接続されているサブネットワークの特徴としてサブネットワークの種類又は個数の少なくとも一方を識別し、
前記識別情報生成手段は、前記サブネットワーク識別手段で識別されたサブネットワークの種類又は個数の少なくとも一方を含むトポロジ情報を自己の識別情報とすること
を特徴とする請求項１に記載の識別情報自動生成装置。
【請求項３】
前記デバイス識別手段は、前記サブネットワーク識別手段で識別されたサブネットワークに含まれるデバイスの特徴としてデバイスの種類又は個数の少なくとも一方を識別し、
前記識別情報生成手段は、前記デバイス識別手段で識別されたデバイスの種類又は個数の少なくとも一方を含むトポロジ情報を自己の識別情報とすることを特徴とする請求項１に記載の識別情報自動生成装置。
【請求項４】
前記デバイスコントローラは、前記デバイスコントローラがデバイスと通信するための構成記述情報を記憶したデータサーバと接続され、前記識別情報生成手段で生成された識別情報を送信する送信手段を更に備え、
前記データサーバは、前記識別情報生成手段で生成されて前記送信手段から送信された識別情報を受信した場合に、受信した識別情報に対応した構成記述情報を返信すること
を特徴とする請求項１乃至請求項３の何れか一項に記載の識別情報自動生成装置。
【請求項５】
各デバイスコントローラは、
他のデバイスコントローラがデバイスと通信するための構成記述情報を記憶する記憶手段と、
他のデバイスコントローラから送信された識別情報を受信した場合に、当該識別情報に対応した構成記述情報を返信する情報送信手段と
を更に備えることを特徴とする請求項１乃至請求項３の何れか一項に記載の識別情報自動生成装置。
【請求項６】
前記識別情報生成手段は、自己の識別情報を他のデバイスコントローラ又はデータサーバに送信して、自己の識別情報が他の識別情報と同一である応答を受けた場合に、当該送信した自己の識別情報とは異なり、新たなトポロジ情報から作成した自己の識別情報を生成すること
を特徴とする請求項４又は請求項５に記載の識別情報自動生成装置。
【請求項７】
複数のデバイスから構成されたサブネットワークが接続され、当該各デバイスで発生したイベントを外部に通知する処理と、外部からのリクエストを各デバイスに通知して、当該デバイスを動作させる処理との少なくとも一方を行うデバイスコントローラを複数備え、
それぞれのデバイスコントローラは、
自己に接続されたサブネットワークのデバイスと通信するため構成記述情報を記憶する構成記述情報記憶手段と、
前記構成記述情報を参照して、前記サブネットワークのデバイスと通信を行うデバイス制御手段と、
他のデバイスコントローラと通信回線を介して接続されて、当該他のデバイスコントローラと通信を行う通信手段と、
他のデバイスコントローラから送信されて前記通信手段で受信した構成記述情報を記憶し、当該他のデバイスコントローラの構成記述情報のバックアップメモリとして機能するバックアップ用記憶手段と、
前記構成記述情報記憶手段に記憶された自己の構成記述情報を他のデバイスコントローラのバックアップ用記憶手段に記憶させると共に、他のデバイスコントローラの構成記述情報を自己のバックアップ用記憶手段に記憶させる記憶制御手段と、
前記サブネットワークの特徴を識別するサブネットワーク識別手段と、
前記サブネットワークに含まれるデバイスの特徴を識別するデバイス識別手段と、
前記サブネットワーク識別手段で識別されたサブネットワークの特徴と前記デバイス識別手段で識別されたデバイスの特徴との少なくとも一方からなるトポロジ情報を、自己の識別情報とする識別情報生成手段とを備え、
前記記憶制御手段は、前記識別情報生成手段で生成された識別情報を、前記通信手段によって他のデバイスコントローラに送信させて自己の識別情報を通知し、他のデバイスコントローラのバックアップ用記憶手段に記憶された自己の構成記述情報を取得して、前記構成記述情報記憶手段に記憶させること
を特徴とする情報記憶システム。
【請求項８】
前記デバイスコントローラは、新規に通信回線に接続された場合に、前記サブネットワーク識別手段によって前記サブネットワークの特徴を識別し、前記デバイス識別手段によって前記サブネットワーク識別手段で識別されたサブネットワークの特徴に準拠した方式で通信を行い、当該サブネットワークに含まれるデバイスの特徴を識別し、前記識別情報生成手段によって前記サブネットワーク識別手段で識別されたサブネットワークの特徴と前記デバイス識別手段で識別されたデバイスの特徴とからなるトポロジ情報を、自己の識別情報として、前記記憶制御手段によって、他のデバイスコントローラから送信された自己の構成記述情報を取得して、前記構成記述情報記憶手段に記憶させること
を特徴とする請求項７に記載の情報記憶システム。
【請求項９】
複数のデバイスから構成されたサブネットワークが接続され、当該各デバイスで発生したイベントを外部に通知する処理と、外部からのリクエストを各デバイスに通知して、当該デバイスを動作させる処理との少なくとも一方を行うデバイスコントローラを複数備え、デバイスを動作させるための構成記述情報を多重記憶させた情報記憶システムの情報取得方法であって、
それぞれのデバイスコントローラは、
自己に接続されたサブネットワークの特徴を識別するステップと、
前記サブネットワークに含まれるデバイスの特徴を識別するステップと、
前記識別されたサブネットワークの特徴と前記識別されたデバイスの特徴との少なくとも一方からなるトポロジ情報を、自己の識別情報として生成するステップと、
前記識別情報を、通信回線を介して他のデバイスコントローラに配信するステップと、
他のデバイスコントローラに記憶された自己が動作してデバイスを動作させるための構成記述情報を取得して、記憶するステップと
を行うことを特徴とする情報記憶システムの情報取得方法。
【請求項１０】
前記サブネットワークの特徴を識別するステップは、新規に通信回線に接続された場合に開始することを特徴とする請求項９に記載の情報記憶システムの情報取得方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の設定情報に従ってデバイスを制御・監視するデバイスコントローラ間において当該設定情報を多重記憶させるシステムにおける識別情報自動生成装置、情報記憶システム及び情報記憶システムの情報取得方法に関する。
【背景技術】
【０００２】
従来より、汎用バスに複数のデバイスからなるサブネットワークがデバイスコントローラが接続され、デバイスコントローラに設定を行って、サブネットワークの制御等を可能にする必要がある。例えば、サーバに設定ファイルをバックアップしておいて、当該設定ファイルをインストールして機器を動作させる技術としては、下記の特許文献１等が挙げられる。
【０００３】
例えば、１０乃至１００個という多数のデバイスを監視・制御する複雑なサブネットワークにデバイスコントローラを接続させたネットワークにおいては、設定情報が複雑且つ膨大となることに対処するために、デバイスコントローラの設定情報をファイルとして管理している。
【０００４】
多数のデバイスを備えたシステムを構築する場合、作業者は、設定情報を格納したファイルとデバイスコントローラとを設置場所まで持参して、手作業によって設定情報を格納したファイルをデバイスコントローラにインストールしていた。この作業は、それぞれのデバイスコントローラにＩＤを与え、次に、当該ＩＤに対応する設定情報をファイルから探してインストールするといった手順であった。
【０００５】
このデバイスコントローラにＩＤを与える手法としては、デバイスコントローラに貼り付けられたステッカーに記載のシリアルナンバーを入力する手法や、例えばイーサネット（登録商標）チップに格納されているＭＡＣ（Media Access Control）アドレスのようにデバイスコントローラの構成部品に付加されているハードウェア識別子をデバイスコントローラの識別子に使用する手法がある。
【特許文献１】特開２００４−１０２４５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述したようにデバイスコントローラにＩＤを付加する手法は、システム全体におけるデバイスコントローラの役割や目的がどのようなものであっても、当該役割や目的には関連がないＩＤを付加している。したがって、複数のデバイスコントローラにＩＤを付加してデバイスコントローラを動作させる設定を行う作業には、作業者にとっては細心の注意が必要であった。
【０００７】
しかも、システムにおけるデバイスコントローラの役割や特徴と物理的な接続関係は異なるものであるので、デバイスコントローラにＩＤを付加する作業は、煩雑且つ設定ミスが発生しやすいものであった。
【０００８】
したがって、上述のデバイスコントローラに貼り付けられたステッカーに記載のＩＤをデバイスコントローラのＩＤとする手法は、他のデバイスコントローラとは全く関係が無いものであり、各デバイスコントローラにＩＤを付加して動作設定をすることが困難な作業となっていた。また、デバイスコントローラの構成部品のＩＤを使用する場合には、ＩＤ設定後において目視などで確認することができず、適切に作業が完了したかの信頼性が低かった。
【０００９】
そこで、本発明は、上述した実情に鑑みて提案されたものであり、デバイスコントローラの役割等に関連した識別情報を与えることができる識別情報自動生成装置、情報記憶システム及び情報記憶システムの情報取得方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、複数のデバイスがフィールドバスに接続されてなるサブネットワークが接続され、当該デバイスと通信を行うデバイスコントローラの識別情報自動生成装置であって、サブネットワークの特徴を識別するサブネットワーク識別手段と、サブネットワークに含まれるデバイスの特徴を識別するデバイス識別手段と、サブネットワーク識別手段で識別されたサブネットワークの特徴とデバイス識別手段で識別されたデバイスの特徴との少なくとも一方からなるトポロジ情報を、自己の識別情報とする識別情報生成手段とを備える。
【００１１】
本発明に係る情報記憶システムは、複数のデバイスから構成されたサブネットワークが接続され、当該各デバイスで発生したイベントを外部に通知する処理と、外部からのリクエストを各デバイスに通知して、当該デバイスを動作させる処理との少なくとも一方を行うデバイスコントローラを複数備え、それぞれのデバイスコントローラは、自己に接続されたサブネットワークのデバイスと通信するため構成記述情報を記憶する構成記述情報記憶手段と、構成記述情報を参照して、サブネットワークのデバイスと通信を行うデバイス制御手段と、他のデバイスコントローラと通信回線を介して接続されて、当該他のデバイスコントローラと通信を行う通信手段と、他のデバイスコントローラから送信されて通信手段で受信した構成記述情報を記憶し、当該他のデバイスコントローラの構成記述情報のバックアップメモリとして機能するバックアップ用記憶手段と、構成記述情報記憶手段に記憶された自己の構成記述情報を他のデバイスコントローラのバックアップ用記憶手段に記憶させると共に、他のデバイスコントローラの構成記述情報を自己のバックアップ用記憶手段に記憶させる記憶制御手段とを備える。
【００１２】
この情報記憶システムは、上述の課題を解決するために、サブネットワークの特徴を識別するサブネットワーク識別手段と、サブネットワークに含まれるデバイスの特徴を識別するデバイス識別手段と、サブネットワーク識別手段で識別されたサブネットワークの特徴とデバイス識別手段で識別されたデバイスの特徴との少なくとも一方からなるトポロジ情報を、自己の識別情報とする識別情報生成手段とを備え、記憶制御手段は、識別情報生成手段で生成された識別情報を、通信手段によって他のデバイスコントローラに送信させて自己の識別情報を通知し、他のデバイスコントローラのバックアップ用記憶手段に記憶された自己の構成記述情報を取得して、構成記述情報記憶手段に記憶させる。
【００１３】
本発明に係る情報記憶システムの情報取得方法は、複数のデバイスから構成されたサブネットワークが接続され、当該各デバイスで発生したイベントを外部に通知する処理と、外部からのリクエストを各デバイスに通知して、当該デバイスを動作させる処理との少なくとも一方を行うデバイスコントローラを複数備え、デバイスを動作させるための構成記述情報を多重記憶させた情報記憶システムの情報取得方法であって、それぞれのデバイスコントローラは、自己に接続されたサブネットワークの特徴を識別するステップと、サブネットワークに含まれるデバイスの特徴を識別するステップと、識別されたサブネットワークの特徴と識別されたデバイスの特徴との少なくとも一方からなるトポロジ情報を、自己の識別情報として生成するステップと、識別情報を、通信回線を介して他のデバイスコントローラに配信するステップと、他のデバイスコントローラに記憶された自己が動作してデバイスを動作させるための構成記述情報を取得して、記憶するステップとを行う。
【発明の効果】
【００１４】
本発明に係る識別情報自動生成装置、情報記憶システム及び情報記憶システムの情報取得方法によれば、デバイスコントローラに接続されたサブネットワークの特徴と、当該サブネットワークを構成するデバイスの特徴とからなるトポロジ情報を自己の識別情報にして、識別情報を自動的に生成できるので、当該識別情報の設定ミスの未然防止、設定時間の短縮、設定コストの削減を実現できる。また、デバイスコントローラの役割等に関連した識別情報を与えることができ、管理者等に分かりやすい識別情報を作成できる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態について図面を参照して説明する。
【００１６】
本発明は、図１に示すように、複数のデバイス（ＴＵ（tarminal unit））が接続されたフィールドバス（ＦＢ）と接続されたデバイスコントローラＤｉにおけるＩＤ生成部１０に適用される。
【００１７】
このデバイスコントローラＤｉは、内部に、フィールドバスの特徴及びデバイスの特徴を識別してデバイスコントローラＩＤを生成するＩＤ生成部１０を備える。このＩＤ生成部１０は、フィールドバスの特徴を識別すると、当該識別した情報を、自己の識別子であるデバイスコントローラＩＤ（Ｓｉ）に設定することを特徴とするものである。例えばフィールドバスの種類、個数、フィールドバスに接続されたデバイスの種類、個数に基づいてデバイスコントローラＩＤを生成する。
【００１８】
例えば、デバイスコントローラＤｉに識別子が与えられていない状態で新規にフィールドバスに接続された場合に、デバイスコントローラＤｉは、作業者の手動によってデバイスコントローラＩＤが与えられなくても、自動的にデバイスコントローラＩＤを設定して、自動的にフィールドバスのデバイス群を監視・制御するための情報（構成記述情報）を取得することができる。これによって、既存の手作業の設定で必要であった、ＩＤ付加作業、構成記述情報の検索作業、構成記述情報のインストール作業等の手間をなくして、設定ミスの未然防止、設定時間の短縮、装置コストの低減等を実現する。
【００１９】
デバイスコントローラＤｉは、図２に示すように、自己のデバイスコントローラＩＤを生成する時、先ず、ＩＤ生成部１０によって、デバイスコントローラＤｉ内部のソフトウェアスタック（階層的な構成）を検索する（手順１、サブネットワーク識別手段）。このとき、ＩＤ生成部１０は、ソフトウェアスタックのみならず、ハードウェアスタックについても検索することが望ましい。これによって、ＩＤ生成部１０は、デバイスコントローラＤｉに接続されているフィールドバスの特徴を羅列したフィールドバスリストを作成して、フィールドバスＦＢｘ，ＦＢｙが接続されていることを認識する。このフィールドバスＦＢｘ，ＦＢｙの情報とは、フィールドバスＦＢｘ，ＦＢｙの特徴であって、例えば、どのようなプロトコルに従ってデバイスを制御・監視するかを示すフィールドバスＦＢｘ，ＦＢｙの種類又は個数を表す情報である。
【００２０】
次に、ＩＤ生成部１０は、フィールドバスＦＢｘ，ＦＢｙの特徴に準拠した方式によって、それぞれのＦＢｘインターフェース、ＦＢｙインターフェースを動作させて、フィールドバスＦＢｘ，ＦＢｙに接続されているデバイスを検索する（手順２、デバイス識別手段）。これによって、ＩＤ生成部１０は、フィールドバスＦＢｘに接続されているデバイスとして、デバイスｘ２，ｘ３，ｘ１，ｘ２，ｘ２が接続されていることが認識でき、フィールドバスＦＢｙに接続されているデバイスとして、デバイスｙ１，ｙ１，ｙ２，ｙ１が接続されていることが認識できる。このデバイスｘ，ｙの情報とは、デバイスｘ，ｙの特徴であって、例えば、デバイスの種類（センサ、アクチュエータ、照明）又は個数を示す情報である。
【００２１】
次に、ＩＤ生成部１０は、手順２で取得したフィールドバスＦＢｘ，ＦＢｙの情報とデバイスｘ，ｙの情報とを集約して、｛ＦＢｘ，ＦＢｙ，ｘ２，ｘ３，ｘ１，ｘ２，ｘ２，ｙ１，ｙ１，ｙ２，ｙ１｝というトポロジ情報を作成し、このデータを｛ＦＢｘ，ＦＢｙ，ｘ１，ｘ２，ｘ２，ｘ２，ｘ３，ｙ１，ｙ１，ｙ１，ｙ２｝といったように整理する。次にＩＤ生成部１０は、整理したトポロジ情報を参照して、フィールドバスの個数、デバイスの個数を求めて、｛１：ＦＢｘ，１：ＦＢｙ，１：ｘ１，３：ｘ２，１：ｘ３，３：ｙ１，１：ｙ２｝というトポロジ情報を作成する。これによって、ＩＤ生成部１０は、デバイスコントローラＤｉに異なる種類のフィールドバスＦＢｘ，ＦＢｙが１個づつ接続され、デバイスコントローラＤｉに異なる種類のデバイスｘ１が１個、デバイスｘ２が３個、デバイスｘ３が１個、デバイスｙ１が３個、デバイスｙ２が１個接続されていることを認識できる。
【００２２】
このフィールドバスの種類数、フィールドバス及びデバイスの個数を示す｛１：ＦＢｘ，１：ＦＢｙ，１：ｘ１，３：ｘ２，１：ｘ３，３：ｙ１，１：ｙ２｝のトポロジ情報は、デバイスコントローラＤｉにとってユニークなデバイスコントローラＩＤ（Ｓｉ）となる。これによって、ＩＤ生成部１０は、識別情報生成手段として機能する。
【００２３】
また、ＩＤ生成部１０は、デバイスコントローラＤｉの管理者にデバイスコントローラＤｉの特徴を分かりやすくするために、デバイスコントローラＤｉの役割記述情報を作成する。この役割記述情報は、例えば、「デバイスコントローラＤｉは、ＥＭＩＴ（Embedded Micro Internetworking Technology）に準拠したフィールドバスＦＢｘとＬＯＮ（Local Operating Network）に準拠したフィールドバスＦＢｙとが接続され、これらのフィールドバスＦＢｘ，ＦＢｙには、制御対象として３個の照明（３：ｘ２）と２個の空調装置（２：ｙ１）が接続され、監視対象として１個の人感センサ（１：ｘ１）と１個の煙センサ（１：ｘ３）と１個のインターホン（１：ｙ２）が接続されている」というメッセージを作成する。
【００２４】
図３に示すように、デバイスコントローラＤｉの製造者等によって、デバイスコントローラＤｉが接続されるフィールドバスの種類、個数及びデバイスの種類、個数によって、当該フィールドバスを介してデバイスを制御・監視するために必要な構成記述ファイル（configuration file ）ＣＦＧｉが用意されている。この構成記述ファイルＣＦＧｉは、デバイスをデバイスコントローラＤｉにとってより使いやすくするために行われた環境設定の情報を収めたファイルのことである。例えば、構成記述ファイルＣＦＧｉには、個々のデバイス設定や、デバイス動作に関するものなど、多岐にわたる項目が保存されている。この構成記述ファイルＣＦＧｉは、フィールドバスの種類、個数とデバイスの種類、個数との組み合わせによって、複数作成されてファイル記憶装置に記憶されている。また、各構成記述ファイルＣＦＧｉには、デバイスコントローラＤｉで取得されるデバイスコントローラＩＤが付加されている。したがって、構成記述ファイルＣＦＧｉの作成者は、デバイスコントローラＤｉが接続されるフィールドバスの種類、個数とデバイスの種類、個数との組み合わせによって、デバイスコントローラＤｉのＩＤ生成部１０によってどのようなデバイスコントローラＩＤが作成されるのかを把握しておき、ファイル記憶装置に記憶させている。
【００２５】
したがって、デバイスコントローラＤｉは、上述の処理を行うことによってデバイスコントローラＩＤ（Ｓｉ）を取得すると、当該デバイスコントローラＩＤ（Ｓｉ）を含む構成記述ファイルＣＦＧｉを返信するファイル転送リクエストを、構成記述ファイルＣＦＧｉが格納されたファイル記憶装置に通知する。
【００２６】
構成記述ファイルＣＦＧｉを格納したファイル記憶装置は、デバイスコントローラＤｉからデバイスコントローラＩＤ（Ｓｉ）を含むファイル転送リクエストが通知されると、デバイスコントローラＩＤ（Ｓｉ）に該当する構成記述ファイルＣＦＧｉを読み出して、デバイスコントローラＤｉに返信する。これにより、デバイスコントローラＤｉは、自己に接続されたデバイスが制御・監視できる処理を記述した構成記述ファイルＣＦＧｉを取得してインストールできる。
【００２７】
以上のように、本発明を適用したＩＤ生成部１０によれば、デバイスコントローラＤｉに接続されたサブネットワークの特徴と、当該サブネットワークを構成するデバイスの特徴とからなるトポロジ情報を自己のデバイスコントローラＩＤにして、デバイスコントローラＩＤを自動的に生成できるので、当該デバイスコントローラＩＤの設定ミスの未然防止、設定時間の短縮、設定コストの削減を実現できる。また、このデバイスコントローラＤは、デバイスコントローラＤの役割等に関連したデバイスコントローラＩＤであるので、デバイスコントローラＤの管理者にとって分かりやすいものとなる。
【００２８】
なお、上述のＩＤ生成部１０は、フィールドバスＦＢｘ，ＦＢｙから、デバイスの種類、個数を取得するものとしたが、これに限らず、デバイスに格納されている情報であれば、デバイスの場所情報等の他の情報を含めてトポロジ情報を作成しても良い。また、ＩＤ生成部１０は、個々のデバイスの種類を含むトポロジ情報を作成するとしたが、複数のデバイスの種類をまとめた役割から見たデバイスの種類を作成して、トポロジ情報を作成しても良い。これによって、同一のフィールドバス構成からデバイスコントローラＩＤを作成した場合であっても、デバイスコントローラＩＤが同一となることを回避できる。
【００２９】
つぎに、上述したように構成されたデバイスコントローラＤｉを複数備えた情報記憶システムについて説明する。この情報記憶システムにおけるデバイスコントローラＤｉは、他のデバイスコントローラＤｉがファイル記憶装置として機能することによって、他のデバイスコントローラＤｉにデバイスコントローラＩＤ（Ｓｉ）を含むファイル転送リクエストを送信するものである。
【００３０】
このデバイスコントローラＤｉは、図４に示すように、汎用バスであってＰ２Ｐ（Peer-to-peer）通信を行う複数のデバイスコントローラＤｉのためのネットワークＮＷに、複数のデバイスコントローラＤ１〜Ｄ４（以下、総称する場合には、単に「デバイスコントローラＤｉ」と呼ぶ。）が接続された情報記憶システムを構成する。汎用バスであるネットワークＮＷは、例えば、ＩＰ（Internet Protocol）を使用したインターネット等が挙げられる。複数のデバイスコントローラＤ１〜Ｄ４は、それぞれ、Ｐ２Ｐ通信が可能となっており、相互で情報の授受が可能となっている。なお、各デバイスコントローラＤｉの詳細構成を図５に示す。
【００３１】
各デバイスコントローラＤｉは、複数のデバイスがフィールドバスに接続されてなるサブネットワークが接続されている。デバイスコントローラＤ１〜Ｄ４は、フィールドバスに接続された複数のデバイスの制御、監視等をするために、上述した処理によって取得された構成記述ファイルＣＦＧｉ（Ｃ１〜Ｃ４）が記憶されている。また、デバイスコントローラＤ１〜Ｄ４は、他のデバイスコントローラＤｉの構成記述ファイルＣＦＧｉを、それぞれ自己の分散型共有メモリ１−Ｄ１，１−Ｄ２，１−Ｄ３，１−Ｄ４に記憶している。この分散型共有メモリ１は、自己の構成記述ファイルＣＦＧｉを記憶する記憶手段とは別に設けられて、他のデバイスコントローラＤｉの構成記述ファイルＣＦＧｉのバックアップ用記憶手段として機能する。
【００３２】
デバイスコントローラＤｉには、機器埋め込み型ネットワーク技術（ＥＭＩＴ、以下、ＥＭＩＴ技術と称する。）を利用してデバイスとデバイスコントローラＤｉとが通信を行うフィールドバスＡと、デバイスとデバイスコントローラＤｉとがパルス幅を変調するベースバンド伝送を行うことによって信号の送受信を実現する所定の多重伝送方式（エヌマスト方式）で通信を行うフィールドバスＢと、ＬＯＮと称される分散制御ネットワーク方式で通信を行うフィールドバスＣとが接続されている。なお、デバイスコントローラＤｉには、上記のＥＭＩＴ技術、エヌマスト方式、ＬＯＮを利用する場合のみならず、あらゆる方式でフィールドバスが接続されていても良い。
【００３３】
なお、フィールドバスＡには、デバイスＡ０〜Ａ２、Ｓ３〜Ｓ７・・・といったように複数のデバイスが接続され、デバイスＳ３として人感センサを含んでいる。また、フィールドバスＢには、デバイスＳ０，Ｓ１、Ａ１，Ａ３，Ａ４・・・といったように複数のデバイスが接続され、デバイスＡ１として照明を含んでいる。更に、フィールドバスＣには、デバイスＡ０〜Ａ２、Ｓ３〜Ｓ５・・・といったように複数のデバイスが接続され、デバイスＳ２として温度センサを含んでいる。
【００３４】
デバイスコントローラＤｉは、他のデバイスコントローラＤｉとＰ２Ｐ通信をするネットワークＮＷと接続したＰ２Ｐ通信処理部１１と、記憶制御部１２と、上述の分散型共有メモリ１−Ｄ１，１−Ｄ２，１−Ｄ３，１−Ｄ４に相当する分散型共有メモリ１３と、構成記述情報ドライバ１４と、変数テーブル１５と、アプリケーション処理部１６と、フィールドバス監視・制御部１７と、自己に接続された複数のフィールドバスＡ，Ｂ，Ｃに対応したフィールドバスインターフェース１８Ａ，１８Ｂ，１８Ｃとを備える。
【００３５】
フィールドバスインターフェース１８Ａ，１８Ｂ，１８Ｃは、ＩＤ生成部１０から、それぞれのフィールドバスＡ，Ｂ，Ｃに接続されているデバイスの特徴を取得するコマンドが与えられると、当該コマンドをフィールドバスＡ，Ｂ，Ｃに送出する。そして、デバイスからのレスポンスを受信すると、当該レスポンスをＩＤ生成部１０に渡す。
【００３６】
ＩＤ生成部１０は、図６に示すように、トポロジ情報生成部１０Ａと、フィールドバス検索処理部１０Ｂと、ＯＳ（Operation System）リフレクション処理部１０Ｃと、デバイスアクセス処理部１０Ｄと、通信ドライバ１０Ｅと、フィールドバス通信ポート１０Ｆとを備える。なお、通信ドライバ１０Ｅは図５に示すフィールドバス通信ドライバ１８ａと兼用であっても良く、通信ドライバ１０Ｅは図５に示すフィールドバスインターフェース部１８ｂと兼用であっても良い。
【００３７】
図６に示したＩＤ生成部１０は、図２を参照して説明した動作を行う具体的な構成例である。デバイスコントローラＤｉによって自己のデバイスコントローラＩＤを生成する時、ＩＤ生成部１０のＯＳリフレクション処理部１０Ｃは、デバイスコントローラＤｉ内部のソフトウェアスタック（階層的な構成）を検索する。このソフトウェアスタックは、デバイスコントローラＤｉに接続されるフィールドバスの種類が予め想定されているために、当該フィールドバスＡ，Ｂ，Ｃで通信可能とするための複数の通信ドライバで構成されている。
【００３８】
通信ドライバのソフトウェアスタックとしては、例えば図６では、エヌマスト用ソフトウェアとＥＭＩＴ用ソフトウェアとを含むものを示している。エヌマスト用ソフトウェアは、ソフトウェアアドレス（０×１００３）に記憶され、ＥＭＩＴ用ソフトウェアは、ソフトアドレス（０×４３２５）に記憶されている。エヌマストとは、独自プロトコルであり、±２４Ｖの信号線２線ですべてのスイッチをネットワークし、パルス信号で照明制御等を行う配線システムで使用されるプロトコルである。ＥＭＩＴ（Embedded Micro Internetworking Technology)は、機器組み込み型ネットワーク技術であり、機器に簡単にミドルウェアを組み込んでネットワークに接続できる機能を備えている。
【００３９】
なお、図示はしていないが、上述のようにＬＯＮで通信するためのソフトウェアが記憶されていることは勿論である。このようなソフトウェアスタックがＯＳリフレクション処理部１０Ｃにより検索されると、ＯＳリフレクション処理部１０Ｃは、ドライバ名のエヌマストとエヌマスト用ソフトウェアのアドレス（０×１００３）との対応関係、及び、ドライバ名のＥＭＩＴとＥＭＩＴ用ソフトウェアのアドレス（０×４３２５）との対応関係を導出することができる。
【００４０】
デバイスコントローラＤｉは、製造初期段階においては、あらゆるフィールドバスに対応するために複数種類の通信ドライバが記憶されているが、フィールドバスＡ，Ｂ，Ｃに接続されると同時に複数種類の通信ドライバのうち１又は複数の通信ドライバを起動させる。そして、デバイスコントローラＤｉが２本のエヌマストに準拠したフィールドバスと１本のＥＭＩＴに準拠したフィールドバスに接続された場合、２個のエヌマスト用の通信ドライバと１個のＥＭＩＴ用の通信ドライバとが起動する状態となる。換言すれば、２個のエヌマスト用の通信ドライバがそれぞれ異なるメモリアドレスにコピー及び各種の設定がされ、１個のＥＭＩＴ用の通信ドライバが更に異なるメモリアドレスにコピー及び各種の設定がされることになる。これにより、デバイスコントローラＤｉは、２個のエヌマスト用の通信ドライバと１個のＥＭＩＴ用の通信ドライバとからなるハードウェアスタックを形成する。このハードウェアスタックは、ＯＳリフレクション処理部１０Ｃにより検索される。これにより、ＯＳリフレクション処理部１０Ｃは、物理アドレス（０×５５４４）にエヌマスト用の通信ドライバ、物理アドレス（０×５５８８）にエヌマスト用の通信ドライバ、物理アドレス（０×５５ＢＢ）にＥＭＩＴ用の通信ドライバが存在するハードウェア構成情報を作成できる。
【００４１】
ＯＳリフレクション処理部１０Ｃによって検出された通信ドライバの構成は、２個のエヌマスト用の通信ドライバの情報（ＮＭ，ＮＭ）と、１個のエヌマスト用の通信ドライバの情報（ＥＭ）として、トポロジ情報生成部１０Ａに出力される。この通信ドライバの情報は、上述したフィールドバスの特徴であるフィールドバスの種類、個数に相当する。
【００４２】
デバイスアクセス処理部１０Ｄは、ＯＳリフレクション処理部１０Ｃによってフィールドバスの種類、個数がトポロジ情報生成部１０Ａに供給されると、各フィールドバスに接続されているデバイスの最大数及び各フィールドバスに接続されているデバイスが取りうるアドレスの範囲が呼び出される。なお、このデバイスの最大数及びアドレスの範囲は、フィールドバスの通信方式によって予め規格化された値である。このデバイスアクセス処理部１０Ｄの動作は、フィールドバス検索処理部１０Ｂによって起動される。
【００４３】
そして、フィールドバス検索処理部１０Ｂは、フィールドバスごとに、デバイスが取りうるアドレスの範囲内で、アドレスごとにデバイスを呼び出すようにデバイスアクセス処理部１０Ｄを制御する。このデバイスの呼出回数は、フィールドバスごとに接続可能なデバイスの最大数である。デバイスアクセス処理部１０Ｄは、各フィールドバスに対して、アドレスごとにデバイスを呼び出す。フィールドバス検索処理部１０Ｂは、全てのアドレスについて呼出を行うまで、デバイスアクセス処理部１０Ｄを繰り返し動作させる。
【００４４】
ＩＤ生成部１０のデバイスアクセス処理部１０Ｄは、デバイスコントローラＤｉに接続されているフィールドバスのデバイスに、当該フィールドバスの通信方式に従って呼び出しを行う。この呼び出しは、通信ドライバ１０Ｅ、フィールドバス通信ポート１０Ｆを介してフィールドバスに送出される。
【００４５】
デバイスは、ＩＤ生成部１０からの呼び出し信号を受信する。呼び出し信号に含まれるアドレスが自己のアドレスである場合、デバイスのリフレクションプロトコル実装部２０Ａは、リフレクション処理部２０Ｂを起動させる。リフレクション処理部２０Ｂは、デバイスファームウェアを検索することにより、自己のデバイスタイプ（種類）を示すタグ情報（デバイスタイプタグ）を取得し、リフレクションプロトコル実装部２０Ａを介してフィールドバス通信ポート１０Ｆに返信する。また、このタグ情報には、デバイスのアドレスが格納される。なお、呼び出し信号に含まれるアドレスのデバイスが存在しない場合、デバイスアクセス処理部１０Ｄは、タイムアウトエラーを検出し、次のアドレスを含む呼び出し信号をフィールドバスに送出する。
【００４６】
デバイスアクセス処理部１０Ｄは、フィールドバスに接続された全てのデバイスから、アドレスを含むタグ情報を受信する。これにより、デバイスアクセス処理部１０Ｄは、タグ情報の返信数に基づいて各フィールドバスに接続されているデバイスの個数を認識し、各タグ情報に基づいて個々のデバイスの種類を認識する。また、デバイスアクセス処理部１０Ｄは、各フィールドバスに接続されているデバイスのアドレス範囲を取得できる。
【００４７】
例えば、エヌマストのフィールドバスには、煙検知器（ＳＤ；Smoke Detector），人検知センサ（ＰＤ；Presence Sensor），人検知センサ（ＰＤ）の順でデバイスが接続されており、他のエヌマストのフィールドバスには、壁面スイッチ（ＷＳ；Wall Switch），照明（Ｌ；Light）照明（Ｌ），壁面スイッチ（ＷＳ），照明（Ｌ），壁面スイッチ（ＷＳ），照明（Ｌ）の順でデバイスが接続されており、ＥＭＩＴのフィールドバスには、ディジタルカメラ（ＤＣ；Digital Camera），壁面スイッチ（ＷＳ），空調装置（ＡＣ；Air-conditioner），調光器（Ｄ；Dimmer），空調装置（ＡＣ），調光器（Ｄ），ＩＰ電話（ＩＰ）が接続されているとする。この場合、フィールドバスごとのデバイスのタグ情報（種類の情報）は、デバイスが接続されている順序に従って、デバイスアクセス処理部１０Ｄからフィールドバス検索処理部１０Ｂに供給される。
【００４８】
この呼び出されたデバイスのタグ情報は、フィールドバス検索処理部１０Ｂから、トポロジ情報生成部１０Ａのデバイス検出部１０ａに供給される。
【００４９】
トポロジ情報生成部１０Ａは、フィールドバス検索処理部１０Ｂと接続されたデバイス検出部１０ａとＯＳリフレクション処理部１０Ｃと接続されたドライバ検出部１０ｂと、集約処理部１０ｃと、分類処理部１０ｄと、ＩＤ生成処理部１０ｅとを備える。
【００５０】
デバイス検出部１０ａで検出された複数のデバイスのタグ情報（種別）及びドライバ検出部１０ｂで検出されたフィールドバスの種類を示すハードウェア構成情報は、集約処理部１０ｃによって、集約される。この集約処理は、デバイス検出部１０ａで検出されたデバイスの種類とＯＳリフレクション処理部１０Ｃで検出されたフィールドバスの種類とを羅列する処理である。集約処理部１０ｃによって集約された情報は、分類処理部１０ｄによって、同一のデバイスの種類、同一のフィールドバスの種類に分類されて、同一であったデバイスの種類の個数、同一であったフィールドバスの種類の個数が求められる。この分類処理部１０ｄによって分類された情報は、デバイスコントローラＤｉにとってのトポロジ情報であって、デバイスコントローラＤｉにとってのユニークなデバイスコントローラＩＤ（Ｓｉ）となる。これによって、ＩＤ生成部１０は、識別情報生成手段として機能する。
【００５１】
なお、ＩＤ生成処理部１０ｅは、上述したようにデバイスコントローラＤｉの管理者にデバイスコントローラＤｉの特徴を分かりやすくするために、デバイスコントローラＤｉの役割記述情報を作成することが望ましい。
【００５２】
図５に示すフィールドバスインターフェース１８Ａ，１８Ｂ，１８Ｃは、それぞれのフィールドバスＡ，Ｂ，Ｃに対応した方式で通信を行うように設定されている。例えば、ＥＭＩＴ技術を採用したフィールドバスインターフェース１８Ａ及び当該フィールドバスインターフェース１８Ａに接続されたデバイスは、図７に示すように構成される。
【００５３】
デバイスには、ＥＭＩＴミドルウェア間で各種デバイスのコントロールデータやデバイスの状態信号等を送受するＭＯＳ（Micro Object Server）機能部２１が実装される。フィールドバスインターフェース１８Ａには、ＥＭＩＴミドルウェア間におけるルーティング処理、デバイスの認識処理等を行うＯＡＳ（Object Access Server）機能部３１が実装される。デバイスを管理するユーザの端末（図示せず）には、制御対象のデバイスへの制御・監視リクエストを出力すると共にデバイスの状態表示等を行うＯＡＬ（Object Access Library）機能部（図示せず）が実装されている。なお、図７では、フィールドバスインターフェース１８Ａ，１８Ｂ，１８ＣにＯＡＳ機能部３１のみが実装されている場合について説明するが、ＯＡＬ機能部が実装されていても良い。
【００５４】
デバイスは、ＭＯＳ機能部２１に、アプリケーション処理部２２、インターフェースモジュール２３が接続されている。
【００５５】
アプリケーション処理部２２は、例えばセンサとして機能する場合に、検出値（Ｉ／Ｆ値）を取得するアプリケーションコードが記憶されている。アプリケーション処理部２２は、検出値を保持してＭＯＳ機能部２１に受け渡す。
【００５６】
インターフェースモジュール２３は、ＯＳＩ（Open Systems Interconnection）参照モデルにおけるデータリンク層等の処理を行う。例えばデータリンク層においてイーサネット（登録商標）に従った処理を行う。このインターフェースモジュール２３の通信プロトコルバージョン、通信速度といった能力は、能力テーブル２４に格納されて、ＯＡＳ機能部３１によって取得可能となっている。
【００５７】
ＭＯＳ機能部２１は、アプリケーション処理部２２によるアプリケーション層とインターフェースモジュール２３によるトランスポート層との間のＥＭＩＴミドルウェアとして機能する。このＭＯＳ機能部２１には、フィールドバスインターフェース１８ＡのＯＡＳ機能部３１によって、デバイスがＥＭＩＴにおけるオブジェクトであることを識別するために、オブジェクトＩＤ２１ｄが与えられている。
【００５８】
ＭＯＳ機能部２１は、機能（function）２１ａ、イベント（event）２１ｂ、変数（variable）２１ｃで定義された動作を行う。このＭＯＳ機能部２１の動作は、サービステーブル２１ｅとして定義されている。ＭＯＳ機能部２１は、フィールドバスインターフェース１８ＡのＯＡＳ機能部３１によって、インターフェースＩＤとして取得されることを可能とさせている。
【００５９】
デバイスがセンサである場合、機能２１ａは、検出値の出力機能となり、イベント２１ｂは、例えば検出値が所定値となったら検出値を出力するイベントとなり、変数２１ｃは、検出値そのものとなる。このようなデバイスは、検出値が所定値となるとイベント２１ｂでイベントを発生させ、機能２１ａによって変数２１ｃの検出値を出力する。
【００６０】
フィールドバスインターフェース１８ＡのＯＡＳ機能部３１は、通信モジュール３２が接続されている。
【００６１】
ＯＡＳ機能部３１は、後述のフィールドバス監視・制御部１７と接続され、当該フィールドバス監視・制御部１７の制御に従ってフィールドバスＡのデバイスと通信を行う。フィールドバス監視・制御部１７は、ユーザ及び管理者があるデバイスを制御・監視する通信をしたい場合には、その旨の制御・監視リクエストが供給され、当該制御・監視リクエストに対するレスポンスを返信する。
【００６２】
通信モジュール３２は、デバイスのインターフェースモジュール２３との間で通信を行うと共に、他のＯＡＳ機能部３１が実装された装置の通信モジュール３２と通信を行う。この通信モジュール３２は、ＯＳＩ参照モデルにおけるデータリンク層等の処理を行う。個々のデバイスが様々なインターフェースモジュール２３で構成されている場合、通信モジュール３２は、デバイスアクセスコントローラ３１ｃの制御に従って、デバイスや他のＯＡＳ機能部３１を備えた装置ごとの通信プロトコルバージョン、通信速度といったデバイスの能力に応じた通信処理を行う。
【００６３】
ＯＡＳ機能部３１は、フィールドバス監視・制御部１７の処理と通信モジュール３２による処理との間のＥＭＩＴミドルウェアとして機能する。このＯＡＳ機能部３１は、デバイスアクセスサーバ３１ａ、所定のメモリに格納されたサービス情報３１ｂ、デバイスアクセスコントローラ３１ｃを備えて構成されている。
【００６４】
デバイスアクセスサーバ３１ａは、クライアント（ＯＡＬ）との間で通信を行うために、クライアントからのリクエストを通信モジュール３２及びフィールドバス監視・制御部１７、Ｐ２Ｐ通信処理部１１を介して受信する。そしてデバイスアクセスサーバ３１ａは、当該制御・監視リクエストをデバイスアクセスコントローラ３１ｃ及び通信モジュール３２を介してデバイスに送信する動作を制御する。これによって、デバイスアクセスコントローラ３１ｃは、クライアントからの要求をデバイスに伝達して、デバイスを制御する。
【００６５】
デバイスアクセスコントローラ３１ｃは、デバイスのインターフェース定義及びサービス情報を取得するために、通信モジュール３２を介してデバイスのサービステーブル２１ｅ及び能力テーブル２４を検索する。これによって、デバイスアクセスコントローラ３１ｃは、各デバイスがどのようなサービス（機能２１ａ、イベント２１ｂ、変数２１ｃ）を有するかを判断して、各デバイスのオブジェクトＩＤ２１ｄとサービスリストとの対応関係を示すサービス情報３１ｂを作成する。また、デバイスアクセスコントローラ３１ｃは、各デバイスがどのような能力（通信プロトコルバーション、通信速度）を有するかを認識する。デバイスアクセスコントローラ３１ｃで取得したサービス情報３１ｂは、ＩＤ生成部１０からデバイスの特徴を取得するコマンドが発生した場合に、当該デバイスの特徴を表す情報としてＩＤ生成部１０に供給されても良い。
【００６６】
デバイスアクセスコントローラ３１ｃは、ＭＯＳ機能部２１でイベントのイベントパケットを通信モジュール３２で受信されると、当該イベントパケットを解析して、デバイスアクセスサーバ３１ａに通知する。また、デバイスアクセスコントローラ３１ｃは、クライアントからの制御・監視リクエストをデバイスに送信する場合には、当該制御・監視リクエストに応答できるＭＯＳ機能部２１を、サービス情報３１ｂを参照して認識する。そして、デバイスアクセスコントローラ３１ｃは、当該制御・監視リクエストに送信先のオブジェクトＩＤ２１ｄを付加し、デバイスの能力に合わせて通信モジュール３２からデバイスにパケットを送信させる。
【００６７】
また、ＯＡＳ機能部３１には、他のＥＭＩＴミドルウェア対応機器が当該ＯＡＳ機能部３１を識別するために、オブジェクトＩＤ３１ｄが与えられている。このオブジェクトＩＤ３１ｄは、デバイスのＭＯＳ機能部２１や、他のＯＡＬが実装されたクライアント（パーソナルコンピュータ）等のＥＭＩＴミドルウェア対応機器と通信するに際して、送信するパケットに格納される。
【００６８】
このようなＯＡＳ機能部３１を備えたデバイスコントローラＤｉは、ＩＤ生成部１０によってソフトウェアスタックの検索処理（手順１）によって検知され、ＩＤ生成部１０によってＥＭＩＴに準拠したフィールドバスＡが接続されていることが検知される。その後、ＯＡＳ機能部３１は、ＩＤ生成部１０によって、フィールドバスＡ，Ｂ，Ｃに接続されているデバイスを検索するコマンドが与えられると、当該コマンドに従ってフィールドバスＡに接続されたデバイスのサービステーブル２１ｅ（タグ情報）を取得することにより、デバイスの種類（特徴）をデバイスコントローラＩＤとして生成させることができる。
【００６９】
フィールドバスインターフェース１８Ａ，１８Ｂ，１８Ｃは、図５に示すように、フィールドバスドライバ１８ａと、フィールドバスインターフェース部１８ｂとを備えて構成されている。
【００７０】
フィールドバスドライバ１８ａは、図６に示した通信ドライバ１０Ｅに相当する。フィールドバスドライバ１８ａは、フィールドバス監視・制御部１７からのコントロールデータを受信すると、構成記述情報ドライバ１４からの構成記述情報を参照して、どのデバイスをどのように動作させるかを判定して、デバイスに向けてコマンドを送出する。また、フィールドバスインターフェース部１８ｂは、フィールドバスドライバ１８ａからコマンドを受け付けると、当該コマンドをフィールドバスＡ，Ｂ，Ｃに応じた信号に変換して、フィールドバスＡ，Ｂ，Ｃに送出する。
【００７１】
また、フィールドバスドライバ１８ａは、ＩＤ生成部１０でデバイスコントローラＩＤを生成するためにフィールドバスＡ，Ｂ，Ｃに接続されたデバイスを検索するコマンドが供給されて、デバイスの特徴を特定する情報を取得する。
【００７２】
フィールドバスインターフェース部１８ｂは、図６に示したフィールドバス通信ポート１０Ｆに相当する。フィールドバスインターフェース部１８ｂは、フィールドバス監視・制御部１７にデバイスの状態変化、イベント発生を通知するモニタデータをフィールドバスＡ，Ｂ，Ｃから受信した場合には、当該モニタデータをフィールドバスドライバ１８ａに渡して、フィールドバス監視・制御部１７に送る。
【００７３】
フィールドバス監視・制御部１７は、変数テーブル１５を参照して、フィールドバスＡ，Ｂ，Ｃの制御を行う。この変数テーブル１５は、図９に示すように、フィールドバスＡ，Ｂ，Ｃごとに、デバイス名、デバイス状態、変数タイプ、フィールドバスＩＤ、フィールドバス内アドレスが対応付けられて構成されている。そして、フィールドバス監視・制御部１７は、フィールドバスＡ，Ｂ，Ｃのデバイスを監視して、変数テーブル１５の内容を更新し、変数テーブル１５を参照してフィールドバスＡ，Ｂ，Ｃのデバイスにコントロールデータを送出する。
【００７４】
このフィールドバス監視・制御部１７は、図５に示すように、フィールドバス監視部１７Ａとフィールドバス制御部１７Ｂとに機能が分割して構成される。フィールドバス監視部１７Ａは、フィールドバスドライバ１８ａからモニタデータを受信すると、変数テーブル１５の内容を更新する。このとき、フィールドバス監視部１７Ａは、モニタデータに含まれるデバイスのオブジェクトＩＤによってデバイス名を認識して、当該デバイスの状態を書き換える。フィールドバス制御部１７Ｂは、アプリケーション処理部１６からコントロールデータを受信した場合、変数テーブル１５及び構成記述ファイルＣＦＧｉを参照してコントロールデータの送出先のフィールドバス及びデバイス等を判定して、フィールドバスドライバ１８ａに転送する。
【００７５】
アプリケーション処理部１６は、デバイスが実現するアプリケーション処理を制御する。このアプリケーション処理部１６は、変数テーブルを参照して、フィールドバス監視・制御部１７に制御・監視リクエストを与える。これによって、ネットワークＮＷを介してユーザから送信された監視リクエスト、制御リクエストに従って、デバイスを動作させる。
【００７６】
また、このアプリケーション処理部１６は、図５に示すように、デバイスにコントロールデータを送出するアプリケーション処理部１６Ａと、後述の図１０の連携テーブル１６Ｂと、自己の構成記述情報に従って連携テーブル１６Ｂを更新するアプリケーション更新部１６Ｃとして構成されていても良い。
【００７７】
構成記述情報ドライバ１４には、自己に接続されたフィールドバスＡ，Ｂ，Ｃを制御・監視するための構成記述ファイルＣＦＧｉが格納されている。構成記述情報ドライバ１４は、図５に示すように、記憶制御部１２と接続され、自己の構成記述ファイルＣＦＧｉを記憶する構成記述ファイル記憶部１４ａを備える。構成記述情報ドライバ１４は、他のデバイスコントローラから複数の構成記述ファイルＣＦＧｉが送信された場合、構成記述ファイル記憶部１４ａの構成記述ファイルＣＦＧｉを、情報選択部１２Ｅで選択された構成記述ファイルＣＦＧｉに書き換える。また、構成記述情報ドライバ１４は、例えば、フィールドバスＡ，Ｂ，Ｃに新たなデバイスが接続された場合、フィールドバス監視部１７Ａによって新たなデバイスについての情報が変数テーブル１５に追加されたことがデバイスコントローラＩＤ記憶部１９から通知され、当該フィールドバスＡ，Ｂ，Ｃの変更情報を構成記述ファイルＣＦＧｉに記憶させる。これによって、構成記述ファイルＣＦＧｉを常に最新のものに保持できる。
【００７８】
この構成記述ファイルＣＦＧｉに含まれる情報（構成記述情報）には、図８に示ような自己に接続されているフィールドバスを定義するフィールドバステーブル、図９の変数テーブル１５、図１０に示すようなデバイス間で行う連携動作を定義する連携テーブル、図１１に示すようなその他のパラメータを格納したソフトウェアパラメータが含まれる。
【００７９】
図８に示すフィールドバステーブルは、フィールドバスＡ，Ｂ，ＣそれぞれのフィールドバスＩＤ（ｆｂ０，ｆｂ１，ｆｂ２，・・・）と、フィールドバスＡ，Ｂ，Ｃで採用している方式（ＥＭＩＴ、エヌマスト、ロン）を定義するフィールドバス情報とが対応付けられている。このフィールドバステーブルは、フィールドバス監視・制御部１７に読み込まれて、自己に接続されたフィールドバスＡ，Ｂ，Ｃを特定するために参照される。
【００８０】
図９に示す変数テーブル１５は、上述したように構成され、フィールドバス監視・制御部１７及びアプリケーション処理部１６によって、自己に接続されたデバイスの状態等を特定するために参照される。この変数テーブル１５は、図５に示す変数テーブル更新部１５Ａによって、構成記述情報を参照して更新される。
【００８１】
図１０に示す連携テーブルは、連携動作を開始するトリガとなるデバイスのイベントを定義した連携発生イベント情報と、当該連携発生イベントが発生した場合に応答するデバイスを定義した連携応答デバイス情報と、当該連携応答デバイスが動作した結果を定義する連携結果情報とが対応付けられている。この連携テーブルは、イベント発生をフィールドバスインターフェース１８Ａ，１８Ｂ，１８Ｃを介してフィールドバス監視・制御部１７で検知した時に、アプリケーション処理部１６によって参照される。そして、アプリケーション処理部１６は、連携テーブルに該当するイベントが発生したと判定した場合には、連携応答デバイスが連携結果を満たすように動作させる。なお、この連携テーブルは、図５に示すように、アプリケーション処理部１６の一部の機能（連携テーブル１６Ｂ）として構成されていても良い。
【００８２】
図１１に示すソフトウェアパラメータには、パラメータとして記憶しておく情報の種類と、パラメータ種類情報と、パラメータ値とが対応付けられて格納されている。本例では、分散型共有メモリ１３のサイズ、自己の構成記述ファイルＣＦＧｉの容量、デバイスの制御回数をパラメータとして記憶している。また、このソフトウェアパラメータとしては、フィールドバスインターフェース１８Ａ，１８Ｂ，１８Ｃで使用するパラメータ、アプリケーション処理部１６で使用するパラメータ、記憶制御部１２で使用するパラメータ、Ｐ２Ｐ通信処理部１１で使用するパラメータ等も含む。
【００８３】
例えば分散型共有メモリ１３のサイズは、記憶制御部１２によって参照される。記憶制御部１２は、他のデバイスコントローラＤｉの構成記述ファイルＣＦＧｉが格納できるか否かを判定する。記憶制御部１２は、自己の構成記述ファイルＣＦＧｉの容量に基づいて、他のデバイスコントローラＤｉに自己の構成記述ファイルＣＦＧｉが格納できるか否かを判定する。
【００８４】
記憶制御部１２は、ネットワークＮＷの全体における分散型共有メモリ１を利用して、他のデバイスコントローラＤｉの分散型共有メモリ１３に自己の構成記述ファイルＣＦＧｉをバックアップさせる処理と、他のデバイスコントローラＤｉの構成記述ファイルＣＦＧｉを自己の分散型共有メモリ１３にバックアップする処理とを行う。記憶制御部１２は、自己の構成記述ファイルＣＦＧｉを他のデバイスコントローラＤｉにバックアップさせる場合、構成記述情報ドライバ１４に記憶された自己の構成記述ファイルＣＦＧｉを読み出して、Ｐ２Ｐ通信処理部１１から他のデバイスコントローラＤｉに送信させる。また、記憶制御部１２は、他のデバイスコントローラＤｉからバックアップリクエストをＰ２Ｐ通信処理部１１を介して受け付けて、分散型共有メモリ１３に他のデバイスコントローラＤｉの構成記述ファイルＣＦＧｉを格納する。
【００８５】
このようなデバイスコントローラＤｉは、図５に示すように、記憶制御部１２として、情報受信部１２Ａ、情報更新部１２Ｂ、情報要求部１２Ｃ、構成記述情報メモリ１２Ｄ、情報選択部１２Ｅを備えている。
【００８６】
情報要求部１２Ｃは、構成記述ファイル記憶部１４ａ内のソフトウェアパラメータから自己の構成記述ファイルＣＦＧｉがないことを検知した場合には、デバイスコントローラＩＤを含むファイル転送リクエストをＰ２Ｐ通信処理部１１から送信させる。このファイル転送リクエストには、ＩＤ生成部１０で生成されたデバイスコントローラＩＤが含まれる。
【００８７】
このファイル転送リクエストを送信したことに応じて、他のデバイスコントローラＤｉから一又は複数個の構成記述ファイルＣＦＧｉをＰ２Ｐ通信処理部１１で受信すると、当該構成記述ファイルＣＦＧｉを情報受信部１２Ａで受信する。情報受信部１２Ａは、複数個の構成記述ファイルＣＦＧｉを構成記述情報メモリ１２Ｄに蓄積すると、情報選択部１２Ｅは、構成記述情報メモリ１２Ｄに投票された形で格納された複数個の構成記述ファイルのうち、最新且つ改悪されていない構成記述ファイルＣＦＧｉを選択して、構成記述情報ドライバ１４で使用可能とする。これによって、構成記述情報ドライバ１４は、構成記述ファイル記憶部１４ａに格納された構成記述ファイルＣＦＧｉを最新のものとする。このとき、情報選択部１２Ｅは、構成記述ファイルＣＦＧｉに付加されたタイムスタンプを参照して、最新の構成記述ファイルＣＦＧｉを選択する。これによって、構成記述情報ドライバ１４は、構成記述ファイル記憶部１４ａに格納された構成記述ファイルを最新のものとする。
【００８８】
また、記憶制御部１２は、例えばフィールドバスＡ，Ｂ，Ｃの構成が変化した場合や、古い構成記述ファイルＣＦＧｉを記憶しているデバイスコントローラＤｉが検知された場合に、当該構成記述ファイルＣＦＧｉを更新する必要がある。このとき、記憶制御部１２は、情報更新部１２Ｂによって、構成記述ファイルＣＦＧｉの更新が必要であることを、構成記述ファイル記憶部１４ａのソフトウェアパラメータから検知する。そして、情報更新部１２Ｂは、自己の構成記述ファイルＣＦＧｉを更新するファイル更新リクエストにデバイスコントローラＩＤを含めて、Ｐ２Ｐ通信処理部１１からブロードキャストさせる。
【００８９】
このように、自己に接続されたサブネットワークの構成が変化した場合に、当該変化した構成に応じて自己の構成記述ファイルＣＦＧｉを更新させ、他のデバイスコントローラの構成記述ファイルＣＦＧｉを更新するので、常に最新の構成記述ファイルＣＦＧｉを記憶しておくことができる。なお、ファイル更新リクエストには、フィールドバスＡ，Ｂ，Ｃの構成が変化したことに応じて、ＩＤ生成部１０で新たに生成されたデバイスコントローラＩＤを付加する。
【００９０】
更に、記憶制御部１２は、他のデバイスコントローラＤｉから構成記述ファイルＣＦＧｉを情報受信部１２Ａで受信した場合、当該他のデバイスコントローラＤｉの構成記述ファイルＣＦＧｉを分散型共有メモリ１３に記憶させる。また、記憶制御部１２は、他のデバイスコントローラＤｉから当該デバイスコントローラＤｉのファイル転送リクエストを受信した場合には、情報受信部１２Ａによって、当該ファイル転送リクエストに含まれるデバイスコントローラＩＤに該当する構成記述ファイルＣＦＧｉを読み出して、Ｐ２Ｐ通信処理部１１から送信させる。
【００９１】
このように構成されたデバイスコントローラＤｉは、ソフトウェアスタックとして、Ｐ２Ｐ通信処理部１１を実現するための汎用バス用通信ソフトウェアと、フィールドバスインターフェース１８Ａ，１８Ｂ，１８Ｃが動作してフィールドバスＡ，Ｂ，Ｃと接続するためのフィールドバス用通信ソフトウェアと、構成記述ファイルＣＦＧｉを取得するためのファイル管理ソフトウェアと、フィールドバスＡ，Ｂ，Ｃのデバイスを制御するためのアプリケーションソフトウェアとが実装されている。
【００９２】
ＩＤ生成部１０は、フィールドバス用通信ソフトウェアを検知することによって、デバイスコントローラＤｉがどのような特徴のフィールドバスＡ，Ｂ，Ｃと接続されているかを検知でき、フィールドバスＡ，Ｂ，Ｃに接続されたデバイスの特徴を取得するようにフィールドバスインターフェース１８Ａ，１８Ｂ，１８Ｃを制御できる。そして、ＩＤ生成部１０は、当該フィールドバスＡ，Ｂ，Ｃの特徴とデバイスの特徴との組み合わせによってデバイスコントローラＩＤ（Ｓｉ）を生成して、デバイスコントローラＩＤ記憶部１９に記憶させることができる。そして、デバイスコントローラＤｉは、デバイスコントローラＩＤ（Ｓｉ）が設定されると、記憶制御部１２によって、自己の構成記述ファイルＣＦＧｉを他のデバイスコントローラＤｉから取得して、図８乃至図１１に示す情報を含む構成記述ファイルＣＦＧｉを構成記述ファイル記憶部１４ａに記憶させ、フィールドバスＡ，Ｂ，Ｃのデバイスの制御・監視ができる。
【００９３】
また、デバイスコントローラＤｉは、図１２に示すように、あらゆるフィールドバスＡ，Ｂ，Ｃの特徴とデバイスの特徴との組み合わせによって生成されるデバイスコントローラＩＤ（Ｓｉ）に対応した構成記述ファイルＣＦＧｉを記憶したデータサーバ４１と接続されていても良い。
【００９４】
このシステムにおけるデバイスコントローラＤｉは、インターネット等の汎用回線を介してデータサーバ４１と接続されている。そして、デバイスコントローラＤｉは、ＩＤ生成部１０によってデバイスコントローラＩＤ（Ｓ１）を自動生成して、デバイスコントローラＩＤ記憶部１９に記憶させると、Ｐ２Ｐ通信処理部１１からデータサーバ４１に、デバイスコントローラＩＤ（Ｓ１）を含むファイル転送リクエストを送信させる。
【００９５】
データサーバ４１は、デバイスコントローラＩＤ（Ｓ１）を含むファイル転送リクエストを受信すると、当該デバイスコントローラＩＤ（Ｓ１）に該当する構成記述ファイルＣＦＧｉを読み出して、デバイスコントローラＤ１に返送する。これによって、デバイスコントローラＤ１は、作業者の手間を掛けずに、デバイスコントローラＩＤの設定から構成記述ファイルＣＦＧｉの取得及び構成記述ファイルＣＦＧｉのインストールまでの工程を自動的に行うことができる。
【００９６】
なお、データサーバ４１は、図１２に示すようなインターネット網を介して、複数のデバイスコントローラＤからのファイル転送リクエストに対応できるセンターサーバ型でも良く、ローカルネットワークを介してデバイスコントローラＤと接続されたローカルサーバ型であっても良い。
【００９７】
更に、図１３に示すように、工場等におけるデバイスコントローラＤの製造段階において複数の構成記述ファイルＣＦＧ１（Ｓ１），ＣＦＧ２（Ｓ２），ＣＦＧ３（Ｓ３）が格納されて出荷された場合、ＩＤ生成部１０は、自動的にデバイスコントローラＩＤを設定した後に、何れかの構成記述ファイルＣＦＧｉを選択しても良い。例えば、フィールドバスＦＢの種類及びデバイスの種類から、デバイスコントローラＩＤ２を生成した場合に、予め構成記述情報メモリ１２Ｄに記憶された複数の構成記述ファイルＣＦＧｉのうち、構成記述ファイルＣＦＧ２を選択して、構成記述ファイル記憶部１４ａに記憶させる。これによって、選択した構成記述ファイルＣＦＧ２は、構成記述情報ドライバ１４によって、アプリケーション処理部１６、フィールドバス監視・制御部１７、フィールドバスドライバ１８ａに読み込まれることになる。
【００９８】
以上のように、図４乃至図１３に示したようなシステムにデバイスコントローラＤｉが設置されても、ＩＤ生成部１０を備えることによって、デバイスコントローラＤｉに接続されたサブネットワークの特徴及びデバイスの特徴からなるトポロジ情報を自己のデバイスコントローラＩＤにして、デバイスコントローラＩＤを自動的に生成して構成記述ファイルＣＦＧｉを取得できるので、当該デバイスコントローラＩＤ及び構成記述ファイルＣＦＧｉの設定ミスの未然防止、設定時間の短縮、設定コストの削減を実現できる。また、このデバイスコントローラＤｉは、デバイスコントローラＤｉの役割等に関連したデバイスコントローラＩＤであるので、デバイスコントローラＤの管理者にとって分かりやすいものとなる。
【００９９】
なお、上述の実施の形態は本発明の一例である。このため、本発明は、上述の実施形態に限定されることはなく、この実施の形態以外であっても、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることは勿論である。
【図面の簡単な説明】
【０１００】
【図１】本発明を適用したＩＤ生成部の動作を説明するシステム図である。
【図２】本発明を適用したＩＤ生成部の動作手順を説明するシステム図である。
【図３】本発明を適用したＩＤ生成部によってデバイスコントローラＩＤを自動設定して、構成記述ファイルＣＦＧｉを取得する動作を説明するシステム図である。
【図４】本発明を適用したＩＤ生成部を備えたデバイスコントローラを含む情報記憶システムの構成を示すシステム図である。
【図５】本発明を適用したＩＤ生成部を備えた情報記憶システムにおいてデバイスコントローラの詳細な構成を示すブロック図である。
【図６】ＩＤ生成部の構成及びデバイスの構成を示すブロック図である。
【図７】本発明を適用したＩＤ生成部を備えた情報記憶システムにおいて、ＥＭＩＴ技術を採用したデバイスとフィールドバスインターフェースの構成を示すブロック図である。
【図８】フィールドバステーブルの構成図である。
【図９】本発明を適用したＩＤ生成部を備えた情報記憶システムにおいて、デバイスコントローラに格納された構成記述ファイルに含まれる変数テーブルの構成図である。
【図１０】本発明を適用したＩＤ生成部を備えた情報記憶システムにおいて、デバイスコントローラに格納された構成記述ファイルに含まれる連携テーブルの構成図である。
【図１１】本発明を適用したＩＤ生成部を備えた情報記憶システムにおいて、デバイスコントローラに格納された構成記述ファイルに含まれるソフトウェアパラメータを示す図である。
【図１２】本発明を適用したＩＤ生成部を備えたデバイスコントローラによって、センターサーバから構成記述ファイルＣＦＧｉを取得する動作を説明するシステム図である。
【図１３】本発明を適用したＩＤ生成部を備えたデバイスコントローラに複数の構成記述ファイルＣＦＧｉを記憶しておいて、選択する動作を説明するシステム図である。
【符号の説明】
【０１０１】
１  分散型共有メモリ
１０  ＩＤ生成部
１０Ａ  トポロジ情報生成部
１０Ｂ  フィールドバス検索処理部
１０Ｃ  ＯＳリフレクション処理部
１０Ｄ  デバイスアクセス処理部
１０Ｅ  通信ドライバ
１０Ｆ  フィールドバス通信ポート
１０ａ  デバイス検出部
１０ｂ  ドライバ検出部
１０ｃ  集約処理部
１０ｄ  分類処理部
１０ｅ  ＩＤ生成処理部
２０Ａ  リフレクションプロトコル実装部
２０Ｂ  リフレクション処理部
１１  Ｐ２Ｐ通信処理部
１２  記憶制御部
１２Ａ  情報受信部
１２Ｂ  情報更新部
１２Ｃ  情報要求部
１２Ｄ  構成記述情報メモリ
１２Ｅ  情報選択部
１３  分散型共有メモリ
１４  構成記述情報ドライバ
１４ａ  構成記述ファイル記憶部
１５  変数テーブル
１５Ａ  変数テーブル更新部
１６，１６Ａ  アプリケーション処理部
１６Ｂ  連携テーブル
１６Ｃ  アプリケーション更新部
１７  フィールドバス監視・制御部
１７Ａ  フィールドバス監視部
１７Ｂ  フィールドバス制御部
１８Ａ，１８Ｂ，１８Ｃ  フィールドバスインターフェース
１８ａ  フィールドバスドライバ
１８ｂ  フィールドバスインターフェース部
１９  デバイスコントローラＩＤ記憶部
２１  ＭＯＳ機能部
２１ａ  機能
２１ｂ  イベント
２１ｃ  変数
２１ｄ，３１ｄ  オブジェクトＩＤ
２１ｅ  サービステーブル
２２  アプリケーション処理部
２３  インターフェースモジュール
２４  能力テーブル
３１  ＯＡＳ機能部３１
３１ａ  デバイスアクセスサーバ
３１ｂ  サービス情報
３１ｃ  デバイスアクセスコントローラ
３２  通信モジュール
４１  データサーバ
【図１】
2007200305.tif 000003
【図２】
2007200305.tif 000004
【図３】
2007200305.tif 000005
【図４】
2007200305.tif 000006
【図５】
2007200305.tif 000007
【図６】
2007200305.tif 000008
【図７】
2007200305.tif 000009
【図８】
2007200305.tif 000010
【図９】
2007200305.tif 000011
【図１０】
2007200305.tif 000012
【図１１】
2007200305.tif 000013
【図１２】
2007200305.tif 000014
【図１３】
2007200305.tif 000015