JP2018190216A - 制御装置、タイムスタンプ修正方法、プログラムおよびデータ構造 - Google Patents

制御装置、タイムスタンプ修正方法、プログラムおよびデータ構造 Download PDF

Info

Publication number
JP2018190216A
JP2018190216A JP2017092830A JP2017092830A JP2018190216A JP 2018190216 A JP2018190216 A JP 2018190216A JP 2017092830 A JP2017092830 A JP 2017092830A JP 2017092830 A JP2017092830 A JP 2017092830A JP 2018190216 A JP2018190216 A JP 2018190216A
Authority
JP
Japan
Prior art keywords
time
data
correction
unit
database
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.)
Granted
Application number
JP2017092830A
Other languages
English (en)
Other versions
JP6648730B2 (ja
Inventor
真輔 川ノ上
Shinsuke Kawanokami
真輔 川ノ上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2017092830A priority Critical patent/JP6648730B2/ja
Priority to CN201810316039.2A priority patent/CN108873767B/zh
Priority to US15/952,378 priority patent/US11144534B2/en
Priority to EP18168028.1A priority patent/EP3410321A1/en
Publication of JP2018190216A publication Critical patent/JP2018190216A/ja
Application granted granted Critical
Publication of JP6648730B2 publication Critical patent/JP6648730B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2474Sequence data queries, e.g. querying versioned data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2477Temporal data queries
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25257Microcontroller

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】 正確なタイムスタンプを付与されたデータを取得できるようにすること。
【解決手段】 PLC100に組み込みの時系列データベース102bに、データを記録する。また、PLC100のローカルクロックを、NTPサーバなどの時刻サーバ400に定期的にアクセスして補正する。その際、時刻補正量と、各回の補正処理を識別するためのNTP−IDとを対応付けてNTPログ102aに記録する。クエリが到来すると、指定された時間レンジに対応するレコードのタイムスタンプを、対応するNTP−IDの時刻補正量を比例配分して修正する。
【選択図】 図5

Description

本発明の実施形態は、例えばFA(Factory Automation)に適用可能な制御装置に関する。
工場や物流拠点などの多くは、多種多様な機器(facilities)や機械(machines)を制御するための制御システムを備える。制御システムや制御装置を適切に運用することで、省力化や作業の効率化を図ることができる。プログラマブルコントローラ(Programmable Logic Controller:PLC)は、タフな環境にも耐えうる制御装置として著名である。
PLCは、プロセッサおよびメモリを有し、プログラムに従って動作するコンピュータである。PLCのプログラミング言語に関する検討がIEC SC65B/WG7/TF3により主導され、1993年に、国際規格「IEC 61131−3」が発行された。この規格は、従来主体であったラダー言語を含む「4言語+1要素」を規定するもので、近年のPLCはこの規格に沿って開発されている。IEC 61131−3には、POU(Program Organization Unit)と称されるプログラムの単位がある。POUは、オブジェクト指向言語のクラスの概念に近く、関数あるいはメソッドに相当するFB(Function Block)を、1または複数含むことができる。
ところで、近年のPLCは高度に発達していて、超高速のCPU(Central Processing Unit)と、大容量のメモリを備えている。このため従来では不可能であったようなアプリケーションを実装することが可能になってきている。大量のデータをPLCに蓄積しデータベース化することも、その一つである。
すなわち、制御対象(センサ、サーボモータ等)に係わる各種のデータをmsec(ミリ秒)オーダの頻度で収集し、タイムスタンプを付与し、PLCに組み込まれた時系列データベースに蓄積することが考えられている。時系列データベースは、期間(時間レンジ)を指定した問い合わせを高速に処理できるように最適化されたデータベースであり、AI(Artifical Intelligence)やIoT(Internet of Things)などの分野で近年、注目されている。時系列データベースは、例えば、機械学習に基づく予測制御などに利用することができる。
ここで問題になるのは、複数のPLCで収集された時系列データ間のタイムスタンプの精度である。PLCの内部クロック(ローカルクロック)は温度などの擾乱によりドリフトするし、その程度はPLC毎に異なるからである。
例えばWWW(World Wide Web)では、NTP(Network Time Protocol)を利用してサーバ(サイト)間の時刻同期をとるようにしている。しかしながらNTPサーバの台数は限られているので、NTPサーバへのアクセスの頻度は多くとも1時間に一度くらいに留めざるを得ない。タイムスタンプの間隔が極短周期であるシステムでは、その間の時刻ずれが許容できない程度に大きくなることがあり、解決策が求められている。
特許文献1では、複数の装置間で時刻情報を相互に授受することで、リアルタイムデータのタイムスタンプを正規化し、装置間での相対的な時刻同期を保つようにしている。しかしながらシステム内の装置が増えれば増えるほど、通信の負荷が大きくなったり、効率が低下したりする。また、複数のシステム間でデータを統合する処理(データマイニング)に際しては、データ間の同期は保証されない。さらに、装置間の通信がNGになれば、正規化されたタイムスタンプを計算することができない。
特開2015−201194号公報
以上述べたように、制御装置に時系列データベースを構築し、高い頻度で収集したデータにタイムスタンプを付けて蓄積することが検討されている。しかしデータ収集サイクルに対して内部クロックの精度が十分でなく、制御装置間でタイムスタンプがずれる虞がある。例えば、事後のデータ解析の信頼性や精度、機械学習、あるいはデータ統合の精度を高めるためにも、データのタイムスタンプの精度を高めることが要望されている。
この発明は上記事情に着目してなされたもので、その目的は、正確なタイムスタンプを付与されたデータを取得することの可能な制御装置、タイムスタンプ修正方法、プログラムおよびデータ構造を提供することにある。
上記の目的を達成するために、本発明では以下のような手段を講じる。
この発明の第1の様態は、タイムスタンプの基準となるローカル時刻を提供するローカルクロックと、ローカル時刻の補正処理を繰り返し実行する補正部と、補正処理ごとの時刻補正量を記憶する記憶部と、制御対象に関わるデータを収集するデータ収集部と、収集されたデータをタイムスタンプ付きで蓄積するデータベースと、データベースへのクエリで指定された期間に対応するデータをデータベースから抽出する抽出部と、抽出されたデータのタイムスタンプを時刻補正量に基づいて修正する修正部と、修正されたタイムスタンプ付きのデータをクエリの発出元に向け返送する応答部とを具備するように構成したものである。
このような構成であるから、例えば定期的に実行されるローカル時刻の補正処理の、各回ごとの時刻補正量が記憶部に記憶される。制御対象に関わるデータが、データ収集部により収集され、タイムスタンプ付きでデータベースに蓄積される。データベースへのクエリを受けると、このクエリで指定された期間に対応するデータがデータベースから抽出される。抽出されたデータのタイムスタンプは、修正部により、上記時刻補正量に基づいて修正される。そして、修正されたタイムスタンプ付きのデータが、クエリの発出元に向けて返送される。
これにより、データベースから読み出されたデータに付随するタイムスタンプは、クエリ元に返送される前に修正される。つまり、内部クロックに生じた誤差によるタイムスタンプのずれが修正され、従って、正確なタイムスタンプを伴ったデータを取得することが可能になる。
この発明の第2の様態は、記憶部に、補正処理ごとの時刻補正量をそれぞれの補正処理を識別するための識別子に対応付けて記憶させ、データベースに、タイムスタンプ付きデータと、当該データのタイムスタンプの由来するローカル時刻についての補正処理の識別子とを含むレコードを蓄積し、修正部が、抽出されたデータを含むレコードに含まれる識別子に対応する時刻補正量を取得し、取得された時刻補正量に基づいて、抽出されたデータのタイムスタンプを修正するように構成したものである。
このような構成であるから、補正処理での時刻補正量は、各回ごとの識別子に対応付けて記憶される。タイムスタンプ付きデータは、そのタイムスタンプの元になったローカル時刻をもたらした補正処理の識別子とセットでデータベースに蓄積される。修正部は、抽出されたデータを含むセット(レコード)の識別子を参照して時刻補正量を取得し、その値に基づいてタイムスタンプを修正する。
つまり、タイムスタンプと、このタイムスタンプを修正するための時刻補正量への参照(識別子)とがワンセットでデータベースに蓄積される。このようなデータ構造を用いることで、タイムスタンプの修正に係わる処理がシンプルになり、実装の容易さ、あるいは処理時間の短縮などの効果を得ることができる。
この発明の第3の様態は、修正部が、取得された時刻補正量を補正処理の実行された時刻を基準として内挿した値に基づいてタイムスタンプを修正するように構成したものである。
このような構成であるから、タイムスタンプは、その元となったローカル時刻の補正処理の実行された時刻を基準として、対応する時刻補正量を内挿した値に基づいて修正される。例えば、24時間間隔で補正処理が実行されるとし、その間の時刻補正量が0.6msecであったとする。この場合、前回の補正処理から12時間後に付されたタイムスタンプは、0.3msec分だけ修正されることになる。同様に、8時間後のタイムスタンプであればその修正量は0.2msecとなる。
すなわちタイムスタンプは、時刻補正量を、前回からの経過時間で比例配分した値で補正される。これにより、タイムスタンプの修正にかかる有効数字の桁数を格段に細かくすることができ、精度を飛躍的に向上させることができる。
この発明の第4の様態は、データベースが、期間の指定を含むクエリへの応答に備えて設計された時系列データベースであるように構成したものである。
このように、時系列データベースにデータを蓄積することで、時間範囲を指定したクエリへの応答性を高めることができる。
この発明の第5の様態は、補正部が、グローバル時刻を提供する時刻サーバにアクセスしてローカル時刻の補正処理を実行するように構成したものである。
このような構成であるから、例えばNTPサーバにアクセスしてグローバル時刻を参照することで、世界的に統一された基準のもとでタイムスタンプを修正することができる。
この発明の第6の様態は、データ収集部が、補正部による補正処理の頻度よりも高い頻度でデータを収集するように構成したものである。
このような構成であるから、例えば、データ収集サイクルが数msecオーダのシステムにも適用することができる。
この発明の第7の様態は、さらに、補正処理ごとの時刻補正量を用いたフィードバック学習により補正処理の精度に関わる学習データを作成する学習部を具備し、補正部が、作成された学習データを参照してローカル時刻を補正するように構成したものである。
このような構成であるから、学習部により、過去の補正処理の精度に関する学習データが作成され、ローカル時刻は学習データを参照して補正される。従って内部クロックそのものの精度が向上し、ひいてはタイムスタンプの精度も高めることができる。
この発明の第8の様態は、さらに、ローカル時刻の補正処理の妥当性を判定する判定部を具備し、補正部が、判定部により妥当でないと判定された補正処理を無効とするように構成したものである。
このような構成であるから、例えば、時刻補正量が発振する場合や、誤ったタイムゾーン設定で補正処理が実行された場合、そのことが判定部により判定され、補正処理が無効にされる。従って、補正処理が誤ってなされたままの状態が継続することを防止できる。
この発明の第9の様態は、クロックを具備する装置に備えられたデータベースに蓄積されるレコードのデータ構造であって、装置の制御対象に関わるデータと、データに付与されたタイムスタンプと、クロックにより提供される時刻の補正処理を識別するための識別子とを含むように構成したものである。
このようなデータ構造を用いることにより、時刻が、どの補正処理により補正されたのかという情報を、個々のデータおよびタイムスタンプとひとまとめにして管理することができる。つまり、時刻の補正処理は例えば周期的(1時間ごと、12時間ごとあるいは24時間ごと)に実施されるが、各回の補正処理を、通し番号などで区別することができる。レコードがこの通し番号(識別子の一例)を含むことで、各レコードのタイムスタンプが、どの補正処理で補正された時刻に由来するのかを特定することができる。このことを利用して、タイムスタンプの補正量を適切に計算することができる。
本発明によれば、正確なタイムスタンプを付与されたデータを取得することの可能な制御装置、タイムスタンプ修正方法、プログラムおよびデータ構造を提供することができる。
実施形態に係わる制御装置を含む制御システムの一例を示す図。 実施形態に係わる制御システムの一例を示すブロック図。 コンピュータ200のハードウェア構成の一例を示すブロック図。 コンピュータ200のソフトウェア構成の一例を示すブロック図。 PLC100の一例を示すブロック図。 NTPログ102aの一例を示す図。 時系列データベース102bの一例を示す図。 実施形態に係るブロック間でのデータフローの一例を示す模式図。 実施形態に係る処理手順の一例を示すシーケンスチャート。 タイムスタンプの修正されたデータの一例を示す図である。
図1は、実施形態に係わる制御装置を含む制御システムの一例を示す図である。制御システムは、例えば工場や物流倉庫などの拠点1000に設置される。制御システムは、制御装置の一例としてのPLC100と、このPLC100にLAN(Local Area Network)3を介して通信可能に接続されるコンピュータ(PC)200とを備える。
例えば、CD−ROMなどの記録メディア30から、実施形態に係る手順や方法をPC200に実行させるための命令を含むプログラムを、PC200にインストールすることが可能である。CD−ROM30は、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を光学的に記録可能な媒体である。このほか、各種のデータを電気的、磁気的、機械的又は化学的作用により記録可能な媒体を用いることも可能である。
PLC100は、拠点1000に形成されたフィールドバス2に接続される。フィールドバス2には、制御対象の一例としてのフィールド装置群8が接続される。フィールド装置群8は、例えばリモートI/O(Input/Output)装置12、リレー群14、I/Oユニット16、画像センサ18、カメラ20、サーボドライバ22およびサーボモータ24を含む。これらのフィールド装置群8は、制御に係わる各種のデータを、フィールドバス2を介して制御装置100と授受する。PLC100は、取得したデータを組み込みデータベースに蓄積する。
フィールドバス2には、データの到達時間を保証可能なプロトコルを採用することが好ましい。この種のプロトコルを採用するネットワークとしては、EtherCAT(登録商標)、EtherNet(登録商標)/IP、DeviceNet(登録商標)、CompoNet(登録商標)などが知られている。
PLC100は、さらに、ネットワーク300に接続可能なインタフェースを備える。ネットワーク300には、グローバル時刻を提供する時刻サーバ400が設置される。PLC100は、この時刻サーバ400に定期的にアクセスし、自らの内部クロック(リアルタイムクロック(RTC))をグローバル時刻に同期させるべく、補正する。
実施形態において、時刻サーバ400は、例えばインターネットに接続されるNTPサーバである。NTPサーバは、さらに上位のタイムサーバに接続されたラジオ・クロックや原子時計から、UTC(協定世界時)に同期したグローバル時刻を取得する。つまりPLC100は、NTPサーバあるいはタイムサーバのいずれかにアクセスすることによって、内部クロックをグローバル時刻に同期させることができる。
図2は、図1に示される制御システムの一例を示すブロック図である。一例として、複数のユニットを組み合わせたビルディングブロックタイプとして知られる形態のPLC100を示す。このほか、パッケージタイプや、ベース装着タイプのPLCも知られている。
PLC100は、電源部51、CPUブロック52、複数のIOブロック53および特殊ブロック54を備える。このうちCPUブロック52、IOブロック53および特殊ブロック54は、装置内に設けられるシステムバス55により接続される。これらのブロックが互いにデータを授受可能に接続されることにより、PLC100は、コンピュータとして動作する。つまりPLC100は、プロセッサおよびメモリを備えるコンピュータである。
PLC100の電源部51は、CPUブロック52、I/Oブロック53および特殊ブロック54に、駆動電圧を供給する。
CPUブロック52は、CPUを備え、PLC100の中枢として機能する。CPUブロック52は、フィールド装置群8に至るフィールドバスと、PC200に至るLAN3とに接続される。
I/Oブロック53は、I/Oユニット16に接続され、リレーや検出スイッチなどから発生したデータを取得してCPUブロック52に送る。制御に係わるこの種のデータとしては、例えばサーボモータのトルク、物品(ワーク)の搬送速度、ロボットアームの角度など、多種多様なデータがある。もちろん、これらに限定されるものではない。
特殊ブロック54は、電源部51、CPUブロック52およびI/Oブロック53によりサポートされていない処理を実行する。特殊ブロック54は、例えば、アナログデータの入出力、温度制御、特定の通信方式による通信などの処理を実行する。
図3は、PC200のハードウェア構成の一例を示すブロック図である。PC200は、CPU41、ROM(Read Only Memory)42、RAM(Random Access Memory)43、およびハードディスクドライブ(HDD)44を備える。CPU41は、PC200の演算部に相当する。ROM42、RAM43およびハードディスク44は、PC200の記憶部に相当する。
CPU41は、OS(Operating System)を含む各種プログラムを実行する。ROM42は、BIOS(Basic Input Output System)や各種データを格納する。RAM43は、ハードディスク44からロードされたプログラムやデータを一時的に記憶する。ハードディスク44は、CPU41により実行されるプログラムやデータを記憶する。
PC200は、さらに、キーボード45、マウス46、モニタ47、光学メディアドライブ48、および通信インタフェース(IF)49を備える。キーボード45およびマウス46は、ユーザからの操作を受付ける。モニタ47は、各種の情報を視覚的に表示する。光学メディアドライブ48は、CD−ROM30などの記録媒体に記録されたディジタルデータを読み取る。通信インタフェース(IF)49は、LAN3に接続されてPLC100と通信する。
PC200で実行される各種プログラムは、例えばCD−ROM30に記録されて流通することができる。このCD−ROM30に格納されたプログラムは、光学メディアドライブ48により読み取られ、ハードディスク(HDD)44などに格納される。あるいは、上位のサーバコンピュータなどからネットワークを通じてプログラムをダウンロードするように構成してもよい。
図4は、PC200のソフトウェア構成の一例を示すブロック図である。PC200は、データマイニングツール201と、機械学習パラメータ設定ツール202とを備える。データマイニングツール201および機械学習パラメータ設定ツール202は、例えば、OS203の制御のもとで動作するアプリケーションプログラムのうちの一つである。つまり、ハードディスクドライブ44(図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の一例を示す機能ブロック図である。PLC100は、プロセッサ101、メモリ102、内部クロック103、チップセット104、およびインタフェース部105を備える。これらは内部バス110を介して接続される。なお、プロセッサ101、メモリ102、内部クロック103、チップセット104、およびインタフェース部105は、例えば、CPUブロック52(図2)に実装される。
内部クロック103は、例えば水晶発振器とPLL(Phase Lock Loop)回路とを備える、高精度のパルスジェネレータである。内部クロック103は、PLC100のローカルクロックを提供する。このローカルクロックは、データに付与されるタイムスタンプの基準としても使用される。
チップセット104は、典型的には、汎用的なコンピュータアーキテクチャに準じて構成される。例えば、チップセット102は、接続されている各種コンポーネントとの間でデータを授受したり、プロセッサ101による演算処理の結果生成されたデータなどをキャッシュしたりする。また、チップセット104は、内部バス110を介したプロセッサ101、メモリ102、およびインタフェース部105間でのデータの授受を調停する。
インタフェース部105は、例えばUSB(Universal Serial Bus)コネクタやシリアルポート/パラレルポート等のコネクタを備える。インタフェース部105は、ローカルバス105a、およびフィールドバス105bを備える。ローカルバス105aは、接続されたセンサ81からデータを取得し、制御相手先のアクチュエータ82にコントロール信号を送出する。同様に、フィールドバス105bは、接続されたセンサ83からデータを取得し、制御相手先のアクチュエータ84にコントロール信号を送出する。
メモリ102は、NTPログ102a、時系列データベース102b、制御プログラム102cおよび学習データ102dを記憶する。
メモリ102は、例えばRAM(Random Access Memory)やROM(Read Only Memory)などの記憶素子、あるいはハードディスクドライブ(Hard Disk Drive:HDD)などの記憶デバイスである。このほか、フラッシュメモリ、SDRAM(Synchronous Dynamic RAM)などの半導体メモリ、あるいはEPROM(Erasable Programmable ROM)、EPROM(Electrically Erasable Programmable ROM)などの不揮発性メモリを用いても良い。
プロセッサ101は、実施形態に係る処理手段として、補正部101a、データ収集部101b、抽出部101c、修正部101d、応答部101e、学習部101fおよび判定部101gを備える。これらは、例えばCPUが制御プログラム102cに従って実行する演算処理により実現されることができる。
補正部101aは、内部クロック103のローカルクロックを繰り返し補正する。すなわち補正部101aは、時刻サーバ400(図1)に例えば1日に1回の頻度で定期的にアクセスして、ローカルクロックの補正処理を実行する。例えばUNIX(登録商標)ライクなシステムでは、NTPDコマンドを用いて時刻補正処理を実行することができる。時刻補正処理の履歴は、NTPログとしてメモリ102に記憶される。
図6は、メモリ102に記憶されるNTPログ102aの一例を示す図である。NTPログ102aは、補正処理ごとの時刻補正量を、それぞれの補正処理を識別するための識別子(IDentification:ID)に対応付けてテーブル化したデータベースである。さらに、図示するように、補正処理の実行された時点のタイムスタンプを併せて記録しても良い。タイムスタンプの間隔を参照すると、ローカルクロックの補正処理が1時間周期で実行されていることが分かる。例えばID=344での時刻補正量は、+0.305sec(秒)である。
なお、PLC100にインストールされたOS(Operating System)によりシステムログが作成されていれば、このシステムログから必要な情報を抽出してNTPログ102aを作成することも可能である。
データ収集部101bは、制御対象に関わるデータを、例えばミリ秒、あるいはマイクロ秒の周期で収集する。収集されたデータは、例えば収集された時点のタイムスタンプを付与されて、メモリ102の時系列データベースに蓄積される。
図7は、メモリ102に記憶される時系列データベース102bの一例を示す図である。時系列データベース102bは、期間の指定を含むクエリへの応答に備えて設計されたデータベースであり、PLC100の組み込みデータベースとして利用可能である。図7に示されるように、時系列データベース102bは、インデックス(Index)に対応付けて複数のレコードを記録したデータベースである。
各レコードは、データ収集部101bから渡されたタイムスタンプ付きデータ(Data1,Data2)と、これらのデータのタイムスタンプの由来するローカルクロックについての補正処理のID(NTP−ID)とを含む。つまり実施形態にかかるレコードは、PLC100の制御対象に関わるデータと、そのタイムスタンプと、ローカルクロックの補正処理を識別するためのIDとを含むデータ構造を有する。さらに、カウンタ値(Counter)をレコードに含めても良い。カウンタ値は、例えばローカルクロックパルスの基準時刻からのカウント値である。
図7において、最下段のインデックス154のレコードのタイムスタンプは、“2017-03-03-09:00:00.014”である。このタイムスタンプは、何らかの時点で補正されたローカルクロックに基づいて付されているはずで、その補正処理を区別するためのカラムがNTP−IDである。レコード154のNTP−IDは“344”であり、そのタイムスタンプ“2017-03-03-08:00:00.014”が由来するローカルクロックは、図6を参照すると、“2017-03-03-09:00:00.014”の時点で補正されたことがわかる。
つまりレコード154は、まさに時刻補正の実行されたその時点に取得されたデータであることが示される。しかし時間が経過するにつれ、タイムスタンプには誤差が累積される。実施形態ではこれに対応するための技術が開示される。
図5に戻って説明を続ける。抽出部101cは、時系列データベース102bへのクエリで指定された期間に対応するデータを、時系列データベース102bから抽出する。修正部101dは、抽出されたデータのタイムスタンプを、NTPログ102aの時刻補正量に基づいて修正する。
応答部101eは、修正されたタイムスタンプ付きのデータを、クエリの発出元に向けて返送する。なお、クエリの送出元は、PLC100それ自身のプロセス(サービス)であっても良いし、または、PC200や、さらにその上位のサーバなどであってもよい。
学習部101fは、補正処理ごとの時刻補正量を用いたフィードバック学習により、補正処理の精度に関わる学習データを作成する。作成された学習データはメモリ102に記憶される(学習データ102d)。補正部101aは、この学習データ102dを参照してローカルクロックの補正処理を実行しても良い。
判定部101gは、ローカルクロックの補正処理の妥当性を判定する。例えば、判定部により補正処理が妥当でないと判定されると、補正部101aはその補正処理を無効とする。例えば、時刻補正量が発振したり、予期せぬエラーにより誤ったタイムゾーン設定で補正処理が実行されてしまうことがある。判定部101gを設けることで、このような不具合を防止することができる。
なお、補正部101a、データ収集部101b、抽出部101c、修正部101d、応答部101e、学習部101fおよび判定部101gは、例えばPLCプログラムIDE上で開発されるPOU、あるいはFBとして実装されることが可能である。POUは、IEC 61131−3におけるプログラムの実行モデルの単位である。POUには、ユーザプログラム全体を構成する基本的な単位として、アルゴリズムとローカル変数テーブルを記述するプログラム、FB、ファンクションの3種類がある。
ファンクションは、演算処理など、入力に対して出力が一意に決まる部品を作成するときに使用されるPOUである。FBは、タイマやカウンタなど、状態により、同じ入力に対して出力が異なる場合がある部品を作成するときに使用されるPOUである。プログラムは、ファンクションおよびFBと並ぶ、3種類のPOUのひとつであり、タスクに割り付けられて動作する。
図8は、実施形態に係るブロック間でのデータフローの一例を示す模式図である。アナログデータ(Analog)、ディジタルデータ(Digital)、エンコーダ(Encoder)の回転量、あるいは軸(Axis)の角度データ等のデータは、インタフェース部105において既定のフォーマットにデータ化される。このデータは、制御プログラム102cによるデータ収集処理(データ収集部101b)によりPLC100に取り込まれ、変数値にマッピングされる。
データ収集部101bは、変数値にタイムスタンプを付与し、時系列データベース102bに書き込む。この操作は、時系列データベース102bのシェル(Shell)106に、例えばSQL構文におけるPUTでデータを渡すことで実現される。この処理は、リレーショナルデータベース(RDB)に対するINSERTに相当する。
また、シェル106にアプリケーション107からクエリ(Query)を渡せば、このクエリで指定されたデータが抽出される。このように、時系列データベース102bは、プロセスからの割り込みに逐次応答するデーモン(Daemon)としての側面を備えていても良い。
さらに、例えばメモリカードなどに時系列データベース102bをコピーして、データコネクタ(Data Connector)経由でPC200に所望の時系列データ(センサ入力、制御値、出力値など)を渡すこともできる。PC200は、取得した時系列データを用いて時系列分析、データマイニングなどの処理を行うことができる。次に、上記構成を基礎として実施形態における作用を説明する。
図9は、実施形態に係る処理手順の一例を示すシーケンスチャートである。図9において、補正部101aは、ローカルクロックの時刻補正を定期的に実行する(ステップS1)。時刻補正処理が実行される度に、その履歴がNTPログに記録される(ステップS2)。つまり時刻補正量とNTP−IDとがNTPログ102aに記録される。また、時系列データベース102b(図7)のNTP−IDカラムにも、NTPログ102aと同じIDが書き込まれる(ステップS3)。
例えば、図8のアプリケーション107から、時間レンジとして“2017-03-03-08:00”を指定したクエリが与えられたとする(ステップS4)。そうするとシェル106(図8)は、時系列データベース102bへのデータ読み出しプロセスを開始する(ステップS5)。これに応じて、時系列データベース102bから、タイムスタンプを修正する前のデータ(RAWデータ)が読み出されて修正部101dに渡される(ステップS6)。
また修正部101dは、補正情報を補正部101aから取得する(ステップS7)。つまり、クエリの時間レンジに対応するNTP−IDと、その時刻補正量とを、修正部101dはNTPログ102aから取得する。これらの情報をもとに、修正部101dは、抽出されたデータのタイムスタンプを修正する(ステップS8)。
図7の、インデックス1〜4のレコードを含む時間レンジのクエリが与えられたとする。レコード4に着目すると、RAWデータのタイムスタンプは“2017-03-03-08:00.015”であり、NTP−IDは343である。よって修正部101dは、NTPログ102aから、ID=343に対応する時刻補正量0.205を取得する。
修正部101dは、取得した時刻補正量0.205をNTPの動作間隔(例えば1時間)で割って、単位時間(例えば1マイクロ秒)あたりの時刻ずれ量を計算する。例えば次式(1)により単位時間当たりの時刻ずれ量を計算できる。
時刻ずれ量/時間 = 0.205/(60×60) … (1)
または次式(2)のように、NTPログ102a(図6)のタイムスタンプからNTPのインターバルを計算しても良い。
時刻ずれ量/時間 = 0.205/(“2017-03-03-09:00.014”−“2017-03-03-08:00.035”) … (2)
次に修正部101dは、単位時間当たりの時刻ずれ量に、NTP動作時刻からの経過時間を乗算して、各レコードに適用すべき時刻修正量を計算する。例えば、レコード4に対しては、NTP動作時刻からの経過時間=(“2017-03-03-08:00.015”−“2017-03-03-07:00.148”)である。これを、次式(3)のように時刻ずれ量/時間に乗算して、時刻修正量を算出することができる。
時刻修正量 = 時刻ずれ量/時間×NTP動作時刻からの経過時間 … (3)
式(1)〜(3)を用いて説明したような計算は、要するに比例配分である。つまり修正部101dは、取得した時刻補正量を、NTP処理の実行された時刻を基準として内挿した値に基づいて、各レコードのタイムスタンプを修正する。
図10は、クエリ元に返送される、タイムスタンプの修正された状態のデータの一例を示す図である。レコード4のタイムスタンプは、“2017-03-03-08:00.016”に修正されたことが分かる。
以上説明したようにこの実施形態では、PLC100に組み込みの時系列データベース102bに、データを記録する。また、PLC100のローカルクロックを、NTPサーバなどの時刻サーバ400に定期的にアクセスして補正する。その際、時刻補正量と、各回の補正処理を識別するためのNTP−IDとを対応付けてNTPログ102aに記録する。クエリが到来すると、指定された時間レンジに対応するレコードのタイムスタンプを、対応するNTP−IDの時刻補正量を比例配分して修正する。
このようにしたので、クエリの送出元には、タイムスタンプを修正された状態のデータが返送される。つまり正確なタイムスタンプを出力することができる。従って、正確な時刻情報に基づいてデータ解析を実施することが可能になる。よって例えば、サーボモータのトルク修正の精度向上や、速度データの時系列解析の精度向上などの効果を得ることができる。
また実施形態では、オリジナルのバイナリデータ(RAWデータ)のタイムスタンプは修正されないので、発生したデータをそのまま保っておくことができる。
また、学習部101fにより、時刻補正の統計情報から誤差の補正精度をフィードバック学習するようにしているので、より最適な時刻補正を実現することが可能である。さらに、判定部101gにより時刻補正処理の妥当性を判定し、時刻補正が妥当でない場合には補正を無効にするようにした。従って、時刻ずれの生じた状態がそのまま継続されることもない。
これらのことから、この実施形態によれば、正確なタイムスタンプを付与されたデータを取得することの可能な制御装置、タイムスタンプ修正方法、プログラムおよびデータ構造を提供することが可能となる。
なお、この発明は上記実施形態に限定されるものではない。例えば実施形態に係るPLC100のプログラムは、記録媒体に記録することも、ネットワークを介して提供することも可能である。
コンピュータに関連して用いられる「プロセッサ」という用語は、例えば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)により、インターネットを介した遠隔操作が含まれていてもよい。
また、データベースの種別は時系列データベースに限定されるものではない。また、PLC100のブロックの一部をPC200に実装することもできる。
さらに、PLC100単独でなく、他のデータベース(上位データベース)にも同様のブロックをインプリメントし、複数のデータベース間でタイムスタンプを修正することで、異なるデータベースのデータを精度高く統合することができる。
このほか、システムの形態、ネットワークのプロトコル、プログラムのインストール手法、取得されるデータの種別(目標値、結果値など)、PLCの処理手順および処理内容などについても、この発明の要旨を逸脱しない範囲で種々変形して実施することが可能である。
要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
上記の実施形態の一部又は全部は以下の付記のようにも記載され得るが、以下に限られるものではない。
(付記1)
タイムスタンプの基準となるローカル時刻を提供するローカルクロックと、プロセッサと、記憶部とを具備し、
前記プロセッサは、
前記ローカル時刻の補正処理を繰り返し実行し、
前記補正処理ごとの時刻補正量を前記記憶部に記憶させ、
制御対象に関わるデータを収集し、
前記収集されたデータを前記タイムスタンプ付きで前記記憶部のデータベースに蓄積し、
前記データベースへのクエリで指定された期間に対応するデータを前記データベースから抽出し、
前記抽出されたデータのタイムスタンプを前記時刻補正量に基づいて修正する、制御装置。
(付記2)
ローカルクロックにより提供されるローカル時刻の補正処理を、少なくとも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…学習部、101g…判定部、102…メモリ、102a…NTPログ、102b…時系列データベース、102c…制御プログラム、102d…学習データ、103…内部クロック、104…チップセット、105…インタフェース部、105a…ローカルバス、105b…フィールドバス、106…シェル、107…アプリケーション、110…内部バス、200…コンピュータ(PC)、201…データマイニングツール、201a…クエリプログラム、201b…データマイニングプログラム、201c…可視化プログラム、202…機械学習パラメータ設定ツール、202a…PLC変数アクセスプログラム、203…OS、300…ネットワーク、400…時刻サーバ、1000…拠点。

Claims (11)

  1. タイムスタンプの基準となるローカル時刻を提供するローカルクロックと、
    前記ローカル時刻の補正処理を繰り返し実行する補正部と、
    前記補正処理ごとの時刻補正量を記憶する記憶部と、
    制御対象に関わるデータを収集するデータ収集部と、
    前記収集されたデータを前記タイムスタンプ付きで蓄積するデータベースと、
    前記データベースへのクエリで指定された期間に対応するデータを前記データベースから抽出する抽出部と、
    前記抽出されたデータのタイムスタンプを前記時刻補正量に基づいて修正する修正部と、
    前記修正されたタイムスタンプ付きのデータを前記クエリの発出元に向け返送する応答部と
    を具備する、制御装置。
  2. 前記記憶部は、前記補正処理ごとの時刻補正量を、それぞれの補正処理を識別するための識別子に対応付けて記憶し、
    前記データベースは、前記タイムスタンプ付きデータと、当該データのタイムスタンプの由来するローカル時刻についての補正処理の前記識別子とを含むレコードを蓄積し、
    前記修正部は、
    前記抽出されたデータを含むレコードに含まれる前記識別子に対応する時刻補正量を取得し、
    前記取得された時刻補正量に基づいて、前記抽出されたデータのタイムスタンプを修正する、請求項1に記載の制御装置。
  3. 前記修正部は、前記取得された時刻補正量を前記補正処理の実行された時刻を基準として内挿した値に基づいて前記タイムスタンプを修正する、請求項2に記載の制御装置。
  4. 前記データベースは、前記期間の指定を含むクエリへの応答に備えて設計された時系列データベースである、請求項1に記載の制御装置。
  5. 前記補正部は、グローバル時刻を提供する時刻サーバにアクセスして前記ローカル時刻の補正処理を実行する、請求項1に記載の制御装置。
  6. 前記データ収集部は、前記補正部による前記補正処理の頻度よりも高い頻度で前記データを収集する、請求項1に記載の制御装置。
  7. さらに、前記補正処理ごとの時刻補正量を用いたフィードバック学習により前記補正処理の精度に関わる学習データを作成する学習部を具備し、
    前記補正部は、前記作成された学習データを参照して前記ローカル時刻を補正する、請求項1に記載の制御装置。
  8. さらに、前記ローカル時刻の補正処理の妥当性を判定する判定部を具備し、
    前記補正部は、前記判定部により妥当でないと判定された補正処理を無効とする、請求項1に記載の制御装置。
  9. ローカルクロックにより提供されるローカル時刻の補正処理を繰り返し実行する過程と、
    前記補正処理ごとの時刻補正量を記憶部に記憶させる過程と、
    制御対象に関わるデータを収集する過程と、
    前記収集されたデータを、前記ローカル時刻を基準とするタイムスタンプ付きでデータベースに蓄積する過程と、
    前記データベースへのクエリで指定された期間に対応するデータを前記データベースから抽出する過程と、
    前記抽出されたデータのタイムスタンプを前記時刻補正量に基づいて修正する過程と
    を具備する、タイムスタンプ修正方法。
  10. 請求項9に記載の方法をコンピュータに実行させるための命令を含む、プログラム。
  11. クロックを具備する装置に備えられたデータベースに蓄積されるレコードのデータ構造であって、
    前記装置の制御対象に関わるデータと、
    前記データに付与されたタイムスタンプと、
    前記クロックにより提供される時刻の補正処理を識別するための識別子とを含む、データ構造。
JP2017092830A 2017-05-09 2017-05-09 制御装置、タイムスタンプ修正方法およびプログラム Active JP6648730B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017092830A JP6648730B2 (ja) 2017-05-09 2017-05-09 制御装置、タイムスタンプ修正方法およびプログラム
CN201810316039.2A CN108873767B (zh) 2017-05-09 2018-04-10 控制装置、时间戳修正方法以及记录介质
US15/952,378 US11144534B2 (en) 2017-05-09 2018-04-13 Control device, time stamp modification method, computer program, and data structure
EP18168028.1A EP3410321A1 (en) 2017-05-09 2018-04-18 Control device, time stamp modification method, computer program, and data structure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017092830A JP6648730B2 (ja) 2017-05-09 2017-05-09 制御装置、タイムスタンプ修正方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2018190216A true JP2018190216A (ja) 2018-11-29
JP6648730B2 JP6648730B2 (ja) 2020-02-14

Family

ID=62116195

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017092830A Active JP6648730B2 (ja) 2017-05-09 2017-05-09 制御装置、タイムスタンプ修正方法およびプログラム

Country Status (4)

Country Link
US (1) US11144534B2 (ja)
EP (1) EP3410321A1 (ja)
JP (1) JP6648730B2 (ja)
CN (1) CN108873767B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021131530A1 (ja) 2019-12-25 2021-07-01 オムロン株式会社 制御システム

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113038188B (zh) 2015-03-31 2023-06-06 松下电器(美国)知识产权公司 发送方法、接收方法、发送装置以及接收装置
EP3280150A1 (en) 2015-03-31 2018-02-07 Panasonic Intellectual Property Corporation of America Transmission method, reception method, transmission device and reception device
JP6528807B2 (ja) * 2017-06-28 2019-06-12 オムロン株式会社 制御システム、制御装置、結合方法およびプログラム
EP3885952A4 (en) * 2018-12-14 2021-12-01 Mitsubishi Electric Corporation LEARNING IDENTIFICATION DEVICE, LEARNING IDENTIFICATION PROCESS AND LEARNING IDENTIFICATION PROGRAM
CN111726450B (zh) * 2019-03-19 2021-06-08 安克创新科技股份有限公司 智能快递柜的控制方法和智能快递柜
CN112084227B (zh) * 2019-06-14 2024-04-26 核桃运算股份有限公司 数据查询装置、方法及其计算机存储介质
US11366810B2 (en) * 2020-04-27 2022-06-21 Salesforce.Com, Inc. Index contention under high concurrency in a database system
GB2594952B (en) * 2020-05-12 2022-12-28 Datumpin Ltd Control system performance tracking apparatus and method
CN118042082B (zh) * 2024-02-23 2024-08-20 湖北泰跃卫星技术发展股份有限公司 一种在数据中台中基于气象变化对视频时间校准方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006092833A1 (ja) 2005-02-28 2006-09-08 Fujitsu Limited タイムスタンプ装置、時刻校正方法および時刻校正プログラム
CN101133401A (zh) * 2005-02-28 2008-02-27 富士通株式会社 时间戳装置、时刻校正方法、以及时刻校正程序
US7697495B2 (en) * 2006-12-20 2010-04-13 Eaton Corporation Packet sniffer node and system including the same to assess wireless communication performance
US8650155B2 (en) * 2008-02-26 2014-02-11 Oracle International Corporation Apparatus and method for log based replication of distributed transactions using globally acknowledged commits
US9455885B2 (en) * 2011-10-13 2016-09-27 General Electric Company Systems, methods, and apparatus for modifying sensor time stamp data
US9003063B2 (en) * 2011-11-16 2015-04-07 General Electric Company Systems, methods, and apparatus for estimating power time of use
US9356721B2 (en) 2012-06-26 2016-05-31 Marvell World Trade Ltd. Methods and apparatus for precision time stamping
US9142049B2 (en) * 2013-04-30 2015-09-22 Splunk Inc. Proactive monitoring tree providing distribution stream chart with branch overlay
US20150127284A1 (en) * 2013-11-03 2015-05-07 Microsoft Corporation Sensor Data Time Alignment
JP6550867B2 (ja) 2014-04-03 2019-07-31 富士電機株式会社 タイムスタンプ付データ管理システム、その装置、プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021131530A1 (ja) 2019-12-25 2021-07-01 オムロン株式会社 制御システム
JP2021103439A (ja) * 2019-12-25 2021-07-15 オムロン株式会社 制御システム
JP7375532B2 (ja) 2019-12-25 2023-11-08 オムロン株式会社 制御システム
US12105551B2 (en) 2019-12-25 2024-10-01 Omron Corporation Control system

Also Published As

Publication number Publication date
JP6648730B2 (ja) 2020-02-14
CN108873767A (zh) 2018-11-23
CN108873767B (zh) 2022-04-12
EP3410321A1 (en) 2018-12-05
US11144534B2 (en) 2021-10-12
US20180329942A1 (en) 2018-11-15

Similar Documents

Publication Publication Date Title
JP6648730B2 (ja) 制御装置、タイムスタンプ修正方法およびプログラム
CN108572613B (zh) 控制装置、信息处理方法
CN109143989B (zh) 控制系统、控制装置、结合方法以及记录介质
EP3382480B1 (en) Controller
US10296515B2 (en) Engineering data collection from control and instrumentation systems
EP3373087B1 (en) Control device and program
EP3901721B1 (en) Control device and program
US10295982B2 (en) Detecting and tracking changes in engineering configuration data
JP2018133037A (ja) 制御装置
WO2020166432A1 (ja) 制御装置、制御プログラムおよび制御システム
JP7380390B2 (ja) 制御装置、プログラムおよび制御方法
EP3582034A1 (en) Method and apparatus, in the field of automation technology, of updating processing data
Wollschlaeger et al. Integration of fieldbus systems into on-line asset management solutions based on fieldbus profile descriptions
EP3696626B1 (en) Communication system, communication method, and program
Magro et al. Measuring real time performances of PC-based industrial control systems
Kujawa et al. Visualizations of Third-Party Applications on DCS Systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190426

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191119

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20191127

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: 20191217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191230

R150 Certificate of patent or registration of utility model

Ref document number: 6648730

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150