# Funktionsreferenz

_viSetTimeout

Setzt die VISA Zeitabschaltung in Millisekunden.

#include <Visa.au3>
_viSetTimeout($h_session, $i_timeout_ms)

Parameter

$h_session | Ein "VISA descriptor" (Zeichenfolge) oder eine "VISA session handle" (Ganzzahl). Siehe die Bemerkungen zu _viExecCommand für mehr Informationen.
$i_timeout_ms | Die Zeitabschltung in Millisekunden für VISA operationen (vor allem für GPIB Abfragen) Wenn auf 0 gesetzt die Zeitabschaltung ist deaktiviert. Wenn auf "INF" gesetz die VISA operationen laufen ohne Zeitabschaltung. Sei sorgfältig damit, denn das Programm hängt, wenn das Instument nicht auf die Anfragen antwortet. Abhängig von dem Anschluss (GPIB, TCP, etc) wird die angegebene Zeitabschaltung eventuell auf den nachsthöheren Wert gerundet.

Bemerkungen

Meistens ist es nicht notwendig dies Funktion aufzurufen, da dei Funktion _viExecCommand einen dritten optionalen Parameters $i_timeout_ms hat, der ebenso benutz werden kann um die VISA Zeitabschaltung zu setzen.
Wie für alle VISA Funktionen müssen die VISA Bibliotheken installed sein (prüfe ob die visa32.dll in {WINDOWS}\system32 vorhanden ist) 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 DESCRIPTORS ist in den Remarks der Hilfe der Funktion "_viExecCommand" zu finden.

Siehe auch

_viSetAttribute, _viExecCommand, _viOpen, _viClose

Beispiel

;- This assumes that you have instrument set to GPIB address 3.
; If you have an instrument in a different address change "GPIB::3::0" to the
; corresponding descriptor. Do the same for the call to _viOpen
; It shows how to use the _viExecCommand function with a timeout or how to
; call _viSetTimeout instead.
#include <Visa.au3>
Dim $h_session = 0
; Query the ID of the instrument in GPIB address 3
MsgBox(0,"Step 1","Simple GPIB query with explicit TIMEOUT set")
Dim $s_answer = _viExecCommand("GPIB::3::0","*IDN?",10000) ; 10 secs timeout
MsgBox(0,"GPIB QUERY result",$s_answer) ; Show the answer
; This is the same as using the _viSetTimeout function first:
MsgBox(0,"Step 2","_vOpen + timeout using _viSetTimeout + GPIB query")
Dim $h_instr = _viOpen(3)
_viSetTimeout($h_instr, 10000) ; 10000 ms = 10 secs
$s_answer = _viExecCommand($h_instr,"*IDN?") ; No need to set the timeout now
MsgBox(0,"GPIB QUERY result",$s_answer) ; Show the answer
MsgBox(0,"Step 3","Close the Instrument connection using _viClose")
_viClose($h_instr) ; Close the instrument connection