DOKUMENTENNAME:
 

Pflichtenheft: RTK-Steuerprogramm

Funktion: Probe und Kollimator manuell justieren


Dokumentversion:
1.01 (14. Juli 1999)

Autor: ]
K. Bothe
Anmerkungen ausgewertet von U. Sacklowski, B. Wolf, Herr Pfeiffer
Ueberarbeitung: J. Wegener (DaimlerChrysler)

Zustand:
in Bearbeitung

Dialogbox:


 

1. Funktionale Beschreibung:

1.1 Zusammenfassung:
 

Aufgabe der Funktion Probe und Kollimator manuell justieren ist es, eine Probe und einen Kollimator im dreidimensionalen Raum für ein physikalisches Experiment zu positionieren. Für die Positionierung  der Probe stehen vier unterschiedliche Antriebe zur Verfügung, die eine Bewegung der Probe in verschiedenen Richtungen ermöglichen. Es handelt sich um die Antriebe (synonym: Motoren)

Zusätzlich existiert ein weiterer Antrieb zur Krümmung des Kollimators (Plättchen zur Ablenkung des Röntgenstrahls):



 
 

1.2 Anwendungsszenarium:

Die Antriebe (Motoren) werden unabhängig voneinander bedient und können gleichzeitig bewegt werden. Lediglich die Antriebe DF und DC können nicht gleichzeitig bewegt werden, da sie in derselben Bewegungsrichtung wirken.

Befindet sich ein Antrieb in Bewegung, so werden weitere Benutzereingaben für diesen Antrieb ignoriert, bis die Bewegung abgeschlossen wurde. Der Benutzer wird darüber mit einer Warnung "Motor  <Name des Motors> in Bewegung" informiert (besser: erst keine Eingabe ermöglichen). Eingaben zu anderen Antrieben sind möglich.

Vor jedem physikalischen Experiment werden mit Hilfe der genannten Antriebe die Probe positioniert und die Krümmung des Kollimators eingestellt. Hierzu werden vom Benutzer über die Dialogbox Manuelle Justage für jeden Antrieb die einzustellenden Positionen (Soll-Positionen) angesteuert. Je nach gewählter Betriebsart  (s. u.) werden die Antriebe in unterschiedlicher Weise von ihrer aktuellen Position (Ist-Position) auf die Soll-Position gefahren.

Zunächst werden die Antriebe DC und AZ eingestellt. Danach im Wechsel  (iterativer Prozeß) die drei anderen Antriebe: DF, TL, CC (deshalb als Schnellauswahl  im Dialogfenster bereitgestellt). Zwischenzeitlich wird die Halbwertsbreite gemessen (s. u.). Der iterative Prozeß wird ca. 20 - 100 Mal wiederholt.


 

1.3 Bewegung der einzelnen Antriebe:

Die folgenden Angaben treffen auf jeden Antrieb zu:

  1. Aktuelle Position

  2. Jeder Antrieb besitzt eine aktuelle Position (Ist-Position), die dem Anwender in einem Feld der Dialogbox (Anzeigefeld Winkel) als Zahlenwert und durch einen Schieberegler in horizontaler Ausrichtung angezeigt wird. Die graphische Benutzungsoberfläche des Systems stellt sicher, daß Zahlenwert und Position des Schiebereglers stets miteinander übereinstimmen.

     Ausnahme:
    Text im Kopf der Dialogbox: Gibt Hinweis auf Gueltigkeit der angezeigten Ist-Postion [Anzeigefeld: Winkel] nach der Initialisierung des Systems (Programmstart):

  3. Betriebsart

  4. Für jeden Antrieb gibt es drei Betriebsarten, um die gewünschte Soll-Position anzusteuern:
    1. Direktbetrieb: Die Soll-Position wird im Eingabefeld Neuer Winkel als Absolutwert angegeben. Der Antrieb fährt in die gewünschte Soll-Position.

    2. (Frage: Wie kann hier die Bewegung gestoppt werden ?)
    3. Schrittbetrieb: Die Soll-Position wird relativ zur Ist-Position durch die Eingabe einer Schrittweite im Eingabefeld D= definiert. Die Bewegung wird aktiviert, wenn eine der Cursortasten  der Tastatur  (<- oder -> ) betätigt wird bzw.  auf der Scrollbar rechts oder links angeklickt wird. Durch Betätigen der Cursortaste -> (bzw. Scrollbar links) fährt der Antrieb bis zur Position Ist-Position + Schrittweite. Durch Betätigen der Cursortaste <- (bzw. Scrollbar rechts) wird der Antrieb auf die Position Ist-Position - Schrittweite bewegt.
    4. Fahrbetrieb: Der Antrieb wird solange bewegt, wie die Cursortasten (<- oder -> ) der Tastatur gedrückt gehalten werden oder  auf der Scrollbar rechts oder links angeklickt wird. Die Bewegungsrichtung richtet sich nach der betätigten Cursortaste. Mit der Cursortaste ->  (bzw. Scrollbar rechts) wird ein größerer Winkel (= größere Position) eingestellt, mit der Cursortaste <-  (bzw. Scrollbar links) wird der Winkel (die Position) verkleinert.

    5.  
  5. Bewegungsgeschwindigkeit

  6. In den Betriebsarten Direktbetrieb und Fahrbetrieb kann die Bewegungsgeschwindigkeit des Antriebs vorgegeben werden. Sie kann vom Benutzer im Eingabefeld Fahren mit V = ... s-1 eingetragen werden. Im Schrittbetrieb wird der Antrieb immer mit der maximal möglichen Geschwindigkeit bewegt.
     
  7. Relative Null

  8. Für den Direktbetrieb erfolgt die Definition der Soll-Position immer in Bezug auf die relative Null-Position. Initial entspricht die relative Null-Position der absoluten Null. Es kann aber jede beliebige Ist-Position durch das Eingabefeld relative Null setzen zur relativen Null erklärt werden. Durch das Eingabefeld relative Null löschen wird die relative Null-Position wieder auf die absolute Null zurückgesetzt, durch erneutes relative Null setzen kann eine andere Position zur relativen Null erklärt werden.

    Bsp.: Die Ist-Position liegt oberhalb der abs.Null und wird zur rel.Null erklaert.
    minPos---------|absNull---|istPos=relNull----|maxPos

    Anm.: Das Setzen der relativen Null  hat eine Auswirkung auf den als  'Winkel' bzw. 'Neuer Winkel' g|ltigen Wertebereich. Wenn z.B.  die relative Null auf den minimalen Winkel gesetzt wurde, können  nur noch positive Winkelpositionen  auftreten.
     

  9. Reaktion auf unzulässige Eingaben

  10. Die Antriebe müssen durch die Software vor unzulässigen Eingaben geschützt werden. Bei unzulässigen Eingaben wird der Benutzer durch einen Warnton akustisch gewarnt:
    1. Wird im Direktbetrieb eine Soll-Position eingegeben, die außerhalb des zulässigen Wertebereichs liegt, so wird die Positionsangabe auf die minimal oder maximal zulässige Position korrigiert, je nachdem, ob der zulässige Wertebereich unterschritten oder überschritten wird. Dasselbe gilt, wenn im Schrittbetrieb eine Schrittweite eingegeben wird, die zu einer Position außerhalb des zulässigen Wertebereichs führt. Dann wird die Schrittweite entsprechend korrigiert. Im Fahrbetrieb kann der Antrieb ebenfalls nur innerhalb des zulässigen Wertebereichs bewegt werden. Eine Unter- oder Überschreitung wird in diesem Fall durch Stoppen des Antriebs verhindert.
    2. Wird im Direktbetrieb oder im Fahrbetrieb eine unzulässige Bewegungsgeschwindigkeit eingegeben, so wird die Bewegungsgeschwindigkeit durch die Software auf die maximal mögliche Bewegungsgeschwindigkeit gesetzt.
    3. Wird im Schrittbetrieb für die Schrittweite ein Wert eingegeben, der außerhalb des zulässigen Wertebereichs für die Schrittweite liegt, wird die Schrittweite auf den minimal oder maximal möglichen Wert gesetzt, je nachdem, ob der zulässige Wertebereich unterschritten oder überschritten worden ist.


1.4 Messung der Halbwertsbreite:

Während des Positionierungsvorganges wird eine Messung der Halbwertsbreite  vorgenommen: Bei Betaetigung von [Halbwertsbreite messen] erscheint eine Message-Box mit dem Ergebnis. Der Wert wird im Moment der Anfrage ermittelt und gibt einen Hinweis auf die Güte der Einstellung. Die Halbwertsbreite wird durch Bewegung des Antriebs von Beugung fein  mit der aktuellen Schrittweite von Beugung fein gemessen.
 
 

2. Eingaben:

  1. Zusammenfassung

  2.  
  3. Zulässige Motorpositionen (absolute Positionen)

  4. Für die Antriebe DC, DF und TL erfolgt die Eingabe der Soll-Position in Winkelsekunden (1 Grad = 3.600 Winkelsekunden), für den Antrieb AR in Grad und für den Antrieb CC in Mikrometer. Die zulässigen Wertebereiche  (Konstanten im ini-File: AngleMin, AngleMax) ind für den jeweiligen Antrieb sind
      Bem. / Fehler: bei DC und TL: Wertebereich kein Vielfaches der Auflösung (Maximalposition nicht erreichbar)!?

    Achtung: Das Setzen der relativen Null hat Auswirkungen auf den Wertebereich  der relativen Positionen.
    Ist-Positionen und Soll-Positionen in den  Eingabefeldern 'Winkel' und 'neuer Winkel' werden als relative Positionen eingetragen.

  5. Schrittweite

  6. Für die Antriebe DF, DC und TL erfolgt die Eingabe der Schrittweite in Winkelsekunden, für den Antrieb AR in Grad und für den Antrieb CC in Mikrometer. Die zulässigen Wertebereiche  (Konstanten im ini-File: MinimalWidth, MaximalWidth) für den jeweiligen Antrieb sind
     
  7. Bewegungsgeschwindigkeit

  8. Für die Antriebe DF, DC und TL erfolgt die Eingabe der Bewegungsgeschwindigkeit in Winkelsekunden/Sekunde, für den Antrieb AR in Grad/Sekunde und für den Antrieb CC in Mikrometer/Sekunde. Die zulässigen Wertebereiche  (Konstante im ini-File: MaxVelocity) für den jeweiligen Antrieb sind
     


3. AENDERUNGSWUENSCHE, Fehler:

  1. Alle Antriebe sollten gleichzeitig bearbeitbar sein, d.h.

  2. -  über getrennte Fenster (je Motor ein Fenster) oder
    - ein Fenster mit der Möglichkeit der gleichzeitigen Bedienung  von mehreren  (5) Motoren
     
  3. Abspeicherung von Zuständen im ini-File:

  4.  

     
     
     
     
     

    ini-File: Feste Vorgabewerte werden bei jedem Programmstart fuer alle Anfangswerte geladen, womit eine unflexible Arbeitsweise verbunden ist.

    bisherige Arbeitsweise: Editieren im ini-File. um persoenliche Einstellungen auf der Grundlage vorheriger Versuchsreihen vorzunehmen. Diese Arbeitsweise ist problematisch und fuehrte in der Vergangenheit zu schwer zu lokalisierenden Fehlern.
     

    Sinnvoll: Erarbeitete manuelle Einstellungen sollte man in unterschiedlichen Files retten koennen. Damit kann man mit verschiedenen Ausgangssituationen operieren (Versuchsreihen)

    Kontrollierte Einstellungen  der ini-File-Parameter nur im Dialog mit Ueberpruefung der  logischen Konsistenz der Werte sowie der Moeglichkeit, die Einstellungen in einem privaten ini-File zu retten (s. o.)

    Achtung: bestimmte geraetespezifische Parameter des ini-Files sollten  nach einer gesicherten Einstellung geschuetzt werden (keine Notwendigkeit   der Aenderung im normalen Betrieb). Hierzu zaehlen: IOADDR, RamAddr, Torque, RemoveLimit, Koeff_1/2/3
     

  5.  Die Geschwindigkeit V koennte einheitlich auf alle drei Bedienungsarten Einfluss haben.

  6. (Anm.: Fuer den Schrittbetrieb reicht  die maximale Geschwindigkeit aus - Aussage von Herrn Pfeiffer)
     
  7.  Im Fahrbetrieb verursacht die Tastaturbenutzung (Pfeiltasten) einen Tastaturpufferueberlauf, da die Taste staendig gedrueckt  werden muss.

  8.  
  9. Handhabung der Endlagenschalter der Geraete wird softwaremaessig nicht ausreichend unterstuetzt.

  10.  
  11. Die zugehoerige Dialogbox entspricht ergonomisch nicht optimal der angestrebten Funktionalitaet.

  12.  
  13. Wertebereiche (u. a. für Soll-Position) in Dialogbox als Eingabehilfe?

  14.  
  15. Eingaben für sich bewegende Motoren nicht ignorieren, sondern erst gar nicht ermöglichen (Funktion der Oberfläche)!


4. Offene Fragen:

  1. Kann ein sich im Direktbetrieb (Schrittbetrieb) bewegender Motor auch gestoppt werden (und wie)?
  2. Bezieht sich der Schieberegler auf die relative oder absolute Null?
  3. Kann die relative Null bei laufendem Motor gesetzt werden (eigentlich nicht sinnvoll)?
  4. Verlassen des Dialogs: was passiert mit sich bewegenden Motoren (stoppen oder weiterlaufen lassen)?
  5. bei DC und TL: Wertebereich  der Position kein Vielfaches der Auflösung (Maximalposition nicht erreichbar)!
  6. Maßeinheit der Schrittweite: Motorschritte ?
  7. AR-Schrittweite paßt nicht zum AR-Bereich!
  8. AR-Bewegungsgeschwindigkeit: Maßeinheit in Winkelsekunde / Sekunde (nicht: Grad/Sekunde)?
  9. Auflösung auch bei Schrittweite (dieselbe wie bei Position) und bei der Geschwindigkeit?
  10. Korrektur ungültiger Eingabewerte (z. B.außerhalb der Bereiche oder nicht entsprechend der Auflösung):Information des Nutzers zu begradigten / geänderten Werten?