diff --git a/noninvopamp/noninvopamp.tex b/noninvopamp/noninvopamp.tex index 2394f6f..263d165 100644 --- a/noninvopamp/noninvopamp.tex +++ b/noninvopamp/noninvopamp.tex @@ -374,7 +374,7 @@ back to their potential causes. \path (OPAMPNP) edge (AMPLOW); \path (OPAMPLD) edge (AMPLOW); - \path (OPAMPLS) edge (AMPLP); + \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}; @@ -413,26 +413,22 @@ back to their potential causes. \clearpage -\section{Extracting Fault Trees form the DAG} - - - - -% \node (g1) [event] {No flow to receiver} -% child{node (g2) {No flow from Component B} -% child {node (g3) {No flow into Component B} -% child {node (g4) {No flow from Component A1} -% child {node (t1) {No flow from source1}} -% child {node (b2) {Component A1 blocks flow}} -% } -% A simple fault tree -% % Author: Zhang Long, Mail: zhangloong[at]gmail.com -% % \def\pgfsysdriver{pgfsys-dvipdfm.def} -% % \documentclass{minimal} -% % \usepackage{tikz} -% % \usetikzlibrary{shapes.gates.logic.US,trees,positioning,arrows} -% % \begin{document} +\section{Extracting Fault Trees from the DAG} +We can derive an FTA diagram for a top level event, by tracing back through the DAG. +Where we come to a node with more than one error source, this becomes an or gate +in the FTA diagram. Tracing back from the top level event $AMP Low$ we are lead to +the $OPAMP latch down$ and $OP amp Noop$. These two events can cause the symptom $AMP Low$. +We can also trace back down to the symptom $PD High$. Thus we have three +possible cause for $AMP LOW$, and so we can draw a three input +`or' gate below $AMP Low$, to which $OPAMP latch down$, $OP amp Noop$ and $PD High$ connect to from below. +$OPAMP latch down$ and $OP amp Noop$ are base level or component events, and so we cannot +trace them down any further. +$PD High$ is a symptom, and can be traced further. +$PD High$ can ocurr by either event $R1_{open}$ or $R2_{short}$. +We can place an or gate below $PD High$ and connect the events $R1_{open}$ or $R2_{short}$ +to it. +The FTA diagram directly derived from the FMMD DAG is shown in figure \ref{fig:noninvfta}. \begin{figure} \begin{tikzpicture}[ @@ -464,47 +460,61 @@ back to their potential causes. % absolute ] %% Draw events and edges - \node (g1) [event] {No flow to receiver} - child{node (g2) {No flow from Component B} - child {node (g3) {No flow into Component B} - child {node (g4) {No flow from Component A1} - child {node (t1) {No flow from source1}} - child {node (b2) {Component A1 blocks flow}} - } - child {node (g5) {No flow from Component A2} - child {node (t2) {No flow from source2}} - child {node (b3) {Component A2 blocks flow}} - } + %\node (g1) [event] {AMP Low} +% +% child { node (g1) { triple or gate } +% +% child { node (PDHigh) { double or gate } +% child { node (g2) {G02} { +% child {node (r1o) {$R1_{open}$}} +% child {node (r2s) {$R2_{short}$}} +% } +% } +% } +% child {node (opld) {opamp latch down}} +% child {node (opnp) {opamp noop}} +% +% }; + + \node (g1) [event] {amp low} + + child { + node (g2) {op amp output voltage low} + child {node (t1) {pd high} + child { node (g4) {potential divider voltage high} + child {node (b1) {r1 open}} + child {node (b2) {r2 short}} + } + %child { node (g5) {No flow from Component A2} + % child {node (t2) {No flow from source2}} + % child {node (b3) {Component A2 blocks flow}} + %} } - child {node (b1) {Component B blocks flow}} + child {node (b3) {OP amp latch dn}} + child {node (b4) {OP amp no op}} }; + %% Place gates and other symbols %% In the CVS version of PGF labels are placed differently than in PGF 2.0 %% To render them correctly replace '-20' with 'right' and add the 'absolute' %% option to the tikzpicture environment. The absolute option makes the %% node labels ignore the rotation of the parent node. - \node [or] at (g2.south) [label=-20:G02] {}; - \node [and] at (g3.south) [label=-20:G03] {}; - \node [or] at (g4.south) [label=-20:G04] {}; - \node [or] at (g5.south) [label=-20:G05] {}; - \node [be] at (b1.south) [label=below:B01] {}; - \node [be] at (b2.south) [label=below:B02] {}; - \node [be] at (b3.south) [label=below:B03] {}; - \node [tr] at (t1.south) [label=below:T01] {}; - \node [tr] at (t2.south) [label=below:T02] {}; -%% Draw system flow diagram -% \begin{scope}[xshift=-7.5cm,yshift=-5cm,very thick, -% node distance=1.6cm,on grid,>=stealth', -% block/.style={rectangle,draw,fill=cyan!20}, -% comp/.style={circle,draw,fill=orange!40}] -% \node [block] (re) {Receiver}; -% \node [comp] (cb) [above=of re] {B} edge [->] (re); -% \node [comp] (ca1) [above=of cb,xshift=-0.8cm] {A1} edge [->] (cb); -% \node [comp] (ca2) [right=of ca1] {A2} edge [->] (cb); -% \node [block] (s1) [above=of ca1] {Source1} edge [->] (ca1); -% \node [block] (s2) [right=of s1] {Source2} edge [->] (ca2); -% \end{scope} + \node [or] at (g1.south) [label=-20:G01] {}; + \node [or] at (g2.south) [label=-20:G02] {}; + \node [or] at (g4.south) [label=-20:G02] {}; +% \node [and] at (g3.south) [label=-20:G03] {}; +% \node [or] at (g4.south) [label=-20:G04] {}; +% \node [or] at (g5.south) [label=-20:G05] {}; + \node [be] at (b1.south) [label=below:B01] {}; + \node [be] at (b2.south) [label=below:B02] {}; + \node [be] at (b3.south) [label=below:B03] {}; + \node [be] at (b4.south) [label=below:B04] {}; +% \node [tr] at (t1.south) [label=below:T01] {}; +% \node [tr] at (t2.south) [label=below:T02] {}; +%% + \end{tikzpicture} +\label{fig:noninvfta} \caption{Example FTA for a Gas Supply with two Shutoff Valves} \end{figure} \clearpage