Pages

Monday, January 16, 2012

DLMS stack for PIC® microcontrollers developed by Microchip

A DLMS protocol stack that is optimised for 16-bit PIC® microcontrollers (MCUs) has been developed by Microchip and Kalki Communication Technologies Ltd.

To make the DLMS certification process faster and easier, the software stack has been tested and verified by the DLMS User Association and is customised to operate on all of Microchip’s 16-bit PIC® microcontrollers and dsPIC® Digital Signal Controllers (DSCs). Additionally, the stack has been developed to ensure seamless integration with Microchip’s communication protocol stacks, including TCP/IP, ZigBee® and PLC, to cover a broad spectrum of smart energy applications. The small memory footprint enables the use of the most compact and cost-effective MCUs. For European applications, the stack provides support for the IEC 62056-21 Mode E implementation.


The Explorer 16 Development Board can be used to develop DLMS solutions using Microchip’s portfolio of 16-bit MCUs and DSCs.


This new DLMS stack is available in four versions: A free DLMS Evaluation Library for 16-bit MCUs, the DLMS-lite Stack for 16-bit MCUs (SW500160), the DLMS Stack for 16-bit MCUs (SW500162), and the DLMS Explorer (SW500164) Windows® based DLMS/COSEM client application.

IEC 62056 - DLMS/COSEM Training

IEC-62056 / DLMS COSEM - Comprehensive Training Program IEC 62056 - DLMS/COSEM Training

DLMS - COSEM (IEC 62056) Source Code Products and Solutions

DLMS - COSEM (IEC 62056) Source Code Products and Solutions DLMS Overview DLMS Metering Communication Protocol, standardized under the IEC-62056 series, comprises mainly of the ...

Gurux DLMS/COSEM

Gurux DLMS/COSEM component is designed to simplify communication with DLMS/COSEM devices. With Gurux DLMS/COSEM you can easily communicate with DLMS/COSEM devices, by using the data connection, and the device manufacturer of your own choice. The component is part of the Gurux GXCom component package, and is based on the Microsoft COM technology. Gurux DLMS/COSEM protocol component is OpenSource, and therefor available to anyone interested.
To be able to utilize the Gurux DLMS/COSEM component completely, you need at least a Pentium II class PC compatible computer, with at least 64 MB of RAM and 10 MB of free hard disk space. The component supports Windows NT 4.0, 2000, XP, Vista (32-bit and 64-bit) and 7.
The DLMS/COSEM component is designed to help you to develop DLMS/COSEM based communication solutions using TCP/IP, terminal or serial port connection.
If you are not familiar with DLMS/COSEM, check the supported standard IEC 62056, parts 21, 42, 46, 47, 53, 61 and 62. The component comes with context help, and sample codes.
Before using DLMS/COSEM component, at least the ClientID and ServerID must be set. You might need to set also the InterfaceType property, and check the manufacturer if the device supports IEC 62056-47.If ClientID, ServerID or IntefaceType are wrong, device usually does not reply at all. For instructions, how to initialize different connection types, and how to communicate with the actual physical device, see the context help of the component.
You are also welcome to comment the component at Gurux Forum, at http://www.gurux.org

GuruxDLMS component for Java

GuruxDLMS component for Java is not Open Source,
but Gurux Community Members can download the component,
for non-commercial use.
 

No more wasting money and time on coding DLMS

With Gurux DLMS for Java you can easily build an Automatic Meter Reading system (AMR) to meet your needs.

See GuruxDLMS4Java Help


If you have any questions, problems, or suggestions, concerning Gurux DLMS for Java, please,

post a message to Gurux forum.
 

One and only DLMS Component for Java

Gurux DLMS for Java is designed to simplify communication with DLMS/COSEM devices. DLMS (Device Language Message Specification) is a widely used standard (IEC 62056) in electronic meters and devices. For example, many electricity meters run on DLMS.

Currently Gurux DLMS for Java supports connection types

  • TCP/IP
  • Serial port
  • Terminal

GuruxDMLS for Java covers several standards

Gurux DLMS for Java is based on the following Electricity metering - Data exchange for meter reading, tariff and load control standards
  • IEC 62056-21 Direct local data exchange
  • IEC 62056-42 Physical Layer Services and Procedures for Connection-Oriented Asynchronous Data Exchange
  • IEC 62056-46 Data link layer using HDLC protocol
  • IEC 62056-47 COSEM transport layers for IPv4 networks
  • IEC 62056-53 COSEM application layer
  • IEC 62056-61 OBIS Object identification system
  • IEC 62056-62 Interface objects

Saturday, January 14, 2012

DLMS/COSEM


Kalki's DLMS Source Code Libraries are designed to help you support DLMS on your metering hardware within a very short time, with field proven and conformance tested implementation. The libraries are ANSI C Source Code which can be cross-compiled into your target platform. The Source Code Libraries are available for both Client and Server DLMS-COSEM applications.

DLMS COSEM Source Code Library now supports DLMS COSEM TCP/IP UDP Profile also.

Key advantages of Kalkitech DLMS COSEM Source Code Library
·         ANSI C Code that can run on all ANSI C compilers and processors
·         More than 40+ meter implementations
·         DLMS UA Certified
·         Client & Server Source Code
·         Client Test Tools for validating your implementation in the meter or modem
·         Implementation Consulting
·         Training
·         Flexible Licensing for Meters, AMR Software, Hand-Held readers, Modems, Data Concentrators etc.,
·         Supports INDIAN DLMS COSEM Companion Standard

COSEM Application Layer


 


APPLICATION CONTEXTS:


The Protocol stack supports both Short Name (SN) and Logical-Name (LN) referencing with no ciphering.

AUTHENTICATION MECHANISMS:


Supports NO_SECURITY and LOW_LEVEL_SECURTIY mechanisms. HIGH_LEVEL_SECURITY mechanisms can be built in on request.

CONFORMANCE BLOCK:


The stack supports the following featured services in the DLMS Conformance-block.
  • GET
  • SET
  • ACTION
  • SELECTIVE ACCESS
  • BLOCK TRANSFER WITH GET
  • BLOCK TRANSFER WITH SET

SN Services


  • READ
  • WRITE
  • PARAMETERIZED ACCESS
Further advanced feature -bits in the conformance block in progress for an upcoming release
  • ATTRIBUTE 0 WITH SET
  • MULTIPLE REFERENCES

INTERFACE CLASSES:


The stack supports the following Interface Classes and their Instantiation
  • DATA
  • REGISTER
  • EXTENDED REGISTER
  • DEMAND REGISTER
  • PROFILE GENERIC
  • CLOCK
  • SPECIAL DAYS TABLE
  • ACTIVITY CALENDAR .
  • ASSOCIATION LN
  • ASSOCIATION SN
  • SAP ASSIGNMENT
  • SINGLE ACTION SCHEDULE
  • IEC LOCAL PORT SETUP
  • MODEM CONFIGURATION
  • AUTO ANSWER
  • IEC HDLC SETUP CLASS
  • TCP-UDP SETUP
  • IPV4 SETUP
  • ETHERNET SETUP
  • GPRS MODEM SETUP
  • SMTP SETUP

OBIS CODES:

  • The complete range of standard OBIS Codes related to the above-mentioned Interface Classes can be configured in to the system.

HDLC DATALINK LAYER:

  • Addressing : Supports 1 -byte, 2-byte and 4-byte addressing

TIMEOUTS:

  • Supports Inactivity, Interframe and Response timeouts

DLMS COSEM Indian Companion Specification Support

  • Indian Companion Specification Support
  • Tamper Table Support
  • Security Support
  • GPRS Profile Support for R-APDRP
  • Consulting and Training for adopting Indian Companion Specification
    DLMS / IEC 62056 Consulting and Development Services
    • Project Startup Assistance
    • External Reviews
    • Knowledge transfer and training
    • Protocol Implementation Design Document (PID)
    • API requirements for customer systems & architecture
    • Designing of specific interfaces based on the current H/W and S/W setup
    • Validation Testing

    DLMS / IEC 62056 Validation and Training
    • Preparing test plan
    • Conformance testing
    • Training (Basic and Detailed)
    DLMS / IEC 62056 Life Cycle Support after development
    • Interoperability testing on site
    • Consultancy and Problem investigation service at factory and customer sites.
    • Turnkey Protocol Implementation, Validation and Life Cycle Support
    Turnkey DLMS / IEC 62056 Implementation Kalki undertakes turnkey IEC 62056 Client and Server protocol implementation on your SCADA, RTU's, IED's, PLC's, Meters etc., Kalki's implementation ensures complete compliance with the standards and conformance test specifications.

    http://www.kalkitech.com/offerings/sync-sync_solutions-dlms_cose_source_code_library?gclid=CJDQvd-D0a0CFUF66wodrD7DnA

DLMS/COSEM packages

The COSEM/DLMS packages are software components that greatly simplify the writing of COSEM/DLMS client applications.
The packages are written in C++, C# or Java and are delivered in source format.
Each package consists of 3 components called ezhdlc, wrapper and xmlpdu.
  • ezhdlc is an HDLC components that implements a simplified variant of the HDLC layer of the ''3 layers HDLC-based communication profile'' as defined by the COSEM/DLMS ''Green Book''
  • wrapper implements the WRAPPER layer of the ''TCP-UDP/IP based communication profile''
  • xmlpdu implements the translation of COSEM related services, like ''Get'', ''Set'', ''Read'', ''Write'', etc.. to and from a straightforward xml presentation.
In the C++ variant, each component is implemented as a DLL. In the C# and Java variants, the components are implemented as classes.
The ezhdlc and the wrapper components rely on mechanisms provided by the the client code to ''send the bytes'' to the peer layer, respectively to ''receive the bytes'' from the peer layer.  The C++ implementation relies on callback routines, the C# implementations relies on a ''System.IO.Stream'' and the Java implementation relies on a pair of ''java.io.InputStream'' and ''java.io.OutputStream''. For example, if the connection with the target equipment is via a serial line, then the client application has to ''open'' the communication first and then it has to send and receive data to and from that serial-line, as requested by the HDLC or WRAPPER layers. In this architecture, the HDLC and WRAPPER layers are completely independent of their supporting layer. Furthermore, the client application is in total control of the communication setup, for example, it may have to dial the phone number of a remote modem or to perform a wake-up or a ''MODE-E'' opening.
The xmlpdu component is purely procedural. It only translates xml formatted COSEM services into application-layer protocol data units (APDU) and vice-versa.

For example...

We assume that the our client application runs on a PC and wants to communicate with a meter via a serial-line, using the HDLC profile. Using the C++ package, we have to write two (callback) routines able to send and receive data to and from the peer layer via the serial-line. Then, to perform a COSEM/DLMS transfer we do the following:
  1. We open a serial-line connection and set its parameters (baud,...).
  2. We  creates an ''HDLC instance'', using ezhdlc.HDLCCreateInstance()  and set its parameters: the client address, the server addresses and the two callback routines.
  3. Then, we create the HDLC connection with  ezhdlc.HDLCConnect()
  4. We fill an internal buffer with the XML-element for an AssociationReques which looks like this:
  5. <AssociationRequest>   <ApplicationContextName Value="SN" />   <InitiateRequest>     <ProposedDlmsVersionNumber Value="06" />     <ProposedConformance>       <ConformanceBit Name="ParametrizedAccess" />       <ConformanceBit Name="MultipleReferences" />       <ConformanceBit Name="Write" />       <ConformanceBit Name="Read" />     </ProposedConformance>     <ProposedMaxPduSize Value="FFFF" />   </InitiateRequest> </AssociationRequest>
  6. We pass the internal buffer to xmlpdu.XmlToPdu() which translates the XML-element into a byte-sequence of the corresponding COSEM APDU.
  7. We pass this byte-sequence to ezhdlc.HDLCSendReceive() that sends the data to the other side, waits for a response and finally, returns another byte-sequence containing the response APDU.
  8. We pass this received byte-sequence to xmlpdu.PduToXml() that translates it back into a plain text XML-element. The response may look like this:
  9. <AssociationResponse>   <ApplicationContextName Value="SN" />   <AssociationResult Value="00" />   <ResultSourceDiagnostic>     <AcseServiceUser Value="00" />   </ResultSourceDiagnostic>   <InitiateResponse>     <NegotiatedDlmsVersionNumber Value="06" />     <NegotiatedConformance>       <ConformanceBit Name="ParametrizedAccess" />       <ConformanceBit Name="MultipleReferences" />       <ConformanceBit Name="Write" />       <ConformanceBit Name="Read" />     </NegotiatedConformance>     <NegotiatedMaxPduSize Value="0960" />     <VaaName Value="FA00" />   </InitiateResponse> </AssociationResponse>
  10. We process the received xml.
  11. We repeat the steps 4 to 8, with other Request / Response exchanges.
  12. Then, we close the connection with ezhdlc.HDLCDisconnect().
  13. Finally, we destroy the HDLC instance with ezhdlc.HDLCDestroyInstance() and close the serial-connection
Several demo projects in C++, C# and Java are available here

http://icube.ch/dlmscosem_packages.html

Device Language Message Specification

Device Language Message Specification (DLMS) is an application layer protocol designed to support messaging to and from energy distribution devices in a computer integrated environment. Companion Specification for Energy Metering (COSEM) is an interface model of communicating energy metering equipment, providing a view of the functionality available through the communication interfaces. The data model uses generic building blocks to define the complex functionality of the meter as it is available at its interfaces.
Communication with electricity metering equipment using the COSEM interface classes is based on the client – server paradigm, where the Metering Equipment plays the role of server and the client is a Meter Reading Instrument. A complete protocol stack which includes the application layer, a physical layer and all protocol layers between the two end layers is called a Communication Profile.


http://www.sandsindia.com/dlms.php

PortaOne Extends PortaMDM Capabilities To Meet Smart Metering Needs Of Facility Managers

PortaOne today announced a series of upgrades and improvements to its PortaMDM metering and billing software platform for electric, gas, heating, water and sewer smart meters. Leading the improvements is an extended list of supported smart meters including models from Veris, Acuvim, Dent, Conzerv, Contrel, and Itron/Actaris; also included is an extension to PortaMDM’s data monitoring capabilities enabling customers to analyze and generate reports on power quality.
Other new functionality in PortaMDM includes support for the most common smart meter industry standards: DLMS/COSEM. DLMS (Device Language Message Specification) is a standard for modeling the functionality of a smart meter as defined by the DLMS User Association; COSEM (COmpanion Specification for Energy Metering) is the rule set governing the exchange of data with energy meters.
“Simply put, PortaMDM is a one-stop solution for every brand and every model of smart meter across all utility types—electricity, gas, heating, water and sewer,” said Roman Khalenkov, Sales and Marketing Director for PortaOne. “With one software platform, customers can monitor virtually every aspect of their utility use with an eye toward lowering expenses, improving service, and helping to reduce consumption of scarce resources. Whether for office buildings, multi-tenant housing, shopping malls, factories or other facilities, PortaMDM provides powerful, comprehensive and easy-to-understand information.”
According to Khalenkov, PortaOne’s commitment to smart meter ubiquity extends to PortaMDM licensing. With each license, users are entitled to development time by PortaOne engineers for any smart meter brand or model not currently supported. The move ensures that all meters will integrate with the PortaMDM metering and billing platform.


Power Quality Analytics
PortaMDM’s versatile billing engine lets service providers and users alike view cost and consumption according to any rating scheme in practice, such as time of day, reactive energy, or committed volume. The engine can rate consumption according to whatever configuration, rules and tariffs set by the utility or, in commercial settings, the property manager.
In addition to billing data, however, PortaMDM can retrieve and monitor any other pertinent data a given meter provides. Users can choose which measurements will be retrieved from a particular meter, specify the sampling rate, and then view graphs for those measurements both in real time and over any past time period.
PortaMDM’s new power analytics capability is especially important for monitoring quality and consistency of power delivery. With the capability, users can measure true, reactive, and apparent power in the network as well as harmonics and short-duration voltage variation (e.g., voltage sags, voltage swells and interruptions). The software can also obtain data on voltage imbalance, frequency deviation and other power quality disturbances that may impact machinery or other sensitive equipment onsite.


Free 90-Day Trial License
Each PortaMDM commercial license includes initial configuration assistance, onsite or offsite training, customizable white-label statements, ten hours of complimentary plug-in development for any model or brand of smart meter, six months of premium PortaCare (24/7 phone, IM and email) technical support, and lifelong software updates with rollback capability.
Interested may also download a fully-functional, 90-day trial license for non-commercial use. Download and installation requires no registration. For complete details and product description, along with PortaMDM distributor/reseller opportunities, go to www.portamdm.com.



DLMS/COSEM - knowledge and information

Distributing knowledge and information about DLMS/COSEM and its applications is one of the important activities of the DLMS User Association.

Training seminars and consultations are important tools for informing existing and potential users about the specification and latest developments. They also provide feedback to us about expectations of new users and everyday experience. These events give also great networking opportunities.

Since the first pre-conference seminar given at the Metering Europe Conference and Exhibition in Amsterdam in 2002, the DLMS UA uses this opportunity each year to meet and inform its existing and potential members on the specification.

Given the growing interest from Asia in DLMS/COSEM, since 2006 we also participate on the Metering Asia events, and propose the DLMS/COSEM pre-conference seminar. The seminars held in Beijing in 2006 and in Bangkok in 2007, attracted experts not only from Asia, but from all over the world as well.

In addition, we have been invited for tailor-made training seminars. The largest event of this kind took place in Bangalore, India, in 2004, where some 150 people attended a four-day seminar and never stopped bombarding the seminar leader with questions.

In May this year, we have been invited to give a similar training course in Seoul, Korea. From this country, 13 members have joined the DLMS User Association since the strategic decision of KEPCO to use IEC 62056 DLMS/COSEM for its communicating meters. There were 42 participants on this 3-day seminar.

During these years, there were more than 300 attendees having received up-to-date, first hand information.

The next seminar is offered as a pre-conference seminar to Metering Europe to be held in Vienna, Austria on 1st October 2007. On this event, results of the PLC standardisation work will also be given (see MI 2/2007).


http://www.dlms.com/news/073dlmscosemknowledgeandinformation.html

DLMS Training

Two-day training course regarding the capabilities, benefits and recent developments of the DLMS/COSEM communication protocol


Description:
Correct exchange of meter data is of major importance in the liberalized energy market. Remote energy meter interrogation is essential or the fast and reliable determination of balance or unbalance between forecasts and actual energy usage in a fast and reliable way remote interrogation of energy meters is unavoidable. The data collection protocol DLMS/COSEM is an international standard that is ideal for this purpose. This course will provide you with the knowledge you need regarding the capabilities and benefits of DLMS/COSEM communication and regarding recent developments in this field. Result At the conclusion of the course, you will be familiar with the DLMS/COSEM communication standard, you will know how to go about implementing DLMS/COSEM in your device and you will know how to test your implementation. Registration fee: EUR 1500 per person (lunch included, VAT excluded) For more information and registration on this two-day training course, please refer to the leaflet and the registration form. Upon request, KEMA can also provide an in-house training course in the English or Dutch language (content, location and duration of the course can be adapted to the client's wishes). Click here for an impression of the datacommunication training courses in 2010.

Subjects:
• Introduction • Open communication protocols • Overview DLMS/COSEM • Device modeling • COSEM classes and OBIS codes • DLMS services SN and LN • DLMS protocol layers • DLMS over HDLC and IP • Encoding DLMS frames • Application Association Request / Response • Exercises with DLMS test tools • Conformance testing • Common problems • Evaluation and comparison to other protocols • Questions and discussion

Target Audience:
Developers, consultants and telecom engineers at manufacturers and end-user utilities who require up-to-date knowledge about DLMS/COSEM.

Language:
English or Dutch (depending on the group composition); course material in English

Start date:
March 19, 2012

End date:
March 20, 2012

Location:
Arnhem (The Netherlands) 
 
http://www.kema.com/services/training/Training-courses/Data-communication/DLMS.aspx

What is DLMS/COSEM ?

Automatic Meter Reading, or more general - Demand Side Management - needs universal definitions, needs communication standards. DLMS/COSEM is the common language so that the partners can understand each other.

DLMS:
“Device Language Message specification” - a generalised concept for abstract modelling of communication entities

COSEM:
“COmpanion Specification for Energy Metering” - sets the rules, based on existing standards, for data exchange with energy meters



What is DLMS/COSEM?


- An object model, to view the functionality of the meter, as it is seen at its interface(s)


- An identification system for all metering data


- A messaging method to communicate with the model and to turn the data to a series of bytes


- A transporting method to carry the information between the metering equipment and the data collection system 

DLMS

DLMS or Device Language Message Specification (originally Distribution Line Message Specification), is the suite of standards developed and maintained by the DLMS User Association and has been co-opted by the IEC TC13 WG14 into the IEC 62056 series of standards. COSEM or Companion Specification for Energy Metering, includes a set of specifications that defines the Transport and Application Layers of the DLMS protocol. The DLMS User Association defines the protocols into a set of three specification documents namely Green Book, Yellow Book and Blue Book.
The IEC TC13 WG 14 defines the DLMS specifications under the common heading: "Electricity metering - Data exchange for meter reading, tariff and load control."
  • IEC 62056-21: Direct local data exchange (3d edition of IEC 61107) describes how to use COSEM over a local port (optical or current loop)
  • IEC 62056-42: Physical layer services and procedures for connection-oriented asynchronous data exchange
  • IEC 62056-46: Data link layer using HDLC protocol
  • IEC 62056-47: COSEM transport layers for IPv4 networks
  • IEC 62056-53: COSEM Application layer
  • IEC 62056-61: Object identification system (OBIS)
  • IEC 62056-62: Interface classes