Skip to main content
Home
for DLMS smart meters
Open source solutions for DLMS smart metering

Main navigation

  • Home
  • Products
  • About us
  • Open Source
  • Community
  • Forum
  • Downloads
User account menu
  • Log in

Breadcrumb

  1. Home
  2. Forums
  3. How Can We Know Next Frame Information From The Current Frame?

How can we know next frame information from the current frame?

Forum Rules

Before commenting read Forum rules

Don't comment the topic if you have a new question.

You can create a new topic selecting correct category from Gurux Forum and then create a new topic selecting "New Topic" from the top left.

By KhushbuBadheka , 17 April, 2020
Forums
Gurux.DLMS

Hi Mikko,

As per the flow of DLMS, GXByteBuffer contains all data from the different responses especially in Profile Generic data. But, have a query related to that.
I would like to know that which data of the response frame will say that next chunk of data will be there.

Thanks.

Profile picture for user Kurumi

Kurumi

6 years 1 month ago

Hi,

Hi,

There is no easy answer to this.

DLMS part depends on what kind of PDU is used. All possible PDUs are defined in the DLMS standard.
If you are using HDLC, frames are defined here:
https://en.wikipedia.org/wiki/High-Level_Data_Link_Control

BR,
Mikko

KhushbuBadheka

6 years 1 month ago

Thanks Mikko,

Thanks Mikko,

If we are using HDLC then can we have any idea for the next frame of the data?

Regards.

Profile picture for user Kurumi

Kurumi

6 years 1 month ago

Hi,

Hi,

There is the sequence number in HDLC frame. There is no answer to that. A sequence number is increased every time when you are sending or receiving the frame.

BR,

Mikko

KhushbuBadheka

6 years 1 month ago

Noted.

Noted.

However, if we read profile generic data in which bigger chunks are expected. In that case also we can use sequence number for the next chunk to be received?
Regards.

Profile picture for user Kurumi

Kurumi

6 years 1 month ago

Hi,

Hi,

Yes. I have to warn that the HDLC frame sequence number looks easy at first sight, but it's hard to implement. I strongly propose that you use our open source libraries.

BR,

Mikko

KhushbuBadheka

6 years 1 month ago

Thanks Mikko.

Thanks Mikko.

Yes we are using the open source libs, however we are still in the phase to find the way to get details of frames. Can you please give any idea about profile generic data receiving which are received in multiple blocks? How DLMS knows that how many blocks will be received and when the last block of the data is received?

Regards.

Profile picture for user Kurumi

Kurumi

6 years 1 month ago

Hi,

Hi,

You need to read DLMS standard documents. There is no easy answer to this. Basic idea is something like this:
Data is spirit to blocks. Each block is split to frames and each frame is sent using a wanted communication channel. How blocks are sent depends on the used command. There are several ways to send data in DLMS.

BR,
Mikko

KhushbuBadheka

6 years 1 month ago

Thanks Mikko.

Thanks Mikko.
However, if I wanted to read profile generic using HDLC then what is the frame calculation for that operation?
Can you please suggest anything to get idea related to this?

Regards.

Profile picture for user Kurumi

Kurumi

6 years 1 month ago

Hi,

Hi,

Frame ID depends on what last client sequence number. It's changing all the time.
You need to read this:
https://en.wikipedia.org/wiki/High-Level_Data_Link_Control

BR,
Mikko

KhushbuBadheka

6 years 1 month ago

Thanks Mikko.

Thanks Mikko.
Yes I read it last week. But can you please clear that where can I find Invocation counter and for each frame it is incremented right? If so then for all requests of profile generic read we have same incremented Invocation Counters in Request and Response frames.

Regards.

Profile picture for user Kurumi

Kurumi

6 years 1 month ago

Hi,

Hi,

The invocation counter is used for secured connections and you don't use them with HDLC. Check "HDLC control fields" from the HDLC spec. I'm sorry, but this is not easy and I can't give you simple instructions on how to do it.

BR,

Mikko

KhushbuBadheka

6 years 1 month ago

Thanks Mikko.

Thanks Mikko.

Got your point. So can I get confirmation that DLMS does merge data as it receives in GXByteBuffer prior to parse?

Thanks

Profile picture for user Kurumi

Kurumi

6 years 1 month ago

Hi,

Hi,

Yes, it's merged.

BR,
Mikko

KhushbuBadheka

6 years 1 month ago

Thanks, but if any data is

Thanks, but if any data is skipeed in between then how DLMS handles that?

Reagards.

Profile picture for user Kurumi

Kurumi

6 years 1 month ago

Hi,

Hi,

DLMS client sends ACK after reply is received from the meter. Meter sends next part after that.
There can be only one read at the time between the client and the meter.

BR,
Mikko

KhushbuBadheka

6 years 1 month ago

Noted. Thanks & Regards.

Noted.

Thanks & Regards.

  • Create new account
  • Reset your password

Hire Us!

Latest Releases

  • Tue, 06/09/2026 - 11:16
    gurux.dlms.java 4.0.95
  • Tue, 06/09/2026 - 10:03
    Gurux.DLMS.Python 1.0.199
  • Mon, 06/08/2026 - 13:39
    gurux.dlms.cpp 9.0.2606.0801
  • Mon, 06/01/2026 - 10:15
    gurux.dlms.cpp 9.0.2606.0101
  • Thu, 05/28/2026 - 16:06
    gurux.dlms.java 4.0.94

New forum topics

  • Error reading L&G Meter
  • Pass a TCP Client to GXNet
  • Australian EDMI Mk10D (Essential Energy area)
  • Strange mix of data notificiation vs get response
  • DLMS Connection
More

Who's new

  • Tuanhgg
  • Adel
  • charnon
  • Paddles
  • Miguel Ángel
RSS feed
Privacy FAQ GXDN Issues Contact
Follow Gurux on Twitter Follow Gurux on Linkedin