VISA常用函数doc.docx

上传人:b****3 文档编号:1437869 上传时间:2022-10-22 格式:DOCX 页数:71 大小:32.62KB
下载 相关 举报
VISA常用函数doc.docx_第1页
第1页 / 共71页
VISA常用函数doc.docx_第2页
第2页 / 共71页
VISA常用函数doc.docx_第3页
第3页 / 共71页
VISA常用函数doc.docx_第4页
第4页 / 共71页
VISA常用函数doc.docx_第5页
第5页 / 共71页
点击查看更多>>
下载资源
资源描述

VISA常用函数doc.docx

《VISA常用函数doc.docx》由会员分享,可在线阅读,更多相关《VISA常用函数doc.docx(71页珍藏版)》请在冰豆网上搜索。

VISA常用函数doc.docx

VISA常用函数doc

函数

viOpenDefaultRM

原型

ViStatusviOpenDefaultRM(ViSessionsesn);

描述

这个函数用来初始化一个VISA资源管理器,此函数必须要在其他任何VISA函数之前调用。

函数通过sesn参数返回一个独立的VISA资源管理器ID。

参数

名称

方向

类型

描述

sesn

OUT

ViSession

返回一个独一无二的VISA资源管理器逻辑标识符

返回值

返回值为函数运行结果,如果成功sesn返回VISA资源管理器标识符,否则返回0。

标识符

描述

VI_SUCCESS

0

VISA资源管理器初始化成功。

VI_ERROR_ALLOC

系统资源不足。

VI_ERROR_INV_SETUP

配置文件无效或者不存在。

VI_ERROR_SYSTEM_ERROR

VISA系统初始化失败。

viOpen

原型

ViStatusviOpen(ViSessionsesn,ViRsrcrsrcName,ViAccessModeaccessMode,ViUInt32timeout,ViSessionvi);

描述

连接一个指定的设备,返回一个可用于调用其他功能的连接标识符。

参数

名称

方向

类型

描述

sesn

IN

ViSession

VISA资源管理器逻辑标识符。

rsrcName

IN

ViRsrc

地址名称。

accessMode

IN

ViAccessMode

连接打开方式,可以是以下值:

VI_EXCLUSIVE_LOCK独占方式打开;

VI_LOAD_CONFIG更具外部配置文件打开;

VI_NULL正常多访问打开。

timeout

IN

ViUInt32

如果是以独占模式连接,该参数是一个绝对时间(单位ms),超时就返回一个错误。

其他连接方式忽略此值。

vi

OUT

ViSession

返回打开连接逻辑标识符。

返回值

返回值为函数运行结果,如果成功vi返回设备连接标识符,否则返回0。

标识符

描述

VI_SUCCESS

0

连接成功。

VI_SUCCESS_DEV_NPRESENT

连接成功。

但是指定的地址无响应。

VI_WARN_CONFIG_NLOADED

指定的地址不存在或者地址格式不正确。

VI_ERROR_ALLOC

系统资源不足。

VI_ERROR_INTF_NUM_NCONFIG

指定的地址是有效的,但无法使用。

VI_ERROR_INV_ACC_MODE

非法的存取模式。

VI_ERROR_INV_RSRC_NAME

地址名称语法错误。

VI_ERROR_INV_SESSION

VI_ERROR_INV_OBJECT

无效的vi。

VI_ERROR_LIBRARY_NFOUND

VISA库加载不完全。

VI_ERROR_NSUP_OPER

资源管理器sesn不支持此函数。

VI_ERROR_RSRC_BUSY

sesn是有效的,但当前无法访问。

VI_ERROR_RSRC_LOCKED

sesn被独占。

VI_ERROR_RSRC_NFOUND

信息不足或者资源不存在。

VI_ERROR_TMO

0xBFFF0015

操作超时。

viClose

原型

ViStatusviClose(ViSessionvi);

ViStatusviClose(ViEventvi);

ViStatusviClose(ViFindListvi);

描述

关闭一个资源管理器或者设备连接,并释放内存。

参数

名称

方向

类型

描述

vi

IN

ViSession

ViEvent

ViFindList

需要关闭的对象。

返回值

返回值为函数运行结果。

标识符

描述

VI_SUCCESS

0

关闭成功。

VI_WARN_NULL_OBJECT

要关闭的对象是空对象。

VI_ERROR_CLOSING_FAILED

vi不能标识正当对话通道。

VI_ERROR_INV_SESSION

VI_ERROR_INV_OBJECT

无法释放与该对话通道相关联的内存数据结构。

viFindRsrc

原型

ViStatusviFindRsrc(ViSessionsesn,ViStringexpr,ViPFindListfindList,

ViPUInt32retcnt,ViRsrcinstrDesc);

描述

该函数用于查找VISA系统里与指定接口相连的资源设备。

该函数查找的与expr参数相匹配的有效资源设备。

该函数成功完成将返回与exor相匹配的资源组中的第一个资源(instrDesc),还返回一个资源组中的个数(retnt)。

另外还返回一个找到的队列句柄,可以同过调用viFindNext传入这个句柄来获得其他找到的资源。

当这个句柄不需要时必须调用viClose关闭。

expr参数不区分大小写,搜寻标准由两个部分组成:

一个资源的正则表达式和一个可选的属性值逻辑表达式。

这个正则表达式是与已知的VISA资源管理器相匹配。

如果这资源字符串与正则表达式相匹配,并且属性值也与逻辑表达式匹配,则这匹配是成功的,这资源将添加到资源查询队列(findList)中。

(安捷伦的VISA不支持匹配属性值。

这可选的属性逻辑表达式允许使用逻辑符号AND,OR,NOT。

相等(==)和不等(!

=)可以用与任何类型的属性比较。

另外的非等号比较的(>,<,>=,<=)只能用于数值类型的属性比较。

仅仅全局属性才能参与属性表达式。

如果findList参数传入的是VI_NULL,则会自动调用viClose关闭查找到的资源队列。

findList参数和retcnt参数都是可选的,如果只需要第一个匹配到的设备并且不需要知道连接了多少设备这两个参数都可以传入VI_NULL。

所有返回的字符串都需要经过viParseRsrc和viOpen函数的验证,不是所有查询到的资源都可以通过和查询的。

参数

名称

方向

类型

描述

sesn

IN

ViSession

资源管理器。

必须要被viOpenDefaultRM函数初始化。

expr

IN

ViString

表达要搜索的一个接口或者所有接口存在的设备。

(参照下面的格式描述字符串表)

findList

OUT

ViPFindList

返回一个搜索到的句柄标识符,这句柄可以作为viFindNext函数的参数传入。

如果为VI_NULL,自动动调用viClose关闭findList。

retcnt

OUT

ViPUInt32

匹配到的设备数量。

如果为VI_NULL,不返回找到的个数。

instrDesc

OUT

ViRsrc

返回一个设备识别地址字符串,可以直接传给viOpen建立一个会话。

expr参数描述字符串说明:

接口

表达

GPIB

GPIB[0-9]*:

:

?

*INSTR

VXI

VXI?

*INSTR

GPIB-VXI

GPIB-VXI?

*INSTR

GPIB和GPIB-VXI

GPIB?

*INSTR

AllVXI

?

*VXI[0-9]*:

:

?

*INSTR

ASRL

ASRL[0-9]*:

:

?

*INSTR

All

?

*INSTR

返回值

返回值为函数运行结果。

标识符

描述

VI_SUCCESS

0

找到资源。

VI_ERROR_INV_SESSION

VI_ERROR_INV_OBJECT

传递的对象无效。

VI_ERROR_NSUP_OPER

不支持该函数。

VI_ERROR_INV_EXPR

无效的搜索指定。

VI_ERROR_RSRC_NFOUND

没有找到设备。

viFindNext

原型

ViStatusviFindNext(ViFindListfindList,ViPRsrcinstrDesc);

描述

返回查找资源队列上的下一个资源。

参数

名称

方向

类型

描述

findList

IN

ViFindList

查找队列句柄。

必须由viFindRsrc函数创建。

instrDesc

OUT

ViPRsrc

返回一个地址字符串。

字符串可以通过调用viOpen函数建立一个会话连接。

返回值

返回值为函数运行结果。

标识符

描述

VI_SUCCESS

0

找到资源。

VI_ERROR_INV_SESSION

VI_ERROR_INV_OBJECT

findList不能标志正确的连接。

VI_ERROR_NSUP_OPER

findList不支持该函数。

VI_ERROR_RSRC_NFOUND

没找到资源。

viParseRsrc

原型

ViStatusviParseRsrc(ViSessionsesn,ViRsrcrsrcName,ViPUInt16intfType,ViPUInt16intfNum);

描述

从语法上分析一个指向设备的资源字符串。

这操作分析字符串的有效性。

viFindRsrc函数返回的所有字符串都必须在分析成功后才能调用viOpen函数。

返回的intfType和intfNum分别对应VI_ATTR_INTF_TYPE和VI_ATTR_INTF_NUM属性。

这些值将与使用viOpen函数连接后使用viGetAttribute函数查询的值一样。

在viOpen函数中设置别名,viParesRsrc函数也能识别。

rsrcName参数不区分大小写。

参数

名称

方向

类型

描述

sesn

IN

ViSession

默认资源管理器(必须经过viOpenDefaultRM函数初始化)。

rsrcName

IN

ViRsrc

资源独立的名称。

intfType

OUT

ViPUInt16

会话连接的接口类型。

intfNum

OUT

ViPUInt16

会话连接的板号。

返回值

返回值为函数运行结果。

标识符

描述

VI_SUCCESS

0

资源字符串是有效的。

VI_ERROR_ALLOC

内存不足。

VI_ERROR_INTF_NUM_NCONFIG

接口类型是有效的,但接口号是无效的。

VI_ERROR_INV_RSRC_NAME

无效的资源指示字符串。

语法错误。

VI_ERROR_INV_SESSION

VI_ERROR_INV_OBJECT

sesn不能标志正确的连接。

VI_ERROR_LIBRARY_NFOUND

一个VISA必须库无法加载。

VI_ERROR_NSUP_OPER

给定的sesn不支持该函数。

例如,该函数仅仅支持默认资源管理器的sesn。

VI_ERROR_RSRC_NFOUND

位置信息不足。

viClear

原型

ViStatusviClear(ViSessionvi);

描述

清空设备,执行IEEE488.1系统的清空操作。

如果连接方式是使用VXI总线,将清空所有连接设备;

如果连接方式是使用GPIB数据采集板,将只

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1