徐淑華 崔 宇 宋征宇
北京航天自動(dòng)控制研究所,北京 100854
某運(yùn)載火箭推進(jìn)劑利用系統(tǒng)設(shè)計(jì)采用了三冗余控制方案。在火箭靶場(chǎng)測(cè)試過程中,進(jìn)行利用系統(tǒng)冗余測(cè)試項(xiàng)目時(shí),出現(xiàn)未采集到液位信號(hào)的問題。本文針對(duì)這一故障現(xiàn)象,進(jìn)行故障查找、機(jī)理分析和試驗(yàn)復(fù)現(xiàn),并提出改進(jìn)方案,對(duì)系統(tǒng)設(shè)計(jì)進(jìn)行了改進(jìn),徹底解決了三冗余狀態(tài)下液位信號(hào)采集可能出現(xiàn)的小概率問題,提高了系統(tǒng)設(shè)計(jì)可靠性。
推進(jìn)劑利用系統(tǒng)為三冗余控制,當(dāng)有一路輸出故障時(shí),可以保證系統(tǒng)正常輸出。在進(jìn)行系統(tǒng)冗余測(cè)試時(shí),模擬CPU2故障,CPU1,CPU3工作時(shí),CPU1,CPU3采集的燃燒劑21點(diǎn)液位信號(hào)時(shí)間不一致,2個(gè)CPU采集的液位信號(hào)時(shí)間相差16.8ms,而按照系統(tǒng)設(shè)計(jì),正常情況下各CPU采樣時(shí)間最多相差2.5ms,說明采樣異常。
對(duì)2個(gè)液位信號(hào)時(shí)間進(jìn)行復(fù)核,CPU1采集的燃燒劑21點(diǎn)液位信號(hào)時(shí)間為正常接收的模擬液位信號(hào),CPU3采集的燃燒劑21點(diǎn)液位信號(hào)時(shí)間,經(jīng)過計(jì)算分析,確認(rèn)為系統(tǒng)裝訂的燃燒劑21點(diǎn)理論時(shí)間,不是采樣時(shí)間,說明CPU3的21點(diǎn)液位信號(hào)采樣故障,沒有正常確認(rèn)。
推進(jìn)劑利用系統(tǒng)是調(diào)節(jié)火箭飛行中液體發(fā)動(dòng)機(jī)推進(jìn)劑組元比以保證燃燒劑和氧化劑貯箱中二組元同時(shí)耗盡的控制系統(tǒng),它可以有效減少推進(jìn)劑加注安全余量,提高火箭有效載荷能力。推進(jìn)劑利用系統(tǒng)由感受2個(gè)貯箱推進(jìn)劑組元質(zhì)量的敏感元件、計(jì)算貯箱中推進(jìn)劑貯量比與控制量進(jìn)行比較給出輸出調(diào)節(jié)量的計(jì)算機(jī)和調(diào)節(jié)發(fā)動(dòng)機(jī)工作組元比的執(zhí)行機(jī)構(gòu)組成,屬于閉環(huán)組元比調(diào)節(jié)系統(tǒng)。
火箭飛行過程中,推進(jìn)劑利用系統(tǒng)的計(jì)算機(jī)采樣貯箱內(nèi)敏感元件狀態(tài),進(jìn)行液位點(diǎn)采樣確認(rèn)。利用系統(tǒng)地面進(jìn)行模飛測(cè)試時(shí),由地面液位模擬信號(hào)源按給定時(shí)間模擬給出氧化劑和燃燒劑二組元的液位接點(diǎn)信號(hào)。氧化劑和燃燒劑各有41個(gè)液位接點(diǎn),在電氣連接上按6×7矩陣排列。模飛中,運(yùn)行在利用系統(tǒng)計(jì)算機(jī)3個(gè)CPU中的飛行軟件輸出行信號(hào),3個(gè)CPU的行信號(hào)通過三取二輸出,當(dāng)液位模擬信號(hào)源接通某個(gè)液位點(diǎn)信號(hào)時(shí),行列矩陣中對(duì)應(yīng)該點(diǎn)的繼電器觸點(diǎn)閉合,行輸出通過閉合觸點(diǎn)送到計(jì)算機(jī)的列輸入端,供3個(gè)CPU中的飛行軟件采集,軟件在連續(xù)采樣到一定時(shí)間后,確認(rèn)此液位點(diǎn)信號(hào)有效。液位采樣原理圖如圖1所示。
推進(jìn)劑利用系統(tǒng)采用三冗余控制方案,三CPU獨(dú)立工作,輸出三取二有效。針對(duì)三冗余同步問題,系統(tǒng)設(shè)計(jì)采用了冗余時(shí)鐘同步方案,以最大限度減少不同步現(xiàn)象的發(fā)生。但從原理上分析,仍會(huì)有采樣相差一個(gè)周期的不同步現(xiàn)象存在,此現(xiàn)象對(duì)系統(tǒng)的輸出沒有影響。
對(duì)三冗余控制方案可能出現(xiàn)的系統(tǒng)工作狀態(tài)進(jìn)行梳理,情況如表1。
表1 三冗余控制工作狀態(tài)表
由表1可以看出,在CPU采樣不同步現(xiàn)象發(fā)生時(shí),不同步的CPU間采樣時(shí)間相差2.5ms,對(duì)CPU的液位點(diǎn)確認(rèn)和調(diào)節(jié)輸出沒有影響。而上述21點(diǎn)液位信號(hào)采集出現(xiàn)的故障現(xiàn)象,CPU液位點(diǎn)未正常確認(rèn),與系統(tǒng)設(shè)計(jì)預(yù)期不符,需進(jìn)一步查找原因。
測(cè)試時(shí)液位信號(hào)使用的是地面模擬信號(hào),從圖1可以看出,三路CPU采樣的模擬液位信號(hào)同源,CPU1正確采樣液位信號(hào),說明模擬液位信號(hào)正常。同時(shí)控制器CPU硬件電路,包括行輸出、列輸入和三取二輸出電路,均有多點(diǎn)共用,與CPU3的21點(diǎn)共用硬件電路的其余點(diǎn)采樣均正常,說明硬件電路正常。通過初步分析,是系統(tǒng)軟件確認(rèn)采樣信號(hào)問題。
飛行軟件采集第i點(diǎn)氧化劑(或燃燒劑)液位信號(hào)時(shí),先通過控制并口輸出i點(diǎn)所在行的行信號(hào),之后讀取i點(diǎn)所在列的列信號(hào),如果讀到的列信號(hào)有效,則認(rèn)為此次采集到第i點(diǎn)信號(hào)。連續(xù)采集到40個(gè)周期(1個(gè)周期2.5ms),對(duì)此點(diǎn)信號(hào)進(jìn)行確認(rèn)。
飛行軟件在1個(gè)周期內(nèi)依次完成氧化劑第i點(diǎn)液位信號(hào)采樣及判別、燃燒劑第i點(diǎn)液位信號(hào)采樣及判別、氧化劑第i+1點(diǎn)液位信號(hào)采樣、燃燒劑第i+1點(diǎn)液位信號(hào)采樣。處理流程如圖2(a)所示,其中調(diào)用到2個(gè)子程序單元,信號(hào)采樣單元流程見圖2(b),列信號(hào)判別單元流程見圖2(c)。
圖2 軟件采集液位信號(hào)流程圖
由于軟件對(duì)液位信號(hào)的采樣為查詢方式,液位信號(hào)到達(dá)時(shí)刻與每周期查詢點(diǎn)的時(shí)間先后關(guān)系不確定,且不同的CPU由于晶振差異,每周期內(nèi)語句執(zhí)行的速度不同,造成對(duì)于1個(gè)同源的列輸入信號(hào),不同CPU的采樣結(jié)果會(huì)存在1個(gè)周期的差異,如圖3中第1個(gè)2.5ms周期所示。
圖3中的第1個(gè)周期, CPU1,CPU3燃燒劑21點(diǎn)采樣不同步,CPU1比CPU3提前1個(gè)周期(2.5ms)采到液位信號(hào),因此CPU1連續(xù)采樣到40個(gè)周期確認(rèn)液位信號(hào)時(shí),CPU3只采樣到39個(gè)周期,仍需1個(gè)周期才能確認(rèn)該信號(hào);但從下一周期起,CPU1不再輸出第3行,而切換到輸出下一行,由于行信號(hào)是通過三取二輸出的,即至少有2個(gè)CPU輸出同一行,行信號(hào)才能有效輸出,所以CPU3由于沒有有效的第3行輸出而無法采到燃燒劑21點(diǎn)的列信號(hào),致使CPU3始終無法確認(rèn)該點(diǎn)信號(hào),此狀態(tài)一直持續(xù)到燃燒劑21點(diǎn)采樣窗口后沿結(jié)束后,最終導(dǎo)致CPU3將燃燒劑21點(diǎn)判為故障,而用21點(diǎn)理論裝訂值代替。
圖3 軟件采樣時(shí)序周期圖
通過上述軟件采樣時(shí)序的分析得出,軟件在冗余狀態(tài)下采樣不同步時(shí),造成采樣時(shí)間相差一個(gè)周期, 會(huì)產(chǎn)生晚采樣1個(gè)周期的CPU無法確認(rèn)液位信號(hào)的現(xiàn)象。出現(xiàn)液位信號(hào)不能確認(rèn)的原因需要同時(shí)具備下面2個(gè)條件:
1)不同CPU查詢到液位信號(hào)的時(shí)刻不同,最后查到信號(hào)的CPU就會(huì)出現(xiàn)采不到信號(hào)的現(xiàn)象。如圖3中CPU3比CPU1晚1個(gè)周期采到液位信號(hào);
2)對(duì)行末點(diǎn)信號(hào)采樣。圖3描述的是對(duì)燃燒劑第21點(diǎn)(即第3行最末點(diǎn))的采樣時(shí)序情況。而非行末點(diǎn)時(shí),采樣下一點(diǎn)不需要切換行輸出,行信號(hào)始終有效。
針對(duì)上述機(jī)理分析,系統(tǒng)進(jìn)行了故障復(fù)現(xiàn)試驗(yàn)。由于在系統(tǒng)狀態(tài)下,不同步現(xiàn)象發(fā)生的概率很小,發(fā)生不同步而且又在行末點(diǎn)就更難復(fù)現(xiàn),因此采用給2個(gè)CPU裝訂不同版本飛行軟件的方法,模擬出2個(gè)CPU采集到液位信號(hào)時(shí)間的不同步現(xiàn)象,在軟件測(cè)試臺(tái)上進(jìn)行了復(fù)現(xiàn)試驗(yàn)。方法是:CPU1裝訂的飛行軟件將液位信號(hào)確認(rèn)的周期改為39,CPU3裝訂的飛行軟件液位信號(hào)確認(rèn)的周期為40,使得CPU1比CPU3提前1個(gè)周期確認(rèn)液位,模擬CPU1與CPU3采樣不同步。模擬測(cè)試結(jié)果與分析結(jié)果相同,在每行行末點(diǎn)均會(huì)出現(xiàn)CPU3不能正確確認(rèn)液位信號(hào),使用裝訂理論值代替的現(xiàn)象。針對(duì)CPU2,CPU3和CPU1,CPU2工作時(shí)的冗余測(cè)試,也進(jìn)行了同樣的模擬試驗(yàn),測(cè)試結(jié)果均與分析結(jié)果相同。通過試驗(yàn)證明,在冗余測(cè)試時(shí),每行末點(diǎn)采樣不同步的情況下,會(huì)出現(xiàn)晚到的CPU采不到液位點(diǎn)信號(hào)的問題。
通過上述分析與試驗(yàn),故障定位在冗余測(cè)試狀態(tài)下,采樣不同步時(shí),會(huì)造成在行末點(diǎn)晚采到液位信號(hào)的CPU無法確認(rèn)液位信號(hào),而將液位信號(hào)錯(cuò)認(rèn)為故障,原因是晚采的CPU在最后一次采樣時(shí)沒有有效的行信號(hào)輸出?;诖斯收显?,系統(tǒng)改進(jìn)行末點(diǎn)換行方法,采用基于周期延時(shí)的換行策略,即采樣確認(rèn)后,行信號(hào)在本周期輸出不斷開,而是延時(shí)幾個(gè)周期后再斷開。在保證不影響下一行第1點(diǎn)采樣的情況下,確保CPU采樣不同步時(shí),各CPU均可正常進(jìn)行液位信號(hào)的確認(rèn)。
進(jìn)一步分析,此問題在三CPU測(cè)試狀態(tài)下也會(huì)產(chǎn)生。當(dāng)在行末點(diǎn)采樣出現(xiàn)不同步,且有1個(gè)CPU晚時(shí),晚采樣的CPU無法確認(rèn)行末點(diǎn)液位信號(hào)。采用上述改進(jìn)的換行策略后,此類問題均可解決。
飛行軟件進(jìn)行相應(yīng)更改后,通過軟件測(cè)試平臺(tái)對(duì)更改進(jìn)行了多次驗(yàn)證,測(cè)試結(jié)果均正常。
本文對(duì)推進(jìn)劑利用系統(tǒng)三冗余控制狀態(tài)下的液位采樣問題進(jìn)行了分析,通過研究采樣原理和軟件流程,對(duì)故障進(jìn)行了定位,并完成復(fù)現(xiàn)試驗(yàn),證明了采樣液位信號(hào)的行末點(diǎn)換行方式是造成問題的原因。對(duì)行末點(diǎn)換行方法進(jìn)行改進(jìn),采用了基于周期延時(shí)的行末點(diǎn)換行策略,并針對(duì)此要求對(duì)飛行軟件進(jìn)行了相應(yīng)更改。徹底解決了此種三冗余控制狀態(tài)下不同步現(xiàn)象帶來的液位信號(hào)采樣故障問題。后續(xù)大量試驗(yàn)證明了更改方案的正確性。
[1] 孫凝生.冗余設(shè)計(jì)技術(shù)在運(yùn)載火箭飛行控制系統(tǒng)中的應(yīng)用[J].航天控制,2003,21(1):65-81.(SUN Ningsheng.The Redundancy Designs for Guidance and Control System of Launch Vehicle[J].Aerospace Control,2003,21(1):65-81.)