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 Programmierung der Knotenpunkte<br />

6. Programmierung der Knotenpunkte<br />

Herkömmliche Robotersysteme besitzen im Allgemeinen einen leistungsfähigen Prozessor als<br />

zentrale Einheit, an den die Sensoren <strong>und</strong> Aktoren direkt angeschlossen werden. Der Vorteil dieses<br />

Aufbaus liegt darin, dass nur eine einzige rechenstarke Einheit programmiert werden muss. Der<br />

Nachteil ist, dass solche Systeme in der Anzahl der anschließbaren Sensoren <strong>und</strong> Aktoren meist stark<br />

begrenzt sind. Oft sind nicht mehr als zehn Anschlüsse vorhanden. Für größere Roboter müssen dann<br />

mehrere dieser Prozessoren vernetzt oder ein Bussystem integriert werden. Zusätzlich ist der<br />

Wechsel auf einen anderen leistungsfähigeren Prozessor zum Teil sehr aufwendig, da viele Teile der<br />

Programme neu entwickelt werden müssen. Des Weiteren ist eine Erweiterung des bestehenden<br />

Roboters meist nur durch Abschalten <strong>und</strong> Neuprogrammierung möglich. Eingriffe in ein laufendes<br />

System sind normalerweise nicht vorgesehen.<br />

Mit einem Netzwerk von einzeln agierenden Sensoren <strong>und</strong> Aktoren ist es möglich, genau diese<br />

Nachteile zu umgehen. Jeder Knotenpunkt läuft weitestgehend autark <strong>und</strong> kann zu jeder Zeit aus dem<br />

Netzwerk entfernt werden. Sollten andere Teilnehmer auf Informationen von ihm angewiesen sein,<br />

bekommen sie zwar eine Fehlermeldung <strong>und</strong> können unter Umständen ihre Aufgabe nicht mehr<br />

vollständig wahrnehmen, aber dies beeinflusst in vielen Fällen nicht das Gesamtsystem. Es kann<br />

weiter laufen <strong>und</strong> sobald der entfernte Knotenpunkt wieder aktiv wird, ist der alte Zustand ohne<br />

Unterbrechung wiederhergestellt. Dadurch können (nahezu) beliebig viele Sensoren <strong>und</strong> Aktoren<br />

miteinander kombiniert werden. Damit sich die Kosten <strong>für</strong> so ein Netzwerk nicht überschlagen,<br />

müssen die Steuereinheiten <strong>für</strong> jeden Sensor <strong>und</strong> Aktor entsprechend günstig sein. Statt einem<br />

leistungsfähigen Zentralrechner wird eine Vielzahl kleinerer Controller verwendet.<br />

Der Nachteil bei dieser Herangehensweise ist, dass jeder dieser Controller separat programmiert<br />

werden muss. Solange alle vom gleichen Typ sind, ist der Aufwand noch überschaubar, aber sobald<br />

später einmal das Netzwerk erweitert werden soll <strong>und</strong> die verwendeten Controller nicht mehr<br />

verfügbar sind oder leistungsfähigere Controller verwendet werden sollen, würde der Aufwand wieder<br />

stark ansteigen. Sinn macht es daher, von Anfang an auf den Controllern eine Virtuelle Maschine zu<br />

installieren. Werden die Controller ausgetauscht, muss nur die Virtuelle Maschine <strong>für</strong> den neuen<br />

Controllertyp angepasst werden <strong>und</strong> alle Steuerungsprogramme funktionieren ohne Änderung weiter.<br />

Am einfachsten wäre es <strong>für</strong> den Entwickler, wenn er <strong>für</strong> die Programmierung des Netzwerkes eine der<br />

momentan verbreiteten Sprachen (wie C++, Pascal oder JAVA) verwenden könnte. Leider sind diese<br />

Sprachen mittlerweile so komplex <strong>und</strong> umfangreich, dass eine dazugehörige virtuelle Maschine die<br />

Leistungsfähigkeit eines einfachen Controllers mit wenig Speicher schnell übersteigen würde. Nach<br />

Rücksprache mit Prof. Dr.-Ing. Beck (Professor <strong>für</strong> Compiler/Interpreter-Bau an der HTW-<strong>Dresden</strong>) fiel<br />

die Wahl auf einen von ihm verwendeten Compiler, der auf der Sprache PL0 basiert. Die zugehörige<br />

Virtuelle Maschine ist so klein gehalten, dass sie auch auf Controllern mit wenigen h<strong>und</strong>ert Byte<br />

Speicher zumindest einfache kleine Programme noch ausführen kann, die zu Steuerzwecken in der<br />

Regel ausreichen.<br />

26.07.2004 Seite 39 von 85

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!