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