設(shè)置 VISA 屬性,比如代替 _viSetTimeout 函數(shù)設(shè)置超時時間,當然它也可以用來設(shè)置其它特定的 VISA 屬性。請閱讀 VISA 文檔以了解更多信息以及 VISA 屬性和對應值的列表。
#include <Visa.au3>
_viSetAttribute($h_session, $i_attribute, $i_value)
參數(shù)
| $h_session | VISA 描述符(字符串)或者 VISA session 句柄(整數(shù))。 (請查看 _viExecCommand 函數(shù)的注意部分以了解更多信息) |
| $i_attribute | 要更改的屬性。 屬性值在 VISA 庫中定義。 AutoIt 的庫中僅定義了一個超時時間屬性($VI_ATTR_TMO_VALUE)常量、串口屬性和相關(guān)數(shù)值(請看下面注意部分),當然您也可以傳遞其它您想要的值(合法的整數(shù)數(shù)值)。 |
| $i_value | 屬性的值。必須是整數(shù)而且與屬性值對應,這些都在 VISA 文檔中有定義。 |
返回值
成功: - 返回值為0
注意
下面列出的是預定義的屬性和數(shù)值。除此之外,還可以使用其它合法的屬性/數(shù)值,只要傳遞相應整數(shù)索引到此函數(shù)即可(請查看 VISA 程序員指引)。
相關(guān)
_viSetTimeout, _viExecCommand, _viOpen, _viClose
示例
;- 這個腳本假定您已經(jīng)把 GPIB 的地址設(shè)為 3
; 如果您的設(shè)備使用的是不同的地址,請把 "GPIB::3::0" 改為
; 相應的描述符。_viOpen 函數(shù)也是同樣處理
; 本腳本演示了如何使用 _viSetAttribute 函數(shù)。在這個示例中
; 我們使用 _viSetAttribute 來代替 _viSetTimeout 函數(shù),用以設(shè)置
; _viExecCommand 操作的 GPIB 超時時間
#include <Visa.au3>
Dim $h_session = 0
; 請求設(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 秒超時
MsgBox(0,"GPIB QUERY result",$s_answer) ; 顯示結(jié)果
; 下面的語句和使用 _viSetAttribute 函數(shù)的作用相同:
MsgBox(0,"Step 2","_vOpen + timeout using _viSetAttribute + GPIB query")
Dim $h_instr = _viOpen(3)
; 注意,等同于語句: _viSetTimeout($h_instr, 10000)
_viSetAttribute($h_instr, $VI_ATTR_TMO_VALUE, 10000) ; 10000 毫秒 = 10 秒
$s_answer = _viExecCommand($h_instr,"*IDN?") ; 現(xiàn)在不需要設(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è)備連接