📄 3.虚拟仪器系统io接口软件.txt
字号:
3) 返回状态值:
完成代码:
VI_SUCCESS 资源查寻到
错误代码:
VI_ERROR_INV_SESSION vi(句柄)不能标识正当对话通道
VI_ERROR_RSRC_LOCKED 存取锁定模式不支持特定操作
VI_ERROR_INV_EXPR 查找表达式不规范
VI_ERROR_RSRC_NFOUND 查找表达式无法与资源名匹配
4) 描述:该操作用于查询资源名与表达式相匹配的资源,并确定资源位置。
5) 相关项:参见viAttachRsrc()、viOpen()。
6) 实现要求:输出参数accessLink应含所有相匹配的资源个数。
2、 viOpen(sesn,rsrcName,accessMode,timeout,vi)
1) 目标:打开特定资源的对话通道
2) 参数表:
参数名 输入/输出方向 数据类型 描述
sesn 输入 ViSession VISA资源管理器
rsrcName 输入 ViRsrc 资源名
accessMode 输入 ViAccessMode 资源存取锁定模式
timeout 输入 ViUInt32 操作超时值
vi 输出 ViPSession 对话通道标识符(句柄)
3) 返回状态值:
完成代码:
VI_SUCCESS 对话通道打开完成
错误代码:
VI_ERROR_INV_SESSION vi不能标识正当对话通道
VI_ERROR_INV_RSRC_NAME 资源名语法错误
VI_ERROR_RSRC_LOCKED 存取锁定模式不支持特定操作
VI_ERROR_INV_ACC_MODE 不合法的存取模式
VI_ERROR_NSUP_ACC_MODE 存取模式不被支持
VI_ERROR_RSRC_NFOUND 系统中未能找到该资源
VI_ERROR_TMO 操作超时
4) 描述:该操作用于开启特定资源的一个对话通道,它返回的对话通道标识符可
作为以后操作的软件句柄。参数中的accessMode应在几种存取模式中选取(
VI_NO_LOCK、VI_EXCLUSIVE_LOCK、VI_NON_EXCLUSIVE_LOCK)。
5) 相关项:参见viClose()。
6) 实现要求:sesn参数一般用缺省VISA资源管理器viDefaultRM代入,因此在调
用viOpen()函数之前一般已先调用了viOpenDefaultRM()函数用于打开缺省的
资源管理器。
3、 viClose(vi)
1) 目标:关闭特定的对话通道
2) 参数表:
参数名 输入/输出方向 数据类型 描述
vi 输入 ViSession 对话通道标识符(句柄)
3) 返回状态值:
完成代码:
VI_SUCCESS 对话通道关闭完成
错误代码:
VI_ERROR_INV_SESSION vi不能标识正当对话通道
VI_ERROR_CLOSE_FAILED 无法释放与该对话通道相关联的内存数据结构
4) 描述:该操作用于关闭与资源相关联的对话通道,并释放内存数据。
5) 相关项:参见viOpen()。
6) 实现要求:当一个对话通道在执行viClose()操作时,不仅应关闭该通道,
并应释放所有通道的数据。
4、 viAttachRsrc(vi,rsrcName,refName)
1) 目标:通过对话通道,建立两资源之间的关联
2) 参数表:
参数名 输入/输出方向 数据类型 描述
vi 输入 ViSession 对话通道标识符(句柄)
rsrcName 输入 ViRsrc 相关联的资源名
refName 输入/输出 ViPRsrc 相关联的资源别名
3) 返回状态值:
完成代码:
VI_SUCCESS 资源关联完成
错误代码:
VI_ERROR_INV_SESSION vi不能标识正当对话通道
VI_ERROR_INV_RSRC_NAME 资源名语法错误
VI_ERROR_RSRC_LOCKED 存取锁定模式不支持特定操作
VI_ERROR_DUPLICATE refName参数中的资源已存在
_REF_NAME
VI_ERROR_ATTACH_REFUSED 资源无法被关联
4) 描述:该操作用于关联两个资源,用vi标识的对话通道可以存取相关联资源的
所有属性与操作。
5) 相关项:参见viDetachRsrc()、viGetRsrcSession()。
6) 实现要求:资源间应通过关联方式实现对话。
5、 viDetachRsrc(vi,refName)
1) 目标:取消资源之间的关联
2) 参数表:
参数名 输入/输出方向 数据类型 描述
vi 输入 ViSession 对话通道标识符(句柄)
refName 输入/输出 ViPRsrc 相关联的资源别名
3) 返回状态值:
完成代码:
VI_SUCCESS 取消资源关联完成
错误代码:
VI_ERROR_INV_SESSION vi不能标识正当对话通道
VI_ERROR_RSRC_LOCKED 存取锁定模式不支持特定操作
VI_ERROR_RSRC_NFOUND 资源未能找到
VI_ERROR_INV_RSRC_NAME 资源名语法错误
4) 描述:该操作用于取消资源之间关联,一旦关联取消,相关联资源的所有属性
与操作不能再被存取。
5) 相关项:参见viAttachRsrc()。
6) 实现要求:资源无法拒绝取消关联的请求。
6、 viTerminate(vi,target,degree,jobId,immediate,flagFlushData)
1) 目标:请求VISA资源终止一个或所有对话通道的正常运行
2) 参数表:
参数名 输入/输出方向 数据类型 描述
vi 输入 ViSession 对话通道标识符(句柄)
target 输入 ViBoolean 请求目标(资源或通道)
degree 输入 ViUInt16 请求类型,正常类型有VI_ABORT、VI_RESET、VI_FAIL、
VI_KILL
jobId 输入 ViJobId 操作标识符
immediate 输入 ViBoolean 请求是否立即有效
flagFlushData 输入 ViBoolean 资源是否放弃应用数据
3) 返回状态值:
完成代码:
VI_SUCCESS 请求服务完成
VI_SUCCESS_STATE_UNKNOWN 请求服务完成,但资源可能处于不一致状态
错误代码:
VI_ERROR_INV_SESSION vi不能标识正当对话通道
VI_ERROR_RSRC_LOCKED 存取锁定模式不支持特定操作
VI_ERROR_INV_DEGREE 请求类型不合法
VI_ERROR_INV_JOB_ID 操作类型或标识符不合法
4) 描述:该操作用于请求资源去终止一个或所有对话通道的正常运行,请求类型
可分为VI_ABORT(退出)、VI_RESET(复位)、VI_FAIL(失败)及VI_KILL(停止
所有资源操作)四种。
5) 相关项:参见VI_EVENT_ALERT事件描述。
6) 实现要求:当VISA资源激活viTerminate()操作时,资源不能进行其它操作
。
7、 viGetAttribute(vi,attribute,attrState)
viGetRsrcAttribute(vi,rsrcName,attribute,attrState)
1) 目标:获取资源属性状态值
2) 参数表:
参数名 输入/输出方向 数据类型 描述
vi 输入 ViSession 对话通道标识符(句柄)
rsrcName 输入 ViRsrc 资源名
attribute 输入 ViAttr 资源属性
attrState 输出 ViPAttrState 资源属性状态值
3) 返回状态值:
完成代码:
VI_SUCCESS 获取属性完成
错误代码:
VI_ERROR_INV_SESSION vi不能标识正当对话通道
VI_ERROR_INV_RSRC_NAME 资源名语法错误
VI_ERROR_RSRC_LOCKED 存取锁定模式不支持特定操作
VI_ERROR_NSUP_ATTR 资源属性未定义
4) 描述:viGetAttribute()取回当前资源属性状态值,而
viGetRsrcAttribute()
取回其它资源的公有属性状态值。
5) 相关项:参见viSetAttribute()、viSetrsrcAttribute()、viLock()、
viUnLock()。
6) 实现要求:无论资源锁定状态如何,viGetRsrcAttribute()操作都可以取回
资源公有属性状态值。
8、 viSetAttribute(vi,attribute,attrState)
viSetRsrcAttribute(vi,rsrcName,attribute,attrState)
1) 目标:设置资源属性状态值
2) 参数表:
参数名 输入/输出方向 数据类型 描述
vi 输入 ViSession 对话通道标识符(句柄)
rsrcName 输入 ViRsrc 资源名
attribute 输入 ViAttr 资源属性
attrState 输入 ViAttrState 资源属性状态值
3) 返回状态值:
完成代码:
VI_SUCCESS 属性设置完成
错误代码:
VI_ERROR_INV_SESSION vi不能标识正当对话通道
VI_ERROR_INV_RSRC_NAME 资源名语法错误
VI_ERROR_RSRC_LOCKED 存取锁定模式不支持特定操作
VI_ERROR_NSUP_ATTR 资源属性未定义
VI_ERROR_NSUP_ATTR_STATE 资源属性状态值不支持
VI_ERROR_NSUP_ATTR 资源属性为只读状态
_READONLY
4) 描述:viSetAttribute()设置当前资源属性状态值,而
viSetRsrcAttribute()
设置其它资源的公有属性状态值。
5) 相关项:参见viGetAttribute()、viGetrsrcAttribute()、viLock()、
viUnLock()。
6) 实现要求:当资源处于锁定状态时,无法进行属性状态值设置。
9、 viLock(vi,lockType,shareType,timeout,lockId)
viLockRsrc(vi,rsrcName,lockType,shareType,timeout,lockId)
1) 目标:设置资源存取模式
2) 参数表:
参数名 输入/输出方向 数据类型 描述
vi 输入 ViSession 对话通道标识符(句柄)
rsrcName 输入 ViRsrc 资源名
lockType 输入 ViUInt16 锁定类型(独占或非独占)
shareType 输入 ViUInt16 锁定共享类型
timeout 输入 ViUInt32 操作超时值
lockId 输入/输出 ViPLock 当锁定设置成功后,资源返回的唯一锁定标识符
3) 返回状态值:
完成代码:
VI_SUCCESS 锁定模式设置完成
VI_SUCCESS_SHARE_LOCK 锁定模式设置完成,并被多个对话通道共享
错误代码:
VI_ERROR_INV_SESSION vi不能标识正当对话通道
VI_ERROR_INV_RSRC_NAME 资源名语法错误
VI_ERROR_RSRC_LOCKED 存取锁定模式不支持特定操作
VI_ERROR_INV_LOCK_TYPE 锁定模式不当
VI_ERROR_INV_LOCK_ID 锁定标识符不当
VI_ERROR_NSHARABLE lockID不能用于非共享模式
VI_ERROR_LOCK_CHANGE 由于对话通道已被锁定,不能从非独占锁定状
_FAILED 态改变到独占状态
4) 描述:该操作用于设置资源锁定模式,必须区分锁定类型与共享类型。共享类
型的设置只对于独占锁定状态有关,所有非独占性锁定状态均为共享。
5) 相关项:参见viUnLock()、viUnLockRsrc()。
6) 实现要求:当锁定模式为非独占型时,shareType参数可忽略。
10、 viUnLock(vi,lockId)
viUnLockRsrc(vi,rsrcName,lockId)
1) 目标:取消资源存取模式
2) 参数表:
参数名 输入/输出方向 数据类型 描述
vi 输入 ViSession 对话通道标识符(句柄)
rsrcName 输入 ViRsrc 资源名
lockId 输入 ViLock 锁定标识符
3) 返回状态值:
完成代码:
VI_SUCCESS 取消锁定模式完成
VI_WARN_NON_EXCLUSIVE 调用成功,但资源仍被非独占型锁定
_LOCK
VI_WARN_EXCLUSIVE_LOCK 调用成功,但资源仍被独占型锁定
错误代码:
VI_ERROR_INV_SESSION vi不能标识正当对话通道
VI_ERROR_INV_LOCK_ID 锁定标识符不当
VI_ERROR_LOCK_NOWNER 锁定并非来自于特定通道vi
4) 描述:该操作用于取消以前设置的资源锁定模式。
5) 相关项:参见viLock()、viLockRsrc()。
6) 实现要求:注意不同的参数输入对应于不同的返回状态。
11、 viEnableEvent(vi,eventType,mechanism,context)
1) 目标:允许特定事件通知
2) 参数表:
参数名 输入/输出方向 数据类型 描述
vi 输入 ViSession 对话通道标识符(句柄)
eventType 输入 ViEventType 事件标识符
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -