CN109983412B - 控制装置、计算机可读记录介质以及控制方法 - Google Patents
控制装置、计算机可读记录介质以及控制方法 Download PDFInfo
- Publication number
- CN109983412B CN109983412B CN201780070808.9A CN201780070808A CN109983412B CN 109983412 B CN109983412 B CN 109983412B CN 201780070808 A CN201780070808 A CN 201780070808A CN 109983412 B CN109983412 B CN 109983412B
- Authority
- CN
- China
- Prior art keywords
- abnormality
- machine learning
- abnormality detection
- data
- 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
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/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- 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/058—Safety, monitoring
-
- 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
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0218—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
- G05B23/0224—Process history based detection method, e.g. whereby history implies the availability of large amounts of data
- G05B23/024—Quantitative history assessment, e.g. mathematical relationships between available data; Functions therefor; Principal component analysis [PCA]; Partial least square [PLS]; Statistical classifiers, e.g. Bayesian networks, linear regression or correlation analysis; Neural networks
-
- 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
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0218—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
- G05B23/0243—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults model based detection method, e.g. first-principles knowledge model
- G05B23/0254—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults model based detection method, e.g. first-principles knowledge model based on a quantitative model, e.g. mathematical relationships between inputs and outputs; functions: observer, Kalman filter, residual calculation, Neural Networks
-
- 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
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0259—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
- G05B23/0283—Predictive maintenance, e.g. involving the monitoring of a system and, based on the monitoring results, taking decisions on the maintenance schedule of the monitored system; Estimating remaining useful life [RUL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/13086—Priority interrupt
-
- 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/25255—Neural network
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Testing And Monitoring For Control Systems (AREA)
- Programmable Controllers (AREA)
Abstract
控制装置包含:特征量生成单元,其根据与控制对象相关联的数据,生成适合于检测控制对象所产生的异常的特征量;机器学习单元,其使用由特征量生成单元生成的特征量来实施机器学习;异常检测单元,其根据异常检测参数和由特征量生成单元生成的特征量来检测异常,其中,该异常检测参数是基于机器学习的学习结果而决定的,用于检测控制对象所产生的异常;指示单元,其对异常检测单元指示异常的检测;以及数据压缩单元,其在对由特征量生成单元生成的特征量进行数据压缩的基础上,提供给机器学习单元和异常检测单元。指示单元对异常检测单元发送检测异常所需的请求,异常检测单元在不针对该请求向所述指示单元回复答复的情况下就实施异常的检测。
Description
技术领域
本技术涉及能够对控制对象所产生的现象进行监视的控制装置、计算机可读记录介质以及控制方法。
背景技术
在各种生产现场中,使用了PLC(可编程控制器)等控制装置的FA(FactoryAutomation:工厂自动化)技术正在广泛普及。随着近年来的信息通信技术(ICT:Information and Communication Technology)的发展,这种FA领域的控制装置也越来越高性能化和高功能化。
作为这样的高性能化之一,存在缩短向控制装置输入数据和从控制装置输出数据的周期。例如,日本特开2012-194663号公报(专利文献1)公开了将PLC的CPU单元所进行的用于输出和输入控制数据的通信的周期设为比控制程序的最大执行时间短的规定时间的技术。
通过这样缩短数据输入输出的周期,能够以更高的精度实现控制、监视、异常检测、异常预测等。
另外,日本特开2013-008111号公报(专利文献2)公开了对机械设备有无异常预兆进行诊断的异常预兆诊断装置。在专利文献2所公开的异常预兆诊断装置中,从各个机械设备经由通信网络来发送由设置于机械设备的多个传感器测量出的多维传感器数据。通过数据挖掘等对这些多维传感器数据进行异常预兆的诊断。
现有技术文献
专利文献
专利文献1:日本特开2012-194663号公报
专利文献2:日本特开2013-008111号公报
发明内容
发明要解决的课题
通过采用上述专利文献1所公开的结构,能够实现高速的输入数据的取得,但无法将其应用于专利文献2所公开的异常预兆诊断装置。这是因为,在专利文献2所公开的异常预兆诊断装置中,由于多维传感器数据经由LAN(Local Area Network:局域网)、WAN(WideArea Network:广域网)等通信网络来发送,所以难以按照msec级、μsec级来收集输入数据。
因此,在专利文献2所公开的异常预兆诊断装置中,停留在能够诊断与发展速度比较慢的劣化相伴的异常预兆的程度。
本技术提供能够以更短的周期对控制对象所产生的现象进行监视的技术。
用于解决课题的手段
根据本发明的某个方面,提供对控制对象进行控制的控制装置。控制装置包括:PLC引擎,其执行用于控制控制对象的运算;以及机器学习引擎。PLC引擎具有特征量生成单元,该特征量生成单元根据与控制对象相关联的数据,生成适合于检测控制对象所产生的异常的特征量。机器学习引擎具有:机器学习单元,其使用由特征量生成单元生成的特征量来实施机器学习;以及异常检测单元,其根据基于机器学习的学习结果决定的用于检测控制对象所产生的异常的异常检测参数和由特征量生成单元生成的特征量来检测异常。该PLC引擎还具有:指示单元,其对异常检测单元指示异常的检测;以及数据压缩单元,其在对由特征量生成单元生成的特征量进行数据压缩的基础上,提供给机器学习单元和异常检测单元。指示单元对异常检测单元发送检测异常所需的请求,将针对该请求的答复的处理委托给机器学习引擎,异常检测单元在不针对该请求向指示单元回复答复的情况下就实施异常的检测。
优选数据压缩单元使用机器代码对成为对象的数据进行转换。
优选异常检测单元是通过包含异常检测参数的指定和成为对象的特征量的指定的用户程序而实现的。
优选控制装置还包含数据库,该数据库收集并存储与控制对象相关联的数据。
优选在数据库中收集有依照用户程序中所包含的命令而指定的数据。
优选控制装置还包含决定单元,该决定单元根据数据库中所收集的数据,决定适合于检测控制对象所产生的异常的特征量的生成方法。
优选控制装置还包含异常检测参数决定单元,该异常检测参数决定单元根据机器学习的学习结果来决定异常检测参数。
优选控制装置还包含保持单元,该保持单元对异常检测参数进行保持,并且根据来自外部装置的请求来更新所保持的异常检测参数。
根据本发明的另一方面,提供存储有通过由计算机执行而实现对控制对象进行控制的控制装置的控制程序的计算机可读记录介质。控制程序使计算机实现PLC引擎,其执行用于控制控制对象的运算;以及机器学习引擎。控制程序使计算机执行如下的步骤:PLC引擎根据与控制对象相关联的数据,生成适合于检测控制对象所产生的异常的特征量;机器学习引擎使用生成的特征量来实施机器学习;机器学习引擎根据基于机器学习的学习结果决定的用于检测控制对象所产生的异常的异常检测参数和所生成的特征量来检测异常;PLC引擎指示异常的检测;以及PLC引擎对生成的特征量进行数据压缩而提供用于机器学习和异常检测的数据。检测异常的步骤包括如下的步骤:在检测异常所需的请求被发送且针对该请求的答复的处理被委托给机器学习引擎后,在不针对该请求回复答复的情况下就实施异常的检测。
根据本发明的另一方面,提供由对控制对象进行控制的控制装置来执行的控制方法。控制装置具有:PLC引擎,其执行用于控制控制对象的运算;以及机器学习引擎。控制方法包含如下的步骤:PLC引擎根据与控制对象相关联的数据,生成适合于检测控制对象所产生的异常的特征量;机器学习引擎使用生成的特征量来实施机器学习;机器学习引擎根据基于机器学习的学习结果决定的用于检测控制对象所产生的异常的异常检测参数和所生成的特征量来检测异常;PLC引擎指示异常的检测;以及PLC引擎对生成的特征量进行数据压缩而提供用于机器学习和异常检测的数据。检测异常的步骤包括如下的步骤:在检测异常所需的请求被发送且针对该请求的答复的处理被委托给机器学习引擎后,在不针对该请求回复答复的情况下就实施异常的检测。
根据本发明的另一方面,提供对控制对象进行控制的控制装置。控制装置包含:数据收集单元,其收集与控制对象相关联的数据;特征量生成单元,其根据数据来生成特征量;检测单元,其根据异常检测参数和特征量来进行异常检测;指示单元,其向检测单元发送异常检测请求;以及数据库。当检测单元检测到某种异常时,在不针对异常检测请求向指示单元答复检测到异常的情况下,就将该检测到的异常存储在数据库中。
优选指示单元在向检测单元发送了异常检测请求之后,执行接下来的处理而不等待针对该异常检测请求的答复。
优选从指示单元向检测单元委托针对异常检测请求的处理。
优选指示单元以与检测单元中的处理不同步的方式执行处理。
优选检测单元输出包含检测到的异常的内容的事件日志。
优选检测单元除了输出事件日志之外,还将异常检测结果写入到数据库中。
优选检测单元根据异常检测参数来进行异常检测,异常检测参数构成为能够通过来自支持装置的访问而更新。
根据本发明的另一方面,提供存储有通过由计算机执行而实现对控制对象进行控制的控制装置的控制程序的计算机可读记录介质。控制程序使计算机作为如下的单元来发挥功能:数据收集单元,其收集与控制对象相关联的数据;特征量生成单元,其根据数据来生成特征量;检测单元,其根据异常检测参数和特征量来进行异常检测;指示单元,其向检测单元发送异常检测请求;以及数据库。当检测单元检测到某种异常时,在不针对异常检测请求向指示单元答复检测到异常的情况下,就将该检测到的异常存储在数据库中。
根据本发明的另一方面,提供由对控制对象进行控制的控制装置执行的控制方法。控制方法包含如下的步骤:收集与控制对象相关联的数据;根据数据来生成特征量;检测单元根据异常检测参数和特征量来进行异常检测;指示单元向检测单元发送异常检测请求;以及当检测单元检测到某种异常时,在不针对异常检测请求向指示单元答复检测到异常的情况下,就将该检测到的异常存储在数据库中。
发明效果
根据本技术,能够以更短的周期对控制对象所产生的现象进行监视。
附图说明
图1是示出本实施方式的控制***的整体结构例的示意图。
图2是示出构成本实施方式的控制***的控制装置的硬件结构例的框图。
图3是示出构成本实施方式的控制***的支持装置的硬件结构例的框图。
图4是用于对使用了本实施方式的控制***的异常检测的过程进行说明的示意图。
图5是用于对本实施方式的控制***的各装置所提供的功能进行说明的示意图。
图6是用于对使用了本实施方式的控制***的异常检测用的各工序中的处理内容进行说明的示意图。
图7是示出在本实施方式的控制***中生成的内部DB写入程序的一例的图。
图8是示出能够在本实施方式的控制***的数据挖掘工序中决定的特征量的列表的一例。
图9是示出在本实施方式的支持装置中在数据挖掘工序之后显示的用户接口画面的一例的图。
图10是示出在本实施方式的控制***中生成的特征量生成程序和学习请求程序的一例的图。
图11是示出通过实施在本实施方式的控制***中执行的机器学习而得到的学习结果的一例的图。
图12是示出在本实施方式的控制***中生成的特征量生成程序以及监视请求程序的一例的图。
图13是用于对本实施方式的控制***的控制装置中的串行化处理进行说明的示意图。
图14是用于对本实施方式的控制***的控制装置中的解串处理进行说明的示意图。
图15是用于本实施方式的控制***的控制装置中的机器学习引擎接口与机器学习引擎之间的数据交换进行说明的示意图。
图16是示出本实施方式的控制***的一个应用例的示意图。
图17是示出图16所示的控制***中的发生异物咬入时的状态值和根据状态值生成的特征量的变化的一例的图。
具体实施方式
参照附图对本发明的实施方式进行详细说明。另外,对图中的相同或相当的部分,标注相同的标号并省略其说明。
<A.控制***的整体结构例>
首先,对包含本实施方式的控制装置的控制***1的整体结构例进行说明。
图1是示出本实施方式的控制***1的整体结构例的示意图。参照图1,作为主要的构成要素,本实施方式的控制***1包含对控制对象进行控制的控制装置100和与控制装置100连接的支持装置200。
控制装置100也可以具体化为PLC(可编程控制器)等一种计算机。控制装置100经由第1现场网络2与现场装置组10连接,并且经由第2现场网络4与1个或多个显示装置400连接。此外,控制装置100经由本地网络6与数据记录装置300连接。控制装置100经由各个网络而在该控制装置100与所连接的装置之间交换数据。另外,数据记录装置300和显示装置400是可选的结构,不是控制***1的必须的结构。
控制装置100具有执行用于控制设备和/或机械的各种运算的控制逻辑(以下,也称为“PLC引擎”。)。除了PLC引擎之外,控制装置100还具有收集由现场装置组10计测并向控制装置100传送的数据(以下,也称为“输入数据”。)的收集功能。此外,控制装置100还具有对收集到的输入数据进行监视的监视功能。通过将这些功能安装于控制装置100,能够以更短的周期对控制对象所产生的现象进行监视。
具体来说,安装于控制装置100的内部数据库(以下,也称为“内部DB”。)130提供收集功能,安装于控制装置100的机器学习引擎140提供监视功能。在后面对内部DB 130和机器学习引擎140进行详述。
优选第1现场网络2和第2现场网络4采用确保了数据的到达时间的、进行固定周期通信的网络。作为这样的进行固定周期通信的网络,公知有EtherCAT(注册商标)、EtherNet/IP(注册商标)、DeviceNet(注册商标)、CompoNet(注册商标)等。
现场装置组10包含从控制对象或与控制相关联的制造装置、生产线等(以下,也总称为“现场”。)收集输入数据的装置。作为这样的收集输入数据的装置,可想到输入继电器、各种传感器等。现场装置组10还包含根据由控制装置100生成的指令(以下,也称为“输出数据”。)对现场施加某种作用的装置。作为这样的对现场施加某种作用的装置,可想到输出继电器、接触器、伺服驱动器以及伺服电机等其他任意的致动器。这些现场装置组10经由第1现场网络2而在该现场装置组10与控制装置100之间交换包括输入数据和输出数据在内的数据。
在图1所示的结构例中,现场装置组10包含远程I/O(Input/Output,输入输出)装置12、继电器组14、图像传感器18和摄像机20、以及伺服驱动器22和伺服电机24。
远程I/O装置12包含:通信部,其经由第1现场网络2来进行通信;以及输入输出部(以下,也称为“I/O单元”。),其用于进行输入数据的取得和输出数据的输出。在控制装置100与现场之间经由这样的I/O单元来交换输入数据和输出数据。在图1中示出了借助继电器组14作为输入数据和输出数据来交换数字信号的例子。
I/O单元也可以与现场网络直接连接。在图1中示出了第1现场网络2与I/O单元16直接连接的例子。
图像传感器18对由摄像机20拍摄到的图像数据进行模式匹配等图像计测处理,并将其处理结果向控制装置100发送。
伺服驱动器22依照来自控制装置100的输出数据(例如,位置指令等)对伺服电机24进行驱动。
如上所述,在控制装置100与现场装置组10之间经由第1现场网络2来交换数据,但这些被交换的数据以几百μsec级~几十msec级的极短的周期被更新。另外,有时也将这种交换数据的更新处理称为“I/O更新处理”。
另外,经由第2现场网络4而与控制装置100连接的显示装置400接受来自用户的操作而对控制装置100发送与用户操作对应的命令等,并且将控制装置100中的运算结果等显示为图形。
数据记录装置300经由本地网络6与控制装置100连接,并在数据记录装置300与控制装置100之间交换所需的数据。数据记录装置300例如具有数据库功能,按时序收集控制装置100所发生的事件日志等。在本地网络6中,也可以安装以太网(注册商标)等通用协议。即,典型地,本地网络6中的数据的发送周期或更新周期比现场网络(第1现场网络2和第2现场网络4)中的数据的发送周期或更新周期慢。但是,也可以是,与现场网络相比,本地网络6一次发送更多的数据。
支持装置200是支持控制装置100为了对控制对象进行控制所需的准备的装置。具体来说,支持装置200提供由控制装置100执行的程序的开发环境(程序生成编辑工具、解析器、编译器等)、用于设定控制装置100和与控制装置100连接的各种器件的参数(配置)的设定环境、将生成的用户程序向控制装置100发送的功能、对在控制装置100上执行的用户程序等进行在线修正/变更的功能等。
此外,本实施方式的支持装置200具有对安装于控制装置100的内部DB 130和机器学习引擎140进行设定操作的功能。在后面对这些功能进行叙述。
<B.各装置的硬件结构例>
接着,对构成本实施方式的控制***1的主要装置的硬件结构例进行说明。
(b1:控制装置100的硬件结构例)
图2是示出构成本实施方式的控制***1的控制装置100的硬件结构例的框图。参照图2,控制装置100包含CPU(Central Processing Unit:中央处理单元)、MPU(Micro-Processing Unit:微处理单元)等处理器102、芯片组104、主存储装置106、二次存储装置108、本地网络控制器110、USB(Universal Serial Bus:通用串行总线)控制器112、存储卡接口114、内部总线控制器122、现场总线控制器118、120以及I/O单元124-1、124-2、···。
处理器102读出存储于二次存储装置108中的各种程序,通过在主存储装置106中展开并执行各种程序而实现与控制对象对应的控制和后述的各种处理。芯片组104通过对处理器102和各组件进行控制而实现作为控制装置100整体的处理。
在二次存储装置108中,除了用于实现PLC引擎的***程序之外,还存储有利用PLC引擎来执行的用户程序。此外,在二次存储装置108中还存储有用于实现内部DB 130和机器学习引擎140的程序。
本地网络控制器110对经由本地网络6的与其他装置之间的数据交换进行控制。USB控制器112对经由USB连接与支持装置200之间的数据交换进行控制。
存储卡接口114构成为能够装卸存储卡116,能够向存储卡116写入数据,从存储卡116读出各种数据(用户程序、跟踪数据等)。
内部总线控制器122是在搭载于控制装置100的I/O单元124-1、124-2、…之间交换数据的接口。
现场总线控制器118对经由第1现场网络2的与其他装置之间的数据交换进行控制。同样,现场总线控制器120对经由第2现场网络4的与其他装置之间的数据交换进行控制。
在图2中示出了由处理器102执行程序从而提供所需功能的结构例,但也可以使用专用的硬件电路(例如,ASIC(Application Specific Integrated Circuit:专用集成电路)或FPGA(Field-Programmable Gate Array:现场可编程门阵列)等)来安装这些被提供的功能的一部分或全部。或者,也可以使用遵从通用架构的硬件(例如,以通用个人计算机为基础的产业用个人计算机)来实现控制装置100的主要部分。在该情况下,也可以使用虚拟技术来并行执行用途不同的多个OS(Operating System:操作***),并且在各OS上执行必要的应用程序。
(b2:支持装置200的硬件结构例)
接着,作为一例,本实施方式的支持装置200是通过使用遵从通用架构的硬件(例如,通用个人计算机)来执行程序而实现的。
图3是示出构成本实施方式的控制***1的支持装置200的硬件结构例的框图。参照图3,支持装置200包含CPU、MPU等处理器202、光学驱动器204、主存储装置206、二次存储装置208、USB控制器212、本地网络控制器214、输入部216以及显示部218。这些组件经由总线220连接。
处理器202读出存储于二次存储装置208中的各种程序,通过在主存储装置206中展开并执行各种程序而实现后述的各种处理。
二次存储装置208例如由HDD(Hard Disk Drive:硬盘驱动器)、SSD(Flash SolidState Drive:固态驱动器)等构成。在二次存储装置208中典型地存储有开发程序222、参数设定工具224以及数据挖掘工具226,其中,该开发程序222用于进行在支持装置200中执行的用户程序的生成、所生成的程序的调试、***结构的定义、各种参数的设定等,该参数设定工具224用于指定作为机器学习的对象的变量,该数据挖掘工具226用于从控制装置100所收集的数据中提取目标信息。在二次存储装置208中也可以存储有OS及其他必要的程序。
支持装置200具有光学驱动器204,该支持装置200从非临时存储程序的计算机可读的记录介质205(例如,DVD(Digital Versatile Disc:数字多功能光盘)等光学记录介质)中读取存储在该记录介质205中的程序并安装于二次存储装置208等。
由支持装置200执行的各种程序可以经由计算机可读的记录介质205来安装,但也可以以从网络上的服务器装置等下载的方式来安装。另外,本实施方式的支持装置200所提供的功能有时也以利用OS提供的模块的一部分的方式来实现。
USB控制器212对经由USB连接的与控制装置100之间的数据交换进行控制。本地网络控制器214对经由任意网络的与其他装置之间的数据交换进行控制。
输入部216由键盘、鼠标等构成,受理用户操作。显示部218由显示器、各种指示器、打印机等构成,输出来自处理器202的处理结果等。
在图3中示出了由处理器202执行程序来提供必要功能的结构例,但也可以使用专用的硬件电路(例如,ASIC或FPGA等)来安装这些被提供的功能的一部分或全部。
(b3:数据记录装置300的硬件结构例)
接着,作为一例,构成本实施方式的控制***1的数据记录装置300可以使用通用的文件服务器或数据库服务器来实现。由于这样的装置的硬件结构是公知的,所以这里不进行其详细的说明。
(b4:显示装置400的硬件结构例)
接着,构成本实施方式的控制***1的显示装置400也被称为HMI(Human MachineInterface:人机界面)装置,可以采用安装成专用机的结构,也可以使用遵从通用架构的硬件(例如,以通用个人计算机为基础的产业用个人计算机)来实现。
<C.控制***所提供的异常检测功能>
接着,对本实施方式的控制***1所提供的异常检测功能进行说明。
图4是用于对使用了本实施方式的控制***1的异常检测的过程进行说明的示意图。图4所示的异常检测的过程整体上由6个工序构成。
具体来说,首先,实施(1)原始数据收集工序。在(1)原始数据收集工序中,由控制装置100进行处理的数据中的、在与异常检测有关的解析中加以使用的数据被写入到内部DB 130中。(1)原始数据收集工序是通过执行后述的控制装置100的内部DB写入程序而实现的。
在控制装置100中,对与现场之间交换的数据(输入数据和输出数据)以及各个内部数据分配唯一的变量名,利用各自的变量名来记述用户程序等。即,在控制装置100中,提供能够进行变量编程的环境。因此,在以下的说明中,“变量的指定”或“变量的确定”这样的表述与确定作为对象的数据的情况实质上被同义地使用。另外,本发明的范围并不限定于能够进行变量编程的结构,即使是直接指定存储器上的地址的结构,也能够包含在技术范围内。
接着,实施(2)数据挖掘工序。在(2)数据挖掘工序中,读入被写入到内部DB 130的数据,并决定异常检测方法。异常检测方法表示用什么样的逻辑来监视什么样的数据才能检测到目标异常的方法。在本实施方式中,异常检测方法包含根据来自现场的1个或多个数据来生成特征量的生成方法。(2)数据挖掘工序典型地是通过执行后述的支持装置200的数据挖掘工具而实现的。根据所决定的异常检测方法,输出用于生成特征量的设定、参数等。
接着,实施(3)特征量收集工序。在(3)特征量收集工序中,将在之前的(2)数据挖掘工序中决定出的特征量的生成方法应用于与现场之间交换的数据和内部数据中的作为对象的数据,而依次生成特征量。(3)特征量收集工序是通过执行后述的控制装置100的特征量生成程序而实现的。
接着,实施(4)特征量学习工序。在(4)特征量学习工序中,对在(3)特征量收集工序中收集到的特征量实施机器学习处理,根据该机器学习处理的结果来决定用于异常检测的异常检测参数(典型的是阈值等)。(4)特征量学习工序是通过后述的控制装置100的机器学习引擎来提供的。
通过以上那样的(1)~(4)的工序,能够决定用于异常检测的特征量的定义以及用于判断为异常的异常检测参数等。然后,实施监视有无发生异常的工序。具体来说,实施(5)特征量监视工序。在(5)特征量监视工序中,对按照每个规定周期或每个规定事件生成的特征量进行监视,即,判断所生成的特征量是否符合由预定的异常检测参数规定的条件。然后,当检测到异常时,输出示出该检测到的异常的事件日志。
也可以是,当在(5)特征量监视工序中检测到某种异常的情况下,实施评价其妥当性的工序。即,也可以根据某种异常检测来实施(6)评价工序。在(6)评价工序中,根据异常检测结果来评价所检测到的异常的妥当性。(6)评价工序典型地是通过执行后述的支持装置200的数据挖掘工具而实现的。也可以根据(6)评价工序中的评价结果来调整用于异常检测的异常检测参数等。
图5是用于对本实施方式的控制***1的各装置所提供的功能进行说明的示意图。在图5所示的示意图中,括号内的数字与图5所示的(1)~(6)的工序中的处理对应。
控制装置100除了具有内部DB 130和机器学习引擎140之外,还具有PLC引擎150。这些功能基本上是控制装置100的处理器102(图2)通过执行程序而实现的。为了提供用于供该处理器102执行程序的环境,在控制装置100中也安装有OS 190。
PLC引擎150典型地是通过在OS 190上执行***程序和用户程序而提供的。也就是说,根据本发明的某个方面,可包含一种程序,该程序通过由计算机执行而实现包含PLC引擎150的控制装置100。
更具体来说,PLC引擎150包含调度器152、变量管理器154以及控制程序160。
调度器152对构成PLC引擎150的各程序(或者,与其对应的任务)的执行定时、执行顺序等进行控制。对于PLC引擎150所包含的各任务,预先确定了执行周期,调度器152以能够按照该确定出的执行周期反复执行任务的方式进行控制。
变量管理器154将通过I/O更新处理而被更新的数据作为变量来进行管理,其中,该I/O更新处理在PLC引擎150中周期性地被执行。更具体来说,变量管理器154对***变量1542、用户变量/器件变量1544以及异常检测参数1546进行保持和管理,其中,该***变量1542包含示出控制装置100的各部分的动作状态的数据组,该用户变量/器件变量1544包含有在PLC引擎150中执行的用户程序进行写入/读出的数据组,该异常检测参数1546用于异常检测。
关于异常检测参数1546,能够通过支持装置200的PLC变量访问程序2242来进行访问和更新。也就是说,变量管理器154提供如下的功能:对异常检测参数1546进行保持,并且根据来自外部装置的请求来更新所保持的异常检测参数1546。
控制程序160相当于用户能够任意生成的用户程序,典型地包含顺序/运动程序(sequence/motion program)162、内部DB写入程序164、机器学习引擎接口166以及特征量生成程序174。构成控制程序160的程序的命令可以被记述为一体的程序,也可以分别分成多个程序来记述。
顺序/运动程序162包含进行逻辑运算和/或数值运算的命令,该逻辑运算和/或数值运算用于对控制对象进行控制。内部DB写入程序164将用户变量/器件变量1544所包含的变量中的预先指定的变量写入到内部DB 130中。
机器学习引擎接口166包含用于操作机器学习引擎140的命令。具体来说,机器学习引擎接口166包含学习请求程序168、监视请求程序170以及串行化模块172。
也就是说,机器学习引擎接口166包含通过学习请求程序168对机器学习引擎140指示机器学习的命令,并且机器学习引擎接口166包含通过监视请求程序170使用异常检测参数1546来监视特征量并指示异常检测的命令。
串行化模块172执行串行化处理,该串行化处理用于减少学习请求程序168和监视请求程序170与机器学习引擎140之间的通信量。如后述那样,串行化模块172提供如下的数据压缩功能:将通过执行特征量生成程序174而生成的特征量进行数据压缩之后提供给学习功能142和异常检测功能144。
特征量生成程序174包含如下的命令:依照预先指定的特征量的生成方法,使用由用户变量/器件变量1544指定的变量来生成特征量。如后述那样根据控制对象来决定适当的特征量的生成方法。即,特征量生成程序174根据与控制对象相关联的数据,生成适合于检测控制对象所产生的异常的特征量。
在内部DB 130中典型地存储有在(1)原始数据收集工序中收集的原始数据132、在(4)特征量学习工序中取得的学习结果134、以及在(5)特征量监视工序中输出的异常检测结果136。
机器学习引擎140包含如下的功能:学习功能142,其用于执行在(4)特征量学习工序中必要的处理;以及异常检测功能144,其用于执行在(5)特征量监视工序中必要的处理。学习功能142使用通过执行特征量生成程序174而生成的特征量来实施机器学习。异常检测功能144根据异常检测参数1546和通过执行特征量生成程序174而生成的特征量来检测控制对象的异常,其中,该异常检测参数1546是基于学习功能142的机器学习的学习结果而决定的,用于检测控制对象所产生的异常。然后,当异常检测功能144检测到某种异常时,输出示出该检测到的异常的内容的事件日志146。异常检测功能144依照来自监视请求程序170的请求来进行动作。也就是说,监视请求程序170对异常检测功能144指示异常的检测。
另一方面,除了开发程序222(图3)之外,在支持装置200中还安装有参数设定工具224和数据挖掘工具226。
参数设定工具224包含PLC变量访问程序2242,该PLC变量访问程序2242用于对控制装置100的变量管理器154所管理的各变量进行访问。PLC变量访问程序2242可以参照和改写控制装置100内部的变量。
数据挖掘工具226包含内部DB访问功能2262、数据挖掘功能2264以及可视化功能2266。内部DB访问功能2262对内部DB 130进行访问而提取内部DB 130所收集的原始数据中的所需数据。数据挖掘功能2264主要实施上述的(2)数据挖掘工序。可视化功能2266以视觉化方式向用户提示通过(2)数据挖掘工序等而得到的各种信息、在(5)特征量监视工序中检测到的异常的内容等。
根据数据挖掘工具226,通过实施(2)数据挖掘工序来决定特征量生成方法并且决定异常检测方法,通过实施(4)特征量学习工序来决定异常检测参数,通过实施(6)评价工序来生成异常检测的评价结果。
接着,对(1)~(6)所示的各工序与图5所示的各元件的动作之间的关系进行说明。图6是用于对使用了本实施方式的控制***1的异常检测用的各工序中的处理内容进行说明的示意图。
参照图6,在(1)原始数据收集工序中,用户对支持装置200的开发程序222进行操作而生成用于指定要在内部DB 130中收集的变量的用户程序(步骤S10)。该生成的用户程序相当于内部DB写入程序164。通过在控制装置100的PLC引擎150中执行内部DB写入程序164,向控制装置100的内部DB 130写入原始数据132(步骤S12)。
在(2)数据挖掘工序中,用户对支持装置200的数据挖掘工具226进行操作而读出内部DB 130所收集的原始数据132并进行解析,从而决定特征量的生成方法和异常检测方法(步骤S20)。
在(3)特征量收集工序中,用户对支持装置200的开发程序222进行操作而生成反映出在(2)数据挖掘工序中决定出的特征量的生成方法的、与特征量生成相关的用户程序(步骤S30)。该生成的用户程序相当于特征量生成程序174。
在(4)特征量学习工序中,用户对支持装置200的开发程序222进行操作而生成用于指定使用了特征量的机器学习的用户程序(步骤S40)。该生成的用户程序相当于学习请求程序168。通过在控制装置100的PLC引擎150的机器学习引擎接口166执行学习请求程序168,控制装置100的机器学习引擎140的学习功能142实施机器学习,该学习结果134被存储到内部DB 130中。另外,也可以同时执行(3)特征量收集工序的特征量生成程序174和(4)特征量学习工序的学习请求程序168。
然后,用户对支持装置200的数据挖掘工具226进行操作而读出存储在内部DB130中的学习结果134并进行解析,由此决定异常检测参数(步骤S42)。接着,用户对支持装置200的开发程序222进行操作而将所决定的异常检测参数传送给控制装置100的PLC引擎150(步骤S44)。
在(5)特征量监视工序中,用户对支持装置200的开发程序222进行操作而生成用于监视发生某种异常的用户程序(步骤S50)。该生成的用户程序相当于监视请求程序170。通过在控制装置100的PLC引擎150的机器学习引擎接口166中执行监视请求程序170,控制装置100的机器学习引擎140的异常检测功能144实施异常检测处理,当检测到某种异常时,输出包含该内容的事件日志146(步骤S52),并且向内部DB 130写入异常检测结果136(步骤S54)。
在(6)评价工序中,用户对支持装置200的开发程序222进行操作而读出存储在内部DB 130中的异常检测结果136,并对该内容的妥当性进行评价(步骤S60)。用户也可以根据需要对异常检测参数1546进行调整。
通过将以上那样的控制装置100和支持装置200的各元件连系起来,实现本实施方式的异常检测功能。
<D.原始数据收集工序>
接着,对在(1)原始数据收集工序中生成的用户程序(内部DB写入程序164)进行说明。
图7是示出在本实施方式的控制***1中生成的内部DB写入程序164的一例的图。参照图7,典型地可以使用内部DB写入功能块1642来记述内部DB写入程序164。
对于内部DB写入功能块1642,定义有用于确定内部DB 130中所收集的原始数据的集合的表名1644、指定内部DB 130中所收集的变量的对象变量指定1646、以及指定内部DB130收集变量的周期的周期指定1648。
用户将任意的名称指定为表名1644,并且将表示作为对象的变量的变量名指定为对象变量指定1646。另外,将作为对象的变量的收集周期(收集频率)指定为周期指定1648。在图7所示的例子中,4个变量(Input01~04)按照100msec的周期被收集在命名为VariableSet01这一名称的表中。另外,也可以指定用于使内部DB写入功能块1642有效地进行动作的条件。
另外,图7所示的用户程序是一个例子,可以采用任意的记述方法。例如,也可以使用梯形图语言、结构化文本等。
这样,作为收集与控制对象相关联的数据并进行存储的数据库,控制装置100具有内部DB 130。并且,在内部DB 130中收集有依照用户程序中所包含的命令(例如,内部DB写入功能块1642)而指定的数据。
在本实施方式的控制***1中,用户仅通过记述上述那样的用户程序(内部DB写入程序164)便能够按照控制装置100的控制周期(几百μsec级~几十msec级)来收集所需的1个或多个变量的时间序列,与以往的***相比,能够进行粒度更细的分析。
<E.数据挖掘工序>
接着,对在(2)数据挖掘工序中决定的特征量的生成方法和异常检测方法的一例进行说明。
图8是示出能够在本实施方式的控制***1的数据挖掘工序中决定的特征量的列表的一例。图8所示的多个特征量是预先定义的,在数据挖掘工序中,针对在内部DB 130中收集的原始数据使用哪种特征量是优选的而决定的。
具体来说,使用内部DB 130中所收集的原始数据来计算图8所示的各个特征量,其特征量的变化程度大的特征量被确定为候选。
或者,作为典型的方法,也可以使用各种主成分分析。作为主成分分析的方法,可以采用公知的任意方法。
图9是示出在本实施方式的支持装置200中在数据挖掘工序之后显示的用户接口画面的一例的图。参照图9,在用户接口画面500中,将通过实施数据挖掘工序而导出的特征量生成方法和异常检测方法的候选与用于确定作为数据挖掘工序的对象的原始数据组的确定信息502一起进行显示(候选504~506)。
在各个候选504~506中,显示有用于生成特征量的1个或多个变量与使用这些变量生成的特征量的种类的组合,同时也显示有用于监视所生成的特征量的算法。例如,在候选504中,变量Input01与变量Input02之间的相关值被列举为特征量生成方法(即,特征量)的候选,进而,监视该特征量的下限值的方法被列举为异常检测方法的候选。其他候选505和候选506也同样如此。
此外,在候选504~506的各个候选中,还显示有“观察波形”的按钮,用户通过选择该按钮,还能够确认在决定了对应的特征量生成方法和异常检测方法的候选时所使用的波形等。
最终,用户通过在用户接口画面500中对被认为是最优选的候选选择单选按钮508,决定特征量生成方法和异常检测方法。这样,通过执行支持装置200的数据挖掘工具226,提供如下的功能:根据在控制装置100的内部DB 130中收集的数据,决定适合于检测控制对象所产生的异常的特征量的生成方法。
<F.特征量收集工序和特征量学习工序>
接着,对在(3)特征量收集工序和(4)特征量学习工序中生成的用户程序(特征量生成程序174和学习请求程序168)进行说明。
图10是示出在本实施方式的控制***1中生成的特征量生成程序174和学习请求程序168的一例的图。参照图10,典型地也可以使用特征量生成功能块1742来记述特征量生成程序174。特征量生成功能块1742是与图9的用户接口画面500的第1个候选对应并将相关值计算为特征量的功能模块。
针对特征量生成功能块1742,定义有指定用于计算特征量的变量的输入变量指定1344和表示计算出的特征量的输出目的地的输出目的地指定1746。另外,由于(4)特征量学习工序是决定用于异常检测的异常检测参数,所以也可以设定用于使特征量生成功能块1742有效地进行动作的条件1748。该条件1748设定有表示在作为监视对象的设备或机械中可能发生某种异常的状况的变量。例如,能够设定作为监视对象的设备或机械的温度超过预定值的情况等。或者,也可以将作为监视对象的设备或机械实际正进行动作的情况设定为条件1748。通过指定这样的条件1748,能够减少要生成的特征量的数据量,并且能够提高机器学习的效率和精度。
也可以在特征量生成功能块1742的输出级(输出目的地指定1746)连接用于执行与学习请求程序168对应的处理的学习请求功能块1682。即,特征量生成功能块1742的输出目的地指定1746与对作为学习请求功能块1682的学习对象的特征量的变量进行指定的输入变量指定1684连接。
向学习请求功能块1682的输出级(学习结果输出目的地指定1686)输出通过学习请求程序168实现的机器学习的结果而获得的信息(学习结果134)。
图11是示出通过实施在本实施方式的控制***1中执行的机器学***均值和标准偏差等。
用户通过参照图11所示的学***均值和标准偏差来确定包含各簇的波动的范围而决定异常检测参数。例如,在图11所示的例子中,由于第1个和第2个簇相聚较远,所以能够将处于各簇的平均值的中间的“47.5”设定为异常检测参数。
如果能够设定异常检测参数,则(3)特征量收集工序和(4)特征量学习工序完成。这样,通过执行支持装置200的数据挖掘工具226,提供根据机器学习的学习结果来决定异常检测参数1706的功能。
<G.特征量监视工序>
接着,对在(5)特征量监视工序中生成的用户程序(监视请求程序170)进行说明。
图12是示出在本实施方式的控制***1中生成的特征量生成程序174和监视请求程序170的一例的图。与上述图10同样,使用特征量生成功能块1742来记述特征量生成程序174。
也可以在特征量生成功能块1742的输出级(输出目的地指定1746)连接用于执行与监视请求程序170对应的处理的监视请求功能块1702。即,特征量生成功能块1742的输出目的地指定1746与对作为监视请求功能块1702的监视对象的特征量的变量进行指定的输入变量指定1704连接。此外,在监视请求功能块1702中定义有作为异常检测的阈值来发挥功能的异常检测参数1706。
当按照每个控制周期对在输入变量指定1704中指定的变量(特征量)和在异常检测参数1706中指定的阈值进行比较而发生跨越阈值的事件时,特征量生成功能块1742将被定义为故障输出目的地指定1708的变量(线圈)驱动为接通(ON)。在用户程序中,根据被指定为故障输出目的地指定1708的变量的值,能够立即检测出作为控制对象的设备或机械中的异常。
这样,异常检测功能144是通过包含异常检测参数1706的指定和作为对象的特征量的指定的用户程序(特征量生成功能块1742)而实现的。能够使用这样的功能块来规定异常检测的处理,从而能够提高通用性。
另外,在(5)特征量监视工序中,有时优选在作为对象的设备或机械实际正进行动作的状态下来实施异常检测处理,在该情况下,也可以设定用于使特征量生成功能块1742有效地进行动作的条件1749。该条件1749设定有表示作为监视对象的设备或机械正在进行动作的某种变量。另外,也可以不对特征量生成功能块1742而对监视请求功能块1702设定用于有效地进行动作的条件。通过指定这样的条件1749,能够降低错误地检测到作为对象的设备或机械的异常的可能性,能够提高异常检测的精度。
通过上述那样的用户程序(监视请求程序170),能够进行针对作为对象的设备或机械的异常检测。
<H.串行化模块>
构成本实施方式的控制***1的控制装置100通过安装内部DB 130来实现更高速的数据收集。作为使该数据收集更高速的方法,也可以采用接下来说明的串行化技术和解串技术。这样的串行化技术和解串技术也可以通过串行化模块172(图5)来提供。
(h1:基于串行化的数据压缩)
首先,对基于串行化的数据压缩进行说明。图13是用于对本实施方式的控制***1的控制装置100中的串行化处理进行说明的示意图。参照图13,例如,假设了在内部DB 130中收集的数据是由所谓的键值对(key value pair)规定的情况。即,通过表示某个值意味着什么的“键”数据与现实的值的组合来规定对象的输入数据。在该情况下,由于还包含冗余信息,所以串行化模块172对这些输入数据进行串行化以减少数据量(数据压缩)。
作为一例,可想到在将输入数据中所包含的数据划分为单位数据之后置换为表示各单位数据的被缩短后的数据的方法。或者,如图13所示,也可以转换为处理器102能够直接解释的机器代码。也就是说,串行化模块172也可以使用机器代码对作为对象的数据进行转换,由此实现数据压缩。
通过转换为这样的机器代码,能够降低初始的输入数据所具有的冗余度。另外,机器学习引擎140即使数据处于数据压缩后的状态,也能够直接解释输入数据,因此也可以使用数据压缩后的输入数据来进行机器学习。
这样,在向内部DB 130写入数据之前,能够通过实施数据压缩处理来提高对内部DB 130的访问速度。
(h2:解串处理的高速化)
当在上述那样的串行化的状态下将数据存储在内部DB 130中的情况下,在访问该数据时,需要进行与串行化相反的转换(即解串)。这样的解串也可以采用以下说明的处理高速化方法。
图14是用于对本实施方式的控制***1的控制装置100中的解串处理进行说明的示意图。参照图14,假设了从内部DB 130读出作为目标的对象数据1302的情况。对象数据1302被串行化,原来的情况下需要对对象数据1302的整体进行解串。
与此相对,在本实施方式的控制装置100中,串行化模块172的处理引擎1722将对象数据1302中所包含的一部分数据复制到缓冲区域1724,在缓冲区域1724中生成解串对象数据1302时所需的1个或多个目标(object)1726。然后,串行化模块172的处理引擎1722一边参照所生成的1个或多个目标1726,一边输出对对象数据1302进行解串后的结果,而不是将对象数据1302的剩余数据向缓冲区域1724复制等。
这样,仅通过复制对象数据的一部分便能够完成解串,不用读出串行化后的所有数据并暂时复制,因此能够使读出处理高速化。
<I.基于机器学习引擎接口的数据直接写入>
接着,对机器学习引擎接口166与机器学习引擎140之间的数据交换进行说明。图15是用于对本实施方式的控制***1的控制装置100中的机器学习引擎接口166与机器学习引擎140之间的数据交换进行说明的示意图。
在图15的(A)中示出了典型的服务器/客户端模型下的数据交换。在该结构中,当机器学习引擎接口166对机器学习引擎140发送请求时,机器学习引擎接口166受理该请求而进行处理,并且答复其处理结果。然后,机器学习引擎接口166接受来自机器学习引擎140的答复而登记事件日志。
在采用了这样的发送请求、等待与该请求对应的答复而进行处理的结构的情况下,在等待答复的期间,无法执行接下来的处理,不得不暂时中断处理。
与此相对,在本实施方式的控制装置100中,如图15的(B)所示,通过将针对请求的答复的处理(在该例中为登记事件日志)从机器学习引擎接口166委托(delegation)给机器学习引擎140,减少了机器学习引擎接口166处的响应等待时间。即,在图15的(B)所示的结构中,机器学习引擎接口166只对机器学习引擎140发送请求。于是,机器学习引擎接口166受理来自机器学习引擎接口166的请求而进行处理,并且接受其处理结果而登记事件日志146。
这样,机器学习引擎接口166只要仅对机器学习引擎140发送必要的请求即可,不用等待之后的答复等处理便能够继续进行后续的处理。也就是说,机器学习引擎接口166对异常检测功能144发送异常检测所需的请求,异常检测功能144在不针对该请求向机器学习引擎接口166回复答复的情况下就实施异常检测。
通过采用这样的结构,能够使机器学习引擎接口166与机器学习引擎140之间的数据的交换高速化。也就是说,能够以非同步的方式执行机器学习引擎接口166中的处理和机器学习引擎140中的处理,由此,能够减少机器学习引擎接口166处的处理等待时间。
<J.应用例>
接着,对使用了本实施方式的控制***1的应用例进行说明。
图16是示出本实施方式的控制***1的一个应用例的示意图。在图16中示出了作为包含包装机600的控制***1而构成的情况的例子。
参照图16,包装机600依次进行利用回转部件对沿规定的搬运方向搬运的包装体604进行密封和切断中的至少一方。包装机600具有一对回转部件610和620,回转部件610和620同步地进行旋转。各回转部件被配置成与包装体604相接的位置处的外周的切线方向与搬运方向一致。在各回转部件上,在预定的位置配置有加热器和切割器,通过使这些加热器和切割器与包装体604接触,实现了对包装体604的密封和切断的处理。
包装机600的回转部件610和620分别通过伺服电机618和628以旋转轴612和622为中心同步地进行旋转驱动。在回转部件610和620的表面分别设置有处理机构614和624,处理机构614包含:加热器615和616,它们沿圆周方向(旋转方向)前后配置;以及切割器617,其配置在加热器615与加热器616之间。同样,处理机构624包含:加热器625和626,它们沿圆周方向前后配置;以及切割器627,其配置在加热器625与加热器626之间。回转部件610和620包含切割器617和627,该切割器617和627配置在回转部件610和620的外周面上,用于切断包装体604。
通过使回转部件610和620与包装体604的搬运速度同步地进行旋转,利用加热器615和加热器625将在包装体604的纸面右侧的位置对置的面彼此(上表面和下表面)密封(粘接),并且利用加热器616和加热器626将在包装体604的纸面左侧的位置对置的面彼此(上表面和下表面)密封(粘接)。与这些密封处理并行地通过切割器617和切割器627将包装体604切断。通过反复进行这样的一系列处理,对包含被包装物605的包装体604反复执行密封和切断,从而依次生成单个包装体606。
对回转部件610和620进行旋转驱动的伺服电机618和628是驱动器(驱动装置)的一例,通过伺服驱动器619和629来控制旋转速度和转矩等。控制装置100可以从伺服驱动器619和629收集伺服电机618和628的状态值、即回转部件610和620的实际值。作为伺服驱动器619和629的状态值(或者回转部件610和620的实际值),包含(1)旋转位置(位相/旋转角度)、(2)速度、(3)加速度、(4)转矩值、(5)电流值、(6)电压值等。
控制装置100使用伺服驱动器619和629(或者回转部件610和620)的状态值来检测异物的咬入。
异物咬入会因包装体604自身的位置偏移、包装体604所包含的被包装物605的位置偏移等而产生。由于发生异物咬入,所以对回转部件610和620进行旋转驱动的伺服电机618和628产生了更大的转矩。有时通过对这样的转矩变化进行监视,能够检测到异物咬入的异常。
图17是示出图16所示的控制***1中的发生异物咬入时的状态值和根据状态值生成的特征量的变化的一例的图。在图17的(A)中示出了与回转部件610和620产生的力相关联的信号强度的时间变化的一例。在图17的(A)所示的信号强度的时间变化的一例中,在咬入了相对较大的异物的情况下,信号强度会大幅变化而超过预定的阈值,因此能够检测到异常。
另一方面,在咬入了相对较小的异物的情况下,信号强度的变化较小,达不到预定的阈值。因此,对于相对较小的异物的咬入,无法检测到异常。
针对这样的情况,在使用了本实施方式的控制***1所提供的异常检测功能的情况下,由于能够设定适当的特征量和适当的异常检测参数,所以也能够通过直接观测回转部件产生的转矩来检测无法检测到的异常。
作为一例,通过生成图17的(B)所示的特征量,即使在咬入相对较小的异物时,也能够与无咬入的通常状态充分地区分开。
通过在通常状态下产生的特征量与在咬入了相对较小的异物时产生的特征量之间设定阈值(异常检测参数),即使在咬入的异物相对较小的情况下,也能够检测到异常。
<K.变形例>
也可以将上述支持装置200的功能的全部或一部分组入到控制装置100中。例如,安装于支持装置200的数据挖掘工具226也可以安装于控制装置100。通过采用这样的结构,不用在支持装置200侧安装更多的应用程序便能够使用本实施方式的功能。
另外,图5和图6所示的模块结构是一个例子,只要能够提供上述那样的功能,则也可以采用任意的安装。例如,可以通过硬件上的制约、编程上的制约等将图5和图6所示的功能模块安装成多个功能模块的集合,也可以将图5和图6所示的多个功能模块安装成一个模块。
<L.优点>
根据本实施方式的控制***,在与现场之间交换数据的控制装置中安装收集数据的数据库,并且使用该数据库所收集的数据来进行机器学习,进而也可以使用机器学习的结果来检测有无异常。通过采用这样的高功能化的控制装置,与以往的结构相比,能够实现可以以更短的周期对控制对象中产生的现象进行监视的技术。
应当认为,本次公开的实施方式在所有的方面只是例示的而不是限制性的。本发明的范围不是通过上述说明表示而是通过权利要求书表示,旨在包含与权利要求书均等的含义以及权利要求书的范围内的所有的变更。
标号说明
1:控制***;2:第1现场网络;4:第2现场网络;6:本地网络;10:现场装置组;12:远程I/O装置;14:继电器组;16、124:I/O单元;18:图像传感器;20:摄像机;22、619、629:伺服驱动器;24、618、628:伺服电机;100:控制装置;102、202:处理器;104:芯片组;106、206:主存储装置;108、208:二次存储装置;110、214:本地网络控制器;112、212:USB控制器;114:存储卡接口;116:存储卡;118、120:现场总线控制器;122:内部总线控制器;130:内部DB;132:原始数据;134:学习结果;136:异常检测结果;140:机器学习引擎;142:学习功能;144:异常检测功能;146:事件日志;150:PLC引擎;152:调度器;154:变量管理器;160:控制程序;162:顺序/运动程序;164:内部DB写入程序;166:机器学习引擎接口;168:学习请求程序;170:监视请求程序;172:串行化模块;174:特征量生成程序;190:OS;200:支持装置;204:光学驱动器;205:记录介质;216:输入部;218:显示部;220:总线;222:开发程序;224:参数设定工具;226:数据挖掘工具;300:数据记录装置;400:显示装置;500:用户接口画面;502:确定信息;504、505、506:候选;508:单选按钮;600:包装机;604:包装体;605:被包装物;606:单个包装体;610:回转部件;612:旋转轴;614、624:处理机构;615、616、625、626:加热器;617、627:切割器;1302:对象数据;1344、1684、1704:输入变量指定;1542:***变量;1544:器件变量;1546、1706:异常检测参数;1642:写入功能块;1644:表名;1646:对象变量指定;1648:周期指定;1682:学习请求功能块;1686:学习结果输出目的地指定;1702:监视请求功能块;1708:故障输出目的地指定;1722:处理引擎;1724:缓冲区域;1726:对象;1742:特征量生成功能块;1746:输出目的地指定;1748、1749:条件;2242:变量访问程序;2262:访问功能;2264:数据挖掘功能;2266:可视化功能。
Claims (10)
1.一种控制装置,其对控制对象进行控制,其中,
该控制装置具有:
PLC引擎,其执行用于控制所述控制对象的运算;以及
机器学习引擎,
所述PLC引擎具有特征量生成单元,该特征量生成单元根据与所述控制对象相关联的数据,生成适合于检测所述控制对象所产生的异常的特征量;
所述机器学习引擎具有:
机器学习单元,其使用由所述特征量生成单元生成的特征量来实施机器学习;以及
异常检测单元,其根据基于所述机器学习的学习结果决定的用于检测所述控制对象所产生的异常的异常检测参数和由所述特征量生成单元生成的特征量来检测所述异常,
所述PLC引擎还具有:
指示单元,其对所述异常检测单元指示所述异常的检测;以及
数据压缩单元,其在对由所述特征量生成单元生成的特征量进行数据压缩的基础上,提供给所述机器学习单元和所述异常检测单元,
所述指示单元对所述异常检测单元发送检测所述异常所需的请求,将针对该请求的答复的处理委托给所述机器学习引擎,所述异常检测单元在不针对该请求向所述指示单元回复答复的情况下就实施所述异常的检测。
2.根据权利要求1所述的控制装置,其中,
所述数据压缩单元使用机器代码对成为对象的数据进行转换。
3.根据权利要求1或2所述的控制装置,其中,
所述异常检测单元是通过包含所述异常检测参数的指定和成为对象的特征量的指定的用户程序而实现的。
4.根据权利要求1所述的控制装置,其中,
该控制装置还具有数据库,该数据库收集并存储与所述控制对象相关联的数据。
5.根据权利要求4所述的控制装置,其中,
在所述数据库中收集有依照用户程序中所包含的命令而指定的数据。
6.根据权利要求4或5所述的控制装置,其中,
该控制装置还具有决定单元,该决定单元根据所述数据库中所收集的数据,决定适合于检测所述控制对象所产生的异常的特征量的生成方法。
7.根据权利要求1或2所述的控制装置,其中,
该控制装置还具有异常检测参数决定单元,该异常检测参数决定单元根据所述机器学习的学习结果来决定所述异常检测参数。
8.根据权利要求1或2所述的控制装置,其中,
该控制装置还具有保持单元,该保持单元对所述异常检测参数进行保持,并且根据来自外部装置的请求来更新所保持的异常检测参数。
9.一种计算机可读记录介质,其存储有如下的控制程序,通过由计算机执行该控制程序而实现对控制对象进行控制的控制装置,其中,该控制程序使所述计算机实现:
PLC引擎,其执行用于控制所述控制对象的运算;以及
机器学习引擎,
该控制程序使所述计算机执行如下的步骤:
所述PLC引擎根据与所述控制对象相关联的数据,生成适合于检测所述控制对象所产生的异常的特征量;
所述机器学习引擎使用生成的特征量来实施机器学习;
所述机器学习引擎根据基于所述机器学习的学习结果决定的用于检测所述控制对象所产生的异常的异常检测参数和所生成的特征量来检测所述异常;
所述PLC引擎指示所述异常的检测;以及
所述PLC引擎对所述生成的特征量进行数据压缩而提供用于机器学习和异常检测的数据,
检测所述异常的步骤包括如下的步骤:在检测所述异常所需的请求被发送且针对该请求的答复的处理被委托给所述机器学习引擎后,在不针对该请求回复答复的情况下就实施所述异常的检测。
10.一种控制方法,该控制方法由对控制对象进行控制的控制装置来执行,所述控制装置具有:PLC引擎,其执行用于控制所述控制对象的运算;以及机器学习引擎,其中,
所述控制方法包括如下的步骤:
所述PLC引擎根据与所述控制对象相关联的数据,生成适合于检测所述控制对象所产生的异常的特征量;
所述机器学习引擎使用生成的特征量来实施机器学习;
所述机器学习引擎根据基于所述机器学习的学习结果决定的用于检测所述控制对象所产生的异常的异常检测参数和所生成的特征量来检测所述异常;
所述PLC引擎指示所述异常的检测;以及
所述PLC引擎对所述生成的特征量进行数据压缩而提供用于机器学习和异常检测的数据,
检测所述异常的步骤包括如下的步骤:在检测所述异常所需的请求被发送且针对该请求的答复的处理被委托给所述机器学习引擎后,在不针对该请求回复答复的情况下就实施所述异常的检测。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016242303A JP6919186B2 (ja) | 2016-12-14 | 2016-12-14 | 制御システム、制御プログラムおよび制御方法 |
JP2016-242303 | 2016-12-14 | ||
JP2017113195A JP6468313B2 (ja) | 2017-06-08 | 2017-06-08 | 制御装置、制御プログラムおよび制御方法 |
JP2017-113195 | 2017-06-08 | ||
PCT/JP2017/042407 WO2018110259A1 (ja) | 2016-12-14 | 2017-11-27 | 制御装置、制御プログラムおよび制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109983412A CN109983412A (zh) | 2019-07-05 |
CN109983412B true CN109983412B (zh) | 2022-09-16 |
Family
ID=62558286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780070808.9A Active CN109983412B (zh) | 2016-12-14 | 2017-11-27 | 控制装置、计算机可读记录介质以及控制方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11036199B2 (zh) |
EP (1) | EP3557354B1 (zh) |
CN (1) | CN109983412B (zh) |
WO (1) | WO2018110259A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11640152B2 (en) | 2017-09-28 | 2023-05-02 | Siemens Aktiengesellschaft | Method and device for providing service for a programmable logic controller |
CN111295625B (zh) * | 2017-12-29 | 2023-12-12 | 西门子股份公司 | 过程仪表的异常检测方法、***及存储介质 |
US10698593B1 (en) * | 2018-10-08 | 2020-06-30 | Tableau Software, Inc. | Symmetric log axis scaling for a data visualization user interface |
JP6757386B2 (ja) * | 2018-10-23 | 2020-09-16 | 株式会社キーエンス | プログラマブルロジックコントローラおよびプログラム作成支援装置 |
JP7087908B2 (ja) | 2018-10-24 | 2022-06-21 | オムロン株式会社 | 制御装置 |
JP7052755B2 (ja) * | 2019-02-27 | 2022-04-12 | オムロン株式会社 | 制御装置、管理プログラムおよび制御システム |
JP7176455B2 (ja) * | 2019-03-28 | 2022-11-22 | オムロン株式会社 | 監視システム、設定装置および監視方法 |
JP7264262B2 (ja) * | 2019-09-12 | 2023-04-25 | 日本電信電話株式会社 | 異常検知システム、異常検知装置、異常検知方法及びプログラム |
US11644808B2 (en) * | 2019-10-03 | 2023-05-09 | Keyence Corporation | Programable logic controller |
WO2021076093A1 (en) * | 2019-10-14 | 2021-04-22 | Siemens Aktiengesellschaft | Artificial intelligence (ai) companions for function blocks in a programmable logic controller (plc) program for integrating ai in automation |
US11982987B2 (en) * | 2020-01-31 | 2024-05-14 | Keyence Corporation | Programmable logic controller and analyzer |
US11741065B2 (en) | 2020-02-04 | 2023-08-29 | International Business Machines Corporation | Hardware, firmware, and software anomaly handling based on machine learning |
IT202000014944A1 (it) * | 2020-06-23 | 2021-12-23 | Gd Spa | Procedimento per la manutenzione predittiva di una macchina automatica per la produzione o l’impacchettamento di articoli di consumo |
US12020126B2 (en) * | 2021-04-08 | 2024-06-25 | International Business Machines Corporation | Automated pressure level detection and correction |
WO2024136790A1 (en) * | 2022-12-23 | 2024-06-27 | Siskon Endustriyel Otomasyon Sistemleri Sanayi Ve Ticaret Anonim Sirketi | A warning and notification system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0652474A (ja) * | 1992-07-29 | 1994-02-25 | Mitsubishi Heavy Ind Ltd | プラント監視装置 |
CN1738257A (zh) * | 2004-12-31 | 2006-02-22 | 北京大学 | 基于应用协议检测引擎的网络入侵检测***和方法 |
CN106096789A (zh) * | 2016-06-22 | 2016-11-09 | 华东师范大学 | 一种基于机器学习技术的可自感知异常的工控安全防护与报警*** |
CN106203626A (zh) * | 2016-06-30 | 2016-12-07 | 北京奇虎科技有限公司 | 汽车驾驶行为检测方法及装置、汽车 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2672576B2 (ja) | 1988-06-16 | 1997-11-05 | 株式会社東芝 | プラント・機器の診断支援システム |
JPH11175142A (ja) | 1997-12-10 | 1999-07-02 | Hitachi Ltd | 製造装置の運転支援システム |
JP2000056823A (ja) | 1998-08-04 | 2000-02-25 | Hitachi Ltd | データ監視システム |
US6609051B2 (en) * | 2001-09-10 | 2003-08-19 | Daimlerchrysler Ag | Method and system for condition monitoring of vehicles |
US7162312B2 (en) * | 2003-09-24 | 2007-01-09 | Siemens Aktiengesellschaft | Method, system and device for predictive error recognition in a plant |
WO2007087729A1 (en) * | 2006-02-03 | 2007-08-09 | Recherche 2000 Inc. | Intelligent monitoring system and method for building predictive models and detecting anomalies |
JP2010009369A (ja) | 2008-06-27 | 2010-01-14 | Yokogawa Electric Corp | フィールド機器 |
JP5301310B2 (ja) | 2009-02-17 | 2013-09-25 | 株式会社日立製作所 | 異常検知方法及び異常検知システム |
JP5431235B2 (ja) | 2009-08-28 | 2014-03-05 | 株式会社日立製作所 | 設備状態監視方法およびその装置 |
JP5404437B2 (ja) | 2010-01-13 | 2014-01-29 | 株式会社東芝 | 安全出力装置 |
JP4894961B1 (ja) | 2011-03-15 | 2012-03-14 | オムロン株式会社 | Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体 |
JP5502002B2 (ja) | 2011-03-18 | 2014-05-28 | 三菱電機株式会社 | プラント機器の異常診断装置 |
JP4832609B1 (ja) | 2011-06-22 | 2011-12-07 | 株式会社日立エンジニアリング・アンド・サービス | 異常予兆診断装置および異常予兆診断方法 |
JP5469131B2 (ja) | 2011-07-19 | 2014-04-09 | 株式会社日立製作所 | プラントの診断方法及び装置。 |
JP6135192B2 (ja) | 2013-03-01 | 2017-05-31 | 株式会社明電舎 | 時系列データの異常監視装置、異常監視方法及びプログラム |
US10168691B2 (en) | 2014-10-06 | 2019-01-01 | Fisher-Rosemount Systems, Inc. | Data pipeline for process control system analytics |
JP6138375B2 (ja) | 2015-05-27 | 2017-05-31 | 三菱電機株式会社 | コントローラ |
US10193780B2 (en) * | 2015-10-09 | 2019-01-29 | Futurewei Technologies, Inc. | System and method for anomaly root cause analysis |
JP6919186B2 (ja) * | 2016-12-14 | 2021-08-18 | オムロン株式会社 | 制御システム、制御プログラムおよび制御方法 |
-
2017
- 2017-11-27 WO PCT/JP2017/042407 patent/WO2018110259A1/ja unknown
- 2017-11-27 US US16/461,011 patent/US11036199B2/en active Active
- 2017-11-27 EP EP17880619.6A patent/EP3557354B1/en active Active
- 2017-11-27 CN CN201780070808.9A patent/CN109983412B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0652474A (ja) * | 1992-07-29 | 1994-02-25 | Mitsubishi Heavy Ind Ltd | プラント監視装置 |
CN1738257A (zh) * | 2004-12-31 | 2006-02-22 | 北京大学 | 基于应用协议检测引擎的网络入侵检测***和方法 |
CN106096789A (zh) * | 2016-06-22 | 2016-11-09 | 华东师范大学 | 一种基于机器学习技术的可自感知异常的工控安全防护与报警*** |
CN106203626A (zh) * | 2016-06-30 | 2016-12-07 | 北京奇虎科技有限公司 | 汽车驾驶行为检测方法及装置、汽车 |
Also Published As
Publication number | Publication date |
---|---|
EP3557354A1 (en) | 2019-10-23 |
WO2018110259A1 (ja) | 2018-06-21 |
CN109983412A (zh) | 2019-07-05 |
US11036199B2 (en) | 2021-06-15 |
EP3557354B1 (en) | 2023-03-01 |
US20190294137A1 (en) | 2019-09-26 |
EP3557354A4 (en) | 2020-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109983412B (zh) | 控制装置、计算机可读记录介质以及控制方法 | |
CN108227641B (zh) | 控制装置、控制方法及计算机可读存储介质 | |
JP6468313B2 (ja) | 制御装置、制御プログラムおよび制御方法 | |
US10591886B2 (en) | Control system, control program, and control method for device switching responsive to abnormality detection | |
JP6965798B2 (ja) | 制御システムおよび制御方法 | |
CN108628263B (zh) | 控制***、控制装置、计算机可读存储介质以及控制方法 | |
WO2020129545A1 (ja) | 制御装置およびプログラム | |
US11520302B2 (en) | Control system and control device | |
JP7102801B2 (ja) | 制御システム、制御装置および表示装置 | |
JP2021060675A (ja) | 制御システム、サポート装置およびサポートプログラム | |
JP7063212B2 (ja) | 制御装置および制御システム | |
WO2020067287A1 (ja) | 制御システム、サポート装置、サポートプログラム | |
WO2020240945A1 (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 |