Referring now to
Still further, maintenance systems, such as computers executing the AMS™ Suite: Intelligent Device Manager application 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 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 provided by, for example, CSI (an Emerson Process Management Company) 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. In some cases, outside consultants or service organizations may temporarily acquire or measure data pertaining to the equipment 20 and use this data to perform analyses for the equipment 20 to detect problems, poor performance or other issues effecting the equipment 20. In these cases, the computers running the analyses may not be connected to the rest of the system 10 via any communication line or may be connected only temporarily.
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 a as those provided by, for example, Liebert and ASCO or other companies to control and maintain the power generation and distribution equipment 25. Again, in many cases, outside consultants or service organizations may use service applications that temporarily acquire or measure data pertaining to the equipment 25 and use this data to perform analyses for the equipment 25 to detect problems, poor performance or other issues effecting the equipment 25. In these cases, the computers (such as the computer 26) running the analyses may not be connected to the rest of the system 10 via any communication line or may be connected only temporarily.
As illustrated in
Generally speaking, the abnormal situation prevention system 35 may communicate with abnormal operation detection systems (not shown in
The portion 50 of the process plant 10 illustrated in
In any event, one or more user interfaces or computers 72 and 74 (which may be any types of personal computers, workstations, etc.) accessible by plant personnel such as configuration engineers, process control operators, maintenance personnel, plant managers, supervisors, etc. are coupled to the process controllers 60 via a communication line or bus 76 which may be implemented using any desired hardwired or wireless communication structure, and using any desired or suitable communication protocol such as, for example, an Ethernet protocol. In addition, a database 78 may be connected to the communication bus 76 to operate as a data historian that collects and stores configuration information as well as on-line process variable data, parameter data, status data, and other data associated with the process controllers 60 and field devices 64 and 66 within the process plant 10. Thus, the database 78 may operate as a configuration database to store the current configuration, including process configuration modules, as well as control configuration information for the process control system 54 as downloaded to and stored within the process controllers 60 and the field devices 64 and 66. Likewise, the database 78 may store historical abnormal situation prevention data, including statistical data collected by the field devices 64 and 66 within the process plant 10, statistical data determined from process variables collected by the field devices 64 and 66, and other types of data that will be described below.
While the process controllers 60, I/O devices 68 and 70, and field devices 64 and 66 are typically located down within and distributed throughout the sometimes harsh plant environment, the workstations 72 and 74, and the database 78 are usually located in control rooms, maintenance rooms or other less harsh environments easily accessible by operators, maintenance personnel, etc.
Generally speaking, the process controllers 60 store and execute one or more controller applications that implement control strategies using a number of different, independently executed, control modules or blocks. The control modules may each be made up of what are commonly referred to as function blocks, wherein each function block is a part or a subroutine of an overall control routine and operates in conjunction with other function blocks (via communications called links) to implement process control loops within the process plant 10. As is well known, function blocks, which may be objects in an object-oriented programming protocol, typically perform one of an input function, such as that associated with a transmitter, a sensor or other process parameter measurement device, a control function, such as that associated with a control routine that performs PID, fuzzy logic, etc. control, or an output function, which controls the operation of some device, such as a valve, to perform some physical function within the process plant 10. Of course, hybrid and other types of complex function blocks exist, such as model predictive controllers (MPCs), optimizers, etc. It is to be understood that while the Fieldbus protocol and the DeltaV™ system protocol use control modules and function blocks designed and implemented in an object-oriented programming protocol, the control modules may be designed using any desired control programming scheme including, for example, sequential function blocks, ladder logic, etc., and are not limited to being designed using function blocks or any other particular programming technique.
As illustrated in
Each of one or more of the field devices 64 and 66 may include a memory (not shown) for storing routines such as routines for implementing statistical data collection pertaining to one or more process variables sensed by sensing device and/or routines for abnormal operation detection, which will be described below. Each of one or more of the field devices 64 and 66 may also include a processor (not shown) that executes routines such as routines for implementing statistical data collection and/or routines for abnormal operation detection. Statistical data collection and/or abnormal operation detection need not be implemented by software. Rather, one of ordinary skill in the art will recognize that such systems may be implemented by any combination of software, firmware, and/or hardware within one or more field devices and/or other devices.
As shown in
Generally speaking, the blocks 80 and 82 or sub-elements of these blocks, collect data, such a process variable data, from the device in which they are located and/or from other devices. Additionally, the blocks 80 and 82 or sub-elements of these blocks may process the variable data and perform an analysis on the data for any number of reasons. For example, the block 80, which is illustrated as being associated with a valve, may have a stuck valve detection routine which analyzes the valve process variable data to determine if the valve is in a stuck condition. In addition, the block 80 may include a set of one or more statistical process monitoring (SPM) blocks or units such as blocks SPM1-SPM4 which may collect process variable or other data within the valve and perform one or more statistical calculations on the collected data to determine, for example, a mean, a median, a standard deviation, a root-mean-square (RMS), a rate of change, a range, a minimum, a maximum, etc. of the collected data and/or to detect events such as drift, bias, noise, spikes, etc., in the collected data. The specific statistical data generated, nor the method in which it is generated is not critical. Thus, different types of statistical data can be generated in addition to, or instead of, the specific types described above. Additionally, a variety of techniques, including known techniques, can be used to generate such data. The term statistical process monitoring (SPM) block is used herein to describe functionality that performs statistical process monitoring on at least one process variable or other process parameter, and may be performed by any desired software, firmware or hardware within the device or even outside of a device for which data is collected. It will be understood that, because the SPMs are generally located in the devices where the device data is collected, the SPMs can acquire quantitatively more and qualitatively more accurate process variable data. As a result, the SPM blocks are generally capable of determining better statistical calculations with respect to the collected process variable data than a block located outside of the device in which the process variable data is collected.
It is to be understood that although the blocks 80 and 82 are shown to include SPM blocks in
It is to be understood that although the blocks 80 and 82 are shown to include SPM blocks in
The block 82 of
Overview of an Abnormal Operation Detection (AOD) System
Generally, the deviation detector 116 receives the first process variable Y and the predicted value YP, and determines whether the first process variable Y significantly deviates from the predicted value YP using a technique such as one of more of the techniques to be described below. If the deviation detector 116 determines that the first process variable Y significantly deviates from the predicted value YP, it may generate an indicator of significant deviation. The indicator of significant deviation may also be an indicator of abnormal operation.
Each of the first process variable Y, the second process variable X, and any other additional process variable that may be utilized by the AOD system 100 may be, for example, a process variable, a process variable that has been processed in some way, an output of an SPM block, etc. For instance, a process variable utilized by the AOD system 100 could be a measured process signal such as an output of a transmitter or some other field device. As another example, a process variable utilized by the AOD system 100 could be a measured process signal that has been filtered by a high pass filter, a low pass filter, a bandpass filter, etc. As yet another example, a process variable utilized by the AOD system 100 could be a measured process signal that has been trimmed to cap values of the signal to a maximum and/or minimum value. In still another example, a process variable utilized by the AOD system 100 could be an output of an SPM block, such as a mean signal, a standard deviation signal, etc. As a further example, a process variable utilized by the AOD system 100 could be some combination of the examples above. For instance, a process variable could be a mean signal or a standard deviation signal generated from a measured process signal that was filtered and/or trimmed. As still a further example, the process variable could be some mathematical combination of a plurality of process variables.
The AOD system 100 could be implemented wholly or partially in a field device. As just one example, the model 112 could be implemented in a field device 66 and the deviation detector 116 could be implemented in the controller 60 or some other device, such as a different field device. As another example, the model 112 could be implemented in the controller 60 and the deviation detector 116 could be implemented in a field device 66. As yet another example, the AOD system 100 could be implemented in a controller or in a field device interface module (e.g., the Rosemount 3420 device), or by both the controller and the field device interface module. In one particular implementation, the AOD system 100 could be implemented as a function block, such as a function block to be used in system that implements a Fieldbus protocol. Such a function block may or may not include one or more SPM blocks. In another implementation, the model 112 and the deviation detector 116 could be implemented as separate function blocks.
The AOD system 100 may be in communication with the abnormal situation prevention system 35 (
Additionally, the AOD system 100 may provide information to the abnormal situation prevention system 35 and/or other systems in the process plant. For example, deviation indicators generated by the deviation detector 116 could be provided to the abnormal situation prevention system 35 and/or the alert/alarm application 43 to notify an operator of the abnormal condition. As just one example, deviation indicators generated by the deviation detector 116 may include alerts or alarms that may be sent to the alert/alarm application 43. As yet another example, the AOD system 100 may provide Y and/or YP values to the abnormal situation prevention system 35 so that an operator can view the values, for instance, when a deviation has been detected.
Although the predicted value YP is generated by a model in the example AOD system 100 of
Detecting a Significant Deviation
Various example techniques that may be utilized by the deviation detector 116 to detect whether the first process variable Y significantly deviates from the predicted value YP will now be described.
One example technique that may be utilized by the deviation detector 116 includes detecting a trend that the first process variable Y is moving away from the predicted value YP. Such a trend may indicate, for example, a deterioration or wear of equipment, deterioration of a control technique, etc., and may indicate an abnormal situation is has occurred, is occurring, or will likely occur.
At a block 162, it may be determined whether a number A of consecutive difference values is greater than 0 and is increasing. For instance, it may be determined whether Zk>Zk−1>Zk−2> . . . >Zk−A−1>0, where Zk is a difference value corresponding to the kth value of Y. Generally, the value of A may be a positive integer greater than 2, and an appropriate value may depend on the particular implementation and the particular process variable being monitored. For instance, a relatively small number A may be appropriate for some implementations and/or process variables, while a much larger value of A may be more appropriate for other implementations and/or process variables. If at the block 162 it is determined that the A consecutive difference values are greater than 0 and are increasing, an indicator of a significant deviation may be generated at a block 166.
At a block 170, it may be determined whether a number B of consecutive difference values is less than 0 and is decreasing. For instance, it may be determined whether Zk<Zk−1<Zk−2< . . . <Zk−B−1<0. If at the block 170 it is determined that the B consecutive difference values are less than 0 and are decreasing, an indicator of a significant deviation may be generated at a block 174. Similar to the number A, the value of B may be a positive integer greater than 2, and an appropriate value may depend on the particular implementation and the particular process variable being monitored. Typically, the number B may be the same as the number A, but may also be different. The values of A and/or B may be configured using the configuration application 38 (
The indicators generated at the blocks 166 and 174 may optionally include an indicator of the direction of the trend. For example, the indicator generated at the block 166 may indicate a positive trend in the difference values, and the indicator generated at the block 166 may indicate a negative trend in the difference values.
One of ordinary skill in the art will recognize variations in the flow of
At a block 188, it may be determined whether a number A of consecutive absolute difference values is increasing. For instance, it may be determined whether Zk>Zk−1>Zk−2> . . . >Zk−A−1, where Zk is an absolute difference value (e.g., an absolute value of a difference between Y and a corresponding YP) corresponding to the kth value of Y. The value of A may be selected as described above with respect to
In yet another implementation, it may be determined whether, within a set of A difference values Zk−1, Zk−2, Zk−3, . . . , Zk−A−1, some subset of B difference values, where B<A, are increasing, increasing beyond some threshold, decreasing, decreasing beyond some threshold, etc. For example, it may be determined whether there is some subset of difference values Zk1, Zk2, Zk3, . . . , ZkB, where k1>k2>k3> . . . >kB, and where Zk1>Zk2>Zk3> . . . >ZkB. In still another implementation, a trend may be detected by analyzing rate of change (ROC) information, first derivative information, second derivative information, etc. For instance, if a particular number of consecutive ROC values, or if at least a minimum number of ROC values in a set of ROC values were above some threshold, this may indicate a positive trend. As another example, a line could be fit to a certain number of difference values, and its slope could be analyzed to determine if it exceeds some threshold.
Additionally, different techniques such as the techniques described above could be combined. For example, determining whether there is a trend could comprise determining if there are certain number of consecutively increasing values, and also determining whether the slope of a line that best fits the values exceeds a threshold. As another example, it may be determined within a set of A difference values there is some subset of B difference values Zk1, Zk2, Zk3, . . . , ZkB, where B<A, where k1>k2>k3> . . . >kB, where Zk1>Zk2>Zk3> . . . >ZkB; in addition, a trend may be indicated if at least some of the ROC values corresponding to these difference values exceed some threshold. One of ordinary skill in the art will recognize many other variations.
Detecting Cycling
Another example technique that may be utilized by the deviation detector 116 includes detecting a cycling of the first process variable Y about the predicted value YP. Such cycling may indicate, for example, temperature changes or other recurring changes in the environment, differences between operators and/or operator techniques, regular rotation of machines, a poorly tuned control loop, etc., and may indicate an abnormal situation has occurred, is occurring, or will likely occur. In some applications, if the first process variable Y is cycling about the predicted value YP, but the magnitude of the difference between Y and YP is not relatively large, Y may nevertheless be considered as significantly deviating from YP.
At a block 212, estimates of the power spectral density (PSD) of the difference values may be generated. Any number of techniques, including known techniques, may be used to generate the estimates of PSD. For example, nonparametric estimators such as periodogram estimators, Blackman-Tukey estimators, minimum variance estimators, etc., may be utilized. As another example, parametric estimators such as those based on time series models may be utilized. As yet another example, a plurality of band-pass filters tuned to respective frequencies could be utilized.
Then, at a block 216, it may be determined whether any peaks in the estimated PSD exceed a threshold. The threshold may be chosen in a variety of ways. For example, the threshold may be based on an average PSD of the difference signal. For instance, the threshold could be chosen to be some percentage of the average PSD. The threshold percentage could be selected based on the particular application. As another example, the threshold may be based on the magnitude of the PSD at one or more other frequencies and/or one or more other peaks. For instance, the threshold could be chosen to be some percentage of the next highest peak, some percentage of the lowest peak, etc. Additionally, the threshold could be chosen based on a maximum PSD value. In determining whether any peaks exceed a threshold, the PSD at zero frequency (and optionally other frequencies near zero) may be ignored and/or the difference values (e.g., YP−Y or Y−YP) may be processed to remove a DC component prior to generating the PSD estimates. Other factors optionally may be utilized to determine whether any peaks exist in the estimated PSD. As just one example, the peaks first may be identified based on analyzing the widths of potential peaks. For instance, a feature in the PSD that is spread relatively widely over several frequencies may not be considered a peak. Parameters, such as thresholds, for detecting whether peaks exist in the estimated PSD, may be configurable using the configuration application 38, for example.
The deviation detector 116 may comprise a cycling detection system that implements the method 200 of
The difference signal may be provided to the frequency domain analyzer 248, which generates a plurality of signals indicative of the spectral content of the difference signal at different frequencies. The signals generated by the frequency domain analyzer 248 may be provided to a peak detector 252. The peak detector 252 generally may operate to detect energy peaks and to determine if one or more of any detected peaks exceeds a threshold. Additionally, the peak detector 252 may, if it determines that one or more peaks have exceeded the threshold, generate an indicator of a significant deviation. Referring to
In one implementation, the frequency domain analyzer 248 may comprise a power spectral density (PSD) generator that generates a plurality of PSD estimates corresponding to different frequencies. The plurality of PSD estimates may or may not include a PSD estimate corresponding to frequency zero. Optionally, the PSD estimate generator may generate additional information as well such as an average PSD. The PSD estimate generator may comprise any of a variety of PSD estimators, including known PSD estimators such as those described with respect to
In this implementation, the plurality of PSD estimates, and optionally other information generated by the PSD estimate generator 248 such as the average PSD, may be provided to a peak detector 252. The peak detector 252 generally may operate to detect PSD peaks and to determine if one or more of any detected peaks exceeds a threshold.
The PSD generator may be implemented using a variety of techniques. Optionally, the frequency domain analyzer 248 may comprise a Fourier transform generator such as a fast Fourier transform (FFT) generator. The frequency domain analyzer 248 could also comprise an envelope generator that smoothes the generated Fourier transform or that fits a spectral envelope to the Fourier transform using any of a variety of techniques, such as known techniques like linear predictive coding, cepstrum, discrete cepstrum, utilizing a non-linear frequency scale, etc.
In yet another implementation, the frequency domain analyzer 248 may comprise a plurality of bandpass filters tuned to different frequencies.
Many variations to the example cycling detection system 240 will become apparent to those of ordinary skill in the art. As just one example, a signal processing device may be utilized between the difference generator 244 and the frequency domain analyzer 248, the signal processing device configured to remove or reduce a DC component from the difference signal. Such a signal processing device could comprise, for instance, a subtractor that subtracts a mean value from the difference signal, a high pass filter, etc.
Statistical-Based Thresholds
Yet another example technique that may be utilized by the deviation detector 116 includes comparing the first process variable Y to the predicted value YP and to one or more thresholds generated based on statistical data computed by one or more SPM blocks. As described previously, SPM blocks may generate statistical information regarding process variables analyzed by the SPM blocks. Such statistical information may comprise, for example, means, standard deviations, variances, rates of change, range, etc., and such statistical information may be used to generate thresholds. Additionally, SPM blocks may store nominal values of statistical data. Such nominal values may be computed by the SPM blocks (i.e., during a normal operation of the process), programmed into the SPM blocks during manufacture and/or during operation of the process, etc. Of course, some block or device different from the SPM block could receive statistical data from the SPM block, generate nominal values of the statistical data, and then store the nominal value in a block or device different from the SPM block. Utilizing thresholds generated based on statistical data received from an SPM block may optionally eliminate the need for thresholds to be set by an operator, thus reducing the amount of operator configuration needed to use the system.
As just one example, a standard deviation 0 may be used to generate one or more thresholds. For instance, one or more of the following thresholds could be generated: σ above a predicted value, σ below the predicted value, 2σ above the predicted value, 2σ below the predicted value, 3σ above the predicted value, 3σ below the predicted value, etc. In some implementations, the standard deviation σ may be received from a SPM block that monitors the first process variable Y, for example. The standard deviation σ received from the SPM block could be a nominal standard deviation stored in the SPM block or in another block or device. In other implementations (e.g., in implementations in which a standard deviation a of a first process variable is known to vary based on the first process variable and/or at least a second process variable), the standard deviation σ generated by the SPM block could be used to train a model of the standard deviation σ. As just one specific example, the model could model the standard deviation σ of the first process variable as a function of the mean of the first process variable or the mean of a second process variable. Such a model may comprise any of a variety of models suitable for use in a process plant such as a regression model, a high fidelity model, a neural network, a fuzzy logic-based model, etc. In one particular implementation, a model may be utilized such as described in U.S. patent application Ser. No. ______ (Attorney Docket No. 30203/41600), entitled “METHOD AND SYSTEM FOR DETECTING ABNORMAL OPERATION IN A PROCESS PLANT,” filed on same day as the present application. For example, the model may include multiple regression models corresponding to different regions of operation.
In some implementations, the threshold generator 264 may be omitted. For example, if only a +σ threshold is desired, a received standard deviation σ may be used as the threshold.
The comparator 268 receives the thresholds generated by the threshold generator 264, and also receives the first process variable Y and the predicted value YP. Generally, the comparator 268 determines whether values of Y fall within one or more regions defined by the predicted value YP and the thresholds received from the threshold generator 264. More specifically, for a given threshold +M, the comparator 268 determines whether values of Y fall within the region Y>YP+M. As another specific example, if +3σ and −3σ thresholds are utilized, the comparator 268 may determine whether values of Y fall within the region Y>YP+3σ, and whether values of Y fall within the region Y<YP−3σ. As another example, the comparator 268 may determine whether values of Y fall within a region Y>YP, and may determiner whether values of Y fall within a region Y<YP.
The comparator 268 may also determine whether a particular number of consecutive values of Y fall within a region defined by the predicted value YP and the thresholds received from the threshold generator 264. As a specific example, if +2σ −2σ thresholds are utilized, the comparator 268 may determine whether a number A of consecutive values of Y fall within the region Y>YP+2σ, and whether a number B of consecutive values of Y fall within the region Y<YP−2σ. The number A may be the same as the number B, or the numbers A and B may be different. Optionally, the numbers A and/or B may be configurable. For example, an operator may be able to configure the numbers A and B separately, or the operator may be able to configure the number A, but the number B is constrained to equal the number B.
As just one example, a standard deviation a may be used to generate one or more thresholds. For instance, one or more of the following thresholds could be generated: +σ, −σ, +2σ, −2σ, +3σ, −3σ, etc. In one specific example, the following thresholds are generated: +σ, −σ, +2σ, −2σ, +3σ, −3σ. In another specific example, the following thresholds are generated: +σ, −σ, +2σ, −2σ. In yet another specific example, the following thresholds are generated: +σ, −σ, +3σ, −3σ. In yet another specific example, the following thresholds are generated: +2σ, −2σ, +3σ, −3σ. In still other specific examples, +σ and −σ are generated, +2σ and −2σ are generated, or +3σ and −3σ are generated.
In the example in which one or more of +σ, −σ, +2σ, −2σ, +3σ, −3σ, etc., thresholds are generated, the comparator 268 may also determine whether values of Y fall within one or more of the following regions: Y>YP, Y<YP, Y>YP+σ, Y<YP−σ, Y>YP+2σ, Y<YP−2σ, Y>YP+3σ, Y<YP−3σ, etc. In this example, the comparator 268 may further determine whether certain consecutive numbers of values of Y fall within the one or more regions. As a specific example, the comparator 268 may determine whether a number C of consecutive values fall within the region Y>YP, and whether C consecutive values fall within the region Y<YP. As another example, the comparator 268 may determine whether a number D of consecutive values fall within the region Y>YP+σ, and whether D consecutive values fall within the region Y<YP−σ. Similarly, the comparator 268 may determine whether a number E of consecutive values fall within the region Y>YP+2σ, and whether E consecutive values fall within the region Y<YP−2σ. Also, the comparator 268 may determine whether a number F of consecutive values fall within the region Y>YP+3σ, and whether F consecutive values fall within the region Y<YP−3σ. Table 1 provides example values of the numbers C, D, E and F that may be utilized. Of course different values could also be used. For example, the number C could be chosen as something other than 8, such as 5, 6, 7, 9, 10, 11, 12, etc. Similarly, values of D, E, and F other than those in Table 1 could be utilized.
Generally, selection of appropriate numbers may depend on the specific implementation, the specific process being monitored, etc., and the numbers typically will be chosen so that C>D>E>F. Further, different numbers for positive and negative thresholds could be used. As just one example, the comparator 268 may determine whether a number D1 of consecutive values fall within the region Y>YP+σ, and whether a number D2 consecutive values fall within the region Y<YP−σ, where D1 and D2 could be different numbers.
In one variation, the comparator 268 may determine whether C consecutive values fall within the region Y>YP, Y<YP, whether D consecutive values fall within the region Y>YP+σ, Y<YP−σ, whether E consecutive values fall within the region Y>YP+2σ, Y<YP−2σ, and whether F consecutive values fall within the region Y>YP+3σ, Y<YP−3σ.
If the comparator 268 determines that one or more consecutive values of Y fall within a particular region, it may then generate an indicator of a significant deviation. For instance, in the example in which the comparator 268 determines whether E consecutive values of Y fall within the region Y>YP+2σ, and if it determines that E consecutive values of Y fall within the region Y>YP+2σ, then the comparator 268 may generate an indicator of a significant deviation. As another example, if the comparator 268 is configured to determine whether F consecutive values of Y fall within the region Y<YP−3σ, and if it determines that F consecutive values of Y fall within the region Y<YP−3σ, then the comparator 268 may generate an indicator of a significant deviation.
To configure a system such as the system 260, an operator may be permitted to select regions and respective numbers of consecutive values of the first process variable Y that must fall within that region in order to indicate a significant deviation. One way in which the operator may select regions is to permit the operator to select statistical-based thresholds. In one particular example, the operator is permitted to select a plurality of pairs of values [m1, n1], [m2, n2], [m3, n3], [m4, n4], . . . , where m1, m2, m3, . . . , are real numbers indicative of statistical-based thresholds and n1, n2, n3, . . . , are integers specifying corresponding consecutive numbers of values of Y in the corresponding regions that indicate a significant deviation. For instance, the operator may select m1=3 and n1=1 to indicate thresholds of +3σ and −3σ, and to indicate that only one value of Y need exceed the threshold in order to generate a significant deviation indicator. In other words, selecting m1=3 and n1=1 would configure the system 260 to generate a significant deviation indicator if one or more values of Y fall in the region Y<YP−3σ or in the region Y>YP+3σ. Alternatively, the selection of m1=3 and n1=1 may indicate a threshold of +3σ, and indicate that only one value of Y need exceed the threshold in order to generate a significant deviation indicator. In other words, selecting m1=3 and n1=1 would configure the system 260 to generate a significant deviation indicator if one or more values of Y fall in the region Y>YP+3σ. In this implementation, the operator would need to select m2=−3 and n2=1 to configure the system 260 to generate a significant deviation indicator if one or more values of Y fall in the region Y<YP−3σ.
As another example, if the operator selects a value of m1=0 and n1=8, this could configure the system 260 to generate a significant deviation indicator if eight consecutive values of Y fall in the region Y<YP or if eight consecutive values of Y fall in the region Y>YP. As still another example, the operator may select m1=2.5 and n1=2 to indicate thresholds of +2.5σ and −2.5σ, and to indicate that two consecutive values of Y need must exceed the threshold in order to generate a significant deviation indicator. In other words, selecting m1=2.5 and n1=2 would configure the system 260 to generate a significant deviation indicator if two consecutive values of Y fall in the region Y<YP−2.5σ or if two consecutive values fall in the region Y>YP+2.5σ. Alternatively, the selection of m1=2.5 and n1=2 may indicate a threshold of +2.5σ, and indicate that only two consecutive values of Y must exceed the threshold in order to generate a significant deviation indicator. In other words, selecting m1=2.5 and n1=2 would configure the system 260 to generate a significant deviation indicator if two consecutive values of Y fall in the region Y>YP+2.5σ. In this implementation, the operator would need to select m2=−2.5 and n2=2 to configure the system 260 to generate a significant deviation indicator if two consecutive values of Y fall in the region Y<YP−2.5σ.
As yet another example, if the operator would like to select the thresholds −3σ and +3σ, with only one value in each region to cause generation of a significant deviation, the thresholds −2σ and +2σ, with two consecutive values exceeding YP+2σ or two consecutive values less than YP−2σ needed to cause generation of a significant deviation, the thresholds −σ and +σ, with four consecutive values exceeding YP+σ or four consecutive values less than YP−σ needed to cause generation of a significant deviation, and eight consecutive values exceeding YP or eight consecutive values less than YP needed to cause generation of a significant deviation, the operator could select the following: [m1=3, n1=1], [m2=2, n2=2], [m3=1, n3=4], and [m4=0, n4=8].
In at least some of the examples described above, the system 260 may generate a significant deviation indicator if a specified number of consecutive values fall within a region. In other implementations, the system 260 may generate a significant deviation indicator if each value of a specified number of consecutive values falls within one of a plurality of regions. As just one example, the system 260 may generate a significant deviation indicator if each value of N consecutive values of Y fall in either of the regions Y<YP−2σ or Y>YP+2σ, where N is some positive integer.
Although the above-described examples involved standard deviation-based thresholds and regions, the thresholds/regions could be based on other statistics such as mean, variance, range, etc. Additionally, the type of statistics used could be configurable by the operator. The statistic to be used could selected for each region/threshold, for a pair of regions/thresholds (e.g., Y<YP−3σ and Y>YP+3σ), or for all of the regions/thresholds.
Although the above-described examples involved determining whether a consecutive number of values fall within a region, other implementations may determine whether some number of values, which may be non-consecutive, fall within the region. For example, it may be determined whether at least a first number of values, out of a second number of consecutive values, are within the region, where the second number is greater than the first number.
Parameters, such as the pairs of values [m1, n1], [m2, n2], [m3, n3], [m4, n4], utilized by the system 260 may be configurable using the configuration application 38, for example.
Sequential Testing
Still another example technique that may be utilized by the deviation detector 116 (
Generally speaking, the flow 300 may be implemented for each value of Y that is received by the deviation detector 116. The flow may begin at a block 304, at which one or more variables that are to be used in the method 300 may be initialized. At a block 308, a value of Y and a value of YP may be received. Then, at a block 312, a difference value may be generated. For example, a value YP−Y or a value Y−YP may be generated.
At a block 316, the difference value may be processed to facilitate a determination of whether the process is in a normal state or an abnormal state. For instance, the difference value may be mathematically combined with zero, one or more previously processed difference values. A specific example of a technique for processing the difference value will be described subsequently. At a block 320, the processed difference value may be analyzed to determine whether the process is in a normal state, an abnormal state, or an indeterminate state. This may comprise comparing the processed difference value to one or more thresholds. Examples of thresholds that may be utilized will be described subsequently.
At a block 324, if it is determined that the process is in a normal state, the flow may proceed back to the block 304. Otherwise the flow may proceed to a block 328. If the flow proceeds back to the block 304, a variable that stores information related to previously processed difference values may be cleared, for example.
At the block 328, if it is determined that the process is in an abnormal state, the flow may proceed to a block 332. Otherwise, if it is determined that the process is in an indeterminate state, the flow may proceed back to the block 308 to receive the next Y and YP values. At the block 332, an indicator of an abnormal condition may be generated. Alternatively, an indicator of an abnormal condition may be generated if it is determined that the process is in an abnormal state some particular number of consecutive times. As yet another example, the indicator may be generated if it is determined that the process is in an abnormal state some particular number of times during some particular length of time.
The system 350 may include a difference generator 354, a difference processor 358, and a comparator 362. The difference generator 354 may receive the first process variable Y and the predicted value YP and generate a difference signal (e.g., Y−YP). Referring to
The difference signal may be provided to the difference processor 358. The difference processor 358 generally processes the difference values to facilitate a determination of whether the process is in a normal state or an abnormal state. For instance, the difference processor 358 may mathematically combine a current difference value with zero, one or more previously processed difference values. Additionally, the difference processor 358 may receive a signal from the comparator 362 that indicates whether one or more variables utilized by the difference processor 358 should be cleared. The difference processor 358 may implement the blocks 304 and 316, for example.
The comparator 362 receives the processed difference values from the difference processor 358, analyzes the processed difference values, and determines whether the process is in a normal state, an abnormal state, or an indeterminate state. This may comprise comparing the processed difference value to one or more thresholds. Examples of thresholds that may be utilized with be described subsequently. For example, a received processed difference value may be analyzed to determine whether it is less than a threshold A or if it is greater than a threshold B. If it is less than the threshold A, this may indicate that the process is in a normal state. If the received processed difference value is less than the threshold A, the comparator 362 may signal the difference processor 358 to clear the one or more variables it utilizes.
If the comparator 362 determines that the received processed difference value is greater than the threshold B, this may indicate that the process is in an abnormal state. Thus, the comparator 362 may generate a significant deviation indicator. Additionally, the comparator 362 may signal the difference processor 358 to clear the one or more variables it utilizes.
If the comparator 362 determines that the received processed difference value is greater than or equal to the threshold A and is less than or equal to the threshold B, this may indicate that the process is in an indeterminate state.
The comparator 362 may implement the blocks 320, 324, 328 and 332.
At a block 416, the difference value generated at the block 412 is processed to generate a value ΛNEW according to the equation:
where σ2 is a variance of Z and θ1 is a parameter that will be described in more detail subsequently.
The variance σ2 can be determined ahead of time by, for example, calculating it based on a plurality of values of Y and YP. For example, if a plurality of values Yi, for i=1 to n, are used to train a model of Y, the variance of Z can be calculated as:
where YP,i is the predicted value, generated by the model, of Yi. As another example, a plurality of values Yi, and YP,i, for i=1 to n, could be collected during a time period in which the process is known or thought to be stable.
In other implementations (e.g., in implementations in which a variance σ2 of a first process variable Y is known to vary based on the first process variable Y and/or at least a second process variable X), the variance σ2 could be modeled as a function of Y or a second process variable X, for example. As just one specific example, a model could model the variance σ2 of Z as a function of the mean of the first process variable Y or the mean of a second process variable X. Such a model may comprise any of a variety of models suitable for use in a process plant such as a regression model, a high fidelity model, a neural network, a fuzzy logic-based model, etc. In one particular implementation, a model may be utilized such as described in U.S. patent application Ser. No. ______ (Attorney Docket No. 30203/41600), entitled “METHOD AND SYSTEM FOR DETECTING ABNORMAL OPERATION IN A PROCESS PLANT,” filed on the same day as the present application. For example, the model may include multiple regression models corresponding to different regions of operation.
With regard to the parameter θ1, generally, as this parameter is made larger, the method becomes less sensitive. Thus, if the parameter θ1 is made larger, the method will generally take longer to detect that a problem is likely to occur, is occurring, will occur, etc., but the method will also be less susceptible to false alarms. Similarly, as the parameter θ1 is made smaller, it may take less time to detect that a problem is likely to occur, is occurring, will occur, etc., but the method will also likely be more susceptible to false alarms.
The parameter θ1 can be selected in a variety of ways. For example, an operator could choose a suitable value. Also, the parameter θ1 could be based on the predicted value YP. For example, it could be selected as some percentage of YP, such as 1% of YP, 2% of YP, 3% of YP, 4% of YP, 5% of YP, etc. Additionally, the value of the parameter θ1 could be based on statistics of Z. For example, the value of the parameter θ1 could be based on a mean of Z, a standard deviation of Z, a variance of Z, a range of Z, etc. As a specific example, the value of the parameter θ1 could be selected Cσ, where C is some real number. In this example, the equation 1 can be rewritten as:
Suitable values of C may depend on the particular implementation and/or the particular process being monitored. Possible values of C may include 3 or 6, for example.
Referring again to
If at the block 420, it is determined that the value ΛNEW is not less than the threshold B, the flow may proceed to a block 428, at which it is determined whether the value ΛNEW is greater than a threshold A. If the value ΛNEW is greater than the threshold A, it is determined that the process is in an abnormal state at a block 432. Then, a significant deviation indicator is generated at a block 436. Next, the flow proceeds back to the block 404, where the variable ΛOLD is cleared to zero. Selection of the threshold A will be described subsequently.
If at the block 428, it is determined that the value ΛNEW is not greater than the threshold A, the flow may proceed to a block 440, at which it is determined that the state is indeterminate. Then, at a block 444, the variable ΛOLD is set to the value ΛNEW determined at the block 416. Next, the flow proceeds back to the block 408 at which the next values of Y and YP are received.
The threshold A may chosen as:
where α is a false alarm probability and β is a missed alarm probability. Similarly, the threshold B may be chosen as:
With regard to the false alarm probability α and the missed alarm probability β, it is generally preferable to favor missed alarms over false alarms when performing diagnostics for industrial processes. For instance, if an alarm is missed by the deviation detector 116 (
With the typical situation in which missed alarms are preferable to false alarms, reasonable values for the false alarm probability α may be, for example, 0.00005, 0.0001, 0.00015, 0.0002, 0.00025, etc., and reasonable values for the missed alarm probability β may be, for example, 0.05, 0.06, 0.07, 0.08,. 0.09, 0.1, 0.11, etc. Of course, other values of the false alarm probability α and the missed alarm probability β may be utilized.
A system such as the system 350 of
Examples of Implementing AOD Systems in One or More Process Plant Devices
As described previously, AOD systems such as those described herein, may be implemented in a variety of devices within a process plant.
In operation, the analog input function block 914 may provide a process variable signal to the SPM block 916. In turn, the SPM block 916 may generate one or more statistical signals based on the process variable signal, and may provide the statistical signals to the abnormal operation detection function block 918. Similarly, the analog input function block 922 may provide a process variable signal to the SPM block 924. In turn, the SPM block 924 may generate one or more statistical signals based on the process variable signal, and may provide the statistical signals to the abnormal operation detection function block 918 via the Fieldbus segment 912.
In another implementation, the SPM blocks 916 and 924 may be incorporated within the abnormal operation detection function block 918. In this implementation, the analog input function block 914 may provide its process variable signal to the abnormal operation detection function block 918. Similarly, the analog input function block 922 may provide its process variable signal to the abnormal operation detection function block 918 via the Fieldbus segment 912. Of course, as described above, SPM blocks may not always be utilized in connection with abnormal operation detection function block 918, and thus may be omitted in some implementations.
As is known, some field devices are capable of making sensing of two or more process variables. Such a field device may be capable of implementing all of blocks 914, 916, 918, 922, and 924.
The interface device 950 may communicate with other devices such as a host workstation 958 via a hardwired connection, such as a 2-wire, a 3-wire, a 4-wire, etc. connection, to provide SPM data, or data developed therefrom, such as alerts, data plots, etc. to those devices for viewing by a user. Additionally, as illustrated in
One of ordinary skill in the art will recognize that the example systems and methods described above may be modified in various ways. For example, blocks may be omitted, reordered, or combined, additional blocks may be added, etc. The AOD systems, models, deviation detectors, logic blocks, system blocks, method blocks, etc., described herein may be implemented using any combination of hardware, firmware, and software. Thus, systems and techniques described herein may be implemented in a standard multi-purpose processor or using specifically designed hardware or firmware as desired. When implemented in software, the software 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 or flash memory of a computer, processor, I/O device, field device, interface device, etc. Likewise, the software may be delivered to a user or a process control system via any known or desired delivery method including, for example, on a computer readable disk or other transportable computer storage mechanism or via communication media. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency, infrared and other wireless media. Thus, the software may be delivered to a user or a process control system via a communication channel such as a telephone line, the Internet, etc. (which are viewed as being the same as or interchangeable with providing such software via a transportable storage medium).
Thus, while the present invention has been described with reference to specific examples, which are intended to be illustrative only and not to be limiting of the invention, it will be apparent to those of ordinary skill in the art that changes, additions or deletions may be made to the disclosed embodiments without departing from the spirit and scope of the invention.
This application is related to the following commonly-owned, co-pending patent application: U.S. patent application Ser. No. ______ (Attorney Docket No. 30203/41614A), entitled “METHODS AND SYSTEMS FOR DETECTING DEVIATION OF A PROCESS VARIABLE FROM EXPECTED VALUES,” filed on the same day as the present application. The above-referenced patent application is hereby incorporated by reference herein, in its entirety.