[go: up one dir, main page]

WO2022270056A1 - 予測システム、情報処理装置および情報処理プログラム - Google Patents

予測システム、情報処理装置および情報処理プログラム Download PDF

Info

Publication number
WO2022270056A1
WO2022270056A1 PCT/JP2022/012260 JP2022012260W WO2022270056A1 WO 2022270056 A1 WO2022270056 A1 WO 2022270056A1 JP 2022012260 W JP2022012260 W JP 2022012260W WO 2022270056 A1 WO2022270056 A1 WO 2022270056A1
Authority
WO
WIPO (PCT)
Prior art keywords
prediction model
execution time
unit
prediction
maximum
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2022/012260
Other languages
English (en)
French (fr)
Inventor
洋輔 長林
高史 藤井
真輔 川ノ上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to CN202280037783.3A priority Critical patent/CN117377916A/zh
Priority to EP22827976.6A priority patent/EP4361742A4/en
Priority to US18/564,918 priority patent/US20240386293A1/en
Publication of WO2022270056A1 publication Critical patent/WO2022270056A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/058Safety, monitoring
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41875Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by quality surveillance of production

Definitions

  • the present disclosure relates to a prediction system that predicts changes occurring in a controlled object, an information processing device that configures the prediction system, and an information processing program for realizing the information processing device.
  • Controllers used to control the operations of machines and equipment include general-purpose PLCs and dedicated program-controlled controllers for individual machines.
  • PLC is, for example, a CPU (Central Processing Unit) unit that includes a microprocessor that executes control programs, an IO (Input Output) unit that is in charge of signal input from external switches and sensors and signal output to external relays and actuators. consists of multiple units such as The PLC executes control operations while exchanging data between these units via the PLC system bus and/or field network every control program execution cycle.
  • CPU Central Processing Unit
  • IO Input Output
  • the controller support device is used to create control programs to be executed by the controller and various setting information for the controller, and transfer them to the controller.
  • a controller support device is configured, for example, by installing a controller support program in a general-purpose computer.
  • the controller support device has, for example, an editor function for creating a control program source list, a compiler function for generating an object program that runs on the controller from the control program source list, and a controller function for test-executing the control program in the controller support device. It has a simulator function and a communication function with the controller.
  • the execution time of this control program is referred to when determining the period of the execution cycle of that control program. Further, when determining different execution priorities and execution cycle periods for a plurality of control programs to be executed by the controller, the execution time of each control program is referred to.
  • the controller support device and the controller often have different hardware and operating systems for executing control programs. Also, the execution code itself of the control program may be different between the simulator and the controller. Therefore, the execution time of the control program executed by the simulator of the controller support device may differ from the execution time of the control program executed by the controller, and various methods have been proposed (see JP-A-2012-194669). ).
  • variable prediction model construction method that uses machine learning for control
  • the inference execution time varies depending on the input data, so there was the problem that the maximum execution time was unknown. Therefore, it is necessary to measure the execution time by repeating the execution of the inference while the prediction model is placed on the device, and the evaluation of the prediction model is time-consuming.
  • the purpose of this disclosure is to provide a method for evaluating prediction models more simply.
  • a prediction system based on a certain aspect includes a control calculation unit that executes control calculations for controlling a controlled object; It includes a predicted value acquisition unit that acquires a predicted value by inputting a prediction value, a prediction model generation unit that generates a prediction model based on a learning algorithm with a tree structure, and a prediction model evaluation unit that evaluates the prediction model.
  • the prediction model evaluation unit is an execution time acquisition unit that acquires first and second execution times, which are times for outputting prediction values by inputting first and second data to the prediction model, respectively;
  • a maximum execution time calculation unit that calculates the maximum execution time of the prediction model based on the first and second execution times obtained by the execution time acquisition unit, and evaluates the prediction model based on the calculation result of the maximum execution time calculation unit. and an evaluation part.
  • the prediction system can calculate the maximum execution time of the prediction model and easily evaluate the prediction model based on the calculation result.
  • the maximum execution time calculation unit calculates the unit execution time in the unit processing count based on the difference between the first execution time and the second execution time and the difference between the number of times of processing in the first execution time and the number of times of processing in the second execution time. , the maximum execution time is calculated based on the maximum number of processing times and the unit execution time. According to this configuration, the prediction system calculates the maximum execution time based on the difference in the number of times of processing, the maximum number of times of processing, and the unit execution time. Therefore, prediction models can be easily evaluated.
  • the prediction model performs multiple prediction processes on the input data.
  • the maximum execution time calculation unit calculates the number of times of processing in the first and second execution times based on the sum of the number of times of processing in each of the plurality of prediction processes, and the sum of the maximum number of times of processing in each of the plurality of prediction processes. Based on this, the maximum number of processing times is calculated.
  • the prediction system calculates the maximum execution time based on the total number of processing times of each prediction process and the maximum number of processing times. Therefore, prediction models can be easily evaluated.
  • a prediction model is generated based on a learning algorithm with a decision tree structure using a random forest. With this configuration, it is possible to realize a highly accurate prediction system. An evaluator evaluates the predictive model based on a comparison of the predetermined control task duration and the maximum execution time. According to this configuration, the prediction model can be easily evaluated.
  • the predictive model generator generates a plurality of predictive models according to the adjustment of the parameters by the adjuster.
  • the prediction model evaluation unit further includes an evaluation result output unit that evaluates each of the plurality of prediction models and outputs evaluation results of the plurality of prediction models. According to this configuration, the prediction model can be easily evaluated.
  • An information processing device is an information processing device connected to a control device, and the control device includes a control calculation unit that executes control calculations for controlling a controlled object, and a control calculation unit that can refer to the control calculation unit. and a predicted value acquiring unit that acquires a predicted value by inputting an actual value including one or a plurality of state values among the state values to the prediction model.
  • the information processing device includes a prediction model generation unit that generates a prediction model based on a tree structure learning algorithm, and a prediction model evaluation unit that evaluates the prediction model.
  • the prediction model evaluation unit is an execution time acquisition unit that acquires first and second execution times, which are times for outputting prediction values by inputting first and second data to the prediction model, respectively;
  • a maximum execution time calculation unit that calculates the maximum execution time of the prediction model based on the first and second execution times obtained by the execution time acquisition unit, and evaluates the prediction model based on the calculation result of the maximum execution time calculation unit. and an evaluation part.
  • the information processing device can calculate the maximum execution time of the prediction model and easily evaluate the prediction model based on the calculation result.
  • An information processing program based on a certain aspect is an information processing program executed by a computer connected to a control device, the control device comprising: a control computation unit that executes control computation for controlling a controlled object; a predicted value acquisition unit that acquires a predicted value by inputting into the prediction model actual values made up of one or more state values among the state values that can be referred to, the information processing program comprising: generating a prediction model based on the learning algorithm of and evaluating the prediction model.
  • the step of evaluating the prediction model includes obtaining first and second execution times, which are times for outputting prediction values by inputting first and second data to the prediction model, and obtaining calculating a maximum execution time of the prediction model based on the calculated first and second execution times; and evaluating the prediction model based on the calculated maximum execution time.
  • the information processing program can calculate the maximum execution time of the prediction model and easily evaluate the prediction model based on the calculation result.
  • unit and “device” do not simply mean physical means, but also include a configuration that implements the functions of the "unit” and “device” by software.
  • the functions of one "part” and “device” may be realized by two or more physical means or devices, or the functions of two or more "parts” and “devices” may be combined into one physical unit. may be realized by any means or device.
  • unit and “apparatus” are concepts that can be rephrased as, for example, “means” and "system”.
  • the prediction system, information processing device, and information processing program of the present disclosure can evaluate prediction models more simply.
  • FIG. 1 It is a schematic diagram which shows the whole structural example of the prediction system 1 based on embodiment. It is a mimetic diagram showing an example of application of prediction system 1 based on an embodiment. It is a figure explaining the control system by the prediction system 1 based on embodiment. 4 is a schematic diagram showing an example of control based on a prediction result of a predictive control system by the predictive system 1 based on the embodiment; FIG. It is a flow chart which shows a processing procedure of generation processing of prediction model 140 using prediction system 1 based on an embodiment. It is a figure explaining the learning method of the prediction model 140 based on embodiment. It is a block diagram which shows the hardware structural example of the control apparatus 100 which comprises the prediction system 1 based on embodiment.
  • FIG. 10 is a block diagram outlining functional modules included in analysis program 226 shown in FIG. 9 according to an embodiment;
  • FIG. It is a figure explaining the prediction model evaluation part which evaluates the prediction model based on embodiment.
  • FIG. 9 It is a figure explaining the structure of the prediction model based on embodiment.
  • a control system with a prediction function based on an embodiment.
  • the prediction function of the control system will be mainly focused on, so the control system as a whole will also be referred to as a "prediction system.”
  • FIG. 1 is a schematic diagram showing an example of the overall configuration of a prediction system 1 based on an embodiment.
  • a prediction system 1 based on the embodiment includes, as main components, a control device 100 that controls a controlled object, and a support device 200 connected to the control device 100 .
  • the control device 100 may be embodied as a kind of computer such as a PLC (programmable controller).
  • the control device 100 is connected to the field device group 10 via the fieldbus 2 and may be connected to one or more display devices 400 via the fieldbus 4 .
  • the control device 100 may be connected to the host server 300 via the host network 6 .
  • the host server 300 and the display device 400 are optional components and not essential components of the prediction system 1 .
  • the control device 100 has control logic (hereinafter also referred to as “PLC engine”) that executes various calculations for controlling equipment and machines.
  • PLC engine control logic
  • the control device 100 has a collection function that collects data (hereinafter also referred to as “input data”) that is measured by the field device group 10 and transferred to the control device 100 .
  • input data data
  • the control device 100 also has a prediction function for predicting future time changes based on the collected input data.
  • a time series database 130 implemented in the control device 100 provides a collection function
  • a prediction model 140 implemented in the control device 100 Provide monitoring capabilities. Details of the TSDB 130 and the prediction model 140 will be described later.
  • Fieldbus 2 and Fieldbus 4 preferably adopt an industrial communication protocol.
  • EtherCAT registered trademark
  • EtherNet/IP registered trademark
  • DeviceNet registered trademark
  • CompoNet registered trademark
  • the field device group 10 includes devices that collect input data from control targets or control-related manufacturing devices, production lines, and the like (hereinafter also collectively referred to as "fields"). An input relay, various sensors, and the like are assumed as a device for collecting such input data. Field device group 10 further includes devices that give some effect to the field based on commands (hereinafter also referred to as “output data”) generated by control device 100 . Output relays, contactors, servo drivers and servo motors, and any other actuators are contemplated as devices that exert some action on such fields. These field device groups 10 exchange data including input data and output data with the control device 100 via the fieldbus 2 .
  • the field device group 10 includes a remote I/O (Input/Output) device 12, a relay group 14, an image sensor 18 and a camera 20, a servo driver 22 and a servo motor 24.
  • a remote I/O (Input/Output) device 12 includes a remote I/O (Input/Output) device 12, a relay group 14, an image sensor 18 and a camera 20, a servo driver 22 and a servo motor 24.
  • the remote I/O device 12 includes a communication unit that communicates via the fieldbus 2 and an input/output unit (hereinafter also referred to as "I/O unit") for collecting input data and outputting output data. including. Input data and output data are exchanged between the control device 100 and the field via such an I/O unit.
  • FIG. 1 shows an example in which digital signals are exchanged as input data and output data via the relay group 14 .
  • the I/O unit may be directly connected to the fieldbus 2.
  • FIG. 1 shows an example in which an I/O unit 16 is directly connected to the fieldbus 2 .
  • the image sensor 18 performs image measurement processing such as pattern matching on the image data captured by the camera 20 and transmits the processing result to the control device 100 .
  • the servo driver 22 drives the servo motor 24 according to output data (for example, position commands, etc.) from the control device 100 .
  • the display device 400 connected to the control device 100 via the fieldbus 4 receives an operation from the user and transmits a command or the like according to the user operation to the control device 100, and the control device 100 graphically displays the calculation results of
  • the host server 300 is connected to the control device 100 via the host network 6 and exchanges necessary data with the control device 100 .
  • a general-purpose protocol such as Ethernet (registered trademark) may be implemented in the upper network 6 .
  • the support device 200 is an information processing device (an example of a computer) that supports preparations necessary for the control device 100 to control the control target.
  • the support device 200 includes a development environment (program creation and editing tool, parser, compiler, etc.) for the user program executed by the control device 100, parameters of the control device 100 and various devices connected to the control device 100 ( configuration), a function to send the generated user program to the control device 100, a function to modify/change the user program executed on the control device 100 online, and the like.
  • a development environment program creation and editing tool, parser, compiler, etc.
  • the support device 200 based on the embodiment has functions for supporting the generation and optimization of the prediction model 140 implemented in the control device 100. That is, the support device 200 has a prediction model generator that determines the prediction model 140 in advance. Details of these functions will be described later.
  • FIG. 2 is a schematic diagram showing an application example of the prediction system 1 based on the embodiment.
  • FIG. 2 shows an example of a production facility including a press machine 30. As shown in FIG.
  • the press machine 30 receives a workpiece 31 and places the received workpiece 31 on a support table 34 provided on a base 33 . Then, the workpiece 31 is compressed by a pushing plate 35 provided at the tip of a drive shaft 36 driven by a motor 37 to produce an intermediate product 32 .
  • the press machine 30 it is assumed that a defect may occur in the intermediate product 32 due to unexpected factor fluctuations. Therefore, whether or not the intermediate product 32 is defective is determined by an inspection by an inspection machine arranged downstream of the press machine 30, or by a visual inspection or sampling inspection by an inspector. If it is determined that a defect has occurred, the target value and the like will be adjusted each time.
  • the control by the control device 100 can be performed before a defect actually occurs. can be corrected.
  • advance prediction of unnecessary occurrence it is possible to reduce the number of man-hours required for each adjustment of the target value and prevent defects from occurring in the intermediate product 32 .
  • FIG. 3 is a diagram explaining the control system of the prediction system 1 based on the embodiment.
  • a press machine 30 is controlled in this example.
  • a target value is generated by inputting the setting value of the device into the existing control system.
  • the manipulated variable for the controlled object is set by feedback control based on the controlled variable of the press machine 30 and the target value.
  • a predictive control system is provided for the existing control system.
  • a predictor is provided that calculates an objective variable for an explanatory variable.
  • One example of a predictor is predictive model 140 .
  • a correction value is calculated by the corrector based on the target value of the quality characteristics of the press machine 30 and the objective variable. The correction value is added to the manipulated variable.
  • FIG. 4 is a schematic diagram showing an example of control based on the prediction result of the prediction control system by the prediction system 1 based on the embodiment.
  • FIG. 4(A) shows the planned value (command) of the pressing position of the press machine at a certain time and the actual pressing position (actual value) of the pressing machine 30 .
  • the target value indicates the desired thickness of the intermediate product 32 after processing.
  • the future pressing position (predicted value) of the press machine 30 is calculated, and the calculated predicted value is calculated. Based on the value, the operation amount for the press machine 30 is corrected by the correction value.
  • the data used for prediction (actual values or observed values) and the data to be predicted may be partially or entirely the same, or may be completely different.
  • the prediction system 1 based on the embodiment provides functions for appropriately generating the prediction model 140.
  • a function for appropriately generating predictive model 140 may typically be implemented in support device 200 .
  • FIG. 5 is a flowchart showing the processing procedure for generating the prediction model 140 using the prediction system 1 based on the embodiment. Each step shown in FIG. 5 is typically implemented by processor 202 of support device 200 executing a program (analysis program 226, OS 228, etc.).
  • the support device 200 acquires time-series data of actual values stored in the TSDB 130 (step S1). Subsequently, the support device 200 receives setting of a prediction target section from the obtained time-series data of actual values (step S2).
  • the support device 200 selects learning samples used to generate a prediction model for predicting changes in the prediction target section set in step S2 (step S3).
  • step S3 which data is to be used for learning is selected from the plurality of types of data.
  • the support device 200 performs machine learning based on the selected learning sample (step S4).
  • the support device 200 generates the prediction model 140 by machine learning (step S6).
  • the prediction model 140 in this example is composed of a decision tree.
  • the decision tree is configured to output an indentation position (predicted value) for a feature value at a certain point in time.
  • CLS Concept Learning System
  • ID3 Iterative Dichotomiser 3
  • C4.5 etc.
  • sample means a data string of a predetermined length of time used as teacher data for predicted values to be output from the prediction model 140.
  • Sample basically uses the time-series data (raw data) of the prediction target, but if the prediction target is a feature extracted from the time-series data, the feature may be used. .
  • the term “sample” focuses on a unit of processing when processing a plurality of data, and does not particularly limit the contents of the data included therein.
  • the data referred to for calculating or determining any predicted value is also referred to as "explanatory variable”. Any predictive value is calculated or determined using one or more "explanatory variables.” Therefore, the training samples are associated in some way with data that can be candidates for "explanatory variables.”
  • feature is a term that includes information contained in the time-series data to be processed, for example, the maximum value, minimum value, median value, average value, May include standard deviation, variance, and the like. Note that the “feature amount” may also include the target time-series data itself.
  • FIG. 6 is a diagram explaining the learning method of the prediction model 140 based on the embodiment.
  • time-series data stored in the TSDB 130 are shown.
  • a prediction target interval is set for the time-series data, and a prediction value, which is an objective variable to be predicted, is estimated for two feature values at times t and t ⁇ 1 in the prediction target interval.
  • FIG. 6B using the time-series data, a case is shown in which the learning process is executed with a shift of the unit time.
  • FIG. 7 is a block diagram showing a hardware configuration example of the control device 100 that configures the prediction system 1 based on the embodiment.
  • control device 100 includes a processor 102 such as a CPU (Central Processing Unit) or MPU (Micro-Processing Unit), a chipset 104, a main storage device 106, a secondary storage device 108, Host network controller 110, USB (Universal Serial Bus) controller 112, memory card interface 114, internal bus controller 122, field bus controllers 118, 120, I/O units 124-1, 124-2, . including.
  • the processor 102 implements the PLC engine 150 and the prediction model 140 by reading out various programs stored in the secondary storage device 108, deploying them in the main storage device 106, and executing them.
  • the chipset 104 controls data transmission between the processor 102 and each component.
  • the secondary storage device 108 stores a system program for realizing the PLC engine 150 as well as a user program executed using the PLC engine 150 . Furthermore, the secondary storage device 108 also stores a program for realizing the prediction model 140 .
  • the host network controller 110 controls data exchange with another device via the host network 6 .
  • the USB controller 112 controls data exchange with the support device 200 via a USB connection.
  • the memory card interface 114 is configured such that a memory card 116 can be attached/detached, and data can be written to the memory card 116 and various data (user program, trace data, etc.) can be read from the memory card 116.
  • the internal bus controller 122 is an interface that exchanges data with the I/O units 124-1, 124-2, .
  • the fieldbus controller 118 controls data exchange with another device via the fieldbus 2 .
  • fieldbus controller 120 controls the exchange of data with other devices via fieldbus 4 .
  • FIG. 7 shows a configuration example in which necessary functions are provided by the processor 102 executing a program.
  • the main part of the control device 100 may be realized using hardware based on a general-purpose architecture (for example, an industrial personal computer based on a general-purpose personal computer).
  • virtualization technology may be used to run multiple OSs (Operating Systems) for different purposes in parallel, and to run necessary applications on each OS.
  • the support device 200 is realized by executing a program using hardware based on general-purpose architecture (for example, a general-purpose personal computer), for example.
  • general-purpose architecture for example, a general-purpose personal computer
  • FIG. 8 is a block diagram showing a hardware configuration example of the support device 200 that configures the prediction system 1 based on the embodiment.
  • support device 200 includes processor 202 such as a CPU or MPU, optical drive 204, main storage device 206, secondary storage device 208, USB controller 212, upper network controller 214, An input section 216 and a display section 218 are included. These components are connected via bus 220 .
  • the processor 202 reads various programs stored in the secondary storage device 208, develops them in the main storage device 206, and executes them, thereby realizing various processes including model generation processing as described later.
  • the secondary storage device 208 is composed of, for example, an HDD (Hard Disk Drive) or an SSD (Flash Solid State Drive).
  • the secondary storage device 208 typically contains a development program 222 for creating a user program to be executed in the support device 200, debugging the created user program, defining the system configuration, setting various parameters, and the like.
  • a PLC interface program 224 for exchanging data relating to prediction functions with the control device 100, an analysis program 226 for realizing generation of the prediction model 140, and an OS 228 are stored.
  • the secondary storage device 208 may store necessary programs other than the programs shown in FIG.
  • the support device 200 has an optical drive 204, and from a recording medium 205 (for example, an optical recording medium such as a DVD (Digital Versatile Disc)) that stores a computer-readable program non-transitory,
  • a recording medium 205 for example, an optical recording medium such as a DVD (Digital Versatile Disc)
  • the stored program is read and installed in the secondary storage device 208 or the like.
  • Various programs executed by the support device 200 may be installed via the computer-readable recording medium 205, or may be installed by downloading from any server on the network. Also, the functions provided by the support device 200 based on the embodiment may be realized by using some of the modules provided by the OS.
  • the USB controller 212 controls data exchange with the control device 100 via a USB connection.
  • the upper network controller 214 controls exchange of data with another device via any network.
  • the input unit 216 is composed of a keyboard, mouse, etc., and receives user operations.
  • a display unit 218 includes a display, various indicators, a printer, and the like, and outputs processing results from the processor 202 and the like.
  • FIG. 8 shows a configuration example in which necessary functions are provided by the processor 202 executing a program. Alternatively, it may be implemented using an FPGA, etc.).
  • FIG. 9 is a block diagram showing a software configuration example of the control device 100 and the support device 200 that configure the prediction system 1 based on the embodiment.
  • control device 100 includes TSDB 130 and prediction model 140 in addition to PLC engine 150 as main functional configurations.
  • the PLC engine 150 sequentially interprets the user program 154 and executes designated control operations.
  • the PLC engine 150 manages state values collected from fields in the form of variables 152, which are updated at predetermined intervals.
  • PLC engine 150 may be implemented by processor 102 of control device 100 executing a system program.
  • state values include input values collected from fields, command values output to fields, and system state values and internal values managed inside control device 100.
  • state values are referred to in the form of “variables”, so in the following description, the term “variables” is used to include “state values” for convenience. It should be noted that the technical scope of the present disclosure is not limited to a configuration that refers to "state values” in the form of “variables.”
  • the user program 154 includes a predicted value acquisition code 156, an error evaluation code 158, an additional learning code 160, a TSDB writing code 162, and a control operation code 164.
  • the predicted value acquisition code 156 implements a predicted value acquisition unit that acquires a predicted value by inputting to the prediction model 140 an actual value consisting of one or more state values among the state values that the control operation code 164 can refer to. . More specifically, the predictive value acquisition code 156 includes instructions to acquire the required actual values managed as variables 152 and input them into the predictive model 140 to obtain the predictive values.
  • the error evaluation code 158 includes instructions for evaluating the error between the predicted value obtained by the predicted value obtaining code 156 and the target value.
  • the additional learning code 160 includes instructions for additional learning of the prediction model 140 as necessary according to the error evaluated by the error evaluation code 158 .
  • the TSDB write code 162 acquires predetermined variables among the variables managed as the variables 152 and writes them to the storage area 132 of the TSDB 130 .
  • the control operation code 164 implements a control operation unit that executes control operations for controlling the controlled object. More specifically, the control operation code 164 executes a control operation for controlling the controlled object, and, according to the error evaluated by the error evaluation code 158, sets the target value used for the control operation as needed. correct.
  • the TSDB 130 has an export module 134 that exports the data written in the storage area 132 to the support device 200 or the like as necessary.
  • Predictive model 140 has a reference trajectory 144 .
  • the support device 200 has a development program 222 and an analysis program 226 installed.
  • the development program 222 generates the user program 154 and transfers it to the control device 100 according to the user's operation.
  • the development program 222 also has a function of modifying the contents of the control operation code 164 as appropriate.
  • the analysis program 226 corresponds to an information processing program for realizing a prediction model generation unit that determines the prediction model 140 in advance. More specifically, analysis program 226 assists in generating predictive model 140 and includes model generation module 2262 and evaluation module 2264 .
  • the model generation module 2262 implements the functions necessary for the process of generating the prediction model 140.
  • FIG. 10 is a block diagram outlining the functional modules included in the analysis program 226 shown in FIG. 9 according to an embodiment.
  • analysis program 226 of support device 200 includes, as main functional components, user interface 230, input/output management module 236, screen display module 238, graph library 240, analysis module 242, and analysis library 244 .
  • the user interface 230 accepts settings from the user and performs comprehensive processing to provide various types of information to the user.
  • the user interface 230 has a script engine 232, reads a setting file 234 containing a script describing necessary processing, and executes the set processing.
  • the input/output management module 236 includes a file input function for reading data from a specified file or the like, a stream input function for receiving a data stream, and a file output function for outputting a file containing generated data or the like.
  • the screen display module 238 includes a function of generating a model evaluation screen based on the input prediction model, and a function of receiving user operations and displaying evaluation results.
  • the graph library 240 may be referenced to perform necessary processing.
  • the analysis module 242 is a module that implements the main processing of the analysis program 226 and has a model generation function. Each function included in the analysis module 242 is implemented by referring to the analysis library 244 .
  • the analysis library 244 includes libraries for each function included in the analysis module 242 to execute processing. More specifically, the analysis library 244 has a statistic function, a decision tree function, a time series regression function, a grid search function, a clustering function, an inference speed evaluation function, an accuracy evaluation function, and an anomaly detection function. good too.
  • FIG. 11 is a diagram explaining a prediction model evaluation unit that evaluates a prediction model based on the embodiment.
  • prediction model evaluation unit 250 includes prediction model acquisition unit 251 , execution time acquisition unit 252 , maximum execution time calculation unit 254 and evaluation unit 256 .
  • the prediction model evaluation unit 250 is implemented by an evaluation module 2264 as an example.
  • the execution time acquisition unit 252 acquires the first and second execution times, which are the times for outputting the prediction value by inputting the first and second data to the prediction model.
  • the maximum execution time calculation unit 254 calculates the maximum execution time of the prediction model based on the first and second execution times acquired by the execution time acquisition unit 252.
  • the maximum execution time calculation unit 254 calculates the unit execution time for the unit number of processes based on the difference between the first and second execution times and the difference between the number of processes in the first execution time and the number of processes in the second execution time. Then, the maximum execution time is calculated based on the maximum number of times of processing and the unit execution time.
  • a predictive model performs multiple predictive operations on input data.
  • the maximum execution time calculation unit 254 calculates the number of times of processing in the first and second execution times based on the sum of the number of times of processing in each of the plurality of prediction processes, and sums the maximum number of times of processing in each of the plurality of prediction processes. Calculate the maximum number of processing times based on The prediction model is generated, for example, based on a learning algorithm with a decision tree structure using a random forest.
  • the evaluation unit 256 evaluates the prediction model based on the calculation result of the maximum execution time calculation unit 254. Evaluator 256 evaluates the predictive model based on a comparison of the predetermined control task duration and the maximum execution time.
  • FIG. 12 is a diagram explaining the structure of the prediction model based on the embodiment.
  • a prediction model with a decision tree structure based on random forest is shown.
  • decision trees DT1 to DTN are provided, and prediction results are obtained respectively, and the final prediction result is obtained by majority vote as an example.
  • the calculation process of the prediction model is a search process that follows links from the root node to the leaf nodes. Specifically, it is determined whether or not the input data satisfies the branch condition set in the root data, and based on this determination result, the search proceeds to the next applicable node.
  • the number of processing times differs depending on the structure of the decision tree.
  • information on the number of times of processing in each decision tree and the maximum number of times of processing is acquired together with the final prediction result.
  • FIG. 13 is a conceptual diagram explaining the processing time of the prediction model based on the embodiment.
  • the processing time of the prediction model in this example has a fixed value and a variable value.
  • the variable value is due to the number of times of processing.
  • a number of processes 1-N are shown for obtaining predictive data.
  • the number of times of processing in each process and the maximum number of times of processing are acquired.
  • the sum of the number of processing times in each processing is calculated.
  • the total sum of the maximum number of times of processing in each processing is calculated.
  • FIG. 14 is a diagram explaining the execution time of the prediction data of the prediction model based on the embodiment.
  • two prediction data PD1 and PD2 for the prediction model are shown. As shown in the figure, it is divided into a fixed portion and a variable portion based on the number of processing times. The variable part of the number of processes is the difference between the execution times of the two data.
  • FIG. 15 is a diagram explaining the unit execution time with respect to the number of unit processes of the prediction model based on the embodiment. Referring to FIG. 15, processing time ⁇ T for one process in the decision tree of the prediction model is shown.
  • FIG. 16 is a diagram explaining a method for calculating the maximum execution time of the prediction model based on the embodiment.
  • ⁇ T is the difference between the execution time T1 of prediction data PD1 and the execution time T2 of prediction data PD2, and the difference between the number of times C1 of processing of prediction data PD1 and the number of times of processing C2 of prediction data PD2. calculated based on
  • FIG. 17 is a conceptual diagram explaining evaluation of a prediction model based on the embodiment.
  • FIG. 18 is a diagram explaining the flow of prediction model evaluation processing based on the embodiment.
  • the prediction model acquisition unit 251 acquires a prediction model (step S10).
  • the execution time acquisition unit 252 acquires the first execution time T1 by inputting the first data for the acquired prediction model (step S12).
  • the execution time acquisition unit 252 acquires the second execution time T2 by inputting the second data for the acquired prediction model (step S14).
  • the maximum execution time calculation unit 254 calculates the difference in the number of times of processing (step S16).
  • the maximum execution time calculation unit 254 calculates the difference
  • the maximum execution time calculation unit 254 calculates a unit processing time ⁇ T based on the unit processing times (step S18).
  • the maximum execution time calculation unit 254 calculates the difference
  • the operation Cmax of the maximum number of processing times of the prediction model is obtained.
  • the maximum execution time calculation unit 254 A unit processing time ⁇ T is calculated based on the number of unit processing times.
  • the maximum execution time calculator 254 calculates the maximum execution time (step S20).
  • the evaluation unit 256 determines whether the maximum execution time is within the control task cycle (step S22). The evaluation unit 256 determines whether the calculated maximum execution time B is within the control task period.
  • the control task period can be set to any value by the system.
  • step S22 When the evaluation unit 256 determines in step S22 that the maximum execution time is within the control task period (YES in step S22), it makes an OK determination (step S24).
  • step S26 when the evaluation unit 256 determines in step S22 that the maximum execution time is not within the control task period (NO in step S22), it makes an NG determination (step S26).
  • an evaluation result screen is output in this example. Specifically, the evaluation result screen is output by executing the screen display module 238 .
  • FIG. 19 is a diagram illustrating an evaluation result screen 500 based on the embodiment.
  • evaluation result screen 500 shows tabs relating to model evaluation.
  • a graph 502 relating to the execution time of the prediction model M1 that satisfies the condition of the control task period of 1 ms is displayed.
  • Data for other predictive models M2-M4 are also shown.
  • the graph 502 displays a control program time of 0.7 ms, a system service time of 0.15 ms, a maximum execution time of 0.08 ms, and an idle time of 0.07 ms.
  • the maximum execution time is calculated by the maximum execution time calculator 254 described above. Control program time and system service time are fixed and determined.
  • free time is secured by calculating the maximum execution time, so the message 504 "Inference can be executed within the control task cycle.” is displayed.
  • an adjustment input field 510 is provided, and in the adjustment input field 510, an item for inputting a file as input data, an item for setting hyperparameters, an item for inputting inference accuracy as a target value, and a control An item for inputting a task period is provided.
  • a prediction model can be constructed or reconstructed based on the data entered in the adjustment input field 510.
  • the tree depth and the number of trees are, for example, the set values of the tree structure of the random forest.
  • FIG. 20 is another diagram illustrating the evaluation result screen based on the embodiment.
  • evaluation result screen 520 shows tabs relating to model evaluation.
  • a graph 522 relating to the execution time of the prediction model M5 that satisfies the condition of the control task period of 1 ms is displayed. Data for other predictive models M6-M8 are also shown.
  • the graph 522 displays a control program time of 0.7 ms, a system service time of 0.15 ms, and a maximum execution time of 0.2 ms.
  • the maximum execution time is calculated by the maximum execution time calculator 254 described above. Control program time and system service time are fixed and determined.
  • an adjustment input field 530 is provided, and in the adjustment input field 530, an item for inputting a file as input data, an item for setting hyperparameters, an item for inputting inference accuracy as a target value, an item for inputting inference accuracy as a target value, a control An item for inputting a task period is provided.
  • a prediction model can be constructed or reconstructed based on the data entered in the adjustment input field 530.
  • the tree depth and the number of trees are, for example, the set values of the tree structure of the random forest.
  • the maximum execution time of the prediction model is adjusted so that the total time is adjusted to fall within the control task period.
  • FIG. 21 is a diagram explaining details of evaluation results for a plurality of prediction models based on the embodiment.
  • the fit rate and maximum run time for each prediction model are shown in tabular form.
  • the user can select a suitable prediction model. Specifically, the prediction model with the shortest maximum execution time may be selected, or the Fit rate may be given priority and the prediction model with the maximum Fit rate may be selected. Alternatively, since the data sizes of the prediction models are also different, the prediction model with the smallest data size may be selected. Alternatively, the prediction model may be selected based on other parameters.
  • a prediction system (1) includes a control calculation unit (164) that executes control calculations for controlling a controlled object, and predicts an actual value consisting of one or more state values among state values that can be referred to by the control calculation unit.
  • a predicted value acquisition unit (156) that acquires predicted values by inputting them into the model, a prediction model generation unit (2262) that generates a prediction model based on a tree structure learning algorithm, and a prediction model evaluation unit that evaluates the prediction model. (2264, 250).
  • the predictive model evaluation unit is an execution time acquisition unit (252 ), a maximum execution time calculation unit (254) for calculating the maximum execution time of the prediction model based on the first and second execution times obtained by the execution time obtaining unit, and a maximum execution time calculation unit (254) based on the calculation result of the maximum execution time calculation unit and an evaluator (256) for evaluating the predictive model using the method.
  • the maximum execution time calculation unit calculates the unit execution time in the unit processing count based on the difference between the first execution time and the second execution time and the difference between the number of times of processing in the first execution time and the number of times of processing in the second execution time. , the maximum execution time is calculated based on the maximum number of processing times and the unit execution time.
  • a predictive model performs multiple predictive operations on input data.
  • the maximum execution time calculation unit calculates the number of times of processing in the first and second execution times based on the sum of the number of times of processing in each of the plurality of prediction processes, and the sum of the maximum number of times of processing in each of the plurality of prediction processes. Based on this, the maximum number of processing times is calculated.
  • a prediction model is generated based on a learning algorithm with a decision tree structure using a random forest.
  • the predictive model generator generates a plurality of predictive models according to the adjustment of the parameters by the adjuster.
  • the prediction model evaluation unit further includes an evaluation result output unit that evaluates each of the plurality of prediction models and outputs evaluation results of the plurality of prediction models.
  • the information processing device (200) is an information processing device connected to the control device (100).
  • the information processing device includes a prediction model generation unit (2262) that generates a prediction model based on a tree structure learning algorithm, and a prediction model evaluation unit (2264, 250) that evaluates the prediction model.
  • the predictive model evaluation unit is an execution time acquisition unit (252 ), a maximum execution time calculation unit (254) for calculating the maximum execution time of the prediction model based on the first and second execution times obtained by the execution time obtaining unit, and a maximum execution time calculation unit (254) based on the calculation result of the maximum execution time calculation unit and an evaluator (256) for evaluating the predictive model using the method.
  • the information processing program is an information processing program executed by a computer connected to the control device (100), and the control device includes a control calculation unit (164) that executes control calculations for controlling a controlled object; A predicted value acquisition unit (156) that acquires a predicted value by inputting to a prediction model an actual value consisting of one or more state values among the state values that can be referred to by the control calculation unit, the information processing program comprising: A computer is caused to generate a predictive model based on a tree-structured learning algorithm and to evaluate the predictive model.
  • the step of evaluating the prediction model is a step of obtaining first and second execution times, which are times for outputting prediction values by inputting first and second data to the prediction model (S12, S14), a step of calculating the maximum execution time of the prediction model based on the obtained first and second execution times (S20), and a step of evaluating the prediction model based on the calculation result of the maximum execution time (S24, S26).
  • the prediction model can be easily evaluated, so the prediction model suitable for actual operation can be easily generated.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Manufacturing & Machinery (AREA)
  • Feedback Control In General (AREA)
  • Programmable Controllers (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

ある局面に基づく予測システムは、制御対象を制御するための制御演算を実行する制御演算部と、制御演算部が参照可能な状態値のうち1または複数の状態値からなる実績値を予測モデルに入力することで予測値を取得する予測値取得部と、木構造の学習アルゴリズムに基づく予測モデルを生成する予測モデル生成部と、予測モデルを評価する予測モデル評価部とを備える。予測モデル評価部は、予測モデルに対して第1および第2のデータを入力したことにより予測値を出力するための時間である第1および第2実行時間をそれぞれ取得する実行時間取得部と、実行時間取得部で取得した第1および第2実行時間に基づいて、予測モデルの最大実行時間を算出する最大実行時間算出部と、最大実行時間算出部の算出結果に基づいて予測モデルを評価する評価部とを含む。

Description

予測システム、情報処理装置および情報処理プログラム
 本開示は、制御対象に生じる変化を予測する予測システム、予測システムを構成する情報処理装置、および情報処理装置を実現するための情報処理プログラムに関する。
 機械や設備などの動作を制御するために用いられるコントローラには、汎用のPLCや、個別の機械等に専用のプログラム制御のコントローラがある。
 PLCは、たとえば、制御プログラムを実行するマイクロプロセッサを含むCPU(Central Processing Unit)ユニット、外部のスイッチやセンサからの信号入力および外部のリレーやアクチュエータへの信号出力を担当するIO(Input Output)ユニット、といった複数のユニットで構成される。それらのユニット間で、制御プログラム実行サイクルごとに、PLCシステムバスおよび/またはフィールドネットワークを経由してデータの授受をしながら、PLCは制御動作を実行する。
 コントローラサポート装置は、コントローラに実行させる制御プログラムやコントローラに対する各種の設定情報を作成し、それらをコントローラに転送するために用いられる。コントローラサポート装置は、たとえば、汎用のコンピュータにコントローラサポートプログラムをインストールすることで構成される。コントローラサポート装置は、たとえば、制御プログラムのソースリストを作成するエディタ機能、制御プログラムのソースリストからコントローラで動作するオブジェクトプログラムを生成するコンパイラ機能、制御プログラムをコントローラサポート装置において試験実行させるためのコントローラのシミュレータ機能、および、コントローラとの通信機能などを有する。
 制御プログラムの開発段階では、コントローラがその制御プログラムを実行するのに要する実行時間を知る必要がある。この制御プログラムの実行時間は、その制御プログラムの実行サイクルの周期を定めるときに参照される。また、コントローラに実行させる複数の制御プログラムについて、互いに異なる実行優先度と実行サイクル周期とを定めるときに、それぞれの制御プログラムの実行時間が参照される。
 コントローラサポート装置とコントローラとでは、制御プログラムの実行に関するハードウェアやオペレーションシステムが異なることが多い。また、制御プログラムの実行コード自体もシミュレータ用とコントローラ用とでは異なる場合がある。そのため、コントローラサポート装置のシミュレータで実行した制御プログラムの実行時間は、コントローラで実行した制御プログラムの実行時間とは異なる場合があり、種々の方法が提案されている(特開2012-194669号公報参照)。
特開2012-194669号公報
 一方で、制御に機械学習を用いる可変的予測モデル構築方法においては、入力するデータにより推論実行時間が変動するため、最大実行時間が分からないという課題があった。そのため、装置上に予測モデルを配置した状態で、何度も推論実行を繰り返して実行時間を測定する必要があり、予測モデルの評価に手間がかかるという問題があった。
 本開示は、予測モデルをより簡易的に評価できる手法を提供することである。
 ある局面に基づく予測システムは、制御対象を制御するための制御演算を実行する制御演算部と、制御演算部が参照可能な状態値のうち1または複数の状態値からなる実績値を予測モデルに入力することで予測値を取得する予測値取得部と、木構造の学習アルゴリズムに基づく予測モデルを生成する予測モデル生成部と、予測モデルを評価する予測モデル評価部とを備える。予測モデル評価部は、予測モデルに対して第1および第2のデータを入力したことにより予測値を出力するための時間である第1および第2実行時間をそれぞれ取得する実行時間取得部と、実行時間取得部で取得した第1および第2実行時間に基づいて、予測モデルの最大実行時間を算出する最大実行時間算出部と、最大実行時間算出部の算出結果に基づいて予測モデルを評価する評価部とを含む。この構成によれば、予測システムは、予測モデルの最大実行時間を算出し、算出結果に基づいて予測モデルを簡易的に評価できる。
 最大実行時間算出部は、第1および第2実行時間の差分と、第1実行時間における処理回数と第2実行時間における処理回数との差分とに基づいて単位処理回数における単位実行時間を算出し、最大処理回数と単位実行時間とに基づいて最大実行時間を算出する。この構成によれば、予測システムは、処理回数の差分と、最大処理回数と、単位実行時間とに基づいて最大実行時間を算出する。したがって、予測モデルを簡易的に評価できる。
 予測モデルは、入力データに対する複数の予測処理を実行する。最大実行時間算出部は、複数の予測処理の各々での処理回数の総和に基づいて第1および第2実行時間における処理回数を算出し、複数の予測処理の各々での最大処理回数の総和に基づいて最大処理回数を算出する。この構成によれば、予測システムは、予測処理の各々の処理回数と、最大処理回数の総和に基づいて最大実行時間を算出する。したがって、予測モデルを簡易的に評価できる。
 予測モデルは、ランダムフォレストによる決定木構造の学習アルゴリズムに基づいて生成される。この構成によれば、精度の高い予測システムを実現することが可能である。評価部は、所定の制御タスク期間と、最大実行時間との比較に基づいて予測モデルを評価する。この構成によれば予測モデルを簡易的に評価できる。
 予測モデルのパラメータを調整可能な調整部をさらに備える。予測モデル生成部は、調整部によるパラメータの調整にしたがって複数の予測モデルを生成する。予測モデル評価部は、複数の予測モデルをそれぞれ評価し、複数の予測モデルの評価結果を出力する評価結果出力部をさらに備える。この構成によれば、予測モデルを簡易的に評価できる。
 ある局面に基づく情報処理装置は、制御装置に接続される情報処理装置であって、制御装置は、制御対象を制御するための制御演算を実行する制御演算部と、制御演算部が参照可能な状態値のうち1または複数の状態値からなる実績値を予測モデルに入力することで予測値を取得する予測値取得部とを備える。情報処理装置は、木構造の学習アルゴリズムに基づく予測モデルを生成する予測モデル生成部と、予測モデルを評価する予測モデル評価部とを含む。予測モデル評価部は、予測モデルに対して第1および第2のデータを入力したことにより予測値を出力するための時間である第1および第2実行時間をそれぞれ取得する実行時間取得部と、実行時間取得部で取得した第1および第2実行時間に基づいて、予測モデルの最大実行時間を算出する最大実行時間算出部と、最大実行時間算出部の算出結果に基づいて予測モデルを評価する評価部とを含む。この構成によれば、情報処理装置は、予測モデルの最大実行時間を算出し、算出結果に基づいて予測モデルを簡易的に評価できる。
 ある局面に基づく情報処理プログラムは、制御装置に接続されるコンピュータで実行される情報処理プログラムであって、制御装置は、制御対象を制御するための制御演算を実行する制御演算部と、制御演算部が参照可能な状態値のうち1または複数の状態値からなる実績値を予測モデルに入力することで予測値を取得する予測値取得部とを備え、情報処理プログラムは、コンピュータに、木構造の学習アルゴリズムに基づく予測モデルを生成するステップと、予測モデルを評価するステップとを実行させる。予測モデルを評価させるステップは、予測モデルに対して第1および第2のデータを入力したことにより予測値を出力するための時間である第1および第2実行時間をそれぞれ取得するステップと、取得した第1および第2実行時間に基づいて、予測モデルの最大実行時間を算出するステップと、最大実行時間の算出結果に基づいて予測モデルを評価するステップとを含む。この構成によれば、情報処理プログラムは、予測モデルの最大実行時間を算出し、算出結果に基づいて予測モデルを簡易的に評価できる。
 なお、本開示において、「部」及び「装置」とは、単に物理的手段を意味するものではなく、その「部」及び「装置」が有する機能をソフトウェアによって実現する構成も含む。また、1つの「部」及び「装置」が有する機能が2つ以上の物理的手段や装置によって実現されてもよく、或いは、2つ以上の「部」及び「装置」の機能が1つの物理的手段や装置によって実現されてもよい。さらに、「部」及び「装置」とは、例えば「手段」及び「システム」と言い換えることも可能な概念である。
 本開示の予測システム、情報処理装置および情報処理プログラムは、予測モデルをより簡易的に評価できる。
実施形態に基づく予測システム1の全体構成例を示す模式図である。 実施形態に基づく予測システム1の応用例を示す模式図である。 実施形態に基づく予測システム1による制御系を説明する図である。 実施形態に基づく予測システム1による予測制御系の予測結果に基づく制御の一例を示す模式図である。 実施形態に基づく予測システム1を用いた予測モデル140の生成処理の処理手順を示すフローチャートである。 実施形態に基づく予測モデル140の学習方法について説明する図である。 実施形態に基づく予測システム1を構成する制御装置100のハードウェア構成例を示すブロック図である。 実施形態に基づく予測システム1を構成するサポート装置200のハードウェア構成例を示すブロック図である。 実施形態に基づく予測システム1を構成する制御装置100およびサポート装置200のソフトウェア構成例を示すブロック図である。 実施形態に基づく図9に示す解析プログラム226に含まれる機能モジュールの概要を示すブロック図である。 実施形態に基づく予測モデルを評価する予測モデル評価部について説明する図である。 実施形態に基づく予測モデルの構造について説明する図である。 実施形態に基づく予測モデルの処理時間について説明する概念図である。 実施形態に基づく予測モデルの予測データの実行時間について説明する図である。 実施形態に基づく予測モデルの単位処理回数に対する単位実行時間について説明する図である。 実施形態に基づく予測モデルの最大実行時間の算出方式について説明する図である。 実施形態に基づく予測モデルの評価について説明する概念図である。 実施形態に基づく予測モデルの評価処理のフローについて説明する図である。 実施形態に基づく評価結果画面500について説明する図である。 実施形態に基づく評価結果画面について説明する別の図である。 実施形態に基づく複数の予測モデルに対する評価結果の詳細について説明する図である。
 実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
 <A.適用例>
 まず、本実施形態が適用される場面の一例について説明する。
 実施形態に基づく予測機能を有する制御システムの主要な局面について説明する。以下の説明においては、主として、制御システムが有している予測機能に注目して説明するので、制御システム全体を「予測システム」とも称する。
 図1は、実施形態に基づく予測システム1の全体構成例を示す模式図である。図1を参照して、実施形態に基づく予測システム1は、主たる構成要素として、制御対象を制御する制御装置100と、制御装置100に接続されるサポート装置200とを含む。
 制御装置100は、PLC(プログラマブルコントローラ)などの、一種のコンピュータとして具現化されてもよい。制御装置100は、フィールドバス2を介してフィールド装置群10と接続されるとともに、フィールドバス4を介して1または複数の表示装置400と接続されてもよい。さらに、制御装置100は、上位ネットワーク6を介して上位サーバ300に接続されてもよい。なお、上位サーバ300および表示装置400はオプショナルな構成であり、予測システム1の必須の構成ではない。
 制御装置100は、設備や機械を制御するための各種演算を実行する制御ロジック(以下、「PLCエンジン」とも称す。)を有している。PLCエンジンに加えて、制御装置100は、フィールド装置群10にて計測され、制御装置100へ転送されるデータ(以下、「入力データ」とも称す。)を収集する収集機能を有している。さらに、制御装置100は、収集した入力データに基づいて将来の時間変化を予測する予測機能も有している。
 具体的には、制御装置100に実装される時系列データベース(以下、「TSDB(Time Series Data Base)」とも記す。)130が収集機能を提供し、制御装置100に実装される予測モデル140が監視機能を提供する。TSDB130および予測モデル140の詳細については後述する。
 フィールドバス2およびフィールドバス4は、産業用の通信プロトコルを採用することが好ましい。このような通信プロトコルとしては、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などが知られている。
 フィールド装置群10は、制御対象または制御に関連する製造装置や生産ラインなど(以下、「フィールド」とも総称する。)から入力データを収集する装置を含む。このような入力データを収集する装置としては、入力リレーや各種センサなどが想定される。フィールド装置群10は、さらに、制御装置100にて生成される指令(以下、「出力データ」とも称す。)に基づいて、フィールドに対して何らかの作用を与える装置を含む。このようなフィールドに対して何らかの作用を与える装置としては、出力リレー、コンタクタ、サーボドライバおよびサーボモータ、その他任意のアクチュエータが想定される。これらのフィールド装置群10は、フィールドバス2を介して、制御装置100との間で、入力データおよび出力データを含むデータを遣り取りする。
 図1に示す構成例においては、フィールド装置群10は、リモートI/O(Input/Output)装置12と、リレー群14と、画像センサ18およびカメラ20と、サーボドライバ22およびサーボモータ24とを含む。
 リモートI/O装置12は、フィールドバス2を介して通信を行う通信部と、入力データの収集および出力データの出力を行うための入出力部(以下、「I/Oユニット」とも称す。)とを含む。このようなI/Oユニットを介して、制御装置100とフィールドとの間で入力データおよび出力データが遣り取りされる。図1には、リレー群14を介して、入力データおよび出力データとして、デジタル信号が遣り取りされる例が示されている。
 I/Oユニットは、フィールドバス2に直接接続されるようにしてもよい。図1には、フィールドバス2にI/Oユニット16が直接接続されている例を示す。
 画像センサ18は、カメラ20によって撮像された画像データに対して、パターンマッチングなどの画像計測処理を行って、その処理結果を制御装置100へ送信する。
 サーボドライバ22は、制御装置100からの出力データ(例えば、位置指令など)に従って、サーボモータ24を駆動する。
 上述のように、フィールドバス2を介して、制御装置100とフィールド装置群10との間でデータが遣り取りされることになるが、これらの遣り取りされるデータは、数百μsecオーダ~数十msecオーダのごく短い周期で更新されることになる。なお、このような遣り取りされるデータの更新処理を、「I/Oリフレッシュ処理」と称することもある。
 また、フィールドバス4を介して制御装置100と接続される表示装置400は、ユーザからの操作を受けて、制御装置100に対してユーザ操作に応じたコマンドなどを送信するとともに、制御装置100での演算結果などをグラフィカルに表示する。
 上位サーバ300は、制御装置100と上位ネットワーク6を介して接続され、制御装置100との間で必要なデータを遣り取りする。上位ネットワーク6には、イーサネット(登録商標)などの汎用プロトコルが実装されてもよい。
 サポート装置200は、制御装置100が制御対象を制御するために必要な準備を支援する情報処理装置(コンピュータの一例)である。具体的には、サポート装置200は、制御装置100で実行されるユーザプログラムの開発環境(プログラム作成編集ツール、パーサ、コンパイラなど)、制御装置100および制御装置100に接続される各種デバイスのパラメータ(コンフィギュレーション)を設定するための設定環境、生成したユーザプログラムを制御装置100へ送信する機能、制御装置100上で実行されるユーザプログラムなどをオンラインで修正・変更する機能、などを提供する。
 さらに、実施形態に基づくサポート装置200は、制御装置100に実装される予測モデル140の生成および最適化を支援するための機能を有している。すなわち、サポート装置200は、予測モデル140を予め決定する予測モデル生成部を有している。これらの機能の詳細については後述する。
 次に、予測システム1に含まれる制御装置100の応用例について説明する。
 図2は、実施形態に基づく予測システム1の応用例を示す模式図である。図2には、プレス機30を含む生産設備の例を示す。
 図2を参照して、プレス機30は、ワーク31を受け入れ、ベース33に設けられた支持台34上に受け入れたワーク31を配置する。そして、モータ37で駆動される駆動軸36の先端に設けられた押し込み板35でワーク31を圧縮して、中間製品32を生成する。
 プレス機30においては、予期しない要因変動により中間製品32に不良が発生し得るとする。そのため、プレス機30の下流側に配置された検査機による検査、あるいは、検査員による目視検査または抜き取りによる検査によって、中間製品32に不良が発生しているか否かを判断する。もし、不良が発生していると判断されると、目標値などを都度調整することになる。
 このように、通常の製造工程においては、中間製品32の良品率を維持および向上させるためには、目標値を都度調整する必要があるが、様々な観点から事前設計したとしても、すべての要因変動に対応することが難しい。
 これに対して、実施形態に基づく予測モデル140を用いて、中間製品32の状態(すなわち、加工後の品質)を予測することで、不良が実際に発生する前に、制御装置100による制御を補正できる。このような事前の不要発生の予測を利用できることで、目標値などの都度調整に係る工数を削減するとともに、中間製品32に不良が発生することを防止できる。
 図3は、実施形態に基づく予測システム1による制御系を説明する図である。図3を参照して、本例における、制御対象は、プレス機30である。既存制御系には、装置の設定値が入力されて目標値が生成される。プレス機30の制御量と、目標値とに基づくフィードバック制御により制御対象に対する操作量が設定される。また、既存制御系に対して予測制御系が設けられる。具体的には、説明変数に対して目的変数を算出する予測器が設けられる。予測器の一例は、予測モデル140である。プレス機30の品質特性の目標値と目的変数とに基づいて補正器で補正値が算出される。当該補正値が操作量に加えられる。
 図4は、実施形態に基づく予測システム1による予測制御系の予測結果に基づく制御の一例を示す模式図である。
 図4(A)には、ある時点におけるプレス機の押し込み位置の計画値(指令)と、実際のプレス機30の押し込み位置(実績値)とを示す。目標値は、加工後の中間製品32のあるべき厚みを示す。
 図4(B)を参照して、ある時点において、それまでの情報(実績値を含み得る)に基づいて、この先のプレス機30の押し込み位置(予測値)を算出し、その算出された予測値に基づいて、プレス機30に対する操作量を補正値により補正する。
 図2~図4に示すプレス機30においては、プレス機30の押し込み位置を予測し、その予測結果に基づいて制御量を補正することで、例えば、ワーク31の硬さのばらつきなどに応じて、作業者が目標値を都度調整するようなことは必要ない。その結果、予期しない要因変動による不良品の発生を抑制でき、ワーク31に何らかのばらつきがあっても、品質を安定化できる。
 予測に用いるデータ(実績値または観測値)と予測されるデータとは、一部または全部が同一であってもよいし、全く異なるものであってもよい。
 実施形態に基づく予測システム1は、予測モデル140を適切に生成するための機能を提供する。予測モデル140を適切に生成するための機能は、典型的には、サポート装置200に実装されてもよい。
 <B.予測モデルの生成および運用の概要>
 次に、実施形態に基づく予測システム1を用いた予測モデル140の生成および運用の概要について説明する。
 図5は、実施形態に基づく予測システム1を用いた予測モデル140の生成処理の処理手順を示すフローチャートである。図5に示す各ステップは、典型的には、サポート装置200のプロセッサ202がプログラム(解析プログラム226およびOS228など)を実行することで実現される。
 図5を参照して、サポート装置200は、TSDB130に格納されている実績値の時系列データを取得する(ステップS1)。続いて、サポート装置200は、取得した実績値の時系列データから予測対象区間の設定を受け付ける(ステップS2)。
 サポート装置200は、ステップS2において設定された予測対象区間の変化を予測するための予測モデルの生成に用いられる学習用サンプルを選択する(ステップS3)。ステップS3においては、複数種類のデータのうち、いずれのデータが学習に用いられるのかが選択される。
 サポート装置200は、選択した学習用サンプルに基づいて機械学習する(ステップS4)。
 サポート装置200は、機械学習により予測モデル140を生成する(ステップS6)。本例における予測モデル140は、決定木により構成される。決定木は、ある時点の特徴量に対して押し込み位置(予測値)を出力するように構成される。この決定木の学習方法には、CLS(Concept Learning System)、ID3(Iterative Dichotomiser 3)、C4.5等が用いられてもよい。
 本明細書において、「サンプル」は、予測モデル140から出力されるべき予測値の教師データとして用いられる所定時間長さのデータ列を意味する。「サンプル」は、基本的には、予測対象の時系列データ(生データ)が用いられるが、予測対象が時系列データから抽出される特徴量である場合には、特徴量を用いてもよい。「サンプル」という用語は、複数のデータを処理する際の処理単位に注目したものであり、それに含まれるデータの内容などについては、特に限定するようなものではない。
 本明細書において、任意の予測値を算出または決定するために参照されるデータを「説明変数」とも称す。1または複数の「説明変数」を用いて、任意の予測値が算出または決定される。そのため、学習用サンプルは、「説明変数」の候補となり得るデータと何らかの方法で関連付けられることになる。
 本明細書において、「特徴量」は、処理対象の時系列データに含まれる情報を包含する用語であり、例えば、対象の時系列データについての、最大値、最小値、中間値、平均値、標準偏差、分散などを含み得る。なお、「特徴量」は、対象の時系列データそのものも含み得る。
 図6は、実施形態に基づく予測モデル140の学習方法について説明する図である。図6(A)に示されるように、TSDB130に格納されている時系列データが示されている。当該時系列データに対して、予測対象区間が設定され、予測対象区間の時刻tおよびt-1の2点の特徴量に対して予測対象の目的変数である予測値が推定される。図6(B)に示されるように、当該時系列データを用いて、単位時刻分ずらして学習処理を実行する場合が示されている。
 以上のような処理手順によって生成された予測モデル140を制御装置100に設定することで、図2~図4に示すような運用が可能となる。
 <C.ハードウェア構成例>
 次に、実施形態に基づく予測システム1を構成する主要な装置のハードウェア構成例について説明する。
 (c1:制御装置100のハードウェア構成例)
 図7は、実施形態に基づく予測システム1を構成する制御装置100のハードウェア構成例を示すブロック図である。図7を参照して、制御装置100は、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などのプロセッサ102と、チップセット104と、主記憶装置106と、二次記憶装置108と、上位ネットワークコントローラ110と、USB(Universal Serial Bus)コントローラ112と、メモリカードインターフェイス114と、内部バスコントローラ122と、フィールドバスコントローラ118,120と、I/Oユニット124-1,124-2,…とを含む。
 プロセッサ102は、二次記憶装置108に格納された各種プログラムを読み出して、主記憶装置106に展開して実行することで、PLCエンジン150および予測モデル140を実現する。チップセット104は、プロセッサ102と各コンポーネントとの間のデータ伝送などを制御する。
 二次記憶装置108には、PLCエンジン150を実現するためのシステムプログラムに加えて、PLCエンジン150を利用して実行されるユーザプログラムが格納される。さらに、二次記憶装置108には、予測モデル140を実現するためのプログラムも格納される。
 上位ネットワークコントローラ110は、上位ネットワーク6を介した別の装置との間のデータの遣り取りを制御する。USBコントローラ112は、USB接続を介してサポート装置200との間のデータの遣り取りを制御する。
 メモリカードインターフェイス114は、メモリカード116を着脱可能に構成されており、メモリカード116に対してデータを書き込み、メモリカード116から各種データ(ユーザプログラムやトレースデータなど)を読み出すことが可能になっている。
 内部バスコントローラ122は、制御装置100に搭載されるI/Oユニット124-1,124-2,…との間でデータを遣り取りするインターフェイスである。
 フィールドバスコントローラ118は、フィールドバス2を介した別の装置との間のデータの遣り取りを制御する。同様に、フィールドバスコントローラ120は、フィールドバス4を介した別の装置との間のデータの遣り取りを制御する。
 図7には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、制御装置100の主要部を、汎用的なアーキテクチャに基づくハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
 (c2:サポート装置200のハードウェア構成例)
 実施形態に基づくサポート装置200は、一例として、汎用的なアーキテクチャに基づくハードウェア(例えば、汎用パソコン)を用いてプログラムを実行することで実現される。
 図8は、実施形態に基づく予測システム1を構成するサポート装置200のハードウェア構成例を示すブロック図である。図8を参照して、サポート装置200は、CPUやMPUなどのプロセッサ202と、光学ドライブ204と、主記憶装置206と、二次記憶装置208と、USBコントローラ212と、上位ネットワークコントローラ214と、入力部216と、表示部218とを含む。これらのコンポーネントはバス220を介して接続される。
 プロセッサ202は、二次記憶装置208に格納された各種プログラムを読み出して、主記憶装置206に展開して実行することで、後述するようなモデル生成処理を含む各種処理を実現する。
 二次記憶装置208は、例えば、HDD(Hard Disk Drive)やSSD(Flash Solid State Drive)などで構成される。二次記憶装置208には、典型的には、サポート装置200において実行されるユーザプログラムの作成、作成したユーザプログラムのデバッグ、システム構成の定義、各種パラメータの設定などを行うための開発プログラム222と、制御装置100との間で予測機能に関するデータを遣り取りするためのPLCインターフェイスプログラム224と、予測モデル140の生成などを実現するための解析プログラム226と、OS228とが格納される。二次記憶装置208には、図8に示すプログラム以外の必要なプログラムが格納されてもよい。
 サポート装置200は、光学ドライブ204を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体205(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)から、その中に格納されたプログラムが読み取られて二次記憶装置208などにインストールされる。
 サポート装置200で実行される各種プログラムは、コンピュータ読取可能な記録媒体205を介してインストールされてもよいが、ネットワーク上の任意のサーバからダウンロードする形でインストールするようにしてもよい。また、実施形態に基づくサポート装置200が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
 USBコントローラ212は、USB接続を介して制御装置100との間のデータの遣り取りを制御する。上位ネットワークコントローラ214は、任意のネットワークを介した別の装置との間のデータの遣り取りを制御する。
 入力部216は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。表示部218は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ202からの処理結果などを出力する。
 図8には、プロセッサ202がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。
 <D.ソフトウェア構成例/機能構成例>
 次に、実施形態に基づく予測システム1を構成する制御装置100およびサポート装置200のソフトウェア構成例および機能構成例について説明する。
 図9は、実施形態に基づく予測システム1を構成する制御装置100およびサポート装置200のソフトウェア構成例を示すブロック図である。図9を参照して、制御装置100は、主要な機能構成として、PLCエンジン150に加えて、TSDB130および予測モデル140を含む。
 PLCエンジン150は、ユーザプログラム154を逐次解釈して、指定された制御演算を実行する。PLCエンジン150は、フィールドから収集される状態値を変数152の形で管理しており、変数152は予め定められた周期で更新される。PLCエンジン150は、制御装置100のプロセッサ102がシステムプログラムを実行することで実現されてもよい。
 本明細書において、「状態値」は、フィールドから収集される入力値、フィールドへ出力される指令値、および、制御装置100の内部で管理されるシステム状態値や内部値を含む。実施形態に基づく制御装置100においては、「状態値」を「変数」の形で参照するので、以下の説明においては、便宜上、「変数」との用語を「状態値」を含む趣旨で用いる。なお、本開示の技術的範囲は、「状態値」を「変数」の形で参照する構成に限定されることはない。
 ユーザプログラム154は、予測値取得コード156と、誤差評価コード158と、追加学習コード160と、TSDB書き込みコード162と、制御演算コード164とを含む。
 予測値取得コード156は、制御演算コード164が参照可能な状態値のうち1または複数の状態値からなる実績値を予測モデル140に入力することで予測値を取得する予測値取得部を実現する。より具体的には、予測値取得コード156は、変数152として管理される必要な実績値を取得して、予測モデル140に入力することで、予測値を取得する命令を含む。
 誤差評価コード158は、予測値取得コード156により取得された予測値と目標値との誤差を評価する命令を含む。
 追加学習コード160は、誤差評価コード158により評価された誤差に応じて、必要に応じて、予測モデル140を追加学習する命令を含む。
 TSDB書き込みコード162は、変数152として管理される変数のうち、予め定められた変数を取得して、TSDB130の記憶領域132に書き込む。
 制御演算コード164は、制御対象を制御するための制御演算を実行する制御演算部を実現する。より具体的には、制御演算コード164は、制御対象を制御するための制御演算を実行するとともに、誤差評価コード158により評価された誤差に応じて、必要に応じて、制御演算に用いる目標値を補正する。
 TSDB130は、記憶領域132に書き込まれたデータを必要に応じて、サポート装置200などへエクスポートするエクスポートモジュール134を有している。
 予測モデル140は、参照軌道144を有している。
 一方、サポート装置200は、開発プログラム222および解析プログラム226がインストールされている。
 開発プログラム222は、ユーザ操作に従って、ユーザプログラム154を生成し、制御装置100へ転送する。また、開発プログラム222は、制御演算コード164の内容を適宜修正する機能も有している。
 解析プログラム226は、予測モデル140を予め決定する予測モデル生成部を実現するための情報処理プログラムに相当する。より具体的には、解析プログラム226は、予測モデル140の生成を支援するものであり、モデル生成モジュール2262と、評価モジュール2264とを含む。
 モデル生成モジュール2262は、予測モデル140を生成する処理に必要な機能を実現する。
 評価モジュール2264は、対象の予測モデル140の性能を評価する。
 図10は、実施形態に基づく図9に示す解析プログラム226に含まれる機能モジュールの概要を示すブロック図である。図10を参照して、サポート装置200の解析プログラム226は、主要な機能構成として、ユーザインターフェイス230と、入出力管理モジュール236と、画面表示モジュール238と、グラフライブラリ240と、解析モジュール242と、解析ライブラリ244とを含む。
 ユーザインターフェイス230は、ユーザからの設定を受け付けるとともに、ユーザに対して各種情報を提供するための統括的な処理を実行する。具体的な実装形態として、ユーザインターフェイス230は、スクリプトエンジン232を有しており、必要な処理を記述したスクリプトを含む設定ファイル234を読み込んで、設定された処理を実行する。
 入出力管理モジュール236は、指定されたファイルなどからデータを読み込むファイル入力機能と、データストリームを受信するストリーム入力機能と、生成したデータなどを含むファイルを出力するファイル出力機能とを含む。
 画面表示モジュール238は、入力された予測モデルに基づいてモデル評価画面を生成する機能と、ユーザの操作を受けて評価結果を表示する機能とを含む。グラフライブラリ240を参照して必要な処理を実行するようにしてもよい。
 解析モジュール242は、解析プログラム226の主要な処理を実現するモジュールであり、モデル生成機能を有している。解析モジュール242に含まれる各機能は、解析ライブラリ244を参照することで実現される。
 解析ライブラリ244は、解析モジュール242に含まれる各機能が処理を実行するためのライブラリを含む。より具体的には、解析ライブラリ244は、統計量機能、決定木機能、時系列回帰機能、グリッドサーチ機能、クラスタリング機能、推論速度評価機能、精度評価機能、および、異常検知機能を有していてもよい。
 <E.予測モデルの評価>
 図11は、実施形態に基づく予測モデルを評価する予測モデル評価部について説明する図である。図11を参照して、予測モデル評価部250は、予測モデル取得部251と、実行時間取得部252と、最大実行時間算出部254と、評価部256とを含む。予測モデル評価部250は、一例として評価モジュール2264により実現される。
 実行時間取得部252は、予測モデルに対して第1および第2のデータを入力したことにより予測値を出力するための時間である第1および第2実行時間をそれぞれ取得する。
 最大実行時間算出部254は、実行時間取得部252で取得した第1および第2実行時間に基づいて、予測モデルの最大実行時間を算出する。最大実行時間算出部254は、第1および第2実行時間の差分と、第1実行時間における処理回数と第2実行時間における処理回数との差分とに基づいて単位処理回数における単位実行時間を算出し、最大処理回数と単位実行時間とに基づいて最大実行時間を算出する。予測モデルは、入力データに対する複数の予測処理を実行する。最大実行時間算出部254は、複数の予測処理の各々での処理回数の総和に基づいて第1および第2実行時間における処理回数を算出し、複数の予測処理の各々での最大処理回数の総和に基づいて最大処理回数を算出する。予測モデルは、一例として、ランダムフォレストによる決定木構造の学習アルゴリズムに基づいて生成される。
 評価部256は、最大実行時間算出部254の算出結果に基づいて予測モデルを評価する。評価部256は、所定の制御タスク期間と、最大実行時間との比較に基づいて予測モデルを評価する。
 図12は、実施形態に基づく予測モデルの構造について説明する図である。図12を参照して、ランダムフォレストによる決定木構造の予測モデルが示されている。本例いおいては、決定木DT1~DTNが設けられており、予測結果をそれぞれ取得して一例として多数決により最終予測結果を取得する場合が示されている。
 予測モデルの演算処理は、根ノードから葉ノードに向けてリンクを辿る探索処理である。具体的には、根データに設定された分岐条件を入力データが満たすか否かを判定し、この判定結果に基づいて、次の該当ノードに探索を進める。
 したがって、決定木の構造により処理回数はそれぞれ異なる。本例においては、最終予測結果とともに、各決定木における処理回数と、最大処理回数の情報を取得する。
 図13は、実施形態に基づく予測モデルの処理時間について説明する概念図である。図13を参照して、本例における予測モデルの処理時間は、固定値と、可変値とを有する。具体的には、可変値は、処理回数に起因するものである。この点で、予測データを取得するための複数の処理1~処理Nが示されている。また、各処理における処理回数と、最大処理回数とが取得される。そして、各処理における処理回数の総和が算出される。また、各処理における最大処理回数の総和が算出される。
 図14は、実施形態に基づく予測モデルの予測データの実行時間について説明する図である。図14を参照して、予測モデルに対する2つの予測データPD1と、PD2とが示されている。当該図に示されるように、処理回数での固定部分と、可変部分とに分けられる。処理回数の可変部分が2つのデータの実行時間の差となる。
 図15は、実施形態に基づく予測モデルの単位処理回数に対する単位実行時間について説明する図である。図15を参照して、予測モデルの決定木における1つの処理に対する処理時間ΔTが示されている。
 図16は、実施形態に基づく予測モデルの最大実行時間の算出方式について説明する図である。図16を参照して、ΔTは、予測データPD1の実行時間T1と予測データPD2の実行時間T2との差分と、予測データPD1の処理回数C1と予測データPD2の処理回数C2との差分とに基づいて算出される。
 ΔT=|T1-T2|/|C1-C2|
 これにより、最大実行時間Bは、次式により算出される。
 B=T1+ΔT×(Cmax-C1)
 図17は、実施形態に基づく予測モデルの評価について説明する概念図である。
 図17を参照して、最大実行時間が制御タスク周期内か否かを判断し、制御タスク周期内であれば予測モデルを利用可能であると判定することが可能である。
 図18は、実施形態に基づく予測モデルの評価処理のフローについて説明する図である。
 図18を参照して、予測モデル取得部251は、予測モデルを取得する(ステップS10)。次に、実行時間取得部252は、取得した予測モデルに対する第1データの入力による第1実行時間T1を取得する(ステップS12)。
 次に、実行時間取得部252は、取得した予測モデルに対する第2データの入力による第2実行時間T2を取得する(ステップS14)。
 次に、最大実行時間算出部254は、処理回数の差分を算出する(ステップS16)。最大実行時間算出部254は、第1データの入力により得られた予測データPD1の処理回数と、第2データの入力により得られた予測データPD2の処理回数の差分|C1-C2|を算出する。
 次に、最大実行時間算出部254は、単位処理回数による単位処理時間ΔTを算出する(ステップS18)。最大実行時間算出部254は、第1データの入力により得られた予測データPD1の処理回数と、第2データの入力により得られた予測データPD2の処理回数の差分|C1-C2|を算出する。また、予測モデルの最大処理回数の操作Cmaxを取得する。最大実行時間算出部254は、予測データPD1の実行時間T1と予測データPD2の実行時間T2との差分と、予測データPD1の処理回数C1と予測データPD2の処理回数C2との差分とに基づいて単位処理回数による単位処理時間ΔTを算出する。
 次に、最大実行時間算出部254は、最大実行時間を算出する(ステップS20)。最大実行時間算出部254は、最大実行時間B(B=T1+ΔT×(Cmax-C1))を算出する。
 次に、評価部256は、最大実行時間は、制御タスク周期内か否かを判断する(ステップS22)。評価部256は、算出した最大実行時間Bが制御タスク周期内であるか否かを判断する。制御タスク周期は、システムによって任意の値に設定することが可能である。
 ステップS22において、評価部256は、最大実行時間は、制御タスク周期内であると判定した場合(ステップS22においてYES)には、OK判定とする(ステップS24)。
 一方、ステップS22において、評価部256は、最大実行時間は、制御タスク周期内でないと判定した場合(ステップS22においてNO)には、NG判定とする(ステップS26)。
 そして、処理を終了する(エンド)。
 評価部256の評価結果に基づいて、本例においては、評価結果画面を出力する。具体的には、画面表示モジュール238を実行することにより評価結果画面を出力する。
 図19は、実施形態に基づく評価結果画面500について説明する図である。
 図19を参照して、評価結果画面500には、モデル評価に関するタブが示されている。
 本例においては、一例として、制御タスク周期1msの条件を満たす予測モデルM1の実行時間に関するグラフ502が表示されている。他の予測モデルM2~M4のデータも示されている。
 グラフ502として、具体的には、制御プログラム時間0.7ms、システムサービス時間0.15ms、最大実行時間0.08ms、空き時間0.07msが表示されている。
 最大実行時間は、上記の最大実行時間算出部254により算出されたものである。
 制御プログラム時間、システムサービス時間は固定で決まるものである。
 最大実行時間を算出することにより、本例においては、空き時間が確保されるため、メッセージ504「制御タスク周期内で推論実行可能です。」が表示されている場合が示されている。
 また、調整入力欄510が設けられており、調整入力欄510には、入力データとしてファイルを入力する項目、ハイパーパラメータを設定する項目、目標値として推論精度を入力する項目、PLC設定として、制御タスク周期を入力する項目が設けられている。
 調整入力欄510に入力するデータに基づいて予測モデルの構築、あるいは再構築が可能に設けられている。
 木の深さや、木の数は、例えばランダムフォレストの木構造の設定値に関するものである。
 図20は、実施形態に基づく評価結果画面について説明する別の図である。
 図20を参照して、評価結果画面520には、モデル評価に関するタブが示されている。
 本例においては、一例として、制御タスク周期1msの条件を満たす予測モデルM5の実行時間に関するグラフ522が表示されている。他の予測モデルM6~M8のデータも示されている。
 グラフ522として、具体的には、制御プログラム時間0.7ms、システムサービス時間0.15ms、最大実行時間0.2msが表示されている。
 最大実行時間は、上記の最大実行時間算出部254により算出されたものである。
 制御プログラム時間、システムサービス時間は固定で決まるものである。
 最大実行時間を算出することにより、本例においては、空き時間は確保されないため、メッセージ524「制御タスク周期内をオーバーします。設定を変更してパラメータチューニングを行ってください。」が表示されている場合が示されている。
 また、調整入力欄530が設けられており、調整入力欄530には、入力データとしてファイルを入力する項目、ハイパーパラメータを設定する項目、目標値として推論精度を入力する項目、PLC設定として、制御タスク周期を入力する項目が設けられている。
 調整入力欄530に入力するデータに基づいて予測モデルの構築、あるいは再構築が可能に設けられている。
 木の深さや、木の数は、例えばランダムフォレストの木構造の設定値に関するものである。当該木の深さ、木の数を調整することにより予測モデルの最大実行時間を調整することにより全体の時間が制御タスク周期内に収まるように調整する。
 図21は、実施形態に基づく複数の予測モデルに対する評価結果の詳細について説明する図である。
 図21を参照して、ここでは、予測モデルM10~M16について、評価した場合の評価結果が示されている。
 各予測モデルのフィット(Fit)率および最大実行時間が表形式で示されている。
 当該評価結果の一覧を確認することにより、ユーザは、好適な予測モデルを選択することが可能である。具体的には最大実行時間が最短の予測モデルを選択するようにしても良いし、Fit率を優先させて、最大のFit率の予測モデルを選択するようにしても良い。あるいは、予測モデルのデータサイズも異なるため、データサイズが最小の予測モデルを選択するようにしてもよい。あるいは、他のパラメータに基づいて予測モデルを選択するようにしてもよい。
 当該方式により、予測モデルを評価する評価結果の一覧を表示することにより予測システムに最適な予測モデルを選択することが可能である。
 上記においては、主に決定木に代表される木構造の学習アルゴリズムに基づく予測モデルを生成する場合について説明したが、決定木に限られず、木構造であれば他の学習アルゴリズムを用いた予測モデルにも同様に適用することが可能である。
 <F.付記>
 上述したような本実施の形態は、以下のような技術思想を含む。
 [構成1]
 予測システム(1)は、制御対象を制御するための制御演算を実行する制御演算部(164)と、制御演算部が参照可能な状態値のうち1または複数の状態値からなる実績値を予測モデルに入力することで予測値を取得する予測値取得部(156)と、木構造の学習アルゴリズムに基づく予測モデルを生成する予測モデル生成部(2262)と、予測モデルを評価する予測モデル評価部(2264,250)とを備える。予測モデル評価部は、予測モデルに対して第1および第2のデータを入力したことにより予測値を出力するための時間である第1および第2実行時間をそれぞれ取得する実行時間取得部(252)と、実行時間取得部で取得した第1および第2実行時間に基づいて、予測モデルの最大実行時間を算出する最大実行時間算出部(254)と、最大実行時間算出部の算出結果に基づいて予測モデルを評価する評価部(256)とを含む。
 [構成2]
 最大実行時間算出部は、第1および第2実行時間の差分と、第1実行時間における処理回数と第2実行時間における処理回数との差分とに基づいて単位処理回数における単位実行時間を算出し、最大処理回数と単位実行時間とに基づいて最大実行時間を算出する。
 [構成3]
 予測モデルは、入力データに対する複数の予測処理を実行する。最大実行時間算出部は、複数の予測処理の各々での処理回数の総和に基づいて第1および第2実行時間における処理回数を算出し、複数の予測処理の各々での最大処理回数の総和に基づいて最大処理回数を算出する。
 [構成4]
 予測モデルは、ランダムフォレストによる決定木構造の学習アルゴリズムに基づいて生成される。
 [構成5]
 予測モデルのパラメータを調整可能な調整部をさらに備える。予測モデル生成部は、調整部によるパラメータの調整にしたがって複数の予測モデルを生成する。予測モデル評価部は、複数の予測モデルをそれぞれ評価し、複数の予測モデルの評価結果を出力する評価結果出力部をさらに備える。
 [構成6]
 情報処理装置(200)は、制御装置(100)に接続される情報処理装置であって、制御装置は、制御対象を制御するための制御演算を実行する制御演算部(164)と、制御演算部が参照可能な状態値のうち1または複数の状態値からなる実績値を予測モデルに入力することで予測値を取得する予測値取得部(156)とを備える。情報処理装置は、木構造の学習アルゴリズムに基づく予測モデルを生成する予測モデル生成部(2262)と、予測モデルを評価する予測モデル評価部(2264,250)とを含む。予測モデル評価部は、予測モデルに対して第1および第2のデータを入力したことにより予測値を出力するための時間である第1および第2実行時間をそれぞれ取得する実行時間取得部(252)と、実行時間取得部で取得した第1および第2実行時間に基づいて、予測モデルの最大実行時間を算出する最大実行時間算出部(254)と、最大実行時間算出部の算出結果に基づいて予測モデルを評価する評価部(256)とを含む。
 [構成7]
 情報処理プログラムは、制御装置(100)に接続されるコンピュータで実行される情報処理プログラムであって、制御装置は、制御対象を制御するための制御演算を実行する制御演算部(164)と、制御演算部が参照可能な状態値のうち1または複数の状態値からなる実績値を予測モデルに入力することで予測値を取得する予測値取得部(156)とを備え、情報処理プログラムは、コンピュータに、木構造の学習アルゴリズムに基づく予測モデルを生成するステップと、予測モデルを評価するステップとを実行させる。予測モデルを評価させるステップは、予測モデルに対して第1および第2のデータを入力したことにより予測値を出力するための時間である第1および第2実行時間をそれぞれ取得するステップ(S12,S14)と、取得した第1および第2実行時間に基づいて、予測モデルの最大実行時間を算出するステップ(S20)と、最大実行時間の算出結果に基づいて予測モデルを評価するステップ(S24,S26)とを含む。
 <G.利点>
 実施形態に基づく予測システムにおいては、簡易に予測モデルを評価できるので、実際の運用に好適な予測モデルを容易に生成できる。
 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は、上記した説明ではなく、請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
 1 予測システム、2,4 フィールドバス、6 上位ネットワーク、10 フィールド装置群、14 リレー群、100 制御装置、102,202 プロセッサ、104 チップセット、106,206 主記憶装置、108,208 二次記憶装置、110,214 上位ネットワークコントローラ、112,212 コントローラ、114 メモリカードインターフェイス、116 メモリカード、118,120 フィールドバスコントローラ、122 内部バスコントローラ、132 記憶領域、134 エクスポートモジュール、140 予測モデル、144 参照軌道、150 エンジン、152 変数、154 ユーザプログラム、156 予測値取得コード、158 誤差評価コード、160 追加学習コード、162 書き込みコード、164 制御演算コード、200 サポート装置、204 光学ドライブ、205 記録媒体、216 入力部、218 表示部、220 バス、222 開発プログラム、224 インターフェイスプログラム、226 解析プログラム、230 ユーザインターフェイス、232 スクリプトエンジン、234 設定ファイル、236 入出力管理モジュール、238 画面表示モジュール、240 グラフライブラリ、242 解析モジュール、244 解析ライブラリ、250 予測モデル評価部、300 上位サーバ、2262 モデル生成モジュール、2264 評価モジュール。

Claims (8)

  1.  制御対象を制御するための制御演算を実行する制御演算部と、
     前記制御演算部が参照可能な状態値のうち1または複数の状態値からなる実績値を予測モデルに入力することで予測値を取得する予測値取得部と、
     木構造の学習アルゴリズムに基づく前記予測モデルを生成する予測モデル生成部と、
     前記予測モデルを評価する予測モデル評価部とを備え、
     前記予測モデル評価部は、
     前記予測モデルに対して第1および第2のデータを入力したことにより前記予測値を出力するための時間である第1および第2実行時間をそれぞれ取得する実行時間取得部と、
     前記実行時間取得部で取得した前記第1および第2実行時間に基づいて、前記予測モデルの最大実行時間を算出する最大実行時間算出部と、
     前記最大実行時間算出部の算出結果に基づいて前記予測モデルを評価する評価部とを含む、予測システム。
  2.  前記最大実行時間算出部は、前記第1および第2実行時間の差分と、前記第1実行時間における処理回数と前記第2実行時間における処理回数との差分とに基づいて単位処理回数における単位実行時間を算出し、最大処理回数と前記単位実行時間とに基づいて前記最大実行時間を算出する、請求項1記載の予測システム。
  3.  前記予測モデルは、入力データに対する複数の予測処理を実行し、
     前記最大実行時間算出部は、
     前記複数の予測処理の各々での処理回数の総和に基づいて前記第1および第2実行時間における処理回数を算出し、
     前記複数の予測処理の各々での最大処理回数の総和に基づいて前記最大処理回数を算出する、請求項2記載の予測システム。
  4.  前記予測モデルは、ランダムフォレストによる決定木構造の学習アルゴリズムに基づいて生成される、請求項1記載の予測システム。
  5.  前記評価部は、所定の制御タスク期間と、前記最大実行時間との比較に基づいて前記予測モデルを評価する、請求項1記載の予測システム。
  6.  前記予測モデルのパラメータを調整可能な調整部をさらに備え、
     前記予測モデル生成部は、前記調整部によるパラメータの調整にしたがって複数の前記予測モデルを生成し、
     前記予測モデル評価部は、前記複数の前記予測モデルをそれぞれ評価し、
     前記複数の予測モデルの評価結果を出力する評価結果出力部をさらに備える、請求項1記載の予測システム。
  7.  制御装置に接続される情報処理装置であって、
     前記制御装置は、制御対象を制御するための制御演算を実行する制御演算部と、制御演算部が参照可能な状態値のうち1または複数の状態値からなる実績値を予測モデルに入力することで予測値を取得する予測値取得部とを備え、
     前記情報処理装置は、
     木構造の学習アルゴリズムに基づく前記予測モデルを生成する予測モデル生成部と、
     前記予測モデルを評価する予測モデル評価部とを含み、
     前記予測モデル評価部は、
     前記予測モデルに対して第1および第2のデータを入力したことにより前記予測値を出力するための時間である第1および第2実行時間をそれぞれ取得する実行時間取得部と、
     前記実行時間取得部で取得した前記第1および第2実行時間に基づいて、前記予測モデルの最大実行時間を算出する最大実行時間算出部と、
     前記最大実行時間算出部の算出結果に基づいて前記予測モデルを評価する評価部とを含む、情報処理装置。
  8.  制御装置に接続されるコンピュータで実行される情報処理プログラムであって、前記制御装置は、制御対象を制御するための制御演算を実行する制御演算部と、前記制御演算部が参照可能な状態値のうち1または複数の状態値からなる実績値を予測モデルに入力することで予測値を取得する予測値取得部とを備え、
     前記情報処理プログラムは、前記コンピュータに、
     木構造の学習アルゴリズムに基づく前記予測モデルを生成するステップと、
     前記予測モデルを評価するステップとを実行させ、
     前記予測モデルを評価させるステップは、
     前記予測モデルに対して第1および第2のデータを入力したことにより前記予測値を出力するための時間である第1および第2実行時間をそれぞれ取得するステップと、
     取得した前記第1および第2実行時間に基づいて、前記予測モデルの最大実行時間を算出するステップと、
     前記最大実行時間の算出結果に基づいて前記予測モデルを評価するステップとを含む、情報処理プログラム。
PCT/JP2022/012260 2021-06-22 2022-03-17 予測システム、情報処理装置および情報処理プログラム Ceased WO2022270056A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202280037783.3A CN117377916A (zh) 2021-06-22 2022-03-17 预测系统、信息处理装置以及信息处理程序
EP22827976.6A EP4361742A4 (en) 2021-06-22 2022-03-17 Prediction system, information processing device, and information processing program
US18/564,918 US20240386293A1 (en) 2021-06-22 2022-03-17 Prediction system, information processing device, and non-transitory information recording medium with computer-readable information processing program recorded thereon

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021103097A JP7639574B2 (ja) 2021-06-22 2021-06-22 予測システム、情報処理装置および情報処理プログラム
JP2021-103097 2021-06-22

Publications (1)

Publication Number Publication Date
WO2022270056A1 true WO2022270056A1 (ja) 2022-12-29

Family

ID=84544621

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/012260 Ceased WO2022270056A1 (ja) 2021-06-22 2022-03-17 予測システム、情報処理装置および情報処理プログラム

Country Status (6)

Country Link
US (1) US20240386293A1 (ja)
EP (1) EP4361742A4 (ja)
JP (1) JP7639574B2 (ja)
CN (1) CN117377916A (ja)
TW (1) TWI830193B (ja)
WO (1) WO2022270056A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118971946A (zh) * 2024-10-09 2024-11-15 南京大学 基于多目标强化学习的空间自适应传输方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012194669A (ja) 2011-03-15 2012-10-11 Omron Corp コントローラサポート装置、その装置において実行されるためのコントローラサポートプログラム、そのプログラムを格納した記録媒体、および、制御プログラムの実行時間を推定する方法
JP2020135758A (ja) * 2019-02-25 2020-08-31 オムロン株式会社 予測制御開発装置、予測制御開発方法、及び予測制御開発プログラム
US20210097077A1 (en) * 2019-09-30 2021-04-01 The Travelers Indemnity Company Systems and methods for dynamic query prediction and optimization
JP2021082139A (ja) * 2019-11-21 2021-05-27 オムロン株式会社 追加学習装置、方法、及びプログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4974330B2 (ja) * 2006-02-28 2012-07-11 株式会社日立製作所 制御装置
JP4741968B2 (ja) * 2006-03-30 2011-08-10 株式会社日立製作所 プラントの制御装置
US8214308B2 (en) * 2007-10-23 2012-07-03 Sas Institute Inc. Computer-implemented systems and methods for updating predictive models
JP2018116545A (ja) * 2017-01-19 2018-07-26 オムロン株式会社 予測モデル作成装置、生産設備監視システム、及び生産設備監視方法
JP6903976B2 (ja) * 2017-03-22 2021-07-14 オムロン株式会社 制御システム
JP6928669B2 (ja) * 2017-11-28 2021-09-01 株式会社安川電機 制御システム、工場システム、学習システム、推定用モデルの生成方法及びアクチュエータの状態推定方法
JP6879239B2 (ja) * 2018-03-14 2021-06-02 オムロン株式会社 異常検知システム、サポート装置およびモデル生成方法
JP6888577B2 (ja) * 2018-03-30 2021-06-16 オムロン株式会社 制御装置、制御方法、及び制御プログラム
JP2020102082A (ja) * 2018-12-25 2020-07-02 株式会社豊田中央研究所 予測モデル生成装置、予測モデル生成方法、および、コンピュータプログラム
JP7483341B2 (ja) * 2019-09-26 2024-05-15 キヤノン株式会社 情報処理方法、情報処理装置、機械設備、物品の製造方法、プログラム、記録媒体
JP2021174387A (ja) * 2020-04-28 2021-11-01 三菱重工業株式会社 モデル評価装置、モデル評価方法、及びプログラム
JP2022125904A (ja) * 2021-02-17 2022-08-29 三菱重工業株式会社 クラウドサービス評価装置及びクラウドサービス評価方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012194669A (ja) 2011-03-15 2012-10-11 Omron Corp コントローラサポート装置、その装置において実行されるためのコントローラサポートプログラム、そのプログラムを格納した記録媒体、および、制御プログラムの実行時間を推定する方法
JP2020135758A (ja) * 2019-02-25 2020-08-31 オムロン株式会社 予測制御開発装置、予測制御開発方法、及び予測制御開発プログラム
US20210097077A1 (en) * 2019-09-30 2021-04-01 The Travelers Indemnity Company Systems and methods for dynamic query prediction and optimization
JP2021082139A (ja) * 2019-11-21 2021-05-27 オムロン株式会社 追加学習装置、方法、及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4361742A4

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118971946A (zh) * 2024-10-09 2024-11-15 南京大学 基于多目标强化学习的空间自适应传输方法及系统

Also Published As

Publication number Publication date
EP4361742A4 (en) 2025-06-18
US20240386293A1 (en) 2024-11-21
CN117377916A (zh) 2024-01-09
EP4361742A1 (en) 2024-05-01
JP2023002081A (ja) 2023-01-10
TW202301049A (zh) 2023-01-01
JP7639574B2 (ja) 2025-03-05
TWI830193B (zh) 2024-01-21

Similar Documents

Publication Publication Date Title
JP6903976B2 (ja) 制御システム
EP3540532B1 (en) Control system and control method
JP7413742B2 (ja) 予測システム、情報処理装置および情報処理プログラム
US10901398B2 (en) Controller, control program, control system, and control method
JP7596660B2 (ja) 予測システム、情報処理装置および情報処理プログラム
EP3872593A1 (en) Control device and control program
JP7639574B2 (ja) 予測システム、情報処理装置および情報処理プログラム
JP7151312B2 (ja) 制御システム
JP7556306B2 (ja) 予測システム、情報処理装置および情報処理プログラム
JP2023151888A (ja) 予測システム、制御装置および制御プログラム
JP2023151755A (ja) 情報処理装置および情報処理プログラム
JP2023151886A (ja) 情報処理装置および情報処理プログラム
TWI843084B (zh) 控制系統、資訊處理方法以及資訊處理裝置
JP7567586B2 (ja) 情報処理装置、パラメータ算出方法及びパラメータ算出プログラム
JP2024118777A (ja) 情報処理装置、情報処理方法および情報処理プログラム
JP2023002962A (ja) 情報処理装置、モデル生成プログラムおよびモデル生成方法
JP2024060240A (ja) 情報処理装置、情報処理方法およびプログラム
WO2022181007A1 (ja) 情報処理装置、情報処理プログラムおよび情報処理方法

Legal Events

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

Ref document number: 22827976

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202280037783.3

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 18564918

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2022827976

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2022827976

Country of ref document: EP

Effective date: 20240122

WWW Wipo information: withdrawn in national office

Ref document number: 2022827976

Country of ref document: EP