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