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

        ?

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

        2016-04-12 00:00:00張國強(qiáng)林永峰
        現(xiàn)代電子技術(shù) 2016年11期

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

        關(guān)鍵詞: 智能電表檢測; IEC 62056; 通信協(xié)議棧; 合規(guī)測試

        中圖分類號: TN915.04?34; TM417 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2016)11?0034?04

        Abstract: At present, the construction scale of electric?utilization information acquisition system is large in China, the types of equipment manufacturers are various, the communication medias and communication protocols are massive, so it is ne?cessary 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 smart meter 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 of meter protocol itself, a separate compliance test module was designed. The compliance of the meter protocol was detected with a specific test case to feed back the results.

        Keywords: smart meter detection; IEC 62056; communication protocol stack; compliance test

        0 引 言

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

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

        1 需求分析

        1.1 協(xié)議層的劃分

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

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

        1.2 應(yīng)用規(guī)范

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

        1.3 實(shí)現(xiàn)目標(biāo)

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

        2 協(xié)議棧設(shè)計

        2.1 應(yīng)用層設(shè)計

        (1) 應(yīng)用層編碼模塊

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

        (2) 建立應(yīng)用連接

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

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

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

        2.2 底層協(xié)議設(shè)計

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

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

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

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

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

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

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

        3.1 協(xié)議層結(jié)構(gòu)的實(shí)現(xiàn)

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

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

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

        3.2 應(yīng)用層的實(shí)現(xiàn)

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

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

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

        (2) 應(yīng)用層數(shù)據(jù)服務(wù)實(shí)現(xiàn)

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

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

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

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

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

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

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

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

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

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

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

        4 測 試

        4.1 模擬電表

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

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

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

        4.2 合規(guī)測試

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

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

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

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

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

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

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

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

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

        5 結(jié) 論

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

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

        參考文獻(xiàn)

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

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

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

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

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

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

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

        国产精选自拍视频网站| 国产精品久久婷婷婷婷| 久久精品女人天堂AV一个| av男人的天堂第三区| 亚洲国产一区二区三区| 午夜男女很黄的视频| 久久久久久人妻一区二区三区| 免费一区二区三区视频狠狠| 亚洲一区二区三区国产精品| 亚洲网站一区在线播放| 国产成人无码综合亚洲日韩| 国产婷婷一区二区三区| 亚洲一区二区三区精品网| 亚洲大胆视频在线观看| 亚洲黄片av在线播放| 巨人精品福利官方导航| 黄又色又污又爽又高潮动态图| 四虎国产精品成人影院| 久久国产精品免费一区二区三区| 成人免费自拍视频在线观看| 日本一卡2卡3卡4卡无卡免费网站| 亚洲国产精品一区二区第四页| 国产高潮精品一区二区三区av | 免费欧洲毛片a级视频老妇女| 夜夜高潮夜夜爽夜夜爱爱| 亚洲一区二区自拍偷拍| 亚洲黄色大片在线观看| 黄片视频免费在线播放观看| 精品三级av无码一区| 亚洲成a人片在线网站| 五月激情狠狠开心五月| 亚洲精品久久蜜桃av| 亚洲 欧美 日韩 国产综合 在线| 亚洲最大av资源站无码av网址| 久久久久久一本大道无码 | 精品偷拍被偷拍在线观看| 丰满人妻熟妇乱又伦精品视| 亚洲av激情久久精品人| 国产剧情av麻豆香蕉精品| 人人爽人人爽人人片av| 日本强好片久久久久久aaa|