国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

智能小區(qū)集中抄表系統(tǒng)數(shù)據(jù)的采集與監(jiān)控

2014-07-18 20:35賈琦
科技與創(chuàng)新 2014年5期
關(guān)鍵詞:數(shù)據(jù)采集

摘 要:智能小區(qū)電表、水表和煤氣表數(shù)據(jù)采集和監(jiān)控的實現(xiàn),對降低管理費用、提高物業(yè)管理水平具有舉足輕重的作用。利用VB6.0 ActiveX通信控件MSComm和C-MBUS總線實現(xiàn)了單臺PC機(jī)與多個智能表的串行通信和監(jiān)控,可以集中控制分散設(shè)備、采集計量數(shù)據(jù)和自動上報。

關(guān)鍵詞:智能小區(qū);集中抄表系統(tǒng);數(shù)據(jù)采集;智能儀表

中圖分類號:TP274 文獻(xiàn)標(biāo)識碼:A 文章編號:2095-6835(2014)05-0129-03

近年,智能小區(qū)逐漸由構(gòu)想變成了現(xiàn)實,其中水、電、煤氣的數(shù)據(jù)遠(yuǎn)傳是其重要組成部分。它的實現(xiàn)對提高物業(yè)管理水平和工作效率、降低管理費用具有十分重要的意義,目前正被廣泛地推廣和運用。

本文利用C-MBUS(China Meter-Bus)總線和Vb6.0的ActiveX──Microsoft Communication控鍵,實現(xiàn)了Windows環(huán)境下1臺PC機(jī)對小區(qū)“三表”的串行通信功能,并完成對數(shù)據(jù)的采集和監(jiān)控。

C-MBUS是一種低成本的、一點對多點的通訊總線,具有通訊容量大(500點)、通訊速率高(9 600 bps)、抗干擾能力強(qiáng)、功耗成本低和設(shè)計簡單等特點。此外,C-MBUS搭建的自動抄表通信系統(tǒng)還具有自動登陸、節(jié)點中斷報警和雙向可中斷的先進(jìn)通訊功能。

1 系統(tǒng)硬件設(shè)計

C-MBUS電氣特性規(guī)定,在兩線制傳輸方式下實現(xiàn)半雙工通信,在波特率為4.8 kb/s時通訊距離可達(dá)2.4 km,通訊容量為500個結(jié)點;當(dāng)通訊距離超過2 km時,可使用隔離中繼器使設(shè)備再延長2 km,增大通訊距離,系統(tǒng)結(jié)構(gòu)框圖如圖1所示。

圖1 C-MBUS通訊系統(tǒng)框圖

圖1中,串口RS-232經(jīng)總線集中器和C-MBUS總線隔離器與末端通訊節(jié)點——智能儀表相連。總線集中器接口電路如圖2和圖3所示,其主要由C-MBUS主控芯片CMT100和MAX232電平轉(zhuǎn)換電路組成。當(dāng)通訊總線上部分通訊節(jié)點的智能儀表發(fā)生故障時,總線隔離器確保剩余總線上的通信節(jié)點仍能實現(xiàn)與上位機(jī)正常通訊。在總線上,各智能儀表被賦予唯一的地址碼,用以身份識別。

圖2 CMT100與PC機(jī)電平轉(zhuǎn)換電路

2 智能儀表的結(jié)構(gòu)與通訊功能

2.1 儀表的組成

隨著單片機(jī)技術(shù)的發(fā)展,用戶表大多采用單片機(jī)組建的儀表智能系統(tǒng)。在該系統(tǒng)中,智能儀表的核心由零功耗磁敏傳感器、低功耗MSP430系列MSP430F449單片機(jī)和C-MBUS通信芯片CMT001構(gòu)成,它們之間的完美組合不但能完成數(shù)據(jù)的采集,還可以運用一定的通信協(xié)議或遵循相同協(xié)議的設(shè)備聯(lián)網(wǎng)通信,硬件設(shè)計如圖4所示。

圖3 CMT100與總線接口電路

圖4 CMT001與單片機(jī)的接口電路

2.2 智能儀表與計算機(jī)的通信

采用半雙工的通訊方式,智能儀表為從機(jī),上位PC機(jī)為主機(jī),總線集中器為C-MBUS的主控端,并實現(xiàn)與PC機(jī)的RS232進(jìn)行數(shù)據(jù)傳輸,波特率為4 800 bps,通訊格式為3個前導(dǎo)字節(jié)(FE,F(xiàn)E,F(xiàn)E)、1位起始位(68H)、8位數(shù)據(jù)位、無奇偶校驗位、2位停止位,數(shù)據(jù)格式為十六進(jìn)制,且每個從機(jī)(智能儀表)被賦予唯一的地址,主機(jī)循環(huán)查詢,從機(jī)應(yīng)答方式。主機(jī)通過總線向智能儀表發(fā)送包含儀表地址的控制命令幀啟動一次通訊,從機(jī)接收到數(shù)據(jù)后,判斷主機(jī)呼叫地址是否和本機(jī)地址匹配:如果地址相同,則握手成功,智能儀表作出響應(yīng),并給出相應(yīng)的返回碼;否則不會作出任何響應(yīng)。

3 用VB6.0實現(xiàn)對用戶表的串行通信控制

出于安全性的考慮,Windows環(huán)境下各種硬件資源直接由操作系統(tǒng)負(fù)責(zé)管理和配置,編程人員通過應(yīng)用接口程序(API)或VC標(biāo)準(zhǔn)函數(shù)來控制各種硬件資源。在VB6.0編程環(huán)境下,利用其提供的ActiveX控件——Microsoft Communication Control,version6.0(MSComm),通過設(shè)置MSComm控件屬性,PC機(jī)很容易實現(xiàn)串口通訊和管理。

MSComm常用的重要屬性如下:①Commport. 設(shè)置串口號,類型short設(shè)置為1,2,3等,分別為COM1,COM2,COM3.②Settings. 以字符串形式設(shè)置串口通訊參數(shù),格式為MSComm.Settings=”4800,n,8,2”,字符串中的第一部分為波特率;第二部分為奇偶校驗,其中n表示無奇偶校驗,E表示奇校驗,0表示偶校驗;第三部分為數(shù)據(jù)位;第四部分為停止。③Portopen. 設(shè)置COM端口的狀態(tài),類型為Bool.④Input.從接收緩沖區(qū)返回和刪除字符,類型為Long. ⑤Output.向傳輸緩沖區(qū)寫一個字符,類型為Long。⑥InputLen. 設(shè)置從接收緩沖區(qū)取得字符數(shù),類型為Short。⑦InputMode. 設(shè)置取回的數(shù)據(jù)類型,類型為VARIANT,0或comInputModeText表示以文本形式取回,1或comInputModeBinary表示以二進(jìn)制形式取回。如果數(shù)據(jù)只用ANSI字符集,則用comInputModeText;對其他字符數(shù)據(jù),則使用comInputModeBinary.⑧Comm Event.串口事件,類型為Short.

另外,還有一些屬性比較重要,例如InBuffersize(設(shè)置輸入緩沖區(qū)的大?。?、OutBuffersize(設(shè)置輸出緩沖區(qū)的大小)、Sthreshold(設(shè)置輸出緩沖區(qū)允許的最少的字符數(shù))、Rthreshold(設(shè)置輸入緩沖區(qū)允許的最少的字符數(shù)),Windows正是利用這些屬性的設(shè)置來實現(xiàn)串行端口的中斷功能。

新建工程引用MSComm通訊控件,在窗體中添加以下控件:①1個MSComm控件,用于軟件對串口的訪問。②3個定時器控件,分別為TSend,TRev和TDelay,其中TSend用于PC機(jī)啟動對各儀表發(fā)送周期性的命令,時期定時回傳實時數(shù)據(jù);TDelay用于延時,即相鄰兩次指令發(fā)送周期,控制兩次周期指令傳送之間的時間間隔;TRev接收儀表設(shè)備回傳數(shù)據(jù)的響應(yīng)時間。③監(jiān)控軟件的核心是采用何種策略,實時、準(zhǔn)確獲取和處理現(xiàn)場儀表數(shù)據(jù)。endprint

本設(shè)計主要從以下幾個方面著手:①主機(jī)采用自動循環(huán)方式查詢從機(jī);②利用串口通信,采用半雙工確保數(shù)據(jù)的準(zhǔn)確傳送和接收;③主機(jī)呼叫從機(jī)且無應(yīng)答時,給出相應(yīng)的提示,跳過該從機(jī)并執(zhí)行其他任務(wù),避免系統(tǒng)因一個從機(jī)的故障而影響其他儀表正常通訊。

以下是通訊時的部分代碼和運行界面,實時采集界面如圖5所示。

Dim iLoop As Integer

Dim iloop1 As Integer

cport(1) = "COM2"

cmbSerial(0).Clear

vCommPointer = 0

For iloop1 = 0 To UBound(cport)

… //通訊參數(shù)的設(shè)置

cPortSpeedA(9) = "4800,n,8,2"

cmbSerial(0).ListIndex = 0

cmbSerial(1).ListIndex = 9

txtRevData.Text = "" //清空接受區(qū)

txtsendData.Text = "" //清空發(fā)送區(qū)

End Sub

Private Sub cmdSend_Click() //通訊開始

Timesend = True //Timesend控件使能

End Sub

Private Sub timesend_Timer()

Call senddata //調(diào)用發(fā)送程序

End Sub

Private Sub mscCom_OnComm()

Select Case mscCom.CommEvent //中斷響應(yīng)事件

Case comEvReceive

timRev.Enabled = True

End Select

End Sub

4 數(shù)據(jù)的接收和處理

智能儀表回傳數(shù)據(jù)時即刻在主機(jī)上引發(fā)OnComm()事件,在此事件處理函數(shù)中,首先判斷接收數(shù)據(jù)的完整性,然后將數(shù)據(jù)一次全部讀到所定義的變量中,根據(jù)流量計通訊協(xié)議重定義的內(nèi)容分別取出各字節(jié),解析出意義并在屏幕上顯示如圖5所示。同時利用Access數(shù)據(jù)庫,在VB監(jiān)控程序中加入DATA控件,將數(shù)據(jù)存入數(shù)據(jù)庫中,利用數(shù)據(jù)庫報表功能即可產(chǎn)生日、月、年報表,同時,可以通過編程將數(shù)據(jù)發(fā)送到各公司的數(shù)據(jù)庫,實現(xiàn)能源計量數(shù)據(jù)的自動上報。

5 結(jié)束語

利用VB6.0的ActiveX空間實現(xiàn)Windows環(huán)境下,單臺PC機(jī)與255臺用戶表的采集和監(jiān)控,其數(shù)據(jù)傳輸穩(wěn)定可靠,具有擴(kuò)展性好、調(diào)試維護(hù)方便等優(yōu)點,避免人工抄表工作量大、效率低等弊端。

參考文獻(xiàn)

[1]劉萌,周學(xué)明,郭安源.Visual Basic企業(yè)辦公系統(tǒng)開發(fā)實例導(dǎo)航[M].北京:人民郵電出版社,2004.

[2]范逸之,陳立元.Visual Basic與RS-232串行通信控制[M].北京:清華大學(xué)出版社,2002.

————————

作者簡介:賈琦(1989—),男,山西臨汾人,2012畢業(yè)于中北大學(xué)自動化專業(yè),工學(xué)學(xué)士。

〔編輯:李玨〕endprint

本設(shè)計主要從以下幾個方面著手:①主機(jī)采用自動循環(huán)方式查詢從機(jī);②利用串口通信,采用半雙工確保數(shù)據(jù)的準(zhǔn)確傳送和接收;③主機(jī)呼叫從機(jī)且無應(yīng)答時,給出相應(yīng)的提示,跳過該從機(jī)并執(zhí)行其他任務(wù),避免系統(tǒng)因一個從機(jī)的故障而影響其他儀表正常通訊。

以下是通訊時的部分代碼和運行界面,實時采集界面如圖5所示。

Dim iLoop As Integer

Dim iloop1 As Integer

cport(1) = "COM2"

cmbSerial(0).Clear

vCommPointer = 0

For iloop1 = 0 To UBound(cport)

… //通訊參數(shù)的設(shè)置

cPortSpeedA(9) = "4800,n,8,2"

cmbSerial(0).ListIndex = 0

cmbSerial(1).ListIndex = 9

txtRevData.Text = "" //清空接受區(qū)

txtsendData.Text = "" //清空發(fā)送區(qū)

End Sub

Private Sub cmdSend_Click() //通訊開始

Timesend = True //Timesend控件使能

End Sub

Private Sub timesend_Timer()

Call senddata //調(diào)用發(fā)送程序

End Sub

Private Sub mscCom_OnComm()

Select Case mscCom.CommEvent //中斷響應(yīng)事件

Case comEvReceive

timRev.Enabled = True

End Select

End Sub

4 數(shù)據(jù)的接收和處理

智能儀表回傳數(shù)據(jù)時即刻在主機(jī)上引發(fā)OnComm()事件,在此事件處理函數(shù)中,首先判斷接收數(shù)據(jù)的完整性,然后將數(shù)據(jù)一次全部讀到所定義的變量中,根據(jù)流量計通訊協(xié)議重定義的內(nèi)容分別取出各字節(jié),解析出意義并在屏幕上顯示如圖5所示。同時利用Access數(shù)據(jù)庫,在VB監(jiān)控程序中加入DATA控件,將數(shù)據(jù)存入數(shù)據(jù)庫中,利用數(shù)據(jù)庫報表功能即可產(chǎn)生日、月、年報表,同時,可以通過編程將數(shù)據(jù)發(fā)送到各公司的數(shù)據(jù)庫,實現(xiàn)能源計量數(shù)據(jù)的自動上報。

5 結(jié)束語

利用VB6.0的ActiveX空間實現(xiàn)Windows環(huán)境下,單臺PC機(jī)與255臺用戶表的采集和監(jiān)控,其數(shù)據(jù)傳輸穩(wěn)定可靠,具有擴(kuò)展性好、調(diào)試維護(hù)方便等優(yōu)點,避免人工抄表工作量大、效率低等弊端。

參考文獻(xiàn)

[1]劉萌,周學(xué)明,郭安源.Visual Basic企業(yè)辦公系統(tǒng)開發(fā)實例導(dǎo)航[M].北京:人民郵電出版社,2004.

[2]范逸之,陳立元.Visual Basic與RS-232串行通信控制[M].北京:清華大學(xué)出版社,2002.

————————

作者簡介:賈琦(1989—),男,山西臨汾人,2012畢業(yè)于中北大學(xué)自動化專業(yè),工學(xué)學(xué)士。

〔編輯:李玨〕endprint

本設(shè)計主要從以下幾個方面著手:①主機(jī)采用自動循環(huán)方式查詢從機(jī);②利用串口通信,采用半雙工確保數(shù)據(jù)的準(zhǔn)確傳送和接收;③主機(jī)呼叫從機(jī)且無應(yīng)答時,給出相應(yīng)的提示,跳過該從機(jī)并執(zhí)行其他任務(wù),避免系統(tǒng)因一個從機(jī)的故障而影響其他儀表正常通訊。

以下是通訊時的部分代碼和運行界面,實時采集界面如圖5所示。

Dim iLoop As Integer

Dim iloop1 As Integer

cport(1) = "COM2"

cmbSerial(0).Clear

vCommPointer = 0

For iloop1 = 0 To UBound(cport)

… //通訊參數(shù)的設(shè)置

cPortSpeedA(9) = "4800,n,8,2"

cmbSerial(0).ListIndex = 0

cmbSerial(1).ListIndex = 9

txtRevData.Text = "" //清空接受區(qū)

txtsendData.Text = "" //清空發(fā)送區(qū)

End Sub

Private Sub cmdSend_Click() //通訊開始

Timesend = True //Timesend控件使能

End Sub

Private Sub timesend_Timer()

Call senddata //調(diào)用發(fā)送程序

End Sub

Private Sub mscCom_OnComm()

Select Case mscCom.CommEvent //中斷響應(yīng)事件

Case comEvReceive

timRev.Enabled = True

End Select

End Sub

4 數(shù)據(jù)的接收和處理

智能儀表回傳數(shù)據(jù)時即刻在主機(jī)上引發(fā)OnComm()事件,在此事件處理函數(shù)中,首先判斷接收數(shù)據(jù)的完整性,然后將數(shù)據(jù)一次全部讀到所定義的變量中,根據(jù)流量計通訊協(xié)議重定義的內(nèi)容分別取出各字節(jié),解析出意義并在屏幕上顯示如圖5所示。同時利用Access數(shù)據(jù)庫,在VB監(jiān)控程序中加入DATA控件,將數(shù)據(jù)存入數(shù)據(jù)庫中,利用數(shù)據(jù)庫報表功能即可產(chǎn)生日、月、年報表,同時,可以通過編程將數(shù)據(jù)發(fā)送到各公司的數(shù)據(jù)庫,實現(xiàn)能源計量數(shù)據(jù)的自動上報。

5 結(jié)束語

利用VB6.0的ActiveX空間實現(xiàn)Windows環(huán)境下,單臺PC機(jī)與255臺用戶表的采集和監(jiān)控,其數(shù)據(jù)傳輸穩(wěn)定可靠,具有擴(kuò)展性好、調(diào)試維護(hù)方便等優(yōu)點,避免人工抄表工作量大、效率低等弊端。

參考文獻(xiàn)

[1]劉萌,周學(xué)明,郭安源.Visual Basic企業(yè)辦公系統(tǒng)開發(fā)實例導(dǎo)航[M].北京:人民郵電出版社,2004.

[2]范逸之,陳立元.Visual Basic與RS-232串行通信控制[M].北京:清華大學(xué)出版社,2002.

————————

作者簡介:賈琦(1989—),男,山西臨汾人,2012畢業(yè)于中北大學(xué)自動化專業(yè),工學(xué)學(xué)士。

〔編輯:李玨〕endprint

猜你喜歡
數(shù)據(jù)采集
Web網(wǎng)絡(luò)大數(shù)據(jù)分類系統(tǒng)的設(shè)計與改進(jìn)
CAN總線通信技術(shù)在電梯監(jiān)控系統(tǒng)中的應(yīng)用
基于大型嵌入式系統(tǒng)的污水檢測系統(tǒng)設(shè)計
基于AVR單片機(jī)的SPI接口設(shè)計與實現(xiàn)
CS5463在植栽用電子鎮(zhèn)流器老化監(jiān)控系統(tǒng)中的應(yīng)用
大數(shù)據(jù)時代高校數(shù)據(jù)管理的思考
基于廣播模式的數(shù)據(jù)實時采集與處理系統(tǒng)
通用Web表單數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)
基于開源系統(tǒng)的綜合業(yè)務(wù)數(shù)據(jù)采集系統(tǒng)的開發(fā)研究
大數(shù)據(jù)時代的管理會計