孫媛
摘要:針對(duì)我國樓宇的特點(diǎn),提出了與之適宜的樓宇煤氣監(jiān)控系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)。使用Visual Basic 開發(fā)了樓宇煤氣監(jiān)控系統(tǒng),重點(diǎn)討論了監(jiān)控系統(tǒng)上位機(jī)的數(shù)據(jù)管理方法。該煤氣監(jiān)控系統(tǒng)實(shí)現(xiàn)了遠(yuǎn)程抄表、報(bào)警監(jiān)控,是一種經(jīng)濟(jì)實(shí)用的監(jiān)控系統(tǒng)管理方案,對(duì)于其他監(jiān)控系統(tǒng)也有一定的借鑒作用。
關(guān)鍵詞:監(jiān)控網(wǎng)絡(luò);數(shù)據(jù)管理;上位機(jī); VB
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:B
Design and implementation of data management system of
upper computer of the gas monitoring based on VB
SUN Yuan
( Beijing Wuzi University (BWU), Beijing 101149, China.)
Abstract: A network configuration of monitoring and control system of buildings is represented based on the characteristic of buildings in china. Using Visual Basic, the paper develops a monitor system of buildings. Data management methods of the upper computer are mainly discussed. The system achieves remote meter writing and automatic alarming. Based on the aboved, a more economical solution. It can be used as reference for other monitoring system.
Keywords: monitoring network ; data management ; upper computer; VB
1系統(tǒng)網(wǎng)絡(luò)組成
安裝在樓宇公寓中的煤氣表(或天燃?xì)獗恚?,除了可以滿足用于常規(guī)的顯示等基本需求之外,還都重點(diǎn)配備了脈沖輸出單元,煤氣控制器就是通過實(shí)時(shí)采樣計(jì)數(shù)脈沖獲得表的消耗量。各煤氣控制器能夠完成煤氣的采集、存儲(chǔ)、調(diào)整、顯示、上傳和接收數(shù)據(jù)等以及煤氣報(bào)警等功能。[1]
將各煤氣控制器作為監(jiān)控網(wǎng)絡(luò)的節(jié)點(diǎn),與上位機(jī)PC主機(jī)組成基于RS485網(wǎng)絡(luò)。標(biāo)準(zhǔn)RS-485作為一種多點(diǎn)、差分?jǐn)?shù)據(jù)傳輸?shù)碾姎庖?guī)范現(xiàn)已成為業(yè)界應(yīng)用最為廣泛的標(biāo)準(zhǔn)通信接口之一[2]。這種通信接口允許在簡單的一對(duì)雙絞線上進(jìn)行多點(diǎn)、雙向通信,同時(shí)其自身所具備的噪聲抑制能力、數(shù)據(jù)傳輸速率、電纜長度及可靠性則是其他標(biāo)準(zhǔn)無法比擬的。但是計(jì)算機(jī)本身并未設(shè)置專用的RS-485通信口。而且,由于RS-485與RS-232的工作電平有所不同,工作方式與控制機(jī)理也有差別,若利用現(xiàn)成的串口來實(shí)現(xiàn)RS-485通信時(shí),就需要在硬件與軟件展開進(jìn)一步設(shè)計(jì)。在串口采用了RS-232/RS-485轉(zhuǎn)換卡,在煤氣控制器中將MAX487與89C52單片機(jī)串行接口的TXD(發(fā)送)與RXD(接收)相連,可將TTL電壓轉(zhuǎn)換成RS485差分電壓與上位機(jī)PC機(jī)MAX485接應(yīng),如此即完成了硬件的電平轉(zhuǎn)換功能。綜上可見,接口轉(zhuǎn)換器在單片機(jī)和上位機(jī)PC之間發(fā)揮了聯(lián)結(jié)作用,在硬件上正是研發(fā)通信的關(guān)鍵所在,系統(tǒng)結(jié)構(gòu)如圖1所示。[3]
圖1系統(tǒng)結(jié)構(gòu)組成
Fig.1 system structure
2系統(tǒng)需求分析
煤氣監(jiān)控系統(tǒng)上位機(jī)通過抄表和巡檢將樓宇抄表系統(tǒng)和報(bào)警系統(tǒng)相結(jié)合,實(shí)現(xiàn)煤氣表遠(yuǎn)程抄收、自動(dòng)計(jì)費(fèi)、費(fèi)用拖欠分析;報(bào)表統(tǒng)計(jì)打??;重要數(shù)據(jù)備份,數(shù)據(jù)加密;自動(dòng)查詢樓宇內(nèi)所有煤氣控制器的報(bào)警狀態(tài),及時(shí)對(duì)各種報(bào)警信號(hào)做出響應(yīng),向監(jiān)控中心工作人員提供報(bào)警業(yè)主有關(guān)地址、電話等詳細(xì)信息,同時(shí)在樓宇電子地圖上顯示報(bào)警用戶區(qū)域位置以便安防人員準(zhǔn)確及時(shí)處警。上位機(jī)系統(tǒng)管理程序由Visual Basic 6.0編制,VB6.0具有功能強(qiáng)大、簡便、實(shí)用、開發(fā)周期短等特點(diǎn),利用VB6.0編制的人機(jī)界面直觀,操作方便。[4]
2.1數(shù)據(jù)庫需求分析
煤氣監(jiān)控系統(tǒng)所涉及到的實(shí)體是樓宇用戶中煤氣表、煤氣警的探頭;聯(lián)系用戶與控制中心的樞紐煤氣控制器;負(fù)責(zé)管理煤氣表消耗量和警情記錄的控制中心的上位機(jī)計(jì)算機(jī)。煤氣控制器的主要任務(wù)負(fù)責(zé)采集脈沖來記錄煤氣表的數(shù)據(jù)和報(bào)警記錄,并將這些數(shù)據(jù)遠(yuǎn)傳到中央控制中心的上位機(jī),上位機(jī)則根據(jù)傳來的信息負(fù)責(zé)打印報(bào)表和實(shí)時(shí)警情記錄。在創(chuàng)建數(shù)據(jù)庫系統(tǒng)之前,應(yīng)先將管理工作覆蓋范圍的數(shù)據(jù)信息的主要內(nèi)容引入分析、歸類處理環(huán)節(jié)以免在庫結(jié)構(gòu)建成后,因需要增加內(nèi)容而二次調(diào)整修改相應(yīng)結(jié)構(gòu),因此,在建庫之前必須明確各類數(shù)據(jù)信息的整體流向,再根據(jù)具體情況,建立包含有主要數(shù)據(jù)需求格式的數(shù)據(jù)庫。
其中,每個(gè)功能模塊都預(yù)設(shè)定制有其下隸屬的數(shù)據(jù)表記錄以及與此相關(guān)的記錄,因?yàn)樵谶M(jìn)行煤氣表消耗量和報(bào)警信息現(xiàn)場(chǎng)采集時(shí)主要的實(shí)體執(zhí)行者是設(shè)在各個(gè)單元中的煤氣控制器,而控制器可由其端口號(hào)和地址唯一同步表示,又每一單元也只有一個(gè)控制器,為此在采集到煤氣表消耗量和報(bào)警情況時(shí)除記錄這些基礎(chǔ)數(shù)據(jù)信息外,仍然用用戶名、以及控制器的端口和地址為主題而呈現(xiàn)結(jié)果記錄,這樣煤氣表消耗和警情就可以精確到每一單元、每一個(gè)探頭、甚至表。
2.2數(shù)據(jù)庫中數(shù)據(jù)表的分類
在建立煤氣監(jiān)控系統(tǒng)數(shù)據(jù)庫時(shí),用到很多表來存儲(chǔ)數(shù)據(jù)。為了便于管理,將數(shù)據(jù)表分為以下3類。
1)一類:基本信息表。操作員根據(jù)樓宇的實(shí)際情況錄入“用戶信息表”、“控制器信息表” 、“登錄表”等。這些表是數(shù)據(jù)管理的基礎(chǔ)模式表,其他表均依據(jù)基本信息表的提供內(nèi)容而演繹生成。
2)二類:數(shù)據(jù)管理程序在運(yùn)行時(shí)產(chǎn)生的臨時(shí)表。上位機(jī)的數(shù)據(jù)管理中煤氣表、報(bào)警的實(shí)時(shí)數(shù)據(jù)是經(jīng)由通信控件對(duì)煤氣控制器的巡檢而得,但是巡檢結(jié)果是原始數(shù)據(jù),因而需要提交
PC機(jī)進(jìn)行判斷、處理。在判斷、處理過程中,就會(huì)生成一些臨時(shí)的表,例如內(nèi)部實(shí)時(shí)信息表等,待此次巡檢、抄表完畢將會(huì)刪除這些表。
3)三類:其他信息表。用來存儲(chǔ)煤氣表,報(bào)警初始化的信息;巡檢、抄表的原始數(shù)據(jù);經(jīng)過判斷、處理之后的數(shù)據(jù),用于查看、統(tǒng)計(jì)的表。
數(shù)據(jù)結(jié)構(gòu)主要由20余個(gè)表以及相關(guān)的存儲(chǔ)過程組成,這里僅重點(diǎn)給出如下表格概述。
1)用戶信息表。用于記錄用戶名、地址、電話號(hào)碼、單元電子地圖的相對(duì)位置。
2)控制器信息表。用于呈現(xiàn)控制器的名稱、端口、地址、型號(hào)、狀態(tài)。
3)登錄表。用于控制登陸的訪問權(quán)限。
4)內(nèi)部實(shí)時(shí)信息表。巡檢過程中的報(bào)警情況臨時(shí)表,在每次巡檢結(jié)束后,就把本表中的數(shù)據(jù)導(dǎo)入查看用表。
5)煤氣表初始化表。用于存儲(chǔ)煤氣表初始化數(shù)值。
6)控制器查詢表。 用于查詢控制器報(bào)警情況及煤氣表的讀數(shù)。
7)記錄煤氣表數(shù)據(jù)及報(bào)警情況的表。該表為查看及統(tǒng)計(jì)時(shí)的依據(jù),相應(yīng)的信息由查詢表中導(dǎo)入。[5]
2.3數(shù)據(jù)庫中典型的數(shù)據(jù)表的字段列表
編輯模塊中的用戶信息表(UseTab)字段列表如表1所示。
3窗體介紹
上位機(jī)系統(tǒng)主窗體的模塊分別由數(shù)據(jù)庫編輯、運(yùn)行、查看、報(bào)表管理、系統(tǒng)管理等部分組成。其中,數(shù)據(jù)庫“編輯”模塊主要完成數(shù)據(jù)的錄入,“運(yùn)行”模塊完成與用戶控制器的通信,“查看”是瀏覽在運(yùn)行中得到的數(shù)據(jù),“報(bào)表管理”將煤氣等數(shù)據(jù)以報(bào)表的形式進(jìn)行管理,“系統(tǒng)管理”用于管理系統(tǒng)等,主窗體MDIForm對(duì)應(yīng)的主菜單如圖2所示。
4結(jié)束語
本系統(tǒng)對(duì)數(shù)據(jù)庫的操作手段比較豐富,處理速度較快,而且具有較好的實(shí)用性。軟件結(jié)構(gòu)設(shè)計(jì)較合理、可重用性好、易于修改和調(diào)試。本系統(tǒng)在VB6.0下已經(jīng)完成了實(shí)現(xiàn),并在某些樓宇中啟動(dòng)了試運(yùn)行,取得了良好的效果,為同類型監(jiān)控系統(tǒng)的開發(fā)提供方法、經(jīng)驗(yàn)和理論依據(jù),具有廣闊的前景前景和市場(chǎng)潛力。
參考文獻(xiàn):
[1] 趙建領(lǐng). 51單片機(jī)開發(fā)與應(yīng)用技術(shù)詳解[M]. 北京:電子工業(yè)出版社,2009.
[2] 李朝青. 單片機(jī)原理及串行外設(shè)接口技術(shù)[M]. 北京:北京航空航天大學(xué)出版社,2008.
[3] Behrouz Forouzan. 數(shù)據(jù)通信與網(wǎng)絡(luò)[M]. 潘億,朱丹宇,譯. 北京: 機(jī)械工業(yè)出版,2001.
[4] 李罡,丁莉. Visual Basic 6.0中文版編程實(shí)例詳解[M]. 北京:電子工業(yè)出版社,2000.
[5] Curtis Smith. VB6.0數(shù)據(jù)庫編程[M]. 陳海標(biāo),譯. 北京:清華大學(xué)與西蒙出版公司,2000.