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. Block Transfer With SET - Segmentation Issue

Block Transfer with SET - Segmentation issue

By bcits, 8 October, 2024
Forums
DLMSDirector

Hi Mikko,

I am trying to write the activity calendar in meter,in Kalki its working fine where as with gurux director and C library try to write getting error. below are attached logs and details for your reference.

Gurux Logs:

BlockCipher key: 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62
Authentication Key:62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62
1: 7E A8 89 03 61 7E 8E A2 E6 E6 00 E0 01 00 01 00 00 82 01 F9 C9 82 02 00 30 00 00 00 2E 6F 17 83 07 F1 2F A5 86 72 6D D9 8F 2B CE AC 92 31 A0 AC 42 13 86 BA 57 EC 6A 24 00 D9 CB 0F 0E E5 31 BC B6 6B FB 7F 2A 0E 80 F8 C2 FE D8 15 97 1A 34 4F 6C 03 CA 1C B1 9D 18 C9 4B 99 44 CE D1 F6 6F 51 94 72 27 C2 64 75 BA 17 3E DF F7 D1 68 82 45 16 17 27 8A F3 B0 D8 FB 1F 3F 7D 42 AF C8 1F E5 6B 04 B5 4E 2E 16 DF 3A DD 7D A8 7E
<HDLC len="88" >
<TargetAddress Value="1" />
<SourceAddress Value="30" />
<FrameType Value="7E" />
<NextFrame Value="E001000100008201F9C9820200300000002E6F178307F12FA586726DD98F2BCEAC9231A0AC421386BA57EC6A2400D9CB0F0EE531BCB66BFB7F2A0E80F8C2FED815971A344F6C03CA1CB19D18C94B9944CED1F66F51947227C26475BA173EDFF7D16882451617278AF3B0D8FB1F3F7D42AFC81FE56B04B54E2E16DF3ADD" />
</HDLC>
2: 7E A0 07 61 03 11 63 06 7E
<HDLC len="9" >
<TargetAddress Value="30" />
<SourceAddress Value="1" />
<!-- S frame. -->
<FrameType Value="11" />
<Command Value="NextFrame" />
</HDLC>
3: 7E A8 89 03 61 70 F0 4B E2 6A 81 92 17 7E 2A ED 24 45 07 C4 D9 A0 FD B8 1F 91 01 9D 6A FB EF 9C 5A 93 A1 53 CD B5 90 4E 35 52 31 70 EE AD C3 B5 E8 4F 52 7A EE 49 3F 7A 8C FC B1 1D 10 87 89 EC 5C 73 42 C9 7A A2 B1 92 B1 EE CF 53 A2 B3 98 04 E2 D1 94 F6 25 4C 12 5E 4F 91 AB B1 1F FE DB 45 DF E0 18 A9 22 1C 7C EF 8E 54 77 3B D3 96 D3 D9 9E 04 EB E3 B9 81 11 A8 A2 AF 89 36 1B AC 5F 5A BC 2C 26 DA 38 65 29 2B 22 C1 7E
<HDLC len="88" >
<TargetAddress Value="1" />
<SourceAddress Value="30" />
<FrameType Value="70" />
<NextFrame Value="E26A8192177E2AED244507C4D9A0FDB81F91019D6AFBEF9C5A93A153CDB5904E35523170EEADC3B5E84F527AEE493F7A8CFCB11D108789EC5C7342C97AA2B192B1EECF53A2B39804E2D194F6254C125E4F91ABB11FFEDB45DFE018A9221C7CEF8E54773BD396D3D99E04EBE3B98111A8A2AF89361BAC5F5ABC2C26DA3865292B" />
</HDLC>
4: 7E A0 07 61 03 31 61 27 7E
<HDLC len="9" >
<TargetAddress Value="30" />
<SourceAddress Value="1" />
<!-- S frame. -->
<FrameType Value="31" />
<Command Value="NextFrame" />
</HDLC>
5: 7E A8 89 03 61 72 E2 68 2E 11 57 62 4B C9 4C DA A3 55 1C 39 4A CE 50 6B 35 B4 A2 CF C9 72 4B 62 C7 D2 91 7F 94 7C BC 1F 38 46 7B 09 A8 88 24 95 8C CB 6D 7E 1E 7A E5 B4 83 1F C1 7A EA DC 9A 3B A6 74 CD 0F 11 0B 23 10 BC 71 79 BD 61 1A C6 CA E4 DA C9 01 93 09 32 33 9F 66 14 80 8D C7 16 A5 30 82 50 86 4D 62 5F C4 45 49 B9 C1 88 CE 6A 13 8A F3 F0 E4 7B F1 6B 87 5D 1A D1 73 A8 A8 F1 76 3A 61 A0 F2 BE 9F FB A6 9B 9B 7E
<HDLC len="88" >
<TargetAddress Value="1" />
<SourceAddress Value="30" />
<!-- Invalid I Frame: 72. Expected: 90 -->
<FrameType Value="72" />
<NextFrame Value="2E1157624BC94CDAA3551C394ACE506B35B4A2CFC9724B62C7D2917F947CBC1F38467B09A88824958CCB6D7E1E7AE5B4831FC17AEADC9A3BA674CD0F110B2310BC7179BD611AC6CAE4DAC901930932339F6614808DC716A5308250864D625FC44549B9C188CE6A138AF3F0E47BF16B875D1AD173A8A8F1763A61A0F2BE9FFBA6" />
</HDLC>
6: 7E A0 07 61 03 51 67 44 7E
<HDLC len="9" >
<TargetAddress Value="30" />
<SourceAddress Value="1" />
<!-- S frame. -->
<FrameType Value="51" />
<Command Value="NextFrame" />
</HDLC>
7: 7E A8 89 03 61 74 D4 0D C7 55 DD FD 92 F9 4B F3 A4 A6 3A FF BC 1A 67 AD 3C 17 D5 FE D8 FA 59 9F 79 75 B5 64 60 E8 B5 AA 63 1A 45 F8 52 BE 5E 96 B1 BB 0D A5 76 79 D7 64 56 74 92 09 F7 99 52 BB 1A 1F 71 F2 3F EC 82 31 D3 96 64 27 75 61 A4 3D 4C 63 D9 65 CF 28 38 BC 52 CF BE BB 6E 4B C8 77 81 7E 57 BE 0F 1E A9 51 D7 87 BD 3C A4 0E CD F7 D7 05 45 DA 77 88 BE 76 A7 62 B1 62 8C AB E4 DE B2 B6 22 54 6A 7F 4D AE 0D C6 7E
<HDLC len="88" >
<TargetAddress Value="1" />
<SourceAddress Value="30" />
<!-- Invalid I Frame: 74. Expected: 90 -->
<FrameType Value="74" />
<NextFrame Value="C755DDFD92F94BF3A4A63AFFBC1A67AD3C17D5FED8FA599F7975B56460E8B5AA631A45F852BE5E96B1BB0DA57679D76456749209F79952BB1A1F71F23FEC8231D39664277561A43D4C63D965CF2838BC52CFBEBB6E4BC877817E57BE0F1EA951D787BD3CA40ECDF7D70545DA7788BE76A762B1628CABE4DEB2B622546A7F4DAE" />
</HDLC>
8: 7E A0 07 61 03 71 65 65 7E
<HDLC len="9" >
<TargetAddress Value="30" />
<SourceAddress Value="1" />
<!-- S frame. -->
<FrameType Value="71" />
<Command Value="NextFrame" />
</HDLC>
9: 7E A0 0E 03 61 76 A9 0E 35 E7 1D C1 4D 27 AD 7E
<HDLC len="D" >
<TargetAddress Value="1" />
<SourceAddress Value="30" />
<!-- Invalid I Frame: 76. Expected: 90 -->
<FrameType Value="76" />
<NextFrame Value="35E71DC14D" />
</HDLC>
10: 7E A0 0F 61 03 96 0C 13 E6 E7 00 D8 01 01 3C 43 7E
<HDLC len="E" >
<TargetAddress Value="30" />
<SourceAddress Value="1" />
<FrameType Value="96" />
<PDU>
<ExceptionResponse>
<StateError Value="ServiceNotAllowed" />
<ServiceError Value="OperationNotPossible" />
</ExceptionResponse>
</PDU>
</HDLC>

Kaliki Logs:
BlockCipher key: 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62
Authentication Key:62 62 62 62 62 62 62 62 62 62 62 62 62 62 62 62
1: 00 01 00 30 00 01 00 5F 60 5D A1 09 06 07 60 85 74 05 08 01 03 A6 0A 04 08 49 4E 54 30 30 30 30 30 8A 02 07 80 8B 07 60 85 74 05 08 02 02 AC 12 80 10 69 08 07 2F 3F 05 2C 5B 3E 21 35 11 69 28 66 1D BE 23 04 21 21 1F 30 00 00 07 2E 82 D8 0B AB ED E3 DB 57 5D 9E 27 01 95 C6 68 7B 1A 42 A6 03 FC 7F 0F E8 72 25
<WRAPPER len="E" >
<SourceAddress Value="30" />
<TargetAddress Value="1" />
<PDU>
<AssociationRequest>
<ApplicationContextName Value="LN_WITH_CIPHERING" />
<CallingAPTitle Value="494E543030303030" />
<SenderACSERequirements Value="1" />
<MechanismName Value="High" />
<CallingAuthentication Value="6908072F3F052C5B3E2135116928661D" />
<!-- Decrypted data:
Security: AuthenticationEncryption
Invocation Counter: 1838
<InitiateRequest>
<ProposedDlmsVersionNumber Value="06" />
<ProposedConformance>
<ConformanceBit Name="BlockTransferWithGetOrRead" />
<ConformanceBit Name="BlockTransferWithSetOrWrite" />
<ConformanceBit Name="Get" />
<ConformanceBit Name="Set" />
<ConformanceBit Name="SelectiveAccess" />
<ConformanceBit Name="Action" />
</ProposedConformance>
<ProposedMaxPduSize Value="FFFF" />
</InitiateRequest>
-->
<glo_InitiateRequest Value="300000072E82D80BABEDE3DB575D9E270195C6687B1A42A603FC7F0FE87225" />
</AssociationRequest>
</PDU>
</WRAPPER>
2: 00 01 00 01 00 30 00 6B 61 69 A1 09 06 07 60 85 74 05 08 01 03 A2 03 02 01 00 A3 05 A1 03 02 01 0E A4 0A 04 08 49 4E 54 31 32 33 34 35 88 02 07 80 89 07 60 85 74 05 08 02 02 AA 12 80 10 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 BE 23 04 21 28 1F 30 00 00 00 F4 EA 1E 45 F0 58 E0 A3 FE B6 18 B8 52 D8 05 C0 8A 8E 23 31 D9 A2 34 6B 15 41 76
<WRAPPER len="E" >
<SourceAddress Value="1" />
<TargetAddress Value="30" />
<PDU>
<AssociationResponse>
<ApplicationContextName Value="LN_WITH_CIPHERING" />
<AssociationResult Value="00" />
<ResultSourceDiagnostic>
<!-- AuthenticationRequired -->
<ACSEServiceUser Value="0E" />
</ResultSourceDiagnostic>
<!-- DLMS system title:
Manufacturer Code: INT
Serial number: 3355701
-->
<RespondingAPTitle Value="494E543132333435" />
<ResponderACSERequirement Value="1" />
<MechanismName Value="High" />
<RespondingAuthentication Value="6162636465666768696A6B6C6D6E6F70" />
<!-- Decrypted data:
Security: AuthenticationEncryption
Invocation Counter: 244
<InitiateResponse>
<NegotiatedDlmsVersionNumber Value="06" />
<NegotiatedConformance>
<ConformanceBit Name="BlockTransferWithGetOrRead" />
<ConformanceBit Name="BlockTransferWithSetOrWrite" />
<ConformanceBit Name="Get" />
<ConformanceBit Name="Set" />
<ConformanceBit Name="SelectiveAccess" />
<ConformanceBit Name="Action" />
</NegotiatedConformance>
<NegotiatedMaxPduSize Value="0200" />
<VaaName Value="0007" />
</InitiateResponse>
-->
<glo_InitiateResponse Value="30000000F4EA1E45F058E0A3FEB618B852D805C08A8E2331D9A2346B154176" />
</AssociationResponse>
</PDU>
</WRAPPER>
3: 00 01 00 30 00 01 00 32 CB 30 30 00 00 07 2F B7 85 C9 12 40 60 9D 44 DF 11 4E FA A8 B6 51 F5 C4 25 20 5D E7 03 BA D9 87 2D D3 CB C4 A6 26 78 85 5E C0 68 8E F8 55 0D C8 3E A4
<WRAPPER len="32" >
<SourceAddress Value="30" />
<TargetAddress Value="1" />
<PDU>
<!-- Invocation Counter: 1839 -->
<!-- Decrypt data: C3 01 C1 00 0F 00 00 28 00 00 FF 01 01 09 10 D2 13 86 12 10 B1 4B 52 3C 82 D2 ED 2D C7 CF 73
<ActionRequest>
<ActionRequestNormal>
# Priority: High, ServiceClass: Confirmed, Invoke ID: 1
<InvokeIdAndPriority Value="C1" />
<MethodDescriptor>
# AssociationLogicalName
<ClassId Value="000F" />
# 0.0.40.0.0.255
<InstanceId Value="0000280000FF" />
# Reply to HLS authentication
<MethodId Value="01" />
</MethodDescriptor>
<MethodInvocationParameters>
<OctetString Value="D213861210B14B523C82D2ED2DC7CF73" />
</MethodInvocationParameters>
</ActionRequestNormal>
</ActionRequest>
-->
<glo_ActionRequest Value="300000072FB785C91240609D44DF114EFAA8B651F5C425205DE703BAD9872DD3CBC4A62678855EC0688EF8550DC83EA4" />
</PDU>
</WRAPPER>
4: 00 01 00 01 00 30 00 2B CF 29 30 00 00 00 F5 8A 22 F5 D5 A4 82 92 27 CC 92 AA 74 F4 9C EE 12 D2 11 9C 8F 86 E6 15 41 57 FF D9 82 A6 16 CF C6 DE 6B 11 82
<WRAPPER len="2B" >
<SourceAddress Value="1" />
<TargetAddress Value="30" />
<PDU>
<!-- Invocation Counter: 245 -->
<!-- Decrypt data: C7 01 C1 00 01 00 09 10 F0 F0 DB 50 6B 9A FC 39 07 2E 17 92 1D 85 94 3D
<ActionResponse>
<ActionResponseNormal>
# Priority: High, ServiceClass: Confirmed, Invoke ID: 1
<InvokeIdAndPriority Value="C1" />
<Result Value="Success" />
<ReturnParameters>
<Data>
<OctetString Value="F0F0DB506B9AFC39072E17921D85943D" />
</Data>
</ReturnParameters>
</ActionResponseNormal>
</ActionResponse>
-->
<glo_ActionResponse Value="30000000F58A22F5D5A4829227CC92AA74F49CEE12D2119C8F86E6154157FFD982A616CFC6DE6B1182" />
</PDU>
</WRAPPER>
5: 00 01 00 30 00 01 02 00 C9 82 01 FC 30 00 00 07 30 5F B4 09 84 F9 A1 35 7B 3F EB 5D FD 65 D2 E7 70 7B BB 53 F1 0B C5 FD 38 9E 5D DB 5D 47 65 3C 01 2C 93 BE 09 DD BB 50 14 09 A1 49 CD AA 2E 4D A6 95 B5 17 F5 49 7C 48 1D BB 45 40 83 D6 81 E9 BF 11 AC 8A 32 38 B8 B4 AE 23 37 70 33 CB 96 B7 3C 6E 3F B2 69 44 1A 2B DC 80 C8 8F 0C 8A 0E 9E 24 8F 9C 13 50 7A 94 B2 08 0D F4 FB BF 5D CA 0C 7C 46 4B E0 09 64 EF CD 39 91 78 B5 67 77 E1 BD 62 A5 1E 5E 1F E0 A3 68 22 17 0E EA 83 E8 3F AE 52 4B A8 81 4C CD D5 C6 3A E8 D4 EB CB 73 5C 8D F4 D8 15 65 99 B8 CA 29 CE 75 5D 68 5B 4B B4 9C 60 4F 55 72 48 CE 93 1E 12 32 18 33 90 B8 61 B8 1B D1 3A 61 40 2E 0A 1D 35 93 46 04 AD 09 79 82 0E 2E 7C DC 96 06 63 18 93 FF 4F CF CA 1E 5A FD C7 3A AC FC AC 59 44 F5 8E 02 CD D9 6B A2 42 AB AF 39 C8 39 41 48 52 3D 9E 62 4C 2F C4 E0 E9 13 3D AC AA 66 3D 1E 00 B9 53 9F C0 FC 29 B5 01 15 19 00 C0 DA 21 3C 01 34 F1 5C 2F B5 83 37 BD A0 03 22 8B 7B AC 45 74 FC 5A 06 2D 40 B4 21 B8 4B F9 F2 62 57 D1 4D E2 C3 C3 5C A2 3E 36 E7 BB 87 32 F3 31 FA 4E BB 02 31 D9 22 41 C2 37 4C 5F AD B7 02 7E F3 0F 64 C4 AD 08 BF C8 AB 37 B8 88 FC 55 8D B4 E4 EE 66 6B C9 55 97 BC 18 8C 0D 04 23 FC AD B1 8F 75 A4 77 54 44 EB 49 F4 8B 45 10 29 76 B3 23 D1 11 7C 52 E2 7E 67 57 0E AF 0C AA 60 F3 D5 8F 90 14 AB B1 F6 C4 5C E9 04 73 87 30 2E F3 10 10 37 DC 84 38 04 68 53 39 C8 45 44 B7 CB E1 11 EF 44 4B 72 A1 00 1F 0F 9B B6 F3 DA E4 DE B6 71 70 15 A9 B1 01 D6 A0 59 8F 67 F1 68 97 CD 9B 06 28 AF F8 9B 9C 0C FF A1 3A A9 05 DE D0 B6 E6 C7 F4 0A 43 7B 89 81 3F 5C 20 6E 5D DD 82 29 F9 7C D9 F7 ED 1B 44 26
<WRAPPER len="200" >
<SourceAddress Value="30" />
<TargetAddress Value="1" />
<PDU>
<!-- Invocation Counter: 1840 -->
<!-- Decrypt data: C1 02 C1 00 14 00 00 0D 00 00 FF 09 00 00 00 00 00 01 82 01 D6 01 04 02 02 11 01 01 08 02 03 09 04 01 00 00 00 09 06 00 00 0A 00 64 FF 12 00 01 02 03 09 04 02 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 04 00 00 00 09 06 00 00 0A 00 64 FF 12 00 04 02 03 09 04 05 00 00 00 09 06 00 00 0A 00 64 FF 12 00 05 02 03 09 04 06 00 00 00 09 06 00 00 0A 00 64 FF 12 00 06 02 03 09 04 07 00 00 00 09 06 00 00 0A 00 64 FF 12 00 07 02 03 09 04 08 00 00 00 09 06 00 00 0A 00 64 FF 12 00 08 02 02 11 02 01 08 02 03 09 04 01 00 00 00 09 06 00 00 0A 00 64 FF 12 00 01 02 03 09 04 02 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 04 00 00 00 09 06 00 00 0A 00 64 FF 12 00 04 02 03 09 04 05 00 00 00 09 06 00 00 0A 00 64 FF 12 00 05 02 03 09 04 06 00 00 00 09 06 00 00 0A 00 64 FF 12 00 06 02 03 09 04 07 00 00 00 09 06 00 00 0A 00 64 FF 12 00 07 02 03 09 04 08 00 00 00 09 06 00 00 0A 00 64 FF 12 00 08 02 02 11 03 01 08 02 03 09 04 01 00 00 00 09 06 00 00 0A 00 64 FF 12 00 01 02 03 09 04 02 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 04 00 00 00 09 06 00 00 0A 00 64 FF 12 00 04 02 03 09 04 05 00 00 00 09 06 00 00 0A 00 64 FF 12 00 05 02 03 09 04 06 00 00 00 09 06 00 00 0A 00 64 FF 12 00 06 02 03 09 04 07 00 00 00 09 06 00 00 0A 00 64 FF 12 00 07 02 03 09 04 08 00 00 00 09 06 00 00 0A
<SetRequest>
<SetRequestFirstDataBlock>
# Priority: High, ServiceClass: Confirmed, Invoke ID: 1
<InvokeIdAndPriority Value="C1" />
<AttributeDescriptor>
# ActivityCalendar
<ClassId Value="0014" />
# 0.0.13.0.0.255
<InstanceId Value="00000D0000FF" />
# Passive Day Profile Table
<AttributeId Value="09" />
</AttributeDescriptor>
<DataBlock>
<LastBlock Value="00" />
<BlockNumber Value="00000001" />
<RawData Value="01040202110101080203090401000000090600000A0064FF1200010203090402000000090600000A0064FF1200020203090403000000090600000A0064FF1200030203090404000000090600000A0064FF1200040203090405000000090600000A0064FF1200050203090406000000090600000A0064FF1200060203090407000000090600000A0064FF1200070203090408000000090600000A0064FF1200080202110201080203090401000000090600000A0064FF1200010203090402000000090600000A0064FF1200020203090403000000090600000A0064FF1200030203090404000000090600000A0064FF1200040203090405000000090600000A0064FF1200050203090406000000090600000A0064FF1200060203090407000000090600000A0064FF1200070203090408000000090600000A0064FF1200080202110301080203090401000000090600000A0064FF1200010203090402000000090600000A0064FF1200020203090403000000090600000A0064FF1200030203090404000000090600000A0064FF1200040203090405000000090600000A0064FF1200050203090406000000090600000A0064FF1200060203090407000000090600000A0064FF1200070203090408000000090600000A" />
</DataBlock>
<AttributeDescriptor>
# ActivityCalendar
<ClassId Value="0014" />
# 0.0.13.0.0.255
<InstanceId Value="00000D0000FF" />
# Passive Day Profile Table
<AttributeId Value="09" />
</AttributeDescriptor>
<Value>
<Array Qty="04" >
<Structure Qty="02" >
<UInt8 Value="01" />
<Array Qty="08" >
<Structure Qty="03" >
# 01:00:00 AM
<OctetString Value="01000000" />
# 0.0.10.0.100.255
<OctetString Value="00000A0064FF" />
<UInt16 Value="0001" />
</Structure>
<Structure Qty="03" >
# 02:00:00 AM
<OctetString Value="02000000" />
# 0.0.10.0.100.255
<OctetString Value="00000A0064FF" />
<UInt16 Value="0002" />
</Structure>
<Structure Qty="03" >
# 03:00:00 AM
<OctetString Value="03000000" />
# 0.0.10.0.100.255
<OctetString Value="00000A0064FF" />
<UInt16 Value="0003" />
</Structure>
<Structure Qty="03" >
# 04:00:00 AM
<OctetString Value="04000000" />
# 0.0.10.0.100.255
<OctetString Value="00000A0064FF" />
<UInt16 Value="0004" />
</Structure>
<Structure Qty="03" >
# 05:00:00 AM
<OctetString Value="05000000" />
# 0.0.10.0.100.255
<OctetString Value="00000A0064FF" />
<UInt16 Value="0005" />
</Structure>
<Structure Qty="03" >
# 06:00:00 AM
<OctetString Value="06000000" />
# 0.0.10.0.100.255
<OctetString Value="00000A0064FF" />
<UInt16 Value="0006" />
</Structure>
<Structure Qty="03" >
# 07:00:00 AM
<OctetString Value="07000000" />
# 0.0.10.0.100.255
<OctetString Value="00000A0064FF" />
<UInt16 Value="0007" />
</Structure>
<Structure Qty="03" >
# 08:00:00 AM
<OctetString Value="08000000" />
# 0.0.10.0.100.255
<OctetString Value="00000A0064FF" />
<UInt16 Value="0008" />
</Structure>
</Array>
</Structure>
<Structure Qty="02" >
<UInt8 Value="02" />
<Array Qty="08" >
<Structure Qty="03" >
# 01:00:00 AM
<OctetString Value="01000000" />
# 0.0.10.0.100.255
<OctetString Value="00000A0064FF" />
<UInt16 Value="0001" />
</Structure>
<Structure Qty="03" >
# 02:00:00 AM
<OctetString Value="02000000" />
# 0.0.10.0.100.255
<OctetString Value="00000A0064FF" />
<UInt16 Value="0002" />
</Structure>
<Structure Qty="03" >
# 03:00:00 AM
<OctetString Value="03000000" />
# 0.0.10.0.100.255
<OctetString Value="00000A0064FF" />
<UInt16 Value="0003" />
</Structure>
<Structure Qty="03" >
# 04:00:00 AM
<OctetString Value="04000000" />
# 0.0.10.0.100.255
<OctetString Value="00000A0064FF" />
<UInt16 Value="0004" />
</Structure>
<Structure Qty="03" >
# 05:00:00 AM
<OctetString Value="05000000" />
# 0.0.10.0.100.255
<OctetString Value="00000A0064FF" />
<UInt16 Value="0005" />
</Structure>
<Structure Qty="03" >
# 06:00:00 AM
<OctetString Value="06000000" />
# 0.0.10.0.100.255
<OctetString Value="00000A0064FF" />
<UInt16 Value="0006" />
</Structure>
<Structure Qty="03" >
# 07:00:00 AM
<OctetString Value="07000000" />
# 0.0.10.0.100.255
<OctetString Value="00000A0064FF" />
<UInt16 Value="0007" />
</Structure>
<Structure Qty="03" >
# 08:00:00 AM
<OctetString Value="08000000" />
# 0.0.10.0.100.255
<OctetString Value="00000A0064FF" />
<UInt16 Value="0008" />
</Structure>
</Array>
</Structure>
<Structure Qty="02" >
<UInt8 Value="03" />
<Array Qty="08" >
<Structure Qty="03" >
# 01:00:00 AM
<OctetString Value="01000000" />
# 0.0.10.0.100.255
<OctetString Value="00000A0064FF" />
<UInt16 Value="0001" />
</Structure>
<Structure Qty="03" >
# 02:00:00 AM
<OctetString Value="02000000" />
# 0.0.10.0.100.255
<OctetString Value="00000A0064FF" />
<UInt16 Value="0002" />
</Structure>
<Structure Qty="03" >
# 03:00:00 AM
<OctetString Value="03000000" />
# 0.0.10.0.100.255
<OctetString Value="00000A0064FF" />
<UInt16 Value="0003" />
</Structure>
<Structure Qty="03" >
# 04:00:00 AM
<OctetString Value="04000000" />
# 0.0.10.0.100.255
<OctetString Value="00000A0064FF" />
<UInt16 Value="0004" />
</Structure>
<Structure Qty="03" >
# 05:00:00 AM
<OctetString Value="05000000" />
# 0.0.10.0.100.255
<OctetString Value="00000A0064FF" />
<UInt16 Value="0005" />
</Structure>
<Structure Qty="03" >
# 06:00:00 AM
<OctetString Value="06000000" />
# 0.0.10.0.100.255
<OctetString Value="00000A0064FF" />
<UInt16 Value="0006" />
</Structure>
<Structure Qty="03" >
# 07:00:00 AM
<OctetString Value="07000000" />
# 0.0.10.0.100.255
<OctetString Value="00000A0064FF" />
<UInt16 Value="0007" />
</Structure>
<Structure Qty="03" >
# 08:00:00 AM
<OctetString Value="08000000" />
# Error: Not enough data. 2 rows are missing.
</Structure>
# Error: Not enough data. 1 rows are missing.
</Array>
# Error: Not enough data. 1 rows are missing.
</Structure>
# Error: Not enough data. 2 rows are missing.
</Array>
</Value>
</SetRequestFirstDataBlock>
</SetRequest>
-->
<glo_SetRequest Value="30000007305FB40984F9A1357B3FEB5DFD65D2E7707BBB53F10BC5FD389E5DDB5D47653C012C93BE09DDBB501409A149CDAA2E4DA695B517F5497C481DBB454083D681E9BF11AC8A3238B8B4AE23377033CB96B73C6E3FB269441A2BDC80C88F0C8A0E9E248F9C13507A94B2080DF4FBBF5DCA0C7C464BE00964EFCD399178B56777E1BD62A51E5E1FE0A36822170EEA83E83FAE524BA8814CCDD5C63AE8D4EBCB735C8DF4D8156599B8CA29CE755D685B4BB49C604F557248CE931E1232183390B861B81BD13A61402E0A1D35934604AD0979820E2E7CDC9606631893FF4FCFCA1E5AFDC73AACFCAC5944F58E02CDD96BA242ABAF39C8394148523D9E624C2FC4E0E9133DACAA663D1E00B9539FC0FC29B501151900C0DA213C0134F15C2FB58337BDA003228B7BAC4574FC5A062D40B421B84BF9F26257D14DE2C3C35CA23E36E7BB8732F331FA4EBB0231D92241C2374C5FADB7027EF30F64C4AD08BFC8AB37B888FC558DB4E4EE666BC95597BC188C0D0423FCADB18F75A4775444EB49F48B45102976B323D1117C52E27E67570EAF0CAA60F3D58F9014ABB1F6C45CE9047387302EF3101037DC843804685339C84544B7CBE111EF444B72A1001F0F9BB6F3DAE4DEB6717015A9B101D6A0598F67F16897CD9B0628AFF89B9C0CFFA13AA905DED0B6E6C7F40A437B89813F5C206E5DDD8229F97CD9F7ED1B4426" />
</PDU>
</WRAPPER>
6: 00 01 00 01 00 30 00 1A CD 18 30 00 00 00 F6 CF B1 98 81 90 FF E9 85 F2 9F 10 73 82 28 AA 20 FE EE AC
<WRAPPER len="1A" >
<SourceAddress Value="1" />
<TargetAddress Value="30" />
<PDU>
<!-- Invocation Counter: 246 -->
<!-- Decrypt data: C5 02 C1 00 00 00 01
<SetResponse>
<SetResponseDataBlock>
# Priority: High, ServiceClass: Confirmed, Invoke ID: 1
<InvokeIdAndPriority Value="C1" />
<BlockNumber Value="00000001" />
</SetResponseDataBlock>
</SetResponse>
-->
<glo_SetResponse Value="30000000F6CFB1988190FFE985F29F10738228AA20FEEEAC" />
</PDU>
</WRAPPER>
7: 00 01 00 30 00 01 00 C2 C9 81 BF 30 00 00 07 31 93 87 3C 6C E9 20 1C A2 55 E9 84 BE 2D A1 7E 23 D4 83 8B 1F D1 57 53 DF EC 79 EE 47 E4 17 3D C3 00 BB A6 80 61 7F 94 AA 26 70 9A 07 34 9B 8E C4 0E A2 1D 05 7F 09 85 FA 3E E2 57 3B 49 B9 42 3A E6 13 A7 47 B9 8A 15 1F E1 EE 4C 9D EE 39 6B 1F E6 AA B3 FD 77 B3 C9 59 07 66 C7 A5 F1 82 2C 4B 26 51 A1 63 3D 2F 8E FF 92 9F 02 C8 D5 33 0B D2 17 FC F7 71 AF 94 34 07 B1 21 3F F2 C4 DD CD 99 EC 46 B3 10 67 E1 B2 E5 B2 99 7E CC A5 87 0F 4F 6A DC E3 71 C3 9C FE 58 9B FE 22 B3 2A DB C7 AA 43 28 6F E3 DE E1 78 14 7D 7D DC 92 AA B4 CF 0E 40 B4 6E FE 41 A0 44 72 89 B0
<WRAPPER len="C2" >
<SourceAddress Value="30" />
<TargetAddress Value="1" />
<PDU>
<!-- Invocation Counter: 1841 -->
<!-- Decrypt data: C1 03 C1 01 00 00 00 02 81 A4 00 64 FF 12 00 08 02 02 11 04 01 08 02 03 09 04 01 00 00 00 09 06 00 00 0A 00 64 FF 12 00 01 02 03 09 04 02 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 04 00 00 00 09 06 00 00 0A 00 64 FF 12 00 04 02 03 09 04 05 00 00 00 09 06 00 00 0A 00 64 FF 12 00 05 02 03 09 04 06 00 00 00 09 06 00 00 0A 00 64 FF 12 00 06 02 03 09 04 07 00 00 00 09 06 00 00 0A 00 64 FF 12 00 07 02 03 09 04 08 00 00 00 09 06 00 00 0A 00 64 FF 12 00 08
<SetRequest>
<SetRequestWithDataBlock>
# Priority: High, ServiceClass: Confirmed, Invoke ID: 1
<InvokeIdAndPriority Value="C1" />
<DataBlock>
<LastBlock Value="01" />
<BlockNumber Value="00000002" />
<RawData Value="0064FF1200080202110401080203090401000000090600000A0064FF1200010203090402000000090600000A0064FF1200020203090403000000090600000A0064FF1200030203090404000000090600000A0064FF1200040203090405000000090600000A0064FF1200050203090406000000090600000A0064FF1200060203090407000000090600000A0064FF1200070203090408000000090600000A0064FF120008" />
</DataBlock>
</SetRequestWithDataBlock>
</SetRequest>
-->
<glo_SetRequest Value="300000073193873C6CE9201CA255E984BE2DA17E23D4838B1FD15753DFEC79EE47E4173DC300BBA680617F94AA26709A07349B8EC40EA21D057F0985FA3EE2573B49B9423AE613A747B98A151FE1EE4C9DEE396B1FE6AAB3FD77B3C9590766C7A5F1822C4B2651A1633D2F8EFF929F02C8D5330BD217FCF771AF943407B1213FF2C4DDCD99EC46B31067E1B2E5B2997ECCA5870F4F6ADCE371C39CFE589BFE22B32ADBC7AA43286FE3DEE178147D7DDC92AAB4CF0E40B46EFE41A0447289B0" />
</PDU>
</WRAPPER>
8: 00 01 00 01 00 30 00 1B CD 19 30 00 00 00 F7 11 66 1C B9 42 AF B5 B6 4C 05 41 60 38 70 34 7D 0D 90 80 63
<WRAPPER len="1B" >
<SourceAddress Value="1" />
<TargetAddress Value="30" />
<PDU>
<!-- Invocation Counter: 247 -->
<!-- Decrypt data: C5 03 C1 00 00 00 00 02
<SetResponse>
<SetResponseWithLastDataBlock>
# Priority: High, ServiceClass: Confirmed, Invoke ID: 1
<InvokeIdAndPriority Value="C1" />
<Result Value="Success" />
<BlockNumber Value="00000002" />
</SetResponseWithLastDataBlock>
</SetResponse>
-->
<glo_SetResponse Value="30000000F711661CB942AFB5B64C0541603870347D0D908063" />
</PDU>
</WRAPPER>
9: 00 01 00 30 00 01 00 2A 62 28 80 01 00 BE 23 04 21 21 1F 30 00 00 07 32 5D 40 57 65 2C FA 1D BE 0F D6 97 1D 5F C7 E1 28 65 3A 4B 95 3B 72 0E 3E 19 74
<WRAPPER len="E" >
<SourceAddress Value="30" />
<TargetAddress Value="1" />
<PDU>
<ReleaseRequest>
<Reason Value="Normal" />
<UserInformation>
<!-- Decrypted data:
Security: AuthenticationEncryption
Invocation Counter: 1842
<InitiateRequest>
<ProposedDlmsVersionNumber Value="06" />
<ProposedConformance>
<ConformanceBit Name="BlockTransferWithGetOrRead" />
<ConformanceBit Name="BlockTransferWithSetOrWrite" />
<ConformanceBit Name="Get" />
<ConformanceBit Name="Set" />
<ConformanceBit Name="SelectiveAccess" />
<ConformanceBit Name="Action" />
</ProposedConformance>
<ProposedMaxPduSize Value="FFFF" />
</InitiateRequest>
-->
<glo_InitiateRequest Value="30000007325D4057652CFA1DBE0FD6971D5FC7E128653A4B953B720E3E1974" />
</UserInformation>
</ReleaseRequest>
</PDU>
</WRAPPER>
10: 00 01 00 01 00 30 00 2A 63 28 80 01 00 BE 23 04 21 28 1F 30 00 00 00 F8 7A FE 75 D0 7B 2B BF D9 39 0C F4 30 92 06 39 9E 95 60 6F 78 C3 08 C3 61 5E 56
<WRAPPER len="E" >
<SourceAddress Value="1" />
<TargetAddress Value="30" />
<PDU>
<ReleaseResponse>
<Reason Value="Normal" />
<!-- Decrypted data:
Security: AuthenticationEncryption
Invocation Counter: 248
<InitiateResponse>
<NegotiatedDlmsVersionNumber Value="06" />
<ProposedConformance>
<ConformanceBit Name="BlockTransferWithGetOrRead" />
<ConformanceBit Name="BlockTransferWithSetOrWrite" />
<ConformanceBit Name="Get" />
<ConformanceBit Name="Set" />
<ConformanceBit Name="SelectiveAccess" />
<ConformanceBit Name="Action" />
</NegotiatedConformance>
<NegotiatedMaxPduSize Value="0200" />
<VaaName Value="0007" />
</InitiateResponse>
-->
<glo_InitiateResponse Value="30000000F87AFE75D07B2BBFD9390CF4309206399E95606F78C308C3615E56" />
</ReleaseResponse>
</PDU>
</WRAPPER>

Profile picture for user Kurumi

Kurumi

7 months 1 week ago

Hi, You try to use General…

Hi,

You try to use General Block Transfer with Gurux and Kalki doesn't use it.
I believe that the meter doesn't support it and that is the reason for it. Remove GeneralBlockTransfer conformance flag from the proposed conformance.

https://www.gurux.fi/Gurux.DLMS.Conformance

BR,
Mikko

bcits

7 months ago

Hi Mikko, Could you explain…

Hi Mikko,

Could you explain bit more about the issue and 2ndly what the workaround we should approach in Gurux C library client application ?

Now, in Gurux Director its working after removing the GBT flag from proposed conformance.

Profile picture for user Kurumi

Kurumi

7 months ago

Hi, This is a meter issue…

Hi,

This is a meter issue. If the meter can't handle the GBT it should remove the GBT flag. Now the meter returns it and the client expects that the meter can handle GBT and start to use it.

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

BR,
Mikko

bcits

7 months ago

Hi Mikko, I understood the…

Hi Mikko,

I understood the issue, but the problem is gurux DLMS C stack doesn't use the GBT flag during conformance. how come it is failing, However as after removing the GBT flag from Gurux director application working.

Could you help to know how to remove the GBT in the gurux C application ?
code snip will be helpful

Profile picture for user Kurumi

Kurumi

7 months ago

Hi, You can remove the…

Hi,

You can remove the proposed conformance like this before you call AARQ:

connection->settings.proposedConformance &= DLMS_CONFORMANCE_GENERAL_BLOCK_TRANSFER ;

Because you didn't add AARQ/AARE I don't know if the meter returns GBT in negotiated conformance.

BR,
Mikko

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

Hire Us!

Latest Releases

  • Thu, 05/15/2025 - 16:26
    gurux.dlms.c 9.0.2505.1501
  • Wed, 05/14/2025 - 08:30
    gurux.dlms.c 9.0.2505.1401
  • Tue, 05/13/2025 - 10:00
    Gurux.DLMS.Android 2.0.15
  • Fri, 05/09/2025 - 13:03
    Gurux.DLMS.Python 1.0.181
  • Wed, 05/07/2025 - 16:09
    Gurux.DLMS.Android 2.0.14

New forum topics

  • Long reading ends with "Invalid frame ..." error.
  • Push listener example how it works + tcp stream issue
  • Problem with reading energymeter Star DTS27 via GXDLMSDirector
  • Receiver Ready Test Failed
  • Combining several meters' profile generic data into one
More
RSS feed
Privacy FAQ GXDN Issues Contact
Follow Gurux on Twitter Follow Gurux on Linkedin