Improved method and apparatus for characterizing and compensating for non-linear components

Abstract: A method of determining the degree z of a hyperbolic non-linear characteristic, of a process that is controlled by application of a manipulated variable signal thereto for varying a first characteristic thereof, and that generates a controlled variable signal representative of that first characteristic by applying a first pulse to the process by stepping the manipulated variable signal and observing the resultant maximum change in the controlled variable and then applying a second pulse to the process by stepping the manipulated variable in the opposite direction and observing the maximum change in the controlled variable, and using the ratio of the two maxima to determine the non-linear characteristic and make appropriate compensation in the controller.

Description: The invention relates to process control and, more particularly, to systems for analyzing processes to determine characteristics such as the non-linear behavior of process components. Process control refers to a methodology for controlling the operational parameters of a process by monitoring one or more of its characteristics over time. It is used to ensure that the quality and efficiency of a process do not vary substantially during a single run or over the course of several runs. While process control is typically employed in the manufacturing sector, it also has application in service industries. A process control unit, or "controller," typically operates by comparing values of a process characteristic -- referred to as the controlled variable -- with a target value to determine whether the process is operating within acceptable bounds. For example, in a process in which fluid flows at a constant rate from a tank that is continuously filled to constant volume, a controller monitors the liquid level and, if necessary to prevent the tank from running dry or overflowing, adjusts an inlet valve to increase or restrict inflow to the tank. Another example is a process for maintaining a constant temperature in a room or building. In such a process the controller adjusts a thermostat to compensate for changes in heat flow caused by factors such as a rise or drop in the ambient temperature outside the building, or a sudden increase or decrease of the number of people in the building. Process control systems are generally composed of transducers, controllers, and controllable components (e.g., valves, thermostats and the like). These elements are typically arranged in feedback loops that are well known in the art. To simplify design problems, process control system designers generally assume that controllable components are linear. However, many real-world components actually behave according to non-linear functions. Further, even linear components can sometimes behave according to non-linear functions when they are installed in process control systems and are subject to well known phenomena such as "variable pressure drop." Ignoring these inherent non-linearities results in undesired error in the process control. Once a controllable component is installed in a process control system, it is desirable to characterize the non-linearity of the component, at least in a neighborhood about some nominal operating point. As described in F. G. SHINSKEY, PROCESS CONTROL SYSTEMS (3rd ed. 1988) ch. 2, it is a good approximation to characterize the non-linear behavior of a controllable component as belonging to one of a family of hyperbolic curves having the equation f = x z + (1 - z ) x /100 where f represents the component's output (expressed in percent), x represents the component's input (expressed in percent), and z is a parameter that characterizes the particular component's non-linearity. This family of curves can be thought of as a universal characterizer since they provide a generic shape indicative of the typical behavior of non-linear controllable components. However, in the current state of the art there is no simple method for determining a value for the parameter, z, that will accurately characterize a particular controllable component. Once a controllable component's non-linearity has been characterized, it is desirable to compensate for that non-linearity. Further, since controllers are generally designed to control linear components, it is desirable to compensate for the non-linearity so that standard linear control can be applied to the non-linear controllable component. While many useful components exhibit compensatable non-linear behavior, others are simply defective. Some defective controllable components exhibit a form of behavior known as "dead-band" which is well known in the art. Rather than attempting to characterize and compensate for their defective behavior, it is preferable to identify such components and replace them. EP-A 572 245 discloses methods and devices for determining the characteristics of a process such as time constants, date-time and gain. Doublet pulses consisting of immediately following pulse parts of positive and negative level are applied to the process and their response is measured in order to determine the characteristics of the process. An object of the invention is to provide improved methods and apparatus for characterizing and compensating for non-linear components. More particularly, an object of the invention is to provide such methods and apparatus for compensating for (i.e., linearizing) non-linear components in a process control system. A further object of the invention is to provide such methods and apparatus for determining a value of the parameter, z , that will accurately characterize the non-linearity of a controllable component. Yet another object of the invention is to provide a method and apparatus for identifying controllable components of a process control system that exhibit dead-band. The aforementioned objects are achieved by the invention as defined in the claims. In one aspect, a method of determining a non-linear characteristic, z , of a self-regulating process, includes the steps of applying two pulses, of the same height and duration, to the process via the controller output, known as the manipulated variable. The first pulse is applied to the process by incrementing the manipulated variable stepwise from an original value, m 0 , a predetermined amount, Δ m , which causes the controlled variable signal to move from its original value, c 0 . The controlled variable is monitored during this pulse to determine a time interval, τ a , defined as the length of time between the instant the manipulated variable is incremented and the instant that the controlled variable signal changes from its original value by a predetermined amount, NB. The value of τ a , measured during the first pulse, is later used to determine the length of the second pulse. At a time τ a after the beginning of the first pulse, the method calls for decrementing the manipulated variable signal stepwise to its original value, thus ending the first pulse. This eventually causes the controlled variable to decay toward its original value. The controlled variable is monitored during this step to determine the difference between its initial value, c 0 , and the maximal value achieved by that variable after the manipulated variable has been decremented. That difference is referred to as Δ c 1 . The method according to this aspect of the invention then calls for applying the second pulse to the process by decreasing the manipulated variable signal stepwise from the original value, m 0 , by the predetermined amount Δ m . The second pulse is applied after the controlled variable has returned to its original value (following the procedure described in the previous paragraph) to cause that variable to, again, change from its original value. At a time τ a later, the manipulated variable is returned stepwise to its original value, m 0 , thus ending the second pulse and eventually causing the controlled variable to return to its original value. After the end of the second pulse, the controlled variable is monitored to determine a difference, Δ c 2 , between the value c 0 and value of the controlled variable that is maximally distant from the initial value. According to this aspect of the invention, the non-linearity, z , of the process is determined as a function of the distances, Δ c 1 and Δ c 2 . In another aspect of the invention, a method as described above includes the additional step of estimating the non-linearity, z , as a function of a mathematical expression z = v ( a - b ) + b - d vd ( b - a ) - a ( b - d ) where, a = 100 m 0 -Δ m -1, b = 100 m 0 -1, d = 100 m 0 +Δ m -1, v = Δ c 1 Δ c 2 Other aspects of the invention provide a method for determining a non-linear characteristic, z , of a non-self-regulating process. This method includes the step of applying a first pulse of duration τ a to the process via the manipulated variable, where the time interval τ a is measured as described above in connection with self regulating processes. The controlled variable is monitored to determine a difference between its initial value, c 0 , and a steady state value assumed by the controlled variable after the conclusion of the first pulse. This difference is referred to as Δ c 1 . The method then calls for applying a second pulse to the process by decrementing stepwise the manipulated variable by an amount Δ m for an interval of length τ a , as discussed above. After the conclusion of the second pulse, the controlled variable is monitored to determine the difference between the steady state assumed by the controlled variable after the second pulse and the steady state assumed after the first pulse. This difference is referred to as Δ c 2 . According to this aspect of the invention, the non-linearity, z , of the process is determined as a function of the differences, Δ c 1 and Δ c 2 . In still another aspect of the invention, a method as described above for non-self-regulating processes includes the additional step of estimating the non-linearity, z , as a function of a mathematical expression z = v ( a - b ) + b - d vd ( b - a ) - a ( b - d ) where, a = 100 m 0 -Δ m -1, b = 100 m 0 -1, d = 100 m 0 +Δ m -1, v = Δ c 1 Δ c 2 In yet another aspect, the invention provides a method for determining a non-linear characteristic, z , of a self-regulating process by applying two doublet pulses to the process via the manipulated variable. The first doublet pulse is applied to the process by increasing the manipulated variable by an amount Δ m . The length of time interval τ a is defined, as described above, as the time between the beginning of the first doublet pulse and the time that the controlled variable changes from its initial value, c 0 , by an amount NB. After the controlled variable changes by the amount NB, this method calls for beginning the second half of the first doublet pulse by decreasing the manipulated variable by an amount 2Δ m . At a time τ a after the beginning of the second half of the first doublet pulse, the manipulated variable is then incremented by an amount Δ m thus ending the first doublet pulse. The method according to this aspect of the invention calls for monitoring the controlled variable during the second half of the first doublet pulse to measure, c 6 , the value reached by the controlled variable during the second half of the first doublet pulse maximally distant from the initial value, c 0 . It also calls for monitoring the controlled variable in the period beginning at the end of the first doublet pulse and ending when the controlled variable returns to its original value, c 0 , to measure c 7 , the value attained by the controlled variable maximally distant from the initial value. The method according to this aspect then calls for applying a second doublet pulse to the process. After the controlled variable returns to its initial value, the manipulated variable is decreased by an amount Δm . At a time τ a after this decreasing, the manipulated variable is increased by an amount 2Δ m thus beginning the second half of the second doublet pulse. At a time τ a after the beginning of the second half of the second doublet pulse, the manipulated variable is decreased by an amount Δ m , thus ending the second doublet pulse. This method calls for monitoring the controlled variable during the second half of the second doublet pulse to measure c 8, the value attained by the controlled variable maximally distant from the initial value, c 0 . This method also calls for monitoring the controlled variable during the period beginning at the end of the second doublet pulse and ending when the controlled variable returns to its initial value, c 0 , for measuring c 9 , the value attained by the controlled variable during this period maximally distant from the initial value, c 0 . According to this aspect of the invention, the non-linearity, z , of the process is then determined as a function of the measured values, c 6 , c 7 , c 8 , and c 9 . Still other aspects of the invention provide apparatus operating in accord with the above methodology. These and other aspects of the invention are evident in the description which follows, and in the attached drawings. Figure 1 is a flow chart that illustrates a preferred method for characterizing a non-linear component of a process according to the invention. Figure 2 shows a set of hyperbolic curves that are used to characterize non-linear components in accord with the invention. Figure 3 depicts an exemplary non-self-regulating process amenable to analysis in according to the invention. Figure 4 is a timing diagram for a non-self-regulating process showing two pulses applied to the process, and the parameters that are monitored to characterize a non-linear component according to a preferred method of the invention. Figure 5 is a timing diagram showing the behavior of the controlled variable when the controllable component is exhibiting dead-band in a non-self-regulating process. Figure 6 depicts an exemplary self-regulating process amenable to analysis in accord with the invention. Figure 7 is a timing diagram for a self-regulating process showing two pulses applied to the process, and the parameters that are observed to characterize a non-linear component according to a preferred method and apparatus of the invention. Figure 8 is a timing diagram that graphically illustrates the behavior of the controlled variable when the controllable component is exhibiting dead-band in a self-regulating process. Figure 9 is a timing diagram for a self-regulating process showing two doublet pulses applied to the process via the manipulated variable according to a preferred method and apparatus of the invention, and the corresponding values of the controlled variable. Figure 10 shows in detail a preferred controller constructed according to the invention. Figure 11 shows a preferred controller according to the invention, coupled to a controllable component and a process. Figure 12 shows an arrangement for inserting a linearizing compensator into a process according to one embodiment the invention. Figure 13 shows another arrangement for inserting a linearizing compensator into a process according to a preferred embodiment of the invention. Figure 1 is a flow chart that illustrates a preferred method for characterizing a non-linear component of a process according to the invention. As the flow chart indicates, the method calls for applying two pulses to the process via the manipulated variable. By observing the changes in the controlled variable, in response to the two pulses, the method can calculate the parameter z, which characterizes the relevant non-linear component. The steps of the method illustrated in Figure 1 will be described more fully below. Figure 2 shows the hyperbolic curves used by the method of Figure 1 for characterizing non-linear components. The curves are described by the equation f = x z + (1 - z ) x /100 In this equation, f represents a controllable component's output (expressed in percent), x represents the component's input (expressed in percent), and z is a parameter that characterizes the particular component's non-linearity The goal of the method of Figure 1 is to select a curve (i.e., choose a value of z ) that most closely represents the behavior of the component of interest. Values of z less than one correspond to components with a "quick-opening" characteristic. Values of z greater than one correspond to components with an "equal-percentage" characteristic. z equal to one corresponds to a linear component. Equation (1) can be rewritten as f = 100 z ( 100 x -1)+1 As described above, during application of the two pulses, the process can be observed for three different values of the manipulated variable: (a) a nominal operating point, m 0 ; (b) the increased value during the first pulse, m 0 + Δ m ; and (c) the decreased value during the second pulse, m 0 - Δ m . Substituting these three values into equation (2) for the variable x to fit the process component's behavior to one of the hyperbolic curves yields Δ f 1 Δ f 2 = 1 z ( 100 m 0 + Δ m -1)+1 - 1 z ( 100 m 0 -1)+1 1 z ( 100 m 0 - Δ m -1)+1 - 1 z ( 100 m 0 -1)+1 where Δf 1 = f 1 - f 0 ; Δ f 2 = f 2 - f 0 ; f 1 is the output of the controllable component during the first pulse; and f 2 is the output of the controllable component in during the second pulse. Solving equation (3) for z yields z = v ( a - b ) + b - d vd ( b - a ) - a ( b - d ) where, a = 100 m 0 -Δ m -1, b = 100 m 0 -1, d = 100 m 0 +Δ m -1, v = Δ f 1 Δ f 2 Δ f 1 and Δ f 2 are generally not directly observable, therefore, v can not be directly solved according to equation (4). Typically in a process control system, only the controlled variable is directly observable. However, as will be described in more detail below, Δ f 1 Δ f 2 = Δ c 1 Δ c 2 where Δ c 1 is the change in the controlled variable due to the first pulse, and Δ c 2 is the change in the controlled variable due to the second pulse. Equation (5) is true for both non-self-regulating and for self-regulating processes. So z can be solved according to equations (4) and (5) for both types of processes. Figure 3 depicts an exemplary non-self-regulating process 20 of the type amenable to analysis by an apparatus constructed and operated in accord with the invention. In Figure 3 metering pump 10 is designed to deliver a constant flow of fluid 11 from tank 12. Inflow to the tank is controlled at valve 14. A transducer 13 generates a controlled variable signal, c , representative of the level of fluid in the tank 12. A process controller 18 monitors the controlled variable signal and generates a manipulated variable signal, m , which controls the flow of fluid through valve 14. Process 20 is exemplary of a non-self-regulating process if both the flow entering through valve 14 and the rate at which pump 10 removes fluid from the tank are independant of the liquid level. The nominal operating point is chosen so that when the manipulated variable is set to m 0 , valve 14 delivers the same flow as pump 10. Therefore, if the process is non-self-regulating, the liquid level in tank 12 will remain constant (or at steady state) whenever the manipulated variable is returned to m 0 . The fluid level in tank 12 will steadily rise or fall if the value of the manipulated variable is greater than or less than m 0 , respectively. Valve 14 is representative of a non-linear component. The methods and apparatus described herein teach how to characterize and compensate for the inherent non-linearity of valve 14. The illustrated process is exemplary only and represents any process amenable to analysis in accord with the teachings herein. Those skilled in the art will appreciate that valve 14 represents any non-linear component that is controlled by a process controller. Moreover, the manipulated and controlled variable signals, m and c , respectively, can be generated in a conventional manner appropriate to the process under analysis. Figure 4 is a timing diagram, for non-self-regulating process 20, showing a time history of values of the manipulated variable ( m ) when the controller is operated according to the method of Figure 1, and the corresponding values of the flow output ( f ) of valve 14 and the controlled variable ( c ). Prior to time t 0 , controller 18 maintains the manipulated variable at an initial value, m 0 , and this causes the flow output of valve 14 and the controlled variable to remain at initial values, f 0 and c 0 , respectively. Prior to time t 0 , controller 18 observes and records the value c 0 . Beginning at time t 0 , controller 18 applies a first pulse to the process. At time t 0 controller 18 increases the manipulated variable, stepwise, by an amount Δ m . This stepwise increase corresponds to increasing the opening of valve 14. After a short delay, at time t 1 , this increase in the manipulated variable causes the flow output of valve 14 to increase by an amount Δ f 1 . Thus after time t 1 , the flow into tank 12 (via valve 14) is greater than the flow out of tank 12 (via pump 10). Therefore, the level of fluid in tank 12 begins to rise, and correspondingly the value of the controlled variable also begins to rise. Due to inherent delays in the process, there is some delay after t 1 , before the controlled variable begins to increase. Controller 18 maintains the manipulated variable at the increased value until the controlled variable changes by a predetermined amount, NB (corresponding to the fluid level in tank 12 rising by a predetermined amount). The level NB is chosen to insure that the changes in the value of the controlled variable are large enough to be accurately measurable. The choice of NB depends on the output range of transducer 13. NB is perferably in the range of 2 to 10 percent of the output swing of transducer 13. Further, if the controlled variable signal is noisy, NB is preferably twice the noise level. Once the controlled variable changes by the amount NB, controller 18 records the time as t 2 , and also records the length of the interval between t 2 and t 0 as τ a . At t 2 controller 18 resets the manipulated variable, stepwise, to the initial value m 0 , thus ending the first pulse. During the first pulse, controller 18 maintains the manipulated variable at the increased value m 0 + Δm, for a duration of τ a . The change in the controlled variable can be described analytically by the equation Δ c 1 = Δ f 1 τ a τ 1 where τ 1 is the primary time constant of the process. EP-A-0 572 245 teaches a method for identifying process parameters such as τ 1 . Δ c 1 can be observed because Δ c 1 = ( c 1 - c 0 ) where c 1 is the peak value attained by the controlled variable in response to the first pulse. Because of delays inherent in the process, the value of the controlled variable continues to increase after t 2 . A short time after t 2 , the controlled variable reaches the maximum value, c 1 , and then remains in a steady state at c 1 . At this point the process has returned to an equilibrium state; the rate at which fluid is input to tank 12 (via valve 14) equals the rate at which fluid exits the tank (via pump 10). Controller 18 observes and stores the value c 1 . Controller 18 then calculates (according to equation (7)) and stores the value Δ c 1 . A time t 4 , an interval of length τ b after the conclusion of the first pulse, controller 18 begins to apply a second pulse into the process. The length of interval τ b is chosen to be long enough to allow the controlled variable reach a steady state. One preferred choice for τ b is 3τ a . At time t 4 controller 18 decreases, stepwise, the manipulated variable by the amount Δ m . This stepwise decrease corresponds to reducing the opening of valve 14. Thus after a short delay, at time t 5 , the flow output from valve 14 decreases by an amount Δ f 2 . The flow into tank 12 (via valve 14) is now less than the flow out of tank 12 (via pump 10), therefore the fluid level begins to fall. Controller 18 maintains the manipulated variable at the decreased value m 0 - Δ m for an interval of length τ a . Then at t 6 the controller increases, stepwise, the manipulated variable by an amount Δ m thus returning the manipulated variable to the initial value m 0 and ending the second pulse. During the second pulse the change in the controlled variable can be described analytically by the equation Δ c 2 = Δ f 2 τ a τ 1 Δ c 2 can be observed because Δ c 2 = c 2 - c 1 where c 2 is the peak value attained by the controlled variable in response to the second pulse. Because of delays inherent in the process, the value of the controlled variable continues to decrease after t 6 . A short time after t 6 , the controlled variable reaches the minimum value, c 2 , and then remains in a steady state at c 2 . At this point the process has returned to an equilibrium state. Controller 18 observes and records the value c 2 . Controller 18 then calculates (according to equation (9)) and stores the value Δ c 2 . Dividing equation (8) into equation (6) yields equation (5), thereby showing that equation (5) is true for non-self-regulating processes. Note that the τ 1 terms present in equations (6) and (8) cancel each other out. So τ 1 need not be calculated prior to characterizing the controllable component. Therefore, according to the method of Figure 1, since c 0 , c 1 and c 2 have all been observed and stored, the parameter z can be solved according to equations (4) and (5). Figure 5 is a timing diagram showing the behavior of the controlled variable when the controllable component is exhibiting dead-band in a non-self-regulating process. After t 2 , rather than assuming a steady state value, the controlled variable continues to diverge from the initial value, c 0 . This continued divergence is indicative of dead-band. According to a preferred method of the invention, upon observing this divergence, controller 18 indicates to the operator that the controllable component is exhibiting dead-band and should be replaced. Figure 6 shows an exemplary self-regulating process 22. Process 22 is identical to process 20 except metering pump 10 is replaced with an exit valve 24. Valve 24 behaves such that an increase in the level of fluid 11 in tank 12 will cause an increase in the outflow through valve 24. This action works towards restoration of equilibrium, and therefore the process is self-regulating. Figure 7 depicts a timing diagram, for self-regulating process 22, showing a time history of values of the manipulated variable when the controller is operated according to the method of Figure 1, and the corresponding values of the flow output of valve 14 and the controlled variable. Prior to time t 0 controller 18 maintains the manipulated variable at an initial value, m 0 , and this causes the flow output of valve 14 and the controlled variable to remain at initial values, f 0 and c 0 , respectively. Prior to time t 0 , controller 18 observes and records the value c 0 . Beginning at time t 0 , controller 18 applies a first pulse to the process. At time t 0 controller 18 increases the manipulated variable, stepwise, by an amount Δ m . This stepwise increase corresponds to increasing the opening of valve 14. After a short delay, at time t 1 , this increase in the manipulated variable causes the flow output of valve 14 to increase by an amount Δ f 1 . Thus after time t 1 , the flow into tank 12 (via valve 14) is greater than the flow out of tank 12 (via valve 24). Therefore, the level of fluid 11 in tank 12 begins to rise, and correspondingly the value of the controlled variable also begins to rise. Due to inherent delays in the process, there is some delay after t 1 before the controlled variable begins to increase. Controller 18 maintains the manipulated variable at the increased value until the controlled variable changes by a predetermined amount, NB. Once the controlled variable changes by the amount NB, controller 18 records the time as t 2 , and also records the length of the interval between t 2 and t 0 as τ a . At time t 2 controller 18 resets the manipulated variable, stepwise, to the initial value m 0 , thus time t 2 marks the end of the first pulse. During the first pulse, controller 18 maintains the manipulated variable at the increased value m 0 + Δ m , for a duration of τ a . The change in the controlled variable can be described analytically by the equation Δ c 1 = k p Δ f 1 (1- e - τ a τ 1 ) where k p is the gain of the process. EP-A-0 572 245 also teaches a method for calculating the process gain k p . Again, Δ c 1 can be described according to equation (7). Because of delays inherent in the process, the value of the controlled variable continues to increase after t 2 . A short time after t 2 , the controlled variable reaches a maximum value, c 1 , and then begins to decay towards the initial value c 0 . Controller 18 observes and records the value c 1 . Controller 18 then calculates (according to equation (7)) and stores the value Δ c 1 . Since process 22 is self-regulating, the controlled variable will return to the value c 0 sometime after the end of the first pulse. After the controlled variable has decayed to the initial value, c 0 , controller 18 applies a second pulse into the process. At time t 4 controller 18 decreases, stepwise, the manipulated variable by the amount Δ m . This stepwise decrease corresponds to reducing the opening of valve 14. Thus after a short delay, at tune t 5 , the flow output from valve 14 decreases by an amount Δ f 2 . The flow into tank 12 is now less than the flow of fluid out of the tank via valve 24, therefore the fluid level begins to fall. Controller 18 maintains the manipulated variable at the decreased value m 0 - Δ m for an interval of length τ a . Then at time t 6 controller 18 increases, stepwise, the manipulated variable by an amount Δ m , thus ending the second pulse. During the second pulse, the change in the controlled variable can be described analytically by the equation Δ c 2 = k p Δ f 2 (1- e - τ a τ 1 ) Δ c 2 can be calculated according to equation (9). Due to inherent delays in the process, the value of the controlled variable continues to decrease after t 6 . A short time after t 6 , the controlled variable reaches a minimum value, c 2 , and then begins to decay towards the initial value c 0 . Controller 18 observes and records the value c 2 . Controller 18 then calculates (according to equation (9)) and stores the value Δ c 2 . Dividing equation (11) into equation (10) yields equation (5), thereby showing that equation (5) is true for self-regulating processes. Note that the k p terms present in both equations (11) and (10) cancel each other out. So k p need not be calculated prior to characterizing the controllable component. Therefore, according to the method of Figure 1, since c 0 , c 1 , and c 2 have all been observed and stored, the parameter z can be solved according to equations (4) and (5). Figure 8 is a timing diagram showing a time history of values of the manipulated and controlled variables for a self-regulating process when the controllable component is exhibiting dead-band. After t 2 , rather than decaying to the initial value, c 0 , the controlled variable settles at a steady state value, c 5 . According to a preferred method of the invention, upon observing the controllable component fail to return to c 0 , controller 18 indicates to the operator that the controllable component is exhibiting dead-band and should be replaced. The invention also provides another method for characterizing the non-linearity of a controllable component. In this method, as shown in Figure 9, the controller applies two doublet pulses to the process, rather than applying two single pulses. Figure 9 is a timing diagram for a self-regulating process showing a time history of values for the manipulated variable and the corresponding values of the flow output of valve 14 and the controlled variable. As shown in Figure 9, prior to time t 10 controller 18 maintains the manipulated variable at an initial value m 0 . At t 10 controller 18 begins to generate the first doublet pulse. At time t 10 controller 18 increases the manipulated variable, stepwise, by an amount Δ m . Controller 18 maintains the manipulated variable at the increased value, m 0 + Δ m , for a time interval of length τ a . The controlled variable increases in response to the increased value of the manipulated variable, and the length τ a is determined as above by observing the length of time it takes for the controlled variable to change by a predetermined amount NB. At t 12 controller 18 decreases, stepwise, the manipulated variable by an amount 2Δ m thus reducing the manipulated variable to the value m 0 - Δ m. Controller 18 maintains the manipulated variable at the decreased value for an interval of length τ a , and then at time t 14 controller 18 increases, stepwise, the manipulated variable by an amount Δ m , thus returning the manipulated variable to the initial value m 0 and ending the first doublet pulse. Due to inherent delays in the system, the controlled variable continues to increase for a period after t 12 . Some time between t 12 and t 14 the controlled variable will attain a maximum value, c 6 . Controller 18 observes and records the value c 6 . Again, due to inherent delays, the controlled variable continues to decrease after t 1 4 , and reaches a minimum value c 7 before it begins to decay towards the initial value c 0 . Controller 18 observes and records the value c 7 . After the controlled variable has returned to the initial value c 0 , at time t 16 controller 18 applies a second doublet pulse. The second doublet pulse is reversed in orientation from the first pulse; it begins with a decreasing step whereas the first doublet pulse began with an increasing step. At time t 16 controller 18 decreases, stepwise, the manipulated variable by an amount Δ m . Controller 18 maintains the manipulated variable at the decreased value for an interval of length τ a , and then at time t 18 controller 18 increases the manipulated variable by an amount 2Δ m . Controller 18 maintains the manipulated variable at the increased value for an interval of length τ a , and then at time t 20 decreases, stepwise, the manipulated variable by an amount Δ m , thus returning the manipulated variable to the original value m 0 and ending the second doublet pulse. Controller 18 observes and stores the minimum and maximum values, c 8 and c 9 attained by the controlled variable after t 18 and t 20 , respectively. The parameter, z , can then be solved in terms of c 0 , c 6 , c 7 , c 8 and c 9 according to equation (4) and to the equation v = ( c 8 - c 0 ) ( c 6 - c 0 ) -(1- c 9 - c 0 c 8 - c 0 ) 1- ( c 8 - c 0 ) ( c 6 - c 0 ) (1- c 7 - c 0 c 6 - c 0 ) Figure 10 shows in detail a preferred controller constructed according to the invention. The controlled variable signal, c , output of transducer 13, is indicative of the level of fluid 11 in tank 12. The controlled variable is input to controller 48 which in a preferred embodiment is a proportional, integral, derivative (PID) controller. The output of such a PID controller is a weighted sum of an error signal, and that error signal's time derivative and time integral. The error signal is a difference between the controlled variable and a desired operating value. Such PID controllers are well known in the art. During normal operation of the process control system, the output of PID controller 48 is fed to the input of valve 14. However, to characterize non-linear valve 14 by a method according to the invention, a series of pulses must be fed to the input of valve 14 rather than the weighted error signal which is produced by PID controller 48. Pulse generator 50 generates the pulses necessary for characterizing a non-linear component. When a non-linear component is being characterized, selector 52 couples pulse generator 50 to the input of valve 14 (during normal operation, selector 52 couples PID controller 48 to valve 14). The pulses generated by pulse generator 50 are of length τ a . Measuring mechanism 54 measures and stores the length of τ a . When pulse generator 50 applies the first pulse to a process (in accord with any of the above-described methods for characterizing non-linear components) pulse generator 50 also sends a signal to mechanism 54 indicating that the first pulse has begun. Mechanism 54 determines the length of τ a as the time between the beginning of the first pulse and the instant that the controlled variable changes from its initial value, c 0 , by an amount NB. Monitoring mechanism 56 measures the changes in the controlled variable and in particular measures Δ c 1 , Δ c 2 , c 6 , c 7 , c 8 and c 9 . Monitoring mechanism 56 also signals pulse generator 50 when the controlled variable has returned to its initial value, c 0 . When components of self-regulating systems are being characterized, pulse generator 50 waits for this signal before beginning the second pulse. Calculating mechanism 58 calculates the value for the parameter, z , using the values observed and stored by monitoring mechanism 56. Those skilled in the art will appreciate that PID controller 48, pulse generator 50, selector 52, measuring mechanism 54, monitoring mechanism 56, and calculating mechanism 58 can be implemented in software residing on a digital computer or alternatively can be implemented in dedicated hardware. Once a value of z has been chosen that characterizes the non-linearity of the controllable component, it is desirable to compensate for the non-linearity. As can be seen from Figure 2, for all values of z greater than 0.0, the two curves parameterized by the values z and 1/ z are mirror images of each other. The 1/ z curve is the reflection of the z curve taken about the linear ( z = 1) curve. Therefore, a multiplicative factor of 1/ z is the appropriate compensator for any component characterized by the parameter z . Note that if the component is linear, no compensation is necessary, and the compensator generated by this method is a multiplicative factor of unity. Therefore, this method can be used for components whether they are linear or non-linear. This method of choosing a compensator of value 1/ z can be used whether the process is self-regulating or non-self-regulating. Generally, a controller generates the manipulated variable signal which is fed to the input of the non-linear component. A compensator of 1/ z introduced between the controller and the non-linear component will make the component appear to respond linearly from the reference of the controller. Figure 11 shows PID controller 48 in detail and coupled to a controllable component 30 and a process 32. The error signal used by PID controller 48 is the difference between the controlled variable and the "SET POINT" which corresponds to a desired operating point. Selector 52 selects between the PID signal generated from the error signal, and a manual input 38. Manual input 38 is understood to represent a generic input, and could be signals generated by a human operator, or could represent other, automatically generated, signals, such as pulses generated by pulse generator 50 (as shown in Figure 10). LIMIT box 36 generates an output that is essentially identical to its input, except that LIMIT box 36 places high and low limits on the output and thereby limits the range of the manipulated variable. LIMIT box 36 thus maintains the manipulated variable within the operating range of component 30. Figure 12 illustrates one method for introducing a 1/ z compensator 34 into a process. In Figure 12, compensator 34 is positioned between the LIMIT box and the component 30. This arrangement does linearize component 30 from the perspective of controller 48. However, positioning compensator 34 between the LIMIT box 36 and component 30 has the disadvantage that even when manual input 38 is selected, an operator can not explicitly set the level of operation for component 30. The 1/ z compensator 34 will always shift the signal output from the LIMIT box. Figure 13 illustrates a preferred embodiment for introducing a 1/ z compensator 40 into a process which overcomes this limitation. In Figure 13, the 1/ z compensator 40 is positioned between the PID signal and LIMIT box 36. Therefore, when selector 52 selects manual input 38, the manually input signals directly affect the component 30. However, since the 1/ z compensator 40 is introduced in the integral feedback loop, an additional reverse compensator 44, which multiplies its input by a function of z , must be introduced between LIMIT box 36 and the integrator so as not to offset the integral portion of the PID controller 48. Once a value of z is chosen for the compensator the controller should be initialized so that activation of the compensator will not jolt the process. Before a new value of z is installed in the compensator, the controller examines the current value of the manipulated variable, and "back-calculates" the value of the input that would generate that same manipulated variable value with the new value of z installed in the compensator. The controller then simultaneously installs the new value of z in the compensator and adjusts the input accordingly so that the process continues to operate smoothly. Described above are methods and apparatus for characterizing non-linear components of process control systems. Those skilled in the art will appreciate that these meet the desired objects by applying a series of pulses to the process, observing the response of the process, and parameterizing the non-linearity based on those observations. Those skilled in the art will appreciate that the illustrated embodiment is exemplary, and that other embodiments incorporating additions and modifications to that described above fall within the scope of the invention.

Claims: A method of determining a non-linear characteristic, z, of a self-regulating process that is controlled by application of a manipulated variable signal thereto for varying a first characteristic thereof, and that generates a controlled variable signal representative of that first characteristic, the method comprising the steps of: A. applying a first pulse to the process by i) incrementing the manipulated variable signal stepwise from an original value, m 0 , a predetermined amount, Δm, for causing the controlled variable signal to change from an original value, c 0 , ii) monitoring the controlled variable signal to determine a length of a time interval, τ a , beginning when the manipulated variable is incremented and ending when the controlled variable signal changes from the original value, c 0 , by a predetermined amount, NB, iii) responding to the controlled variable signal changing by said predetermined amount, NB, by decrementing the manipulated variable signal stepwise to the original value, m 0 , thereby causing the controlled variable signal to return to the original value, c 0 , and by monitoring the controlled variable signal during a first time interval beginning at said stepwise decrementing and ending when said controlled variable returns to the original value, c 0 , for measuring a distance, Δc 1 , between the initial value, c 0 , and a value achieved by the controlled variable signal during said first time interval that is maximally distant from the initial value, c 0 , B. applying a second pulse to the process by, i) after the controlled variable signal returns to the original value, c 0 , decreasing the manipulated variable signal stepwise from the original value, m 0 , by the predetermined amount Δm, and ii) at a time τ a after said decreasing, increasing the manipulated variable signal stepwise to the original value, m 0 , thereby causing the controlled variable signal to return to the original value, c 0 , and monitoring the controlled variable signal during a second time interval beginning at said stepwise increasing and ending when the controlled variable signal returns to the original value, c 0 , for measuring a distance, Δc 2 , between the initial value, c 0 , and a value achieved by the controlled variable signal during said second time interval that is maximally distant from the initial value, c 0 , and C. determining the non-linearity, z, of the process as a function of the distances, Δc 1 and Δc 2 . A method according to claim 1, wherein said determining step includes the steps of estimating the non-linearity, z, as a function of a mathematical expression z = v ( a - b ) + b - d vd ( b - a ) - a ( b - d ) where, a = 100 m 0 -Δ m -1, b = 100 m 0 -1, d = 100 m 0 +Δ m -1, v = Δ c 1 Δ c 2 A method according to claim 1 or 2, including the steps of A. monitoring the controlled variable signal after the manipulated variable signal is decremented to the original value, m 0 , and B. responding to a determination that the controlled variable signal reaches a steady state value other than the original value, c 0 , by generating a signal indicating a presence of dead-band in the process. An apparatus for determining a non-linear characteristic, z, of a self-regulating process that is controlled by application of a manipulated variable signal thereto for varying a first characteristic thereof, and that generates a controlled variable signal representative of that first characteristic, the apparatus comprising: A. pulse means (18), coupled with the process, for generating as said manipulated variable signal a pulsed waveform comprising a first pulse and a second pulse, said first and second pulse being separated by a quiescent interval of finite duration, and for applying that pulsed waveform to said process, B. monitoring means (18), coupled with the process, for monitoring a time-wise change in the controlled variable signal during application of said pulsed waveform, and for generating a difference signal representative thereof, C. analysis means (18), coupled with said monitoring means, for responding to said difference signal to generate a parameter signal representative of the non-linear characteristic, z, of the process, said parameter signal being generated as a function of said time-wise change in the controlled variable signal during application of the pulsed waveform. An apparatus according to claim 4, wherein said pulse means comprises A. upward pulse means for generating, as a component of said pulsed waveform, an upward pulse, said upward pulse means including means for successively i) generating a waveform that begins at an original value, m 0 , ii) increasing the waveform stepwise a predetermined amount, Δm, for causing the controlled variable signal to change from an original value, c 0 , iii) maintaining the waveform at the increased value for a time interval of length τ a , and iv) decreasing the waveform stepwise to the original value, m 0 , and B. downward pulse means for generating, as a component of said pulsed waveform, a downward pulse, said downward pulse means including means for successively i) maintaining the waveform at the original value, m 0 , until said monitoring means indicates that the controlled variable signal has returned to the original value c 0 , ii) decrementing the waveform stepwise the predetermined amount Δm, iii) maintaining the waveform at the decremented value for a time interval of the length τ a , and iv) incrementing the waveform stepwise to the original value, m 0 , An apparatus according to claim 5, wherein said upward pulse means includes time measuring means for determining the length τ a , by measuring a time interval between i) the stepwise increase of the waveform from the original value, m 0 , and ii) a time that the controlled variable signal changes from its original value c 0 by a predetermined amount, NB. An apparatus according to claim 6, wherein said monitoring means includes means for measuring a distance, Δc 1 , between the initial value, c 1 , and a value achieved by the controlled variable signal, during a first time interval, maximally distant from the initial value, c 0 , and means for measuring a distance, Δc 2 , between the initial value, c 0 , and a value achieved by the controlled variable signal, during a second time interval, maximally distant from the initial value, c 0 , wherein said first time interval begins at said stepwise decreasing and ends substantially when said controlled variable signal returns to the initial value, c 0 , and wherein said second time interval begins substantially at said stepwise incrementing and ends when said controlled variable signal returns to said initial value, c 0 . An apparatus according to claim 7, wherein said analysis means includes an estimating means for estimating the non-linearity, z, as a function of a mathematical expression z = v ( a -b ) + b - d vd ( b - a ) - a ( b - d ) where, a = 100 m 0 -Δ m -1, b = 100 m 0 -1, d = 100 m 0 +Δ m -1, v = Δ c 1 Δ c 2 An apparatus according to claim 5, wherein said analysis means includes a detecting means for detecting whether the controlled variable signal reaches a steady state value other than the original value, c 0 , after the pulsed waveform is decreased to the original value, m 0 , and for generating a signal indicating a presence of dead-band in the process based on such detection. A method of determining a non-linear characteristic, z, of a non-self-regulating process that is controlled by application of a manipulated variable signal thereto for varying a first characteristic thereof, and that generates a controlled variable signal representative of that first characteristic, the method comprising the steps of: A. applying a first pulse to the process by i) incrementing the manipulated variable signal stepwise from an original value, m 0 , a predetermined amount, Δm, for causing the controlled variable signal to change from an original value, c 0 , ii) monitoring the controlled variable signal to determine a length of a time interval, τ a , beginning when the manipulated variable is incremented and ending when the controlled variable signal changes from the original value, c 0 , by a predetermined amount, NB, iii) responding to the controlled variable signal changing by said predetermined amount, NB, by decrementing the manipulated variable signal stepwise to the original value, m 0 , and by monitoring the controlled variable signal for measuring a distance, Δc 1 , between the initial value, c 0 , and a steady state value, c 1 , reached by the controlled variable signal after said stepwise decrementing, B. applying a second pulse to the process by, i) after a predetermined time interval, decreasing the manipulated variable signal stepwise from the original value, m 0 , by the predetermined amount Δm, and ii) at a time τ a after said decreasing, increasing the manipulated variable signal stepwise to the original value, m 0 , and monitoring the controlled variable signal for measuring a distance, Δc 2 , between said steady state value, c 1 , and a steady state value achieved by the controlled variable after said stepwise increasing, and C. determining the non-linearity, z, of the process as a function of the distances, Δc 1 and Δc 2 . A method according to claim 10, wherein said determining step includes the steps of estimating the non-linearity, z, as a function of a mathematical expression z = v ( a - b ) + b - d vd ( b - a ) - a ( b - d ) where, a = 100 m 0 -Δ m -1, b = 100 m 0 -1, d = 100 m 0 +Δ m -1, v = Δ c 1 Δ c 2 A method according to claim 10 or 11, including the steps of A. monitoring the controlled variable signal after the manipulated variable signal is decremented to the original value, m 0 , and B. responding to a determination that the controlled variable signal fails to reach a steady state value by generating a signal indicating a presence of dead-band in the process. An apparatus for determining a non-linear characteristic, z, of a non-self-regulating process that is controlled by application of a manipulated variable signal thereto for varying a first characteristic thereof, and that generates a controlled variable signal representative of that first characteristic, the apparatus comprising: A. pulse means (18), coupled with the process, for generating as said manipulated variable signal a pulsed waveform comprising a first pulse and a second pulse, said first and second pulse being separated by a quiescent interval of finite duration, and for applying that pulsed waveform to said process, B. monitoring means (18), coupled with the process, for monitoring a time-wise change in the controlled variable signal during application of said pulsed waveform, and for generating a difference signal representative thereof, C. analysis means (18), coupled with said monitoring means, for responding to said difference signal to generate a parameter signal representative of the non-linear characteristic, z, of the process, said parameter signal being generated as a function of said time-wise change in the controlled variable signal during application of the pulsed waveform. An apparatus according to claim 13, wherein said pulse means (18) comprises A. upward pulse means for generating, as a component of said pulsed waveform, an upward pulse, said upward pulse means including means for successively i) generating a waveform that begins at an original value, m 0 , ii) increasing the waveform stepwise a predetermined amount, Δm, for causing the controlled variable signal to change from an original value, c 0 , iii) maintaining the waveform at the increased value for a time interval of length τ a , and iv) decreasing the waveform stepwise to the original value, m 0 , and B. downward pulse means for generating, as a component of said pulsed waveform, a downward pulse, said downward pulse means including means for successively i) maintaining the waveform at the original value, m 0 , for a predetermined time interval ii) decrementing the waveform stepwise the predetermined amount Δm. iii) maintaining the waveform at the decremented value for a time interval of the length τ a , and iv) incrementing the waveform stepwise to the original value, m 0 . An apparatus according to claim 14, wherein said upward pulse means includes time measuring means for determining the length τ a , by measuring a time interval between i) the stepwise increase of the waveform from the original value, m 0 , and ii) a time that the controlled variable signal changes from its original value c 0 by a predetermined amount, NB. An apparatus according to claim 15, wherein said monitoring means includes means for measuring a distance, Δc 1 , between the initial value, c 0 , and a steady state value, c 1 , achieved by the controlled variable signal after said stepwise decreasing, and means for measuring a distance, Δc 2 , between said steady state value, c 1 , and a steady state value achieved by the controlled variable signal after said stepwise incrementing. An apparatus according to claim 16, wherein said analysis means includes an estimating means for estimating the non-linearity, z, as a function of a mathematical expression z = v ( a - b ) +b - d vd ( b - a ) - a ( b - d ) where, a = 100 m 0 -Δ m -1, b = 100 m 0 -1, d = 100 m 0 +Δ m -1, v = Δ c 1 Δ c 2 An apparatus according to claim 14, wherein said analysis means includes a detecting means for detecting whether the controlled variable signal fails to reach a steady state value after said stepwise decreasing, and for generating a signal indicating a presence of dead-band in the process based on such detection. A method of determining a non-linear characteristic, z, of a self-regulating process that is controlled by application of a manipulated variable signal thereto for varying a first characteristic thereof, and that generates a controlled variable signal representative of that first characteristic, the method comprising the steps of: A. applying a first doublet pulse to the process by i) incrementing the manipulated variable signal stepwise from an original value, m 0 , a predetermined amount, Δm, for causing the controlled variable signal to change from an original value, c 0 , ii) monitoring the controlled variable signal to determine a length of a time interval, τ a , beginning when the manipulated variable is incremented and ending when the controlled variable signal changes from the original value, c 0 , by a predetermined amount, NB, iii) responding to the controlled variable signal changing by said predetermined amount, NB, by decrementing the manipulated variable signal stepwise by twice the amount Δm thereby beginning a second half of said first doublet pulse, iv) at a time τ a after the beginning of the second half of said first doublet pulse, incrementing the manipulated variable signal stepwise by the amount Δm thereby returning the manipulated variable signal to the initial value, m 0 , and ending the first doublet pulse, v) monitoring the controlled variable signal during the second half of said first doublet pulse for measuring c 6 , a value achieved by the controlled variable signal maximally distant from the initial value, c 0 , vi) monitoring the controlled variable signal during a first period beginning after the end of the first doublet pulse and ending after the controlled variable signal returns to the original value c 0 , for measuring c 7 , a value achieved by the controlled variable signal during said first period maximally distant from the initial value, c 0 , B. applying a second doublet pulse to the process by, i) after the controlled variable signal returns to the original value, c 0 , decreasing the manipulated variable signal stepwise from the original value, m 0 , by the predetermined amount Δm, ii) at a time τ a after said decreasing, increasing the manipulated variable signal stepwise by twice the amount Δm thereby beginning a second half of said second doublet pulse, iii) at a time τ a after the beginning of the second half of said second doublet pulse, decreasing the manipulated variable signal stepwise by the amount Δm thereby returning the manipulated variable signal substantially to the initial value, m 0 , and ending the second doublet pulse, iv) monitoring the controlled variable signal during the second half of said second doublet pulse for measuring c 8 , a value achieved by the controlled variable signal maximally distant from the initial value, c 0 , v) monitoring the controlled variable signal during a second period beginning after the end the second doublet pulse and ending after the controlled variable signal returns to the original value c 0 , for measuring c 9 , a value achieved by the controlled variable signal during said second period maximally distant from the initial value, c 0 , C. determining the non-linearity, z, of the process as a function of the values, c 6 , c 7 , c 8 and c 9 . A method according to claim 19, wherein said determining step includes the steps of estimating the non-linearity, z, as a function of a mathematical expression z = v ( a - b )+ b - d vd ( b - a ) - a ( b - d ) where, a = 100 m 0 -Δ m -1, b = 100 m 0 -1, d = 100 m 0 +Δ m -1, v = ( c 8 - c 0 ) ( c 6 - c 0 ) -(1- c 9 - c 0 c 8 - c 0 ) 1- ( c 8 - c 0 ) ( c 6 - c 0 ) (1- c 7 - c 0 c 6 - c 0 )

Inventors: SHINSKEY FRANCIS G, SHINSKEY, FRANCIS G.
Applicants: FOXBORO CO, THE FOXBORO COMPANY
Application year: 1995
Main classification: G05B23
IPC codes: G05B13, G05B23