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. An Infinite Request For The Next Pblock Is Initiated

an infinite request for the next pblock is initiated

By Roberto , 3 June, 2024
Forums
Gurux.DLMS

Good afternoon!
I encountered the following problem when using the latest version of the Gurux.DLMS.Net library:

I'm using Gurux.DLMS.Meter.Listener.Net and trying to read the "8201" object we created with the following query:
C301C1200900005E07C9FF0301020309060000636203FF01030204050001D4C809060000010000FF1102050001D4C00204050001D4C8090600005E07800A1102050001D4C00204050001D4C809060000600B03FF1102050001D4C0010202040204050001D4C809060000010000FF1102050001D4C005000000000500000000050000000002040204050001D4C3090600005E07800A1102050001D4C0050000000005000000000500000000

<ActionRequest>
<ActionRequestNormal>
<!-- Priority: High, ServiceClass: Confirmed, Invoke ID: 1 -->
<InvokeIdAndPriority Value="C1" />
<MethodDescriptor>
<!-- 8201 -->
<ClassId Value="2009" />
<!-- 0.0.94.7.201.255 -->
<InstanceId Value="00005E07C9FF" />
<MethodId Value="03" />
</MethodDescriptor>
<MethodInvocationParameters>
<Structure Qty="03" >
<!-- 0.0.99.98.3.255 -->
<OctetString Value="0000636203FF" />
<Array Qty="03" >
<Structure Qty="04" >
<Int32 Value="0001D4C8" />
<!-- 0.0.1.0.0.255 -->
<OctetString Value="0000010000FF" />
<UInt8 Value="02" />
<Int32 Value="0001D4C0" />
</Structure>
<Structure Qty="04" >
<Int32 Value="0001D4C8" />
<OctetString Value="00005E07800A" />
<UInt8 Value="02" />
<Int32 Value="0001D4C0" />
</Structure>
<Structure Qty="04" >
<Int32 Value="0001D4C8" />
<!-- 0.0.96.11.3.255 -->
<OctetString Value="0000600B03FF" />
<UInt8 Value="02" />
<Int32 Value="0001D4C0" />
</Structure>
</Array>
<Array Qty="02" >
<Structure Qty="04" >
<Structure Qty="04" >
<Int32 Value="0001D4C8" />
<!-- 0.0.1.0.0.255 -->
<OctetString Value="0000010000FF" />
<UInt8 Value="02" />
<Int32 Value="0001D4C0" />
</Structure>
<Int32 Value="00000000" />
<Int32 Value="00000000" />
<Int32 Value="00000000" />
</Structure>
<Structure Qty="04" >
<Structure Qty="04" >
<Int32 Value="0001D4C3" />
<OctetString Value="00005E07800A" />
<UInt8 Value="02" />
<Int32 Value="0001D4C0" />
</Structure>
<Int32 Value="00000000" />
<Int32 Value="00000000" />
<Int32 Value="00000000" />
</Structure>
</Array>
</Structure>
</MethodInvocationParameters>
</ActionRequestNormal>
</ActionRequest>

If the DLMS server has no more than approximately 24 records, the response arrives correctly and the session ends (without the “<PBlock>” tag).
But if the number of records exceeds this number, then I receive, firstly, an incomplete response, and secondly, this initiates an endless request on my part for the next PBlock, without waiting for a response (! I see this in the ReadDataBlock method of the GXDLMSReader class).
Here is the server's response to the my client’s request:
C702C100000000018203F5022801031907E8051805111C1400000080091052414F30303231323330313139373639050000000301031907E8051805111C1400000080091052414F30303231323330313139373639050000000301031907E8051805111C1400000080091052414F30303231323330313139373639050000000301031907E8051805111C1400000080091052414F30303231323330313139373639050000000301031907E8051805111C1400000080091052414F30303231323330313139373639050000000301031907E8051805111C1400000080091052414F30303231323330313139373639050000000301031907E8051805111C1400000080091052414F30303231323330313139373639050000000301031907E8051805111C1400000080091052414F30303231323330313139373639050000000301031907E8051805111C1400000080091052414F30303231323330313139373639050000000301031907E8051805111C1400000080091052414F30303231323330313139373639050000000301031907E8051805111C1400000080091052414F30303231323330313139373639050000000301031907E8051805111C1400000080091052414F30303231323330313139373639050000000301031907E8051805111C1400000080091052414F30303231323330313139373639050000000301031907E8051805111C1400000080091052414F30303231323330313139373639050000000301031907E8051805111C1400000080091052414F30303231323330313139373639050000000301031907E8051805111C1400000080091052414F30303231323330313139373639050000000301031907E8051805111C1400000080091052414F30303231323330313139373639050000000301031907E8051805111C1400000080091052414F30303231323330313139373639050000000301031907E8051805111C1400000080091052414F30303231323330313139373639050000000301031907E8051805111C1400000080091052414F30303231323330313139373639050000000301031907E8051805111C1400000080091052414F30303231323330313139373639050000000301031907E8051805111C1400000080091052414F30303231323330313139373639050000000301031907E8051805111C1400000080091052414F30303231323330313139373639050000000301031907E8051805111C1400000080091052414F30303231323330313139373639050000000301031907E8051805111C1400000080091052414F30303231323330313139373639050000000301031907E8051805111C1400000080091052414F30303231323330313139373639050000000301031907E8051805111C1400000080091052414F303032
<Structure Qty="28" >
<Array Qty="03" >
<!-- 24.05.2024 17:28:20Z -->
<DateTime Value="07E8051805111C1400000080" />
<!-- RAO0021230119769 -->
<OctetString Value="52414F30303231323330313139373639" />
<Int32 Value="00000003" />
</Array>
<Array Qty="03" >
<!-- 24.05.2024 17:28:20Z -->
<DateTime Value="07E8051805111C1400000080" />
<!-- RAO0021230119769 -->
<OctetString Value="52414F30303231323330313139373639" />
<Int32 Value="00000003" />
</Array>
<Array Qty="03" >
<!-- 24.05.2024 17:28:20Z -->
<DateTime Value="07E8051805111C1400000080" />
<!-- RAO0021230119769 -->
<OctetString Value="52414F30303231323330313139373639" />
<Int32 Value="00000003" />
</Array>
<Array Qty="03" >
<!-- 24.05.2024 17:28:20Z -->
<DateTime Value="07E8051805111C1400000080" />
<!-- RAO0021230119769 -->
<OctetString Value="52414F30303231323330313139373639" />
<Int32 Value="00000003" />
</Array>
<Array Qty="03" >
<!-- 24.05.2024 17:28:20Z -->
<DateTime Value="07E8051805111C1400000080" />
<!-- RAO0021230119769 -->
<OctetString Value="52414F30303231323330313139373639" />
<Int32 Value="00000003" />
</Array>
<Array Qty="03" >
<!-- 24.05.2024 17:28:20Z -->
<DateTime Value="07E8051805111C1400000080" />
<!-- RAO0021230119769 -->
<OctetString Value="52414F30303231323330313139373639" />
<Int32 Value="00000003" />
</Array>
<Array Qty="03" >
<!-- 24.05.2024 17:28:20Z -->
<DateTime Value="07E8051805111C1400000080" />
<!-- RAO0021230119769 -->
<OctetString Value="52414F30303231323330313139373639" />
<Int32 Value="00000003" />
</Array>
<Array Qty="03" >
<!-- 24.05.2024 17:28:20Z -->
<DateTime Value="07E8051805111C1400000080" />
<!-- RAO0021230119769 -->
<OctetString Value="52414F30303231323330313139373639" />
<Int32 Value="00000003" />
</Array>
<Array Qty="03" >
<!-- 24.05.2024 17:28:20Z -->
<DateTime Value="07E8051805111C1400000080" />
<!-- RAO0021230119769 -->
<OctetString Value="52414F30303231323330313139373639" />
<Int32 Value="00000003" />
</Array>
<Array Qty="03" >
<!-- 24.05.2024 17:28:20Z -->
<DateTime Value="07E8051805111C1400000080" />
<!-- RAO0021230119769 -->
<OctetString Value="52414F30303231323330313139373639" />
<Int32 Value="00000003" />
</Array>
<Array Qty="03" >
<!-- 24.05.2024 17:28:20Z -->
<DateTime Value="07E8051805111C1400000080" />
<!-- RAO0021230119769 -->
<OctetString Value="52414F30303231323330313139373639" />
<Int32 Value="00000003" />
</Array>
<Array Qty="03" >
<!-- 24.05.2024 17:28:20Z -->
<DateTime Value="07E8051805111C1400000080" />
<!-- RAO0021230119769 -->
<OctetString Value="52414F30303231323330313139373639" />
<Int32 Value="00000003" />
</Array>
<Array Qty="03" >
<!-- 24.05.2024 17:28:20Z -->
<DateTime Value="07E8051805111C1400000080" />
<!-- RAO0021230119769 -->
<OctetString Value="52414F30303231323330313139373639" />
<Int32 Value="00000003" />
</Array>
<Array Qty="03" >
<!-- 24.05.2024 17:28:20Z -->
<DateTime Value="07E8051805111C1400000080" />
<!-- RAO0021230119769 -->
<OctetString Value="52414F30303231323330313139373639" />
<Int32 Value="00000003" />
</Array>
<Array Qty="03" >
<!-- 24.05.2024 17:28:20Z -->
<DateTime Value="07E8051805111C1400000080" />
<!-- RAO0021230119769 -->
<OctetString Value="52414F30303231323330313139373639" />
<Int32 Value="00000003" />
</Array>
<Array Qty="03" >
<!-- 24.05.2024 17:28:20Z -->
<DateTime Value="07E8051805111C1400000080" />
<!-- RAO0021230119769 -->
<OctetString Value="52414F30303231323330313139373639" />
<Int32 Value="00000003" />
</Array>
<Array Qty="03" >
<!-- 24.05.2024 17:28:20Z -->
<DateTime Value="07E8051805111C1400000080" />
<!-- RAO0021230119769 -->
<OctetString Value="52414F30303231323330313139373639" />
<Int32 Value="00000003" />
</Array>
<Array Qty="03" >
<!-- 24.05.2024 17:28:20Z -->
<DateTime Value="07E8051805111C1400000080" />
<!-- RAO0021230119769 -->
<OctetString Value="52414F30303231323330313139373639" />
<Int32 Value="00000003" />
</Array>
<Array Qty="03" >
<!-- 24.05.2024 17:28:20Z -->
<DateTime Value="07E8051805111C1400000080" />
<!-- RAO0021230119769 -->
<OctetString Value="52414F30303231323330313139373639" />
<Int32 Value="00000003" />
</Array>
<Array Qty="03" >
<!-- 24.05.2024 17:28:20Z -->
<DateTime Value="07E8051805111C1400000080" />
<!-- RAO0021230119769 -->
<OctetString Value="52414F30303231323330313139373639" />
<Int32 Value="00000003" />
</Array>
<Array Qty="03" >
<!-- 24.05.2024 17:28:20Z -->
<DateTime Value="07E8051805111C1400000080" />
<!-- RAO0021230119769 -->
<OctetString Value="52414F30303231323330313139373639" />
<Int32 Value="00000003" />
</Array>
<Array Qty="03" >
<!-- 24.05.2024 17:28:20Z -->
<DateTime Value="07E8051805111C1400000080" />
<!-- RAO0021230119769 -->
<OctetString Value="52414F30303231323330313139373639" />
<Int32 Value="00000003" />
</Array>
<Array Qty="03" >
<!-- 24.05.2024 17:28:20Z -->
<DateTime Value="07E8051805111C1400000080" />
<!-- RAO0021230119769 -->
<OctetString Value="52414F30303231323330313139373639" />
<Int32 Value="00000003" />
</Array>
<Array Qty="03" >
<!-- 24.05.2024 17:28:20Z -->
<DateTime Value="07E8051805111C1400000080" />
<!-- RAO0021230119769 -->
<OctetString Value="52414F30303231323330313139373639" />
<Int32 Value="00000003" />
</Array>
<Array Qty="03" >
<!-- 24.05.2024 17:28:20Z -->
<DateTime Value="07E8051805111C1400000080" />
<!-- RAO0021230119769 -->
<OctetString Value="52414F30303231323330313139373639" />
<Int32 Value="00000003" />
</Array>
<Array Qty="03" >
<!-- 24.05.2024 17:28:20Z -->
<DateTime Value="07E8051805111C1400000080" />
<!-- RAO0021230119769 -->
<OctetString Value="52414F30303231323330313139373639" />
<Int32 Value="00000003" />
</Array>
<Array Qty="03" >
<!-- 24.05.2024 17:28:20Z -->
<DateTime Value="07E8051805111C1400000080" />
<!-- Error: Not enough data. 2 rows are missing. -->
</Array>
<!-- Error: Not enough data. 14 rows are missing. -->
</Structure>
<!--
Extra data:
01 03 19 07 E8 05 18 05 11 1C 14 00 00 00 80 09 10 52 41 4F 30 30 32
-->

What does the PBlock tag mean? How can I make sure I don't endlessly try to get data from the server?

My endless requests for the following PBlock:Send [03.06.2024 10:31:18]: 7e a0 13 03 61 38 fd ed e6 e6 00 c3 02 c1 00 00 00 01 3f 16 7e
Send [03.06.2024 10:31:18]: 7e a0 13 03 61 5a e9 ad e6 e6 00 c3 02 c1 00 00 00 02 a4 24 7e
Send [03.06.2024 10:31:18]: 7e a0 13 03 61 7c dd e9 e6 e6 00 c3 02 c1 00 00 00 03 2d 35 7e
Send [03.06.2024 10:31:18]: 7e a0 13 03 61 9e c1 2d e6 e6 00 c3 02 c1 00 00 00 04 92 41 7e
Send [03.06.2024 10:31:18]: 7e a0 13 03 61 b0 bd e5 e6 e6 00 c3 02 c1 00 00 00 05 1b 50 7e
Send [03.06.2024 10:31:18]: 7e a0 13 03 61 d2 a9 a5 e6 e6 00 c3 02 c1 00 00 00 06 80 62 7e
Send [03.06.2024 10:31:18]: 7e a0 13 03 61 f4 9d e1 e6 e6 00 c3 02 c1 00 00 00 07 09 73 7e
Send [03.06.2024 10:31:18]: 7e a0 13 03 61 16 81 25 e6 e6 00 c3 02 c1 00 00 00 08 fe 8b 7e
Send [03.06.2024 10:31:18]: 7e a0 13 03 61 38 fd ed e6 e6 00 c3 02 c1 00 00 00 09 77 9a 7e
Send [03.06.2024 10:31:18]: 7e a0 13 03 61 5a e9 ad e6 e6 00 c3 02 c1 00 00 00 0a ec a8 7e
Send [03.06.2024 10:31:18]: 7e a0 13 03 61 7c dd e9 e6 e6 00 c3 02 c1 00 00 00 0b 65 b9 7e
Send [03.06.2024 10:31:18]: 7e a0 13 03 61 9e c1 2d e6 e6 00 c3 02 c1 00 00 00 0c da cd 7e
Send [03.06.2024 10:31:18]: 7e a0 13 03 61 b0 bd e5 e6 e6 00 c3 02 c1 00 00 00 0d 53 dc 7e
И так далее…

Full log of exchange with the GURUX server
Send [31.05.2024 12:03:17]: 7e a8 89 03 61 d8 b2 62 e6 e6 00 c3 01 c1 20 09 00 00 5e 07 c9 ff 03 01 02 03 09 06 00 00 63 62 03 ff 01 03 02 04 05 00 01 d4 c8 09 06 00 00 01 00 00 ff 11 02 05 00 01 d4 c0 02 04 05 00 01 d4 c8 09 06 00 00 5e 07 80 0a 11 02 05 00 01 d4 c0 02 04 05 00 01 d4 c8 09 06 00 00 60 0b 03 ff 11 02 05 00 01 d4 c0 01 02 02 04 02 04 05 00 01 d4 c8 09 06 00 00 01 00 00 ff 11 02 05 00 01 d4 c0 05 00 00 00 00 05 00 00 94 71 7e
Received [31.05.2024 12:03:17]: 7e a0 07 61 03 b1 69 a3 7e
Send [31.05.2024 12:03:17]: 7e a0 37 03 61 da 5e d4 00 00 05 00 00 00 00 02 04 02 04 05 00 01 d4 c3 09 06 00 00 5e 07 80 0a 11 02 05 00 01 d4 c0 05 00 00 00 00 05 00 00 00 00 05 00 00 00 00 a0 9a 7e
Received [31.05.2024 12:03:17]: 7e a8 86 61 03 dc 7f 70 e6 e7 00 c7 02 c1 00 00 00 00 01 82 03 f5 02 28 01 03 19 07 e8 05 18 05 11 1c 14 00 00 00 80 09 10 52 41 4f 30 30 32 31 32 33 30 31 31 39 37 36 39 05 00 00 00 03 01 03 19 07 e8 05 18 05 11 1c 14 00 00 00 80 09 10 52 41 4f 30 30 32 31 32 33 30 31 31 39 37 36 39 05 00 00 00 03 01 03 19 07 e8 05 18 05 11 1c 14 00 00 00 80 09 10 52 41 4f 30 30 32 31 32 33 30 31 31 39 37 36 39 2f 6d 7e
Send [31.05.2024 12:03:17]: 7e a0 07 03 61 f1 7d 07 7e
Received [31.05.2024 12:03:17]: 7e a8 86 61 03 de 6d 53 05 00 00 00 03 01 03 19 07 e8 05 18 05 11 1c 14 00 00 00 80 09 10 52 41 4f 30 30 32 31 32 33 30 31 31 39 37 36 39 05 00 00 00 03 01 03 19 07 e8 05 18 05 11 1c 14 00 00 00 80 09 10 52 41 4f 30 30 32 31 32 33 30 31 31 39 37 36 39 05 00 00 00 03 01 03 19 07 e8 05 18 05 11 1c 14 00 00 00 80 09 10 52 41 4f 30 30 32 31 32 33 30 31 31 39 37 36 39 05 00 00 00 03 01 03 19 07 e8 05 26 6a 7e
Send [31.05.2024 12:03:17]: 7e a0 07 03 61 11 73 e0 7e
Received [31.05.2024 12:03:17]: 7e a8 86 61 03 d0 13 ba 18 05 11 1c 14 00 00 00 80 09 10 52 41 4f 30 30 32 31 32 33 30 31 31 39 37 36 39 05 00 00 00 03 01 03 19 07 e8 05 18 05 11 1c 14 00 00 00 80 09 10 52 41 4f 30 30 32 31 32 33 30 31 31 39 37 36 39 05 00 00 00 03 01 03 19 07 e8 05 18 05 11 1c 14 00 00 00 80 09 10 52 41 4f 30 30 32 31 32 33 30 31 31 39 37 36 39 05 00 00 00 03 01 03 19 07 e8 05 18 05 11 1c 14 00 00 00 80 09 10 64 f9 7e
Send [31.05.2024 12:03:17]: 7e a0 07 03 61 31 71 c1 7e
Received [31.05.2024 12:03:17]: 7e a8 86 61 03 d2 01 99 52 41 4f 30 30 32 31 32 33 30 31 31 39 37 36 39 05 00 00 00 03 01 03 19 07 e8 05 18 05 11 1c 14 00 00 00 80 09 10 52 41 4f 30 30 32 31 32 33 30 31 31 39 37 36 39 05 00 00 00 03 01 03 19 07 e8 05 18 05 11 1c 14 00 00 00 80 09 10 52 41 4f 30 30 32 31 32 33 30 31 31 39 37 36 39 05 00 00 00 03 01 03 19 07 e8 05 18 05 11 1c 14 00 00 00 80 09 10 52 41 4f 30 30 32 31 32 33 30 31 bd 88 7e
Send [31.05.2024 12:03:17]: 7e a0 07 03 61 51 77 a2 7e
Received [31.05.2024 12:03:17]: 7e a8 86 61 03 d4 37 fc 31 39 37 36 39 05 00 00 00 03 01 03 19 07 e8 05 18 05 11 1c 14 00 00 00 80 09 10 52 41 4f 30 30 32 31 32 33 30 31 31 39 37 36 39 05 00 00 00 03 01 03 19 07 e8 05 18 05 11 1c 14 00 00 00 80 09 10 52 41 4f 30 30 32 31 32 33 30 31 31 39 37 36 39 05 00 00 00 03 01 03 19 07 e8 05 18 05 11 1c 14 00 00 00 80 09 10 52 41 4f 30 30 32 31 32 33 30 31 31 39 37 36 39 05 00 00 00 03 01 f4 ca 7e
Send [31.05.2024 12:03:17]: 7e a0 07 03 61 71 75 83 7e
Received [31.05.2024 12:03:17]: 7e a8 86 61 03 d6 25 df 03 19 07 e8 05 18 05 11 1c 14 00 00 00 80 09 10 52 41 4f 30 30 32 31 32 33 30 31 31 39 37 36 39 05 00 00 00 03 01 03 19 07 e8 05 18 05 11 1c 14 00 00 00 80 09 10 52 41 4f 30 30 32 31 32 33 30 31 31 39 37 36 39 05 00 00 00 03 01 03 19 07 e8 05 18 05 11 1c 14 00 00 00 80 09 10 52 41 4f 30 30 32 31 32 33 30 31 31 39 37 36 39 05 00 00 00 03 01 03 19 07 e8 05 18 05 11 1c 14 00 4b 43 7e
Send [31.05.2024 12:03:17]: 7e a0 07 03 61 91 7b 64 7e
Received [31.05.2024 12:03:17]: 7e a8 86 61 03 d8 5b 36 00 00 80 09 10 52 41 4f 30 30 32 31 32 33 30 31 31 39 37 36 39 05 00 00 00 03 01 03 19 07 e8 05 18 05 11 1c 14 00 00 00 80 09 10 52 41 4f 30 30 32 31 32 33 30 31 31 39 37 36 39 05 00 00 00 03 01 03 19 07 e8 05 18 05 11 1c 14 00 00 00 80 09 10 52 41 4f 30 30 32 31 32 33 30 31 31 39 37 36 39 05 00 00 00 03 01 03 19 07 e8 05 18 05 11 1c 14 00 00 00 80 09 10 52 41 4f 30 30 32 64 2b 7e
Send [31.05.2024 12:03:17]: 7e a0 07 03 61 b1 79 45 7e
Received [31.05.2024 12:03:17]: 7e a8 86 61 03 da 49 15 31 32 33 30 31 31 39 37 36 39 05 00 00 00 03 01 03 19 07 e8 05 18 05 11 1c 14 00 00 00 80 09 10 52 41 4f 30 30 32 31 32 33 30 31 31 39 37 36 39 05 00 00 00 03 01 03 19 07 e8 05 18 05 11 1c 14 00 00 00 80 09 10 52 41 4f 30 30 32 31 32 33 30 31 31 39 37 36 39 05 00 00 00 03 01 03 19 07 e8 05 18 05 11 1c 14 00 00 00 80 09 10 52 41 4f 30 30 32 31 32 33 30 31 31 39 37 36 39 05 99 86 7e
Send [31.05.2024 12:03:17]: 7e a0 07 03 61 d1 7f 26 7e
Received [31.05.2024 12:03:17]: 7e a0 24 61 03 dc 14 b1 00 00 00 03 01 03 19 07 e8 05 18 05 11 1c 14 00 00 00 80 09 10 52 41 4f 30 30 32 7e 32 7e

Profile picture for user Kurumi

Kurumi

2 years ago

Hi, At first, you are not…

Hi,

At first, you are not reading data, you are invoking the action.

All the data doesn't fit into one PDU. The client requested the next PDU, but the meter did not send it.

BR,
Mikko

  • 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
RSS feed
Privacy FAQ GXDN Issues Contact
Follow Gurux on Twitter Follow Gurux on Linkedin