基于VB 的火災(zāi)自動(dòng)報(bào)警系統(tǒng)軟件設(shè)計(jì)_第1頁(yè)
基于VB 的火災(zāi)自動(dòng)報(bào)警系統(tǒng)軟件設(shè)計(jì)_第2頁(yè)
基于VB 的火災(zāi)自動(dòng)報(bào)警系統(tǒng)軟件設(shè)計(jì)_第3頁(yè)
基于VB 的火災(zāi)自動(dòng)報(bào)警系統(tǒng)軟件設(shè)計(jì)_第4頁(yè)
基于VB 的火災(zāi)自動(dòng)報(bào)警系統(tǒng)軟件設(shè)計(jì)_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于 VB的火災(zāi)自動(dòng)報(bào)警系統(tǒng)軟件設(shè)計(jì) 陳幗鸞 (中山職業(yè)技術(shù)學(xué)院中山 528404) 摘要:火災(zāi)自動(dòng)報(bào)警系統(tǒng)需要消防報(bào)警主機(jī)對(duì)整個(gè)火災(zāi)報(bào)警系統(tǒng)進(jìn)行監(jiān)控,并實(shí)現(xiàn)監(jiān)控 點(diǎn)、火災(zāi)信息的數(shù)據(jù)庫(kù)存儲(chǔ),同時(shí)還需要提供人機(jī)界面給操控員進(jìn)行操控。本文 將描述該軟件系統(tǒng)的主要幾個(gè)模塊的實(shí)現(xiàn)方法。 關(guān)鍵詞:火災(zāi)報(bào)警;監(jiān)控報(bào)警系統(tǒng); VB 中圖分類號(hào): TP 29文獻(xiàn)標(biāo)識(shí)碼: B Software Design Of The Fire Automation Alarming System Based On The VB Language Chen Guoluan Sui Mingxiang (ZhongShan p

2、olytechnic, ZhongShan, 528404) Abstract: Method of fire alarming system design is given in this article. The designers should take into account monitoring for the fire alarming system, implementing the monitoring point, storing the database of fire information, and meanwhile, we should provide a man

3、-machine interface for operator. Key words: Fire alarm;Monitoring and alarming system;VB Language 1. 引言 當(dāng)代火災(zāi)探測(cè)技術(shù)主要解決的問(wèn)題就是提早報(bào)警、降低誤報(bào)警,而提早報(bào)警和降低誤 報(bào)警恰恰是一對(duì)矛盾,這對(duì)火災(zāi)探測(cè)技術(shù)提出了更高的要求。而傳統(tǒng)火災(zāi)探測(cè)技術(shù) (單元探測(cè)技術(shù))已無(wú)法滿足這一要求,因此對(duì)火災(zāi)探測(cè)技術(shù)的研究就顯得尤為重要。本文描述基于 VB的火災(zāi)自動(dòng)報(bào)警軟件系統(tǒng)的主要幾個(gè)模塊的實(shí)現(xiàn)方法。 2. 主程序模塊結(jié)構(gòu) 圖 11為主程序模塊圖。 主菜單模塊 系統(tǒng) 管理模塊 監(jiān)控點(diǎn)設(shè)置模塊 圖形瀏

4、覽模塊 火警顯示模塊 資料查詢 模塊圖 11 主程序模塊 主程序中各模塊的作用如下: 系統(tǒng)管理模塊:對(duì)各種操作設(shè)置不同的權(quán)限,只有超級(jí)用戶才可以設(shè)置監(jiān)控點(diǎn)。 用戶級(jí)除了設(shè)置監(jiān)控點(diǎn)之外,其它都可以操作。 監(jiān)控點(diǎn)設(shè)置模塊:超級(jí)用戶可以設(shè)置、取消監(jiān)控點(diǎn)。 圖形瀏覽模塊:用于對(duì)公司內(nèi)的所有廠區(qū)的圖形,探測(cè)器進(jìn)行查看。 火警顯示模塊:用于處理出現(xiàn)火警時(shí)的信息。 資料查詢:用于對(duì)系統(tǒng)報(bào)警信息,監(jiān)控點(diǎn)的設(shè)置信息等的查詢。 3串口通訊程序 火災(zāi)自動(dòng)報(bào)警系統(tǒng)有一串行接口(即 RS232串行接口),在消防報(bào)警主機(jī)接到探測(cè) 器的報(bào)警信號(hào)后,立即在主機(jī)的串口輸出報(bào)警信息,如果此時(shí)消防報(bào)警主機(jī)己和微機(jī)串行 口相連接,則

5、微機(jī)即可對(duì)接受到的信息用軟件進(jìn)行預(yù)處理。計(jì)算機(jī)系統(tǒng)等外設(shè)是通過(guò)火災(zāi) 報(bào)警主機(jī)內(nèi)置卡上的 RS- 232接口聯(lián)接的:報(bào)警主機(jī)將系統(tǒng)中的各種信息傳給計(jì)算機(jī)。 Visual Basic中有一個(gè)名為 Microsoft Communication Control(簡(jiǎn)稱 MSComm)的通訊控件1。 MSComm 控件通過(guò)串行端口傳輸和接收數(shù)據(jù),為應(yīng)用程序提供串行通訊功能。 MSComm控件在串口編程時(shí)非常方便 ,程序員不必去花時(shí)間去了解較為復(fù)雜的 API函數(shù), 而且在 VC、VB、Delphi等語(yǔ)言中均可使用。 事件驅(qū)動(dòng)通訊是處理串行端口交互作用的一種非常有效的方法。在許多情況下,在事 件發(fā)生時(shí)需要得

6、到通知,例如,在串口接收緩沖區(qū)中有字符,或者 Carrier Detect (CD) 或 Request To Send (RTS) 線上一個(gè)字符到達(dá)或一個(gè)變化發(fā)生時(shí)。 在這些情況下,可以利用 MSComm 控件的 OnComm 事件捕獲并處理這些通訊事件。 OnComm事件還可以檢查和處理通訊錯(cuò)誤。所有通訊事件和通訊錯(cuò)誤的列表,參閱 CommEvent屬性。 在編程過(guò)程中,就可以在 OnComm事件處理函數(shù)中加入自己的處理代碼。這種方法的優(yōu)點(diǎn)是程序響應(yīng)及 時(shí),可靠性高。每個(gè) MSComm 控件對(duì)應(yīng)著一個(gè)串行端口。如果應(yīng)用程序需要訪問(wèn)多個(gè)串 行端口,必須使用多個(gè) MSComm控件2。 MSCo

7、mm 控件有很多重要的屬性,以下為幾個(gè)關(guān)鍵屬性: CommPort設(shè)置并返回通訊端口號(hào)。 Settings以字符串的形式設(shè)置并返回波特率、奇偶校驗(yàn)、數(shù)據(jù)位、停止位。 PortOpen 設(shè)置并返回通訊端口的狀態(tài)。也可以打開(kāi)和關(guān)閉端口。 Input 從接收緩沖區(qū)返回和刪除字符。 Output向傳輸緩沖區(qū)寫(xiě)一個(gè)字符串。 4數(shù)據(jù)庫(kù)管理模塊設(shè)計(jì) 4.1 數(shù)據(jù)庫(kù)的設(shè)計(jì) Access數(shù)據(jù)庫(kù)主要由表組成,表則由記錄組成,記錄由字段組成。在建立數(shù)據(jù)庫(kù)之前, 首先確定數(shù)據(jù)庫(kù)里要保存的數(shù)據(jù)信息,字段里定義要存儲(chǔ)的數(shù)據(jù)的類型。 我們?cè)O(shè)計(jì)了兩個(gè)數(shù)據(jù)庫(kù),用于保存監(jiān)控點(diǎn)的信息和報(bào)警信息。監(jiān)控點(diǎn)的信息需要超級(jí) 用戶在系統(tǒng)運(yùn)行

8、以后,根據(jù)火災(zāi)自動(dòng)報(bào)警系統(tǒng)的竣工圖來(lái)輸入每一個(gè)探測(cè)器的區(qū)號(hào)、編碼、 X坐標(biāo)值、Y坐標(biāo)值、探測(cè)點(diǎn)所屬的圖形文件的編號(hào)以及描述信息。此數(shù)據(jù)庫(kù)內(nèi)的信息比 較重要,只有超級(jí)用戶才能進(jìn)行操作,數(shù)據(jù)庫(kù)采用密碼設(shè)置管理,在每次修改信息時(shí)都要 輸入密碼。確保數(shù)據(jù)庫(kù)的可靠。正常運(yùn)行以后,在查詢每一個(gè)平面圖時(shí)需要檢索探測(cè)器信 息,調(diào)用此數(shù)據(jù)庫(kù)內(nèi)的資料。將探測(cè)器顯示在相應(yīng)的位置上。報(bào)警信息數(shù)據(jù)庫(kù)用來(lái)存儲(chǔ)報(bào) 警信息,如報(bào)警探測(cè)器編碼,報(bào)警日期,報(bào)警時(shí)間等。作為以后的檢查,維修等使用。 監(jiān)控點(diǎn)信息庫(kù)的結(jié)構(gòu)設(shè)計(jì)如下: 表 12 監(jiān)控點(diǎn)數(shù)據(jù)庫(kù)結(jié)構(gòu) ID Zone Code Xposition Yposition MapNu

9、m 其中 Zone字段存儲(chǔ)探測(cè)器的區(qū)號(hào); Code字段存儲(chǔ)探測(cè)器的編碼; xposition,YPosition 字段存儲(chǔ)探測(cè)器在圖中的 X、Y坐標(biāo)地址; MapNum存儲(chǔ)探測(cè)器所屬地圖號(hào); Describe存儲(chǔ)探測(cè)器的描述。 報(bào)警數(shù)據(jù)庫(kù)內(nèi)的信息用于報(bào)警信息的記錄。以后的維修等工作可以參考其中的信息。 表 13為報(bào)警信息數(shù)據(jù)庫(kù): 表 13 報(bào)警信息數(shù)據(jù)庫(kù)結(jié)構(gòu) ID Zone Code Date Time 設(shè)置數(shù)據(jù)庫(kù)安全 Microsoft Access提供了設(shè)置數(shù)據(jù)庫(kù)安全的兩種傳統(tǒng)方法:為打開(kāi)的數(shù)據(jù)庫(kù)設(shè)置密碼, 或設(shè)置用戶級(jí)安全,以限制允許用戶訪問(wèn)或更改數(shù)據(jù)庫(kù)的那一部分。除這些方法之外,還 可

10、將數(shù)據(jù)庫(kù)保存為 MDB文件以刪除數(shù)據(jù)庫(kù)中可編輯的 Visual Basic代碼以防止對(duì)窗體、報(bào) 表和模塊的設(shè)計(jì)進(jìn)行修改。 設(shè)置密碼 最簡(jiǎn)單的方法是為打開(kāi)的數(shù)據(jù)庫(kù)設(shè)置密碼。設(shè)置密碼后,打開(kāi)數(shù)據(jù)庫(kù)時(shí)將顯示要求輸 入密碼的對(duì)話框。只有鍵入正確密碼的用戶才可以打開(kāi)數(shù)據(jù)庫(kù)。這個(gè)方法是安全的 (Microsoft Access對(duì)密碼進(jìn)行加密,因此直接查看數(shù)據(jù)庫(kù)文件是無(wú)法得到密碼的),但只 應(yīng)用于打開(kāi)數(shù)據(jù)庫(kù)。在數(shù)據(jù)庫(kù)打開(kāi)之后,數(shù)據(jù)庫(kù)中的所有對(duì)象對(duì)用戶都將是可用的(除非 定義用戶級(jí)安全,稍后待述)。對(duì)于在某個(gè)用戶組中共享的數(shù)據(jù)庫(kù)或是單機(jī)上的數(shù)據(jù)庫(kù),設(shè) 置密碼通常就足夠了。 用戶級(jí)安全設(shè)置數(shù)據(jù)庫(kù)安全的最靈活和最

11、廣泛的方法是設(shè)置用戶級(jí)安全。這種安全類似于很多網(wǎng)絡(luò)中 使用的方法,它要求用戶在啟動(dòng) Microsoft Access時(shí)確認(rèn)自己的身份并鍵入密碼。在工作組 信息文件中,用戶標(biāo)識(shí)為組的成員。 Microsoft Access提供兩種默認(rèn)的組:管理員(稱為管理員組)和用戶(稱為用戶組),但也可定義其它的組。 4.2 數(shù)據(jù)庫(kù)管理 數(shù)據(jù)庫(kù)管理模塊,是數(shù)據(jù)庫(kù)與用戶之間的交互接口,因此,其設(shè)計(jì)的好壞直接關(guān)系到 用戶對(duì)數(shù)據(jù)庫(kù)的使用狀況。主要實(shí)現(xiàn)功能如下: (1)數(shù)據(jù)維護(hù)功能:用戶能夠在數(shù)據(jù)庫(kù)中進(jìn)行數(shù)據(jù)的增加、刪除、修改等操作,從而 不斷地完善數(shù)據(jù)庫(kù)。 (2)數(shù)據(jù)查詢功能:用戶向系統(tǒng)提出查詢要求后,數(shù)據(jù)庫(kù)管理系

12、統(tǒng)就會(huì)在數(shù)據(jù)庫(kù)中進(jìn) 行匹配,找出滿足查詢條件的記錄。在查詢過(guò)程中,數(shù)據(jù)庫(kù)數(shù)據(jù)以只讀方式打開(kāi),以確保 數(shù)據(jù)庫(kù)中的數(shù)據(jù)不被更改。 (3)數(shù)據(jù)瀏覽功能:用于對(duì)數(shù)據(jù)庫(kù)進(jìn)行快速瀏覽。瀏覽可分為全局瀏覽和自定義瀏覽, 全局瀏覽以只讀方式顯示整個(gè)數(shù)據(jù)庫(kù)的內(nèi)容,自定義瀏覽由用戶指定需要瀏覽的字段。 VB6.0包的數(shù)據(jù)庫(kù)編程功能給編程人員帶來(lái)了許多方便。只要有一個(gè)連接到那個(gè)數(shù)據(jù) 源的 OLEDB驅(qū)動(dòng)器即可3。ADO(ActiveX Data Object)是一種可以接入任何數(shù)據(jù)庫(kù)和數(shù)據(jù) 源的技術(shù),是用來(lái)訪問(wèn)數(shù)據(jù)庫(kù)的高級(jí)編程對(duì)象模式,是編寫(xiě)大量的數(shù)據(jù)庫(kù)代碼時(shí)必須用到 的技術(shù),而任何與記錄集關(guān)聯(lián)的 ADO方法都可以

13、通過(guò)數(shù)據(jù)庫(kù)環(huán)境引用來(lái)使用。 ADO包括的七個(gè)對(duì)象分別如下: Command一一定義對(duì)數(shù)據(jù)源進(jìn)行操作的命令; Connection一一建立一個(gè)數(shù)據(jù)源的連接; Error一 一提供數(shù)據(jù)訪問(wèn)錯(cuò)誤的細(xì)節(jié); Parameter一一表示 Command對(duì)象的參數(shù); Property一一表示由數(shù)據(jù)源定義 ADO對(duì)象的動(dòng)態(tài)特性; Recordset一一數(shù)據(jù)庫(kù)命令結(jié)果集對(duì)象。 ADO訪問(wèn)數(shù)據(jù)庫(kù)的基本步驟: 創(chuàng)建數(shù)據(jù)庫(kù)源名(即創(chuàng)建和配置 ODBC數(shù)據(jù)源);創(chuàng)建數(shù)據(jù)庫(kù)連接;操作數(shù)據(jù)庫(kù);關(guān)閉 數(shù)據(jù)對(duì)象和連接。 現(xiàn)列舉本火災(zāi)報(bào)警系統(tǒng)的數(shù)據(jù)庫(kù)管理模塊程序設(shè)計(jì)要點(diǎn)4 (1)數(shù)據(jù)庫(kù)瀏覽和查詢功能的實(shí)現(xiàn) Sub mymoven

14、ext() Dim rst As ADODB.Recordset Dim cnn As Nes ADODB.Connection Dim fld As ADODB.Field 打開(kāi)數(shù)據(jù)庫(kù) cnn.Open “provider=Microsoft.jet.oledb.4.0” & “data_source=xiaofang.mdb” 瀏覽數(shù)據(jù)庫(kù) Set rst = New ADODB.Recordset rst.Open “select *from table_num”, cnn, adOpenKeyset,adLockOptimistic With rst 關(guān)閉數(shù)據(jù)記錄集對(duì)象 rst.clos

15、e cnn.close 數(shù)據(jù)庫(kù)查詢 Private Sub Command2_click() DataGrid1.Visible=True Adodc1.RecordSource= “select * from table_num where smoke= “&Text1.Text &” and temperature = “&Text2.Text &” and CO = “&Text3.Text &” Adodc1.Refresh Label4.Visible = True End Sub (2)添加數(shù)據(jù)庫(kù)記錄 Sub myaddrecord() Dim rst As ADODB.Recor

16、dset Dim cnn As New ADODB.Connection Dim fld As ADODB.Field 打開(kāi)數(shù)據(jù)庫(kù) cnn.Open “Provider=Microsoft.jet.oledb.4.0;” & “data source= shuju.mdb;” Set rst = New ADODB.Recordset rst.Open “select * frome table_num”, cnn, adOpenKeyset, adLockOptimistic With rst 添加記錄 rst.AddNew rst!smoke=Val(Text1.Text) rst!tem

17、perature=Val(Text2.Text) rst.!CO=Val(Text3.Text) rst!p=Val(Text10.Text) 保存記錄! ! rst.Update End Sub 5小結(jié) 本文創(chuàng)新點(diǎn)在于:VB的火災(zāi)報(bào)警監(jiān)控軟件的設(shè)計(jì)方法,完成了報(bào)警主機(jī)的程序設(shè)計(jì), 能在控制中心對(duì)火災(zāi)報(bào)警系統(tǒng)進(jìn)行實(shí)時(shí)監(jiān)控,以及完成了火災(zāi)自動(dòng)報(bào)警系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì), 記錄監(jiān)控點(diǎn)信息和報(bào)警歷史信息。從而具體提出了串口通訊模塊和數(shù)據(jù)庫(kù)模塊的新的設(shè)計(jì) 思路。 參考文獻(xiàn): 1程凱,秦勃,鄭榮兒. 數(shù)據(jù)動(dòng)態(tài)監(jiān)測(cè)及可視化管理 J.微計(jì)算機(jī)信息,2007,3-3:19-21. 2段蜂,段偉等. VB串行通信高級(jí)編程技巧,現(xiàn)代計(jì)算機(jī),2001.2 3張良均,基于 ODBC接口的動(dòng)態(tài)數(shù)據(jù)庫(kù)設(shè)計(jì),微型機(jī)與應(yīng)用,2000.8 4宋玲,李陶深,陳樂(lè), V

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論