一種能耗資料採集協議描述及生成解析方法

2022-11-11 02:03:03 字數 8236 閱讀 5017

第25卷第4期2015年4月

計算機技術與發展

一種能耗資料採集協議描述及生成解析方法

俞曉華 ,於鳳芹 ,欽道理

(1.江南大學物聯網工程學院,江蘇無錫214122;2.銳泰節能系統科學****,江蘇無錫214135)

摘要:針對能耗計量儀表通訊協議多標準並存的問題,分析了常用協議的特徵,依據程式與資料分離的原則,提出應用

三層樹形結構來表示協議。採用xml文件作為協議描述檔案,通過對描述檔案中元素和屬性的定義完成了協議描述檔案的設計,並應用協議幀某些欄位的屬性建立協議特徵庫,最後給出了通用協議幀生成與解析的實現方法。測試結果表明,該方法能很好地應用於能耗監管領域協議的描述以及資料採集協議幀的生成與能耗資料的初步解析,具有一定的通用性,避免了重複開發。

關鍵詞:能耗資料採集;協議幀;協議描述;協議解析中圖分類號:tp302.2

文獻標識碼:a

文章編號

0 引言

在能耗資料監管領域,需要按照相關協議格式與

幀的生成、解析程式,使得程式變得複雜,難以維護 。

在程式中如果能實現對不同協議幀的通用生成、

解析,當出現新的需要相容的協議時,無需重新改寫程式,只需提供協議相關資料。為此,文中將程式中需要處理的相關協議資訊分離出來,儲存在協議描述檔案

底層計量儀表進行資料通訊採集能耗資料。由於能耗計量儀表種類繁多,採用的通訊協議並不統一,存在著多種通訊標準,對於不同型別協議幀的處理方法一般是不同的議較為單一

。以往在進行程式開發時,一般根據項。當協議增多時,需要分別編寫協議

中以外部資料來源的形式提供。提出應用三層樹形結構

表示協議資料幀,通過協議描述檔案中元素、屬性的定義以及協議特徵庫的建立,使得協議幀的生成、解析更具通用性,避免重複開發。

目需要將相關需求的實現固化在程式**中,支援協

收稿日期修回日期網路出版時間

**專案:教育部一中國移動科研**專案

作者簡介:俞曉華(1988一),男,碩士研究生,研究方向為嵌人式閘道器;於鳳芹,博士,教授,研究方向為基於物聯網的能耗感知系統研究與設計

以及語音和影象等多模態訊號分析與處理。

網路出版位址

第4期俞曉華等:一種能耗資料採集協議描述及生成解析方法13l

1 能耗資料採集的常用協議分析

1.1 能耗資料採集協議介紹

素的定義和協議幀中的兄欄位、葉欄位類似。

常用於能耗計量儀表通訊的協議有等。dl/t645《多功能電能表通訊規約》是電力

工業部批准的用於多功能電能表和資料採集終端進行

資料交換的標準。該標準有1997和2007兩個版

本,兩個版本主要在控制碼和資料標識的定義不同。

cj/t188(戶用計量儀表資料傳輸技術條件》與dl/t645協議類似,主要用於水表、熱量表、燃氣表等的通

信 。這兩種協議在資料鏈路層採用主從結構的半雙

工通訊方式,一次單方向的傳輸為一幀,dl/t645和

cj/t188資料幀格式如表1所示。

表1dl/t645和cj/t188資料幀格式

1.2協議描述中報文對映

表1中協議幀有些欄位是由子字段組成的,如數

翟據段包括資料標識、資料域等字段,這說明協議幀具有層次結構。層次模型是用樹形結構表示實體及其之間關係的模型,這種關係只能是1一m的。通常把表示1」」「

「「的實體集放在上方,稱為父節點,表示391

bbb的實體集放e¨

¨在下方,稱為子節點。層次模型中只有乙個節點無父節點,稱為根節點。具有相同父節點的節點稱為兄節點,當前節點下沒有子節點的節點稱為葉節點 j。層次模型具有如下的結構特點:

(1)根節點以外的其他節點有且只有1個父

節點;(2)有且只有1個無雙親的根節點。

根據層次模型的定義可知,用於能耗資料傳輸的

協議資料幀與xml文件都可以用層次模型表示成樹狀結構。圖1為乙個協議幀與xml文件的對映示例。左邊為資料幀中的乙個片段,分為a,b,b ,b 和b,這5個字段。

其中,b ,b ,b,稱為兄欄位,它們具有相同的父欄位b,由於b。,b:,b,無子字段,又稱作葉字段。

右邊是該協議幀片段對應的xml文件片段,由5個node元素來表示協議幀的5個字段,對應欄位的性質由元素的屬性來表示。xml文件中的兄元素和葉元

圖1協議報文與xml文件的對映關係

2協議描述檔案的設計

2.1基於xml的協議描述檔案設計

文中採用了xml檔案作為協議描述檔案,xml協議描述檔案的設計其實就是乙個基於xml技術對

協議資料結構進行描述定義的過程「 。協議幀一

般具有特定的格式。由表1可以看出,協議幀包括「幀

頭」、「位址域」、「功能碼」、「資料長度」、「資料域」、

「校驗」、「幀尾」這些字段。通過對xml文件中元素、

屬性的設定與定義,可以對協議幀進行描述。文中採

用了三層樹形結構來描述協議,其中是

xml協議描述檔案的根元素,位於xml協議描述文

件的第一層,根元素並不表示協議幀的任何字段,僅僅

表示協議幀整體。根元素定義了相關屬性,根元素及其屬性用於描述協議資訊,用於區別不同的協議。非

根元素「com」位於xml描述檔案中的第二層,為根元

素的子元素,用於表示協議幀的不同字段,「com」元素的個數與根元素的「num」屬性值要相等。「com」元素

也定義了相關屬性,「com」元素與其相關屬性的集合

用於描述協議幀的每乙個字段,如「幀頭」、「位址域」等。某些「com」元素還擁有「sub—com」子元素,位於描述檔案中的第三層,子元素也定義了相關屬性,子元素和子元素的屬性則可以用於描述協議幀中的乙個子欄位,如「資料域」中的「資料標識」。子元素的主要屬性及含義和「com」元素類似,但無「class」屬性。

proto

—frame元素、com元素、sub—com元素的屬性定義如

表2所示。

表2中「l」屬性表示對應欄位或子字段的長度。

該屬性的值分為3種情況:

(1)欄位的長度是確定值,此時「l」屬性值為具體

長度值;

(2)欄位的長度是變數,但可以由另乙個欄位的數值得到,如645規約協議幀中「資料段」欄位的長度

可以由「資料長度」字段獲得;

(3)欄位的長度是變數,由所有子字段長度的和

決定,如645規約協議幀中的「資料段」,此時「l」屬性值設為空。

「com」元素中「class」屬性用於表示協議欄位的

l32計算機技術與發展第25卷

型別。根據協議幀中各字段的特點可以將協議幀字段

分為三類。這三類由屬性「class」來區別,「class」的取

值分別代表一類、二類、三類字段。第一類欄位的「field」屬性值固定,如「幀頭」、「幀尾」為第

一類字段,通過第一類欄位的屬

性可以區別不同協議型別。第二類、第三類欄位的「field」屬性值不固定,需要從外部獲取或通過計算得到。其中第三類欄位的「l』'屬性也不確定,其描述的

欄位由幾個子欄位組成。如645協議「資料段」由「數

據標識」、「資料」等子字段組合而成,根據幀型別不同

資料段構成也不同。

表2元素的主要屬性及含義

元素的主要屬性

屬性介紹

name表示協議型別的名稱

表示對應協議型別的編號,每種協議型別

protoid_

定義乙個唯一的編號

frame

尋責表示com元素的個數,即協議幀字段的個

num數;如:645標準協議幀有8個字段,其

num值為8

naltle

表示協議幀字段的名稱

協議幀不同欄位的編號,每個協議欄位對

id應唯一的編號,且必須按照協議字段順序

來編號addr

該字段在協議幀中的偏移位址

c。m元素n

表示字段含有的子字段sub—com的個數,um

為0表示無子字段

l表示欄位的長度

class表示欄位的型別,取值為值獲取方法field用於儲存欄位的值

name

表示協議幀子字段的名稱

id與com元素id定義相同

subcom元素addr該字段在協議幀中的偏移位址

l表示欄位的長度

值獲取方法

field用於儲存欄位的值

由「class」屬性值的定義可知,第二類、第三類欄位所描述的字段的值需由相應的方法獲得,因此定義

了「method」屬性用於表示「field」屬性值的獲取方法。2.2協議特徵庫的建立

由2.1節可知,「class」屬性值為1的協議幀字段

是一類特殊的字段,該字段的值固定、長度固定,並且在協議幀中的位置即偏移位址(由「addr」屬性定義)也是固定的。欄位的這些屬性代表了協議的一些特

徵,協議解析中可以用某些欄位的這些屬性來區別不同的協議。把不同協議中具有協議特徵的資訊組

合在一起就可以構成乙個協議特徵庫。協議特徵庫的

特徵元素和屬性的提取只需根據「class」屬性值是否為1,就可以由程式自動實現。

在協議解析時,解析程式首先假設讀取的資料為

未知協議型別,然後對比協議特徵庫查詢符合的協議

特徵就能解析出協議型別。

3協議資料幀生成與解析方法

協議描述檔案的設計為協議資料的處理提供了統

一的資料描述,其作用一方面用於能耗資料採集協議

幀的生成,另一方面用於對採集到的能耗資料幀的解析。下面主要介紹通過協議描述檔案實現協議幀的生成與解析的方法。

3.1 能耗資料採集協議幀生成方法

能耗資料採集過程中需要按照相應的協議格式傳送採集協議幀給計量儀表,其中乙個重要的部分是協

議幀的生成,即根據協議描述資訊以及配置資訊組建

資料採集協議幀的過程。組建協議幀時根據不同協議

需要配置不同的資訊,如645協議需要配置協議型別、

位址域、控制碼、資料標識這些資訊。完成配置工作

後,程式從描述檔案中讀取協議幀生成時需要的資訊,

並按照id編號順序獲取協議幀每個欄位的值。由「class」屬性可以判斷該欄位是否包含子欄位,由

「method」屬性可以知道該欄位(子欄位)值獲取方法。

獲取的方法有直接取field屬性值獲取、由配置資訊獲取、由相關演算法計算獲取等。最後根據等屬性拼裝成完整的協議幀,並根據指定的加密演算法

對協議幀進行加密。能耗資料採集協議幀生成流程如

圖2所示。

3.2能耗資料幀解析方法

採集到的原始能耗資料是以幀的形式儲存的,需

要從資料幀中解析出需要的資料。為了使得解析過程

更具通用性,需要假設待解析的資料幀為未知協議型別。讀取待解析資料之後,首先應該計算資料長度等

資訊,為解析做準備。接著對比協議特徵庫,根據協議特徵資訊,如645協議的「幀頭」、「幀尾」的「l」、「ad—

屬性,解析出該協議幀的型別。然後獲取

該協議幀型別的協議描述資訊,讀取相應的解密演算法

解密協議幀。最後根據id、addr、l等屬性就可以解析

出每個欄位的內容,該過程同樣也需要根據class屬性

判斷是否含有子欄位。協議解析流程如圖3所示。該過程只可以實現協議資料幀的初步解析,初次解析是通過對資料幀進行分割,得到資料幀中每乙個欄位的

原始值。初次解析的資料不具備實際意義,開發者需

要對資料進行二次解析才能得到實際的電壓、電流、流量、熱量等。

第4期俞曉華等:一種能耗資料採集協議描述及生成解析方法133

據sub-com元素的id

編號獲取該元素的method屬性值

獲取sub_

tom元素的

予字段值獲取完成

圖2協議幀生成流程

儲存解析後資料等待進

一步處理

圖3協議解析流程

4測試及應用效果分析

以某建築能耗監管專案為背景,專案中智慧型資料閘道器需要和底層的電能表、水表、燃氣表、熱量表等計量儀表進行通訊來採集能耗資料。文中的方法主要用於實現閘道器下行通訊模組的開發,閘道器與計量儀表之間通過rs485匯流排連線,閘道器需要支援的通訊協議有

等。採用xml文件按照第2節的方法完成協議描述檔案的編

寫。該項目的前期測試表明,這種協議描述方法可以很好地描述這幾種協議,通過配置也可以比較靈活地構建下發的採集協議幀。

為了測試該方法在面對不同協議資料幀下的通用

解析效率,選擇三種協議,每

種協議根據讀取資料的不同選擇2種幀格式,總共6

種不同格式的資料幀。然後按照這6種資料幀格式隨

機生成測試用的模擬資料進行測試,測試閘道器採用處理器,執行linux作業系統和node.js環境」 ,測試程式由指令碼語言編寫,測試結果如表3所示。

表3 解析不同資料幀所需時間表

資料幀數量

解析時間/s

通過測試可以看出,隨著資料幀數量的增多,解析資料所需時間並沒有呈現出比例增長,可以很好地完

成對能耗監管領域不同協議資料幀的初步解析,雖然

在解析速度上不及硬**的方式,但可以實現能耗數

據的初次通用解析。開發人員可以將工作主要集中在

資料的二次解析,資料的處理、展示等方面。

5結束語

文中提出了一種用於能耗資料採集的協議描述及協議幀生成解析方法。其中協議描述檔案的設計具有三層樹形結構特點,由xml文件編寫實現,提供統一資料描述。此外,協議資料幀的生成與解析達到與具

體的協議資料相分離的目的,具有較高的耦合性。文中主要以dl/t645和cj/t188對該方法進行介紹,對於其他領域的通訊協議該方法也具有一定的適用性。

通過該方法可以避免重複開發,對於不同的協議只需

按要求編寫協議描述檔案,無需對程式進行大量改動,就可以實現對不同協議的支援,具有通用性強的特點。

(下轉第138頁)

138計算機技術與發展第25卷

融合技術進行回顧和研究,然後對其在建築中的一些

i二心1 j

1j運用進行分析,最後提出了把資訊融合應用到建築節

能中的模型。但由於資訊融合的發展還不是十分成

]2009.

熟,並且我國的建築節能也相對落後,把資訊融合技術

更好地應用到建築節能當中仍然有很長的一段路要

走,對於很多問題還需要進行大量深入的研究。

參考文獻:

[1]郁文賢,雍少為.多感測器資訊融合技術述評[j].國防科

技大學學報

[1o]潘[11]胡[12]馬

泉,于昕,程詠梅,等.資訊融合理論的基本方法與

進展[j].自動化學報

麟.同質感測器資訊融合的移動機械人定位研究平,呂鋒,杜海蓮,等.多感測器資訊融合基本原理

呈,李達。基於衝突表示的衝突證據融合方

[d].武漢:武漢科技大學,2010.

[2]趙宗貴.資訊融合技術現狀,概念與結構模型[j].中國電

子科學研究院學報

及應用[j].控制工程張燕君,龍

法[j].模式識別與人工智慧

479—488.

[3]範新南,蘇麗媛,郭建甲.多感測器資訊融合綜述[j].河海

大學常州分校學報

[4]劉海英,張池平.基於多感測器資訊融合技術[j].佳木斯

大學學報:自然科學版

[5]張明路,戈新良,唐智強,等.多感測器資訊融合技術研究

現狀和發展趨勢[j].河北工業大學學報

—[15]徐學強.多感測資訊融合及其應用研究[d].南京:南京郵

電大學,2013.

35.[16]馬麗娜.基於神經網路的建築環境資訊融合方法研究

[d].西安:西安建築科技大學黃

斌.基於多感測器資訊融合的節能控制系統[j].測控

陵.資訊融合技術在智慧型建築控制系統中的

技術[18]郭惠勇,張

應用[j].資訊與控制

[19]周慧忠.智慧型建築中的多感測器資訊融合[j].智慧型建築,

一32.

(上接第133頁)[7]多功能電能表通訊協議戶用計量儀表資料傳輸技術條件

2004.

參考文獻:

[9]劉豁,郇極,劉艷強.基於xml的ethercat工業以太

網協議解析技術[j].北京航空航天大學學報,2011,37

[1o]王忠鋒,王[11]郭瑞傑,王

92.巨集.基於xml的現場匯流排裝置描述[j].計算斌,丁

捷.基於**驅動的xml配置檔案

機工程解析與生成技術[j].計算機工程與應用

-石為人,楊幸坤,蔡章利,等.基於xml的可配置資料採集閘道器[j].微計算機資訊

[12]林霞,蔡聲鎮,吳允平,等.基於特徵關鍵字的多協議數

據流轉換方法[j].計算機工程

魏紀東,王昭順,戴桂蘭,等.樹形結構資料幀解析和處理[j].小型微型計算機系統

王大宇,譚長庚.電能表及採集終端通訊協議通用解析/生成演算法研究[j].湖南工業大學學報孟瑁遐,朱寧輝,白曉民,等.基於協議的智慧型電表嵌入式通訊軟體研發[j].電網技術—12

雷鋒是一種信念,一種行動

雷鋒,是現代中國的乙個充滿活力和富有感召力的文化符號,始終是我們精神家園中親切和溫暖的一縷陽光。當然,每乙個時代都會根據自己的需要來解讀經典和偶像的價值意義的。那麼在我們這個時代,雷鋒精神又將怎樣呈現,或者說今天雷鋒精神的時代內涵又是什麼呢?21世紀是乙個高度文明的時代,科學技術已在各個領域逐漸成熟...

創業一種是勾搭一種是愛情

創業不是 創 的事,也不是 業 的事,是人生選擇的事情。創業是一種特別不同平常的人生。如果你要選擇乙個特別的人生,那麼就選擇創業。如果你要選擇一種安安穩穩過日子的人生,那麼就不要去創業。創業是人生的選擇 從我選擇創業的時候,我就經常碰到這個問題。以前從讀書 上學 教書 機關,這都是一樣的人生。突然有...

寬容是一種美麗 原諒是一種教育

八五 農場學校 李廣東2012 12 11 寬容是一種溫柔的力量,原諒可以穿透人的心靈。學生犯了錯誤,大多數都會後悔,希望得到寬容 諒解。有些學生只要我們老師拉一拉,就能成為好學生。如果稍一不慎,推一推,或不注意方法,就能毀了乙個人,甚至釀成更為悲慘的結果。寬容的對待學生的 孩子氣 原諒學生 應該犯...