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