Examples for DLMS/COSEM information exchange
prepared by Gyozo Kmethy
1 SNRM/UA frame exchange with HDLC parameter negotiation
Sent frame:
7EA00A00020023219318717E
Comments:
7E // HDLC frame opening flag
A00A // frame type and length
0002 // destination address (server) upper HDLC address 0x0001
0023 // destination address (server) lower HDLC address 0x0011
21 // source address (client) 0x01
93 // frame type SNRM (Set Normal Response Mode)
// information field with HDLC parameters not present, defaults are proposed
1871 // Frame check sequence
7E // HDLC frame closing flag
Received frame:
7EA023210002002373F6C58180140502008006020080070400000001080400000001CE
6A7E
Comments:
7E // HDLC frame opening flag
A023 // frame type and length
21 // destination address (client) 0x01
0002 // source address (server) upper HDLC address 0x0001
0023 // source address (server) lower HDLC address 0x0011
73 // frame type UA (Unnumbered acknowledge)
F6C5 // Header check sequence
818014 //format identifier / group identifier / group length
05020080 //parameter identifier/length/value – maximum information field length transmit
06020080 //parameter identifier/length /value – maximum information field length receive
070400000001 //parameter identifier/length/value – window size transmit
080400000001 //parameter identifier/length/value – window size receive
CE6A // Frame check sequence
7E // HDLC frame closing flag
2 AARQ/AARE exchange
Sent frame: SNRM
7EA00A00020023219318717E
Received frame: UA
7EA023210002002373F6C58180140502008006020080070400000001080400000001CE
6A7E
Sent frame: AARQ
7EA02E0002002321107ECBE6E600601DA109060760857405080101BE10040E01000000
065F1F040000301DFFFFD4C57E
Comments:
7E // opening flag
A02E // frame type and length
0002002321 // destination and source addresses
10 // frame type I frame
7ECB // Header check sequence
E6E600 // LLC bytes
601D // AARQ tag and length
A109060760857405080101 //Application context name tag, length and encoded value
// This application association is established with lowest level
security, so authentication components are not present
BE10 // tag and length for AARQ user field
040E // encoding the choice for user-information (OCTET STRING,
universal) and length
01 // tag for xDLMS-Initiate request
00 // usage field for dedicated-key component – not used
00 // usage field for the response allowed component – not used
00 // usage field of the proposed-quality-of-service component – not
used
06 // proposed dlms version number 6
5F1F // tag for conformance block
04 // length of the conformance block
00 // encoding the number of unused bits in the bit string
00301D // conformance block
FFFF // client-max-receive-pdu-size
D4C5 // HDLC frame check sequence
7E // closing flag
Received frame:
7EA03A2100020023309941E6E7006129A109060760857405080101A203020100A305A1
03020100BE10040E0800065F1F040000301D190000070C527E
Comments:
7EA03A2100020023309941 // HDLC frame header
E6E700 // LLC bytes
6129 // AARE tag and length
A109060760857405080101 // Application context name tag, length and
encoded value
A203 // tag and length of the result component
02 // encoding the choice for result (INTEGER, universal)
0100 // length and value of result (accepted)
A305 // tag and length for the result-source-diagnostic component
A103 // tag and length of the acse-service-user choice
02 // encoding the choice for result-source-diagnostic (INTEGER,
universal)
0100 // length and value of result-souce-diagnostic
BE10 // tag and length for AARE user-field
040E // encoding the choice for user-information (OCTET STRING,
universal) and length
08 // tag for xDLMS-Initate.request
00 // usage field of the negotiated-quality-of-service component
06 // negotiated dlms version number 6
5F1F // tag for conformance block
04 // length of the conformance block
00 // encoding the number of unused bits in the bit string
00301D // negotiated conformance block
1900 // server-max-receive-pdu-size
0007 // VAA name (0x0007 for LN referencing)
0C52 // HDLC frame check sequence
7E // closing flag
3 Reading and setting the clock
Sent frame:
7EA0199575546835E6E600C0018100080000010000FF01000DFD7E
Comments:
7EA0199575546835 // HDLC header
E6E600 // LLC bytes
C001 // GET.request.normal
81 // invoke-id and priority
0008 // interface class 8, clock
0000010000FF // logical name, OBIS code of the clock
0100 // asking for 1st attribute, logical name
0DFD7E // HDLC frame closing
Received frame:
7EA018759574E9E8E6E700C401810009060000010000FFFD497E
Comments:
7EA018759574E9E8E6E700
C401 //GET.response.normal
81 // invoke-id and priority
00 // Get-Data-Result choice data
0906 // octet string (6)
0000010000FF // logical name, OBIS code of the clock
FD497E // HDLC closing
Sent frame:
7EA0199575767837E6E600C0018100080000010000FF020065D77E
Comments:
7EA0199575767837E6E600
C0018100080000010000FF0200 // GET.request normal, 2nd attribute, time
65D77E
Received frame:
7EA01E7595966F67E6E700C4018100090C07D20C04030A060BFF007800F3307E
Comments:
7EA01E7595966F67E6E700 // HDLC header
C401 // GET.response.normal
8100
090C // octet string (12)
07D2 // year 2002
0C // month December
04 // day 4th
03 // day of the week, Wednesday
0A060B // time 10:06:12
FF // hundredths not specified
0078 // deviation 120 minutes
00 // status OK
F3307E
Sent frame:
7EA027957598B8DBE6E600C1018100080000010000FF0200090C07D20C04030A060BFF
00780062FB7E
Comments:
7EA027957598B8DBE6E600
C101 // SET.normal request
81
0008
0000010000FF
0200 // set the 2nd attribute, time
090C07D20C04030A060BFF007800 // just SET the value read before
62FB7E
Received frame:
7EA0107595B85101E6E700C501810036CF7E
Comments:
7EA0107595B85101E6E700
C5018100 // SET. response normal, success
36CF7E
Sent frame:
7EA0199575BA183BE6E600C0018100080000010000FF0300BDCE7E
Comments:
7EA0199575BA183BE6E600
C0018100080000010000FF0300 // GET.request normal, 3d attribute,
// time_zone
BDCE7E
Received frame:
7EA0137595DA8864E6E700C4018100100078563A7E
Comments:
7EA0137595DA8864E6E700
C4018100 // GET.response normal
10 // integer 16
0078 // 120 minutes
563A7E
Sent frame:
7EA01C9575DC7F53E6E600C1018100080000010000FF030010007801177E
Comments:
7EA01C9575DC7F53E6E600
C1018100080000010000FF // SET.request normal
0300 // third attribute
100078 //integer 16, 120 minutes
01177E
Received frame:
7EA0107595FC7105E6E700C501810036CF7E
Comments:
7EA0107595FC7105E6E700
C5018100 // SET.response normal, success
36CF7E
Sent frame:
7EA0199575FE383FE6E600C0018100080000010000FF0400B5837E
Comments:
7EA0199575FE383FE6E600
C0018100080000010000FF0400 // GET.request normal, 4th attribute, status
B5837E
Received frame:
7EA01275951E1BF8E6E700C40181001100AC5B7E
Comments:
7EA01275951E1BF8E6E700
C40181
001100 // Data, unsigned8, OK
AC5B7E
Sent frame:
7EA0199575104831E6E600C0018100080000010000FF05006D9A7E
Comments:
7EA0199575104831E6E600
C0018100080000010000FF0500 // GET.request normal, 5th attribute,
// daylight savings begin
6D9A7E
Received frame:
7EA01E75953053A7E6E700C4018100090CFF4F19F3007000000000000F090A7E
Comments:
7EA01E75953053A7E6E700
C40181
00090C // data, octet string(12)
FFFFFFFFFFFFFFFFFF800000 // insignificant value
090A7E
Sent frame:
7EA0199575325833E6E600C0018100080000010000FF060005B07E
Comments:
7EA0199575325833E6E600
C0018100080000010000FF0600 // GET.request normal, 6th attribute,
// daylight_savings_end
05B07E
Received frame:
7EA01E75955247E7E6E700C4018100090CFF4F19F3007000000000000F090A7E
Comments:
7EA01E75955247E7E6E700
C40181
00090C // data, octet string (12)
FFFFFFFFFFFFFFFFFF800000 // insignificant value
090A7E
Sent frame:
7EA0199575546835E6E600C0018100080000010000FF0700DDA97E
Comments:
7EA0199575546835E6E600
C0018100080000010000FF0700 // GET.request normal, 7th attribute,
//daylight savings deviation
DDA97E
Received frame:
7EA0127595744734E6E700C40181000F002D547E
Comment:
7EA0127595744734E6E700
C40181
000F00 //data, integer8, 0
2D547E
Sent frame:
7EA0199575767837E6E600C0018100080000010000FF0800152A7E
Comments:
7EA0199575767837E6E600
C0018100080000010000FF0800 // GET.request normal, 8th attribute,
//daylight_savings_enabled
152A7E
Received frame:
7EA0127595965BF0E6E700C401810003008DFD7E
Comments:
7EA0127595965BF0E6E700
C40181
000300 // data, boolean, FALSE
8DFD7E
Sent frame:
7EA0199575980839E6E600C0018100080000010000FF0900CD337E
Comments:
7EA0199575980839E6E600
C0018100080000010000FF0900 // GET.request normal, 9th attribute,
//clock_base
CD337E
Received frame:
7EA0127595B82738E6E700C401810016012D077E
Comments:
7EA0127595B82738E6E700
C40181
001601 // data, enumerated, 1, internal crystal
2D077E