Reading an attribute
The COSEM standard specifies a model for the information stored in
the meter. The information is organized in objects, with attributes
and methods. Attributes represents values that can be read and/or written.
Attributes are identified by an AttributeId (a positive number). Methods
represents actions that can be performed on objects. They are identified
by a MethodId (a positive number). The first attribute of each object
(AttributeId = 1) is its logical name, also called InstanceId.
It is a 6 octets string. Objects of the same nature (for example registers)
are instances of a class (for example the register class). There are
several classes, each class is identified by a ClassId (positive number).
The model is described in details in the DLMS Blue Book.
To read an attribute value we have to specify its ClassId, InstanceId
and AttributeId. Here is the GetRequest reading the clock value attribute:
<GetRequest> <GetRequestNormal> <InvokeIdAndPriority Value="C1" /> <AttributeDescriptor> <ClassId Value="0008" /> <InstanceId Value="0000010000FF" /> <AttributeId Value="02" /> </AttributeDescriptor> </GetRequestNormal> </GetRequest> |
The AttributeDescriptor specifies the ClassId of the selected object (8), the InstanceId (also called logical name, 0000010000FF) and the AttributeId (2). The corresponding response could be:
<GetResponse> <GetResponsenormal> <InvokeIdAndPriority Value="C1" /> <Result> <Data> <OctetString Value="07D2060A01150F1F00FF8880" /> </Data> </Result> </GetResponsenormal> </GetResponse> |
The clock value is returned as a 12 octets string:
07D2060A01150F1F00FF8880 |