Diplomarbeit - Hochschule für Technik und Wirtschaft Dresden
Diplomarbeit - Hochschule für Technik und Wirtschaft Dresden
Diplomarbeit - Hochschule für Technik und Wirtschaft Dresden
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>Diplomarbeit</strong>: Modulares System Testen der Steuerungsskripte im Simulator<br />
Client automatisch den NetbotServer. Danach muss dem Server noch die Nummer (ID) des Clients<br />
bekannt gegeben werden. Dabei werden automatisch auch die Callback-Routinen verb<strong>und</strong>en.<br />
Abbildung 7.16 - Aufruf des NetbotServer durch den Client<br />
Der Knotenpunkt ist damit schon im Netzwerk eingeb<strong>und</strong>en <strong>und</strong> kann bereits seine Aufgabe<br />
wahrnehmen. Je nach Gruppentyp kann der Wert des Knotens (z.B. die Entfernung) in der Oberfläche<br />
eingestellt werden. Dieser wird auf Anfrage von außen weitergereicht. Soll ein Wert von außen gesetzt<br />
werden, prüft der Client, ob dies überhaupt möglich ist (es ist nicht möglich, die Temperatur von<br />
außen zu setzen, da dies ein Messwert ist!). Um das Netzwerk mit Logik zu versehen, kann jeder<br />
Knotenpunkt eine Skriptdatei laden <strong>und</strong> ausführen. Dies entspricht weitestgehend dem Verfahren, das<br />
auch im Easybot eingesetzt wurde. Es wird die gleiche VM.DLL als Gr<strong>und</strong>lage genutzt.<br />
Abbildung 7.17 - Beispiel <strong>für</strong> NetbotClients<br />
Die Abbildung 6.4 am Anfang dieses Kapitels zeigt eine simulierte Umgebung des auch im Easybot<br />
vorhandenen Cybot. Im laufenden Betrieb zeigt der sich drehende rote Strich beim Motor dessen<br />
Bewegung an. Im Gegensatz zum Easybot kann diese Simulation im Netbot jederzeit um<br />
Funktionalitäten erweitert werden. Beispielsweise kann der Cybot mit zwei Lampen (LED) versehen<br />
werden, die (als Warnsignal) zu leuchten beginnen, wenn einer der Sensoren einem Objekt zu nahe<br />
kommt.<br />
// Create DCOM-Server<br />
FNetbot = CoNetbotCB.Create();<br />
FCallback = (ICallback)CoNetbotCallbackObj.Create();<br />
// Initialize and bind Callback<br />
FNetbot.SetCallback(group,id,FCallback);<br />
// call for value<br />
FNetbot.GetValue(group_id,id,param,value);<br />
...<br />
var sl,ll,sreach,fak;<br />
BEGIN<br />
fak:=15;<br />
sreach :=get(8,1,1); {get sensor reach}<br />
sl := get(8,1,0); if sl>sreach then sl:=sreach; {get sensor left}<br />
if sl