labview对串口采样测量数据的处理

上传人:小** 文档编号:34129340 上传时间:2018-02-21 格式:DOC 页数:7 大小:82KB
返回 下载 相关 举报
labview对串口采样测量数据的处理_第1页
第1页 / 共7页
labview对串口采样测量数据的处理_第2页
第2页 / 共7页
labview对串口采样测量数据的处理_第3页
第3页 / 共7页
labview对串口采样测量数据的处理_第4页
第4页 / 共7页
labview对串口采样测量数据的处理_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《labview对串口采样测量数据的处理》由会员分享,可在线阅读,更多相关《labview对串口采样测量数据的处理(7页珍藏版)》请在金锄头文库上搜索。

1、LabVIEW 对串口采样测量数据的处理 王显军 中国科学院长春光学精密机械与物理研究所 摘 要: LabVIEW 处理串口通常采用 VISA 或 ActiveX 控件,采用 VISA 的解决方案简单易行,详细介绍基于 VISA 对串口数据的处理方法。当数据量比较大,帧频比较高时,串口采样数据处理比较麻烦。为避免接收数据窜字符的问题,设计了自动帧头对准程序,保证数据接收完整可靠。为避免数据分析显示程序与串口数据接收处理的冲突,设计串口接收打包处理程序,对接收数据进行缓存。说明了这 2 种方法的原理、实现和实际应用程序。并应用于编制伺服运动控制效果测量监控程序。设计分析对比结果表明,方案简单易行

2、、经过处理的数据流结构清晰、明确,易于后续程序处理。为基于 LabVIEW 的串口数据处理提供一种简单有效的方法。关键词: LabVIEW; 自动帧头对准; 数据缓存; 串口采样数据处理; 作者简介:王显军,1965 年出生,研究员,主要研究方向为电子技术在控制系统中的应用。E-mail:收稿日期:2013-08Serial port sampling data processing using LabVIEWWang Xianjun Changchun Institute of Optics,Fine Mechanics and Physics,Chinese Academy of Scie

3、nces; Abstract: LabVIEW usually use VISA or ActiveX controls for serial processing and the VISA solution is simple and easily implemented.This paper will give a detailed introduction to the serial data processing method using VISA.When the frame rate is higher,the data amount will be larger,this wil

4、l make the serial data processing more complicated.In order to avoid receiving data channeling character problem,an automatic frame head alignment procedure is designed, which will ensure the data integrity and reliability.To avoid the conflicts between the data analysis procedure and the serial dat

5、a receiving procedures,a serial package processing procedure is designed which can cache the data received.The principles,implementation and practical applications are demonstrated for the two methods which can be applied to the servo control monitoring program.The analyzed results show that the met

6、hod is easily implemented and the structure for the data processing program is clear and easy for the following procedure.The paper provides a simple and effective way for serial data processing based on LabVIEW.Keyword: LabVIEW; automatic frame head alignment; data caching; serial data sampling and

7、 processing; Received: 2013-081 引言制作虚拟仪器,当前令人关注的是 NI 公司开发的 LabVIEW,它为数据采集、仪器控制、测量分析与数据显示提供很好的开发工具,得到工程师们的广泛应用。串行通信是一种古老但目前仍旧较为常用的通信方式,早期的仪器、单片机等多采用串行通信与计算机连接,这种方式得到很好的继承与发展,如单片机、DSP、ARM、PLC、 Modem、OEM 电路板等,都还包含有强大的串行通信功能。LabVIEW 中的 VISA 节点,为用户使用串行通信而设计多种功能,其使用方法简单,非常方便。因此,众多仪器测量方案采用了串行通信方式。采用标准的 USB

8、 与 RS422 转换线,USB 接口被配置成模拟 RS232 接口,解决了 PC与设备硬件的通信问题。采用 LabVIEW 编制伺服运动控制效果测量监控程序,运动控制器每隔 1ms 将测量数据上传给 PC,数据量比较大、帧频也比较高,测量程序将接收数据进行分析和结果显示。要点在于介绍基于 VISA 节点解决串口通信窜字符问题和串口数据缓存处理程序。为避免串口通信窜字符的问题,设计了自动帧头对准程序,保证数据接收正确可靠。由于数据分析显示程序执行时间较长,造成与串口数据接收程序的时序冲突,这种冲突在开始调试程序时经常造成 PC 蓝屏。为此,设计了串口接收处理打包程序,对接收数据进行缓存。解决了

9、串口连续测量数据处理的问题。2 通信问题分析2.1 串口数据特征控制器与 PC 测量程序通信规则约定是:通信格式采用 UART 方式 1,即 1 个起始位、8 位数据、1 个停止位; 波特率 115 200b/s;帧周期 1ms;每帧 5 个 bit,分别是帧头 0x7E、数据低 8 位(DL)、数据中 8 位(DM)、数据高 8 位(DH)、校验和;字符间隔为 0。如图 1 所示。图 1 串口数据波形 下载原图计算上起始位和停止位,每帧数据 5 个 bit,共计 50bit/ms,数据流量为50Kb/s。每帧周期内,线上通信时间为 434.03s,空闲时间为 565.97s。2.2 窜字符问

10、题采用 LabVIEW 串行通信的 VISA 节点编程,设定读取 5 个 bit,如果不做帧头识别,帧完整性不能保证,经常出现窜字符的问题。这是因为帧频太高,线上空闲时间太短造成的。如果帧周期扩大到 20ms 间隔,窜字符问题出现较少,若帧周期扩大到100ms 间隔,窜字符问题很少出现。但这不能满足实际要求。原理上,不做帧头同步识别, 容易出现窜字符问题,窜字符问题一旦出现,帧完整性遭到破坏,数据无效,这是实际应用不允许的。所以,一定要进行帧头对准处理。2.3 通信与数据分析程序的时序冲突当串口数据流汇齐到 VISA 接收节点后,程序将顺序执行数据分析程序,由于数据分析程序执行时间较长,在分析

11、过程中,串口数据再次进入,造成阻塞,程序不能正常运行,有时会造成 PC 系统崩溃,PC 蓝屏。影响分析程序运行时间的因素较多,例如:1)程序编制效率低;2)屏幕显示控件大、控件重叠、打开窗口过多;3)数据结构效率低;4)绘制数据图形;5)Windows 多任务;6)计算机速度慢等。LabVIEW 为工程师提供便捷的仪器开发工具,但其应用程序运行不能像单片机或DSP 那样时序严格。尤其是在 ms 级时序要求严格的情况下,虚拟仪器程序与外设数据关系的时序处理比较麻烦。由上可见,仅考虑所述情况,运行于 PC 仪器的分析、 处理、显示、画图程序相对速度较慢,而且,运行时间也会因分支内容不同等原因而改变

12、,简单处理难以满足要求。3 通信问题处理3.1 自动帧头对准程序自动帧头对准有许多办法,其基本思路是:接收字符等于帧头,从此开始接收 1 帧。例如,设帧头为 0x7E、帧长度为 5 个字符,程序思路如图 2 所示。图 2 一种自动对帧头的程序思路 下载原图这种处理在单片机上很容易实现。但 LabVIEW 是图形化开发环境语言,这种语言运行机制是一种带有图形控制流结构的模式,正是因为数据流的操作特点,使在实现这种对帧头的处理时,遇到许多困难,尤其是在试验中,一旦通信误码,需要再对齐的情况,出现的错误难以解决,前面的试验没能成功。最后设计了如图 3 所示的程序,成功地解决了自动帧头对准的问题。图

13、3 自动帧头对准程序 下载原图如图 3 所示,如果帧头不对,选择 1输出 6,确定接收为 6 个 bit。选择 2输出 1,确定截取接收 6 个字符中的第 2 个字符去对字头。如果第 2 个字符是0x7E,那么下一个数据流的帧头定是 0x7E。正常帧长度为 5,数据流循环 5 次,一帧中每个位置的字符均被搜索到。如果帧头正确,选择 1输出 5,确定正常接收 5 个 bit。选择 2输出 0,确定截取接收第 1 个字符去判断,接收正常进行。如果中途出现误码,流循环最多 5 次,即可恢复正常接收。在开机初始化瞬间和误码再对准时,接收数据无效,这个过程是程序能容忍的。经帧头对准处理的数据序列清晰,为

14、后续分析处理带来很大方便。3.2 通信数据缓存帧头对准程序保证了数据完整性,在此基础上将多帧数据缓存到 VISA,再统一读取,得到帧数组数据,即可实现通信数据的缓存。程序如图 4 所示。图 4 数据缓存程序 下载原图缓存程序输出节点即 VISA 读取节点的输出。其数据流比特(bit)数量 S 为:S=(帧字符数长度10bit)帧数组长度采样数据流周期 T 为:T=帧周期帧数组长度依照 2.1 节所定规则,设缓存帧数组的长度为 100,S 等于 5 000bit,T 等于 100 ms。在此 100 ms 时间内对 5Kbit 的采样数据执行数据分析和显示循环程序,时间充分。如此,避免了与通信处

15、理程序的冲突。若电脑速度高, 可以减小帧数组长度,否则增加。使采样数据流周期 T 的时间大于数据分析和显示程序执行的时间,留有余量,确保采样数据流得到完整处理。这种缓存处理方法,使后续程序不必采用高级的算法即可实现一般的虚拟仪器程序。3.3 采样数据扩展处理通过 LabVIEW 界面,采用上述自动帧头对准程序和通信数据缓存程序的思路。经输入控件修改其中的参数, 如帧头内容、帧长度、截取数据的偏移量、截取数据个数、数据顺序(先高后低或先低后高)、帧数组长度、通信格式、通信频率等。可以适应多种情况。数据处理程序如图 5 所示。图 5 串口数据处理程序 下载原图经过处理的数据流形成帧数组,数组结构被

16、帧长度、 偏移字节、抽取字节、数据顺序等参数配置优化,得到有用的数据数组。数据流顺序清晰、采样种群数量及数据结构明确、数据流周期明确,使后续分析程序容易处理。4 应用设计LabVIEW 处理串口通常采用 VISA 节点或 ActiveX 控件。参考文献1,9中对其设计应用有详细介绍。基于 VISA 的串行通信节点功能如表 1 所示。表 1 串行通信节点功能 下载原表 由表 1 可见,基于 VISA 的串口处理提供了 9 种 VI 功能,编程时只需调用相应的VI,串口处理比较方便。而基于 ActiveX 控件对串口的处理相对比较复杂。 例如 MSComm32 控件,即 Microsoft Communication Control,是 Microsoft 为简化Windows 下串行端口通信而专门提供的 ActiveX 控件。MSComm32 控件功能强大,同时其设计技术要求也高。LabVIEW 处理串口采用 VISA 或

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 管理论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号