基于LabVIEW读取串口数据技术
2012-08-26杨增宝
夏 锴,杨增宝
XIA Kai, YANG Zeng-bao
(长江师范学院 物理学与电子工程学院,涪陵 408100)
0 引言
作为虚拟仪器开发平台的LabVIEW(Laboratory Virtual Instrument Engineering Workbench)软件因其具有直观简便的编程方式、灵活的显示特性、广泛的兼容性等一系列优点在新兴电子仪器的设计[1~4]和信息传送、接收等领域得到了越来越广泛的应用。例如利用串口RS232接口可实现电脑与单片机之间的信息的交互,因而在基于单片机的测控领域中,虚拟仪器技术的利用也得到了极大的发展,减少了传统测量技术在硬件设备上的投资[5~9]。本文在对LabVIEW的VISA与单片机之间信息传送的理论研究基础上,针对串口发送的数据信息,设计了基于LabVIEW对串口送入的信息的接收、保存并显示等的处理。
1 串口通信建模
将计算机的串口数据连接到计算机的接收线,利用LabVIEW软件特性将数据接收到计算机。串口通信线的连接时将2接收线与3脚发送线在两通信端交差相连。
图1 设计方框图
如图1所示为LabVIEW设计方框图。设置VISA串口相关参数主要对VISA配置串口中的波特率、数据比特、奇偶和流控制等的设置(本文中设定值分别为典型值9600、8、0、1.0)。
通信设置主要针对与单片机之前的信息交流前的准备工作:比如向单片机发送一字符或字符串时,单片机得到对应代码,把采集到的数据通过串口发送计算机。
信息的读取主要对当前的从串口中返回计算机的相关信息的后期处理:为了方便于不熟悉计算机操作的用户,应用LabVIEW读写文件的方便,指定在运行LabVIEW文件的当前文件夹[10]。用户可直接打开“数据保存.txt”,即可查询历史时间的数据。显示信息可以是对收到的瞬时信息显示出来;其他附属功能涉及在特定环境下的功能需求,例如报警提示,以及波形方式显示在一定时间或空间范内的数据波动特点等。
2 程序设计框图
2.1 程序板图
图3 第2帧程序图
图2为第1帧的程序图:图中为顺序结构中,一部分通过对VISA向串口发出指令:指令的内容要与单片机约定一致:如发送0x32时,单片机向串口送出温度数据的采集结果,另一部分与写对提示保存时间的提取做准备工作。
第2帧程序方框如图3所示。通过对接收到的数据按一组字符串进行处理,进行字符串长度的识别,对每一个元素进行索引取出分别进行处理,组成一维数组,再转换成字符输出。保存文件时通过对“创建路径”的特殊应用,结合通过“打开/创建/替换文件”和“设置文件位置”控件的应用,在运行程序时自动新建并保存或继续保存在“数据保存.txt”文件中。将开始执行的时刻起,对所得到的数据用趋势图显示出来。设计在串口每次获得的字符串转为数值的方法采用“分数/指数字符串至数值转换”控件就可实现,再将这些数据组建成数组,用波形图显示,波形显示的横坐标为了体现具体的时间,采用定义坐标法实现。当VI停止运行后,缓冲区中的数据仍存在,对横坐标时间进行合适的自定义,就可实现更长时间段的趋势图的显示。
2.2 运行结果显示
在本测试过程中,发送“0x32”得到温度的相关采集据,当手接触温度传感器18B20在短时间内温度产生的变化情况用趋势图显示:在2011.9.1920:58:38开始到2011.9.1921:02:48测试数据趋势图如图4所示。对应保存的TXT文件截图如图5所示。
图4 测试数据趋势图
图5 保存的TXT文件截图
图4中,设定在温度10-32摄氏度以外发生警告,测试结果完成了设计预期。
3 结束语
本文利用计算机的S232串口实现LabVIEW软件与单片机实现的信息传送,通过单片机的传感器采集到的信息进行初步识别、处理,将结果通过串口返回计算机,利用LabVIEW的VISA特性接收串口信号,显示当前数据、在一定时间内的波形趋势图并以文本文件的形式进行保存。以此方法能对电压、压力、湿度等物理量的传感器的采集数据实现测试与保存。在这一过程中,利用LabVIEW的优势,在显示和存贮等方面功能,可以大大减少单片机的硬件电路和软件设计,在一定程度上缓解了单片机在内存空间的缺乏。
[1]陈锡辉, 等. LabVIEW8.20 程序设计从入门到精通[M].北京: 清华大学出版社. 2008.
[2]陈金平, 王生泽, 吴文英. 基于LabVIEW的串口通信数据校验和的实现方法[J]. 自动化仪表2008, (29)3: 32-34.
[3]黄豪彩, 杨灿军, 等. 基于LabVIEW的深海气密采水器测控系统[J]. 仪器仪表学报2011, 1: 40-44.
[4]王吉平, 赵哲, 等. 基于LabVIEW的通信测量技术研究[J].自动化与仪表, 2011, 1: 29-56.
[5]陈桂友, 柴远斌. 单片机应用技术[M]. 北京: 机械工业出版社. 2008.
[6]闫群民. 基于LabVIEW的超文本报表生成方法[J]. 自动化仪表, 2010, (31)72: 9-31.
[7]睢丙东, 魏泽鼎, 等. 单片机应用技术与实例[M]. 北京:电子工业出版社, 2005.
[8]黄永红, 王恒海, 等. 基于LabVIEW的温度监控与介电谱测试系统研制[J]. 仪器仪表学报2008, (29)7: 1544-1547.
[9]李江全, 等. LabVIEW虚拟仪器数据采集与串口通信测控应用实战[M]. 北京: 人民邮电出版社, 2010.
[10]杨乐平, 等. LabVIEW程序设计与应用(第2版)[M]. 北京:电子工业出版社. 2006.