Shoehorned whole noninvopamp into it

This commit is contained in:
Robin Clark 2011-06-17 20:26:17 +01:00
parent cc5791f7b8
commit a762c1db5c

View File

@ -9,7 +9,7 @@
\usepackage{ifthen}
\usepackage{lastpage}
\usetikzlibrary{shapes,snakes}
\newcommand{\tickYES}{\checkmark}
%\newboolean{paper}
@ -39,7 +39,14 @@ failure mode of the component or sub-system}}}
\newcommand{\frategloss}{\glossary{name={failure rate}, description={The number of failure within a population (of size N), divided by N over a given time interval}}}
\newcommand{\pecgloss}{\glossary{name={PEC},description={A Programmable Electronic controller, will typically consist of sensors and actuators interfaced electronically, with some firmware/software component in overall control}}}
\newcommand{\bcfm}{base~component~failure~mode}
\def\layersep{2.5cm}
\def\layersep{2.0cm}
\newboolean{pld}
\setboolean{pld}{false} % boolvar=true or false : draw analysis using propositional logic diagrams
\newboolean{dag}
\setboolean{dag}{true} % boolvar=true or false : draw analysis using directed acylic graphs
\begin{document}
\pagestyle{fancy}
@ -52,7 +59,7 @@ failure mode of the component or sub-system}}}
\lhead{Developing a rigorous bottom-up modular static failure mode modelling methodology}
% numbers at outer edges
\pagenumbering{arabic} % Arabic page numbers hereafter
\author{R.P.Clark$^\star$ , A.~Fish$^\dagger$ , C.~Garret$^\dagger$, J.~Howse$^\dagger$ \\
\author{R.P.Clark$^\star$ , A.~Fish$^\dagger$ , C.~Garrett$^\dagger$, J.~Howse$^\dagger$ \\
$^\star${\em Energy Technology Control, 25 North Street, Lewes, BN7 2PE, UK} \and $^\dagger${\em University of Brighton, UK}
}
@ -390,35 +397,36 @@ Alternatively they could be self~checking sub-systems that are either in a norma
Operational states are conditions that apply to some functional groups, not individual components.
A standard non inverting op amp (from ``The Art of Electronics'' ~\cite{aoe}[pp.234]) is shown in figure \ref{fig:noninvamp}.
\section{Worked example: Non Inverting Operational Amplifier}
\subsection{FMMD analysis Example: A Voltage/Potential Divider}
\begin{figure}
\begin{figure}[h]
\centering
\includegraphics[width=125pt,keepaspectratio=true]{./pd.png}
% pd.png: 364x241 pixel, 72dpi, 12.84x8.50 cm, bb=0 0 364 241
\caption{Potential Divider Circuit}
\label{fig:pd}
\includegraphics[width=200pt,keepaspectratio=true]{../../noninvopamp/noninv.png}
% noninv.jpg: 341x186 pixel, 72dpi, 12.03x6.56 cm, bb=0 0 341 186
\caption{Standard non inverting amplifier configuration}
\label{fig:noninvamp}
\end{figure}
We consider here an example functional group, the potential divider\footnote{A commonly used configuration in electronics to provide specific voltage levels}
which consists of two resistors used to provide a voltage
intermediate of its supply and ground rails.
%It consists of two resistors.
%
%A functional group, is an ideally small in number collection of components,
%that interact to provide
%a function or task within a system.
%As the resistors work to provide a specific function, that of a potential divider,
%we can treat them as a functional group. i
The potential divider `functional~group' has two members, $R1$ and $R2$.
Using the EN298 specification for resistor failure ~\cite{en298}[App.A]
we can assign the failure modes of $OPEN$ and $SHORT$ to each of the resistors.
This is shown as a graph in figure \ref{fig:rdag}.
%\ifthenelse {\boolean{dag}}
%{
The function of the resistors in this circuit is to set the amplifier gain.
They operate as a potential divider and program the minus input on the op-amp
to balance them against the positive input, giving the voltage gain ($G_v$)
defined by $ G_v = 1 + \frac{R2}{R1} $ at the output.
A functional group, is an ideally small in number collection of components,
that interact to provide
a function or task within a system.
As the resistors work to provide a specific function, that of a potential divider,
we can treat them as a functional group. This functional group has two members, $R1$ and $R2$.
Using the EN298 specification for resistor failure ~\cite{en298}[App.A]
we can assign failure modes of $OPEN$ and $SHORT$ to the resistors.
\ifthenelse {\boolean{dag}}
{
We can now represent a resistor in terms of its failure modes as a directed acyclic graph (DAG)
(see figure \ref{fig:rdag}).
\begin{figure}[h+]
@ -436,27 +444,40 @@ We can now represent a resistor in terms of its failure modes as a directed acyc
\path (R) edge (RSHORT);
\path (R) edge (ROPEN);
\end{tikzpicture}
\caption{DAG representing a resistor and its failure modes}
\caption{DAG representing a reistor and its failure modes}
\label{fig:rdag}
\end{figure}
%}section
%{
%}
\vbox{
Thus or the potential divider in the circuit in figure~\ref{fig:pd},
$R1$ has failure modes $\{R1\_OPEN, R1\_SHORT\}$ and $R2$ has failure modes $\{R2\_OPEN, R2\_SHORT\}$.
}
{
}
Thus $R1$ has failure modes $\{R1\_OPEN, R1\_SHORT\}$ and $R2$ has failure modes $\{R2\_OPEN, R2\_SHORT\}$.
%\clearpage
\paragraph{Failure Mode Analysis of the Potential Divider}
\section{Failure Mode Analysis of the Potential Divider}
\ifthenelse {\boolean{pld}}
{
Modelling this as a functional group, we can draw a simple closed curve
to represent each failure mode, taken from the components R1 and R2,
in the potential divider, shown in figure \ref{fig:fg1}.
\begin{figure}[h]
\centering
\includegraphics[width=200pt,keepaspectratio=true]{./noninvopamp/fg1.png}
% fg1.jpg: 430x271 pixel, 72dpi, 15.17x9.56 cm, bb=0 0 430 271
\caption{potential divider `functional group' failure modes}
\label{fig:fg1}
\end{figure}
}
{
}
%\ifthenelse {\boolean{dag}}
%{
Modelling the two resistors as a functional group, we present this as a directed graph
(see figure \ref{fig:fg1dag}).
\begin{figure}[h+]
\ifthenelse {\boolean{dag}}
{
Modelling this as a functional group, we can draw this as a directed graph
failure modes, taken from the components R1 and R2,
in the potential divider, shown in figure \ref{fig:fg1dag}.
\begin{figure}
\centering
\begin{tikzpicture}[shorten >=1pt,->,draw=black!50, node distance=\layersep]
\tikzstyle{every pin edge}=[<-,shorten <=1pt]
@ -483,21 +504,23 @@ Modelling the two resistors as a functional group, we present this as a directed
% Potential divider failure modes
%
% \node[symptom] (PDHIGH) at (\layersep*2,-4) {$PD_{HIGH}$};
% \node[symptom] (PDLOW) at (\layersep*2,-6) {$PD_{LOW}$};
%
% \path (R1OPEN) edge (PDHIGH);
% \path (R2SHORT) edge (PDHIGH);
%
% \path (R2OPEN) edge (PDLOW);
% \path (R1SHORT) edge (PDLOW);
%\node[symptom] (PDHIGH) at (\layersep*2,-4) {$PD_{HIGH}$};
%\node[symptom] (PDLOW) at (\layersep*2,-6) {$PD_{LOW}$};
%\path (R1OPEN) edge (PDHIGH);
%\path (R2SHORT) edge (PDHIGH);
%\path (R2OPEN) edge (PDLOW);
%\path (R1SHORT) edge (PDLOW);
\end{tikzpicture}
\caption{Component Failure Modes of the `Potential Divider'}
\caption{DAG representing the functional group `Potential Divider'}
\label{fig:fg1dag}
\end{figure}
}
{
}
We can now look at each of these base component failure modes,
and determine how they will affect the operation of the potential divider.
@ -505,10 +528,25 @@ and determine how they will affect the operation of the potential divider.
%which is represented on the diagram, with an asterisk marking
%which failure modes is modelling (see figure \ref{fig:fg1a}).
\ifthenelse {\boolean{pld}}
{
Each labelled asterisk in the diagram represents a failure mode scenario.
The failure mode scenarios are given test case numbers, and an example to clarify this follows
in table~\ref{pdfmea}.
\begin{figure}[h+]
\centering
\includegraphics[width=200pt,keepaspectratio=true]{./noninvopamp/fg1a.png}
% fg1a.jpg: 430x271 pixel, 72dpi, 15.17x9.56 cm, bb=0 0 430 271
\caption{potential divider with test cases}
\label{fig:fg1a}
\end{figure}
}
{
}
%\ifthenelse {\boolean{dag}}
\ifthenelse {\boolean{dag}}
{
For this example we can look at single failure modes only.
For each failure mode in our {\fg} `potential~divider'
@ -518,7 +556,7 @@ on the potential dividers' operation. For instance
were the resistor $R_1$ to go open, the circuit would not be grounded and the
voltage output from it would be the +ve supply rail.
This would mean the symptom of the failed potential divider, would be that it
gives an output high voltage. We can now consider the {\fg}
gives an output high voltage reading. We can now consider the {\fg}
as a component in its own right, and its symptoms as its failure modes.
From table \ref{pdfmea} we can see that resistor
@ -570,31 +608,65 @@ This is represented in the DAG in figure \ref{fig:fg1adag}.
\label{fig:fg1adag}
\end{figure}
}
%{
%}
{
}
{ \small
\begin{table}[ht]
\caption{Potential Divider: Failure Mode Effects Analysis: Single Faults} % title of Table
\centering % used for centering table
\begin{tabular}{||l|c|c|l|l||}
\begin{tabular}{||l|c|c|l||}
\hline \hline
\textbf{Test} & \textbf{Pot.Div} & \textbf{ } & \textbf{Symptom} \\
\textbf{Case} & \textbf{Effect} & \textbf{ } & \textbf{Description} \\
\textbf{Test} & \textbf{Pot.Div} & \textbf{Symptom} \\
\textbf{Case} & \textbf{Effect} & \textbf{Description} \\
% R & wire & res + & res - & description
\hline
\hline
TC1: $R_1$ SHORT & LOW & & LowPD \\
TC2: $R_1$ OPEN & HIGH & & HighPD \\ \hline
TC3: $R_2$ SHORT & HIGH & & HighPD \\
TC4: $R_2$ OPEN & LOW & & LowPD \\ \hline
TC1: $R_1$ SHORT & LOW & LowPD \\
TC2: $R_1$ OPEN & HIGH & HighPD \\ \hline
TC3: $R_2$ SHORT & HIGH & HighPD \\
TC4: $R_2$ OPEN & LOW & LowPD \\ \hline
\hline
\end{tabular}
\label{pdfmea}
\end{table}
}
\ifthenelse {\boolean{pld}}
{
We can now collect the symptoms of failure. From the four base component failure modes, we now
have two symptoms, where the potential divider will give an incorrect low voltage (which we can term $LowPD$)
or an incorrect high voltage (which we can term $HighPD$).
We can represent the collection of these symptoms by drawing connecting lines between
the test cases and naming them (see figure \ref{fig:fg1b}).
\begin{figure}[h+]
\centering
\includegraphics[width=200pt,keepaspectratio=true]{./noninvopamp/fg1b.png}
% fg1b.jpg: 430x271 pixel, 72dpi, 15.17x9.56 cm, bb=0 0 430 271
\caption{Collection of potential divider failure mode symptoms}
\label{fig:fg1b}
\end{figure}
%\page
We can now make a `derived component' to represent this potential divider.
This can be named \textbf{PD}.
This {\dc} will have two failure modes.
We can use the symbol $\bowtie$ to represent taking the analysed
{\fg} and creating from it, a {\dc}.
%\ifthenelse {\boolean{dag}}
%We could represent it algebraically thus: $ \bowtie(PotDiv) =
\begin{figure}[h+]
\centering
\includegraphics[width=200pt,keepaspectratio=true]{./noninvopamp/dc1.png}
% dc1.jpg: 430x619 pixel, 72dpi, 15.17x21.84 cm, bb=0 0 430 619
\caption{From functional group to derived component}
\label{fig:dc1}
\end{figure}
}
{
}
\ifthenelse {\boolean{dag}}
{
We can now represent the potential divider as a {\dc}.
Because have its symptoms or failure mode behaviour,
@ -621,80 +693,384 @@ We can represent that as a DAG (see figure \ref{fig:dc1dag}).
\end{figure}
}
%{
%}
{
}
%Because the derived component is defined by its failure modes and
%the functional group used to derive it, we can use it
As we have a set of failure modes for the potential divider {\dc},
we can use it
as a building block for other {\fgs}.% in the same way as we used the resistors $R1$ and $R2$.
Because the derived component is defined by its failure modes and
the functional group used to derive it, we can use it
as a building block for other {\fgs} in the same way as we used the resistors $R1$ and $R2$.
Note that number of base failure modes, four, is reduced to two in the {\dc}.
We avoided the state explosion problem of having to
check $R1$ and $R2$ against all other components in the system they may belong to.
Also, by modularising the circuit as a {\dc}, we have reduced the number of errors we need to consider at higher levels
of analysis.
%\clearpage
Using {\dcs} in higher level {\fgs} we can build a hierarchy to represent the failure mode behaviour
of complete systems.
\section{Failure Mode Analysis of the OP-AMP}
% \subsection{Re-Factoring the UML Model}
Let use now consider the op-amp. According to
FMD-91~\cite{fmd91}[3-116] an op amp may have the following failure modes:
latchup(12.5\%), latchdown(6\%), nooperation(31.3\%), lowslewrate(50\%).
\ifthenelse {\boolean{pld}}
{
We can represent these failure modes on a diagram (see figure~\ref{fig:op1}).
\begin{figure}[h+]
\centering
\includegraphics[width=200pt,keepaspectratio=true]{./noninvopamp/op1.png}
% op1.jpg: 406x221 pixel, 72dpi, 14.32x7.80 cm, bb=0 0 406 221
\caption{Op Amp failure modes}
\label{fig:op1}
\end{figure}
}
{
}
\ifthenelse {\boolean{dag}}
{
We can represent these failure modes on a DAG (see figure~\ref{fig:op1dag}).
\begin{figure}
\centering
\begin{tikzpicture}[shorten >=1pt,->,draw=black!50, node distance=\layersep]
\tikzstyle{every pin edge}=[<-,shorten <=1pt]
\tikzstyle{fmmde}=[circle,fill=black!25,minimum size=30pt,inner sep=0pt]
\tikzstyle{component}=[fmmde, fill=green!50];
\tikzstyle{failure}=[fmmde, fill=red!50];
\tikzstyle{symptom}=[fmmde, fill=blue!50];
\tikzstyle{annot} = [text width=4em, text centered]
\node[component] (OPAMP) at (0,-4) {$OPAMP$};
\node[failure] (OPAMPLU) at (\layersep,-0) {latchup};
\node[failure] (OPAMPLD) at (\layersep,-2) {latchdown};
\node[failure] (OPAMPNP) at (\layersep,-4) {noop};
\node[failure] (OPAMPLS) at (\layersep,-6) {lowslew};
\path (OPAMP) edge (OPAMPLU);
\path (OPAMP) edge (OPAMPLD);
\path (OPAMP) edge (OPAMPNP);
\path (OPAMP) edge (OPAMPLS);
\end{tikzpicture}
% End of code
\caption{DAG representing failure modes of an Op-amp}
\label{fig:op1dag}
\end{figure}
}
{
}
%\clearpage
\section{Bringing the OP amp and the potential divider together}
We can now consider bringing the OP amp and the potential divider together to
model the non inverting amplifier. We have the failure modes of the functional group for the potential divider,
so we do not need to consider the individual resistor failure modes that define its behaviour.
\ifthenelse {\boolean{pld}}
{
We can make a new functional group to represent the amplifier, by bringing the component \textbf{opamp}
and the component potential divider \textbf{PD} into a new functional group.
This functional group has the failure modes from the op-amp component, and the failure modes
from the potential divider {\dc}, represented by figure~\ref{fig:fgamp}.
\begin{figure}[h+]
\centering
\includegraphics[width=200pt,keepaspectratio=true]{./noninvopamp/fgamp.png}
% fgamp.jpg: 430x330 pixel, 72dpi, 15.17x11.64 cm, bb=0 0 430 330
\caption{Amplifier Functional Group}
\label{fig:fgamp}
\end{figure}
We can now place test cases on this (note this analysis considers single failure modes only
where we want to model multiple failures, we can over lap contours, and place the test cases in overlapping
regions) see figure~\ref{fig:fgampa}.
\begin{figure}[h+]
\centering
\includegraphics[width=200pt,keepaspectratio=true]{./noninvopamp/fgampa.png}
% fgampa.jpg: 430x330 pixel, 72dpi, 15.17x11.64 cm, bb=0 0 430 330 hno
\caption{Amplifier Functional Group with Test Cases}
\label{fig:fgampa}
\end{figure}
}
{
}
\ifthenelse {\boolean{dag}}
{
We can now crate a {\fg} for the non-inverting amplifier
by bringing together the failure modes from \textbf{opamp} and \textbf{PD}.
Each of these failure modes will be given a test case for analysis,
and this is represented in table \ref{ampfmea}.
}
{
}
%\clearpage
{\footnotesize
\begin{table}[ht]
\caption{Non Inverting Amplifier: Failure Mode Effects Analysis: Single Faults} % title of Table
\centering % used for centering table
\begin{tabular}{||l|c|c|l||}
\hline \hline
\textbf{Test} & \textbf{Amplifier} & \textbf{Symptom} \\
\textbf{Case} & \textbf{Effect} & \textbf{Description} \\
% R & wire & res + & res - & description
\hline
\hline
TC1: $OPAMP$ & Output & AMPHigh \\
LatchUP & High & \\ \hline
TC2: $OPAMP$ & Output Low& AMPLow \\
LatchDown & Low gain & \\ \hline
TC3: $OPAMP$ & Output Low & AMPLow \\
No Operation & & \\ \hline
TC4: $OPAMP$ & Low pass & LowPass \\
Low Slew & filtering & \\ \hline
TC5: $PD$ & Output High & AMPHigh \\
LowPD & & \\ \hline
TC6: $PD$ & Output Low & AMPLow \\
HighPD & Low Gain & \\ \hline
%TC7: $R_2$ OPEN & LOW & & LowPD \\ \hline
\hline
\end{tabular}
\label{ampfmea}
\end{table}
}
Let us consider, for the sake of example, that the voltage follower (very low gain of 1.0)
amplification chracteristics from
TC2 and TC6 can be considered as low output from the OPAMP for the application
in hand (say milli-volt signal amplification).
For this amplifier configuration we have three failure modes, $AMPHigh, AMPLow, LowPass$.%see figure~\ref{fig:fgampb}.
\ifthenelse {\boolean{pld}}
{
We can now derive a `component' to represent this amplifier configuration (see figure ~\ref{fig:noninvampa}).
\begin{figure}[h+]
\centering
\includegraphics[width=200pt,keepaspectratio=true]{./noninvopamp/noninvampa.png}
% noninvampa.jpg: 436x720 pixel, 72dpi, 15.38x25.40 cm, bb=0 0 436 720
\caption{Non Inverting Amplifier Derived Component}
\label{fig:noninvampa}
\end{figure}
}
{
}
% \ifthenelse {\boolean{dag}}
% {
%
% The UML models thus far % in this
% have been used to develop the ontology. % data relationships required to perform FMMD analysis.
% We can now re-organise and rationalise the UML model.
% We want to be able to use {\dcs} in functional groups.
% It therefore makes sense for {\dc} to inherit {\em component}.
% \begin{figure}[h]
% %% text for figure below
%
% The non-inverting amplifier can be drawn as a DAG using the
% results from table~\ref{ampfmea} (see~figure~\ref{fig:noninvdag0}).
% Note that the potential divider, $PD$, is treated as a component with a set of failure modes,
% and its error sources and analysis have been hidden in this diagram.
% $PD$ is considered to be a {\dc}.
%
% \begin{figure}
% \centering
% \includegraphics[width=200pt,bb=0 0 702 464]{./master_uml.png}
% % master_uml.jpg: 702x464 pixel, 72dpi, 24.76x16.37 cm, bb=0 0 702 464
% \caption{Re-factored UML Diagram}
% \label{fig:refactored_uml}
% \end{figure}
% \begin{figure}[h]
% \centering
% \includegraphics[width=200pt]{./master_uml.png}
% % master_uml.png: 700x462 pixel, 72dpi, 24.69x16.30 cm, bb=0 0 700 462
% \caption{Re-factored UML Diagram }
% \label{fig:refactored_uml}
% \end{figure}
% \begin{tikzpicture}[shorten >=1pt,->,draw=black!50, node distance=\layersep]
% \tikzstyle{every pin edge}=[<-,shorten <=1pt]
% \tikzstyle{fmmde}=[circle,fill=black!25,minimum size=30pt,inner sep=0pt]
% \tikzstyle{component}=[fmmde, fill=green!50];
% \tikzstyle{failure}=[fmmde, fill=red!50];
% \tikzstyle{symptom}=[fmmde, fill=blue!50];
% \tikzstyle{annot} = [text width=4em, text centered]
%
% The re-factored UML diagram is shown in figure \ref{fig:refactored_uml}; with this structure
% {\dcs} can be
% used to build {\fgs} at a higher level. In this manner we
% can build a hierarchical model with each layer consisting of
% components derived from the functional groups of derived components,
% until we arrive at a SYSTEM level.
% The symptoms of the {\fg} at the top represent the SYSTEM failure modes.
%From the ontology, a set of rules for converting the {\fgs}
%(collecting common symptoms) to {\dcs} as we traverse up the
%hierarchy is developed. The hierarchical model can have layers added
%until it converges to a top level single functional group.
%On collecting
%symptoms from this, we are left with the top level, or system level, failure modes.
% \paragraph{Diagramatic Notation based on Euler Diagrams}
% \node[component] (OPAMP) at (0,-4) {$OPAMP$};
% \node[failure] (OPAMPLU) at (\layersep,-0) {latchup};
% \node[failure] (OPAMPLD) at (\layersep,-2) {latchdown};
% \node[failure] (OPAMPNP) at (\layersep,-4) {noop};
% \node[failure] (OPAMPLS) at (\layersep,-6) {lowslew};
% \path (OPAMP) edge (OPAMPLU);
% \path (OPAMP) edge (OPAMPLD);
% \path (OPAMP) edge (OPAMPNP);
% \path (OPAMP) edge (OPAMPLS);
%
% The model is presented in a diagrammatic notation that has been
% designed to be intuitive and understandable.
% %
% It uses well tested
% visual techniques to represent the elements of the model and their
% relationships.
% %
% Software support for the development of models in this
% notation has been designed and proof-of-concept tools have been implemented.
%
% \node[component] (PD) at (0,-9) {$PD$};
% \node[symptom] (PDHIGH) at (\layersep,-8) {$PD_{HIGH}$};
% \node[symptom] (PDLOW) at (\layersep,-10) {$PD_{LOW}$};
% \path (PD) edge (PDHIGH);
% \path (PD) edge (PDLOW);
%
% \node[symptom] (AMPHIGH) at (\layersep*4,-3) {$AMP_{HIGH}$};
% \node[symptom] (AMPLOW) at (\layersep*4,-5) {$AMP_{LOW}$};
% \node[symptom] (AMPLP) at (\layersep*4,-7) {$LOWPASS$};
%
% \path (PDLOW) edge (AMPHIGH);
% \path (OPAMPLU) edge (AMPHIGH);
%
% \path (PDHIGH) edge (AMPLOW);
% \path (OPAMPNP) edge (AMPLOW);
% \path (OPAMPLD) edge (AMPLOW);
% \path (OPAMPLS) edge (AMPLP);
% \end{tikzpicture}
% % End of code
% \caption{DAG representing failure modes and symptoms of the Non Inverting Op-amp Circuit}
% \label{fig:noninvdag0}
% \end{figure}
% }
% {
% }
%failure mode contours).
%\clearpage
%\clearpage
\section{Failure Modes from non inverting amplifier as a Directed Acyclic Graph (DAG)}
\ifthenelse {\boolean{pld}}
{
We can now represent the FMMD analysis as a directed graph, see figure \ref{fig:noninvdag1}.
With the information structured in this way, we can trace the high level failure mode symptoms
back to their potential causes.
}
{
}
\ifthenelse {\boolean{dag}}
{
We can now expand the $PD$ {\dc} and now have a full FMMD failure mode model
drawn as a DAG, which we can use to traverse to determine the possible causes to
the three high level symptoms, or failure~modes of the non-inverting amplifier.
Figure \ref{fig:noninvdag1} shows a fully expanded DAG, from which we can derive information
to assist in building models for FTA, FMEA, FMECA and FMEDA failure mode analysis methodologies.
}
{
}
\begin{figure}
\centering
\begin{tikzpicture}[shorten >=1pt,->,draw=black!50, node distance=\layersep]
\tikzstyle{every pin edge}=[<-,shorten <=1pt]
\tikzstyle{fmmde}=[circle,fill=black!25,minimum size=30pt,inner sep=0pt]
\tikzstyle{component}=[fmmde, fill=green!50];
\tikzstyle{failure}=[fmmde, fill=red!50];
\tikzstyle{symptom}=[fmmde, fill=blue!50];
\tikzstyle{annot} = [text width=4em, text centered]
% Draw the input layer nodes
%\foreach \name / \y in {1,...,4}
% This is the same as writing \foreach \name / \y in {1/1,2/2,3/3,4/4}
% \node[component, pin=left:Input \#\y] (I-\name) at (0,-\y) {};
\node[component] (OPAMP) at (0,-4) {$OPAMP$};
\node[component] (R1) at (0,-9) {$R_1$};
\node[component] (R2) at (0,-13) {$R_2$};
%\node[component] (C-3) at (0,-5) {$C^0_3$};
%\node[component] (K-4) at (0,-8) {$K^0_4$};
%\node[component] (C-5) at (0,-10) {$C^0_5$};
%\node[component] (C-6) at (0,-12) {$C^0_6$};
%\node[component] (K-7) at (0,-15) {$K^0_7$};
% Draw the hidden layer nodes
%\foreach \name / \y in {1,...,5}
% \path[yshift=0.5cm]
\node[failure] (OPAMPLU) at (\layersep,-0) {latchup};
\node[failure] (OPAMPLD) at (\layersep,-2) {latchdown};
\node[failure] (OPAMPNP) at (\layersep,-4) {noop};
\node[failure] (OPAMPLS) at (\layersep,-6) {lowslew};
\node[failure] (R1SHORT) at (\layersep,-9) {$R1_{SHORT}$};
\node[failure] (R1OPEN) at (\layersep,-11) {$R1_{OPEN}$};
\node[failure] (R2SHORT) at (\layersep,-13) {$R2_{SHORT}$};
\node[failure] (R2OPEN) at (\layersep,-15) {$R2_{OPEN}$};
% Draw the output layer node
% % Connect every node in the input layer with every node in the
% % hidden layer.
% %\foreach \source in {1,...,4}
% % \foreach \dest in {1,...,5}
\path (OPAMP) edge (OPAMPLU);
\path (OPAMP) edge (OPAMPLD);
\path (OPAMP) edge (OPAMPNP);
\path (OPAMP) edge (OPAMPLS);
\path (R1) edge (R1SHORT);
\path (R1) edge (R1OPEN);
\path (R2) edge (R2SHORT);
\path (R2) edge (R2OPEN);
% Potential divider failure modes
%
\node[symptom] (PDHIGH) at (\layersep*2,-11) {$PD_{HIGH}$};
\node[symptom] (PDLOW) at (\layersep*2,-13) {$PD_{LOW}$};
\path (R1OPEN) edge (PDHIGH);
\path (R2SHORT) edge (PDHIGH);
\path (R2OPEN) edge (PDLOW);
\path (R1SHORT) edge (PDLOW);
\node[symptom] (AMPHIGH) at (\layersep*3.4,-7) {$AMP_{HIGH}$};
\node[symptom] (AMPLOW) at (\layersep*3.4,-9) {$AMP_{LOW}$};
\node[symptom] (AMPLP) at (\layersep*3.4,-11) {$LOWPASS$};
\path (PDLOW) edge (AMPHIGH);
\path (OPAMPLU) edge (AMPHIGH);
\path (PDHIGH) edge (AMPLOW);
\path (OPAMPNP) edge (AMPLOW);
\path (OPAMPLD) edge (AMPLOW);
\path (OPAMPLS) edge (AMPLP);
% %\node[symptom,pin={[pin edge={->}]right:Output}, right of=C-1a] (O) {};
% \node[symptom, right of=C-1a] (s1) {s1};
% \node[symptom, right of=C-2a] (s2) {s2};
%
%
%
% \path (C-2b) edge (s1);
% \path (C-1a) edge (s1);
%
% \path (C-2a) edge (s2);
% \path (C-1b) edge (s2);
%
% %\node[component, right of=s1] (DC) {$C^1_1$};
%
% %\path (s1) edge (DC);
% %\path (s2) edge (DC);
%
%
%
% % Connect every node in the hidden layer with the output layer
% %\foreach \source in {1,...,5}
% % \path (H-\source) edge (O);
%
% % Annotate the layers
% \node[annot,above of=C-1a, node distance=1cm] (hl) {Failure modes};
% \node[annot,left of=hl] {Base Components};
% \node[annot,right of=hl](s) {Symptoms};
%\node[annot,right of=s](dcl) {Derived Component};
\end{tikzpicture}
% End of code
\caption{Full DAG representing failure modes and symptoms of the Non Inverting Op-amp Circuit}
\label{fig:noninvdag1}
\end{figure}
\subsection{Evaluation against Desirable Criteria}
@ -785,6 +1161,30 @@ particular field. It can be applied to mechanical, electrical or software domain
It can therefore be used to analyse systems comprised of electrical,
mechanical and software elements in one integrated model.
{ \small
\begin{table}[ht]
\caption{Features of static Failure Mode analysis methodologies} % title of Table
\centering % used for centering table
\begin{tabular}{||l|c|c|c|c|c||}
\hline \hline
\textbf{Desirable} & \textbf{FTA} & \textbf{FMEA} & \textbf{FMECA} & \textbf{FDEMA} & \textbf{FMMD} \\
\textbf{Criteria} & \textbf{} & \textbf{} & \textbf{} & \textbf{} & \textbf{} \\
% R & wire & res + & res - & description
\hline
\hline
C1: state exp & partial & & & & $\tickYES$ \\ \hline
C2: $\forall$ failures & &$\tickYES$ & $\tickYES$ & $\tickYES$ & $\tickYES$ \\ \hline
C3: mech,elec,s/w & $\tickYES$ & & & & $\tickYES$ \\ \hline
C4: modular & & & & partial & $\tickYES$ \\ \hline
C5: formal & partial & partial & partial & partial & $\tickYES$ \\ \hline
C6: multiple fm & $\tickYES$ & & & partial & $\tickYES$ \\ \hline
\hline
\hline
\end{tabular}
\label{pdfmea}
\end{table}
}
%\today
%
{ \small