劉 捷,葛 萍
(91550部隊)
機動式測控檢測終端的設計與實現
劉 捷,葛 萍
(91550部隊)
機動式測控檢測終端主要用于對測控設備的通信數據檢測,其主要功能是實時監測來自測控設備的多路測量數據,并根據測量結果實時描繪被測目標的運動軌跡,同時對被測目標發出遙控指令,通過數據比對和回令比對檢測測控設備功能是否正常。本文主要介紹了該終端的方案設計與實現途徑。
測控設備;同步 異步 UDP;多線程
在飛行器綜合測控系統中,分布于遠端測控站點的各種測量設備將測量數據實時發送到測控指揮中心,由中心處理系統對所有數據進行存儲、顯示,同時根據數據綜合處理結果,引導測控設備跟蹤目標,對飛行目標進行狀態判斷、實施遙控處理。由于測量設備與測控指揮中心之間距離遙遠,通信傳輸環節復雜,因此每一次測控設備檢測都需要沿途通信設備開機配合,耗費大量人力物力。
機動式測控檢測終端能夠模擬測控指揮中心,直接與測量設備進行有線連接,對測量設備和被測目標進行數據接收及遙控處理,這樣可以脫離對通信設備和測控指揮中心的依賴進行測控設備檢測,節省大量物資消耗和設備檢測周期。除此之外,系統也可通過通信設備與測控指揮中心相連,通過重放數據文件模擬設備工作狀態,協助通信設備及測控指揮中心進行通信自檢,避免測控設備反復加電開機,節約成本,提高檢測效率。

圖1 機動式測控檢測終端信息流程圖
1.1系統框圖
如圖1所示,系統可實時接收多路測量數據,通過同步串口和IP網兩種接口接收,遙控指令通過異步串口和IP網兩種接口收發,數據回放通過上述三種接口與指揮中心進行數據交互。
1.2硬件支持
系統硬件主要包括工控機一臺、同步串口卡2塊、網線一根。其中,工控機采用便攜式工業控制計算機,方便攜帶,適用于機動式測控終端任意轉移測控站點的特點。同步串口卡采用MOXA C502卡。同步串口卡在安裝前需要確定中斷號和基址,通過設置每塊卡上的跳線來實現。設置跳線,首先要尋找一個系統可用的中斷號,有9個中斷號可供選擇。如果系統中用到多塊多串口卡,它們的中斷號應設置成相同。選擇一個基址(占16KB空間)沒有被擴展內存或其它板卡使用,有6種選擇。如果系統中用到多塊多串口卡,每塊板卡必須有自己獨立的地址。
1.3軟件開發平臺
系統在Windows 2000操作系統支持下,利用VisualC++6.0編程語言實現,軌跡顯示基于GIS平臺。
2.1數據通信
測控檢測終端的數據通信功能主要有以下三項:
(1)通過同步串口實時接收多路測量數據,并發送引導數據;
(2)通過IP網實時接收多路測量數據,并發送引導數據;
(3)通過異步串口收發遙控指令。
用戶需要同時監測上述數據,所有數據需同屏顯示,系統同時提供十進制和十六進制轉換功能,同步串口收發數據時鐘方向缺省值為發時鐘。
2.2軌跡顯示
地理信息系統(Geographic Infor-mation System,簡稱GIS),是處理地理數據的輸入、輸出、管理、查詢、分析和輔助決策的計算機系統。軌跡顯示基于GIS平臺,可將實時收到的測量數據在地圖上進行逐點定位顯示。系統具有以下功能:
(1)地圖編輯:地圖編輯旨在通過掃描地圖(BMP)獲得矢量地圖(自定義格式),首先在掃描地圖上確定基準點,根據基準點計算出掃描地圖上每點的經緯度,這樣就可在掃描地圖的背景上,描繪出矢量地圖,矢量地圖保存在地圖文件中。
(2)地圖相關信息顯示;
(3)地圖顯示:能夠顯示掃描地圖和矢量地圖。可對矢量圖地圖能夠進行放大、縮小、平移等操作。能夠全屏顯示。
(4)顯示比例尺:地圖嚴格按照比例尺進行縮放。比例尺的顯示要顯眼精確,不可因屏幕分辨率和縮放比例的改變而出現偏差。
(5)漫游地圖:能夠自動鎖定指定的目標,使指定的目標在地圖上始終可見。此時地圖進行平移漫游。
(6)航跡顯示和存儲功能:能顯示動態目標的航行軌跡,并能將軌跡矢量圖保存。
(7)地標點檢索和查詢功能:輸入要查找的地點合法名稱,數據庫完成相關搜索,并把相應的地理信息顯示出來。
2.3數據回放
數據回放功能是通過讀取數據文件來實現的。系統從數據文件中逐幀讀取數據并輸出到測控指揮中心,用以模擬工作狀態的測量設備,供通信系統及測控指揮中心進行通信檢測。數據回放的同時,系統根據讀取的數據描繪軌跡并顯示當前數據內容。
2.4數據存儲
數據存儲為二進制文件,提供二進制到十進制和十六進制格式轉換功能,便于事后數據分析。
3.1串口通信
系統通過MOXA 公司提供的API函數調用來實現串口通信。由于需要接收四路同步數據,系統采用了2塊C502卡,共四個端口,端口號為0~3。系統采用了工控機提供的兩個異步串口,端口號分別為0和1。通過對API函數的調用即可實現同步串口和異步串口數據的收發功能。
3.2網絡通信
套接字(SOCKET)是一種網絡編程接口,它是對通信端點的一種抽象,提供了一種發送和接收數據的機制。為了簡化WinSock網絡編程,使用戶專注于應用程序算法的設計,Microsoft的基本類庫(Microsoft Foundation Class或MFC)提供了兩個用于WinSock編程的類:CAsyncSocket類和CSocket類。CSocket類是從CAsyncSocket類派生而來的,它提供了高一級的抽象處理套接字通信。
系統采用三種網絡通信方式:組播、廣播、點播。在數據接收時采用組播,數據發送時,部分采用廣播,部分采用點播。
3.3多線程及同步
每一個應用程序可以包含多個線程,也就是說每個進程可以同時完成多個任務。CPU分配的基本單元是線程,線程的多少直接影響進程的執行性能。一個進程可以通過創建多線程來占用更多的CPU時間片。多線程可以彌補順序執行的缺點,提高執行性能、增加吞吐量和提高相應能力。多線程編程必須涉及到線程的同步問題,當多個線程試圖同時操作同一共享資源時,可能引發沖突。
在同步串口通信中,系統實時接收測量數據的同時,也向測量設備發送引導數據,因為數據接收和發送是各自獨立的線程,所以對同一端口進行數據收發時,必須解決線程同步問題,否則系統會中途停止運行。系統采用互斥量的方法來解決這個問題,相關代碼如下:
if( slock.Lock())HdlcSendT0. SendData((char)&SendT0,T0len);//數據發送
slock.Unlock();
…
if(slock.Lock())
{retgps=GpsHdlcRev.ReceiveData((char *)&datagps,gpslen); }//數據接收
slock.Unlock();
…
3.4定時器
在同步數據收發和界面數據顯示時需要用到定時器。定時功能的實現方法有很多,在實時條件下,常用的有以下幾種:WINDOWS系統定時器、多媒體定時器、利用外部硬件的定時器。經過比較,實時定時效果最好的是利用時碼板提供定時功能,多媒體定時器次之,最差的是WINDOWS系統定時器。由于便攜式工控機主板插槽有限,無法再添加時碼板,檢測終端主要用來檢測數據質量,對時延沒有嚴格要求,因此系統采用了多媒體定時器。
機動式測控檢測終端體積小,應用靈活,便于功能擴展。在測控系統通信聯調過程中提高了工作效率,縮短了調試周期。在測控試驗過程中,如實地反映了通信狀況和數據質量,尤其在動態試驗中實時描繪了被測物體的運動軌跡,為指揮員決策提供了可靠依據。
[1]吳信才.地理信息系統設計與實現.電子工業出版社.北京:2002.
[2]C502 Dual-Port Sync Bord User’s Manual.Moxa Technologies Co.,Ltd.
[3]C114 Dual-Port Asyn Bord User’s Manual.Moxa Technologies Co.,Ltd.
Design and implementation of mobile measurement and control terminal
Liu Jie,Ge Ping
(91550 forces)
Mobile inspecting terminal is mainly used for data communication detection of TT & C equipment,its main function is a multi-channel measurement data from real-time monitoring and control equipment,and according to the results of the measurements depicted in real time the trajectory of an object to be measured,also of the measured target issued the remote control command,through the data comparison and to make comparison inspection equipment for measurement and control function is normal.This paper mainly introduces the design and implementation of the terminal.
Measurement and control equipment;synchronous asynchronous UDP;multi thread