Title: # Fr 12
Author: Fritz-Haber-Institut
Last saved by: carla

FHI PP&B C.Tschentscher                                                                                       2 September 2004

Das ReactRegler-Programm Version 2.0

Durch die Ergänzung eines Kommandozeileninterpreters ist es möglich geworden, Kommandos von der Kommandozeile zu lesen und abzuarbeiten.

Folgende Kommandos sind implementiert:

1. Verbindung zum Real Time Computer (RTC) herstellen 
     (auch durch Betätigen des ‘Connect’-Buttons möglich)
    connect   
    
2. Verbindung zum RTC unterbrechen 
    (auch durch Betätigen des ‘Disconnect’-Buttons möglich)
   disconnect   

3. Start einer Messung 
    (auch durch Betätigen des ‘Start’-Buttons möglich)
    start[ <filename>  <A>] 
    Der Dateiname muß immer eine vollständige Pfadangabe enthalten. Wenn der Nutzer im
    betreffenden Verzeichnis nicht schreiben darf, gibt es eine Fehlermeldung und die Messung wird 
    nicht gestartet. Existiert das angegebene File schon wird die neue Messung hinten angehangen,
    wenn “start” mit der Option “A” (für append) aufgerufen wurde. Fehlt “A” wird das File 
    überschrieben. Die “A” – Option  soll das Aufnehmen von Meßreihen unterstützen, die dann in 
    einem File zusammengefaßt werden. Der Fileheader mit den Meßparametern wird bei jeder
    Messung mitgeschickt. Er steht dann immer zwischen den einzelnen Meßabschnitten. Die 
    “A”-Option wird als solche nur erkannt und ausgewertet, wenn auch ein Filename mit angegeben
    wird.
    Fehlen die Parameter, wird ein Filechooser geöffnet und der Nutzer kann ein File auswählen.
    Soll das Kommando in einem Skript abgearbeitet werden, ist eine korrekte Angabe des
    Filenamens (mit vollständiger Pfadangabe) zwingend erforderlich!!

    Ist keine Verbindung zum RTC aktiv, wird eine Fehlermeldung erzeugt.  Das Start-Kommando
    kann dann nicht ausgeführt werden.  Vor dem nächsten Versuch muss dann mit connect eine
    neue Verbindung zum RTC hergestellt werden.
    gedrückt werden.

4. Messung stoppen 
    (auch durch Betätigen des ‘Stop’-Buttons möglich)
    stop  
    Durch ein STOP werden alle Werte im RTC zurückgesetzt. Sollen die Werte bis zur  nächsten
    Messung  gehalten werden, muß auf STOP vom RTC gewartet werden.( Das funktioniert aber
    erst, wenn der RTC ein neues Programm hat!!)  In einem Skript würde
    erst am Ende einer Meßreihe ein STOP stehen. (Jetzt noch nach jeder Messung!!)

5. Skript einlesen und ablaufen lassen
   run <filename>   
    Fehlt der Parameter, wird ein Filechooser geöffnet und der Nutzer kann ein File auswählen.
    Ein Skriptfile verarbeitet alle in dieser Beschreibung erläuterten Befehle (auch run <filename>
    bei einer maximalen Verschachtelungstiefe von 20), die jeweils in eine Zeile  geschrieben
    werden sollten. 
    Im Skriptfile gelten Zeilen, die mit # beginnen als Kommentar und   werden überlesen.
    Ein eingelesenes Skriptfile wird immer vollständig abgearbeitet. Mit einem Skript können
    auch mehrstufige Rampen abgearbeitet werden. 
    Für jeden neuen Durchlauf muß ein Satz Parameter und ein “start” im Skript stehen.
    Ein Satz Settings spaltet sich in eine Zeile für den Reaktor und 
    jeweils eine Zeile für die MFC (siehe 9. und 10.)
    Der Prozeß startet jeweils nach Einlesen des ‘start’ Kommandos, wenn eine Verbindung zum
    RTC bereits besteht. Existiert keine Verbindung zum RTC, wird keine Messung gestartet!!
    Ein “stop” beendet eine ganze Meßreihe.
 
6. Parameter aus Datei einlesen 
   (wie Menü Settings🡪 Lese Settings von Datei).
   load [<fileName>]   
    Fehlt der Parameter, wird ein Filechooser geöffnet und der Nutzer kann ein File auswählen.
    
7. Parameter in Datei speichern 
   (wie Menü Settings🡪 Speicher Settings in Datei).
   save [<fileName>]   
    Fehlt der Parameter, wird ein Filechooser geöffnet und der Nutzer kann ein File auswählen.

8. Öffnen des Fensters zum manuellen Setzen der Parameter 
   (wie Menü Settings🡪 Öffne Settings Fenster).
   paraWin   

9. Reactorparameter setzen
   setReactor  <procTime> <time> <temp> <backTime>  <holdTime >  <prop>
                       <channels>
   Die Parameter werden durch ein Leerzeichen getrennt. 
    Bedeutung der Parameter:

       ProcTime 	:  Prozeßzeit in s
       time          	:  Zeit in der der Ofen die Endtemperatur erreichen soll
       temp         	:  Endtemperatur des Ofens
       backTime 	:  Nachstellzeit 
       holdTime	: Vorhaltezeit
       prop         	:  Proportionalitätsfaktor
       channels  	: Anzahl der aktiven Regler

    Achtung: Dieses Kommando ist nur zusammen mit setMFC gültig. Um das für den 
    Kommandointerpreter sichtbar zu machen, muß am Ende der Zeile vom letzten Parameter durch
    Leerzeichen getrennt ein’/’ stehen.

 10. Parameter für die Durchflussregler setzen.
       setMFC  <mfcNum> <enable> <chanNum> <tempPoint> <riseTime >
                      <timePoint> <finalFlow> <kfaktor>
      Die Parameter werden durch ein Leerzeichen getrennt. 
       Bedeutung der Parameter:

          MfcNum	:  Nummer des MFC
          Enable	:  MFC aktiv (Y/N)
          chanNum 	:  Kanalnummer
          tempPoint	:  Temperatur bei der sich der Gasfluß ändern soll (K)
          riseTime  	:  Anstiegszeit (s)
          timePoint	:  Zeit bei der sich der Gasfluß ändern soll (s)
          finalFlow	:  zu erreichender Gasfluß (ml)
          kFaktor   	:  Faktor

       Achtung: Dieses Kommando ist nur zusammen mit setReactor gültig. Um das für den 
       Kommandointerpreter sichtbar zu machen, muß am Ende der Zeile vom letzten Parameter
       durch Leerzeichen getrennt ein Slash’/’ stehen.
       Für jeden (auch inaktiven) Regler muß eine Zeile existieren. Am Ende der letzten Zeile steht
       kein Slash‘/’.

Beispiel für 9 und 10:

setReactor 3600 60 300 4.0 1.0 10.0 3 /
setMFC 1 Y 2 150 60 0 100 2 /
setMFC 2 N 3 160 60 0 200 2 /
setMFC 3 Y 4 170 60 0 300 2 /
setMFC 4 Y 5 180 60 0 400 2 /
setMFC 5 N 1 190 60 0 500 2 

11. Programm verlassen 
       (wie Menü File🡪 Quit).
       quit [<filename>] 
      Ist ein Dateiname als Parameter angegeben, werden die aktuellen Parameter in der Datei
       gespeichert. Ohne Dateiname wird das Programm verlassen, ohne zu speichern.

12. Hilfe
     help  [<commando>] 
     Ist ein Kommando als Parameter angegeben, so erhält man Hilfe zu diesem Kommando.
      Help ohne Parameter listet die möglichen Kommandos auf.