當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]UPS監(jiān)控軟件設計

摘要:設計了一個UPS監(jiān)控軟件,以監(jiān)視UPS的實時狀態(tài),控制UPS進行保護和切換的參數(shù)、診斷和開關排程等。

關鍵詞:UPS;監(jiān)控軟件

 

1  UPS監(jiān)控軟件的功能

    UPS監(jiān)控軟件的作用是用來監(jiān)視和控制UPS。其中,監(jiān)視功能是給一般用戶使用的,而控制功能是給具有特權用戶使用的。對于一般用戶只能讀取電源事件和數(shù)據(jù)信息,供用戶分析、判斷UPS故障用;對于具有特權的用戶,就可以對被監(jiān)控的UPS進行診斷、測試、配置參數(shù)等操作。具體來說,有以下幾個方面:

    1)各種圖形用戶界面顯示UPS的輸入電壓、輸出電壓、輸入頻率、輸出頻率、電池電壓、輸出電流等參數(shù),以掌握當前UPS的實時狀態(tài);

    2)可查看UPS的事件日志和數(shù)據(jù)日志,全面分析電源的歷史狀況;

    3)靈活的事件管理與告警方式,以便系統(tǒng)管理員或用戶采取相應的應急措施;

    4)無人值守時發(fā)生嚴重電源故障情況下的文件自動保存并關閉系統(tǒng),使已做的工作不會因電源故障丟失;

    5)可對UPS的運行參數(shù)和關機參數(shù)進行設置;

    6)可預定UPS的關機、重啟和測試計劃;

    7)中、英文界面,能適應各種主流操作系統(tǒng)。

2  監(jiān)控平臺的設計

2.1  監(jiān)控界面設計

    如果要實現(xiàn)UPS的監(jiān)控功能,很明顯,一個窗體是不能滿足要求的,必須采用多窗體界面。為了程序能同時打開多個文件,使用多文檔界面MDI(Multiple Document Interface)編程。MDI是指在一個窗體中能夠建立多個子窗體的操作界面,它允許程序同時顯示多個文檔,每個文檔顯示在它自己的窗口中。文檔或子窗口被包含在父窗體中,父窗口為應用程序中所有的子窗口提供工作空間。在運行時,子窗體顯示在MDI窗體工作空間之內(其區(qū)域在父窗體邊框以內及標題與菜單欄之下)。當子窗體最小化時,它的圖標顯示在MDI窗體的工作空間之內,而不是在任務欄中。圖1為該監(jiān)控平臺的主窗體。

圖1  UPS監(jiān)控界面平臺主窗體

    由于該軟件的設計得到了(溫州)中國鴻寶電源有限公司的大力支持,為了表示感謝,在該軟件的運行前先顯示該公司的標志畫面,也就是給該軟件添加一個程序封面。程序封面的設計有2種方法:多窗體編程方法和隱藏控件方法。前者是在程序封面窗體上放置一個時間控件,待設定的時間后自動關閉封面切換到主窗體,為了能夠人為地切換封面和主窗體,可在封面窗體鼠標單擊事件中增加相應的代碼;后者是在程序運行時使用Visible屬性,首先,將主窗體上的全部控件隱藏,然后,在主窗體內進行程序封面的演示,延時一定時間后再恢復所有控件的顯示,如果主窗體內的控件很多,可以將這些控件設計在一個容器控件上,這樣只要設置該容器控件的Visible屬性即可。

    由于UPS監(jiān)控軟件適合兩種用戶,所以接下來的是登錄窗體和注冊窗體的設計。為了用多種圖形界面顯示UPS的實時狀態(tài),該軟件設計了4種窗體專門用來顯示UPS的運行參數(shù)及其狀態(tài)。在數(shù)據(jù)日志中,用戶可以自由設定歷史數(shù)據(jù)存儲周期,并借助數(shù)據(jù)列表回放UPS的運行狀態(tài),分析UPS的某一次異常事件,全面了解UPS的運行狀態(tài)與走勢。另外,還有事件日志、計劃任務、事件及其反映、遙控、UPS運行參數(shù)和關機參數(shù)設置等窗體??勺灾髟O置UPS的運行計劃,檢測計劃系統(tǒng)可按用戶事先選定的項目以一定周期進行自檢,同時,系統(tǒng)還可按用戶的需要預約UPS的開機、關機時間。

    根據(jù)上述監(jiān)控軟件的功能,可以設計該監(jiān)控平臺的菜單結構如圖2所示。

圖2  監(jiān)控界面平臺的菜單結構 [!--empirenews.page--]

2.2  軟件實現(xiàn)

    該軟件包含2個部分:數(shù)據(jù)庫部分和應用程序部分。在本程序里面,將使用Microsoft Access 2000來建立數(shù)據(jù)庫,使用VisualBasic6.0來編制應用程序。數(shù)據(jù)庫部分包含3個表格:用戶表,事件日志表和數(shù)據(jù)日志表。用戶表中包含該用戶的帳號,密碼和用戶類型;事件日志表中包含日期,時間,事件描述,事件處理等各項內容;數(shù)據(jù)日志表中包含日期,時間和UPS的主要運行狀態(tài)參數(shù)。

    要使用該軟件必須輸入用戶名和密碼,軟件根據(jù)數(shù)據(jù)庫中的資料判斷該用戶的注冊類型,決定該軟件的使用權限。如果沒有這個用戶,則請求用戶注冊成為新用戶。用戶注冊時,要填寫一些必要的個人信息,如果該注冊名已經(jīng)存在,系統(tǒng)將要求采用其它的用戶名重新注冊,保存后存放到用戶表中去。只有系統(tǒng)管理員級別的用戶才能使用該軟件的所有功能,一般用戶只能使用該監(jiān)視方面的功能。

    電源監(jiān)控軟件開發(fā)的關鍵環(huán)節(jié)是如何實現(xiàn)計算機串并口與電源設備的通信(即計算機采集電源設備送出的狀態(tài)信號,經(jīng)分析處理后在終端上顯示或發(fā)出控制信號送往電源設備),而最簡單的信息傳送方式就是使用串行通信。VB中提供了一個重要的通信控件:MSComm。在本程序中使用到該軟件的5個重要屬性:CommPort,Settings,PortOpen,Input,Output。Settings屬性設置為“1200,N,8,1”。PortOpen屬性使用前必須打開,用完后必須關閉。圖3是該監(jiān)控軟件的主流程圖。

圖3  上位機監(jiān)控軟件主流程圖

    該軟件包含對30多種電源事件的處理,處理的方式有:通知系統(tǒng)管理員,執(zhí)行命令文件,發(fā)送電子郵件或傳呼信息給指定的用戶報警,在嚴重的情況下執(zhí)行文件自動保存后關閉系統(tǒng)。這里主要通過調用系統(tǒng)的API函數(shù)來實現(xiàn)。實際上,在整個軟件的編寫過程中,很多子程序都用到了相應的API函數(shù)調用。使用Windows API,可以訪問常用代碼庫,使用通過測試的和認證過的代碼,獲得跨平臺的兼容性,得到一個更小巧的應用程序。

    該軟件通過輸出電流來推算負載百分比,而蓄電池的電壓可以反映電池的剩余容量,所以程序通過測量電池電壓并查表來近似推算蓄電池的剩余容量。并通過當前輸出電流和計算得到的電池剩余容量估算出電池的剩余放電時間,再根據(jù)得到的剩余放電時間來決定是否需要進行計算機的自動保存操作。如果自動存檔時,檔案未賦予文件名,軟件以temp格式暫存或離開,供電系統(tǒng)正常后,用戶還可查看上次關閉Windows時關閉的應用程序名稱和儲存的檔案。

    由于該軟件要適應各種主流操作系統(tǒng),如Win9X和Win2000。當文件自動保存后,要退出操作系統(tǒng),安全關機。這時,要注意兩類操作系統(tǒng)的區(qū)別。在Win9X中退出操作系統(tǒng),只需調用一個底層的API函數(shù)ExitWindowsEx()就可以了,但是Win2000用的是NT的內核,Windows NT不象Win9X和DOS那樣可以隨意進行底層的操作,它非常注重系統(tǒng)每個進程的權利(這也是為什么Win9X和DOS底下病毒成災的原因),在Win2000下,要退出操作系統(tǒng),必須賦予它足夠的權限。圖4是關機子程序流程圖。

圖4  關機子程序流程圖

    為了繪制UPS各個運行參數(shù)的實時平滑曲線,得到掃描的效果,本程序中使用了一個重要的API函數(shù)BitBlt。在主窗體的菜單中,“窗口”主菜單在設計時,選取“顯示窗口列表”項。這樣,不用編寫任何代碼,“窗口”主菜單下就會自動顯示MDI窗體的已打開子窗體的列表。其它子菜單的程序也很簡單,只需調用MDIForm對象的Arrange方法就可以了。“語言”菜單下的“英文”或簡體中文,編程的思路和過程是一樣的,只不過是做做翻譯工作而已。對于菜單中的“關于UPS監(jiān)控軟件”,主要是獲得注冊表中的一些系統(tǒng)信息,Visual Basic開發(fā)軟件本身也帶有這方面的例示窗體和源代碼,可以根據(jù)需要作相應的改變。

3  結語

    該軟件在Windows98和Windows2000下調試通過,其功能也基本上能滿足一般UPS監(jiān)控系統(tǒng)的要求。不過,程序運行時總覺得不是很流暢,這是因為當一個窗體界面的設計中要容納多張圖片和多個控制時,將出現(xiàn)窗體顯示速度明顯變慢的現(xiàn)象。為此,將“界面設計窗體”和“功能實現(xiàn)窗體”分開處理,基本可以解決這一問題。即在設計時根據(jù)需要設計漂亮的界面,但是在全屏運行時將該界面復制到剪貼板上,然后將其作為一張圖片粘貼在功能實現(xiàn)窗體的背景上。這樣,從外觀上看效果相同,但是顯示速度明顯加快。不過,不可避免地增加了程序本身的存儲容量。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉