The subject of this patent relates to automatic control of simple to complex systems including industrial processes, equipment, facilities, buildings, devices, boilers, valve positioners, motion stages, drives, motors, turbines, compressors, engines, robotics, vehicles, and appliances, and more particularly to a method and apparatus for intelligently controlling continuous process variables.
The inventive Dream Controller can automatically select the appropriate controller type and its parameters based on the process information entered by the user. It consists of different types of Model-Free Adaptive (MFA) controllers, many of which have been disclosed and patented. The Dream Controller has sufficient adaptive and robust capability to control simple to complex processes providing consistent control performance without re-tuning of its parameters. It is able to deal with changes in process dynamics, load, disturbances, and other uncertainties.
Developed almost 70 years ago, the PID (Proportional-Integral-Derivative) controller is still the most widely used controller today. PID is simple, easy to understand and implement, and does not require a precise process model to launch. However, PID has many shortcomings: (1) PID works well for simple processes that are basically linear and time-invariant. (2) PID must be tuned properly. When the process dynamics or operating conditions change, PID may need re-tuning. In practice, tuning PID is often a frustrating experience. (3) PID has trouble controlling complex systems no matter how it is tuned.
PID controllers were originally developed on pneumatic systems that cannot really produce the Integral and Derivative functions. Approximation formulas were used. PID went through the technology advances from pneumatic to analog, digital, and software based control systems. Different manufacturers may use different forms of PID formula and units. For instance, PID proportional gain is the controller gain but PID proportional band is the reciprocal of the PID gain in percent, which is not only confusing but also dangerous if the user does not pay attention to the difference. It is desirable to develop a general-purpose yet smart controller that can be easily used by people with limited control experience and those who do not have the time to commission, tune, and maintain automatic controllers.
First introduced in 1997, the Model-Free Adaptive (MFA) control technology overcomes the shortcomings of PID control and is able to control various complex processes that may have one or more of the following behaviors: (1) nonlinear, (2) time-varying, (3) large time delay, (4) multi-input-multi-output, (5) frequent dynamic changes, (6) open-loop oscillating, (7) pH process, and (8) processes with large load changes and disturbances.
Since MFA is “Model-Free”, it also overcomes the shortcomings of model-based advanced control methods. MFA is an adaptive and robust control technology but it does not require (1) precise process models, (2) process identification, (3) controller design, and (4) complicated manual tuning of controller parameters. A series of U.S. patents and related international patents fir Model-Free Adaptive (MFA) control and optimization technologies have been issued. Some of them are listed in Table 1.
Commercial hardware and software products with Model-Free Adaptive control have been successfully installed in most industries and deployed on a large scale for process control, building control, and equipment control. However, in most cases, the user still has to select the appropriate MFA controller and enter certain parameters.
In this patent, we introduce a novel general-purpose yet smart MFA controller (the Dream Controller) designed to overcome the shortcomings of the prior art. The Dream Controller includes an Intelligent Engine and a number of MFA controllers, each of which is suitable to control a process with specific behaviors. The Intelligent Engine can automatically select the appropriate MFA controller and its parameters. Therefore, the Dream Controller can be easily used by people with limited control experience and those who do not have the time to commission, tune, and maintain automatic controllers.
In the accompanying drawing:
In this patent, the term “mechanism” is used to represent hardware, software, or any combination thereof. The term “process” is used to represent a physical system or process with inputs and outputs that have dynamic relationships. The term “program” is used to represent a sequence of instructions that a computer can interpret and execute. The term “initialization” is used to represent the procedure to set or prepare a mechanism to a starting position, value, or configuration. The term “routine” is used to represent a sequence of steps that can be executed repeatedly in a program. The term “Dream Controller” is used to represent the novel general-purpose Model-Free Adaptive (MFA) controller as part of the Intelligent MFA control system of this invention.
Without losing generality, all numerical values given in controller parameter configuration in this patent are examples. Other values can be used without departing from the spirit or scope of our invention
r(t)—Setpoint,
y(t)—Measured Variable or the Process Variable, y(t)=x(t)+d(t).
x(t)—Process Output,
u(t)—Controller Output
d(t)—Disturbance, the disturbance caused by noise or load changes.
e(t)—Error between the Setpoint and Measured Variable, e(t)=r(t)−y(t).
The control objective is for the controller to produce an output u(t) to manipulate the actuator 6 so that the process variable y(t) tracks the given trajectory of its setpoint r(t) under variations of setpoint, disturbance, and process dynamics. In other words, the task of the MFA controller is to minimize the error e(t) in an online fashion.
The control objective function for the MFA control system is selected as
The minimization of F(t) is achieved by (i) the regulatory control capability of the MFA controller, whose output u(t) manipulates the actuator forcing the process variable y(t) to track its setpoint r(t); and (ii) the adjustment of the MFA controller weighting factors that allow the controller to deal with the dynamic changes, large disturbances, and other uncertainties.
The input signal e(t) to the input layer 20 is first converted to a normalized error signal E1 with a range of −1 to 1 by using the normalization unit 26, where N(·) denotes a normalization function. The output of the normalization unit 26 is then scaled by a scaling function Lx(·) 25:
The value of E1 at time t is computed with function Lx(·) and N(·):
where Kcx>0 is defined as controller gain and Tcx is the defined process time constant. Kcx is used to compensate for the process steady-state gain and provides information for the dynamic behavior of the process. When the error signal is scaled with these parameters, the controller's behavior can be manipulated by adjusting the parameters.
The E1 signal then goes iteratively through a series of delay units 28, where z−1 denotes the unit delay operator. A set of normalized and scaled error signals E2 to EN is then generated. In this way, a continuous signal e(t) is converted to a series of discrete signals, which are used as the inputs to the neural network. These delayed error signals Ei, i=1, . . . N, are then conveyed to the hidden layer through the neural network connections. This is equivalent to adding a feedback structure to the neural network. Then the regular static multilayer neural network becomes a dynamic neural network. A dynamic block is just another name for a dynamic system, whose inputs and outputs have dynamic relationships.
Each input signal can be conveyed separately to each of the neurons in the hidden layer 22 via a path weighted by an individual weighting factor wij, where i=1, 2, . . . N, and j=1, 2, . . . N. The inputs to each of the neurons in the hidden layer are summed by adder 30 to produce signal pj. Then the signal pj is filtered by an activation function 32 to produce qj, where j denotes the jth neuron in the hidden layer.
A piecewise continuous linear function ƒ(x) mapping real numbers to [0,1] is used as the activation function in the neural network as defined by
where a is an arbitrary constant and b=1/2.
Each output signal from the hidden layer is conveyed to the single neuron in the output layer 24 via a path weighted by an individual weighting factor hj, where j=1, 2, . . . N. These signals are summed in adder 34 to produce signal z(·), and then filtered by activation function 36 to produce the output o(·) of the neural network 18 with a range of 0 to 1.
A de-normalization function 38 defined by
D(x)=100x, (5)
maps the o(·) signal back to the real space to produce the controller signal u(t).
The algorithm governing the input-output of the controller consists of the following difference equations:
where the variable of function f(·) is in the range specified in Equation (4b), and o(n) is bounded by the limits specified in Equations (4a) and (4c). The controller signal u(t) becomes
where n denotes the nth iteration; o(t) is the continuous function of o(n); D(·) is the de-normalization function; and Kcx(·)>0, the controller gain 42, is a variable used to adjust the magnitude of the control signal. This is the same variable as in the scaling function Lx(·) 25 and is useful to fine tune the controller performance or keep the system stable.
An online learning algorithm as described in the U.S. Pat. No. 6,556,980 B1 is an example of one algorithm that can be used to continuously update the values of the weighting factors of the MFA controller as follows:
Δwij(n)=a2ηe(n)Ei(n)hj(n), (10)
Δhj(n)=aηe(n)qj(n). (11)
The equations (1) through (11) work for both process direct-acting or reverse acting types. Direct-acting means that an increase in the process input will cause its output to increase, and vice versa. Reverse-acting means that an increase in the process input will cause its output to decrease, and vice versa. To keep the above equations working for both direct and reverse acting cases, e(t) is calculated differently based on the acting type of the process as follows:
e(t)=r(t)−y(t), if direct acting (12a)
e(t)=−[r(t)−y(t)]. if reverse acting (12b)
Based on user entered information such as Process Type and Control Problems, the Intelligent Engine 46 can automatically enter the pre-determined controller gain Kc 42 and time constant Tc inside the scaling function Lx(·) 25.
At Block 52, a Process Qualification mechanism is designed to eliminate the potential misuse of the control system. Its detailed design is described in
At Block 68, if the user cannot verify that the process meets the three basic conditions, the routine goes to Block 74 telling the user that the process is not controllable using this controller and then exits the Intelligent Engine mechanism. Otherwise, it will continue to Block 70, where more process verification is taking place. Based on the safety and suitability considerations, the Dream Controller should not be used for certain processes. Therefore, the user needs to verify that the process is not (1) a reactor process, (2) a run-away process, and (3) a seriously coupled multivariable process. The temperature of a chemical reactor is typically a run-away process that is not only difficult to control but also dangerous. A multivariable process where its variables are seriously coupled could be controlled by using MIMO MFA controllers. At Block 72, the answers are checked. If the user can verify that the process meets the conditions, the routine ends successfully. Otherwise, it goes to Block 74 and then exits the Intelligent Engine mechanism.
We now describe the detailed controller selection and configuration for each of the process types in the following.
Comparing flow, pressure, temperature, level, and pH, the flow loop is probably the least difficult to control but has the largest number of loops because a continuous process is about moving material flows from the beginning of the process to the end. Typically, the flow loop is controlled by manipulating a valve, a variable frequency drive (VFD), or a pump.
It is relatively easy to control a flow loop because it is naturally a first-order process with a small delay time. However, in flow control, the commonly used actuators are all nonlinear components by nature. (1) A control valve is almost never a linear component. It can have a concave, convex, or S-shaped nonlinear relationship between its input and output. Some even have hysteresis behavior making the problem much worse; (2) A variable frequency drive (VFD) saves energy but is naturally a nonlinear device; and (3) A flow pump driven by a pulse-width modulator (PWM) based on the duty cycles does not necessarily have a linear relationship with the flow. In addition, the inevitable wear and tear of the actuator can make the nonlinear behavior worse. Therefore, the challenge for flow control is mainly how to control a nonlinear process with stringent control performance requirements.
Pressure is an important process variable because it provides a critical condition for boiling, chemical reaction, distillation, extrusion, vacuuming, and air conditioning. Poor pressure control can cause major safety, quality, and productivity problems. Overly high pressure inside a sealed vessel can cause an explosion. Therefore, it is desirable to keep pressure in good control and maintained within its safety limits.
A pressure loop may include bad behavior such as: (1) nonlinear, (2) open-loop oscillating, (3) multivariable with serious coupling to other process variables, (4) large time delay, and (5) large load changes. The Dream Controller is not suitable to control a pressure process that is multivariable or has large time delays. A MIMO (Multi-input-multi-output) MFA controller is suitable to control a multivariable process, and the Anti-delay MFA controller is suitable to control a process with large time delays.
At Block 126, the user specifies whether or not the pressure process is nonlinear. If yes, the Nonlinear MFA controller is selected at Block 130. At Block 132, the user enters the Linearity Factor for the Nonlinear MFA controller. If the pressure process is not nonlinear, at Block 134, the user specifies whether or not the process is open-loop oscillating. If yes, the Flex-phase MFA controller is selected at Block 136 and its Anti-overshoot constant Ks is configured with a value of 0.2 at Block 140. If the pressure process is neither nonlinear nor open-loop oscillating, a regular SISO MFA is selected at Block 138. At last, the MFA controller is configured with Kc=2 and Tc=8 seconds at Block 142, and then the routine exits.
Temperature is an important process variable because it provides a critical condition for combustion, chemical reaction, fermentation, drying, calcination, distillation, concentration, extrusion, crystallization, and air conditioning. Poor temperature control can cause major safety, quality, and productivity problems. Although highly desirable, it is often difficult to control the temperature due to one or more of the following reasons: (1) very slow, (2) time-varying, (3) large time delay, (4) multivariable with serious coupling to other process variables, (5) large load changes, (6) dynamical changes due to fuel change and other uncertainties, (7) nonlinear, (8) high-speed, (9) single-input-multi-output (SIMO), (10) multi-input-single-output (MISO), (11) run-away, etc. Various MFA controllers have been developed to deal with these difficulties. However, as a general-purpose controller, the Dream Controller is not suitable to control the most problematic temperature processes. Therefore, extra screening is necessary when selecting and configuring a temperature controller.
After the screening, at Block 152, the user is asked if the temperature process is nonlinear. If yes, the Nonlinear MFA controller is selected at Block 154. Otherwise, a SISO MFA controller is selected at Block 156. At Block 158, the user enters the Linearity Factor for the Nonlinear MFA controller. At Block 160, the user needs to select if the process is (1) very fast, (2) fast, (3) medium, (4) slow, and (5) very slow. Based on the selections of (1) to (5), the corresponding time constant Tc as listed in Block 160 is configured for the MFA controller. For option (6), the user needs to enter the estimate time constant of the process. For instance, the temperature loop of a rapid thermal processing (RTP) system may have a 0.5 second time constant, and the temperature loop of a large HVAC system may have a time constant of several hours. At Block 162, the controller is configured with Kc=2, and then the routine exits.
When compared to other control loops, the importance of the level loop is often over-looked. Typically, the level loop is controlled by manipulating the inflow or outflow of the operating unit, and is considered an easy loop to control. In general, it is not easy to properly tune a PID controller to achieve good level control under all operating conditions due to the potential inflow and outflow variations of the operating unit. Overly tight level control will result in too much movement of the flow loop, which can cause excessive disturbances to the downstream operating unit. Thus, a PID level controller is usually detuned to allow the level to fluctuate; so the variations of the outflow are minimized. However, the detuned PID cannot provide prompt control against large disturbances, which may result in safety problems during a plant upset. In addition, oscillations in level can cause the process to swing, which also results in a lower yield. The Robust MFA controller is well suited to control the level loop. It allows smooth material and energy transfers between the operating units; and also protects the levels from overflowing or becoming too dry during abnormal conditions.
Most industrial plants and municipal facilities generate a wastewater effluent that must be neutralized prior to discharge or reuse. Consequently, pH control is needed everywhere and yet most pH loops perform poorly. Results are inferior product quality, environmental pollution, and material waste. With ever increasing pressure to improve plant efficiency and tighter regulations in environmental protection, effective and continuous pH control is highly desirable.
Nevertheless, a pH loop is usually difficult to control because it is highly nonlinear. The pH value versus the reagent flow has a logarithmic relationship. Away from neutrality, the process gain is relatively small. Near neutrality where pH=7, the process gain can be a few thousand times higher. It is impossible for a fixed controller like PID to effectively control this process. In practice, most pH loops are in a “bang-bang” type of control with pumps cycling on and off, which causes large oscillations. Since acid and caustic neutralize each other, over-dosing acid and caustic is prohibitively expensive. Statistics show that a poorly controlled pH process can cost tens of thousands of dollars in chemical usage each month, not counting the penalties imposed by violating government discharge codes.
The MFA pH controller can effectively control a wide range of pH processes within the full pH range. It is useful for wastewater neutralization and also enables automatic control of acid or alkaline concentration, both of which are critical quality variables for the chemical process industry.
From
At Block 202, the user is asked if the configuration is accurate. If not, it is advised to make all necessary changes at Block 204. The Controller Configuration Menu will show again to let the user enter changes. At Block 202, the user is asked if the configuration is accurate. If yes, configuration is done and the routine proceeds.
At Block 206, the user is asked to check the status of (1) Setpoint (SP), (2) Process Variable (PV), (3) Controller Output (OP), (4) Controller Output Tracking Variable (OTV), and (5) Controller Mode. All these signals have to be in their normal states before the controller can be launched to the automatic control mode. At Block 208, the user verifies that the system is OK. If not, at Block 210, it is advised to take all necessary actions to assure that all control loop signals are working properly. If yes, the routine ends with a successful control system configuration and inspection.
Inside the Intelligent Engine routine as shown in
This application is a divisional of U.S. application Ser. No. 12/853,832, filed on Aug. 10, 2010, which is herein incorporated by reference.
This invention was made with government support under SBIR grant DE-FG02-08ER84944 awarded by the U.S. Department of Energy. The government has certain rights to the invention.
Number | Date | Country | |
---|---|---|---|
61234206 | Aug 2009 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12853832 | Aug 2010 | US |
Child | 14089753 | US |