基于Labview与单片机的多通道温度采集系统设计

Labview编程跟以往传统的软件编程有很大的不同,最明显的差别就是它是图形化编程。用过Labview的童鞋都知道,整个编程都是拖控件的过程,而不是像传统的软件一样码代码。萝卜青菜各有所爱,Labview也有自己小众Fans。但是小众归小众,在一些信号处理领域,使用Labview编程会大大缩小我们开发的周期。

今天,我就来给大家讲讲如何使用Labview的串口来与设备进行通信的。并且在通信的基础上,做了一个四通道的温度采集。按照国际惯例,先来张效果图~~
 

基于Labview与单片机的多通道温度采集系统设计

1.首先我们来认识下Labview的串口控件:

我们打开Labview的程序框图,右上角有个帮助信息,点击打开Labview帮助,也可以使用快捷键Ctrl + SHIFT + ? 打开

基于Labview与单片机的多通道温度采集系统设计

依次找到串口VI和函数,本篇文章,基本上是围绕这几个控件来实现的,现在我就给大家介绍其中一些重要控件(配置-打开,读,写,关闭控件)的使用。(关于如何使用,帮助里已经说的很清楚了,我这里就不多说了)

1.1.首先我们来认识下Labview的串口控件:

VISA配置串口控件:

基于Labview与单片机的多通道温度采集系统设计

说明如下:就是配置好串口的参数,在使用一个串口的时候,我们一般都会设置波特率,奇偶校验,和数据位等相关信息,在使用之前,我们必须要先配置好它的相关参数,这里是配置也是打开串口的控件。

 

VISA读串口控件:

基于Labview与单片机的多通道温度采集系统设计

就是将数据从串口中读取出来。(这个控件有个R噢~~即Read的意思)

VISA写串口控件:

基于Labview与单片机的多通道温度采集系统设计

就是将数据写到串口中里。(这个控件有个W噢~~即Write的意思,本文没有使用到该控件,但最基本的我还是提一下)

VISA串口字节数控件:

基于Labview与单片机的多通道温度采集系统设计

就是返回串口里输入的缓冲区字节数

VISA关闭控件:

基于Labview与单片机的多通道温度采集系统设计

当使用完毕时,需要关闭硬件资源,否则别的串口工具软件使用时,会提示串口资源被占用。

好了,相关的控件就到此结束了。接下来给大家说说程序的设计流程图

基于Labview与单片机的多通道温度采集系统设计

流程不是很复杂,我就不多解析整个流程了。

这里需要提一下解析数据的流程,我们都知道设计出来的Labview的上位机是要跟设备打交道的,那它们是如何打交道呢?这里的话,我们使用的串口的协议,但是串口只是物理层协议,如果才能使得它们能识别彼此发送的数据呢?这就涉及到一个通信协议制定的问题。通信协议说白了就是双方的一个约定,比如两个邻居的日常交流,如果一个用方言(听不懂普通话),一个用普通话(听不懂方言),那么这个交流的过程那是非常痛苦的。所以,制定一个通信协议的作用是让双方都能明白对方的意思,能够无障碍的沟通交流。

这里的上位机和下位机也有一个解析通信协议的过程,这里定义十六进制数0xAA为帧头,0xBB为帧尾。中间的都是数据。

比如我要显示的温度为:

CH1=11.1° CH2 = 22.2°  CH3=33.3° CH4=44.4°

那么发送的数据应该为:

0xAA,'1','1','1','2','2','2','3','3','3','4','4','4',0xBB

原则上来说,在数据域前面应该还有一个长度和字节类型之类的,这就是通常的TLV格式的通信协议。这里的话,没有必要设计这么复杂的协议。所以,怎么简单就怎么来了基于Labview与单片机的多通道温度采集系统设计基于Labview与单片机的多通道温度采集系统设计基于Labview与单片机的多通道温度采集系统设计

1.2.协议设计好之后,就是开始设计程序了,步骤如下:

1.2.1 配置串口参数----->读取串口缓存数据----->得到串口数据                              

基于Labview与单片机的多通道温度采集系统设计

1.2.2.将串口数据,按照我们的通信协议进行解析,解析正确后,才显示出来。

基于Labview与单片机的多通道温度采集系统设计

最后来张效果图,这是我用两个串口来模拟的数据(手头上没有这么多传感器来测试哈基于Labview与单片机的多通道温度采集系统设计基于Labview与单片机的多通道温度采集系统设计基于Labview与单片机的多通道温度采集系统设计),如果是用在单片机上,只要编写好温度传感器的驱动,然后按照约定的格式通过串口发送给Labview上位机即可:

基于Labview与单片机的多通道温度采集系统设计


~~~~关于该项目的完整源码获取方式,可关注公众号:玩转IoT物联网 进行获取~~~~

基于Labview与单片机的多通道温度采集系统设计

原创不易,转载请标明出处