(57)【特許請求の範囲】
【請求項１】
制御に用いられるデバイスが接続された制御系ネットワークおよび情報管理する上位装置が接続された情報系ネットワークに接続され、前記デバイスからデータを収集し、その収集したデータを上位装置に取得されるゲートウェイ装置において、
前記制御系ネットワークに接続され得るデバイスとデータ通信をする際のデータ通信先をタグを用いて特定して、タグでデータ取得するため機器別情報と、対象のデバイスからデータを収集するための動作を設定するデータ収集情報と、を記憶する記憶手段と、
前記記憶手段に格納された機器別情報とデータ収集情報とに基づいて前記デバイスと通信をして前記デバイスからデータを収集し、収集したデータを格納する手段とを備え、
前記記憶手段に格納される前記機器別情報のタグが、前記制御系ネットワークの各デバイスの接続状態に対応するようにツリー構造で管理されるとともに、そのタグの内容がメタ言語機能を持つ言語で表現されることを特徴とするゲートウェイ装置。
【請求項２】
前記ツリー構造で管理されたタグは、リンク機能を持ち、他のタグに対してリンクを張ることにより、リンク元のタグがリンク先のタグに関連付けられた機器別情報を参照し実行するようにしたことを特徴とする請求項１に記載のゲートウェイ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ゲートウェイ装置に関するものである。
【０００２】
【従来の技術】
例えば、ファクトリーオートメーション（以下、「ＦＡ」と称する）システムなどにおいては、複数のデバイスがネットワーク回線やシリアル回線などを介してコンピュータに接続されたネットワークシステムが構築されることがある。デバイスとしては、ＦＡで使用される機器で、温度調節を制御する温調機器や、シーケンシャル制御をするプログラマブルコントローラ（以下、「ＰＬＣ」と称する）などがあり、上位コンピュータ２で各デバイスの状態や、ＰＬＣがＩ／Ｏデータとして入力した検出信号などのデータを収集したり、一括管理したいという要求がある。
【０００３】
そこで、従来は、そのコンピュータにデータ収集機能を備えたアプリケーションプログラムを組み込み、各デバイスからデータを収集し、必要に応じてコンピュータの内外の記憶装置にデータを格納するようになる。
【０００４】
ところで、係るネットワークに接続されたデバイスのデータを収集するには、デバイスがどのネットワークのどこに位置し、さらに収集するデータはデバイスのどこに格納されているか等の位置情報を特定する必要がある。この際、タグによる管理を行うことがある。そして、係るタグ情報は、リレーショナルデータベースのレコードとして格納・管理している。
【０００５】
タグ管理の一例としては、例えば図８に示すように、「ノード名，タグ名，変数エリア，チャンネルオフセット，ワード内位置，要素数，要素種別，データタイプ」をそれぞれユーザにて設定し、それをユーザが読めるように表示するようになっている。例えば、「製造データ」のタグ名は、ノードが自ノード（自ＰＬＣ、つまりメモリを持っているユニット）のメモリエリア「ＤＭ，０，０，１」でＷＯＲＤ（取得するデータの大きさ）のＢＩＮ（１６進数表現）をデータとしてデータ収集することを意味する。
【０００６】
【発明が解決しようとする課題】
しかしながら、上記した従来のものでは、タグ情報を管理するに際し、リレーショナルデータベースのレコードとして格納していたため、以下に示す問題があった。すなわち、階層数が不定の階層構造を記述することが困難である。その結果、何らかの理由で階層数を変更する必要が生じた場合には、そのための表を追加作成する必要が生じる。
【０００７】
また、リレーショナルデータベースの場合、フィールドを可変にすることが困難であるので、各タグが管理するデータ量が予め決まっていないか、その後に増加するような場合には、対応することができなくなる。
【０００８】
さらに、上記したごとくタグ名で管理される情報からでは、各デバイスがどの様に接続されているかが分かりにくいので、仮に新たにデバイスを追加した場合に、新たなタグを設定することも困難である。
【０００９】
一方、新たなタグの管理方式を開発した場合、既存のタグ管理方式が利用できないとすると、全てのタグ情報を作成しなければならず、すでに作成したタグ情報が無駄になる。
【００１０】
この発明は、タグで管理する情報の階層数やデータ量などが変更されても対応できるゲートウェイ装置を提供することを目的とする。また、既存のタグ技術と連携を可能にすることを他の目的とする。
【００１１】
【課題を解決するための手段】
この発明によるゲートウェイ装置では、制御に用いられるデバイスが接続された制御系ネットワークおよび情報管理する上位装置が接続された情報系ネットワークに接続され、前記デバイスからデータを収集し、その収集したデータを上位装置に取得されるゲートウェイ装置において、前記制御系ネットワークに接続され得るデバイスとデータ通信をする際のデータ通信先をタグを用いて特定して、タグでデータ取得するため機器別情報と、対象のデバイスからデータを収集するための動作を設定するデータ収集情報と、を記憶する記憶手段と、前記記憶手段に格納された機器別情報とデータ収集情報とに基づいて前記デバイスと通信をして前記デバイスからデータを収集し、収集したデータを格納する手段とを備え、前記記憶手段に格納される前記機器別情報のタグが、前記制御系ネットワークの各デバイスの接続状態に対応するようにツリー構造で管理されるとともに、そのタグの内容がメタ言語機能を持つ言語で表現されるようにした。
【００１２】
「データ通信を実行する手段」は、ゲートウェイ機能のそのもの、つまり実施の形態で言うと通信ミドルウェア部において実際にデータ通信を行う機能部でもよいし、実施の形態でいうデータ収集機能部などのように、記憶手段に直接または間接的にアクセスし、実際にタグ情報を取得しデータ通信の命令をするものでも良い。また、データ通信は、実施の形態では、データ収集するためにデータを取得するための通信であるが、本発明はこれに限ることはなく、ゲートウェイシステムから情報を送信するものでもよく、また、受信するデータも、上記のような収集データでは泣く各種の命令その他のものでも良く、送信及びまたは受信する際のデータの種類，内容は問わない。また、メタ言語機能を持つ言語としては、例えばＸＭＬがあるが、これ以外の言語でももちろん良い。
【００１３】
この発明によると、各タグがツリー構造で管理されているので、階層数を後で増やすことができる。また、各タグ（ホルダ）内のファイルは、ＸＭＬで作成されているので、データ量を後で変更することもできる。さらに、ツリー構造とＸＭＬは汎用的であるので、ＯＳ，プラットフォームにとらわれない。
【００１４】
この発明の一実施態様においては、前記ツリー構造で管理されたタグは、リンク機能を持ち、他のタグに対してリンクを張ることにより、リンク元のタグがリンク先のタグに関連付けられた機器別情報を参照し実行するように構成することである。もちろんこのリンク機能は必ずしも設けなくても良い。そして、リンク機能を設けることにより、同一内容を示すタグが複数存在したり、あるタグが別のタグで管理された情報の一部または全部を参照したい場合に、リンクを張ることにより、直接情報を持つことなくその情報を利用できる。また、情報の同一性が保証させる。
【００１６】
この発明の以上説明した構成要素は可能な限り組み合わせることができる。この発明によるゲートウェイシステムを構成する各手段を専用のハードウエア回路によって実現することができるし、プログラムされたコンピュータによって実現することもできる。
【００１７】
【発明の実施の形態】
図１は、本発明が適用されるネットワークシステムの一例を示している。同図に示すように、本形態では、制御系ネットワークに接続されたＰＬＣ等のデバイス（ノード）１と情報系ネットワークに接続された上位コンピュータ２との間に、コントローラたるオープンコントローラ１０を介在させ、そのオープンコントローラ１０を介してＰＬＣ等のノード１（以下単に「ＰＬＣ１」と称することもあるが、ＰＬＣ以外でもよいのはもちろんである）と上位コンピュータ２との間の情報の送受を行うようにしている。さらに、情報管理などのＰＬＣ１の不得手な処理をオープンコントローラ１０で実行するようにした。なお、本形態では、色々な種類のネットワークに自由に接続可能なコントローラという意味で、オープンネットワークコントローラ、略してオープンコントローラと称するようにしているが、その名称にとらわれないのは言うまでもない。
【００１８】
そして、オープンコントローラ１０と上位コンピュータ２との間は、イーサネット等の汎用ネットワーク３で接続するようにした。これにより、例えば複数の上位コンピュータ２がイーサネット３によりＬＡＮ接続されているような場合、オープンコントローラ１０を簡単に接続することができる。また、オープンコントローラ１０とＰＬＣ１とは、ＲＳ２３２Ｃ，フィールドバスその他の各種の通信プロトコルにより接続される。
【００１９】
つまり、オープンコントローラ１０を介在させることで、ＰＬＣ１が接続されるネットワーク，通信ケーブルにおける通信プロトコルと、上位コンピュータ２が接続されるネットワークの通信プロトコルが異なっていても、その相違をオープンコントローラ１０が、通信の橋渡しに相当する通信ネットワークプロトコル間の変更処理を行うことで、それぞれ接続された機器間での通信ができる。その結果、ＰＬＣ１，上位コンピュータ２がそれぞれ従来から行っていた通信プロトコルを用いて、情報の送受が行える。
【００２０】
また、オープンコントローラ１０に接続されるＰＬＣ１としては、同一のシリアルネットワークに接続されるものに限ることはなく、他のシリアルネットワークや汎用ネットワークやＰＬＣメーカ独自のネットワークに接続されることもあり、さらには、イーサネットなどに接続されることもある。すなわち、通信プロトコルは問わず、直接または間接的にオープンコントローラ１０とＰＬＣ１が接続され、ＰＬＣ１の情報（動作状態，Ｉ／Ｏ情報等）が、オープンコントローラ１０に伝送可能であれば良い。
【００２１】
オープンコントローラ１０には、イーサネット，ＲＳ２３２Ｃ，フィールドバスその他の各種の通信プロトコルに応じた接続端子（コネクタ）等を持つ通信部１１と、各通信部１１を介してデータの送受やそれに付随する処理を行う制御部１２と、各種データを記憶しておくメモリ１３を備えている。
【００２２】
制御部１２は、図２に示すように、情報収集・処理を行うための機能拡張モジュール部２１と、データの送受を司る通信ミドルウェア部２２及びＯＳ（オペレーティングシステム）２３を備えている。機能拡張モジュール部２１は、随時、追加することが可能な機能ソフトウェア・モジュールであり、例えば、ＰＬＣ１の動作状況等を収集するデータ収集機能部４０とすることができる。なお、図示の例では、通信ミドルウェア部２２の外にデータ収集機能部４０を設けた例を示したが、本発明はこれに限ることはなく、通信ミドルウェア部２２の内部に組み込んでももちろん良い
。
【００２３】
また、通信ミドルウェア部２２は、ネットワークを通じて送受信される通信メッセージを管理するソフトウェアであり、この通信ミドルウェア部２２により、ＰＬＣなどのノード１との間でのデータの送受信（ゲートウェイ機能）や、オープンコントローラ１０の制御や、オープンコントローラ１０内のメモリのデータ読み書きなどが実行されることになる。
【００２４】
そして、機能拡張モジュール部２１がデータ収集機能部４０とすると、このデータ収集機能部４０は通信ミドルウェア部２２と連携して動作し、ネットワークによりつながったＰＬＣ１などの各機器のデータの収集，管理を行う。
【００２５】
すなわち、データ収集機能部４０は、データの収集・管理をスムーズに行うためのルール・条件等を規定する機器別情報ファイル１３ａやデータ収集情報ファイル１３ｂを参照しながら動作し、収集等したデータは、収集データベース１３ｃに格納される。
【００２６】
次に各部について詳述する。まず、オープンコントローラ１０に接続されるＰＬＣなどの各種機器（ノード）１と通信するためのプロトコルの相違は、通信ミドルウェア部２２により吸収する。そして、機器別情報ファイル１３ａは、通信ミドルウェアでサポートしている通信機器やそのエリア情報のアクセス方法を意識せず、収集したいデータエリアをタグ名で仮想化し、このタグ名でデータを取得できるように定義した情報を格納するようになっている。
【００２７】
定義する内容としては、
・対象とする機種はどのようにアクセスできるか
・どの機種のどのエリアになんというタグ名をつけるか
・対象エリアにはどのようなフォーマットでデータが格納されているか
等がある。
【００２８】
また、データ収集情報ファイル１３ｂは、データを収集するために必要な動作の設定情報が記述されたファイルであり、具体的には、
・どこからデータを取得するか（収集タグ）
・どんなタイミングでデータを取得するか（収集タイミング，タイミング個別情報）
・取得したデータを、どこにどのような形式（収集先種別）で格納するか
・サービスを開始したときに、各収集処理を開始するかどうか（収集先個別情報）
などである。
【００２９】
そして、データ収集機能部４０は、上記各ファイルに格納された情報にしたがい、所定のタイミングで、タグで管理された所定のノードの所定エリアの情報を収集し、その収集した情報を収集データベース１３ｃに格納する。格納され蓄積されたデータは、例えば、メモリ１３にファイル形式に保存することができる。これにより、収集，蓄積されたデータは、上位コンピュータ２などの外部から、ネットワークを通じて参照できるため、必要な時に、必要に応じたデータを取得し、自由に情報管理に利用することができる。
【００３０】
なお、上記したタグで管理された情報に基づいて、各種情報を収集する機能・アルゴリズム自体は、従来から行われているものを用いることができるので、各部の詳細な説明を省略する。
【００３１】
ここで、本発明では、図３に示すように、メモリ１３に格納される各タグをツリー構造で連携した状態で管理するようにした。さらに、各タグ（Ｔａｇ）に関連付ける情報（プロパティ：Ｐｒｏｐｅｒｔｉｅｓ）を文書記述のためのメタ言語として、ＸＭＬ文書で表現するようにした。このように、ツリー構造とすることにより、あるタグの下に別のタグを追加することが簡単にでき、階層数を自由に増やすことができる。また、各タグで管理される具体的な情報も、ＸＭＬ文書にすることにより、そのファイルサイズ、つまり、データ量を自由に変更できる。
【００３２】
さらに、オープンコントローラ１０を基準に見たネットワーク構成に着目すると、オープンコントローラ１０に１または複数のネットワークが接続され、各ネットワークにはそれぞれ１または複数のノードが接続され、それら各ノードにもＩ／Ｏ，センサなどの機器が接続されることがある。このように、機器の接続状態（ネットワーク構成）がツリー構造になっている。従って、例えば各タグをツリー構造に管理するに際し、実際の各機器の接続状態に対応するように各タグを関連付けることにより、ユーザが後で見やすくなる。そして、実機での接続構造を変更した場合にも、その変更した状態に合うようにタグのツリー構造も修正すれば良いので、係る修正処理も容易となる。
【００３３】
さらにまた、ツリー構造に管理する際の基準として、上記した実機の接続構造に合わせるものに限ることは無く実デバイス（実機：ノード）単位でツリーを構築したりする他、任意の基準に従って構築できる。そして、異なる基準にしたがって構築された複数のツリー構造を混在させるようにしても良い。
【００３４】
特に、係る混在させる場合には、一方のツリーのあるタグと、別のツリーにあるタグか同一のことを指したり、また、あるタグの中（プロパティ）で別のタグの内容を引用する必要があることがある。係る場合、各タグのプロパティでそれぞれ内容を記載すると、本来同一内容を意味すべきところ、更新のし忘れなどにより、各タグでの記載内容が異なるおそれがある。
【００３５】
そこで本形態では、係る問題発生を未然に抑制するため、リンク機能を設け、あるタグ（図３の例では「Ｔａｇ“Ａ”」）が別のタグ（図３の例では「Ｔａｇ“Ｅ”」）のプロパティにリンクを張り、そのあるタグ（図３の例では「Ｔａｇ“Ａ”」）のプロパティに記載された内容を実行するに際し、リンク先の情報も取得するようにした。これにより、同一内容は、ある一つのタグのプロパティに記載され、他の関連するタグは全てリンクを張ることにより、同一内容が保証される。
【００３６】
上記したように、本形態ではメモリ１３に格納されたタグをツリー構造にしたことにともない、データ収集機能部４０の要求にしたがい、メモリ１３に格納されたタグをツリー状に展開して渡す必要がある。そこで、データ収集機能部４０とメモリ１３の間に、ＸＭＬパーサ４１を設ける。そして、データ収集機能部４０は、ＸＭＬパーサ４１に対して名前によってＰＬＣ（ノード）のデータを要求する。この要求にしたがい、ＸＭＬパーサ４１は、メモリに格納されたツリー構造のタグの中から、該当する名前を検索し、該当するデータを取得するとともに、取得したデータを分解，解析しデータ収集機能部４０にデータを返すように動作する。これにより、データ収集部４０は、必要なタグの情報を取得できるので、それに基づいてデータ収集をすることになる。
【００３７】
本形態によれば、ＸＭＬという汎用的なファイルシステムと、ツリー構造を利用してデータを保存しているので、ＯＳに依存せず、さまざまなプラットフォームで利用可能となる。
【００３８】
次に、上記したツリー構造のタグ管理の具体例として、図１に示すネットワーク構造のものに基づくツリー構造を説明する。図４は、そのネットワーク構成を基準にしたツリー構造を示している。同図中左欄のフォルダが本発明の要部となるツリー構造である。同図に示すように、４つのネットワーク（ControllerLink，Ethernet，Serial，SysmacLink）の下位にそれぞれ２つずつノードが接続された状態となる。そして、上位のネットワーク構成を開いた状態では、同図中右欄に示すように、ネットワーク構成に接続される１つ下位のフォルダと、ネットワーク構成についての情報が記載されたＸＭＬファイルが表示される。
【００３９】
また、このようにネットワーク構成を基準にしたツリー構造と並列的に実デバイス構成を基準に構築したツリー構造としては、例えば、図５に示すようになる。そして、図示の例では、ネットワーク構成のＣｏｎｔｒｏｌｌｅｒＬｉｎｋの下位に接続されたノード（Ｎｏｄｅ１）におけるプロパティで、実デバイス構成のタグ（Ｆｇｗ１）にリンクを張っているものとする。この場合、ノードのプロパティが、図６に示すようなＸＭＬを利用して記述され、図示の下から４行目に記載するように＜ＳｒｃＲｅｓｏｌｖｅｒ＝“ｄｅｆａｕｌｔ”＞に続いて、リンク先のフォルダを定義することにより、リンクを張ることができる。
【００４０】
図７は、本発明の第２の実施の形態の要部を示している。本実施の形態では、ツリー構造でタグを管理するに際し、既存のアプリケーションのタグ情報を包含するようにし、既存のタグ技術との連携を可能としている。
【００４１】
つまり、既存のタグ情報をツリー構造で表現する。このツリー構造は、例えばネットワーク構成等により簡単に構築できる。もちろん、これ以外のツリー構造としても良いし、全てのタグを並列に接続したものでも広い意味でのツリー構造であるので良い。
【００４２】
そして、係る既存のタグ情報と、新たに作成するタグ情報を別空間で管理する。図示の例では、ＮａｍｅＳｐａｃｅで区別し、ＮａｍｅＳｐａｃｅ“ＦｉｎｓＳｅｒｖｅｒ”が既存のタグ情報を示す空間である。さらに、このように別空間にあっても、リンク機能を使用することにより、別の空間にあるタグ情報を利用することができる。
【００４３】
一例を示すと、ＮａｍｅＳｐａｃｅ“ＦｉｎｓＧａｔｅｗａｙ”で規定される新たなツリー構造におけるタグＢが、リンク機能を用いて既存のツリー構造のタグＣを参照している。このように、リンク機能を用いることにより、既存のタグ情報を利用できる。
【００４４】
なお、このようにメモリ１３に格納するタグ情報のツリー構造が異なるだけで、このタグを利用するデータ収集機能や、その他の通信機能等の他の機構は、第１の実施の形態と同様であるので、その詳細な説明を省略する。
【００４５】
なおまた、既存のタグ情報を本発明のようにツリー構造で表現する具体例としては、図８，図９に示すようにすることができる。すなわち、仮に既存のタグが図８に示すように記述されて管理されているとすると、それぞれのタイトルである［ＮＥＴＷＯＲＫ］，［ＮＯＤＥ］，［ＴＡＧ］がそれぞれフォルダ名とする。さらに、新たに作成するツリー構造と階層を合わせるため、ＮｏｄｅとＴａｇ１，Ｔａｇ２……の間にＵｎｉｔｅ，Ａｒｅａのフォルダを介在させた。そして、各記憶すべきデータは、プロパティファイルに書き込まれる。このようにすると、既存のタグであっても、内容をＸＭＬに変換して記憶することにより、その後にデータ量の増減があっても対応できる。
【００４６】
なお、上記した実施の形態では、本発明をオープンコントローラ１０に適用した例を示したが、本発明はこれに限ることはなく、例えば、プログラマブル表示器（ＰＴ）等も複数のデバイスが接続され、各デバイスから情報を収集して表示することがあり、係る際に本発明のツリー構造で管理されたタグの情報に基づいて行うこともできる。さらには、従来のように、上位コンピュータ対して直接複数のＰＬＣその他のデバイス（ノード）が接続され、その上位コンピュータが直接情報収集や、データの送信を行うようなネットワーク構成において、その上位コンピュータに本発明を適用することもできる。
【００４７】
【発明の効果】
以上のように、この発明では、ツリー構造でタグを管理するので、タグの階層数の変更に対応できる。また、各タグの情報は、メタ言語機能を持つ言語で記載されるため、データ量などが変更されても対応できる。
【図面の簡単な説明】
【図１】本発明が適用されるネットワーク構成の一例を示す図である。
【図２】本発明に係るゲートウェイシステムの一実施の形態が組み込まれたオープンコントローラ１０の内部構造を示す図である。
【図３】本発明の要部であるツリー構造で管理されるタグを示す図である。
【図４】図１に示すネットワーク構成に基づいたツリー構造の一例を示す図である。
【図５】図１に示すネットワーク構成に基づいたツリー構造の別の例を示す図である。
【図６】リンク機能を実現したタグのプロパティの一例を示す図である。
【図７】ツリー構造で管理されたタグのさらに別の例を示す図である。
【図８】既存のタグ管理情報の一例を示す図である。
【図９】図８に示す既存のタグ情報から作成したツリー構造の一例を示す図である。
【符号の説明】
１  ＰＬＣ（ノード）
２  上位コンピュータ
１０  オープンコントローラ
１１  通信部
１２  制御部
１３  メモリ
１３ａ  機種別情報ファイル（ツリー構造のタグを格納する記憶手段）
２１  機能拡張モジュール部
２２  通信ミドルウェア部
２３  オペレーティングシステム
４０  データ収集機能部
【図１】
0003729245.tif 000002
【図２】
0003729245.tif 000003
【図３】
0003729245.tif 000004
【図４】
0003729245.tif 000005
【図５】
0003729245.tif 000006
【図６】
0003729245.tif 000007
【図７】
0003729245.tif 000008
【図８】
0003729245.tif 000009
【図９】
0003729245.tif 000010