# Patent

## Title
Self-diagnostic process control loop for a process plant

## Abstract

A method of diagnosing an adaptive process control loop includes measuring process control loop signal data, generating a plurality of process control loop parameters from the process loop signal data and evaluating a condition of the adaptive process control loop from one or more of the plurality of process control loop parameters. The process control loop data is generated as a result of a normal operation of one or more process control devices within the adaptive process control loop when the adaptive process control loop is connected on-line within a process control environment. A self-diagnostic process control loop includes a diagnostic tool adapted to receive a diagnostic index pertaining to a process control loop parameter for a plurality of components of the process control loop and for the complete process control loop. Each diagnostic index is generated from signal data by a corresponding index computation tool. The diagnostic tool is further adapted to evaluate a condition of the process control loop from one or more of the diagnostic indices.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This is a divisional application which is based on and claims priority to U.S. application Ser. No. 11/565,767 entitled “Self-Diagnostic Process Control Loop for a Process Plant,” filed Dec. 1, 2006, which, in turn, claims priority from U.S. Provisional Application Ser. No. 60/742,320, filed on Dec. 5, 2005, the entire disclosures of which are hereby incorporated by reference herein in their entirety for all purposes.


FIELD OF THE TECHNOLOGY
The present disclosure relates generally to process control systems within process plants and, more particularly, to diagnostics for an adaptive process control loop in a process environment.
BACKGROUND
Process control systems are widely used in factories and/or plants in which products are manufactured or processes are controlled (e.g., chemical manufacturing, power plant control, etc.). Process control systems are also used in the harvesting of natural resources such as, for example, oil and gas drilling and handling processes, etc. In fact, virtually any manufacturing process, resource harvesting process, etc. can be automated through the application of one or more process control systems. It is believed the process control systems will eventually be used more extensively in agriculture as well.
Process control systems, like those used in chemical, petroleum or other processes, typically include one or more centralized or decentralized process controllers communicatively coupled to at least one host or operator workstation and to one or more process control and instrumentation devices, such as field devices, via analog, digital or combined analog/digital buses. Field devices, which may be, for example valves, valve positioners, switches, transmitters, and sensors (e.g., temperature, pressure and flow rate sensors), perform functions within the process such as opening or closing valves and measuring process parameters. The process controller receives signals indicative of process measurements or process variables made by or associated with the field devices and/or other information pertaining to the field devices, uses this information to implement a control routine and then generates control signals which are sent over one or more of the buses to the field devices to control the operation of the process. Information from the field devices and the controller is typically made available to one or more applications executed by an operator workstation to enable an operator to perform desired functions with respect to the process, such as viewing the current state of the process, modifying the operation of the process, etc.
The various devices within the process plant may be interconnected in physical and/or logical groups to create a logical process, such as a control loop Likewise, a control loop may be interconnected with other control loops and/or devices to create sub-units. A sub-unit may be interconnected with other sub-units to create a unit, which in turn, may be interconnected with other units to create an area. Process plants generally include interconnected areas, and business entities generally include process plants which may be interconnected. As a result, a process plant includes numerous levels of hierarchy having interconnected assets, and a business enterprise may include interconnected process plants. In other words, assets related to a process plant, or process plants themselves, may be grouped together to form assets at higher levels.
Adaptive process control loops have been developed that adaptively designed self-tuning controllers for process control systems. Generally, adaptive process control loops are based on a model parameter interpolation. According to the model parameter interpolation, a candidate process model may be defined by a predetermined set of models. Each of the models may be characterized by a plurality of parameters and for each model, each of the parameters has a respective value that is selected from a set of predetermined initialization values corresponding to the parameter. The valuation of each of the models may include computation of a model squared error and computation of a Norm that is derived from the models square errors calculated for the models. The Norm value is assigned to every parameter value represented in the model that is represented in an evaluation scan. As repeated evaluations of models are conducted, an accumulated Norm is calculated for each parameter value. The accumulated Norm is the sum of all Norms that have been assigned to the parameter value in the course of model evaluations. Subsequently, an adaptive parameter value is calculated for each parameter of the process control loop. The adaptive parameter value may be a weighted average of the initialization values assigned to the respective parameters. The set of adaptive process parameter values are then used a redesigned the adaptive process control loop, and in particular the adaptive process control loop controller.
Process control loop performance measurements and diagnostics of possible causes of degradation in a process control loop is a common challenge for process control personnel. Generally, process control loop diagnostics involves a monitoring system that measures and presents information to an operator, such as variability of each variable in a process control loop, control block modes, process control loop input and output status, etc. The process control loop diagnostics help identify process control loops that are performing inadequately, process control loop having a bad mode and process control loops having a bad status. Accordingly, problematic process control loops can be identified, and the problems with such process control loops can be identified. However, identification of the causes of such problems generally requires separate diagnostic procedures.
In one example of a process control loop monitoring and diagnostic procedure, causes of process control loop oscillations are identified after detecting process control loop oscillations. Potential causes of process control loop oscillation are identified or categorized as external disturbances, such as a process control loop device problem (e.g., valve problem) or as a tuning problem. However, process control loop diagnostics often require significant manipulation of the process control loop. For example, a process control loop may require manipulation by switching the process control loop to manual or by changing the tuning of a process controller for the process control loop. Still further, process control loop diagnostics are often intended for execution under the supervision of a process control operator or other personnel.
Undesirable behavior of process control valves is often a significant contributor to poor process control loop performance and destabilization of a process operation. Valve diagnostics is often performed by process control loop special testing in a manual mode, and the test results are used for calculating valve resolution and dead band. More comprehensive diagnostic techniques involve measuring several valve parameters including backlash, dead time and response time. However, these diagnostic techniques require application of special test sequences and measurement of more valve operational parameters than are available in regular process control loops, including positioner pressure.
Several valve diagnostic techniques have been developed to detect valve resolution, dead band and hysteresis. One example of a technique for automatic valve diagnostics is based on developing a cross-correlation function of a process variable and a process control loop controller output for a self-regulating process. A negative phase shift of the function indicates no stiction, while a positive phase shift indicates valve stiction.
In another example, an integrating process stiction is identified by applying a histogram shape of the second derivative of a process output value. A single histogram peak in the center indicates stiction, while two-sided peaks with a valley in the middle indicates no valve stiction. However, the results are qualitative and highly dependent on process control loop controller tuning.
Additional techniques estimate a percentage of time when valve position does not change while a process control loop controller output changes, utilize a plot shape of a process variable and controller output and/or utilize a curve fitting method for detecting valve stiction in oscillatory control loops. Stiction is indicated if the controller output curve for a self-regulating process or the process variable curve for an integrating process more closely corresponds to a triangular shape than a sinusoid shape. The curve shape is assessed by a stiction value. Stiction is considered absent in valve when the value is greater than or equal to zero and less than or equal to 0.4, considered undefined if the value is greater than 0.4 and less than 0.6, and considered present in the valve when the value is greater than or equal to 0.6 and less than or equal to 1. A further technique assumes a linear process model and a nonlinear valve model, and uses test data to identify both models. The identified valve model provides hysteresis of the valve, but without distinguishing between dead band and resolution.
Despite the advent of the above techniques, there is still a need for less complex techniques and for techniques which diagnose dead band and resolution. These demands motivated the authors setting the primary objective of adding to the existing approaches a simple and practical diagnostic concept. Further, process control loop diagnostics is particularly important for adaptive process control loops. For example, adaptation of an adaptive process control loop may cause instability, which is not caused by improper adaptation, but rather by a process control loop device problem (e.g., a sticky valve) or a measurement failure. However, manual or semi-manual diagnostic procedures are not adequate for the adaptive process control loop, which often operate without supervision.
SUMMARY
A system and method is provided for self-diagnosing a process control loop, and particularly adaptive process control loops, while the process control loop is on-line. Each of the basic components of the process control loop (process control loop performance, process control loop device, adapted model quality and process control loop stability) are diagnosed asynchronously during normal process control loop operations. Diagnostic indices are generated for each component. Process control loop diagnostics utilize the diagnostic indices to evaluate a condition of the process control loop. As such, the process control loop diagnostics develop and utilize parameters indicating performance both of the complete process control loop and every process control loop device of the process control loop. In addition, the quality of the adapted process model is utilized as an indicator of the process control loop diagnostics.
The process control loop diagnostics is applicable for process control loop devices on different levels, including process control loop devices with feedback signals, such as back calculation signals, process control loop devices within adaptive process control loops, and process control loops without process models or feedback signals.
In an example, a valve diagnostic for an adaptive process control loop is provided. Valve resolution and dead band diagnosed during normal process control loop operation, rather than utilizing special testing procedures. The valve diagnostics are based on process model and utilizes the functionality of a model-based adaptive control. A further technique that does not use the process model is also developed for process control loops which provide a feedback signal, such as valve stem position to the process control loop controller as a calculation feedback.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic diagram of a process plant displaying an example of a hierarchical structure of equipment and instructions implemented in a process plant;
FIG. 2 is a schematic diagram of an example of an adaptive process control loop and process control loop controller based on interpolation of process model parameters;
FIG. 3 is a block diagram of an example of a process control loop diagnostic system for a process control loop;
FIG. 4 is a chart depicting an example of a process control loop device demonstrating resolution of the process control loop device in response to a process control loop controller output;
FIG. 5 is a chart depicting an example of a process control loop device demonstrating resolution and dead band of the process control loop device in response to a process control loop controller output; and
FIG. 6 is a flow chart of an example of a routine which may be executed as part of a valve diagnostic to determine dead band, resolution and hysteresis.



DETAILED DESCRIPTION
Referring now to FIG. 1, a process plant 10 includes a number of business and other computer systems interconnected with a number of control and maintenance systems by one or more communication networks. The process plant 10 includes one or more process control systems 12 and 14. The process control system 12 may be a traditional process control system such as a PROVOX or RS3 system or any other DCS which includes an operator interface 12A coupled to a controller 12B and to input/output (I/O) cards 12C which, in turn, are coupled to various field devices such as analog and Highway Addressable Remote Transmitter (HART) field devices 15. The process control system 14, which may be a distributed process control system, such as DeltaVTM, includes one or more operator interfaces 14A coupled to one or more distributed controllers 14B via a bus, such as an Ethernet bus. The controllers 14B may be, for example, DeltaVTM controllers sold by Fisher-Rosemount Systems, Inc. of Austin, Tex. or any other desired type of controllers. The controllers 14B are connected via I/O devices, including wireless connections and I/O devices, to one or more field devices 16, such as for example, HART® or Foundation FieldbusTM field devices or any other smart or non-smart field devices including, for example, those that use any of the PROFIBUS®, WORLDFIP®, Device-Net®, AS-Interface® and CAN® protocols. As is known, the field devices 16 may provide analog or digital information to the controllers 14B related to process variables as well as to other device information. The operator interfaces 14A may store and execute tools available to the process control operator for controlling the operation of the process including, for example, control optimizers, diagnostic experts, neural networks, tuners, etc.
Still further, maintenance systems, such as computers executing the Asset Management System (AMS) application, such as AMS Device Manager sold by Fisher-Rosemount Systems, Inc., or any other device monitoring and communication applications may be connected to the process control systems 12 and 14 or to the individual devices therein to perform maintenance and monitoring activities. For example, a maintenance computer 18 may be connected to the controller 12B and/or to the devices 15 via any desired communication lines or networks (including wireless or handheld device networks) to communicate with and, in some instances, reconfigure or perform other maintenance activities on the devices 15. Similarly, maintenance applications 17, 19 such as the AMS application may be installed in and executed by one or more of the user interfaces 14A associated with the distributed process control system 14 to perform maintenance and monitoring functions, including data collection related to the operating status of the devices 16.
The process plant 10 also includes various rotating equipment 20, such as turbines, motors, etc. which are connected to a maintenance computer 22 via some permanent or temporary communication link (such as a bus, a wireless communication system or hand held devices which are connected to the equipment 20 to take readings and are then removed). The maintenance computer 22 may store and execute known monitoring and diagnostic applications 23, for example RBMwareTM sold by CSi Systems of Knoxville, Tenn., AMS Machinery Manager sold by Fisher-Rosemount Systems, Inc. or other any other known applications used to diagnose, monitor and optimize the operating state of the rotating equipment 20. Maintenance personnel usually use the applications 23 to maintain and oversee the performance of rotating equipment 20 in the plant 10, to determine problems with the rotating equipment 20 and to determine when and if the rotating equipment 20 must be repaired or replaced.
Similarly, a power generation and distribution system 24 having power generating and distribution equipment 25 associated with the plant 10 is connected via, for example, a bus, to another computer 26 which runs and oversees the operation of the power generating and distribution equipment 25 within the plant 10. The computer 26 may execute known power control and diagnostics applications 27 such as those provided by, for example, Liebert and ASCO or other companies to control and maintain the power generation and distribution equipment 25.
A computer system 30 is provided which is communicatively connected to the computers or interfaces associated with the various functional systems within the plant 10, including the process control functions 12 and 14, the maintenance functions such as those implemented in the computers 18, 14A, 22 and 26 and the business functions. In particular, the computer system 30 is communicatively connected to the traditional process control system 12 and to the maintenance interface 18 associated with that control system, is connected to the process control and/or maintenance interfaces 14A of the distributed process control system 14, is connected to the rotating equipment maintenance computer 22 and to the power generation and distribution computer 26, all via a bus 32. The bus 32 may use any desired or appropriate local area network (LAN) or wide area network (WAN) protocol to provide communications. As illustrated in FIG. 1, the computer 30 is also connected via the same or a different network bus 32 to business system computers and maintenance planning computers 35 and 36. The computer 30 may also be connected via, for example, the bus 32, to a plantwide LAN 37, a corporate WAN 38 as well as to a computer system 40 that enables remote monitoring of or communication with the plant 10 from remote locations. Alternatively, or in addition, the computer system 30 process control system 12, distributed process control system 14, maintenance interface 18, process control and/or maintenance interfaces 14A, rotating equipment maintenance computer 22, and/or the power generation and distribution computer 26 may be interconnected via an internet and communicate via an internet-compatible protocol. Accordingly, the plant 10 may be provided with viewing and control functions via one or more remote facilities which to view and control the various systems, computers and routines within the plant 10.
In addition, remote monitoring facilities may be communicatively coupled to the plant 10 via the internet to provide access to additional analysis and diagnostics resources. In one example, the plant 10 may be coupled to a failure defense planning system, which includes an analysis of the various plant assets and prioritizes the assets according to their importance to the plant or to systems within the plant to provide criticality data.
Referring to FIG. 2, an example of an adaptive feedback/feedforward (FB/FC) PID controller used within an adaptive process control loop to control a process 100 is shown. As an example, the adaptive feedback/feedforward (FB/FC) PID controller of FIG. 2 may be used as the controllers 12B, 14B described above. Although the following describes an example of an adaptive feedback/feedforward (FB/FC) PID controller, a more detailed example of the controller may be found in U.S. Pat. No. 6,577,908 entitled “Adaptive Feedback/Feedforward PID Controller” filed on Jun. 20, 2000, the entire contents of which are expressly incorporated by reference herein.
The system may be described with reference to a feedback controller (FBC) input node 410, an FBC output node 420, a process input node 430, a process output node 440, a feedforward controller (FFC) input node 460, and an error node 450. A process setpoint signal, SP, is applied to a first input of the input node 410. The output 412 of the input node 410 is coupled to an input 210 of a PID controller 200. The output 220 of the PID controller 200 is coupled to a first input 421 of the FBC output node 420. The output 422 of the node 420 is coupled to a first input 431 of the process input node 430. An output 432 of the node 430 is coupled to a first input 110 of the process 100. An output 120 of the process 100 is coupled to an input 441, of the process output node 440. A first output 442 of the node 440 is fed back to a second input 413 of the input node 410. A second output 444 of the node 420 is coupled to a first input 451 of the error node 450. As seen in FIG. 2, the input signal to the process 100 is referred to as u(t), and the output signal of the process 100 is referred to as y(t). In addition, a disturbance signal, d, appears at an input of 461 of the FFC input node 460. The disturbance signal d is coupled from a first output 462 of the node 460 to an input 310 of FFC 300 and propagates from a second output 454 of the node 450 to the process 100.
A model set component 510 is shown in FIG. 2 to have signal inputs 511 and 513 respectively coupled to the disturbance signal d and to the process input signal u(t). The constituents of the model set component 510 are a set mathematical models of the process 100. An output 512 of the component 510 is coupled to an input 453 of the error node 450. An output 452 of the node 450 is coupled to an input 521 of a model evaluation component 520. The model evaluation component 520 includes a simulator that simulates the process 100, as defined by the process parameter values delivered by the model set component 510. An output 522 of the model evaluation component 520 is coupled to an input 551 of a parameter interpolator component 550 and to an input 531 of a supervisor component 530. An output 552 of the parameter interpolator 550 is coupled to an input 515 of the model set component 510, and an output 554 of the parameter interpolator 550 is coupled to the input 541 of a controller redesign component 540. The controller redesign component 540 has a first output 542 coupled to an input 230 of the FBC 200 and a second output 544 coupled to an input 330 of the FFC 300.
The process controlled by the adaptive feedback/feedforward PID controller is mathematically described by a model set 510. Each model in the model set 510 is defined by predetermined parameters, and each of the models is intended to replicate the process 100. In general, each of the models may be defined by a number of parameters, m, and each of the parameters may be assigned a number of values, n. The total number of models in the set 510 is equal to N, where N=mn.
At, or prior to, the initiation of a model evaluation scan, the parameter interpolator 550 provides a set of predetermined initialization parameter values to the model set component 510. In general, the parameter values written to the model set 510 at the beginning of an adaptation cycle are based on the adaptive parameter values that were computed in the course of the most recent adaptation cycle. In the course of a model evaluation scan, the supervisor 530 will sequentially select and activate a model Modi. At that time the process input u(t) that appears at input 511 of the model set will be applied to the input of the activated model. The resultant output of Modi will then appear at the model set output 512.
The output 512 of the model set 510 is coupled to an input 451 of the error generator node 450. The output signal of set 510 is identified in FIG. 2 by the variable Y. Concurrently, output, y, of the process 100 is coupled to a second input 453 of the error generator mode 450. The output 452 of the node 450, error signal E, is coupled to an input 521 of the model evaluation component 520. The error signal Ei(t) is the difference between the process output y(t) and the output of model Modi at time t. In one example, the model evaluation component 520 computes a model squared error corresponding to each model Modi and assigns the model squared error to parameter values represented in the Modi. The output 522 of the model evaluator 520 is applied to the input 551 of the parameter interpolator 550. The parameter interpolator 550 calculates an adaptive parameter value for parameters represented in a model. The output 552 of the parameter interpolator 550 is coupled to the model set 510, and the output 553 of the parameter interpolator 550 is coupled to the input 541 of controller redesign component 540. The output 544 is applied to the PID controller 200 and the output 542 to the feedforward controller 300. The controller redesign component 540 imparts adaptive parameter values to the controllers upon conclusion of an adaptation cycle.
The supervisor component 530 has signal inputs 533, 535, 537 respectively coupled to the process input signal u, to the process output signal y, and to the disturbance signal d. The supervisor component 530 also has an input 534 coupled to the output of the model evaluation component 520. The supervisor 530 has a first control output 535 coupled to the model interpolator component 550, a second control output coupled to the models evaluation component 520, and a third control output coupled to the controller redesign component 540. The supervisor component 53 detects changes in the process output y, changes in the process input u from the PID controller 200, and changes in the disturbance (feedforward) input d. In the event that a change in the level of any of these signals exceed a predetermined minimum or threshold level, the supervisor 530 initiates an adaptation cycle. Model evaluation may include the following: (1) Model initiation and adjustment of model output to current process output; (2) incremental update of model based on specifications in the u and/or d signal; and (3) computation of model squared error.
Specifically, the process of adaptation of the feedback/feedforward PID is based on the application of interpolative techniques to model parameter values, which may be based on the concept of the model squared error technique. The model squared error technique defines a model squared error, Ei(t), for each model in a scan. The model squared error Ei(t) is assigned to every parameter value of the model Modi, provided that the parameter value is represented in the evaluated Modi. Next, the Modi+1 is evaluated, and again the model squared error is computed for that model. As Ei(t) is calculated during each model evaluation, and assigned to the parameter values represented in the respective models, an accumulated total of assigned model squared errors is maintained for each parameter value. The process continues, until all models, i=1, . . . , N, are evaluated. A complete sequence, where each model Modi is evaluated once, and a corresponding model squared error, Ei(t), is calculated, is referred to as a model scan. As a result of this sequence of evaluations, or model scan, each parameter value has assigned a sum of squared errors from all models in which this specific parameter value has been used. As a result of this procedure, every parameter value pkl has assigned an accumulated value of the Norm:




  
    
      
        
          
            Ep
            kl
          
          ⁡
          
            (
            t
            )
          
        
        =
        
          
            ∑
            
              i
              =
              1
            
            N
          
          ⁢
          
            
          
          ⁢
          
            
              X
              kl
            
            ⁢
            
              
                E
                i
              
              ⁡
              
                (
                t
                )
              
            
          
        
      
    
    
      
        (
        
          eq
          .
          
            
          
          ⁢
          1
        
        )
      
    
  




where:

    Epkl(t) is the Norm assigned to the parameters value pkl as a result of scan t
    N is the total number of models, and
    Xkl=1 if parameter value pkl is used in the Modi, and Xkl=0 if parameter value p not used in the Modi.


The process is repeated in the next scan and the Norm that results from sum of the squared errors assigned during that scan is added to the Norm's computed during the prior scan(s). The set of successive performances of model scans is referred to as an adaptation cycle and continues, under control of the supervisor 530, until predetermined number of scans are completed, or until there have occurred an adequate number of excitations at the process input. As a result of this procedure, every parameter value pkl has assigned an accumulated value of the Norm determined during an adaptation cycle. The adaptive parameter value pk(a) is calculated for each parameter pk that is a weighted average of all values of the parameter. The adaptive parameter values define a new model set.
After comparing every model output with current process output, the tables of sum of squared errors is built. After adaptation cycle has been completed, an adaptive parameter value for every parameter is calculated. Once a model adaptation cycle has been completed, and adaptive parameter values established in accordance with the above, controller redesign is effected through the operation of controller redesign component 540. In essence, the controller redesign component simply maps the newly calculated, adaptive process parameter values to redesigned values for the parameters.
Referring to FIG. 3, an example of diagnostic system 600 for a process control loop, and particularly for an adaptive process control loop, is depicted. As a simplified example of an adaptive process control loop, reference is made herein to a control loop that includes a memory, a processor, and a plurality of process control devices, including a controller and a valve. However, it should be understood that process control loops may be much more complex and include dozens (or more) of devices therein. Further, although the examples below include reference to a value as a process control loop device, it should be understood that the concepts described in relation thereto may be applied to other devices in a process control loop, including, but not limited to, field devices 15, 16, rotating equipment 20, power generating and distribution equipment 25, etc. Although the following describes the diagnostic system 600 as being implemented within the adaptive process control loop, it should be understood that the diagnostic system 600, or particular elements thereof, may also be implemented outside of the adaptive process control loop.
The diagnostic system 600 includes a main diagnostic component 602, which may be implemented as a software routine stored in a memory and executed by a processor, such as the memory and processor of the process control loop. While the process control loop is on-line, process control loop signal data is generated and measured. The measured process control loop data may be collected from any or all process control loop devices within the process control loop, including valves, controllers, sensors thereof, etc. The measured process control loop data may also be collected from the adapted models and components of the adaptive process control loop controller, such as the model evaluation component 520. In addition, measure process control loop data related to the process control loop as a whole may be collected, such as oscillation measurements. As a result, the measured process control signal data is the result of the normal operation of the process control loop, as opposed to data resulting from an exogenous signal which may otherwise disrupt the normal operation of the process control loop, data generated as a result of manual control of the process control loop, etc.
The main diagnostic component 602 receives diagnostic indices from several diagnostic tools for the adaptive process control loop to evaluate a condition of the process control loop while the process control loop is on-line. Each of the diagnostic tools make use of readily available parameters developed during normal loop operation. Examples of diagnostic tools for a process control loop include a process control loop performance tool 604, a process control loop device tool 606, an adapted model quality tool 608 and a process control loop stability tool 610, each of which utilize process control loop signal data, such as measurement data, position data, process control signal data, adapted model data, feedback data and the like to generate the diagnostic indices. Examples of process control loop signal data are provided below with reference to corresponding diagnostic tools that utilize the process control loop signal data to generate respective diagnostic indices.
Each diagnostic tool may generate a different diagnostic index. Each diagnostic index may correspond to a different process control loop component, such as a process control loop performance and status component, a process control loop device component, an adaptive model quality component and a process control loop stability component. For example, a performance index may be generated by the process control loop performance tool 604 for the process control loop performance and status component, a process control loop device diagnostic index may be generated by the process control loop device tool 606 for the process control loop device component, a model quality index may be generated by the adapted model quality tool 608 for the adapted model quality component, and a process control loop stability index may be generated by the process control loop stability tool 610 for the process control loop stability component. It should be understood that other measurement and diagnostics tools for the process control loop and devices therein may also be utilized to generate diagnostic indices for use by the main diagnostic component 602. each of the components may be diagnosed by the respective diagnostics tools 602, 604, 606, 608 asynchronously during the normal operation of the process control loop while the process control loop is on-line. For example, an index generation routine is described in U.S. Pat. No. 6,813,532 entitled “Creation and Display of Indices Within a Process Plant” filed on Feb. 28, 2002, the entire contents of which are expressly incorporated by reference herein.
The main diagnostic component 602 utilizes the diagnostic indices from one or more of the diagnostic tools. As such, each process control loop component may be accounted for in the diagnostics of the process control loop, and the main diagnostic component 602 evaluates the condition of the process control loop while making use of readily available parameters developed during normal process control loop operation. In particular, by defining and calculating individual diagnostic indices for each process control loop component, process control loop diagnostics are transparent and effective. Individual and distributed diagnostic tools operating asynchronously and independently allow for gradual implementation and partial operation of the overall process control loop diagnostic function. Further, because each diagnostic index is generated asynchronously for each process control loop component, the main diagnostic component 602 is capable of identifying the causes of poor loop performance.
In addition to the diagnostic tools, 604, 606, 608, 610, a reporting tool 612 is provided which initiates and/or executes a function in response to the main diagnostic routine 602. Examples of functions that may be generated based upon an evaluated condition of the process controller, include, but are not limited to, alarms, messages, and corrective actions.
As mentioned above, one of the diagnostic indices that may be generated is a process control loop performance index. The process control loop performance index may provide an indication of the performance of the complete process control loop. The process controller performance index may be expressed as a variability index or a total process variable standard deviation, each of which indicate performance of the process control loop. A capability standard deviation may also be useful to reflect noise in the process control loop.
A variability index may indicate a process control loop tuning condition and or a process control loop device condition, such as the condition of a valve. As an example, a variability index may be defined as a percentage by the following calculation:




  
    
      
        VI
        =
        
          100
          ⁢
          
            (
            
              1
              -
              
                
                  
                    S
                    lq
                  
                  +
                  s
                
                
                  
                    S
                    tot
                  
                  +
                  s
                
              
            
            )
          
          ⁢
          %
        
      
    
    
      
        (
        
          eq
          .
          
            
          
          ⁢
          2
        
        )
      
    
  




Slq is a minimum standard deviation, such as a minimum standard deviation achievable with feedback control (e.g., feedback signals provided from a device to a process control loop controller to improve process control), Stot is an actual measured standard deviation, and s=a sensitivity factor, to stabilize calculations. The sensitivity factor, s, may be defined by a default value of 0.1% of the variable scale. The actual measure standard deviation is also the total standard deviation and may also indicate a process control loop tuning condition and or a process control loop device condition, such as the condition of a valve.
The minimum standard deviation, Slq, achievable with feedback control may be defined by the following calculation:




  
    
      
        
          S
          lq
        
        =
        
          
            S
            cap
          
          ⁢
          
            
              2
              -
              
                
                  [
                  
                    
                      S
                      cap
                    
                    
                      S
                      tot
                    
                  
                  ]
                
                2
              
            
          
        
      
    
    
      
        (
        
          eq
          .
          
            
          
          ⁢
          3
        
        )
      
    
  




Scap is an estimated capability standard deviation (i.e., standard deviation at a process ideal operation—primary higher frequency process changes). Capability standard deviation is indicative of noise or higher frequency disturbances.
The variability index, the total standard deviation or the capability standard deviation may be used for process control loop self-adjustment of process variable (PV) filters in the loop. Because noise may affect model identification during adaptation, and in particular when controller derivative action is present, process variable filtering may improve model identification. As such, the process variable filtering may be applied for data used for model identification for an adaptive process control loop and/or for control of a process control loop.
A process control loop device diagnostic index may indicate a diagnostic of a device, such as a condition of a valve, in the process control loop. Process control loop device diagnostic indices may include indices for resolution, dead band and hysteresis of a process control loop device. Resolution of a process control loop device refers to a measure of a minimum process control signal require to generate a response from the process control device. Dead band of a process control loop device refers to a measure of the range through which an input can be varied without initiating an observable response in a process control loop device in response to a process control signal. Hysteresis refers to a displacement of a process control loop device based on an input to the process control loop device and an output, such as a feedback signal, from the process control loop device indicating the response to the input.
As an example, valve diagnostics provides indices for resolution (sometimes referred to as stickness, stick-slip or stiction which are effects of resolution), dead band (sometimes referred to as backlash) and hysteresis. The indices may be calculated in the process control loop using the output of a process control loop controller, OUT, and a feedback signal from the final element indicating valve position, BKCAL_IN. An example of valve operation demonstrating resolution and dead band is depicted in FIG. 4. Referring to FIG. 4, valve resolution is the minimum process controller output step change that causes valve movement. Valve dead band manifests itself as lost movement when the direction of movement of the actuator changes. As shown in FIG. 5, resolution and dead band effectively cause a significant change of the actuator characteristic.
One example of estimating resolution online is by calculating the difference between the process control loop controller output, OUT, and the process control loop device response (e.g., actuator/valve position) for every evaluation scan. In particular, the difference may be defined by a back calculation signal, BKCAL_IN, provided by the process control loop device:

Δi(t)=|OUT(t−i)−BKCAL_IN(t)  (eq. 4)

The selection of the highest values of Δi(t) averaged over a certain period of time may be considered as the actuator dead band and resolution estimate. Hysteresis may be calculated as a function of resolution and dead band, and further as a function of the selected maximum values:

h=b+δ=avg(max Δi)  (eq. 5)

where b is the process control loop device (e.g., valve) dead band, δ is the process control loop device resolution, max Δi is a maximum value of a back calculation signal, and i is the back calculation signal delay in module scans of the adaptive process control loop, where the module is a software functional unit defining loop control. As an example, the back calculation signal delay, i, may account for the valve speed of the response (e.g., velocity limit)

The duration of one cycle of the calculation of the difference, Δi, between the process control loop controller output and the back calculation signal can be several oscillation periods. An estimate of the calculation cycle could be approximately a few hundred PID controller integral times. The dead band can be calculated directly from equation 5, while further accounting for the effect of process control loop controller output change on the process control loop device output change after a predefined number of evaluation scans. In other words, if:

|ΔOUT(t−i)*ΔBKCAL_IN(t)|>0  (eq. 6)

then

b=avg(max Δi)  (eq. 7)

where:

ΔOUT(t−i)=OUT(t−i)−OUT(t−i−1)  (eq. 8)

ΔBKCAL_IN(t)=BKCAL_IN(t)−BKCAL_IN(t−1)  (eq. 9).

OUT(t−i) is a process control signal from the process control loop controller to the process control loop device, such as a valve, and BKCAL_IN(t) is a back calculation signal from the process control loop device in response thereto.
The resolution of the process control loop device may then be found as:

δ=h−b  (eq. 10).

The above example accounts for process control loop devices that provide a back calculation signal. Generally, the above approach using a back calculation signal provide a greater degree of simplicity and accuracy than other approaches. However, for process control loop devices that do not provide a back calculation signal, such as valve diagnostics for the actuators which do not provide a back calculation signal, resolution, dead band and hysteresis may still be determined. An example of a procedure for robust identification of resolution, dead band and hysteresis which still provides sufficient accuracy includes defining the oscillation amplitude on the process control loop controller input, Ampl(PV) and defining the oscillation amplitude on the process control loop controller output, Ampl(OUT). The hysteresis may then be calculated as:

h=2Ampl(OUT)  (eq. 11)

If the process control loop gain, Kp, is known, the resolution of a process control loop device, such as valve resolution, may be calculated as:




  
    
      
        δ
        =
        
          
            2
            ⁢
            
              Ampl
              ⁡
              
                (
                PV
                )
              
            
          
          
            K
            p
          
        
      
    
    
      
        (
        
          eq
          .
          
            
          
          ⁢
          12
        
        )
      
    
  




Based upon equation 10, the dead band of a process control loop device, such as a valve dead band, may be calculated as:

b=h−δ  (eq. 13)

For both the process control loop controller input and output, the oscillation amplitude is defined as half of the difference between signal maximum and minimum values, which can be directly detected. Alternatively, the oscillation amplitudes may be found by integrating samples over a given time interval, and then calculating an average sample area relative to the mean value over one oscillation. Assuming a sawtooth (e.g. triangular) shape for the process control loop controller output and a step- or rectangular-like shape for the process variable (PV), the oscillation amplitude may be calculated from the sample area.
The above example accounts for situations where the process control loop gain, Kp, is known, which is particularly applicable to adaptive process control. However, if process control loop gain is unknown, an approximate heuristic formula may be applied. In particular, the resolution from the period of oscillation may be calculated from the following:




  
    
      
        
          T
          osc
        
        =
        
          5
          ⁢
          
            
              T
              i
            
            ⁡
            
              (
              
                1
                +
                
                  1
                  
                    
                      K
                      c
                    
                  
                
              
              )
            
          
          ⁢
          A
          ⁢
          
            
          
          ⁢
          
            e
            
              
                
                  -
                  B
                
                ⁢
                
                  
                
                ⁢
                δ
              
              
                δ
                +
                B
              
            
          
        
      
    
    
      
        (
        
          eq
          .
          
            
          
          ⁢
          14
        
        )
      
    
  




where A and B are heuristic parameter values estimated for a self-regulating process, Ti is a process control loop controller reset time, and Kc is a process control loop controller gain. A is greater than B, with A approximately equal to 6 and B approximately equal to 2.5. Defining hysteresis from the process control loop controller output and using known process control loop controller gain, Kc, and reset, Ti it is possible to estimate the resolution, δ, from equation 14.

A number of valve diagnostic techniques have been developed, which calculate various kind of indexes providing indirect, qualitative rather than quantitative information about resolution and dead band, in which qualitative information may be useful in diagnostics for adaptive process control loops, whereas quantitative information may not be useful or as useful in diagnostics for adaptive process control loops.
The following provides a valve diagnostic concept suitable for process control loops with model-based adaptation. The valve diagnostics are developed on three levels: 1) diagnostics for valves with available back calculated valve position; 2) diagnostics for the valves working in process control loops with an adapted process model; and 3) valve diagnostics in a process control loop without an adapted process model and without a back calculated valve position.
Two main valve diagnostic parameters which identify valve conditions are valve resolution and valve dead band. As indicated above, resolution is a minimum change in input required to produce a detectable change in the output when no reversal of the input takes place. Referring again to FIG. 4, a valve operation demonstrates resolution expressed as a percent of the input span.
Referring again to FIG. 5, valve resolution degradation is caused by increased friction observed as stiction, stick-slip or stickness. FIG. 5 also illustrates valve dead band. As mentioned above, dead band may be referred to as a range through which a valve input signal can be varied, upon reversal of direction, without initiating an observable change in the valve position. In a valve, dead band may manifest itself as a lost movement when the direction of movement of the actuator changes. Resolution and dead band effectively cause in a significant change of the actuator characteristic, as shown in FIG. 5. The combined effect of dead band and resolution produces displacement or hysteresis in valve input-output plot.
An automated valve diagnosis accommodates the feedback signal from the final element indicating valve position, BKCAL_IN, which allows for calculation of dead band and resolution within a PID block. In particular, the difference between the previous process control loop controller output, OUT(t−i), and the feedback signal, BKCAL_IN(t), where i=1 for a typical case but not always, is exploited for the process control loop.
Referring to FIG. 6, an example of a routine 700 to calculate valve hysteresis, resolution and dead band based upon the exploitation of the difference between process control loop controller output and the feedback signal (e.g., back calculation signal) is shown. Beginning at block 702, the routine initializes the calculation cycle, and set the calculation cycle time, Tcalc. For example, the calculation cycle time, Tcalc, may be approximately equal to 30 times the time to steady state, Tss, for a controlled process (i.e., Tcalc≈30Tss). The time to steady state, Tss, may be calculated as:

Tss=3τc+τd  (eq. 15)

where τc is the process dominant time constant, and τd is the process dead time. As an alternative example, the calculation cycle time, Tcalc, may be approximately equal to 100 times the process control loop controller integral time, Ti, (i.e., Tcalc≈100Ti).

At block 704, the valve direction is set to NONE for initialization. The functions of blocks 706, 708 and 710 are then performed for each model evaluation scan in the adaptive process control loop. In particular, at block 706 the change in control loop controller output, OUT(t−i), and the change in the feedback signal, BKCAL_IN(t), where i is set to 1 as a default value (but is otherwise adjustable), are calculated according to equations 8 and 9 above.
At block 708, the valve direction is set based upon the difference between the controller loop controller output and the feedback signal. For example, the valve direction is set to UP if:

OUT(t−i)−BKCAL_IN(t)>0  (eq. 16)

and the valve direction is set to DOWN if:

OUT(t−i)−BKCAL_IN(t)<0  (eq. 17).

If neither equation 16 nor 17 is true, then the previous direction of the valve is retained.

At block 710, the rest of the calculations for the model evaluation scan are skipped if:

|ΔOUT(t−i)|>ζ  (eq. 18)

or

|ΔBKCAL_IN(t)|>ζ  (eq. 19).

where ζ may be set to 3% as a default value. As a further condition, the rest of the calculations for the model evaluation scan may be skipped if the valve direction is set to NONE.

If the calculations are not skipped, at block 712 the hysteresis and dead band calculations for the valve are updated. In particular, if the valve direction is set to UP and if:

ΔOUT(t−i)≧0  (eq. 20)

then “hysteresis up”, Δh+, is calculated when the controller output, OUT, opens the valve (i.e., OUT>BKCAL_IN). The “hysteresis up”, Δh+, may be calculated as:

Δhj+(t)=|OUT(t−i)−BKCAL_IN(t)|  (eq. 21)

and

Δh+=max{Δhj+(t)}  (eq. 22)

is the maximum value of j calculations.

Further, if the valve direction is set to UP and equation 20 is true, and if:

ΔOUT(t−i)*ΔBKCAL_IN(t)|>0  (eq. 23)

then “dead band up”, Δb+ is calculated as:

Δbj+(t)=Δhj+(t)  (eq. 24)

and

Δb+=max{Δbj+(t)}  (eq. 25)

is the maximum value of j calculations.

Alternatively, if the valve direction is set to DOWN and if:

ΔOUT(t−i)≦0  (eq. 26)

then “hysteresis down”, Δh−, is calculated when the controller output, OUT, closes the valve (i.e., OUT<BKCAL_IN). The “hysteresis down”, Δh−, may be calculated as:

Δhj−(t)=|OUT(t−i)−BKCAL_IN(t)|  (eq. 27)

and

Δh−=max{Δhj−(t)}  (eq. 28)

is the maximum value of j calculations.

Further, if the valve direction is set to DOWN and equation 26 is true, and if:

|ΔOUT(t−i)*ΔBKCAL_IN(t)|>0  (eq. 29)

“dead band down”, Δ− is calculated as:

Δbj−(t)=Δhj−(t)  (eq. 30)

and

Δb−=max{Δbj−(t)}  (eq. 31)

is the maximum value of j calculations.

After the calculation cycle time, Tcalc, the hysteresis, h, dead band, b, and resolution, δ, may be calculated at block 714 as follows:

h=Δh++Δh−  (eq. 32)

b=Δb++Δb−  (eq. 33)

δ=h−b  (eq. 34).

At block 716, the status is updated (or set). For example, if the results are ZEROS and the previous results are non-zeros, the valve diagnostics status is set to UNCERTAIN. If resolution is negative, the valve diagnostic status is set to BAD, and if the resolution is not negative, the valve diagnostics status is set to GOOD. At block 718, the routine 100 resumes with a new calculation cycle.
As disclosed above, resolution, dead band and hysteresis may also be determined for process control loop devices that do not provide a back calculation signal. For example, the valve diagnostics for actuators with no back calculation signal is based on the process model and the best suited model for the adaptive control loops or automatically tuned loops. As above, the oscillation amplitude on the process controller input signal from the process variable PV, Ampl(PV) and the oscillation amplitude on the process control loop controller output OUT, Ampl(OUT) are defined, and the hysteresis is calculated according to equation 11. In the following example, the oscillation shape defined by a shape factor is used for identifying oscillations caused by the valve. Noise is accounted for by the following:

h=h−γ*Ampl(Noise)*Gain  (eq. 35)

where γ<2, and Gain is the process control loop controller proportional gain. The oscillation shape is accounted for by applying a shape factor:

h=h(α+factor(Shape))  (eq. 36)

where 0≦factor(Shape)≦1−α and the shape factor is defined from the process variable, PV, and controller output, OUT, oscillation shape coefficients. The shape coefficient for an oscillatory signal, PV, OUT or o(k), is:





  
    
      
        
          shape
          ⁡
          
            (
            oscil
            )
          
        
        =
        
          
            Ampl
            ⁡
            
              (
              oscil
              )
            
          
          
            Avg
            ⁡
            
              (
              oscil
              )
            
          
        
      
    
    
      
        (
        
          eq
          .
          
            
          
          ⁢
          37
        
        )
      
    
  




where oscil=o(k)=OUT or PV.

For a typical shape, such as a sawtooth oscillations shape, the coefficient is 2. For a sine wave oscillations shape the coefficient is π/2. As explained above, oscillation amplitude is defined as a half of difference between signal maximum and minimum values over calculation cycle. The average value of the oscillations harmonics is:




  
    
      
        
          Avg
          ⁡
          
            (
            oscil
            )
          
        
        =
        
          
            ∑
            
              k
              =
              1
            
            n
          
          ⁢
          
            
          
          ⁢
          
            
              |
              
                
                  o
                  ⁡
                  
                    (
                    k
                    )
                  
                
                -
                
                  o
                  _
                
              
              |
            
            n
          
        
      
    
    
      
        (
        
          eq
          .
          
            
          
          ⁢
          38
        
        )
      
    
  




where the means value of the oscillation signal, ō, is:





  
    
      
        
          o
          _
        
        =
        
          
            
              
                ∑
                
                  k
                  =
                  1
                
                n
              
              ⁢
              
                
              
              ⁢
              
                o
                ⁡
                
                  (
                  k
                  )
                
              
            
            n
          
          .
        
      
    
    
      
        (
        
          eq
          .
          
            
          
          ⁢
          39
        
        )
      
    
  




For a self-regulating process, factor(Shape)=Scale(shape(OUT)−shape(PV). For an integrating process, factori=−factor(Shape). The shape factor, factor(Shape), is a difference between shape coefficient for the output oscillations and the shape coefficient for the process variable oscillations. The shape factor may be scaled to have a minimum value 0 and a maximum value of 1−α. The maximum value occurs when there are saw tooth signals on the controller output, OUT, and nearly rectangular process variable, PV, pulses, indicating typical oscillations caused by the valve dead band and resolution with relatively small noise. The minimum, close to a zero value of the shape factor, is when PV and OUT signals have similar or close to random signal shapes, which may occur when resolution and dead band are comparable with the noise level.
Resolution, δ, and dead band, b, may be calculated according to equations 12 and 13, respectively. After accounting for the noise and oscillation shape, resolution may be calculated as:




  
    
      
        r
        =
        
          
            
              2
              ⁢
              
                (
                
                  
                    Ampl
                    ⁡
                    
                      (
                      PV
                      )
                    
                  
                  -
                  
                    Ampl
                    ⁡
                    
                      (
                      Noise
                      )
                    
                  
                
                )
              
              ⁢
              
                (
                
                  α
                  +
                  
                    factor
                    ⁡
                    
                      (
                      Shape
                      )
                    
                  
                
                )
              
            
            
              K
              p
            
          
          .
        
      
    
    
      
        (
        
          eq
          .
          
            
          
          ⁢
          40
        
        )
      
    
  




However, as above, if process gain, Kp, is not available, resolution can be estimated by using controller gain, Gain:

r=2(Ampl(PV)−Ampl(Noise))(α+factor(Shape))*Gain  (eq. 41)

The calculation cycle period for model based diagnostics is approximately the same as for the diagnostics with back calculated valve position. Filtering or averaging may be used to achieve stable results. While this may slow down the diagnostics, the limitation may not be significant, because the diagnostic is performed continuously on-line.
The valve resolution and dead band diagnostic calculation has been implemented in the adaptive PID function block, being part of an industrial DCS structure. The DCS allows easy and flexible simulations of linear and non-linear process dynamics. The valve model as in the appendix was used with the second order plus dead time controlled process. The model recreates valve steady state characteristics and dynamic response.
As an example of the above valve diagnostics a valve with stem position feedback, was tested for the following ranges of the parameters illustrated in Table 1.

















TABLE 1







Resolution[%]
0.02
0.1
0.25
0.25
0.5 
0.5
1.0
1.0
2.0
2.0


Dead band [%]
0.05
0.25
0.5
1.0
1.0
2.0
2.0
5.0 
5.0
10.0









The applied random noise was 0.25% for resolution up to 0.5%. The applied random noise for larger resolutions additionally was 0.5% and 1.00%. The diagnostic results were exact up to two decimal places for all cases, except of intermittent calculation cycles. The results were not affected by the noise.
Valve resolution and dead band diagnostics with an applied process model and with no stem position feedback were tested in the same loop, though an adaptive process model was used for diagnostics. Representative test results are shown in Table 2.














TABLE 2







Resolution % (True/Diag.) 
0.1/0.13
0.2/0.19
0.5/0.41
0.5/0.39
1/0.93
2/1.72
 2/1.76


Dead band % (True/Diag.)
0.3/0.32
0.5/0.45
  1/1.12
  2/1.69
2/2.20
5/5.70
10/10.49









The applied random noise level was as in the previous tests. The diagnosed resolution and dead band accuracy were dependent on the adaptive process model. However, diagnosed valve hysterysis was not affected by the adapted model, but rather by the process noise and disturbances. A smaller model gain versus real process gain, contributed to the higher than real diagnosed resolution. Similarly, a higher process model gain contributed to the smaller diagnosed valve resolution.
A model quality index may indicate the quality of the adapted model for the process control loop, where the adapted model is defined during an adaptation cycle for the process control loop, an example of which was provided above. Model quality may be calculated in various ways. In one example, model quality is defined during model identification (e.g., during a model evaluation scan). A poor model quality indicates a loop condition problem which may include valve, measurement noise, tuning or an improper setup for the adaptation. Model validation may be performed by comparing a final model output with the real process variable, PV. The squared error per evaluation scan is an attribute for the process control loop block. The following criteria for model acceptance applied after data has been collected for the adaptation:




  
    
      
        
          
            SqError
            ⁡
            
              (
              k
              )
            
          
          =
          
            TotalSqError
            NumberofSamples
          
        
        ⁢
        
          

        
        ⁢
        
          where
          ⁢
          
            :
          
        
      
    
    
      
        (
        
          eq
          .
          
            
          
          ⁢
          42
        
        )
      
    
  
  
    
      
        
          
            SqError
            ⁡
            
              (
              k
              )
            
          
          
            SqError
            ⁡
            
              (
              
                k
                -
                1
              
              )
            
          
        
        <
        R
      
    
    
      
        (
        
          eq
          .
          
            
          
          ⁢
          43
        
        )
      
    
  
  
    
      
        
          SqError
          ⁡
          
            (
            k
            )
          
        
        <
        
          
            e
            max
          
          .
        
      
    
    
      
        (
        
          eq
          .
          
            
          
          ⁢
          44
        
        )
      
    
  




The squared error, SqError(k), is the error from a previous adaptation cycle of the process control loop, adaptive controller block attribute. Emax is the maximum acceptable adapted model error. R is the ratio validating acceptance of the current adapted model. A heuristic value of approximately 10 is used for adaptive model with parameter interpolation.
When adaptation involves comparing several models, the error ratio of the best model and the closest to the best also indicates the quality of the model and may be considered in model validation. Generally, the validation is performed to prevent instability of the loop tuned with the newly adapted model. An adapted model is defined as “good”, “uncertain”, or “bad”. This status may then be used for process control loop tuning in the diagnostics.
In an alternative example, model quality in an adaptive process control loop may be evaluation based on factors such as the number of adaptations, average filter factor, and model main parameter (gain) average value and variability of the last number, n, adaptations of that parameter. In particular, the filter factor (FF) may be calculated for every adapted parameter. The criteria used for the filter factor calculation may include a ratio of the maximum residual error to the minimum residual error (RE) and a test to determine if the model with a middle value parameter value has the smallest residual error. If the ratio is small, it implies high noise level or a significant distance from the true model value. If the ratio, is high it indicates a small noise level and/or fast convergence of the model parameters. Satisfaction of the test criteria indicates that true model value lies between low and high range of the parameter and an interpolated parameter value should be close to the true value.
The filter factor, FF, for the model parameter may be calculated as follows:




  
    
      
        
          
            ɛ
            k
          
          ⁡
          
            (
            i
            )
          
        
        =
        
          
            y
            ⁡
            
              (
              i
              )
            
          
          -
          
            
              
                y
                ^
              
              k
            
            ⁡
            
              (
              i
              )
            
          
        
      
    
    
      
        (
        
          eq
          .
          
            
          
          ⁢
          45
        
        )
      
    
  
  
    
      
        
          ɛ
          k
          2
        
        =
        
          
            ∑
            
              i
              =
              1
            
            n
          
          ⁢
          
            
          
          ⁢
          
            
              
                ɛ
                k
                2
              
              ⁡
              
                (
                i
                )
              
            
            n
          
        
      
    
    
      
        (
        
          eq
          .
          
            
          
          ⁢
          46
        
        )
      
    
  
  
    
      
        
          E
          max
        
        =
        
          
            max
            k
          
          ⁢
          
            (
            
              ɛ
              k
              2
            
            )
          
        
      
    
    
      
        (
        
          eq
          .
          
            
          
          ⁢
          47
        
        )
      
    
  
  
    
      
        
          E
          min
        
        =
        
          
            min
            k
          
          ⁢
          
            (
            
              ɛ
              k
              2
            
            )
          
        
      
    
    
      
        (
        
          eq
          .
          
            
          
          ⁢
          48
        
        )
      
    
  
  
    
      
        FF
        =
        
          
            s
            ⁡
            
              (
              
                A
                +
                
                  B
                  ⁡
                  
                    (
                    
                      1
                      -
                      
                        
                          E
                          min
                        
                        
                          E
                          max
                        
                      
                    
                    )
                  
                
              
              )
            
          
        
      
    
    
      
        (
        
          eq
          .
          
            
          
          ⁢
          49
        
        )
      
    
  




where k=1, 2, 3, . . . with k being the model number, i=1, . . . n with n being the number of samples, s is a scaling factor, and A and B are adjustable heuristic constants defined from the test to determine if the model with a middle value parameter value has the smallest residual error. If the test is satisfied (i.e., Emin=ε22), then, for example, A=0.1 and B=0.5. Otherwise, A=0.05 and B=0.25, although the values for A and B may be adjusted experimentally. The scaling factor, s=0.33 for a self-regulating process and s=0.4 for an integrating process.

The defined filter factor uses the errors ratio accounting automatically for noise level and excitation signal level. As noise level increases, or as excitation signal level decreases, the ratio of the modeling errors for various parameters decreases. The filter factor is sequentially calculated for every adapted parameter and then the filter factor for the model of a self-regulating process is calculated as follows:

FF(model)=0.6*FF(gain)+0.2*FF(TC)+0.2*FF(DT)  (eq. 50)

For an integrating process, the filter factor for the model is calculated as:

FF(model)=0.7*FF(gain)+0.3*FF(DT)  (eq. 51)

The model quality calculations may be calculated by calculating the dispersion (min and max) for the last n adapted parameters, where n may be adjustable but in the example below n=5:

min{Gain(i)},max{Gain(j)}  (eq. 52)

where i≧k−5 and j≧k−5, with k being the current adaptation number. Then:





  
    
      
        var
        =
        
          
            
              max
              ⁡
              
                (
                
                  Gain
                  ⁡
                  
                    (
                    j
                    )
                  
                
                )
              
            
            -
            
              min
              ⁡
              
                (
                
                  Gain
                  ⁡
                  
                    (
                    i
                    )
                  
                
                )
              
            
          
          2
        
      
    
    
      
        (
        
          eq
          .
          
            
          
          ⁢
          53
        
        )
      
    
  
  
    
      
        r
        =
        
          min
          ⁢
          
            {
            
              1
              ,
              
                var
                avgGain
              
            
            )
          
        
      
    
    
      
        (
        
          eq
          .
          
            
          
          ⁢
          54
        
        )
      
    
  




where avgGain is the last filtered gain. If there is less than five models (k<5), then:





  
    
      
        r
        =
        
          min
          ⁢
          
            {
            
              1
              ,
              
                r
                +
                
                  
                    5
                    -
                    i
                  
                  5
                
              
            
            }
          
        
      
    
    
      
        (
        
          eq
          .
          
            
          
          ⁢
          55
        
        )
      
    
  




where i is the number of models. The model quality, MQ, accounting for r is:

MQ=max{0.3,MQ}  (eq. 56)

MQ=MQ*(A+0.25*r)+sin [3.0*FF(model)]*(1−A−0.25*r)  (eq. 57)

wherein A=0.5. Equation 57 may be modified to eliminate the sine calculation, such that:

MQ=max{0.4,MQ}  (eq. 58)

MQ=MQ*(A+0.25*r)+1.2√{square root over (FF)}*(1−A−0.25*r)  (eq. 59).

The values of coefficients may be adjusted to satisfy requirements of particular implementations.

Noise may be accounted for on various levels, including model validation and excitation level. Model validation, as explained above, accounts for noise by developing the noise-dependent filter factor, FF. With higher noise or smaller excitations, FF is smaller. The excitation level is tested versus the noise/disturbance level. The following noise protection may be applied:

level(NOL)=max{stdev,stdev_cap}  (eq. 60)

where stdev and stdev_cap are PID controller parameters of total standard deviation and capability standard deviation. The triggering events for the adaptation may be verified as min Delta SP>5*NOL, min Delta OUT>5*NOL*gain(PID), and min PULSE ampl.>7*NOL*gain(PID). Noise may be further accounted for by adjusting the time to steady state, Tss, by noise dependent factor:

Tss′=Tss(1+2*stdev_cap)  (eq. 61).

An oscillation index may indicate the stability of the process control loop. In particular, the oscillation index is a priority indicator of the overall process control loop, the value of which may be used to alert an operator to promptly attend to an unstable process control loop. Detection and evaluation of oscillations in a process control loop can be performed in a variety of ways that are suitable to obtain the amplitude and period of the oscillations. The oscillation status is then defined according to no oscillations (e.g., “Good”), oscillation exceeded minimum acceptable amplitude (e.g., “Uncertain”), and oscillations exceeding maximum acceptable amplitude (e.g., “Bad”).
The main diagnostic routine 600 evaluates loop conditions based on the status of the process control loop components (e.g., process control loop performance, process control loop device, adapted model quality and process control loop stability), and performs a function as a result of the evaluation, such as initiating a corrective action or setting alarms. For example, alarming status is set for oscillatory process control loops, as well as for excessively high estimated valve hysteresis and low resolution.
An example of a corrective action within a process control loop includes accounting for the diagnosed conditions during model acceptance. Another example of a corrective action includes filtering data used for control and identification intended for improving the next model identification. If the adapted model is “bad”, the results of the model are rejected. If “uncertain”, the model is partially accepted. In other words, the parameters of the actual process control loop model are calculated as a weighted average of adapted and actually used models. The model quality index is used in the process variable filter calculation.
Process variable filtering for control is adjusted automatically and asynchronously to the adaptive procedure. The filter value is set based on the model identification status and the current value of the process model dead time, time constant and noise level defined by the process control loop parameters (e.g., capability standard deviation and total standard deviation). Filter adjustments are made periodically, not faster than once over time-to-steady-state period, Tss. The following heuristic formula may be used for the filter time constant calculation:




  
    
      
        
          
            τ
            f
          
          ⁢
          new
        
        =
        
          φ
          ⁢
          
            STDEV_CAP
            STDEV
          
          ⁢
          min
          ⁢
          
            {
            
              
                ατ
                d
              
              ,
              βτ
            
            }
          
        
      
    
    
      
        (
        
          eq
          .
          
            
          
          ⁢
          45
        
        )
      
    
  




where τd is the process model dead time, τ is the process model time constant, and ø is the quality of the last adapted model. STDEV is the total standard deviation, and STDEV_CAP is the capability standard deviation. The quality of the last adapted model, ø, is equal to 0 if the last model status is “good”, equal to 1 if last model status is “uncertain”, and equal to 2 if the last month status is “bad”. To avoid drastic filter changes, effective filter values may be applied as:

τf=0.8τfold+0.2τfnew  (eq. 46).

If the process variable filter is applied for both model identification and control, no model correction after the identification may be avoided. If the process variable filter for both the process variable, PV, and controller output, OUT, is used only for the identification, then both the process variable and process control loop controller output filters are the same and are selected by applying the procedures provided above. There is an assumption that model correction is not required, because both process input and output data are delayed on the same value.
Although the forgoing text sets forth a detailed description of numerous different embodiments of the invention, it should be understood that the scope of the invention is defined by the words of the claims set forth at the end of this patent. The detailed description is to be construed as exemplary only and does not describe every possibly embodiment of the invention because describing every possible embodiment would be impractical, if not impossible. Numerous alternative embodiments could be implemented, using either current technology or technology developed after the filing date of this patent, which would still fall within the scope of the claims defining the invention.
While the diagnostic system and method, and other elements, may be implemented in software, they may also be implemented in hardware, firmware, etc., and may be implemented by any other processor. Thus, the elements described herein may be implemented in a standard multi-purpose CPU or on specifically designed hardware or firmware such as an application-specific integrated circuit (ASIC) or other hard-wired device as desired. When implemented in software, the software routine may be stored in any computer readable memory such as on a magnetic disk, a laser disk, or other storage medium, in a RAM or ROM of a computer or processor, in any database, etc. Likewise, this software may be delivered to a user or a process plant via any known or desired delivery method including, for example, on a computer readable disk or other transportable computer storage mechanism or over a communication channel such as a telephone line, the internet, wireless communication, etc. (which are viewed as being the same as or interchangeable with providing such software via a transportable storage medium).
Thus, many modifications and variations may be made in the techniques and structures described and illustrated herein without departing from the spirit and scope of the present invention. Accordingly, it should be understood that the methods and apparatus described herein are illustrative only and are not limiting upon the scope of the invention.

## Claims

1. A method of diagnosing a process control loop comprising a plurality of process control loop devices, wherein the process control loop is controlled based on adaptive process loop parameters calculated from an adapted model of the process control loop for a plurality of parameters of the process control loop, the method comprising:
evaluating on a computer a performance of the process control loop;
evaluating on the computer a condition of a process control loop device within the process control loop;
evaluating on the computer a quality of the adapted model of the process control loop;
evaluating on the computer a stability of the process control loop;
generating on the computer a diagnostic index from each of the evaluations
evaluating on the computer a condition of the process control loop from one or more of the diagnostic indices; and
automatically adjusting on the computer a process variable filter based on evaluating on the computer a condition of the process control loop from one or more of the diagnostic indices.

2. The method of claim 1, wherein generating on the computer a diagnostic index from each of the evaluations comprises generating on the computer a variability index from evaluating on the computer a performance of the process control loop.

3. The method of claim 2, wherein generating on the computer a variability index from evaluating on the computer a performance of the process control loop comprises calculating on the computer the variability index as:




  VI
  =
  
    100
    ⁢
    
      (
      
        1
        -
        
          
            
              S
              lq
            
            +
            s
          
          
            
              S
              tot
            
            +
            s
          
        
      
      )
    
    ⁢
    %
  



wherein:
Slq=a minimum standard deviation,
Stot=an actual measured standard deviation,
s=a sensitivity factor.

4. The method of claim 1, wherein generating on the computer a diagnostic index from each of the evaluations comprises generating on the computer a minimum standard deviation from evaluating a performance of the process control loop.

5. The method of claim 4, wherein generating on the computer a minimum standard deviation from evaluating on the computer a performance of the process control loop comprises calculating on the computer the minimum standard deviation as:




  
    S
    lq
  
  =
  
    
      S
      cap
    
    ⁢
    
      
        2
        -
        
          
            [
            
              
                S
                cap
              
              
                S
                tot
              
            
            ]
          
          2
        
      
    
  



wherein:
Scap=an estimated capability standard deviation.

6. The method of claim 1, wherein generating on the computer a diagnostic index from each of the evaluations comprises generating on the computer a dead band of a process control loop device from evaluating on the computer a condition of a process control loop device within the process control loop.

7. The method of claim 6, wherein generating on the computer a dead band of a process control loop device from evaluating on the computer a condition of a process control loop device within the process control loop comprises calculating on the computer a dead band of a process control loop device as:


b=avg(max Δi)



if



|ΔOUT(t−1)*ΔBKCAL_IN(t)|>0

wherein:
Δi(t)=|OUT(t−i)−BKCAL_IN(t)|,
ΔOUT(t−1)=OUT(t−i)−OUT(t−i−1),
ΔBKCAL_IN(t)=BKCAL_IN(t)−BKCAL_IN(t−1),
OUT(t)=a process control signal to the process control loop device,
BKCAL_IN(t)=a back calculation signal from a process control loop device,
i=a back calculation signal delay from a process control loop device.

8. The method of claim 6, wherein generating on the computer a dead band of a process control loop device from evaluating on the computer a condition of a process control loop device within the process control loop comprises calculating on the computer a dead band of a process control loop device as:




  b
  =
  
    
      (
      
        2
        ⁢
        
          Ampl
          ⁡
          
            (
            OUT
            )
          
        
      
      )
    
    -
    
      (
      
        
          2
          ⁢
          
            Ampl
            ⁡
            
              (
              PV
              )
            
          
        
        
          K
          p
        
      
      )
    
  



wherein:
Ampl(OUT)=the oscillation amplitude on a process control loop controller output, OUT,
Ampl(PV)=the oscillation amplitude on a process control loop controller input signal from process variable, PV,
Kp=the process gain.

9. The method of claim 1, wherein generating on the computer a diagnostic index from each of the evaluations comprises generating on the computer a hysteresis of a process control loop device from evaluating on the computer a condition of a process control loop device within the process control loop.

10. The method of claim 9, wherein generating on the computer a hysteresis of a process control loop device from evaluating on the computer a condition of a process control loop device within the process control loop comprises calculating on the computer a hysteresis of a process control loop device as:


h=b+δ=avg(max Δi)

wherein:
b=a dead band of the process control loop device,
δ=a resolution of the process control loop device,
i=back calculation signal delay in process control loop module scans of the adaptive process control loop,
max Δ1=a maximum value of a back calculation signal.

11. The method of claim 9, wherein generating on the computer a hysteresis of a process control loop device from evaluating on the computer a condition of a process control loop device within the process control loop comprises calculating on the computer a hysteresis of a process control loop device as:


h=2Ampl(OUT)

wherein Ampl(OUT)=the oscillation amplitude on the process control output signal.

12. The method of claim 1, wherein generating on the computer a diagnostic index from each of the evaluations comprises generating on the computer a resolution of a process control loop device from evaluating on the computer a condition of a process control loop device within the process control loop.

13. The method of claim 12, wherein generating on the computer a resolution of a process control loop device from evaluating on the computer a condition of a process control loop device within the process control loop comprises calculating on the computer the resolution of a process control loop device as:


δ=h−b 

wherein:
b=a dead band of the process control loop device,
h=a hysteresis of the process control loop device.

14. The method of claim 12, wherein generating on the computer a resolution of a process control loop device from evaluating on the computer a condition of a process control loop device within the process control loop comprises calculating on the computer the resolution of a process control loop device as:




  δ
  =
  
    
      2
      ⁢
      
        Ampl
        ⁡
        
          (
          PV
          )
        
      
    
    
      K
      p
    
  



wherein:
Ampl(PV)=the oscillation amplitude on the process control input signal,
Kp=the process gain.

15. The method of claim 12, wherein generating on the computer a resolution of a process control loop device from evaluating on the computer a condition of a process control loop device within the process control loop comprises calculating on the computer a resolution of a process control loop device from an estimation of an oscillation period of the process control loop, wherein the estimation is expressed as:




  
    T
    osc
  
  =
  
    5
    ⁢
    
      
        T
        i
      
      ⁡
      
        (
        
          1
          +
          
            1
            
              
                K
                c
              
            
          
        
        )
      
    
    ⁢
    A
    ⁢
    
      
    
    ⁢
    
      e
      
        
          B
          ⁢
          
            
          
          ⁢
          δ
        
        
          δ
          +
          B
        
      
    
  



wherein:
A and B=heuristic parameter values estimated for a self-regulating process,
A is greater than B,
Ti=a controller reset time,
Kc=a controller gain.

16. The method of claim 1, wherein generating on the computer a diagnostic index from each of the evaluations comprises generating on the computer an adapted model quality index from evaluating on the computer a quality of the adapted model of the process control loop.

17. The method of claim 16, wherein generating on the computer an adapted model quality index from evaluating on the computer a quality of the adapted model of the process control loop comprises calculating on the computer a squared error of the adapted model as:



  
    
      SqError
      ⁡
      
        (
        k
        )
      
    
    =
    
      TotalSqError
      NumberofSamples
    
  




  
    wherein
    ⁢
    
      :
    
  




  
    
      
        
          SqError
          ⁡
          
            (
            k
            )
          
        
        
          SqError
          ⁡
          
            (
            
              k
              -
              1
            
            )
          
        
      
      <
      R
    
    ,
    
      

    
    ⁢
    
      
        SqError
        ⁡
        
          (
          k
          )
        
      
      <
      
        e
        max
      
    
  


SqError(k)=the error from a previous adaptation cycle of the process control loop,
Emax=the maximum acceptable adapted model error,
R=the ratio validating acceptance of the current adapted model.

18. The method of claim 1, wherein generating on the computer a diagnostic index from each of the evaluations comprises generating on the computer an oscillation index from evaluating on the computer a stability of the process control loop.

19. The method of claim 1, further comprising setting on the computer an alarm based on evaluating on the computer a condition of the process control loop from one or more of the diagnostic indices.

20. The method of claim 1, further comprising automatically adjusting on the computer an adapted model of the adaptive process control loop based on evaluating on the computer a condition of the process control loop from one or more of the diagnostic indices.

21. The method of claim 1, wherein automatically adjusting on the computer a process variable filter comprises calculating a process variable filter time constant as:




  
    
      τ
      f
    
    ⁢
    new
  
  =
  
    φ
    ⁢
    
      STDEV_CAP
      STDEV
    
    ⁢
    min
    ⁢
    
      {
      
        
          ατ
          d
        
        ,
        βτ
      
      }
    
  



wherein:
τd=an adapted model dead time,
τ=an adapted model time constant,
φ=a quality of the last adapted model,
STDEV=a total standard deviation of the process control loop,
STDEV_CAP=a capability standard deviation of the process control loop.

22. The method of claim 21, wherein automatically adjusting on the computer a process variable filter further comprises applying effective process variable filter values as:


τf=0.8τf old+0.2τf new.