教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

第三章 虚拟仪器系统IO接口软件(6)

来源:网络收集 时间:2026-05-01
导读: VI_ATTR_FDC_GEN_SIGNAL_EN 是否允许通过FDC传送数据 VI_ATTR_FDC_MODE FDC模式 VI_ATTR_FDC_USE_PAIR 一对或一个FDC有效 VI_ATTR_FDC_USE_VER FDC协议版本 VI_ATTR_PHYS_ADDR 器件地址 VI_ATTR_7_8_BIT_CMP 终止符

VI_ATTR_FDC_GEN_SIGNAL_EN 是否允许通过FDC传送数据 VI_ATTR_FDC_MODE FDC模式

VI_ATTR_FDC_USE_PAIR 一对或一个FDC有效 VI_ATTR_FDC_USE_VER FDC协议版本 VI_ATTR_PHYS_ADDR 器件地址 VI_ATTR_7_8_BIT_CMP 终止符有效位

VI_ATTR_NRDY_ABORT_EN 器件不再输出数据时是否被通知 VI_ATTR_OUTP_RDY_NOTIFY_EN 数据有效是否被通知 VI_ATTR_RD_PROT 传送协议

VI_ATTR_REPEAT_ADDR_EN 是否使用重复地址 VI_ATTR_SUPPRESS_END_ON 终止符是否被禁止 VI_ATTR_TERMCHAR 终止符

VI_ATTR_TERMCHAR_EN 终止符是否被允许 VI_ATTR_TMO_UNIT 超时值单位 VI_ATTR_TMO_VALUE 超时值

VI_ATTR_TRANSFER_MECH 传送机制(DMA或PIO) VI_ATTR_CMDR_SERV 主从模式 VI_ATTR_ASRL_BAUD 波特率 VI_ATTR_ASRL_DATA_BITS 数据位 VI_ATTR_ASRL_PARITY 校验极性 VI_ATTR_ASRL_STOP_BITS 停止位

VI_ATTR_ASRL_FLOW_CNTRL 数据流控制状态 3. 读资源定义的事件如下所示: 事件 说明

VI_EVENT_IO_COMPLETION 异步I/O操作已完成 4. 读资源定义的操作如下:

viRead(vi,buf,count,retCount) viReadAsync(vi,buf,count,jobId) viReadStatus(vi,jobId,jobStatus)

4.1. viRead(vi,buf,count,retCount) 1) 目标:从器件同步读取数据 2) 参数表:

参数名 输入/输出方向 数据类型 描述

vi 输入 ViSession 对话通道标识符(句柄) buf 输出 ViBuf 数据块位置

count 输入 ViUInt32 读出的字节数

retCount 输出 ViPUInt32 实际传送字节数 3) 返回状态值: 完成代码:

VI_SUCCESS 同步读数据完成

VI_SUCCESS_TERM_CHAR 特定终止符被读取

VI_SUCCESS_MAX_CNT 读取的字节数与count数相同 VI_WARN_NRDY_ABORT 传送退出,器件未准备好输出数据 错误代码:

VI_ERROR_INV_SESSION vi不能标识正当对话通道 VI_ERROR_RSRC_LOCKED 存取锁定模式不支持特定操作 VI_ERROR_TMO 超时错误

VI_ERROR_RAW_WR_PROT 传送时写协议被破坏 _VIOL

VI_ERROR_RAW_RD_PROT 传送时读协议被破坏 _VIOL

VI_ERROR_OUTP_PROT_VIOL 传送时输出协议错误 VI_ERROR_INP_PROT_VIOL 传送时输入协议错误 VI_ERROR_BERR 传送时总线错误 VI_ERROR_ABORT 传送时用户退出

VI_ERROR_IN_PROGRESS 同步写已执行

VI_ERROR_INV_SETUP 设置错误,不能开始写操作

4) 描述:该操作将从器件中读取的值放在buf,任一读资源通道只能登录一个同 步读操作。

5) 相关项:参见viWriteAsync()、viTerminate()、viWriteStatus()、 viReadAsync()、viReadStatus()。

6) 实现要求:当满足以下三种情况的一种或几种时,被认为读操作完成:一是结 束标号被读取,二是特定终止符被读取,三是读取的字节数与所需字节数相同。 4.2. viReadAsync(vi,buf,count,jobId) 1) 目标:从器件异步读取数据 2) 参数表:

参数名 输入/输出方向 数据类型 描述

vi 输入 ViSession 对话通道标识符(句柄) buf 输出 ViBuf 数据块位置

count 输入 ViUInt32 读出的字节数

jobId 输出 ViPjobId 异步读操作作业标识符 3) 返回状态值: 完成代码:

VI_SUCCESS 异步读操作完成 错误代码:

VI_ERROR_INV_SESSION vi不能标识正当对话通道 VI_ERROR_RSRC_LOCKED 存取锁定模式不支持特定操作 VI_ERROR_QUEUE_ERROR 不能进行读操作排队

4) 描述:该操作将从器件读取的数据放于buf中,任一读资源通道可以登录多个 异步读操作,进行排队处理。

5) 相关项:参见viWrite()、viTerminate()、viWriteAsync()、viRead( )、viReadStatus()。 6) 实现要求:无。

4.3. viReadStatus(vi,jobId,jobStatus) 1) 目标:获取读操作状态 2) 参数表:

参数名 输入/输出方向 数据类型 描述

vi 输入 ViSession 对话通道标识符(句柄)

jobId 输入 VijobId 读操作作业标识符

jobStatus 输出 ViPJobstatus 读操作状态 3) 返回状态值: 完成代码:

VI_SUCCESS 状态获取完成 错误代码:

VI_ERROR_INV_SESSION vi不能标识正当对话通道 VI_ERROR_RSRC_LOCKED 存取锁定模式不支持特定操作 VI_ERROR_INV_JOBID 作业标识符不当

4) 描述:当操作为同步时,标识符唯一确定,为VI_SYNC;当操作为异步时,标 识符为操作的输出参数值。

5) 相关项:参见viReadAsync()。 6) 实现要求:无。

n 格式化I/O资源(VI_RSRC_FMT_IO):

1. 资源概述:数据流格式化I/O操作,可进行格式化的器件读写操作,并可进行缓 冲区的I/O格式化。

2. 资源属性表及属性描述: 属性名 描述

VI_ATTR_7_8_BIT_CMP 终止符位数

VI_ATTR_END_ON_TERMCHAR_EN 在GPIB系统中,EOI终止符是否被确认 VI_ATTR_NRDY_ABORT 器件不再输出数据时是否被通知 VI_ATTR_PROT 读/写协议

VI_ATTR_RD_BUF_OPER_MODE 读缓冲区操作模式 VI_ATTR_RD_SIZE 读缓冲区大小

VI_ATTR_REPEAT_ADDR 是否使用重复地址 VI_ATTR_RETURN_MODE 读/写操作返回模式 VI_ATTR_SEND_END_EN 是否将END作为终止符

VI_ATTR_SUPPRESS_END 是否禁止END作为终止符 VI_ATTR_TERMCHAR 终止符 VI_ATTR_TMO_UNIT 超时值单位 VI_ATTR_TMO_VALUE 超时值

VI_ATTR_TRANSFER_MECH 传送机制(DMA或PIO) VI_ATTR_WR_BUF_OPER_MODE 写缓冲区操作模式 VI_ATTR_WR_BUF_SIZE 写缓冲区大小 VI_ATTR_ASRL_BAUD 波特率 VI_ATTR_ASRL_DATA_BITS 数据位 VI_ATTR_ASRL_PARITY 校验极性 VI_ATTR_ASRL_STOP_BITS 停止位

VI_ATTR_ASRL_FLOW_CNTRL 数据流控制状态 3. 格式化I/O资源定义的事件如下所示:无 4. 格式化I/O资源定义的操作如下: viSetBuf(vi,mask,size)

viSetUBuf(vi,mask,size,buf) viFlush(vi,mask)

viPrintf(vi,writeFmt,arg1,arg2?) viVPrintf(vi,writeFmt,params)

viSPrintf(vi,buf,writeFmt,arg1,arg2?) viSVPrintf(vi,buf,writeFmt,params) viBWrite(vi,buf,count,retCount) viScanf(vi,readFmt,arg1,arg2?) viVScanf(vi,readFmt,params)

viSScanf(vi,buf,readFmt,arg1,arg2?) viSVScanf(vi,buf,readFmt,params) viBRead(vi,buf,count,retCount)

viQueryf(vi,writeFmt,readFmt,arg1,arg2?) viVQueryf(vi,writeFmt,readFmt,params) 4.1. viSetBuf(vi,mask,size) 1) 目标:设置格式化I/O缓冲区大小 2) 参数表:

参数名 输入/输出方向 数据类型 描述

vi 输入 ViSession 对话通道标识符(句柄) mask 输入 ViPUInt16 缓冲区类型 size 输入 ViPUInt32 缓冲区大小 3) 返回状态值: 完成代码:

VI_SUCCESS 缓冲区大小设置完成 错误代码:

VI_ERROR_INV_SESSION vi不能标识正当对话通道 VI_ERRO …… 此处隐藏:3879字,全部文档内容请下载后查看。喜欢就下载吧 ……

第三章 虚拟仪器系统IO接口软件(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/453523.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)