DLMS Source code Library

ANSI C Source Code Library helps you support DLMS on your metering hardware within a short time, with a field-proven and conformance-tested protocol stack implementation.

Latest Major Releases

Server SCL Version:  3.17.0, 17-Feb-2023

Client SCL Version: 3.15.0, 06-Dec-2022


Kalkitech’s DLMS COSEM (IEC 62056) ANSI C Source Code Libraries are designed to help you support DLMS on your metering hardware within a very short time, with a field-proven and conformance tested protocol stack implementation. The libraries are DLMS UA attested and in ANSI C Source Code which can be cross-compiled into your target platform. The library has been tested on most of the microcontroller vendors such as Microchip, Atmel, ST Microelectronics, Texas Instruments, Renesas, NXP/Freescale, Maxim/Teridian, etc. The Source Code Libraries are available for both Client and Server DLMS-COSEM applications.

Fact sheet

Application Contexts Access Control (authentication) DLMS Conformance block
  • Logical Name without ciphering
  • Short Name without ciphering
  • Logical Name with ciphering
  • Short Name with ciphering
  • NO_SECURITY(mechanism ID:0)
  • LOW_LEVEL_SECURITY(mechanism ID:1)
  • HIGH_ LEVEL_SECURITY mechanisms (mechanism ID: 1,2,3,4,5,6,7).
  • GET 
  • SET 
  • READ

Key advantages of Kalkitech DLMS COSEM stack include:

  • DLMS UA attested stack
  • Suitable for simple micro-controller without OS or light-weight Embedded OS/RTOS to full-fledged Desktop/Server OS 
  • Platform independent design allows easy porting or migration of hardware or OS
  • Platform-specific functionality separated out as a file, with default implementations available for Windows and Linux
  • Supports HDLC and COSEM wrapper for IP
  • Supports event notification and Data notification
  • Supports IEC 62056-21 Mode-E implementation 
  • Memory constraints for embedded system are taken care of 
  • Security suite0, suite1 and suite2
  • Supports various companion specifications including Indian IS15959 part1 and part2

Interface classes

  • Data
  • Register
  • Extended register
  • Demand register
  • Register activation
  • Profile generic
  • Clock
  • Script table
  • Schedule
  • Special days table
  • Association SN
  • Association LN
  • SAP assignment
  • Image transfer
  • IEC local port setup
  • Activity calendar
  • Register monitor
  • Single action schedule
  • IEC HDLC setup
  • IEC twisted pair (1) setup
  • M-Bus slave port setup
  • Utility tables
  • Modem configuration
  • Auto answer
  • Auto connect
  • Push Setup
  • TCP-UDP setup
  • IPv4 setup
  • Clock
  • Ethernet setup
  • PPP setup
  • GPRS modem setup
  • SMTP setup
  • GSM Diagnostic
  • Ipv6 Setup
  • S-FSK Phy&MAC
  • S-FSK Active initiator
  • S-FSK MAC synchronization timeouts
  • S-FSK MAC counters
  • S-FSK IEC 61334-4-32 LLC setup
  • S-FSK Reporting system list
  • IEC twisted pair (1) setup
  • ISO/IEC 8802-2 LLC Type 1 setup
  • ISO/IEC 8802-2 LLC Type 2 setup
  • ISO/IEC 8802-2 LLC Type 3 setup
  • Register table
  • Compact Data
  • Status mapping
  • Security setup
  • Parameter Monitor
  • Sensor Manager
  • Arbitrator
  • Disconnect control
  • Limiter
  • M-Bus client
  • Wireless Mode Q channel
  • M-Bus master port setup
  • 61334-4-32 LLC SSCS setup
  • PRIME NB OFDM PLC Physical layer counters
  • PRIME NB OFDM PLC MAC functional parameters
  • PRIME NB OFDM PLC MAC counters
  • PRIME NB OFDM PLC MAC network administration data
  • PRIME NB OFDM PLC Application identification
  • G3-PLC MAC layer counters
  • G3-PLC MAC setup
  • G3-PLC 6LoWPAN adaptation layer setup
  • Account
  • Credit
  • Charge
  • Token gateway

Server SCL brochure

img 1MB

Client SCL brochure

img 1MB

Configuration Interface

The DLMS SCL provides a rich configuration interface. Implementers of the SCL can configure:

  • Logical Device
  • Associations
  • Objectlist with access rights

Multiple associations may be configured with different Application Contexts, Authentication Mechanisms and Conformance block services:

  • Complete OBIS and/or SN list of supported objects supported
  • Static Information for each object
  • Capture Object lists for Profile, Push setup

 Generic objects

  • Configurable Buffer Sizes
  • LN/ SN support
  • Interface Classes support

Data interface: The Data interface to the Meter consists of a set of functions that are called on receipt of DLMS get/set or actions request from a client (or their SN equivalents). The SCL will process the request, take care of access-privilege checking and call appropriate methods in the data interface.

Security interface: Security interface interconnects DLMS stack with crypto library required for supporting the encryption/authentication/signature requirements as per DLMS security suite.

Integration to Meter data

The SCL as it ships, assumes a typical subset of object attributes to be static. Implementers can modify this subdivision and choose which all attributes of an object need to be dynamic (where values change dynamically and need to be updated from meter) by minor editing in certain source files.

The values for the static attributes of all supported objects are normally filled in the Configuration Interface. If the implementer chooses to modify the static/dynamic subdivision of objects, the implementer will have to modify the static initialization of the objects in the Configuration interface to suit the new arrangement.

The SCL will have a sample implementation to clarify the structure and semantics of each object and it’s supporting structures. The implementer’s role is to edit the initialization of structure variables to suit his requirement. The static information of requested objects will be retrieved by the SCL itself, and the implementer only needs to fill in the dynamic values from meter registers (using Data Interface functions).

Read More

Make An Enquiry

Get in touch with us to Know More.

Contact Us