Skip to main content
Home
for DLMS smart meters

Main navigation

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

Breadcrumb

  1. Home
  2. GuruxDLMS.c ProfileGeneric Readout Fails

GuruxDLMS.c ProfileGeneric readout fails

By Pablo1610, 12 August, 2024
Forums
Gurux.DLMS

HI,

I'm experiencing problems when I'm reading the entries of a profile generic. This happens only with one profile generic, and when I read more data than 40-50 rows.

This error doesn't happen when I try to read other profiles with more rows or more data per row. And I able to read this profile when I choose to read the last 40 entries or by date.

I'm able to read other profiles in multiple packets, so I'm not understanding where is my problem.

I have attached an image with the debug information, and where the program returns the error.

The interface type that I'm using is wrapper and the PDU buffer size is 1024 bytes.

Here there is the output log for the DLMSDirector

GXDLMSDirector 9.0.2405.2803
Log created 15:27:37
15:27:38 Read object type ProfileGeneric index: 4
00 01 00 01 00 01 00 0D C0 01 C1 00 07 01 00 63 01 08 FF 04 00
<WRAPPER len="D" >
<SourceAddress Value="1" />
<TargetAddress Value="1" />
<PDU>
<GetRequest>
<GetRequestNormal>
<InvokeIdAndPriority Value="C1" />
<AttributeDescriptor>
<ClassId Value="0007" />
<InstanceId Value="0100630108FF" />
<AttributeId Value="04" />
</AttributeDescriptor>
</GetRequestNormal>
</GetRequest>
</PDU>
</WRAPPER>

15:27:38
00 01 00 01 00 01 00 09 C4 01 C1 00 06 00 00 00 04
<WRAPPER len="9" >
<SourceAddress Value="1" />
<TargetAddress Value="1" />
<PDU>
<GetResponse>
<GetResponseNormal>
<InvokeIdAndPriority Value="C1" />
<Result>
<Data>
<UInt32 Value="00000004" />
</Data>
</Result>
</GetResponseNormal>
</GetResponse>
</PDU>
</WRAPPER>

15:27:38 Read object type ProfileGeneric index: 5
00 01 00 01 00 01 00 0D C0 01 C1 00 07 01 00 63 01 08 FF 05 00
<WRAPPER len="D" >
<SourceAddress Value="1" />
<TargetAddress Value="1" />
<PDU>
<GetRequest>
<GetRequestNormal>
<InvokeIdAndPriority Value="C1" />
<AttributeDescriptor>
<ClassId Value="0007" />
<InstanceId Value="0100630108FF" />
<AttributeId Value="05" />
</AttributeDescriptor>
</GetRequestNormal>
</GetRequest>
</PDU>
</WRAPPER>

15:27:38
00 01 00 01 00 01 00 06 C4 01 C1 00 16 01
<WRAPPER len="6" >
<SourceAddress Value="1" />
<TargetAddress Value="1" />
<PDU>
<GetResponse>
<GetResponseNormal>
<InvokeIdAndPriority Value="C1" />
<Result>
<Data>
<Enum Value="01" />
</Data>
</Result>
</GetResponseNormal>
</GetResponse>
</PDU>
</WRAPPER>

15:27:39 Read object type ProfileGeneric index: 6
00 01 00 01 00 01 00 0D C0 01 C1 00 07 01 00 63 01 08 FF 06 00
<WRAPPER len="D" >
<SourceAddress Value="1" />
<TargetAddress Value="1" />
<PDU>
<GetRequest>
<GetRequestNormal>
<InvokeIdAndPriority Value="C1" />
<AttributeDescriptor>
<ClassId Value="0007" />
<InstanceId Value="0100630108FF" />
<AttributeId Value="06" />
</AttributeDescriptor>
</GetRequestNormal>
</GetRequest>
</PDU>
</WRAPPER>

15:27:39
00 01 00 01 00 01 00 16 C4 01 C1 00 02 04 12 00 00 09 06 00 00 00 00 00 00 0F 00 12 00 00
<WRAPPER len="16" >
<SourceAddress Value="1" />
<TargetAddress Value="1" />
<PDU>
<GetResponse>
<GetResponseNormal>
<InvokeIdAndPriority Value="C1" />
<Result>
<Data>
<Structure Qty="04" >
<UInt16 Value="0000" />
<OctetString Value="000000000000" />
<Int8 Value="00" />
<UInt16 Value="0000" />
</Structure>
</Data>
</Result>
</GetResponseNormal>
</GetResponse>
</PDU>
</WRAPPER>

15:27:39 Reading profile generic data 1.0.99.1.8.255
00 01 00 01 00 01 00 0D C0 01 C1 00 07 01 00 63 01 08 FF 02 00
<WRAPPER len="D" >
<SourceAddress Value="1" />
<TargetAddress Value="1" />
<PDU>
<GetRequest>
<GetRequestNormal>
<InvokeIdAndPriority Value="C1" />
<AttributeDescriptor>
<ClassId Value="0007" />
<InstanceId Value="0100630108FF" />
<AttributeId Value="02" />
</AttributeDescriptor>
</GetRequestNormal>
</GetRequest>
</PDU>
</WRAPPER>

15:27:39
00 01 00 01 00 01 03 EE C4 02 C1 00 00 00 00 01 00 82 03 E2 01 82 07 08 02 05 09 0C 07 F4 02 14 03 03 14 20 00 00 00 00 11 00 05 00 00 00 00 05 00 00 00 00 05 00 00 00 00 02 05 09 0C 07 F4 02 14 03 03 14 24 00 00 00 00 11 00 05 00 00 00 00 05 00 00 00 00 05 00 00 00 00 02 05 09 0C 07 F4 02 14 03 03 14 28 00 00 00 00 11 00 05 00 00 00 00 05 00 00 00 00 05 00 00 00 00 02 05 09 0C 07 F4 02 14 03 03 15 10 00 00 00 00 11 00 05 00 00 00 00 05 00 00 00 00 05 00 00 00 00 02 05 09 0C 07 F4 02 14 03 03 15 14 00 00 00 00 11 00 05 00 00 00 00 05 00 00 00 00 05 00 00 00 00 02 05 09 0C 07 F4 02 14 03 03 15 18 00 00 00 00 11 00 05 00 00 00 00 05 00 00 00 00 05 00 00 00 00 02 05 09 0C 07 F4 02 14 03 03 15 1C 00 00 00 00 11 00 05 00 00 00 00 05 00 00 00 00 05 00 00 00 00 02 05 09 0C 07 F4 02 14 03 03 15 20 00 00 00 00 11 00 05 00 00 00 00 05 00 00 00 00 05 00 00 00 00 02 05 09 0C 07 F4 02 14 03 03 15 24 00 00 00 00 11 00 05 00 00 00 00 05 00 00 00 00 05 00 00 00 00 02 05 09 0C 07 F4 02 14 03 03 15 28 00 00 00 00 11 00 05 00 00 00 00 05 00 00 00 00 05 00 00 00 00 02 05 09 0C 07 F4 02 14 03 03 15 2C 00 00 00 00 11 00 05 00 00 00 00 05 00 00 00 00 05 00 00 00 00 02 05 09 0C 07 F4 02 14 03 03 15 30 00 00 00 00 11 00 05 00 00 00 00 05 00 00 00 00 05 00 00 00 00 02 05 09 0C 07 F4 02 14 03 03 15 34 00 00 00 00 11 00 05 00 00 00 00 05 00 00 00 00 05 00 00 00 00 02 05 09 0C 07 F4 02 14 03 03 15 38 00 00 00 00 11 00 05 00 00 00 00 05 00 00 00 00 05 00 00 00 00 02 05 09 0C 07 F4 02 14 03 03 16 00 00 00 00 00 11 00 05 00 00 00 00 05 00 00 00 00 05 00 00 00 00 02 05 09 0C 07 F4 02 14 03 03 16 04 00 00 00 00 11 00 05 00 00 00 00 05 00 00 00 00 05 00 00 00 00 02 05 09 0C 07 F4 02 14 03 03 16 08 00 00 00 00 11 00 05 00 00 00 00 05 00 00 00 00 05 00 00 00 00 02 05 09 0C 07 F4 02 14 03 03 16 0C 00 00 00 00 11 00 05 00 00 00 00 05 00 00 00 00 05 00 00 00 00 02 05 09 0C 07 F4 02 14 03 03 16 10 00 00 00 00 11 00 05 00 00 00 00 05 00 00 00 00 05 00 00 00 00 02 05 09 0C 07 F4 02 14 03 03 16 14 00 00 00 00 11 00 05 00 00 00 00 05 00 00 00 00 05 00 00 00 00 02 05 09 0C 07 F4 02 14 03 03 16 18 00 00 00 00 11 00 05 00 00 00 00 05 00 00 00 00 05 00 00 00 00 02 05 09 0C 07 F4 02 14 03 03 16 1C 00 00 00 00 11 00 05 00 00 00 00 05 00 00 00 00 05 00 00 00 00 02 05 09 0C 07 F4 02 14 03 03 16 20 00 00 00 00 11 00 05 00 00 00 00 05 00 00 00 00 05 00 00 00 00 02 05 09 0C 07 F4 02 14 03 03 16 24 00 00 00 00 11 00 05 00 00 00 00 05 00 00 00 00 05 00 00 00 00 02 05 09 0C 07 F4 02 14 03 03 16 28 00 00 00 00 11 00 05 00 00 00 00 05 00 00 00 00 05 00 00 00 00 02 05 09 0C 07 F4 02 14 03 03 16 2C 00 00 00 00 11 00 05 00 00 00 00 05 00 00 00 00 05 00 00 00 00 02 05 09 0C 07 F4 02 14 03 03 16 30 00 00 00 00 11 00 05 00 00 00 00 05 00 00 00 00 05 00 00 00 00 02 05 09 0C 07 F4 02 14 03 03 17 10 00 00 00 00 11 00 05 00 00 09 4F 05 00 00 00 00 05 00 00 00 00 02 05 09 0C 07 F4 02 14 03 03 17 14 00 00 00 00 11 00 05 00 00 00 00 05 00 00 00 00 05 00 00 00 00 02 05 09 0C 07 F4 02 14 03 03 17 1C 00 00 00 00 11 00 05 00 00 00 00 05 00 00 00 00 05 00 00 00 00
<WRAPPER len="3EE" >
<SourceAddress Value="1" />
<TargetAddress Value="1" />
<PDU>
<GetResponse>
<GetResponsewithDataBlock>
<InvokeIdAndPriority Value="C1" />
<Result>
<LastBlock Value="00" />
<BlockNumber Value="00000001" />
<Result>
<RawData Value="018207080205090C07F40214030314200000000011000500000000050000000005000000000205090C07F40214030314240000000011000500000000050000000005000000000205090C07F40214030314280000000011000500000000050000000005000000000205090C07F40214030315100000000011000500000000050000000005000000000205090C07F40214030315140000000011000500000000050000000005000000000205090C07F40214030315180000000011000500000000050000000005000000000205090C07F402140303151C0000000011000500000000050000000005000000000205090C07F40214030315200000000011000500000000050000000005000000000205090C07F40214030315240000000011000500000000050000000005000000000205090C07F40214030315280000000011000500000000050000000005000000000205090C07F402140303152C0000000011000500000000050000000005000000000205090C07F40214030315300000000011000500000000050000000005000000000205090C07F40214030315340000000011000500000000050000000005000000000205090C07F40214030315380000000011000500000000050000000005000000000205090C07F40214030316000000000011000500000000050000000005000000000205090C07F40214030316040000000011000500000000050000000005000000000205090C07F40214030316080000000011000500000000050000000005000000000205090C07F402140303160C0000000011000500000000050000000005000000000205090C07F40214030316100000000011000500000000050000000005000000000205090C07F40214030316140000000011000500000000050000000005000000000205090C07F40214030316180000000011000500000000050000000005000000000205090C07F402140303161C0000000011000500000000050000000005000000000205090C07F40214030316200000000011000500000000050000000005000000000205090C07F40214030316240000000011000500000000050000000005000000000205090C07F40214030316280000000011000500000000050000000005000000000205090C07F402140303162C0000000011000500000000050000000005000000000205090C07F40214030316300000000011000500000000050000000005000000000205090C07F4021403031710000000001100050000094F050000000005000000000205090C07F40214030317140000000011000500000000050000000005000000000205090C07F402140303171C000000001100050000000005000000000500000000" />
</Result>
</Result>
</GetResponsewithDataBlock>
</GetResponse>
</PDU>
</WRAPPER>

15:27:39 Get Next Data block.
15:27:39 Reading profile generic data 1.0.99.1.8.255
00 01 00 01 00 01 00 07 C0 02 C1 00 00 00 01
<WRAPPER len="7" >
<SourceAddress Value="1" />
<TargetAddress Value="1" />
<PDU>
<GetRequest>
<GetRequestForNextDataBlock>
<InvokeIdAndPriority Value="C1" />
<BlockNumber Value="00000001" />
</GetRequestForNextDataBlock>
</GetRequest>
</PDU>
</WRAPPER>

15:27:39
00 01 00 01 00 01 00 05 C4 02 C1 01 03
No hay suficiente memoria para continuar ejecutando el programa.

System.OutOfMemoryException: No hay suficiente memoria para continuar ejecutando el programa.
en GXDLMSDirector.GXDLMSCommunicator.Read(Object sender, GXDLMSObject obj, Boolean forceRead)
en GXDLMSDirector.MainForm.Read(Object sender, GXAsyncWork work, Object[] parameters)

Image
Profile picture for user Kurumi

Kurumi

10 months 1 week ago

Hi, There is something wrong…

Hi,

There is something wrong with the meter. The meter returns an error when the client asks for more data. Also, the returned data is not in the correct format.

You need to ask the meter manufacturer if there is a firmware update available for the meter that fixes this.

You are actually reading all data from the meter, try to read only a few rows at a time. I believe it will help before the manufacturer has fixed it.

BR,
Mikko

Pablo1610

10 months 1 week ago

Hi Mikko, We are the ones…

Hi Mikko,

We are the ones developing the meter with the C DLMS stack. I have checked the data and the sizes and objects are the ones defined for this profile, so the data sizes should be good.

The data in the registers maybe it's wrong because we are debuggin the meter, so we are not caring about how's the data inside the registers.

If we read less rows it's okey. The problem it's when we read more rows or the full data.

Best,
Pablo

Profile picture for user Kurumi

Kurumi

10 months 1 week ago

Hi Pablo, Check the svr…

Hi Pablo,

Check the svr_preRead. The meter returns correct data to the first time, but there is something wrong when the client aks the next block.

BR,
Mikko

  • Log in or register to post comments
  • Create new account
  • Reset your password

Hire Us!

Latest Releases

  • Thu, 06/19/2025 - 09:33
    Gurux.DLMS.Python 1.0.185
  • Wed, 06/18/2025 - 15:11
    Gurux.DLMS.Python 1.0.184
  • Wed, 06/18/2025 - 10:05
    Gurux.DLMS.Python 1.0.183
  • Wed, 06/18/2025 - 09:06
    GXDLMSDirector 9.0.2506.1801
  • Wed, 06/18/2025 - 08:41
    Gurux.DLMS.Net 9.0.2506.1801

New forum topics

  • HLS GMAC L+G 570
  • Unable to read parameter values from Landis+Gyr E550 meter using GXDLMSDirector - NoAccess status
  • data.SetComplete(false); But all data recieved
  • Crash (endless loop)
  • Server is not able to download object list with maxPduSize 64 or 128 (or anything below 156-bytes PDU size)
More
RSS feed
Privacy FAQ GXDN Issues Contact
Follow Gurux on Twitter Follow Gurux on Linkedin