張長志,趙 飛,夏晶晶
(南京理工大學 機械工程學院,江蘇 南京 210094)
目前針對遠程抄表系統的通信方式一般有公網通信和專網通信兩種[1]。公網通信一般是通過現有的網絡(如電話線、電纜、光纖、無線網絡等)進行數據遠傳,專網通信一般是通過建立專有網絡(如建立無線電臺、鋪設 DDN專線等)傳送數據信息。專網通信投資大,通信質量不高,應用局限性大,需要供能企業自主維護其通信網絡,后期需要投資用于系統升級,而且需要人員來維護通信網絡,增加了企業負擔。而公網通信就不存在上述問題。這里提出了基于虛擬IP的GPRS無線網絡通信,主站不受固定IP限制,投資少,只需在抄表終端上配置無線通信模塊就可以構建覆蓋全球的無線網絡,系統成本低,沒有維護費用,工作可靠性高。
GPRS遠程抄表系統由抄表終端、M-Bus通信總線、集中器、GPRS網絡、網絡服務器、主站管理系統組成。系統終端采用智能儀表,儀表存儲的能耗數據經過M-Bus總線傳遞給集中器,集中器中包含了單片機和GPRS無線模塊,單片機接收并存儲數據,GPRS無線模塊用于發送數據和接受上位機指令。網絡服務器是一臺具有固定IP的服務器,這里可以從電信公司托管一臺服務器或者租賃一臺服務器,服務器上開發了虛擬IP軟件。服務器主要實現數據傳輸在GPRS網絡和互聯網之間的轉換。主站計算機管理軟件通過互聯網接收數據,生成各種數據報表,管理和監控整個抄表系統等。基于篇幅所限,這里只對抄表終端、主站管理系統進行介紹。系統結構如圖1所示。
(1)抄表終端。對于傳統機械型的機械式儀表,需要進行改裝,使其輸出成為符合標準的電子信號,若采用智能儀表,其輸出就是數字量,大大簡化了系統的構成[2]。抄表終端主要完成數據的采集、顯示、數據存儲及用戶斷電處理等。抄表終端首先對各儀表產生的數字脈沖進行濾波、光電隔離,然后通過單片機進行數據采集,當計時到達設定的數據存儲時間時將數據信息存儲到外部存儲器中。集中器通過M-Bus總線發送抄表指令讀取該終端上的數據,抄表終端單片機接收指令,并執行指定的通訊程序將存儲器中的數據通過M-Bus總線上傳到集中器。以此循環往復。抄表終端由時鐘電路、看門狗電路、M-Bus總線接口模塊、單片機等部分組成,其電路組成如圖2所示。

圖1 遠程抄表系統結構

圖2 抄表終端電路結構
(2)主站管理系統。包含系統數據庫和系統管理軟件。系統數據庫采用的是關系型數據庫SQL SERVER,它支持C/S體系結構,圖形化用戶界面,使系統管理和數據庫管理更加直觀、簡單。其可信任性使得人們可以以很高的安全性、可靠性和可擴展性來運行應用程序,高效性使得人們可以降低開發和管理的時間和成本。前臺系統管理軟件的開發工具選用VC++,開發的應用程序在Windows環境下運行。
系統管理軟件采用模塊化設計,由系統管理模塊、遠程抄表模塊、數據管理模塊、費用管理模塊、報表管理模塊和數據庫管理模塊組成。
①系統管理模塊主要管理系統的操作人員及管理系統的設備。添加和刪除用戶、口令維護、權限設置,設置系統參數、配置主站虛擬IP、添加和刪除從站虛擬IP、自檢整個通信線路,對儀表進行統一編號、添加和刪除儀表信息、對儀表類型定義[3]。
②遠程抄表模塊主要抄收儀表上的數據。設定時間系統自動向終端儀表抄收數據,并將數據保存在數據庫中,還可以有針對性的抄收某些儀表。
③數據管理模塊對用戶信息和抄表數據管理。用戶信息包括用戶編號、姓名、集中器編號,儀表編號、儀表類型、用戶聯系方式、住址等。對以上信息進行添加、修改、查詢和刪除等。抄表數據管理是對抄表數據保存、管理,以及按用戶、集中器、年月等檢索、查詢數據。
④費用管理模塊主要是設置費率和費用生成。設置不同儀表類型的用能費率,根據耗能數據和費率生成費用報表。
⑤報表管理模塊用于管理各種報表。可以查詢某個用戶、某月的耗能數據報表或費用報表,并打印各種報表。
⑥數據庫管理模塊負責數據庫的維護、數據報表的恢復和備份。
虛擬 IP協議是以 TCP/IP協議為基礎,它具有 TCP/IP協議的一切特性。TCP/IP協議由4個層次組成:網絡接口層、網絡層、傳輸層、應用層。其中每一層都有相應的協議集合來實現不同的功能[4]。下面根據整個抄表系統的要求對每一層協議進行分析。
(1)網絡接口層。網絡接口層包含物理層和鏈路層,物理層是定義物理介質的各種特性,鏈路層為其上層協議發送和接收數據包。文中的寬帶是以以太網的形式接入,所以必須采用Ethernet 802.3協議。
(2)網絡層。網絡層主要負責相鄰計算機之間的通信、處理數據包在網絡中的協議封裝,這一層協議包括 IP協議、ICMPP協議、ARP地址轉換協議、RARP反向地址轉換協議以及IGMP協議等。由于抄表系統要求能夠在Internet進行通信,因此系統要實現IP協議。
(3)傳輸層。提供應用程序間的通信,其通信協議有TCP協議和UDP,由于UDP協議不屬于連接型協議,具有資源消耗小,處理速度快的特點,同時還可以保證數據傳輸的準確性,這里選用UDP協議。
(4)應用層。是面向用戶的服務,向用戶提供一組常用的應用程序,如電子郵件、文件傳輸訪問、瀏覽網頁、遠程登錄等,為了以后實現網上銀行自動繳費功能,所以系統應該支持HTTP協議。
虛擬IP協議數據報由報頭和數據兩部組成,報頭為16字節固定長度。數據報結構:目標地址、源地址、服務器密碼、數據長度、數據。數據報結構詳細說明如表1所示。

表1 虛擬IP數據報結構
虛擬IP數據報示例分析:
0A 01 47 01 0A 01 47 00 37 31 30 37 31 30 00 03 41 42 43 0A 01 47 01是目標地址,虛擬IP 10.1.71.1
0A 01 47 00 源地址,虛擬IP 10.1.71.0
37 31 30 37 31 30服務器密碼 710710 00 03 數據長度為3個字符
41 42 43數據為ABC
以網絡通信協議TCP/IP協議為基礎,采用UDP數據報傳輸協議方式,制定的虛擬IP協議,在滿足遠程抄表系統通信的可靠性和準確性的要求上,大大簡化了網絡通信協議,只保留了 HTTP協議、TCP協議、IP協議、Ping協議、CSMA/CD協議、ARP協議等幾個主要的子協議[5]。這樣對實時性要求不太高、數據量比較小、沒有特殊需求的遠程抄表系統已經足夠了。
現采用VC++語言編寫ActiveX控件來實現虛擬IP協議的通信。
(1)創建一個Vip控件。
(2)利用GetProperty函數返回控件屬性,利用SetProperty函數設置控件屬性,主要程序如下:

還要獲得和設置目標計算機虛擬IP、本地計算機虛擬IP、服務器端口和密碼等屬性值。其中,SetProperty和GetProperty的第一個參數是控件的屬性序號,第二個參數是控件屬性的數據類型,第三個變量是與控件相關聯的數據變量[6-7]。
首先要正確設置Vip控件和終端EM310模塊參數,有服務器IP、服務器端口號、目標虛擬IP、源虛擬IP和服務器密碼等。集中器向主站通信:集中器中單片機通過串口向EM310模塊寫AT指令,模塊通過AT指令連接GPRS網絡,向服務器發送數據和目標虛擬 IP,服務器根據目標虛擬 IP連接到主站計算機,主站計算機接收數據,完成通信終端到主站的通信。主站向集中器通信:主站通過網絡將目標虛擬IP和指令發送到服務器,服務器根據目標虛擬IP通過GPRS網絡將指令發送給指定的通信終端,終端通過串口將指令發送給單片機,單片機識別指令,執行指令,依此循環完成抄表工作。例如將ABC三個字符從源虛擬IP為10.1.71.0,服務器IP為221.231.140.197,發送到目標虛擬IP為10.1.71.1的AT指令為:
初始化連接 GPRS 網絡:AT+CGDCONT=1,"IP","CMNET";
激活IP地址:AT%ETCPIP;
服務器的協議類型、IP和端口號:AT%IPOPEN="UDP","221.231.140.197",7002;
發送數據:AT%IPSEND="0A0147010A01470037313037313000034 14243";
關閉鏈接:AT%IPCLOSE。
以上是用AT指令通過GPRS模塊發送數據的操作,當然還有數據讀取、刪除數據緩沖區數據、設置延遲發送時間等AT指令,具體要參考模塊用戶手冊,這里就不再贅述了。
將GPRS網絡和IP技術運用于遠程抄表系統,形成了基于虛擬IP的GPRS遠程抄表系統,該系統不受地域限制、成本低、主站不受固定IP地址制約,充分體現了遠程無線抄表的優勢。經實驗驗證,系統可行性強、可靠性高,不僅可以推進抄表工作的全自動化進程而且還能夠為監管部門實現對客戶端耗能量的實時動態管理、分析和控制,提高能量計量管理水平。隨著智能控制家用四表的發展,該遠程抄表系統將有更廣闊的應用前景。
[1] 唐偉,張建波,范文賓.基于GPRS技術的遠程抄表系統設計[J].電力系統通信,2004(11):37-40.
[2] 鄭全禮.自動抄表系統的研究與開發[D].合肥:合肥工業大學,2003.
[3] 張紅霞,王亞微,郭佳,等.基于 GPRS通信技術的遠程抄表系統設計[J].通信技術,2008,41(08):207-209.
[4] 常琨,馬天光,史琳.TCP/IP在GPRS/EGPRS網絡中的應用及影響[J].通信技術, 2010,43(12):112-114.
[5] 陳治國,黎文安,牛玉新.基于 TCP/IP協議的遠程抄表系統的研究[J].繼電器,2004,32(22):62-65.
[6] 樂仁昌. ActiveX控件實現串行通信編程[J].華東地質學院學報,1999,22(04):370-373.
[7] 孫鑫,余安萍.VC++深入詳解[M].北京:電子工業出版社,2006.