时间:2024-05-04
(中国空气动力研究与发展中心 设备设计及测试技术研究所,四川 绵阳 621000)
风洞是以人工方式产生并控制气流,用来模拟飞行器或实体周围气体流动情况,并可量度气流对实体的作用效果以及观察物理现象的一种管道状实验设备,它是飞行器研制工作中的一个不可缺少的组成部分,其在航空和航天工程的研究与发展中起着重要的作用[1]。风洞中所涉及到测量参数通常包含很多,其中,压力就是风洞测量中的一项非常重要参数,其主要是针对风洞总压、静压、以及模型表面压力的测量,通过这些压力的测量可以解算出风速、模型流动特征以及气动外形设计等重要的风洞试验参数[2-3]。风洞中的压力目前主要是采用压力扫描阀来进行测量,因为其具有小型化、精度高、通道数多等优点,从而在风洞中得到了广泛的运用[4]。当前,针对压力扫描阀在风洞中进行数据测量,还存在因风洞不同、扫描阀类型不同以及功能需求不同等原因而重复多次的编写压力扫描阀数据采集软件,从而造成软件冗余度高、工作效率低的问题[5-6]。
基于此,本文开发了一个风洞通用压力扫描阀综合数据采集系统,以满足风洞中各类压力扫描阀的数据采集需求。系统软件主要由参数设置、主界面、通道类型设置、吹风试验、数据查看等模块组成,其主要具有以下几个特点:1)基于模块化设计,界面简洁,操作简单,扩展性强;2)集成了各类风洞使用压力扫描阀进行数据采集所需的各种功能,功能齐全;3)融合了风洞中常用的各类压力扫描阀,可以实现不同压力扫描阀的综合应用,兼容性好。
压力扫描阀数据采集系统的硬件主要由压力扫描阀、交换机、测量上位机三大模块组成。如图1所示,测量上位机与各个压力扫描阀通过网线连接到以太网交换机,以确保所有设备在一个网段上。当进行吹风试验时,首先由引压管将外部压力引入到压力扫描阀中。然后,由扫描阀内部的压力传感器将接收到的外部压力转换为压力数据,转换完成后,各个扫描阀再通过网络将压力数据汇聚到测量上位机上。最后,再由测量上位机的数据采集软件对压力数据进行获取。
图1 压力扫描阀数据采集系统硬件组成
PSI 9116是一种气体压力智能扫描器,其内部集成了压力传感器和气路校准阀。它所采集到的数据是保证系统精度的工程单位EU数据,这些数据是通过上电时读取传感器内部预置的EU转换和温度补偿系数经过内部计算得到的。它的网络接口采用的是自适应10/100 M以太网接口,使用TCP/UDP/IP协议,支持全双工/半双工操作[7]。PSI 9116具有16个测量通道,每个通道使用单独的气体压力传感器。它的压力扫描精度高达±0.05%,并在校准温度范围内,温度漂移误差低至±0.001%FS/℃。此外,它还具备调零校准方便、易于使用、易于更换等特点。
DSA 3217是一个独立的电子压力扫描阀,可以接受16个气动输入,其是专门设计用于校准周期长、操作简单与精度要求高的应用场合[8]。每个DSA 3217包含16个独立的、温度补偿的压阻式压力传感器、1个A/D转换器和1个微处理器。每个传感器都具备超压超温特性,该信息存储在EEPROM存储器中,使模块能够直接输出工程单位中的核心数据。该模块同时支持以太网通信以及串口RS-232通信,但主要的通信方式是带有MDIX自动交叉的100Base-T以太网端口。
C#是微软公司设计的一种从C和C++派生出来的一种简单、现代、面向对象和类型安全的编程语言,其主要用于开发可以运行在.NET平台上的应用程序[9]。C#具有语法简单、彻底面向对象设计、兼容性好等突出的特点,它的应用领域非常广泛,例如:桌面应用系统开发、网络系统开发、操作系统平台开发、智能手机程序开发等等。
压力扫描阀安装连接成功后,打开数据采集软件,在软件上通过网络连接需要使用的压力扫描阀。连接成功后,对压力扫描阀进行模块参数设置,例如:采样频率、滤波次数、触发模式、采集模式、时间协议等等。参数设置完成后,软件开始实时显示压力扫描阀的零点值,并根据需要通过软件对所有的压力扫描阀进行一键标定。当需要准备试验吹风时,首先通过软件对各个通道的数据类型以及试验参数进行设置,设置完成后进入到吹风试验界面,吹风界面以图形化实时显示需要显示的通道数据。当需要进行数据采集时,通过软件控制数据的采集与存储。数据存储完成后,可以根据需要通过软件对已存储的数据进行查看。此外,针对需要远程控制的情况,可以通过软件连接到远程控制机,并由远程控制机来控制数据的采集。
图2 软件设计思路
依据软件的设计思路以及风洞试验现场使用的需要,对软件进行模块化设计,主要包括参数设置、主界面、通道类型设置、吹风试验以及数据查看等5大模块。
参数设置界面主要用于对已连接到软件的压力扫描阀进行参数配置,如图3所示。
图3 参数设置界面
首先通过16个模块按钮对需要配置的模块进行选择,然后根据所选的压力扫描阀选择扫描阀类型,并根据该扫描阀的IP地址以及Port端口对其进行连接。连接成功后,对模块参数进行设置,设置内容主要包括:1)采集频率、通道扫描间隔及滤波次数,由于采集频率的设置与通道扫描间隔和滤波次数直接相关,因此设置了两种频率计算方式,一种是根据滤波计算通道扫描间隔,即改变了频率后根据当前的滤波次数计算出通道扫描间隔,一种是根据扫描间隔计算滤波,即改变了频率后根据当前的通道扫描间隔计算出滤波次数;2)触发模式,扫描阀的数据采集触发通常包含两种模式,一种是内部时钟,即扫描阀根据设置的采集频率使用内部时钟定时触发数据采集,另一种是外部触发,即扫描阀连接外部的触发设备,通过触发设备产生的触发信号来触发数据的采集;3)采集模式,采集模式有两种可选,一种是根据采集频率进行连续不断采集的连续采集模式,一种是每次只采集一次数据的单次采集模式;4)采集类型,本软件的数据采集类型主要分为压力值以及各个通道的温度值;5)压力单位,针对压力值可以选择不同的压力单位,例如:Pa、KPa、PSI等。模块参数设置完成后,就可以将参数设置情况下发到压力扫描阀并让其生效,本软件设置了两种参数设置下发模式,一种是单次设置,即只对当前的模块进行参数设置,另一种是对所有已连接的模块进行统一设置。
为了实现各个扫描阀的时间统一、数据同步以及数据比较,本软件对每帧数据进行时间戳的获取。针对支持PTP协议[10](precise time protocol,精准时间协议)的扫描阀,本软件可以对其进行PTP设置,如图3(b)所示,获取的时间戳即为扫描阀的硬件时间戳。针对不支持PTP协议的扫描阀,本软件获取的时间戳为计算机的系统时间戳。
吹风试验过程中有时需要多个系统同步采集以及远程操控等,因此本软件设置了远程控制模式,如图3(c)所以,首先,通过本软件设置好远程控制器的IP地址、Port端口以及开始采集命令等,当需要远程控制时,将采集控制权交于远程控制器,远程控制器就可以通过发送采集命令来实现远程的数据采集,当不需要远程控制时再转为本地采集模式。
主界面主要用于零点显示、零点标定以及试验参数设置等,如图4所示。
图4 主界面
扫描阀连接设置成功并开始扫描后,主界面的数据显示控件会实时显示各个扫描阀的零点值,各个扫描阀的零点切换通过16个模块按钮来实现。当需要进行零点标定时,软件会发送零点标定命令到各个扫描阀,扫描阀自动标定后返回零点值到软件,软件再将各个扫描阀的零点值进行临时存储。此外,由于每次吹风过程的试验条件可能不同,因此本软件还设置了吹风试验的参数设置与存储,设置内容主要包括试验车次、大气压力、环境温度、采集频率以及采样时间等常规参数。
通道类型设置界面主要用于对压力扫描阀各个通道的数据类型进行设置,如图5所示。
由于吹风试验过程中扫描阀各个通道的数据类型与采集位置有所不同,因此,为了便于后续的数据采集、数据区分以及数据处理等,本软件设置了扫描阀通道类型设置功能。即在准备吹风试验前,先将所用到的数据类型名称输入到软件中,然后对每个通道的数据类型进行选择,这样每次数据采集完成后保存的数据文件就能对每个通道的数据类型进行标注。
吹风试验界面主要用于数据图形显示以及数据采集,如图6所示。
图6 吹风试验界面
当进入吹风试验状态时,吹风试验界面会以曲线流动的形式实时显示扫描阀各通道的数据,图形显示频率的规则为采集频率小于10 Hz时就以采集频率显示,采集频率大于10 Hz时就对数据进行抽样显示,显示频率为固定的10 Hz。此外,通过通道选择控件还能够对需要显示的通道数据进行任意选择。当需要进行数据采集时,点击开始采集按钮软件就会实时的存储扫描阀当前获取得到的数据,采集过程中会有进度提示,采集完成后,点击数据保存按钮对数据进行存储,数据存储的类型有CSV、TXT、Excel等多种类型可选。
数据查看界面主要用于对已存储的数据进行查看,如图7所示。
图7 数据查看界面
吹风试验结束后,为了便于数据查看以及数据校验,因此,本软件设置了数据查看功能。即通过软件打开需要查看的数据,软件就能以图形化的形式显示出打开的数据。同样,通过通道选择控件可以对需要查看的通道数据进行任意选择。
DSA 3217:
set format 0 设置数据刷新格式;
set bin 1 设置上传数据为二进制格式(0为ASCLL格式);
set time 3 设置时间戳格式;
set period 100 设置通道扫描间隔为100us;
set avg 4 设置滤波次数为4;
set fps 0 设置数据采集模式(0为连续采集、1为单次采集);
set unitscan kpa 设置数据单位为Kpa;
set xscantrig 0 设置数据触发模式(0为内部时钟、1为外部触发);
calz 100 4 零点标定(以通道扫描间隔100us,4次滤波进行标定);
set ptpen 0 设置ptp协议(0为关闭PTP、1为从设备、2为主设备);
scan 开始扫描;
stop停止扫描。
PSI 9116:
c 05 1 0090 设置上传数据的格式(数据包括压力值与温度值);
w104 设置滤波次数为4;
c 00 1 ffff 1 100 8 0 设置为内部时钟触发模式、扫描周期为100ms、连续采集模式;
hffff 零点标定;
c 01 1 开始扫描;
c 02 1 停止扫描。
为了验证本系统的可行性,本文开展了压力扫描阀数据测试实验。即按照两台DSA 3217、两台PSI 9116、一台DSA 3217和一台PSI 9116的三种情况依次连接到本系统,然后,使用压力信号源(Ruska 7250LP)产生标准的压力变化信号(0KP-1KP-2KP-3KP-4KP-5KP逐渐变化的信号)同时输入到各个扫描阀的第一个通道,最后,使用本系统对扫描阀获取得到的数据进行采集,第三种情况采集得到的数据如图8所示。三种情况采集完成后,计算每种情况的不同扫描阀之间的数据差异如图9所示。
图8 第三种情况的扫描阀采集数据
图9 三种情况的扫描阀数据差异
由图8可知,三种情况的压力扫描阀之间的数据差异都比较小,分别为3.2 Pa、1.6 Pa、9.9 Pa,其中,第三种情况的数据差异比前两种情况大是由于两种不同扫描阀的精度不一致导致的。同时,由图9可以看到第三种情况还出现了5次较大的波动,这是由于压力信号产生较大变化时,两种不同扫描阀的动态响应不同而造成的。此外,三种情况的扫描阀之间的数据时间差最大值分别为5 ms、8 ms、30 ms,其中第三种情况的时间差较大是由于两种不同扫描阀的启动机制不一样造成的,即扫描阀响应启动指令的时间不一致。综上,本系统在前两种情况下的数据差异以及数据时间差都比较小,第三种情况虽然要差一些但依然能够满足风洞试验的需要。因此,通过本实验可以说明本系统具有较好的一致性与同步性,具备多个扫描阀综合数据采集的能力,能够满足风洞中各类压力扫描阀的数据采集需求。
本文为了满足风洞中的常用压力扫描阀数据采集的需求,设计了一个压力扫描阀综合数据采集系统。基于C#对系统进行设计,将风洞中常用的压力扫描阀融合在了一个系统中,并根据风洞试验的功能需求从零点显示与标定、参数设置、数据显示以及数据查看等方面对系统进行了详细设计,最后,通过压力测试实验对本系统进行了实验验证。实验结果表明,本系统界面简洁、功能齐全、同步性好并且兼容性高,能够实现风洞中的各类压力扫描阀的综合数据采集。下一步工作是融合更多类型的压力扫描阀在本系统中,并且根据风洞试验的需要,不断的扩展系统功能。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!