代码解读。以上代码示范了如何使用visa API连接并控制仪器读写。
line 1~3 包含必须的头文件和库文件
line 8~11 定义变量,ViStatus用来检查仪器初始化及读写状态
ViSession 用来定义Visa库资源句柄
ViUint32 用来定义读写字符长度
ViBuf 用来定义读取仪器缓冲区
Line 14 使用 viOpenDefaultRM 初始化Visa 库,如果电脑上没有正确安装Visa 库,该调用会失败,在此,需要加入出错处理,检测ViStatus 可以判断是否调用成功
Line 22 使用viOpen 打开指定仪器,该实例打开GPIB地址为5的设备
Line 28viSetAttribute 设定连接仪器属性,实例中设定VI_ATTR_TMO_VALUE=5000ms, 如果读写仪器在给定的5秒时间没有回应,调用失败
Line 30 viWrite 向仪器发送指令,实例中"*IDN?"是查询仪器厂家型号指令,通常要加入一个换行符,变为"*IDN?\n"
Line 31 viRead 读取仪器回应结果,将结果存储到buffer 中
Line 32,33, 将仪器回应结果显示出来
line 36 释放仪器连接
line 37 关闭仪器句柄
(注意:示例使用VC2010,默认使用unicode编码,所以在viWrite, viRead函数中加入了强制类型转换,否则无法编译通过)。