Merge branch 'master' of dev:/home/robin/git/thesis
This commit is contained in:
commit
d5bb69dad5
@ -1031,12 +1031,58 @@ $$fm(GetError) = \{ KnownIncorrectErrorValue, IncorrectErrorValue \}.$$
|
|||||||
|
|
||||||
|
|
||||||
We now follow the afferent path to the PID algorithm.
|
We now follow the afferent path to the PID algorithm.
|
||||||
Here we assume that the PID constants are fixed (i.e. are not parameters)
|
Here we assume that the PID constants are fixed (i.e. are not parameters).
|
||||||
|
We use the $GetError$ {\dc} and the PID function to form a {\fg}.
|
||||||
|
The pre-condition for the PID function is that % are that it is called
|
||||||
|
%iat the correct frequency and that
|
||||||
|
it receives the correct error value.
|
||||||
|
The post-condition is that it outputs correct control values.
|
||||||
|
% RESP FOR TIMEING IS ON CALLING FUNCTION AND IS A SEPARATE ERROR- TGHINK ABOUT JITTER.....
|
||||||
|
% and controll values..... Jitter might not matter, wrong int times would
|
||||||
|
% controlling function provdes context of use.
|
||||||
|
Those familiar with the PID algorithm may here notice raise the point of calling frequency.
|
||||||
|
were this function to be called at an incorrect rate its output
|
||||||
|
would be wrong (the differential and integral parameters would effectively have been changed).
|
||||||
|
However this problem is a failure mode for the function calling it.
|
||||||
|
The calling function sets the context for the PID algorithm (i.e. what it is used for).
|
||||||
|
If this PID were to be used, say as some form of low pass filter, we could consider jitter
|
||||||
|
for instance. In a control environment with PID jitter would not be a significant factor.
|
||||||
|
|
||||||
|
{
|
||||||
|
\tiny
|
||||||
|
\begin{table}[h+]
|
||||||
|
\caption{ PID: Failure Mode Effects Analysis} % title of Table
|
||||||
|
\label{tbl:pidfunction}
|
||||||
|
|
||||||
|
\begin{tabular}{|| l | c | l ||} \hline
|
||||||
|
% \textbf{Failure} & \textbf{failure} & \textbf{Symptom} \\
|
||||||
|
% \textbf{Scenario} & \textbf{effect} & \textbf{RADC } \\ \hline
|
||||||
|
\hline
|
||||||
|
\textbf{Failure} & \textbf{Failure } & \textbf{Derived Component} \\
|
||||||
|
\textbf{cause} & \textbf{Effect} & \textbf{Failure Mode} \\
|
||||||
|
|
||||||
|
|
||||||
OK STOP AT PID and follow the other data flows until we are ready to bring them to the top: i.e.
|
\hline
|
||||||
|
FC1: $ KnownIncorrectErrorValue $ & pre-condition violated & KnownControlValueErrorV \\
|
||||||
|
& observable/detectable & \\
|
||||||
|
& failure mode & \\ \hline
|
||||||
|
|
||||||
the monitor program.......
|
FC2: $, IncorrectErrorValue $ & pre-condition violated & IncorrectControlErrorV \\
|
||||||
|
& unobservable & \\
|
||||||
|
& undetectable failure mode & \\ \hline
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\end{tabular}
|
||||||
|
\end{table}
|
||||||
|
}
|
||||||
|
|
||||||
|
We now create a PID {\dc}, with the following failure modes:
|
||||||
|
|
||||||
|
$$ fm(PID) = \{ KnownControlValueErrorV, IncorrectControlErrorV \} .$$
|
||||||
|
%OK STOP AT PID and follow the other data flows until we are ready to bring them to the top: i.e.
|
||||||
|
%
|
||||||
|
%the monitor program.......
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user