时间:2024-04-25
张帏帏
摘 要:随着测试技术的发展,对相应测试软件提出了更高的要求。针对传统文本开发工具的编程复杂、直观性差及不易操作等问题,本文通过融合LabVIEW与MATLAB编程技术,采用MathScript节点技术,以及研究基于动态链接库的USB通信技术,测试软件实现了对测试设备的可靠控制和数据精确处理,并在多次试验中成功得以应用。
关键词:采集存储;数据处理;混合编程;软件测试
待测物理量通过传感器采集,转化为相应信息后在测试设备中存储,试验后再由软件测试系统再现和处理测试数据[1]。测试软件通常采用文本编程工具开发,存在编程繁杂、不直观、难维护以及数据实时处理差等不足,难以满足未来的测试需求。随着测控领域技术的发展,基于LabVIEW的虚拟仪器技术越来越受到青睐[2]。用户可以利用虚拟仪器技术根据项目需求设计专用化的测试系统,只需通过修改软件即可改变系统功能,而无需对硬件设备重新设计[3]。
1 系统总体设计
虚拟仪器是测试设备、工程通信、计算机技术以及测试软件的有机结合,主要包括硬件和软件两部分,总体结构组成如图1所示。虚拟仪器主要完成三大功能:数据采集与存储、控制与处理、显示与输出。
硬件平台主要由计算机和I/O接口设备组成,其中计算机提供数据实时处理的高效性能。硬件平台主要完成待测信号的采集,数据存储等工作。修改硬件平台往往会耗费巨大的人力和物力,但可根据需求修改软件,构建出特定的测试仪器,即可实现仪器的控制和对数据的处理。软件系统主要分为用户界面、应用程序和仪器驱动程序,LabVIEW是用图标源代码(G代码)取代文本行编写应用程序的软件开发平台。用户界面层拥有仪器面板元件,根据需求设计图形控制界面,通过点击控件执行相应功能。应用程序层包含图形化模块,数据连线,函数库和工具包等,软件凭借构建与连接的图标进行定义、编写程序的逻辑功能,实现对输入到计算机的数据分析和处理。驱动程序层直接控制各种硬件接口,软件通过驱动程序完成与仪器设备的数据交互,进行初始化,设定参数和工作方式。
2 基于动态链接库技术(DLL)的USB通信实现
USB通信作为目前设备常用通信方式之一,具有传输速度快、操作方便和使用灵活等优点。为节约成本和缩短研发周期,本文测试设备USB芯片选用了FTDI公司FT245RL。LabVIEW仅支持NI公司生产的接口板,而第三方研制的USB通信接口却难以被识别。因此,必须安装FTD2XX驱动程序,以确保USB FT245芯片正常工作,本文采用LabVIEW提供的外部接口DLL(动态链接库),通过调用驱动程序内的接口函数实现USB通信。
首先利用外部编译器VC++将DLL模块编制生成FTD2XX.dll文件,该文件包含了许多可对芯片进行操作的接口函数,主要提供:FT_ResetDevice复位函数、FT_Purge清除函数、FT_SetLatencyTimer延时函数、FT_SetTimeouts超时函数、FT_Writer写函数、FT_Read读函数、FT_Open打开函数、FT_Close关闭函数等。由于在程序运行时DLL库中函数代码才会动态载入内存中,在LabVIEW中调用动态链接库中函数并非在程序中直接嵌入DLL文件,而是将FTD2XX.dll放在应用程序当前目录下,利用该文件函数进行访问。LabVIEW凭借调用函数选板中的库与可执行程序目录下的调库函数节点进行和FTD2XX.dll文件之间的通信,在其配置对话框中完成相关配置,如指定文件地址、选择函数名、确定调用范围和设置线程等操作,实现绑定接口函数。打开USB接口设备后,先执行复位操作,消除USB芯片内的缓冲区数据,在设定4秒的超时时间内判断是否接收连接请求。若请求成功可进行数据交互,若超时则USB打开失败,说明应用程序与设备通信中断,图2为完成的USB连接通信程序框图。
3 基于LabVIEW与MATLAB融合技术的数据处理
针对手动处理存储数据时存在不精确、繁琐等问题,LabVIEW软件平台提供了自动处理数据的解决方案,主要有以下处理数据方式:(1)拆分存储的数据文件,数学运算处理,还原成波形,进行显示(2)运用集成的VI模块直接处理数据,利用多元化的控件完成数字滤波器、频谱分析、虚拟示波器等功能;(3)运用混合编程技术,通过LabVIEW调用其他语言,发挥其数据处理上的优势。本文通过研究LabVIEW与MATLAB融合技术,在LabVIEW程序嵌入MATLAB脚本服务器的功能执行命令,并与之交换数据,实现数据高效运算[4],提高测试软件的数据处理能力。
在LabVIEW中提供了面向数学的文本式编程语言MathScript,该语言十分适用于编写函数和脚本,拥有强大的数据处理和图像显示功能,随着LabVIEW的更新,MathScript的功能也随之不断强大。可通过交互式窗口和程序框图中调用节点,这两种方式使用MathScript。MathScript节点使用操作简单,且可脱离于MATLAB环境单独执行。利用MathScript节点直接编辑程序代码,或者在MATLAB环境下成功调试M文件后,在MathScript节点中进行复制粘贴,通过添加输入与输出变量,指定数据类型,保证匹配交互时的数据类型。MathScript节点自带错误检查功能,若出错则会予以提示,保证输入代码符合MathScript节点语法,因此根据不同设计需求,在脚本框内修改和更新程序,对各个输入输出参数进行即时设置和调试,使程序运行结果直观简捷。在对数据进行处理时,传统的MATLAB环境要对采集存储的数据,需要到后台程序中进行写入和修改,存在流程繁杂,操作不便等问题。本文采用MathScript节点编程方式,将存储的测试结果写输入控件,在后台程序中将这些参数引入MathScript内,完成LabVIEW与MATLAB交互,实现数据高效处理,同时还具备多样化功能,本文就利用事先在MATLAB中构造的相适应滤波器对测试数据进行处理实现滤波消噪的功能。
4 测试结果
在某次试验中,测试装置采集到了瞬态压力信号,利用本文设计的测试软件,通过usb接口成功回读数据,并且进行显示波形。利用设计的滤波功能对数据进行了消噪处理,同时给出滤波前后的数据对比,如图3所示。多次试验表明:测试软件与测试装置通信性能稳定,实现数据可靠交互与处理。
5 结语
本文通过研究LabVIEW与MATLAB融合编程,以及DLL技术,应用MathScript节点技术,开发了具有友好的图形界面、高效处理数据、功能丰富等优点的测试软件,實现与测试装置USB通信以及数据的高效处理。本文研究的基于LabVIEW技术的测试软件在软硬件结合和重用、数据交互与处理等领域具有重要意义。
参考文献
[1] John Q,Ehrgott,Jr. et al. The influence of soil parameters on the impulse and airblast overpressure loading above surface-laid and shallow-buried explosives[J].Shock and Vibration, 2011, 18(6):857-874.
[2] 孟亮,郭秀媛,崔新强等. 基LabVIEW的热电偶温控系统[J].自动化仪表.2014,35(1):33-35.
[3] 韩琪. 基于虚拟仪器的数据采集与分析系统研究与设计[D].北京:北京交通大学,2011.
[4] 肖俊旺,夏静. 基于LabVIEW的火箭试验数据处理方法 [J].电子设计工程.2011, 19(4):38-40.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!