Labview串口通信VISA实现串口收发

文章目录


前言

  • 前面使用过调用 MSComm 控件的方式(Labview串口通信MSComm实现串口收发),即利用 Windows 提供的控件对象,在 LabVIEW 中对该控件的属性和方法进行操作,来实现串口通信。之所以使用 MSComm 控件,是因为比使用 VISA 来实现串口通信要灵活一些,比如可以通过回调的方式,在 PC 的串口 buffer 中数据字节数到达某一设定值时,可以触发注册好的 LabVIEW 回调函数来进行处理,这种方式就很好的避免了在轮询中去读取串口数据了,效率提升是很明显的,特别是在速度和数据吞吐率有略高的要求时。

  • 当然了,使用 VISA 也是可以很简洁的实现串口通信的,其优点就是使用简单,虽然用户体验的简单性往往都会牺牲一些使用上的灵活性。

  • 本文实现通过 LabVIEW 的 VISA 模块实现串口收发通信。


一、什么是 VISA

VISA 是 Virtual Instrument Software Architecture 的简称,它提供了一种标准的、跨平台的通信协议,允许 LabVIEW 与各种不同的设备进行通信,无论是通过 GPIB、串口、USB、以太网或其他接口。VISA 对于测试软件开发者来说是一个可调用的操作函数集,本身并不提供仪器编程能力,它只是一个高层 API,通过调用低层的驱动程序来控制仪器。NI-VISA 的层次结构如下图所示:

二、VISA 驱动下载及安装

1、下载

链接:https://www.ni.com/zh-cn/support/downloads/drivers/download.ni-visa.html#306043

根据所使用的 LabVIEW 发行版本选择对应的 NI-VISA 的版本,我这里用的是 NI LabVIEW 2018 (32位),这里选择的 NI-VISA 版本为 21.0。

查看自述文件可以确定你所下载的 NI-VISA 版本和你所使用的 LabVIEW 是否兼容。

查看自述文件 --> 自述文件和发行说明 --> NI-VISA 21.0 for Windows Readme

2、安装

安安装 VISA 驱动程序非常简单,只需要按照安装向导的提示进行操作即可,安装成功后会提示重启,重启即可。

三、VISA 实现串口收发

官方给我们提供了很多范例方便我们进行开发,我这里要用到的是串行写入和读取两个端口 例程,相关范例路径在:帮助 -> 查找范例 -> 硬件输入与输出 -> 串口-> 串行写入和读取两个端口

1、打开虚拟串口

参考我的上一篇博客:https://blog.csdn.net/qq_41839588/article/details/131936554?spm=1001.2014.3001.5501

我这里虚拟出 COM8 和 COM9 两个端口

2、前面板运行效果

COM8(发)--> COM9(收),在写入字符串输入 "hello world!",运行程序后读取字符串可以看到写入的字符串。

3、程序框图

有兴趣的读者可以试一试串口其他的例程,并根据需求选择适合自己项目开发的方案。


我的qq:2442391036,欢迎交流!


相关推荐
LabVIEW开发1 天前
LabVIEW实现FDTD 电磁仿真
算法·labview·labview知识·labview功能·labview程序
labview_自动化2 天前
labview opc ua
labview
秣厉科技2 天前
【番外】04:Python 和 LabVIEW 对接 DeepSeek API
python·labview·deepseek
啊哈哈哈13 天前
Modbus 协议官方规范资料包:中文翻译版 / 英文原版 / 中英对照版
串口通信·modbus·嵌入式开发·工业通信·plc通信·上位机开发·协议规范
我超膨胀der.4 天前
LABVIEW生成EXE
labview
LabVIEW开发4 天前
LabVIEW QMH 队列消息处理架构
架构·labview·labview知识·labview功能·labview程序
LabVIEW开发8 天前
LabVIEW动态 VI编译规避程序损坏
labview·labview知识·labview功能·labview程序
LabVIEW开发9 天前
LabVIEW密码防护缺陷与替代方案
labview·labview知识·labview功能·labview程序
LabVIEW开发9 天前
LabVIEW PID高级整定技术与工程应用
labview·labview知识·labview功能·labview程序
sanqima9 天前
mscomm32.ocx串口插件的注册方法
c++·串口通信·ocx插件