關(guān) 閉

新聞中心

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

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

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

  摘 要: 用VB開(kāi)發(fā)的一種方案。

本文引用地址:http://m.butianyuan.cn/article/202541.htm

  關(guān)鍵詞: 串行通信 單片機(jī) Visual Basic

  為了能實(shí)時(shí)、高效、方便地監(jiān)控、管理設(shè)備,并實(shí)現(xiàn)對(duì)的計(jì)算機(jī)集中監(jiān)控、少人值守的目標(biāo),本文提出了一個(gè)機(jī)房集中方案。本系統(tǒng)的目標(biāo)是:通過(guò)相關(guān)軟件、硬件的設(shè)計(jì),實(shí)現(xiàn)由1臺(tái)主機(jī)(上位機(jī))通過(guò)單片機(jī)(下位機(jī))監(jiān)控多個(gè)機(jī)房中多臺(tái)計(jì)算機(jī)的開(kāi)關(guān)情況。即利用主機(jī)的監(jiān)控軟件與單片機(jī)進(jìn)行通信,以實(shí)現(xiàn)對(duì)計(jì)算機(jī)電源的監(jiān)控功能。本系統(tǒng)應(yīng)具備如下功能:

  (1)通過(guò)鍵盤(pán)或鼠標(biāo)對(duì)多臺(tái)計(jì)算機(jī)進(jìn)行開(kāi)關(guān)控制并對(duì)整個(gè)機(jī)房的所有計(jì)算機(jī)進(jìn)行開(kāi)關(guān)狀態(tài)的檢測(cè)。

  (2)上位機(jī)與下位機(jī)能進(jìn)行可靠、實(shí)時(shí)的通信。

  (3)界面設(shè)計(jì)清晰,功能齊全。備有菜單及各機(jī)房的電腦分布圖,并帶有右鍵快速菜單。

  (4)能根據(jù)不同機(jī)房中不同電腦臺(tái)數(shù)自動(dòng)調(diào)整布局。

1軟硬件的選取及上下位機(jī)間通信協(xié)議的定義

  基于上述目標(biāo)與功能,要實(shí)現(xiàn)本系統(tǒng),首先要解決以下幾個(gè)問(wèn)題:

1.1 主機(jī)與單片機(jī)之間通信信道的選取

  串行通信一次只傳1個(gè)位,處理的數(shù)據(jù)電壓只有一個(gè)準(zhǔn)位,因此不容易漏失數(shù)據(jù)。如果再加上一些防范措施,數(shù)據(jù)漏失就更不容易發(fā)生了。串行通信端口(RS-232)是每部計(jì)算機(jī)上的必要配備,通常含有COM1與COM2 2個(gè)信道,一般的計(jì)算機(jī)將COM1以9 Pin的接頭接出,而以25 Pin的接頭將COM2接出。新一代的計(jì)算機(jī)均以9 Pin的接頭接出所有的RS-232通信端口。通常與計(jì)算機(jī)連接的溝通接口是RS-232,它不僅實(shí)用簡(jiǎn)單,而且價(jià)格便宜。因此本系統(tǒng)采用RS-232串行通信方式用于上、下位機(jī)間的通信。

1.2 監(jiān)控軟件開(kāi)發(fā)平臺(tái)的選取

  Visual Basic是Windows環(huán)境下的一個(gè)可視化軟件開(kāi)發(fā)平臺(tái)。由于開(kāi)放式的結(jié)構(gòu),Visual Basic允許外掛控件,因此有更多的廠商為Visual Basic撰寫(xiě)控件,供系統(tǒng)開(kāi)發(fā)者選用,從而為開(kāi)發(fā)者提供了更方便的系統(tǒng)開(kāi)發(fā)方案。這些控件可用于設(shè)計(jì)界面和實(shí)現(xiàn)各種功能,減少了編程人員的工作量,也簡(jiǎn)化了界面設(shè)計(jì)過(guò)程,從而有效地提高了應(yīng)用程序的運(yùn)行效率和可靠性。所以,本系統(tǒng)采用Visual Basic作為監(jiān)控軟件平臺(tái)。

  MSComm是Microsoft公司提供的簡(jiǎn)化Windows下串行通信編程的ActiveX控件。MSComm控件提供了二種處理通信的方法:事件驅(qū)動(dòng)法及查詢法。

  (1)事件驅(qū)動(dòng)法:OnComm事件是MSComm控件提供的惟一的事件。當(dāng)有數(shù)據(jù)到達(dá)端口或端口狀態(tài)發(fā)生改變或有通信錯(cuò)誤產(chǎn)生時(shí),都將觸發(fā)OnComm事件,以捕獲和處理這些通信事件和通信中產(chǎn)生的錯(cuò)誤信息。通過(guò)查詢CommEvent屬性值,可以獲得關(guān)于通信事件和通信錯(cuò)誤的完整信息,進(jìn)而進(jìn)行處理。這是一種功能很強(qiáng)的處理串行口活動(dòng)的方法,具有程序響應(yīng)及時(shí)、可靠性高等優(yōu)點(diǎn)。

  (2)查詢法:MSComm控件的CommEvent屬性返回通信中產(chǎn)生的事件和錯(cuò)誤類型,由通信控件自動(dòng)檢測(cè)和跟蹤通信狀態(tài)后設(shè)置。因此,在小程序中,程序員可以在每個(gè)重要的程序功能之后通過(guò)檢查CommEvent屬性值來(lái)檢測(cè)事件和通信錯(cuò)誤。本系統(tǒng)采用查詢法作為處理通信的方法。

1.3 單片機(jī)型號(hào)以及芯片的選取

  單片機(jī)主要采用Intel公司MCS-51系列8031單片機(jī),并使用MCS-51匯編語(yǔ)言開(kāi)發(fā)。

1.4 監(jiān)控軟件與單片機(jī)之間通信協(xié)議的定義

  主機(jī)與單片機(jī)要進(jìn)行實(shí)時(shí)、可靠的通信,必須定義一套良好的通信協(xié)議。

  本系統(tǒng)的通信參數(shù)設(shè)置如表1所示,采用的通信協(xié)議如表2所示。

  其中:Roomadd:機(jī)房代碼(即單片機(jī)的地址碼),1個(gè)字節(jié),由01H開(kāi)始編碼。

  Command:命令碼,1個(gè)字節(jié)(命令碼的格式見(jiàn)表3)。

  Byte count:數(shù)據(jù)長(zhǎng)度,要監(jiān)控的計(jì)算機(jī)總數(shù)量+1(最后1幀1為校驗(yàn)幀),1個(gè)字節(jié)。

  PCadd:PC編號(hào),每個(gè)PC編號(hào)1個(gè)字節(jié),由01H開(kāi)始編碼。

Checksum:算術(shù)校驗(yàn)和,1個(gè)字節(jié),是所有PC編號(hào)的算術(shù)相加后對(duì)256取模而得到的。

  Cmdresponse:單片機(jī)回應(yīng)的采集數(shù)據(jù),具體格式見(jiàn)表4。

  其中:D7為1,表示該P(yáng)C狀態(tài)為“開(kāi)”;D7為0,表示該P(yáng)C狀態(tài)為“關(guān)”。PC地址由01H開(kāi)始編碼。約定00H為接收成功反饋信號(hào)。


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

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

關(guān)閉