随着工业控制技术与计算机技术的发展,基于计算机硬件和软件的数据采集与控制系统已成为工业控制的主流。基于LabVIEW开发的测控系统,在工程和科研的各个领域得到了广泛应用。LabVIEW是美国国家仪器公司推出的一个图形化编程的软件开发环境。是一个标准的数据采集和仪器控制软件。由于LabVIEW功能强大且灵活,利用它可以方便快捷地建立自己的虚拟仪器,成为测试、测量和控制设计的专用工具,其范围可从温度监控到复杂的仿真和控制系统。本文主要介绍了基于LabVIEW测试系统软件,该软件具有数据采集、处理、分析和电路编程能力,能够提供丰富的数据信息,生成信号曲线,具有较高的实时性、准确性和可扩展性。通过软件可以帮助实验人员实时观察要测量的压力、加速度、温度、电量;确定系统的正常运行,对于及时发现和解决问题具有重要作用。
1 系统的基本结构
四通道多参数测试系统采用均匀采样策略,对被测信号进行等时间间隔采样,在测试过程中采样的频率为一常数。均匀采样频率确定的基础是采样定理,它至少要大于被测信号最大频率的两倍,同时,还要考虑测量时间T及存储容量M等因素,应满足2fa≤fs≤M/T.
系统采用压力传感器、加速度计等对四路信号进行采集,采集后的数据经信号调理电路进行滤波及放大处理后送入MSP430单片机,利用单片机中自带的A/D转换器将模拟信号转变成数字信号。该系统的采样频率为1 kHz,单片机通过片选(STE)信号控制按顺序接收四个通道转化的数据,将数据通过单片机SPI口以100 Hz发送。采集的数据一方面存入FLASH中,另一方面通过计算机软件进行控制把数据经USB接口电路读入计算机中实时保存,并在软件中实时显示出四个通道的温度曲线。系统的基本结构如图1所示。
2 系统的软件设计
软件部分是整个引信测试系统设计的核心,软件的设计使得用户可以通过计算机实现数据的采集、显示、分析处理和存储,并且可以对测试电路进行编程来改变测试电路的工作参数。本系统的软件部分主要包括:采样读数、电路编程、数据定标、多通道显示等。
2.1 采样读数
引信测试系统软件的核心是采样读数,采样读数模块是通过连接USB接口来采集获取测试仪器的数据。采样读数包含两部分:读取存储数据和实时数据。
读取实时数据就是在测试过程中对数据进行实时的采集并通过USB接口传递给上位机软件,软件接收到数据后对数据进行实时的处理、保存,并动态显示信号曲线。测试实时曲线显示用波形图作为容器,波形图控件包括图形工具选板和游标图例,通过波形工具选板可以实现对波形的放大、缩小和平移;游标图例可以实现对信号曲线定点坐标的获取。这些功能可以帮助实验人员实时分析信号参数及发现问题。读取存储数据就是在试验结束之后通过USB接口将数据从仪器中的FLASH中读出,然后将数据以文件形式保存在计算机中并在屏幕上显示出信号曲线。采样读数的部分程序如图2所示。
2.2 电路编程
根据每次试验的不同情况,需要根据实验的环境和实验要求对硬件电路进行重新设置,电路编程模块通过USB读数口可以方便快捷地对硬件电路进行重新设置,电路编程模块实现了设定电路的存储器容量、延迟时间、环境控制和采样策略选择等。
2.3 定标读值
定标读值是指通过事先对电路和传感器标定的灵敏度将各通道的数字量转换成其具有物理意义的信号量,使波形图显示的原始曲线转换成相应的加速度-时间等曲线。在定标界面中可以对标定了的数据进行相应的数据处理,例如数据转换、打印等。
2.4 导出波形
通过导出波形模块用户可以将波形图中显现的曲线图以图片的形式保存在计算机中,方便用户打印输出、存档保存以便日后查阅。该功能的实现通过波形图的属性节点调用实现。
2.5 多通道显示
多通道显示模块允许用户通过对通道的选择来显示某一通道的数据曲线,也可以同时显示四个通道的数据曲线并以不同的颜色来显示各个通道的数据曲线,方便用户对曲线进行观察和对比,在LabVIEW中通过复选框实现各个通道的选择。
3 软件的关键问题
3.1 通道数据分离和纠错
在数据采集的过程中,四路信号是同时存储的。当在存储数据和显示数据曲线时,需要对数据进行处理,防止读取或存储的数据发生错位现象,同时便于对错误进行跟踪查找,最终能使各通道数据能够完整地整合到一起。因此采取了相应的措施,在每个数据存储的过程中给每个通道的信号加上通道信息。
当多路信号采集完一个周期后,存储一些通道信息作为区分每包数据的信号。这样即使某包数据出了问题,也可以很容易地确定各个通道信号的数据,不会出现数据错位现象。通过判断数据的通道号来确定数据是否正确,当出现错误时用相对应的上一包的数据进行替换,具体步骤如图3所示。
3.2 动态链接库的调用
动态链接库(DLL)是存放在。dll文件中编译过的小型库文件,该文件封装了一些功能和代码及一组接口函数供LabVIEW调用,应用程序可以在运行时链接并使用它。在LabVIEW中提供了调用库函数节点,通过该节点进行配置就可以调用DLL.
动态链接库的工作原理如下:当它收到应用程序的数据传输请求后,会创建两个线程:数据传输线程和记录、显示线程,其中数据传输线程负责将数据写到应用程序要提交的内存;而记录、显示线程则负责给应用程序发送记录和显示消息。当应用程序接收到此消息后,便从它提交的内存中读取数据并存。
用户应用程序的主要功能是开启或关闭USB设备、检测USB设备、设置数据传输帧数、通过USB接口传输并显示数据,本系统软件调用DLL68013.dll库文件对USB设备进行控制。下面就本系统信号采集关键DLL函数进行简单的说明,这些都在调用库函数节点的配置中进行设定,在配置过程中要注意调用规范,该系统采用stdcall(WINAPI)。
①TranVerCmmd(),该函数是向USB设备中发送控制命令,用于控制USB设备,该函数就一个参数,向这个函数发送HB4初始化读数口控制命令。
②BulkWrite(),该函数是控制向设备中发送数据,包括三个参数,第一个参数是要操作的管道号,第二个参数是要写入的数据,第三个参数是数据的大小。
③BulkRead(),该函数是控制向设备中发送数据,包括三个参数,第一个参数是要操作的管道号,第二个参数是要读取的数据,第三个参数是数据的大小。
采样模块调用库函数节点的部分程序如图4所示。
4 测试结果及结论
4.1 测试结果
在一次测试的试验中,对四个通道信号进行数据采集,其结果如图5所示。从图中可以清楚地观察到各个参数的变化,测试数据保存在二进制文件中,数据还可以生成Excel报表文件以便用户参考分析。
4.2 测试结论
四通道多参数测试软件通过了系统的联合调试,成功地实现了数据的接收、显示、处理、存储、回放等功能。联合调试的结果充分说明系统可以在Windows的平台上平稳运行,数据接收与显示的实时性完全满足要求。由于系统有很强的数据回放能力,用户可以在每次试验后,反复研究本次试验数据,这对及时发现、分析和排除故障、提高效率是非常有效的。
参考文献:
[1].MSP430datasheethttp://www.dzsc.com/datasheet/MSP430_490166.html.
[2].STEdatasheethttp://www.dzsc.com/datasheet/STE_2043244.html.