函数参考


_viOpen

打开 VISA 连接到仪器/设备

#include <Visa.au3>
_viOpen ( $s_visa_address [, $s_visa_secondary_address = 0] )

参数

$s_visa_address VISA 资源描述字符串(更多信息 _viExecCommand 的注释)
也可以直接传递一个 GPIB 整数地址
$s_visa_secondary_address [可选参数] "辅助 GPIB 地址". 仅用于主地址传递正数时.
仅一些 GPIB 仪器有辅助地址,此时即可使用这个可选参数指定案例
此参数默认为 0, 意味着没有辅助地址

返回值

成功: 返回 VISA 仪器的正数值句柄
失败: 返回 -1,设置@error:to 1

注意/说明

VISA 函数必须安装 VISA 库文件(您可以检查visa32.dll是否在 WINDOWS\System32 目录中)
及 GPIB 卡(例如 National Instruments NI PCI-GPIB card or an Agilent 82350B PCI High-Performance GPIB card)
 * 常见 VISA 描述符详细介绍,见 _viExecCommand 函数备注

相关

_viClose, _viExecCommand, _viFindGpib, _viGpibBusReset, _viGTL, _viSetAttribute, _viSetTimeout

示例/演示


;- 这里假设您安装了仪器到 GPIB 地址 1
; 此例子演示如何使用 _viExecCommand 函数, 在单独模式和与
; _viOpen 和 _viClose 的组合.
; 此例子也展示了 _viGTL 函数

#include <Visa.au3>

Local $h_session = 0

; 查询在 GPIB 地址 3 的仪器 ID
MsgBox(4096, "Step 1", "Open the instrument connection with _viOpen")
Local $h_instr = _viOpen("GPIB::3::0")
MsgBox(4096, "Instrument Handle obtained", "$h_instr = " & $h_instr) ; 显示会话句柄
; 查询仪器

MsgBox(4096, "Step 2", "Query the instrument using the VISA instrument handle")
Local $s_answer = _viExecCommand($h_instr, "*IDN?") ; $h_instr 现在不是字符串!
MsgBox(4096, "GPIB QUERY result", $s_answer) ; 显示应答
; 再次查询. 不需要再次打开连接

MsgBox(4096, "Step 3", "Query again. There is no need to OPEN the link again")
$s_answer = _viExecCommand($h_instr, "*IDN?")
MsgBox(4096, "GPIB QUERY result", $s_answer) ; 显示应答

MsgBox(4096, "Step 4", "Close the instrument connection using _viClose")
_viClose($h_instr) ; 关闭仪器连接

MsgBox(4096, "Step 5", "Open the Instrument connection using only the address number")
$h_instr = _viOpen(3)
MsgBox(4096, "Instrument Handle obtained", "$h_instr = " & $h_instr) ; 显示会话句柄
; 查询仪器

MsgBox(4096, "Step 6", "Query the instrument using the VISA instrument handle")
$s_answer = _viExecCommand($h_instr, "*IDN?") ; $h_instr 现在不是字符串!
MsgBox(4096, "GPIB QUERY result", $s_answer) ; 显示应答
; 再次查询. 不需要再次打开连接

MsgBox(4096, "Step 7", "Query again. There is no need to OPEN the link again")
$s_answer = _viExecCommand($h_instr, "*IDN?")
MsgBox(4096, "GPIB QUERY result", $s_answer) ; 显示应答

MsgBox(4096, "Step 8", "Close the instrument connection using _viClose")
_viClose($h_instr) ; 关闭仪器连接