Hallo Gast, Sie sind nicht angemeldet.

Die Main Control

Von Johannes Dörr am 13.06.2009, aktualisiert am 13.06.2009 um 10:46 Uhr

Installation der Main Control

Bei unserem Rundgang durch das Softwareprojekt s²mirs beginnen wir mit dem Download von der Main Control, kurz MC genannt. Gehen Sie dazu in den Downloadbereich und laden Sie dort die neueste Version von CENTRAL herunter. Dies ist die Haupteinheit des s²mirs-Systems. Im Laufe des Projektes sind zwei verschiedene Varianten der Main Control entstanden. An dieser Stelle verwenden wir das erwähnte Programm namens CENTRAL. Zum Ausführen muss die Java Runtime auf dem Rechner installiert sein. Beachten Sie auch die Hinweise auf der Download-Seite.

Entpacken Sie die heruntergeladenen Dateien in einen beliebigen Ordner. Beim Klicken auf "CENTRAL.jar" startet das Programm. Die Datei "kunststoff.jar" enthält das verwendete "Java Look and Feel". In der Konfigurationsdatei speichert das Programm die Einstellungen.

Die Oberfläche

Die Oberfläche von CENTRAL sieht aus wie folgt:

Um die Übersicht zu bewahren, ist die Oberfläche in Tabs aufgeteilt.

Im Tab "Start" lassen sich die Einstellungen für den Loginvorgang von Modulen festlegen. Außerdem werden die Nachrichten des s²mirs Netzes hier direkt ausgegeben. Der zweite Tab zeigt die angelegten Variablen mit momentanem Wert und Ersteller-Modul an. Die eingebundenen Module werden im dritten Tab aufgelistet. Der vierte Tab zeigt die momentanen Transfers zwischen MC und Modulen an, was bei hoher Transferrate zu einer enormen Prozessorauslastung führen kann - dies nur als Hinweis... Im letzten Tab werden die Einstellungen für den MultiMC-Mode (siehe MultiMC-Mode) getätigt.

Einbinden von Modulen

Um die Kommunikation der MC mit Modulen zu testen, gibt es ein Testmodul, das ebenfalls im Downloadbereich heruntergeladen werden kann. Es handelt sich dabei um ein VB.NET Programm, das die Installation des Microsoft .NET Frameworks vorraussetzt.

Beim Ausführen der exe-Datei erscheint folgendes Fenster:

Im Gegensatz zu einem Modul in einem richtigen Roboter erfüllt dieses Testmodul keine besondere Funktion. Jedoch lassen sich hiermit Daten an die MC senden und von ihr empfangen, wie es andere Module auch machen. Genau dies wollen wir hier tun, um s²mirs genauer kennenzulernen.

Zunächst muss das Testmodul in die Main Control eingebunden werden. Dazu muss bei der MC der Loginport festgelegt werden. Standardmäßig ist er "122". Mit dem Button "Loginvorgang starten" startet die MC einen Loginserver. Nun wechseln wir zum Testmodul und geben links oben die IP des Rechners, auf dem die MC läuft (127.0.0.1, wenn es derselbe Rechner ist, wie in diesem Fall), und darunter wieder den Loginport ein. Außerdem muss ein Name und ein Modul-Typ für das Modul vergeben werden. Die Standardeinstellungen können zunächst einfach belassen werden. Klicken Sie nun auf "Start Connection". In dem Textbereich "TCP-Communication" erscheint nun etwas wie:

  1. ONLINE|TESTCLIENT
  2. SMIRS|CENTRAL|CENTRAL|1.0 beta 2805|mindrobots central
  3. Login erfolgreich!
  4. Module-Name:
  5. TESTCLIENT
  6. Module-Type:
  7. ELSE
  8. Module-Port:
  9. 123
  10. MC-Name:
  11. CENTRAL
  12. MC-Type:
  13. CENTRAL
  14. MC-Version:
  15. 1.0 beta 2805
  16. MC-Description:
  17. mindrobots central

Genauere Informationen zum Loginvorgang finden Sie auf der Seite über das Telegramm (siehe Telegramm). An dieser Stelle möchte ich nur sagen, dass das Modul sich beim Loginserver der MC angemeldet hat, und diese ihm einen eigenen Port zugewiesen hat. Diese Portzuweisung erfolg auf Basis der "Modul-Ports", die im "Start"-Tab der MC abgegeben werden können. Mit Semikolon können dort mehrere Portnummern aufgelistet werden, die die MC zuweisen kann. Ist die Liste einmal zu Ende, wird die letzte Portnummer immer um einen erhöht.

Die MC startet auf dem neuen Port einen Server, auf dem sich das Modul anmeldet. Dort sendet es den String "ONLINE|-modulname-". Die MC antwortet mit "SMIRS|..". Dieses Datenpacket enthält Informationen über die Main Control, wie zum Beispiel die Versionsnummer.

Im Tab "Module" wird nun auch das Testmodul angezeigt, der Loginvorgang war also erfolgreich. Nun können natürlich noch weitere Module eingebunden werden. Dazu starte man zum Beispiel wieder das Testmodul erneut. Loginport und IP sind natürlich wieder gleich, jedoch muss nun ein anderer Modul-Name vergeben werden, denn ein Modulname muss eindeutig sein. Möchte sich ein Modul einloggen, wird überprüft, ob bereits ein Modul mit demselben Namen vorhanden ist.

Kommunikation mit der MC

Wurden alle Modul eingebunden, kann man theoretisch den Loginvorgang der MC wieder beenden, indem man den Button in dem "Start"-Tab erneugt klickt. Danach können keine neuen Module mehr eingebunden werden, da der Login-Server beendet wurde.

Nun testen wir die Verbindung. Klicken Sie im Testmodul auf den Button "ALERT|ERROR". In dem bereits angesprochenen Textbereich kann man bei allen Aktionen beobachten, was das Modul sendet und empfängt. In diesem Fall sendet es "ALERT|ERROR|Testnachricht", die MC bestätigt den Empfang mit "ACK|ALERT|OK". Mit diesem Befehl können Module, die selbst keine Benutzeroberfläche haben, beispielsweise Fehlermeldungen auszugeben. Die Benutzeroberfläche der MC zeigt diese dann an.

Das Testmodul stellt mehrere Funktionen direkt über Buttons zur Verfügung. Es können aber auch die Strings, die gesendet werden sollen, in das Feld "Send Command" eingegeben werden. Sie können nun die Spezifikation des Telegramms (siehe Telegramm) durchstöbern und schauen, was passiert, wenn man bestimmte Befehle sendet.