侯維巖 張方昌 潘瑩玉
(上海大學(xué)機(jī)電工程與自動(dòng)化學(xué)院1,上海 200072;鄭州大學(xué)信息工程學(xué)院2,河南 鄭州 450001;河南省駐馬店供電公司3,河南 駐馬店 493000)
自動(dòng)抄表系統(tǒng)(automatic meter reading system,AMRS)是一種不需要抄表人員到達(dá)現(xiàn)場(chǎng),利用特定的通信方式將用戶處的計(jì)量表所記錄的各種數(shù)據(jù)傳送到遠(yuǎn)程主控站的計(jì)算機(jī)網(wǎng)絡(luò)中,并由軟件對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)、分析和計(jì)算的系統(tǒng)。
AMRS系統(tǒng)中的通信方式總體分為有線方式和無線方式兩類[1]。有線方式主要有電子載波方式、總線方式等,無線方式有GPRS等遠(yuǎn)距離無線方式和WiFi、ZigBee等短距離通信方式。關(guān)于自動(dòng)抄表傳輸方式的相關(guān)論文和文獻(xiàn)介紹已經(jīng)較多,在此不再贅述。目前,自動(dòng)抄表通信方式眾多,各廠家產(chǎn)品不具有互通性,因此,有必要定義一種統(tǒng)一的、可用于各種自動(dòng)抄表系統(tǒng)的數(shù)據(jù)傳輸通信協(xié)議,以統(tǒng)一抄表系統(tǒng)中的數(shù)據(jù)傳輸格式和表具參數(shù)定義等。
本文介紹了用于自動(dòng)抄表系統(tǒng)的智能消息語言(smart message language,SML)[2]。該語言于 2007 年通過了最終版本,并于2008年成為德國(guó)國(guó)家標(biāo)準(zhǔn)。智能消息語言是一種定義良好、易于表達(dá)、功能強(qiáng)大且易用于抄表網(wǎng)絡(luò)傳輸數(shù)據(jù)定義的消息語言,適用于電力抄表、水表和氣表等多種抄表方式。SML以現(xiàn)代通信技術(shù)為基礎(chǔ),建立了一個(gè)協(xié)調(diào)一致的標(biāo)準(zhǔn),結(jié)合現(xiàn)有的自動(dòng)抄表系統(tǒng),實(shí)現(xiàn)了一種在網(wǎng)絡(luò)中進(jìn)行數(shù)據(jù)傳輸?shù)耐ㄐ欧绞?,解決了在讀取自動(dòng)抄表抄取數(shù)據(jù)或設(shè)置表具參數(shù)時(shí)沒有統(tǒng)一標(biāo)準(zhǔn)格式的問題。
自動(dòng)化抄表系統(tǒng)由計(jì)量?jī)x表、采集器、集中器、通信網(wǎng)絡(luò)和主站組成。集中器起到數(shù)據(jù)緩存和傳輸中繼的作用,它能夠接收主控站命令,依次抄收并儲(chǔ)存各采集器中的數(shù)據(jù),然后,通過一定的傳輸介質(zhì)將數(shù)據(jù)傳至主控站進(jìn)行數(shù)據(jù)處理。通信網(wǎng)絡(luò)是抄表數(shù)據(jù)傳輸?shù)拿浇?,是自?dòng)抄表的關(guān)鍵所在,它決定了抄表質(zhì)量。數(shù)據(jù)傳輸通道由通信網(wǎng)絡(luò)和集中器組成。從集中器到主控站之間的通信規(guī)定為上行信道,從集中器到采集器之間的通信規(guī)定為下行信道[3]。在上行信道中,目前使用的信道主要有互聯(lián)網(wǎng)、電力網(wǎng)、無線通信網(wǎng)和GSM網(wǎng)等;下行信道主要有電力網(wǎng)、總線網(wǎng)和短距離無線網(wǎng)等。自動(dòng)抄表系統(tǒng)涉及兩段通信網(wǎng)絡(luò),每段網(wǎng)絡(luò)可以相同也可以完全不一樣,因此可以組合出各種不同的自動(dòng)抄表系統(tǒng)。自動(dòng)抄表系統(tǒng)原理框圖如圖1所示。
圖1 自動(dòng)抄表系統(tǒng)原理框圖Fig.1 Principle of the automatic meter reading system
智能消息語言SML實(shí)質(zhì)上就是一個(gè)通信協(xié)議,用于獲取各種計(jì)量?jī)x表設(shè)備的數(shù)據(jù)傳輸和參數(shù)。SML是由德國(guó)EnBW公司、E.ON能源公司和RWE公司等共同于2004年開始聯(lián)手制定的一個(gè)SyM2研究項(xiàng)目[2],旨在定義一個(gè)有關(guān)電能計(jì)量?jī)x表的通信協(xié)議(通信語言)。該項(xiàng)目于2006~2007年制定出了SML語言的相關(guān)規(guī)范和規(guī)格,并于2008年被批準(zhǔn)為德國(guó)國(guó)家標(biāo)準(zhǔn)。隨后該機(jī)構(gòu)按照標(biāo)準(zhǔn)的要求開發(fā)出了相關(guān)的電表及通信終端[4]。
SyM2的目標(biāo)是建立一個(gè)從安裝、調(diào)試、維護(hù)數(shù)據(jù)到通信與數(shù)據(jù)處理各過程的具有技術(shù)和商業(yè)可行性的統(tǒng)一標(biāo)準(zhǔn),從而減少整個(gè)抄表系統(tǒng)的內(nèi)在通信誤差。從測(cè)量角度來講,能源計(jì)量表可以分為用于測(cè)量氣體、液體或者其他種類的計(jì)量表。SML系統(tǒng)概念示意圖如圖2所示。
圖2 SML系統(tǒng)概念示意圖Fig.2 Systematic concept of SML
智能消息語言SML協(xié)議為計(jì)量表和遠(yuǎn)程抄表系統(tǒng)的數(shù)據(jù)傳輸提供服務(wù)。數(shù)據(jù)傳輸提供服務(wù)具備兩個(gè)傳統(tǒng)通信線路(PSTN、GSM)的優(yōu)化結(jié)構(gòu),封裝后通過傳統(tǒng)的通信鏈路進(jìn)行傳輸。
2.2.1 SML消息簇基本結(jié)構(gòu)模型
在SML消息簇的基本結(jié)構(gòu)中,SML定義了四種模式,分別是:①用于網(wǎng)絡(luò)傳輸終端之間的數(shù)據(jù)或文件結(jié)構(gòu);②SML Binary Encoding,以便于SML的二進(jìn)制數(shù)據(jù)封裝編碼,該二進(jìn)制編碼為SML-Layer提供編碼服務(wù);③SML XML Encoding模式,該模式用于XML中的SML的編碼,以便于 SML語言的數(shù)據(jù)存儲(chǔ);④SML Transport-Protocol模式,該模式用于串行的連接傳輸終端。
SML定義了從終端到終端的網(wǎng)絡(luò)傳輸方式,網(wǎng)絡(luò)傳輸方式覆蓋了從二進(jìn)制代碼到串行傳輸?shù)亩喾N方式。通信模型采用客戶-服務(wù)器模式,傳輸鏈路可以是無狀態(tài)、可靠的通信線路。
SML-Datei消息簇是SML的基本組成單元,一個(gè)消息簇包含多個(gè)SML消息。消息簇是一種數(shù)據(jù)單位,也可以說是一個(gè)信息體形式,它由一定量的SML消息按照一定的規(guī)則組成。這種打包后的消息簇可以通過多種傳輸技術(shù)傳輸,在傳輸過程中所應(yīng)用的傳輸技術(shù)與傳輸內(nèi)容無關(guān)[5]。SML七層網(wǎng)絡(luò)示意圖如圖3所示。
圖3 SML七層網(wǎng)絡(luò)示意圖Fig.3 Schematic of the SML seven-layer network
消息簇分為任務(wù)消息簇、應(yīng)答消息簇和復(fù)合消息簇三種。任務(wù)消息簇含有任務(wù)請(qǐng)求Requests,以“SML_Open.Res”開始,結(jié)束于“SML_Close.Res”幀;應(yīng)答消息簇含有答復(fù)信息Responses,在通過廣播方式傳播時(shí),任務(wù)消息簇和應(yīng)答消息簇不使用消息簇框架;復(fù)合消息簇是由任務(wù)消息簇和應(yīng)答消息簇結(jié)合而成的一種消息簇[6]。在傳輸過程中,由于消息簇含有多個(gè)SML消息,所以在組合時(shí)如果數(shù)據(jù)較大,也可以對(duì)消息簇進(jìn)行切分。
SML消息簇定義了豐富的識(shí)別語句,便于數(shù)據(jù)的分類和傳輸。識(shí)別語句是成對(duì)出現(xiàn)的,當(dāng)需要發(fā)出任務(wù)請(qǐng)求時(shí),需要以“SML_PublicOpen.Req”開頭,以“SML_PublicClose.Req”結(jié)束;而ServerID為請(qǐng)求地址。當(dāng)服務(wù)器方收到請(qǐng)求信息后,會(huì)以“SML_PublicOpen.Res”開頭,以“SML_PublicClose.Res”結(jié)束。
SML消息簇也定義了獲取參數(shù)GetProcParameter和設(shè)置參數(shù)SetProcParameter,以此來設(shè)置或者獲取Modem參數(shù)、協(xié)議參數(shù)以及軟件模塊的負(fù)荷等。參數(shù)列表“GetList”用于獲取參數(shù)列表,在回復(fù)獲取參數(shù)消息時(shí)可以加上“actGatewayTime”,即附上實(shí)時(shí)的時(shí)間戳信息。通過以上定義,用戶可以很方便地利用消息簇進(jìn)行數(shù)據(jù)通信。
2.2.2 SML 消息簇的基本結(jié)構(gòu)
SML消息簇的數(shù)據(jù)結(jié)構(gòu)定義如下:
以上程序中,transaction Id為消息的序號(hào),任務(wù)發(fā)送方以唯一的方式建立此ID號(hào),消息應(yīng)答方復(fù)制該ID并對(duì)請(qǐng)求進(jìn)行回答;Group No對(duì)消息進(jìn)行分組。由于一個(gè)SML消息簇含有多個(gè)SML消息,因此,有些消息被分組,如接收了三個(gè)Group No為4的消息,當(dāng)接收了Group No為7時(shí),證明Group No為4的消息已經(jīng)被全部接收。對(duì)消息進(jìn)行分組傳輸可使同一組中的消息無序、并行處理;Abort On Error定義了設(shè)備遇到錯(cuò)誤的情況下的處理方式,錯(cuò)誤檢驗(yàn)機(jī)制為CRC16,采用DIN EN 62056-46作為CRC16計(jì)算。
讀取數(shù)據(jù)的實(shí)例如表1所示。
表1 讀取數(shù)據(jù)的實(shí)例Tab.1 Practical example of reading data
SML使用傳統(tǒng)的Type-Length-Value結(jié)構(gòu)的二進(jìn)制編碼,其優(yōu)點(diǎn)是數(shù)據(jù)容量小。SML定義了多種數(shù)據(jù)類型,如八位二進(jìn)制數(shù)、整數(shù)數(shù)據(jù)類型、無符號(hào)數(shù)數(shù)據(jù)類型和布爾數(shù)類型。為了節(jié)省字節(jié),傳統(tǒng)的Type-Length-Value僅僅使用了Type和Length結(jié)構(gòu),即規(guī)定為一個(gè)字節(jié)的Type-Length-Field。Type-Length-Field確定了字節(jié)的高比特位,如需要用二進(jìn)制編碼傳送一個(gè)布爾數(shù)時(shí),則在開頭的字節(jié)中編碼為“0100”。
SML消息通過可靠連接或非可靠連接進(jìn)行數(shù)據(jù)傳輸,所以連接方式是多樣的。一個(gè)基于WiFi的抄表系統(tǒng)總體結(jié)構(gòu)如圖4所示。
圖4 系統(tǒng)總體結(jié)構(gòu)圖Fig.4 General structure of system
系統(tǒng)主要由終端智能表采集、無線中繼、接入點(diǎn)(無線AP)和控制中心等構(gòu)成,通信協(xié)議采用SML智能語言。
WiFi通信模塊采集用戶電表的信息,并將其處理后通過WiFi無線通信方式(如距離較遠(yuǎn)通過無線中繼)發(fā)送給AP接入點(diǎn),AP接入點(diǎn)將收集到的數(shù)據(jù)通過有線網(wǎng)絡(luò)傳送至控制中心。在該系統(tǒng)中有兩種通信網(wǎng)絡(luò):小區(qū)局域網(wǎng)中采用的是基于WiFi的無線網(wǎng)絡(luò);小區(qū)外的網(wǎng)絡(luò)采用有線 Internet網(wǎng)絡(luò)[7-8]。
在正常使用模式下,AP首先向各個(gè)WiFi模塊發(fā)出獲取數(shù)據(jù)的廣播信號(hào),WiFi通信模塊在收到廣播信號(hào)后回復(fù)ACK;WiFi通信模塊收集到數(shù)據(jù)后向無線AP請(qǐng)求發(fā)送數(shù)據(jù)。
利用SML進(jìn)行編碼,實(shí)現(xiàn)一次傳輸流程的過程如下所示。
以上SML示例編碼描述了一次完整的數(shù)據(jù)傳輸過程,包括數(shù)據(jù)塊開始的描述、數(shù)據(jù)傳輸描述、ACK請(qǐng)求回復(fù)或者拒絕收取數(shù)據(jù)塊。
本文從自動(dòng)抄表系統(tǒng)的背景和需求這兩個(gè)方面介紹了智能消息語言(協(xié)議)SML。SML是用于規(guī)范抄表網(wǎng)絡(luò)傳輸中消息的傳輸標(biāo)準(zhǔn),解決了在讀取抄表數(shù)據(jù)或者設(shè)置參數(shù)中沒有統(tǒng)一數(shù)據(jù)結(jié)構(gòu)及編碼形式的問題。SML已經(jīng)于2008年成為德國(guó)國(guó)家標(biāo)準(zhǔn)并得到廣泛應(yīng)用,已有約35萬臺(tái)計(jì)量?jī)x表使用了SML標(biāo)準(zhǔn)。該語言非常值得借鑒,且對(duì)于研究制定我國(guó)的標(biāo)準(zhǔn)有很大的參考價(jià)值。
[1]譚志強(qiáng),黃懿.自動(dòng)抄表技術(shù)的發(fā)展[J].電測(cè)與儀表,2009(1):1-5.
[2]Neuhaus T,Wisy M.The system concept[EB/OL].[2008 -11 -12].http:∥www.sym2.org/eng/syskonz_eng.html.
[3]王月志,劉伯剛.自動(dòng)抄表系統(tǒng)[J].電測(cè)與儀表,2004(9):48 -51.
[4]Neuhaus T.Die KM des Sym2[EB/OL].[2009 -05 -05].http:∥www.sym2.org/docs/03_Das_SyM2_KM-Neuhaus.pdf.
[5]Emsycon G,Wisy M.Smart message language version 1.03[EB/OL].[2008 -11 -12].http:∥www.sym2.org/docs/SML_081112_103.pdf.
[6]Emsycon G.Wisy M.Smart message language version 1.02.[EB/OL].[2008-01 -19].http:∥www.t-l-z.org/docs/SML_080711_102_eng.pdf.
[7]張方昌,劉曉丹,侯維巖,等.一種基于Wi-Fi的計(jì)量抄表系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)[J].自動(dòng)化與儀表,2010,25(6):18 -21.
[8]郭丹,李俊芳.ZigBee無線網(wǎng)絡(luò)技術(shù)在抄表系統(tǒng)中的應(yīng)用[J].自動(dòng)化儀表,2009,30(4):20-23.