DLMS/COSEM规约解析(本地部分) 客户端:7E A0 1C 48 68 FE FF 75 98 XX XX E6 E6 00 C3 01 81 00 03 01 01 01 08 00 FF 01 00 XX XX 7E 解释:
7E A0 1c 48 68 FE FF 75 98 xx xx E6 E6 00//Hdlc head
C3 01// ACTION.normal request(在DLMS认证第一阶段,规约里所有的执行操作ID均为C301) 81// invoke-id(000 0001) and priority(1) (数据域数据不超过数据域规定长度时,固定为81,超过
则为8C)
00 03// class id
01 01 01 08 00 FF// 正向有功总电量的LN 01 // Action the 1nd method, reset() 00// haven’t data XX XX 7E//HDLC Tail
4.3.2. ACTION. Response
ACTION-Response::=CHOICE {
Normal-Action-response [1] IMPLICIT Normal-Action-response-pdu Action-Response-with-pblock [2] IMPLICIT Action-response-with-pblock-pdu Action-Response-with-list [3] IMPLICIT Action-response-with-list-pdu
Action-Response-for-next-pblock [4] IMPLICIT Action-Response-for-next-pblock-pdu }
Normal-Action-response-pdu::=SEQUENCE {
invoke-id-and-priority }
Action-Response-With-Optional-Data ::= SEQUENCE {
result Action-Result,
return-parameters Get-Data-Result OPTIONAL }
Action-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),
36
Invoke-Id-And-Priority,
single-response Action-Response-With-Optional-Data
DLMS/COSEM规约解析(本地部分)
scope-of-access-violated (13), data-block-unavailable (14),
long-action-aborted (15), --这是新类型 no-long-action-in-progress(16), --这是新类型 other-reason (250) --这是新类型 }
已清正向有功电量回应为例,设置成功情况如下:
服务端:7E A0 12 75 48 68 FE FF B8 XX XX E6 E7 00 C7 01 81 00 XX XX 7E
解释:
7E A0 12 75 48 68 FE FF B8 XX XX E6 E7 00//Hdlc head
C7 01// ACTION.normal response(在DLMS认证第一阶段,规约里所有的设置操作响应ID均
为C701)
81// invoke-id(000 0001) and priority(1) (数据域数据不超过数据域规定长度时,固定为81,超过
则为8C)
00// success XX XX 7E//HDLC Tail 设置失败,如other-reason:
服务端:7E A0 12 75 48 68 FE FF B8 XX XX E6 E7 00 C7 01 81 FF XX XX 7E
解释:
7E A0 12 75 48 68 FE FF B8 XX XX E6 E7 00//Hdlc head
C7 01// ACTION.normal response(在DLMS认证第一阶段,规约里所有的设置操作响应ID均
为C501)
81// invoke-id(000 0001) and priority(1) (数据域数据不超过数据域规定长度时,固定为81,超过
则为8C)
FF// RESULT:other-reason (255) XX XX 7E//HDLC Tail
事件上报(Event notification)
事件上报不需要链路层及应用层的链接。分为两种情形:服务端直接上报和客户端触发后服务端上报。
4.4.1. 客户端触发方式
暂不考虑此种模式。
37
DLMS/COSEM规约解析(本地部分)
4.4.2. 直接上报
当服务端和客户端没有建立物理连接时,服务端需要先主动建立物理层连接(如TCP模式时发送心跳包)。例如发生某故障,故障寄存器需上报其状态,则帧如下:
服务端:7E A0 LL 75 48 68 FE FF 13 XX XX E6 E7 00 C2 01 07 D8 06 19 14 0A 32 02 00 00 00 00 00 01 01 00 61 61 00 FF 02 06 RR RR RR RR XX XX 7E
7E A0 LL 75 48 68 FE FF 13 XX XX E6 E7 00//与前面服务含义一致,要注意的是:控制字有区别,由于事件上报为UI(无序信息)帧,因此其控制字为0x13,参考2.3. c2// Event_notification_request 01//出现时间
07 d8 06 19 14 0a 32 02 00 00 00 00//时间: 2008年6月 19日10 点32分2秒00 01 01 00 61 61 00 FF 02//上报的对象的类号+OBIS+属性 06 RR RR RR RR//上报数据 XX XX 7E//帧尾
注:事件上报时如果有链路层的通信,那么上报帧可在一个信息帧后上报。
38