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