diff --git a/pt100/plddouble.dia b/pt100/plddouble.dia new file mode 100644 index 0000000..5b11cc5 Binary files /dev/null and b/pt100/plddouble.dia differ diff --git a/pt100/plddouble.jpg b/pt100/plddouble.jpg new file mode 100644 index 0000000..97b25d7 Binary files /dev/null and b/pt100/plddouble.jpg differ diff --git a/pt100/plddoublesymptom.dia b/pt100/plddoublesymptom.dia new file mode 100644 index 0000000..157cc94 Binary files /dev/null and b/pt100/plddoublesymptom.dia differ diff --git a/pt100/plddoublesymptom.jpg b/pt100/plddoublesymptom.jpg new file mode 100644 index 0000000..979085b Binary files /dev/null and b/pt100/plddoublesymptom.jpg differ diff --git a/pt100/pt100.tex b/pt100/pt100.tex index 926a252..4ef2022 100644 --- a/pt100/pt100.tex +++ b/pt100/pt100.tex @@ -268,7 +268,7 @@ and are thus enclosed by one contour each. \label{fig:pt100_tc} \end{figure} -ating input Fault +%ating input Fault This circuit supplies two results, sense+ and sense- voltage readings. To establish the valid voltage ranges for these, and knowing our valid temperature range for this example ({0\oc} .. {300\oc}) we can calculate @@ -612,19 +612,42 @@ TC 18: & $R_2$ SHORT $R_3$ SHORT & low & low & Both out of Rang \subsection{Verifying complete coverage for a \\ cardinality constrained powerset of 2} + + It is important to check that we have covered all possible double fault combinations. -We can use the equation \ref{eqn:correctedccps2}, reproduced below to verify this. - - +We can use the equation \ref{eqn:correctedccps2} +\ifthenelse {\boolean{paper}} +{ +from the definitions paper +\ref{pap:compdef} +, +reproduced below to verify this. +\indent{ + where: + \begin{itemize} + \item The set $SU$ represents the components in the functional~group. + \item The function $FM$ takes a component as an argument and returns its set of failure modes. + \item $cc$ is the cardinality constraint, here 2 as we are interested in double and single faults. + \end{itemize} +} \begin{equation} |{\mathcal{P}_{cc}SU}| = {\sum^{k}_{1..cc} \frac{|{SU}|!}{k!(|{SU}| - k)!}} - \sum^{p}_{2..cc}{{\sum^{j}_{j \in J} \frac{|FM({C_j})|!}{p!(|FM({C_j})| - p)!}} } - %\label{eqn:correctedccps2} + \label{eqn:correctedccps2} \end{equation} +} +{ +\begin{equation} + |{\mathcal{P}_{cc}SU}| = {\sum^{k}_{1..cc} \frac{|{SU}|!}{k!(|{SU}| - k)!}} +- \sum^{p}_{2..cc}{{\sum^{j}_{j \in J} \frac{|FM({C_j})|!}{p!(|FM({C_j})| - p)!}} } + %\label{eqn:correctedccps2} +\end{equation} +} -$|FM(C_j)|$ is always 2 here, as all the components are resistors and have two failure modes. + +$|FM(C_j)|$ will always be 2 here, as all the components are resistors and have two failure modes. % % Factorial of zero is one ! You can only arrange an empty set one way ! @@ -740,13 +763,77 @@ The sense- value will be out of range. This shorts the sense+ and sense- to Vcc. Both values will be out of range. +\clearpage +\subsection{Double Faults Represented on a PLD Diagram} + +We can show the test cases on a diagram with the double faults residing on regions +corresponding to overlapping contours see figure \ref{fig:plddouble}. +Thus $TC\_18$ will be enclosed by the $R2\_SHORT$ contour and the $R3\_SHORT$ contour. +\begin{figure}[h] + \centering + \includegraphics[width=450pt,bb=0 0 730 641,keepaspectratio=true]{pt100/plddouble.jpg} + % plddouble.jpg: 730x641 pixel, 72dpi, 25.75x22.61 cm, bb=0 0 730 641 + \caption{PT100 Double Simultaneous Faults} + \label{fig:plddouble} +\end{figure} +The usefulnes of equation \ref{eqn:correctedccps2} is apparent. From the diagram it is easy to verify +the number of failure modes considered for each test case, but complete coverage for +a given cardinality constraint is not visually obvious. + +\subsubsection{Symptom Extraction} + +We can now examine the results of the test case analysis and apply symptom abstraction. +In all the test case results we have at least one an out of range value, except for +$TC\_7$ +which has two unknown values/floating readings. We can collect all the faults, except $TC\_7$, +into the symptom $OUT\_OF\_RANGE$. +As a symptom $TC\_7$ could be described as $FLOATING$. We can thus draw a PLD diagram representing the +failure modes of this functional~group, the pt100 circuit from the perspective of double simultaneous failures, +in figure \ref{fig:dubsim}. + + +\begin{figure}[h] + \centering + \includegraphics[width=450pt,bb=0 0 730 641,keepaspectratio=true]{pt100/plddoublesymptom.jpg} + % plddouble.jpg: 730x641 pixel, 72dpi, 25.75x22.61 cm, bb=0 0 730 641 + \caption{PT100 Double Simultaneous Faults} + \label{fig:plddoublesymptom} +\end{figure} + + +\clearpage +\subsection{Derived Component : The PT100 Circuit} +The PT100 circuit again, can now be treated as a component in its own right, and has two failure modes, +{\textbf{OUT\_OF\_RANGE}} and {\textbf{FLOATING}}. It can now be represented as a PLD see figure \ref{fig:pt100_doublef}. + +\begin{figure}[h] + \centering + \includegraphics[width=100pt,bb=0 0 167 194,keepaspectratio=true]{./pt100/pt100_doublef.jpg} + % pt100_singlef.jpg: 167x194 pixel, 72dpi, 5.89x6.84 cm, bb=0 0 167 194 + \caption{PT100 Circuit Failure Modes : From Double Faults Analysis} + \label{fig:pt100_doublef} +\end{figure} + +\subsection{Statistics} + +If we consider the failure modes to be statistically independent we can calculate +the FIT values for all the failures. The failure mode of concern, the undetectable {\textbf{FLOATING}} condition +requires that resistors $R_1$ and $R_2$ fail. We can multiply the MTTF +together and find an MTTF for both failing. The FIT value of 12.42 corresponds to +$12.42 \times {10}^{-9}$ failures per hour. Squaring this gives $ 154.3 \times {10}^{-18} $. +This is an astronomically small MTTF, and so small that it would +probably fall below a threshold to sensibly consider. +However, it is very interesting from a failure analysis perspective, +because here we have found a fault that we cannot detect at this +level. This means that should we wish to cope with +this fault, we need to devise a way of detecting this +condition in higher levels of the system. \vspace{20pt} -typeset in {\Huge \LaTeX} \today - +%typeset in {\Huge \LaTeX} \today diff --git a/pt100/pt100_doublef.dia b/pt100/pt100_doublef.dia new file mode 100644 index 0000000..2f65a34 Binary files /dev/null and b/pt100/pt100_doublef.dia differ diff --git a/pt100/pt100_doublef.jpg b/pt100/pt100_doublef.jpg new file mode 100644 index 0000000..e824d4f Binary files /dev/null and b/pt100/pt100_doublef.jpg differ