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

4 years 10 months 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 10 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 10 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

  • 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

Who's new

  • Tuanhgg
  • Adel
  • charnon
  • Paddles
  • Miguel Ángel
RSS feed
Privacy FAQ GXDN Issues Contact
Follow Gurux on Twitter Follow Gurux on Linkedin