R&S FSU
Grundlegende Schritte der Prog. mit der VISA-Schnittstelle
Werden die Unterprogramme dagegen als sog. Modul (Datei-Extension .BAS) angelegt, so
muss der Print-Anweisung der Name eines Forms vorangestellt werden, der über die
notwendige Print-Methode verfügt. Existiert z.B. ein Form mit Namen "Main", so ist die
zugehörige Print-Anweisung wie folgt:
Main.Print "Text".
Zugriff auf die Funktionen der VISA32.DLL
Zum Erstellen von Visual Basic-Steueranwendungenen wird die Datei VISA32.DLL zu einem
Projekt hinzugefügt (Menü Project, Funktion References). Zusätzlich wird die Datei
VISA32.BAS zum Projekt hinzugefügt. Diese Datei enthält Konstanten und Definitionen für
Fehlerbehandlung, Timeout-Werte usw.
Deklaration der DLL-Funktionen als Prozeduren
Die Funktionen liefern eine Statusvariable zurück, die als Long definiert ist. Deshalb sind die
Funktionen in der Datei VISA32.BAS alle wie folgt deklariert:
Declare Function xxx Lib "visa32.dll" ( ... ) As Long
Erzeugen eines Antwortbuffers
Da die DLL bei Antworten nullterminierte Strings zurückliefert, muss vor dem Aufruf der
Funktion viRead() ein String mit ausreichender Länge erzeugt werden, da Visual Basic den
Strings eine Längenangabe voranstellt, die von der DLL nicht aktualisiert wird. Zur Erzeugung
der Längenangabe eines Strings stehen die beiden folgenden Möglichkeiten zur Verfügung:
Dim Rd as String * 100
Dim Rd as String
Rd = Space$(100)
7.1.2 Initialisierung und Grundzustand
Am Anfang jedes Programms muss der VISA-Ressourcenmanager initialisiert werden. Dieser
stellt eine Verbindung zum VISA-Treiber her, der den Verkehr mit allen Geräten steuert.
7.1.2.1 Anlegen globaler Variablen
Globale Variablen werden in Visual Basic in sogenannten "Modulen" (Datei-Extension .BAS)
untergebracht. Es muss daher zumindest ein Modul (z.B. "GLOBALS.BAS") angelegt werden,
das die von allen Unterprogrammen gemeinsam verwendeten Variablen enthält, z.B. die
Variablen für die von der VISA-Schicht verwendeten Device-Handler.
Für die nachfolgenden Beispielprogramme muss die Datei folgende Anweisungen enthalten:
Global analyzer As ViSession
Global defaultRM As ViSession
Const analyzerString = "GPIB0::20::INSTR"
Const analyzerTimeout = 10000
7.4
Kurzeinführung Fernsteuerung
Kompakthandbuch 1313.9617.11 - 01