`
444878909
  • 浏览: 637987 次
文章分类
社区版块
存档分类
最新评论

虚拟仪器系统I/O接口软件——VISA(2)

 
阅读更多

3.3.2 VISA资源管理器资源

VISA资源管理器(VI_RSRC_VISA_RM)是VISA各资源的中间调度器,其在VISA各子系统元件在整个系统中配合工作中起着重要作用。资源管理器的基本功能包括:

1) 分配资源地址

2) 分配资源识别号(ID)

3) 进行操作调用

4) 进行事件管理

图3.3体现了VISA资源管理器在系统配置中的中间调度作用。

图3.3 VISA资源管理器与其它资源的关系示图

根据VISA规范,VISA资源管理器资源继承了资源模板定义的所有属性、事件与操作,在资源模板基础上本身没有加以扩展自己的属性、事件与操作。但资源管理器资源具有自己的语义,在系统资源中起着根资源的作用。

3.3.3 VISA仪器控制资源

在VISA资源模板的基础上,VISA仪器控制资源定义了仪器控制特有的属性、事件与操作。在仪器控制资源中定义的功能是通用的仪器功能,它适用于各种仪器类型。

VISA仪器控制资源中包括:

n 写资源

n 读资源

n 格式化I/O资源

n 触发资源

n 状态/服务请求资源

n 清除资源

n 高级存取资源

n 低级存取资源

n 器件特定命令资源

n CPU接口资源

VISA仪器控制各资源的关系如图3.4所示。

图3.4 VISA仪器控制资源关系概图

在VISA仪器控制资源中,CPU接口资源是相对独立的,它与其它仪器控制资源无内部联系。这并不是说CPU接口资源不能与其它资源相互调用,但它不能调用其它仪器控制资源的相关操作,也不能被其它仪器控制资源调用其相关操作。而如格式化I/O资源的操作是依赖于写资源及读资源操作的,它们之间存在着内部关联性。同样,触发资源、状态/服务请求资源及清除资源与器件特定命令资源,高级存取资源与低级存取资源之间也存在着内部关联性。

n 写资源(VI_RSRC_WR):

1. 资源概述:控制器向器件传送任意数据块,器件可以将接收到的数据块解释为消息、命令或二进制编码数据。

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

属性名 描述

VI_ATTR_FDC_ACCESS_MODE FDC(高速数据通道)缓冲区存取模式

VI_ATTR_FDC1_SUPP FDC版本1是否有效

VI_ATTR_FDC2_SUPP FDC版本2是否有效

VI_ATTR_FDC_CHNL FDC数据传送通道

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_INP_RDY_NOTIFY_EN 数据有效是否被通知

VI_ATTR_NRDY_ABORT_EN 器件不再接收数据时是否被通知

VI_ATTR_PHYS_ADDR 器件地址

VI_ATTR_REPEAT_ADDR_EN 是否使用重复地址

VI_ATTR_SEND_END_ON 终止符是否被确认

_TERMCHAR_EN

VI_ATTR_SEND_END_ON 是否将END作为终止符

VI_ATTR_TERMCHAR 终止符

VI_ATTR_TMO_UNIT 超时值单位

VI_ATTR_TMO_VALUE 超时值

VI_ATTR_TRANSFER_MECH 传送机制(DMA或PIO)

VI_ATTR_WR_PROT 传送协议

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. 写资源定义的操作如下:

viWrite(vi,buf,count,retCount)

viWriteAsync(vi,buf,count,jobId)

viWriteStatus(vi,jobId,jobStatus)

4.1. viWrite(vi,buf,count,retCount)

1) 目标:将数据同步写入到器件中

2) 参数表:

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

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

buf 输入 ViBuf 数据块位置

count 输入 ViUInt32 写入的字节数

retCount 输出 ViPUInt32 实际传送字节数

3) 返回状态值:

完成代码:

VI_SUCCESS 同步写操作完成

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()、viRead()、viReadAsync()。

6) 实现要求:无。

4.2. viWriteAsync(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()、viWriteStatus()、viRead()、viReadAsync()。

6) 实现要求:无。

4.3. viWriteStatus(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) 相关项:参见viWriteAsync()。

6) 实现要求:无。

n 读资源(VI_RSRC_RD):

1. 资源概述:控制器从器件读出任意数据块,控制器可以将接收到的数据块解释为消息、命令或二进制编码数据。

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

属性名 描述

VI_ATTR_FDC_ACCESS_MODE FDC(高速数据通道)缓冲区存取模式

VI_ATTR_FDC1_AVAIL FDC版本1是否有效

VI_ATTR_FDC2_AVAIL FDC版本2是否有效

VI_ATTR_FDC_CHNL FDC数据传送通道

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_ERROR_RSRC_LOCKED 存取锁定模式不支持特定操作

VI_ERROR_ALLOC_MEM 系统无法分配缓冲区

VI_ERROR_INV_MASK 缓冲区类型设置错误

4) 描述:该操作改变读/写缓冲区大小,缓冲区类型可取VI_READ及VI_WRITE。

5) 相关项:参见viSefUBuf()、viFlush()。

6) 实现要求:调用该操作会刷新相关缓冲区。

4.2. viSetUBuf(vi,mask,size,buf)

1) 目标:设置格式化I/O用户缓冲区

2) 参数表:

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

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

mask 输入 ViPUInt16 缓冲区类型

size 输入 ViPUInt32 缓冲区大小

buf 输入 ViBuf 实际缓冲区地址

3) 返回状态值:

完成代码:

VI_SUCCESS 用户缓冲区设置完成

错误代码:

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

VI_ERROR_RSRC_LOCKED 存取锁定模式不支持特定操作

VI_ERROR_INV_MASK 缓冲区类型设置错误

4) 描述:该操作为格式化I/O开辟一个缓冲区,该缓冲区不能用作其它用途。

5) 相关项:参见viSefBuf()。

6) 实现要求:调用该操作会刷新相关缓冲区。

4.3. viFlush(vi,mask)

1) 目标:手工刷新格式化I/O缓冲区

2) 参数表:

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

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

mask 输入 ViPUInt16 缓冲区类型

3) 返回状态值:

完成代码:

VI_SUCCESS 缓冲区刷新完成

错误代码:

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

VI_ERROR_RSRC_LOCKED 存取锁定模式不支持特定操作

VI_ERROR_IO I/O错误

VI_ERROR_TMO 超时错误

VI_ERROR_ABORT 在操作结束前收到退出信号

VI_ERROR_INV_MASK 缓冲区类型设置错误

4) 描述:该操作手动刷新相关读/写缓冲区内容。

5) 相关项:参见viSefBuf()、viSefUBuf()。

6) 实现要求:若对一空缓冲区进行刷新操作,相当于没有动作。

4.4. viPrintf(vi,writeFmt,arg1,arg2…)

1) 目标:按设定格式将数据传送到器件中

2) 参数表:

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

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

writeFmt 输入 ViString 参数格式

arg1,arg2… 输入 各个所需参数

3) 返回状态值:

完成代码:

VI_SUCCESS 参数成功地格式化

错误代码:

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) 描述:该操作以一定格式将数据传送到器件中,viWrite()实际上是完成低层I/O操作。任一对话通道不能同时进行viWrite()及viPrintf()操作。

5) 相关项:参见viSPrintf()、viVPrintf()、viSVPrintf()、viBWrite()。

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 对话通道标识符(句柄)

3) 返回状态值:

完成代码:

VI_SUCCESS 器件清除完成

错误代码:

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

VI_ERROR_RSRC_LOCKED 存取锁定模式不支持特定操作

VI_ERROR_BERR 总线错误

VI_ERROR_TMO 超时错误

4) 描述:该操作向器件发送一个清除命令。

5) 相关项:无。

6) 实现要求:无。

n 高级存取资源(VI_RSRC_HL_ACC):

1. 资源概述:在接口级对器件的寄存器进行存取操作。

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

属性名 描述

VI_ATTR_BUS_TYPE 接口总线类型

VI_ATTR_PHYS_ADDR 器件地址

VI_ATTR_TYPE 高级存取对象类型(器件还是接口)

VI_ATTR_DEST_ACCESS_PRIV 写操作特性

VI_ATTR_DEST_BYTE_ORDER 写操作字节顺序

VI_ATTR_DO_RETRY 是否允许软件重入

VI_ATTR_SRC_ACCESS_PRIV 读操作特性

VI_ATTR_SRC_BYTE_ORDER 读操作字节顺序

VI_ATTR_USE_BLOCK 是否允许块传送

VI_ATTR_TRANSFER_MECH 传送机制

VI_ATTR_SRC_INCREMENT 源偏移量

VI_ATTR_DEST_INCREMENT 目标偏移量

3. 高级存取资源定义的事件如下所示:无

4. 高级存取资源定义的操作如下:

viIn(vi,space,offset,width,value)

viIn8(vi,space,offset,value)

viIn16(vi,space,offset,value)

viIn32(vi,space,offset,value)

viIn64(vi,space,offset,value)

viOut(vi,space,offset,width,value)

viOut8(vi,space,offset,value)

viOut16(vi,space,offset,value)

viOut32(vi,space,offset,value)

viOut64(vi,space,offset,value)

viMove(vi,srcspace,srcOffset,srcWidth,destspace,destOffset,

destWidth,length)

4.1. viIn(vi,space,offset,width,value)

viIn8(vi,space,offset,value)

viIn16(vi,space,offset,value)

viIn32(vi,space,offset,value)

viIn64(vi,space,offset,value)

1) 目标:从接口总线读取8,16,32或64位字

2) 参数表:

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

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

space 输入 ViUInt16 地址空间类型

offset 输入 ViUInt32 读取接口/器件偏移量

width 输入 ViUInt16 读取数据长度

value 输出 ViBuf、ViPUInt(8、16、32、64) 读取数据

3) 返回状态值:

完成代码:

VI_SUCCESS 读操作完成

错误代码:

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

VI_ERROR_RSRC_LOCKED 存取锁定模式不支持特定操作

VI_ERROR_BERR 总线错误

VI_ERROR_INV_SPACE 地址空间不合法

VI_ERROR_INV_OFFSET 偏移量不合法

VI_ERROR_NSUP_BYTE_ORDER 不支持特定字节顺序

VI_ERROR_NSUP_OFFSET 硬件不支持特定地址偏移量

VI_ERROR_NSUP_PRIV 硬件不支持存取特性

4) 描述:该操作用特定数据长度与地址空间读取位于一定地址的数据值。其中viIn8()、viIn16()、viIn32()、viIn64分别规定数据长度为8、16、32与64位。

5) 相关项:viOut()。

6) 实现要求:参数value值viBuf对应viIn(),viPUInt8对应viIn8(),viPUInt16对应viIn16(),viPUInt32对应viIn32(),viPUInt64对应viIn64()。

4.2. viOut(vi,space,offset,width,value)

viOut8(vi,space,offset,value)

viOut16(vi,space,offset,value)

viOut32(vi,space,offset,value)

viOut64(vi,space,offset,value)

1) 目标:向接口总线写入8,16,32或64位字

2) 参数表:

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

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

space 输入 ViUInt16 地址空间类型

offset 输入 ViUInt32 写入接口/器件偏移量

width 输入 ViUInt16 写入数据长度

value 输入 ViBuf、ViPUInt(8、16、32、64) 写入数据

3) 返回状态值:

完成代码:

VI_SUCCESS 写操作完成

错误代码:

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

VI_ERROR_RSRC_LOCKED 存取锁定模式不支持特定操作

VI_ERROR_BERR 总线错误

VI_ERROR_INV_SPACE 地址空间不当

VI_ERROR_INV_OFFSET 偏移量不当

VI_ERROR_NSUP_BYTE_ORDER 不支持特定字节顺序

VI_ERROR_NSUP_OFFSET 硬件不支持特定地址偏移量

VI_ERROR_NSUP_PRIV 硬件不支持存取特性

4) 描述:该操作用特定数据长度与地址空间将数据写入到一定地址中。其中viOut8()、viOut16()、viOut32()、viOut64分别规定数据长度为8、16、32与64位。

5) 相关项:viIn()。

6) 实现要求:参数value值viBuf对应viOut(),viPUInt8对应viOut8(),viPUInt16对应viOut16(),viPUInt32对应viOut32(),viPUInt64对应viOut64()。

4.3. viMove(vi,srcSpace,srcOffset,srcWidth,destSpace,destOffset,destWidth,length)

1) 目标:移动数据块

2) 参数表:

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

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

srcSpace 输入 ViUInt16 源空间地址

srcOffset 输入 ViUInt32 源偏移量

srcWidth 输入 ViUInt16 源数据长度

destSpace 输入 ViUInt16 目标空间地址

destOffset 输入 ViUInt32 目标偏移量

destWidth 输入 ViUInt16 目标数据长度

length 输入 ViUInt32 传送数据个数

3) 返回状态值:

完成代码:

VI_SUCCESS 数据块移动完成

错误代码:

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

VI_ERROR_RSRC_LOCKED 存取锁定模式不支持特定操作

VI_ERROR_BERR 总线错误

VI_ERROR_INV_SPACE 地址空间不当

VI_ERROR_INV_OFFSET 偏移量不当

VI_ERROR_INV_WIDTH 数据长度不当

VI_ERROR_NSUP_BYTE_ORDER 不支持特定字节顺序

VI_ERROR_NSUP_OFFSET 硬件不支持特定地址偏移量

VI_ERROR_NSUP_VAR_WIDTH 源与目标数据长度不一致

VI_ERROR_NSUP_PRIV 硬件不支持存取特性

4) 描述:该操作将数据从源地址移动到目标地址。源与目标数据长度必须一致。

5) 相关项:无。

6) 实现要求:无。

n 低级存取资源(VI_RSRC_LL_ACC):

1. 资源概述:在寄存器级对器件的寄存器进行存取操作。

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

属性名 描述

VI_ATTR_BUS_TYPE 接口总线类型

VI_ATTR_TMO_UNIT 超时值单位

VI_ATTR_TMO_VALUE 超时值

VI_ATTR_ACC_PRIV 存取特性

VI_ATTR_ADDR_SPACE 地址空间

VI_ATTR_BLOCK 块传送允许

VI_ATTR_BYTE_PREFETCH 是否允许预取操作

VI_ATTR_VIRT_BASE 虚拟基地址

VI_ATTR_WIN_BASE_ADDR 总线基地址

VI_ATTR_WIN_OWNER 用户存取特性

VI_ATTR_WR_POST 写登记是否允许

VI_ATTR_A16_SPC_INFO A16空间映射信息

VI_ATTR_A24_SPC_INFO A24空间映射信息

VI_ATTR_A32_SPC_INFO A32空间映射信息

3. 低级存取资源定义的事件如下所示:

事件 说明

VI_EVENT_BERR 总线错误发生事件

4. 低级存取资源定义的操作如下:

viMap(vi,mapSpace,mapBase,mapSize,owner,suggested,address)

viUnMap(vi)

viPoke(vi,addr,width,value)

viPoke8(vi,addr,value)

viPoke16(vi,addr,value)

viPoke32(vi,addr,value)

viPoke64(vi,addr,value)

viPeek(vi,addr,width,value)

viPeek8(vi,addr,value)

viPeek16(vi,addr,value)

viPeek32(vi,addr,value)

viPeek64(vi,addr,value)

4.1. viMap(vi,mapSpace,mapBase,mapSize,access,suggested,address)

1) 目标:内存空间映射

2) 参数表:

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

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

MapSpace 输入 ViUInt16 映射地址空间

MapBase 输入 ViBusAddress 内存偏移量

MapSize 输入 ViBusSize 映射内存大小

Access 输入 ViBoolean 映射特性

Suggested 输入 ViBuf 映射是否允许确认

Address 输出 ViPBuf 映射地址

3) 返回状态值:

完成代码:

VI_SUCCESS 地址映射完成

错误代码:

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

VI_ERROR_RSRC_LOCKED 存取锁定模式不支持特定操作

VI_ERROR_INV_SPACE 地址空间不当

VI_ERROR_INV_OFFSET 偏移量不当

VI_ERROR_NSUP_BYTE_ORDER 不支持特定字节顺序

VI_ERROR_NSUP_OFFSET 硬件不支持特定地址偏移量

VI_ERROR_NSUP_PRIV 硬件不支持存取特性

VI_ERROR_TMO 超时错误

4) 描述:该操作进行特定内存空间映射。

5) 相关项:参见viUnmap()。

6) 实现要求:在由于资源限制致使viMap()不能立即执行,则其将沉睡到资源有效或超时情况发生。

4.2. viUnMap(vi)

1) 目标:取消内存映射

2) 参数表:

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

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

3) 返回状态值:

完成代码:

VI_SUCCESS 映射取消完成

错误代码:

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

VI_ERROR_RSRC_LOCKED 存取锁定模式不支持特定操作

VI_ERROR_WINDOW_NMAPPED 标识符不当

4) 描述:该操作应与映射操作一一对应。

5) 相关项:参见viMap()。

6) 实现要求:无。

4.3. viPoke(vi,addr,width,value)、viPoke8(vi,addr,value)

viPoke16(vi,addr,value)、viPoke32(vi,addr,value)

viPoke64(vi,addr,value)

1) 目标:写数据

2) 参数表:

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

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

addr 输入 ViBuf 数据存储地址

width 输入 ViUInt16 数据长度

value 输入 ViBuf、ViUInt8、ViUInt16、ViUInt32、ViUInt64 存储数据值

3) 返回状态值:无

4) 描述:该操作将数据写入到addr参数表示的地址中。

5) 相关项:参见viPeek()。

6) 实现要求:数据类型viBuf对应viPoke(),viUInt8对应viPoke8(),viUInt16对应viPoke16(),viUInt32对应viPoke32(),viUInt64对应viPoke64()。

4.4. viPeek(vi,addr,width,value)、viPeek8(vi,addr,value)

viPeek16(vi,addr,value)、viPeek32(vi,addr,value)

viPeek64(vi,addr,value)

1) 目标:读数据

2) 参数表:

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

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

addr 输入 ViBuf 数据存储地址

width 输入 ViUInt16 数据长度

value 输出 ViBuf、ViUInt8、ViUInt16、ViUInt32、ViUInt64 存储数据值

3) 返回状态值:无

4) 描述:该操作从addr参数表示的地址中读取数据。

5) 相关项:参见viPoke()。

6) 实现要求:其中数据类型viBuf对应viPeek(),viPUInt8对应viPeek8(),viPUInt16对应viPeek16(),viPUInt32对应viPeek32(),viPUInt64对应viPeek64()。

n 器件特定命令资源(VI_RSRC_DEV_CMD):

1. 资源概述:允许发送与接收命令,并取得命令请求与命令反应,在检查到协议错误时产生一个协议错误信息。

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

属性名 描述

VI_ATTR_HW_EN 硬件允许与否

VI_ATTR_TMO_UNIT 超时值单位

VI_ATTR_TMO_VALUE 超时值

VI_ATTR_PHYS_ADDR 器件地址

3. 器件特定命令资源定义的事件如下所示:

事件 说明

VI_EVENT_DEV_CMD 接收到命令或查询事件

4. 器件特定命令资源定义的操作如下:

viSendCommand(vi,command,param)

viQueryRequest(vi,operationMode,command,param,len,response)

viGenProtError(vi,protError)

4.1. viSendCommand(vi,command,param)

1) 目标:向器件发送命令

2) 参数表:

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

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

command 输入 ViUInt32 命令列表

param 输入 ViAddr 参数值

3) 返回状态值:

完成代码:

VI_SUCCESS 命令发送完成

错误代码:

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

VI_ERROR_RSRC_LOCKED 存取锁定模式不支持特定操作

VI_ERROR_TMO 超时错误

VI_ERROR_BERR 总线错误

VI_ERROR_RAW_RD_PROT_VIOL读协议错误

VI_ERROR_RAW_WR_PROT_VIOL写协议错误

VI_ERROR_OUTP_PROT_VIOL 输出协议错误

VI_ERROR_INP_PROT_VIOL 输入协议错误

4) 描述:该操作向器件发送特定命令,命令包括:获取硬件版本信息、获取软件版本信息、发送字串命令、发送长字串命令、发送扩展字串命令、发这GPIB命令及发送接口缺省命令。

5) 相关项:参见viQueryRequest()。

6) 实现要求:无。

4.2. viQueryRequest(vi,operationMode,command,param,len,response)

1) 目标:请求查询并返回响应值

2) 参数表:

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

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

operationMode 输入 ViUInt16 操作类型

command 输入 ViUInt32 命令列表

param 输入 ViAddr 参数值

len 输入/输出 ViUInt32 响应者数据长度

response 输出 ViAddr 命令响应

3) 返回状态值:

完成代码:

VI_SUCCESS 查询完成

错误代码:

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

VI_ERROR_RSRC_LOCKED 存取锁定模式不支持特定操作

VI_ERROR_CMD_TMO 命令发送超时错误

VI_ERROR_RESP_TMO 命令响应超时错误

VI_ERROR_BERR 总线错误

VI_ERROR_ABORT 传送时用户退出

VI_ERROR_RAW_RD_PROT_VIOL读协议错误

VI_ERROR_RAW_WR_PROT_VIOL写协议错误

VI_ERROR_OUTP_PROT_VIOL 输出协议错误

VI_ERROR_INP_PROT_VIOL 输入协议错误

VI_ERROR_NSUP_COMMAND 命令未收到

VI_ERROR_RESP_PENDING 前个响应正在登录

4) 描述:该操作可以向器件发送命令或接收上一个命令的响应。参数operationMode表明了操作类型。

5) 相关项:参见viSendCommand()。

6) 实现要求:无。

4.3. viGenProtError(vi,protError)

1) 目标:产生一个协议错误

2) 参数表:

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

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

protError 输入 ViUInt16 产生的协议错误

3) 返回状态值:

完成代码:

VI_SUCCESS 协议错误产生完成

错误代码:

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

VI_ERROR_NSUP_SERV_OP 从机功能不支持

4) 描述:该操作产生的协议错误包括:清除任一协议错误状态、前一个响应正在登录引发的多个查询错误、命令未被识别、输入协议错误、输出协议错误、读协议错误与写协议错误等。

5) 相关项:无。

6) 实现要求:无。

n CPU接口资源(VI_RSRC_CPU_INTF):

1. 资源概述:可实现对当地控制器的接口配置。

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

属性名 描述

VI_ATTR_HW_INTR_LEVEL CPU板中断级

VI_ATTR_IO_BASE CPU I/O基地址

VI_ATTR_LOCAL_BUS_TMO 当地总线超时期间

VI_ATTR_MEM_BASE 内存基地址

VI_ATTR_MSTR_DMA_CHNL 主机DMA通道

VI_ATTR_SLAVE_DMA_CHNL 从机DMA通道

VI_ATTR_SYSRESET_RESET_PC SYSRESET是否会使当地控制器复位

VI_ATTR_LOCAL_BYTE_ORDER 接口控制器的字节顺序

3. CPU接口资源定义的事件如下所示:无

4. CPU接口资源定义的操作如下:无

分享到:
评论

相关推荐

    虚拟仪器软件结构.pdf

    虚拟仪器软件结构 全本 第二章 虚拟仪器系统软件结构与模型 第三章 虚拟仪器系统I/O接口软件——VISA

    VISA汇总,编程,各种操作

    虚拟仪器系统I/O接口软件——VISA VISA操作表 读资源 写资源 VISA资源定义 VISA应用实例

    VISA汇总编程

    虚拟仪器系统 I/O 接口软件——VISA 汇总编程。。。。。。。。。

    visa 协议函数介绍

    VISA为虚拟仪器提供了标准化的I/O接口软件规范,VISA是整个工业界的统一的软件基础,虚拟仪器软件结构中的标准 I/O 接口软件称为VISA库,visa接口协议设备可参考函数说明。

    利用LabWindows_CVI的VISA体系对仪器进行I_O的操作

    利用LabWindows_CVI的VISA体系对仪器进行I_O的操作

    NIVISA1800full 驱动安装程序

    1、NI-VISA 通用I/O接口软件 NI-VISA许可证信息 虚拟仪器软件架构(VISA)是对包含GPIB、VXI、PXI、串口(RS232/485)、以太网、USB和/或IEEE 1394接口的仪器系统进行配置、编程和故障排除的标准。 新特性包含LXI自动...

    虚拟仪器编程基础──VISA标准与应用.pdf

    比较系统地剖析了VISA模型内涵及其基本I/O服务方式,简要介绍了利用VISA函数实现虚拟仪器编程的思想与方法,并给出了一个编程实例。

    Visa 驱动 20.0版本

    NI-​VISA​是​一个​NI​仪器​驱动​程序,​是​虚拟​仪器​软件​架构​(VISA) I/​O​标准​的​具体​实现。​虚拟​仪器​软件​架构​(VISA)​这​一​标准​用于​配置​和​编​程​基于​GPIB、​VXI、...

    虚拟仪器规范 - VISA

    压缩包使用 7-zip v9.20 制作。虚拟仪器编程的通用框架。以前工作时整理的,低分共享给大家。

    深圳IO指令集和操作说明.pdf

    For the best SHENZHEN I/O experience, we highly recommend printing this manual and assembling a binder that you can refer to as you play. To assemble the binder, simply follow these instructions: • ...

    电子测量中的LabVIEW 8.2的VISA仪器控制

    VISA是虚拟仪器软件结构体系(Virtua1 Instument Srchitecture)的简称。VISA是在所有LalBIEW工作平台上控制VXI、GPIB、RS-232以及其他种类仪器的单接口程序库。 VISA是由组成VXI p1ug&p1ay系统联盟的35家最大的仪器...

    虚拟仪器编程基础_VISA标准与应用

    visa编程!

    NI Labview VISA 2021

    NI Labview VISA 2021官方版本,NI-​VISA​是​一个​NI​仪器​驱动​程序,​是​虚拟​仪器​软件​架构​(VISA) I/​O​标准​的​具体​实现。​虚拟​仪器​软件​架构​(VISA)​这​一​标准​用于​配置​...

    电子仪器自动检定/校准系统通用接口设计 (2010年)

    针对电子仪器自动检定/校准测试软件设备无关性和代码重用性的问题,提出了基于通用接口层的检定/校准测试系统体系结构,通用接口使仪器设备的控制细节对上层测试控制程序透明,简化了上层测试流程软件的开发,提高了代码...

    基于VISA的电子仪器通用接口研究及应用

    计算机接口技术的迅速发展,促进了电子测量仪器的发展,新的总线逐步应用到仪器领域。新总线的优良特性为测试工作带来便利,...本文介绍了基于VISA的电子仪器通用接口的设计方法及其在自动检定、校准测试软件中的应用。

    C# 利用VISA控制测试仪器

    C# 利用VISA控制测试仪器

    虚拟仪器Visa库.rar

    连接万用表、电子负载、电源等设备的虚拟仪器库,包含32位和64库。

    基于Python的虚拟仪器技术研究及实现.pdf

    基于Python的虚拟仪器技术研究及实现.pdf

    C++QT控制通过VISA控制硬件设备的程序.txt

    C++/QT控制通过VISA控制硬件设备的程序,简单易学,有对应的博客讲解: https://blog.csdn.net/qq_40262372/article/details/112635183 ,,进群包答疑!!程序方面

    Labview_VISA支援USB

    大家都知道VISA支援很多種的I/O介面 其中也包括USB, VISA支援的USB除了USB Instrument外 還支援所謂的USB Raw Mode, 也就是直接下底層的USB request到USB裝置, 而bypass了上層的USB軟體例如HID layer, mass stroage ...

Global site tag (gtag.js) - Google Analytics