规约dlms111(7)

2020-04-14 06:56

DLMS/COSEM规约解析(本地部分)

19 07 DA 06 0A 04 0E 04 00 FF 80 00 00 - 19 07 DA 09 0A 05 0E 04 00 FF 80 00 00 00就是开始时间和结束时间了。。

后面两个00固定

那如果换成其他的事件的话只是OBIS和19 07 DA 06 0A 04 0E 04 00 FF 80 00 00 - 19 07 DA 09 0A 05 0E 04 00 FF 80 00 00 00变化的。。

4.1.1. Get. Request

数据请求帧

GET-Request ::= CHOICE {

get-request-normal [1] IMPLICIT Get-Request-Normal, get-request-next

[2] IMPLICIT Get-Request-Next, get-request-with-list

[3] IMPLICIT Get-Request-With-List

}

Get-Request-Normal ::= SEQUENCE {

invoke-id-and-priority

Invoke-Id-And-Priority, cosem-attribute-descriptor

Cosem-Attribute-Descriptor,

access-selection-parameters

Selective-Access-Descriptor OPTIONAL

}

Get-Request-Next ::= SEQUENCE {

invoke-id-and-priority Invoke-Id-And-Priority, block-number Unsigned32 }

Cosem-Attribute-Descriptor ::= SEQUENCE {

class-id Cosem-Class-Id,

instance-id Cosem-Object-Instance-Id, attribute-id Cosem-Object-Attribute-Id }

Cosem-Object-Instance-Id ::= OCTET STRING (SIZE(6))

Cosem-Object-Attribute-Id ::= Integer8

26

DLMS/COSEM规约解析(本地部分)

以请求反向有功为例:

客户端: 7E A0 1C 48 68 FE FF 75 54 XX XX E6 E6 00 C0 01 81 00 03 01 01 02 08 00 FF 02 00 XX XX 7E

解释:

7e a0 1c 00 22 00 23 03 54 XX XX e6 e6 00 //Hdlc head c0 // get-request

Cosem apdu[192]

01 //Request Nomal(因此,在DLMS认证第一阶段,规约里所有的读操作ID均为C001) 81 // invoke-id(000 0001) and priority(1) (数据域数据不超过数据域规定长度时,固定为81或C1,超过则为8C CC)没超过128 直接就一个字节,超过128字节,则加81 后边的字节是长度,超过255字节,则加82 后边的2个字节是长度

00 03//Class id

01 01 02 08 00 ff //反向总有功 OBIS 02 //反向总有功的第二属性,值域。 00 // haven’t access-selection-parameters XX XX 7E //HDLC Tail

4.1.2. Get. Response

数据响应帧。

GET-Response ::= CHOICE {

get-response-normal [1] IMPLICIT Get-Response-Normal, get-response-with-datablock

[2] IMPLICIT Get-Response-With-Datablock, get-response-with-list

[3] IMPLICIT Get-Response-With-List

}

Get-Response-Normal ::= SEQUENCE {

invoke-id-and-priority Invoke-Id-And-Priority, result

Get-Data-Result

}

Get-Response-With-Datablock ::= SEQUENCE {

invoke-id-and-priority Invoke-Id-And-Priority, result DataBlock-G }

Get-Data-Result ::= CHOICE {

data [0] Data,

data-access-result [1] IMPLICIT Data-Access-Result }

Data ::= CHOICE

27

DLMS/COSEM规约解析(本地部分)

{ null-data [0] IMPLICIT NULL,

array

[1] IMPLICIT SEQUENCE OF Data, structure [2] IMPLICIT SEQUENCE OF Data, boolean [3] IMPLICIT BOOLEAN, bit-string

[4] IMPLICIT BIT STRING, double-long [5] IMPLICIT Integer32,

double-long-unsigned [6] IMPLICIT Unsigned32,

floating-point [7] IMPLICIT OCTET STRING(SIZE(4))33, octet-string [9] IMPLICIT OCTET STRING, visible-string

[10] IMPLICIT VisibleString, time [11] IMPLICIT GeneralizedTime, bcd [13] IMPLICIT Integer8, integer [15] IMPLICIT Integer8, long

[16] IMPLICIT Integer16, unsigned

[17] IMPLICIT Unsigned8, long-unsigned [18] IMPLICIT Unsigned16,

compact-array

[19] IMPLICIT SEQUENCE

{

contents-description [0] TypeDescription, array-contents

[1] IMPLICIT OCTET STRING

}

long64 [20] IMPLICIT Integer64, long64-unsigned [21] IMPLICIT Unsigned64, enum

[22] IMPLICIT ENUMERATED,

float32 [23] IMPLICIT OCTET STRING (SIZE(4)), float64 [24] IMPLICIT OCTET STRING (SIZE(8)), don’t-care

[255] IMPLICIT NULL

}

Data-Access-Result ::= ENUMERATED { success

(0), hardware-fault

(1), temporary-failure (2), read-write-denied (3), object-undefined (4), object-class-inconsistent

(9), object-unavailable (11), type-unmatched

(12), scope-of-access-violated (13), data-block-unavailable

(14),

28

DLMS/COSEM规约解析(本地部分)

long-get-aborted long-set-aborted other-reason }

(15), (16), (17), (18), (250)

no-long-get-in-progress no-long-set-in-progress

DataBlock-G ::= SEQUENCE -- G == DataBlock for the GET.response service {

last-block BOOLEAN, block-number Unsigned32, result CHOICE {

raw-data [0] IMPLICIT OCTET STRING, data-access-result [1] IMPLICIT Data-Access-Result } }

81 D3 01 0C D3是数据块长度, 01--数组对象 0C--12个数组

81 DB 01 81 C8 DB-是数据块长度, 01---数组对象 C8--200个数组

当长度超过127字节时,带81

然后后续1个字节表示长度

超过255字节,带82,然后后续2个字节是长度

以响应“请求反向有功”为例,读数据成功:

服务端: 7E A0 18 75 48 68 FE FF 74 XX XX E6 E7 00 C4 01 81 00 06 00 35 7B 18 XX XX 7E

解释:

7E A0 18 03 00 22 00 23 74 XX XX E6 E7 00 //Hdlc head

C4 01 //Response Normal(在DLMS认证第一阶段,规约里所有的回应读操作操作ID均为C401)

81 // invoke-id(000 0001) and priority(1) (数据域数据不超过数据域规定长度时,固定为81,超过则为8C) 00 //by data 06 //数据类型

00 35 7B 18 //反向有功值 XX XX 7E//HDLC Tail

读数据不成功,以object-undefined为例:

服务端: 7E A0 14 75 48 68 FE FF 74 XX XX E6 E7 00 C4 01 81 01 04 XX XX 7E

解释:

29

DLMS/COSEM规约解析(本地部分)

7E A0 14 03 00 22 00 23 74 XX XX E6 E7 00 //Hdlc head

C4 01 //Response Normal(在DLMS认证第一阶段,规约里所有的回应读操作操作ID均为C401)

81 // invoke-id(000 0001) and priority(1) (数据域数据不超过数据域规定长度时,固定为81,超过则为8C)

01// data-access-result [1] IMPLICIT Data-Access-Result 04 //object-undefined XX XX 7E//HDLC Tail

4.1.3. 读数据块

当一次读取数据量较大时,表计可采用Get-Response-With-Datablock的方式回复。以读取负荷曲线数据为例:

客户端: 7E A0 1C 48 68 FE FF 75 54 XX XX E6 E6 00 C0 01 81 00 07 00 00 62 01 00 7E 03 00 XX XX 7E 服务端: 7E A0 LL 75 48 68 FE FF 74 XX XX E6 E7 00 C4 02 81 00 00 00 00 01 00 73 01 0E 02 04 12 00 08 09 06 00 00 01 00 00 FF 0F 02 12 00 00 02 04 12 00 03 09 06 01 00 00 01 00 FF 0F 02 12 00 00 02 04 12 00 03 09 06 01 01 01 08 01 FF 0F 02 12 00 00 02 04 12 00 03 09 06 01 01 01 08 02 FF 0F 02 12 00 00 02 04 12 00 03 09 06 01 01 01 08 03 FF 0F 02 12 00 00 02 04 12 00 03 09 06 01 01 01 08 04 FF 0F 02 12 00 00 02 04 12 00 04 XX XX 7E

C4 02//Get-Response-With-Datablock 81// invoke-id and priority 00//不是最后的数据块 00 00 00 01//数据块序号 1

00//raw-data,表明回复的是数据;如果为01则表示回复的是data-access-result 73//此数据块长度

01 0E//此负荷曲线记录了14列数据项

02 04 12 00 08 09 06 00 00 01 00 00 FF 0F 02 12 00 00//第1个数据项:时间 02 04 12 00 03 09 06 01 00 00 01 00 FF 0F 02 12 00 00//第2个数据项:结算次数

02 04 12 00 03 09 06 01 01 01 08 01 FF 0F 02 12 00 00//第3个数据项:A+ T1 02 04 12 00 03 09 06 01 01 01 08 02 FF 0F 02 12 00 00//第4个数据项:A+ T2 02 04 12 00 03 09 06 01 01 01 08 03 FF 0F 02 12 00 00//第5个数据项:A+ T3 02 04 12 00 03 09 06 01 01 01 08 04 FF 0F 02 12 00 00//第6个数据项:A+ T4 02 04 12 00 04//接下一个数据块中

客户端: 7E A0 1C 48 68 FE FF 75 76 XX XX E6 E6 00 C0 02 81 00 00 00 01 XX XX 7E

c0 02// get-request-next

81 00 00 00 01//已经接收第一个数据块

服务端: 7E A0 LL 75 48 68 FE FF 96 XX XX E6 E7 00 C4 02 81 00 00 00 00 02 00 73 09 06 01 01 01 06 01 FF 0F 02 12 00 00 02 04 12 00 03 09 06 01 01 01 06 02 FF 0F 02 12 00 00 02 04 12 00 03 09 06 01 01 01 06 03 FF 0F 02 12 00 00 02 04 12 00 03 09 06 01 01 01 06 04 FF 0F 02 12 00 00 … XX XX 7E

C4 02//Get-Response-With-Datablock 81// invoke-id and priority 00//不是最后的数据块 00 00 00 02//数据块序号 2

30


规约dlms111(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:巴西的崛起对国际格局的影响

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: