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. Get Profile Generic Columns Hardware Fault

Get profile generic columns hardware fault

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 lara.wakim , 18 November, 2020
Forums
General discussion

Hi Mikko,

We are working on the server example 2 ansi c.

We are creating some profile generic for storing the billing values (0-0:98.1.1.255 and 0-0:98.1.1.255). These profiles have to capture respectively 31 and 82 objects. So our main request is to be able to support profile generic with 31 or 82 columns.

1- We created the above profile with their corresponding capture objects (gxTarget CAPTURE_OBJECT[31/82] = { 0 })

2- We connected with the client and requested to read the list of objects. When it is time to get the profile generic columns of these 2 profiles, it is giving "Access Error: device reports a hardware fault" (check the picture)

We followed the source of the error. In fact, when reading the profile it goes :
-> int cosem_getValue(dlmsSettings* settings,gxValueEventArg* e)
-> int cosem_getProfileGeneric(dlmsSettings* settings,gxValueEventArg* e)
-> with e->indexx == 3 -> getColumns(settings, &object->captureObjects, e->value.byteArr, e)
-> ret = bb_capacity(ba, (list->size * 19) + 2)
This function is returning ret != 0 and it is giving the hardware fault error

The parameter "ba" is equal to "e->value.byteArr" and has a capacity always fixed to 512. First question, why is it fixed to 512 can we change this value if yes how?

The capacity maximum capacity is limited to this equation capacitiy = (list->size * 19) + 2 = 512
which give us list->size = maximum 26 columns. We thought that these equations are limiting the number of columns to 26 and are not letting the support of the 31 and 82 columns, are we right?

If yes, can we change this equation (list->size * 19) + 2 and replace for example 19 by 6 so the maximum supported columns will be 85? or this big number of columns is not supported on the client side? (We tried and it worked but is it correct or will it have negative impact somehow?)

Can you please guide us in implementing the support of profile generic with a big number of columns?

Best Regards,

Lara Wakim

Image
Profile picture for user Kurumi

Kurumi

5 years 6 months ago

Hi,

Hi,

The server example is improved. PDU size must be so large that one row can fit PDU.

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