JP4324864B2 - ネットワークシステム - Google Patents

ネットワークシステム Download PDF

Info

Publication number
JP4324864B2
JP4324864B2 JP2004073520A JP2004073520A JP4324864B2 JP 4324864 B2 JP4324864 B2 JP 4324864B2 JP 2004073520 A JP2004073520 A JP 2004073520A JP 2004073520 A JP2004073520 A JP 2004073520A JP 4324864 B2 JP4324864 B2 JP 4324864B2
Authority
JP
Japan
Prior art keywords
command
information
control device
address
conversion server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2004073520A
Other languages
English (en)
Other versions
JP2005260893A (ja
Inventor
弓束 重森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2004073520A priority Critical patent/JP4324864B2/ja
Publication of JP2005260893A publication Critical patent/JP2005260893A/ja
Application granted granted Critical
Publication of JP4324864B2 publication Critical patent/JP4324864B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Programmable Controllers (AREA)
  • Small-Scale Networks (AREA)

Description

この発明は、ットワークシステに関するもので、特にFA分野における制御機器に対して設定、報収集を行うシステムに関する。
FA(ファクトリーオートメーション)分野ではPLC(プログラマブルコントローラ)などの制御機器を利用する際に、その設定の変更、プログラミング、生産情報の収集などを目的にネットワークを介して制御機器と通信するソフトウェア(FAミドルウェア)が利用されている。このFAミドルウェアは、各ベンダごとに独自に設定されている。従って、異なるベンダの機器を同一のネットケーブルに接続したとしても、異なるベンダの機器は通信プロトコルも相違するため相互に通信することができない。つまり、実質的に各ベンダ毎に独自なネットワークが存在することになるとともに、そのネットワークに依存するFAミドルウェアが存在し、FAミドルウェアレベルでのベンダ相互の接続は事実上不可能であった。
また、上述したように、システムをマルチベンダで構築すると、ベンダ毎に異なるFAネットワークプロトコルがあるので、その相互運用には共通のFAミドルウェアを導入して解決を図るようにしたものがある。この共通のFAミドルウェアとしては、例えば、プロセスデータ交換のためのソフトウェア標準I/FであるOPC(OLE for Process Control)がある。各ベンダの機器をこのOPCに準拠させることにより、異なるプラットフォームで実行されている全く異なる言語で記述された異なるアプリケーションを統合化することができる。
しかしながら、上記したOPCなどの共通のFAミドルウェアを導入したシステムでは、以下に示す問題がある。すなわち、係る技術では、共通化したインタフェースのみを提供するため、基本的なI/Oの読み書きなどの機能提供にとどまっている。さらに、複数ベンダの制御機器を一括ではあつかえず、ベンダ毎に共通FAミドルウェアが存在する仕様となっている。そのため、ネットワークに異なるベンダの機器が接続される場合、基本的にベンダの数に対応した共通FAミドルウェアが存在することになる。また、例えばある1つのベンダの機器のみで構成されたネットワークシステムに、他のベンダの機器を接続する場合には、他ベンダ用のOPCも合わせて導入する必要がある。
この発明は、複数の種類のネットワーク/FAミドルウェアシステムを変更することなく、異なるプロトコルの機器同士であっても、アクセスできるットワークシステを提供することを目的とする。
本発明に係るネットワークシステムでは、情報変換サーバと、前記情報変換サーバとネットワークを介して通信を行う複数の制御機器と、前記ネットワークと同一または異なるネットワークを介して前記情報変換サーバと通信を行う情報処理機器と、を備えたネットワークシステムである。前記制御機器のそれぞれは、互いに異なるIPアドレスが設定され、アクセス種別が同種でもコマンド定義が異なる機器を含み、ネットワークを介したアクセスによる処理内容であって自身がサポートする処理内容を特定するアクセス種別、そのアクセス種別を実行する場合に用いるコマンドを定義したコマンド種別を含むプロファイル情報を格納する手段と、自身のプロファイル情報をネットワークに送信する送信手段と、前記コマンドを実行する手段と、を備える。前記情報処理機器は、通信相手となる制御機器のIPアドレスと、実行させたい処理内容を特定するアクセス種別及びコマンドと、を含むパケットを前記情報変換サーバ宛へ送出する手段を備える。前記情報変換サーバは、 前記送信手段により前記制御機器から送られてきたその制御機器のプロファイル情報を取得し、その取得した前記制御機器のプロファイル情報をもとにして、各制御機器のIPアドレスとそのIPアドレスの制御機器がサポートするアクセス種別及びコマンドとの対応を含む情報を格納したコマンド変換記憶手段と、前記情報処理機器から受信したパケットからアクセス種別とコマンドとIPアドレスとを取得する手段と、前記コマンド変換記憶手段を参照して、取得したIPアドレスとアクセス種別とコマンドとが対応する場合には受信したコマンドを用い、対応しない場合にはそのIPアドレスとアクセス種別に合致するコマンドを特定してその特定したコマンドを差替えて用い、その用いるコマンドとIPアドレスとを含むパケットを生成する手段と、生成したパケットをIPアドレスの制御機器へ送信する手段と、を備えた。ここで、情報処理機器は、制御機器に対して設定を行なったり、制御機器から情報を収集したりするなどの制御機器との間で何かしらの情報処理を行なうものである。
また、前記情報変換サーバは、前記ネットワーク内で一つのみ設置され、前記情報処理機器並びに前記複数の制御機器はそのネットワークに接続されるようにするとよい。さらに、前記情報処理機器は、通信相手となる制御機器のIPアドレスと実行させたい処理内容を特定するアクセス種別とコマンドと送信元アドレス、を含むパケットを前記情報変換サーバ宛へ送出する機能を備え、前記情報変換サーバは、前記情報処理機器から受け取ったパケットに含まれる送信元アドレスを記憶保持すると共に、その受け取ったパケットに含まれた前記通信相手となる制御機器のIPアドレスと、その通信相手となる制御機器用のコマンドと、送信元アドレスを含むパケットを生成して送信する機能を備え、制御機器は、前記情報変換サーバから受け取ったパケットに含まれるコマンド実行後にそのうけとったパケットに含まれた送信元アドレスへレスポンスを返す機能を備え、前記情報変換サーバは、前記制御機器からのレスポンスを受信した際には、そのレスポンスを、前記記憶保持した送信元アドレスに対し情前記情報処理機器がサポートできるコマンドで転送する機能を備えるとよい。
なお、情報処理機器と情報変換サーバは、別の装置として構成することもできるし、一体の装置として実現することもできる。例えば、情報変換サーバの機能(ソフトウェアプログラム)を、情報処理機器にインストールして組み込むことなどもできる。
本発明によれば、情報処理機器は、有る制御機器にアクセスする際に、所定のプロトコルに基づいて生成した送信データを情報変換サーバに渡すと、その情報変換サーバが制御機器の理解できるプロトコルによる送信データ(コマンド)を生成し、送信する。従って、サポートされたプロトコルが異なる機器同士であっても、情報変換サーバを介することにより通信することができる。よって、ユーザのソフトウェア資産をそのままに、ネットワークに情報交換サーバを接続することにより複数ベンダの相互接続が実現できる。
また、制御機器自身がプロファイル情報を持ち、情報交換サーバに送信する仕組みのため、制御機器を新規にネットワークに接続しても情報処理機器は更新することなくそのまま使用でき、情報変換サーバもコマンド変換記憶手段にプロファイル情報を追加するだけで処理アルゴリズムの更新処理は不要となる。
この発明では、複数の種類のネットワーク/FAミドルウェアシステムを変更することなく、異なるベンダ(サポートするプロトコルが相違する)の機器であっても通信・アクセスできる。
図1は、本発明に係るネットワークシステムの第1の実施の形態を示している。この例では、イーサネット(登録商標)などの汎用のネットワーク1に対し、A社製の第1PLC10′と、B社製の第2PLC10″を接続している。これら2つのPLC10,10′のベンダは相違しているため、FAネットワークプロトコル(通信プロトコル)も相違し、異なるベンダの製品の通信プロトコルは理解できない。また、このネットワーク1には、情報処理機器20と、情報変換サーバ30が接続されている。このネットワークシステムでは、第1,第2PLC10,10′等の制御機器10(個々のPLCを区別する必要がない場合には、代表して符号10で示す)のアドレスはユーザがネットワーク1内に一意に設定することとし、また、情報処理機器20(FAミドルウェア)上での制御機器10もしくは情報変換サーバ30に対するアドレスもユーザが一意に設定する。
第1,第2PLC10′,10″等の制御機器10は、自己のプロファイル情報を記憶保持する。プロファイル情報は、FAネットワークプロトコル情報やメモリ構成などのネットワーク1を介してその制御機器10にアクセスしたり、その制御機器10のメモリに対して読み書きするなど、通信等するのに必要な情報である。本実施の形態では、プロファイル情報はXML形式で格納されている。そして、制御機器10は、ネットワーク接続時に、図1中(1)で示すように情報変換サーバ30に対して自身の持つプロファイル情報(XMLファイル)を送信する機能を持つ。
図2は、このプロファイル情報の一例を示している。この図に示すように、少なくともアクセス種別と、プロトコル種別と、コマンド種別が定義される。アクセス種別とは、たとえば「ReadIO」,「WiteIO」のようにアクセして処理を実行する内容を特定するものであり、プロトコル種別は、使用するネットワークプロトコルを特定するものであり、コマンド種別は、そのネットワークプロトコルにおいてアクセス種別を実行する場合に用いるコマンドを定義するものである。また、図2には、アクセス種別として「ReadIO」のみ記述しているが、実際にはこれ以外の各種のアクセス種別も合わせて記述される。
情報処理機器20は、制御機器10に対し、ネットワーク1を介して各種の設定をしたり情報収集をしたりするものであり、係る処理を行なうFAミドルウェアが実装される。このFAミドルウェアは、アプリケーションから受け取ったコマンドをTCPもしくはUDPパケットにして、かつ、それにターゲットとなる制御機器10のIPアドレスもしくはポート番号等のアドレス情報を付加して情報変換サーバ30に送信する機能を有する。
情報変換サーバ30は、各制御機器10のプロファイル情報と、その制御機器10のアドレスを記憶保持し、情報処理機器(FAミドルウェア)20,制御機器10と通信するものである。この情報変換サーバ30は、XMLパース(走査)機能を備えている。このXMLパース機能は、全ての情報を照会して対応する情報を特定するものである。よって、上記の制御機器10から送られてくるプロファイル情報をパース(走査)して、その結果を制御機器のアドレスと関連づけたコマンド一覧としてコマンド変換情報記憶部に格納する。さらに、以下に示す処理を実行する機能を備えている。
上述した通り、情報処理機器20(FAミドルウェア)からは、コマンド等が送られてくるので、そのコマンド等を受け取った情報変換サーバ30はコマンド変換情報記憶部(コマンド変換エリア)にアクセスし、保持しているコマンド一覧から、アクセス種別と受け取ったコマンドのIPアドレスに合致するものがあるか検索する。そして、一致するものがあれば、そこに記述された変換先コマンドを新たにTCPもしくはUDPパケットとして生成(パケットの中身のデータを置き換えたものを生成)し、リクエストとしてターゲットの制御機器10に送信する。このときに、送り元のIPアドレスを保持する。
これにより、送信先の制御機器10にとっては、自己が理解できる通信プロトコルに従ってリクエストがかかるため、その内容を理解することができる。よって、制御機器10は、その理解した内容に応じた処理を実行後、レスポンスを情報変換サーバ30に返す。そこで、情報変換サーバ30は、係るレスポンスを受け取ると、保持している送信元のIPアドレスを送信先のIPアドレス宛にするとともに、コマンド一覧から合致するレスポンスを検索する。もし一致するものがあれば、変換先レスポンスをTCPもしくはUDPにつめ直して、FAミドルウェアに送信する。これにより、情報処理機器20は、自己が理解できるプロトコルでレスポンスを受け取ることかできる。つまり、情報処理機器20並びに制御機器10は、目的とする通信相手先が対応している通信プロトコルの種別を知ることなく、自己が知っている通信プロトコルに基づいてコマンドを送信しても、情報変換サーバ30がそのコマンドを真の送信相手先が理解できる通信プロトコルのコマンドに変換して送信するため、真の送信相手先と通信ができる。
また、情報変換サーバ30を1つ設けておくだけで、その後にネットワーク1に新たなプロトコルにより動作する制御機器が接続された場合でも、その制御機器から情報変換サーバ30にその制御機器のプロファイル情報が送られるので、ネットワーク1に接続された各デバイスは、相互に通信が行えるようになる。
次に、上記した処理を実現するためのより具体的な機能・構成について説明する。図3は、情報変換サーバ30のハードウェア構成を示している。OSを含めたそれぞれのソフトウェアを実行制御する演算部31と。それぞれのソフトウェアの実行モジュールを格納するROMもしくはHDD等の不揮発性記憶部32と、それぞれのソフトウェアが必要とするワーク領域を保持するのに使用するRAM33と、インターネット,LAN等のネットワークを介した通信を制御するのに使用する通信制御部34を備えている。この不揮発性記憶部32およびRAM33にコマンド変換情報記憶部が形成され、システム稼働時は、RAM33に格納のされたコマンド一覧に基づきコマンド変換処理が行なわれ、電源OFF時は不揮発性記憶部32にてバックアップされる。また、図3に示した構成は、一般的なパソコンのハードウェア構成と同じであり、情報処理機器20も基本的に同一の構成をとる。
<初期処理>
上述した通り、各制御器等の制御機器10には、各ベンダの独自なネットワークコマンド(リクエスト,レスポンス共)をXMLによって記述されたプロファイル情報が搭載されている。そこで、制御機器10は、汎用ネットワーク1に接続されたときに、搭載するプロファイル情報のブロードキャストを行う。そこで、情報交換サーバ30は、図4に示すフローチャートを実行する。
すなわち、まずXMLファイルを伴うブロードキャストを受信するのを待つ(S1,S2)。そして、受信したならば制御機器10の接続を認識すると同時に、その制御機器10のアドレスと送付されたXMLファイルを格納する。そして、情報変換サーバ30は、そのXMLファイルをパースし、そのアクセス属性(読み/書きなど)と独自なネットワークコマンドを取り出し、不揮発性記憶部32およびRAM33に形成されたコマンド変換情報記憶部(コマンド変換エリア)に保存する(S3)。また、コマンド変換エリアに格納する情報としては、上記以外に正常時並びに異常時に返送するレスポンスのコマンドがあり、さらに、送信元IPと変換元コマンドを格納する領域を確保している。なお、この保持形式は問わない。
上述したS1からS3の処理を繰り返し実行することにより、ネットワーク1に接続された全ての制御機器10についてのプロファイル情報&アドレス情報等が収集され、コマンド一覧としてコマンド変換エリアに記憶保持される(図1(b)参照)。
<リクエスト送信・変換処理>
次に、情報処理機器20が所定の制御機器10にリクエストをかけ、通信を行なう場合を説明する。アプリケーション/ミドルウェアは接続したい制御機器10に対する独自なコマンドとターゲットの制御機器10のIPアドレスを情報変換サーバ30宛に送出する。このとき、汎用のネットワーク1上で利用される通信プロトコルをTCP/IPもしくはUDP/IPとし、そのパケットはTCP/UDPパケットとする。通常、内部はバイナリで構成されている。
図5は、情報処理機器20が、第2PLC10″に対して、IOの読み出しを行なうコマンドを発行する場合の処理を示している。そのため、この例では、情報処理機器20は、プロトコルA用に対応したFAミドルウェアが実装されているため、プロトコルA用のIO読みだしのコマンドである「0101」と、真の通信相手先である第2PLC10″のアドレスである「10.3.4.2」と、アクセス種別の「ReadIO」を情報変換サーバ30へ送る。
この情報処理機器20からのリクエストに従い、真の送信相手先に対して所望のプロトコルのリクエストを送信するための機能として、情報変換サーバ30は、図6に示すフローチャートを実行する機能を有している。
すなわち、まずアプリケーション/ミドルウェアから情報取得のリクエストの受信を行なう(S11)。情報変換サーバ30は受け取ったTCP/UDPパケットにセットされる独自コマンドのアクセス種別情報と、真の通信相手であるターゲットとなる制御機器のIPアドレス(これらを「検索キー」とする)を取り出す(S12)。図5の例では、「ReadIO」と「10.3.4.2」を取得する(S12)。
また、レスポンス用に受け取ったパケットの送信元IPアドレスを取得し、保持する(S13)。これは、TCP/UDPパケットのヘッダに格納された送信元アドレスを抽出することにより行える。
S12で取得した検索キー(アクセス種別と、ターゲットとなる制御機器のIPアドレス)に基づき、コマンド変換エリアを検索する(S14)。そして、一致するIPアドレスおよびアクセス種別があった場合(S15の分岐判断でYes)には、まず受け取ったパケットから変換元コマンドを取り出し、対応するコマンド変換エリアに持する(S17)。次いで、情報交換サーバ30は、変換先のコマンドデータ(ターゲットの制御機器が理解できるプロトコルのコマンド)および送信先IPアドレスをコマンド変換エリアから取り出し、それらからTCP/UDP通信パケットを生成し、生成したパケットをターゲットの制御機器に向けて送信する(S18)。
一方、S15の分岐判断でNoとなった場合には、エラーレスポンスを作成し、アプリケーション/ミドルウェアに返送する(S16)。このときのエラーレスポンスは、送信元のIPアドレスをキーにコマンド変換エリアを検索し、その送信元の情報処理機器20が理解できるプロトコルで送ることになる。
図5に示すパケットを受信した場合には、情報変換サーバ30は図7に示すように、0101というコマンドを受け取るが、コマンド変換エリアにある、0101は10.3.4.1宛という情報から、これは0101コマンドを知らない第2PLC10″宛であることが特定される(送信先のIPアドレスからも特定できる)。この場合、アクセス種別および宛先の制御機器アドレスから、変換すべきコマンドは0304であることがわかる。よって、情報変換サーバは第2PLC10″宛(10.3.4.2)に0304のコマンドKを発行することとなる。
また、S13の処理を実行することにより、図8に示すように送信元IOの欄に「10.3.4.10」が格納され、S17の処理を実行することにより変換元コマンドの欄に「0101」が格納される。これらの情報は、後述するレスポンスを返す際に利用する。
仮に受け取ったコマンドが0304で、宛先が第2PLC10″宛ならば変換の必要はないため、情報変換サーバ30は変換処理を行わずに(変換元コマンドを空のまま)、そのまま第2PLC10″宛に0304のコマンドを送信する。つまり、S18における生成処理は、必ずしもコマンドを変換するとは限らず、要は、ターゲットの制御機器10が理解できるプロトコルのコマンドを用いたパケットを生成することになり、上記のごとく、変換処理を行なわず、受信したコマンドをそのまま用いる場合もある。
<レスポンス受信・変換処理>
上記のレスポンス送信・変換処理を行なうことにより、情報処理機器20からターゲットとなる制御機器10(例えば第2PLC10″)にリクエストを送ることができる。このリクエストを受けた制御機器10は、そのリクエストに応じた処理を実行後、レスポンスを返信する。このとき、ターゲットの制御機器10は、受け取ったパケットの送信元が情報変換サーバ30のIPアドレスであることから、当該レスポンスは情報変換サーバ30に送信されることになる。
そこで、情報変換サーバ30は、係るレスポンスを受信したならば、真のレスポンスを受信すべき情報処理機器20に対して、そのレスポンスを転送する処理を行なう。このとき、制御機器10からは、その制御機器のプロトコルに即したコマンドでレスポンスが送られてくるので、そのレスポンスをそのまま情報処理機器20に転送しても理解できないことがある。そこで、情報変換サーバ30は、受信したレスポンスを必要に応じて変換し、情報処理機器20が理解できるプロトコルのコマンドで送信するようにする機能を備える。
例えば、図9に示すように、第2PLC10″から、「0304 00」という正常レスポンスR1が返信されてきたとすると、情報変換サーバ30は、そのままでは情報処理機器20が理解できないため、その変換元コマンドおよびその正常レスポンスをコマンド変換エリアから取り出し、情報処理機器20が理解できる「0101 0000」というアクセス種別ReadIOに対する正常レスポンスR2を生成し、送信する。
そして、上記処理を行なうための具体的な機能は、図10に示すフローチャートを実行するようにしている。すなわち、まずターゲットの制御機器からのレスポンスのパケットを受信する(S21)。そして、情報変換サーバ30は、受け取ったTCP/UDPパケットにセットされているコマンドおよびターゲット制御機器のIPアドレス(これらを検索キーとする)を取り出す(S22)。
次に、情報変換サーバ30は、検索キー(コマンド&IPアドレス)を用いて保持しているコマンド変換エリアを検索する(S23)。そして、合致するIPアドレスおよびコマンドがあった場合(S24の分岐判断でYes)には、情報交換サーバ30は、その合致したエリアから変換元コマンドを取り出し(S25)、「空」であるか否かを判断する(S26)。この変換元コマンドには、S17の実行によりリクエストを送る際にコマンドを変換した場合にそのもとのコマンドが格納されるため、この変換元コマンドが「空」であるとリクエストも変換することなく転送されことを意味する。つまり、ターゲットの制御機器と情報処理機器は同じプロトコルに対応していると言える。従って、そのS26の分岐判断でYesとなった場合には、変換処理を行なわず、受信したレスポンスをそのまま情報処理機器(アプリケーション/ミドルウェア)20に送信し、処理を終了する(S27)。
また、変換コマンドが「空」でない場合(S26の分岐判断でNo)には、変換元コマンドから対応するレスポンスを検索し(S29)、合致するものがあると(S30の分岐判断でYes)、その合致した変換元コマンドとレスポンス種別(正常もしくは異常)からそのレスポンスデータ、および送信元IPアドレスを取り出す。そして、送信元IPアドレスに対して、変換元コマンドとレスポンスデータをTCP/UDP通信パケットを生成し、送信する(S31)。
また、S24,S30の分岐判断でいずれも合致したものがない場合には、エラーレスポンスを作成し、S21で取得したレスポンスの発信元であるターゲットの制御機器に対してレスポンスを返送する(S28,S32)。
例えば、図9に示した例であれば、情報変換サーバ30は「030400」をターゲットの制御機器から受け取る。コマンド変換エリアでは、対応する変換元コマンドは0101で、 レスポンス種別は00から正常と判るので「0101」の正常レスポンスである「0000」と特定する。さらに、リクエストの出し元は送信元IPアドレスから10.3.4.10と特定できる。よって、10.3.4.10宛に「0101 0000」をレスポンスとして送信できる。
なお、上記のシステムにおいて、情報変換サーバ30と情報処理機器20を別の装置としてネットワーク1にそれぞれ接続される形態をしめしたが、本発明はこれに限ることはなく、情報変換サーバ30に搭載される情報変換機能およびXMLパーサ機能を、FAドルウェアが搭載される機器上で一体として実装し、稼動することも可能である。
図11は、本発明の第2の実施の形態を示している。本実施の形態では、防火壁40内の制御機器10に対して、外部ネットワーク41に存在する機器からアクセスする場合に対応するものである。
すなわち、複数ベンダによる制御機器10(第1,第2PLC10′,10″)が汎用のネットワーク1に接続されているとともに、そのネットワーク1上には制御機器10のアドレスとコマンドを変換するための情報変換サーバ30が接続されている。この点では、第1の実施の形態と同様である。そして、本実施の形態では、情報変換サーバ30は防火壁(ファイアウォール)40を通じてインターネット等の外部ネットワーク41に接続されている。この外部ネットワークに複数ベンダによりアプリケーション/ミドルウェアが動作する情報取得用機器が接続されている。
基本的な原理は、第1の実施の形態と同様であり、防火壁40の外側に存在する情報取得用機器が制御機器10に対してアクセスすべく情報変換サーバ30にリクエストを発し、情報変換サーバ30にてプロトコルを変換してターゲットの制御機器10にリクエストを送る。そして、制御機器10からのレスポンスを受信した情報変換サーバ30は、情報取得用機器が理解できるプロトコルのレスポンスに変換して送信する。
ここで相違するのは、外部ネットワーク41に接続された情報取得用機器が使用する上位のプロトコルをHTTP/SOAP(Simple Object ACCESS Protocol)とする。その結果、汎用のネットワーク1上で利用される通信プロトコルは、TCP/IPもしくはUDP/IPとしているため、係る相違するプロトコルの変換を行うことになる。以下、具体的な処理手順に従って、各機能を説明する。
まず、初期処理としては、第1の実施の形態と同様であり、各制御機器10は、ネットワーク1に接続する際に、自己が保有するプロファイル情報を、ネットワーク1を介して情報変換サーバ30に送る。これを受けた情報変換サーバ30は、図4に示したフローチャートを実行することにより得られた情報を、コマンド変換エリアに格納する。
<リクエスト送信・変換処理>
外部の情報取得用機器のアプリケーション/ミドルウェアは接続したい制御機器10に対する独自なコマンドとターゲットの制御機器のIPアドレスをXML表現したものを情報変換サーバ宛に送出する。上述したごとく、上位のプロトコルはHTTP/SOAPとしているため、XML表現された情報はテキスト情報であるので、TCP/UDPパケット内にUniCodeもしくはJIS変換されて格納される。
係るリクエストを受け取った情報変換サーバ30は、ターゲットの制御機器10に対してそのリクエストを送信するリクエスト送信・変換処理をするための機能として、図12に示すフローチャートを実行する機能を有する。
すなわち、情報変換サーバ30は、アプリケーション/ミドルウェアから情報取得のリクエストの受信を行なう(S41)。すると、情報変換サーバ30は、取得したHTTP/SOAPプロトコルからXMLファイルを取り出し、そのXMLファイルにセットされる独自コマンドのアクセス種別情報と、真の通信相手であるターゲットとなる制御機器のIPアドレス(これらを「検索キー」とする)を取り出す(S42)。また、レスポンス用に受け取ったパケットの送信元IPアドレスを取得し、保持する(S43)。
S42で取得した検索キー(アクセス種別と、ターゲットとなる制御機器のIPアドレス)に基づき、コマンド変換エリアを検索する(S44)。そして、一致するIPアドレスおよびアクセス種別があった場合(S45の分岐判断でYes)には、XMLファイルから変換元コマンドを取り出し、対応するコマンド変換エリアに持する(S47)。次いで、情報交換サーバ30は、XMLファイルから変換先のコマンドデータ(ターゲットの制御機器が理解できるプロトコルのコマンド)および送信先IPアドレスをコマンド変換エリアから取り出し、それらからTCP/UDP通信パケットを生成し、生成したパケットをターゲットの制御機器に向けて送信する(S48)。一方、S45の分岐判断でNoとなった場合には、エラーレスポンスを作成し、アプリケーション/ミドルウェアに返送する(S46)。
従って、たとえば図13に示すように、ターゲットの制御機器が第1PLC10′で、リクエストがプロトコルBを用いたXMLで記述されている場合には、S48の処理では、コマンドを第1PLC10′に対応する「0101」に変更したパケットを生成し、そのパケットPを第1PLC10′に送る。この場合、コマンド変換エリアには、発信元として「10.5.1.1」が格納され、変換元コマンドとして「0304」が格納される。
また、図11に示すように、ターゲットの制御機器が第2PLC10′で、リクエストがプロトコルBを用いたXMLで記述されている場合には、S48の処理では、コマンドを変換することなく、「0304」のままのパケットを生成し、そのパケットを第2PLC10″に送る。この場合、コマンド変換エリアには、送信元IPには「10.5.5.1」が格納されるが、変換元コマンドは「空」の状態のままとなる。
<レスポンス受信・変換処理>
上記のレスポンス送信・変換処理を行なうことにより、情報取得機器からターゲットとなる制御機器10(例えば第1PLC10′)にパケットを送ることができる。一方、ターゲットの制御機器10は、受け取ったパケットの送信元が情報変換サーバ30のIPアドレスであることから、レスポンスを情報変換サーバ30に送信する。
そこで、情報変換サーバ30は、係るレスポンスを受信したならば、真のレスポンスを受信すべき情報取得機器に対して、そのレスポンスを転送する処理を行なう。このとき、制御機器10からは、その制御機器のプロトコルに即したコマンドでレスポンスが送られてくるので、そのレスポンスをそのまま情報取得機器に転送しても理解できないことがある。そこで、情報変換サーバ30は、受信したレスポンスを必要に応じて変換し、情報取得機器が理解できるプロトコルのコマンドで送信するようにする機能を備える。
具体的には、図14に示すフローチャートを実行するようにしている。すなわち、まずターゲットの制御機器からのレスポンスのパケットを受信する(S51)。そして、情報変換サーバ30は、受け取ったパケットにセットされているコマンドおよびターゲット制御機器のIPアドレス(これらを検索キーとする)を取り出す(S52)。
次に、情報変換サーバ30は、検索キー(コマンド&IPアドレス)を用いて保持しているコマンド変換エリアを検索する(S53)。そして、合致するIPアドレスおよびコマンドがあった場合(S54の分岐判断でYes)には、情報交換サーバ30は、その合致したエリアから変換元コマンドを取り出し(S55)、「空」であるか否かを判断する(S56)。この変換元コマンドには、S47の実行によりリクエストを送る際にコマンドを変換した場合にそのもとのコマンドが格納されるため、この変換元コマンドが「空」であるとリクエストも変換することなく転送されことを意味する。つまり、ターゲットの制御機器と情報取得機器は同じプロトコルに対応していると言える。従って、そのS56の分岐判断でYesとなった場合には、変換処理を行なわず、受信したレスポンスをそのまま情報取得機器(アプリケーション/ミドルウェア)に送信し、処理を終了する(S57)。
また、変換コマンドが「空」でない場合(S56の分岐判断でNo)には、変換元コマンドから対応するレスポンスを検索し(S59)、合致するものがあると(S60の分岐判断でYes)、その合致した変換元コマンドとレスポンス種別(正常もしくは異常)からそのレスポンスデータ、および送信元IPアドレスを取り出す。そして、送信元IPアドレスに対して、変換元コマンドとレスポンスから、XMLファイルを生成し、その生成したXMLファイルをHTTP/SOAPレスポンスに格納して、情報取得機器(アプリケーション/ミドルウェア)に送信し、処理を終了する送信する(S61)。
また、S54,S60の分岐判断でいずれも合致したものがない場合には、エラーレスポンスを作成し、S51で取得したレスポンスの発信元であるターゲットの制御機器に対してレスポンスを返送する(S58,S62)。
一例としては、たとえば図15に示すように、図11に対応するレスポンスとして第2PLC10″からレスポンスとして、「0304 00」が返信されると、コマンド変換エリアの変換元コマンドは「空」であるので、受け取ったコマンドを送信元IPに向けて送信する。もちろん、第1PLC10′からのレスポンスを受けた場合には、コマンドを変換した後、送信することになる。
情報変換サーバ30は、インターネットに接続する場合に防火壁で通信を制限されるが、内部でのデータ管理はXMLで行うため、SOAPによりファイアウォール外から簡易にデバイスにアクセスが可能となる。
上述したように、情報変換サーバ30は独自コマンドの仕様を予め実装することなく、各制御機器からプロファイル情報を収集するだけで、外部からの制御機器のアクセスに対応することができる。
本発明の第1の実施の形態を示す図である。 プロファイル情報の一例を示す図である。 情報変換サーバの内部構造の一例を示すブロック図である。 情報変換サーバの初期処理の機能を示すフローチャートである。 動作原理を説明する図である。 情報変換サーバのリクエスト送信・変換処理の機能を示すフローチャートである。 動作原理を説明する図である。 コマンド変換エリアのデータ構造の一例を示す図である。 動作原理を説明する図である。 情報変換サーバのレスポンス送信・変換処理の機能を示すフローチャートである。 第2の実施の形態を示す図である。 情報変換サーバのリクエスト送信・変換処理の機能を示すフローチャートである。 動作原理を説明する図である。 情報変換サーバのレスポンス送信・変換処理の機能を示すフローチャートである。 動作原理を説明する図である。
符号の説明
1 ネットワーク
10 制御機器
10′ 第1PLC
10″ 第2PLC
20 情報処理機器
30 情報変換サーバ
40 防火壁
41 インターネット

Claims (3)

  1. 情報変換サーバと、前記情報変換サーバとネットワークを介して通信を行う複数の制御機器と、前記ネットワークと同一または異なるネットワークを介して前記情報変換サーバと通信を行う情報処理機器と、を備えたネットワークシステムであって、
    前記制御機器のそれぞれは、
    互いに異なるIPアドレスが設定され、アクセス種別が同種でもコマンド定義が異なる機器を含み、
    ネットワークを介したアクセスによる処理内容であって自身がサポートする処理内容を特定するアクセス種別、そのアクセス種別を実行する場合に用いるコマンドを定義したコマンド種別を含むプロファイル情報を格納する手段と、
    自身のプロファイル情報をネットワークに送信する送信手段と、
    前記コマンドを実行する手段と、を備え、
    前記情報処理機器は、
    通信相手となる制御機器のIPアドレスと、実行させたい処理内容を特定するアクセス種別及びコマンドと、を含むパケットを前記情報変換サーバ宛へ送出する手段を備え、
    前記情報変換サーバは、
    前記送信手段により前記制御機器から送られてきたその制御機器のプロファイル情報を取得し、その取得した前記制御機器のプロファイル情報をもとにして、各制御機器のIPアドレスとそのIPアドレスの制御機器がサポートするアクセス種別及びコマンドとの対応を含む情報を格納したコマンド変換記憶手段と、
    前記情報処理機器から受信したパケットからアクセス種別とコマンドとIPアドレスとを取得する手段と、
    前記コマンド変換記憶手段を参照して、取得したIPアドレスとアクセス種別とコマンドとが対応する場合には受信したコマンドを用い、対応しない場合にはそのIPアドレスとアクセス種別に合致するコマンドを特定してその特定したコマンドを差替えて用い、その用いるコマンドとIPアドレスとを含むパケットを生成する手段と、
    生成したパケットをIPアドレスの制御機器へ送信する手段と、を備えた
    ことを特徴とするネットワークシステム。
  2. 前記情報変換サーバは、前記ネットワーク内で一つのみ設置され、前記情報処理機器並びに前記複数の制御機器はそのネットワークに接続されることを特徴とする請求項1に記載のネットワークシステム。
  3. 前記情報処理機器は、通信相手となる制御機器のIPアドレスと実行させたい処理内容を特定するアクセス種別とコマンドと送信元アドレス、を含むパケットを前記情報変換サーバ宛へ送出する機能を備え、
    前記情報変換サーバは、前記情報処理機器から受け取ったパケットに含まれる送信元アドレスを記憶保持すると共に、その受け取ったパケットに含まれた前記通信相手となる制御機器のIPアドレスと、その通信相手となる制御機器用のコマンドと、送信元アドレスを含むパケットを生成して送信する機能を備え、
    制御機器は、前記情報変換サーバから受け取ったパケットに含まれるコマンド実行後にその受け取ったパケットに含まれた送信元アドレスへレスポンスを返す機能を備え、
    前記情報変換サーバは、前記制御機器からのレスポンスを受信した際には、そのレスポンスを、前記記憶保持した送信元アドレスに対し情前記情報処理機器がサポートできるコマンドで転送する機能を備えた
    ことを特徴とする請求項1または2に記載のネットワークシステム。
JP2004073520A 2004-03-15 2004-03-15 ネットワークシステム Expired - Lifetime JP4324864B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004073520A JP4324864B2 (ja) 2004-03-15 2004-03-15 ネットワークシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004073520A JP4324864B2 (ja) 2004-03-15 2004-03-15 ネットワークシステム

Publications (2)

Publication Number Publication Date
JP2005260893A JP2005260893A (ja) 2005-09-22
JP4324864B2 true JP4324864B2 (ja) 2009-09-02

Family

ID=35086154

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004073520A Expired - Lifetime JP4324864B2 (ja) 2004-03-15 2004-03-15 ネットワークシステム

Country Status (1)

Country Link
JP (1) JP4324864B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008250473A (ja) * 2007-03-29 2008-10-16 Fujifilm Corp 通信制御装置及び制御方法
US8407716B2 (en) * 2007-05-31 2013-03-26 Fisher-Rosemount Systems, Inc. Apparatus and methods to access information associated with a process control system
US20120079125A1 (en) * 2010-09-23 2012-03-29 Mark Nixon Service oriented framework for communicating with devices in a process control system
JP2014016753A (ja) * 2012-07-09 2014-01-30 Mitsubishi Electric Corp 設定支援システム
DE112015006375T5 (de) * 2015-03-26 2017-12-14 Mitsubishi Electric Corporation Systemdesign-Unterstützungsvorrichtung, Systemdesign-Unterstützungsverfahren und Systemdesign-Unterstützungsprogramm
US20190265676A1 (en) * 2018-02-28 2019-08-29 Mitsubishi Electric Corporation Systems and methods for implementing feedback for factory automated devices
JP7107046B2 (ja) * 2018-07-13 2022-07-27 オムロン株式会社 制御システム、検索装置および検索プログラム
JP7107047B2 (ja) * 2018-07-13 2022-07-27 オムロン株式会社 制御システム、検索装置および検索プログラム
JP2022185645A (ja) * 2021-06-03 2022-12-15 オムロン株式会社 制御システムおよび制御方法

Also Published As

Publication number Publication date
JP2005260893A (ja) 2005-09-22

Similar Documents

Publication Publication Date Title
US8677013B2 (en) Embedding controllers and devices with data to facilitate up-to-date control and configuration information
JP4185060B2 (ja) プロトコル変換装置、被アクセス装置、プログラムおよび方法
EP1259031A1 (en) Home appliance protocol upgrading method
EP1770458A2 (en) Industrial control device configuration and discovery
US20040015572A1 (en) Gateway and remote server for automatically configuring a device, and method therefor
JP2004288187A (ja) ネットワークを介した機器情報の管理装置およびその方法
CN101375265A (zh) 工业自动化环境中的网络通信
EP2825922A1 (en) Device address management in an automation control system
US7872971B2 (en) Gateway unit
JP4324864B2 (ja) ネットワークシステム
CN203278883U (zh) 协议变换装置
JP4541992B2 (ja) ネットワーク機器及びその制御方法、及びプログラム
US10798450B2 (en) Display apparatus and set-top box identification method thereof
JP2006099809A (ja) コントローラ
JP2001100810A (ja) コントローラ
US11973652B2 (en) Field detection device for a fieldbus network
JP2008077535A (ja) フィールド通信システム、フィールドサーバ、フィールド機器およびフィールド通信方法
KR20060086240A (ko) 홈 네트워크 디바이스의 제어 방법 및 장치
US7747711B2 (en) Network configuration method and system
JP6086183B2 (ja) 情報処理システム、情報処理方法、サーバ、その制御方法および制御プログラム
JP4344742B2 (ja) 通信システム、補助装置及び通信方法
JP4541994B2 (ja) 制御装置、制御方法及びプログラム
JP2001325221A (ja) 電子機器及びサーバ/クライアントシステム
JP5213029B2 (ja) コンフィグレーション情報の送信方法、コンフィグレーション情報の送信システム、ルータ及び端末
JP6786014B1 (ja) 通信システム、通信装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061031

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080916

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081117

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090514

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090527

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120619

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4324864

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130619

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term