亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        智能電表檢測系統(tǒng)通信協(xié)議棧設計與實現(xiàn)

        2016-09-03 06:40張國強林永峰
        現(xiàn)代電子技術 2016年11期
        關鍵詞:鏈路層物理層應用層

        張國強,林永峰

        (國網(wǎng)天津市電力公司 電力科學研究院,天津 300384)

        智能電表檢測系統(tǒng)通信協(xié)議棧設計與實現(xiàn)

        張國強,林永峰

        (國網(wǎng)天津市電力公司 電力科學研究院,天津300384)

        目前我國用電信息采集系統(tǒng)的建設規(guī)模大,設備廠家型號多,通信介質(zhì)和通信協(xié)議種類多,需建立具有互操作性的電能表通信協(xié)議標準體系。研究了IEC 62056規(guī)范,以此為標準設計完成智能電表規(guī)約測試系統(tǒng)的通信協(xié)議棧部分。協(xié)議采用分層設計,串口通信方式包括以IEC 62056-46為標準的數(shù)據(jù)鏈路層和物理層,TCP通信方式包含中間封裝層以及采用JAVANIO技術的TCP傳輸層。為了對電表協(xié)議本身進行合規(guī)測試,設計了單獨的合規(guī)測試模塊,用特定的測試用例對電表協(xié)議的合規(guī)性進行檢測,并反饋結(jié)果。

        智能電表檢測;IEC 62056;通信協(xié)議棧;合規(guī)測試

        0 引 言

        在龐大的電力系統(tǒng)中,終端往往存在多種智能電表,由于智能電表通信協(xié)議不同,在對用戶管理、電費結(jié)算、讀表抄表等方面綜合管理時,會造成系統(tǒng)互連、互操作性困難。因此作為智能電網(wǎng)系統(tǒng)的重要組成部分,亟需對智能電表建立具有互操作性的通信協(xié)議標準體系[1]。為了解決上述問題,滿足電力系統(tǒng)對儀表計量一致性、安全性、合法性的要求,IEC根據(jù)電力部門的商業(yè)過程的特點,制定了IEC 62056《電能計量——用于抄表、費率和負荷控制的數(shù)據(jù)交換》系列的國際標準體系[2]。

        本文基于某電力科學研究院在所承擔的國家“863”項目“靈活互動的用電關鍵技術研究”,提出采用IEC 62056通信協(xié)議作為廣西電網(wǎng)AMI用電信息采集系統(tǒng)的標準通信協(xié)議,制定基于該協(xié)議標準的互操作標準規(guī)范,并開發(fā)一套規(guī)約一致性檢測系統(tǒng),用于驗證各廠商提供的設備的通信協(xié)議是否符合規(guī)范,為AMI用電信息采集系統(tǒng)的建設提供服務支持[3]。

        1 需求分析

        1.1協(xié)議層的劃分

        依照IEC 62056的通信協(xié)議模型標準和客戶的需求,為智能電表測試系統(tǒng)的通信協(xié)議棧制定了三層通信協(xié)議模型,包含應用層、數(shù)據(jù)鏈路層(或中間協(xié)議層)和物理層(或TCP層)[4]。

        使用IEC 62056標準的計量儀表通信模型采用客戶機/服務器的通信模型,量計費系統(tǒng)(讀表設備)作為客戶機,計量儀表作為服務器,為客戶機提供服務,因此在IEC 62056協(xié)議規(guī)范中,計量儀表也被稱為服務器[5]。

        1.2應用規(guī)范

        本系統(tǒng)通信協(xié)議棧所采用的通信協(xié)議棧規(guī)范如下所示:IEC 62056-21,直接本地數(shù)據(jù)交換;IEC 62056-42,物理層服務協(xié)議,基于連接的異步數(shù)據(jù)交換;IEC 62056-46,基于HDLC的數(shù)據(jù)鏈路層;IEC 62056-47,COSEM傳輸層;IEC 62056-53,COSEM應用層;IEC 62056-61,OBIS對象標識系統(tǒng);IEC 62056-62,IC接口類。

        1.3實現(xiàn)目標

        規(guī)約一致性測試系統(tǒng)中的通信協(xié)議棧部分用以實現(xiàn)對應用模型數(shù)據(jù)結(jié)構(gòu)的編解碼,實現(xiàn)測試系統(tǒng)與各類接入終端(表計、集中器、智能交互終端)以指定的組網(wǎng)方式、通信信道(或介質(zhì))的通信建立、斷開、信息交互等過程的控制。

        2 協(xié)議棧設計

        2.1應用層設計

        (1)應用層編碼模塊

        在應用層協(xié)議中,對數(shù)據(jù)對象的編碼是其中重要的組成部分,通常采用ASN.1語法和BER編碼方法來設計應用層的編碼模塊。ASN.1語法是適合用來描述應用層數(shù)據(jù)幀的語法。對于數(shù)據(jù)對象,它不是用一些表格或固定的幀格式來描述的,而是用一種抽象語法語言描述。這樣做極大地提高了協(xié)議的通用性和抽象性,有助于程序的移植。BER編碼用來實現(xiàn)ASN.1語法。為了實現(xiàn)ASN.1的抽象性和通用性,BER用特殊的編碼來描述ASN.1語法[6]。

        (2)建立應用連接

        應用層連接的建立是在鏈路層連接已建立的條件下通過客戶端發(fā)送AARQ類型的數(shù)據(jù)幀,服務端響應AARE類型數(shù)據(jù)幀來實現(xiàn)的。除了建立連接,這兩個數(shù)據(jù)幀還有是協(xié)商應用層數(shù)據(jù)通信參數(shù)的作用。

        (3)數(shù)據(jù)通信

        當應用層建立好連接后,應用層客戶端可以與服務端執(zhí)行數(shù)據(jù)通信,應用層可以提供兩種數(shù)據(jù)服務:get服務和set服務。根據(jù)IEC 62056應用層規(guī)范的說明,COSEM客戶端只能在確認的應用連接中采用確認的方式調(diào)用這些服務的request原語。COSEM服務器的應用進程一旦接收到數(shù)據(jù)通信服務指示,應檢查該服務能否被提供(檢查合法性、客戶機訪問權限、可行性等)。如果一切都正確,服務器應用進程應在本地使用相應的“實際”對象提供所請求的服務;如果需要響應,COSEM服務器應用進程應生成一個適當?shù)膔esponse報文。

        2.2底層協(xié)議設計

        底層協(xié)議有兩種實現(xiàn)方式:一種是基于串口方式的協(xié)議棧,包括應用層,數(shù)據(jù)鏈路層和串口通信層;另一種是基于TCP方式的協(xié)議棧,包括應用層,封裝層和TCP通信層。

        (1)基于串口通信的底層協(xié)議

        基于串口通信的協(xié)議采用物理層、鏈路層、應用層的三層協(xié)議棧。鏈路層基于IEC 62056-46協(xié)議規(guī)范設計,由LLC層和MAC層兩個子層構(gòu)成。LLC層的作用是將MAC層的數(shù)據(jù)轉(zhuǎn)發(fā)到應用層,或?qū)脤訑?shù)據(jù)轉(zhuǎn)發(fā)到MAC層。MAC子層在鏈路層中負責檢查數(shù)據(jù)傳輸?shù)目煽啃?,包含源、目的地址檢查,數(shù)據(jù)的FCS校驗,長數(shù)據(jù)幀的打包拆包等。

        啟動長數(shù)據(jù)幀鏈路控制流程后,當使用長數(shù)據(jù)幀時,必須把長數(shù)據(jù)幀分割成短數(shù)據(jù)幀。然后把這些短數(shù)據(jù)幀依次發(fā)送出去,在接收端將這些短數(shù)據(jù)幀依次處理。這樣就實現(xiàn)了將一個較大的數(shù)據(jù)包完整地傳送到接收端。物理層基于IEC 62056-42協(xié)議規(guī)范設計,協(xié)議位于IEC 62056協(xié)議簇的最底層,負責數(shù)據(jù)通信在物理信道的傳輸。IEC 62056可以支持于多種不同的物理介質(zhì)上(紅外,串口通道等)。

        (2)基于TCP的底層協(xié)議

        基于TCP的通信采用物理層、中間層、封裝層、應用層的協(xié)議棧。與串口通信相比,基于TCP通信的協(xié)議,將物理層和鏈路層的功能交給TCP/IP協(xié)議處理,在TCP層與應用層之間加入封裝層。

        3 協(xié)議棧的實現(xiàn)

        協(xié)議棧由多個協(xié)議層相互連接組成,一個協(xié)議層有一個下一層協(xié)議層,有一個或多個前一層協(xié)議層,下一層協(xié)議向上一層協(xié)議提供四個接口:連接接口,斷開接口,發(fā)送接口和接收接口。連接接口負責處理客戶端與服務器端建立連接;斷開接口負責處理客戶端與服務器端斷開連接;發(fā)送接口負責有客戶端向服務器端發(fā)送數(shù)據(jù);接收接口負責處理服務器端向客戶端發(fā)送數(shù)據(jù)。

        應用層和數(shù)據(jù)鏈路層的協(xié)議都采用狀態(tài)轉(zhuǎn)移的方法來處理不同狀態(tài)下對不同事件的處理。狀態(tài)分為四種:Disconnected,Connecting,Connected和Disconnecting。

        當應用層客戶端收到建立連接的指令時,首先應檢查數(shù)據(jù)鏈路層的連接是否存在,如果不存在則建立鏈路層連接;數(shù)據(jù)鏈路層收到建立連接的指令時,首先應檢查物理層連接是否存在,如果不存在則建立連接物理層連接。

        3.2應用層的實現(xiàn)

        (1)ASN.1編碼模塊實現(xiàn)

        ASN.1編解碼模塊實現(xiàn)了應用層數(shù)據(jù)對象和傳輸報文的相互轉(zhuǎn)換,對于所有在系統(tǒng)中應用到的APDU,都將它們與一個 Java類相對應,所有的類都實現(xiàn)encode()和decode()方法以實現(xiàn)編解碼。

        在生成AARQ的過程中,通過構(gòu)造方法為AARQ類中的屬性設置參數(shù),然后調(diào)用自身的encode()方法,將自身的類編碼為一段字符串,就實現(xiàn)了AARQ幀的編碼工作,AARQ幀的類圖如圖1所示。

        圖1 AARQ幀的類圖

        (2)應用層數(shù)據(jù)服務實現(xiàn)

        二十一世紀網(wǎng)絡科學技術飛速發(fā)展,移動互聯(lián)網(wǎng)更是融入到人們的日常生活當中,因此,傳統(tǒng)的媒介都已經(jīng)通過網(wǎng)絡技術向新媒體發(fā)展與融合。傳統(tǒng)媒介傳播方式單一,宣傳成本高,技術不足,再加上傳統(tǒng)媒介的本身的制約,很難取得很大的發(fā)展。

        當應用層建立好連接后,應用層客戶端可以與服務端執(zhí)行數(shù)據(jù)通信,應用層可以提供get服務和set服務兩種數(shù)據(jù)服務,每種數(shù)據(jù)服務包括以下操作流程:

        ①生成數(shù)據(jù)服務請求pdu;

        ②處理數(shù)據(jù)服務響應pdu;

        ③處理數(shù)據(jù)服務響應信息;

        ④獲取數(shù)據(jù)服務結(jié)果。

        選擇模板方法設計模式封裝數(shù)據(jù)服務處理流程,模板方法模式通過把不變的的行為搬移到超類,去除子類中的重復代碼來體現(xiàn)它的優(yōu)點;當不變的和可變的行為在子類的實現(xiàn)中混合在一起時,不變的行為會在子類中重復的實現(xiàn),通過模板方法模式把這些方法搬移到單一的地方,就可以幫助子類擺脫重復不變方法的糾纏。采用模板方法設計模式的應用層數(shù)據(jù)服務模塊類圖如圖2所示。

        圖2 應用層數(shù)據(jù)服務模塊類圖

        3.3基于串口底層協(xié)議的實現(xiàn)

        基于串口底層協(xié)議的數(shù)據(jù)鏈路層也采用和應用層相同的狀態(tài)轉(zhuǎn)移模式來處理不同狀態(tài)下對不同事件的處理,除了建立斷開鏈路層連接外,鏈路層的主要功能就是對上下層數(shù)據(jù)幀的一收一發(fā),接收應用層的信息并組幀轉(zhuǎn)發(fā)給物理層,從物理層接收幀并拆幀將信息轉(zhuǎn)發(fā)給應用層。數(shù)據(jù)鏈路層的類圖如圖3所示。

        數(shù)據(jù)鏈路層將本層具體的控制邏輯放在自己的四個狀態(tài)類中去實現(xiàn)。例如當調(diào)用到本層的connect()方法時,鏈路層類會用this.getLayerState().conect()方法將控制流轉(zhuǎn)移到狀態(tài)類中去處理事件。這樣可以很好地完成不同狀態(tài)下對不同事件的處理。

        圖3 數(shù)據(jù)鏈路層的類圖

        3.4基于TCP層的底層協(xié)議實現(xiàn)

        封裝層其存在的重要性在于支持單一TCP端口對應多邏輯設備的通信。因此在數(shù)據(jù)被轉(zhuǎn)發(fā)給TCP層之前,需要為數(shù)據(jù)加上WPDU幀頭,以標識數(shù)據(jù)屬于哪個邏輯設備,數(shù)據(jù)要發(fā)送給哪個邏輯設備。WPDU幀中包含源WPort地址,目的WPort地址,幀長度和信息數(shù)據(jù)。協(xié)議使用SocketChannel實現(xiàn)TCP層的傳輸功能。Channel類是TCP層的核心,里面實現(xiàn)了建立通道,注冊和收發(fā)數(shù)據(jù)等方法。

        4 測 試

        4.1模擬電表

        當使用一臺計算機對電表進行測試時,本系統(tǒng)的測試架構(gòu)如圖4所示,測試系統(tǒng)可選擇串口通信或者TCP通信的方式與受測設備相連接,進行合規(guī)測試。

        圖4 單機測試架構(gòu)圖

        實際環(huán)境中,測試系統(tǒng)往往需要部署在多臺PC機上,需要同時測試多臺設備。在多機測試環(huán)境中,測試控制臺可能連接著數(shù)十臺電腦,在這數(shù)十臺電腦的測試代理上可能又懸掛著數(shù)十塊電表。而實際的測試環(huán)境中難以搭建成百上千塊電表,對多機測試系統(tǒng)的功能進行驗證。

        對于模擬電表,通信協(xié)議棧是它的主要組成部分。由于電表是作為服務端出現(xiàn)的,所以模擬電表的通信協(xié)議要實現(xiàn)的就是IEC 62056規(guī)則服務端部分的處理、收發(fā)邏輯。在實現(xiàn)模擬電表協(xié)議的過程中,首先沿用客戶端的框架,采用相同分層結(jié)構(gòu)和職責鏈設計模式來串連各個協(xié)議層。模擬電表的界面采用Java的JFace繪制,可設置的參數(shù)包括串口號,電表地址和開啟電表個數(shù)如圖5所示。TCP通信方式運行的模擬軟表可設置的參數(shù)包括網(wǎng)絡端口好和開啟電表個數(shù)如圖6所示。

        圖5 串口通信方式運行的模擬軟表

        圖6 TCP通信方式運行的模擬軟表

        4.2合規(guī)測試

        本規(guī)約一致性測試系統(tǒng)的設計目的是,用于驗證各廠商提供的設備是否符合協(xié)議規(guī)范。通過軟、硬編碼結(jié)合的方式組成需要的協(xié)議幀,按照測試用例流程的要求,逐個發(fā)送,根據(jù)響應的結(jié)果,判斷電表協(xié)議是否符合規(guī)范。

        所有的測試用例被分為應用層測試和鏈路層測試兩類,它們都繼承TestCase類。合規(guī)測試模塊為上層的應用進程提供了三個服務調(diào)用接口init(),check()和test(),init()負責初始化測試用例,test()負責執(zhí)行用例,check()負責檢查測試結(jié)果。TestCase類中完成了這三個接口方法的具體實現(xiàn)。TestCase類繼承了Client-ProtocolLayer,因此所有的測試用例類都本質(zhì)上都是一個虛構(gòu)的協(xié)議層。這樣做可以使測試用例擺脫真實的協(xié)議棧的規(guī)則限制,按照測試用例的需要,實現(xiàn)特定的數(shù)據(jù)幀收發(fā)邏輯,以檢測協(xié)議棧的合規(guī)性。

        案例(見表1):規(guī)約一致性測試→鏈路層測試→幀類型錯誤測試測試分類。反向測試測試過程如下:

        (1)選擇規(guī)約一致性測試,包含幀類型錯誤測試案例;

        (2)測試工具構(gòu)建SNRM幀,將其Format type子域設置為0101(正確值為1010),而其他域(幀頭、幀尾、地址、控制字、CRC等)均為正確設置;

        (3)測試工具發(fā)送SNRM幀給電表;

        (4)電表收到報文后,應該檢查報文的合規(guī)性并進行正確的反應(如:發(fā)現(xiàn)SNRM命令幀的Format type域設置不正確,則對該命令幀不應答);

        (5)測試工具在規(guī)定時間內(nèi),如果接收不到應答,則認為電表“幀類型錯誤”校核合規(guī);

        (6)否則,認為不合規(guī)。

        表1 幀類型錯誤測試

        5 結(jié) 論

        本文研究了IEC 62056規(guī)范,以此為標準設計完成智能電表規(guī)約測試系統(tǒng)的通信協(xié)議部分。本測試系統(tǒng)的通信協(xié)議棧遵循IEC 62056標準規(guī)范,整體上可分為兩大部分,應用層協(xié)議和底層協(xié)議。應用層的功能包含以ASN.1語法對數(shù)據(jù)對象的編解碼,以及為應用進程提供查詢、修改電表等數(shù)據(jù)通信服務。底層協(xié)議支持串口通信和TCP通信兩種模式。串口通信方式主要工作在于設計IEC 62056-46為標準的數(shù)據(jù)鏈路層,負責數(shù)據(jù)傳輸?shù)目煽啃裕琓CP通信方式包含中間傳輸層以及采用JAVANIO的TCP傳輸層。

        由于實際環(huán)境難以搭建多塊電表進行合規(guī)測試,所以設計了模擬軟表來模擬多塊電表同時測試。模擬軟表的通信協(xié)議為服務端協(xié)議,與客戶端的處理邏輯不同,需設計與客戶端協(xié)議完美對接。為了對電表協(xié)議進行合規(guī)測試,設計了單獨的合規(guī)測試模塊,軟硬編碼相結(jié)合,用特定的測試用例對電表協(xié)議的合規(guī)性進行檢測,并反饋結(jié)果。

        [1]王思彤,周暉,袁瑞銘,等.智能電表的概念及應用[J].電網(wǎng)技術,2010,34(4):17-23.

        [2]雷利兵,朱青,張利平.基于DLMS/COSEM協(xié)議的智能電表設計[J].微計算機信息,2010,26(2):44-46.

        [3]武岳山.HDLC/SDLC串行通信規(guī)程的幀校驗序列(FCS)[J].電子技術應用,1996(1):35-37.

        [4]彭照輝.基于IEC 62056三相多功能電能表的研究與實現(xiàn)[D].長沙:湖南大學,2009:25-32.

        [5]韓朋哲.DLMS/COSEM電能表通信協(xié)議在自動抄表系統(tǒng)中的應用[J].自動化與儀器儀表,2008(4):68-70.

        [6]常婧.智能電網(wǎng)建設對智能儀表的技術需求分析[J].儀表技術,2010(4):58-60.

        [7]李亦非,王文靜,丁瀟雪,等.電子式電能表可靠性預計及驗證分析[J].現(xiàn)代電子技術,2011,34(22):141-143.

        Design and im p lem entation of comm unication p rotocol stack for sm artm eter detection system

        ZHANG Guoqiang,LIN Yongfeng
        (Electric Power Research Institute,Tianjin Electric Power Company of State Grid,Tianjin 300384,China)

        At present,the construction scale of electric-utilization information acquisition system is large in China,the types of equipmentmanufacturers are various,the communication medias and communication protocols are massive,so it is necessary to establish the interoperable communication protocol standard system for the electric energy meter.In this paper,the IEC62056 Specification is studied,and based on this standard,the part of the communication protocol stack of the smartmeter protocol testing system was designed.This protocol adopts hierarchical design,in which the serial communication mode includes data link layer and the physical layer taking IEC 62056-46 as the standard,and TCP communication mode includes the TCP transmission layer using JAVANIO technology and intermediate packaging layer.In order to perform the compliance test ofmeter protocol itself,a separate compliance testmodule was designed.The compliance of themeter protocolwas detected with a specific test case to feed back the results.

        smartmeter detection;IEC 62056;communication protocol stack;compliance test

        TN915.04-34;TM 417

        A

        1004-373X(2016)11-0034-04

        10.16652/j.issn.1004-373x.2016.11.009

        2015-10-28

        張國強(1984—),男,山西人,工程師,碩士。研究方向為信息安全技術監(jiān)督。

        林永峰(1982—),男,吉林人,工程師,碩士。研究方向為信息安全風險測評。

        猜你喜歡
        鏈路層物理層應用層
        基于K-ML-MPWFRFT的物理層安全傳輸技術
        基于多空間內(nèi)存共享的數(shù)據(jù)鏈路層網(wǎng)絡包捕獲方法
        公路聯(lián)網(wǎng)電子不停車收費系統(tǒng)路側(cè)單元物理層自動測試軟件研發(fā)
        基于分級保護的OA系統(tǒng)應用層訪問控制研究
        基于FPGA全功能MVB網(wǎng)絡從設備鏈路層IP核設計
        新一代雙向互動電力線通信技術的應用層協(xié)議研究
        多天線物理層安全傳輸系統(tǒng)性能分析
        物聯(lián)網(wǎng)技術在信息機房制冷系統(tǒng)中的應用
        數(shù)據(jù)鏈路層的選擇重傳協(xié)議的優(yōu)化改進
        IEEE 1394事務層接口的設計與實現(xiàn)
        日本一区二区三区亚洲| 久久99精品久久久久久| 人妻精品丝袜一区二区无码AV| 久久久久成人精品免费播放| 日韩女同一区二区三区久久| 青青草小视频在线观看| 国产午夜免费高清久久影院| 尤物网址在线观看| 国产午夜福利精品| 久草视频华人在线观看| 国产精品髙潮呻吟久久av| 国产黑丝美腿在线观看| 久久9精品区-无套内射无码| 亚洲av色无码乱码在线观看| 亚洲欧洲日产国码无码av野外| 国产一区二区在线中文字幕| 亚洲中文字幕午夜精品| 亚洲熟妇av日韩熟妇在线| 日韩精品无码一区二区三区免费| 蜜桃视频免费在线视频| 亚洲精品国产av成拍| 久久久久亚洲精品无码系列| 狠狠色噜噜狠狠狠狠7777米奇| 国产内射XXXXX在线| 手机在线观看亚洲av| 美女人妻中出日本人妻| 女人被狂躁c到高潮视频| 无遮挡边吃摸边吃奶边做| 国产午夜av一区二区三区| 国产一区二区三区亚洲| 婷婷色香五月综合缴缴情| 亚洲精品中文字幕无码蜜桃| 国产精品久久这里只有精品| 精品国产av一区二区三四区| 第一次处破女18分钟高清| 人人妻人人妻人人片av| 国产视频最新| 亚洲激情一区二区三区视频| 久久综合99re88久久爱| 无套内射无矿码免费看黄| 在线丝袜欧美日韩制服|