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. Forums
  3. Invalid Data Checksum

Invalid data checksum

Forum Rules

Before commenting read Forum rules

Don't comment the topic if you have a new question.

You can create a new topic selecting correct category from Gurux Forum and then create a new topic selecting "New Topic" from the top left.

By thegamingrip , 1 August, 2021
Forums
Gurux.DLMS

Hello, good afternoon. I am new to this topic. But I was able to move on well.

This with a Chesum problem.

My wish is to be able to form hex strings of different orders.

7E A0 14 02 21 03 98 25 BC E6 E6 00 C0 02 C1 00 00 00 01 51 BE 7E

<HDLC len = "13">
<! - Logical address: 1, Physical address: 16 ->
<TargetAddress Value = "90" />
<SourceAddress Value = "1" />
<FrameType Value = "98" />
<PDU>
<GetRequest>
<GetRequestForNextDataBlock>
<! - Priority: High, ServiceClass: Confirmed, Invoke ID: 1 ->
<InvokeIdAndPriority Value = "C1" />
<BlockNumber Value = "00000001" />
</GetRequestForNextDataBlock>
</GetRequest>
</PDU>
</HDLC>

I need to edit <BlockNumber Value = "00000001" /> by 00000002 in the hex string but it brings me the message <! - Invalid data checksum. ->

<!-- Invalid data checksum. -->
<HDLC len="13" >
<!-- Logical address:1, Physical address:16 -->
<TargetAddress Value="90" />
<SourceAddress Value="1" />
<FrameType Value="98" />
<PDU>
<GetRequest>
<GetRequestForNextDataBlock>
<!-- Priority: High, ServiceClass: Confirmed, Invoke ID: 1 -->
<InvokeIdAndPriority Value="C1" />
<BlockNumber Value="00000002" />
</GetRequestForNextDataBlock>
</GetRequest>
</PDU>
</HDLC>

How can I generate my hexadecimal doing the correct chesum ?.

Profile picture for user Kurumi

Kurumi

5 years ago

Hi,

Hi,

Let the framework generate the frames and use XML client to only read the data. There are several different things that might affect the generated frames.

What you need to do is something like this:
<GetRequest>
<GetRequestNormal>
<InvokeIdAndPriority Value="C1" />
<AttributeDescriptor>
<ClassId Value="0001" />
<InstanceId Value="00002A0000FF" />
<AttributeId Value="02" />
</AttributeDescriptor>
</GetRequestNormal>
</GetRequest>

Change interface type and OBIS code.

BR,
Mikko

thegamingrip

4 years 11 months ago

Hi, Kurumi, sorry my english,

Hi, Kurumi, sorry my english, but if i don't misinterpret can i test the XML code using XMLClient?

thank you answer my questions.

Profile picture for user Kurumi

Kurumi

4 years 11 months ago

Hi,

Hi,

You can use XMLClient to read data from the meter. You define COSEM object (Ex. clock) that you want to read and read it. You can't define what kind of frames the client is sent.

BR,
Mikko

  • Create new account
  • Reset your password

Hire Us!

Latest Releases

  • Mon, 07/27/2026 - 12:37
    gurux.dlms.cpp 9.0.2607.2701
  • Thu, 07/23/2026 - 16:19
    gurux.dlms.java 4.0.96
  • Thu, 07/09/2026 - 14:34
    Gurux.DLMS.Python 1.0.201
  • Fri, 06/26/2026 - 16:32
    Gurux.Service 3.0.2606.2601
  • Wed, 06/24/2026 - 08:36
    Gurux.DLMS.Python 1.0.200

New forum topics

  • Possible memory leak in file dlms.c, getCompactArrayItem(), getCompactArrayItem2()
  • Official Gurux.DLMS.Client.Example.Net fails during High GMAC secure association (Invalid PDU), while Gurux Director connects successfully
  • gurux_dlms.GXDateTime.GXDateTime object Error in Python
  • T_APPL_DATA_LN_N1 subtest 3 fails on an LN-only server regardless of the response to a non-existing-object GET
  • Version mismatch between Gurux.DLMS 9.x and Gurux.Common/Gurux.Serial 8.x
More

Who's new

  • liha_2019
  • FiqJXzPfbTtORWoZ
  • qZgCuGshgQLxtN…
  • Georgegeowl
  • brsRKNujhfnXWm…
RSS feed
Privacy FAQ GXDN Issues Contact
Follow Gurux on Twitter Follow Gurux on Linkedin