DLMS Blue Book 4Th Edition Internet
DLMS Blue Book 4Th Edition Internet
DLMS Blue Book 4Th Edition Internet
Companion Specification
for Energy Metering
COSEM
Identification System
and Interface Objects
device ä
language
message
specification
Table of Contents
1. Foreword.............................................................................................................................. 6
2. Scope ................................................................................................................................... 7
3. Introduction ......................................................................................................................... 8
3.1 Referenced Documents....................................................................................................... 8
3.2 Terms, Definitions and Abbreviations .................................................................................. 9
3.3 Revision History .................................................................................................................. 9
Bibliography................................................................................................................................ 95
Index ............................................................................................................................................ 96
Figures
Figure 1 – The three steps approach of COSEM: Modelling - Messaging - Transporting ................................. 7
Figure 2 – An interface class and its instances................................................................................................ 10
Figure 3 – The COSEM server model.............................................................................................................. 15
Figure 4 – Combined metering device ............................................................................................................. 15
Figure 5 – Overview of the interface classes ................................................................................................... 18
Figure 6 – The attributes when measuring sliding demand ............................................................................. 22
Figure 7 – The attributes when measuring current_average_value if number of periods is 1 ......................... 22
Figure 8 – The attributes if number of periods is 3 .......................................................................................... 23
Figure 9 – The generalised time concept......................................................................................................... 30
Figure 10 – OBIS code structure ..................................................................................................................... 81
Figure 11 – Quadrants for power measurement.............................................................................................. 84
Figure 12 – Reduced ID code presentation ..................................................................................................... 93
Tables
Table 1 – Class description template............................................................................................................... 11
Table 2 – Example of values and units ............................................................................................................ 21
Table 3 – Schedule .......................................................................................................................................... 33
Table 4 – Special Days Table .......................................................................................................................... 33
Table 5 – Reserved base_names for Special COSEM Objects ...................................................................... 62
Table 6 – Value group A codes........................................................................................................................ 82
Table 7 – Value group B codes........................................................................................................................ 82
Table 8 – Value group C codes (abstract objects)........................................................................................... 82
Table 9 – Value group C codes (electricity objects)......................................................................................... 83
Table 10 –Value group D codes (electricity) .................................................................................................... 84
Table 11 – Value group D codes (country specific) ......................................................................................... 86
Table 12 – Value group E codes (electricity) ................................................................................................... 87
Table 13 – Extended current/voltage measurement........................................................................................ 88
Table 14 – Extended angle measurement ....................................................................................................... 88
Table 15 – Abstract object codes..................................................................................................................... 89
Table 16 – General error messages ................................................................................................................ 90
Table 17 – General purpose codes (electricity) ............................................................................................... 90
Table 18 – General list objects ........................................................................................................................ 92
Table 19 – Profile codes (electricity) ................................................................................................................ 92
Table 20 – Example of display code replacement ........................................................................................... 93
Table 21 – Values of billing periods ................................................................................................................. 93
1. Foreword
Copyright
This document is confidential. It may not be copied, nor handed over to persons outside the stan-
dardisation environment.
The copyright is enforced by national and international law. The "Berne Convention for the Protec-
tion of Literary and Artistic Works", which is signed by 121 countries world-wide, and other trea-
ties apply.
Acknowledgement
The actual document has been established by a team of experts working for the meter manufac-
turers DZG, Enermet, Schlumberger and Siemens, with input from other members of the DLMS
User Association and from working group members of standardisation bodies, e.g. IEC TC13
WG14 and CEN TC294 WG2.
Status of standardisation
The actual edition 4 of this document combines the contents of draft IEC 62056-62 (Interface Ob-
jects) and draft IEC 62056-61 (OBIS Object Identification System) submitted to IEC for FDIS cir-
culation.
2. Scope
This document specifies the functionality
of the meter which is available at its in- 1. Modelling COSEM Interface Objects
terface (internal issues concerning the
implementation are not covered by the n
io
specification) and how the functions and
i at
c
soVersion=0
the data can be accessed from the out- Register 0..n
s
Class_id=3,
rA
side. The complex functionality of the Attribute(s) Data Type Min Max Def
instance specific e
1. logical_name (static) octet-string
Us
meter is divided into generic building 2. value
3. scaler-unit
(dyn.)
(static) scal_unit_type
blocks. The COSEM specifications follow S
M
Method(s) m/o
DL
1. reset o
a three step approach as illustrated in
Figure 1:
• The COSEM specification specifies metering domain specific interface classes. The
functionality of the meter is defined by the instances of these interface classes, called
COSEM objects. This is defined in the first part of this document. Logical names (OBIS
codes), identifying the COSEM objects are defined in the second part of this document.
• The attributes and methods of these COSEM objects can be accessed and used via the
messaging services of the Application layer.
3. Introduction
Driven by the need of the utilities to optimise their business processes, the meter becomes more
and more part of an integrated metering and billing system. Whereas in the past the commercial
value of a meter was mainly generated by its data acquisition and processing capabilities, nowa-
days the critical issues are system integration and interoperability.
The Companion Specification for Energy Metering (COSEM) addresses these challenges by look-
ing at the meter as an integrated part of a commercial process which starts with the measurement
of the delivered product (energy) and ends with the revenue collection.
The meter is specified by its “behaviour” as seen from the utility's business processes. The formal
specification of the behaviour is based on object modelling techniques (interface classes and ob-
jects). The specification of these objects forms a major part of COSEM.
The COSEM server model (comp. chapter 4.1.5) represents only the externally visible elements of
the meter. The client applications that support the business processes of the utilities, of the cus-
tomers and of the meter manufacturers make use of this server model. The meter offers means to
retrieve its structural model (the list of objects visible through the interface), and provides access
to the attributes and specific methods of these objects.
The set of different interface classes (see chapter 4) form a standardised library from which the
manufacturer can assemble (model) its individual products. The elements are designed such that
with them the entire range of products (from residential to commercial and industrial applications )
can be covered. The choice of the subset of interface classes used to build a meter, their instan-
tiation and their implementation are part of the product design and therefore left to the manufac-
turer. The concept of the standardised metering interface class library provides the different users
and manufacturers with a maximum of diversity without having to sacrifice interoperability.
The competitive energy markets require an ever-increasing amount of timely information concern-
ing the usage of electrical energy. Recent technology developments enable to build intelligent
static metering equipment, which are capable to capture, process and communicate this informa-
tion to all parties involved.
For further analysis of this information, for the purposes of billing, load-, customer- and contract
management, it is necessary to uniquely identify all data in a manufacturer independent way col-
lected manually or automatically, via local or remote data exchange.
The OBIS definition of Identification codes (see chapter 5) was based on:
draft DIN 43863-3 (December 1997), Electricity meters - Part 3: Tariff metering device as additional equip-
ment for electricity meters - EDIS - Energy Data Identification System
Ref. Title
IEC 62056-21 Data exchange for meter reading, tariff and load control – Part 21: Direct local data
exchange
IEC 62056-31:1999 Electricity metering – Data exchange for meter reading, tariff and load control – Part
31- Using local area networks on twisted pair with carrier signalling
IEC 62056-46 Electricity metering – Data exchange for meter reading, tariff and load control – Part
46 – Data link layer using HDLC-protocol
IEC 62056-53 Electricity metering – Data exchange for meter reading, tariff and load control – Part
53- COSEM Application layer
IEC 62056-61 Electricity metering – Data exchange for meter reading, tariff and load control – Part
61- OBIS Object Identification System
IEC 62056-62 Data exchange for meter reading, tariff and load control – Part 62: Interface
Classes
ANSI C12.19:1997 IEEE 1377:1998, Utility industry end device data tables
4.1.1 Introduction
This section describes the basic principles on which the COSEM interface classes are built. It also
gives a short overview on how interface objects (instantiations of the interface classes) are used
for communication purposes. Meters, support tools and other system components that follow
these specifications can communicate with each other in an interoperable way.
Object modelling: for specification purposes this document uses the technique of object modelling.
An object is a collection of attributes and methods.
An object offers a number of methods to either examine or modify the values of the attributes.
Objects that share common characteristics are generalised as an interface class with a class_id.
Within a specific class the common characteristics (attributes and methods) are described once
for all objects. Instantiations of an interface class are called COSEM objects.
Manufacturers may add proprietary methods or attributes to any object, using negative numbers.
reset
Total Positive
Reactive Energy: Register
logical_name = [1 1 3 8 0]
value = 57
…
The interface class "Register" is formed by combining the features necessary to model the be-
haviour of a generic register (containing measured or static information) as seen from the client
(central unit, hand held terminal). The contents of the register are identified by the attribute "logi-
cal_name". The logical_name contains an OBIS identifier (see Clause 5 or IEC 62056-61). The
actual (dynamic) content of the register is carried by its "value" attribute.
Defining a specific meter means defining several specific registers. In the example of Figure 2 the
meter contains 2 registers; i.e. two specific COSEM objects of the class "Register" are instanti-
ated. This means that specific values are assigned to the different attributes. Through the instan-
tiation one COSEM object becomes a "total, positive, active energy register" whereas the other
becomes a "total, positive, reactive energy register".
REMARK The COSEM objects (instances of interface classes) represent the behaviour of the meter as seen from the
"outside". Therefore modifying the value of an attribute must always be initiated from the outside (e.g. resetting the value
of a register). Internally initiated changes of the attributes are not described in this model (e.g. updating the value of a
register).
A short text describes the functionality and application of the class. A table gives an overview of
the class including the class name, the attributes and the methods.
Table 1 – Class description template
Class name Cardinality class_id, Version
Attribute(s) Data Type Min. Max. Def
1. logical_name (static) octet-string
2. ….. (..) …..
3. …… (..) …..
Specific Method(s) (if required) m/o
1. ….. …..
2. ….. …..
Class name Describes the class (e.g. Register, Clock, Profile, ...)
Cardinality Specifies the number of instances of the class within a logical device (see 4.1.5).
Attribute Description
Describes each attribute with its data type (if the data type is not simple), its data formats and its
properties (Minimum value, Maximum value and Default value).
Method Description
Describes each method and the invoked behaviour of the instantiated COSEM object(s).
NOTE Services for accessing attributes or methods by the protocol are described in DLMS UA 1000-2 or IEC 62056-53.
Selective Access
The common methods READ/WRITE and GET/SET typically reference the entire attribute ad-
dressed. However, for certain attributes selective access to just part of the attribute may be pro-
vided. The part of the attribute is identified by specific selective access parameters. These selec-
tive access parameters are defined as part of the attribute specification.
Simple data types Data types carrying one data item only
integer, long, double-long, Simple data types as defined in IEC 61334-4-41:1996 (A.12, Data).
unsigned, long-unsigned, Examples:
double-long-unsigned, integer Integer8 1 byte
boolean long Integer16 2 bytes
double-long Integer32 4 bytes
enum The elements of the enumeration type need to be defined in the sub-
section “Attribute Description”.
Any not listed value for an enumeration is reserved by default.
real32, real64 Real data types according to the REAL specification of IEC 61334-4-
41:1996.
visible-string, octet-string An ordered sequence of ASCII-characters respectively octets (8-bit
bytes).
Complex data types More than one data item is included, or the data item itself
is not simple
array The array elements need to be defined in the sub-section “Attribute
Description”.
compact array The array elements need to be defined in the sub-section “Attribute
Description”.
structure The structure type needs to be defined in the sub-section “Attribute
Description”.
instance specific The data type of the attribute needs to be specified in the instantiation
of the object for a particular meter (instance model).
date octet-string{ year highbyte, year lowbyte, month, day of month, day of
week }
For repetitive dates the unused parts must be set to “not specified”.
For repetitive times the unused parts must be set to “not specified”.
date_time octet-string
{
year highbyte
year lowbyte
month
day of month
day of week
hour
minute
second
hundredths of second
deviation highbyte
deviation lowbyte
clock status
}
Individual fields of date_time are encoded as defined above. Some
may be set to „not specified“ as described above in date and time.
a
Time could not be recovered after an incident. Detailed conditions are manufacturer specific
(e.g. after the power to the clock has been interrupted).
b
Time could be recovered after an incident but the value cannot be guaranteed. Detailed condi-
tions are manufacturer specific.
Bit is set if the basic timing information for the clock is presently taken from a timing source
c
COSEM
COSEM Logical device 2
Management logical
device COSEM Objects
COSEM Objects
The following example (see Figure 4) shows how a combined metering device can be structured
using the COSEM server model.
The addressing of COSEM Logical Devices must be provided by the addressing scheme of the
lower layers of the protocol used.
4.1.6.2 COSEM Logical Device Name
The COSEM Logical Device can be identified by its unique COSEM Logical Device Name. This
name can be retrieved from an instance of IC "SAP Assignment" (see 4.2.14), or of a COSEM
object "COSEM Logical Device Name" (see 4.6.1.1.16).
This name is defined as an octet-string of up to 16 octets. The first three octets uniquely identify
the manufacturer of the device. The manufacturer is responsible for guaranteeing the uniqueness
of the octets that follow (up to 13 octets).
4.1.6.3 The "Association View" of the Logical Device
In order to access COSEM objects in the server, an application association must be first estab-
lished. This characterises the context within which the associated applications will communicate.
The major parts of this context are
• information on the application context;
• information on the COSEM context;
• information on the authentication mechanism used;
• etc.
This information is contained in a special COSEM object, the "Association" object. There are two
types of this Association object defined. One for associations using Short Name referencing (As-
sociation SN) and one for using Logical Name referencing (Association LN).
Depending on the association established between the client and the server different access rights
may be granted by the server. Access rights concern a set of COSEM objects - the Visible objects
- which can be accessed ('seen') within the given association. In addition, access to attributes and
methods of these COSEM objects may also be restricted within the association (e.g. a certain type
of clients can only read a particular attribute of a COSEM object).
The list of the visible COSEM objects - the "Association View" - can be obtained by the client by
reading the "object_list" attribute of the appropriate Association object.
Additional information about the access rights (read only, write only, read and write) to the attrib-
utes and the availability of the methods (within the established association) can be found via spe-
cific methods provided by the Association objects (see 4.2.12, 4.2.13).
4.1.6.4 Mandatory Contents of a COSEM Logical Device
The following objects must be part of each COSEM logical device. They must be accessible for
GET/READ in all application associations with this logical device:
For LLS all the authentication services are provided by the ACSE. The association objects provide
only the method/attribute (see 4.2.12, 4.2.13) to change the "secret" (e.g. password).
For LLS authentication the client transmits a "secret" (e.g. a password) to the server, by using the
"Calling_Authentication_Value" parameter of the COSEM-OPEN.request service primitive of the
client application layer. The server checks if the received "secret" corresponds to the client identifi-
cation. If yes, the client is authenticated and the association can be established.
4.1.7.2 High Level Security (HLS) Authentication
As described in DLMS UA 1000-2 or IEC 62056-53 the ACSE provides part of the authentication
services for high level security (HLS). High-level security authentication is typically used when the
communication channel offers no intrinsic security and precautions have to be taken against
eavesdroppers and against message (password) replay. In this case a 4-pass authentication pro-
tocol is foreseen. The 4-pass authentication allows the authentication of the client as well as of the
server in the following way:
Pass1: The client transmits "challenge" CtoS (e.g. a random number) to the server
Pass2: The server transmits "challenge" StoC (e.g. a random number) to the client.
Pass3: The client processes StoC in a secret way (e.g. encrypting with a secret key). The
result - f(StoC) - is sent back to the server. The server checks if f(StoC) is the
result of correct processing and - if correct - the server accepts the authentication of
the client.
Pass4: If the client is authenticated, the server processes CtoS in a secret way (e.g.
encrypting with a secret key). The result - f(CtoS) - is sent back to the client. The
client checks if f(CtoS) is the result of the correct processing and - if correct - the
client accepts the authentication of the server.
After pass 2 the association is formally established, but the access of the client is restricted to the
method "reply_to_HLS_authentication" of the current "association" object.
Pass3 and Pass4 are supported by the method reply_to HLS_authentication of the association
object(s), (see 4.2.12, 4.2.13). If both passes are successfully executed, then full access is
granted according to the current association. Otherwise either the client or the server aborts the
association.
In addition, the association object provides the method to change the HLS "secret" (e.g. the en-
cryption key): change_HLS_secret.
REMARK
After the client has issued the change_HLS_secret() (or change_LLS_secret() ) method it expects a response from the
server acknowledging that the secret has been changed. It is possible that the server transmits the acknowledgement but
due to communication problems the acknowledgement is not received at the client's side. Therefore, the client does not
know if the secret has been changed or not. For simplicity reasons the server does not offer any special support for this
case; i.e. it is left to the client to cope with this situation.
Base
The currently defined interface classes for meters and the rela- Register
tions between them are illustrated in Figure 5.
Extended Register
NOTES
Demand Register
The interface class "Base" itself is not specified explicitly. It contains only one
attribute "logical_name".
In the description of the "Demand Register", "Clock" and "Profile Generic" Clock
interface classes, the 2nd attributes are labelled differently than the 2nd attribute
of the "Data" interface class, namely "current_average_value", "time" and "buffer" Profile Generic
vs. "value". This is to emphasise the specific nature of the "value".
Association LN
Association SN
Register Activation
Script Table
Schedule
SAP Assignment
Activity Calendar
Register Monitor
Utility Tables
Attribute Description
logical_name Identifies the data contained in value. Identifiers are specified in 4.6.1.
Attribute Description
scal_unit_type:
structure { scaler, unit }
Method Description
reset (data) This method forces a reset of the object. By invoking this method the
value is set to the default value. The default value is an instance specific
constant.
data ::= integer(0)
(52) // reserved
... // ...
(253) // reserved
(254) other // other unit
(255) count // no unit, unitless, count 1
Attribute Description
For the definition of the attributes logical_name ... scaler_unit, see description of class "Register".
Status Provides an Extended Register specific status information. The data type and
encoding of the status must be provided for each instance of an Extended
Register.
Instance specific
Method Description
reset (data) This method forces a reset of the object. By invoking this method the attribute
value is set to the default value. The default value is an instance specific con-
stant.
The attribute status is set such that it shows that a reset method has been
invoked.
T = number_of_periods * period
T is the time interval
used for calculation
N 2 1 of the current_value
of a sliding demand
period register
t
start_time_current capture_time now
The demand register delivers two types of demand: the current_average_value and the
last_average_value (see Figure 7 and Figure 8).
The demand register knows its type of process value which is described in "logical name" using
the OBIS identification system.
energy/period
period
last_average_value
current_average_value
0
t
start_time_current now start_time+period
Figure 7 – The attributes when measuring current_average_value if number of periods is 1
energy
3*period
lav4
lav5 -a1
a4
lav6
-a2 a5
lav3
-a3
cav
-a0 a3
a2
a1
period
a0
time
0 t1 t2 t3 now t4 t5 t6
sliding window (t3)
Attribute Description
current_average_value Provides the current value (running demand) of the energy accumu-
lated since start_time divided by number_of_periods*period.
Only simple data types shall be used.
last_average_value Provides the value of the accumulated energy (over the last num-
ber_of_periods*period) divided by number_of_periods*period. The
energy of the current (not terminated) period is not considered by the
calculation.
Only simple data types shall be used.
capture_time Provides the date and time when the last_average_value has been
calculated.
octet-string, formatted as set in 4.1.4 for date_time.
start_time_current Provides the date and time when the measurement of the cur-
rent_average_value has been started.
octet-string, formatted as set in 4.1.4 for date_time.
period Period is the interval between 2 successive updates of the
last_average_value. (number_of_periods*period is the denominator
for the calculation of the demand)
double-long-unsigned Measuring period in seconds
The behaviour of the meter after writing a new value to this attribute
must be specified by the manufacturer.
number_of_periods The number of periods used to calculate the last_average_value.
number_of_periods >= 1.
long-unsigned number_of_periods > 1 indicates that the
last_average_value represents “sliding demand”.
number_of_periods == 1 indicates that the
last_average_value represents "block demand".
The behaviour of the meter after writing a new value to this attribute
must be specified by the manufacturer.
Method Description
reset (data) This method forces a reset of the object. Activating this method provokes
the following actions:
The current period is terminated.
The current_average_value and the last_average_value are set to their
default values.
The capture_time and the start_time_current are set to the time of the
execution of reset(data).
data ::= integer(0)
next_period (data) This method is used to trigger the regular termination (and restart) of a
period. Closes (terminates) the current measuring period. Updates cap-
ture_time and start_time and copies current_average_value to
last_average_value, sets current_average_value to its default value.
Starts the next measuring period.
REMARK The old last_average_value (and capture_time) can be read
during the time “period”. The old current_average_value is not available
anymore at the interface.
data ::= integer(0)
Attribute Description
Method Description
add_register (data) This method adds one more register to the attribute register_assignment.
The new register is added at the end of the array; i.e. the new register
has the highest index. The indices of the existing registers are not modi-
fied.
data ::= structure
{
class_id: long-unsigned
logical_name: octet-string;
}
add_mask (data) This method adds another mask to the attribute mask_list. If there exists
already a mask with the same name, the existing mask will be overwrit-
ten by the new mask.
data ::= register_act_mask (see above)
delete_mask (data) This method deletes a mask from the attribute mask_list. The mask is
defined by its mask name.
Assigning the corresponding objects to the profile specifies the capture objects the values of which
have to be retained (with method capture). The buffer has homogenous entries (all have the same
size and structure), and the assignment is defined statically. The modification of the capture object
assignment clears the buffer of the profile completely. All profiles capturing this modified profile will
be cleared as well to guarantee the homogeneity of their entries.
The buffer may be defined as sorted by one of the registers or by a clock, or the entries are
stacked in a "last in first out" order. So for example, it is very easy to build a "maximum demand
register" with a one entry deep sorted profile capturing and sorted by a demand register. It is just
as simple to define a profile retaining the three largest values of some period.
Attribute Description
Remark 1: Reading the entire buffer delivers only those entries which
are “in use”
Remark 2: The value of a captured object may be replaced by “null-
data” if it can be unambiguously recovered from the previous value
(e.g. for time: if it can be calculated from the previous value and
capture_period; or for a value: if it is equal to the previous value)
capture_objects Specifies the list of capture objects (registers, clocks and pro-
files) that are assigned to this profile object. Upon a call of the
capture () method, the specified attributes of these objects are
copied into the buffer of the profile.
array capture_object_definition
capture_object_definition ::= structure
{
class_id: long-unsigned;
logical_name: octet-string;
attribute_index: integer;
data_index: long-unsigned
}
where attribute_index is a pointer to the attribute within the ob-
ject. attribute_index 1 refers to the first attribute (i.e. logi-
nd
cal_name), attribute_index 2 to the 2 , etc.); attribute_index 0
refers to all public attributes.
If the profile is sorted, a call to capture () will store the new en-
try at the appropriate position in the buffer, moving all following
entries and probably loosing the least interesting entry. If the
new entry would enter the buffer after the last entry and if the
buffer is already full, the new entry will not be retained at all.
Def fifo
sort_object If the profile is sorted, this attribute specifies the register or
clock that the ordering is based upon.
double-long-unsigned 0…profile_entries
Def 0
profile_entries Specifies how many entries should be retained in the buffer.
Method Description
reset (data) Clears the buffer. The buffer has no valid entries afterwards,
entries_in_use is zero after this call. This call does not trigger
any additional operations of the capture objects, specifically, it
does not reset any captured buffers or registers.
data ::= integer(0)
capture (data) Copies the values of the objects to capture into the buffer by
reading <object_attribute> of each capture object. Depending
on the sort_method and the actual state of the buffer this pro-
duces a new entry or a replacement for the less significant en-
try. As long as not all entries are already used, the en-
tries_in_use attribute will be incremented.
This call does not trigger any additional operations within the
capture objects such as capture () or reset ().
NOTE that only some attributes of the captured objects might
be stored, not the complete object.
data ::= integer(0)
Restrictions
When defining the capture objects, circular reference to the profile must be avoided.
By setting profile_entries to 1, the profile object can be used to define a set of preferred readout-
values. In the "capture_objects" attributes those objects and attributes are pre-defined which
should be readable with one single command.
Setting capture_period to 1 ensures that the values are updated every second.
It also handles the daylight savings function in that way; i.e. it modifies the deviation of local time
to GMT depending on the attributes. The start and end point of that function is normally set once.
An internal algorithm calculates the real switch point depending on these settings.
Deviation
LocalTime
GMT
daylight_savings_begin daylight_savings_end
Attribute Description
time Contains the meter’s local date and time, its deviation to GMT
and the status. See also the description in 4.1.4.
When this value is set, only specified fields of the date_time are
changed. For example for setting the date without changing the
time, all time relevant octets of the date_time must be set to
“not specified”. The clock_status must always be set when
writing the time.
long
status The status is equal to the status read in time. See also the de-
scription in 4.1.4.
boolean
Method Description
adjust_time (data) Sets the meter’s time to the nearest (+/-) quarter of an hour
value (*:00, *:15, *:30, *:45).
A specific script may be activated by other COSEM objects within the same logical device or from
the outside.
If two scripts have to be executed at the same time instance, then the one with the smaller index is
executed first.
Attribute Description
action_specification structure
{
service_id: enum
class_id: long-unsigned
logical_name: octet-string
index: integer
parameter: service specific
}
where
service_id: defines which action shall be applied
to the referenced object
(1) write attribute
(2) execute specific method
index: defines (with service_id 1) which attrib-
ute of the selected object is affected or
(with service_id 2) which specific method is to be
executed.
Method Description
execute (data) Execute the script specified in parameter data.
data long-unsigned
Attribute Description
entries Specifies the scripts to be executed at given times. There is only one script
Method Description
enable/disable (data) Sets the disable bit of range A of entries to true and then enables
the entries of range B.
insert (data) Inserts a new entry in the table. If the index of the entry exists
already the existing entry is overwritten by the new entry.
entry schedule_table_entry
data corresponding to entry
After a power failure the whole schedule is processed to execute all the necessary scripts that
would get lost during a power failure. For this the entries that were not executed during the power
failure must be detected. Depending on the validity window attribute they are executed in the cor-
rect order (as they would have been executed in normal operation).
All these four actions need a different handling executed by the schedule in interaction with the
time setting activity.
This is handled the same way as a power failure. All entries missed are executed depending on
the validity window attribute. A (manufacturer specific defined) short time setting can be handled
like time synchronisation.
This results in a repetition of those entries that are activated during the repeated time. A (manu-
facturer specific defined) short time setting can be handled like time synchronisation.
Time synchronisation*
Time synchronisation is used to correct small deviations between a master clock and the local
clock. The algorithm is manufacturer specific. It must guarantee that no entry of the schedule gets
lost or gets executed twice. The validity window attribute has no effect, because all entries must be
executed like in normal operation.
Daylight Saving
If the clock is forwarded then all scripts which fall into the forwarding interval (and would therefore
get lost) are executed.
If the clock is backwarded re-execution of the scripts which fall into the backwarding interval is
suppressed.
Attribute Description
Method Description
insert (data) Inserts a new entry in the table.
entry spec_day_entry
If a special day with the same index or with the same date as
an already defined day is inserted, the old entry will be over-
written.
After a power failure only the "last action" missed from the object Activity Calendar is executed
(delayed). This is to ensure proper tariffication after power up. If a Schedule object is present, then
the missed "last action" of the Activity Calendar must be executed at the correct time within the
sequence of actions requested by the Schedule.
The Activity Calendar defines the activation of certain scripts, which can perform different activities
inside the logical device. The interface to the object Script is the same as for the object Schedule.
(see 4.2.9)
If an instance of the interface class "Special Days Table" (see 4.2.10) is available, relevant entries
there take precedence over the Activity Calendar object driven selection of a day profile. The day
profile referenced in the "Special Days Table" activates the day_schedule of the day_profile_table
in the "Activity Calendar" object by referencing through the day_id.
Attribute Description
Attributes called ..._active are currently active, attributes called ..._passive will be activated by the
specific method activate_passive_calendar
REMARK
The current season is terminated by the season_start of
the next season
array day_profile
script_logical_name: octet-string;
script_selector: long-unsigned
}
Method Description
activate_passive_ This method copies all attributes called …_passive to the corresponding
calendar(data) attributes called …_active
data ::= integer(0)
Attribute Description
logical_name Identifies the Association LN object instance. The value of this attrib-
ute is indicated to the client application during the application asso-
ciation establishment.
object_list Contains the list and the access right descriptor of all COSEM object
instances which are ‘visible’ – can be accessed – within the given as-
sociation.
object_list_type ::= array object_list_element
Method Description
reply_to_HLS_ The remote invocation of this method delivers the client's “secretly”
authentication (data) processed “challenge StoC” (f(StoC)) back to the server as the data
service parameter of the invoked ACTION.request service. (see
4.1.7.2).
The short_name of the Association SN object itself is fixed within the COSEM context. It is given in
4.5.2 as 0xFA00
Attribute Description
object_list Contains the list of all objects with their base_names (short_name),
class_id, version and logical_name. The base_name is the DLMS
objectName of the first attribute (logical_name)
objlist_type ::= array objlist_element
objlist_element ::= structure
{
base_name: long;
class_id: long-unsigned;
version: unsigned;
logical_name: octet-string
}
Method Description
read_by_logicalname Reads attributes for selected objects. The objects are specified by
Attribute Description
SAP_assignment_list Contains the list of all logical devices and their SAP addresses within
the physical device.
logical_device_name:
octet-string
}
REMARK The actual addressing is performed by the “lower” communication
layers. For a 3-layer connection oriented architecture more details can be
found in DLMS UA 1000-2 or IEC 62056-46.
Method Description
connect_logical_device(data) Connects a logical device to a SAP. Connecting to SAP 0 will
disconnect the device. More than one device cannot be con-
nected to one SAP (exception SAP 0)
The IC Register Monitor requires an instantiation of the IC Script Table in the same logical device.
Attribute Description
thresholds Provides the threshold values to which the attribute of the referenced regis-
ter is compared.
array threshold
array action_set
action_set ::= structure
{
action_up: action_item;
action_down: action_item
}
where action_up defines the action when the attribute data of the monitored
register crosses the threshold in the upwards direction and vice versa.
With this interface class definition, each "Table" is represented as an instance. The specific in-
stance is identified by its logical_name.
Attribute Description
table_ID Table number. This table number is as specified in the ANSI
standard and may be either a standard table or a
manufacturer’s table.
Length Number of octets in table buffer.
Buffer Contents of table.
Selective access (see 4.1.2) to the attribute buffer may be avail-
able (optional). The selective access parameters are as defined
below.
Attribute Description
executed_script Contains the logical name of the script table and the script selector of the
script to be executed.
script Structure
{
Script_logical_name octetstring
Script_selector long_unsigned
}
Logical_name and script_selector define the script to be executed.
type enum
(1) size of execution_time = 1; wildcard in date al-
lowed
(2) size of execution_time = n; all time values are the
same; wildcards in date not allowed
(3) size of execution_time = n; all time values are the
same; wildcards in date are allowed
(4) size of execution_time = n; time values may be
different; wildcards in date not allowed
(5) size of execution_time = n; time values may
be different; wildcards in date are allowed
execution_time Specifies the time of day the script is executed
array {octet-string, octet-string}
The two octet-strings contain time and date, in this
order, structure {
time: octet-string;
date: octet-string
}
time and date are formatted as defined in 4.1.4.
Attribute Description
default_mode Defines the protocol used by the meter on the port
enum (0) protocol according to IEC
62056-21 (modes A..E)
(1) protocol according to DLMS
UA 1000-2 or IEC 62056-46. Us-
ing this enumeration value all
other attributes of this class are
not applicable.
default_baud Defines the baud rate for the opening sequence
enum (0) 300 baud
(1) 600 baud
(2) 1 200 baud
Attribute Description
comm_speed The communication speed between the device and the modem, not nec-
essarily the communication speed on the WAN.
enum: (0) 300 baud
(1) 600 baud
(2) 1 200 baud
(3) 2 400 baud
(4) 4 800 baud
(5) 9 600 baud
(6) 19 200 baud
(7) 38 400 baud
(8) 57 600 baud
(9) 115 200 baud
initialisation_string This data contains all the necessary initialisation commands to be sent to
the modem in order to configure it properly. This may include the configu-
ration of special modem features.
REMARK
It is assumed that the modem is pre-configured such that it accepts the
initialisation_string.
If no initialisation is needed the initialisation string is empty.
modem_profile This data defines the mapping from Hayes standard com-
mands/responses to modem specific strings.
modem_profile::= array
{
modem_profile_element: octet-string
}
The modem_profile array must contain the corresponding strings for the
modem used in following order :
Element 0: OK
Element 1: CONNECT
Element 2: RING
Element 3 NO CARRIER
Element 4: ERROR
Element 5: CONNECT 1 200
Element 6 NO DIAL TONE
Element 7: BUSY
Element 8: NO ANSWER
Element 9: CONNECT 600
Element 10: CONNECT 2 400
Element 11: CONNECT 4 800
Element 12 CONNECT 9 600
Element 13: CONNECT 14 400
Element 14: CONNECT 28 800
Element 15: CONNECT 36 600
Element 16: CONNECT 56 000
Attribute Description
mode Defines the working mode of the PSTN line when the device is auto answer.
mode ::= enum
(0) Line dedicated to the device.
(1) Shared line management with limited number of calls al-
lowed. Once the number of calls is reached, the window
status becomes inactive until the next start date, what-
ever the result of the call.
(2) Shared line management with limited number of suc-
cessful calls allowed. Once the number of successful
communications is reached, the window status becomes
inactive until next start date.
(3) Currently no modem connected
(200..255) manufacturer specific modes
listening_window Contains the start and end instant when the window becomes active (for the
start instant), and inactive (for the end instant). The start_date defines im-
plicitly the period. Example: when day of month is not specified (equal to
0xFF) this means that we have a daily share line management. Daily,
monthly …window management can be defined.
number_of_rings Defines the number of rings before the meter connects the modem. Two
cases are distinguished: number of rings within the window defined by at-
tribute “listening_window” and number of rings outside the “listen-
ing_window”.
nr_rings_type := structure
{
nr_rings_in_window: unsigned
(0: no connect in window);
nr_rings_out_of_window: unsigned
(0: no connect out of window)
}
Attribute Description
mode Defines if the device can perform auto dialling.
mode ::= enum
(0) no auto dialling
(1) auto dialling allowed anytime
(2) auto dialling allowed within the validity time of the calling
window
(3) “regular” auto dialling allowed within the validity time of
the calling window; “alarm” initiated auto dialling allowed
anytime.
(200..255) manufacturer specific modes
repetitions The maximum number of trials in case of unsuccessful dialling attempts.
repetition_delay The time delay, expressed in seconds until an unsuccessful dial attempt
can be repeated.
repetition_delay 0 means delay is not specified.
calling_window Contains the start and end date/time stamp when the window becomes ac-
tive (for the start instant), or inactive (for the end instant). The start_date
defines implicitly the period. Example: when day of month is not specified
(equal to 0 x FF) this means that we have a daily share line management.
Daily, monthly …window management can be defined.
calling_window ::= array window_element
ditions. The link between entries in the array and the conditions are not
contained in here.
Attribute Description
comm_speed The communication speed supported by the corresponding port
Enum: (0) 300 baud
(1) 600 baud
(2) 1 200 baud
(3) 2 400 baud
(4) 4 800 baud
(5) 9 600 baud
(6) 19 200 baud
(7) 38 400 baud
(8) 57 600 baud
(9) 115 200 baud
This communication speed can be overridden if the HDLC mode
of a device is entered through a special mode of another protocol.
window_size_transmit The maximum number of frames that a device or system can
transmit before it needs to receive an acknowledgement from cor-
responding station. During logon a smaller value can be negoti-
ated.
window_size_receive The maximum number of frames that a device or system can re-
ceive before it needs to transmit an acknowledgement to the cor-
responding station. During logon a smaller value can be negoti-
ated.
max_info_length_transmit The maximum information field length that a device can transmit.
During logon a smaller value can be negotiated.
max_info_length_receive The maximum information field length that a device can receive.
During logon a smaller value can be negotiated.
Inter_char_time_out Defines the time, expressed in ms, over which, when any charac-
ter is received from the primary station, the device will treat the
already received data as a complete frame.
inactivity_time_out Defines the time, expressed in seconds over which, when any
frame is received from the primary station, the device will process
a disconnection.
When this value is set to 0, this means that the inactivity_time_out
is not operational.
device_address Contains the physical device address of a device:
In case of single byte addressing:
0x00 NO_STATION Address
0x01…0x0F Reserved for future use
0x10...0x7D Usable address space
0x7E ‘CALLING’ device address
0x7F Broadcast address
Attribute Description
secondary_address Secondary_address memorises the ADS of the Secondary Station
(see IEC 62056-31:1999) that corresponds to the real equipment.
octet-string (SIZE(6))
primary_address_list Primary_address_list memorises the list of ADP or Primary Station
physical addresses for which each logical device of the real
equipment (the Secondary Station) have been programmed (see
IEC 62056-31:1999).
primary_adress_list_type ::= array
{
primary_address_element
}
Using COSEM Logical Names: In this case the attributes and methods of a COSEM object are
referenced via the identifier of the COSEM object instance to which they belong.
Using Short Names: This kind of referencing is intended for use in simple devices. In this case
each attribute and method of a COSEM object is identified with a 13 bit integer. The syntax for the
Short Name is the same as the syntax of the name of a DLMS Named Variable.
The following clauses define the usage of those definitions in the COSEM environment.
All codes, which are not explicitly listed, but below the manufacturer specific range (128 ..
255) are reserved for future use.
Value group C
Abstract objects (A = 0)
0 General purpose COSEM objects
1 COSEM objects of IC "Clock"
2 COSEM objects IC “PSTN Modem Configura-
tion” and related IC-s
4.6.1.1.1 Clock
This COSEM object controls the system clock of the physical device. It is an instance of the inter-
face class "Clock".
• If more then one object is instantiated in the same physical device its value group B shall num-
ber the communication channel.
• If more then one object is instantiated in the same physical device its value group B shall num-
ber the communication channel.
• if more then one object is instantiated in the same physical device its value group B shall num-
ber the communication channel.
Several instances of the interface class "Script Table" are predefined and normally available as
hidden scripts only with access to the execute() method.
The following table contains only the identifiers for the "standard" instances of the listed scripts.
Implementation specific instances of these scripts should use values different from 0 in value
group D.
The tariffication script table defines the entry point into tariffication by standardising utility-wide
how to invoke the activation of certain tariff conditions.
The broadcast script table allows standardising utility wide the entry point into regularly needed
functionality.
4.6.1.1.7 Schedule
This COSEM object defines and controls the behaviour of the device in a sequenced way. It is an
instance of the interface class "Schedule"
The following table contains only those identifiers for the "standard" instances of the listed "Single
Action Schedules".
Implementation specific instances of these interface classes should use values different from 0 in
value group D.
• If more than one object is instantiated in the same physical device its value group B shall num-
ber the communication channel.
Standard readout objects can also be related to an energy type and to a channel. See Clause 5 or
IEC 62056-61.
• If more then one object is instantiated in the same physical device its value group B shall num-
ber the communication channel.
• If more then one object is instantiated in the same physical device its value group B shall num-
ber the communication channel.
If addressing with Short Names, the COSEM Logical Device Name can always be found at the
same location. It is a Data or Register object at the base address 0xFD00.
4.6.1.1.18 Device ID
A series of COSEM objects is used to communicate ID numbers of the device. These can be
numbers defined by the manufacturer (manufacturing number) or defined by the user.
The different ID numbers are instances of the interface class "Data", with data type octet-string.
If more than one of those is used it is also allowed to combine them into one instance of the inter-
face class "Profile Generic". In this case the captured objects are the device ID data objects, the
capture period is 1 to have just actual values, the sort method is FIFO, the profile entries are lim-
ited to 1.
The interface class used for these objects is "Data" with data type octet-string. This data type is
used to transport binary information from a bitmap.
The different error values are instances of the interface class "Data", with data type octetstring.
If more than one of those is used it is also allowed to combine them into one instance of the inter-
face class "Profile Generic". In this case the captured objects are the device ID data objects, the
capture period is 1 to have just actual values, the sort method is FIFO, the profile entries are lim-
ited to 1.
Error code objects can also be related to an energy type and to a channel. See Clause 5 or IEC
62056-61.
• Cumulative values are represented by COSEM objects which are instances of interface class
"Register"
• Maximum and minimum values are represented by COSEM objects which are instances of in-
terface class "Profile Generic" with sorting method maximum or minimum, depth according to
implementation and captured objects according to implementation. A single maximum value or
With value group F having a value between 0 and 99, and 101 direct access to data of previous
billing periods is available. (see Clause 5.4.6 or IEC 62056-61, "Value group F"). This is managed
by COSEM objects of interface class "Profile Generic" which are 1 entry deep and contain the
timestamp of the storage in addition to the stored value.
NOTE: no previous values are available for values of type current and last average.
With value group F having a value between 102 and 126 the data are represented by COSEM objects which are instances
of interface class "Profile Generic", with suitable values for the controlling attributes.
If more than one of those is used it is also allowed to combine them into one instance of the inter-
face class "Profile Generic". In this case the captured objects are the Electricity ID data objects,
the capture period is 1 to have just actual values, the sort method is FIFO, the profile entries are
limited to 1.
The time stamps of previous data values shall be part of the captured objects within the COSEM
objects representing the data of previous billing periods. The values can also be related to a chan-
nel.
Program entries can also be related to a channel. See Clause 5 or IEC 62056-61.
4.6.1.2.7 Ratios
These values are represented by instances of the interface class "Data" with useful data types.
The same enumeration applies for integrated values of active power as described in 4.6.1.2.10.
The same enumeration applies for integrated values of reactive power as described in 4.6.1.2.12.
The same enumeration applies for integrated values of apparent power as described in 4.6.1.2.14.
OBIS codes are used within the COSEM environment as an octet-string[6]. Each octet contains
the unsigned value of the corresponding OBIS value group, coded without tags.
If a data item is identified by less than 6 value groups, all unused value groups must be filled with
0xFF.
Octet 1 contains the binary coded value of A (A = 1, 2, ...8) in the four rightmost bits. The 4 left-
most bits contain the information on the identification system. The 4 leftmost bits set to zero indi-
cate that the OBIS identification system (version 1) is used as logical_name .
Within all value groups the usage of a certain selection is fully defined, others are reserved for fu-
ture use. Value group A is fully defined respective reserved for all possible values. No defined
value group item within groups B to F exists above 127.
The usage of the code space 128 to 254 (0xFE) characterises a manufacturer specific code. If one
value in a group B to F is used above 127 the whole code is characterised as manufacturer spe-
cific and even the other value groups (with the exception of group A) are not necessarily bearing
any meaning defined by this standard.
This chapter lists those interface class definitions which where included in previous editions of this
document. The previous interface class versions differ form the current versions by at least one
attribute and/or method and by the version number.
For new implementations in metering devices only the current versions shall be used.
Communication drivers at the client side must also support previous versions.
Attribute Description
buffer The buffer attribute contains a sequence of entries. Each en-
try contains values of the captured objects (as returned by
calling read(current_value)). The sequence is ordered ac-
cording to the specified sort method. The buffer gets filled by
subsequent calls to capture ().
array Entry
Entry ::= structure
Instance Specific
Remark: Reading
the entire buffer
delivers only those
entries which are “in
use”
Capture_objects Specifies the list of capture objects (registers, clocks and pro-
files) that are assigned to this profile object. Upon a call of the
capture () service, the specified attributes of these objects are
copied into the buffer of the profile.
array ObjectDefinition
ObjectDefinition ::= stucture {
logical_name: octet-string;
class_id: long-unsigned;
attribute_index: unsigned
}
where attribute_index is a pointer to the attribute within the
object. attribute_index=1 refers to the first attribute (i.e. logi-
nd
cal_name), attribute_index =2 to the 2 , etc.)
Capture_period >= 1: Automatic capturing assumed. Specifies the capturing
period in seconds
0: no automatic capturing, capturing is trigger externally
or capture events occur asynchronously
sort_method If the profile is unsorted, it works as a „first in first out“ buffer
(it is hence sorted by capturing, and not necessarily by the
time maintained in the clock object). If the buffer is full, the
next call to capture () will push out the first (oldest) entry of
the buffer to make space for the new entry.
If the profile is sorted, a call to capture () will store the new
entry at the appropriate position in the buffer, moving all fol-
lowing entries and probably loosing the least interesting entry.
If the new entry would enter the buffer after the last entry and
if the buffer is already full, the new entry will not be retained at
all.
enum 1: fifo, 2: lifo (last in first out), 3: larg-
est, 4. smallest, 5. nearest_to_zero, 6.
farest_from_zero
Def fifo
sort_object If the profile is sorted, this attribute specifies the register or
clock that the ordering is based upon.
ObjectDefinition see above
Def no object to sort by (only possible with
sort_method= fifo or lifo)
entries_in_use Counts the number of entries stored in the buffer. After a call
of reset () the buffer does not contain any entries, and this
value is zero. Upon each subsequent call of capture (), this
value will be incremented up to the maximum number of en-
tries that will get stored (see profile_entries).
double-long- 0…profile_entries
unsigned
Def 0
profile_entries Specifies, how many entries should be retained in the buffer.
double-long- 1… (limited by physical size)
unsigned
Def 1
Method Description
reset (data) Clears the buffer. The buffer has no valid entries afterwards,
entries_in_use is zero after this call. This call does not trigger
any additional operations of the capture objects, specifically, it
does not reset any captured buffers or registers.
data = integer(0)
capture (data) Copies the values of the objects to capture into the buffer by
calling read(<object_attribute>) of each capture object. De-
pending on the sort_method and the actual state of the buffer
this produces a new entry or a replacement for the less signifi-
cant entry. As long as not all entries are already used, the en-
tries_in_use attribute will be incremented.
This call does not trigger any additional operations within the
capture objects such as capture () or reset ().
Note that only some attributes of the captured objects might be
stored, not the complete object.
data = integer(0)
write (...) Any write access to one of the attributes describing the static
structure of the buffer will automatically call a reset () and this
call will propagate to all other profiles capturing this profile.
If writing to profile_entries is attempted with a value too large
for the buffer, it will be set to the maximum possible value (re-
stricted by physical size, typically laid down in the firmware).
1
Device Association View 0..1 class_id=12, version=0
Attribute(s) Data Type Min Max Def
1. logical_name (static) octet-string
2. object_list (static) objlist_type
Specific Method(s) m/o
1. getlist_by_classid o
2. getobj_by_logicalname o
3. read_by_logicalname() o
4. get_attributes&services() o
5. change_LLS_secret() o
6. change_HLS_secret() o
7. get_HLS_challenge() o
8. reply_to_HLS_challenge() o
Attribute Description
Method Description
1
Per client server association
2
Note: Within an client-server association, there are never two objects with the same class_id and logical_name differ-
ing only in the versions.
3
If at least one attribute has no read access right under the current association, then a read_by_logicalname() to attrib-
ute index = 0 reveals the error message “scope-of-access-violated” (comp. IEC 61334-4-41:1996, p. 221).
4
The structure of the “new secret” depends on the security mechanism implemented. The “new secret” may contain
additional checkbits and it may be encrypted.
5.1 Introduction
The competitive electricity market requires an ever-increasing amount of timely information con-
cerning the usage of electrical energy. Recent technology developments enable to build intelligent
static metering equipment, which are capable to capture, process and communicate this informa-
tion to all parties involved. For further analysis of this information, for the purposes of billing, load-,
customer- and contract management, it is necessary to uniquely identify all data in a manufacturer
independent way collected manually or automatically, via local or remote data exchange.
The definition of identification codes was based on DIN 43863-3 December:1997, Electricity me-
ters – Part 3: Tariff metering device as additional equipment for electricity meters – EDIS – Energy
Data Identification System
5.2 Scope
The Object Identification System (OBIS) defines the identification codes (ID-codes) for commonly
used data items in electricity metering equipment. This standard specifies the overall structure of
the identification system and the mapping of all data items to their identification codes.
The Object Identification System (OBIS) provides a unique identifier for all and every data within
the metering equipment, including not only measurement values, but also abstract values used for
configuration or obtaining information about the behaviour of the metering equipment. The ID
codes defined in this standard are used for identification of
• logical names of the various instances of the Interface Classes, or objects, as defined in
Clause 4 or IEC 62056-62;
• data transmitted through communication lines (see 5.5.1);
• data displayed on the metering equipment (see 5.5.2).
This standard applies to all types of electricity metering equipment, like fully integrated meters,
modular meters, tariff attachments, data concentrators etc.
To cover metering equipment measuring other energy types than electricity, combined metering
equipment measuring more than one type of energy or metering equipment with several physical
measurement channels, the concept of channels and medium are introduced. This allows meter
data originating from different sources to be identified. While this standard fully defines the struc-
ture of the identification system for other media, the mapping of non-electrical energy related data
items to ID codes needs to be completed separately. In co-operation with CEN TC294, WG2 some
non-electrical codes are already implemented.
A B C D E F
For abstract data the hierarchical structure of the 6 code fields is not applicable.
With implementations that contain one channel only, even not channel-specific data can be as-
signed to channel 1.
5
Administered by the DLMS User Association
b
127 Inactive objects
128…254 Manufacturer specific codes
All other Reserved
a
Context specific identifiers identify objects specific to a certain
protocol and/or application. For the COSEM context the identifiers are
defined in Clause 4 or IEC 62056-62.
b
An inactive object is an object, which is defined and present in a
meter, but which has no assigned functionality.
21 L1 Active power+
22 L1 Active power-
23 L1 Reactive power+
24-30 L1 etc. (see 4-10)
a
31 L1 Current
32 L1 Voltage
33 L1 Power factor
34 L1 Frequency
35-40 L1 Active power ... etc. (see 15-20)
41 L2 Active power+
42 L2 Active power-
43 L2 Reactive power+
44-60 L2 etc. (see 24-40)
61 L3 Active power+
62 L3 Active power-
63 L3 Reactive power+
91 L0 current (neutral)
92 L0 voltage(neutral)
NOTES
• L i Quantity is the value (to be measured) of a measurement sys-
tem connected between the phase i and a reference point. In 3
phase 4-wire systems the reference point is the neutral. In 3
phase 3-wire systems the reference point is the phase L 2 .
• Σ L i quantity is the total measurement value across all systems.
a
For details of extended codes, see 5.4.5.1
b
For details of extended codes, see 5.4.5.2
The quadrant definitions are according to IEC 61268:1995 - Annex E, Figure E.1.
Figure 11 – Quadrants for power measurement
21 Cumulative minimum 3
22 Cumulative maximum 3
23 Minimum 3
24 Current average 3
25 Last average 3
26 Maximum 3
27 Current average 5
28 Current average 6
29 Time integral 5
30 Time integral 6
55 Test average
58 Time integral 4
NOTES
Averaging Scheme 1
Controlled by measurement period 1 (see 5.4.8) a set of registers is calculated by a meter-
ing device. (codes 1..6). The typical usage is for billing purposes.
Averaging Scheme 2
Controlled by measurement period 2 (see 5.4.8) a set of registers is calculated by a meter-
ing device. (codes 11..16). The typical usage is for billing purposes.
Averaging Scheme 3
Controlled by measurement period 3 (see 5.4.8) a set of registers is calculated by a meter-
ing device. (codes 21..26). The typical usage is for instantaneous values.
Averaging Scheme 4
Controlled by measurement period 4 (see 5.4.8) a test average value. (code 55) is calculated
by the metering device.
Last average
The value of the demand register at the end of the last measurement period.
Current average 5
The value of a current demand register using recording interval 1 as time base.
Current average 6
The value of a current demand register using recording interval 2 as time base.
Time integral 1
Without the inclusion of a billing period code (F <> 255): time integral of the quantity calcu-
lated from the origin (first start of measurement) to the instantaneous time point.
With a billing period code included (0<=F<100): time integral of the quantity calculated from
the origin to the end of the billing period given by the billing period code.
Time integral 2
Without the inclusion of a billing period code(F <> 255): Time integral of the quantity calcu-
lated from the beginning of the current billing period to the instantaneous time point.
With a billing period code included (0<=F<100): Time integral of the quantity calculated over
the billing period given by the billing period code.
Time integral 3
Time integral of the positive difference between the quantity and a prescribed threshold
value.
Time integral 4 ("Test time integral”)
Time integral of the quantity calculated over a time specific to the device or determined by
test equipment.
Time integral 5
used as a base for load profile recording: Time integral of the quantity calculated from the
beginning of the current recording interval to the instantaneous time point for recording
period 1.
Time integral 6
used as a base for load profile recording: Time integral of the quantity calculated from the
beginning of the current recording interval to the instantaneous time point for recording
period 2.
Under limit values
Values under a certain threshold (e.g. dips).
Over limit values
Values above a certain threshold (e.g. swells).
Missing values
Values considered as missing (e.g. interruptions).
34 Spanish identifiers
35 Portuguese identifiers
36 Hungarian identifiers
38 Slovenian identifiers
39 Italian identifiers
40 Romanian identifiers
41 Swiss identifiers
42 Slovakian identifiers
43 Austrian identifiers
44 United Kingdom identifiers
45 Danish identifiers
46 Swedish identifiers
47 Norwegian identifiers
48 Polish identifiers
49 German identifiers
55 Brazilian identifiers
61 Australian identifiers
62 Indonesian identifiers
64 New Zealand identifiers
65 Singapore identifiers
81 Japanese identifiers
86 Chinese identifiers
90 Turkish identifiers
91 Indian identifiers
a
Must be limited to two characters
NOTE 1 All other codes reserved
NOTE 2 Objects that are already identified in this document but not
included in 5.4.4.2 must not be re-identified by a country specific iden-
tifier.
This table is not valid if one of the following separate specifications for value group E apply.
5.4.5.1 Usage of value group E for current and voltage measurements
The following table show the meaning of the group E value while measuring current or voltage.
a
If only one object is instantiated, the value shall be 0
In the manufacturer specific objects only those values shall be placed, which are not represented
by another defined code, but need representation on the display as well. If this is not required, the
code shall use the possibilities of a value group above 127.
a
Reference voltage for power quality measurement 1 x 0 6 4 V-y
Input pulse constants
REW [Imp/kWh] (active energy) 1 x 0 7 0
REB [Imp/kvarh] (reactive energy) 1 x 0 7 1
RES [Imp/kVAh] (apparent energy) 1 x 0 7 2
Measurement-/registration-period duration
a
Measurement period 1, for average value 1 1 x 0 8 0 V-y
a
Measurement period 2, for average value 2 1 x 0 8 1 V-y
a
Measurement period 3, for instantaneous value 1 x 0 8 2 V-y
Measurement period 4, for test value 1 x 0 8 3
a
Recording interval 1, for load profile 1 x 0 8 4 V-y
a
Recording interval 2, for load profile 1 x 0 8 5 V-y
a
Billing period 1 x 0 8 6 V-y
Time entries
Time expired since last end of billing period 1 x 0 9 0
Local time 1 x 0 9 1
Local date 1 x 0 9 2
Reserved 1 x 0 9 3
Reserved 1 x 0 9 4
Week day (0..7) 1 x 0 9 5
Time of last reset 1 x 0 9 6
Date of last reset 1 x 0 9 7
Output pulse duration 1 x 0 9 8
Clock synchronization window 1 x 0 9 9
Clock synchronization method 1 x 0 9 10
Coefficients
a
Transformer magnetic losses 1 x 0 10 0 V-y
a
Transformer thermal losses 1 x 0 10 1 V-y
a
Line resistance losses 1 x 0 10 2 V-y
a
Line reactance losses 1 x 0 10 3 V-y
Measurement methods
Algorithm for active power measurement 1 x 0 11 1
Algorithm for active energy measurement 1 x 0 11 2
Algorithm for reactive power measurement 1 x 0 11 3
Algorithm for reactive energy measurement 1 x 0 11 4
Algorithm for apparent power measurement 1 x 0 11 5
Algorithm for apparent energy measurement 1 x 0 11 6
Algorithm for power factor calculation 1 x 0 11 7
a
y can be set at any value between –1 and n ; for current values group F is not used.
b
If a transformer ratio is expressed as a fraction the ratio is numerator, divided by denominator. If the transformer ratio is
expressed by an integer or real figure, only the numerator is used.
REMARK If the value field F is shaded, then value group F is not used.
It has to be observed, that some of the codes above are normally not used, as the related data
items are covered by attributes of already defined objects (application dependent). See Clause 4
or IEC 62056-62.
Some value groups may be suppressed, if they are not relevant to an application:
To allow the interpretation of shortened codes delimiters are inserted between all value groups:
A - B : C . D . E * F
Figure 12 – Reduced ID code presentation
The delimiter between value groups E and F can be modified to carry some information about the
source of a reset (& instead of * if the reset was performed manually).
For compatibility with existing implementations, in value group A an identifier for an energy type
may be used even for abstract objects.
5.5.2 Display
The usage of OBIS codes to display values is normally limited in a similar way as for data transfer,
e.g. according to IEC 62056-21.
Some codes may be replaced by letters to indicate clearly the differences from other data items:
Value group F
VZ+1 Future period
VZ Period 1
VZ-1 Period 2
VZ-2 Period 3
VZ-3 Period 4
VZ-4 ...
etc.
The value of the most recent (youngest) billing period is identified using the ID-code VZ (state of
the billing period counter), and the second youngest is identified by the code VZ-1 etc. The oper-
ating mode of the billing period counter can differ, e.g. modulo-12 or modulo-100. The value that is
represented after reaching the limit of the billing period counter, contains the billing period value
code 0 for modulo-100, and 1 for other (e.g. modulo-12).
Values above 100 allow to identify profiles which contain values of more than one billing period.
The maximum allowed value for this is 125.
The value 126 identifies a profile with values of an unspecified number of billing periods.
For thresholds the value group F contains a reference into several threshold levels for the same
quantity (if applicable).
5.5.4 COSEM
The usage of OBIS codes in the COSEM environment is defined in Clause 4 or IEC 62056-62.
Bibliography
IEC 61334-6:1998, Distribution automation using distribution line carrier systems - Part 6: A-XDR
encoding rule
Index
AARE, 9 Demand, 18, 22, 23, 25, 26, 45, 57, 85
AARQ, 9 Demand Register (class_id: 5), 22
abstract, 62, 67, 80, 81 Device ID, 68, 69, 89
Abstract COSEM Objects, 62 Electrical Energy related COSEM Objects, 69
Abstract objects, 63, 82, 86, 88, 89, 90, 93 Electricity, 82, 83, 84, 87, 90, 92
Acknowledgement, 6 Electricity ID Numbers, 70
ACSE, 9, 17 encryption, 17, 42, 44
Activation, 24, 25, 37, 38, 57, 62, 64 Entries related to billing periods, 70
active, 11, 14, 20, 24, 25, 37, 41, 52, 59, 71, 72, error, 45, 51, 55, 56, 61, 69, 79, 82, 84, 90
74, 83, 90, 91 error Values, 69
Activity Calendar, 37, 65 Extended, 9, 21, 24, 25, 57, 70, 84, 88
Algorithm, 30, 36, 71, 72, 73, 74, 81, 91 Extended Register, 21
angle, 20, 84, 88 Foreword, 6
APDU, 9 frequency, 21, 31, 83
apparent, 20, 21, 72, 73, 74, 83, 90, 91 fundamental, 72, 73, 74, 88
ASE, 9 Gas, 81, 82
Association, 11, 16, 17, 39, 41, 43, 59, 62, 66, 67, General purpose, 62, 83, 90
78 General service, 82, 89
Association LN (class_id: 15), 39 GMT, 9, 14, 29, 30
Association Objects, 66 Guidelines for Assigning Short Names, 56
Association SN (class_id: 12), 43 harmonic, 72, 73, 74, 88, 92
Authentication, 16, 17, 39, 41, 42, 43, 44, 59, 79 HDLC, 9, 54, 61, 62, 66
A-XDR, 9 HDLC Setup, 66
base_name, 9, 43, 56, 61, 62 Heat, 81, 82
Basic Principles, 10 I/O Control Signals, 68
Battery, 89 IEC HDLC Setup, 54
billing period, 64, 65, 67, 69, 70, 81, 84, 85, 88, IEC Local Port Setup, 49
90, 91, 92, 93 IEC Twisted Pair (1) Setup, 55, 66
Broadcast, 55, 64 Input and Output Pulse Constants, Nominal
Calendar, 36, 37, 38, 39, 47, 59, 62, 64, 65 Values, 71
calibration, 89 instantiation, 8, 10, 11, 12, 13, 19, 45, 49, 62, 65
challenge, 17, 42, 44, 78, 79 interface classes, 18
channel, 17, 54, 63, 69, 70, 80, 82, 89 Internal Status, 69
Class Description Notation, 11 Introduction, 8
Clock, 11, 14, 18, 26, 28, 29, 30, 35, 36, 58, 62, limit, 26, 52, 85, 93
63, 71, 75, 91 load profile, 85, 91, 92
Coding of OBIS Identifications, 74 logical device, 11, 15, 16, 32, 37, 39, 43, 45, 49,
Common Data Types, 12 55, 62, 67
Complex data types, 13 losses, 91
configuration, 12, 19, 50, 60, 62, 63, 68, 71, 80, Maintenance of the Interface Classes, 48
89, 90 manufacturer specific, 11, 14, 19, 35, 36, 52, 62,
control signals, 89 74, 81, 82, 83, 84, 85, 87, 89
Copyright, 6 Mapping of Data Items, 62
COSEM Interface Objects, 10 maximum, 12, 26, 41, 53, 54, 63, 65, 69, 76, 84,
COSEM Logical Device Name, 67 85, 90, 94
COSEM Object Identification System (OBIS), 80 Measurement, 71
country specific, 82, 86, 87 meter reset, 64
current, 8, 72, 73, 74, 81, 83, 84, 85, 87, 88, 90, minimum, 12, 50, 69, 84, 85
91, 92 Modem, 50, 51, 52, 53, 60, 62, 63
current association, 17 Monitor, 45, 46, 60, 71
Data, 11, 12, 13, 19, 20, 21, 22, 23, 25, 26, 30, 32, New Interface Classes, 48
33, 34, 35, 36, 37, 39, 43, 45, 46, 47, 48, 49, 50, New Versions of Interface Classes, 49
52, 53, 54, 55, 56 OBIS, 6, 7, 9, 11, 12, 19, 62, 63, 64, 65, 66, 67,
Data format, 12, 13 68, 69, 70, 71, 72, 73, 74
Data formats for date and time notation, 13 object_list, 16, 39, 42, 43, 59, 78
Data of previous billing periods, 70 Parameter Changes, 68
daylight saving, 14 password, 17, 44, 50, 79
PDU, 7, 9, 41 Schedule, 33, 35, 36, 37, 47, 48, 58, 60, 62, 64,
physical device, 15, 16, 45, 55, 63, 64, 65 65
Port Setup, 49, 60, 62, 65 Scope, 7
power factor, 74, 83, 91 script, 32, 33, 34, 35, 38, 46, 48, 58, 60, 62, 64
power fail, 34, 35, 37, 69, 89 Script Table, 32, 64
Previous Versions of Interface Classes, 75 secret, 17, 39, 41, 42, 43, 44, 45, 59, 78
profile, 11, 18, 26, 27, 29, 37, 38, 51, 58, 66, 68, selective access, 12, 27, 28, 39, 41, 43, 47, 58
75, 91, 92 server model, 8, 15
profile Generic (class_id: 7), 26 simple data types, 13, 24, 46
program, 89, 90 Single Action, 47, 48, 60, 62, 65
program changes, 68 Single Action Schedule, 47, 65
Program Entries, 71 Special Days, 33, 34, 36, 59, 62, 64
proprietary, 10 Special Days Table, 36, 64
Protocol related Interface Classes, 49 Standard Readout Profile, 66
PSTN, 50, 52, 53, 60, 61, 62, 63, 64 Status of standardisation, 6
PSTN Auto Answer, 52, 63 Table of Contents, 3
PSTN Auto Dial, 53, 63 Terms, Definitions and Abbreviations, 9
PSTN Modem Configuration, 50, 63 test mode, 64
quadrant, 84 Threshold Values, 71
Rate, 25, 87 Time, 9, 13, 14, 18, 84, 85, 89, 90, 91
Ratios, 71, 90 Time Changes, 35
RCR, 71, 90 Time integral, 70, 84, 85
reactive, 8, 11, 20, 72, 83, 90, 91 time setting, 35
readout, 29, 62, 66 time switch, 68, 71, 89
Referenced Documents, 8 Total, 87, 88, 89
Referencing COSEM objects, using SN, 56 Twisted Pair, 9, 61, 62, 66
Register, 11, 18, 19, 21, 23, 25, 27, 28, 46, 57, 60, Utility Tables, 46, 47, 60, 63, 67, 68
62, 67, 69, 81 Value Group A, 74, 81, 82, 88, 93
Register Activation, 24 Value Group B, 63, 64, 65, 66, 81, 82
Register Monitor, 45 Value Group C, 62, 81, 82, 83, 88, 93
Relation to OBIS, 62 Value Group D, 64, 65, 69, 81, 84, 86, 88
Removal of Interface Classes, 49 Value Group E, 63, 65, 81, 86, 87, 88
Reserved base_names, 61 Value Group F, 70, 81, 88, 91, 93, 94
Revision History, 9 voltage, 20, 72, 73, 74, 81, 83, 84, 87, 88, 89, 90,
SAP, 16, 40, 45, 59, 62, 67 91, 92
SAP Assignment, 45 Water, 81, 82
SAP Assignment Object, 67