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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Diplomarbeit</strong>: Modulares System Datenstrukturen <strong>und</strong> Kommunikation<br />

Die ID gibt an, welcher Knotenpunkt im Netzwerk gemeint ist. Um nicht nur einen (den Haupt-) Wert<br />

setzen <strong>und</strong> lesen zu können, sondern um auch die Einstellungen des Elements einfach einstellen zu<br />

können, muss noch angegeben werden, welcher Wert oder welche Eigenschaft gemeint ist.<br />

Parameter-ID Beschreibung<br />

0 Hauptwert (Entfernung, Helligkeit, Drehzahl usw.)<br />

1 erste Eigenschaft (maximale Entfernung usw.)<br />

2 …<br />

Tabelle 4.4 - Parametrisierung<br />

4.3. Adressierung<br />

Um die Knotenpunkte ansprechen zu können, müssen diese adressiert werden. Da<strong>für</strong> gibt es<br />

verschiedene Herangehensweisen. Diese sollen an einem Beispiel erläutert werden.<br />

4.3.1. Direkte Adressierung<br />

Der Roboter soll bei einer bestimmten Umgebungstemperatur stehen bleiben. Da<strong>für</strong> muss ein<br />

Knotenpunkt dazu programmiert werden, dies zu tun. Praktischerweise übernimmt dies die Einheit, die<br />

sowieso die Motoren ansteuert. Dies kann direkt mit der bekannten Adresse eines Temperatursensors<br />

dessen Wert abfragen. Wenn der Sensor die ID 4 hat, sieht der Programmteil folgendermaßen aus:<br />

...<br />

temperature:=Get(4,0);<br />

if temperature>60 then<br />

motor_speed:=0;<br />

...<br />

Der Nachteil dabei ist, dass die ID des Temperatursensors bekannt sein muss.<br />

4.3.2. Gruppenadressierung<br />

Um zu erreichen, dass auch ohne Kenntnis der genauen Adresse ein Wert eines bestimmten Typs (im<br />

Beispiel die Temperatur) abfragbar ist, können Broadcast-Aufrufe (Gruppenaufrufe) verwendet<br />

werden. Das Programm fragt nicht mehr einen bestimmten Temperatursensor, dessen Adresse es<br />

kennen muss, sondern erk<strong>und</strong>igt sich im Netzwerk allgemein: hat irgendein Sensor eine Temperatur.<br />

Dazu muss die Adressierung gruppenweise erfolgen. So könnte die ID 8 <strong>für</strong> Temperaturen vorgemerkt<br />

sein. Der Programmteil muss dann folgendermaßen lauten:<br />

...<br />

temperature:=Get(8,0);<br />

if temperature>60 then<br />

motor_speed:=0;<br />

...<br />

In dieser Variante der Adressierung würden aber alle Temperatursensoren antworten <strong>und</strong> es müsste<br />

ein Auswahlverfahren existieren, welcher nun vom Programm verwendet wird.<br />

26.07.2004 Seite 21 von 85

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!