設(shè)置 VISA 的超時(shí)時(shí)間,以毫秒為單位。
#include <Visa.au3>
_viSetTimeout($h_session, $i_timeout_ms)
參數(shù)
$h_session | VISA 描述符(字符串)或者 VISA session 句柄(整數(shù))。 (請(qǐng)查看 _viExecCommand 函數(shù)的注意部分以了解更多信息) |
$i_timeout_ms | 以毫秒為單位的 VISA 操作超時(shí)時(shí)間(一般針對(duì) GPIB 請(qǐng)求)。 若設(shè)為0則超時(shí)設(shè)置將被禁用。 若設(shè)為 "INF" 則 VISA 操作將永遠(yuǎn)不會(huì)超時(shí)。 請(qǐng)謹(jǐn)慎使用,因?yàn)橐坏┰O(shè)備沒(méi)有響應(yīng)某個(gè)請(qǐng)求您的程序就很容易掛起。 由于總線類(lèi)型(GPIB、TCP,等等)的不同,因此實(shí)際的超時(shí)時(shí)間可能并非和您設(shè)置的時(shí)間一致,一般會(huì)比您設(shè)置的超時(shí)時(shí)間要大一點(diǎn)。 |
返回值
成功: - 返回值為0
注意
通常我們并不需要直接調(diào)用本函數(shù),因?yàn)?_viExecCommand 函數(shù)的第三個(gè)可選參數(shù) _timeout_ms 也可以用來(lái)設(shè)置 VISA 超時(shí)時(shí)間。
相關(guān)
_viSetAttribute, _viExecCommand, _viOpen, _viClose
示例
;- 這個(gè)腳本假定您已經(jīng)把 GPIB 的地址設(shè)為 1
; 本腳本演示了如何單獨(dú)使用 _viExecCommand 函數(shù)以及結(jié)合
; _viOpen 和 _viClose 函數(shù)使用的方法。
; 另外還演示了 _viGTL 函數(shù)
#include <Visa.au3>
Dim $h_session = 0
; 請(qǐng)求設(shè)備的 GPIB 地址3 的 ID
MsgBox(0,"Step 1","Simple GPIB query with explicit TIMEOUT set")
Dim $s_answer = _viExecCommand("GPIB::3::0","*IDN?",10000) ; 10 秒超時(shí)
MsgBox(0,"GPIB QUERY result",$s_answer) ; 顯示結(jié)果
; 下面的語(yǔ)句和使用 _viSetTimeout 函數(shù)的作用相同:
MsgBox(0,"Step 2","_vOpen + timeout using _viSetTimeout + GPIB query")
Dim $h_instr = _viOpen(3)
_viSetTimeout($h_instr, 10000) ; 10000 毫秒 = 10 秒
$s_answer = _viExecCommand($h_instr,"*IDN?") ; 現(xiàn)在不需要設(shè)置超時(shí)時(shí)間
MsgBox(0,"GPIB QUERY result",$s_answer) ; 顯示結(jié)果
MsgBox(0,"Step 3","Close the Instrument connection using _viClose")
_viClose($h_instr) ; 關(guān)閉設(shè)備連接