摘 要:闡述了某型裝備天控系統(tǒng)實時軟件的設計與實現(xiàn),并給出系統(tǒng)的信息流程圖和通信接口部分的源代碼。該軟件已通過測試,并在實際應用中滿足了設計需求。
關鍵詞:異步;多線程;實時;組播
中圖分類號:TJ768
1 工程需求
某型裝備是一臺多功能一體化的綜合測控裝備,其中天控系統(tǒng)實時軟件的功能需求是:(1)通過同步串口接收外部引導源引導數(shù)據(jù);(2)通過網(wǎng)絡接收內(nèi)部引導源引導數(shù)據(jù);(3)通過異步串口讀取天線控制單元(ACU)數(shù)據(jù);(4)通過異步串口向天線驅(qū)動單元(ADU)寫入數(shù)據(jù);(5)通過網(wǎng)絡向通信機發(fā)送測量數(shù)據(jù);(6)監(jiān)控界面顯示;(7)數(shù)據(jù)存儲。
2 程序結構設計
2.1 多線程。根據(jù)工程需要,除主線程外,共建立3個線程:外部引導數(shù)據(jù)接收線程,內(nèi)部定位數(shù)據(jù)接收與測量數(shù)據(jù)發(fā)送線程,天線控制單元信息接收線程。其中,外部引導數(shù)據(jù)接收線程的主要功能是實時接收外部引導數(shù)據(jù),并對數(shù)據(jù)進行長度比對、目標核對、有效判讀,將通過判讀的數(shù)據(jù)寫入共享內(nèi)存,并進行文件記錄;內(nèi)部定位數(shù)據(jù)接收與測量數(shù)據(jù)發(fā)送線程的主要功能是實時接收內(nèi)部引導源發(fā)來的定位數(shù)據(jù),并對數(shù)據(jù)進行有效判斷,將通過判斷的數(shù)據(jù)寫入共享內(nèi)存,將共享內(nèi)存中的測量數(shù)據(jù)發(fā)往通信機;天線控制單元信息接收線程的主要功能是接收天線控制單元的控制信息和測量數(shù)據(jù),將控制信息的判斷結果寫入共享內(nèi)存,將測量數(shù)據(jù)進行校正,同時在監(jiān)控界面顯示。
2.2 網(wǎng)絡通信。網(wǎng)絡通信采用SOCKET套接字實現(xiàn),采用UDP協(xié)議,組播方式。
2.3 串口通信。串口通信有兩種:同步串口和異步串口。根據(jù)總體通信約定,外部引導數(shù)據(jù)的接收采用同步串口通信,遵循HDLC協(xié)議。根據(jù)天線控制單元和驅(qū)動單元接口定義,天線控制單元信息接收采用異步串口通信,波特率為19200bps,數(shù)據(jù)位8位,停止位1位,偶校驗;天線驅(qū)動單元信息發(fā)送采用異步串口通信,波特率為4800bps,數(shù)據(jù)位8位,停止位1位,無校驗。
3 程序?qū)崿F(xiàn)
3.1 開發(fā)平臺。采用Visual C++6.0,運行環(huán)境是Windows 2000。
3.2 主要源代碼。(1)網(wǎng)絡接口。網(wǎng)絡接口主要用于接收來自內(nèi)部引導源的定位數(shù)據(jù)和發(fā)送測量數(shù)據(jù)到通信機。
4 結束語
在某型裝備天控系統(tǒng)實時軟件中,通過運用多線程、組播、異步串口重疊IO、線程同步等多種編程技術,滿足了系統(tǒng)實時需求,現(xiàn)已通過各項檢測,現(xiàn)場運行結果表明,軟件運行穩(wěn)定可靠,編程方法和技術途徑可以為類似項目提供借鑒。
參考文獻:
[1]Visual C++6.0技術內(nèi)幕[M].北京:北京希望電子出版社,1999.
[2]Visual C++6.0類庫大全[M].北京:電子工業(yè)出版社,1999.
[3]汪翔,袁輝.Visual C++實踐與提高-網(wǎng)絡編程篇[M].北京:中國鐵道出版社,2001.
作者單位:大連91550部隊92分隊,遼寧大連 116023