DLMS电能表通讯协仪.docx

上传人:b****1 文档编号:14766633 上传时间:2023-06-27 格式:DOCX 页数:62 大小:337.44KB
下载 相关 举报
DLMS电能表通讯协仪.docx_第1页
第1页 / 共62页
DLMS电能表通讯协仪.docx_第2页
第2页 / 共62页
DLMS电能表通讯协仪.docx_第3页
第3页 / 共62页
DLMS电能表通讯协仪.docx_第4页
第4页 / 共62页
DLMS电能表通讯协仪.docx_第5页
第5页 / 共62页
DLMS电能表通讯协仪.docx_第6页
第6页 / 共62页
DLMS电能表通讯协仪.docx_第7页
第7页 / 共62页
DLMS电能表通讯协仪.docx_第8页
第8页 / 共62页
DLMS电能表通讯协仪.docx_第9页
第9页 / 共62页
DLMS电能表通讯协仪.docx_第10页
第10页 / 共62页
DLMS电能表通讯协仪.docx_第11页
第11页 / 共62页
DLMS电能表通讯协仪.docx_第12页
第12页 / 共62页
DLMS电能表通讯协仪.docx_第13页
第13页 / 共62页
DLMS电能表通讯协仪.docx_第14页
第14页 / 共62页
DLMS电能表通讯协仪.docx_第15页
第15页 / 共62页
DLMS电能表通讯协仪.docx_第16页
第16页 / 共62页
DLMS电能表通讯协仪.docx_第17页
第17页 / 共62页
DLMS电能表通讯协仪.docx_第18页
第18页 / 共62页
DLMS电能表通讯协仪.docx_第19页
第19页 / 共62页
DLMS电能表通讯协仪.docx_第20页
第20页 / 共62页
亲,该文档总共62页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

DLMS电能表通讯协仪.docx

《DLMS电能表通讯协仪.docx》由会员分享,可在线阅读,更多相关《DLMS电能表通讯协仪.docx(62页珍藏版)》请在冰点文库上搜索。

DLMS电能表通讯协仪.docx

DLMS电能表通讯协仪

DLMS电能表通讯协仪(2003626)

本文是对于IEC62056协议族,即DLMS协议族的中文说明手册。

本文并没有包含DLMS协议族的全部,但解释了在应用中可能出现的大多数情况。

本文的目的是为电能量数据采集终端提供与使用DLMS协议族的电能表通讯的协议说明。

本文参考文献如下:

(1)DLMSUserAssociation,COSEMIdentificationSystemandInterfaceObjects,ThirdEdition

(2)IEC62056-53Electricitymetering-Dataexchangeformeterreading,tariffandloadcontrol-Part53:

COSEMapplicationlayer

(3)IEC62056-46Electricitymetering-Dataexchangeformeterreading,tariffandloadcontrol-Part46:

DatalinklayerusingHDLCprotocol

(4)IEC62056-42Electricitymetering-Dataexchangeformeterreading,tariffandloadcontrol-Part42:

Physicallayerservicesandproceduresforconnection-orientedasynchronousdataexchange

(5)IEC62056-61Electricitymetering-Dataexchangeformeterreading,tariffandloadcontrol-Part61:

Objectidentificationsystem(OBIS)

(6)AmberManagementlogicaldevice-FR:

AMBER/FWTECH_SPECMANAGEMENT_LOGICAL_DEVICE

(7)AmberElectricityLogicalDevice-FR:

AMBER/FWTECH_SPECELECTRICITY_LOGICAL_DEVICE

(8)ALayman'sGuidetoaSubsetofASN.1,BER,andDER-

AnRSALaboratoriesTechnicalNote

BurtonS.KaliskiJr.RevisedNovember1,1993

(9)IEC61334采用配线载波的配电自动化,译文汇编。

一、本文的结构

由于DLMS协议族的复杂性,必然导致本文篇幅较长,涉及的内容比较多。

这里有必要把本文的内容,做一个综述,并解释各部分之间的相互关系。

一、DLMS协仪模型:

从整体上介绍DLMS协议。

二、DLMS物理层协议:

讲述DLMS物理层在整个协议族中的作用。

三、DLMS链路层协议:

讲述HDLC链路层协议在整个协议族中的作用。

四、DLMS应用层协议:

讲述DLMS应用层协议在整个协议族中的作用。

这一部分又包括如下几部分内容。

(一、)ASN.1语法:

这个语法是用来描述DLMS应用层协议帧的组成的。

(二、)BER编码与AXDR编码:

这两种编码是用来实现ASN.1语法的。

(三、)AARQ与AARE数据帧:

这是两个特殊的数据帧,它用来构筑DLMS协议中的client端与server端的应用层连接。

(四、)数据请求过程描述:

介绍请求数据时所用的的数据帧。

五、请求数据实例:

这里提供了几个请求数据的实际范例的数据包文。

1、请求电量

2、请求瞬时量(电压、电流、功率)

3、请求负荷曲线

4、请求时间

 

一、DLMS协仪模型

下图从整体上描述了DLMS协仪模型。

协仪共分为3层,物理层,链路层,应用层。

层与层之间使用指定的服务通讯。

通讯的双方采用Client—Server结构,数据请求端(采集器)为Client,数据提供端(电表)为Server.

通讯过程描述:

(一)建立物理层连接

物理层位于通讯模型的最底层。

DLMS规约可以建立在多种物理层之上,物理层的做用主要是对底层通讯硬件的操做(如对PSTNMODEM的初始化,打开,关闭。

(二)建立链路层连接

物理层连接建立之后,数据通讯的第一步是建立链路层的连接,链路层主要负责数据传输的可靠性,包括以下几个方面,地址校验,帧长校验,数据的CRC校验。

长数据帧的拆包组包。

同时向应用层提供链路传输的服务。

(三)建立应用层连接

链路层连接建立之后,在DLMS协仪中还要建立应用层连接,才可进行数据通讯。

这个应用层连接建立过程被称为Negotioation。

这个过程是为数据通讯提供一些配置参数。

应用层连接请求由Client端发起,Client端发aarq帧,Server端响应aare帧

(四)进行数据通讯

当连接建立起后,就可进行数据通讯了。

Client端发送数据请求帧Server端以数据响应。

Client在请求不同的数据时,要使用特定数据的独有的classid和OBIS,用以标识不同类型的数据。

(五)数据通讯结束,释放链路,解除连接。

数据通讯结束后,发链路结束帧,结束一次通讯过程。

一次数据通讯结束后,可以通过发链路结束帧,来结束一次通讯过程。

也可以,不发任何数据帧,依靠server端的超时挂断机制,来结束一次通讯过程。

一般应使用前者。

(六)解除物理层连接

关闭物理端口(如挂断Modem)。

从物理上结束一次通讯。

二、DLMS物理层协议

物理层协议位于DLMS协议族的最底层,负责数据通讯的物理传输。

DLMS可以工作于多种不同的物理介质上(PSTN,网络,串行通道等)。

物理层的功能是接受链路层数据,发送到物理介质上,传送到通信的对端。

或是接收通信的对端传送来得数据,再传送到链路层,供更高层的协议处理数据。

DLMS物理层协议,主要规定了物理层应实现的服务,如:

打开端口,初始化端口,收发数据,关闭端口等。

在通常的嵌入式系统中(如电能量采集装置),物理层对应于系统的底层驱动部分。

这部分一般不被通讯规约控制。

因此,在不影响通讯协议功能实现的前提下,本文将不具体讨论物理层服务。

三、DLMS链路层协议

物理层之上即为链路层,链路层是物理层与应用层通信的通道。

DLMS链路层使用的是HDLC高速链路控制协议。

链路层的构成:

链路层由两个子层构成,即LLC子层,和MAC子层。

(一)、LLC子层(逻辑链路控制子层)

这一层的功能是将MAC子层的数据转发到应用层,或将应用层的数据转发到MAC子层。

LLC子层只是作转发而不对数据做出处理。

其存在的重要性在于向应用层提供链路传输的服务(从链路层接收或发送数据)。

具体到数据通讯时,对于client端应用层发送的数据,要加上LLC帧头(0xe6,0xe6,0x00),server端应用层发送的数据,要加上LLC帧头(0xe6,0xe7,0x00)。

由于LLC子层链路传输服务的具体实现,可以不受DLMS协议的限制,由应用程序实现。

故本文不具体说明LLC子层的各种服务。

(二)、MAC子层(媒体访问控制子层)

MAC子层在链路层中负责数据传输的可靠性,包括地址检查,数据的CRC校验,长数据帧的打包拆包等。

这些工作对于数据通讯都是必不可少的,MAC子层功能的说明将是以下的重点。

1HDLC帧格式

(1)不包含应用层数据信息

0x7e

帧类型与帧长

目的地址域

源地址域

控制域

数据帧校验

0x7e

两个0x7e是HDLC数据帧固定的帧头与帧尾,两个0x7e之间是链用户数据。

(2)包含应用层数据信息

0x7e

帧类型与帧长

目的地址域

源地址域

控制域

帧头校验

LLC帧头

用户数据信息

数据帧校验

0x7e

与不包含应用层数据信息的数据帧相比这里多了3项:

帧头校验:

为增强通讯的可靠性,对帧头的数据也加上CRC校验。

帧头包括如下字段:

帧类型与帧长、目的地址域、源地址域、和控制域

LLC帧头:

用户数据信息前要加0xe6,0xe6,0x00或0xe6,0xe7,0x00。

用户数据信息:

应用层处理的数据。

注:

出于数据完整性的考虑,用户数据信息的最大长度,默认为128字节。

如果想要更多的字节,可以在SNRM数据帧中协议。

2帧类型字段与‘S’位

帧类型与帧长字段,共两个字节。

内容如下:

FrameType:

用于指出当前数据帧的类型。

HDLC有多种数据帧类型,DLMS使用FrameType3。

FrameType恒为A(1010)。

S:

(segmentationBit)这个字段只有一位,它用于说明数据帧是否被分割。

在长数据帧传输时要使用到这一位。

长数据帧的传输将在后面解释。

FrameLengthSub-field:

这个字段用于说明当前数据帧的长度,(以字节为单位,不包括两个0x7e)

3地址解析

地址域分为两部分。

目的地址域和源地址域。

对于client端,目的地址为server的地址,源地址为client的地址。

对于server端正好相反。

(1)扩展编址技术

HDLC使用扩展编址技术,即某一个地址字节的最低位如为0,则表明该地址域没有结束,仍有后续字节是该地址域的一部分。

若某一地址字节最低位为1,则说明该地址域已经结束,没有后续字节。

(2)地址结构

Client端的地址永远是一个字节,由于扩展编址技术的使用,最低位置1,所以client端的地址只能有128个。

Server端为了实现一个物理地址对应多个逻辑地址,将地址分成了两部分upperHDLCAddress用于表述逻辑地址,lowerHDLCaddress用于表述物理地址。

Upperaddress总是应当有的,loweraddress在确认不需要的情况下,可以不出现。

(sl7000电表这两部分地址都是需要的)。

Server端的地址在使用扩展编址技术时,也并非是可以无限长(虽然在理论上可以,但在实践上是有上限的)。

Server端的地址结构可以使用如下方式:

Onebyte:

onlytheupperHDLCaddressispresent.

一字节:

只出现HDLC高位一字节地址。

两字节:

只出现HDLC高位一字节地址,和HDLC低位一字节地址。

四字节:

只出现HDLC高位两字节地址,和HDLC低位两字节地址

对于SL7000电表,经测试只有四字节sever地址结构可用。

(3)特殊地址

有一些地址被HDLC定为保留地址。

这其中比较重要的是广播地址。

对于SL7000电能表,实践中可行的地址结构是client端一字节,server端4字节。

对于DLMS协议族是可以使用上述地址结构中的任一种,并且支持特殊地址。

4帧控制字

帧控制字字段主要负责,通讯中的帧计数,以及特殊数据帧的标识。

帧控制字字段结构如下:

对应项的解释如下:

RRR:

为接收帧计数。

SSS:

为发送帧计数。

注:

对帧计数的解释,

在链路层连接建立之后,第一次请求数据时(在client端,包括发送AARQ)RRR置为0,SSS置为0。

Server端收到这一帧数据后,返回数据响应RRR为1,SSS为0。

Client再次请求数据时RRR加1,SSS加1。

Server端收到这一帧数据后,返回数据响应RRR加1(成为2),SSS加1。

如此反复直到client得到所有的数据为止。

整个数据传输过程以I数据帧请求和响应。

这里要说明的是在请求数据结束后还要再发送RR帧,收到确认后。

才可以再发送DISC帧结束链路。

其中Client端的RR帧中的帧计数位RRR只需将client的帧计数位RRR加1得到。

下图描述了帧计数位的变化过程:

P/F:

poll/finalbit。

Pollbit:

由client发送,置1时表示server端回应,置0时表示不允许回应。

finalbit:

由server发送,置1时表示一次数据帧的发送结束,置0时表示还未发送完。

finalbit只有在通讯窗口(windowsize)大于1的情况下才有意义。

在windowsize=1时,由server端返回的数据帧中的这一位总是置1。

(关于windowsize将会在“建立链路层连接”时解释)

 

几种不同的数据帧分别应用在不同的场合,下图列出了几种请求和响应的对应的情况。

I:

信息传输帧

RR:

准备接收数据帧(用来表示准备接收下一帧数据)

RNR:

接收没有准备好(receivenotready)。

相当于别的通讯协议中的忙帧。

SNRM:

设置正常相应数据帧。

用于建立链路层连接。

UA:

对SNRM和DISC的响应帧。

DISC:

结束链路帧。

DM:

对DISC的响应帧。

(Disconnectedmode)

UI:

可以用于保持链路,这个数据帧的发送,对于链路的控制没有任何影响。

FRMR:

拒绝接收帧(Framereject),由于不确定的某种原因拒绝接收到的数据帧。

5长数据帧的传输

在很多情况下,数据不能在一次请求和一次响应中,就能够结束数据传输的过程(受限于用户数据字节不超过128字节)。

这时就有必要启动长数据帧链路控制流程。

注:

请求负荷曲线时一定是使用长数据帧。

当使用长数据帧时,必须把长数据帧分割成短数据帧。

然后把这些短数据帧依次发送出去,在接收端将这些短数据帧依次处理。

这样就实现了一个较大的数据包,完整的传送到接收端。

在数据帧被分割时,帧类型与帧长字段中的‘S’位,将被置1。

当接收端检测到这一位被置位后,就知道数据帧已被分割,此时要做出对分割数据帧的相应处理。

下图介绍了长数据帧的收发过程:

client端通过发送RR数据帧来请求被分割的数据帧的其他部分。

6数据帧校验

HDLC使用16位CRC校验。

使用的多项式是:

具体的实现程序,可参照英文参考文献IEC62056-46的附录A。

(三)、链路层连接的建立,与断开

(1)建立连接

链路层在开始工作之前,要建立链路层连接(Association)。

这一步骤是通过client端发送SNRM数据帧,server端响应UA数据帧表示已建立连接,server端响应DM数据帧表示链路断开,连接没有建立。

UA数据帧常含有链路参数的配置信息。

链路参数是指2个控制数据传输的参数。

WINDOW_SIZEparameter;这个参数描述通讯时,通讯的双方一次发送数据帧的数目。

HDLC允许一次发送多帧数据。

MAXIMUM_INFORMATION_FIELD_LENGTHparameter.最大信息域长度,这个参数用于描述一个链路数据帧中用户数据的长度。

这两个参数的默认值如下

defaultWINDOW_SIZE=1;

defaultMAXIMUM_INFORMATION_FIELD_LENGTH=128(BYTEs)

具体在数据帧中有如下4个参数:

transmitmaximuminformationfieldlength

receivemaximuminformationfieldlength

transmitwindowsize

receivewindowsize

注:

这里没有给出数据帧的具体格式,而是用举例来说明如何组帧。

这种做法可能给读者带来不便。

但在DLMS的规约原文中就是用这种办法,故这里仍这样做。

以下举例说明如何建立连接:

//SNRM

S:

7ea0210022002303930b14818012050180060180070400000001080400000007655e7e

解释:

7e

a021帧类型与帧长

00220023目的地址

03源地址

93控制字

0b14帧头校验

8180SNRM标识

12grouplenth.

05Hparameteridentifier(maximuminformationfieldlengthtransmit)

01Hparameterlength(1octet)

80Hparametervalue(128bytes)

06Hparameteridentifier(maximuminformationfieldlengthreceive)

01Hparameterlength(1octet)

80Hparametervalue(128bytes)

07Hparameteridentifier(windowsize,transmit)

04Hparameterlength(4octets)

00Hparametervalue(highbyteofvalue)

00Hparametervalue

00Hparametervalue

01Hparametervalue(lowbyteofvalue)

08Hparameteridentifier(windowsize,receive)

04Hparameterlength(4octets)

00Hparametervalue(highbyteofvalue)

00Hparametervalue

00Hparametervalue

07Hparametervalue(lowbyteofvalue)

655e数据帧校验(CRC校验)

7e

在SNRM数据帧中的用户信息可以不出现,表示client接收server端的已配置数据。

//UA

R:

7EA02103002200237328F0818012050180060180070400000001080400000001533B7E

解释:

7E//Flag

0xA021//(type=a:

frametype3,s=0:

endofframe,len=021:

33bytes)

03//sourceaddress

0022

0023//destinationaddress

73//controlUA

28F0//hcs

818012050180060180070400000001080400000001

//informationfield

//parameternegotiation

//81

//80

//12

//050180:

maximuminformationfieldlengthtransmit(128BYTEs)

//060180:

maximuminformationfieldlengthreceive(128BYTEs)

//070400000001:

windowsize,transmit

(1)

//080400000001:

windowsize,receive

(1)

533B//fcs

7E

(2)断开连接

断开连接由于不用参数设置,所以比建立连接要简单。

Client端发送DISC数据帧,Server端响应UA或DM表示断开连接。

UA表示接到DISC后断开连接。

DM表示在接到DISC之前已处于断开状态。

一下仍给出具体的通讯实例:

S:

7ea00a00220023035306c77e

解释:

7ea00a0022002303

53//帧类型Disc

06c77e

R:

7EA00A03002200231F434C7E

解释:

7EA00A0300220023

1F//帧类型DM

434C7E

(四)、关于链路层的透明数据传输

0x7e

帧类型与帧长

目的地址域

源地址域

控制域

帧头校验

LLC帧头

用户数据信息

数据帧校验

0x7e

HDLC是一种透明数据传输的链路层协议。

用户数据信息与链路层没有任何关系。

在DLMS的协议模型中,链路层负责数据传输的可靠性,应用层处理用户数据信息。

链路层为应用层数据的传输提供透明通道。

四、DLMS应用层协议

理解DLMS应用层协议,需要首先建立以下几个概念:

ASN.1语法,BER编码,AXDR编码。

ASN.1语法是用来描述应用层数据帧的。

DLMS协议不同于其他一些简单通讯协议的地方就在于此。

他不是用一些表格,及一些固定的帧格式来描述的,而是用一种抽象语法语言来描述。

这样做的好处是,极大的提高了协议的抽象性和通用性,有利于程序移植。

BER编码和AXDR编码是用来实现ASN.1语法的。

为了实现ASN.1的抽象性和通用性,这个语法要用特殊的编码来描述。

这就引入了BER编码和AXDR编码。

以下分别解释这几项。

(一)ASN.1语法

一个用ASN.1语法描述的数据帧,看上去应该是下面的样子:

Name:

:

=[tag]IMPLICIT/EXPLICITDatatype

{

null-data[0]IMPLICITNULL,

item1[1]IMPLICIT/EXPLICITDatatypeA1OPTIONAL

item2[2]IMPLICIT/EXPLICITDatatypeA2OPTIONAL

item3[3]Datatype

}

下面解释这个语法描述。

Name-是这个数据帧的名字。

Tag-tag包含两部分classtype和一个数字

Classtype有以下四种:

1)Universal表明name定义的数据帧在所有的DLMS应用中的含义是唯一的。

2)Application表明name定义的数据帧的含义同具体的应用有关。

3)Private表明name定义的数据帧只在某一厂家的自定义范围之内。

4)Context-specific表

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2