Moin Numberfive,
hast du dir schon mal meine Jufo-Arbeit runtergeladen? Ich habe so etwas ähnliches programmiert und werde demnächst die nächste Version starten.
Was mir vorschwebt: Eine Software, mit der es möglich ist, verschiedenste Hardwarekomponenten zu verknüfen. Das bedeutet: Man kann einen Roboter mittels eines Treibers, der speziell geschrieben werden muss (aber standardtreibver sind natürlich auch denkbar) in die Software einbinden.
Der Treiber kann nun Datenbereiche (z.B. Variablen) anmelden. Über diese Variablen kann dann die Software Daten von dem Roboter bekommen und ihm schicken.
Nun ist es mölglich, Beziehungen zwischen diesen Variablen zu setzten. Es gibt eine Scriptsprache, in der Funktionen definiert werden können, die ausgeführt werden, wenn sich beispielsweise eine Variable ändert. In diesem Fall kann dann das Script eine Variable einer anderen Hardwarekomponente ändern. Als Beispiel könnten dann so Roboter wissen, wo die anderen gerade sind, etc.
Die Software bietet weiterhin die Möglichkeit, Daten des Roboters anzuzeigen. Diese Anzeigemöglichkeiten werden als Plugins eingebunden, sodass man sich auch selbst ein spezielles Anzeigefeld programmieren kann. Diese Felder können dann mit Variablen verbunden werden. Natürlich können solche Plugins auch Variablen verändern und nicht nur anzeigen.
Dieses Problem habe ich mit ActiveX-DLLs gelöst. Bei der anmeldung wird dem Plugin ein Objekt übergeben, mit dem auf die Daten der Software und somit auch auf die Daten der eingebundenen Hardware zugegriffen werden kann.
Das alles funktioniert bei mir ganz gut, ich habe es mit Visual Basic geschrieben. Leider, und deshalb werden wir wohl nicht zusammenarbeiten könne, will nun die neue Software in JAVA schreiben. Auch ich wäre ein einem Gemeinschaftsprojekt interessiert.
Der zweite Schritt wäre dann eine Software für den Roboter selber. Du weißt, dass ich ja auch auf meinem nächsten Roboter einen PC installieren will. Vielleicht kann aber auch eine einzige Software diese ganzen Dinge abdecken, je nachdem, welche Plugins registriert werden. Die Roboter-Software bräuchte ja keine Anzeigeelemente, die PC-Software aber vielleicht schon.
Naja, vielleicht können wir ja wenigstens Ideen austauschen. Aber ich hatte vor, einige Funktionen auch mit C++ zu schreiben, gerade die Dinge mit den Plugins. Aber die Grundstruktur wäre schon ganz gut gelöst mit Java, besonders die grafischen oberflächen. Die C++-Routinben könnte man dann ja für mehrere Systeme kompillieren, oder erst einmal bei Windows bleiben.
Aber auf jedenfall ne interessante Diskussion, besonders weil ich sie schon vor kurzem selbst aufmachen wollte.
Schaut mal in meine Arbeit, ganz hinten bei "Control Desk":
http://www.mindrobots.de -> zum Download runterscrollen.
Gruß
Johannes
Lesezeichen