使用LabVIEW编写简单串口采集程序

使用LabVIEW编写简单串口采集程序使用 LabVIEW 编写简单串口采集程序 1LabVIEW 版本使用版本为 2018 版 使用硬件接口需安装 VISA 驱动 2 需要实现的功能设计程序 将串口接收的指定帧头帧尾的数据接收 并提取有效数据位 将数据转为电压值实时显示 并可保存为文本文件 数据帧格式 3 界面设计左边是一个接受开关 以及串口的一些设置 左下方是保存路径选择及保存按钮 中间上方实时显示单次接收的数据 为一维数组 下方是累计接收的数据 为二维数组 界面右侧实时显示数据计算出的电压值 4 程序设计 4 1

1 LabVIEW版本

使用版本为2018版,使用硬件接口需安装VISA驱动

2 需要实现的功能

设计程序,将串口接收的指定帧头帧尾的数据接收,并提取有效数据位,将数据转为电压值实时显示,并可保存为文本文件。

数据帧格式:

使用LabVIEW编写简单串口采集程序

3 界面设计

左边是一个接受开关,以及串口的一些设置,左下方是保存路径选择及保存按钮。中间上方实时显示单次接收的数据,为一维数组,下方是累计接收的数据。为二维数组。界面右侧实时显示数据计算出的电压值。

使用LabVIEW编写简单串口采集程序

4 程序设计

4.1 串口设置

首先设置串口,器件:仪器IO-串口-VISA配置串口,添加串口号、波特率等不多说。

使用LabVIEW编写简单串口采集程序

之后创建一个while循环,把串口关闭放在循环外,其他程序都写在while循环内,循环的条件是串口开关控件ON

注意:在while中需要加入延时,给程序处理时间,否则会乱码。延时时间视情况而定。

使用LabVIEW编写简单串口采集程序使用LabVIEW编写简单串口采集程序

在串口配置后需要添加一个VISA属性节点,具体原因俺也不知道。之后创建一个判断条件,VISA属性节点字节输出不为0,即接收到数据时触发“真”,进行之后的读取与处理。之后是一个串口读取器件。

使用LabVIEW编写简单串口采集程序

4.2 接收实时显示

使用字符串转字节数组,创建显示控件,可显示单次接收到的数据帧。通过创建数据,添加反馈回路可以创建二维数组显示总接受数据帧。

使用LabVIEW编写简单串口采集程序

4.3 有效数据帧判断

有效数据帧的帧头和帧尾都是固定的,使用数组索引对一维数据进行元素查询,我收到的数据帧格式为0x55 0xAA 0xXX 0xXX 0x55 ,故使用多输入与器件对数组的第0,1,4个元素进行判断,若全部相等,则说明接收到完整数据帧。

注意:图中55 AA 55为16进制显示。

使用LabVIEW编写简单串口采集程序

4.4 计算,实时显示电压值

若判断与为真,说明接收到有效数据帧。把一维数组的第2、3个元素,即数据位的高八位乘以256再加上第八位得到AD采样值,使用的是12位AD故除以2的12次方再乘以参考电压3.3V得到测量电压。之后通过字符串拼接给电压值加上V和换行,再首尾相连连续显示。

使用LabVIEW编写简单串口采集程序

4.5 创建,保存文本文件

将电压显示窗口创建局部变量,改为读取模式,点击保存按钮保存为txt文件。

使用LabVIEW编写简单串口采集程序

5 测试

使用虚拟串口创建一堆串口,设置好串口参数,勾选16进制发送。没毛病。

注意:两个数组显示控件都设置为十六进制显示

使用LabVIEW编写简单串口采集程序使用LabVIEW编写简单串口采集程序 

6 结尾

源码下载:https://download.csdn.net/download/_/

使用LabVIEW编写简单串口采集程序

运行前需打开开关控件,运行的时候别关开关控件。我是菜鸡,程序有bug正常,源码很简单,第一次发帖大家骂轻点。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/200292.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午11:08
下一篇 2026年3月20日 上午11:08


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号