UPS遠程監(jiān)測報警系統的開發(fā)_第1頁
UPS遠程監(jiān)測報警系統的開發(fā)_第2頁
UPS遠程監(jiān)測報警系統的開發(fā)_第3頁
UPS遠程監(jiān)測報警系統的開發(fā)_第4頁
UPS遠程監(jiān)測報警系統的開發(fā)_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、UPS遠程監(jiān)測報警系統的開發(fā)1、Snmp協議在UPS等設備上的應用原理簡介 SNMP(Single Network Manage ment Protocol網絡管理協議是一個基于TCP/IP的Internet標準的網絡管理協議。隨著Internet所使用的TCP/IP協議族成為事實上的網絡間互連協議標準,SNMP也成為計算機網絡管理方面大家實際遵循的標準。目前這種網絡管理協議應用很廣,幾乎所有的網絡廠商推出的網絡管理系統都支持SNMP協議并開發(fā)了與SNMP有關的產品投放市場。 在SNMP管理模型中有三個基本組成部分:管理者(Manager),被管代理(Agent)和管理信息庫(MIB)。管理站

2、一般是一個單機設備或一個共享網絡中的一員,它是網絡管理員和網絡管理系統的接口,能將網絡管理員的命令轉換成對遠程網絡元素的監(jiān)視和控制,同時從網上所有被管實體的MIB (管理信息庫 中提取出信息數據。 該所開發(fā)的UPS電源管理軟件以電腦網絡操作為平臺,能在機房電腦屏幕上對UPS室的UPS進行遠程監(jiān)視。其中SNMP卡是UPS網絡接口的全權代理(Agent),它平時一直監(jiān)視著UPS的狀態(tài),如果遠程網絡監(jiān)控管理計算有查詢、控制等請求過來時,經由它認證確認后,再解釋傳達給UPS執(zhí)行,而一旦UPS發(fā)生某些故障狀態(tài)時,它會馬上向指定的遠程監(jiān)控計算機發(fā)出報警信息,說明UPS現在發(fā)生了什么故障狀態(tài),讓值班人員及時

3、了解狀況,進行處理。 2、UPS監(jiān)測系統主要組件介紹 本系統主要由UPS、SNMP適配器、路由器、網卡、IBM PC機組成,通過網絡通訊線聯接,其物理聯接圖如下: (1)60KVA MGEUPS 梅日梅蘭MGEUPS銀河Galaxy系列在該站使用兩年來運行狀態(tài)良好。UPS為后級負載提供優(yōu)質穩(wěn)定的電源,并有足夠的后備時間在外電中斷時為設備運行提供電源保障。是我站電力重要組成部分。 (2)SNMP Adapter (SNMP適配器) UPS附加的外接式SNMP Adapter或內接式SNMP界面卡讓UPS馬上具有上網功能。網絡管理人員可通過網絡平臺進行遠端監(jiān)控和管理UPS。 SNMP Adapte

4、r或內接式SNMP界面卡會將UPS的訊息轉換成SNMP MIB兼容規(guī)格的訊息,通過網絡(甚至Internet網傳給相關的網管工作站(NMS。當電源發(fā)生不正常狀態(tài)時,網絡管理員可根據傳來的信息得知事件發(fā)生,并進行處理。適配器具有HTTP功能,用戶通過普通的瀏覽器(Netscape Browser、Microsoft Internet Explorer即可對Internet上的UPS進行訪問。 廠家提供的SNMP View等界面是為網絡操作平臺專門開發(fā)的電源管理軟件,能在屏幕上遠程監(jiān)視UPS的工作狀態(tài),但不能進行參數報警。我們通過開發(fā)集成在SNMP Adapter的協議可進行界面定制及報警功能的實

5、現。 (3)IBM PC機 IBM PC機作為本系統軟件運行的平臺,配上Windows操作系統是我們最常用的微機配置。 (4路由器或HUB 路由器或HUB用來連接多個UPS適配器。方便由一臺電腦集中管理多臺設備。 (5網卡 使用通用PCI網卡即可。為了保證通訊速度,推薦用100M以上的網卡。 3、開發(fā)程序的實現 本系統由VC+與Broland Delphi結合開發(fā)??蓱糜蒞indows9X,WindowsXP系統。其流程圖如下: (1利用IdIcmpClient組件的ping命令來檢測UPS地址通訊聯接是否正常 判斷當前計算機有沒有連接到網絡,主要是在物理連網下使用IdIcmpClient組

6、件的ping命令來實現。ping是一個基本的網絡命令,用來確定網絡上具有某個特定IP地址的主機是否存在以及是否能接收請求。ping命令通過向計算機發(fā)送ICMP回應報文并且監(jiān)聽回應報文的返回,以校驗與遠程計算機或本地計算機的連接。對于每個發(fā)送報文,ping最多等待1秒,并打印發(fā)送和接收。把報文的數量,比較每個接收報文和發(fā)送報文,以校驗其有效性。默認情況下,發(fā)送四個回應報文,每個報文包含64字節(jié)的數據(周期性的大寫字母序列)。我們可以使用Ping實用程序測試計算機名和IP地址。如果能夠成功校驗IP地址卻不能成功校驗計算機名,則說明名稱解析存在問題。當ping命令返回值小等于0時,我們就判斷網絡設備

7、無法聯接或無響應。就等下一個時鐘指命到來時再進行判斷通訊是否正常。 (2)利用vc+計算oid節(jié)點 OID是MIB樹上面的節(jié)點,形如.2.1.每個數字表示MIB樹的一層,向下遞推。MIB分兩種,一種是標準MIB,是有國際標準的MIB-1、MIB-2,可查看RFC文檔,另一種是私有MIB,由設備生產商定。我們利用廠商提供的UPS的RFC文檔,使用vc+計算出oid節(jié)點,然后在oid節(jié)點返回的數據采集就是我們所需要的UPS的參數值。 由UPS的MIB庫訪問實現的研究管理信息庫(MIB)定義了由USP代理者維護的各種變量,它們由管理者來進行存取操作,從而實現具體的網絡管理。對MIB庫變

8、量訪問利用VC+程序是比較容易實現的。 UPS可以通過SNMP 操作直接與管理代理通信,獲得即時的設備信息,對網絡設備進行遠程配置管理或者操作;也可以通過對數據庫的訪問獲得網絡設備的歷史信息,以決定網絡配置變化等操作。SNMP管理代理指的是用于跟蹤監(jiān)測被管理設備狀態(tài)的特殊軟件或硬件,每個代理都擁有自己本地的MIB。實際上,SNMP 的管理任務是移交給管理代理來執(zhí)行的。代理翻譯來自管理站的請求,驗證操作的可執(zhí)行性,通過直接與相應的功能實體通信來執(zhí)行信息處理任務, 同時向管理站返回響應信息。 UPSMIB對象定義格式:ASN.1是一種用于描述結構化客體的結構和內容的語言,基于編碼規(guī)則BER(Bas

9、ic Encoding Rules)是ASN.1標準定義的一種傳送文法。每個MIB變量格式是SMI規(guī)定的,用ASN.1描述如下表: OBJECTNAME是被管對象的名字,ASN.1要求所有對象的名字在MIB中必須是唯一的,JECT-TYPE是每一個節(jié)點對象所必需的關鍵字; DESCRIPTION是對被管對象的功能、特征等進行描述的關鍵字,(description)是被管對象的文本描述; UNITS是參數的單位; SYNTAX是被管對象類型的關鍵字,隨后跟著的是一個類型(syntax); ACCESS是被管對象的訪問方式關鍵字,在SNMP 第2版中為MAX-ACCESS 關鍵字,(access)

10、是被管對象的訪問方式,可為如下列舉值之一:read-only、read-write、no-accessible,SNMP第2版中又增加了read-create; STATUS是被管對象關鍵字,(status)是被管對象的狀態(tài),如必備的、可選的或廢棄的; 在:=(Parent)number 中,Parent表示位于MIB樹中的父節(jié)點,number表示是第幾個子節(jié)點。 UPS MIB樹:每個MIB對象都用對象標識符(OID)來唯一的標識,這是用定義在ASN.1語法中的樹型結構來組織的可用信息,其中每個可用信息是一個帶標號的節(jié)點,每個節(jié)點用數字和字符兩種方式顯示,其中對象標識符OID是由句點隔開的一

11、組整數,也就是從根節(jié)點通向它的路徑,它命名節(jié)點并指示它在ASN.1樹中的準確位置。一個帶標號節(jié)點可以擁有包含其它帶標號節(jié)點為它的子樹,如果沒有子樹它就是葉子節(jié)點,它包含一個值并被稱為對象。圖3是帶有ASN.1編號的MIB樹實例:可以看出MIB-的OID是:.2.省略.ernet.mgmt.mib2。在SNMP中,實現應用到的MIB對象都是MIB-的子樹節(jié)點。如UPS電池充放電電流OID為..2.6,其中.2.1為MIB-的OID分支,后面的.是指UPS中的葉子結點。 以上闡述了對MIB的讀取實現,通過VC+

12、計算,首先要寫底層的讀取MIB的類, 服務器端主要是讀取網絡設備的MIB值,存放在數據庫中,或者從數據庫中讀取記錄,并進行分析考慮到命令模塊的可重用性,此方法開發(fā)的網絡管理系統基模塊具備了發(fā)送網絡管理查詢請求到遠程設備的能力,實現了對動態(tài)管理數據的收集,只有很好的實現對MIB的存取,網絡管理系統才能更好的發(fā)揮作用,若對MIB進行深入的分析,可以將其應用到流量監(jiān)控、性能分析、訪問控制等重要的網絡管理功能。 (3)利用INDY組件進行數據采集 INDY的全名是Internet Direct(也叫Winshoes),它是一套開放源代碼的Internet控件集,它支持大部分流行的Internet協議,

13、包括TCP、UDP、DNS、ICMP、FINGER、FTP、GOPHER、HTTP、POP3、SMTP、TELNET、WHOIS等,支持BASE64、MD2、MD4、MD5等編解碼,提供INTERNET流行協議的客戶端和服務器控件。INDY控件集的客戶端和服務器控件都有完整、詳細的源代碼例程和幫助文件,用戶可以根據這些例子,簡單方便快速的建造各種服務器程序,例如WEB服務器、TELNET服務器、IRC服務器、TCP、UDP服務器等,而這些服務器都是支持多線程的。用戶也可以很簡單的編寫出各種客戶端程序,例如EMAIL、FINGER、FTP、PING、TELNET等。有了INDY你可以使用UDP服

14、務器和UDP客戶端寫出各種網絡通訊應用程序。 INDY在Broland軟件公司的已是標準化組件。INDY是完全基于SOCKET阻塞工作模式的開發(fā)庫,現在已經支持BORLAND DELPHI、C+ BUIDER和最新的Kylix(LINUX里的DELPHI)等開發(fā)平臺。目前,INDY的最新正式發(fā)行版本是8.0版,最新BETA版本是8.1版。INDY8.0支持DELPHI 4、DELPHI 5、C+BUIDER 4、C+BUIDER 5、Kylix等版本。Kylix已經把INDY作為標準組件打包到發(fā)行包里了。而且DELPHI 7.0把INDY作為它的INTERNET基本組件,INDY為程序員提供更

15、便捷的開發(fā)組件。 INDY中QuickSend對UPS參數訪問實現,QuickSend命令可通過輸入計算好的oid節(jié)點取得返回參數值。QuickSend由管理站去獲取代理管理信息庫的值,通過發(fā)送消息來實現。管理站通過發(fā)送QuickSend報文從擁有SNMP管理代理的網絡設備中獲取指定對象的信息。 UPS MIB 對象及變量:UPS MIB是一樹形結構的數據庫,MIB-I定義了8個管理信息類別,MIB-是在MIB-I基礎上的擴展,增加了SNMP和CMOT兩項。System(關于實體所在系統的數據);Interface(用于管理的網絡接口信息);AT(地址轉換信息);IP(網絡協議);ICMP(為

16、IP設備攜帶錯誤和控制的協議);TCP(傳輸控制協議);UDP(用戶數據報協議);EGP(外部網關協議);CMOT(公共管理信息與服務協議);SNMP(簡單網絡管理協議)。 MIB庫中每一個變量都符合ASN.1語法規(guī)則,MIB庫中只使用了ASN.1諸多類型中的INTEGER,OCTET STRING,OBJECT IDENTIFIER,NULL作為基本類型,同時定義了IpAddress、Counter、Gauge、TimeTicks、Opaque類型,大體上說,MIB中變量可分為兩大部分,簡單變量(Simple variable)和表格(Table)。簡單變量是常見的整型及字符串,也包括一些數

17、據集合,通過在變量的對象標識符末尾附加.0來引用。表格對應一組數組,可包含變量的多個實例,表格中的每個表項可以用多個字段,這些字段本身可能是簡單變量也可能是表格,表格不能直接進行存取,對于表格變量通過在變量的對象標識符末尾附加.1.2.3來引用。 訪問流程及原理:首先根據自變量接收一個要訪問的被管理對象主機名,并接收要查詢的對象標識符的簡略定義形式。過程首先生成SNMP報文,一旦報文生成,再把報文簡單反轉過來發(fā)送出去。這其中要將請求標識符段內容及標識符長度保存起來,留待以后進行匹配檢查。生成SNMP報文后,建立代理地址,創(chuàng)建套接字連接,以便代理能將響應發(fā)回。然后,啟動警告信號處理器,將SNMP

18、請求報文發(fā)給代理,等待一個響應的到來。因為SNMP是工作在UDP之上的,所以在SNMP應用實體間通信時,無需先建立連接,這樣雖降低了系統開銷,但UDP傳輸是不可靠的,為此,網絡管理站采取了相應的超時和重發(fā)策略。本系統在發(fā)出請求報文之后,啟動超時計數器,等待響應的到來,并設置重發(fā)次數為3。若3次之后仍沒有收到響應,則關閉套接字,并返回一個“接收失敗”錯誤代碼。反之,若確定收到一個響應,則調用過程來把響應轉換成為內部表示形式,即對SNMP報文進行譯碼。再用已保存的Request-id與響應Request-id段進行比較,來驗證這個報文是否是剛才發(fā)出的請求報文的響應。若是,就調用另一個過程,把每段對

19、象標識符的ASN.1表示形式轉換成自己的內部形式,并顯示其值。由于SNMP報文對各個段都使用可變長度編碼,這就使得即便是從SNMP報文中提取簡單整數段,也要進行許多計算,因而,所開發(fā)的系統原碼程序中包含了一個語言較長、結構復雜的特殊句法分析程序,用于提取報文的各個段并進行譯碼,此句法分析軟件必須把一指針移遍報文中所有各段,以找出各段長度并提取其數值。 (4)利用Acess數據庫保存記錄 Access數據庫是MS Office 程序的一個主要應用程序,由于與Windows同是微軟的產品,所以在Windows XP中可以免安裝數據引擎,是個綠色的數據庫。目前大多計算機都預裝了該軟件。本系統把報警開

20、始和結束時間自動記錄在Access數據庫中,當系統檢測到故障信號,計數器開始計數,當計數達到設定值且信號恢復正常時,系統會自動檢測到并觸發(fā)記錄模塊,將信號故障類型、時間和長度記錄到數據庫文件中保存。操作者可以方便打數據庫進行編輯,并可拷貝到Word、Excel中來生成報表。記錄并分析歷史數據,對當地電網情況綜合分析,可打印資料和記錄檔案。 (5)程序計算電池充放電電流、輸入電壓值作為報警參數 本系統除了實現UPS參數界面友好顯示,更主要的想在UPS出現電源事件時進行報警,提醒值班人員注意輸入、輸出電壓、電流和頻率、UPS的電池組充電和放電、UPS輸出功率及有關故障、報警信息等。 當外電停電時,本系統通過采用判別輸入電壓是否低于設定值作為報警信號。 當該站兩路外電切換時,本系統通過采用判別電池是否進行充放電作為報警信號。 當UPS電池放電是否過深,本系統通過采用判別電池帶載時間作為報警信號。 (6)Mci mmsystem庫作語音報警 電腦聲音報警是采用Window API函數MciSendString來播放Wav格式

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論