劉憲秋,何新華
(①裝甲兵工程學(xué)院 信息工程系,北京 100072;②西昌衛(wèi)星發(fā)射中心,四川 西昌 615000)
“時(shí)統(tǒng)設(shè)備”是現(xiàn)代航天試驗(yàn)靶場(chǎng)、電力電信系統(tǒng)的關(guān)鍵設(shè)備之一,為飛行試驗(yàn)中各參試設(shè)備或通信設(shè)備提供標(biāo)準(zhǔn)時(shí)間信號(hào)和頻率基準(zhǔn)信號(hào)。目前,一個(gè)靶場(chǎng)或系統(tǒng)內(nèi)多個(gè)時(shí)統(tǒng)站以并存分散管理,資源獨(dú)占的方式存在,每個(gè)時(shí)統(tǒng)站需配備至少一個(gè)專業(yè)維護(hù)人員,如無人值守就無法及時(shí)獲得設(shè)備運(yùn)行狀況。隨著通信能力的增強(qiáng),對(duì)一個(gè)靶場(chǎng)或一個(gè)系統(tǒng)內(nèi)的多個(gè)時(shí)統(tǒng)設(shè)備實(shí)現(xiàn)集中控制成為可能。監(jiān)控是一個(gè)計(jì)算機(jī)應(yīng)用系統(tǒng),在計(jì)算機(jī)硬件平臺(tái)的支持下,通過計(jì)算機(jī)應(yīng)用軟件的指揮調(diào)度,完成監(jiān)控的全部功能[1]。在時(shí)統(tǒng)設(shè)備無人值守時(shí)對(duì)其進(jìn)行遠(yuǎn)程監(jiān)控,實(shí)時(shí)了解設(shè)備的運(yùn)行情況和控制設(shè)備狀態(tài)的轉(zhuǎn)換,對(duì)出現(xiàn)的故障能及時(shí)發(fā)現(xiàn)、處理和修復(fù)。
一套標(biāo)準(zhǔn)的時(shí)統(tǒng)設(shè)備的基本組成如圖1所示。由圖可見,除定時(shí)校頻接收機(jī)外,各靶場(chǎng)根據(jù)需求不同而不同,一般由頻率標(biāo)準(zhǔn)、頻標(biāo)隔離放大器、時(shí)碼產(chǎn)生器、控制器、時(shí)碼區(qū)分放大器、切換器以及監(jiān)控微機(jī)組成。這里的遠(yuǎn)程監(jiān)控系統(tǒng)的建立是基于原有的時(shí)統(tǒng)工作站設(shè)備和現(xiàn)有的網(wǎng)絡(luò)基礎(chǔ)上,將設(shè)備上的監(jiān)控微機(jī)功能轉(zhuǎn)換為遠(yuǎn)程監(jiān)控系統(tǒng)中的監(jiān)控終端,除對(duì)原有的監(jiān)控程序進(jìn)行必要的改動(dòng)之外,再加入數(shù)據(jù)通信處理軟件,即可完成對(duì)多個(gè)時(shí)統(tǒng)設(shè)備的集中管控。

圖1 時(shí)統(tǒng)設(shè)備的基本組成
采用網(wǎng)絡(luò)連接的遠(yuǎn)程監(jiān)控系統(tǒng),其系統(tǒng)硬件除了遠(yuǎn)程監(jiān)控微機(jī)、時(shí)統(tǒng)設(shè)備、監(jiān)控終端微機(jī)外、為了實(shí)現(xiàn)數(shù)據(jù)的遠(yuǎn)程傳輸,還包括網(wǎng)絡(luò)接口和網(wǎng)絡(luò)本身。
遠(yuǎn)程監(jiān)控分系統(tǒng)采用主動(dòng)查詢和輪流查詢方式同時(shí)監(jiān)視控制幾個(gè)時(shí)統(tǒng)設(shè)備。遠(yuǎn)程監(jiān)控分系統(tǒng)是各個(gè)時(shí)統(tǒng)工作站的遠(yuǎn)端管理中心,也是遠(yuǎn)程監(jiān)控檢測(cè)信息中心,通過網(wǎng)絡(luò)與監(jiān)控終端進(jìn)行通信,它接收監(jiān)控終端上報(bào)的設(shè)備狀態(tài)、運(yùn)行參數(shù),并通過監(jiān)控終端控制設(shè)備的運(yùn)行完成狀態(tài)監(jiān)視、時(shí)鐘對(duì)時(shí)與同步操作、參數(shù)設(shè)置、設(shè)備切換、設(shè)備加/去電控制、數(shù)據(jù)的實(shí)時(shí)存儲(chǔ)和打印輸出等工作。系統(tǒng)結(jié)構(gòu)如圖2所示。

圖2 系統(tǒng)結(jié)構(gòu)
應(yīng)用軟件分別安裝在遠(yuǎn)程監(jiān)控端和監(jiān)控終端。遠(yuǎn)程監(jiān)控分系統(tǒng)上應(yīng)用軟件共有兩個(gè):遠(yuǎn)程監(jiān)控管理軟件、數(shù)據(jù)通信應(yīng)用軟件。監(jiān)控管理軟件是遠(yuǎn)程監(jiān)控分系統(tǒng)應(yīng)用軟件的前臺(tái)處理軟件,對(duì)接收到信息進(jìn)行處理和顯示,數(shù)據(jù)通信應(yīng)用軟件為后臺(tái)處理軟件,完成與監(jiān)控終端通信軟件之間的通信過程,負(fù)責(zé)接收和輸出各種信息。每個(gè)監(jiān)控終端上應(yīng)用軟件也有兩個(gè),一個(gè)是監(jiān)控終端管理軟件,另一個(gè)是監(jiān)控終端通信軟件。監(jiān)控終端管理軟件收集設(shè)備狀態(tài)信息和工作參數(shù)完成設(shè)備各功能模塊的時(shí)鐘同步和對(duì)時(shí)操作、參數(shù)預(yù)置、主備切換和狀態(tài)設(shè)置等工作,對(duì)設(shè)備各功能模塊進(jìn)行狀態(tài)巡檢和故障診斷,對(duì)通信過程和設(shè)備工作狀態(tài)進(jìn)行顯示和存儲(chǔ),實(shí)現(xiàn)計(jì)算機(jī)程序加去電功能;監(jiān)控終端通信軟件接收遠(yuǎn)程監(jiān)控分系統(tǒng)的操作命令并發(fā)送給監(jiān)控終端監(jiān)控應(yīng)用軟件,向遠(yuǎn)程監(jiān)控分系統(tǒng)上報(bào)設(shè)備狀態(tài),完成時(shí)統(tǒng)設(shè)備的設(shè)備監(jiān)控。
根據(jù)航天試驗(yàn)靶場(chǎng)內(nèi)現(xiàn)有的時(shí)統(tǒng)設(shè)備和網(wǎng)絡(luò)設(shè)施條件,利用已有的局域網(wǎng)來組建系統(tǒng)的網(wǎng)絡(luò)。各時(shí)統(tǒng)工作站通過配置一定的網(wǎng)絡(luò)接口和交換機(jī),將設(shè)備自身的監(jiān)控微機(jī)以監(jiān)控終端形式接入局域網(wǎng),另外需配置一臺(tái)作為遠(yuǎn)程監(jiān)控管理的工控機(jī)。
3.2.1 軟件開發(fā)環(huán)境和接口定義
該系統(tǒng)的軟件設(shè)計(jì)是遠(yuǎn)程監(jiān)控管理端軟件基于 Windows 2000 Server 操作平臺(tái),監(jiān)控終端軟件是基于 Windows NT操作平臺(tái),采用Visual C++編程語(yǔ)言作為開發(fā)工具,數(shù)據(jù)庫(kù)采用SQL Server,遠(yuǎn)程監(jiān)控管理端和監(jiān)控終端間的通信方式是基于UDP/IP網(wǎng)絡(luò)的Winsock通信傳輸方式[2],采用組廣播方式進(jìn)行傳輸。以監(jiān)控終端的 IP地址區(qū)分不同的時(shí)統(tǒng)工作站。整個(gè)監(jiān)控系統(tǒng)由遠(yuǎn)程監(jiān)控管理軟件、數(shù)據(jù)通信處理軟件、監(jiān)控終端管理和監(jiān)控終端通信四個(gè)部分組成,各應(yīng)用程序之間的接口如圖3所示。應(yīng)用軟件設(shè)計(jì)采用面向?qū)ο蟆芜M(jìn)程多線程的程序設(shè)計(jì)方法,根據(jù)不同的功能劃分單元,以提高系統(tǒng)可維護(hù)性和可讀性。
傳輸數(shù)據(jù)的基本格式如表1所示。

表1 幀格式
幀字段的意義:
IP地址用來標(biāo)識(shí)網(wǎng)絡(luò)發(fā)送者的網(wǎng)絡(luò)地址,用long表示。
類型表示通信類型是查詢還是應(yīng)答,或者為拒絕應(yīng)答,用BYTE表示,其中0X01表示查詢,0X02表示應(yīng)答,0X10表示拒絕應(yīng)答。
時(shí)間指當(dāng)前系統(tǒng)時(shí)間,表示幀發(fā)出時(shí)間的本機(jī)系統(tǒng)時(shí)間,在遠(yuǎn)程監(jiān)控分系統(tǒng)發(fā)向監(jiān)控終端的查詢幀用于校對(duì)監(jiān)控終端機(jī)的系統(tǒng)時(shí)間,用time_t表示,即精確到秒級(jí)。
數(shù)據(jù)長(zhǎng)度用來表示后跟數(shù)據(jù)的總長(zhǎng)(字節(jié),不包括長(zhǎng)度本身以及以前數(shù)據(jù)),用long表示[3]。
數(shù)據(jù)是指具體的數(shù)據(jù),其組成及解釋類型不同而變換。
3.2.2 遠(yuǎn)程監(jiān)控管理軟件
監(jiān)控管理軟件包括控制管理、顯示處理、數(shù)據(jù)處理、通道管理部件,如圖4所示。
顯示處理部件接收數(shù)據(jù)處理部件送來的各類顯示信息,將實(shí)時(shí)的設(shè)備狀態(tài)、時(shí)間信息進(jìn)行分類顯示,對(duì)操作錯(cuò)誤進(jìn)行告警提示,對(duì)與監(jiān)控終端的通信過程進(jìn)行顯示。
控制管理部件處理鍵盤、鼠標(biāo)輸入的信息,主備切換、同步、對(duì)鐘、時(shí)間信息的預(yù)置等信息送通道管理部件去處理。

圖4 遠(yuǎn)程監(jiān)控分系統(tǒng)的監(jiān)控管理軟件
數(shù)據(jù)處理部件接收通道管理部件送來的信息,分類處理,后通知顯示部件進(jìn)行更新顯示。
通道管理部件管理監(jiān)控管理軟件和數(shù)據(jù)通信與處理軟件之間的通道的建立和連接、監(jiān)視信道的鏈路狀態(tài),中斷時(shí)自動(dòng)重建,接收數(shù)據(jù)處理部件送來的信息送數(shù)據(jù)通信與處理軟件去處理、接受數(shù)據(jù)通信與處理軟件送來的信息送數(shù)據(jù)處理部件去處理。通信管理部件管理數(shù)據(jù)通信軟件和各個(gè)通信口(如網(wǎng)絡(luò)、串口、通道)之間的通信。通信管理部件實(shí)現(xiàn)與外部接口的通信,通信管理部件接收外部接口數(shù)據(jù),并將接口數(shù)據(jù)送往數(shù)據(jù)處理部件;通信管理部件接收數(shù)據(jù)處理部件送來的數(shù)據(jù),送往相應(yīng)的外部接口設(shè)備。
①創(chuàng)建通道對(duì)象實(shí)現(xiàn)與監(jiān)控管理軟件之間的數(shù)據(jù)通信;
②創(chuàng)建網(wǎng)絡(luò)接口套接字實(shí)現(xiàn)與監(jiān)控終端之間的數(shù)據(jù)通信;
③將監(jiān)控管理軟件送來的信息送監(jiān)控終端;
④將數(shù)據(jù)處理部件送來的信息送監(jiān)控管理軟件;
⑤將所有上述的通信信息都分類送存盤處理部件相應(yīng)的存盤單元。
存盤處理部件將從數(shù)據(jù)處理部件及通信管理部件送來的信息分類存儲(chǔ)viod 。
3.2.3 數(shù)據(jù)通信處理軟件
數(shù)據(jù)通信處理軟件包括顯示處理部件、數(shù)據(jù)處理部件、通信管理部件、存盤處理部件,如圖5所示。
顯示處理部件提供顯示人機(jī)界面,接收通信管理部件送來的輸入輸出信息原碼數(shù)據(jù)實(shí)時(shí)顯示。
數(shù)據(jù)處理部件處理從通信管理部件接收到數(shù)據(jù)信息進(jìn)行處理。對(duì)接收來的數(shù)據(jù)按照接口協(xié)議進(jìn)行分類;將需要存盤的數(shù)據(jù)發(fā)送到數(shù)據(jù)存盤模塊;將需要轉(zhuǎn)發(fā)的數(shù)據(jù)按照類別送給數(shù)據(jù)發(fā)送模塊;監(jiān)控管理軟件與數(shù)據(jù)通信處理軟件之間的通道,數(shù)據(jù)通信處理軟件為服務(wù)器方,監(jiān)控管理軟件為客戶方。兩個(gè)計(jì)算機(jī)數(shù)據(jù)通信處理軟件之間的管道,A機(jī)上的通信軟件為服務(wù)器,B機(jī)上的通信軟件為客戶方。

圖5 遠(yuǎn)程監(jiān)控分系統(tǒng)的數(shù)據(jù)通信處理軟件
部分關(guān)鍵函數(shù):

3.2.4 監(jiān)控終端管理軟件
監(jiān)控終端管理軟件接收監(jiān)控命令,實(shí)現(xiàn)時(shí)統(tǒng)設(shè)備工作參數(shù)設(shè)置、目標(biāo)選擇和自動(dòng)檢測(cè)等監(jiān)控功能;采集設(shè)備工作狀態(tài),進(jìn)行顯示并存儲(chǔ);監(jiān)控終端管理軟件的數(shù)據(jù)流圖請(qǐng)見圖6所示。

圖6 監(jiān)控終端管理軟件和通信軟件數(shù)據(jù)流圖
管理軟件處理設(shè)備參數(shù)設(shè)置命令,將參數(shù)發(fā)給設(shè)備;采集設(shè)備返回的設(shè)備狀態(tài),定時(shí)向設(shè)備發(fā)送狀態(tài)查詢命令,了解設(shè)備工作是否正常;響應(yīng)數(shù)據(jù)通信及處理軟件送來的狀態(tài)查詢命令,回報(bào)設(shè)備狀態(tài)。按照功能將設(shè)備管理部件分為:參數(shù)設(shè)置單元、狀態(tài)輪詢單元、狀態(tài)提取單元、狀態(tài)上報(bào)。
設(shè)備管理部件實(shí)現(xiàn)以下功能:
①處理參數(shù)設(shè)置命令,按照硬件接口協(xié)議,將參數(shù)發(fā)給設(shè)備[4];
②定時(shí)向設(shè)備發(fā)送狀態(tài)查詢命令,實(shí)現(xiàn)設(shè)備狀態(tài)輪詢;
③處理設(shè)備狀態(tài)上報(bào)數(shù)據(jù),得到設(shè)備的所有狀態(tài);
④處理參數(shù)設(shè)置響應(yīng);
⑤響應(yīng)數(shù)據(jù)通信及處理軟件送來的狀態(tài)查詢命令,回報(bào)設(shè)備狀態(tài)。
部分關(guān)鍵函數(shù):

3.2.5 監(jiān)控終端通信軟件
終端通信軟件實(shí)現(xiàn)與遠(yuǎn)程數(shù)據(jù)通信處理軟件之間的數(shù)據(jù)通訊,接收時(shí)統(tǒng)設(shè)備參數(shù)設(shè)置命令并分別將數(shù)據(jù)送往時(shí)統(tǒng)設(shè)備管理部件。終端通信軟件實(shí)現(xiàn)以下功能:
①建立與遠(yuǎn)程數(shù)據(jù)通信處理軟件之間的通道;
②通過通道接收和發(fā)送數(shù)據(jù);
③通道出現(xiàn)異常后負(fù)責(zé)告警和重新建立;
④對(duì)目的地址不是本監(jiān)控終端的數(shù)據(jù)進(jìn)行過濾;
⑤分類將操作指令送設(shè)備管理軟件,立即進(jìn)行處理;
⑥接收設(shè)備管理模塊送來的設(shè)備狀態(tài)及發(fā)令響應(yīng)信息;
⑦生成設(shè)備狀態(tài)數(shù)據(jù)送數(shù)據(jù)通信及處理軟件。
部分關(guān)鍵函數(shù):
GetComputerName((LPTSTR)n,&len);//從網(wǎng)絡(luò)數(shù)據(jù)中識(shí)別本機(jī)網(wǎng)絡(luò)地址和物理地址
BOOL FaceConnectComm(void);//遠(yuǎn)程監(jiān)控管理和通信管理的連接函數(shù);
Viod FacePipePacketMsg(char* pc,int iLen);//遠(yuǎn)程監(jiān)控管理打包函數(shù);
BOOL ReadClientPipe();//讀通道內(nèi)容;
BOOL CommSendToFaceMsg();//遠(yuǎn)程監(jiān)控管理發(fā)送消息;
BOOL FaceErrorProcess(int tError,int tErrCode);//監(jiān)控管理通道錯(cuò)誤處理;
BOOLTerSendToFaceMsg();//終端發(fā)送消息到監(jiān)控管理。
這里為現(xiàn)代的航天試驗(yàn)靶場(chǎng)中的時(shí)統(tǒng)設(shè)備提出了一套遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)方案,對(duì)在遠(yuǎn)程監(jiān)控端和時(shí)統(tǒng)監(jiān)控終端的應(yīng)用軟件進(jìn)行了詳細(xì)設(shè)計(jì)。這套遠(yuǎn)程監(jiān)控系統(tǒng)符合現(xiàn)代通信技術(shù)的發(fā)展趨勢(shì),能有效地提高管理維護(hù)的效率。
[1] 錢華.通信機(jī)房遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)研究[J].電腦知識(shí)與技術(shù),2009(09):2223-2224.
[2] 方忠進(jìn),周舒,葛化敏.遠(yuǎn)程數(shù)據(jù)中心監(jiān)控與管理方法研究[J].通信技術(shù),2009,42(08):129-131.
[3] 王勿英,林耀榮,戴俊,等.基于 USSD的遠(yuǎn)程微波設(shè)備監(jiān)控系統(tǒng)[J].通信技術(shù),2009,42(05):128-130.
[4] 柳秀山.現(xiàn)代家居遠(yuǎn)程通信控制系統(tǒng)的研制[J].通信技術(shù),2009,42(08):126-128.