CN112673327B - 控制装置及计算机可读取的存储介质 - Google Patents
控制装置及计算机可读取的存储介质 Download PDFInfo
- Publication number
- CN112673327B CN112673327B CN201980058582.XA CN201980058582A CN112673327B CN 112673327 B CN112673327 B CN 112673327B CN 201980058582 A CN201980058582 A CN 201980058582A CN 112673327 B CN112673327 B CN 112673327B
- Authority
- CN
- China
- Prior art keywords
- processing
- algorithm
- control
- score
- control device
- 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
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
- 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/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
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0265—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
-
- 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
- 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/0297—Reconfiguration of monitoring system, e.g. use of virtual sensors; change monitoring method as a response to monitoring results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
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)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Testing And Monitoring For Control Systems (AREA)
- Programmable Controllers (AREA)
Abstract
本发明提供一种可切换异常探测处理的算法的控制装置(100)以及一种计算机可读取的存储介质(116、205),存储有程序。控制装置(100)根据从监测对象获取的状态值而算出特征量,执行多种算法中的一个,所述算法基于所算出的特征量,使用学习模型(152)来算出表示监测对象产生异常的可能性的值,基于所算出的值来判定是否产生所述异常,根据预先规定的条件来切换所述执行的一个算法。由此,本发明提供应对所述各种需求的多个算法的环境。
Description
技术领域
本发明涉及一种控制装置及计算机可读取的存储介质,存储有程序,能够探测监测对象可能产生的某些异常。
背景技术
在各种生产现场,有欲通过对机器或装置进行预知性维护(predictivemaintenance)从而提高设备运行率等需求。所谓预知性维护,是指如下维护形态,即:探测机器或装置可能产生的某些异常,在成为必须停止设备的状态之前,进行修整或更换等保养作业。
为了实现预知性维护,需要如下结构,即:收集机器或装置的状态值,并且基于所收集的状态值来判断所述机器或装置是否产生某些异常。
作为这种结构,例如日本专利特开2017-211930号公报(专利文献1)提出了一种预知适用了机器学习的机器的寿命故障的方法。
现有技术文献
专利文献
专利文献1:日本专利特开2017-211930号公报
发明内容
发明所要解决的问题
当前,已提出了各种用于通过机器学习来探测异常的算法。例如,提出了虽然耗费处理时间但输出高精度的处理结果、或者虽然处理结果的精度不高但处理时间短等特长不同的各种算法。另一方面,在生产现场,有欲严格实施异常探测、或虽欲实施异常探测但不想耗费时间等各种需求。因此,期望提供应对所述各种需求的多个算法的环境。但是,专利文献1并未提出准备适用于机器学习装置的多个算法的环境,因而无法应对这种需求。
本公开的一个目的在于提供一种可适当切换异常探测处理的算法的环境。
解决问题的技术手段
本公开的一例的、对配置于生产工序的控制对象进行控制的控制装置包括:特征提取部,根据从控制对象所含的监测对象获取的一个或多个状态值而算出一个或多个特征量;处理部,执行多种算法中的一个,所述算法参照学习模型,基于由特征提取部所算出的一个或多个特征量而算出得分,所述得分为表示监测对象产生某些异常的可能性的值;判定部,基于由处理部所算出的得分,生成表示监测对象是否产生某些异常的判定结果;以及切换部,根据预先规定的条件来切换由处理部所执行的一个算法。
根据所述公开,可根据预先规定的条件来适当切换算出得分的算法,所述得分为表示监测对象产生某些异常的可能性的值。
所述公开中,预先规定的条件包含基于处理部进行的一个算法的处理时间的条件。
根据所述公开,可根据算法的处理时间而切换为其他算法。
所述公开中,预先规定的条件包含基于处理部进行的一个算法的处理时间、及根据判定部的得分来生成判定结果的处理所耗的处理时间的条件。
根据所述公开,可根据算法的处理时间及生成判定结果的处理所耗的处理时间而切换为其他算法。
所述公开中,预先规定的条件包含基于由判定部生成的判定结果的条件。
根据所述公开,可根据由判定部生成的判定结果而切换算法。
所述公开中,预先规定的条件包含基于生产工序的切换的条件。
根据所述公开,可根据生产工序的切换而切换算法。
所述公开中,学习模型通用地适用于多种算法。
根据所述公开,可将学习模型继续用于切换后的其他算法。
所述公开中,学习模型为根据从监测对象获取的数据而生成且由一个以上的元素定义的特征量的集合体,控制装置还将用于算出得分的所述特征量的集合体的、与范围相关的参数,继续用于切换后的算法。
根据所述公开,可将用于算出得分的所述特征量的集合体的、与范围相关的参数,继续用于切换后的算法。
所述公开中,多个算法各自的、算法的处理时间或所算出的得分的准确率不同。
根据所述公开,可通过切换算法,从而使算法的处理时间或所算出的得分的准确率不同。
所述公开中,还包括:多任务执行部,执行多个任务,所述多个任务包含用于实施控制对象的实时控制的控制任务、及用于实施与实时控制关联的关联处理的关联处理任务,多任务执行部以预先规定的周期反复执行控制任务,多任务执行部在控制任务中执行判定部的判定处理,在关联处理任务中执行处理部进行的得分的算出,基于算法的处理时间的条件包含所述处理时间超过基于所述预先规定的周期的时间的条件。
根据所述公开,能以与实施实时控制的预先规定的周期同步地进行得分计算的方式切换算法,因而可根据基于得分的判定处理的结果来实施控制对象的实时控制。
本公开的另一例中,提供一种计算机可读取的存储介质,存储有程序,用于使处理器执行对配置于生产工序的控制对象进行控制的控制方法。所述控制方法包括下述步骤:根据从控制对象所含的监测对象获取的一个或多个状态值而算出一个或多个特征量;执行多种算法中的一个,所述算法参照学习模型,基于所算出的一个或多个特征量而算出得分,所述得分为表示监测对象产生某些异常的可能性的值;基于所算出的得分,生成表示监测对象是否产生某些异常的判定结果;以及基于预先规定的条件来切换执行的步骤中执行的一个算法。
根据所述公开,通过执行程序,从而可根据预先规定的条件来适当切换算出得分的算法,所述得分为表示监测对象产生某些异常的可能性的值。
发明的效果
根据所述公开,可根据预先规定的条件来适当切换算出监测对象产生某些异常的可能性的算法。
附图说明
图1为表示本实施方式的异常探测***1的整体结构例的示意图。
图2为表示本实施方式的控制装置100的主要部分的示意图。
图3为表示本实施方式的控制装置100的硬件结构例的框图。
图4为表示本实施方式的支持装置200的硬件结构例的框图。
图5为表示本实施方式的异常探测***1的基本软件结构例的框图。
图6为说明本实施方式的判定结果170的定义的一例的图。
图7为说明本实施方式的判定结果170的定义的一例的图。
图8为将本实施方式的算法的性能比较表示的图。
图9为用于说明本实施方式的偏离度的获取时间的变化的示意图。
图10为表示本实施方式的程序的周期执行的一例的示意图。
图11为表示本实施方式的程序的周期执行的一例的示意图。
图12为说明本实施方式的机器学习处理的功能块121的图。
图13为示意性地表示本实施方式的异常探测处理的用户程序的一例的图。
图14为示意性地表示本实施方式的异常探测处理的用户程序的另一例的图。
图15为示意性地表示本实施方式的异常探测处理的用户程序的进而另一例的图。
图16为说明本实施方式的判定条件的切换的图。
图17为表示本实施方式的异常探测的过程的一例的流程图。[符号的说明]1:异常 探测***
2:第一现场总线
4:第二现场总线
6:本地网络
12:I/O装置
14:继电器群
16、124-1、124-2:I/O单元
18:图像传感器
20:摄像机
22:伺服驱动器
24:伺服马达
50:异常探测处理部
70:首要定周期任务
71:首要周期
72:I/O刷新处理
73:控制处理
74:用户程序执行处理
76:运动控制处理
77:***共用处理(1)、***共用处理(2)
80、91:定周期任务
90:标签数据链接服务
92:***服务
93:机器学习处理
94:处理
100:控制装置
102、202:处理器
104:芯片组
106、206:主存储装置
108、208:二次存储装置
110、214:本地网络控制器
112、212:USB控制器
114:存储卡接口
116、205:存储介质
118、120:现场总线控制器
122:内部总线控制器
125:条件值
126:***程序
127:用户程序
128:***服务程序
129:异常探测程序
130:控制程序
140:数据集生成部
141:特征提取部
142:切换条件判定部
143:得分计算部
144:机器学习处理部
145:学习模型生成部
146:结果判定部
152:学习模型
154:得分
156:判定条件
157:判定条件管理部
158:设定信息
159:多任务执行部
160:变量管理部
162:设备变量
170:判定结果
200:支持装置
204:驱动器
216:输入部
218:显示部
220:总线
250:数据挖掘工具
260:设定工具
300:上位服务器
400:显示装置
Algorithm、Execute:输入变量
Busy、Done、Error、ErrorID、Time、WarningLevel:输出变量
LOF、iForest:算法
S1~S4、S1a、S2a、S3a、S4a:步骤
具体实施方式
一边参照附图,一边对本发明的实施方式进行详细说明。另外,对图中的相同或相当部分标注相同符号,不再重复进行其说明。
<A.适用例>
首先,对适用本发明的场景的一例进行说明。
对本实施方式的可执行异常探测处理的控制***的功能结构例进行说明。以下的说明中,主要着眼于对配置于生产工序的控制对象进行控制的控制***所具备的异常探测处理进行说明,因而将控制***整体也称为“异常探测***”。
首先,对本实施方式的异常探测***1的整体结构例进行说明。
图1为表示本实施方式的异常探测***1的整体结构例的示意图。参照图1,异常探测***1包含对控制对象进行控制的控制装置100、及可连接于控制装置100的支持装置200作为主要的结构元件。异常探测***1也可还包含上位服务器300及显示装置400作为可选(optional)的结构。
控制装置100生成表示控制对象所含的监测对象是否产生某些异常的判定结果。控制装置100也可作为可编程逻辑控制器(Programmable Logic Controller,PLC)等一种计算机而具现化。
更具体而言,控制装置100经由第一现场总线2而与现场装置群10连接,并且经由第二现场总线4而与一个或多个显示装置400连接。进而,控制装置100经由本地网络6而连接于上位服务器300。控制装置100经由各网络而在与所连接的装置之间收授数据。
控制装置100执行用于控制设备或机器的各种控制运算,并且也执行探测控制对象产生的异常的异常探测处理。通过在控制装置100中执行异常探测处理,从而能以更短的周期探测控制对象可能产生的异常。
本说明书中,“状态值”为包含可由任意的控制对象(或监测对象)观测的值的术语,例如可包含:可由任意的传感器测定的物理值,继电器或开关等的通/断(ON/OFF)状态,PLC对伺服驱动器给予的位置、速度、扭矩等的指令值,PLC用于运算的变量值等。
以下,将由任意的控制对象观测并转发至控制装置100的状态值称为“输入值”。
作为第一现场总线2及第二现场总线4,优选使用保证数据的到达时间的、进行定周期通信的网络。作为这种进行定周期通信的网络,已知有以太网控制自动化技术(EtherCAT,注册商标)等。
现场装置群10包含收集控制对象或与控制关联的生产线或生产工序所包括的制造装置等(以下也统称为“现场”)的状态值作为输入值的装置。作为这种获取状态值的装置,设想输入继电器或各种传感器等。现场装置群10还包含基于由控制装置100所生成的指令值(以下也称为“输出值”)而对现场给予某些作用的装置。作为这种对现场给予某些作用的装置,设想输出继电器、接触器(contactor)、伺服驱动器、伺服马达、其他任意的致动器等。这些现场装置群10经由第一现场总线2,在与控制装置100之间收授包含输入值及输出值的数据。
图1所示的结构例中,现场装置群10包含远程输入/输出(Input/Output,I/O)装置12、继电器群14、图像传感器18及摄像机20、以及伺服驱动器22及伺服马达24。
远程I/O装置12包含经由第一现场总线2进行通信的通信部、以及用于进行输入值的获取及输出值的输出的输入输出部(以下也称为“I/O单元”)。经由这种I/O单元在控制装置100与现场之间收授输入值及输出值。图1中表示经由继电器群14收授数字信号作为输入值及输出值的示例。
I/O单元也可直接连接于现场总线。图1中表示I/O单元16直接连接于第一现场总线2的示例。
图像传感器18针对由摄像机20所拍摄的图像数据,进行图案匹配等图像测量处理,并将其处理结果发送至控制装置100。
伺服驱动器22按照来自控制装置100的输出值(例如位置指令等)来驱动伺服马达24。
如上文所述,经由第一现场总线2在控制装置100与现场装置群10之间收授数据,但这些收授的数据以几百微秒(μsec)级~几十毫秒(msec)级的极短周期更新。另外,也有时将这些收授的数据的更新处理称为“I/O刷新处理”。
支持装置200为支持控制装置100对控制对象进行控制所需要的准备的装置。具体而言,支持装置200提供:由控制装置100所执行的程序的开发环境(程序制作编辑工具、分析器(parser)、编译器(compile)等),用于设定控制装置100及连接于控制装置100的各种设备的参数(配置(configuration))的设定环境,向控制装置100发送所生成的用户程序的功能,在线修正、变更控制装置100上执行的用户程序等的功能等。
进而,支持装置200也提供用于实现控制装置100中的异常探测处理的各种设定或数据的生成及发送等功能。
上位服务器300经由本地网络6而与控制装置100连接,在与控制装置100之间收授必要的数据。上位服务器300例如具有数据库功能,定期地或每当发生事件时收集控制装置100所保存的各种数据。在本地网络6也可安装有以太网(注册商标)等通用协议。
显示装置400经由第二现场总线4与控制装置100连接,受理来自用户的操作,向控制装置100发送与用户操作相应的命令等,并且以图解方式(graphical)显示控制装置100中的处理结果等。
接下来,对本实施方式的异常探测***1的异常探测处理及异常探测处理的算法的切换进行说明。
图2为表示本实施方式的控制装置100的主要部分的示意图。参照图2,控制装置100包括异常探测处理部50,此异常探测处理部50包含数据集生成部140、特征提取部141、切换条件判定部142、机器学习处理部144及结果判定部146。机器学习处理部144包含:得分计算部143,算出作为表示监测对象产生某些异常的可能性的值的、得分。
控制装置100从监测对象收集一个或多个输入数据(输入数据1、输入数据2、……、输入数据n),并提取特征量,由此输出监测结果,此监测结果包含表示有无产生异常的判定结果。
本实施方式中,导入“帧”这一概念作为判定控制对象所含的监测对象是否产生某些异常的单位区间。帧是指判定监测对象是否产生某些异常的单位区间。因此,监测对象是否产生某些异常的判定在每个帧进行。单位区间(帧)是根据监测对象的动作等而任意设定。
数据集生成部140按照帧信息,根据监测对象在每个帧生成包含一个或多个输入数据(输入数据1、输入数据2、……、输入数据n)的数据集。
特征提取部141基于由数据集生成部140所生成的数据集,按照预先规定的处理来提取(算出)一个或多个特征量150(特征量1、特征量2、……、特征量m)。作为所算出的特征量150,例如可使用帧内的平均值、最大值、中间值、最小值、标准偏差等。
机器学习处理部144中,得分计算部143参照预先准备的学习模型152,算出表示由特征提取部141所提取的一个或多个特征量相对于学习模型152的偏差程度(或偏离度)的值(以下也称为“得分”)。此处,学习模型152相当于以被标注了特定等级(例如正常或异常)的特征量的值作为元素的集合。典型而言,学习模型152包含正常时的特征量,此时得分是指表示监测对象产生某些异常的可能性的值。
机器学习处理部144通过执行多种算法中的一个作为控制装置100中的异常监测的算法,从而使得分计算部143算出得分,此得分为表示相对于超空间上的值群的、特征量的偏差程度的值。此时,学习模型152表示超空间上的值群,其相当于表示监测对象的“模型”。
作为此种基于偏差程度的异常监测的方法,已知有基于各点到值群的最短距离来探测异常的方法(k邻近法)、包括包含值群的群集(cluster)来评价距离的局部异常因子(local outlier factor,LoF)法、使用由路径长度所算出的得分的孤立森林(isolationforest,iForest)法等。本实施方式中,得分计算部143执行的多种算法中的一个算法为依据所述LoF法的算法及依据iForest法的算法中的一个。另外,得分计算部143可执行的多种算法不限定于依据LoF法或iForest法的算法等,例如可包含k邻近法等其他种类的算法。
切换条件判定部142根据预先规定的条件来切换由机器学习处理部144执行的一个算法。更特定而言,切换条件判定部142与帧的周期同步地输入条件值125,在判断为所输入的条件值125满足预先规定的条件时,向机器学习处理部144输出切换指示。关于切换指示,设定与所满足的条件相应的值。机器学习处理部144从多种算法中,将应执行的算法切换(设定)为与切换指示所示的值对应的算法。
在采用基于偏差程度的异常监测的方法的情况下,学习模型152包含在监测对象的状态正常时获得的特征量的群,控制装置100基于对象的特征量相对于学习模型152所含的特征量群的偏差程度,算出作为表示监测对象产生某些异常的可能性的值的得分。
结果判定部146将由得分计算部143所算出的得分154、与预先规定的判定条件(阈值)156相比较,判定监测对象是否产生某些异常。从结果判定部146输出表示是否产生某些异常的判定结果170。而且,也可与所述判定结果170一起输出得分。本实施方式中,可输出包含判定结果170与得分的集作为监测结果。判定结果170、得分及监测结果的输出目标可包含其他模块(电路、程序等)。例如,输出可包括:保存于控制装置100或支持装置200所包括的存储装置;显示于支持装置200所包括的显示器;或经由网络进行转发。
本实施方式中,所述预先规定的条件可包含基于控制装置100的运行状态的条件。例如,预先规定的条件可包含:基于机器学习处理部144进行的算法的处理所耗的处理时间的条件、或基于判定结果170的条件、或基于生产工序的切换的条件。另外,预先规定的条件不限定于这些条件。而且,预先规定的条件也可为基于这些条件的两个以上的组合的条件。
通过以上那样的功能结构,本实施方式的异常监测处理中,提供下述环境,即:在控制装置100的运行中,可根据预先规定的条件来动态切换机器学习处理部144执行的一个算法。
<B.硬件结构例>
接下来,对构成本实施方式的异常探测***1的主要装置的硬件结构例进行说明。
(b1:控制装置100的硬件结构例)
图3为表示本实施方式的控制装置100的硬件结构例的框图。参照图3,控制装置100包含中央处理器(Central Processing Unit,CPU)或微处理器(Micro-ProcessingUnit,MPU)等处理器102、芯片组104、主存储装置106、二次存储装置108、本地网络控制器110、通用串行总线(Universal Serial Bus,USB)控制器112、存储卡接口114、内部总线控制器122、现场总线控制器118、120以及I/O单元124-1、124-2、……。
处理器102读出保存于二次存储装置108的各种程序,在主存储装置106展开并执行,由此实现与控制对象相应的控制、及后述那样的各种处理。芯片组104与处理器102一起控制各组件,由此实现控制装置100整体的处理。
在二次存储装置108,除了保存用于实现控制装置100提供的功能的***程序126以外,还保存利用***程序126提供的执行环境而执行的用户程序127及学习模型152。用户程序127包含用于提供各种服务的***服务程序128、及用于对现场装置群10的控制对象进行控制的控制程序130。***服务程序128包含异常探测程序129,此异常探测程序129相当于构成图2的异常探测处理部50的程序模块。
本地网络控制器110控制经由本地网络6的与其他装置之间的数据的收授。USB控制器112控制经由USB连接与支持装置200之间的数据的收授。
存储卡接口114构成为可装卸存储介质116,可对存储介质116写入数据,从存储介质116读出各种数据(用户程序或跟踪数据等)。
内部总线控制器122为在与搭载于控制装置100的I/O单元124-1、124-2、……之间收授数据的接口。
现场总线控制器118控制经由第一现场总线2的与其他装置之间的数据的收授。同样地,现场总线控制器120控制经由第二现场总线4的与其他装置之间的数据的收授。
图3中表示了通过处理器102执行程序从而提供必要功能的结构例,但也可使用专用的硬件电路(例如专用集成电路(Application Specific Integrated Circuit,ASIC)或现场可编程门阵列(Field-Programmable Gate Array,FPGA)等)来安装这些所提供的功能的一部分或全部。或者,也可使用通用架构的硬件(例如以通用个人计算机为基础的工业个人计算机)来实现控制装置100的主要部分。此时,也可使用虚拟技术,并列执行用途不同的多个操作***(Operating System,OS),并且在各OS上执行必要的应用。
而且,本实施方式中,图2的异常探测处理部50的主要部分也通过由处理器102执行异常探测程序129从而实现,但图2的主要部分的一个以上也可使用ASIC或FPGA等专用的硬件电路而安装。
(b2:支持装置200的硬件结构例)
接下来,作为一例,本实施方式的支持装置200是通过使用通用架构的硬件(例如通用个人计算机)执行程序从而实现。
图4为表示本实施方式的支持装置200的硬件结构例的框图。参照图4,支持装置200包含CPU或MPU等处理器202、驱动器204、主存储装置206、二次存储装置208、USB控制器212、本地网络控制器214、输入部216及显示部218。这些组件经由总线220而连接。
处理器202读出保存于二次存储装置208的各种程序,在主存储装置206展开并执行,由此实现后述那样的各种处理。
二次存储装置208例如包含硬盘驱动器(Hard Disk Drive,HDD)或固态驱动器(Solid State Drive,SSD)等。在二次存储装置208,典型而言保存各种程序,此各种程序包含:用于进行支持装置200中执行的用户程序的制作、所制作的程序的除错(debug)、***结构的定义、各种参数的设定等的未图示的开发程序;数据挖掘工具(data mining tool)250;以及设定工具260。在二次存储装置208也可保存OS及其他必要的程序。
驱动器204可对存储介质205写入数据,从存储介质205读出各种数据(用户程序、跟踪数据或时序数据等)。存储介质205例如包含非一次性地保存计算机可读取的程序的存储介质205(例如数字多功能光盘(Digital Versatile Disc,DVD)等光学存储介质)。从存储介质116或存储介质205读取其中所保存的程序或数据,安装于二次存储装置208等的内部的存储区域。
由支持装置200执行的各种程序可经由计算机可读取的存储介质116或存储介质205而安装,也能以从网络上的服务器装置等下载的形式安装。而且,本实施方式的支持装置200所提供的功能也有时以利用OS所提供的模块的一部分的形式实现。
USB控制器212控制经由USB连接与控制装置100之间的数据的收授。本地网络控制器214控制经由任意网络的与其他装置之间的数据的收授。
输入部216包含键盘或鼠标等,受理用户操作。显示部218包含显示器、各种指示器等,输出来自处理器202的处理结果等。在支持装置200也可连接打印机。
图4中表示了通过处理器202执行程序从而提供必要功能的结构例,但也可使用专用的硬件电路(例如ASIC或FPGA等)来安装这些所提供的功能的一部分或全部。
<C.软件结构例/功能结构例>
接下来,对构成本实施方式的异常探测***1的主要装置的软件结构例及功能结构例进行说明。
图5为表示本实施方式的异常探测***1的基本的软件结构例的框图。参照图5,异常探测***1中,控制装置100基于从支持装置200提供的各种信息而执行异常探测处理。图5中,将图2所示的主要部要与其周边部关联地表示。
参照图5,控制装置100对图2所示的异常探测处理部50的各部进行追加,包含多任务执行部159、变量管理部160及判定条件管理部157。多任务执行部159在处理器102的控制下,并列执行多个任务,此多个任务包含用于实施控制对象的实时控制的控制任务、及用于实施与实时控制关联的关联处理的关联处理任务。所述多任务执行的详细情况将于后述。
变量管理部160在每个预先规定的的控制周期获取机器或装置等控制对象(监测对象)表现出的状态值(输入值),并将内部状态值更新。而且,变量管理部160在每个控制周期将通过执行用户程序等从而算出的指令值(输出值)更新。即,变量管理部160执行I/O刷新处理的至少一部分处理,在每个控制周期,将从控制对象获取的输入值及向控制对象给予的输出值更新。
本实施方式的控制装置100中,针对从控制对象获取的状态值(输入值)、向控制对象给予的指令值(输出值)、以及控制装置100中的运算处理或控制装置100的状态管理所用的数据或值(全部包含于“内部状态值”),均采用以“变量”的形式参照的形态。因此,以下的说明中,也有时将控制装置100中可利用的值表现为“变量值”。而且,将表示机器或装置等控制对象产生的状态值的、内部状态值的集合表现为“设备变量162”。
数据集生成部140按照由支持装置200所设定的设定信息158,针对所指定的监测对象的一个或多个设备变量162(状态值)所示的值(单位区间的时间变化),按照帧信息来检索设备变量162,由此在每个帧生成包含与监测对象相关的一个或多个输入数据(输入数据1、输入数据2、……、输入数据n)的数据集。
另外,本发明不限于使用“变量”来参照值的形态,也可适用于指定保存各值的存储器的逻辑地址或物理地址等来进行参照的形态等。
学习模型生成部145按照来自支持装置200的指示,生成学习模型152。另外,学习模型生成部145也可设于支持装置200的一部分。此时,学习模型152本身是从支持装置200向控制装置100提供。更具体而言,也可通过使用支持装置200的数据挖掘工具250提取必要的数据,从而生成学习模型152。
判定条件管理部157按照来自切换条件判定部142的切换指示或来自设定工具260的指示,变更判定条件156。
切换条件判定部142输入条件值125,基于所输入的条件值125来判定是否满足预先规定的条件,生成基于判定结果的切换指示,并输出至机器学习处理部144。条件值125可包含机器学习处理部144的算法的执行所耗的处理时间、生产工序的切换指示、及判定结果170的判定值等,但不限定于这些。
另一方面,支持装置200对控制装置100进行设定信息158及判定条件156的设定。更具体而言,支持装置200具有设定工具260,设定工具260负责针对控制装置100的各种数据的设定处理。
<D.问题及解决手段>
接下来,对本实施方式的异常探测***1设想的问题及其解决手段进行说明。图6及图7为说明本实施方式的判定结果170的定义的一例的图。图8为将本实施方式的算法的性能比较表示的图。
图6中,表示基于控制装置100的运行时获取的特征量、与学***1”及“警报水平2”的种类,但种类不限定于这些。具体而言,关于判定结果170,若得分154小于异常的阈值则表示“正常”,若得分154相当于异常的阈值~警报水平1的阈值则表示“异常”,若得分154相当于警报水平1的阈值~警报水平2的阈值则表示“警报水平1”,若得分154相当于警报水平2的阈值~故障的阈值则表示“警报水平2”,若得分154超过故障的阈值则表示“故障”。
图8中,针对各算法(LOF,孤立森林(isolation forest,iForest)来比较处理时间及精度并表示。具体而言,LOF的处理所需要的处理时间在机器学习处理的所需时间中所占的比率相对较大,但所算出的得分154的准确率高,反之,iForest的处理时间在机器学习处理的所需时间中所占的比率相对较小,但准确率低。这样,在算法(LOF、iForest)间,处理时间与准确率处于权衡关系。另外,本实施方式中,算法的处理时间表示与算法的执行时间相同的概念。
回到图6,如图6那样,在随着时间经过而判定结果170以“正常”→“异常”(警报水平1→警报水平2)→“故障”变迁的情况下,产生在生产现场欲实施更严格的判定的愿望(问题)。因此,此时可通过切换为准确率更高的算法从而实现愿望。
在生产现场,也有欲使用异常探测处理的结果使控制装置100运行的愿望。此处,控制装置100中,将判定结果170在与控制周期同步的预先规定的周期内提供给控制程序130。由此,控制程序130可基于判定结果170来对控制对象进行控制。
另一方面,若算法的处理耗费时间而异常探测处理部50的处理时间变为长期,则难以在所述预先规定的周期内将判定结果170提供给控制程序130。因此,控制装置100中,在机器学习处理部144的处理时间变长的情况下,可通过切换为处理更不耗时间的算法从而实现所述愿望。
而且,在生产现场,针对每种工件进行安排而切换生产工序,有若工件不同则也欲切换适用的算法的愿望。
因此,本实施方式中,可通过根据生产工序的种类来切换算法从而实现所述愿望。
<E.算法的其他例>
控制装置100在正常时及异常时的至少一者的学习模型152的学习数据、与从监测对象获取的特征量之间获取偏离的程度(得分154),基于所获取的偏离度及判定条件156的阈值,来判定监测对象产生的异常。
本实施方式中,使用通用的学习模型152来切换所述LOF或iForest,但也可在这些与不同的其他算法间切换。此处,对其他算法的一例进行说明。
其他算法中,在获取得分154时使用马氏距离(Mahalanobis'distance)。具体而言,控制装置100基于成为异常探测的诊断对象的特征量的数据(以下也称为“诊断对象数据”)、与各特征量的集合体sa、sb所含的k个特征量的距离,算出得分154(得分a、得分b)。此处,得分a、得分b的计算时间相当于算法的处理时间。
在适用其他算法时,基于与定义特征量的元素的个数相关的第一参数来生成特征量。第一参数为用于设定下述内容的参数,即:定义特征量的元素的种类(平均、标准偏差、偏度、峰度、最大及最小等)、及元素的个数(特征向量的维度数)。用户可使用支持装置200的数据挖掘工具250来设定第一参数的值。基于作为用于获取得分的特征量的集合体的学习模型152的、与范围相关的第二参数,来获取得分。第二参数为用于设定下述内容的参数,即:用于在与诊断对象数据之间算出得分的、特征量的个数(以下也称为“k值”)。用户可使用支持装置200来设定第二参数的值。k值越多,则与诊断对象数据进行比较的、学习完毕的特征量的个数越变多。
此处,本实施方式中,得分的计算时间根据第一参数的值及第二参数的值而分别变化,此处,第一参数设为一定值。参照图9对此方面进行说明。图9为用于说明本实施方式的得分的获取时间的变化的示意图。
图9的(A)的示例中,作为第一参数的值而将维度数设定为n,作为第二参数的值而将k值设定为N。此时,成为诊断对象数据的比较对象的数据的个数概念上成为比较对象数N与维度数n之积。
图9的(B)的示例中,作为第一参数的值而将维度数设定为s(s为小于n的值),作为第二参数的值而将k值设定为N。此时,成为诊断对象数据的比较对象的数据的个数概念上成为比较对象数N与维度数s之积。关于维度数,s为小于n的值,因而图9的(B)的示例的比较对象的总数小于图9的(A)的示例的比较对象的总数。因此,用于算出得分的处理时间相应地变短,但得分的准确率变低。
这样,用户可通过变更第二参数的值,从而在与异常探测的精度的权衡之下,缩短或延长得分的计算时间。
图9的(C)的示例中,作为第一参数的值而将维度数设定为n,作为第二参数的值而将k值设定为S(S为小于N的值)。此时,比较对象的总数概念上成为比较对象数S与维度数n之积。关于k值,S为小于N的值,因而图9的(C)的示例的比较对象的总数小于图9的(A)的示例的比较对象的总数。因此,用于算出得分的处理时间相应地变短,但另一方面,得分的准确率降低。
若通过第二参数设定k值,则以可靠度从高到低的顺序来选择用于计算得分的学习完毕的特征量。这样,用户可通过变更第二参数的值,从而在与得分的准确率、也就是异常探测的精度的权衡之下,缩短或延长得分的计算时间。即,第二参数为可缩短算出得分的算法的处理时间的参数。
根据图9,学习模型152为根据从监测对象获取的数据而生成且由一个以上的元素定义的特征量(学习数据)的集合体,控制装置100以将用于算出得分154的所述特征量的集合体的、与范围相关的第二参数继续用于切换后的算法的方式,来控制机器学习处理部144。由此,即便为图9的情况,也可在算法间适用作为以第二参数规定了范围的学习完毕的特征量(学习数据)的集合体的、通用的学习模型152。
<F.程序的周期执行>
接下来,对本实施方式的程序的周期执行进行说明。
图10及图11为表示本实施方式的程序的周期执行的一例的示意图。控制装置100的多任务执行部159按照以任务的单位预先分配的执行优先级,多任务地执行一个或多个处理。
参照图10,任务是以与控制周期同步的一定的任务周期反复执行,在各任务周期的任务执行时间内,执行I/O刷新处理72、及继I/O刷新处理72之后的控制处理73的任务。另外,I/O刷新处理72是指变量管理部160周期性地更新设备变量162的对应的变量值的处理。
控制处理73包含作为控制程序130进行的任务的***共用处理(1)及***共用处理(2)77、用户程序执行处理74及运动控制处理76的任务。用户程序执行处理74为用户程序127所含的根据控制对象而任意制作的程序,包含使用国际电工委员会(InternationalElectro technical Commission,IEC)61131-3规定的语言所描述的顺序程序等。运动控制处理76包含遵循用户程序127所含的运动命令的处理(典型而言,与马达的位置控制或速度控制相关的处理)。
图11中表示下述示例,即:执行包含用于实施控制对象的实时控制的控制任务的首要定周期任务70、定周期任务80、标签数据链接服务90、定周期任务91及***服务92的任务。***服务92相当于用于实施与实时控制关联的关联处理的关联处理任务。图中,“IO”表示I/O刷新处理,“UPG”表示用户程序执行处理,“MC”表示运动控制处理。
首要定周期任务70包含控制装置100中与其他任务相比应以最高的优先级(最优先)执行的处理,在每个相当于控制周期的首要周期71周期性地执行。
更具体而言,首要定周期任务70包含I/O刷新处理72、用户程序执行处理74、运动控制处理76及***共用处理(2)77。所述首要定周期任务70的***共用处理(2)77包含数据集生成部140进行的处理、特征提取部141的特征提取处理及结果判定部146进行的结果判定处理。
首要定周期任务70中,I/O刷新处理72、用户程序执行处理74及运动控制处理76全部在每个首要周期71执行。
定周期任务80包含优先级低于首要定周期任务70的处理,在每个相当于控制周期的整数倍的、一定的任务周期执行。
更具体而言,定周期任务80与首要定周期任务70同样地,包含I/O刷新处理、用户程序执行处理及运动控制处理。除了执行周期不同的方面以外,定周期任务80的I/O刷新处理、用户程序执行处理及运动控制处理的处理内容与I/O刷新处理72、用户程序执行处理74及运动控制处理76的处理内容相同。
标签数据链接服务90包含优先级低于定周期任务80的处理94。例如,标签数据链接服务90包含下述处理,即:将数据集生成部140参照的一个或多个输入数据、以及由特征提取部141所生成的一个或多个特征量,保存于主存储装置106或二次存储装置108等的存储区域。即,对标签数据链接服务90的任务分配下述处理,即:保存由被分配给首要定周期任务70的特征提取处理所生成的数据。
定周期任务91执行优先级低于标签数据链接服务90的任务的、用户程序127的任务。
***服务92包含优先级低于定周期任务91的处理,例如包含包括得分154的算出的机器学习处理部144实施的机器学习处理93、及各种文件转发处理等。
图11中,通过首要周期71中执行的特征提取处理而获取的特征量被设定为设备变量162。***服务92的机器学习处理93使用被设定为设备变量162的特征量来执行算法,由此算出得分154。所算出的得分154被设定为设备变量162。下一首要周期71中执行的结果判定处理根据被设定为设备变量162的得分154而输出判定结果170。判定结果170被设定为设备变量162。因此,下一首要周期71中执行的用户程序执行处理74或运动控制处理76可基于先实施的结果判定处理的判定结果170来对控制对象进行控制。
本实施方式中也可设为:作为用于切换算法的预先规定的条件,在算法的处理时间超过基于所述首要周期71的时间时,切换为处理时间更短的其他算法,以可维持这种控制例程。
<G.用户程序>
接下来,对用户程序的一例进行说明。用户程序例如以按照IEC 61131-3标准所定义的语言的功能块图来描述。图12为说明本实施方式的机器学习处理的功能块121的图。以下的说明中,将功能块也称为FB。图12的(A)的FB121例如以一个或多个函数的形式来安装机器学习处理部144所安装的一个或多个功能。FB121具有图12的(B)所示的两个输入变量(Execute、Algorithm)、及图12的(C)所示的六个输出变量(Done、Busy、Error、ErrorID、Time、WarningLevel)。这些输入变量及输出变量相当于某种存储区域,记录区域的值可由功能块图中的其他FB或构成图的组件参照。
输入变量Execute对FB121设定指示处理开始的数据。而且,关于输入变量Algorithm,设定指定由机器学习处理部144所执行的算法的种类的值。例如,若输入变量Algorithm的值为“0”则指定LOF的算法,若值为“1”则指定iForeset的算法。
若对输入变量Execute设定指示处理开始的值,则FB121启动。若启动,则FB121(i)基于从特征提取部141所提取的特征量及学习模型152,执行输入变量Algorithm所指定的算法,由此算出得分154,(ii)受理基于所述得分154通过结果判定处理所算出的判定结果170,对输出变量WarnigLevel设定所受理的判定结果170。输出变量WarnigLevel在判定结果170表示正常时设定“0”,在表示异常时设定“1”,在表示故障时设定“2”。FB121进而(iii)测量(算出)从执行输入变量Algorithm所指定的算法开始到算出得分154为止的算法处理时间,对输出变量Time设定所测量的处理时间。因此,输出变量Time也表示机器学习处理部144的处理时间。而且,FB121也可测量算法的处理时间及基于得分154生成判定结果170的处理所耗的处理时间的合计,对输出变量Time设定所测量的处理时间。
而且,FB121在机器学习处理完成时,也就是FB121的函数的执行完成时,对输出变量Done设定“真(True)”。而且,FB121在函数的执行中,对输出变量Busy设定“真(True)”,但在完成时设定“1”。而且,FB121在执行中检测到错误时对输出变量Error设定“真(True)”,生成表示错误种类的错误代码并对输出变量ErrorID进行设定。
对于图12的(A)的FB121的输入变量Algorithm,设定指定LOF或iForest的值,但也可设定指定图9所示的其他种类的算法的值。
(g1:与处理时间相应的算法的变更)
图13为示意性地表示本实施方式的异常探测处理的用户程序的一例的图。更具体而言,图13的用户程序表示下述处理,即:根据基于算法的处理时间(执行算法所耗的处理时间)的条件,切换用于机器学习处理的算法。
参照图13,用户程序包含:步骤S1,与帧同步地检测异常探测的处理开始;步骤S2,实施异常探测处理的初始设定;步骤S3,实施异常探测处理的算法的处理时间与阈值的比较;以及步骤S4,根据所述比较的结果来实施算法的变更。步骤S2及S4相当于机器学习处理部144及结果判定部146的处理,步骤S3相当于切换条件判定部142的处理。本实施方式中,通过与帧同步地反复执行步骤S1~S4,从而反复实施异常探测处理。
首先,步骤S1中,执行判断可否开始异常探测处理的功能块RS_instance。通过执行,从而功能块RS_instance将表示异常探测处理的开始的变量SettingTrigger设置或重置为“真(True)”(开始步骤S2以后的处理)。
更具体而言,当帧开始时初始设定处理(步骤S2)为非执行中时,也就是对变量FrameTrigger设定有“真(True)”及对变量Busy0设定有“假(False)”时,对变量SettingTrigger设置“真(True)”(可开始处理)。另一方面,当帧开始时初始设定处理(步骤S2)为非执行中时,也就是对变量FrameTrigger设定有“真(True)”及对变量Busy0设定有“假(False)”时,对变量SettingTrigger设定“假(False)”(不可开始处理)。
而且,功能块RS_instance在后述的步骤S2或S4中机器学习处理中产生错误、或所述机器学习处理完成时,也就是对变量Error0设定有“真(True)”或对变量Done0设定有“真(True)”时,将变量SettingTrigger重置。因此,步骤S1中,可每次在帧的开始时,判定为开始步骤S2以后的处理。
接下来的步骤S2中,执行机器学习处理的FB1210。FB1210在对变量SettingTrigger设定有“真(True)”,对后述的变量CompareResult设定有“假(False)”时,执行输入变量Algorithm的值“0”指定的算法(例如LOF)而实施机器学习处理。由此,对变量WarningLevel0设定表示基于得分154的判定结果170的值,所述得分154是根据所述帧中获取的特征量所算出,对变量Time0设定算法的处理时间,而且对变量Done0设定表示步骤S2的机器学习处理完成的值“真(True)”。
接下来的步骤S3中,执行功能块LT_instance,此功能块LT_instance将对变量TimeX(图13的情况下为变量Time0或变量Time1)设定的算法的处理时间、与对变量threshold设定的阈值进行比较。功能块LT_instance在对变量SettingTrigger设定了“真(True)”时,也就是帧的开始时,将变量TimeX与变量threshold的值彼此比较,对变量CompareResult设定比较的结果。功能块LT_instance在变量TimeX的值为变量threshold的阈值以上时,对变量CompareResult设定“真(True)”,在小于阈值时对变量CompareResult设定“假(False)”。
接下来的步骤S4中,执行机器学习处理的FB1211。FB1211是在对变量CompareResult设定了“真(True)”时,也就是由初始设定处理(步骤S2)所设定的算法(例如LOF)的处理时间超过阈值的情况下执行。若执行,则FB1211执行输入变量Algorithm的值“1”所指定的算法(例如iForest)。由此,对变量WarningLevel1设定表示基于的得分154的判定结果170的值,所述得分154是根据所述帧中获取的特征量所算出,对变量Time1设定算法的处理时间,进而对变量Done0设定表示步骤S4的机器学习处理完成的值“真(True)”。
通过执行图13的用户程序,从而设定例如初始算法(例如LOF)作为用于机器学习处理的算法,然后若算法的处理时间超过阈值,则初始算法切换为占机器学习处理的处理时间少的其他算法(例如iForest)。
另外,变量threshold的值例如为基于首要周期71的时间,例如可包含首要周期71的整数倍的值。由此,可将FB1210或FB1211的输出变量WarningLevel0或WarningLevel的判定结果170,以与首要周期71同步的适时的时机提供给控制处理73的任务。
(g2:与判定结果相应的算法的变更)
图14为示意性地表示本实施方式的异常探测处理的用户程序的另一示例的图。更具体而言,图14的用户程序表示下述处理,即:根据基于判定结果170(正常、异常、故障等)的条件,来切换用于机器学习处理的算法,所述判定结果170基于得分。图14的用户程序也与图13同样地,可由图12所示的包含FB的功能块图来描述。
参照图14,用户程序包含:步骤S1,与帧同步地检测异常探测的处理开始;步骤S2a,实施异常探测处理的初始设定;步骤S3a,实施表示异常探测处理的判定结果170的变量WarningLevel(WarningLeve0或WarningLeve1)的值与阈值“1”的比较;以及步骤S4a,根据所述比较的结果来实施算法的变更。步骤S2a及S4a相当于机器学习处理部144及结果判定部146的处理,步骤S3a相当于切换条件判定部142的处理。本实施方式中,通过与帧同步地反复执行步骤S1~S4a,从而反复实施异常探测处理。
首先,步骤S1中,与帧的开始同步地判断可否开始异常探测处理。此处理与图13的步骤S1的处理相同,因而不再重复说明。
接下来的步骤S2a的初始设定处理中,执行机器学习处理的FB1211。FB1211与图13的FB1211提供相同的功能,因而不再重复说明。通过实施步骤S2a的初始设定处理,从而执行与变量algorithm的值“1”对应的例如算法iForest,对变量WarningLevel0设定表示基于由算法iForest所算出的得分的判定结果170的值,对变量Time0设定算法的处理时间,进而对变量Done0设定表示步骤S2a的机器学习处理完成的值“真(True)”。
接下来的步骤S3a中,执行功能块LT_instance,此功能块LT_instance将对变数WarningLevel(图14的情况下为变数WarningLevel0或变数WarningLeve1)设定的值(正常“0”、异常“1”、故障“2”)与阈值“1”进行比较。功能块LT_instance在对变数SettingTrigger设定了“真(True)”,也就是帧的开始时,将变数WarningLevel的值与阈值“1”彼此比较,对变数CompareResult设定比较的结果。功能块LT_instance针对变数CompareResult,在变数WarningLevel的值超过阈值“1”时,也就是判定结果170表示“故障”时,对变数CompareResult设定“真(True)”,在小於阈值时,也就是判定结果170表示“正常”或“异常”时,对变数CompareResult设定“假(False)”。
接下来的步骤S4a中,执行机器学习处理的FB1210。FB1210与图13的FB1210提供相同的功能,因此不再重复说明。步骤S4a中,在步骤S3a中对变量CompareResult设定了“真(True)”时,也就是由初始设定处理(步骤S2)中设定的算法(例如iForest)的异常探测的判定结果170表示“故障”时,执行FB1210。若执行,则FB1210实施执行输入变量Algorithm的值“0”所指定的算法(例如LFO)的、机器学习处理。若步骤S4a的FB1210的机器学习处理完成,则对变量WarningLevel1设定表示基于所述帧中获取的得分154的判定结果170的值,对变量Time1设定算法的处理时间,进而对变量Done0设定表示机器学习处理完成的值“真(True)”。
通过执行这种图14的异常探测处理的用户程序,从而设定例如初始算法(例如iForest)作为用于机器学习处理的算法,然后若判定结果170超过阈值(例如“异常”的值),则可将初始算法切换为精度更高的其他算法(例如LOF)。
(g3:与生产工序的切换相应的算法的变更)
图15为示意性地表示本实施方式的异常探测处理的用户程序的进而另一例的图。具体而言,图15的用户程序表示下述处理,即:根据基于生产工序的切换的条件,来切换用于机器学习处理的算法。图15的用户程序也与图13或图14同样地,可由图12所示的包含FB的功能块图来描述。此处,生产工序例如包含工序A及工序B,说明从工序A切换为工序B的情况。
参照图15,用户程序包括:步骤S1a,实施工序A的重置处理;步骤S2b,实施用于工序A的异常探测处理;步骤S3b,检测工序A的实施的开始;步骤S4b,实施用于工序B的异常探测处理;以及步骤S3c,检测工序B的实施的开始。步骤S2b及S4b相当于机器学习处理部144及结果判定部146的处理,步骤S3b及S3c相当于切换条件判定部142的处理。
首先,步骤S1a中,在对切换为工序A的触发变量ChangeTrigger设定有“真(True)”,对变量Busy0设定有“假(False)”的情况下,执行功能块RS_instance。由此,对允许向工序A切换的变量SettingTrigger0设定“真(True)”。
接下来,步骤S3b中,若判定为对变量SettingTrigger0设定有“真(True)”,且对指示工序A的开始的变量PA设定有“真(True)”,也就是若判定为满足向生产工序A的切换条件,则对步骤S2b的FB1210的输入变量Execute设定判定结果“真(True)”。
步骤S2b中,执行FB1210。步骤S2b的FB1210执行输入变量Algorithm的值“0”所指定的算法(例如LOF)而实施机器学习处理。步骤S2b中,执行与图13或图14所示的FB1210相同的处理,因而不再重复说明。然后,执行工序A的处理。
而且,为了从工序A切换为工序B,而与步骤S1a同样地实施工序B的未图示的重置处理。通过工序B的重置处理,而对允许向工序B切换的变量SettingTrigger1设定“真(True)”。
接下来,步骤S3c中,若判定为对变量SettingTrigger1设定有“真(True)”,且对指示工序B的开始的变量PB设定有“真(True)”,也就是若判定为满足向生产工序B的切换条件,则对步骤S4b的FB1211的输入变量Execute设定判定结果“真(True)”。
步骤S4b中,执行FB1211。步骤S4b的FB1211执行输入变量Algorithm的值“1”所指定的算法(例如iForest)而实施机器学习处理。步骤S4b中,与图13或图14所示的FB1211同样地执行,因此不再重复说明。然后,执行工序B的处理。
通过执行这种图15的异常探测处理的用户程序,从而可在每当切换工序时,将用于机器学习处理的算法切换为与切换后的工序相应的算法。
本实施方式中,即便切换算法,学习模型152也在算法间通用地使用。即,可将学习模型152继续用于切换后的算法,因而可对生产现场容易地导入算法的切换***。
<H.判定条件的切换>
本实施方式中,如图16那样,也可在学习模型152的空间中根据算法来变更判定条件156的阈值。
图16为说明本实施方式的判定条件的切换的图。图16示意性地表示学习模型152所构成的、包含被标注了特定等级(例如正常或异常)的特征量的空间。图16的空间例如为由两种特征量1及特征量2所规定的二维空间。若图16的学习模型152包含正常时的特征量,则得分154意指表示监测对象产生某些异常的可能性的值。
图16中,作为判定正常与异常的判定条件156的阈值,例如示出两种阈值TH1和TH2。本实施方式中,可采用下述结构,即:根据用于机器学习处理部144的算法来切换作为判定条件156而适用的阈值。
具体而言,结果判定部146例如在机器学习处理部144中执行算法LOF时,使阈值TH1与TH2中的一者有效(用于结果判定的阈值),使另一者无效(不用于结果判定的阈值),且在机器学习处理部144中执行算法iForest时,使阈值TH1与TH2中的一者无效,使另一者有效。
根据图16,通过变更判定条件156的阈值,从而可使即便为相同的得分154但超过阈值的、也就是判定为异常或警报侧的情况增加。反之,可使即便为相同得分但不超过阈值的、也就是判定为异常或警报侧的情况减少。
因此,例如通过将所述(g2:与判定结果相应的算法的变更)与图16的判定条件156的阈值的变更组合而实施,从而可提高变量Warninglevel0或Warninglevel1超过阈值“1”的频率,也就是提高切换为算法LOF的频率,可实施更严格的异常探测。
<I.流程图>
图17为表示本实施方式的异常探测的过程的一例的流程图。本实施方式中,图17所示的过程可使用图1~图3及图5所示的装置来实施。
流程图所示的过程也可通过由一个以上的处理单元(例如处理器102)、硬件或这些的组合所执行的软件(例如代码、命令、程序)来实施。软件也可保存于(例如二次存储装置108等各种存储装置或非一次性性的计算机可读取的存储介质116等上的)存储器。而且,流程图的一连串处理步骤并无限定,也可与其他的一连串步骤组合而执行。例如,本实施方式中,图17所示的各步骤也可包含多个子步骤,且这些多个子步骤根据各步骤而以各种顺序执行。
处理器102执行图17的过程。若执行过程,则执行特征提取工序(1)、机器学习处理工序(2)、结果判定工序(3)及切换工序(4)。
特征提取工序(1)中,处理器102根据从现场装置群10的控制对象所含的监测对象所获取的一个或多个状态值而算出一个或多个特征量。机器学习处理工序(2)中,处理器102执行多种算法中的一个,所述算法参照学习模型152,基于特征提取工序(1)中算出的一个或多个特征量而算出得分154,此得分154为表示监测对象产生某些异常的可能性的值。结果判定工序(3)中,处理器102基于机器学习处理工序(2)中算出的得分154,生成表示监测对象是否产生某些异常的判定结果170。而且,切换工序(4)中,处理器102根据预先规定的条件来切换机器学习处理工序(2)中执行的一个算法。
而且,图17的流程图的一连串处理步骤的顺序并无限定。例如,图17中,切换工序(4)也可与特征提取工序(1)并列执行,但执行顺序不限定于并列。即,切换工序(4)只要以机器学习处理工序(2)中执行的算法的切换之前那样的顺序执行即可。
<J.程序>
本实施方式的图2及图5所示的各部也可通过处理器102执行必要的程序,从而执行包含图17所示的步骤的异常探测处理。而且,图13~图15所示的用户程序也可由处理器102执行。处理器102所包括的CPU等通过执行程序,从而对控制装置100的各结构元件进行控制。二次存储装置108存储由处理器102所执行的这些程序。存储介质116为以计算机、其他装置、机器等可读取所记录的程序等信息的方式,通过电作用、磁作用、光学作用、机械作用或化学作用而存储所述程序等信息的介质。处理器102也可从所述存储介质116获取所述程序。而且,程序也可从本地网络6或支持装置200通过下载而提供给控制装置100。
<K.变形例>
本实施方式中,切换条件判定部142判定切换条件,将切换指示输出至机器学习处理部144,但切换指示也可通过用户操作而输入。例如,也可通过在支持装置200的显示部218显示变量time或变量Warninglevel,且用户操作输入部216,从而将切换指示从支持装置200输入至机器学习处理部144。
<L.附注>
所述那样的本实施方式包含如下技术思想。
[结构1]
一种控制装置100,对配置于生产工序的控制对象进行控制,且包括:
特征提取部141,根据从控制对象所含的监测对象10获取的一个或多个状态值而算出一个或多个特征量;
处理部144,执行多种算法中的一个,所述算法参照学习模型152,基于由所述特征提取部所算出的一个或多个特征量而算出得分154,所述得分154为表示所述监测对象产生某些异常的可能性的值;
判定部146,基于由所述处理部所算出的得分154,生成表示所述监测对象是否产生某些异常的判定结果170;以及
切换部142,根据预先规定的条件来切换由所述处理部执行的所述一个算法。
[结构2]
根据结构1所记载的控制装置,其中,所述预先规定的条件包含基于所述处理部进行的所述一个算法的处理时间的条件。
[结构3]
根据结构1或2所记载的控制装置,其中,所述预先规定的条件包含基于所述处理部进行的所述一个算法的处理时间、及根据所述判定部的所述得分来生成所述判定结果的处理所耗的处理时间的条件。
[结构4]
根据结构1至3中任一项所记载的控制装置,其中,所述预先规定的条件包含基于由所述判定部所生成的判定结果的条件。
[结构5]
根据结构1至4中任一项所记载的控制装置,其中,所述预先规定的条件包含基于生产工序的切换的条件。
[结构6]
根据结构1至4中任一项所记载的控制装置,其中,所述学习模型通用地适用于所述多种算法。
[结构7]
根据结构1至6中任一项所记载的控制装置,其中,
所述学习模型为根据从所述监测对象获取的数据而生成且由一个以上的元素定义的特征量的集合体sa、sb,
所述控制装置还将用于算出所述得分的所述特征量的集合体的、与范围相关的参数(第二参数),继续用于切换后的算法。
[结构8]
根据结构1至7中任一项所记载的控制装置,其中,所述多个算法各自的、所述算法的处理时间或所算出的所述得分的准确率不同。
[结构9]
根据结构2或3所记载的控制装置,还包括:
多任务执行部159,执行多个任务,所述多个任务包含用于实施所述控制对象的实时控制的控制任务、及用于实施与所述实时控制关联的关联处理的关联处理任务,
所述多任务执行部以预先规定的周期71反复执行所述控制任务,
所述多任务执行部在所述控制任务中执行所述判定部的判定处理,在所述关联处理任务中执行所述处理部进行的所述得分的算出,
基于所述算法的处理时间的条件包含所述处理时间超过基于所述预先规定的周期71的时间的条件。
[结构10]
一种计算机可读取的存储介质,存储有程序,用于使处理器102执行对配置于生产工序的控制对象进行控制的控制方法,且
所述控制方法包括下述步骤:
根据从所述控制对象所含的监测对象获取的一个或多个状态值而算出一个或多个特征量;
执行多种算法中的一个,所述算法参照学习模型,基于所算出的所述一个或多个特征量而算出得分,所述得分为表示所述监测对象产生某些异常的可能性的值;
基于所算出的所述得分,生成表示所述监测对象是否产生某些异常的判定结果;以及
根据预先规定的条件来切换所述执行的步骤中执行的所述一个算法。
应认为本次公开的实施方式在所有方面为例示而非限制性。本发明的范围是由权利要求而非所述说明来表示,意指包含与权利要求均等的含意及范围内的所有变更。
Claims (9)
1.一种控制装置,对配置于生产工序的控制对象进行控制,且包括:
特征提取部,根据从控制对象所含的监测对象获取的一个或多个状态值而算出一个或多个特征量;
处理部,执行多种算法中的一个算法,所述一个算法参照学习模型,基于由所述特征提取部所算出的一个或多个特征量而算出得分,所述得分为表示所述监测对象产生某些异常的可能性的值;
判定部,基于由所述处理部所算出的得分,生成表示所述监测对象是否产生某些异常的判定结果;以及
切换部,根据预先规定的条件,来切换由所述处理部执行的所述一个算法至所述多种算法中的其他算法,
其中,所述预先规定的条件包含基于所述处理部进行的所述一个算法的处理时间的条件。
2.根据权利要求1所述的控制装置,其中,所述预先规定的条件更包含根据所述判定部的所述得分来生成所述判定结果的处理所耗的处理时间的条件。
3.根据权利要求1所述的控制装置,其中,所述预先规定的条件更包含基于由所述判定部所生成的判定结果的条件。
4.根据权利要求1所述的控制装置,其中,所述预先规定的条件更包含基于生产工序的切换的条件。
5.根据权利要求1所述的控制装置,其中,所述学习模型通用地适用于所述多种算法。
6.根据权利要求1所述的控制装置,其中,
所述学习模型为根据从所述监测对象获取的数据而生成且由一个以上的元素定义的特征量的集合体,
所述控制装置还将用于算出所述得分的所述特征量的集合体的、与范围相关的参数,继续用于切换后的所述其他算法。
7.根据权利要求1所述的控制装置,其中,所述一个算法与所述其他算法的所述处理时间或所算出的所述得分的准确率不同。
8.根据权利要求2所述的控制装置,还包括:
多任务执行部,执行多个任务,所述多个任务包含用于实施所述控制对象的实时控制的控制任务、及用于实施与所述实时控制关联的关联处理的关联处理任务,
所述多任务执行部以预先规定的周期反复执行所述控制任务,
所述多任务执行部在所述控制任务中执行所述判定部的判定处理,在所述关联处理任务中执行所述处理部进行的所述得分的算出,
基于所述一个算法的所述处理时间的条件包含所述处理时间超过基于所述预先规定的周期的时间的条件。
9.一种计算机可读取的存储介质,存储有程序,用于使处理器执行对配置于生产工序的控制对象进行控制的控制方法,且
所述控制方法包括下述步骤:
根据从所述控制对象所含的监测对象获取的一个或多个状态值而算出一个或多个特征量;
执行多种算法中的一个算法,所述一个算法参照学习模型,基于所算出的一个所述或多个特征量而算出得分,所述得分为表示所述监测对象产生某些异常的可能性的值;
基于所算出的所述得分,生成表示所述监测对象是否产生某些异常的判定结果;以及
根据预先规定的条件,来切换所述执行的步骤中执行的所述一个算法至所述多种算法中的其他算法,
其中,所述预先规定的条件包所述一个算法的处理时间的条件。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018238375A JP7119978B2 (ja) | 2018-12-20 | 2018-12-20 | 制御装置およびプログラム |
JP2018-238375 | 2018-12-20 | ||
PCT/JP2019/046083 WO2020129545A1 (ja) | 2018-12-20 | 2019-11-26 | 制御装置およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112673327A CN112673327A (zh) | 2021-04-16 |
CN112673327B true CN112673327B (zh) | 2023-10-24 |
Family
ID=71101183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980058582.XA Active CN112673327B (zh) | 2018-12-20 | 2019-11-26 | 控制装置及计算机可读取的存储介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11782431B2 (zh) |
EP (1) | EP3901721A4 (zh) |
JP (1) | JP7119978B2 (zh) |
CN (1) | CN112673327B (zh) |
WO (1) | WO2020129545A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7119978B2 (ja) * | 2018-12-20 | 2022-08-17 | オムロン株式会社 | 制御装置およびプログラム |
US11982987B2 (en) * | 2020-01-31 | 2024-05-14 | Keyence Corporation | Programmable logic controller and analyzer |
JP7414704B2 (ja) * | 2020-12-14 | 2024-01-16 | 株式会社東芝 | 異常検出装置、異常検出方法、およびプログラム |
JP2022101969A (ja) * | 2020-12-25 | 2022-07-07 | オムロン株式会社 | 制御システム、サポート装置およびラベル付与方法 |
JP2022143423A (ja) * | 2021-03-17 | 2022-10-03 | 株式会社リコー | 診断装置、診断システム、診断方法及び診断プログラム |
JP2022170011A (ja) * | 2021-04-28 | 2022-11-10 | 株式会社Sumco | 状態判定装置及び状態判定方法 |
WO2024033972A1 (ja) * | 2022-08-08 | 2024-02-15 | 三菱電機株式会社 | プログラマブルコントローラ、例外アクセス学習方法及びプログラム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468887A (zh) * | 2014-09-10 | 2016-04-06 | 华邦电子股份有限公司 | 数据分析***以及方法 |
JP6315528B1 (ja) * | 2017-08-18 | 2018-04-25 | ブレインズテクノロジー株式会社 | 異常検知モデル構築装置、異常検知モデル構築方法及びプログラム |
JP2018097839A (ja) * | 2017-06-08 | 2018-06-21 | オムロン株式会社 | 制御装置、制御プログラムおよび制御方法 |
WO2018146733A1 (ja) * | 2017-02-07 | 2018-08-16 | 富士通株式会社 | 生成プログラム、異常判定装置、及び生成方法 |
CN108628263A (zh) * | 2017-03-22 | 2018-10-09 | 欧姆龙株式会社 | 控制***、控制装置、计算机可读存储介质以及控制方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4157041A (en) * | 1978-05-22 | 1979-06-05 | General Motors Corporation | Sonic vibrating bell gyro |
JPS6315528U (zh) | 1986-07-15 | 1988-02-01 | ||
US9002492B2 (en) * | 2010-02-16 | 2015-04-07 | Applied Materials, Inc. | Methods and apparatuses for utilizing adaptive predictive algorithms and determining when to use the adaptive predictive algorithms for virtual metrology |
JP6529986B2 (ja) * | 2014-05-13 | 2019-06-12 | エフ.ホフマン−ラ ロシュ アーゲーF. Hoffmann−La Roche Aktiengesellschaft | 重水素化ヘテロ環式化合物及びイメージング剤としてのその使用 |
JP6402541B2 (ja) * | 2014-08-26 | 2018-10-10 | 株式会社豊田中央研究所 | 異常診断装置及びプログラム |
JP6496274B2 (ja) | 2016-05-27 | 2019-04-03 | ファナック株式会社 | 寿命故障条件を学習する機械学習装置,故障予知装置,機械システムおよび機械学習方法 |
JP6782679B2 (ja) * | 2016-12-06 | 2020-11-11 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 情報処理装置、情報処理方法及びプログラム |
JP6386520B2 (ja) * | 2016-12-13 | 2018-09-05 | ファナック株式会社 | 数値制御装置及び機械学習装置 |
JP6961424B2 (ja) * | 2017-08-30 | 2021-11-05 | 株式会社日立製作所 | 故障診断システム |
CN108563217A (zh) * | 2018-05-29 | 2018-09-21 | 济南浪潮高新科技投资发展有限公司 | 基于局部和全局统计分析的鲁棒异常检测方法 |
JP7119978B2 (ja) * | 2018-12-20 | 2022-08-17 | オムロン株式会社 | 制御装置およびプログラム |
US11737193B2 (en) * | 2019-12-29 | 2023-08-22 | Signify Holding B.V. | System and method for adaptive fusion of data from multiple sensors using context-switching algorithm |
-
2018
- 2018-12-20 JP JP2018238375A patent/JP7119978B2/ja active Active
-
2019
- 2019-11-26 WO PCT/JP2019/046083 patent/WO2020129545A1/ja unknown
- 2019-11-26 CN CN201980058582.XA patent/CN112673327B/zh active Active
- 2019-11-26 US US17/293,047 patent/US11782431B2/en active Active
- 2019-11-26 EP EP19901311.1A patent/EP3901721A4/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468887A (zh) * | 2014-09-10 | 2016-04-06 | 华邦电子股份有限公司 | 数据分析***以及方法 |
WO2018146733A1 (ja) * | 2017-02-07 | 2018-08-16 | 富士通株式会社 | 生成プログラム、異常判定装置、及び生成方法 |
CN108628263A (zh) * | 2017-03-22 | 2018-10-09 | 欧姆龙株式会社 | 控制***、控制装置、计算机可读存储介质以及控制方法 |
JP2018097839A (ja) * | 2017-06-08 | 2018-06-21 | オムロン株式会社 | 制御装置、制御プログラムおよび制御方法 |
JP6315528B1 (ja) * | 2017-08-18 | 2018-04-25 | ブレインズテクノロジー株式会社 | 異常検知モデル構築装置、異常検知モデル構築方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20220004177A1 (en) | 2022-01-06 |
JP2020101904A (ja) | 2020-07-02 |
EP3901721A1 (en) | 2021-10-27 |
CN112673327A (zh) | 2021-04-16 |
EP3901721A4 (en) | 2022-09-21 |
WO2020129545A1 (ja) | 2020-06-25 |
JP7119978B2 (ja) | 2022-08-17 |
US11782431B2 (en) | 2023-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112673327B (zh) | 控制装置及计算机可读取的存储介质 | |
US10591886B2 (en) | Control system, control program, and control method for device switching responsive to abnormality detection | |
EP3379358B1 (en) | Control system, control device, control program, and control method | |
CN110187694B (zh) | 故障预测装置以及机器学习装置 | |
US10901398B2 (en) | Controller, control program, control system, and control method | |
US11829130B2 (en) | Control apparatus and non-transitory computer readable medium for detecting abnormality occurring in subject to be monitored | |
US20180059657A1 (en) | Production controller equipped with function of identifying cause upon operation stop of production facility including manufacturing facilities | |
US10890889B2 (en) | Method of monitoring and assessing the operation of an industrial installation driven by a programmable controller and equipment implementing said method | |
TWI830193B (zh) | 預測系統、資訊處理裝置以及資訊處理程式 | |
WO2022181007A1 (ja) | 情報処理装置、情報処理プログラムおよび情報処理方法 | |
WO2023053511A1 (ja) | 制御システム、情報処理方法および情報処理装置 | |
TWI843084B (zh) | 控制系統、資訊處理方法以及資訊處理裝置 | |
JP2021128433A (ja) | 保全管理システム | |
JP2023006304A (ja) | 制御システム、モデル生成方法およびモデル生成プログラム | |
JP2023002962A (ja) | 情報処理装置、モデル生成プログラムおよびモデル生成方法 | |
JP2023151888A (ja) | 予測システム、制御装置および制御プログラム | |
CN116894544A (zh) | 数据收集装置、记录介质以及方法 |
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 |