Up to PID now.....
Tidy other parts of call tree
This commit is contained in:
parent
086361edff
commit
481031aa4b
@ -1031,12 +1031,58 @@ $$fm(GetError) = \{ KnownIncorrectErrorValue, IncorrectErrorValue \}.$$
|
||||
|
||||
|
||||
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}
|
||||
|
||||
OK STOP AT PID and follow the other data flows until we are ready to bring them to the top: i.e.
|
||||
\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} \\
|
||||
|
||||
|
||||
\hline
|
||||
FC1: $ KnownIncorrectErrorValue $ & pre-condition violated & KnownControlValueErrorV \\
|
||||
& observable/detectable & \\
|
||||
& failure mode & \\ \hline
|
||||
|
||||
FC2: $, IncorrectErrorValue $ & pre-condition violated & IncorrectControlErrorV \\
|
||||
& unobservable & \\
|
||||
& undetectable failure mode & \\ \hline
|
||||
|
||||
|
||||
|
||||
\end{tabular}
|
||||
\end{table}
|
||||
}
|
||||
|
||||
the monitor program.......
|
||||
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