LabVIEW多路数据采集程序

简介: LabVIEW多路数据采集程序

学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路。学习之乐,独乐乐,不如众乐乐,把知识讲给更多的人听,何乐而不为呢?

博客写作背景----项目中解决的问题

最近遇到一个使用单片机多路采集信号的项目,还需要在上位机进行波形的查看,信号算法的处理,初步定为使用labview编写上位机程序进行处理。为啥用labview呢,因为LabVIEW是美国国家仪器公司(NI)的创新软件产品,其全称是实验室虚拟仪器工程平台(Laboratory Virtual Instrument Engineering Workbench),是一种基于G语言(Graphics Language,图形化编程语言)的测试系统软件开发平台。LabVIEW并不局限于虚拟仪器的开发,它的作用是为大型复杂测试系统提供通用的软件开发平台。目前,LabVIEW已经成为测试领域应用最广泛和最有前途的软件开发平台之一。


数据采集,是指从传感器和其他待测设备的模拟和数字被测单元中自动采集信息的过程。能够实现数据采集功能的系统叫作数据采集系统。


数据采集系统的任务,就是将传感器输出的信号转换成计算机能识别的信号并送入计算机进行处理,然后将处理得到的数据进行显示或打印,以便实现对某些物理量的监测,其中一些参数还会被计算机控制系统用于计算输出的控制量,以实现将某些物理量的控制在某一水平。


Arduino控制器均具有模拟输入功能,Uno拥有6路模拟输入端口(A0到A5),每一路具有10位的分辨率(即输入有1024个不同值),默认输入信号范围为0到5V,并且可以通过AREF调整参考电压。


下面是我最近写程序的一些知识,进行了部分的整理,发出来和大家一起分享,也方便我以后查找自己的编程过程。


编程知识点–labview与单片机通信

采用Arduino Uno与LabVIEW来实现低成本上下位机数据采集系统,具有模拟量和数字量两种采集功能,可以满足低速、低成本的数据采集需求。其中,Arduino Uno作为下位机,负责A/D转换以及数据传输;LabVIEW编写的数据采集软件作为上位机;上下位机通过USB-TTL接口实现通信


a50e078c90934e8aacb8749a158ce47e.png

LabVIEW上位机部分需要完成两个功能:向下位机发送命令帧和将数据显示在前面板上,Arduino Uno控制板通过串口接收上位机命令,完成相应的数据采集,并将数据回传至上位机。

数据采集分为模拟量采集和数字量采集,设置采集路数各为2路,分别采用Arduino Uno上具有模拟量输入的管脚A0、A1和具有数字量输入的管脚2、3来实现。模拟量采用电位器分压来实现不同电压值,数字量采用拨动开关在5V和GND之间切换实现高电平与低电平。


1.LabVIEW前面板设计

LabVIEW前面板分为模拟量采集和数字量采集两个部分,模拟量采集部分主要针对模拟量输出的传感器;数字量采集部分主要针对数字量的输入。


LabVIEW上位机前面板设计如图


7ded9cec2c9d4161a01a79387c02eb6f.png


由于有2路模拟量和2路数字量,不同通道的模拟量或数字量的发送数据帧中,通道号不同;数字量与模拟量采集的发送数据帧中,命令号不同。发送数据帧中,具体的命令号和通道号可以自定义,此处模拟量通道0的采集命令为0x55AA10,模拟量通道1的采集命令为0x55AA11,数字量通道0的采集命令为0x55AA20,数字量通道1的采集命令为0x55AA21。LabVIEW上位机程序框图如图

462c605ea4704719a18729cd2c327676.png

f8572bdc73cd47fd8d3d7c8198eae928.png


a64f543e20fc49faa9e7bdb209b67815.png

3d0cadd6eabf44fabe7a970c16f5b26b.png

821b893d2e06415e931b6cc915545375.png



将模拟量输入A0、A1分别接入3.3V和5V,然后点击“采集”按钮,观察面板上的仪表盘和数显框中数值的变化,通道0的电压为3.28V,通道1的电压为5V,


2b8f479917e84e44bfe25d1af4247a72.png


将数字量通道1的端口D2接入5V,然后点击“采集”按钮,观察面板上的LED灯的变化。LED亮代表高电平、LED灭代表低电平,通道0为高电平,通道1为低电平,


83e0251e4ef7425d805a3fa3c1a67925.png

目录
相关文章
|
19天前
LabVIEW最佳传输系统设计
LabVIEW最佳传输系统设计
17 1
|
19天前
|
数据采集 存储 监控
LabVIEW多设备控制与数据采集系统
LabVIEW多设备控制与数据采集系统
24 4
|
19天前
|
存储 监控 安全
LabVIEW提升舱救援通讯监测系统
LabVIEW提升舱救援通讯监测系统
17 4
|
19天前
|
数据采集 存储 异构计算
LabVIEW编程LabVIEW开发高级数据采集技术 模拟波形的生成 例程与相关资料
LabVIEW编程LabVIEW开发高级数据采集技术 模拟波形的生成 例程与相关资料
29 9
|
19天前
|
传感器 数据采集 监控
LabVIEW开发油气井管道内无线通信微波系统
LabVIEW开发油气井管道内无线通信微波系统
15 0
|
19天前
|
传感器 数据采集 监控
基于LabVIEW的CAN通信系统开发案例
基于LabVIEW的CAN通信系统开发案例
23 3
|
19天前
|
数据采集 存储 数据处理
LabVIEW多通道数据采集系统
LabVIEW多通道数据采集系统
19 7
|
19天前
|
传感器 数据采集 人工智能
LabVIEW FPGA开发实时滑动摩擦系统
LabVIEW FPGA开发实时滑动摩擦系统
13 0
|
19天前
|
存储 监控 网络协议
LabVIEW中的数据通信方法
LabVIEW中的数据通信方法
16 0
|
19天前
|
传感器 存储 SQL
LabVIEW使用ModbusTCP协议构建分布式测量系统
LabVIEW使用ModbusTCP协议构建分布式测量系统
22 4