CA2234452C - An expert system for testing industrial processes and determining sensor status - Google Patents

An expert system for testing industrial processes and determining sensor status Download PDF

Info

Publication number
CA2234452C
CA2234452C CA002234452A CA2234452A CA2234452C CA 2234452 C CA2234452 C CA 2234452C CA 002234452 A CA002234452 A CA 002234452A CA 2234452 A CA2234452 A CA 2234452A CA 2234452 C CA2234452 C CA 2234452C
Authority
CA
Canada
Prior art keywords
sensor
sprt
display
function
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CA002234452A
Other languages
French (fr)
Other versions
CA2234452A1 (en
Inventor
Kenneth C. Gross
Ralph M. Singer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Arch Development Corp
Original Assignee
Arch Development Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Arch Development Corp filed Critical Arch Development Corp
Publication of CA2234452A1 publication Critical patent/CA2234452A1/en
Application granted granted Critical
Publication of CA2234452C publication Critical patent/CA2234452C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/4184Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by fault tolerance, reliability of production system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34048Fourier transformation, analysis, fft
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37325Multisensor integration, fusion, redundant
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37326Automatic configuration of multisensor, adaptive, active sensing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S706/00Data processing: artificial intelligence
    • Y10S706/902Application using ai with detail of the ai system
    • Y10S706/903Control
    • Y10S706/906Process plant

Abstract

A method and system (110) for monitoring both an industrial process and a sensor (104). The method and system include determining a minimum number of sensor pairs needed to test the industrial process as we ll as the sensor (104) for evaluating the state of operation of both. After obtaining two signals associated with one physical variable, a difference function is obtained by determining the arithmetic difference between the pair of signals over time. A frequency domain transformation is made of the difference function to obtain Fourier modes describing a composite function. A residual function is obtained by subtracting the composite function from the difference function and the residual function (free of nonwhite noise) is analyzed by a statistical probability ratio test.

Description

An Expert System for Testing Industrial Processes and Determining Sensor Status The present invention is concerned generally with an expert system and method for reliably monitoring industrial processes using a set of sensors. Mare particularly, the invention is concerned with an expert system and method far establishing a network of industrial sensors for parallel monitaring of industrial devices. 'The expert system includes a network of highly sensitive pattern recognition modules for automated parameter surveillance using a sequential probability ratio test.
Conventional parameter-surveillance schemes are sensitive only to gross changes in the mean value of a process, or to large steps or spikes that exceed some threshold limit check. These conventional methods suffer from either large numbers of false alarms (if thresholds are set too close to normal operating levels) or a large number of missed (or delayed) alarms (if the thresholds are set too expansively).
Moreover, most conventional methods cannot perceive the onset of a process disturbance or sensor deviation which gives rise to a signal below the threshold level far an alarm condition.
In another conventional monitoring method, the Sequential Probability Ratio Test ("SPRT") has found wide application as a sign;~l validation tool in the nuclear reactor industry. Two features of the SPRT technique make it attractive for parameter surveillance and fault detection: ( 1 ) early annunciation of the onset of a disturbance in noisy process variables and (2) the SPR'r technique has user--specifiable false-alarm and missed-alarm probabilities. One important drawback of the SPRT technique drat has limited its adaptation to a broader range of applications is the fact that its mathematical formalism is founded upon an assumption that the signals it is monitoring are purely Gaussian, independent (white noise) random variables.
Accordingly, the invention seeks to provide an improved method and system for continuous evaluation and/or modification of industrial processes and/or sensors monitoring the processes.
Further, the invention seeks to provide an improved method and system for automatically configuring a set of sensors to monitor an industrial process.
Further still, the invention seeks to provide a novel method and system for statistically processing industrial process signals having virtually any form of noise signal.
Still further the invention seeks to provide an improved method and system employing identical pairs of sensors for obtaining redundant readings of physical processes from an industrial process.
Still fizr~ther, the invention seeks to provide a novel method and system utilizing a plurality of signal pairs to generate difference functions to be analyzed for alarm information.
Yet further, the inve:ntian seeks to provide an improved method and system including a plurality of single sensors for each industrial device or process for providing a real signal characteristic of a process and further providing a predicted sensor signal allowing formation of a difference signal between the predicted and real signal for subsequent analysis.
Moreover, the invention seeks to provide a novel method and system wherein difference functions are farmed from pairs of sensor signals operating in parallel to monitor a plurality of like industrial devices.
Further still, the invention seeks to provide an improved method and system utilizing variable and multiple pairs of sensors for determining both sensor degradation and industrial process status.
Still further the invention seeks to provide a novel method and system having a plurality of sensors analytically configured by an expert system to establish the minimum array of coupled sensors needed to monitor each sensor as well as the industrial process or devices.
An expert system has been developed that continuously monitors digitized signals from a set of sensors which are measuring a variety of physical variables (e_g_, temperature, ' pressure, radiation level, vibration level, etc.). The expert system employs a sensitive pattern-recognition technique, the sequential probability ratio test ("SPRT") technique for early annunciation of sensor operability degradation. A SPRT module can monitor output from two identical sensors and determine if the statistical quality of the noise associated with either signal begins to change. In applications involving two or more industrial devices operated in parallel and equipped with identical sensors, a SPRT module applied to pairs of sensors monitoring the same physical process on the respective devices will provide sensitive annunciation of any physical disturbance affecting one of the devices. If each industrial device had only one sensor, it would not be possible for the SPRT technique to distinguish between equipment degradation and degradation of the sensor itself. In this application the primary benefit of the SPRT method would derive from its very early annunciation of the onset of the disturbance. Having this valuable information, additional diagnosis can then be performed to check the performance and calibration status of the sensor and to identify the root-cause of the signal anomaly.
For cases where each industrial device is equipped with multiple, redundant sensors, one can apply SPRT modules to pairs of sensors on each individual device for sensor-operability verification. In this case the expert system provides not only early annunciation of the onset of a disturbance, but also can distinguish between equipment degradation and degradation of its sensors. Moreover, when the expert system determines that the cause of the discrepant signals is due to a degraded sensor, it can identify the specific sensor that has failed.
In a simple generic application involving a single industrial device equipped with triply-redundant sensors for measurement of two physical variables, the expert system first identifies the minimum unique set of signal pairs that will be needed for the network of interacting SPRT modules. Further, the system can operate using two industrial devices working in parallel (e.g. jet engines, propeller drive motors on a ship, turbomachinery in an industrial plant, etc.). Again the expert system identifies the pairwise sensor combinations that it uses subsequently in building the conditional branching hierarchy for the SPRT-module configuration.
The invention in one broad aspect provides a method of testing both an industrial process and a sensor for determining fault conditions therein, comprising the steps of determining, using computer means, a configuration of a minimum number of sensor pairs needed to test: the industrial process and the sensor for state of operation, operating at least a first and second sensor to form at least one sensor pair to redundantly detect at least one physical variable of the industrial process to provide a first signal from the first sensor and a second signal from the second sensor, each signal being characteristic of the at least one physical variable, obtaining a difference function characteristic of the arithmetic difference pairwise between the first signal and the second signal at each of a plurality of different times of sensing the at least one physical variable and obtaining a frequency domain transformation of the first difference function to procure Fourier coefficients corresponding to Fourier frequencies. A composite function is generated over tune domain using the Fourier coefficients and a residual function is obtained over time by determining the arithmetic difference between the difference function and the composite function, the residual function being substantially free of serially correlated noise. The method includes operating on the residual funetican using the computer means for performing a statistical analysis technique to determine whether an alarm condition is present in at least one of the industrial process anc:l the sensor, the residual function including white noise characteristics of an uncorrelated function of reduced skewness relative to the difference function and being input to the statistical analysis technique, the at least one sensor pair providing alarm information to an operator of the industrial process allowing modification of at least one of the industrial process and the at least first and second sensor when an alarm condition is detected.
Another aspect pertains to a system for automatically configuring sensors for testing both an industrial process and a sensor for determining a fault condition therein comprising computer means for configuring a minimum number of sensor pair signals c1 needed to characterize the industrial process and the sensor state of operation and at least a first sensor to detect at least one physical variable of the industrial process to provide a first signal from the first sensor. First means is provided for generating a second sensor signal for comparison with the first signal from the first sensor and second means is provided for determining a difference function characteristic of the arithmetic difference pairwise between the first signal and the second signal at each of a plurality of different times of sensing the one physical variable. Third means obtain a residual function over time by means for determining the arithmetic difference between the difference function and the composite function, the residual function including white noise characteristics of an uncorrelated signal of reduced skewness. Fourth means operates on the residual function, the fourth means including the computer mean.5 for executing a computer program for performing a statistical analysis technique and for determining whether an alarm condition is present in at least one of the industrial process and the sensor and with the second means, the third means and the fourth means cooperatively providing a function comprised of the white noise characteristics of unc:orrelated signal of reduced skewness relative to the difference function as an input to the statistical analysis technique. Means are provided information allowing modification of at least one of the industrial process and the sensor when an alarm condition is detected.
Other aspects, features, alternative forms and advantages of the present invention will be readily apparent from the following description of the preferred embodiments thereof, taken in conjunction with the accompanying drawings described below.
Brief Description of the Drawings FIGURF? 1 illustrates the specified output of a pump's power output over time.
FIGURF? 2 shows a I~ourier composite curve generated using the pump spectral output of FIG. 1.
FIGURE 3 illustrates a residual function characteristic of the difference between FIGS. 1 and 2.
FIGURE 4A shows a periodogram of the spectral data of FIG. 1 and FIG. 4B
shows a periodogram of the residual function of FIG. 3.
FIGURE SA illustrates a noise histogram for the pump power output of FIC'~_ 1 and FIG. 5B illustrates a noise histogram for the residual function of FIG. 3.
FIGURE; 6A shows an unmodified delayed neutron detector signal from a first sensor and FIG. 6B is for a seccynd neutron sensor, FIG 6C shows a difference function characteristic of thc; difference between data in FIG. 6A and 6B and FIG. 6D
shows the data output from an SPRT analysis with alarm conditions indicated by the diamond symbols.
FIGURE 7A illustrates an unmodified delayed neutron detector signal from a first sensor and FI(J. 7B is for a second neutron sensor, FIG. 7C shows a difference function for the difference between the data of FIG. 7A and 7B and FIG. 7D
shows the result of using the :instant invention to modify the difference function to provide data free of serially correlated noise to the SPItT analysis to generate alarm information and with alarm conditions indicated by the diamond signals.
FIGURES 8A and B illustrate a schematic functional flow diagram of the invention with FIG. 8A showing a first phase of the method of the invention and FIG. 8B
shows the application of the method of the invention.
FIGURE 9 illustrate<a ;:~ plurality of sensors monitoring two physical variables of a single industrial device..
FIGURE 10 illustrates triply-redundant sensors monitoring two physical variables for two industrial devices.
FIGURE 11 illustrates an overall system structure employing the sensor array of FIG. 10.
FIGURE 12 illustrates triply-redundant sensors monitoring one physical variable for three industrial devices.
FIGURE 13 illustrates a logic diagram and conditional branching structure for an equipment surveillance module.
FIGURF; 14 illustrates a system of industrial devices and development of SPRT
modules for monitoring the system.
Detailed Description of Preferred Embodiments In a method of the invention signals from industrial process sensors can be used to annunciate, modify or terminate degrading or anomalous processes. The sensor signals are manipulated to provide input data t~~ a statistical analysis technique, such as a process entitled Sequential Probability Ratio 'Test ( "SPRT"). Details of this process and the invention therein are disclosed in LJ.S. patent No. 5,223,207 which may be referred to for further details. A further illustration of the use of SPRT for analysis of data bases is set forth in U.S. patents Nos. 5,410,422 and 5,459,675 of the assignee which also may be referred to for further details. The procedures followed in a preferred method are shown generally in FIG. 8 anal also in FI(_~. 12. In performing such a preferred analysis of the sensor signals, a dual transformation method is performed, insofar as it entails both a frequency-domain transformation of the original time-series data and a subsequent time-domain transformation of the resultant data. The data stream that passes through the dual frequency-domain, time-domain transformation is then processed with the SPRT
procedure, which uses a log-likelihood ratio test. A computer software package, Appendix A, is also attached hereto covering the SPRT procedure and its implementation in the context of, and modified by, the instant invention.
In one preferred embodiment, successive data observations are performed on a discrete process Y, which represents a comparison of the stochastic components of physical processes monitored by a sensor, and most preferably pairs of sensors. In practice, the Y
function is obtained by simply differencing the digitized signals from two respective sensors.
Let yk represent a sample from the process Y at time tk _ During normal operation with an undegraded physical system and with sensors that are functioning within specifications the yk should be normally distributed with mean of zero. Note that if the two signals being compared do not have the same nominal mean values (due, for example, to differences in calibration), then the input signals will be pre-normalized to the same nominal mean values during initial operation.
In performing the monitoring of industrial processes, the system's purpose is to declare a first system, a second system, etc., degraded if the drift in Y is sufficiently large that the sequence of observations appears to be distributed about a mean +M or -M, where M
is our pre-assigned system-disturbance magnitude. We would like to devise a quantitative framework that enables us to decide between two hypotheses, namely:
HI : Y is drawn from a Gaussian probability distribution function ("PDF") with mean M and variance aa.
H2 : Y is drawn from a Gaussian PDF with mean 0 and variance a2.

We will suppose that if Hl or Fiz is true, we wish to decide for Hl or H2 with probability ( 1 - (3) or ( 1 - oc), respectively, where a and (3 represent the error (misidentification) probabilities.
From the conventional, well known theory of Wald, the test depends on the likelihood ° ratio 1 ", where The probability of observed sequence y1, y2..., Yn given Hl true (1) The probability of observed sequence y1, y2..., Yn given HZ true After "n" observations have been made, the sequential probability ratio is just the product of the probability ratios for each step:
In = (PR,)~(PR2)~...~(PRn) (2) or f(YtIHt) ( la =
f(yyHZ) i=i where f(y~H) is the distribution of the random variable y.
Wald's theory operates as follows: Continue sampling as long as A<In<B. Stop sampling and decide Hl as soon as In>_B, and stop sampling and decide H2 as soon as In<_A.
The acceptance thresholds are related to the error (misidentification) probabilities by the following expressions:
A = 1 Ra, and B = 1 a (4) The (user specified) value of a is the probability of accepting Hl when HZ is true (false alarm probability). ~i is the probability of accepting H2 when HI is true (missed alarm probability).

If we can assume that the random variable yk is normally distributed, then the likelihood that Hl is true i.e. mean M, variance a2) is given by:
n n n L.(yl, Y2~.., Yn IHl) _ ~,l?l')ni2~n e~ [- 2~2 ~~Yk-2~Yk M+~ Mz/J (5) k~l k=1 k=1 Similarly for H2 (mean 0, variance a2):
L(Ym Ya~.., Yn IHa) _ ~2~~n~z~" exp ~- 2a2 ~yk k31 The ratio of (5) and (6) gives the likelihood ratio In n In = exp [- 2 a 2 ~ M~ 2yk) J
k~I
Combining (4) and (7), and taking natural logs gives n In 1 ~a < 2 ~ z ~ M(M-2yk) <1n (1 /~ (g) a k-1 Our sequential sampling and decision strategy can be concisely represented as:
If In -< In ~ , Accept H2 1-cr If In 1 ~a <~ <]n 1 a ~ Continue Sampling ( 10) And if In>ln 1 '~, Accept Hl (11) a Following Wald's sequential analysis, it is conventional that a decision test based on the log likelihood ratio has an optimal property; that is, for given probabilities oc and (3 there is no other procedure with at least as low error probabilities or expected risk and with shorter length average sampling time.
A primary limitation that has heretofore precluded the applicability of Wald-type binary hypothesis tests for sensor and equipment surveillance strategies lies in the primary assumption upon which Wald's theory is predicated; i.e., that the original process Y is strictly "white" noise, independently-distributed random data. White noise is thus well known to be a signal which is uncorrelated. Such white noise can, for example, include Gaussian noise. It is, however, very rare to fmd physical process variables associated with operating machinery that are not contaminated with serially-correlated, deterministic noise components. Serially correlated noise components are conventionally known to be signal data whose successive ' time point values are dependent on one another. Noise components include, for example, auto-correlated (also known as serially correlated) noise and Markov dependent noise.
Auto-correlated noise is a known form of noise wherein pairs of correlation coe~cients describe the time series correlation of various data signal values along the time series of data.
That is, the data U 1, U2, . . ., Un have correlation coefficients (U l, U2), (U2, U3)> . . -> (Un-l, Un) and likewise have correlation coefficients (U1, U3) (I12, U4), etc. If these data are auto-correlated, at least some of the coefficients are non-zero. Markov dependent noise, on the other hand, is a very special form of correlation between past and future data signals.
Rather, given the value of Uk, the values of Un, n > k, do not depend on the values of Uj where j < k. This implies the correlation pairs (Ilj, Un), given the value Uk, are all zero. If, however, the present value is imprecise, then the correlation coefficients may be nonzero.
One form of this invention can overcome this limitation to conventional surveillance strategies by integrating the Wald sequential-test approach with a new dual transformation technique. This symbiotic combination of frequency-domain transformations and time-domain transformations produces a tractable solution to a particularly difficult problem that - has plagued signal-processing specialists for many years.
In one preferred embodiment of the method shown in detail in FIG. 8, serially-correlated data signals from an industrial process can be rendered amenable to the SPRT
testing methodology described hereinbefore. This is preferably done by performing a frequency-domain transformation of the original difference function Y. A
particularly . preferred method of such a frequency transformation is accomplished by generating a Fourier series using a set of highest "1" number of modes. Other procedures for rendering - the data amenable to SPRT methods includes, for example, auto regressive techniques, which can accomplish substantially similar results described herein for Fourier analysis. In the preferred approach of Fourier analysis to deterniine the "1" highest modes see FIG. 8A):
N
_ CIO
Yt 2 + ~ (am CoS COm t -i- bm Slll COmt) ( 12) m-1 where ao/2 is the mean value of the series, am and bm are the Fourier coefficients corresponding to the Fourier frequency ce~m, and N is the total number of observations.
Using the Fourier coefficients, we next generate a composite function, Xt, using the values of the largest harmonics identified in the Fourier transformation of Yt. The following numerical approximation to the Fourier transform is useful in determining the Fourier coefficients am and bm. Let x~ be the value of Xt at the jth time increment.
Then assuming 2 ~t periodicity and letting wm = 2~m/N, the approximation to the Fourier transform yields:
2 N_~ 2 N.~
an, _ - ~ X~ COS Ctlm J bm = N ~ X~ Slll COm ~ ( 13) i'o ,i-o for 0 <m <N/2. Furthermore, the power spectral density ("PSD") function for the signal is given by lm where a2m + bZm 1n, = N
( 14) To keep the signal bandwidth as narrow as possible without distorting the PSD, no spectral windows or smoothing are used in our implementation of the frequency-domain transformation. In analysis of a pumping system of the EBR-II reactor of Argonne National Laboratory, the Fourier modes corresponding to the eight highest 1=" provide the amplitudes and frequencies contained in Xt. In our investigations for the particular pumping system data taken, the highest eight 1n, modes were found to give an accurate reconstruction of Xt while reducing most of the serial correlation for the physical variables studied. In other industrial processes, the analysis could result in more or fewer modes being needed to accurately construct the functional behavior of a composite curve. Therefore, the number of modes used is a variable which is iterated to minimize the degree of nonwhite noise for any given application. As noted in FIG. 8A a variety of noise tests are applied in order to remove serially correlated noise.
The reconstruction of XL uses the general form of Eqn. (12), where the coefficients and frequencies employed are those associated with the eight highest PSD
values. This yields a Fourier composite curve (see end of flowchart in FIG. 8A) with essentially the same correlation structure and the same mean as Yt. Finally, we generate a discrete residual function Rt by differencing corresponding values of Yt and ~. This residual function, which is substantially devoid of serially correlated contamination, is then processed with the SPRT
technique described hereinbefore.
In a specific example application of the above referenced methodology, certain variables were monitored from the Argonne National Laboratory reactor EBR-II.
In particular, EBR-II reactor coolant pumps (RCPs) and delayed neutron (DN) monitoring systems were tested continuously to demonstrate the power and utility of the invention. All data used in this investigation were recorded during full-power, steady state operation at $BR-II. The data have been digitized at a 2-per-second sampling rate using 2'4 (16,384) observations for each signal of interest.
FIGS. 1-3 illustrate data associated with the preferred spectral filtering approach as applied to the EBR-II primary pump power signal, which measures the power (in kW) needed to operate the pump. The basic procedure of FIG. 8 was then followed in the analysis. FIG. 1 shows 136 minutes of the original signal as it was digitized at the 2-Hz sampling rate. FIG. 2 shows a Fourier composite constructed from the eight most prominent harmonics identified in the original signal. The residual function, obtained by subtracting the Fourier composite curve from the raw data, is shown in FIG. 3.
Periodograms of the raw signal and the residual function have been computed and are plotted in FIG. 4.
Note the presence of eight depressions in the periodogram of the residual function in FIG. 4B, corresponding to the most prominent periodicities in the original, unfiltered data.

Histograms computed from the raw signal and the residual function are plotted in FIG. 5.
For each histogram shown we have superimposed a Gaussian curve (solid line) computed from a purely Gaussian distribution having the same mean and variance.
Comparison of -FIG. 5A and 5B provide a clear demonstration of the effectiveness of the spectral filtering in reducing asymmetry in the histogram. Quantitatively, this decreased asymmetry is reflected in a decrease in the skewness (or third moment of the noise) from 0.15 (raw signal) to 0.10 (residual function).
It should be noted here that selective spectral filtering, which we have designed to reduce the consequences of serial correlation in our sequential testing scheme, does not require that the degree of nonnormality in the data will also be reduced. For many of the signals we have investigated at EBR-II, the reduction in serial correlation is, however, accompanied by a reduction in the absolute value of the skewness for the residual function.
To quantitatively evaluate the improvement in whiteness effected by the spectral filtering method, we employ the conventional Fisher Kappa white noise test.
For each time series we compute the Fisher Kappa statistic from the defining equation N _1 N ~1(~k) l~-) (15) k=1 where 1(c~k) is the PSD function see Eq. 14) at discrete frequencies ce~k, and 1(L) signifies the largest PSD ordinate identified in the stationary time series.
The Kappa statistic is the ratio of the largest PSD ordinate for the signal to the average ordinate for a PSD computed from a signal contaminated with pure white noise. For EBR-II the power signal for the pump used in the present example has a tc of 1940 and 68.7 for the raw signal and the residual function, respectively. Thus, we can say that the spectral filtering procedure has reduced the degree of nonwhiteness in the signal by a factor of 28.
Strictly speaking, the residual function is still not a pure white noise process. The 95%
critical value for Kappa for a time series with 214 observations is 12.6. This means that only for computed Kappa statistics lower than 12.6 could we accept the null hypothesis that the signal is contaminated by pure white noise. The fact that our residual function is not purely white is reasonable on a physical basis because the complex interplay of mechanisms that influence the stochastic components of a physical process would not be expected to have a purely white correlation structure. The important point, however, is that the reduction in nonwhiteness effected by the spectral filtering procedure using only the highest eight harmonics in the raw signal has been found to preserve the pre-specified false alarm and missed alarm probabilities in the SPRT sequential testing procedure see below). Table I
summarizes the computed Fisher Kappa statistics for thirteen EBR-II plant signals that are used in the subject surveillance systems. In every case the table shows a substantial improvement in signal whiteness.
The complete SPRT technique integrates the spectral decomposition and filtering process steps described hereinbefore with the known SPRT binary hypothesis procedure.
The process can be illustratively demonstrated by application of the SPRT
technique to two redundant delayed neutron detectors (designated DND A and DND B) whose signals were archived during long-term normal i.e. undegraded) operation with a steady DN
source in EBR-II. For demonstration purposes a SPRT was designed with a false alarm rate, oc, of 0.01. Although this value is higher than we would designate for a production surveillance system, it gives a reasonable frequency of false alarms so that asymptotic values of cc can be obtained with only tens of thousands of discrete observations. According to the theory of the SPRT technique, it can be easily proved that for pure white noise (such as Gaussian), independently distributed processes, a provides an upper bound to the probability (per observation interval) of obtaining a false alarm--i.e., obtaining a "data disturbance"
annunciation when, in fact, the signals under surveillance are undegraded.
FIGS. 6 and 7 illustrate sequences of SPRT results for raw DND signals and for spectrally-whitened DND signals, respectively. In FIGS. 6A and 6B, and 7A and 7B, respectively, are shown the DN signals from detectors DND-A and DND-B. The steady-state values of the signals have been normalized to zero.

TABLE I
EffeCtrVeness c~f Spectral FiltPrina fnr MPaenraii plo"+ C;.,.....,1~
_, Fisher Kappa Test Statistic =16,384 Plant Variable LD. Raw Si al Residual Function Pum 1 Power 1940 6g.~

Pum 2 Power 366 52.2 Pum 1 S eed 181 25.6 Pum 2 S eed 299 30.9 Pum 1 Radial Vibr (to 1,23 .67.7 ) Pum 2 Radial Vibr to 155 65.4 Pum 1 Radial Vibr bottom 1520 290.0 Pum 2 Radial Vibr bottom 1694 80.1 DN Monitor A 96 39.4 DN Monitor B 81 44.9 DN Detector 1 86 36.0 DN Detector 2 149 44.1 DN Detector 3 13 8.2 Normalization to adjust for differences in calibration factor or viewing geometry for redundant sensors does not affect the operability of the SPRT. FIGS. 6C and 7C
in each figure show pointwise differences of signals DND-A and DND-B. It is this difference function that is input to the SPRT technique. Output from the SPRT method is shown for a 250-second segment in FIGS. 6D and 7D.
Interpretation of the SPRT output in FIGS. 6D and 7D is as follows: When the SPRT
index reaches a lower threshold, A, one can conclude with a 99% confidence factor that there is no degradation in the sensors. For this demonstration A is equal to 4.60, which .
corresponds to false-alarm and missed-alarm probabilities of 0.01. As FIGS. 6D
and 7D

illustrate, each time the SPRT output data reaches A, it is reset to zero and the surveillance continues.
If the SPRT index drifts in the positive direction and exceeds a positive threshold, B, of +4.60, then it can be concluded with a 99% confidence factor that there is degradation in at least one of the sensors. Any triggers of the positive threshold are signified with diamond symbols in FIGS. 6D and 7D. In this case, since we can certify that the sensors were functioning properly during the time period our signals were being archived, any triggers of the positive threshold are false alarms.
If we extend sufficiently the surveillance experiment illustrated in FIG. 6D, we can get an asymptotic estimate of the false alarm probability oc. We have performed this exercise using 1000-observation windows, tracking the frequency of faI$e alarm trips in each window, then repeating the procedure for a total of sixteen independent windows to get an estimate of the variance on this procedure for evaluating the false alarm probability. The resulting false-alarm frequency for the raw, unfiltered, signals is oc =
0.07330 with a variance of 0.000075. The very small variance shows that there would be only a negligible improvement in our estimate by extending the experiment to longer data streams. This value of a is significantly higher than the design value of oc = 0.01, and illustrates the danger of blindly applying a SPRT test technique to signals that may be contaminated by excessive serial correlation.
The data output shown in FIG. 7D employs the complete SPRT technique shown schematically in FIG. 8. When we repeat the foregoing exercise using 16 independent 1000-observation windows, we obtain an asymptotic cumulative false-alarm frequency of 0.009142 with a variance of 0.000036. This is less than i.e. more conservative than) the design value of oc = .01, as desired.
It will be recalled from the description hereinbefore regarding one preferred embodiment, we have used the eight most prominent harmonics in the spectral filtration stage of the SPRT technique. By repeating the foregoing empirical procedure for evaluating the asymptotic values of oc, we have found that eight modes are sufficient for the input variables shown in Table I. Furthermore, by simulating subtle degradation in individual signals, we have found that the presence of serial correlation in raw signals gives rise to excessive missed-alarm probabilities as well. In this case spectral whitening is equally effective in ensuring that pre-specified missed-alarm probabilities are not exceeded using the SPRT technique.
In a different form of the invention, it is not necessary to have real sensors paired off to form a difference function. Each single sensor can provide a real signal characteristic of an ongoing process and a record artificial signal can be generated to allow formation of a difference function. Techniques such as an auto regressive moving average (ARMA) methodology can be used to provide the appropriate signal, such as a DC level signal, a cyclic signal or other predictable signal. Such an ARMA method is a well-known procedure for generating artificial signal values, and this method can even be used to learn the particular cyclic nature of a process being monitored enabling construction of the artificial signal.
The two signals, one a real sensor signal and the other an artificial signal, can thus be used in the same manner as described hereinbefore for two (paired) real sensor signals. The difference function Y is then formed, transformations performed and a residual function is determined which is free of serially correlated noise.
Fourier techniques are very effective in achieving a whitened signal for analysis, but there are other means to achieve substantially the same results using a different analytical methodology. For example, filtration of serial correlation can be accomplished by using the ARMA method. This ARMA technique estimates the specific correlation structure existing between sensor points of an industrial process and utilizes this correlation estimate to effectively filter the data sample being evaluated.
A technique has therefore been devised which integrates frequency-domain filtering with sequential testing methodology to provide a solution to a problem that is endemic to industrial signal surveillance. The subject invention particularly allows sensing slow degradation that evolves over a long time period (gradual decalibration bias in a sensor, _ appearance of a new radiation source in the presence of a noisy background signal, wear out or buildup of a radial rub in rotating machinery, etc.). The system thus can alert the operator of the incipience or onset of the disturbance long before it would be apparent to visual inspection of strip chart or CRT signal traces, and well before conventional threshold limit checks would be tripped. This permits the operator to terminate, modify or avoid events that might otherwise challenge technical specification guidelines or availability goals. Thus, in many cases the operator can schedule corrective actions (sensor replacement or recalibration;
component adjustment, alignment, or rebalancing; etc.) to be performed during a scheduled system outage.
Another important feature of the technique which distinguishes it from conventional methods is the built-in quantitative false-alarm and missed-alarm probabilities. This is quite important in the context of high-risk industrial processes and applications.
The invention makes it possible to apply formal reliability analysis methods to an overall system comprising a network of interacting SPRT modules that are simultaneously monitoring a variety of plan variables. This amenability to formal reliability analysis methodology will, for example, greatly enhance the process of granting approval for nuclear-plant applications of the invention, a system that can potentially save a utility millions of dollars per year per reactor.
In another form of the invention, an artificial-intelligence based expert system 100 see FIG. 12) has been developed for automatically configuring a set of sensors A, B, C and D to perform signal validation and sensor-operability surveillance in industrial applications that require high reliability, high sensitivity annunciation of degraded sensors, discrepant signals, or the onset of process anomalies. This expert system 100 comprises an interconnected network of high sensitivity pattern-recognition modules 102 (see FIGS. 9-11).
The modules 102 embody the SPRT methodology described hereinbefore for automated parameter surveillance. The SPRT method examines the noise characteristics of signals from identical pairs of sensors 104 deployed for redundant readings of continuous physical processes from a particular industrial device 106. The comparative analysis of the noise -characteristics of a pair of signals, as opposed to their mean values, permits an early identification of a disturbance prior to significant (grossly observable) changes in the operating state of the process. As described in more detail hereinbefore, the SPRT method provides a superior surveillance tool because it is sensitive not only to disturbances in signal mean, but also to very subtle changes in the skewness, bias, or variance of the stochastic noise patterns associated with monitored signals. The use of two or more identical ones of the sensors 104 also permits the validation of these sensors 104, i.e., determines if the indicated disturbance is due to a change in the physical process or to a fault in either of the sensors 104.
For sudden, gross failures of one of the sensors 104 or components of the system 100, the SPRT module 102 would annunciate the disturbance as fast as a conventional threshold limit check. However, for slow degradation that evolves over a long time period (gradual decalibration bias in a sensor, wearout or buildup of a radial rub in rotating machinery, etc.), the SPRT module 102 provides the earliest possible annunciation of the onset of anomalous patterns in physical process variables. The SPRT-based expert system 100 can alert the operator to the incipience of the disturbance long before it would be apparent to visual inspection of strip chart or CRT signal traces, and well before conventional threshold limit checks would be tripped. This permits the operator to terminate or avoid events that might otherwise challenge technical specification guidelines or availability goals, and in many cases, to schedule corrective actions (sensor replacement or recalibration;
component adjustment, alignment, or rebalancing; etc.) to be performed during a scheduled system outage.
The expert system 100 embodies the logic rules that convey to the operator the status of the sensors 104 and the industrial devices 106 connected to a SPRT network 108 see FIG. 12). When one or more of the SPRT modules 102 indicate a disturbance in sensor signals i.e. the SPRT modules 102 trip) the expert system 100 determines which of the sensors 104 and/or the devices 106 are affected. The expert system 100 is designed to work with any network of the SPRT modules 102, encompassing any number of the industrial ' devices 106, process variables, and redundant ones of the sensors 104.
In a most preferred embodiment, the expert system 100 is operated using computer software written in the well known "LISP" language see Appendix B attached hereto). In this embodiment, the expert system 100 is divided into two segments which act as pre- and post-processors for the SPRT module computer code. The pre-processor section is used to set up operation of the SPRT network I08 and forge connections between the sensor data stream and the SPRT modules 102. The post-processor section contains the logic rules which interpret the output of the SPRT modules 102.
The logic for the expert system 100 depends upon the grouping of the SPRT
modules 102. Each of the SPRT modules 102 monitors two identical sensors 104 which measure a physical process variable. See FIGS. 9-11.) The two sensors can either be redundant sensors 104 on one of the industrial devices 106 or separate sensors 104 on two identical ones of the industrial devices 106 that are operated in parallel. A
group of the modules 102 entails all of the connections between the identical sensors 104 for a given physical variable on a group of the industrial devices 106. The number of the modules 102 in a group depends upon the number of identical devices 106 that are operated in parallel and the number of redundant sensors 104 on each device 106 which observe the response of a physical variable. For instance, suppose the expert system 100 is to be applied to an industrial system which contains three identical coolant pumps (not shown).
Furthermore, suppose each coolant pump contains two redundant pressure transducers and one . thermocouple (not shown). This system 100 would be modeled by two groups of the modules 102. The first group of the modules 102 would connect the six total pressure transducers which measure pump pressure. The second group of the modules 102 would connect the three total thermocouples which measure coolant temperature. For a given group of related sensors 104, the data from each of the sensors 104 are fed into the modules 102. Since the module 102 performs a comparison test between the two sensors 104, the tripping of both of the modules 102 connected to the sensor 104 (in the absence of other tripped modules 102 in the same group) is a necessary and sufficient condition to conclude that the sensor 104 has failed. Therefore, for a group of related sensors 104, the minimum number of modules 102 needed to enable sensor detection is the same as the number of the sensors 104 in the group. For the example discussed above, the number of the modules 102 in the first group would be six, and the number of the modules 102 in the second group would be three.
In applications involving two or more identical ones of the industrial devices operated in parallel and equipped with identical sensors 104, the module 102 applied to pairs of the sensors 104 monitoring the same physical process on the respective devices 106 will provide sensitive annunciation of any physical disturbance affecting one of the devices 106.
If each of the devices 106 has only one of the sensors 104 though, it would not be possible for the expert system 100 to distinguish between device degradation and sensor degradation.
In this case, the primary benefit of the method would derive from its very early annunciation of a disturbance. For cases in which each of the industrial devices 106 is equipped with multiple, redundant sensors 104, the modules 102 can be applied to pairs of the sensors 104 on each of the industrial devices 106 for sensor-operability verification. In this case, the expert system 100 not only provides early annunciation of a disturbance, but can also distinguish between device degradation and sensor degradation. Moreover, when the expert system 100 determines that the cause of the discrepant signals is due to a degraded one of the sensors 104, it can identify the specific sensor 104 that has failed.
FIG. 9 illustrates the first stage of the expert system 100 processing for a simple generic application involving a single one of the industrial devices 106 that is equipped with triply-redundant sensors 104 for measurement of two physical variables. The expert system I00 first identifies the minimum unique set of signal pairs that will be needed for the network of interacting modules 102. FIG. 10 illustrates a generic application involving two of the industrial devices 106 that are operated in parallel. For this example, it is also assumed that triply-redundant sensors 104 are available for measuring each of two separate ' physical variables. Once again, the expert system 100 identifies the pair-wise sensor combinations that it uses in building the conditional branching hierarchy for the module configuration. FIG. 11 illustrates a generic application involving three industrial devices 106 that are operated in parallel. Triply-redundant sensors 104 for measuring one physical variable are assumed. The figure shows the pair-wise sensor combinations identified by the expert system 100 for building the conditional branching hierarchy. These figures also depict the three main branches for the Iogic rules contained in the expert system 100: a grouping of the modules 102 based on a single one of the industrial devices 106, two identical devices 106 operated in parallel or multiple (three or more) devices 106 operated in parallel. The expert system 100 however is not limited to only one of the three cases at a time. The industrial system 100 modeled can contain any number of independent single devices 106, doubly-redundant devices 106 and multiply-redundant devices 106.
Each device group, in turn, may contain any number of redundant sensors 104 and any number of physical variables.
The expert system 100 is implemented using a stand-alone computer program set forth in the previously referenced Appendix B. In operation after the program initialization information has been gathered, the computer program prompts the user for the name of a data file that simulates the real-time behavior of the SPRT network 108 connected to the system 100 including the industrial devices 106. The SPRT data file contains space-delimited data values that represent the status of a corresponding module 102.
The module 102 has two states: a 0 (non-tripped) state indicates that the signals from the sensors 104 monitored by the module 102 have not diverged from each other, while a 1 (tripped) state indicates that the signals from the sensors 104 monitored by the module 102 have diverged from each other enough to be detected by the SPRT
algorithm.
Each line of data in the file represents the status of a group of related modules 102 at a given time. Each line contains a list of 0's and 1's that correspond to the state of all the modules 102 in the group. The number of groups in the network 108 depends upon the number of groups of identical devices 106 and the number of process variables monitored on each group of devices 106. If the network 108 contains more than one group of related modules 102, the data file will contain a corresponding number of lines to represent the status of all the modules 102 in the network 108 at a given time. For instance, if a system of the industrial devices 106 is modeled by four SPRT groups, the output file will contain four lines of SPRT data for each timestep in the simulation.
Execution of the program of Appendix B includes two procedures. The first procedure (SPRT Expert) provides the instructions for the control of program execution and corresponds to the pre-processor section in an integrated SPRT expert system/SPRT module code. When executed, the procedure first prompts the user to specify the number of device groups in the application. A device group is a group of identical industrial devices 106 (one or more) that are operated in parallel and are equipped with redundant ones of the sensors 104. A device group can contain one or more physical variables. The program then prompts the user for the following information for each of the device groups:
(i) The name of the device group.
(ii) The number of physical variables in the device group.
(iii) The name of the first physical variable in the device group.
(iv) The number of redundant sensors 104 on each device 106 that measures the first physical variable.
If the device group contains more than one physical variable, the program will loop through steps (iii) and (iv) to obtain input data for the remaining physical variables. The number of SPRT groups in the application is equal to the sum of the number of physical variables for each of the device groups. Namely, NnM~~. c~wc.
NSPRTGroups - is NPhysical Variables;
Once the program has collected the required data to set up the system, it prompts the user for the name of the SPRT data file. Execution of the program consists of reading the SPRT
status values from the data file and evaluating the status of the devices 106 and sensors 104 in the application, as inferred from the SPRT data. Program execution is controlled by a "do" loop. For each pass through the loop, the program reads the data. which model the state of each of the SPRT modules 102 in the network at a given tilxle. The SPRT
data are then passed to the Analyze procedure. If any of the SPRT modules 102 in the application has tripped i.e. SPRT value = 1), the Analyze procedure determines which devices) 106 and/or sensors) 104) are affected and reports their status. Looping continues until the end of the data file is reached, upon which the program terminates.
The Analyze procedure contains the logic rules for the expert system 100. It corresponds to the post-processor section in an integrated SPRT expert system/SPRT module code. It is passed lists of 0's and 1's that represent the status of the SPRT
modules 102 at any given timestep of the SPRT program. The number of lists passed to Analyze equals the number of SPRT groups. For each SPRT group, the procedure converts the SPRT
data. into a list of tripped SPRT modules 102. From the Iist of tripped SPRT modules 102, the status of the devices 106, and the sensors 104 modeled by the SPRT group are evaluated.
Based on the number of devices 106 and the redundant sensors 104 in a SPRT group, the expert system 100 can determine which of the devices) 106 and/or the sensors(s) 104 have failed.
In some cases (e.g_, if the number of the tripped modules 102 is one, or if the number of redundant sensors 104 in a group is one), the expert system 100 cannot conclude that the device 106 or the sensor 104 has failed, but can only signal that device or sensor failure is possible. Within Analyze, the logic rules are encapsulated by three procedures:
SingleDevice, for a SPRT group applied to a single one of the industrial devices 106, DualDevice, for a SPRT group applied to two parallely-operated industrial devices 106; and MultipleDevice, for a SPRT group applied to a group of three or more parallely-operated industrial devices 106.
The following nonlimiting example is illustrative of implementation of the expert system.
Example The development of a network of the SPRT modules 102 for a general system 110 of the industrial devices 106 and the action of the corresponding logic rules are revealed by an example calculation. The system 110 of industrial devices 106 and a data file representing the transient behavior of the sensors 104 in the system 110 were created. A
diagram of the system 110 is shown in FIG. 14 and contains two groups of the industrial devices 106. A
first group 112 (identified as turbine devices) contains three of the identical devices 106.
Each turbine is equipped with the sensors 104 to measure the steam temperature and steam pressure physical variables. There are two redundant sensors 104 on each turbine reading the steam temperature, while one of the sensors 104 measures the steam pressure. A second device group 114 consists of two coolant pumps. One physical variable, coolant flowrate, is gauged on each coolant pump by a group of four redundant sensors 104. The corresponding network of SPRT modules 102 for the system 110 is shown. Three groups of the SPRT
modules 102 are required; with six of the modules 102 in a first module group for the steam temperature sensors on the turbines, three modules 102 in the second module group for the steam pressure sensors 104 on the turbines, and eight of the modules 102 in the third group of the modules 102 for the coolant flowrate sensors 104 on the coolant pumps.
A complete listing of the output from the test run follows hereinafter. Input entered by the user is identified by bold type. From the PC-Scheme prompt, the program is executed by first loading it into memory, and then calling the main procedure (SPRT
Expert). After displaying a title banner, the code asks the user to specify the number of device groups in the network.

[2] (load "SPRTEXPT. S") OK
[3] (SPRT Expert) SPRT Expert System Simulation Program Enter the number of device groups -> 2 For each device group in the network, the program requests that the user supply the name of the devices in the group, the number of identical devices, the number of physical variables in the device group, and the names and numbers of redundant sensors for each physical variable. The input entered for device group # 1 is:
DEVICE NAME:
Enter the name of device group number 1 -> TURBINE
DEVICE NUMBER:
Enter the number of devices in the TURBINE
device group -> 3 PHYSICAL VARIABLE NUMBER:
Enter the number of physical variables in the TURBINE
device group -> 2 PHYSICAL VARIABLE NAME:
Enter the name of physical variable number 1 of the TURBINE device group -> STEAM TEMPERATURE
SENSOR NUMBER:
Enter the number of redundant sensors for the STEAM TEMPERATURE
physical variable in the TURBINE device group -> 2 PHYSICAL VARIABLE NAME:
Enter the name of physical variable number 2 of the TURBINE device group -> S'TEAM PRESSURE

SENSOR NUMBER:
Enter the number of redundant sensors for the STEAM PRESSURE
physical variable in the TURBINE device group -> 1 _ The input entered for device group #2 is:
DEVICE NAME:
Enter the name of device group number 2 -> COOLANT PUMP
DEVICE NUMBER:
Enter the number of devices in the COOLANT PUMP
device group -> 2 PHYSICAL VARIABLE NUMBER:
Enter the number of physical variables in the COOLANT PUMP
device group -> 1 PHYSICAL VARIABLE NAME:
Enter the name of physical variable number 1 ofthe COOLANT PUMP device group -> COOLANT FLOWRATE
SENSOR NUMBER:
Enter the number of redundant sensors for the COOLANT FLOWRATE
physical variable in the COOLANT PUMP device group -> 4 Once the input data for each device group have been obtained, the program displays a summary of the SPRT network, by identifying the SPRT groups in the network.
The number of SPRT Groups in the simulation is 3.
SPRT Group #1 contains 3 TURBINE industrial devices with 2 STEAM TEMPERATURE redundant sensors.
SPRT Group #2 contains 3 TURBINE industrial devices with 1 STEAM PRESSURE redundant sensor.

SPRT Group #3 contains 2 COOLANT PUMP industrial devices with 4 COOLANT FLOWRATE redundant sensors.
The final input item required is the name of the data file containing the status values ' for the SPRT modules in the network.
Enter filename for SPRT data -> TEST.DAT
The analysis of the SPRT data is controlled by a do loop. For each pass through the loop, the program retrieves a line of data for each SPRT group in the network.
Each block of data retrieved from the file represents the status of all SPRT modules in the network at a moment in time. The program analyzes each block of data to determine whether the SPRT
status values imply device and/or sensor failures.
In the test calculation, the first block of data retrieved from the TEST.DAT
file is:

Analyzing this data, the program reports that:
Analyzing SPRT data set number 1 SPRT Group # 1:
No SPRTs have tripped.
SPRT Group #2:
No SPRTs have tripped.
SPRT Group #3:
No SPRTs have tripped.

The second block of data retrieved from the file contains some tripped SPRT
modules:

Since only one module has tripped in SPRT groups # 1 and #3, the program can conclude only that some device and/or sensor failures may have occurred. The program identifies which modules have tripped and which devices or sensors are affected.
Analyzing SPRT data set number 2 SPRT Group # 1:
For the STEAM TEMPERATURE physical variable of the TURBINE devices:
These 1 of the 6 SPRTs have tripped ->

*** DEVICE NUMBER A OR DEVICE NUMBER B OF THE TURBINE DEVICES, SENSOR NUMBER A1, OR SENSOR NUMBER B1 MAY BE FAILING ***
SPRT Group #2:
No SPRTs have tripped.
SPRT Group #3:
For the COOLANT FLOWRATE physical variable of the COOLANT PUMP devices:
One SPRT has tripped -> Al-B2 *** ONE OR BOTH OF THE COOLANT PUMP DEVICES, SENSOR NUMBER Al OR SENSOR NUMBER B2 MAY BE FAILING ***
In the third block of data, additional modules have tripped.

In SPRT group # 1, two modules have tripped. Since both of the sensors on device A and both of the sensors on device B are affected, the code concludes that one of the two devices has failed. It cannot identify which of the devices has failed at this time though. In SPRT
group #2, one module has tripped. The code concludes that one of the sensors or devices ' may be failing. Since both modules connected to sensor B2 in SPRT group #3 have tripped, the code concludes that sensor B3 has failed.
Analyzing SPRT data set number 3 SPRT Group # 1:
For the STEAM TEMPERATURE physical variable of the TURBINE devices:
These 2 of the 6 SPRTs have tripped -A1-Bl A2-B2 *** DEVICE NUMBER A OR DEVICE NUMBER B OF THE TURBINE
DEVICES HAS FAILED ***
SPRT Group #2:
For the STEAM PRESSURE physical variable of the TURBINE devices:
These 1 of the 3 SPRTs have tripped -*** DEVICE NUMBER C OR DEVICE NUMBER A OF THE TURBINE DEVICES, SENSOR NUMBER C1, OR SENSOR NUMBER A1 MAY BE FAILING ***
SPRT Group #3:
For the COOLANT FLOWR.ATE physical variable of the COOLANT PUMP devices:
These 2 of the 8 SPRTs have tripped -*** SENSOR NUMBER B2 HAS FAILED ***

More modules have tripped in the fourth block of data.

Since three of the four modules connected to the sensors in device A of SPRT
group # 1 have tripped, the code concludes that device A has failed. In SPRT group #2, two of the three modules have tripped. But since there is only one sensor per device in this group, the code can only conclude that either a device or sensor failure has occurred. In SPRT
group #3, three modules have tripped. The code concludes that one of the two devices has failed.
Analyzing SPRT data set number 4 SPRT Group # 1:
For the STEAM TEMPERATURE physical variable of the TURB1IVE devices:
These 3 of the 6 SPRTs have tripped ->
Al-B1 C1-A1 A2-B2 *** DEVICE NUMBER A OF THE TURBINE DEVICES HAS FAILED ***
SPRT Group #2:
For the STEAM PRESSURE physical variable ofthe TURBINE devices:
These 2 of the 3 SPRTs have tripped ->
Bl-C1 Cl-A1 *** DEVICE NUMBER C OF THE TURBINE DEVICES, OR SENSOR NUMBER C1 HAS FAILED ***
SPRT Group #3:
For the COOLANT FLOWRATE physical variable of the COOLANT PUMP devices:
These 3 of the 8 SPRTs have tripped ->
Al-B2 A2-B2 A3-B4 * * * ONE OR BOTH OF THE COOLANT PUMP DEVICES HAVE FAILED * * *

Notice that two of the tripped modules in SPRT group #3 implicate a failure of sensor B2, the conclusion reached by the analysis of the third block of data. But since an additional module has tripped, the code changes its conclusion from a sensor failure to a failure of one or both of the devices. Although the third module trip may be a spurious trip i.e. the SPRT
' modules have a finite false alarm probability) which would mean that the earlier conclusion still holds, the code conservatively concludes that none of the trips are spurious and decides that a device failure has occurred. The code assumes that no module trip is spurious, which causes the code to consistently pick the most conservative conclusion when more than one conclusion can be deduced from the data.
The fifth and last set of data in the file contains additional module trips.

The additional trips in SPRT group # 1 cause the code to conclude that more than one device in the group is affected. In SPRT group #2, all three modules in the group have tripped.
Whenever all SPRT modules in a group trip, the code concludes that all devices in the group have failed. In SPRT group #3 the additional module trip does not change the conclusion, since the worst-case conclusion i.e. one or both of the devices in the group have failed) for the group has already been reached.
Analyzing SPRT data set number 5 SPRT Group # 1:
For the STEAM TEMPERATURE physical variable of the TURBINE devices:
These 4 of the 6 SPRTs have tripped ->
Al-Bl B1-C1 C1-A1 A2-B2 * * * DEVICE NUMBER B OF THE TURBINE DEVICES HAS FAILED
* * * SENS OR NUMBER C 1 HAS FAILED
*** DEVICE NUMBER A OF THE TURBINE DEVICES HAS FAILED ***

SPRT Group #2:
For the STEAM PRESSURE physical variable of the TURBINE devices:
All 3 SPRTs have tripped *** ALL 3 OF THE TURBINE DEVICES HAVE FAILED ***
SPRT Group #3:
For the COOLANT FLOWRATE physical variable of the COOLANT PUMP devices:
These 4 of the 8 SPRTs have tripped ->

*** ONE OR BOTH OF THE COOLANT PUMP DEVICES HAVE FAILED ***
Notice that the SPRT group # 1, the code concludes that devices A and B have failed, but for device C it concludes that only one of its sensors has failed. For device groups containing multiple devices (i.e., three or more identical devices), the code applies its logic rules to each of the devices independently. Since for devices A and B both of their sensors are involved, the code concludes that the devices have failed. For device C only the first sensor is involved, thus the code concludes that only the first sensor on the device has failed. The code reaches the end of the file after analyzing the fifth block of data, causing the code to terminate. For SPRT group #3, a failure of one or both of the devices is indicated, although the pattern of tripped modules can also be interpreted as a simultaneous failure of sensors B2 and B4. The code indicates a device failure because concurrent failures of two or more sensors in a group is deemed to be highly improbable.
While preferred embodiments of the invention have been shown and described, it will be clear to those skilled in the art that various changes and modifications can be made without departing from the invention in its broader aspects as set forth in the claims provided hereinafter.

's _nduaq <std=o . c:>
i main () SOFT's~TARE APPEND I1 ( 'øa1a=~. ~=~=an():
_._~ tcicse ( 1 , f--_.. . ( 1 :
' sust_c cos_,ie :r=es - ~ . 6:
dcuble aiql,siC3,sig3,siq4,sic5,s=g6:
double d_;=1.d_==2.di==3.ci==3,ci=f5.cif=5,~f=~:
dcuhle spr~l. spru2, sp==3, spr~a. spr=5, spr=5. spr~7, Gu_-.tsp==:
dcuhl.e al.n2.p3.n4,g~.po.p7,p0:
ia~ zocal~ - 0:
=-tz tiuia - 0:
in t al.~ ~- 0 dcuble vl,v2,v3,v4,v5,v6:
ccuble :z1 , s.2 , m , ms , m . a6 double s_-, g1. g=. S=, ca , .q 3 , g 6. q7 In :q seedl - '_.
long seed2 - 23:
la..~.q seedy ~ 27 ;
lcng seada ' 31:
lcnq setd~ - °3:
? ang __seed6 ~- , e_c~era void rc__~_.s?_~,;() :
e::~er- void s~=~():
/' G2t t_':e ga=ameLC_= ne_de= i.. the p"cqra:a '/
print- ("\n=nzut c a sensor __'_lure macnit::d_ '- :. ") SC3It~ ("~l ~s', fiS~.~~1) nr_-.. ("\n~ :put the va=? ant=a oz s? qnal s 1. . 6 sepa=_ced by cc.:-as .") SC3n~("il~r~l~, ~l~,fS~~,ilFWlf",sV~.fiVZr.~V3,fiYQ,fiV:,~V6ii x_sr_nt= ("\ :Z :out the mean o_-' signals 1 . . 6 se?araLnd by comrs2.s . ") ;
scan. ("elf. ~1 ., ~1., ~'_r, ,'--, ~_fu. scrl . fim2. fir...:, tm4, tm~, fima) . .
fala=m - _ pen(~alat-s.d=t","W'), pr'_.~.=f ( "\nP _ t_nq =n? tial s t::== ... ø? 1 a . " ) ;
r .. ___ ' _.1_ab'_lity - c_ = , 'c "):
_~r=.~.t. (fala_-..z. \re-~.. -_ ~n_'_aL_at_ n I
fr=inz=(falarm,"\n-_.____________________________________..);
f=rint_ (=alarm, ~~\nSenscr . ailu=a cagn_=ude =~ - ~l=", s=.-.s) :
rprint= (Lal a=a. "\rsSig.~.a' Al : mean r..c-~1= variance v-elf".ml, v'_) :
fi.r_S1L~ (fa'_ar.-... "\nSiqnai n2 : mean mu-S1. var;ance v-~l f~~,m2, vZ) f , ~~\nS_gnal 91: mean mu-~'__ var_anee v~:,lf,~,m3,v31:
f ~r_nt_ (. a_a=a, f--_.zt_ (fal a=m, "\nSiqnal 3Z: mean mu-~l_ va-°ance v-~l f",a4, v4) :
fpr'_ntf (falar.~... "\nS_qnal Gl : mean mu-~1: variants v-il=~~ z~,v=) tpr=ntf(Falarz."\nS?gnal C.: mean mu-~1! va=ianco v-t1°",m6.vb):
f~.rintf (fal a_--i, "\n \n \n \n") grind ("\n5tar~inq sprt....."):
g1 - 0.0:p2 - O.O:p3 - O.O:p4 - O.O:pS - O.O:p6 - 0.0:.7 - O.O:pO - 0.0:
g1 - sfm/ lV1+v2) : q2 - sf:n/ (v3Tv4) : g3 - sfm/ (v~+v6) q4 - s~ n! (vlt~r3) : q5 - stall (v2~'V4) ; qn ' sc:a/ ('r3+v~) ; g7 ' sfw/
(V4-rv6) While (nuri < 500) ( num T-I:
spr~l - 0.0:
spr2 - 0.0:
spr~3 - 0.0;
sprc4 - O.D:

snr~5 = 0.0:
sp=t5 ' 0.0;
sprt7 ~ 0.0;
dLmspz~ - 0.0:
e?-.i - 0;
do ( a ' t 6s_ 1,v1.'f?.~~' .m?,8seec_, sse=_'') ro=.=.s_»(:s_c_. ' g _ »(;~s:q.:. jsica,v3,v4.r...:,c:4.sse=c.:.=sa-c:) nom mss-' . _ ) .
nc=:a =m(SSig~.~s=go~v=,ve,m~,t:=.:=eedc.:s2ede .
. _ _, . ' i _ sia2:
d_=__ S_y_ di~f2 ~ sig= - s_gs;
d=~=3 - s_c.- sigo':
s _-. (s~.~.i, g=.t'.:resh. c==F1 . ~s'~rcl. t :ums-r») ;
a~ 6cS~rL?,StGtLTSJr:):
ST7~ ~ (s~:Tt, C_, t:1=85:1, ~~ym _ _ sprt(s_m.g3,th=esh.ci~__,ssrr_~,adumsprt): .
} while ( (spr=1 < tttr_sh) :: (sprt? < thresh) :_. (=p==3a< t :=esh) ) :
._' ((sp= 1 -- thresh) 1I (spr=? ~- thresh) Ii (sprc_ - c:rash)) ( _ i(v a -~1 .1t s-~»~-filyS~~L~~i~~ .5.-.~~__.e~_''7.SL_~):
_nt_ \n_=_ -~ _, :. - _ .. (sprtl -- c'~resa) do ( (s=r=? < t :rests) ~a (s~-=2 > -.'.:.as'.-.) ) (nC~.~..SW(:5..., fiS~Ca.v=. V~.T3r~t'i. 5S2=... a52_=41 ==2 - _=S3 - s_c~
S~~L (SL.~.l.~s~~ L=~=°-sn ~Cif=~. ~S=~~'. S~'.~»s'.») i~} ( (Sprt3 < ...°3h) Spa (%. L~ > -L}=rGS 1 ( ncr:nsi-c(:sig~. 6siqa.v=. Vti.m=.= a, ise_c~. Gsae~'fi) :
d=_a=3 - s_g~ - sicfi;
.;
aart (s._~.., gs. tz=esh. c~___. is?==3. s~ zsp=_) } vhi 1._ ( ( (spr.2<t =es'.~.~.) ': tsnrt2>-c:.=es: ) ) l l _, ((spr_3<th==sh) s: (sp=__>-ch=esh))):
else i_ (spr=3 ~. t::=ash) cn (__ ( (s~==1 < t =esi'1) :z (sir=1 > -c =asz) ) ( nc__~...__.~n(:sic' , ssic , v:. V=.- . ::~, sseec' . ~=eac2) :
G~ _~ - S-C' - S_C:
SDLL tS'_..-lr '~'Jt . ::=aS:l,d~~~W:S._~~.~~~ .:.jl:.»s:.~~) i~} ( (3prt3 < t:~esh) :: (sp=t~ > -c'Zresh) l { nor:nsim(aig~, asig6, v~, vfi,as5..~.za', sse=d=, :seec6) dif_3 - siSS - .iqo: _ sprt(si:n.g3.chresa,di__3,:snr=~.~cumsprt):
) uhile(t(spr_1<thrashl s: tzprtl>-thresh)) II
( (sprt3<~!'cresh) :: (sir=3>-c =eshl ) ) else i= (sprt3 =~ thrash) do < t~tresh) :: (sprt2 > -thresh) ) _ ( (spr,.2 (ncrnsim(&sig3. ~s_g4.v3,v4~m- ~m4~ ~see~~'-.:szed4) :
di~~2 ' sig3 - sign:
sp=~(s=m.g2,thresh,di-=2.ssprt2.sdwnaprt);
) i= ((sprrl < thresh) :: (sprtl > -thresh)) na~tai.~a(csigl,:sig2.V1.v2,ml,m2.:seec'_,:seed2);

gist s Sit; - .ig.;
C~ i_. - -spr= (sLm. ~ -nresh, C'_=--, :sprt_..:3u.~.~s=rt) }
) vain a l ( (s~rLZ<~hresa) t: (sprt2>-threshl 1 4 1 ( (spr:.l<Lh=es'.~.1 :s (srrtl~-ch=ash) ) ) p-__. :=f (~.., _ =t-- i? =, s~=t3- 8.., sgr ..- ~'_.", sprLl, =p,~2. sp_t_) ;
j 3 ( (s'=_-nS- '...==a:.) Si (S..-- ~~ ~..~~c.i:.) is (S~.-. .... ~i._.a,.S
:) ) ( GO
' (nor»s=.-.~(ss_c? ,:sic3,vl,v~,ml.:n3,:seec=, sseecl d...4 - sigl - sig3:
sue- (sf_~.1, q'(. t:l.esh, dif=4, aprL4,:du.~.vs=-=) ;
} Whi'_$ ( (se-==a < thresh) :: (s~rL~s > -chresh) ) ;
(sp~~4 < L:c:~sh) _( do ( ' 7 a v2.va,~~~~;ns;sseedZ,GSe_=4):
no. »s_»(LS=g-. ~5is.. ..
S_C~ - S~C34;
G:-s~Lt (S~rl.g%, ~:IrBSCt ' f~~, 65_=~.._, Ld'1~.t5~~) ,d--} ~. ( (sprc5 < t::r=sh) sx (s,. _ > -c.~.-esh) ) uh_ 2 t Z:
i_ (sp=LS -- L'~=aaa) a_~ -else is (S~r'..s -~ th~°St1) a>~:~ ' 1 :
Cr_:1L~ I"\n5p~:,4~i~~,SCCL~-~~-", 5~--4.s=--.) ar= :L= ("~n2s12r.-.. - '~d", a' »f ) else .-' ( (a~r~2 -_ ~ ~s h) a=(s~-=1 '- -c'.~.--._~1 .a (s~ __ -- -c'.-.=anal l t..r do ( ' ~~ Ss- ~ Yt ~ ~ .:SSA. aSCedI~:SG=C~) no~:..s-.~c(fisi -. .c-, _,v.,.m-=-q . s_g~ - sict_:
d__-sort (s=.. 4, t::=ssh, ci_=4. sap=t4,:..:::nsp=L) } . ~~ ~J -~~-a Kh_le ( (spr~4. < t hreshl 6a (sp-L4 > _ s .) ) ;
is (s~=_4 < th=esh) ( do nor...a-.~.i(as_g2~ t~sig't,v2,va.m2.~'.:4, ~52BG~. arse=4) ;
c? .=~ - s=cs - s-g:.: .
srL (St~l, CW C:1r23t1rd1~~~r i5~~.4GL:.:.S~~~1 ;
- } uaile ((s~rLS < thresh) ~& (s?=.= > -L:-esh));
i= (sp~5 .. thrashl a>.~ - 4:
else .. (sp= ' 4 '- th=ash) a'-.'z -\nspr=4 " pr~4,s~r:~);
F o -$W, S?rL~-~t ~ ~ , s nr=nt_ p=int_°°("\nAlar» - y~",elm):
) else i_'' ( (sprL3 >- chres :) :: (sprt2 -_ -ch=o3) :~. (sprtl -- -c::resh) ) ( do _ nor:asi»(=sig3,:sig5,V3,vj,m3,m5,sseec3,&aeac5):
~f=6 - sig5 - sig.3:
spr= (sf:n,q6.Lhresh~ di==s, s~sprt6, scu.~sprt) ) while((sprz6 < thresh) L: (sp=Ln > -chresh)):
' i' (sprtfi < threshl C
do nnrmsint(b5igq,~5-qo,v4.vfirma,m°~~Seed4,:seec5):

_ sort (SW.g7 ~ - . Gi~f??, ~S~LW, L:~:S.:.sD~ :) :

} whit a r~._. < thresh) se (sprt7 > -thresy ( (=p .. (sprt7 thresh) elm ~ ~:
--else _$ (sart5'- tires'.~.) a'_m - 5-a=:. -= ( \~s-r~6~il=. s=rt7-1=". s~~ t5. sat~ 7) ' ' s ( . i ~.:u _ :c- ' \nA-._--.. , a?-i) :
-else a?m - ?:

_- (al:z = 1) p1 1.C:
~ +~

.. (elm ~ 2) P? '.0:
- T-.. t a.lm- 3 ) 1. 4 = n 3 +

.. ( alas- 4 ) 1. 4 :
- a ~ +-.. ( al.m-~ 5 ) I . 0 - n~ t-ice' ( - 6 ) 1. 0 elm - c o +-ii' (a.lm- 71 p7 I.O:
- +

tntalm + 1:

) ) ai - ol/totalm:
n2 ~ p2/ tat=' ~.t:
c.= p3/t~L3' z:
4 - p4/tata'-.~:
n~ - o5/tocalm:
ae - aoltct3-=:
D7ltOL3~'ti:
p-- ..~(ial~~.- n\~ ' >1 ..COL~'~~1~~23:"):
-~..~1=.G-- ..
s~"-....~ (~'sl Z~. "\n ~=Ot21 ntll~.:C.~ C. G~'~z~ :CSL~CS r-... od", tCL3t~) iatf (falar-i, "\n 9 (A1 a=.~.. 1 soLnded) ' ~1=".pl ) ~=_nz=(falarm."\n P(Ala= Z so;:ad_d) - %1'",:2):
tprint= ( øal.a_~.... "\n P ( ~'-ar:n 2 scundad ) _ '~? f'~ . p3 ) y~.r_nL: (=alara, ,~\n ~ ( A1 ~~.~.. q sounded} _ ;1='~ ac ) ...__~: .. f ' " > >- ..' (-a-a-. \n P (e~__... f scundad} _ ~1 . P=) ~rr=ntf Gala-~_., "\n ° (n? 3_~.» 6 scurdec'} _ ~'-.", no) :Yr_.~.t. ( F31 aril, "\n P (?alai 7 sou.~.ded) - ~~r".?7) .c1 ose (==la_-......
' ~a ..n.~.iag this cede ..._ t a nucle=r p1=nt c=t=. t:~o t::=acs neQC. to be = changed when changing days: the fil...~.ame and the tilts. The =_lena.:.;
The filename Lo he caanced a at the t~p o~ the ~-llowinc code ca t.__ first line of code (DO :IOT C?.LIGc. T~° DT~C'=OR: ) . vThe title to be changed is on the fich line ef code. To use the me_n Lor the c::rr~_nt , day, leave all prccecures in as they a_-.. To use Lhe mean o. the T day ran p=eviausly, camment cut the 7-9th lines o. cede. The will cause the means of the data to be rEad =ram a Pile c=Bated a= the , last rsn - this vay ycu ca.~. compare the whale month by using the me.:
of the first day. Out:ut a d_=zcted to the file 'sprtfg.lst'. _.. , this .:file. the results of the str run =.-.clLdinq longest secuence c' ta_luras and total nursaer of decisions for each of the signal cars , is out~uL. The signal pairs are cl-c2, c3-c4, c=-c5, c7-c8, c3-ell, and c10-c~?. Zn addition to tae cumulative results of the run, the , SPT_tTl and SPltT2 values at each data point are also given (to remove this feature, comment out the '=roc g--nt' procedure on the last line , oz the mat=o). ' = WriL~en by K=-sties K. Fioyer filename sprt=il '-hoyerldatal~~/snrwals.l's~';
li5naine datlih '-hoyerldata/f~':
-. .~_ _ _-. _ _. , . ..
roc means mean nonrinc:
- va= c1 cZ c3 c~! c3 c_.. c7 c9 ca c'_0 c1 l c12 c13 c'_s v6 clo c1 i c18 c19 c20 c21 c22: _ output oLt-datlib . =~_ means m=an-n'_ :a? m3 m9 n~ mo m r ma m° ml 0 r..1 1 r.12 m13 m14 m15 m16 r..17 m18 n19 n20 m21 m22:
d==a a'_g: al : set s=5r al:
i ~ 1:
se t = ' ; b f ~:neans voin=-..
d=f=1 - c'_-:al - (c'--:n2! ;
~==2 - c?-m2-(c3-m):
d.._-'3 - c4-m4-(c5-m=!:
~R_4 = c5-m5-(ca-m6):
== - c7-m7-(c9-m8);
;~~':=5 - c9-m5-(c10-m10):
dit_i - c_1-mll-(c13-ml?):
di~'_'8 - c1 3-cal.2- (c1 4-~-a ) ;
=s=9 - cl5-m15-(cl6-ml6):
C-d_F=? O - C1 7-ml 7-(c'_3-:n=8! : , d...1. = c1 G-:wlC-(C?G_'Sl_74~ :
dy t~=7 - C'f1 _~ZZ-(C~'7_:Z~! : ' ~i c~ : ac~
::_' ._ -=-- C~__a Q...7 C- 5 d_- ~ C._.. ~_:__ kaaa d_-. d._--.. d. _~
ai~ - ~ : an=y d-_ a a~==_ c___ _c moans d=ta-s? cna? va= roo-? r.t:
- -- _-? ~~~'__3 c__'-: c:.?=5 c_==5 c===7 ci._'° c_==? c._-'_.0 va= c=_=i c; _ i 3L ~ Z v f ~=~7 ~ _ C_ _ . d- _ . . -- V 1 7 V ~ V 7 V O V ? V a V J V ~ G '~ . . 'r . . .
au=~ut cut=catl? b . =p~ra=s va_ vZ v Gaza s=g:ial : set s-final r ~z -se;~ dat'_'_: -=ears _c _..__.:
sy~s - a.5~vi«0.5:y sf.-... - 2 .5'~r2=''4 . 5 ' 3.S~v?~~O.W
st: t3 sf.~4 - Z.5=v4=°0.5-sfm5 = 2.5 w5'~=0 . 5 -s=ao - Z.~rva'~Ø-' s=~7 - 2.Swi'"'0.5:
s=a8 - 2.==v8=°0.5:
stst9 - 2.5=v~==0.5;
t-j = Z.5'v'_0==0.:.
s _..~ 0 s~..-..l_ - 2.S~v11'~0.~.
- 2. S r~r? 2"~p ..~.:
s-___= ;l- _ ouLt.Lt ="r:~~~~~.-m-.~a-r=.:x=:=t=i=..~w..~~ai..r.~..~~r===..==...z i,..
.~..~..
= This a the uadcttca wa=king p~T cnac=c . _~
- L~. order to use this macro. several ='_"
= things need to bt set uo in the main pragram. " " "';
= Call a data step and rarieve the dais, the " " " "
= sensor ~a=lura mag_tude, and t:e variance o. "~'=;_;
- the signals. The variable must be renamed ""' '_:
= as tallcus: y - data. s~:1=Sen90r L3l~u-a magn. Y,_~r~ .
= vwdrianca. To change the threshhold limit ~ 'or the ScR'Z, charge the value of the macro =_;T'!' r = variable thresh (in the S?RT macro! to the = '~
_._.~
i desired value.
~r~e~r::>'~~rs~aw~~,mr>"~~"r >'..i.s:r=~r~.»~=====sww,r.=..,r,lw.=~rar~r~rr,y macro do2sart g-a=.~n/ v th=sh - 6.°-undT.r - 50000:
i ~ ( N = 1) then da;
reL33.S1 sp~ 1 0: r~t3=n =Drv~
retain faill O:retain fail2 0:
r$tarn farllpt 0:

38 _ retain =ai_3gc u;

retain fsaaot 0:

retain failsac 0:

retain J=I. 0:

reta_a f2 0:

retain f lpt 0;

rEL3_:1 F~DL 0:

e:lG~

.actin ypi:r~cain yc2:

1?ICl~ -G"' ( (Sc:=/Z) -~!) _::C2 - -~_ ( (Srt:l2) TY) if (vpl>= thrsh cr ynl< -c rsh) _'en s_-__-__ -! nc'_:

else sgr~1 = yo? = inc'_;

i= (yp2>- th=sh or yp<<= _..rsh) then s~r_2 = _..~.c2:

else snrt? - yc? T .acZ:

ypl - sprt7.;ya2 ' sprt3:

T < = TVL' Tl.n I~ Cg,T7 ~_ -~:I~Sh T~~'Z CC~1~=~ChrSll:
_. SrR_1 - -_- hrsn _ _~I Sc~R__ -chrsn ;

_. SFRTl>- thrsh TuEN SPQTI-thrsh:

I= S?QT3>- thrsh T:iE,I S2FtT2=chrsh:

I. (SBRT? >= Lhrsh ) THEM TQ-3vl '- 1: .

I. (5?RT2 >- thrsh) T~~1 TRIP'il a- v.

__ (ScRT'_ <= chrsh) TH=:T T_~_?K2 - 1;

T (S?RT2 <_ -thrsn) =s='I TQL31z2 . '_:

__ (SP3T1 <_ -=:'-=sh) T _3~1 L1 = 0;

...5. ._ (S.RT1 >- ....__ ) T'.-'.=:~I 00:

_-Fl= .a.1. - ':

1. (~~ 1 ) T~~T : _. . _ ~t~~.

EVD;

_=Sc 00:

r1 - = ; 1 v .
3.._.

F32T - f a_! ' cc :

E~ID

__ (5=R=3 <_ -thrs h) TK3:1 f? = 0;

L=SE I_-' (S'r'-tT2 >- th=sh) TH?:1 DO;

F2 = f ai=2 T Z

IF (F2 _.. _ _ _- ? ) TV~11 -ZaT . N_:

~1D ;

SEE DO;

e2 - La?'_3:

F~n_t = fa_'_2nL:
_ E:ID :

T_= (FI >= F32T_.Se.Q) OR (FZ >= rz--S-O) .=-t CC:

__ (F1 >- F2) Tt.=N DO;

rr a-r~ - et . y gT ~ .'_1D:
s'A_ _~ . -'.'2 _ __ _ .

e.T~= D0:5'iiILS=Q - _-S2;-=EQP'!' - -29T: _;D:

.:ID ;

"T~=' DO;SA_TT...EC.Q t Q;_-FSEQPT -~- O:~1D:

=a_31 - f l: gail2 = f 2 faillpt - Elpt:=ail2pt = fart:

C:IT + l:

VAL - MOD(_N ,uadu);

vAL - 0 OR _OF TEN DO:

FIhE PRINT:

IF (CHIT > 0 ) THN DO;

FREQEl - TAT_DHl / CHIT:

F3QH2 = TRZi~T.i2 / C:1T;

TOTX1 + FRQFIl:TOTH? t FsZQHZ:TOTC:.IT + 1;

Tail - TOTHI / TOTC~1T; T82 ~ TOTH2 / TOTC_z'T:

ADDTRh - FREQF1tF REQH2: ADDT-Tail+THZ:

ALP:i1-TOT::l/ (TOTHl+TOTHZ1 "=40.0; &ETl = TCTH2 +TGT::Z) / (TOT~1 ;

PUT ' TRIP9ING FR=QQENCY- '~II3DOW SZZc: ' C:1T /

' Hl TRSPHING FREQUENCY / OBS~VATION (=>F?.iLITRE) F?.EQ$1/
: ' ' H2 TRI?P ING FREQUENCY I OBS'c:~ZFA'i'T_GN (-ORM_~L)F ~GH2!
: ' ' CCM9IND TRIPING FREQUE:1CY P~ O85cRVATT_OPI: ' F.DDTRT_?/

' LONGEST ~i.QUENCE OF FAILURE DECISIONS: ' FA.ILScQ/

DATA POINT AT WHICH S'c.QUENCE FI5T OCCBRR.RED : FSL,()PTl ' PERCrI~iT TT_ME A F3ILIJ3E t:ODE SLL=.C?"~D: ' AL2H1//

. = 39 : - _ ' ' - 0: t=iph2 - 0 - 0: Faill - 0: fail? = 0: =. ~ '1gt ~~ Q!~==ZptC i-t=_pa_ : c.__ ~~D
.ND :
.=oo c_n t tort..~.t tothl totcZ t=iphl t=iphZ fa=l sec fse~L:
_=co Fail= fa_l~o- fai?2 ~a=='pL _~ flpt t2 i2pt:
..cc r.:eaa3 mear. nop='_.~.L:
va= s~r~l:
cntpu:. cut-eu.:~l:
k 7t-!l~!?:719f1:A1r7YIf~!!>-!Tt>f!T!>17~7!!!7l!>1f'!ll~~tf>1f?7!f7f7~TTT77fT'1!Z=Z~~7llT?7 :

data:aet sicnal:

s ec end-=flF:

y --~f=3: s=:n-s:zu: vw3:

do2spr:

8mac=c fcu==ec:

/T ~?.. CCCc _-'vR ~_~F= s?~f.=__:= Di'r'::L~QCSiTDCN/~=CON5i3UC~'=dN

/_ ~ = . c rfc ._evr,. as.u d=La __'_ag t~:e '/
Th_= mat=o cc:xst_LC_ . ' "

/~ higcest Ci1 FoL-_e= motes(c=lculated c=om the ecwer/
spec===1 c_nsicr) . _t reads r=.i daL3 ~_,.... t . .:.!
a ' k__5' in t:xe /- '/
L ~ c.
5.~.5 1==ary aas'_c,:e= 1'_==. 'caLl~' /" and al_ces L~Se CC.~.S.'.=~LL_.~. C~='~e .:x L~e i/
i~~G ' C~L~~~

racens'Where ~~ a c-.-.. re=cter var_=: 1e cede !l n.:--_=.er.

/~ _oLtt L_=es a-~. 5i5 daLa3ecs. The .roc=o also ~/
oe==_=s a /' F is'rse= i~anca cahit_cesL oa t a oe='_ccoc==ms c-_' t'_:e cr_c .-..___ /' and res'_cia! data.

/= Sdr=t_s.~. by :.-_st'- : =oyer '/

/ Us:.:g a number a. pcs t.'.ac a a , cue_- or 2 '/
cc speec c:p to /~ spec==a p=ocadu__ -- naIo3H4 '/

proc spec-a data-da_'_=b.kr_s out-c=Fec cae_ p s wa:tsLest:

va= ~=gwcs3L:

~~CG sC_L data-LSeG CLL--C==SDeC:/~ SC.= ~1T CiesC..~.d'-.~.C
p5:.. CO C8L>/

by test=acing n 01 s 0.: /~ mast p=cm'_:.~t pe=_cdics /

data catl=b.t~dset:

set datlib.kris:

Sai n - e1_ - l : -i4T~ CSd V~~ S ~/
F /' USe c l~Cles'..
d ' ~ t o -c /" AC=_s5 _t:1 t OL~=_-~ C:
C . G-'/
_ :
SGt sa. ~sDEC LClItL~=.

Ol/Z.O: /' aad PAC~ and =eccnsL=. _/
ii( i - 1) then =osier-cos _ /' the carve.
else do:

cos Ol~cos(frec~ min)+sin O1's_n(y=ac>:nin):
power-cower T

cad:

cad: /" rourie= c~we - power '/

min - min>1.0/120.0: /' residual - noise ~/

noise - ~raudat - pave=:

keep min power ~=awdat noise:

output:

it N >1fi383 then stop;

proc spec=ra datam datl?b.tidsat out-neWasd uhi=atest p:

var noisy:

data newnsd:

set neun_sd:

p_res - p 01.:

keep p= es i=eq:

data datlib.&specset:

merge newpsd tspec:

by f=eq:

keen frees p_01 p res:

~kmend four=ec:

/xxxx~r,ixrxr*rxx+xxxxxxx** s..xxtxx*xxax~rxxxrx~:xt'x:::xx~' *i~' '«T~~-' %mac=n add=an:
/- =his mat=n adcs Gaussian candor no..a to the rou=?e= c;trve x/
/_ ~pcue=' to treat= tZe reccns==acted ec=ve 'recor_s' u_ta the x/
~ ..~.ce .. .'.-.a or_c:..~.al c_r~~e ' reader' ~/
va=_ 5~.: a .-..~~:1 =nd ~ :~___1, u_C:: /
/~ :se . u_ c=to shc__d cc:ne the .
_ se.
~ dat__b' . ~ '.-.e dsta_e= n.~e s :cu' d be ass_c.~.ed x/
/ - _ _ a..c ,-. -(v,r'_t!: a cnzc==) c!~e the re=e=sate nee ' dset' '/
n=cc means data-d=tlib.tdsec va= nopr_:c: /' Get the-va_=aac_ c~ the '/
/= res-dt:al _act? on 'l var noise:
oucru~ out-tuork var~sicmasc_;
data datl-a.~dse=:
_-l:
sec daLlib.sdset: -set tVCS:c point-_ /'Ganer=to t ne. =andnm data ' l recons - s_,~. asc--D . ° 'ra.'~.~.ar (') + pc~~e_: /'a :c ad. to ' ncue= '/
keen ~.. sraw~t ncuer zc__e -scans' .._.
c_oc mear_a daL3-C3t'-_:.~..:daec -can va= s:cewness ~c==tLS_s ~ . ca:C:
~r.~nd add=an:
/xx.~:~~~exrr~xr~i..r..r.__~~r"sx~-r~"m~xrx~~t:x.x~".ws_~_~_~~«~~~xr~r/
~trrc=n no_-...Lst (~-x) /' Th_s crac=a t=sts t:~e no_~..ia?'_cy a_ the d3=. 'x' x/
/- passed as a ptrs:e=er. The me.ccs use= are /
/x ~ _ :c Pea=stn K~2 test =cr tae 3rd and ~ _.'. '/
the D Act=t~
/' mcrencs a.~.~ t'.:e nc'_.:.agorov-emirnov test. '/
/x The input d3L3sGt should cc.:.e ~_c.-.. the 1?'.:-rary w==' . - '/
/" lor=e= . ~d3t~_~~, and the datzsac :~ar..e sheuld be asp-=~~ '/
/~ (uit:z a mat=o) the the re'erencs nL-'ze ' duet' x/
/x uri_=a : cy i'_stin koyer =!
data tao=k:
sec d3tl-... tdsac: ~ _: _ .
nrcc means data-t:rcr:c n r..~..iss s:ceuzes= ktLr~ c==S St= rc~__.~.,..
va= :x: - _ ' t,rn k~~C -"-. .~.a:
output out-stets ske~.:aess-s:: osa-'.s s ~ s=
/= GontpLt_ t~e ske~.r c-nL=-=t:t?on to t: a test sta~_sL_- '/
/~ aecar~zg.tn t="ie ~chrsan Su a~arcx: ==L=cr. '/
dsta skew:
sgt stars:
y ~ sk'((n+')'(n-rs)/(fi.0'(n-Z)))"0.=: -heLa2 - 3x (n'n+27'n-70)' (n+? )' (n~~) / ( (n-Z)' (n*5)' (nT%) T (n-r3) ) :
wscr - -I.0 + (Z.Ox(beta2 - 1.0)) "0.5:
delta ' 1.0/(0.5'lcq(uscy))*'0.=:
alaha ' (2.0/ (ws~= - 1.0) )'x0.5:
Belt='loc(y/alpha r (Y'Y/(al=ha'al 'ha) + I.0) "c~.~l ~aqr'~1. - ='=' keep X3~.s".l sk:
outauL: .
/~ ComFute the kurtosis cons=~ut_en to the test stat'_=t=c '/
/~ seta=~-_g to the Anscomae and Glynne App=oximac-on '/
data kurt:
3GC s=3LS:
k ~ (k+3.0+(n_1)'*2/ ( (n-2)' (n-3) ) ) b2bar - ~ .0' (n-i) / (n+1) varb2 ~ ~e .0xnx (n-2)' (n-=) / ( (n+1) xx2 ' (n+3) "(n-~-~) 1 x .. (k - h2bar)/varh2''xQ.S:
beta - 6.0'(n'n-5=nT2)/((n+7)'(n+°.)l'(fi.0'(n-3)'(n-~) /(ni(n-2l*(n-3)))x'0.5:
a - fi.0+H.O/beLa'(2.0/beca + (1.0+s.0/ heta~'2 )'r0.~1:
dam ' (? .0-2.0/a) / (1.0+x' (Z.0/ (a-4.0) ) "0 .5) ;

du~3- (abs (du..-z) ) tt0.3"' -.
.. f ~ ( Q,~ < 0 . 0 ) then d_. ..i = -dum3 z - 1.0 - 2.0/(9.O~a) - dum3:
_ _ _ /(2.0/(9.0=a))t=0.5:
:cscrb2 = 2=t2:
keen rsc__b3 k;
c~~~ ..
/t Ga= test ,st==_s=__. __ .. C. _ sct==a sr_::z 2 dec:n=s c-_- f=ascc- +!
c.aca nut=
fi;e c_ r_nL:
merle skew kurL:
ksar = xsc-b l + :cscr=2:
alpaa - probc::_ (kscr. 2, 1) pct 'D Agosc'_no Pearsa~ r~aulcs _-'or ' ":x"//
' SkGar = ' Sk/ /
'durLOSis~ ' k!/
' Test val ue ' ks.-//
' Al pcia = ' alone:
proc univa=iata ~La=datlib . s:aet :ermtl : .
vxr lx:
~Smend nor_.:LsL:
/~**7lZt't?Z'11f7t~?t7~Atttf~Z~7~7~t~~t~tttlfT~!f~~tnltf_1t1:1sts~fVf_~vvnr~.~~

klsaC~ : =~I1S (~~_) ~T Th?S mae=D Der=_= a a '..n5' t=5L or. C~~ v~~13~12~e=cr..~:lt _- t: t/

/' autccar=elat_ ... T::is cethod was takea ==a.-.tzor '/
"Chec:c_~

/T ~utcccrrslation ... 3e==e=sia.. ?esidua5s" ty 3rcc:cjshank=/
Dickey anc /' The . a_ uL dac=sec sizculc come c=o:1 t:~e /
1-rz=y uit :

! l.l~re_ - ' c=c=~:' , and the dataset arms saculd be ass_c.-.e= _/

!' (ui_:: a nac=a1 t!:e the r_fe==zce r.~ne 'dsac't/

/= wri__=n by sr_st_n &oye_ */

data nu??:

_ tf ~ G pr-S1L:

Se. e:ld~3O1's;

i: 4=a. Ctlen SOLO ttt=53: / G2t ne.~7LLiVe and pcsit:ve rLns t/

p=-~r~-d: /' and ca_ss:ng va'_ues . '/

np-or:

nn-r ( 1 -? r ) .-' pr ne 1ag ( r=1 t'.~.~.e.~. . _.-.s - Z:

ass: .. eat t:~ea da:

gut ' Rua o~ tic.-..= Team' //

'Numae= of runs ' runs//

'Numcer cf Negative Resid::als ' nn//

'Nunioer of Pasit_ve Ae_iduals ' nn:

/' Calculate the Z SLatist_c */

u-2' nn top / ( nn-np ) +.

s-sc_r~ (2-nntnpt (2tnn=np-nn-n~) / ( (nnTr.~-1) * (nnTnp) =t2) ) ;

zp (runs-u-f-.5) /s;pp=probnar:a(zp) zn-(runs-u-.5)/s:pn=1-orobnorz(zn):

put 'Test ~ar poaiL=ve autocor=slat=cn '/

'Z- ' =p '?rob < Z= ' pp//

'Teat for negative auLOCOrrelation'/

' Za ' Zn prcb > Z- ' Bn:

sad:

t~mend runs:

3izdude mac=os:
filet dse=-=ecansl4;
filet r3S~rdaL~Cl4:
i let specset--psdl4 ;
~3.et sit - 10:
~fourrec ~addran ~snc~cst (x ' ~sawdat) ~noracst (:c~nc:-ss) c=cc means data-daca.~dse= mean aoFrint:
v ar ~ =2rrdat output cut-tao=k me a.~.-~ctn: /~ Gzt the resic_a1s needed '/
=or .: . ' sica' ccac-a '/
d3t3:
sec data.scset: -l~l.i set t;ro=is point=i:
r~ tracrdat - mu:
res-noise:
keep r r_s:
outruz:
~aruns (err) iruna (r'ras) APPENDIX B
Listing of the SPRTEXPT.S File , assssssssssssssssssssssssssssssssssssssssssssssssssssssssssssassssssssssss;
SPRT E:cner ~ Procedure ;ssass::::asssssssasssass::sssassssassssssssssssssassssssssssssssssssassssss;
i i i SPRT E:cnert Procedure (define (SPRT_E~cpertl " RecrisveData Proc:dure - This interaal orocadurs retrieves the SPRT oats ;; from the specified DacaFile_ The procedure reads the ae_.ct NLines lines ;; from the file. The procedure is recursive, it decrements NLines until ;; NLines reaches 1. If the end-of-file is reached during the data re-;; trieval, the eof character a added to the end of the list returned bv_ ;; the procedure. The procedure returns the NLines read as a list.
(define Retr~.evei7nta~
(lambda (NLines DataFile}
(lot ((CurrentLine (r=od-line DacaFile))) , Read ne_~ct line in DataFile (if (eof-abject? Cur_encLine) ; If aof reached, raturz eaf CurrentLine c.~saracter .
(if (eq? 1 NLines! : If Nlines read, return null.
(list (Chars-to-List (string- list CurrantLine))) (cons (Chars-to-List (string- list Cur_-eatLine)) (Rec==eve9aca (- Nlines 1) DataFile) ) ) ) t; Chars-to-List Procedure - This internal procedure recursively converts a ;: list of characters that concaia embedded 0 sad Z characters into a list ;; of 0 s sad 1 s. Any ocher character than a 0 or I is ignored.
(define Chars-to-List (lambda (Chars) (toad ( (null? .Chars) () ) ; If e_zd of list, rntura null.
((char=? (car Chars) ~ o) ; Add o to list.
(cans 0 (C.'sars-to-List (ccr Chars))) ((char=? (car Chars) ~ 1) ; zidd I to list.
(cans i (Chars-ca-List (cdr Chars))) (else (Chars-to-List (cr. Chars))) ) ) ) ;; Eof-List? Procedure - This inte gal procedure searches a list element by ;; elemeac for the eof character. It returns true if the end-of-file char-;; otter is found, or false if the list does not contain the eaf character.
(define Eof-List?
(lambda (Let) (if (eof-object? Let) ; If the current object is the eof ~t ; character, then return true.
(if (null?,Let) , If the list is null, () ; return false.
(Eof-List? (car Lst)) ) ) ) ) ;; LiscTrippedSPRTs Procedure - This internal procedure processes the list ;: of SPRT data for a pass through the main do loop. Each element of tze ;; list contains the SPRT data for an independent group of SPRTs. Each :; element of the list is processed by the inceraal FindSPRTs proc_dure, ,, which returns a list of numbers where each number reprse_zts the SPRTs ;; that have tripped (i.e., equal to 1j. Thus if the following list of ;; SPRTs is passed to FindSPRTs: [0 1 0 0 0 1 0 1], it would return the ;; following list: [2 6 8].
(define ListTrippedSPRTs~
;; Main body of ListTrippedSPRTs ;; This protioa of the procedure passes each element of SPRT List to ;; FindSPRTs and returns a list of the results from FindSPRTs.
(lambda (SPRT List) (if (null? SPRT_List) () (cons (FindSPRTs (car SPRT List) 1) (ListTrippedSPRTs (cdr SPRT List)) ) ) ) ) ;; FindSPRTs internal procedure:
(define FindSPRTs (lambda (Let I) (cond ((null? Lst) ()) ; Return null if e_zd or Lst is reached.
((eq? (car Lst) 1) ; If SPRT is tripped, (cans I ' ; add number to output list.
(FiadSPRTs (cdr Lst) (+ I 1)) ) ) (else ; If SPRT has not tripped, ignore.
(FindSPRTs (cdr Lst) (+ I 1)) ) ) ) ) ;; DisplayGroup internal procedure:
;; This procedure displays the input data for each SPRT croup.
(define DisplayGroup (lambda (GroupData Count) (if (null? (car GroupData)) () ; Recura null at end of GrounData list.
(begi_z (newline) (display SPRT Group ~ ) (display Count) (newline) (display contains ) (display (coat GroupData)) (display ) (display (caddar GroupData)) (if (eq? (coat GroupData) 1) (display industrial device ) (da.splay industrial devices ) ) (newline) (display with ) (display (cedar GroupData)) (display ) (display (car (caddar GroupData))) (if (eq? (cedar GroupData) 1) (display redundant sensor. ) (display redundant sensors. ) ) (newline) (DisplayGroup (cdr GroupData) (;- 1 Count)) ) ) ) ) ;; Main body of the SPRT Expert Procedure.
;; First, iatialize local variables.
(let ( (NSPRT Groups 0) (NDeviceGroups 0) (NVariables 0) (NDevices 0) (NSensors 0) (Count 0) (DName ) (VName (InputFile ) (InputPort ) (GraupData ()) (SPRT Data ()) ) ;; Print program title.
(newline) (newline) (newline) (display SPRT Expert System Simulation Program ) (newline) (newline) (newline) ;; Query user for number of device groups to be analyzed.
(display Enter the number of device groups - ) (set: NDeviceGraups (string- number (read-line) a d)) ;; Start do loop to input data for each device group.

(do ( (I 1 t+ z ~) ) ) 45 ( ( NDeviceGroups I) ~t ) ;; Body of do loop.

(newline) (newline) (display ___________________________________________________________ (newline ) ;; Query user far device group names.

(display DEVICE NAME: ) (newline) (display Enter the name oz device group number ) (display I) (display -(set! DName (read-line)) (newline) ;; Que~l user for the number of independent devicesin the croup.

(display DEVICE NUMBER: ) (newline) - -(display Enter the number of devices in the ) (display Driame) (newline) (display device group - ) (set! NDevices (string- number (read-line) a d)) (newline Quer~ user for number of physical variables in devic_ group.

(display PHYSICsL VARIABLE NUMBER: ) (newline) (display Enter the number of physical variables in the ) (display DName) (newline) (display device group - ) (set! Nvariables (string- number (read-line) a d)) Start do loop to input data for zach de~rice/physics.l vari.zbl a ;; group.
(do ( (J 1 (+ J 1) ) ) ( ( NVariables J) ~t ;; Hody oz do loon.
(newline) ;; Query user for physical variable names.
(display PTiYSIC~L VARL~BLE NAME: ) (nealine) (aisplay Encer the name oz physical variable number ) (display J) (newl~e) (display of the ) (display DName) (display . device group - ) (set! VName (read-line)) (newline ) ;; Query user for the number oz redundant sensors .n the group.
(display SENSOR NUI~ER: ) (newline) (display Enter the number of redundant sensors for the ) (display VName) (newline) (display physical variable in the ) (display DName) (display device group - ) (sec! NSensors (string- number (read-line) a d)) ;; Increment the number of SPRT groups.
(set! NSPRT Groups (+ NSPRT Groups 1)) ;: Add SPRT group input data to the GroupData list.
(set! GroupData (cons (list NDevices NS2nsors DName VName) GroupData)) ) ) ;; Reverse the order of the GroupData list so that it will be coasist_at ;; with the SPRT data.
(set! GroupData (reverse GroupDaca)) ;; Display SPRT network data.
(newline) (newline) (display ?"t'+'f'++'f'++++++'I"++t++++T+'I'+++++++'F++-F+++++-F-T+'1'++++-TT++++++'F++ ) (ne=~uline) (newline) (display The number of SPRT Groups in the simulation is ) (display NSPRT Groups) (display . ) (ne~aline) ;; Call DisplayGroup to display the input variables for each SPRT group.
(DisplayGroup GroupData 1) (newline) (newline) (display ++1'-1~~"Y"-F+'1'~'i'T"1'i'~F'F'~ht-1'-f"E'1'i"!"h+'E"1'+++'f'T+-iT'~+'h'+T'E'++TT~F'i's'i'-!"!'+1"i'T'r'F'Fi' ) (newline) (newline) ;; Query user far the name of the data file that contains the SPRT data.
(display Enter filename for SPRT data - ) (set: InputFile (read-line)) ;; Ope_z SPRT data file.
(set! InputPort (open-input-file InputFile))~
;; Eater main do loop, which r=trieves all of the SPRT data written at ;; a timestep. For each timestep of the SPRT program, a number of lines ;; of data are written to the data file. Each line contains the SPRT
;; data [0 s and 1 s] for an independent group of SPRTs. The number of ;; lines written during each timestep thus ec_uals NSPRT_Groups.
(do ( (InpuLData (RetrieveData NSPRT Groups InputPort) (RetrieveData NSPRT Groups InputPart)) ) ( (Eof-List? InputData) (newline) (ne:~line) (display End of ) (display InputFile) (display reached -- SPRT E:cpert terminates. ) (newline) ) ;; Main body of the do loop. .
;; Update count, which counts the sets of SPRT data wr=tte_z to the ;; file.
(set! count (+ count 1l) ;; Convert the SPRT data for this pass through the loop to a list of ;; tripped SPRTs (i.e., SPRT = 1).
(set! SPRT Data (ListTrippedSPRTs InputData)) (newline) (display ___________________________________________________________ (newline) (newl.ine) (display Aaalyziag SPRT data set number ) (display count) (newline) (newline) ;; Call the SPRT data analysis procedure. This procedure analyzes ;; the list of tripped SPRTs. Each element in the list consists of a ;; list of C=ipped SPRTs. There are NSPRT Groups elements in the ;; list - one far each _cor_-espondiag group of independent SPRTs.
(Analyze,GroupData SPRT Data 1) ;; pause the scree.~ so that the user can read the results for the ;; current block of data.
(display Hit the enter key to analyze the next ) (display block of data ) (newline) (read-line) inewline) ) ) ;; End of SPRT Expert Procedur_ ;=s=:=saaaaaassasssaasaasassasssssans:asassassaaassaasssaaaasaasasssas=a=aa==;

;aa:sassassssassasasgasasassgassasses::seasasassasssssassssssssasssassssssss;
p Rnalyze Procedure r ;gasasaaaassssasssassasssssasssassasssss=ssssssssassasaaaasssasssssssassssass;
i i i ;;; Analyze Procedure - This procedure contains the logic rules for the ;;; SPRT F~cpert System Simulation program.
...
(define (Analyze GroupList SPRT List GroupCount) ;; AaalyzeGroup procedure - This internal procedure controls the flow oz ;; SPRT data analysis. It is passed the input data and the list oz tripped ;; SPRTs for a group of independent SPRTs. Depending upon the number of ;; devices in the group, AnalyzeGroup calls a procedure which performs the ;; actual analysis of the data.
(define AnalyzeGroup (lambda (Inputs SPRTs Count) (display SPRT Group ~ ? (display Count) (display . ) (newline) (coed ((eq? (car Inputs) 1) ; The numaer of devices is 1.
(if (null? SPRTs) , If ao SPRTs have tripped, (begin (display No SPRTs have tripped. ) (newline) (newli_ze) () )) ' ; return null.
(SingleDe~rice (cdr Inputs) SP2Ts) ) ) ((eq? (car Inputs) ?) ; The numfler of devices is 2.
(if (null? SPRTs) ; If no SPRTS have tripped, (begin (display No SPRTs have tripr_~ed. ) (newl~ne) (newline) () ) ; return null.
(DualDevice (car Inputs) SPRTs) ) ) (else ; The number of devices = 3.
(if (null? SPRTS) ; If no SPRTs have tripped, (begin (aisplay No SPRTs have tripped. ) (newline) (newline) - () ) ; return null.
(MultipleDevice Inputs SPRTs) ) ) ) ) ) ;; SingleDevice procedure - This procedure captains the logic for the ;; analysis of a SPRT group which has Z device.
(define SingleDevice (lambda (InputData SPT_iT Data) ;; First use temporary variables to extract the data from the InputData ;; list gad the number of tripped SPRTs.
(let ( (NSeasors (car InputData)) -(DName (cadr InputData)) (VName (caddy InputData)) (NSPRTs (length SPRT Data)) ;; The logic depends upon the numcer of tripped SPRTs.
(cond (( = NSPRTs 3) ;; In this case, 3 or more SPRTs have tripped. First write ;; message showing current device and physical variable.
(display For the ) (display VName) (display physical variable of the ) (display DName) (display device: ) (newline) (if (eq? NSPRTs NSensors) ; If all of the sensors failed, (begin ; write this message, (display All ) (display NSPRTs) (display SPRTs have tripped ) ) (begin ; or, write this message.

(display These ) (display NSPRTs) (display of the (display NSensors) (display SPRTs have tripped - }
(newline) (DisplaySPRTs 1 NSensors SPRT_Data) ) }
;; We conclude that the device has failed.
(newline) (display *** THE ) (display DName) (display DEVICE Fi.AS FAILED *** ) (newline) (newline) ) ((eq? NSPRTs 2) ;; In this case, 2 SPRTs have tripped. First write ;; message showing current device and physical variable.
(display For the ) (display VName) (display physical variable of the ).(display DName) (display device: ) (newline) ;; List the tripped SPRTs.
(display These 2 of the ) (airplay NSensors) (display SFRTs have tripped - ) (newline) (DisplaySPRTs 1 NSensors SPRT Data) (newline) ;; Next, determine if a sensor or the device has failed.
(ccnd ((eq? (car SPRT Data) (- (tear SPRT Data) 1)) ;; We can conclude that a sensor has failed, because ;; the tripped SPRTs are next to each other.
(airplay *** SENSOR N~ER A ) (display (cadr SPRT Data)) (display E~.S FAILED *_* ) (newline) (newline)) ((and (eq? (car SPRT Data) 1) (eq? (cadr SPRT Data) NSensars)) ;; We can conclude that the first sensor has famed, ;; because the first and last SPRTs have tripped.
(display *** SENSOR NUMBER A1 HAS FAILED **_ (newline) (newline)) (else ;; We can conclude that tine device has failed, since ;; the tripped SPRTs are not adjacent.
(display *** TFL ) (display DName) (display DEVICE FT_~.S F.~ILED *_* ) (newline) (newline) ) ) ) ((eq? NSPRTs 1) ;; In this case, 1 SPRT has tripped. This is due either to ;; a early indication of a sensor or device failure, or to ;; a spurious SPRT trip. We conclude a possible failure.
(display For the ) (display VName) (display physical variable of the ) (display DName) (display device: ) (newline) (display One SPRT has tripped - ) (DisplaySPRTs 1 NSensors SPRT Data) (newline) (display *** THE ) (display DName) (display DEVICE, ) (if (eq? (car SPRT Data) NSensors) (begin (display SENSOR NUMBER Al, ) (newline) (display OR SE21SOR NUMHER A ) (display NSensors) (display MAY BE FAILING ~** ) (newline) (newline) ) (begin (display SENSOR NUMBER A ) (display (car SPRT Data)) (display , ) (newline) -(display OR Se'2.1SOR NDMHER A ) (display (+ (car SPRT_Data) 1)) (display MAY 8E FAILING **~ ) (ne~.rline) (newline) ) ) ) ) ) ) ) ;; DualDevice procedure - This procedure contains the logic for the :; analysis of a SPRT group which has~2 devices.
(define DualDevice (lambda (InputData SPRT Data) ;; First use temporary variables to e:ctract the data from the InDUtData list and the number of tripped SPRTs. ' (let ( (NSensors (car InputData)) (DName (cadr InputData)) (VName (caddr InpucData)) (NSPRTs (length SPRT Data)) ) ;; The logic depends upon the number of tripped SPRTs.
(cond (( ~ NSPRTs 3) ;; In this csse, 3 or more SPRTs have tripped. First write message showing current device and physical variablz.
(display For the ) (display VName) (display physical variable of the ) (display DName) (display devices: ) (newline) (if (eq? NSPRTs (* NSensors 2)) If all or the sensors failed, (begin ; writs this message, (display All ) (display NSPRTs) (display SPRTs have tripped ) ) (begin ; or, a~rrit~ this messac_e.
(display These ) (display NSPRTs) (display of the ) ( display ( * NS~~ssors 2 ) )) (display SPRTs have tripped - ) (newline) (DisplaySPRTs 2 NSznsors SPRT Data) ) ) ;; We conclude that the de~rice has failed.
(pawl ine) (display *** ONE OR EOTfI OF 2'liE ) (display DName) (display DEVICs.'S HAVE F?~IT-.ED *_* ) (aewlinej (newline) ) _ ((eq? NSPRTs 2) ;; In this case, 2 SPRTs have tripped. First write ;; message showing cur_-enc davits and physical variable.
(display For the } (display VName) (dismay physical variable of the ) (display DName) (nisplay devices: ) (newline) ;; List the tripped SPRT_s.
(display These 3 of the ) (display (* NSe_~sors 2)) (display SPRTs have tripped - ) (newline) (DisplaySPRTs 2 NSansars SPRT Data) (newline) ;; Ne_~c~, determine if a sensor or the device has failed.
(coed ((eq? (car SPRT Daca) (- (tear SPRT Daca) 1)) ;; We can conclude that a se_ZSOr has failed, because ;; the tripped SPRTs ors ne_~ct to each otter.
(display *** SENSOR NUMBER ~) (if (even? (car SPRT_Data)) (begin (display 8 ) (display (* (/ (car SPRT_ Daca) 2) 1)) ) (begin -(display (display (T (auotient (car SPRT Data) 3) 1)) ) ) (display FiAS F?1ILED ***
(newline) (newline)) ((and (eq? (car SPRT Daca) 1) (eq? (cadr SPRT Daca) (* NSensors 2))) ;; we can conclude that the first sensor of the second ;; device has failed, because the first and last SPRT_s ;; have tripped.
(display *** SENSOR NUMBER Bl FiAS F.a.IhED *__ ) (newline) (newline)).
(else ;; we can conclude that the device has failed, since ;; the tripped SPRTs are not adjacent.
(display *_= ONE OR BOTH OF T'~ ) (display DName) (display DE4'ICES RAVE FAILED *** ) (newline) (newline) )) ) ) ((eq? NSPRTs 1) ;; In this case, 1 SPRT has tripped. This is due either to ;; a early indication of a sensor or device failure, or to ;; a spurious SPRT trip. we conclude a possible failure.
(display For the ) (display VName) (display physical variable oz the ) (display DName) (display devices: ) (newline) (display One SPRT has tripped - ) (DisplaySPRTs 2 NSensors SPRT Data) (newline) (display *** ONE OR BOTH OF TIC ) (display DName) (display DEVICES, ) (newline) iif (eq? (car SPRT Data) (* Nsensars 2)) (beg~.n (display SENSOR N~ER A ) (display NSensors) (display , OR Sr."NSOR NUMBER H1 M.~tY HE FAILING *** ) (newline) (newline) ) (begin (display SENSOR NL-MBE_R A
(if (even? (car SPRT_Data)) (begin (display (/ (car SPRT Data) 2)) (display OR SENSOR NUMBER B ) (display (+ (/ (csr SPRT Data) 2) 1)) (display MAY HE FAILING *_* ) ) (begin (display (* (quotient (car SPRT Data) 2) 1)) (display OR SENSOR NUMBER B ) (display (+ (quotient (car SPRT_Data) 2) 1)) (display M.~Y BE F.'4ILING *** ) ) ) (newline) (newiine) ) ) ) ) ) ) ) ;; MultipleDevice procedure - This procedure contains the logic for the ;; analysis of a SPRT group which has 3 or more devices.
(define MultiDleDevica (lambda (InputData SPRT Data) ;; First use temporarl variables to extract the data from the InputData ;; list, the number of tripped SPRTs, the names oz the tripped SPRTs, ;; and the list oz tripped SPRTs for the last device, and two temporary ;; variables for the main do loop in the procedure.
(let* ( (NDevices (car InputData)) (NSznsors (cadr InputData)) (DName (caddr InputData)) (VName (cadddr InputDaca)) (NSPRTs (length SPRT Data)) (DeviceList (NameTrippedSPRTs NDevices S2RT_Data)) (PreviousDevice (car (reverse Device=,ist))) (CurrentDevice ()) (NextDevice ()) ) ;; The logic depends upon the number of tripped SPRTs.
(tend ((eq? NSPRTs (* NSensors NDevices)) ;; In this case, all of the SPRTs have tripped. First write ;; a message showing current the devic_ and physical variable.
(display For the ) (display VName) WO 97/I4105 5~ PCT/ITS96/16092 (display physical variable of the ) (display DName) (display devices: ) (newline}
(display All ) (display~NSPRTs) (display SPBTs have tripped ) (newline) (display **~ ALL ) (display NDevices) (display OF TFfE }
(display DName) (display DEVICES IiaVE FAILED *** ) (newline} (newline} ) (( NSPRTs 0) ;; In this case, 1 or more of the SPRTs have tripped. So we ;; determine it any device or sensors have failed. First ;; write a message showing the current device and physical ;; variable. Then the names of the tripped SPRTs are displayed.
(display For the ) (display VName}
(display physical variable of the ) (display DName}
(display devices: ) (newline) (display These ) (display NSPRTs} (display of the ) (display (* NS2asors NDevices)) (display SPRTs have tripped - ) (newline) (DisplaySPRTs NDevices NSensors SPRT Data) (newline) ;; A do loop is used to step througa the list oz names of ;; tripped SPRTs. For each device, we can dete_--mine if the ;; device has famed, may be failing, or i= one oz its sensors ;; has or may be failing. The do list st=ps from device 1 to ;; NDevices. ' (do ( (SubList DeviceList (ear SubList)) ) ( (null? SubList) (newline} ) ;; Body of do loop.
;; First I reset the temporary variables which contain the list of tripped SPRTs for the cur_-ent and ne_sz ;; devices.
(sat! CursentDevice (car SubList)}
If this is the last pass through the do loop, then current device .is number NDevices and the ne:ct device is the first deric_ ti. e. , device number A] .
(if (null? (cdr SubList)) (set! NextDevice (car DeviceList}) (set! NextDevice (cadr SubList)} ) ;; The logic depends upon the numcer oz tripped SPDTs for the curt ent and nest de~ricas .
(cond ( (and (not (cull? CarrentDeric~) ) (not (null? Ne~tDevica)) ) ; ; In this case, the c~.srrant de~ric~ and the nest ;; device contain tripped SPRTs.
; Ne_~tt we chec)t to se. if the tripped SPRTs ;; imply a sensor has failed.
(if (and (et? (length ~urrentDerice) 1) (et? (length NextDevice) 1) (eq? (cedar CurrentDevice) (cedar NextDe~rice)) ) In this case, the csrrent and next de~rices ;; contain 1 tripped SPRT and the sensor num-;; bets of the SPRTs are the same.
(if (et? NSensors 1}
;; If the de~rices contain only 1 sensor, ;; then either the device or sensor has ;; failed.
(begin (display ~** DEVT_CE N~ER }
(display (cant Ne:czDevice)) (display OF TFDr ) (display DName}
(display DEVICES, ) (newline) (display OR SENSOR NUMBER ) (display (caar NextDevice)) (display (cedar CurrentDevice)) (display FiAS FAILED *_* ) (newline) ) ;; The devices contain more than 1 sensor.
;; We can conclude a sensor has failed.
(begin (display *** SENSOR NDNB~R ) (display (cant NextDevice)) (display (cedar CurrentDevice)) (display HAS FAILED *** ) (newline) ) ) ;; In this case more than 1 SPRT in either oz ;; the devices has tripped, therefore we can ;; conclude that the device has failed.
(begin ' (display *~* DEVICE NUMBER ) (display (cant NextDevice)) (display OF TFiE ) (display DName) (display DEVICES H.~S F.~1.ILED *** ) (newline) ) ) ; ; 2de_~c:. we ~hec:c to ses if the: current device ;;~ contains tripped SPRTs while the previous and ;; next devices don t.
(and ( (length CurrentDevic~) 0) (en? (length PreviousDevice) 0) . (eq? (length NextDevice) 0) ) ;; If only one S2RT has tripped, then we can t ;; 'conclude a failure, only that failure of the ;; current device or a sensor is possible.
(if (en? (length CurrentDevice) 1) (begin (display *** DEVICE NUMBER ) (display (cant CurrentDevice)) (display OR DEVICE NUMBER ) (display (caddar CurrentDevics)) (display OF THE ) (display DName) (display DEVICES, ) (newline) (display SENSOR NUMHE.R ) (display (caar Curre_~.tDevice)) (display (cedar CurrentDevice)) (display , OR SE2FSOR NUMBER ) (display (caddar CurrencDevica)) (display (cedar CurrentDevice)) (display MAY BE FAILING *__ ) (newline) ) ;; In this case, more than 1 SPRT in the ;; current device has tripped. Therefore we ;; can conclude that the current or the next ;; device has failed.
(begin (display *~~* DEVICE NUMBER ) (display (cant CurrencDe~rice)) (display OR DEVICE NUMBER ) (display (caddar CurrentDevice)) (display OF TIC ) (display DName) (newline ) (disalay DEVICES HAS FAILED **_ ) (newliae) ) ) ) ) ;; The last step is to update the PreviousDevice variable.
(set! PreviousDevice CurrentDevice) ) ) ) ) ) ) ;; NameTrippedSPRTs procedure - This internal procedure takes a list of ;; tripped SPRTs and converts each number of the tripped SPRT into the SPRT
name [e.g., A 1 S Z, is the corresponding SPRT name for tripped SPRT 1).
;; The output is a list of NDevs elements. Each of the elements contains ;; the name of tripped SPRTs far the corresponding device number (e.g., the ;; 3rd element contains the names of the tripped SPRTS for device C). If ;; none of the SPRTs for a device have tripped, then the corresaonding ele-;; meat is null. This procedure is applied only to device groups that ;; contain 3 or more devices.
(define NameTrippedSPRTs (lambda (NDevs SPRT List) ;; Create local list to store output data.
(let ( (DevList ()) ) ;; A do loop is used to step through each of the devices, from ;; device A to device NDevs. The loop variable, IDev, is the current ;; device cumber.
(do ( (IDev 1 (+ IDev 1)) ) ( ( NDevs IDev) (reverse De~rList) ) ; Reverse order of output.
(set! DevList ;; Apply the following unnamed function to each of the ;; eleme_~ts in SPRT List. Any null elements are removed ;; from the list returned by man. Finally, the returned ;; list is added to DevList.
(cons (Remove-Null ; Call function to remove nulls.
(map (lambda (SPRT) ; Unnamed internal function.
(if (eq? (modulo SPRT NDevs) (modulo IDe~r NDe~rs) ) ;; If the current element in SPRT List is a multiple of IDev, then:
(if (eg? (modulo SPRT NDevs) 0) ;; In this case the devices in the SPRT are ;; device A and device NDevs.
(list ;; Return list containing: letter ref-;; Bring to first device in the SPRT, (ascii- symbol (+ NDevs 6.~)) ;; number refering to the sensor, - (auoti e_ut SPRT NDevs) ;; the letter of the second device, A
;; and the sensor number again.
(cruorae_zt SPRT NDevs) ) ;; Else, (list ;; Return list containing: letter ref-;; Bring to first device in the SPRT, (ascii- symbol (+ IDes 64)) ;; number refering to the sensor, (+ (quotient SPRT NDevs) 1) ;; the letter of the second devics, (ascii- symbol (+ IDev 65)) ;; and the sensor number again.
(+ (quotient SP:tT NDevs) 1) ) ) ) ) SPRT List ) ) ;; Add result from Remove_rTull to DevList.
De~rLis t ) ) ) ) ) ) ;; RemoveNull procedure - This internal procedure recursively removes the ;; null elements from an input list [Let).
( de f ine Removeslul l (lambda (Let) (if (null? Let) If end of Lst is reached, ( ) ~ ; return null .
(if (null? (car Lst)) ; If 1st element in Lst is null, (RemoveNull (cdr Lst)) ; ignore it.
(cons (car Lst) ; Else add 1st element to output.
(RemoveNull (cdr Lst)) ) ) ) ) ) ;; DisplaySPRTs Procedure - This internal procedure outputs the names of ;; the tripped SPRTs in Lst. For each tripped SPRT listed in Lst, the pro-;; cedure determines the name (e.g., A1-A2, or A1-H1] of the SPRT and :; writes it to the screen.
(define DisplaySPRTs (lambda (NDevs NSens Lst) (cond ((null? Lst) Wit) ; Lst is empty, don t do anything.
((eq? NDevs 1) ; Case for single device SPRT.
(if (eq? (car Lst) NSens) (begin :: In this case, the last SPRT [AN-A1] has t=ipped.
(display A ) (display NSens) (display -~. ) ;; Display triped SPRTs in the remainder of the last.
(DisplaySPRTs NDevs NSzns (cdr Lst)) ) (begin ;; SPRT number AX-AX+1, where X is the first number in ;; the list, has tripped.
(display A ) (display (car Lst)) (display -A ) (display (+ (car Lst) 1)) (display ) ;; Display t=ipped SPRTs in the remai_~der of the list.
(DisplaySPRTs NDevs NSens (cdr Lst)) ) ) ) ((eq? NDevs 2) ; Case for dual device SPRT.
(if (eq? (car Lst) (~ NSens 2)) (begin ;; In this case, the last SPRT [AN-HI] has tria_n_ed.
(display A ) (display NSens) (display -B1 ) ;; Display tripped SPRTs in the remainder of the list.
(DisplaySPRTs NDevs NSens (cdr Lst)) ) (begin (display A ) (if (even? (car Lst)) (begin ;; SPRT number AX-HX+1, where X is the first number ;; in the list divided by 2 has tripped.
tdisplay (/ (car Lst) 2)) (display -B ) (display (+ (/ (car Lst) 2) 1)) ) (begin ;; SPRT number AX-HX, where X is .5 + the first num-;; ber in the list aivided by 2, has tripped.
(display (+ (quotient (car Lst) 2) 1)) (display -H ) (display (+ (quotient (car Lst) 2) 1)) ) ) (display ) ;; Display tripped SPRTs in the remainder of the list.
(DisplaySPRTs NDevs NSens (cdr Lst)) ) ) ) (else ; Case for multiple device SPRT.
(if (eq? (modulo (car Lst) NDevs) 0) ;; If the tripped SPRT is a multiple of the cumber of ;: devices, then the SPRT number is NX-AX, where N is the ;; number of devices, and X is the sensor number.
(begin ;; Latter representing device N.
(display (ascii- symbol (+ NDevs 6.~))) ;; Number of the sensor.

(display (quotient (car Lst) NDevs)) ;; Letter represeating device A.
(display "-A") -;; Number of the sensor.
(display (quotient (car Lst) NDevs)) ) (begin ;; If the tripped SPRT is not a multiple of the number of ;; devices, then the number of the first device is given ;; by the remainder of SPRT/NDevs.
;; Latter representing first device in tripped SPRT.
(display (ascii->symbol (+ (modulo (car Lst) NDevs) 6~t))) ;; Number of the sensor.
(display (+ (cuotient (car Lst) NDevs) 1)) (display "-~j Letter representing second de~rice in tripped SPRT.
(display (ascii~>symbol (+ (modulo (car Lst) NDevs) 65))) ;; Number of the sensor.
(display (+ (quotient (car Lst1 NDevs) 1)) ) ) (display " ") ;; Display tripped SPRTs in the remainder of the List.
(DisplaySPRTs NDers NSens (cdr Lst)) ) ) ) ) ;; Maim body of Analyze procedure.
;; The Analyze procedure is passed input data and t=~pped SBRT data super ;; lists. Each element of these lists contains the input data and list of ;; tripped SPRTs for a corresponding group oz inde?endent SPRTs. This por-;; tion of the procedure is a control routine whicz each element of the ;; super lists to the AnalyzeGroup procedure.
(if (null? SPRT_List) ; Quit if end cf list is reached.
~t (begin (AnalyzeGroup (car GroupList) ; Aaalyze ist element of the lists.
(car SPRT List) GroupCouat) (Aaalyze (cdr GroupList) ; Aaalyze remainder of the lists.
(cdr SPRT List) (+ 1 GroupCouat)) ) ) ) ;: End of the Analyze procedure.
aaaasssasssssassasaasaaassssssasssaaa:asasaasaaamasa:asaaaasaa:aasaasssaasas;

Claims (20)

The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:
1. A method of testing both an industrial process and a sensor for determining fault conditions therein, comprising the steps of:

determining, using computer means, a configuration of a minimum number of sensor pairs needed to test the industrial process and the sensor for state of operation;

operating at least a first and second sensor pair to redundantly detect at least one physical variable of the industrial process to provide a first signal from said first sensor and a second signal from said second sensor, each said signal being characteristic of the at least one physical variable;

obtaining a difference function characteristic of the arithmetic difference pairwise between said first signal and said second signal at each of a plurality of different times of sensing at least one physical variable;

obtaining a frequency domain transformation of said first difference function to procure Fourier coefficients corresponding to Fourier frequencies;

generating a composite function over time domain using the Fourier coefficients;

obtaining a residual function over time by determining the arithmetic difference between the difference function and the composite function, the residual function being substantially free of serially correlated noise;

operating on the residual function using the computer means for performing a statistical analysis technique to determine whether an alarm condition is present in at least one of the industrial process and the sensor, the residual function including white noise characteristics of an uncorrelated function of reduced skewness relative to the difference function and being input to the statistical analysis technique; and said at least one sensor pair providing alarm information to an operator of the industrial process allowing modification of at least one of the industrial process and said at least first and second sensor when an alarm condition is detected.
2. The method described is claim 1 wherein said computer means comprises an artificial intelligence system.
3. The method as defined in claim 1 wherein the residual function comprises reduced Markov dependent noise.
4. The method as defamed in claim 1 wherein the industrial process comprises at least one of a chemical process, a mechanical process and an electrical operational process.
5. The method as defined in claim 1 wherein the step of obtaining Fourier coefficients comprise iteratively determining the minimum number of Fourier harmonics able to generate the composite function.
6. The method as defined in claim 1 further including at least one of the steps of modifying the industrial process or changing the sensor responsive to the alarm condition.
7. A method of testing both an industrial process and a sensor for determining fault conditions therein, comprising the steps of:
determining, using computer means, a configuration of a minimum number of sensor pair signals needed to characterize the industrial process and the sensor state of operation;
operating at least a first sensor to detect at least one physical variable of the industrial process to provide a real signal from said first sensor;
generating an artificial signal characteristic of the at least one physical variable;
forming a sensor pair signal from said real signal and said artificial signal;
obtaining a difference function characteristic of the difference pairwise between said real signal and said artificial signal at each of a plurality of different times of sensing the at least one physical variable;
obtaining a frequency domain transformation of said difference function;
generating a composite function over a time domain;
obtaining a residual function over time by determining the difference between the frequency transformed difference function and the composite function;
operating on the residual function using the computer means for performing a statistical analysis technique to determine whether an alarm condition is present in at least one of the industrial process and the first sensor, the residual function including white noise characteristics of an uncorrelated signal of reduced skewness relative to the difference function and being input to the statistical analysis technique; and said first sensor providing alarm information to an operator of the industrial process allowing modification of at least one of the industrial process and the first sensor when an alarm condition is detected.
8. The method as defined in claim 7 wherein the step of obtaining a frequency domain transformation comprises performing a Fourier transformation.
9. The method as defined in claim 7 wherein the steps of obtaining a composite function over time comprises performing an auto regressive moving average analysis.
10. The method as defined in claim 7 further including the step of determining a difference function for both the artificial signal and the real signal as well as a separate pair of real signals.
11. The method as defined in claim 7 wherein the residual function comprises reduced Markov dependent noise.
12. The method as defined in claim 8 wherein the step of obtaining a frequency domain transformation comprises obtaining Fourier coefficients iteratively to determine the minimum number of Fourier harmonics able to generate the composite function.
13. A system for automatically configuring sensors for testing both an industrial process and a sensor for determining a fault condition therein, comprising:
computer means for configuring a minimum number of sensor pair signals needed to characterize the industrial process and the sensor state of operation;
at least a first sensor to detect at: least one physical variable of the industrial process to provide a first signal from said first sensor;
first means for generating a second sensor signal for comparison with said first signal from said first sensor;

second means for determining a difference function characteristic of the arithmetic difference pairwise between said first signal and said second signal at each of a plurality of different times of sensing the at least one physical variable;
third means for obtaining a residual function over time by means for determining the arithmetic difference between the difference function and the composite function, the residual function including white noise characteristics of an uncorrelated signal of reduced skewness;
fourth means for operating on the residual function, said fourth means including the computer means for executing a computer program for performing a statistical analysis technique and for determining whether an alarm condition is present in at least one of the industrial process and the sensor and with said second means, said third means and said fourth means cooperatively providing a function comprised of said white noise characteristics of uncorrelated signal of reduced skewness relative to the difference function as an input to the statistical analysis technique; and means for providing information allowing modification of at least one of the industrial process and the sensor when an alarm condition is detected.
14. The system as defined in claim 13 further including means for obtaining a frequency domain transformation of said difference function.
15. The system as defined in claim 13 wherein said computer means comprises an artificial intelligence system.
16. The system as defined in claim 13 wherein said means for generating a second signal comprises the computer means for executing a computer program.
17. The system as defined in claim 16 wherein the computer program includes an autoregressive moving average procedure.
18. The system as defined in claim 13 wherein the system includes at least one pair of sensors for detecting each of the at least one physical variables.
19. The system as defined in claim 13 wherein said computer means executes a computer program including a statistical probability ratio test on the residual function.
20. The system as defined in claim 13 further including means for changing at least one of the industrial process and substituting another sensor for a defective sensor.
CA002234452A 1995-10-10 1996-10-08 An expert system for testing industrial processes and determining sensor status Expired - Fee Related CA2234452C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/541,602 US5761090A (en) 1995-10-10 1995-10-10 Expert system for testing industrial processes and determining sensor status
US08/541,602 1995-10-10
PCT/US1996/016092 WO1997014105A1 (en) 1995-10-10 1996-10-08 An expert system for testing industrial processes and determining sensor status

Publications (2)

Publication Number Publication Date
CA2234452A1 CA2234452A1 (en) 1997-04-17
CA2234452C true CA2234452C (en) 2004-02-24

Family

ID=24160272

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002234452A Expired - Fee Related CA2234452C (en) 1995-10-10 1996-10-08 An expert system for testing industrial processes and determining sensor status

Country Status (6)

Country Link
US (1) US5761090A (en)
EP (1) EP0855061B1 (en)
AU (1) AU707304B2 (en)
CA (1) CA2234452C (en)
DE (1) DE69631594D1 (en)
WO (1) WO1997014105A1 (en)

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0825506B1 (en) 1996-08-20 2013-03-06 Invensys Systems, Inc. Methods and apparatus for remote process control
US6240372B1 (en) * 1997-11-14 2001-05-29 Arch Development Corporation System for surveillance of spectral signals
US5987399A (en) * 1998-01-14 1999-11-16 Arch Development Corporation Ultrasensitive surveillance of sensors and processes
DE59906108D1 (en) * 1998-04-17 2003-07-31 Siemens Ag ACOUSTIC DIAGNOSTIC SYSTEM AND METHOD
US6844197B1 (en) * 1998-04-17 2005-01-18 California Institute Of Technology Method for validating that the detection ability of a sensor array mimics a human nose detection ability
US6119111A (en) * 1998-06-09 2000-09-12 Arch Development Corporation Neuro-parity pattern recognition system and method
WO2000010059A1 (en) * 1998-08-17 2000-02-24 Aspen Technology, Inc. Sensor validation apparatus and method
US6594620B1 (en) * 1998-08-17 2003-07-15 Aspen Technology, Inc. Sensor validation apparatus and method
AU5025600A (en) * 1999-05-17 2000-12-05 Foxboro Company, The Process control configuration system with parameterized objects
US7089530B1 (en) 1999-05-17 2006-08-08 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
US6788980B1 (en) 1999-06-11 2004-09-07 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
US6876991B1 (en) 1999-11-08 2005-04-05 Collaborative Decision Platforms, Llc. System, method and computer program product for a collaborative decision platform
AU2001240127B2 (en) * 2000-03-09 2006-11-30 Smartsignal Corporation Generalized lensing angular similarity operator
US6957172B2 (en) 2000-03-09 2005-10-18 Smartsignal Corporation Complex signal decomposition and modeling
US7739096B2 (en) 2000-03-09 2010-06-15 Smartsignal Corporation System for extraction of representative data for training of adaptive process monitoring equipment
US6865509B1 (en) 2000-03-10 2005-03-08 Smiths Detection - Pasadena, Inc. System for providing control to an industrial process using one or more multidimensional variables
AU2001249138A1 (en) * 2000-03-10 2001-09-24 Cyrano Sciences, Inc. Measuring and analyzing multi-dimensional sensory information for identificationpurposes
US6952662B2 (en) * 2000-03-30 2005-10-04 Smartsignal Corporation Signal differentiation system using improved non-linear operator
US6484133B1 (en) 2000-03-31 2002-11-19 The University Of Chicago Sensor response rate accelerator
US6609036B1 (en) * 2000-06-09 2003-08-19 Randall L. Bickford Surveillance system and method having parameter estimation and operating mode partitioning
US6917839B2 (en) * 2000-06-09 2005-07-12 Intellectual Assets Llc Surveillance system and method having an operating mode partitioned fault classification model
US6606595B1 (en) * 2000-08-31 2003-08-12 Lucent Technologies Inc. HMM-based echo model for noise cancellation avoiding the problem of false triggers
US6477485B1 (en) * 2000-10-27 2002-11-05 Otis Elevator Company Monitoring system behavior using empirical distributions and cumulative distribution norms
US6556939B1 (en) 2000-11-22 2003-04-29 Smartsignal Corporation Inferential signal generator for instrumented equipment and processes
US7233886B2 (en) * 2001-01-19 2007-06-19 Smartsignal Corporation Adaptive modeling of changed states in predictive condition monitoring
EP1374167B1 (en) 2001-03-08 2010-05-12 California Institute Of Technology Real-time spatio-temporal coherence estimation for autonomous mode identification and invariance tracking
US7539597B2 (en) 2001-04-10 2009-05-26 Smartsignal Corporation Diagnostic systems and methods for predictive condition monitoring
US20020183971A1 (en) * 2001-04-10 2002-12-05 Wegerich Stephan W. Diagnostic systems and methods for predictive condition monitoring
US6668203B1 (en) 2001-04-26 2003-12-23 Sandia Corporation State machine analysis of sensor data from dynamic processes
US6839655B2 (en) 2001-05-25 2005-01-04 University Of Chicago System for monitoring non-coincident, nonstationary process signals
US6975962B2 (en) * 2001-06-11 2005-12-13 Smartsignal Corporation Residual signal alert generation for condition monitoring using approximated SPRT distribution
US6662091B2 (en) * 2001-06-29 2003-12-09 Battelle Memorial Institute Diagnostics/prognostics using wireless links
NZ530434A (en) 2001-07-02 2005-01-28 Battelle Memorial Institute Intelligent microsensor module
US6892163B1 (en) * 2002-03-08 2005-05-10 Intellectual Assets Llc Surveillance system and method having an adaptive sequential probability fault detection test
AUPS236502A0 (en) * 2002-05-16 2002-06-13 Peterson, Paul Method of monitoring measurements
US7228249B2 (en) * 2002-11-19 2007-06-05 General Motors Corporation Methods and apparatus for determining the condition of a sensor and identifying the failure thereof
EP1649166B1 (en) * 2003-06-27 2007-02-28 Helix Technology Corporation Integration of automated cryopump safety purge
US7096159B2 (en) * 2003-09-05 2006-08-22 Siemens Corporate Research Corp. System and method for detecting and excluding outlier sensors in sensor-based monitoring
US20060074558A1 (en) * 2003-11-26 2006-04-06 Williamson Walton R Fault-tolerant system, apparatus and method
US7308382B2 (en) * 2004-01-16 2007-12-11 Siemens Power Transmission & Distribution, Inc. Determining the minimum operation and shutdown time
US7761923B2 (en) 2004-03-01 2010-07-20 Invensys Systems, Inc. Process control methods and apparatus for intrusion detection, protection and network hardening
US7451003B2 (en) * 2004-03-04 2008-11-11 Falconeer Technologies Llc Method and system of monitoring, sensor validation and predictive fault analysis
PL207601B1 (en) * 2004-08-09 2011-01-31 ABB Spółka z ograniczoną odpowiedzialnością Method and system for the diagnosis of technological devices
US7953577B2 (en) * 2004-08-25 2011-05-31 Siemens Corporation Method and apparatus for improved fault detection in power generation equipment
US7188050B2 (en) * 2004-08-25 2007-03-06 Siemens Corporate Research, Inc. Method and apparatus for detecting out-of-range conditions in power generation equipment operations
US20060042278A1 (en) * 2004-08-31 2006-03-02 Thermo King Corporation Mobile refrigeration system and method of detecting sensor failures therein
US20060293859A1 (en) * 2005-04-13 2006-12-28 Venture Gain L.L.C. Analysis of transcriptomic data using similarity based modeling
KR101322434B1 (en) * 2005-07-11 2013-10-28 브룩스 오토메이션 인코퍼레이티드 Intelligent condition-monitoring and fault diagnostic system
US9104650B2 (en) 2005-07-11 2015-08-11 Brooks Automation, Inc. Intelligent condition monitoring and fault diagnostic system for preventative maintenance
US7860857B2 (en) 2006-03-30 2010-12-28 Invensys Systems, Inc. Digital data processing apparatus and methods for improving plant performance
US8116566B2 (en) * 2006-08-28 2012-02-14 Colorado State University Research Foundation Unknown pattern set recognition
US8046200B2 (en) 2006-09-05 2011-10-25 Colorado State University Research Foundation Nonlinear function approximation over high-dimensional domains
US8275577B2 (en) * 2006-09-19 2012-09-25 Smartsignal Corporation Kernel-based method for detecting boiler tube leaks
US8311774B2 (en) 2006-12-15 2012-11-13 Smartsignal Corporation Robust distance measures for on-line monitoring
FR2910689B1 (en) * 2006-12-22 2017-10-06 Commissariat A L'energie Atomique METHOD FOR FILTERING A NEUTRONIC TIME FLOW SIGNAL AND ASSOCIATED DEVICE
US7917540B2 (en) * 2007-02-22 2011-03-29 Colorado State University Research Foundation Nonlinear set to set pattern recognition
US7921350B2 (en) * 2007-03-05 2011-04-05 General Electric Company System and method for fault detection and localization in time series and spatial data
US8700550B1 (en) * 2007-11-30 2014-04-15 Intellectual Assets Llc Adaptive model training system and method
EP2304536A4 (en) 2008-06-20 2012-08-15 Invensys Sys Inc Systems and methods for immersive interaction with actual and/or simulated facilities for process, environmental and industrial control
US8463964B2 (en) 2009-05-29 2013-06-11 Invensys Systems, Inc. Methods and apparatus for control configuration with enhanced change-tracking
US8127060B2 (en) 2009-05-29 2012-02-28 Invensys Systems, Inc Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware
JP5739182B2 (en) * 2011-02-04 2015-06-24 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Control system, method and program
US9256224B2 (en) 2011-07-19 2016-02-09 GE Intelligent Platforms, Inc Method of sequential kernel regression modeling for forecasting and prognostics
US8620853B2 (en) 2011-07-19 2013-12-31 Smartsignal Corporation Monitoring method using kernel regression modeling with pattern sequences
US8660980B2 (en) 2011-07-19 2014-02-25 Smartsignal Corporation Monitoring system using kernel regression modeling with pattern sequences
US9250625B2 (en) 2011-07-19 2016-02-02 Ge Intelligent Platforms, Inc. System of sequential kernel regression modeling for forecasting and prognostics
WO2017210917A1 (en) 2016-06-10 2017-12-14 Honeywell International Inc. Integrated testing mechanism for industrial process control and automation systems
FR3065803B1 (en) * 2017-04-26 2019-08-30 Safran METHOD FOR DETECTING VIBRATION SENSOR FAULT, COMPUTER DEVICE AND COMPUTER PROGRAM
WO2019077422A1 (en) * 2017-10-16 2019-04-25 Abb Schweiz Ag Remote verification of field devices in industrial plants
US11099219B2 (en) * 2018-03-26 2021-08-24 Oracle International Corporation Estimating the remaining useful life of a power transformer based on real-time sensor data and periodic dissolved gas analyses
US11768748B2 (en) * 2021-11-24 2023-09-26 Intel Corporation Detection of degradation or an anomalous state across heterogenous internet-of-things devices using synthesized sensors
WO2023232360A1 (en) * 2022-05-31 2023-12-07 Asml Netherlands B.V. Method for determining a failure event on a lithography system and associated failure detection module

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3710082A (en) * 1970-03-03 1973-01-09 Time Data Corp System for digitally controlling a vibration testing environment or apparatus
US3848115A (en) * 1973-10-19 1974-11-12 Time Date Corp Vibration control system
US4060716A (en) * 1975-05-19 1977-11-29 Rockwell International Corporation Method and apparatus for automatic abnormal events monitor in operating plants
US4133039A (en) * 1976-11-09 1979-01-02 Westinghouse Electric Corp. True mean rate measuring system
FR2386199A1 (en) * 1977-04-01 1978-10-27 Bailey Controle PROCESS FOR SELF-SIGNALING OF FAILURES OF A STATIC SAFETY AUTOMATION MODULE AND MODULE IMPLEMENTING SUCH PROCEDURE
US4399095A (en) * 1977-12-16 1983-08-16 Westinghouse Electric Corp. Protection and control system for a nuclear reactor
FR2426933A1 (en) * 1978-05-25 1979-12-21 Framatome Sa WATER LEVEL REGULATION PROCESS IN BOILERS OR STEAM GENERATORS
US4292129A (en) * 1979-02-14 1981-09-29 Westinghouse Electric Corp. Monitoring of operating processes
JPS5717027A (en) * 1980-07-03 1982-01-28 Hitachi Ltd Vibration reducing device of electric machinery
EP0121048B1 (en) * 1983-03-04 1987-05-06 Cerberus Ag Circuit arrangement for the interference level control of detectors, arranged in a danger detection device
US4658245A (en) * 1983-04-29 1987-04-14 The Warner & Swasey Company Tool condition and failure monitoring apparatus and method
FR2546330B1 (en) * 1983-05-19 1985-08-23 Framatome Sa METHOD FOR DETECTING FAULTS IN THE CORE POWER DISTRIBUTION OF A PRESSURE WATER NUCLEAR REACTOR AND DEVICE FOR CARRYING OUT SAID METHOD
US4611197A (en) * 1985-02-19 1986-09-09 Sansky Michael J Malfunction-detecting status monitoring system
DE3515061A1 (en) * 1985-04-26 1986-10-30 Fried. Krupp Gmbh, 4300 Essen METHOD AND DEVICE FOR MONITORING MACHINE PARTS
US4715000A (en) * 1985-08-06 1987-12-22 General Electric Company Digital phase-locked loop and frequency measuring device
US4697170A (en) * 1985-10-31 1987-09-29 Minnesota Mining And Manufacturing Company Method for minimizing false alarms and electronic noise in electronic article surveillance systems.
US4772445A (en) * 1985-12-23 1988-09-20 Electric Power Research Institute System for determining DC drift and noise level using parity-space validation
US4816208A (en) * 1986-02-14 1989-03-28 Westinghouse Electric Corp. Alarm management system
US4707688A (en) * 1986-03-03 1987-11-17 General Electric Company Detection of tool breaks that cause slowly decreasing cutting noise
US4707687A (en) * 1986-05-05 1987-11-17 General Electric Company Detector to discriminate between tool break acoustic signatures and spiky noise
US5140858A (en) * 1986-05-30 1992-08-25 Koyo Seiko Co. Ltd. Method for predicting destruction of a bearing utilizing a rolling-fatigue-related frequency range of AE signals
US4744242A (en) * 1986-09-16 1988-05-17 The Boeing Company Method for monitoring cutting tool wear during a machining operation
US4783307A (en) * 1987-03-05 1988-11-08 Commonwealth Edison Company Reactor control system verification
JPH07119827B2 (en) * 1987-12-25 1995-12-20 三菱電機株式会社 Measuring device of reactor power distribution
US4849741A (en) * 1988-01-13 1989-07-18 General Electric Company Tool break detecting method and system preventing false alarms due to rough surfaces
AU2684888A (en) * 1988-01-21 1989-07-27 Honeywell Inc. Fuel burner control system with analog sensors
US4803040A (en) * 1988-01-21 1989-02-07 The United States Of America As Represented By The United States Department Of Energy Expert system for surveillance and diagnosis of breach fuel elements
US5103402A (en) * 1988-07-05 1992-04-07 Tektronix, Inc. Method and apparatus for identifying, saving, and analyzing continuous frequency domain data in a spectrum analyzer
US5009833A (en) * 1989-01-11 1991-04-23 Westinghouse Electric Corp. Expert system for surveillance, diagnosis and prognosis of plant operation
JPH0660826B2 (en) * 1989-02-07 1994-08-10 動力炉・核燃料開発事業団 Plant abnormality diagnosis method
US5024801A (en) * 1989-05-01 1991-06-18 Westinghouse Electric Corp. Reactor core model update system
US5192493A (en) * 1989-08-30 1993-03-09 Westinghouse Electric Corp. Median signal selector for feedwater control systems
US4977390A (en) * 1989-10-19 1990-12-11 Niagara Mohawk Power Corporation Real time method for processing alaarms generated within a predetermined system
US5214577A (en) * 1990-10-24 1993-05-25 Osaka Gas Co., Ltd. Automatic test generation for model-based real-time fault diagnostic systems
JPH0590661A (en) * 1991-04-26 1993-04-09 Fanuc Ltd Abnormality detection of blower bearing for gas laser apparatus
US5319572A (en) * 1991-10-02 1994-06-07 Westinghouse Electric Corp. Electrohydraulic fluid monitor system
US5459675A (en) * 1992-01-29 1995-10-17 Arch Development Corporation System for monitoring an industrial process and determining sensor status
US5223207A (en) * 1992-01-29 1993-06-29 The United States Of America As Represented By The United States Department Of Energy Expert system for online surveillance of nuclear reactor coolant pumps
US5309485A (en) * 1992-07-06 1994-05-03 General Electric Company Core automated monitoring system

Also Published As

Publication number Publication date
CA2234452A1 (en) 1997-04-17
DE69631594D1 (en) 2004-03-25
EP0855061B1 (en) 2004-02-18
US5761090A (en) 1998-06-02
EP0855061A1 (en) 1998-07-29
EP0855061A4 (en) 1999-01-13
AU707304B2 (en) 1999-07-08
WO1997014105A1 (en) 1997-04-17
AU7395596A (en) 1997-04-30

Similar Documents

Publication Publication Date Title
CA2234452C (en) An expert system for testing industrial processes and determining sensor status
WO1997014105A9 (en) An expert system for testing industrial processes and determining sensor status
US5410492A (en) Processing data base information having nonwhite noise
US5459675A (en) System for monitoring an industrial process and determining sensor status
US6240372B1 (en) System for surveillance of spectral signals
WO1997008627A1 (en) A neural network based system for equipment surveillance
Messai et al. On-line fault detection of a fuel rod temperature measurement sensor in a nuclear reactor core using ANNs
CN113657454B (en) Nuclear power rotating machinery state monitoring method based on autoregressive BiGRU
JPH0392795A (en) Diagnostic method of nuclear power plant
EP0347645A2 (en) Monitoring a plurality of parameters from identical processes
Ortiz-Villafuerte et al. BWR online monitoring system based on noise analysis
CN110717287A (en) Temperature strain-based rigidity identification method for space steel structure support
JP7290480B2 (en) Condition monitor
Khanday et al. Economic design of x̄ control chart under double EWMA
Roverso Neural ensembles for event identification
Subekti et al. The development of anomaly diagnosis method using neuro-expert for PWR monitoring system
CN116204760B (en) Drilling strain data anomaly extraction method based on GRU network
Concepcion et al. Kaiser and Cumulative Proportion Principal Component Analysis for Temperature Compensation of Vibration in Reinforced Concrete Bridge
Lancini et al. Diagnosing ancient monuments with expert software
Turkcan et al. Operational experiences on the Borssele nuclear power plant using computer based surveillance and diagnostic system on-line
JPH0797436B2 (en) Power plant transient data display
JPH08304125A (en) Plant diagnosing apparatus
Hines et al. An evaluation of instrument calibration monitoring using artificial neural networks
CN117236167A (en) SMR sensor fault detection method based on numerical reconstruction and Bayesian estimation
Todd et al. The design of a decision support system for the vibration monitoring of turbine generators

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed