设置 VISA 属性,比如代替 _viSetTimeout 函数设置超时时间,当然它也可以用来设置其它特定的 VISA 属性。请阅读 VISA 文档以了解更多信息以及 VISA 属性和对应值的列表。
#include <Visa.au3>
_viSetAttribute($h_session, $i_attribute, $i_value)
参数
| $h_session | VISA 描述符(字符串)或者 VISA session 句柄(整数)。 (请查看 _viExecCommand 函数的注意部分以了解更多信息) |
| $i_attribute | 要更改的属性。 属性值在 VISA 库中定义。 AutoIt 的库中仅定义了一个超时时间属性($VI_ATTR_TMO_VALUE)常量、串口属性和相关数值(请看下面注意部分),当然您也可以传递其它您想要的值(合法的整数数值)。 |
| $i_value | 属性的值。必须是整数而且与属性值对应,这些都在 VISA 文档中有定义。 |
返回值
成功: - 返回值为0
注意
下面列出的是预定义的属性和数值。除此之外,还可以使用其它合法的属性/数值,只要传递相应整数索引到此函数即可(请查看 VISA 程序员指引)。
相关
_viSetTimeout, _viExecCommand, _viOpen, _viClose
示例
;- 这个脚本假定您已经把 GPIB 的地址设为 3
; 如果您的设备使用的是不同的地址,请把 "GPIB::3::0" 改为
; 相应的描述符。_viOpen 函数也是同样处理
; 本脚本演示了如何使用 _viSetAttribute 函数。在这个示例中
; 我们使用 _viSetAttribute 来代替 _viSetTimeout 函数,用以设置
; _viExecCommand 操作的 GPIB 超时时间
#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) ; 显示结果
; 下面的语句和使用 _viSetAttribute 函数的作用相同:
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?") ; 现在不需要设置超时时间
MsgBox(0,"GPIB QUERY result",$s_answer) ; 显示结果
MsgBox(0,"Step 3","Close the Instrument connection using _viClose")
_viClose($h_instr) ; 关闭设备连接