劉憲秋,何新華
(①裝甲兵工程學院 信息工程系,北京 100072;②西昌衛(wèi)星發(fā)射中心,四川 西昌 615000)
“時統(tǒng)設備”是現(xiàn)代航天試驗靶場、電力電信系統(tǒng)的關鍵設備之一,為飛行試驗中各參試設備或通信設備提供標準時間信號和頻率基準信號。目前,一個靶場或系統(tǒng)內(nèi)多個時統(tǒng)站以并存分散管理,資源獨占的方式存在,每個時統(tǒng)站需配備至少一個專業(yè)維護人員,如無人值守就無法及時獲得設備運行狀況。隨著通信能力的增強,對一個靶場或一個系統(tǒng)內(nèi)的多個時統(tǒng)設備實現(xiàn)集中控制成為可能。監(jiān)控是一個計算機應用系統(tǒng),在計算機硬件平臺的支持下,通過計算機應用軟件的指揮調(diào)度,完成監(jiān)控的全部功能[1]。在時統(tǒng)設備無人值守時對其進行遠程監(jiān)控,實時了解設備的運行情況和控制設備狀態(tài)的轉換,對出現(xiàn)的故障能及時發(fā)現(xiàn)、處理和修復。
一套標準的時統(tǒng)設備的基本組成如圖1所示。由圖可見,除定時校頻接收機外,各靶場根據(jù)需求不同而不同,一般由頻率標準、頻標隔離放大器、時碼產(chǎn)生器、控制器、時碼區(qū)分放大器、切換器以及監(jiān)控微機組成。這里的遠程監(jiān)控系統(tǒng)的建立是基于原有的時統(tǒng)工作站設備和現(xiàn)有的網(wǎng)絡基礎上,將設備上的監(jiān)控微機功能轉換為遠程監(jiān)控系統(tǒng)中的監(jiān)控終端,除對原有的監(jiān)控程序進行必要的改動之外,再加入數(shù)據(jù)通信處理軟件,即可完成對多個時統(tǒng)設備的集中管控。
圖1 時統(tǒng)設備的基本組成
采用網(wǎng)絡連接的遠程監(jiān)控系統(tǒng),其系統(tǒng)硬件除了遠程監(jiān)控微機、時統(tǒng)設備、監(jiān)控終端微機外、為了實現(xiàn)數(shù)據(jù)的遠程傳輸,還包括網(wǎng)絡接口和網(wǎng)絡本身。
遠程監(jiān)控分系統(tǒng)采用主動查詢和輪流查詢方式同時監(jiān)視控制幾個時統(tǒng)設備。遠程監(jiān)控分系統(tǒng)是各個時統(tǒng)工作站的遠端管理中心,也是遠程監(jiān)控檢測信息中心,通過網(wǎng)絡與監(jiān)控終端進行通信,它接收監(jiān)控終端上報的設備狀態(tài)、運行參數(shù),并通過監(jiān)控終端控制設備的運行完成狀態(tài)監(jiān)視、時鐘對時與同步操作、參數(shù)設置、設備切換、設備加/去電控制、數(shù)據(jù)的實時存儲和打印輸出等工作。系統(tǒng)結構如圖2所示。
圖2 系統(tǒng)結構
應用軟件分別安裝在遠程監(jiān)控端和監(jiān)控終端。遠程監(jiān)控分系統(tǒng)上應用軟件共有兩個:遠程監(jiān)控管理軟件、數(shù)據(jù)通信應用軟件。監(jiān)控管理軟件是遠程監(jiān)控分系統(tǒng)應用軟件的前臺處理軟件,對接收到信息進行處理和顯示,數(shù)據(jù)通信應用軟件為后臺處理軟件,完成與監(jiān)控終端通信軟件之間的通信過程,負責接收和輸出各種信息。每個監(jiān)控終端上應用軟件也有兩個,一個是監(jiān)控終端管理軟件,另一個是監(jiān)控終端通信軟件。監(jiān)控終端管理軟件收集設備狀態(tài)信息和工作參數(shù)完成設備各功能模塊的時鐘同步和對時操作、參數(shù)預置、主備切換和狀態(tài)設置等工作,對設備各功能模塊進行狀態(tài)巡檢和故障診斷,對通信過程和設備工作狀態(tài)進行顯示和存儲,實現(xiàn)計算機程序加去電功能;監(jiān)控終端通信軟件接收遠程監(jiān)控分系統(tǒng)的操作命令并發(fā)送給監(jiān)控終端監(jiān)控應用軟件,向遠程監(jiān)控分系統(tǒng)上報設備狀態(tài),完成時統(tǒng)設備的設備監(jiān)控。
根據(jù)航天試驗靶場內(nèi)現(xiàn)有的時統(tǒng)設備和網(wǎng)絡設施條件,利用已有的局域網(wǎng)來組建系統(tǒng)的網(wǎng)絡。各時統(tǒng)工作站通過配置一定的網(wǎng)絡接口和交換機,將設備自身的監(jiān)控微機以監(jiān)控終端形式接入局域網(wǎng),另外需配置一臺作為遠程監(jiān)控管理的工控機。
3.2.1 軟件開發(fā)環(huán)境和接口定義
該系統(tǒng)的軟件設計是遠程監(jiān)控管理端軟件基于 Windows 2000 Server 操作平臺,監(jiān)控終端軟件是基于 Windows NT操作平臺,采用Visual C++編程語言作為開發(fā)工具,數(shù)據(jù)庫采用SQL Server,遠程監(jiān)控管理端和監(jiān)控終端間的通信方式是基于UDP/IP網(wǎng)絡的Winsock通信傳輸方式[2],采用組廣播方式進行傳輸。以監(jiān)控終端的 IP地址區(qū)分不同的時統(tǒng)工作站。整個監(jiān)控系統(tǒng)由遠程監(jiān)控管理軟件、數(shù)據(jù)通信處理軟件、監(jiān)控終端管理和監(jiān)控終端通信四個部分組成,各應用程序之間的接口如圖3所示。應用軟件設計采用面向對象、單進程多線程的程序設計方法,根據(jù)不同的功能劃分單元,以提高系統(tǒng)可維護性和可讀性。
傳輸數(shù)據(jù)的基本格式如表1所示。
表1 幀格式
幀字段的意義:
IP地址用來標識網(wǎng)絡發(fā)送者的網(wǎng)絡地址,用long表示。
類型表示通信類型是查詢還是應答,或者為拒絕應答,用BYTE表示,其中0X01表示查詢,0X02表示應答,0X10表示拒絕應答。
時間指當前系統(tǒng)時間,表示幀發(fā)出時間的本機系統(tǒng)時間,在遠程監(jiān)控分系統(tǒng)發(fā)向監(jiān)控終端的查詢幀用于校對監(jiān)控終端機的系統(tǒng)時間,用time_t表示,即精確到秒級。
數(shù)據(jù)長度用來表示后跟數(shù)據(jù)的總長(字節(jié),不包括長度本身以及以前數(shù)據(jù)),用long表示[3]。
數(shù)據(jù)是指具體的數(shù)據(jù),其組成及解釋類型不同而變換。
3.2.2 遠程監(jiān)控管理軟件
監(jiān)控管理軟件包括控制管理、顯示處理、數(shù)據(jù)處理、通道管理部件,如圖4所示。
顯示處理部件接收數(shù)據(jù)處理部件送來的各類顯示信息,將實時的設備狀態(tài)、時間信息進行分類顯示,對操作錯誤進行告警提示,對與監(jiān)控終端的通信過程進行顯示。
控制管理部件處理鍵盤、鼠標輸入的信息,主備切換、同步、對鐘、時間信息的預置等信息送通道管理部件去處理。
圖4 遠程監(jiān)控分系統(tǒng)的監(jiān)控管理軟件
數(shù)據(jù)處理部件接收通道管理部件送來的信息,分類處理,后通知顯示部件進行更新顯示。
通道管理部件管理監(jiān)控管理軟件和數(shù)據(jù)通信與處理軟件之間的通道的建立和連接、監(jiān)視信道的鏈路狀態(tài),中斷時自動重建,接收數(shù)據(jù)處理部件送來的信息送數(shù)據(jù)通信與處理軟件去處理、接受數(shù)據(jù)通信與處理軟件送來的信息送數(shù)據(jù)處理部件去處理。通信管理部件管理數(shù)據(jù)通信軟件和各個通信口(如網(wǎng)絡、串口、通道)之間的通信。通信管理部件實現(xiàn)與外部接口的通信,通信管理部件接收外部接口數(shù)據(jù),并將接口數(shù)據(jù)送往數(shù)據(jù)處理部件;通信管理部件接收數(shù)據(jù)處理部件送來的數(shù)據(jù),送往相應的外部接口設備。
①創(chuàng)建通道對象實現(xiàn)與監(jiān)控管理軟件之間的數(shù)據(jù)通信;
②創(chuàng)建網(wǎng)絡接口套接字實現(xiàn)與監(jiān)控終端之間的數(shù)據(jù)通信;
③將監(jiān)控管理軟件送來的信息送監(jiān)控終端;
④將數(shù)據(jù)處理部件送來的信息送監(jiān)控管理軟件;
⑤將所有上述的通信信息都分類送存盤處理部件相應的存盤單元。
存盤處理部件將從數(shù)據(jù)處理部件及通信管理部件送來的信息分類存儲viod 。
3.2.3 數(shù)據(jù)通信處理軟件
數(shù)據(jù)通信處理軟件包括顯示處理部件、數(shù)據(jù)處理部件、通信管理部件、存盤處理部件,如圖5所示。
顯示處理部件提供顯示人機界面,接收通信管理部件送來的輸入輸出信息原碼數(shù)據(jù)實時顯示。
數(shù)據(jù)處理部件處理從通信管理部件接收到數(shù)據(jù)信息進行處理。對接收來的數(shù)據(jù)按照接口協(xié)議進行分類;將需要存盤的數(shù)據(jù)發(fā)送到數(shù)據(jù)存盤模塊;將需要轉發(fā)的數(shù)據(jù)按照類別送給數(shù)據(jù)發(fā)送模塊;監(jiān)控管理軟件與數(shù)據(jù)通信處理軟件之間的通道,數(shù)據(jù)通信處理軟件為服務器方,監(jiān)控管理軟件為客戶方。兩個計算機數(shù)據(jù)通信處理軟件之間的管道,A機上的通信軟件為服務器,B機上的通信軟件為客戶方。
圖5 遠程監(jiān)控分系統(tǒng)的數(shù)據(jù)通信處理軟件
部分關鍵函數(shù):
3.2.4 監(jiān)控終端管理軟件
監(jiān)控終端管理軟件接收監(jiān)控命令,實現(xiàn)時統(tǒng)設備工作參數(shù)設置、目標選擇和自動檢測等監(jiān)控功能;采集設備工作狀態(tài),進行顯示并存儲;監(jiān)控終端管理軟件的數(shù)據(jù)流圖請見圖6所示。
圖6 監(jiān)控終端管理軟件和通信軟件數(shù)據(jù)流圖
管理軟件處理設備參數(shù)設置命令,將參數(shù)發(fā)給設備;采集設備返回的設備狀態(tài),定時向設備發(fā)送狀態(tài)查詢命令,了解設備工作是否正常;響應數(shù)據(jù)通信及處理軟件送來的狀態(tài)查詢命令,回報設備狀態(tài)。按照功能將設備管理部件分為:參數(shù)設置單元、狀態(tài)輪詢單元、狀態(tài)提取單元、狀態(tài)上報。
設備管理部件實現(xiàn)以下功能:
①處理參數(shù)設置命令,按照硬件接口協(xié)議,將參數(shù)發(fā)給設備[4];
②定時向設備發(fā)送狀態(tài)查詢命令,實現(xiàn)設備狀態(tài)輪詢;
③處理設備狀態(tài)上報數(shù)據(jù),得到設備的所有狀態(tài);
④處理參數(shù)設置響應;
⑤響應數(shù)據(jù)通信及處理軟件送來的狀態(tài)查詢命令,回報設備狀態(tài)。
部分關鍵函數(shù):
3.2.5 監(jiān)控終端通信軟件
終端通信軟件實現(xiàn)與遠程數(shù)據(jù)通信處理軟件之間的數(shù)據(jù)通訊,接收時統(tǒng)設備參數(shù)設置命令并分別將數(shù)據(jù)送往時統(tǒng)設備管理部件。終端通信軟件實現(xiàn)以下功能:
①建立與遠程數(shù)據(jù)通信處理軟件之間的通道;
②通過通道接收和發(fā)送數(shù)據(jù);
③通道出現(xiàn)異常后負責告警和重新建立;
④對目的地址不是本監(jiān)控終端的數(shù)據(jù)進行過濾;
⑤分類將操作指令送設備管理軟件,立即進行處理;
⑥接收設備管理模塊送來的設備狀態(tài)及發(fā)令響應信息;
⑦生成設備狀態(tài)數(shù)據(jù)送數(shù)據(jù)通信及處理軟件。
部分關鍵函數(shù):
GetComputerName((LPTSTR)n,&len);//從網(wǎng)絡數(shù)據(jù)中識別本機網(wǎng)絡地址和物理地址
BOOL FaceConnectComm(void);//遠程監(jiān)控管理和通信管理的連接函數(shù);
Viod FacePipePacketMsg(char* pc,int iLen);//遠程監(jiān)控管理打包函數(shù);
BOOL ReadClientPipe();//讀通道內(nèi)容;
BOOL CommSendToFaceMsg();//遠程監(jiān)控管理發(fā)送消息;
BOOL FaceErrorProcess(int tError,int tErrCode);//監(jiān)控管理通道錯誤處理;
BOOLTerSendToFaceMsg();//終端發(fā)送消息到監(jiān)控管理。
這里為現(xiàn)代的航天試驗靶場中的時統(tǒng)設備提出了一套遠程監(jiān)控系統(tǒng)的設計方案,對在遠程監(jiān)控端和時統(tǒng)監(jiān)控終端的應用軟件進行了詳細設計。這套遠程監(jiān)控系統(tǒng)符合現(xiàn)代通信技術的發(fā)展趨勢,能有效地提高管理維護的效率。
[1] 錢華.通信機房遠程監(jiān)控系統(tǒng)的設計研究[J].電腦知識與技術,2009(09):2223-2224.
[2] 方忠進,周舒,葛化敏.遠程數(shù)據(jù)中心監(jiān)控與管理方法研究[J].通信技術,2009,42(08):129-131.
[3] 王勿英,林耀榮,戴俊,等.基于 USSD的遠程微波設備監(jiān)控系統(tǒng)[J].通信技術,2009,42(05):128-130.
[4] 柳秀山.現(xiàn)代家居遠程通信控制系統(tǒng)的研制[J].通信技術,2009,42(08):126-128.