(57)【特許請求の範囲】
【請求項１】
複数種類の収集周期でデータを収集するデータ収集装置において、
データ群の識別子に付けられた収集周期でデータを収集するデータ収集手段と、
データ群の識別子に付けられた収集周期をチェックし、収集周期の短いデータ群ほど高い優先度で前記データ収集手段にデータ収集を行わせる優先度管理手段と、を有し、
該優先度管理手段は、収集周期に応じてデータ群をグループ分けし、１つのグループに１つのスレッドを割り当てて各グループのデータ更新スケジュールを管理し、スレッドＡでデータ収集をしている最中に他のスレッドでデータ収集の必要が発生したときは、スレッドＡでデータ収集が完了してデータ収集の実行権を持つスレッドの切換タイミングが設定されたときに、前記データ収集の必要が発生した他のスレッドの中で最も優先度の高いスレッドのデータ収集の処理を割り込ませることを特徴とするデータ収集装置。
【請求項２】
前記優先度管理手段は、前記収集周期の短いスレッドを優先してデータ収集させ、データ収集を実行するスレッド以外のスレッドは待機状態にすることを特徴とする請求項１記載のデータ収集装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数種類の収集周期でデータを収集するデータ収集装置に関するものである。
【０００２】
【従来の技術】
ＰＬＣ（プログラマブル・ロジック・コントローラ）、ＮＣ装置等からデータを収集するデータ収集装置では、データ群の識別子（これをタグとする）に付けられた収集周期に従ってデータを収集する。これによって、データ群のデータを更新する。
データの更新手順は、各ソフトウェアベンダーにより独自に行われるが、データの更新が必要になったタグのデータ収集を順番に行っていくのが一般的である。
【０００３】
図６は従来のデータ収集装置における収集手順を示した説明図である。
図６の例では、収集周期が１秒、５秒、６０秒のデータ群があり、これらのデータ群は収集周期に応じてグループ分けされている。収集周期が１秒のグループ１にはデータ群１１〜１３が割り付けられている。収集周期の５秒のグループ２には、データ群２１，２２が割り付けられている。収集周期の６０秒のグループ３には、データ群３１〜３５が割り付けられている。図のＴＡＧ１，ＴＡＧ２，…等はデータ群に付けられたタグである。
【０００４】
データ収集装置は、１秒周期のグループ１にあるデータ群、５秒周期のグループ２にあるデータ群、６０秒周期のグループ３にあるデータ群の順番でデータを更新していく。ＰＬＣ等からデータを収集し、収集したデータを通信によりデータ収集装置に転送する。これによって、データ群のデータを更新する。
【０００５】
従来のデータ収集装置では、６０秒周期のデータ収集をしている最中に１秒周期のデータ収集の必要が生じても、６０秒周期のデータ収集が終わった後でなければ１秒周期のデータ収集を始められなかった。
通常、短い周期で監視するデータは、データ量は少ないが、値が変化する頻度が高く、変化を瞬時に検出しなければならない。
一方、長い周期で監視するデータは、データ量が多く、値が変化する頻度は低いのが通常である。
従来のデータ収集装置で、変化の頻度が高い瞬時データと、変化の頻度が低い大量データの監視を行うと、瞬時データの欠損を生じることがあるという問題点があった。
【０００６】
【発明が解決しようとする課題】
本発明は上述した問題点を解決するためになされたものであり、データの収集周期が複数種類あるときに、収集周期が短いデータほど優先してデータ収集を行うことによって、瞬時データの監視と大量データの監視を両立させたデータ収集装置を実現することを目的とする。
【０００７】
【課題を解決するための手段】
本発明は次のとおりの構成になったデータ収集装置である。
【０００８】
（１）複数種類の収集周期でデータを収集するデータ収集装置において、
データ群の識別子に付けられた収集周期でデータを収集するデータ収集手段と、
データ群の識別子に付けられた収集周期をチェックし、収集周期の短いデータ群ほど高い優先度で前記データ収集手段にデータ収集を行わせる優先度管理手段と、を有し、
該優先度管理手段は、収集周期に応じてデータ群をグループ分けし、１つのグループに１つのスレッドを割り当てて各グループのデータ更新スケジュールを管理し、スレッドＡでデータ収集をしている最中に他のスレッドでデータ収集の必要が発生したときは、スレッドＡでデータ収集が完了してデータ収集の実行権を持つスレッドの切換タイミングが設定されたときに、前記データ収集の必要が発生した他のスレッドの中で最も優先度の高いスレッドのデータ収集の処理を割り込ませることを特徴とするデータ収集装置。
【０００９】
（２）前記優先度管理手段は、前記収集周期の短いスレッドを優先してデータ収集させ、データ収集を実行するスレッド以外のスレッドは待機状態にすることを特徴とする（１）記載のデータ収集装置。
【００１２】
【発明の実施の形態】
以下図面を用いて本発明を詳しく説明する。
図１は本発明の一実施例を示す構成図である。
図１で、データ収集装置４０は、例えばＰＬＣ５０のようなデータ提供側からデータを収集し、収集したデータを通信線６０経由で自身側に転送する。これによって、データ群のデータを更新する。
データ収集手段４１は、データ群の識別子に付けられた収集周期でデータを収集する。
優先度管理手段４２は、データ群の識別子に付けられた収集周期をチェックし、収集周期の短いデータ群ほど高い優先度でデータ収集手段４１にデータ収集を行わせる。データ群の識別子、収集周期の情報は記憶手段４３に格納されている。記憶手段４３は収集したデータをデータ群にして格納する。
【００１３】
図１のデータ収集装置では、スレッドを処理単位としてデータ収集を実行する。
図２は実行するスレッドを示した図である。
図２で、データ収集スレッド５１，５２，５３はデータ収集するための処理単位である。収集周期毎に分けたグループ毎にデータ収集スレッド５１，５２，５３を割り当てている。データ収集スレッド５１，５２，５３はそれぞれ１秒周期、５秒周期、６０秒周期のグループに対応している。
メインスレッド５４は、各グループのデータ更新スケジュールを管理するための処理単位である。
【００１４】
図３はメインスレッドの処理手順を示したフローチャートである。
図３の処理では、各グループのデータ更新スケジュールを管理し、データ更新が必要なグループがある場合は、スレッドをスケジュールし、データ収集スレッド５１，５２，５３のいずれかにグループ内のデータ収集を行わせる指示を行う。スケジューリングを行う際に、データ更新の優先度の再計算を行う。優先度は各スレッド５１，５２，５３毎に割り当てられ、最も優先度が高いスレッドがデータ収集を行うことができる。
【００１５】
図４はデータ収集スレッドの処理手順を示したフローチャートである。
図４で、データ収集実行スレッドは、メインスレッドによりスケジュールされ、データ更新の実行権が自身にある場合に、データ収集を行う。実行権が自身にない場合は、待機状態になる。
データ収集の実行権の確認は、データ処理装置とＰＬＣ（データ提供側）で１回のデータ通信を完了する毎に行う。つまり、１回のデータ通信を完了する毎に、実行権を持つスレッドの切換タイミング（プリエンプションポイントとする）を設ける。これによって、優先度の高いスレッドが発生してから動作を開始するまでの時間を最短にすることが可能になる。１回のデータ通信分のデータが転送されて更新される毎にプリエンプションポイントが設けられる。
１回のデータ通信分のデータが更新されたときに、優先度の再計算を行い、待機中のスレッドの待機状態を解除する。これによって、現在実行中のスレッドの次に高い優先度を持つスレッドが動き始める。
このような処理をデータ更新が終了するまで行う。
【００１６】
図５は図１のデータ収集装置における収集手順を示した説明図である。
図５に示すように、収集周期が１秒、５秒、６０秒のグループ毎にスレッド５１，５２，５３が割り当てられている。データ収集が必要となったグループはそれぞれ独立したスレッドで動作する。
データ収集を行えるスレッドは唯一である。他のスレッドは待機状態になっている。プリエンプションポイントは１回のデータ通信が完了する毎に設ける。
例えば、６０秒周期でデータ群ＴＡＧ６についてデータ収集をしている最中に１秒周期でデータ群ＴＡＧ１のデータ収集をする必要が発生したときは、データ群ＴＡＧ６のデータ収集が完了してプリエンプションポイントが設定されたときに、１秒周期でデータ群ＴＡＧ１のデータ収集の処理を割り込ませる。
これによって、短い収集周期のデータ収集の必要が発生してから、データ収集が開始するまでの時間を最短にすることができる。
【００１７】
【発明の効果】
本発明によれば次の効果が得られる。
【００１８】
本発明では、データの収集周期が複数種類あるときに、収集周期が短いデータほど優先してデータ収集を行っている。このため、短い収集周期のデータ収集の要求が発生したときに、これよりも長い収集周期のデータ収集がひととおり終わるまでデータ収集の開始が待たされることはない。これによって、瞬時データの監視と大量データの監視を両立させることができる。
【００１９】
本発明では、収集周期が等しいデータ群を集めたグループを１つの独立したスレッドとして扱っているため、データ収集の優先管理が容易になる。
【００２０】
本発明では、データ通信が１回終わる毎に優先度を再計算しているため、データ収集の開始までの待ち時間は最大でも１回の通信時間内に抑えることができる。
【００２１】
本発明では、データ収集を実行するスレッド以外のスレッドは待機状態に設定しておき、グループ内に存在する全てのデータ群のデータ収集が終わったときに、待機中にあるスレッドの待機状態を解除するため、２つ以上のスレッドでデータ収集が競合することを防止できる。
【図面の簡単な説明】
【図１】本発明の一実施例を示す構成図である。
【図２】図１のデータ収集装置で実行するスレッドを示した図である。
【図３】本発明の動作説明図である。
【図４】本発明の動作説明図である。
【図５】本発明の動作説明図である。
【図６】従来のデータ収集装置における収集手順を示した説明図である。
【符号の説明】
４０  データ収集装置
４１  データ収集手段
４２  優先度管理手段
【図１】
0004490578.tif 000002
【図２】
0004490578.tif 000003
【図３】
0004490578.tif 000004
【図４】
0004490578.tif 000005
【図５】
0004490578.tif 000006
【図６】
0004490578.tif 000007