DLMS/COSEM Communication Protocol
Emre Sami SÜZER
As DLMS Association stated, “they started to work on a new protocol because smart metering – and more generally, smart devices – need a globally accepted standard language that ensures interoperability, efficiency and security.” 
Driven by the business needs of the energy market participants and by the desire to manage natural resources efficiently and to involve the consumers, the utility meter became part of an integrated metering, control and billing system. The meter is not any more a simple data recording device, but it relies critically on communication capabilities. 
The need to a protocol to achieve these goals has emerged the DLMS/COSEM protocol.
Communication protocols are rules and patterns that defines the message transmission between equipment and systems.
Briefly, protocols should include data, address, authentication, error detection and correction and should describe the message format. There are several communication protocols like DLMS that are developed to meet different requirements.
Some common communication protocols that are defined by standards and used in industry and smart metering applications are:
- IEC 62056-21 (Özellikle Mod C)
- IEC 870-5-101/102/103
- IEC 61850
II. PROTOCOL STANDARDS
Protocol must have standard that is managed by either an association or commission.
The need for protocol standards can be shown by looking at what happened to the bi-sync protocol (BSC) invented by IBM. BSC is an early link-level protocol used to connect two separate nodes. It was originally not intended to be used in a multi-node network but doing so revealed several deficiencies of the protocol. In the absence of standardization, manufacturers and organizations felt free to ‘enhance’ the protocol, creating incompatible versions on their networks. In some cases, this was deliberately done to discourage users from using equipment from other manufacturers. There are more than 50 variants of the original bi-sync protocol. One can assume, that a standard would have prevented at least some of this from happening. 
III. GENERAL COMMUNICATION PROTOCOL REQUIREMENTS
Messages that are carried according to the protocol standard they belong are sequential arrays of bits. There are several parts besides the data to be transmitted in this array of bits. Common parts that resides in the message are:
- Address, that defines the message owner and target. It could be a single target or a broadcast message and may include a routing table as well.
- Error Check , that is created from the message bytes according to an algorithm.
- Acknowledgment , to perform connection-oriented communication that ensures all packages are received.
- Data, is the actual data that is needed to be transmitted.
DLMS (Device Language Message Specification) is the suite of standards developed and maintained by the DLMS User Association. The DLMS User Association has established a D Type liaison with IEC TC13 WG14, responsible for international standards for meter data exchange and establishing the IEC 62056 series. 
COSEM (Companion Specification for Energy Metering), includes a set of specifications that defined the “transport and application layers” of the DLMS protocol. 
Together DLMS/COSEM refers to the application layer providing xDLMS services to access COSEM interface attributes. Also refers to the DLMS/COSEM Application layer and the COSEM data model. 
V. DLMS/COSEM ADVANTAGES COMPARED TO IEC1107 (FLAG PROTOCOL)
Although some distribution companies in some countries still sees DLMS/COSEM as a new protocol in 2018 has more than 1000 compliant meter types and supported by more than 150 meter manufacturers.
It is the state-of-art communication protocol and future or smart metering.
- DLMS/COSEM standard helps users to use generic driver which enables to communicate with various meter types from different manufacturers 
- It provides a layer for processing application layer request and responds in a communication profile independent manner. This enables application layer to support many communication profiles like HDLC, IPv4 etc. 
- It is based on “Object Modelling” and “OSI model”. So, independent from communication media.
- DLMS/COSEM can be used for all utilities / energy kinds, all market segments, all applications and over virtually any communication media. 
- DLMS/COSEM defines an interface model, valid for all kind of energy types, like electricity, gas, water, heat etc. 
- Supports, data encryption and four-pass authentication using cryptographic algorithm and secret cryptographic keys. 
- The interface class definitions standardize a number of widely used meter functionality, like demand registration, tariff and activity scheduling, handling time synchronization and power failures, power quality. 
VI. DLMS/COSEM MESSAGE TYPES
|SNRM||Set Normal Response Mode, is used to bring the server (meter) into the normal response mode. The SNRM is used to negotiate parameters such as the maximum length of the data that can be received and transmitted by either party|
|UA||On reception of an SNRM, the server examines the values of these parameter (if sent by the client) and chooses a value which both the client and server will be compliant to. This information is conveyed by the server to the client using a UA Frame.|
|AARQ||Application Association Request, is sent by the client to establish an association with the server. The AARQ PDU (Protocol Data Unit) communicates the Application Context used and the Authentication Value (Secret Password to authenticate Client and/or Server) if any to the Server.|
|AARE||Application Association Response, is the response sent by the server to an AARQ.|
|GET||A GET request is used by the client to fetch data from the meter.|
|SET||The SET Request is used by the client to set a data at the meter.|
|DISC||Disconnect – command is used to disconnect the logical link layer of the client from the server. On reception of a DISC command, the server responds with a UA, similar to the one sent on response to the SNRM. The server is said to be in NDM (Normal Disconnected Mode) on reception of this command. No data exchange can be carried out in this state, except Unnumbered Information and Mode Setting Command such as the SNRM.|
VII. COSEM INTERFACE CLASSES
Ease of system integration, interoperability and data security are important requirements of a metering communication protocol and aim of DLMS/COSEM.
COSEM, addresses these challenges by looking at the utility meter as part of a complex measurement and control system.
It achieves this using “object modelling” techniques to model all function of the meter, without making any assumptions about which function need to be supported, how those functions are implemented and how the data are transported.In the Blue Book, interface classes that COSEM support are listed in groups containing the following:
- Measurement Data
- Access Control and Management
- Time and Event Bound Control
- Payment Metering Related
- Data Exchange via Local Ports and Modems
- Data Exchange via M-Bus
- Data Exchange over the Internet
- Data Exchange using S-FSK PLC
- LLC layer for ISO/IEC 8802-2
- Narrowband OFDM PLC Profile for PRIME
- Narrowband OFDM PLC Profile for G3-PLC
- HS-PLC ISO/IEC 12139-1 Neighborhood Networks
- Zigbee Setup
-  https://www.dlms.com/
-  Marsden 1986, Section 6.1 – Why are standards necessary?, p. 64-65, uses BSC as an example to show the need for both standard protocols and a standard framework.
-  ST UM1530 User manual, p. 7, s. 1.3 IEC 62056 (DLMS/COSEM)
-  DLMS Green Book, p. 15, s. 3.1 General DLMS/Cosem definitions.
-  DLMS Blue Book, p. 10, Introduction.
-  AMI System Using DLMS, A White Paper, Kalkitech, p. 3