ADbasic ist eine kommerzielle Programmiersprache der Firma Jäger Computergesteuerte Messtechnik GmbH. Die Sprache ist an BASIC angelehnt und dient zur Programmierung der ADwin-Geräte derselben Firma.
Die erste Version der Entwicklungsumgebung erschien 1994 für Microsoft Windows. Heute gibt es außerdem einen Compiler für Linux.
Die Anwendungsgebiete von ADbasic sind die Regelungs-, Mess- und Automatisierungstechnik. Die Programmierung folgt dem Prozessmodell des allgemeinen Regelkreises, wodurch sich die Sprache zur einfachen Programmierung von Regelungen anbietet. Ein ADbasic-Programm wird zyklisch in festgelegten Zeitabständen ausgeführt; zusätzlich kann die Initialisierung und Endbearbeitung von Daten programmiert werden.
ADbasic ist eine textorientierte Sprache. Die grundlegenden Befehle sind an BASIC angelehnt und ermöglichen auch strukturiertes Programmieren. ADbasic enthält eine Vielzahl spezifischer Befehle, die auf die Hardware der ADwin-Geräte zugreifen und dort analoge und digitale Signale verschiedenster Art verarbeiten.
Der ADbasic-Compiler ist ein Cross-Compiler, der direkt ausführbaren Binärcode für ADwin-Geräte erzeugt. Die Performance der ausgeführten Prozesse ist abhängig von der Leistungsfähigkeit des eingesetzten ADwin-Geräts; es können Regelfrequenzen im Bereich bis zu einigen Megahertz unter Einhaltung harter Echtzeit erreicht werden.
In ADbasic geschriebene Prozesse können Daten mit dem PC austauschen. Es stehen Schnittstellen für viele Programmiersprachen (z. B. C++, Visual Basic, C#, Object Pascal, Java) und Programmpakete (z. B. Matlab, LabVIEW, Diadem) zur Verfügung. Damit kann der Anwender die Daten auf dem PC verwenden, z. B. in selbst erstellten Bedienoberflächen.
Im Lieferumfang von ADbasic sind zusätzliche Werkzeuge verfügbar, so unter anderem:
Der folgende Quelltext ist das ADbasic-Programm eines Signalgenerators, der an einem analogen Ausgang eine Sägezahnspannung ausgibt:
EVENT:
DAC(1, PAR_2)
PAR_2 = PAR_2 + 1
IF (PAR_2 > 65535) THEN
PAR_2 = 0
ENDIF
Der Programmabschnitt EVENT: definiert den Prozess, der regelmäßig in kurzen Zeitabständen durchlaufen wird, bis der Prozess stoppt:
Der folgende Quelltext ist das ADbasic-Programm für einen Proportional-Regler:
#DEFINE offset 32768 DIM cd, av AS LONG
INIT: PAR_1 = offset PAR_2 = 10
EVENT: cd = PAR_1 - ADC(1) av = cd * PAR_2 + offset DAC(1,av)
Zunächst definiert das Programm die Konstanten und Variablen:
Der Programmabschnitt INIT: weist den Variablen die Startwerte des P-Reglers zu.
Der Programmabschnitt EVENT: definiert den Regelprozess, der regelmäßig in definierten Zeitabständen durchlaufen wird, bis der Prozess gestoppt wird: