)。
6) 实现要求:输入参数与其格式必须匹配。
4.5. viSPrintf(vi,buf,writeFmt,arg1,arg2?):与viPrintf()不同的 只在于viSPrintf()将数据写入buf参数的缓冲区而非器件中。
4.6. viVPrintf(vi,writeFmt,params):与viPrintf()不同的只在于 viVPrintf()中参数以列表形式给出。
4.7. viSVPrintf(vi,buf,writeFmt,params):与viPrintf()不同的只在于 viSVPrintf()中参数以列表形式给出,并写入到缓冲区中。
4.8. viBWrite(vi,buf,count,retCount):与viWrite()不同的只在于 viBWrite()将数据写入到缓冲区而不是器件中去。 4.9. viScanf(vi,readFmt,arg1,arg2?) 1) 目标:按设定格式从器件中读取数据 2) 参数表:
参数名 输入/输出方向 数据类型 描述
vi 输入 ViSession 对话通道标识符(句柄) readFmt 输入 ViString 参数格式
arg1,arg2? 输出 各个所得参数值 3) 返回状态值: 完成代码:
VI_SUCCESS 数据成功地格式化并被读取 VI_SUCCESS_END_RECV END标志被接收到 错误代码:
VI_ERROR_INV_SESSION vi不能标识正当对话通道 VI_ERROR_RSRC_LOCKED 存取锁定模式不支持特定操作 VI_ERROR_IO I/O错误
VI_ERROR_TMO 超时错误
VI_ERROR_ABORT 在操作结束前收到退出信号
VI_ERROR_FILE_NOPEN 文件没有打开或文件存取特性不当 VI_ERROR_NSUP_FMT 参数格式不当
4) 描述:该操作以一定格式从器件中读取数据,viRead()实际上是完成低层 I/O操作。任一对话通道不能同时进行viRead()及viScanf()操作。
5) 相关项:参见viSScanf()、viVScanf()、viSVScanf()、viBRead()。
6) 实现要求:输出参数与其格式必须匹配。
4.10. viSScanf(vi,buf,readFmt,arg1,arg2?):与viScanf()不同的只 在于viSScanf()从buf参数的缓冲区中读出数据而非从器件中读取。 4.11. viVScanf(vi,readFmt,params):与viScanf()不同的只在于 viVScanf()中参数以列表形式给出。
4.12. viSVScanf(vi,buf,readFmt,params):与viScanf()不同的只在于 viSVScanf()中参数以列表形式给出,并从缓冲区中读取。
4.13. viBRead(vi,buf,count,retCount):与viRead()不同的只在于 viBRead()从缓冲区而不是从器件中读取数据。
4.14. viQuery(vi,writeFmt,readFmt,arg1,arg2?) 1) 目标:按设定格式对器件进行数据读写
2) 参数表:
参数名 输入/输出方向 数据类型 描述
vi 输入 ViSession 对话通道标识符(句柄) writeFmt 输入 ViString 写参数格式 readFmt 输入 ViString 读参数格式
arg1,arg2? 输入、输出 各个所需或所得参数值 3) 返回状态值: 完成代码:
VI_SUCCESS 参数成功地格式化并被读取或写入 错误代码:
VI_ERROR_INV_SESSION vi不能标识正当对话通道 VI_ERROR_RSRC_LOCKED 存取锁定模式不支持特定操作 VI_ERROR_IO I/O错误
VI_ERROR_INV_FMT 格式错误 VI_ERROR_TMO 超时错误
VI_ERROR_ABORT 在操作结束前收到退出信号
VI_ERROR_FILE_NOPEN 文件没有打开或文件存取特性不当 VI_ERROR_NSUP_FMT 参数格式不合法
4) 描述:该操作与器件进行数据交换,输入或输出是需要根据参数格式类型来定 的,实际上包括了读与写操作。
5) 相关项:参见viBRead()、viBWrite()、viVQueryf()。 6) 实现要求:输入/输出参数与其格式必须匹配。
4.15. viVQueryf(vi,writeFmt,readFmt,params):与viQueryf()不同的是 viVQueryf()参数以列表形式给出。 n 触发资源(VI_RSRC_TRIG):
1. 资源概述:监视与控制器件及接口的触发进程。 2. 资源属性表及属性描述: 属性名 描述
VI_ATTR_HW_TRIG_SENSE_EN 触发是否会引发CPU中断 VI_ATTR_TRIG_ASSERT_MODE 触发确认模式 VI_ATTR_TRIG_MAP_ROUTE 触发映射 VI_ATTR_TMO_UNIT 超时值单位 VI_ATTR_TMO_VALUE 超时值
VI_ATTR_TRIG_LINE 当前资源特定触发线 3. 触发资源定义的事件如下所示: 事件 说明
VI_EVENT_TRIG 硬件触发产生 4. 触发资源定义的操作如下: viAssertTrigger(vi,protocol)
viMapTrigger(vi,srcTrig,destTrig,mode) viUnmapTrigger(vi,srcTrig,destTrig) 4.1. viAssertTrigger(vi,protocol) 1) 目标:用特定协议确认硬件或软件触发 2) 参数表:
参数名 输入/输出方向 数据类型 描述
vi 输入 ViSession 对话通道标识符(句柄) protocol 输入 ViUInt16 触发协议 3) 返回状态值: 完成代码:
VI_SUCCESS 特定触发确认 错误代码:
VI_ERROR_INV_SESSION vi不能标识正当对话通道 VI_ERROR_RSRC_LOCKED 存取锁定模式不支持特定操作 VI_ERROR_INV_PROT 协议不当 VI_ERROR_NSUP_OPER 硬件不支持 VI_ERROR_TMO 超时错误
VI_ERROR_LINE_IN_USE 触发线正被使用 VI_ERROR_LINE_NCONFIG 触发线未配置 VI_ERROR_OPER_NCOMPLETE 上一个操作未完成
VI_ERROR_ACK_PENDING 上个响应正在登录,使这个操作退出
4) 描述:该操作包括的触发协议有:缺省协议、协议开启、协议关闭、协议开始 、协议结束、协议同步、协议半同步、协议异步、协议半同步并等待响应、协议异 步并等待响应等。
5) 相关项:参见viMapTrigger()、viUnmapTrigger()。 6) 实现要求:无。
4.2. viMapTrigger(vi,trig,direction,mode) 1) 目标:将特定触发、时钟或前面板信号映射到另一信号 2) 参数表:
参数名 输入/输出方向 数据类型 描述
vi 输入 ViSession 对话通道标识符(句柄) trig 输入 ViString 映射源或目标触发线 direction 输入 ViUInt16 映射方向 mode 输入 ViUInt16 信号调理方式 3) 返回状态值: 完成代码:
VI_SUCCESS 两个信号映射成功 错误代码:
VI_ERROR_INV_SESSION vi不能标识正当对话通道 VI_ERROR_RSRC_LOCKED 存取锁定模式不支持特定操作 VI_ERROR_NSUP_MODE 不支持特定模式
VI_ERROR_NUSP_SRC_TRIG 触发信号源不支持 VI_ERROR_NUSP_DEST_TRIG 触发信号目标不支持 VI_ERROR_TRIG_MAPPED 目标触发器已被映射
4) 描述:映射信号包括特定触发信号、时钟信号或外部信号等。 5) 相关项:参见viUnmapTrigger()、viAssertTrigger()。 6) 实现要求:无。
4.3. viUnmapTrigger(vi,trig) 1) 目标:取消信号之间的映射
2) 参数表:
参数名 输入/输出方向 数据类型 描述
vi 输入 ViSession 对话通道标识符(句柄) trig 输入 ViString 被映射的触发线 3) 返回状态值: 完成代码:
VI_SUCCESS 两个信号映射取消成功 错误代码:
VI_ERROR_INV_SESSION vi不能标识正当对话通道 VI_ERROR_RSRC_LOCKED 存取锁定模式不支持特定操作 VI_ERROR_NUSP_SRC_TRIG 触发信号源不支持 VI_ERROR_NUSP_DEST_TRIG 触发信号目标不支持
VI_ERROR_TRIG_NMAPPED 特定触发信号当前未被映射
4) 描述:映射信号包括特定触发信号、时钟信号或外部信号等。 5) 相关项:参见viMapTrigger()、viAssertTrigger()。 6) 实现要求:无。
n 状态/服务请求资源(VI_RSRC_SRQ):
1. 资源概述:包括两个作用:一是作为服务请求的响应者,可监测系统的服务请 求并获得状态信息;二是作为服务请求的发生者,可产生服务请求并提供状态信息 。
2. 资源属性表及属性描述: 属性名 描述
VI_ATTR_AUTOPOLL_EN 资源操作模式 VI_ATTR_STB 服务请求状态
VI_ATTR_TMO_UNIT 超时值单位 VI_ATTR_TMO_VALUE 超时值
3. 状态/服务请求资源定义的事件如下所示: 事件 说明
VI_EVENT_SERVICE_REQ 服务请求通知事件 4. 状态/服务请求资源定义的操作如下: viReadSTB(vi,status)
viRequestServ(vi,request,status) 4.1. viReadSTB(vi,status) 1) 目标:读取服务请求状态字节 2) 参数表:
参数名 输入/输出方向 数据类型 描述
vi 输入 ViSession 对话通道标识符(句柄) status 输出 ViUInt16 服务请求状态 3) 返回状态值: 完成代码:
VI_SUCCESS 服务请求状态字节读取完成 错误代码:
VI_ERROR_INV_SESSION vi不能标识正当对话通道 VI_ERROR_RSRC_LOCKED 存取锁定模式不支持特定操作
VI_ERROR_SRQ_NOCCURRED 服务请求未收到 VI_ERROR_TMO 超时错误 VI_ERROR_BERR 总线错误
4) 描述:该操作从一个服务请求者(消息基器件)中读取服务请求状态。
5) 相关项:参见viEventHandler()、viSetAttribute()、viGetAttribute( )。
6) 实现要求:无。
4.2. viRequestServ(vi,request,status) 1) 目标:向服务提供者(命令者)确认服务请求 2) 参数表:
参数名 输入/输出方向 数据类型 描述
vi 输入 ViSession 对话通道标识符(句柄) request 输入 ViBoolean 服务请求目的 status 输入 ViUInt16 服务请求状态 3) 返回状态值: 完成代码:
VI_SUCCESS 服务请求完成 错误代码:
VI_ERROR_INV_SESSION vi不能标识正当对话通道 VI_ERROR_RSRC_LOCKED 存取锁定模式不支持特定操作
VI_ERROR_INV_SERVICE_REQ 服务请求状态字节与请求参数不一致 VI_ERROR_TMO 超时错误 VI_ERROR_BERR 总线错误
4) 描述:该操作用于当前器件向服务提供者发送服务请求。 5) 相关项:参见VI_EVENT_SRQ_SERVICED事件。 6) 实现要求:无。
n 清除资源(VI_RSRC_CLR):
1. 资源概述:向器件发送清除命令。 2. 资源属性表及属性描述: 属性名 描述
VI_ATTR_HW_SENSE_EN 硬件是否对接收到指令敏感 VI_ATTR_PHYS_ADDR 器件地址 VI_ATTR_TMO_UNIT 超时值单位 VI_ATTR_TMO_VALUE 超时值
3. 清除资源定义的事件如下所示: 事件 说明
VI_EVENT_CLEAR 器件清除命令接收事件 4. 清除资源定义的操作如下: viClear(vi)
4.1. viClear(vi) 1) 目标:清除器件 2) 参数表:
参数名 输入/输出方向 数据类型 描述
vi 输入 ViSession 对话通道标识符(句柄)