Control device
The control device automatically tunes PID gain values by optimizing them to minimize differences between actual and predicted outputs or inputs, addressing the lack of timing determination in existing systems and maintaining control performance by retuning when necessary.
Patent Information
- Application Number
- JP2024023109
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-19
- Publication Date
- 2025-08-29
AI Technical Summary
Existing PID control systems lack an effective method to determine the timing of retuning based on the desired output, and they do not automatically tune PID control gain values when the desired output does not change.
A control device that automatically tunes PID gain values by calculating a control target, optimizing gain values to minimize differences between actual and predicted outputs or inputs, and retunes when these differences exceed predetermined thresholds.
Enables accurate detection of performance changes and maintains control system performance over time by automatically determining the timing and execution of retuning based on predicted output or input differences, ensuring the desired output is achieved without deteriorating control performance.
Smart Images

Figure 2025126722000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a control device that automatically tunes a gain value of PID control, and more particularly to a control device that automatically determines the timing and execution of retuning. [Background technology]
[0002] Japanese Patent Laid-Open Publication No. 2007-213483 (Patent Document 1) is a background technology of the present technology. This document states, "In order to achieve the second object of the present invention, in the present invention, two evaluation functions are prepared, a control parameter is determined using one of the evaluation functions, and control performance is evaluated from the determined control parameter and the other evaluation function. Specifically, as described in claim 4, a control performance evaluation unit is provided that determines unknown parameters of a second evaluation function including at least a term of variables related to deviations and manipulated variables and a weighting function from the commonality of at least one control parameter among a plurality of control parameters obtained by the simulator using a first evaluation function including the evaluation function IXTAE, and evaluates control performance based on fluctuations in the value of the second evaluation function calculated from the controlled variables and manipulated variables obtained from actual operating data (see
[0007] )."
[0003] There is also Patent Publication No. 2021-111017 (Patent Document 2). This document states, "A control device comprising: a calculation unit that calculates a desired output value of a controlled object; a gain value adjustment unit that adjusts a gain value of a PID controller so as to reduce a difference between the desired output value and the output value of the controlled object; and a parameter change unit that changes a parameter value of the calculation unit, wherein the gain value adjustment unit adjusts the gain value of the PID controller, and the parameter change unit changes the parameter value of the calculation unit when at least one of the following occurs after the gain value of the PID controller has been adjusted: an amount of overshoot or an amount of undershoot of a measured value or an estimated value of an output of the controlled object is not within a predetermined range; a gain value newly calculated by the gain value adjustment unit is not within a predetermined range; a gain value newly calculated by the gain value adjustment unit has reached a predetermined value; an input value to the controlled object is not within a predetermined range; or a value of the input value to the controlled object has reached a predetermined value; and the gain value adjustment unit readjusts the gain value of the PID controller after the parameter value of the calculation unit has been changed (see [Claim 1])." [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Laid-Open No. 2007-213483 [Patent Document 2] Patent Publication No. 2021-111017 Summary of the Invention [Problem to be solved by the invention]
[0005] However, in the above-mentioned prior art (Patent Document 1), the timing of retuning is determined based on the difference between the control output and the control target, and is not based on the difference from the control output desired at the time of tuning.
[0006] Furthermore, the prior art (Patent Document 2) automatically tunes the parameters of a calculation unit that calculates a desired output value of a controlled object, and retunes the PID control gain value because the desired output changes due to retuning of the parameters of the calculation unit. However, it does not determine the timing of automatic tuning of the PID control gain value and perform automatic tuning when the desired output does not change. [Means for solving the problem]
[0007] In order to solve the above problems, for example, the configurations described in the claims are adopted. The present application includes a plurality of means for solving the above problems, for example, In a device that automatically tunes the PID gain values Kp (P gain), Ki (I gain), and Kd (D gain) of PID control, A means for calculating a control target r is provided, a means for calculating a desired output yd of a controlled object with respect to a control target r; at least a means for calculating J1 based on a square value of an error e1 between the actual output y of the controlled object and the desired output yd; a means for optimizing and calculating each of the control gain values Kp1, Ki1, and Kd1 so that the J1 is reduced; The output predicted value y_est of the controlled object when Kp1, Ki1, and Kd1 are used or The input prediction value u_est of the controlled object when the Kp1, Ki1, and Kd1 are used means for calculating The actual output y1 of the controlled object when Kp1, Ki1, and Kd1 are used. A value J2 based on the difference e2 from the output predicted value y_est or The actual input u1 of the control object when Kp1, Ki1, and Kd1 are used. A value J3 based on the difference e3 from the input predicted value u_est means for calculating at least, means for displaying said J2 or J3; or means for notifying when J2 or J3 is equal to or greater than a predetermined value; or A means for re-optimizing and calculating each of the control gain values Kp2, Ki2, and Kd2 so that J4 based on the square value of the error e4 between the actual output y1 of the controlled object and the desired output yd becomes small. The control device is characterized by comprising:
[0008] Also, for example, The output predicted value y_est of the controlled object when Kp1, Ki1, and Kd1 are used is The desired output yd or the output predicted value y_est' predicted by data-driven prediction The control device is characterized by the above.
[0009] Also, for example, The input prediction value u_est of the controlled object when Kp1, Ki1, and Kd1 are used is Input predicted value u_est' predicted by data-driven prediction The control device is characterized by the above.
[0010] Also, for example, The actual output y1 of the controlled object when Kp1, Ki1, and Kd1 are used. The value J2 based on the difference e2 from the output predicted value y_est is The sum of squares error between the actual output y1 and the output prediction value y_est, or The sum of the absolute values of the differences between the actual output y1 and the output prediction value y_est, or The difference between the maximum value of the actual output y1 and the maximum value of the output prediction value y_est, or The difference between the actual output y1 and the predicted output value y_est during a predetermined period The control device is characterized by the above.
[0011] Also, for example, The actual input u1 of the control object when Kp1, Ki1, and Kd1 are used. The value J3 based on the difference e3 from the input predicted value u_est is The sum of squares error between the actual input u1 and the input prediction value u_est, or The sum of the absolute values of the differences between the actual input u1 and the input prediction value u_est, or The difference between the actual input u1 and the maximum value of the input prediction value u_est, or The difference between the actual input u1 and the predicted input value u_est during a predetermined period The control device is characterized by the above.
[0012] Also, for example, The means for re-optimizing and calculating the control gain values Kp2, Ki2, and Kd2 is Executes processing at regular intervals or when specified by the user The control device is characterized by the above.
[0013] Also, for example, means for optimizing and calculating the control gain values Kp1, Ki1, and Kd1; or The means for optimizing and calculating the control gain values Kp2, Ki2, and Kd2 includes: A means to display the input profile or maximum input value required to achieve the desired output yd The control device is characterized by comprising:
[0014] Also, for example, The J4 is "The square value of the error e4 between the actual output y1 of the controlled object and the desired output yd" The value obtained by multiplying the maximum value of the input predicted value u_est by a predetermined coefficient The control device is characterized by the above.
[0015] Also, for example, The object controlled by the control device is Temperature control of heating furnaces, etc. Position control using a motor The control device is characterized by the above. [Effects of the Invention]
[0016] According to the present invention, a value based on the difference between the predicted output or input value of a controlled object when using automatically tuned PID gain values and the actual output or input, respectively, is monitored, and when the difference exceeds a predetermined value, a notification is issued or the PID gain values are tuned based on the difference. Unlike tuning based on the difference between a controlled output and a control target, this method is based on the difference between the controlled output and the predicted output value of the controlled object, thereby enabling more accurate detection of performance changes. For example, this method enables detection based on differences focusing on a specific period in the response period. Furthermore, detection based on differences in inputs as well as outputs is possible. Therefore, even if the output difference is within the allowable range, deviations from the allowable range determined by constraints such as hardware specifications can be detected from differences in inputs.
[0017] Furthermore, since the parameters relating to the desired output yd of the controlled object are not changed, it is possible to realize the desired output yd without deteriorating the control performance.
[0018] As described above, according to the present invention, in a control device that automatically tunes the gain value of PID control, the timing and execution of retuning can be automatically determined, making it possible to easily maintain the control system over a long period of time. [Brief explanation of the drawings]
[0019] [Figure 1] FIG. [Figure 2] FIG. 2 is a system diagram of a control device in Examples 1 to 4. [Figure 3] FIG. 2 is a diagram showing a control device and a controlled object in the first to fourth embodiments. [Figure 4] FIG. 4 is a diagram showing the processing of a control target calculation unit in the first to fourth embodiments. [Figure 5] FIG. 10 is a diagram showing the processing of a desired output value calculation unit in the first to fourth embodiments. [Figure 6] FIG. 10 is a diagram showing the processing of an objective function value calculation unit in the first to fourth embodiments. [Figure 7] FIG. 10 is a diagram showing the processing of a PID control gain value optimization unit in the first to fourth embodiments. [Figure 8] 10 is a diagram showing the processing of a control target input / output predicted value calculation unit in the first, third, and fourth embodiments. FIG. [Figure 9] FIG. 10 is a diagram showing the processing of the difference calculation unit in the first, third, and fourth embodiments. [Figure 10] 10 is a diagram showing the processing of the display unit / notification unit / reoptimization unit in the first and fourth embodiments. FIG. [Figure 11] FIG. 3 is a diagram showing the PID control process in Examples 1 to 4. [Figure 12] FIG. 10 is a diagram showing the processing of a control target input / output predicted value calculation unit in the second embodiment. [Figure 13] FIG. 10 is a diagram showing the processing of a difference calculation unit in the second embodiment. [Figure 14] FIG. 10 is a diagram showing the processing of the display unit / notification unit / reoptimization unit in the second embodiment. [Figure 15] FIG. 11 is a diagram showing the processing of the display unit / notification unit / reoptimization unit in the third embodiment. [Figure 16] FIG. 10 is a system diagram of a control device according to a fourth embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0020] Hereinafter, the embodiments will be described with reference to the drawings. [Example]
[0021] In this embodiment, In a device that automatically tunes the PID gain values Kp (P gain), Ki (I gain), and Kd (D gain) of PID control, A means for calculating a control target r is provided, a means for calculating a desired output yd of a controlled object with respect to a control target r; at least a means for calculating J1 based on a square value of an error e1 between the actual output y of the controlled object and the desired output yd; a means for optimizing and calculating each of the control gain values Kp1, Ki1, and Kd1 so that the J1 is reduced; The output predicted value y_est of the controlled object when Kp1, Ki1, and Kd1 are used or The input prediction value u_est of the controlled object when the Kp1, Ki1, and Kd1 are used means for calculating The actual output y1 of the controlled object when Kp1, Ki1, and Kd1 are used. A value J2 based on the difference e2 from the output predicted value y_est or The actual input u1 of the control object when Kp1, Ki1, and Kd1 are used. A value J3 based on the difference e3 from the input predicted value u_est means for calculating at least, means for displaying said J2 or J3; or means for notifying when J2 or J3 is equal to or greater than a predetermined value; or A means for re-optimizing and calculating each of the control gain values Kp2, Ki2, and Kd2 so that J4 based on the square value of the error e4 between the actual output y1 of the controlled object and the desired output yd becomes small. The present invention relates to a control device comprising:
[0022] Also, The output predicted value y_est of the controlled object when Kp1, Ki1, and Kd1 are used is The desired output yd or the output predicted value y_est' predicted by data-driven prediction is.
[0023] Also, The actual output y1 of the controlled object when Kp1, Ki1, and Kd1 are used. The value J2 based on the difference e2 from the output predicted value y_est is The sum of squares error between the actual output y1 and the output prediction value y_est, or The sum of the absolute values of the differences between the actual output y1 and the output prediction value y_est, or The difference between the maximum value of the actual output y1 and the maximum value of the output prediction value y_est, or The difference between the actual output y1 and the predicted output value y_est during a predetermined period is.
[0024] Also, The means for re-optimizing and calculating the control gain values Kp2, Ki2, and Kd2 is Executes processing at regular intervals or when specified by the user.
[0025] Also, means for optimizing and calculating the control gain values Kp1, Ki1, and Kd1; or The means for optimizing and calculating the control gain values Kp2, Ki2, and Kd2 includes: Displays the input profile or maximum input value required to achieve the desired output yd.
[0026] The control device controls the temperature of a heating furnace or the like.
[0027] FIG. 1 is a control block diagram illustrating the concept of this control device 1. A control target calculation unit 2 calculates a control target r, and a desired output value calculation unit 3 calculates a desired output yd based on the control target r. An objective function value calculation unit 4 calculates an objective function value J1 based on the desired output yd and the output y. A PID control gain value optimization unit 5 calculates gain values Kp1, Ki1, and Kd1 so as to minimize the objective function value J1. A controlled object input / output predicted value calculation unit 6 calculates (predicts) an output predicted value y_est (or input predicted value u_est) of the controlled object when the gain values Kp1, Ki1, and Kd1 are used, based on the gain values Kp1, Ki1, and Kd1. A difference calculation unit 7 calculates a value J2 based on the difference e2 between the actual output y1 of the controlled object and the predicted output value y_est when Kp1, Ki1, and Kd1 are used (or a value J3 based on the difference e3 between the actual input u1 of the controlled object and the predicted input value u_est when Kp1, Ki1, and Kd1 are used). A display unit / notification unit / re-optimization unit 8 displays J2 (or J3), notifies when J2 (or J3) is equal to or greater than a predetermined value, or re-optimizes and calculates the control gain values Kp2, Ki2, and Kd2 so that J4, which is based on the square of the error e4 between the actual output y1 of the controlled object and the desired output yd, becomes smaller.
[0028] FIG. 2 is a system diagram of the control device 1 that implements the above-described processes. The control device 1 is provided with an input circuit 26 that processes external signals. Examples of external signals include sensor signals that detect control variables (outputs from the controlled object). These external signals pass through the input circuit 26 and are sent to the input / output port 27 as input signals. The input information sent to the input / output port 27 is written to the RAM 24 via the data bus 25 or stored in the storage device 21. The ROM 23 or the storage device 21 stores the processes described below, which are executed by the CPU 22. The values written in the RAM 24 or the storage device 21 are used as appropriate for calculations. Among the calculation results, information (values) to be sent to the outside are sent to the input / output port 27 via the data bus 25 and then sent as output signals to the output circuit 28. The output circuit 28 outputs the external signals. The external signals here refer to manipulated variables (inputs to the controlled object) and the like.
[0029] That is, the control target calculation unit 2, the desired output value calculation unit 3, the objective function value calculation unit 4, the PID control gain value optimization unit 5, the controlled object input / output predicted value calculation unit 6, the difference calculation unit 7, and the display unit / notification unit / re-optimization unit 8 shown in Fig. 1 are all realized by the CPU 22 shown in Fig. 2 executing the processes written in the ROM 23 or the storage device 21. Similarly, various means and functional units described below are also realized by the CPU 22 shown in Fig. 2 executing the processes written in the ROM 23 or the storage device 21.
[0030] 3 is a block diagram showing the relationship between the control device 1 and the heating furnace 31 controlled by the control device 1. The control target is the target temperature, the manipulated variable is the target valve opening for adjusting the amount of gas / fuel supplied to the heating furnace 31, and the controlled variable is the temperature inside the heating furnace 31.
[0031] Each process will be described in detail below.
[0032] <Control target calculation unit 2 (Fig. 4)> In this process, a control target (target temperature) r is calculated, as shown in FIG.
[0033] When the number of updates j in the optimization calculation (sequential calculation) is 0, that is, the initial value of r, the step signal shown in Fig. 4 is used. Note that this step signal has the same profile as the control target of the PID control 12 used to obtain the input u and output y.
[0034] When the number of updates j is 1 or more Using the gain values Kp_j-1, Ki_j-1, Kd_j-1, input u, and output y when the number of sequential operations in the optimization operation is j-1, r=C(Kp_j-1,Ki_j-1,Kd_j-1) -1 u+y where C is the transfer function of the PID control 12. The above equation is called a pseudo reference signal, which is the control target used in optimization by FRIT.
[0035] <Desired output value calculation unit 3 (Fig. 5)> In this process, a desired profile of the output of the controlled object (temperature of the heating furnace 31) is calculated based on the control target. Specifically, this is shown in FIG.
[0036] For a target temperature r, which is a control target, a desired output (temperature profile) yd is calculated using, for example, a transfer function, etc. The control target can be, for example, a step signal or a ramp signal.
[0037] In FIG. 5, the transfer function is expressed as a first-order lag system of 1 / (1+τs), but is not limited to this and may be of a higher order or may have dead time.
[0038] <Objective function value calculation section (Fig. 6)> In this process, the objective function value J1 is calculated, as shown in FIG.
[0039] Let the sum of the squares of the differences between the output y and the desired output yd be the objective function value J1. Here, i in FIG. 7 is the record number of the digital signals y and yd, and n is the number of records (number of samples).
[0040] <PID control gain value optimization unit 5 (FIG. 7)> In this process, the gain values Kp1, Ki1, and Kd1 are obtained. Specifically, it is shown in FIG. 7.
[0041] The gain values Kp_j, Ki_j, and Kd_j are optimized by sequential calculation so that the objective function value J1 is minimized.
[0042] As for the optimization algorithm, as shown in the figure, Gauss-Newton, PSO (Particle Swarm Optimization), CMA-ES (Covariance Matrix Adaptation - Evolution Strategy), etc. can be considered. All of them obtain the optimal solution by sequential calculation. PSO and CMA-ES are algorithms that search for the optimal solution using a plurality of search samples (agents).
[0043] When PSO is selected as the optimization algorithm, the personal best particle and the global best particle are selected from the particles that satisfy the constraint conditions. Specifically, the following processing is performed.
[0044] · In PSO, a plurality of particles are used to search for the optimal solution. At this time, based on the evaluation function value, for each particle, the gain value when the evaluation function value is the smallest among the previous sequential updates is defined as the personal best, and the gain value when J1 is the smallest among the personal bests of each particle is defined as the global best.
[0045] In CMA-ES, the search range is given as a (multidimensional) normal distribution, and multiple samples are randomly sampled from that distribution. Based on the samples, an evaluation function value is calculated, a predetermined number of samples with small evaluation function values are selected, and based on the selected samples, the normal distribution (mean and variance) that will be the next search range is specified.
[0046] The details of the Gauss-Newton, PSO and CMA-ES algorithms are available in many publications and will not be discussed in detail here.
[0047] <Controlled object input / output predicted value calculation unit 6 (Fig. 8)> In this process, an output predicted value y_est of the controlled object when the gain values Kp1, Ki1, and Kd1 are used is calculated (predicted) based on the gain values Kp1, Ki1, and Kd1. Specifically, this is shown in FIG. 8.
[0048] The predicted output value y_est is calculated by data-driven prediction using the gain values Kp1, Ki1, and Kd1. Note that data-driven prediction is a well-known technique and there are many documents about it, so it will not be described in detail.
[0049] Alternatively, the desired output yd may be set as the output prediction value y_est.
[0050] <Difference calculation unit 7 (Fig. 9)> In this process, the difference J2 is calculated. Specifically, this is shown in FIG.
[0051] Any of the following will be considered J2. - The sum of squares error between the output y1 and the output prediction y_est - Sum of absolute values of the difference between output y1 and output prediction value y_est - The difference between the maximum value of the output y1 and the output prediction value y_est - The difference between the output y1 and the predicted output y_est for a given period
[0052] Generally, it is advisable to set the sum of squared errors between the output y1 and the predicted output value y_est as J2. However, as a trigger condition for the re-optimization described later, it is better to select the above appropriate conditions.
[0053] <Display unit / Notification unit / Re-optimization unit 8 (Fig. 10)> In this process, any of the following processes is performed based on the difference J2 calculated by the above-described difference calculation unit 7. - Display the profile of J2. - When J2 is greater than or equal to a predetermined value, Notify or Re-optimize each control gain value Kp2, Ki2, Kd2 so that J4 based on the squared value of the error e4 between the output y1 and the desired output yd becomes smaller. Re-optimize each control gain value Kp2, Ki2, Kd2.
[0054] Alternatively, all of the above processes may be performed. That is, display the profile of J2, and when J2 becomes greater than or equal to a predetermined value, notify it by displaying it on the screen or the like. Furthermore, re-optimize each control gain value Kp2, Ki2, Kd2 so that J4 based on the squared value of the error e4 between the output y1 and the desired output yd becomes smaller.
[0055] Note that the calculation of J2 and this process may be executed at a fixed cycle or when the user designates a time.
[0056] <PID controller (Fig. 11)> In this process, the target valve opening u, which is the manipulated variable, is calculated. Specifically, it is shown in Fig. 11.
[0057] Let the difference between the target temperature r and the temperature y, which is the controlled variable, be f, and calculate the target valve opening u by PID control 12 based on f. The adjusted PID gain values Kp, Ki, Kd are the values calculated by the PID control gain value tuning unit 11 and are updated as appropriate.
[0058] Note that there are many documents on PID control 12, so it will not be described in detail here.
[0059] In this configuration, the gain values of the PID control 12 that realize the desired output profile are calculated using data-driven control FRIT. FRIT uses iterative calculations to calculate the gain values (multiple values can be calculated in PSO and CMA-ES) that minimize the objective function value J1. From the (multiple sets of) gain values calculated sequentially, data-driven prediction is used to predict (multiple) output profiles when those gain values are used. When the value based on the difference between the predicted output profile (or the desired output profile used for tuning) and the output profile when those gain values are used exceeds a predetermined value, it is determined that the control performance has deteriorated to a considerable extent, and this is reported, and re-tuning is performed as appropriate.
[0060] The above process makes it possible to automatically determine the timing and execution of retuning of the gain values of the PID control 12 based on the output profile, and to easily maintain the PID control system over the long term. [Example]
[0061] In this embodiment, In a device that automatically tunes the PID gain values Kp (P gain), Ki (I gain), and Kd (D gain) of PID control, A means for calculating a control target r is provided, a means for calculating a desired output yd of a controlled object with respect to a control target r; at least a means for calculating J1 based on a square value of an error e1 between the actual output y of the controlled object and the desired output yd; a means for optimizing and calculating each of the control gain values Kp1, Ki1, and Kd1 so that the J1 is reduced; The output predicted value y_est of the controlled object when Kp1, Ki1, and Kd1 are used or The input prediction value u_est of the controlled object when the Kp1, Ki1, and Kd1 are used means for calculating The actual output y1 of the controlled object when Kp1, Ki1, and Kd1 are used. A value J2 based on the difference e2 from the output predicted value y_est or The actual input u1 of the control object when Kp1, Ki1, and Kd1 are used. A value J3 based on the difference e3 from the input predicted value u_est means for calculating at least, means for displaying said J2 or J3; or means for notifying when J2 or J3 is equal to or greater than a predetermined value; or A means for re-optimizing and calculating each of the control gain values Kp2, Ki2, and Kd2 so that J4 based on the square value of the error e4 between the actual output y1 of the controlled object and the desired output yd becomes small. The present invention relates to a control device comprising:
[0062] Also, The input prediction value u_est of the controlled object when Kp1, Ki1, and Kd1 are used is Input predicted value u_est' predicted by data-driven prediction is.
[0063] Also, The actual input u1 of the control object when Kp1, Ki1, and Kd1 are used. The value J3 based on the difference e3 from the input predicted value u_est is The sum of squares error between the actual input u1 and the input prediction value u_est, or The sum of the absolute values of the differences between the actual input u1 and the input prediction value u_est, or The difference between the actual input u1 and the maximum value of the input prediction value u_est, or The difference between the actual input u1 and the predicted input value u_est during a predetermined period is.
[0064] Also, The means for re-optimizing and calculating the control gain values Kp2, Ki2, and Kd2 is Executes processing at regular intervals or when specified by the user.
[0065] Also, means for optimizing and calculating the control gain values Kp1, Ki1, and Kd1; or The means for optimizing and calculating the control gain values Kp2, Ki2, and Kd2 includes: Displays the input profile or maximum input value required to achieve the desired output yd.
[0066] The control device controls the temperature of a heating furnace or the like.
[0067] FIG. 1 is a control block diagram showing the concept of the present control device 1, but as it is the same as the first embodiment, a detailed description will not be given.
[0068] FIG. 2 is a system diagram of the control device 1 that implements the above-mentioned processes, but as it is the same as in the first embodiment, a detailed description will not be given.
[0069] FIG. 3 is a block diagram showing the relationship between the control device 1 and the heating furnace 31 controlled by the control device 1, but as it is the same as in the first embodiment, it will not be described in detail.
[0070] Each process will be described in detail below.
[0071] <Control target calculation unit 2 (Fig. 4)> In this process, a control target (target temperature) r is calculated. Specifically, as shown in Fig. 4, this is the same as in the first embodiment, and therefore will not be described in detail.
[0072] <Desired output value calculation unit 3 (Fig. 5)> In this process, a desired profile of the output of the controlled object (temperature of the heating furnace 31) is calculated based on the control target (target temperature) r. Specifically, as shown in Fig. 5, this is the same as in Example 1, and therefore will not be described in detail.
[0073] <Objective function value calculation section (Fig. 6)> In this process, an objective function value J1 is calculated. Specifically, as shown in Fig. 6, this is the same as in the first embodiment, so a detailed description will not be given.
[0074] <PID control gain value optimization unit 5 (Fig. 7)> In this process, gain values Kp1, Ki1, and Kd1 are obtained. Specifically, as shown in Fig. 7, since it is the same as in Example 1, it will not be described in detail.
[0075] <Control target input / output prediction value calculation unit 6 (Fig. 12)> In this process, based on the gain values Kp1, Ki1, and Kd1, the input prediction value u_est of the control target when the gain values Kp1, Ki1, and Kd1 are used is calculated (predicted). Specifically, it is shown in Fig. 12.
[0076] Using the gain values Kp1, Ki1, and Kd1, the input prediction value u_est is calculated by data-driven prediction. Note that data-driven prediction is a well-known technique and there are many related documents, so it will not be described in detail.
[0077] <Difference calculation unit 7 (Fig. 13)> In this process, the difference J3 is calculated. Specifically, it is shown in Fig. 13.
[0078] Let any of the following be J3. - The sum of squared errors between the input u1 and the input prediction value u_est - The sum of the absolute values of the difference between the input u1 and the input prediction value u_est - The difference between the maximum value of the input u1 and the input prediction value u_est - The difference between the input u1 and the input prediction value u_est over a predetermined period
[0079] Generally, it is better to set the sum of squared errors between the input u1 and the input prediction value u_est as J3, but it is better to select the appropriate condition as described above as the trigger condition for re-optimization to be described later.
[0080] <Display unit / notification unit / re-optimization unit 8 (Fig. 14)> In this process, based on the difference J3 calculated by the above-described difference calculation unit 7, any of the following processes is performed. - Display the profile of J3. - When J3 is greater than or equal to a predetermined value, Notify or <000Based on the squared value of the error e4 between the output y1 and the desired output yd, J4 is minimized, and the control gain values Kp2, Ki2, and Kd2 are optimized again.
[0081] Alternatively, all of the above processes may be performed. That is, when the profile of J3 is displayed and J3 becomes greater than or equal to a predetermined value, it is notified by displaying it on the screen or the like. Further, based on the squared value of the error e4 between the output y1 and the desired output yd, J4 is minimized, and the control gain values Kp2, Ki2, and Kd2 are optimized again.
[0082] Note that the calculation of J3 and this process may be executed at a fixed cycle or when the user designates a time.
[0083] <PID Controller (Figure 11)> In this process, the target valve opening u, which is the manipulated variable, is calculated. Specifically, as shown in Figure 11, it is the same as in the first embodiment and will not be described in detail.
[0084] In this configuration, the gain values of the PID control 12 that realize the desired output profile are obtained by data-driven control FRIT. FRIT obtains the gain values (a plurality are obtained in PSO and CMA-ES) that minimize the objective function value J1 by sequential calculation. From the sequentially obtained (plural sets of) gain values, the (plural) input profiles when using these gain values are predicted by data-driven prediction. When the value based on the difference between the predicted input profile and the input profile when using these gain values becomes greater than or equal to a predetermined value, it is determined that the control performance has deteriorated considerably, and it is notified and retuning is performed as appropriate. It may be used in combination with the process of evaluating by the difference in the output profile shown in the first embodiment. In this case, notification / retuning can be performed when the difference in either the input profile or the output profile becomes large.
[0085] The above process makes it possible to automatically determine the timing and execution of retuning of the gain values of the PID control 12 based on the input profile, and to easily maintain the PID control system over the long term. [Example]
[0086] In this embodiment, In a device that automatically tunes the PID gain values Kp (P gain), Ki (I gain), and Kd (D gain) of PID control, a means for calculating a control target r; a means for calculating a desired output yd of a controlled object with respect to a control target r; at least a means for calculating J1 based on a square value of an error e1 between the actual output y of the controlled object and the desired output yd; a means for optimizing and calculating each of the control gain values Kp1, Ki1, and Kd1 so that the J1 is reduced; The output predicted value y_est of the controlled object when Kp1, Ki1, and Kd1 are used or The input prediction value u_est of the controlled object when the Kp1, Ki1, and Kd1 are used means for calculating The actual output y1 of the controlled object when Kp1, Ki1, and Kd1 are used. A value J2 based on the difference e2 from the output predicted value y_est or The actual input u1 of the control object when Kp1, Ki1, and Kd1 are used. A value J3 based on the difference e3 from the input predicted value u_est means for calculating at least, means for displaying said J2 or J3; or means for notifying when J2 or J3 is equal to or greater than a predetermined value; or A means for re-optimizing and calculating each of the control gain values Kp2, Ki2, and Kd2 so that J4 based on the square value of the error e4 between the actual output y1 of the controlled object and the desired output yd becomes small. The present invention relates to a control device comprising:
[0087] Also, The output predicted value y_est of the controlled object when Kp1, Ki1, and Kd1 are used is The desired output yd or the output predicted value y_est' predicted by data-driven prediction is.
[0088] Also, The actual output y1 of the controlled object when Kp1, Ki1, and Kd1 are used. The value J2 based on the difference e2 from the output predicted value y_est is The sum of squares error between the actual output y1 and the output prediction value y_est, or The sum of the absolute values of the differences between the actual output y1 and the output prediction value y_est, or The difference between the maximum value of the actual output y1 and the maximum value of the output prediction value y_est, or The difference between the actual output y1 and the predicted output value y_est during a predetermined period is.
[0089] Also, The means for re-optimizing and calculating the control gain values Kp2, Ki2, and Kd2 is Executes processing at regular intervals or when specified by the user.
[0090] Also, means for optimizing and calculating the control gain values Kp1, Ki1, and Kd1; or The means for optimizing and calculating the control gain values Kp2, Ki2, and Kd2 includes: Displays the input profile or maximum input value required to achieve the desired output yd.
[0091] Also, The J4 is "The square value of the error e4 between the actual output y1 of the controlled object and the desired output yd" A value obtained by adding "a value obtained by multiplying a predetermined coefficient by the maximum value of the input predicted value u_est" is used.
[0092] In addition, the object controlled by the control device is temperature control such as a heating furnace.
[0093] FIG. 1 is a control block diagram showing the concept of the present control device 1. Since it is the same as that in the first embodiment, it will not be described in detail.
[0094] FIG. 2 is a system diagram of the control device 1 that implements each of the above processes. Since it is the same as that in the first embodiment, it will not be described in detail.
[0095] FIG. 3 is a block diagram showing the relationship between the control device 1 and the heating furnace 31 controlled by the control device 1. Since it is the same as that in the first embodiment, it will not be described in detail.
[0096] Hereinafter, the details of each process will be described.
[0097] <Control target calculation unit 2 (FIG. 4)> In this process, the control target (target temperature) r is calculated. Specifically, as shown in FIG. 4, since it is the same as that in the first embodiment, it will not be described in detail.
[0098] <Desired output value calculation unit 3 (FIG. 5)> In this process, based on the control target (target temperature) r, a desired profile of the output of the control target (temperature of the heating furnace 31) is calculated. Specifically, as shown in FIG. 5, since it is the same as that in the first embodiment, it will not be described in detail.
[0099] <Objective function value calculation unit (FIG. 6)> In this process, the objective function value J1 is calculated. Specifically, as shown in FIG. 6, since it is the same as that in the first embodiment, it will not be described in detail.
[0100] <PID control gain value optimization unit 5 (FIG. 7)> In this process, the gain values Kp1, Ki1, and Kd1 are obtained. Specifically, as shown in FIG. 7, since it is the same as that in the first embodiment, it will not be described in detail.
[0101] <Controlled object input / output predicted value calculation unit 6 (Fig. 8)> In this process, the output predicted value y_est of the controlled object when the gain values Kp1, Ki1, and Kd1 are used is calculated (predicted) based on the gain values Kp1, Ki1, and Kd1. Specifically, as shown in FIG. 8, this is the same as in the first embodiment, and therefore will not be described in detail.
[0102] <Difference calculation unit 7 (Fig. 9)> In this process, the difference J2 is calculated. Specifically, as shown in Fig. 9, it is the same as in the first embodiment and will not be described in detail.
[0103] <Display unit / Notification unit / Reoptimization unit 8 (Fig. 15)> In this process, one of the following processes is performed based on the difference J2 calculated by the difference calculation unit 7 described above. - View J2's profile. - When J2 is equal to or greater than a predetermined value, Notification or So that J4 based on the square value of the error e4 between the output y1 and the desired output yd becomes small, The control gain values Kp2, Ki2, and Kd2 are optimized again.
[0104] However, J4 is the square of the error e4 between the output y1 and the desired output yd, "The maximum value of the input prediction value u_est multiplied by a specified coefficient" and is expressed by the following formula, for example:
[0105] J4=Σe4+λ×max(u_est)
[0106] Here, λ is a hyperparameter that determines how much the maximum value of the input prediction value u_est affects optimization, and is a value that is adjusted by the user.
[0107] Alternatively, all of the above processes may be performed. That is, the profile of J2 is displayed, and when J2 becomes a predetermined value or more, it is notified by displaying it on the screen or the like. Further, the control gain values Kp2, Ki2, and Kd2 are optimized again so that J4 based on the squared value of the error e4 between the output y1 and the desired output yd becomes small.
[0108] Note that the calculation of J2 and this process may be executed at a fixed cycle or when the user designates it.
[0109] <PID Controller (Fig. 11)> In this process, the target valve opening u, which is the manipulated variable, is calculated. Specifically, as shown in Fig. 11, since it is the same as in the first embodiment, it will not be described in detail.
[0110] In this configuration, the gain values of the PID control 12 for realizing the desired output profile are obtained by data-driven control FRIT. FRIT obtains the gain values (a plurality of gain values are obtained in PSO and CMA-ES) that minimize the objective function value J1 by sequential calculation. From the sequentially obtained (plural sets of) gain values, the (plural) output profiles when using these gain values are predicted by data-driven prediction. When the value based on the difference between the predicted output profile and the output profile when using these gain values becomes a predetermined value or more, it is determined that the control performance has deteriorated considerably, and this is notified and retuning is performed as appropriate. At this time, the value based on the difference between the predicted output profile and the output profile when using these gain values is set to the value obtained by adding the value obtained by multiplying the maximum value of the input prediction value u_est by a predetermined coefficient to the squared value of the error e4 between the output y1 and the desired output yd. In this way, it is possible to tune the PID gain values to realize the desired response while preventing the input value from becoming large as much as possible.
[0111] It may be used in combination with the process of evaluating by the difference in the output profile shown in the second embodiment. In this case, notification / retuning can be performed when the difference in either the input profile or the output profile becomes large.
[0112] The above process makes it possible to automatically determine the timing and execution of retuning of the gain values of the PID control 12 based on the output profile. Furthermore, it is possible to tune to PID gain values that achieve a desired response while preventing the input values from increasing, so that the PID control system can be easily maintained over a long period of time. [Example]
[0113] In this embodiment, In a device that automatically tunes the PID gain values Kp (P gain), Ki (I gain), and Kd (D gain) of PID control, a means for calculating a control target r; a means for calculating a desired output yd of a controlled object with respect to a control target r; at least a means for calculating J1 based on a square value of an error e1 between the actual output y of the controlled object and the desired output yd; a means for optimizing and calculating each of the control gain values Kp1, Ki1, and Kd1 so that the J1 is reduced; The output predicted value y_est of the controlled object when Kp1, Ki1, and Kd1 are used or The input prediction value u_est of the controlled object when the Kp1, Ki1, and Kd1 are used means for calculating The actual output y1 of the controlled object when Kp1, Ki1, and Kd1 are used. A value J2 based on the difference e2 from the output predicted value y_est or The actual input u1 of the control object when Kp1, Ki1, and Kd1 are used. A value J3 based on the difference e3 from the input predicted value u_est means for calculating at least, means for displaying said J2 or J3; or means for notifying when J2 or J3 is equal to or greater than a predetermined value; or A means for re-optimizing and calculating each of the control gain values Kp2, Ki2, and Kd2 so that J4 based on the square value of the error e4 between the actual output y1 of the controlled object and the desired output yd becomes small. The present invention relates to a control device comprising:
[0114] Also, The output predicted value y_est of the controlled object when Kp1, Ki1, and Kd1 are used is The desired output yd or the output predicted value y_est' predicted by data-driven prediction is.
[0115] Also, The actual output y1 of the controlled object when Kp1, Ki1, and Kd1 are used. The value J2 based on the difference e2 from the output predicted value y_est is The sum of squares error between the actual output y1 and the output prediction value y_est, or The sum of the absolute values of the differences between the actual output y1 and the output prediction value y_est, or The difference between the maximum value of the actual output y1 and the maximum value of the output prediction value y_est, or The difference between the actual output y1 and the predicted output value y_est during a predetermined period is.
[0116] Also, The means for re-optimizing and calculating the control gain values Kp2, Ki2, and Kd2 is Executes processing at regular intervals or when specified by the user.
[0117] Also, means for optimizing and calculating the control gain values Kp1, Ki1, and Kd1; or The means for optimizing and calculating the control gain values Kp2, Ki2, and Kd2 includes: Displays the input profile or maximum input value required to achieve the desired output yd.
[0118] The object controlled by the control device is position control using a motor.
[0119] FIG. 1 is a control block diagram showing the concept of the present control device 1, but as it is the same as the first embodiment, a detailed description will not be given.
[0120] FIG. 2 is a system diagram of the control device 1 that implements the above-mentioned processes, but as it is the same as in the first embodiment, a detailed description will not be given.
[0121] 16 is a block diagram showing the relationship between the control device 1 and the motor 32 controlled by the control device 1. The control target is the target rotation speed, the manipulated variable is the voltage for adjusting the rotation speed of the motor 32, and the controlled variable is the rotation speed of the motor 32.
[0122] Each process will be described in detail below.
[0123] <Control target calculation unit 2 (Fig. 4)> In this process, a control target (target rotation speed) r is calculated. Specific details are shown in Fig. 4, but as this is the same as in the first embodiment, a detailed description will not be given. As described above, since the controlled object is the motor 32, the input / operated variable u is the voltage, the control target r is the target rotation speed, and the output y is the rotation speed.
[0124] <Desired output value calculation unit 3 (Fig. 5)> In this process, a desired profile of the output of the controlled object (temperature of the heating furnace 31) is calculated based on the control target (target rotation speed) r. Specifically, as shown in Fig. 5, it is the same as in Example 1 and will not be described in detail. As mentioned above, since the controlled object is the motor 32, the control target r is the target rotation speed and the desired output yd is the rotation speed.
[0125] <Objective function value calculation section (Fig. 6)> In this process, an objective function value J1 is calculated. Specific details are shown in Fig. 6, but as this is the same as in the first embodiment, a detailed description will not be given. As mentioned above, since the controlled object is the motor 32, the control target r is the target rotation speed, and the desired output yd is the rotation speed.
[0126] <PID control gain value optimization unit 5 (Fig. 7)> In this process, gain values Kp1, Ki1, and Kd1 are obtained. Specifically, as shown in Fig. 7, since it is the same as in Example 1, it will not be described in detail.
[0127] <Control target input / output predicted value calculation unit 6 (Fig. 8)> In this process, based on the gain values Kp1, Ki1, and Kd1, the output predicted value y_est of the control target when the gain values Kp1, Ki1, and Kd1 are used is calculated (predicted). Specifically, as shown in Fig. 8, since it is the same as in Example 1, it will not be described in detail.
[0128] <Difference calculation unit 7 (Fig. 9)> In this process, the difference J2 is calculated. Specifically, as shown in Fig. 9, since it is the same as in Example 1, it will not be described in detail.
[0129] <Display / notification / re-optimization unit 8 (Fig. 10)> In this process, any of the following processes is performed based on the difference J2 calculated by the above-described difference calculation unit 7. Specifically, as shown in Fig. 10, since it is the same as in Example 1, it will not be described in detail.
[0130] <PID controller (Fig. 11)> In this process, the target valve opening u, which is the manipulated variable, is calculated. Specifically, as shown in Fig. 11, since it is the same as in Example 1, it will not be described in detail. As described above, since the control target is the motor 32, the input / manipulated variable u is the voltage, the control target r is the target rotation speed, and the output y is the rotation speed.
[0131] In this configuration, the gain values of the PID control 12 that realize the desired output profile are calculated using data-driven control FRIT. FRIT uses iterative calculations to calculate the gain values (multiple values can be calculated in PSO and CMA-ES) that minimize the objective function value J1. From the (multiple sets of) gain values calculated sequentially, data-driven prediction is used to predict (multiple) output profiles when those gain values are used. When the value based on the difference between the predicted output profile (or the desired output profile used for tuning) and the output profile when those gain values are used exceeds a predetermined value, it is determined that the control performance has deteriorated to a considerable extent, and this is reported, and re-tuning is performed as appropriate.
[0132] The above process makes it possible to automatically determine the timing and execution of retuning of the gain values of the PID control 12 based on the output profile, and to easily maintain the PID control system that controls the motor 32 over the long term.
[0133] Although several embodiments have been described above, these are merely examples for the purpose of explaining the present invention, and the scope of the present invention is not limited to these embodiments. The present invention can be implemented in various other forms.
[0134] In the above description, "RAM 24" refers to one or more memory devices (hereinafter simply referred to as "memory") that are an example of one or more storage devices, and may typically be a primary storage device. At least one memory device in the memory may be a volatile memory device or a non-volatile memory device.
[0135] In the above description, the "storage device 21" may be one or more persistent storage devices, which are an example of one or more storage devices. The persistent storage device may typically be a non-volatile storage device (e.g., an auxiliary storage device), and more specifically, may be, for example, a hard disk drive (HDD), a solid state drive (SSD), a non-volatile memory express (NVME) drive, or a storage class memory (SCM).
[0136] In the above description, the "storage device 21" may include a memory.
[0137] Furthermore, in the above description, "CPU 22" may be one or more processor devices (hereinafter simply referred to as "processor"). The at least one processor device may typically be a microprocessor device such as a CPU (Central Processing Unit) 22, but may also be another type of processor device such as a GPU (Graphics Processing Unit). The at least one processor device may be a single-core or multi-core. The at least one processor device may also be a processor core. The at least one processor device may also be a processor device in a broader sense, such as a circuit that is a collection of gate arrays written in a hardware description language that performs some or all of the processing (for example, an FPGA (Field-Programmable Gate Array), a CPLD (Complex Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit)).
[0138] Furthermore, in the above description, functions are sometimes described using the expression "xxx unit." However, the functions may be realized by one or more computer programs executed by a processor, by one or more hardware circuits (e.g., FPGAs or ASICs), or by a combination thereof. When a function is realized by a program executed by a processor, the specified processing is performed using the storage device 21 and / or an interface device, as appropriate, and therefore the function may be considered to be at least a part of the processor. Processing described using a function as the subject may be processing performed by a processor or a control device 1 having that processor. A program may be installed from a program source. The program source may be, for example, a computer from which the program is distributed or a computer-readable recording medium (e.g., a non-transitory recording medium). The description of each function is merely an example; multiple functions may be combined into one function, or one function may be divided into multiple functions.
[0139] In addition, in the above explanation, there are cases where a process is explained using a "program" as the subject, but a process explained using a program as the subject may be a process performed by a processor or a control device 1 having that processor. Furthermore, two or more programs may be realized as one program, or one program may be realized as two or more programs.
[0140] Furthermore, in the above description, the "control device 1" may be a system (for example, an on-premise system) configured with one or more physical computers, or may be a system (for example, a cloud computing system) realized on a group of physical computing resources (for example, a cloud platform). The control device 1 "displaying" the display information may mean displaying the display information on a display device possessed by the computer, or may mean the computer transmitting the display information to a display computer (in the latter case, the display information is displayed by the display computer). [Explanation of symbols]
[0141] 1. Control device 2. Control target calculation section 3. Desired output value calculation section 4 Objective function value calculation part 5 PID control gain value optimization section 6. Control target input / output predicted value calculation section 7 Difference calculation section 8 Display / Notification / Reoptimization 11 PID control gain value tuning section 12 PID control 21 Control device memory device 22 Control device CPU 23 Control device ROM 24 RAM of the control unit 25 Control device data bus 26 Control device input circuit 27 Control Unit Input / Output Ports 28 Control device output circuit 31 Heating furnace 32 motor
Claims
1. In a device for automatically tuning PID gain values Kp, Ki, and Kd of PID control, a means for calculating a control target r; a means for calculating a desired output yd of a controlled object with respect to a control target r; at least a means for calculating J1 based on a square value of an error e1 between the actual output y of the controlled object and the desired output yd; a means for optimizing and calculating the control gain values Kp1, Ki1, and Kd1 so that the J1 is reduced; The output predicted value y_est of the controlled object when the Kp1, Ki1, and Kd1 are used or The input predicted value u_est of the controlled object when the Kp1, Ki1, and Kd1 are used means for calculating The actual output y1 of the controlled object when Kp1, Ki1, and Kd1 are used. A value J2 based on the difference e2 from the output predicted value y_est or The actual input u1 of the controlled object when Kp1, Ki1, and Kd1 are used. A value J3 based on the difference e3 from the input predicted value u_est means for calculating at least, means for displaying J2 or J3; or means for notifying when J2 or J3 is equal to or greater than a predetermined value; or means for re-optimizing and calculating the control gain values Kp2, Ki2, and Kd2 so that J4 based on the square value of the error e4 between the actual output y1 of the controlled object and the desired output yd is reduced; A control device comprising:
2. In claim 1, The output predicted value y_est of the controlled object when Kp1, Ki1, and Kd1 are used is expressed as follows: The desired output yd or the output predicted value y_est' predicted by data-driven prediction A control device characterized by:
3. In claim 1, The input prediction value u_est of the controlled object when the Kp1, Ki1, and Kd1 are used is expressed as follows: Input predicted value u_est' predicted by data-driven prediction A control device characterized by:
4. In claim 1, The actual output y1 of the controlled object when Kp1, Ki1, and Kd1 are used. The value J2 based on the difference e2 from the output predicted value y_est is The sum of squares error between the actual output y1 and the output prediction value y_est, or The sum of the absolute values of the differences between the actual output y1 and the output prediction value y_est, or The difference between the maximum value of the actual output y1 and the maximum value of the output prediction value y_est, or The difference between the actual output y1 and the predicted output value y_est during a predetermined period A control device characterized by:
5. In claim 1, The actual input u1 of the controlled object when Kp1, Ki1, and Kd1 are used. The value J3 based on the difference e3 from the input predicted value u_est is the sum of squares error between the actual input u1 and the input prediction value u_est, or The sum of the absolute values of the differences between the actual input u1 and the input prediction value u_est, or The difference between the actual input u1 and the maximum value of the input prediction value u_est, or The difference between the actual input u1 and the predicted input value u_est during a predetermined period A control device characterized by:
6. In claim 1, The means for re-optimizing and calculating the control gain values Kp2, Ki2, and Kd2 includes: Executes processing at regular intervals or when specified by the user A control device characterized by:
7. In claim 1, means for optimizing and calculating the control gain values Kp1, Ki1, and Kd1; or The means for optimizing and calculating the control gain values Kp2, Ki2, and Kd2 includes: A means for displaying the input profile or maximum input value required to achieve the desired output yd. A control device comprising:
8. In claim 1, The J4 is "The square value of the error e4 between the actual output y1 of the controlled object and the desired output yd" A value obtained by adding "the maximum value of the input predicted value u_est multiplied by a predetermined coefficient" A control device characterized by:
9. In claim 1, The object controlled by the control device is Temperature control of heating furnaces, etc. Position control using a motor A control device characterized by:
Citation Information
Patent Citations
Optimization system and optimization method for PID controller
JP2007213483A
controller
JP2021111017A