Funktionreferenz


_viOpen

Beschreibung anzeigen in

Öffnet eine VISA-Verbindung zu einem Instrument/Gerät

#include <Visa.au3>
_viOpen ( $sVisa_Address [, $sVisa_Secondary_Address = 0] )

Parameter

$sVisa_Address Ein VISA Ressourcen Deskriptor (String) (siehe die Bemerkungen zu _viExecCommand())
Kürzer kann man auch direkt eine GPIB-Adresse als Integer übergeben.
$sVisa_Secondary_Address [optional] Die "secondary GPIB address". Nur verwendbar, wenn die "primary address" als Integer übergeben wurde. Nur manche GPIB-Instrumente haben "secondary addresses".
    In diesen Fällen kann dieser optionale Parameter verwendet werden, um diese mit anzugeben. Dieser Parameter ist standardmäßig NULL, d.h. NO SECONDARY ADDRESS

Rückgabewert

Erfolg: Gibt ein (positives) VISA-Instrument-Handle zurück
Fehler: Gibt -1 zurück und setzt das @error Flag auf ungleich null.

Bemerkungen

Wie für alle VISA Funktionen müssen die VISA Bibliotheken installiert sein (es muss die visa32.dll in {WINDOWS}\system32 vorhanden sein)
und eine GPIB Karte (wie z.B. National Instruments NI PCI-GPIB Karte oder die Agilent 82350B PCI High-Performance GPIB Karte) installiert sein.

* Eine detaillierte Beschreibung der bekanntesten VISA Deskriptoren ist in den Bemerkungen zu der Funktion _viExecCommand() zu finden.

Verwandte Funktionen

_viClose, _viExecCommand, _viFindGpib, _viGpibBusReset, _viGTL, _viSetAttribute, _viSetTimeout

Beispiel

; Hier nehmen wir an, dass das Gerät an die GPIB-Adresse 1 gesetzt ist
; Es zeigt, wie die Funktion _viExecCommand allein und in Kombination mit _viOpen und _viClose zu benutzen ist.
; Es zeigt außerdem die Funktion _viGTL

#include <MsgBoxConstants.au3>
#include <Visa.au3>

Local $h_Session = 0

; Die ID des Geräts an GPIB-Adresse 3 abfragen
MsgBox($MB_SYSTEMMODAL, "Schritt 1", "Öffnen der Geräteverbindung mit _viOpen")
Local $h_Instr = _viOpen("GPIB::3::0")
MsgBox($MB_SYSTEMMODAL, "Geräte-Handle bekommen", "$h_Instr = " & $h_Instr) ; Sitzungshandle anzeigen
; Das Gerät abfragen

MsgBox($MB_SYSTEMMODAL, "Schritt 2", "Das Gerät unter Nutzung des VISA-Gerätehandles abfragen ")
Local $s_Answer = _viExecCommand($h_Instr, "*IDN?") ; $h_Instr ist zu diesem Zeitpunkt KEIN STRING!
MsgBox($MB_SYSTEMMODAL, "GPIB QUERY Ergebnis", $s_Answer) ; Antwort anzeigen
; Noch einmal abfragen. Es ist nicht nötig, den Link erneut zu ÖFFNEN

MsgBox($MB_SYSTEMMODAL, "Schritt 3", "Noch einmal abfragen. Es ist nicht nötig, den Link erneut zu ÖFFNEN")
$s_Answer = _viExecCommand($h_Instr, "*IDN?")
MsgBox($MB_SYSTEMMODAL, "GPIB QUERY Ergebnis", $s_Answer) ; Antwort anzeigen

MsgBox($MB_SYSTEMMODAL, "Schritt 4", "Schließen der Geräteverbindung mit _viClose")
_viClose($h_Instr) ; Geräteverbindung schließen

MsgBox($MB_SYSTEMMODAL, "Schritt 5", "Öffnen der Geräteverbindung nur durch Verwenden der Adress-Nummer")
Local $h_Instr = _viOpen(3)
MsgBox($MB_SYSTEMMODAL, "Geräte-Handle bekommen", "$h_Instr = " & $h_Instr) ; Zeigt das Session Handle
; Das Gerät abfragen

MsgBox($MB_SYSTEMMODAL, "Schritt 6", "Abfrage der Geräteverbindung durch Verwenden des VISA Gerätehandles")
$s_Answer = _viExecCommand($h_Instr, "*IDN?") ; $h_Instr ist zu diesem Zeitpunkt KEIN STRING!
MsgBox($MB_SYSTEMMODAL, "GPIB QUERY Ergebnis", $s_Answer) ; Antwort anzeigen
; Noch einmal abfragen. Es ist nicht nötig, den Link erneut zu ÖFFNEN

MsgBox($MB_SYSTEMMODAL, "Schritt 7", "Noch einmal abfragen. Es ist nicht nötig, den Link erneut zu ÖFFNEN")
$s_Answer = _viExecCommand($h_Instr, "*IDN?")
MsgBox($MB_SYSTEMMODAL, "GPIB QUERY Ergebnis", $s_Answer) ; Antwort anzeigen

MsgBox($MB_SYSTEMMODAL, "Schritt 8", "Schließt die Geräteverbindung durch Verwenden von _viClose")
_viClose($h_Instr) ; Schließt die Geräteverbindung