24.11.2012 Aufrufe

Diplomarbeit - Hochschule für Technik und Wirtschaft Dresden

Diplomarbeit - Hochschule für Technik und Wirtschaft Dresden

Diplomarbeit - Hochschule für Technik und Wirtschaft Dresden

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!