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

简介: 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、程序框图

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

目录
相关文章
|
机器学习/深度学习 传感器 算法
基于栅格地图的无人机三维路径规划算法研究(Matlab代码实现)
基于栅格地图的无人机三维路径规划算法研究(Matlab代码实现)
359 1
|
机器学习/深度学习 数据采集 算法
【VMD-SSA-LSSVM】基于变分模态分解与麻雀优化Lssvm的负荷预测【多变量】(Matlab代码实现)
【VMD-SSA-LSSVM】基于变分模态分解与麻雀优化Lssvm的负荷预测【多变量】(Matlab代码实现)
275 0
|
12月前
|
机器学习/深度学习 数据采集 算法
【风电功率预测】【多变量输入单步预测】基于RVM-Adaboost的风电功率预测研究(Matlab代码实现)
【风电功率预测】【多变量输入单步预测】基于RVM-Adaboost的风电功率预测研究(Matlab代码实现)
465 129
|
算法 数据安全/隐私保护 索引
基于GWO灰狼优化的多目标优化算法matlab仿真
本程序基于灰狼优化(GWO)算法实现多目标优化,适用于2个目标函数的MATLAB仿真。使用MATLAB2022A版本运行,迭代1000次后无水印输出结果。GWO通过模拟灰狼的社会层级和狩猎行为,有效搜索解空间,找到帕累托最优解集。核心步骤包括初始化狼群、更新领导者位置及适应值计算,确保高效探索多目标优化问题。该方法适用于工程、经济等领域复杂决策问题。
|
数据采集 传感器 XML
LabVIEW和MES系统的智能化车间数据对接
LabVIEW和MES系统的智能化车间数据对接
555 4
|
监控 测试技术 持续交付
设计通用灵活的LabVIEW自动测试系统
设计通用灵活的LabVIEW自动测试系统
584 0
|
网络安全
LabVIEW崩溃问题解决方法
LabVIEW崩溃问题解决方法
841 0
STM32(HAL库)驱动SHT30温湿度传感器通过串口进行打印
STM32(HAL库)驱动SHT30温湿度传感器通过串口进行打印
LabVIEW实现Modbus通信
Modbus只是工业控制中常用的一种协议方式,本篇博文依旧是通过串口通信的方式实现基本的Mosbus操作。