CN108572612B - 控制装置以及非易失性存储媒体 - Google Patents

控制装置以及非易失性存储媒体 Download PDF

Info

Publication number
CN108572612B
CN108572612B CN201810029515.2A CN201810029515A CN108572612B CN 108572612 B CN108572612 B CN 108572612B CN 201810029515 A CN201810029515 A CN 201810029515A CN 108572612 B CN108572612 B CN 108572612B
Authority
CN
China
Prior art keywords
data
time
database
control device
control
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
Application number
CN201810029515.2A
Other languages
English (en)
Other versions
CN108572612A (zh
Inventor
江口重行
西山佳秀
太田政则
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
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 filed Critical Omron Corp
Publication of CN108572612A publication Critical patent/CN108572612A/zh
Application granted granted Critical
Publication of CN108572612B publication Critical patent/CN108572612B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • 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/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • 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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • 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/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1103Special, intelligent I-O processor, also plc can only access via processor
    • 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/24Pc safety
    • G05B2219/24055Trace, store a working, operation history
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Programmable Controllers (AREA)

Abstract

本发明提供一种控制装置以及非易失性存储媒体,既能维持控制运算的循环执行,又能实现与控制运算的执行周期一致的数据存储。控制装置包括:处理部,以预定的执行周期来循环执行控制运算,所述控制运算包含收集来自现场装置的输入数据、依照预定的用户程序来算出基于输入数据的输出数据、及输出所算出的输出数据;数据库,依时间序列来存储处理部所管理的数据中的经指定的数据;以及数据写入部件,用于以与循环执行控制运算的执行周期相同的周期,来执行对数据库的数据写入。

Description

控制装置以及非易失性存储媒体
技术领域
本发明涉及一种具有依时间序列来存储数据(data)的数据库(database)的控制装置以及非易失性存储媒体。
背景技术
在各种生产现场,使用可编程逻辑控制器(Programmable Logic Controller,PLC)(可编程逻辑控制器)等控制装置的工厂自动化(Factory Automation,FA)技术已得到广泛普及。有事后对此类控制装置所处理的数据进行解析的需求(needs)。
例如,日本专利特开2004-199670号公报(专利文献1)揭示了一种能够从PLC的中央处理器(Central Processing Unit,CPU)单元切实且高速地收集数据的数据收集装置。更具体而言,专利文献1揭示了一种连接于PLC的PLC总线(bus)而从CPU单元收集输入输出(Input Output,IO)数据的数据收集装置。
由于信息和通信技术(Information and Communication Technology,ICT)的进步,控制装置中逐渐能够收集及存储大量的数据。例如,日本专利特开2015-005062号公报(专利文献2)揭示了一种可编程逻辑控制器,其在数据写入次数无上限的非易失性存储装置即非易失性存储器上,在存储器上地(on memory)构建有数据库。
[现有技术文献]
[专利文献]
专利文献1:日本专利特开2004-199670号公报
专利文献2:日本专利特开2015-005062号公报
发明内容
[发明所要解决的问题]
一般而言,数据库中收集到的数据用于事后的分析或解析等。因此,即使在采用如上所述利用内置于控制装置的数据库来收集大量数据的配置时,也需要使事后的分析或解析变得容易的机制。
本发明的一个目的在于,为了实现如上所述的需求,提供一种配置,既能维持控制运算的循环(cyclic)执行,又能实现与控制运算的执行周期一致的数据存储。
[解决问题的技术手段]
依据本发明的一方案的控制装置包括:处理部,以预定的执行周期来循环执行控制运算,所述控制运算包含收集来自现场装置的输入数据、依照预定的用户程序来算出基于输入数据的输出数据、及输出所算出的输出数据;数据库,依时间序列来存储处理部所管理的数据中的经指定的数据;以及数据写入部件,用于以与循环执行所述控制运算的执行周期相同的周期,来执行对数据库的数据写入。
优选的是,循环执行的控制运算包含对数据库发布数据写入请求的处理,数据写入部件包括缓冲器(buffer),所述缓冲器受理数据写入请求,并且对数据写入请求进行排队(queueing)。在控制运算中,当发布数据写入请求时,继续执行下个处理而不等待所述数据写入完成。
优选的是,在数据写入部件中,构建有数据写入请求来源(Publisher)与数据接收目的地(Subscriber)的逻辑关系。
优选的是,数据写入部件是与控制运算非同步地在后台(background)执行处理。
优选的是,控制装置是与彼此经时刻同步的现场装置连接,对于存储在数据库中的数据,赋予有由现场装置收集到所述数据的时刻信息。
优选的是,在数据库中,存储将时刻信息设为键(Key)、将对应的数据的值设为值(Value)的键-值(Key-Value)贮存(storage)型记录(record)。
优选的是,控制装置从所连接的一个或多个其他控制装置的各个,汇集各控制装置所具有的数据库中所保存的数据。
优选的是,控制装置是与具有彼此经时刻同步的数据库的其他控制装置连接,且配置有外部装置,所述外部装置对控制装置的数据库及其他控制装置的数据库中分别存储的数据进行汇集。
优选的是,控制装置还包括:检索处理部,处理针对数据库中所存储的数据的检索请求。
优选的是,控制装置还包括:调停处理部,对检索请求的处理进行调停,以维持以与执行周期相同的周期来对数据库进行数据写入。
根据本发明的另一方面,提供一种非易失性存储媒体,记录有计算机能够读取的程序,程序用于实现控制装置的程序。程序使计算机(computer)执行下述步骤:以预定的执行周期来循环执行控制运算,所述控制运算包含收集来自现场装置的输入数据、依照预定的用户程序来算出基于输入数据的输出数据、及输出所算出的输出数据。计算机具备数据库,所述数据库依时间序列来存储通过控制运算而管理的数据中的经指定的数据。程序使计算机执行下述步骤:以与循环执行控制运算的执行周期相同的周期,来执行对数据库的数据写入。
[发明的效果]
根据本发明,既能维持控制运算的循环执行,又能实现与控制运算的执行周期一致的数据存储。
附图说明
图1是表示本实施方式的控制系统的整体配置的范例的示意图。
图2是表示构成本实施方式的控制系统的控制装置的硬件配置的范例的框图。
图3是表示构成本实施方式的控制系统的控制装置的软件配置的范例的框图。
图4是概略表示本实施方式的控制装置中所安装的时间序列数据库的数据结构的示意图。
图5是用于说明本实施方式的控制装置中的循环执行处理、及对时间序列数据库的写入处理的示意图。
图6(A)及图6(B)是表示将应用程序关联于本实施方式的控制装置的时间序列数据库时的安装范例的框图。
图7是说明本实施方式的控制装置的与对时间序列数据库的存取相关的功能的框图。
图8是表示本实施方式的控制装置中的从现场装置群进行的数据收集的配置例的示意图。
图9是用于说明本实施方式的控制装置中的时间序列数据的收集处理的示意图。
图10是用于说明本实施方式的控制装置中的时间序列数据的统合处理的示意图。
图11是用于说明与本实施方式的控制装置连接的外部装置中的时间序列数据的统合处理的示意图。
[符号的说明]
1:控制系统
2:第一现场总线
4:第二现场总线
6:现场装置群
8:主机/控制器间通信网络
12:远程I/O装置
14:继电器群
16、124-1、124-2:I/O单元
18:图像传感器
20:摄像机
22:伺服驱动器
24:伺服马达
61:输出设备
62:输入设备
100、100-1、100-2、100-3:控制装置
102:处理器
104:芯片组
106:主存储装置
108:次要存储装置
110:网络控制器
112:USB控制器
114:存储卡接口
116:存储卡
118、120:现场总线控制器
122:局域总线控制器
150:PLC引擎
152:控制程序
154:用户程序
156:数据库写入程序
158:串行化通信程序
160:系统程序
162:调度程序
164:输入程序
166:输出程序
168、611、621:时刻管理部
170:输入/输出处理部
172:数据写入请求来源
174:数据接收目的地
176:缓冲器
180、180-1、180-2、180-3:时间序列数据库
182:数据库存取调停处理部
184:数据存储处理部
186:数据检索处理部
188:内置贮存器
189:外置贮存器
190、210:应用程序
192:程序
200:支持装置
300:显示装置
400:主机系统
1541:序列运算
1542:运动运算
具体实施方式
对于本发明的实施方式,参照附图来进行详细说明。另外,对于图中相同或相当的部分标注相同的符号,并不再重复其说明。
<A.控制系统的整体配置的范例>
首先,对包含本实施方式的控制装置的控制系统1的整体配置的范例进行说明。
图1是表示本实施方式的控制系统1的整体配置的范例的示意图。参照图1,本实施方式的控制系统1包含对控制对象进行控制的控制装置100、及连接于控制装置100的支持装置200,以作为主要的构成要素。
控制装置100也可由PLC(可编程逻辑控制器)等一种计算机而具现化。控制装置100经由第一现场总线(field bus)2而与现场装置群6连接,并且经由第二现场总线4而与一个或多个显示装置300连接。控制装置100经由各个总线或网络,而在与所连接的装置之间交换数据。
控制装置100具有执行用于控制制造装置或设备的各种运算的控制运算功能。除了控制运算功能以外,控制装置100还具有用于获取数据的输入/输出功能以及时间序列数据库180,所述输入/输出功能所获取的数据是指获取由现场装置群6所测量并转发至控制装置100的数据(以下也称作“输入数据”)或通过控制运算功能所算出的各种数据。另外,以下的说明中,将“数据库”也记作“DB”。时间序列数据库180如后所述那样,依时间序列来存储通过输入/输出功能而获取的各种数据。
第一现场总线2及第二现场总线4优选采用保证数据到达时间的固定周期通信的总线或网络。作为此种进行固定周期通信的总线或网络,已知有以太网控制自动化技术(EtherCAT)(注册商标)、以太网/互联网协议(EtherNet/IP)(注册商标)、设备网(DeviceNet)(注册商标)、混合网(CompoNet)(注册商标)等。
现场装置群6包含从控制对象或与控制相关的制造装置或生产线等(以下也总称作“现场”)收集输入数据的装置。作为此种收集输入数据的装置,例如有输入继电器(relay)或各种传感器(sensor)(例如模拟传感器、温度传感器、振动传感器等)等。现场装置群6进而包含基于控制装置100所生成的指令(以下也称作“输出数据”)来对现场施以某些作用的装置。作为此种对现场施以某些作用的装置,例如有输出继电器、接触器(contactor)、伺服驱动器(servo driver)及伺服马达(servo motor)、其他任意执行器(actuator)。
如此,控制装置100的控制运算功能从控制对象获取输入数据,并且执行基于所获取的输入数据的控制运算,由此来决定对控制对象的输出数据。
现场装置群6经由第一现场总线2而与控制装置100交换包含输入数据及输出数据的数据。在图1所示的配置例中,现场装置群6包含远程(remote)输入/输出(Input/Output,I/O)装置12、继电器群14、图像传感器(sensor)18及摄像机(camera)20、伺服驱动器22及伺服马达24。现场装置群6并不限定于这些,任何能够收集输入数据的设备、或能够实现基于输出数据的某些作用(action)的设备都可以被采用。
远程I/O装置12包含经由第一现场总线2来进行通信的通信部、及用于获取输入数据及输出输出数据的输入/输出部(以下也称作“I/O单元”)。输入数据及输出数据经由此种I/O单元在控制装置100与现场之间交换。图1中,表示了经由继电器群14来交换作为输入数据及输出数据的数字信号的示例。
I/O单元也可直接连接于现场总线或现场网络。图1中表示I/O单元16直接连接于第一现场总线2的示例。
图像传感器18对由摄像机20所拍摄的图像数据,进行图案匹配(patternmatching)等图像测量处理,并将其处理结果发送至控制装置100。
伺服驱动器22依据来自控制装置100的输出数据(例如位置指令或速度指令等),来驱动伺服马达24。
如上所述,经由第一现场总线2而在控制装置100与现场装置群6之间交换数据,但这些交换的数据将以数百微秒级(order)~数十毫秒级的极短周期而受到更新。另外,也有时将此种交换数据的更新处理称作“I/O刷新(refresh)处理”。
而且,经由第二现场总线4而与控制装置100连接的显示装置300接受来自用户的操作,对控制装置100输出与用户操作相应的命令等,并且将控制装置100中的运算结果等以图解(graphical)方式予以显示。
支持装置200是支援控制装置100对控制对象进行控制所需的准备的装置。具体而言,支持装置200提供控制装置100所执行的程序的开发环境(程序制作编辑工具、分析器(parser)、编译器(compiler)等)、用于对控制装置100及连接于控制装置100的各种设备的参数(配置(configuration))进行设定的设定环境、将所生成的用户程序输出至控制装置100的功能、以及在线(on line)修正/变更在控制装置100上执行的用户程序等的功能等。
控制装置100进而还具有网关(gateway)功能,即,将通过输入/输出功能而获取的数据和/或存储在时间序列数据库180中的数据输出至外部装置。
作为外部装置,图1中表示了经由主机/控制器间通信网络8而与控制装置100连接、像是制造执行系统等主机系统400来作为典型例。制造执行系统获取来自作为控制对象的制造装置或设备的信息,以对整个生产进行监测及管理,也可处理订单(order)信息、品质信息、出货信息等。
<B.控制装置的硬件配置的范例>
接下来,对构成本实施方式的控制系统1的控制装置100的硬件配置的范例进行说明。
图2是表示构成本实施方式的控制系统1的控制装置100的硬件配置的范例的框图。参照图2,控制装置100包含运算处理部以及一个或多个I/O单元124-1、124-2、…。
控制装置100包含处理器(processor)102、芯片组(chipset)104、主存储装置106、次要存储装置108、网络控制器110、通用串行总线(Universal Serial Bus,USB)控制器112、存储卡接口(memory card interface)114、局域总线控制器122以及现场总线控制器118、现场总线控制器120。
处理器102包含中央处理器(Central Processing Unit,CPU)或微处理器(Micro-Processing Unit,MPU)等,读出存储在次要存储装置108中的各种程序,并载入至主存储装置106中执行,由此实现对控制对象相应的控制、及如后所述的各种处理。芯片组104通过与处理器102控制各设备,从而实现控制装置100整体的处理。
在次要存储装置108中,除了用于实现基本功能的系统程序以外,还存储有根据作为控制对象的制造装置或设备而制作的用户程序。进而,利用次要存储装置108等,构成如后所述的时间序列数据库180。
网络控制器110经由主机/控制器间通信网络8,来与主机系统400(参照图1)等之间交换数据。USB控制器112经由USB连接而控制与支持装置200之间的数据交换。
存储卡接口114使存储卡116可装卸地构成,可对存储卡116写入数据,并从存储卡116读出各种数据。利用存储卡116,也可构成如后所述的时间序列数据库180。
局域总线控制器122是在与搭载于控制装置100的I/O单元124-1、124-2、…之间交换数据的接口。
现场总线控制器118对经由第一现场总线2的、与现场装置群6等之间的数据交换进行控制。同样,现场总线控制器120在经由第二现场总线4的与显示装置300等之间交换数据。
图2中,表示了通过处理器102执行程序来提供所需功能的配置的范例,但这些所提供的功能的一部分或全部也可使用专用的硬件电路(例如专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)或现场可编程门阵列(Field-Programmable GateArray,FPGA)等)来实现。或者,对于控制装置100的主要部分,也可使用符合通用架构(architecture)的硬件(例如将通用个人计算机(personal computer)作为基础(base)的工业用个人计算机)来实现。此时,也可使用虚拟技术并列地执行用途不同的多个操作系统(Operating System,OS),并且在各OS上执行所需的应用程序。
<C.控制装置的软件配置的范例>
接下来,对构成本实施方式的控制系统1的控制装置100的软件配置的范例进行说明。
图3是表示构成本实施方式的控制系统1的控制装置100的软件配置例的框图。参照图3,控制装置100包含PLC引擎(engine)150、输入/输出处理部170、时间序列数据库180及应用程序190。
PLC引擎150典型的是通过控制装置100的处理器102执行系统程序来提供各种程序的执行环境,相当于能够在所述执行环境下执行各种程序的处理部。更具体而言,PLC引擎150包含控制程序152、系统程序160及时刻管理部168。
控制程序152是用于提供与控制对象相应的各种应用程序的程序,典型的是,包含用户程序154、数据库写入程序156及串行化(serialize)通信程序158。
用户程序154相当于提供控制运算功能的主要部分,可根据作为控制装置100的控制对象的制造装置或设备等而任意构成。用户程序154可由利用功能块(function block)等的梯形逻辑(ladder logic)等来定义。图3所示的示例中,用户程序154包含序列运算1541及运动(motion)运算1542。在运动运算1542中,参照来自传感器或执行器等的输入数据以及用户程序154中所含的命令,生成对执行器的输出值。
如此,用户程序154参照控制装置100内包含通过输入程序164来更新的观测值的状态值,而更新控制装置100内的状态值来作为输出。经更新的状态值也可供输出程序166或数据库写入程序156等由控制装置100所执行的其他功能参照。一般而言,用户程序154是由控制装置100的用户(设备开发者等)使用编程工具来制作。
数据库写入程序156根据用户程序154内定义的命令而被调用,经由输入/输出处理部170来对时间序列数据库180写入经指定的数据。数据库写入程序156也可作为高优先程序而执行。
更具体而言,数据库写入程序156收集数据并向时间序列数据库180请求存储。数据库写入程序156可与用户程序154同步地执行。数据库写入程序156可赋予通过时刻管理部168而在设备间经同步的时刻信息给数据。时刻信息的具体例为,作为数据输入源的传感器进行数据输入的时刻。数据库写入程序156也可附加地具有对所收集的数据的进行加工的各种处理,例如单位转换、从多个数据中导出某些信息等。数据库写入程序156对于处理对象数据,可与收集数据同样地请求存储到时间序列数据库180中。数据库写入程序156可利用与用户程序154同样的工具来制作。或者,也可作为用户程序154的一部分而制作。也可使用其他工具来制作与用户程序154独立的数据库写入程序156。
串行化通信程序158是对从数据库写入程序156对时间序列数据库180写入的数据进行串行化处理。更具体而言,串行化通信程序158执行将时间序列数据转换为可存储的字节串的处理(串行化)。串行化通信程序158将数据库写入程序156向时间序列数据库180请求存储的数据群,转换成适合于存储至数据库及参照的格式。根据向时间序列数据库180的数据写入速度及数据容量等,未必需要进行串行化处理。即,串行化通信程序158为可选(optional)配置。
系统程序160包含调度程序(scheduler program)162、输入程序164及输出程序166。
调度程序162对于由控制装置100所执行的各个程序,基于执行条件来进行调度。即,调度程序162对构成控制程序152的一个或多个任务(task)或者进程(process)的执行顺序或执行时机进行管理。输入程序164提供下述功能,即,从经由局域总线或现场总线而与控制装置100连接的各种设备(现场装置群6)获取输入数据(例如传感器观测值或设备的状态值等)。输出程序166将由在控制装置100中执行的用户程序154所算出的指令值(输出数据)输出至经由局域总线或现场总线而连接的对象设备(现场装置群6)。
时刻管理部168是对控制装置100中的同步时机进行管理的主体,例如使用以规定周期进行增计数(count up)/减计数(count down)的计数器(counter)或者定时器(timer)而实现。时刻管理部168也可具有用于与其他计数器或定时器进行同步的功能,此时,可与位于局域总线上、现场总线上或者现场网络上的设备上的计数器或者定时器进行同步。除了局域总线上、现场总线上或者现场网络上的设备以外,时刻管理部168还可与经其他网络连接的设备高精度(例如微秒级)地共有时刻。此时刻成为传感器/执行器的输入/输出的执行时机或控制装置100中的程序执行时机的基准。
输入/输出处理部170对来自PLC引擎150的向时间序列数据库180的数据写入请求进行处理。更具体而言,在输入/输出处理部170中,构建有数据写入请求来源(发布者(Publisher))172与数据接收目的地(订阅者(Subscriber))174之间的逻辑关系。此种逻辑关系是根据各种要求而任意设计,由此,实现在运行中的(on the fly)输入/输出处理。通过利用此种配置,输入/输出处理部170在运行中对时间序列数据库180写入时间序列数据。
如此,输入/输出处理部170从数据库写入程序156受理并蓄积对时间序列数据库180的数据写入请求,并依序存储至时间序列数据库180。以不会对系统程序160及控制程序152所执行的控制周期(cycle)中的处理造成影响的方式进行动作。存在作为多笔数据的数据供给者的数据写入请求来源(发布者)172与作为订阅者的数据接收目的地(订阅者)174,并且可将它们任意关联。作为控制周期的一例,可在每个控制周期执行数据库写入程序156,并将时间序列数据依序存储至时间序列数据库180。进而,也能够灵活地应付向其他数据库或应用程序的数据供给或者来自控制程序以外的应用程序的输入受理。输入/输出处理部170的详细处理将后述。
时间序列数据库180典型的是配置在主存储装置106或次要存储装置108(参照图2)中,且一同搭载有存储时间序列数据的功能与响应来自外部的请求(询问(query))而回应经指定的时间序列数据的检索功能。时间序列数据库180存储通过数据库写入程序156而写入的时间序列数据。
更具体而言,时间序列数据库180包含数据库存取调停处理部182、数据存储处理部184、数据检索处理部186、内置贮存器188及外置贮存器189。
数据库存取调停处理部182调停检索请求的处理,以维持以与控制运算的执行周期(系统周期)相同的周期来对时间序列数据库180进行的数据写入。更具体而言,数据库存取调停处理部182在对数据库的数据写入请求与对数据库的检索请求发生冲突时,调整各个请求的时机等。数据库存取调停处理部182针对多个向时间序列数据库180的时间序列数据存储请求及检索请求,调停执行顺序。尤其,在以高频率及固定周期来存储数据的情况下,能够避免在其他数据库存取请求集中时赶不上存储而导致数据丢失的状况。数据库存取调停处理部182的详细处理将后述。
数据存储处理部184响应经由输入/输出处理部170且对数据库的数据写入请求,将所输入的时间序列数据追加至内置贮存器188或外置贮存器189的经指定的记录中。数据存储处理部184也可分开使用多个贮存器来作为时间序列数据的存储目的地。数据存储处理部184也可设定循环(ring)动作,即,通过删除旧的数据来保持数据库的数据量(贮存器使用量)为固定以下。数据存储处理部184还能够进行在控制装置100的电源切断时不会破坏数据库的数据库写入。
内置贮存器188是利用内置在控制装置100中的次要存储装置108(图2)等的数据存储部。内置贮存器188除了动态随机存取存储器(Dynamic Random Access Memory,DRAM)或静态随机存取存储器(Statistic Random Access Memory,SRAM)等易失性存储器以外,还可包含快闪存储器(flash memory)等非易失性存储器。外置贮存器189是利用存储卡116(图2)或未图示的外置硬盘(hard disk)等的非易失性的数据存储部。
数据检索处理部186提供处理针对存储于时间序列数据库180中的数据的检索请求的功能,响应来自应用程序190和/或在支持装置200上执行的应用程序210等的检索请求,对与从内置贮存器188和/或外置贮存器189指定的条件吻合的时间序列数据进行检索。即,数据检索处理部186根据来自控制装置100内外的应用程序的请求,对存储于贮存器中的时间序列数据进行检索,并将所获取的数据发往请求者。
应用程序190是在控制装置100上执行的任意程序,典型的是,像是利用存储在时间序列数据库180中的时间序列数据的程序。例如设想下述应用程序,即,将存储在时间序列数据库180中的时间序列数据作为学习数据来进行机械学习后,进行某些判别。
应用程序190是不与控制周期关联地启动的程序,相当于以与由系统程序160或控制程序152所执行的控制不同的频率或时机来进行动作的应用程序。应用程序190是以不妨碍控制程序152的执行的调度来进行动作,并根据其目的而与控制程序152或控制装置100以外的系统上的部件进行相互作用。作为应用程序190的示例,设想如下所述的人工智能(Artificial Intelligence,AI)功能等,即,从时间序列数据库180中检索时间序列数据,并根据跨及多个周期的数据来进行系统的诊断或对控制的反馈。
在连接于控制装置100的支持装置200中,也可执行任意的应用程序210。作为应用程序210的一例,设想利用存储在时间序列数据库180中的时间序列数据的程序。例如所谓的数据挖掘(mining)等,即,对存储在控制装置100的时间序列数据库180中的时间序列数据进行解析,以找出某些倾向或与所述倾向相关联的特征量等。或者,也设想对存储在时间序列数据库180中的时间序列数据执行各种统计处理的应用程序、或者将存储在时间序列数据库180中的时间序列数据的数值予以显示或者显示以视觉方式呈现的图表(graph)等的应用程序。
<D.时间序列数据库>
接下来,对安装于本实施方式的控制装置100中的时间序列数据库180的数据配置进行说明。
图4是概略说明本实施方式的控制装置100中安装的时间序列数据库180的数据配置的示意图。参照图4,也将时间序列数据库180所处理的时间序列数据的概念称作“时间序列(TimeSeries)”。一个时间序列也可包含多级(level)数据库。
在时间序列数据库180中,可生成多个时间序列,例如也可针对每个应用程序而生成时间序列。各数据库文件也可具有版本(version)等独自的属性。
在时间序列数据库180中存储数据群。数据群也可以数据的最小单位即记录为单位来存储时间序列数据。各记录也可采用键-值贮存型(Key-Value storage type)。当采用键-值贮存型记录时,将作为存储对象的数据(Value(值))与对应于此数据的唯一标识(Key(键))相关联地予以存储。即,各记录包含键-值贮存型的键与值。
更具体而言,在各记录中,也可存储表示时间序列数据的标识的时间序列键(time-series key)、和表示时间序列数据的值的时间序列值。在时间序列键中,例如也可存储表示时刻信息或时机的信息。在时间序列值中,也可存储有对应的输入数据、输出数据、运算数据的值(实值)。
<E.时间序列数据的存储处理>
接下来,对本实施方式的控制装置100中的时间序列数据的存储处理进行说明。在控制装置100中,在预定的每个周期反复执行I/O刷新处理。以与所述I/O刷新处理相同的周期来执行用户程序154的至少一部分。本实施方式中,将时间序列数据写入时间序列数据库180是由数据库写入程序156来进行执行,数据库写入程序156是由用户程序154中呼叫。
本实施方式的控制装置100中,通过输入/输出处理部170所提供的在运行中输入/输出处理,可在不会妨碍包含I/O刷新处理的一连串程序的反复执行(循环执行)的情况下,实现将时间序列数据写入时间序列数据库180。
时间序列数据库180也可对彼此独立的多个时间序列数据进行存储及检索。根据时间序列数据库180的大小,也可利用一个或多个贮存器。进而,除了存储时间序列数据库180的连续且稳定的时间序列数据的功能以外,还可附加通过废弃过去的时间序列数据而将贮存器的使用量抑制为固定量的循环功能。
图5是用于说明本实施方式的控制装置100中的循环执行处理及对时间序列数据库的写入处理的示意图。图5中,作为一例,表示了循环执行输出程序166、输入程序164、用户程序154、与用户程序154所呼叫的数据库写入程序156的示例。也有时将图5所示的循环执行的执行周期(执行开始时机的间隔)称作“控制周期”。
图5所示的、以预定的执行周期循环执行的控制运算包含:收集来自现场装置的输入数据(输入程序164)、依照预定的用户程序154来算出基于输入数据的输出数据、及输出所算出的输出数据(输出程序166)。
如图5所示,通过由用户程序154中呼叫数据库写入程序156,从而与控制周期同步地执行数据库写入程序156。
此种循环执行是通过调度程序162来管理。另外,图5中,仅表示循环执行的一例,所执行的程序并不限于图5所示者,进而也可循环执行其他程序,还可省略图5所示的一部分程序。
数据库写入程序156对由输入程序164所获取的输入值、表示控制程序152或者控制装置100的内部状态的内部状态值、从输出程序166输出的输出值中的预先指定的数据进行汇集,并发布对时间序列数据库180的数据写入请求。数据写入请求被给予至输入/输出处理部170。即,循环执行的控制运算包含发布对时间序列数据库180的数据写入请求的处理。
时间序列数据库180依时间序列来存储PLC引擎150(处理部)所管理的数据中经指定的数据。输入/输出处理部170相当于数据写入部件,所述数据写入部件用于以与循环执行控制运算的执行周期相同的周期来执行对时间序列数据库180的数据写入。
更具体而言,输入/输出处理部170是在运行中对来自数据库写入程序156的数据写入请求进行处理。因此,数据库写入程序156无须等待输入/输出处理部170完成对时间序列数据库180的数据存储。即,在数据库写入程序156中,只要发布数据写入请求便能够完成处理,从而能够保证以预定的控制周期来执行图5所示的循环执行。即,数据库写入程序156在与控制周期同步地执行时,即使在先前的控制周期中发布的时间序列数据对时间序列数据库180的存储尚未完成,也能够请求存储新的时间序列数据。
如此,本实施方式的控制装置100中,数据库写入程序156能够实现无须等待对时间序列数据库180的时间序列数据存储完成的操作。
另外,对于存储至时间序列数据库180的数据和所获取的值,也可进行缩放(scaling)或统计处理等事前加工处理,以压缩信息量。
数据库写入程序156自身也可使用与用户程序154的制作相同的编程工具来制作。此时,既可使数据库写入程序156作为用户程序154的一部分而构成,也可作为与用户程序154独立的程序而构成。进而,也可使用同一处理器102来执行多个数据库写入程序156。
而且,对于数据库写入程序156,即使在控制装置100中的控制程序152的执行中(循环执行中),也可进行编辑操作(对象变量的追加或删除)。
数据库写入程序156的记述格式或者记述形式并不限定于记述有一连串命令的代码(code),也可提供用于指定必要信息(例如欲收集的变量的列表(1ist)或者对变量进行变形的操作的列表)的专用工具或专用应用程序。为了实现此种专用工具或专用应用程序,也可在控制装置100侧或支持装置200侧设置受理各种设定的接口。
进而,也可非作为明示的数据库写入程序156,而是作为在控制装置100的内部执行的系统任务的一部分,来实现数据库写入程序156。
输入/输出处理部170响应于来自数据库写入程序156的数据写入请求,将经指定的时间序列数据存储至时间序列数据库180中。如上所述,从数据库写入程序156的角度来看,在发布了数据写入请求后,输入/输出处理部170以不等待时间序列数据的存储完成的方式来对数据写入请求进行处理。输入/输出处理部170对时间序列数据的存储,是与以控制周期执行的控制运算非同步地在后台执行处理。通过此种非同步且后台的执行,能够降低对控制周期的影响。
在处理器102采用多核(multi core)或多处理器(multi processor)的配置的情况下,循环执行控制运算的核或处理器与承担用于实现输入/输出处理部170的处理的核或处理器可独立分开地分配。
作为此种用于与控制周期非同步地存储数据的安装形态的一例,输入/输出处理部170也可具备对写入请求进行排队的缓冲器176。即,输入/输出处理部170也可包含受理数据写入请求并且对数据写入请求进行排队的缓冲器176。或者,也可在时间序列数据库180的数据存储处理部184中配置发挥同样功能的缓冲器。又或者,也可采用在输入/输出处理部170及数据存储处理部184中分别配置缓冲器的配置。
通过采用此种配置,当在控制运算中发布数据写入请求时,继续执行下个处理而不等待所述数据写入完成。
在输入/输出处理部170中,可任意构建数据写入请求来源(发布者)172及数据接收目的地(订阅者)174(均参照图3)的关系。即,对于哪个主体(程序或模块)承担数据写入请求的发布,或者哪个主体(程序或模块)承担依照所述数据写入请求来将时间序列数据写入至时间序列数据库180,可根据所安装的系统环境或要求等而任意设计。
图6(A)及图6(B)是表示将应用程序关联于本实施方式的控制装置100的时间序列数据库180时的安装例的框图。图6(A)表示将时间序列数据发往应用程序的配置的范例,图6(B)表示事前对时间序列数据进行加工的配置的范例。
通过适当构建输入/输出处理部170中的数据写入请求来源172及数据接收目的地174的关系,例如也可构成为,将存储在时间序列数据库180中的时间序列数据同时发往一个或多个应用程序190。图6(A)所示的示例中,输入/输出处理部170在收到某些数据写入请求时,能够将作为目标对象的时间序列数据存储至时间序列数据库180中,并且也能够将所述时间序列数据发往应用程序190。作为应用程序190,例如设想执行下述处理者,即,基于从现场收集的时间序列数据来检测某些异常的征兆。其结果,能够容易地进行下述应用程序的构建,其既能维持高实时(realtime)性,又能对时间序列数据群进行解析,并将其解析结果反馈给控制。
而且,当在时间序列数据库180中存储时间序列数据时,也可进行缩放或统计处理等任意的加工处理。图6(B)所示的示例中,假设有在控制装置100上执行进行缩放或统计处理等任意加工处理的程序192。输入/输出处理部170在收到某些数据写入请求时,将作为对象的时间序列数据发往程序192。程序192对时间序列数据实施规定的数据加工处理,并将其加工结果存储至时间序列数据库180。此时,若程序192的数据加工处理的处理时间存在波动等,则也可调整从输入/输出处理部170发往程序192的时间序列数据的速度等,以便能够吸收所述波动。
进而,在设有多个数据库写入程序156及多个数据库的情况下,也可配置多个输入/输出处理部170。此种配置中,也可对应于每种用途或作为对象的每个数据库而将输入/输出处理部170、或输入/输出处理部170内的缓冲器176的功能分开。
如上所述,在本实施方式的控制装置100中,能够在运行中处理对时间序列数据库180的数据写入,因此能够保证在控制程序的控制周期内的执行。
<F.时间序列数据的检索处理>
接下来,在本实施方式的控制装置100中,能够对存储在时间序列数据库180中的时间序列数据进行检索处理。在时间序列数据库180中,典型的是,也可采用键-值贮存型记录,各记录对应于各时间序列数据。此时,可将存储在各记录的键中的任意信息指定为检索关键字。
典型的是,在记录的键中,也可包含时刻信息(时间戳(time stamp))。此种时刻信息既可包含在从现场装置群6获得的输入信息的一部分中,也可由时刻管理部168(图3)等提供。例如,也可存储从现场装置群6获取输入数据的时机的时刻信息。此种检索处理是由数据检索处理部186(图3)来执行。
图7是说明本实施方式的控制装置100的与对时间序列数据库180的存取相关的功能的框图。参照图7,数据检索处理部186在收到包含某些检索关键字等检索条件的检索请求时,从贮存器检索及提取与所述检索条件吻合的记录。数据检索处理部186能够从不论是控制装置100内外的任意主体接收检索请求。例如,作为发布检索请求的主体的示例,可列举用户程序154、在控制装置100上执行的任意应用程序190(例如统计程序或AI程序等)以及像是支持装置200及主机系统400等的外部装置。
若采用如上所述的配置,在时间序列数据库180中,会在每个控制周期存储时间序列数据,并且来自多个主体的检索请求以任意时机给予。即,数据写入请求及检索请求有时会被同时给予至时间序列数据库180,为了适当地处理此种冲突状态,数据库存取调停处理部182对处理请求间进行调停。
数据库存取调停处理部182对针对时间序列数据库180的处理请求的发布顺序或发布时机进行调停,以便能够无遗漏地执行所设定的规模的数据写入请求、或者根据动作状况而识别出的规模的稳定的数据写入请求。
作为数据库存取调停处理部182中的调停处理,设想如下所述者。
(1)每隔某单位期间(例如1秒),优先处理X记录(或者Y字节)的插入(insert)(追加命令)。
(2)当收到多个时间序列数据写入请求时,也可识别发出各写入请求的数据库写入程序,并且对第1数据库写入程序分配至X记录/秒为止的处理,对第2数据库写入程序分配至Y记录/秒为止的处理。即,也可针对各个数据库写入程序而预先设定好可优先处理的数据量,在此设定的范围内优先进行处理。
(3)为了避免因与数据写入相关的处理导致负载饱和,从而无法分配足够资源给其他数据库存取的状况,也可对检索请求确保最低限度的处理框(资源)。
(4)也可对针对时间序列数据库180的读出存取进行调停。例如,可使来自从时间序列数据库180定期地收集数据并将所述收集的数据反馈给控制运算处理的应用程序等的检索请求优先于其他非同步的询问。但是,此时也优选地对来自应用程序等的检索请求中的优先处理的每单位时间的数量实施限制。
通过采用此种数据库存取调停处理部182,从而能够进一步强化可与控制周期同步地将时间序列数据存储至时间序列数据库180的功能。即,即使在不得不使非同步的处理或负载不稳定的检索处理并存地进行处理的状况下,也能够实现时间序列数据的周期性的存储。
另外,当存在多个发布数据写入请求的应用程序时,也有时会配置多个用于对各数据写入请求进行处理的输入/输出处理部170,即使在此种情况下,只要对各个输入/输出处理部170调停分配资源即可。
<G.时间序列数据的收集处理>
在本实施方式的控制装置100中,能够对从现场装置群6收集的数据赋予共用的时刻。
图8是表示本实施方式的控制装置100中的从现场装置群6进行的数据收集的配置例的示意图。参照图8,在控制装置100中,通过调度程序162对执行时机的管理,来循环执行输出程序166、输入程序164及用户程序154(以及可包含未图示的数据库写入程序)。
控制装置100经由局域总线、现场总线、现场网络等而与现场装置群6(例如执行器等输出设备61及传感器等输入设备62等)连接。在控制装置100与经由局域总线、现场总线、现场网络等而连接的现场装置群6之间,为了实现同步的通信处理,具有彼此同步的定时器等。即,控制装置100的时刻管理部168与输出设备61的时刻管理部611和/或输入设备62的时刻管理部621同步。
因此,通过对从输出设备61及输入设备62传输给控制装置100的数据附加各设备的时刻管理部611、时刻管理部621所管理的时刻信息来进行发送,能够在与由控制装置100的输出程序166及输入程序164所处理的数据之间取得时刻的一致性。
图9是用于说明本实施方式的控制装置100中的时间序列数据的收集处理的示意图。参照图9,例如具有时间序列数据库180的控制装置100经由局域总线、现场总线、现场网络等而与现场装置群6连接。控制装置100的时刻管理部168与现场装置群6的时刻管理部611、时刻管理部621同步。
现场装置群6将所收集的观测值等与由时刻管理部611、时刻管理部621所管理的时刻信息一同发送至控制装置100。控制装置100在从现场装置群6收到时刻信息及观测值时,将时刻信息设为标识(键)的至少一部分,并且将观测值作为值(Value)而存储至时间序列数据库180中。
如此,控制装置100也可与彼此经时刻同步的现场装置连接,对存储在控制装置100的时间序列数据库180中的数据,赋予在现场装置中收集到所述数据的时刻信息。此时,在时间序列数据库180中,也可存储将时刻信息设为键、将对应的数据的值设为值的键-值贮存型记录。
通过附加经彼此同步的时刻管理部168所管理的时刻信息,从而能够使收集到时间序列数据库180中的时间序列数据彼此同步。即,能够以共用的时间轴来进行时间序列数据的比较等。
如此,在本实施方式的控制装置100中,通过使用经彼此同步的时刻管理部168所管理的时刻信息,从而能够在与一个或多个现场装置群6连接的控制装置100上,以高时刻精度实现时间序列数据的统合、蓄积、解析。
进而,多个控制装置100彼此也可进行时刻同步,此种情况下,利用任一控制装置100、支持装置200或主机系统400来对多个控制装置100各自的时间序列数据库180中所存储的时间序列数据进行统合,由此,即使是从连接于不同的控制装置100的现场装置群6收集的时间序列数据,也能够彼此统合地进行分析等。
图10是用于说明本实施方式的控制装置100中的时间序列数据的统合处理的示意图。图10所示的系统包含控制装置100-1~控制装置100-3。控制装置100-1~控制装置100-3分别包含时间序列数据库180-1~时间序列数据库180-3。控制装置100-1经由局域总线、现场总线、现场网络等而与控制装置100-2连接。而且,控制装置100-1也经由局域总线、现场总线、现场网络等而与控制装置100-3连接。
在此种经由总线或网络而连接的控制装置100之间,确立了时刻同步,各自保持共同的时刻。通过在向时间序列数据库180中登记时间序列数据时使用此种经时刻同步的时刻信息,从而能够在各个时间序列数据库180中存储的时间序列数据之间共用时间轴。
例如,控制装置100-1不仅从自身的时间序列数据库180-1,也从控制装置100-2的时间序列数据库180-2及控制装置100-3的时间序列数据库180-3分别收集时间序列数据,由此,能够实现时间序列数据的统合分析。如此,控制装置100也可从所连接的一个或多个其他控制装置100的各个,汇集各控制装置100所有的时间序列数据库180中存储的数据。
通过安装如上所述的数据汇集功能,即使在为了满足所要求的系统规格等而将多个控制装置100分散配置的情况下,由于在各个控制装置100所收集的时间序列数据之间实现了时间轴的共用化,因此仍能够使时间序列数据的事后的统合分析容易化。
图11是用于说明与本实施方式的控制装置100连接的外部装置中的时间序列数据的统合处理的示意图。如图11所示,控制装置100也可与具有彼此经时刻同步的时间序列数据库180的其他控制装置100连接,且配置有外部装置(支持装置200或主机系统400),所述外部装置对控制装置100的时间序列数据库180及其他控制装置100的时间序列数据库180中分别存储的数据进行汇集。
通过支持装置200或主机系统400来从各个时间序列数据库180收集时间序列数据,由此,能够实现时间序列数据的统合分析。因此,即使在为了满足所要求的系统规格等而将多个控制装置100分散配置的情况下,由于在各个控制装置100所收集的时间序列数据之间实现了时间轴的共用化,因此仍能够使时间序列数据的事后的统合分析容易化。
如上所述,通过将多个控制装置100经由彼此经时刻同步的网络等予以连接,并且收集赋予有经时刻同步的时间戳的时间序列数据,从而能够在事后对这些时间序列数据进行统合解析。通过采用此种配置,能够容易地实现可根据所要求的性能或测定点数等来扩展系统的、具有可扩缩性(scalability)的配置。
<H.变形例>
(h1:硬件的汇集)
在所述图1的控制系统1中,控制装置100、支持装置200及显示装置300分别作为独立体而构成,但也可采用将这些功能的全部或一部分汇集到单个装置中的配置。
(h2:数据加工处理)
对于针对写入至如上所述的时间序列数据库180中的时间序列数据的加工处理,既可与用户程序154的执行周期同步地执行,也可不同步地执行。在与用户程序154非同步地执行加工处理的情况下,能够用于存储至时间序列数据库180之前的前处理等。通过如此那样使用户程序154的执行周期与加工处理的执行不同步,能够降低时间序列数据的收集处理对控制运算造成的影响。
(h3:简化)
在所述说明中,例示了除了对时间序列数据库180的数据写入功能以外,还具有对时间序列数据库180的检索功能的控制装置100,但也可省略检索功能。即,也可省略所述控制装置100的配置中的数据检索处理部186。
通过采用此种经简化的配置,从而能够使在运行中的输入处理及输出处理特化为时间序列数据向时间序列数据库中的存储。此时,控制装置100作为一种实时的数据记录器(data logger)发挥功能。存储在时间序列数据库180中的时间序列数据也可由支持装置200或主机系统400等以适当的时机读出,并实施解析处理等。
伴随数据检索处理部186的省略,也可省略数据库存取调停处理部182。
进而,基于简化装置配置的观点,也可省略将经同步的时刻赋予至时间序列数据的时间戳的记录功能。
通过采用此种经简化的配置,既能实现与控制周期同步的时间序列数据的收集,又能抑制成本的增加等。
<I.总结>
一般的控制装置循环执行如下所述的一连串处理,即,从传感器获取测量值,并基于所获取的测量值来执行控制运算,由此来决定指令值,并将所决定的指令值输出至各种执行器。有欲缩短此种循环执行的周期来使处理高速化的需求。通过此种处理的高速化,能够追随于高速变化或移动的观测对象及控制对象。而且,能够实现更高精度的监测或控制。当实现此种处理的高速化时,必须通过处理器来高速且以高稳定度来反复执行程序。
而且,除了处理的高速化以外,对于控制运算的内容自身的复杂化及高度化也有要求。为了循环执行如上所述的以往的输入处理、控制运算处理、输出处理,且并列执行高度化的控制运算,处理器及与处理器相关的电路也须高功能化。
作为此种高度化的控制运算之一,有欲收集更多的信息来用于各种解析的需求。当收集更多的信息时,用于确定输入数据是哪个时间点的值的信息变得重要。
针对此种问题,本实施方式的控制装置中,在维持高性能及高通用性的同时,提高对所存储的时间序列数据赋予的时刻精度,由此,即使是以往需要专用机的测量仪器应用程序,也能够通过通用的控制器来实现。
进而,本实施方式的控制装置除了能通过通用控制器来实现测量仪器应用程序以外,还容易将测量功能装入机械,除此以外,还能够对测量仪器应用程序赋予扩展性。如此,针对以往的控制装置中,用于进行沿着时间轴的数据蓄积及解析的功能不足的问题,本实施方式的控制装置能够活用所搭载的时间序列数据库中存储的时间序列数据,从而能够实现以测量仪器应用程序为代表的、活用时间序列数据的任意应用程序的安装。
而且,近年来,有欲通过收集并活用大量的现场数据,从而实现控制运算的进一步的高度化的需求。作为此种进一步高度化的控制运算,有如下所述者。
·通过预知设备故障以便能够在事前进行处置,从而降低设备或装置的停工时间(down time)。
·基于大量的来自现场的数据,来制作更准确地反映出控制对象的模型,并将基于此模型的响应特性等反馈给控制运算,由此实现更高精度的控制。
当收集及蓄积大量的数据,进而在控制器上或控制器外的应用程序中利用所述大量数据时,现有的控制器在功能方面不足。与此相对,在依据本实施方式的控制装置中,能够将对控制运算的影响抑制为最小限度,并且能够实现大量数据的收集及蓄积、以及这些数据在各种应用程序中的利用。由此,能够提供可活用大量的来自现场的数据的、更高功能的控制装置。
本实施方式的控制装置能够进行通常的控制运算,并且能够将从现场获得的时间序列数据存储至所搭载的时间序列数据库中。现有的数据记录器仅设想收集数据,且仅设想将所收集的数据在事后进行导出并解析的用途。
一般的数据库是使用具有大容量贮存器的服务器装置等来实现,不需要如承担控制运算的控制装置那样,用于实现维持控制周期的循环执行的资源管理。与此相对,本实施方式的控制装置既实现原本的控制运算的循环执行,又安装有进行时间序列数据的收集所需的功能及处理。
而且,在从现场收集数据并发送至上位的服务器装置等的通信装置等中,从现场收集数据的周期相对较长(例如秒/分级),且各个设备可处理的数据量也小。与此相对,本实施方式的控制装置能够以反复执行控制运算的周期即系统周期(毫秒/微秒级)进行数据收集,而且,能够实现更大容量的数据的收集。
本实施方式的控制装置具有时间序列数据库,且能够与控制装置中的控制程序的执行周期同步地将时间序列数据存储至时间序列数据库中。即,提供一种搭载有数据库、且通过软件安装的PLC引擎来实现的统合型控制器。通过采用此种配置,能够享有如下所述的优点(merit)。
(1)能够与控制运算同步地实现高速且无数据遗漏的记录。
(2)通过采用具有贮存器的层级配置的时间序列数据库,能够使速度及容量效率化。
(3)能够提供可扩展至在运行中的输入及输出处理的记录功能。
(4)能够提供可在用户程序上对所收集的原始数据的加工、解析、存储进行规定的灵活的记录功能(可编程的测量仪器)。
(5)能够提供容易与AI引擎或统计处理功能等连接的时间序列数据库(记录)。
(6)能够提供具有循环功能、介质(media)寿命、断电对策的装入设备所需的功能的时间序列数据库。
(7)能够提供将在多个控制装置和/或设备间经同步的时刻信息用于时间戳的时间序列数据库。通过采用此种时间序列数据库,多个时间序列数据的统合利用容易化。
(8)能够提供可针对数据库的每个利用目的来设定处理性能的分配(Quota)的功能。
应认为,此次揭示的实施方式在所有方面仅为例示,并非限制者。本发明的范围是由权利要求而非所述说明所示,且意图包含与权利要求均等的含义及范围内的所有变更。

Claims (10)

1.一种控制装置,其特征在于包括:
处理部,以预定的执行周期来循环执行控制运算,所述控制运算包含收集来自现场装置的输入数据、依照预定的用户程序来算出基于所述输入数据的输出数据、及输出所算出的输出数据;
数据库,依时间序列来存储所述处理部所管理的数据中的经指定的数据;以及
数据写入部件,用于以与循环执行所述控制运算的所述执行周期相同的周期,来执行对所述数据库的数据写入,
循环执行的所述控制运算包含对所述数据库发布数据写入请求的处理,
所述数据写入部件包括缓冲器,所述缓冲器受理所述数据写入请求,并且对所述数据写入请求进行排队,所述数据写入部件将所述数据发往应用程序以实时对所述数据进行解析,并且对所述数据实施包括缩放的加工处理后存储至所述数据库,
在所述控制运算中,当发布所述数据写入请求时,继续执行下个处理而不等待所述数据写入完成。
2.根据权利要求1所述的控制装置,其特征在于,
在所述数据写入部件中,构建有数据写入请求来源与数据接收目的地的逻辑关系。
3.根据权利要求1至2中任一项所述的控制装置,其特征在于,
所述数据写入部件是与所述控制运算非同步地在后台执行处理。
4.根据权利要求1至2中任一项所述的控制装置,其特征在于,
所述控制装置是与彼此经时刻同步的现场装置连接,
对于存储在所述数据库中的数据,赋予有由所述现场装置收集到所述数据的时刻信息。
5.根据权利要求4所述的控制装置,其特征在于,
在所述数据库中,存储将时刻信息设为键、将对应的数据的值设为值的键-值贮存型记录。
6.根据权利要求1至2中任一项所述的控制装置,其特征在于,
所述控制装置从所连接的一个或多个其他控制装置的各个,汇集各控制装置所具有的数据库中所存储的数据。
7.根据权利要求1至2中任一项所述的控制装置,其特征在于,
所述控制装置是与具有彼此经时刻同步的数据库的其他控制装置连接,且
配置有外部装置,所述外部装置对所述控制装置的数据库及所述其他控制装置的数据库中分别存储的数据进行汇集。
8.根据权利要求1至2中任一项所述的控制装置,其特征在于还包括:
检索处理部,处理针对所述数据库中所存储的数据的检索请求。
9.根据权利要求8所述的控制装置,其特征在于还包括:
调停处理部,对所述检索请求的处理进行调停,以维持以与所述执行周期相同的周期来对所述数据库进行数据写入。
10.一种非易失性存储媒体,记录有计算机能够读取的程序,所述程序用于实现控制装置,其特征在于,
所述程序使所述计算机执行下述步骤:
以预定的执行周期来循环执行控制运算,所述控制运算包含收集来自现场装置的输入数据、依照预定的用户程序来算出基于所述输入数据的输出数据、及输出所算出的输出数据,
所述计算机具备数据库,所述数据库依时间序列来存储通过所述控制运算而管理的数据中的经指定的数据,
所述程序使计算机执行下述步骤:
以与循环执行所述控制运算的执行周期相同的周期,来执行对所述数据库的数据写入,
其中循环执行的所述控制运算包含对所述数据库发布数据写入请求的处理,
所述计算机具备缓冲器,所述缓冲器受理所述数据写入请求,并且对所述数据写入请求进行排队,所述计算机将所述数据发往应用程序以实时对所述数据进行解析,并且对所述数据实施包括缩放的加工处理后存储至所述数据库,
所述程序使计算机执行下述步骤:
在所述控制运算中,当发布所述数据写入请求时,继续执行下个处理而不等待所述数据写入完成。
CN201810029515.2A 2017-03-10 2018-01-12 控制装置以及非易失性存储媒体 Active CN108572612B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-045781 2017-03-10
JP2017045781A JP6926539B2 (ja) 2017-03-10 2017-03-10 制御装置およびプログラム

Publications (2)

Publication Number Publication Date
CN108572612A CN108572612A (zh) 2018-09-25
CN108572612B true CN108572612B (zh) 2021-04-20

Family

ID=60972030

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810029515.2A Active CN108572612B (zh) 2017-03-10 2018-01-12 控制装置以及非易失性存储媒体

Country Status (4)

Country Link
US (1) US20180259929A1 (zh)
EP (1) EP3373087B1 (zh)
JP (1) JP6926539B2 (zh)
CN (1) CN108572612B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6934951B2 (ja) * 2017-03-22 2021-09-15 シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft 装置を横断する普遍的データアクセス
JP6838022B2 (ja) * 2018-10-11 2021-03-03 ファナック株式会社 製造装置の制御装置及び監視システム
JP7052755B2 (ja) * 2019-02-27 2022-04-12 オムロン株式会社 制御装置、管理プログラムおよび制御システム
JP7003951B2 (ja) * 2019-03-14 2022-01-21 オムロン株式会社 制御システム
JP7036069B2 (ja) * 2019-03-15 2022-03-15 オムロン株式会社 制御システム、中継装置、および中継プログラム
JP7423920B2 (ja) * 2019-07-03 2024-01-30 オムロン株式会社 制御システム、設定装置およびコンピュータプログラム
JP7415345B2 (ja) * 2019-07-03 2024-01-17 オムロン株式会社 制御システム、サポート装置および設定プログラム
JP2021144651A (ja) * 2020-03-13 2021-09-24 株式会社安川電機 生産システム、データ送信方法、及びプログラム
JP7374379B1 (ja) * 2022-10-14 2023-11-06 三菱電機株式会社 データ収集装置、データ収集システム、データベース作成方法及びプログラム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4601866B2 (ja) * 2000-06-16 2010-12-22 株式会社半導体エネルギー研究所 情報提供方法
JP2002023812A (ja) * 2000-07-05 2002-01-25 Mitsubishi Materials Corp 自動制御システムおよび自動制御方法
JP2004199670A (ja) 2002-12-04 2004-07-15 Omron Corp データ収集装置及びデータ収集システム
US7496590B2 (en) * 2005-07-26 2009-02-24 Invensys Systems, Inc. System and method for applying deadband filtering to time series data streams to be stored within an industrial process manufacturing/production database
JP4659643B2 (ja) * 2006-02-28 2011-03-30 三菱電機株式会社 ロギングシステム
US20080114474A1 (en) * 2006-11-10 2008-05-15 Rockwell Automation Technologies, Inc. Event triggered data capture via embedded historians
US20090198648A1 (en) * 2008-01-31 2009-08-06 Invensys Systems, Inc. System and method for adaptively retrieving parameter trend data from a supervisory control manufacturing/production database
WO2011142026A1 (ja) * 2010-05-14 2011-11-17 株式会社日立製作所 時系列データ管理装置、システム、方法、およびプログラム
CN103024012B (zh) * 2012-12-03 2016-03-30 中科创达软件股份有限公司 电脑与智能终端调制解调器之间的数据交互方法
WO2014090915A1 (en) * 2012-12-13 2014-06-19 Tetra Laval Holdings & Finance S.A. Mechanism for providing or collecting information of a computer-controlled packaging plant, and methods and computer programs therefor
JP6171387B2 (ja) * 2013-02-15 2017-08-02 オムロン株式会社 コントローラ、情報処理装置およびプログラム
JP5991948B2 (ja) 2013-06-19 2016-09-14 三菱電機株式会社 製造実行システム
JP6446995B2 (ja) * 2013-10-29 2019-01-09 株式会社リコー 情報処理システム及び情報処理方法
PL3164819T3 (pl) * 2014-07-03 2023-05-15 General Electric Company Pozyskiwanie danych o wysokiej częstotliwości w wykrywaniu przejściowym
WO2016045734A1 (en) * 2014-09-25 2016-03-31 Siemens Aktiengesellschaft Control apparatus of an automation system
US10007690B2 (en) * 2014-09-26 2018-06-26 International Business Machines Corporation Data ingestion stager for time series database
US10394203B2 (en) * 2014-11-19 2019-08-27 Mitsubishi Electric Corporation Control device, control method, and program performing a tabulation operation at high speed
JP6588763B2 (ja) * 2015-07-31 2019-10-09 アズビル株式会社 制御システム、支援装置、制御装置、および制御方法
US10423669B2 (en) * 2016-01-04 2019-09-24 Hanwha Precision Machinery Co., Ltd. Manufacturing process visualization apparatus and method
US20170242935A1 (en) * 2016-02-19 2017-08-24 General Electric Company User interface component for managing and presenting data corresponding to industrial assets
US10452043B2 (en) * 2017-02-10 2019-10-22 Johnson Controls Technology Company Building management system with nested stream generation

Also Published As

Publication number Publication date
CN108572612A (zh) 2018-09-25
JP6926539B2 (ja) 2021-08-25
EP3373087A1 (en) 2018-09-12
JP2018151726A (ja) 2018-09-27
US20180259929A1 (en) 2018-09-13
EP3373087B1 (en) 2019-09-25

Similar Documents

Publication Publication Date Title
CN108572612B (zh) 控制装置以及非易失性存储媒体
CN108572613B (zh) 控制装置、信息处理方法
JP6388050B1 (ja) 制御装置
CN107908166B (zh) 一种基于工业互联网的汽车制造mes数据采集系统
CN108693822B (zh) 控制装置、存储介质、控制系统及控制方法
EP3376320A1 (en) Control device
US10606246B2 (en) Control device and control method with various command values in a shared memory providing access to various program execution and command value operation parts in each control cycle
JP2018133037A (ja) 制御装置
JP7380390B2 (ja) 制御装置、プログラムおよび制御方法
CN112654939B (zh) 控制系统以及控制装置
WO2020166432A1 (ja) 制御装置、制御プログラムおよび制御システム
EP3696626A1 (en) Communication system, communication method, and program
WO2022137580A1 (ja) 制御システム、サポート装置およびラベル付与方法

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