(57)【要約】【課題】  複数の種類のネットワーク／ＦＡミドルウェアシステムを変更することなく、相互の制御機器にアクセスできるネットワークシステムを提供すること【解決手段】  ネットワーク１を介して制御機器（第１，第２ＰＬＣ１０′，１０″）と、情報処理機器２０と情報変換サーバ３０が接続される。情報変換サーバには、ネットワークに接続される制御機器がサポートするプロトコル名，プロトコルのコマンド情報，コマンド種別を含むプロファイル情報を格納したコマンド変換エリアを備える。情報変換サーバは、情報処理機器からターゲットとなる制御機器宛の送信データを受信した際に、コマンド変換エリアにアクセスし、その送信データに格納されたコマンドがそのターゲットとなる制御機器が理解できるコマンドか否かを判断し、理解できる場合には受信したコマンドを用いた送信データを前記ターゲットとなる制御機器に送信し、理解できない場合にはプロファイル情報に基づき理解できるコマンドに変換して生成した送信データをターゲットとなる制御機器に送信するように構成した。【選択図】        図１
2005260893.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続される制御機器がサポートするプロトコル名，プロトコルのコマンド情報，コマンド種別を含むプロファイル情報を格納したコマンド変換記憶手段と、
情報処理機器からターゲットとなる制御機器宛の送信データを受信した際に、前記コマンド変換記憶手段にアクセスし、その送信データに格納されたコマンドがそのターゲットとなる制御機器が理解できるコマンドか否かを判断する判断手段と、
その判断手段の判断結果が理解できる場合には受信したコマンドを用いた送信データを前記ターゲットとなる制御機器に送信し、理解できない場合には前記プロファイル情報に基づき理解できるコマンドに変換して生成した送信データを前記ターゲットとなる制御機器に送信する手段を備えたことを特徴とする情報変換サーバ。
【請求項２】
前記情報処理機器のアドレス情報を記憶保持し、
前記ターゲットとなる制御機器からのレスポンスを受信した際には、そのレスポンスを前記アドレス情報に基づき前記情報処理機器へ送信する機能を備えたことを特徴とする請求項１に記載の情報変換サーバ。
【請求項３】
前記判断手段による判断結果が理解できない場合には、前記情報処理機器から取得したコマンドも記憶保持し、
前記ターゲットとなる制御機器からのレスポンスを受信した際には、前記記憶保持したレスポンスと、前記コマンド変換記憶手段に格納されたプロファイル情報に基づいて前記情報処理機器が理解できる内容に変換したレスポンスを生成し、前記情報処理機器へ送信する機能を備えたことを特徴とする請求項２に記載の情報変換サーバ。
【請求項４】
請求項１から３のいずれか１項に記載の情報変換サーバと、
その情報変換サーバにネットワークを介して接続される前記制御機器と、
前記ネットワークと同一または異なるネットワークを介して前記情報変換サーバに接続される情報処理機器とを備えたネットワークシステム。
【請求項５】
前記制御機器は、自己のプロファイル情報を記憶保持するとともに、その記憶保持したプロファイル情報を前記情報変換サーバに送信する機能を備え、
前記情報変換サーバの前記コマンド変換記憶手段に格納された各制御機器のプロファイル情報は、前記制御機器から送られてきたものであることを特徴とする請求項４に記載のネットワークシステム。
【請求項６】
請求項１から３のいずれか１項に記載の情報変換サーバと、その情報変換サーバにネットワークを介して接続される前記制御機器と、前記ネットワークと同一または異なるネットワークを介して前記情報変換サーバに接続される情報処理機器とを備えたネットワークシステムにおける情報伝送方法であって、
前記情報処理機器は、ターゲットとなる制御機器宛の送信データを所定のプロトコルに基づいて生成するとともに、その生成した送信データを前記情報変換サーバに送信し、
前記情報変換サーバは、受信した前記情報処理機器からの送信データを解析し、前記コマンド変換記憶手段にアクセスして前記ターゲットとなる制御機器が理解できるプロトコルによる送信データを生成し、その生成した送信データを前記ターゲットとなる制御機器に送信することを特徴とする情報伝送方法。
【請求項７】
前記制御機器は、自己のプロファイル情報を記憶保持し、
前記制御機器は、前記ネットワークに接続された際に、その記憶保持したプロファイル情報を前記情報変換サーバに送信し、
前記情報変換サーバは、前記制御機器から送られてきたその制御機器のプロファイル情報を取得するとともに、前記コマンド変換記憶手段に格納する処理を行なうことを特徴とする請求項６に記載の情報伝送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報変換サーバおよびネットワークシステムならびに情報伝送方法に関するもので、特にＦＡ分野における制御機器に対して設定、報収集を行うシステムに関する。
【背景技術】
【０００２】
ＦＡ（ファクトリーオートメーション）分野ではＰＬＣ（プログラマブルコントローラ）などの制御機器を利用する際に、その設定の変更、プログラミング、生産情報の収集などを目的にネットワークを介して制御機器と通信するソフトウェア（ＦＡミドルウェア）が利用されている。このＦＡミドルウェアは、各ベンダごとに独自に設定されている。従って、異なるベンダの機器を同一のネットケーブルに接続したとしても、異なるベンダの機器は通信プロトコルも相違するため相互に通信することができない。つまり、実質的に各ベンダ毎に独自なネットワークが存在することになるとともに、そのネットワークに依存するＦＡミドルウェアが存在し、ＦＡミドルウェアレベルでのベンダ相互の接続は事実上不可能であった。
【０００３】
また、上述したように、システムをマルチベンダで構築すると、ベンダ毎に異なるＦＡネットワークプロトコルがあるので、その相互運用には共通のＦＡミドルウェアを導入して解決を図るようにしたものがある。この共通のＦＡミドルウェアとしては、例えば、プロセスデータ交換のためのソフトウェア標準Ｉ／ＦであるＯＰＣ（ＯＬＥ  ｆｏｒ  Ｐｒｏｃｅｓｓ  Ｃｏｎｔｒｏｌ）がある。各ベンダの機器をこのＯＰＣに準拠させることにより、異なるプラットフォームで実行されている全く異なる言語で記述された異なるアプリケーションを統合化することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記したＯＰＣなどの共通のＦＡミドルウェアを導入したシステムでは、以下に示す問題がある。すなわち、係る技術では、共通化したインタフェースのみを提供するため、基本的なＩ／Ｏの読み書きなどの機能提供にとどまっている。さらに、複数ベンダの制御機器を一括ではあつかえず、ベンダ毎に共通ＦＡミドルウェアが存在する仕様となっている。そのため、ネットワークに異なるベンダの機器が接続される場合、基本的にベンダの数に対応した共通ＦＡミドルウェアが存在することになる。また、例えばある１つのベンダの機器のみで構成されたネットワークシステムに、他のベンダの機器を接続する場合には、他ベンダ用のＯＰＣも合わせて導入する必要がある。
【０００５】
この発明は、複数の種類のネットワーク／ＦＡミドルウェアシステムを変更することなく、異なるプロトコルの機器同士であっても、アクセスできる情報変換サーバおよびネットワークシステムならびに情報伝送方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る情報変換サーバでは、ネットワークに接続される制御機器がサポートするプロトコル名，プロトコルのコマンド情報，コマンド種別を含むプロファイル情報を格納したコマンド変換記憶手段と、情報処理機器からターゲットとなる制御機器宛の送信データを受信した際に、前記コマンド変換記憶手段にアクセスし、その送信データに格納されたコマンドがそのターゲットとなる制御機器が理解できるコマンドか否かを判断する判断手段と、その判断手段の判断結果が理解できる場合には受信したコマンドを用いた送信データを前記ターゲットとなる制御機器に送信し、理解できない場合には前記プロファイル情報に基づき理解できるコマンドに変換して生成した送信データを前記ターゲットとなる制御機器に送信する手段を備えて構成した。ここで、情報処理機器は、制御機器に対して設定を行なったり、制御機器から情報を収集したりするなどの制御機器との間で何かしらの情報処理を行なうものである。
【０００７】
また、前記情報処理機器のアドレス情報を記憶保持し、前記ターゲットとなる制御機器からのレスポンスを受信した際には、そのレスポンスを前記アドレス情報に基づき前記情報処理機器へ送信する機能を備えるとよい。さらに、前記判断手段による判断結果が理解できない場合には、前記情報処理機器から取得したコマンドも記憶保持し、前記ターゲットとなる制御機器からのレスポンスを受信した際には、前記記憶保持したレスポンスと、前記コマンド変換記憶手段に格納されたプロファイル情報に基づいて前記情報処理機器が理解できる内容に変換したレスポンスを生成し、前記情報処理機器へ送信する機能を備えるとよい。
【０００８】
一方、本発明に係るネットワークシステムでは、上述したいずれかの情報変換サーバと、その情報変換サーバにネットワークを介して接続される前記制御機器と、前記ネットワークと同一または異なるネットワークを介して前記情報変換サーバに接続される情報処理機器とを備えて構成した。なお、情報処理機器と情報変換サーバは、別の装置として構成することもできるし、一体の装置として実現することもできる。例えば、情報変換サーバの機能（ソフトウェアプログラム）を、情報処理機器にインストールして組み込むことなどもできる。
【０００９】
また、本発明に係る情報伝送方法は、上述したいずれかの情報変換サーバと、その情報変換サーバにネットワークを介して接続される前記制御機器と、前記ネットワークと同一または異なるネットワークを介して前記情報変換サーバに接続される情報処理機器とを備えたネットワークシステムにおける情報伝送方法であって、前記情報処理機器は、ターゲットとなる制御機器宛の送信データを所定のプロトコルに基づいて生成するとともに、その生成した送信データを前記情報変換サーバに送信し、前記情報変換サーバは、受信した前記情報処理機器からの送信データを解析し、前記コマンド変換記憶手段にアクセスして前記ターゲットとなる制御機器が理解できるプロトコルによる送信データを生成し、その生成した送信データを前記ターゲットとなる制御機器に送信するようにした。
【００１０】
本発明によれば、情報処理機器は、有る制御機器にアクセスする際に、所定のプロトコルに基づいて生成した送信データを情報変換サーバに渡すと、その情報変換サーバが制御機器の理解できるプロトコルによる送信データ（コマンド）を生成し、送信する。従って、サポートされたプロトコルが異なる機器同士であっても、情報変換サーバを介することにより通信することができる。よって、ユーザのソフトウェア資産をそのままに、ネットワークに情報交換サーバを接続することにより複数ベンダの相互接続が実現できる。
【００１１】
さらに、上記のネットワークを前提とし、前記制御機器は、自己のプロファイル情報を記憶保持するとともに、その記憶保持したプロファイル情報を前記情報変換サーバに送信する機能を備え、前記情報変換サーバの前記コマンド変換記憶手段に格納された各制御機器のプロファイル情報は、前記制御機器から送られてきたものとするとよい。
【００１２】
また、上記の情報伝送方法を前提とし、前記制御機器は、自己のプロファイル情報を記憶保持し、前記制御機器は、前記ネットワークに接続された際に、その記憶保持したプロファイル情報を前記情報変換サーバに送信し、前記情報変換サーバは、前記制御機器から送られてきたその制御機器のプロファイル情報を取得するとともに、前記コマンド変換記憶手段に格納する処理を行なうとよい。
【００１３】
このようにすると、制御機器自身がプロファイル情報を持ち、情報交換サーバに送信する仕組みのため、制御機器を新規にネットワークに接続しても情報処理機器は更新することなくそのまま使用でき、情報変換サーバもコマンド変換記憶手段にプロファイル情報を追加するだけで処理アルゴリズムの更新処理は不要となる。
【発明の効果】
【００１４】
この発明では、複数の種類のネットワーク／ＦＡミドルウェアシステムを変更することなく、異なるベンダ（サポートするプロトコルが相違する）の機器であっても通信・アクセスできる。
【発明を実施するための最良の形態】
【００１５】
図１は、本発明に係るネットワークシステムの第１の実施の形態を示している。この例では、イーサネット（登録商標）などの汎用のネットワーク１に対し、Ａ社製の第１ＰＬＣ１０′と、Ｂ社製の第２ＰＬＣ１０″を接続している。これら２つのＰＬＣ１０，１０′のベンダは相違しているため、ＦＡネットワークプロトコル（通信プロトコル）も相違し、異なるベンダの製品の通信プロトコルは理解できない。また、このネットワーク１には、情報処理機器２０と、情報変換サーバ３０が接続されている。このネットワークシステムでは、第１，第２ＰＬＣ１０，１０′等の制御機器１０（個々のＰＬＣを区別する必要がない場合には、代表して符号１０で示す）のアドレスはユーザがネットワーク１内に一意に設定することとし、また、情報処理機器２０（ＦＡミドルウェア）上での制御機器１０もしくは情報変換サーバ３０に対するアドレスもユーザが一意に設定する。
【００１６】
第１，第２ＰＬＣ１０′，１０″等の制御機器１０は、自己のプロファイル情報を記憶保持する。プロファイル情報は、ＦＡネットワークプロトコル情報やメモリ構成などのネットワーク１を介してその制御機器１０にアクセスしたり、その制御機器１０のメモリに対して読み書きするなど、通信等するのに必要な情報である。本実施の形態では、プロファイル情報はＸＭＬ形式で格納されている。そして、制御機器１０は、ネットワーク接続時に、図１中（１）で示すように情報変換サーバ３０に対して自身の持つプロファイル情報（ＸＭＬファイル）を送信する機能を持つ。
【００１７】
図２は、このプロファイル情報の一例を示している。この図に示すように、少なくともアクセス種別と、プロトコル種別と、コマンド種別が定義される。アクセス種別とは、たとえば「ＲｅａｄＩＯ」，「ＷｉｔｅＩＯ」のようにアクセして処理を実行する内容を特定するものであり、プロトコル種別は、使用するネットワークプロトコルを特定するものであり、コマンド種別は、そのネットワークプロトコルにおいてアクセス種別を実行する場合に用いるコマンドを定義するものである。また、図２には、アクセス種別として「ＲｅａｄＩＯ」のみ記述しているが、実際にはこれ以外の各種のアクセス種別も合わせて記述される。
【００１８】
情報処理機器２０は、制御機器１０に対し、ネットワーク１を介して各種の設定をしたり情報収集をしたりするものであり、係る処理を行なうＦＡミドルウェアが実装される。このＦＡミドルウェアは、アプリケーションから受け取ったコマンドをＴＣＰもしくはＵＤＰパケットにして、かつ、それにターゲットとなる制御機器１０のＩＰアドレスもしくはポート番号等のアドレス情報を付加して情報変換サーバ３０に送信する機能を有する。
【００１９】
情報変換サーバ３０は、各制御機器１０のプロファイル情報と、その制御機器１０のアドレスを記憶保持し、情報処理機器（ＦＡミドルウェア）２０，制御機器１０と通信するものである。この情報変換サーバ３０は、ＸＭＬパース（走査）機能を備えている。このＸＭＬパース機能は、全ての情報を照会して対応する情報を特定するものである。よって、上記の制御機器１０から送られてくるプロファイル情報をパース（走査）して、その結果を制御機器のアドレスと関連づけたコマンド一覧としてコマンド変換情報記憶部に格納する。さらに、以下に示す処理を実行する機能を備えている。
【００２０】
上述した通り、情報処理機器２０（ＦＡミドルウェア）からは、コマンド等が送られてくるので、そのコマンド等を受け取った情報変換サーバ３０はコマンド変換情報記憶部（コマンド変換エリア）にアクセスし、保持しているコマンド一覧から、アクセス種別と受け取ったコマンドのＩＰアドレスに合致するものがあるか検索する。そして、一致するものがあれば、そこに記述された変換先コマンドを新たにＴＣＰもしくはＵＤＰパケットとして生成（パケットの中身のデータを置き換えたものを生成）し、リクエストとしてターゲットの制御機器１０に送信する。このときに、送り元のＩＰアドレスを保持する。
【００２１】
これにより、送信先の制御機器１０にとっては、自己が理解できる通信プロトコルに従ってリクエストがかかるため、その内容を理解することができる。よって、制御機器１０は、その理解した内容に応じた処理を実行後、レスポンスを情報変換サーバ３０に返す。そこで、情報変換サーバ３０は、係るレスポンスを受け取ると、保持している送信元のＩＰアドレスを送信先のＩＰアドレス宛にするとともに、コマンド一覧から合致するレスポンスを検索する。もし一致するものがあれば、変換先レスポンスをＴＣＰもしくはＵＤＰにつめ直して、ＦＡミドルウェアに送信する。これにより、情報処理機器２０は、自己が理解できるプロトコルでレスポンスを受け取ることかできる。つまり、情報処理機器２０並びに制御機器１０は、目的とする通信相手先が対応している通信プロトコルの種別を知ることなく、自己が知っている通信プロトコルに基づいてコマンドを送信しても、情報変換サーバ３０がそのコマンドを真の送信相手先が理解できる通信プロトコルのコマンドに変換して送信するため、真の送信相手先と通信ができる。
【００２２】
また、情報変換サーバ３０を１つ設けておくだけで、その後にネットワーク１に新たなプロトコルにより動作する制御機器が接続された場合でも、その制御機器から情報変換サーバ３０にその制御機器のプロファイル情報が送られるので、ネットワーク１に接続された各デバイスは、相互に通信が行えるようになる。
【００２３】
次に、上記した処理を実現するためのより具体的な機能・構成について説明する。図３は、情報変換サーバ３０のハードウェア構成を示している。ＯＳを含めたそれぞれのソフトウェアを実行制御する演算部３１と。それぞれのソフトウェアの実行モジュールを格納するＲＯＭもしくはＨＤＤ等の不揮発性記憶部３２と、それぞれのソフトウェアが必要とするワーク領域を保持するのに使用するＲＡＭ３３と、インターネット，ＬＡＮ等のネットワークを介した通信を制御するのに使用する通信制御部３４を備えている。この不揮発性記憶部３２およびＲＡＭ３３にコマンド変換情報記憶部が形成され、システム稼働時は、ＲＡＭ３３に格納のされたコマンド一覧に基づきコマンド変換処理が行なわれ、電源ＯＦＦ時は不揮発性記憶部３２にてバックアップされる。また、図３に示した構成は、一般的なパソコンのハードウェア構成と同じであり、情報処理機器２０も基本的に同一の構成をとる。
【００２４】
＜初期処理＞
上述した通り、各制御器等の制御機器１０には、各ベンダの独自なネットワークコマンド（リクエスト，レスポンス共）をＸＭＬによって記述されたプロファイル情報が搭載されている。そこで、制御機器１０は、汎用ネットワーク１に接続されたときに、搭載するプロファイル情報のブロードキャストを行う。そこで、情報交換サーバ３０は、図４に示すフローチャートを実行する。
【００２５】
すなわち、まずＸＭＬファイルを伴うブロードキャストを受信するのを待つ（Ｓ１，Ｓ２）。そして、受信したならば制御機器１０の接続を認識すると同時に、その制御機器１０のアドレスと送付されたＸＭＬファイルを格納する。そして、情報変換サーバ３０は、そのＸＭＬファイルをパースし、そのアクセス属性（読み／書きなど）と独自なネットワークコマンドを取り出し、不揮発性記憶部３２およびＲＡＭ３３に形成されたコマンド変換情報記憶部（コマンド変換エリア）に保存する（Ｓ３）。また、コマンド変換エリアに格納する情報としては、上記以外に正常時並びに異常時に返送するレスポンスのコマンドがあり、さらに、送信元ＩＰと変換元コマンドを格納する領域を確保している。なお、この保持形式は問わない。
【００２６】
上述したＳ１からＳ３の処理を繰り返し実行することにより、ネットワーク１に接続された全ての制御機器１０についてのプロファイル情報＆アドレス情報等が収集され、コマンド一覧としてコマンド変換エリアに記憶保持される（図１（ｂ）参照）。
【００２７】
＜リクエスト送信・変換処理＞
次に、情報処理機器２０が所定の制御機器１０にリクエストをかけ、通信を行なう場合を説明する。アプリケーション／ミドルウェアは接続したい制御機器１０に対する独自なコマンドとターゲットの制御機器１０のＩＰアドレスを情報変換サーバ３０宛に送出する。このとき、汎用のネットワーク１上で利用される通信プロトコルをＴＣＰ／ＩＰもしくはＵＤＰ／ＩＰとし、そのパケットはＴＣＰ／ＵＤＰパケットとする。通常、内部はバイナリで構成されている。
【００２８】
図５は、情報処理機器２０が、第２ＰＬＣ１０″に対して、ＩＯの読み出しを行なうコマンドを発行する場合の処理を示している。そのため、この例では、情報処理機器２０は、プロトコルＡ用に対応したＦＡミドルウェアが実装されているため、プロトコルＡ用のＩＯ読みだしのコマンドである「０１０１」と、真の通信相手先である第２ＰＬＣ１０″のアドレスである「１０．３．４．２」と、アクセス種別の「ＲｅａｄＩＯ」を情報変換サーバ３０へ送る。
【００２９】
この情報処理機器２０からのリクエストに従い、真の送信相手先に対して所望のプロトコルのリクエストを送信するための機能として、情報変換サーバ３０は、図６に示すフローチャートを実行する機能を有している。
【００３０】
すなわち、まずアプリケーション／ミドルウェアから情報取得のリクエストの受信を行なう（Ｓ１１）。情報変換サーバ３０は受け取ったＴＣＰ／ＵＤＰパケットにセットされる独自コマンドのアクセス種別情報と、真の通信相手であるターゲットとなる制御機器のＩＰアドレス（これらを「検索キー」とする）を取り出す（Ｓ１２）。図５の例では、「ＲｅａｄＩＯ」と「１０．３．４．２」を取得する（Ｓ１２）。
【００３１】
また、レスポンス用に受け取ったパケットの送信元ＩＰアドレスを取得し、保持する（Ｓ１３）。これは、ＴＣＰ／ＵＤＰパケットのヘッダに格納された送信元アドレスを抽出することにより行える。
【００３２】
Ｓ１２で取得した検索キー（アクセス種別と、ターゲットとなる制御機器のＩＰアドレス）に基づき、コマンド変換エリアを検索する（Ｓ１４）。そして、一致するＩＰアドレスおよびアクセス種別があった場合（Ｓ１５の分岐判断でＹｅｓ）には、まず受け取ったパケットから変換元コマンドを取り出し、対応するコマンド変換エリアに持する（Ｓ１７）。次いで、情報交換サーバ３０は、変換先のコマンドデータ（ターゲットの制御機器が理解できるプロトコルのコマンド）および送信先ＩＰアドレスをコマンド変換エリアから取り出し、それらからＴＣＰ／ＵＤＰ通信パケットを生成し、生成したパケットをターゲットの制御機器に向けて送信する（Ｓ１８）。
【００３３】
一方、Ｓ１５の分岐判断でＮｏとなった場合には、エラーレスポンスを作成し、アプリケーション／ミドルウェアに返送する（Ｓ１６）。このときのエラーレスポンスは、送信元のＩＰアドレスをキーにコマンド変換エリアを検索し、その送信元の情報処理機器２０が理解できるプロトコルで送ることになる。
【００３４】
図５に示すパケットを受信した場合には、情報変換サーバ３０は図７に示すように、０１０１というコマンドを受け取るが、コマンド変換エリアにある、０１０１は１０．３．４．１宛という情報から、これは０１０１コマンドを知らない第２ＰＬＣ１０″宛であることが特定される（送信先のＩＰアドレスからも特定できる）。この場合、アクセス種別および宛先の制御機器アドレスから、変換すべきコマンドは０３０４であることがわかる。よって、情報変換サーバは第２ＰＬＣ１０″宛（１０．３．４．２）に０３０４のコマンドＫを発行することとなる。
【００３５】
また、Ｓ１３の処理を実行することにより、図８に示すように送信元ＩＯの欄に「１０．３．４．１０」が格納され、Ｓ１７の処理を実行することにより変換元コマンドの欄に「０１０１」が格納される。これらの情報は、後述するレスポンスを返す際に利用する。
【００３６】
仮に受け取ったコマンドが０３０４で、宛先が第２ＰＬＣ１０″宛ならば変換の必要はないため、情報変換サーバ３０は変換処理を行わずに（変換元コマンドを空のまま）、そのまま第２ＰＬＣ１０″宛に０３０４のコマンドを送信する。つまり、Ｓ１８における生成処理は、必ずしもコマンドを変換するとは限らず、要は、ターゲットの制御機器１０が理解できるプロトコルのコマンドを用いたパケットを生成することになり、上記のごとく、変換処理を行なわず、受信したコマンドをそのまま用いる場合もある。
【００３７】
＜レスポンス受信・変換処理＞
上記のレスポンス送信・変換処理を行なうことにより、情報処理機器２０からターゲットとなる制御機器１０（例えば第２ＰＬＣ１０″）にリクエストを送ることができる。このリクエストを受けた制御機器１０は、そのリクエストに応じた処理を実行後、レスポンスを返信する。このとき、ターゲットの制御機器１０は、受け取ったパケットの送信元が情報変換サーバ３０のＩＰアドレスであることから、当該レスポンスは情報変換サーバ３０に送信されることになる。
【００３８】
そこで、情報変換サーバ３０は、係るレスポンスを受信したならば、真のレスポンスを受信すべき情報処理機器２０に対して、そのレスポンスを転送する処理を行なう。このとき、制御機器１０からは、その制御機器のプロトコルに即したコマンドでレスポンスが送られてくるので、そのレスポンスをそのまま情報処理機器２０に転送しても理解できないことがある。そこで、情報変換サーバ３０は、受信したレスポンスを必要に応じて変換し、情報処理機器２０が理解できるプロトコルのコマンドで送信するようにする機能を備える。
【００３９】
例えば、図９に示すように、第２ＰＬＣ１０″から、「０３０４  ００」という正常レスポンスＲ１が返信されてきたとすると、情報変換サーバ３０は、そのままでは情報処理機器２０が理解できないため、その変換元コマンドおよびその正常レスポンスをコマンド変換エリアから取り出し、情報処理機器２０が理解できる「０１０１  ００００」というアクセス種別ＲｅａｄＩＯに対する正常レスポンスＲ２を生成し、送信する。
【００４０】
そして、上記処理を行なうための具体的な機能は、図１０に示すフローチャートを実行するようにしている。すなわち、まずターゲットの制御機器からのレスポンスのパケットを受信する（Ｓ２１）。そして、情報変換サーバ３０は、受け取ったＴＣＰ／ＵＤＰパケットにセットされているコマンドおよびターゲット制御機器のＩＰアドレス（これらを検索キーとする）を取り出す（Ｓ２２）。
【００４１】
次に、情報変換サーバ３０は、検索キー（コマンド＆ＩＰアドレス）を用いて保持しているコマンド変換エリアを検索する（Ｓ２３）。そして、合致するＩＰアドレスおよびコマンドがあった場合（Ｓ２４の分岐判断でＹｅｓ）には、情報交換サーバ３０は、その合致したエリアから変換元コマンドを取り出し（Ｓ２５）、「空」であるか否かを判断する（Ｓ２６）。この変換元コマンドには、Ｓ１７の実行によりリクエストを送る際にコマンドを変換した場合にそのもとのコマンドが格納されるため、この変換元コマンドが「空」であるとリクエストも変換することなく転送されことを意味する。つまり、ターゲットの制御機器と情報処理機器は同じプロトコルに対応していると言える。従って、そのＳ２６の分岐判断でＹｅｓとなった場合には、変換処理を行なわず、受信したレスポンスをそのまま情報処理機器（アプリケーション／ミドルウェア）２０に送信し、処理を終了する（Ｓ２７）。
【００４２】
また、変換コマンドが「空」でない場合（Ｓ２６の分岐判断でＮｏ）には、変換元コマンドから対応するレスポンスを検索し（Ｓ２９）、合致するものがあると（Ｓ３０の分岐判断でＹｅｓ）、その合致した変換元コマンドとレスポンス種別（正常もしくは異常）からそのレスポンスデータ、および送信元ＩＰアドレスを取り出す。そして、送信元ＩＰアドレスに対して、変換元コマンドとレスポンスデータをＴＣＰ／ＵＤＰ通信パケットを生成し、送信する（Ｓ３１）。
【００４３】
また、Ｓ２４，Ｓ３０の分岐判断でいずれも合致したものがない場合には、エラーレスポンスを作成し、Ｓ２１で取得したレスポンスの発信元であるターゲットの制御機器に対してレスポンスを返送する（Ｓ２８，Ｓ３２）。
【００４４】
例えば、図９に示した例であれば、情報変換サーバ３０は「０３０４００」をターゲットの制御機器から受け取る。コマンド変換エリアでは、対応する変換元コマンドは０１０１で、 レスポンス種別は００から正常と判るので「０１０１」の正常レスポンスである「００００」と特定する。さらに、リクエストの出し元は送信元ＩＰアドレスから１０．３．４．１０と特定できる。よって、１０．３．４．１０宛に「０１０１  ００００」をレスポンスとして送信できる。
【００４５】
なお、上記のシステムにおいて、情報変換サーバ３０と情報処理機器２０を別の装置としてネットワーク１にそれぞれ接続される形態をしめしたが、本発明はこれに限ることはなく、情報変換サーバ３０に搭載される情報変換機能およびＸＭＬパーサ機能を、ＦＡドルウェアが搭載される機器上で一体として実装し、稼動することも可能である。
【００４６】
図１１は、本発明の第２の実施の形態を示している。本実施の形態では、防火壁４０内の制御機器１０に対して、外部ネットワーク４１に存在する機器からアクセスする場合に対応するものである。
【００４７】
すなわち、複数ベンダによる制御機器１０（第１，第２ＰＬＣ１０′，１０″）が汎用のネットワーク１に接続されているとともに、そのネットワーク１上には制御機器１０のアドレスとコマンドを変換するための情報変換サーバ３０が接続されている。この点では、第１の実施の形態と同様である。そして、本実施の形態では、情報変換サーバ３０は防火壁（ファイアウォール）４０を通じてインターネット等の外部ネットワーク４１に接続されている。この外部ネットワークに複数ベンダによりアプリケーション／ミドルウェアが動作する情報取得用機器が接続されている。
【００４８】
基本的な原理は、第１の実施の形態と同様であり、防火壁４０の外側に存在する情報取得用機器が制御機器１０に対してアクセスすべく情報変換サーバ３０にリクエストを発し、情報変換サーバ３０にてプロトコルを変換してターゲットの制御機器１０にリクエストを送る。そして、制御機器１０からのレスポンスを受信した情報変換サーバ３０は、情報取得用機器が理解できるプロトコルのレスポンスに変換して送信する。
【００４９】
ここで相違するのは、外部ネットワーク４１に接続された情報取得用機器が使用する上位のプロトコルをＨＴＴＰ／ＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  ＡＣＣＥＳＳ  Ｐｒｏｔｏｃｏｌ)とする。その結果、汎用のネットワーク１上で利用される通信プロトコルは、ＴＣＰ／ＩＰもしくはＵＤＰ／ＩＰとしているため、係る相違するプロトコルの変換を行うことになる。以下、具体的な処理手順に従って、各機能を説明する。
【００５０】
まず、初期処理としては、第１の実施の形態と同様であり、各制御機器１０は、ネットワーク１に接続する際に、自己が保有するプロファイル情報を、ネットワーク１を介して情報変換サーバ３０に送る。これを受けた情報変換サーバ３０は、図４に示したフローチャートを実行することにより得られた情報を、コマンド変換エリアに格納する。
【００５１】
＜リクエスト送信・変換処理＞
外部の情報取得用機器のアプリケーション／ミドルウェアは接続したい制御機器１０に対する独自なコマンドとターゲットの制御機器のIPアドレスをXML表現したものを情報変換サーバ宛に送出する。上述したごとく、上位のプロトコルはＨＴＴＰ／ＳＯＡＰとしているため、ＸＭＬ表現された情報はテキスト情報であるので、ＴＣＰ／ＵＤＰパケット内にＵｎｉＣｏｄｅもしくはＪＩＳ変換されて格納される。
【００５２】
係るリクエストを受け取った情報変換サーバ３０は、ターゲットの制御機器１０に対してそのリクエストを送信するリクエスト送信・変換処理をするための機能として、図１２に示すフローチャートを実行する機能を有する。
【００５３】
すなわち、情報変換サーバ３０は、アプリケーション／ミドルウェアから情報取得のリクエストの受信を行なう（Ｓ４１）。すると、情報変換サーバ３０は、取得したＨＴＴＰ／ＳＯＡＰプロトコルからＸＭＬファイルを取り出し、そのＸＭＬファイルにセットされる独自コマンドのアクセス種別情報と、真の通信相手であるターゲットとなる制御機器のＩＰアドレス（これらを「検索キー」とする）を取り出す（Ｓ４２）。また、レスポンス用に受け取ったパケットの送信元ＩＰアドレスを取得し、保持する（Ｓ４３）。
【００５４】
Ｓ４２で取得した検索キー（アクセス種別と、ターゲットとなる制御機器のＩＰアドレス）に基づき、コマンド変換エリアを検索する（Ｓ４４）。そして、一致するＩＰアドレスおよびアクセス種別があった場合（Ｓ４５の分岐判断でＹｅｓ）には、ＸＭＬファイルから変換元コマンドを取り出し、対応するコマンド変換エリアに持する（Ｓ４７）。次いで、情報交換サーバ３０は、ＸＭＬファイルから変換先のコマンドデータ（ターゲットの制御機器が理解できるプロトコルのコマンド）および送信先ＩＰアドレスをコマンド変換エリアから取り出し、それらからＴＣＰ／ＵＤＰ通信パケットを生成し、生成したパケットをターゲットの制御機器に向けて送信する（Ｓ４８）。一方、Ｓ４５の分岐判断でＮｏとなった場合には、エラーレスポンスを作成し、アプリケーション／ミドルウェアに返送する（Ｓ４６）。
【００５５】
従って、たとえば図１３に示すように、ターゲットの制御機器が第１ＰＬＣ１０′で、リクエストがプロトコルＢを用いたＸＭＬで記述されている場合には、Ｓ４８の処理では、コマンドを第１ＰＬＣ１０′に対応する「０１０１」に変更したパケットを生成し、そのパケットＰを第１ＰＬＣ１０′に送る。この場合、コマンド変換エリアには、発信元として「１０．５．１．１」が格納され、変換元コマンドとして「０３０４」が格納される。
【００５６】
また、図１１に示すように、ターゲットの制御機器が第２ＰＬＣ１０′で、リクエストがプロトコルＢを用いたＸＭＬで記述されている場合には、Ｓ４８の処理では、コマンドを変換することなく、「０３０４」のままのパケットを生成し、そのパケットを第２ＰＬＣ１０″に送る。この場合、コマンド変換エリアには、送信元ＩＰには「１０．５．５．１」が格納されるが、変換元コマンドは「空」の状態のままとなる。
【００５７】
＜レスポンス受信・変換処理＞
上記のレスポンス送信・変換処理を行なうことにより、情報取得機器からターゲットとなる制御機器１０（例えば第１ＰＬＣ１０′）にパケットを送ることができる。一方、ターゲットの制御機器１０は、受け取ったパケットの送信元が情報変換サーバ３０のＩＰアドレスであることから、レスポンスを情報変換サーバ３０に送信する。
【００５８】
そこで、情報変換サーバ３０は、係るレスポンスを受信したならば、真のレスポンスを受信すべき情報取得機器に対して、そのレスポンスを転送する処理を行なう。このとき、制御機器１０からは、その制御機器のプロトコルに即したコマンドでレスポンスが送られてくるので、そのレスポンスをそのまま情報取得機器に転送しても理解できないことがある。そこで、情報変換サーバ３０は、受信したレスポンスを必要に応じて変換し、情報取得機器が理解できるプロトコルのコマンドで送信するようにする機能を備える。
【００５９】
具体的には、図１４に示すフローチャートを実行するようにしている。すなわち、まずターゲットの制御機器からのレスポンスのパケットを受信する（Ｓ５１）。そして、情報変換サーバ３０は、受け取ったパケットにセットされているコマンドおよびターゲット制御機器のＩＰアドレス（これらを検索キーとする）を取り出す（Ｓ５２）。
【００６０】
次に、情報変換サーバ３０は、検索キー（コマンド＆ＩＰアドレス）を用いて保持しているコマンド変換エリアを検索する（Ｓ５３）。そして、合致するＩＰアドレスおよびコマンドがあった場合（Ｓ５４の分岐判断でＹｅｓ）には、情報交換サーバ３０は、その合致したエリアから変換元コマンドを取り出し（Ｓ５５）、「空」であるか否かを判断する（Ｓ５６）。この変換元コマンドには、Ｓ４７の実行によりリクエストを送る際にコマンドを変換した場合にそのもとのコマンドが格納されるため、この変換元コマンドが「空」であるとリクエストも変換することなく転送されことを意味する。つまり、ターゲットの制御機器と情報取得機器は同じプロトコルに対応していると言える。従って、そのＳ５６の分岐判断でＹｅｓとなった場合には、変換処理を行なわず、受信したレスポンスをそのまま情報取得機器（アプリケーション／ミドルウェア）に送信し、処理を終了する（Ｓ５７）。
【００６１】
また、変換コマンドが「空」でない場合（Ｓ５６の分岐判断でＮｏ）には、変換元コマンドから対応するレスポンスを検索し（Ｓ５９）、合致するものがあると（Ｓ６０の分岐判断でＹｅｓ）、その合致した変換元コマンドとレスポンス種別（正常もしくは異常）からそのレスポンスデータ、および送信元ＩＰアドレスを取り出す。そして、送信元ＩＰアドレスに対して、変換元コマンドとレスポンスから、ＸＭＬファイルを生成し、その生成したＸＭＬファイルをＨＴＴＰ／ＳＯＡＰレスポンスに格納して、情報取得機器（アプリケーション／ミドルウェア）に送信し、処理を終了する送信する（Ｓ６１）。
【００６２】
また、Ｓ５４，Ｓ６０の分岐判断でいずれも合致したものがない場合には、エラーレスポンスを作成し、Ｓ５１で取得したレスポンスの発信元であるターゲットの制御機器に対してレスポンスを返送する（Ｓ５８，Ｓ６２）。
【００６３】
一例としては、たとえば図１５に示すように、図１１に対応するレスポンスとして第２ＰＬＣ１０″からレスポンスとして、「０３０４  ００」が返信されると、コマンド変換エリアの変換元コマンドは「空」であるので、受け取ったコマンドを送信元ＩＰに向けて送信する。もちろん、第１ＰＬＣ１０′からのレスポンスを受けた場合には、コマンドを変換した後、送信することになる。
【００６４】
情報変換サーバ３０は、インターネットに接続する場合に防火壁で通信を制限されるが、内部でのデータ管理はＸＭＬで行うため、ＳＯＡＰによりファイアウォール外から簡易にデバイスにアクセスが可能となる。
【００６５】
上述したように、情報変換サーバ３０は独自コマンドの仕様を予め実装することなく、各制御機器からプロファイル情報を収集するだけで、外部からの制御機器のアクセスに対応することができる。
【図面の簡単な説明】
【００６６】
【図１】本発明の第１の実施の形態を示す図である。
【図２】プロファイル情報の一例を示す図である。
【図３】情報変換サーバの内部構造の一例を示すブロック図である。
【図４】情報変換サーバの初期処理の機能を示すフローチャートである。
【図５】動作原理を説明する図である。
【図６】情報変換サーバのリクエスト送信・変換処理の機能を示すフローチャートである。
【図７】動作原理を説明する図である。
【図８】コマンド変換エリアのデータ構造の一例を示す図である。
【図９】動作原理を説明する図である。
【図１０】情報変換サーバのレスポンス送信・変換処理の機能を示すフローチャートである。
【図１１】第２の実施の形態を示す図である。
【図１２】情報変換サーバのリクエスト送信・変換処理の機能を示すフローチャートである。
【図１３】動作原理を説明する図である。
【図１４】情報変換サーバのレスポンス送信・変換処理の機能を示すフローチャートである。
【図１５】動作原理を説明する図である。
【符号の説明】
【００６７】
１  ネットワーク
１０  制御機器
１０′  第１ＰＬＣ
１０″  第２ＰＬＣ
２０  情報処理機器
３０  情報変換サーバ
４０  防火壁
４１  インターネット
【図１】
2005260893.tif 000003
【図２】
2005260893.tif 000004
【図３】
2005260893.tif 000005
【図４】
2005260893.tif 000006
【図５】
2005260893.tif 000007
【図６】
2005260893.tif 000008
【図７】
2005260893.tif 000009
【図８】
2005260893.tif 000010
【図９】
2005260893.tif 000011
【図１０】
2005260893.tif 000012
【図１１】
2005260893.tif 000013
【図１２】
2005260893.tif 000014
【図１３】
2005260893.tif 000015
【図１４】
2005260893.tif 000016
【図１５】
2005260893.tif 000017