Process control method
10901378 ยท 2021-01-26
Assignee
Inventors
Cpc classification
International classification
Abstract
The invention relates to method for controlling a process, the method comprising an adaptive control model and at least one process input and at least one process output, the control model comprising predicting the relevant targets in the process; and selecting the relevant drivers for the process based on the target prediction, where the method preferably comprises adapting a number of parameters based on one or more inputs, and using the adapted parameters as an input for the target prediction.
Claims
1. A control system for controlling a process of a production apparatus, the process having at least one process input, at least one process output, a performance goal, and measures, said performance goal being the desired performance value of said process, the control system comprising a target predicting module and a driver selection module, wherein the control system employs an online, self-tuning, adaptive control model for controlling said process of said production apparatus, said adaptive control model including: via said target predicting module, predicting relevant targets in the process; and via said driver selection module, selecting relevant drivers for the process based on a target prediction from said target predicting module; wherein said relevant drivers comprise adjustable inputs that affect output values of a relevant target; wherein the control system is configured to, while the production apparatus is in operation, non-linearly adapt a number of control model parameters based on one or more inputs to form a number of adapted control model parameters, and to input the number of adapted control model parameters to said target prediction module for said target prediction; wherein the control system is configured to include manipulated input variables, dependent output variables, non-manipulated input variables, and said performance goal and measures as input; wherein the control system is configured to, while the production apparatus is in operation, provide input to said production apparatus based on said number of adapted control model parameters, said predicted target, tuned targets for guiding the process towards the overall performance goal, tuned drivers, and selected relevant drivers; and wherein the control system is configured to use said manipulated input variables and said dependent output variables for the non-linear adaptation of said number of control model parameters and for said target prediction together with an output from the non-linear adaptation of said number of control model parameters.
2. A control system according to claim 1, wherein said adaptive control model uses the non-manipulated input variables and the performance goal and measures for target tuning.
3. A control system according to claim 2, wherein said control system is configured for: measuring an offline value; and inputting the offline value measurement for the target tuning.
4. A control system according to claim 2, wherein said adaptive control model uses the target prediction and the target tuning for driver tuning.
5. A control system according to claim 1, wherein said control system further comprises a preprocessing unit configured to prepare input signals prior to and for the non-linear adaptation of control system parameters.
6. A production apparatus comprising a control system according to claim 1.
7. A production apparatus according to claim 6, further comprising: measurement devices configured and arranged to measure manipulated data in the process and to measure non-manipulated data related to or used in the process; wherein the measurement devices are in communication with the control system to feed the manipulated data and non-manipulated data to the control system.
Description
DESCRIPTION OF THE DRAWINGS
(1) The present invention will now be explained, by way of example only, with reference to the accompanying Figures, where
(2)
(3)
DETAILED DESCRIPTION OF AN EMBODIMENT
(4) Description of Adaptive Process Control with reference to
(5) Process Data
(6) Process data is subdivided the following way:
(7) Manipulated input variables: These are the process variables that can be directly altered by the control. (Drives).
(8) Dependent output variables: Theses are process variables that cannot be altered directly. (Targets). These process variables are known to be correlated with the performance measure.
(9) Non-manipulated input variables: These are process input variables that are known to influence the performance, but can not be controlled.
(10) Performance measure and goal: The performance goal is the desired performance value of the process. This variable cannot in general be measured on-line, i.e. continuously, instead it is measured off-line, i.e. sampled periodically (the performance measure).
(11) Other variables: The process can contain other input or output variables that are omitted from the model and control. (Not shown on figure).
(12) Pre-Processing
(13) The pre-processing module performs a filtering of process data signals. This is generally done in order to remove high frequency fluctuations (noise) in the process data.
(14) Nonlinear Parameter Adaptation
(15) This module performs a continuous on-line adaptation of the process parameters that are used in the Target predictor module. In the response model, the parameters are the response amplitudes and timescale. Amplitude parameters are adapted based on mean values. A nonlinear adaptation of timescales is performed using correlations. Parameter adaptation is advantageous as a mean to maintain a good system model when process conditions change significantly during operation.
(16) Target Predictor
(17) The Target Predictor module utilizes the system model to predict the effect of drive variations on the targets. The target predictor is necessary in order to establish a strong estimate for the future variation of targets.
(18) Driver Tuning
(19) The Driver tuning module uses the predicted target value and current target set point to calculate possible tuning options for the drives. The driver tuning module is the controller part that steer the targets towards the desired set points.
(20) Target Tuning
(21) In order to achieve the performance goal, the Target tuning module adjusts the Target set points according to changes in non-manipulated variables and differences in measured performance from the performance goal. The target tuning guides the process towards the overall performance goal.
(22) Driver Selection
(23) The Driver selection module performs a selection from the calculated possible driver tunings based on a prioritizing scheme. Driver selection is industrially important, since it enables optimization of the overall process with regards to production capacity, energy efficiency or similar considerations.
REALIZATION OF THE INVENTION
(24) Process Data:
(25) Manipulated input variables (drives): E.g. the feed flow and the ingoing energy to a spray dryer (ingoing air flow and air temperatures), or the differential rotational speed of the decanter conveyor.
(26) Dependent output variables (targets): E.g. the outgoing air and powder temperatures in the spray dryer or the conveyor torque in the decanter.
(27) Non-manipulated input variables: E.g. on-line measures of outside air humidity and air temperature going into the spray dryer, on-line measures of vibration signals from the decanter, or the off-line dry matter content of the feed material in either example.
(28) Performance measure and goal: E.g. residual moisture or dry matter content in either example. If and only if the performance is measured on-line, the performance circle 18 is redundant (then included in circle 14).
(29) Preprocessing
(30) Each process variable that is part of the system model is pre-processed before it is used.
(31) In one realization of the invention, the pre-processing is implemented with low-pass filters with an exponentially weighted moving average:
y.sub.i=a.sub.px.sub.i+(1a.sub.p)y.sub.i1
(32) where:
(33) y.sub.i is the filtered process variable at time i,
(34) x.sub.i is the raw process variable value at time i, and
(35) a.sub.p is the smoothing factor, 0a.sub.p1.
(36) Non-Linear Parameter Adaptation
(37) The continuous adaptation of system parameters is divided in two parts; parameters concerning amplitudes and parameters concerning times associated with the target response a change in a drive leads to. The inventive approach to parameter adaptation is different from any other known methods and ensures a very stable process control.
(38) Both sets of parameters are calculated for each drive/target pair that exists in a given deployment of the control system. So given e.g. 3 drives and 2 targets, a total of 6 sets of system parameters are calculated.
(39) Amplitude Adaptation
(40) In one realization of the invention, the response amplitude parameters are continuously adjusted based on average drive and target values.
(41)
(42) Here
(43) t is the (integer) time step
(44) R.sub.T,D(t) is the adjusted response amplitude between target T, and drive D.
(45) R.sup.p.sub.T,D is the response amplitude scale.
(46) X.sub.T,D is the current response amplitude between drive D and target T.
(47) a.sub.r is the smoothing memory factor for adjustments of the response parameter. 0a.sub.r1.
(48)
(49) D.sub.typ is the typical value of the drive during normal operation.
(50)
(51) T.sub.typ is the typical value of the target during normal operation.
(52) f(x,y) is the amplitude adaptation function. The simplest scaling form of amplitude adaptation used is f(x,y)=y/x.
(53) Time Adaptation
(54) In one realization of the invention, the system response time is estimated using cross-correlation between the drive and target.
(55)
(56) Let m(t) be the index i where K.sub.T,D.sup.i(t) is smallest (most negative), then
(57)
(58) Where
(59) C.sub.T,D.sup.i(t) is a measure of the correlation between target T and drive D, i correlation time steps ago.
(60)
(61)
(62)
(63)
(64) .sub.c is the duration between control steps.
(65) .sub.cor is the duration between members of the correlation vector.
(66) K.sub.T,D.sup.i(t) is the vector of all i cross correlations used in the parameter adaptation.
(67) a.sub.s is the smoothing factor for adjustments of the cross correlation vector.
(68) N the number of elements in the cross correlation vector.
(69) is a phase change parameter of order 1.
(70) S.sub.T,D(t) is the adjusted response time.
(71) Splitting the time scales between control time and the response correlation time enables implementations of the invention to make a simple trade-off (by adjusting N) between more exact response time and computation requirements in places where these are limited. However, it must always be ensured that N.Math..sub.cor is longer than the longest expected characteristic time scale of the process.
(72) Heuristic Response Module
(73) In another implementation, requiring even less computation time and storage, the response amplitudes and time scale are adjusted together using heuristic methods. As a special case, they can be held constant, based on values derived from process analysis.
(74) In the heuristic response case, R.sub.T,D(t) and S.sub.T,D(t) are automatically changed in response to process variations. Examples being drive values moving too close to operational limits, or a target (which is supposed to be roughly constant) changes more than a given amount. Furthermore, the limits can be dynamically adjusted in response to the control being too aggressive.
(75) The combination of the automatic parameter changes, and automatic limit changes makes the control self-tuning.
(76) In one implementation, the adjustment is done according to the following rule, run at intervals longer than the longest significant characteristic time scale of the process:
(77) if (DTLong>KT*TLong): Rnew=KRd*R Snew=KSu*S
(78) DTLong is the long time scale averaged difference between the short and long time scale average target value.
(79) TLong is the long time scale average target value.
(80) KT is the maximum accepted fraction of TLong that the controller accepts DTLong to reach before adjusting the control parameters.
(81) KRd is the strength with which the R control parameter is adjusted down (d).
(82) KSu is the strength with which the S control parameter is adjusted up (u).
(83) I.e. in this case the process will try to get changes in target values more in control by adjusting drives stronger.
(84) DeltaDmin=KD0*(DLongDmin)
(85) DeltaDmax=KD0*(DmaxDLong)
(86) if (D<Dmin+DeltaDmin OR D>DmaxDeltaDmax): Rnew=KRu*Rnew Snew=KSd*Snew
(87) DeltaDmin is a floating disallowed band around the operational limit Dmin.
(88) DeltaDmax is a floating disallowed band around the operational limit Dmax.
(89) KRu is the strength with which the R control parameter is adjusted up (u).
(90) KSd is the strength with which the S control parameter is adjusted down (d).
(91) DLong is the long time scale average drive value.
(92) The control parameters are loosened if the drive is within either of the bands given by DeltaDmin/max. The bands are dynamically adjusted in order to allow the process to run drives close to the operational limits for extended periods, when process conditions require this, while still catching cases where drives are run towards operational limits quickly.
(93) The values of R and S are always kept within limits Rmin/max and Smin/max, respectively. However, additional control performance can be obtained by adjusting these limits on a very long time scale, on the side of most active control (Rmin and Smax), i.e. allow stronger attempts to hold targets on their set points when process conditions are easy, while allowing more target variation when conditions are hard. Normal process controllers are forced to run at the settings for hard conditions at all times.
(94) One implementation of this mode is to opportunistically strengthen control once every (long) while, either to a parameter given maximum/minimum dynamic limit or by a set percentage and then detect signs of the process controlling too hard.
(95) if (abs(DDold)>KD1*DLong): Rnew=KRu*R Snew=KSd*S Rmin=(1+KRu)*R/2 Smax=(1+KSd)*S/2 R=Rnew S=Snew
(96) One sign of the process controlling too hard is shown above: A detection of a too large drive step. In this case the current control strength is instantly rolled back from the problematic level, and the dynamic limits are moved further, such that the problematic values are not hit again until at least the time between opportunistic parameter change.
(97) In all other cases, the values of R and S are changed to the values of Rnew and Snew through a filter.
(98) Target Predictor
(99) For each target of the control system a prediction of needed corrections is continuously calculated. This calculation is a function of the current deviation from the target set point, as well as the effect caused by previous changes in drives.
.sub.T,D(t)=.sub.T,D(t1).Math.(1S.sub.T,D)+D(t)D(t1)
T.sub.p=TT.sub.setpoint.sub.DR.sub.T,D.Math..sub.T,D
(100) Where
(101) .sub.T,D(t) is a measure of previous alterations to the drive D.
(102) T.sub.setpoint is the target set point.
(103) T.sub.p is a prediction of the magnitude of changes to the target that is needed from the current control step.
(104) Driver Tuning
(105) For each target it is calculated how each drive should be tuned, if only that drive is used to correct predicted deviations to the target.
D.sub.prop.sup.T=[/R.sub.T,D].Math.T.sub.p+D
(106) Where
(107) D.sub.prop.sup.T is the proposed new value of a drive needed to correct deviations to the target T.
(108) is the strength of the control.
(109) Once a D.sub.prop.sup.T is calculated for all pairs of a target T and a drive D, the controller calculates a single tuned value for each drive. This is done by calculating a weighted sum of the D.sub.prop.sup.T's for each D.
(110)
(111) Where
(112) D.sub.update is the single tuned drive value for each drive.
(113) w.sub.T is the weight of target T.
(114) The individual weight w.sub.T that each target is assigned is based on the strength of the targets correlation with the performance measure, the reliability of the target measurements or some other significant characteristic.
(115) Target Tuning:
(116) In order to achieve the overall performance goal of the process, on-line tuning of the control system target is performed.
(117) Target tuning comes in two forms:
(118) The primary cause for target tuning stems from measurements of the performance. The performance measure is the key indicator of the process; however it is a variable that generally is not sampled continuously. Rather performance measurements are taken periodically, typically laboratory values, and when deviations between the performance measurement and the performance goal are observed, the control system tunes the target set points.
(119) The other source of target tuning stems from variations in non-manipulated input variables. These variables can be monitored and are known to influence the performance goal, however they are impossible to control in most practical applications. This could include such variables as ambient temperature or humidity, or be measures of input concentration of components.
(120) Implementation of target tuning due to changes in non-manipulated input variables takes the following form:
(121)
(122) where
(123) T.sub.tuned is the tuned target set point at time step t.
(124) V.sub.i(t) are (filtered) non-manipulated input variables at time t.
(125) g.sub.T,VI is the tuning function associated with variable V.sub.I and target T.
(126) The simplest form of g is the linear relationship:
g.sub.T,V.sub.
(127) Implementation of target tuning due to deviations between the performance goal and the performance measure takes the following form:
T.sub.tuned=T.sub.tuned.old+h.sub.T,P(P.sub.setpoint,P(t),P(t1), . . . , P(tn))
(128) where
(129) T.sub.tuned is the calculated new tuned target setpoint.
(130) T.sub.tuned.old is the old target setpoint (before the performance measure was made).
(131) P(t) is a measurement of the Performance at time t.
(132) P.sub.setpoint is the overall system Performance Goal.
(133) h.sub.T,P is the tuning function associated with the performance goal and target T.
(134) The simplest form of h is the linear relationship:
h.sub.T,P(P.sub.setpoint,P)=K.sub.T,P.Math.[PP.sub.setpoint]
(135) Driver Selection:
(136) The control system adjusts/tunes at most one drive each control interval. As potential drive tuning is calculated for all drives (see 50), a selection process is introduced to pick one from the group of available drives.
(137) An ordering of the drives is made based upon considerations such as process capacity, energy efficiency or similar criteria. Furthermore, drive selection depends on whether the adjustment of a specific drive has positive or negative relationship between production and energy consumption. In a drying process for instance, the input temperature would have a positive relationship since higher temperature (all things equal) would allow a greater drying speed.
(138) In one realization of a control system with 3 drives the following ordering was made:
(139) 1. Input material flow ratedue to primary focus on process throughput.
(140) 2. Input temperaturedue to having higher energy efficiency than 3.
(141) 3. Input air flow ratedue to lowest energy efficiency.
(142) All of the 3 drives have a positive production/energy consumption relationship, and therefore the selection between drives would have the following form:
(143) Selection Order:
(144) 1. Increase Input material flow rate?
(145) a. YES.fwdarw.STOP selectionincrease input material flow rate.
(146) b. NO.fwdarw.continue selection.
(147) 2. Increase Input air temperature?
(148) a. YES.fwdarw.STOP selectionincrease Input air temperature.
(149) b. NO.fwdarw.continue selection.
(150) 3. Increase or decrease Input air flow rate?
(151) a. YES.fwdarw.STOP selectionincrease/decrease Input air flow rate.
(152) b. NO.fwdarw.continue selection
(153) 4. Decrease Input air temperature?
(154) a. YES.fwdarw.STOP selectiondecrease Input air temperature.
(155) b. NO.fwdarw.continue selection.
(156) 5. Decrease Input material flow rate?
(157) a. YES.fwdarw.STOP selectiondecrease input material flow rate.
(158) b. NO.fwdarw.STOPno changes.
(159) In order to further emphasize the origin of the various input data for the control process reference is made to
(160) Although the present invention has been described in connection with the specified embodiments, it is not intended to be limited to the specific form set forth herein. Rather, the scope of the present invention is limited only by the accompanying claims. In the claims, the term comprising does not exclude the presence of other elements or steps. Additionally, although individual features may be included in different claims, these may possibly be advantageously combined, and the inclusion in different claims does not imply that a combination of features is not feasible and/or advantageous. In addition, singular references do not exclude a plurality. Thus, references to a, an, first, second etc. do not preclude a plurality. Furthermore, reference signs in the claims shall not be construed as limiting the scope.