劉 捷,葛 萍
(91550部隊(duì))
機(jī)動(dòng)式測(cè)控檢測(cè)終端的設(shè)計(jì)與實(shí)現(xiàn)
劉 捷,葛 萍
(91550部隊(duì))
機(jī)動(dòng)式測(cè)控檢測(cè)終端主要用于對(duì)測(cè)控設(shè)備的通信數(shù)據(jù)檢測(cè),其主要功能是實(shí)時(shí)監(jiān)測(cè)來自測(cè)控設(shè)備的多路測(cè)量數(shù)據(jù),并根據(jù)測(cè)量結(jié)果實(shí)時(shí)描繪被測(cè)目標(biāo)的運(yùn)動(dòng)軌跡,同時(shí)對(duì)被測(cè)目標(biāo)發(fā)出遙控指令,通過數(shù)據(jù)比對(duì)和回令比對(duì)檢測(cè)測(cè)控設(shè)備功能是否正常。本文主要介紹了該終端的方案設(shè)計(jì)與實(shí)現(xiàn)途徑。
測(cè)控設(shè)備;同步 異步 UDP;多線程
在飛行器綜合測(cè)控系統(tǒng)中,分布于遠(yuǎn)端測(cè)控站點(diǎn)的各種測(cè)量設(shè)備將測(cè)量數(shù)據(jù)實(shí)時(shí)發(fā)送到測(cè)控指揮中心,由中心處理系統(tǒng)對(duì)所有數(shù)據(jù)進(jìn)行存儲(chǔ)、顯示,同時(shí)根據(jù)數(shù)據(jù)綜合處理結(jié)果,引導(dǎo)測(cè)控設(shè)備跟蹤目標(biāo),對(duì)飛行目標(biāo)進(jìn)行狀態(tài)判斷、實(shí)施遙控處理。由于測(cè)量設(shè)備與測(cè)控指揮中心之間距離遙遠(yuǎn),通信傳輸環(huán)節(jié)復(fù)雜,因此每一次測(cè)控設(shè)備檢測(cè)都需要沿途通信設(shè)備開機(jī)配合,耗費(fèi)大量人力物力。
機(jī)動(dòng)式測(cè)控檢測(cè)終端能夠模擬測(cè)控指揮中心,直接與測(cè)量設(shè)備進(jìn)行有線連接,對(duì)測(cè)量設(shè)備和被測(cè)目標(biāo)進(jìn)行數(shù)據(jù)接收及遙控處理,這樣可以脫離對(duì)通信設(shè)備和測(cè)控指揮中心的依賴進(jìn)行測(cè)控設(shè)備檢測(cè),節(jié)省大量物資消耗和設(shè)備檢測(cè)周期。除此之外,系統(tǒng)也可通過通信設(shè)備與測(cè)控指揮中心相連,通過重放數(shù)據(jù)文件模擬設(shè)備工作狀態(tài),協(xié)助通信設(shè)備及測(cè)控指揮中心進(jìn)行通信自檢,避免測(cè)控設(shè)備反復(fù)加電開機(jī),節(jié)約成本,提高檢測(cè)效率。
圖1 機(jī)動(dòng)式測(cè)控檢測(cè)終端信息流程圖
1.1系統(tǒng)框圖
如圖1所示,系統(tǒng)可實(shí)時(shí)接收多路測(cè)量數(shù)據(jù),通過同步串口和IP網(wǎng)兩種接口接收,遙控指令通過異步串口和IP網(wǎng)兩種接口收發(fā),數(shù)據(jù)回放通過上述三種接口與指揮中心進(jìn)行數(shù)據(jù)交互。
1.2硬件支持
系統(tǒng)硬件主要包括工控機(jī)一臺(tái)、同步串口卡2塊、網(wǎng)線一根。其中,工控機(jī)采用便攜式工業(yè)控制計(jì)算機(jī),方便攜帶,適用于機(jī)動(dòng)式測(cè)控終端任意轉(zhuǎn)移測(cè)控站點(diǎn)的特點(diǎn)。同步串口卡采用MOXA C502卡。同步串口卡在安裝前需要確定中斷號(hào)和基址,通過設(shè)置每塊卡上的跳線來實(shí)現(xiàn)。設(shè)置跳線,首先要尋找一個(gè)系統(tǒng)可用的中斷號(hào),有9個(gè)中斷號(hào)可供選擇。如果系統(tǒng)中用到多塊多串口卡,它們的中斷號(hào)應(yīng)設(shè)置成相同。選擇一個(gè)基址(占16KB空間)沒有被擴(kuò)展內(nèi)存或其它板卡使用,有6種選擇。如果系統(tǒng)中用到多塊多串口卡,每塊板卡必須有自己獨(dú)立的地址。
1.3軟件開發(fā)平臺(tái)
系統(tǒng)在Windows 2000操作系統(tǒng)支持下,利用VisualC++6.0編程語言實(shí)現(xiàn),軌跡顯示基于GIS平臺(tái)。
2.1數(shù)據(jù)通信
測(cè)控檢測(cè)終端的數(shù)據(jù)通信功能主要有以下三項(xiàng):
(1)通過同步串口實(shí)時(shí)接收多路測(cè)量數(shù)據(jù),并發(fā)送引導(dǎo)數(shù)據(jù);
(2)通過IP網(wǎng)實(shí)時(shí)接收多路測(cè)量數(shù)據(jù),并發(fā)送引導(dǎo)數(shù)據(jù);
(3)通過異步串口收發(fā)遙控指令。
用戶需要同時(shí)監(jiān)測(cè)上述數(shù)據(jù),所有數(shù)據(jù)需同屏顯示,系統(tǒng)同時(shí)提供十進(jìn)制和十六進(jìn)制轉(zhuǎn)換功能,同步串口收發(fā)數(shù)據(jù)時(shí)鐘方向缺省值為發(fā)時(shí)鐘。
2.2軌跡顯示
地理信息系統(tǒng)(Geographic Infor-mation System,簡(jiǎn)稱GIS),是處理地理數(shù)據(jù)的輸入、輸出、管理、查詢、分析和輔助決策的計(jì)算機(jī)系統(tǒng)。軌跡顯示基于GIS平臺(tái),可將實(shí)時(shí)收到的測(cè)量數(shù)據(jù)在地圖上進(jìn)行逐點(diǎn)定位顯示。系統(tǒng)具有以下功能:
(1)地圖編輯:地圖編輯旨在通過掃描地圖(BMP)獲得矢量地圖(自定義格式),首先在掃描地圖上確定基準(zhǔn)點(diǎn),根據(jù)基準(zhǔn)點(diǎn)計(jì)算出掃描地圖上每點(diǎn)的經(jīng)緯度,這樣就可在掃描地圖的背景上,描繪出矢量地圖,矢量地圖保存在地圖文件中。
(2)地圖相關(guān)信息顯示;
(3)地圖顯示:能夠顯示掃描地圖和矢量地圖??蓪?duì)矢量圖地圖能夠進(jìn)行放大、縮小、平移等操作。能夠全屏顯示。
(4)顯示比例尺:地圖嚴(yán)格按照比例尺進(jìn)行縮放。比例尺的顯示要顯眼精確,不可因屏幕分辨率和縮放比例的改變而出現(xiàn)偏差。
(5)漫游地圖:能夠自動(dòng)鎖定指定的目標(biāo),使指定的目標(biāo)在地圖上始終可見。此時(shí)地圖進(jìn)行平移漫游。
(6)航跡顯示和存儲(chǔ)功能:能顯示動(dòng)態(tài)目標(biāo)的航行軌跡,并能將軌跡矢量圖保存。
(7)地標(biāo)點(diǎn)檢索和查詢功能:輸入要查找的地點(diǎn)合法名稱,數(shù)據(jù)庫完成相關(guān)搜索,并把相應(yīng)的地理信息顯示出來。
2.3數(shù)據(jù)回放
數(shù)據(jù)回放功能是通過讀取數(shù)據(jù)文件來實(shí)現(xiàn)的。系統(tǒng)從數(shù)據(jù)文件中逐幀讀取數(shù)據(jù)并輸出到測(cè)控指揮中心,用以模擬工作狀態(tài)的測(cè)量設(shè)備,供通信系統(tǒng)及測(cè)控指揮中心進(jìn)行通信檢測(cè)。數(shù)據(jù)回放的同時(shí),系統(tǒng)根據(jù)讀取的數(shù)據(jù)描繪軌跡并顯示當(dāng)前數(shù)據(jù)內(nèi)容。
2.4數(shù)據(jù)存儲(chǔ)
數(shù)據(jù)存儲(chǔ)為二進(jìn)制文件,提供二進(jìn)制到十進(jìn)制和十六進(jìn)制格式轉(zhuǎn)換功能,便于事后數(shù)據(jù)分析。
3.1串口通信
系統(tǒng)通過MOXA 公司提供的API函數(shù)調(diào)用來實(shí)現(xiàn)串口通信。由于需要接收四路同步數(shù)據(jù),系統(tǒng)采用了2塊C502卡,共四個(gè)端口,端口號(hào)為0~3。系統(tǒng)采用了工控機(jī)提供的兩個(gè)異步串口,端口號(hào)分別為0和1。通過對(duì)API函數(shù)的調(diào)用即可實(shí)現(xiàn)同步串口和異步串口數(shù)據(jù)的收發(fā)功能。
3.2網(wǎng)絡(luò)通信
套接字(SOCKET)是一種網(wǎng)絡(luò)編程接口,它是對(duì)通信端點(diǎn)的一種抽象,提供了一種發(fā)送和接收數(shù)據(jù)的機(jī)制。為了簡(jiǎn)化WinSock網(wǎng)絡(luò)編程,使用戶專注于應(yīng)用程序算法的設(shè)計(jì),Microsoft的基本類庫(Microsoft Foundation Class或MFC)提供了兩個(gè)用于WinSock編程的類:CAsyncSocket類和CSocket類。CSocket類是從CAsyncSocket類派生而來的,它提供了高一級(jí)的抽象處理套接字通信。
系統(tǒng)采用三種網(wǎng)絡(luò)通信方式:組播、廣播、點(diǎn)播。在數(shù)據(jù)接收時(shí)采用組播,數(shù)據(jù)發(fā)送時(shí),部分采用廣播,部分采用點(diǎn)播。
3.3多線程及同步
每一個(gè)應(yīng)用程序可以包含多個(gè)線程,也就是說每個(gè)進(jìn)程可以同時(shí)完成多個(gè)任務(wù)。CPU分配的基本單元是線程,線程的多少直接影響進(jìn)程的執(zhí)行性能。一個(gè)進(jìn)程可以通過創(chuàng)建多線程來占用更多的CPU時(shí)間片。多線程可以彌補(bǔ)順序執(zhí)行的缺點(diǎn),提高執(zhí)行性能、增加吞吐量和提高相應(yīng)能力。多線程編程必須涉及到線程的同步問題,當(dāng)多個(gè)線程試圖同時(shí)操作同一共享資源時(shí),可能引發(fā)沖突。
在同步串口通信中,系統(tǒng)實(shí)時(shí)接收測(cè)量數(shù)據(jù)的同時(shí),也向測(cè)量設(shè)備發(fā)送引導(dǎo)數(shù)據(jù),因?yàn)閿?shù)據(jù)接收和發(fā)送是各自獨(dú)立的線程,所以對(duì)同一端口進(jìn)行數(shù)據(jù)收發(fā)時(shí),必須解決線程同步問題,否則系統(tǒng)會(huì)中途停止運(yùn)行。系統(tǒng)采用互斥量的方法來解決這個(gè)問題,相關(guān)代碼如下:
if( slock.Lock())HdlcSendT0. SendData((char)&SendT0,T0len);//數(shù)據(jù)發(fā)送
slock.Unlock();
…
if(slock.Lock())
{retgps=GpsHdlcRev.ReceiveData((char *)&datagps,gpslen); }//數(shù)據(jù)接收
slock.Unlock();
…
3.4定時(shí)器
在同步數(shù)據(jù)收發(fā)和界面數(shù)據(jù)顯示時(shí)需要用到定時(shí)器。定時(shí)功能的實(shí)現(xiàn)方法有很多,在實(shí)時(shí)條件下,常用的有以下幾種:WINDOWS系統(tǒng)定時(shí)器、多媒體定時(shí)器、利用外部硬件的定時(shí)器。經(jīng)過比較,實(shí)時(shí)定時(shí)效果最好的是利用時(shí)碼板提供定時(shí)功能,多媒體定時(shí)器次之,最差的是WINDOWS系統(tǒng)定時(shí)器。由于便攜式工控機(jī)主板插槽有限,無法再添加時(shí)碼板,檢測(cè)終端主要用來檢測(cè)數(shù)據(jù)質(zhì)量,對(duì)時(shí)延沒有嚴(yán)格要求,因此系統(tǒng)采用了多媒體定時(shí)器。
機(jī)動(dòng)式測(cè)控檢測(cè)終端體積小,應(yīng)用靈活,便于功能擴(kuò)展。在測(cè)控系統(tǒng)通信聯(lián)調(diào)過程中提高了工作效率,縮短了調(diào)試周期。在測(cè)控試驗(yàn)過程中,如實(shí)地反映了通信狀況和數(shù)據(jù)質(zhì)量,尤其在動(dòng)態(tài)試驗(yàn)中實(shí)時(shí)描繪了被測(cè)物體的運(yùn)動(dòng)軌跡,為指揮員決策提供了可靠依據(jù)。
[1]吳信才.地理信息系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).電子工業(yè)出版社.北京: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