From 6b1d3840292ecd486da65e78a98bcdd544a88b7c Mon Sep 17 00:00:00 2001 From: "Robin P. Clark" Date: Fri, 27 Sep 2013 23:58:19 +0100 Subject: [PATCH] wow in just before midnight. --- submission_thesis/CH1_introduction/copy.tex | 8 ++-- submission_thesis/CH2_FMEA/copy.tex | 42 +++++++++--------- submission_thesis/CH3_FMEA_criticism/copy.tex | 6 +-- submission_thesis/CH4_FMMD/copy.tex | 14 +++--- .../CH5_Examples/circuit4004.png | Bin 14883 -> 18070 bytes submission_thesis/CH5_Examples/copy.tex | 40 ++++++++--------- .../CH6_Software_Examples/software.tex | 23 +++++++--- submission_thesis/CH7_Evaluation/copy.tex | 27 +++++------ .../appendixes/detailed_analysis.tex | 8 ++-- submission_thesis/colophon/copy.tex | 2 +- 10 files changed, 89 insertions(+), 81 deletions(-) diff --git a/submission_thesis/CH1_introduction/copy.tex b/submission_thesis/CH1_introduction/copy.tex index 7f8a393..a3eb29f 100644 --- a/submission_thesis/CH1_introduction/copy.tex +++ b/submission_thesis/CH1_introduction/copy.tex @@ -102,7 +102,7 @@ In chapter~\ref{sec:chap4}, a new methodology is proposed which addresses the st and using contract programmed software, allows the modelling of integrated software/electrical systems. % -This is followed by two chapters showing examples of the new modular FMEA analysis technique (Failure Mode Modular De-Composition FMMD) +This is followed by two chapters showing examples of the new modular FMEA analysis technique (Failure Mode Modular De-Composition, FMMD) firstly looking at a variety of common electronic circuits and then at electronic/software hybrid systems. } @@ -136,7 +136,7 @@ industrial burners---the design team was faced with a new and daunting requireme Conformance to the latest European standard, EN298~\cite{en298}. % It appeared to ask for the impossible: -not only did it require the usual safety measures (self-checking of ROM and RAM, watchdog processors with separate clock sources, EMC and the +not only did it require the usual safety measures (self-checking of ROM and RAM, watchdog processors with separate clock sources, EMC testing and the triple fail safe control of valves), it had one new clause in it that had far reaching consequences. % It stated that in the event of a failure, where the controller had gone into a `lockout~state'--- a state where the controller @@ -168,8 +168,8 @@ analysis of identical circuitry was performed many times. \subsection{Modularising/De-Composing FMEA: Initial concepts.} % and augmenting this with concepts from Euler/Spider Diagrams.} % In the field of digital signal processing there is an algorithm that revolutionised -access to frequency analysis of digital samples called the Fast Fourier transform (FFT)~\cite{fftoriginal}. -This took the discrete Fourier transform (DFT), and applied de-composition to its +access to frequency analysis of digital samples called the Fast Fourier Transform (FFT)~\cite{fftoriginal}. +This took the Discrete Fourier Transform (DFT), and applied de-composition to its mesh of (often repeated) complex number calculations~\cite{fpodsadsp}[Ch.8]. % By doing this it broke the computing order of complexity down from having a polynomial %n exponential diff --git a/submission_thesis/CH2_FMEA/copy.tex b/submission_thesis/CH2_FMEA/copy.tex index e39c7ea..cdce081 100644 --- a/submission_thesis/CH2_FMEA/copy.tex +++ b/submission_thesis/CH2_FMEA/copy.tex @@ -98,7 +98,7 @@ These are termed `{\bcs}'; they are considered ``atomic'' i.e. they are not brok % The first requirement for a {\bc} is to define the ways in which it can fail, this relationship %between a {\bc} and its failure modes, -is shown in figure~\ref{fig:component_fm_rel}. +is shown, using UML, in figure~\ref{fig:component_fm_rel}. \fmmdglossBC %DIAGRAM of Base components and failure modes @@ -106,7 +106,7 @@ is shown in figure~\ref{fig:component_fm_rel}. \centering \includegraphics[width=300pt]{./CH2_FMEA/component_fm_rel.png} % component_fm_rel.png: 368x71 pixel, 72dpi, 12.98x2.50 cm, bb=0 0 368 71 - \caption{Base Component to Failure Modes relationship} + \caption{Base Component to Failure Modes relationship UML diagram} \label{fig:component_fm_rel} \end{figure} @@ -306,7 +306,7 @@ as listed below: % Note, that the main cause of resistor value drift is overloading. % of components. -This is borne out in the FMD-91~\cite{fmd91}[232] entry for a resistor network where the failure +This is borne out in the FMD-91~\cite{fmd91} entry for a resistor network where the failure modes do not include drift. % If it is ensured that resistors will not be exposed to overload conditions, the @@ -392,7 +392,7 @@ has an entry specific to operational amplifiers (FMD-91). EN298 does not specifically define the {\fms} of op-amps but instead has a procedure for determining the {\fms} of -components types not specifically listed in it. +components types not specifically listed. %in it. % Operational amplifiers are typically packaged in dual or quad configurations---meaning that a chip will typically contain two or four amplifiers. @@ -479,7 +479,7 @@ are examined and from this its {\fms} are determined. % that we got from FMD-91, listed in equation~\ref{eqn:opampfms}, except for % $LOW\_SLEW$. % -Collating the op-amp failure modes from table ~\ref{tbl:lm358} the same {\fms} +Collating the op-amp failure modes from table ~\ref{tbl:lm358}, the same {\fms} from FMD-91 are obtained---listed in equation~\ref{eqn:opampfms}---except for $LOW\_SLEW$. \fmmdglossOPAMP @@ -621,10 +621,7 @@ it and choosing the resistor R1 in the OP-AMP gain circuitry: % \includegraphics[width=175pt]{./mvamp.png} % % mvamp.png: 561x403 pixel, 72dpi, 19.79x14.22 cm, bb=0 0 561 403 % \end{figure} - - - - \paragraph{FMEA Example: Milli-volt reader} +%\paragraph{FMEA Example: Milli-volt reader} % \begin{figure} % \centering % \includegraphics[width=80pt]{./mvamp.png} @@ -733,7 +730,7 @@ the circuit behaviour is measured in finer granularity, until a faulty component or module~\cite{garrett} is identified. % With this style of fault finding, because it is based on experiment, -hopping from module to module eliminating working ones, until +hopping from module to module eliminating working ones, until a failure is found~\cite{maikowski}, is efficient in terms of concentrating effort. % @@ -747,7 +744,7 @@ FMEA is a theoretical discipline. %AF does not like this! It would be very unusual to build a circuit and then simulate component failure modes. % -This would be time consuming as it would involve building a circuit for each component {\fm} in +This would be time consuming as it would involve altering/building a circuit for each component {\fm} in the system\footnote{Building circuit simulations and simulating component failure modes would be a very time consuming process and might only be performed as a final-stage of accident investigation, where the cause is required to be proven.}. @@ -803,7 +800,7 @@ at mapping potential single component failures to system level faults/events. The concept of the unacceptability of a single component failure causing a system failure % catastrophe, is an important and easily understood measurement of safety. % -They are easy to calculate +Statistics for single failures are easy to calculate because Mean Time to Failure (MTTF) statistics~\cite{fmd91,mil1991} for commonly used components can be found. % Also, used in the design phase of a project, FMEA is a useful tool @@ -1389,7 +1386,7 @@ are actually met for given SIL levels is currently almost impossible~\cite{silsa \item \textbf{Safe or Dangerous.} Failure modes are classified SAFE or DANGEROUS. \item \textbf{Detectable failure modes.} Failure modes are given the attribute DETECTABLE or UNDETECTABLE. \item \textbf{Four attributes for FMEDA Failure Modes.} All failure modes may thus be Safe Detected(SD), Safe Undetected(SU), Dangerous Detected(DD), Dangerous Undetected(DU) - \item \textbf{Four statistical properties of a system.} the statistics for the four classifications of system failures are summed: \\ + \item \textbf{Four statistical properties of a system.} The statistics for the four classifications of system failures are summed: \\ $ \sum \lambda_{SD}$, $\sum \lambda_{SU}$, $\sum \lambda_{DD}$, $\sum \lambda_{DU}$. \\ \end{itemize} @@ -1461,7 +1458,7 @@ by statistically determining how frequently it can fail dangerously. % \label{sec:asil} % -The EN61508 variant for automotive use, as defined in standard ISO~26262, is known as the Automotive SIL (ASIL)~\cite{Kafka20122}. +The EN61508 variant for automotive use, as defined in standard ISO~26262, is known as Automotive SIL (ASIL)~\cite{Kafka20122}. % Safety instrumented functions (SIFs) for vehicles are assigned ASIL ratings. % @@ -1490,7 +1487,7 @@ have independent failure causes and implement redundancy. % for the SIF. % This is in effect a top down de-composition of safety requirements. % -This is rather like the demand for multiple engines on an aircraft +This is rather like the demand for multiple engines on aircraft that must make a long journeys over the sea to statistically limit the likelihood of one failure cause --- i.e. one engine failure --- causing a serious incident. % @@ -1526,7 +1523,7 @@ This could be considered as a design check method, deliberately looking for weaknesses at a theoretical level. % Because design FMEA meetings can have the format of a meeting and discussion -it can have the following drawbacks: +they can have the following drawbacks: %\subsection{DESIGN FMEA: Safety Critical Approvals FMEA} % % \begin{figure}[h] @@ -1540,7 +1537,7 @@ it can have the following drawbacks: \begin{itemize} \item Impossible to look at all component failures let alone apply FMEA exhaustively/rigorously, \item In practice, failure scenarios for critical sections are contested, and either justified or extra safety measures implemented, - \item Often meeting notes or minutes only: unusual for detailed technical arguments to be documented. + \item Often meeting notes or minutes only: it is unusual for detailed technical arguments to be documented. \end{itemize} % % @@ -1558,7 +1555,8 @@ it can have the following drawbacks: \end{figure} % Returning to the FMEA model, the data relationships shown in -figure~\ref{fig:component_fm_rel_ana} hold for the five variants of FMEA discussed. +figure~\ref{fig:component_fm_rel_ana} hold for the %five +variants of FMEA discussed. % This could be extended, if it is considered that the system level symptoms have subjective interpretations. @@ -1573,8 +1571,10 @@ These raise questions and are discussed below. For instance a given {\fm} will have its effect measured in relation to some of the components in the system. % -These components can be chosen by stipulating several criteria, -relating this to the signal path or adjacency in the electronic circuit, +% These components can be chosen by stipulating several criteria, +% relating this to the signal path or adjacency in the electronic circuit, +% potential strategies are listed below: +These components could be chosen by stipulating criteria relating to the signal path or adjacency in the electronic circuit, potential strategies are listed below: % \begin{itemize} @@ -1611,7 +1611,7 @@ However, %, as with the components that we should check against a {\fm}, %there are no guidelines for documenting the depth of description for reasoning stages in FMEA entries is in practise variable. %FMEA does not stipulat which -Ideally each FMEA entry would contain a reasoning description +Ideally each FMEA entry would contain a clear reasoning description for each {\fm}, so that the entry can be more easily reviewed or revisited/audited. % than a traditional FMEA report. % diff --git a/submission_thesis/CH3_FMEA_criticism/copy.tex b/submission_thesis/CH3_FMEA_criticism/copy.tex index 68a59a7..64c723a 100644 --- a/submission_thesis/CH3_FMEA_criticism/copy.tex +++ b/submission_thesis/CH3_FMEA_criticism/copy.tex @@ -83,7 +83,7 @@ This means that there is one analysis case per component failure mode for all th This analysis philosophy has not changed since FMEA was first used. -\subsection{FMEA does not support Traceable Reasoning} +\subsection{FMEA does not encourage Traceable Reasoning} An FMEA report normally assigns one line of a spreadsheet to each {\bc} {\fm}. % @@ -109,7 +109,7 @@ structures that are repeated. % The failure mode behaviour of these repeated structures will be the same. % -However with the {\bc} {\fm} to system level failure mode mapping paradigm of FMEA +However due to the {\bc} {\fm} to system level failure mode mapping paradigm of FMEA, work is likely to be repeated. \subsection{FMEA does not support modularity.} @@ -308,7 +308,7 @@ For instance, an AVO-8 multi-meter circa 1970, uses only analogue electronics an using FMEA how component failures within it could affect readings. % A modern multi-meter will have a small dedicated micro-processor and sensing electronics, all on the same chip, -with firmware to read the user controls, and display results on an LCD. +with firmware to read the user controls, and display results. % on an LCD. % For quality control, many safety critical processes require regular inspections and measurements of physical characteristics of materials and machinery. diff --git a/submission_thesis/CH4_FMMD/copy.tex b/submission_thesis/CH4_FMMD/copy.tex index 5b687e5..6011d48 100644 --- a/submission_thesis/CH4_FMMD/copy.tex +++ b/submission_thesis/CH4_FMMD/copy.tex @@ -88,7 +88,9 @@ with its own set of failure modes. % %This {\dc} has a set of failure modes: we can thus treat it as a `higher~level' component. % -Because a {\dc} has a set of failure modes we can use it in higher level {\fgs} +% Because a {\dc} has a set of failure modes we can use it in higher level {\fgs} +% which in turn produce higher level {\dcs}. +Because a {\dc} has a set of failure modes it can be used in higher level {\fgs} which in turn produce higher level {\dcs}. % These {\dcs} can be used to build further {\fgs} until a hierarchy of {\fgs} @@ -624,7 +626,7 @@ showing the choice of de-composition of the system into {\fgs} in figure~\ref{fi \includegraphics[width=300pt]{./CH4_FMMD/eulerfmmd.png} % eulerfmmd.png: 413x207 pixel, 72dpi, 14.57x7.30 cm, bb=0 0 413 207 \caption{FMMD analysis of the INVAMP represented as an Euler diagram, showing how -the components have been grouped into {\fgs} and then used as {\dcs} to build the analysis hierarchy.} +the components have been collected into {\fgs} and then used as {\dcs} to build the analysis hierarchy.} \label{fig:eulerfmmd} \end{figure} % @@ -707,7 +709,7 @@ as lowest level building blocks. In fact any lowest level building block with published failure modes could be considered to be a {\bc}, but this determination is the choice of the analyst, which may be influenced by the particular standard~\cite{en298}~\cite{en61508} %~\cite{en230} -to which the system is being approved/analyed. +to which the system is being approved/analysed. %a lowest level of assembly `part' or an atomic entity, which ever is the smaller %and component to mean either a part or a sub-assembly. @@ -797,7 +799,7 @@ the symptoms of failure of the {\fg} are the failure modes of this new `{\dc}'. An outline of the FMMD process is itemised below: \begin{itemize} \item Collect components to form a {\fg}, - \item Create failure cause `test~cases' for all failure modes of the components within the {\fg}, + \item Create `test~cases' for all failure modes of the components within the {\fg}, \item Analyse the effect of all the test~cases on the operation of the {\fg}, \item Determine the common failure modes of the {\fg}, \item Create and name a derived component for the {\fg}, @@ -808,7 +810,7 @@ An outline of the FMMD process is itemised below: \fmmdgloss \fmmdglossBC % -The FMMD process is described in using formal definitions and algorithms in section~\ref{sec:symptomabs}. +The FMMD process is described using formal definitions and algorithms in section~\ref{sec:symptomabs}. } %What components all have in common is that they can fail, and fail in a @@ -1113,7 +1115,7 @@ Thus, each possible cause for a system failure %{\fm} will have a collection of FMMD analysis reports associated with it. % These collections of analysis reports will provide a cause and effect -story for each possible scenario that could cause the system level failure. +story for each possible scenario that could lead to the system level failure. % Traceability of design processes are considered necessary for safety critical product~\cite{en61508} and is an important concept diff --git a/submission_thesis/CH5_Examples/circuit4004.png b/submission_thesis/CH5_Examples/circuit4004.png index 4dabff2fa234f78d46e8f83f3ce76000cfa7f6bd..968cfb1f3eb21938edf8b8c5551efdf1ac5506dd 100644 GIT binary patch literal 18070 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 literal 14883 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 Pe t +% << t .88 - 4.4 .88 - / 999 * >> +% >> +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \caption{Software Function: \cf{read\_4\_20\_input}} \label{fig:code_read_4_20_input} %\label{fig:420i} @@ -888,7 +895,7 @@ the inputs and outputs of the associated software functions are also defined. % The Yourdon methodology thus allows the refinement and modelling of a process from a data~flow perspective -defining software functions in its final stage. +defining software functions in its final stage (see figure~\ref{fig:contextsoftware}). %, and %this in terms of software functions. % @@ -1043,8 +1050,8 @@ $$fm (micro-controller) =\{ PROM\_FAULT, RAM\_FAULT, CPU\_FAULT, ALU\_FAULT, CLO \subsection{Temperature Controller Software Elements FMMD} Identified Software Components: \begin{itemize} - \item --- \cf{Monitor} (which calls PID algorithm and sets status LEDS), - \item --- \cf{PID} (which calls \cf{determine\_set\_point\_error} and \cf{output\_control}), + \item --- \cf{Monitor} (which calls \cf{PID},\cf{output\_control} and \cf{setLEDS}), + \item --- \cf{PID} (which calls \cf{determine\_set\_point\_error} ), \item --- \cf{determine\_set\_point\_error} (which calls \cf{convert\_ADC\_to\_T}), \item --- \cf{convert\_ADC\_to\_T} (which calls \cf{read\_ADC}), % which has been analysed as the {\dc} read\_ADC which can be re-used.} % from the last example), \item --- \cf{read\_ADC} (analysed in the previous section~\ref{sec:readadc}), @@ -1228,6 +1235,8 @@ apply the demanded power. A {\fg} with the Heating element, a PWM module and the \cf{output\_control} function is formed to model this branch of the efferent flow. % +This {\fg} is a hardware/software hybrid. +% FMMD analysis is applied to this {\fg} in table~\ref{tbl:heateroutput}. % For the \cf{output\_control} function, there is a pre-condition that the PWM module is @@ -1253,7 +1262,7 @@ adding a safety relay to cut the power to the heater). \centering \includegraphics[width=300pt]{./CH5_Examples/euler_heater_output.png} % euler_heater_output.png: 392x141 pixel, 72dpi, 13.83x4.97 cm, bb=0 0 392 141 - \caption{Euler diagram showing HeaterOutput with its two hardware components, PWM and HEATER, and its software component output\_control.} + \caption{Euler diagram showing HeaterOutput with its two hardware components, PWM and HEATER, and its software component \cf{output\_control}.} \label{fig:eulerheateroutput} \end{figure} % @@ -1350,7 +1359,7 @@ as an Euler diagram in figure~\ref{fig:euler_temp_controller}. \centering \includegraphics[width=400pt]{./CH5_Examples/euler_temp_controller.png} % euler_temp_controller.png: 714x251 pixel, 72dpi, 25.19x8.85 cm, bb=0 0 714 251 - \caption{Euler diagram of the temperature controller final analysis stage, showing the hybrid software/hardware {\dcs} and the function at the head of the call tree `monitor'.} + \caption{Euler diagram of the temperature controller final analysis stage, showing the hybrid software/hardware {\dcs} and the function at the head of the call tree \cf{monitor}.} \label{fig:euler_temp_controller} \end{figure} % diff --git a/submission_thesis/CH7_Evaluation/copy.tex b/submission_thesis/CH7_Evaluation/copy.tex index 51e59c5..2856916 100644 --- a/submission_thesis/CH7_Evaluation/copy.tex +++ b/submission_thesis/CH7_Evaluation/copy.tex @@ -154,7 +154,7 @@ $ | G | $. %, %\paragraph{Defining Components} $G$ is simply a sub-set of all possible components. % -The set of all components is $\mathcal{C}$; it can be can stated that is $G \subset \mathcal{C}$. +The set of all components is $\mathcal{C}$; it can be can stated that $G \subset \mathcal{C}$. % Individual components are denoted as $c$ with additional indexing where appropriate. @@ -228,7 +228,7 @@ An FMMD hierarchy consists of many {\fgs} which are subsets of $G$. FMMD analysis creates a hierarchy $\hh$ of {\fgs}. % where $\hh \subset \mathcal{FG}$. \fmmdgloss % -Individual {\fgs} can be defined using with an index +Individual {\fgs} can be defined using an index $i$ for identification and a superscript for the $\alpha$~level i.e. $FG^{\alpha}_{i}$ (see section~\ref{sec:alpha}). % %--- @@ -257,7 +257,7 @@ An FMMD hierarchy will have reducing numbers of {\fgs} as the hierarchy is trave In order to calculate its comparison~complexity, equation~\ref{eqn:CC} must be applied to all {\fgs} on each level. % -An FMMD hierarchy defined as a set of {\fgs}, $\hh$. +An FMMD hierarchy is defined as a set of {\fgs}, $\hh$. % We define a helper function $g$ with a domain of the level $Level$ in an FMMD hierarchy $\hh$, and a % co-domain of a set of {\fgs} (specifically all the {\fgs} on the given level), % that returns @@ -292,8 +292,8 @@ The comparison complexity function $CC$ is overloaded, to obtain the comparison \label{sec:theoreticalperfmodel} \fmmdglossRD %\pagebreak[4] -The amplifier example from chapter~\ref{sec:chap4}, which has two -stages, the potential divider and then the amplifier, is chosen as an example for comparison complexity. +The $NONINVAMP$ example from chapter~\ref{sec:chap4}, which has two +analysis stages, the potential divider and then the amplifier, is chosen as an example for comparison complexity. % The complexities are added from both these stages to determine how many reasoning paths there were to perform FMMD analysis on the @@ -313,7 +313,7 @@ number of reasoning paths to analyse the amplifier using FMMD. % The potential divider has a {\cc} of four and the amplifier section a {\cc} of six. % -To analyse the inverting amplifier with FMMD it required 10 reasoning stages. +To analyse the inverting amplifier with FMMD a {\cc} of 10 was required. % Using traditional FMEA employing exhaustive checking ({\XFMEA}) $ 2 \times (3-1) + 2 \times (3-1) + 4 \times (3-1) = 16$ was obtained. @@ -549,10 +549,10 @@ All the FMMD examples in chapters \ref{sec:chap5} and \ref{sec:chap6} showed a marked reduction in comparison complexity compared to {\XFMEA}. % worst case figures. % -To calculate {\XFMEA} comparison complexity equation~\ref{eqn:CC} is used. +To calculate {\XFMEA} the comparison complexity equation~\ref{eqn:CC} is used. % % -Complexity comparison vs. {\XFMEA} for the first three examples +Complexity comparison for FMMD vs. {\XFMEA} for the first three examples in chapter~\ref{sec:chap5} are presented in the following table~\ref{tbl:firstcc}. % %\usepackage{multirow} @@ -973,7 +973,7 @@ is no fault active in the functional~group under analysis.} and S itself. % The power-set concept is augmented here to deal with counting the number of -combinations of failures to consider, under the conditions of simultaneous failures. +combinations of failures to consider under the conditions of simultaneous failures. % In order to consider combinations for the set S where the number of elements in each subset of S is $N$ or less, a concept of the `cardinality constrained power-set' @@ -1018,11 +1018,8 @@ C^n_k = {n \choose k} = \frac{n!}{k!(n-k)!} . \end{equation} % To find the number of elements in a cardinality constrained subset S with up to $cc$ elements -in each combination sub-set, -sum the combinations must be added, -%subtracting $cc$ from the final result -%(repeated empty set counts) -from $1$ to $cc$ thus +in each combination sub-set, the sum of combinations must be added, +from $1$ to $cc$ thus: % % % $$ {\sum}_{k = 1..cc} {\#S \choose k} = \frac{\#S!}{k!(\#S-k)!} $$ @@ -1531,7 +1528,7 @@ in the power-supply {\fg}. %this raises another issue for FMMD. % A de-coupling capacitor going $OPEN$ might not be considered relevant to -a power-supply module (but there might be additional noise on its output rails). +a power-supply module (even though there might be additional noise on its output rails). % But in {\fg} terms, the power supply now has a new symptom, that of $INTERFERENCE$. % diff --git a/submission_thesis/appendixes/detailed_analysis.tex b/submission_thesis/appendixes/detailed_analysis.tex index b379f8d..415cc36 100644 --- a/submission_thesis/appendixes/detailed_analysis.tex +++ b/submission_thesis/appendixes/detailed_analysis.tex @@ -309,7 +309,7 @@ This section of the appendix contains FMEA tables for the {\sd}. FS5: $IC1$ $HIGH$ & & output perm. high & & HIGH \\ FS6: $IC1$ $LOW$ & & output perm. low & & LOW \\ \hline FS7: $IC1$ $NOOP$ & & no current to drive C1 & & NO\_INTEGRATION \\ - FS8: $IC1$ $LOW\_SLEW$ & & signal delay to C1 & & NO\_INTEGRATION \\ \hline + FS8: $IC1$ $LOW\_SLEW$ & & signal delay to C1 & & NO\_INTEGRATION \\ FS9: $C1$ $OPEN$ & & no capacitance & & NO\_INTEGRATION \\ FS10: $C1$ $SHORT$ & & no capacitance & & NO\_INTEGRATION \\ \hline @@ -497,7 +497,7 @@ $$ %\hline FS3: $DL2AL$ $LOW$ & & output perm. high & & $OUTPUT STUCK$ \\ FS4: $DL2AL$ $HIGH$ & & output perm. low & & $OUTPUT STUCK$ \\ - FS5: $DL2AL$ $LOW\_SLEW$ & & no current drive & & $LOW\_SLEW$ \\ \hline + FS5: $DL2AL$ $LOW\_SLEW$ & & slow reaction to input & & $LOW\_SLEW$ \\ \hline \hline @@ -584,7 +584,7 @@ FMMD analysis tables from chapter~\ref{sec:chap6}. - FC3: $RADC_{HIGH}$ & voltage value & $VAL\_ERR$ \\ + FC3: $RADC_{HIGH}$ & voltage value & $VOLTAGE\_HIGH$ \\ & incorrect & \\ \hline @@ -681,7 +681,7 @@ $$ The error value being discussed here is an important concept in PID control. It represents how far from the control target -the measured reading of it is. +the measured reading is. The lower the PID error value the closer to the controlled systems target/desired value. { diff --git a/submission_thesis/colophon/copy.tex b/submission_thesis/colophon/copy.tex index b849e3b..fb84f74 100644 --- a/submission_thesis/colophon/copy.tex +++ b/submission_thesis/colophon/copy.tex @@ -57,7 +57,7 @@ Further I thank her for encouraging me to apply for the PhD. %% PITY SHE DID NOT % I am deeply thankful to the directors of {\etc} not only for funding this course, but providing training and work experience in the -field of safety critical engineering, and giving me Friday +field of safety critical engineering and giving me Friday afternoons to pursue my studies. % At Energy~Technology~Control, the following people gave encouragement, and