- Adbasic
-
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 der gleichen 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#, Delphi, 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.
Inhaltsverzeichnis
Beispiele
Signalgenerator
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:
- Ausgabe von PAR_2 auf den Analogausgang 1.
- Der Befehl DAC (digital-analog converter) erzeugt am Analogausgang 1 die zum Digitalwert PAR_2 gehörende Spannung.
- Erhöhen des Variablenwerts um 1.
- Sobald PAR_2 größer als 65.535 wird, wird der Variablenwert wieder auf 0 gesetzt.
P-Regler
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:
- Konstante offset: Digitalwert, der der Spannung 0 Volt am Analogausgang entspricht.
- Variable cd: Regeldifferenz.
- Variable av: Stellgröße.
- Variable PAR_1: Sollwert der Regelgröße.
- Variable PAR_2: Verstärkung = Kennwert P des Reglers.
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:
- Berechnung der Regeldifferenz cd; dabei ist ADC(1) die Regelgröße.
- Der Befehl ADC (analog-digital converter) wandelt das Analogsignal am Eingangskanal 1 und gibt den entsprechenden Digitalwert zurück.
- Berechnung der Stellgröße av aus Regeldifferenz und Verstärkung PAR_2.
- Ausgabe der Stellgröße av auf den Analogausgang 1.
- Der Befehl DAC (digital-analog converter) erzeugt am Analogausgang 1 die zum Digitalwert av gehörende Spannung.
Siehe auch
Weblinks
Wikimedia Foundation.