JP6528807B2 - 制御システム、制御装置、結合方法およびプログラム - Google Patents
制御システム、制御装置、結合方法およびプログラム Download PDFInfo
- Publication number
- JP6528807B2 JP6528807B2 JP2017126208A JP2017126208A JP6528807B2 JP 6528807 B2 JP6528807 B2 JP 6528807B2 JP 2017126208 A JP2017126208 A JP 2017126208A JP 2017126208 A JP2017126208 A JP 2017126208A JP 6528807 B2 JP6528807 B2 JP 6528807B2
- Authority
- JP
- Japan
- Prior art keywords
- database
- data
- query
- time stamp
- data returned
- 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.)
- Active
Links
- 238000010168 coupling process Methods 0.000 title claims description 12
- 238000000034 method Methods 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 10
- 230000008878 coupling Effects 0.000 claims description 8
- 238000005859 coupling reaction Methods 0.000 claims description 8
- 238000004148 unit process Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 15
- 238000013480 data collection Methods 0.000 description 9
- 238000007418 data mining Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 238000005259 measurement Methods 0.000 description 9
- 238000003860 storage Methods 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 7
- 238000005304 joining Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/4185—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/054—Input/output
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0428—Safety, monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2474—Sequence data queries, e.g. querying versioned data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/11—Plc I-O input output
- G05B2219/1101—Remote I-O
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
- G05B2219/13144—GUI graphical user interface, icon, function bloc editor, OI operator interface
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32252—Scheduling production, machining, job shop
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Automation & Control Theory (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Programmable Controllers (AREA)
Description
本発明の実施形態は、例えばFA(Factory Automation)に適用可能な制御システムに関する。
制御装置の一例としてのプログラマブルコントローラ(Programmable Logic Controller:PLC)は近年、超高速のCPU(Central Processing Unit)と、大容量のメモリを備えるようになった。そこで、例えば、制御対象(センサ、サーボモータ等)に係わる各種のデータをmsec(ミリ秒)オーダの頻度で収集し、タイムスタンプを付与し、PLCに組み込まれた時系列データベースに蓄積することが考えられている。
特許文献1に、データ管理に関する技術が開示されている。特許文献1に開示されるデータ記録装置は、計測データを記録する際に、少なくとも当該計測データが属するデータ系列と当該計測データのデータ型との組み合わせに対して個別に割り当てた記憶ブロックに、当該計測データを記録するものである。当該データ記録装置によれば、各記憶ブロックに、データ系列とデータ型が一致する計測データが記録されるので、データ型の変更があっても、変更前の計測データを破棄せずにデータ記憶部で記憶しておくことができる。これにより、データ型の変更前の計測データを読み出して配信することができ、変更前の計測データも閲覧することが可能となる。
データ型は、記録できるデータの精度に関係する。特に、データ収集の周期や頻度が高くなれば、データに付与されるタイムスタンプの精度も高くする必要がある。つまり、タイムスタンプの小数点以下の有効数字の桁数を多くとる必要がある。
しかしながら、個々のPLCが同じ周期でデータを収集するとは限らない。例えば、データをmsecオーダの周期で収集するPLCと、μsec(マイクロ秒)オーダの周期で収集するPLCとが、同じFAシステムに混在するケースがある。このように、データベースが異なると、データに付されるタイムスタンプの周期が合わないことがある。これは、複数のデータベースからのデータを結合する際に、または、複数のデータベースから抽出されたテーブルを結合する際に問題になる。
本発明は、一側面では、このような事情を鑑みてなされたものであり、その目的は、複数のデータベースを、互いのデータのタイムスタンプの周期を合わせて結合することの可能な制御システム、制御装置、結合方法およびプログラムを提供することにある。
上記の目的を達成するために、本発明では以下のような手段を講じる。
この発明の第1の様態は、タイムスタンプが付与されたデータを蓄積する第1データベースと、制御装置とを具備する制御システムであって、前記制御装置に、タイムスタンプが付与されたデータを蓄積する第2データベースと、タイムスタンプの精度を指定するための項目を含む共通クエリを作成する作成部と、前記共通クエリを解析して、前記第1データベース宛ての第1個別クエリと前記第2データベース宛ての第2個別クエリとを作成するクエリパーサと、前記第1個別クエリを前記第1データベース宛てに送信し、前記第2個別クエリを前記第2データベース宛てに送信する送信部と、前記送信された第1個別クエリに応じて前記第1データベースから返送されたデータのタイムスタンプと前記送信された第2個別クエリに応じて前記第2データベースから返送されたデータのタイムスタンプとの少なくともいずれか一方を、前記共通クエリで指定された精度に基づいて加工して、当該第1データベースから返送されたデータと当該第2データベースから返送されたデータとを結合する結合部とを具備するように構成したものである。
この発明の第1の様態は、タイムスタンプが付与されたデータを蓄積する第1データベースと、制御装置とを具備する制御システムであって、前記制御装置に、タイムスタンプが付与されたデータを蓄積する第2データベースと、タイムスタンプの精度を指定するための項目を含む共通クエリを作成する作成部と、前記共通クエリを解析して、前記第1データベース宛ての第1個別クエリと前記第2データベース宛ての第2個別クエリとを作成するクエリパーサと、前記第1個別クエリを前記第1データベース宛てに送信し、前記第2個別クエリを前記第2データベース宛てに送信する送信部と、前記送信された第1個別クエリに応じて前記第1データベースから返送されたデータのタイムスタンプと前記送信された第2個別クエリに応じて前記第2データベースから返送されたデータのタイムスタンプとの少なくともいずれか一方を、前記共通クエリで指定された精度に基づいて加工して、当該第1データベースから返送されたデータと当該第2データベースから返送されたデータとを結合する結合部とを具備するように構成したものである。
共通クエリは、タイムスタンプの精度を指定するための項目を含む。共通クエリはクエリパーサにより解析されて、第1データベース宛ての第1個別クエリと、第2データベース宛ての第2個別クエリとが作成される。第1個別クエリは第1データベースに送信され、第1個別クエリに応じたデータが第1データベースから読み出されて返送される。第2個別クエリは第2データベースに送信され、第2個別クエリに応じたデータが第2データベースから読み出されて返送される。
前記第1データベースから返送されたデータのタイムスタンプと前記第2データベースから返送されたデータのタイムスタンプとの少なくともいずれか一方が、前記共通クエリで指定された精度に基づいて加工される。そして、第1データベースから返送されたデータと当該第2データベースから返送されたデータとが、タイムスタンプの加工を経た後に結合される。
このような構成であるから、異なるデータベースから取得されたデータのタイムスタンプを、指定された精度で(例えば、ユーザの希望する精度で)加工した後に、各データベースから取得されたデータを結合することが可能になる。従って、タイムスタンプの周期によらずにデータベースを結合することが可能になる。
この発明の第2の様態は、結合部が、上記指定された精度よりも高いタイムスタンプの桁を当該指定された精度の桁に切り上げ、または切り下げしてタイムスタンプを加工するように構成したものである。
このような構成であるから、タイムスタンプの桁数を揃える処理を統一的な基準で実施することができる。
この発明の第3の様態は、結合部が、より多数のデータを返送した一方のデータベースからのデータを単位時間あたりの平均値に変換して、前記第1データベースから返送されたデータの数と前記第2データベースから返送されたデータの数とを合わせて、当該第1データベースから返送されたデータと当該第2データベースから返送されたデータとを結合するように構成したものである。
このような構成であるから、例えばデータ収集の周期の異なるデータベースに対しても、単位時間当たりのデータの出現回数を揃えたうえで複数のデータを結合することができる。
この発明の第4の様態は、結合部が、より多数のデータを返送した一方のデータベースからのデータを単位時間内の最大値または最小値のいずれかに変換して、前記第1データベースから返送されたデータの数と前記第2データベースから返送されたデータの数とを合わせて、当該第1データベースから返送されたデータと当該第2データベースから返送されたデータとを結合するように構成したものである。
このような構成によっても、例えばデータ収集の周期の異なる複数のデータベースについて、単位時間当たりのデータの出現回数を揃えたうえで複数のデータを結合することができる。
この発明の第5の様態は、さらに、前記第1データベースから返送されたデータのタイムスタンプと前記第2データベースから返送されたデータのタイムスタンプとに基づいて、前記精度を設定する設定部を具備し、結合部が、設定部により設定された精度を基準として、第1データベースから返送されたデータのタイムスタンプと第2データベースから返送されたデータのタイムスタンプとの少なくともいずれか一方を加工するように構成したものである。
このような構成であるから、タイムスタンプの精度は、返送された複数のデータのタイムスタンプに基づいて設定部により設定される。従ってクエリの送信元で精度を指定する必要がなく、融通性の高いシステムを構築できる。
つまり、本発明の態様では、クエリの問い合わせ構文に、タイムスタンプの精度を指定するための項目を追加する。テーブル結合に際して、上記項目に、ユーザの所望の精度を指定したクエリを生成する。クエリパーサは、このクエリを解析し、問い合わせ対象のデータベースごとにクエリを作成し、送信する。そして、取得された各テーブルを結合する際、指定された精度に従ってタイムスタンプの桁数を揃え、タイムスタンプの時系列に従ってテーブルを結合するようにした。
このようにしたので、複数の時系列データベースから取り出したデータを、ユーザの希望する任意の精度で結合することができる。また、書き込み周期の異なるデータベースを結合する際に、タイムスタンプの周期の大きい方に合わせ、タイムスタンプの周期の小さいほうのデータを特徴量(平均、最大、最小など)に変換するようにしている。従って、周期の小さいレコードを適切に集約することができる。
本発明によれば、複数のデータベースを、互いのデータのタイムスタンプの周期を合わせて結合することの可能な制御システム、制御装置、結合方法およびプログラムを提供することができる。
図1は、実施形態に係わる制御装置を含む制御システムの一例を示す図である。制御システムは、例えば工場や物流倉庫などの拠点1000に設置される。制御システムは、制御装置の一例としてのPLC100およびPLC600と、PLC100にLAN(Local Area Network)3を介して通信可能に接続されるコンピュータ(PC)200とを備える。
例えば、CD−ROMなどの記録メディア30から、実施形態に係る機能や方法をPC200に実行させるための命令を含むプログラムを、PC200にインストールすることが可能である。
PLC100は、拠点1000に形成されたフィールドバス2に接続される。フィールドバス2には、制御対象の一例としてのフィールド装置群8が接続される。フィールド装置群8は、例えばリモートI/O(Input/Output)装置12、リレー群14、I/Oユニット16、画像センサ18、カメラ20、サーボモータドライバ22およびサーボモータ24を含む。これらのフィールド装置群8は、制御に係わる各種のデータを、フィールドバス2を介してPLC100と授受する。PLC100は、取得したデータを組み込みデータベースに蓄積する。すなわちPLC100は、制御対象に関わるデータを、例えばミリ秒、あるいはマイクロ秒の周期で収集する。収集されたデータは、例えば収集された時点のタイムスタンプを付与されて組み込みの時系列データベース等に蓄積される。
フィールドバス2には、データの到達時間を保証可能なプロトコルを採用することが好ましい。この種のプロトコルを採用するネットワークとしては、EtherCAT(登録商標)、EtherNet(登録商標)/IP、DeviceNet(登録商標)、CompoNet(登録商標)などが知られている。
PLC100は、さらに、他のPLC(PLC600)に接続可能なインタフェースを備える。PLC600も同様にフィールドバス2に接続され、PLC100とは別に割り当てられたフィールド装置群8を制御する。PLC100とPLC600とをつなぐネットワーク4にも、例えばEtherNet(登録商標)/IP等のプロトコルを適用することができる。
図2は、図1に示されるPLC100の形態の一例を示す模式図である。一例として、複数のユニットを組み合わせたビルディングブロックタイプとして知られる形態のPLC100を示す。このほか、パッケージタイプや、ベース装着タイプのPLCも知られている。
PLC100は、電源部51、CPUブロック52、複数のIOブロック53および特殊ブロック54を備える。このうちCPUブロック52、IOブロック53および特殊ブロック54は、装置内に設けられるシステムバス55により接続される。IOブロック53は、I/Oユニット16に接続され、リレーや検出スイッチなどから発生した種々のデータを取得してCPUブロック52に送る。制御に係わるこの種のデータとしては、例えばサーボモータ24のトルク、物品(ワーク)の搬送速度、ロボットアームの角度など、多種多様なデータがある。もちろん、これらに限定されるものではない。
I/Oユニット16は、例えばセンサ(検出スイッチなど)が対象物を検出しているか、検出していないかという情報を収集する。この種の情報は、オンまたはオフのいずれかに対応付けて表すことができる。例えば、センサが対象物を検出している状態をオンに、何の対象物も検出していない状態をオフに対応付けることができる。
また、I/Oユニット16は、リレーまたはアクチュエータなどを活性化するための指令(オン)、または不活性化するための指令(オフ)のいずれかを、宛先のリレーまたはアクチュエータなどに出力する。
また、I/Oユニット16は、サーボモータ24を駆動制御するためのCPUブロック52からの指令値を、フィールドバス2を介して、サーボモータドライバ22に転送する。サーボモータドライバ22は、PLC100から位置指令値、速度指令値、トルク指令値などの指令値を、例えば一定周期で受ける。
サーボモータ24の軸に接続された位置センサ(ロータリーエンコーダ)やトルクセンサなどにより、位置、速度(典型的には、今回位置と前回位置との差から算出される)、トルクといったサーボモータ24の動作に係る実測値が取得される。ワークの搬送速度やロボットアームの角度は、これらのセンシングデータから直接的に求められるか、計算により算出される。
CPUブロック52は、フィールド装置群8に至るフィールドバス2と、PC200に至るLAN3、PLC600に至るネットワーク4とに接続される。CPUブロック52は、CPUを備え、PLC100の中枢として機能する。
図3は、PC200のハードウェア構成の一例を示すブロック図である。PC200は、CPU41、ROM(Read Only Memory)42、RAM(Random Access Memory)43、およびハードディスクドライブ(HDD)44を備える。CPU41は、PC200の演算部に相当する。ROM42、RAM43およびHDD44は、PC200の記憶部に相当する。
CPU41は、OS(Operating System)を含む各種プログラムを実行する。ROM42は、BIOS(Basic Input Output System)や各種データを格納する。RAM43は、HDD44からロードされたプログラムやデータを一時的に記憶する。HDD44は、CPU41により実行されるプログラムやデータを記憶する。
PC200は、さらに、キーボード45、マウス46、モニタ47、光学メディアドライブ48、および通信インタフェース(IF)49を備える。キーボード45およびマウス46は、ユーザからの操作を受付ける。モニタ47は、各種の情報を視覚的に表示する。光学メディアドライブ48は、CD−ROM30などの記録媒体に記録されたディジタルデータを読み取る。通信インタフェース(IF)49は、LAN3に接続されてPLC100と通信する。
PC200で実行される各種プログラムは、例えばCD−ROM30に記録されて流通することができる。このCD−ROM30に格納されたプログラムは、光学メディアドライブ48により読み取られ、HDD44などに格納される。あるいは、上位のサーバコンピュータなどからネットワークを通じてプログラムをダウンロードするように構成してもよい。
図4は、PC200のソフトウェア構成の一例を示すブロック図である。PC200は、データマイニングツール201と、機械学習パラメータ設定ツール202とを備える。データマイニングツール201および機械学習パラメータ設定ツール202は、例えば、OS203の制御のもとで動作するアプリケーションプログラムのうちの一つである。つまり、HDD44(図3)からRAM43にロードされたプログラムをCPU41が解釈し、実行することで、PC200は、データマイニングツール201および機械学習パラメータ設定ツール202として動作する。
データマイニングツール201は、クエリプログラム201a、データマイニングプログラム201bおよび可視化プログラム201cを備える。クエリプログラム201aは、時系列データベースから所望のデータを取得するためのクエリを作成する。データマイニングプログラム201bは、クエリにより取得されたデータを既定のアルゴリズムに基づいて処理して、制御に係わる予測処理などを行う。可視化プログラム201cは、データ処理の結果をグラフに表示するなどして、人間とのヒューマンマシンインタフェースの一部を担う。これによりUI(User Interface)を持たないPLCについても、GUI(Graphical User Interface)環境を利用することができる。
これらのブロックにより、データマイニングツール201は、クエリにおける特徴量の決定、異常検知手法の決定、機械学習パラメータの決定、または異常検知結果の評価などを実行する。
機械学習パラメータ設定ツール202は、例えばIEC 61131−3に準拠するPLC向けのプログラムをクロス開発するための統合開発環境(PLCプログラムIDE(Integrated Development Environment))により提供される。機械学習パラメータ設定ツール202は、PLC変数アクセスプログラム202aを含む。PLC変数アクセスプログラム202aは、PLC100にアクセスして、変数にマッピングされた各種データ(センサデータ、サーボモータのデータなど)を取得する。
図5は、PLC100の一例を示す機能ブロック図である。なおPLC600も同様である。PLC100は、プロセッサ101、メモリ102、クロック発生器103、チップセット104、およびインタフェース部105を備える。これらは内部バス110を介して接続される。
クロック発生器103は、例えば水晶発振器とPLL(Phase Lock Loop)とを組み合わせた回路であり、高精度の周期的パルスを発生する。PLC100は、このパルス信号をローカルクロックとして使用する。ローカルクロックは、PLC100の内部の演算や制御などのタイミングを規定する。また、ローカルクロックは、データに付与されるタイムスタンプの基準としても使用される。チップセット104は、プロセッサ101、メモリ102、およびインタフェース部105間でのデータの授受のタイミングを制御することで、内部バス110上でのデータの衝突を防止する。
インタフェース部105は、ローカルバス105a、およびフィールドバス105bを備える。ローカルバス105aは、PLC100とこのPLC100に接続されるデバイスとの間で授受されるデータを中継するインタフェースである。ローカルバス105aは、接続されたセンサ81からデータを取得し、制御相手先のアクチュエータ82にコントロール信号を送信する。同様に、フィールドバス105bは、PLC100とこのPLC100に接続されるデバイスとの間で授受されるデータを中継するインタフェースである。フィールドバス105bは、接続されたセンサ83からデータを取得し、制御相手先のアクチュエータ84にコントロール信号を送信する。
メモリ102は、組み込みデータベース102bを記憶するための記憶領域と、制御プログラム102cを記憶するための記憶領域とを備える。組み込みデータベース102bは、制御対象に関連するデータを収集して格納するデータベースである。実施形態では、一例として時系列データベースを採りあげる。時系列データベースは、期間の指定を含むクエリへの応答に備えて設計されたデータベースであり、PLC100の組み込みデータベースとして利用可能である。
メモリ102は、例えばRAM(Random Access Memory)やROM(Read Only Memory)などの記憶素子、あるいはハードディスクドライブ(Hard Disk Drive:HDD)などの記憶デバイスである。このほか、フラッシュメモリ、SDRAM(Synchronous Dynamic RAM)などの半導体メモリ、あるいはEPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)などの不揮発性メモリを用いても良い。
プロセッサ101は、実施形態に係る処理機能として、クエリ作成部101a、クエリパーサ101b、送信部101c、返送部101d、結合部101eおよび精度設定部101fを備える。これらは、例えばCPUが制御プログラム102cに従って実行する演算処理により実現される、処理機能である。
クエリ作成部101aは、例えばPC200のデータマイニングツール201から与えられるコマンドをトリガとして、共通クエリを作成する。つまり、データマイニングツール201(図3)の操作ウインドウから、複数データベースを結合するための操作がユーザにより実行されると、クエリ作成部101aは、共通クエリを作成する。この操作に際して、ユーザにより、タイムスタンプの精度が指定される。作成された共通クエリは、このタイムスタンプの精度を指定するための項目を含む。タイムスタンプの精度は、例えばタイムスタンプの小数点以下の桁を示す数値であり、例えばミリ秒やマイクロ秒などの単位で表される。
クエリパーサ101bは、上記共通クエリを解析して、組み込みデータベース102b宛てのクエリ(第1個別クエリ)と、テーブル結合の対象となる他のデータベース宛てのクエリ(第2個別クエリ)とを作成する。共通クエリに由来する、各データベースごとに作成された個々のクエリを個別クエリと称することにする。
実施形態において、共通クエリは、例えば、標準的なSQL構文を用いて作成される。個別クエリは、それぞれのデータベース向けの言語(方言)に応じて、各データベースで解釈することの可能な文法に基づいて作成される。このため、クエリパーサに、標準的なSQL言語と非標準的な言語との対応表などを記憶させておいても良い。なお、例えばMySQL、あるいはNoSQLなどはいずれもSQL構文を用いてクエリを行うことができるが、現時点ではそれぞれ固有の表現形式を有している。
送信部101cは、作成された個別クエリをそれぞれ宛先のデータベースに送信する。
返送部101dは、例えば外部から個別クエリによる問い合わせを受信した場合に、この個別クエリに応じたデータを含むテーブルを組み込みデータベース102bから読み出し、問い合わせ元に返送する。
結合部101eは、個別クエリの送信先のデータベースから返送された複数のテーブルに含まれるデータのタイムスタンプを、共通クエリで指定された精度を基準として加工して、これらの複数のテーブル(データ)を結合する。
精度設定部101fは、タイムスタンプの精度を、返送された複数のテーブルに含まれるデータのタイムスタンプに基づいて設定する。
精度設定部101fは、タイムスタンプの精度を、返送された複数のテーブルに含まれるデータのタイムスタンプに基づいて設定する。
図6は、PLC100、PLC600およびPC200に備わる機能ブロックの一例を示す図である。PLC100は、クライアント106および組み込みデータベース102bのシェル107を備える。シェル107は組み込みデータベース102bにアクセスする際のインタフェースであり、通信インタフェース107aを備える。通信インタフェース107aは、送信部101cおよび返送部101dの機能を実現する機能オブジェクトである。またクライアント106は、クエリパーサ101bおよび結合部101eの各機能ブロックと、通信インタフェース106cとを備える。
PLC600も同様に組み込みデータベース(符号602bを付す)を備え、この組み込みデータベース602bとのインタフェースとなるシェル607と、通信インタフェース607aを備える。
PC200は、例えばMySQL、あるいはNoSQLなどに代表される汎用のデータベース(汎用DB)200aを記憶する。PLC100のクライアント106の通信インタフェース106cは、シェル107とソケットを利用したプロセス間通信により、組み込みデータベース102bからテーブル(テーブルTS001)を取得する。また通信インタフェース106cは、シェル607とのプロセス間通信により、組み込みデータベース602bからテーブル(テーブルTS002)を取得する。さらに、通信インタフェース106cは、PC200とのプロセス間通信により汎用データベース200aからテーブルを取得する。いずれのテーブルも、インデックスで区別される複数のレコードを含む。各レコードは、データと、各データに付与されたタイムスタンプとを含む。次に、上記構成における作用を説明する。
図7は、実施形態に係る処理手順の一例を示すシーケンスチャートである。図7において、クライアント106(図6)から所望の抽出条件を指定したクエリが実行されると(ステップS1)、クエリパーサ101bは、宛先となるデータベースごとにクエリを分解し、通信インタフェース106cに渡す(ステップS2)。
図8は、ステップS1で発行される共通クエリの一例を示す図である。この共通クエリはSQL構文により記述されており、テーブル結合を指示するEX−JOINと、結合の基準を示すGROUP BY AVEとが記載される。さらに、タイムスタンプの精度を示すLEVELが記載されている。実施形態においては“LEVEL=1#ms”との記載により、ミリ秒の精度が指定されたことが示される。
通信インタフェース106cは、共通クエリに基づく個別クエリをそれぞれのデータベースごとに送信する(ステップS3)。例えば図9に示されるように、組み込みデータベース102bに対しては、TS001,Starttime=2017−03−04を含む個別クエリが送信され、組み込みデータベース602bに対しては、TS002,Starttime=2017−03−04を含む個別クエリが送信される。
これを受けたシェル107、607は、それぞれ組み込みデータベース102b、602bからクエリに沿ったデータを抽出し、指定された範囲のデータを含むテーブルをクエリ元に返送(応答)する(図7のステップS4)。
各データベースからの応答は、通信インタフェース106cを介して結合部101eに渡される。結合部101eは、受信した複数のテーブルを共通クエリで指定された精度で結合する(ステップS5)。あるいは、精度設定部101fで計算された精度に基づいて、結合部101eは、複数のテーブルを結合する。そして、結合されたテーブルが、クエリに対する応答(クエリ結果:query response)としてクライアント106に渡される(ステップS6)。
図10は、結合されたテーブルの一例を示す図である。共通クエリの“LEVEL=1#ms”でミリ秒の精度が指定されたことに応じて、結合部101eは、テーブルTS001,TS002の各々のタイムスタンプのミリ秒より上の桁、すなわち小数点4以上の桁を切り捨てる。例えば図6のテーブルTS001のインデックス182のデータと、テーブルTS002のインデックス202のデータとが、いずれもタイムスタンプ“2017-03-03-08:00:00.013”に対応付けて結合されている。このように実施形態では、タイムスタンプの精度を指定するための項目をクエリに設け、このクエリで指定された精度内のタイムスタンプを主キーとして、データベースを結合するようにした。これにより、複数の時系列データベースから取り出したデータを、ユーザの希望する任意の精度で結合することができる。
図11は、組み込みデータベース102b(TS001)の他の例を示す図である。図11においては、図6に示されるデータベースに比べて、データの収集サイクル(またはデータベースへの書き込みサイクル)が2倍に伸びたことが想定される。つまりタイムスタンプの間隔が2倍に伸びており、単位時間当たりのレコードの数は図6に比べて半分になっている。
次に、図11の例と、図12とを参照して、データ収集の周期の短い組み込みデータベースと、データ収集の周期の長い組み込みデータベースとを結合することを考える。
図12は、組み込みデータベースから抽出されるテーブルの他の例を示す図である。図11においては組み込みデータベース102b(TS001)のタイムスタンプ周期が2倍に伸びたのに対し、図12(a)に示される組み込みデータベース602b(TS002)のタイムスタンプ周期は、そのままであることを想定する。そうすると、データの周期がデータベース間で整合しないことになる。
図12は、組み込みデータベースから抽出されるテーブルの他の例を示す図である。図11においては組み込みデータベース102b(TS001)のタイムスタンプ周期が2倍に伸びたのに対し、図12(a)に示される組み込みデータベース602b(TS002)のタイムスタンプ周期は、そのままであることを想定する。そうすると、データの周期がデータベース間で整合しないことになる。
そこで実施形態では、図12(b)に示されるように、例えば複数のレコード間のデータの平均値を取ることにより、データの数を長周期側のテーブルに合わせこむようにした。つまり結合部101eは、より多い数のレコードを含むデータベースからのデータを、単位時間当たりの平均値に変換したうえで、複数のテーブルを結合する。これは、図8に示される共通クエリにおいて、“GROUP BY AVE”との記述により平均値が指定されたことを反映している。
このようにすることで、データ収集の周期の短い組み込みデータベース602b(TS002)を、データ収集の周期の長い組み込みデータベース102b(TS001)に整合させることができる。すなわち、異なるデータベース間でタイムスタンプの周期が異なることにも対応可能となる。従って、テーブル結合に際してデータの数の不整合を防止できるようになる。
図13は、実施形態に係る共通クエリの他の例を示す図である。図13において、“LEVEL=AUTO”との記載がある。これは、タイムスタンプの精度の設定が、テーブル結合処理を行う側に委ねられたことを示す。また、“GROUP BY AVE”により、データ周期の整合を取る際に平均値を用いることが示される。平均値は特徴量の一つの例であり、このほか、最大値、最小値なども特徴量の一つであり、クエリのGROUP項目により指定することができる。
図14は、精度設定部101fによる処理を説明するための図である。精度設定部101fは、先ず、結合対象であるテーブルのデータ間の周期を算出する。
例えば図14のテーブルTS001において、ランダムで抜き出された特定区間に対し、タイムスタンプ間の差分を求める。製造現場では運用の都合により、データ記録の周期が変動することがあり、ランダムサンプリングを採用することで、このような状況にも対処可能である。
例えば図14のテーブルTS001において、ランダムで抜き出された特定区間に対し、タイムスタンプ間の差分を求める。製造現場では運用の都合により、データ記録の周期が変動することがあり、ランダムサンプリングを採用することで、このような状況にも対処可能である。
例えば図14に示されるように、テーブルTS001において、連続する2つのレコードの組をランダムに抽出したとき、各組のレコードのタイムスタンプの差分として例えば1.03ms、1.01ms、2.09msという値が得られたとする。そうすると精度設定部101fは、それぞれの組ごとにタイムスタンプの精度を算出し、最小の精度を、設定すべき精度として採用する。例えば、サンプルの50%以上が1ミリ秒であれば、1ミリ秒の精度が設定される。つまり図14の例では、ミリ秒の小数点以下の精度を切り捨て、多数決により、1ミリ秒の精度が採用される。このように精度設定部101fは、返送された複数のテーブルに含まれるデータのタイムスタンプに基づいて、テーブル結合の際に必要となるタイムスタンプの精度を、いわば事後的に設定する。
なお、テーブルTS001とテーブルTS002のように、タイムスタンプの周期の異なるテーブルを結合する場合がある。この場合、周期が短いほうのテーブル(つまりデータ記録頻度が高いほうのテーブル)について特徴量(平均値、最大値または最小値などの)を算出する。なお、平均値、最大値等の特徴量は、クエリにおいて指定される。
例えば、TS001の周期が1ミリ秒、TS002の周期が2ミリ秒として算出された場合、TS001について特徴量を算出する。つまり周期が短いほうのテーブルについての特徴量を、周期が長いほうの周期を単位として、取得する。
以上説明したように、この実施形態では、クエリの問い合わせ構文(SQL構文)に、タイムスタンプの精度を指定するための項目(LEVEL)を追加する。テーブル結合に際し、LEVELに所望の精度を指定したクエリを送信する。クエリパーサ101bによりこのクエリを解析し、問い合わせ対象の各データベースごとにクエリを作成し送信する。そして、取得された各テーブルを結合する際、指定された精度に従ってタイムスタンプの桁数を揃え、タイムスタンプの時系列に従ってテーブルを結合するようにした。
このようにしたので、複数の時系列データベースから取り出したデータを、ユーザの希望する任意の精度で結合することができる。また、書き込み周期の異なるデータベースを結合する際に、タイムスタンプの周期の大きい方に合わせ、タイムスタンプの周期の小さいほうのデータを特徴量(平均、最大、最小など)に変換するようにしている。従って、周期の小さいレコードを適切に集約することができる。
これらのことから、複数のデータベースを、互いのデータのタイムスタンプの周期を合わせて結合することの可能な制御システム、制御装置、結合方法およびプログラムを提供することが可能となる。
制御システムの複数のPLCに蓄えられた各データを結合し、いわゆるデータマイニング(data mining)の手法により解析すれば、様々な知見を得ることができる。さらに、他の様々なデータベースから取得されたテーブルを組み合わせ、解析することで、生産機器に由来する不具合イベントを極限まで減らせる可能性がある。上記実施形態はこのような用途に、特に有用である。
なお、この発明は上記実施形態に限定されるものではない。例えば実施形態に係るPLC100,600のプログラムは、記録媒体に記録することも、ネットワークを介して提供することも可能である。また、PLC100の機能ブロックの一部をPC200やPLC600に実装することもできる。
また、タイムスタンプの桁数を揃えるために、タイムスタンプの桁を、指定された精度の桁に切り上げるようにしても良い。また実施形態では、タイムスタンプの周期の異なるデータベース間でのテーブル結合処理に際して、特徴量としてレコード間のデータの平均値をとるようにした。このほか、レコード間のデータの最大値、あるいは最小値のいずれかに変換することによっても同様に、データベース間の整合を取ることができる。
また、実施形態では、単位時間当たりのデータ数の多い方が、データ数の少ない方に合わせる形態を開示した。この逆の形態も考え得る。例えば、2ミリ秒毎に収取されたデータを含むデータベースと、3ミリ秒毎に収集されたデータを含むデータベースとを、1ミリ秒の精度で結合することを考える。このケースでは、互いのデータ収集の周期の最小公倍数である6ミリ秒毎に、そのままの状態でデータを揃えることができる。一方、最小公倍数にならないタイムスタンプ、例えば、2ミリ秒毎に収取されたデータを含むデータベースの奇数値は、直前のデータで補間して結合する。
コンピュータに関連して用いられる「プロセッサ」という用語は、例えばCPU、GPU(Graphics Processing Unit)、或いは、ASIC(Application Specific Integrated Circuit)、SPLD(Simple Programmable Logic Device)、CPLD(Complex Programmable Logic Device)、またはFPGA等の回路と理解され得る。
プロセッサは、メモリに記憶されたプログラムを読み出し実行することで、プログラムに基づく特有の機能を実現する。メモリに代えて、プロセッサの回路内にプログラムを直接組み込むよう構成することも可能である。このケースでは、プロセッサは回路内に組み込まれたプログラムを読み出し実行することでその機能を実現する。
また、実施形態の制御システムは、少なくともその一部が、クラウドサーバ装置により構成されていてもよい。すなわち、実施形態の制御システムにより実現される機能の少なくとも一部は、クラウド・コンピューティングにより実行されてもよい。
クラウド・コンピューティングには、アプリケーション(ソフトウェア)をサービスとして提供するSaaS(Software as a Service)と、アプリケーションを稼働させるための基盤(プラットフォーム)をサービスとして提供するPaaS(Platform as a Service)と、サーバ装置、中央演算処理装置およびストレージなどのリソースをサービス(パブリッククラウド)として提供するIaaS(Infrastructure as a Service)とのうち、少なくとも一つが含まれていてもよい。例えば、このクラウド・コンピューティングには、クラウド・サービス提供層(PaaS)により、インターネットを介した遠隔操作が含まれていてもよい。
このほか、システムの形態、ネットワークのプロトコル、プログラムのインストール手法、取得されるデータの種別(目標値、結果値など)、データベースの種別や形式、クエリ構文の文法、PLCの機能と処理手順および処理内容などについても、この発明の要旨を逸脱しない範囲で種々変形して実施することが可能である。
要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
上記の実施形態の一部又は全部は以下の付記のようにも記載され得るが、以下に限られるものではない。
(付記1)
タイムスタンプが付与されたデータを蓄積する組み込みデータベースと、プロセッサとを具備し、
前記プロセッサは、
タイムスタンプの精度を指定するための項目を含む共通クエリを作成し、
前記共通クエリを解析して、前記組み込みデータベースと当該組み込みデータベースとは異なる他のデータベースとのそれぞれに宛てた個別クエリを作成し、
前記作成された個別クエリをそれぞれ宛先のデータベースに送信し、
前記送信された個別クエリに応じてそれぞれのデータベースから返送されたデータのタイムスタンプの少なくともいずれかを、前記共通クエリで指定された精度に基づいて加工して、それぞれのデータベースから返送されたデータを結合する、制御装置。
(付記1)
タイムスタンプが付与されたデータを蓄積する組み込みデータベースと、プロセッサとを具備し、
前記プロセッサは、
タイムスタンプの精度を指定するための項目を含む共通クエリを作成し、
前記共通クエリを解析して、前記組み込みデータベースと当該組み込みデータベースとは異なる他のデータベースとのそれぞれに宛てた個別クエリを作成し、
前記作成された個別クエリをそれぞれ宛先のデータベースに送信し、
前記送信された個別クエリに応じてそれぞれのデータベースから返送されたデータのタイムスタンプの少なくともいずれかを、前記共通クエリで指定された精度に基づいて加工して、それぞれのデータベースから返送されたデータを結合する、制御装置。
(付記2)
少なくとも1つのプロセッサを用いて、タイムスタンプの精度を指定するための項目を含む共通クエリを作成する過程と、
少なくとも1つのプロセッサを用いて、前記共通クエリを解析して、タイムスタンプが付与されたデータを蓄積する複数のデータベースのそれぞれに宛てた個別クエリを作成する過程と、
少なくとも1つのプロセッサを用いて、前記作成された個別クエリをそれぞれ宛先のデータベースに送信する過程と、
少なくとも1つのプロセッサを用いて、前記送信された個別クエリに応じてそれぞれのデータベースから返送されたデータのタイムスタンプの少なくともいずれかを、前記共通クエリで指定された精度に基づいて加工する過程と、
少なくとも1つのプロセッサを用いて、前記タイムスタンプを加工されたデータを結合する過程とを含む、結合方法。
少なくとも1つのプロセッサを用いて、タイムスタンプの精度を指定するための項目を含む共通クエリを作成する過程と、
少なくとも1つのプロセッサを用いて、前記共通クエリを解析して、タイムスタンプが付与されたデータを蓄積する複数のデータベースのそれぞれに宛てた個別クエリを作成する過程と、
少なくとも1つのプロセッサを用いて、前記作成された個別クエリをそれぞれ宛先のデータベースに送信する過程と、
少なくとも1つのプロセッサを用いて、前記送信された個別クエリに応じてそれぞれのデータベースから返送されたデータのタイムスタンプの少なくともいずれかを、前記共通クエリで指定された精度に基づいて加工する過程と、
少なくとも1つのプロセッサを用いて、前記タイムスタンプを加工されたデータを結合する過程とを含む、結合方法。
2…フィールドバス、4…ネットワーク、8…フィールド装置群、12…装置、14…リレー群、16…I/Oユニット、18…画像センサ、20…カメラ、22…サーボモータドライバ、24…サーボモータ、30…記録メディア、41…CPU、42…ROM、43…RAM、44…ハードディスクドライブ(HDD)、45…キーボード、46…マウス、47…モニタ、48…光学メディアドライブ、49…通信インタフェース、51…電源部、52…CPUブロック、53…IOブロック、54…特殊ブロック、55…システムバス、81…センサ、82…アクチュエータ、83…センサ、84…アクチュエータ、100…制御装置、101…プロセッサ、101a…クエリ作成部、101b…クエリパーサ、101c…送信部、101d…返送部、101e…結合部、101f…精度設定部、102…メモリ、102b…組み込みデータベース、102c…制御プログラム、103…クロック発生器、104…チップセット、105…インタフェース部、105a…ローカルバス、105b…フィールドバス、106…クライアント、106c…通信インタフェース、107…シェル、107a…通信インタフェース、110…内部バス、182…インデックス、200…コンピュータ(PC)、200a…汎用データベース、201…データマイニングツール、201a…クエリプログラム、201b…データマイニングプログラム、201c…可視化プログラム、202…機械学習パラメータ設定ツール、202a…PLC変数アクセスプログラム、602b…組み込みデータベース、607…シェル、607a…通信インタフェース、1000…拠点、TS001…テーブル、TS002…テーブル。
Claims (12)
- タイムスタンプが付与されたデータを蓄積する第1データベースと、
制御装置とを具備し、
前記制御装置は、
タイムスタンプが付与されたデータを蓄積する第2データベースと、
タイムスタンプの精度を指定するための項目を含む共通クエリを作成する作成部と、
前記共通クエリを解析して、前記第1データベース宛ての第1個別クエリと前記第2データベース宛ての第2個別クエリとを作成するクエリパーサと、
前記第1個別クエリを前記第1データベース宛てに送信し、前記第2個別クエリを前記第2データベース宛てに送信する送信部と、
前記送信された第1個別クエリに応じて前記第1データベースから返送されたデータのタイムスタンプと前記送信された第2個別クエリに応じて前記第2データベースから返送されたデータのタイムスタンプとの少なくともいずれか一方を、前記共通クエリで指定された精度に基づいて加工して、当該第1データベースから返送されたデータと当該第2データベースから返送されたデータとを結合する結合部とを備える、制御システム。 - 前記結合部は、前記指定された精度よりも高い前記タイムスタンプの桁を当該指定された精度の桁に切り捨て、または切り上げして前記タイムスタンプを加工する、請求項1に記載の制御システム。
- 前記結合部は、より多数のデータを返送した一方のデータベースからのデータを単位時間あたりの平均値に変換して、前記第1データベースから返送されたデータの数と前記第2データベースから返送されたデータの数とを合わせて、当該第1データベースから返送されたデータと当該第2データベースから返送されたデータとを結合する、請求項1に記載の制御システム。
- 前記結合部は、より多数のデータを返送した一方のデータベースからのデータを単位時間内の最大値または最小値のいずれかに変換して、前記第1データベースから返送されたデータの数と前記第2データベースから返送されたデータの数とを合わせて、当該第1データベースから返送されたデータと当該第2データベースから返送されたデータとを結合する、請求項1に記載の制御システム。
- さらに、前記第1データベースから返送されたデータのタイムスタンプと前記第2データベースから返送されたデータのタイムスタンプとに基づいて、前記精度を設定する設定部を具備し、
前記結合部は、前記設定部により設定された精度を基準として、当該第1データベースから返送されたデータのタイムスタンプと当該第2データベースから返送されたデータのタイムスタンプとの少なくともいずれか一方を加工する、請求項1に記載の制御システム。 - タイムスタンプが付与されたデータをそれぞれ蓄積する第1データベースと第2データベースとを具備する制御システムに適用可能な制御装置であって、
タイムスタンプの精度を指定するための項目を含む共通クエリを作成する作成部と、
前記共通クエリを解析して、前記第1データベース宛ての第1個別クエリと前記第2データベース宛ての第2個別クエリとを作成するクエリパーサと、
前記第1個別クエリを前記第1データベース宛てに送信し、前記第2個別クエリを前記第2データベース宛てに送信する送信部と、
前記送信された第1個別クエリに応じて前記第1データベースから返送されたデータのタイムスタンプと前記送信された第2個別クエリに応じて前記第2データベースから返送されたデータのタイムスタンプとの少なくともいずれか一方を、前記共通クエリで指定された精度に基づいて加工して、当該第1データベースから返送されたデータと当該第2データベースから返送されたデータとを結合する結合部とを備える、制御装置。 - 前記結合部は、前記指定された精度よりも高い前記タイムスタンプの桁を当該指定された精度の桁に切り捨て、または切り上げして前記タイムスタンプを加工する、請求項6に記載の制御装置。
- 前記結合部は、前記指定された精度を有するタイムスタンプを付与された複数のデータを、当該複数のデータ間での平均値に変換する、請求項6に記載の制御装置。
- 前記結合部は、前記指定された精度を有するタイムスタンプを付与された複数のデータを、当該複数のデータ間での最大値または最小値のいずれかに変換する、請求項6に記載の制御装置。
- さらに、前記第1データベースから返送されたデータのタイムスタンプと前記第2データベースから返送されたデータのタイムスタンプとに基づいて、前記精度を設定する設定部を具備し、
前記結合部は、前記設定部により設定された精度を基準として、当該第1データベースから返送されたデータのタイムスタンプと当該第2データベースから返送されたデータのタイムスタンプとの少なくともいずれか一方を加工する、請求項6に記載の制御装置。 - タイムスタンプが付与されたデータをそれぞれ蓄積する第1データベースと第2データベースとを具備する制御システムに適用可能な制御装置が実行する結合方法であって、
タイムスタンプの精度を指定するための項目を含む共通クエリを作成する過程と、
前記共通クエリを解析して、前記第1データベース宛ての第1個別クエリと前記第2データベース宛ての第2個別クエリとを作成する過程と、
前記第1個別クエリを前記第1データベース宛てに送信し、前記第2個別クエリを前記第2データベース宛てに送信する過程と、
前記送信された第1個別クエリに応じて前記第1データベースから返送されたデータのタイムスタンプと前記送信された第2個別クエリに応じて前記第2データベースから返送されたデータのタイムスタンプとの少なくともいずれか一方を、前記共通クエリで指定された精度に基づいて加工する過程と、
当該第1データベースから返送されたデータと当該第2データベースから返送されたデータとを結合する過程とを含む、結合方法。 - 請求項11に記載の各過程の処理を、前記制御装置が備えるコンピュータに実行させるプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017126208A JP6528807B2 (ja) | 2017-06-28 | 2017-06-28 | 制御システム、制御装置、結合方法およびプログラム |
CN201810435161.1A CN109143989B (zh) | 2017-06-28 | 2018-05-08 | 控制系统、控制装置、结合方法以及记录介质 |
EP18172062.4A EP3422214B1 (en) | 2017-06-28 | 2018-05-14 | Control system, coupling method, and computer program |
US15/983,744 US10831170B2 (en) | 2017-06-28 | 2018-05-18 | Control system, control device, coupling method, and computer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017126208A JP6528807B2 (ja) | 2017-06-28 | 2017-06-28 | 制御システム、制御装置、結合方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019008703A JP2019008703A (ja) | 2019-01-17 |
JP6528807B2 true JP6528807B2 (ja) | 2019-06-12 |
Family
ID=62244290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017126208A Active JP6528807B2 (ja) | 2017-06-28 | 2017-06-28 | 制御システム、制御装置、結合方法およびプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US10831170B2 (ja) |
EP (1) | EP3422214B1 (ja) |
JP (1) | JP6528807B2 (ja) |
CN (1) | CN109143989B (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10061824B2 (en) | 2015-01-30 | 2018-08-28 | Splunk Inc. | Cell-based table manipulation of event data |
US11544248B2 (en) | 2015-01-30 | 2023-01-03 | Splunk Inc. | Selective query loading across query interfaces |
US9916346B2 (en) | 2015-01-30 | 2018-03-13 | Splunk Inc. | Interactive command entry list |
US10726037B2 (en) | 2015-01-30 | 2020-07-28 | Splunk Inc. | Automatic field extraction from filed values |
US9842160B2 (en) | 2015-01-30 | 2017-12-12 | Splunk, Inc. | Defining fields from particular occurences of field labels in events |
US11442924B2 (en) | 2015-01-30 | 2022-09-13 | Splunk Inc. | Selective filtered summary graph |
US10915583B2 (en) | 2015-01-30 | 2021-02-09 | Splunk Inc. | Suggested field extraction |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5590319A (en) * | 1993-12-15 | 1996-12-31 | Information Builders, Inc. | Query processor for parallel processing in homogenous and heterogenous databases |
US5999924A (en) * | 1997-07-25 | 1999-12-07 | Amazon.Com, Inc. | Method and apparatus for producing sequenced queries |
US6456234B1 (en) * | 2000-06-07 | 2002-09-24 | William J. Johnson | System and method for proactive content delivery by situation location |
US8060389B2 (en) * | 2000-06-07 | 2011-11-15 | Apple Inc. | System and method for anonymous location based services |
US6754657B2 (en) * | 2001-08-24 | 2004-06-22 | Microsoft Corporation | Time stamping of database records |
US7991014B2 (en) * | 2002-12-06 | 2011-08-02 | Thomson Licensing | Method and system for remote tuning and clock synchronization |
KR100462292B1 (ko) * | 2004-02-26 | 2004-12-17 | 엔에이치엔(주) | 중요도 정보를 반영한 검색 결과 리스트 제공 방법 및 그시스템 |
WO2006110960A1 (en) * | 2005-04-22 | 2006-10-26 | National Ict Australia Limited | Method for transporting digital media |
JP4687253B2 (ja) * | 2005-06-03 | 2011-05-25 | 株式会社日立製作所 | ストリームデータ処理システムのクエリ処理方法 |
US9747349B2 (en) * | 2006-10-30 | 2017-08-29 | Execue, Inc. | System and method for distributing queries to a group of databases and expediting data access |
US20080147603A1 (en) * | 2006-12-14 | 2008-06-19 | Olli Pekka Kostamaa | Converting temporal data into time series data |
US8412713B2 (en) * | 2007-03-06 | 2013-04-02 | Mcafee, Inc. | Set function calculation in a database |
US8484220B2 (en) * | 2007-03-06 | 2013-07-09 | Mcafee, Inc. | Clustered index with differentiated subfields |
US8983497B2 (en) * | 2007-10-04 | 2015-03-17 | Zos Communications, Llc | Method for managing a geo-targeted campaign |
US20090125550A1 (en) * | 2007-11-08 | 2009-05-14 | Microsoft Corporation | Temporal event stream model |
US20090319501A1 (en) * | 2008-06-24 | 2009-12-24 | Microsoft Corporation | Translation of streaming queries into sql queries |
US8707031B2 (en) * | 2009-04-07 | 2014-04-22 | Secureauth Corporation | Identity-based certificate management |
US20120221589A1 (en) * | 2009-08-25 | 2012-08-30 | Yuval Shahar | Method and system for selecting, retrieving, visualizing and exploring time-oriented data in multiple subject records |
JP4880025B2 (ja) * | 2009-11-26 | 2012-02-22 | 株式会社日立製作所 | ストリームデータ処理方法、ストリームデータ処理プログラム及びストリームデータ処理装置 |
JP2013083450A (ja) * | 2011-10-06 | 2013-05-09 | Sony Corp | 時刻制御装置、時刻制御方法、およびプログラム |
US20130117257A1 (en) * | 2011-11-03 | 2013-05-09 | Microsoft Corporation | Query result estimation |
US10223327B2 (en) * | 2013-03-14 | 2019-03-05 | Fisher-Rosemount Systems, Inc. | Collecting and delivering data to a big data machine in a process control system |
WO2014153560A1 (en) * | 2013-03-22 | 2014-09-25 | Accenture Global Services Limited | Geospatial smoothing in web applications |
US9853949B1 (en) * | 2013-04-19 | 2017-12-26 | Amazon Technologies, Inc. | Secure time service |
US9251478B2 (en) * | 2013-07-29 | 2016-02-02 | Amadeus S.A.S. | Processing information queries in a distributed information processing environment |
EP3117347B1 (en) * | 2014-03-10 | 2020-09-23 | Interana, Inc. | Systems and methods for rapid data analysis |
US9646653B2 (en) * | 2014-03-24 | 2017-05-09 | Autodesk, Inc. | Techniques for processing and viewing video events using event metadata |
US9430663B2 (en) * | 2014-06-11 | 2016-08-30 | Live Nation Entertainment, Inc. | Dynamic filtering and precision alteration of query responses responsive to request load |
JP6302817B2 (ja) | 2014-10-17 | 2018-03-28 | アズビル株式会社 | データ記録装置および方法 |
US20160314185A1 (en) * | 2015-04-27 | 2016-10-27 | Microsoft Technology Licensing, Llc | Identifying events from aggregated device sensed physical data |
US9813226B2 (en) * | 2015-08-05 | 2017-11-07 | Ixia | Modeling a clock |
US10496067B2 (en) * | 2015-08-07 | 2019-12-03 | Siemens Aktiengesellschaft | Automation and control distributed data management systems |
US9811560B2 (en) * | 2015-08-12 | 2017-11-07 | Oracle International Corporation | Version control based on a dual-range validity model |
US10540326B2 (en) * | 2015-08-21 | 2020-01-21 | Makemytrip (India) Private Limited | Dynamic caching system |
KR101923100B1 (ko) * | 2015-12-10 | 2018-11-28 | 지멘스 악티엔게젤샤프트 | Plc 히스토리언과 통합된 분산 임베디드 데이터 및 지식 관리 시스템 |
US10223426B2 (en) * | 2016-05-25 | 2019-03-05 | Bank Of America Corporation | System for providing contextualized search results of help topics |
US10929400B2 (en) * | 2016-10-26 | 2021-02-23 | International Business Machines Corporation | Self-optimizing value range synopsis in analytical databases |
US10776361B2 (en) * | 2017-04-07 | 2020-09-15 | Salesforce.Com, Inc. | Time series database search system |
JP6648730B2 (ja) * | 2017-05-09 | 2020-02-14 | オムロン株式会社 | 制御装置、タイムスタンプ修正方法およびプログラム |
US11120344B2 (en) * | 2017-07-29 | 2021-09-14 | Splunk Inc. | Suggesting follow-up queries based on a follow-up recommendation machine learning model |
US10901993B2 (en) * | 2018-04-03 | 2021-01-26 | Amadeus S.A.S. | Performing cache update adaptation |
-
2017
- 2017-06-28 JP JP2017126208A patent/JP6528807B2/ja active Active
-
2018
- 2018-05-08 CN CN201810435161.1A patent/CN109143989B/zh active Active
- 2018-05-14 EP EP18172062.4A patent/EP3422214B1/en active Active
- 2018-05-18 US US15/983,744 patent/US10831170B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP3422214A1 (en) | 2019-01-02 |
EP3422214B1 (en) | 2022-05-25 |
CN109143989A (zh) | 2019-01-04 |
CN109143989B (zh) | 2021-11-16 |
JP2019008703A (ja) | 2019-01-17 |
US20190004493A1 (en) | 2019-01-03 |
US10831170B2 (en) | 2020-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6528807B2 (ja) | 制御システム、制御装置、結合方法およびプログラム | |
CN108572613B (zh) | 控制装置、信息处理方法 | |
US11144534B2 (en) | Control device, time stamp modification method, computer program, and data structure | |
EP3382481B1 (en) | Controller, control program, and control system field | |
US11009847B2 (en) | Controller, control program, and control method | |
US10296515B2 (en) | Engineering data collection from control and instrumentation systems | |
CN110050237A (zh) | 数据收集装置、数据收集方法及程序 | |
JP2018133037A (ja) | 制御装置 | |
JP2018151917A (ja) | 制御装置 | |
US20210181709A1 (en) | Data collection system and motor controller | |
JP7102801B2 (ja) | 制御システム、制御装置および表示装置 | |
EP3696626B1 (en) | Communication system, communication method, and program | |
JP2019159754A (ja) | 制御装置、制御システム、制御方法、および、制御プログラム | |
JP7441006B2 (ja) | 制御装置、制御プログラム、および制御システム | |
CN114430369A (zh) | 一种工业互联网异构网络融合管理系统 | |
JP6963818B2 (ja) | 中継装置、制御方法、および、プログラム | |
CN113285821A (zh) | 生产系统、通信方法和程序 | |
WO2023276351A1 (ja) | 制御装置、システムプログラムおよび方法 | |
WO2022137580A1 (ja) | 制御システム、サポート装置およびラベル付与方法 | |
JP2024073818A (ja) | 制御システムおよび情報処理方法 | |
JP2022091323A (ja) | データ管理装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20190416 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190429 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6528807 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |