技术中心
 
 

Rule-based Reactor Control

   日期:2005-12-05     作者:管理员    

Rule-based Reactor Control


Language rules can address control problems, especially if robust measurements are lacking. That's a fundamentally different approach to mathematical algorithms than those used in the three previous installments of this series.

Not all the variables need to be considered together, AND the set of all logical combinations can usually be broken down into more appropriate subsets.

AT A GLANCE

  • Machine control
  • Robots
  • Machine vision
  • Open architecture
  • S
    ignal conditioners

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.

Rules, algorithms

At their core, dist




ributed 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 = KP(e + KIe dt - KDdc/dt)

where:

output = control output signal value

e = controller error (measurement - set point)

c = controller measurement signal value

KP = Propor

tional mode gain

KI = Integral mode gain

KD = 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°F below set point, open the steam valve by 10%.'

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°F?
  • 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 ope
rator 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 cat

      egories: 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: http://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,¡ªfor example, 'low' and 'large,' which become precise for humans through experience. Fuzzy logic is the approach that has been developed to use this kind of rule in process control systems that do not have the benefit of experience.

      如图1

       

      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 concep

      ts 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 physic

      al world, process variables are measured as precise values with engineering units, such as °F. In the fuzzy world, variables are measured in relative terms, such as high, low, or normal. These terms cover a range of values, and their ranges can overlap. 'Fuzzification function' graphic shows a simple example for a temperature measurement of 130°F and a range of 50-150°F.

       

      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°F, for example, is significantly 'high.' Specifically, the conditions take on a range of 0-1.0, so that a value of 130°F is 0.85 'high,' 0.2 'normal,' and 0.075 'low.' These values are the 'degree of membership' in each condition, and are the fuzzy values for the input temperature.

       

      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. Li

      ke 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 accu

      rate 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 m

      ight 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 in

      to 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 interaction

      s 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.

       


      Author Information

      Lew Gordon is a principal application engineer at Invensys; www.invensys.com

       

       
        
        
        
        
       
      更多>同类技术
       
      全年征稿 / 资讯合作
       
      推荐图文
      推荐技术
      可能喜欢