journal written up a little
This commit is contained in:
parent
7e8adca4ea
commit
6b896a5ba2
@ -1,31 +1,49 @@
|
|||||||
|
|
||||||
|
|
||||||
|
\section{Variables Bounds checks}
|
||||||
|
|
||||||
copy.tex
|
Variables read are often expected to fall within a certain range.
|
||||||
copy.tex
|
A voltage reading for instance might be expected to be, say 2.5V.
|
||||||
copy.tex
|
It may be necessary to check this periodically.
|
||||||
copy.tex
|
Because of niose and acceptable drift factors of components as they age
|
||||||
copy.tex
|
expecting it to read exactly 2.5V would be impractical, and would
|
||||||
copy.tex
|
probably cause a nuisance failure at some time in the future.
|
||||||
copy.tex
|
|
||||||
copy.tex
|
|
||||||
copy.tex
|
|
||||||
copy.tex
|
|
||||||
copy.tex
|
|
||||||
copy.tex
|
|
||||||
copy.tex
|
|
||||||
copy.tex
|
|
||||||
copy.tex
|
|
||||||
copy.tex
|
|
||||||
copy.tex
|
|
||||||
copy.tex
|
|
||||||
copy.tex
|
|
||||||
copy.tex
|
|
||||||
copy.tex
|
|
||||||
copy.tex
|
|
||||||
copy.tex
|
|
||||||
copy.tex
|
|
||||||
copy.tex
|
|
||||||
copy.tex
|
|
||||||
copy.tex
|
|
||||||
|
|
||||||
|
The solution to this is to apply a range, or a plus minus acceptable value.
|
||||||
|
|
||||||
|
$$ diff = signal - expected $$
|
||||||
|
|
||||||
|
The absolute value of this difference can be used and compared to
|
||||||
|
the acceptable range.
|
||||||
|
|
||||||
|
The C ABS macro is useful for this.
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
#define ABS(x) if (x > 0) : (x) : (-x)
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
Care must be taken however when passing parameters.
|
||||||
|
|
||||||
|
For instance this may look acceptable in C
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
if (ABS(signal - expected) > THRESHOLD )
|
||||||
|
raise_error();
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
It expands to
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
if ( signal - expected ? (signal - expected) : -(signal - expected) > THRESHOLD )
|
||||||
|
raise_error();
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
What ths has done is put \textbf{-(signal - expected) > THRESHOLD} as the final argument to the macro.
|
||||||
|
|
||||||
|
The C operator greater than, $>$, binds higher than than $?:$ so the results you will get will
|
||||||
|
not be what you expect. The correct way to perform put the ABS call in brackets.
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
if ( (ABS(signal - expected)) > THRESHOLD )
|
||||||
|
raise_error();
|
||||||
|
\end{verbatim}
|
@ -73,8 +73,10 @@
|
|||||||
%\typeout{>>--------------------->> introduction}
|
%\typeout{>>--------------------->> introduction}
|
||||||
\chapter{Introduction}
|
\chapter{Introduction}
|
||||||
\input{CH1_introduction/copy}
|
\input{CH1_introduction/copy}
|
||||||
|
|
||||||
\chapter{Self Checking}
|
\chapter{Self Checking}
|
||||||
\input{Self_Checking/copy}
|
\input{Self_Checking/copy}
|
||||||
|
|
||||||
\chapter{Monitors and instrument loops}
|
\chapter{Monitors and instrument loops}
|
||||||
\input{Monitors_intrument_loops/copy}
|
\input{Monitors_intrument_loops/copy}
|
||||||
\chapter{Binary Scaling}
|
\chapter{Binary Scaling}
|
||||||
|
@ -413,7 +413,7 @@ For instance should the signal path be followed, with all components encountere
|
|||||||
\paragraph{Exhaustive Single Failure FMEA.}
|
\paragraph{Exhaustive Single Failure FMEA.}
|
||||||
%\fmmdglossXFMEA
|
%\fmmdglossXFMEA
|
||||||
%
|
%
|
||||||
To XFMEA, every possible interaction
|
To perform XFMEA, every possible interaction
|
||||||
of a failure mode with all other components in a system would have to be examined.
|
of a failure mode with all other components in a system would have to be examined.
|
||||||
%
|
%
|
||||||
Or in other words, all possible failure scenarios considered.
|
Or in other words, all possible failure scenarios considered.
|
||||||
@ -449,14 +449,14 @@ double failure scenarios (for burner lock-out scenarios).}
|
|||||||
Where $RD_{double}$ is the reasoning~distance for double failure scenarios:
|
Where $RD_{double}$ is the reasoning~distance for double failure scenarios:
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\label{eqn:fmea_double}
|
\label{eqn:fmea_double}
|
||||||
RD_{double} = N.(N-1).(N-2).f . % \\
|
RD_{double} = N.(N-1).(N-2).{f}^{2}% \\
|
||||||
%(N^2 - N).f
|
%(N^2 - N).f
|
||||||
\end{equation}
|
\end{equation}
|
||||||
%
|
%
|
||||||
For a theoretical system with 100 components and a fixed 3 failure modes each, this gives reasoning distance of
|
For a theoretical system with 100 components and a fixed 3 failure modes each, this gives reasoning distance of
|
||||||
$100 \times 99 \times 98 \times 3 = 2,910,600$. % failure mode scenarios.
|
$100 \times 99 \times 98 \times 9 = 8,731,800 $. % failure mode scenarios.
|
||||||
%
|
%
|
||||||
In practise there is an additional complication here, that of
|
In practise there is an additional complication; that of
|
||||||
the circuit topology changes that {\fms} can cause.
|
the circuit topology changes that {\fms} can cause.
|
||||||
|
|
||||||
\paragraph{Reliance on experts for meaningful FMEA Analysis.}
|
\paragraph{Reliance on experts for meaningful FMEA Analysis.}
|
||||||
|
Loading…
Reference in New Issue
Block a user