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 I Continue To Receive Data From TGXReplyData.data?

How can I continue to receive data from TGXReplyData.data?

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 TaeSoo_Han , 30 October, 2019
Forums
Gurux.DLMS

Hello Sir,

Thanks a lot for your good comment from Gurux.DLMS.delphi problem.

Now, I am facing problem that limit size of TGXReplyData.Data (2byte, 0 ~ 65535).

I am trying to get data form TGXReplyData.Data and overall data size is more than 90kbytes.

When I get data from TGXDLMSClient.GetData(reply: TBytes; data: TGXReplyData),

I have problem of continual getting data from TGXReplyData.data because of limitation of TGXByteBuffer buffier size during Load profile process of DLMS.

I compare data size in my source code as bellows;

if TGXReplyData.Data.Size >= 655,00 then
begin
- Store TGXReplyData.Data to buffer in my source code.
- TGXReplyData.Data.Clear;
end;

but continual getting data from TGXReplyData.Data is not exact because discontinuity of data from changing state of size ( 65535 to 0 ) in TGXReplyData.Data.

I tried to change data size of TGXByteBuffer in Gurux.DLMS library, but
I faced problem SetLength( FData, cap ) from TGXByteBuffer.Capacity(cap : integer --> double);

So, I found that changing code of Gurux.DLMS library is not correct.

How can I solve this problem about limitation of buffer size in TGXByteBuffer?

Please comment me to get continual data from TGXReplyData.Data.

Thanks a lot.

TaeSoo_Han

6 years 7 months ago

Sir, I solved the problem to

Sir, I solved the problem to set data size as bellows;

if TGXReplyData.Data.Size >= 650,00 then
begin
- Store TGXReplyData.Data to buffer in my source code.
- TGXReplyData.Data.Clear;
end;

I get continuous data from TGXReplyData.Data of "TGXDLMSClient.GetData(reply: TBytes; data: TGXReplyData) "

Thanks a lot

Profile picture for user Kurumi

Kurumi

6 years 7 months ago

Hi,

Hi,

Max PDU size is 65535 (0xFFFF), so the meter can't return so much data.

What you try to read?

BR,

Mikko

TaeSoo_Han

6 years 7 months ago

Hello, Sir

Hello, Sir

I am try to read data as bellows;
01 0A

02 02
11 00
01 0C

02 03 09 04 00 00 00 00 09 06 00 00 0A 00 64 FF 12 00 01
02 03 09 04 03 00 00 00 09 06 00 00 0A 00 64 FF 12 00 02
02 03 09 04 06 00 00 00 09 06 00 00 0A 00 64 FF 12 00 03
02 03 09 04 09 00 00 00 09 06 00 00 0A 00 64 FF 12 00 04
02 03 09 04 0C 00 00 00 09 06 00 00 0A 00 64 FF 12 00 01
02 03 09 04 0F 00 00 00 09 06 00 00 0A 00 64 FF 12 00 02
02 03 09 04 12 00 00 00 09 06 00 00 0A 00 64 FF 12 00 03
02 03 09 04 15 00 00 00 09 06 00 00 0A 00 64 FF 12 00 04
02 03 09 04 FF FF FF FF 09 06 00 00 0A 00 64 FF 12 00 00
02 03 09 04 FF FF FF FF 09 06 00 00 0A 00 64 FF 12 00 00
02 03 09 04 FF FF FF FF 09 06 00 00 0A 00 64 FF 12 00 00
02 03 09 04 FF FF FF FF 09 06 00 00 0A 00 64 FF 12 00 00

02 02
11 01
01 0C

02 03 09 04 00 00 00 00 09 06 00 00 0A 00 64 FF 12 00 02
02 03 09 04 03 00 00 00 09 06 00 00 0A 00 64 FF 12 00 03
02 03 09 04 06 00 00 00 09 06 00 00 0A 00 64 FF 12 00 04
02 03 09 04 09 00 00 00 09 06 00 00 0A 00 64 FF 12 00 01
02 03 09 04 0C 00 00 00 09 06 00 00 0A 00 64 FF 12 00 02
02 03 09 04 0F 00 00 00 09 06 00 00 0A 00 64 FF 12 00 03
02 03 09 04 12 00 00 00 09 06 00 00 0A 00 64 FF 12 00 04
02 03 09 04 15 00 00 00 09 06 00 00 0A 00 64 FF 12 00 01
02 03 09 04 FF FF FF FF 09 06 00 00 0A 00 64 FF 12 00 00
02 03 09 04 FF FF FF FF 09 06 00 00 0A 00 64 FF 12 00 00
02 03 09 04 FF FF FF FF 09 06 00 00 0A 00 64 FF 12 00 00
02 03 09 04 FF FF FF FF 09 06 00 00 0A 00 64 FF 12 00 00

02 02
11 02
01 0C

02 03 09 04 00 00 00 00 09 06 00 00 0A 00 64 FF 12 00 03
02 03 09 04 03 00 00 00 09 06 00 00 0A 00 64 FF 12 00 04
02 03 09 04 06 00 00 00 09 06 00 00 0A 00 64 FF 12 00 01
02 03 09 04 09 00 00 00 09 06 00 00 0A 00 64 FF 12 00 02
02 03 09 04 0C 00 00 00 09 06 00 00 0A 00 64 FF 12 00 03
02 03 09 04 0F 00 00 00 09 06 00 00 0A 00 64 FF 12 00 04
02 03 09 04 12 00 00 00 09 06 00 00 0A 00 64 FF 12 00 01
02 03 09 04 15 00 00 00 09 06 00 00 0A 00 64 FF 12 00 02
02 03 09 04 FF FF FF FF 09 06 00 00 0A 00 64 FF 12 00 00
02 03 09 04 FF FF FF FF 09 06 00 00 0A 00 64 FF 12 00 00
02 03 09 04 FF FF FF FF 09 06 00 00 0A 00 64 FF 12 00 00
02 03 09 04 FF FF FF FF 09 06 00 00 0A 00 64 FF 12 00 00

...
up to 6420 lines, but I can read data when TGXReplyData.Data.Size >= 650,00, I can read from zero position of data by doing TGXReplyData.Data.Clear;

processing load profile needs to get data more than 65535 in my meter and it goes well now.

  • 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