CN108873767B - 控制装置、时间戳修正方法以及记录介质 - Google Patents
控制装置、时间戳修正方法以及记录介质 Download PDFInfo
- Publication number
- CN108873767B CN108873767B CN201810316039.2A CN201810316039A CN108873767B CN 108873767 B CN108873767 B CN 108873767B CN 201810316039 A CN201810316039 A CN 201810316039A CN 108873767 B CN108873767 B CN 108873767B
- Authority
- CN
- China
- Prior art keywords
- time
- correction
- data
- 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.)
- Active
Links
Images
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/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/0423—Input/output
-
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/40—Data acquisition and logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/14—Time supervision arrangements, e.g. real time clock
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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
- 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/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25257—Microcontroller
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
一种控制装置、时间戳修正方法以及记录介质,能够取得被赋予了准确的时间戳的数据。数据被记录于内嵌于PLC(100)的时间序列数据库(102b)。另外,定期访问NTP服务器等的时刻服务器(400)来校正PLC(100)的本地时钟。此时,将时刻校正量与用于识别各次校正处理的NTP‑ID建立对应地记录于NTP日志(102a)。当查询到来时,将对应的NTP‑ID的时刻校正量进行比例分配来修正与所指定的时间范围对应的记录的时间戳。
Description
技术领域
本发明的实施方式涉及例如能够应用于FA(Factory Automation:工厂自动化)的控制装置、时间戳修正方法以及记录介质。
背景技术
工厂、物流据点等的多数具备用于控制多种多样的设备(facilities)、机械(machines)的控制系统。通过适当运用控制系统、控制装置,能够实现省力化、作业的高效化。可编程逻辑控制器(Programmable Logic Controller:PLC)作为还可耐严酷的环境的控制装置而有名。
PLC具有处理器及存储器,是按照程序进行动作的计算机。与PLC的程序设计语言相关的研究由IEC SC65B/WG7/TF3主导,1993年,发布了国际标准“IEC 61131-3”。该标准是规定包括以往作为主体的梯形图语言的“四种语言+一种要素”的标准,近年的PLC按照该标准而被开发。在IEC 61131-3中有被称为POU(Program Organization Unit:程序组织单元)的程序的单位。POU能够包括一个或多个与接近于面向对象语言的类的概念的、函数或者方法相当的FB(Function Block:功能块)。
然而,近年的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:日本专利特开2015-201194号公报
发明内容
发明所要解决的技术问题
如以上所述的那样,探讨了在控制装置中构建时间序列数据库,对以高的频率收集到的数据附上时间戳并存积。但是,存在如下担忧:针对数据收集循环,内部时钟的精度不够,在控制装置间时间戳发生偏差。例如,为了提高事后的数据解析的可靠性、精度、机器学习或者数据总合的精度,也期望提高数据的时间戳的精度。
本发明是着眼于上述情况而作出的,其目的在于,提供能够取得被赋予了准确的时间戳的数据的控制装置、时间戳修正方法、程序以及数据结构。
用于解决技术问题的手段
为了达成上述的目的,在本发明中采取以下那样的手段。
本发明的第一方式以如下方式构成,具备:本地时钟,提供成为时间戳的基准的本地时刻;校正部,反复执行本地时刻的校正处理;存储部,存储每个校正处理的时刻校正量;数据收集部,收集与控制对象有关的数据;数据库,以带时间戳的方式存积该收集到的数据;提取部,从数据库提取与由向数据库的查询所指定的期间对应的数据;修正部,基于时刻校正量来修正该提取出的数据的时间戳;以及响应部,向查询的发出源送回带该修正后的时间戳的数据。
根据这样的构成,例如使定期执行的本地时刻的校正处理的各次的时刻校正量存储于存储部。由数据收集部收集与控制对象有关的数据以带有时间戳的方式存积于数据库。当接收到向数据库的查询时,从数据库提取与由该查询所指定的期间对应的数据。通过修正部,基于上述时刻校正量来修正所提取出的数据的时间戳。然后,向查询的发出源送回带修正过的时间戳的数据。
由此,附随于从数据库读出的数据的时间戳在送回查询源之前被修正。也就是说,对因内部时钟所产生的误差引起的时间戳的偏差进行修正,因此,能够取得伴有准确的时间戳的数据。
本发明的第二方式以如下方式构成,使存储部将每个校正处理的时刻校正量与用于识别各个校正处理的识别符建立对应地存储,数据库存积记录,记录包括带时间戳的数据和针对该数据的时间戳的由来的本地时刻的校正处理的识别符,修正部取得与包括提取出的数据的记录中所包括的识别符对应的时刻校正量,修正部基于该取得的时刻校正量来修正提取出的数据的时间戳。
根据这样的构成,校正处理中的时刻校正量与各次的识别符建立对应地被存储。带时间戳的数据与带来成为该时间戳的依据的本地时刻的校正处理的识别符以组的方式存积于数据库。修正部参照包括所提取出的数据的组(记录)的识别符来取得时刻校正量,并基于其值来修正时间戳。
也就是说,时间戳和对用于修正该时间戳的时刻校正量的参照(识别符)以一组的方式存积于数据库。通过使用这样的数据结构,时间戳的修正所涉及的处理变简单,能够得到安装的容易度或者处理时间的缩短等的效果。
本发明的第三方式以如下方式构成,修正部基于以执行了校正处理的时刻为基准而内插有取得的时刻校正量的值来修正时间戳。
根据这样的构成,时间戳以执行了其源头的本地时刻的校正处理的时刻为基准,基于内插有对应的时刻校正量的值被修正。例如,假设以二十四小时为间隔执行校正处理,期间的时刻校正量为0.6msec。该情况下,从上次的校正处理在十二小时之后附有的时间戳被修正0.3msec。同样地,若是八小时后的时间戳,则该修正量为0.2msec。
即,时间戳以自上次的经过时间为比例对时刻校正量进行分配了的值进行校正。由此,能够明显地细化时间戳的修正的有效数字的位数,能够飞跃性地提升精度。
本发明的第四方式以如下方式构成,数据库是用于响应包括期间的指定的查询而设计出的时间序列数据库。
这样,通过在时间序列数据库存积数据,能够提高对指定了时间范围的查询的响应性。
本发明的第五方式以如下方式构成,校正部访问提供全球时刻的时刻服务器而执行本地时刻的校正处理。
根据这样的构成,通过访问例如NTP服务器并参照全球时刻,能够在全世界统一的基准的基础下修正时间戳。
本发明的第六方式以如下方式构成,数据收集部以比由校正部进行的校正处理的频率高的频率收集与控制对象有关的数据。
根据这样的构成,例如也能够应用于数据收集循环为数msec指令的系统。
本发明的第七方式以如下方式构成,还具备学习部,学习部通过使用了每个校正处理的时刻校正量的反馈学习来创建与校正处理的精度有关的学习数据,校正部参照该创建的学习数据来校正本地时刻。。
根据这样的构成,通过学习部来创建与过去的校正处理的精度有关的学习数据,参照学习数据校正本地时刻。因此,内部时钟本身的精度提升,进而也能够提高时间戳的精度。
本发明的第八方式以如下方式构成,还具备判定部,判定部判定本地时刻的校正处理的妥当性,校正部使由判定部判定为不妥当的校正处理无效。
根据这样的构成,例如在时刻校正量振荡的情况下、或者在以错误的时间区间设定执行了校正处理的情况下,由判定部对该情况进行判定,并使校正处理无效。因此,能够防止错误地进行了校正处理的状态持续。
本发明的第九方式以如下方式构成,是存积于在具备时钟的装置中设置的数据库的记录的数据结构,该数据结构包括与装置的控制对象有关的数据、赋予给数据的时间戳、以及用于识别由时钟提供的时刻的校正处理的识别符。
通过使用这样的数据结构,能够与各个数据以及时间戳总括起来管理由哪个校正处理校正了时刻这一信息。也就是说,时刻的校正处理例如周期性(每一小时、每十二小时或者每二十四小时)地实施,能够通过连续号码等区别各次校正处理。记录包括该连续号码(识别符的一例),从而能够确定各记录的时间戳是来自由哪个校正处理进行了校正的时刻。利用该情况,能够适当计算时间戳的校正量。
发明效果
根据本发明,能够提供能够取得赋予了准确的时间戳的数据的控制装置、时间戳修正方法、程序以及数据结构。
附图说明
图1是示出包括实施方式所涉及的控制装置的控制系统的一例的图。
图2是示出实施方式所涉及的控制系统的一例的框图。
图3是示出计算机200的硬件构成的一例的框图。
图4是示出计算机200的软件构成的一例的框图。
图5是示出PLC100的一例的框图。
图6是示出NTP日志102a的一例的图。
图7是示出时间序列数据库102b的一例的图。
图8是示出实施方式所涉及的块之间的数据流的一例的示意图。
图9是示出实施方式所涉及的处理顺序的一例的序列图。
图10是示出修正过时间戳的数据的一例的图。
附图标记说明:
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...I/O块;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...Shell;107...应用;110...内部总线;200...计算机(PC);201...数据挖掘工具;201a...查询程序;201b...数据挖掘程序;201c...可视化程序;202...机械学习参数设定工具;202a...PLC变量访问程序;203...OS;300...网络;400...时刻服务器;1000...据点。
具体实施方式
图1是示出包括实施方式的控制装置的控制系统的一例的图。控制系统设置于例如工厂、物流仓库等的据点1000。控制系统具备作为控制装置的一例的PLC100以及经由LAN(Local Area Network:局域网)3而能够通信地连接于该PLC100的计算机(PC)200。
例如,能够从CD-ROM等的记录媒体30将用于使PC200执行实施方式所涉及的顺序、方法的命令的程序安装于PC200。CD-ROM30是以可以读取计算机及其他装置、机械等所记录的程序等的信息的方式可光学地记录该程序等的信息的介质。除此之外,也可以使用可通过电、磁、机械、化学上的作用对各种数据进行记录的介质。
PLC100连接于形成于据点1000的现场总线2。作为控制对象的一例的现场装置群8连接于现场总线2。现场装置群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所示的控制系统的一例的框图。作为一例,示出作为组合了多个单元的积块型(building block type)而知的方式的PLC100。除此之外,也已知有封装型、基底装配型的PLC。
PLC100具备电源部51、CPU块52、多个I/O块53以及特殊块54。其中CPU块52、I/O块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 OnlyMemory:只读存储器)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的控制的基础下进行动作的应用程序之一。也就是说,CPU41解释并执行从硬盘驱动器44(图3)载入至RAM43的程序,从而PC200作为数据挖掘工具201以及机器学习参数设定工具202进行动作。
数据挖掘工具201具备查询(query)程序201a、数据挖掘程序201b以及可视化程序201c。查询程序201a创建用于从时间序列(time series)数据库取得期望的数据的查询。数据挖掘程序201b基于既定的算法来处理通过查询取得到的数据,进行控制所涉及的预测处理等。可视化程序201c将数据处理的结果显示为曲线图等,承担与人的人机接口的一部分。由此,对于不具有UI(User Interface:用户接口)的PLC,也能够利用GUI(Graphical UserInterface:图形用户接口)环境。
通过这些块,数据挖掘工具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基于通用的计算机系统结构而构成。例如,芯片组104在所连接的各种构件之间交换数据,缓存基于处理器101的运算处理的结果所生成的数据等。另外,芯片组104对处理器101、存储器102以及接口部105之间的借助于内部总线110的数据的交换进行调解。
接口部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:可擦除可编程只读存储器)、EEPROM(ElectricallyErasable Programmable ROM:电可擦除可编程只读存储器)等的非易失性存储器。
作为实施方式所涉及的处理单元,处理器101具备校正部101a、数据收集部101b、提取部101c、修正部101d、响应部101e、学习部101f以及判定部101g。这些例如能够通过CPU按照控制程序102c执行的运算处理来实现。
校正部101a反复校正内部时钟103的本地时钟。即,校正部101a以例如一天一次的频率定期访问时刻服务器400(图1),执行本地时钟的校正处理。例如在类似UNIX(注册商标)那样的系统中,能够使用NTPD指令来执行时刻校正处理。使时刻校正处理的历史作为NTP日志存储于存储器102。
图6是示出存储于存储器102的NTP日志102a的一例的图。NTP日志102a是将每个校正处理的时刻校正量与用于识别各个校正处理的识别符(IDentification:ID)建立对应地进行表格化后的数据库。此外,如所图示那样,也可以结合执行了校正处理的时间点的时间戳进行记录。参照时间戳的间隔,可知以一小时周期执行本地时钟的校正处理。例如,ID=344的时刻校正量为+0.305sec(秒)。
需要说明的是,如果通过安装于PLC100的OS(Operating System)创建系统日志,则也能够从该系统日志提取需要的信息并创建NTP日志102a。
数据收集部101b例如以毫秒或者微秒的周期收集与控制对象有关的数据。所收集到的数据例如被赋予收集到的时间点的时间戳而被存积于存储器102的时间序列数据库。
图7是示出存储于存储器102的时间序列数据库102b的一例的图。时间序列数据库102b是用于响应向包括期间的指定的查询而设计出的数据库,能够作为PLC100的内嵌数据库而利用。如图7所示,时间序列数据库102b是与索引(Index)建立对应地记录有多个记录(record)的数据库。
各记录包括从数据收集部101b传输来的带时间戳的数据(数据1、数据2)和针对这些数据的时间戳由来的本地时钟的校正处理的ID(NTP-ID)。也就是说,实施方式所涉及的记录具有如下数据结构:包括与PLC100的控制对象有关的数据、其时间戳和用于识别本地时钟的校正处理的ID。此外,在记录中也可以包括计数器值(Counter)。计数器值例如是自本地时钟脉冲的基准时刻的计数值。
在图7中,最下段的索引154的记录的时间戳是“2017-03-03-09:00:00.014”。该时间戳应该在某一时间点基于校正了的本地时钟而被赋予,且用于区别该校正处理的栏是NTP-ID。索引154的NTP-ID是“344”,参照图6,可知其时间戳“2017-03-03-09:00:00.014”由来的本地时钟在“2017-03-03-09:00:00.014”的时间点被校正了。
也就是说,索引154正是示出在执行了时刻校正的该时间点所取得到的数据。但是,随着时间经过,在时间戳中积累误差。在实施方式中公开用于应对其的技术。
返回图5继续说明。提取部101c从时间序列数据库102b提取与由向时间序列数据库102b的查询所指定的期间对应的数据。修正部101d基于NTP日志102a的时刻校正量来修正提取出的数据的时间戳。
响应部101e将带修正过的时间戳的数据朝向查询的发出源送回。需要说明的是,查询的送出源可以是PLC其自身的程序(服务),或也可以是PC200,此外还可以是其上位的服务器等。
学习部101f通过使用了每个校正处理的时刻校正量的反馈学习来创建与校正处理的精度有关的学习数据。所创建的学习数据(学习数据102d)存储于存储器102。校正部101a可以参照该学习数据102d来执行本地时钟的校正处理。
判定部101g判定本地时钟的校正处理的妥当性。例如,当由判定部判定为校正处理不妥当时,校正部101a使该校正处理无效。例如,有时时刻校正量振荡,或通过未预料到的错误而以错误的时间区间设定执行了校正处理。通过设置判定部101g,能够防止这样的问题。
需要说明的是,校正部101a、数据收集部101b、提取部101c、修正部101d、响应部101e、学习部101f以及判定部101g例如能够作为在PLC程序IDE上开发的POU或者FB而安装。POU是IEC 61131-3中的程序的执行模式的单位。在POU中,作为构成用户程序整体的基本单位,具有记述算法和本地变量表格的程序、FB、应用三种。
应用是在创建运算处理等针对输入而唯一确定输出的部件时所使用的POU。FB是在创建计时器、计数器等根据状态针对相同的输入输出而有时不同的部件时所使用的POU。程序是与功能以及FB并列的三个种类POU的一个种类,被分派任务而进行动作。
图8是示出在实施方式所涉及的块之间的数据流程的一例的示意图。使模拟数据(Analog)、数字数据(Digital)、编码器(Encoder)的旋转量或者轴(Axis)的角度数据等的数据在接口部105中数据化为既定的格式。该数据通过控制程序102c进行的数据收集处理(数据收集部101b)而被输入PLC100,并映射为变量值。
数据收集部101b对变量值赋予时间戳,并写入时间序列数据库102b。该操作通过例如由SQL句法中的PUT向时间序列数据库102b的Shell106传输数据来实现。该处理相当于针对关系数据库(RDB)的INSERT。
此外,若从应用107向Shell106发送查询(Query),由该查询所指定的数据被提取。这样,时间序列数据库102b也可以具备作为对来自程序的插入依次响应的守护进程(Daemon)的一方面。
此外,也能够将时间序列数据库102b复制于例如存储器卡等,经由数据连接器(Data Connector)向PC200传输期望的时间序列数据(传感器输入、控制值、输出值等)。PC200能够使用所取得到的时间序列数据进行时间序列分析、数据挖掘等的处理。接下来,以上述构成为基础对实施方式中的作用进行说明。
图9是示出实施方式的处理顺序的一例的序列图。在图9中,校正部101a定期执行本地时钟的时刻校正(步骤S1)。每当执行时刻校正处理时,其历史被记录于NTP日志(步骤S2)。也就是说,时刻校正量和NTP-ID记录于NTP日志102a。另外,与NTP日志201a相同的ID也被写入时间序列数据库102b(图7)的NTP-ID栏(步骤S3)。
例如,假设从图8的应用107分配作为时间范围而指定了“2017-03-03-08:00”的查询(步骤S4)。这样一来,Shell106(图8)读出向时间序列数据库102b的数据,开始程序(步骤S5)。与此对应地,修正时间戳之前的数据(RAW数据)从时间序列数据库102b被读出并被传输至修正部101d(步骤S6)。
另外,修正部101d从校正部101a取得校正信息(步骤S7)。也就是说,修正部101d从NTP日志102a取得与查询的时间范围对应的NTP-ID和其时刻校正量。修正部101d以这些信息为依据来修正提取出的数据的时间戳(步骤S8)。
假设分配了图7的包括索引1~4的记录的时间范围的查询。当着眼于记录4时,RAW数据的时间戳是“2017-03-03-08:00:00.015”,NTP-ID是343。因此,修正部101d从NTP日志102a取得与ID=343对应的时刻校正量0.205。
修正部101d将所取得到的时刻校正量0.205除以NTP的动作间隔(例如一小时),计算每单位时间(例如一微秒)的时刻偏差量。例如,能够通过下式(1)来计算每单位时间的时刻偏差量。
时刻偏差量/时间=0.205/(60×60)…(1)
或也可以如下式(2)那样,根据NTP日志102a(图6)的时间戳计算NTP的时间间隔。
时刻偏差量/时间=0.205/(“2017-03-03-09:00:00.014”-“2017-03-03-08:00:00.035”)…(2)
接下来,修正部101d将每单位时间的时刻偏差量与自NTP动作时刻的经过时间相乘,计算应该应用于各记录的时刻校正量。例如,对于记录4,自NTP动作时刻的经过时间=(“2017-03-03-08:00:00.015”-“2017-03-03-07:00:00.148”)。如下式(3)那样,能够将其与时刻偏差量/时间相乘,算出时刻修正量。
时刻修正量=时刻偏差量/时间×自NTP动作时刻的经过时间…(3)
总之,使用式(1)~(3)所说明的那样的计算简单来说是比例分配。也就是说,修正部101d基于以执行了NTP处理的时刻为基准而内插有所取得到的时刻校正量的值来修正各记录的时间戳。
图10是示出送回至查询源的、修正过时间戳的状态的数据的一例的图。可知记录4的时间戳被修正为“2017-03-03-08:00:00.016”。
如以上所说明的那样,在该实施方式中,将数据记录在内嵌于PLC100的时间序列数据库102b中。另外,定期访问NTP等的时刻服务器400来校正PLC100的本地时钟。此时,将时刻校正量与用于识别各次校正处理的NTP-ID建立对应地记录于NTP日志102a。当查询到来时,将对应的NTP-ID的时刻校正量进行比例分配来修正与所指定的时间范围对应的记录的时间戳。
这样之后,可使修正过时间戳的状态的数据返回至查询的送出源。也就是说,能够输出准确的时间戳。因此,能够基于准确的时刻信息实施数据解析。因此,例如,能够得到伺服马达的扭矩修正的精度提高、数据数据的时间序列解析的精度提高等的效果。
另外,在实施方式中,由于原始的二进制数据(RAW数据)的时间戳不被,因此能够一直原样地保持所产生的数据。
另外,由于设为通过学习部101f从时刻校正的统计信息对误差的校正精度进行反馈学习,因此能够实现更适当的时刻校正。此外,通过判定部101g判定时刻校正处理的妥当性,在时刻校正不妥当的情况下,使校正无效。因此,也不会一直持续产生了时刻偏差的状态。
综上来看,根据该实施方式,能够提供可取得赋予了准确的时间戳的数据的控制装置、时间戳修正方法、程序以及数据结构。
需要注意的是,本发明并不限定于上述实施方式。例如,能够将实施方式所涉及的PLC100的程序记录于记录介质,也能够经由网络来提供。
与计算机关联使用的“处理器”这一用语例如可理解为CPU、GPU(GraphicsProcessing 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)
一种时间戳修正方法,具备:
使用至少一个处理器来反复执行由本地时钟提供的本地时刻的校正处理的过程;
使用至少一个处理器使存储部存储每个所述校正处理的时刻校正量的过程;
使用至少一个处理器来收集与控制对象有关的数据的过程;
使用至少一个处理器将该收集到的数据以带有以所述本地时刻为基准的时间戳的方式存积于数据库的过程;
使用至少一个处理器从所述数据库提取与由向所述数据库的查询所指定的期间对应的数据的过程;以及
使用至少一个处理器基于所述时刻校正量来修正该提取出的数据的时间戳的过程。
Claims (9)
1.一种控制装置,其特征在于,具备:
本地时钟,提供成为时间戳的基准的本地时刻;
校正部,反复执行所述本地时刻的校正处理;
存储部,存储每个所述校正处理的时刻校正量;
数据收集部,收集与控制对象有关的数据;
数据库,以带所述时间戳的方式存积该收集到的数据;
提取部,从所述数据库提取与由向所述数据库的查询所指定的期间对应的数据;
修正部,将所述时刻校正量除以所述校正处理的动作间隔来计算每单位时间的时刻偏差量,将每单位时间的时刻偏差量与所述校正处理的经过时间相乘,计算时刻修正量,从而修正该提取出的数据的时间戳;以及
响应部,向所述查询的发出源送回带该修正后的时间戳的数据,
所述校正部访问提供全球时刻的时刻服务器而执行所述本地时刻的校正处理,
所述时刻服务器是所述控制装置的外部装置。
2.根据权利要求1所述的控制装置,其特征在于,
所述存储部将每个所述校正处理的时刻校正量与用于识别各个校正处理的识别符建立对应地存储,
所述数据库存积记录,所述记录包括带所述时间戳的数据和针对该数据的时间戳的由来的本地时刻的校正处理的所述识别符,
所述修正部取得与包括所述提取出的数据的记录中所包括的所述识别符对应的时刻校正量,
所述修正部基于该取得的时刻校正量来修正所述提取出的数据的时间戳。
3.根据权利要求2所述的控制装置,其特征在于,所述修正部基于以执行了所述校正处理的时刻为基准而内插有所述取得的时刻校正量的值来修正所述时间戳。
4.根据权利要求1所述的控制装置,其特征在于,所述数据库是用于响应包括所述期间的指定的查询而设计出的时间序列数据库。
5.根据权利要求1所述的控制装置,其特征在于,所述数据收集部以比由所述校正部进行的所述校正处理的频率高的频率收集与控制对象有关的数据。
6.根据权利要求1所述的控制装置,其特征在于,
所述控制装置还具备学习部,所述学习部通过使用了每个所述校正处理的时刻校正量的反馈学习来创建与所述校正处理的精度有关的学习数据,
所述校正部参照该创建的学习数据来校正所述本地时刻。
7.根据权利要求1所述的控制装置,其特征在于,
所述控制装置还具备判定部,所述判定部判定所述本地时刻的校正处理的妥当性,
所述校正部使由所述判定部判定为不妥当的校正处理无效。
8.一种时间戳修正方法,其特征在于,具备:
反复执行由本地时钟提供的本地时刻的校正处理的过程;
使存储部存储每个所述校正处理的时刻校正量的过程;
收集与控制对象有关的数据的过程;
将该收集到的数据以带有以所述本地时刻为基准的时间戳的方式存积于数据库的过程;
从所述数据库提取与由向所述数据库的查询所指定的期间对应的数据的过程;
将所述时刻校正量除以所述校正处理的动作间隔来计算每单位时间的时刻偏差量,将每单位时间的时刻偏差量与所述校正处理的经过时间相乘,计算时刻修正量,从而修正该提取出的数据的时间戳的过程;以及
向所述查询的发出源送回带修正后的时间戳的数据的过程,
访问提供全球时刻的时刻服务器而执行所述本地时刻的校正处理。
9.一种记录介质,其特征在于,存储有包括用于使计算机执行权利要求8所述的时间戳修正方法的命令的程序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017092830A JP6648730B2 (ja) | 2017-05-09 | 2017-05-09 | 制御装置、タイムスタンプ修正方法およびプログラム |
JP2017-092830 | 2017-05-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108873767A CN108873767A (zh) | 2018-11-23 |
CN108873767B true CN108873767B (zh) | 2022-04-12 |
Family
ID=62116195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810316039.2A Active CN108873767B (zh) | 2017-05-09 | 2018-04-10 | 控制装置、时间戳修正方法以及记录介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11144534B2 (zh) |
EP (1) | EP3410321A1 (zh) |
JP (1) | JP6648730B2 (zh) |
CN (1) | CN108873767B (zh) |
Families Citing this family (10)
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 | 核桃运算股份有限公司 | 数据查询装置、方法及其计算机存储介质 |
JP7375532B2 (ja) * | 2019-12-25 | 2023-11-08 | オムロン株式会社 | 制御システム |
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 | 湖北泰跃卫星技术发展股份有限公司 | 一种在数据中台中基于气象变化对视频时间校准方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101133401A (zh) * | 2005-02-28 | 2008-02-27 | 富士通株式会社 | 时间戳装置、时刻校正方法、以及时刻校正程序 |
CN104380632A (zh) * | 2012-06-26 | 2015-02-25 | 马维尔国际贸易有限公司 | 用于精确加时间戳的方法和装置 |
CN105745604A (zh) * | 2013-11-03 | 2016-07-06 | 微软技术许可有限责任公司 | 传感器数据时间校准 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006092833A1 (ja) | 2005-02-28 | 2006-09-08 | Fujitsu Limited | タイムスタンプ装置、時刻校正方法および時刻校正プログラム |
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 |
US9142049B2 (en) * | 2013-04-30 | 2015-09-22 | Splunk Inc. | Proactive monitoring tree providing distribution stream chart with branch overlay |
JP6550867B2 (ja) | 2014-04-03 | 2019-07-31 | 富士電機株式会社 | タイムスタンプ付データ管理システム、その装置、プログラム |
-
2017
- 2017-05-09 JP JP2017092830A patent/JP6648730B2/ja active Active
-
2018
- 2018-04-10 CN CN201810316039.2A patent/CN108873767B/zh active Active
- 2018-04-13 US US15/952,378 patent/US11144534B2/en active Active
- 2018-04-18 EP EP18168028.1A patent/EP3410321A1/en not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101133401A (zh) * | 2005-02-28 | 2008-02-27 | 富士通株式会社 | 时间戳装置、时刻校正方法、以及时刻校正程序 |
CN104380632A (zh) * | 2012-06-26 | 2015-02-25 | 马维尔国际贸易有限公司 | 用于精确加时间戳的方法和装置 |
CN105745604A (zh) * | 2013-11-03 | 2016-07-06 | 微软技术许可有限责任公司 | 传感器数据时间校准 |
Also Published As
Publication number | Publication date |
---|---|
JP6648730B2 (ja) | 2020-02-14 |
JP2018190216A (ja) | 2018-11-29 |
CN108873767A (zh) | 2018-11-23 |
EP3410321A1 (en) | 2018-12-05 |
US11144534B2 (en) | 2021-10-12 |
US20180329942A1 (en) | 2018-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108873767B (zh) | 控制装置、时间戳修正方法以及记录介质 | |
CN108572613B (zh) | 控制装置、信息处理方法 | |
CN109143989B (zh) | 控制系统、控制装置、结合方法以及记录介质 | |
EP3373087B1 (en) | Control device and program | |
EP3382480B1 (en) | Controller | |
JP2018133037A (ja) | 制御装置 | |
EP3376320A1 (en) | Control device | |
US12072685B2 (en) | Data collection system and motor controller | |
Mikolajek et al. | Data trends in industry automation using. net framework | |
WO2020166432A1 (ja) | 制御装置、制御プログラムおよび制御システム | |
JP7380390B2 (ja) | 制御装置、プログラムおよび制御方法 | |
EP3696626B1 (en) | Communication system, communication method, and program | |
JP6653088B1 (ja) | 産業機器のデータ収集システム及びモータ制御装置 | |
CN113970910A (zh) | 一种数字孪生装备构建方法和系统 | |
CN111949653A (zh) | 一种基于数据仓库hive的工业离线计算调度方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |