(中國空氣動力研究與發(fā)展中心,四川 綿陽 621000)
風洞數(shù)據(jù)采集系統(tǒng)是風洞中不可或缺的重要組成部分,其在風洞中主要是起到重要參數(shù)監(jiān)控以及試驗數(shù)據(jù)獲取的作用。風洞數(shù)據(jù)采集系統(tǒng)通常是由傳感器、數(shù)采設備以及上位機組成,其中數(shù)采設備是系統(tǒng)中最重要的部分,其往往決定這整個數(shù)據(jù)采集系統(tǒng)的性能指標[1-2]。目前,根據(jù)數(shù)采設備的不同,已有許多不同的數(shù)據(jù)采集系統(tǒng)被設計出,例如:黃昊宇等人[3]基于PXI數(shù)采模塊對H高超聲速風洞氣動力試驗設計了數(shù)據(jù)采集處理系統(tǒng);孟亮等人[4]基于MSP430F149單片機設計了一個天平數(shù)據(jù)采集系統(tǒng),用于對某低速風洞的天平數(shù)據(jù)進行采集。由于本文的數(shù)據(jù)采集系統(tǒng)所針對的風洞數(shù)據(jù)類型較復雜,傳感器輸出信號多樣化,因此,為了節(jié)約成本,簡化系統(tǒng),本文采用MX1601B-R數(shù)采設備進行風洞數(shù)據(jù)采集系統(tǒng)的設計。針對MX1601B-R數(shù)采設備,它配備有自帶的數(shù)據(jù)采集軟件,可以實現(xiàn)數(shù)據(jù)的簡單采集,但是該軟件功能無法擴展,不能滿足風洞試驗這種特殊情況的使用需求。
基于此,本文開發(fā)了一個基于MX1601B-R的風洞數(shù)據(jù)采集系統(tǒng),以滿足MX1601B-R數(shù)采設備在風洞中進行數(shù)據(jù)采集的需求。本系統(tǒng)軟件主要由模塊參數(shù)設置、主界面、吹風試驗、數(shù)據(jù)查看、遠程控制等模塊組成,其主要具有以下幾個特點:1)基于模塊化設計,界面簡潔,操作簡單,功能擴展性強;2)除了MX1601B-R,還能支持HBM所有的MX系列數(shù)據(jù)采集設備,兼容性好;3)集成了風洞試驗過程中數(shù)據(jù)采集所需的各種功能,功能齊全。
本文的風洞數(shù)據(jù)采集系統(tǒng)主要由MX1601B-R數(shù)采設備、以太網(wǎng)交換機、測量上位機三大部分組成。它們的組成結構如圖1所示,所有的MX1601B-R數(shù)采設備由同步火線FIREWIRE串聯(lián)在一起,以便實現(xiàn)所有數(shù)采設備的數(shù)據(jù)同步采集。隨后, MX1601B-R數(shù)采設備與測量上位機再通過網(wǎng)線連接到以太網(wǎng)交換機上,以保證所有硬件設備在一個網(wǎng)段上。

圖1 基于MX1601B-R的風洞數(shù)據(jù)采集系統(tǒng)硬件組成
系統(tǒng)在吹風試驗過程中,首先,由傳感器對風洞中的溫度、壓力等試驗參數(shù)進行獲取,并將試驗參數(shù)對應的轉(zhuǎn)換為電壓或電流等信號;隨后,由MX1601B-R數(shù)采設備中已設置好傳感器類型的各個通道對傳感器的輸出信號進行同步采集,采集完成后通過網(wǎng)線將數(shù)據(jù)傳送到測量上位機上;最后,再由測量上位機的數(shù)據(jù)采集軟件對試驗數(shù)據(jù)進行監(jiān)控、采集、存儲以及分析等。
本系統(tǒng)的數(shù)采設備為德國HBM公司的SomatXR MX1601B-R數(shù)采模塊,該模塊為堅固性數(shù)據(jù)采集模塊,專門面向惡劣環(huán)境應用設計,能夠防水,防塵,可承受極端的振動和沖擊,并且具有更寬的溫度范圍。該模塊具有16個通道,每個通道采樣率達到19.2 kS/s,信號帶寬為3 kHz,通道能夠?qū)ν馓峁╇娫醇睢T撃K的每個通道可以根據(jù)需要對電壓、電流、電阻以及溫度等各種物理信號進行采集,通道使用具有多樣化,能夠滿足風洞中大部分傳感器信號采集的需要。
本文的數(shù)采系統(tǒng)基于C#進行設計,C#是微軟公司設計的一種從C和C++派生出來的一種簡單、現(xiàn)代、面向?qū)ο蠛皖愋桶踩木幊陶Z言,其主要用于開發(fā)可以運行在.NET平臺上的應用程序。C#具有語法簡單、徹底面向?qū)ο笤O計、安全機制強大、兼容性好等突出的特點,它的應用領域非常廣泛,例如:桌面應用系統(tǒng)開發(fā)、網(wǎng)絡系統(tǒng)開發(fā)、操作系統(tǒng)平臺開發(fā)、智能手機程序開發(fā)等等[5-6]。
HBM Common API是由HBM所提供的應用程序編寫接口,它是由C#語言編寫而成,因此,能夠很好地嵌入到C#軟件中。HBM Common API集成了MX1601B-R數(shù)采設備的許多重要功能函數(shù),例如:設備掃描與連接、模塊通道設置、數(shù)據(jù)采集等等。本文的數(shù)據(jù)采集軟件通過調(diào)用該API里的功能函數(shù)可以很方便地實現(xiàn)MX1601B-R數(shù)采設備的掃描連接、傳感器設置以及數(shù)據(jù)同步采集等。
Measurement Studio 2019 是NI 公司專為測試和控制領域開發(fā)的工具軟件,它將強大的數(shù)據(jù)采集分析功能無縫集成到Visual Studio中,支持VB、C#和C++等語言[7]。它提供了各種常用的測量和自動化控件、工具和類庫,包括.NET控件、高級分析函數(shù)、科學的用戶界面控件以及測量數(shù)據(jù)網(wǎng)絡等功能。運用Measurement Studio 2019可以在Visual Studio編程基礎上快速創(chuàng)建完整的測量解決方案,能大大提高數(shù)據(jù)采集系統(tǒng)的開發(fā)效率[8]。
數(shù)據(jù)采集系統(tǒng)硬件設備搭建完成后,打開測量上位機的數(shù)據(jù)采集軟件對系統(tǒng)中的MX1601B-R數(shù)采模塊進行掃描與連接。連接成功后,根據(jù)所采傳感器信號的不同對MX1601B-R數(shù)采模塊的各個通道進行傳感器類型設置,同時,對各個通道的數(shù)據(jù)類型進行定義。所有MX1601B-R數(shù)采模塊的參數(shù)設置成功后,軟件開始實時顯示各個數(shù)采模塊的零點值,并根據(jù)需要通過軟件對所有的數(shù)采模塊進行零點去除與保存。當需要準備試驗吹風時,首先通過軟件對本次吹風過程的試驗參數(shù)進行設置,設置完成后進入到吹風試驗界面。吹風試驗界面開始對風洞數(shù)據(jù)采集系統(tǒng)以及控制系統(tǒng)中的一些重要數(shù)據(jù)參數(shù)進行實時監(jiān)控,同時,根據(jù)需要對數(shù)采系統(tǒng)采集得到的數(shù)據(jù)進行多樣化的數(shù)據(jù)顯示。當需要進行數(shù)據(jù)采集時,通過軟件控制所有數(shù)采設備進行數(shù)據(jù)的同步采集與存儲。數(shù)據(jù)采集完成后,可以根據(jù)需要通過軟件對已存儲的數(shù)據(jù)進行查看與分析。此外,針對需要遠程控制的情況,可以通過軟件連接到遠程控制機,并由遠程控制機來控制本系統(tǒng)的數(shù)據(jù)采集。

圖2 軟件設計思路
依據(jù)風洞數(shù)據(jù)采集系統(tǒng)的功能需求以及軟件的設計思路,對軟件進行模塊化設計。軟件主要由模塊參數(shù)設置、主界面、吹風試驗、數(shù)據(jù)查看以及遠程控制其5大模塊組成。
模塊參數(shù)設置界面主要用于對MX1601B-R數(shù)采模塊進行掃描連接、通道傳感器類型設置以及通道數(shù)據(jù)類型設置等,如圖3所示。
模塊參數(shù)設置前,首先對網(wǎng)絡中所存在的MX1601B-R數(shù)采模塊進行掃描,掃描完成后,數(shù)采模塊的硬件設備信息會顯示在顯示方框中,隨后,根據(jù)IP地址以及Port端口對需要連接的MX1601B-R數(shù)采模塊進行連接。模塊連接成功后,通過16個通道按鈕對需要進行傳感器類型設置的模塊通道進行選擇;通道選擇完成后,通過“未用/4~20 mA/電壓”切換控件對傳感器類型進行選擇,進而通過切換控件內(nèi)部的控件對該傳感器的常規(guī)參數(shù)進行設置,例如4~20 mA傳感器類型所需要設置的參數(shù)包括:傳感器激勵電壓、傳感器的最小(最大)電氣值、傳感器所測物理值的單位、傳感器電氣值所對應的物理值以及傳感器的測量范圍等。傳感器類型參數(shù)設置完成后,由傳感器設置按鈕對所選的模塊通道進行一鍵設置。
由于吹風試驗過程中MX1601B-R數(shù)采模塊各個通道的數(shù)據(jù)類型與采集位置有所不同,因此,為了便于后續(xù)的數(shù)據(jù)采集、數(shù)據(jù)區(qū)分以及數(shù)據(jù)處理等,還需要對通道的數(shù)據(jù)類型進行設置。即當選擇了某個數(shù)采模塊后,通過16個通道數(shù)據(jù)類型控件對該模塊16個通道的數(shù)據(jù)類型進行定義,定義完成后,由數(shù)據(jù)類型設置按鈕進行設置與保存。
主界面主要用于實現(xiàn)對MX1601B-R數(shù)采模塊的啟動與停止、數(shù)采模塊零點值的顯示與去除以及吹風試驗參數(shù)的設置等,如圖4所示。

圖4 主界面
模塊參數(shù)設置完成后,通過主界面上的啟停按鈕對所有已連接的MX1601B-R數(shù)采模塊進行啟動,然后,主界面上的16個數(shù)據(jù)顯示控件會實時顯示當前所選模塊的零點值,模塊的選擇可以通過8個模塊切換按鈕來實現(xiàn)。當需要進行零點去除時,通過零點去除按鈕可以一鍵對所有的模塊進行零點去除,并對零點值進行存儲。此外,由于每次吹風過程的試驗條件可能不同,因此主界面上還設置了吹風試驗參數(shù)的設置與存儲,設置內(nèi)容主要包括試驗車次、大氣壓力、環(huán)境溫度、采樣頻率以及采樣時間等常規(guī)參數(shù)。
吹風試驗界面主要用于實現(xiàn)對數(shù)采系統(tǒng)與控制系統(tǒng)重要參數(shù)的實時監(jiān)控、數(shù)采系統(tǒng)試驗數(shù)據(jù)的實時顯示以及試驗數(shù)據(jù)的采集與存儲等,如圖5所示。

圖5 吹風試驗界面
進入吹風試驗狀態(tài)后,吹風試驗界面會對數(shù)據(jù)采集系統(tǒng)中的一些需要特別關注的試驗數(shù)據(jù)以及風洞控制系統(tǒng)中一些重要的控制參數(shù)進行實時監(jiān)控,以便總體掌握整個風洞的運行情況。其中,數(shù)采系統(tǒng)的試驗數(shù)據(jù)是由數(shù)采軟件通過TCP/IP協(xié)議直接從MX1601B-R數(shù)采模塊獲取的,而控制系統(tǒng)的控制參數(shù)則是通過OPC協(xié)議[9]從控制系統(tǒng)PLC上獲取的。
控制系統(tǒng)的參數(shù)獲取方法為:1)根據(jù)所需讀取的控制參數(shù)在PLC中的地址在NI OPC Servers中添加對應的標簽;2)在NI分布式系統(tǒng)管理器中將NI OPC Servers中的標簽創(chuàng)建為網(wǎng)絡共享變量;3)在軟件中調(diào)用measurement studio中的NetworkVariable類函數(shù)并根據(jù)網(wǎng)絡共享變量的地址對控制參數(shù)進行實時獲取。
除了參數(shù)的實時監(jiān)控,主界面還會對數(shù)采系統(tǒng)所采的試驗數(shù)據(jù)進行實時顯示,顯示樣式有曲線圖、柱狀圖以及溫度云圖三種可選,可以通過顯示切換控件進行切換;數(shù)據(jù)顯示的頻率不超過10 Hz,即采集頻率小于10 Hz時就以采集頻率顯示,采集頻率大于10 Hz時就對數(shù)據(jù)進行抽樣顯示,顯示頻率為固定的10 Hz,這種數(shù)據(jù)顯示的方式有助于數(shù)據(jù)的查看。此外,通過通道選擇控件能夠?qū)π枰@示的通道數(shù)據(jù)進行任意選擇,同時,還能夠?qū)?shù)據(jù)顯示的Y軸顯示范圍進行設置,設置方式分為自適應與固定值兩種。
當需要進行數(shù)據(jù)采集時,點擊開始采集按鈕,軟件就會對所有連接的MX1601B-R數(shù)采模塊進行數(shù)據(jù)的同步采集,采集過程中會有進度提示,采集完成后,點擊數(shù)據(jù)保存按鈕對試驗數(shù)據(jù)進行存儲,存儲的數(shù)據(jù)內(nèi)容包括:吹風試驗參數(shù)、通道數(shù)據(jù)類型、數(shù)據(jù)時間戳、試驗數(shù)據(jù)等,數(shù)據(jù)保存的格式有CSV、TXT、Excel等多種類型可選。
數(shù)據(jù)查看界面主要用于對已存儲的數(shù)據(jù)進行查看與分析,如圖6所示。

圖6 數(shù)據(jù)查看分析界面
吹風試驗結束后,為了便于數(shù)據(jù)的查看與分析,因此,本軟件設置了數(shù)據(jù)查看分析功能。即通過軟件打開需要查看的數(shù)據(jù),軟件就能以圖形化的形式顯示出打開的數(shù)據(jù),并對打開的數(shù)據(jù)進行分析。同樣,數(shù)據(jù)顯示具有多樣化,能夠?qū)π枰榭吹耐ǖ罃?shù)據(jù)進行任意選擇,以及能夠?qū)?shù)據(jù)顯示的Y軸顯示范圍進行自適應與固定值設置等。
遠程控制界面主要用于遠程控制機的參數(shù)設置與連接,如圖7所示。

圖7 遠程控制界面
風洞吹風試驗過程中,有時往往需要多個系統(tǒng)同步采集以及遠程操控等,因此本軟件還設置了遠程控制模式。為了實現(xiàn)多個系統(tǒng)的同步采集,首先需要完成的就是系統(tǒng)之間的時間同步,本文采用NTP的同步方式[10],即將遠程控制機設置為NTP服務器,本系統(tǒng)設置為NTP客服端,然后將遠程控制機的時間同步到本系統(tǒng)上。時間同步完成后,通過本軟件的遠程控制界面對遠程控制機的IP地址、Port端口、開始采集命令以及停止采集命令等進行設置。當需要進行遠程控制時,點擊遠程控制模式按鈕將采集控制權交于遠程控制機,遠程控制機就可以通過發(fā)送采集命令來控制本系統(tǒng)的數(shù)據(jù)采集,當不需要遠程控制時點擊本地控制模式按鈕再轉(zhuǎn)為本地采集模式。
硬件掃描:
DaqEnvironment _daqEnvironment = DaqEnvironment.GetInstance();
List
HBM數(shù)采模塊連接:
List
QuantumXDevice HBM_myDevice=new QuantumXDevice();
HBM_myDevice.ConnectionInfo=new StreamingConnectionInfo(IP,Port);
bool isOk = _daqEnvironment.Connect(HBM_myDevice, out connectProblems);
通道傳感器類型設置:
CurrentSensor MySensor=new CurrentSensor();
MySensor.UniqueName=”4_20mA Sensor”;
MySensor.ActiveSupplyType=Hbm.Api.SensorDB.Enums.ActiveSupplyType.Voltage;
MySensor.ActiveSupplyValue=24;
TwoPointScaling scaling = new TwoPointScaling();
scaling.ElectricalP1 = 4;scaling.ElectricalP2 = 20;scaling.EngineeringP1 = -50;scaling.EngineeringP2 = 120;scaling.MinEngineeringRange = -50; scaling.MaxEngineeringRange = 120; scaling.EngineeringUnit = "℃";
MySensor.Scaling=scaling;
AnalogInChannel ch = HBM_myDevice.Connectors[0].Channels[0] as AnalogInChannel;
Ch.Sensor=MySensor;
List
bool isOk = HBM_myDevice.AssignSensor(ch, out assignProblems);
采集準備與開始:
DaqMeasurement _daqMeasurement=new DaqMeasurement();
List
HBM_signalsToMeasure.Add(HBM_myDevice.Connectors[0].Channels[0].Signals[0]);
_daqMeasurement.AddSignals(HBM_myDevice, HBM_signalsToMeasure);
_daqMeasurement.PrepareDaq();
_daqMeasurement.StartDaq(DataAcquisitionMode.TimestampSynchronized);
采集停止與斷開:
daqMeasurement.StopDaq();
_daqEnvironment.Disconnect(HBM_myDevice)。
為了驗證本系統(tǒng)的可行性,使用本系統(tǒng)對某風洞吹風試驗時的溫度排架數(shù)據(jù)進行采集與分析,該溫度排架包括16個溫度傳感器,縱向布局。吹風過程中的數(shù)據(jù)采集情況與采集結束后的數(shù)據(jù)查看分析情況分別如圖8、9所示。

圖8 吹風試驗中的數(shù)據(jù)采集情況

圖9 數(shù)據(jù)查看與分析情況
通過測試結果可以表明,本文所設計的風洞數(shù)據(jù)采集系統(tǒng)能夠有效地對風洞數(shù)采系統(tǒng)與控制系統(tǒng)的試驗參數(shù)進行實時監(jiān)控,并準確地對吹風試驗數(shù)據(jù)進行同步采集、多樣化顯示以及數(shù)據(jù)分析。同時,系統(tǒng)的采集啟動時間誤差優(yōu)于0.01 s,符合風洞試驗中數(shù)據(jù)采集的響應時間要求。因此,該系統(tǒng)能夠有效地滿足風洞吹風試驗的數(shù)據(jù)采集需求。
本文為了滿足MX1601B-R數(shù)采設備在風洞中的進行數(shù)據(jù)采集的需求,基于MX1601B-R設計了一個風洞數(shù)據(jù)采集系統(tǒng)。通過數(shù)采系統(tǒng)的硬件組成與風洞數(shù)據(jù)采集的功能需求給出了詳細有效的設計思路,并根據(jù)該設計思路對數(shù)據(jù)系統(tǒng)的設備掃描連接、模塊參數(shù)設置、零點顯示、數(shù)據(jù)監(jiān)控、數(shù)據(jù)采集以及數(shù)據(jù)查看與分析等方面進行了詳細設計。最后,使用本系統(tǒng)對某風洞的溫度排架進行數(shù)據(jù)采集,并通過采集分析結果對本系統(tǒng)進行驗證。驗證結果表明,本系統(tǒng)界面簡潔、功能齊全并且設備兼容性好,能夠有效的進行零點顯示、數(shù)據(jù)監(jiān)控、同步采集、多樣化顯示與數(shù)據(jù)分析等,同時具有較快的采集響應,滿足MX1601B-R數(shù)采模塊在風洞中進行數(shù)據(jù)采集的功能需求。下一步工作是融合更多不同的數(shù)采設備在本系統(tǒng)中,形成一個通用性的風洞數(shù)采系統(tǒng)。