labview读取串口数据

虚拟仪器

26人已加入

描述

作为虚拟仪器开发平台的LabVIEW软件因其具有直观简便的编程方式、灵活的显示特性、广泛的兼容性等一系列优点在新兴电子仪器的设计和信息传送、接收等领域得到了越来越广泛的应用。例如利用串口RS232接口可实现电脑与单片机之间的信息的交互,因而在基于单片机的测控领域中,虚拟仪器技术的利用也得到了极大的发展,减少了传统测量技术在硬件设备上的投资。本文在对LabVIEW的VISA与单片机之间信息传送的理论研究基础上,针对串口发送的数据信息,设计了基于LabVIEW对串口送入的信息的接收、保存并显示等的处理。

1、串口通信建模

将计算机的串口数据连接到计算机的接收线,利用LabVIEW软件特性将数据接收到计算机。串口通信线的连接时将2接收线与3脚发送线在两通信端交差相连。

LabVIEW

图1  设计方框图

如图1所示为LabVIEW设计方框图。设置VISA串口相关参数主要对VISA配置串口中的波特率、数据比特、奇偶和流控制等的设置(本文中设定值分别为典型值9600、8、0、1.0)。

通信设置主要针对与单片机之前的信息交流前的准备工作:比如向单片机发送一字符或字符串时,单片机得到对应代码,把采集到的数据通过串口发送计算机。

信息的读取主要对当前的从串口中返回计算机的相关信息的后期处理:为了方便于不熟悉计算机操作的用户,应用LabVIEW读写文件的方便,指定在运行LabVIEW文件的当前文件夹。用户可直接打开“数据保存.txt”,即可查询历史时间的数据。显示信息可以是对收到的瞬时信息显示出来;其他附属功能涉及在特定环境下的功能需求,例如报警提示,以及波形方式显示在一定时间或空间范内的数据波动特点等。

2、程序设计框图

2.1、程序板图

LabVIEW

图2  第l帧程序图

图2为第l帧的程序图:图中为顺序结构中,一部分通过对VISA向串口发出指令:指令的内容要与单片机约定一致:如发送0x32时,单片机向串口送出温度数据的采集结果,另一部分与写对提示保存时间的提取做准备工作。

LabVIEW

图3  第2帧程序图

第2帧程序方框如图3所示。通过对接收到的数据按一组字符串进行处理,进行字符串长度的识别,对每一个元素进行索引取出分别进行处理,组成一维数组,再转换成字符输出。保存文件时通过对“创建路径”的特殊应用,结合通过“打开/创建/替换文件”和“设置文件位置”控件的应用,在运行程序时自动新建并保存或继续保存在“数据保存.txt”文件中。将开始执行的时刻起,对所得到的数据用趋势图显示出来。设计在串口每次获得的字符串转为数值的方法采用“分数/指数字符串至数值转换”控件就可实现,再将这些数据组建成数组,用波形图显示,波形显示的横坐标为了体现具体的时间,采用定义坐标法实现。当vI停止运行后,缓冲区中的数据仍存在,对横坐标时间进行合适的自定义,就可实现更长时间段的趋势图的显示。

2.2、运行结果显示

在本测试过程中,发送“0x32”得到温度的相关采集据,当手接触温度传感器18820在短时间内温度产生的变化情况用趋势图显示:在2011.9.1920:58:38开始到2011.9.1921:02:48测试数据趋势图如图4所示。对应保存的TXT文件截图如图5所示。

LabVIEW

图4  测试数据趋势图

LabVIEW

图5  保存的TXT文件截图

图4中,设定在温度lO·32摄氏度以外发生警告,测试结果完成了设计预期。

本文利用计算机的$232串口实现LabVlEW软件与单片机实现的信息传送,通过单片机的传感器采集到的信息进行初步识别、处理,将结果通过串口返回计算机,利用LabⅥEW的VISA特性接收串口信号,显示当前数据、在一定时间内的波形趋势图并以文本文件的形式进行保存。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分