Next: Die Kollimatorsteuerung Up: Die Targetsteuerung Previous: Die Hardware

Die Software

Die Software hat die Aufgabe, die oben beschriebenen Anforderungen und Gegebenheiten zu berücksichtigen und Funktionen zur Bedienung des Targets zur Verfügung zu stellen.

Für den Ist-Werte der Höhe werden die 12 Datenbits ausgelesen. Dann wird diese Zahl für die Höhe in eine Spannung zwischen 0 und 10 Volt umgerechnet, damit sie mit dem Wert auf einem an der Steuerung angebrachten Meßinstrument vergleichbar ist. Für den Winkel werden die Datenbits in einen Wert zwischen umgerechnet.

Das Einstellen geschieht in folgenden Schritten:

  1. einzustellenden Wert in 12 Bits umrechnen
  2. 12 Daten-Bits setzen
  3. Handshake-Bit setzen
  4. Start-Bit setzen (der Motor fährt los)
  5. Handshake-Bit zurücksetzen
  6. Start-Bit zurücksetzen

Nun müssen zwei Anforderungen beachtet werden. Erstens möchte der Benutzer über den aktuellen Stand der Targetbewegung informiert werden, da diese einige Minuten dauern kann. Zweitens soll der Steuerungsprozeß aber in der Lage sein, schon weitere Aufträge (wie z.B. Winkelsteuerung, Höhe auslesen oder neue Höhe setzen) zu verarbeiten. Um dem gerecht zu werden, wird der Vorgang in mehrere Schritte zerlegt, zwischen denen der Prozeß bereit ist, neue Nachrichten zu empfangen. Dafür sind hier zwei getrennte Aktionen im Einsatz (siehe Tab. ).

Wenn der Benutzer einen Befehl zum Setzen eines Wertes gibt, werden von der ersten Aktion die obigen Schritte ausgeführt. Dann verschickt diese Aktion eine sogenannte Timer-Nachricht an die zweite Aktion, die mit einigen Sekunden Verzögerung eintrifft. Diese zweite Aktion schickt erst eine Statusmeldung über den momentanen Stand der Bewegung an den opcon-Porzeß. Dann überprüft sie, ob die Position schon erreicht wurde. Ist dies nicht der Fall, wird wiederum eine Timer-Nachricht aufgesetzt und damit nochmals gewartet. Wenn die Position erreicht ist, ist der Vorgang abgeschlossen (siehe Abb. ).

Die Höhensteuerung besteht abweichend davon aus drei Schritten, da es noch die Anforderung gibt, die Position immer von unten anzufahren. Zuerst wird also eine Position etwas unterhalb der geforderten angefahren. Man wartet, bis diese erreicht ist, und dann wird die endgültige Position aufgesucht (siehe Abb. ).

Durch diese Vorgehensweise ist es möglich, eine neue Anforderung zu bearbeiten, während die alte noch nicht abgeschlossen ist. Jeder Vorgang erhält nämlich eine eindeutige Vorgangsnummer, und das Programm merkt sich die aktuelle Vorgangsnummer. Kommt ein neuer Auftrag, wird dieser sofort ausgeführt und die aktuelle Vorgangsnummer erhöht. Das Target bewegt sich sofort zum neuen Ziel. Die alte Aktion wird abgebrochen, da Timer-Nachrichten mit veralteten Vorgangsnummern nicht mehr bearbeitet werden.



Next: Die Kollimatorsteuerung Up: Die Targetsteuerung Previous: Die Hardware


martin@daisy.zdv.Uni-Mainz.DE
Fri Apr 21 10:02:42 MESZ 1995