1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!--Converted with LaTeX2HTML 2K.1beta (1.48)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>RTiC-Lab Design</TITLE>
<META NAME="description" CONTENT="RTiC-Lab Design">
<META NAME="keywords" CONTENT="rtic">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="LaTeX2HTML v2K.1beta">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="rtic.css">
<LINK REL="previous" HREF="node8.html">
<LINK REL="up" HREF="node7.html">
<LINK REL="next" HREF="node10.html">
</HEAD>
<BODY bgcolor="white">
<!--Navigation Panel-->
<A NAME="tex2html209"
HREF="node10.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html207"
HREF="node7.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html203"
HREF="node8.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html210"
HREF="node10.html">RTiC-Lab for the Impatient</A>
<B> Up:</B> <A NAME="tex2html208"
HREF="node7.html">The Real Time Controls</A>
<B> Previous:</B> <A NAME="tex2html204"
HREF="node8.html">The Real Time Linux</A>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00132000000000000000">
RTiC-Lab Design</A>
</H2>
<P>
The general scheme used in the Real Time Controls Laboratory is shown
is Figure <A HREF="node9.html#RTiC_scheme">1.6</A>. A devoted display or host computer
(<IMG
WIDTH="55" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
SRC="img30.png"
ALT="$DHC$">) is networked via 10 or 100 Mb/s TCP/IP network to a set of
devoted controls computers (<IMG
WIDTH="58" HEIGHT="37" ALIGN="MIDDLE" BORDER="0"
SRC="img31.png"
ALT="$DCC_j$">).
<P>
<P></P>
<DIV ALIGN="CENTER"><A NAME="RTiC_scheme"></A><A NAME="327"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 1.6:</STRONG>
Overview of the Real Time Controls
Laboratory network environment</CAPTION>
<TR><TD>
<DIV ALIGN="CENTER">
<IMG
WIDTH="331" HEIGHT="295" ALIGN="BOTTOM" BORDER="0"
SRC="img32.png"
ALT="\includegraphics[width=0.6\textwidth]{Figures/scheme.eps}">
</DIV></TD></TR>
</TABLE>
</DIV><P></P>
<P>
The controls engineer sits at the <IMG
WIDTH="55" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
SRC="img30.png"
ALT="$DHC$"> (which may or may not necessarily
be at the same room or even building as the <IMG
WIDTH="58" HEIGHT="37" ALIGN="MIDDLE" BORDER="0"
SRC="img31.png"
ALT="$DCC_j$">) and coordinates,
codes, and synchronizes all <IMG
WIDTH="58" HEIGHT="37" ALIGN="MIDDLE" BORDER="0"
SRC="img31.png"
ALT="$DCC_j$"> from the <IMG
WIDTH="55" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
SRC="img30.png"
ALT="$DHC$">. Run time parameters, such
as sampling rate, startup delay, and networking parameters can be set
for each of the <IMG
WIDTH="58" HEIGHT="37" ALIGN="MIDDLE" BORDER="0"
SRC="img31.png"
ALT="$DCC_j$"> from the <IMG
WIDTH="55" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
SRC="img30.png"
ALT="$DHC$">.
<P>
Each of the <IMG
WIDTH="58" HEIGHT="37" ALIGN="MIDDLE" BORDER="0"
SRC="img31.png"
ALT="$DCC_j$"> is a stripped down computer system having no keyboard,
mouse, video card, or monitor. These only have both the necessary I/O
cards which are used to interface to the plant hardware and the
necessary Ethernet card to communicate with the <IMG
WIDTH="55" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
SRC="img30.png"
ALT="$DHC$">.
<P>
An AMB example of RTiC-Lab is shown in Figure <A HREF="node9.html#MIMO_example">1.7</A>. A
single <IMG
WIDTH="55" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
SRC="img30.png"
ALT="$DHC$"> interfaces with three <IMG
WIDTH="58" HEIGHT="37" ALIGN="MIDDLE" BORDER="0"
SRC="img31.png"
ALT="$DCC_j$"> which in turn interface to
the AMB rotor system. The first <IMG
WIDTH="58" HEIGHT="37" ALIGN="MIDDLE" BORDER="0"
SRC="img33.png"
ALT="$DCC_1$"> handles all radial control of
the AMB, while a second (and slower) <IMG
WIDTH="58" HEIGHT="37" ALIGN="MIDDLE" BORDER="0"
SRC="img34.png"
ALT="$DCC_2$"> controls the thrust
direction of the AMB, and a third <IMG
WIDTH="58" HEIGHT="37" ALIGN="MIDDLE" BORDER="0"
SRC="img35.png"
ALT="$DCC_3$"> is used to add either some
excitation or synchronous forces to cancel out rotor imbalances at the
midspan. Both controller parameters can be updated through the
graphical user interface, and all data is plotted in soft real time at
the <IMG
WIDTH="55" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
SRC="img30.png"
ALT="$DHC$">.
<P>
<P></P>
<DIV ALIGN="CENTER"><A NAME="MIMO_example"></A><A NAME="328"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 1.7:</STRONG>
Example of the applicability of RTiC-Lab on
an AMB system.</CAPTION>
<TR><TD>
<DIV ALIGN="CENTER">
<IMG
WIDTH="388" HEIGHT="345" ALIGN="BOTTOM" BORDER="0"
SRC="img36.png"
ALT="\includegraphics[width=0.7\textwidth]{Figures/mimoBRG.eps}">
</DIV></TD></TR>
</TABLE>
</DIV><P></P>
<P>
<P></P>
<DIV ALIGN="CENTER"><A NAME="SISO_example"></A><A NAME="329"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 1.8:</STRONG>
Example of a simpler application of RTiC-Lab</CAPTION>
<TR><TD>
<DIV ALIGN="CENTER">
<IMG
WIDTH="387" HEIGHT="272" ALIGN="BOTTOM" BORDER="0"
SRC="img37.png"
ALT="\includegraphics[width=0.7\textwidth]{Figures/sisoBRG.eps}">
</DIV></TD></TR>
</TABLE>
</DIV><P></P>
<P>
In the event that the controlled plant is computationally simple enough
(and safe enough!) to be handled exclusively in a single computer, then
RTiC-Lab will collapse into one computer as shown in Figure
<A HREF="node9.html#SISO_example">1.8</A>. Again, the same computer is used to both plot all
incoming data and to update controller parameters in soft real time.
<P>
In accordance with the RTLinux paradigm, RTiC-Lab separates the AMB
controller into the hard real time or ``embedded'' part and the soft
real time or ``reactive'' part. The embedded part of the controller
(resident exclusively in the <IMG
WIDTH="58" HEIGHT="37" ALIGN="MIDDLE" BORDER="0"
SRC="img31.png"
ALT="$DCC_j$">) includes all tasks having hard timing
constraints:
<P>
<OL>
<LI>the AMB suspension controller(s) (both periodic and event driven),
</LI>
<LI>a software watchdog, and
</LI>
<LI>a set of interrupt service routines that are used for
communication with the reactive task.
</LI>
</OL>
<P>
The reactive task (resident in both <IMG
WIDTH="55" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
SRC="img30.png"
ALT="$DHC$"> and <IMG
WIDTH="58" HEIGHT="37" ALIGN="MIDDLE" BORDER="0"
SRC="img31.png"
ALT="$DCC_j$">) is a
multi-threaded, user-space application which runs within the Linux
kernel. In a stand-alone system, the reactive task would perform the
following functions:
<P>
<OL>
<LI>communicate with the embedded tasks via RT-FIFOs,
</LI>
<LI>display a graphical user interface for the user,
</LI>
<LI>perform error checking of the user's controller code,
</LI>
<LI>send parameter updates to the embedded tasks as requested by user,
</LI>
<LI>plot data to either screen, save to a file, or print to <I>stdout</I>,
</LI>
</OL>
<P>
Alternatively, in a multi-node environment, the <IMG
WIDTH="58" HEIGHT="37" ALIGN="MIDDLE" BORDER="0"
SRC="img31.png"
ALT="$DCC_j$">' reactive
system is charged with communicating with both the local embedded tasks
via RT-FIFOs and with the remote <IMG
WIDTH="55" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
SRC="img30.png"
ALT="$DHC$"> through the LAN. It would also be
used to trap some vital errors from the local real time tasks, such as
missed deadlines. The <IMG
WIDTH="55" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
SRC="img30.png"
ALT="$DHC$"> - which does not necessarily have real time
support - would then receive the incoming data through the network and
would perform all of the necessary graphical duties as described
above. In addition, the <IMG
WIDTH="55" HEIGHT="21" ALIGN="BOTTOM" BORDER="0"
SRC="img30.png"
ALT="$DHC$"> would be used to coordinate all networked
<IMG
WIDTH="58" HEIGHT="37" ALIGN="MIDDLE" BORDER="0"
SRC="img31.png"
ALT="$DCC_j$">.
<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html209"
HREF="node10.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html207"
HREF="node7.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html203"
HREF="node8.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html210"
HREF="node10.html">RTiC-Lab for the Impatient</A>
<B> Up:</B> <A NAME="tex2html208"
HREF="node7.html">The Real Time Controls</A>
<B> Previous:</B> <A NAME="tex2html204"
HREF="node8.html">The Real Time Linux</A>
<!--End of Navigation Panel-->
<ADDRESS>
Michael Barabanov
2001-06-19
</ADDRESS>
</BODY>
</HTML>
|