profile generic

13 posts / 0 new
Last post
Manovikas
profile generic

Hi,

I'm working on secure meter, I ported the Atmel embedded c code to msp432e401y, I'm able to read all the data and register values from the device.
like that only, I am trying to read the profile generic also. connection, association, scalar,read_profilegeneric_column(),readvalues, readprofile generic all functions successfully reading .
hope this function will give the data " ret = com_read(&con, &profile_g.base, 3);
com_readRowsByEntry(&con,&profile_g,0,3);" I don't know how to take the obis codes and their corresponding values.
Single profile will give many obis code and many values, in that how to take the data. please help me.

Thanks & Regards
Manovikas

Kurumi
Kurumi's picture

Hi Manovikas,

Profile generics are not easy, especially with C.

What you need to do is this:
1. Read Capture objects from attribute #3. You have done that.
2. Read data using com_readRowsByEntry or com_readRowsByRange.

First, you need to check is your meter supporting readRowsByEntry. All the meters don't support it.
Also start index is 1 based, not zero.

When you have read the buffer, you can loop rows and columns. You can check obj_rowsToString. I hope it helps you.

BR,
Mikko

________________________________________
Mikko Kurunsaari
Gurux Ltd
http://www.gurux.fi

Manovikas

Hi Mikko,

Thanks for your input, now I'm reading the profile generic parameters.
While reading the data of billing period(1.0.98.1.0.255), I'm getting the error code id 260 which means not enough memory available. Then I changed the value of maxPduSize to 1024 then also same result, what may be the problem?.
And also I want the logical name for each of the profile generic parameter values, how do I get the logical name?
Please help me to solve these problems.

Kurumi
Kurumi's picture

Hi,

Are you using malloc or have you defined DLMS_IGNORE_MALLOC?

BR,
Mikko

________________________________________
Mikko Kurunsaari
Gurux Ltd
http://www.gurux.fi

Manovikas

Hi Mikko,

Yes, I'm using malloc and also I have defined DLMS_IGNORE_MALLOC.

Regards,
Manovikas

Kurumi
Kurumi's picture

Hi Manovikas,

Reading DLMS meter without malloc is causing some extra work. The easiest way is if you parse data without saving it to the buffer. I'll make a small example fro this later today.
I'll post a reply when it's ready.

BR,
Mikko

________________________________________
Mikko Kurunsaari
Gurux Ltd
http://www.gurux.fi

Manovikas

Hi Mikko,

Ok, Thank you

Regards,
Manovikas

Manovikas

Hi Mikko,

Is your sample source code ready?
When can I expect the code from you?

Thanks & Regards,
Manovikas

Kurumi
Kurumi's picture

Hi Manovikas,

Tests are almost over. If nothing unexpected happens new version is released tomorrow.

BR,
Mikko

________________________________________
Mikko Kurunsaari
Gurux Ltd
http://www.gurux.fi

Manovikas

Hi Mikko,

In Profile generic, when I try to read the BLOCK_LOAD_PROFILE and DAILY_LOAD_PROFILE I'm receiving an error message as ReadObject failed Access Error: Other Reason.
Can you please explain what that means and How to resolve that?

Thanks and Regards,
Manovikas

Kurumi
Kurumi's picture

Hi,

This can be anything. There are only a few error codes in DLMS. Did you try to read using by entry or by range? What is the OBIS code you try to read?

BR,
Mikko

________________________________________
Mikko Kurunsaari
Gurux Ltd
http://www.gurux.fi

Manovikas

Hi,

I'm reading that OBIS code by using com_readRowsByEntry().
OBIS codes are 1.0.99.1.0.255, 1.0.99.2.0.255 and 0.0.99.98.0.255.

Thanks and Regards,
Manovikas

Kurumi
Kurumi's picture

Hi,

Usually time format is not correct. Example deviation is wrong in date-time field. Can you read this using GXDLMSDirector and send trace to me?

BR,
Mikko

________________________________________
Mikko Kurunsaari
Gurux Ltd
http://www.gurux.fi