Die Anwendung von Agilent VEE in Lehre und Forschung

Transcrição

Die Anwendung von Agilent VEE in Lehre und Forschung
Prof. em. Dr. rer. nat. habil. Albrecht Rost
Fachbereich Ingenieur- und Naturwissenschaften
Die Anwendung von Agilent VEE in Lehre und Forschung
Mitteilungen aus dem Agilent Technologies Referenzlabor
der Hochschule Merseburg (FH)
Seit etwa zehn Jahren wird an unserer Hochschule Agilent VEE zur Messplatzautomatisierung und Messdatenverarbeitung in Lehre und Forschung eingesetzt. Dabei hat sich immer
wieder gezeigt, dass Agilent VEE ein sehr nützliches Werkzeug ist, nicht nur beim Einsatz für
die virtuelle Instrumentierung in der Messtechnik, sondern auch als Hilfsmittel zur Simulation
für die Veranschaulichung wichtiger theoretischer Zusammenhänge. In den folgenden Kapiteln soll ein Überblick über den Einsatz von Agilent VEE in Vorlesungen und Praktika sowie
bei der Realisierung von Forschungsvorhaben gegeben werden.
1. Einführung
Was ist Agilent VEE?
Agilent VEE von Agilent Technologies (ursprünglich von Hewlett Packard als HP VEE auf
den Markt gebracht) ist eine grafische Programmiersprache, die speziell für die Programmierung von Geräten über die in der Messtechnik weit verbreitete Schnittstelle IEEE488 entwickelt worden ist. Inzwischen ist daraus ein Werkzeug geworden, das in seinen Möglichkeiten
weit über dieses ursprüngliche Anwendungsgebiet hinaus reicht. Beim Programmieren mit
Agilent VEE entsteht das Programm durch die Verknüpfung grafischer Objekte mittels Datenleitungen. Die grafischen Objekte werden in menü-organisierten Bibliotheken zur Verfügung
gestellt und realisieren Programmoperationen, die an den Eingängen (Anschlüsse links) anliegende Eingangsdaten verknüpfen und den Ausgängen (Anschlüsse rechts) zuführen (s.
Abb.1). Die Operation wird ausgeführt, wenn alle erforderlichen Eingangsdaten zur Verfügung stehen, d.h., es handelt sich um eine datenflussabhängige Programmierung.
Starteingang
Dateneingänge
Abb. 1: Beispiel eines grafischen Objektes
Das Objekt „Formula“ verknüpft die
Eingangsdaten entsprechend der eingetragenen Formel
Datenausgang
Readyausgang
Gerade für Anwendungen in der Messtechnik ist es aber häufig erforderlich, den Programmablauf mindestens teilweise ereignisabhängig zu steuern. Dazu dienen die Anschlüsse oben
und unten an den grafischen Objekten (s. Abb.1). Ein Readysignal wird allerdings erst ausgegeben, wenn alle von den Ausgangsdaten initiierten Operationen weiterer Objekte abgeschlossen sind – man sagt, wenn der ganze Zweig des Programms abgearbeitet ist. Zu den
Datenverbindungen können also noch Steuerverbindungen dazu kommen. Insgesamt kann
man sagen, dass die Programmierung in der Entwicklung eines Flussdiagramms besteht; sie
bietet damit eine Art der Problemlösung, die dem Ingenieur sehr vertraut ist.
1
Wie arbeitet man mit Agilent VEE?
Agilent VEE läuft unter dem Betriebssystem Windows und zeigt eine entsprechende Oberfläche (s. Abb.2). Die Menüs „Flow“, „Device“, „I/O“, „Data“ und „Display” enthalten Bibliotheken der grafischen Objekte, das Menü „Debug“ enthält spezielle Werkzeuge zur Fehlersuche im Programm, und das Werkzeug „fx“ umfasst eine umfangreiche Bibliothek mathematischer Operatoren und Funktionen.
Abb. 2: Menü- und Werkzeugleiste von Agilent VEE
Abb. 3: Programmbeispiel: Berechnung und grafische Darstellung der Funktion y = A ⋅ sin x
Abb. 3 zeigt ein einfaches Programm, das der Berechnung und grafischen Darstellung der
Funktion y = A ⋅ sin x dient. Beim Erstellen der Verbindungen zwischen den grafischen Objekten unterscheidet Agilent VEE automatisch zwischen Daten (blau) und Steuersignalen
(grau); dünne blaue Verbindungen übertragen skalare Daten, dicke dagegen Daten komplexeren Typs.
In diesem Beispiel werden beim Ablauf des Programms zunächst alle Ausgangsdaten durch
sogenannten Collectoren in Feldern zwischengespeichert, bevor sie grafisch dargestellt werden. Das hat den Vorteil, dass
• zur Ausgabe der Grafik nur ein Bildschirmzugriff erforderlich ist (die Datenfelder werden
in einem Schritt übertragen, die Programmlaufzeit wird gegenüber einer Ausgabe einzelner
Datenpunkte verkürzt),
• die Daten nach der Grafikausgabe für weitere Operationen zur Verfügung stehen.
Alle Datenleitungen und alle Eingänge und Ausgänge stellen Container dar, d.h., nach Ablauf
des Programms enthalten sie Informationen über die zuletzt übermittelten Daten, die mit einem Mausklick (linke Maustaste) abgefragt werden können; Abb. 3
zeigt das am Beispiel der x-Daten. Die grauen Verbindungen übertragen ein Steuersignal: Die Felder werden abgeschlossen, wenn die
Schleife beendet, d.h., wenn der betreffende Datensatz vollständig ist.
Die grafischen Objekte haben in der Titelleiste zwei Schaltflächen. Die
Abb. 4: Minimiertes
rechte Schaltfläche wandelt die Grafik des Objektes in ein minimiertes
Symbol des
Symbol um (s. Abb. 4), was besonders bei umfangreichen Programmen
Displayobjekts
hilfreich ist, damit man den Bildschirm optimal ausnutzen kann.
2
Mit der linken kann man das Editiermenü des betreffenden Objektes öffnen (das ist auch möglich mit einem Klick der rechten Maustaste auf das Objekt). Aus
diesem Menü ist u.a. die Online-Hilfe zugänglich (s.
Abb. 5). Vor allem aber kann man die Eigenschaften
des Objektes in weiten Grenzen seinen Anforderungen
anpassen.
Zum Editieren des Programms ruft man das Editiermenü aus der Menüleiste auf (s. Abb. 6; das ist auch
möglich mit einem Klick der rechten Maustaste auf die
Arbeitsfläche „Main“). In diesem Menü findet man
u.a. die Funktion „Add to Panel“, die es gestattet, aus
ausgewählten Objekten eine Benutzeroberfläche zu
konstruieren. Diese enthält in der Regel nur noch die
Abb. 5: Objekt mit geöffnetem Editiermenü Objekte, die man zum
Bedienen des Programms
und zur Datenausgabe benötigt. Beide Oberflächen liegen übereinander; man kann zwischen ihnen umschalten und auf beiden
Oberflächen editieren. Wenn man allerdings aus dem Programm
eine Runtime-Version erzeugt (über das Menü „File“ Æ „create
runtime version“), steht nur noch die Benutzeroberfläche zur
Verfügung, und das Programm kann nicht mehr editiert werden.
Weitere wichtige Funktionen aus diesem Menü ermöglichen die
Programmierung von Benutzerobjekten (User Object) und Benutzerfunktionen (User Function). Beide Optionen realisieren
eine Art Unterprogramm und bieten damit Möglichkeiten, das
Programm übersichtlicher und effektiver zu gestalten. Während
aber Benutzerfunktionen eine Anzahl von Objekten lediglich in
einem neuen Objekt zusammenfassen, das im Programm an entsprechender Stelle eingefügt ist, werden Benutzerfunktionen in Abb. 6: Editiermenü des Programms
einer Bibliothek abgelegt und zur Laufzeit aus dem Programm
aufgerufen.
Nach unserer Einschätzung
ist Agilent VEE ein Werkzeug, das sich intuitiv sehr
gut erlernen und bedienen
lässt. Am schnellsten erlernt man den Umgang,
wenn man sich eine konkrete Programmieraufgabe
stellt und versucht, diese
zu lösen. In den folgenden
Kapiteln werden Beispiele
aus den verschiedensten
Bereichen der Anwendung
Abb. 7: Benutzeroberfläche zum Programmbeispiel aus Abb. 3
gezeigt, die unsere Erfahrungen mit Agilent VEE dokumentieren und gleichzeitig den Umgang mit diesem Werkzeug
noch näher erläutern sollen.
3