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)
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
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
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