Index generation and embedded fusion for controller performance monitoring

A system calculates a first ratio of a prediction error variance of a model of a controller error, and the lesser of a variance of a prediction error of a naïve predictor model and a variance of a controller error. The system rates a process controller as a function of the first ratio. The system also calculates a second ratio of a variance of the controller error and a variance of the prediction error of the naïve predictor model. The system rates the process controller a function of the second ratio. The system uses the first ratio, second ratio, other ratios, and discrete indicators in determining an embedded fusion for loop performance monitoring in the process controller and for displaying a value as a measure of the loop performance.

TECHNICAL FIELD

The present disclosure relates to index generation and embedded fusion for controller performance monitoring, and in an embodiment, but not by way of limitation, generation of a predictability index and a fluctuation index for controller performance monitoring, and an embedded fusion for loop performance monitoring.

BACKGROUND

Common heating, ventilation, and air conditioning (HVAC) control projects (in particular, setting up the controllers, and in most cases, tuning proportional gain and integral time—so called PI constants of controller) are characterized by: 1) little time for manual tuning, 2) installers that are not control engineers, 3) seasonal differences—loops tuned during one season could perform poorly during another season, 4) non-linear plants causing poor control at some operating points, 5) and significant disturbances in the system. As a result, control loops are often not properly tuned for some set of operating points. User comfort is consequently often violated, energy is wasted, and/or actuators are worn out. Because of this, there is need to monitor control after installation and provide information, alerts, and prioritization of instances in which the control quality has deteriorated or when the actuators do not behave in a standard way (e.g., stiction, backlash, etc.).

DETAILED DESCRIPTION

As noted above, controller performance monitoring normally involves methods to assess the quality of control, or in a broader sense to assess loop performance, including disturbances acting on the loop or potential actuator malfunctions (e.g., stiction-static friction in the actuators). The ‘quality of control’ assessment includes detection of too aggressive control (there is significant overshoot, which in the case of an HVAC system causes energy wastage), sluggish control (the response of the control is too slow), an offset (i.e., not meeting the setpoint, causing discomfort in case of HVAC temperature control), or oscillations (causing energy wastage and wearing out of actuators).

To address these issues, in an embodiment, indicators (indices) are defined, which are used to detect undesired behavior of the loop. Automatic detection of this undesired behavior has a direct impact on the maintenance efficiency. The isolation and elimination of the undesired behavior reduces energy consumption, prevents the actuators from wearing out, and/or improves the comfort. For maintenance purposes, it is helpful to present the overall performance of the loop at a given time instant in an easily comprehensible way, i.e., to represent all the indices by one number. This quantity can be used for quick comparison between different loops and for prioritizing the loops for maintenance. The evaluation of the quantity, as well as the evaluation of the indices, should be done at the lowest level (controller level) to prevent extensive data transfers and storage.

Predictability Index

An embodiment generates a Predictability Index that provides a way to automatically detect poor control (i.e., high predictability of the controller error) on the controller level. This is done with low memory requirements. Connected with an automated tuning mechanism, this embodiment saves time of the service engineer and ensures quality of control even when operation conditions change. When connected with supervisory software, this embodiment helps to prioritize loops for maintenance.

The main idea of the control assessment using Predictability Index is that the controller error (the difference between setpoint and process variable) in the ideal case should be white noise, which means that the controller error should not be predictable. When the controller error is predictable, the prediction could be incorporated into the control in order to improve the control. In prior systems, a ratio of minimum error variance and actual error variance (taken as mean square error) is formed in order to assess the control quality. The minimum error variance is computed as the prediction error variance of a model of controller error (AutoRegressive (AR) or AutoRegressive Moving Average (ARMA) model). The actual error variance computed by mean squared error incorporates the offset of the error.

In contrast, in an embodiment of the present disclosure, the embodiment focuses directly (and only) on the predictability of the controller error, not on the offset part. In situations when the controller output is not saturated, the model of the controller error (AR or ARMA model) is formed and its “quality” (measured by prediction error variance) is compared to two dummy models and their prediction error variances. The first dummy model is the naïve predictor, and the second dummy model takes the mean as the prediction (so that its prediction error variance is in fact the controller error variance). From those two dummy models, the one with lower prediction error variance is selected for comparison. Thus the ratio is formed as prediction error variance of the model of controller error divided by the minimum of naïve predictor error variance and controller error variance. The ratio is subtracted from 1, so that poor control has a Predictability Index close to one. In another embodiment, the system can be set up so that poor control has a Predictability Index close to zero. This embodiment detects regular patterns in controller error, that is, ramps and oscillations. It intentionally does not include offset, so as to be able to distinguish those poor control scenarios.

In the Predictability Index embodiment, the only inputs to the algorithm are a process variable, setpoint (e.g., room temperature (process variable) and its setpoint), and the controller output (e.g., heating valve command). The output is the normalized Predictability Index. The threshold for an unacceptable value of the index (e.g., 90th percentile estimate) could be set from historical data, or through an online estimate using quantile regression. The Predictability Index presents a way to assess the control in real time, in an embedded environment (i.e., directly in the controller). The algorithm itself is recursive and simple, so that the memory requirements and computational power needed are low. This control assessment represents a simple indicator of control quality. The control assessment can be used for triggering an alarm if the threshold is exceeded, for a comparison between controllers (prioritization of loops for maintenance), or as a trigger for an automated tuning mechanism.

FIG. 1is a flowchart of example operations and features of generating a Predictability Index.FIG. 1includes a number of process blocks105-135. Though arranged serially in the example ofFIG. 1, other examples may reorder the blocks, omit one or more blocks, and/or execute two or more blocks in parallel using multiple processors or a single processor organized as two or more virtual machines or sub-processors. Moreover, still other examples can implement the blocks as one or more specific interconnected hardware or integrated circuit modules with related control and data signals communicated between and through the modules. Thus, any process flow is applicable to software, firmware, hardware, and hybrid implementations.

Referring toFIG. 1, at105, a model of a controller error is formed. At110, a prediction error variance of the model of the controller error is calculated. At115, a variance of a prediction error of a naïve predictor model is calculated. At120, a variance of the controller error is calculated. At125, the variance of the prediction error of the naïve predictor model is compared with the variance of the controller error. At130, a ratio is calculated of the prediction error variance of the model of the controller error and the lesser of the variance of the prediction error of the naïve predictor model and the variance of the controller error. At135, the process controller is rated as a function of the ratio.

FIG. 2is a block diagram illustrating additional details and features of the Predictability Index embodiment. Block205illustrates that the prediction error variance of the model of controller error can be represented as follows:

σmv2=1N-1⁢∑k=1N⁢(y⁡(k)-y^⁡(k))2Equation⁢⁢No.⁢1
In Equation No. 1, N is a number of process variable samples, y(k) is a controller error value at sample k (the controller error value is determined by subtracting a process variable from a setpoint), and ŷ(k) is the controller error value predicted by the model of the controller error at sample k.

Block210illustrates that the prediction error variance of the model of controller error at sample k can be computed recursively as follows:
σmv2(k)=λ·σmv2(k−1)+(1−λ)·(y(k)−ŷ(k))2Equation No. 2
In Equation No. 2, λ is a forgetting factor of an exponential forgetting, and σmv2(k−1) is the prediction error variance of the model of controller error at sample k−1.

Block215illustrates that the variance of the prediction error of the naïve predictor model can be represented by:

σN⁢⁢P2=1N-1⁢∑k=1N⁢(y⁡(k)-y⁡(k-1))2Equation⁢⁢No.⁢3
In Equation No. 3, N is a number of process variable samples, y(k) is a controller error value at sample k (the controller error value is determined by subtracting a process variable from a setpoint), and y(k−1) is a controller error value at sample k−1

Block220illustrates that the variance of the prediction error of the naïve predictor model at sample k can be calculated recursively as follows:
σNP2(k)=λ·σNP2(k−1)+(1−λ)·(y(k)−y(k−1))2Equation No. 4
In Equation No. 4, λ is a forgetting factor of an exponential forgetting, and σNP2(k−1) is the variance of the prediction error of the naïve predictor model at sample k−1.

Block225illustrates that the variance of the controller error can be represented as follows:

σy2=var⁡(y)=1N-1⁢∑k=1N⁢(y⁡(k)-μy)2Equation⁢⁢No.⁢5
In Equation No. 5, N is a number of process variable samples, y(k) is a controller error value at sample k (the controller error value is determined by subtracting a process variable from a set point), and μyis an arithmetic mean value of the controller error,

Block230illustrates that the variance of the controller error at sample k can be computed recursively as follows:
σy2(k)=λ·σy2(k−1)+(1−λ)·(y(k)−μy(k))2Equation No. 6
In Equation No. 6, λ is a forgetting factor of an exponential forgetting, σy2(k−1) is the variance of the controller error at sample k−1, and μy(k) is an arithmetic mean value at sample k computed recursively as follows:
μy(k)=λ·μy(k−1)+(1−λ)·y(k).

Block240illustrates that the ratio calculated in step130can be subtracted from the value of 1 so that a poor performance value for the process controller has a value close to 1. Block235illustrates that the process controller can be coupled to a heating, ventilating, and air conditioning system.

Fluctuation Index

The Fluctuation Index embodiment provides a way to automatically detect fluctuations (high frequency quasi-periodic behavior with low amplitudes) in controller output, which can cause extensive wear of the actuators (e.g., heating and cooling valves in case of HVAC temperature control). The Fluctuation Index embodiment provides alerts and/or prioritization, so it improves efficiency of maintenance. While connected to an automated tuning mechanism, the embodiment prevents undesired behavior. In both cases, the embodiment prolongs the lifetime of actuators and cuts the costs of maintenance.

Prior systems use simple measures of controller output (e.g., strokes per day, monitoring the events of controller output reversals, or other heuristic measures), where the threshold for undesired behavior is often hard to determine. The Fluctuation Index embodiment provides a normalized index. It is formed as the ratio between controller error variance and naïve predictor error variance (in fact the variation of difference between successive values of controller error). The ratio can be subtracted from 1, so that the undesired situation has a value of the Fluctuation Index close to one. In another embodiment, the system can be set up so that undesired situation has a Fluctuation Index close to zero.

Similar to the Predictability Index, the only inputs to the algorithm are a process variable and setpoint (e.g., room temperature and its setpoint) and the controller output (e.g., heating valve command) The output is the normalized Fluctuation Index. The threshold for an unacceptable value of the index (e.g., 90th percentile estimate) could be set from historical data, or through an online estimate using quantile regression. The Fluctuation Index provides a way to assess the control in real time, in an embedded environment (directly in the controller). The algorithm itself is recursive and simple, so that the memory requirements and computational power needed are low. This control assessment provides a simple indicator, which can be used for triggering an alarm if the threshold is exceeded, for comparison between controllers (prioritization of loops for maintenance), or as a trigger to an automated tuning mechanism.

FIG. 3is a flowchart of example operations and features of generating a Fluctuation Index.FIG. 3includes a number of process blocks310-340. Though arranged serially in the example ofFIG. 3, other examples may reorder the blocks, omit one or more blocks, and/or execute two or more blocks in parallel using multiple processors or a single processor organized as two or more virtual machines or sub-processors. Moreover, still other examples can implement the blocks as one or more specific interconnected hardware or integrated circuit modules with related control and data signals communicated between and through the modules. Thus, any process flow is applicable to software, firmware, hardware, and hybrid implementations.

Referring toFIG. 3, at310, a variance of a prediction error of a naïve predictor model is calculated. At320, a variance of a controller error is calculated. At330, a ratio is calculated of the variance of the controller error and the variance of the prediction error of the naïve predictor model. At340, the process controller is rated as a function of the ratio.

FIG. 4is a block diagram illustrating additional details and features of the Fluctuation Index embodiment. Block410illustrates that variance of the prediction error of the naïve predictor model can be calculated as follows:

σN⁢⁢P2=1N-1⁢∑k=1N⁢(y⁡(k)-y⁡(k-1))2Equation⁢⁢No.⁢7
In Equation No. 7, N is a number of process variable samples, y(k) is a controller error value at sample k (the controller error value is determined by subtracting a process variable from a setpoint), and y(k−1) is a controller error value at sample k−1.

Block420illustrates that the variance of the prediction error of the naïve predictor model at sample k can be calculated recursively as follows:
σNP2(k)=λ·σNP2(k−1)+(1−λ)·(y(k)y(k−1))2Equation No. 8
In Equation No. 8, λ is a forgetting factor of an exponential forgetting, and σNP2, (k−1) is the variance of the prediction error of the naïve predictor model at sample k−1.

Block430illustrates that the variance of the controller error can be represented as follows:

σy2=var⁡(y)=1N-1⁢∑k=1N⁢(y⁡(k)-μy)2Equation⁢⁢No.⁢9
In Equation No. 9, N is a number of process variable samples, y(k) is a controller error value at sample k (the controller error value is determined by subtracting a process variable from a setpoint), and μyis an arithmetic mean value of the controller error,

Block440illustrates that the variance of the controller error at sample k can be computed recursively as follows:
σy2(k)=λ·σy2(k−1)+(1−λ)·(y(k)−μy(k))2Equation No. 10
In Equation No. 10, λ is a forgetting factor of an exponential forgetting, σy2(k−1) is the variance of the controller error at sample k−1, and μy(k) is an arithmetic mean value at sample k computed recursively as follows:
μy(k)=λ·μy(k−1)+(1−λ)·y(k).

Block450illustrates that the ratio calculated in step330can be subtracted from a value of 1 such that a poor performance value for the process controller has a value close to 1. Block460illustrates that the process controller can be coupled to a heating, ventilating, and air conditioning system.

Embedded Fusion

The embedded fusion embodiment provides a scheme and logic used for fusion of indices' data (e.g., Predictability and Fluctuation Indices) in order to represent the overall performance of the loop as one value. A block diagram of a system for determining embedded fusion is illustrated inFIG. 5. The embodiment can work with offline data510or online data550. The indices in general can be represented by continuous values (normalized or not normalized) or discrete values—e.g., binary indicators of oscillation or binary indicators of the cause of oscillation for poor tuning, stiction, or disturbance. Following the proposed scheme, continuous values of performance indices560are transformed to percentile values580using a cumulative distribution function estimate540. The cumulative distribution function can be estimated using historical data during offline pre-processing of data520(it can contain data from various controllers to provide overall benchmarking), or estimated online using quantile regression530(taking into account data only from particular controller-baselining). The cumulative distribution function estimate540can be simplified using representation by piecewise linear function. The discrete values of the performance indices are transformed into the range of percentiles (that is, into the interval between 0 and 100)—e.g., values 0 and 100 are assigned to the binary indicators of oscillation or binary indicators of the cause of oscillation (570).

After this step, the percentile for each continuous index is obtained (560,580) and the transformed value for each discrete index is obtained (570). Those percentiles together with transformed discrete indices are inputs to internal logic590of the fusion. In the internal logic590after the evaluation of discrete indices considering the internal or external cause, the maximum value of all indices (both continuous and transformed discrete) is taken as the overall loop performance measure. Following this simple logic, a value of loop performance measure higher than the threshold (e.g., 90 for 90thpercentile threshold) means unacceptable behavior of the loop-oscillation due to internal causes or exceeding the threshold for at least one performance index.

The proposed scheme and logic can be used for performance monitoring on the controller level, with arbitrary performance indices. The algorithm uses estimates of cumulative distribution functions obtained from offline analysis (which has to be performed once, before the launch) or from online estimation. The scheme and internal logic is simple, so the algorithm has low overhead and can be easily embedded into controller or performed online. The overall loop performance indicator can be sent along with selected sampling time to upper layers, where supervisory software operates (e.g., IQeye by Trend Controls), or it can be displayed in the software connected to the controller (e.g., System Engineering Tool by Trend Controls) to provide a quick reference for service engineers and maintenance.

FIG. 6is a flowchart of an example embodiment of a process for determining an embedded fusion.FIG. 6includes a number of process blocks610-680. Though arranged serially in the example ofFIG. 6, other examples may reorder the blocks, omit one or more blocks, and/or execute two or more blocks in parallel using multiple processors or a single processor organized as two or more virtual machines or sub-processors. Moreover, still other examples can implement the blocks as one or more specific interconnected hardware or integrated circuit modules with related control and data signals communicated between and through the modules. Thus, any process flow is applicable to software, firmware, hardware, and hybrid implementations.

Referring toFIG. 6, at610, continuous performance indices relating to a process controller are received into a computer processor. At620, discrete performance indices (e.g., binary oscillation detection and diagnosis values) relating to the process controller are received into the computer processor. At630, the continuous performance indices are transformed to percentile values using cumulative distribution function estimates. The cumulative distribution function estimates include a benchmarking of offline historical data of performance indices or a baselining of online data of the performance indices using a quantile regression. As part of internal logic of the fusion590, at640, in response to the process controller being tuned, the system indicates that the loop performance is acceptable. At650, in response to an oscillation due to poor tuning of the process controller or an oscillation due to hardware stiction, the system indicates that the loop performance is not acceptable (loop performance measure equals to 100). At660, in response to an oscillation due to a disturbance, the system indicates that the loop performance is acceptable. At670, in response to the process controller not being tuned, to no oscillation due to poor tuning of the process controller, to no oscillation due to hardware stiction, and to no oscillation due to the disturbance, the system indicates a loop performance measure to be a maximum of the continuous performance indices percentile values. At680, the system provides diagnostic information about the cause of the loop performance measure value (e.g., cause of oscillation or performance index having a maximum percentile value).

In the embodiment shown inFIG. 7, a hardware and operating environment is provided that is applicable to any of the servers and/or remote clients shown in the other Figures.

As shown inFIG. 7, one embodiment of the hardware and operating environment includes a general purpose computing device in the form of a computer20(e.g., a personal computer, workstation, controller, or server), including one or more processing units21, a system memory22, and a system bus23that operatively couples various system components including the system memory22to the processing unit21. There may be only one or there may be more than one processing unit21, such that the processor of computer20comprises a single central-processing unit (CPU), or a plurality of processing units, commonly referred to as a multiprocessor or parallel-processor environment. A multiprocessor system can include cloud computing environments. In various embodiments, computer20is a conventional computer, a distributed computer, or any other type of computer.

The system bus23can be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The system memory can also be referred to as simply the memory, and, in some embodiments, includes read-only memory (ROM)24and random-access memory (RAM)25. A basic input/output system (BIOS) program26, containing the basic routines that help to transfer information between elements within the computer20, such as during start-up, may be stored in ROM24. The computer20further includes a hard disk drive27for reading from and writing to a hard disk, not shown, a magnetic disk drive28for reading from or writing to a removable magnetic disk29, and an optical disk drive30for reading from or writing to a removable optical disk31such as a CD ROM or other optical media.

The hard disk drive27, magnetic disk drive28, and optical disk drive30couple with a hard disk drive interface32, a magnetic disk drive interface33, and an optical disk drive interface34, respectively. The drives and their associated computer-readable media provide non volatile storage of computer-readable instructions, data structures, program modules and other data for the computer20. It should be appreciated by those skilled in the art that any type of computer-readable media which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, random access memories (RAMs), read only memories (ROMs), redundant arrays of independent disks (e.g., RAID storage devices) and the like, can be used in the exemplary operating environment.

A plurality of program modules can be stored on the hard disk, magnetic disk29, optical disk31, ROM24, or RAM25, including an operating system35, one or more application programs36, other program modules37, and program data38. A plug in containing a security transmission engine for the present invention can be resident on any one or number of these computer-readable media.

A user may enter commands and information into computer20through input devices such as a keyboard40and pointing device42. Other input devices (not shown) can include a microphone, joystick, game pad, satellite dish, scanner, or the like. These other input devices are often connected to the processing unit21through a serial port interface46that is coupled to the system bus23, but can be connected by other interfaces, such as a parallel port, game port, or a universal serial bus (USB). A monitor47or other type of display device can also be connected to the system bus23via an interface, such as a video adapter48. The monitor40can display a graphical user interface for the user. In addition to the monitor40, computers typically include other peripheral output devices (not shown), such as speakers and printers.

The computer20may operate in a networked environment using logical connections to one or more remote computers or servers, such as remote computer49. These logical connections are achieved by a communication device coupled to or a part of the computer20; the invention is not limited to a particular type of communications device. The remote computer49can be another computer, a server, a router, a network PC, a client, a peer device or other common network node, and typically includes many or all of the elements described above I/O relative to the computer20, although only a memory storage device50has been illustrated. The logical connections depicted inFIG. 7include a local area network (LAN)51and/or a wide area network (WAN)52. Such networking environments are commonplace in office networks, enterprise-wide computer networks, intranets and the internet, which are all types of networks.

When used in a LAN-networking environment, the computer20is connected to the LAN51through a network interface or adapter53, which is one type of communications device. In some embodiments, when used in a WAN-networking environment, the computer20typically includes a modem54(another type of communications device) or any other type of communications device, e.g., a wireless transceiver, for establishing communications over the wide-area network52, such as the internet. The modem54, which may be internal or external, is connected to the system bus23via the serial port interface46. In a networked environment, program modules depicted relative to the computer20can be stored in the remote memory storage device50of remote computer, or server49. It is appreciated that the network connections shown are exemplary and other means of, and communications devices for, establishing a communications link between the computers may be used including hybrid fiber-coax connections, T1-T3 lines, DSL's, OC-3 and/or OC-12, TCP/IP, microwave, wireless application protocol, and any other electronic media through any suitable switches, routers, outlets and power lines, as the same are known and understood by one of ordinary skill in the art.

It should be understood that there exist implementations of other variations and modifications of the invention and its various aspects, as may be readily apparent, for example, to those of ordinary skill in the art, and that the invention is not limited by specific embodiments described herein. Features and embodiments described above may be combined with each other in different combinations. It is therefore contemplated to cover any and all modifications, variations, combinations or equivalents that fall within the scope of the present invention.