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