新聞中心

EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 基于TCP/IP的實時監(jiān)控系統(tǒng)設(shè)計與實現(xiàn)

基于TCP/IP的實時監(jiān)控系統(tǒng)設(shè)計與實現(xiàn)

——
作者:劉國安 周廷美 李志華 時間:2007-05-24 來源:電源世界 收藏
1、問題的提出
    
通信電源是通信的動力基礎(chǔ)。隨著我國電信事業(yè)的迅速發(fā)展,通信規(guī)模的不斷擴大,需要操作與維護的設(shè)備種類和數(shù)量大幅度提高,設(shè)備的技術(shù)含量和復(fù)雜度也越來越高,以前的人工監(jiān)測方式已無法滿足正常的工作要求。上世紀90年代初原郵電部提出了對通信電源設(shè)備及環(huán)境進行集中監(jiān)控的要求,即通過對通信電源及環(huán)境進行遙測、遙信和遙控,最終實現(xiàn)少人值守或無人值守,以提高設(shè)備維護質(zhì)量,降低運行維護費用,同時保證系統(tǒng)處于良好的運行工作狀態(tài),從而大幅度提高整體運行效率,提高通信質(zhì)量及電源系統(tǒng)的管理水平。
    
近年來,隨著計算機互聯(lián)的迅速發(fā)展,通信與計算機互相促進,越來越多的智能通信設(shè)備在通信局站投入使用,為通信電源的集中監(jiān)控和科學(xué)管理打下了良好的基礎(chǔ)。通過這些智能設(shè)備所提供的通信接口(如串口服務(wù)器)直接通過Internet將其接入通信電源集中監(jiān)控管理系統(tǒng),可實時獲取設(shè)備運行的 各種參數(shù)和實時數(shù)據(jù),發(fā)送遙控命令,進行參數(shù)設(shè)置,同時獲取設(shè)備的告警信息和運行狀態(tài),而不必再加額外的傳感器、變送器和控制器,但這一切都需要精簡高效的通信協(xié)議支持。

2、監(jiān)控系統(tǒng)組成和體系結(jié)構(gòu)

2.1監(jiān)控系統(tǒng)的基本組成和結(jié)構(gòu)
   
電源設(shè)備通過協(xié)議轉(zhuǎn)換器將采集到的數(shù)據(jù)傳到監(jiān)控中心,監(jiān)控中心再將數(shù)據(jù)存入數(shù)據(jù)庫,以方便隨時查詢。監(jiān)控系統(tǒng)的組成如圖1所示。



監(jiān)控系統(tǒng)的組成

  
圖1監(jiān)控系統(tǒng)的組成

2.2監(jiān)控系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)
  
通信電源集中監(jiān)控系統(tǒng)是由不同層次、不同功能的計算機和通信設(shè)備組成的一個計算機網(wǎng)絡(luò),采用Internet的數(shù)據(jù)傳輸模式,監(jiān)控中心對各支局進行不間斷的巡檢,向串口服務(wù)器發(fā)送數(shù)據(jù)采集、遙測和遙控指令,串口服務(wù)器接受指令后將各監(jiān)控模塊采集的設(shè)備運行的各種參數(shù)和實時數(shù)據(jù)轉(zhuǎn)化為服從協(xié)議的數(shù)據(jù),發(fā)送回監(jiān)控中心,存入數(shù)據(jù)庫服務(wù)器以支持遠程數(shù)據(jù)瀏覽和查詢及數(shù)據(jù)統(tǒng)計工作,如設(shè)備出現(xiàn)故障可自動報警,其監(jiān)控網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。

監(jiān)控網(wǎng)絡(luò)結(jié)構(gòu)

  
圖2監(jiān)控網(wǎng)絡(luò)結(jié)構(gòu)

  2.3監(jiān)控系統(tǒng)的軟件結(jié)構(gòu)
 
       電源監(jiān)控系統(tǒng)的界面如圖3所示,其模塊組成如圖4所示。

通訊電源監(jiān)控系統(tǒng)的主界面

  
圖3 電源監(jiān)控系統(tǒng)的主界面

通訊電源監(jiān)控系統(tǒng)的功能模塊

  
圖4 電源監(jiān)控系統(tǒng)的功能模塊

基礎(chǔ)設(shè)定模塊是用于人員的權(quán)限設(shè)置,監(jiān)控中心和各局站的參數(shù)設(shè)置;模塊主要是監(jiān)測電源相關(guān)運行數(shù)據(jù),例如電流、電壓等,設(shè)備出現(xiàn)故障可進行聲音和圖像告警;數(shù)據(jù)采集模塊是完成通信電源監(jiān)測數(shù)據(jù)的采集并將其寫入數(shù)據(jù)庫;數(shù)據(jù)庫維護模塊則是完成數(shù)據(jù)庫的管理;曲線圖表模塊是采用曲線的方式顯示通信電源在某一段時間范圍的實時數(shù)據(jù),如電壓、電流的變動情況;數(shù)據(jù)查詢模塊可根據(jù)用戶要求查詢通信電源的實時運行數(shù)據(jù)、告警信息、遙控命令、月統(tǒng)計和值班狀況等信息,并可輸出相關(guān)報表。

3、通信協(xié)議設(shè)計與實現(xiàn)
    
二十一世紀是一個以網(wǎng)絡(luò)為核心的信息時代, Internet協(xié)議簇已經(jīng)成為計算機工業(yè)中開放系統(tǒng)互聯(lián)的事實上的標(biāo)準。

3.1監(jiān)控系統(tǒng)通信協(xié)議要求

監(jiān)控系統(tǒng)的底層由硬件組成,為了更好的傳輸數(shù)據(jù),將二進制數(shù)據(jù)轉(zhuǎn)換為網(wǎng)絡(luò)數(shù)據(jù)流,這一過程由串口服務(wù)器完成。
    
監(jiān)控系統(tǒng)智能設(shè)備接入方式主要有直接接入方式和協(xié)議轉(zhuǎn)換器接入方式。協(xié)議轉(zhuǎn)換器簡化監(jiān)控系統(tǒng)前端處理過程,提高系統(tǒng)總體實時性。本系統(tǒng)采用的協(xié)議轉(zhuǎn)換器即為串口服務(wù)器。
    
監(jiān)控系統(tǒng)通訊協(xié)議對系統(tǒng)的性能影響非常大。制定協(xié)議主要考慮對監(jiān)控量的數(shù)量和類別的要求;對實時性的要求;對可靠性的要求;對協(xié)議的可擴充性、兼容性的要求;對適用性的要求。通訊協(xié)議要無二義性,通訊協(xié)議必須能夠提供可靠的、高效的通訊。

3.2通信協(xié)議的設(shè)計

為了統(tǒng)一智能設(shè)備通訊協(xié)議,方便接入監(jiān)控系統(tǒng),原電信總局于1999年頒布了《通信局(站)電源、空調(diào)及環(huán)境集中監(jiān)控管理系統(tǒng)前端智能設(shè)備通訊協(xié)議》(中國電信交換[1999]625號)作為標(biāo)準協(xié)議,2003年信息產(chǎn)業(yè)部又以該協(xié)議為基礎(chǔ)制定監(jiān)控系統(tǒng)智能設(shè)備通信協(xié)議的行業(yè)標(biāo)準。
    
作為通訊電源的統(tǒng)一通訊標(biāo)準,這一協(xié)議得到了廣泛的應(yīng)用。假設(shè)我們要傳遞的信息為00,則其信息幀的基本格式如下:

信息幀的基本格式

這種方式處理簡單,僅用一條命令就可以獲取大量的信息,但當(dāng)監(jiān)控系統(tǒng)僅需要了解其中少量數(shù)據(jù)內(nèi)容時,許多無用的卻依然占據(jù)著傳輸時間的數(shù)據(jù),勢必降低了效率。
    
因此很多公司有自己的通訊協(xié)議,他們直接采用二進制編碼,即網(wǎng)絡(luò)流中的數(shù)據(jù)不是ACSII格式的數(shù)據(jù),而是數(shù)據(jù)本身,并且盡量減少冗余的數(shù)據(jù)。

3.3通信協(xié)議的實現(xiàn)過程
    
本系統(tǒng)的智能設(shè)備采用協(xié)議轉(zhuǎn)換器 (串口服務(wù)器)方式接入,傳輸協(xié)議采用《智能設(shè)備通訊協(xié)議》和企業(yè)自定義的傳輸協(xié)議(由于涉及企業(yè)的技術(shù)保密要求,本文中沒作介紹),編程語言為C#,編程環(huán)境為Microsoft Visual Studio .NET 2003。

在Internet中,TCP連接是常見的方式,用這種連接方式可以方便地在互聯(lián)網(wǎng)中傳遞數(shù)據(jù),只要事先知道串口服務(wù)器的IP地址和端口,實現(xiàn)通訊協(xié)議的程序如下:

  TcpClient myClient; //TCP連接套接字
       NetworkStream myStream; //獲取網(wǎng)絡(luò)流
       public bool ConectStation(string ip,int port)
       {
       //連接局站函數(shù),連接成功返回true,失敗則返回false
       try
       {
       myClient= new TcpClient(ip,port);
       myStream="myClient".GetStream();
       return true;
       }
       catch
       {
       return false;
       }
       }

由于采用串口服務(wù)器,只需將傳輸數(shù)據(jù)的ASCII碼轉(zhuǎn)換為網(wǎng)絡(luò)數(shù)據(jù)流,即可利用協(xié)議的可靠連接TCP連接傳輸二進制流,程序如下:

String stationNo; //局站號
       String version; //版本號
       AsyncCallback outcallback="new" AsyncCallback(this.OnCompleteWrite); //網(wǎng)絡(luò)流傳輸?shù)漠惒秸{(diào)用
       public void SetDChksum (); //求CHKSUM
       public void StartSend()
       {
       char soi=(char)0x7E; //開始字節(jié)
       char eoi=(char)0x0D; //結(jié)束字節(jié)
       string check="version"+stationNo+commandCode; //版本號+局站號+命令代碼,需進行校驗
       string send="soi"+check+SetDChksum(check)+eoi; //發(fā)送數(shù)據(jù)字符串
       byte[] outbuffer="Encoding".ASCII.GetBytes(send); //將數(shù)據(jù)字符串轉(zhuǎn)化成字節(jié)數(shù)據(jù)流
       try
       {
       myStream.BeginWrite(outbuffer,0,outbuffer.Length,outcallback,null);
       }
       catch
       {
       //發(fā)送數(shù)據(jù)失敗的數(shù)據(jù)處理
       }
       }

4結(jié)束語

網(wǎng)絡(luò)技術(shù)、通信技術(shù)、計算機技術(shù)的快速發(fā)展,為通信電源監(jiān)控系統(tǒng)的進一步發(fā)展和完善提供了條件。本系統(tǒng)正是結(jié)合這些最新技術(shù),實現(xiàn)了對通信電源的遙測、遙信和遙控,并實現(xiàn)了對通信電源運行數(shù)據(jù)的遠程Web瀏覽。本系統(tǒng)已在實際通訊電源監(jiān)控中采用,收到了良好的效果。

參考文獻:

[1] 賈繼偉等編著.通信電源的科學(xué)管理與集中監(jiān)控.北京:人民郵電出版社,2004.8
[2] (美)Jesse Liberty編著,劉基誠譯.C#程序設(shè)計.北京:中國電力出版社,2002.5
[3] Kris Jamsa等 .NET Web服務(wù)解決方案應(yīng)用編程 北京:電子工業(yè)出版社 2003
[4] Matthew MacDonald. ASP.NET完全手冊. 北京:電子工業(yè)出版社,2003

tcp/ip相關(guān)文章:tcp/ip是什么




評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉