WO2020059736A1 - 制御装置および制御システム - Google Patents

制御装置および制御システム Download PDF

Info

Publication number
WO2020059736A1
WO2020059736A1 PCT/JP2019/036496 JP2019036496W WO2020059736A1 WO 2020059736 A1 WO2020059736 A1 WO 2020059736A1 JP 2019036496 W JP2019036496 W JP 2019036496W WO 2020059736 A1 WO2020059736 A1 WO 2020059736A1
Authority
WO
WIPO (PCT)
Prior art keywords
learning data
feature amount
data set
abnormality
monitoring target
Prior art date
Application number
PCT/JP2019/036496
Other languages
English (en)
French (fr)
Inventor
孝昌 見置
Original Assignee
オムロン株式会社
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 オムロン株式会社 filed Critical オムロン株式会社
Publication of WO2020059736A1 publication Critical patent/WO2020059736A1/ja

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
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring

Definitions

  • the present invention relates to a control device and a control system for determining the presence or absence of an abnormality in a monitoring target.
  • FA Vectory Automation
  • PLC programmable controller
  • Patent Document 1 As a technique for determining the presence or absence of an abnormality in a monitoring target, for example, a semiconductor manufacturing apparatus management system disclosed in Japanese Patent Application Laid-Open No. 7-282146 (Patent Document 1) is known.
  • a management computer manages the operation timing of the entire apparatus from I / O (input / output) data obtained from various sensors added to the semiconductor manufacturing apparatus. Further, the management computer compares the operation timing of the entire apparatus with a normal state, and issues a warning when a difference between the timings exceeds a management standard.
  • the method of determining whether there is an abnormality in a monitoring target differs for each type of monitoring target. Therefore, the coordinator (hereinafter, referred to as a “field engineer”) needs to adjust the method of determining the presence or absence of an abnormality according to the type of the monitoring target.
  • the adjustment of the determination method is, for example, adjustment of the determination standard.
  • a designer who designs a control device for controlling a control target including a monitoring target designs a user program that defines the operation of the control device.
  • the designer specifies in the user program a program (abnormality determination program) for determining the presence or absence of a monitoring target abnormality.
  • the present invention has been made in view of the above problems, and has as its object to provide a control device and a control system in which a field engineer can easily perform adjustment work of a determination method and a designer can easily perform design work of a user program. It is to provide.
  • the control device includes the control calculation unit and the abnormality determination unit.
  • the control calculation unit performs a control calculation for controlling the control target using a state value periodically collected from the control target.
  • the abnormality determination unit calculates a score indicating a comparison result between a feature amount generated from a state value related to the monitoring target among the collected state values and a preset learning data set, and compares the calculated score with a preset value. Based on the determined criterion, the presence or absence of an abnormality of the monitoring target is determined.
  • the abnormality determination unit is realized by defining an instruction in a user program for controlling a control target.
  • the control device further includes an update unit that receives a learning data set for updating and a criterion for updating from the outside and updates the currently set learning data set and the criterion for updating.
  • the designer of the control device can design the user program so that the presence or absence of the abnormality of the monitoring target is determined using the provisionally created learning data set and the determination reference information. Further, after the user program is designed, the field engineer adjusts the learning data set and the criterion information so that the presence or absence of the abnormality of the monitoring target can be accurately determined, and the adjusted learning data set and the criterion information are determined. What is necessary is just to provide to an update part. As described above, according to the above control device, the field engineer can easily perform the adjustment work of the determination method, and the designer can easily perform the design work of the user program.
  • the generated feature amount is predetermined for each monitoring target.
  • a learning data set and a criterion are set according to the generated feature amount.
  • a feature amount, a learning data set, and a criterion can be set according to a monitoring target.
  • the abnormality determination unit is realized by specifying an instruction in the form of a function block in the user program. According to this disclosure, a designer can easily design a user program for executing determination of the presence or absence of an abnormality in a monitoring target using a function block.
  • a function block, a temporary learning data set, and a temporary determination criterion are created in advance for each monitoring target in association with each other.
  • a temporary learning data set and a temporary determination reference corresponding to the function block are set.
  • a designer can easily set a temporary learning data set and a temporary determination criterion for executing determination of the presence / absence of a monitoring target abnormality by defining a function block.
  • the abnormality determination unit generates the feature value according to the specification information for specifying the type of the state value and the type of the feature value.
  • the update unit receives specification information for update from the outside and updates the currently set specification information. According to this disclosure, a field engineer can appropriately adjust a feature amount suitable for determining whether or not there is an abnormality in a monitoring target.
  • the control system includes a control operation unit and an abnormality determination unit.
  • the control calculation unit performs a control calculation for controlling the control target using a state value periodically collected from the control target.
  • the abnormality determination unit calculates a score indicating a comparison result between a feature amount generated from a state value related to the monitoring target among the collected state values and a preset learning data set, and compares the calculated score with a preset value. Based on the determined criterion, the presence or absence of an abnormality of the monitoring target is determined.
  • the abnormality determination unit is realized by being defined in a user program for controlling a control target.
  • the control system further includes a determining unit and an updating unit.
  • the determining unit determines a learning data set for update and a determination criterion for update using a state value related to the monitoring target or a generated feature amount.
  • the update unit receives the update learning data set and the update criterion, and updates the currently set learning data set and the criterion, respectively.
  • the field engineer can easily perform the adjustment work of the judgment method, and the designer can easily perform the design work of the user program.
  • control system further includes a program creating unit that creates a user program.
  • the program creation unit creates a user program using a function block that defines an instruction for implementing the abnormality determination unit, and sets a temporary learning data set and a temporary determination reference associated with the function block. According to this disclosure, a designer can easily set a temporary learning data set and a temporary determination criterion for executing determination of the presence / absence of a monitoring target abnormality by defining a function block.
  • FIG. 2 is a schematic diagram illustrating a configuration example of a control device according to the present embodiment.
  • 1 is a schematic diagram illustrating an example of the overall configuration of a control system according to the present embodiment.
  • FIG. 2 is a schematic diagram illustrating a hardware configuration example of a design tool device.
  • FIG. 2 is a schematic diagram illustrating an example of a software configuration of a design tool device.
  • FIG. 7 is a diagram illustrating an example of a correspondence relationship between a function block for determining the presence or absence of a monitoring target abnormality and attached data.
  • FIG. 4 is a diagram illustrating an example of a function block for determining whether or not a monitoring target has an abnormality;
  • FIG. 7 is a diagram illustrating an example of a user program created using the function blocks illustrated in FIG. 6.
  • FIG. 3 is a block diagram illustrating a hardware configuration example of a control device according to the present embodiment.
  • FIG. 3 is a block diagram illustrating a hardware configuration example of a support device according to the present embodiment.
  • FIG. 2 is a block diagram illustrating a main software configuration example of a control system according to the present embodiment.
  • FIG. 11 is a block diagram illustrating an outline of a functional module included in the analysis tool illustrated in FIG. 10. It is a schematic diagram for explaining the basic concept of the abnormality determination processing of the control system according to the present embodiment.
  • FIG. 5 is a schematic diagram schematically illustrating a procedure of an abnormality determination process of the control system according to the present embodiment.
  • FIG. 5 is a flowchart illustrating a procedure of an abnormality determination process performed in the control device according to the present embodiment. It is a schematic diagram which shows the content of the analysis processing which concerns on this Embodiment.
  • FIG. 16 is a schematic diagram visually illustrating an outline of the processes (a) to (c) shown in FIG. 15. It is a flowchart which shows an example of the processing procedure of the support apparatus which concerns on this Embodiment.
  • FIG. 18 is a schematic diagram showing an example of a user interface screen provided to a field engineer in step S6 of FIG.
  • FIG. 18 is a schematic diagram showing an example of a user interface screen provided to a user in step S8 of FIG.
  • FIG. 11 is a block diagram illustrating a main software configuration example of a control system according to a modification.
  • FIG. 21 is a block diagram showing an outline of a functional module included in the analysis tool shown in FIG. 20. It is a schematic diagram which shows the outline
  • FIG. 24 is a schematic diagram showing an example of a user interface screen provided by the support device to the field engineer in step S108 of FIG. 23. It is a mimetic diagram for explaining processing which evaluates the importance of the feature quantity performed by the analysis tool of the support device concerning a modification.
  • FIG. 1 is a schematic diagram illustrating a configuration example of a control device according to the present embodiment.
  • the control device 100 is, for example, a PLC (programmable logic controller). As shown in FIG. 1, the control device 100 includes a control operation unit 10, an abnormality determination unit 20, and an update unit 30.
  • the control calculation unit 10 performs a control calculation for controlling the control target using the state value periodically collected from the control target.
  • the “state value” includes a value that can be observed in an arbitrary control target (including: a monitoring target).
  • the “state value” is, for example, a physical value that can be measured by an arbitrary sensor, an ON / OFF state of a relay or a switch, a command value that the PLC gives to the servo driver such as a position, a speed, a torque, and a variable value used by the PLC for calculation. And the like.
  • the abnormality determination unit 20 calculates a score indicating a comparison result between the feature amount generated from the state value related to the monitoring target and the learning data set 41 among the state values collected by the control calculation unit 10.
  • the abnormality determination unit 20 generates a feature amount according to the feature amount designation information 43.
  • the feature amount designation information 43 is information for designating a type of a state value and a type of a feature amount (or a method of generating a feature amount (for example, a calculation algorithm)), and is set in advance for each monitoring target.
  • the number of feature amounts generated by the abnormality determination unit 20 is one or more.
  • the abnormality determination unit 20 determines whether there is an abnormality in the monitoring target based on the calculated score and a criterion (typically, a threshold) indicated by the criterion information.
  • the learning data set 41 and the criterion information 42 are set in advance according to the generated feature amount.
  • score means a value indicating the degree of possibility that one or a plurality of sets of feature values are outliers or abnormal values. The score is calculated such that the larger the value is, the higher the possibility of being an abnormal value is. (However, the higher the possibility of being an abnormal value, the smaller the score may be.) The method for calculating the score will be described later in detail.
  • the abnormality determination unit 20 is realized by specifying an instruction in a user program for controlling a control target.
  • the user program is arbitrarily designed according to the control target.
  • the update unit 30 receives the update learning data set and the determination criterion information from the external support device, and updates the currently set learning data set 41 and the determination criterion information 42, respectively.
  • the control device 100 includes the abnormality determination unit 20 that is realized by specifying an instruction in a user program.
  • the control device 100 further includes an update unit 30 that updates the learning data set 41 and the determination criterion information 42 used when the abnormality determination unit 20 determines whether or not there is an abnormality to be monitored.
  • the designer of the control device 100 can design the user program so that the presence or absence of the abnormality of the monitoring target is determined using the temporarily created learning data set and the determination criterion information. That is, the designer can design the user program without considering the adjustment of the method of determining the presence or absence of the abnormality by the field engineer.
  • the field engineer adjusts the learning data set and the criterion information so that the presence or absence of the abnormality of the monitoring target can be accurately determined, and the adjusted learning data set and the criterion information are determined. What is necessary is just to provide to the update part 30. Thus, using the adjusted learning data set and the determination criterion information, the presence or absence of the abnormality of the monitoring target is determined.
  • control device 100 As described above, according to the control device 100 according to the present embodiment, it is easy for the field engineer to perform the adjustment work of the determination method, and for the designer to easily perform the work of designing the user program.
  • FIG. 2 is a schematic diagram showing an example of the overall configuration of the control system according to the present embodiment.
  • the control system 1 includes, as main components, a control device 100 that controls a control target, a design tool device 200 connected to the control device 100, and a control device 100. And a support device 300 connected to the
  • the design tool device 200 is a tool for designing the control device 100.
  • the design tool device 200 creates a user program for controlling a control target according to an operation by a designer.
  • the designer uses the design tool device 200 in various situations, such as a phase for creating a user program, a phase for confirming the operation of the user program, and a phase for correcting a bug in the user program.
  • an instruction for determining the presence or absence of a monitoring target abnormality (hereinafter, referred to as an “abnormality determination instruction”) is defined.
  • the design tool device 200 sets, in the control device 100, the created user program and the feature amount designation information, the temporary learning data set, and the temporary determination reference information associated with the abnormality determination command in the user program. .
  • the control device 100 may be embodied as a kind of computer such as a PLC.
  • the control device 100 is connected to one or a plurality of field devices arranged in a control target via the field network 2 and to one or a plurality of operation display devices 400 via another field network 3.
  • the operation display device 400 has an optional configuration, and is not an essential configuration of the control system 1.
  • the control target can include various types of machines and devices.
  • the control target is, for example, a uniaxial actuator or an air cylinder.
  • the control device 100 is connected to servo drivers 619 and 629 included in such a control target.
  • Servo drivers 619 and 629 control the rotation speed and torque of servo motors 618 and 628, respectively.
  • the control device 100 is connected to the notification device 18 via the I / O (input / output) unit 16.
  • the field network 2 and the field network 3 adopt an industrial network.
  • industrial networks EtherCAT (registered trademark), EtherNet / IP (registered trademark), DeviceNet (registered trademark), CompoNet (registered trademark), and the like are known.
  • the control device 100 performs an operation according to a system program and a user program set by the design tool device 200.
  • the control operation unit 10 and the abnormality determination unit 20 illustrated in FIG. 1 are realized by executing the system program and the user program. That is, the control device 100 executes the following processes (1) to (3) according to the user program.
  • the control device 100 collects, for example, state values such as torque values of the servo motors 618 and 628, current values of the servo drivers 619 and 629, and voltage values of the servo drivers 619 and 629.
  • the control device 100 further receives the learning data set for updating and the criterion information from the support device 300, and updates the currently set learning data set and the criterion information, respectively.
  • the update is performed by the update unit 30 illustrated in FIG. Therefore, when the update has never been performed, in the above process (3), the presence or absence of the abnormality of the monitoring target is determined using the temporary learning data set set by the design tool device 200 and the temporary determination criterion information. Is determined.
  • the presence / absence of an abnormality in the monitoring target is determined using the update learning data set and the determination criterion information. Is done.
  • the control device 100 may report the fact by an arbitrary method.
  • the control device 100 notifies by flashing and / or sounding the notification device 18 connected via the I / O unit 16.
  • the notification method is not limited to the notification device 18, but may be any indicator, voice output device, voice synthesis device, e-mail, notification to any terminal, or the like.
  • the support device 300 generates an update learning data set and determination criterion information so that the determination of the presence / absence of abnormality in the monitoring target is appropriately performed.
  • the support device 300 acquires the feature amount generated from the state value related to the monitoring target from the control device 100 and performs an analysis process on the acquired feature amount, thereby updating the learning data set and the determination criterion. Generate information.
  • the support device 300 provides the control device 100 with the generated learning data set for updating and the criterion information. Thereby, the learning data set and the criterion information set in the control device 100 are updated.
  • FIG. 3 is a schematic diagram illustrating a hardware configuration example of the design tool device 200.
  • the design tool device 200 is typically configured by a general-purpose computer.
  • the design tool device 200 is preferably a notebook-type personal computer with excellent portability.
  • the design tool device 200 of the example shown in FIG. 3 includes a storage unit 201 and a CPU 202 that executes various programs including an operating system (OS).
  • the storage unit 201 includes a ROM (Read Only Memory) 204 for storing BIOS and various data, a RAM 206 for providing a work area for storing data necessary for the CPU 202 to execute a program, and a program executed by the CPU 202.
  • a hard disk (HDD) 208 that stores the data in a nonvolatile manner.
  • the design tool device 200 further includes an operation unit 203 including a keyboard 210 and a mouse 212 operated by a designer to input an instruction to the design tool device 200, and a display 214 for presenting information to the designer.
  • the design tool device 200 includes a communication interface 218 for communicating with the control device 100 and the like.
  • the communication interface 218 may include a USB communication module for communicating with a USB interface (not shown) provided in the control device 100.
  • the design tool device 200 includes an optical recording medium reading device 216 for reading a support program for providing a development support environment stored in the optical recording medium 8 from the optical recording medium 8.
  • These components included in the design tool device 200 are communicably connected to each other via the internal bus 220.
  • FIG. 3 illustrates a configuration example in which a processor such as the CPU 202 provides necessary functions by executing a program.
  • a processor such as the CPU 202 provides necessary functions by executing a program.
  • some or all of the provided functions may be replaced by dedicated hardware circuits (for example, , ASIC or FPGA).
  • a plurality of OSs having different purposes may be executed in parallel using virtualization technology, and a required application may be executed on each OS.
  • FIG. 4 is a schematic diagram illustrating a software configuration example of the design tool device 200.
  • the instruction code included in the software illustrated in FIG. 4 is read out at an appropriate timing, provided to the CPU 202 of the design tool device 200, and executed.
  • the software shown in FIG. 4 is included in a support program stored and provided in the optical recording medium 8.
  • the design tool device 200 is equipped with an OS 240, a programming application 250, a function block library 280, and an attached data storage unit 290.
  • the design tool device 200 executes the OS 240 and provides an environment in which the programming application 250 can be executed.
  • the function block library 280 is a library of function blocks (FB), which are program components for the PLC used by the programming application 250.
  • the function block library 280 includes a function block 282 that is created in advance for each monitoring target and determines whether or not the monitoring target has an abnormality.
  • the attached data storage unit 290 stores the attached data 292 created in advance for each function block for determining whether or not there is an abnormality to be monitored.
  • FIG. 5 is a diagram showing an example of a correspondence relationship between a function block for determining the presence or absence of an abnormality in a monitoring target and attached data.
  • the function block 282a is associated with the attached data 292a
  • the function block 282b is associated with the attached data 292b.
  • the function blocks 282a and 282b are program components created in advance to determine whether or not the monitoring targets “A” and “B” are abnormal.
  • the attached data 292a includes feature amount designation information 43a for generating a feature amount used to determine the presence or absence of an abnormality of the monitoring target “A”, and a temporary learning data set 41a corresponding to the feature amount designation information 43a. Criterion information 42a.
  • the attached data 292b includes feature amount designation information 43b for generating a feature amount used to determine the presence or absence of an abnormality of the monitoring target “B”, a temporary learning data set 41b corresponding to the feature amount designation information 43b, and Criterion information 42b.
  • each of the feature amount designation information 43a, 43b,... Is referred to as “feature amount designation information 43” unless the feature amount designation information 43a, 43b,.
  • each of the learning data sets 41a, 41b, ... is referred to as a "learning data set 41".
  • the judgment criterion information 42a, 42b,... Is not particularly distinguished, each of the judgment criterion information 42a, 42b,.
  • the function block 282, the temporary learning data set 41, and the temporary determination reference information 42 are created in advance for each monitoring target in association with each other.
  • the feature amount designation information 43 is appropriately set according to the monitoring target, and designates one or a plurality of feature amounts.
  • the monitoring target is a servomotor of a ball screw
  • feature amount designation information for designating the torque of the servomotor as the type of the state value and designating the average value as the feature amount is set.
  • the learning data set 41 is a set of learning data including feature values that can be taken when the monitoring target is normal.
  • the ⁇ judgment criterion information 42 is information indicating a criterion (typically, a threshold value) for judging the presence or absence of an abnormality in the monitoring target. For example, when the score indicating the comparison result between the feature amount and the learning data set 41 is larger than the threshold value, it is determined that there is an abnormality, and when the score is smaller than the threshold value, it is determined that there is no abnormality.
  • a criterion typically, a threshold value
  • the temporary learning data set 41 and the criterion information 42 are temporarily created by simulation or the like.
  • the programming application 250 includes an editor 252, a compiler 254, a debugger 256, a GUI (Graphical User Interface) module 258, a simulator 260, and a data storage unit 270.
  • Each module included in the programming application 250 is typically distributed while being stored as a support program in the optical recording medium 8 (see FIG. 3), and is installed in the design tool device 200.
  • the editor 252 provides functions such as input and editing for creating a source program of the user program 130. More specifically, the editor 252 provides a function of saving the created source program and a function of editing the created source program, in addition to the function of the designer operating the keyboard 210 and the mouse 212 to create the source program of the user program 130. The editor 252 creates a source program of the user program 130 using the function block 282 selected from the function block library 280 according to the operation of the designer.
  • the compiler 254 provides a function of compiling a source program and generating a user program 130 in a program format executable by the control device 100.
  • the debugger 256 provides a function for debugging the source program of the user program 130.
  • the contents of the debugging include an operation of partially executing a range specified by a designer in the source program, and tracking a time-based change of a variable value during execution of the source program.
  • the GUI module 258 has a function of providing a user interface screen for a designer to input various data and parameters.
  • the user interface screen is displayed on the display 214 (see FIG. 3).
  • the GUI module 258 provides a user interface screen based on the operation received by the operation unit 203 and the user program 130.
  • the simulator 260 constructs an environment for simulating the execution of the program in the control device 100 in the design tool device 200.
  • the created user program 130 is stored in the data storage unit 270.
  • the user program 130 stored in the data storage unit 270 is set in the control device 100 via the communication interface 218 (see FIG. 3).
  • the attached data 292 corresponding to the function block 282 defined in the user program 130 is read from the attached data storage unit 290, and the attached data 292 is also set in the control device 100.
  • the design tool device 200 operates as a program creation unit that creates the user program 130 by using the function block 282 that defines an instruction for determining whether there is an abnormality in a monitoring target. Then, the design tool device 200 sets the temporary learning data set 41 and the temporary determination reference information 42 associated with the function block 282 in the control device 100. That is, the designer tentatively sets the learning data set 41 and the determination criterion information 42 used for determining whether or not the monitoring target has an abnormality by selecting the function block 282 corresponding to the monitoring target. Can be.
  • the function block library 280 and the attached data storage unit 290 are mounted on the design tool device 200.
  • the function block library 280 and the attached data storage unit 290 may be mounted on a server device that can be connected to the design tool device 200 via a network.
  • FIG. 6 is a diagram showing an example of a function block for determining the presence or absence of a monitoring target abnormality.
  • a state value (axis variable) to be monitored is input to the input terminal “Axis”.
  • the function block 282 is executed, and it is determined whether or not the monitoring target has an abnormality. The determination result is output from the output terminal “Error”.
  • FIG. 7 is a diagram showing an example of a user program created using the function blocks shown in FIG.
  • the notification device 18 when the determination result indicating that there is an abnormality is output from the output terminal “Error” of the function block 282, the notification device 18 (see FIG. 2) indicated by “Error @ Lamp” is turned on. .
  • the designer can create a user program using the function block 282 associated with the tentatively created auxiliary data 292. Therefore, even before the field engineer adjusts the method of determining whether there is an abnormality in the monitoring target, the designer can create the user program 130 as shown in FIG. Further, by using the debugger 256 and the simulator 260, the designer can correct a bug of the created user program 130 or check the operation of the created user program 130.
  • FIG. 8 is a block diagram illustrating a hardware configuration example of the control device according to the present embodiment.
  • 8 includes a processor 102 such as a CPU (Central Processing Unit) or an MPU (Micro-Processing Unit), a chipset 104, a main memory 106, a storage 108, , A USB (Universal Serial Bus) controller 112, a memory card interface 114, an internal bus controller 122, field bus controllers 118 and 120, and I / O units 124,.
  • the processor 102 reads out the various programs stored in the storage 108, expands them in the main memory 106, and executes them to realize the control operation unit 10, the abnormality determination unit 20, and the update unit 30 (see FIG. 1).
  • the chipset 104 controls data transmission between the processor 102 and each component.
  • the storage 108 includes a system program 150 for realizing basic functions, a user program 130 for controlling a control target, feature amount designation information 43, a learning data set 41, and determination criterion information 42. Is stored.
  • the user program 130, the feature amount designation information 43, the learning data set 41, and the criterion information 42 are provided from the design tool device 200 and stored in the storage 108 as described above.
  • the upper network controller 110 controls exchange of data with another device via the upper network 6.
  • the USB controller 112 controls the exchange of data with the design tool device 200 or the support device 300 via the USB connection.
  • the memory card interface 114 is configured so that a memory card 116 can be attached and detached, so that data can be written to the memory card 116 and various data (such as user programs and trace data) can be read from the memory card 116. ing.
  • the internal bus controller 122 is an interface for exchanging data with the I / O units 124,... Mounted on the control device 100.
  • the fieldbus controller 118 controls data exchange with other devices via the field network 2. Similarly, the fieldbus controller 120 controls the exchange of data with other devices via the field network 3.
  • FIG. 8 shows a configuration example in which the processor 102 provides necessary functions by executing a program.
  • some or all of the provided functions may be replaced by a dedicated hardware circuit (for example, an ASIC). (Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array) or the like.
  • the main part of the control device 100 may be realized using hardware that conforms to a general-purpose architecture (for example, an industrial personal computer based on a general-purpose personal computer).
  • a general-purpose architecture for example, an industrial personal computer based on a general-purpose personal computer.
  • a plurality of OSs having different purposes may be executed in parallel using virtualization technology, and a required application may be executed on each OS.
  • the support device 300 is realized by executing a program using hardware (for example, a general-purpose personal computer) according to a general-purpose architecture.
  • the support device 300 is preferably a notebook-type personal computer with excellent portability.
  • FIG. 9 is a block diagram illustrating a hardware configuration example of the support device 300 according to the present embodiment.
  • 9 includes a processor 302 such as a CPU or an MPU, an optical drive 304, a main storage device 306, a secondary storage device 308, a USB controller 312, a local network controller 314, and an input device.
  • the processor 302 reads out various programs stored in the secondary storage device 308, develops the programs in the main storage device 306, and executes the programs, thereby implementing various processes including an analysis process described later.
  • the ⁇ secondary storage device 308 is constituted by, for example, an HDD (Hard Disk Drive) or an SSD (Flash Solid State Drive).
  • the secondary storage device 308 includes a PLC interface program 324 for exchanging data relating to the abnormality detection function with the control device 100, an analysis program 326 for implementing an analysis process, and an OS 328. Is stored.
  • the secondary storage device 308 may store necessary programs other than the programs shown in FIG.
  • the support device 300 has an optical drive 304.
  • the program stored therein is read from a recording medium 305 (for example, an optical recording medium such as a DVD (Digital Versatile Disc)) that non-transitoryly stores a computer-readable program, and the secondary storage device 308 and the like are read.
  • a recording medium 305 for example, an optical recording medium such as a DVD (Digital Versatile Disc)
  • DVD Digital Versatile Disc
  • Various programs executed by the support device 300 may be installed via the computer-readable recording medium 305, or may be installed by downloading from a server device on a network. Further, the functions provided by the support device 300 according to the present embodiment may be realized by using a part of the modules provided by the OS.
  • the USB controller 312 controls the exchange of data with the control device 100 via the USB connection.
  • the local network controller 314 controls exchange of data with another device via an arbitrary network.
  • the input unit 316 includes a keyboard, a mouse, and the like, and receives a user operation.
  • the display unit 318 includes a display, various indicators, a printer, and the like, and outputs a processing result from the processor 302 and the like.
  • FIG. 9 illustrates a configuration example in which the processor 302 executes a program to provide necessary functions.
  • a part or all of the provided functions may be replaced by a dedicated hardware circuit (for example, an ASIC). Or an FPGA or the like).
  • FIG. 10 is a block diagram illustrating an example of a main software configuration of the control system according to the present embodiment.
  • control device 100 includes a user program 130, an updating unit 30, and a time series database (TSDB: Time ⁇ Series ⁇ Data ⁇ Base) 140 as main software components.
  • TSDB Time ⁇ Series ⁇ Data ⁇ Base
  • the control device 100 manages the state values collected from the fields in the form of variables 44, and the variables 44 are updated at a predetermined cycle.
  • the user program 130 includes a control operation instruction 132 for controlling the control target and an instruction defined by the function block 282. As described above, the user program 130 is created by the designer 4 using the design tool device 200, and is provided from the design tool device 200 to the control device 100.
  • the control operation instruction 132 includes an operation instruction for controlling a control target.
  • the control operation unit 10 illustrated in FIG. 1 is realized by the processor 102 of the control device 100 executing the control operation instruction 132.
  • the command specified by the function block 282 includes a series of commands for determining whether or not there is an abnormality to be monitored. 1 is realized by the processor 102 of the control device 100 executing an instruction specified by the function block 282. Therefore, by using the function block 282, the user program 130 that realizes the abnormality determination unit 20 can be easily created.
  • the instructions defined by the function block 282 include a feature amount generation instruction 134, a write instruction 135, a score calculation instruction 136, and a determination instruction 137.
  • the feature amount generation command 134 converts the state value of the type designated by the feature amount designation information 43 from the feature amount of the type designated by the feature amount designation information 43 (for example, an average value, a maximum value, and a minimum value over a predetermined time). Etc.).
  • the write instruction 135 includes an instruction to write the generated feature amount into the time-series database 140.
  • the feature values sequentially written in the time series database 140 are output to the support device 300 as the feature data 45.
  • the score calculation instruction 136 calculates a distance (for example, a Euclidean distance) between the generated feature amount and the feature amount group indicated by the learning data set 41, and a score indicating a comparison result between the generated feature amount and the learning data set 41. Includes an instruction to calculate as
  • the determination instruction 137 compares the calculated score with a threshold value indicated by the determination criterion information 42, determines that there is an abnormality when the score exceeds the threshold value, and determines when there is an abnormality when the score does not exceed the threshold value. Includes an instruction to determine that there is no abnormality.
  • the updating unit 30 is realized by the processor 102 of the control device 100 executing the system program 150 (see FIG. 8).
  • the update unit 30 updates the learning data set 41 and the criterion information 42 currently set in the control device 100. That is, the updating unit 30 updates the content of the currently set learning data set 41 to the content of the learning data set 51 for updating. Further, the updating unit 30 updates the content of the currently set criterion information 42 to the content of the criterion information 52 for updating.
  • the support device 300 includes an analysis tool 330 and a PLC interface 332 as main functional components.
  • the analysis tool 330 determines the update learning data set 51 and the determination criterion information 52 using the feature data 45 including the feature generated in the control device 100 in response to the operation of the field engineer 5.
  • the analysis tool 330 is typically realized by the processor 302 of the support device 300 executing the analysis program 326.
  • the PLC interface 332 is in charge of a process of acquiring the feature amount data 45 from the control device 100, a process of transmitting the determined update learning data set 51 and the determined reference information 52 to the control device 100, and the like.
  • the PLC interface 332 is typically realized by the processor 302 of the support device 300 executing the PLC interface program 324.
  • FIG. 11 is a block diagram showing an outline of functional modules included in the analysis tool 330 shown in FIG.
  • analysis tool 330 of support device 300 includes, as main functional components, user interface 340, file management module 350, screen generation module 360, analysis module 370, and analysis library 380. .
  • the user interface 340 receives settings from the user and executes general processing for providing various information to the user.
  • the user interface 340 has a script engine 342, reads a setting file 344 including a script describing necessary processing, and executes the set processing.
  • the file management module 350 includes a data input function 352 for reading data from a specified file or the like, and a data generation function 354 for generating a file including the generated data or the like.
  • the screen generation module 360 includes a line graph generation function 362 that generates a line graph based on input data and the like, and a parameter adjustment function 364 that changes various parameters in response to a user operation.
  • the line graph generation function 362 may update the line with the change of the parameter.
  • the line graph generation function 362 and the parameter adjustment function 364 execute necessary processing with reference to the graph library 366.
  • the analysis module 370 is a module that implements main processing of the analysis tool 330 and has a parameter determination function 376.
  • the parameter determination function 376 executes a process of determining a learning data set and a threshold, which are parameters required for the process of determining whether there is an abnormality.
  • the analysis library 380 includes a library for executing the processing by the functions included in the analysis module 370. More specifically, the analysis library 380 includes an abnormality determination engine 386 used by the parameter determination function 376. The processing executed by the abnormality determination engine 386 is substantially the same as the processing executed according to the score calculation instruction 136 and the determination instruction 137 (see FIG. 10) of the function block 282 defined in the user program 130.
  • the abnormality determination engine 386 of the support device 300 substantially uses the feature amount (feature amount data 45) provided from the time-series database 140 of the control device 100 and the abnormality determination unit 20 of the control device 100. Execute the same abnormality determination processing.
  • the control system 1 is provided with an environment in which both the control device 100 and the support device 300 can realize the same abnormality determination processing.
  • the abnormality determination processing in the control device 100 can be reproduced in the support device 300.
  • the abnormality determination process to be executed by the control device 100 can be determined in the support device 300.
  • the analysis module 370 of the support device 300 determines the update learning data set 51 and the determination reference information 52 based on the determination result by the abnormality determination engine 386 included in the analysis library 380.
  • the data to be monitored is evaluated as an outlier for a statistically obtained data set, it is determined as an abnormal value.
  • FIG. 12 is a schematic diagram for explaining the basic concept of the abnormality determination processing of the control system according to the present embodiment.
  • the feature amount designation information 43 designates each of the n feature amounts. Referring to FIG. 12, first, positions corresponding to feature amounts 1, 2, 3,..., N indicated by each learning data included in the learning data set are sequentially plotted on an n-dimensional space. The coordinate value group at the plotted position is defined as a normal value group.
  • feature quantities 1, 2, 3,..., N are generated from one or a plurality of state values collected from the monitoring target at an arbitrary sampling timing, and coordinates corresponding to the generated feature quantities ( This corresponds to “input value” in FIG. 12).
  • the normal value group in FIG. 12 corresponds to a “model” indicating a monitoring target.
  • a method of determining an abnormality based on the degree of deviation a method of determining the presence or absence of an abnormality based on the shortest distance from each point to a group of normal values (k-nearest neighbor method), a distance including a cluster including a group of normal values, A local outlier factor (LoF: local outlier factor) method for estimating, and an iForest (isolation @ forest) method using a score calculated from a path length are known.
  • FIG. 13 is a schematic diagram schematically illustrating the procedure of the abnormality determination process of the control system 1 according to the present embodiment. Referring to FIG. 13, it is assumed that a set of state values is collected from a monitoring target at an arbitrary sampling timing. At this sampling timing, it is determined whether or not the monitoring target has an abnormality.
  • feature amount designation is performed using the state values 1, 2, 3,... N of the type designated by the feature amount designation information 43 (see FIG. 10). .., N of the type specified by the information 43 are generated.
  • a plurality of feature amounts may be generated from the same state value.
  • a configuration using at least four feature values is shown. However, in the abnormality determination processing according to the present embodiment, at least one feature value is required.
  • a score is calculated from one or a plurality of feature amounts. Then, the calculated score is compared with a threshold value indicated by the criterion information 42 (see FIG. 10) to determine whether there is an abnormality in the monitoring target.
  • a feature amount is generated from time-series data of state values over a predetermined period (hereinafter, also referred to as a “frame”), and the generated feature amount is used. Calculate the score.
  • FIG. 14 is a flowchart illustrating a procedure of an abnormality determination process performed in the control device according to the present embodiment. Each step illustrated in FIG. 14 is typically realized by the processor 102 of the control device 100 executing a program (a system program and a user program).
  • a program a system program and a user program.
  • control device 100 when a predetermined frame start condition is satisfied (YES in step S50), control device 100 starts collecting one or more predetermined state values (step S52). Thereafter, when a predetermined end condition of the frame is satisfied (YES in step S54), control device 100 determines the state value of the type designated by feature amount designation information 43 among the state values collected during the frame. A feature amount of the type designated by the feature amount designation information 43 is generated from the time-series data (step S56). Then, the control device 100 calculates a score based on the generated one or more feature amounts (Step S58).
  • the score is calculated using one or a plurality of generated feature amounts and the currently set learning data set 41.
  • control device 100 determines whether or not the calculated score exceeds a threshold value indicated by the currently set determination criterion information 42 (step S60). If the calculated score is above the threshold value (YES in step S60), control device 100 notifies the abnormality of the monitoring target (step S62). If the calculated score does not exceed the threshold value (NO in step S60), control device 100 determines that the monitoring target is normal (step S64). Then, the processing of step S50 and subsequent steps are repeated.
  • FIG. 15 is a schematic diagram showing the contents of the analysis processing according to the present embodiment.
  • FIG. 16 is a schematic diagram visually illustrating the outline of the processes (a) to (c) shown in FIG.
  • the analysis processing mainly includes (a) data input processing, (b) visualization / labeling processing, and (c) threshold value determination processing.
  • feature amount data 45 indicating the feature amount generated by control device 100 is provided to support device 300 ((a) data input process).
  • the feature amount data 45 includes a cycle count indicating the number of times of processing on the monitoring target, and feature amounts 1, 2, 3,..., N.
  • visualization of the feature amount and labeling of the set of feature amounts at each sampling timing are performed ((b) visualization / labeling process).
  • the visualization of the feature amount is basically performed by the support device 300, and all or a part of the labeling may be performed by a user.
  • the user sets, for each sampling timing, whether the state of the monitoring target is “normal” or “abnormal” while referring to the feature amount visualized in the form of a graph or the like. .
  • an update learning data set 51 is generated based on a set of feature quantities labeled “normal”, and based on the learning data set 51 and a set of feature quantities at each sampling timing.
  • a score at each sampling timing is calculated.
  • a threshold value for determining an abnormality is determined ((c) threshold value determination).
  • the learning data set 51 for updating and the criterion information 52 (information indicating a threshold value) are generated.
  • the generated update learning data set 51 and determination criterion information 52 are provided from the support device 300 to the control device 100.
  • the control device 100 updates the contents of the currently set learning data set 41 and the criterion information 42 to the contents of the learning data set 51 and the criterion information 52 for updating.
  • the design tool device 200 creates the user program 130 that defines an instruction for determining the presence or absence of a monitoring target abnormality
  • the provisional learning data set 41 and the determination standard The information 42 is set in the control device 100. Therefore, although the user program 130 can be executed, it is not possible to accurately determine whether or not there is an abnormality in the monitoring target because the temporary learning data set 41 and the criterion information 42 are used.
  • the support device 300 generates an update learning data set 51 and determination criterion information 52 by performing an analysis process. That is, the field engineer can appropriately adjust the learning data set and the threshold value by using the support device 300. As a result, the abnormality determination process using the adjusted learning data set and the threshold value is executed, and the accuracy of determining whether or not the monitoring target has an abnormality can be improved.
  • the processes (a) to (c) shown in FIG. 16 can be repeatedly executed as appropriate, and the learning data set and the determination reference information can be sequentially updated according to the state of the monitoring target. .
  • FIG. 17 is a flowchart illustrating an example of a processing procedure of the support device according to the present embodiment. Referring to FIG. 17, first, when the analysis tool 330 is activated in response to the operation of the field engineer (step S2), the support device 300 causes the analysis tool 330 to read the feature amount data 45 (step S4).
  • the analysis tool 330 visualizes a change in the feature amount according to the selection operation of the field engineer.
  • the field engineer performs normal and / or abnormal labeling on the visualized change in the feature amount (step S6) (corresponding to (b) visualization / labeling processing in FIG. 15).
  • FIG. 18 is a schematic diagram showing an example of the user interface screen 500 provided to the field engineer in step S6 of FIG.
  • a user interface screen 500 visualizes a change in a feature amount.
  • a temporal change of the feature amount is graphed, and the field engineer sets an abnormal or normal range by referring to the graph.
  • the abnormal range and normal range set by the field engineer may be set based on information on whether the monitoring target is actually abnormal or operating normally, or the field engineer wants to determine as abnormal
  • the change in the feature amount may be set arbitrarily. That is, the abnormal range and the normal range set on the user interface screen 500 define the state of “abnormal” or “normal” output by the abnormality determination processing according to the present embodiment, and the monitoring target is actually It does not necessarily need to match whether it is abnormal or normal.
  • the user interface screen 500 includes a selection receiving area 502 for the feature amount, a graph display area 506, and a histogram display area 512.
  • a list indicating the feature amount specified by the feature amount designation information 43 is displayed in the selection reception area 502, and the user selects an arbitrary feature amount on the list displayed in the selection reception area 502.
  • the graph display area 506 displays a graph 508 indicating a change in the selected feature amount.
  • the graph 508 may be segmented by time-series data for each sampling, or by a monitoring target processing unit (for example, a processing work unit).
  • a histogram indicating a distribution of a change in the selected feature amount is displayed.
  • the main range of the selected feature amount can be known.
  • the user can set a normal range and / or an abnormal range of data with respect to a change in the feature amount displayed in the graph display area 506 (graph 508). More specifically, the user interface screen 500 includes a labeling tool 514.
  • the label assigning tool 514 includes a normal label setting button 516, an abnormal label setting button 517, and a label setting range designation button 518.
  • the field engineer selects the normal label setting button 516 or the abnormal label setting button 517 depending on whether the label to be given is normal or abnormal, then selects the label setting range specifying button 518, and then continues the graph.
  • An operation for example, a drag operation for specifying a target area of the display area 506 is performed. As a result, the set label is given to the specified area.
  • FIG. 18 shows an example in which the abnormal range 510 is set.
  • the feature amount at the sampling timing included in the abnormal range 510 is labeled “abnormal”, and the other feature amounts are labeled “normal”.
  • the analysis tool 330 has a function of assigning at least one of “normal” and “abnormal” labels to a specific range of a data sequence of a plurality of generated feature amounts according to a user operation. You may.
  • a normal range and / or an abnormal range of data may be set for the histogram displayed in the histogram display area 512.
  • analysis tool 330 executes threshold value determination processing according to the operation of the field engineer (step S8).
  • the processing in step S8 corresponds to the (c) threshold value determination processing shown in FIG.
  • a default threshold value is set in advance. The field engineer adjusts the threshold value while checking the index value indicating the determination accuracy.
  • FIG. 19 is a schematic diagram showing an example of the user interface screen 520 provided to the user in step S8 of FIG. Referring to FIG. 19, user interface screen 520 accepts selection of a threshold used for abnormality determination processing.
  • the user interface screen 520 includes a graph display area 526.
  • a graph 528 indicating a change in score calculated based on the feature amount at each sampling timing indicated by the feature amount data 45 and the learning data set is displayed.
  • the learning data set data of feature amounts at a plurality of sampling timings labeled “normal” in step S8 is used.
  • a threshold value setting slider 534 is arranged in association with the graph display area 526. In conjunction with the operation on the threshold value setting slider 534, the set threshold value changes and the position of the threshold value display bar 535 displayed in the graph display area 526 changes. As described above, the threshold setting slider 534 receives the setting of the threshold for the score displayed in the graph display area 526.
  • a numerical display 530 indicating an index value and a numerical display 532 indicating a set threshold value are arranged.
  • the values of the numerical displays 530 and 532 are also updated.
  • the index value indicated by the numerical value display 530 is a value indicating how accurate the determination can be based on the currently set threshold value. More specifically, according to the current setting, the index value is a feature amount included in a normal range set by the user (that is, a feature amount labeled with “normal”) and set by the user. It shows how accurately it can be distinguished from the feature amount included in the specified abnormal range (ie, the feature amount labeled “abnormal”).
  • the index value is calculated, for example, by calculating an AUC (Area Under the R Curve) based on an ROC (Receiver Operating ⁇ Characteristic) curve defined by a TruePositive axis and a FalsePositive axis.
  • AUC Average Under the R Curve
  • ROC Receiveiver Operating ⁇ Characteristic
  • a value obtained by subtracting the erroneous determination probability from 100% is calculated as an index value.
  • the field engineer appropriately sets the threshold value while checking the shape of the graph 528 displayed in the graph display area 526 and the index value indicated by the numerical display 530.
  • the reset button 536 on the user interface screen 520 is selected, the user interface screen 520 is reset to a default state.
  • the update data generation button 538 on the user interface screen 520 When the update data generation button 538 on the user interface screen 520 is selected, the learning data set 51 for update and the criterion information 52 are generated according to the contents set at the time.
  • the user interface screen 500 shown in FIG. 18 and the user interface screen 520 shown in FIG. 19 are appropriately operated and the update data generation button 538 of the user interface screen 520 is operated (step S10).
  • the analysis tool 330 generates the learning data set 51 for updating and the criterion information 52 (step S12). That is, the analysis tool 330 generates the learning data set 51 for updating and the criterion information 52 in accordance with the labeling and the threshold adjustment by the field engineer. Specifically, the analysis tool 330 generates an update learning data set 51 in which a feature amount at each sampling timing to which a label of “normal” is assigned is used as learning data. Further, the analysis tool 330 generates the update criterion information 52 indicating the adjusted threshold value.
  • step S12 the learning data set for updating 51 and the determination criterion information 52 generated in step S12 are transmitted from the support device 300 to the control device 100 (step S14), and the learning data set set in the control device 100 is transmitted. 41 and the criterion information 42 are updated.
  • the index value and the like are regularly checked, and if the index value is bad, the field engineer operates the support device 300 to read the learning data set 41 and the criterion information 42 set in the control device 100. It may be updated as appropriate.
  • the case where the index value is bad means that the frequency of detection of an abnormality is relatively high even though the monitoring target is in a normal state, and / or that the monitoring target is not in a normal state even though it is detected as normal. This is the case where the frequency is relatively high.
  • the type of feature amount generated for each monitoring target is fixed.
  • the type of the feature amount suitable for determining the presence or absence of the abnormality may change depending on the state of the monitoring target. Therefore, the feature amount designation information 43 may be updated together with the learning data set 41 and the determination criterion information 42.
  • the field engineer can also update the content of the feature amount designation information 43 using the support device. The control system will be described.
  • FIG. 20 is a block diagram illustrating a main software configuration example of a control system according to a modification.
  • the control device 100A of the example shown in FIG. 20 is different from the control device 100 shown in FIG. 10 in that an update unit 30A is included instead of the update unit 30.
  • the instruction specified by the function block 282 includes a write instruction 135A instead of the write instruction 135.
  • the write instruction 135A includes an instruction to write the variable 44 (state value) collected from the field into the time-series database 140.
  • the status values sequentially written in the time-series database 140 are output as raw data 46 to the support device 300A.
  • the update unit 30A When the update unit 30A receives the update feature amount designation information 53 from the support device 300 in addition to the processing of the update unit 30 shown in FIG. 10, the update unit 30A updates the feature amount designation information 43 currently set in the control device 100A. Is performed. That is, similarly to the updating unit 30, the updating unit 30A updates the contents of the currently set learning data set 41 and the criterion information 42 to the contents of the learning data set 51 for updating and the content of the criterion information 52, respectively. . Further, the updating unit 30A updates the content of the currently set feature amount designation information 43 to the content of the feature amount designation information 53 for updating.
  • the support device 300A includes an analysis tool 330A instead of the analysis tool 330.
  • the analysis tool 330A analyzes the raw data 46 composed of the state values collected by the control device 100A according to the operation of the field engineer 5, and updates the learning data set 51, the determination criterion information 52, and the feature amount designation information 53. To determine.
  • FIG. 21 is a block diagram showing an outline of functional modules included in the analysis tool 330A shown in FIG.
  • analysis tool 330A is different from analysis tool 330 shown in FIG. 11 in that analysis tool 370A and analysis library 380A are included instead of analysis module 370 and analysis library 380, respectively.
  • the analysis module 370A is different from the analysis module 370 in that the analysis module 370A further includes a feature amount generation function 372 and a feature amount selection function 374.
  • the analysis library 380A is different in that the analysis library 380A further includes a feature quantity generation library 382 used by the feature quantity generation function 372 and a feature quantity selection library 384 used by the feature quantity selection function 374.
  • the feature generation function 372 generates a feature from time-series data of an arbitrary state value included in the raw data 46.
  • the feature amount generation library 382 stores algorithms for generating various types of feature amounts (for example, an average value, a maximum value, and a minimum value over a predetermined period of time).
  • the feature amount selection function 374 executes a process of selecting a feature amount used in the abnormality determination process and a process of receiving the selection of the feature amount.
  • FIG. 22 is a schematic diagram visually illustrating an outline of the analysis processing according to the modification.
  • the analysis processing according to the modification mainly includes (a) data input processing, (b) feature quantity generation processing, (c) visualization / labeling processing, (d) feature quantity selection processing, e) Including a threshold value determination process.
  • raw data 46 which is time-series data of state values collected by control device 100A, is provided to support device 300A ((a) data input process).
  • the raw data 46 includes one or more state values for each sampling timing.
  • the support device 300A generates one or a plurality of feature amounts using the input raw data 46 ((b) feature amount generation).
  • the generation of the feature amount is realized using the feature amount generation function 372 of the analysis tool 330A.
  • a plurality of types of feature amounts are generated. In the example shown in FIG. 22, feature amounts 1, 2, 3,..., N are generated.
  • one or a plurality of feature values used for abnormality determination are selected from a plurality of feature values generated from the collected state values ((d) feature value selection).
  • feature value selection In the example shown in FIG. 22, four feature amounts 1, 2, k, and n are selected.
  • a learning data set 51 for updating is generated based on a set of feature amounts that are labeled as “normal” and selected. Further, a score at each sampling timing is calculated based on the learning data set 51 and a set of selected feature amounts at each sampling timing. Then, with reference to the calculated score, a threshold value for determining an abnormality is determined ((e) threshold value determination).
  • the learning data set 51 for updating the criterion information 52 (information indicating the threshold value), and the feature amount designation information 53 are generated.
  • the generated update learning data set 51, determination criterion information 52, and feature amount designation information 53 are provided from the support device 300A to the control device 100A.
  • the control device 100A updates the contents of the currently set learning data set, judgment criterion information, and feature amount designation information to the contents of the learning data set 51 for update, judgment criterion information 52, and feature amount designation information 53.
  • FIG. 23 is a flowchart illustrating a processing procedure of the support device according to the modification.
  • the flowchart shown in FIG. 23 differs from the flowchart shown in FIG. 17 in that it further includes steps S30 and S32 and also includes steps S104, S108, S112 and S114 instead of steps S4, S8, S12 and S14. Different.
  • support device 300A when activating analysis tool 330A in response to the operation of the field engineer (step S2), causes analysis tool 330A to read raw data 46 (step S104).
  • the analysis tool 330A executes data cleansing on the read raw data 46 (step S30).
  • the data cleansing is a process of deleting unnecessary data included in the raw data 46. For example, among the time-series data included in the raw data 46, a state value with a variance of zero (that is, a state value that does not change at all) is deleted.
  • the data cleansing process may be automatically executed by the analysis tool 330A, or the analysis tool 330A may present a candidate for a state value to be deleted, and the field engineer may explicitly select a deletion target. Good.
  • the field engineer may be able to manually delete the status values determined to be unnecessary or invalid data. That is, the support device 300 accepts the selection of the state value to be excluded from the generation of the feature amount in the raw data 46.
  • the analysis tool 330A After that, the analysis tool 330A generates one or a plurality of feature amounts based on the state values included in the raw data 46 after the data cleansing (step S32). More specifically, the feature amount generation function 372 of the analysis tool 330A generates a plurality of feature amounts from the raw data 46. In step S32, as many types of feature values as possible may be generated (corresponding to (b) feature value generation in FIG. 22).
  • Step S6 (corresponding to (c) visualization / labeling processing in FIG. 22).
  • step S108 the analysis tool 330A determines a feature value and a threshold value used for abnormality determination according to the operation of the field engineer (step S108).
  • the processing in step S108 corresponds to (d) feature amount selection processing and (e) threshold value determination processing shown in FIG.
  • FIG. 24 is a schematic diagram showing an example of a user interface screen provided to the field engineer by the support device 300A in step S108 of FIG.
  • user interface screen 520A mainly receives selection of one or a plurality of feature amounts used for abnormality determination processing and selection of a threshold used for abnormality determination processing.
  • the user interface screen 520A includes a selection receiving area 522 for the feature amount and a graph display area 526.
  • the selection receiving area 522 corresponds to a user interface for receiving a selection of one or a plurality of feature amounts used in the abnormality determination process among the plurality of generated feature amounts. More specifically, in the selection reception area 522, a list indicating the content of the generated feature is displayed, and the field engineer sets a check box 524 corresponding to an arbitrary feature on the displayed list. By checking, a feature amount used in the abnormality determination processing is selected.
  • the feature amount displayed in the selection reception area 522 is such that the one estimated to be higher in importance is ranked higher. May be listed. That is, in the selection reception area 522, the display order of the plurality of generated feature amounts may be determined according to the rank determined by a procedure described later.
  • a feature amount selected in advance by the feature amount selection function 374 may be selected as a default. That is, in the selection reception area 522, a predetermined number of feature amounts may be displayed in a selected state among a plurality of generated feature amounts according to the determined rank.
  • FIG. 24 shows a state where two feature values are selected.
  • a graph 528 displayed in the graph display area 526 indicates a change in score calculated based on one or a plurality of feature amounts selected by checking the check box 524 in the selection reception area 522.
  • the analysis tool 330A updates the learning data set 51 for update, the determination criterion information 52,
  • the feature amount designation information 53 is generated (step S112). That is, the analysis tool 330A generates the feature amount designation information 53 for designating one or a plurality of feature amounts selected by checking the check box 524 shown in FIG. Further, the analysis tool 330A generates a learning data set 51 for updating using the characteristic amount designated by the characteristic amount designation information 53 among the characteristic amounts at each sampling timing to which a label of “normal” is given as learning data. . Further, the analysis tool 330A generates the determination criterion information 52 for updating indicating the adjusted threshold value.
  • step S112 the update learning data set 51, the determination criterion information 52, and the feature amount designation information 53 generated in step S112 are transmitted from the support device 300A to the control device 100A (step S114), and are set in the control device 100A.
  • the learning data set 41, the determination criterion information 42, and the feature amount designation information 43 that have been set are updated.
  • FIG. 25 is a schematic diagram for explaining a process of evaluating the importance of a feature amount performed by an analysis tool of a support device according to a modification.
  • feature amount selection function 374 of analysis tool 330A calculates the importance of each feature amount by a plurality of methods.
  • FIG. 25 shows, as an example, an example in which evaluation is performed using three methods, such as kurtosis, logistic regression, and a decision tree.
  • the kurtosis stored in the evaluation value column 702 is a value obtained by evaluating the sharpness of the frequency distribution of the data sequence of the target feature amount 700.
  • As a statistic used for abnormality detection it can be considered that the larger the kurtosis is, the more useful, that is, the more important it is.
  • the standard deviation of the frequency distribution for the data series of the target feature amount may be used as the evaluation value. In this case, it can be determined that the larger the standard deviation is, the more the feature amount changes, and the higher the abnormality detection capability is (ie, the more important it is).
  • the logistic regression stored in the evaluation value column 704 applies an arbitrary logistic function to the data series of the target feature amount, and searches for a parameter that defines the logistic function that maximizes the likelihood.
  • the likelihood corresponding to the finally searched parameter is regarded as importance. That is, a feature amount that can be estimated with higher accuracy using an arbitrary logistic function can be regarded as having a higher priority.
  • logistic regression can search for parameters and calculate likelihood for each feature value.
  • the decision tree stored in the evaluation value column 706 applies a classification tree to the data sequence of the target feature amount, and uses the classification ability as the importance.
  • CART, C4.5, ID3, and the like are known as the algorithm of the decision tree, and any algorithm may be used.
  • the importance is calculated in accordance with at least the kurtosis of the feature data series, the likelihood obtained by performing logistic regression on the feature data series, and a decision tree algorithm. Includes importance.
  • the value indicating the importance for each feature amount is calculated by a plurality of methods, and the result obtained by integrating the results is stored in the evaluation value column 708. Based on the respective evaluation values stored in the evaluation value column 708, the respective feature amounts are ranked (rank column 710).
  • the abnormality determination unit (20) is realized by a command being defined in a user program (130) for controlling the control target, An update unit (30) that receives a learning data set for updating (301) and a criterion for updating (302) from outside and updates the currently set learning data set (101) and criterion (102), respectively.
  • the control device (100, 100A) further comprising:
  • Configuration 2 The generated feature amount is predetermined for each monitoring target, The control device (100, 100A) according to Configuration 1, wherein a learning data set (101) and a criterion (102) are set according to the generated feature amount.
  • Configuration 3 The control device (100, 100A) according to Configuration 1, wherein the abnormality determination unit (20) is realized by specifying an instruction in the form of a function block (282) in the user program (130).
  • the function block (282), the temporary learning data set (101), and the temporary determination criterion (102) are created in advance for each monitoring target in association with each other.
  • the abnormality determination unit (20) generates the feature amount according to designation information (103) for designating a type of a state value and a type of a feature amount,
  • the control device (100A) according to configuration 1, wherein the update unit (30) receives specification information for update (303) from the outside and updates the currently set specification information (103).
  • a control system (1) A control operation unit (10) that performs a control operation for controlling the control target using a state value periodically collected from the control target; Among the collected state values, a score indicating a comparison result between a feature amount generated from a state value related to a monitoring target and a preset learning data set (101) is calculated, and the calculated score is set in advance.
  • the abnormality determination unit (20) is realized by being defined in a user program (130) for controlling the control target,
  • the control system (1) further includes: A determining unit (330, 330A) that determines a learning data set for updating (301) and a criterion for updating (302) using a state value related to the monitoring target or the generated feature amount; An update unit (30) that receives the update learning data set (301) and the update criterion (302) and updates the currently set learning data set (101) and criterion (102), respectively.
  • the program creation unit (200) is created using a function block (282) that defines an instruction for realizing the abnormality determination unit (20);
  • the control system (1) according to configuration 6, wherein a temporary learning data set (101) and a temporary determination criterion (102) associated with the function block (282) are set.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Programmable Controllers (AREA)

Abstract

制御装置は、監視対象に関連する状態値から生成される特徴量と学習データセットとの比較結果を示すスコアを算出し、スコアと判定基準とに基づいて、監視対象の異常の有無を判定する異常判定部と、更新部とを備える。異常判定部は、制御対象を制御するためのユーザプログラム内に命令が規定されることにより実現される。更新部は、外部から更新用の学習データセットおよび更新用の判定基準を受けて、現在設定されている学習データセットおよび判定基準をそれぞれ更新する。これにより、フィールドエンジニアが判定方法の調整作業を行ないやすく、かつ、設計者がユーザプログラムの設計作業を行ないやすくなる。

Description

制御装置および制御システム
 本発明は、監視対象の異常の有無を判定するための制御装置および制御システムに関する。
 様々な生産現場において、PLC(プログラマブルコントローラ)などの制御装置を用いて制御対象となる機械や装置を制御するFA(Factory Automation)技術が広く普及している。生産現場では、機械や装置に対する予知保全により設備稼働率を向上させたいというニーズがある。予知保全とは、監視対象となる機械や装置に生じる何らかの異常の有無を判定して、設備を停止しなければならない状態になる前に、整備や交換などの保守作業を行なうような保全形態を意味する。
 監視対象の異常の有無を判定する技術として、例えば特開平7-282146号公報(特許文献1)に開示されている半導体製造装置管理システムが知られている。この半導体製造装置管理システムでは、管理コンピュータが、半導体製造装置に付加した各種センサ類より入手したI/O(入出力)データから装置全体の動作タイミングを管理する。さらに、管理コンピュータは、その装置全体の動作タイミングを正常な状態と比較してタイミングの差が管理基準を越えた場合に警告を発生させる。
特開平7-282146号公報
 監視対象の異常の有無を判定するための判定方法は、監視対象の種類毎に異なる。そのため、調整者(以下、「フィールドエンジニア」という)は、監視対象の種類に応じて異常の有無の判定方法を調整する必要がある。判定方法の調整とは、例えば判定基準の調整である。
 一方、監視対象を含む制御対象を制御するための制御装置を設計する設計者は、制御装置の動作を規定するユーザプログラムを設計する。設計者は、監視対象の異常の有無を判定するためのプログラム(異常判定プログラム)をユーザプログラム内に規定する。
 一般に、フィールドエンジニアと設計者とは異なる。さらに、フィールドエンジニアが判定方法を調整するタイミングと設計者がユーザプログラムを設計するタイミングとは異なる。そのため、フィールドエンジニアがユーザプログラムへの影響を考慮しながら判定方法を調整することが困難であるとともに、設計者が判定方法の調整への影響を考慮しながらユーザプログラムを設計することが困難であった。
 本発明は、上記の問題を鑑みてなされたものであり、その目的は、フィールドエンジニアが判定方法の調整作業を行ないやすく、かつ、設計者がユーザプログラムの設計作業を行ないやすい制御装置および制御システムを提供することである。
 本開示の一例によれば、制御装置は、制御演算部と異常判定部とを備える。制御演算部は、制御対象から周期的に収集される状態値を用いて、制御対象を制御するための制御演算を実行する。異常判定部は、収集される状態値のうち監視対象に関連する状態値から生成される特徴量と予め設定された学習データセットとの比較結果を示すスコアを算出し、算出したスコアと予め設定された判定基準とに基づいて、監視対象の異常の有無を判定する。異常判定部は、制御対象を制御するためのユーザプログラム内に命令が規定されることにより実現される。制御装置は、外部から更新用の学習データセットおよび更新用の判定基準を受けて、現在設定されている学習データセットおよび判定基準をそれぞれ更新する更新部をさらに備える。
 この開示によれば、制御装置の設計者は、暫定的に作成された学習データセットおよび判定基準情報を用いて監視対象の異常の有無が判定されるようにユーザプログラムを設計することができる。さらに、フィールドエンジニアは、ユーザプログラムが設計された後に、監視対象の異常の有無を精度良く判定できるように、学習データセットおよび判定基準情報を調整し、調整後の学習データセットおよび判定基準情報を更新部に提供すればよい。このように、上記の制御装置によれば、フィールドエンジニアが判定方法の調整作業を行ないやすく、かつ、設計者がユーザプログラムの設計作業を行ないやすくなる。
 上述の開示において、生成される特徴量は、監視対象毎に予め定められている。生成される特徴量に応じて学習データセットおよび判定基準が設定される。この開示によれば、監視対象に応じて、特徴量、学習データセットおよび判定基準を設定できる。
 上述の開示において、異常判定部は、ユーザプログラム内にファンクションブロックの形で命令が規定されることにより実現される。この開示によれば、設計者は、ファンクションブロックを用いて、監視対象の異常の有無の判定を実行させるユーザプログラムを容易に設計できる。
 上述の開示において、監視対象毎にファンクションブロックと仮の学習データセットと仮の判定基準とが対応付けて予め作成されている。ファンクションブロックが規定されることにより、当該ファンクションブロックに対応する仮の学習データセットおよび仮の判定基準が設定される。この開示によれば、設計者は、ファンクションブロックを規定することにより、監視対象の異常の有無の判定を実行するための仮の学習データセットおよび仮の判定基準を容易に設定できる。
 上述の開示において、異常判定部は、状態値の種類および特徴量の種類を指定する指定情報に従って、特徴量を生成する。更新部は、外部から更新用の指定情報を受けて、現在設定されている指定情報を更新する。この開示によれば、フィールドエンジニアは、監視対象の異常の有無の判定に適した特徴量を適宜調整することができる。
 本開示の一例によれば、制御システムは、制御演算部と、異常判定部とを備える。制御演算部は、制御対象から周期的に収集される状態値を用いて、当該制御対象を制御するための制御演算を実行する。異常判定部は、収集される状態値のうち監視対象に関連する状態値から生成される特徴量と予め設定された学習データセットとの比較結果を示すスコアを算出し、算出したスコアと予め設定された判定基準とに基づいて、監視対象の異常の有無を判定する。異常判定部は、制御対象を制御するためのユーザプログラム内に規定されることにより実現される。制御システムは、さらに、決定部と更新部とを備える。決定部は、監視対象に関連する状態値または生成される特徴量を用いて、更新用の学習データセットと更新用の判定基準とを決定する。更新部は、更新用の学習データセットおよび更新用の判定基準を受けて、現在設定されている学習データセットおよび判定基準をそれぞれ更新する。
 この開示によっても、フィールドエンジニアが判定方法の調整作業を行ないやすく、かつ、設計者がユーザプログラムの設計作業を行ないやすくなる。
 上述の開示において、制御システムは、ユーザプログラムを作成するプログラム作成部をさらに備える。プログラム作成部は、異常判定部を実現するための命令を規定するファンクションブロックを用いてユーザプログラムを作成し、ファンクションブロックに対応付けられた仮の学習データセットおよび仮の判定基準を設定する。この開示によれば、設計者は、ファンクションブロックを規定することにより、監視対象の異常の有無の判定を実行するための仮の学習データセットおよび仮の判定基準を容易に設定できる。
 本開示によれば、フィールドエンジニアが判定方法の調整作業を行ないやすく、かつ、設計者がユーザプログラムの設計作業を行ないやすくなる。
本実施の形態に係る制御装置の構成例を示す模式図である。 本実施の形態に係る制御システムの全体構成例を示す模式図である。 設計ツール装置のハードウェア構成例を示す模式図である。 設計ツール装置のソフトウェア構成例を示す模式図である。 監視対象の異常の有無を判定するためのファンクションブロックと付属データとの対応関係の一例を示す図である。 監視対象の異常の有無を判定するためのファンクションブロックの一例を示す図である。 図6に示すファンクションブロックを用いて作成されたユーザプログラムの一例を示す図である。 本実施の形態に係る制御装置のハードウェア構成例を示すブロック図である。 本実施の形態に係るサポート装置のハードウェア構成例を示すブロック図である。 本実施の形態に係る制御システムの主要なソフトウェア構成例を示すブロック図である。 図10に示す解析ツールに含まれる機能モジュールの概要を示すブロック図である。 本実施の形態に係る制御システムの異常判定処理の基本的な考え方を説明するための模式図である。 本実施の形態に係る制御システムの異常判定処理の手順を概略した模式図である。 本実施の形態に係る制御装置において実行される異常判定処理の手順を示すフローチャートである。 本実施の形態に係る解析処理の内容を示す模式図である。 図15に示される(a)~(c)の処理の概要を視覚的に示す模式図である。 本実施の形態に係るサポート装置の処理手順の一例を示すフローチャートである。 図17のステップS6においてフィールドエンジニアに提供されるユーザインターフェイス画面の一例を示す模式図である。 図17のステップS8においてユーザに提供されるユーザインターフェイス画面の一例を示す模式図である。 変形例に係る制御システムの主要なソフトウェア構成例を示すブロック図である。 図20に示す解析ツールに含まれる機能モジュールの概要を示すブロック図である。 変形例に係る解析処理の概要を視覚的に示す模式図である。 変形例に係るサポート装置の処理手順を示すフローチャートである。 図23のステップS108において、サポート装置がフィールドエンジニアに提供するユーザインターフェイス画面の一例を示す模式図である。 変形例に係るサポート装置の解析ツールが実行する特徴量の重要度を評価する処理を説明するための模式図である。
 以下、図面を参照しつつ、本発明に従う実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。
 §1 適用例
 まず、図1を参照して、本発明が適用される場面の一例について説明する。図1は、本実施の形態に係る制御装置の構成例を示す模式図である。制御装置100は、例えばPLC(プログラマブルロジックコントローラ)である。図1に示されるように、制御装置100は、制御演算部10と、異常判定部20と、更新部30とを備える。
 制御演算部10は、制御対象から周期的に収集される状態値を用いて、当該制御対象を制御するための制御演算を実行する。
 本明細書において、「状態値」は、任意の制御対象(含む:監視対象)にて観測できる値を包含する。「状態値」は、例えば、任意のセンサにより測定できる物理値、リレーやスイッチなどのON/OFF状態、PLCがサーボドライバに与える位置、速度、トルクなどの指令値、PLCが演算に用いる変数値などを含み得る。
 異常判定部20は、制御演算部10によって収集される状態値のうち監視対象に関連する状態値から生成される特徴量と学習データセット41との比較結果を示すスコアを算出する。異常判定部20は、特徴量指定情報43に従って特徴量を生成する。特徴量指定情報43は、状態値の種類と特徴量の種類(または特徴量の生成方法(たとえば算出アルゴリズム))とを指定する情報であり、監視対象毎に予め設定される。異常判定部20によって生成される特徴量の個数は、1または複数である。異常判定部20は、算出したスコアと判定基準情報で示される判定基準(典型的にはしきい値)とに基づいて、監視対象の異常の有無を判定する。学習データセット41および判定基準情報42は、生成される特徴量に応じて予め設定される。
 本明細書において、「スコア」は、1または複数の特徴量の組が、外れ値または異常値である可能性の度合いを示す値を意味する。スコアは、その値が大きいほど異常値である可能性が高いように算出される(但し、異常値である可能性が高くなるほどスコアが小さな値を示すようにしてもよい)。スコアの算出方法については、後に詳述する。
 異常判定部20は、制御対象を制御するためのユーザプログラム内に命令が規定されることにより実現される。ユーザプログラムは、制御対象に応じて任意に設計される。
 更新部30は、外部のサポート装置から更新用の学習データセットおよび判定基準情報を受けて、現在設定されている学習データセット41および判定基準情報42をそれぞれ更新する。
 このように、本実施の形態に係る制御装置100は、ユーザプログラム内に命令が規定されることにより実現される異常判定部20を備える。制御装置100は、さらに、異常判定部20が監視対象の異常の有無を判定する際に用いる学習データセット41および判定基準情報42を更新する更新部30を備える。これにより、制御装置100の設計者は、暫定的に作成された学習データセットおよび判定基準情報を用いて監視対象の異常の有無が判定されるようにユーザプログラムを設計することができる。すなわち、設計者は、フィールドエンジニアによる異常の有無の判定方法の調整を考慮することなく、ユーザプログラムを設計することができる。
 さらに、フィールドエンジニアは、ユーザプログラムが設計された後に、監視対象の異常の有無を精度良く判定できるように、学習データセットおよび判定基準情報を調整し、調整後の学習データセットおよび判定基準情報を更新部30に提供すればよい。これにより、調整後の学習データセットおよび判定基準情報を用いて、監視対象の異常の有無が判定される。
 以上のように、本実施の形態に係る制御装置100によれば、フィールドエンジニアが判定方法の調整作業を行ないやすく、かつ、設計者がユーザプログラムの設計作業を行ないやすくなる。
 §2 構成例
 <2-1.制御システムの全体構成例>
 本発明の実施の形態について、図面を参照しながら詳細に説明する。図2は、本実施の形態に係る制御システムの全体構成例を示す模式図である。
 図2に示されるように、本実施の形態に係る制御システム1は、主たる構成要素として、制御対象を制御する制御装置100と、制御装置100に接続される設計ツール装置200と、制御装置100に接続されるサポート装置300とを含む。
 設計ツール装置200は、制御装置100を設計するためのツールである。設計ツール装置200は、設計者による操作に応じて、制御対象を制御するためのユーザプログラムを作成する。
 設計者は、ユーザプログラムを作成するフェーズ、ユーザプログラムの動作を確認するフェーズ、ユーザプログラムのバグを修正するフェーズなど、様々な場面で設計ツール装置200を使用する。
 ユーザプログラムには、監視対象の異常の有無を判定するための命令(以下、「異常判定命令」という)が規定される。設計ツール装置200は、作成されたユーザプログラムと、当該ユーザプログラム内の異常判定命令に対応付けられる、特徴量指定情報と仮の学習データセットと仮の判定基準情報とを制御装置100に設定する。
 制御装置100は、PLCなどの、一種のコンピュータとして具現化されてもよい。制御装置100は、フィールドネットワーク2を介して制御対象に配置された1または複数のフィールドデバイスと接続されるとともに、別のフィールドネットワーク3を介して1または複数の操作表示装置400と接続される。なお、操作表示装置400はオプショナルな構成であり、制御システム1の必須の構成ではない。
 制御対象は、様々な種類の機械や装置を含み得る。制御対象は、例えば、一軸アクチュエータやエアシリンダなどである。図2に示す例では、制御装置100は、このような制御対象に含まれるサーボドライバ619,629と接続される。サーボドライバ619,629は、サーボモータ618,628の回転速度やトルクをそれぞれ制御する。さらに、制御装置100は、I/O(入出力)ユニット16を介して報知装置18と接続する。
 フィールドネットワーク2およびフィールドネットワーク3は、産業用ネットワークを採用することが好ましい。このような産業用ネットワークとしては、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などが知られている。
 制御装置100は、システムプログラムおよび設計ツール装置200によって設定されたユーザプログラムに従った動作を行なう。図1に示す制御演算部10および異常判定部20は、当該システムプログラムおよびユーザプログラムを実行することにより実現される。すなわち、制御装置100は、当該ユーザプログラムに従って、以下の(1)~(3)の処理を実行する。
(1)制御対象から周期的に状態値を収集する処理。
(2)設計ツール装置200によって設定された特徴量指定情報に従って、収集される状態値のうち監視対象に関連する状態値から特徴量を生成する処理。
(3)生成される特徴量と現在設定されている学習データセットとの比較結果を示すスコアを算出し、算出したスコアと現在設定されている判定基準情報(しきい値)とに基づいて、監視対象の異常の有無を判定する処理。
 上記の(1)の処理では、制御装置100は、例えば、サーボモータ618,628のトルク値、サーボドライバ619,629の電流値、サーボドライバ619,629の電圧値などの状態値を収集する。
 制御装置100は、さらに、サポート装置300から更新用の学習データセットおよび判定基準情報を受け、現在設定されている学習データセットおよび判定基準情報をそれぞれ更新する。当該更新は、図1に示す更新部30によって実行される。そのため、更新が一度もされていないとき、上記の(3)の処理では、設計ツール装置200によって設定された仮の学習データセットと仮の判定基準情報とを用いて、監視対象の異常の有無が判定される。サポート装置300から更新用の学習データセットおよび判定基準情報を受けると、上記の(3)の処理では、当該更新用の学習データセットおよび判定基準情報を用いて、監視対象の異常の有無が判定される。
 制御装置100は、監視対象に異常有りと判定すると、その旨を任意の方法で報知してもよい。図2に示す例では、制御装置100は、I/Oユニット16を介して接続される報知装置18を点滅および/または鳴動させることで報知する。報知方法としては、報知装置18に限らず、任意のインジケータ、音声出力装置、音声合成装置、電子メール、任意の端末への通知、などを用いることができる。
 サポート装置300は、監視対象の異常の有無の判定が適切に実施されるように、更新用の学習データセットおよび判定基準情報を生成する。サポート装置300は、監視対象に関連する状態値から生成された特徴量を制御装置100から取得し、取得した特徴量に対して解析処理を実行することにより、更新用の学習データセットおよび判定基準情報を生成する。サポート装置300は、生成した更新用の学習データセットおよび判定基準情報を制御装置100に提供する。これにより、制御装置100に設定される学習データセットおよび判定基準情報が更新される。
 <2-2.設計ツール装置のハードウェア構成例>
 図3は、設計ツール装置200のハードウェア構成例を示す模式図である。設計ツール装置200は、典型的には、汎用のコンピュータで構成される。なお、制御装置100が配置される製造現場における保守性の観点から、設計ツール装置200は、可搬性に優れたノート型のパーソナルコンピュータであることが好ましい。
 図3に示す例の設計ツール装置200は、記憶部201と、オペレーティングシステム(OS)を含む各種プログラムを実行するCPU202とを備える。記憶部201は、BIOSや各種データを格納するROM(Read Only Memory)204と、CPU202でのプログラムの実行に必要なデータを格納するための作業領域を提供するRAM206と、CPU202で実行されるプログラムなどを不揮発的に格納するハードディスク(HDD)208とを含む。
 設計ツール装置200は、さらに、設計ツール装置200に指示を入力するために設計者が操作するキーボード210およびマウス212を含む操作部203、および情報を設計者に提示するためのディスプレイ214を含む。設計ツール装置200は、制御装置100などと通信するための通信インターフェイス218を含む。通信インターフェイス218は、制御装置100が備えるUSBインターフェイス(図示略)と通信するためにUSB通信モジュールを含み得る。
 設計ツール装置200は、光学記録媒体8からそれに格納されている開発支援環境を提供するためのサポートプログラムを読み取るための光学記録媒体読取装置216を含む。
 設計ツール装置200が備えるこれらのコンポーネントは、内部バス220を介して互いに通信可能に接続されている。
 図3には、CPU202等のプロセッサがプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOSを並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
 <2-3.設計ツール装置のソフトウェア構成例>
 図4は、設計ツール装置200のソフトウェア構成例を示す模式図である。図4に示すソフトウェアに含まれる命令コードは、適切なタイミングで読出され、設計ツール装置200のCPU202へ提供されて実行される。また、図4に示すソフトウェアは、光学記録媒体8に格納されて提供されるサポートプログラムに含まれる。
 図4に示されるように、設計ツール装置200には、OS240、プログラミングアプリケーション250、ファンクションブロックライブラリ280および付属データ記憶部290が実装される。設計ツール装置200ではOS240が実行され、プログラミングアプリケーション250を実行可能な環境が提供される。
 ファンクションブロックライブラリ280は、プログラミングアプリケーション250が利用するPLC用のプログラム部品であるファンクションブロック(FB)のライブラリである。ファンクションブロックライブラリ280は、監視対象毎に予め作成された、当該監視対象の異常の有無を判定するためのファンクションブロック282を含む。
 付属データ記憶部290は、監視対象の異常の有無を判定するためのファンクションブロック毎に予め作成された付属データ292を記憶する。
 図5は、監視対象の異常の有無を判定するためのファンクションブロックと付属データとの対応関係の一例を示す図である。図5に示す例では、ファンクションブロック282aと付属データ292aとが対応付けられ、ファンクションブロック282bと付属データ292bとが対応付けられている。ファンクションブロック282a,282bは、それぞれ監視対象「A」,「B」の異常の有無を判定するために予め作成されたプログラム部品である。
 付属データ292aは、監視対象「A」の異常の有無を判定するために用いられる特徴量を生成するための特徴量指定情報43aと、特徴量指定情報43aに対応する仮の学習データセット41aおよび判定基準情報42aとを含む。付属データ292bは、監視対象「B」の異常の有無を判定するために用いられる特徴量を生成するための特徴量指定情報43bと、特徴量指定情報43bに対応する仮の学習データセット41bおよび判定基準情報42bとを含む。
 なお、以下では、特徴量指定情報43a,43b,・・・を特に区別しない場合、特徴量指定情報43a,43b,・・・の各々を「特徴量指定情報43」という。同様に、学習データセット41a,41b,・・・を特に区別しない場合、学習データセット41a,41b,・・・の各々を「学習データセット41」という。判定基準情報42a,42b,・・・を特に区別しない場合、判定基準情報42a,42b,・・・の各々を「判定基準情報42」という。
 このように、監視対象毎にファンクションブロック282と仮の学習データセット41と仮の判定基準情報42とが対応付けて予め作成されている。
 特徴量指定情報43は、監視対象に応じて適宜設定され、1または複数の特徴量を指定する。例えば監視対象がボールねじのサーボモータである場合、サーボモータのトルクを状態値の種類として指定し、平均値を特徴量として指定する特徴量指定情報が設定される。
 学習データセット41は、監視対象が正常であるときに取り得る特徴量を含む学習データのセットである。
 判定基準情報42は、監視対象の異常の有無を判定する基準(典型的にはしきい値)を示す情報である。例えば、特徴量と学習データセット41との比較結果を示すスコアがしきい値よりも大きい場合に異常有りと判定され、スコアがしきい値よりも小さい場合に異常無しと判定される。
 なお、以下の説明においては、判定基準の典型例としてしきい値を用いる形態について例示するが、判定基準としては、しきい値に限られず、任意の幅を有する許容範囲や、複数の値により規定される条件であってもよい。
 付属データ292を作成する段階では、監視対象を実際に動作させていないため、シミュレーション等により暫定的に仮の学習データセット41および判定基準情報42が作成されている。
 図4に戻って、プログラミングアプリケーション250は、エディタ252と、コンパイラ254と、デバッガ256と、GUI(Graphical User Interface)モジュール258と、シミュレータ260と、データ格納部270とを含む。プログラミングアプリケーション250に含まれるそれぞれのモジュールは、典型的には、光学記録媒体8(図3参照)にサポートプログラムとして格納された状態で流通して、設計ツール装置200にインストールされる。
 エディタ252は、ユーザプログラム130のソースプログラムを作成するための入力および編集といった機能を提供する。より具体的には、エディタ252は、設計者がキーボード210やマウス212を操作してユーザプログラム130のソースプログラムを作成する機能に加えて、作成したソースプログラムの保存機能および編集機能を提供する。エディタ252は、設計者の操作に応じて、ファンクションブロックライブラリ280から選択されたファンクションブロック282を用いて、ユーザプログラム130のソースプログラムを作成する。
 コンパイラ254は、ソースプログラムをコンパイルして、制御装置100で実行可能なプログラム形式のユーザプログラム130を生成する機能を提供する。
 デバッガ256は、ユーザプログラム130のソースプログラムに対してデバッグを行うための機能を提供する。このデバッグの内容としては、ソースプログラムのうち設計者が指定した範囲を部分的に実行する、ソースプログラムの実行中における変数値の時間的な変化を追跡する、といった動作を含む。
 GUIモジュール258は、設計者が各種データやパラメータなどを入力するためのユーザインターフェイス画面を提供する機能を有する。当該ユーザインターフェイス画面は、ディスプレイ214(図3参照)に表示される。GUIモジュール258は、操作部203が受け付けた操作、並びに、ユーザプログラム130に基づいてユーザインターフェイス画面を提供する。
 シミュレータ260は、設計ツール装置200内に制御装置100でのプログラムの実行をシミュレーションする環境を構築する。
 データ格納部270には、作成されたユーザプログラム130が格納される。ユーザプログラム130の作成が完了すると、通信インターフェイス218(図3参照)を介して、データ格納部270に格納されたユーザプログラム130が制御装置100に設定される。このとき、ユーザプログラム130内に規定されるファンクションブロック282に対応する付属データ292が付属データ記憶部290から読み出され、当該付属データ292も制御装置100に設定される。
 このように、設計ツール装置200は、監視対象の異常の有無を判定するための命令を規定するファンクションブロック282を用いてユーザプログラム130を作成するプログラム作成部として動作する。そして、設計ツール装置200は、ファンクションブロック282に対応付けられた仮の学習データセット41および仮の判定基準情報42を制御装置100に設定する。すなわち、設計者は、監視対象に応じたファンクションブロック282を選択することにより、当該監視対象の異常の有無を判定するために用いられる学習データセット41および判定基準情報42を暫定的に設定することができる。
 なお、図4に示す例では、ファンクションブロックライブラリ280および付属データ記憶部290が設計ツール装置200に実装されるものとした。しかしながら、ファンクションブロックライブラリ280および付属データ記憶部290は、設計ツール装置200とネットワークを介して接続可能なサーバ装置に実装されてもよい。
 図6は、監視対象の異常の有無を判定するためのファンクションブロックの一例を示す図である。図6に示す例のファンクションブロック282では、入力端子「Axis」に監視対象の状態値(軸変数)が入力される。入力端子「Enable」に「TRUE」が入力されると、ファンクションブロック282が実行され、監視対象の異常の有無が判定される。判定結果は、出力端子「Error」から出力される。
 図7は、図6に示すファンクションブロックを用いて作成されたユーザプログラムの一例を示す図である。図7に示す例のユーザプログラムでは、ファンクションブロック282の出力端子「Error」から異常有りを示す判定結果が出力されると、「Error Lamp」で示される報知装置18(図2参照)が点灯する。
 設計ツール装置200を用いることにより、設計者は、暫定的に作成された付属データ292に対応付けられたファンクションブロック282を用いてユーザプログラムを作成できる。そのため、フィールドエンジニアが監視対象の異常の有無の判定方法の調整を行なう前であったとしても、設計者は、図7に示されるようなユーザプログラム130を作成できる。さらに、設計者は、デバッガ256およびシミュレータ260を利用することにより、作成したユーザプログラム130のバグを修正したり、作成したユーザプログラム130の動作を確認したりできる。
 <2-4.制御装置のハードウェア構成例>
 図8は、本実施の形態に係る制御装置のハードウェア構成例を示すブロック図である。図8に示す例の制御装置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,…とを含む。
 プロセッサ102は、ストレージ108に格納された各種プログラムを読み出して、主メモリ106に展開して実行することで、制御演算部10、異常判定部20および更新部30(図1参照)を実現する。チップセット104は、プロセッサ102と各コンポーネントとの間のデータ伝送などを制御する。
 ストレージ108には、基本的な機能を実現するためのシステムプログラム150と、制御対象を制御するためのユーザプログラム130と、特徴量指定情報43と、学習データセット41と、判定基準情報42とが格納される。ユーザプログラム130と特徴量指定情報43と学習データセット41と判定基準情報42とは、上述したように設計ツール装置200から提供され、ストレージ108に格納される。
 上位ネットワークコントローラ110は、上位ネットワーク6を介した他の装置との間のデータの遣り取りを制御する。USBコントローラ112は、USB接続を介して、設計ツール装置200またはサポート装置300との間のデータの遣り取りを制御する。
 メモリカードインターフェイス114は、メモリカード116を着脱可能に構成されており、メモリカード116に対してデータを書込み、メモリカード116から各種データ(ユーザプログラムやトレースデータなど)を読出すことが可能になっている。
 内部バスコントローラ122は、制御装置100に搭載されるI/Oユニット124,…との間でデータを遣り取りするインターフェイスである。
 フィールドバスコントローラ118は、フィールドネットワーク2を介した他の装置との間のデータの遣り取りを制御する。同様に、フィールドバスコントローラ120は、フィールドネットワーク3を介した他の装置との間のデータの遣り取りを制御する。
 図8には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、制御装置100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOSを並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
 <2-5.サポート装置のハードウェア構成例>
 本実施の形態に係るサポート装置300は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコン)を用いてプログラムを実行することで実現される。なお、制御装置100が配置される製造現場における保守性の観点から、サポート装置300は、可搬性に優れたノート型のパーソナルコンピュータであることが好ましい。
 図9は、本実施の形態に係るサポート装置300のハードウェア構成例を示すブロック図である。図9に示す例のサポート装置300は、CPUやMPUなどのプロセッサ302と、光学ドライブ304と、主記憶装置306と、二次記憶装置308と、USBコントローラ312と、ローカルネットワークコントローラ314と、入力部316と、表示部318とを含む。これらのコンポーネントは内部バス320を介して接続される。
 プロセッサ302は、二次記憶装置308に格納された各種プログラムを読み出して、主記憶装置306に展開して実行することで、後述するような解析処理を含む各種処理を実現する。
 二次記憶装置308は、例えば、HDD(Hard Disk Drive)やSSD(Flash Solid State Drive)などで構成される。二次記憶装置308には、典型的には、制御装置100との間で異常検知機能に関するデータを遣り取りするためのPLCインターフェイスプログラム324と、解析処理を実現するための解析プログラム326と、OS328とが格納される。二次記憶装置308には、図9に示すプログラム以外の必要なプログラムが格納されてもよい。
 サポート装置300は、光学ドライブ304を有している。コンピュータ読取可能なプログラムを非一過的に格納する記録媒体305(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)から、その中に格納されたプログラムが読取られて二次記憶装置308などにインストールされる。
 サポート装置300で実行される各種プログラムは、コンピュータ読取可能な記録媒体305を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に係るサポート装置300が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
 USBコントローラ312は、USB接続を介して制御装置100との間のデータの遣り取りを制御する。ローカルネットワークコントローラ314は、任意のネットワークを介した他の装置との間のデータの遣り取りを制御する。
 入力部316は、キーボードやマウスなどで構成され、ユーザ操作を受付ける。表示部318は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ302からの処理結果などを出力する。
 図9には、プロセッサ302がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。
 <2-6.制御装置およびサポート装置のソフトウェア構成例/機能構成例>
 次に、本実施の形態に係る制御システム1を構成する主要な装置のソフトウェア構成例および機能構成例について説明する。図10は、本実施の形態に係る制御システムの主要なソフトウェア構成例を示すブロック図である。
 図10を参照して、制御装置100は、主要なソフトウェア構成として、ユーザプログラム130と、更新部30と、時系列データベース(TSDB:Time Series Data Base)140とを含む。
 制御装置100は、フィールドから収集される状態値を変数44の形で管理しており、変数44は予め定められた周期で更新される。
 ユーザプログラム130は、制御対象を制御するための制御演算命令132と、ファンクションブロック282で規定される命令とを含む。上述したように、ユーザプログラム130は、設計者4が設計ツール装置200を用いて作成され、設計ツール装置200から制御装置100に提供される。
 制御演算命令132は、制御対象を制御するための演算の命令を含む。図1に示す制御演算部10は、制御装置100のプロセッサ102が制御演算命令132を実行することにより実現される。
 ファンクションブロック282で規定される命令は、監視対象の異常の有無を判定する一連の命令を含む。図1に示す異常判定部20は、制御装置100のプロセッサ102がファンクションブロック282で規定される命令を実行することにより実現される。そのため、ファンクションブロック282を用いることにより、容易に異常判定部20を実現するユーザプログラム130を作成できる。ファンクションブロック282で規定される命令は、特徴量生成命令134と、書込命令135と、スコア算出命令136と、判定命令137とを含む。
 特徴量生成命令134は、特徴量指定情報43によって指定される種類の状態値から、特徴量指定情報43によって指定される種類の特徴量(例えば、所定時間に亘る平均値、最大値、最小値など)を生成する命令を含む。
 書込命令135は、生成された特徴量を時系列データベース140に書込む命令を含む。
 時系列データベース140に順次書込まれる特徴量が特徴量データ45として、サポート装置300に出力される。
 スコア算出命令136は、生成された特徴量と学習データセット41で示される特徴量群との距離(例えば、ユークリッド距離)を、生成された特徴量と学習データセット41との比較結果を示すスコアとして算出する命令を含む。
 判定命令137は、算出されたスコアと判定基準情報42で示されるしきい値とを比較し、スコアがしきい値を超える場合に異常有りと判定し、スコアがしきい値を超えない場合に異常無しと判定する命令を含む。
 更新部30は、制御装置100のプロセッサ102がシステムプログラム150(図8参照)を実行することにより実現される。更新部30は、サポート装置300から更新用の学習データセット51および判定基準情報52を受けると、制御装置100において現在設定されている学習データセット41および判定基準情報42を更新する。すなわち、更新部30は、現在設定されている学習データセット41の内容を、更新用の学習データセット51の内容に更新する。さらに、更新部30は、現在設定されている判定基準情報42の内容を、更新用の判定基準情報52の内容に更新する。
 一方、サポート装置300は、主要な機能構成として、解析ツール330と、PLCインターフェイス332とを含む。
 解析ツール330は、フィールドエンジニア5の操作に応じて、制御装置100において生成された特徴量からなる特徴量データ45を用いて、更新用の学習データセット51および判定基準情報52を決定する決定部として動作する。解析ツール330は、典型的には、サポート装置300のプロセッサ302が解析プログラム326を実行することで実現される。
 PLCインターフェイス332は、制御装置100から特徴量データ45を取得する処理、および、決定された更新用の学習データセット51および判定基準情報52を制御装置100へ送信する処理などを担当する。PLCインターフェイス332は、典型的には、サポート装置300のプロセッサ302がPLCインターフェイスプログラム324を実行することで実現される。
 図11は、図10に示す解析ツール330に含まれる機能モジュールの概要を示すブロック図である。図11を参照して、サポート装置300の解析ツール330は、主要な機能構成として、ユーザインターフェイス340と、ファイル管理モジュール350と、画面生成モジュール360と、解析モジュール370と、解析ライブラリ380とを含む。
 ユーザインターフェイス340は、ユーザからの設定を受付けるとともに、ユーザに対して各種情報を提供するための統括的な処理を実行する。具体的な実装形態として、ユーザインターフェイス340は、スクリプトエンジン342を有しており、必要な処理を記述したスクリプトを含む設定ファイル344を読込んで、設定された処理を実行する。
 ファイル管理モジュール350は、指定されたファイルなどからデータを読込むデータ入力機能352と、生成したデータなどを含むファイルを生成するデータ生成機能354とを含む。
 画面生成モジュール360は、入力されたデータなどに基づいて折れ線グラフを生成する折れ線グラフ生成機能362、および、ユーザの操作を受けて各種パラメータを変更するパラメータ調整機能364を含む。パラメータの変更に伴って、折れ線グラフ生成機能362は折れ線を更新することもある。折れ線グラフ生成機能362およびパラメータ調整機能364は、グラフライブラリ366を参照して必要な処理を実行する。
 解析モジュール370は、解析ツール330の主要な処理を実現するモジュールであり、パラメータ決定機能376を有している。パラメータ決定機能376は、異常の有無の判定処理に必要なパラメータである、学習データセットおよびしきい値を決定する処理を実行する。
 解析ライブラリ380は、解析モジュール370に含まれる機能が処理を実行するためのライブラリを含む。より具体的には、解析ライブラリ380は、パラメータ決定機能376が利用する異常判定エンジン386を含む。異常判定エンジン386が実行する処理は、ユーザプログラム130に規定されるファンクションブロック282のスコア算出命令136および判定命令137(図10参照)に従って実行される処理と実質的に同一である。
 このように、サポート装置300の異常判定エンジン386は、制御装置100の時系列データベース140から提供される特徴量(特徴量データ45)を用いて、制御装置100の異常判定部20と実質的に同一の異常判定処理を実行する。
 本実施の形態に係る制御システム1には、制御装置100とサポート装置300との両方において、同一の異常判定処理を実現できる環境が提供されている。このような環境によって、制御装置100における異常判定処理をサポート装置300において再現することができ、この結果、制御装置100で実行させるべき異常判定処理を、サポート装置300において決定できる。
 より具体的には、サポート装置300の解析モジュール370は、解析ライブラリ380に含まれる異常判定エンジン386による判定結果に基づいて、更新用の学習データセット51および判定基準情報52を決定する。
 <2-7.異常判定処理の概要>
 次に、本実施の形態に係る制御システムが採用する異常判定処理の概要について説明する。
 本実施の形態においては、統計的に得られるデータ集合に対して、監視対象のデータが外れ値であると評価される場合に、異常値として判定する。
 図12は、本実施の形態に係る制御システムの異常判定処理の基本的な考え方を説明するための模式図である。図12に示す例では、特徴量指定情報43は、n個の特徴量の各々を指定している。図12を参照して、まず、n次元空間上において、学習データセットに含まれる各学習データで示される特徴量1,2,3,・・・,nに対応する位置を順次プロットする。プロットされた位置の座標値群を正常値群として規定する。
 そして、任意のサンプリングタイミングで監視対象から収集された1または複数の状態値から特徴量1,2,3,・・・,nを生成し、当該生成されたそれぞれの特徴量に対応する座標(図12の「入力値」に相当する。)を設定する。
 最終的に、n次元空間上における正常値群に対する入力値の外れ度合いに基づいて、当該入力値に対応するサンプリングタイミングにおける監視対象の異常の有無を判定する。図12の正常値群が、監視対象を示す「モデル」に相当する。
 このような外れ度合いに基づく異常判定の手法としては、各点から正常値群までの最短距離に基づいて異常の有無を判定する手法(k近傍法)、正常値群を含むクラスタを含めて距離を評価する局所外れ値因子(LoF:local outlier factor)法、パス長さから算出されるスコアを用いるiForest(isolation forest)法などが知られている。
 図13は、本実施の形態に係る制御システム1の異常判定処理の手順を概略した模式図である。図13を参照して、任意のサンプリングタイミングにおいて監視対象から状態値のセットを収集したとする。このサンプリングタイミングにおける監視対象の異常の有無を判定することになる。
 まず、監視対象から収集可能な複数の状態値のうち、特徴量指定情報43(図10参照)によって指定された種類の状態値1,2,3,・・・nを用いて、特徴量指定情報43によって指定された種類の特徴量1,2,3,・・・,nを生成する。
 なお、同一の状態値から複数の特徴量が生成されてもよい。説明の便宜上、少なくとも4個の特徴量を用いる構成を示すが、本実施の形態に係る異常判定処理においては、少なくとも1つの特徴量があればよい。
 続いて、1または複数の特徴量からスコアが算出される。そして、算出されたスコアと判定基準情報42(図10参照)で示されるしきい値とを比較して、監視対象の異常の有無を判定する。
 本実施の形態に係る異常判定処理においては、予め定められた期間(以下、「フレーム」とも称す。)に亘る状態値の時系列データから特徴量を生成し、生成される特徴量を用いてスコアを算出する。
 図14は、本実施の形態に係る制御装置において実行される異常判定処理の手順を示すフローチャートである。図14に示す各ステップは、典型的には、制御装置100のプロセッサ102がプログラム(システムプログラムおよびユーザプログラム)を実行することで実現される。
 図14を参照して、制御装置100は、予め定められたフレームの開始条件が成立すると(ステップS50においてYES)、予め定められた1または複数の状態値の収集を開始する(ステップS52)。その後、予め定められたフレームの終了条件が成立すると(ステップS54においてYES)、制御装置100は、当該フレームの期間において収集された状態値のうち特徴量指定情報43によって指定される種類の状態値の時系列データから特徴量指定情報43によって指定される種類の特徴量を生成する(ステップS56)。そして、制御装置100は、生成された1または複数の特徴量に基づいてスコアを算出する(ステップS58)。
 より具体的には、スコアは、生成された1または複数の特徴量と現在設定されている学習データセット41とを用いて算出される。
 続いて、制御装置100は、算出したスコアが現在設定されている判定基準情報42で示されるしきい値を上回っているか否かを判定する(ステップS60)。算出したスコアがしきい値を上回っていれば(ステップS60においてYESの場合)、制御装置100は、監視対象の異常を報知する(ステップS62)。算出したスコアがしきい値を上回っていなければ(ステップS60においてNOの場合)、制御装置100は、監視対象が正常であると判定する(ステップS64)。そして、ステップS50以下の処理が繰返される。
 <2-8.解析処理の概略手順>
 次に、本実施の形態に係る解析処理の概略手順について説明する。図15は、本実施の形態に係る解析処理の内容を示す模式図である。図16は、図15に示される(a)~(c)の処理の概要を視覚的に示す模式図である。
 図15を参照して、本実施の形態に係る解析処理は、主として、(a)データ入力処理、(b)可視化・ラベル付け処理、(c)しきい値決定処理を含む。
 図16を参照して、制御装置100にて生成された特徴量を示す特徴量データ45がサポート装置300へ提供される((a)データ入力処理)。図16に示す例では、特徴量データ45は、監視対象での処理の回数を示すサイクルカウントと、特徴量1,2,3,・・・,nとを含む。
 続いて、サポート装置300では、特徴量の可視化および各サンプリングタイミングの特徴量の組に対するラベル付けが実施される((b)可視化・ラベル付け処理)。特徴量の可視化は、基本的には、サポート装置300によって実行され、ラベル付けの全部または一部はユーザが実行してもよい。
 より具体的な一例として、ユーザは、グラフなどの形で可視化された特徴量を参照しつつ、監視対象の状態が「正常」および「異常」のいずれであるかを、サンプリングタイミング毎に設定する。
 次に、「正常」のラベル付けがされた特徴量の組に基づいて更新用の学習データセット51が生成されるとともに、当該学習データセット51と各サンプリングタイミングの特徴量の組とに基づいて、各サンプリングタイミングにおけるスコアが算出される。そして、算出されたスコアを参照して、異常と判定するためのしきい値を決定する((c)しきい値決定)。
 以上のような手順によって、更新用の学習データセット51および判定基準情報52(しきい値を示す情報)が生成される。生成された更新用の学習データセット51および判定基準情報52は、サポート装置300から制御装置100へ提供される。制御装置100は、現在設定されている学習データセット41および判定基準情報42の内容を更新用の学習データセット51および判定基準情報52の内容に更新する。
 上述したように、設計ツール装置200は、監視対象の異常の有無を判定するための命令を規定するユーザプログラム130を作成する際に、暫定的に定められた仮の学習データセット41および判定基準情報42を制御装置100に設定する。そのため、ユーザプログラム130を実行することができるものの、当該仮の学習データセット41および判定基準情報42を用いるために、精度良く監視対象の異常の有無を判定できない。しかしながら、サポート装置300は、解析処理を行なうことにより、更新用の学習データセット51および判定基準情報52を生成する。すなわち、フィールドエンジニアは、サポート装置300を用いることにより、学習データセットおよびしきい値を適宜調整することができる。これにより、調整後の学習データセットおよびしきい値を用いた異常判定処理が実行され、監視対象の異常の有無の判定精度を向上させることができる。
 なお、図16に示す(a)~(c)の処理は、適宜繰返し実行することが可能であり、監視対象の状態に応じて学習データセットおよび判定基準情報を順次更新することも可能である。
 <2-9.サポート装置の処理手順例>
 図17は、本実施の形態に係るサポート装置の処理手順の一例を示すフローチャートである。図17を参照して、まず、サポート装置300は、フィールドエンジニアの操作に応じて解析ツール330を起動させると(ステップS2)、解析ツール330に特徴量データ45を読込ませる(ステップS4)。
 続いて、解析ツール330は、フィールドエンジニアの選択操作に応じて特徴量の変化を可視化する。フィールドエンジニアは、可視化された特徴量の変化に対して正常および/または異常のラベル付けを行なう(ステップS6)(図15の(b)可視化・ラベル付け処理に対応)。
 図18は、図17のステップS6においてフィールドエンジニアに提供されるユーザインターフェイス画面500の一例を示す模式図である。図18を参照して、ユーザインターフェイス画面500は、特徴量の変化を可視化する。典型的には、ユーザインターフェイス画面500においては、特徴量の時間的な変化がグラフ化されており、フィールドエンジニアは、このグラフを参照することで、異常または正常の範囲を設定する。なお、フィールドエンジニアが設定する異常範囲および正常範囲は、監視対象が実際に異常になっているか、正常に動作しているかの情報に基づいて設定してもよいし、フィールドエンジニアが異常として判定したい特徴量の変化を任意に設定するようにしてもよい。すなわち、ユーザインターフェイス画面500において設定される異常範囲および正常範囲は、本実施の形態に係る異常判定処理が出力する「異常」または「正常」である状態を規定するものであり、監視対象が実際に異常であるか正常であるかとは、必ずしも一致しなくてもよい。
 より具体的には、ユーザインターフェイス画面500は、特徴量に対する選択受付エリア502と、グラフ表示エリア506と、ヒストグラム表示エリア512とを含む。
 選択受付エリア502には、特徴量指定情報43で指定される特徴量を示すリストが表示されており、ユーザは、選択受付エリア502に表示されたリスト上で任意の特徴量を選択する。
 グラフ表示エリア506には、選択された特徴量の変化を示すグラフ508が表示される。グラフ508は、サンプリング毎の時系列データ、あるいは、監視対象の処理単位(例えば、処理ワーク単位)などで区切られてもよい。
 ヒストグラム表示エリア512には、選択された特徴量の変化の分布を示すヒストグラムが表示される。ヒストグラム表示エリア512に表示されるヒストグラムを確認することで、選択した特徴量の主たる範囲などを知ることができる。
 ユーザは、グラフ表示エリア506に表示される特徴量の変化(グラフ508)に対して、データの正常範囲および/または異常範囲を設定できる。より具体的には、ユーザインターフェイス画面500は、ラベル付与ツール514を含む。ラベル付与ツール514は、正常ラベル設定ボタン516と、異常ラベル設定ボタン517と、ラベル設定範囲指定ボタン518とを含む。
 フィールドエンジニアは、付与するラベルが正常または異常のいずれであるかに応じて、正常ラベル設定ボタン516または異常ラベル設定ボタン517を選択した後、ラベル設定範囲指定ボタン518を選択し、続けて、グラフ表示エリア506の対象となる領域を指定する操作(例えば、ドラッグ操作)を行う。これによって、指定された領域に対して、設定されたラベルが付与される。
 図18には、異常範囲510が設定されている例を示す。異常範囲510に含まれるサンプリングタイミングの特徴量に対しては、「異常」のラベルが付与され、それ以外の特徴量に対しては、「正常」のラベルが付与される。このように、解析ツール330は、ユーザ操作に従って、生成された複数の特徴量のデータ系列の特定範囲に対して、「正常」および「異常」の少なくとも一方のラベルを付与する機能を有していてもよい。
 なお、ヒストグラム表示エリア512に表示されるヒストグラムに対しても、データの正常範囲および/または異常範囲を設定できるようにしてもよい。
 再度図17を参照して、次に、解析ツール330は、フィールドエンジニアの操作に従って、しきい値の決定処理を実行する(ステップS8)。ステップS8の処理は、図15に示す(c)しきい値決定処理に対応する。
 このステップS8においては、デフォルトのしきい値が予め設定されている。フィールドエンジニアは、判定精度を示す指標値を確認しながら、しきい値を調整する。
 図19は、図17のステップS8においてユーザに提供されるユーザインターフェイス画面520の一例を示す模式図である。図19を参照して、ユーザインターフェイス画面520は、異常判定処理に用いるしきい値の選択を受付ける。
 より具体的には、ユーザインターフェイス画面520は、グラフ表示エリア526を含む。グラフ表示エリア526には、特徴量データ45で示される各サンプリングタイミングの特徴量と学習データセットとに基づいて算出されたスコアの変化を示すグラフ528が表示される。当該学習データセットとして、ステップS8において「正常」とラベル付けされた複数のサンプリングタイミングの特徴量のデータが用いられる。
 グラフ表示エリア526に関連付けて、しきい値設定スライダ534が配置されている。しきい値設定スライダ534に対する操作に連動して、設定されているしきい値が変動するとともに、グラフ表示エリア526に表示されるしきい値表示バー535の位置が変動する。このように、しきい値設定スライダ534は、グラフ表示エリア526に表示されたスコアに対するしきい値の設定を受付ける。
 グラフ表示エリア526には、指標値を示す数値表示530、および、設定されているしきい値を示す数値表示532が配置されている。しきい値設定スライダ534に対するユーザ操作に連動して、数値表示530,532の値も更新される。
 数値表示530が示す指標値は、現在設定されているしきい値により、どの程度正確な判定が可能かを示す値である。より具体的には、指標値は、現在の設定によれば、ユーザにより設定された正常範囲に含まれる特徴量(すなわち、「正常」のラベルが付与されている特徴量)と、ユーザにより設定された異常範囲に含まれる特徴量(すなわち、「異常」のラベルが付与されている特徴量)とをどの程度正確に区別できるのかを示す。
 指標値は、例えば、TruePositive軸とFalsePositive軸とにより規定されるROC(Receiver Operating Characteristic)曲線に基づいて、AUC(Area Under the Curve)を求めることによって算出される。
 例えば、「正常」のラベルが付与されているデータと、「異常」のラベルが付与されているデータとを用いて、100%から誤判定する確率を差し引いた値を指標値として算出する。誤判定とは、「正常」のラベルが付与されているデータを「異常」と判定する、あるいは、「異常」のラベルが付与されているデータを「正常」と判定することである。
 フィールドエンジニアは、グラフ表示エリア526に表示されるグラフ528の形状や、数値表示530が示す指標値を確認しながら、しきい値の設定を適宜実施する。
 ユーザインターフェイス画面520のリセットボタン536が選択されると、ユーザインターフェイス画面520がデフォルト状態にリセットされる。
 ユーザインターフェイス画面520の更新データ生成ボタン538が選択されると、当該時点において設定されている内容に従って、更新用の学習データセット51および判定基準情報52が生成される。
 再度図17を参照して、図18に示すユーザインターフェイス画面500、および、図19に示すユーザインターフェイス画面520において適宜操作され、ユーザインターフェイス画面520の更新データ生成ボタン538が操作されると(ステップS10においてYES)、解析ツール330は、更新用の学習データセット51および判定基準情報52を生成する(ステップS12)。すなわち、解析ツール330は、フィールドエンジニアによるラベル付けおよびしきい値の調整に応じて、更新用の学習データセット51および判定基準情報52を生成する。具体的には、解析ツール330は、「正常」のラベルが付与された各サンプリングタイミングの特徴量を学習データとする更新用の学習データセット51を生成する。さらに、解析ツール330は、調整されたしきい値を示す更新用の判定基準情報52を生成する。
 そして、サポート装置300から制御装置100に対して、ステップS12において生成された更新用の学習データセット51および判定基準情報52が送信され(ステップS14)、制御装置100に設定されている学習データセット41および判定基準情報42が更新される。
 なお、指標値などを定期的に確認し、指標値が悪い場合には、フィールドエンジニアは、サポート装置300を操作して、制御装置100に設定されている学習データセット41および判定基準情報42を適宜更新してもよい。指標値が悪い場合とは、監視対象が正常な状態であるのに異常と検知してしまった頻度が相対的に多い、および/または、正常と検知したのに監視対象が正常な状態ではなかった頻度が相対的に多い場合である。
 <2-10.変形例>
 上記の説明では、監視対象毎に生成される特徴量の種類が固定される。しかしながら、監視対象の状態に応じて、異常の有無の判定に適切な特徴量の種類が変動する場合もあり得る。そのため、学習データセット41および判定基準情報42とともに、特徴量指定情報43も更新されてもよい。以下に、ユーザプログラム130の作成時に暫定的に定められた仮の特徴量指定情報43が制御装置に設定された後に、フィールドエンジニアがサポート装置を用いて特徴量指定情報43の内容も更新可能な制御システムについて説明する。
  (2-10-1.制御装置およびサポート装置のソフトウェア構成例/機能構成例)
 図20は、変形例に係る制御システムの主要なソフトウェア構成例を示すブロック図である。図20に示す例の制御装置100Aは、図10に示す制御装置100と比較して、更新部30の代わりに更新部30Aを含む点で相違する。さらに、ファンクションブロック282で規定される命令は、書込命令135の代わりに書込命令135Aを含む。
 書込命令135Aは、フィールドから収集される変数44(状態値)を時系列データベース140に書込む命令を含む。
 時系列データベース140に順次書込まれる状態値が生データ46として、サポート装置300Aに出力される。
 更新部30Aは、図10に示す更新部30の処理に加えて、サポート装置300から更新用の特徴量指定情報53を受けると、制御装置100Aにおいて現在設定されている特徴量指定情報43を更新する処理を行なう。すなわち、更新部30Aは、更新部30と同様に、現在設定されている学習データセット41および判定基準情報42の内容を、更新用の学習データセット51および判定基準情報52の内容にそれぞれ更新する。さらに、更新部30Aは、現在設定されている特徴量指定情報43の内容を、更新用の特徴量指定情報53の内容に更新する。
 図20に示す例のサポート装置300Aは、図10に示すサポート装置300と比較して、解析ツール330の代わりに解析ツール330Aを含む点で相違する。
 解析ツール330Aは、フィールドエンジニア5の操作に応じて、制御装置100Aにおいて収集された状態値からなる生データ46を解析し、更新用の学習データセット51、判定基準情報52および特徴量指定情報53を決定する。
 図21は、図20に示す解析ツール330Aに含まれる機能モジュールの概要を示すブロック図である。図21を参照して、解析ツール330Aは、図11に示す解析ツール330と比較して、解析モジュール370および解析ライブラリ380の代わりに解析モジュール370Aおよび解析ライブラリ380Aをそれぞれ含む点で相違する。解析モジュール370Aは、解析モジュール370と比較して、特徴量生成機能372と、特徴量選択機能374とをさらに含む点で相違する。解析ライブラリ380Aは、特徴量生成機能372が利用する特徴量生成ライブラリ382と、特徴量選択機能374が利用する特徴量選択ライブラリ384とをさらに含む点で相違する。
 特徴量生成機能372は、生データ46に含まれる任意の状態値の時系列データから特徴量を生成する。特徴量生成ライブラリ382には、様々な種類の特徴量(例えば、所定時間に亘る平均値、最大値、最小値など)の各々の生成アルゴリズムが格納されている。
 特徴量選択機能374は、異常判定処理に用いる特徴量を選択する処理および特徴量の選択を受付ける処理を実行する。
  (2-10-2.解析処理の概略手順)
 図22は、変形例に係る解析処理の概要を視覚的に示す模式図である。図22を参照して、変形例に係る解析処理は、主として、(a)データ入力処理、(b)特徴量生成処理、(c)可視化・ラベル付け処理、(d)特徴量選択処理、(e)しきい値決定処理を含む。
 図22を参照して、制御装置100Aにて収集された状態値の時系列データである生データ46がサポート装置300Aへ提供される((a)データ入力処理)。生データ46は、サンプリングタイミング毎に1または複数の状態値を含む。
 サポート装置300Aは、入力された生データ46を用いて、1または複数の特徴量を生成する((b)特徴量生成)。この特徴量の生成は、解析ツール330Aの特徴量生成機能372を用いて実現される。通常、複数種類の特徴量が生成される。図22に示す例では、特徴量1,2,3,・・・,Nが生成される。
 続いて、サポート装置300Aでは、特徴量の可視化および各サンプリングタイミングの特徴量の組に対するラベル付けが実施される((c)可視化・ラベル付け処理)。変形例に係る(c)可視化・ラベル付け処理は、<2-8.解析処理の概略手順>において説明した(b)可視化・ラベル付け処理と同じである。
 続いて、収集された状態値から生成される複数の特徴量のうち、異常判定に用いる1または複数の特徴量を選択する((d)特徴量選択)。図22に示す例では、特徴量1,2,k,nの4つが選択されている。
 次に、「正常」のラベル付けがされ、かつ選択された特徴量の組に基づいて更新用の学習データセット51が生成される。さらに、当該学習データセット51と各サンプリングタイミングの選択された特徴量の組とに基づいて、各サンプリングタイミングにおけるスコアが算出される。そして、算出されたスコアを参照して、異常と判定するためのしきい値が決定される((e)しきい値決定)。
 以上のような手順によって、更新用の学習データセット51、判定基準情報52(しきい値を示す情報)および特徴量指定情報53が生成される。生成された更新用の学習データセット51、判定基準情報52および特徴量指定情報53は、サポート装置300Aから制御装置100Aへ提供される。制御装置100Aは、現在設定されている学習データセット、判定基準情報および特徴量指定情報の内容を更新用の学習データセット51、判定基準情報52および特徴量指定情報53の内容に更新する。
  (2-10-3.サポート装置の処理手順例)
 図23は、変形例に係るサポート装置の処理手順を示すフローチャートである。図23に示すフローチャートは、図17に示すフローチャートと比較して、ステップS30,S32をさらに含むとともに、ステップS4,S8,S12およびS14の代わりにステップS104,S108,S112およびS114をそれぞれ含む点で相違する。
 図23を参照して、サポート装置300Aは、フィールドエンジニアの操作に応じて解析ツール330Aを起動させると(ステップS2)、解析ツール330Aに生データ46を読込ませる(ステップS104)。
 続いて、解析ツール330Aは、読込んだ生データ46に対するデータクレンジングを実行する(ステップS30)。データクレンジングは、生データ46に含まれる不要なデータを削除する処理である。例えば、生データ46に含まれる時系列データのうち、分散がゼロである状態値(すなわち、何ら変動していない状態値)を削除する。データクレンジングの処理は、解析ツール330Aが自動的に実行してもよいし、解析ツール330Aが削除対象の状態値の候補を提示し、フィールドエンジニアが明示的に削除対象を選択するようにしてもよい。
 さらに、可視化された状態値などを参照して、フィールドエンジニアが不要または不正なデータであると判定した状態値を手動で削除できるようにしてもよい。すなわち、サポート装置300は、生データ46のうち特徴量の生成から除外すべき状態値の選択を受付ける。
 その後、解析ツール330Aは、データクレンジング後の生データ46に含まれる状態値に基づいて、1または複数の特徴量を生成する(ステップS32)。より具体的には、解析ツール330Aの特徴量生成機能372が、生データ46から複数の特徴量を生成する。ステップS32においては、可能な限り多くの種類の特徴量が生成されるようにしてもよい(図22の(b)特徴量生成に対応)。
 続いて、解析ツール330Aは、フィールドエンジニアの選択操作に応じて特徴量の変化を可視化し、フィールドエンジニアの操作に応じて、可視化された特徴量の変化に対して正常および/または異常のラベル付けを行なう(ステップS6)(図22の(c)可視化・ラベル付け処理に対応)。ステップS6については、<2-9.サポート装置の処理手順例)で説明したため、ここでは詳細な説明を省略する。
 次に、解析ツール330Aは、フィールドエンジニアの操作に従って、異常判定に用いる特徴量としきい値とを決定する(ステップS108)。ステップS108の処理は、図22に示す(d)特徴量選択処理および(e)しきい値決定処理に対応する。
 図24は、図23のステップS108において、サポート装置300Aがフィールドエンジニアに提供するユーザインターフェイス画面の一例を示す模式図である。図24を参照して、ユーザインターフェイス画面520Aは、主として、異常判定処理に用いる1または複数の特徴量の選択を受付けるとともに、異常判定処理に用いるしきい値の選択を受付ける。
 より具体的には、ユーザインターフェイス画面520Aは、特徴量に対する選択受付エリア522と、グラフ表示エリア526とを含む。
 選択受付エリア522は、生成された複数の特徴量のうち、異常判定処理に用いられる1または複数の特徴量の選択を受付けるユーザインターフェイスに相当する。より具体的には、選択受付エリア522には、生成された特徴量の内容を示すリストが表示されており、フィールドエンジニアは、表示されたリスト上で任意の特徴量に対応するチェックボックス524をチェックすることで、異常判定処理に用いられる特徴量を選択する。
 選択受付エリア522に表示される特徴量は、解析ツール330Aの特徴量選択機能374(図21参照)によって解析された結果に基づいて、重要度が高いと推定されるものがより上位になるようにリストされていてもよい。すなわち、選択受付エリア522には、後述するような手順で決定されたランクに従って、生成された複数の特徴量の表示順序が決定されてもよい。
 また、初期の選択受付エリア522には、特徴量選択機能374によって予め選択された特徴量が、デフォルトとして選択されていてもよい。すなわち、選択受付エリア522においては、決定されたランクに従って、生成された複数の特徴量のうち予め定められた数の特徴量が選択された状態で表示されてもよい。図24には、2つの特徴量が選択されている状態を示す。
 グラフ表示エリア526の詳細については、図19を参照して上述した通りであるため、詳細な説明を省略する。なお、グラフ表示エリア526に表示されるグラフ528は、選択受付エリア522のチェックボックス524に対するチェックによって選択された1または複数の特徴量に基づいて算出されたスコアの変化を示す。
 ユーザインターフェイス画面520Aの更新データ生成ボタン538が操作されると(ステップS10においてYES)、解析ツール330Aは、当該時点において設定されている内容に従って、更新用の学習データセット51、判定基準情報52および特徴量指定情報53を生成する(ステップS112)。すなわち、解析ツール330Aは、図24に示すチェックボックス524に対するチェックによって選択された1または複数の特徴量を指定するための特徴量指定情報53を生成する。さらに、解析ツール330Aは、「正常」のラベルが付与された各サンプリングタイミングの特徴量のうち特徴量指定情報53で指定される特徴量を学習データとする更新用の学習データセット51を生成する。さらに、解析ツール330Aは、調整されたしきい値を示す更新用の判定基準情報52を生成する。
 そして、サポート装置300Aから制御装置100Aに対して、ステップS112において生成された更新用の学習データセット51、判定基準情報52および特徴量指定情報53が送信され(ステップS114)、制御装置100Aに設定されている学習データセット41、判定基準情報42および特徴量指定情報43が更新される。
  (2-10-4.特徴量の重要度の算出およびランク付け)
 図25は、変形例に係るサポート装置の解析ツールが実行する特徴量の重要度を評価する処理を説明するための模式図である。図25を参照して、解析ツール330Aの特徴量選択機能374は、各特徴量の重要度を複数の手法でそれぞれ算出する。図25には、一例として、尖度、ロジスティック回帰、決定木の3つの手法でそれぞれ評価する例を示す。
 評価値コラム702に格納される尖度は、対象の特徴量700のデータ系列についての頻度分布の鋭さを評価した値である。尖度が大きいほど、頻度分布のピークが鋭く、分布の裾が広いことを示す。異常検知に用いる統計量としては、尖度が大きいほど有益、すなわち重要であるとみなすことができる。
 また、対象の特徴量のデータ系列についての頻度分布の標準偏差を評価値として用いてもよい。この場合、標準偏差が大きいほど、特徴量に変化があり異常検知の能力が高い(すなわち、重要である)と判定できる。
 評価値コラム704に格納されるロジスティック回帰は、任意のロジスティック関数を対象の特徴量のデータ系列に適用して、尤度を最大化するロジスティック関数を規定するパラメータを探索する。最終的に探索されたパラメータに対応する尤度を重要度とみなす。すなわち、任意のロジスティック関数でより精度の高い推定ができる特徴量ほど、優先度が高いとみなすことができる。
 典型的には、ロジスティック回帰は、特徴量毎にパラメータの探索および尤度の算出を行うことができる。
 評価値コラム706に格納される決定木は、対象の特徴量のデータ系列に対して分類木を適用し、その分類能力を重要度として用いるものである。決定木のアルゴリズムとしては、CART、C4.5、ID3などが知られており、いずれのアルゴリズムを用いてもよい。
 このように、典型例としては、重要度は、少なくとも、特徴量のデータ系列についての尖度、特徴量のデータ系列に対してロジスティック回帰の実行によって得られる尤度、決定木のアルゴリズムに従って算出される重要度を含む。
 以上のように、各特徴量について重要度を示す値を複数の手法でそれぞれ算出し、それぞれの結果を統合した結果が評価値コラム708に格納される。評価値コラム708に格納される各評価値に基づいて、それぞれの特徴量に対するランク付けがなされる(ランクコラム710)。
 <2-11.付記>
 以上のように、本実施の形態は以下のような開示を含む。
 (構成1)
 制御対象から周期的に収集される状態値を用いて、前記制御対象を制御するための制御演算を実行する制御演算部(10)と、
 前記収集される状態値のうち監視対象に関連する状態値から生成される特徴量と予め設定された学習データセット(101)との比較結果を示すスコアを算出し、算出したスコアと予め設定された判定基準(102)とに基づいて、前記監視対象の異常の有無を判定する異常判定部(20)とを備え、
 前記異常判定部(20)は、前記制御対象を制御するためのユーザプログラム(130)内に命令が規定されることにより実現され、
 外部から更新用の学習データセット(301)および更新用の判定基準(302)を受けて、現在設定されている学習データセット(101)および判定基準(102)をそれぞれ更新する更新部(30)をさらに備える、制御装置(100,100A)。
 (構成2)
 前記生成される特徴量は、監視対象毎に予め定められており、
 前記生成される特徴量に応じて学習データセット(101)および判定基準(102)が設定される、構成1に記載の制御装置(100,100A)。
 (構成3)
 前記異常判定部(20)は、前記ユーザプログラム(130)内にファンクションブロック(282)の形で命令が規定されることにより実現される、構成1に記載の制御装置(100,100A)。
 (構成4)
 監視対象毎に前記ファンクションブロック(282)と仮の学習データセット(101)と仮の判定基準(102)とが対応付けて予め作成されており、
 前記ファンクションブロック(282)が規定されることにより、当該ファンクションブロック(282)に対応する仮の学習データセット(101)および仮の判定基準(102)が設定される、構成3に記載の制御装置(100,100A)。
 (構成5)
 前記異常判定部(20)は、状態値の種類および特徴量の種類を指定する指定情報(103)に従って、前記特徴量を生成し、
 前記更新部(30)は、外部から更新用の指定情報(303)を受けて、現在設定されている指定情報(103)を更新する、構成1に記載の制御装置(100A)。
 (構成6)
 制御システム(1)であって、
 制御対象から周期的に収集される状態値を用いて、当該制御対象を制御するための制御演算を実行する制御演算部(10)と、
 前記収集される状態値のうち監視対象に関連する状態値から生成される特徴量と予め設定された学習データセット(101)との比較結果を示すスコアを算出し、算出したスコアと予め設定された判定基準(102)とに基づいて、前記監視対象の異常の有無を判定する異常判定部(20)とを備え、
 前記異常判定部(20)は、前記制御対象を制御するためのユーザプログラム(130)内に規定されることにより実現され、
 前記制御システム(1)は、さらに、
 前記監視対象に関連する状態値または前記生成される特徴量を用いて、更新用の学習データセット(301)と更新用の判定基準(302)とを決定する決定部(330,330A)と、
 前記更新用の学習データセット(301)および前記更新用の判定基準(302)を受けて、現在設定されている学習データセット(101)および判定基準(102)をそれぞれ更新する更新部(30)とを備える、制御システム(10)。
 (構成7)
 前記ユーザプログラム(130)を作成するプログラム作成部(200)をさらに備え、
 前記プログラム作成部(200)は、
  前記異常判定部(20)を実現するための命令を規定するファンクションブロック(282)を用いて前記ユーザプログラム(130)を作成し、
  前記ファンクションブロック(282)に対応付けられた仮の学習データセット(101)および仮の判定基準(102)を設定する、構成6に記載の制御システム(1)。
 本発明の実施の形態について説明したが、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
 1 制御システム、2,3 フィールドネットワーク、4 設計者、5 フィールドエンジニア、6 上位ネットワーク、8 光学記録媒体、10 制御演算部、16,124 I/Oユニット、18 報知装置、20 異常判定部、30,30A 更新部、41,41a,41b,51 学習データセット、42,42a,42b,52 判定基準情報、43,43a,43b,53 特徴量指定情報、45 特徴量データ、46 生データ、100,100A 制御装置、102,302 プロセッサ、104 チップセット、106 主メモリ、108 ストレージ、110 上位ネットワークコントローラ、112,312 USBコントローラ、114 メモリカードインターフェイス、116 メモリカード、118,120 フィールドバスコントローラ、122 内部バスコントローラ、130 ユーザプログラム、132 制御演算命令、134 特徴量生成命令、135,135A 書込命令、136 スコア算出命令、137 判定命令、140 時系列データベース、150 システムプログラム、200 設計ツール装置、201 記憶部、203 操作部、206 RAM、210 キーボード、212 マウス、214 ディスプレイ、216 光学記録媒体読取装置、218 通信インターフェイス、220,320 内部バス、250 プログラミングアプリケーション、252 エディタ、254 コンパイラ、256 デバッガ、258 GUIモジュール、260 シミュレータ、270 データ格納部、280 ファンクションブロックライブラリ、282,282a,282b ファンクションブロック、290 付属データ記憶部、292,292a,292b 付属データ、300,300A サポート装置、304 光学ドライブ、305 記録媒体、306 主記憶装置、308 二次記憶装置、314 ローカルネットワークコントローラ、316 入力部、318 表示部、324 PLCインターフェイスプログラム、326 解析プログラム、330,330A 解析ツール、332 PLCインターフェイス、340 ユーザインターフェイス、342 スクリプトエンジン、344 設定ファイル、350 ファイル管理モジュール、352 データ入力機能、354 データ生成機能、360 画面生成モジュール、362 折れ線グラフ生成機能、364 パラメータ調整機能、366 グラフライブラリ、370,370A 解析モジュール、372 特徴量生成機能、374 特徴量選択機能、376 パラメータ決定機能、380,380A 解析ライブラリ、382 特徴量生成ライブラリ、384 特徴量選択ライブラリ、386 異常判定エンジン、400 表示装置、500,520,520A ユーザインターフェイス画面、502,522 選択受付エリア、506,526 グラフ表示エリア、508,528 グラフ、510 異常範囲、512 ヒストグラム表示エリア、514 ラベル付与ツール、516 正常ラベル設定ボタン、517 異常ラベル設定ボタン、518 ラベル設定範囲指定ボタン、524 チェックボックス、530,532 数値表示、534 設定スライダ、535 表示バー、536 リセットボタン、538 更新データ生成ボタン、618,628 サーボモータ、619,629 サーボドライバ。

Claims (7)

  1.  制御対象から周期的に収集される状態値を用いて、前記制御対象を制御するための制御演算を実行する制御演算部と、
     前記収集される状態値のうち監視対象に関連する状態値から生成される特徴量と予め設定された学習データセットとの比較結果を示すスコアを算出し、算出したスコアと予め設定された判定基準とに基づいて、前記監視対象の異常の有無を判定する異常判定部とを備え、
     前記異常判定部は、前記制御対象を制御するためのユーザプログラム内に命令が規定されることにより実現され、
     外部から更新用の学習データセットおよび更新用の判定基準を受けて、現在設定されている学習データセットおよび判定基準をそれぞれ更新する更新部をさらに備える、制御装置。
  2.  前記生成される特徴量は、監視対象毎に予め定められており、
     前記生成される特徴量に応じて学習データセットおよび判定基準が設定される、請求項1に記載の制御装置。
  3.  前記異常判定部は、前記ユーザプログラム内にファンクションブロックの形で命令が規定されることにより実現される、請求項1に記載の制御装置。
  4.  監視対象毎に前記ファンクションブロックと仮の学習データセットと仮の判定基準とが対応付けて予め作成されており、
     前記ファンクションブロックが規定されることにより、当該ファンクションブロックに対応する仮の学習データセットおよび仮の判定基準が設定される、請求項3に記載の制御装置。
  5.  前記異常判定部は、状態値の種類および特徴量の種類を指定する指定情報に従って、前記特徴量を生成し、
     前記更新部は、外部から更新用の指定情報を受けて、現在設定されている指定情報を更新する、請求項1に記載の制御装置。
  6.  制御システムであって、
     制御対象から周期的に収集される状態値を用いて、当該制御対象を制御するための制御演算を実行する制御演算部と、
     前記収集される状態値のうち監視対象に関連する状態値から生成される特徴量と予め設定された学習データセットとの比較結果を示すスコアを算出し、算出したスコアと予め設定された判定基準とに基づいて、前記監視対象の異常の有無を判定する異常判定部とを備え、
     前記異常判定部は、前記制御対象を制御するためのユーザプログラム内に規定されることにより実現され、
     前記制御システムは、さらに、
     前記監視対象に関連する状態値または前記生成される特徴量を用いて、更新用の学習データセットと更新用の判定基準とを決定する決定部と、
     前記更新用の学習データセットおよび前記更新用の判定基準を受けて、現在設定されている学習データセットおよび判定基準をそれぞれ更新する更新部とを備える、制御システム。
  7.  前記ユーザプログラムを作成するプログラム作成部をさらに備え、
     前記プログラム作成部は、
      前記異常判定部を実現するための命令を規定するファンクションブロックを用いて前記ユーザプログラムを作成し、
      前記ファンクションブロックに対応付けられた仮の学習データセットおよび仮の判定基準を設定する、請求項6に記載の制御システム。
PCT/JP2019/036496 2018-09-20 2019-09-18 制御装置および制御システム WO2020059736A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018175608A JP7151312B2 (ja) 2018-09-20 2018-09-20 制御システム
JP2018-175608 2018-09-20

Publications (1)

Publication Number Publication Date
WO2020059736A1 true WO2020059736A1 (ja) 2020-03-26

Family

ID=69887222

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/036496 WO2020059736A1 (ja) 2018-09-20 2019-09-18 制御装置および制御システム

Country Status (2)

Country Link
JP (1) JP7151312B2 (ja)
WO (1) WO2020059736A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7347468B2 (ja) * 2021-03-26 2023-09-20 横河電機株式会社 装置、方法およびプログラム
JP2023051402A (ja) * 2021-09-30 2023-04-11 オムロン株式会社 制御システム、情報処理方法および情報処理装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006072680A (ja) * 2004-09-02 2006-03-16 Yokogawa Electric Corp 統合システム、システム統合方法およびシステム統合のためのプログラム
WO2014207789A1 (ja) * 2013-06-24 2014-12-31 株式会社 日立製作所 状態監視装置
JP2015018389A (ja) * 2013-07-10 2015-01-29 株式会社日立パワーソリューションズ 異常予兆診断装置及び異常予兆診断方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101542509A (zh) 2005-10-18 2009-09-23 霍尼韦尔国际公司 用于早期事件检测的系统、方法和计算机程序

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006072680A (ja) * 2004-09-02 2006-03-16 Yokogawa Electric Corp 統合システム、システム統合方法およびシステム統合のためのプログラム
WO2014207789A1 (ja) * 2013-06-24 2014-12-31 株式会社 日立製作所 状態監視装置
JP2015018389A (ja) * 2013-07-10 2015-01-29 株式会社日立パワーソリューションズ 異常予兆診断装置及び異常予兆診断方法

Also Published As

Publication number Publication date
JP2020047016A (ja) 2020-03-26
JP7151312B2 (ja) 2022-10-12

Similar Documents

Publication Publication Date Title
US11163277B2 (en) Abnormality detection system, support device, and model generation method
US10591886B2 (en) Control system, control program, and control method for device switching responsive to abnormality detection
US20190301979A1 (en) Abnormality detection system, support device, and abnormality detection method
US11009847B2 (en) Controller, control program, and control method
US10503146B2 (en) Control system, control device, and control method
JP6965798B2 (ja) 制御システムおよび制御方法
US10915419B2 (en) Industrial control system, and assistance apparatus, control assist method, and program thereof
US20180284733A1 (en) Controller, control program, control system, and control method
JP6476594B2 (ja) シミュレーションシステム
WO2020129545A1 (ja) 制御装置およびプログラム
WO2020059736A1 (ja) 制御装置および制御システム
WO2022030041A1 (ja) 予測システム、情報処理装置および情報処理プログラム
WO2020085077A1 (ja) 制御装置および制御プログラム
JP7102801B2 (ja) 制御システム、制御装置および表示装置
JP7413742B2 (ja) 予測システム、情報処理装置および情報処理プログラム
US9766871B2 (en) Method and apparatus for operating a processing and/or production installation
WO2022176375A1 (ja) 予測システム、情報処理装置および情報処理プログラム
WO2023053511A1 (ja) 制御システム、情報処理方法および情報処理装置
WO2022181007A1 (ja) 情報処理装置、情報処理プログラムおよび情報処理方法
JP7055260B1 (ja) 状態検知システム、状態検知方法および状態検知プログラム
WO2023281732A1 (ja) 分析装置
JP2023151886A (ja) 情報処理装置および情報処理プログラム
JP2023002081A (ja) 予測システム、情報処理装置および情報処理プログラム
JP2023151722A (ja) 情報処理システム、情報処理方法および情報処理装置
JP2022117730A (ja) 情報処理装置、制御システムおよびレポート出力方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19861934

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19861934

Country of ref document: EP

Kind code of ref document: A1