陳 軍,丁博深,段 燕
(北京航天試驗(yàn)技術(shù)研究所,北京100074)
氫/氧火箭發(fā)動(dòng)機(jī)試驗(yàn)自動(dòng)緊急關(guān)機(jī)程序設(shè)計(jì)
陳軍,丁博深,段燕
(北京航天試驗(yàn)技術(shù)研究所,北京100074)
在氫/氧火箭發(fā)動(dòng)機(jī)試驗(yàn)過(guò)程中,對(duì)發(fā)動(dòng)機(jī)關(guān)鍵參數(shù)進(jìn)行監(jiān)測(cè),及時(shí)發(fā)現(xiàn)異?;蚬收馅厔?shì),并快速實(shí)施自動(dòng)緊急關(guān)機(jī)是非常重要的。本文在Pacific 6000數(shù)據(jù)采集控制系統(tǒng)的基礎(chǔ)上,使用Visual C++開(kāi)發(fā)環(huán)境對(duì)其自帶的采集軟件PI660進(jìn)行二次開(kāi)發(fā),實(shí)現(xiàn)高精度自動(dòng)緊急關(guān)機(jī)判讀功能。在緊急關(guān)機(jī)程序設(shè)計(jì)中,定時(shí)器的精度直接影響判讀的準(zhǔn)確性,通過(guò)對(duì)幾種定時(shí)器精度的測(cè)試和分析,選取“多媒體定時(shí)器”用于自動(dòng)緊急關(guān)機(jī)程序,并結(jié)合Pacific 6000數(shù)據(jù)采集控制系統(tǒng)的特性,綜合分析了自動(dòng)緊急關(guān)機(jī)程序的響應(yīng)時(shí)間及可靠性。
發(fā)動(dòng)機(jī)試驗(yàn);液體推進(jìn)劑;自動(dòng)緊急關(guān)機(jī);定時(shí)器;響應(yīng)時(shí)間
火箭發(fā)動(dòng)機(jī)地面試驗(yàn)是發(fā)動(dòng)機(jī)研制的關(guān)鍵環(huán)節(jié)。發(fā)動(dòng)機(jī)在試驗(yàn)過(guò)程中出現(xiàn)的故障,在極短時(shí)間內(nèi)可能造成災(zāi)難性后果。如果能夠?qū)Πl(fā)動(dòng)機(jī)關(guān)鍵參數(shù)進(jìn)行精確的檢測(cè),出現(xiàn)異常情況時(shí)迅速執(zhí)行自動(dòng)關(guān)機(jī)操作,就可避免或降低故障帶來(lái)的損失,進(jìn)一步提高可靠性和安全性。
某型號(hào)氫/氧發(fā)動(dòng)機(jī)試驗(yàn)臺(tái)采用Pacific 6000數(shù)據(jù)采集控制系統(tǒng)實(shí)現(xiàn)發(fā)動(dòng)機(jī)所有穩(wěn)態(tài)參數(shù)(包括關(guān)機(jī)參數(shù))的測(cè)量。Pacific 6000數(shù)據(jù)采集控制系統(tǒng)自帶采集軟件PI660,并留有開(kāi)發(fā)接口,如果能夠在該系統(tǒng)基礎(chǔ)上開(kāi)發(fā)自動(dòng)緊急關(guān)機(jī)程序,則既可節(jié)約成本,又可降低整個(gè)系統(tǒng)的復(fù)雜性。
在Pacific 6000數(shù)據(jù)采集控制系統(tǒng)上實(shí)現(xiàn)自動(dòng)緊急關(guān)機(jī)功能,需要深入了解Pacific 6000數(shù)據(jù)采集控制系統(tǒng)的特性,并在此基礎(chǔ)上用Visual C++來(lái)實(shí)現(xiàn)。
1.1Pacific 6000數(shù)據(jù)采集控制系統(tǒng)
Pacific 6000數(shù)據(jù)采集控制系統(tǒng)是集傳感器信號(hào)調(diào)理、AD轉(zhuǎn)換和控制于一體的高性能數(shù)據(jù)采集系統(tǒng)。它采用模擬、數(shù)字和軟件技術(shù)對(duì)傳感器信號(hào)進(jìn)行調(diào)理、采集、顯示和分析,提供模擬和數(shù)字信號(hào)輸出對(duì)外部系統(tǒng)進(jìn)行控制。與計(jì)算機(jī)的接口有GPIB及USB2.0兩種模式。
圖1 PI660采集軟件功能模塊圖Fig.1 Function module diagram of PI660 data acquisition software
自帶的PI660數(shù)據(jù)采集軟件可運(yùn)行于Win98. NT下,用于設(shè)置和操作Pacific 6000數(shù)據(jù)采集控制系統(tǒng),數(shù)據(jù)采集速率最大1 M/s,用戶可根據(jù)需要對(duì)其進(jìn)行二次開(kāi)發(fā)。其功能模塊圖如圖1所示。
1.2自動(dòng)緊急關(guān)機(jī)功能需求
發(fā)動(dòng)機(jī)設(shè)計(jì)單位對(duì)緊急關(guān)機(jī)程序提出了具體判斷準(zhǔn)則。給出需要判讀的關(guān)機(jī)參數(shù)及邏輯關(guān)系,對(duì)關(guān)機(jī)參數(shù)的判讀周期為100 ms,在連續(xù)三次滿足關(guān)機(jī)條件時(shí)發(fā)出自動(dòng)關(guān)機(jī)指令,緊急關(guān)機(jī)時(shí)間不大于500 ms。
1.3軟件設(shè)計(jì)
由上述可知,需要在圖1的基礎(chǔ)上增加自動(dòng)緊急關(guān)機(jī)判讀模塊及緊急關(guān)機(jī)信息存儲(chǔ)模塊。
1)自動(dòng)緊急關(guān)機(jī)判讀。對(duì)采集系統(tǒng)獲得的數(shù)據(jù)按照設(shè)定的邏輯關(guān)系進(jìn)行判讀,當(dāng)滿足關(guān)機(jī)條件時(shí),通過(guò)繼電器輸出板卡發(fā)出觸點(diǎn)信號(hào),試驗(yàn)臺(tái)控制系統(tǒng)接收信號(hào)后執(zhí)行一系列關(guān)機(jī)動(dòng)作。圖2為自動(dòng)緊急關(guān)機(jī)程序流程圖。
圖2 自動(dòng)緊急關(guān)機(jī)程序流程圖Fig.2 Flow chart of automatic emergency cut-off program
程序首先判斷起動(dòng)信號(hào)的電壓值是否大于3.5 V,當(dāng)起動(dòng)信號(hào)電壓大于3.5 V時(shí),判定發(fā)動(dòng)機(jī)起動(dòng),該時(shí)刻定為“0時(shí)刻”,開(kāi)始獲取關(guān)機(jī)參數(shù)的數(shù)值。使用判讀周期累加的方式計(jì)時(shí),當(dāng)?shù)竭_(dá)預(yù)定開(kāi)始判讀時(shí)刻時(shí),開(kāi)始按照預(yù)定判讀條件,以100 ms為一個(gè)周期進(jìn)行判讀,當(dāng)連續(xù)三次滿足判讀條件時(shí)發(fā)出緊急關(guān)機(jī)信號(hào)。
2) 緊急關(guān)機(jī)信息存儲(chǔ)。當(dāng)滿足關(guān)機(jī)條件,執(zhí)行關(guān)機(jī)動(dòng)作的同時(shí),保存判讀參數(shù)的數(shù)值及時(shí)間信息,為事后查證提供依據(jù)。
通過(guò)圖2可知,整個(gè)緊急關(guān)機(jī)判讀過(guò)程由定時(shí)器控制來(lái)進(jìn)行周期性的判讀操作和計(jì)時(shí),定時(shí)器性能的優(yōu)劣關(guān)系到發(fā)生異常時(shí),能否及時(shí)關(guān)機(jī)。
在緊急關(guān)機(jī)程序中,定時(shí)器是一個(gè)獨(dú)立的線程,用于定時(shí)操作。在定時(shí)器使用時(shí)需要注意以下三個(gè)方面:一是在定時(shí)器中,不要執(zhí)行可阻塞的事件,否則阻塞事件之后的操作將不能按時(shí)處理;二是在定時(shí)器中,不要執(zhí)行過(guò)多占用CPU的操作,否則會(huì)導(dǎo)致定時(shí)器性能下降;三是定時(shí)器內(nèi)的操作所需時(shí)間不能大于定時(shí)器的時(shí)間間隔,否則將引起程序崩潰。Windows系統(tǒng)提供了多種定時(shí)器的實(shí)現(xiàn)方案,包括WM_TIMER消息映射、Sleep(),timeGetTime()函數(shù)、多媒體定時(shí)器和頻率計(jì)數(shù)器等。
2.1定時(shí)器精度測(cè)試
在Visual C++6.0開(kāi)發(fā)環(huán)境下實(shí)現(xiàn)多個(gè)定時(shí)器對(duì)比,判讀周期為100 ms,測(cè)試時(shí)間為2 000 s,使用頻率計(jì)數(shù)器對(duì)其判讀周期進(jìn)行測(cè)量。統(tǒng)計(jì)結(jié)果如表1所示。
表1是在CPU為Intel Core2 2.93GHz,安裝Windows XP SP2操作系統(tǒng)的工控機(jī)上對(duì)上述定時(shí)器測(cè)試的結(jié)果。由表1可知,多媒體定時(shí)器和頻率計(jì)數(shù)器的定時(shí)比較精確,但頻率計(jì)數(shù)器的標(biāo)準(zhǔn)差較大,說(shuō)明其穩(wěn)定性差。
2.2定時(shí)器差異分析
1)WM_TIMER是將設(shè)定的定時(shí)周期轉(zhuǎn)換為IRQ0請(qǐng)求中斷的次數(shù),當(dāng)?shù)竭_(dá)要求的次數(shù)時(shí),計(jì)時(shí)器對(duì)象就發(fā)送一個(gè)WM_TIMER消息,由響應(yīng)函數(shù)處理。而NT內(nèi)核的操作系統(tǒng)以約15.600 1 ms為周期響應(yīng)中斷,因此,定時(shí)器的最短時(shí)間間隔約為15.6 ms;另外,雖然定時(shí)器已經(jīng)發(fā)送了一條WM_TIMER消息到消息隊(duì)列中,但其優(yōu)先級(jí)不高,該消息可能得不到及時(shí)處理。因此,在工業(yè)實(shí)時(shí)控制系統(tǒng)中無(wú)法滿足高精度的定時(shí)控制要求。
表1 定時(shí)器測(cè)試結(jié)果統(tǒng)計(jì)Tab.1 Test results of timers
2)sleep()函數(shù)的CPU占用率較高,一般適用于單任務(wù)的程序。實(shí)際測(cè)試,該函數(shù)的精度同WM_TIMER的效果相當(dāng)。
3)GetTickCount()函數(shù)可返回從計(jì)算機(jī)操作系統(tǒng)啟動(dòng)后到被調(diào)用時(shí)刻所經(jīng)過(guò)的毫秒數(shù),可利用其返回值實(shí)現(xiàn)定時(shí)功能。定時(shí)精度可滿足需求。但是,其中斷請(qǐng)求頻繁,資源消耗較大。
4)Windows中為多媒體定時(shí)器提供底層API支持,它通過(guò)TimeBeginPeriod()函數(shù)設(shè)置最小定時(shí)精度,使定時(shí)周期不受15.600 1 ms響應(yīng)中斷的限制,且該定時(shí)器也不依賴于消息機(jī)制,而是由TimeSetEvent()函數(shù)產(chǎn)生一個(gè)獨(dú)立的線程,從而保證定時(shí)中斷在CPU資源緊張時(shí)得到實(shí)時(shí)響應(yīng)。多媒體定時(shí)器是一種比較理想的定時(shí)器,精度可達(dá)到毫秒級(jí)。
5)頻率計(jì)數(shù)器的精度非常高,可達(dá)納秒級(jí),但由于計(jì)算機(jī)硬件因素,會(huì)存在隨機(jī)的“l(fā)eap forward”現(xiàn)象,使得定時(shí)周期增加幾十到幾百毫秒,這對(duì)自動(dòng)緊急關(guān)機(jī)程序來(lái)說(shuō)是無(wú)法忍受的。因此,確定使用多媒體定時(shí)器在PI660采集軟件上實(shí)現(xiàn)自動(dòng)緊急程序開(kāi)發(fā)。
本程序是以Pacific 6000數(shù)據(jù)采集控制系統(tǒng)為基礎(chǔ)進(jìn)行二次開(kāi)發(fā),因此,判讀響應(yīng)時(shí)間受定時(shí)器和Pacific 6000數(shù)據(jù)采集控制系統(tǒng)兩個(gè)方面的影響。
3.1定時(shí)器精度對(duì)判讀響應(yīng)時(shí)間的影響
通過(guò)對(duì)定時(shí)器精度分析可知,自動(dòng)緊急關(guān)機(jī)程序的一個(gè)判讀周期實(shí)際是99~101 ms,由此對(duì)判讀響應(yīng)時(shí)間的影響如下:
1)在連續(xù)三次判讀時(shí),會(huì)造成第三次判讀時(shí)間誤差為-3~3 ms。
2)同理,使用判讀周期累加的方式計(jì)時(shí),如開(kāi)始判讀時(shí)刻為3 s,可能造成-30~30 ms的誤差。
3.2自動(dòng)緊急關(guān)機(jī)程序自身特性對(duì)判讀響應(yīng)時(shí)間的影響
自動(dòng)緊急關(guān)機(jī)程序的一個(gè)判讀周期為100 ms,在判讀發(fā)動(dòng)機(jī)起動(dòng)“0時(shí)刻”時(shí),可能造成的延遲為0~100 ms。
為了消除判讀“0時(shí)刻”帶來(lái)的延遲,將其判讀周期由100 ms改為10 ms,可將判讀延遲時(shí)間縮短在0~10 ms。為了提高執(zhí)行效率,減小資源消耗,程序其它部分的判讀周期仍為100 ms。
3.3Pacific 6000數(shù)據(jù)采集控制系統(tǒng)自身特性對(duì)判讀響應(yīng)時(shí)間的影響
Pacific 6000數(shù)據(jù)采集控制系統(tǒng)設(shè)有數(shù)據(jù)緩沖區(qū),每隔50 ms打包發(fā)送至采集工控機(jī),程序在t時(shí)刻讀取的數(shù)據(jù)是過(guò)去50 ms內(nèi)形成的數(shù)據(jù)包中的第一個(gè)值,因此,Pacific 6000數(shù)據(jù)采集控制系統(tǒng)的通道傳輸延遲為50 ms,如圖3所示。程序在t時(shí)刻讀取數(shù)據(jù)包中關(guān)機(jī)參數(shù)的數(shù)值時(shí),會(huì)造成50~100 ms的延遲。
圖3 Pacific 6000數(shù)據(jù)采集控制系統(tǒng)通道延遲Fig.3 Channel delay of Pacific 6000 DAS
綜上所述,自動(dòng)緊急關(guān)機(jī)程序響應(yīng)時(shí)間為17~143 ms。
根據(jù)發(fā)動(dòng)機(jī)設(shè)計(jì)單提出的自動(dòng)緊急關(guān)機(jī)判斷準(zhǔn)則,建立了涵蓋故障及非故障模式庫(kù),共計(jì)32個(gè)狀態(tài)。在與發(fā)動(dòng)機(jī)試驗(yàn)狀態(tài)一致的條件下模擬實(shí)現(xiàn)模式庫(kù)內(nèi)的所有狀態(tài),由Pacific 6000采集系統(tǒng)得到狀態(tài)數(shù)據(jù),PI660采集軟件的自動(dòng)緊急關(guān)機(jī)程序完成狀態(tài)的判讀,起動(dòng)信號(hào)由控制系統(tǒng)觸發(fā)。當(dāng)輸入故障模式狀態(tài)時(shí)采集系統(tǒng)控制繼電器吸合,發(fā)出信號(hào)給控制系統(tǒng),控制系統(tǒng)接收到信號(hào)后發(fā)出關(guān)機(jī)動(dòng)作指令。在試驗(yàn)現(xiàn)場(chǎng)與控制系統(tǒng)、發(fā)動(dòng)機(jī)聯(lián)合測(cè)試,自動(dòng)緊急關(guān)機(jī)程序響應(yīng)時(shí)間與上述理論分析一致。關(guān)機(jī)時(shí)間為317~443 ms,滿足任務(wù)需求。自動(dòng)緊急關(guān)機(jī)判讀模塊及緊急關(guān)機(jī)信息存儲(chǔ)模塊工作正常,PI660采集軟件在二次開(kāi)發(fā)后工作正常。某次熱試車數(shù)據(jù)如圖4所示,發(fā)動(dòng)機(jī)工作到232.02 s時(shí)滿足壓力參數(shù)pep<9.5 MPa的關(guān)機(jī)條件,在232.36 s時(shí)完成自動(dòng)緊急關(guān)機(jī)動(dòng)作,關(guān)機(jī)時(shí)間為0.34 s。
圖4 pep參數(shù)滿足關(guān)機(jī)條件的放大曲線Fig.4 Magnified graph that pepparameters meet requirement of emergency cut-off
經(jīng)過(guò)分析、測(cè)試和試驗(yàn)驗(yàn)證,以Pacific 6000數(shù)據(jù)采集控制系統(tǒng)為基礎(chǔ),使用多媒體定時(shí)器在PI660采集軟件上實(shí)現(xiàn)的自動(dòng)緊急關(guān)機(jī)程序,具備快速響應(yīng)自動(dòng)緊急關(guān)機(jī)功能,無(wú)“誤判、漏判”情況發(fā)生,對(duì)發(fā)動(dòng)機(jī)和地面試驗(yàn)設(shè)施起到一定的保護(hù)作用。由于Pacific 6000數(shù)據(jù)采集控制系統(tǒng)在其它試驗(yàn)系統(tǒng)廣泛使用,本程序的設(shè)計(jì)思路和方法具有較好的推廣性,在節(jié)約成本的同時(shí)也降低了整個(gè)測(cè)控系統(tǒng)的復(fù)雜性。
[1]唐云龍,代玉東.液氧/煤油發(fā)動(dòng)機(jī)地面試驗(yàn)故障緊急關(guān)機(jī)系統(tǒng)研制[J].火箭推進(jìn),2005(1):47-51.
[2]卓紅艷,趙平.基于VC++的實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)中定時(shí)器的使用比較[J].現(xiàn)代電子技術(shù),2007(18):80-82.
[3]王偉,徐國(guó)華.多媒體定時(shí)器在工業(yè)控制中的應(yīng)用[J].微型機(jī)與應(yīng)用,2001(12):8-10.
[4]許廣柱,吳錦鳳.基于WinCE的發(fā)動(dòng)機(jī)試驗(yàn)實(shí)時(shí)控制軟件設(shè)計(jì)[J].火箭推進(jìn),2011(5):74-77.
[5]王鵬飛,王鵬.基于Visual C++6.0的Windows應(yīng)用程序定時(shí)器研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2013(2):44-48.
[6]雷震,唐云龍.VXI數(shù)據(jù)采集系統(tǒng)的建立及其應(yīng)用[J].火箭推進(jìn),2008(5):54-58.
[7]SOLOMON D,RUSSIONVICH M.Performance counter value may unexpectedly leap forward[J/OL].[2011-09-14].http://www.wenku.baidu.com/v.
[8]美國(guó)太平洋儀器公司.Pacific 6000 DAS數(shù)據(jù)采集與控制系統(tǒng)硬件操作使用手冊(cè)[Z].美國(guó)太平洋儀器公司,2008.
[9]阮楨,胡德金.多媒體定時(shí)器在機(jī)油泵性能測(cè)試系統(tǒng)中的應(yīng)用[J].工業(yè)控制計(jì)算機(jī),2005(5):27-28.
[10]王文武,王誠(chéng).多媒體定時(shí)器的定制和使用方法[J].計(jì)算機(jī)應(yīng)用,2000(3):39-41.
[11]何斌,韋工.基于多媒體時(shí)鐘的定時(shí)控制[J].船舶電子工程,2006(4):97-99.
[12]權(quán)曉蕾,楊業(yè)明.高精度定時(shí)方法在舵系統(tǒng)測(cè)控中的應(yīng)用[J].計(jì)算機(jī)測(cè)量與控制.2011(6):1325-1328.
[13]張志明,孫廣清.Windows下高精度軟件定時(shí)器的研究與實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2003(1):55-57.
[14]張金英,劉曉東.基于Windows 9x的實(shí)時(shí)控制軟件實(shí)現(xiàn)方案[J].控制工程,2006(S0):116-122.
[15]曹雙貴,蔣芹.基于80X86 CPU和Windows平臺(tái)的實(shí)時(shí)測(cè)控系統(tǒng)精確定時(shí)[J].工業(yè)控制計(jì)算機(jī),2006(10):32-33.
(編輯:王建喜)
Design of automatic emergency cut-off program in LH2/LOX engine test
CHEN Jun,DING Boshen,DUAN Yan
(Beijing Institute of Aerospace Testing Technology,Beijing 100074,China)
In LH2/LOX rocket engine test for real-time monitoring of the engine's critical parameters,it is veryimportant to find the abnormal phenomenon and fault trend,and make a response quickly.In this paper,based on Pacific 6000 DAS,Visual C++development environment is used to make the redevelopment of its own software PI660 to implement the high-precision automatic emergency cut-off function.The accuracy of program's timer directly affects the precision of interpretation in design of the emergency cut-off program.The multimedia timer was selected for automatic emergency cut-off program after testing and analyzing the precision of several timer. Besides,combining with the characteristics of Pacific 6000 DAS,the response time and responsibility ofthe automatic emergencycut-offprogram were analyzed.
rocket engine test;liquid propellant;automatic emergency cut-off;timer;response time
V434-34
A
1672-9374(2016)02-0069-04
2015-06-10;
2015-08-25
航天支撐技術(shù)項(xiàng)目(617010411)
陳軍(1980—),男,工程師,研究領(lǐng)域?yàn)闅?氧發(fā)動(dòng)機(jī)試驗(yàn)測(cè)控技術(shù)