systematic working through marked up printout of whole thesis as is
This commit is contained in:
parent
9fce93fdce
commit
2469683b5d
17
burner/Makefile
Normal file
17
burner/Makefile
Normal file
@ -0,0 +1,17 @@
|
||||
|
||||
#
|
||||
# Make the propositional logic diagram a paper
|
||||
#
|
||||
|
||||
|
||||
paper: paper.tex burner_paper.tex
|
||||
#latex paper.tex
|
||||
#dvipdf paper pdflatex cannot use eps ffs
|
||||
pdflatex paper.tex
|
||||
okular paper.pdf
|
||||
|
||||
|
||||
# Remove the need for referncing graphics in subdirectories
|
||||
#
|
||||
burner_paper.tex: burner.tex
|
||||
cat burner.tex | sed 's/burner\///' > paper.tex
|
63
burner/burner.tex
Normal file
63
burner/burner.tex
Normal file
@ -0,0 +1,63 @@
|
||||
%
|
||||
% Make the revision and doc number macro's then they are defined in one place
|
||||
|
||||
\begin{abstract}
|
||||
things can get very abstract
|
||||
\end{abstract}
|
||||
|
||||
|
||||
\section{Overview of A Burner Controller : Safety Perspective}
|
||||
|
||||
\section{Background to the Industrial Burner Safety Analysis Problem}
|
||||
|
||||
An industrial burner is a good example of a safety critical system.
|
||||
It has the potential for devistating explosions due to boiler overpressure, low water, or
|
||||
ignition of an explosive mixture, and, because of the large amounts of fuel used,
|
||||
is also a fire hazard. Industrial boilers are often left running unattended
|
||||
for long periods of time (typically days).
|
||||
|
||||
To add to these problems
|
||||
Operators are often under pressure to keep them running. A boiler supplying
|
||||
heat to a large greenhouse complex could ruin crops
|
||||
should it go off-line. Similarly a production line relying on heat or steam
|
||||
can be very expensive in production down-time should it fail.
|
||||
This places extra responsibility on the burner controller.
|
||||
|
||||
|
||||
These are common place and account for a very large proportion of the enery usage
|
||||
in the world today (find and ref stats)
|
||||
Industrial burners are common enough to have different specific standards
|
||||
written for the fuel types they use \ref{EN298} \ref{EN230} \ref{EN12067}.
|
||||
|
||||
A modern industrial burner has mechanical, electronic and software
|
||||
elements, that are all safety critical. That is to say
|
||||
unhandled failures could create dangerous faults.
|
||||
|
||||
A more detailed description of industrial burner controllers
|
||||
is dealt with in chapter~\ref{burnercontroller}.
|
||||
|
||||
|
||||
Systems such as industrial burners have been partially automated for some time.
|
||||
A mechanical cam arrangement controls the flow of air and fuel for the range of
|
||||
firing rate (output of the boiler).
|
||||
|
||||
These mechanical systems could suffer failures (such as a mechanical linkage beoming
|
||||
detached) and could then operate in a potentially dangerous state.
|
||||
|
||||
More modern burner controllers use a safety critical computer controlling
|
||||
motors to operate the fuel and air mixture and to control the safety
|
||||
valves.
|
||||
|
||||
In working in the industrial burner industry and submitting product for
|
||||
North American and European safety approval, it was apparent that
|
||||
formal techniques could be applied to aspects of the ciruit design.
|
||||
Some safety critical circuitry would be subjected to thought experiments, where
|
||||
the actions of one or more components failing would be examined.
|
||||
As a simple example a milli-volt input could become disconnected.
|
||||
A milli-volt input is typically amplified so that its range matches that
|
||||
of the A->D converter that you are reading. were this signal source to become disconnected
|
||||
the systems would see a floating, amplified signal.
|
||||
A high impedance safety resistor can be added to the circuit,
|
||||
to pull the signal high (or out of nornal range) upon disconnection.
|
||||
The system then knows that a fault has occurred and will not use
|
||||
that sensor reading (see \ref{fig:millivolt}).
|
9
burner/burner.tex~
Normal file
9
burner/burner.tex~
Normal file
@ -0,0 +1,9 @@
|
||||
%
|
||||
% Make the revision and doc number macro's then they are defined in one place
|
||||
|
||||
\begin{abstract}
|
||||
|
||||
\end{abstract}
|
||||
|
||||
|
||||
\section{Overview of A Burner Controller : Safety Perspective}
|
404
burner/mybib.bib
Normal file
404
burner/mybib.bib
Normal file
@ -0,0 +1,404 @@
|
||||
%
|
||||
%
|
||||
% $Id: mybib.bib,v 1.5 2008/12/18 17:05:23 robin Exp $
|
||||
%
|
||||
%
|
||||
|
||||
@TechReport{db,
|
||||
author = {R Clark, D Legge},
|
||||
title = {ETC6000 Daughterboard Design notes},
|
||||
institution = {ETC HR221850},
|
||||
year = {2004},
|
||||
key = {},
|
||||
OPTtype = {},
|
||||
OPTnumber = {},
|
||||
OPTaddress = {},
|
||||
OPTmonth = {},
|
||||
OPTnote = {},
|
||||
OPTannote = {},
|
||||
OPTurl = {},
|
||||
OPTdoi = {},
|
||||
issn = {HR221850},
|
||||
OPTlocalfile = {},
|
||||
OPTabstract = {},
|
||||
}
|
||||
|
||||
@TechReport{mil1991,
|
||||
author = {U.S. Department of Defence},
|
||||
title = {Reliability Prediction of Electronic Equipment},
|
||||
institution = {DOD},
|
||||
year = {1991},
|
||||
key = {MIL-HDBK-217F},
|
||||
OPTtype = {},
|
||||
OPTnumber = {},
|
||||
OPTaddress = {},
|
||||
OPTmonth = {},
|
||||
OPTnote = {},
|
||||
OPTannote = {},
|
||||
OPTurl = {},
|
||||
OPTdoi = {},
|
||||
OPTissn = {},
|
||||
OPTlocalfile = {},
|
||||
OPTabstract = {},
|
||||
}
|
||||
|
||||
@Manual{tlp181,
|
||||
title = {TLP 181 Datasheet},
|
||||
key = {TOSHIBA Photocoupler GaAs Ired & Photo−Transistor},
|
||||
author = {Toshiba inc.},
|
||||
OPTorganization = {},
|
||||
%address = {http://www.toshiba.com/taec/components2/Datasheet\_Sync//206/4191.pdf},
|
||||
OPTedition = {},
|
||||
OPTmonth = {},
|
||||
year = {2009},
|
||||
OPTnote = {},
|
||||
OPTannote = {},
|
||||
OPTurl = {},
|
||||
OPTdoi = {},
|
||||
OPTissn = {},
|
||||
OPTlocalfile = {},
|
||||
OPTabstract = {},
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@Manual{pic18f2523,
|
||||
title = {PIC18F2523 Datasheet},
|
||||
OPTkey = {},
|
||||
author = {Microchip inc},
|
||||
OPTorganization = {},
|
||||
address = {http://ww1.microchip.com/downloads/en/DeviceDoc/39755c.pdf},
|
||||
OPTedition = {},
|
||||
OPTmonth = {},
|
||||
year = {2009},
|
||||
OPTnote = {},
|
||||
OPTannote = {},
|
||||
OPTurl = {},
|
||||
OPTdoi = {},
|
||||
OPTissn = {},
|
||||
OPTlocalfile = {},
|
||||
OPTabstract = {},
|
||||
}
|
||||
|
||||
|
||||
@Book{wt,
|
||||
title = {Water Treatment Essentials for Boiler Plant Operation},
|
||||
publisher = {Mc Graw Hill ISBN 0-07-048291-5},
|
||||
year = {1997},
|
||||
author = {Robert G Nunn},
|
||||
ALTALTeditor = {},
|
||||
OPTkey = {},
|
||||
OPTvolume = {},
|
||||
OPTnumber = {},
|
||||
OPTseries = {},
|
||||
OPTaddress = {},
|
||||
OPTedition = {},
|
||||
OPTmonth = {},
|
||||
OPTnote = {},
|
||||
OPTannote = {},
|
||||
OPTurl = {},
|
||||
OPTdoi = {},
|
||||
OPTissn = {ISBN 0-07-048291-5},
|
||||
OPTlocalfile = {},
|
||||
OPTabstracts = {},
|
||||
}
|
||||
|
||||
@TechReport{pcbAI222562,
|
||||
author = {C Talmay},
|
||||
title = {Circuit Schematic TDS Daughterboard AI222562},
|
||||
institution = {ETC},
|
||||
year = {2010},
|
||||
OPTkey = {},
|
||||
OPTtype = {},
|
||||
OPTnumber = {AI222562},
|
||||
OPTaddress = {},
|
||||
OPTmonth = {},
|
||||
OPTnote = {},
|
||||
OPTannote = {},
|
||||
OPTurl = {},
|
||||
OPTdoi = {},
|
||||
OPTissn = {},
|
||||
OPTlocalfile = {},
|
||||
OPTabstract = {},
|
||||
}
|
||||
|
||||
@TechReport{spiraxsarco,
|
||||
author = {Spirax Sarco},
|
||||
title = {http://www.spiraxsarco.com/resources/steam-engineering-tutorials.asp},
|
||||
institution = {Spirax Sarco},
|
||||
year = {2010},
|
||||
OPTkey = {},
|
||||
OPTtype = {},
|
||||
OPTnumber = {},
|
||||
OPTaddress = {},
|
||||
OPTmonth = {},
|
||||
OPTnote = {},
|
||||
OPTannote = {},
|
||||
OPTurl = {},
|
||||
OPTdoi = {},
|
||||
OPTissn = {},
|
||||
OPTlocalfile = {},
|
||||
OPTabstract = {},
|
||||
}
|
||||
|
||||
@Book{aoe,
|
||||
title = {The Art of Electronics},
|
||||
publisher = {Cambridge},
|
||||
year = {1989},
|
||||
author = {Paul Horowitz, Winfield Hill},
|
||||
%author = {},
|
||||
OPTkey = {},
|
||||
OPTvolume = {},
|
||||
OPTnumber = {},
|
||||
OPTseries = {},
|
||||
OPTaddress = {},
|
||||
OPTedition = {2nd},
|
||||
OPTmonth = {},
|
||||
OPTnote = {},
|
||||
OPTannote = {},
|
||||
OPTurl = {},
|
||||
OPTdoi = {},
|
||||
OPTissn = {ISBN 0-521-37095-7},
|
||||
OPTlocalfile = {},
|
||||
OPTabstracts = {},
|
||||
}
|
||||
|
||||
@TechReport{eurothermtables,
|
||||
author = {},
|
||||
title = {Thermocouple Emf TABLES and PLATINUM 100 RESISTANCE THERMOMETER TABLES},
|
||||
institution = {Eurotherm},
|
||||
year = {1973},
|
||||
OPTkey = {},
|
||||
OPTtype = {},
|
||||
OPTnumber = {},
|
||||
OPTaddress = {},
|
||||
OPTmonth = {June},
|
||||
OPTnote = {Bulletin TT-1},
|
||||
OPTannote = {},
|
||||
OPTurl = {},
|
||||
OPTdoi = {},
|
||||
OPTissn = {},
|
||||
OPTlocalfile = {},
|
||||
OPTabstract = {},
|
||||
}
|
||||
|
||||
@MISC{iso639-1,
|
||||
title = "ISO 639-1: Code for the Representation of Names of Languages",
|
||||
author = "International Standardization Organization",
|
||||
howpublished = "http://www.loc.gov/standards/iso639-2/criteria1.html"
|
||||
year = "1998"
|
||||
}
|
||||
|
||||
@MISC{nano-x,
|
||||
title = "The nano-X windowing system",
|
||||
author = "Greg Haerr",
|
||||
howpublished = "http://www.microwindows.org/"
|
||||
year = "2003"
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@MISC{X11,
|
||||
title = "The XFree86 Project, Inc",
|
||||
author = "Open Source",
|
||||
howpublished = "http://www.xfree86.org/"
|
||||
year = "1992"
|
||||
}
|
||||
|
||||
|
||||
http://www.xfree86.org/
|
||||
|
||||
@MISC{iso639-2,
|
||||
title = "ISO 639-2: Code for the Representation of Names of Languages",
|
||||
author = "International Standardization Organization",
|
||||
howpublished = "http://www.loc.gov/standards/iso639-2/criteria1.html"
|
||||
year = "1998"
|
||||
}
|
||||
|
||||
|
||||
@misc{ touchscreenprod,
|
||||
author = "M. Thirsk",
|
||||
title = "Touchscreen Production Procedure : HR~222165",
|
||||
howpublished = "Internal ETC Document",
|
||||
year = "2008" };
|
||||
|
||||
|
||||
@misc{ touchscreensoftware,
|
||||
author = "ETC Software Dept.",
|
||||
title = "Touchscreen Software released to Production : HR~222162",
|
||||
howpublished = "Internal ETC Software (medium: 2 MMC cards)",
|
||||
year = "2008" };
|
||||
|
||||
@misc{ touchscreengui,
|
||||
author = "D.J. Legge, R.P.Clark",
|
||||
title = "Touchscreen GUI Design Document : HR~222163",
|
||||
howpublished = "Internal ETC Document",
|
||||
year = "2008" };
|
||||
|
||||
|
||||
@misc{ gumstix,
|
||||
author = "Gumstix Inc",
|
||||
title = "Gumstix Home Page",
|
||||
howpublished = "WEB http://www.gumstix.com/",
|
||||
year = "2008" };
|
||||
|
||||
|
||||
@misc{ fltk,
|
||||
author = "FLTK open Source Developers",
|
||||
title = "Fast Light Toolkit",
|
||||
howpublished = "WEB http://www.fltk.org/",
|
||||
year = "2008" };
|
||||
|
||||
|
||||
@Book{ldd,
|
||||
author = {Jonathon Corbet},
|
||||
ALTeditor = {Alessandro Rubini},
|
||||
ALTeditor = {Greg Kroah-Hartman},
|
||||
title = {Linux Device Drivers},
|
||||
publisher = {O'Reilly ISBN 0-596-00590-3},
|
||||
year = {1998},
|
||||
OPTkey = {ISBN 0-596-00590-3},
|
||||
OPTvolume = {},
|
||||
OPTnumber = {},
|
||||
OPTseries = {linux},
|
||||
OPTaddress = {},
|
||||
OPTedition = {3rd},
|
||||
OPTmonth = {},
|
||||
OPTnote = {},
|
||||
OPTannote = {},
|
||||
OPTurl = {www.oreilly.com},
|
||||
OPTdoi = {},
|
||||
OPTissn = {},
|
||||
OPTlocalfile = {},
|
||||
OPTabstract = {}
|
||||
};
|
||||
|
||||
|
||||
@Book{bash,
|
||||
author = {Carl Albing},
|
||||
title = {Bash Cookbook},
|
||||
publisher = {O'Reilly ISBN 0-596-52678-4},
|
||||
year = {2007},
|
||||
OPTkey = {ISBN 0-596-52678-4},
|
||||
OPTvolume = {},
|
||||
OPTnumber = {},
|
||||
OPTseries = {unix/linux},
|
||||
OPTaddress = {},
|
||||
OPTedition = {},
|
||||
OPTmonth = {},
|
||||
OPTnote = {},
|
||||
OPTannote = {},
|
||||
OPTurl = {www.oreilly.com},
|
||||
OPTdoi = {},
|
||||
OPTissn = {},
|
||||
OPTlocalfile = {},
|
||||
OPTabstract = {}
|
||||
};
|
||||
|
||||
@Book{sedawk,
|
||||
author = {Dale Dougherty, Arnold Robbins},
|
||||
title = {Sed and Awk},
|
||||
publisher = {O'Reilly ISBN 1-56592-225-5},
|
||||
year = {1997},
|
||||
OPTkey = {ISBN 1-56592-225-5},
|
||||
OPTvolume = {},
|
||||
OPTnumber = {},
|
||||
OPTseries = {unix/linux},
|
||||
OPTaddress = {},
|
||||
OPTedition = {},
|
||||
OPTmonth = {},
|
||||
OPTnote = {},
|
||||
OPTannote = {},
|
||||
OPTurl = {www.oreilly.com},
|
||||
OPTdoi = {},
|
||||
OPTissn = {},
|
||||
OPTlocalfile = {},
|
||||
OPTabstract = {}
|
||||
};
|
||||
|
||||
@Book{bels,
|
||||
author = {Karim Yaghmour},
|
||||
title = {Building Embedded LINUX systems},
|
||||
publisher = {O'Reilly ISBN ISBN 0-596-00222-X},
|
||||
year = {2003},
|
||||
OPTkey = {ISBN 0-596-00222-X},
|
||||
OPTvolume = {},
|
||||
OPTnumber = {},
|
||||
OPTseries = {linux},
|
||||
OPTaddress = {},
|
||||
OPTedition = {3rd},
|
||||
OPTmonth = {},
|
||||
OPTnote = {},
|
||||
OPTannote = {},
|
||||
OPTurl = {www.oreilly.com},
|
||||
OPTdoi = {},
|
||||
OPTissn = {},
|
||||
OPTlocalfile = {},
|
||||
OPTabstract = {}
|
||||
};
|
||||
|
||||
@Book{can,
|
||||
author = {Olaf Pfeiffer},
|
||||
ALTeditor = {Andrew Ayre},
|
||||
ALTeditor = {Christian Keydel},
|
||||
title = {Embedded networking with CAN and CANopen},
|
||||
publisher = {RTC ISBN 0-929392-78-7},
|
||||
year = {2003},
|
||||
OPTkey = { },
|
||||
OPTvolume = {},
|
||||
OPTnumber = {},
|
||||
OPTseries = {Embedded Systems},
|
||||
OPTaddress = {},
|
||||
OPTedition = {1st},
|
||||
OPTmonth = {},
|
||||
OPTnote = {},
|
||||
OPTannote = {},
|
||||
OPTurl = {www.rtcbooks.com},
|
||||
OPTdoi = {},
|
||||
OPTissn = {},
|
||||
OPTlocalfile = {},
|
||||
OPTabstract = {}
|
||||
};
|
||||
|
||||
@Article{article,
|
||||
author = {dd},
|
||||
title = {dd},
|
||||
journal = {dd},
|
||||
year = {2008},
|
||||
OPTkey = {},
|
||||
OPTvolume = {},
|
||||
OPTnumber = {},
|
||||
OPTpages = {1,2},
|
||||
OPTmonth = {JAN},
|
||||
OPTnote = {},
|
||||
OPTannote = {},
|
||||
OPTurl = {},
|
||||
OPTdoi = {},
|
||||
OPTissn = {},
|
||||
OPTlocalfile = {},
|
||||
OPTabstract = {}
|
||||
};
|
||||
|
||||
@Book{sqlite,
|
||||
author = {Micheal Owens},
|
||||
title = {The definitive guide to SQLite},
|
||||
publisher = {Apres ISBN 1-59059-673-0},
|
||||
year = {2006},
|
||||
OPTkey = {},
|
||||
OPTvolume = {},
|
||||
OPTnumber = {},
|
||||
OPTseries = {Databases/SQLite},
|
||||
OPTaddress = {},
|
||||
OPTedition = {},
|
||||
OPTmonth = {},
|
||||
OPTnote = {},
|
||||
OPTannote = {},
|
||||
OPTurl = {},
|
||||
OPTdoi = {},
|
||||
OPTissn = {},
|
||||
OPTlocalfile = {},
|
||||
OPTabstract = {}
|
||||
};
|
||||
|
2
burner/papaer.tex
Normal file
2
burner/papaer.tex
Normal file
@ -0,0 +1,2 @@
|
||||
:e paper.tex
|
||||
|
53
burner/paper.aux
Normal file
53
burner/paper.aux
Normal file
@ -0,0 +1,53 @@
|
||||
\relax
|
||||
\citation{aoe}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces PT100 four wire circuit}}{1}}
|
||||
\newlabel{fig:pt100}{{1}{1}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {1}Overview of PT100 four wire circuit}{1}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Accuracy despite variable \\ resistance in cables}{1}}
|
||||
\citation{eurothermtables}
|
||||
\citation{mil1991}
|
||||
\citation{mil1991}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces PT100 expected voltage ranges}}{2}}
|
||||
\newlabel{fig:pt100vrange}{{2}{2}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}Calculating Temperature from \\ the sense line voltages}{2}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {2}Safety case for 4 wire circuit}{2}}
|
||||
\citation{aoe}
|
||||
\citation{eurothermtables}
|
||||
\citation{eurothermtables}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Single Fault FMEA Analysis \\ of PT100 Four wire circuit}{3}}
|
||||
\newlabel{fmea}{{2.1}{3}}
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces PT100 FMEA Single Faults}}{3}}
|
||||
\newlabel{ptfmea}{{1}{3}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Range and PT100 Calculations}{3}}
|
||||
\newlabel{pt100temp}{{2.2}{3}}
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {2}{\ignorespaces PT100 Maximum and Minimum Values}}{4}}
|
||||
\newlabel{ptbounds}{{2}{4}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3}Single Fault FMEA Analysis \\ of PT100 Four wire circuit}{4}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Single Fault Modes as PLD}{4}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces PT100 Component Failure Modes}}{4}}
|
||||
\newlabel{fig:pt100_tc}{{3}{4}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces Voltage Divider}}{5}}
|
||||
\newlabel{fig:vd}{{4}{5}}
|
||||
\newlabel{eqn:vd}{{1}{5}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Proof of Out of Range \\ Values for Failures}{5}}
|
||||
\newlabel{pt110range}{{3.2}{5}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.1} TC1 : Voltages $R_1$ SHORT }{5}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.2} TC2 : Voltages $R_1$ OPEN }{5}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.3} TC 3 : Voltages $R_2$ SHORT }{5}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.4} TC : 4 Voltages $R_2$ OPEN }{6}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.5} TC 5 : Voltages $R_3$ SHORT }{6}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.6} TC 6 : Voltages $R_3$ OPEN }{6}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Summary of Analysis}{6}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces PT100 Component Failure Modes}}{7}}
|
||||
\newlabel{fig:pt100_tc_sp}{{5}{7}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces PT100 Circuit Failure Modes : From Single Faults Analysis}}{7}}
|
||||
\newlabel{fig:pt100_singlef}{{6}{7}}
|
||||
\citation{mil1991}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Mean Time to Failure}{8}}
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {3}{\ignorespaces PT100 FMEA Single // Fault Statistics}}{8}}
|
||||
\newlabel{tab:stat_single}{{3}{8}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces Probablistic Fault Tree : PT100 Single Faults}}{9}}
|
||||
\newlabel{fig:stat_single}{{7}{9}}
|
||||
\bibstyle{plain}
|
||||
\bibdata{vmgbibliography,mybib}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {4} PT100 Double Simultaneous \\ Fault Analysis}{10}}
|
555
burner/paper.log
Normal file
555
burner/paper.log
Normal file
@ -0,0 +1,555 @@
|
||||
This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6) (format=pdflatex 2010.2.1) 1 APR 2010 18:16
|
||||
entering extended mode
|
||||
%&-line parsing enabled.
|
||||
**paper.tex
|
||||
(./paper.tex
|
||||
LaTeX2e <2005/12/01>
|
||||
Babel <v3.8h> and hyphenation patterns for english, usenglishmax, dumylang, noh
|
||||
yphenation, loaded.
|
||||
(/usr/share/texmf-texlive/tex/latex/base/article.cls
|
||||
Document Class: article 2005/09/16 v1.4f Standard LaTeX document class
|
||||
(/usr/share/texmf-texlive/tex/latex/base/size10.clo
|
||||
File: size10.clo 2005/09/16 v1.4f Standard LaTeX file (size option)
|
||||
)
|
||||
\c@part=\count79
|
||||
\c@section=\count80
|
||||
\c@subsection=\count81
|
||||
\c@subsubsection=\count82
|
||||
\c@paragraph=\count83
|
||||
\c@subparagraph=\count84
|
||||
\c@figure=\count85
|
||||
\c@table=\count86
|
||||
\abovecaptionskip=\skip41
|
||||
\belowcaptionskip=\skip42
|
||||
\bibindent=\dimen102
|
||||
)
|
||||
(/usr/share/texmf-texlive/tex/latex/graphics/graphicx.sty
|
||||
Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
|
||||
|
||||
(/usr/share/texmf-texlive/tex/latex/graphics/keyval.sty
|
||||
Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
|
||||
\KV@toks@=\toks14
|
||||
)
|
||||
(/usr/share/texmf-texlive/tex/latex/graphics/graphics.sty
|
||||
Package: graphics 2006/02/20 v1.0o Standard LaTeX Graphics (DPC,SPQR)
|
||||
|
||||
(/usr/share/texmf-texlive/tex/latex/graphics/trig.sty
|
||||
Package: trig 1999/03/16 v1.09 sin cos tan (DPC)
|
||||
)
|
||||
(/etc/texmf/tex/latex/config/graphics.cfg
|
||||
File: graphics.cfg 2007/01/18 v1.5 graphics configuration of teTeX/TeXLive
|
||||
)
|
||||
Package graphics Info: Driver file: pdftex.def on input line 90.
|
||||
|
||||
(/usr/share/texmf-texlive/tex/latex/pdftex-def/pdftex.def
|
||||
File: pdftex.def 2007/01/08 v0.04d Graphics/color for pdfTeX
|
||||
\Gread@gobject=\count87
|
||||
))
|
||||
\Gin@req@height=\dimen103
|
||||
\Gin@req@width=\dimen104
|
||||
)
|
||||
(/usr/share/texmf-texlive/tex/latex/fancyhdr/fancyhdr.sty
|
||||
\fancy@headwidth=\skip43
|
||||
\f@ncyO@elh=\skip44
|
||||
\f@ncyO@erh=\skip45
|
||||
\f@ncyO@olh=\skip46
|
||||
\f@ncyO@orh=\skip47
|
||||
\f@ncyO@elf=\skip48
|
||||
\f@ncyO@erf=\skip49
|
||||
\f@ncyO@olf=\skip50
|
||||
\f@ncyO@orf=\skip51
|
||||
)
|
||||
(/usr/share/texmf/tex/latex/pgf/frontendlayer/tikz.sty
|
||||
(/usr/share/texmf/tex/latex/pgf/basiclayer/pgf.sty
|
||||
(/usr/share/texmf/tex/latex/pgf/utilities/pgfrcs.sty
|
||||
(/usr/share/texmf/tex/generic/pgf/utilities/pgfutil-common.tex
|
||||
\pgfutil@everybye=\toks15
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/utilities/pgfutil-latex.def)
|
||||
(/usr/share/texmf/tex/generic/pgf/utilities/pgfrcs.code.tex
|
||||
Package: pgfrcs 2008/02/20 v2.00 (rcs-revision 1.21)
|
||||
))
|
||||
Package: pgf 2008/01/15 v2.00 (rcs-revision 1.12)
|
||||
|
||||
(/usr/share/texmf/tex/latex/pgf/basiclayer/pgfcore.sty
|
||||
(/usr/share/texmf/tex/latex/pgf/systemlayer/pgfsys.sty
|
||||
(/usr/share/texmf/tex/generic/pgf/systemlayer/pgfsys.code.tex
|
||||
Package: pgfsys 2008/02/07 v2.00 (rcs-revision 1.31)
|
||||
|
||||
(/usr/share/texmf/tex/generic/pgf/utilities/pgfkeys.code.tex
|
||||
\pgfkeys@pathtoks=\toks16
|
||||
\pgfkeys@temptoks=\toks17
|
||||
)
|
||||
\pgf@x=\dimen105
|
||||
\pgf@y=\dimen106
|
||||
\pgf@xa=\dimen107
|
||||
\pgf@ya=\dimen108
|
||||
\pgf@xb=\dimen109
|
||||
\pgf@yb=\dimen110
|
||||
\pgf@xc=\dimen111
|
||||
\pgf@yc=\dimen112
|
||||
\c@pgf@counta=\count88
|
||||
\c@pgf@countb=\count89
|
||||
\c@pgf@countc=\count90
|
||||
\c@pgf@countd=\count91
|
||||
|
||||
(/usr/share/texmf/tex/generic/pgf/systemlayer/pgf.cfg
|
||||
File: pgf.cfg 2008/01/13 (rcs-revision 1.6)
|
||||
)
|
||||
Package pgfsys Info: Driver file for pgf: pgfsys-pdftex.def on input line 885.
|
||||
|
||||
(/usr/share/texmf/tex/generic/pgf/systemlayer/pgfsys-pdftex.def
|
||||
File: pgfsys-pdftex.def 2007/12/20 (rcs-revision 1.20)
|
||||
|
||||
(/usr/share/texmf/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def
|
||||
File: pgfsys-common-pdf.def 2007/12/17 (rcs-revision 1.8)
|
||||
)))
|
||||
(/usr/share/texmf/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex
|
||||
File: pgfsyssoftpath.code.tex 2008/01/23 (rcs-revision 1.6)
|
||||
\pgfsyssoftpath@smallbuffer@items=\count92
|
||||
\pgfsyssoftpath@bigbuffer@items=\count93
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex
|
||||
File: pgfsysprotocol.code.tex 2006/10/16 (rcs-revision 1.4)
|
||||
))
|
||||
(/usr/share/texmf/tex/latex/xcolor/xcolor.sty
|
||||
Package: xcolor 2007/01/21 v2.11 LaTeX color extensions (UK)
|
||||
|
||||
(/etc/texmf/tex/latex/config/color.cfg
|
||||
File: color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive
|
||||
)
|
||||
Package xcolor Info: Driver file: pdftex.def on input line 225.
|
||||
Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1337.
|
||||
Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1341.
|
||||
Package xcolor Info: Model `RGB' extended on input line 1353.
|
||||
Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1355.
|
||||
Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1356.
|
||||
Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1357.
|
||||
Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1358.
|
||||
Package xcolor Info: Model `Gray' substituted by `gray' on input line 1359.
|
||||
Package xcolor Info: Model `wave' substituted by `hsb' on input line 1360.
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcore.code.tex
|
||||
Package: pgfcore 2008/01/15 v2.00 (rcs-revision 1.6)
|
||||
|
||||
(/usr/share/texmf/tex/generic/pgf/math/pgfmath.code.tex
|
||||
(/usr/share/texmf/tex/generic/pgf/math/pgfmathcalc.code.tex
|
||||
(/usr/share/texmf/tex/generic/pgf/math/pgfmathutil.code.tex
|
||||
\pgfmath@box=\box26
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/math/pgfmathparser.code.tex
|
||||
\pgfmath@stack=\toks18
|
||||
\c@pgfmath@parsecounta=\count94
|
||||
\c@pgfmath@parsecountb=\count95
|
||||
\c@pgfmath@parsecountc=\count96
|
||||
\pgfmath@parsex=\dimen113
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/math/pgfmathoperations.code.tex
|
||||
(/usr/share/texmf/tex/generic/pgf/math/pgfmathtrig.code.tex)
|
||||
(/usr/share/texmf/tex/generic/pgf/math/pgfmathrnd.code.tex))
|
||||
(/usr/share/texmf/tex/generic/pgf/math/pgfmathbase.code.tex)))
|
||||
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex
|
||||
File: pgfcorepoints.code.tex 2008/02/03 (rcs-revision 1.13)
|
||||
\pgf@picminx=\dimen114
|
||||
\pgf@picmaxx=\dimen115
|
||||
\pgf@picminy=\dimen116
|
||||
\pgf@picmaxy=\dimen117
|
||||
\pgf@pathminx=\dimen118
|
||||
\pgf@pathmaxx=\dimen119
|
||||
\pgf@pathminy=\dimen120
|
||||
\pgf@pathmaxy=\dimen121
|
||||
\pgf@xx=\dimen122
|
||||
\pgf@xy=\dimen123
|
||||
\pgf@yx=\dimen124
|
||||
\pgf@yy=\dimen125
|
||||
\pgf@zx=\dimen126
|
||||
\pgf@zy=\dimen127
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex
|
||||
File: pgfcorepathconstruct.code.tex 2008/02/13 (rcs-revision 1.14)
|
||||
\pgf@path@lastx=\dimen128
|
||||
\pgf@path@lasty=\dimen129
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex
|
||||
File: pgfcorepathusage.code.tex 2008/01/23 (rcs-revision 1.11)
|
||||
\pgf@shorten@end@additional=\dimen130
|
||||
\pgf@shorten@start@additional=\dimen131
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex
|
||||
File: pgfcorescopes.code.tex 2008/01/15 (rcs-revision 1.26)
|
||||
\pgfpic=\box27
|
||||
\pgf@hbox=\box28
|
||||
\pgf@layerbox@main=\box29
|
||||
\pgf@picture@serial@count=\count97
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex
|
||||
File: pgfcoregraphicstate.code.tex 2007/12/12 (rcs-revision 1.8)
|
||||
\pgflinewidth=\dimen132
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex
|
||||
File: pgfcoretransformations.code.tex 2008/02/04 (rcs-revision 1.10)
|
||||
\pgf@pt@x=\dimen133
|
||||
\pgf@pt@y=\dimen134
|
||||
\pgf@pt@temp=\dimen135
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorequick.code.tex
|
||||
File: pgfcorequick.code.tex 2006/10/11 (rcs-revision 1.2)
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex
|
||||
File: pgfcoreobjects.code.tex 2006/10/11 (rcs-revision 1.2)
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex
|
||||
File: pgfcorepathprocessing.code.tex 2008/01/23 (rcs-revision 1.7)
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex
|
||||
File: pgfcorearrows.code.tex 2007/06/07 (rcs-revision 1.8)
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex
|
||||
File: pgfcoreshade.code.tex 2007/12/10 (rcs-revision 1.9)
|
||||
\pgf@max=\dimen136
|
||||
\pgf@sys@shading@range@num=\count98
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex
|
||||
File: pgfcoreimage.code.tex 2008/01/15 (rcs-revision 1.1)
|
||||
\pgfexternal@startupbox=\box30
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex
|
||||
File: pgfcorelayers.code.tex 2008/01/15 (rcs-revision 1.1)
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcoretransparency.code.tex
|
||||
File: pgfcoretransparency.code.tex 2008/01/17 (rcs-revision 1.2)
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex
|
||||
File: pgfcorepatterns.code.tex 2008/01/15 (rcs-revision 1.1)
|
||||
)))
|
||||
(/usr/share/texmf/tex/generic/pgf/modules/pgfmoduleshapes.code.tex
|
||||
File: pgfmoduleshapes.code.tex 2008/02/13 (rcs-revision 1.4)
|
||||
\pgfnodeparttextbox=\box31
|
||||
\toks@savedmacro=\toks19
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/modules/pgfmoduleplot.code.tex
|
||||
File: pgfmoduleplot.code.tex 2008/01/15 (rcs-revision 1.1)
|
||||
\pgf@plotwrite=\write3
|
||||
)
|
||||
(/usr/share/texmf/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty
|
||||
Package: pgfcomp-version-0-65 2007/07/03 v2.00 (rcs-revision 1.7)
|
||||
\pgf@nodesepstart=\dimen137
|
||||
\pgf@nodesepend=\dimen138
|
||||
)
|
||||
(/usr/share/texmf/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty
|
||||
Package: pgfcomp-version-1-18 2007/07/23 v2.00 (rcs-revision 1.1)
|
||||
))
|
||||
(/usr/share/texmf/tex/latex/pgf/utilities/pgffor.sty
|
||||
(/usr/share/texmf/tex/generic/pgf/utilities/pgffor.code.tex
|
||||
Package: pgffor 2007/11/07 v2.00 (rcs-revision 1.8)
|
||||
\pgffor@iter=\dimen139
|
||||
\pgffor@skip=\dimen140
|
||||
))
|
||||
(/usr/share/texmf/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex
|
||||
Package: tikz 2008/02/13 v2.00 (rcs-revision 1.27)
|
||||
|
||||
(/usr/share/texmf/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex
|
||||
File: pgflibraryplothandlers.code.tex 2007/03/09 v2.00 (rcs-revision 1.9)
|
||||
\pgf@plot@mark@count=\count99
|
||||
\pgfplotmarksize=\dimen141
|
||||
)
|
||||
\tikz@lastx=\dimen142
|
||||
\tikz@lasty=\dimen143
|
||||
\tikz@lastxsaved=\dimen144
|
||||
\tikz@lastysaved=\dimen145
|
||||
\tikzleveldistance=\dimen146
|
||||
\tikzsiblingdistance=\dimen147
|
||||
\tikz@figbox=\box32
|
||||
\tikz@tempbox=\box33
|
||||
\tikztreelevel=\count100
|
||||
\tikznumberofchildren=\count101
|
||||
\tikznumberofcurrentchild=\count102
|
||||
\tikz@fig@count=\count103
|
||||
|
||||
(/usr/share/texmf/tex/generic/pgf/modules/pgfmodulematrix.code.tex
|
||||
File: pgfmodulematrix.code.tex 2008/01/15 (rcs-revision 1.1)
|
||||
\pgfmatrixcurrentrow=\count104
|
||||
\pgfmatrixcurrentcolumn=\count105
|
||||
\pgf@matrix@numberofcolumns=\count106
|
||||
)
|
||||
\tikz@expandcount=\count107
|
||||
|
||||
(/usr/share/texmf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopat
|
||||
hs.code.tex
|
||||
File: tikzlibrarytopaths.code.tex 2008/01/09 v2.00 (rcs-revision 1.1)
|
||||
))) (/usr/share/texmf-texlive/tex/latex/amsfonts/amsfonts.sty
|
||||
Package: amsfonts 2001/10/25 v2.2f
|
||||
\@emptytoks=\toks20
|
||||
\symAMSa=\mathgroup4
|
||||
\symAMSb=\mathgroup5
|
||||
LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold'
|
||||
(Font) U/euf/m/n --> U/euf/b/n on input line 132.
|
||||
)
|
||||
(/usr/share/texmf-texlive/tex/latex/amsmath/amsmath.sty
|
||||
Package: amsmath 2000/07/18 v2.13 AMS math features
|
||||
\@mathmargin=\skip52
|
||||
|
||||
For additional information on amsmath, use the `?' option.
|
||||
(/usr/share/texmf-texlive/tex/latex/amsmath/amstext.sty
|
||||
Package: amstext 2000/06/29 v2.01
|
||||
|
||||
(/usr/share/texmf-texlive/tex/latex/amsmath/amsgen.sty
|
||||
File: amsgen.sty 1999/11/30 v2.0
|
||||
\@emptytoks=\toks21
|
||||
\ex@=\dimen148
|
||||
))
|
||||
(/usr/share/texmf-texlive/tex/latex/amsmath/amsbsy.sty
|
||||
Package: amsbsy 1999/11/29 v1.2d
|
||||
\pmbraise@=\dimen149
|
||||
)
|
||||
(/usr/share/texmf-texlive/tex/latex/amsmath/amsopn.sty
|
||||
Package: amsopn 1999/12/14 v2.01 operator names
|
||||
)
|
||||
\inf@bad=\count108
|
||||
LaTeX Info: Redefining \frac on input line 211.
|
||||
\uproot@=\count109
|
||||
\leftroot@=\count110
|
||||
LaTeX Info: Redefining \overline on input line 307.
|
||||
\classnum@=\count111
|
||||
\DOTSCASE@=\count112
|
||||
LaTeX Info: Redefining \ldots on input line 379.
|
||||
LaTeX Info: Redefining \dots on input line 382.
|
||||
LaTeX Info: Redefining \cdots on input line 467.
|
||||
\Mathstrutbox@=\box34
|
||||
\strutbox@=\box35
|
||||
\big@size=\dimen150
|
||||
LaTeX Font Info: Redeclaring font encoding OML on input line 567.
|
||||
LaTeX Font Info: Redeclaring font encoding OMS on input line 568.
|
||||
\macc@depth=\count113
|
||||
\c@MaxMatrixCols=\count114
|
||||
\dotsspace@=\muskip10
|
||||
\c@parentequation=\count115
|
||||
\dspbrk@lvl=\count116
|
||||
\tag@help=\toks22
|
||||
\row@=\count117
|
||||
\column@=\count118
|
||||
\maxfields@=\count119
|
||||
\andhelp@=\toks23
|
||||
\eqnshift@=\dimen151
|
||||
\alignsep@=\dimen152
|
||||
\tagshift@=\dimen153
|
||||
\tagwidth@=\dimen154
|
||||
\totwidth@=\dimen155
|
||||
\lineht@=\dimen156
|
||||
\@envbody=\toks24
|
||||
\multlinegap=\skip53
|
||||
\multlinetaggap=\skip54
|
||||
\mathdisplay@stack=\toks25
|
||||
LaTeX Info: Redefining \[ on input line 2666.
|
||||
LaTeX Info: Redefining \] on input line 2667.
|
||||
)
|
||||
(/usr/share/texmf-texlive/tex/latex/amscls/amsthm.sty
|
||||
Package: amsthm 2004/08/06 v2.20
|
||||
\thm@style=\toks26
|
||||
\thm@bodyfont=\toks27
|
||||
\thm@headfont=\toks28
|
||||
\thm@notefont=\toks29
|
||||
\thm@headpunct=\toks30
|
||||
\thm@preskip=\skip55
|
||||
\thm@postskip=\skip56
|
||||
\thm@headsep=\skip57
|
||||
\dth@everypar=\toks31
|
||||
) (../style.tex
|
||||
LaTeX Font Info: Redeclaring symbol font `AMSb' on input line 34.
|
||||
LaTeX Font Info: Overwriting symbol font `AMSb' in version `normal'
|
||||
(Font) U/msb/m/n --> U/msb/m/n on input line 34.
|
||||
LaTeX Font Info: Overwriting symbol font `AMSb' in version `bold'
|
||||
(Font) U/msb/m/n --> U/msb/m/n on input line 34.
|
||||
\c@examplec=\count120
|
||||
\c@definitionc=\count121
|
||||
\c@summaryc=\count122
|
||||
\c@example=\count123
|
||||
\c@definition=\count124
|
||||
)
|
||||
(./paper.aux)
|
||||
\openout1 = `paper.aux'.
|
||||
|
||||
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 11.
|
||||
LaTeX Font Info: ... okay on input line 11.
|
||||
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 11.
|
||||
LaTeX Font Info: ... okay on input line 11.
|
||||
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 11.
|
||||
LaTeX Font Info: ... okay on input line 11.
|
||||
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 11.
|
||||
LaTeX Font Info: ... okay on input line 11.
|
||||
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 11.
|
||||
LaTeX Font Info: ... okay on input line 11.
|
||||
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 11.
|
||||
LaTeX Font Info: ... okay on input line 11.
|
||||
(/usr/share/texmf/tex/context/base/supp-pdf.tex
|
||||
[Loading MPS to PDF converter (version 2006.09.02).]
|
||||
\scratchcounter=\count125
|
||||
\scratchdimen=\dimen157
|
||||
\scratchbox=\box36
|
||||
\nofMPsegments=\count126
|
||||
\nofMParguments=\count127
|
||||
\everyMPshowfont=\toks32
|
||||
\MPscratchCnt=\count128
|
||||
\MPscratchDim=\dimen158
|
||||
\MPnumerator=\count129
|
||||
\everyMPtoPDFconversion=\toks33
|
||||
)
|
||||
LaTeX Font Info: Try loading font information for U+msa on input line 20.
|
||||
(/usr/share/texmf-texlive/tex/latex/amsfonts/umsa.fd
|
||||
File: umsa.fd 2002/01/19 v2.2g AMS font definitions
|
||||
)
|
||||
LaTeX Font Info: Try loading font information for U+msb on input line 20.
|
||||
|
||||
(/usr/share/texmf-texlive/tex/latex/amsfonts/umsb.fd
|
||||
File: umsb.fd 2002/01/19 v2.2g AMS font definitions
|
||||
) (./pt100_paper.tex
|
||||
|
||||
LaTeX Warning: Citation `aoe' on page 1 undefined on input line 8.
|
||||
|
||||
|
||||
Package pdftex.def Warning: Option `bb' does not make sense,
|
||||
(pdftex.def) using `viewport' instead on input line 28.
|
||||
|
||||
<./pt100.jpg, id=4, 721.69624pt x 172.645pt>
|
||||
File: ./pt100.jpg Graphic file (type jpg)
|
||||
<use ./pt100.jpg>
|
||||
|
||||
Package pdftex.def Warning: Option `bb' does not make sense,
|
||||
(pdftex.def) using `viewport' instead on input line 48.
|
||||
|
||||
<./vrange.jpg, id=5, 296.10625pt x 485.815pt>
|
||||
File: ./vrange.jpg Graphic file (type jpg)
|
||||
<use ./vrange.jpg>
|
||||
|
||||
LaTeX Warning: `h' float specifier changed to `ht'.
|
||||
|
||||
[1
|
||||
|
||||
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map} <./pt100.jpg>]
|
||||
|
||||
LaTeX Warning: Citation `eurothermtables' on page 2 undefined on input line 83.
|
||||
|
||||
|
||||
|
||||
LaTeX Warning: Citation `mil1991' on page 2 undefined on input line 92.
|
||||
|
||||
|
||||
LaTeX Warning: Citation `mil1991' on page 2 undefined on input line 108.
|
||||
|
||||
|
||||
Package Fancyhdr Warning: \headheight is too small (12.0pt):
|
||||
Make it at least 22.54448pt.
|
||||
We now make it that large for the rest of the document.
|
||||
This may cause the page layout to be inconsistent, however.
|
||||
|
||||
[2 <./vrange.jpg>]
|
||||
|
||||
LaTeX Warning: Reference `pt100range' on page 3 undefined on input line 152.
|
||||
|
||||
|
||||
LaTeX Warning: Citation `aoe' on page 3 undefined on input line 160.
|
||||
|
||||
|
||||
LaTeX Warning: Citation `eurothermtables' on page 3 undefined on input line 160
|
||||
.
|
||||
|
||||
|
||||
LaTeX Warning: Citation `eurothermtables' on page 3 undefined on input line 164
|
||||
.
|
||||
|
||||
[3]
|
||||
|
||||
Package pdftex.def Warning: Option `bb' does not make sense,
|
||||
(pdftex.def) using `viewport' instead on input line 224.
|
||||
|
||||
<./pt100_tc.jpg, id=31, 519.9425pt x 366.36874pt>
|
||||
File: ./pt100_tc.jpg Graphic file (type jpg)
|
||||
<use ./pt100_tc.jpg>
|
||||
|
||||
Package pdftex.def Warning: Option `bb' does not make sense,
|
||||
(pdftex.def) using `viewport' instead on input line 239.
|
||||
|
||||
<./voltage_divider.png, id=32, 183.68625pt x 170.6375pt>
|
||||
File: ./voltage_divider.png Graphic file (type png)
|
||||
|
||||
<use ./voltage_divider.png>
|
||||
|
||||
LaTeX Warning: `h' float specifier changed to `ht'.
|
||||
|
||||
[4 <./pt100_tc.jpg>] [5 <./voltage_divider.png>]
|
||||
|
||||
Package pdftex.def Warning: Option `bb' does not make sense,
|
||||
(pdftex.def) using `viewport' instead on input line 336.
|
||||
|
||||
<./pt100_tc_sp.jpg, id=40, 519.9425pt x 365.365pt>
|
||||
File: ./pt100_tc_sp.jpg Graphic file (type jpg)
|
||||
<use ./pt100_tc_sp.jpg>
|
||||
|
||||
LaTeX Warning: `h' float specifier changed to `ht'.
|
||||
|
||||
|
||||
Package pdftex.def Warning: Option `bb' does not make sense,
|
||||
(pdftex.def) using `viewport' instead on input line 348.
|
||||
|
||||
<./pt100_singlef.jpg, id=41, 167.62625pt x 194.7275pt>
|
||||
File: ./pt100_singlef.jpg Graphic file (type jpg)
|
||||
|
||||
<use ./pt100_singlef.jpg>
|
||||
|
||||
LaTeX Warning: `h' float specifier changed to `ht'.
|
||||
|
||||
[6] [7 <./pt100_tc_sp.jpg> <./pt100_singlef.jpg>]
|
||||
|
||||
LaTeX Warning: Citation `mil1991' on page 8 undefined on input line 362.
|
||||
|
||||
|
||||
Package pdftex.def Warning: Option `bb' does not make sense,
|
||||
(pdftex.def) using `viewport' instead on input line 419.
|
||||
|
||||
<./stat_single.jpg, id=49, 859.21pt x 328.22626pt>
|
||||
File: ./stat_single.jpg Graphic file (type jpg)
|
||||
<use ./stat_single.jpg>
|
||||
|
||||
LaTeX Warning: `h' float specifier changed to `ht'.
|
||||
|
||||
[8
|
||||
|
||||
] [9 <./stat_single.jpg>])
|
||||
No file paper.bbl.
|
||||
[10
|
||||
|
||||
] (./paper.aux)
|
||||
|
||||
LaTeX Warning: There were undefined references.
|
||||
|
||||
|
||||
LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.
|
||||
|
||||
)
|
||||
Here is how much of TeX's memory you used:
|
||||
8241 strings out of 95086
|
||||
138707 string characters out of 1183256
|
||||
189938 words of memory out of 1500000
|
||||
11225 multiletter control sequences out of 10000+50000
|
||||
14073 words of font info for 54 fonts, out of 1200000 for 2000
|
||||
28 hyphenation exceptions out of 8191
|
||||
47i,12n,49p,350b,264s stack positions out of 5000i,500n,6000p,200000b,5000s
|
||||
</usr/share/texmf-texlive/fonts/type1/bluesky/cm/cmbx10.pfb></usr/share/texmf
|
||||
-texlive/fonts/type1/bluesky/cm/cmbx12.pfb></usr/share/texmf-texlive/fonts/type
|
||||
1/bluesky/cm/cmbx9.pfb></usr/share/texmf-texlive/fonts/type1/bluesky/cm/cmmi10.
|
||||
pfb></usr/share/texmf-texlive/fonts/type1/bluesky/cm/cmmi6.pfb></usr/share/texm
|
||||
f-texlive/fonts/type1/bluesky/cm/cmmi7.pfb></usr/share/texmf-texlive/fonts/type
|
||||
1/bluesky/cm/cmmi9.pfb></usr/share/texmf-texlive/fonts/type1/bluesky/cm/cmr10.p
|
||||
fb></usr/share/texmf-texlive/fonts/type1/bluesky/cm/cmr12.pfb></usr/share/texmf
|
||||
-texlive/fonts/type1/bluesky/cm/cmr17.pfb></usr/share/texmf-texlive/fonts/type1
|
||||
/bluesky/cm/cmr6.pfb></usr/share/texmf-texlive/fonts/type1/bluesky/cm/cmr7.pfb>
|
||||
</usr/share/texmf-texlive/fonts/type1/bluesky/cm/cmr8.pfb></usr/share/texmf-tex
|
||||
live/fonts/type1/bluesky/cm/cmr9.pfb></usr/share/texmf-texlive/fonts/type1/blue
|
||||
sky/cm/cmsl10.pfb></usr/share/texmf-texlive/fonts/type1/bluesky/cm/cmsy10.pfb><
|
||||
/usr/share/texmf-texlive/fonts/type1/bluesky/cm/cmti10.pfb>
|
||||
Output written on paper.pdf (10 pages, 247678 bytes).
|
||||
PDF statistics:
|
||||
114 PDF objects out of 1000 (max. 8388607)
|
||||
0 named destinations out of 1000 (max. 131072)
|
||||
48 words of extra memory for PDF output out of 10000 (max. 10000000)
|
||||
|
BIN
burner/paper.pdf
Normal file
BIN
burner/paper.pdf
Normal file
Binary file not shown.
27
burner/paper.tex
Normal file
27
burner/paper.tex
Normal file
@ -0,0 +1,27 @@
|
||||
|
||||
\documentclass[a4paper,10pt]{article}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{fancyhdr}
|
||||
\usepackage{tikz}
|
||||
\usepackage{amsfonts,amsmath,amsthm}
|
||||
\input{../style}
|
||||
|
||||
%\newtheorem{definition}{Definition:}
|
||||
|
||||
\begin{document}
|
||||
\pagestyle{fancy}
|
||||
|
||||
\outerhead{{\small\bf PT100 FMMD analysis}}
|
||||
%\innerfoot{{\small\bf R.P. Clark } }
|
||||
% numbers at outer edges
|
||||
\pagenumbering{arabic} % Arabic page numbers hereafter
|
||||
\author{R.P.Clark}
|
||||
\title{PT100 FMMD analysis}
|
||||
\maketitle
|
||||
\input{pt100_paper}
|
||||
|
||||
\bibliographystyle{plain}
|
||||
\bibliography{vmgbibliography,mybib}
|
||||
|
||||
\today
|
||||
\end{document}
|
BIN
burner/pt100.dia~
Normal file
BIN
burner/pt100.dia~
Normal file
Binary file not shown.
12452
burner/pt100.log
Normal file
12452
burner/pt100.log
Normal file
File diff suppressed because it is too large
Load Diff
526
burner/pt100.tex.25MAR2010
Normal file
526
burner/pt100.tex.25MAR2010
Normal file
@ -0,0 +1,526 @@
|
||||
%
|
||||
% Make the revision and doc number macro's then they are defined in one place
|
||||
|
||||
\begin{abstract}
|
||||
The PT100, or platinum wire \ohms{100} sensor is
|
||||
a wisely used industrial temperature sensor that is
|
||||
are slowly replacing the use of thermocouples in many
|
||||
industrial applications below 600\oc, due to high accuracy\cite{aoe}.
|
||||
|
||||
This chapter looks at the most common configuration, the
|
||||
four wire circuit, and analyses it from an FMEA perspective twice.
|
||||
Once considering single faults (cardinality constrained powerset of 1) and then again, considering the
|
||||
possibility of double simultaneous faults (cardinality constrained powerset of 2).
|
||||
|
||||
The analysis is performed using Propositional Logic
|
||||
diagrasms to assist the reasoning process.
|
||||
This chapter describes taking
|
||||
the failure modes of the components, analysing the circuit using FMEA
|
||||
and producing a failure mode model for the circuit as a whole.
|
||||
Thus after the analysis the PT100 temperature sensing circuit, may be veiwed
|
||||
from an FMEA persepective as a component itsself, with a set of know failure modes.
|
||||
|
||||
\end{abstract}
|
||||
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=400pt,bb=0 0 714 180,keepaspectratio=true]{./pt100/pt100.jpg}
|
||||
% pt100.jpg: 714x180 pixel, 72dpi, 25.19x6.35 cm, bb=0 0 714 180
|
||||
\caption{PT100 four wire circuit}
|
||||
\label{fig:pt100}
|
||||
\end{figure}
|
||||
|
||||
|
||||
\section{Overview of PT100 four wire circuit}
|
||||
|
||||
The PT100 four wire circuit consists of two resistors supplying
|
||||
a current to a third, the thermistor or PT100. By measuring volatges
|
||||
from sections of this circuit forming potential dividers, we can determine the
|
||||
current resistance of the platinum wire sensor. The resistance
|
||||
of this is directly related to temperature, and may be determined by
|
||||
look-up tables or a suitable polynomial expression.
|
||||
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=150pt,bb=0 0 273 483,keepaspectratio=true]{./pt100/vrange.jpg}
|
||||
% pt100.jpg: 714x180 pixel, 72dpi, 25.19x6.35 cm, bb=0 0 714 180
|
||||
\caption{PT100 expected voltage ranges}
|
||||
\label{fig:pt100vrange}
|
||||
\end{figure}
|
||||
|
||||
|
||||
|
||||
|
||||
The voltage ranges we expect from from this three stage potential divider
|
||||
are shown in figure \ref{fig:pt100vrange}. Note that there is
|
||||
an expected range for each reading for a given temperature span.
|
||||
Note that the low reading goes down as temperature increases, and the higher reading goes up.
|
||||
For this reason the low reading will be reffered to as {\em sense-}
|
||||
and the higher as {\em sense+}.
|
||||
|
||||
\subsection{Accuracy despite variable resistance in cables}
|
||||
|
||||
For electronic and accuracy reasons a four wire circuit is preffered
|
||||
because of resistance in the cables. Resitance from the supply
|
||||
causes a slight voltage
|
||||
drop in the supply to the PT100. As no significant current
|
||||
is carried by the two `sense' lines the resistance back to the ADC
|
||||
causes only a negligible voltage drop, and thus the four wire
|
||||
configuration is more accurate.
|
||||
|
||||
\subsection{Calculating Temperature from the sense line voltages}
|
||||
|
||||
The current flowing though the
|
||||
whole circuit can be measured on the PCB by reading a third
|
||||
sense voltage from one of the load resistors. Knowing the current flowing
|
||||
through the circuit
|
||||
and knowing the voltage drop over the PT100, we can calculate its
|
||||
resistance by ohms law $V=I.R$, $R=\frac{I}{V}$.
|
||||
Thus a little loss of supply current due to resistance in the cables
|
||||
does not impinge on accuracy.
|
||||
The resistance to temperature conversion is achieved
|
||||
through the published PT100 tables\cite{eurothermtables}.
|
||||
|
||||
\section{Safety case for 4 wire circuit}
|
||||
|
||||
This sub-section looks at the behaviour of the PT100 four wire circuit
|
||||
for the effects of component failures.
|
||||
All components have a set of known `failure modes'.
|
||||
In other words we know that a given component can fail in several distict ways.
|
||||
Studies have been published which list common component types
|
||||
and their sets of failure modes, often with MTTF statistics \cite{mil1991}.
|
||||
Thus for each component, an analysis is made for each of it failure modes,
|
||||
with respect to its effect on the
|
||||
circuit. Each one of these scenarios is termed a `test case'.
|
||||
The resultant circuit behaviour for each of these test cases is noted.
|
||||
The worst case for this type of
|
||||
analysis would be a fault that we cannot detect.
|
||||
Where this occurs a circuit re-design is probably the only sensible course of action.
|
||||
|
||||
|
||||
|
||||
\subsection{Single Fault FMEA Analysis of PT100 Four wire circuit}
|
||||
|
||||
\label{fmea}
|
||||
This circuit simply consists of three resistors.
|
||||
Resistors according to the DOD Electronic component fault handbook
|
||||
1991, fail by either going OPEN or SHORT circuit \cite{mil1991}.
|
||||
%Should wires become disconnected these will have the same effect as
|
||||
%given resistors going open.
|
||||
For the purpose of his analyis;
|
||||
$R_{1}$ is the \ohms{2k2} from 5V to the thermistor,
|
||||
$R_3$ is the PT100 thermistor and $R_{2}$ connects the thermistor to ground.
|
||||
|
||||
We can define the terms `High Fault' and `Low Fault' here, with reference to figure
|
||||
\ref{fig:pt100vrange}. Should we get a reading outside the safe green zone
|
||||
in the diagram we can consider this a fault.
|
||||
Should the reading be above its expected range this is a `High Fault'
|
||||
and if below a `Low Fault'.
|
||||
|
||||
The Table \ref{ptfmea} plays through the scenarios of each of the resistors failing
|
||||
in both SHORT and OPEN failure modes, and hypothesises an error condition in the readings.
|
||||
The range 0\oc to 300\oc will be analysed using potential divider equations to
|
||||
determine out of range voltage limits in section \ref{ptbounds}.
|
||||
|
||||
\begin{table}[ht]
|
||||
\caption{PT100 FMEA Single Faults} % title of Table
|
||||
\centering % used for centering table
|
||||
\begin{tabular}{||l|c|c|l|l||}
|
||||
\hline \hline
|
||||
\textbf{Test} & \textbf{Result} & \textbf{Result } & \textbf{General} \\
|
||||
\textbf{Case} & \textbf{sense +} & \textbf{sense -} & \textbf{Symtom Description} \\
|
||||
% R & wire & res + & res - & description
|
||||
\hline
|
||||
\hline
|
||||
$R_1$ SHORT & High Fault & - & Value Out of Range Value \\ \hline
|
||||
$R_1$ OPEN & Low Fault & Low Fault & Both values out of range \\ \hline
|
||||
\hline
|
||||
$R_3$ SHORT & Low Fault & High Fault & Both values out of range \\ \hline
|
||||
$R_3$ OPEN & High Fault & Low Fault & Both values out of range \\ \hline
|
||||
\hline
|
||||
$R_2$ SHORT & - & Low Fault & Value Out of Range Value \\
|
||||
$R_2$ OPEN & High Fault & High Fault & Both values out of range \\ \hline
|
||||
\hline
|
||||
\end{tabular}
|
||||
\label{ptfmea}
|
||||
\end{table}
|
||||
|
||||
From table \ref{ptfmea} it can be seen that any component failure in the circuit
|
||||
should cause a common symptom, that of one or more of the values being `out of range'.
|
||||
Temperature range calculations and detailed calculations
|
||||
on the effects of each test case are found in section \ref{pt100range}
|
||||
and \ref{pt100temp}.
|
||||
|
||||
|
||||
\pagebreak
|
||||
% \subsection{Single Fault Modes as PLD}
|
||||
%
|
||||
% The component~failure~modes in table \ref{ptfmea} can be represented as contours
|
||||
% on a PLD diagram. Each test case, or analysis into the effects of the component failure
|
||||
% caused by the component~failure is represented by an labelled asterisk.
|
||||
%
|
||||
%
|
||||
% \begin{figure}[h]
|
||||
% \centering
|
||||
% \includegraphics[width=400pt,bb=0 0 518 365,keepaspectratio=true]{./pt100/pt100_tc.jpg}
|
||||
% % pt100_tc.jpg: 518x365 pixel, 72dpi, 18.27x12.88 cm, bb=0 0 518 365
|
||||
% \caption{PT100 Component Failure Modes}
|
||||
% \label{fig:pt100_tc}
|
||||
% \end{figure}
|
||||
%
|
||||
% This circuit supplies two results, sense+ and sense- voltage readings.
|
||||
% To establish the valid voltage ranges for these, and knowing our
|
||||
% valid tempperature range for this example ({0\oc} .. {300\oc}) we can calculate
|
||||
% valid voltage reading ranges by using the standard voltage divider equation \ref{eqn:vd}
|
||||
% for the circuit shown in figure \ref{fig:vd}.
|
||||
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=100pt,bb=0 0 183 170,keepaspectratio=true]{./pt100/voltage_divider.png}
|
||||
% voltage_divider.png: 183x170 pixel, 72dpi, 6.46x6.00 cm, bb=0 0 183 170
|
||||
\caption{Voltage Divider}
|
||||
\label{fig:vd}
|
||||
\end{figure}
|
||||
%The looking at figure \ref{fig:vd} the standard voltage divider formula (equation \ref{eqn:vd}) is used.
|
||||
|
||||
\begin{equation}
|
||||
\label{eqn:vd}
|
||||
V_{out} = V_{in}.\frac{Z2}{Z2+Z1}
|
||||
\end{equation}
|
||||
|
||||
|
||||
\subsection{Range and PT100 Calculations}
|
||||
\label{pt100temp}
|
||||
PT100 resistors are designed to
|
||||
have a resistance of ohms{100} at 0 \oc \cite{eurothermtables}.
|
||||
A suitable `wider than to be expected range' was considered to be {0\oc} to {300\oc}
|
||||
for a given application.
|
||||
According to the Eurotherm PT100
|
||||
tables \cite{eurothermtables}, this corresponded to the resistances \ohms{60.28}
|
||||
and \ohms{212.02} respectively. From this the potential divider circuit can be
|
||||
analysed and the maximum and minimum acceptable voltages determined.
|
||||
These can be used as bounds results to apply the findings from the
|
||||
PT100 FMEA analysis in section \ref{fmea}.
|
||||
|
||||
As the PT100 forms a potential divider with the \ohms{2k2} load resistors,
|
||||
the upper and lower readings can be calculated thus:
|
||||
|
||||
|
||||
$$ highreading = 5V.\frac{2k2+pt100}{2k2+2k2+pt100} $$
|
||||
$$ lowreading = 5V.\frac{2k2}{2k2+2k2+pt100} $$
|
||||
So by defining an acceptable measurement/temperature range,
|
||||
and ensuring the
|
||||
values are always within these bounds we can be confident that none of the
|
||||
resistors in this circuit has failed.
|
||||
|
||||
To convert these to twelve bit ADC (\adctw) counts:
|
||||
|
||||
$$ highreading = 2^{12}.\frac{2k2+pt100}{2k2+2k2+pt100} $$
|
||||
$$ lowreading = 2^{12}.\frac{2k2}{2k2+2k2+pt100} $$
|
||||
|
||||
|
||||
\begin{table}[ht]
|
||||
\caption{PT100 Maximum and Minimum Values} % title of Table
|
||||
\centering % used for centering table
|
||||
\begin{tabular}{||c|c|c|l|l||}
|
||||
\hline \hline
|
||||
\textbf{Temperature} & \textbf{PT100 resistance} &
|
||||
\textbf{Lower} & \textbf{Higher} & \textbf{Description} \\
|
||||
\hline
|
||||
% {-100 \oc} & {\ohms{68.28}} & 2.46V & 2.53V & Boundary of \\
|
||||
% & & 2017\adctw & 2079\adctw & out of range LOW \\ \hline
|
||||
{0 \oc} & {\ohms{100}} & 2.44V & 2.56V & Boundary of \\
|
||||
& & 2002\adctw & 2094\adctw & out of range LOW \\ \hline
|
||||
{+300 \oc} & {\ohms{212.02}} & 2.38V & 2.62V & Boundary of \\
|
||||
& & 1954\adctw & 2142\adctw & out of range HIGH \\ \hline
|
||||
\hline
|
||||
\end{tabular}
|
||||
\label{ptbounds}
|
||||
\end{table}
|
||||
|
||||
Table \ref{ptbounds} gives ranges that determine correct operation. In fact it can be shown that
|
||||
for any single error (short or opening of any resistor) this bounds check
|
||||
will detect it.
|
||||
|
||||
%\vbox{
|
||||
%\subsubsection{Calculating Bounds: High Value : HP48 RPL}
|
||||
%
|
||||
%
|
||||
%HP RPL calculator program to take pt100 resistance
|
||||
%and convert to voltage and {\adctw} values.
|
||||
%
|
||||
%\begin{verbatim}
|
||||
%<< -> p
|
||||
% <<
|
||||
% p 2200 + 2200 2200 + p + / 5 * DUP 5
|
||||
% / 4096 *
|
||||
% >>
|
||||
%>>
|
||||
%\end{verbatim}
|
||||
%}
|
||||
%
|
||||
%\vbox{
|
||||
%\subsubsection{Calculating Bounds: LOW Value : HP48 RPL}
|
||||
%
|
||||
%
|
||||
%HP RPL calculator program to take pt100 resistance
|
||||
%and convert to voltage and {\adctw} values.
|
||||
%
|
||||
%\begin{verbatim}
|
||||
%<< -> p
|
||||
% <<
|
||||
% p 2200 2200 p 2200 + + / 5 * DUP 5
|
||||
% / 4096 *
|
||||
% >>
|
||||
%>>
|
||||
%\end{verbatim}
|
||||
%}
|
||||
%
|
||||
%\subsection{Implementation of Four Wire Circuit}
|
||||
%
|
||||
%A standard 4 wire PT100\cite[pp 992]{aoe} circuit is read by
|
||||
%ports on the 12 bit ADC of the PIC18F2523\cite{pic18f2523}.
|
||||
%Three readings are taken. A reading to confirm the voltage level
|
||||
%over $R_2$ is taken,
|
||||
%from which the current can be determined.
|
||||
%The two sense lines then give the vo
|
||||
|
||||
\section{Single Fault FMEA Analysis of PT100 Four wire circuit}
|
||||
|
||||
\subsection{Single Fault Modes as PLD}
|
||||
|
||||
The component~failure~modes in table \ref{ptfmea} can be represented as contours
|
||||
on a PLD diagram. Each test case, or analysis into the effects of the component failure
|
||||
caused by the component~failure is represented by an labelled asterisk.
|
||||
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=400pt,bb=0 0 518 365,keepaspectratio=true]{./pt100/pt100_tc.jpg}
|
||||
% pt100_tc.jpg: 518x365 pixel, 72dpi, 18.27x12.88 cm, bb=0 0 518 365
|
||||
\caption{PT100 Component Failure Modes}
|
||||
\label{fig:pt100_tc}
|
||||
\end{figure}
|
||||
|
||||
This circuit supplies two results, sense+ and sense- voltage readings.
|
||||
To establish the valid voltage ranges for these, and knowing our
|
||||
valid tempperature range for this example ({0\oc} .. {300\oc}) we can calculate
|
||||
valid voltage reading ranges by using the standard voltage divider equation \ref{eqn:vd}
|
||||
for the circuit shown in .
|
||||
|
||||
|
||||
|
||||
\subsection{Proof of Out of Range Values for Failures}
|
||||
\label{pt110range}
|
||||
Using the temperature ranges defined above we can compare the voltages
|
||||
we would get from the resistor failures to prove that they are
|
||||
`out of range'. There are six test cases and each will be examined in turn.
|
||||
|
||||
\subsubsection{ TC1 : Voltages $R_1$ SHORT }
|
||||
With pt100 at 0\oc
|
||||
$$ highreading = 5V $$
|
||||
Since the highreading or sense+ is directly connected to the 5V rail,
|
||||
both temperature readings will be 5V..
|
||||
$$ lowreading = 5V.\frac{2k2}{2k2+68\Omega} = 4.85V$$
|
||||
With pt100 at the high end of the temperature range 300\oc.
|
||||
$$ highreading = 5V $$
|
||||
$$ lowreading = 5V.\frac{2k2}{2k2+212.02\Omega} = 4.56V$$
|
||||
|
||||
Thus with $R_1$ shorted both readingare outside the
|
||||
proscribed range in table \ref{ptbounds}.
|
||||
|
||||
\subsubsection{ TC2 : Voltages $R_1$ OPEN }
|
||||
|
||||
In this case the 5V rail is disconnected. All voltages read are 0V, and
|
||||
therefore both readings are outside the
|
||||
proscribed range in table \ref{ptbounds}.
|
||||
|
||||
|
||||
\subsubsection{ TC 4 : Voltages $R_2$ SHORT }
|
||||
|
||||
With pt100 at -100\oc
|
||||
$$ lowreading = 0V $$
|
||||
Since the lowreading or sense- is directly connected to the 0V rail,
|
||||
both temperature readings will be 0V.
|
||||
$$ lowreading = 5V.\frac{68\Omega}{2k2+68\Omega} = 0.15V$$
|
||||
With pt100 at the high end of the temperature range 300\oc.
|
||||
$$ highreading = 5V $$
|
||||
$$ lowreading = 5V.\frac{212.02\Omega}{2k2+212.02\Omega} = 0.44V$$
|
||||
|
||||
Thus with $R_2$ shorted both readingare outside the
|
||||
proscribed range in table \ref{ptbounds}.
|
||||
|
||||
\subsubsection{ TC : 5 Voltages $R_2$ OPEN }
|
||||
Here there is no potential divider operating and both sense lines
|
||||
will read 5V, outside of the proscibed range.
|
||||
|
||||
|
||||
\subsubsection{ TC 5 : Voltages $R_3$ SHORT }
|
||||
|
||||
Here the potential divider is simply between
|
||||
the two 2k2 load resistors. Thus it will read a nominal;
|
||||
2.5V.
|
||||
|
||||
Assuming the load resistors are
|
||||
precision components, and then taking an absolute worst case of 1\% either way.
|
||||
|
||||
$$ 5V.\frac{2k2*0.99}{2k2*1.01+2k2*0.99} = 2.475V $$
|
||||
|
||||
$$ 5V.\frac{2k2*1.01}{2k2*1.01+2k2*0.99} = 2.525V $$
|
||||
|
||||
These readings both lie outside the proscribed range.
|
||||
Also the sense+ and sense- readings would have the same value.
|
||||
|
||||
\subsubsection{ TC 6 : Voltages $R_3$ OPEN }
|
||||
|
||||
Here the potential divider is broken. The sense- will read 0V and the sense+ will
|
||||
read 5V. Both readings are outside the proscribed range.
|
||||
|
||||
\subsection{Summary of Analysis}
|
||||
|
||||
All six test cases have been analysed and the results agree with the hypothesis
|
||||
put in Table \ref{ptfmea}. The PLD diagram, can now be used to collect the
|
||||
symptoms. In this case there is a common and easily detected symptom for all these single
|
||||
resistor faults : Voltage out of range.
|
||||
|
||||
A spider can be drawn on the PLD diagram to this effect.
|
||||
|
||||
In practical use, by defining an acceptable measurement/temperature range,
|
||||
and ensuring the
|
||||
values are always within these bounds we can be confident that none of the
|
||||
resistors in this circuit has failed.
|
||||
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=400pt,bb=0 0 518 365,keepaspectratio=true]{./pt100/pt100_tc_sp.jpg}
|
||||
% pt100_tc.jpg: 518x365 pixel, 72dpi, 18.27x12.88 cm, bb=0 0 518 365
|
||||
\caption{PT100 Component Failure Modes}
|
||||
\label{fig:pt100_tc_sp}
|
||||
\end{figure}
|
||||
|
||||
|
||||
The PT100 circuit can now be treated as a component in its own right, and has one failure mode,
|
||||
{\textbf OUT\_OF\_RANGE}. It can now be represnted as a PLD see figure \ref{fig:pt100_singlef}.
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=100pt,bb=0 0 167 194,keepaspectratio=true]{./pt100/pt100_singlef.jpg}
|
||||
% pt100_singlef.jpg: 167x194 pixel, 72dpi, 5.89x6.84 cm, bb=0 0 167 194
|
||||
\caption{PT100 Circuit Failure Modes : From Single Faults Analysis}
|
||||
\label{fig:pt100_singlef}
|
||||
\end{figure}
|
||||
|
||||
|
||||
|
||||
|
||||
%Interestingly we can calculate the failure statistics for this circuit now.
|
||||
%Mill 1991 gives resistor stats of ${10}^{11}$ times 6 (can we get special stats for pt100) ???
|
||||
|
||||
The PT100 analysis presents a simple result for single faults.
|
||||
|
||||
% OK we can look at stats here.
|
||||
% the probabilities of the faults occurring in failures per billion hours
|
||||
% of operation.
|
||||
\subsection{Statistical MTTF for the PT100 circuit}
|
||||
|
||||
Mil1991\cite{mil1991} gives a mean time to failure for a fixed film resistor
|
||||
at up to 60oC at a low stress (current) level as
|
||||
$$0.00092 . 1.0 . 15 . 1.0 . 1000$$
|
||||
|
||||
13.8 failure per billion hours of operation.
|
||||
|
||||
|
||||
RAC \cite{rac} states that a resistor will fail 9/10 OPEN and 1/10 SHORT.
|
||||
So 13.8 - 1.38 OPEN
|
||||
1.38 SHORT
|
||||
|
||||
MILL 1991 gives Thermisitors, bead $$0.21 15 1.0 1000$$
|
||||
3150 failures per billion hours of operation.
|
||||
|
||||
Again we can apply the RAC division of resistor errors.
|
||||
|
||||
We can now see the six error types and see a statistical
|
||||
prediction of which will occur. We can also
|
||||
determine the reliability of the circuit as a whole.
|
||||
|
||||
The next analysis phase looks at how the circuit will behave under double simultaneous failure
|
||||
conditions.
|
||||
|
||||
|
||||
|
||||
% typeset in {\Huge \LaTeX} \today
|
||||
|
||||
%
|
||||
%\begin{table}[ht]
|
||||
%\caption{PT100 Maximum and Minimum Values} % title of Table
|
||||
%\centering % used for centering table
|
||||
%\begin{tabular}{||c|c|c|l|l||}
|
||||
%\hline \hline
|
||||
% \textbf{Temperature} & \textbf{PT100 resistance} &
|
||||
%\textbf{Lower} & \textbf{Higher} & \textbf{Description} \\
|
||||
%\hline
|
||||
%% {-100 \oc} & {\ohms{68.28}} & 2.46V & 2.53V & Boundary of \\
|
||||
%% & & 2017\adctw & 2079\adctw & out of range LOW \\ \hline
|
||||
% {0 \oc} & {\ohms{100}} & 2.44V & 2.56V & Boundary of \\
|
||||
% & & 2002\adctw & 2094\adctw & out of range LOW \\ \hline
|
||||
% {+300 \oc} & {\ohms{212.02}} & 2.38V & 2.62V & Boundary of \\
|
||||
% & & 1954\adctw & 2142\adctw & out of range HIGH \\ \hline
|
||||
%\hline
|
||||
%\end{tabular}
|
||||
%\label{ptbounds}
|
||||
%\end{table}
|
||||
%
|
||||
|
||||
|
||||
|
||||
\begin{table}[ht]
|
||||
\caption{PT100 FMEA Single Fault Statistics} % title of Table
|
||||
\centering % used for centering table
|
||||
\begin{tabular}{||l|c|c|l|c||}
|
||||
\hline \hline
|
||||
\textbf{Test} & \textbf{Result} & \textbf{Result } & \textbf{MTTF} \\
|
||||
\textbf{Case} & \textbf{sense +} & \textbf{sense -} & \textbf{per $10^9$ hours of operation} \\
|
||||
% R & wire & res + & res - & description
|
||||
\hline
|
||||
\hline
|
||||
$R_1$ SHORT & High Fault & - & 12.42 \\ \hline
|
||||
$R_1$ OPEN & Low Fault & Low Fault & 1.38 \\ \hline
|
||||
\hline
|
||||
$R_3$ SHORT & Low Fault & High Fault & 2835 \\ \hline
|
||||
$R_3$ OPEN & High Fault & Low Fault & 315 \\ \hline
|
||||
\hline
|
||||
$R_2$ SHORT & - & Low Fault & 12.42 \\
|
||||
$R_2$ OPEN & High Fault & High Fault & 1.38 \\ \hline
|
||||
\hline
|
||||
\end{tabular}
|
||||
\label{pt100_single_stats}
|
||||
\end{table}
|
||||
|
||||
|
||||
The ciruit overall has a MTTF of (13.8*2 + 3150) 3177.6
|
||||
Failure in Time FIT\footnote{FIT values are measured as failures per billion ($10^9$) hours of operation}.
|
||||
This gives an individual pt100 circuit of this type an MTTF of around 39 years.
|
||||
|
||||
Interestingly though we can now look at the results of our analysis
|
||||
as a probablistic tree see figure \ref{fig:stat_single}. We can see the overall
|
||||
reliability of the circuit
|
||||
and we can see the most likely fault (the thermisitor going OPEN circuit).
|
||||
The circuit is 8 times more likely to fail in this way than in any other.
|
||||
Were we to need a more reliable temperature sensor this would probably
|
||||
be the component area we would scrutinise first.
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=400pt,bb=0 0 856 328,keepaspectratio=true]{./stat_single.jpg}
|
||||
% stat_single.jpg: 856x328 pixel, 72dpi, 30.20x11.57 cm, bb=0 0 856 328
|
||||
\caption{Probablistic Tree}
|
||||
\label{fig:stat_single}
|
||||
\end{figure}
|
||||
|
||||
\clearpage
|
||||
|
||||
\section{ PT100 Double Simultaneous Fault Analysis}
|
412
burner/pt100.tex.backup
Normal file
412
burner/pt100.tex.backup
Normal file
@ -0,0 +1,412 @@
|
||||
%
|
||||
% Make the revision and doc number macro's then they are defined in one place
|
||||
|
||||
\begin{abstract}
|
||||
The PT100, or platinum wire \ohms{100} sensor is
|
||||
a wisely used industrial temperature sensor that is
|
||||
are slowly replacing the use of thermocouples in many
|
||||
industrial applications below 600\oc, due to high accuracy\cite{aoe}.
|
||||
|
||||
This chapter looks at the most common configuration, the
|
||||
four wire circuit, and analyses it from an FMEA perspective twice.
|
||||
Once considering single faults (cardinality constrained powerset of 1) and then again, considering the
|
||||
possibility of double simultaneous faults (cardinality constrained powerset of 2).
|
||||
|
||||
The analysis is performed using Propositional Logic
|
||||
diagrasms to assist the reasoning process.
|
||||
This chapter describes taking
|
||||
the failure modes of the components, analysing the circuit using FMEA
|
||||
and producing a failure mode model for the circuit as a whole.
|
||||
Thus after the analysis the PT100 temperature sensing circuit, may be veiwed
|
||||
from an FMEA persepective as a component itsself, with a set of know failure modes.
|
||||
|
||||
\end{abstract}
|
||||
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=400pt,bb=0 0 714 180,keepaspectratio=true]{./pt100/pt100.jpg}
|
||||
% pt100.jpg: 714x180 pixel, 72dpi, 25.19x6.35 cm, bb=0 0 714 180
|
||||
\caption{PT100 four wire circuit}
|
||||
\label{fig:pt100}
|
||||
\end{figure}
|
||||
|
||||
|
||||
\section{Overview of PT100 four wire circuit}
|
||||
|
||||
The PT100 four wire circuit consists of two resistors supplying
|
||||
a current to a third, the thermistor or PT100. By measuring volatges
|
||||
from sections of this circuit forming potential dividers, we can determine the
|
||||
current resistance of the platinum wire sensor. The resistance
|
||||
of this is directly related to temperature, and may be determined by
|
||||
look-up tables or a suitable polynomial expression.
|
||||
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=150pt,bb=0 0 273 483,keepaspectratio=true]{./pt100/vrange.jpg}
|
||||
% pt100.jpg: 714x180 pixel, 72dpi, 25.19x6.35 cm, bb=0 0 714 180
|
||||
\caption{PT100 expected voltage ranges}
|
||||
\label{fig:pt100vrange}
|
||||
\end{figure}
|
||||
|
||||
|
||||
|
||||
|
||||
The voltage ranges we expect from from this three stage potential divider
|
||||
are shown in figure \ref{fig:pt100vrange}. Note that there is
|
||||
an expected range for each reading for a given temperature span.
|
||||
Note that the low reading goes down as temperature increases, and the higher reading goes up.
|
||||
For this reason the low reading will be reffered to as {\em sense-}
|
||||
and the higher as {\em sense+}.
|
||||
|
||||
\subsection{Accuracy despite variable resistance in cables}
|
||||
|
||||
For electronic and accuracy reasons a four wire circuit is preffered
|
||||
because of resistance in the cables. Resitance from the supply
|
||||
causes a slight voltage
|
||||
drop in the supply to the PT100. As no significant current
|
||||
is carried by the two `sense' lines the resistance back to the ADC
|
||||
causes only a negligible voltage drop, and thus the four wire
|
||||
configuration is more accurate.
|
||||
|
||||
\subsection{Calculating Temperature from the sense line voltages}
|
||||
|
||||
The current flowing though the
|
||||
whole circuit can be measured on the PCB by reading a third
|
||||
sense voltage from one of the load resistors. Knowing the current flowing
|
||||
through the circuit
|
||||
and knowing the voltage drop over the PT100, we can calculate its
|
||||
resistance by ohms law $V=I.R$, $R=\frac{I}{V}$.
|
||||
Thus a little loss of supply current due to resistance in the cables
|
||||
does not impinge on accuracy.
|
||||
The resistance to temperature conversion is achieved
|
||||
through the published PT100 tables\cite{eurothermtables}.
|
||||
|
||||
\section{Safety case for 4 wire circuit}
|
||||
|
||||
This sub-section looks at the behaviour of the PT100 four wire circuit
|
||||
for the effects of component failures.
|
||||
All components have a set of known `failure modes'.
|
||||
In other words we know that a given component can fail in several distict ways.
|
||||
Studies have been published which list common component types
|
||||
and their sets of failure modes, often with MTTF statistics \cite{mil1991}.
|
||||
Thus for each component, an analysis is made for each of it failure modes,
|
||||
with respect to its effect on the
|
||||
circuit. Each one of these scenarios is termed a `test case'.
|
||||
The resultant circuit behaviour for each of these test cases is noted.
|
||||
The worst case for this type of
|
||||
analysis would be a fault that we cannot detect.
|
||||
Where this occurs a circuit re-design is probably the only sensible course of action.
|
||||
|
||||
|
||||
|
||||
\subsection{Single Fault FMEA Analysis of PT100 Four wire circuit}
|
||||
|
||||
\label{fmea}
|
||||
This circuit simply consists of three resistors.
|
||||
Resistors according to the DOD Electronic component fault handbook
|
||||
1991, fail by either going OPEN or SHORT circuit \cite{mil1991}.
|
||||
%Should wires become disconnected these will have the same effect as
|
||||
%given resistors going open.
|
||||
For the purpose of his analyis;
|
||||
$R_{1}$ is the \ohms{2k2} from 5V to the thermistor,
|
||||
$R_p$ is the PT100 thermistor and $R_{2}$ connects the thermistor to ground.
|
||||
|
||||
We can define the terms `High Fault' and `Low Fault' here, with reference to figure
|
||||
\ref{fig:pt100vrange}. Should we get a reading outside the safe green zone
|
||||
in the diagram we can consider this a fault.
|
||||
Should the reading be above its expected range this is a `High Fault'
|
||||
and if below a `Low Fault'.
|
||||
|
||||
The Table \ref{ptfmea} plays through the scenarios of each of the resistors failing
|
||||
in both SHORT and OPEN failure modes, and predicts an error condition in the readings.
|
||||
The range 0\oc to 300\oc will be analysed using potential divider equations to
|
||||
to the out of range voltage limits in section \ref{ptbounds}.
|
||||
|
||||
\begin{table}[ht]
|
||||
\caption{PT100 FMEA Single Faults} % title of Table
|
||||
\centering % used for centering table
|
||||
\begin{tabular}{||l|c|c|l|l||}
|
||||
\hline \hline
|
||||
\textbf{Test} & \textbf{Result} & \textbf{Result } & \textbf{General} \\
|
||||
\textbf{Case} & \textbf{sense +} & \textbf{sense -} & \textbf{Symtom Description} \\
|
||||
% R & wire & res + & res - & description
|
||||
\hline
|
||||
\hline
|
||||
$R_1$ SHORT & High Fault & - & Value Out of Range Value \\ \hline
|
||||
$R_1$ OPEN & Low Fault & Low Fault & Both values out of range \\ \hline
|
||||
\hline
|
||||
$R_p$ SHORT & Low Fault & High Fault & Both values out of range \\ \hline
|
||||
$R_p$ OPEN & High Fault & Low Fault & Both values out of range \\ \hline
|
||||
\hline
|
||||
$R_2$ SHORT & - & Low Fault & Value Out of Range Value \\
|
||||
$R_2$ OPEN & High Fault & High Fault & Both values out of range \\ \hline
|
||||
\hline
|
||||
\end{tabular}
|
||||
\label{ptfmea}
|
||||
\end{table}
|
||||
|
||||
From table \ref{ptfmea} it can be seen that any component failure in the circuit
|
||||
will cause a common symptom, that of one or more of the values being `out of range'.
|
||||
Temperature range calculations and detailed calculations
|
||||
on the effects of each test case are found in section \ref{pt100range}
|
||||
and \ref{pt100temp}.
|
||||
|
||||
So by defining an acceptable measurement/temperature range,
|
||||
and ensuring the
|
||||
values are always within these bounds we can be confident that none of the
|
||||
resistors in this circuit has failed.
|
||||
|
||||
\pagebreak
|
||||
\subsection{Single Fault Modes as PLD}
|
||||
|
||||
The component~failure~modes in table \ref{ptfmea} can be represented as contours
|
||||
on a PLD diagram. Each test case, or analysis into the effects of the component failure
|
||||
caused by the component~failure is represented by an labelled asterisk.
|
||||
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=400pt,bb=0 0 518 365,keepaspectratio=true]{./pt100/pt100_tc.jpg}
|
||||
% pt100_tc.jpg: 518x365 pixel, 72dpi, 18.27x12.88 cm, bb=0 0 518 365
|
||||
\caption{PT100 Component Failure Modes}
|
||||
\label{fig:pt100_tc}
|
||||
\end{figure}
|
||||
|
||||
This circuit supplies two results, sense+ and sense- voltage readings.
|
||||
To establish the valid voltage ranges for these, and knowing our
|
||||
valid tempperature range for this example ({0\oc} .. {300\oc}) we can calculate
|
||||
valid voltage reading ranges by using the standard voltage divider equation \ref{eqn:vd}
|
||||
for the circuit shown in figure \ref{fig:vd}.
|
||||
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=100pt,bb=0 0 183 170,keepaspectratio=true]{./pt100/voltage_divider.png}
|
||||
% voltage_divider.png: 183x170 pixel, 72dpi, 6.46x6.00 cm, bb=0 0 183 170
|
||||
\caption{Voltage Divider}
|
||||
\label{fig:vd}
|
||||
\end{figure}
|
||||
%The looking at figure \ref{fig:vd} the standard voltage divider formula (equation \ref{eqn:vd}) is used.
|
||||
|
||||
\begin{equation}
|
||||
\label{eqn:vd}
|
||||
V_{out} = V_{in}.\frac{Z2}{Z2+Z1}
|
||||
\end{equation}
|
||||
|
||||
|
||||
\subsection{Range and PT100 Calculations}
|
||||
\label{pt100temp}
|
||||
PT100 resistors are designed to
|
||||
have a resistance of ohms{100} at 0 \oc \cite{eurothermtables}.
|
||||
A suitable `wider than to be expected range' was considered to be {0\oc} to {300\oc}
|
||||
for a given application.
|
||||
According to the Eurotherm PT100
|
||||
tables \cite{eurothermtables}, this corresponded to the resistances \ohms{60.28}
|
||||
and \ohms{212.02} respectively. From this the potential divider circuit can be
|
||||
analysed and the maximum and minimum acceptable voltages determined.
|
||||
These can be used as bounds results to apply the findings from the
|
||||
PT100 FMEA analysis in section \ref{fmea}.
|
||||
|
||||
As the PT100 forms a potential divider with the \ohms{2k2} load resistors,
|
||||
the upper and lower readings can be calculated thus:
|
||||
|
||||
|
||||
$$ highreading = 5V.\frac{2k2+pt100}{2k2+2k2+pt100} $$
|
||||
$$ lowreading = 5V.\frac{2k2}{2k2+2k2+pt100} $$
|
||||
|
||||
To convert these to twelve bit ADC (\adctw) counts:
|
||||
|
||||
$$ highreading = 2^{12}.\frac{2k2+pt100}{2k2+2k2+pt100} $$
|
||||
$$ lowreading = 2^{12}.\frac{2k2}{2k2+2k2+pt100} $$
|
||||
|
||||
|
||||
\begin{table}[ht]
|
||||
\caption{PT100 Maximum and Minimum Values} % title of Table
|
||||
\centering % used for centering table
|
||||
\begin{tabular}{||c|c|c|l|l||}
|
||||
\hline \hline
|
||||
\textbf{Temperature} & \textbf{PT100 resistance} &
|
||||
\textbf{Lower} & \textbf{Higher} & \textbf{Description} \\
|
||||
\hline
|
||||
% {-100 \oc} & {\ohms{68.28}} & 2.46V & 2.53V & Boundary of \\
|
||||
% & & 2017\adctw & 2079\adctw & out of range LOW \\ \hline
|
||||
{0 \oc} & {\ohms{100}} & 2.44V & 2.56V & Boundary of \\
|
||||
& & 2002\adctw & 2094\adctw & out of range LOW \\ \hline
|
||||
{+300 \oc} & {\ohms{212.02}} & 2.38V & 2.62V & Boundary of \\
|
||||
& & 1954\adctw & 2142\adctw & out of range HIGH \\ \hline
|
||||
\hline
|
||||
\end{tabular}
|
||||
\label{ptbounds}
|
||||
\end{table}
|
||||
|
||||
Table \ref{ptbounds} gives ranges that determine correct operation. In fact it can be shown that
|
||||
for any single error (short or opening of any resistor) this bounds check
|
||||
will detect it.
|
||||
|
||||
%\vbox{
|
||||
%\subsubsection{Calculating Bounds: High Value : HP48 RPL}
|
||||
%
|
||||
%
|
||||
%HP RPL calculator program to take pt100 resistance
|
||||
%and convert to voltage and {\adctw} values.
|
||||
%
|
||||
%\begin{verbatim}
|
||||
%<< -> p
|
||||
% <<
|
||||
% p 2200 + 2200 2200 + p + / 5 * DUP 5
|
||||
% / 4096 *
|
||||
% >>
|
||||
%>>
|
||||
%\end{verbatim}
|
||||
%}
|
||||
%
|
||||
%\vbox{
|
||||
%\subsubsection{Calculating Bounds: LOW Value : HP48 RPL}
|
||||
%
|
||||
%
|
||||
%HP RPL calculator program to take pt100 resistance
|
||||
%and convert to voltage and {\adctw} values.
|
||||
%
|
||||
%\begin{verbatim}
|
||||
%<< -> p
|
||||
% <<
|
||||
% p 2200 2200 p 2200 + + / 5 * DUP 5
|
||||
% / 4096 *
|
||||
% >>
|
||||
%>>
|
||||
%\end{verbatim}
|
||||
%}
|
||||
%
|
||||
%\subsection{Implementation of Four Wire Circuit}
|
||||
%
|
||||
%A standard 4 wire PT100\cite[pp 992]{aoe} circuit is read by
|
||||
%ports on the 12 bit ADC of the PIC18F2523\cite{pic18f2523}.
|
||||
%Three readings are taken. A reading to confirm the voltage level
|
||||
%over $R_2$ is taken,
|
||||
%from which the current can be determined.
|
||||
%The two sense lines then give the vo
|
||||
|
||||
\section{Single Fault FMEA Analysis of PT100 Four wire circuit}
|
||||
|
||||
\subsection{Single Fault Modes as PLD}
|
||||
|
||||
The component~failure~modes in table \ref{ptfmea} can be represented as contours
|
||||
on a PLD diagram. Each test case, or analysis into the effects of the component failure
|
||||
caused by the component~failure is represented by an labelled asterisk.
|
||||
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=400pt,bb=0 0 518 365,keepaspectratio=true]{./pt100/pt100_tc.jpg}
|
||||
% pt100_tc.jpg: 518x365 pixel, 72dpi, 18.27x12.88 cm, bb=0 0 518 365
|
||||
\caption{PT100 Component Failure Modes}
|
||||
\label{fig:pt100_tc}
|
||||
\end{figure}
|
||||
|
||||
This circuit supplies two results, sense+ and sense- voltage readings.
|
||||
To establish the valid voltage ranges for these, and knowing our
|
||||
valid tempperature range for this example ({0\oc} .. {300\oc}) we can calculate
|
||||
valid voltage reading ranges by using the standard voltage divider equation \ref{eqn:vd}
|
||||
for the circuit shown in .
|
||||
|
||||
|
||||
|
||||
\subsection{Proof of Out of Range Values for Failures}
|
||||
\label{pt110range}
|
||||
Using the temperature ranges defined above we can compare the voltages
|
||||
we would get from the resistor failures to prove that they are
|
||||
`out of range'. There are six test cases and each will be examined in turn.
|
||||
|
||||
\subsubsection{ TC1 : Voltages $R_1$ SHORT }
|
||||
With pt100 at 0\oc
|
||||
$$ highreading = 5V $$
|
||||
Since the highreading or sense+ is directly connected to the 5V rail,
|
||||
both temperature readings will be 5V..
|
||||
$$ lowreading = 5V.\frac{2k2}{2k2+68\Omega} = 4.85V$$
|
||||
With pt100 at the high end of the temperature range 300\oc.
|
||||
$$ highreading = 5V $$
|
||||
$$ lowreading = 5V.\frac{2k2}{2k2+212.02\Omega} = 4.56V$$
|
||||
|
||||
Thus with $R_1$ shorted both readingare outside the
|
||||
proscribed range in table \ref{ptbounds}.
|
||||
|
||||
\subsubsection{ TC2 : Voltages $R_1$ OPEN }
|
||||
|
||||
In this case the 5V rail is disconnected. All voltages read are 0V, and
|
||||
therefore both readings are outside the
|
||||
proscribed range in table \ref{ptbounds}.
|
||||
|
||||
|
||||
\subsubsection{ TC 4 : Voltages $R_2$ SHORT }
|
||||
|
||||
With pt100 at -100\oc
|
||||
$$ lowreading = 0V $$
|
||||
Since the lowreading or sense- is directly connected to the 0V rail,
|
||||
both temperature readings will be 0V.
|
||||
$$ lowreading = 5V.\frac{68\Omega}{2k2+68\Omega} = 0.15V$$
|
||||
With pt100 at the high end of the temperature range 300\oc.
|
||||
$$ highreading = 5V $$
|
||||
$$ lowreading = 5V.\frac{212.02\Omega}{2k2+212.02\Omega} = 0.44V$$
|
||||
|
||||
Thus with $R_2$ shorted both readingare outside the
|
||||
proscribed range in table \ref{ptbounds}.
|
||||
|
||||
\subsubsection{ TC : 5 Voltages $R_2$ OPEN }
|
||||
Here there is no potential divider operating and both sense lines
|
||||
will read 5V, outside of the proscibed range.
|
||||
|
||||
|
||||
\subsubsection{ TC 5 : Voltages $R_3$ SHORT }
|
||||
|
||||
Here the potential divider is simply between
|
||||
the two 2k2 load resistors. Thus it will read a nominal;
|
||||
2.5V.
|
||||
|
||||
Assuming the load resistors are
|
||||
precision components, and then taking an absolute worst case of 1\% either way.
|
||||
|
||||
$$ 5V.\frac{2k2*0.99}{2k2*1.01+2k2*0.99} = 2.475V $$
|
||||
|
||||
$$ 5V.\frac{2k2*1.01}{2k2*1.01+2k2*0.99} = 2.525V $$
|
||||
|
||||
These readings both lie outside the proscribed range.
|
||||
Also the sense+ and sense- readings would have the same value.
|
||||
|
||||
\subsubsection{ TC 6 : Voltages $R_3$ OPEN }
|
||||
|
||||
Here the potential divider is broken. The sense- will read 0V and the sense+ will
|
||||
read 5V. Both readings are outside the proscribed range.
|
||||
|
||||
\subsection{Summary of Analysis}
|
||||
|
||||
All six test cases have been analysed and the results agree with the hypothesis
|
||||
put in Table \ref{ptfmea}. The PLD diagram, can now be used to collect the
|
||||
symptoms. In this case there is a common and easily detected symptom for all these single
|
||||
resistor faults : Voltage out of range.
|
||||
|
||||
A spider can be drawn on the PLD diagram to this effect.
|
||||
|
||||
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=400pt,bb=0 0 518 365,keepaspectratio=true]{./pt100/pt100_tc_sp.jpg}
|
||||
% pt100_tc.jpg: 518x365 pixel, 72dpi, 18.27x12.88 cm, bb=0 0 518 365
|
||||
\caption{PT100 Component Failure Modes}
|
||||
\label{fig:pt100_tc_sp}
|
||||
\end{figure}
|
||||
|
||||
%Interestingly we can calculate the failure statistics for this circuit now.
|
||||
%Mill 1991 gives resistor stats of ${10}^{11}$ times 6 (can we get special stats for pt100) ???
|
||||
|
||||
The PT100 analysis presents a simple result for single faults.
|
||||
The next analysis phase looks at how the circuit will behave under double simultaneous failure
|
||||
conditions.
|
||||
|
||||
|
||||
\section{ PT100 Double Simultaneous Fault Analysis}
|
||||
|
||||
% typeset in {\Huge \LaTeX} \today
|
||||
|
516
burner/pt100.tex~
Normal file
516
burner/pt100.tex~
Normal file
@ -0,0 +1,516 @@
|
||||
%
|
||||
% Make the revision and doc number macro's then they are defined in one place
|
||||
|
||||
\begin{abstract}
|
||||
The PT100, or platinum wire \ohms{100} sensor is
|
||||
a wisely used industrial temperature sensor that is
|
||||
are slowly replacing the use of thermocouples in many
|
||||
industrial applications below 600\oc, due to high accuracy\cite{aoe}.
|
||||
|
||||
This chapter looks at the most common configuration, the
|
||||
four wire circuit, and analyses it from an FMEA perspective twice.
|
||||
Once considering single faults (cardinality constrained powerset of 1) and then again, considering the
|
||||
possibility of double simultaneous faults (cardinality constrained powerset of 2).
|
||||
|
||||
The analysis is performed using Propositional Logic
|
||||
diagrasms to assist the reasoning process.
|
||||
This chapter describes taking
|
||||
the failure modes of the components, analysing the circuit using FMEA
|
||||
and producing a failure mode model for the circuit as a whole.
|
||||
Thus after the analysis the PT100 temperature sensing circuit, may be veiwed
|
||||
from an FMEA persepective as a component itsself, with a set of know failure modes.
|
||||
|
||||
\end{abstract}
|
||||
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=400pt,bb=0 0 714 180,keepaspectratio=true]{./pt100/pt100.jpg}
|
||||
% pt100.jpg: 714x180 pixel, 72dpi, 25.19x6.35 cm, bb=0 0 714 180
|
||||
\caption{PT100 four wire circuit}
|
||||
\label{fig:pt100}
|
||||
\end{figure}
|
||||
|
||||
|
||||
\section{Overview of PT100 four wire circuit}
|
||||
|
||||
The PT100 four wire circuit consists of two resistors supplying
|
||||
a current to a third, the thermistor or PT100. By measuring volatges
|
||||
from sections of this circuit forming potential dividers, we can determine the
|
||||
current resistance of the platinum wire sensor. The resistance
|
||||
of this is directly related to temperature, and may be determined by
|
||||
look-up tables or a suitable polynomial expression.
|
||||
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=150pt,bb=0 0 273 483,keepaspectratio=true]{./pt100/vrange.jpg}
|
||||
% pt100.jpg: 714x180 pixel, 72dpi, 25.19x6.35 cm, bb=0 0 714 180
|
||||
\caption{PT100 expected voltage ranges}
|
||||
\label{fig:pt100vrange}
|
||||
\end{figure}
|
||||
|
||||
|
||||
|
||||
|
||||
The voltage ranges we expect from from this three stage potential divider
|
||||
are shown in figure \ref{fig:pt100vrange}. Note that there is
|
||||
an expected range for each reading for a given temperature span.
|
||||
Note that the low reading goes down as temperature increases, and the higher reading goes up.
|
||||
For this reason the low reading will be reffered to as {\em sense-}
|
||||
and the higher as {\em sense+}.
|
||||
|
||||
\subsection{Accuracy despite variable resistance in cables}
|
||||
|
||||
For electronic and accuracy reasons a four wire circuit is preffered
|
||||
because of resistance in the cables. Resitance from the supply
|
||||
causes a slight voltage
|
||||
drop in the supply to the PT100. As no significant current
|
||||
is carried by the two `sense' lines the resistance back to the ADC
|
||||
causes only a negligible voltage drop, and thus the four wire
|
||||
configuration is more accurate.
|
||||
|
||||
\subsection{Calculating Temperature from the sense line voltages}
|
||||
|
||||
The current flowing though the
|
||||
whole circuit can be measured on the PCB by reading a third
|
||||
sense voltage from one of the load resistors. Knowing the current flowing
|
||||
through the circuit
|
||||
and knowing the voltage drop over the PT100, we can calculate its
|
||||
resistance by ohms law $V=I.R$, $R=\frac{I}{V}$.
|
||||
Thus a little loss of supply current due to resistance in the cables
|
||||
does not impinge on accuracy.
|
||||
The resistance to temperature conversion is achieved
|
||||
through the published PT100 tables\cite{eurothermtables}.
|
||||
|
||||
\section{Safety case for 4 wire circuit}
|
||||
|
||||
This sub-section looks at the behaviour of the PT100 four wire circuit
|
||||
for the effects of component failures.
|
||||
All components have a set of known `failure modes'.
|
||||
In other words we know that a given component can fail in several distict ways.
|
||||
Studies have been published which list common component types
|
||||
and their sets of failure modes, often with MTTF statistics \cite{mil1991}.
|
||||
Thus for each component, an analysis is made for each of it failure modes,
|
||||
with respect to its effect on the
|
||||
circuit. Each one of these scenarios is termed a `test case'.
|
||||
The resultant circuit behaviour for each of these test cases is noted.
|
||||
The worst case for this type of
|
||||
analysis would be a fault that we cannot detect.
|
||||
Where this occurs a circuit re-design is probably the only sensible course of action.
|
||||
|
||||
|
||||
|
||||
\subsection{Single Fault FMEA Analysis of PT100 Four wire circuit}
|
||||
|
||||
\label{fmea}
|
||||
This circuit simply consists of three resistors.
|
||||
Resistors according to the DOD Electronic component fault handbook
|
||||
1991, fail by either going OPEN or SHORT circuit \cite{mil1991}.
|
||||
%Should wires become disconnected these will have the same effect as
|
||||
%given resistors going open.
|
||||
For the purpose of his analyis;
|
||||
$R_{1}$ is the \ohms{2k2} from 5V to the thermistor,
|
||||
$R_3$ is the PT100 thermistor and $R_{2}$ connects the thermistor to ground.
|
||||
|
||||
We can define the terms `High Fault' and `Low Fault' here, with reference to figure
|
||||
\ref{fig:pt100vrange}. Should we get a reading outside the safe green zone
|
||||
in the diagram we can consider this a fault.
|
||||
Should the reading be above its expected range this is a `High Fault'
|
||||
and if below a `Low Fault'.
|
||||
|
||||
The Table \ref{ptfmea} plays through the scenarios of each of the resistors failing
|
||||
in both SHORT and OPEN failure modes, and hypothesises an error condition in the readings.
|
||||
The range 0\oc to 300\oc will be analysed using potential divider equations to
|
||||
determine out of range voltage limits in section \ref{ptbounds}.
|
||||
|
||||
\begin{table}[ht]
|
||||
\caption{PT100 FMEA Single Faults} % title of Table
|
||||
\centering % used for centering table
|
||||
\begin{tabular}{||l|c|c|l|l||}
|
||||
\hline \hline
|
||||
\textbf{Test} & \textbf{Result} & \textbf{Result } & \textbf{General} \\
|
||||
\textbf{Case} & \textbf{sense +} & \textbf{sense -} & \textbf{Symtom Description} \\
|
||||
% R & wire & res + & res - & description
|
||||
\hline
|
||||
\hline
|
||||
$R_1$ SHORT & High Fault & - & Value Out of Range Value \\ \hline
|
||||
$R_1$ OPEN & Low Fault & Low Fault & Both values out of range \\ \hline
|
||||
\hline
|
||||
$R_3$ SHORT & Low Fault & High Fault & Both values out of range \\ \hline
|
||||
$R_3$ OPEN & High Fault & Low Fault & Both values out of range \\ \hline
|
||||
\hline
|
||||
$R_2$ SHORT & - & Low Fault & Value Out of Range Value \\
|
||||
$R_2$ OPEN & High Fault & High Fault & Both values out of range \\ \hline
|
||||
\hline
|
||||
\end{tabular}
|
||||
\label{ptfmea}
|
||||
\end{table}
|
||||
|
||||
From table \ref{ptfmea} it can be seen that any component failure in the circuit
|
||||
should cause a common symptom, that of one or more of the values being `out of range'.
|
||||
Temperature range calculations and detailed calculations
|
||||
on the effects of each test case are found in section \ref{pt100range}
|
||||
and \ref{pt100temp}.
|
||||
|
||||
|
||||
\pagebreak
|
||||
% \subsection{Single Fault Modes as PLD}
|
||||
%
|
||||
% The component~failure~modes in table \ref{ptfmea} can be represented as contours
|
||||
% on a PLD diagram. Each test case, or analysis into the effects of the component failure
|
||||
% caused by the component~failure is represented by an labelled asterisk.
|
||||
%
|
||||
%
|
||||
% \begin{figure}[h]
|
||||
% \centering
|
||||
% \includegraphics[width=400pt,bb=0 0 518 365,keepaspectratio=true]{./pt100/pt100_tc.jpg}
|
||||
% % pt100_tc.jpg: 518x365 pixel, 72dpi, 18.27x12.88 cm, bb=0 0 518 365
|
||||
% \caption{PT100 Component Failure Modes}
|
||||
% \label{fig:pt100_tc}
|
||||
% \end{figure}
|
||||
%
|
||||
% This circuit supplies two results, sense+ and sense- voltage readings.
|
||||
% To establish the valid voltage ranges for these, and knowing our
|
||||
% valid tempperature range for this example ({0\oc} .. {300\oc}) we can calculate
|
||||
% valid voltage reading ranges by using the standard voltage divider equation \ref{eqn:vd}
|
||||
% for the circuit shown in figure \ref{fig:vd}.
|
||||
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=100pt,bb=0 0 183 170,keepaspectratio=true]{./pt100/voltage_divider.png}
|
||||
% voltage_divider.png: 183x170 pixel, 72dpi, 6.46x6.00 cm, bb=0 0 183 170
|
||||
\caption{Voltage Divider}
|
||||
\label{fig:vd}
|
||||
\end{figure}
|
||||
%The looking at figure \ref{fig:vd} the standard voltage divider formula (equation \ref{eqn:vd}) is used.
|
||||
|
||||
\begin{equation}
|
||||
\label{eqn:vd}
|
||||
V_{out} = V_{in}.\frac{Z2}{Z2+Z1}
|
||||
\end{equation}
|
||||
|
||||
|
||||
\subsection{Range and PT100 Calculations}
|
||||
\label{pt100temp}
|
||||
PT100 resistors are designed to
|
||||
have a resistance of ohms{100} at 0 \oc \cite{eurothermtables}.
|
||||
A suitable `wider than to be expected range' was considered to be {0\oc} to {300\oc}
|
||||
for a given application.
|
||||
According to the Eurotherm PT100
|
||||
tables \cite{eurothermtables}, this corresponded to the resistances \ohms{60.28}
|
||||
and \ohms{212.02} respectively. From this the potential divider circuit can be
|
||||
analysed and the maximum and minimum acceptable voltages determined.
|
||||
These can be used as bounds results to apply the findings from the
|
||||
PT100 FMEA analysis in section \ref{fmea}.
|
||||
|
||||
As the PT100 forms a potential divider with the \ohms{2k2} load resistors,
|
||||
the upper and lower readings can be calculated thus:
|
||||
|
||||
|
||||
$$ highreading = 5V.\frac{2k2+pt100}{2k2+2k2+pt100} $$
|
||||
$$ lowreading = 5V.\frac{2k2}{2k2+2k2+pt100} $$
|
||||
So by defining an acceptable measurement/temperature range,
|
||||
and ensuring the
|
||||
values are always within these bounds we can be confident that none of the
|
||||
resistors in this circuit has failed.
|
||||
|
||||
To convert these to twelve bit ADC (\adctw) counts:
|
||||
|
||||
$$ highreading = 2^{12}.\frac{2k2+pt100}{2k2+2k2+pt100} $$
|
||||
$$ lowreading = 2^{12}.\frac{2k2}{2k2+2k2+pt100} $$
|
||||
|
||||
|
||||
\begin{table}[ht]
|
||||
\caption{PT100 Maximum and Minimum Values} % title of Table
|
||||
\centering % used for centering table
|
||||
\begin{tabular}{||c|c|c|l|l||}
|
||||
\hline \hline
|
||||
\textbf{Temperature} & \textbf{PT100 resistance} &
|
||||
\textbf{Lower} & \textbf{Higher} & \textbf{Description} \\
|
||||
\hline
|
||||
% {-100 \oc} & {\ohms{68.28}} & 2.46V & 2.53V & Boundary of \\
|
||||
% & & 2017\adctw & 2079\adctw & out of range LOW \\ \hline
|
||||
{0 \oc} & {\ohms{100}} & 2.44V & 2.56V & Boundary of \\
|
||||
& & 2002\adctw & 2094\adctw & out of range LOW \\ \hline
|
||||
{+300 \oc} & {\ohms{212.02}} & 2.38V & 2.62V & Boundary of \\
|
||||
& & 1954\adctw & 2142\adctw & out of range HIGH \\ \hline
|
||||
\hline
|
||||
\end{tabular}
|
||||
\label{ptbounds}
|
||||
\end{table}
|
||||
|
||||
Table \ref{ptbounds} gives ranges that determine correct operation. In fact it can be shown that
|
||||
for any single error (short or opening of any resistor) this bounds check
|
||||
will detect it.
|
||||
|
||||
%\vbox{
|
||||
%\subsubsection{Calculating Bounds: High Value : HP48 RPL}
|
||||
%
|
||||
%
|
||||
%HP RPL calculator program to take pt100 resistance
|
||||
%and convert to voltage and {\adctw} values.
|
||||
%
|
||||
%\begin{verbatim}
|
||||
%<< -> p
|
||||
% <<
|
||||
% p 2200 + 2200 2200 + p + / 5 * DUP 5
|
||||
% / 4096 *
|
||||
% >>
|
||||
%>>
|
||||
%\end{verbatim}
|
||||
%}
|
||||
%
|
||||
%\vbox{
|
||||
%\subsubsection{Calculating Bounds: LOW Value : HP48 RPL}
|
||||
%
|
||||
%
|
||||
%HP RPL calculator program to take pt100 resistance
|
||||
%and convert to voltage and {\adctw} values.
|
||||
%
|
||||
%\begin{verbatim}
|
||||
%<< -> p
|
||||
% <<
|
||||
% p 2200 2200 p 2200 + + / 5 * DUP 5
|
||||
% / 4096 *
|
||||
% >>
|
||||
%>>
|
||||
%\end{verbatim}
|
||||
%}
|
||||
%
|
||||
%\subsection{Implementation of Four Wire Circuit}
|
||||
%
|
||||
%A standard 4 wire PT100\cite[pp 992]{aoe} circuit is read by
|
||||
%ports on the 12 bit ADC of the PIC18F2523\cite{pic18f2523}.
|
||||
%Three readings are taken. A reading to confirm the voltage level
|
||||
%over $R_2$ is taken,
|
||||
%from which the current can be determined.
|
||||
%The two sense lines then give the vo
|
||||
|
||||
\section{Single Fault FMEA Analysis of PT100 Four wire circuit}
|
||||
|
||||
\subsection{Single Fault Modes as PLD}
|
||||
|
||||
The component~failure~modes in table \ref{ptfmea} can be represented as contours
|
||||
on a PLD diagram. Each test case, or analysis into the effects of the component failure
|
||||
caused by the component~failure is represented by an labelled asterisk.
|
||||
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=400pt,bb=0 0 518 365,keepaspectratio=true]{./pt100/pt100_tc.jpg}
|
||||
% pt100_tc.jpg: 518x365 pixel, 72dpi, 18.27x12.88 cm, bb=0 0 518 365
|
||||
\caption{PT100 Component Failure Modes}
|
||||
\label{fig:pt100_tc}
|
||||
\end{figure}
|
||||
|
||||
This circuit supplies two results, sense+ and sense- voltage readings.
|
||||
To establish the valid voltage ranges for these, and knowing our
|
||||
valid tempperature range for this example ({0\oc} .. {300\oc}) we can calculate
|
||||
valid voltage reading ranges by using the standard voltage divider equation \ref{eqn:vd}
|
||||
for the circuit shown in .
|
||||
|
||||
|
||||
|
||||
\subsection{Proof of Out of Range Values for Failures}
|
||||
\label{pt110range}
|
||||
Using the temperature ranges defined above we can compare the voltages
|
||||
we would get from the resistor failures to prove that they are
|
||||
`out of range'. There are six test cases and each will be examined in turn.
|
||||
|
||||
\subsubsection{ TC1 : Voltages $R_1$ SHORT }
|
||||
With pt100 at 0\oc
|
||||
$$ highreading = 5V $$
|
||||
Since the highreading or sense+ is directly connected to the 5V rail,
|
||||
both temperature readings will be 5V..
|
||||
$$ lowreading = 5V.\frac{2k2}{2k2+68\Omega} = 4.85V$$
|
||||
With pt100 at the high end of the temperature range 300\oc.
|
||||
$$ highreading = 5V $$
|
||||
$$ lowreading = 5V.\frac{2k2}{2k2+212.02\Omega} = 4.56V$$
|
||||
|
||||
Thus with $R_1$ shorted both readingare outside the
|
||||
proscribed range in table \ref{ptbounds}.
|
||||
|
||||
\subsubsection{ TC2 : Voltages $R_1$ OPEN }
|
||||
|
||||
In this case the 5V rail is disconnected. All voltages read are 0V, and
|
||||
therefore both readings are outside the
|
||||
proscribed range in table \ref{ptbounds}.
|
||||
|
||||
|
||||
\subsubsection{ TC 4 : Voltages $R_2$ SHORT }
|
||||
|
||||
With pt100 at -100\oc
|
||||
$$ lowreading = 0V $$
|
||||
Since the lowreading or sense- is directly connected to the 0V rail,
|
||||
both temperature readings will be 0V.
|
||||
$$ lowreading = 5V.\frac{68\Omega}{2k2+68\Omega} = 0.15V$$
|
||||
With pt100 at the high end of the temperature range 300\oc.
|
||||
$$ highreading = 5V $$
|
||||
$$ lowreading = 5V.\frac{212.02\Omega}{2k2+212.02\Omega} = 0.44V$$
|
||||
|
||||
Thus with $R_2$ shorted both readingare outside the
|
||||
proscribed range in table \ref{ptbounds}.
|
||||
|
||||
\subsubsection{ TC : 5 Voltages $R_2$ OPEN }
|
||||
Here there is no potential divider operating and both sense lines
|
||||
will read 5V, outside of the proscibed range.
|
||||
|
||||
|
||||
\subsubsection{ TC 5 : Voltages $R_3$ SHORT }
|
||||
|
||||
Here the potential divider is simply between
|
||||
the two 2k2 load resistors. Thus it will read a nominal;
|
||||
2.5V.
|
||||
|
||||
Assuming the load resistors are
|
||||
precision components, and then taking an absolute worst case of 1\% either way.
|
||||
|
||||
$$ 5V.\frac{2k2*0.99}{2k2*1.01+2k2*0.99} = 2.475V $$
|
||||
|
||||
$$ 5V.\frac{2k2*1.01}{2k2*1.01+2k2*0.99} = 2.525V $$
|
||||
|
||||
These readings both lie outside the proscribed range.
|
||||
Also the sense+ and sense- readings would have the same value.
|
||||
|
||||
\subsubsection{ TC 6 : Voltages $R_3$ OPEN }
|
||||
|
||||
Here the potential divider is broken. The sense- will read 0V and the sense+ will
|
||||
read 5V. Both readings are outside the proscribed range.
|
||||
|
||||
\subsection{Summary of Analysis}
|
||||
|
||||
All six test cases have been analysed and the results agree with the hypothesis
|
||||
put in Table \ref{ptfmea}. The PLD diagram, can now be used to collect the
|
||||
symptoms. In this case there is a common and easily detected symptom for all these single
|
||||
resistor faults : Voltage out of range.
|
||||
|
||||
A spider can be drawn on the PLD diagram to this effect.
|
||||
|
||||
In practical use, by defining an acceptable measurement/temperature range,
|
||||
and ensuring the
|
||||
values are always within these bounds we can be confident that none of the
|
||||
resistors in this circuit has failed.
|
||||
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=400pt,bb=0 0 518 365,keepaspectratio=true]{./pt100/pt100_tc_sp.jpg}
|
||||
% pt100_tc.jpg: 518x365 pixel, 72dpi, 18.27x12.88 cm, bb=0 0 518 365
|
||||
\caption{PT100 Component Failure Modes}
|
||||
\label{fig:pt100_tc_sp}
|
||||
\end{figure}
|
||||
|
||||
|
||||
The PT100 circuit can now be treated as a component in its own right, and has one failure mode,
|
||||
{\textbf OUT\_OF\_RANGE}. It can now be represnted as a PLD see figure \ref{fig:pt100_singlef}.
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=100pt,bb=0 0 167 194,keepaspectratio=true]{./pt100/pt100_singlef.jpg}
|
||||
% pt100_singlef.jpg: 167x194 pixel, 72dpi, 5.89x6.84 cm, bb=0 0 167 194
|
||||
\caption{PT100 Circuit Failure Modes : From Single Faults Analysis}
|
||||
\label{fig:pt100_singlef}
|
||||
\end{figure}
|
||||
|
||||
|
||||
|
||||
|
||||
%Interestingly we can calculate the failure statistics for this circuit now.
|
||||
%Mill 1991 gives resistor stats of ${10}^{11}$ times 6 (can we get special stats for pt100) ???
|
||||
|
||||
The PT100 analysis presents a simple result for single faults.
|
||||
|
||||
% OK we can look at stats here.
|
||||
% the probabilities of the faults occurring in failures per billion hours
|
||||
% of operation.
|
||||
\subsection{Statistical MTTF for the PT100 circuit}
|
||||
|
||||
Mil1991\cite{mil1991} gives a mean time to failure for a fixed film resistor
|
||||
at up to 60oC at a low stress (current) level as
|
||||
$$0.00092 . 1.0 . 15 . 1.0 . 1000$$
|
||||
|
||||
13.8 failure per billion hours of operation.
|
||||
|
||||
|
||||
RAC \cite{rac} states that a resistor will fail 9/10 OPEN and 1/10 SHORT.
|
||||
So 13.8 - 1.38 OPEN
|
||||
1.38 SHORT
|
||||
|
||||
MILL 1991 gives Thermisitors, bead $$0.21 15 1.0 1000$$
|
||||
3150 failures per billion hours of operation.
|
||||
|
||||
Again we can apply the RAC division of resistor errors.
|
||||
|
||||
We can now see the six error types and see a statistical
|
||||
prediction of which will occur. We can also
|
||||
determine the reliability of the circuit as a whole.
|
||||
|
||||
The next analysis phase looks at how the circuit will behave under double simultaneous failure
|
||||
conditions.
|
||||
|
||||
|
||||
\section{ PT100 Double Simultaneous Fault Analysis}
|
||||
|
||||
% typeset in {\Huge \LaTeX} \today
|
||||
|
||||
%
|
||||
%\begin{table}[ht]
|
||||
%\caption{PT100 Maximum and Minimum Values} % title of Table
|
||||
%\centering % used for centering table
|
||||
%\begin{tabular}{||c|c|c|l|l||}
|
||||
%\hline \hline
|
||||
% \textbf{Temperature} & \textbf{PT100 resistance} &
|
||||
%\textbf{Lower} & \textbf{Higher} & \textbf{Description} \\
|
||||
%\hline
|
||||
%% {-100 \oc} & {\ohms{68.28}} & 2.46V & 2.53V & Boundary of \\
|
||||
%% & & 2017\adctw & 2079\adctw & out of range LOW \\ \hline
|
||||
% {0 \oc} & {\ohms{100}} & 2.44V & 2.56V & Boundary of \\
|
||||
% & & 2002\adctw & 2094\adctw & out of range LOW \\ \hline
|
||||
% {+300 \oc} & {\ohms{212.02}} & 2.38V & 2.62V & Boundary of \\
|
||||
% & & 1954\adctw & 2142\adctw & out of range HIGH \\ \hline
|
||||
%\hline
|
||||
%\end{tabular}
|
||||
%\label{ptbounds}
|
||||
%\end{table}
|
||||
%
|
||||
|
||||
|
||||
|
||||
\begin{table}[ht]
|
||||
\caption{PT100 FMEA Single Fault Statistics} % title of Table
|
||||
\centering % used for centering table
|
||||
\begin{tabular}{||l|c|c|l|c||}
|
||||
\hline \hline
|
||||
\textbf{Test} & \textbf{Result} & \textbf{Result } & \textbf{MTTF} \\
|
||||
\textbf{Case} & \textbf{sense +} & \textbf{sense -} & \textbf{per $10^9$ hours of operation} \\
|
||||
% R & wire & res + & res - & description
|
||||
\hline
|
||||
\hline
|
||||
$R_1$ SHORT & High Fault & - & 12.42 \\ \hline
|
||||
$R_1$ OPEN & Low Fault & Low Fault & 1.38 \\ \hline
|
||||
\hline
|
||||
$R_3$ SHORT & Low Fault & High Fault & 2835 \\ \hline
|
||||
$R_3$ OPEN & High Fault & Low Fault & 315 \\ \hline
|
||||
\hline
|
||||
$R_2$ SHORT & - & Low Fault & 12.42 \\
|
||||
$R_2$ OPEN & High Fault & High Fault & 1.38 \\ \hline
|
||||
\hline
|
||||
\end{tabular}
|
||||
\label{pt100_single_stats}
|
||||
\end{table}
|
||||
|
||||
|
||||
The ciruit overall has a MTTF of (13.8*2 + 3150) 3177.6
|
||||
per billion ($10^9$) hours of operation.
|
||||
This gives an individual circuit a MTTF of around 39 years.
|
||||
|
||||
|
||||
Interestingly though we can now look at the results of our analysis
|
||||
as a probablistioc tree. We can see the overall reliability of the circuit
|
||||
and we can see the most likely fault (the thermisitor going OPEN circuit).
|
||||
The circuit is 8 times more likely to fail in this way than in any other.
|
||||
Were we to need a more reliable temperature sensor this would probably
|
||||
be the component area we would scrutinise first.
|
||||
|
434
burner/pt100_paper.tex
Normal file
434
burner/pt100_paper.tex
Normal file
@ -0,0 +1,434 @@
|
||||
%
|
||||
% Make the revision and doc number macro's then they are defined in one place
|
||||
|
||||
\begin{abstract}
|
||||
The PT100, or platinum wire \ohms{100} sensor is
|
||||
a widely used industrial temperature sensor that is
|
||||
slowly replacing the use of thermocouples in many
|
||||
industrial applications below 600\oc, due to high accuracy\cite{aoe}.
|
||||
|
||||
This chapter looks at the most common configuration, the
|
||||
four wire circuit, and analyses it from an FMEA perspective twice.
|
||||
Once considering single faults (cardinality constrained powerset of 1) and then again, considering the
|
||||
possibility of double faults (cardinality constrained powerset of 2).
|
||||
|
||||
The analysis is performed using Propositional Logic
|
||||
diagrams to assist the reasoning process.
|
||||
This chapter describes taking
|
||||
the failure modes of the components, analysing the circuit using FMEA
|
||||
and producing a failure mode model for the circuit as a whole.
|
||||
Thus after the analysis the PT100 temperature sensing circuit, may be veiwed
|
||||
from an FMEA persepective as a component itself, with a set of known failure modes.
|
||||
|
||||
\end{abstract}
|
||||
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=400pt,bb=0 0 714 180,keepaspectratio=true]{./pt100.jpg}
|
||||
% pt100.jpg: 714x180 pixel, 72dpi, 25.19x6.35 cm, bb=0 0 714 180
|
||||
\caption{PT100 four wire circuit}
|
||||
\label{fig:pt100}
|
||||
\end{figure}
|
||||
|
||||
|
||||
\section{Overview of PT100 four wire circuit}
|
||||
|
||||
The PT100 four wire circuit uses two wires to supply small electrical current,
|
||||
and returns two sense volages by the other two.
|
||||
By measuring volatges
|
||||
from sections of this circuit forming potential dividers, we can determine the
|
||||
resistance of the platinum wire sensor. The resistance
|
||||
of this is directly related to temperature, and may be determined by
|
||||
look-up tables or a suitable polynomial expression.
|
||||
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=150pt,bb=0 0 273 483,keepaspectratio=true]{./vrange.jpg}
|
||||
% pt100.jpg: 714x180 pixel, 72dpi, 25.19x6.35 cm, bb=0 0 714 180
|
||||
\caption{PT100 expected voltage ranges}
|
||||
\label{fig:pt100vrange}
|
||||
\end{figure}
|
||||
|
||||
|
||||
The voltage ranges we expect from this three stage potential divider
|
||||
are shown in figure \ref{fig:pt100vrange}. Note that there is
|
||||
an expected range for each reading, for a given temperature span.
|
||||
Note that the low reading goes down as temperature increases, and the higher reading goes up.
|
||||
For this reason the low reading will be reffered to as {\em sense-}
|
||||
and the higher as {\em sense+}.
|
||||
|
||||
\subsection{Accuracy despite variable \\ resistance in cables}
|
||||
|
||||
For electronic and accuracy reasons a four wire circuit is preffered
|
||||
because of resistance in the cables. Resistance from the supply
|
||||
causes a slight voltage
|
||||
drop in the supply to the PT100. As no significant current
|
||||
is carried by the two `sense' lines the resistance back to the ADC
|
||||
causes only a negligible voltage drop, and thus the four wire
|
||||
configuration is more accurate.
|
||||
|
||||
\subsection{Calculating Temperature from \\ the sense line voltages}
|
||||
|
||||
The current flowing though the
|
||||
whole circuit can be measured on the PCB by reading a third
|
||||
sense voltage from one of the load resistors. Knowing the current flowing
|
||||
through the circuit
|
||||
and knowing the voltage drop over the PT100, we can calculate its
|
||||
resistance by ohms law $V=I.R$, $R=\frac{V}{I}$.
|
||||
Thus a little loss of supply current due to resistance in the cables
|
||||
does not impinge on accuracy.
|
||||
The resistance to temperature conversion is achieved
|
||||
through the published PT100 tables\cite{eurothermtables}.
|
||||
|
||||
\section{Safety case for 4 wire circuit}
|
||||
|
||||
This sub-section looks at the behaviour of the PT100 four wire circuit
|
||||
for the effects of component failures.
|
||||
All components have a set of known `failure modes'.
|
||||
In other words we know that a given component can fail in several distinct ways.
|
||||
Studies have been published which list common component types
|
||||
and their sets of failure modes, often with MTTF statistics \cite{mil1991}.
|
||||
Thus for each component, an analysis is made for each of it failure modes,
|
||||
with respect to its effect on the
|
||||
circuit. Each one of these scenarios is termed a `test case'.
|
||||
The resultant circuit behaviour for each of these test cases is noted.
|
||||
The worst case for this type of
|
||||
analysis would be a fault that we cannot detect.
|
||||
Where this occurs a circuit re-design is probably the only sensible course of action.
|
||||
|
||||
|
||||
|
||||
\subsection{Single Fault FMEA Analysis \\ of PT100 Four wire circuit}
|
||||
|
||||
\label{fmea}
|
||||
This circuit simply consists of three resistors.
|
||||
Resistors according to the DOD Electronic component fault handbook
|
||||
1991, fail by either going OPEN or SHORT circuit \cite{mil1991}.
|
||||
%Should wires become disconnected these will have the same effect as
|
||||
%given resistors going open.
|
||||
For the purpose of this analyis;
|
||||
$R_{1}$ is the \ohms{2k2} from 5V to the thermistor,
|
||||
$R_3$ is the PT100 thermistor and $R_{2}$ connects the thermistor to ground.
|
||||
|
||||
We can define the terms `High Fault' and `Low Fault' here, with reference to figure
|
||||
\ref{fig:pt100vrange}. Should we get a reading outside the safe green zone
|
||||
in the diagram we can consider this a fault.
|
||||
Should the reading be above its expected range this is a `High Fault'
|
||||
and if below a `Low Fault'.
|
||||
|
||||
Table \ref{ptfmea} plays through the scenarios of each of the resistors failing
|
||||
in both SHORT and OPEN failure modes, and hypothesises an error condition in the readings.
|
||||
The range {0\oc} to {300\oc} will be analysed using potential divider equations to
|
||||
determine out of range voltage limits in section \ref{ptbounds}.
|
||||
|
||||
\begin{table}[ht]
|
||||
\caption{PT100 FMEA Single Faults} % title of Table
|
||||
\centering % used for centering table
|
||||
\begin{tabular}{||l|c|c|l|l||}
|
||||
\hline \hline
|
||||
\textbf{Test} & \textbf{Result} & \textbf{Result } & \textbf{General} \\
|
||||
\textbf{Case} & \textbf{sense +} & \textbf{sense -} & \textbf{Symtom Description} \\
|
||||
% R & wire & res + & res - & description
|
||||
\hline
|
||||
\hline
|
||||
$R_1$ SHORT & High Fault & - & Value Out of Range Value \\ \hline
|
||||
$R_1$ OPEN & Low Fault & Low Fault & Both values out of range \\ \hline
|
||||
\hline
|
||||
$R_3$ SHORT & Low Fault & High Fault & Both values out of range \\ \hline
|
||||
$R_3$ OPEN & High Fault & Low Fault & Both values out of range \\ \hline
|
||||
\hline
|
||||
$R_2$ SHORT & - & Low Fault & Value Out of Range Value \\
|
||||
$R_2$ OPEN & High Fault & High Fault & Both values out of range \\ \hline
|
||||
\hline
|
||||
\end{tabular}
|
||||
\label{ptfmea}
|
||||
\end{table}
|
||||
|
||||
From table \ref{ptfmea} it can be seen that any component failure in the circuit
|
||||
should cause a common symptom, that of one or more of the values being `out of range'.
|
||||
Temperature range calculations and detailed calculations
|
||||
on the effects of each test case are found in section \ref{pt100range}
|
||||
and \ref{pt100temp}.
|
||||
|
||||
|
||||
|
||||
\subsection{Range and PT100 Calculations}
|
||||
\label{pt100temp}
|
||||
PT100 resistors are designed to
|
||||
have a resistance of \ohms{100} at {0\oc} \cite{aoe},\cite{eurothermtables}.
|
||||
A suitable `wider than to be expected range' was considered to be {0\oc} to {300\oc}
|
||||
for a given application.
|
||||
According to the Eurotherm PT100
|
||||
tables \cite{eurothermtables}, this corresponded to the resistances \ohms{100}
|
||||
and \ohms{212.02} respectively. From this the potential divider circuit can be
|
||||
analysed and the maximum and minimum acceptable voltages determined.
|
||||
These can be used as bounds results to apply the findings from the
|
||||
PT100 FMEA analysis in section \ref{fmea}.
|
||||
|
||||
As the PT100 forms a potential divider with the \ohms{2k2} load resistors,
|
||||
the upper and lower readings can be calculated thus:
|
||||
|
||||
|
||||
$$ highreading = 5V.\frac{2k2+pt100}{2k2+2k2+pt100} $$
|
||||
$$ lowreading = 5V.\frac{2k2}{2k2+2k2+pt100} $$
|
||||
So by defining an acceptable measurement/temperature range,
|
||||
and ensuring the
|
||||
values are always within these bounds we can be confident that none of the
|
||||
resistors in this circuit has failed.
|
||||
|
||||
To convert these to twelve bit ADC (\adctw) counts:
|
||||
|
||||
$$ highreading = 2^{12}.\frac{2k2+pt100}{2k2+2k2+pt100} $$
|
||||
$$ lowreading = 2^{12}.\frac{2k2}{2k2+2k2+pt100} $$
|
||||
|
||||
|
||||
\begin{table}[ht]
|
||||
\caption{PT100 Maximum and Minimum Values} % title of Table
|
||||
\centering % used for centering table
|
||||
\begin{tabular}{||c|c|c|l|l||}
|
||||
\hline \hline
|
||||
\textbf{Temperature} & \textbf{PT100 resistance} &
|
||||
\textbf{Lower} & \textbf{Higher} & \textbf{Description} \\
|
||||
\hline
|
||||
% {-100 \oc} & {\ohms{68.28}} & 2.46V & 2.53V & Boundary of \\
|
||||
% & & 2017\adctw & 2079\adctw & out of range LOW \\ \hline
|
||||
{0 \oc} & {\ohms{100}} & 2.44V & 2.56V & Boundary of \\
|
||||
& & 2002\adctw & 2094\adctw & out of range LOW \\ \hline
|
||||
{+300 \oc} & {\ohms{212.02}} & 2.38V & 2.62V & Boundary of \\
|
||||
& & 1954\adctw & 2142\adctw & out of range HIGH \\ \hline
|
||||
\hline
|
||||
\end{tabular}
|
||||
\label{ptbounds}
|
||||
\end{table}
|
||||
|
||||
Table \ref{ptbounds} gives ranges that determine correct operation. In fact it can be shown that
|
||||
for any single error (short or opening of any resistor) this bounds check
|
||||
will detect it.
|
||||
|
||||
|
||||
\section{Single Fault FMEA Analysis \\ of PT100 Four wire circuit}
|
||||
|
||||
\subsection{Single Fault Modes as PLD}
|
||||
|
||||
The component~failure~modes in table \ref{ptfmea} can be represented as contours
|
||||
on a PLD diagram.
|
||||
Each test case, is defined by the contours that enclose
|
||||
it. The test cases here deal with single faults only
|
||||
and are thus enclosed by one contour each.
|
||||
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=400pt,bb=0 0 518 365,keepaspectratio=true]{./pt100_tc.jpg}
|
||||
% pt100_tc.jpg: 518x365 pixel, 72dpi, 18.27x12.88 cm, bb=0 0 518 365
|
||||
\caption{PT100 Component Failure Modes}
|
||||
\label{fig:pt100_tc}
|
||||
\end{figure}
|
||||
|
||||
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
|
||||
valid voltage reading ranges by using the standard voltage divider equation \ref{eqn:vd}
|
||||
for the circuit shown in figure \ref{fig:vd}.
|
||||
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=100pt,bb=0 0 183 170,keepaspectratio=true]{./voltage_divider.png}
|
||||
% voltage_divider.png: 183x170 pixel, 72dpi, 6.46x6.00 cm, bb=0 0 183 170
|
||||
\caption{Voltage Divider}
|
||||
\label{fig:vd}
|
||||
\end{figure}
|
||||
%The looking at figure \ref{fig:vd} the standard voltage divider formula (equation \ref{eqn:vd}) is used.
|
||||
|
||||
\begin{equation}
|
||||
\label{eqn:vd}
|
||||
V_{out} = V_{in}.\frac{Z2}{Z2+Z1}
|
||||
\end{equation}
|
||||
|
||||
|
||||
|
||||
\subsection{Proof of Out of Range \\ Values for Failures}
|
||||
\label{pt110range}
|
||||
Using the temperature ranges defined above we can compare the voltages
|
||||
we would get from the resistor failures to prove that they are
|
||||
`out of range'. There are six test cases and each will be examined in turn.
|
||||
|
||||
\subsubsection{ TC1 : Voltages $R_1$ SHORT }
|
||||
With pt100 at 0\oc
|
||||
$$ highreading = 5V $$
|
||||
Since the highreading or sense+ is directly connected to the 5V rail,
|
||||
both temperature readings will be 5V..
|
||||
$$ lowreading = 5V.\frac{2k2}{2k2+100\Omega} = 4.78V$$
|
||||
With pt100 at the high end of the temperature range 300\oc.
|
||||
$$ highreading = 5V $$
|
||||
$$ lowreading = 5V.\frac{2k2}{2k2+212.02\Omega} = 4.56V$$
|
||||
|
||||
Thus with $R_1$ shorted both readingare outside the
|
||||
proscribed range in table \ref{ptbounds}.
|
||||
|
||||
\subsubsection{ TC2 : Voltages $R_1$ OPEN }
|
||||
|
||||
In this case the 5V rail is disconnected. All voltages read are 0V, and
|
||||
therefore both readings are outside the
|
||||
proscribed range in table \ref{ptbounds}.
|
||||
|
||||
|
||||
\subsubsection{ TC 3 : Voltages $R_2$ SHORT }
|
||||
|
||||
With pt100 at 0\oc
|
||||
$$ lowreading = 0V $$
|
||||
Since the lowreading or sense- is directly connected to the 0V rail,
|
||||
both temperature readings will be 0V.
|
||||
$$ lowreading = 5V.\frac{100\Omega}{2k2+100\Omega} = 0.218V$$
|
||||
With pt100 at the high end of the temperature range 300\oc.
|
||||
$$ highreading = 5V $$
|
||||
$$ lowreading = 5V.\frac{212.02\Omega}{2k2+212.02\Omega} = 0.44V$$
|
||||
|
||||
Thus with $R_2$ shorted both readings are outside the
|
||||
proscribed range in table \ref{ptbounds}.
|
||||
|
||||
\subsubsection{ TC : 4 Voltages $R_2$ OPEN }
|
||||
Here there is no potential divider operating and both sense lines
|
||||
will read 5V, outside of the proscribed range.
|
||||
|
||||
|
||||
\subsubsection{ TC 5 : Voltages $R_3$ SHORT }
|
||||
|
||||
Here the potential divider is simply between
|
||||
the two 2k2 load resistors. Thus it will read a nominal;
|
||||
2.5V.
|
||||
|
||||
Assuming the load resistors are
|
||||
precision components, and then taking an absolute worst case of 1\% either way.
|
||||
|
||||
$$ 5V.\frac{2k2*0.99}{2k2*1.01+2k2*0.99} = 2.475V $$
|
||||
|
||||
$$ 5V.\frac{2k2*1.01}{2k2*1.01+2k2*0.99} = 2.525V $$
|
||||
|
||||
These readings both lie outside the proscribed range.
|
||||
Also the sense+ and sense- readings would have the same value.
|
||||
|
||||
\subsubsection{ TC 6 : Voltages $R_3$ OPEN }
|
||||
|
||||
Here the potential divider is broken. The sense- will read 0V and the sense+ will
|
||||
read 5V. Both readings are outside the proscribed range.
|
||||
|
||||
\subsection{Summary of Analysis}
|
||||
|
||||
All six test cases have been analysed and the results agree with the hypothesis
|
||||
put in Table \ref{ptfmea}. The PLD diagram, can now be used to collect the
|
||||
symptoms. In this case there is a common and easily detected symptom for all these single
|
||||
resistor faults : Voltage out of range.
|
||||
|
||||
A spider can be drawn on the PLD diagram to this effect.
|
||||
|
||||
In practical use, by defining an acceptable measurement/temperature range,
|
||||
and ensuring the
|
||||
values are always within these bounds we can be confident that none of the
|
||||
resistors in this circuit has failed.
|
||||
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=400pt,bb=0 0 518 365,keepaspectratio=true]{./pt100_tc_sp.jpg}
|
||||
% pt100_tc.jpg: 518x365 pixel, 72dpi, 18.27x12.88 cm, bb=0 0 518 365
|
||||
\caption{PT100 Component Failure Modes}
|
||||
\label{fig:pt100_tc_sp}
|
||||
\end{figure}
|
||||
|
||||
|
||||
The PT100 circuit can now be treated as a component in its own right, and has one failure mode,
|
||||
{\textbf OUT\_OF\_RANGE}. It can now be represnted as a PLD see figure \ref{fig:pt100_singlef}.
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=100pt,bb=0 0 167 194,keepaspectratio=true]{./pt100_singlef.jpg}
|
||||
% pt100_singlef.jpg: 167x194 pixel, 72dpi, 5.89x6.84 cm, bb=0 0 167 194
|
||||
\caption{PT100 Circuit Failure Modes : From Single Faults Analysis}
|
||||
\label{fig:pt100_singlef}
|
||||
\end{figure}
|
||||
|
||||
|
||||
|
||||
|
||||
%Interestingly we can calculate the failure statistics for this circuit now.
|
||||
%Mill 1991 gives resistor stats of ${10}^{11}$ times 6 (can we get special stats for pt100) ???
|
||||
\clearpage
|
||||
\subsection{Mean Time to Failure}
|
||||
|
||||
Using the MIL1991\cite{mil1991} specifications for resistor and thermistor
|
||||
failure statistics we calculate the reliability of this circuit.
|
||||
MIL1991 gives MTTF for a wide range of common components.
|
||||
It does not specify how the components will fail (in this case OPEN or SHORT). {Some standards, notably EN298 only consider resistors failing in OPEN mode}.
|
||||
FMD-97 Gives 27\% OPEN and 3\% SHORTED, for resistors under certain electrical and environmental stresses. This example
|
||||
compromises and uses a 90:10 ratio, for resistor failure.
|
||||
Thus for this example resistors are expevcted to fail OPEN in 90\% of cases and SHORTED
|
||||
in the other 10\%.
|
||||
|
||||
A standard fixed film resistor, for use in a benign environment, non military spec at
|
||||
temperatures up to 60\oc is given a probability of 13.8 failures per billion ($10^9$)
|
||||
hours of operation. This figure is referred to as a FIT\footnote{FIT values are measured as the number of failures per billion hours of operation, (roughly 1.1 Million years). The smaller the FIT number the more reliable the fault~mode}, Failure in time.
|
||||
|
||||
A thermistor, bead type, non military spec is given a FIT of 3150.
|
||||
|
||||
Using the RIAC finding we can draw up the following table (table \ref{tab:stat_single}),
|
||||
showing the FIT values for all faults considered.
|
||||
|
||||
|
||||
|
||||
\begin{table}[h+]
|
||||
\caption{PT100 FMEA Single // Fault Statistics} % title of Table
|
||||
\centering % used for centering table
|
||||
\begin{tabular}{||l|c|c|l|l||}
|
||||
\hline \hline
|
||||
\textbf{Test} & \textbf{Result} & \textbf{Result } & \textbf{MTTF} \\
|
||||
\textbf{Case} & \textbf{sense +} & \textbf{sense -} & \textbf{per $10^9$ hours of operation} \\
|
||||
% R & wire & res + & res - & description
|
||||
\hline
|
||||
\hline
|
||||
TC:1 $R_1$ SHORT & High Fault & - & 12.42 \\ \hline
|
||||
TC:2 $R_1$ OPEN & Low Fault & Low Fault & 1.38 \\ \hline
|
||||
\hline
|
||||
TC:3 $R_3$ SHORT & Low Fault & High Fault & 2835 \\ \hline
|
||||
TC:4 $R_3$ OPEN & High Fault & Low Fault & 315 \\ \hline
|
||||
\hline
|
||||
TC:5 $R_2$ SHORT & - & Low Fault & 12.42 \\
|
||||
TC:6 $R_2$ OPEN & High Fault & High Fault & 1.38 \\ \hline
|
||||
\hline
|
||||
\end{tabular}
|
||||
\label{tab:stat_single}
|
||||
\end{table}
|
||||
|
||||
The FIT for the circuit as a whole is the sum of MTTF values for all the
|
||||
test cases. The PT100 circuit here has a FIT of 3177.6. This is a MTTF of
|
||||
about 360 years per circuit.
|
||||
|
||||
A Probablistic tree can now be drawn, with a FIT value for the PT100
|
||||
circuit and FIT values for all the component fault modes that it was calculated from.
|
||||
We can see from this that that the most likely fault is the thermistor going OPEN.
|
||||
This circuit is 8 times more likely to fail in this way than in any other.
|
||||
Were we to need a more reliable temperature sensor this would probably
|
||||
be the fault~mode we would scrutinise first.
|
||||
|
||||
|
||||
\begin{figure}[h+]
|
||||
\centering
|
||||
\includegraphics[width=400pt,bb=0 0 856 327,keepaspectratio=true]{./stat_single.jpg}
|
||||
% stat_single.jpg: 856x327 pixel, 72dpi, 30.20x11.54 cm, bb=0 0 856 327
|
||||
\caption{Probablistic Fault Tree : PT100 Single Faults}
|
||||
\label{fig:stat_single}
|
||||
\end{figure}
|
||||
|
||||
|
||||
The PT100 analysis presents a simple result for single faults.
|
||||
The next analysis phase looks at how the circuit will behave under double simultaneous failure
|
||||
conditions.
|
||||
|
||||
\clearpage
|
||||
\section{ PT100 Double Simultaneous \\ Fault Analysis}
|
||||
|
||||
% typeset in {\Huge \LaTeX} \today
|
||||
|
BIN
burner/stat_single.dia~
Normal file
BIN
burner/stat_single.dia~
Normal file
Binary file not shown.
BIN
burner/vrange.dia~
Normal file
BIN
burner/vrange.dia~
Normal file
Binary file not shown.
@ -1,6 +1,6 @@
|
||||
|
||||
\abstract{ This chapter defines what is meant by the terms
|
||||
components, component fault modess and `unitary~state' component fault modes.
|
||||
components, component fault modes and `unitary~state' component fault modes.
|
||||
Mathematical constraints and definitions are made using set theory.
|
||||
}
|
||||
|
||||
@ -12,15 +12,28 @@ For most common electrical and mechanical components, the failure modes
|
||||
for a given type of part can be obtained from standard literature\cite{mil1991}
|
||||
\cite{mech}. %The failure modes for a given component $K$ form a set $F$.
|
||||
|
||||
An important factor in defining a failure mode is that they
|
||||
An important factor in defining a set of failure modes is that they
|
||||
should be as clearly defined as possible.
|
||||
%
|
||||
It should not be possible for instance for
|
||||
a component to have two or more failure modes active at once.
|
||||
Should this be the case, the failure modes have not been clearly analysed.
|
||||
The combination could be represented by a new failure mode, or
|
||||
the component should be re-analysed. A set of failure modes where only one fault mode
|
||||
|
||||
Having a set of failure modes where $N$ modes could be active simultaneously
|
||||
would mean having to consider $2^N$ failure mode scenarios.
|
||||
%
|
||||
Should a component be analysed and simultaneous failure mode cases exit,
|
||||
the combinations could be represented by a new failure modes, or
|
||||
the component should be considered from a fresh perspective,
|
||||
perhaps considering it as several smaller components
|
||||
within one package.
|
||||
|
||||
\begin{definition}
|
||||
A set of failure modes where only one fault mode
|
||||
can be active at a time is termed a `unitary~state' failure mode set.
|
||||
This is termed the $U$ set thoughout this study.
|
||||
This corresponds to the `mutually exclusive' definition in
|
||||
probability theory\cite{probandstat}.
|
||||
\end{definition}
|
||||
|
||||
We can define a function $FM()$ to
|
||||
take a given component $K$ and return its set of failure modes $F$.
|
||||
@ -38,61 +51,29 @@ A component with simple ``unitary~state'' failure modes is the electrical resist
|
||||
|
||||
Electrical resistors can fail by going OPEN or SHORTED.
|
||||
However they cannot fail with both conditions active. The conditions
|
||||
OPEN and SHORT are mutually exlusive.
|
||||
OPEN and SHORT are mutually exclusive.
|
||||
Because of this the failure mode set $F=FM(R)$ is `unitary~state'.
|
||||
%A more complex component, say a micro controller could have several
|
||||
%faults active. It could for instance have a broken I/O output
|
||||
%and an unstable ADC input. Here the faults cannot be considered `unitary~state'.
|
||||
|
||||
% A set of failure modes, where only one or no failure modes
|
||||
% are active is termed an `unitary~state' failure mode set. This
|
||||
% will be donoted as set $A$.
|
||||
%
|
||||
To define `unitary~state' using set theory we can define a function
|
||||
`active'.
|
||||
The function $active(f)$ deontes that the failure mode $f$ (where $f$ is an element of $F$) is currently active.
|
||||
|
||||
Thus for the set $F$ to exist in $U$ the following condition must be true.
|
||||
|
||||
\begin{equation}
|
||||
\label{unitarystate_def}
|
||||
F \in U | f \in F \wedge active(f) \wedge f1 \in F \wedge f1 \neq f \wedge \neg active(f1)
|
||||
\end{equation}
|
||||
|
||||
As an example the resistor $R$
|
||||
has two failure modes $R_{open}$ and $R_{shorted}$.
|
||||
|
||||
$$ FM(R) = F = \{ R_{open}, R_{shorted} \} $$
|
||||
|
||||
Applying equation \ref{`unitarystate'_definition} to a resistor
|
||||
for both fault modes
|
||||
|
||||
$$ active(R_{short}) | R_{short} \in F \wedge R_{open} \in F \wedge R_{open} \neq R_{short} \wedge \neg active(R_{open}) $$
|
||||
$$ active(R_{open}) | R_{open} \in F \wedge R_{short} \in F \wedge R_{short} \neq R_{open} \wedge \neg active(R_{short}) $$
|
||||
|
||||
For the case of the resistor with only two failure modes the results above, being true,
|
||||
show that the failure modes for a resistor of $ F = \{ R_{open}, R_{shorted} \} $ are `unitary~state'
|
||||
component failure modes.
|
||||
|
||||
Thus
|
||||
$$ FM(R) = \{ R_{open}, R_{shorted} \} \in U $$
|
||||
|
||||
$$ R_{SHORTED} \cap R_{OPEN} = \emptyset $$
|
||||
|
||||
|
||||
A general case can be stated by taking equation \ref{unitary_state_def} and making it a function thus.
|
||||
We can make this a general case by taking a set $C$ representing a collection
|
||||
of component failure modes,
|
||||
We can now state that
|
||||
|
||||
|
||||
\begin{equation}
|
||||
\label{`unitarystate'_def}
|
||||
UnitaryState(F) = \forall f \in F | active(f) \wedge f1 \in F \wedge f1 \neq f \wedge \neg active(f1)
|
||||
\end{equation}
|
||||
$$ c1 \cap c2 \neq \emptyset | c1 \neq c2 \wedge c1,c2 \in C \wedge C \not\in U $$
|
||||
|
||||
%Which can be written
|
||||
|
||||
%$$ UnitaryState(FM(K)) $$
|
||||
|
||||
|
||||
|
||||
% should this be a paragraph in Symptom Abstraction ????
|
||||
That is to say that if it is impossible that any pair of failure modes can be active at the same time
|
||||
the failure mode set is not unitary~state and does not exist in the family of sets $U$
|
||||
|
||||
Note where that are more than two failure~modes, by banning pairs from happening at the same time
|
||||
we have banned larger combinations as well
|
||||
|
||||
%$$ c1 \cap c2 \eq \emptyset | c1 \neq c2 \wedge c1,c2 \in C \wedge C \in U $$
|
||||
|
||||
%Thus if the failure~modes are pairwaise mutually exclusive they qualify for inclusion into the
|
||||
%unitary~state set family.
|
||||
|
@ -21,12 +21,21 @@ This changed the target for the study slightly to encompass these domains in a c
|
||||
I completed an MSc in Software engineering in 2004 at Brighton university while working for
|
||||
an Engineering firm as a software Engineer.
|
||||
The firm make industrial burner controllers.
|
||||
iIndustrial Burners are potentially very dangerous industrail plant.
|
||||
They are subject to stringent safety regulations and any product controlling them
|
||||
must conform to specific `EN' standards. This involved not only writing software and designing hardware in compliance,
|
||||
but also stages of formal certification testing. The certification testing had to be performed by
|
||||
`competent body' recognised under European law. A significant part
|
||||
of this process was `static testing'. This involved looking at the design of the products,
|
||||
Industrial Burners are potentially very dangerous industrial plant.
|
||||
They are generally left running unattended for long periods.
|
||||
They are subject to stringent safety regulations and
|
||||
must conform to specific `EN' standards.
|
||||
|
||||
One cannot merely comply with the standards.
|
||||
|
||||
The product must be `certified' by an independent
|
||||
and
|
||||
`competent body' recognised under European law.
|
||||
The cerification involved stress testing with repeated operation cycles,
|
||||
within a range of temperatures. Electrical stress testing with high voltage interference, and
|
||||
power supply voltage surges and dips. Electro static discharge testing, and
|
||||
EMC (Electro Magnetic Compatibility). A significant part
|
||||
of this process however, was `static testing'. This involved looking at the design of the products,
|
||||
from the perspective of components failing, and the effect on safety this would have.
|
||||
Some of the static testing involved checking that the germane `EN' standards had
|
||||
been complied with. Failure Mode Effects Analysis (FMEA) was also applied. This involved
|
||||
@ -36,10 +45,20 @@ answer was required, or a counter proposal to change the design to cope with
|
||||
the comonent failure eventuality. FMEA was time consuming, and being directed by
|
||||
experts undoubtly ironed out many potential safety faults before the product saw
|
||||
light of day. However it was quickly apparent that only a small proportion
|
||||
of copmponent~failure modes was considered. Also there was no formaliswm.
|
||||
of copmponent~failure modes was considered. Also there was no formalism.
|
||||
The component~failure~modes investigated were not analysed within
|
||||
any rigourous framework.
|
||||
|
||||
\subsection{ Blanket Risk Reduction Approach }
|
||||
|
||||
The suite of tests applied for a certified product amount to a `blanket' approach.
|
||||
That is to say that by applying Electrical, repeated operations, and environmental
|
||||
stress testing it is hoped that the majority of latent faults are discovered.
|
||||
The FMEA, or static sections, only look at the most obviously safety critical
|
||||
aspects, and a small minority of the total component base for a product.
|
||||
|
||||
Systememic faults, or mistakes will often by-pass this testing.
|
||||
|
||||
\subsection{Possibility of applying mathematical techniques to FMEA}
|
||||
|
||||
My MSc project was a diagram editor for Constraint diagrams.
|
||||
@ -66,23 +85,25 @@ obviously impractical.
|
||||
\subsection{General description of a Safety Critical System}
|
||||
|
||||
A safety critical system is one in which lives may depend upon it or
|
||||
it has the potential to become dangerous.
|
||||
(/usr/share/texmf-texlive/tex/latex/amsmath/amstext.sty)
|
||||
it has the potential to become dangerous\cite{sccs}.
|
||||
%(/usr/share/texmf-texlive/tex/latex/amsmath/amstext.sty)
|
||||
|
||||
An industrial burner is typical of plant that is potentially dangerous.
|
||||
An incorrect air/fuel mixture can be explosive.
|
||||
Medical electronics for automatically dispensing drugs or maintaining
|
||||
life support are examples of systems that lives depend upon.
|
||||
|
||||
\subsection{Two approaches : Probablistic, and Compnent fault tolerant}
|
||||
\subsection{Two approaches : Probablistic, and Deterministic}
|
||||
|
||||
There are two main philosophies applied to safety critical systems certification.
|
||||
\paragraph{Statistical safety Measures}
|
||||
One is a general number of acceptable failure per hour of operation.
|
||||
\paragraph{Probablistic safety Measures}
|
||||
One is a general number of acceptable failures per hour\footnote{The common metric is Failure in Time (FIT) values - failures per ${10}^{9}$
|
||||
hours of operation} of operation or
|
||||
a given statistical failure on demand.
|
||||
This is the probablistic approach and is embodied in the european standard
|
||||
EN61508 \cite{EN61508}.
|
||||
|
||||
\paragraph{Prescriptive safety Measures}
|
||||
\paragraph{Deterministic safety Measures}
|
||||
The second philosophy, applied to application specific standards, is to investigate
|
||||
components ior sub-systems in the critical safety path and to look at component failure modes
|
||||
and ensure that they cannot cause dangerous faults.
|
||||
@ -114,67 +135,36 @@ reference chapter dealing speciifically with this but given a quick overview.
|
||||
\subsubsection{Overview of current testing and certification}
|
||||
ref chapter speciifically on this but give an overview now
|
||||
|
||||
\section{Background to the Industrial Burner Safety Analysis Problem}
|
||||
|
||||
An industrial burner is a good example of a safety critical system.
|
||||
It has the potential for devistating explosions due to boiler overpressure, or
|
||||
ignition of an explosive mixture, and, because of the large amounts of fuel used,
|
||||
is also a fire hazard. Also Industrial boilers are often left running unattended
|
||||
for long periods of time (typically days).
|
||||
|
||||
To add to these problems
|
||||
Operators are often under pressure to keep them running. An boiler supplying
|
||||
heat to a large greenhouse complex could ruin crops
|
||||
should it go off-line. Similarly a production line relying on heat or steam
|
||||
can be very expensive in production down-time should it fail.
|
||||
This places extra responsibility on the burner controller.
|
||||
|
||||
|
||||
These are common place and account for a very large proportion of the enery usage
|
||||
in the world today (find and ref stats)
|
||||
Industrial burners are common enough to have different specific standards
|
||||
written for the fuel types they use \ref{EN298} \ref{EN230} \ref{EN12067}.
|
||||
|
||||
A modern industrial burner has mechanical, electronic and software
|
||||
elements, that are all safety critical. That is to say
|
||||
unhandled failures could create dangerous faults.
|
||||
|
||||
To add to these problems
|
||||
Operators are often under pressure to keep them running. An boiler supplying
|
||||
heat to a large greenhouse complex could ruin crops
|
||||
should it go off-line. Similarly a production line relying on heat or steam
|
||||
can be very expensive in production down-time should it fail.
|
||||
This places extra responsibility on the burner controller.
|
||||
|
||||
|
||||
These are common place and account for a very large proportion of the enery usage
|
||||
in the world today (find and ref stats)
|
||||
Industrial burners are common enough to have different specific standards
|
||||
written for the fuel types they usei \ref{EN298} \ref{EN230} \ref{EN12067}.
|
||||
|
||||
A modern industrial burner has mechanical, electronic and software
|
||||
elements, that are all safety critical. That is to say
|
||||
unhandled failures could create dangerous faults.
|
||||
|
||||
A more detailed description of industrial burner controllers
|
||||
is dealt with in chapter~\ref{burnercontroller}.
|
||||
|
||||
\subsection{Mechanical components}
|
||||
describe the mechanical parts - gas valves damper s
|
||||
electronic and software
|
||||
give a diagram of how it all fits A
|
||||
together with a
|
||||
\subsection{electronic Components}
|
||||
|
||||
\subsection{Software/Firmware Components}
|
||||
|
||||
|
||||
\subsection{A high level Fault Hierarchy for an Industrial Burner}
|
||||
|
||||
This section shows the component level, leading up higher and higher in the abstraction level
|
||||
to the software levels and finally a top level abstract level. If the system has been
|
||||
designed correctly no `undetected faults' should be present here.
|
||||
%To add to these problems
|
||||
%Operators are often under pressure to keep them running. An boiler supplying
|
||||
%heat to a large greenhouse complex could ruin crops
|
||||
%should it go off-line. Similarly a production line relying on heat or steam
|
||||
%can be very expensive in production down-time should it fail.
|
||||
%This places extra responsibility on the burner controller.
|
||||
%
|
||||
%
|
||||
|
||||
% This needs to become a chapter
|
||||
%\subsection{Mechanical components}
|
||||
%describe the mechanical parts - gas valves damper s
|
||||
%electronic and software
|
||||
%give a diagram of how it all fits A
|
||||
%together with a
|
||||
%\subsection{electronic Components}
|
||||
%
|
||||
%\subsection{Software/Firmware Components}
|
||||
%
|
||||
%
|
||||
%\subsection{A high level Fault Hierarchy for an Industrial Burner}
|
||||
%
|
||||
%This section shows the component level, leading up higher and higher in the abstraction level
|
||||
%to the software levels and finally a top level abstract level. If the system has been
|
||||
%designed correctly no `undetected faults' should be present here.
|
||||
%
|
||||
\section{An Outline of the FMMD Technique}
|
||||
|
||||
The methodology takes a bottom up approach to
|
||||
@ -182,8 +172,10 @@ the design of an integrated system.
|
||||
Each component is assigned a well defined set of failure modes.
|
||||
The components are formed into modules, or functional groups.
|
||||
These functional groups are analysed with respect to the failure modes of the
|
||||
components. The `functional group' or module will have a set of derived
|
||||
failure modes. The number of derived failure modes will be
|
||||
components. The `functional group' or module will, after analysis, have a set of derived
|
||||
failure modes. Thus we can now treat our `functional group' as a component in its own right,
|
||||
with its own set of failure~modes.
|
||||
The number of derived failure modes will be
|
||||
less than or equal to the sum of the failure modes of all its components.
|
||||
A `derived' set of failure modes, is at a higher abstraction level.
|
||||
derived modules may now be used as building blocks, to model the system at
|
||||
@ -197,6 +189,7 @@ A formal description of this process is dealt with in Chapter \ref{fmmddefinitio
|
||||
%on simple control systems for maintaining temperature
|
||||
%and for industrial burners. It is hoped that a general mathematical
|
||||
%framework is created that can be applied to other fields of safety critical engineering.
|
||||
\subsection{Automated Systems and Safety}
|
||||
|
||||
Automated systems, as opposed to manual ones are now the norm
|
||||
in the home and in industry.
|
||||
@ -238,30 +231,6 @@ corrections cannot be enough.
|
||||
It could also develop an internal fault, and must be able to cope with this.
|
||||
|
||||
|
||||
Systems such as industrial burners have been partially automated for some time.
|
||||
A mechanical cam arrangement controls the flow of air and fuel for the range of
|
||||
firing rate (output of the boiler).
|
||||
|
||||
These mechanical systems could suffer failures (such as a mechanical linkage beoming
|
||||
detached) and could then operate in a potentially dangerous state.
|
||||
|
||||
More modern burner controllers use a safety critical computer controlling
|
||||
motors to operate the fuel and air mixture and to control the safety
|
||||
valves.
|
||||
|
||||
In working in the industrial burner industry and submitting product for
|
||||
North American and European safety approval, it was apparent that
|
||||
formal techniques could be applied to aspects of the ciruit design.
|
||||
Some safety critical circuitry would be subjected to thought experiments, where
|
||||
the actions of one or more components failing would be examined.
|
||||
As a simple example a milli-volt input could become disconnected.
|
||||
A milli-volt input is typically amplified so that its range matches that
|
||||
of the A->D converter that you are reading. were this signal source to become disconnected
|
||||
the systems would see a floating, amplified signal.
|
||||
A high impedance safety resistor can be added to the circuit,
|
||||
to pull the signal high (or out of nornal range) upon disconnection.
|
||||
The system then knows that a fault has occurred and will not use
|
||||
that sensor reading (see \ref{fig:millivolt}).
|
||||
|
||||
|
||||
|
||||
@ -389,6 +358,12 @@ The problem lay in a seal that had an operating temperature range.
|
||||
On the day of the launch the temperature of this seal was out of range.
|
||||
A bottom up safety approach would have revealed this as a fault.
|
||||
|
||||
The FTA in use by NASA and the US Nuclear regulatory commisssion
|
||||
allows for enviromental considerations such as temperature\cite{NASA}\cite{NUK}.
|
||||
But because of the top down nature of the FTA technique, the safety designer must be aware of
|
||||
the environemtnal constraints of all component parts in order to use this correctly.
|
||||
This element of FTA is discussed in \ref{surveysc}
|
||||
|
||||
\section{Problems with Natural Language}
|
||||
|
||||
Written natural language desciptions can not only be ambiguous or easy to misinterpret, it
|
||||
@ -427,6 +402,7 @@ temperature being the most typical. Very often what happens to the system outsid
|
||||
\section{Project Goals}
|
||||
|
||||
\begin{itemize}
|
||||
\item To create a Bottom up FMEA technique that is modular and permits a linked hierarchy to be build representing the fault behaviour of a system.
|
||||
\item To create a user friendly formal common visual notation to represent fault modes
|
||||
in Software, Electronic and Mechanical sub-systems.
|
||||
\item To formally define this visual language.
|
||||
|
17
standards/Makefile
Normal file
17
standards/Makefile
Normal file
@ -0,0 +1,17 @@
|
||||
|
||||
#
|
||||
# Make the propositional logic diagram a paper
|
||||
#
|
||||
|
||||
|
||||
paper: paper.tex standards_paper.tex
|
||||
#latex paper.tex
|
||||
#dvipdf paper pdflatex cannot use eps ffs
|
||||
pdflatex paper.tex
|
||||
okular paper.pdf
|
||||
|
||||
|
||||
# Remove the need for referncing graphics in subdirectories
|
||||
#
|
||||
standards_paper.tex: standards.tex
|
||||
cat standards.tex | sed 's/standards\///' > standards_paper.tex
|
11
standards/paper.aux
Normal file
11
standards/paper.aux
Normal file
@ -0,0 +1,11 @@
|
||||
\relax
|
||||
\bibstyle{plain}
|
||||
\bibdata{vmgbibliography,mybib}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{1}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {2}European Safety Standards Legal Framework}{1}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3}North American Legal Framework}{1}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {4}Cross Referencing}{1}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {5}EN298}{1}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {6}UL1998}{1}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {7}EN230}{1}}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {8}EN61508}{1}}
|
429
standards/paper.log
Normal file
429
standards/paper.log
Normal file
@ -0,0 +1,429 @@
|
||||
This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6) (format=pdflatex 2010.2.1) 4 APR 2010 13:40
|
||||
entering extended mode
|
||||
%&-line parsing enabled.
|
||||
**paper.tex
|
||||
(./paper.tex
|
||||
LaTeX2e <2005/12/01>
|
||||
Babel <v3.8h> and hyphenation patterns for english, usenglishmax, dumylang, noh
|
||||
yphenation, loaded.
|
||||
(/usr/share/texmf-texlive/tex/latex/base/article.cls
|
||||
Document Class: article 2005/09/16 v1.4f Standard LaTeX document class
|
||||
(/usr/share/texmf-texlive/tex/latex/base/size10.clo
|
||||
File: size10.clo 2005/09/16 v1.4f Standard LaTeX file (size option)
|
||||
)
|
||||
\c@part=\count79
|
||||
\c@section=\count80
|
||||
\c@subsection=\count81
|
||||
\c@subsubsection=\count82
|
||||
\c@paragraph=\count83
|
||||
\c@subparagraph=\count84
|
||||
\c@figure=\count85
|
||||
\c@table=\count86
|
||||
\abovecaptionskip=\skip41
|
||||
\belowcaptionskip=\skip42
|
||||
\bibindent=\dimen102
|
||||
)
|
||||
(/usr/share/texmf-texlive/tex/latex/graphics/graphicx.sty
|
||||
Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
|
||||
|
||||
(/usr/share/texmf-texlive/tex/latex/graphics/keyval.sty
|
||||
Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
|
||||
\KV@toks@=\toks14
|
||||
)
|
||||
(/usr/share/texmf-texlive/tex/latex/graphics/graphics.sty
|
||||
Package: graphics 2006/02/20 v1.0o Standard LaTeX Graphics (DPC,SPQR)
|
||||
|
||||
(/usr/share/texmf-texlive/tex/latex/graphics/trig.sty
|
||||
Package: trig 1999/03/16 v1.09 sin cos tan (DPC)
|
||||
)
|
||||
(/etc/texmf/tex/latex/config/graphics.cfg
|
||||
File: graphics.cfg 2007/01/18 v1.5 graphics configuration of teTeX/TeXLive
|
||||
)
|
||||
Package graphics Info: Driver file: pdftex.def on input line 90.
|
||||
|
||||
(/usr/share/texmf-texlive/tex/latex/pdftex-def/pdftex.def
|
||||
File: pdftex.def 2007/01/08 v0.04d Graphics/color for pdfTeX
|
||||
\Gread@gobject=\count87
|
||||
))
|
||||
\Gin@req@height=\dimen103
|
||||
\Gin@req@width=\dimen104
|
||||
)
|
||||
(/usr/share/texmf-texlive/tex/latex/fancyhdr/fancyhdr.sty
|
||||
\fancy@headwidth=\skip43
|
||||
\f@ncyO@elh=\skip44
|
||||
\f@ncyO@erh=\skip45
|
||||
\f@ncyO@olh=\skip46
|
||||
\f@ncyO@orh=\skip47
|
||||
\f@ncyO@elf=\skip48
|
||||
\f@ncyO@erf=\skip49
|
||||
\f@ncyO@olf=\skip50
|
||||
\f@ncyO@orf=\skip51
|
||||
)
|
||||
(/usr/share/texmf/tex/latex/pgf/frontendlayer/tikz.sty
|
||||
(/usr/share/texmf/tex/latex/pgf/basiclayer/pgf.sty
|
||||
(/usr/share/texmf/tex/latex/pgf/utilities/pgfrcs.sty
|
||||
(/usr/share/texmf/tex/generic/pgf/utilities/pgfutil-common.tex
|
||||
\pgfutil@everybye=\toks15
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/utilities/pgfutil-latex.def)
|
||||
(/usr/share/texmf/tex/generic/pgf/utilities/pgfrcs.code.tex
|
||||
Package: pgfrcs 2008/02/20 v2.00 (rcs-revision 1.21)
|
||||
))
|
||||
Package: pgf 2008/01/15 v2.00 (rcs-revision 1.12)
|
||||
|
||||
(/usr/share/texmf/tex/latex/pgf/basiclayer/pgfcore.sty
|
||||
(/usr/share/texmf/tex/latex/pgf/systemlayer/pgfsys.sty
|
||||
(/usr/share/texmf/tex/generic/pgf/systemlayer/pgfsys.code.tex
|
||||
Package: pgfsys 2008/02/07 v2.00 (rcs-revision 1.31)
|
||||
|
||||
(/usr/share/texmf/tex/generic/pgf/utilities/pgfkeys.code.tex
|
||||
\pgfkeys@pathtoks=\toks16
|
||||
\pgfkeys@temptoks=\toks17
|
||||
)
|
||||
\pgf@x=\dimen105
|
||||
\pgf@y=\dimen106
|
||||
\pgf@xa=\dimen107
|
||||
\pgf@ya=\dimen108
|
||||
\pgf@xb=\dimen109
|
||||
\pgf@yb=\dimen110
|
||||
\pgf@xc=\dimen111
|
||||
\pgf@yc=\dimen112
|
||||
\c@pgf@counta=\count88
|
||||
\c@pgf@countb=\count89
|
||||
\c@pgf@countc=\count90
|
||||
\c@pgf@countd=\count91
|
||||
|
||||
(/usr/share/texmf/tex/generic/pgf/systemlayer/pgf.cfg
|
||||
File: pgf.cfg 2008/01/13 (rcs-revision 1.6)
|
||||
)
|
||||
Package pgfsys Info: Driver file for pgf: pgfsys-pdftex.def on input line 885.
|
||||
|
||||
(/usr/share/texmf/tex/generic/pgf/systemlayer/pgfsys-pdftex.def
|
||||
File: pgfsys-pdftex.def 2007/12/20 (rcs-revision 1.20)
|
||||
|
||||
(/usr/share/texmf/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def
|
||||
File: pgfsys-common-pdf.def 2007/12/17 (rcs-revision 1.8)
|
||||
)))
|
||||
(/usr/share/texmf/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex
|
||||
File: pgfsyssoftpath.code.tex 2008/01/23 (rcs-revision 1.6)
|
||||
\pgfsyssoftpath@smallbuffer@items=\count92
|
||||
\pgfsyssoftpath@bigbuffer@items=\count93
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex
|
||||
File: pgfsysprotocol.code.tex 2006/10/16 (rcs-revision 1.4)
|
||||
))
|
||||
(/usr/share/texmf/tex/latex/xcolor/xcolor.sty
|
||||
Package: xcolor 2007/01/21 v2.11 LaTeX color extensions (UK)
|
||||
|
||||
(/etc/texmf/tex/latex/config/color.cfg
|
||||
File: color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive
|
||||
)
|
||||
Package xcolor Info: Driver file: pdftex.def on input line 225.
|
||||
Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1337.
|
||||
Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1341.
|
||||
Package xcolor Info: Model `RGB' extended on input line 1353.
|
||||
Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1355.
|
||||
Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1356.
|
||||
Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1357.
|
||||
Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1358.
|
||||
Package xcolor Info: Model `Gray' substituted by `gray' on input line 1359.
|
||||
Package xcolor Info: Model `wave' substituted by `hsb' on input line 1360.
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcore.code.tex
|
||||
Package: pgfcore 2008/01/15 v2.00 (rcs-revision 1.6)
|
||||
|
||||
(/usr/share/texmf/tex/generic/pgf/math/pgfmath.code.tex
|
||||
(/usr/share/texmf/tex/generic/pgf/math/pgfmathcalc.code.tex
|
||||
(/usr/share/texmf/tex/generic/pgf/math/pgfmathutil.code.tex
|
||||
\pgfmath@box=\box26
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/math/pgfmathparser.code.tex
|
||||
\pgfmath@stack=\toks18
|
||||
\c@pgfmath@parsecounta=\count94
|
||||
\c@pgfmath@parsecountb=\count95
|
||||
\c@pgfmath@parsecountc=\count96
|
||||
\pgfmath@parsex=\dimen113
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/math/pgfmathoperations.code.tex
|
||||
(/usr/share/texmf/tex/generic/pgf/math/pgfmathtrig.code.tex)
|
||||
(/usr/share/texmf/tex/generic/pgf/math/pgfmathrnd.code.tex))
|
||||
(/usr/share/texmf/tex/generic/pgf/math/pgfmathbase.code.tex)))
|
||||
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex
|
||||
File: pgfcorepoints.code.tex 2008/02/03 (rcs-revision 1.13)
|
||||
\pgf@picminx=\dimen114
|
||||
\pgf@picmaxx=\dimen115
|
||||
\pgf@picminy=\dimen116
|
||||
\pgf@picmaxy=\dimen117
|
||||
\pgf@pathminx=\dimen118
|
||||
\pgf@pathmaxx=\dimen119
|
||||
\pgf@pathminy=\dimen120
|
||||
\pgf@pathmaxy=\dimen121
|
||||
\pgf@xx=\dimen122
|
||||
\pgf@xy=\dimen123
|
||||
\pgf@yx=\dimen124
|
||||
\pgf@yy=\dimen125
|
||||
\pgf@zx=\dimen126
|
||||
\pgf@zy=\dimen127
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex
|
||||
File: pgfcorepathconstruct.code.tex 2008/02/13 (rcs-revision 1.14)
|
||||
\pgf@path@lastx=\dimen128
|
||||
\pgf@path@lasty=\dimen129
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex
|
||||
File: pgfcorepathusage.code.tex 2008/01/23 (rcs-revision 1.11)
|
||||
\pgf@shorten@end@additional=\dimen130
|
||||
\pgf@shorten@start@additional=\dimen131
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex
|
||||
File: pgfcorescopes.code.tex 2008/01/15 (rcs-revision 1.26)
|
||||
\pgfpic=\box27
|
||||
\pgf@hbox=\box28
|
||||
\pgf@layerbox@main=\box29
|
||||
\pgf@picture@serial@count=\count97
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex
|
||||
File: pgfcoregraphicstate.code.tex 2007/12/12 (rcs-revision 1.8)
|
||||
\pgflinewidth=\dimen132
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex
|
||||
File: pgfcoretransformations.code.tex 2008/02/04 (rcs-revision 1.10)
|
||||
\pgf@pt@x=\dimen133
|
||||
\pgf@pt@y=\dimen134
|
||||
\pgf@pt@temp=\dimen135
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorequick.code.tex
|
||||
File: pgfcorequick.code.tex 2006/10/11 (rcs-revision 1.2)
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex
|
||||
File: pgfcoreobjects.code.tex 2006/10/11 (rcs-revision 1.2)
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex
|
||||
File: pgfcorepathprocessing.code.tex 2008/01/23 (rcs-revision 1.7)
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex
|
||||
File: pgfcorearrows.code.tex 2007/06/07 (rcs-revision 1.8)
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex
|
||||
File: pgfcoreshade.code.tex 2007/12/10 (rcs-revision 1.9)
|
||||
\pgf@max=\dimen136
|
||||
\pgf@sys@shading@range@num=\count98
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex
|
||||
File: pgfcoreimage.code.tex 2008/01/15 (rcs-revision 1.1)
|
||||
\pgfexternal@startupbox=\box30
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex
|
||||
File: pgfcorelayers.code.tex 2008/01/15 (rcs-revision 1.1)
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcoretransparency.code.tex
|
||||
File: pgfcoretransparency.code.tex 2008/01/17 (rcs-revision 1.2)
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex
|
||||
File: pgfcorepatterns.code.tex 2008/01/15 (rcs-revision 1.1)
|
||||
)))
|
||||
(/usr/share/texmf/tex/generic/pgf/modules/pgfmoduleshapes.code.tex
|
||||
File: pgfmoduleshapes.code.tex 2008/02/13 (rcs-revision 1.4)
|
||||
\pgfnodeparttextbox=\box31
|
||||
\toks@savedmacro=\toks19
|
||||
)
|
||||
(/usr/share/texmf/tex/generic/pgf/modules/pgfmoduleplot.code.tex
|
||||
File: pgfmoduleplot.code.tex 2008/01/15 (rcs-revision 1.1)
|
||||
\pgf@plotwrite=\write3
|
||||
)
|
||||
(/usr/share/texmf/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty
|
||||
Package: pgfcomp-version-0-65 2007/07/03 v2.00 (rcs-revision 1.7)
|
||||
\pgf@nodesepstart=\dimen137
|
||||
\pgf@nodesepend=\dimen138
|
||||
)
|
||||
(/usr/share/texmf/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty
|
||||
Package: pgfcomp-version-1-18 2007/07/23 v2.00 (rcs-revision 1.1)
|
||||
))
|
||||
(/usr/share/texmf/tex/latex/pgf/utilities/pgffor.sty
|
||||
(/usr/share/texmf/tex/generic/pgf/utilities/pgffor.code.tex
|
||||
Package: pgffor 2007/11/07 v2.00 (rcs-revision 1.8)
|
||||
\pgffor@iter=\dimen139
|
||||
\pgffor@skip=\dimen140
|
||||
))
|
||||
(/usr/share/texmf/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex
|
||||
Package: tikz 2008/02/13 v2.00 (rcs-revision 1.27)
|
||||
|
||||
(/usr/share/texmf/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex
|
||||
File: pgflibraryplothandlers.code.tex 2007/03/09 v2.00 (rcs-revision 1.9)
|
||||
\pgf@plot@mark@count=\count99
|
||||
\pgfplotmarksize=\dimen141
|
||||
)
|
||||
\tikz@lastx=\dimen142
|
||||
\tikz@lasty=\dimen143
|
||||
\tikz@lastxsaved=\dimen144
|
||||
\tikz@lastysaved=\dimen145
|
||||
\tikzleveldistance=\dimen146
|
||||
\tikzsiblingdistance=\dimen147
|
||||
\tikz@figbox=\box32
|
||||
\tikz@tempbox=\box33
|
||||
\tikztreelevel=\count100
|
||||
\tikznumberofchildren=\count101
|
||||
\tikznumberofcurrentchild=\count102
|
||||
\tikz@fig@count=\count103
|
||||
|
||||
(/usr/share/texmf/tex/generic/pgf/modules/pgfmodulematrix.code.tex
|
||||
File: pgfmodulematrix.code.tex 2008/01/15 (rcs-revision 1.1)
|
||||
\pgfmatrixcurrentrow=\count104
|
||||
\pgfmatrixcurrentcolumn=\count105
|
||||
\pgf@matrix@numberofcolumns=\count106
|
||||
)
|
||||
\tikz@expandcount=\count107
|
||||
|
||||
(/usr/share/texmf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopat
|
||||
hs.code.tex
|
||||
File: tikzlibrarytopaths.code.tex 2008/01/09 v2.00 (rcs-revision 1.1)
|
||||
))) (/usr/share/texmf-texlive/tex/latex/amsfonts/amsfonts.sty
|
||||
Package: amsfonts 2001/10/25 v2.2f
|
||||
\@emptytoks=\toks20
|
||||
\symAMSa=\mathgroup4
|
||||
\symAMSb=\mathgroup5
|
||||
LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold'
|
||||
(Font) U/euf/m/n --> U/euf/b/n on input line 132.
|
||||
)
|
||||
(/usr/share/texmf-texlive/tex/latex/amsmath/amsmath.sty
|
||||
Package: amsmath 2000/07/18 v2.13 AMS math features
|
||||
\@mathmargin=\skip52
|
||||
|
||||
For additional information on amsmath, use the `?' option.
|
||||
(/usr/share/texmf-texlive/tex/latex/amsmath/amstext.sty
|
||||
Package: amstext 2000/06/29 v2.01
|
||||
|
||||
(/usr/share/texmf-texlive/tex/latex/amsmath/amsgen.sty
|
||||
File: amsgen.sty 1999/11/30 v2.0
|
||||
\@emptytoks=\toks21
|
||||
\ex@=\dimen148
|
||||
))
|
||||
(/usr/share/texmf-texlive/tex/latex/amsmath/amsbsy.sty
|
||||
Package: amsbsy 1999/11/29 v1.2d
|
||||
\pmbraise@=\dimen149
|
||||
)
|
||||
(/usr/share/texmf-texlive/tex/latex/amsmath/amsopn.sty
|
||||
Package: amsopn 1999/12/14 v2.01 operator names
|
||||
)
|
||||
\inf@bad=\count108
|
||||
LaTeX Info: Redefining \frac on input line 211.
|
||||
\uproot@=\count109
|
||||
\leftroot@=\count110
|
||||
LaTeX Info: Redefining \overline on input line 307.
|
||||
\classnum@=\count111
|
||||
\DOTSCASE@=\count112
|
||||
LaTeX Info: Redefining \ldots on input line 379.
|
||||
LaTeX Info: Redefining \dots on input line 382.
|
||||
LaTeX Info: Redefining \cdots on input line 467.
|
||||
\Mathstrutbox@=\box34
|
||||
\strutbox@=\box35
|
||||
\big@size=\dimen150
|
||||
LaTeX Font Info: Redeclaring font encoding OML on input line 567.
|
||||
LaTeX Font Info: Redeclaring font encoding OMS on input line 568.
|
||||
\macc@depth=\count113
|
||||
\c@MaxMatrixCols=\count114
|
||||
\dotsspace@=\muskip10
|
||||
\c@parentequation=\count115
|
||||
\dspbrk@lvl=\count116
|
||||
\tag@help=\toks22
|
||||
\row@=\count117
|
||||
\column@=\count118
|
||||
\maxfields@=\count119
|
||||
\andhelp@=\toks23
|
||||
\eqnshift@=\dimen151
|
||||
\alignsep@=\dimen152
|
||||
\tagshift@=\dimen153
|
||||
\tagwidth@=\dimen154
|
||||
\totwidth@=\dimen155
|
||||
\lineht@=\dimen156
|
||||
\@envbody=\toks24
|
||||
\multlinegap=\skip53
|
||||
\multlinetaggap=\skip54
|
||||
\mathdisplay@stack=\toks25
|
||||
LaTeX Info: Redefining \[ on input line 2666.
|
||||
LaTeX Info: Redefining \] on input line 2667.
|
||||
)
|
||||
(/usr/share/texmf-texlive/tex/latex/amscls/amsthm.sty
|
||||
Package: amsthm 2004/08/06 v2.20
|
||||
\thm@style=\toks26
|
||||
\thm@bodyfont=\toks27
|
||||
\thm@headfont=\toks28
|
||||
\thm@notefont=\toks29
|
||||
\thm@headpunct=\toks30
|
||||
\thm@preskip=\skip55
|
||||
\thm@postskip=\skip56
|
||||
\thm@headsep=\skip57
|
||||
\dth@everypar=\toks31
|
||||
) (../style.tex
|
||||
LaTeX Font Info: Redeclaring symbol font `AMSb' on input line 34.
|
||||
LaTeX Font Info: Overwriting symbol font `AMSb' in version `normal'
|
||||
(Font) U/msb/m/n --> U/msb/m/n on input line 34.
|
||||
LaTeX Font Info: Overwriting symbol font `AMSb' in version `bold'
|
||||
(Font) U/msb/m/n --> U/msb/m/n on input line 34.
|
||||
\c@examplec=\count120
|
||||
\c@definitionc=\count121
|
||||
\c@summaryc=\count122
|
||||
\c@example=\count123
|
||||
\c@definition=\count124
|
||||
)
|
||||
(./paper.aux)
|
||||
\openout1 = `paper.aux'.
|
||||
|
||||
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 11.
|
||||
LaTeX Font Info: ... okay on input line 11.
|
||||
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 11.
|
||||
LaTeX Font Info: ... okay on input line 11.
|
||||
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 11.
|
||||
LaTeX Font Info: ... okay on input line 11.
|
||||
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 11.
|
||||
LaTeX Font Info: ... okay on input line 11.
|
||||
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 11.
|
||||
LaTeX Font Info: ... okay on input line 11.
|
||||
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 11.
|
||||
LaTeX Font Info: ... okay on input line 11.
|
||||
(/usr/share/texmf/tex/context/base/supp-pdf.tex
|
||||
[Loading MPS to PDF converter (version 2006.09.02).]
|
||||
\scratchcounter=\count125
|
||||
\scratchdimen=\dimen157
|
||||
\scratchbox=\box36
|
||||
\nofMPsegments=\count126
|
||||
\nofMParguments=\count127
|
||||
\everyMPshowfont=\toks32
|
||||
\MPscratchCnt=\count128
|
||||
\MPscratchDim=\dimen158
|
||||
\MPnumerator=\count129
|
||||
\everyMPtoPDFconversion=\toks33
|
||||
)
|
||||
LaTeX Font Info: Try loading font information for U+msa on input line 20.
|
||||
(/usr/share/texmf-texlive/tex/latex/amsfonts/umsa.fd
|
||||
File: umsa.fd 2002/01/19 v2.2g AMS font definitions
|
||||
)
|
||||
LaTeX Font Info: Try loading font information for U+msb on input line 20.
|
||||
|
||||
(/usr/share/texmf-texlive/tex/latex/amsfonts/umsb.fd
|
||||
File: umsb.fd 2002/01/19 v2.2g AMS font definitions
|
||||
) (./standards_paper.tex)
|
||||
No file paper.bbl.
|
||||
[1
|
||||
|
||||
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] (./paper.aux) )
|
||||
Here is how much of TeX's memory you used:
|
||||
8154 strings out of 95086
|
||||
137506 string characters out of 1183256
|
||||
183820 words of memory out of 1500000
|
||||
11159 multiletter control sequences out of 10000+50000
|
||||
9805 words of font info for 37 fonts, out of 1200000 for 2000
|
||||
28 hyphenation exceptions out of 8191
|
||||
47i,6n,49p,350b,196s stack positions out of 5000i,500n,6000p,200000b,5000s
|
||||
</usr/share
|
||||
/texmf-texlive/fonts/type1/bluesky/cm/cmbx12.pfb></usr/share/texmf-texlive/font
|
||||
s/type1/bluesky/cm/cmbx9.pfb></usr/share/texmf-texlive/fonts/type1/bluesky/cm/c
|
||||
mr10.pfb></usr/share/texmf-texlive/fonts/type1/bluesky/cm/cmr12.pfb></usr/share
|
||||
/texmf-texlive/fonts/type1/bluesky/cm/cmr17.pfb></usr/share/texmf-texlive/fonts
|
||||
/type1/bluesky/cm/cmr9.pfb>
|
||||
Output written on paper.pdf (1 page, 42142 bytes).
|
||||
PDF statistics:
|
||||
33 PDF objects out of 1000 (max. 8388607)
|
||||
0 named destinations out of 1000 (max. 131072)
|
||||
13 words of extra memory for PDF output out of 10000 (max. 10000000)
|
||||
|
BIN
standards/paper.pdf
Normal file
BIN
standards/paper.pdf
Normal file
Binary file not shown.
27
standards/paper.tex
Normal file
27
standards/paper.tex
Normal file
@ -0,0 +1,27 @@
|
||||
|
||||
\documentclass[a4paper,10pt]{article}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{fancyhdr}
|
||||
\usepackage{tikz}
|
||||
\usepackage{amsfonts,amsmath,amsthm}
|
||||
\input{../style}
|
||||
|
||||
%\newtheorem{definition}{Definition:}
|
||||
|
||||
\begin{document}
|
||||
\pagestyle{fancy}
|
||||
|
||||
\outerhead{{\small\bf Safety Critical Standards Review}}
|
||||
%\innerfoot{{\small\bf R.P. Clark } }
|
||||
% numbers at outer edges
|
||||
\pagenumbering{arabic} % Arabic page numbers hereafter
|
||||
\author{R.P.Clark}
|
||||
\title{Safety Critical Standards Review}
|
||||
\maketitle
|
||||
\input{standards_paper}
|
||||
|
||||
\bibliographystyle{plain}
|
||||
\bibliography{vmgbibliography,mybib}
|
||||
|
||||
\today
|
||||
\end{document}
|
434
standards/pt100.tex
Normal file
434
standards/pt100.tex
Normal file
@ -0,0 +1,434 @@
|
||||
%
|
||||
% Make the revision and doc number macro's then they are defined in one place
|
||||
|
||||
\begin{abstract}
|
||||
The PT100, or platinum wire \ohms{100} sensor is
|
||||
a widely used industrial temperature sensor that is
|
||||
slowly replacing the use of thermocouples in many
|
||||
industrial applications below 600\oc, due to high accuracy\cite{aoe}.
|
||||
|
||||
This chapter looks at the most common configuration, the
|
||||
four wire circuit, and analyses it from an FMEA perspective twice.
|
||||
Once considering single faults (cardinality constrained powerset of 1) and then again, considering the
|
||||
possibility of double faults (cardinality constrained powerset of 2).
|
||||
|
||||
The analysis is performed using Propositional Logic
|
||||
diagrams to assist the reasoning process.
|
||||
This chapter describes taking
|
||||
the failure modes of the components, analysing the circuit using FMEA
|
||||
and producing a failure mode model for the circuit as a whole.
|
||||
Thus after the analysis the PT100 temperature sensing circuit, may be veiwed
|
||||
from an FMEA persepective as a component itself, with a set of known failure modes.
|
||||
|
||||
\end{abstract}
|
||||
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=400pt,bb=0 0 714 180,keepaspectratio=true]{./pt100/pt100.jpg}
|
||||
% pt100.jpg: 714x180 pixel, 72dpi, 25.19x6.35 cm, bb=0 0 714 180
|
||||
\caption{PT100 four wire circuit}
|
||||
\label{fig:pt100}
|
||||
\end{figure}
|
||||
|
||||
|
||||
\section{Overview of PT100 four wire circuit}
|
||||
|
||||
The PT100 four wire circuit uses two wires to supply small electrical current,
|
||||
and returns two sense volages by the other two.
|
||||
By measuring volatges
|
||||
from sections of this circuit forming potential dividers, we can determine the
|
||||
resistance of the platinum wire sensor. The resistance
|
||||
of this is directly related to temperature, and may be determined by
|
||||
look-up tables or a suitable polynomial expression.
|
||||
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=150pt,bb=0 0 273 483,keepaspectratio=true]{./pt100/vrange.jpg}
|
||||
% pt100.jpg: 714x180 pixel, 72dpi, 25.19x6.35 cm, bb=0 0 714 180
|
||||
\caption{PT100 expected voltage ranges}
|
||||
\label{fig:pt100vrange}
|
||||
\end{figure}
|
||||
|
||||
|
||||
The voltage ranges we expect from this three stage potential divider
|
||||
are shown in figure \ref{fig:pt100vrange}. Note that there is
|
||||
an expected range for each reading, for a given temperature span.
|
||||
Note that the low reading goes down as temperature increases, and the higher reading goes up.
|
||||
For this reason the low reading will be reffered to as {\em sense-}
|
||||
and the higher as {\em sense+}.
|
||||
|
||||
\subsection{Accuracy despite variable \\ resistance in cables}
|
||||
|
||||
For electronic and accuracy reasons a four wire circuit is preffered
|
||||
because of resistance in the cables. Resistance from the supply
|
||||
causes a slight voltage
|
||||
drop in the supply to the PT100. As no significant current
|
||||
is carried by the two `sense' lines the resistance back to the ADC
|
||||
causes only a negligible voltage drop, and thus the four wire
|
||||
configuration is more accurate.
|
||||
|
||||
\subsection{Calculating Temperature from \\ the sense line voltages}
|
||||
|
||||
The current flowing though the
|
||||
whole circuit can be measured on the PCB by reading a third
|
||||
sense voltage from one of the load resistors. Knowing the current flowing
|
||||
through the circuit
|
||||
and knowing the voltage drop over the PT100, we can calculate its
|
||||
resistance by ohms law $V=I.R$, $R=\frac{V}{I}$.
|
||||
Thus a little loss of supply current due to resistance in the cables
|
||||
does not impinge on accuracy.
|
||||
The resistance to temperature conversion is achieved
|
||||
through the published PT100 tables\cite{eurothermtables}.
|
||||
|
||||
\section{Safety case for 4 wire circuit}
|
||||
|
||||
This sub-section looks at the behaviour of the PT100 four wire circuit
|
||||
for the effects of component failures.
|
||||
All components have a set of known `failure modes'.
|
||||
In other words we know that a given component can fail in several distinct ways.
|
||||
Studies have been published which list common component types
|
||||
and their sets of failure modes, often with MTTF statistics \cite{mil1991}.
|
||||
Thus for each component, an analysis is made for each of it failure modes,
|
||||
with respect to its effect on the
|
||||
circuit. Each one of these scenarios is termed a `test case'.
|
||||
The resultant circuit behaviour for each of these test cases is noted.
|
||||
The worst case for this type of
|
||||
analysis would be a fault that we cannot detect.
|
||||
Where this occurs a circuit re-design is probably the only sensible course of action.
|
||||
|
||||
|
||||
|
||||
\subsection{Single Fault FMEA Analysis \\ of PT100 Four wire circuit}
|
||||
|
||||
\label{fmea}
|
||||
This circuit simply consists of three resistors.
|
||||
Resistors according to the DOD Electronic component fault handbook
|
||||
1991, fail by either going OPEN or SHORT circuit \cite{mil1991}.
|
||||
%Should wires become disconnected these will have the same effect as
|
||||
%given resistors going open.
|
||||
For the purpose of this analyis;
|
||||
$R_{1}$ is the \ohms{2k2} from 5V to the thermistor,
|
||||
$R_3$ is the PT100 thermistor and $R_{2}$ connects the thermistor to ground.
|
||||
|
||||
We can define the terms `High Fault' and `Low Fault' here, with reference to figure
|
||||
\ref{fig:pt100vrange}. Should we get a reading outside the safe green zone
|
||||
in the diagram we can consider this a fault.
|
||||
Should the reading be above its expected range this is a `High Fault'
|
||||
and if below a `Low Fault'.
|
||||
|
||||
Table \ref{ptfmea} plays through the scenarios of each of the resistors failing
|
||||
in both SHORT and OPEN failure modes, and hypothesises an error condition in the readings.
|
||||
The range {0\oc} to {300\oc} will be analysed using potential divider equations to
|
||||
determine out of range voltage limits in section \ref{ptbounds}.
|
||||
|
||||
\begin{table}[ht]
|
||||
\caption{PT100 FMEA Single Faults} % title of Table
|
||||
\centering % used for centering table
|
||||
\begin{tabular}{||l|c|c|l|l||}
|
||||
\hline \hline
|
||||
\textbf{Test} & \textbf{Result} & \textbf{Result } & \textbf{General} \\
|
||||
\textbf{Case} & \textbf{sense +} & \textbf{sense -} & \textbf{Symtom Description} \\
|
||||
% R & wire & res + & res - & description
|
||||
\hline
|
||||
\hline
|
||||
$R_1$ SHORT & High Fault & - & Value Out of Range Value \\ \hline
|
||||
$R_1$ OPEN & Low Fault & Low Fault & Both values out of range \\ \hline
|
||||
\hline
|
||||
$R_3$ SHORT & Low Fault & High Fault & Both values out of range \\ \hline
|
||||
$R_3$ OPEN & High Fault & Low Fault & Both values out of range \\ \hline
|
||||
\hline
|
||||
$R_2$ SHORT & - & Low Fault & Value Out of Range Value \\
|
||||
$R_2$ OPEN & High Fault & High Fault & Both values out of range \\ \hline
|
||||
\hline
|
||||
\end{tabular}
|
||||
\label{ptfmea}
|
||||
\end{table}
|
||||
|
||||
From table \ref{ptfmea} it can be seen that any component failure in the circuit
|
||||
should cause a common symptom, that of one or more of the values being `out of range'.
|
||||
Temperature range calculations and detailed calculations
|
||||
on the effects of each test case are found in section \ref{pt100range}
|
||||
and \ref{pt100temp}.
|
||||
|
||||
|
||||
|
||||
\subsection{Range and PT100 Calculations}
|
||||
\label{pt100temp}
|
||||
PT100 resistors are designed to
|
||||
have a resistance of \ohms{100} at {0\oc} \cite{aoe},\cite{eurothermtables}.
|
||||
A suitable `wider than to be expected range' was considered to be {0\oc} to {300\oc}
|
||||
for a given application.
|
||||
According to the Eurotherm PT100
|
||||
tables \cite{eurothermtables}, this corresponded to the resistances \ohms{100}
|
||||
and \ohms{212.02} respectively. From this the potential divider circuit can be
|
||||
analysed and the maximum and minimum acceptable voltages determined.
|
||||
These can be used as bounds results to apply the findings from the
|
||||
PT100 FMEA analysis in section \ref{fmea}.
|
||||
|
||||
As the PT100 forms a potential divider with the \ohms{2k2} load resistors,
|
||||
the upper and lower readings can be calculated thus:
|
||||
|
||||
|
||||
$$ highreading = 5V.\frac{2k2+pt100}{2k2+2k2+pt100} $$
|
||||
$$ lowreading = 5V.\frac{2k2}{2k2+2k2+pt100} $$
|
||||
So by defining an acceptable measurement/temperature range,
|
||||
and ensuring the
|
||||
values are always within these bounds we can be confident that none of the
|
||||
resistors in this circuit has failed.
|
||||
|
||||
To convert these to twelve bit ADC (\adctw) counts:
|
||||
|
||||
$$ highreading = 2^{12}.\frac{2k2+pt100}{2k2+2k2+pt100} $$
|
||||
$$ lowreading = 2^{12}.\frac{2k2}{2k2+2k2+pt100} $$
|
||||
|
||||
|
||||
\begin{table}[ht]
|
||||
\caption{PT100 Maximum and Minimum Values} % title of Table
|
||||
\centering % used for centering table
|
||||
\begin{tabular}{||c|c|c|l|l||}
|
||||
\hline \hline
|
||||
\textbf{Temperature} & \textbf{PT100 resistance} &
|
||||
\textbf{Lower} & \textbf{Higher} & \textbf{Description} \\
|
||||
\hline
|
||||
% {-100 \oc} & {\ohms{68.28}} & 2.46V & 2.53V & Boundary of \\
|
||||
% & & 2017\adctw & 2079\adctw & out of range LOW \\ \hline
|
||||
{0 \oc} & {\ohms{100}} & 2.44V & 2.56V & Boundary of \\
|
||||
& & 2002\adctw & 2094\adctw & out of range LOW \\ \hline
|
||||
{+300 \oc} & {\ohms{212.02}} & 2.38V & 2.62V & Boundary of \\
|
||||
& & 1954\adctw & 2142\adctw & out of range HIGH \\ \hline
|
||||
\hline
|
||||
\end{tabular}
|
||||
\label{ptbounds}
|
||||
\end{table}
|
||||
|
||||
Table \ref{ptbounds} gives ranges that determine correct operation. In fact it can be shown that
|
||||
for any single error (short or opening of any resistor) this bounds check
|
||||
will detect it.
|
||||
|
||||
|
||||
\section{Single Fault FMEA Analysis \\ of PT100 Four wire circuit}
|
||||
|
||||
\subsection{Single Fault Modes as PLD}
|
||||
|
||||
The component~failure~modes in table \ref{ptfmea} can be represented as contours
|
||||
on a PLD diagram.
|
||||
Each test case, is defined by the contours that enclose
|
||||
it. The test cases here deal with single faults only
|
||||
and are thus enclosed by one contour each.
|
||||
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=400pt,bb=0 0 518 365,keepaspectratio=true]{./pt100/pt100_tc.jpg}
|
||||
% pt100_tc.jpg: 518x365 pixel, 72dpi, 18.27x12.88 cm, bb=0 0 518 365
|
||||
\caption{PT100 Component Failure Modes}
|
||||
\label{fig:pt100_tc}
|
||||
\end{figure}
|
||||
|
||||
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
|
||||
valid voltage reading ranges by using the standard voltage divider equation \ref{eqn:vd}
|
||||
for the circuit shown in figure \ref{fig:vd}.
|
||||
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=100pt,bb=0 0 183 170,keepaspectratio=true]{./pt100/voltage_divider.png}
|
||||
% voltage_divider.png: 183x170 pixel, 72dpi, 6.46x6.00 cm, bb=0 0 183 170
|
||||
\caption{Voltage Divider}
|
||||
\label{fig:vd}
|
||||
\end{figure}
|
||||
%The looking at figure \ref{fig:vd} the standard voltage divider formula (equation \ref{eqn:vd}) is used.
|
||||
|
||||
\begin{equation}
|
||||
\label{eqn:vd}
|
||||
V_{out} = V_{in}.\frac{Z2}{Z2+Z1}
|
||||
\end{equation}
|
||||
|
||||
|
||||
|
||||
\subsection{Proof of Out of Range \\ Values for Failures}
|
||||
\label{pt110range}
|
||||
Using the temperature ranges defined above we can compare the voltages
|
||||
we would get from the resistor failures to prove that they are
|
||||
`out of range'. There are six test cases and each will be examined in turn.
|
||||
|
||||
\subsubsection{ TC1 : Voltages $R_1$ SHORT }
|
||||
With pt100 at 0\oc
|
||||
$$ highreading = 5V $$
|
||||
Since the highreading or sense+ is directly connected to the 5V rail,
|
||||
both temperature readings will be 5V..
|
||||
$$ lowreading = 5V.\frac{2k2}{2k2+100\Omega} = 4.78V$$
|
||||
With pt100 at the high end of the temperature range 300\oc.
|
||||
$$ highreading = 5V $$
|
||||
$$ lowreading = 5V.\frac{2k2}{2k2+212.02\Omega} = 4.56V$$
|
||||
|
||||
Thus with $R_1$ shorted both readingare outside the
|
||||
proscribed range in table \ref{ptbounds}.
|
||||
|
||||
\subsubsection{ TC2 : Voltages $R_1$ OPEN }
|
||||
|
||||
In this case the 5V rail is disconnected. All voltages read are 0V, and
|
||||
therefore both readings are outside the
|
||||
proscribed range in table \ref{ptbounds}.
|
||||
|
||||
|
||||
\subsubsection{ TC 3 : Voltages $R_2$ SHORT }
|
||||
|
||||
With pt100 at 0\oc
|
||||
$$ lowreading = 0V $$
|
||||
Since the lowreading or sense- is directly connected to the 0V rail,
|
||||
both temperature readings will be 0V.
|
||||
$$ lowreading = 5V.\frac{100\Omega}{2k2+100\Omega} = 0.218V$$
|
||||
With pt100 at the high end of the temperature range 300\oc.
|
||||
$$ highreading = 5V $$
|
||||
$$ lowreading = 5V.\frac{212.02\Omega}{2k2+212.02\Omega} = 0.44V$$
|
||||
|
||||
Thus with $R_2$ shorted both readings are outside the
|
||||
proscribed range in table \ref{ptbounds}.
|
||||
|
||||
\subsubsection{ TC : 4 Voltages $R_2$ OPEN }
|
||||
Here there is no potential divider operating and both sense lines
|
||||
will read 5V, outside of the proscribed range.
|
||||
|
||||
|
||||
\subsubsection{ TC 5 : Voltages $R_3$ SHORT }
|
||||
|
||||
Here the potential divider is simply between
|
||||
the two 2k2 load resistors. Thus it will read a nominal;
|
||||
2.5V.
|
||||
|
||||
Assuming the load resistors are
|
||||
precision components, and then taking an absolute worst case of 1\% either way.
|
||||
|
||||
$$ 5V.\frac{2k2*0.99}{2k2*1.01+2k2*0.99} = 2.475V $$
|
||||
|
||||
$$ 5V.\frac{2k2*1.01}{2k2*1.01+2k2*0.99} = 2.525V $$
|
||||
|
||||
These readings both lie outside the proscribed range.
|
||||
Also the sense+ and sense- readings would have the same value.
|
||||
|
||||
\subsubsection{ TC 6 : Voltages $R_3$ OPEN }
|
||||
|
||||
Here the potential divider is broken. The sense- will read 0V and the sense+ will
|
||||
read 5V. Both readings are outside the proscribed range.
|
||||
|
||||
\subsection{Summary of Analysis}
|
||||
|
||||
All six test cases have been analysed and the results agree with the hypothesis
|
||||
put in Table \ref{ptfmea}. The PLD diagram, can now be used to collect the
|
||||
symptoms. In this case there is a common and easily detected symptom for all these single
|
||||
resistor faults : Voltage out of range.
|
||||
|
||||
A spider can be drawn on the PLD diagram to this effect.
|
||||
|
||||
In practical use, by defining an acceptable measurement/temperature range,
|
||||
and ensuring the
|
||||
values are always within these bounds we can be confident that none of the
|
||||
resistors in this circuit has failed.
|
||||
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=400pt,bb=0 0 518 365,keepaspectratio=true]{./pt100/pt100_tc_sp.jpg}
|
||||
% pt100_tc.jpg: 518x365 pixel, 72dpi, 18.27x12.88 cm, bb=0 0 518 365
|
||||
\caption{PT100 Component Failure Modes}
|
||||
\label{fig:pt100_tc_sp}
|
||||
\end{figure}
|
||||
|
||||
|
||||
The PT100 circuit can now be treated as a component in its own right, and has one failure mode,
|
||||
{\textbf OUT\_OF\_RANGE}. It can now be represnted as a PLD see figure \ref{fig:pt100_singlef}.
|
||||
|
||||
\begin{figure}[h]
|
||||
\centering
|
||||
\includegraphics[width=100pt,bb=0 0 167 194,keepaspectratio=true]{./pt100/pt100_singlef.jpg}
|
||||
% pt100_singlef.jpg: 167x194 pixel, 72dpi, 5.89x6.84 cm, bb=0 0 167 194
|
||||
\caption{PT100 Circuit Failure Modes : From Single Faults Analysis}
|
||||
\label{fig:pt100_singlef}
|
||||
\end{figure}
|
||||
|
||||
|
||||
|
||||
|
||||
%Interestingly we can calculate the failure statistics for this circuit now.
|
||||
%Mill 1991 gives resistor stats of ${10}^{11}$ times 6 (can we get special stats for pt100) ???
|
||||
\clearpage
|
||||
\subsection{Mean Time to Failure}
|
||||
|
||||
Using the MIL1991\cite{mil1991} specifications for resistor and thermistor
|
||||
failure statistics we calculate the reliability of this circuit.
|
||||
MIL1991 gives MTTF for a wide range of common components.
|
||||
It does not specify how the components will fail (in this case OPEN or SHORT). {Some standards, notably EN298 only consider resistors failing in OPEN mode}.
|
||||
FMD-97 Gives 27\% OPEN and 3\% SHORTED, for resistors under certain electrical and environmental stresses. This example
|
||||
compromises and uses a 90:10 ratio, for resistor failure.
|
||||
Thus for this example resistors are expevcted to fail OPEN in 90\% of cases and SHORTED
|
||||
in the other 10\%.
|
||||
|
||||
A standard fixed film resistor, for use in a benign environment, non military spec at
|
||||
temperatures up to 60\oc is given a probability of 13.8 failures per billion ($10^9$)
|
||||
hours of operation. This figure is referred to as a FIT\footnote{FIT values are measured as the number of failures per billion hours of operation, (roughly 1.1 Million years). The smaller the FIT number the more reliable the fault~mode}, Failure in time.
|
||||
|
||||
A thermistor, bead type, non military spec is given a FIT of 3150.
|
||||
|
||||
Using the RIAC finding we can draw up the following table (table \ref{tab:stat_single}),
|
||||
showing the FIT values for all faults considered.
|
||||
|
||||
|
||||
|
||||
\begin{table}[h+]
|
||||
\caption{PT100 FMEA Single // Fault Statistics} % title of Table
|
||||
\centering % used for centering table
|
||||
\begin{tabular}{||l|c|c|l|l||}
|
||||
\hline \hline
|
||||
\textbf{Test} & \textbf{Result} & \textbf{Result } & \textbf{MTTF} \\
|
||||
\textbf{Case} & \textbf{sense +} & \textbf{sense -} & \textbf{per $10^9$ hours of operation} \\
|
||||
% R & wire & res + & res - & description
|
||||
\hline
|
||||
\hline
|
||||
TC:1 $R_1$ SHORT & High Fault & - & 12.42 \\ \hline
|
||||
TC:2 $R_1$ OPEN & Low Fault & Low Fault & 1.38 \\ \hline
|
||||
\hline
|
||||
TC:3 $R_3$ SHORT & Low Fault & High Fault & 2835 \\ \hline
|
||||
TC:4 $R_3$ OPEN & High Fault & Low Fault & 315 \\ \hline
|
||||
\hline
|
||||
TC:5 $R_2$ SHORT & - & Low Fault & 12.42 \\
|
||||
TC:6 $R_2$ OPEN & High Fault & High Fault & 1.38 \\ \hline
|
||||
\hline
|
||||
\end{tabular}
|
||||
\label{tab:stat_single}
|
||||
\end{table}
|
||||
|
||||
The FIT for the circuit as a whole is the sum of MTTF values for all the
|
||||
test cases. The PT100 circuit here has a FIT of 3177.6. This is a MTTF of
|
||||
about 360 years per circuit.
|
||||
|
||||
A Probablistic tree can now be drawn, with a FIT value for the PT100
|
||||
circuit and FIT values for all the component fault modes that it was calculated from.
|
||||
We can see from this that that the most likely fault is the thermistor going OPEN.
|
||||
This circuit is 8 times more likely to fail in this way than in any other.
|
||||
Were we to need a more reliable temperature sensor this would probably
|
||||
be the fault~mode we would scrutinise first.
|
||||
|
||||
|
||||
\begin{figure}[h+]
|
||||
\centering
|
||||
\includegraphics[width=400pt,bb=0 0 856 327,keepaspectratio=true]{./pt100/stat_single.jpg}
|
||||
% stat_single.jpg: 856x327 pixel, 72dpi, 30.20x11.54 cm, bb=0 0 856 327
|
||||
\caption{Probablistic Fault Tree : PT100 Single Faults}
|
||||
\label{fig:stat_single}
|
||||
\end{figure}
|
||||
|
||||
|
||||
The PT100 analysis presents a simple result for single faults.
|
||||
The next analysis phase looks at how the circuit will behave under double simultaneous failure
|
||||
conditions.
|
||||
|
||||
\clearpage
|
||||
\section{ PT100 Double Simultaneous \\ Fault Analysis}
|
||||
|
||||
% typeset in {\Huge \LaTeX} \today
|
||||
|
30
standards/standards.tex
Normal file
30
standards/standards.tex
Normal file
@ -0,0 +1,30 @@
|
||||
%
|
||||
% Make the revision and doc number macro's then they are defined in one place
|
||||
|
||||
\begin{abstract}
|
||||
This chapter describes the legal frameworks and standards organisations
|
||||
that exist in Europe and North America.
|
||||
Some specific standards (that the author has experience with directly)
|
||||
are reviewed.
|
||||
\end{abstract}
|
||||
|
||||
|
||||
\section{Introduction}
|
||||
|
||||
\section{European Safety Standards Legal Framework}
|
||||
\section{North American Legal Framework}
|
||||
|
||||
Protection against being sued mainly ! UL - underwriters laboratories.... etc
|
||||
|
||||
\section{Cross Referencing}
|
||||
|
||||
Stabndards of ten reference other - i.e. EMC testing in EN298 refers toEN blah blah to level blah blah
|
||||
|
||||
|
||||
\section{EN298}
|
||||
|
||||
\section{UL1998}
|
||||
|
||||
\section{EN230}
|
||||
|
||||
\section{EN61508}
|
30
standards/standards_paper.tex
Normal file
30
standards/standards_paper.tex
Normal file
@ -0,0 +1,30 @@
|
||||
%
|
||||
% Make the revision and doc number macro's then they are defined in one place
|
||||
|
||||
\begin{abstract}
|
||||
This chapter describes the legal frameworks and standards organisations
|
||||
that exist in Europe and North America.
|
||||
Some specific standards (that the author has experience with directly)
|
||||
are reviewed.
|
||||
\end{abstract}
|
||||
|
||||
|
||||
\section{Introduction}
|
||||
|
||||
\section{European Safety Standards Legal Framework}
|
||||
\section{North American Legal Framework}
|
||||
|
||||
Protection against being sued mainly ! UL - underwriters laboratories.... etc
|
||||
|
||||
\section{Cross Referencing}
|
||||
|
||||
Stabndards of ten reference other - i.e. EMC testing in EN298 refers toEN blah blah to level blah blah
|
||||
|
||||
|
||||
\section{EN298}
|
||||
|
||||
\section{UL1998}
|
||||
|
||||
\section{EN230}
|
||||
|
||||
\section{EN61508}
|
@ -128,7 +128,7 @@ Software documentation for fmmd tool.
|
||||
\input{fzd/fzd}
|
||||
|
||||
\chapter{A detailed look at the safety systems required by industrial burner controller}
|
||||
%\input{indburner/indburner}
|
||||
\input{burner/burner}
|
||||
|
||||
%\chapter{FMMD tool : Algorithms and Euler Diagram Parsing}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user