Is there any api which can help me to get corresponding name of parameter when we pass OBIS code to it?
My requirement is it prepare a .xml file which contain the name of the parameters being polled instead of OBIS code.
I have used that function but I am getting wrong description for below given OBIS code:
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.31.7.0.255 //Incorrect Ch. 0 L1 Current Inst. value
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.51.7.0.255 //Incorrect Ch. 0 L2 Current Inst. value
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.71.7.0.255 //Incorrect Ch. 0 L2 Current Inst. value
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.1.7.0.255 //Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.3.7.0.255,0.370000 var //Ch. 0 Sum Li Reactive power+ (QI+QII) Inst. value
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.9.7.0.255,0.380000 VA //Ch. 0 Sum Li Apparent power+ (QI+QIV) Inst. value
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.32.7.0.255,241.602440 V //Ch. 0 L1 Voltage Inst. value
I think I did not made my question clear so re framing it again. Below given is the method which I am using to get OBIS code description:
CGXDLMSObjectCollection tempobject;
for (std::vector<CGXDLMSObject*>::iterator it = m_Parser->GetObjects().begin(); it != m_Parser->GetObjects().end(); ++it)
{
//Getting OBIS code description
m_Parser->GetObjects().GetObjects((*it)->GetObjectType(), tempobject);
m_Parser->P_UpdateOBISCodes(tempobject);
printf("%s,%s", (*it)->GetDescription().c_str(), (*it)->GetName().ToString().c_str());
}
For this I am getting below given reply:
Ch. 0 Electricity ID 7,1.0.0.0.6.255
Man. specific,1.0.96.160.0.255
Ch. 0 Electricity ID 2,1.0.0.0.1.255
Ch. 0 Active firmware identifier,1.0.0.2.0.255
Ch. 0 Device ID 1, manufacturing number,0.0.96.1.0.255
Ch. 0 Device ID 2,0.0.96.1.1.255
Ch. 0 Identifiers for India,0.0.94.91.9.255
Ch. 0 Transformer ratio - current (numerator),1.0.0.4.2.255
Ch. 0 Transformer ratio - voltage (numerator),1.0.0.4.3.255
Ch. 0 Device ID 5,0.0.96.1.4.255
Ch. 0 Billing period counter (1) #255,0.0.0.1.0.255
Ch. 0 COSEM Logical device name,0.0.42.0.0.255
Ch. 0 Clock object 1,0.0.1.0.0.255
Ch. 0 Measurement period 1, for averaging scheme 1,1.0.0.8.0.255
Ch. 0 Recording interval 1, for load profile,1.0.0.8.4.255
Man. specific,1.0.96.141.2.255
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.31.7.0.255
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.51.7.0.255
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.71.7.0.255
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.1.7.0.255
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.3.7.0.255
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.9.7.0.255
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.32.7.0.255
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.52.7.0.255
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.72.7.0.255
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.33.7.0.255
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.53.7.0.255
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.73.7.0.255
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.13.7.0.255
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.14.7.0.255
Here the description for OBIS code in first part in correct while the description remains constant in the second part which is incorrect.
Getting parameter name from OBIS code
Hi,
You can use GXDLMSConverter.GetDescription method for that.
BR,
Mikko
Hi Mikko,
Hi Mikko,
I have used that function but I am getting wrong description for below given OBIS code:
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.31.7.0.255 //Incorrect Ch. 0 L1 Current Inst. value
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.51.7.0.255 //Incorrect Ch. 0 L2 Current Inst. value
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.71.7.0.255 //Incorrect Ch. 0 L2 Current Inst. value
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.1.7.0.255 //Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.3.7.0.255,0.370000 var //Ch. 0 Sum Li Reactive power+ (QI+QII) Inst. value
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.9.7.0.255,0.380000 VA //Ch. 0 Sum Li Apparent power+ (QI+QIV) Inst. value
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.32.7.0.255,241.602440 V //Ch. 0 L1 Voltage Inst. value
Regards,
Ajit Singh
Getting parameter name from OBIS code
Hi,
Those are descriptions that are defined on the DLMS standard. Your meter is not using standard OBIS codes.
BR,
Mikko
Dear Mikko,
Dear Mikko,
Thank You for your prompt reply.
I think I did not made my question clear so re framing it again. Below given is the method which I am using to get OBIS code description:
CGXDLMSObjectCollection tempobject;
for (std::vector<CGXDLMSObject*>::iterator it = m_Parser->GetObjects().begin(); it != m_Parser->GetObjects().end(); ++it)
{
//Getting OBIS code description
m_Parser->GetObjects().GetObjects((*it)->GetObjectType(), tempobject);
m_Parser->P_UpdateOBISCodes(tempobject);
printf("%s,%s", (*it)->GetDescription().c_str(), (*it)->GetName().ToString().c_str());
}
For this I am getting below given reply:
Ch. 0 Electricity ID 7,1.0.0.0.6.255
Man. specific,1.0.96.160.0.255
Ch. 0 Electricity ID 2,1.0.0.0.1.255
Ch. 0 Active firmware identifier,1.0.0.2.0.255
Ch. 0 Device ID 1, manufacturing number,0.0.96.1.0.255
Ch. 0 Device ID 2,0.0.96.1.1.255
Ch. 0 Identifiers for India,0.0.94.91.9.255
Ch. 0 Transformer ratio - current (numerator),1.0.0.4.2.255
Ch. 0 Transformer ratio - voltage (numerator),1.0.0.4.3.255
Ch. 0 Device ID 5,0.0.96.1.4.255
Ch. 0 Billing period counter (1) #255,0.0.0.1.0.255
Ch. 0 COSEM Logical device name,0.0.42.0.0.255
Ch. 0 Clock object 1,0.0.1.0.0.255
Ch. 0 Measurement period 1, for averaging scheme 1,1.0.0.8.0.255
Ch. 0 Recording interval 1, for load profile,1.0.0.8.4.255
Man. specific,1.0.96.141.2.255
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.31.7.0.255
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.51.7.0.255
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.71.7.0.255
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.1.7.0.255
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.3.7.0.255
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.9.7.0.255
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.32.7.0.255
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.52.7.0.255
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.72.7.0.255
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.33.7.0.255
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.53.7.0.255
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.73.7.0.255
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.13.7.0.255
Ch. 0 Sum Li Active power+ (QI+QIV) Inst. value,1.0.14.7.0.255
Here the description for OBIS code in first part in correct while the description remains constant in the second part which is incorrect.
This descriptions is there in Obiscodes.h file. So is there any update in this file? Since when I am searching the same OBIS code which are giving me wrong description using below given link i get correct value:
http://www.gurux.fi/GuruxDLMSTranslator?translate=0001010100010018E6000…
Need your expertise in solving this.
Regards,
Ajit Singh.
Getting parameter name from OBIS code Primary tabs
Hi,
OK. You are using ANSI C++ version. I'll check this and let you know.
BR,
Mikko