關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于VB的機房計算機電源監(jiān)控系統(tǒng)

基于VB的機房計算機電源監(jiān)控系統(tǒng)

作者: 時間:2010-05-20 來源:網(wǎng)絡(luò) 收藏

2系統(tǒng)總體設(shè)計模塊

  根據(jù)本系統(tǒng)要實現(xiàn)的功能,可以將系統(tǒng)劃分為如圖1所示的3個模塊。

2.1 監(jiān)控部分

  監(jiān)控部分可以分為監(jiān)測和控制2個模塊。監(jiān)測模塊的主要功能是對整個的所有計算機或某幾臺計算機進行開關(guān)狀態(tài)的檢測。主機通過串口向單片機發(fā)送監(jiān)測信號,然后根據(jù)單片機的反饋信號(即模擬的計算機開關(guān)狀態(tài)數(shù)據(jù))在界面上顯示出模擬狀態(tài)。若沒有收到單片機的反饋信號,則提示操作失敗。控制模塊的主要功能是對的所有計算機或某幾臺計算機進行開/關(guān)控制。主機通過串口給單片機發(fā)開/關(guān)信號。若主機收到單片機反饋的操作成功信號,則表示操作成功,在界面上顯示對應(yīng)計算機的開/關(guān)狀態(tài)。若沒有接收到單片機的操作成功反饋信號,則提示操作失敗。

2.2 系統(tǒng)設(shè)置部分

  該模塊對本系統(tǒng)進行一些設(shè)定。如配置:包括機房代碼、機房名稱、機房計算機數(shù)量的設(shè)定,定時監(jiān)測時間的設(shè)定,生成報告的設(shè)定等。這些設(shè)定使系統(tǒng)能適應(yīng)不同需要,更靈活地在不同場合運作。

2.3 歷史記錄查詢管理部分

  該模塊的主要功能是記錄每間機房中所有計算機的開機、關(guān)機時間,并提供查詢功能,使管理人員知道某臺計算機開關(guān)時間及在某一時刻某臺計算機開關(guān)狀態(tài)。

3主界面設(shè)計

  用戶界面應(yīng)具備如下的特性:

  (1)使用簡單:界面簡潔明了、操作方便。

  (2)具有容錯能力:具有錯誤診斷、修正錯誤以及出錯保護的功能;

  (3)系統(tǒng)能夠按照用戶的希望和需要,提供不同詳細(xì)程度的系統(tǒng)響應(yīng)信息,包括反饋信息、提示信息、幫助信息、出錯信息等;

  (4)在完成特定功能的前提下,使用戶界面越簡單越好。用戶界面應(yīng)能保證用戶正確、可靠地使用系統(tǒng),保證有關(guān)程序和數(shù)據(jù)的安全性。

  為方便管理人員監(jiān)控,在用戶界面設(shè)計中采用圖形化人機界面,力求簡單靈活。在系統(tǒng)主屏幕中,以1個圖標(biāo)表示機房的1臺電腦,并用不同顏色的圖標(biāo)來表示電腦開關(guān)的不同狀態(tài)。

4 初始化設(shè)計

  在進行功能設(shè)計之前,首先要對系統(tǒng)進行初始化設(shè)計,主要初始化流程如圖2所示。

4.1 通信控件MSComm的設(shè)置

  本系統(tǒng)對控件的具體設(shè)置如下:

  MSComm1.CommPort=1      //使用COM1作為通信端口

  MSComm1.PortOpen=True     //打開通信端口

  MSComm1.InputMode=comInputModeBinary

                 //以二進制方式讀取數(shù)據(jù)

  MSComm1.InputLen=0//每次讀取接收

                //緩沖區(qū)的全部內(nèi)容

  MSComm1.RThreshold=0    //使用查詢方式,關(guān)中斷

  MSComm1.Settings=″9600,n,8,1″ //通信參數(shù)設(shè)置,波

                   //特率9600,不作奇偶校驗,8位數(shù)據(jù)位,1位停止位

  由于每次發(fā)送和接收的數(shù)據(jù)長度都不相同,所以很難確定RThreshold的屬性值,以產(chǎn)生中斷;另外,由于系統(tǒng)采用面向?qū)ο缶幊?每次是以某個事件觸發(fā)發(fā)送和接收數(shù)據(jù)的,因此系統(tǒng)采用查詢InBufferCount的值來決定是否接收數(shù)據(jù),而不采用中斷的方式。

  此外,對于微機與單片機組成的數(shù)據(jù)采集處理系統(tǒng),由于數(shù)據(jù)的傳輸多采用十六進制方式,所以將MSComm設(shè)置為以二進制方式讀取數(shù)據(jù)。

4.2 根據(jù)機房配置數(shù)據(jù)表對系統(tǒng)進行初始化

  因為本系統(tǒng)是采用動態(tài)方式顯示數(shù)據(jù)的,機房的配置(機房代碼、機房名、計算機數(shù)量)是存儲在數(shù)據(jù)庫(“機房監(jiān)控.mdb”)中的機房配置數(shù)據(jù)表中,所以在裝載系統(tǒng)時要取出數(shù)據(jù)表中的數(shù)據(jù)來初始化系統(tǒng)。

  本系統(tǒng)定義了一個二維全局?jǐn)?shù)組Public pcroom(1 To 100,1 To 2)As Variant來存儲機房配置數(shù)據(jù)表中的機房數(shù)據(jù)。第一維表示機房代碼,設(shè)定為最多可以有100間機房,并可以根據(jù)需要更改數(shù)組的下標(biāo)來增加或減少機房的數(shù)量。Pcroom(i,1)表示機房名,Pcroom(i,2)表示該機房的計算機數(shù)量,i表示機房代碼(1≤i≤100)。

4.3 界面中與機房有關(guān)的控件的初始化

  在本系統(tǒng)中,與機房名有關(guān)的控件有4個,其中2個是ComboBox(Combo1,用來顯示當(dāng)前機房列表),一個在主界面(Form1),一個在歷史記錄查詢窗口(frmhistory);另外2個是ListBox,它們在定時監(jiān)測機房設(shè)定窗口(fixchkset),名稱為lstall和lstsel。

5 功能設(shè)計

5.1 監(jiān)測模塊

  監(jiān)測模塊的主要功能是發(fā)監(jiān)測信號給單片機,要求讀取特定計算機的電源開關(guān)狀態(tài)。監(jiān)測部分根據(jù)操作方式可分為定時操作與非定時操作(人工操作);根據(jù)所監(jiān)測的計算機數(shù)量分類,可以分為監(jiān)測全部和部分監(jiān)測(要監(jiān)測的計算機數(shù)量大于等于1,小于機房的計算機總數(shù))。

  定時監(jiān)測功能是為了使機房管理人員能夠及時了解特定計算機的開關(guān)狀態(tài)而設(shè)置的。它允許使用者通過設(shè)定時間間隔及選取要操作的計算機,實現(xiàn)每隔一段時間驅(qū)動一次監(jiān)測事件,從而返回特定計算機在當(dāng)前時刻的開關(guān)狀態(tài)。此項功能不但免去了人工操作的麻煩,而且提高了系統(tǒng)的實時性。使用者不必長時間在電腦面前觀察每臺計算機的狀態(tài)。只要設(shè)置了定時監(jiān)測功能,系統(tǒng)就會每隔一段時間自動進行監(jiān)測,管理人員只要查看歷史記錄就可以知道這些計算機的使用情況。定時監(jiān)測實際上利用一個定時器控件,當(dāng)?shù)竭_定時器的時間間隔時,就觸發(fā)一次監(jiān)測事件。



評論


相關(guān)推薦

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

關(guān)閉