wiki:LabScript

c't-LabScript

LabScript ist eine einfache Batch-Programmiersprache, die auf der c't-Lab-Syntax aufbaut und diese um Register-Befehle, arithmetische Operationen, Schleifen- und Sprungkonstrukte erweitert. Sie wird als INI-Datei von der SD-Karte auf dem FPGA-Modul ausgeführt (als simpler Text z.B. mit Notepad gespeichert). Neu sind Befehle, die eigene oder empfangene Daten in Tabellenform (Excel-kompatibel) auf SD-Karte speichern, womit auch ein Datenlogger-Betrieb möglich wird.

c't-Lab-Befehle, die an andere (in der OptoBus-Kette nachfolgende) Module gerichtet sind, können beliebig eingestreut werden (Moduladressen nicht vergessen!)

Um überflüssige Bestätigungsmeldungen des FPGA-Moduls zu verhindern, sollte das die Befehlszeilen abschließende "!" weggelassen werden (Silent Mode). Damit erreicht man einen Script-Durchsatz von etwa 700 Zeilen/Sekunde?.

Die LabScript-Syntax (vorläufig, ab FPGA-Firmware 1.1) finden Sie unter Browse Source/Dokumentation.

LabScript-Beispiel:

0:20=2.345
0:VAL 3=255
// FPGA-Modul hat hier die Adresse 7
7:ACC=0
REG 1=1.2345
REG 8=15
0:TRM=255
7:LBL 5
// Register 1 zum Akku addieren
ADD 1
DLY=100
// Decrement Schleifenzähler
DEC 8
// solange größer 0, springe zu Label 5
BRG 5
// Akku ausgeben
REG 0?
0:20=0
VAL 10?

Prinzipiell ist LabScript völlig unabhängig von der Nutzung des FPGA. In Verbindung mit dem VGA-Interface für das FPGA können mit den Grafik-Befehlen auch Texte, Messwerte und Grafiken angezeigt werden (siehe Beispiel DEMOVGA.INI).

Im Zusammenspiel mit der aktuell entwickelten ADA-Treiber-Konfiguration ct-PicoBlazeADA können per LabScript auch die 8 Kanäle einer aufgesteckten AD16-8-Karte ausgelesen oder die einer DA12-8-Karte (16-Bit-Version mit LTC1655 zu bestücken!) eingestellt werden. Die Skalierung der Ausgangsspannungen muss in LabScript erfolgen, da der PicoBlaze-Treiber nur 16-Bit-Integer-Werte annimmt.

Last modified 9 years ago Last modified on Jan 30, 2009, 11:10:46 AM