説明

データ収集管理システム

【課題】 PLC側においてSPUが収集する変数が変更又は増減等されたり、ユーザの使用するDBソフト製品が変更されたりしても、その都度、PCに組み込まれるDBテーブルを手動で作成直す手間を不要とし、DBソフト製品の採用自由度、並びに、PSU側における収集データの変更自由度を向上させたデータ収集管理システムを提供すること
【解決手段】 コンピュータには、データ収集装置から取得した設定ファイルに基づいて、対応する構造を有するテーブルをデータベース内に作成するデータベーステーブル作成手段と、データ収集装置から取得した記録データファイルに基づいて、対応するSQL分を組み立てて、該当するデータをデータベースに追加記憶させるデータベース格納手段と、が設けられる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、プログラマブル・コントローラ(以下、PLCと言う)に組み込まれたデータ収集ユニット(以下、SPUと言う)と市販のデータベースソフト(以下、DBソフトと言う)が組み込まれたパーソナル・コンピュータ(PC)とを通信等で結ぶことより、PLCが扱う各種の変数(ビット変数、アナログ変数を含む)をPCに組み込まれたDBへと収集して管理するデータ収集管理システムに係り、例えば、工場の製造設備、その他の産業用製造装置等に適用されて、生産に関する各種データの収集に好適なデータ収集管理システムに関する。
【背景技術】
【0002】
プログラマブル・コントローラ(以下、PLCと言う)に組み込まれたデータ収集ユニット(以下、SPUと言う)と市販のデータベースソフト(以下、DBソフトと言う)が組み込まれたパーソナル・コンピュータ(以下、PCと言う)とを通信等で結ぶことより、PLCが扱う各種の変数(ビット変数、アナログ変数を含む)をPCに組み込まれたDBへと収集して管理するデータ収集管理システムは、従来より知られている(特許文献1参照)。
【0003】
このようなデータ収集管理システムによれば、PLCのメモリ(入出力メモリ、データメモリ等々)からSPUへのデータ収集は、PCとPSUとの通信状態等の如何に拘わらず定期的(例えば、PLCのサイクルタイムに同期して)に継続されるため、仮に、PCとPSUとの通信が一時的に途絶えたとしても、PC側におけるデータの取りこぼしが生じないことに加えて、ひとたびPC側にデータが取り込まれれば、そのDBのテーブル構造に対応するSQL文が作成されて(特許文献2参照)、取り込まれたデータは市販のDBに保存されるため、PC側のアプリケーションさえ適切に構築しておけば、PLC内の扱う種々の変数をPC側で容易に利用できると言う利点がある。
【特許文献1】特開2005−128721号公報
【特許文献2】特開2003−114908号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、このような従来のデータ収集管理システムにあっては、通信等を介してSPUから読み出されたデータのファイル構造とDBにおいてデータが登録されるべきテーブル構造との関係は一義的に固定されたものであったため、PLC側においてSPUが収集する変数が変更又は増減等されたり、ユーザの使用するDBソフト製品が変更されたりすると、その都度、PCに組み込まれるDB内のテーブル構造を手動で作成し直さねばならないと言う問題点があった。
【0005】
この発明は、上述の問題点に着目してなされたものであり、その目的とするところは、PLC側においてSPUが収集する変数が変更又は増減等されたり、ユーザの使用するDBソフト製品が変更されたりしても、その都度、PCに組み込まれるDBテーブルを手動で作成直す手間を不要とし、DBソフト製品の採用自由度、並びに、PSU側における収集データの変更自由度を向上させたデータ収集管理システムを提供することにある。
【0006】
この発明にさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
【課題を解決するための手段】
【0007】
この発明のデータ取得管理システムは、上記の目的を達成するために、つぎのような構成を採用している。
【0008】
すなわち、本発明のデータ取得管理システムは、PLCに接続されて、PLCのメモリに格納されたデータを収集して蓄積保存するデータ収集装置と、市販のデータベースが組み込まれたコンピュータと、を含み、前記データ収集装置には、収集されるべきデータに関する設定情報を保持する設定ファイルと、この設定ファイルの設定情報にしたがってPLCのメモリから収集されたデータを含む記録データファイルが設けられており、前記コンピュータには、前記データ収集装置から取得した設定ファイルに基づいて、対応する構造を有するテーブルをデータベース内に作成するデータベーステーブル作成手段と、前記データ収集装置から取得した記録データファイルに基づいて、対応するSQL分を組み立てて、該当するデータをデータベースに追加記憶させるデータベース格納手段と、が設けられ、さらに、前記データ収集装置と前記コンピュータとの間には、前記データ収集装置側から前記コンピュータ側へと、前記設定ファイル及び前記記録データファイルを受け渡すための受け渡し手段が設けられている、ことを特徴とするものである。
【0009】
このような構成によれば、PLC側においてSPUが収集する変数が変更又は増減等されたりしても、その都度、PCに組み込まれるDBテーブルを手動で作成直す手間を不要とし、PSU側における収集データの変更自由度を向上させることができる。
【0010】
このとき、前記データベーステーブル作成手段が、1又は2以上の市販のデータベースの特徴を定義するデータベース定義ファイルに基づいて、各データベース製品に応じたテーブルをデータベース内に作成するようにすれば、PLC側においてSPUが収集する変数が変更又は増減等された場合のみならず、ユーザの使用するDBソフト製品が変更された場合にも、その都度、PCに組み込まれるDBテーブルを手動で作成直す手間を不要とし、DBソフト製品の採用自由度、並びに、PSU側における収集データの変更自由度を向上させることができる。
【0011】
なお、前記受け渡し手段は、通信による受け渡し、又は記録媒体による受け渡しのいずれも採用することができるが、通信を採用すれば、メンテナンスフリーのデータベースシステムを構築することもできる。
【発明の効果】
【0012】
本発明によれば、PLC側においてSPUが収集する変数が変更又は増減等されたりしても、その都度、PCに組み込まれるDBテーブルを手動で作成直す手間を不要とし、PSU側における収集データの変更自由度を向上させることができる。
【発明を実施するための最良の形態】
【0013】
以下に、この発明に係るデータ収集管理システムの実施の一形態を添付図面を参照しながら詳細に説明する。
【0014】
本発明システム全体の機能構成図が図1に示されている。同図に示されるように、このデータ収集管理システム100は、パーソナル・コンピュータ(PC)1と、データ収集ユニット(SPU)2と、プログラマブル・コントローラ(PLC)3とを含んで構成されている。
【0015】
PC1とSPU2とは、例えばイーサネット(登録商標)等のネットワークを介して通信可能に構成されている。また、SPU2とPLC3とはバックプレーン上のバス(図示せず)を介して接続されている。
【0016】
ここで、PLC3並びにSPU2について詳述すると、この例にあっては、PLC3はビルディング・ブロック型に構成されており、システムバスが敷設されたバックプレーンと、バックプレーン上のシステムバスに対してそれぞれコネクタ接続可能な複数の装置ユニットとを備えている。
【0017】
それらの装置ユニットとしては、図示しないが、CPUユニット、入出力ユニット(I/Oユニット)、通信ユニット等々を挙げることができる。当業者にはよく知られているように、CPUユニット内には、マイクロプロセッサ、システムプログラムメモリ、ユーザプログラムメモリ、入出力メモリ(I/Oメモリ)、データメモリ、ワーキングメモリ、ユーザプログラム実行用ASIC等々が内蔵されている。
【0018】
マイクロプロセッサは、システムプログラムを実行することにより、I/Oリフレッシュ処理、ユーザプログラム実行処理、周辺サービス処理を1サイクルとして、これを繰り返し実行する動作を行う。
【0019】
ここで、I/Oリフレッシュ処理では、I/Oユニットを介して外部入力機器(各種センサ等々)から取り込まれた入力データ(ビット変数、アナログ変数)をI/Oメモリ又はデータメモリの該当領域に格納すると共に、I/Oメモリの該当領域に格納された出力データをI/Oユニットを介して外部出力機器(各種アクチュエータ等々)へと送出する処理が実行される。
【0020】
また、ユーザプログラム実行処理においては、ユーザプログラムメモリから各ユーザ命令を逐次読み出しては、ASICを介して又はマイクロプロセッサ自身で、I/Oメモリ又はデータメモリの内容を参照しつつ、これを実行すると共に、実行の結果得られたデータでI/Oメモリの該当領域の内容を書き替える処理が実行される。
【0021】
また、周辺サービス処理においては、他のPLCとネットワークを介してI/Oデータのやり取りを行ったり、同様にして、ネットワークを介してツール装置と通信することにより、ユーザプログラムのアップロードやダウンロード等のさまざまな周辺サービス処理が実行される。
【0022】
一方、本発明の要部であるデータ収集ユニット(SPU)2は、先程説明したように、入出力ユニット(CPUユニット)、I/Oユニット、通信ユニット等々が接続されるシステムバスに同様にしてコネクタ接続されている。そして、前述のI/Oリフレッシュ処理に際しては、サイクルタイムと同期して、予め決められたI/Oデータ(ビット変数、アナログ変数)をシステムバスを介してI/Oメモリ並びにデータメモリから読み出して(収集して)、内部のメモリに蓄積保存する。このとき、収集保存されるI/Oデータ(ビット変数、アナログ変数)の内容は、SPU2に内蔵された設定ファイルF2により決定される。
【0023】
後述するように、このI/Oデータの保存は1又は複数のファイル(記録データファイルF1)としてファイル形式で行われ、PC1側から読み出しコマンドが到来するのを待って、この複数回の収集結果である記録データファイルF1はPC1側へと送信されることとなる。
【0024】
次に、PC1側の構成について詳述する。図1に示されるように、PC1とPSU2とはネットワークを介して接続され、PSU2に格納された記録データファイルF1及び設定ファイルF2を取得することが可能になされている。そして、PC1は、データ管理装置11と、データベース12と、アプリケーション13とを含んでいる。
【0025】
データ管理装置11は、DBテーブル作成部11aと、ファイルコピー部11bと、データベース格納部(DB格納部)11cとを含んでおり、それぞれPC1に所定のプログラムをインストールすることで、ソフトウェア的に実現されている。また、データベース(DB)12は、この発明の要部をなすものであるが、実際には、後述するように、市販のDBソフトにて構成される。さらに、アプリケーション13は、DB12に格納されたデータを処理するためのユーザ側のアプリケーションを意味している。
【0026】
PC側処理の全体を概略的に示すフローチャートが図2に示されている。なお、このフローチャートは、SPU2の設定処理や各種制御ファイルの作成処理等々のPC側の前処理については省略されていることに留意されたい。
【0027】
同図に示されるように、PCのCPUでは、先ず、データを格納するためのテーブルを作成するために、DBテーブル作成部11aに相当するプログラムを起動する(ステップ201)。DBテーブル作成部11aは、通常、表示画面を有する設定ツールとして実現される。そして、DBテーブル作成部11aは、SPU2から設定ファイルF1を取得すると共に、取得された設定ファイルF1に基づいて記録データのフォーマット、データの型情報等を認識する。そして、これらの認識情報に基づいて、DB12内にデータ格納用のテーブルを作成する。このとき、DB格納部11cの動作設定も同時に実行される(ステップ202)。
【0028】
PC1のCPUでは、ファイルコピー部11b及びDB格納部11cにそれぞれ相当するプログラムを起動する(ステップ203)。ファイルコピー部11bは、SPU2内にデータ収集の結果としてコピー対象となる所定の記録データファイルF1があるか否かを監視する(ステップ204)。ここで、記録データファイルF1の存在が確認されれば(ステップ204YES)、SPU2からPC1への記録データファイルF1のコピーが行われる(ステップ205)。
【0029】
DB格納部11cは、こうしてコピーされた記録データファイルF1から各レコードを読み出すと共に、各レコードに相当するデータをDB12内の指定されたテーブルに格納する(ステップ206)。
【0030】
以上一連の動作(ステップ204〜206)を繰り返す間に、所定の終了指令が与えられることにより、一連の動作が終了する(ステップ207YES)。
【0031】
次に、以上述べた一連の動作(ステップ201〜207)に必要な各構成要素の詳細を以下に説明する。
【0032】
先ず、DBテーブル作成部11aに関連する構成について詳述する。DBテーブル作成部11aは、SPU2に保存された設定ファイルF2を取得する機能を有する。この設定ファイルF2には、収集対象とするデータが「変数」として、また収集される変数の集合が「収集パターン」として定義されて保持されている。「変数」及び「収集パターン」の設定は、具体的には、拡張可能なマーク付け言語であるXMLで記述されたテキストファイルとしてSPU2内に保持されている。
【0033】
SPU2内に「変数」並びに「収集パターン」を設定登録するためには、PC1側に組み込まれて動作する専用の設定ツールソフトが使用される。
【0034】
データ収集ユニット(SPU)2の設定ツールの画面例のイメージ図が図3に示されている。同図に示されるように、この設定ツールが起動されると、PC1の画面上には、PLC3内のメモリが保持する変数の一覧が表示され、同時に、サンプリングパターンの選択対象が案内表示されるから、それらの表示を前提として所定の対話処理を行いつつ、ユーザはサンプリング対象となる任意の「変数」並びに「サンプリングパターン」をSPU2内に、XMLで記述されたテキストファイルとして設定登録することができる。
【0035】
変数の定義に必要な項目タグ及びその内容が図4に表として、そのような項目タグを使用して記述された変数定義のXML文書例が図5にそれぞれ図示されている。
【0036】
図4に示されるように、「変数」の定義には、それぞれ図示の意味内容を有する7つの項目タグ(Variable,Description,Address,SystemDataType,DataSize,ArrayUBound,PLCDataFormat)が使用される。そして、それらの項目タグを使用することにより、図5に示されるように、収集対象となる「変数」(この例では、「変数0000」)が定義される。なお、図3の設定画面上の「変数0000」と図5の文例上の「変数0000」とは対応していないことを付言する。
【0037】
収集パターンの定義に必要な項目タグ及びその意味内容が図6に表として、またそのような項目タグを使用して記述された収集パターン定義のXML文書例が図7にそれぞれ図示されている。
【0038】
図6に示されるよう、「収集パターン」の定義には、それぞれ図示の意味内容を有する5つの項目タグ(DataCollection,Journal,Trigger,Items,Item)が使用される。そして、これらの項目タグを使用することにより、素7に示されるように、変数に相当するデータの収集の際の「収集パターン」(この例では、「サンプリングパターン1」)が定義される。
【0039】
次に、DBテーブル作成部11aに関連する構成について詳述する。DBテーブル作成部11aは、データ収集ユニット2から取得される設定ファイルF2に基づいて、データ収集ユニット2から取得される記録データファイルF1のデータをデータベース(DB)12へ格納するためのテーブルを自動的に作成する機能を有する。
【0040】
DBテーブル作成部11aは、図8に示されるように、データベース(DB)12内に、管理テーブル12aとデータ格納テーブル12bと変数テーブル12cとの3つのテーブルを作成する機能を有する。
【0041】
データ格納テーブル12bは、データ収集ユニット2が収集したデータを格納するテーブルである。1つのDB12内には複数のデータ格納テーブルを持つことができる。
【0042】
データ格納テーブルの構造が図9に表として示されている。同図に示されるように、データ格納テーブル12b内には、インデックス等の「ヘッダフィールド」(RECORD_INDEX,TIME_STAMP,TIMESTAMP_NANO,SAMPLING_INDEX)と実際のデータを格納する「データフィールド」(DATA_0〜DATA_n)とが設けられている。
【0043】
変数テーブル12cは、データ格納テーブル12bのデータフィールドに格納する変数データの属性情報を格納するテーブルである。1つのDB12内には複数のデータ変数テーブルを持つことができ、それらはデータ格納テーブル12bと1対1に対応する。これにより、データ格納テーブル12bにはどのようなデータが格納されているかをアプリケーションから知ることが可能となる。変数テーブルの構造を図10に表として示す。
【0044】
管理テーブル12aは、データ格納テーブル12bと変数テーブル12cとの対応を管理するテーブルである。1つのDB12内には唯一の管理テーブルが存在することができる。これにより、アプリケーションは、この管理テーブル12cを参照することにより、DB12内にどのようなデータ格納テーブル12bが存在するかを知ることができる。管理テーブル12cの構造を図11に表として示す。
【0045】
ここで、データベース(DB)の種類毎の相違への対応について説明する。市販のデータベースシステムは、その商品ごとに仕様の違いがあり、データベースのテーブルのフィールドの型等が商品ごとに異なる。そのため、DBテーブル作成部11aがテーブル12a〜12cを作成するに際しては、対象とするデータベース製品の種類に合わせてテーブルを作成する必要がある。
【0046】
本発明ではサポートするデータベース製品の種類ごとに、その違いを定義するDB定義ファイルF3を用意する。DBテーブル作成部11aは、データ格納テーブル12bを作成する際に、DB定義ファイルF3を参照し、データベース製品毎に適切なデータ格納テーブル12bを作成する。
【0047】
DBの定義に必要な項目タグ及びその内容が図12に表として、そのような項目タグを使用して記述されたDB収集ファイルのXML文書例が図13にそれぞれ図示されている。
【0048】
図12に示されるように、「DB」の定義には、それぞれ図示の意味内容を有する5つの項目タグ(Database,ConnectionFormat,DataTypes/Data Type,CreateTable/EDMS_SYSTEM,CreateTable/VARS)が使用される。そして、それらの項目タグを使用することにより、図13に示されるように、使用される「データベース製品」(この例では「Access(登録商標)」の固有特徴(相違点情報)が定義される。
【0049】
次に、ファイルコピー部11bに関連する構成について詳述する。ファイルコピー部11bは、データ収集ユニット2を監視し、収集した結果の記録データファイルF1が存在するかを確認し、あればパソコン(PC)1のハードディスクなどの外部記憶装置へ記録データファイルF1をコピーする。
【0050】
すなわち、データ収集ユニット2は、設定に従いPLC3の実I/Oメモリの内容を読み出し、読み出したデータを記録データファイルF1に記録する。記録データファイルF1には、収集したデータの他に、インデックスや、収集した時刻(タイムスタンプ)も同時に記録される。各データはカンマ「,」で区切られたテキストとして表現され、1回の収集につき1レコードが記録される。記録データファイルF1の一例を図14に示す。このような記録データF1が、ファイルコピー部11bの作用により、パソコン(PC)1のハードディスク等の外部記憶装置へコピーされるのである。
【0051】
次に、DB格納部11cに関連する構成について詳述する。DB格納部の機能を実現するための処理を示すフローチャートが図15に示されている。同図において処理が開始されると、先ず、レコードポインタの値を最初のレコードにセットしたのち(ステップ1501)、ファイルコピー部11bがコピーした記録データファイルF1から1レコードを読み出し(ステップ1502)、「,」の位置に基づいて1レコードを各データを分解し(ステップ1503)、データベース操作用言語であるSQL文を作成し(ステップ1504)、データベース(DB)12のデータ格納テーブル12bに対してデータを追加する処理(ステップ1505)を、レコードポインタをインクリメントしつつ(ステップ1507)、最終レコードに達するまで(ステップ1506NO)、継続的に繰り返す。
【0052】
このように以上の実施形態によれば、PLC3側のSPU2からPC1側へと適当なタイミングでも記録データファイルF1並びに設定ファイルF2が受け渡されると共に、こうして受け渡された設定ファイルF2に基づいて、使用されているDBソフト製品に合った形態で、各収集データの構造に合ったテーブルがデータベース12内に自動的に作成されるので、PLC側においてSPUが収集する変数が変更又は増減等されたりしても、その都度、PCに組み込まれるDBテーブルを手動で作成直す手間を不要とし、PSU側における収集データの変更自由度を向上させることができる
【0053】
なお、以上の実施形態では、SPU2からPC1へと記録データファイルF1及び設定ファイルF2を受け渡すための手段として、イーサネット(登録商標)等のネットワーク通信を利用したが、CD−ROM、USBメモリ、CFカードメモリ等々のメモリ媒体による受け渡しに代えてもよいことは勿論である。
【産業上の利用可能性】
【0054】
本発明によれば、PLC側においてSPUが収集する変数が変更又は増減等されたりしても、その都度、PCに組み込まれるDBテーブルを手動で作成直す手間を不要とし、PSU側における収集データの変更自由度を向上させることができる。
【図面の簡単な説明】
【0055】
【図1】本発明に係るシステム全体の機能構成図である。
【図2】PC側処理の全体概略的に示すゼネラルフローチャートである。
【図3】データ収集ユニットの設定ツールの画面例のイメージ図である。
【図4】変数の定義に必要な項目タグ及びその意味内容を表にして示す図である。
【図5】変数定義のXML文書例を示す図である。
【図6】収集パターンの定義に必要な項目タグ及びその意味内容を表にして示す図である。
【図7】収集パターン定義のXML文書例を示す図である。
【図8】データベース(DB)テーブルの構成を示す図である。
【図9】データ格納テーブルの構造を表にして示す図である。
【図10】変数テーブルの構造を表にして示す図である。
【図11】管理テーブルの構造を表にして示す図である。
【図12】DBの定義に必要な項目タグ及びその意味内容を示す図である。
【図13】DB収集ファイルのXML文書例を示す図である。
【図14】記録データファイルの例を示す図である。
【図15】データベース格納部の機能を実現するための処理を示すフローチャートである。
【符号の説明】
【0056】
1 パーソナルコンピュータ(PC)
2 データ収集ユニット(SPU)
3 プログラマブル・コントローラ(PLC)
11 データ管理装置
11a DBテーブル作成部
11b ファイルコピー部
11c DB格納部
12 データベース(DB)
12a 管理テーブル
12b データ格納テーブル
12c 変数テーブル
13 アプリケーション
100 データ収集管理システム

【特許請求の範囲】
【請求項1】
プログラマブル・コントローラに接続されて、プログラマブル・コントローラのメモリに格納されたデータを収集して蓄積保存するデータ収集装置と、
市販のデータベースが組み込まれたコンピュータと、を含み、
前記データ収集装置には、
収集されるべきデータに関する設定情報を保持する設定ファイルと、この設定ファイルの設定情報にしたがってプログラマブル・コントローラのメモリから収集されたデータを含む記録データファイルが設けられており、
前記コンピュータには、
前記データ収集装置から取得した設定ファイルに基づいて、対応する構造を有するテーブルをデータベース内に作成するデータベーステーブル作成手段と、
前記データ収集装置から取得した記録データファイルに基づいて、対応するSQL分を組み立てて、該当するデータをデータベースに追加記憶させるデータベース格納手段と、が設けられ、
さらに、前記データ収集装置と前記コンピュータとの間には、前記データ収集装置側から前記コンピュータ側へと、前記設定ファイル及び前記記録データファイルを受け渡すための受け渡し手段が設けられている、
ことを特徴とするデータ取得管理システム。
【請求項2】
前記データベーステーブル作成手段は、1又は2以上の市販のデータベースの特徴を定義するデータベース定義ファイルに基づいて、各データベース製品に応じたテーブルをデータベース内に作成する、ことを特徴とする請求項1に記載のデータ取得管理システム。
【請求項3】
前記受け渡し手段は、通信による受け渡し、又は記録媒体による受け渡しである、ことを特徴とする請求項1又は2に記載のデータ取得管理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2007−219920(P2007−219920A)
【公開日】平成19年8月30日(2007.8.30)
【国際特許分類】
【出願番号】特願2006−40758(P2006−40758)
【出願日】平成18年2月17日(2006.2.17)
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】