基于LABVIEW的振动传感器数据采集上位机设计

        因实验需求,本人拟采用MEMS振动传感器长时间检测设备振动信号的特征值,但是本人使用的传感器配套上位机不能满足我们实际的需求,所以需要设计一款适合的上位机进行数据采集。

        本人使用的传感器使用Modbus-RTU协议,通过485总线与主机相连,那么什么是Modbus-RTU协议呢?

一、 Modbus-RTU协议

        Modbus协议是一种常用的总线协议,用于主从机之间的通信,Modbus-RTU协议的帧格式如下:

        帧格式=地址+功能码+数据+校验

  1. 地址:占用一个字节,即两位十六进制,0x00-0xFF,其中0x01-0xF7可用。常用的是单个传感器即从机1地址为0x01,如果多个从机则依次排列。
  2. 功能码:占用一个字节,不同功能码对应不同功能:我们需要的是读写保持寄存器,常用03H和06H,分别为读或者写。
  3. 数据:按照传感器的数据手册进行编辑。我们的传感器此处对应4个字节,起始两个字节为采集寄存器的起始地址,后两个字节为采集几个寄存器,我们需要采集XYZ轴的特征数据,按照数据手册此处应该是00000014,如果采集原始振动信号则00350003
  4. 校验:即CRC校验,作用是保证数据的正确性。该部分需将前面编辑好后,利用CRC校验生成工具进行生成。如16进制(CRC16)(MODBUS RTU通讯)校验码在线计算器 (23bei.com)

       完整的发送数据帧为: 0103 0000 0014 45C5 

 二、LABVIEW上位机设计

1、VISA

        VISA即虚拟软件架构,通过VISA可以实现用户与仪器总线连接与通信。

(1)配置串口:

        鼠标右键-仪器IO-串口-VISA配置串口:按照如下图配置串口。

2321714618a4467b96ecbf65bfd8504d.png

        在前面板显示如下: 59e80452c4584ac5851ba045736a927c.png

        传感器连接的COM口通过设备管理器的COM口查看,一般是叫CH340。 

(2)VISA写入: 

         鼠标右键-仪器IO-串口-VISA写入,该模块向从机写入上述数据帧。设置一个循环,每个多长时间进行一次采样。eb42fdcec447457bac1d0a6c88547283.png

 (3)VISA读取: 

         鼠标右键-仪器IO-串口-VISA读取该模块从从机读取数据。此处需要注意两个问题:

        1>字节数,最好使用下图中模式,亲测自己输入字节数接收数据会乱。

1f04540de4b84a1d91f4d425e23f47d8.png

        2>终止符,一般默认终止符为0x0A,如果你数据中有这个数据存在就会终止,数据就会乱掉,因此在这里我们设置的是不需要终止符。

(4)数据截取:

        因为接收的数据只有一部分是需要的,所以需要截取该部分。

        鼠标右键-字符串-截取字符串,两个输入分别是起始字节和截取几个字节,注意这里的起始字节是从0开始的。

3974b65d22614e94a919d12975e754e3.png

 (5)字符串转数值类型:

        因为采到的数据是十六进制字符串,还需要将其转换成十进制数值,此处选择字符串至字节数组转换模块,也可以使用强制类型转换。

b42b9c6a43744c7caa38cc9d404ce513.png

(6)波形可视化:

        在前面板右键,选择波形图表。

(7)采集数据EXCEL存储:

        后面板右键,文件IO,写入测量文件。如果有多个数据可以将输入信号合并。

487235ff4e4442699ec93f478f3a7e1d.png

  三、结果

aab4eed496894c0f87289041a11641f7.pngeab360cea8844d8b9852935a2239b603.png

上位机文件在这:基于LABVIEW的振动传感器数据采集上位机设计资源-CSDN文库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zyyyyyyyy945

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值