APP下载

数据采集系统上位机软件的设计

2015-10-24

关键词:读数调用串口

张 晶

(山西财贸职业技术学院信息工程系,山西 太原 030031)

数据采集系统上位机软件的设计

张 晶

(山西财贸职业技术学院信息工程系,山西太原030031)

针对测试测量领域文本编程语言编程繁琐、开发周期长的特点,基于LabVIEW软件平台,设计了数据采集系统控制软件,可以通过USB接口、串口实现通信,完成了电路编程、采样读数等功能.并在四通道数据采集系统实验中成功完成数据采集、显示、存储、回读、定标等,经实验表明,该软件运行可靠、操作简便.

LabVIEW;数据采集;上位机

图1 功能模块图Fig.1 Functional block diagram

一个完备的数据采集系统需要友好的人机交互界面作为支撑,实现与上位机间的通信,并为用户再现、分析和处理经采集存储的大量数据.选择美国National Instruments公司开发的,被称为是工程师和科学家开发语言的LabVIEW作为开发平台[1],开发了数据采集系统的上位机软件,并在实验中得到成功的应用.

1 需求分析

软件是由多个不同功能及含有明确意义的模块组成的,其中不同的模块可以满足不同的任务需求,从而可以成功细致描述对应的唯一的功能模块,这样就可以正确流畅的进行下一步编写程序的工作,在编写程序之前,做好软件从顶层到底层各个阶段的设计工作,可以大幅度提高整个软件系统的可靠性、可操作性和可维护性[2].

现有的数据采集系统应分为从可视化到非可视化的4个层面,即可视化的程序执行界面、非可视化的数据采集系统的主程序、以及非可视化的各种功能程序模块以及构成该功能模块的下一层面的子模块IVI,功能模块框图如图1所示.

2 软件设计

2.1软件结构设计

开发软件的过程中,采用NI公司提供的项目浏览器作为主要的项目管理工具,从逻辑上把一个项目所有的文件集合在一起,相当于一个包含所有文件引用位置和相互关系的树形目录.这样能够轻松管理VI程序、文本文件、DLL,为后期制作应用程序、安装程序、源代码发布等提供方便.图2为本项目的项目浏览器.

图2 项目浏览器Fig.2 Project browser

采用结构化程序设计方法,自顶向下、逐步细化、模块化设计,将问题由抽象逐步具体化[3].首先对数据采集系统进行功能需求分析,将其分成电路编程、采样读数、读取文件、定标读值四个模块,每个模块即为一个子VI.这样不仅增强了软件的可维护性和可扩展性,还充分利用了代码的复用性,改善了软件结构.其中采样读数模块可选择USB通信或串口通信.

2.2接口设计

2.2.1USB接口通信 当通过USB外部接口通信时,使用调用库函数节点CIN(Call Library Function Node),调用库函数就是指调用动态链接库(DLL)中的函数.通信时调用DLL68013.DLL,当调用DLL中的函数时,必须知道函数原型,一般的DLL都会提供头文件,能否正确配置DLL函数的参数直接关系到调用函数的成败[4].在采样读数子VI中,首先调用函数TranVerCmmd(unsigned char*pdata),配置参数:返回类型为数值,无符号8位整型;pdata数据类型为匹配至类型,数据格式按值处理.配置结束后函数为:

将固定值B3连接到pdata使能USB开始读数,返回值:成功为1,否则为0.如图3所示.如果函数Tran-VerCmmd返回1,则设备连接有效,调用函数BulkRead(int pipenum,WORD*pdata,int length)将数据读入计算机,对其参数配置后如图4所示,完成配置后函数为:int16_t BulkRead(int8_t pipenum,void*pdata,int32_t length);

图3 TranVerCmmd函数CIN配置Fig.3 RanVerCmmd function CIN configuration

图4 BulkRead函数CIN配置Fig.4 BulkRead function CIN configuration

在调用DLL时,采用显示调用方式,仅在进程或线程中需要调用DLL函数时加载文件,在进程或者线程运行完毕后即卸载DLL,这样避免了在系统启动时,加载大量的DLL文件,有效地节省内存空间

2.2.2串口通信 当选择RS232口进行通信时,使用LabVIEW内置的串口通信函数,配置串口参数(打开串口)→发送或接收数据→关闭串口.LabVIEW串口通信支持字节发送和ASCII字符串发送两种通信方式.如果发送的字符串是以正常方式显示的字符串,则发送的是字符串的ASCII,串口通信为ASCII字符串方式;如果发送的字符串是以HEX方式显示的字节,则发送的是为字节,字节通信方式多用于直接传输十六进制数字.

串口通信4个最基本的函数为:VISA配置串口、VISA读取、VISA写入和VISA关闭.图5为串口读数程序框图,将读取指定的字节数.

2.3详细设计

用户登录界面如图6所示.登录窗口是以子VI的形式被调用,设置其属性为调用时显示前面板.系统还支持无鼠标操作,即在只有键盘的情况下用户可以使用Tab键和Enter键完成对系统的操作.用户成功登陆后,系统主界面弹出,用户根据功能按钮.主界面如图7所示.

图5 串口读数Fig.5 Serial reading

图6 登录窗口Fig.6 login window

图7 系统前面板Fig.7 System front panel

图8 试验验证图Fig.8 Test verification

系统主要由While循环和事件结构联合,在顺序结构中完成.最外层的是共有两帧的层叠式顺序结构,第一帧主要完成对登录子VI的调用和登录时主界面控件的禁用,并初始化波形图.第二帧内嵌了While循环和事件结构,分别响应前面板控件对应的事件.事件结构中的超时结构功能:无论用户对图形进行放大还是缩小操作,创建的两个游标始终在波形图中显示,便于用户读取图形任意点的坐标和计算两点间的坐标差.事件结构的其他分支处理电路编程、采样读数、读取文件等事件.在实现系统基本功能之后,还增加了撤销、导出波形等功能.用户误操作时,点击撤销可以回到上一步操作状态;导出波形响应将当前图形以图形文件形式存储到任意位置的事件.系统在设计过程中被逐步完善和修饰.

软件或程序的可延展性和较高的动态响应性是未来发展的趋势,无论上层要求的复杂性和多重性,软件的功能会一直增加和完善下去,如果软件或程序的可延展性得不到大力度的执行,那么软件的生命周期将会很短,一些新的任务将会难以实现[5].由于数据采集系统有着清晰的层次结构,设计符合高内聚低耦合的软件架构,且通信接口可选择USB接口或串口,具有很好的灵活性和可扩展性,对后期的改进和新需求提供了可能和便利.系统还具有一定的容错性,程序中放置了简易错误处理器,能响应部分突发异常事件,用户可放心使用.

2.4试验验证

该软面板广泛应用于本实验室数据采集系统中,图8为在四通道数据采集系统中经采样读数读回来的数据波形,可以通过图形工具选板对波形缩放,对数据进行滤波、波形导出等处理,还能分通道显示波形图等,功能均可以正确地实现.

3 结论

数据采集系统上位机软件为用户与“黑匣子”之间打开了一扇窗户,用户不需要了解系统硬件的结构,也不需要懂得LabVIEW的内部语法,只需紧跟系统的Tip提示和对话框提示使用键盘或鼠标,就能观察所需波形和数据,并存储、处理等.数据能存储在能以字处理软件打开的文件中,波形图可以以.bmp或.emf等图形文件格式存储,文件格式存储,方便用户后期完成对采集回来的数据进行下一步诸如滤波、定标、积分、报告等一系列的处理,这些步骤都是利用了强大功能的LabVIEW,使与用户面对面交流的采集体通软面板功能更加完善,可延展性更强,经实验证明,该软件方便、友好、简洁,自动化程度高,大大降低了测试人员的工作强度.

[1]黄豪彩,杨灿军.基于LabVIEW的深海气密采水器测控系统[J].仪器仪表学报,2011,32(1):40-45.

[2]刘珊珊.基于LabVIEW的数据采集系统设计及应用[D].太原:中北大学,2012.

[3]谭浩强.C程序设计[M].北京:清华大学出版社,2005.

[4]陈树学,刘萱.LabVIEW宝典[M].北京:电子工业出版社,2011.

[5]陈锡辉,张银鸿.LabVIEW8.20程序设计从入门到精通[M].北京:清华大学出版社,2007.

责任编辑:时 凌

Software Design of Host Computer of Data Acquisition System

ZHANG Jing
(Department of Informational Engineering,Shanxi Vocational College of Finance&Trade,Taiyuan 030031,China)

Directing at the fact that the tar programming languagte is complicated and the development cycle is long in the field of test and measurement,this paper,based on the LabVIEW platform,designed the control software of data acquisition system,which can complete the circuit programming,sample readings,and other functions through the USB interface and a serial port communication.In the experiments of four-channel data acquisition systemthe software has successfully completed the data acquisition,display,storage,back reading,scaling,etc.The experimental results show that the software is reliable in operation.

LabVIEW;data acquisition;host computer

TP273.5

A

1008-8423(2015)04-0409-03DOI:10.13501/j.cnki.42-1569/n.2015.12.014

2015-11-09.

山西省教育科学研究院重点实验室基金项目(SN201408).

张晶(1982-),男,讲师,主要从事计算机网络的研究.

猜你喜欢

读数调用串口
浅谈AB PLC串口跟RFID传感器的通讯应用
核电项目物项调用管理的应用研究
LabWindows/CVI下基于ActiveX技术的Excel调用
读数
读数
读数
读数
基于系统调用的恶意软件检测技术研究
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索