.
This commit is contained in:
parent
b473241065
commit
1177cc335c
@ -415,6 +415,106 @@ back to their potential causes.
|
|||||||
|
|
||||||
\section{Extracting Fault Trees form the DAG}
|
\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}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{figure}
|
||||||
|
\begin{tikzpicture}[
|
||||||
|
% Gates and symbols style
|
||||||
|
and/.style={and gate US,thick,draw,fill=blue!40,rotate=90,
|
||||||
|
anchor=east,xshift=-1mm},
|
||||||
|
or/.style={or gate US,thick,draw,fill=blue!40,rotate=90,
|
||||||
|
anchor=east,xshift=-1mm},
|
||||||
|
be/.style={circle,thick,draw,fill=white!60,anchor=north,
|
||||||
|
minimum width=0.7cm},
|
||||||
|
tr/.style={buffer gate US,thick,draw,fill=white!60,rotate=90,
|
||||||
|
anchor=east,minimum width=0.8cm},
|
||||||
|
% Label style
|
||||||
|
label distance=3mm,
|
||||||
|
every label/.style={blue},
|
||||||
|
% Event style
|
||||||
|
event/.style={rectangle,thick,draw,fill=yellow!20,text width=2cm,
|
||||||
|
text centered,font=\sffamily,anchor=north},
|
||||||
|
% Children and edges style
|
||||||
|
edge from parent/.style={very thick,draw=black!70},
|
||||||
|
edge from parent path={(\tikzparentnode.south) -- ++(0,-1.05cm)
|
||||||
|
-| (\tikzchildnode.north)},
|
||||||
|
level 1/.style={sibling distance=7cm,level distance=1.4cm,
|
||||||
|
growth parent anchor=south,nodes=event},
|
||||||
|
level 2/.style={sibling distance=7cm},
|
||||||
|
level 3/.style={sibling distance=6cm},
|
||||||
|
level 4/.style={sibling distance=3cm}
|
||||||
|
%% For compatability with PGF CVS add the absolute option:
|
||||||
|
% 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}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
child {node (b1) {Component B blocks flow}}
|
||||||
|
};
|
||||||
|
%% 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}
|
||||||
|
\end{tikzpicture}
|
||||||
|
\caption{Example FTA for a Gas Supply with two Shutoff Valves}
|
||||||
|
\end{figure}
|
||||||
|
\clearpage
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\clearpage
|
||||||
|
|
||||||
show an example fault tree, showing the causes and logical (only OR's here)
|
show an example fault tree, showing the causes and logical (only OR's here)
|
||||||
|
|
||||||
\section{Extracting FMEA Analysis from the DAG}
|
\section{Extracting FMEA Analysis from the DAG}
|
||||||
@ -439,3 +539,4 @@ statistical literature is available ~\cite{mil1991}~\cite{fmd91}.
|
|||||||
Software used to edit these diagrams, keeps the model in a directed acyclic graph data structure
|
Software used to edit these diagrams, keeps the model in a directed acyclic graph data structure
|
||||||
for this purpose.
|
for this purpose.
|
||||||
|
|
||||||
|
%\end{document}
|
@ -5,6 +5,7 @@
|
|||||||
\usepackage{fancyhdr}
|
\usepackage{fancyhdr}
|
||||||
\usepackage{tikz}
|
\usepackage{tikz}
|
||||||
\usepackage{amsfonts,amsmath,amsthm}
|
\usepackage{amsfonts,amsmath,amsthm}
|
||||||
|
\usetikzlibrary{shapes.gates.logic.US,trees,positioning,arrows}
|
||||||
\input{../style}
|
\input{../style}
|
||||||
\usepackage{ifthen}
|
\usepackage{ifthen}
|
||||||
\usepackage{lastpage}
|
\usepackage{lastpage}
|
||||||
|
BIN
related_papers_books/andrews-fta-tutor.pdf
Normal file
BIN
related_papers_books/andrews-fta-tutor.pdf
Normal file
Binary file not shown.
@ -3,7 +3,11 @@
|
|||||||
\usepackage{graphicx}
|
\usepackage{graphicx}
|
||||||
\usepackage{fancyhdr}
|
\usepackage{fancyhdr}
|
||||||
\usepackage{tikz}
|
\usepackage{tikz}
|
||||||
|
|
||||||
\usepackage{amsfonts,amsmath}
|
\usepackage{amsfonts,amsmath}
|
||||||
|
\usetikzlibrary{shapes,arrows}
|
||||||
|
|
||||||
|
\usepackage{verbatim}
|
||||||
|
|
||||||
\usepackage{ifthen}
|
\usepackage{ifthen}
|
||||||
\newboolean{paper}
|
\newboolean{paper}
|
||||||
|
@ -125,6 +125,96 @@ This analysis and symptom collection process is described in detail in the Sympt
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%\begin{comment}
|
||||||
|
%
|
||||||
|
%:Title: Control system principles
|
||||||
|
%
|
||||||
|
%:Tags: Block diagrams
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%An example of a control system with a feedback loop. Block diagrams like this
|
||||||
|
%
|
||||||
|
%are quite time consuming to create by hand. The relative node placement feature
|
||||||
|
%
|
||||||
|
%makes it a bit easier, but it works best when the nodes have equal widths.
|
||||||
|
%
|
||||||
|
%However, the results are quite pleasing and hopefully worth the effort.
|
||||||
|
%
|
||||||
|
%You can probably speed up the process by creating custom macros.
|
||||||
|
%
|
||||||
|
%\end{comment}
|
||||||
|
%
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%
|
||||||
|
%\tikzstyle{block} = [draw, fill=blue!20, rectangle,
|
||||||
|
%
|
||||||
|
% minimum height=3em, minimum width=6em]
|
||||||
|
%
|
||||||
|
%\tikzstyle{sum} = [draw, fill=blue!20, circle, node distance=1cm]
|
||||||
|
%
|
||||||
|
%\tikzstyle{input} = [coordinate]
|
||||||
|
%
|
||||||
|
%\tikzstyle{output} = [coordinate]
|
||||||
|
%
|
||||||
|
%\tikzstyle{pinstyle} = [pin edge={to-,thin,black}]
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%% The block diagram code is probably more verbose than necessary
|
||||||
|
%
|
||||||
|
%\begin{tikzpicture}[auto, node distance=2cm,>=latex']
|
||||||
|
%
|
||||||
|
% % We start by placing the blocks
|
||||||
|
%
|
||||||
|
% \node [input, name=input] {};
|
||||||
|
%
|
||||||
|
% \node [sum, right of=input] (sum) {};
|
||||||
|
%
|
||||||
|
% \node [block, right of=sum] (controller) {Controller};
|
||||||
|
%
|
||||||
|
% \node [block, right of=controller, pin={[pinstyle]above:Disturbances},
|
||||||
|
%
|
||||||
|
% node distance=3cm] (system) {System};
|
||||||
|
%
|
||||||
|
% % We draw an edge between the controller and system block to
|
||||||
|
%
|
||||||
|
% % calculate the coordinate u. We need it to place the measurement block.
|
||||||
|
%
|
||||||
|
% \draw [->] (controller) -- node[name=u] {$u$} (system);
|
||||||
|
%
|
||||||
|
% \node [output, right of=system] (output) {};
|
||||||
|
%
|
||||||
|
% \node [block, below of=u] (measurements) {Measurements};
|
||||||
|
%
|
||||||
|
%
|
||||||
|
%
|
||||||
|
% % Once the nodes are placed, connecting them is easy.
|
||||||
|
%
|
||||||
|
% \draw [draw,->] (input) -- node {$r$} (sum);
|
||||||
|
%
|
||||||
|
% \draw [->] (sum) -- node {$e$} (controller);
|
||||||
|
%
|
||||||
|
% \draw [->] (system) -- node [name=y] {$y$}(output);
|
||||||
|
%
|
||||||
|
% \draw [->] (y) |- (measurements);
|
||||||
|
%
|
||||||
|
% \draw [->] (measurements) -| node[pos=0.99] {$-$}
|
||||||
|
%
|
||||||
|
% node [near end] {$y_m$} (sum);
|
||||||
|
%
|
||||||
|
%\end{tikzpicture}
|
||||||
|
%
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\section{ Modern Devices }
|
\section{ Modern Devices }
|
||||||
|
|
||||||
From the automobile to the microwave oven, we increasingly rely on
|
From the automobile to the microwave oven, we increasingly rely on
|
||||||
|
Loading…
Reference in New Issue
Block a user