Device, method, and program for selecting recovery processing

JP2025001338AActive Publication Date: 2025-01-08YOKOGAWA ELECTRIC CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2023100857
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-06-20
Publication Date
2025-01-08
Estimated Expiration
2043-06-20

Smart Images

  • Figure 2025001338000001_ABST
    Figure 2025001338000001_ABST
Patent Text Reader

Abstract

To provide a device, method, and program for selecting recovery processing.SOLUTION: A device is provided, including a first recovery processing part for executing first recovery processing for determining recovery operation for normally recovering equipment from abnormality on the basis of a simulation result using a simulator, a second recovery processing part for executing second recovery processing for searching the recovery operation by trial operation using an actual machine, and a recovery processing selection part for selecting recovery processing in the first recovery processing and the second recovery processing according to previously determined rule in the case where abnormality occurs in the equipment.SELECTED DRAWING: Figure 15
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an apparatus, a method, and a program for selecting a recovery process. [Background technology]

[0002] Patent Document 1 states that "a plant operation device is obtained that can identify the cause of an abnormality in a plant and can automatically perform recovery operations from an abnormal state without the intervention of an operator." [Prior art document] [Patent documents] [Patent Document 1] JP 2014-229109 A Summary of the Invention

[0003] In a first aspect of the present invention, there is provided an apparatus for controlling execution of a recovery process, the apparatus including: a first recovery processing unit that executes a first recovery process for determining a recovery operation for recovering equipment from an abnormality to normal based on a simulation result using a simulator, a second recovery processing unit that executes a second recovery process for searching for the recovery operation through a trial operation using an actual machine, and a recovery process selection unit that selects a recovery process to be executed from the first recovery process and the second recovery process according to a predetermined rule when an abnormality occurs in the equipment.

[0004] In the device, the recovery process selection unit may select the other of the first recovery process and the second recovery process when the equipment does not recover from an abnormality to normal within predetermined conditions while selecting one of the first recovery process and the second recovery process.

[0005] In any of the devices, the return process selection unit may select the other return process when the number of times the control object is controlled while one of the return processes is selected exceeds a predetermined threshold.

[0006] In any of the devices, the restoration process selection unit may select the other restoration process when an elapsed time during selection of one of the restoration processes exceeds a predetermined threshold.

[0007] Any of the devices may further include a priority storage unit that stores a first priority for prioritizing the first return process and a second priority for prioritizing the second return process, and the return process selection unit may select the return process to be executed in accordance with the first priority and the second priority.

[0008] In any of the devices, the recovery process selection unit may increase the first priority when the equipment recovers from an abnormality to normal while the first recovery process is selected, and may increase the second priority when the equipment recovers from an abnormality to normal while the second recovery process is selected.

[0009] In any of the devices, the recovery process selection unit may lower the first priority when the equipment does not recover from the abnormality while the first recovery process is selected, and may lower the second priority when the equipment does not recover from the abnormality while the second recovery process is selected.

[0010] In any of the devices, the restoration process selection section may select both the first restoration process and the second restoration process over at least a portion of a period.

[0011] In any of the above devices, the second return processing unit may execute the second return process during execution of a simulation in the first return process.

[0012] Any of the devices may further include an alarm unit that notifies the user that the equipment cannot be automatically restored if the equipment does not return to normal from the abnormality by either the first return process or the second return process.

[0013] Any one of the devices may further include a user input unit that, when it is notified that the equipment cannot be automatically restored, receives input of the restoration operation by a user.

[0014] In a second aspect of the present invention, there is provided a method for controlling execution of a recovery process, the method comprising the steps of: executing, by a computer, a first recovery process for determining a recovery operation for recovering equipment from an abnormality to normal based on a simulation result using a simulator; executing a second recovery process for searching for the recovery operation by a trial operation using an actual machine; and selecting, in the event of an abnormality occurring in the equipment, one of the first recovery process and the second recovery process to be executed according to a predetermined rule.

[0015] In a third aspect of the present invention, there is provided a program for controlling execution of a recovery process. The program is executed by a computer and causes the computer to function as a first recovery processing unit that executes a first recovery process that determines a recovery operation for recovering equipment from an abnormality to normal based on a simulation result using a simulator, a second recovery processing unit that executes a second recovery process that searches for the recovery operation through a trial operation using an actual machine, and a recovery process selection unit that selects a recovery process to be executed from the first recovery process or the second recovery process according to a predetermined rule when an abnormality occurs in the equipment.

[0016] The above summary of the invention does not list all of the features of the present invention. Also, subcombinations of these features may also be inventions. [Brief description of the drawings]

[0017] [Figure 1] 1 shows an example in a block diagram of a control system 1 in which an apparatus 100 according to a first embodiment may be included. [Diagram 2] 1 shows a first example of determining target data. [Diagram 3] A second example of determining target data is shown. [Figure 4] 1 shows an example in a flow diagram of a method that may be performed by the device 100 according to the first embodiment. [Diagram 5] 2 shows another example of a block diagram of a control system 1 in which the device 100 according to the first embodiment may be included. [Figure 6] 1 shows an example of a block diagram of a control system 1 in which an apparatus 100 according to a modification of the first embodiment may be included. [Figure 7] 1 shows an example of a flow diagram of a method that may be executed by the device 100 according to a variant of the first embodiment. [Figure 8] FIG. 13 shows another example of a block diagram of a control system 1 in which the device 100 according to the modification of the first embodiment may be included. [Figure 9] 1 shows an example of a block diagram of a control system 1 in which an apparatus 1000 according to a second embodiment may be included. [Figure 10] 10 shows an example in a flow diagram of a method that may be performed by the device 1000 according to the second embodiment. [Figure 11] FIG. 13 shows another example of a block diagram of a control system 1 in which the device 1000 according to the second embodiment may be included. [Figure 12] FIG. 10 shows an example of a block diagram of a control system 1 that may include an apparatus 1000 according to a modification of the second embodiment. [Figure 13] 10 shows an example of a flow diagram of a method that may be executed by the device 1000 according to a variation of the second embodiment. [Figure 14] FIG. 13 shows another example of a block diagram of a control system 1 that may include an apparatus 1000 according to a modified example of the second embodiment. [Figure 15] 15 shows an example of a block diagram of an apparatus 1500 according to a third embodiment. [Figure 16] 15 shows an example of a flow diagram of a method that may be performed by the device 1500 according to the third embodiment. [Figure 17] An example of a computer 9900 in which aspects of the present invention may be embodied, in whole or in part, is shown. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0018] The present invention will be described below through embodiments of the invention, but the following embodiments do not limit the scope of the invention according to the claims. Furthermore, not all of the combinations of features described in the embodiments are necessarily essential to the solution of the invention.

[0019] FIG. 1 shows an example of a block diagram of a control system 1 that may include a device 100 according to the first embodiment. These blocks are functionally separated functional blocks and may not necessarily match the actual device configuration. That is, even if one block is shown in this diagram, it does not necessarily have to be composed of one device. Also, even if separate blocks are shown in this diagram, they do not necessarily have to be composed of separate devices. The same applies to the subsequent block diagrams. The control system 1 may include a facility 10, a control device 20, a simulator 30, and a device 100.

[0020] The facility 10 is a device that manufactures a product from raw materials. The facility 10 may be a single device, or may be a composite device that combines multiple devices. The facility 10 may be, for example, an entire plant or factory, or a group of devices in a segment of a plant or factory. Examples of plants include industrial plants such as chemical and bio plants, as well as plants that manage and control wellheads and surrounding areas of gas fields and oil fields, plants that manage and control power generation such as hydroelectric, thermal, and nuclear power, plants that manage and control environmental power generation such as solar and wind power, and plants that manage and control water supply and sewage systems, dams, etc.

[0021] The equipment 10 may be provided with one or more sensors (not shown) capable of measuring various conditions (physical quantities) inside and outside the equipment 10. The sensors may output measured values ​​PV (Process Variables) measuring temperature, pressure, flow rate, etc. at various points of the equipment 10. Status data indicating the status of the equipment 10 may include such measured values ​​PV. The status data may further include manipulated variables MV (Manipulated Variables) indicating the opening and closing degree of a valve, etc. The status data may further include consumption data indicating the amount of energy consumed in the equipment 10 or the amount of raw material consumed, etc. The status data may further include environmental data indicating physical quantities that may act as disturbances in the equipment 10.

[0022] The facility 10 may be provided with a control target 15. In this figure, for convenience of explanation, only one control target 15 is shown, but the facility 10 may be provided with one or a plurality of control targets 15.

[0023] The controlled object 15 is a device to be controlled. The controlled object 15 may be an actuator, such as a valve, heater, motor, fan, or switch, that controls at least one physical quantity, such as the amount, temperature, pressure, flow rate, speed, or pH, of an object related to the process of the facility 10, that is, an operating end, and may execute a given operation according to the operating amount. However, the controlled object 15 is not limited to this. The controlled object 15 may also be a controller that controls the operating end. In other words, the term "control" used in this specification may be broadly interpreted to include indirect control of the operating end via a controller in addition to direct control of the operating end.

[0024] The control device 20 is a device that controls the control target 15. The control device 20 may acquire status data indicating the status of the equipment 10, and control the control target 15 based on the status data. In this case, the control device 20 may control the control target 15 by PID (Proportional Integral Differential) control, or may control the control target 15 by AI (Artificial Intelligence) control.

[0025] The AI ​​control is a control using an operation model generated by machine learning. Such an operation model may be generated by reinforcement learning in which an evaluation index that evaluates the state of the equipment 10 is used as at least a part of the reward. The evaluation index used in such reinforcement learning may be output from an evaluation model that has been machine-learned to output an evaluation index in response to input of state data.

[0026] An abnormality may occur in the equipment 10 under the control of the controlled object 15 by the control device 20. In such a case, it is desirable to automatically restore the equipment 10 by controlling the controlled object 15 according to a restoration operation. However, the equipment 10 may be in various abnormal states depending on various conditions. In order to deal with such cases, it is conceivable to define a restoration operation for each abnormal state in a database or the like. However, it is practically impossible to consider all abnormal states in advance, and such a problem becomes particularly noticeable in complex equipment such as a plant where various conditions affect each other.

[0027] Therefore, the device 100 according to the first embodiment determines a return operation for returning the equipment 10 to normal from an abnormality based on the results of a simulation using the simulator 30. As a result, the device 100 according to the first embodiment can determine an optimal return operation for each abnormal state even when the equipment 10 is in various abnormal states. This will be described in detail.

[0028] The simulator 30 is hardware or software that simulates an operation of the facility 10. The simulator 30 may be designed based on design information of the facility 10. In response to input of state data indicating the state of the facility 10, the simulator 30 may simulate how the state of the facility 10 would stabilize or change if the control target 15 were actually controlled according to each of a plurality of candidate operations. The simulator 30 may then output state data resulting from the simulation as simulation data for each of the plurality of candidate operations.

[0029] The device 100 cooperates with the simulator 30 to determine a recovery operation for recovering the equipment 10 from an abnormality to normal. The device 100 may include a state data acquisition unit 110, a detection unit 120, a target data determination unit 130, a simulation data acquisition unit 140, a recovery operation determination unit 150, and a warning unit 190.

[0030] The status data acquisition unit 110 acquires status data indicating the status of the equipment 10. The status data acquisition unit 110 may be provided mainly by a communication interface, and may acquire the status data from the equipment 10 in time series via a network. However, this is not limited to this. The status data acquisition unit 110 may acquire the status data from a device other than the equipment 10, or may acquire the status data via other means other than a network (such as various memory devices or user input). The status data acquisition unit 110 supplies the acquired status data to the detection unit 120.

[0031] The detection unit 120 detects an abnormality of the equipment 10 based on the status data. The detection unit 120 may be provided mainly by executing a program by a CPU or other processor, and may detect an abnormality of the equipment 10 based on the status data acquired by the status data acquisition unit 110. In this case, the detection unit 120 may use a machine learning model that classifies the equipment 10 into a normal state and an abnormal state based on the status data. When it is determined that an abnormality of the equipment 10 has not been detected, the detection unit 120 attaches a normal label to the status data and supplies it to the target data determination unit 130. When it is determined that an abnormality of the equipment 10 has been detected, the detection unit 120 attaches an abnormal label to the status data and supplies it to the target data determination unit 130 and the simulation data acquisition unit 140. In addition, the detection unit 120 notifies the warning unit 190 that an abnormality of the equipment 10 has been detected.

[0032] The target data determination unit 130 determines target data indicating a target state of the equipment 10 for returning the equipment 10 from an abnormality to normal. The target data determination unit 130 may be provided mainly by a CPU, and may determine the target data based on a plurality of state data labeled as normal by the detection unit 120, i.e., a plurality of normal data indicating state data in a normal state. This will be described in detail later. The target data determination unit 130 supplies the determined target data to the return operation determination unit 150.

[0033] The simulated data acquisition unit 140 acquires a plurality of pieces of simulated data simulating the state of the equipment 10 when the control target 15 is controlled according to a plurality of candidate operations in response to inputting abnormality data indicating state data in an abnormal state to the simulator 30. The simulated data acquisition unit 140 may be provided mainly by a communication interface, and may supply the state data labeled with an abnormality by the detection unit 120, i.e., abnormality data indicating state data in an abnormal state, to the simulator 30 via a network. In response to this, the simulator 30 may input the abnormality data and simulate how the state of the equipment 10 changes when the control target 15 is controlled according to a plurality of candidate operations. Then, the simulator 30 may output the simulated state data after the change as simulated data for each of the plurality of candidate operations. The simulated data acquisition unit 140 may acquire the plurality of pieces of simulated data output from the simulator 30 in this way via a network. The simulated data acquisition unit 140 supplies the acquired plurality of pieces of simulated data to the return operation determination unit 150.

[0034] The return operation determination unit 150 determines a return operation for returning the equipment 10 to normal from an abnormality based on a plurality of pieces of simulation data. The return operation determination unit 150 may be provided mainly by a CPU, and may determine the return operation based on the respective distances between the plurality of pieces of simulation data acquired by the simulation data acquisition unit 140 and the target data determined by the target data determination unit 130. The return operation determination unit 150 supplies the determined return operation to the control device 20.

[0035] In response to this, the control device 20 controls the controlled object 15 according to the recovery operation. As a result, the state of the equipment 10 changes, and preferably recovers from the abnormality to a normal state.

[0036] The warning unit 190 issues a warning when the equipment 10 does not return to normal from an abnormality within a predetermined condition even by the determined return operation. The warning unit 190 may be provided mainly by a display device, and may display a warning screen indicating that the equipment 10 does not return to normal from an abnormality within a predetermined condition even by the determined return operation.

[0037] The device 100 having such a functional unit may be a computer such as a PC (personal computer), a tablet computer, a smartphone, a workstation, a server computer, or a general-purpose computer, or may be a computer system to which a plurality of computers are connected. Such a computer system is also a computer in a broad sense. The device 100 may be implemented by one or more virtual computer environments executable within a computer. Alternatively, the device 100 may be a dedicated computer designed to determine a return operation, or may be dedicated hardware realized by a dedicated circuit. In addition, when the device 100 can be connected to the Internet, the device 100 may be realized by cloud computing.

[0038] Such a computer may include a memory for storing a program and a processor for executing the program, and the processor may execute the program to implement the functions of the device 100. That is, a program may be provided that is executed by the computer and causes the computer to function as a state data acquisition unit 110 that acquires state data indicating the state of the equipment 10, a simulated data acquisition unit 140 that acquires a plurality of simulated data simulating the state of the equipment 10 when the control target 15 is controlled according to a plurality of candidate operations in response to inputting abnormality data indicating state data in an abnormal state into the simulator, and a return operation determination unit 150 that determines a return operation for returning the equipment 10 to normal from an abnormality based on the plurality of simulated data. Also, a non-transitory computer-readable medium having such a program recorded thereon may be provided.

[0039] FIG. 2 shows a first example of determining target data. This figure shows a feature space defined by state data. In this figure, a circle (◯) indicates normal data, i.e., state data labeled as normal by the detection unit 120, and a cross (×) indicates abnormal data, i.e., state data labeled as abnormal by the detection unit 120. Reference numeral 210 is a visualization of the decision boundary. The machine learning model that may be used by the detection unit 120 may be tuned by machine learning in this way to determine the boundary for classifying the equipment 10 as normal or abnormal.

[0040] Reference numeral 220 indicates the target abnormal data. When the target abnormal data is supplied from the detection unit 120, the target data determination unit 130 may determine target data indicating a target state of the equipment 10 for returning the equipment 10 from the abnormality to normal. At this time, the target data determination unit 130 may determine the target data based on a plurality of normal data. The target data determination unit 130 can determine such target data using various methods.

[0041] This figure shows an example of a method for determining target data based on statistics of multiple normal data. Reference numeral 230 indicates the center of gravity of multiple normal data. The target data determination unit 130 may calculate the sum of squares of distances from multiple normal data, and define the point at which the sum of squares of distances is minimum as the center of gravity 230. In this case, the target data determination unit 130 may select multiple normal data to be used in the statistical processing according to a predetermined rule. For example, when the target abnormal data is supplied from the detection unit 120, the target data determination unit 130 may select m normal data supplied from the detection unit 120 in order of newest, and use the selected m normal data for the statistical processing.

[0042] The target data determination unit 130 may calculate a vector 240 that points from the target abnormal data 220 to the center of gravity 230 of the multiple normal data. Then, the target data determination unit 130 may determine the intersection 250 of the vector 240 and the decision boundary 210 as the target data. In the above description, the intersection 250 of the vector 240 and the decision boundary 210 is set as the target data as an example, but the target data determination unit 130 may determine the center of gravity 230 itself as the target data, or may determine any point on the vector 240 between the intersection 250 and the center of gravity 230 as the target data. In the above description, the center of gravity is used as a statistical quantity as an example, but the target data determination unit 130 may determine the target data based on other statistical quantities such as the average value, the median value, or the mode value. For example, in this manner, the target data determination unit 130 can determine the target data based on the statistical quantities of multiple normal data.

[0043] Figure 3 shows a second example of determining target data. In this figure, the same reference numerals are used for components having the same functions and configurations as those in Figure 2, and explanations will be omitted except for the differences. In this figure, the numbers in the circles (○) indicate the chronological order of the normal data, with smaller values ​​indicating newer data and larger values ​​indicating older data.

[0044] This figure shows an example of a method for determining target data based on a time series of multiple normal data. Reference numeral 310 indicates the latest normal data among the selected m normal data (m=10 in this figure). The target data determination unit 130 may calculate a vector 320 that points from the target abnormal data 220 to the latest normal data 310. Then, the target data determination unit 130 may determine an intersection 330 between the vector 320 and the decision boundary 210 as the target data. In the above description, the intersection 330 between the vector 320 and the decision boundary 210 is set as the target data, but the target data determination unit 130 may determine the latest normal data 310 itself as the target data, or may determine an arbitrary point between the intersection 330 on the vector 320 and the latest normal data 310 as the target data. The target data determination unit 130 may determine target data based on a time series of multiple normal data in this way, for example.

[0045] Although the method of determining target data based on statistics in a plurality of normal data and the method of determining target data based on a time series in a plurality of normal data have been described as separate methods, the two may be combined. For example, the target data determination unit 130 may calculate a weighted average for a plurality of normal data by setting weights according to the order of the time series so that newer data has a larger contribution and older data has a smaller contribution. Then, the target data determination unit 130 may determine target data based on the weighted average. For example, the target data determination unit 130 may determine target data based on statistics and time series in a plurality of normal data in this way.

[0046] 4 shows an example of a flow diagram of a method that may be executed by the device 100 according to the first embodiment. Each step in this diagram may be executed by the device 100, i.e., a computer. However, each step may be executed by a computer as a whole, and may include a case where a part of the step that is not the main part is executed by something other than a computer.

[0047] In step S400, the computer executes initialization. For example, the computer may initialize a counter that counts the number of times k that the control target 15 has been controlled in accordance with the return operation. That is, the computer may set k=0. The computer may also initialize a timer that measures an elapsed time t in response to detection of an abnormality in the equipment 10. That is, the computer may set t=0.

[0048] In step S410, the computer acquires status data indicating the status of the equipment 10. For example, the status data acquisition unit 110, which may be implemented in the computer, may acquire status data S indicating the status of the equipment 10 from the equipment 10 in time series via a network. As an example, when k=0, the status data acquisition unit 110 may acquire status data S0. The status data acquisition unit 110 supplies the acquired status data S to the detection unit 120.

[0049] In step S420, the computer determines whether or not an abnormality in the equipment 10 has been detected based on the status data. For example, the detection unit 120, which may be implemented in the computer, may determine whether or not an abnormality in the equipment 10 has been detected based on the status data S acquired in step S410. As an example, when k=0, the detection unit 120 may determine whether or not an abnormality in the equipment 10 has been detected based on the status data S0. At this time, the detection unit 120 may use a machine learning model that classifies the equipment 10 into a normal state and an abnormal state based on the status data S, as described above.

[0050] When the machine learning model classifies the equipment 10 as being in a normal state in response to the input of the status data S, the detection unit 120 may determine that an abnormality in the equipment 10 has not been detected (No). In this case, the detection unit 120 assigns a normal label n to the status data S and supplies it to the target data determination unit 130. Then, the computer returns the process to step S400 and continues the flow.

[0051] On the other hand, when the machine learning model classifies the equipment 10 into an abnormal state in response to the input of the status data S, the detection unit 120 may determine that an abnormality in the equipment has been detected (Yes). In this case, the detection unit 120 attaches an abnormality label a to the status data S and supplies it to the target data determination unit 130 and the simulation data acquisition unit 140. The detection unit 120 also notifies the warning unit 190 that an abnormality in the equipment 10 has been detected. Then, the computer proceeds to the process at step S430.

[0052] In step S430, the computer determines whether or not the predetermined condition is satisfied. For example, the warning unit 190 that may be implemented in the computer may determine whether or not the number of times k is within a predetermined threshold K (where K is an integer of 1 or 2 or more). The warning unit 190 may also determine whether or not the elapsed time t is within a predetermined threshold T. However, this is not limited to this. Various conditions for canceling, mid-stage, or terminating the determination of the return operation may be predefined. If it is determined that the predetermined condition is satisfied (Yes), the computer advances the process to step S440.

[0053] In step S440, the computer determines whether or not the return process is being executed. For example, the computer may determine whether or not the number of times k is 0. If k=0, the computer may determine that the return process is not being executed (No). If it is determined that the return process is not being executed, the computer proceeds to step S445. On the other hand, if k≠0, the computer may determine that the return process is being executed (Yes). If it is determined that the return process is being executed, the computer proceeds to step S460.

[0054] In step S445, the computer starts a timer that measures the elapsed time t corresponding to the detection of the abnormality of the equipment 10. Here, the computer may start the timer from a specific start point that is determined in advance in response to the detection of the abnormality of the equipment 10. For example, the computer may measure the elapsed time t from the detection of the abnormality of the equipment 10 by starting the timer at the timing when the abnormality of the equipment 10 is detected (after YES in S420). Alternatively, the computer may measure the elapsed time t from the determination or execution of the first recovery operation after the abnormality of the equipment 10 is detected (S480). The computer may use another start point that can measure the time required for the equipment 10 to recover from the abnormality. Then, the computer proceeds to step S450.

[0055] In step S450, the computer determines target data indicating a target state of the equipment 10 for returning the equipment 10 from an abnormality to normal. For example, the target data determination unit 130 that may be implemented in a computer may determine the target data St based on the state data S to which the normal label n has been attached in step S420, i.e., the normal data Sn indicating the state data S in a normal state.

[0056] At this time, the target data determination unit 130 may determine the target data St based on a plurality of normal data Sn1, Sn2, ..., Snm indicating the status data S in a normal state. Here, the normal data Sn1, Sn2, ..., Snm are m pieces of normal data Sn selected in order of newness before the time point when the abnormality of the equipment 10 was detected. m indicates the order of the normal data Sn in time series, with a smaller value indicating newer data and a larger value indicating older data.

[0057] At this time, the target data determination unit 130 may determine the target data St based on the statistics of the plurality of normal data Sn1, Sn2, ..., Snm, for example, using the method of Fig. 2. The target data determination unit 130 may also determine the target data St based on the time series of the plurality of normal data Sn1, Sn2, ..., Snm, for example, using the method of Fig. 3. The target data determination unit 130 may also determine the target data St based on the statistics and time series of the plurality of normal data Sn1, Sn2, ..., Snm, for example, by combining the method of Fig. 2 and the method of Fig. 3. The target data determination unit 130 supplies the determined target data St to the return operation determination unit 150.

[0058] In step S460, the computer acquires a plurality of pieces of simulation data simulating the state of the equipment 10 when the control target 15 is controlled according to each of a plurality of candidate operations in response to inputting the abnormality data indicating the state data in an abnormal state to the simulator 30. For example, the simulation data acquisition unit 140 that may be implemented in the computer may supply the state data S to which the abnormality label a has been added in step S420, i.e., the abnormality data Sa indicating the state data S in an abnormal state, to the simulator 30 via a network.

[0059] Here, a plurality of candidate operations Ac1, Ac2, ..., Acn may be predefined in the simulator 30. However, this is not limited to this. The plurality of candidate operations Ac1, Ac2, ..., Acn may be defined by the device 100. In this case, the simulation data acquiring unit 140 may supply the plurality of candidate operations Ac1, Ac2, ..., Acn to the simulator 30 together with the abnormal data Sa.

[0060] The simulator 30 may simulate how the equipment 10 changes when the equipment 10 controls the control target 15 according to the candidate operation Ac1 in a state indicated by the abnormal data Sa, and output simulated data Si1 indicating the state data after the simulated change. Similarly, the simulator 30 may simulate how the equipment 10 changes when the equipment 10 controls the control target 15 according to the candidate operation Ac2 in a state indicated by the abnormal data Sa, and output simulated data Si2 indicating the state data after the simulated change. The simulator 30 may repeatedly execute the same process n times up to the candidate operation Acn. As a result, the simulator 30 may output a plurality of simulated data Si1, Si2, ..., Sin. Then, the simulated data acquisition unit 140 may acquire the plurality of simulated data Si1, Si2, ..., Sin output from the simulator 30 via a network. The simulation data acquisition unit 140 supplies the acquired plurality of pieces of simulation data Si1, Si2, . . . , Sin to the return operation determination unit 150.

[0061] In step S480, the computer determines a return operation for returning the equipment 10 to normal from the abnormality based on the plurality of simulation data. For example, the return operation determination unit 150, which may be implemented in the computer, may determine the return operation Ar based on the plurality of simulation data Si1, Si2, ..., Sin acquired in step S460. In this case, the return operation determination unit 150 may determine the return operation based on each distance D between the plurality of simulation data Si1, Si2, ..., Sin acquired in step S460 and the target data St determined in step S450.

[0062] As an example, the return operation determination unit 150 may calculate a distance D1 between the simulated data Si1 and the target data St. In this case, the return operation determination unit 150 may calculate at least one of the Euclidean distance, the Manhattan distance, the Chebyshev distance, and the Mahalanobis distance. Similarly, the return operation determination unit 150 may calculate a distance D2 between the simulated data Si2 and the target data St. The return operation determination unit 150 may repeatedly execute the same process n times up to the simulated data Sin. In this way, the return operation determination unit 150 may calculate the distances D1, D2, ..., Dn, respectively.

[0063] Then, the returning operation determination unit 150 may determine the candidate operation Ac that has resulted in the smallest distance Dmin among the calculated distances D1, D2, ..., Dn, as the returning operation. For example, it is assumed that the distance D2 is the smallest among the distances D1, D2, ..., Dn. Here, the distance D2 is calculated using the simulation data Si2. In this case, the returning operation determination unit 150 may determine the candidate operation Ac2 that has resulted in the simulation data Si2, as the returning operation Ar.

[0064] The return operation determination unit 150 supplies the return operation Ar determined in this manner, for example, to the control device 20. In response to this, the control device 20 controls the control target 15 according to the return operation Ar by executing the return operation Ar. As a result, the state of the equipment 10 changes. Then, the computer advances the process to step S485.

[0065] In step S485, the computer executes an increment process. For example, the computer may set k=k+1. As an example, when k=0, the computer may set k=1. Then, the computer returns the process to step S410 to continue the flow.

[0066] That is, the computer may again acquire the status data S after the control target 15 is controlled according to the return operation Ar, and may again determine whether or not an abnormality in the equipment 10 has been detected. As an example, when k=1, the status data acquisition unit 110 may acquire the status data S1, and the detection unit 120 may determine whether or not an abnormality in the equipment 10 has been detected based on the status data S1. Then, the computer may repeatedly execute the return process until the abnormality in the equipment 10 is no longer detected in step S420, or until a predetermined condition is exceeded in step S430. That is, the computer may repeatedly attempt to return from the abnormality to normal by determining a new return operation Ar and supplying it to the control device 20.

[0067] During execution of such a return process, if the number of times k exceeds the threshold value K or the elapsed time t exceeds the threshold value T in step S430, the warning unit 190 may determine that the predetermined condition is not met (No). In this case, the computer advances the process to step S490.

[0068] In step S490, the computer issues a warning when the equipment 10 does not return to normal from the abnormality within a predetermined condition. For example, the warning unit 190, which may be implemented in the computer, may display a warning screen indicating that the number of times k exceeds a threshold K, or that the elapsed time t from when the timer is started in S445 in response to the detection of an abnormality in the equipment 10 exceeds a threshold T. At this time, the warning unit 190 may display the execution history of the return process on the screen. As an example, the warning unit 190 may display the return operation Ar and the transition of the state data S on the screen using a graph or the like. The warning unit 190 may issue a warning, for example, when the number of times (e.g., k) the control target 15 is controlled in accordance with the return operation in this way exceeds a predetermined threshold (e.g., K). The warning unit 190 may also issue a warning when the elapsed time (e.g., t) until the equipment 10 returns to normal in response to the detection of an abnormality in the equipment 10 exceeds a predetermined threshold (e.g., T).

[0069] In this way, a method may be provided in which the computer acquires status data indicating the status of the equipment 10, acquires a plurality of simulated data simulating the state of the equipment 10 when the control object 15 is respectively controlled according to a plurality of candidate operations in response to inputting abnormality data indicating the status data during an abnormality into the simulator 30, and determines a return operation for returning the equipment 10 to normal from the abnormality based on the plurality of simulated data.

[0070] In the above description, a case where the computer advances the process to step S460 when it is determined in step S440 that the return process is being executed (Yes) has been shown as an example. That is, a case where the computer determines the target data only when k=0, and does not update the target data when k≠0 has been shown as an example. However, when it is determined in step S440 that the return process is being executed, the computer may advance the process to step S450. That is, the computer may newly determine the target data and update the target data every time k is incremented.

[0071] Conventionally, the content of the restoration operation for an abnormal state has been determined by referring to a restoration operation determination database in which the content of the restoration operation for an abnormal state is predefined. However, it is practically impossible to consider various abnormal states in advance, and such a problem is particularly prominent in complex facilities such as plants where various conditions affect each other.

[0072] In contrast, the device 100 according to the first embodiment acquires a plurality of pieces of simulation data simulating the state of the equipment 10 when the control target 15 is controlled according to a plurality of candidate operations in response to input of abnormal data to the simulator 30, and determines a restoration operation based on the plurality of simulation data. As a result, the device 100 according to the first embodiment determines a restoration operation based on the result of simulating the state of the equipment 10 in cooperation with the simulator 30, and therefore can determine an optimal restoration operation for each of various abnormal states without preparing a database for determining a restoration operation in advance.

[0073] Furthermore, the device 100 according to the first embodiment may determine target data and determine the return operation based on the distances between the plurality of simulation data and the target data. As a result, the device 100 according to the first embodiment can determine, as the return operation, an operation that brings the state of the equipment 10 closer to the target state.

[0074] Furthermore, the device 100 according to the first embodiment may determine target data based on a plurality of normal data. As a result, the device 100 according to the first embodiment can objectively set a target to be aimed at when returning the equipment 10 from an abnormality to normality, based on a plurality of normal data, rather than setting the target at random.

[0075] In this case, the device 100 according to the first embodiment may determine the target data based on statistics of a plurality of normal data, or may determine the target data based on statistics of a plurality of normal data. There are many different types of abnormalities, including static abnormalities with no relationship such as order between data, and dynamic abnormalities with order between data. According to the device 100 according to the first embodiment, even for such a wide variety of abnormalities, it is possible to appropriately set a target to be aimed at when returning the equipment 10 to normal from an abnormality.

[0076] Furthermore, the device 100 according to the first embodiment may further include a function of detecting an abnormality in the equipment 10 based on the status data. As a result, the device 100 according to the first embodiment can realize an abnormality detection function and a restoration operation determination function in a single device. Furthermore, the device 100 according to the first embodiment can autonomously detect an abnormality in the equipment 10 without human intervention, and can automatically sort normal data and abnormal data required for determining a restoration operation by assigning a normal label and an abnormal label to the status data.

[0077] Moreover, the device 100 according to the first embodiment may further include a function of issuing a warning when the equipment 10 does not return to normal from an abnormality within a predetermined condition. As a result, according to the device 100 according to the first embodiment, when the equipment 10 does not return to normal from an abnormality within the condition even though the control target 15 is controlled according to a return operation, it is possible to inform the user of this. Therefore, according to the device 100 according to the first embodiment, even when it is difficult to automatically return the equipment 10, it is possible to urge the user to switch to manual return, etc., without unnecessarily repeating the process of determining the return operation.

[0078] In this case, the device 100 according to the first embodiment may issue a warning when the number of times the control target 15 has been controlled according to the return operation exceeds a predetermined threshold, or may issue a warning when the time elapsed until the equipment 10 returns to normal in response to the detection of an abnormality exceeds a predetermined threshold. Since the time constant and settling time vary depending on the equipment 10, the speed at which the state of the equipment changes when the control target 15 is controlled according to the return operation varies. According to the device 100 according to the first embodiment, even in such a case, the timing to cancel, middle, or end the determination of the return operation can be set to an optimal timing for each equipment 10.

[0079] FIG. 5 shows another example of a block diagram of a control system 1 that may include the device 100 according to the first embodiment. In this diagram, the same reference numerals are used for components having the same functions and configurations as those in FIG. 1, and descriptions thereof will be omitted except for the differences. Up to this point, a case in which the control device 20, the simulator 30, and the device 100 are provided as separate, independent devices has been shown as an example. However, the control device 20, the simulator 30, and the device 100 may be provided as a single device in which some or all of them are integrated. In this diagram, a case in which the device 100 also provides the functions of the control device 20 and the simulator 30 is shown.

[0080] In this diagram, device 100 further includes simulator 30 and control unit 510. In this diagram, state data acquisition unit 110 may supply the acquired state data to control unit 510 in addition to detection unit 120. In addition, return operation determination unit 150 may supply the determined return operation to control unit 510 instead of control device 20.

[0081] The control unit 510 may be mainly provided by a CPU, and may be implemented in the device 100 as a functional unit equivalent to the control device 20. When no abnormality occurs in the equipment 10, the control unit 510 may control the control target 15 based on the status data acquired by the status data acquisition unit 110. At this time, the control unit 510 may control the control target 15 by PID control, or may control the control target 15 by AI control. On the other hand, when an abnormality occurs in the equipment 10, the control unit 510 may control the control target 15 according to the return operation determined by the return operation determination unit 150. In this case, the control unit 510 may switch the control mode depending on whether or not an abnormality in the equipment 10 is detected by the detection unit 120.

[0082] In this manner, the device 100 according to the first embodiment may further include a control unit 510. As a result, the device 100 according to the first embodiment can realize the function of determining the return operation and the function of controlling the control target 15 by a single device. Therefore, the device 100 according to the first embodiment does not need to supply the return operation from the device 100 to the control device 20, and can eliminate the risk that the return operation is tampered with in the communication between the device 100 and the control device 20, and therefore the facility 10 can be protected from security threats.

[0083] Moreover, the device 100 according to the first embodiment may further include a simulator 30. As a result, the device 100 according to the first embodiment does not need to communicate with the outside in acquiring the simulation data, so that it is possible to reduce communication costs and time and prevent information leakage to the outside.

[0084] Fig. 6 shows an example of a block diagram of a control system 1 that may include an apparatus 100 according to a modification of the first embodiment. In this figure, the same reference numerals are used for components having the same functions and configurations as those in Fig. 1, and descriptions thereof will be omitted hereinafter except for differences. In the above description, a case in which the apparatus 100 determines a return operation based on target data is shown as an example. However, in this modification, the apparatus 100 determines a return operation based on an evaluation index.

[0085] In this modification, the control system 1 may further include an evaluation model 40. The evaluation model 40 outputs an evaluation index that evaluates the state of the equipment 10 in response to input of status data indicating the state of the equipment 10. In generating such an evaluation model 40, as an example, labeling data may be generated based on the operation target of the equipment 10 (such as a plant KPI (Key Performance Indicator)), status data indicating the state of the equipment 10, and teacher labels. Such an operation target may be an operation target of the entire plant or the entire factory when the equipment 10 is the entire plant or the entire factory, may be an operation target of the segment when the equipment 10 is a segment of the plant or the factory, or may be an operation target of a single equipment or a single process when the equipment 10 corresponds to a single equipment or a single process.

[0086] Then, the generated labeling data may be used as learning data to generate the evaluation model 40 by a machine learning algorithm. The generation process of the evaluation model 40 itself may be arbitrary, so further details will not be described here.

[0087] In this modified example, the control device 20 executes AI control using the operation model. In addition, in this figure, a case where the evaluation model 40 is the same as the evaluation model used in the reinforcement learning of the operation model is shown as an example. That is, the evaluation index used for evaluating the simulated data and the evaluation index used in the reinforcement learning of the operation model may be output from the same model. However, this is not limited to this. The evaluation model 40 may be different from the evaluation model used in the reinforcement learning of the operation model. That is, the evaluation index used for evaluating the simulated data and the evaluation index used in the reinforcement learning of the operation model may be output from different models.

[0088] In this modification, the device 100 further includes an index acquisition unit 610 instead of the target data determination unit 130. The simulation data acquisition unit 140 supplies the acquired multiple pieces of simulation data to the index acquisition unit 610 in addition to the return operation determination unit 150.

[0089] The index acquisition unit 610 acquires a plurality of evaluation indexes that evaluate the simulated state of the equipment 10 in response to input of a plurality of pieces of simulation data to the evaluation model 40. The index acquisition unit 610 may be provided mainly by a communication interface, and may supply the plurality of pieces of simulation data acquired by the simulation data acquisition unit 140 to the evaluation model 40 via a network. The evaluation model 40 may output a plurality of evaluation indexes that evaluate the state of the equipment 10 in response to input of the plurality of pieces of simulation data. The index acquisition unit 610 may acquire the plurality of evaluation indexes output from the evaluation model 40 in this manner via a network. The index acquisition unit 610 supplies the acquired plurality of evaluation indexes to the return operation determination unit 150.

[0090] In this modified example, the return operation determination unit 150 determines a return operation based on a plurality of evaluation indexes. The return operation determination unit 150 may determine, as the return operation, a candidate operation that has resulted in obtaining simulated data with the best evaluation index (e.g., the largest value) among the plurality of evaluation indexes obtained by the index obtaining unit 610 from the plurality of simulated data obtained by the simulated data obtaining unit 140.

[0091] Fig. 7 shows an example of a flow diagram of a method that may be executed by the device 100 according to the modification of the first embodiment. Steps S400 to S445, S485, and S490 may be the same processes as those in Fig. 4, and detailed descriptions thereof will be omitted here. In this modification, after starting a timer in step S445, the computer advances the process to step S460.

[0092] In step S460, the computer acquires a plurality of pieces of simulation data simulating the state of the equipment 10 when the control target 15 is controlled according to a plurality of candidate operations in response to inputting abnormality data indicating state data in an abnormal state into the simulator 30. The process of acquiring the plurality of pieces of simulation data may be similar to that of FIG. 4, and therefore a detailed description thereof will be omitted here. In this modification, the simulation data acquiring unit 140 supplies the acquired plurality of pieces of simulation data Si1, Si2, ..., Sin to the index acquiring unit 610 in addition to the return operation determining unit 150. Then, the computer advances the process to step S470.

[0093] In step S470, the computer acquires a plurality of evaluation indexes that evaluate the respective states of the simulated equipment 10 in response to inputting the plurality of simulation data into the evaluation model 40. For example, the index acquisition unit 610 that may be implemented in the computer may supply the plurality of simulation data Si1, Si2, ..., Sin acquired in step S460 to the evaluation model 40 via a network.

[0094] The evaluation model 40 may output an evaluation index I1 that evaluates the state of the equipment 10 in response to the input of the simulated data Si1. Similarly, the evaluation model 40 may output an evaluation index I2 that evaluates the state of the equipment 10 in response to the input of the simulated data Si2. The evaluation model 40 may repeatedly execute the same process n times up to the simulated data Sin. As a result, the evaluation model 40 may output a plurality of evaluation indexes I1, I2, ..., In. Then, the index acquisition unit 610 may acquire the plurality of evaluation indexes I1, I2, ..., In output from the evaluation model 40 via a network. For example, in this manner, the index acquisition unit 610 acquires a plurality of evaluation indexes I1, I2, ..., In that evaluate the simulated state of the equipment 10 in response to the input of a plurality of simulated data Si1, Si2, ..., Sin to the evaluation model 40. The index acquisition unit 610 supplies the acquired plurality of evaluation indexes to the return operation determination unit 150.

[0095] In step S480, the computer determines a return operation based on the multiple evaluation indexes. For example, the return operation determination unit 150, which may be implemented in the computer, determines a return operation Ar based on the multiple evaluation indexes I1, I2, ..., In acquired in step S470.

[0096] As an example, the returning operation determination unit 150 may compare multiple evaluation indexes I1, I2, ..., In. Then, the returning operation determination unit 150 may determine, as the returning operation, the candidate operation Ac that has obtained the best (e.g., the largest) index Imax among the multiple evaluation indexes I1, I2, ..., In. For example, it is assumed that the value of the evaluation index I1 is the largest among the multiple evaluation indexes I1, I2, ..., In. Here, the evaluation index I1 is acquired using the simulation data Si1. In this case, the returning operation determination unit 150 may determine, as the returning operation Ar, the candidate operation Ac1 that has obtained the simulation data Si1.

[0097] The return operation determination unit 150 supplies the return operation Ar determined in this manner, for example, to the control device 20. In response to this, the control device 20 controls the control target 15 according to the return operation Ar. As a result, the state of the equipment 10 changes.

[0098] As described above, various methods are conceivable for setting a target to be aimed at when returning the equipment 10 to normal from an abnormality, and it may be unclear which method is optimal for determining target data. In response to this, the device 100 according to this modification determines a return operation based on the results of evaluating each of a plurality of simulated data in cooperation with the evaluation model 40. As a result, according to the device 100 according to this modification, when returning the equipment 10 to normal from an abnormality, instead of determining specific target data by the target data determination unit 130 and determining a return operation to approach the target data, it is possible to determine a return operation to improve the evaluation index obtained using the evaluation model 40.

[0099] In particular, when the evaluation model 40 that evaluates multiple pieces of simulated data is the same as the evaluation model used during reinforcement learning of the operation model, the device 100 of this modified example can determine, as the return operation, an operation that is consistent or has minimal inconsistency with the operation under AI control.

[0100] On the other hand, when an abnormality occurs in the equipment 10, the cause may be in the operation model or evaluation model used for AI control (for example, underlearning, overlearning, or labeling error, etc.). Therefore, when the evaluation model 40 that evaluates multiple pieces of simulation data is different from the evaluation model used in reinforcement learning of the operation model, the device 100 according to this modification can determine an independent operation that is separate from the operation under AI control as the restoration operation.

[0101] FIG. 8 shows another example of a block diagram of a control system 1 that may include an apparatus 100 according to a modified example of the first embodiment. In this diagram, the same reference numerals are used for components having the same functions and configurations as those in FIG. 5 or FIG. 6, and descriptions thereof will be omitted except for the differences. Up to this point, an example has been shown in which the evaluation model 40 is stored outside the apparatus 100. However, the evaluation model 40 may be stored inside the apparatus 100. In this diagram, the apparatus 100 further includes an evaluation model 40.

[0102] In this manner, the device 100 according to this modification may further include the evaluation model 40. As a result, the device 100 according to this modification can realize, by a single device, a function for determining a return operation and a function for storing the evaluation model 40. Therefore, the device 100 according to this modification does not need to communicate with the outside in acquiring a plurality of evaluation indexes, so that it is possible to reduce communication costs and time, and also to prevent information leakage to the outside.

[0103] FIG. 9 shows an example of a block diagram of a control system 1 that may include the device 1000 according to the second embodiment. The device 1000 according to the second embodiment searches for a return operation for returning the equipment 10 to normal from an abnormality through a trial operation using an actual machine. As a result, according to the device 1000 according to the second embodiment, even if the equipment 10 is in various abnormal states, a return operation can be searched for through a trial operation. This will be described in detail. The device 1000 may include a state data acquisition unit 110, a detection unit 120, a target data determination unit 130, an evaluation unit 170, a search unit 180, and a warning unit 190.

[0104] The status data acquisition unit 110 acquires status data indicating the status of the equipment 10. The status data acquisition unit 110 may be provided mainly by a communication interface, and may acquire the status data from the equipment 10 in time series via a network. However, this is not limited to this. The status data acquisition unit 110 may acquire the status data from a device other than the equipment 10, or may acquire the status data via other means other than a network (such as various memory devices or user input). The status data acquisition unit 110 supplies the acquired status data to the detection unit 120.

[0105] The detection unit 120 detects an abnormality in the equipment 10 based on the status data. The detection unit 120 may be mainly provided by a CPU, and may detect an abnormality in the equipment 10 based on the status data acquired by the status data acquisition unit 110. In this case, the detection unit 120 may use a machine learning model that classifies the equipment 10 into a normal state and an abnormal state based on the status data. When it is determined that an abnormality in the equipment 10 has not been detected, the detection unit 120 attaches a normal label to the status data and supplies it to the target data determination unit 130. When it is determined that an abnormality in the equipment 10 has been detected, the detection unit 120 attaches an abnormal label to the status data and supplies it to the target data determination unit 130 and the evaluation unit 170. In addition, the detection unit 120 notifies the search unit 180 and the warning unit 190 that an abnormality in the equipment 10 has been detected.

[0106] The target data determination unit 130 determines target data indicating a target state of the equipment 10 for returning the equipment 10 from an abnormality to normal. The target data determination unit 130 may be provided mainly by a CPU, and may determine the target data based on a plurality of state data labeled as normal by the detection unit 120, i.e., a plurality of normal data indicating state data in a normal state. This will be described in detail later. The target data determination unit 130 supplies the determined target data to the evaluation unit 170.

[0107] The evaluation unit 170 evaluates the trial operation based on a change in status data when the control target 15 is controlled according to a trial operation attempted to restore the equipment 10 to normal from an abnormality. The evaluation unit 170 may be provided mainly by a CPU, and may evaluate the trial operation based on a change in distance between the status data labeled as abnormal by the detection unit 120 and the target data determined by the target data determination unit 130. The evaluation unit 170 supplies the evaluated result to the search unit 180.

[0108] The search unit 180 searches for a return operation for returning the equipment 10 to normal from the abnormality based on the evaluation result. The search unit 180 may be mainly provided by a communication interface and a CPU, and may supply the trial operation to the control device 20 via a network. Then, the control device 20 may control the control target 15 according to the trial operation. This causes the state of the equipment 10 to change. The state data acquisition unit 110 may acquire state data again after the control according to the trial operation. Also, the evaluation unit 170 may evaluate the trial operation based on the change in the state data. Then, the search unit 180 may sequentially change one operation parameter out of a plurality of operation parameters included in the trial operation based on the evaluation result. By repeatedly executing such a process, the search unit 180 can search for a return operation by the trial operation based on the result evaluated by the evaluation unit 170.

[0109] The warning unit 190 issues a warning when the equipment 10 does not return to normal from an abnormality within a predetermined condition. The warning unit 190 may be mainly provided by a display device, and when the equipment 10 does not return to normal from an abnormality within a predetermined condition, a warning screen indicating that fact may be displayed.

[0110] The device 1000 having such a functional unit may be a computer such as a PC (personal computer), a tablet computer, a smartphone, a workstation, a server computer, or a general-purpose computer, or may be a computer system to which a plurality of computers are connected. Such a computer system is also a computer in a broad sense. The device 1000 may be implemented by a virtual computer environment in which one or more programs can be executed in a computer. Alternatively, the device 1000 may be a dedicated computer designed to search for a return operation, or may be dedicated hardware realized by a dedicated circuit. In addition, when the device 1000 can be connected to the Internet, the device 1000 may be realized by cloud computing.

[0111] Such a computer may include a memory for storing a program and a processor for executing the program, and the processor may execute the program to implement the functions of the device 1000. That is, a program may be provided that is executed by a computer and causes the computer to function as a status data acquisition unit 110 that acquires status data indicating the status of the equipment 10, an evaluation unit 170 that evaluates a trial operation based on a change in the status data when the control target 15 is controlled according to a trial operation that is attempted to return the equipment 10 to normal from the abnormality, and a search unit 180 that searches for a return operation for returning the equipment 10 to normal from the abnormality based on the evaluation result.

[0112] 10 shows an example of a flow diagram of a method that may be executed by the device 1000 according to the second embodiment. Each step in this diagram may be executed by the device 1000, i.e., a computer. However, each step may be executed by a computer as a whole, and may include a case where a part that is not the main part is executed by something other than a computer.

[0113] In step S1400, the computer executes initialization. For example, the computer may initialize a counter that counts the number of times k that the control target 15 has been controlled according to the trial operation. That is, the computer may set k=0. The computer may also initialize a timer that measures the elapsed time t after an abnormality in the equipment 10 has been detected. That is, the computer may set t=0.

[0114] In step S1410, the computer acquires status data indicating the status of the equipment 10. For example, the status data acquisition unit 110, which may be implemented in the computer, may acquire status data S indicating the status of the equipment 10 from the equipment 10 in time series via a network. As an example, when k=0, the status data acquisition unit 110 may acquire status data S0. The status data acquisition unit 110 supplies the acquired status data S to the detection unit 120.

[0115] In step S1420, the computer determines whether or not an abnormality in the equipment 10 has been detected based on the status data. For example, the detection unit 120, which may be implemented in the computer, may determine whether or not an abnormality in the equipment 10 has been detected based on the status data S acquired in step S1410. As an example, when k=0, the detection unit 120 may determine whether or not an abnormality in the equipment 10 has been detected based on the status data S0. At this time, the detection unit 120 may use a machine learning model that classifies the equipment 10 into a normal state and an abnormal state based on the status data S, as described above.

[0116] When the machine learning model classifies the equipment 10 as being in a normal state in response to the input of the status data S, the detection unit 120 may determine that an abnormality in the equipment 10 has not been detected (No). In this case, the detection unit 120 assigns a normal label n to the status data S and supplies it to the target data determination unit 130. Then, the computer returns the process to step S1400 and continues the flow.

[0117] On the other hand, when the machine learning model classifies the equipment 10 into an abnormal state in response to the input of the status data S, the detection unit 120 may determine that an abnormality in the equipment 10 has been detected (Yes). In this case, the detection unit 120 attaches an abnormality label a to the status data S and supplies it to the target data determination unit 130 and the evaluation unit 170. In addition, the detection unit 120 notifies the search unit 180 and the warning unit 190 that an abnormality in the equipment 10 has been detected. Then, the computer advances the process to step S1430.

[0118] In step S1430, the computer determines whether or not the predetermined condition is satisfied. For example, the warning unit 190 that may be implemented in the computer may determine whether or not the number of times k is within a predetermined threshold K. The warning unit 190 may also determine whether or not the elapsed time t is within a predetermined threshold T. However, this is not limited to this. Various conditions for canceling, mid-stage, or terminating the search for the return operation may be predefined. If it is determined that the predetermined condition is satisfied (Yes), the computer advances the process to step S1440.

[0119] In step S1440, the computer determines whether or not the return process is being executed. For example, the computer may determine whether or not the number of times k is 0. If k=0, the computer may determine that the return process is not being executed (No). If it is determined that the return process is not being executed, the computer proceeds to step S1445.

[0120] In step S1445, the computer starts a timer that measures the elapsed time t since the abnormality was detected in the equipment 10. Then, the computer advances the process to step S1450.

[0121] In step S1450, the computer determines target data indicating a target state of the equipment 10 for returning the equipment 10 from an abnormality to normal. For example, the target data determination unit 130 that may be implemented in a computer may determine the target data St based on the state data S to which the normal label n has been attached in step S1420, i.e., the normal data Sn indicating the state data S in a normal state.

[0122] At this time, the target data determination unit 130 may determine the target data St based on a plurality of normal data Sn1, Sn2, ..., Snm indicating the status data S in a normal state. Here, the normal data Sn1, Sn2, ..., Snm are m pieces of normal data Sn selected in order of newness before the time point when the abnormality of the equipment 10 was detected. m indicates the order of the normal data Sn in time series, with a smaller value indicating newer data and a larger value indicating older data.

[0123] At this time, the target data determination unit 130 may determine the target data St based on the statistics of the normal data Sn1, Sn2, ..., Snm, for example, using the method of Fig. 2. The target data determination unit 130 may also determine the target data St based on the time series of the normal data Sn1, Sn2, ..., Snm, for example, using the method of Fig. 3. The target data determination unit 130 may also determine the target data St based on the statistics and time series of the normal data Sn1, Sn2, ..., Snm, for example, by combining the method of Fig. 2 and the method of Fig. 3. The target data determination unit 130 supplies the determined target data St to the evaluation unit 170.

[0124] In step S1455, the computer supplies the control device 20 with a trial operation A0 to be tried in order to restore the equipment 10 to normal from the abnormality. For example, the search unit 180, which may be implemented in a computer, may supply the trial operation A0 to the control device 20 via a network. Note that, in step S1455, since this is the stage at which the trial operation A is supplied for the first time after the abnormality of the equipment 10 is detected and before an evaluation of the trial operation A is obtained, the trial operation A0 may be set to an initial value.

[0125] Here, the trial operation A may include a plurality of operation parameters. Each of the plurality of operation parameters may be selected from a plurality of candidate operation amounts. Here, as an example, the trial operation A is assumed to be composed of a set of a plurality of operation parameters [Aa, Ab, Ac, Ad, ...]. The operation parameter Aa is a parameter for controlling the lighting of the light, and is assumed to be selected from the candidate operation amounts {OFF (off), ON (on)}. The operation parameter Ab is a parameter for controlling the supply of the additive, and is assumed to be selected from the candidate operation amounts {OFF (shut off), ON (supply)}. The operation parameter Ac is a parameter for controlling the opening of the valve, and is assumed to be selected from the candidate operation amounts {-5 (close 5 degrees), 0 (no change), +5 (open 5 degrees)}. The operation parameter Ad is a parameter for controlling the temperature of the heater, and is assumed to be selected from the candidate operation amounts {-3 (lower 3 degrees), 0 (no change), +3 (raise 3 degrees)}.

[0126] In such a case, the trial operation A0 may be set to, for example, [OFF, OFF, 0, 0, ...]. The search unit 180 may, for example, supply such a trial operation A0 to the control device 20. In response to this, the control device 20 may control the control target 15 according to the trial operation A0. Then, the computer proceeds to step S1460.

[0127] In step S1460, the computer executes an increment process. For example, the computer may set k=k+1. As an example, when k=0, the computer may set k=1. Then, the computer returns the process to step S1410 to continue the flow.

[0128] That is, when k=1, the status data acquisition unit 110 acquires status data S1 indicating the state of the equipment 10 after the control object 15 is controlled according to the trial operation A0, and the detection unit 120 may determine whether or not an abnormality in the equipment 10 has been detected based on the status data S1.

[0129] Here, if k=1, in step S1440, the computer may determine that the return process is being executed (Yes) since k≠0. If it is determined that the return process is being executed, the computer proceeds to step S1470.

[0130] In step S1470, the computer evaluates the trial operation based on a change in the status data when the control target 15 is controlled according to the trial operation attempted to restore the equipment 10 from the abnormality to normal. For example, the evaluation unit 170 that may be implemented in a computer may evaluate the trial operation based on a change in the distance between the status data labeled as abnormal in step S1420 and the target data determined in step S1450.

[0131] As an example, when k=1, the evaluation unit 170 may calculate the distance D0 between the state data S0 and the target data St. In this case, the evaluation unit 170 may calculate at least one of the Euclidean distance, the Manhattan distance, the Chebyshev distance, and the Mahalanobis distance. Similarly, the evaluation unit 170 may calculate the distance D1 between the state data S1 and the target data St. Then, the evaluation unit 170 may calculate the difference d01 by subtracting the distance D0 from the distance D1.

[0132] When the difference d01 is greater than 0, that is, when the distance D1 is smaller than the distance D0, it means that the state of the equipment 10 has come closer to the target state by the trial operation A0. In this case, the evaluation unit 170 may give the trial operation A0 an evaluation value greater than 0. In this case, the evaluation unit 170 may give an evaluation value that is greater as the absolute value of the difference d01 is greater.

[0133] If the difference d01 is 0, that is, if the distance D0 and the distance D1 are the same, it means that the trial operation A0 has not changed the state of the equipment 10. In this case, the evaluation unit 170 may give an evaluation value of 0 to the trial operation A0.

[0134] When the difference d01 is smaller than 0, that is, when the distance D1 is greater than the distance D0, it means that the state of the equipment 10 has moved away from the target state due to the trial operation A0. In this case, the evaluation unit 170 may give the trial operation A0 an evaluation value smaller than 0. In this case, the evaluation unit 170 may give an evaluation value that is smaller as the absolute value of the difference d01 is larger.

[0135] In this manner, for example, the evaluation section 170 may evaluate the trial operation A based on the change in the distance D between the state data S and the target data St. The evaluation section 170 supplies the evaluated result to the search section 180.

[0136] In step S1475, the computer searches for a return operation for returning the equipment 10 from the abnormality to normal based on the evaluation result. For example, the search unit 180, which may be implemented in the computer, may search for a return operation based on the evaluation result in step S1470. In this case, the search unit 180 may sequentially change one operation parameter among a plurality of operation parameters included in the trial operation when searching for a return operation. As an example, assume that the evaluation value of the trial operation A0 is 0 when k=1. In this case, the search unit 180 may randomly select one operation parameter among the plurality of operation parameters and change the one operation parameter to another candidate operation amount. As an example, the search unit 180 may change the operation parameter Aa of the trial operation A0 [OFF, OFF, 0, 0, ...] from "OFF" to "ON" and set the trial operation A1 to [ON, OFF, 0, 0, ...].

[0137] In step S1480, the computer supplies the control device 20 with a trial operation A to be tried in order to restore the equipment 10 to normal from the abnormality. For example, the search unit 180, which may be implemented in the computer, may supply the trial operation A changed in step S1475 to the control device 20 via a network. As an example, when k=1, the search unit 180 may supply the trial operation A1[ON, OFF, 0, 0, ...] to the control device 20. In response to this, the control device 20 may control the control target 15 according to the trial operation A1. Then, the computer advances the process to step S1460, and repeatedly executes the restoration process.

[0138] That is, when k=2, the state data acquiring unit 110 may acquire state data S2 indicating the state of the equipment 10 after the control target 15 is controlled according to the trial operation A1, and the evaluating unit 170 may calculate a distance D2 between the state data S2 and the target data St. Then, the evaluating unit 170 may calculate a difference d12 by subtracting the distance D1 from the distance D2, and give an evaluation value to the trial operation A1 according to the difference d12.

[0139] Here, suppose that the evaluation value of the trial operation A1 is 0 when the control target 15 is controlled according to the trial operation A1. The search unit 180, which has obtained such an evaluation result, can recognize that the change in the operation parameter Aa does not contribute to the return operation (i.e., the operation parameter Aa is an insensitive parameter). In this case, the search unit 180 may determine the operation parameter Aa to be an arbitrary candidate operation amount (e.g., "OFF"). Then, the search unit 180 may select one undetermined operation parameter from among the multiple operation parameters, and change it to another candidate operation amount. As an example, the search unit 180 may change the operation parameter Ab from "OFF" to "ON" and set the trial operation A2 to [OFF, ON, 0, 0, ...].

[0140] Next, suppose that the evaluation value of the trial operation A2 is greater than 0 when the control target 15 is controlled according to the trial operation A2. The search unit 180, which has obtained such an evaluation result, can recognize that the state of the equipment 10 has improved by changing the operation parameter Ab. In this case, the search unit 180 may determine the operation parameter Ab as a candidate operation amount after the change (here, "ON"). Then, the search unit 180 may select one of the undetermined operation parameters among the multiple operation parameters, and change it to another candidate operation amount. As an example, the search unit 180 may change the operation parameter Ac from "0" to "+5" and set the trial operation A3 to [OFF, ON, +5, 0, ...].

[0141] Next, suppose that when the control target 15 is controlled according to the trial operation A3, the evaluation value of the trial operation A3 is smaller than 0. The searching unit 180, which has obtained such an evaluation result, can recognize that the condition of the equipment 10 has deteriorated due to the change in the operation parameter Ac. In this case, the searching unit 180 may change the operation parameter Ac to another candidate operation amount (here, "-5") and set the trial operation A4 to [OFF, ON, -5, 0, ...].

[0142] Next, suppose that the evaluation value of the trial operation A4 is greater than 0 when the control target 15 is controlled according to the trial operation A4. The search unit 180, which has obtained such an evaluation result, can recognize that the state of the equipment 10 has improved by changing the operation parameter Ac. In this case, the search unit 180 may determine the operation parameter Ac to be a candidate operation amount after the change (here, "-5"). Then, the search unit 180 may select one of the operation parameters that has not been determined yet, and change it to another candidate operation amount. As an example, the search unit 180 may change the operation parameter Ad from "0" to "+3" and set the trial operation A5 to [OFF, ON, -5, +3, ...].

[0143] Next, suppose that the evaluation value of the trial operation A5 is greater than 0 when the control target 15 is controlled according to the trial operation A5. The search unit 180, which has obtained such an evaluation result, can recognize that the state of the equipment 10 has improved by changing the operation parameter Ad. Here, the operation parameter Ad can also select "-3" as another candidate operation amount. However, since the state of the equipment 10 has improved as a result of setting the operation parameter Ad to "+", if the operation parameter Ad is changed to "-3" which has a different polarity from "+3", it is expected that the state of the equipment 10 will worsen. In such a case, the search unit 180 may determine the operation parameter Ad as the candidate operation amount after the change (here, "+3") without trying a trial operation in which the operation parameter Ad is changed to "-3". For example, in this way, the search unit 180 can omit changing one operation parameter to some of the multiple candidate operation amounts.

[0144] By trying one or more trial operations using the actual machine in this manner, the computer may search for a restoration operation by trial and error until, in step S1420, it no longer detects an abnormality in the equipment 10, or, in step S1430, it exceeds a predetermined condition.

[0145] During such a search for a return operation, if the number of times k exceeds the threshold K or the elapsed time t exceeds the threshold T in step S1430, warning unit 190 may determine that the predetermined condition is not met (No). In this case, the computer advances the process to step S1490.

[0146] In step S1490, the computer issues a warning when the equipment 10 does not return to normal from an abnormality within a predetermined condition. For example, the warning unit 190, which may be implemented in the computer, may display a warning screen indicating that the number of times k exceeds a threshold K or that the elapsed time t exceeds a threshold T. At this time, the warning unit 190 may display the execution history of the search on the screen. As an example, the warning unit 190 may display the trial operation A and the transition of the state data S on the screen using a graph or the like. The warning unit 190 may issue a warning, for example, in this way when the number of times the control target 15 is controlled according to the trial operation exceeds a predetermined threshold. In addition, the warning unit 190 may issue a warning when the elapsed time from when the abnormality of the equipment 10 is detected until the equipment 10 returns to normal exceeds a predetermined threshold.

[0147] In this way, a method may be provided in which a computer acquires status data indicating the status of the equipment 10, evaluates the trial operation based on a change in the status data when the control object 15 is controlled according to the trial operation attempted to return the equipment 10 to normal from the abnormality, and searches for a return operation to return the equipment 10 to normal from the abnormality based on the evaluated result.

[0148] Conventionally, the content of the restoration operation for an abnormal state has been determined by referring to a restoration operation determination database in which the content of the restoration operation for an abnormal state is predefined. However, it is practically impossible to consider various abnormal states in advance, and such a problem is particularly prominent in complex facilities such as plants where various conditions affect each other.

[0149] In contrast, the device 1000 according to the second embodiment evaluates the trial operation based on the change in state data when the control target 15 is controlled according to the trial operation, and searches for a return operation based on the evaluation result. As a result, the device 1000 according to the second embodiment searches for a return operation for returning the equipment 10 to normal from an abnormality through trial operations using an actual machine, so that it is possible to try to return from various abnormal states without having to prepare in advance a database for determining a return operation or a simulator that simulates the equipment 10.

[0150] Furthermore, the device 1000 according to the second embodiment may determine target data and evaluate the trial operation based on the change in distance between the state data and the target data. As a result, the device 1000 according to the second embodiment can give a higher evaluation to a trial operation that brings the state of the equipment 10 closer to a target state.

[0151] Furthermore, the device 1000 according to the second embodiment may determine target data based on a plurality of normal data. As a result, the device 1000 according to the second embodiment can objectively set a target to be aimed at when returning the equipment 10 from an abnormality to normality, based on a plurality of normal data, rather than setting the target at random.

[0152] In this case, the device 1000 according to the second embodiment may determine the target data based on statistics of a plurality of normal data, or may determine the target data based on statistics of a plurality of normal data. There are many different types of abnormalities, including static abnormalities with no relationship such as order between data, and dynamic abnormalities with order between data. According to the device 1000 according to the second embodiment, even for such a wide variety of abnormalities, it is possible to appropriately set a target to be aimed at when returning the equipment 10 to normal from an abnormality.

[0153] Furthermore, the device 1000 according to the second embodiment may sequentially change one of a plurality of operation parameters included in the trial operation when searching for a return operation. In this way, the device 1000 according to the second embodiment can search for a return operation while evaluating each operation parameter one by one in order, even if it is unclear which operation parameter contributes to the return operation.

[0154] At this time, the device 1000 according to the second embodiment may omit changing one operation parameter to some of the multiple candidate operation amounts. As a result, the device 1000 according to the second embodiment can search for a return operation without exhaustively trying all combinations of the candidate operation amounts.

[0155] Moreover, the device 1000 according to the second embodiment may further include a function of detecting an abnormality of the equipment 10 based on the status data. As a result, the device 1000 according to the second embodiment can realize an abnormality detection function and a return operation search function by a single device. Moreover, the device 1000 according to the second embodiment can autonomously detect an abnormality of the equipment 10 without human intervention, and can automatically sort normal data and abnormal data required for searching for a return operation by assigning a normal label and an abnormal label to the status data.

[0156] Moreover, the device 1000 according to the second embodiment may further include a function of issuing a warning when the equipment 10 does not return to normal from an abnormality within a predetermined condition. As a result, according to the device 1000 according to the second embodiment, when the equipment 10 does not return to normal from an abnormality within the condition despite the search for a return operation, it is possible to inform the user of this. Therefore, according to the device 1000 according to the second embodiment, even when it is difficult to automatically return the equipment 10, it is possible to prompt the user to switch to manual return, etc., without unnecessarily repeating the search process for a return operation.

[0157] In this case, the device 1000 according to the second embodiment may issue a warning when the number of times the control target 15 is controlled according to the trial operation exceeds a predetermined threshold, or may issue a warning when the time elapsed from when an abnormality in the equipment 10 is detected until the equipment returns to normal exceeds a predetermined threshold. Since the time constants and settling times vary depending on the equipment 10, the speed at which the state of the equipment changes when the control target 15 is controlled according to the trial operation varies. According to the device 1000 according to the second embodiment, even in such a case, the timing to stop, middle, or end the search for a return operation can be set to an optimal timing for each equipment 10.

[0158] FIG. 11 shows another example of a block diagram of a control system 1 that may include the device 1000 according to the second embodiment. In this diagram, the same reference numerals are used for components having the same functions and configurations as those in FIG. 9, and descriptions thereof will be omitted except for the differences. Up to this point, a case in which the control device 20 and the device 1000 are provided as separate, independent devices has been shown as an example. However, the control device 20 and the device 1000 may be provided as a single device in which a part or all of them are integrated. In this diagram, a case in which the device 1000 also provides the functions of the control device 20 is shown.

[0159] In this diagram, device 1000 further includes a control unit 510. In this diagram, state data acquisition unit 110 may supply the acquired state data to control unit 510 in addition to detection unit 120. Furthermore, search unit 180 may supply the trial operation to control unit 510 instead of control device 20.

[0160] The control unit 510 may be mainly provided by a CPU, and may be implemented in the device 1000 as a functional unit similar to the control device 20. That is, when no abnormality occurs in the equipment 10, the control unit 510 may control the control target 15 based on the state data acquired by the state data acquisition unit 110. At this time, the control unit 510 may control the control target 15 by PID control, or may control the control target 15 by AI control. On the other hand, when an abnormality occurs in the equipment 10, the control unit 510 may control the control target 15 according to the trial operation supplied from the search unit 180. In this case, the control unit 510 may switch the control mode depending on whether or not an abnormality in the equipment 10 is detected by the detection unit 120.

[0161] In this way, the device 1000 according to the second embodiment may further include the control unit 510. As a result, the device 1000 according to the second embodiment can realize the function of searching for a return operation and the function of controlling the control target 15 by a single device. Therefore, the device 1000 according to the second embodiment does not need to supply a trial operation from the device 1000 to the control device 20, and can eliminate the risk that the trial operation is tampered with in the communication between the device 1000 and the control device 20, and can therefore protect the facility 10 from security threats.

[0162] Fig. 12 shows an example of a block diagram of a control system 1 that may include an apparatus 1000 according to a modification of the second embodiment. In this figure, the same reference numerals are used for components having the same functions and configurations as those in Fig. 9, and descriptions thereof will be omitted hereinafter except for differences. In the above description, a case in which the apparatus 1000 evaluates a trial operation using target data is shown as an example. However, in this modification, the apparatus 1000 evaluates a trial operation using an evaluation index.

[0163] In this modification, the control system 1 may further include an evaluation model 40. The evaluation model 40 outputs an evaluation index that evaluates the state of the equipment 10 in response to input of status data indicating the state of the equipment 10. In generating such an evaluation model 40, as an example, labeling data may be generated based on the operation target of the equipment 10 (such as a plant KPI (Key Performance Indicator)), status data indicating the state of the equipment 10, and a teacher label. Then, the generated labeling data may be used as learning data to generate the evaluation model 40 by a machine learning algorithm. The generation process of the evaluation model 40 itself may be arbitrary, and further details will not be described here.

[0164] In this modified example, the control device 20 executes AI control using an operation model. In addition, in this figure, a case where the evaluation model 40 is the same as the evaluation model used in the reinforcement learning of the operation model is shown as an example. That is, the evaluation index used for evaluating the trial operation and the evaluation index used in the reinforcement learning of the operation model may be output from the same model. However, this is not limited to this. The evaluation model 40 may be different from the evaluation model used in the reinforcement learning of the operation model. That is, the evaluation index used for evaluating the trial operation and the evaluation index used in the reinforcement learning of the operation model may be output from different models.

[0165] In this modification, the device 1000 further includes an index acquisition unit 610 instead of the target data determination unit 130. When the detection unit 120 determines that an abnormality in the equipment 10 has been detected, the detection unit 120 attaches an abnormality label to the status data and supplies the status data to the index acquisition unit 610.

[0166] The index acquiring unit 610 acquires an evaluation index that evaluates the state of the equipment 10 in response to inputting the state data to the evaluation model 40. The index acquiring unit 610 may be provided mainly by a communication interface, and may supply the state data to which an anomaly label has been attached by the detection unit 120 to the evaluation model 40 via a network. The evaluation model 40 may output an evaluation index that evaluates the state of the equipment 10 in response to inputting the state data. The index acquiring unit 610 may acquire the evaluation index thus output from the evaluation model 40 via a network. The index acquiring unit 610 supplies the acquired evaluation index to the evaluation unit 170.

[0167] In this modified example, the evaluation unit 170 evaluates the trial operation based on a change in the evaluation index. The evaluation unit 170 may be mainly provided by a CPU, and may derive a change in the evaluation index by analyzing the evaluation index acquired in time series from the index acquisition unit 610. Then, the evaluation unit 170 may evaluate the trial operation based on the change in the evaluation index. The evaluation unit 170 supplies the evaluation result to the search unit 180. The search unit 180 may search for a return operation based on such an evaluation result.

[0168] Fig. 13 shows an example of a flow diagram of a method that may be executed by the device 1000 according to the modified example of the second embodiment. Steps S1400 to S1460 and steps S1475 to S1490 may be the same as those in Fig. 10 except that step S1450 is not included, and detailed description thereof will be omitted here. In this modified example, if it is determined in step S1440 that the return process is being executed, the computer advances the process to step S1465.

[0169] In step S1465, the computer acquires an evaluation index for evaluating the state of the equipment 10 in response to inputting the state data to the evaluation model 40. For example, the index acquisition unit 610, which may be implemented in a computer, may supply the state data S to which an anomaly label has been added in step S1420 to the evaluation model 40 via a network.

[0170] The evaluation model 40 may output an evaluation index I that evaluates the state of the equipment 10 in response to the input of the state data S. As an example, when k=1, the evaluation model 40 may output an evaluation index I1 that evaluates the state of the equipment 10 before the control target 15 is controlled according to the trial operation A0 in response to the input of the state data S0. Also, the evaluation model 40 may output an evaluation index I1 that evaluates the state of the equipment 10 after the control target 15 is controlled according to the trial operation A0 in response to the input of the state data S1. In this way, the evaluation model 40 may output the evaluation indexes I0 and I1 before and after the control target 15 is controlled according to the trial operation A0. Then, the index acquisition unit 610 may acquire the evaluation indexes I0 and I1 output from the evaluation model 40 via a network.

[0171] Similarly, when k=2, the evaluation model 40 may output an evaluation index I2 that evaluates the state of the equipment 10 after the control target 15 is controlled according to the trial operation A1 in response to the input of the state data S2. Then, the index acquisition unit 610 may acquire the evaluation index I2 output from the evaluation model 40 via a network. In this manner, for example, the index acquisition unit 610 acquires an evaluation index I that evaluates the state of the equipment 10 in response to the input of the state data S to the evaluation model 40. The index acquisition unit 610 supplies the acquired evaluation index I to the evaluation unit 170.

[0172] In step S1470, the computer evaluates the trial operation based on the change in the evaluation index. For example, the evaluation unit 170, which may be implemented in the computer, may evaluate the evaluation index A based on the change in the evaluation index I obtained in step S1465.

[0173] As an example, when k=1, the evaluation unit 170 may calculate the difference i01 by subtracting the evaluation index I1 from the evaluation index I0. When the difference i01 is smaller than 0, that is, when the evaluation index I1 has a higher evaluation than the evaluation index I0, it means that the condition of the equipment 10 has improved by the trial operation A0. In this case, the evaluation unit 170 may give the trial operation A0 an evaluation value greater than 0. At this time, the evaluation unit 170 may give an evaluation value such that the larger the absolute value of the difference i01, the larger the value becomes.

[0174] When the difference i01 is 0, that is, when the evaluation index I0 and the evaluation index I1 are the same, it means that the trial operation A0 has not changed the state of the equipment 10. In this case, the evaluation unit 170 may give an evaluation value of 0 to the trial operation A0.

[0175] When the difference i01 is smaller than 0, that is, when the evaluation index I1 is evaluated lower than the evaluation index I0, it means that the condition of the equipment 10 has deteriorated due to the trial operation A0. In this case, the evaluation unit 170 may give the trial operation A0 an evaluation value smaller than 0. In this case, the evaluation unit 170 may give an evaluation value that is smaller as the absolute value of the difference d01 is larger.

[0176] In this manner, for example, the evaluation unit 170 may evaluate the trial operation A based on a change in the evaluation index I. The evaluation unit 170 provides the evaluation result to the search unit 180. Then, the search unit 180 may search for a return operation based on, for example, such an evaluation result.

[0177] As described above, various methods are conceivable for setting a goal to be aimed at when returning the equipment 10 to normal from an abnormality, and it may be unclear which method is optimal for determining target data. In response to this, the device 1000 according to this modified example searches for a return operation based on the result of evaluating a trial operation in cooperation with the evaluation model 40. As a result, the device 1000 according to this modified example can search for a return operation without determining target data when returning the equipment 10 to normal from an abnormality.

[0178] In particular, when the evaluation model 40 that outputs the evaluation index is the same as the evaluation model used during reinforcement learning of the operation model, the device 1000 of this modified example can search for an operation that is consistent or has minimal contradiction with the operation under AI control as the return operation.

[0179] On the other hand, when an abnormality occurs in the equipment 10, the cause may be in the operation model or evaluation model used for AI control (for example, underlearning, overlearning, or labeling error, etc.). Therefore, when the evaluation model 40 that outputs the evaluation index is different from the evaluation model used in reinforcement learning of the operation model, the device 1000 according to this modification can search for an independent operation that is separated from the operation under AI control as a restoration operation.

[0180] FIG. 14 shows another example of a block diagram of a control system 1 that may include an apparatus 1000 according to a modified example of the second embodiment. In this diagram, the same reference numerals are used for components having the same functions and configurations as those in FIG. 11 or FIG. 12, and descriptions thereof will be omitted except for the differences. Up to this point, an example has been shown in which the evaluation model 40 is stored outside the apparatus 1000. However, the evaluation model 40 may be stored inside the apparatus 1000. In this diagram, the apparatus 1000 further includes an evaluation model 40.

[0181] In this manner, the device 1000 according to this modification may further include the evaluation model 40. As a result, the device 1000 according to this modification can realize, in one device, a function of searching for a return operation and a function of storing the evaluation model 40. Therefore, the device 1000 according to this modification does not need to communicate with the outside in acquiring the evaluation index, so that it is possible to reduce communication costs and time and prevent information leakage to the outside.

[0182] So far, the first embodiment has been described as a first recovery process that determines a recovery operation for recovering the equipment 10 from an abnormality to normal based on a simulation result using the simulator 30, and the second embodiment has been described as a second recovery process that searches for a recovery operation for recovering the equipment 10 from an abnormality to normal by a trial operation using an actual machine. However, the first embodiment and the second embodiment can be appropriately combined.

[0183] FIG. 15 shows an example of a block diagram of the device 1500 according to the third embodiment. The device 1500 according to the third embodiment is capable of executing both the first recovery process and the second recovery process, and when an abnormality occurs in the equipment 10, selects which recovery process to attempt to use to recover from the abnormality. This will be described in detail. The device 1500 may include a first recovery processing unit 1510, a second recovery processing unit 1520, a priority storage unit 1530, a recovery process selection unit 1540, a notification unit 1550, and a user input unit 1560.

[0184] The first return processing unit 1510 executes a first return process that determines a return operation for returning the equipment 10 to normal from an abnormality based on a simulation result using the simulator 30. For example, the first return processing unit 1510 may have a functional unit similar to the functional unit included in the device 100 according to the first embodiment, and may be capable of executing a return process similar to that of the device 100 according to the first embodiment, that is, a first return process. Then, when the first return process is selected by the return process selection unit 1540, the first return processing unit 1510 may execute the first return process, and when a warning is issued during the first return process, may notify the return process selection unit 1540 of the fact.

[0185] The second return processing unit 1520 executes a second return process for searching for a return operation by a trial operation using the actual machine. For example, the second return processing unit 1520 may have a functional unit similar to that of the device 1000 according to the second embodiment, and may be capable of executing a return process similar to that of the device 1000 according to the second embodiment, that is, a second return process. When the second return process is selected by the return process selection unit 1540, the second return processing unit 1520 may execute the second return process, and when a warning is issued during the second return process, may notify the return process selection unit 1540 of the fact. Here, the "actual machine" may mean the entire equipment 10 that is the target of control based on the return process selected by a device such as the device 1500, or may mean the control target 15 in such equipment 10.

[0186] The priority storage unit 1530 stores a first priority for prioritizing the first return process and a second priority for prioritizing the second return process. The priority storage unit 1530 may be mainly provided by a memory, and may store the first priority and the second priority in a readable and writable manner.

[0187] When an abnormality occurs in the equipment 10, the recovery process selection unit 1540 selects the recovery process to be executed from the first recovery process and the second recovery process according to a predetermined rule. The recovery process selection unit 1540 may be mainly provided by a CPU, and may select the recovery process to be executed according to the first priority and the second priority stored in the priority storage unit 1530, for example. When the recovery process selection unit 1540 selects the first recovery process, it may instruct the first recovery processing unit 1510 to execute the first recovery process. Furthermore, when the recovery process selection unit 1540 selects the second recovery process, it may instruct the second recovery processing unit 1520 to execute the second recovery process.

[0188] In addition, when the recovery process selection unit 1540 is notified by the first recovery processing unit 1510 that a warning has been issued during the first recovery process, and is notified by the second recovery processing unit 1520 that a warning has been issued during the second recovery process, the recovery process selection unit 1540 may notify the notification unit 1550 of this fact.

[0189] When the equipment 10 does not return to normal from the abnormality by either the first return process or the second return process, the notification unit 1550 notifies that the equipment 10 cannot be automatically returned. The notification unit 1550 may be mainly provided by a display, and may display a notification screen indicating that the equipment 10 cannot be automatically returned in response to a notification from the return process selection unit 1540.

[0190] The user input unit 1560 accepts input of a return operation by the user when it is notified that the equipment 10 cannot be automatically returned. The user input unit 1560 may be mainly provided by an input / output unit, and may accept a return operation input by the user via a keyboard, a mouse, or the like. The user input unit 1560 may supply the return operation by the user to the second return processing unit 1520. In response to this, the second return processing unit 1520 may supply the return operation by the user to the control device 20, or control the control target 15 according to the return operation by the user.

[0191] The device 1500 having such a functional unit may be a computer such as a PC (personal computer), a tablet computer, a smartphone, a workstation, a server computer, or a general-purpose computer, or may be a computer system to which a plurality of computers are connected. Such a computer system is also a computer in a broad sense. The device 1500 may be implemented by a virtual computer environment in which one or more programs can be executed within a computer. Alternatively, the device 1500 may be a dedicated computer designed to select a return process, or may be dedicated hardware realized by a dedicated circuit. In addition, when the device 1500 can be connected to the Internet, the device 1500 may be realized by cloud computing.

[0192] Such a computer may include a memory for storing a program and a processor for executing the program, and the processor may execute the program to implement the functions of the device 1500. That is, a program may be provided that is executed by a computer and causes the computer to function as a first return processing unit 1510 that executes a first return processing for determining a return operation for returning the equipment 10 to normal from an abnormality based on a simulation result using a simulator, a second return processing unit 1520 that executes a second return processing for searching for a return operation by a trial operation using an actual machine, and a return processing selection unit 1540 that selects a return processing to be executed from the first return processing and the second return processing according to a predetermined rule when an abnormality occurs in the equipment 10. Also, a non-transitory computer-readable medium having such a program recorded thereon may be provided.

[0193] 16 shows an example of a flow diagram of a method that may be executed by the device 1500 according to the third embodiment. Each step in this diagram may be executed by the device 1500, i.e., a computer. However, each step may be executed by a computer as a whole, and may include a case where a part that is not the main part is executed by something other than a computer.

[0194] In step S1600, the computer determines whether the first priority is higher than the second priority. For example, the recovery process selection unit 1540 that may be implemented in the computer may access the priority storage unit 1530 and obtain the first priority for prioritizing the first recovery process and the second priority for prioritizing the second recovery process.

[0195] The first priority and the second priority may have initial values ​​preset by a user. The first priority and the second priority may be updated as needed based on the results of the restoration process, as described below.

[0196] The recovery process selection unit 1540 may compare the acquired first priority and second priority, and determine whether the first priority is higher than the second priority. If the first priority is higher than the second priority (Yes), the recovery process selection unit 1540 may select the first recovery process as a recovery process that attempts to recover from the abnormality, and instruct the first recovery processing unit 1510 to execute the first recovery process. Then, the computer proceeds to step S1610.

[0197] On the other hand, if the first priority is not higher than the second priority (No), the recovery process selection unit 1540 may select the second recovery process as the recovery process that attempts to recover from the abnormality, and instruct the second recovery processing unit 1520 to execute the second recovery process. Then, the computer proceeds to step S1620. In this way, for example, the recovery process selection unit 1540 may select the recovery process to be executed according to the first priority and the second priority stored in the priority storage unit 1530.

[0198] In step S1610, the computer executes a first return process. For example, a first return processing unit 1510 that may be implemented in a computer may execute the first return process to determine a return operation for returning the equipment 10 from an abnormality to normal based on a simulation result using the simulator 30 when an instruction to execute the first return process is received from the return process selection unit 1540.

[0199] In step S1611, the computer determines whether the equipment 10 has returned to normal from the abnormality. For example, a first return processing unit 1510 that may be implemented in a computer may acquire status data indicating the status of the equipment 10, and determine whether an abnormality in the equipment 10 has been detected based on the status data. If no abnormality in the equipment 10 has been detected, the first return processing unit 1510 may determine that the equipment 10 has returned to normal from the abnormality (Yes). If the equipment 10 has returned to normal from the abnormality, the first return processing unit 1510 notifies the return processing selection unit 1540 of that effect. Then, the computer advances the process to step S1612.

[0200] In step S1612, the computer increases the first priority. For example, the recovery process selection unit 1540, which may be implemented in the computer, may increase the first priority and update the first priority stored in the priority storage unit 1530 when notified by the first recovery processing unit 1510 that the equipment 10 has recovered to normal from the abnormality. In this manner, for example, the recovery process selection unit 1540 may increase the first priority when the equipment 10 has recovered to normal from the abnormality while the first recovery process is selected. Then, the computer ends this flow.

[0201] On the other hand, if an abnormality in the equipment 10 is detected in step S1611, the first recovery processing unit 1510 may determine that the equipment 10 has not recovered from the abnormality to normal (No). If the equipment 10 has not recovered from the abnormality to normal, the computer advances the process to step S1613.

[0202] In step S1613, the computer determines whether or not the predetermined condition is satisfied. For example, the first return processing unit 1510 that may be implemented in the computer may determine whether or not the number of times k is within a predetermined threshold value K. The first return processing unit 1510 may also determine whether or not the elapsed time t is within a predetermined threshold value T. However, the present invention is not limited to this. Various conditions for canceling, mid-stage, or terminating the first return processing may be predefined. If it is determined that the predetermined condition is satisfied (Yes), the computer returns the processing to step S1610 and continues the flow. On the other hand, if it is determined that the predetermined condition is not satisfied (No), the first return processing unit 1510 notifies the return processing selection unit 1540 accordingly. Then, the computer advances the processing to step S1614.

[0203] In step S1614, the computer stops the first return process. For example, the return process selection unit 1540 that may be implemented in the computer may instruct the first return processing unit 1510 to stop the first return process when notified by the first return processing unit 1510 that the predetermined condition is not satisfied. In response to this, the first return processing unit 1510 may stop the first return process.

[0204] In step S1615, the computer lowers the first priority. For example, the recovery process selection unit 1540, which may be implemented in the computer, may lower the first priority and update the first priority stored in the priority storage unit 1530 when an instruction to stop the first recovery process is issued. In this manner, for example, the recovery process selection unit 1540 may lower the first priority when the equipment 10 does not recover from the abnormality to normal while the first recovery process is selected. Then, the computer proceeds to step S1616.

[0205] In step S1616, the computer determines whether the second return process has been executed. For example, the return process selection unit 1540, which may be implemented in the computer, may determine whether the second return process has been instructed to be executed by the second return process unit 1520. If the second return process has not been instructed to be executed by the second return process unit 1520, the return process selection unit 1540 may determine that the second return process has not been executed (No). If it is determined that the second return process has not been executed, the return process selection unit 1540 may instruct the second return process unit 1520 to execute the second return process. Then, the computer advances the process to step S1620.

[0206] In step S1620, the computer executes a second return process. For example, the second return processing unit 1520 that may be implemented in the computer may execute the second return process to search for a return operation by a trial operation using an actual device when the return process selection unit 1540 instructs the execution of the second return process.

[0207] In step S1621, the computer determines whether the equipment 10 has returned to normal from the abnormality. For example, the second return processing unit 1520, which may be implemented in the computer, may acquire status data indicating the status of the equipment 10, and determine whether an abnormality in the equipment 10 has been detected based on the status data. If no abnormality in the equipment 10 has been detected, the second return processing unit 1520 may determine that the equipment 10 has returned to normal from the abnormality (Yes). If the equipment 10 has returned to normal from the abnormality, the second return processing unit 1520 notifies the return processing selection unit 1540 of that effect. Then, the computer proceeds to step S1622.

[0208] In step S1622, the computer increases the second priority. For example, the recovery process selection unit 1540, which may be implemented in the computer, may increase the second priority and update the second priority stored in the priority storage unit 1530 when notified by the second recovery processing unit 1520 that the equipment 10 has recovered to normal from the abnormality. In this manner, for example, the recovery process selection unit 1540 may increase the second priority when the equipment 10 has recovered to normal from the abnormality while the second recovery process is selected. Then, the computer ends this flow.

[0209] On the other hand, if an abnormality in the equipment 10 is detected in step S1621, the second recovery processing unit 1520 may determine that the equipment 10 has not recovered to normal from the abnormality (No). If the equipment 10 has not recovered to normal from the abnormality, the computer proceeds to step S1623.

[0210] In step S1623, the computer determines whether or not the predetermined condition is satisfied. For example, the second return processing unit 1520, which may be implemented in the computer, may determine whether or not the number of times k is within a predetermined threshold value K. The second return processing unit 1520 may also determine whether or not the elapsed time t is within a predetermined threshold value T. However, the present invention is not limited to this. Various conditions for stopping, mid-stage, or terminating the second return processing may be predefined. The conditions for stopping, mid-stage, or terminating the second return processing may be the same as or different from the conditions for stopping, mid-stage, or terminating the first return processing. If it is determined that the predetermined condition is satisfied (Yes), the computer returns the process to step S1620 and continues the flow. On the other hand, if it is determined that the predetermined condition is not satisfied (No), the second return processing unit 1520 notifies the return processing selection unit 1540 of the effect. The computer then proceeds to step S1624.

[0211] In step S1624, the computer stops the second return process. For example, the return process selection unit 1540 that may be implemented in the computer may instruct the second return process unit 1520 to stop the second return process when notified by the second return process unit 1520 that the predetermined condition is not satisfied. In response to this, the second return process unit 1520 may stop the second return process.

[0212] In step S1625, the computer lowers the second priority. For example, the recovery process selection unit 1540, which may be implemented in the computer, may lower the second priority and update the second priority stored in the priority storage unit 1530 when an instruction to stop the second recovery process is given. In this manner, for example, the recovery process selection unit 1540 may lower the second priority when the equipment 10 does not recover from the abnormality to normal while the second recovery process is selected. Then, the computer proceeds to step S1626.

[0213] In step S1626, the computer determines whether the first return process has been executed. For example, the return process selection unit 1540, which may be implemented in the computer, may determine whether the first return process has been instructed to the first return processing unit 1510 to execute the first return process. If the first return process has not been instructed to the first return processing unit 1510 to execute the first return process, the return process selection unit 1540 may determine that the first return process has not been executed (No). If it is determined that the first return process has not been executed, the return process selection unit 1540 may instruct the first return processing unit 1510 to execute the first return process. Then, the computer proceeds to step S1610.

[0214] The recovery process selection unit 1540 may select the other of the first recovery process and the second recovery process when the equipment 10 does not recover from an abnormality to normal within a predetermined condition while one of the first recovery process and the second recovery process is selected. At this time, the recovery process selection unit 1540 may select the other recovery process when the number of times the control target 15 is controlled while one of the recovery processes is selected exceeds a predetermined threshold, or may select the other recovery process when the elapsed time while one of the recovery processes is selected exceeds a predetermined threshold.

[0215] On the other hand, if it is determined in step S1616 that the second return process has been executed (Yes), or if it is determined in step S1626 that the first return process has been executed (Yes), the return process selection unit 1540 may notify the notification unit 1550 that the equipment 10 will not return to normal from the abnormality by either the first return process or the second return process. Then, the computer proceeds to the process in step S1630.

[0216] In step S1630, the computer notifies the user that the equipment 10 cannot be automatically restored. For example, when the restoration process selection unit 1540 notifies the user that the equipment 10 will not be restored to normal from the abnormality by either the first restoration process or the second restoration process, the notification unit 1550, which may be implemented in the computer, may notify the user that the equipment 10 cannot be automatically restored by displaying a message saying "Automatic restoration is not possible" on a display.

[0217] At this time, the notification unit 1550 may further prompt the user to input a return operation by displaying a message "Please input a return operation" on the display. In response to this, the user input unit 1560 may accept input of a return operation by the user when it is notified that the equipment 10 cannot be automatically returned. Then, when the user inputs a return operation via a keyboard, a mouse, or the like, the user input unit 1560 may supply the return operation by the user to the second return processing unit 1520. In response to this, the second return processing unit 1520 may supply the return operation by the user to the control device 20, or control the control target 15 according to the return operation by the user. Then, the computer ends this flow.

[0218] In this way, a method may be provided in which a computer executes a first recovery process that determines a recovery operation for recovering the equipment 10 from an abnormality to normal based on simulation results using a simulator, executes a second recovery process that searches for a recovery operation through trial operations using an actual machine, and, when an abnormality occurs in the equipment 10, selects the recovery process to be executed from the first recovery process and the second recovery process according to a predetermined rule.

[0219] The device 1500 according to the third embodiment is capable of executing both the first recovery process and the second recovery process, rather than only one of them, and selects which recovery process to use to recover from an abnormality on a rule basis. As a result, the device 1500 according to the third embodiment can increase the possibility of recovering the equipment 10 from an abnormality to normal by using either recovery process, even if it is unknown which of the recovery process based on the simulation result and the recovery process by the trial operation will function effectively.

[0220] In this case, the device 1500 according to the third embodiment may select one of the recovery processes if the equipment 10 does not recover from an abnormality to normal within a predetermined condition while one of the recovery processes is selected. As a result, the device 1500 according to the third embodiment can attempt to recover the equipment 10 by one of the recovery processes within a range in which the condition is satisfied, and switch to the other recovery process only when the condition is no longer satisfied.

[0221] Moreover, the device 1500 according to the third embodiment may further include a priority storage unit that stores a first priority for prioritizing the first return process and a second priority for prioritizing the second return process, and selects the return process to be executed according to the first priority and the second priority. Thus, the device 1500 according to the third embodiment can objectively select the return process to be executed according to the priority.

[0222] In this case, the device 1500 according to the third embodiment may raise the first priority when the equipment 10 returns to normal from an abnormality while the first recovery process is selected, and may raise the second priority when the equipment 10 returns to normal from an abnormality while the second recovery process is selected. This allows the device 1500 according to the third embodiment to easily select a recovery process that has successfully recovered. The device 1500 according to the third embodiment may lower the first priority when the equipment 10 does not return to normal from an abnormality while the first recovery process is selected, and may lower the second priority when the equipment 10 does not return to normal from an abnormality while the second recovery process is selected. This allows the device 1500 according to the third embodiment to make it difficult to select a recovery process that has failed to recover. In this way, the device 1500 according to the third embodiment may dynamically control the priority in consideration of the recovery record.

[0223] Furthermore, the device 1500 according to the third embodiment may notify the user that the equipment 10 has not been automatically restored to normal even if any of the restoration processes is performed. In this way, the device 1500 according to the third embodiment can notify the user that the equipment 10 has not been automatically restored to normal even if both the first restoration process and the second restoration process have been performed.

[0224] At this time, the device 1500 according to the third embodiment may accept an input of a restoration operation by the user. As a result, according to the device 1500 according to the third embodiment, the process is not terminated when automatic restoration is not possible, but the restoration operation by the user is accepted, so that even if automatic restoration is not possible, restoration of the equipment 10 can be attempted by manual restoration.

[0225] Up to this point, possible embodiments have been described as examples. However, the above-described embodiments may be modified or applied in various ways. For example, in the above description, a case in which the restoration process selection unit 1540 exclusively selects the first restoration process and the second restoration process has been described as an example. That is, the restoration process selection unit 1540 stops the second restoration process when instructing the execution of the first restoration process, and stops the first restoration process when instructing the execution of the second restoration process. However, the restoration process selection unit 1540 may select both the first restoration process and the second restoration process over at least a part of the period.

[0226] When an abnormality occurs in the equipment 10, it is desirable to restore the equipment 10 as soon as possible. Here, in order to obtain a plurality of simulated data in the first restoration process, the simulator 30 needs to execute a simulation, but such a simulation may take a long time. This problem is particularly noticeable in a large-scale equipment 10 such as a plant. However, if the simulator 30 is constructed using a simplified model in order to reduce the time required for the simulation, the error between the actual equipment and the simulation result may become large, and it is considered that the first restoration process may not function effectively.

[0227] The device 1500 according to the third embodiment may be configured to be able to simultaneously select both the first return process and the second return process at least temporarily, for example, in consideration of such a situation. When both the first return process and the second return process are selected for a certain period of time, the return process is executed by both the first return processing unit 1510 and the second return processing unit 1520 during this period. For example, when both the first return process and the second return process are selected and a higher priority is given to the second return process than the first return process, the second return processing unit 1520 may execute the second return process while the first return processing unit 1510 is executing a simulation to prepare the first return process. After that, when the simulation by the first return processing unit 1510 is completed, the first return processing unit 1510 may execute the first return process.

[0228] As described above, when executing the first return process, the first return processing unit 1510 inputs initial state data when an abnormality occurs in the equipment 10 to the simulator 30 to obtain multiple pieces of simulation data. If the second return processing unit 1520 executes the second return process during this time, the state of the equipment 10 will have changed from the initial state at the time when the first return processing unit 1510 obtained the multiple pieces of simulation data. Here, if such a change is too large, even if the first return processing unit 1510 controls the control target 15 according to a return operation determined based on the simulation result, it may not work effectively.

[0229] Therefore, when the second return processing unit 1520 executes the second return processing during the execution of the simulation in the first return processing, the second return processing unit 1520 may set a constraint so that the state data does not change too much. As an example, when evaluating the trial operation, the second return processing unit 1520 may be configured to lower the evaluation value of the trial operation if the degree of change in the state data exceeds a predetermined upper limit.

[0230] In the above description, the recovery process selection unit 1540 selects the first recovery process and the second recovery process once each, and ends the selection when neither of the processes causes the equipment 10 to recover from the abnormality to normal. However, the recovery process selection unit 1540 may select at least one of the first recovery process and the second recovery process multiple times. As an example, the recovery process selection unit 1540 may alternately select the first recovery process and the second recovery process multiple times. The recovery process selection unit 1540 may be configured to end the selection when both recovery processes have been selected a specified number of times.

[0231] Various embodiments of the present invention may be described with reference to flow charts and block diagrams, where the blocks may represent (1) stages of a process in which operations are performed or (2) sections of an apparatus responsible for performing the operations. Particular stages and sections may be implemented by dedicated circuitry, programmable circuitry provided with computer readable instructions stored on a computer readable medium, and / or a processor provided with computer readable instructions stored on a computer readable medium. Dedicated circuitry may include digital and / or analog hardware circuitry and may include integrated circuits (ICs) and / or discrete circuits. Programmable circuitry may include reconfigurable hardware circuitry including logical AND, logical OR, logical XOR, logical NAND, logical NOR, and other logical operations, memory elements such as flip-flops, registers, field programmable gate arrays (FPGAs), programmable logic arrays (PLAs), and the like.

[0232] A computer-readable medium may include any tangible device capable of storing instructions that are executed by a suitable device, such that the computer-readable medium having instructions stored thereon comprises an article of manufacture that includes instructions that can be executed to create means for performing the operations specified in the flowcharts or block diagrams. Examples of computer-readable media may include electronic storage media, magnetic storage media, optical storage media, electromagnetic storage media, semiconductor storage media, and the like. More specific examples of computer-readable media may include floppy disks, diskettes, hard disks, random access memories (RAMs), read-only memories (ROMs), erasable programmable read-only memories (EPROMs or flash memories), electrically erasable programmable read-only memories (EEPROMs), static random access memories (SRAMs), compact disk read-only memories (CD-ROMs), digital versatile disks (DVDs), Blu-ray (RTM) disks, memory sticks, integrated circuit cards, and the like.

[0233] The computer readable instructions may include either assembler instructions, Instruction Set Architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk®, JAVA®, C++, etc., and conventional procedural programming languages ​​such as the “C” programming language or similar programming languages.

[0234] Computer readable instructions may be provided to a processor or programmable circuitry of a general purpose computer, special purpose computer, or other programmable data processing apparatus, either locally or over a local area network (LAN), a wide area network (WAN), such as the Internet, etc., to execute the computer readable instructions to create means for performing the operations specified in the flowcharts or block diagrams. Examples of processors include computer processors, processing units, microprocessors, digital signal processors, controllers, microcontrollers, etc.

[0235] 17 illustrates an example of a computer 9900 in which aspects of the present invention may be embodied in whole or in part. Programs installed on the computer 9900 may cause the computer 9900 to function as or perform operations associated with an apparatus or one or more sections of the apparatus according to an embodiment of the present invention, and / or to perform a process or steps of a process according to an embodiment of the present invention. Such programs may be executed by the CPU 9912 to cause the computer 9900 to perform specific operations associated with some or all of the blocks of the flowcharts and block diagrams described herein.

[0236] The computer 9900 according to this embodiment includes a CPU 9912, a RAM 9914, a graphic controller 9916, and a display device 9918, which are connected to each other by a host controller 9910. The computer 9900 also includes input / output units such as a communication interface 9922, a hard disk drive 9924, a DVD drive 9926, and an IC card drive, which are connected to the host controller 9910 via an input / output controller 9920. The computer also includes legacy input / output units such as a ROM 9930 and a keyboard 9942, which are connected to the input / output controller 9920 via an input / output chip 9940.

[0237] The CPU 9912 operates according to programs stored in the ROM 9930 and the RAM 9914, thereby controlling each unit. The graphics controller 9916 retrieves image data generated by the CPU 9912 into a frame buffer or the like provided in the RAM 9914 or into itself, and causes the image data to be displayed on the display device 9918.

[0238] The communication interface 9922 communicates with other electronic devices over a network. The hard disk drive 9924 stores programs and data used by the CPU 9912 in the computer 9900. The DVD drive 9926 reads programs or data from the DVD-ROM 9901 and provides the programs or data to the hard disk drive 9924 via the RAM 9914. The IC card drive reads programs and data from an IC card and / or writes programs and data to an IC card.

[0239] The ROM 9930 stores therein a boot program or the like executed by the computer 9900 upon activation, and / or a program that depends on the hardware of the computer 9900. The input / output chip 9940 may also connect various input / output units to the input / output controller 9920 via a parallel port, a serial port, a keyboard port, a mouse port, etc.

[0240] The programs are provided by a computer-readable medium such as a DVD-ROM 9901 or an IC card. The programs are read from the computer-readable medium, installed in the hard disk drive 9924, the RAM 9914, or the ROM 9930, which are also examples of computer-readable media, and executed by the CPU 9912. Information processing described in these programs is read by the computer 9900, and brings about cooperation between the programs and the various types of hardware resources described above. An apparatus or method may be constructed by implementing information manipulation or processing according to the use of the computer 9900.

[0241] For example, when communication is performed between the computer 9900 and an external device, the CPU 9912 may execute a communication program loaded in the RAM 9914 and instruct the communication interface 9922 to perform communication processing based on the processing described in the communication program. Under the control of the CPU 9912, the communication interface 9922 reads transmission data stored in a transmission buffer processing area provided in the RAM 9914, the hard disk drive 9924, the DVD-ROM 9901, or a recording medium such as an IC card, and transmits the read transmission data to the network, or writes reception data received from the network to a reception buffer processing area or the like provided on the recording medium.

[0242] The CPU 9912 may also cause all or a necessary portion of a file or database stored on an external recording medium such as the hard disk drive 9924, the DVD drive 9926 (DVD-ROM 9901), an IC card, etc. to be read into the RAM 9914, and perform various types of processing on the data on the RAM 9914. The CPU 9912 then writes back the processed data to the external recording medium.

[0243] Various types of information, such as various types of programs, data, tables, and databases, may be stored in the recording medium and undergo information processing. The CPU 9912 may perform various types of processing on the data read from the RAM 9914, including various types of operations, information processing, conditional judgment, conditional branching, unconditional branching, information search / replacement, etc., as described throughout this disclosure and specified by the instruction sequence of the program, and write back the results to the RAM 9914. The CPU 9912 may also search for information in a file, database, etc. in the recording medium. For example, when a plurality of entries each having an attribute value of a first attribute associated with an attribute value of a second attribute are stored in the recording medium, the CPU 9912 may search for an entry that matches a condition, in which an attribute value of the first attribute is specified, from among the plurality of entries, read the attribute value of the second attribute stored in the entry, and thereby obtain the attribute value of the second attribute associated with the first attribute that satisfies a predetermined condition.

[0244] The above-described programs or software modules may be stored in a computer-readable medium on the computer 9900 or in the vicinity of the computer 9900. In addition, a recording medium such as a hard disk or a RAM provided in a server system connected to a dedicated communication network or the Internet can be used as a computer-readable medium, thereby providing the programs to the computer 9900 via the network.

[0245] Although the present invention has been described above using the embodiments, the technical scope of the present invention is not limited to the scope described in the above embodiments. It is clear to those skilled in the art that various modifications and improvements can be made to the above embodiments. It is clear from the description of the claims that such modifications and improvements can also be included in the technical scope of the present invention.

[0246] It should be noted that the order of execution of each process, such as operations, procedures, steps, and stages, in the devices, systems, programs, and methods shown in the claims, specifications, and drawings is not specifically stated as "before," "prior to," etc., and may be realized in any order unless the output of a previous process is used in a later process. Even if the operational flow in the claims, specifications, and drawings is explained using "first," "next," etc. for convenience, it does not mean that it is essential to perform the process in this order. [Explanation of symbols]

[0247] 10 Equipment 15 Control Object 20 Control device 30 Simulator 40 Evaluation Models 100 Apparatus according to the first embodiment 110 Status data acquisition unit 120 Detection unit 130 Target Data Determination Unit 140 Simulation Data Acquisition Section 150 Return operation decision unit 190 Warning section 510 Control section 610 Index acquisition part 1000 Apparatus according to the second embodiment 170 Evaluation Department 180 Search Department 1500 Apparatus according to the third embodiment 1510 First return processing unit 1520 Second return processing unit 1530 Priority storage 1540 Return Processing Selection Section 1550 Information Department 1560 User Input Section 9900 Computer 9901 DVD-ROM 9910 Host Controller 9912 CPU 9914 RAM 9916 Graphics Controller 9918 Display Device 9920 Input / Output Controller 9922 Communication Interface 9924 Hard Disk Drive 9926 DVD Drive 9930 ROM 9940 Input / Output Chip 9942 Keyboard

Claims

1. a first return processing unit that executes a first return process that determines a return operation for returning the equipment to normal from an abnormality based on a simulation result using the simulator; a second return processing unit that executes a second return process for searching for the return operation by a trial operation using an actual device; a recovery process selection unit that selects a recovery process to be executed from the first recovery process and the second recovery process in accordance with a predetermined rule when an abnormality occurs in the equipment; An apparatus comprising:

2. 2. The device according to claim 1, wherein the recovery process selection unit selects the other of the first recovery process and the second recovery process when the equipment does not recover from an abnormality to normal within predetermined conditions while selecting one of the first recovery process and the second recovery process.

3. The device according to claim 2 , wherein the return process selection unit selects the other return process when a number of times the control target is controlled while one of the return processes is selected exceeds a predetermined threshold.

4. The device according to claim 2 , wherein the restoration process selection unit selects the other restoration process when an elapsed time exceeds a predetermined threshold while the one restoration process is selected.

5. a priority storage unit configured to store a first priority for prioritizing the first return process and a second priority for prioritizing the second return process, The device according to claim 1 , wherein the recovery process selection unit selects a recovery process to be executed according to the first priority and the second priority.

6. The device according to claim 5 , wherein the recovery process selection unit increases the first priority when the equipment recovers from an abnormality to normal while the first recovery process is selected, and increases the second priority when the equipment recovers from an abnormality to normal while the second recovery process is selected.

7. The device according to claim 5, wherein the recovery process selection unit lowers the first priority when the equipment does not recover from the abnormality while the first recovery process is selected, and lowers the second priority when the equipment does not recover from the abnormality while the second recovery process is selected.

8. The apparatus of claim 1 , wherein the return process selection unit selects both the first return process and the second return process for at least a portion of the time period.

9. The apparatus according to claim 8 , wherein the second return processing unit executes the second return process during execution of a simulation in the first return process.

10. The device according to claim 1 , further comprising an alarm unit that notifies the user that the equipment cannot be automatically restored if the equipment does not return to normal from the abnormality by either the first restoration process or the second restoration process.

11. The device according to claim 10 , further comprising a user input unit that accepts input of the restoration operation by a user when it is notified that the equipment cannot be automatically restored.

12. The computer Executing a first recovery process for determining a recovery operation for recovering the equipment from an abnormality to a normal state based on a simulation result using the simulator; executing a second return process for searching for the return operation by a trial operation using an actual device; selecting a recovery process to be executed from the first recovery process and the second recovery process in accordance with a predetermined rule when an abnormality occurs in the equipment; A method comprising:

13. The method is executed by a computer, causing the computer to: a first return processing unit that executes a first return process that determines a return operation for returning the equipment to normal from an abnormality based on a simulation result using the simulator; a second return processing unit that executes a second return process for searching for the return operation by a trial operation using an actual device; a recovery process selection unit that selects a recovery process to be executed from the first recovery process and the second recovery process in accordance with a predetermined rule when an abnormality occurs in the equipment; A program that makes things work.

Citation Information

Patent Citations

  • Method and device for controlling plant

    JP1987204302A

  • Plant operation support system

    JP2017219998A

  • Robot restoration support device and robot system comprising the same

    JP2018051686A

  • Control support device, control support method, control support program, and control system

    JP2021174397A