Rule-based Reactor Control
Using language rules to address control issues was borne of the need to deal with problems that resisted precise mathematical definition for one reason or another. Also, the traditional control technologies of basic regulatory control (BRC) and advanced regulatory control (ARC) discussed in the previous installments assume the availability of robust signals from field transmitters to provide th...
Prior articles in the Control Methods series:
Other fuzzy logic articles:
Using language rules to address control issues was borne of the need to deal with problems that resisted precise mathematical definition for one reason or another. Also, the traditional control technologies of basic regulatory control (BRC) and advanced regulatory control (ARC) discussed in the previous installments assume the availability of robust signals from field transmitters to provide the needed measurement values. But these signals are not always available, and the information they provide may be insufficient.
In addition, the absolute values of process variables are not the only key issue that must be considered. Rates of measurement change can be more important. Sometimes, the value or measurements have to be considered in relation to other conditions. Boolean logic states that conditions, such as whether process equipment is running or not, can be important. Proper control system operation also can depend on time of day, cleaning and maintenance, and other activities. Also, not all errors are equally important. Deviations in one direction may call for a weak or slow response, while deviations in another direction may require a strong or rapid response.
The bottom line is that a control problem can require several conditions to be considered in logical combinations. And all issues mentioned above can be difficult to express mathematically. In such cases, rule-based control can sometimes provide an advantage.
At their core, distributed control system (DCS) control functions applied in basic and advanced regulatory control schemes are programmed mathematical equations, or algorithms, that are repeated again and again at a defined interval. For example, the classic (non-interacting) equation for PID (proportional-integral-derivative) control is:
output = K P (e + K I D dc/dt)
output = control output signal value
e = controller error (measurement - set point)
c = controller measurement signal value
K P = Proportional mode gain
K I = Integral mode gain
K D = Derivative mode gain
This is a well-known relationship for control engineers. Although the PID algorithms from various DCS vendors will have a wide variety of variations and associated functions, such as filters and alarms, and options, such as external integral feedback, this fundamental equation is virtually universal. In addition to control functions, a DCS platform will have a wide variety of other useful functions available as 'block' algorithms. Designing a traditional control system is essentially assembling a collection of appropriate functions and interconnecting inputs and outputs. Software tools for configuring and documenting these structures are well developed and extensive.
A 'rule' in a fuzzy logic or expert system is also a repetitive algorithm, but it is expressed in mixed language and numerical values. A simple example of a temperature control rule might be might something like:
'If the temperature measurement is more than 5
By itself, this rule is simple and precise. But it is incomplete. Its scope is limited to only one condition, and it leaves many related questions unanswered, such as:
What is to be done if the error is less than 5
How much larger does the error have to be for a larger valve movement?
What is to be done if the measurement is above the target value?
Many operational and interface questions also remain, such as:
How does the operator input the target value for temperature?
How is the response of the system tuned?
How does the operator take manual control of the signal to the valve?
A complete solution can require hundreds of such rules to cover all possible situations it may encounter and all functions that will be required. In any case, a rule-based system executes the entire rule set at periodic intervals to determine what is to be done next.
In general, rule-based systems can be divided into two broad categories: fuzzy logic systems and expert systems. Both approaches provide a means to incorporate non-mathematical concepts and conditions into a control solution. Fuzzy logic systems are a hybrid of mathematical and non-mathematical concepts. Expert systems are almost always developed in an environment designed for language processing.
There are many good references on the details and techniques of fuzzy logic control and expert systems. The following link provides a listing of general sources of fuzzy information and research groups: www.cse.dmu.ac.uk/~rij/general.html .
Fuzzy logic concepts
Very often, human perceptions and judgments are not precise. A typical human thought might be a conditional statement such as:
'If the product temperature is low, and throughput is low, then open the steam valve a small amount. If the product temperature is low and the throughput is high, then open the valve a larger amount.'
Such a statement contains several imprecise concepts,
Changing constants is one way to fine tune fuzzy logic control system performance.
In the end, something specific has to be done. The basic contribution of fuzzy logic techniques is to integrate fuzzy decision concepts with precise control measurements and control actions. This is achieved by the three components of a fuzzy control system:
A 'fuzzification interface,' which transforms precise process measurements into fuzzy input variables;
An 'inference engine,' which can execute logical condition tests using the fuzzy input variables to generate fuzzy output variables; and
A 'defuzzification interface,' which transforms fuzzy output variables into precise control actions.
Fuzzification: In the physical world, process variables are measured as precise values with engineering units, such as
At the range limits, a numerical measurement is completely 'low' or completely 'high.' In between it is partly each, and partly 'normal.' A value of 130
The linear or non-linear curves that define the degree of membership value for each condition are called membership functions. They can be expressed mathematically with constants that affect their shape. Changing these constants thereby affects results of the fuzzification function, and is one means of fine-tuning the performance of a fuzzy logic control system.
Inference: An 'inference engine' uses these values to evaluate specified logical condition statements in a mathematical way. Logical operators, such as 'AND,' 'OR,' and 'NOT' define how the fuzzy variables are combined to yield a numerical result. For example, a fuzzy inference engine evaluates the conditional clause 'if the product temperature is low, AND throughput is low' by taking the minimum value of the two degree of membership values for temperature being low and flow rate being low. The inference engine further evaluates other clauses in the rule set to obtain fuzzy variables representing the amount of necessary valve change.
De-fuzzification: The final step is to transform the result of the fuzzy inference back into a precise control output signal. Like the measurement values, the amount of control action required by each clause can be quantified by fuzzy variables as partly small and partly large, in both directions, by degree of membership values. De-fuzzification combines these values in a way that yields a single output value. This is the change sent to the final actuator.
Design an application
Methods for fuzzification, inference, and de-fuzzification are the most confusing aspects of fuzzy logic control, and most treatments of the subject devote most of their content to them. But these details are not key to the performance of a fuzzy control system. Several other fundamental issues have greater impact on the complexity and the performance of a fuzzy application. Inevitably, there is a trade-off between complexity and performance.
Types of variables: Fuzzy decision logic is expressed in conditional statements about process variables. This kind of environment does not provide higher order mathematical functions, such as integrals and derivatives, or even simpler ones, such as square root. If the control logic design relies on such functions, they have to be created separately, outside of the fuzzy control environment. For example, if a fuzzy control system needs to respond to the rate of change of a process variable, an incremental change variable must be calculated and added to the set of input variables.
Similarly, conditional statements based on the absolute values of measurements may be accurate only if the desired values, or set points, never change. A separate calculation may be needed to calculate errors and allow for variable set points.
Number of sub-sets: Ranges of process measurements and outputs will be divided into subsets. Specifying the number of subsets is part of the design. The example in the 'Fuzzification function' graphic used only three conditions: low, normal, and high. But this may not provide sufficient resolution. Taken further, the family of subsets might include very low, low, normal, high, and very high. Even more subsets could be used.
Variables, such as errors, that can be both positive and negative will need subsets for both signs, and one for zero as well. The number of subsets does not have to be symmetrical around zero, if measurements deviate from set point more in one direction than the other.
If the number of subsets is inadequate, and they do not overlap, then it will be possible for small variations to exist without generating a response from the control system. This creates a situation equivalent to hysteresis in final actuators and can result in constant cycling by the control system. When this occurs in a process with multiple interactions, oscillations in one variable can be passed into many other variables in the system.
Ruleset structure: Defining more subsets provides more resolution for decision-making, but the number of logical possibilities increases according to the rules of combinations and permutations. For example, if temperature and flow rate each have five subsets, so that each single value has a degree of membership in five subsets, then there are 25 possible combinations which the rule structure may need to address. Add another variable with five subsets, and the number of possible situations requiring rules increases to 125.
On the output side, the range for control output signals also will be divided into subsets. If each of three control outputs is divided into five subsets, 125 different combinations of control actions may need to be addressed by the rule set.
There are two possible approaches. One option is to design rules for all possible combinations of input variables. The alternative is to design rules for all possible output combinations. Which choice is easier depends on the relative number of controlled and manipulated variables. Feedforward variables also must be counted as input variables.
However, depending on interactions in the process, it may not make sense to address all possible combinations. Not all variables need to be considered together, and the set of all logical combinations can usually be broken down into more appropriate subsets.
Process interactions: Problems created by process interactions still exist. When interactions exist and have significant impact on the process, the logic of the rule set structure should accommodate the need to take coordinated actions that decouple the process responses.
This installment has presented the most basic concepts of fuzzy logic control. In the next installment in this series, these concepts will be applied to the specific problem of reactor control.
Lew Gordon is a principal application engineer at Invensys;