DLMS/COSEM规约解析(本地部分)
IEC62056-21 E模式规约解析
版本:V2.2 日期:2008-11-12
1
DLMS/COSEM规约解析(本地部分)
版本记录
版本 1.0 2.0 2.1 2.2 日期 2008-7-2 2008-11-12 2008-12-18 2009-3-27 作者 姚青 姚青 姚青 姚青 说明 首次编制定稿 增加读写数据块的说明 增加有关SNRM帧中有关参数说明 增加事件上报说明 2
DLMS/COSEM规约解析(本地部分)
Contents
1. IEC 62056-21 E模式通信流程 ............................................................................. 4 2. HDLC帧格式 ......................................................................................................... 5
2.1. 标志域 .......................................................................................................... 5 2.2. 帧格式域 ...................................................................................................... 5 2.3. 地址域 .......................................................................................................... 5 2.4. 控制域格式 .................................................................................................. 6 2.5. 头校验序列(HCS)域................................................................................ 8 2.6. 信息域 .......................................................................................................... 8 2.7. 帧校验序列(FCS)域 ................................................................................ 8 3. 链路层链接与断开................................................................................................. 9
3.1. 链路层的链接 .............................................................................................. 9 3.2. 链路层的断开 ............................................................................................ 10 4. 应用层................................................................................................................... 11
4.1. 应用层的链接 ............................................................................................ 11
4.1.1. 编码规则.......................................................................................... 11 4.1.2. AARQ APDU和AARE APDU规范 .................................................... 11 4.1.3. AARQ-pdu的编码例子 .................................................................... 13 4.1.4. AARE-pdu的编码的例子,成功案例: ........................................... 16 4.1.5. AARE-pdu例子的编码, 失败1的案例 ......................................... 19 4.1.6. AARE-pdu的编码的例子, 失败2的案例 ..................................... 20 4.1.7. 应用层链接失败原因(几乎包含了APPL_OPEN的所有测试案例) 23
4.1.8. 帧实例.............................................................................................. 24 4.2. 读操作(Get) ................................................................................................ 25
4.2.1. Get. Request ..................................................................................... 26 4.2.2. Get. Response .................................................................................. 27 4.2.3. 读数据块.......................................................................................... 30 4.2.4. 读数据不成功情况的典型原因...................................................... 31 4.3. 写操作(Set) ................................................................................................ 31
4.3.1. Set. Request ..................................................................................... 31 4.3.2. Set. Response ................................................................................... 32 4.3.3. 设置数据块...................................................................................... 34 4.3.4. 写数据不成功情况的典型原因...................................................... 35 4.4. 方法操作(Action) ....................................................................................... 35
4.4.1. ACTION. Request .............................................................................. 35 4.4.2. ACTION. Response ........................................................................... 36 4.5. 事件上报(Event notification) ..................................................................... 37
4.5.1. 客户端触发方式.............................................................................. 37 4.5.2. 直接上报.......................................................................................... 38 5. 引用标准............................................................................... 错误!未定义书签。
3
DLMS/COSEM规约解析(本地部分)
IEC 62056-21 E模式通信流程
DLMS/COSEM协议中将Communication_profile分为TCP_profile和HDLC_profile两种,而使用HDLC_profile的又分为E模式和直接HDLC,两者的唯一的区别是E模式有波特率300bps转到Zpbs的握手过程,而直接HDLC直接进入波特率Z下通信。下图为电能表在IEC62056-21 E模式下正常工作时的通信流程:1
整个通信过程为C/S模式,表计充当服务端,HHU为客户端。每一次通信过程由客户端发起,服务端应答。
本页及以后的文字中“客户端”和“主站”均指抄表端,而“服务端”和“从站”均指表计,字体为灰色的部分DLMS认证第一阶段暂不考虑
4
DLMS/COSEM规约解析(本地部分)
HDLC帧格式
IEC62056-21 E模式中通信链路帧采用HDLC帧格式,除信息域按其指定格式外,其他域均为16进制传送,其格式如下:
标志 帧格式 目的地址 源地址 控制 HCS 信息 FCS 标志 标志域
标志域的长度为一字节,值为7EH。当两个或多个帧连续传输时,这一个标志既要用作前一帧的结束标志,又要用作下一个帧的开始标志,如图11所示。
注:当两个传输的字符之间的时段没有超过指定的最大内部字节周期时,帧可以连续传输。
7E 帧 I 7E 帧 I+1 7E 帧 I+2 7E 帧格式域
帧格式域的长度为两个字节,它由三个子域组成:Frame_type子域(4 bit),分段位(S, 1 bit)和帧长度子域(11 bit),见图12。
MSB LSB 1 0 1 0 S L
L L L
L L L L
L L L
帧类型 帧长度子域 格式类型子域的值为1010(二进制)。
分段位S表示是否有后续帧,如果服务端给客户端传送的数据能在一帧内传送完,那么S=0,如果有后续帧那么S=1。
长度子域的值是除两个7E标志之外的8位位组数。在一般情况下,帧长度不会超过256,因此帧格式域第一个字节为 A0或者A8 ,第二个字节表示该帧的长度。
地址域
这个帧有两个地址域:一个目的HDLC地址和一个源HDLC地址。根据数据的传输方向,客户机端地址和服务器地址都可以是目标地址或源地址。
客户机端地址总是用一个字节表示。扩展地址的使用把客户机地址的范围限制在128。 在服务器端,为了能在一个物理设备内寻址一个以上的逻辑装置并且支持多站配置,可以将HDLC地址分为两部分。 一部分称为“高端HDLC地址”用于逻辑设备(一个物理设备内可独立寻址的实体)寻址,而第二部分——“低端HDCL地址”将用于物理设备(多站配置的一个物理设备)寻址。高端HDLC地址总是存在,而低端HDCL地址在不需要时可不用。
HDLC地址扩展机制应用于以上两种地址域。这种地址扩展说明可变长度的地址域,但是考虑到该协议,一个完整的HDLC地址域的长度被限制为一字节,两字节或四字节如下:
?
一字节:只有高端HDLC地址存在。
5