(57)【要約】【課題】  ＰＬＣ等が持つＩ／Ｏデータをリアルタイムで上位コンピュータに伝達することができるデータ収集装置を提供すること【解決手段】  上位コンピュータ２から情報系ネットワークを介して受信したデータ収集条件の指示に従い、エージェントサーバ１６ｂひいてはデータ収集プロセスが起動し、自律的に制御系システムに接続されたＰＬＣや入出力装置のＩ／Ｏデータ等を収集するとともに、その取得したデータを上位コンピュータに送る。上位コンピュータ２では、取得したデータをＳＱＬに変換し、データベースサーバ８に登録する。【選択図】        図２
2007080286.tif 000002
【特許請求の範囲】
【請求項１】
プログラム言語で記述された制御の動作を実行するとともに制御データであるＩ／Ｏデータを持つＰＬＣが接続されるとともに通信時間の保証された制御系ネットワークと前記ＰＬＣのＩ／Ｏデータを管理する情報系システムが接続される情報系ネットワークとの間に介在するものであり、
前記制御系ネットワークと前記情報系ネットワークとの間の異なるネットワーク通信の中継を行うこと、予め設定されたデータ収集条件によって前記ＰＬＣが持つＩ／Ｏデータを前記制御系ネットワークを介して収集し、収集したＩ／Ｏデータを前記情報系ネットワークを介して前記情報系システムへ送信すること、を行うデータ収集装置であって、
前記データ収集条件は、前記ＰＬＣが持つＩ／Ｏデータのうち所望のＩ／Ｏデータを収集対象とする情報と、収集対象のＩ／Ｏデータについての収集サンプリング時間の情報と、を含み、
前記データ収集条件の収集サンプリング時間に従って前記ＰＬＣから収集対象のＩ／Ｏデータを取得する機能と、当該データ収集装置が持つタイマからＩ／Ｏデータを収集した際の時刻情報を取得し、前記情報系システム側においてその時刻情報をそのＩ／Ｏデータが発生した時刻として代用できるようにその時刻情報をそのＩ／Ｏデータに付加する機能と、収集した前記Ｉ／Ｏデータおよび前記時刻情報を前記情報系システムに向けて送信する機能と、を具備する
ことを特徴とするデータ収集装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データ収集装置に関するもので、より具体的には、制御系ネットワークと情報系ネットワークとの間でネットワーク通信の中継を行い、制御系システムと情報系システムとに対して通信をするデータ収集装置を用いた前記制御系システムを構成するＰＬＣ，入出力装置等が持つＩ／Ｏデータ等を収集する技術に関する。
【背景技術】
【０００２】
ＦＡシステム等において各種の制御をする場合、例えば、ＰＬＣにセンサ等を接続し、そのセンサで検出した情報をＰＬＣで解析し、その解析結果に基づいてＰＬＣの制御対象の機器に対して制御命令を送り、所定の作業を実行するようになっている。そして、システム構成としては、ＰＬＣ単独で動作するスタンドアロンや、ネットワークで接続された複数台のＰＬＣを用いて、同期・協調制御等を行う方式などがある。
【０００３】
一方、製造現場にパソコンが広く普及し出している現在の状況並びにパソコン自体に情報管理機能があることから、以下に示すデータ管理システムを構築することが期待される。すなわち、ＰＬＣとパソコン（上位コンピュータ）とをネットワーク接続する。このとき、パソコン側には、リモートでＩ／Ｏを見ることのできるアプリケーションインタフェースを実装する。そして、ＰＬＣは、自己に接続された装置（制御対象機器，センサ等）との間で装置制御のための情報の伝送を行いつつ、パソコンとの間で情報の送受を行い、パソコン側では、装置から上がってくるデータ（センサで検出したデータや、制御対象機器の稼動状態等のデータなど）を受け取り、そこにおいて各種の管理を行ったり、ユーザーがその受け取ったデータを加工したりできるようなシステムの開発が望まれている。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、係るデータ管理を上位のパソコンで行うようにした場合、以下のような問題があり、実現性に欠ける。すなわち、通常、ＰＬＣには複数の装置が接続され、さらに、上位のパソコンに接続されるＰＬＣも多数存在することが多い。従って、上位のパソコンでネットワーク管理下におけるＰＬＣ，装置のデータ管理をするためには、パソコンが全ての制御情報を扱うことになり、非常に負荷が高く、これにより、システムのボトルネックが発生することになる。
【０００５】
さらに、パソコンとＰＬＣをネットワーク接続する場合、ＦＡのＬＡＮとして代表的なイーサネット（登録商標）を経由する場合やＷＡＮを利用する場合は、そのネットワークの性質上、パソコンとＰＬＣ間の通信に要する時間は大きく変動する。つまり、収集対象のデータが実際にＰＬＣ上で発生した時刻とパソコン上のデータ収集ソフトがそのデータを受け取った時刻或いはそのデータをパソコン上のデータベースに格納した時刻とは遅れが生じ、その遅れ時間も一定ではない。よって正確なロギングの管理が行えない。
【０００６】
一方、上記したように上位のパソコンの役割が、「ＰＬＣ，装置から上がってくるデータをユーザーが自由に加工する端末」のようになると、ＰＬＣの役割も「装置制御」のみならず「装置制御＋上位のパソコンへのデータ受け渡し（情報管理）」へ切り替える必要が出てくる。
【０００７】
しかし、ＰＬＣの動作を制御するプログラムを記述する言語（例えばラダー言語）は、装置などの動作制御を得意とした言語であり、情報管理には不向きであり、これを行おうとするには、かなり複雑なラダー言語を書かなければならない。このため、システムの開発工数が非常に膨大になり、またメンテナンスも困難になっている。しかも、ＰＬＣで動作するラダー言語の習熟は多大な労力と時間がかかり、さらに、上記のラダー言語にとって不得手な情報管理のプログラムを組むのは非常に困難である。また、ＰＬＣは、その本来の役目である自己に接続された装置の制御に専念すべきである。
【０００８】
そこで、本発明では、制御系ネットワークと情報系ネットワークとの間でネットワーク通信の中継を行い、制御系システムと情報系システムとに対してデータの通信をする機能を持ち、制御系システムを構成するＰＬＣその他の装置からＩ／Ｏデータ等を収集するとともに、情報系システムを構成するデータ管理装置に係るデータをそのデータを収集した時刻などの時間情報とともに伝達することができるデータ収集装置並びにデータ収集システム並びにプログラム製品を提供することを目的とする。更に他の目的としては、係るデータ収集の条件等を簡単に変更することができるようにすることである。
【課題を解決するための手段】
【０００９】
この発明によるデータ収集装置は、制御系ネットワークと情報系ネットワークとの間でネットワーク通信の中継を行い、制御系システムと情報系システムとに対してデータの通信をするデータ収集装置である。そして、前記情報系ネットワークを介して受信したデータ収集条件の指示に従い起動するエージェントプログラムを備え、上記データ収集条件で自律的に前記制御系システムに接続された装置のデータを収集するとともに、その取得したデータを前記情報系システムに向けて送るようにした。
【００１０】
エージェントプログラムは、実施の形態では、エージェントサーバや、データ収集プロセスに対応する。また、装置のデータとは、例えばＩ／Ｏデータがある。さらに、制御系システムは、制御系ネットワークに接続されるもので、実施の形態では、ＰＬＣ１，シリアル機器６，スレーブ７などに対応する。また、情報系システムは、情報系ネットワークに接続されるもので、実施の形態では上位コンピュータ２に対応する。もちろん、いずれのシステムも上記例示したものに限られないのはいうまでもない。
【００１１】
データ収集装置は、情報系システムからの指令に基づいてエージェントプログラムが稼働し、指定された収集条件で動作するので、与えるデータ収集条件を変えることにより、簡単にデータ収集装置におけるデータの収集条件を変えることができる。
【００１２】
また、この発明では、情報系システムからの指示に従い、データ収集装置内のエージェントプログラムが稼働し、データ収集条件に従い、制御系システム内の所定のデータを自立的に収集するとともに情報系システムに返送するので、データ収集の一連の処理は、エージェントプログラムがデータを取得してから情報系システムに送るまでとなる。
【００１３】
従って、仮に情報性ネットワークの時間保証がされていないような場合でも、係る情報系ネットワークを使用するのは、取得したデータを送信する１回となるので、一連の処理に係る全体の時間が短縮される。
【００１４】
さらに、ＰＬＣやその他の装置からデータを収集するエージェントプログラムが、ＰＬＣやその他の装置と通信時間の保証された制御系ネットワークで接続されたデータ収集装置上に存在し、しかも、そのエージェントプログラムはリアルタイムＯＳ（時間保証がある程度できるようなＯＳ）の上で動作しているため、データ収集時刻の正確性は、通信時間の保証がされないネットワークに接続されたパソコン（通常は時間保証がされないＯＳが動作）の上で動作する場合のそれに比較して格段の正確性がある。
【００１５】
また、前記エージェントプログラムは、前記収集したデータに、収集した時間情報を付加する機能を備えるとよい。このようにすると、たとえ情報系ネットワークでデータ送信に時間がかかったとしても、データを収集した正確な時間が分かる。つまり、制御系ネットワークは時間保証されているので、取得した時刻は、対象となるＰＬＣやその他の装置で当該データが発生した時刻とみなすことができるからである。
【００１６】
従って、時計を持たない機器から収集したデータに付加された時間情報をそのデータが当該機器で発生した時刻として代用することができる。また複数の機器が時計を持っている場合、それらの時計は必ずしも正確でないし一致もしていない。従って、データ収集装置側で収集したデータに時間情報を付加することにより、統一することができる。ここで、時間情報とは、例えばＰＭ３：００のように絶対的な時刻データでも良いし、あるトリガからの経過時間のような相対的なものでも良い。
【００１７】
好ましくは、前記エージェントプログラムは、前記情報系ネットワークを介して受信したデータ収集停止指示に従いデータ収集を終了する機能を備えることである。このようにすると、任意のタイミングで停止できる。
【００１８】
さらに、前記情報系ネットワークを介して送られてきた自己の前記データ収集条件を記憶する記憶手段と、要求に応じて前記記憶手段に記憶した前記データ収集条件を前記情報系システムに返送する機能を備えることもできる。このようにすると、例えば、データ収集の指令を発する情報系システム（上位コンピュータ）が変更されるような場合でも、新たな情報系システムが上記記憶手段に記憶されたデータ収集条件を取得することにより、それまで行われていたのと同様のデータ収集条件でデータ管理をすることができる。
【００１９】
一方、本発明に係るデータ収集システムは、上記した各データ収集装置と、そのデータ収集装置と前記情報系ネットワークを介して接続されるデータ管理装置とを備えた情報収集システムである。そして、前記データ管理装置は、前記データ収集装置に対して前記データ収集条件の指示を出力するとともに、前記データ収集装置から送られてきたデータを受信する機能を備えるようにした。データ管理装置は、実施の形態では、上位コンピュータ２に対応する。
【００２０】
そして、前記データ管理装置は、前記受信したデータをデータベース制御言語に変換し、所定のデータベースに格納する機能を備えるとよい。そのようにすると、取得したデータは、汎用のデータベース制御言語に変換されているので、他の装置，システムで利用しやすくなる。
【００２１】
更に、前記データ管理装置は、前記データ収集条件を入力するマンマシンインタフェースとしてのデータ収集条件設定部を備えることである。このようにすると、データ収集条件の設定や変更等が容易に行える。
【００２２】
更に、本発明に係るプログラム製品は、制御系ネットワークと情報系ネットワークとの間でネットワーク通信の中継を行い、制御系システムと情報系システムとに対してデータの通信をするデータ収集装置と、前記情報系ネットワークに接続されるデータ管理装置とを含むデータ収集システムを稼動させるためのプログラム製品であって、前記データ管理装置にインストールされるエージェントクライアントと、前記データ収集装置にインストールされるエージェントサーバと、そのエージェントサーバにより起動されるデータ収集プロセスを含み、前記エージェントクライアントは、前記エージェントサーバに対してデータ収集依頼を出力する処理と、前記データ収集依頼に対応して返送されてくるデータを受信する処理を実行するプログラム部分を持ち、前記エージェントサーバは、前記エージェントクライアントからの前記データ収集依頼を受信の有無を監視する処理と、受信した場合に前記データ収集プロセスを起動させる処理を実行するプログラム部分を持ち、前記データ収集プロセスは、前記データ収集依頼に対応するデータを取得する処理と、その取得したデータを前記エージェントクライアントに渡すために出力する処理を実行するプログラム部分を持つ。好ましくは、前記データ収集プロセスは、取得したデータに、時間情報を付加する処理を含むものにすることである。ここで、エージェントクライアントに渡すために出力する処理とは、最終的にエージェントクライアントにデータが伝達されれば良く、データ収集プロセスが直接渡しても良いし、他の処理部を介して出力するものでもよい。
【００２３】
この発明の以上説明した構成要素は可能な限り組み合わせることができる。また、この発明によるデータ収集装置を構成する各手段を専用のハードウエア回路によって実現することができるし、プログラムされたコンピュータによって実現することもできる。
【発明の効果】
【００２４】
この発明では、情報系システムからの命令に従ってエージェントプログラムが自立的にデータ収集をするので、与えられる命令の内容を変えることにより、データ収集条件等を簡単に変更することができる。さらに、制御系ネットワークでは通信時間の時間保証がされるので、特に、収集したデータに時間情報を付加した場合には、時間保証の無い情報系ネットワークを介してデータ伝送し、伝達が遅れたとしても収集データの取得時間について正確性が保証される。
【発明を実施するための最良の形態】
【００２５】
図１は、本発明が適用されるシステム構成の一例を示している。同図に示すように、本形態では、ファクトリーオートメーション用のデータ収集システムであり、ＰＬＣ１と上位コンピュータ（パソコン）２との間に、データ収集装置１０を介在させ、そのデータ収集装置１０を介してＰＬＣ１と上位コンピュータ２との間の情報の送受を行うようにしている。さらに、情報管理などのＰＬＣ１の不得手な処理をデータ収集装置１０で実行するようにした。
【００２６】
そして、データ収集装置１０と上位コンピュータ２との間は、汎用ネットワーク（例えばイーサネット５）で接続するようにした。これにより、例えば複数の上位コンピュータ２がイーサネット５によりＬＡＮ接続されているような場合、データ収集装置１０を簡単に接続することができる。なお、データ収集装置１０と上位コンピュータ２との間は、ＷＡＮを介して接続されても良い。また、データ収集装置１０とＰＬＣ１とは、ＲＳ２３２Ｃ，フィールドバスその他の各種の通信プロトコルにより接続される。
【００２７】
つまり、データ収集装置１０を介在させることで、ＰＬＣ１が接続されるネットワーク（制御系ネットワーク）や通信ケーブルにおける通信プロトコルと、上位コンピュータ２が接続されるネットワーク（情報系ネットワーク）の通信プロトコルが異なっていても、その相違をデータ収集装置１０で吸収することができ、ＰＬＣ１，上位コンピュータ２がそれぞれ従来から行っていた通信プロトコルを用いて情報の送受が行える。
【００２８】
さらには、ＰＬＣ１同士であっても異なる通信プロトコルのネットワークに接続される場合には、その異なる通信プロトコルがともにデータ収集装置１０に対応するものであると、そのデータ収集装置１０を介して情報の送受が行える。このことは、ＰＬＣ１同士に限らず、他の機器との間でも言える。
【００２９】
そして、データ収集装置１０には、ＲＳ２３２Ｃのようなシリアルネットワーク５ａを介してＰＬＣ１や、温調，ＩＤＢＣＲ，パワーモニタ，デジパネ等のシリアル機器６が接続されている。また、他の汎用ネットワーク５ｂを介してスレーブ７が接続されている。
【００３０】
また、データ収集装置１０に接続されるＰＬＣ１としては、同一のシリアルネットワークに接続されるものに限ることはなく、他のシリアルネットワークや汎用ネットワークに接続されることもあり、さらには、イーサネットなどに接続されることもある。すなわち、通信プロトコルは問わず、直接または間接的にデータ収集装置１０とＰＬＣ１が接続され、ＰＬＣ１の情報（動作状態，Ｉ／Ｏ情報等）が、データ収集装置１０に伝送可能であれば良い。
【００３１】
一方、上位コンピュータ２には、データベースサーバ８に対し、データの読み書きを行う機能を有している。このデータベースサーバ８は、物理的に上位コンピュータ２の内部記憶装置として実装されていても良いし、直接接続された外部記憶装置として実装されていても良い。さらには、上記したイーサネット５その他のネットワークを介して接続されるものでも良い。要は、データベースサーバ８にアクセスし、データの読み書き（本発明との関係で言えば、少なくとも書き込み）をする機能を持てば良い。
【００３２】
また、後述するように、データ収集装置１０は、下位に接続された制御系システムを構成する各機器のＩ／Ｏデータ等を収集する機能を有している。そこで、本発明では、上位コンピュータ２からのデータ収集命令に従い、所望のＩ／Ｏデータ等を収集し、それを上位コンピュータ２に返送する。そして、上位コンピュータ２では、返送されてきたＩ／Ｏデータ等をデータベース制御言語に変換し、接続されたデータベースサーバ８に登録する。
【００３３】
そして、上記した各機能を実現するための上位コンピュータ２の内部構造は、図２に示すようになる。すなわち、データ収集装置１０に対して各種命令を送り、データ収集装置１０から送られてきたＩ／Ｏデータ等を取得し、データベースサーバ８に格納するためのデータ収集クライアント２１と、このデータ収集クライアント２１の動作を指示するデータ収集設定部２２を備えている。そして、データ収集クライアント２１は、実際にデータ収集装置１０に対して命令を発するエージェントクライアント２１ａと、取得したデータをデータベース制御言語に変換するコマンド−ＳＱＬ変換部２１ｂと、データベースにアクセスするためのＯＤＢＣインタフェース２１ｃを備えている。ここで、ＯＤＢＣ（Ｏｐｅｎ  Ｄａｔａｂａｓｅ  Ｃｏｎｎｅｃｔｉｖｉｔｙ）とは、異なるデータベース管理システム（ＤＢＭＳ）に対して同様の手順でアクセスできるようＡＰＩを統一するための仕様である。
【００３４】
上記各機能を処理の順に従って説明する。まず、データ収集設定部２２は、後述するデータ収集装置１０に実装されたエージェントサーバが起動するデータ収集プロセスに与える設定条件（初期値）を作成するためのマンマシンインタフェース（ユーティリティソフトウェア）であって、グラフィカルユーザーインタフェースを利用して条件を入力できるようにしている。設定条件としては、例えば、データ収集対象の入出力番号およびデータ収集サンプリング時間或いはイベント条件等がある。つまり、データ収集装置１０を特定するＩＰアドレス，メモリアドレス（ＤＭなどのメモリ種別名称，オフセット，メモリサイズにより特定）等を設定する。さらに、稼動期間（平日９時から１７時等）も設定できる。なお、データ収集装置１０のメモリのどの領域に必要なＩ／Ｏデータが格納されるかは予め定めておく。さらに、データ収集装置１０のアプリケーションを管理，起動する機能ももっている。
【００３５】
そして、この作成した設定条件は、上位コンピュータ２側にデータ収集設定ファイルとして保存される。また、イーサネット５を経由して対応するデータ収集装置１０のディスク領域に保存することもできる。このデータ収集装置１０のディスク領域に保存された設定条件は、イーサネット５を経由して上位コンピュータ２が読み出すことができる。このようにすると、管理する上位コンピュータ２が変更された場合でも、係る設定条件を読み出すことにより、既存の設定条件で稼働させることができる。
【００３６】
エージェントクライアント２１ａは、データ収集装置１０のエージェントサーバへデータ収集プロセスの起動を指令し、データ収集設定ファイルに保存されている設定を転送する。そして、エージェントサーバとの通信経路を常に確保し、エージェントサーバからデータが送られてきた際には、そのデータを受信し、コマンド−ＳＱＬ変換部２１ｂに渡す機能を持つ。具体的には、図３に示すフローチャートを実施する機能を持つ。
【００３７】
まず、アプリケーションからのロギングスタート要求を待ち（ＳＴ１）、要求があったならば、イーサネット５を介して対応するデータ収集装置１０のエージェントサーバに対し接続要求をする（ＳＴ２）。なお、係る要求を発するアプリケーションとは、上位コンピュータ２にインストールされた管理用の各種アプリケーションであったり、上記データ収集設定部２２で格納されたスケジューリングデータ（平日の９時開始など）を監視し、起動命令を発するアプリケーション（データ収集設定部２２の機能としてもたせても良い）であったりする。さらに、上位コンピュータ２を操作するユーザからの起動命令の場合もある。
【００３８】
エージェントサーバとのコネクションが確立したならば、上記データ収集設定ファイルをアクセスし、接続してるデータ収集装置１０（エージェントサーバ）に送るべき設定条件を取得し（ＳＴ３）、その取得した設定条件をエージェントサーバに送信する（ＳＴ４）。
【００３９】
なお、この設定条件を取得するデータ収集設定ファイルは、データ収集設定部２２により入力された設定条件を上位コンピュータ２側の所定記憶領域で直接記憶保持していたものに限ることはなく、データ収集装置１０に記憶させていた条件設定を上位コンピュータ２が取得した場合もある。
【００４０】
その後、当該エージェントサーバから返送されてくるデータの受信を待つ（ＳＴ５）。そして、データを受信したならば、そのデータ（コマンド）をコマンド−ＳＱＬ変換部へ送信する（ＳＴ６）。
【００４１】
なお、このエージェントクライアントは、エージェントサーバに対して停止命令を送る機能も有する。この停止命令は、実際には、上記したロギングスタート要求と同様に、各種のアプリケーションによる自動的，ユーザが操作する入力装置による手動的に与えられた要求に基づきエージェントサーバへ接続要求をし、コネクションの確立後に停止命令を送信する。
【００４２】
コマンド−ＳＱＬ変換部２１ｂは、エージェントクライアント２１ａから転送されてきたデータ（Ｉ／Ｏデータ等）をＳＱＬ（ｓｔｒｕｃｔｕｒｅｄ  ｑｕｅｒｙ  ｌａｎｇｕａｇｅ）に変換し、ＯＤＢＣインタフェース２１ｃに渡す機能を持つ。係る機能は、従来公知のものであるので、その詳細な説明を省略する。なお、ＯＤＢＣがＢＵＳＹのときは、データを一度、ＣＳＶファイルにバッファリングし、後で変換を行うようにしている。
【００４３】
さらに、ＯＤＢＣインタフェース２１ｃは、汎用のパソコンＯＳが持つ標準化されたデータベースインタフェースであり、登録されたデータベースサーバ（ＯＤＢＣサーバ）８との通信を行うものである。この機能も、従来公知のものであるので、詳細な機能の説明を省略する。
【００４４】
一方、上記した各機能を実現するためのデータ収集装置１０の内部構造（ハードウエア）としては、図４に示すようになっており、また、ソフトウェアから見ると、図５に示すようになる。
【００４５】
すなわち、複数の通信プロトコルに対応するため、まず、各通信プロトコルに応じた接続端子（コネクタ）等を持つ通信部を有する。各通信部としては、ＲＳ２３２ＣなどのシリアルポートとなるＣＯＭ１（１１ａ），ＣＯＭ２（１１ｂ），ＣＯＭ３（１１ｃ）や、イーサネットに対応する１０Ｂａｓｅ−Ｔコネクタ１２や、汎用ネットワークに接続するためのフィールドバスコネクタ１３などがある。さらに、ＩＳＡボード（拡張ボード）を実装可能とするＩＳＡバスコネクタ１４も備えている。
【００４６】
そして、各通信部には、それぞれ所定の通信ケーブルを介して各種装置・機器が接続される。具体的には、図５に示すように、ＣＯＭ１（１１ａ）〜ＣＯＭ３（１１ｃ）には、ＲＳ２３２Ｃに準拠したシリアルネットワーク５ａを接続し、そのシリアルネットワーク５ａを介してＰＬＣ１やシリアル機器６と接続される。１０Ｂａｓｅ−Ｔコネクタ１２には、イーサネット５を介して上位コンピュータ２が接続される。さらには、他のデータ収集装置１０や、他のＰＬＣ１が接続されることもある。
【００４７】
また、フィールドバスコネクタ１３は、Ｉ／Ｏ（センサ等）やその他のスレーブ７を接続するためのネットワーク５ｃ（デバイスネットとも称される）を連結し、そのデバイスネット５ｃには、複数のスレーブ７が接続されている。もちろん、このデバイスネット５ｃにＰＬＣ１等を接続してもかまわない。
【００４８】
さらに、本形態のデータ収集装置１０では、上記各通信部に加えて、ＢＩＯＳなどが格納されたＲＯＭ１５や、各種制御を実行するためのＣＰＵ１６、作業領域を確保するためのメモリ１７、起動用ＯＳ等が格納されたフラッシュディスク１８を備えている。そして、それら各部はバスを介して接続され、内部にて情報の送受が行える。
【００４９】
一方、ソフトウェア機能に着目すると、本発明との関係で言えば、ＣＰＵ１６の内部は図５に示すようなブロック構成となっている。すなわち、Ｉ／Ｏデータ等を取得するデータ収集処理部（ミドルウェア）１６ａと、上位コンピュータ２からのデータ収集命令を受けて、収集すべきデータを取得し返信するエージェントサーバ１６ｂと、そのエージェントサーバ１６ｂの出力を受けて、実際にデータを上位コンピュータ２に向けて送信するデータ送信部１６ｃを有している。
【００５０】
データ収集処理部１６ａは、予め設定されたタイミングで、下位の制御系システムから定期的にＩ／Ｏデータを取得し、その取得したＩ／Ｏデータをメモリ１７内に割り付けられた共有メモリの所定アドレスに格納する。係るタイミングは、接続されたＰＬＣ１，シリアル機器６，スレーブ７毎に異ならせても良いし、同一でも良い。これにより、共有メモリ１７内には、随時最新のＩ／Ｏデータが格納され、保持される。換言すると、このデータ収集処理部１６ａは、Ｉ／Ｏへアクセスするためのドライバソフトウエアで、Ｉ／Ｏ個別のプロトコルの違いを吸収し、共通ＡＰＩを提供する基本ソフトウエアである。
【００５１】
エージェントサーバ１６ｂは、図６に示すフローチャートを実施する機能を有している。すなわち、指定されたＴＣＰ／ＩＰのポートを常に監視し、そのポートから起動要求が受信されるのを待つ（ＳＴ１１）。
【００５２】
そして、起動要求を受信したならば、まず、要求のあったエージェントクライアントとの間でネットワークのコネクションを確立する（ＳＴ１２）。次いで、エージェントクライアント２１ａから送信されてくるデータ収集設定値を受信し、その設定値どおりに動くデータ収集プロセスを起動する（ＳＴ１３）。その後は、ネットワークを介してエージェントクライアント２１ａから停止命令がくるまで、その設定どおりのデータ収集プロセスを実行する。なお、エージェントサーバ１６ｂは、クライアントの認証を行うことができるとともに、送受信可能とするクライアントのＩＰアドレスを限定することもできる。
【００５３】
データ収集プロセスは、エージェントサーバ１６ｂにより起動されるプロセスであり、タグ毎（収集ポイントごと）に起動される。各イベントにより、設定条件に従って所望のＩ／Ｏデータ等を取得し、時間情報を付加してエージェントクライアント２１ａに送信するものである。具体的には、図７に示すフローチャートを実施する機能を有する。
【００５４】
すなわち、まず設定条件になるのを待つ（ＳＴ２１，ＳＴ２２）。ここで、設定条件とは、データ収集タイミングを指定するための条件であり、例えば、所定の周期で発生するタイマイベントや所定のメモリの値が変化することによって発生するメモリイベントなどがある。そして、設定条件（データ収集タイミング）になると、該当するデータを取得する。つまり、共有メモリ１７内の所定のアドレス領域に格納されたＩ／Ｏデータ等を取得する（ＳＴ２３）。
【００５５】
次いで、データ収集装置１０が持つタイマ（時計）から現在の時刻情報を取得し、その時刻情報をＩ／Ｏデータ等に付加した送信データを作成する（ＳＴ２４）。そして、係る送信データを含む送信フレームを対応するエージェントクライアント２１ａに向けて送信する（ＳＴ２５）。
【００５６】
その後、ステップ２１に戻り次の設定条件になるまで待つ。以後、停止命令を受けるまで、上記した処理を繰り返し実行し、収集したＩ／Ｏデータ等を内部で保持することなく、リアルタイムでエージェントクライアント２１ａに向けて返信する。
【００５７】
さらに、データ収集プロセスで取得したデータは、データ収集装置１０内で貯留することなく順次上位コンピュータ２に送り、データベースサーバ８に格納されるので、データベースサーバ８には、最近のデータを常に維持できる。
【００５８】
しかも、本実施の形態では、取得した際の時刻情報を付加しているので、イーサネット５で送信に時間がかかったとしても、Ｉ／Ｏデータの正確な時刻がわかるので良い。
【００５９】
そして、上位コンピュータ２側では、データベース制御言語に変換し、データベースサーバ８に格納するようにしたため、格納されたＩ／Ｏデータの利用が容易に行え、高機能なアクセスが可能となる。
【００６０】
また、上記したエージェントサーバ１６ｂ，エージェントクライアント２１ａ並びにデータ収集プロセス、さらには、コマンド−ＳＱＬ変換部２１ｂ，ＯＤＢＣインタフェース２１ｃ等は、いずれも本実施の形態ではアプリケーションプログラム（プログラム製品）で構成され、データ収集装置１０やデータ管理装置である上位コンピュータ２にインストールされ、それぞれのＣＰＵにおいて、各処理部となって稼働する。
【図面の簡単な説明】
【００６１】
【図１】上位コンピュータにＰＬＣをネットワーク接続したシステムの一例を示す図である。
【図２】本発明に係るデータ収集システムを構成するコンピュータの内部構造の一実施の形態を示す図である。
【図３】エージェントクライアントの機能を説明するフローチャートである。
【図４】本発明に係るデータ収集装置の一実施の形態（ハードウエア構成）を示す図である。
【図５】本発明に係るデータ収集装置の一実施の形態（ソフトウェア構成）を示す図である。
【図６】エージェントサーバの機能を示すフローチャートである。
【図７】データ収集プロセスの機能を示すフローチャートである。
【符号の説明】
【００６２】
１  ＰＬＣ
２  上位コンピュータ
８  データベースサーバ
１０  データ収集装置
１１  通信部
１２  １０Ｂａｓｅ−Ｔコネクタ（通信部）
１３  フィールドバスコネクタ（通信部）
１４  ＩＳＡバスコネクタ
１５  ＲＯＭ
１６  ＣＰＵ
１６ａ  データ収集処理部
１６ｂ  エージェントサーバ
１６ｃ  データ送信部
１７  メモリ（共有メモリ）
１８  フラッシュディスク
２１  データ収集クライアント
２１ａ  エージェントクライアント
２１ｂ  コマンド−ＳＱＬ変換部
２１ｃ  ＯＤＢＣインタフェース
２２  データ収集設定部
【図１】
2007080286.tif 000003
【図２】
2007080286.tif 000004
【図３】
2007080286.tif 000005
【図４】
2007080286.tif 000006
【図５】
2007080286.tif 000007
【図６】
2007080286.tif 000008
【図７】
2007080286.tif 000009
【手続補正書】
【提出日】平成19年1月26日(2007.1.26)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
この発明によるデータ収集装置は、プログラム言語で記述された制御の動作を実行するとともに制御データであるＩ／Ｏデータを持つＰＬＣが接続されるとともに通信時間の保証された制御系ネットワークと前記ＰＬＣのＩ／Ｏデータを管理する情報系システムが接続される情報系ネットワークとの間に介在するものであり、前記制御系ネットワークと前記情報系ネットワークとの間の異なるネットワーク通信の中継を行うこと、予め設定されたデータ収集条件によって前記ＰＬＣが持つＩ／Ｏデータを前記制御系ネットワークを介して収集し、収集したＩ／Ｏデータを前記情報系ネットワークを介して前記情報系システムへ送信すること、を行うデータ収集装置であって、前記データ収集条件は、前記ＰＬＣが持つＩ／Ｏデータのうち所望のＩ／Ｏデータを収集対象とする情報と、収集対象のＩ／Ｏデータについての収集サンプリング時間の情報と、を含み、前記データ収集条件の収集サンプリング時間に従って前記ＰＬＣから収集対象のＩ／Ｏデータを取得する機能と、当該データ収集装置が持つタイマからＩ／Ｏデータを収集した際の時刻情報を取得し、前記情報系システム側においてその時刻情報をそのＩ／Ｏデータが発生した時刻として代用できるようにその時刻情報をそのＩ／Ｏデータに付加する機能と、収集した前記Ｉ／Ｏデータおよび前記時刻情報を前記情報系システムに向けて送信する機能と、を具備するようにした。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
制御系システムは、制御系ネットワークに接続されるもので、実施の形態では、ＰＬＣ１，シリアル機器６，スレーブ７などに対応する。また、情報系システムは、情報系ネットワークに接続されるもので、実施の形態では上位コンピュータ２に対応する。もちろん、いずれのシステムも上記例示したものに限られないのはいうまでもない。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】削除
【補正の内容】
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】削除
【補正の内容】
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】削除
【補正の内容】
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】削除
【補正の内容】
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】削除
【補正の内容】
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】削除
【補正の内容】
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】削除
【補正の内容】
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】削除
【補正の内容】
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】削除
【補正の内容】
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】削除
【補正の内容】
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】削除
【補正の内容】
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】削除
【補正の内容】