labview 的VISA是什么?

labview 的VISA是什么?,第1张

在LabVIEW中使用VISA

VISA是仪器编程的标准I/O API。

VISA的多种用途

VISA可控制GPIB、串口、USB、以太网、PXI或VXI仪器,并根据使用仪器的类型调用相应的驱动程序,用户无需学习各种仪器的通信协议。VISA独立于 *** 作系统、总线和编程环境。换言之,无论使用何种设备、 *** 作系统和编程语言,均使用相同的API。

开始使用VISA之前,应确保选择合适的仪器控制方法。

GPIB、串口、USB、以太网和某些VXI仪器使用基于消息的通信方式。对基于消息的仪器进行编程,使用的是高层的ASCII字符串。仪器使用本地处理器解析命令字符串,设置合适的寄存器位,进行用户期望的 *** 作。SCPI(可编程仪器标准命令)是用于仪器编程的ASCII命令字符串的标准。相似的仪器通常使用相似的命令。用户只需学习一组命令,而无需学习各个仪器生产厂商各种仪器的不同命令消息。最常用的基于消息的函数是:VISA读取、VISA写入、VISA置触发有效、VISA清空和VISA读取STB。

PXI和许多VXI仪器使用基于寄存器的通信方式。对基于寄存器的仪器进行编程,使用的是将直接写入仪器控制寄存器的底层二进制信息。该通信方式的优点是速度快,因为仪器不需解析命令字符串,并将信息转换为寄存器层次的程序。基于寄存器的仪器实际上是在直接硬件 *** 作层上进行通信。最常用的基于寄存器的函数是:VISA输入、VISA输出、VISA转入和VISA转出。

单片机

Labview与MCU的USB通讯

山无忧

原创

关注

2点赞·980人阅读

我用的是单片机MG84,和Labview进行USB通讯。

一、创建VISA USB驱动

通过Labview自带的软件 NI-VISA Driver Wizard

选择USB

选择你的设备,ID在设备管理器中看,我这是已经插上电脑的,没有插的选择other

NEXT,选择路径,生成inf文件

生成好了后在进行安装

二、Labview写程序

首次程序是这样,会出现报错 VISA:(Hex 0xBFFF003A) 由于设置无效(导致属性被设置为不一致状态),将无法开始 *** 作

参考网上的解答,重新写了下:

报错解除,可以正常读写,此报错是因为此USB是HID类型的,并且输入和输出都是中断传输,所以需要加入USB的中断处理

在labview的visa选板中,高级visa>>事件处理,选择visa启用事件和visa等待事件。

接着,在visa选板》高级visa》总线与接口配置》visa USB中,选择visa获取usb设备中断数据

要注意必须在visa写入之后才可以读取usb中断返回的数据。不写入或是写入的数据错误导致无返回值,就会产生超时错误 VISA: (Hex 0xBFFF0015) 完成 *** 作前超时已过期。可以将超时的时间设置的长一些,看一下是不是此处的问题。如果还是在超时这里有问题,拔插一下USB,再试试吧。

连接VISA获取USB中断数据时,可能会有接线端冲突,要在 visa等待事件 定义类型,如下图所示。

另外,USB中断是需要在连线端点,右键–>创建常量–>USB中断,不能自己创建个下拉列表,不然也会报错的


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12150133.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存