基于VB的機(jī)房計(jì)算機(jī)電源監(jiān)控系統(tǒng)
2系統(tǒng)總體設(shè)計(jì)模塊
根據(jù)本系統(tǒng)要實(shí)現(xiàn)的功能,可以將系統(tǒng)劃分為如圖1所示的3個(gè)模塊。
2.1 監(jiān)控部分
監(jiān)控部分可以分為監(jiān)測(cè)和控制2個(gè)模塊。監(jiān)測(cè)模塊的主要功能是對(duì)整個(gè)機(jī)房的所有計(jì)算機(jī)或某幾臺(tái)計(jì)算機(jī)進(jìn)行開(kāi)關(guān)狀態(tài)的檢測(cè)。主機(jī)通過(guò)串口向單片機(jī)發(fā)送監(jiān)測(cè)信號(hào),然后根據(jù)單片機(jī)的反饋信號(hào)(即模擬的計(jì)算機(jī)開(kāi)關(guān)狀態(tài)數(shù)據(jù))在界面上顯示出模擬狀態(tài)。若沒(méi)有收到單片機(jī)的反饋信號(hào),則提示操作失敗??刂颇K的主要功能是對(duì)機(jī)房的所有計(jì)算機(jī)或某幾臺(tái)計(jì)算機(jī)進(jìn)行開(kāi)/關(guān)控制。主機(jī)通過(guò)串口給單片機(jī)發(fā)開(kāi)/關(guān)信號(hào)。若主機(jī)收到單片機(jī)反饋的操作成功信號(hào),則表示操作成功,在界面上顯示對(duì)應(yīng)計(jì)算機(jī)的開(kāi)/關(guān)狀態(tài)。若沒(méi)有接收到單片機(jī)的操作成功反饋信號(hào),則提示操作失敗。
2.2 系統(tǒng)設(shè)置部分
該模塊對(duì)本系統(tǒng)進(jìn)行一些設(shè)定。如機(jī)房配置:包括機(jī)房代碼、機(jī)房名稱(chēng)、機(jī)房計(jì)算機(jī)數(shù)量的設(shè)定,定時(shí)監(jiān)測(cè)時(shí)間的設(shè)定,生成報(bào)告的設(shè)定等。這些設(shè)定使系統(tǒng)能適應(yīng)不同需要,更靈活地在不同場(chǎng)合運(yùn)作。
2.3 歷史記錄查詢管理部分
該模塊的主要功能是記錄每間機(jī)房中所有計(jì)算機(jī)的開(kāi)機(jī)、關(guān)機(jī)時(shí)間,并提供查詢功能,使管理人員知道某臺(tái)計(jì)算機(jī)開(kāi)關(guān)時(shí)間及在某一時(shí)刻某臺(tái)計(jì)算機(jī)開(kāi)關(guān)狀態(tài)。
3主界面設(shè)計(jì)
用戶界面應(yīng)具備如下的特性:
(1)使用簡(jiǎn)單:界面簡(jiǎn)潔明了、操作方便。
(2)具有容錯(cuò)能力:具有錯(cuò)誤診斷、修正錯(cuò)誤以及出錯(cuò)保護(hù)的功能;
(3)系統(tǒng)能夠按照用戶的希望和需要,提供不同詳細(xì)程度的系統(tǒng)響應(yīng)信息,包括反饋信息、提示信息、幫助信息、出錯(cuò)信息等;
(4)在完成特定功能的前提下,使用戶界面越簡(jiǎn)單越好。用戶界面應(yīng)能保證用戶正確、可靠地使用系統(tǒng),保證有關(guān)程序和數(shù)據(jù)的安全性。
為方便管理人員監(jiān)控,在用戶界面設(shè)計(jì)中采用圖形化人機(jī)界面,力求簡(jiǎn)單靈活。在系統(tǒng)主屏幕中,以1個(gè)圖標(biāo)表示機(jī)房的1臺(tái)電腦,并用不同顏色的圖標(biāo)來(lái)表示電腦開(kāi)關(guān)的不同狀態(tài)。
4 初始化設(shè)計(jì)
在進(jìn)行功能設(shè)計(jì)之前,首先要對(duì)系統(tǒng)進(jìn)行初始化設(shè)計(jì),主要初始化流程如圖2所示。
4.1 通信控件MSComm的設(shè)置
本系統(tǒng)對(duì)控件的具體設(shè)置如下:
MSComm1.CommPort=1 //使用COM1作為通信端口
MSComm1.PortOpen=True //打開(kāi)通信端口
MSComm1.InputMode=comInputModeBinary
//以二進(jìn)制方式讀取數(shù)據(jù)
MSComm1.InputLen=0//每次讀取接收
//緩沖區(qū)的全部?jī)?nèi)容
MSComm1.RThreshold=0 //使用查詢方式,關(guān)中斷
MSComm1.Settings=″9600,n,8,1″ //通信參數(shù)設(shè)置,波
//特率9600,不作奇偶校驗(yàn),8位數(shù)據(jù)位,1位停止位
由于每次發(fā)送和接收的數(shù)據(jù)長(zhǎng)度都不相同,所以很難確定RThreshold的屬性值,以產(chǎn)生中斷;另外,由于系統(tǒng)采用面向?qū)ο缶幊?每次是以某個(gè)事件觸發(fā)發(fā)送和接收數(shù)據(jù)的,因此系統(tǒng)采用查詢InBufferCount的值來(lái)決定是否接收數(shù)據(jù),而不采用中斷的方式。
此外,對(duì)于微機(jī)與單片機(jī)組成的數(shù)據(jù)采集處理系統(tǒng),由于數(shù)據(jù)的傳輸多采用十六進(jìn)制方式,所以將MSComm設(shè)置為以二進(jìn)制方式讀取數(shù)據(jù)。
4.2 根據(jù)機(jī)房配置數(shù)據(jù)表對(duì)系統(tǒng)進(jìn)行初始化
因?yàn)楸鞠到y(tǒng)是采用動(dòng)態(tài)方式顯示數(shù)據(jù)的,機(jī)房的配置(機(jī)房代碼、機(jī)房名、計(jì)算機(jī)數(shù)量)是存儲(chǔ)在數(shù)據(jù)庫(kù)(“機(jī)房監(jiān)控.mdb”)中的機(jī)房配置數(shù)據(jù)表中,所以在裝載系統(tǒng)時(shí)要取出數(shù)據(jù)表中的數(shù)據(jù)來(lái)初始化系統(tǒng)。
本系統(tǒng)定義了一個(gè)二維全局?jǐn)?shù)組Public pcroom(1 To 100,1 To 2)As Variant來(lái)存儲(chǔ)機(jī)房配置數(shù)據(jù)表中的機(jī)房數(shù)據(jù)。第一維表示機(jī)房代碼,設(shè)定為最多可以有100間機(jī)房,并可以根據(jù)需要更改數(shù)組的下標(biāo)來(lái)增加或減少機(jī)房的數(shù)量。Pcroom(i,1)表示機(jī)房名,Pcroom(i,2)表示該機(jī)房的計(jì)算機(jī)數(shù)量,i表示機(jī)房代碼(1≤i≤100)。
4.3 界面中與機(jī)房有關(guān)的控件的初始化
在本系統(tǒng)中,與機(jī)房名有關(guān)的控件有4個(gè),其中2個(gè)是ComboBox(Combo1,用來(lái)顯示當(dāng)前機(jī)房列表),一個(gè)在主界面(Form1),一個(gè)在歷史記錄查詢窗口(frmhistory);另外2個(gè)是ListBox,它們?cè)诙〞r(shí)監(jiān)測(cè)機(jī)房設(shè)定窗口(fixchkset),名稱(chēng)為lstall和lstsel。
5 功能設(shè)計(jì)
5.1 監(jiān)測(cè)模塊
監(jiān)測(cè)模塊的主要功能是發(fā)監(jiān)測(cè)信號(hào)給單片機(jī),要求讀取特定計(jì)算機(jī)的電源開(kāi)關(guān)狀態(tài)。監(jiān)測(cè)部分根據(jù)操作方式可分為定時(shí)操作與非定時(shí)操作(人工操作);根據(jù)所監(jiān)測(cè)的計(jì)算機(jī)數(shù)量分類(lèi),可以分為監(jiān)測(cè)全部和部分監(jiān)測(cè)(要監(jiān)測(cè)的計(jì)算機(jī)數(shù)量大于等于1,小于機(jī)房的計(jì)算機(jī)總數(shù))。
定時(shí)監(jiān)測(cè)功能是為了使機(jī)房管理人員能夠及時(shí)了解特定計(jì)算機(jī)的開(kāi)關(guān)狀態(tài)而設(shè)置的。它允許使用者通過(guò)設(shè)定時(shí)間間隔及選取要操作的計(jì)算機(jī),實(shí)現(xiàn)每隔一段時(shí)間驅(qū)動(dòng)一次監(jiān)測(cè)事件,從而返回特定計(jì)算機(jī)在當(dāng)前時(shí)刻的開(kāi)關(guān)狀態(tài)。此項(xiàng)功能不但免去了人工操作的麻煩,而且提高了系統(tǒng)的實(shí)時(shí)性。使用者不必長(zhǎng)時(shí)間在電腦面前觀察每臺(tái)計(jì)算機(jī)的狀態(tài)。只要設(shè)置了定時(shí)監(jiān)測(cè)功能,系統(tǒng)就會(huì)每隔一段時(shí)間自動(dòng)進(jìn)行監(jiān)測(cè),管理人員只要查看歷史記錄就可以知道這些計(jì)算機(jī)的使用情況。定時(shí)監(jiān)測(cè)實(shí)際上利用一個(gè)定時(shí)器控件,當(dāng)?shù)竭_(dá)定時(shí)器的時(shí)間間隔時(shí),就觸發(fā)一次監(jiān)測(cè)事件。
評(píng)論