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.
