Kontrollsystemzugriffe von XBASIC (bzw. CSXBASIC) aus

Eigentlich sollte klar sein, wo der Sinn dabei ist, zusätzlich zu den Matlab-Programmen noch XBASIC-Programme zu verwenden, naemlich dort, wo kleinere Aufgaben erledigt werden muessen, für die keine extra MATLAB-Lizenz beschafft werden kann. So lassen sich beliebig viele XBASIC-Programm auf beliebig vielen Rechnern starten. Die Funktionalität des alten EPOS-Systems soll mit der Zeit übernommen werden. Zusätzlich stehen viele Low-Level-Grafikbefehle zur Verfügung, die sogar die Programmierung einer eigenen grafischen Benutzerschnittstelle erlauben.

Allgemeine Bemerkungen:

Das Programm mit Kontrollsystemanbindung nennt sich CSXBASIC. Diese Version meldet sich beim Start automatisch an das Kontrollsystem an. Bei Beendigung des Interpreters erfolgt die Abmeldung.

Der Fehlerstatus des Kontrollsystems (globale Variable CCSERR) wird nach jedem Zugriff in die XBASIC-Variable CCSERR übertragen.

Weiterhin gibt es folgende Systemvariablen:
CCSAPLID   --   Applikationsid des CSXBASICs
CCSERR     --   Fehlerstatus


Befehle:

Einzelnen Wert abfragen

a=csget("<Parameter>")
a$=csget$("<Parameter>")

Rückgabewert ist der Wert des entsprechenden Parameters. Falls ein Fehler aufgetreten ist, wird Null zurückgegeben, bzw. bei Zeichenketten die Zeichenkette "<ERROR>".

Vektorparameter abfragen

a()=csvget("<Parameter>" [, <Anzahl der Werte>[,<Offset>]])
b$()=csvget$("<Parameter>" [, <Anzahl der Werte>[,<Offset>]])

Die angebene Anzahl an Werten wird als Vektor zurückgegeben. Falls ein Offset angegeben wird, wird ab dem entsprechenden Eintrag des Vektors gelesen. Das Ergebnis wird einem Feld zugewiesen, welches ggf. umdimensioniert wird. Wird die Anzahl der Werte nicht angegeben, so wird der gesamte Vektor gelesen. Der erste Eintrag des ccs-Vektors findet sich dann in a(0). Der letzte in a(n-1).

Parameter setzen

csput Parameter$, Wert
csput Parameter$, Wert$

Der angebene Parameter wird auf die angebenen Werte gesetzt.

Parameter-Vektor setzen

csvput Parameter$, Werte()[,n[,o]]
csvput Parameter$, Werte$()[,n[,o]]

Der angebene Parameter wird auf die angebenen Werte gesetzt. n=Anzahl der zu setzenden Werte, o=Offset.

Auf die Änderung eines Parameter-wertes warten

cswait "<Parameter>" [, <Time-out>]

Es wird gewartet, bis sich der angegebene Parameter geändert hat, maximal aber die im Time-out angebene Zeit (in Sekunden, bei Angabe von 0 wird unbegrenzt gewartet). Hat sich der Parameter in dieser Zeit nicht geändert, wird dies als Fehlerbedingung aufgefaßt (CCSERR = -1).

Minimum und Maximum und Auflösung eines Parameters abfragen

    a=csmin("<Parameter>")
    b=csmax("<Parameter>")
    c=csstep("<Parameter>")

Falls ein Fehler auftritt, wird Null zurückgegeben.

Maximalzahl der Werte eines Parameters zurückgeben

s=cssize("<Parameter>")

Es wird die Anzahl der Werte zurückgegeben, die für diesen Parameter definiert ist, zurückgegeben. Falls ein Fehler auftritt, wird Null zurückgegeben.

Callback-Proceduren definieren

cssetcallback Parameter$,Procedure
csclearcallbacks

Es wird eine Procedure angegeben, die bei Aenderung des Parameters Parameter$ automatisch aufgerufen wird. Mit csclearcallbacks werden alle Funktionen deaktiviert.

Beispiel:

cssetcallback "POL_LASER_EXPERT.INTENSITY_AM", nachregeln
'... weiterer Programmcode
end
procedure nachregeln
  print "Intensitaet hat nachgelassen."
  '... jetzt muss was getan werden...
return


M. Hoffmann
7. Feb. 1999