張長志,趙 飛,夏晶晶
(南京理工大學(xué) 機(jī)械工程學(xué)院,江蘇 南京 210094)
目前針對(duì)遠(yuǎn)程抄表系統(tǒng)的通信方式一般有公網(wǎng)通信和專網(wǎng)通信兩種[1]。公網(wǎng)通信一般是通過現(xiàn)有的網(wǎng)絡(luò)(如電話線、電纜、光纖、無線網(wǎng)絡(luò)等)進(jìn)行數(shù)據(jù)遠(yuǎn)傳,專網(wǎng)通信一般是通過建立專有網(wǎng)絡(luò)(如建立無線電臺(tái)、鋪設(shè) DDN專線等)傳送數(shù)據(jù)信息。專網(wǎng)通信投資大,通信質(zhì)量不高,應(yīng)用局限性大,需要供能企業(yè)自主維護(hù)其通信網(wǎng)絡(luò),后期需要投資用于系統(tǒng)升級(jí),而且需要人員來維護(hù)通信網(wǎng)絡(luò),增加了企業(yè)負(fù)擔(dān)。而公網(wǎng)通信就不存在上述問題。這里提出了基于虛擬IP的GPRS無線網(wǎng)絡(luò)通信,主站不受固定IP限制,投資少,只需在抄表終端上配置無線通信模塊就可以構(gòu)建覆蓋全球的無線網(wǎng)絡(luò),系統(tǒng)成本低,沒有維護(hù)費(fèi)用,工作可靠性高。
GPRS遠(yuǎn)程抄表系統(tǒng)由抄表終端、M-Bus通信總線、集中器、GPRS網(wǎng)絡(luò)、網(wǎng)絡(luò)服務(wù)器、主站管理系統(tǒng)組成。系統(tǒng)終端采用智能儀表,儀表存儲(chǔ)的能耗數(shù)據(jù)經(jīng)過M-Bus總線傳遞給集中器,集中器中包含了單片機(jī)和GPRS無線模塊,單片機(jī)接收并存儲(chǔ)數(shù)據(jù),GPRS無線模塊用于發(fā)送數(shù)據(jù)和接受上位機(jī)指令。網(wǎng)絡(luò)服務(wù)器是一臺(tái)具有固定IP的服務(wù)器,這里可以從電信公司托管一臺(tái)服務(wù)器或者租賃一臺(tái)服務(wù)器,服務(wù)器上開發(fā)了虛擬IP軟件。服務(wù)器主要實(shí)現(xiàn)數(shù)據(jù)傳輸在GPRS網(wǎng)絡(luò)和互聯(lián)網(wǎng)之間的轉(zhuǎn)換。主站計(jì)算機(jī)管理軟件通過互聯(lián)網(wǎng)接收數(shù)據(jù),生成各種數(shù)據(jù)報(bào)表,管理和監(jiān)控整個(gè)抄表系統(tǒng)等?;谄蓿@里只對(duì)抄表終端、主站管理系統(tǒng)進(jìn)行介紹。系統(tǒng)結(jié)構(gòu)如圖1所示。
(1)抄表終端。對(duì)于傳統(tǒng)機(jī)械型的機(jī)械式儀表,需要進(jìn)行改裝,使其輸出成為符合標(biāo)準(zhǔn)的電子信號(hào),若采用智能儀表,其輸出就是數(shù)字量,大大簡化了系統(tǒng)的構(gòu)成[2]。抄表終端主要完成數(shù)據(jù)的采集、顯示、數(shù)據(jù)存儲(chǔ)及用戶斷電處理等。抄表終端首先對(duì)各儀表產(chǎn)生的數(shù)字脈沖進(jìn)行濾波、光電隔離,然后通過單片機(jī)進(jìn)行數(shù)據(jù)采集,當(dāng)計(jì)時(shí)到達(dá)設(shè)定的數(shù)據(jù)存儲(chǔ)時(shí)間時(shí)將數(shù)據(jù)信息存儲(chǔ)到外部存儲(chǔ)器中。集中器通過M-Bus總線發(fā)送抄表指令讀取該終端上的數(shù)據(jù),抄表終端單片機(jī)接收指令,并執(zhí)行指定的通訊程序?qū)⒋鎯?chǔ)器中的數(shù)據(jù)通過M-Bus總線上傳到集中器。以此循環(huán)往復(fù)。抄表終端由時(shí)鐘電路、看門狗電路、M-Bus總線接口模塊、單片機(jī)等部分組成,其電路組成如圖2所示。
圖1 遠(yuǎn)程抄表系統(tǒng)結(jié)構(gòu)
圖2 抄表終端電路結(jié)構(gòu)
(2)主站管理系統(tǒng)。包含系統(tǒng)數(shù)據(jù)庫和系統(tǒng)管理軟件。系統(tǒng)數(shù)據(jù)庫采用的是關(guān)系型數(shù)據(jù)庫SQL SERVER,它支持C/S體系結(jié)構(gòu),圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡單。其可信任性使得人們可以以很高的安全性、可靠性和可擴(kuò)展性來運(yùn)行應(yīng)用程序,高效性使得人們可以降低開發(fā)和管理的時(shí)間和成本。前臺(tái)系統(tǒng)管理軟件的開發(fā)工具選用VC++,開發(fā)的應(yīng)用程序在Windows環(huán)境下運(yùn)行。
系統(tǒng)管理軟件采用模塊化設(shè)計(jì),由系統(tǒng)管理模塊、遠(yuǎn)程抄表模塊、數(shù)據(jù)管理模塊、費(fèi)用管理模塊、報(bào)表管理模塊和數(shù)據(jù)庫管理模塊組成。
①系統(tǒng)管理模塊主要管理系統(tǒng)的操作人員及管理系統(tǒng)的設(shè)備。添加和刪除用戶、口令維護(hù)、權(quán)限設(shè)置,設(shè)置系統(tǒng)參數(shù)、配置主站虛擬IP、添加和刪除從站虛擬IP、自檢整個(gè)通信線路,對(duì)儀表進(jìn)行統(tǒng)一編號(hào)、添加和刪除儀表信息、對(duì)儀表類型定義[3]。
②遠(yuǎn)程抄表模塊主要抄收儀表上的數(shù)據(jù)。設(shè)定時(shí)間系統(tǒng)自動(dòng)向終端儀表抄收數(shù)據(jù),并將數(shù)據(jù)保存在數(shù)據(jù)庫中,還可以有針對(duì)性的抄收某些儀表。
③數(shù)據(jù)管理模塊對(duì)用戶信息和抄表數(shù)據(jù)管理。用戶信息包括用戶編號(hào)、姓名、集中器編號(hào),儀表編號(hào)、儀表類型、用戶聯(lián)系方式、住址等。對(duì)以上信息進(jìn)行添加、修改、查詢和刪除等。抄表數(shù)據(jù)管理是對(duì)抄表數(shù)據(jù)保存、管理,以及按用戶、集中器、年月等檢索、查詢數(shù)據(jù)。
④費(fèi)用管理模塊主要是設(shè)置費(fèi)率和費(fèi)用生成。設(shè)置不同儀表類型的用能費(fèi)率,根據(jù)耗能數(shù)據(jù)和費(fèi)率生成費(fèi)用報(bào)表。
⑤報(bào)表管理模塊用于管理各種報(bào)表??梢圆樵兡硞€(gè)用戶、某月的耗能數(shù)據(jù)報(bào)表或費(fèi)用報(bào)表,并打印各種報(bào)表。
⑥數(shù)據(jù)庫管理模塊負(fù)責(zé)數(shù)據(jù)庫的維護(hù)、數(shù)據(jù)報(bào)表的恢復(fù)和備份。
虛擬 IP協(xié)議是以 TCP/IP協(xié)議為基礎(chǔ),它具有 TCP/IP協(xié)議的一切特性。TCP/IP協(xié)議由4個(gè)層次組成:網(wǎng)絡(luò)接口層、網(wǎng)絡(luò)層、傳輸層、應(yīng)用層。其中每一層都有相應(yīng)的協(xié)議集合來實(shí)現(xiàn)不同的功能[4]。下面根據(jù)整個(gè)抄表系統(tǒng)的要求對(duì)每一層協(xié)議進(jìn)行分析。
(1)網(wǎng)絡(luò)接口層。網(wǎng)絡(luò)接口層包含物理層和鏈路層,物理層是定義物理介質(zhì)的各種特性,鏈路層為其上層協(xié)議發(fā)送和接收數(shù)據(jù)包。文中的寬帶是以以太網(wǎng)的形式接入,所以必須采用Ethernet 802.3協(xié)議。
(2)網(wǎng)絡(luò)層。網(wǎng)絡(luò)層主要負(fù)責(zé)相鄰計(jì)算機(jī)之間的通信、處理數(shù)據(jù)包在網(wǎng)絡(luò)中的協(xié)議封裝,這一層協(xié)議包括 IP協(xié)議、ICMPP協(xié)議、ARP地址轉(zhuǎn)換協(xié)議、RARP反向地址轉(zhuǎn)換協(xié)議以及IGMP協(xié)議等。由于抄表系統(tǒng)要求能夠在Internet進(jìn)行通信,因此系統(tǒng)要實(shí)現(xiàn)IP協(xié)議。
(3)傳輸層。提供應(yīng)用程序間的通信,其通信協(xié)議有TCP協(xié)議和UDP,由于UDP協(xié)議不屬于連接型協(xié)議,具有資源消耗小,處理速度快的特點(diǎn),同時(shí)還可以保證數(shù)據(jù)傳輸?shù)臏?zhǔn)確性,這里選用UDP協(xié)議。
(4)應(yīng)用層。是面向用戶的服務(wù),向用戶提供一組常用的應(yīng)用程序,如電子郵件、文件傳輸訪問、瀏覽網(wǎng)頁、遠(yuǎn)程登錄等,為了以后實(shí)現(xiàn)網(wǎng)上銀行自動(dòng)繳費(fèi)功能,所以系統(tǒng)應(yīng)該支持HTTP協(xié)議。
虛擬IP協(xié)議數(shù)據(jù)報(bào)由報(bào)頭和數(shù)據(jù)兩部組成,報(bào)頭為16字節(jié)固定長度。數(shù)據(jù)報(bào)結(jié)構(gòu):目標(biāo)地址、源地址、服務(wù)器密碼、數(shù)據(jù)長度、數(shù)據(jù)。數(shù)據(jù)報(bào)結(jié)構(gòu)詳細(xì)說明如表1所示。
表1 虛擬IP數(shù)據(jù)報(bào)結(jié)構(gòu)
虛擬IP數(shù)據(jù)報(bào)示例分析:
0A 01 47 01 0A 01 47 00 37 31 30 37 31 30 00 03 41 42 43 0A 01 47 01是目標(biāo)地址,虛擬IP 10.1.71.1
0A 01 47 00 源地址,虛擬IP 10.1.71.0
37 31 30 37 31 30服務(wù)器密碼 710710 00 03 數(shù)據(jù)長度為3個(gè)字符
41 42 43數(shù)據(jù)為ABC
以網(wǎng)絡(luò)通信協(xié)議TCP/IP協(xié)議為基礎(chǔ),采用UDP數(shù)據(jù)報(bào)傳輸協(xié)議方式,制定的虛擬IP協(xié)議,在滿足遠(yuǎn)程抄表系統(tǒng)通信的可靠性和準(zhǔn)確性的要求上,大大簡化了網(wǎng)絡(luò)通信協(xié)議,只保留了 HTTP協(xié)議、TCP協(xié)議、IP協(xié)議、Ping協(xié)議、CSMA/CD協(xié)議、ARP協(xié)議等幾個(gè)主要的子協(xié)議[5]。這樣對(duì)實(shí)時(shí)性要求不太高、數(shù)據(jù)量比較小、沒有特殊需求的遠(yuǎn)程抄表系統(tǒng)已經(jīng)足夠了。
現(xiàn)采用VC++語言編寫ActiveX控件來實(shí)現(xiàn)虛擬IP協(xié)議的通信。
(1)創(chuàng)建一個(gè)Vip控件。
(2)利用GetProperty函數(shù)返回控件屬性,利用SetProperty函數(shù)設(shè)置控件屬性,主要程序如下:
還要獲得和設(shè)置目標(biāo)計(jì)算機(jī)虛擬IP、本地計(jì)算機(jī)虛擬IP、服務(wù)器端口和密碼等屬性值。其中,SetProperty和GetProperty的第一個(gè)參數(shù)是控件的屬性序號(hào),第二個(gè)參數(shù)是控件屬性的數(shù)據(jù)類型,第三個(gè)變量是與控件相關(guān)聯(lián)的數(shù)據(jù)變量[6-7]。
首先要正確設(shè)置Vip控件和終端EM310模塊參數(shù),有服務(wù)器IP、服務(wù)器端口號(hào)、目標(biāo)虛擬IP、源虛擬IP和服務(wù)器密碼等。集中器向主站通信:集中器中單片機(jī)通過串口向EM310模塊寫AT指令,模塊通過AT指令連接GPRS網(wǎng)絡(luò),向服務(wù)器發(fā)送數(shù)據(jù)和目標(biāo)虛擬 IP,服務(wù)器根據(jù)目標(biāo)虛擬 IP連接到主站計(jì)算機(jī),主站計(jì)算機(jī)接收數(shù)據(jù),完成通信終端到主站的通信。主站向集中器通信:主站通過網(wǎng)絡(luò)將目標(biāo)虛擬IP和指令發(fā)送到服務(wù)器,服務(wù)器根據(jù)目標(biāo)虛擬IP通過GPRS網(wǎng)絡(luò)將指令發(fā)送給指定的通信終端,終端通過串口將指令發(fā)送給單片機(jī),單片機(jī)識(shí)別指令,執(zhí)行指令,依此循環(huán)完成抄表工作。例如將ABC三個(gè)字符從源虛擬IP為10.1.71.0,服務(wù)器IP為221.231.140.197,發(fā)送到目標(biāo)虛擬IP為10.1.71.1的AT指令為:
初始化連接 GPRS 網(wǎng)絡(luò):AT+CGDCONT=1,"IP","CMNET";
激活I(lǐng)P地址:AT%ETCPIP;
服務(wù)器的協(xié)議類型、IP和端口號(hào):AT%IPOPEN="UDP","221.231.140.197",7002;
發(fā)送數(shù)據(jù):AT%IPSEND="0A0147010A01470037313037313000034 14243";
關(guān)閉鏈接:AT%IPCLOSE。
以上是用AT指令通過GPRS模塊發(fā)送數(shù)據(jù)的操作,當(dāng)然還有數(shù)據(jù)讀取、刪除數(shù)據(jù)緩沖區(qū)數(shù)據(jù)、設(shè)置延遲發(fā)送時(shí)間等AT指令,具體要參考模塊用戶手冊(cè),這里就不再贅述了。
將GPRS網(wǎng)絡(luò)和IP技術(shù)運(yùn)用于遠(yuǎn)程抄表系統(tǒng),形成了基于虛擬IP的GPRS遠(yuǎn)程抄表系統(tǒng),該系統(tǒng)不受地域限制、成本低、主站不受固定IP地址制約,充分體現(xiàn)了遠(yuǎn)程無線抄表的優(yōu)勢(shì)。經(jīng)實(shí)驗(yàn)驗(yàn)證,系統(tǒng)可行性強(qiáng)、可靠性高,不僅可以推進(jìn)抄表工作的全自動(dòng)化進(jìn)程而且還能夠?yàn)楸O(jiān)管部門實(shí)現(xiàn)對(duì)客戶端耗能量的實(shí)時(shí)動(dòng)態(tài)管理、分析和控制,提高能量計(jì)量管理水平。隨著智能控制家用四表的發(fā)展,該遠(yuǎn)程抄表系統(tǒng)將有更廣闊的應(yīng)用前景。
[1] 唐偉,張建波,范文賓.基于GPRS技術(shù)的遠(yuǎn)程抄表系統(tǒng)設(shè)計(jì)[J].電力系統(tǒng)通信,2004(11):37-40.
[2] 鄭全禮.自動(dòng)抄表系統(tǒng)的研究與開發(fā)[D].合肥:合肥工業(yè)大學(xué),2003.
[3] 張紅霞,王亞微,郭佳,等.基于 GPRS通信技術(shù)的遠(yuǎn)程抄表系統(tǒng)設(shè)計(jì)[J].通信技術(shù),2008,41(08):207-209.
[4] 常琨,馬天光,史琳.TCP/IP在GPRS/EGPRS網(wǎng)絡(luò)中的應(yīng)用及影響[J].通信技術(shù), 2010,43(12):112-114.
[5] 陳治國,黎文安,牛玉新.基于 TCP/IP協(xié)議的遠(yuǎn)程抄表系統(tǒng)的研究[J].繼電器,2004,32(22):62-65.
[6] 樂仁昌. ActiveX控件實(shí)現(xiàn)串行通信編程[J].華東地質(zhì)學(xué)院學(xué)報(bào),1999,22(04):370-373.
[7] 孫鑫,余安萍.VC++深入詳解[M].北京:電子工業(yè)出版社,2006.