(中國衛(wèi)星海上測控部,江蘇 江陰 214431)
在對(duì)飛行器的測控中,受地球曲率的影響,單一測控站不能獲得整個(gè)測控段的數(shù)據(jù),為對(duì)飛行器的狀態(tài)進(jìn)行正確判斷,獲得整個(gè)測控段的數(shù)據(jù),目前采用多站聯(lián)合測控方式[1]。在該方式中,常采用多套發(fā)射機(jī)交替工作的方式,即在全測量段上,根據(jù)測量的需要,各套站的發(fā)射機(jī)輪流工作。第1套發(fā)射機(jī)工作時(shí),其它發(fā)射機(jī)關(guān)閉;第1套發(fā)射機(jī)關(guān)閉后,第2套發(fā)射機(jī)開始工作。這樣可以對(duì)航天器的飛行全過程實(shí)施測量,獲得盡可能多的有效數(shù)據(jù)。假設(shè)A、B站聯(lián)合測控航天器,并完成某一測控任務(wù),若A站未能實(shí)現(xiàn),則B站必須在短時(shí)間內(nèi)完成設(shè)備狀態(tài)切換,確保任務(wù)的完成。本文針對(duì)鏈路切換復(fù)雜、易出現(xiàn)誤操作等不足,利用C#語言和.NET結(jié)構(gòu)[2],通過軟件編程實(shí)現(xiàn)跟蹤鏈路的快速切換,保證鏈路切換的及時(shí)、準(zhǔn)確、高效。
在聯(lián)合測控中,某測控設(shè)備采用和/差雙通道[3]的跟蹤方式,跟蹤鏈路主要由饋源網(wǎng)絡(luò)、場放、變頻器、開關(guān)組件和跟蹤功分網(wǎng)絡(luò)組成,通過切換開關(guān),改變場放和跟蹤變頻器組合實(shí)現(xiàn)切換,如圖1所示。
圖1 跟蹤鏈路簡圖
采用接收和/差信號(hào)1:1備份場放與變頻器,天線接收的信號(hào)經(jīng)過饋源網(wǎng)絡(luò)送至場放和變頻器組合,經(jīng)跟蹤功分網(wǎng)絡(luò)送至跟蹤接收機(jī),選擇相應(yīng)的接收機(jī)將數(shù)據(jù)送給天線控制單元,進(jìn)行目標(biāo)的捕獲和跟蹤。
在圖1中,設(shè)主用工作鏈路為虛線框中場放和跟蹤變頻器組合,備用鏈路為實(shí)線框中場放和跟蹤變頻器組合,鏈路的切換涉及6個(gè)開關(guān),鏈路切換復(fù)雜,需要較長時(shí)間。原切換方法為采用手動(dòng)控制開關(guān),選擇場放和跟蹤變頻器組合的方式實(shí)現(xiàn),切換時(shí)間約為18 s。同時(shí),如果需要改變跟蹤方式,如由標(biāo)準(zhǔn)TT&C(Telemetry,Track and Command)跟蹤改為調(diào)頻(FM)跟蹤,不但需要切換和路與差路的場放和變頻器,而且還需要更改本振頻率(本振為變頻器提供頻率源)。由此可見,應(yīng)急鏈路切換時(shí),涉及器件多,動(dòng)作復(fù)雜。圖1中圓角矩形表示將切換鏈路和本振頻率的改變由軟件實(shí)現(xiàn),且經(jīng)過多次實(shí)際操作,采用軟件進(jìn)行切換,將時(shí)間縮短至約4.2 s,明顯提高了切換效率。
在進(jìn)行跟蹤鏈路切換時(shí),涉及的測控器件主要包括場放、跟蹤變頻器和本振,每個(gè)器件的切換時(shí)間主要由手動(dòng)操作時(shí)間和開關(guān)動(dòng)作時(shí)間兩部分組成,同時(shí)還要考慮檢查并確認(rèn)時(shí)間以及網(wǎng)絡(luò)傳輸時(shí)間。
設(shè)手動(dòng)切換的總時(shí)間為Ts,故:
(1)
式中,T1為場放切換時(shí)間,包括手動(dòng)切換時(shí)間T11、開關(guān)切換到位時(shí)間T12;T2為跟蹤變頻器切換時(shí)間,包括手動(dòng)切換時(shí)間T21、開關(guān)切換到位時(shí)間T22;T3為本振切換時(shí)間,包括手動(dòng)切換時(shí)間T31、開關(guān)切換到位時(shí)間T32;T4為手動(dòng)確定時(shí)間(選擇后進(jìn)行檢查并確認(rèn)的時(shí)間);T5為網(wǎng)絡(luò)傳輸時(shí)間(檢查確認(rèn)后網(wǎng)絡(luò)傳輸時(shí)間)。
由以上分析可以看出,手動(dòng)切換時(shí),采用串行工作模式,即各器件的切換按順序完成,切換時(shí)間逐一累加,用時(shí)較長,很難滿足任務(wù)中切換快速、準(zhǔn)確的要求,為此提出了實(shí)現(xiàn)跟蹤鏈路的快速切換方法。
在快速切換方法中,將備份方案以宏命令的方式存儲(chǔ)在本地計(jì)算機(jī)上,采用命令群發(fā)方式,即所有參數(shù)通過宏文件經(jīng)網(wǎng)絡(luò)傳輸至各設(shè)備,需要切換時(shí)只需一步操作就可以完成。
設(shè)快速切換的總時(shí)間為Tk,故:
(2)
式中,T4′為選擇圖2中“執(zhí)行”按鈕的時(shí)間,T5′為選擇圖2中“執(zhí)行”按鈕后網(wǎng)絡(luò)傳輸時(shí)間。
通過式(1)和式(2)的比較可以看出,式(2)中完全去掉了手動(dòng)選擇場放、跟蹤變頻器和本振的時(shí)間,將這項(xiàng)操作進(jìn)行預(yù)先存儲(chǔ),這樣節(jié)省了約14 s,切實(shí)提高了切換速度。
圖2 系統(tǒng)主界面
根據(jù)式(1)和式(2)的比較,并結(jié)合工程實(shí)際,將跟蹤鏈路的快速切換分為3步:
(1)將備份方案參數(shù)以宏文件的形式存儲(chǔ)在本地計(jì)算機(jī)上,如圖3所示;
圖3 宏文件示意圖
(2)直接利用UDP[4]通信協(xié)議,完成跟蹤鏈路快速切換系統(tǒng)與其它各設(shè)備的通信連接;
(3)根據(jù)各設(shè)備的命令幀結(jié)構(gòu)及通信協(xié)議,利用數(shù)組結(jié)構(gòu)搭建數(shù)據(jù)包,然后將數(shù)據(jù)包發(fā)送至相應(yīng)的設(shè)備,如圖4所示。
圖4 程序設(shè)計(jì)框圖
根據(jù)上述的設(shè)計(jì)思路,運(yùn)用Microsoft Visual Studio 2008的C#語言編程環(huán)境和.NET結(jié)構(gòu),實(shí)現(xiàn)快速切換的功能,如圖2所示。只需要單擊“執(zhí)行”按鈕,即可完成切換。
3.4.1備份方案的存儲(chǔ)和讀取
在跟蹤鏈路參數(shù)窗口中,輸入跟蹤鏈路的備份方案各參數(shù),包括本振的頻率、場放與跟蹤變頻器等,以文本文件形式保存,實(shí)現(xiàn)方案的存儲(chǔ),然后在程序中導(dǎo)入已保存的文本文件,將預(yù)先保存的參數(shù)導(dǎo)入程序中,完成發(fā)送數(shù)據(jù)包的組建。具體由以下關(guān)鍵語句實(shí)現(xiàn):
savefile = saveFileDialog1.FileName;
SW = File.CreateText(savefile); //新建一個(gè)保存文件
SW.WriteLine(); //寫入相應(yīng)的參數(shù)
filename = openFileDialog1.FileName;
SR = File.OpenText(filename); //打開保存的文件
S = SR.ReadLine(); //讀取文件中的每一行參數(shù)
3.4.2各設(shè)備的UDP通信連接
UDP通信連接是一種不需要“握手”信息的連接協(xié)議,它只需要處于同一網(wǎng)絡(luò)的目的設(shè)備的IP地址和通信端口號(hào),就能夠完成信息的傳遞。在程序中只要將目標(biāo)設(shè)備的IP地址和通信端口號(hào)傳遞給SendTo()函數(shù),通過System. Socket類即可實(shí)現(xiàn)通信。由以下關(guān)鍵語句實(shí)現(xiàn):
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
IPAddress broadcast = IPAddress.Parse(IP);//目的IP地址
IPEndPoint ep = new IPEndPoint(broadcast, Port); //目的IP地址和
//端口號(hào)
s.SendTo(data, ep);//將data數(shù)據(jù)發(fā)送至目的地址
3.4.3數(shù)據(jù)包的組建
數(shù)據(jù)包就是包含目標(biāo)地址、指令類型、指令內(nèi)容等一系列需要發(fā)送給設(shè)備的數(shù)據(jù)。數(shù)據(jù)包的組建關(guān)鍵就是按照設(shè)備的接口協(xié)議,將預(yù)先存儲(chǔ)的參數(shù)轉(zhuǎn)變?yōu)橄鄳?yīng)的幀結(jié)構(gòu)。
實(shí)現(xiàn)過程為:申請(qǐng)一個(gè)可變數(shù)組m-SendArray[],將幀頭和幀尾固定填好,然后將各個(gè)設(shè)備不同的參數(shù),通過具體函數(shù)傳遞的方式填入到m-SendArray[]中,完成數(shù)據(jù)包的建立。由以下關(guān)鍵語句實(shí)現(xiàn):
byte[] m-SendArray;
m-SendArray = new byte[iParamLen + 7];//根據(jù)參數(shù)部分長度,分配
//發(fā)送緩沖區(qū)大小 7=幀頭+命令碼+幀尾
m-SendArray[3] = CMD; //控制命令類型
cmd.CopyTo(m-SendArray, 4);//裝填命令參數(shù)
在圖2中,將需要切換的鏈路相關(guān)參數(shù)事先裝入該系統(tǒng),在切換時(shí)只要選擇“執(zhí)行”就可以了,完全避免手動(dòng)切換鏈路帶來的效率和準(zhǔn)確方面的缺陷,達(dá)到了快速切換的目的。該方法的不足之處是需要提前裝入?yún)?shù),有待進(jìn)一步的改進(jìn),實(shí)現(xiàn)設(shè)備參數(shù)的自動(dòng)裝訂。
本文利用UDP通信連接協(xié)議,通過C#語言實(shí)現(xiàn)了測控設(shè)備下行跟蹤鏈路的快速切換,較大程度上縮短了切換時(shí)間,達(dá)到應(yīng)急狀態(tài)下鏈路切換及時(shí)、準(zhǔn)確的要求,滿足任務(wù)實(shí)際需要,并在USB系統(tǒng)多次海上測控任務(wù)中發(fā)揮了作用。
參考文獻(xiàn):
[1] 趙業(yè)福.無線電跟蹤測量[M].長沙:國防工業(yè)出版社,2003.
ZHAO Ye-fu. Radio Tracking Measurement [M].Changsha:National Defense Industry Press,2003.(in Chinese)
[2] 劉基林.Visual C#2008寶典[M].北京:電子工業(yè)出版社,2008.
LIU Ji-lin. Visual C#2008 [M].Beijing:Publishing House of Electronic Industry,2008. (in Chinese)
[3] 瞿元新,叢波.S頻段微波統(tǒng)一測控系統(tǒng)雙點(diǎn)頻跟蹤鏈路的設(shè)計(jì)[J].電訊技術(shù),2006,46(1):115-118.
ZHAI-Yuan-xin,CONG Bo. Design of Downlink Converters in a Microwave Unified S-Band TT&C System to Implement Dual-frequency Tracking [J].Telecommunication Engineering,2006,46(1): 115-118.(in Chinese)