Apparatus and Methods for Non-Invasive Closed Loop Step Testing with Controllable Optimization Relaxation
20200133210 ยท 2020-04-30
Inventors
Cpc classification
International classification
Abstract
A controller has improved closed-loop step testing of a dynamic process of an industrial processing plant. The controller performs economic optimization relaxation on process variables, such that operating range of the variables (MVs and CVs) during the testing are not skewed by variations in optimization cost factors. The controller employs computer-implemented methods and systems that receive a user-defined giveaway tolerance representing an allowable range between a current process variable value and a target process variable value. In response to the variables not meeting the giveaway tolerance, the methods and systems adjust the MPC controller configuration to drive the variables inside the tolerance, while relaxing optimization of the variables already meeting the giveaway tolerance. Using the adjusted configuration, the methods and systems calculate a new set of targets and generate a dynamic move plan from the new target. The methods and systems add perturbation signals for the testing to the move plan in accordance with the adjusted configuration.
Claims
1. A computer-implemented method of increasing performance in conducting step testing of an industrial process, the method comprising: configuring a MPC controller that controls an industrial process at a plant or refinery, the industrial process having one or more process variables; for each of the one or more process variables: (i) receiving a giveaway tolerance representing an allowable range between a current value of the process variable and a target value for the process variable, and (ii) determining if the current value of the process variable meets the received giveaway tolerance; in response to at least one of the process variables not meeting the received giveaway tolerance, adjusting the configuration of the MPC controller in a manner that moves the at least one process variables towards the received giveaway tolerance; using the adjusted configuration, calculating new target values for the one or more process variables; generating a dynamic move plan from the calculated new target values; and adding to the dynamic move plan perturbation signals calculated based on the adjusted configuration.
2. The method of claim 1, wherein the configuration of the MPC controller having an objective function, and adjusting the configuration further comprises: for each of the one or more process variables: (a) calculating an optimal target value for the process variable using the objective function, (b) determining whether to optimize the process variable based on the current value being within the giveaway tolerance with respect to the calculated optimal target value, and (c) in response to determining not to optimize the process variable, adjusting the objective function and the configuration with respect to the process variable; and using the adjusted objective function and the adjusted configuration, calculating the new target values.
3. The method of claim 2, wherein the objective function is constructed for economic optimization based on minimum cost.
4. The method of claim 2, wherein adjusting the objective function includes: removing the process variable determined not to be optimized from the calculation performed by the objective function.
5. The method of claim 4, wherein: the objective function including a cost factor for the determined process variable, and the removing of the determined process variable comprises setting the cost factor to zero.
6. The method of claim 5, wherein adjusting the configuration includes: modifying high and low limits on each process variables already within the respective giveaway tolerance, such that calculation of the current value complies with the giveaway tolerance and creates room for other process variables to optimize.
7.The method of claim 2, further comprising: for each of the one or more process variables: if at least one process variable is outside the giveaway tolerance, re-running the optimization with the adjusted objective function and the adjusted configuration, the re-running forces the current value of the at least one process variable outside the giveaway tolerance to move within or close to the giveaway tolerance, while relaxing optimization on the current value of process variables inside the giveaway tolerance.
8. The method of claim 1, wherein the one or more process variables include at least one of: manipulated variables (MV) and controlled variables (CV).
9. The method of claim 1, wherein adding the perturbation signals further comprising: calculating the perturbation signals by maximizing step size with respect to: (a) constraints on the one or more process variables and (b) the adjusted configuration; and using the calculated perturbation signals, performing closed-loop step testing of the industrial process.
10. The method of claim 1, wherein generating the dynamic move plan further comprises: calculating control signals based on the adjusted configuration; and using the calculated control signals, adjusting behavior of the industrial process.
11. A computer system for increasing the performance in conducting step testing of an industrial process, the system comprising: a user interface configured to enable a user to define a giveaway tolerance for each of one or more process variables; a MPC controller configured to control an industrial process at a plant or refinery, the industrial process having one or more process variables, the MPC controller implementing: a target optimizer, for each of the one or more process variables, the target optimizer configured to: (i) receive, from the user interface, a defined giveaway tolerance for the process variable, the defined giveaway tolerance representing an allowable range between a current value of the process variable and a target value for the process variable, and (ii) determine if the current value of the process variable meets the received giveaway tolerance; the target optimizer further configured to: in response to at least one of the process variables not meeting the received giveaway tolerance, adjust the configuration of the MPC controller in a manner that moves the at least one process variables towards the received giveaway tolerance; and using the adjusted configuration, calculate new target values for the one or more process variables; and a dynamic controller configured to: generate a dynamic move plan from the calculated new target values; and add to the dynamic move plan perturbation signals calculated based on the adjusted configuration.
12. The computer system of claim 11, wherein the configuration of the MPC controller having an objective function, and the target optimizer further configured to: for each of the one or more process variables: (a) calculate an optimal target value for the process variable using the objective function, (b) determine whether to optimize the process variable based on the current value being within the giveaway tolerance with respect to the calculated optimal target value, and (c) in response to determining not to optimize the process variable, adjust the objective function and the configuration with respect to the process variable; and using the adjusted objective function and the adjusted configuration, calculating the new target values.
13. The computer system of claim 12, wherein the objective function is constructed for economic optimization based on minimum cost.
14. The computer system of claim 12, wherein target optimizer adjusts the objective function by: removing the process variable determined not to be optimized from the calculation performed by the objective function.
15. The computer system of claim 12, wherein: the objective function includes a cost factor for the determined process variable, and the target optimizer removes the determined process variable by setting the cost factor to zero.
16. The computer system of claim 12, wherein adjusting the configuration includes: modifying high and low limits on each process variable already within the giveaway tolerances, such that calculation of the current value complies with the giveaway tolerance and creates rooms for other process variables to optimize.
17. The computer system of claim 12, wherein the target optimizer is further configured to: for each of the one or more process variables: if at least one process variable is outside the giveaway tolerance, re-running the optimization with the adjusted objective function and the adjusted configuration, the re-running forces the current value of the process variable outside the giveaway tolerance to move within or close to the giveaway tolerance, while relaxing optimization on the current value of process variables inside the giveaway tolerance.
18. The computer system of claim 11, wherein the one or more process variables are manipulated variables (MVs).
19. The computer system of claim 11, wherein the dynamic controller is further configured to add the perturbation signals by: calculating the perturbation signals by maximizing step size with respect to: (a) constraints on the one or more process variables and (b) the adjusted configuration; and using the calculated perturbation signals, performing closed-loop step testing of the industrial process.
20. A non-transient computer-readable storage medium having computer-readable code stored thereon, which, when loaded and executed by a computer processor, causes the computer processor to increase performance in conducting step testing of an industrial process by: configure a MPC controller that controls an industrial process at a plant or refinery, the industrial process having one or more process variables; for each of the one or more process variables: (i) receive a giveaway tolerance representing an allowable range between a current value of the process variable and a target value for the process variable, and (ii) determine if the current value of the process variable meets the received giveaway tolerance in response to at least one of the process variables not meeting the received giveaway tolerance, adjust the configuration of the MPC controller in a manner that moves the at least one process variables towards the received giveaway tolerance; using the adjusted configuration, calculate new target values for the one or more process variables; generate a dynamic move plan from the calculated new target values; and add to the dynamic move plan perturbation signals calculated based on the adjusted configuration.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0014] The foregoing will be apparent from the following more particular description of example embodiments, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating embodiments.
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
DETAILED DESCRIPTION
[0023] A description of example embodiments follows.
[0024] The teachings of all patents, published applications and references cited herein are incorporated by reference in their entirety.
Example Multivariate Modeling and Control System
[0025]
[0026] The data module 115 generates at least one of linear and non-linear models (MPC models) for defining the behavior of the plant process 110. The MPC controller 105, communicatively coupled to the data module 115, uses the generated MPC models to predict, optimize, and control the future behavior of the plant process 110. In example embodiments, the MPC models generated at data module 115 for optimization of the plant process 110 may include objective functions that determine steady-state targets defining the optimal behavior (operation and output) of the plant process 110 based on cost factors. The data module 115 may provide parameters for a user or system to define the behavior of the plant process 110 as a generated MPC model, including parameters for defining MVs and CVs of the plant process 110 and defining optimization giveaway tolerance for each variable. These parameters may be displayed at user interface display 140 for the user or system to define the MPC model for the plant process 110. The data module 115 may also define the behavior of the plant process 110 as generated MPC models based on plant measurements 130 and test data 132 (e.g., from plant process output 135) received at the MPC controller 105 from the physical plant, historical process data (e.g., from a historian database), and such. In some embodiments, the generated MPC models (or provided parameters) may be stored in memory at, or communicatively coupled to, data module 115, and may be loaded to the data module 115 at a later time for defining the behavior of a plant process 110.
[0027] The MPC controller 105 loads and solves the generated MPC models to predict the future behavior of the plant process 110, as defined by CV values, in response to changes in the process conditions, as determined from plants measurements 130, test data 132, and other plant process output 135 received from MV values of the plant process. The MPC controller 105 also loads and solves the generated MPC models to optimally adjust the plant process 110, by adjusting the MVs, in response to the plant process output 135, and modeled predictions. Specifically, generated MPC models may be used to optimally adjust the MVs to ensure that the plant process 110 continues to run with the most optimal economic benefit possible inside a prescribed constraint set.
[0028] The MPC controller 105 transmits control signals 120 comprising control moves to the plant process 110 (at the physical plant) to push the plant process 110 (e.g., program components at the physical plant based on the adjusted MVs) towards the configured optimized behavior. The MPC controller 105 may also transmit perturbation signals 120 comprising step moves to the plant process 110 to generate data based on step testing (e.g., non-invasive closed-loop step testing). The physical plant is generally configured with a distributed control systems (DCS) or other plant process control system that adjusts (control moves) the plant process 110 based on the control signals and tests (step moves) the plant process 110 based on perturbation signals. The DCS transmits plant measurements 130, testing data 132, and other process output 135 of the plant process 110 back to the MPC controller 105 for further predictions and optimization of the plant process 110.
Example Plant Process Control
[0029]
[0030] The plant process control system 170 may be further configured to transmit the plant measurements 130 determined by the physical sensors 150, 152, 154, 156, 158, 160, 162, and 164 to the MPC controller 105. The MPC controller 105 may use the transmitted plant measurements 130 in the generated MPC models to determine the current behavior associate with the respective MVs (e.g., column jet flow, column overhead pressure, column overhead temperature, feed stream temperature, and heater feed pass flow) and respective CVs (e.g., fuel gas pressure, steam pressure, and reflux drum pressure) of the plant process 110. Based on the plant measurements 130, the MPC controller 105 may make updated predictions for the future behavior of the plant process 110 and further adjust the MVs to optimize the behavior of the plant process 110.
[0031] The MPC controller 105 further transmits control signals 120 to the plant process 110 (at the physical plant) configured to push the plant process 110 (e.g., program components at the physical plant based on the further adjusted MVs) towards the optimized behavior. The plant process control system 170 receives the control signals 120 and is configured (and equipped) to adjust (program) physical components of the plant, such as an actuator 142, valve 144, pump/compressor 146, and gauges 148, in accordance with the further adjusted MVs. The plant process control system 170 may capture the updated settings of the adjusted physical components (actuator 142, valve 144, pump 146, and gauges 148 ), as part of the process output 135, along with updated plant measurements 130 from the physical sensors 150, 152, 154, 156, 158, 160, 162, and 164. The plant process control system 170 may, then, transmit the updated plant measurements 130 and process output 135 to the MPC controller 105 to be used by the MPC models for further prediction and optimization of the plant process 110.
[0032] In
Example MPC Controller
[0033]
[0034] The MPC controller 105 comprises a prediction and feedback correction module 207, which includes model 215 for predicting the behavior of the plant process 110. Note, model 215 may be generated by the data module 115, as in
[0035] In the MPC controller 105 of
[0036] In the MPC controller 105 of
Closed-Loop Step Testing
[0037] The accuracy of the model 215 of the MPC 105 places an upper limit on the obtainable closed-loop performance of the multivariable modeling and control system 100. However, there is a finite limit imposed on the obtainable model accuracy. This is due to the approximation error introduced by representing the real process, which is often non-linear, with linear models, and the ability to identify the model through a system identification process based on observed process data that is usually corrupted by noise and disturbances.
[0038] In general, the most cost-effective way to derive accurate models of a large-scale process unit 108, is to vigorously perturb the process unit 108 with suitable test signals (perturbation signals) 120 without exceeding safety or operability constraints (referred to as closed-loop step testing). The process perturbations must cover the full amplitude and frequency range of the process unit 108. Several different types of test signals can be used, including steps, pulses, random white noise sequences, of pseudo-random-binary (PRBS) signals. In the process control industry, step test signals are widely used because it is easy to generate these signals manually, and the procedure is referred to as step testing. For the purposes of this discussion, perturbing a process unit 108 with the intent of identifying an empirical dynamic model, is referred to as step testing, whatever test signals are used.
[0039] Step testing consists of making sufficiently large orthogonal and independent step changes in all the MVs of the process unit 108 under careful supervision. MVs are those that are adjusted through actuators coupled to respective control valves 144, pumps/compressors 146, etc. forming the process unit 108 and are for example feed rates, flow rate, temperature of a vessel, and the like. The step test data is then used in system identification algorithms to fit dynamic models 215 to the observed process responses. In order to minimize the duration and consequent cost of the step test, these step changes must be of sufficient amplitude to clearly observe the dynamic behavior of the process and maximize the signal to noise ratio. Correlation (dependence) between the MVs must to be minimized to ensure that accurate models can be identified.
[0040] Model accuracy results from using large step changes, ensuring minimal correlation between MVs and minimal feedback correlation, and ensuring that the step test sequence spans the full frequency range from very fast to very slow steps relative to the Time-to-Steady-State (TTSS) of the process. Unwanted feedback correlation results from the need to make frequent correcting moves in the MVs to counteract the effect of large unmeasured disturbances, and can degrade the accuracy of the model.
[0041] The perturbation signals 120 for step testing of the process unit 108 may be generated by the dynamic controller 225 and added to the dynamic move plan for transmission to the process unit 108. In embodiments of the present invention, the perturbation signals 120, which include programmed step changes (moves) to the MVs used in the step testing, are calculated to maximize the step size subject to the process and economic constraints. In embodiments of the present invention, the MPC controller 105 may relax economic optimization on variables to provide scope for perturbing the process 110 (i.e., to maintain desirable operating range for each process variable while performing perturbation). The dynamic move plan calculated by the dynamic controller 225, including signals (control signals and perturbation signals) 120, is then transmitted to the plant unit 108. The process control system 170 uses the control signals to control/move the plant process 110 toward optimized behavior, and the perturbation signals to perform step testing (e.g., non-invasive closed-loop step testing) of the plant process 110. The move plan is also provided back to model 215 of the predictions and feedback correction module 207 for further predicting the behavior of plant process 110 (so the cycle can begin again in iteration).
Traditional MPC Controller Execution
[0042]
Improved MPC Controller Execution
[0043]
[0044] Unlike the traditional MPC controller 200 of
[0045] The MPC controller 201 (dynamic controller 225 ) then uses the calculated steady-state target value to calculate 240 a dynamic move plan (with control signals). The MPC controller 201 also calculates and adds perturbation signals to the dynamic move plan for use in step testing (e.g., non-invasive closed-loop step testing). The MPC controller 201 transmits output 250 of the calculated dynamic move plan in the form of signals (control signals and perturbation signals) 120 to the process control system (or DCS) 170 to control/test the subject process 110. The process control system 170 control moves and/or step moves the physical components of the plant, such as an actuator 142, using the signals.
Method of Increasing Step Testing Performance
[0046]
[0047] The method 300 (at step 305) begins with an initial configuration of a MPC controller. In embodiments, the MPC controller of method 300 may be the MPC controller 201 of
Y=G*U (1)
[0048] Where, G is the transfer function or gain matrix, U and Y are input process variables and output process variables, respectively:
[0049] U=[u1, u2, um], m1
[0050] Y=[y1, y2, yn], n1
[0051] The process operation constraints can be described as:
UL<U<UH (2)
YL<Y<YH (3)
[0052] Where, UL and UH are input variable low and high limits, and YL and YH are output variable low and high limits, respectively.
[0053] J(x) is an objective function representing certain measurements about a given variable x.
[0054] In practice, a feasible solution may not be found such that Equations (1), (2) and (3) are satisfied simultaneously, which means that some of CV variables must give up their limits. It is a common practice that a set of achievable CV limits is identified first before the calculation of MV and CV targets:
[0055] Subject to: Y=G*U+E, and Equations (2) and (3)
[0056] Where, E is a relaxation vector. Then, the achievable CV limts, YL* and YH* , are defined as:
yl*.sub.i=yl.sub.i+e.sub.i, if e.sub.i<0
yh*.sub.i=yh.sub.i+e.sub.i, if e.sub.i>0
i=1,2, . . . ,n (4)
[0057] For the sake of simplicity without loss of generality, the achievable CV limits (YL* and YH*) are assumed to be used in the target calculations in the place of nominal CV limits for the remaing discussions.
[0058] The method 300, at step 310, calculates an ideal optimal steady-state target value for each process variable (MV and CV) using a minimum cost (Min Cost) configuration. In embodiments, these ideal optimal target values are calculated by the target optimizer 230 of
[0059] Where, J.sub.cost(U,Y)=.sub.i1.sup.i=mc.sub.i*u.sub.i+.sub.j=1.sup.j=nc.sub.j*y.sub.j and c.sub.i is the cost factor for the ith manipulated variable and c.sub.j is the cost factor for the jth controlled variable
[0060] To calculate ideal optimal target values, the method 300 (step 310) solves the optimization problem defined by Equations (1)-(5). The resulting ideal optimal targets from the Min Cost target calculation normally force the process variables moving to their active constraints (all degrees of freedom are consumed and the calculated dynamic move plan 240 attempts to maintain the process variables at these active limits). As the process requires scope (room) to enable for each process variable to be pertubed, the method 300 relaxes the optimization of variables to provide this scope as follows.
[0061] The method 300, step 315, determines a set of the MVs and CVs to optimize based on an optimization giveaway tolerance defined for each MV and CV. The optimization giveaway tolerance represents an allowable range between a current value of a MV or CV and the ideal optimal target value for the MV or CV. The optimization giveaway tolerance for each MV and CV may be specified by a user (e.g., via user interface 140 of
[0062] For the MVs and CVs in the second set, the method 300, at step 315, maintains these MVs and CVs in the objective function (Equation 5) with their original settings (e.g., cost factors remain unchanged). The method 300, at step 320, modifies the configuration of the MPC controller with respect to the variables in the first set (to relax their optimization). To do so, for each MV and CV in the first set, method 300 (step 320) modifies the high and low limits, UH and UL for MVs and YH and YL for CVs, such that the calculation of a given MV or CV value complies with its optimization giveaway tolerance, with respect to its ideal optimal target values and also creates room (scope) for the process variables in the second set to be optimized. The method 300 (step 320) also adjusts the objective function (Equation 5) by removing the MVs and CVs of the first set from the objective function (Equation 5). To do so, the method 300 (step 320) may set the cost factor for each of the MVs and CVs of the first set in the objective function (Equation 5) to zero.
[0063] The method 300, at step 325, calculates new steady-state target values (re-runs the optimization) for the MVs and CVs using the modified configuration from step 320. In embodiments, these new target values are calculated by the target optimizer 230 of
[0064] The method 300, at step 330, calculates a dynamic move plan based on the new target values for the MVs and CVs. In embodiments, the dynamic move plan is calculated by the dynamic controller 225 of
[0065] The perturbation signal is calculated as follows. The method 300 denotes the new target calculated in step 325 as (U*,Y*), and {du.sub.i} and {dy.sub.j} as the optimization giveaway tolerances for MVs and CVs, respectively. To step the kth manipulated variable, u.sub.k, the method 300 determines the step size by:
[0066] Subject to:
u*.sub.kdu.sub.ku.sub.ku*.sub.k+du.sub.k, u*.sub.kU*
u.sub.i=u*.sub.ifor k and i=1, . . . ,m, u*.sub.iU*
y*.sub.jdy.sub.jy.sub.jy*.sub.j+dy.sub.j, j=1, . . . ,n, y*.sub.jY*
[0067] and Equations (1), (2), (3), and (4)
[0068] The method 300 then superimposes the step size for the kth manipulated variable, (u.sub.ku*.sub.k), onto the dynamic move plan.
[0069] The method 300, at step 340, outputs the dynamic move plan (containing control signals and perturbation signals) from the MPC controller to be implemented to dynamically control/step the process by a process control system (DCS). In embodiments, process control system (DCS) is the process control system 170 of
[0070] Using the dynamic move plan calculated based on the new target values (calculated in step 325), the desirable operating range for each process variable can be maintained while process perturbation is being performed during the step testing. Even if the economic objective function (Equation 5) of the MPC controller was not well-defined, using the dynamic move plan formulated from the modified configuration the process variables are able to be maintained close to its optimal target value during performance of the process perturbation. This, in turn, can significantly reduce the need for re-tuning and run-time intervention of the MPC controller.
Digital Processing Environment
[0071]
[0072] Further connected to the bus 425 is an interface module 423 (e.g., user interface display 140 of
[0073] The system 420 further comprises a controller module 424 (e.g., MPC controller 105 of
[0074] It should be understood that the example embodiments described herein may be implemented in many different ways. In some instances, the various methods and machines described herein may each be implemented by a physical, virtual, or hybrid general purpose computer, such as the computer system 420. The computer system 420 may be transformed into the machines that execute the methods described herein, for example, by loading software instructions into either memory 427 or non-volatile storage 436 for execution by the CPU 422. Further, while the interface module 423 and optimizer module 424 are shown as separate modules, in an example embodiment these modules may be implemented using a variety of configurations.
[0075] The system 420 and its various components may be configured to carry out any embodiments of the present invention described herein. For example, the system 420 may be configured to carry out the methods and/or modules 105, 115, 201, 207, 215, 220, 225, 230, and 300 described hereinabove in relation to
[0076]
[0077] Embodiments or aspects thereof may be implemented in the form of hardware, firmware, or software. If implemented in software, the software may be stored on any non-transient computer readable medium that is configured to enable a processor to load the software or subsets of instructions thereof. The processor then executes the instructions and is configured to operate or cause an apparatus to operate in a manner as described herein.
[0078] Further, firmware, software, routines, or instructions may be described herein as performing certain actions and/or functions of the data processors. However, it should be appreciated that such descriptions contained herein are merely for convenience and that such actions in fact result from computing devices, processors, controllers, or other devices executing the firmware, software, routines, instructions, etc.
[0079] It should be understood that the flow diagrams, block diagrams, and network diagrams may include more or fewer elements, be arranged differently, or be represented differently. But it further should be understood that certain implementations may dictate the block and network diagrams and the number of block and network diagrams illustrating the execution of the embodiments be implemented in a particular way.
[0080] Accordingly, further embodiments may also be implemented in a variety of computer architectures, physical, virtual, cloud computers, and/or some combination thereof, and, thus, the data processors described herein are intended for purposes of illustration only and not as a limitation of the embodiments.
[0081] While example embodiments have been particularly shown and described, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the embodiments encompassed by the appended claims.