· Web viewFigure 16. Sequence diagram for LPU0731. ... Galois/Counter Mode ... Due to the fact...

117
Communication Standard Between AMI Application and Metering Infrastructure developed for ENERGA-Operator SA Version: 0.03 Date: 2011-07-31

Transcript of   · Web viewFigure 16. Sequence diagram for LPU0731. ... Galois/Counter Mode ... Due to the fact...

Communication Standard Between AMI Application and Metering Infrastructuredeveloped for ENERGA-Operator SA

Version: 0.03

Date: 2011-07-31

Contents1 Glossary of terms and acronyms......................................................................................................52 Introduction......................................................................................................................................83 Concept for the communication standard in DSO............................................................................9

3.1 Assumptions for the communication standard.........................................................................9

3.1.1 General assumptions.........................................................................................................93.1.2 Technical assumptions......................................................................................................9

3.2 Overall concept of the communication standard....................................................................10

3.2.1 Area of communication between SAK and concentrators..............................................113.2.2 Area of communication between concentrators and meters...........................................113.2.3 Area of communication between SAK and meters.........................................................123.2.4 Traffic prioritization.......................................................................................................133.2.5 Digital signatures............................................................................................................173.2.6 Concept of transport.......................................................................................................17

4 Meter Use Cases.............................................................................................................................20

4.1 Categories, Identifiers and Statuses of Meter Use Cases.......................................................204.2 List of Meter Use Cases..........................................................................................................214.3 Analysis of Meter Use Cases..................................................................................................21

4.3.1 Installation Category.......................................................................................................234.3.2 Configuration Category..................................................................................................304.3.3 Readouts Category..........................................................................................................344.3.4 Control Category............................................................................................................384.3.5 Reporting Category.........................................................................................................43

5 DCSML communication protocol..................................................................................................45

5.1 Description of Messages.........................................................................................................455.2 Protocol Grammar..................................................................................................................45

5.2.1 Basic definitions of SML data structures.......................................................................465.2.2 Basic structures of DCSML data....................................................................................535.2.3 DCSML Functions – associated with the operation of a concentrator...........................555.2.4 DCSML functions – associated with the operation of a meter.......................................57

6 Examples of queries and responses in DCSML (in APDU and source forms)..............................61

6.1 ASN.1 definition.....................................................................................................................616.2 Examples................................................................................................................................63

6.2.1 Example 1-1-1................................................................................................................636.2.2 Example 1-1-4................................................................................................................656.2.3 Example 1-5-1................................................................................................................676.2.4 Example 1-5-4................................................................................................................696.2.5 Example 5-1-1................................................................................................................716.2.6 Example 5-1-4................................................................................................................746.2.7 Example 5-5-1................................................................................................................796.2.8 Example 5-5-4................................................................................................................83

Document title: Communication Standard Between AMI Application and Metering Infrastructure 2 z 94

TablesTable 1. Glossary of terms and acronyms................................................................................................5Table 2. Categories of Meter Use Cases.................................................................................................20Table 3. Meter Use Cases with "A" status..............................................................................................21Table 4. DCSML Message List..............................................................................................................45Table 5. Significance of bits in the first byte of the TL-Field................................................................47Table 6. Significance of bits in subsequent bytes of the TL-Field.........................................................48

FiguresFigure 1. Areas of communication in the AMI system..........................................................................10Figure 2. Areas of communication in the AMI system – layers of the protocol....................................11Figure 3: Diagram of the sequence – single communication session PULL..........................................14Figure 4: Diagram of the sequence – two communication sessions PULL + PULL..............................14Figure 5: Diagram of the sequence – two communication sessions PULL + PUSH.............................15Figure 6: Diagram of the sequence – single communication session PUSH..........................................15Figure 7. LPU in Installation Category..................................................................................................23Figure 8. Sequence diagram for LPU01 – correct situation...................................................................24Figure 9. Sequence diagram for LPU02.................................................................................................25Figure 10. Sequence diagram for LPU03...............................................................................................25Figure 11. Sequence diagram for LPU04 – servicing mode...................................................................27Figure 12. Sequence diagram for LPU04 – without servicing mode.....................................................27Figure 13. Sequence diagram for LPU05...............................................................................................28Figure 14. Sequence diagram for LPU06...............................................................................................29Figure 15. LPU in Configuration Category............................................................................................30Figure 16. Sequence diagram for LPU07...............................................................................................31Figure 17. Sequence diagram for LPU08...............................................................................................32Figure 18. Sequence diagram for LPU09...............................................................................................33Figure 19. Sequence diagram for LPU20...............................................................................................33Figure 20. LPU in Readouts Category....................................................................................................34Figure 21. Sequence diagram for LPU10 – "push" mode......................................................................35Figure 22. Sequence diagram for LPU10 – "pull" mode........................................................................35Figure 23. Sequence diagram for LPU011.............................................................................................36Figure 24. Sequence diagram for LPU13 – "push" mode......................................................................37Figure 25. Sequence diagram for LPU13 – "pull" mode........................................................................38Figure 26. LPU in Control Category......................................................................................................39Figure 27. Sequence diagram for LPU012 – readout in the "push" mode.............................................39Figure 28. Sequence diagram for LPU012 – readout in the "pull" mode...............................................40Figure 29. Sequence diagram for LPU012 – change of data in the "push" mode..................................40Figure 30. Sequence diagram for LPU012 – readout in the "pull" mode...............................................41Figure 31: Sequence diagram for LPU016.............................................................................................42Figure 32. Sequence diagram for LPU17...............................................................................................43Figure 33. LPU in Reporting Category..................................................................................................43Figure 34. Sequence diagram for LPU18...............................................................................................44Figure 35. Sequence diagram for LPU19...............................................................................................44Figure 36: Definition of grammar in ASN.1 notation............................................................................63

Document title: Communication Standard Between AMI Application and Metering Infrastructure 3 z 94

Figure 37: Response 1-1-4 in the APDU form.......................................................................................63Figure 38: Query 1-1-1 in ASN.1 notation.............................................................................................64Figure 39: Response 1-1-1 in the APDU form.......................................................................................64Figure 40: Response 1-1-1 in ASN.1 notation.......................................................................................65Figure 41: Response 1-1-4 in the APDU form.......................................................................................65Figure 42: Query 1-1-4 in ASN.1 notation.............................................................................................65Figure 43: Response 1-1-4 in the APDU form.......................................................................................66Figure 44: Response 1-1-4 in ASN.1 notation.......................................................................................67Figure 45: Response 1-5-4 in the APDU form.......................................................................................67Figure 46: Query 1-5-1 in ASN.1 notation.............................................................................................67Figure 47: Response 1-5-1 in the APDU form.......................................................................................68Figure 48: Response 1-5-1 in ASN.1 notation.......................................................................................68Figure 49: Response 1-5-4 in the APDU form.......................................................................................69Figure 50: Query 1-5-4 in ASN.1 notation.............................................................................................69Figure 51: Response 1-5-4 in the APDU form.......................................................................................70Figure 52: Response 1-5-4 in ASN.1 notation.......................................................................................71Figure 53: Response 5-1-4 in the APDU form.......................................................................................72Figure 54: Query 5-1-1 in ASN.1 notation.............................................................................................72Figure 55: Response 5-1-1 in the APDU form.......................................................................................73Figure 56: Response 5-1-1 in ASN.1 notation.......................................................................................74Figure 57: Response 5-1-4 in the APDU form.......................................................................................74Figure 58: Query 5-1-4 in ASN.1 notation.............................................................................................75Figure 59: Response 5-1-4 in the APDU form.......................................................................................75Figure 60: Response 5-1-4 in ASN.1 notation.......................................................................................79Figure 61: Response 5-5-4 in the APDU form.......................................................................................79Figure 62: Query 5-5-1 in ASN.1 notation.............................................................................................80Figure 63: Response 5-5-1 in the APDU form.......................................................................................81Figure 64: Response 5-5-1 in ASN.1 notation.......................................................................................83Figure 65: Response 5-5-4 in the APDU form.......................................................................................83Figure 66: Query 5-5-4 in ASN.1 notation.............................................................................................84Figure 67: Response 5-5-4 in the APDU form.......................................................................................84Figure 68: Response 5-5-4 in ASN.1 notation.......................................................................................90

Document title: Communication Standard Between AMI Application and Metering Infrastructure 4 z 94

1 Glossary of terms and acronymsTable 1. Glossary of terms and acronyms

Term Explanation

AES Advanced Encryption Standard – symmetric block cipher adopted by the National Institute of Standard and Technology.

AES-GCM 128 Advanced Encryption Standard – Galois/Counter Mode – GCM is a double-functionality cipher and authentication mode. AES performs 10 (128-bit key) substitution-permutation cipher rounds. They consist of preliminary substitution, permutation matrix (mixing of rows, mixing of columns) and modification with 128-bit key.

AMI Advanced Metering Infrastructure.Comprehensive system of meters, communication systems and applications for gathering, storing and analyzing the metering data and managing the metering infrastructure.

APDU Application layer Protocol Data UnitApplication Centralized AMI application – responsible for gathering and

managing the metering dataASN.1 Abstract Syntax Notation One – standard used to describe the

structures designated for representation, coding, transmission and decoding of data

BER Basic Encoding Rules – method of coding the data described by the ASN.1 specification

CA Certification Authority – institution of trust, office of certificationCBP Central Metering DatabaseCAZ Central Managing Application.Certificate Public key and information on the entity's identity signed digitally by

the office of certificationCOSEM Companion Specification for Energy Metering – set of specifications

compiled by DLMS UA defining the IT model of the facilities, including, among other things, electricity meters

DCSML Data Concentrator Smart Message Language – communication protocol constituting an extension of standard SML specification to include additional functionalities (e.g. multicast, broadcast). Created for the purpose of implementation of the AMI System in DSO

DLMS Device Language Message Specification – communication-oriented application layer protocol designed to support, among other things, two-way data exchange with the electricity meters

DSO Distribution System OperatorGSM Global System for Mobile Communications (originally, Groupe

Spécial Mobile) – mobile telephony standardGPRS General Packet Radio Service – method of sending data in packets in

Document title: Communication Standard Between AMI Application and Metering Infrastructure 5 z 94

Term Explanation

GSM networksGZIP Program used for file compression, based on the Deflate algorithm,

constituting a combination of LZ77 algorithms and Huffman coding algorithm

HAN Home Area Network – Home Network encompassing the devices within the Intelligent Building infrastructure, equipped with remote control and data providing functionalities (heating, air conditioning, household appliances and radio/TV equipment). In addition, HAN may be comprised of PCs and house terminals used for monitoring electricity consumption and managing the devices and meters.

Metering Infrastructure Technical infrastructure, including hardware and software, whose purpose is to provide adequate communication between recipients of electricity and DSO, including information on electricity consumption. The Metering Infrastructure connects to the Application System via the Intermediating Infrastructure. The Metering Infrastructure will be comprised of power meters and concentrators as well as other devices connected to them, including HAN devices and meters of other utilities.

KDL Metering Data ConcentratorKDLP Metering Data Concentrator – Program.LE Electricity Meter.LPU Meter Use Case.nN Low voltage.OBIS Object Identification System – system of coding the COSEM model

objects.OSI Open System Interconnection. – standard defined by the ISO and

ITU-T organizations, describing the network communication structure.

PKI Public Key Infrastructure – structure of trust, based on confirmation of authenticity with use of certificates issued by the hierarchy of certification offices.

PLC Power Line Communication/Carrier – communication technique allowing to remotely send the data via the electricity cables.

PRIME PoweRline Intelligent Metering Evolution – open specification defining communication in the lowest layers of the communication system after PLC, from the terminal devices (meters) to the data concentrator located in the medium-voltage/low-voltage transformer station.

SAK Acquisition System.SML Smart Message Language – application layer protocol developed by

the MeKo project group, designated to support, among other things, two-way data exchange with the electricity meters.The MeKo project group is comprised of the following: Dr. Neuhaus Telekommunikation GmbH, E.ON Mitte AG, E.ON Netz GmbH,

Document title: Communication Standard Between AMI Application and Metering Infrastructure 6 z 94

Term Explanation

Emsycon GmbH, EnBW Vertriebs und Servicegesellschaft mbH, Landis+Gyr GmbH, RWE Rhein-Ruhr Netzservice GmbH.

MV Medium voltage.SSH Secure Shell – standard of communication protocols used in the

TCP/IP computer networks, in the client – server architecture. It is used for connecting to the remote computer, and provides encryption and allows authentication of the user by many methods.

S-FSK Spread Frequency Shift Keying – one of the techniques for transmitting the data through the PLC network.

TCP/IP Transmission Control Protocol/Internet Protocol – set of transmission (TCP) and network (IP) layer protocols providing a unified method of sending the data in various types of networks.

TLS/SSL TLS (Transport Layer Security) – extension of the SSL (Secure Socket Layer) protocol, adopted as Internet standard, which aims at providing confidentiality and integrity of data transmission and ensuring authentication; it is based on asymmetric ciphers and certificates of X.509 standard.

WS-RT Web Services Resource Transfer – protocol based on the popular WebServices technology used in case of data exchange between the applications operating in the TCP/IP network, created under the DSMR standard.

xDLMS Extended DLMS – extension of the DLMS protocol to the DLMS/COSEM standard defined by norm IEC 62056-53.

XML Extensible Markup Language – it is a markup language used for describing the data. It is the method of presenting the hierarchical structure of nodes and their attributes in the form of a "flat" text file with a precisely defined structure.

Document title: Communication Standard Between AMI Application and Metering Infrastructure 7 z 94

2 IntroductionThis document is an excerpt from the document entitled "Communication Standard Between the Application and the Metering Infrastructure" (version 2.00).

The document contains the concept and the basic assumptions for the communication standard with a proposed custom DCSML communication protocol created especially for Energa-Operator SA's needs. The standard takes into account the needs and characteristics of the AMI System.

This document presents:

use cases for communication between the Application and the Metering Infrastructure,

description of messages,

grammar of the protocol, examples of queries and responses in DCSML (in the APDU and source form).

Development of the communication standard takes into account the guidelines included in the following document:

[1] Stance of the President of ERA in the matter of requirements for intelligent metering and billing systems implemented by OSD E, taking into account the purpose and the proposed support mechanisms for the postulated market model. ERA 2010. http://www.ure.gov.pl/download.php?s=1&id=4295P1.3 AMI Application. Concept of the Integrated Application System. Central Managing Application. 2011.05

Document title: Communication Standard Between AMI Application and Metering Infrastructure 8 z 94

3 Concept for the communication standard in DSOIn this chapter we have presented the assumptions which were adopted for work on the proposed communication standard, and presented the concept of the standard based on the assumptions adopted.

3.1 Assumptions for the communication standard

3.1.1 General assumptionsThe following general assumptions were adopted:

1. It must ensure sufficient functionality to meet all the requirements of the AMI System in DSO.2. It must be open to all metering devices, not just power meters (natural gas, water, heat

meters).3. It must ensure communication between devices of various manufacturers (which use that

standard).4. It should be precisely defined so as to ensure conducting of tests guaranteeing cooperation

between the devices.5. It must ensure communication between:

a. KDL and SAK – if readings take place through KDL (PLC).b. LE and SAK – if readings are performed directly by SAK (GPRS, GSM, LAN/WAN).

In addition, in order to prevent the path to the author's solution from being closed, it is proposed that the following recommendations are met, however they are not mandatory.

1. The protocol should be regulated by the standards, in order to guarantee its openness and development.

2. Usage of the protocol should be verified through prior large-scale implementations.

3.1.2 Technical assumptionsThe following technical assumptions were adopted:

1. Due to limited throughput of connections between KDL and SAK, it is necessary to:a. minimize the size of the message (queries and responses),b. minimize network traffic between SAK and KDL (type broadcast and multicast

messages).2. KDL is "non-transparent" which means that SAK communicates with KDL in the manner

minimizing the network traffic (see the assumption above), and KDL is responsible for optimal organization of communication with LE.

3. The manner of SAK's communication with LE should be unified regardless of the communication channel used. Accordingly, if the meter does not communicate with the infrastructure through PLC (but through e.g. GPRS) and therefore there will be no KDL between LE and SAK, Program Concentrator will be functionally inserted in KDL's place which will fulfill KDL's functions.

4. SAK has to be able to send to LE the message in the "transparent KDL" mode.5. It is necessary to properly secure the data through the following:

a. authentication,b. authorization and access rights,c. ciphering,d. data integrity (control and error correction mechanisms).

Document title: Communication Standard Between AMI Application and Metering Infrastructure 9 z 94

6. We propose to use open solutions as far as implementation of data security measures is concerned.

7. We propose to use prioritization at the level of lower communication layers as well as the application layer.

3.2 Overall concept of the communication standardCommunication standard should be reviewed in the following areas.

Figure 1. Areas of communication in the AMI system

1. Area I – communication between the SAK system and KDL – communication will be conducted through the connection based on TCP/IP with minimum throughput of 64 kbit/s (in one of two basic communication techniques: PLC MV or WiMax).

2. Area II – communication between KDL and LE – communication will be conducted through connection in PLC technology.

3. Area III – communication between the SAK system and LE – communication will be conducted through the connection based on TCP/IP through GPRS with throughput of 30 – 80 kbit/s.

Document title: Communication Standard Between AMI Application and Metering Infrastructure 10 z 94

COSEM OBJECTS

COSEM OBJECTS

SAK - KDL KDL - LE KDLP - LE

COSEM Application Layer

 

COSEM Application Layer

COSEM Application Layer

(PLC SN, WiMax, GPRS))

PLC OFDM

DCSML 

PN/EN 61334-4-32

Wrapper Layer

UDP 

TCP 

GPRS, …

DLMS

PRIME MAC

PRIME PHY

DLMS

PLC OFDM

IP IP

TLS

TCP 

UDP 

Figure 2. Areas of communication in the AMI system – layers of the protocol

3.2.1 Area of communication between SAK and concentrators

We propose development and implementation of language and standard of communication with the concentrator based on structures and solutions used in SML (Smart Message Language). Definition of SML is based on ASN.1 notation which allows to expand basic available functions to include new functionalities which we need. Therefore we propose adaptation of SML for the purposes of this project.

Grouped SML messages (application layer protocol) are sent in the form of binary files-streams in which SML messages are encoded in accordance with ASN.1 to the binary form. Writing format based on XML will not be used because files have large sizes and the time of processing and interpretation of contents of XML files by computer systems is very long.

Due to the fact that the proposed language of communication between SAK and KDL is based on SML, we would like to propose to name that language DCSML – Data Concentrator Smart Message Language.

In the presentation layer for sending DCSML files, TLS or SSL protocol will be used as standard security measure for communication between the Application System and the concentrator. TLS/SSL provide the mechanisms of user authentication and encoding of the sent content on the basis of AES 128 cryptographic algorithm.

3.2.2 Area of communication between concentrators and meters

We propose to use open, normalized communication standards in the layer of communication between KDL and meters. In the physical and data connection layer we recommend to use the PRIME protocol, and in the application layer – we recommend to use the DLMS/COSEM standard.

The PRIME physical layer and data connection layer protocol is adequate because it has the following features:

o it is a well-defined and described standard,o there are several laboratory centers in the world which certify hardware for

compliance with PRIME specification,

Document title: Communication Standard Between AMI Application and Metering Infrastructure 11 z 94

o the standard does not breach patent rights of third parties,o it is a modern solution which is based on the technique of OFDM modulation in the

physical layer; in addition, it is characterized by small markup on the size of transmitted data, control of errors in MAC PDU frames and dynamic adaptation of the network's logical structure for the purpose of optimizing the communication and in the situations involving disruptions and/or damages of individual network nodes (mesh-type networks),

o it provides data transmission security mechanisms.

The DLMS/COSEM application layer protocol is adequate because it has the following properties:

o it is a defined standard which is developed and maintained by DLMS User Association,

o verification of compliance with the standard consists in performance of several tests defined in DLMS User Association's Yellow Book,

o it has a concise format of APDU data packets as compared to other protocols used in metering communication (e.g. IEC1107, IEC61056-21, etc.),

o it provides all the necessary packet security mechanisms (authentication, authorization, ciphering and data integrity),

o it provides description of metering data for various types of utilities supplied (electricity, water, heat, natural gas).

The standard communication technologies recommended for the layer of communication between concentrators and power meters serve the following purposes:

1. Providing replaceability of metering equipment coming from various suppliers on the market, and therefore ensuring independence from a single supplier which could try to dictate its own prices in the future.

2. Eliminating problems related to disruptions in communication with devices operating in various PLC technologies within the same electricity segment.

3. Utilization of knowledge and long experience of manufacturers and associations developing the standard solutions which have been captured in the norms.

3.2.3 Area of communication between SAK and meters

Due to preservation of unified form of communication with concentrators as well as the group of those electricity meters which will be queried directly by the SAK system and because of the TCP/IP communication protocol of the transportation layer, also in this case we are planning to use the DCSML protocol as the application layer protocol in communication between SAK and the program concentrator (KDLP).

For the purpose of unifying communication between SAK and LE i.e. for the purpose of covering with the proposed standards also those LEs which may (or must) communicate with other channel than PLC, it was assumed that in such cases communication would take place via the Program Concentrator (KDLP). The advantage of such solution involves separation of the process of communication with the meters outside of the Acquisition System. It is assumed that at the present time communication takes place through that path in case of approx. 2% of all power meters. However, one cannot be certain that the number of meters which conduct communication in that path will not increase in the future. Moreover, during implementation of metering infrastructure it may turn out that there are locations (geographic areas) in which it will not be possible to use PLC. Separation of Program Concentrator KDLP will make it possible to use larger than assumed quantity of meters. Moreover, there can be

Document title: Communication Standard Between AMI Application and Metering Infrastructure 12 z 94

more than one KDLP in the system in various geographic locations and on many hardware items (workstations).

We propose to use open, normalized communication standards in the layer of communication between KDLP and meters. We recommend to use the complete DLMS/COSEM standard. Due to the fact that GPRS connections with TCP/IP are used, DLMS wrapper captured in the DLMS/COSEM standard should be used in the presentation layer.

3.2.4 Traffic prioritizationThe purpose of broadly understood traffic prioritization is to ensure the option of sending messages with various degree of importance and in different time regimes, so that transmission of less important messages would not block more important ones.

Before describing rules and execution of traffic prioritization, the assumptions for the executed (and therefore prioritized) Tasks were given.

3.2.4.1 TasksThe following assumptions concerning the Tasks were accepted:

1. The Tasks have the following characteristics:a. they may include one or several activities,b. if the tasks include several activities, the sequence of their performance should be

specified,c. the tasks may be addressed to one, many (multicast) or all (broadcast) meters.

2. The Task may be ordered by CAZ to SAK in the following way:a. instruction to perform the task issued on one-off basis to one or several meters (to be

performed immediately or in the future)b. instruction, issued to one or several meters on one-off basis, to perform cyclical task

(e.g. daily subscription)3. The main attributes of single task are as follows:

a. priority: standard, high, critical (standard priority is accepted as default),b. manner of execution:

i. single communication session: PULL (intended for execution of short tasks within a single meter e.g. switch off the contactor).[See Figure 3]

ii. two communication sessions: PULL + PULL (intended for execution of complex tasks, assuming that it will be decided that SAK will read the results); the first session includes sending the task to KDL, the second – sending the results to SAK. [See Figure 4]

iii. two communication sessions: PULL + PUSH (intended for execution of complex tasks, assuming that it will be decided that KDL will read the results); the first session includes sending the task to KDL, the second – sending the results to SAK. This method is the basic method used in mass readout of data from LE. [See Figure 5]

iv. single communication session: PUSH (for readout of event data concerning emergency situations). [See Figure 6]

Document title: Communication Standard Between AMI Application and Metering Infrastructure 13 z 94

sd PULL

SAK

(from SAK Actors)

KDL

(from SAK Actors)

LE

(from SAK Actors)

Get data()

ack()

Get data()

Send data()

Send data()

ack + disconnect()

sd PULL PULL

SAK

(from SAK Actors)

KDL

(from SAK Actors)

LE

(from SAK Actors)

Get data()

ack + disconnect()

Get data()

Send data()

Get data()

Send data()

ack + disconnect()

Figure 3: Diagram of the sequence – single communication session PULL

Figure 4: Diagram of the sequence – two communication sessions PULL + PULL

Document title: Communication Standard Between AMI Application and Metering Infrastructure 14 z 94

sd PULL PUSH

SAK

(from SAK Actors)

KDL

(from SAK Actors)

LE

(from SAK Actors)

Get data()

ack + disconnect()

Get data()

Send data()

Send data()

ack + disconnect()

sd PUSH

SAK

(from SAK Actors)

KDL

(from SAK Actors)

LE

(from SAK Actors)

ALARM()

ALARM()

ack + disconnect()

Figure 5: Diagram of the sequence – two communication sessions PULL + PUSH

Figure 6: Diagram of the sequence – single communication session PUSH

4. Configuration of the manner of executing the tasks will take place on the side of the CAZ system, with reservation that only system Administrator will have access to configuration of the manner of executing the task (p. 3b) and the users will only choose specific tasks from the available, previously configured list.

3.2.4.2 Prioritization rulesThe following options for parameterization of priorities were specified as part of data exchange process:

1. Priority on the level of SAK-KDL communication and processing by KDL (KDL-LE communication)

2. QoS for data on the TCP/IP level

Priority on the level of SAK-KDL communication allows to determine which tasks on the central level concerning communication with Concentrators and Meters will be processed firstly. Priority also allows to determine which tasks related to communication with the individual meters should be performed by KDL firstly.

Document title: Communication Standard Between AMI Application and Metering Infrastructure 15 z 94

QoS for data on the TCP/IP level is a recommendation for communication sessions (provided that this mechanism is supported by the concentrator) which are initiated by the Concentrators for the purpose of sending the results to SAK. Contrary to the possibility of queuing tasks in SAK, such option is not available if transmission is initiated in the opposite direction (KDLSAK), therefore if priorities are assigned at the data packet (QoS) level, the results of tasks specified as urgent will be delivered and they will be processed further by SAK with first priority.

Priorities may accept the following values:

1. Standard, in normal mode for the flow of typical information for which no high time regimes have been set

2. High, for the flow of information with high degree of importance which should be delivered promptly

3. Critical, for the flow of information with the highest degree of importance e.g. for the purpose of voiding the performance of high priority tasks – to be used in specific cases.

Processing will firstly include tasks with the highest priority and then with high priority. The tasks with standard priority will be performed last.

It should be also noted that if a task of higher priority emerges, other tasks which are being performed at that time will not be aborted and they will be finalized. However, next tasks with smaller priority will not be commenced. Tasks of higher priorities will start to be accepted for execution only after the required resources are freed. After the last task of higher priority is accepted, the process of accepting tasks of lower priorities will start.

If QoS is utilized on the level of TCP/IP packets, priority will be the number in the range 0-65535. Management of QoS parameter is carried out by the concentrator. It is recommended that three priorities on the QoS level corresponding to the priorities defined for the application layer be serviced through the concentrator. The number defining the priority should be the parameter which is remotely configurable on the concentrator (from the SAK level). In order to enable the mechanism's operation, the URG flag should be set on the level of the TCP/IP packet and the numerical value representing the priority should be configured.

Due to the fact that the tasks and priorities may be executed in different ways on several levels, below we would like to present the options of configuring the tasks:

No. Performance of the task Priority QoS

1. PULL YES YES

2. PULL + PULL YES YES

3. PULL + PUSH YES YES

4. PUSH NO YES

Priorities may be configured for tasks carried out as part of single communication sessions (PULL) and as part of double communication sessions (double PULL as well as PULL + PUSH). Priority involves communication on the SAK-KDL contact with respect to queuing the tasks and their processing as well as processing of data by KDL, including communication on the KDL-LE contact.The priority cannot be configured for transmission of emergency events in the PUSH mode because due to high importance of the events, these tasks are processed by SAK with first priority.

Document title: Communication Standard Between AMI Application and Metering Infrastructure 16 z 94

In order to enable the execution of prioritization mechanisms, it is recommended to implement the following mechanisms on the Concentrators:

1. Parallel handling of TCP/IP session on the level of communication between SAK and KDL should be implemented on the concentrator.

2. If it receives another parallel task (SAK-KDL session of higher priority), the Concentrator should freeze the execution of current tasks with lower priority until the task of higher priority is finalized.

3. In case of another parallel SAK-KDL session with the same priority, the concentrator should enable parallel processing of all tasks with the same priority.

4. If several SAK-KDL sessions appear, where one of them will have a higher priority than the others, the tasks of other sessions with lower priority should be put on hold until the performance of the task of higher priority session is finalized.

5. If the Concentrator stops the performance of the task, it should finalize the performance of atomic operation on the level of the PLC network e.g. readout of a single parameter from the given Meter, before beginning to perform the activities as part of a different task of higher priority.

6. In case of performance of tasks as part of individual communication sessions, the appearance of another task of higher priority should not stop the performance of that first task so as not to stop the unnecessarily initiated SAK-KDL session. The tasks which are stopped should be only the ones which are performed as part of double communication sessions (order + results readout).

In case of direct communication between SAK and the meters, communication will take place through the program concentrator and the above-described rules for the case of communication SAK – Concentrator – Meter will be applied.

3.2.5 Digital signaturesMeans of securing the SAK-KDL communication involve the TLS/SSL mechanism based on the keys of the PKI infrastructure. CA should be provided by IT DSO services.

3.2.6 Concept of transport

I. Transport of data on the Acquisition Server – Concentrator path

The DCSML (Data Concentrator Smart Message Language) protocol, which is the modification of SML from the standpoint of optimization of processing for the needs of implementation of the AMI system in DSO, was used for exchange of data in the application layer.

The protocol enables flexible definition of queries and responses to such queries. It is a platform for exchange of data in the standardized manner on the Acquisition Server – Concentrator path. The data i.e. the tasks as well as the results are formed into APDU elementary binary units which are designated for sending in a unified form from the Acquisition Server (SAK) to the Concentrator (KDL) or in the opposite direction.

As part of the session layer of the ISO OSI model, the TLS/SSL protocol with the AES algorithm was used as the data stream layer, as well as authentication with public and private keys. The process of setting up a connection is as follows:

Document title: Communication Standard Between AMI Application and Metering Infrastructure 17 z 94

1. Connecting the Acquisition Server with the Concentrator on the level of TCP/IP sockets on the specified port.

2. Authentication:a. AMI server initiates connection with the concentrator and sends a random numberb. Concentrator sends its certificate (public key) and a random number to the serverc. AMI server sends its certificate (public key) to the concentratord. AMI server generates the session key (used in ciphering of AES), ciphers it with the

concentrator's public key and sends it to the concentratore. AMI server signs the previously mentioned random numbers with its own private keyf. Concentrator deciphers the session key with its own private key (the fact of having the

deciphered session key i.e., in consequence, having the private key consistent with the public key, is the proof of the concentrator's identity)

g. Concentrator verifies the signature sent by AMI server against the server's public key (correctness of the signature is the proof that the AMI server has a private key consistent with the public key i.e. confirms the server's identity)

h. The authenticated parties commence the transmission of data with use of the AES algorithm and the key mentioned in item 4.

i. If there is an error in authentication (e.g. incorrect keys), the Acquisition Server and the Concentrator will immediately break the connection at the TCP/IP level.

3. Setting up the ciphered transmission session on the basis of the symmetric key and conducting cyclical dialog:

a. Acquisition Server sends a demand in the form of APDU data packet,b. Concentrator sends a response in the form of APDU data packet,c. Transmission session is closed.

It is possible to optimize the authentication process by removing the need to each time exchange the public keys (they are stored locally on the side of SAK and KDL), provided that it is technically possible to carry out such algorithm.

II. Transport of events on the Concentrator – Acquisition Server path

In the application as well as transportation layer, the two-way communication is symmetric. Communication takes place through the DCSML protocol (described in chapter ), secured by TLS/SSL protocol.

Due to the fact that events are asynchronous, it is possible that there will be a large number of attempts to make a connection during a short period of time. Load balancer will be used on the side of the acquisition server, whose tasks will include distribution of load between the individual nodes of the SAK cluster which will independently process the reported events.

The presence of many SAK nodes and distribution of load are not important to the Concentrator from the point of view of communication. Concentrator makes a connection to the previously defined address of the Acquisition Server as if it were a single server.

III. Requirements of the network infrastructure

Communication between Acquisition Servers and Concentrators takes place at the level of TCP/IP. In order to ensure that the concentrator or meter will be addressed unequivocally (in case of 2% of meters with which communication will be conducted directly), it will be necessary to assign them with unique IP addresses in the global scale of the DSO network. There are two options of assigning IP addresses – statically and dynamically. The first method assumes manual configuration of network parameters on

Document title: Communication Standard Between AMI Application and Metering Infrastructure 18 z 94

the concentrators before their installation in the field. The second one assumes using DHCP servers for automatically assigning the IP addresses and other network configuration parameters.

Due to large scale of the undertaking and the fact that it will be necessary to configure approx. 60 thousand Concentrators, there exists the risk of occurrence of significant percentage of incorrect configurations resulting from human errors. Therefore it is also recommended to automatically assign the IP addresses via the DHCP servers.

1. Fulfillment of the following requirements will ensure departure from manual configuration of IP addresses of the Concentrators on the assembly tables in favor of automatic configuration: assigning the concentrators with IP addresses by DHCP servers from the global address pool intended for the metering equipment. The global address pool is understood as the pool of addresses dedicated to the metering infrastructure within the DSO network, however this does not mean that it will be necessary to use the fragment of the Internet global address pool.

2. Automatic reservation of IP addresses for each MAC address of the concentrator (or the meter from the 2% pool) so that such address would be the same in case of next requests to assign the IP address sent by the same device.

3. Storing the reservations of addresses for 90 days if there is no activity of the devices. Only if the devices are inactive for a longer period of time the IP address may be released and assigned to a different concentrator (or the meter from the 2% pool)

4. Synchronization of reservations of IP addresses between the DHCP servers in such way so as to ensure that unique addresses are assigned to the individual devices. Or possibly using a single DHCP central server for the entire metering network.

Details of network infrastructure management policy must be consistent with DSO's corporate policy in that regard.

Document title: Communication Standard Between AMI Application and Metering Infrastructure 19 z 94

4 Meter Use CasesIn this chapter we presented the results of analytical work associated with the defined cases of usage of the Metering Infrastructure.The list of Meter Use Cases was compiled.For each case, the messages and other data exchanged between SAK, KDL and LE were analyzed.On the basis of the results of this analysis, the syntax of DCSML was developed i.e. a set of messages which should be sufficient for servicing all the identified Meter Use Cases (LPU).

4.1 Categories, Identifiers and Statuses of Meter Use CasesThe table below presents categories which were defined for Meter Use Cases.

Table 2. Categories of Meter Use Cases

Code Name DescriptionI Installation LPUs for installation and deinstallation of KDL and LE, exchanges,

software updates, etc.

K Configuration LPUs related to configuration of KDL and LE.

O Readout LPUs for readouts of metering data.

S Control LPUs requiring that requests controlling the devices' operation be sent to LE and/or KDL.

Z Notification LPUs executed through alarm being reported by LE and KDL. This category was highlighted because LPUs related to it require special flow of messages between the devices.

The following was assigned to each LPU:

Identifier, Category, Status.

The identifier has the following structure: LPUnna, where:

LPU is constant, nn is a number (with a zero which does not have the meaning); due to the fact that the list will

be updated, LPUs may be removed from it, hence the nn numbers do not necessarily have to be the subsequent numbers,

a is a small letter (optional) which makes it possible to insert new LPUs in the logical sequence between the already existing LPUs.

Statuses may have the following values:

A – active LPU, to be serviced in the first version of DCSML, B – LPU to be serviced in the future, W – doubtful LPU, a decision as to its existence should be made in the course of further

analytical work, X – voided LPU, logically removed from the LPU list; it is not physically removed from the

list so as to prevent its identifier from being used once again which could lead to confusion.

Document title: Communication Standard Between AMI Application and Metering Infrastructure 20 z 94

In the later analysis related to DCSML project, only LPUs with "A" status were taken into account.

4.2 List of Meter Use CasesThe table below contains the list of LPUs with "A" status.

Table 3. Meter Use Cases with "A" status.

ID NameLPU01 Installation of new LE, reporting of LE after power failureLPU02 Installation of new KDLLPU03 No communication with LELPU04 KDL Shutdown/FailureLPU05 Update of LE's softwareLPU06 Update of KDL's softwareLPU07 LE configurationLPU08 KDL configurationLPU09 Definition of subscriptionLPU10 Readout of LE registersLPU11 Readout of configurations and data from KDLLPU12 Execution of subscriptionLPU13 Readout of LE configurationLPU14 Verification of connection with LELPU15 Verification of connection with KDLLPU16 Direct communication with LE (transparent concentrator mode)LPU17 Restart of KDLLPU18 Reporting of alarm by LELPU19 Reporting of alarm by KDLLPU20 LE time synchronization / change

The full list of Meter Use Cases – with specification of the Category – is contained in Appendix no. 2 to this document in "LPU" Sheet.

4.3 Analysis of Meter Use CasesThe following was specified for each LPU:

1. Scope.2. Exchanged data and messages (sequence diagrams).

On the sequence diagrams, the exchange of data between SAK and KDL was described with the proposed DCSML messages. Under the diagrams, the descriptions of the individual flows were placed, where the subsequent points correspond to the subsequent flows labeled with point numbers.

The following rules of communication between SAK and KDL were adopted:

1. The key objective to be achieved is the minimization of data flows with simultaneous minimization of waiting time for replies from LE.

Document title: Communication Standard Between AMI Application and Metering Infrastructure 21 z 94

2. It has been assumed that, by principle, data will be transferred from KDL to SAK immediately after their completion in KDL. For this purpose, the "push" method will be used i.e. sending the data from KDL to SAK without waiting for request from SAK.

3. It will be possible to perform readouts of data from LE using the "pull" mode. Enforcement of the "pull" mode will be possible:

a. at the level of a single Task involving readout of data from LE – in such case, the Task will be provided with the "execution in the pull mode" attribute,

b. at the KDL level – in such case, the "execute the Tasks involving readout of data from LE in the pull mode" value will be set in KDL's configuration parameters,

c. at the SAK level – in such case, all the Tasks involving readout of data from LE will be provided with the "execution in the pull mode" attribute,

d. at the Subscription level – in such case, all the Tasks involving readout of data from LE generated by KDL as part of Subscription will be provided with the "execution in the pull mode" attribute.

4. In the KDL configuration, the maximum waiting time for completing a response from LE will be defined. After this time is exceeded, KDL will transfer the data collected by that moment to SAK – regardless of how many LEs responded by that moment.

5. After receiving a reply from KDL, SAK will verify the completeness of the data received. If they are incomplete, it will take proper actions such as verification of LE's status in CAZ (on the basis of data from SID), checking the connection with LE or once again asking for the missing data.

6. In the subscription mode, KDL is the initiator of tasks in the subsequent cycles. Information on subscription requests is recorded in SAK and KDL so that SAK would be able to control whether the maximum time for sending the data by KDL has not been exceeded.

7. It has been assumed that LE may be seen by only one KDL. The situation in which the same LE is reported by different KDLs will be considered erroneous and it should be reported with critical priority to CAZ.

8. Tasks related to readout of data from LE, configuration and replacement of LE's firmware may be addressed to:

a. a single LE,b. many LEs (multicast),c. all the LEs (broadcast).

Note: The objective of the conducted analysis was to develop a language of communication between SAK and KDL. For this reason, the sequence diagrams pertain only to communication between SAK and a single KDL and the meters serviced by that KDL. This analysis does not cover the method of generating the type multicast and broadcast DCSML commands aimed at individual KDLs on the basis of orders received by SAK from the Central Managing Application.

The sequence diagrams for the individual Meter Use Cases presented in the later part of the document should be treated as proposed method of exchanging the data between the individual LPU actors. In reality, details concerning the sequence as well as the exchanged data will depend on specific solutions of the individual manufacturers as well as the results of further analytical and design work.

Document title: Communication Standard Between AMI Application and Metering Infrastructure 22 z 94

uc Installation Category

LPU01 Installation of new LE,

reporting of LE after failure

LPU02 Installationof new KDL

LPU03 Nocommunication with LE

LPU04 Shutdown / Failure of

KDL

LPU05 Updateof LE software

LPU06 Updateof KDL software

4.3.1 Installation Category

The below diagram presents the Meter Use Cases in Installation Category.

Figure 7. LPU in Installation Category

Document title: Communication Standard Between AMI Application and Metering Infrastructure 23 z 94

sd LPU01 Installation of new LE, reporting of LE after power failure

SAK

(from LPU Actors)

KDL

(from LPU Actors)

LEn

(from LPU Actors)

CAZ

(from LPU Actors)

KDL2

(from LPU Actors)

1. Reporting of LE()

2. Checking whether LE is in the routing table()

3. DCAttentionResponse()

4. Checking whether LE is in the routing table of a different KDL()

5. DCAttentionRequest()

5. DCAttentionResponse()

6. High priority alarm ()

7. DCAttentionResponse()

8. DCAttentionRequestt()

4.3.1.1 LPU01: Installation of new LE, reporting of LE after failure

Scope new LE reporting to KDL, reporting of LE to KDL after power failure/schedule power shutdown.

Sequence diagrams

Figure 8. Sequence diagram for LPU01 – correct situation

1. LE reports to KDL as new or after failure. The report contains the LE identifier and the code of the message associated with the report. The code of the reporting message indicates the reason for LE's reporting to KDL.

2. KDL checks whether LE is in its routing table.a. If LE has reported itself as a new one and it is not in the routing table => go to item

no. 7.b. If LE has reported itself after failure and exists in the routing table => go to item no.

7.3. KDL sends to SAK the information on the report from LE and the problem related to it.4. SAK checks whether the new LE is in the routing table of a different KDL.5. If LE is in the routing table of a different KDL, then SAK queries this KDL to make sure that

LE is accessible from two KDLs.6. If such situation occurs, then SAK will send a high priority alarm to CAZ.7. KDL notifies SAK that LE has reported to it.8. SAK sends to KDL the confirmation of data receipt.

Document title: Communication Standard Between AMI Application and Metering Infrastructure 24 z 94

sd LPU02 Installation of new KDL

SAK

(from LPU Actors)

KDL

(from LPU Actors)

LE1

(from LPU Actors)

CAZ

(from LPU Actors)

1. DCGetParamResponse()

2. Info on reporting of KDL()

3. DCAttentionRequest()

sd LPU03 No communication with LE

SAK

(from LPU Actors)

KDL

(from LPU Actors)

LE1

(from LPU Actors)

CAZ

(from LPU Actors)

1. DCAttentionResponse()

2. Checking the LE status()

2. Checking the LE status()

3. DCAttentionRequest()

If a new LE reports, CAZ will make a decision as regards the readout and the scope of read data.

4.3.1.2 LPU02: Installation of new KDL

Scope reporting of KDL (new or after scheduled shutdown/failure) to SAK, KDL agreeing the configuration with SAK.

Sequence diagram

Figure 9. Sequence diagram for LPU02

1. KDL reports to SAK. In the report, it provides its identification data.2. SAK notifies CAZ about KDL's reporting.3. SAK sends a response to KDL. In case of new concentrator, it sends the configuration data.

4.3.1.3 LPU03: No communication with LE

Scope deinstallation of LE, emergency situations causing loss of connection to LE.

Sequence diagram

Figure 10. Sequence diagram for LPU03

Document title: Communication Standard Between AMI Application and Metering Infrastructure 25 z 94

sd LPU04 Shutdown / Failure of KDL – servicing mode

SAK

(from LPU Actors)

KDL

(from LPU Actors)

LE1

(from LPU Actors)

1. Servicing mode()

2. DCAttentionResponse()

3. DCAttentionRequest()

4. Shutdown()

1. KDL identifies LE as problematic (no communication). Sends to SAK the notification about that fact, stating the data of the problematic LE.

2. SAK checks the LE status in CAZ (on the basis of data from SID).3. SAK sends to KDL the information concerning the problematic LE. LE could have been

switched off, taken down, etc. – in such case KDL ends the attempts to initiate communication with that LE.

CAZ makes a decision with regard to strategy for further communication.

4.3.1.4 LPU04: KDL Shutdown/Failure

Scope Service (the following scenario is conditioned on KDL having adequate functionality):

o the fitter changes KDL's status to "under servicing" through a local interface,o a notification is sent to SAK about the fact that KDL's status has been changed to

"under servicing" which may trigger KDL to perform readout of all the data that have not yet been read (see LPU11),

o KDL's operating system is closed,o after the message of completion of the closing process (local), the disassembly or

servicing will take place,o after completion of service and restart, KDL will inform SAK that it is active (see

LPU02). Failure: An emergency situation, failure of the concentrator hardware preventing the

functioning of the operating system, KDL service which does not have the above-described functionality, failure of the channel of communication with KDL;

o failure of KDL or shutdown of the concentrator by the technician,o SAK makes an attempt to reinstate communication (parameter of time and number of

attempts),o SAK checks KDL's status in CAZ (on the basis of data from SID),o if there is no information in CAZ about scheduled servicing of KDL, it will change

the channel to backup – provided that it is available; after the specified time, it will report the failure to CAZ,

Sequence diagrams

Figure 11. Sequence diagram for LPU04 – servicing mode

Document title: Communication Standard Between AMI Application and Metering Infrastructure 26 z 94

sd LPU04 Shutdown / Failure of KDL – without servicing mode

SAK

(from LPU Actors)

KDL

(from LPU Actors)

LE1

(from LPU Actors)

CAZ

(from LPU Actors)

1. Failure or shutdown()

2. DCGetParamRequest()

3. Checking KDL status()

3. Checking KDL status()

4. DCGetParamRequest()

5. Sending information on the problem()

1. The fitter changes KDL's status to "under servicing" through a local interface. It waits for a response from KDL confirming that the process of informing SAK about the planned interruption has been completed.

2. KDL informs SAK that there will be interruption in communication.3. SAK confirms the receipt of this information.4. The fitter disassembles KDL or performs service tasks.

Figure 12. Sequence diagram for LPU04 – without servicing mode

1. Failure of KDL occurs or it is switched off by the fitter.2. SAK ascertains lack of communication. Attempts to make a connection to KDL –

unsuccessfully.3. SAK checks the KDL status in CAZ (on the basis of data from SID).4. If there is no information in CAZ about the scheduled service and the backup channel of

communication with KDL has been determined, SAK will try to initiate a connection through that channel.

5. If attempts to make a connection are unsuccessful, SAK will inform CAZ about situation which has occurred.

4.3.1.5 LPU05: Update of LE's software

Scope setting up the software image in KDL and issuing an instruction through SAK to KDL to

replace software in LE, specifying the moment of switching to new software, transferring software to the meter, setting up the moment of switching to new software

version, confirmation of execution.

Document title: Communication Standard Between AMI Application and Metering Infrastructure 27 z 94

sd LPU05 LE software update

SAK

(from LPU Actors)

KDL

(from LPU Actors)

LE1

(from LPU Actors)

LE2

(from LPU Actors)

LEn

(from LPU Actors)

1. DCMeterFirmwareRequest()

2. DCAttentionResponse()

3. Sending the software()

3. Sending the software ()

3. Sending the software ()

4. Software receipt confirmation ()

4. Software receipt confirmation ()

4. Software receipt confirmation ()

5. DCMeterAttentionResponse()

6. Update confirmation()

6. Update confirmation ()

6. Update confirmation ()

7. DCMeterAttentionResponse()

Sequence diagram

Figure 13. Sequence diagram for LPU05

1. SAK sends to KDL the software image for LE, specifying the time of update.2. KDL sends to SAK the confirmation of receipt of software image.3. KDL sends the software image to LE, specifying the time of update. The following activities

are performed for all LEs to which the new software was sent.4. LE sends to KDL the confirmation of receipt of software image.5. KDL sends to SAK the confirmation of receipt of software image through individual LEs.6. In the designated time, LE performs software update and notifies KDL about this fact, while at

the same time sends the identifier of the installed software version.7. KDL informs SAK about the fact that software has been updated in the individual LEs, stating

the identifiers of the installed software versions.

4.3.1.6 LPU06: Update of KDL's software

Scope setting up the software image in KDL and issuing an instruction through SAK to KDL to

replace software, specifying the moment of switching to new software, confirmation of execution.

Sequence diagram

Document title: Communication Standard Between AMI Application and Metering Infrastructure 28 z 94

sd LPU06 KDL software update

SAK

(from LPU Actors)

KDL

(from LPU Actors)

LE1

(from LPU Actors)

1. DCFirmwareRequest()

2. DCAttentionResponse()

3. Software update()

4. DCGetParamResponse()

Figure 14. Sequence diagram for LPU06

1. SAK sends the software image to KDL, specifying the time of update.2. KDL sends to SAK the confirmation of receipt of software image.3. KDL performs update of its software and works on the new software starting from the

specified moment.4. KDL sends the identifier of the installed software version to SAK.

Document title: Communication Standard Between AMI Application and Metering Infrastructure 29 z 94

uc Configuration Category

LPU07 Configuration ofLE

LPU08 Configuration ofKDL

LPU09 Definitionof subscription

LPU20 Synchronization / change of LE time

4.3.2 Configuration CategoryThe below diagram presents the Meter Use Cases in Configuration Category.

Figure 15. LPU in Configuration Category

4.3.2.1 LPU07: LE configuration

Scope Change of LE configuration parameters:

o calendar (zones),o limitation of power,o change of contactor status (switching it off, securing it),o synchronizing or setting the timeo defining the moment of registering the data in profiles/archives,o defining the structure of complex registers (profiles, archives),o displaying the message on the LE display,o sending the message to HAN,o other.

Document title: Communication Standard Between AMI Application and Metering Infrastructure 30 z 94

sd LPU07 LE configuration

SAK

(from LPU Actors)

KDL

(from LPU Actors)

LE1

(from LPU Actors)

LE2

(from LPU Actors)

LEn

(from LPU Actors)

1. DCMeterSetParamRequest()

2. Configuration change request()

2. Configuration change request ()

3. Request execution/acceptance confirmation()

3. Request execution/acceptance confirmation ()

4. DCMeterAttentionResponse()

5. New configuration activation()

5. New configuration activation()

Sequence diagram

Figure 16. Sequence diagram for LPU07

1. SAK sends to KDL the request to set specific parameters in LE. The request may contain the moment as of which the new parameters are to go into effect.

2. KDL generates the parameterization request for all LEs stated in the request sent by SAK.3. LE confirms the execution of the request (or its acceptance – if the moment as of which the

new parameters are to go into effect has been set).4. After receiving confirmations from all LEs, KDL will confirm to SAK that the data have been

transferred.5. If the moment as of which the new parameters are to go into effect has been set, LE will

activate the new configuration at the moment defined in the request (the new data will begin to prevail as at that moment).

Usually after LPU07, LPU13 "Readout of LE configuration" will be performed for the purpose of verifying whether the new configuration has been successfully installed in LE. The decision as to conducting the readout will be made by CAZ.

4.3.2.2 LPU08: KDL configuration

Scope change

o of maximum waiting time for responses from LE,o of concentrator time (forcing synchronization of time with the use of NTP),o of the method of performing the readouts ("push" mode or "pull" mode),o of other concentrator parameters.

Synchronization of KDL's time with SAK's time will be carried out with use of NTP mechanisms. If this protocol is not implemented in KDL, an alternative algorithm will be executed.

Document title: Communication Standard Between AMI Application and Metering Infrastructure 31 z 94

sd LPU08 KDL configuration

SAK

(from LPU Actors)

KDL

(from LPU Actors)

LE1

(from LPU Actors)

1. DCSetParamRequest()

2. DCAttentionResponse()

3. New data activation()

Sequence diagram

Figure 17. Sequence diagram for LPU08

1. SAK sends to KDL the request to set specific parameters. The request may contain the moment as of which the new parameters are to go into effect.

2. KDL confirms the execution of the request (or its acceptance – if they are to go into effect as of the specified moment).

3. If the moment as of which the new parameters are to go into effect has been set: It will activate the new configuration at the moment specified in KDL's request.

Usually after LPU08, LPU11 "Readout of configurations and data from KDL" will be performed for the purpose of verifying whether the change of configuration was successful.

4.3.2.3 LPU09: Definition of subscriptionSubscription has the following basic attributes:

identifier, scope of delivered data, frequency and schedule of data registration (from LE to KDL), frequency and schedule of data delivery (from KDL to SAK), obligation start time, obligation end time.

Subscription may be assigned to one LE, many LEs (multicast) or to all LEs (broadcast).

ScopeIncludes:

creation of new subscription definition, change of subscription definition, deactivation of subscription, removal of subscription.

Execution of actions defined by the subscription is covered by LPU12.

Document title: Communication Standard Between AMI Application and Metering Infrastructure 32 z 94

sd LPU09 Subscription Definition

SAK

(from LPU Actors)

KDL

(from LPU Actors)

LE1

(from LPU Actors)

1. DCSubscribeRequest()

2. DAttentionResponse()

sd LPU20 LE time synchronization / change

CAZ

(from LPU Actors)

SAK

(from LPU Actors)

LE1

(from LPU Actors)

KDL

(from LPU Actors)

1. DCMeterSetParamRequest()

2. LE time readout()

2. LE time()

3. Calculation of departure of LE time from KDL time()

4. DCMeterAttentionResponse()

5. Info on departure greater than permitted ()

6. Setting the time()

7. Confirmation of setting the time()

8. DCMeterAttentionResponse()

Sequence diagram

Figure 18. Sequence diagram for LPU09

1. New subscription is configured in SAK, and then proper definition is sent to KDL. Configuration may consist in creating the new definition, change of definition's parameters (e.g. LE lists for which that definition prevails), deactivation or permanent removal of the definition.

2. Definition is configured in KDL. KDL sends the confirmation of subscription configuration to SAK.

Execution of subscription is described in use case LPU12.

4.3.2.4 LPU20: LE time synchronization / change

Scope LE time synchronization setting the LE time

Sequence diagram

Figure 19. Sequence diagram for LPU20

Document title: Communication Standard Between AMI Application and Metering Infrastructure 33 z 94

uc Readouts Category

LPU10 Readoutfrom LE registers

LPU11 Readout of data fromKDL

LPU14 Checkingconnection with LE

LPU15 Checkingconnection with KDL

LPU13 Readoutof LE configuration

1. SAK initiates LE time synchronization / change.2. KDL reads LE time.3. KDL calculates difference between LE time and KDL time.

a. the difference is smaller or equal than the set permissible time difference (KDL parameter). Go to item 4.

b. the time difference is greater than the set permissible time difference. Go to item 6.4. KDL informs SAK about greater than permissible time difference.5. SAK informs CAZ about greater than permissible time difference.6. KDL sets the LE time.7. LE confirms that the time has been set.8. KDL sends the confirmation to SAK that the order of time synchronization / change has been

executed.

4.3.3 Readouts CategoryThe below diagram presents the map of Meter Use Cases in Readouts Category.

Figure 20. LPU in Readouts Category

4.3.3.1 LPU10: Readout of data from LE

Scope Readout of metering data and non-metering data.

Document title: Communication Standard Between AMI Application and Metering Infrastructure 34 z 94

sd LPU10 Readout of LE registers - "push" mode

SAK

(from LPU Actors)

KDL

(from LPU Actors)

LE1

(from LPU Actors)

LE2

(from LPU Actors)

LEn

(from LPU Actors)

1. DCMeterGetDataRequest()

2. DCAttentionResponse()

3. Data request()

4. Sending the requested data()

3. Data request ()

4. Sending the requested data ()

5. DCMeterGetDataResponse()

6. DCAttentionRequest()

sd LPU10 Readout of LE registers - "pull" mode

SAK

(from LPU Actors)

KDL

(from LPU Actors)

LE1

(from LPU Actors)

LE2

(from LPU Actors)

LEn

(from LPU Actors)

1. DCMeterGetDataRequest()

2. DCAttentionResponse()

3. Data request ()

4. Sending the requested data ()

3. Data request ()

4. Sending the requested data ()

5. DCAttentionRequest()

6. DCMeterGetDataResponse()

7. DCAttentionRequest()

Sequence diagrams

Figure 21. Sequence diagram for LPU10 – "push" mode

1. SAK requests that KDL gathers the contents of registers from LEs.2. KDL confirms the receipt of the request.3. KDL generates adequate request for the relevant LEs.4. LEs deliver the relevant data to KDL.5. KDL delivers the gathered data.6. SAK confirms the receipt of data.

Figure 22. Sequence diagram for LPU10 – "pull" mode

Document title: Communication Standard Between AMI Application and Metering Infrastructure 35 z 94

sd LPU11 Readout of data from KDL

SAK

(from LPU Actors)

KDL

(from LPU Actors)

LE1

(from LPU Actors)

1. DCGetParamRequest()

2. DCGetParamResponse+DCMeterGetDataResponse()

3. DCAttentionRequest+DCAttentionRequest()

1. SAK requests that KDL gathers the contents of registers from LEs.2. KDL confirms the receipt of the request.3. KDL generates adequate request for the relevant LEs.4. LEs deliver the relevant data to KDL.5. SAK requests that the data gathered by KDL be delivered.6. KDL delivers the gathered data.7. SAK confirms the receipt of data.

4.3.3.2 LPU11: Readout of configurations and data from KDL

Scope sending from SAK to KDL the message with the request to send the specified data:

o of configuration,o of event logs,o of routing tables,o of gathered meter data before the moment of their "normal" delivery, for example,

should it become necessary to switch off KDL (see LPU04) sending the requested data from KDL to SAK.

Sequence diagram

Figure 23. Sequence diagram for LPU011

1. SAK sends to KDL the message with the request to provide data.2. KDL sends to SAK the response containing the relevant data.3. SAK confirms the receipt of data.

4.3.3.3 LPU13: Readout of LE configuration

Scope Readout of LE configuration parameters:

o calendar (zones),o limitation of power,

Document title: Communication Standard Between AMI Application and Metering Infrastructure 36 z 94

sd LPU13 LE configuration readout - "push" mode

SAK

(from LPU Actors)

KDL

(from LPU Actors)

LE1

(from LPU Actors)

LE2

(from LPU Actors)

LEn

(from LPU Actors)

1. DCMeterGetParamRequest()

2. DCAttentionResponse()

3. Configuration request()

4. Sending the requested data ()

3. Configuration request ()

4. Sending the requested data ()

5. DCMeterGetParamResponse()

6. DCAttentionRequest()

o contactor status (switched off, switched on, secured),o time,o defining the moments of registering the data in profiles/archives,o defining the structure of complex registers (profiles, archives),o other.

Readout of event log.

Sequence diagrams

Figure 24. Sequence diagram for LPU13 – "push" mode

1. SAK requests that KDL performs readout of data from LEs.2. KDL confirms the receipt of the request.3. KDL generates adequate request for the relevant LEs.4. LEs deliver the relevant data to KDL.5. KDL delivers the gathered data.6. SAK confirms the receipt of data.

Document title: Communication Standard Between AMI Application and Metering Infrastructure 37 z 94

sd LPU13 LE configuration readout - "pull" mode

SAK

(from LPU Actors)

KDL

(from LPU Actors)

LE1

(from LPU Actors)

LE2

(from LPU Actors)

LEn

(from LPU Actors)

1. DCMeterGetParamRequest()

2. DCAttentionResponse()

3. Configuration request ()

4. Sending the requested data ()

3. Configuration request ()

4. Sending the requested data ()

5. DCAttentionRequest()

6. DCMeterGeParamResponse()

7. DCAttentionRequest()

Figure 25. Sequence diagram for LPU13 – "pull" mode

1. SAK requests that KDL performs readout of data from LEs.2. KDL confirms the receipt of the request.3. KDL generates adequate request for the relevant LEs.4. LEs deliver the relevant data to KDL.5. SAK requests that the data gathered by KDL be delivered.6. KDL delivers the gathered data.7. SAK confirms the receipt of data.

4.3.3.4 LPU14: Verification of connection with LE

Scope readout of serial number register from LE,

Sequence diagramsSequence diagram is given in the description of case LPU10.

4.3.3.5 LPU15: Verification of connection with KDL

Scope readout of identification number register from KDL,

Sequence diagramSequence diagram is given in the description of case LPU11.

4.3.4 Control CategoryThe below diagram presents the map of Meter Use Cases in Control Category.

Document title: Communication Standard Between AMI Application and Metering Infrastructure 38 z 94

uc Control Category

LPU12 Executionof Subscription

LPU16 Directcommunication between SAK and LE (transparent concentratormode)

LPU17 Restart KDL

sd LPU12 Subscription readout in the "push" mode

SAK

(from LPU Actors)

KDL

(from LPU Actors)

LE1

(from LPU Actors)

LE2

(from LPU Actors)

LEn

(from LPU Actors)

1. Data readout request()

2. Sending the requested data ()

1. Data readout request ()

2. Sending the requested data ()

3. DCMeterGetDataResponse()

4. DCAttentionRequest()

Figure 26. LPU in Control Category

4.3.4.1 LPU12: Execution of subscriptionSubscription is an order for cyclical performance of certain actions. They may involve the following:

delivery of specified data by LE to SAK, changes of configuration in LE.

Scope cyclical execution of readouts from LE, cyclical execution of LE configuration changes.

The cyclical tasks resulting from definition of subscription are generated by KDL. They may be performed in the "push" or "pull" mode.

Sequence diagrams

Figure 27. Sequence diagram for LPU012 – readout in the "push" mode

1. On the basis of subscription definitions, KDL generates data readout requests and sends them to LE.

2. LEs send the requested data.

Document title: Communication Standard Between AMI Application and Metering Infrastructure 39 z 94

sd LPU12 Subscription readout in the "pull" mode

SAK

(from LPU Actors)

KDL

(from LPU Actors)

LE1

(from LPU Actors)

LE2

(from LPU Actors)

LEn

(from LPU Actors)

1. Data readout request ()

2. Sending the requested data ()

1. Data readout request ()

2. Sending the requested data ()

3. DCAttentionRequest()

4. DCMeterGetDataResponse()

5. DCAttentionRequest()

sd LPU12 LE subscription configuration change in the "push" mode

SAK

(from LPU Actors)

KDL

(from LPU Actors)

LE1

(from LPU Actors)

LE2

(from LPU Actors)

LEn

(from LPU Actors)

1. Configuration change request()

2. Configuration change confirmation()

1. Configuration change request ()

2. Configuration change confirmation ()

3. DCMeterAttentionResponse()

4. DCAttentionRequest()

3. KDL sends the gathered data to SAK.4. SAK confirms the receipt of data.

Figure 28. Sequence diagram for LPU012 – readout in the "pull" mode

1. On the basis of subscription definitions, KDL generates data readout requests and sends them to LE.

2. LEs send the requested data.3. SAK requests that the gathered data be delivered.4. KDL sends the gathered data to SAK.5. SAK confirms the receipt of data.

Figure 29. Sequence diagram for LPU012 – change of data in the "push" mode

Document title: Communication Standard Between AMI Application and Metering Infrastructure 40 z 94

sd LPU12 LE subscription configuration change in the "pull" mode

SAK

(from LPU Actors)

KDL

(from LPU Actors)

LE1

(from LPU Actors)

LE2

(from LPU Actors)

LEn

(from LPU Actors)

1. Configuration change request ()

2. Configuration change confirmation ()

1. Configuration change request ()

2. Configuration change confirmation ()

3. DCAttentionRequest()

4. DCMeterAttentionResponse()

5. DCAttentionRequest()

1. On the basis of subscription definitions, KDL generates configuration change requests and sends them to LE.

2. LEs confirm configuration change.3. KDL sends the confirmation for configuration change to SAK.4. SAK confirms the receipt of confirmation (for the purpose of closing the logical transaction

initiated by KDL).

Figure 30. Sequence diagram for LPU012 – readout in the "pull" mode

1. On the basis of subscription definitions, KDL generates configuration change requests and sends them to LE.

2. LEs confirm configuration change.3. SAK requests that KDL confirms confirmation changes in LEs.4. KDL sends the confirmation for configuration change to SAK.5. SAK confirms the receipt of confirmation (for the purpose of closing the logical transaction

initiated by KDL).

4.3.4.2 LPU16: Direct communication with LE (transparent concentrator mode)One of the requirements of DCSML is that it would be possible to send the messages to LE in transparent concentrator mode. This means that there must exist the possibility for SAK to formulate an instruction in such form which will not be interpreted by KDL but it will be understandable to LE. Such instruction is decapsulated by KDL and then it is sent to LE. And the other way around: responses obtained from LE are encapsulated by KDL in DCSML and sent to SAK.

Scope SAK sends the message to KDL which may be addressed to one, many or all LEs, decapsulation of message by KDL and sending it to LEs, KDL gathers responses from LEs, encapsulates them and sends them to SAK.

Document title: Communication Standard Between AMI Application and Metering Infrastructure 41 z 94

sd LPU16 Direct communication between SAK and LE (transparent concentrator mode)

SAK

(from LPU Actors)

KDL

(from LPU Actors)

LE1

(from LPU Actors)

LE2

(from LPU Actors)

LEn

(from LPU Actors)

1. DCMeterTransparentRequest()

2. DCAttentionResponse()

3. Decapsulation of DLMS from DCSML()

4. Sending DLMS()

5. Sending back the response in DLMS()

4. Sending DLMS()

5. Sending back the response in DLMS()

6. Capsulation of DLMS in DCSML()

7. DCMeterTransparentResponse()

8. DCAttentionRequest()

Sequence diagram

Figure 31: Sequence diagram for LPU016

1. SAK sends the instruction to KDL in the APDU DLMS form packaged in DCSML.2. KDL confirms the receipt of the instruction.3. KDL performs decapsulation from DCSML of the instruction formulated in APDU DLMS.4. KDL sends the decapsulated instruction to LE.5. LEs reply to KDL in the APDU DLMS form.6. KDL performs encapsulation of the reply in DCSML7. KDL sends the encapsulated responses in DCSML to SAK.8. SAK confirms the receipt of data.

4.3.4.3 LPU17: Restart of KDL

Scope KDL restart forced by SAK.

Sequence diagramRestart is performed upon SAK's initiative. Restart takes place through setting appropriate parameters in KDL which will trigger restart immediately or on the specified moment.

Document title: Communication Standard Between AMI Application and Metering Infrastructure 42 z 94

sd LPU17 KDL restart

SAK

(from LPU Actors)

KDL

(from LPU Actors)

LE1

(from LPU Actors)

1. DCSetParamRequest()

2. DCAttentionResponse()

3. Restart()

4. DCAttentionResponse()

uc Reporting Category

LPU18 Reporting of alarm by LE

LPU19 Reportingof alarm by KDL

Figure 32. Sequence diagram for LPU17

1. SAK sends to KDL the message with the request to perform restart.2. KDL confirms the receipt of the message.3. KDL restart occurs.4. KDL reports to SAK that restart has been performed.

4.3.5 Reporting CategoryThe below diagram presents the map of Meter Use Cases in Reporting Category.

Figure 33. LPU in Reporting Category

4.3.5.1 LPU18: Reporting of alarm by LE

Scope reporting of alarm by LE

Document title: Communication Standard Between AMI Application and Metering Infrastructure 43 z 94

sd LPU18 Reporting of alarm by LE

SAK

(from LPU Actors)

KDL

(from LPU Actors)

LE1

(from LPU Actors)

1. Reporting of alarm ()

2. DCMeterAttentionResponse()

3. DCAttentionRequest()

sd LPU19 Reporting of alarm by KDL

SAK

(from LPU Actors)

KDL

(from LPU Actors)

LE1

(from LPU Actors)

1. DCAttentionResponse()

2. DCAttentionRequest()

Sequence diagram

Figure 34. Sequence diagram for LPU18

1. LE reports alarm to KDL.2. KDL reports alarm from LE to SAK.3. SAK confirms the receipt of alarm.

4.3.5.2 LPU19: Reporting of alarm by KDL

Scope reporting of alarm by KDL

Sequence diagram

Figure 35. Sequence diagram for LPU19

1. KDL reports alarm to SAK.2. SAK confirms the receipt of alarm.

Document title: Communication Standard Between AMI Application and Metering Infrastructure 44 z 94

5 DCSML communication protocol The DCSML communication protocol was developed as an extension of the SML protocol (language) functionality. In order to ensure communication with data concentrators (KDL), a set of additional features was defined to ensure cooperation of SAK with KDL.

DCSML is used for communication between SAK and KDL. Also, it is a medium enabling transport of DLMS / COSEM protocol structures, which facilitates:

transmission of data read from COSEM objects in LE to SAK,

if necessary encapsulation of DLMS/COSEM commands at the SAK level, for KDL to transmit them directly to LE (DCMeterTransparent command).

5.1 Description of MessagesBased on the analysis of commands and data provided, a list of DCSML messages was developed which is presented in the table below.

Table 4. DCSML Message List

Message MeaningDCAttentionRequest Transmission of information, request, etc. Typical application includes a

request to read collected data in the "pull" mode. Also confirmation of information receipt.

DCAttentionResponse Notification of an alarm, confirmation of data receipt or execution of request, response to DCAttentionRequest.

DCFirmwareRequest Request to update software in KDL.DCGetParamRequest Request to read configuration and/or collected meter data from KDL.DCGetParamResponse Response with KDL configuration data.DCMeterAttentionResponse Acknowledgement of data receipt or request execution by individual LEs.DCMeterFirmwareRequest Request to update software in LE.DCMeterGetDataRequest Request to read data from LE.DCMeterGetDataResponse Response with data read from LE.DCMeterGetParamRequest Request to read configuration from LE.DCMeterGetParamResponse Response with LE configuration data.DCMeterSetParamRequest Request to change configuration of LE.DCMeterTransparentRequest Request to send data to LE in the APDU DLMS format.DCMeterTransparentResponse Response with LE data in the APDU DLMS format.DCSetParamRequest Request to change configuration of KDL.DCSubscribeRequest Request to create, change, delete or deactivate a subscription definition.

The message list is given in Appendix 2 in the "DCSML" worksheet. In the "LPU" worksheet, each individual LPU has been linked to DCSML messages that will be used to execute them.The "LPU <=> DCSML" worksheet presents the matrix of connections between LPU and DCSML messages.

5.2 Grammar of the Protocol

Document title: Communication Standard Between AMI Application and Metering Infrastructure 45 z 94

Due to the requirement for concentrators to be capable of working with meters from different manufacturers, it was assumed that the meters used will be compliant with the COSEM model. This means that logical devices, where COSEM objects are defined, are modeled in a physical device. Each object belongs to a certain interface class and is identified by OBIS code.

A DLMS / COSEM protocol is used to communicate with COSEM meters. It has been designed to record and transmit all data identified with OBIS codes, that is all data recorded in electricity meters.

For this reason, implementation of the DCSML protocol enables the following operations of the application layer:

Creating COSEM objects in LE based on interface classes defined in LE, removing those objects.

Performing the following types of operations on COSEM objects:o GET – get value of a COSEM object attribute, e.g. daily profile of values recorded

every 15 minutes, the actual voltage, etc.,o PUT – set the value of a COSEM object attribute, such as metering tariffs, calendar

used, etc.,o ACTION – run the method defined in a COSEM object.

Parameters and results of these operations are also encapsulated in DCSML messages to be passed between KDL and SAK.

5.2.1 Basic definitions of SML data structures

The concept of grammar for the DCSML protocol syntax is based on the solutions used in the SML protocol. DCSML is an extension of the SML protocol with additional functions. Functions of the SML protocol can be used equally with functions of the DCSML protocol. Therefore, in the description of grammar of the DCSML protocol we use the basic data structures (type) which are the same as in the original SML protocol. This applies to the following range of definitions of basic SML data structures:

OctetString Integer8 Integer16 Integer32 Integer64 Unsigned8 Unsigned16 Unsigned32 Unsigned64 Boolean List of … EndOfSmlMessage SML_Time SML_TimeStamp SML_Value SML_ValueEntry SML_Unit SML_Message SML_TreePath SML_Tree

Document title: Communication Standard Between AMI Application and Metering Infrastructure 46 z 94

List_of_SML_Tree List_of_SML_ObjReqEntry SML_ObjReqEntry List_of_SML_ProfObjHeaderEntry List_of_SML_ProfObjPeriodEntry List_of_SML_ValueEntry SML_ProfObjHeaderEntry SML_ProfObjPeriodEntry

Description of grammar of the DCSML protocol is presented in the same notation as was used in the description of SML (document: SML Smart Message Language Version1.03). The description uses the following characteristics defining the method of proceeding and interpreting the structures of elements in brackets:

CHOICE – means the possibility to choose one and only one element in brackets. The element must have its own unique code - TL field defining the type of the element (all the basic data types are assigned a unique TL code (TL-Field)

SEQUENCE – means that all the structure elements included in brackets are to be used, SEQUENCE OF – means an unlimited list of repetitive elements in brackets, OPTIONAL – means that the element specified by this characteristics does not have to be used

in the structure.

All the basic data types used in SML have a uniquely defined TL-Field. The size of a TL-Field is 1 byte (8 bits). Data type and data length expressed in terms of the number of bytes is encoded in this field. In TL-Field, the 4 most significant bits encode data type, while the 4 least significant bits encode information about the size of data in bytes. TL-Field is designed in such a way that, if the size of data described by TL-field is greater than 14 bytes then the most significant bit is set to 1 and it means that the next byte field after TL-Field carries additional information on data length. If additional bytes of TL-Field are used then the 4 bits of the first byte which specify data field length should be moved to the left by 4, while 4 bits from the next byte of the TL-Field should be added on the right. Thus, the maximum data field length of 254 may be encoded in 2 bytes of the TL-Field.

Encoding TL-Field (first byte)

Table 5. Significance of bits in the first byte of the TL-Field

Bit index MSBb7 6 5 4 3 2 1

LSBb0

The next byte is the extended TL-Field 1 X X X X X X X

The next byte is the value of data 0 X X X X X X X

Encoding Octet String data type X 0 0 0 L L L L

Encoding Boolean data type 0 1 0 0 L L L L

Encoding Integer data type X 1 0 1 L L L L

Encoding Unsigned data type X 1 1 0 L L L L

Encoding List of ... data type X 1 1 1 L L L L

The next byte allows you to define additional data types – reserved

1 1 0 0 L L L L

Document title: Communication Standard Between AMI Application and Metering Infrastructure 47 z 94

Bit index MSBb7 6 5 4 3 2 1

LSBb0

Reserved for the future X 0 0 1 L L L L

Reserved for the future X 0 1 0 L L L L

Reserved for the future X 0 1 1 L L L L

X - bit without significance (any bit value)L - data length bits (length in bytes)

TL-Field encoding (each subsequent byte)

Table 6. Significance of bits in subsequent bytes of the TL-Field

Bit index MSBb7 6 5 4 3 2 1

LSBb0

The next byte is the extended TL-Field 1 X X X X X X X

The next byte is the value of data 0 X X X X X X X

4 bits used as data length X 0 0 0 L L L L

Reserved for the future X 0 0 1 L L L L

Reserved for the future X 0 1 0 L L L L

Reserved for the future X 0 1 1 L L L L

Reserved for the future X 1 X X L L L L

5.2.1.1 OctetStringOctetString ::= SEQUENCE{

TL-Field 0x0z (‘z’ = number of bytes of data)

dataValue 0xAA..0xNN (0xAA – oldest byte,0xNN – youngest byte)

}

5.2.1.2 Integer8Integer8 ::= SEQUENCE{

TL-Field 0x52dataValue 0xYY

}

5.2.1.3 Integer16Integer16 ::= SEQUENCE{

TL-Field 0x53dataValue 0xAA 0xBB (0xAA – oldest byte,

0xBB – youngest byte,Size: Big Endian)

}

Document title: Communication Standard Between AMI Application and Metering Infrastructure 48 z 94

5.2.1.4 Integer32Integer32 ::= SEQUENCE{

TL-Field 0x55dataValue 0xAA 0xBB

0xCC 0xDD (0xAA – oldest byte,0xDD – youngest byte,Size: Big Endian)

}

5.2.1.5 Integer64Integer64 ::= SEQUENCE{

TL-Field 0x59dataValue 0xAA..0xHH 0xAA – oldest byte,

0xHH – youngest byte,Size: Big Endian)

}

5.2.1.6 Unsigned8Unsigned8 ::= SEQUENCE{

TL-Field 0x62dataValue 0xYY

}

5.2.1.7 Unsigned16Unsigned16 ::= SEQUENCE{

TL-Field 0x63dataValue 0xAA 0xBB (0xAA – oldest byte,

0xBB – youngest byte,Size: Big Endian)

}

5.2.1.8 Unsigned32Unsigned32 ::= SEQUENCE{

TL-Field 0x65dataValue 0xAA 0xBB

0xCC 0xDD (0xAA – oldest byte,0xDD – youngest byte,Size: Big Endian)

}

5.2.1.9 Unsigned64Unsigned64 ::= SEQUENCE{

TL-Field 0x59dataValue 0xAA..0xHH 0xAA – oldest byte,

0xHH – youngest byte,Size: Big Endian)

}

Document title: Communication Standard Between AMI Application and Metering Infrastructure 49 z 94

5.2.1.10 BooleanBoolean ::= SEQUENCE{

TL-Field 0x42dataValue 0xAA (0x00 = ‘false’

other value = ‘true’)}

5.2.1.11 List of …List of… ::= SEQUENCE{

TL-Field 0x7z (‘z’ = number of elements)}

5.2.1.12 EndOfSmlMessageEndOfSmlMessage ::= 0x00 (0x00 = no TL-Field

= end)

5.2.1.13 SML_TimeSML_Time ::= CHOICE{

secIndex 0x01 Unsigned32timestamp 0x02 SML_Timestamp

}

secIndex Time in seconds, counted number of seconds

timestamp SML_Timestamp (in seconds)

5.2.1.14 SML_TimeStampSML_TimeStamp time is based on a second. SML_TimeStamp counted from time 01.01.1970 00:00:00 (reference time of UNIX systems).

SML_TimeStamp ::= Unsigned32

5.2.1.15 SML_ValueSML_Value ::= IMPLICIT CHOICE{

Boolean-Value BooleanByte-List OctetString8-Bit-Integer Integer816-Bit-Integer Integer1632-Bit-Integer Integer3264-Bit-Integer Integer648-Bit-Unsigned Unsigned816-Bit-Unsigned Unsigned1632-Bit-Unsigned Unsigned3264-Bit-Unsigned Unsigned64

}

5.2.1.16 SML_ValueEntrySML_ValueEntry ::= SEQUENCE

Document title: Communication Standard Between AMI Application and Metering Infrastructure 50 z 94

{value SML_ValuevalueSignature SML_Signature OPTIONAL

}

5.2.1.17 SML_SignatureSignature is used to set the profile signature, parameter or values. Signatures vary for different individual system implementations.

SML_Signature OctetString

5.2.1.18 SML_UnitThe table of numerical values assigned to respective physical units is provided in the documents describing the DLMS (PN-EN 62056-62).

SML_Unit ::= Unsigned8

5.2.1.19 SML_Message

The basic structure of a SML message is used to send queries and responses in the communication process using the SML protocol.

SML_Message ::= SEQUENCE{

transactionID OctetStringgroupID Unsigned8abortOnError Unsigned8messageBody SML_MessageBodycrc16 Unsigned16endOfSmlMsg EndOfSmlMsg

}

5.2.1.20 SML_TreePathSML_TreePath ::= SEQUENCE OF{

Path_Entry OctetString}

5.2.1.21 SML_TreeSML_Tree allows you to obtain various information about parameters. Because of the tree structure and the child_list field, we can get information about:

a single parameter, a parameter with a list of dependent parameters, a parameter with a list of dependent parameter trees,

Parameter name is an appropriate OBIS code.

SML_Tree ::= SEQUENCE{

parameterName OctetStringparameterValue SML_ProcParValue OPTIONALchild_list List_of_SML_Tree OPTIONAL

Document title: Communication Standard Between AMI Application and Metering Infrastructure 51 z 94

}

5.2.1.22 List_of_SML_TreeList_of_SML_Tree ::= SEQUENCE OF{

tree_Entry SML_Tree}

5.2.1.23 List_of_SML_ObjReqEntryList_of_SML_ObjReqEntry ::= SEQUENCE OF{

object_List_Entry SML_ObjReqEntry}

5.2.1.24 SML_ObjReqEntryName of the parameter whose value is to be read (OBIS code).

SML_ObjReqEntry ::= OctetString

5.2.1.25 List_of_SML_ProfObjHeaderEntryList_of_SML_ProfObjHeaderEntry ::= SEQUENCE OF{

Header_List_Entry SML_ProfObjHeaderEntry}

5.2.1.26 List_of_SML_ProfObjPeriodEntryList_of_SML_ProfObjPeriodEntry ::= SEQUENCE OF{

Period_List_Entry SML_ProfObjPeriodEntry}

5.2.1.27 List_of_SML_ValueEntryList_of_SML_ValueEntry ::= SEQUENCE OF{

Value_List_Entry SML_ValueEntry}

5.2.1.28 SML_ProfObjHeaderEntryThe structure describes properties of a single parameter whose value or valueset we read. Information included in SML_ProfObjHeaderEntry are static for a specified parameter named objname.

SML_ProfObjHeaderEntry ::= SEQUENCE{

objName OctetStringunit SML_Unitscaler Integer8

}

5.2.1.29 SML_ProfObjPeriodEntryThe structure is used to return a set of values of parameters specified in the list List_of_SML_ProfObjHeaderEntry in association with a specified value of LE time when the data was measured. Data consistency signature may be assigned to a set of LE data from a specified time.

SML_ProfObjPeriodEntry ::= SEQUENCE

Document title: Communication Standard Between AMI Application and Metering Infrastructure 52 z 94

{valTime SML_Timestatus Unsigned64value_List List_of_SML_ValueEntryperiodSignature SML_Signature OPTIONAL

}

5.2.1.30 SML_MessageBody

Definition of the SML_MessageBody syntax has been extended to include additional message structure types. The definition of SML_MessageBody retains the previous types of structures defined in SML (IDs from 0x00000100 to 0x0000FF01).

SML_MessageBody ::= CHOICE{

OpenRequest [0x00000100] SML_PublicOpen.ReqOpenResponse [0x00000101] SML_PublicOpen.ResCloseRequest [0x00000200] SML_PublicClose.ReqCloseResponse [0x00000201] SML_PublicClose.ResGetProfilePackRequest [0x00000300] SML_GetProfilePack.ReqGetProfilePackResponse [0x00000301] SML_GetProfilePack.ResGetProfileListRequest [0x00000400] SML_GetProfileList.ReqGetProfileListResponse [0x00000401] SML_GetProfileList.ResGetProcParameterRequest [0x00000500] SML_GetProcParameter.ReqGetProcParameterResponse [0x00000501] SML_GetProcParameter.ResSetProcParameterRequest [0x00000600] SML_SetProcParameter.ReqSetProcParameterResponse [0x00000601] SML_SetProcParameter.ResAttentionResponse [0x0000FF01] SML_Attention.ResDCFirmwareRequest [0x10000300] DCFirmware.ReqDCGetParamRequest [0x10000400] DCGetParam.ReqDCGetParamResponse [0x10000401] DCGetParam.ResDCSetParamRequest [0x10000500] DCSetParam.ReqDCSubscribeRequest [0x10000600] DCSubscribe.ReqDCAttentionRequest [0x10000700] DCAttention.ReqDCAttentionResponse [0x10000701] DCAttention.ResDCMeterGetDataRequest [0x10000800] DCMeterGetData.ReqDCMeterGetDataResponse [0x10000801] DCMeterGetData.ResDCMeterGetParamRequest [0x10000900] DCMeterGetParam.ReqDCMeterGetParamResponse [0x10000901] DCMeterGetParam.ResDCMeterSetParamRequest [0x10001000] DCMeterSetParam.ReqDCMeterTransparentRequest [0x10001100] DCMeterTransparent.ReqDCMeterTransparentResponse[0x10001101] DCMeterTransparent.ResDCMeterFirmwareRequest [0x10001200] DCMeterFirmware.ReqDCMeterAttentionResponse [0x10001301] DCMeterAttention.Res

}

5.2.2 Basic structures of DCSML dataThe basic structure of DCSML data with fundamental grammar structures of the SML protocol form the basis describing all the grammatical structures of DCSML queries and responses.

5.2.2.1 List_of_DCSML_ServerID

Structure of the data server ID list (LE).

List_of_DCSML_ServerID ::= SEQUENCE OF

Document title: Communication Standard Between AMI Application and Metering Infrastructure 53 z 94

{serverID OctetString

{

serverID Data server ID (LE).

5.2.2.2 DCSML_ServerIDData

Set of data returned for a particular LE

DCSML_ServerIDData ::= SEQUENCE{

serverID OctetStringheader_List List_of_SML_ProfObjHeaderEntryperiod_List List_of_SML_ProfObjPeriodEntry

}

serverID Data server ID (LE).

header_List List of headers describing a parameter (standard SML structure)

period_List List of parameter values (standard SML structure)

5.2.2.3 List_of_DCSML_ServerIDData

List of structures DCSML_ServerIDData.

List_of_DCSML_ServerIDData ::= SEQUENCE OF{

serverIDAnswers DCSML_ServerIDData}

5.2.2.4 DCSML_ServerIDParams

Set of information required to record specific parameters from a specified meter.

DCSML_ServerIDParams ::= SEQUENCE{

serverID OctetStringparameterTree SML_Tree

}

serverID Data server ID (LE).

parameterTree Tree of LE parameters with their values

5.2.2.5 List_of_DCSML_ServerIDParamsList of structures DCSML_ServerIDParams.

List_of_DCSML_ServerIDParams ::= SEQUENCE OF{

serverParams DCSML_ServerIDParams}

5.2.2.6 DCSML_MeterAttention

Document title: Communication Standard Between AMI Application and Metering Infrastructure 54 z 94

Attention message from a single LE.

DCSML_MeterAttention ::= SEQUENCE{

serverID OctetStringattentionNo OctetStringattentionDetails SML_Tree OPTIONAL

}

serverID Data server ID (LE).

attentionNo Code of message transmitted by that message.

attentionDetails Structure enabling the transfer of additional attributes that are required in a given case.

5.2.2.7 List_of_DCSML_MeterAttention

List of messages DCSML_MeterAttention for a specified group of (multiple) LEs.

List_of_DCSML_MeterAttention ::= SEQUENCE OF{

meterStatus DCSML_MeterAttention}

5.2.2.8 DCSML_CycleTimeDCSML_ReadCycleTime ::= CHOICE{

cycle 0x01 SML Timedayofmonth 0x02 Unsigned8

}

5.2.2.9 DCSML_IndexTimeDCSML_IndexTime ::= CHOICE{

time 0x01 SML Timeindex 0x02 Unsigned16

}

5.2.3 DCSML Functions – associated with the operation of a concentrator

5.2.3.1 DCFirmwareDCFirmware.Req ::= SEQUENCE{

priority Unsigned8startTime SML_TimerawData Octet String

}

Document title: Communication Standard Between AMI Application and Metering Infrastructure 55 z 94

priority Task priority.

startTime Date when KDL is to reload the firmware.

rawData Raw data – package of data containing firmware for KDL.

5.2.3.2 DCGetParamDCGetParam.Req ::= SEQUENCE{

priority Unsigned8parameterTreePath SML_TreePath

}DCGetParam.Res ::= SEQUENCE{

parameterTreePath SML_TreePathparameterTree SML_Tree

}

priority Task priority.

parameterTreePath KDL parameter tree.

parameterTree Parameter tree with parameter values.

5.2.3.3 DCSetParamDCSetParam.Req ::= SEQUENCE{

priority Unsigned8function Unsigned8startTime SML_Time OPTIONALparameterTreePath SML_TreePathparameterTree SML_Tree

}

priority Task priority.

function Code specifying the actions to be performed: e.g. creation and configuration of a new object, modification of parameter values, object removal (bit encoding, which means that it is several commands can be made with a single command).

startTime Date indicating the time when KDL should change the settings.

parameterTreePath IDs of KDL parameters to be set.

parameterTree Values of KDL parameters to be set.

5.2.3.4 DCSubscribeDCSubscribe.Req ::= SEQUENCE{

priority Unsigned8

Document title: Communication Standard Between AMI Application and Metering Infrastructure 56 z 94

listserverID List_of_DCSML_ServerIDsubscribeID Octet Stringfunction Unsigned8beginTime SML_Time OPTIONALendTime SML_Time OPTIONALreadCycleTime DCSML_CycleTimesendCycleTime DCSML_CycleTime OPTIONALdataTreePath SML_TreePath OPTIONALdataTree SML_Tree OPTIONAL

}

priority Task priority

listserverID List of data servers (LE), for which subscription is to be created, changed, deactivated or removed.

subscribeID Subscription ID.

Function Code indicating the actions to be performed on the definition of the subscription.

beginTime Beginning time of the subscription period (commencement of subscription); if the parameter is not stated then the concentrator then the concentrator should begin subscription when the order is received.

endTime End time of the subscription period (end of subscription); if the parameter is not stated then the concentrator then the concentrator should continue subscription until it is canceled or deactivated.

readCycleTime Parameter to be entered: subscription cycle (time interval in minutes or a specific day of the month).

SendCycleTime Parameter to be entered: collected data sending cycle (time interval in minutes or a specific day of the month). If the parameter is not stated then data will be sent immediately after they are collected.

dataTreePath IDs of configured LE parameters or subscribed data.

dataTree Values of LE parameters to be set in subscription.

5.2.3.5 DCAttentionDCAttention.Req ::= SEQUENCE{

priority Unsigned8attentionNo OctetStringattentionDetails SML_Tree OPTIONAL

}

DCAttention.Res ::= SEQUENCE{

priority Unsigned8attentionNo OctetStringattentionDetails SML_Tree OPTIONAL

}

Document title: Communication Standard Between AMI Application and Metering Infrastructure 57 z 94

priority Task priority.

attentionNo Code of message transmitted by that DCAttention message.

attentionDetails Structure enabling the transfer of additional attributes that are required in a given case.

5.2.4 DCSML functions – associated with the operation of a meter

5.2.4.1 DCMeterGetDataDCMeterGetData.Req ::= SEQUENCE{

priority Unsigned8subscribeID Octet String OPTIONALlistserverID List_of_DCSML_ServerIDbeginindextime DCSML_IndexTimeendindextime DCSML_IndexTimeparameterTreePath SML_TreePath OPTIONAL

}DCMeterGetData.Res ::= SEQUENCE{

subscribeID Octet String OPTIONALparameterTreePath SML_TreePathlistserverIDData List_of_DCSML_ServerIDData

}

priority Task priority.

subscribeID Subscription iD (optional parameter).

listserverID List of data servers (LE).

beginindextime Beginning time of the queried period or initial data index.

endindextime End time of the queried period or final data index.

parameterTreePath LE parameter tree.

listserverIDData List of responses with data from servers (LE).

5.2.4.2 DCMeterGetParamDCMeterGetParam.Req ::= SEQUENCE{

priority Unsigned8listserverID List_of_DCSML_ServerIDparameterTreePath SML_TreePath

}DCMeterGetParam.Res ::= SEQUENCE{

parameterTreePath SML_TreePathlistserverIDParams List_of_DCSML_ServerIDParams

}

listserverID List of data servers (LE).

Document title: Communication Standard Between AMI Application and Metering Infrastructure 58 z 94

parameterTreePath LE parameter tree.

listserverIDParams List of responses with parameters from servers (LE).

5.2.4.3 DCMeterSetParamDCMeterSetParam.Req ::= SEQUENCE{

priority Unsigned8function Unsigned8startTime SML_Time OPTIONALparameterTreePath SML_TreePathlistserverParams List_of_DCSML_ServerIDParams

}

priority Task priority.

function Code specifying the actions to be performed: e.g. creation and configuration of a new COSEM object, modification of parameter values, COSEM object removal; action call (bit encoding, which means that it is several commands can be made with a single command).

startTime Date when LEs are to change the settings. If the parameter is not set parameter switching occurs immediately.

parameterTreePath LE parameter tree.

listserverParams List of LEs with the list of parameters read from LE.

5.2.4.4 DCMeterTransparentDCMeterTransparent.Req ::= SEQUENCE{

priority Unsigned8serverID Octet StringrawData Octet String

}DCMeterTransparent.Res ::= SEQUENCE{

serverID Octet StringrawData Octet String

}

priority Task priority.

serverID Data server ID (LE).

rawData Raw data – package of data to be sent to LE (or a response from LE) in the APDU DLMS format.

5.2.4.5 DCMeterFirmwareDCMeterFirmware.Req ::= SEQUENCE

Document title: Communication Standard Between AMI Application and Metering Infrastructure 59 z 94

{priority Unsigned8listserverID List_of_DCSML_ServerIDstartTime SML_TimerawData Octet String

}

priority Task priority.

listserverID List of data servers (LE).

startTime Date specifying when LE is to reload the firmware.

rawData Raw data – package of data containing firmware for LE.

meterList List of the structure describing the LE firmware replacement status.

5.2.4.6 DCMeterAttentionResponseDCMeterAttention.Res ::= SEQUENCE{

attentionID List_of_DCSML_MeterAttention}

attentionID List of messages from multiple LE meters

Document title: Communication Standard Between AMI Application and Metering Infrastructure 60 z 94

6 Examples of queries and responses in DCSML (in APDU and source forms)

This chapter presents sample test data used in the tests and the resulting APDU. All the examples pertain to the DCSML language.

The APDU examples presented in this appendix were generated using a tool written in Java. The tool works in such a way that, based on a definition in ASN.1, objects for individual APDUs are created in the application and populated with data. Then a file with APDU is generated. The tool based on a generally available freeware library is described in document P.1.4., item 7.4.

The APDUs presented below were generated for 1 and 5 meters in the following situations (x meaning the number of meters):

1. Query for a single value and its reading (hereinafter denoted as x-1-1).2. Query for a profile with a single value (a column) and a reading of a 15-minute hourly profile

(4 readings recorded every 15 minutes) (hereinafter denoted as x-1-4).3. Query for 5 values and their reading (hereinafter denoted as x-5-1).4. Query for a profile with a 5 values (columns) and a reading of a 15-minute hourly profile (4

readings recorded every 15 minutes) (hereinafter denoted as x-5-4).

The document contains the following examples:

1. Contents of the ASN.1 definition file which was used to generate the examples included in this document.

2. Documentation of the cases listed above for 1 and 5 meters.a. APDU queries in a hexadecimal form and, for easier analysis, in a parenthesis form.b. APDU responses in a hexadecimal and parenthesis form.c. For easier analysis in the parenthesis form, the numbers (time and data) were recoded

to a hexadecimal form.

It should be noted that the tools used offer encoding to a standard BER format. The SML standard used slightly optimized BER encoding – where possible, Type and Length are encoded in a single byte. This offers potentially additional possibilities to reduce the size of the APDU file.

6.1 ASN.1 definitionBelow you will find the definition of grammar used to generate the examples provided underneath. The definition is given in the ASN.1 notation

DCSMLTest DEFINITIONS AUTOMATIC TAGS ::= BEGIN

INTEGER8 ::= INTEGER (-128..127)UNSIGNED8 ::= INTEGER (0..255)UNSIGNED16 ::= INTEGER (0..65535)UNSIGNED32 ::= INTEGER (0..4294967295)UNSIGNED64 ::= UNSIGNED32

SMLPublicOpen-Req ::= SEQUENCE{

clientId OCTET STRING,

Document title: Communication Standard Between AMI Application and Metering Infrastructure 61 z 94

serverId OCTET STRING OPTIONAL}

SMLPublicOpen-Res ::= SEQUENCE{

clientId OCTET STRING,serverId OCTET STRING OPTIONAL

}

DCMeterGetData-Req ::= SEQUENCE{

listserverID List-of-DCSML-ServerID,subscribeID OCTET STRING OPTIONAL,questionID UNSIGNED32,answerID UNSIGNED16,beginTime UNSIGNED32 OPTIONAL,endTime UNSIGNED32 OPTIONAL,parameterTreePath SMLTreePath

}

DCMeterGetData-Res ::= SEQUENCE{

subscribeID OCTET STRING OPTIONAL,questionID UNSIGNED32,answerID UNSIGNED16,parameterTreePath SMLTreePath,listserverIDAnswers List-of-DCSML-ServerIDAnswers

}

SMLPublicClose-Req ::= SEQUENCE{

globalSignature SMLSignature OPTIONAL}

SMLPublicClose-Res ::= SEQUENCE{

globalSignature SMLSignature OPTIONAL}

SMLTreePath ::= SEQUENCE OF OCTET STRING

ListOfSMLHeader ::= SEQUENCE OF SMLHeaderEntry

ListOfSMLPeriod ::= SEQUENCE OF SMLProfObjPeriodEntry

SMLProfObjPeriodEntry ::= SEQUENCE

{valTime UNSIGNED32,status UNSIGNED64,valueList ListOfSMLValueEntry

}

ListOfSMLValueEntry ::= SEQUENCE OF UNSIGNED16

SMLHeaderEntry ::= SEQUENCE{

objName OCTET STRING,unit INTEGER8,scaler INTEGER8

}

SMLSignature ::= OCTET STRING

List-of-DCSML-ServerID ::= SEQUENCE OF OCTET STRING

List-of-DCSML-ServerIDAnswers ::= SEQUENCE OF DCSML-ServerIDAnswers

Document title: Communication Standard Between AMI Application and Metering Infrastructure 62 z 94

DCSML-ServerIDAnswers ::= SEQUENCE{

serverID OCTET STRING,header-List SEQUENCE OF SMLHeaderEntry,period-List SEQUENCE OF SMLProfObjPeriodEntry

}Figure 36: Definition of grammar in ASN.1 notation

6.2 Examples

6.2.1 Example 1-1-1

6.2.1.1 Queryoffset 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ascii

00000000 30 24 80 10 43 4C 49 45 4E 54 2D 5A 33 44 57 59 0$€.CLIENT-Z3DWY00000010 34 34 35 35 81 10 53 45 52 56 45 52 2D 5A 55 31 4455 �.SERVER-ZU100000020 54 4B 44 54 57 42 30 33 A0 12 04 10 53 45 52 56 TKDTWB03 ...SERV00000030 45 52 2D 52 56 4C 47 35 39 55 31 34 82 04 0F 89 ER-RVLG59U14‚..‰00000040 35 E6 83 02 55 31 84 04 4D F0 9F FF 85 04 4D F0 5ć�.U1„.Mđź˙….Mđ00000050 A3 83 A6 07 04 05 31 2E 38 2E 30 30 00 00 00 00 Ł¦� ...1.8.00....

Figure 37: Response 1-1-4 in the APDU form

The figure above shows the contents of the generated APDU in a hexadecimal and a character form. BER encoding has been applied, more precisely: encoding implemented in a generally available "ASN.1 to Java Compiler" tool by ASNLab.

A description of the contents of that APDU follows; accuracy according to data that could be identified:

30 SEQUENCE SMLPublicOpen-Req24 number of bytes in SEQUENCE (36)80 unidentified10 number of bytes in clientId (16)43 to 35 clientId (CLIENT-Z3DWY4455)81 unidentified10 number of bytes in serverId (16) (SERVER-ZU1TKDTWB03)30 SEQUENCE DCMeterGetData-Req33 number of bytes in SEQUENCE (51)A0 SEQUENCE OF listserverID12 number of bytes in SEQUENCE OF (18)04 unidentified10 number of bytes of the first (and in this case the last)

element of listserverID (16)53 to 34 first element of listserverID (SERVER-RVLG59U14)82 unidentified04 number of bytes in questionID (4)0F to E6 questionID (260650470)83 unidentified02 number of bytes in answerID (2)55 31 answerID (21809)84 unidentified04 number of bytes in beginTime (4)4D to FF beginTime (1307615231)85 unidentified04 number of bytes in endTime (4)4D to 83 endTime (1307616131)A6 SEQUENCE OF parameterTreePath

Document title: Communication Standard Between AMI Application and Metering Infrastructure 63 z 94

07 number of bytes in SEQUENCE OF (7)04 unidentified05 number of bytes of the first (and in this case the last)

element of parameterTreePath (5)31 to 30 OBIS code (1.8.0)30 SEQUENCE SMLPublicClose-Req00 number of bytes in SEQUENCE (0)00 end of data00 00 00 supplementation to the multiple of 4 bytes

It should be stressed again that in the case of DCSML a slightly more efficient APDU encoding will be used, applied to APDU in the SML language.

SMLPublicOpen_Req {CLIENT-Z3DWY4455,SERVER-ZU1TKDTWB,

}DCMeterGetData_Req {

listserverID {SERVER-RVLG59U14,

}260650470 [HEX: 0F 89 35 E6],21809 [HEX: 55 31],1307615231 [HEX: 4D F0 9F FF] (Thu Jun 09 12:27:11 CEST 2011),1307616131 [HEX: 4D F0 A3 83] (Thu Jun 09 12:42:11 CEST 2011),parameterTreePath {

1.8.0,}

}SMLPublicClose_Req {}

Figure 38: Query 1-1-1 in ASN.1 notation

6.2.1.2 Responseoffset 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ascii

00000000 30 24 80 10 43 4C 49 45 4E 54 2D 5A 33 44 57 59 0$€.CLIENT-Z3DWY00000010 34 34 35 35 81 10 53 45 52 56 45 52 2D 5A 55 31 4455 �.SERVER-ZU100000020 54 4B 44 54 57 42 30 4D 81 04 50 29 4B 35 82 02 TKDTWB0M �.P)K5‚.00000030 4E 97 A3 07 04 05 31 2E 38 2E 30 A4 38 30 36 80 N—Ł...1.8.0¤806€00000040 10 53 45 52 56 45 52 2D 52 56 4C 47 35 39 55 31 .SERVER-RVLG59U100000050 34 A1 0F 30 0D 80 05 31 2E 38 2E 30 81 01 05 82 4ˇ.0.€.1.8.0 �..‚00000060 01 01 A2 11 30 0F 80 04 4D F0 9F FF 81 01 08 A2 ..˘.0.€.Mđź˙ �..˘00000070 04 02 02 6B 0B 30 00 00 00 00 00 00 00 00 00 00 ...k.0..........

Figure 39: Response 1-1-1 in the APDU form

SMLPublicOpen_Res {CLIENT-Z3DWY4455,SERVER-ZU1TKDTWB,

}DCMeterGetData_Res {

1344883509 [HEX: 50 29 4B 35],20119 [HEX: 4E 97],parameterTreePath {

1.8.0,

Document title: Communication Standard Between AMI Application and Metering Infrastructure 64 z 94

}DCSML_ServerIDAnswers {

SERVER-RVLG59U14,{

SMLHeaderEntry { 1.8.0, 5, 1 }}{

SMLProfObjPeriodEntry {1307615231 [HEX: 4D F0 9F FF] (Thu Jun 09 12:27:11 CEST

2011),8,{

27403 [HEX: 6B 0B],}

}}

}}SMLPublicClose_Res {}

Figure 40: Response 1-1-1 in ASN.1 notation

6.2.2 Example 1-1-4

6.2.2.1 Queryoffset 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ascii

00000000 30 24 80 10 43 4C 49 45 4E 54 2D 38 5A 4A 31 34 0$€.CLIENT-8ZJ1400000010 49 45 56 42 81 10 53 45 52 56 45 52 2D 43 4F 47 IEVB �.SERVER-COG00000020 39 34 49 32 36 45 30 33 A0 12 04 10 53 45 52 56 94I26E03 ...SERV00000030 45 52 2D 55 4D 36 30 4A 4D 59 44 34 82 04 5B 25 ER-UM60JMYD4‚.[%00000040 A6 88 83 02 17 C3 84 04 4D F0 A5 CF 85 04 4D F0 ¦��..Ă„.MđĄĎ….Mđ00000050 B3 DF A6 07 04 05 31 2E 38 2E 30 30 00 00 00 00 łß¦...1.8.00....

Figure 41: Response 1-1-4 in the APDU form

SMLPublicOpen_Req {CLIENT-8ZJ14IEVB,SERVER-COG94I26E,

}DCMeterGetData_Req {

listserverID {SERVER-UM60JMYD4,

}1529194120 [HEX: 5B 25 A6 88],6083 [HEX: 17 C3],1307616719 [HEX: 4D F0 A5 CF] (Thu Jun 09 12:51:59 CEST 2011),1307620319 [HEX: 4D F0 B3 DF] (Thu Jun 09 13:51:59 CEST 2011),parameterTreePath {

1.8.0,}

}SMLPublicClose_Req {}

Figure 42: Query 1-1-4 in ASN.1 notation

6.2.2.2 Response

Document title: Communication Standard Between AMI Application and Metering Infrastructure 65 z 94

offset 0 1 2 3 4 5 6 7 8 910

11

12

13 14

15 ascii

00000000

30

24

80

10

43

4C

49

45

4E

54

2D

38

5A

4A 31

34

0$€.CLIENT-8ZJ14

00000010

49

45

56

42

81

10

53

45

52

56

45

52

2D

43 4F

47 IEVB�.SERVER-COG

00000020

39

34

49

32

36

45

30

81

82

81

04

49

48

55 C4

82 94I26E0‚� �.IHUÄ‚

00000030

02

65

9A

A3

07

04

05

31

2E

38

2E

30

A4

6D 30

6B

.ešŁ...1.8.0¤m0k

00000040

80

10

53

45

52

56

45

52

2D

55

4D

36

30

4A 4D

59

€.SERVER-UM60JMY

00000050

44

34

A1

0F

30

0D

80

05

31

2E

38

2E

30

81 01

05 D4ˇ.0.€.1.8.0 �..

00000060

82

01

01

A2

46

30

10

80

04

4D

F0

A5

CF

81 01

08 ‚..˘F0.€.MđĄĎ �..

00000070

A2

05

02

03

00

D6

28

30

0F

80

04

4D

F0

A9 53

81 ˘....Ö(0.€.Mđ©S �

00000080

01

08

A2

04

02

02

2B

CA

30

10

80

04

4D

F0

MOD

D7

..˘...+Ę0.€.Mđ¬×

00000090

81

01

08

A2

05

02

03

00

9D

8F

30

0F

80

04 4D

F0 �..˘....ťŹ0.€.Mđ

000000A0

B0

5B

81

01

08

A2

04

02

02

59

8B

30

00

00 00

00 °[�..˘...Y‹0....

Figure 43: Response 1-1-4 in the APDU form

SMLPublicOpen_Res {CLIENT-8ZJ14IEVB,SERVER-COG94I26E,

}DCMeterGetData_Res {

1229477316 [HEX: 49 48 55 C4],26010 [HEX: 65 9A],parameterTreePath {

1.8.0,}DCSML_ServerIDAnswers {

SERVER-UM60JMYD4,{

SMLHeaderEntry { 1.8.0, 5, 1 }}{

SMLProfObjPeriodEntry {1307616719 [HEX: 4D F0 A5 CF] (Thu Jun 09 12:51:59 CEST

2011),8,{

54824 [HEX: D6 28],}

}SMLProfObjPeriodEntry {

1307617619 [HEX: 4D F0 A9 53] (Thu Jun 09 1:06:59 PM CEST 2011),

8,{

11210 [HEX: 2B CA],}

}SMLProfObjPeriodEntry {

1307618519 [HEX: 4D F0 AC D7] (Thu Jun 09 13:21:59 CEST

Document title: Communication Standard Between AMI Application and Metering Infrastructure 66 z 94

2011),8,{

40335 [HEX: 9D 8F],}

}SMLProfObjPeriodEntry {

1307619419 [HEX: 4D F0 B0 5B] (Thu Jun 09 1:36:59 PM CEST 2011),

8,{

22923 [HEX: 59 8B],}

}}

}}SMLPublicClose_Res {}

Figure 44: Response 1-1-4 in ASN.1 notation

6.2.3 Example 1-5-1

6.2.3.1 Queryoffset 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ascii

00000000 30 24 80 10 43 4C 49 45 4E 54 2D 45 4B 4C 44 46 0$€.CLIENT-EKLDF00000010 4E 33 5A 50 81 10 53 45 52 56 45 52 2D 4F 4B 53 N3ZP �.SERVER-OKS00000020 4C 44 53 54 48 54 30 50 A0 12 04 10 53 45 52 56 LDSTHT0P ...SERV00000030 45 52 2D 47 54 45 35 31 4C 34 42 32 82 04 5D 0B ER-GTE51L4B2‚.].00000040 57 5C 83 03 00 9A F6 84 04 4D F0 A5 CF 85 04 4D W\�..šö„.MđĄĎ….M00000050 F0 A9 53 A6 23 04 05 31 2E 38 2E 30 04 05 32 2E đ©S¦#..1.8.0..2.00000060 38 2E 30 04 05 35 2E 38 2E 30 04 05 36 2E 38 2E 8.0..5.8.0..6.8.00000070 30 04 05 37 2E 38 2E 30 30 00 00 00 00 00 00 00 0..7.8.00.......

Figure 45: Response 1-5-4 in the APDU form

SMLPublicOpen_Req {CLIENT-EKLDFN3ZP,SERVER-OKSLDSTHT,

}DCMeterGetData_Req {

listserverID {SERVER-GTE51L4B2,

}1561024348 [HEX: 5D 0B 57 5C],39670 [HEX: 9A F6],1307616719 [HEX: 4D F0 A5 CF] (Thu Jun 09 12:51:59 CEST 2011),1307617619 [HEX: 4D F0 A9 53] (Thu Jun 09 1:06:59 PM CEST 2011),parameterTreePath {

1.8.0,2.8.0,5.8.0,6.8.0,7.8.0,

}

Document title: Communication Standard Between AMI Application and Metering Infrastructure 67 z 94

}SMLPublicClose_Req {}

Figure 46: Query 1-5-1 in ASN.1 notation

6.2.3.2 Response00000000 30 24 80 10 43 4C 49 45 4E 54 2D 45 4B 4C 44 46 0$€.CLIENT-EKLDF00000010 4E 33 5A 50 81 10 53 45 52 56 45 52 2D 4F 4B 53 N3ZP �.SERVER-OKS00000020 4C 44 53 54 48 54 30 81 BA 81 04 7C ED 10 F9 82 LDSTHT0ş� �.|í.ů‚00000030 03 00 98 63 A3 23 04 05 31 2E 38 2E 30 04 05 32 ..�cŁ#..1.8.0..200000040 2E 38 2E 30 04 05 35 2E 38 2E 30 04 05 36 2E 38 .8.0..5.8.0..6.800000050 2E 30 04 05 37 2E 38 2E 30 A4 81 87 30 81 84 80 .0..7.8.0¤‡� 0„€�00000060 10 53 45 52 56 45 52 2D 47 54 45 35 31 4C 34 42 .SERVER-GTE51L4B00000070 32 A1 4B 30 0D 80 05 31 2E 38 2E 30 81 01 05 82 2ˇK0.€.1.8.0 �..‚00000080 01 01 30 0D 80 05 32 2E 38 2E 30 81 01 07 82 01 ..0.€.2.8.0 �..‚.00000090 01 30 0D 80 05 35 2E 38 2E 30 81 01 08 82 01 01 .0.€.5.8.0 �..‚..000000A0 30 0D 80 05 36 2E 38 2E 30 81 01 04 82 01 01 30 0.€.6.8.0 �..‚..0000000B0 0D 80 05 37 2E 38 2E 30 81 01 01 82 01 01 A2 23 .€.7.8.0 �..‚..˘#000000C0 30 21 80 04 4D F0 A5 CF 81 01 08 A2 16 02 02 55 0!€.MđĄĎ �..˘...U000000D0 46 02 02 50 D1 02 03 00 BE F1 02 02 0A 2F 02 03 F..PŃ...ľń.../..000000E0 00 D9 D2 30 00 00 00 00 00 00 00 00 00 00 00 00 .ŮŇ0............

Figure 47: Response 1-5-1 in the APDU form

SMLPublicOpen_Res {CLIENT-EKLDFN3ZP,SERVER-OKSLDSTHT,

}DCMeterGetData_Res {

2095911161 [HEX: 7C ED 10 F9],39011 [HEX: 98 63],parameterTreePath {

1.8.0,2.8.0,5.8.0,6.8.0,7.8.0,

}DCSML_ServerIDAnswers {

SERVER-GTE51L4B2,{

SMLHeaderEntry { 1.8.0, 5, 1 }SMLHeaderEntry { 2.8.0, 7, 1 }SMLHeaderEntry { 5.8.0, 8, 1 }SMLHeaderEntry { 6.8.0, 4, 1 }SMLHeaderEntry { 7.8.0, 1, 1 }

}{

SMLProfObjPeriodEntry {1307616719 [HEX: 4D F0 A5 CF] (Thu Jun 09 12:51:59 CEST

2011),8,{

21830 [HEX: 55 46],

Document title: Communication Standard Between AMI Application and Metering Infrastructure 68 z 94

20689 [HEX: 50 D1],48881 [HEX: BE F1],2607 [HEX: 0A 2F],55762 [HEX: D9 D2],

}}

}}

}SMLPublicClose_Res {}

Figure 48: Response 1-5-1 in ASN.1 notation

Document title: Communication Standard Between AMI Application and Metering Infrastructure 69 z 94

6.2.4 Example 1-5-4

6.2.4.1 Queryoffset 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ascii

00000000 30 24 80 10 43 4C 49 45 4E 54 2D 56 34 56 41 35 0$€.CLIENT-V4VA500000010 4E 38 48 34 81 10 53 45 52 56 45 52 2D 38 41 32 N8H4 �.SERVER-8A200000020 4A 49 56 32 44 33 30 4F A0 12 04 10 53 45 52 56 JIV2D30O ...SERV00000030 45 52 2D 39 49 31 53 44 41 44 33 53 82 04 52 F7 ER-9I1SDAD3S‚.R÷00000040 E8 FF 83 02 5E E9 84 04 4D F0 A5 CF 85 04 4D F0 č˙�.^é„.MđĄĎ….Mđ00000050 B3 DF A6 23 04 05 31 2E 38 2E 30 04 05 32 2E 38 łß¦#..1.8.0..2.800000060 2E 30 04 05 35 2E 38 2E 30 04 05 36 2E 38 2E 30 .0..5.8.0..6.8.000000070 04 05 37 2E 38 2E 30 30 00 00 00 00 00 00 00 00 ..7.8.00........

Figure 49: Response 1-5-4 in the APDU form

SMLPublicOpen_Req {CLIENT-V4VA5N8H4,SERVER-8A2JIV2D3,

}DCMeterGetData_Req {

listserverID {SERVER-9I1SDAD3S,

}1391978751 [HEX: 52 F7 E8 FF],24297 [HEX: 5E E9],1307616719 [HEX: 4D F0 A5 CF] (Thu Jun 09 12:51:59 CEST 2011),1307620319 [HEX: 4D F0 B3 DF] (Thu Jun 09 13:51:59 CEST 2011),parameterTreePath {

1.8.0,2.8.0,5.8.0,6.8.0,7.8.0,

}}SMLPublicClose_Req {}

Figure 50: Query 1-5-4 in ASN.1 notation

Document title: Communication Standard Between AMI Application and Metering Infrastructure 70 z 94

6.2.4.2 Response

offset 0 1 2 3 4 5 6 7 8 910

11

12

13

14

15 ascii

00000000 30

24

80

10

43

4C

49

45

4E

54

2D

56

34

56

41

35

0$€.CLIENT-V4VA5

00000010 4E

38

48

34

81

10

53

45

52

56

45

52

2D

38

41

32 N8H4�.SERVER-8A2

00000020 4A

49

56

32

44

33

30

82

01

26

81

04

12

96

6D

57 JIV2D30‚.& �..–mW

00000030 82

02

02

0E

A3

23

04

05

31

2E

38

2E

30

04

05

32

‚...Ł#..1.8.0..2

00000040 2E

38

2E

30

04

05

35

2E

38

2E

30

04

05

36

2E

38

.8.0..5.8.0..6.8

00000050 2E

30

04

05

37

2E

38

2E

30

A4

81

F4

30

81

F1

80 .0..7.8.0¤ô� 0ń€�

00000060 10

53

45

52

56

45

52

2D

39

49

31

53

44

41

44

33

.SERVER-9I1SDAD3

00000070 53

A1

4B

30

0D

80

05

31

2E

38

2E

30

81

01

05

82 SˇK0.€.1.8.0 �..‚

00000080 01

01

30

0D

80

05

32

2E

38

2E

30

81

01

07

82

01 ..0.€.2.8.0 �..‚.

00000090 01

30

0D

80

05

35

2E

38

2E

30

81

01

08

82

01

01 .0.€.5.8.0 �..‚..

000000A0 30

0D

80

05

36

2E

38

2E

30

81

01

04

82

01

01

30 0.€.6.8.0 �..‚..0

000000B0 0D

80

05

37

2E

38

2E

30

81

01

01

82

01

01

A2

81 .€.7.8.0 �..‚..˘�

000000C0 8F

30

22

80

04

4D

F0

A5

CF

81

01

08

A2

17

02

02 Ź0"€.MđĄĎ �..˘...

000000D0 17

61

02

03

00

83

A0

02

03

00

8C

43

02

03

00

B3 .a... � ...ŚC...ł

000000E0 51

02

02

10

33

30

23

80

04

4D

F0

A9

53

81

01

08 Q...30#€.Mđ©S �..

000000F0 A2

18

02

03

00

CD

E3

02

02

04

92

02

03

00

94

CD

˘....Üă...’...”Ü

00000100 02

03

00

99

C8

02

03

00

9B

BC

30

20

80

04

4D

F0

...™Č...›Ľ0 €.Mđ

00000110

MOD

D7

81

01

08

A2

15

02

02

1F

1D

02

02

2A

0C

02 ¬×�..˘.......*..

00000120 02

4A

65

02

03

00

88

7D

02

02

48

D3

30

22

80

04 .Je... �}..HÓ0"€.

00000130 4D

F0

B0

5B

81

01

08

A2

17

02

03

00

C3

09

02

02 Mđ°[�..˘....Ă...

00000140 26

7E

02

03

00

E4

38

02

03

00

A3

71

02

02

58

7B

&~...ä8...Łq..X{

00000150 30

00

00

00

00

00

00

00

00

00

00

00

00

00

00

00

0...............

Figure 51: Response 1-5-4 in the APDU form

SMLPublicOpen_Res {CLIENT-V4VA5N8H4,SERVER-8A2JIV2D3,

}DCMeterGetData_Res {

311848279 [HEX: 12 96 6D 57],526 [HEX: 02 0E],parameterTreePath {

1.8.0,2.8.0,5.8.0,6.8.0,

Document title: Communication Standard Between AMI Application and Metering Infrastructure 71 z 94

7.8.0,}DCSML_ServerIDAnswers {

SERVER-9I1SDAD3S,{

SMLHeaderEntry { 1.8.0, 5, 1 }SMLHeaderEntry { 2.8.0, 7, 1 }SMLHeaderEntry { 5.8.0, 8, 1 }SMLHeaderEntry { 6.8.0, 4, 1 }SMLHeaderEntry { 7.8.0, 1, 1 }

}{

SMLProfObjPeriodEntry {1307616719 [HEX: 4D F0 A5 CF] (Thu Jun 09 12:51:59 CEST

2011),8,{

5985 [HEX: 17 61],33696 [HEX: 83 A0],35907 [HEX: 8C 43],45905 [HEX: B3 51],4147 [HEX: 10 33],

}}SMLProfObjPeriodEntry {

1307617619 [HEX: 4D F0 A9 53] (Thu Jun 09 1:06:59 PM CEST 2011),

8,{

56547 [HEX: DC E3],1170 [HEX: 04 92],38108 [HEX: 94 DC],39368 [HEX: 99 C8],39868 [HEX: 9B BC],

}}SMLProfObjPeriodEntry {

1307618519 [HEX: 4D F0 AC D7] (Thu Jun 09 13:21:59 CEST 2011),

8,{

7965 [HEX: 1F 1D],10764 [HEX: 2A 0C],19045 [HEX: 4A 65],34941 [HEX: 88 7D],18643 [HEX: 48 D3],

}}SMLProfObjPeriodEntry {

1307619419 [HEX: 4D F0 B0 5B] (Thu Jun 09 1:36:59 PM CEST 2011),

8,{

49929 [HEX: C3 09],9854 [HEX: 26 7E],58424 [HEX: E4 38],41841 [HEX: A3 71],

Document title: Communication Standard Between AMI Application and Metering Infrastructure 72 z 94

22651 [HEX: 58 7B],}

}}

}}SMLPublicClose_Res {}

Figure 52: Response 1-5-4 in ASN.1 notation

6.2.5 Example 5-1-1

6.2.5.1 Query

offset 0 1 2 3 4 5 6 7 8 910

11

12

13

14

15 ascii

00000000

30

24

80

10

43

4C

49

45

4E

54

2D

4C

4A

32

54

59

0$€.CLIENT-LJ2TY

00000010

5A

5A

4C

52

81

10

53

45

52

56

45

52

2D

4D

56

48 ZZLR �.SERVER-MVH

00000020

4F

35

37

35

43

52

30

7C

A0

5A

04

10

53

45

52

56

O575CR0| Z..SERV

00000030

45

52

2D

31

30

32

46

58

57

4F

5A

53

04

10

53

45

ER-102FXWOZS..SE

00000040

52

56

45

52

2D

35

33

32

55

56

55

51

32

51

04

10

RVER-532UVUQ2Q..

00000050

53

45

52

56

45

52

2D

30

51

33

59

41

59

36

4F

33

SERVER-0Q3YAY6O3

00000060

04

10

53

45

52

56

45

52

2D

49

47

4D

49

4A

4A

45

..SERVER-IGMIJJE

00000070

38

39

04

10

53

45

52

56

45

52

2D

42

4B

45

43

52

89..SERVER-BKECR

00000080

31

46

43

36

82

04

25

93

B7

52

83

03

00

D5

4C

84 1FC6‚.%“·R �..ŐL„

00000090

04

4D

F0

A5

CF

85

04

4D

F0

A9

53

A6

07

04

05

31

.MđĄĎ….Mđ©S¦...1

000000A0

2E

38

2E

30

30

00

00

00

00

00

00

00

00

00

00

00

.8.00..........

.Figure 53: Response 5-1-4 in the APDU form

SMLPublicOpen_Req {CLIENT-LJ2TYZZLR,SERVER-MVHO575CR,

}DCMeterGetData_Req {

listserverID {SERVER-102FXWOZS,SERVER-532UVUQ2Q,SERVER-0Q3YAY6O3,SERVER-IGMIJJE89,SERVER-BKECR1FC6,

}630437714 [HEX: 25 93 B7 52],54604 [HEX: D5 4C],1307616719 [HEX: 4D F0 A5 CF] (Thu Jun 09 12:51:59 CEST 2011),1307617619 [HEX: 4D F0 A9 53] (Thu Jun 09 1:06:59 PM CEST 2011),parameterTreePath {

1.8.0,}

}

Document title: Communication Standard Between AMI Application and Metering Infrastructure 73 z 94

SMLPublicClose_Req {}

Figure 54: Query 5-1-1 in ASN.1 notation

6.2.5.2 Responseoffset 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ascii

00000000 30 24 80 10 43 4C 49 45 4E 54 2D 4C 4A 32 54 59 0$€.CLIENT-LJ2TY00000010 5A 5A 4C 52 81 10 53 45 52 56 45 52 2D 4D 56 48 ZZLR �.SERVER-MVH00000020 4F 35 37 35 43 52 30 82 01 34 81 04 14 7F 04 A6 O575CR0‚.4 �...� ¦00000030 82 03 00 C2 29 A3 07 04 05 31 2E 38 2E 30 A4 82 ‚..Â)Ł...1.8.0¤‚00000040 01 1C 30 37 80 10 53 45 52 56 45 52 2D 31 30 32 ..07€.SERVER-10200000050 46 58 57 4F 5A 53 A1 0F 30 0D 80 05 31 2E 38 2E FXWOZSˇ.0.€.1.8.00000060 30 81 01 05 82 01 01 A2 12 30 10 80 04 4D F0 A5 0�..‚..˘.0.€.MđĄ00000070 CF 81 01 08 A2 05 02 03 00 CD 79 30 37 80 10 53 Ď�..˘....Üy07€.S00000080 45 52 56 45 52 2D 35 33 32 55 56 55 51 32 51 A1 ERVER-532UVUQ2Qˇ00000090 0F 30 0D 80 05 31 2E 38 2E 30 81 01 05 82 01 01 .0.€.1.8.0 �..‚..000000A0 A2 12 30 10 80 04 4D F0 A5 CF 81 01 08 A2 05 02 ˘.0.€.MđĄĎ �..˘..000000B0 03 00 98 0E 30 37 80 10 53 45 52 56 45 52 2D 30 ..�.07€.SERVER-0000000C0 51 33 59 41 59 36 4F 33 A1 0F 30 0D 80 05 31 2E Q3YAY6O3ˇ.0.€.1.000000D0 38 2E 30 81 01 05 82 01 01 A2 12 30 10 80 04 4D 8.0 �..‚..˘.0.€.M000000E0 F0 A5 CF 81 01 08 A2 05 02 03 00 F8 A2 30 36 80 đĄĎ �..˘....ř˘06€000000F0 10 53 45 52 56 45 52 2D 49 47 4D 49 4A 4A 45 38 .SERVER-IGMIJJE800000100 39 A1 0F 30 0D 80 05 31 2E 38 2E 30 81 01 05 82 9ˇ.0.€.1.8.0 �..‚00000110 01 01 A2 11 30 0F 80 04 4D F0 A5 CF 81 01 08 A2 ..˘.0.€.MđĄĎ �..˘00000120 04 02 02 58 6D 30 37 80 10 53 45 52 56 45 52 2D ...Xm07€.SERVER-00000130 42 4B 45 43 52 31 46 43 36 A1 0F 30 0D 80 05 31 BKECR1FC6ˇ.0.€.100000140 2E 38 2E 30 81 01 05 82 01 01 A2 12 30 10 80 04 .8.0 �..‚..˘.0.€.00000150 4D F0 A5 CF 81 01 08 A2 05 02 03 00 86 D9 30 00 MđĄĎ �..˘....†Ů0.

Figure 55: Response 5-1-1 in the APDU form

SMLPublicOpen_Res {CLIENT-LJ2TYZZLR,SERVER-MVHO575CR,

}DCMeterGetData_Res {

343868582 [HEX: 14 7F 04 A6],49705 [HEX: C2 29],parameterTreePath {

1.8.0,}DCSML_ServerIDAnswers {

SERVER-102FXWOZS,{

SMLHeaderEntry { 1.8.0, 5, 1 }}{

SMLProfObjPeriodEntry {1307616719 [HEX: 4D F0 A5 CF] (Thu Jun 09 12:51:59 CEST

2011),8,{

56441 [HEX: DC 79],}

}

Document title: Communication Standard Between AMI Application and Metering Infrastructure 74 z 94

}DCSML_ServerIDAnswers {

SERVER-532UVUQ2Q,{

SMLHeaderEntry { 1.8.0, 5, 1 }}{

SMLProfObjPeriodEntry {1307616719 [HEX: 4D F0 A5 CF] (Thu Jun 09 12:51:59 CEST

2011),8,{

38926 [HEX: 98 0E],}

}}

DCSML_ServerIDAnswers {SERVER-0Q3YAY6O3,{

SMLHeaderEntry { 1.8.0, 5, 1 }}{

SMLProfObjPeriodEntry {1307616719 [HEX: 4D F0 A5 CF] (Thu Jun 09 12:51:59 CEST

2011),8,{

63650 [HEX: F8 A2],}

}}

DCSML_ServerIDAnswers {SERVER-IGMIJJE89,{

SMLHeaderEntry { 1.8.0, 5, 1 }}{

SMLProfObjPeriodEntry {1307616719 [HEX: 4D F0 A5 CF] (Thu Jun 09 12:51:59 CEST

2011),8,{

22637 [HEX: 58 6D],}

}}

DCSML_ServerIDAnswers {SERVER-BKECR1FC6,{

SMLHeaderEntry { 1.8.0, 5, 1 }}{

SMLProfObjPeriodEntry {1307616719 [HEX: 4D F0 A5 CF] (Thu Jun 09 12:51:59 CEST

2011),8,{

Document title: Communication Standard Between AMI Application and Metering Infrastructure 75 z 94

34521 [HEX: 86 D9],}

}}

}}SMLPublicClose_Res {}

Figure 56: Response 5-1-1 in ASN.1 notation

6.2.6 Example 5-1-4

6.2.6.1 Queryoffset 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ascii

00000000 30 24 80 10 43 4C 49 45 4E 54 2D 4C 4A 32 54 59 0$€.CLIENT-LJ2TY00000010 5A 5A 4C 52 81 10 53 45 52 56 45 52 2D 4D 56 48 ZZLR �.SERVER-MVH00000020 4F 35 37 35 43 52 30 7C A0 5A 04 10 53 45 52 56 O575CR0| Z..SERV00000030 45 52 2D 31 30 32 46 58 57 4F 5A 53 04 10 53 45 ER-102FXWOZS..SE00000040 52 56 45 52 2D 35 33 32 55 56 55 51 32 51 04 10 RVER-532UVUQ2Q..00000050 53 45 52 56 45 52 2D 30 51 33 59 41 59 36 4F 33 SERVER-0Q3YAY6O300000060 04 10 53 45 52 56 45 52 2D 49 47 4D 49 4A 4A 45 ..SERVER-IGMIJJE00000070 38 39 04 10 53 45 52 56 45 52 2D 42 4B 45 43 52 89..SERVER-BKECR00000080 31 46 43 36 82 04 25 93 B7 52 83 03 00 D5 4C 84 1FC6‚.%“·Rƒ..ŐL„00000090 04 4D F0 A5 CF 85 04 4D F0 A9 53 A6 07 04 05 31 .MđĄĎ….Mđ©S¦...1000000A0 2E 38 2E 30 30 00 00 00 00 00 00 00 00 00 00 00 .8.00...........

Figure 57: Response 5-1-4 in the APDU form

Document title: Communication Standard Between AMI Application and Metering Infrastructure 76 z 94

SMLPublicOpen_Req {CLIENT-LJ2TYZZLR,SERVER-MVHO575CR,

}DCMeterGetData_Req {

listserverID {SERVER-102FXWOZS,SERVER-532UVUQ2Q,SERVER-0Q3YAY6O3,SERVER-IGMIJJE89,SERVER-BKECR1FC6,

}630437714 [HEX: 25 93 B7 52],54604 [HEX: D5 4C],1307616719 [HEX: 4D F0 A5 CF] (Thu Jun 09 12:51:59 CEST 2011),1307617619 [HEX: 4D F0 A9 53] (Thu Jun 09 1:06:59 PM CEST 2011),parameterTreePath {

1.8.0,}

}SMLPublicClose_Req {}

Figure 58: Query 5-1-4 in ASN.1 notation

6.2.6.2 Responseoffset 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ascii

00000000 30 24 80 10 43 4C 49 45 4E 54 2D 4C 4A 32 54 59 0$€.CLIENT-LJ2TY00000010 5A 5A 4C 52 81 10 53 45 52 56 45 52 2D 4D 56 48 ZZLR �.SERVER-MVH00000020 4F 35 37 35 43 52 30 82 01 34 81 04 14 7F 04 A6 O575CR0‚.4 �...� ¦00000030 82 03 00 C2 29 A3 07 04 05 31 2E 38 2E 30 A4 82 ‚..Â)Ł...1.8.0¤‚00000040 01 1C 30 37 80 10 53 45 52 56 45 52 2D 31 30 32 ..07€.SERVER-10200000050 46 58 57 4F 5A 53 A1 0F 30 0D 80 05 31 2E 38 2E FXWOZSˇ.0.€.1.8.00000060 30 81 01 05 82 01 01 A2 12 30 10 80 04 4D F0 A5 0�..‚..˘.0.€.MđĄ00000070 CF 81 01 08 A2 05 02 03 00 CD 79 30 37 80 10 53 Ď�..˘....Üy07€.S00000080 45 52 56 45 52 2D 35 33 32 55 56 55 51 32 51 A1 ERVER-532UVUQ2Qˇ00000090 0F 30 0D 80 05 31 2E 38 2E 30 81 01 05 82 01 01 .0.€.1.8.0 �..‚..000000A0 A2 12 30 10 80 04 4D F0 A5 CF 81 01 08 A2 05 02 ˘.0.€.MđĄĎ �..˘..000000B0 03 00 98 0E 30 37 80 10 53 45 52 56 45 52 2D 30 ..�.07€.SERVER-0000000C0 51 33 59 41 59 36 4F 33 A1 0F 30 0D 80 05 31 2E Q3YAY6O3ˇ.0.€.1.000000D0 38 2E 30 81 01 05 82 01 01 A2 12 30 10 80 04 4D 8.0 �..‚..˘.0.€.M000000E0 F0 A5 CF 81 01 08 A2 05 02 03 00 F8 A2 30 36 80 đĄĎ �..˘....ř˘06€000000F0 10 53 45 52 56 45 52 2D 49 47 4D 49 4A 4A 45 38 .SERVER-IGMIJJE800000100 39 A1 0F 30 0D 80 05 31 2E 38 2E 30 81 01 05 82 9ˇ.0.€.1.8.0 �..‚00000110 01 01 A2 11 30 0F 80 04 4D F0 A5 CF 81 01 08 A2 ..˘.0.€.MđĄĎ �..˘00000120 04 02 02 58 6D 30 37 80 10 53 45 52 56 45 52 2D ...Xm07€.SERVER-00000130 42 4B 45 43 52 31 46 43 36 A1 0F 30 0D 80 05 31 BKECR1FC6ˇ.0.€.100000140 2E 38 2E 30 81 01 05 82 01 01 A2 12 30 10 80 04 .8.0 �..‚..˘.0.€.00000150 4D F0 A5 CF 81 01 08 A2 05 02 03 00 86 D9 30 00 MđĄĎ �..˘....†Ů0.

Figure 59: Response 5-1-4 in the APDU form

SMLPublicOpen_Res {CLIENT-GO0A3OBPF,SERVER-XADE3KLQA,

}

Document title: Communication Standard Between AMI Application and Metering Infrastructure 77 z 94

DCMeterGetData_Res {2078902676 [HEX: 7B E9 89 94],8750 [HEX: 22 2E],parameterTreePath {

1.8.0,}DCSML_ServerIDAnswers {

SERVER-QS9YICBYI,{

SMLHeaderEntry { 1.8.0, 5, 1 }}{

SMLProfObjPeriodEntry {1307616718 [HEX: 4D F0 A5 CE] (Thu Jun 09 12:51:58 CEST

2011),8,{

42429 [HEX: A5 BD],}

}SMLProfObjPeriodEntry {

1307617618 [HEX: 4D F0 A9 52] (Thu Jun 09 13:06:58 CEST 2011),

8,{

58574 [HEX: E4 CE],}

}SMLProfObjPeriodEntry {

1307618518 [HEX: 4D F0 AC D6] (Thu Jun 09 13:21:58 CEST 2011),

8,{

62488 [HEX: F4 18],}

}SMLProfObjPeriodEntry {

1307619418 [HEX: 4D F0 B0 5A] (Thu Jun 09 13:36:58 CEST 2011),

8,{

12680 [HEX: 31 88],}

}}

DCSML_ServerIDAnswers {SERVER-9CSFCRDH5,{

SMLHeaderEntry { 1.8.0, 5, 1 }}{

SMLProfObjPeriodEntry {1307616718 [HEX: 4D F0 A5 CE] (Thu Jun 09 12:51:58 CEST

2011),8,{

53621 [HEX: D1 75],

Document title: Communication Standard Between AMI Application and Metering Infrastructure 78 z 94

}}SMLProfObjPeriodEntry {

1307617618 [HEX: 4D F0 A9 52] (Thu Jun 09 13:06:58 CEST 2011),

8,{

15381 [HEX: 3C 15],}

}SMLProfObjPeriodEntry {

1307618518 [HEX: 4D F0 AC D6] (Thu Jun 09 13:21:58 CEST 2011),

8,{

57326 [HEX: DF EE],}

}SMLProfObjPeriodEntry {

1307619418 [HEX: 4D F0 B0 5A] (Thu Jun 09 13:36:58 CEST 2011),

8,{

28371 [HEX: 6E D3],}

}}

DCSML_ServerIDAnswers {SERVER-2KBGFPDQA,{

SMLHeaderEntry { 1.8.0, 5, 1 }}{

SMLProfObjPeriodEntry {1307616718 [HEX: 4D F0 A5 CE] (Thu Jun 09 12:51:58 CEST

2011),8,{

2127 [HEX: 08 4F],}

}SMLProfObjPeriodEntry {

1307617618 [HEX: 4D F0 A9 52] (Thu Jun 09 13:06:58 CEST 2011),

8,{

12857 [HEX: 32 39],}

}SMLProfObjPeriodEntry {

1307618518 [HEX: 4D F0 AC D6] (Thu Jun 09 13:21:58 CEST 2011),

8,{

18283 [HEX: 47 6B],}

}

Document title: Communication Standard Between AMI Application and Metering Infrastructure 79 z 94

SMLProfObjPeriodEntry {1307619418 [HEX: 4D F0 B0 5A] (Thu Jun 09 13:36:58 CEST

2011),8,{

28557 [HEX: 6F 8D],}

}}

DCSML_ServerIDAnswers {SERVER-C0IO84PZS,{

SMLHeaderEntry { 1.8.0, 5, 1 }}{

SMLProfObjPeriodEntry {1307616718 [HEX: 4D F0 A5 CE] (Thu Jun 09 12:51:58 CEST

2011),8,{

39227 [HEX: 99 3B],}

}SMLProfObjPeriodEntry {

1307617618 [HEX: 4D F0 A9 52] (Thu Jun 09 13:06:58 CEST 2011),

8,{

44251 [HEX: AC DB],}

}SMLProfObjPeriodEntry {

1307618518 [HEX: 4D F0 AC D6] (Thu Jun 09 13:21:58 CEST 2011),

8,{

23239 [HEX: 5A C7],}

}SMLProfObjPeriodEntry {

1307619418 [HEX: 4D F0 B0 5A] (Thu Jun 09 13:36:58 CEST 2011),

8,{

24035 [HEX: 5D E3],}

}}

DCSML_ServerIDAnswers {SERVER-EQWS32GHO,{

SMLHeaderEntry { 1.8.0, 5, 1 }}{

SMLProfObjPeriodEntry {1307616718 [HEX: 4D F0 A5 CE] (Thu Jun 09 12:51:58 CEST

2011),

Document title: Communication Standard Between AMI Application and Metering Infrastructure 80 z 94

8,{

57436 [HEX: E0 5C],}

}SMLProfObjPeriodEntry {

1307617618 [HEX: 4D F0 A9 52] (Thu Jun 09 13:06:58 CEST 2011),

8,{

637 [HEX: 02 7D],}

}SMLProfObjPeriodEntry {

1307618518 [HEX: 4D F0 AC D6] (Thu Jun 09 13:21:58 CEST 2011),

8,{

51808 [HEX: CA 60],}

}SMLProfObjPeriodEntry {

1307619418 [HEX: 4D F0 B0 5A] (Thu Jun 09 13:36:58 CEST 2011),

8,{

8985 [HEX: 23 19],}

}}

}}SMLPublicClose_Res {}

Figure 60: Response 5-1-4 in ASN.1 notation

6.2.7 Example 5-5-1

6.2.7.1 Queryoffset 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ascii

00000000 30 24 80 10 43 4C 49 45 4E 54 2D 45 46 42 46 33 0$€.CLIENT-EFBF300000010 33 4C 56 33 81 10 53 45 52 56 45 52 2D 54 50 41 3LV3 �.SERVER-TPA00000020 4B 47 4E 43 43 45 30 81 98 A0 5A 04 10 53 45 52 KGNCCE0˜�  Z..SER00000030 56 45 52 2D 39 53 32 50 45 4F 34 4E 46 04 10 53 VER-9S2PEO4NF..S00000040 45 52 56 45 52 2D 41 43 49 58 47 57 35 4E 57 04 ERVER-ACIXGW5NW.00000050 10 53 45 52 56 45 52 2D 35 50 34 4E 52 38 32 55 .SERVER-5P4NR82U00000060 30 04 10 53 45 52 56 45 52 2D 41 31 57 32 52 33 0..SERVER-A1W2R300000070 46 56 41 04 10 53 45 52 56 45 52 2D 48 4B 38 5A FVA..SERVER-HK8Z00000080 30 4C 32 45 49 82 04 23 80 E1 43 83 03 00 F4 B4 0L2EI‚.#€áC �..ô´00000090 84 04 4D F0 A5 CE 85 04 4D F0 A9 52 A6 23 04 05 „.MđĄÎ….Mđ©R¦#..000000A0 31 2E 38 2E 30 04 05 32 2E 38 2E 30 04 05 35 2E 1.8.0..2.8.0..5.000000B0 38 2E 30 04 05 36 2E 38 2E 30 04 05 37 2E 38 2E 8.0..6.8.0..7.8.000000C0 30 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00..............

Figure 61: Response 5-5-4 in the APDU form

Document title: Communication Standard Between AMI Application and Metering Infrastructure 81 z 94

SMLPublicOpen_Req {CLIENT-EFBF33LV3,SERVER-TPAKGNCCE,

}DCMeterGetData_Req {

listserverID {SERVER-9S2PEO4NF,SERVER-ACIXGW5NW,SERVER-5P4NR82U0,SERVER-A1W2R3FVA,SERVER-HK8Z0L2EI,

}595648835 [HEX: 23 80 E1 43],62644 [HEX: F4 B4],1307616718 [HEX: 4D F0 A5 CE] (Thu Jun 09 12:51:58 CEST 2011),1307617618 [HEX: 4D F0 A9 52] (Thu Jun 09 13:06:58 CEST 2011),parameterTreePath {

1.8.0,2.8.0,5.8.0,6.8.0,7.8.0,

}}SMLPublicClose_Req {}

Figure 62: Query 5-5-1 in ASN.1 notation

6.2.7.2 Responseoffset 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ascii

00000000 30 24 80 10 43 4C 49 45 4E 54 2D 45 46 42 46 33 0$€.CLIENT-EFBF300000010 33 4C 56 33 81 10 53 45 52 56 45 52 2D 54 50 41 3LV3 �.SERVER-TPA00000020 4B 47 4E 43 43 45 30 82 02 DB 81 04 1A 14 D7 12 KGNCCE0‚.Ű �...×.00000030 82 02 4E BD A3 23 04 05 31 2E 38 2E 30 04 05 32 ‚.N˝Ł#..1.8.0..200000040 2E 38 2E 30 04 05 35 2E 38 2E 30 04 05 36 2E 38 .8.0..5.8.0..6.800000050 2E 30 04 05 37 2E 38 2E 30 A4 82 02 A8 30 81 86 .0..7.8.0¤‚.¨0†�00000060 80 10 53 45 52 56 45 52 2D 39 53 32 50 45 4F 34 €.SERVER-9S2PEO400000070 4E 46 A1 4B 30 0D 80 05 31 2E 38 2E 30 81 01 05 NFˇK0.€.1.8.0 �..00000080 82 01 01 30 0D 80 05 32 2E 38 2E 30 81 01 07 82 ‚..0.€.2.8.0 �..‚00000090 01 01 30 0D 80 05 35 2E 38 2E 30 81 01 08 82 01 ..0.€.5.8.0 �..‚.000000A0 01 30 0D 80 05 36 2E 38 2E 30 81 01 04 82 01 01 .0.€.6.8.0 �..‚..000000B0 30 0D 80 05 37 2E 38 2E 30 81 01 01 82 01 01 A2 0.€.7.8.0 �..‚..˘000000C0 25 30 23 80 04 4D F0 A5 CE 81 01 08 A2 18 02 03 %0#€.MđĄÎ �..˘...000000D0 00 82 05 02 02 23 58 02 03 00 D1 9F 02 03 00 E5 .‚...#X...Ńź...ĺ000000E0 1C 02 03 00 B9 24 30 81 84 80 10 53 45 52 56 45 ....ą$0„€� .SERVE000000F0 52 2D 41 43 49 58 47 57 35 4E 57 A1 4B 30 0D 80 R-ACIXGW5NWˇK0.€00000100 05 31 2E 38 2E 30 81 01 05 82 01 01 30 0D 80 05 .1.8.0 �..‚..0.€.00000110 32 2E 38 2E 30 81 01 07 82 01 01 30 0D 80 05 35 2.8.0 �..‚..0.€.500000120 2E 38 2E 30 81 01 08 82 01 01 30 0D 80 05 36 2E .8.0 �..‚..0.€.6.00000130 38 2E 30 81 01 04 82 01 01 30 0D 80 05 37 2E 38 8.0 �..‚..0.€.7.800000140 2E 30 81 01 01 82 01 01 A2 23 30 21 80 04 4D F0 .0�..‚..˘#0!€.Mđ00000150 A5 CE 81 01 08 A2 16 02 02 02 18 02 03 00 E8 87 ĄÎ�..˘........č‡00000160 02 03 00 EC A2 02 02 5C 4F 02 02 24 94 30 81 85 ...ě˘..\O..$”0…�00000170 80 10 53 45 52 56 45 52 2D 35 50 34 4E 52 38 32 €.SERVER-5P4NR8200000180 55 30 A1 4B 30 0D 80 05 31 2E 38 2E 30 81 01 05 U0ˇK0.€.1.8.0 �..

Document title: Communication Standard Between AMI Application and Metering Infrastructure 82 z 94

00000190 82 01 01 30 0D 80 05 32 2E 38 2E 30 81 01 07 82 ‚..0.€.2.8.0 �..‚000001A0 01 01 30 0D 80 05 35 2E 38 2E 30 81 01 08 82 01 ..0.€.5.8.0 �..‚.000001B0 01 30 0D 80 05 36 2E 38 2E 30 81 01 04 82 01 01 .0.€.6.8.0 �..‚..000001C0 30 0D 80 05 37 2E 38 2E 30 81 01 01 82 01 01 A2 0.€.7.8.0 �..‚..˘000001D0 24 30 22 80 04 4D F0 A5 CE 81 01 08 A2 17 02 02 $0"€.MđĄÎ �..˘...000001E0 74 EF 02 02 78 48 02 03 00 BE B9 02 03 00 CB A7 tď..xH...ľą...˧000001F0 02 03 00 C5 5D 30 81 84 80 10 53 45 52 56 45 52 ...Ĺ]0„€� .SERVER00000200 2D 41 31 57 32 52 33 46 56 41 A1 4B 30 0D 80 05 -A1W2R3FVAˇK0.€.00000210 31 2E 38 2E 30 81 01 05 82 01 01 30 0D 80 05 32 1.8.0 �..‚..0.€.200000220 2E 38 2E 30 81 01 07 82 01 01 30 0D 80 05 35 2E .8.0 �..‚..0.€.5.

Figure 63: Response 5-5-1 in the APDU form

SMLPublicOpen_Res {CLIENT-EFBF33LV3,SERVER-TPAKGNCCE,

}DCMeterGetData_Res {

437573394 [HEX: 1A 14 D7 12],20157 [HEX: 4E BD],parameterTreePath {

1.8.0,2.8.0,5.8.0,6.8.0,7.8.0,

}DCSML_ServerIDAnswers {

SERVER-9S2PEO4NF,{

SMLHeaderEntry { 1.8.0, 5, 1 }SMLHeaderEntry { 2.8.0, 7, 1 }SMLHeaderEntry { 5.8.0, 8, 1 }SMLHeaderEntry { 6.8.0, 4, 1 }SMLHeaderEntry { 7.8.0, 1, 1 }

}{

SMLProfObjPeriodEntry {1307616718 [HEX: 4D F0 A5 CE] (Thu Jun 09 12:51:58 CEST

2011),8,{

33285 [HEX: 82 05],9048 [HEX: 23 58],53663 [HEX: D1 9F],58652 [HEX: E5 1C],47396 [HEX: B9 24],

}}

}DCSML_ServerIDAnswers {

SERVER-ACIXGW5NW,{

SMLHeaderEntry { 1.8.0, 5, 1 }SMLHeaderEntry { 2.8.0, 7, 1 }SMLHeaderEntry { 5.8.0, 8, 1 }

Document title: Communication Standard Between AMI Application and Metering Infrastructure 83 z 94

SMLHeaderEntry { 6.8.0, 4, 1 }SMLHeaderEntry { 7.8.0, 1, 1 }

}{

SMLProfObjPeriodEntry {1307616718 [HEX: 4D F0 A5 CE] (Thu Jun 09 12:51:58 CEST

2011),8,{

536 [HEX: 02 18],59527 [HEX: E8 87],60578 [HEX: EC A2],23631 [HEX: 5C 4F],9364 [HEX: 24 94],

}}

}DCSML_ServerIDAnswers {

SERVER-5P4NR82U0,{

SMLHeaderEntry { 1.8.0, 5, 1 }SMLHeaderEntry { 2.8.0, 7, 1 }SMLHeaderEntry { 5.8.0, 8, 1 }SMLHeaderEntry { 6.8.0, 4, 1 }SMLHeaderEntry { 7.8.0, 1, 1 }

}{

SMLProfObjPeriodEntry {1307616718 [HEX: 4D F0 A5 CE] (Thu Jun 09 12:51:58 CEST

2011),8,{

29935 [HEX: 74 EF],30792 [HEX: 78 48],48825 [HEX: BE B9],52135 [HEX: CB A7],50525 [HEX: C5 5D],

}}

}DCSML_ServerIDAnswers {

SERVER-A1W2R3FVA,{

SMLHeaderEntry { 1.8.0, 5, 1 }SMLHeaderEntry { 2.8.0, 7, 1 }SMLHeaderEntry { 5.8.0, 8, 1 }SMLHeaderEntry { 6.8.0, 4, 1 }SMLHeaderEntry { 7.8.0, 1, 1 }

}{

SMLProfObjPeriodEntry {1307616718 [HEX: 4D F0 A5 CE] (Thu Jun 09 12:51:58 CEST

2011),8,{

24847 [HEX: 61 0F],58828 [HEX: E5 CC],

Document title: Communication Standard Between AMI Application and Metering Infrastructure 84 z 94

26551 [HEX: 67 B7],3180 [HEX: 0C 6C],41280 [HEX: A1 40],

}}

}DCSML_ServerIDAnswers {

SERVER-HK8Z0L2EI,{

SMLHeaderEntry { 1.8.0, 5, 1 }SMLHeaderEntry { 2.8.0, 7, 1 }SMLHeaderEntry { 5.8.0, 8, 1 }SMLHeaderEntry { 6.8.0, 4, 1 }SMLHeaderEntry { 7.8.0, 1, 1 }

}{

SMLProfObjPeriodEntry {1307616718 [HEX: 4D F0 A5 CE] (Thu Jun 09 12:51:58 CEST

2011),8,{

63424 [HEX: F7 C0],45317 [HEX: B1 05],60807 [HEX: ED 87],8757 [HEX: 22 35],49005 [HEX: BF 6D],

}}

}}

}SMLPublicClose_Res {}

Figure 64: Response 5-5-1 in ASN.1 notation

6.2.8 Example 5-5-4

6.2.8.1 Queryoffset 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ascii

00000000 30 24 80 10 43 4C 49 45 4E 54 2D 4C 36 48 42 45 0$€.CLIENT-L6HBE00000010 43 56 43 52 81 10 53 45 52 56 45 52 2D 5A 36 36 CVCR �.SERVER-Z6600000020 38 4B 33 50 48 37 30 81 98 A0 5A 04 10 53 45 52 8K3PH70 �� Z..SER00000030 56 45 52 2D 39 43 33 35 34 59 41 46 57 04 10 53 VER-9C354YAFW..S00000040 45 52 56 45 52 2D 36 47 43 4C 49 43 43 44 31 04 ERVER-6GCLICCD1.00000050 10 53 45 52 56 45 52 2D 4F 44 5A 38 39 4A 4B 4B .SERVER-ODZ89JKK00000060 44 04 10 53 45 52 56 45 52 2D 55 50 42 33 35 57 D..SERVER-UPB35W00000070 57 58 57 04 10 53 45 52 56 45 52 2D 49 43 5A 39 WXW..SERVER-ICZ900000080 49 34 55 30 30 82 04 3E 8D A8 35 83 03 00 C9 13 I4U00‚.>Ť¨5 �..É.00000090 84 04 4D F0 A5 CE 85 04 4D F0 B3 DE A6 23 04 05 „.MđĄÎ….MđłŢ¦#..000000A0 31 2E 38 2E 30 04 05 32 2E 38 2E 30 04 05 35 2E 1.8.0..2.8.0..5.000000B0 38 2E 30 04 05 36 2E 38 2E 30 04 05 37 2E 38 2E 8.0..6.8.0..7.8.000000C0 30 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00..............

Figure 65: Response 5-5-4 in the APDU form

SMLPublicOpen_Req {

Document title: Communication Standard Between AMI Application and Metering Infrastructure 85 z 94

CLIENT-L6HBECVCR,SERVER-Z668K3PH7,

}DCMeterGetData_Req {

listserverID {SERVER-9C354YAFW,SERVER-6GCLICCD1,SERVER-ODZ89JKKD,SERVER-UPB35WWXW,SERVER-ICZ9I4U00,

}1049471029 [HEX: 3E 8D A8 35],51475 [HEX: C9 13],1307616718 [HEX: 4D F0 A5 CE] (Thu Jun 09 12:51:58 CEST 2011),1307620318 [HEX: 4D F0 B3 DE] (Thu Jun 09 13:51:58 CEST 2011),parameterTreePath {

1.8.0,2.8.0,5.8.0,6.8.0,7.8.0,

}}SMLPublicClose_Req {}

Figure 66: Query 5-5-4 in ASN.1 notation

6.2.8.2 Response

offset 0 1 2 3 4 5 6 7 8 910

11

12

13 14

15 ascii

00000000

30 24

80

10

43

4C

49

45

4E

54

2D

4C

36

48 42

45

0$€.CLIENT-L6HBE

00000010

43 56

43

52

81

10

53

45

52

56

45

52

2D

5A 36

36 CVCR �.SERVER-Z66

00000020

38 4B

33

50

48

37

30

82

04

EC

81

04

69

8A D5

E5 8K3PH70‚.ě �.iŠŐĺ

00000030

82 02

21

A1

A3

23

04

05

31

2E

38

2E

30

04 05

32

‚.!ˇŁ#..1.8.0..2

00000040

2E 38

2E

30

04

05

35

2E

38

2E

30

04

05

36 2E

38

.8.0..5.8.0..6.8

00000050

2E 30

04

05

37

2E

38

2E

30

A4

82

04

B9

30 81

EE .0..7.8.0¤‚.ą0î�

00000060

80 10

53

45

52

56

45

52

2D

39

43

33

35

34 59

41

€.SERVER-9C354YA

00000070

46 57

A1

4B

30

0D

80

05

31

2E

38

2E

30

81 01

05 FWˇK0.€.1.8.0 �..

00000080

82 01

01

30

0D

80

05

32

2E

38

2E

30

81

01 07

82 ‚..0.€.2.8.0 �..‚

00000090

01 01

30

0D

80

05

35

2E

38

2E

30

81

01

08 82

01 ..0.€.5.8.0 �..‚.

000000A0

01 30

0D

80

05

36

2E

38

2E

30

81

01

04

82 01

01 .0.€.6.8.0 �..‚..

000000B0

30 0D

80

05

37

2E

38

2E

30

81

01

01

82

01 01

A2 0.€.7.8.0 �..‚..˘

000000C0

81 8C

30

21

80

04

4D

F0

A5

CE

81

01

08

A2 16

02 �Ś0!€.MđĄÎ �..˘..

000000D0

02 46

C2

02

02

49

31

02

02

59

F9

02

03

00 AB

52

.FÂ..I1..Yů...«R

000000E0

02 03

00

F4

B8

30

21

80

04

4D

F0

A9

52

81 01

08 ...ô¸0!€.Mđ©R �..

000000F0

A2 16

02

03

00

F2

18

02

02

37

37

02

02

53 44

02

˘....ň...77..SD.

Document title: Communication Standard Between AMI Application and Metering Infrastructure 86 z 94

00000100

02 57

2E

02

03

00

A6

9C

30

21

80

04

4D

F0

MOD

D6

.W....¦ś0!€.Mđ¬Ö

00000110

81 01

08

A2

16

02

02

77

DB

02

03

00

84

A8 02

02 �..˘...wŰ...„¨..

00000120

78 45

02

03

00

FA

3D

02

02

00

CC

30

21

80 04

4D

xE...ú=...Ě0!€.M

00000130

F0 B0

5A

81

01

08

A2

16

02

02

2F

1D

02

02 4C

7E đ°Z �..˘.../...L~

00000140

02 02

1C

F9

02

03

00

F2

C6

02

03

00

88

8A 30

81 ...ů...ňĆ...Š� 0�

00000150

F1 80

10

53

45

52

56

45

52

2D

36

47

43

4C 49

43

ń€.SERVER-6GCLIC

00000160

43 44

31

A1

4B

30

0D

80

05

31

2E

38

2E

30 81

01 CD1ˇK0.€.1.8.0 �.

00000170

05 82

01

01

30

0D

80

05

32

2E

38

2E

30

81 01

07 .‚..0.€.2.8.0 �..

00000180

82 01

01

30

0D

80

05

35

2E

38

2E

30

81

01 08

82 ‚..0.€.5.8.0 �..‚

00000190

01 01

30

0D

80

05

36

2E

38

2E

30

81

01

04 82

01 ..0.€.6.8.0 �..‚.

000001A0

01 30

0D

80

05

37

2E

38

2E

30

81

01

01

82 01

01 .0.€.7.8.0 �..‚..

000001B0

A2 81

8F

30

24

80

04

4D

F0

A5

CE

81

01

08 A2

19 ˘Ź� 0$€.MđĄÎ�..˘.

000001C0

02 03

00

DD

1C

02

03

00

9A

56

02

03

00

A6 CA

02

...Ý....šV...¦Ę

.000001D0

03 00

87

92

02

03

00

91

C3

30

20

80

04

4D F0

A9

..‡’...‘Ă0 €.Mđ©

000001E0

52 81

01

08

A2

15

02

02

69

9B

02

02

51

C2 02

03 R�..˘...i›..QÂ..

000001F0

00 EE

F9

02

02

49

A8

02

02

29

65

30

21

80 04

4D

.îů..I¨..)e0!€.M

00000200

F0

MOD

D6

81

01

08

A2

16

02

02

2E

9B

02

03 00

F1 đ¬Ö �..˘....›...ń

00000210

7D 02

02

24

DD

02

02

4F

EE

02

03

00

AB

8D 30

22

}..$Ý..Oî...«Ť0"

00000220

80 04

4D

F0

B0

5A

81

01

08

A2

17

02

03

00 E3

90 €.Mđ°Z �..˘....ă�

Figure 67: Response 5-5-4 in the APDU form

Document title: Communication Standard Between AMI Application and Metering Infrastructure 87 z 94

SMLPublicOpen_Res {CLIENT-L6HBECVCR,SERVER-Z668K3PH7,

}DCMeterGetData_Res {

1770706405 [HEX: 69 8A D5 E5],8609 [HEX: 21 A1],parameterTreePath {

1.8.0,2.8.0,5.8.0,6.8.0,7.8.0,

}DCSML_ServerIDAnswers {

SERVER-9C354YAFW,{

SMLHeaderEntry { 1.8.0, 5, 1 }SMLHeaderEntry { 2.8.0, 7, 1 }SMLHeaderEntry { 5.8.0, 8, 1 }SMLHeaderEntry { 6.8.0, 4, 1 }SMLHeaderEntry { 7.8.0, 1, 1 }

}{

SMLProfObjPeriodEntry {1307616718 [HEX: 4D F0 A5 CE] (Thu Jun 09 12:51:58 CEST

2011),8,{

18114 [HEX: 46 C2],18737 [HEX: 49 31],23033 [HEX: 59 F9],43858 [HEX: AB 52],62648 [HEX: F4 B8],

}}SMLProfObjPeriodEntry {

1307617618 [HEX: 4D F0 A9 52] (Thu Jun 09 13:06:58 CEST 2011),

8,{

61976 [HEX: F2 18],14135 [HEX: 37 37],21316 [HEX: 53 44],22318 [HEX: 57 2E],42652 [HEX: A6 9C],

}}SMLProfObjPeriodEntry {

1307618518 [HEX: 4D F0 AC D6] (Thu Jun 09 13:21:58 CEST 2011),

8,{

30683 [HEX: 77 DB],33960 [HEX: 84 A8],

Document title: Communication Standard Between AMI Application and Metering Infrastructure 88 z 94

30789 [HEX: 78 45],64061 [HEX: FA 3D],204 [HEX: CC],

}}SMLProfObjPeriodEntry {

1307619418 [HEX: 4D F0 B0 5A] (Thu Jun 09 13:36:58 CEST 2011),

8,{

12061 [HEX: 2F 1D],19582 [HEX: 4C 7E],7417 [HEX: 1C F9],62150 [HEX: F2 C6],34954 [HEX: 88 8A],

}}

}DCSML_ServerIDAnswers {

SERVER-6GCLICCD1,{

SMLHeaderEntry { 1.8.0, 5, 1 }SMLHeaderEntry { 2.8.0, 7, 1 }SMLHeaderEntry { 5.8.0, 8, 1 }SMLHeaderEntry { 6.8.0, 4, 1 }SMLHeaderEntry { 7.8.0, 1, 1 }

}{

SMLProfObjPeriodEntry {1307616718 [HEX: 4D F0 A5 CE] (Thu Jun 09 12:51:58 CEST

2011),8,{

56604 [HEX: DD 1C],39510 [HEX: 9A 56],42698 [HEX: A6 CA],34706 [HEX: 87 92],37315 [HEX: 91 C3],

}}SMLProfObjPeriodEntry {

1307617618 [HEX: 4D F0 A9 52] (Thu Jun 09 13:06:58 CEST 2011),

8,{

27035 [HEX: 69 9B],20930 [HEX: 51 C2],61177 [HEX: EE F9],18856 [HEX: 49 A8],10597 [HEX: 29 65],

}}SMLProfObjPeriodEntry {

1307618518 [HEX: 4D F0 AC D6] (Thu Jun 09 13:21:58 CEST 2011),

8,{

Document title: Communication Standard Between AMI Application and Metering Infrastructure 89 z 94

11931 [HEX: 2E 9B],61821 [HEX: F1 7D],9437 [HEX: 24 DD],20462 [HEX: 4F EE],43917 [HEX: AB 8D],

}}SMLProfObjPeriodEntry {

1307619418 [HEX: 4D F0 B0 5A] (Thu Jun 09 13:36:58 CEST 2011),

8,{

58256 [HEX: E3 90],15518 [HEX: 3C 9E],40582 [HEX: 9E 86],40451 [HEX: 9E 03],31787 [HEX: 7C 2B],

}}

}DCSML_ServerIDAnswers {

SERVER-ODZ89JKKD,{

SMLHeaderEntry { 1.8.0, 5, 1 }SMLHeaderEntry { 2.8.0, 7, 1 }SMLHeaderEntry { 5.8.0, 8, 1 }SMLHeaderEntry { 6.8.0, 4, 1 }SMLHeaderEntry { 7.8.0, 1, 1 }

}{

SMLProfObjPeriodEntry {1307616718 [HEX: 4D F0 A5 CE] (Thu Jun 09 12:51:58 CEST

2011),8,{

17488 [HEX: 44 50],52224 [HEX: CC],41762 [HEX: A3 22],17906 [HEX: 45 F2],38778 [HEX: 97 7A],

}}SMLProfObjPeriodEntry {

1307617618 [HEX: 4D F0 A9 52] (Thu Jun 09 13:06:58 CEST 2011),

8,{

6706 [HEX: 1A 32],40163 [HEX: 9C E3],13280 [HEX: 33 E0],61217 [HEX: EF 21],17106 [HEX: 42 D2],

}}SMLProfObjPeriodEntry {

1307618518 [HEX: 4D F0 AC D6] (Thu Jun 09 13:21:58 CEST 2011),

Document title: Communication Standard Between AMI Application and Metering Infrastructure 90 z 94

8,{

16208 [HEX: 3F 50],26068 [HEX: 65 D4],14902 [HEX: 3A 36],39920 [HEX: 9B F0],26979 [HEX: 69 63],

}}SMLProfObjPeriodEntry {

1307619418 [HEX: 4D F0 B0 5A] (Thu Jun 09 13:36:58 CEST 2011),

8,{

28938 [HEX: 71 0A],874 [HEX: 03 6A],27005 [HEX: 69 7D],56566 [HEX: DC F6],30630 [HEX: 77 A6],

}}

}DCSML_ServerIDAnswers {

SERVER-UPB35WWXW,{

SMLHeaderEntry { 1.8.0, 5, 1 }SMLHeaderEntry { 2.8.0, 7, 1 }SMLHeaderEntry { 5.8.0, 8, 1 }SMLHeaderEntry { 6.8.0, 4, 1 }SMLHeaderEntry { 7.8.0, 1, 1 }

}{

SMLProfObjPeriodEntry {1307616718 [HEX: 4D F0 A5 CE] (Thu Jun 09 12:51:58 CEST

2011),8,{

37388 [HEX: 92 0C],45669 [HEX: B2 65],61276 [HEX: EF 5C],12436 [HEX: 30 94],46896 [HEX: B7 30],

}}SMLProfObjPeriodEntry {

1307617618 [HEX: 4D F0 A9 52] (Thu Jun 09 13:06:58 CEST 2011),

8,{

49294 [HEX: C0 8E],23480 [HEX: 5B B8],7800 [HEX: 1E 78],28070 [HEX: 6D A6],18557 [HEX: 48 7D],

}}SMLProfObjPeriodEntry {

1307618518 [HEX: 4D F0 AC D6] (Thu Jun 09 13:21:58 CEST

Document title: Communication Standard Between AMI Application and Metering Infrastructure 91 z 94

2011),8,{

52907 [HEX: CE AB],40185 [HEX: 9C F9],8909 [HEX: 22 CD],10991 [HEX: 2A EF],60658 [HEX: EC F2],

}}SMLProfObjPeriodEntry {

1307619418 [HEX: 4D F0 B0 5A] (Thu Jun 09 13:36:58 CEST 2011),

8,{

42543 [HEX: A6 2F],51178 [HEX: C7 EA],53586 [HEX: D1 52],55569 [HEX: D9 11],64530 [HEX: FC 12],

}}

}DCSML_ServerIDAnswers {

SERVER-ICZ9I4U00,{

SMLHeaderEntry { 1.8.0, 5, 1 }SMLHeaderEntry { 2.8.0, 7, 1 }SMLHeaderEntry { 5.8.0, 8, 1 }SMLHeaderEntry { 6.8.0, 4, 1 }SMLHeaderEntry { 7.8.0, 1, 1 }

}{

SMLProfObjPeriodEntry {1307616718 [HEX: 4D F0 A5 CE] (Thu Jun 09 12:51:58 CEST

2011),8,{

11298 [HEX: 2C 22],29078 [HEX: 71 96],28706 [HEX: 70 22],19155 [HEX: 4A D3],30849 [HEX: 78 81],

}}SMLProfObjPeriodEntry {

1307617618 [HEX: 4D F0 A9 52] (Thu Jun 09 13:06:58 CEST 2011),

8,{

58615 [HEX: E4 F7],61694 [HEX: F0 FE],8230 [HEX: 20 26],22636 [HEX: 58 6C],15448 [HEX: 3C 58],

}}

Document title: Communication Standard Between AMI Application and Metering Infrastructure 92 z 94

SMLProfObjPeriodEntry {1307618518 [HEX: 4D F0 AC D6] (Thu Jun 09 13:21:58 CEST

2011),8,{

15493 [HEX: 3C 85],52823 [HEX: CE 57],54491 [HEX: D4 DB],34185 [HEX: 85 89],5962 [HEX: 17 4A],

}}SMLProfObjPeriodEntry {

1307619418 [HEX: 4D F0 B0 5A] (Thu Jun 09 13:36:58 CEST 2011),

8,{

28791 [HEX: 70 77],22704 [HEX: 58 B0],1492 [HEX: 05 D4],13972 [HEX: 36 94],16694 [HEX: 41 36],

}}

}}

}SMLPublicClose_Res {}

Figure 68: Response 5-5-4 in ASN.1 notation

Document title: Communication Standard Between AMI Application and Metering Infrastructure 93 z 94

Document title: Communication Standard Between AMI Application and Metering Infrastructure 94 z 94