Sei sulla pagina 1di 190

Class Description

Firmware: Revision Date: Compiled for P05.H 09.09.2009

Landis+Gyr AG

Revision Date: 09.09.2009

Page 1 / 190

Class Description

Compiled for P05.H

Table of Contents
1 Introduction 4 1.1 Purpose of this Document................................................................................................................4 1.2 Validity Scope....................................................................................................................................4 1.3 Referenced Documents.....................................................................................................................4 1.4 Terms, Definitions and Abbreviations.............................................................................................4 2 Direct Memory Access 5 2.1 Used Rose Model...............................................................................................................................5 2.2 Common Description........................................................................................................................5 2.3 How to Navigate Through the Data Structure.................................................................................6 2.3.1 Building the Meter Model..................................................................................................................6 2.3.2 Property Description.........................................................................................................................6 2.3.3 Physical Model of Base....................................................................................................................7 2.4 Files Needed to Generate the Physical Address Table................................................................13 2.5 What Else can be Read?.................................................................................................................13 2.6 Special Things to Take Care...........................................................................................................13 2.6.1 Dependencies as Described Above................................................................................................13 2.6.2 Permanently Storing of RAM Data in EEPROM..............................................................................14 3 Classes 15 3.1 Protocol Selector [1-0-80-10122]....................................................................................................15 3.2 Data [1-0-1-20013]............................................................................................................................16 3.3 Diagnostic Register [3-0-81-20009]................................................................................................16 3.4 Energy Register [3-0-81-20010] .....................................................................................................20 3.5 Error Register [3-0-81-20011]..........................................................................................................22 3.6 General Value Register [3-0-0-20013].............................................................................................25 3.7 General Count Register [3-0-81-20015]..........................................................................................26 3.8 Meter State Register [3-0-80-20016]...............................................................................................27 3.9 Event Register [3-0-81-20018].........................................................................................................28 3.10 Energy Pulse Register [3-0-80-20020]..........................................................................................34 3.11 PF-Register [3-0-0-20053]..............................................................................................................36 3.12 Coincidental Demand Register[4-0-0-20049]...............................................................................37 3.13 Demand Pmax Register [4-0-0-20051]..........................................................................................39 3.14 PF-min Register [4-0-0-20054]......................................................................................................41 3.15 Extrema Register [4-0-0-20080]....................................................................................................43 3.16 Extrema Extended Register [4-0-1-20081]...................................................................................44 3.17 Demand Register [5-0-1-20050]..................................................................................................46 3.18 Event Log [7-1-5-20030]................................................................................................................48 3.19 Load Profile [7-1-5-20031].............................................................................................................51 3.20 Intermediate Value [7-1-5-20032]..................................................................................................54 3.21 Clock [8-0-80-0]..............................................................................................................................58 3.22 Script Table Class [9-0-1-10800]...................................................................................................63 3.23 Special Days Table [11-0-80-0].....................................................................................................64 3.24 DLMS Association View [12-0-1-0]...............................................................................................65 3.25 Association View LN [15-0-1-0].....................................................................................................66 3.26 SAP Assignment [17-0-0-0]...........................................................................................................67 3.27 IEC Set Up [19-0-80-0]...................................................................................................................67 3.28 Activity Calendar [20-0-81-0]........................................................................................................70 3.29 Monitor Register [21-0-81-0].........................................................................................................74 3.30 Single Action Schedule [22-0-81-0]..............................................................................................77 3.31 HDLC Setup [23-0-1-0]...................................................................................................................80 3.32 Modem configuration [27-0-81-0].................................................................................................82 3.33 PSTN auto answer [28-0-0-0]........................................................................................................87 3.34 Tariff Application [10002-0-81-0]..................................................................................................88 3.35 Measurement System MMI3 [10009-0-80-0].................................................................................95
Landis+Gyr AG Revision Date: 09.09.2009 Page 2 / 190

Class Description

Compiled for P05.H

3.35.1 Measurement System Calibration Data .....................................................................................105 3.36 Object List [10010-0-1-0].............................................................................................................108 3.37 Set Mode List [10011-0-1-0].........................................................................................................112 3.38 Battery [10014-0-80-0].................................................................................................................115 3.39 End List [10016-0-1-0]..................................................................................................................116 3.40 Object of Rubbish [10017-0-82-0]...............................................................................................119 3.41 Temperature Calibration [10018-0-80-0].....................................................................................124 3.42 Exception Handler [10020-0-81-0]..............................................................................................124 3.43 VAA Definition [10022-0-80-0].....................................................................................................126 3.44 Control Status [10025-0-80-0].....................................................................................................128 3.45 Pulse Input [10026-0-80-0]..........................................................................................................129 3.46 Battery Mode [10035-0-0-0].........................................................................................................130 3.47 Reset Control System [10040-0-81-0].........................................................................................131 3.48 Service Mode List [10051-0-0-0].................................................................................................132 3.49 BatteryMonitoringActivate [10056-0-0-20040]...........................................................................135 3.50 CalibrationModeActivate [10056-0-0-20041]..............................................................................135 3.51 AlertIndicatorActivate [10056-0-0-20047]...................................................................................135 3.52 SignalStrengthActivate [10056-0-0-20048].................................................................................136 3.53 Demand Configuration Register [10080-0-2-0]..........................................................................136 3.54 Meter Function [10100-0-81-0]....................................................................................................141 3.55 Readable items [10110-0-0-0]......................................................................................................144 3.56 GPRS CSD Modem Setup [10133-0-80-0]...................................................................................144 3.57 Security Access light [10166-0-80-0]..........................................................................................146 3.58 ASW Specific Attribute [10610-0-1-0].........................................................................................148 3.59 ESW Specific Attribute [10611-0-80-0].......................................................................................148 3.60 Instantaneous Pulse Output [10630-0-81-0]..............................................................................149 3.61 SmsController [10660-0-80-0].....................................................................................................155 3.62 Dedicated Event Log Config Class [10900-0-0-0]......................................................................156 3.63 Dedicated Event Log Normal [10910-0-0-0]...............................................................................158 3.64 Dedicated Event Log Simple [10920-0-0-0]................................................................................162 3.65 Dedicated Event Log Extended [10930-0-0-0]............................................................................167 3.66 Dedicated Event Log HighestMaximumDemand [10940-0-0-0]................................................172 3.67 Dedicated Event Log VoltageQuality [10950-0-0-0]...................................................................175 3.68 Dedicated Event Log Parameter Change [10960-0-1-0]............................................................179 3.69 Object GSM-Information [20052-0-80-0].....................................................................................182 4 Description of special Objects 184 4.1 Hardware Identification.................................................................................................................184 4.2 Storage of Dates............................................................................................................................185 4.3 Identification Numbers..................................................................................................................185 4.4 Measurement Constants...............................................................................................................186 4.5 Counter Registers.........................................................................................................................187 4.5.1 Time Counting Registers..............................................................................................................187 4.5.2 Event Counting Registers.............................................................................................................187 4.6 Readable Items..............................................................................................................................188 4.7 Display Objects..............................................................................................................................188 4.8 Logical names of CIMA Objects...................................................................................................188

Landis+Gyr AG

Revision Date: 09.09.2009

Page 3 / 190

Class Description

Compiled for P05.H

1 Introduction
1.1 Purpose of this Document
This paper contains two main parts used by the tool software developers to implement their parametrisation software accessing the meter either by COSEM defined methods or by an internal used direct memory access to the meter data.

1.2 Validity Scope


This paper may only be used by the development group of SIERRA. It's written by the meter software developers.

1.3 Referenced Documents


Ref.
Ref. 1,2,6 Ref. 3 Ref. 4 Ref. 5 Ref. 7

Doc-Number
DLMS UA 1000-1:2007, Eighth Edition H SIERRA 0078 DKE AK 461.0.8 H SIERRA 0132 DLMS UA 1000-2:2007, Sixth Edition

Title
COSEM Identification System and Interface Classes (Blue Book) Sierra Technical Specification EDIS (Energie Daten Identifikations System) Version 1.6 1996 Hardware Identification Dialog Meters DLMS/COSEM Architecture and Protocols (Green Book)

Author
DLMS User Association C. Loder T. Lindauer DLMS User Association

1.4 Terms, Definitions and Abbreviations


Some names defined by COSEM were changed to fulfil the coding rules established. Underlines _ are generally replaced by starting the next word with a capital letter. To build a logical model use the internal terms. COSEM logical_name value scaler_unit Internal term LogicalName CurrentValue UnitScale

Landis+Gyr AG

Revision Date: 09.09.2009

Page 4 / 190

Class Description

Compiled for P05.H

2 Direct Memory Access


2.1 Used Rose Model
Here we see the rose model of our base classes and as an example the classes used for an energy register.
Rose model of meter application objects
Next First Mab_Application EnumType IsA Mab_Virtual NameEnumType The name in the link map is: Mab_ApplicationBase_First

VirtualName

Mab_MeterApplicationBase DLMSidentifier : Unsigned16 RamDataSize : Unsigned16 EepromInitDataSize : Unsigned16 IsA : Mab_ApplicationEnumType VirtualName : Mab_VirtualNameEnumType RamData : Mab_RamData EepromData : Mab_EepromData FirstPropDesc FirstPropDesc : Mab_PropertyDescr EepromInitData : Mab_EepromData Next : Mab_MeterApplicationBase First : Mab_MeterApplicationBase
A

EepromData

All this data are in ROM RamData

Mab_PropertyDescr ReadVAAs WriteVAAs Id(DLMSoffset) StorageLocation DataType DataSize DataOffset .......... Next : Mab_PropertyDescr

Mab_EepromData IdString : UCHAR[12] LogicalName : UCHAR[8] UnitScale : UnitAndScaleType


A

Next EepromInitData Mab_Ram Data


A

Mer_EnergyRegister

Mer_EepromData ConfiguredAndActivated : BOOLEAN RamBackup : Mer_RamData RamBackup Mer_RamData CurrentValue : Signed48 Active : BOOLEAN MValueNumber : Unsigned8

2.2 Common Description


This is an access method that may only be used for L&G internal stuff like development tests, parametrisation at operations or special handling of our test group. This access method is dependent on the following items: Used microprocessor Used compiler Compiled meter version Used C data type definitions To see how to get the physical addresses of the different data we have to know the data model and where the different data are stored.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 5 / 190

Class Description

Compiled for P05.H

2.3 How to Navigate Through the Data Structure


The entry point is the static First pointer of the class Mab_ApplicationBase. It's named Mab_ApplicationBase_First and stored in ROM (as every instance of Mab_ApplicationBase). This pointer points to the first data structure. The next object can be accessed by the Next pointer of the current structure. A NULL pointer indicates the end of the list. All these pointers point to a data structure allocated in ROM. So you are not able to modify them. For EOS meters we have to declare all pointers to a constant with the keyword "const". The modifiable data can be accessed with the help of the pointers to the RamData and EepromData. The pointer to RamData is a real pointer used by the micro to address the data. The pointer to EepromData is a virtual pointer into the serial EEPROM array. RamDataSize is used for generic backup and restore functions. EepromInitData and EepromInitDataSize is used to make the first initialisation of the meter with a predefined and not modifiable configuration.

2.3.1 Building the Meter Model


All objects of the Mab_ApplicationBase together build the meter model (configuration) there are three main attributes that identify the currently used class (real COSEM or proprietary COSEM style class with a possible "subclass") and DLMS addressing structure: DLMSidentifier This is the DLMS variable address of the LogicalName (please refer to the COSEM class to DLMS mapping) of the current object. Objects which are not accessable by communication have a value of ZERO in this attribute. IsA This is the identification of the class type of the current object. It corresponds with the class_id of the COSEM specification. Subclasses (e.g. energy register within the register class) are additionally marked with a subtype attribute as the first proprietary attribute. FirstPropDescr This points to the description of the first attribute accessible by DLMS. Intern we also use a virtual addressing (attribute VirtualName) to identify a specific Object within a group of the same class. This is an enumeration and (contrary to the LogicalName and IdString) not modifiable.

2.3.2 Property Description


The property description is used for every attribute you like to read out or write via DLMS. The functions that use this property description are Mab_ApplicationBase_readProperty() and Mab_ApplicationBase_writeProperty(). The property description describes the attribute type. All property descriptions of a class are organised in a simple list. Every class has its own list.

Data structure for a property description


typedef struct Mab_PropertyDescrDataTypeTag { struct Mab_PropertyDescrDataTypeTag* Next; Pointer to property description of the next attribute Unsigned16 MemoryOffset; Memory offset in bytes. The offset is counted from RamData (if RAM variable), from EepromData (if EEPROM variable) or from this pointer (if ROM variable). Unsigned8 AttributeNumber; Number of attributes. Increments with 8, is also the DLMS address offset to the DLMSidentifier (DLMS base address of the object) Cod_DataIdentifierType AttributeType; Defines the DLMS data type. If the internal data type differs from the DLMS data type we are using a own data type. This type defines the data conversion from the internal to the external data type. Mab_MemoryKindEnumType KindOfMemory; defines where the variable is located: RAM, ROM, EEPROM Unsigned8 AttributeLength; defines the size of the variable in bytes } Mab_PropertyDescrDataType;

Landis+Gyr AG

Revision Date: 09.09.2009

Page 6 / 190

Class Description

Compiled for P05.H

2.3.3 Physical Model of Base


Each of the following classes is derived from this base class. typedef struct Mab_ApplicationBaseDataTypeTag{ Mab_ApplicationBaseVFTType const* struct Mab_ApplicationBaseDataTypeTag const* Mab_PropertyDescrDataType* Unsigned16 void* Emd_DataMemoryPointerType Unsigned16 Emd_DataMemoryPointerType void const* void const* Unsigned16 Mab_ApplicationEnumType Mab_VirtualNameEnumType Unsigned8 } Mab_ApplicationBaseDataType; VFT; Next; FirstPropDesc; DLMSidentifier; RamData; RamDataBackup RamDataSize; EepromData; EepromInitData; RamDataBackupInitData EepromInitDataSize; IsA; VirtualName; OwnClassVersion;

No first initialization for production; these attributes do not exist in code for production. This is not true for the EOS meter because there is always an initialisation for the production typedef struct { Mab_IdStringDataType Mab_LogicalNameType Mab_UnitScaleType Array of Unsigned8 Mab_UnitScaleType } Mab_EepromDataDataType; IdString; LogicalName; UnitScale; AttrVaaAccList; DisplayUnitScale;

The basic attributes have the following meaning and structure. The first two attributes are defined by COSEM and the following three are proprietary. LogicalName Type: octetstring [6]

Contains an identification the data contained in CurrentValue. Identifiers are specified based on the OBIS identification system. (Ref. 1). A list of the LogicalName values is give in Logical names of CIMA Objects. UnitScale Type: UnitScaleType:

Provides information on the unit and the scaler of the value used for DLMS communications. structure { scaler, unit } scaler: integer8 This is the exponent (to the base of 10)of the multiplication factor. Remark: if the value is not numerical then the scaler = 0 shall be used. unit: enum enumeration defining the physical unit as shown below:

Landis+Gyr AG

Revision Date: 09.09.2009

Page 7 / 190

Class Description

Compiled for P05.H

Landis+Gyr AG

Revision Date: 09.09.2009

Page 8 / 190

Class Description

Compiled for P05.H

unit::= enum (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) a

Unit time time time time time time time (t) (phase) angle temperature (T) (local) currency length (l) speed (v)

Quantity year

Unit name

SI definition (comment)

mo wk d h min. s C currency m m/s m3 m3 m 3 /h

month week day hour min second degree degree celsius metre metre per second cubic metre cubic metre cubic metre per hour 7*24*60*60 s 24*60*60 s 60*60 s 60 s s rad*180/ K-273.15 m m/s m3 m3 m 3 /(60*60s)

volume (V) r V , meter constant or pulse value (volume) corrected volume volume flux

(16)

m 3 /h

corrected volume flux

cubic metre per hour

m 3 /(60*60s)

(17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31)

m 3 /d m 3 /d l kg N Nm Pa bar J J/h W VA var Wh VAh

volume flux corrected volume flux volume mass (m) force (F) energy pressure (p) pressure (p) energy thermal power active power (P) apparent power (S) reactive power (Q) active energy r W , active energy meter constant or pulse value apparent energy r S , apparent energy meter constant or pulse value reactive energy r B , reactive energy meter constant or pulse value current (I) electrical charge (Q) voltage (U) electrical field strength (E) capacitance (C) resistance (R) resistivity ( ) magnetic flux ( ) magnetic flux density (B) weber tesla litre kilogram newton newtonmeter pascal bar joule joule per hour watt volt-ampere var watt-hour volt-ampere-hour

m 3 /(24*60*60s) m 3 /(24*60*60s) 10 -3 m 3

J = Nm = Ws N/m 2 10 5 N/m 2 J = Nm = Ws J/(60*60s) W = J/s

W*(60*60s) VA*(60*60s)

(32)

varh

var-hour

var*(60*60s)

(33) (34) (35) (36) (37) (38) (39) (40) (41)

A C V V/m F m 2 /m Wb T

ampere coulomb volt volt per metre farad ohm

A C = As V V/m C/V = As/V = V/A m Wb = Vs Wb/m 2

Landis+Gyr AG

Revision Date: 09.09.2009

Page 9 / 190

Class Description

Compiled for P05.H

unit::= enum (42) (43) (44) (45) (46) (47) (48)

Unit A/m H Hz 1/(Wh) 1/(varh) 1/(VAh) V2h

Quantity magnetic field strength (H) inductance (L) frequency (f, ) R W , active energy meter constant or pulse value R B , reactive energy meter constant or pulse value R S , apparent energy meter constant or pulse value volt-squared hour r U2h , volt-squared hour meter constant or pulse value ampere-squared hour r I2h , ampere-squared hour meter constant or pulse value mass flux conductance temperature (T) R U2h , volt-squared hour meter constant or pulse value R I2h , ampere-squared hour meter constant or pulse value R V , meter constant or pulse value (volume) percentage % ampere-hours

Unit name ampere per metre henry hertz

SI definition (comment) A/m H = Wb/A 1/s

volt-squared-hours

V 2 (60*60s)

(49)

A2h

ampere-squaredhours kilogram per second siemens kelvin

A 2 (60*60s)

(50) (51) (52) (53) (54) (55) (56) (57) (60) (61) (62) (63)

kg/s S, mho K 1/(V 2 h) 1/(A 2 h) 1/m 3 Ah Wh/m J/m


3 3

kg/s 1/

Ampere-hour 3,6*10 3 J/m 3 mole percent (Basic gas composition unit) (Gas analysis, accompanying elements) pascal second (Characteristic of gas stream)

energy per volume calorific value, wobbe molar fraction of gas composition mass density, quantity of material

Mol % g/m 3

(64) . (253) (254) (255)

Pa s

dynamic viscosity

reserved other count other unit no unit, unitless, count

Some examples are shown below.


Value 263788 593 3467 Scaler -3 3 0 Unit m3 Wh V Data 263.788 m 3 593 kWh 3467 V

DisplayUnitScale

Type: UnitScaleType

Provides information on the unit and the scaler of the value used for display. It has the same type as UnitScale above.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 10 / 190

Class Description

Compiled for P05.H

Implementation Notes: 1) Valid scalers are those which can be shown in the display with the existing symbols:
0: 3: 6: units or no scaling k = kilo M = Mega

2) In case of energy and demand registers, this value must be set in accordance to the attribute UnitMeter of the measurement system used:
3: 6: k = kilo M = Mega if UnitMeter = 0 (kWh) if UnitMeter = 1 (MWh)

IdString Type: octetstring [12] Contains the identification number which is showed on display and readout together with the current value. It is usually coded using the EDIS identification system [Ref. 4]. The string must be 0x00 terminated. Only for LCD PICO: The last byte (byte 12) [in case of ELIO meters] or the first byte after the terminating zero-character of the identifier, or, if the identifier has 11 characters, the 12th byte [in case of PICO meters] of the IdString of all energy registers (see class Energy Register) is used to select the display symbols that represent the register. There are two display symbols: Frame and Rate (see figure below) Frame

Rate The individual bits of the 12th byte are used to select if the corresponding symbol is shown (bit =1) or is turned off (bit = 0). The correspondence between the bits and the symbols is the following:
Frame of Rate 4 Frame of Rate 3 Frame of Rate 2 Frame of Rate 1
Bit 7 Bit 6 Bit 5 Bit 4

Rate 4
Bit 3

Rate 3
Bit 2

Rate 2
Bit 1

Rate 1
Bit 0

All other unused bytes of IdString must be set to 0x00. AttrVaaAccList Array [Number of attributes] of Unsigned8.

The definition of AttrVaaAccList depends on the security system used. There are two types of security systems: Security Access class 10021 Security Access class 10171 Security Access Simple Class 10166-0-60-0 Security System Light VAA Definition class 10022 VAA Definition class 10172 VAA Definition Simple Security Class 10022-0-1-0 VAA Definition

Security System Normal (CIMA) Security System Simple (ELIO) Security System Light (EOS) Security System Normal

AttrVaaAccList provides a reference to a read and write access list for each of the attributes of a class. It is organized as an array: each attribute has a byte where the reference to the corresponding access list is made.
Byte 1 Byte 2 Byte 3 Byte N

Ref. to access list


Attribute 1

Ref. to access list


Attribute 2

Ref. to access list


Attribute 3

Ref. to access list


Attribute N

Landis+Gyr AG

Revision Date: 09.09.2009

Page 11 / 190

Class Description

Compiled for P05.H

The number set as reference to the access list corresponds to the desired list number as defined in Security Access.
0 1 2 127 = ReadWriteList0 = ReadWriteList1 = ReadWriteList2 .. = ReadWriteList127

Note: This attribute is always readable. Security System Simple AttrVaaAccList directly defines the read and write access for every attribute of a class. It is organized as an array: Every attribute has a byte where the read and write access is defined for every Vaa.
Byte 1 Byte 2 Byte 3 Byte N

Access definition
Attribute 1

Access definition
Attribute 2

Access definition
Attribute 3

Access definition
Attribute N

The access definition is made with the bits of each byte as shown below:
Read Vaa4
Bit 6 Bit 5

Write Vaa1
Bit 4

Vaa16
Bit 7

Vaa16
Bit 3 Bit 2

Vaa4
Bit 1

Vaa1
Bit 0

Security System light AttrVaaAccList provides a reference to a read and write access list for each of the attributes of a class. It is organized as an array: each attribute has a byte where the reference to the corresponding access list is made.
Byte 1 Byte 2 Byte 3 Byte N

Ref. to access list


Attribute 1

Ref. to access list


Attribute 2

Ref. to access list


Attribute 3

Ref. to access list


Attribute N

The number set as reference to the access list corresponds to the desired list number as defined in Security Access.
0 1 2 63 = ReadWriteList0 = ReadWriteList1 = ReadWriteList2 .. = ReadWriteList63

Note: This attribute is always readable. Only the following VAA's are used:
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

Vaa16

Vaa8

Vaa7

Vaa5

Vaa4

Vaa3

Vaa2

Vaa1

subtype

Type: Unsigned16

Used to identify the proprietary subclasses of general class like Data or Register. Its value is 10000 (dec.)

Landis+Gyr AG

Revision Date: 09.09.2009

Page 12 / 190

Class Description

Compiled for P05.H

2.4 Files Needed to Generate the Physical Address Table


To get all the physical addresses we have a tool called Xtractor.The Xtractor needs the following files: Dwarf 1.0 or 2.0 format. Use Optional rom data types: build.lnk or EOS.x30 config.c File generated by the linker in XCOFF or ELF /

Source file. Contains the declarations of the DSW-objects.

Mab_app.h Source file. Cgf_Port.h Source file. The editor of the Xtractor allows to specify the type to use when analysing the structure of an object eeprom part. Normaly, this type is the type of the variable whose address is stored into object.EepromInitData. However, it is also possible to directly specify the type to use.

2.5 What Else can be Read? 2.6 Special Things to Take Care
2.6.1 Dependencies as Described Above
2.6.1.1 Used microprocessor
There are two mainly used concepts of storing multiple byte data types (word, long): MSByte first and LSByte first. The used 78k0 is an Intel based micro and uses LSByte first. Some micros (specially 16/32 bit micros) are using a word alignment for multiple byte data types and for structured data types (struct, array). I don't know why, but the 78k0 uses also a word alignment. All these dependencies are very stable and change only if we would change the micro family. So, don't worry about! ! The M16C group of Renesas controllers uses the same Intel hex format as the K4 from NEC.

2.6.1.2 Used compiler


Some compilers allocate the members of a struct data type in the reverse order of the declaration. It's very seldom and compiler vendors normally never change their philosophy. IAR allocates the members in the same order as they are declared. Due to the word alignment there may be some byte holes in a struct (or an array of struct with odd size) if there are byte and multiple byte types mixed. Most compilers optimise the total size used for a struct by allocating byte size members in these holes. This results in a chaotic order of the struct members. If this optimisation is used can be decided by the compiler vendor and can be added in a new compiler version without any warning (normally only a remark in the readme file). It's up to the compiler vendor if this optimisation can be switched off. This optimisation can also be done by hand (like we are doing it) by ordering first the multiple byte data type and then the single byte members. The current version of the IAR compiler makes no byte stuffing optimisation. The information of type allocation is only stored in the debug information of the object file for the emulator. We have no description how to get this information out of that file. If we want to produce this information automatically with the particular compiler version used for a specific meter version, we must create a test file, which has simple constants in ROM holding the offset information for each member of the structs we need. For the first versions this can be done by hand. Restriction for the IAR M16C compiler: We have to use Byte align Objects in the general target settings. Otherwise the Rom default alignment is wrong. We have also to use the type specific word "const" to declare a pointer to a constant. These pointers have a length of 4 Bytes instead of 2 or 3 Bytes with another compiler.

2.6.1.3 Compiled meter version


For each compiled meter version a new physical address table must be created. Together with older tables we can produce a compatibility list that describes which address table is compatible with which meter versions.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 13 / 190

Class Description

Compiled for P05.H

2.6.1.4 Used C data type definitions


Changing the C data type definitions is directly coupled with the generation of a new meter version. So please refer to the handling above.

2.6.2 Permanently Storing of RAM Data in EEPROM


All RAM data of an object have a one to one backup copy in the EEPROM data. Never try to modify the EEPROM copy to produce a new value in the RAM. It will be overwritten at the next power down sequence. To permanently modify data in RAM you must modify the RAM data and produce a power down (to backup the data in EEPROM. After the power up the new data get restored from EEPROM.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 14 / 190

Class Description

Compiled for P05.H

3 Classes
3.1 Protocol Selector [1-0-80-10122]
Firmware name: Psr_ProtocolSelector Defines the initial protocol used in the various interfaces (channels) of the Fox3 meter. ProtocolSelector Attributes 1 LogicalName 2 ProtocolAssignmentList Proprietary Attributes 3 subtype 4 OwnClassVersion 5 AttrVaaAccList Attribute Description ProtocolAssignmentList Array[4] Used to assign a protocol (e.g IEC or hdlc) to a selected communications channel. This attribute can handle up to four channels, which are addressed separately by the individual array elements.
1st Element 2nd Element 3rd Element 4th Element

0..n
(static) (static.) (const) (const) (static)

class_id=1, version=0, OwnClassVersion=80 Min Max Def


0000F01301FF

Data Type octetstring Array[4] Unsigned16 Unsigned8 octetstring

10122 80
0x06 00 02 02

ProtocolAssignmentList

Channel 1 Optical Inferface

Channel 2 Electrical interface 1 (Base board)

Channel 3 Electrical interface 2 (Auxillary board)

Channel 4 Not used

Each element of the array contains a structure with two fields: ClassId (Unsigned16) and LogicalName (type octetstring[6]:
1st array element 2nd array element 4th array element

ProtocolAssignmentList

ClassId

LogicalName

ClassId

LogicalName

ClassId

LogicalName

The protocol selection is done by choosing the class ID and the logical of name of the class which contains the desired protocol settings:
Protocol none auto protocol (IEC or HDLC) IEC Class ID 0 1 19 Logical Name FFFFFFFFFFFF 0000F01301FF 0000140001FF 0001140001FF 0002140001FF 0001160000FF 0002160000FF 0003160000FF Internal Object none Psr_ProtocolSelector IECsetupDataCh1 IECsetupDataCh2 IECsetupDataCh3 HDLCsetupDataCh1 HDLCsetupDataCh2 HDLCsetupDataCh3 Interface Only supported by the electrical interfaces 1+2 Optical Interface Electrical Interface 1 Electrical Interface 2 Optical Interface Electrical Interface 1 Electrical Interface 2

HDLC

23

Implementation note: Internally (in the code) the virtual name is stored, but at interface level (DLMS communication or pre-processing for production with the DLMS converter) the logical name and the class_id is used. In Autoprotocol mode the electrical interface has no Autobaud. This means that it uses only one opening baudrate corresponding to the one set in attribute comm_speed of the HDLC setup class. Electrical interface with Autoprotocol: it never uses Autobaud Optical interface with Autoprotocol: it always uses Autobaud

Landis+Gyr AG

Revision Date: 09.09.2009

Page 15 / 190

Class Description

Compiled for P05.H

The default value is defined below:


Channel 1 (Auto) 1 0000F01301FF Channel 2 (Auto) 1 0000F01301FF Channel 3 (Auto) 1 0000F01301FF Channel 4 (none) 0 FFFFFFFFFFFF

3.2 Data [1-0-1-20013]


This class is used to handle unitless quantities, mainly identification numbers. A list of these numbers is given in section Identification Numbers. Data Attributes 1 2 LogicalName CurrentValue
(static) (dyn.)

0..n Data Type octet-string[6] instance specific

class_id=1, version=0, OwnClassVersion=1, subtype=20013 Min Max Def

Proprietary Attributes 3 4 5 6 subtype OwnClassVersion AttrVaaAccList IdString


(const) (const) (static) (static)

long-unsigned unsigned octet-string[6] octet-string[12]

20013 1

Attribute Description
CurrentValue Type: instance specific The content of the current value can be of any simple type, e.g. a string or a numeric value. The information on the actual type is provided by the reference to its dlms type identifier.

3.3 Diagnostic Register [3-0-81-20009]


This class is used to process diagnostic values such as voltage, current, frequency, etc. It produces two outputs: one for display, monitoring, readout and the second for profiles. The diagnostic values for profiles are processed with a low pass (averaging) filter. The filter is coupled to the demand measuring period. Register Attributes 1. LogicalName 2. DisplayValue 3. UnitScale 4. res_attribute1 5. res_attribute2 Specific Methods 6. reset () 7. res_service1 Proprietary Attributes 8. subtype
(static) (dyn.) (static)

0..n Data Type octetstring Instance Specific UnitScaleType

class_id=3, version=0, OwnClassVersion=81 Min Max Def

m/o O

(const)

Unsigned16

20009

Landis+Gyr AG

Revision Date: 09.09.2009

Page 16 / 190

Class Description

Compiled for P05.H

9. 10. 11. 12. 13. 14. 15. 16. 17. 18.

OwnClassVersion IdString FilterValue MvalueNumber AttrVaaAccList DisplayUnitScale Resolution DiagnosticFlags FilterCoeff ResetSourceSelection

(const) (static) (dyn.) (static) (static) (static) (static) (static) (static) (static)

Unsigned8 octetstring Integer32 Unsigned8 octetstring UnitScaleType Unsigned8 Unsigned8 Unsigned8 Unsigned8

81 0 16

Attribute Description DisplayValue Integer32 This attribute holds the diagnostic value which is used for display, readout and external monitoring. The type of diagnostic value is selected using the attribute MvalueNumber below. The DisplayValue is scaled using UnitScale. Its display and readout format can be selected using the attribute Resolution below FilterValue Integer32 This attribute holds a diagnostic value which is filtered (averaged) for profiles. The average is calculated during the same time as selected for the measuring period of the demand measurement. The averaging characteristics of the filter for this value are set using the attribute FilterCoeff below.

MValueNumber Unsigned8 Selects one of the diagnostic channels D1..D34. MValueNumber is set to the desired channel number according to the table below. A value of 0 indicates an unused register and therefore no value is processed. The third column (default use of the channels) shows only examples which may be modified at any time. Implementation note: the diagnostic register D10 and only this register, must be used for the calculation of the power factor as indicated in the table. Assignment of the Diagnostic Registers for firmware P05:
Register DiagnosticRegister34 DiagnosticRegister33 DiagnosticRegister32 DiagnosticRegister31 DiagnosticRegister30 DiagnosticRegister29 DiagnosticRegister28 DiagnosticRegister27 DiagnosticRegister26 DiagnosticRegister25 DiagnosticRegister24 DiagnosticRegister23 DiagnosticRegister22 DiagnosticRegister21 DiagnosticRegister20 DiagnosticRegister19 DiagnosticRegister18 DiagnosticRegister17 DiagnosticRegister16 DiagnosticRegister15 DiagnosticRegister14 DiagnosticRegister13 DiagnosticRegister12 Assignment Total Harmonic Distortion L3 Total Harmonic Distortion L3 Total Harmonic Distortion L3 Total Harmonic Distortion all phases Power Factor L3 Power Factor L2 Power Factor L1 Total Power Factor Apparent Power L3 Apparent Power L2 Apparent Power L1 Apparent Power All Phases Reactive Power L3 Reactive Power L2 Reactive Power L1 Reactive Power all phases Active Power L3 Active Power L2 Active Power L1 Active Power all phases Angle U3-I3 Angle U2-I2 Angle U1-I1 MValueNumber 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62

Landis+Gyr AG

Revision Date: 09.09.2009

Page 17 / 190

Class Description

Compiled for P05.H

Register DiagnosticRegister11 DiagnosticRegister10 DiagnosticRegister9 DiagnosticRegister8 DiagnosticRegister7 DiagnosticRegister6 DiagnosticRegister5 DiagnosticRegister4 DiagnosticRegister3 DiagnosticRegister2 DiagnosticRegister1

Assignment Angle U1-U3 Angle U1-U2 Angle U1-U1 Mains Frequency Current L3 Current L2 Current L1 Neutral Current Primary Voltage L3 Primary Voltage L2 Primary Voltage L1

MValueNumber 61 60 59 58 57 56 55 54 53 52 51

Resolution Unsigned8 This attribute allows to select the number of digits used before and after the decimal point for display and readout purposes. It is used for the DisplayValue but it does not affect its contents. The integer part is called pre-point and the fractional part is called post-point. The selection is made using the two nibbles of the byte as shown.
Upper nibble Lower nibble

Number of post-point digits

Number of pre-point digits

DiagnosticFlags Unsigned8 A set of flags (coded in bits) which control some display features and the working mode of the register.
Bits 4 3

0 DisplayValue: PrimaryValues: Not used Not used Not used Not used Not used Not used 1=enabled display =>"0"; 0=disabled display => - - ; 1= PrimaryValues; 0=normal

DisplayValue:

PrimaryValues:

This bit allows selecting the way in which the DisplayValue is displayed when its value equals zero. If DisplayValue is set to 0, the DisplayValue is displayed with dashes ( - - ); if DisplayValue is set to 1, the DisplayValue is displayed numerically ( 0 ). The actual number of digits shown depends on the settings made for attribute Resolution. If this bit is set, than the PrimaryValue for this DiagnosticRegisters is calculated. For the following diagnostic measurements the secondary and the primary value is available: Voltage Current Active Power Reactive Power Apparent Power

FilterCoeff Unsigned8 This attribute allows to select the properties of the filter used to average the values which are used for profiles. The averaging time is the same as selected for the capture period. The filter properties are given in two nibbles of FilterCoefficient: the upper nibble has information of undersampling and the lower selects either the real average calculation or a factor relevant to the time constant for the filtering function.

Upper nibble

Lower nibble

Number of values for undersampling

Exponent of two of filters factor

The following table shows the values that must be used for the selected demand measuring periods:

Landis+Gyr AG

Revision Date: 09.09.2009

Page 18 / 190

Class Description

Compiled for P05.H

Calculation method
Demand Measuring Period [min] No filtering 1 2 3 4 5 10 15 20 30 60 1 2 3 4 5 10 15 20 30 60 Filtering yes yes yes yes yes yes yes yes yes yes Average calculation yes yes yes yes yes yes yes yes yes yes Upper nibble 0 1 1 1 1 1 1 2 3 4 8 1 1 1 1 1 1 1 1 1 1

Z.D
Lower nibble 0 5 6 6 6 7 8 8 8 8 8 0 0 0 0 0 0 0 0 0 0 Upper nibble 0 5 5 5 5 6 6 9 B 9 9 1 1 1 1 1 1 1 2 2 4

Z.Q
Lower nibble 0 5 6 6 6 7 8 8 8 9 A 0 0 0 0 0 0 0 0 0 0

The filter coefficients in the Z.Q meter are different as the data processing in Z.Q meters is done with a periodicity of 200ms, whereas in the Z.D meters it is 1000ms. Implementation note: The following formula is used for this infinite impulse response (IIR) digital filter: y[n] = y[n-1] + (a(x[n]-y[n-1]) where y = FilteredValue x = CurrentValue a = 1/(2LowerNibbleOfFilterCoefficient) and Undersampling according to UpperNibbleOfFilterCoefficient If the real average calculation is selected, under sampling rate has to be set to a value that the amount of added measurement values over a demand measuring period does not exceed 65000 at all (e.g. demand period would be 400min / 24000sec. under sampling rate has to be set to 2). In the table above the maximum amount is set to 5000. To calculate those under sampling rates use the formula:

x>
where

t DemandPeri od 5'000 t Measuremen

tSystem

x = minimum under sampling rate tDemandpPeriod = actual demand measurement pediod (in sec.) tMeasurementSystem = data processing time of actual meter (for Z.Q 0.2sec., for Z.D 1.0sec.) If upper nibble and lower nibble are set to 0, the filtered value holds the last actual measurement value. ResetSourceSelection Type: Unsigned8 This attribute indicates when the internal average value summation and internal average value counter of the DiagnosticRegister is reset by internal functionalities such as cumulation reset, EOI, etc. The sources which can reset the contents of those internal values are selected bit wise as indicated in the figure below. If a bit is set to 1, the average value summation and average value counter is reset to 0 (and from now a new average period starts) when the corresponding function occurrs; when set to 0 there is no reset. i.e. when all bits are set to 0 the energy register cumulates the energy continuously and behaves as a normal register. The calculation mode is not affected by this byte.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 19 / 190

Class Description Bits 4 3

Compiled for P05.H

Reset after Demand Reset Reset after Measurement Period (demand calculation) Reset after Registration Period (load profile registration) Reset after Registration Period (2nd load profile registration) Reserved Reserved Reserved Reserved

3.4 Energy Register [3-0-81-20010]


This class defines registers used for cumulation of energy and ampere-hours (Ah). Register Attributes 1 LogicalName 2 CurrentValue 3 UnitScale 4 res_attribute1 5 res_attribute2 Specific Methods 6 reset () 7 res_service1 Proprietary Attributes 8 subtype 9 OwnClassVersion 10 IdString 11 MvalueNumber 12 ConfiguredAndActivated 13 AttrVaaAccList 14 DisplayUnitScale 15 StatusFlags 16 ResetSourceSelection
17 DigitsEnergyNormalMode 18 DigitsEnergyCalibrationMode

0..n Data Type octetstring Instance Specific UnitScaleType

class_id=3, version=0, OwnClassVersion=81 Min Max Def

(static) (dyn.) (static)

m/o O

Proprietary Methods

(const) (const) (static) (static) (static) (static) (static) (mixed) (static) (static) (static) m/o

Unsigned16 Unsigned8 octetstring Unsigned16 BOOLEAN octetstring UnitScaleType Unsigned8 Unsigned8 Unsigned8 Unsigned8

20010 81 0 0 8 1

Implementation notes: Firmware Versions P05: 1) The instances EnergyTotalRegistersM13 to EnergyTotalRegistersM15 and the EnergyRegisters49 to EnergyRegister51 are fixed (in the firmware) assigned for Ah registration of phases L1 to L3 respectively. 2) The Ah registered during battery operation are fixed added to the registers at startup in normal mode. Attribute Description CurrentValue Type: Long64 Register contents. The CurrentValue is stored using 6 bytes in the following format:

Landis+Gyr AG

Revision Date: 09.09.2009

Page 20 / 190

Class Description Higher bytes Lower bytes

Compiled for P05.H

Sign and magnitude 32


pre-point Decimal point

Not used*

Unsigned16
post-point

A decimal point is assumed between the pre-point and the post-point sectors. The prepoint consists of 4 bytes formatted as sign and magnitude 32 (MSB = sign). The post-point has 2 bytes formatted as unsigned16. For DLMS communication purposes the CurrentValue is packed in a Long64. *Implementation note: Due to memory alignment problems of the processor, two bytes are left unused between postpoint and the decimal point. The scaling of this value is determined by the setting of the attribute UnitMeter in the Measuring system used. If UnitMeter is set to 0 (KWh) then the decimal point corresponds to KWh and the lower word shows 1/65536 of KWh; if set to 1 (MWh) then the decimal point corresponds to MWh and the lower word shows 1/65536 of MWh. The scaling of attribute DisplayUnitScale must be set accordingly. When accessing to this attribute via DLMS, its scaling is given by the difference between the settings of DisplayUnitScale and UnitScale.
Examples: Assuming UnitMeter is set to 0 and CurrentValue = 0x78563412 i.e.: pre-point =0x00007856 post-point = 0x3412

If DisplayUnitScale is scaled to Kilo 103 and UnitScale is scaled to Kilo (103 ) If DisplayUnitScale is scaled to Kilo 10 equals 0x78563412 / 0x10000 * 1000)
3 0

then a DLMS read will result in 0x7856 KWh

and UnitScale is scaled to Units (10 ) then a DLMS read will result in 0x01D610BB Wh (that

MValueNumber Type: Unsigned16 Selects up to two of the measurement channels M1..M15 as sources for the register. For the definition of the measurement channels refer to the used measurement system. The number of the selected channels (1 for M1, 2 for M2 ..12 for M12) is given in each of the bytes. The lower byte is used for selecting one channel and the upper for selecting a second one. A value of 0 in a byte indicates that no channel is selected for that byte. This attribute is used together with StatusFlags (see below) for adding or subtracting values to the contents of the register (CurrentValue). * see also implementation note for Ah!
Upper byte Lower byte

Reference to channel

Reference to channel

ConfiguredAndActivated Type: BOOLEAN Indicates if the register is not only configured (a static handling at compilation time), but also active (not in the meaning of a tariff activation). If it is false, the register is also not visible by the get object list service. It may be set only under producer access (by special L&G tool). StatusFlags Type: Unsigned8 A set of flags (coded in bits) which control the working mode of the register.
Bit 7 Bit 6 Bit 5 NoResidual Handling Bit 4 Secondary Values Bit 3 Bit 2 Bit 1 Calculation mode Bit 0

A/S

active

Active: This bit is used (written) by the firmware for tariff purposes. When set to 1 the register is active, i.e. it counts the energy; otherwise the register does not count the energy. In order to activate an energy register it is necessary to select it in the class Tariff Application attribute OutputAssignment. Use the bytes labeled EnergyRegister1 .. EnergyRegister16. Calculation mode: (this bit was called Delta in the previous version of this class). Calculation mode for CurrentValue. When set to 1, the CurrentValue can register positive and negative values (if negative energy is input when the register is 0, it registers negative values) Note: implemented but not tested; when set to 0 it is used as normal cumulative register and can only register positive values (if negative energy is input when the register is 0, it rolls over to the maximum positive value). A/S: This flag is used in conjunction with MvalueNumber. When set to 0, the values of the measuring channels referenced by the nibbles of MvalueNumber are added to the value in CurrentValue; when set to 1, the value referenced by the lower nibble is added and the value referenced by the upper nibble is subtracted from the value in CurrentValue.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 21 / 190

Class Description

Compiled for P05.H

SecondaryValues: This bit is used to select the source of the registration for the EnergyRegister. If this bit is set to one, secondary values are used (i.e. the values after the transformer in the stations where the meter is placed, usually low voltages and currents). When this bit is set to 0 primary values are used. This is not supported in certification mode. Note: When secondary values are chosen, the meter ignores the 10's or 100's or 1000's scaling which may be applied using attribute ScaleFactorEnergy in the ObjectOfRubbish. These factors are only relevant for primary values. The same number of pre-point and post-point digits are used for the readout of both primary and secondary values. Implementation Note: Ah registration is always made with secondary values otherwise there might be overrun problems. NoResidualHandling: This bit is used to select if the residuals of the energy register are handled. The attribute DigitsEnergyNormalMode determines the resolution used for the residual handling. When this bit is set to 0 the residuals are handled; when set to 1 they are not handled. ResetSourceSelection Type: Unsigned8 This attribute indicates when the CurrentValue of the EnergyRegister is reset by internal functionalities such as cumulation reset, EOI, etc. The sources which can reset the contents of CurrentValue are selected bit wise as indicated in the figure below. If a bit is set to 1, the CurrentValue is reset to 0 when the corresponding function occurs; when set to 0 there is no reset. i.e. when all bits are set to 0 the energy register cumulates the energy continuously and behaves as a normal register. The calculation mode is not affected by this byte.
7 6 5 Bits 4 3 2 1 0

Reset after Demand Reset Reset after Measurement Period (demand calculation) Reset after Registration Period (load profile registration) Reset after Registration Period (2nd load profile registration) Reserved Reserved Reserved Reserved

DigitsEnergyNormalMode Type: Unsigned8 Defines the number of digits used to display or readout energy registers (either cumulative or delta) in normal mode. The information is coded in the two nibbles of the byte. The pre-point digits refer to the digits to the left the decimal point (integer part) and the post-point to the digits to the right of the decimal point (fractional part)
Upper nibble Lower nibble

Number of post-point digits

Number of pre-point digits

DigitsEnergyCalibrationMode Type: Unsigned8 Defines the number of digits used to display or readout energy registers (either cumulative or delta) in calibration mode. The information is coded in the two nibbles of the byte. The pre-point digits refer to the digits to the left the decimal point (integer part) and the post-point to the digits to the right of the decimal point (fractional part)
Upper nibble Lower nibble

Number of post-point digits

Number of pre-point digits

3.5 Error Register [3-0-81-20011]


Firmware name: ErrorHandler This class offers a register for marking individual errors which may occur during the meter operation. The errors are organised in four categories according to EDIS [Ref. 4]. Register Attributes 1 LogicalName 2 CurrentValue
Landis+Gyr AG

1
(static) (dyn.)

class_id=3, version=0, OwnClassVersion=81 Min Max Def

Data Type octetstring octetstring


Revision Date: 09.09.2009

Page 22 / 190

Class Description

Compiled for P05.H

3 UnitScale 4 res_attribute1 5 res_attribute2 Specific Methods 6 reset () 7 res_service1 Proprietary Attributes 8 subtype 9 OwnClassVersion 10 IdString 11 Mask 12 ErrMask4DispActive 13 ErrMask4ReadoutActive 14 AttrVaaAccList 15 DisplayUnitScale 16 ResetMask 17 ResetMaskAccessList 18 ErrorShadowRegister 19 ErrorLog

(static)

UnitScaleType

M/o O

(const) (const) (static) (static) (static) (static) (static) (static) (static) (static) (dyn.) (dyn)

Unsigned16 Unsigned8 octetstring octetstring BOOLEAN BOOLEAN octetstring UnitScaleType octetstring Unsigned8
octetstring octetstring

20011 81

CurrentValue Type: OctetString (4 bytes) The CurrentValue is also called ErrorCategories and has the current state of the error register. This attribute is written by the firmware. It is organized in four categories according to EDIS: Time Base Failures, Read / Write Access Failures, Checksum Failures, Other Failures. The errors of each category are coded in one byte.
Byte 1 Byte 2 Byte 3 Byte 4

Time Base

Read / Write Access

Checksum

Other Failures

Each category has individual error flags (bits) as shown below. When a bit is set to 1 it indicates an error state; 0 means no error.

Time Base category:


7 6 5 Bits 4 3 2 1 0 Error Nr 1000000 Low battery 2000000 Invalid time/date

Read / Write Access category:


7 6 5 Bits 4 3 2 1 0 Error Nr 10000 20000 40000 80000 100000 200000 400000 800000 Main Memory (RAM) Backup/Parameter Memory (EEPROM) Measuring System (HMC, LINDA, SAPPHIRE) Time Base (CTS) Load Profile Memory (FLASH, EEPROM) Ripple Control Receiver (Option 1) Communication Board (Option 2) MMI board

Checksum category:
7 6 5 Bits 4 3 2 1 0 Error Nr 100 ROM (NEC P)

Landis+Gyr AG

Revision Date: 09.09.2009

Page 23 / 190

Class Description 200 400 800 1000 2000 4000 8000

Compiled for P05.H Backup Data (EEPROM) Parameter (EEPROM) Load Profile Data (FLASH, EEPROM) Intermediate values and Eventlog (or Intermediate Values only if bit 5 is used) Eventlog Calibration Data 2nd Load Profile

Other Failures category:


7 6 5 Bits 4 3 2 1 0 Error Nr 01 02 04 08 10 20 40 80 Invalid power down Measuring System Overflow Re-programming data not valid Setting mode not completed System failure (Watchdog, Illegal OPCode ...) Communication locked (n times wrong password) Eeprom identifier not valid Wrong hardware ID

Mask

Type: OctetString (4 byte)

Individual errors of any category can be masked if it is desired to hide them from display or communication channels. The mask has exactly the same format as the CurrentValue (see above). If a bit is set to 1, the corresponding error flag is shown; if set to 0, the corresponding error flag is masked and thus not shown (shown as no error) in the appropriated display and / or communication channel. The masking of an error bit has no influence to its setting i.e. all error bits are set / reset independently of the state of this mask. ErrMask4DispActive BOOLEAN

If true, the mask for display is active; i.e. the masked errors are not shown (shown as no error) in autoscroll mode only. It is not possible to mask in the other modes of display. ErrMask4ReadoutActive BOOLEAN

If true, the mask for readout is active; i.e. the masked errors are not shown (shown as no error) in any readout. DLMS read get the current value independent of the mask. ResetMask Type: OctetString (4 bytes)

Individual error bits of any category can be selected to allow the bits to be cleared in the field (with an access level as defined by the list pointed by ResetMaskAccessList). The mask has exactly the same format as the ErrorRegisters. If a bit is set to 1, the corresponding error bit will be cleared when the access level of the meter corresponds to any one of those defined by the list pointed by ResetMaskAccessList; if set to 0, the corresponding error bit is not cleared. The masking of an error bit has no influence to its setting i.e. all error bits are set when the corresponding error condition exists independently of the state of this mask. ResetMaskAccessList Type: Unsigned8

The contents of this attribute defines the list number (see attribute ReadWriteList in class SecurityAccess) which is used to define the access level for selective error bit clearing. Also refer to attribute ResetMask above. ErrorShadowRegister Type: OctetString (4 bytes) The ShadowRegister has the same structure as attribute ErrorCategories. This attribute is written by the firmware. It registers the same errors as attribute ErrorCategories, but it keeps record of all errors occurred in the life time of a meter. It is not possible to delete this shadow register in the field. Production feature: A new IEC formatted write command ( W2, 0xFF12 (0000) ) Reset ShadowRegister and ErrorLog will be implemented. This command will be only accepted by the meter if its security system is open. Reading the ErrorShadowRegister or ErrorLog can be done by IEC unformatted read or via DLMS. ErrorLog Type: OctetString (63 bytes) ErrorLog is written by the firmware. It registers the number of occurrences of certain predefined errors. The registration includes the timestamp of the first and the last occurrences of the errors. This attribute is kept in RAM-

Landis+Gyr AG

Revision Date: 09.09.2009

Page 24 / 190

Class Description

Compiled for P05.H

backup; i.e. it is saved in non volatile memory with each backup. It is coded as a sequence of 6 elements, one for each error:
1st Byte - 9th Byte 10th Byte - 18th Byte 19th Byte - 27th Byte 28th Byte - 36th Byte 37th Byte - 45th Byte

Element 1: Error 01
46st Byte - 54th Byte

Element 2: Error 200


55th Byte - 63th Byte

Element 3: Error 400

Element 4: Error 800

Element 5: Error 1000

Element 6: Error 4000

Element 7: Error 8000

Each element has the timestamps and the counter of occurrences as shown:
1st Byte - 4th Byte 5th Byte - 8th Byte 9th Byte

Element x

TimeStamp first

TimeStamp last

Counter

TimeStamp first: TimeStamp last: Counter:

Records the time stamp when the corresponding error occurred for the first time. Format: Unsigned32, number of seconds after 1.1.1990. Records the time stamp when the corresponding error occurred for the last time. Format: Unsigned32, number of seconds after 1.1.1990. It counts the number of occurrences of the corresponding error. Format: Unsigned8, permits counting from 0 to 255; when its maximum is reached the counter stands still on the max value and does not count anymore.

3.6 General Value Register [3-0-0-20013]


This class is used to handle general values of different types. It is often used for pure display registers or to show attributes of other classes as register values with an own OBIS code. General Value Register Attributes 1 2 3 4 5 LogicalName CurrentValue UnitScale res_attribute1 res_attribute2
m/o o (static) (dyn.) (static)

0..n Data Type octet-string[6] instance specific UnitScaleType

class_id=3, version=0, OwnClassVersion=0, subtype=20013 Min Max Def

Specific Methods 6 7 reset () res_service1

Proprietary Attributes 8 9 subtype OwnClassVersion


(const) (const) (static) (static) (static)

long-unsigned unsigned octet-string octet-string[12] UnitScaleType

20013 0

10 IdString 11 AttrVaaAccList 12 DisplayUnitScale

Landis+Gyr AG

Revision Date: 09.09.2009

Page 25 / 190

Class Description

Compiled for P05.H

Attribute Description
CurrentValue Type: instance specific The content of the current value can be of any simple type, e.g. a string or a numeric value. The information of the actual type is provided by the reference to its dlms type identifier. The output is formatted using the UnitScale attribute.

3.7 General Count Register [3-0-81-20015]


This is a counter register used for general purposes. Register Attributes 1 LogicalName 2 CountValue 3 UnitScale 4 res_attribute1 5 res_attribute2 Specific Methods 6 reset () 7 res_service1 Proprietary Attributes 8 subtype 9 OwnClassVersion 10 IdString 11 AttrVaaAccList 12 DisplayUnitScale 13 StatusFlag 14 ResetSourceSelection
(static) (dyn.) (static)

0..n Data Type octetstring Unsigned32 UnitScaleType

class_id=3, version=0, OwnClassVersion=81 Min Max Def

m/o O

(const) (const) (static) (static) (static) (mixed) (static)

Unsigned16 Unsigned8 octetstring octetstring UnitScaleType Unsigned8 Unsigned8

20015 80

CountValue Type: Unsigned32 Register contents used as counter. StatusFlags Type: Unsigned8 A set of flags (coded in bits) which control the working mode of the register.
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

RTC Battery counter

Main Battery counter

active

Active: This bit is written by the firmware to activate or inactivate a general count register. When set to 1 the register is active, i.e. it counts; otherwise the register does not count. Main Battery counter: This bit is used to indicate that the register is used for counting main battery time. This indication is used by the firmware for special handling when resetting all general count registers or replacing the main battery. RTC Battery counter: This bit is used to indicate that the register is used for counting RTC battery time. This indication is used by the firmware for special handling when resetting all general count registers or replacing the RTC battery.

ResetSourceSelection Type: Unsigned8 This attribute indicates when the CountValue of the General Count Register is reset by internal functionalities such as cumulation reset, EOI, etc. The reset sources are selected bit wise as indicated in the figure below. If a bit is set to 1, the CountValue is reset to 0 when the corresponding function occurrs; when set to 0 there is no reset. i.e. when all bits are set to 0 the General Count Register counts upwards and behaves as a normal register.
Landis+Gyr AG Revision Date: 09.09.2009 Page 26 / 190

Class Description Bits 4 3

Compiled for P05.H

Reset after Demand Reset Not used (same as energy register) Reset after Registration Period (load profile registration) Reset after Registration Period (2nd load profile registration) Reserved Reserved Reserved Reserved

3.8 Meter State Register [3-0-80-20016]


Firmware name: StateOfOperating, StateOfInternalSignals. This class is used for the EDIS status register (C.4 and C.5) according to VDEW Version 2.1 of 14.04.2002 Register Attribute(s) 1 LogicalName 2 CurrentValue 3 UnitScale 4 res_attribute1 5 res_attribute2 Specific Methods 6 reset () 7 res_service1 Proprietary Attributes 8 subtype 9 OwnClassVersion 10 IdString 11 AttrVaaAccList 12 DisplayUnitScale Attribute Description CurrentValue Type: Octetstring [4] Register contents shows states of the meter according to DIN 43863-3. This value is updated by the meter. Implementation note: No RamDataType! CurrentValue will be calculated during read routine of the communication. Order of the octets during readout in BMM, IEC Data Readout and DLMS is as follows:
Octet 4 Octet 3 Octet 2 Octet 1

(static) (dyn.) (static)

0..n Data Type octetstring Instance Specific UnitScaleType

class_id=3, version=0, OwnClassVersion=80 Min Max Def

m/o O

(const) (const) (static) (static) (static)

Unsigned16 Unsigned8 octetstring octetstring UnitScaleType

20016 80

Bit 7

Bit 0

Bit 7

Bit 0

Bit 7

Bit 0

Bit 7

Bit 0

Unused octets are filled up with 0. The content of the CurrentValue for the different status registers according EDIS is coded as follows: Internal control signals (C.4) bit b7 b6 b5 b4 b3 b2 1. Octet Control Signal 1 Control Signal 2 Control Signal 3 Control Signal 4 Control Signal 5 Control Signal 6 2. Octet Control Signal 9 Control Signal 10 Control Signal 11 Control Signal 12 Control Signal 13 Control Signal 14 3. Octet Direction signal P + Direction signal Q + not used not used not used not used 4. Octet not used Param. Switch 1 not used not used not used not used

Landis+Gyr AG

Revision Date: 09.09.2009

Page 27 / 190

Class Description

Compiled for P05.H

b1 b0

Control Signal 7 Control Signal 8

Control Signal 15 Control Signal 16

not used not used

not used not used State definition


0 = off; 1 = on 0 = -P or creep; 1 = +P 0 = -Q or creep; 1 = +Q 0 = inactive; 1 = active Always set to 0

Signal
Param. Switch 1 Direction Signal P+ Direction Signal Q+ Control Signal x Not used

Description
state of the parameterisation switch 1 same as the display symbol +P same as the display symbol +Q State of the internal control signal (CS) at the corresponding x output of the OR-matrix Unused bits

DSW parameter
(internal) HW signal (internal) P signals (internal) Q signals CSx signals in the ORmatrix none

Internal operating status (C.5) bit b7 b6 b5 b4 b3 b2 b1 b0 1. Octet Voltage L1 Voltage L2 Voltage L3 Phase sequence correct not used not used not used not used 2. Octet Start-Up, active Start-Up, reactive Start-Up, apparent not used not used not used not used not used 3. Octet not used Set State TOU Control enabled not used not used not used not used Alert occurred 4. Octet Reset Lock, manual Reset Lock, optical I/F Reset Lock, electrical I/F not used not used not used not used not used DSW parameter
(internal) phase sequence signal (internal) phase detection signal (internal) creep detection active or reactive (internal) creep detection active (internal) creep detection active AndInputGroupEnable (internal) state of meter (internal) state of lock timer (electrical I/F) (internal) state of lock timer (optical I/F) (internal) state of lock timer

Signal
Phase Sequence Correct Voltage Lx Start-Up, Apparent Start-Up, Reactive Start-Up, Active TOU Control enabled Set State Reset Lock, electrical I/F * Reset Lock, optical I/F * Lock, manual Alert occurred

Description
same as display symbols L1 L2 L3 blinking same as display symbol Lx Active or reactive measurement above creep Reactive measurement above creep Active measurement above creep RCR signals can control rate switching Meter parameters may be set (set menu) Lockout of reset signals after activation of a cumulation with a communication command via CU or electrical interface * Lockout of reset signals after activation of a cumulation with a communication command via the optical interface * Lockout of reset signals after activation of a manual cumulation An alert is registered

State definition
0 = incorrect; 1 = correct 0 = off; 1 = on 0 = measurement inactive 1 = measurement active 0 = measurement inactive 1 = measurement active 0 = measurement inactive 1 = measurement active 0 = control off; 1 = on 0 = inactive; 1 = active 0 = lock inactive; 1 = active 0 = lock inactive; 1 = active 0 = lock inactive; 1 = active 0 = no alert; 1 = alert

Bit AlertOccurred (Nr. 106) of EventRegister Not used Unused bits Always set to 0 none * Note: these two bits are set together whenever either channel is used, because the firmware can not recognize the specific channel

3.9 Event Register [3-0-81-20018]


Firmware name: Mpa_EventRegister The event register handles events and changes in the error register. This class has several attributes to allow the enabling and filtering of the events. The event status bits as specified in the document H-DIAFIRE-1022 Detailed Description of Events and Alarms.doc. The status of all these bits is held in an array of bytes. Similarly the selection for enabling events to trigger the event log or to set alerts or operational status bits is done using arrays of bytes of the same dimensions as the event status. It is possible to inhibit multiple triggering produced by fast occurring events using one of 5 event timers. These timers may be programmed with resolution of one minute. After the first registration of an event, further registrations are inhibited during the programmed time defined in the timer. Many of the events may be also filtered in their own classes (for example in the monitor registers), Register
Landis+Gyr AG

0..n

class_id=3, version=0, OwnClassVersion=81


Revision Date: 09.09.2009 Page 28 / 190

Class Description

Compiled for P05.H

Attributes 1 LogicalName 2 CurrentValue 3 UnitScale 4 res_attribute1 5 res_attribute2 Specific Methods 6 reset () 7 res_service1 Proprietary Attributes 8 subtype 9 OwnClassVersion 10 IdString 11 AttrVaaAccList 12 EventStatus 13 EventFilterSet 14 EventFilterClear 15 Timer 16 TimerControl 17 Timeout 18 EdisStatus 19 EdisStatusForEventlog 20 AlertMask 21 OperationalStatusMask 22 EdisStatusForAdditiona lLoadProfile Attribute Description

(static) (dyn.) (static)

Data Type octetstring Unsigned8 UnitScaleType

Min 0

Max FF

Def 0

m/o O

(const) (const) (static) (static) (dyn.) (static) (static) (dyn.) (static) (static) (dyn.) (dyn.) (static) (static) (dyn.)

Unsigned16 Unsigned8 octetstring octetstring octetstring[25] octetstring[25] octetstring[25] octetstring[5] octetstring[5] octetstring[5] Unsigned32 Unsigned32 octetstring[25] octetstring[25] Unsigned32

20018 4 0 0 8 1

CurrentValue (LastEventNumber) Type: Unsigned8 This attribute is written by the firmware and it holds the event number of the last event which occurred. The list of the event numbers is given in EventStatus below. EventStatus Type: OctetString [25] An array of [20] bytes written by the firmware whose bits indicate the current status of 160 events, 32 of which correspond to the errors. The events are coded in 25 bytes as shown below. The errors are coded in the same way as they are defined in the class Error Register. Every event is coded with a bit: 1 means the event is active; 0 means the event is inactive. The event bits are set (to 1) once they are detected; concerning their resetting the events are classified in three types: dynamic (once the event is registered its status is automatically reset to 0), static (event clears by itself once its setting condition ceases) and fix (the event must be explicitly cleared e.g. via communication). Every event is represented with an event number from 1 to 160 which is shown by CurrentValue. The following table shows the list of all events: The document: H-DIAFIRE-1022 Detailed Description of Events and Alarms.doc contains the most recent and detailed information on the EventStstus. This document is stored in SourceSafe ObjectIf

Landis+Gyr AG

Revision Date: 09.09.2009

Page 29 / 190

Class Description

Compiled for P05.H

Byte

bit 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

Event / Alert Meter Parameter / Configuration changed Clearing of tariff registers Clearing of periodic data memory Eventlog cleared Battery low Battery removed (Not used) Battery ok Cumulation (Billing Period Reset) Summer/winter season changed Adjusted time/date (old time/date) Adjusted time/date (new time/date) State of control inputs changed to inactive State of control inputs changed to active Start of interval SOI of period 1 or period 2 EOI Regular Internal of Period 1 EOI Regular External of Period 1 Undervoltage on L1 VLA1 Undervoltage on L2 VLA2 Undervoltage on L3 VLA3 Overvoltage on L1 VHA1 Overvoltage on L2 VHA2 Overvoltage on L3 VHA3 Power down Power up Overcurrent (overload) on L1 CTA1 Overcurrent (overload) on L1 CTA2 Overcurrent (overload) on L1 CTA3 Overcurrent (overload) on neutral CTA4 Power factor threshold alert PFTA1 Power factor threshold alert PFTA2 Power factor threshold alert PFTA3 Power factor threshold alert PFTA4 Demand threshold alert DTA1 Demand threshold alert DTA2 Demand threshold alert DTA3 Demand threshold alert DTA4 Demand threshold alert DTA5 Demand threshold alert DTA6 Demand threshold alert DTA7 Demand threshold alert DTA8 Tampering alert (not used) EOI Irregular (by time changing) Period 1 EOI Rate Switching (tariff changing) Period 1 Corrupt measurement Clearing of Error Register Extreme temperature in meter > 60C Auxiliary bus operation Calibration data changed (Down Load Table). Missing voltage L1 Missing voltage L2 Missing voltage L3 Missing current L1 Missing current L2 Missing current L3 Current without voltage L1 Current without voltage L2 Current without voltage L3 Missing Additional Power Supply All registers cleared Buffer of Certification Sealed LogBook is full Active power too high Reactive power too high Wrong phase sequence Over current in Neutral (not used) LowBattery, (Error 01 00 00 00) InvalidTimeDate, (Error 02 00 00 00) Reserved Reserved Reserved Reserved Reserved Reserved

Ev. Nr 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72

Byte

13

14

15

bit 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

Event / Alert SmsFail AlertOccurred SmsAlert Missing measurement voltage on all phases Missing measurement current on all phases Under voltage on all phases Apparent power too high Active power on L1 too high Active power on L2 too high Active power on L3 too high Reactive power on L1 too high Reactive power on L2 too high Reactive power on L3 too high Apparent power on L1 too high Apparent power on L2 too high Apparent power on L3 too high Voltage without Current on L1 Voltage without Current on L2 Voltage without Current on L3

VT / CT Error Correction and Customer Adjustment


No Voltage and no current on L1 No Voltage and no current on L2 No Voltage and no current on L3 EnergyRegisterCleared MissingCurrentL1ForIwithoutU MissingCurrentL2ForIwithoutU MissingCurrentL3ForIwithoutU IwithoutUOnAllPhases TerminalCoverOpened StrongDCFieldDetected FrontCoverOpened EnablingOrDisablingOfEvent VoltageQuality_LL_Ph1 VoltageQuality_ LL_Ph2 VoltageQuality_ LL_Ph3 VoltageQuality_L_Ph1 VoltageQuality_L_Ph2 VoltageQuality_L_Ph3 VoltageQuality_H_Ph1 VoltageQuality_H_Ph2 VoltageQuality_H_Ph3 VoltageQuality_HH_Ph1 VoltageQuality_HH_Ph2 VoltageQuality_HH_Ph3 OpenShortenedCTPhase1 OpenShortenedCTPhase2 OpenShortenedCTPhase3 PossibleDemandMaxima EndOfDemandMaximaWindow CommSessionClosedChannel1 CommSessionClosedChannel2 CommSessionClosedChannel3 CommSessionClosedChannel4 Clearing of billing values profile Clearing of energy values profile Power up after long power down Meter changed Passive TOU activated Meter Data OK Measurement System OK Communication Unit OK Firmware updated Enable Local Operation Remote Connect Remote Disconnect Remote On Remote Off Enable Local Connection Local On Local Off Max Demand over Threshold Missing voltage L1 disappears

Ev. Nr 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176

16

17

18

19

20

21

Landis+Gyr AG

Revision Date: 09.09.2009

Page 30 / 190

Class Description

Compiled for P05.H

Byte

bit Event / Alert Ev. Nr 0 RW_ access_ MainMemory, (Error 01 00 00) 73 1 RW_ access_ BackupParameterMemory, (Error 74 02 00 00) 2 RW_ access_ MeasuringSystem, (Error 04 00 00) 75 3 RW_ access_ TimeBaseFlag, (Error 08 00 00) 76 4 RW_ access_ LoadProfileMemory, (Error 10 00 77 00) 5 RW_ access_ RippleControlReceiver, (Error 20 00 78 00) 6 RW_ access_ CommunicationBoard, (Error 40 00 79 00) 7 RW_ access_ MmiBoard (Error 80 00 00) 80 0 Checksum error ROM, (Error 01 00) 81 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 Checksum error BackupData, (Error 02 00) Checksum error ParameterData, (Error 04 00) Checksum error LoadProfileData, (Error 08 00) Checksum error IntermediateData, (Error 10 00) Checksum error EventLogData, (Error 20 00) Checksum error CalibrationData, (Error 40 00) Checksum error 2ndLoadProfileData, (Error 80 00) InvalidPowerDown, (Error 01) MeasuringSystem, (Error 02) ReProgrammingFail, (Error 04) SettingModeFailure, (Error 08) SystemFailure, (Error 10) CommunicationLocked, (Error 20) EepromIdentifierFail, (Error 40) WrongHardwareID, (Error 80) EOI Regular Internal of Period 2 EOI Regular External of Period 2 EOI Irregular (by time changing) Period 2 EOI Rate Switching (tariff changing) Period 2 L1 delievers energy L2 delievers energy L3 delievers energy GeneralCountRegisterCleared 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104

Byte 22

bit Event / Alert 0 Missing voltage L2 disappears 1 2 3 4 5 6 7 Missing voltage L3 disappears Under voltage on L1 VLA1 disappears Under voltage on L2 VLA2 disappears Under voltage on L3 VLA3 disappears Over voltage on L1 VHA1 disappears Over voltage on L2 VHA2 disappears Over voltage on L3 VHA3 disappears Missing measurement voltage on all phases exist no longer Max Demand over Threshold disappears Terminal Cover Closed No longer Strong DC Field Detected Active power too high disappears Reactive power too high disappears Average voltage high Average voltage low Clearing of 2nd load profile SOI of Period 2 Current unbalanced Voltage unbalanced Frequency high Frequency low Reserved Reserved

Ev. Nr 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200

23

10

0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

24

11

12

EventFilterSet Type: OctetString [25] This attribute specifies those events that shall create an entry in the event log when their corresponding status bits are set (=1). EventFilterSet is coded in the same way as EventStatus above. Those bits of EventFilterSet which are set to one will produce an entry in the event log when their corresponding status bits (in EventStatus) are set (=1). EventFilterClear Type: OctetString [25] This attribute specifies those events that shall create an entry in the event log when their corresponding status bits are cleared (=0). EventFilterSet is coded in the same way as EventStatus above. Those bits of EventFilterSet which are set to one will produce an entry in the event log when their corresponding status bit (in EventStatus) are cleared (=0). This attribute may be used to create an event when a threshold register returns to normal. Timer Type: OctetString [5] An array of 5 bytes which holds the current value of the five timers (see also TimerControl and Timeout below). This attribute is written by the firmware. The value of each byte shows the resting time expressed in minutes. The order of the bytes is the same for all three attributes: Timer, TimerControl and Timeout.
Byte 0 Rest time of 1st timer Byte 1 Rest time of 2nd timer Byte 2 Rest time of 3rd timer Byte 3 Rest time of 4th timer Byte 4 Rest time of 5th timer

TimerControl Type: OctetString [5] This is an array of 5 bytes which specifies those events that are inhibited during a specified timeout after their occurrence. When a selected event occurs, a capture is triggered once and it can only be re-triggered after the specified timeout has expired.This feature is used to avoid multiple event log entries whithin a short period of time of the same event (e.g. if the voltage is just arround its overvoltage threshold value).To select an event that has to be inhibited, its number should be inserted into this array. The numbers of the events are given in the table at
Landis+Gyr AG Revision Date: 09.09.2009 Page 31 / 190

Class Description

Compiled for P05.H

EventStatus above. In addition to this setting, it is necessary to enter the corresponding timeout in the attribute Timeout below. The order of the bytes is the same for all three attributes: Timer, TimerControl and Timeout.
Byte 0 Sel. event for 1st timer Byte 1 Sel. event for 2nd timer Byte 2 Sel. event for 3rd timer Byte 3 Sel. event for 4th timer Byte 4 Sel. event for 5th timer

Timeout Type: OctetString [5] This is an array of 5 bytes which specifies the timeout of the five event timers. The timeout value is given in minutes (resolution is one minute). A value of 0 corresponds to no timeout. The time is synchronised to the minutes register of real time clock, and not to the instant of the occurence of the event. This means, that the first timeout minute has a duration which in best case is 60s and in worst 0s. Expressed in a general way, the accuracy of the timeout is 1 minute.The order of the bytes within the array is the same for all three attributes: Timer, TimerControl and Timeout.
Byte 0 Timeout of 1st timer Byte 1 Timeout of 2nd timer Byte 2 Timeout of 3rd timer Byte 3 Timeout of 4th timer Byte 4 Timeout of 5th timer

EdisStatus Type: Unsigned32 This attribute is written by the firmware and it contains status information arranged in the way required by EDIS (and VDEW). The information of this attribute is mapped from the corresponding EventStatus bits. Each of the selected events is coded with a bit. Unless otherwise specified, if a bit is set to 1, it means the event is active; 0 means that the event is inactive. The events marked as static do not clear by themselves, otherwise they are automatically cleared. For information on the meaning of each bit, refer to the technical specification [Ref. 3]. Implementation note: this attribute shall be used for the load profile (for the event log use attribute EdisStatusForEventlog).
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Meaning Type Setting / Comments

SOI season change First EOI after time change First EOI after power up EOI_RegularInternal EOI_RegularExternal EOI_Irregular Reserved EOI_RateSwitching SOI Auxiliary bus operation

Reserved for internal use. Is not given out. Reserved for internal use. Is not given out. Reserved for internal use. Is not given out. 1: Regular End of Interval internally generated 1: Regular End of Interval externally generated 1: Irregular End of Interval must be set to 0 1: End of Interval due to rate switching 1:start of Interval 1: Auxiliary bus operation

Status register before last setting of device clock Load profile cleared Operational eventlog cleared End of improper external control Improper external control End of improper operational conditions Improper operatioinal conditions Changed variable due to setting Power Down Power Up Time/Date Adjusted Billing period reset Season (1 = Summer 0 = Winter) Corrupted Measurement Battery Low (invalid date/time) Fatal Error

static static static

1: Load profile was cleared 1: Eventlog was cleared //Not used in Cima; Not detected //Not used in Cima; Not detected //Not used in Cima; Not detected //Not used in Cima; Not detected //Not used in Cima; Not detected 1: power down occurred, 0: no power down 1: power up occurred, 0: no power up 1: time adjusted, 0: no adjustement 1: reset occurred, 0: no reset 1: summer, 0: winter 1: corrupted measurement, 0: normal measurement 1: time/date invalid, 0: time/date OK 1: occurred, 0: no error

Landis+Gyr AG

Revision Date: 09.09.2009

Page 32 / 190

Class Description

Compiled for P05.H

EdisStatusForEventlog Type: Unsigned32 This attribute is written by the firmware and it contains the same status information as in attribute EdisStatus but the bits are cleared after the information is captured in the event log profile. For its definition refer to attribute EdisStatus above. Implementation note: this attribute shall be used for the event log (for the load profile use attribute EdisStatus above). AlertMask Type: OctetString [25] This attribute specifies those events that shall create an alert (event bit AlertOccurred) when their corresponding status bits are set (=1). This attribute is coded in the same way as EventStatus above. Those bits marked with 1 in AlertMask will produce an alert when their corresponding status bits (in EventStatus) are set to one. Once an alert is issued (AlertOccurred = 1), any further alert events have no influence on AlertOccurred, until it is reset. AlertOccurred can be reset either with the dlms service ResetAlertOccurred of object ElectricityMeterFunction; or it can also be cleared when a billing period reset is done (see bit ClearAlOc in attribute ControlStatusFlags of class ResetControlSystem). OperationalStatusMask Type: OctetString [25] This attribute specifies those events that shall set the 4th bit of attribute EdisStatus (Billing period reset) for the load profile. This attribute is coded in the same way as EventStatus above. Those bits marked with 1 in OperationalStatusMask will set the 4th bit of attribute EdisStatus to 1 if their corresponding events occur (i.e. when their status bits in EventStatus are set to one); those bits marked with 0 are not used. This new use of the 4th bit was required to enhance the meaning of the existing bit (Billing period reset) for other
operational messages such as: low battery or missing voltage in one or more phases.

EdisStatusForAdditionalLoadProfile Type: Unsigned32 This attribute is written by the firmware and it contains status information arranged in the way required by EDIS (and VDEW). The information of this attribute is mapped from the corresponding EventStatus bits. Each of the selected events is coded with a bit. Unless otherwise specified, if a bit is set to 1, it means the event is active; 0 means that the event is inactive. The events marked as static do not clear by themselves, otherwise they are automatically cleared. For information on the meaning of each bit, refer to the technical specification [Ref. 3]. Implementation note: this attribute shall be used for the load profile (for the event log use attribute EdisStatusForEventlog).
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 Meaning Type Setting / Comments

SOI season change First EOI after time change First EOI after power up EOI_RegularInternal EOI_RegularExternal EOI_Irregular Reserved EOI_RateSwitching SOI Auxiliary bus operation Status register before last setting of device clock Load profile cleared Operational eventlog cleared End of improper external control Improper external control End of improper operational conditions Improper operatioinal conditions Changed variable due to setting Power Down Power Up Time/Date Adjusted

Reserved for internal use. Is not given out. Reserved for internal use. Is not given out. Reserved for internal use. Is not given out. 1: Regular End of Interval internally generated 1: Regular End of Interval externally generated 1: Irregular End of Interval must be set to 0 1: End of Interval due to rate switching 1:start of Interval 1: Auxiliary bus operation

1: Load profile was cleared 1: Eventlog was cleared //Not used in Cima; Not detected //Not used in Cima; Not detected //Not used in Cima; Not detected //Not used in Cima; Not detected //Not used in Cima; Not detected 1: power down occurred, 0: no power down 1: power up occurred, 0: no power up 1: time adjusted, 0: no adjustement

Landis+Gyr AG

Revision Date: 09.09.2009

Page 33 / 190

Class Description

Compiled for P05.H

4 3 2 1 0

Billing period reset Season (1 = Summer 0 = Winter) Corrupted Measurement Battery Low (invalid date/time) Fatal Error

static static static

1: reset occurred, 0: no reset 1: summer, 0: winter 1: corrupted measurement, 0: normal measurement 1: time/date invalid, 0: time/date OK 1: occurred, 0: no error

3.10 Energy Pulse Register [3-0-80-20020]


This class is used to accumulate energy and to generate pulses proportional to the accumulated energy. This class is defined like an energy register, i.e. it accumulates energy from on or two measurement channels. Register Attributes 1 LogicalName 2 CurrentValue 3 UnitScale 4 res_attribute1 5 res_attribute2 Specific Methods 6 reset () 7 res_service1 Proprietary Attributes 8 subtype 9 OwnClassVersion 10 IdString 11 MvalueNumber 12 ConfiguredAndActivated 13 AttrVaaAccList 14 DisplayUnitScale 15 StatusFlags 16 ResetSourceSelection 17 PulseConstant Proprietary Methods 0..n Data Type octetstring Instance Specific UnitScaleType class_id=3, version=2, OwnClassVersion=80 Min Max Def

(static) (dyn.) (static)

m/o O

(const) (const) (static) (static) (static) (static) (static) (mixed) (static) (static) m/o

Unsigned16 Unsigned8 octetstring Unsigned16 BOOLEAN octetstring UnitScaleType Unsigned8 Unsigned8 Unsigned32

20020 80 0 0 8 1

Attribute Description CurrentValue Count the number of pulses. Type: Unsigned32

MValueNumber Type: Unsigned16 Selects up to two of the measurement channels M1..M15 as sources for the register. For the definition of the measurement channels refer to the used measurement system. The number of the selected channels (1 for M1, 2 for M2 ..12 for M12) is given in each of the bytes. The lower byte is used for selecting one channel and the upper for selecting a second one. A value of 0 in a byte indicates that no channel is selected for that byte. This attribute is used together with StatusFlags (see below) for adding or subtracting values to the contents of the register (CurrentValue). * see also implementation note for Ah!
Upper byte Lower byte

Reference to channel

Reference to channel

Landis+Gyr AG

Revision Date: 09.09.2009

Page 34 / 190

Class Description

Compiled for P05.H

ConfiguredAndActivated Type: BOOLEAN Indicates if the register is not only configured (a static handling at compilation time), but also active (not in the meaning of a tariff activation). If it is false, the register is also not visible by the get object list service. It may be set only under producer access (by special L&G tool). StatusFlags Type: Unsigned8 A set of flags (coded in bits) which control the working mode of the register.
Bit 7 Bit 6 Bit 5 NoResidual Handling Bit 4 Secondary Values Bit 3 Bit 2 Bit 1 Calculation mode Bit 0

A/S

active

Active: This bit is used (written) by the firmware for tariff purposes. When set to 1 the register is active, i.e. it counts the energy; otherwise the register does not count the energy. In order to activate an energy register it is necessary to select it in the class Tariff Application attribute OutputAssignment. Use the bytes labeled EnergyRegister1 .. EnergyRegister16. Calculation mode: (this bit was called Delta in the previous version of this class). Calculation mode for CurrentValue. When set to 1, the CurrentValue can register positive and negative values (if negative energy is input when the register is 0, it registers negative values) Note: implemented but not tested; when set to 0 it is used as normal cumulative register and can only register positive values (if negative energy is input when the register is 0, it rolls over to the maximum positive value). A/S: This flag is used in conjunction with MvalueNumber. When set to 0, the values of the measuring channels referenced by the nibbles of MvalueNumber are added to the value in CurrentValue; when set to 1, the value referenced by the lower nibble is added and the value referenced by the upper nibble is subtracted from the value in CurrentValue. SecondaryValues: This bit is used to select the source of the registration for the EnergyRegister. If this bit is set to one, secondary values are used (i.e. the values after the transformer in the stations where the meter is placed, usually low voltages and currents). When this bit is set to 0 primary values are used. This is not supported in certification mode. Note: When secondary values are chosen, the meter ignores the 10's or 100's or 1000's scaling which may be applied using attribute ScaleFactorEnergy in the ObjectOfRubbish. These factors are only relevant for primary values. The same number of pre-point and post-point digits are used for the readout of both primary and secondary values. Implementation Note: Ah registration is always made with secondary values otherwise there might be overrun problems. NoResidualHandling: This bit is used to select if the residuals of the energy register are handled. The attribute DigitsEnergyNormalMode determines the resolution used for the residual handling. When this bit is set to 0 the residuals are handled; when set to 1 they are not handled. ResetSourceSelection Type: Unsigned8 This attribute indicates when the CurrentValue of the EnergyRegister is reset by internal functionalities such as cumulation reset, EOI, etc. The sources which can reset the contents of CurrentValue are selected bit wise as indicated in the figure below. If a bit is set to 1, the CurrentValue is reset to 0 when the corresponding function occurs; when set to 0 there is no reset. i.e. when all bits are set to 0 the energy register cumulates the energy continuously and behaves as a normal register. The calculation mode is not affected by this byte.
7 6 5 Bits 4 3 2 1 0

Reset after Demand Reset Reset after Measurement Period (demand calculation) Reset after Registration Period (load profile registration) Reset after Registration Period (2nd load profile registration) Reserved Reserved Reserved Reserved

PulseConstant

Type: Unsigned32

Landis+Gyr AG

Revision Date: 09.09.2009

Page 35 / 190

Class Description

Compiled for P05.H

It defines the so called pulse constant. It defines the number of pulses that must be sent out per primary unit (kWh or MWh). The primary unit is selected with the attribute UnitMeter of the corresponding Measurement System class Decimal point used. Its maximal value is 65535 Pulses/PrimaryUnit.

3.11 PF-Register [3-0-0-20053]


This class is used to process power factor values. The power factor is calculated as the quotient from two inputs provided in the attributes: Numerator and Denominator. The inputs are taken depending on the application: for registration as intermediate values, they are taken from energy registers in delta mode (typicaly total active energy and total apparent energy); for registration in load profile, they are taken from demand registers (also typicaly total active demand and total apparent demand). The output of PF-Register is used for display, monitoring, readout and the profiles mentionde above. Register Attributes 1 LogicalName 2 CurrentValue 3 UnitScale 4 res_attribute1 5 res_attribute2 Specific Methods 6 reset () 7 res_service1 Proprietary Attributes 8 subtype 9 OwnClassVersion 10 IdString 11 AttrVaaAccList 12 DisplayUnitScale 13 Resolution 14 Numerator 15 Denominator Attribute Description CurrentValue Integer32 This attribute holds the power factor value which is used for display, readout, external monitoring and profiling. The power factor is calculated as the quotient from two inputs provided in the attributes: Numerator and Denominator. CurrentValue is internally scaled by 216: a power factor of 1.000 corresponds to a CurrentValue of 65536 (decimal) or 0x10000 (hexadecimal).
Higher 2 bytes pre-point Lower 2 bytes post-point

(static) (dyn.) (static) m/o O (const) (const) (static) (static) (static) (static) (static) (static)

0..2 Data Type octetstring Instance Specific UnitScaleType

class_id=3, version=0, OwnClassVersion=0 Min Max Def

Unsigned16 Unsigned8 octetstring octetstring UnitScaleType Unsigned8 Unsigned16 Unsigned16

20053 0 0 16

The CurrentValue is influenced by UnitScale and DisplayUnitScale as explained in section 2.3.3. They should be set to: Unit: 255 (no unit) and scaler to 0 (100) The number of digits shown in the display and readout can be selected using the attribute Resolution below. Implementation notes: Even though the type of this attribute is an Integer32, this register calculates only positive power factors and thus the selected inputs must have positive values too. There are two instances of this class. The CurrentValue of PFRegister1 is updated every second (measurement system period); the CurrentValue of PFRegister2 is updated at the end of each integration period.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 36 / 190

Class Description

Compiled for P05.H

Resolution Unsigned8 This attribute allows to select the number of digits used before and after the decimal point for display and readout purposes. It is used for the CurrentValue but it does not affect its contents. The integer part is called pre-point and the fractional part is called post-point. The selection is made using the two nibbles of the byte as shown.
Upper nibble Lower nibble

Number of post-point digits

Number of pre-point digits

Numerator Type: Unsigned16 This attribute selects (referenced over the VirtualName) the CurrentValue of the register that is used as numerator for the calculation of the power factor. The selected register shall calculate active energy or demand. The following VirtualNames can be selected:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 No source selected EnergyRegister1 EnergyRegister2 EnergyRegister3 EnergyRegister4 EnergyRegister5 EnergyRegister6 EnergyRegister7 EnergyRegister8 EnergyRegister9 EnergyRegister10 EnergyRegister11 EnergyRegister12 EnergyRegister13 EnergyRegister14 EnergyRegister15 EnergyRegister16 17 18 19 20 21 22 23 24 101 102 103 104 105 106 107 108 EnergyRegister17 EnergyRegister18 EnergyRegister19 EnergyRegister20 EnergyRegister21 EnergyRegister22 EnergyRegister23 EnergyRegister24 DemandRegister1 DemandRegister2 DemandRegister3 DemandRegister4 DemandRegister5 DemandRegister6 DemandRegister7 DemandRegister8

In case of demand registers, the last_average_value is internally taken. Denominator Type: Unsigned16 This attribute selects (referenced over the VirtualName) the CurrentValue of the register that is used as denominator for the calculation of the power factor. The selected register shall calculate apparent energy or demand. The same VirtualNames can be selected as for the numerator.

3.12 Coincidental Demand Register[4-0-0-20049]


This class provides the capturing of a Prunning value time synchronous with the update of a specified Pmax register.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 37 / 190

Class Description

Compiled for P05.H

Register Attributes 1 LogicalName 2 CurrentValue 3 UnitScale 4 Status 5 CaptureTime 6 ReservedAttribute1 7 ReservedAttribute2 Specific Methods 8 reset () Proprietary Attributes 9 subtype 10 OwnClassVersion 11 IdString 12 AttrVaaAccList 13 DisplayUnitScale 14 TiggerSourcePmaxReg 15 MonitoredDemandReg 16 CoinCum Attribute Description
(static) (dyn.) (static) (mixed) (dyn.)

0..24 Data Type octetstring Instance Specific UnitScaleType Instance Specific UTC

class_id=4, version=0, OwnClassVersion=0 Min Max Def

M/o O

(const) (const) (static) (static) (static) (static) (static) (static)

Unsigned16 Unsigned8 octetstring octetstring UnitScaleType Unsigned16 Unsigned16 Long64

20049 0

CurrentValue Type: Unsigned32 This attribute holds the last captured running demand value. Its format is the following:
Higher bytes Lower bytes

Unsigned16
pre-point Decimal point

Unsigned16
post-point

The scaling of this value is determined by the setting of the attribute UnitMeter in the Measuring system usedIf UnitMeter is set to 0 (KWh) then the decimal point corresponds to K Watts and the lower word shows 1/65536 of KW. The scaling of attribute DisplayUnitScale must be set accordingly. When accessing to this attribute via DLMS, its scaling is given by the difference between the settings of DisplayUnitScale and UnitScale.
Examples: Assuming UnitMeter is set to 0 and CurrentValue (Pmax) = 0x78563412 ie: pre-point =0x7856 post-point = 0x3412

If DisplayUnitScale is scaled to Kilo 103 and UnitScale is scaled to Kilo (103 ) If DisplayUnitScale is scaled to Kilo 10 equals 0x78563412 / 0x10000 * 1000)
3 0

then a DLMS read will result in 0x7856 KW

and UnitScale is scaled to Units (10 ) then a DLMS read will result in 0x01D610BB W (that

Status Type: Unsigned8 This value is used to control the activation of the coincidental demand register.
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

X Active:

active

X:

This bit is set by the firmware. When set to 1 the register is active, i.e. it captures the running demand value time synchronous with the monitored maximum demand register. In order to activate a coincidental demand register it is necessary to select it in the class Tariff Aplication attribute OutputAssignment (see 3.34). Use the bytes labelled DemandCoincidentalRegister1 and DemandCoincidentalRegister 2. Not used. Reserved. Type: UTC

CaptureTime

Landis+Gyr AG

Revision Date: 09.09.2009

Page 38 / 190

Class Description

Compiled for P05.H

This value contains the date and time at which the coincidental demand value occurred. This value is written by the firmware. TriggerSourcePmaxRegister Type: Unsigned16 This value defines the trigger source of the register capturing. The trigger source is the corresponding number of the virtual names according to the following table. (remark: the present firmware versions use less demand registers as the existent virtual names numbering has reserved):
0 141 142 143 144 145 146 No source selected DemandPmaxRegister1 DemandPmaxRegister2 DemandPmaxRegister3 DemandPmaxRegister4 DemandPmaxRegister5 DemandPmaxRegister6 147 148 149 150 151 152 DemandPmaxRegister7 DemandPmaxRegister8 DemandPmaxRegister9 DemandPmaxRegister10 DemandPmaxRegister11 DemandPmaxRegister12 153 154 155 156 157 158 DemandPmaxRegister13 DemandPmaxRegister14 DemandPmaxRegister15 DemandPmaxRegister16 DemandPmaxRegister17 DemandPmaxRegister18 159 160 161 162 163 164 DemandPmaxRegister19 DemandPmaxRegister20 DemandPmaxRegister21 DemandPmaxRegister22 DemandPmaxRegister23 DemandPmaxRegister24

MonitoredDemandRegister Type: Unsigned16 This value gives the reference to the demand register that is captured if the coincidental register is triggered by the trigger source. The reference is the corresponding number of the virtual names according to the following table (remark: the present firmware versions use less demand registers as the existent virtual names numbering has reserved):
0 101 102 103 104 105 106 No source selected DemandRegister1 DemandRegister2 DemandRegister3 DemandRegister4 DemandRegister5 DemandRegister6 107 108 109 110 111 112 DemandRegister7 DemandRegister8 DemandRegister9 DemandRegister10 DemandRegister11 DemandRegister12 113 114 115 116 117 118 DemandRegister13 DemandRegister14 DemandRegister15 DemandRegister16 DemandRegister17 DemandRegister18 119 120 121 122 123 124 DemandRegister19 DemandRegister20 DemandRegister21 DemandRegister22 DemandRegister23 DemandRegister24

CoinCum Long64 This value represents the sum of all running demand values measured during a sub-interval by the selected demand calculation register accumulated during the current summation period. This value is displayed (or readout) using the object DemandCumMaxValueDisplayRegister (see Readable Items). Implementation note: Internally this value is handled as an Unsigned48. For DLMS communication purposes the CurrentValue is packed in a Long64.

3.13 Demand Pmax Register [4-0-0-20051]


This class provides the calculation of the demand Pmax values or of the demand overload values for contractual demand. The type of calculation performed is selecable by the bit OverloadMode in the attribute status.The calculations use the demand registers as sources (see chapter Demand Register).

Landis+Gyr AG

Revision Date: 09.09.2009

Page 39 / 190

Class Description

Compiled for P05.H

Register Attributes 1 LogicalName 2 CurrentValue 3 UnitScale 4 Status 5 CaptureTime 6 ReservedAttribute1 7 ReservedAttribute2 Specific Methods 8 reset () Proprietary Attributes 9 subtype 10 OwnClassVersion 11 IdString 12 AttrVaaAccList 13 DisplayUnitScale 14 PmaxCumOrOverload 15 MonitoredDemandReg 16 OverloadThreshold Attribute Description
(static) (dyn.) (static) (mixed) (dyn.)

0..24 Data Type octetstring Instance Specific UnitScaleType Instance Specific UTC

class_id=4, version=0, OwnClassVersion=0 Min Max Def

M/o O

(const) (const) (static) (static) (static) (static) (static) (static)

Unsigned16 Unsigned8 octetstring octetstring UnitScaleType Long64 Unsigned16 Unsigned32

20051 0

CurrentValue (Pmax) Type: Unsigned32 This attribute holds the value of Pmax if the meter is used for maximum demand calculations (i.e Overload bit = 0 in attribute Status below). Its format is the following:
Higher bytes Lower bytes

Unsigned16
pre-point Decimal point

Unsigned16
post-point

The scaling of this value is determined by the setting of the attribute UnitMeter in the Measuring system used: either HMC (Class Id. 10001) or LINDA (Class Id. 10000). If UnitMeter is set to 0 (KWh) then the decimal point corresponds to K Watts and the lower word shows 1/65536 of KW. The scaling of attribute DisplayUnitScale must be set accordingly. When accessing to this attribute via DLMS, its scaling is given by the difference between the settings of DisplayUnitScale and UnitScale.
Examples: Assuming UnitMeter is set to 0 and CurrentValue (Pmax) = 0x78563412 ie: pre-point =0x7856 post-point = 0x3412

If DisplayUnitScale is scaled to Kilo 103 and UnitScale is scaled to Kilo (103 ) If DisplayUnitScale is scaled to Kilo 10 equals 0x78563412 / 0x10000 * 1000)
3 0

then a DLMS read will result in 0x7856 KW

and UnitScale is scaled to Units (10 ) then a DLMS read will result in 0x01D610BB W (that

Implementation Note: In Overload calculation mode (Overload bit = 1) this value stores the contents of attribute OverloadThreshold below. For more details see attribute OverloadThreshold. Status Type: Unsigned8 This value is used to control the activation of the demand calculation register.
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

Overload

active

Active: This bit is set by the firmware. When set to 1 the register is active, i.e. it calculates the demand values; otherwise there is no calculation. In order to activate a demand Pmax register it is necessary to select it in the class Tariff

Aplication attribute OutputAssignment (see 3.34). Use the bytes labelled DemandRegister1 .. DemandRegister 24.
Overload: Overload calculation. When set to 1 this class calculates demand overload (in attr. PmaxCumOrOverload) and uses attr. OverloadThreshold as threshold reference. When set to 0 the register calculates maximum demand in attr. CurrentValue and its cumulation in attr. PmaxCumOrOverload.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 40 / 190

Class Description

Compiled for P05.H

X:

Not used. Reserved.

CaptureTime (PmaxTime) Type: UTC This value contains the date and time at which the Pmax value occurred. This value is written by the firmware. PmaxCumOrOverload Long64 This value represents the sum of all maximum running demand values measured during a sub-interval by the selected demand calculation register accumulated during the current summation period. This value is displayed (or readout) using the object DemandCumMaxValueDisplayRegister (see Readable Items). Implementation note: Internally this value is handled as an Unsigned48. For DLMS communication purposes the CurrentValue is packed in a Long64. MonitoredDemandRegister Type: Unsigned16 This value gives the reference to the demand register that is used as source for the calculation of the values of this class. The reference is the corresponding number of the virtual names according to the following table (remark: the present firmware versions use less demand registers as the existent virtual names numbering has reserved):
0 101 102 103 104 105 106 No source selected DemandRegister1 DemandRegister2 DemandRegister3 DemandRegister4 DemandRegister5 DemandRegister6 107 108 109 110 111 112 DemandRegister7 DemandRegister8 DemandRegister9 DemandRegister10 DemandRegister11 DemandRegister12 113 114 115 116 117 118 DemandRegister13 DemandRegister14 DemandRegister15 DemandRegister16 DemandRegister17 DemandRegister18 119 120 121 122 123 124 DemandRegister19 DemandRegister20 DemandRegister21 DemandRegister22 DemandRegister23 DemandRegister24

Firmware version Number of demand registers used

B1x 8

B2x 8

H02 4

OverloadThreshold Type: Unsigned32 This value (labelled as PmaxOrThreshold in the firmware) defines the threshold limit used for contractual demand calculations. The demand overload mode is set using the bit OverloadMode to 1 (in attr. Status above). The format and scaling of this attribute is equal to that of attr. CurrentValue(Pmax). Implementation Notes: - In order to save memory this attribute is stored in attr. CurrentValue (which is not used in overload mode). Thus a write to this attribute will also modify the CurrentValue. A write to this attribute is only executed if the register is in the overload mode. This is done to make sure that the Pmax value cannot be written via a backdoor. A read to either this attribute or CurrentValue will retrive the same value. - Note when recording Pmax in the intermediate value profile (Class-id: 7 subtype: 20032): In normal applications it is desired to record either the Pmax value alone or with its timestamp. Due to internal handlings to fullfill LCD and IEC requirements, the following rules must be observed when defining the list of attributes to capture (attr. Capture_objects): 1. Capturing Pmax only: Add the reference to the CurrentValue attribute into the Capture_objects list
Capture_objects
CurrentValue1 CurrentValue2 CurrentValue3 CurrentValue4

2. Capturing Pmax with timestamp: Add first the reference to the CurrentValue followed by the reference to the CaptureTime for each register into the Capture_objects list
Capture_objects
CurrentValue1 CaptureTime1 CurrentValue2 CaptureTime2

3.14 PF-min Register [4-0-0-20054]


This class provides the calculation of the power factor minimal value.The calculations use the power factor registers (PF-Registers) as sources.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 41 / 190

Class Description

Compiled for P05.H

Register Attributes 1 LogicalName 2 CurrentValue 3 UnitScale 4 Status 5 CaptureTime 6 ReservedAttribute1 7 ReservedAttribute2 Specific Methods 8 reset () Proprietary Attributes 9 subtype 10 OwnClassVersion 11 IdString 12 AttrVaaAccList 13 DisplayUnitScale 14 MonitoredPfReg Attribute Description :

(static) (dyn.) (static) (mixed) (dyn.)

0..2 class_id=4, version=0, OwnClassVersion=0 Decimal point Data Type Min Max Def octetstring Instance Specific UnitScaleType Unsigned8 UTC

M/o O

(const) (const) (static) (static) (static) (static)

Unsigned16 Unsigned8 octetstring octetstring UnitScaleType Unsigned16

20054
0

CurrentValue (PFmin) Type: Unsigned32 This attribute holds the value of PFmin. It is internally scaled by 216: a power factor of 1.000 corresponds to a CurrentValue of 65536 (decimal) or 0x10000 (hexadecimal).
Higher 2 bytes pre-point Lower 2 bytes post-point

The source of the value used for PF-min calculation is selected with attribute MonitoredPowerFactorRegister below. To avoid disturbances produced by very small values, the PF-min is calculated only if the apparent power used to calculate the power factor is larger than a selected threshold value (see attribute TresholdPowerFactor in class DemandConfigurationRegister). Status Type: Unsigned8 This value is used to control the activation of the PF-min register.
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

active

Active: This bit is set by the firmware. When set to 1 the register is active, i.e. it calculates the PF-min values; otherwise there is no calculation. In order to activate a PF-min register it is necessary to select it in the class Tariff Aplication attribute OutputAssignment). Use the bytes labelled PFminRegister or PFminRegister2.

X:

Not used. Reserved.

CaptureTime (PFmin Time) Type: UTC This value contains the date and time at which the PF min value occurred. This value is written by the firmware. MonitoredPowerFactorRegister Type: Unsigned16 This value gives the reference to the PF register that is used as source for the calculation of the values of this class. The reference is the corresponding number of the virtual names according to the following table:
0 1551 No source selected Mab_PowerFactorFrozen

Implementation Notes: Capturing PFmin with timestamp in profiles: Add first the reference to the CurrentValue followed by the reference to the CaptureTime for each register into the Capture_objects list.
Capture_objects
CurrentValue1 CaptureTime1 CurrentValue2 CaptureTime2

Landis+Gyr AG

Revision Date: 09.09.2009

Page 42 / 190

Class Description

Compiled for P05.H

3.15 Extrema Register [4-0-0-20080]


This class is used to monitor diagnostic values (such as voltages, currents, power, etc.), demand values or counter values and find extreme values such as maximas or minimas. In case of a minima a delay can be enabled, which ignores the first two minutes after power up and the last two (to four) minutes before power down. The class allows monitoring of one input value and the calculation of either a maximum or minimum value (parameterizable). The calculated value becomes the current value of the register. The values are monitored (sampled) once per second. The register may be enabled via tariff matrix or reset via cumulation reset. The initial value for current value is the first value of the monitored channel after resetting of the register. Register Attributes 17 LogicalName 18 ExtremaValue 19 UnitScale 20 StatusFlags 21 CaptureTime 22 ReservedAttribute1 23 ReservedAttribute2 Specific Methods 24 reset () Proprietary Attributes 25 Subtype 26 OwnClassVersion 27 IdString 28 AttrVaaAccList 29 DisplayUnitScale 30 MonitoredValue 31 InternalStatusFlags Attribute Description ExtremaValue (maxima or minima) Type: Integer32 This attribute holds the current maximum value of the monitored register if the extrema register is used for maximum calculations (i.e Maxima = 1 in attribute Status below) or the current minimum value if it is used for minimum calculations (i.e. Maxima = 0 in attribute Status below). Its format is the following:
Higher bytes Lower bytes

0..24
(static) (dyn.) (static) (static) (dyn.)

class_id=4, version=0, OwnClassVersion=0 Min Max Def

Data Type octetstring Instance Specific UnitScaleType Unsigned8 UTC

M/o O

(const) (const) (static) (static) (static) (static) (dyn)

Unsigned16 Unsigned8 octetstring octetstring UnitScaleType Value_definition Unsigned8

20080 0

Upper 16 bits
pre-point Decimal point

Lower 16 bits
post-point

Its value (unit and scale) depends on the nature of the selected source (e.g. if the monitored value is a voltage, the Extrema Value shall be given in volts). StatusFlags Type: Unsigned8 This value specifies the algorithm and the reset source used:
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

Activ. Reset Maxima:

Cumm. Reset

StartupDelay

Maxima

Res

Res

Res

Res

Maxima calculation if set, otherwise minima calculation. The current value of the extrema register holds either the maximum or minimum value of the monitored register, according to this setting. Startup Delay: The first two minutes after power up and the last two to four minutes before power down are ignored if this flag is set. This helps to prevent a minimum value of 0 because of a power down. Cumulation Reset: Resets this register in case of a cumulation reset. Resetting means the current value of the monitored register becomes the current value of the extrema register. Activation Reset: Resets this register immediately before activation via tariff matrix. Resetting means the current value of the monitored register becomes the current value of the extrema register.
Landis+Gyr AG Revision Date: 09.09.2009 Page 43 / 190

Class Description

Compiled for P05.H

Res:

Reserved. Implementation note: Please do not use these bits because there are used in the other extrema class.

CaptureTime (ExtremaTime) Type: UTC This value contains the date and time at which the extrema value occurred. This value is written by the firmware. Implementation Note: This attribute does always show the last extrema value. Even if this value happened immediately before power down and startup/powerdown delay is enabled (Startup Delay = 1 in Satus). MonitoredValue Type: Value_definition This attribute is used to select the value that is monitored. The monitored value is referenced by the following items (Value_definition): class_id: long-unsigned; LogicalName: octet-string; attribute_index: integer; Implementation note: internally (in the code) the Value_definition uses the virtual name instead of the logical name and the class_id, but at interface level (DLMS communication or preprocessing for production with the DLMS converter) the logical names and the class_ids are used.

InternalStatusFlags Type: Unsigned8 This value is used to control the activation of the extrema calculation register :
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

X Active:

active

X:

This bit is set by the firmware. When set to 1 the register is active, i.e. it calculates the extrema values; otherwise there is no calculation. In order to activate an extrema register it is necessary to select it in the class Tariff Application attribute OutputAssignment . Use the bytes labeled ExtremaRegister1 .. ExtremaRegisterX. Not used. Reserved.

3.16 Extrema Extended Register [4-0-1-20081]


This class is specially used to find maximum demand values. There are two operational modes: one finds the maxima regardless of their occurrence time (i.e. all maxima may be very close together e.g. within a time of 5 min.) and the other finds only one maximum value (if there is one) within a defined time window. In both methods, the maxima are recorded with their time stamps. One additional register is also recorded at the same time. It is a diagnostic register (power factor register) which is defined by the attribute AdditionalMonitoredValue. This class inherits from the Extrema Register class with specific definitions for the attributes.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 44 / 190

Class Description

Compiled for P05.H

Register Attributes 32 LogicalName 33 ExtremaValue 34 UnitScale 35 StatusFlags 36 CaptureTime 37 ReservedAttribute1 38 ReservedAttribute2 Specific Methods 39 reset () Proprietary Attributes 40 Subtype 41 OwnClassVersion 42 IdString 43 AttrVaaAccList 44 DisplayUnitScale 45 MonitoredValue 46 InternalStatusFlags 47 AdditionalValue 48 AdditionalMonitoredValue Attribute Description
(static) (dyn.) (static) (static) (dyn.)

1 Data Type octetstring Instance Specific UnitScaleType Unsigned8 UTC

class_id=4, version=0, OwnClassVersion=1 Min Max Def

M/o O

(const) (const) (static) (static) (static) (static) (dyn.) (dyn.) (static)

Unsigned16 Unsigned8 octetstring octetstring UnitScaleType Value_definition Unsigned8 Instance Specific Value_definition

20081 1

ExtremaValue Type: Integer32 This attribute holds the local maximum value of the monitored register which is a Pmax Register. Its format is the following:
Higher bytes Lower bytes

Upper 16 bits
pre-point Decimal point

Lower 16 bits
post-point

Its value (unit and scale) depends on the nature of the selected source. StatusFlags Type: Unsigned8 This value specifies the window duration.
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

Res

Res

Res

Res

WindowDuration

WindowDuration: Duration in hours from 0 to 4 of the time window used for the calculation of the local maximum. If it is set to 0, the maxima are found regardless of their occurrence time (i.e. they may be very close together e.g. within 5 min.). If it is set to 1...4 then only one maximum value (if there is one) is found per time window (with the selected duration). Res: Reserved. Please do not use these bits because there are used in the other extrema class. CaptureTime (ExtremaTime) Type: UTC This attribute is written by the firmware. Its value contains the date and time at which the local maximum value occurred. MonitoredValue Type: Value_definition This attribute is used to select the Pmax register that is monitored. The monitored value is referenced by the following items (Value_definition): Class_id: unsigned16; LogicalName: octetstring[6]; Attribute_Index: integer8; Implementation notes:

Landis+Gyr AG

Revision Date: 09.09.2009

Page 45 / 190

Class Description

Compiled for P05.H

The firmware uses the virtual name of the CaptureObjects instead of the logical name and the Class_id, but at interface level (DLMS communication or pre-processing for production with the DLMS converter) the logical names and the Class_id are used. For proper functioning of this class, the monitored values shall be demand Pmax registers (class [4-x-x20051]).

InternalStatusFlags Type: Unsigned8 This value is used to control the activation of the extended extrema register :
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

X Active: X:

Active

This bit is set by the firmware. When set to 1 the register is active, i.e. it calculates the maximum values; otherwise there is no calculation. Not used. Reserved.

AdditionalValue Type: Integer32 This attribute holds the value of the additional monitored register corresponding to a Power Factor Register. Its value (unit and scale) depends on the nature of the selected source and is defined in the class description of the selected diagnostic register. AdditionalMonitoredValue Type: Value_definition This attribute is used to select the Power Factor Register that is monitored. The monitored value is referenced by the following items (Value_definition): Class_id: unsigned16; LogicalName: octetstring[6]; Attribute_Index: integer8;

3.17 Demand Register [5-0-1-20050]


This class stores the values registered for demand measurement purposes. Register 0..8 class_id=5, version=0, OwnClassVersion=1 Attributes 1 LogicalName 2 Current_average_value 3 Last_average_value 4 UnitScale 5 Status 6 Capture_time 7 Start_time_current 8 Period 9 Number_of_periods Specific Methods 10 Reset () 11 Next_period Proprietary Attributes 12 Subtype 13 OwnClassVersion 14 IdString 15 MValueNumber 16 AttrVaaAccList 17 DisplayUnitScale 18 Last_subinterval_value
Landis+Gyr AG

(static) (dynamic) (dynamic) (static) (dynamic) (dynamic) (dynamic) (static) (static) m/o O O (const) (const) (static) (static) (static) (static) (dynamic)

Data Type octetstring Integer32 Integer32 UnitScaleType Unsigned8 UTC UTC Unsigned32 Unsigned16

Min

Max

Def

60 1

3600 15

900 1

Unsigned16 Unsigned8 octetstring Unsigned8 octetstring scal_unit_type Integer32


Revision Date: 09.09.2009

20050 1

Page 46 / 190

Class Description

Compiled for P05.H

Attribute Description current_average_value Type: Integer32 Provides the current value (running demand) of the energy accumulated since start_time divided by number_of_periods period. The units of this value correspond to those selected by UnitScale. last_average_value Type: Integer32 Provides the value of the accumulated energy (over the last number_of_periods period) divided by number_of_periods period. The energy of the current (not terminated) period is not considered by the calculation. The units of this value correspond to those selected by UnitScale. This value is displayed (or readout) using the object DemandFrozenValueDisplayRegister (see Readable Items). capture_time Type: UTC Provides the date and time when the last_average_value was calculated. This value is written by the firmware. start_time_current Type: UTC Provides the date and time when the measurement of the current_average_value has been started. This value is written by the firmware. period Type: Unsigned32 This value defines the duration of the sub-interval during which the running demand is calculated. It corresponds to the time interval between succeeding updates of the last_average_value The duration is given in seconds. Implementation notes: period is one and the same for all instances of the Demand Register. This attribute is stored in the attribute IntegrationPeriodDuration of the Demand Configuration Register class. Changing the value of period in anyone of the Demand Register instances or changing the value of IntegrationPeriodDuration of the Demand Configuration Register will modify the period for all instances. number_of_periods This value defines the number of the sub intervals required to calculate the average demand value.Its also corresponds with the number of periods used to calculate the last_average_value. If the number_of_periods is 1 it indicates that the last_average_value represents "block demand", if greater than 1 it indicates that the last_average_value represents sliding demand. Implementation notes: In the present version (VDEW version 1) this value must be set to 1 as no rolling demand is supported. number_of_periods is one and the same for all instances of the Demand Register. This attribute is stored in the attribute NumberIntegrationPeriod of the Demand Configuration Register class. Changing the value of number_of_periods in anyone of the Demand Register instances or the value of NumberIntegrationPeriod of the Demand Configuration Register will modify the number of periods for all instances. Status Type: Unsigned8 This value is used to control the activation of the demand register. It is set dynamically by the firmware.
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

X X: Not used. Reserved.

MValueNumber Type: Unsigned8 Selects one of the measurement channels 1= M1 .. 10 = M10 used as source for this demand register. Value 0 indicates that no channel is selected. For the definition of the measurement channels refer to the used measurement system: e.g. HMC CIMA [10005-0-0-0] or Measurement System Linda [10000-0-4-0] or Measurement System Sapphire Simple [10006-0-0-0]. last_subinterval_value Type: Integer32 Provides the value of the accumulated energy over the last subinterval. The units of this value correspond to those selected by UnitScale. This value is not displayed!

Landis+Gyr AG

Revision Date: 09.09.2009

Page 47 / 190

Class Description

Compiled for P05.H

3.18 Event Log [7-1-5-20030]


Firmware name: Mpa_EventLog The event log records events and exceptions apperiodically. The event log inherits all attributes from the profile generic class. An event log entry is made when the state of one or more of the selected events bits in the Event Register changes. For the description of the event selection and event filtering refer to Event Register. The number of capture objects per entry and the number of entries depend on the available memory space (e.g. typically 2816 bytes for B23). The max. number of capture objects depends on current firmware version (e.g. for B23 is 161)) and the max. number of entries is 500. The search algorithm, used in parameterised access (from date to date) was modified to a binary search type. Event Log 1 Class_id=7, version=1, OwnClassVersion=4 Attributes 1 LogicalName 2 buffer 3 capture_objects 4 capture_period 5 sort_method 6 sort_object 7 entries_in_use 8 profile_entries 9 res_attribute1 10 res_attribute2 11 res_attribute3 Specific Methods 12 reset () 13 capture () 14 res_service1 15 res_service2 Proprietary Attributes 16 Subtype 17 OwnClassVersion 18 AttrVaaAccList 19 IdString 20 Reserved 21 ProfileMemoryType 22 LcdManualEntries 23 LcdServiceEntries 24 ReadOutEntries 25 IdentifierType 26 OutputFlags 27 BufferStartAddress 28 LCDAutoScrollEntries (static) (dyn.) (static) (static) (static) (static) (dyn.) (static) Data Type Octet-string Array Array Unsigned32 Enum ObjectDefinition Unsigned32 Unsigned32 Min Max 161) X X X 0 1 Def
01 00 63 62 00 FF

X 0 0 0 0

500

m/o o o

(const) (const) (static) (static) (static) (static) (static) (static) (static) (static) (static) (static)

Unsigned16 Unsigned8 octetstring octetstring Boolean Unsigned16 Unsigned16 Unsigned16 Enum Unsigned8 Unsigned32 Unsigned16 1 1 1 * * *

20030 4

1 1 1

Attribute Description Important implementation notes: 1)after changing the value of any attribute which influences the capturing behaviour it is necessary to call the method reset(); otherwise the previously recorded information can not be interpreted correctly and/or the modifications may get corrupted. 2) After changing the value of capture period, it is necessary to reset the demand registers. The number of capture objects per entry and the number of entries depend on the available memory space (typically 2816 bytes for B23). The search algorithm, used for parameterised access (from date to date), was modified to a binary search type. The max. number of capture objects depends on current firmware version (e.g. for B23 is 161)) and the max. number of entries is 500.

Buffer Type: Array of Octetstring The buffer attribute contains a sequence of entries. Each entry contains values of the captured objects. The sequence of the values of the captured objects within the structure corresponds to the order defined in the attribute

Landis+Gyr AG

Revision Date: 09.09.2009

Page 48 / 190

Class Description

Compiled for P05.H

capture_objects. The sequence of the entries within the array is ordered according to the specified sort method. The buffer gets filled by subsequent calls to the service capture ().This attribute is set by the firmware. The access to attribute buffer is done according to COSEM using a selective access method. There are two parameters for selective access to the buffer attribute: 1. range_descriptor 2. entry_descriptor For further information consult the COSEM specification [Ref. 6]. Capture_Objects Type: Array of ObjectDefinition A list of object definitions which contains the logical name, the class_id and the attribute index of each capture object. This list is used to define which attributes have to be stored in the buffer during the capture process; i.e. when the service capture() is called. Each entry in this list has the following parameters which correspond to the type of ObjectDefinition: class_id: long-unsigned; LogicalName: octet-string; attribute_index: integer; data_index: long-unsigned Implementation notes: - Internally (in the code) the CaptureObjects use the virtual name instead of the logical name and the class_id, but at interface level (DLMS communication or preprocessing for production with the DLMS converter) the logical names and the class_ids are used. - In case of load profile, the first two objects in this list must be the time (Class: Clock, attr.: time) and the status (class: eventRegister attr.: EdisStatus) - In case of load profile a maximum of 16 objects can be captured (including the time and status objects) Capture_Period Type: Unsigned32 Specifies the capturing period in seconds. The capturing period is specified in seconds. A value of 0 means no automatic capturing and is used for external or asychronous capturing as in the classes Intermediate Value and Event Log. Sort_Method Type: Enum Defines the sorting method used to store capture entries into the buffer when it is full.
1 2 3 4 5 6 First in first out Last in first out Largest Smallest Nearest to zero Farest to zero Overwrite the first stored entry Overwrite the last stored entry Overwrite the entry with the smallest value of the sort object definition Overwrite the entry with the largest value of the sort object definition Overwrite the entry with farest value to zero of the sort object definition Overwrite the entry with nearest value to zero of the sort object definition (not supported) (not supported) (not supported) (not supported) (not supported)

The first two sort_methods (First in first out and Last in first out) are used if the entries are not sorted. The last four methods will keep the entries sorted. Sort_Object Type: ObjectDefinition Defines the attribute (of a capture object) which will be used for sorting the captured entries when the buffer is full. This attribute is only relevant if Sort_Method is one of the last four methods (3 .. 6). The sort object is selected by specifying the same parameters as for Capture_Objects above. Entries_In_Use Type: Unsigned32 This attribute is set by the firmware. It counts the number of entries stored in the buffer. After a call of the reset () service the buffer is empty, and this value is zero. Upon each subsequent call of capture (), this value will be incremented up to the maximum number of entries that will get stored as defined by profile_entries. Implementation note: This attribute is internally handled as Unsigned16. With DLMS it can be written as Unsigned16 or Unsigned32 but it is always read as Unsigned32. Profile_Entries
Landis+Gyr AG

Type: Unsigned32
Revision Date: 09.09.2009 Page 49 / 190

Class Description

Compiled for P05.H

Defines the maximum number of entries which may be stored in the buffer. One entry contains one or more values of the captured objects. The value of profile_entries shall be selected in accordance to the size of the memory used. A value of zero disables the profile. Implementation note: This attribute is internally handled as Unsigned16. With DLMS it can be written as Unsigned16 or Unsigned32 but it is always read as Unsigned32.

ProfileMemoryType Type: Boolean Defines the profile memory, where the capture entries have to be stored.
False = 0 True = 1 Internal External Use the interal eeprom buffer of the main board (base plate) Use the external memory of the extension board (option 1)

LcdManualEntries Type: Unsigned16 This attribute defines the maximum of profile entries which can be displayed in the manual list. Note: Only used for intermediate values profiles. LcdSerlviceEntries Type: Unsigned16 This attribute defines the maximum of profile entries which can be displayed in the service list. Note: Only used for intermediate values profiles. ReadOutEntries Type: Unsigned16 This attribute defines the maximum number of profile entries which can be read out. Note: Only used for intermediate values profiles. IdentifierType Type: Enum This attribute defines the type of identification which has to add to the capture object identification string.
0 1 2 3 No entry Entry counter Capture month Reset counter Nothing is added Add the entry counter of the display or read out list position Add the capture month, which had stored with the date/time stamp Add the reset counter, which had stored over the current value of reset count register

OutputFlags Type: Unsigned8 Contains 8 different bit flags, which modify the output data for display on the LCD and / or for IEC readout. Following bits modify following output data (active means bit set to 1; inactive means set to 0):
Description Remarks When this bit is set to 1 the ouput begins with the newest stored entry first. When Affects all profiles this bit is 0, The ouput begins with the oldest stored entry first (see **Note below ) 1 WithUnitOfValue When this bit is set to 1 IEC readout of Intermediate values is sent out with their Affects intermediate units. When this bit is 0, IEC readout of Intermediate values is sent out without values only their units 2 WithZeroAtIdent When this bit is set to 1 the index of capture object ID is shown with two digits Affecs all profiles always (e.g. 01, 02, ..10, ..). When this bit is 0, the index of capture object ID is shown with one or two digits (e.g. 1, 2, ..10, ..) 3 WithFiltering When this bit is set to 1 the first elements of the profile (date and status) are Affects load profile output in the readout only for irregular entries. When this bit is 0, the first elements only of the profile (date and status) are always output in the readout 4 R5R6TimeStampWith When this bit is set to 1 the meter sends the timestamp in the header of the R5/R6 Affects load profile and Seconds output with seconds included. When this bit is 0, the meter sends the timestamp Event log only without seconds. 5 R5R6EdisStatusLong When this bit is set to 1 the meter sends a 4 byte EDIS status word in the headers Affects load profile and of the R5R6 output. When the bit is 0, the meter sends a 2 byte status word. Event log only 6 DisplayEdisStatusLong When this bit is 1 the meter displays the EDIS status as a 4 byte status word, and Used for load profile when the bit is 0, the EDIS status is displayed as a 2 byte word. and Event log 7 Not used. **Note: in load profile of VDEW1 this bit was implemented the other way round: When this bit is set to 0 the ouput begins with the newest stored entry first Bit 0 Name LastEntryFirst

BufferStartAddress It defines the memory address of the beginning of the profile. For B23/B24 its internally a 3 byte value, but for DLMS communication purposes is expanded to 4 bytes. The address must coincide with the beginning of a

Landis+Gyr AG

Revision Date: 09.09.2009

Page 50 / 190

Class Description

Compiled for P05.H

memory (flash) page; i.e. in B23 it is multiple of 2631) (0, 263, 536, ...). A value of zero is used for the first profile in shared memory areas. The tool has to calculate the BufferStartAddress of all profiles to avoid overlapping. For more information see also remarks at the beginning of this chapter! LCDAutoScrollEntries Type: Unsigned16 This attribute defines the maximum of profile entries which can be displayed in the auto scroll list. Note: Only used for intermediate values profiles.

1)

Definition of max captured Objects and profile page sizes in the different firmware versions: H03 B30 B24 B23 Max. captured objects 6 16 16 Profile page size [Bytes] 254 254 255

16 263

3.19 Load Profile [7-1-5-20031]


Firmware name: Mpa_LoadProfile The profile object defines a generalised concept to store dynamic process values of capture objects. A capture object is either a register, a clock or a profile. The capture objects are collected periodically or occasionally. A profile has a buffer to store the captured data. To retrieve a part of the buffer, either a register or clock and a value range, or an entry range may be specified, asking to retrieve all entries whose values or entry number lie within the given range. For more information refer to the document COSEM Interface objects V2 [Ref. 2], chapter Generic profile (Class_Id: 7).The number of capture objects per entry and the number of entries depend on the available memory space. In B23 the load profile buffer size (excluding index buffer) = 495755 (without changing index buffer maximum of 512 days) Profile 0..n Class_id=7, version=1, OwnClassVersion=5 Attributes 1 LogicalName 2 buffer 3 capture_objects 4 capture_period 5 sort_method 6 sort_object 7 entries_in_use 8 profile_entries 9 res_attribute1 10 res_attribute2 11 res_attribute3 Specific Methods 12 reset () 13 capture () 14 res_service1 15 res_service2 Proprietary Attributes 16 Subtype 17 OwnClassVersion 18 AttrVaaAccList 19 IdString 20 Reserved 21 ProfileMemoryType 22 LcdManualEntries 23 LcdServiceEntries 24 ReadOutEntries 25 IdentifierType
Landis+Gyr AG

(static) (dyn.) (static) (static) (static) (static) (dyn.) (static)

Data Type Octet-string Array of Octetstring Array of ObjectDefinition Unsigned32 Enum ObjectDefinition Unsigned32 Unsigned32

Min

Max 161) * * *

Def X

0 0 0 0

X X X 0 1

m/o o o

(const) (const)

(static)
(static) (static) (static) (static) (static) (static)

Unsigned16 Unsigned8 octetstring octetstring Boolean Unsigned16 Unsigned16 Unsigned16 Enum


Revision Date: 09.09.2009

20031 5

0 1 1 1 0

1 * * * 2

0 1 1 1 0
Page 51 / 190

Class Description

Compiled for P05.H

26 OutputFlags 27 BufferStartAddress 28 LCDAutoScrollEntries Attribute Description

(static) (static) (static)

Unsigned8 Unsigned32 Unsigned16

0 0

0xFF 0

1 0

Important implementation notes: 1)after changing the value of any attribute which influences the capturing behaviour it is necessary to call the method reset(); otherwise the previously recorded information can not be interpreted correctly and/or the modifications may get corrupted. 2) After changing the value of capture period, it is necessary to reset the demand registers. The number of capture objects per entry and the number of entries depend on the available memory space.

Buffer Type: Array of Octetstring The buffer attribute contains a sequence of entries. Each entry contains values of the captured objects. The sequence of the values of the captured objects within the structure corresponds to the order defined in the attribute capture_objects. The sequence of the entries within the array is ordered according to the specified sort method. The buffer gets filled by subsequent calls to the service capture ().This attribute is set by the firmware. The access to attribute buffer is done according to COSEM using a selective access method. There are two parameters for selective access to the buffer attribute: 1. range_descriptor 2. entry_descriptor For further information consult the COSEM specification [Ref. 6]. Capture_Objects Type: Array of ObjectDefinition A list of object definitions which contains the logical name, the class_id and the attribute index of each capture object. This list is used to define which attributes have to be stored in the buffer during the capture process; i.e. when the service capture() is called. Each entry in this list has the following parameters which correspond to the type of ObjectDefinition: class_id: long-unsigned; LogicalName: octet-string; attribute_index: integer; data_index: long-unsigned Implementation notes: - Internally (in the code) the CaptureObjects use the virtual name instead of the logical name and the class_id, but at interface level (DLMS communication or preprocessing for production with the DLMS converter) the logical names and the class_ids are used. - In case of load profile, the first two objects in this list must be the time (Class: Clock, attr.: time) and the status (class: eventRegister attr.: EdisStatus) - In case of load profile a maximum of 16 objects can be captured (including the time and status objects) Capture_Period Type: Unsigned32 Specifies the capturing period in seconds. The capturing period is specified in seconds. A value of 0 means no automatic capturing and is used for external or asychronous capturing as in the classes Intermediate Value and Event Log. Sort_Method Type: Enum Defines the sorting method used to store capture entries into the buffer when it is full.
1 2 3 4 5 6 First in first out Last in first out Largest Smallest Nearest to zero Farest to zero Overwrite the first stored entry Overwrite the last stored entry Overwrite the entry with the smallest value of the sort object definition Overwrite the entry with the largest value of the sort object definition Overwrite the entry with farest value to zero of the sort object definition Overwrite the entry with nearest value to zero of the sort object definition (not supported) (not supported) (not supported) (not supported) (not supported)

Landis+Gyr AG

Revision Date: 09.09.2009

Page 52 / 190

Class Description

Compiled for P05.H

The first two sort_methods (First in first out and Last in first out) are used if the entries are not sorted. The last four methods will keep the entries sorted. Sort_Object Type: ObjectDefinition Defines the attribute (of a capture object) which will be used for sorting the captured entries when the buffer is full. This attribute is only relevant if Sort_Method is one of the last four methods (3 .. 6). The sort object is selected by specifying the same parameters as for Capture_Objects above. Entries_In_Use Type: Unsigned32 This attribute is set by the firmware. It counts the number of entries stored in the buffer. After a call of the reset () service the buffer is empty, and this value is zero. Upon each subsequent call of capture (), this value will be incremented up to the maximum number of entries that will get stored as defined by profile_entries. Implementation note: This attribute is internally handled as Unsigned16. With DLMS it can be written as Unsigned16 or Unsigned32 but it is always read as Unsigned32. Profile_Entries Type: Unsigned32 Defines the maximum number of entries which may be stored in the buffer. One entry contains one or more values of the captured objects. The value of profile_entries shall be selected in accordance to the size of the memory used. A value of zero disables the profile. Implementation note: This attribute is internally handled as Unsigned16. With DLMS it can be written as Unsigned16 or Unsigned32 but it is always read as Unsigned32.

ProfileMemoryType Type: Boolean Defines the profile memory, where the capture entries have to be stored.
False = 0 True = 1 Internal External Use the interal eeprom buffer of the main board (base plate) Use the external memory of the extension board (option 1)

LcdManualEntries Type: Unsigned16 This attribute defines the maximum of profile entries which are displayed in the manual list. Note: Only used for intermediate values profiles. LcdSerlviceEntries Type: Unsigned16 This attribute defines the maximum of profile entries which are displayed in the service list. Note: Only used for intermediate values profiles. ReadOutEntries Type: Unsigned16 This attribute defines the maximum number of profile entries which are read out. Note: Only used for intermediate values profiles. IdentifierType Type: Enum This attribute defines the type of identification which has to add to the capture object identification string.
0 1 2 3 No entry Entry counter Capture month Reset counter Nothing is added Add the entry counter of the display or read out list position Add the capture month, which had stored with the date/time stamp Add the reset counter, which had stored over the current value of reset count register

OutputFlags Type: Unsigned8 Contains 8 different bit flags, which modify the output data for display on the LCD and / or for IEC readout. Following bits modify following output data (active means bit set to 1; inactive means set to 0):
Bit 0 1 Name LastEntryFirst WithUnitOfValue Description When this bit is set to 1 the ouput begins with the newest stored entry first. When this bit is 0, The ouput begins with the oldest stored entry first When this bit is set to 1 IEC readout of Intermediate values is sent out with their units. When this bit is 0, IEC readout of Intermediate values is sent out without their units Remarks Affects all profiles (see **Note below ) Affects intermediate values only

Landis+Gyr AG

Revision Date: 09.09.2009

Page 53 / 190

Class Description 2 WithZeroAtIdent

Compiled for P05.H

When this bit is set to 1 the index of capture object ID is shown with two digits Affecs all profiles always (e.g. 01, 02, ..10, ..). When this bit is 0, the index of capture object ID is shown with one or two digits (e.g. 1, 2, ..10, ..) 3 WithFiltering When this bit is set to 1 the first elements of the profile (date and status) are Affects load profile output in the readout only for irregular entries. When this bit is 0, the first elements only of the profile (date and status) are always output in the readout 4 R5R6TimeStampWith When this bit is set to 1 the meter sends the timestamp in the header of the R5/R6 Affects load profile and Seconds output with seconds included. When this bit is 0, the meter sends the timestamp Event log only without seconds. 5 R5R6EdisStatusLong When this bit is set to 1 the meter sends a 4 byte EDIS status word in the headers Affects load profile and of the R5R6 output. When the bit is 0, the meter sends a 2 byte status word. Event log only 6 DisplayEdisStatusLong When this bit is 1 the meter displays the EDIS status as a 4 byte status word, and Used for load profile when the bit is 0, the EDIS status is displayed as a 2 byte word. and Event log 7 ProfileDayStartsAfterM When this bit is 0 an entry with SOI (start of interval) is made in the load profile Used for load profile idnight everyday at midnight; this provides 97 entries per day with a 15 min profile. only When this bit is no SOI is made in the load profile at midnight 96 entries per day with 15min profile. The days period begins at midnight + integration period **Note: in load profile of VDEW1 this bit was implemented the other way round: When this bit is set to 0 the ouput begins with the newest stored entry first

BufferStartAddress It defines the memory address of the beginning of the profile. For B23/B24 its internally a 3 byte value, but for DLMS communication purposes is expanded to 4 bytes. The address must coincide with the beginning of a memory (flash) page; i.e. in B23 it is multiple of 2631) (0, 263, 536, ...). A value of zero is used for the first profile in shared memory areas. The tool has to calculate the BufferStartAddress of all profiles to avoid overlapping. For more information see also remarks at the beginning of this chapter! Implementation Note: The load profile includes also an index buffer for faster searching. The index buffer is actually placed on the BufferStartAddress and the real data capturing moved of the amount of index buffer size1). This needs also to be taken in the used bytes of a load profile. LCDAutoScrollEntries Type: Unsigned16 This attribute defines the maximum of profile entries which are displayed in the auto scroll list. Note: Only used for intermediate values profiles.

1)

Definition of max captured Objects and profile page sizes in the different firmware versions: H03 B30 B24 B23 Max. captured objects 36 16 16 Profile page size [Bytes] 254 254 255 Size of 1 index buffer entry [Byte] 8 8 6 Max index buffer entries 1500 1500 526

16 263 6 526

3.20 Intermediate Value [7-1-5-20032]


Firmware name: Mpa_IntermediateValue The intermediate value inherits all attributes from the profile generic class. It stores periodically a snap shot of the current values of the defined capture objects. Each entry consists typically of a set of the defined capture objects plus a time stamp, an index and a status. The number of capture objects per entry and the number of entries depend on the available memory space (typically 4290 bytes for B23). The maximum number of capture objects depends on current firmware version (in B23 was incremented to 841)). For more information refer to the document SIERRA TS under Stored Values. Profile 1 Class_id=7, version=1, OwnClassVersion=5 Attributes 1 LogicalName 2 buffer 3 capture_objects 4 capture_period 5 sort_method 6 sort_object
Landis+Gyr AG

(static) (dyn.) (static) (static) (static) (static)

Data Type Octet-string Array of Octet-string Array of ObjectDefinition Unsigned32 Enum ObjectDefinition
Revision Date: 09.09.2009

Min

Max

Def
00 00 67 15 01 FF

X 0 0 841) X X X
Page 54 / 190

Class Description

Compiled for P05.H

7 entries_in_use 8 profile_entries 9 res_attribute1 10 res_attribute2 11 res_attribute3 Specific Methods 12 reset () 13 capture () 14 res_service1 15 res_service2 Proprietary Attributes 16 Subtype 17 OwnClassVersion 18 AttrVaaAccList 19 IdString 20 Reserved 21 ProfileMemoryType 22 LcdManualEntries 23 LcdServiceEntries 24 ReadOutEntries 25 IdentifierType 26 OutputFlags 27 BufferStartAddress 28 LCDAutoScrollEntries Attribute Description

(dyn.) (static)

Unsigned32 Unsigned32

0 0

0 1

m/o o o

(const) (const)

(static)
(static) (static) (static) (static) (static) (static) (static) (static)

Unsigned16 Unsigned8 octetstring octetstring Boolean Unsigned16 Unsigned16 Unsigned16 Enum Unsigned8 Unsigned32 Unsigned16 0 1 1 1 0 0 1 * * * 2 0xFF

20032 5

0 1 1 1 0 1

* Max value = value of profile_entries

Important implementation notes: 1)after changing the value of any attribute which influences the capturing behaviour it is necessary to call the method reset(); otherwise the previously recorded information can not be interpreted correctly and/or the modifications may get corrupted. 2) After changing the value of capture period, it is necessary to reset the demand registers. The number of capture objects per entry and the number of entries depend on the available memory space (typically 4290 bytes for B23). ). The maximum number of capture objects depends on current firmware version (in B23 was incremented to 841)).

Buffer Type: Array of Octetstring The buffer attribute contains a sequence of entries. Each entry contains values of the captured objects. The sequence of the values of the captured objects within the structure corresponds to the order defined in the attribute capture_objects. The sequence of the entries within the array is ordered according to the specified sort method. The buffer gets filled by subsequent calls to the service capture ().This attribute is set by the firmware. The access to attribute buffer is done according to COSEM using a selective access method. There are two parameters for selective access to the buffer attribute: 1. range_descriptor 2. entry_descriptor For further information consult the COSEM specification [Ref. 6]. Capture_Objects Type: Array of ObjectDefinition A list of object definitions which contains the logical name, the class_id and the attribute index of each capture object. This list is used to define which attributes have to be stored in the buffer during the capture process; i.e. when the service capture() is called. Each entry in this list has the following parameters which correspond to the type of ObjectDefinition: class_id: long-unsigned; LogicalName: octet-string; attribute_index: integer; data_index: long-unsigned

Landis+Gyr AG

Revision Date: 09.09.2009

Page 55 / 190

Class Description

Compiled for P05.H

Implementation notes: - Internally (in the code) the CaptureObjects use the virtual name instead of the logical name and the class_id, but at interface level (DLMS communication or preprocessing for production with the DLMS converter) the logical names and the class_ids are used. - In case of load profile, the first two objects in this list must be the time (Class: Clock, attr.: time) and the status (class: EventRegister attr.: EdisStatus) - In case of load profile a maximum of 16 objects can be captured (including the time and status objects) - In case of intermediate value additionally to the selected captured objects always the reset source is captured as well (and has not to be in the Capture_Objects list). Capture_Period Type: Unsigned32 Specifies the capturing period in seconds. The capturing period is specified in seconds. A value of 0 means no automatic capturing and is used for external or asychronous capturing as in the classes Intermediate Value and Event Log. Sort_Method Type: Enum Defines the sorting method used to store capture entries into the buffer when it is full.
1 2 3 4 5 6 First in first out Last in first out Largest Smallest Nearest to zero Farest to zero Overwrite the first stored entry Overwrite the last stored entry Overwrite the entry with the smallest value of the sort object definition Overwrite the entry with the largest value of the sort object definition Overwrite the entry with farest value to zero of the sort object definition Overwrite the entry with nearest value to zero of the sort object definition (not supported) (not supported) (not supported) (not supported) (not supported)

The first two sort methods (First in first out and Last in first out) are used if the entries are not sorted. The last four methods will keep the entries sorted. Sort_Object Type: ObjectDefinition Defines the attribute (of a capture object) which will be used for sorting the captured entries when the buffer is full. This attribute is only relevant if Sort_Method is one of the last four methods (3 .. 6). The sort object is selected by specifying the same parameters as for Capture_Objects above. Entries_In_Use Type: Unsigned32 This attribute is set by the firmware. It counts the number of entries stored in the buffer. After a call of the reset () service the buffer is empty, and this value is zero. Upon each subsequent call of capture (), this value will be incremented up to the maximum number of entries that will get stored as defined by profile_entries. Implementation note: This attribute is internally handled as Unsigned16. With DLMS it can be written as Unsigned16 or Unsigned32 but it is always read as Unsigned32. Profile_Entries Type: Unsigned32 Defines the maximum number of entries which may be stored in the buffer. One entry contains one or more values of the captured objects. The value of profile_entries shall be selected in accordance to the size of the memory used. A value of zero disables the profile. Implementation note: This attribute is internally handled as Unsigned16. With DLMS it can be written as Unsigned16 or Unsigned32 but it is always read as Unsigned32.

ProfileMemoryType Type: Boolean Defines the profile memory, where the capture entries have to be stored.
False = 0 True = 1 Internal External Use the internal eeprom buffer of the main board (base plate) Use the external memory of the extension board (option 1)

LcdManualEntries Type: Unsigned16 This attribute defines the maximum of profile entries which are displayed in the manual list. Minimum value = 1; Maximum value = value of profile_entries.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 56 / 190

Class Description

Compiled for P05.H

LcdSerlviceEntries Type: Unsigned16 This attribute defines the maximum of profile entries which are displayed in the service list. Minimum value = 1; Maximum value = value of profile_entries. ReadOutEntries Type: Unsigned16 This attribute defines the maximum number of profile entries which are read out. Minimum value = 1; Maximum value = value of profile_entries. IdentifierType Type: Enum Defines the type of identification which has to add to the capture object identification string.
0 1 2 3 No entry Entry counter Capture month Reset counter Nothing is added Add the entry counter of the display or read out list position Add the capture month, which had stored with the date/time stamp Add the reset counter, which had stored over the current value of reset count register

OutputFlags Type: Unsigned8 Contains 8 different bit flags, which modify the output data for display on the LCD and / or for IEC readout. Following bits modify following output data (active means bit set to 1; inactive means set to 0):
Description Remarks When this bit is set to 1 the ouput begins with the newest stored entry first. When Affects all profiles this bit is 0, The ouput begins with the oldest stored entry first (see **Note below ) 1 WithUnitOfValue When this bit is set to 1 IEC readout of Intermediate values is sent out with their Affects intermediate units. When this bit is 0, IEC readout of Intermediate values is sent out without values only their units 2 WithZeroAtIdent When this bit is set to 1 the index of capture object ID is shown with two digits Affecs all profiles always (e.g. 01, 02, ..10, ..). When this bit is 0, the index of capture object ID is shown with one or two digits (e.g. 1, 2, ..10, ..) 3 WithFiltering When this bit is set to 1 the first elements of the profile (date and status) are Affects load profile output in the readout only for irregular entries. When this bit is 0, the first elements only of the profile (date and status) are always output in the readout 4 R5R6TimeStampWith When this bit is set to 1 the meter sends the timestamp in the header of the R5/R6 Affects load profile and Seconds output with seconds included. When this bit is 0, the meter sends the timestamp Event log only without seconds. 5 R5R6EdisStatusLong When this bit is set to 1 the meter sends a 4 byte EDIS status word in the headers Affects load profile and of the R5R6 output. When the bit is 0, the meter sends a 2 byte status word. Event log only 6 DisplayEdisStatusLong When this bit is 1 the meter displays the EDIS status as a 4 byte status word, and Used for load profile when the bit is 0, the EDIS status is displayed as a 2 byte word. and Event log 7 Not used. **Note: in load profile of VDEW1 this bit was implemented the other way round: When this bit is set to 0 the ouput begins with the newest stored entry first Bit 0 Name LastEntryFirst

BufferStartAddress It defines the memory address of the beginning of the profile. For B23/B24 its internally a 3 byte value, but for DLMS communication purposes is expanded to 4 bytes. The address must coincide with the beginning of a memory (flash) page; i.e. in B23 it is multiple of 2631) (0, 263, 536, ...). A value of zero is used for the first profile in shared memory areas. The tool has to calculate the BufferStartAddress of all profiles to avoid overlapping. For more information see also remarks at the beginning of this chapter! LCDAutoScrollEntries Type: Unsigned16 This attribute defines the maximum of profile entries which are displayed in the auto scroll list. Minimum value = 1; Maximum value = value of profile_entries.

1)

Definition of max captured Objects and profile page sizes in the different firmware versions: H03 B30 B24 B23 Max. captured objects 36 84 84 Profile page size [Bytes] 254 254 255

84 263

Landis+Gyr AG

Revision Date: 09.09.2009

Page 57 / 190

Class Description

Compiled for P05.H

3.21 Clock [8-0-80-0]


Firmware name: SystemTimeRtc The clock class handles the information related to the internal real time clock. Its definition is according to COSEM. Clock 0..1 Class_id=8, version=0, OwnClassVersion=80 Attributes 1 LogicalName 2 Seconds 3 TimeZone 4 ClockStatus 5 DaylightSavingsBegin 6 DaylightSavingsEnd 7 DaylightSavingsDeviation 8 DaylightSavingsEnabled 9 ClockBase 10 res_attribute1 11 res_attribute2 12 res_attribute3 Specific Methods 13 adjust_time () 14 adjust_to_measuring_period () 15 adjust_to_minute () 16 adjust_to_preset_time () 17 preset_adjusting_time () 18 shift_time () 19 res_service1 20 res_service2 Proprietary Attributes 21 OwnClassVersion 22 IdString 23 AttrVaaAccList 24 SynchPeriod 25 ExtSynchPeriod 26 ExtSynchTime 27 ExtSynchWindow 28 ControlFlags 29 CalendarType 30 DaylightSavingsDates 31 DaylightSavingsMode (static) (dyn.) (static) (dyn.) (static) (static) (static) (static) (static) (static) (static) (static) Data Type octetstring UTC Integer16 Unsigned8 UTC UTC Integer8 boolean enum remarks local actual time difference local wintertime / GMT

Difference local wintertime / local summertime

m/o o o o o o o
Min (const) (static) (static) (static) (static) (static) (static) (static) (static) (static) (static) Max Def 3

Unsigned8 octetstring octetstring Unsigned8 Unsigned8 Unsigned16 Unsigned8 Unsigned8 enum array of UTC enum

1 0 1 0 0

60 1439 60 1 1

15 $FFFF $FFFF 0 0

Note: Display & readout have two screens: one for the date and a 2nd for time using IdString plus an index as identifier (not used in VDEW0) Attribute Description Seconds Type: UTC Contains the meters local time, its deviation to GMT and the status. Although this value is written by the firmware it can be modified externally for adjustment purposes. When this value is modified, only specified fields of the UTC are changed (e.g. for setting the date without changing the time, all time relevant octets of the UTC must be set to not specified as defined below). For more information refer to in COSEM Interface objects V2 [Ref. 2], chapter 4.1.2 Common Data Types and 5.7 Clock. The ClockStatus must always be set when writing the time. The attribute Seconds is coded as an octet string as follows: octet-string { year highbyte, year lowbyte, month, day of month, day of week, hour, minute, second, hundredths, deviation, clock status }
Attribute year: month: Type Unsigned16 Unsigned8 Range 0..big 1..12, 0xFD,0xFE,0xFF Coding 0xFFFF = not specified 1 is January 0xFD= daylight_savings_end 0xFE= daylight_savings_begin

Landis+Gyr AG

Revision Date: 09.09.2009

Page 58 / 190

Class Description

Compiled for P05.H

Attribute dayOfMonth: dayOfWeek:

Type Unsigned8 Unsigned8

Range 1..31, 0xFD, 0xFE, 0xFF 1..7, 0xFF

hour: minute: second: hundredths: deviation clock status:

Unsigned8 Unsigned8 Unsigned8 Unsigned8 Integer16 Unsigned8

0..23, 0xFF 0..59, 0xFF 0..59, 0xFF 0..99, 0xFF -720 .. +720

Coding 0xFF = not specified 0xFD = 2nd last day of month 0xFE = last day of month 0xFF = not specified For Gregorian calendar 1 is Monday 2 is Tuesday 3 is Wednesday 4 is Thursday 5 is Friday 6 is Saturday 7 is Sunday For Persian calendar 1 is Saturday 2 is Sunday 3 is Monday 4 is Tuesday 5 is Wednesday 6 is Thursday 7 is Friday 0xFF = not specified 0xFF = not specified 0xFF = not specified 0xFF = not specified 0xFF = not specified Min. from local time to GMT 0x8000 = not specified Always equal to attribute status

Implementation notes: The time is internally coded in an Unsigned32 as the number of seconds after 1.1.1990. For DLMS communication purposes, the UTC format (as shown in this class) is used. The lines showed below will not be used in the write routine. In the read routine they are represented as FF.
Attribute name (UTC) Time year month day of month day of week hour minute second hundredth deviation clock status DaylightSavingsBegin year month day of month day of week hour minute always equal to attribute 4 start of summertime (reference is local actual time) remarks local actual time

Landis+Gyr AG

Revision Date: 09.09.2009

Page 59 / 190

Class Description second hundredth deviation clock status DaylightSavingsEnd year month day of month day of week hour minute second hundredth deviation clock status DaylightSavingsDates year month day of month day of week hour minute second hundredth deviation clock status Definition of switch points in daylight savings manual mode end of summertime (reference is local actual time)

Compiled for P05.H

TimeZone Type: long The deviation of local, normal time to GMT in minutes. ClockStatus Type: unsigned8 This attribute is set by the firmware and gives an indication of the status of the clock. The status bits are defined as follows:
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

Daylight savings active Invalid time: Doubtful time:

Reserved

Reserved

Reserved

Invalid Clock Status

Clock source

Doubtful time

Invalid time

Time could not be recovered after an incident. Detailed conditions are manufacturer specific (e.g. after the power to the clock has been interrupted). Time could be recovered after an incident but the value cannot be guaranteed. Detailed conditions are manufacturer specific

Landis+Gyr AG

Revision Date: 09.09.2009

Page 60 / 190

Class Description

Compiled for P05.H

Clock source:

Indicates if the clock source is the same as set with the ClockBase attribute. 0 = same as set in ClockBase; 1 = different as set in ClockBase. InvalidClockStatus Indicates (when set to 1) that the present clock status is invalid (i.e. the information is not meaningful). Implementation note: when this bit is to be set, the firmware sets the whole status byte to 0xFF Reserved: not used. Daylight savings active: Indicates (when set to 1) that the time is deviated from the normal due to daylight savings. DaylightSavingsBegin Type: UTC Defines the local switch date and time when the local time has to be deviated from the normal time. If the day of week is undefined, the switch point will be the same every year, switch time and day of month specified in this attribute. If the day of week is defined (value between 1 and 7), we will used a algorithm to calculate the switch point. For the algorithm this attribute contains the month, first possible day of month, the day of week and the switch time. With this information its possible to calculate the switch point for every year from the point of time this attribute was set. This attribute is only used when the daylight savings automatic mode is selected (see DaylightSavingsMode attribute). DaylightSavingsEnd Type: UTC Defines the local switch date and time when the local time has to be returned to the normal time. See DaylightSavingsBegin above. This attribute is only used when the daylight savings automatic mode is selected (see DaylightSavingsMode attribute). DaylightSavingsDeviation Type: integer Contains the number of minutes the deviation in generalised time must be corrected at daylight savings begin. Deviation range of about 2 hours DaylightSavingsEnabled Type: boolean TRUE enables daylight savings function. ClockBase Type: enum Defines the type of source used for the clock system. 0: not defined 1: internal crystal 2: mains frequency 50 Hz 3: mains frequency 60 Hz 4: GPS (global positioning system) (not supported) 5: DCF 77 (Braunschweig time standard) (not supported) Implementation note: ClockBase stores the information set as reference for the internal hardware clock system (RTC). This information may differ from the real operating condition; e.g. the clock source is automatically switched from mains to internal if the mains frequency deviates more than 5% from its nominal value. The actual state of the operating source is reported in bit 2 of attribute status. SynchPeriod Type: unsigned8 The synch period in the clock software is used to specify the frequency of the synchronisation pulses that can be sent out by the meter. The value of the variable is translated as follows: 0: No Pulses 1: One pulse on each minute boundary 2: One pulse on every hour boundary 3: One pulse on every day boundary

Landis+Gyr AG

Revision Date: 09.09.2009

Page 61 / 190

Class Description

Compiled for P05.H

ExtSynchPeriod Type: unsigned8 Used to set the time periods at which the meter time will be synchronised through an external synch signal. ExtSynchPeriod is given in minutes and determines the length of a synch period; e.g. a value of ExtSynchPeriod = 15 means that the meter can be synchronised every 15 minutes starting with the last full hour (i.e. 00, 15, 30 and 45). The synchronisation window is placed at ExtSynchPeriod/2 of the synchronising time (e.g. from 22.5 to 37.5 min when the synchronisation time is 30 min and ExtSynchPeriod = 15). It is wise to use exact dividers of 60 (i.e. 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30 and 60) for ExtSynchPeriod. If other values are used, the first synchronisation window (at the full hour) is asymmetrical and is adjusted to avoid ambiguities (e.g. for ExtSynchPeriod = 7 the first synch window is from 59.5 to 3.5). To activate ExtSynchPeriod, the value of attribute ExtSynchTime has to be set to $FFFF. If ExtSynchTime has a value in the range from 0 to 1439, the value of ExtSynchPeriod is not used.

ExtSynchTime Type: unsigned16 Used to select the type of time synchronisation between once a day or several times a day. A daily synchroniation (once a day) is selected by setting the value of ExtSynchTime in the range from 0 to 1439. The selected value corresponds to the synchronisation time in minutes within one day starting from 00:00 (value = 0) to 23:59 (value = 1439). The range of the synchonisation window is chosen with the attribute ExtSynchWindow below. The synchronisation will adjust the time to the value of ExtSynchTime if an external synch signal occurs during the time window defined by ExtSynchTime ExtSynchWindow. A several times a day synchronisation is selected by setting the value of ExtSynchTime to 0xFFFF (or greater than 1439). In this case the synchronisation is made as explained in attribute ExtSynchPeriod above.

ExtSynchWindow Type: unsigned8 Used to set the time window for a daily synchronisation as described in attribute ExtSynchTime above. The value of ExtSynchTime is given in minutes.

ControlFlags Type: unsigned8 Used to set some functions or properties of the clock.
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

Res.

Res.

Res.

Res.

Res.

Res.

Res.

UseOldTimeIfClockFails

Bit 0: UseOldTimeIfClockFails: specify what to do when the time could not be recovered after an incident. If UseOldTimeIfClockFails = 0 the current date and time will be set to 01.01.2000 (for Gregorian calendar) and to 01.01.1379 (for Persian calendar). If UseOldTimeIfClockFails = 1, the current date and time will be set to the time saved on last power down. Bit 1-7: Reserved, i.e. not used.

CalendarType Type: enum Defines the type of calendar used in the meter. 0: Gregorian (default) 1: Jalali (Persian Calendar) Switching from one calendar to the other (converts the current date to the new date format). This parameter must be set during production and not changed after. If you change it after you have to be careful with all the dates managed by the meter (special day table, reset action schedule, daylight savings dates, .).

DaylightSavingsDates Defines 3 years of switch points.

Type : array[6] of UTC

Landis+Gyr AG

Revision Date: 09.09.2009

Page 62 / 190

Class Description

Compiled for P05.H

This attribute is only used when the daylight savings manual mode is selected. Daylight savings begin of year 1 Daylight savings end of year 1 Daylight savings begin of year 2 Daylight savings end of year 2 Daylight savings begin of year 3 Daylight savings end of year 3 When a year is not used all relevant octets of the UTC must be set to not specified.

DaylightSavingsMode Type: enum Defines if the daylight savings must be done automatically or manually. 0: automatic (default) 1: manual When the daylight savings mode is automatic, the attributes DaylightSavingsBegin and DaylightDavingsEnd are used to calculate the switch points every year. When the daylight savings mode is manual, the attribute DaylightSavingsDates is used to find the switch points in the list. If no switch points for the current year are available in the list, no switch will be done.

3.22 Script Table Class [9-0-1-10800]


Firmware name: STC_ScriptTableClass: The interface class Script Table Class is used as defined in 4.6.1.1.5 of the Blue Book of COSEM (DLMS UA 1000-1:2005, Seventh Edition), where it allows to create several instances of this class, available as hidden scripts only with access to the their execute() method. There are three instances of this class, each allowing one of the actions described: - SwitchOpticalTestOutput to assign a measurement channel to the middle (active) LED - ScriptTableActivateTestMode and ScriptTableActivateNormalMode to activate and to deactivate the test mode. STC 0..1 Class_id=9, Version=0, OwnClassVersion=1 Attributes 1 LogicalName 2 Scripts Specific Methods 3 execute() Proprietary Attributes 4 AttrVaaAccList 5 OwnClassVersion 6 Subtype Attribute Description Scripts Type: array[] This attribute is not accessible. This class does not allow real scripting at the moment. Methods Description execute(data) The method execute performs the desired action according to the instance. The method is called by making a dlms write command to the method with the corresponding parameter. (static) (static) m/o o (static) (const) (const) Data Type octetstring array Min Max Def Short name x x + 0x08 x + 0x20 octetstring Unsigned8 Unsigned16 x + 0x28 x + 0x30 x + 0x38

0 10800

Landis+Gyr AG

Revision Date: 09.09.2009

Page 63 / 190

Class Description

Compiled for P05.H

The object SwitchOpticalTestOutput is used to assign a measurement channel to the middle LED (normally used for active energy). A call to this method requires a parameter (Unsigned16) containing the field C (Value Group C) of the OBIS code (Logical Name) of the desired value selected to drive the middle LED (e.g. 21 for Import Active Power of phase L1). Note that it is necessary that the desired value is supported by one measurement channel in the measurement system. The values of the logical names are taken from the total energy registers associated to each channel. Implemetation note: By using this function, the display shows in case of success PULSE and the logical name of the measurement channel. If the measurement channel isnt valid it shows Error instead the logical name. How long? The objects ScriptTableActivateNormalMode and ScriptTableActivateTestMode are used to activate and to deactivate the test mode. They also require a parameter (Unsigned16) but the value has no influence to the function.

3.23 Special Days Table [11-0-80-0]


This class allows defining dates, which will override normal switching behaviour for special days. This class works in conjunction with the class Activity calendar. The linking data item between the two classes is day_id. This Version has the number of special days extended to 200. Special Days Table 0..1 Class_id=11, Version=0, OwnClassVersion=80 Attributes 1 logical_name 2 entries Specific Methods 3 insert () 4 delete () Proprietary Attributes 5 AttrVaaAccList 6 OwnClassVersion Attribute Description entries Type: array[200] of spec_day_entry Specifies an array containing special day identifiers for given dates. Dates may have wildcards for repeating special days like Christmas. Each special day entry (array element) is organized in a structure as follows:
Byte 1 Byte 2 index Bytes 3 to 7 Byte 8 day_id (static) (static)

Data Type octetstring array

Min

Max

Def

m/o o o
(static) (const)

octetstring Unsigned8

80

specialday_date

Index An Unsigned16 used to number the entries in the array. This attribute is not used by the firmware. Specialday_date Specifies the dates selected as special days. Specialday_date are octet strings whose format is defined by the COSEM date type [Ref. 2]. It support wild cards for selecting general dates such as every year. octetstring{ year highbyte, year lowbyte, month, day of month, day of week }
Attribute year: month: dayOfMonth: dayOfWeek Type Unsigned16 Unsigned8 Unsigned8 Unsigned8 Range 0..big 1..12, 0xFF 1..31, 0xFF 0xFF Coding 0xFFFF = every year 1 is January 0xFF = every month 0xFF = every day 0xFF = any weekday

day_id
Landis+Gyr AG Revision Date: 09.09.2009 Page 64 / 190

Class Description

Compiled for P05.H

A byte (Unsigned8) which is used as link between this class and Activity Calendar. Each entry of day_id shall have a corresponding in Activity Calendar with the same number. If day_id references a non existing day in Activity Calendar, the entry will be ignored and the day is considered as a normal day. Implementation notes: The number of array elements is part of the DLMS communication and must be provided to the meter; i.e. the DLMS converter has to handle it (for more details refer to the physical model of the class). The device provides the number of array elements too as part of the DLMS communication. The methods proposed in this class will not be implemented. dayOfWeek must be 0xFF.

The special days are prioritized according to their position in the array: first entries have priority. If two or more entries coincide in one day (eg entry 1: every month on the 10th and entry 2: on the 10th of April) the first entry will be used and the second ignored. It is recommended to place fixed dates (eg on the 10th of April) before generalized dates (eg every month on the 10th ).

3.24 DLMS Association View [12-0-1-0]


The DLMS Association View interface class provides information which is specific to the logical_device under the current client-server association. The DLMS Association View object is used only if the established association uses short name references. The short_name of the DLMS Association View object itself is fixed within the COSEM context to 0xFA00 Per client server association there can be at most one association view". Association View Attributes 1 2 3 4 LogicalName object_list res_attribute1 res_attribute2 m/o o o o o o o o o (static) (const) 0..1 Data Type octet-string array Class_id=12, version=0, OwnClassVersion=1 Min Max Def 0000280000FF

Specific Methods 5 6 7 8 9 getlist_by_classid getobj_by_logicalname read_by_logicalname() get_attributes&services() change_LLS_secret()

10 change_HLS_secret() 11 get_HLS_challenge() 12 reply_to_HLS_challenge() 13 res_service2 Proprietary Attributes 14 OwnClassVersion 15 AttrVaaAccList

(static) (static)

unsigned octet-string[15]

Attribute Description object_list Type: array of objlist_element Access: read only

Landis+Gyr AG

Revision Date: 09.09.2009

Page 65 / 190

Class Description

Compiled for P05.H

Contains the list of all objects with their base_names (short_name), class_id, version and LogicalName. The base_name is the DLMS objectName of the first attribute (LogicalName) objlist_type ::= array objlist_element objlist_element ::= structure { base_name: Integer16; class_id: long-unsigned; version: unsigned; LogicalName: octet-string } Note: Within an association, there are never two objects with the same class_id and LogicalName differing only in the versions. Selective access to the attribute buffer may be available (optional). The selective access parameters are as defined below.
access selector 1 2 parameter class_id: long-unsigned structure{ class_id: long-unsigned; LogicalName: octet-string } comment Delivers the subset of the object_list for a specific class_id. For the response: data ::= objlist_type Delivers the entry of the object_list for a specific class_id and LogicalName. For the response: data ::= objlist_element

3.25 Association View LN [15-0-1-0]


The DLMS Association View LN interface class provides information which is specific to the logical_device under the current client-server association. The DLMS Association View LN object is used only if the established association uses logical name references. Association View 0..11 Class_id=15, Version=0, OwnClassVersion=0 Attributes 16 LogicalName 17 object_list 18 associated_partners_id 19 application_context_name 20 xDLMS_context_info 21 authentification_mechanism_ name 22 LLS_secret 23 association_status Specific Methods 24 reply_to_HLS_authentification() 25 change_HLS_secret() 26 add_object() 27 remove_object() Proprietary Attributes 28 OwnClassVersion 29 AttrVaaAccList (static) (const) Data Type octetstring objlist_type Min Max Def Short name
X

x + 0x08 x + 0x10 x + 0x18 x + 0x20 x + 0x28 x + 0x30 x + 0x38

m/o o o o o (static) (static) Unsigned8 octetstring 0

x + 0x60 x + 0x68 x + 0x70 x + 0x78 x + 0x80 x + 0x88

Attribute Description Only LogicalName, OwnClassVersion and AttrVaaAccList attributes are available.

1
Landis+Gyr AG Revision Date: 09.09.2009 Page 66 / 190

Class Description

Compiled for P05.H

3.26 SAP Assignment [17-0-0-0]


Firmware name: Dlm_SAP_SapAssignment The interface class SAP Assignment contains the information on the assignment of the logical devices to their Service Access Points (SAP) (see. Data Link Layer [Ref. 7]). The short_name of the instance of this class itself is fixed within the COSEM context. It is given in Ref. 2 as: 0xFC00 SAP Assignment 0..1 Class_id=17, Version=0, OwnClassVersion=0 Attributes 7 LogicalName 8 SAP_assignment_list 9 res. attr. 1 10 res. attr. 2 Specific Methods 11 ConnectLogicalDevice() Proprietary Attributes 12 NumberOfDevices 13 OwnClassVersion 14 AttrVaaAccList Attribute Description SAP_assignment_list Type: array[2] of asslist_type Contains a list of all logical devices and their SAP addresses within the physical device. Each array element (asslist_type) is organised in a structure as follows:
Byte 1 Byte 2 Bytes 3 to 18

(static) (static)

Data Type octetstring array

Min

Max

Def

m/o o
(dyn) (const) (static)

Unsigned8 Unsigned8 octetstring

SAPaddress

LogicalDeviceName

SAPaddress Type: Unsigned16 Address used in the MAC layer for the logical device whose name is given in the same array element. LogicalDeviceName Type: Octetstring[16] Contains a string used to identify logical device name. This name corresponds to the current value of StringRegisterDLMSDeviceId (see Identification Numbers). This is a unique world-wide address set as LGZ + device production number. Implementation note: This attribute is read only. Modifications of the logical device name may be done by changing the current value of StringRegisterDLMSDeviceId (see Identification Numbers). NumberOfDevices Type: Unsigned8 Defines the number of logical devices addressable within the physical device. The firmware finds out this number automaticaly.

3.27 IEC Set Up [19-0-80-0]


Version of IEC Set Up used for the separation of the IEC and HDLC protocols. It is used in combination with the class ProtocolSelector. This version has some bits in attribute Control for the handling of M-Bus and daisy chained meters. The M-Bus interface is activated by selecting bit M-BusMeter (Nr. 7) of attribute HardwareVariants of class ObjectOfRubbish.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 67 / 190

Class Description

Compiled for P05.H

IEC1107Setup Attributes 1 LogicalName 2 default_mode 3 default_baud 4 prop_baud 5 response_time 6 device_addr 7 pass_p1 8 pass_p2 9 pass_w5 Proprietary Attributes 10 OwnClassVersion 11 Identification 12 AttrVaaAccList 13 BaudrateFollowsIec 14 Control 15 InterCharacterTimeout
(static) (static) (static) (static) (static) (static) (static) (static) (static) (const)

1 Data Type octet-string enum enum enum enum octetstring octetstring octetstring octetstring Unsigned8 octetstring octetstring Boolean Unsigned8 Unsigned8

Class_id=19, Version=0, OwnClassVersion=80 Min Max Def 000x14000xFF

80

(static) (static) (static) (static) (static)

0 15

Attribute Description default_mode Type: enum Defines the protocol proposed by the meter according to IEC 62056-21 (3rd release of old IEC 61107)
(0) (1) IEC (7bit, even) HDLC (8bit, none)

default_baud Type: enum Defines the baud rate for the opening sequence
(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) 300 baud 600 baud 1200 baud 2400 baud 4800 baud 9600 baud 19200 baud 38400 baud 57600 baud 115200 baud

prop_baud Type: enum Defines the baud rate to be proposed by the meter (also called MaxBaud)
(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) 300 baud 600 baud 1200 baud 2400 baud 4800 baud 9600 baud 19200 baud 38400 baud 57600 baud 115200 baud

response_time Type: enum Defines the minimum time between the reception of a request and the transmission of the response
(0) (1) 20 msec 200 msec

device_addr Type: octetstring [32] It stores the IEC device address of the meter. Used at IEC communication opening. The contents of this register is the same as that of attribute CurrentValue in class StringRegisterIECDeviceAddress. pass_p1
Landis+Gyr AG

Type: octetstring [9]


Revision Date: 09.09.2009 Page 68 / 190

Class Description

Compiled for P05.H

Password 1 according to IEC. The string can only use ASCII characters 0..9 and A..F. Implementation note: pass_1 according to IEC is mapped directly into attribute Password of the second instance of VaaDefinition, i.e. object VaaDefinition2 (see VAA Definition) pass_p2 Type: octetstring [8] Password 2 according to IEC. The string can only use ASCII characters 0..9 and A..F. Implementation note: pass_1 according to IEC is mapped directly into attribute Password of the third instance of VaaDefinition, i.e. object VaaDefinition3 (see VAA Definition) pass_w5 Type: octetstring [8] Password W5 according to VDEW needed for load profile reading. Identification Type: octetstring [20] String used as device identification during the initialisation of a communication session. The string must be 0x00 terminated. BaudrateFollowsIec Type: Boolean Used to select the way in which the baudrate is traded between client and server while opening an IEC association. When set to FALSE, the baudrate selected for the communication is the smallest of the proposed by either the client or the server (as handled by the ZMB family). When set to TRUE, the baudrate selected for the communication remains at 300 if the proposed baudrates from client and server are different (as specified by IEC). Control Type: Unsigned8 This one byte parameter is used to control the identification message that is used at the IEC opening. It is coded bitwise as follows:
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

IEC- address

9-bit-modus

8-bit-modus

NoHeaderBetweenBlocks X

ID2.1

ID1.2

ID1.1

VdewId

VdewId: Selects the type of identification used. If this bit is set to 1the VDEW identification is used; if it is set to 0 the
standard identification is used. ID1.1, ID1.2 , ID2.1: slects the source of the message used with VDEW identification (when bit VdewId is set to 1). As default ID1.1 is selected. If the string used is shorter than 8 bytes, spaces will be filled in before the message. X: not used.

Format of VDEW identification: \@.VVVNNNNNNNN


Where: \@ is fixed for VDEW VVV. is the Software version (e.g. B09.) NNNNNNNN is either the same number as in ID1.1 (e.g. owner identification), ID1.2 or ID2.1 (e.g. serial number) the numbers are always aligned to the right, missing characters are filled with spaces. (e.g. NWS1234) example of a complete identification message: /LGZ4\2\@B09._NWS1234CRLF

8-bit-modus*

9-bit-modus*

IEC- address

The 8-bit-modus is used for M-Bus applications. When this bit is 1, the M-Bus physical layer uses 8 bits of data without any soft-parity (total 10 bits with start and stop bits). When this bit is 0 then soft-parity is used and thus 9 bit modus apply (see next bit). The 9-bit-modus is used for M-Bus applications. In 9 bit modus the data field uses 7 bits for data and one for soft-parity when IEC protocol is used. The 9-bit-modus bit is used to select the mode of the soft-parity: when the bit is 0 then softparity is used; when this bit is set to 1, the soft-parity bit is always set to 0 in 9 bit modus. When HDLC/DLMS protocol is used, all 8 bits of the data field are used for data (no soft-parity). Selects the IEC openning: if the bit is = 0 it is done without addressing; if it is = 1 the IEC address is required.

NoHeaderBetweenBlocks: Defines if headers are used between blocks in R6 commands. If this bit is set to 0 headers are

used at the start of each new block and CRLF is set before EOT (as implemented in firmware versions <= B22); if set to 1, functionality as specified in IEC62056-21 (no headres,
no CRLF before EOT)

Landis+Gyr AG

Revision Date: 09.09.2009

Page 69 / 190

Class Description

Compiled for P05.H

* Notes concerning M-Bus operation: 1) The M-Bus interface is activated by selecting bit M-BusMeter (Nr. 7) of attribute HardwareVariants of class ObjectOfRubbish. 2) There is no M-Bus Protocol implemented. Instead, IEC and HDLC / DLMS run with the M-Bus interface. 3) If soft-parity is used, then the bit 8-bit-modus must be set to 0 4) With M-Bus, it is possible to select auto protocol detection, but not autobaud detection. If the auto protocol detection has been chosen, the baudrate is fixed (9600 bauds by default). If the auto protocol detection has not been chosen, then the starting baudrate in IEC mode is 300 bauds and can be switched with the max baudrate. The baudrate in HDLC/DLMS mode is fix (9600 bauds by default). InterCharacterTimeout Type: Unsigned8 This parameter is used to select the time between two characters in a character sequence. It is set in 100ms steps (e.g. InterCharacterTimeout = 1 corresponds to a delay of 100ms). According to the IEC standard this time shall be < 1500 ms.

3.28 Activity Calendar [20-0-81-0]


The activity calendar class is typically used to handle different tariffication structures. It is a definition of scheduled actions inside the meter, which follows the classical way of calendar based schedules. It can coexist with the more general COSEM class schedule and can even overlap with it (not used in this application). The activity calendar defines the activation of certain scripts (see COSEM class [id:9] Script Table), which can perform different activities inside the meter. Implementation : No real scripts are implemented. Instead, the state of the 16 signals TOU1..TOU16 in Tariff Application are set. This class has two calendar tables which are marked with the suffix _active and _passive. Their attributes are identical and therefore they are described only once in this document. After a power failure, the TOU signals must be set to the current state as required by the calendar. There is no need to run over all states that were due during the power failure. The activity calendar allows references for special days as defined in Special Days Table. Activity Calendar 0..1 Class_id=20, Version=0, OwnClassVersion=81 Attributes 1 LogicalName 2 Calendar_name_active 3 Season_profile_active 4 Week_profile_table_active 5 Day_profile_table_active 6 Calendar_name_passive 7 Season_profile_passive 8 Week_profile_table_passive 9 Day_profile_table_passive 10 PassiveCalendarActivationDate Specific Method(s) 11 activate_passive_calendar () Proprietary Attributes 12 OwnClassVersion 13 IdString 14 AttrVaaAccList 15 EmergencyScript 16 MaxNbOfSeasons 17 MaxNbOfDayTables 18 MaxNbOfEntriesInDayTable Attribute Description The attributes with the suffix _active are those which are normally used when the meter is in operation; attributes with the suffix _passive will be used after they are activated. Activation occurs when the current date equals or exceeds the commuting date (PassiveCalendarActivationDate).
Landis+Gyr AG Revision Date: 09.09.2009 Page 70 / 190

(static) (static) (static) (static) (static) (static) (static) (static) (static) (static)

Data Type octetstring octetstring array array array octetstring array array array UTC

Min

Max

Def

m/o

(const) (static) (static) (static) (static) (static) (static)

Unsigned8 octetstring octetstring Struct Unsigned8 Unsigned8 Unsigned8

81

Class Description

Compiled for P05.H

Calendar_name Type: octetstring[8] Typically contains an identifier, which is descriptive to the set of scripts which are activated by the object. This attribute is used by the firmware only for display and readout. If the activity calendar is included in the readout or display list, the active calendar_name will be displayed (also known as TOU id).

Season_profile Type: Array of Season Contains a list (array) defining seasons, classified by their starting dates. The maximum number of season profiles is defined in attribute MaxNbOfSeasons. Each season has a reference to a table of weekly profiles. The season_profile list is sorted according to season_start: earlier dates come first. With this attribute, a calendar year is subdivided in seasons which differ by the week_profile they activate. Each element of the season_profile array is structured as follows:
Byte 1 Bytes 2 Byte 13 Byte14

season_profile_name

season_start

week_name

season_profile_name Type: octetstring[1] A octetstring containing a user defined name for identifying the current season_profile. This attribute is not used by the firmware. Implementation note: The name is restricted to 1 octet. The effective naming shall be resolved by another general mechanism applicable to all names assigned by the user to help identify the meaning of the objects. season_start Type: UTC Defines the date in UTC format when a season starts. The end of a season is given by the start of the next season. Implementation note: From the UTC data type only month and day are considered; the other elements are ignored by the firmware, and are read back as undefined (usually coded as 0xFF according to COSEM). Wild cards are not allowed for day and month. UTC: octet-string { year highbyte, year lowbyte, month, day of month, day of week, hour, minute, second, hundredths, deviation, clock status }
Attribute year: month: dayOfMonth: dayOfWeek: hour: minute: second: hundredths: deviation clock status: Type Unsigned16 Unsigned8 Unsigned8 Unsigned8 Unsigned8 Unsigned8 Unsigned8 Unsigned8 Integer16 Unsigned8 Range 0..big, FFFF 0x0C (1..12) 0x1F (1..31) 0x07 (1..7) 0..23, 0xFF 0..59, 0xFF 0..59, 0xFF 0..99, 0xFF -720 .. +720, 0x8000 Coding / Remarks not used. Read as 0xFFFF 1 is January. Wild cards not allowed Wild cards not allowed not used. Read as 0xFF not used. Read as 0xFF not used. Read as 0xFF not used. Read as 0xFF not used. Read as 0xFF not used. Read as 0x8000 not used. Read as 0xFF

Shaded fileds are ignored by the firmware, and are read back as undefined.

week_name

Type: octetstring[1]

Used to set a reference to the corresponding week_profile selected for the present season. The name chosen must correspond to one given in week_profile_name of attribute week_profile_table. Implementation note: The name is restricted to 1 octet. The effective naming shall be resolved by another general mechanism applicable to all names assigned by the user to help identify the meaning of the objects.

Week_profile_table Type: Array of Week_profile Contains an array holding the day_id for every day of the week that are used for different seasons. The maximum number of week profiles is defined in attribute MaxNbOfSeasons. A day_id references an entry in the day_profile_table. Each array element of week_profile_table is structured as follows: For Gregorian calendar
Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8

Landis+Gyr AG

Revision Date: 09.09.2009

Page 71 / 190

Class Description

Compiled for P05.H

week_profile_name For Persian calendar


Byte 1

monday

tuesday

wednesday

thursday

friday

saturday

sunday

Byte 2

Byte 3

Byte 4

Byte 5

week_profile_name

saturday

sunday

monday

tuesday

Byte 6 wednesday

Byte 7

thursday

Byte 8 friday

Week_profile_name Type: octetstring [1] Is a user defined name identifying the week profile and is used as link to the attribute season profile (week_name). Monday .. Sunday Type: Unsigned8 Contains a reference (day_id) to the day_profile (of the day_profile_table attribute) valid for the specified day of the week (Monday .. Sunday);

Day_profile_table Type: Array of Day_profile_table Contains a list, arranged as an array, of day profiles with their corresponding identifiers. The maximum number of day profiles is defined in attribute MaxNbOfDayTables. The list is organized as follows:
1st array element 2nd array element nth array element

day_profile_table

day_id

1 day_profile

st

day_id

2 day_profile

nd

day_id

nth day_profile

day_id: Type: Unsigned8 Is a user defined byte identifying the corresponding day_profile and is used as a reference in the attribute week_profile_table. day_profile: Type: array of day_profile_action Each day profile has a list of scripts and the corresponding activation times. The maximum number of day profile action is defined in attribute MaxNbOfEntriesInDayTable. Within each day_profile the list is sorted according to start_time. Implementation note: The first entry must start with start_time 00:00.
octetstring [4] octetstring [6] Unsigned16

day_profile
1st byte

start_time

Script_logical_name

Script_selector
last byte

start_time: Type: time Specifies the time of day when scripts are executed. Time is an octet string whose format is defined by the COSEM time type [Ref. 2]. The internal resolution of the schedule is the minute, thus the seconds and hundredths are ignored and set to 00 (i.e. writing to these fields is disregarded and the values are read as 00). It is coded as follows: octet-string {hour, minute, second, hundredths}
Attribute hour: minute: second: hundredths: Type Unsigned8 Unsigned8 Unsigned8 Unsigned8 Range 0..23 0..59 Not used. Read as 00 Not used. Read as 00

Entries have to be sorted by their time of occurrence: earlier entries first. The start time of the first entry of each day profile must always be 00:00. script_logical_name: octetstring [6] The script_logical_name is used as reference to select the desired script table from the Script Table class (not included in the present version of this document). Implementation note: No real scripts are implemented in the firmware. Instead, the state of the 16 signals TOU1..TOU16 in Tariff Application is set using the script_selector below. The script_logical_name for all

Landis+Gyr AG

Revision Date: 09.09.2009

Page 72 / 190

Class Description

Compiled for P05.H

day_profiles is always the same and is set (fixed) to: 00 00 0A 00 64 FF. The firmware ignores the contents of the script_logical_name. Its value must be parameterised in the production to that value.
octetstring [6]

script_logical_name

00 00 0A 00 64 FF
1st byte last byte

script_selector: Unsigned16 Used to define the script identifier of the script to be executed. Implementation note: As no real scripts are implemented, script_selector is used to define the state of the 16 signals TOU1..TOU16 in Tariff Application. Definition of the bits :
Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

TOU16 TOU15 TOU14 TOU13 TOU12 TOU11 TOU10 TOU9 TOU8 TOU7 TOU6 TOU5 TOU4 TOU3 TOU2 TOU1

PassiveCalendarActivationDate Type: UTC Defines the time when the object itself activates the passive calendar. Implementation notes: COSEM defines the switching from passive to active by copying the values of all attributes with suffix _passive to the attributes with suffix _active. The firmware does not do the described copy process due to the large amount of EEPROM data involved. Instead, it only switches pointers from passive to active and vice versa. Because of this, the behaviour is not exactly the same but fulfills the requirement. From the UTC data type only year, month and day are evaluated by the firmware; all other elements (DayOfWeek, hour, minute, second, hundredths, deviation and clock_status) are ignored. the method activate_passive_calendar(data) which is normally used to activate the passive calendar will not be implemented. Immediate activation can be achieved by setting the value of PassiveCalendarActivationDate to a date in the past. The firmware has a mechanism to internally avoid unwanted switching from passive to active. This mechanism is implemented with a flag that defines whether the attribute PassiveCalendarActivationDate is enabled. When the flag is set and the date equals the value of active_passive_calender_time then the passive values will become the active values and the flag is cleared. The following rules apply to control the flag:
The flag will be cleared on writing to any attribute with suffix _passive. The flag will be cleared after activating the passive values. The flag will be cleared after writing a value with the "not specified" notation (0xFF) in any of the considered UTC fields of active_passive_calender_time. The flag will be set after writing a valid value to active_passive_calendar_time (valid means without not specified in the considered UTC fields). If setting a new passive calendar, this attribute hence must be written last.

When the flag is set, the firmware compares active_passive_calender_time against the system time on the following

cases:
after a day overflow (every day at 00:00) after a power up after writing a valid value to active_passive_calendar_time. after a change of date/time

If the current date equals or exceeds the value of active_passive_calender_time, then the passive values will become the active values (and the flag will be cleared). After activating a passive calendar, all _passive attributes will be set with old _active attributes, and the PassiveCalendarActivationDate will return all octets as undefined (mostly 0xFF; see UTC definition in season_start above).

Landis+Gyr AG

Revision Date: 09.09.2009

Page 73 / 190

Class Description

Compiled for P05.H

EmergencyScript Type: struct EmergencyScript is used to define the script which is executed in case that the internal clock is not operating (e.g. due to lost of power of the clock system), or if there is an invalid entry in the activity calendar. Once the problem ceases, the scripts are executed from the corresponding day_profile. EmergencyScript contains the logical name of the script and the script to be executed. This information is organized in a struct with two elements: Script_logical_name and Script_selector.
octetstring [6] Unsigned16

Script_logical_name

Script_selector

script_logical_name: octetstring [6] The script_logical_name is used as reference to select the desired script table from the Script Table class (not included in the present version of this document). Implementation note: No real scripts are implemented in the software. Instead, the state of the 16 signals TOU1..TOU16 in Tariff Application is set using the script_selector below. The script_logical_name is equal to that of day_profiles and is always the same, set (fixed) to: 00 00 0A 00 64 FF. The firmware ignores the contents of the script_logical_name. Its value must be parameterised in the production to that value.
octetstring [6]

script_logical_name

00 00 0A 00 64 FF
1st byte last byte

script_selector: Unsigned16 Used to define the script identifier of the script to be executed. Implementation note: As no real scripts are implemented, script_selector is used to define the state of the 16 signals TOU1..TOU16 in Tariff Application. Definition of the bits :
Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

TOU16 TOU15 TOU14 TOU13 TOU12 TOU11 TOU10 TOU9 TOU8 TOU7 TOU6 TOU5 TOU4 TOU3 TOU2 TOU1

MaxNbOfSeasons Type: Unsigned8 Contains the maximal number of season profiles you can have in the calendar. This attribute will be written in production mode and never changed after. It can only be read. It is used when you download new season profiles and new week profiles to control the consistency of data.

MaxNbOfDayTables Type: Unsigned8 Contains the maximal number of day profiles you can have in the calendar. This attribute will be written in production mode and never changed after. It can only be read. It is used when you download new day profiles to control the consistency of data.

MaxNbOfEntriesInDayTable Type: Unsigned8 Contains the maximal number of day profile actions in a day table you can have in the calendar. This attribute will be written in production mode and never changed after. It can only be read. It is used when you download new day profiles to control the consistency of data.

3.29 Monitor Register [21-0-81-0]


This class is used to monitor diagnostic values (such as voltages, currents, power, etc.) demand values or counter values and initiate actions in case the monitored value exceeds or underlies a selected threshold. The class allows to monitor one input value against one threshold. The values are monitored (sampled) and compared once a second. A timing function, which consists in waiting a number of overflows or underflows of the monitored value
Landis+Gyr AG Revision Date: 09.09.2009 Page 74 / 190

Class Description

Compiled for P05.H

before the alert is set or reset, allows to provide a hysteresis effect. Each monitor register has an event counter that counts the number of alerts. When an alert is set, its time stamp is registered and up to four actions can be taken (depending on the selections): its event counter is increased, an event bit is set, an error bit is set and a matrix signal is activated. The monitor function can be activated or deactivated. In the latter case, the outputs of the register are reset. Monitor Register 0..n class_id=21, version=0, OwnClassVersion=81 Attributes Logical_name Thresholds monitored_value actions Specific Methods Proprietary Attributes OwnClassVersion IdString AttrVaaAccList NbOfSamples ControlStatusFlags CaptureTime MatrixInputSelectio n EventNumberSelec tion ErrorNumberSelecti on Attribute Description Thresholds Type: Array [1] of Integer32 This attribute allows to select the threshold values (actualy only 1), which are used as comparison levels. Its value (unit and scale) depends on the nature of the selected source (e.g. if the monitored value is a voltage, the threshold value shall be given in volts). Energy and demand values are referenced to their primary values (on the high voltage side of the transformer) and are scaled with 216 ; i.e. the two lower bytes are used as fractional places (post-point) and the upper bytes as integer part (pre-point) (also see the format used for the current value of Energy and demand registers). Voltage and current values are referenced to the secondary ones. The same apply for angles. Its format is the following:
Higher bytes Lower bytes

(static) (static) (static) (static) m/o (const) (static)

Data Type octetstring array Valuedefinition Array

Min

Max

Def

(static) (static) (mixed) (dynamic) (static) (static) (static)

Unsigned8 octetstring octetstring Unsigned16 Unsigned8 UTC Unsigned8 Unsigned8 Unsigned8

3600

Unsigned16
Pre-point Decimal point

Unsigned16
post-point

This value is displayed (or readout) using the object MonitorThresholdDisplayRegister. After writing the threshold, the monitor register is inactive until the next power up. See also the bit CalculateThreshold of attribute ContorlStatusFlags below. Monitored_value Type: Value_definition This attribute is used to select the value that is monitored. The monitored value is referenced by the following items (Value_definition): class_id: long-unsigned; LogicalName: octet-string; attribute_index: integer; Implementation note: internally (in the code) the Value_definition uses the virtual name instead of the logical name and the class_id, but at interface level (DLMS communication or preprocessing for production with the DLMS converter) the logical names and the class_ids are used.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 75 / 190

Class Description

Compiled for P05.H

actions Type: Array [1] of action_set This attribute is used to select the type of actions that will be taken in case the monitored value exceeds or underlies the corresponding Threshold. The actions are specified using scripts with the following structure: action_set : structure{ action_up : action_item action_down : action_item } action_item : Contains reference information of the script to be executed. A script can be referenced through the logical name of the script table and the script selector. This information is organised as a struct: action_item : Struct {Script_logical_name Script_selector
octetstring

octetstring Unsigned16 }
Unsigned16

Script_logical_name

Script_selector

The scripts that can be supported by this class are provided in the Script Table class (not included in the present version of this document). For this class the Set Alert script is selected for action_up and Reset Alert for action_down. The following table shows the scripts with reference to their Script_logical_name and Script_selector. Script
Set Alert Reset Alert

Description
Set Alert command Reset Alert command

Script_logical_name
00 00 0A 01 01 FF 00 00 0A 01 01 FF 1 2

Script_selector

Implementation note: the scripts of all instances of this class in FOX are always set to: Set Alert / Reset Alert as shown above. The present implementation do not even check fields of Executed_script. This means that Set Alert / Reset Alert will be performed indenpendently of which scripts are set. Executed_script shall be set as read only for IEC or DLMS communications. Its value is read as shown above. (Must be parameterised in the production to that value). NbOfSamples Type: Unsigned16 This attribute defines the seconds of overflows or underflows that the monitored value must have in order to set or reset the alert. A value of 0 is not allowed. Implementation note: The seconds are direct related with the update of the registers in the measurement system base. ControlStatusFlags Type: Unsigned8 This attribute contains information over the status of the monitor register and also is used to control some of its properties. It is coded on a bit basis as follows:
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

Polarity Active:

CalculateThreshold

AlertStatus

Active

Set by the firmware. When set to 1 the register is active, i.e. it monitors the selected value and can set or reset the alarm; otherwise it does not monitor the input value. In order to activate a monitor register it is necessary to select it in the class Tariff Aplication attribute OutputAssignment (see Tariff Application). Use the bytes labelled Alert1 (MonitorReg1) .. Alert24 (MonitorReg24). AlertStatus: Set by the firmware. Shows the state of the output. When AlertStatus is 1 the alarm is set; when 0 is reset. CalculateThreshold: Behaviour with DLMS: Set by the firmware. When set to 1, the Threshold is in the meters memory in the DLMS format and has to be scaled by the firmware before using. This is done on the next power up. If this bit is set, the monitor is inactive. Implementation note: For production (with unformatted IEC): this bit must be set by the client in order that the firmware calculates the appropriated scaling on the first power up. Thereafter (when the security system is closed) its behaviour is as described above. Polarity: Defines whether the comparators output shall become active if the monitored value is larger than the threshold (detection of overshoot, polarity = 1) or if it shall become active when the monitored value

Landis+Gyr AG

Revision Date: 09.09.2009

Page 76 / 190

Class Description

Compiled for P05.H

is smaller than the threshold (detection of undershoot, polarity = 0). Therefore with this flag it is defined how the supervised value must exceed the thresholds. This bit is used by the Threshold. CaptureTime Type: UTC Attribute written by the firmware containing date and time when the last alert occurred. MatrixInputSelection Type: Unsigned8 This attribute contains a reference to an input of the matrix which can be affected by this class. When an alert occurs the selected input of the matrix will be set; this input will be reset when the alert ceases. The following list shows the input signal numbers of the matrix inputs that can be affected by this class. When no matrix input is used MatrixInputSelection must be set to 125 (not used). Please refer the Matrix class -> Tariff Application. This class is used together with [10002 0 80 0. Variouse input signals can be used. EventNumberSelection Type: Unsigned8 This attribute contains a reference to an event bit which can be affected by this class. When an alert occurs the selected event bit will be set; the event bit be reset when the alert ceases. ?? The following list shows the event bit numbers that can be affected by this class. When no marking of an event bit is desired, EventNrSelection must be set to 0 (no event used). For the actual events that can be triggered, please se in VSS ESW Detailed Description of Events and Alarms.doc. ErrorNumberSelection Type: Unsigned8 This attribute contains a reference to an error bit which can be affected by this class. When an alert occurs the selected error bit will be set; the error bit is never reset by this class. The following list shows the error bit numbers that can be affected by this class. When no marking of an error bit is desired, ErrorNrSelection must be set to 0 (no error used). For the actual errors that can be triggered, please se in VSS ESW Detailed Description of Events and Alarms.doc.

3.30 Single Action Schedule [22-0-81-0]


Firmware name: ResetActionScheduler This class allows executing a single action such as a periodic reset without need to have a complete activity calendar or schedule. 1 Class_id = 22, version = 0, OwnClassVersion=81 Single Action Schedule Attributes 1 LogicalName 2 ExecutedScript 3 CosemSasType 4 ExecutionTimeDates Specific Methods Proprietary Attributes 5 OwnClassVersion 6 AttrVaaAccList 7 ExecutionFlags
(static) (static) (static) (static)

Data Type octetstring Script_name enum array

Min

Max

Def
00 00 0F 00 00 FF

m/o
(const) (static) (static)

Unsigned8 octetstring Octeststring

80

Attribute Description
ExecutedScript Type: script_name Contains reference information of the script to be executed. A script can be referenced through the logical name of the script table and the script selector. This information is organized as a structure: Struct { Script_logical_name octetstring Script_selector Unsigned16 }
octetstring Unsigned16

Script_logical_name

Script_selector

Landis+Gyr AG

Revision Date: 09.09.2009

Page 77 / 190

Class Description

Compiled for P05.H

The scripts that can be supported by this class are provided in the Script Table class (not included in the present version of this document). For the current implementation only the reset /cumulation command for meter is expected. The following table shows the script with reference to its Script_logical_name and Script_selector. Script
MDI reset / cumulation

Description
Cumulation command

Script_logical_name
00 00 0A 00 01 FF

Script_selector
1

Implementation note: There is only one instance of this class in the meter and its script is always set to: MDI reset / cumulation as shown above. The present implementation do not even check fields of Executed_script. This means that MDI reset / cumulation will be performed independently of which script is set. Executed_script shall be set as read only for IEC or DLMS communications. Its value is read as shown above. (Must be parameterized in the production to that value).

CosemSasType Type: enumerated Defines the possible coding used for the ExecutionTimeDates attribute. The different possibilities are listed below:
1: 2: 3: 4: 5: size of execution_dates =1; wildcard in date allowed size of execution_dates =n; all time values are the same; wildcards in date not allowed size of execution_dates =n; all time values are the same; wildcards in date are allowed size of execution_dates =n; time values may be different; wildcards in date not allowed size of execution_dates =n; time values may be different; wildcards in date are allowed

Implementation note: the enum values 1 to 3 (or even 0) are treated the same way as 3. Anything greater than 4 is handled the same way as 5.

ExecutionTimeDates Type: Array [18] of {time,date} Array containing information on the time and date when the scripts are executed. The number of used entries in the array is one if the attribute schedule_type is set to 1, otherwise is n (Implementation note: The present implementation is limited to 18 entries). Each array element is organized as a structure of two values: time and date.
1st array element 2nd array element nth array element

ExecutionTime Dates

1 time

st

1 date

st

2 time

nd

2 date

nd

last time

last date

If the attribute CosemSasType is set to 4 or 5, (time values may be different) the values of the times are applied to the corresponding dates (i.e. in the same array element). If the attribute CosemSasType is set to 1, 2 or 3 (all time values are the same) only the 1st time is used as reference and all others are ignored. time Specifies the time of day when scripts are executed. Time is an octet string whose format is defined by the COSEM time type [Ref. 2]. The resolution of the schedule internally is minutes, thus the seconds and hundredths are ignored and set to 00 (i.e. writing to these fields is disregarded and the values are read as 00). It is coded as follows: octet-string {hour, minute, second, hundredths}
Attribute hour: minute: second: hundredths: Type Unsigned8 Unsigned8 Unsigned8 Unsigned8 Range 0..23 0..59 Not used. Read as 00 Not used. Read as 00

date Specifies the dates when the scripts have to be executed. Dates are octet strings whose format is defined by the COSEM date type [Ref. 2]. Depending on the selection of the attribute schedule_type, dates support wild cards for selecting generalized dates such as every day. octetstring{ year highbyte, year lowbyte, month, day of month, day of week }
Landis+Gyr AG Revision Date: 09.09.2009 Page 78 / 190

Class Description

Compiled for P05.H

Attribute year: month:

Type Unsigned16 Unsigned8

Range 0..big 1..12, 0xFD,0xFE,0xFF

dayOfMonth:

Unsigned8

1..31, 0xFD, 0xFE, 0xFF

dayOfWeek:

Unsigned8

1..7, 0xFF

Coding 0xFFFF = every year 1 is January 0xFD= daylight_savings_end 0xFE= daylight_savings_begin 0xFF = every month 0xFD = 2nd last day of month 0xFE = last day of month 0xFF = every day For Gregorian calendar 1 is Monday 2 is Tuesday 3 is Wednesday 4 is Thursday 5 is Friday 6 is Saturday 7 is Sunday For Persian calendar 1 is Saturday 2 is Sunday 3 is Monday 4 is Tuesday 5 is Wednesday 6 is Thursday 7 is Friday 0xFF = not specified

Unused dates must be marked by setting year, month, dayOfMonth and dayOfWeek to zero and shall occupy the last elements of the array; i.e. the array is filled up sequencially starting by the 1st array element. Special coding for seasonal schedules (Siemens Metering internal) In order to use the same elements to code seasonal schedules, the following conditions are established: There are at most 12 seasons. Seasonal schedules, when present, always use the last 12 array elements. If no seasonal schedules are present then the last 12 array elements may be used for regular schedules as above. It is not possible to have both regular schedules and seasonal schedules together.

Season related IEC formatted commands act only upon existing seasonal schedules; i.e. existing regular schedules can not be modified by season IEC formatted commands. Changing regular schedules into seasonal ones and vice-versa can be done via DLMS or unformatted IEC. Seasons are identified by setting the value of the year to 0x0000 and the value of month to 0x80. All 6 array elements must be marked if seasonal schedules are chosen. The season number is given by the order in which the seasons are placed in the array; i.e. the first season is placed as first entry, the second season is placed as second, and so on. In case that less than 12 seasons are used, the unused seasons must be at the end of the array (no gaps between used season entries allowed). The season length is coded using the day of the month: DayOfMonth = season length. e.g. 61 days are coded as DayOfMonth = 0x3D Unused seasons are marked by setting its length to 0 days. (i.e. DayOfMonth = 0x00) Example: seasonal schedules for an array of 12 elements and a requirement of 3 seasons. As there are 12 array elements, the 12th last element (first of the array) is used for the first season. The year of all elements is set to 0000h and the month to 80h. The first three entries are used for the seasons. The order of the seasons corresponds to the order of the entries. The DayOfMonth of the first three entries corresponds with the desired season lengths. The DayOfMonth of all unused elements is set to 0.
(all values in hex.)

Landis+Gyr AG

Revision Date: 09.09.2009

Page 79 / 190

Class Description

Compiled for P05.H

Year 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

Month 80 80 80 80 80 80 80 80 80 80 80 80

Day of month 79 7A 7A 00 00 00 00 00 00 00 00 00

Day of week FF FF FF xx xx xx xx xx xx xx xx xx

Explanation

Season1 length of 121 days Season2 length of 122 days Season3 length of 122 days Not used Not used Not used Not used Not used Not used Not used Not used Not used

ExecutionFlags Type: Octetstring [18] of Unsigned8 Array containing information about the script behavior for each time and date entry of the ExecutionTimeDate attribute. (Implementation note: The present implementation is limited to 18 entries). Each array element is organized as a Unsigned8 with several flags.:
1st array element 2nd array element nth array element

ExecutionFlags

ExecutionFlag

ExecutionFlag

ExecutionFlag

ExecutionFlag
Bit 7 Not used Bit 6 Not used Bit 5 Not used Bit 4 Not used Bit 3 Not used Bit 2 Not used Bit 1 Not used Bit 0 NoDema ndReset

Bit0: Bit1-7::

NoDemandReset: Do not perform a demand reset at the corresponding ExecutionTimeDate entry. Not used:

3.31 HDLC Setup [23-0-1-0]


This class describes the settings required for hdlc communication. It is used in combination with the class ProtocolSelector.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 80 / 190

Class Description

Compiled for P05.H

HDLCSetupData Attributes 1 2 3 4 5 6 7 8 9 LogicalName comm_speed transmit_window_size receive_window_size transmit_max_info_length receive_max_info_length inter_char_time_out inactivity_time_out device_address
(static) (static) (static) (static) (static) (static) (static) (static) (static)

1..n Data Type octetstring enum unsigned unsigned unsigned unsigned long-unsigned long-unsigned long-unsigned

Class_id=23, version=0, OwnClassVersion=1 Min Max Def 00bb0F0000FF bb=channel number 0 1 1 32 62 20 0 0x10 8 1 1 128 62 1000 255 0x3FFD 3 1 1 128 62 30 120

Specific Methods Proprietary Attributes 10 OwnClassVersion 11 AttrVaaAccList 12 ResponseTime

m/o

(const) (static) (static)

unsigned octetstring 0 255

1 10

Attribute Description
comm_speed Type: enum Defines the baud rate used for the communication.
0 1 2 3 4 5 6 7 8 9 300 baud 600 baud 1200 baud 2400 baud 4800 baud 9600 baud 19200 baud 38400 baud 57600 baud 115200 baud

transmit_window_size Type: unsigned Defines the value proposed by the server (meter) to negotiate the window size (maximum number of hdlc frames that a device can transmit before it meeds to recive an ackmowledtement from the correstponding station). It is defined by COSEM as min = 1 and max = 7. Implementation Note: Not supported neither by the meter nor the CU. It is always set to one and is not negotiated during the establishment of a connection. receive_window_size Type: unsigned Same definition and remarks as transmit_window_size above. transmit_ max_info_length Type: unsigned Defines the value proposed by the server (meter) to negotiate the transmit_max_info_length (number of bytes that the server can transmit in a single pdu as information field). It is defined by COSEM as a value between 1 and 248. Note: This value 248 is restricted by this class: 256 (unsigned) 8 hdlc framing bytes = 248 Implementation note: The meter and CU have a minimum of 62 bytes; i.e. they do not negotiate this parameter below 62 bytes. A value of 0 is interpreted as maximum value allowed (i.e. 248)

Landis+Gyr AG

Revision Date: 09.09.2009

Page 81 / 190

Class Description

Compiled for P05.H

receive_window_size Type: unsigned Same definition and remarks as transmit_max_info_length. inter_char_time_out Type: long-unsigned Defines the maximum time (expressed in ms) over which, when any character is received from the primary station, the device will treat the already received data as a complete frame. inactivity_time_out Type: long-unsigned Defines the maximum time (expressed in seconds) over which, when any frame is received from the primary station, the device will process a disconnection. device_address Type: long-unsigned Defines the COSEM physical device address, also known as the lower HDLC Address. This attribute is also accessible through the current value of object HdlcDestinationLowerMacAddress. This address is usually coded as: 1000 + least four digits of the meter number (in hexadecimal). Example: meter number 74 403 163, then device_address = 1000+3163 = 4163 = 0x1043. Implementation note: This attribute is physically stored in the current value of object HdlcDestinationLowerMacAddress. This is done because there may be many instances of HdlcSetUp having the same device address in a meter. ResponseTime Type: unsigned Defines the delay which is waited before a pdu is sent. The delay is given in miliseconds. A value of 0 deactivates the delay, i.e. the device responds as fast as it can.

3.32 Modem configuration [27-0-81-0]


Firmware Name: ModemControlData This object is used to control internal as well as external modems. Modems can be PSTN or GSM with TTL- or RS232- Interfaces. Modem configuration 0..1 Class_id=27, version=0, OwnClassVersion=81 Attributes 1 2 3 4 LogicalName comm_speed Initialisation_string Modem_profile
(static) (static) (static) (static)

Data Type octetstring enum array[10] array[17]

Min 0

Max 9

Def
00 00 02 00 00 FF

Specific Methods Proprietary Attributes 5 6 7 8 9 OwnClassVersion DTRLine CTSLine InitialisationDelay MaxConnectTime

m/o
(const) (static) (static)

unsigned8 boolean boolean unsigned8 unsigned8 unsigned8 boolean structure array[3] octetstring[10] array[17] 0 0 0 255 255 255

80 TRUE TRUE 2 60 0 FALSE

10 IdleTimeout 11 CallIdentOn 12 GSMCode 13 PinProfile 14 DialPrefix 15 Modem_profile_1 16 AttrVaaAccLis 17 ModemResetPeriod


(static)

"ATDT"

octetstring[17] unsigned 8 0 255 24

Landis+Gyr AG

Revision Date: 09.09.2009

Page 82 / 190

Class Description

Compiled for P05.H

18 DSRLine 19 CheckModem_string 20 ExternalDevice

(static)

boolean array[10] Unsigned8

TRUE

Attribute Description
comm_speed Type: enum Defines the baud rate used for the communication between the device and the modem, not necessarily the communication speed on the WAN.
ENUM 0 1 2 3 4 5 6 7 8 9 Speed 300 baud 600 baud 1200 baud 2400 baud 4800 baud 9600 baud 19200 baud 38400 baud 57600 baud 115200 baud

initialisation_string Type: array[10] This data contains all the necessary initialisation commands to be sent to the modem in order to configure it properly. This may include the configuration of special modem features. This attribute is organised as an array of 10 elements. Each element has two fields: request and response.
1st array element 2nd array element 10th array element

Initialisation_string

request

response

request

response

request

response

initialisation_string ::= array initialisation_string_element::=structure { request: octet-string, response: octet-string } request: contains an octectstring [max. length 38] with the characters (Hayes commands) that are sent to the modem. response: contains an octectstring [max. length 10] with the characters (Hayes commands) of the expected response from the modem to the previous request. If the array contains more than one initialisation string element, they are subsequently sent to the modem after receiving an answer matching the defined response. Implementation note: The maximum length of the whole attribute is restricted to 400 characters. All octetstrings (request or response) are internally terminated by the firmware with the control characters <CR><LF>. Therefore only 360 characters are available for effective use. modem_profile Type: array[17] This attribute defines the mapping of Hayes standard commands/responses to modem specific strings. It is organised as an array of octetstrings with a maximum length of 38 characters each.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 83 / 190

Class Description

Compiled for P05.H

The relation between the Hayes commands and the array elements is given in the following table:
Array element
Element 0 Element 1 Element 2 Element 3 Element 4 Element 5 Element 6 Element 7 Element 8 Element 9 Element 10 Element 11 Element 12 Element 13 Element 14 Element 15 Element 16

Hayes command
OK CONNECT RING NO CARRIER ERROR CONNECT 1200 NO DIAL TONE BUSY NO ANSWER CONNECT 600 CONNECT 2400 CONNECT 4800 CONNECT 9600 CONNECT 14400 CONNECT 28800 CONNECT 36600 CONNECT 56000

Implementation note: The maximum length of the whole attribute is restricted to 320 characters. All elements (octetstrings) are internally terminated by the firmware with the control characters <CR><LF>. Therefore only 286 characters are available for effective use. DTRLine Type: boolean Selects the state of the DTR line to the modem. When set to TRUE the line is active; when set to FALSE it is inactive. CTSLine Type: boolean Selects if the CTS line from the modem is to be taken into account during the modem operation. When it is set to 1 the line is controlled (i.e. used); when it is 0 it is not controlled. DSRLine Type: boolean Selects if the DSR line from the modem is to be taken into account during the modem operation. When it is set to 1 the state of the line is processed (i.e. used); when it is 0 the state is ignored. InitialisationDelay Type: unsigned8 Selects the maximum time (expressed in 10ths of seconds) that the device waits until the modem gives an answer. Type: unsigned8 Selects the maximum connection time (expressed in minutes). A value of 0 deactivates the time supervision (i.e. the connection time is open ended).
MaxConnectTime

Type: unsigned8 Selects the maximum time (expressed in seconds) that the device tolerates an idle line. A value of 0 deactivates the time supervision (i.e. the idle time is open ended).
IdleTimeout

Type: boolean Controls the use of the call identification. If it is set to true, the call identification is enabled and only calls from numbers defined in the attribute 'Modem_profile_1' are accepted. If it is set to false, the feature is disabled.
CallIdentOn

GSMCODE Type: structure Contains the PIN code of the SIM card as well as the expected answer of the modem after setting the PIN code. It is organised as structure with 2 elements. GSMCode::= structure {

Landis+Gyr AG

Revision Date: 09.09.2009

Page 84 / 190

Class Description

Compiled for P05.H

PINCODE: response : }

octetstring octetstring

PINCODE: contains the pin code as octetstring (maximum size = 18 characters). response : contains the expected answer of the modem after setting the PIN code (default = "OK", maximum size = 18 characters). Implementation note: The maximum length of the whole attribute is restricted to 40 characters. All octetstrings are internally terminated by the firmware with the control characters <CR><LF>. Therefore only 36 characters are available for effective use. PinProfile Type: array[3] Contains the request and response strings used to check the PIN status of the SIM card. It is organised as array of octetstrings with a maximum length of 38 characters each. Element 0 = Command for PIN status request (default = "+CPIN?") Element 1 = Answer if SIM card is not PIN protected (default = "+CPIN: Ready") Element 2 = Answer if SIM card is PIN protected (default = "+CPIN: SIM PIN") Implementation note: The maximum length of the whole attribute is restricted to 120 characters. All elements (octetstrings) are internally terminated by the firmware with the control characters <CR><LF>. Therefore only 114 characters are available for effective use. DialPrefix Type: octectstring[10] Contains the dial prefix string used (default = "ATDT"). Modem_profile_1 Type: array[5] This attribute contains the set of numbers which are allowed to call the modem. These numbers are only active if the call identification is enabled (see also attribute 'CallIdentOn'). It is organised as array of octetstrings with a maximum length of 38 characters each.
Array element String

Element 0 Element 1 Element 2 Element 3 Element 4

CALL IDENTIFICATION 1 CALL IDENTIFICATION 2 CALL IDENTIFICATION 3 CALL IDENTIFICATION 4 CALL IDENTIFICATION 5

Implementation note: The maximum length of the whole attribute is restricted to 200 characters. All elements (octetstrings) are internally terminated by the firmware with the control characters <CR><LF>. Therefore only 190 characters are available for effective use. ModemResetPeriod Type: unsigned8 Selects the time period (expressed in hours) after which the modem is reset. A value of 0 deactivates the function, i.e. no regular modem reset will occur. The starting point is 05:00 h.

CheckModemString Type: array[10] This data contains the commands to be sent to the modem after switching into CSD mode to verify the communication. This may include the configuration of special modem features. This attribute is organised as an array of 5 elements. Each element has two fields: request and response.
1st array element 2nd array element 5h array element

Initialisation_string

request

response

request

response

request

response

Landis+Gyr AG

Revision Date: 09.09.2009

Page 85 / 190

Class Description

Compiled for P05.H

initialisation_string ::= array initialisation_string_element::=structure { request: octet-string, response: octet-string } request: contains an octectstring [max. length 38] with the characters (Hayes commands) that are sent to the modem. response: contains an octectstring [max. length 10] with the characters (Hayes commands) of the expected response from the modem to the previous request. If the array contains more than one initialisation string element, they are subsequently sent to the modem after receiving an answer matching the defined response. Implementation note: The maximum length of the whole attribute is restricted to 200 characters. All octetstrings (request or response) are internally terminated by the firmware with the control characters <CR><LF>. Therefore only 180 characters are available for effective use. (Default value is ATE0Q0\r\nOK\r\n) ExternalDevice Type: unsigned8 Defines the operational mode of the modem.
0= 1= 2= 3= 5= No external device D TE direct: connected to a PC ???? External Modem DCE: connected to any PSTN modem ??? GSM: connected to a GSM modem GSM/GPRS: connected to a GSM/GPRS modem (Dedicated mode for UK market)

Landis+Gyr AG

Revision Date: 09.09.2009

Page 86 / 190

Class Description

Compiled for P05.H

3.33 PSTN auto answer [28-0-0-0]


This class is used to control the reception of internal or external modems. An instance of the PSTN Auto Answer class stores data related to the management of data transfer between a device and a modem, which is used to answer incoming calls. Several modems can be configured. PSTN Auto Answer Attributes 1 2 3 4 5 6 LogicalName Mode Listening_window Status Number_of_calls Number_of_rings
(static) (static) (static) (dyn) (static) (static)

0..n Data Type octet-string[6] enum array[1] enum unsigned nr_rings_type

Class_id=28, version=0, OwnClassVersion=0 Min Max Def


00 00 02 02 00 FF

0 0x00

255 0xAA

0 0x22

Specific Methods Proprietary Attributes 7 8 OwnClassVersion AttrVaaAccLis

m/o

(const) (static)

unsigned octet-string

Proprietary Methods 9 Terminate_receive_window

m/o

Attribute Description
mode Type: enum Defines the working mode of the PSTN line when the device is auto answer. Mode
0 1 2 3 200 201

Description
Line dedicated to the device (listening window is inactive). Shared line management with limited number of calls allowed. Once the number of calls is reached, the window status becomes inactive until the next start date, whatever the result of the call. [implementation note: not supported] Shared line management with limited number of successful calls allowed. Once the number of successful communications is reached, the window status becomes inactive until next start date. [implementation note: not supported] Currently no modem connected [implementation note: not supported] The listening window can be controlled by the calling central station Operation with emergency window

listening_window Type: array[1] of structure 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 implicitly 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.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 87 / 190

Class Description

Compiled for P05.H

The information in the array is organized in a structure with two elements each of type UTC start_time: device time (UTC) end_time: device time (UTC) UTC: octet-string {year highbyte, year lowbyte, month, day of month, day of week, hour, minute, second, clock base, clock status}
Attribute year: month: dayOfMonth: dayOfWeek: hour: minute: second: clock status: clock base Type Unsigned16 Unsigned8 Unsigned8 Unsigned8 Unsigned8 Unsigned8 Unsigned8 Unsigned8 Unsigned8 Range 0..big, FFFF 1..12 1..31 1..7, 0xFF 0..23, 0xFF 0..59, 0xFF 0..59, 0xFF Coding / Remarks not used. Read as 0xFFFF 1 is January. Wild cards allowed Wild cards not allowed 1 is Monday 0xFF = not specified 0xFF = not specified 0xFF = not specified 0xFF = not specified not used. Read as 0xFF not used. Read as 0xFF

Shaded fields are ignored by the firmware, and are read back as undefined.

status Type: enum It defines the status of the window Status Description 0 Inactive: the device will manage no new incoming call. This status is automatically reset to Active when the next listening window starts. 1 Active: the device can answer to the next incoming call. 2 Locked. This value can be set automatically by the device or by a specific client when this client has completed its reading session and wants to give the line back to the customer before the end of the window duration. This status is automatically reset to Active when the next listening window starts.
201 202 Emergency window activated Listening window deactivated, nr_rings_out_of_window > 0

number_of_calls Type: unsigned It defines the number of calls attended when the window becomes active. This attribute is the reference used in modes 1 and 2. When set to 0, this means there is no limit. number_of_rings Type: structure Defines the number of rings before the meter connects the modem. Two cases are distinguished: number of rings within the window defined by attribute listening_window and number of rings outside the listening_window. The information is organised in a structure with two fields, each of type unsigned8:
1st byte 2nd byte

nr_rings_in_window

nr_rings_out_of_window

The value of each field indicates the number of rings. A value of 0 means that the device will not connect in the corresponding period (in window or out of window). Implementation note: the values are limited to max. 10

Method Description
terminate_receive_window Sets the status to 2 (See attribute status above.)

3.34 Tariff Application [10002-0-81-0]


Firmware name: MeterTariffApplication This class covers the matrix functionality provided by the meter.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 88 / 190

Class Description

Compiled for P05.H

TariffControl Attributes 1 LogicalName 2 AndMasks 3 ExtAndMasks1 4 ExtAndMasks2 5 ExtAndMasks3 6 InverterMask 7 OrMasks 8 PhysInputAssignments 9 PhysOutputRelayAssignements NormalMode 10 PhysOutputRelayAssignements TestMode 11 PhysOutputRelayModeInNormal Mode 12 PhysOutputRelayModeInTest Mode 13 AndInputGroupsEnable 14 OrOutputStatesDirectOrSynch 15 OutputAssignment 16 AttrVaaAccList 17 ASWBlock 18 ExtASWBlock1 Specific Method(s)
(static) (static) (static) (static) (static) (static) (static) (static) (static) (static) (static) (static) (static) (static) (mixed) (static) (static) (static) m/o

1 Data Type octetstring octetstring octetstring octetstring octetstring octetstring octetstring octetstring octetstring octetstring Unsigned8 Unsigned8 Unsigned8 Unsigned32 octetstring octetstring octetstring octetstring

class_id=10002, version=81 Min Max Def


00 00 F0 00 FF FF

Attribute Description The following signal names and abbreviations are used throughout the attribute descriptions
DA: VM: CM: STM: CI: TOU: TI: PFA: Demand Alert Voltage Monitor Current / Tampering Monitor Status Messages Communication Interfaces Time of Use Terminal Inputs Power Factor Alert

AndInputGroupsEnable Type: Unsigned8 Indicates which groups of input signals are enabled for tariff control. Each group is identified with one bit according to the table below. 1 : enable group 0 : disable group
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

AndInputGroupEnable

PFA

TI

TOU

CI

STM

CM

VM

DA

AndMasks Type: octetstring[160] Defines the and mask for the first part of the AND matrix outputs (see also attribute ExtAndMasks1, ExtAndMask2 and ExtAndMask3 below). Each output signal (LS1 .. LS8) is referenced to its input signals (DA , VM, PFA) using two groups of 10 bytes each (in total 160bytes for all 10 output signals). Both groups of bytes relate to their inputs on a bit basis. The first group defines the state (0 or 1) with which the inputs are ANDed. The second group specifies which inputs are used for the output: 0=input not used (dont care) , 1=input used. The bytes are arranged as shown below:
Byte 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 0 21 22 23 24 25 26 .

LS1 input state Output signal LSx (2 * 10 bytes)


Byte 1 Byte 1 Byte 2 Byte 2 Byte 3 Byte 3 Byte 4 Byte 4 Byte 5 Byte 5 Byte 6 Byte 6 Byte 7 Byte 7

LS1 input used or not

LS2 input state


state of input input used or not

Byte 8 Byte 8

Byte 9 Byte 9

Byte 10 Byte 10

Landis+Gyr AG

Revision Date: 09.09.2009

Page 89 / 190

Class Description

Compiled for P05.H

The relation between the input signals and the individual bits within the bytes is as follows:
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8 Byte 9 Byte 10

DA8 VM8 CM6 CM14 STM1 CI8 TOU8 TOU16 TI8


Not used

DA7 VM7 CM5 CM13 CM21 CI7 TOU7 TOU15 TI7


Not used

DA6 VM6 CM4 CM12 CM20 CI6 TOU6 TOU14 TI6


Not used

DA5 VM5 CM3 CM11 CM19 CI5 TOU5 TOU13 TI5


Not used

DA4 VM4 CM2 CM10 CM18 CI4 TOU4 TOU12 TI4 PFA4

DA3 VM3 CM1 CM9 CM17 CI3 TOU3 TOU11 TI3 PFA3

DA2 VM2 VM10 CM8 CM16 CI2 TOU2 TOU10 TI2 PFA2

DA1 VM1 VM9 CM7 CM15 CI1 TOU1 TOU9 TI1 PFA1

ExtAndMasks1 Type: octetstring[160] Defines the and mask for the second part of the AND matrix output signals (LS9 .. LS16). Its definition is exactly the same as for AndMasks above. ExtAndMasks2 Type: octetstring[160] Defines the and mask for the third and last part of the AND matrix output signals (LS17 .. LS24). Its definition is exactly the same as for AndMasks above. ExtAndMasks3 Type: octetstring[160] Defines the and mask for the third and last part of the AND matrix output signals (LS25.. LS32). Its definition is exactly the same as for AndMasks above. InverterMask Type: octetstring[4] Specifies if the LS signal outputs must be inverted. Each signal is represented with one bit in a string of 3 Bytes. When the signal bit is 0, the LS is not inverted, when the bit is 1, the LS is inverted. The following tables show the order of the bytes and of the bits within them. Byte 1 Byte 2 Byte 3 Byte 4 InverterMask Definition of each byte:
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

Byte 1 Byte 2 Byte 3 Byte 4

LS8 LS16 LS24 LS32

LS7 LS15 LS23 LS31

LS6 LS14 LS22 LS30

LS5 LS13 LS21 LS29

LS4 LS12 LS20 LS28

LS3 LS11 LS19 LS27

LS2 LS10 LS18 LS26

LS1 LS9 LS17 LS25

OrMasks Type: octetstring[128] Defines the mask for each OR matrix output. Each output signal (CS1 .. CS32) is referenced to its input signals (LS1..LS32) using individual bits in 4 bytes. Byte 1 Byte 2 Byte 3 Byte 4 OrMask for signal CSx Input signals which should be ORed are selected by setting the corresponding bits to 1. The definition of the bits is the same for all outputs and is shown below. Definition of each byte:
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

Byte 1 Byte 2 Byte 3 Byte 4

LS8 LS16 LS24 LS32

LS7 LS15 LS23 LS31

LS6 LS14 LS22 LS30

LS5 LS13 LS21 LS29

LS4 LS12 LS20 LS28

LS3 LS11 LS19 LS27

LS2 LS10 LS18 LS26

LS1 LS9 LS17 LS25

OrOutputStatesDirectOrSynch Type: Unsigned32 Used to define which of the OR matrix outputs must be synchronized with the measurement period end signal for e.g. demand calculations. Each OR output signal (CS1..CS32) is set to 1 for immediate activation or set to 0 for synchronous activation. Definition of the bits:
Landis+Gyr AG Revision Date: 09.09.2009 Page 90 / 190

Class Description
Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3

Compiled for P05.H


Bit 2 Bit 1 Bit 0

CS16
Bit 31

CS15
Bit 30

CS14
Bit 29

CS13
Bit 28

CS12
Bit 27

CS11
Bit 26

CS10
Bit 25

CS9
Bit 24

CS8
Bit 23

CS7
Bit 22

CS6
Bit 21

CS5
Bit 20

CS4
Bit 19

CS3
Bit 18

CS2
Bit 17

CS1
Bit 16

CS32

CS31

CS30

CS29

CS28

CS27

CS26

CS25

CS24

CS23

CS22

CS21

CS20

CS19

CS18

CS17

OutputAssignment Type: octetstring[174] OutputAssignment is used to assign one input signal to each output element (such as a register or a relay). Each byte of the string represents an output. The outputs are ordered as follows: The outputs in gray are reserved and dont work.
Byte Output
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 EnergyRegister1 EnergyRegister2 EnergyRegister3 EnergyRegister4 EnergyRegister5 EnergyRegister6 EnergyRegister7 EnergyRegister8 EnergyRegister9 EnergyRegister10 EnergyRegister11 EnergyRegister12 EnergyRegister13 EnergyRegister14 EnergyRegister15 EnergyRegister16 EnergyRegister17 EnergyRegister18 EnergyRegister19 EnergyRegister20 EnergyRegister21 EnergyRegister22 EnergyRegister23 EnergyRegister24 EnergyRegister25 EnergyRegister26 EnergyRegister27 EnergyRegister28 EnergyRegister29 EnergyRegister30 EnergyRegister31 EnergyRegister32 EnergyRegister33 EnergyRegister34 EnergyRegister35 EnergyRegister36 EnergyRegister37 EnergyRegister38 EnergyRegister39 EnergyRegister40 EnergyRegister41 EnergyRegister42 EnergyRegister43 EnergyRegister44 EnergyRegister45 EnergyRegister46 EnergyRegister47 EnergyRegister48 EnergyRegister49 EnergyRegister50

Byte Output
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 EnergyRegister51 DemandPMaxRegister1 DemandPMaxRegister2 DemandPMaxRegister3 DemandPMaxRegister4 DemandPMaxRegister5 DemandPMaxRegister6 DemandPMaxRegister7 DemandPMaxRegister8 MinutesRegister1 MinutesRegister2 MinutesRegister3 MinutesRegister4 MinutesRegister5 MinutesRegister6 MinutesRegister7(res.) MinutesRegister8(res.) Alert1 (MonitorReg1) Alert2 (MonitorReg2) Alert3 (MonitorReg3) Alert4 (MonitorReg4) Alert5 (MonitorReg5) Alert6 (MonitorReg6) Alert7 (MonitorReg7) Alert8 (MonitorReg8) Alert9 (MonitorReg9) Alert10 (MonitorReg10) Alert11 (MonitorReg11) Alert12 (MonitorReg12) Alert13 (MonitorReg13) Alert14 (MonitorReg14) Alert15 (MonitorReg15) Alert16 (MonitorReg16) Alert17 (MonitorReg17) Alert18 (MonitorReg18) Alert19 (MonitorReg19) Alert20 (MonitorReg20) Alert21 (MonitorReg21) Alert22 (MonitorReg22) Alert23 (MonitorReg23) Alert24 (MonitorReg24) Alert25 (MonitorReg25) Alert26 (MonitorReg26) Alert27 (MonitorReg27) Alert28 (MonitorReg28) Alert29 (MonitorReg29) Alert30 (MonitorReg30) Alert31 (MonitorReg31) Alert32 (MonitorReg32) (res.) ExtremaRegister1

Byte Output
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 ExtremaRegister2 ExtremaRegister3 ExtremaRegister4 ExtremaRegister5 ExtremaRegister6 ExtremaRegister7 ExtremaRegister8 ExtremaRegister9 ExtremaRegister10 ExtremaRegister11 ExtremaRegister12 ExtremaRegister13 ExtremaRegister14 ExtremaRegister15 Relay1 Relay2 Relay3 Relay4 Relay5 Relay6 Relay7 (res.) Relay8 (res.) Relay1TestMode Relay2TestMode Relay3TestMode Relay4TestMode Relay5TestMode Relay6TestMode Relay7TestMode (res.) Relay8TestMode(res.) DisplaySymbol1 DisplaySymbol2 DisplaySymbol3 DisplaySymbol4 DisplaySymbol5 DisplaySymbol6 DisplaySymbol7 DisplaySymbol8 DisplaySymbol9 DisplaySymbol10 DisplaySymbol11 DisplaySymbol12 DisplaySymbol13 DisplaySymbol14 DisplaySymbol15 DisplaySymbol16 DisplaySymbol1Blink DisplaySymbol2Blink DisplaySymbol3Blink DisplaySymbol4Blink

Byte Output
151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 DisplaySymbol5Blink DisplaySymbol6Blink DisplaySymbol7Blink DisplaySymbol8Blink DisplaySymbol9Blink DisplaySymbol10Blink DisplaySymbol11Blink DisplaySymbol12Blink DisplaySymbol13Blink DisplaySymbol14Blink DisplaySymbol15Blink DisplaySymbol16Blink KA KB Synch15 TriggerEventlog MBSignal 1 Hz Alert Buzzer (no buzzer in P05.x) PowerFactorMin1 PowerFactorMin2 DemandCoincidentalRegister1 DemandCoincidentalRegister2

256

never

The outputs DisplaySymbol1 DisplaySymbol16 are used to turn the display symbols (arrows, comm. and alert) on and off. The outputs DisplaySymbol1Blink DisplaySymbol16Blink are used to let the display symbols (arrows, comm. and alert) blink. The DisplaySymbolBlink outputs have priority over the normal DisplaySymbol outputs; i.e. a display symbol will blink if it is assigned to a normal and a blink output and both are active. Meaning of the display symbols :
Landis+Gyr AG Revision Date: 09.09.2009 Page 91 / 190

Class Description

Compiled for P05.H

Display symbol Symbol1 Symbol2 Symbol3 Symbol4 Symbol5 Symbol6 Symbol7 Symbol8 Symbol9 Symbol10 Symbol11 Symbol12 Symbol13 Symbol14 Symbol15 Symbol16

FOX project Arrow 1 Arrow 2 Arrow 3 Arrow 4 Arrow 5 Arrow 6 Arrow 7 Arrow 8 Arrow 9 Arrow 10 Arrow 11 Arrow 12 Not used Not used Communication symbol Alert symbol

Tianyou project Arrow 1 Arrow 2 Arrow 3 Arrow 4 Arrow 5 Arrow 6 Chinese characters for Under-Voltage Chinese characters for Under-Current Chinese characters for reversed Peak peak symbol () Peak symbol () Valley symbol () Flat symbol () Not used Communication symbol Alert symbol

Each byte of the string describes an output. The contents of each byte is defined as follows:
MSB Lower 7 bits

Output state -

Reference to input signal

The most significant bit (MSB) reflects the current state of the output : 0 inactive, 1 active. This bit is dynamically handled by the firmware. The other seven bits are used to select the number of the desired input signal. Only one input may be connected to an output. If an output is not used, the value 125 must be assigned. All the possible input signals are listed below:
Input Signal DTA1 DTA2 DTA3 DTA4 DTA5 DTA6 DTA7 DTA8 VM1 - Swells Phase1 VM2 - Swells Phase2 VM3 - Swells Phase3 VM4 - Sags Phase1 VM5 - Sags Phase2 VM6 - Sags Phase3 VM7 - Phase Losses Phase1 VM8 - Phase Losses Phase2 VM9 - Phase Losses Phase3 VM10 CM1 - Strong DC Field Detected CM2 - Front Cover Opened CM3 - Terminal cover Opened CM4 - Phase Sequence Reversal CM5 - Negative Active Energy Flow Phase1 CM6 - Negative Active Energy Flow Phase2 CM7 - Negative Active Energy Flow Phase3 CM8 - Under Voltage With Current Phase1 CM9 - Under Voltage With Current Phase2 CM10 - Under Voltage With Current Phase3 CM11 - Open Shortened CT Phase1 CM12 - Open Shortened CT Phase2 CM13 - Open Shortened CT Phase3 CM14 - Under Current Phase1 CM15 - Under Current Phase2 CM16 - Under Current Phase3 CM17 - Over Current In Neutral CM18 - Over Current Phase1 CM19 - Over Current Phase2 CM20 - Over Current Phase3 Nr 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 Input Signal TI1 TI2 TI3 TI4 TI5 TI6 TI7 - Not used (reserved) TI8 - Not used (reserved) PFA1 PFA2 PFA3 - Not used (reserved) PFA4 - Not used (reserved) Reserved (Marks total number of inputs) CS1 CS2 CS3 CS4 CS5 CS6 CS7 CS8 CS9 CS10 CS11 CS12 CS13 CS14 CS15 CS16 CS17 CS18 CS19 CS20 CS21 CS22 CS23 CS24 CS25 Nr 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

Landis+Gyr AG

Revision Date: 09.09.2009

Page 92 / 190

Class Description CM21 - Access Wrong Password STM1 - Time Date not Valid CI1 CI2 CI3 CI4 CI5 CI6 CI7 CI8 TOU1 TOU2 TOU3 TOU4 TOU5 TOU6 TOU7 TOU8 TOU9 TOU10 TOU11 TOU12 TOU13 TOU14 TOU15 TOU16 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 CS26 CS27 CS28 CS29 CS30 CS31 CS32 GF1 - KA Status GF2 - KB Status GF3 - SynchOut GF4 - BatMonitor1 GF5 - TOUinOperation GF6 - InSetMode GF7 - InCalibrationMode GF8 - ResetLockInOperation GF9 - ErrorPending GF10 - e-relay GF11 - BatMonitor2 GF12 - CommunicationRunning GF13 - Customer Calibration GF14 - TariffChange (any TOU) GF15 - CommunicationLocked GF16 - AlertOccurs Not used Always Never

Compiled for P05.H 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127

PhysOutputRelayAssignmentNormalMode Type: octetstring[8] This attribute is only used in normal mode to assign the physical relays to the corresponding relay signals (Relay1... Relay8). Each of the 8 bytes of the string is used for one relay signal. The index of the string refers to the relay signal as follows:
String Index 7 6 5 4 3 2 1 0

Relay1 Relay2 Relay3 Relay4 Relay5 Relay6 Relay7 Relay8 The contents of each byte is defined as follows:
MSB Lower 7 bits

polarity

Reference to input signal

- The most significant bit is used to invert the signals logic: 0 = not invert, 1 = invert. - The lower 7 bits are used for the assignment of the physical relays. The assignment of the physical relays is done by selecting the appropriated virtual IO name of the physical relay (according to the following table) into the corresponding string byte. If an output is not used, the byte is set to 0. All other numbers are banned. The numbers in parenthesis (e.g. "T0-12) refer to the nomenclature of the physical terminal.
Extension Board:
Physical Relay Ioh_O1 (T1-1) Ioh_O2 (T1-2) Ioh_O3 (T1-3) Ioh_O4 (T1-4) Ioh_O5 (T1-5) Ioh_O6 (T1-6) Ioh_O7 (T1-7) Ioh_O8 (T1-8) Virtual IO name 50 51 52 53 54 55 56 57

PhysOutputRelayAssignmentTestMode
Landis+Gyr AG

Type: octetstring[8]
Revision Date: 09.09.2009 Page 93 / 190

Class Description

Compiled for P05.H

Defines the assignment of relays but only for special test mode. Its definition is exactly the same as OutputRelayAssignmentNormalMode above.

PhysOutputRelayModeInNormalMode Type: Unsigned8 This attribute is only used in normal mode to specify how the relay will be driven: static (normal) or with a pulse. In static mode the relays are driven directly from the state of the OutputAssignment signals; in pulse mode, the relays will produce a pulse of 80 ms (fix) at any change of the assigned OutputAssignment signals. The pulse mode is not to be confused with the functionality provided by the class Pulse Output that produces pulses proportional to the energy registration. Implementation note: The pulse mode is only used for applications which require to produce a pulse at each tariff change. In this case only the input signal GF14: TariffChange (any TOU) shall be used in the selected relay output of attribute OutputAssignment. The reason is that when the pulse is finished the event which activates the pulse has to be cleared. No other inputs support this feature! The selection of the mode for each relay is done with one bit according to the table below. 1 : pulse mode 0 : normal mode
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

Relay 8

Relay 7

Relay 6

Relay 5

Relay 4

Relay 3

Relay 2

Relay 1

PhysOutputRelayModeInTestMode Type: Unsigned8 Defines the mode of relays but only in test mode. Its definition is exactly the same as in attribute OutputRelayModeInNormalMode above.

PhysInputAssignments Type: octetstring[8] With this attribute the physical input terminals are assigned to the corresponding input signals (TI1..TI8). Each of the 8 bytes of the string is used for one input terminal. The index of the string refers to the input terminal as follows:
String Index 7 6 5 4 3 2 1 0

Physical Input Terminal Extension board input one Extension board input two Extension board input three Extension board input four Extension board input five Extension board input six Extension board input seven Extension board input eight

(T1-1) (T1-2) (T1-3) (T1-4) (T1-5) (T1-6) (T1-7) (T1-8)

The contents of each byte is defined as follows:


MSB Lower 7 bits

polarity

Reference to input signal

- The most significant bit is used to invert the signals logic: 0 = not invert, 1 = invert. - The lower 7 bits are used for the assignment of the input signals. It is done by selecting the appropriated number of the input signals according to the following table.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 94 / 190

Class Description

Compiled for P05.H

Input Signal TI1 TI2 TI3 TI4 TI5 TI6 TI7 TI8 Not used

Nr 80 64 81 65 82 66 83 67 84 68 85 69 86 70 87 71 125

If the physical input is not used, the value 125 is assigned. All other numbers are banned. ASWBlock; ExtASWBlock1 Type: octetstring This attributes may be used to store the name of the CS signals. This permits the parameterization tool to easily trace back its assignment. The firmware does not use this attributes for any purpose. The size for each of the attributes is 144 Bytes.

3.35 Measurement System MMI3 [10009-0-80-0]


This class is the interface for the measurement system MM3 for the project FOX3. At the end of this class, the information of the structure of the calibration data is also shown. Firmware name: Cfg_MeasurementSystem Measurement System MMI3 Attributes 1. LogicalName 2. ValueList 3. ExtValueList1 4. DiagnosticList 5. ExtDiagnosticList1 6. BitParameter 7. CheckSumFailCount 8. ParameterFailCount 9. VoltageLimit 10. TypeOfSummation 11. UnitMeter 12. Msm_EventPhases 13. Msm_EventUnderVoltage 14. Msm_EventUnderCurrent 15. Msm_EventUnbalCurrent 16. AttrVaaAccList 17. NominalVoltage 18. PrimaryNominalVoltage 19. SecondaryNominalVoltage 20. VoltageTransformerFactor 21. PrimaryNominalCurrent 22. SecondaryNominalCurrent 23. CurrentTransformerFactor 24. MaximalCurrent 25. NormalCurrent 26. Msm_StrongDCFieldTime 27. EventNegativeActiveEnegyFlow 28. S0CalculationFactors 29. CustomerCalibration 30. CtVtCompensation
Landis+Gyr AG

1
(static) (mixed) (mixed) (mixed) (mixed) (static) (static) (static) (static)

class_id=10009, version=80 Min Max Def


00 00 F0 3A FF FF

(static)
(static)

(static) (static) (static) (static) (static)


(static) (static) (static) (static) (static) (static) (static) (static) (static) (static) (static) (static) (static) (static)

Data Type octetstring[6] octetstring octetstring Octetstring Octetstring Unsigned8 Unsigned8 Unsigned8 Unsigned16 Octetstring[15] Unsigned8 Octetstring[4] Octetstring[12] Octetstring[6] Octetstring[7] Octetstring[25] Unsigned16 Unsigned32 Unsigned16 Unsigned32 Unsigned16 Unsigned8 Unsigned32 Unsigned8 Unsigned8 Unsigned16 Octetstring[6] Octetstring[8] Octetstring[16] Octetstring[30]

0x00

0xFF

0x33

1*65536 1*65536

Revision Date: 09.09.2009

Page 95 / 190

Class Description

Compiled for P05.H

Specific Method(s) Attribute Description

m/o

ValueList; ExtValueList1 Type: octetstring[200]; octetstring[100] Sets up what a particular energy measuring channel (M1..M15) should measure. ValueList is arranged as an array of 10 elements (one array element for each channel). The order of the array elements and their relation to the measurement channels is:
1st Element 2nd Element 3rd Element 4th Element 5th Element 14th Element 15h Element

Measurement Channel

M1

M2

M3

M4

M5

M14

M15

The elements 1 to 10 are accessable through the attribute ValueList and element 11 to 15 are in the attribute ExtValueList1. Each array element is a struct with three parts: IntermediateValueVisible Integer64 (32) but coded as an Octetstring[8] (LSB-byte as first byte) SecondaryValue Integer64 (32) but coded as an Octetstring[8] (LSB-byte as first byte) TypeOfValue Unsigned16
Array Element
Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8 Byte 9 Byte 10 Byte 11 Byte 12 Byte 13 Byte 14 Byte 15 Byte 16 Byte 17 Byte 18 Byte 19 Byte 20

IntermediateValueVisible Primary Value

Secondary Value

TypeOf Value

Dummy

Implementation Note: Due to alignment problems of the Processor used, two dummy bytes are placed after TypeOfValue as shown above. The IntermediateValueVisible is written by the firmware. It is used for primary values (i.e. scaled by the transformer factors). It has the rest of the measurement value after all primary registers have been updated. It must set to 0 in case of parameterisation. The SecondaryValue is also written by the firmware. It is used for secondary values (i.e. not scaled by the transformer factors).It has the rest of the measurement value after all secondary re gisters have been updated. It must set to 0 in case of parameterisation. TypeOfValue is used to set the source, the type and the desired processing of the measurand for the channel. The information is organized bitwise as shown below. (Note: The mode for the summation of the phases for the polyphase active energy has to be selected with the attribute "TypeOfSummation".)
Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

Chan

Add / Sub

Phase selection

Quadrant selection

Physical Unit

Physical Unit:

Defines the type of measurement is performed by the channel:


0= 1= 2= 3= 4= 5= no physical unit active energy reactive energy apparent energy S01 input S02 input

15 = Ah

Quadrant selection: Selects the quadrants that are considered in the energy calculations. This field is not relevant if the bit chan (see below) is set to 1 (S0 input). The quadrants are selected by setting the corresponding bits to 1. Bits set to 0 mean: quadrant not used in the calculation. The correspondence between the bits and the quadrants is:
Bit 7 Bit 6 Bit 5 Bit 4

Q IV

Q III

Q II

QI

X:

Bit not used.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 96 / 190

Class Description

Compiled for P05.H

Phase selection:

Selects the line phases used as sources for the energy calculations. This field is not relevant if the bit chan (see below) is set to 1 (S0 input). The phases are selected as follows:
0= 1= 2= 3= 4= neutral wire L1 (phase a) L2 (phase b) L3 (phase c) All phases

Add / Sub:

Defines the way in which the values of the quadrants are added / subtracted in the calculations. This field is not relevant if the bit chan (see below) is set to 1 (S0 input). Selections are:
0= 1= 2= add absolute values of all selected quadrants consumption minus production of active energy consumption minus production of reactive energy

The Bit 14 in TypeOfValue is used by the firmware and must be set to 0 for this case. Chan: Channel is not used in Fox3

DiagnosticList; ExtDiagnosticList1 Type: octetstring[128]; octetstring[144] Sets up what a particular diagnostic channel (D1..D24) should measure. DiagValueList is arranged as an array of 34 elements (one array element for each channel). The order of the array elements and their relation to the measurement channels is:
1st Element 2nd Element 3rd Element 4th Element 23h Element 34th Element

Diagnostic Channel

D1

D2

D3

D4

D23

D34

The elements 1 to 16 are accessable through the attribute DiagnosticList and element 17 to 24 are in the attribute ExtDiagnosticList1. Each array element is a struct with two parts: IntermediateValueVisible Integer32 TypeOfValue Unsigned16
1st Byte 2nd Byte 3rd Byte 4th Byte 5th Byte 6th Byte 7th Byte 8th Byte

Array Element

IntermediateValueVisible

TypeOfValue

Dummy

Implementation Note: Due to alignment problems of the Processor used, two dummy bytes are placed after TypeOfValue as shown above. The IntermediateValueVisible is written by the firmware. It has the measurement value in a raw form. It must set to 0 in case of parameterisation. TypeOfValue is used to set the source, the type and the desired processing of the measurand for the channel. The information is organized bitwise as shown below
Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

Phase selection

Calculation Value for angles

Reference for angles

Physical Unit

Physical Unit:

Defines the type of measurement is performed by the channel:


0= 1= 2= 3= 4= 5= 6= 7= 8= 9= no physical unit Voltage Current Frequency active power reactive power apparent power power factor Angles Total Harmonic Distortion VA

Landis+Gyr AG

Revision Date: 09.09.2009

Page 97 / 190

Class Description

Compiled for P05.H

Reference for angles: Defines the reference for angle calculation:


0= 1= 2= 3= no angle calculation Voltage of L1 (V1) Current of L1 (I1) Voltage of correspondent phase (Vx)

Calculation value for angles: Defines the voltage or current that angle has to be calculated:
0= 1= 2= 3= 4= 5= 6= no angle calculation Voltage of L1 (V1) Voltage of L2 (V2) Voltage of L3 (V3) Current of L1 (I1) Current of L2 (I2) Current of L3 (I3)

Phase selection:

Selects the line phases used as sources for the energy calculations. The phases are selected as follows:
0= 1= 2= 3= 4= neutral wire (for angle calculation always 0) L1 (phase a) L2 (phase b) L3 (phase c) All phases

Bit not used

The upper bits 14 and 15 are used by the firmware and must be set as follow for diagnostic values:
Bit14 = 1 Bit15 = 0

BitParameter Type: Unsigned8 This attribute is used to control some properties of the measurement system. It is bitwise organized as follows: BitParameter:
7 6 5 Bits 4 3 2 1 0 Creep enable: Phase rotation: Meter connection: Apparent calculation: Not used Not used Not used Not used 1=enabled; 0=disabled 1=reverse order; 0=normal 1=3 wire (delta, F); 0=4 wire (wye, M) 1=RMS (VRMS IRMS); 0=vectorial qrt(P2 + Q2)

CheckSumFailCount Type: Unsigned8 Counter that is incremented each time that a communication error has been detected, i.e. the checksum value from the MMI is wrong. To prevent from overflows, the value is locked at 255. ParameterFailCount Type: Unsigned8 Counter that is incremented each time that a parameterization error of the MMI has been detected. To prevent from overflows, the value is locked at 255. VoltageLimit Type: Unsigned16 Defines the limit of the voltage used for phase detection. Its value is given in [V].
Example: Phase fail detection voltage = 20V; VoltageLimit = 20

Rem.: The type of the voltage value in the firmware is Unsigned32 (with 2 bytes for pre-point and 2 bytes for postpoint). The value VoltageLimit is compared to the pre-point value of the voltage.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 98 / 190

Class Description

Compiled for P05.H

TypeOfSummation Type: Unsigned8[15], [13]..[15] not used for Ah It is an Array, per measurement channel 1 Byte. It defines the way the three single phase measurements are added to calculate the energy measured every second. Different possibilities: 0x00 0x01 0x02 0x03 0x04 0x05 0x06 only phase L1 is counted only phase L2 is counted only phase L3 is counted the three single phase energies are added with correct treatment of their signs (old known ferraris-like type of summation) the absolute values of the three single phase energies are added only the positive single phase energies are added to calculate a single phase reverse stopped energy only the negative single phase energies are added to calculate a single phase forward stopped energy
Case (5 or 6) change the meaning of A+ and A-

0x07 0x08 0x40 0x80 0xFF Assignment:

Reserved. Do not use. E2_E3_Export_EnergyOnly ReverseStopLed Reserved

Octetstring [12] Bytes assignment Energy TypeOfSummation M1 measurement channel 1 Energy TypeOfSummation M2 measurement channel 2 Energy TypeOfSummation M3 measurement channel 3

UnitMeter Type: Unsigned8 This attribute defines the units used in the calculations within the measurement unit. The selected scaling applies to active and reactive calculations (apparent calculations also if they are derived from active and reactive calculations). The setting of this bit affects all registers which use any of the energy channels (attr. ValueList) like: Energy, Demand, Pmax, Pfmin, Monitors, etc. UnitMeter is coded as follows:
0= 1= KWh MWh

Msm_EventPhases Type: octetstring Structure to specify the events "Phase-Losses" and "Phase-Sequence Reversal" Unsigned16 Unsigned16 PhaseLossThreshold PhaseSequenceTime
1st Byte 2nd Byte

Voltage level for phase loss [V] Filter time for phase sequence detection [s]
3rd Byte 4th Byte

Landis+Gyr AG

Revision Date: 09.09.2009

Page 99 / 190

Class Description

Compiled for P05.H

PhaseLossThreshold

PhaseSequenceTime

Msm_EventUnderVoltage Type: octetstring Structure to specify the event "Undervoltage with Current" Unsigned32 Unsigned32 Unsigned16 Unsigned16
1st Byte

UVwC_LevelI Current level for this event [A * 216] (16 bit prepoint, 16 bit postpoint) UVwC_LevelI_Batt Current level in battery mode for this event [A * 216] (16 bit prepoint, 16 bit postpoint) UVwC_LevelV Voltage level for this event [V] UVwC_Time Filter time for this event [s]
3rd Byte 4th Byte 5th Byte 6th Byte 7th Byte 8th Byte 9th Byte 10th Byte 11th Byte 12h Byte

2nd Byte

UVwC_LevelI

UVwC_LevelI_Batt

UVwC_LevelV

UVwC_Time

Msm_EventUnderCurrent Type: octetstring Structure to specify the event "Under-Current (with voltage)" Unsigned32 Unsigned16 UCwV_LevelI UCwV_Time
1st Byte

Current level for this event [A * 216] (16 bit prepoint, 16 bit postpoint) Filter time for this event [s]
3rd Byte 4th Byte 5th Byte 6th Byte 7th Byte 8th Byte

2nd Byte

UCwV_LevelI

UCwV_Time

Dummy

Msm_EventUnbalCurrent Type: octetstring Structure to specify the event "Open/Shortened CT (Unbal. Current)" Unsigned32 Unsigned16 Unsigned8 UnbalCurrent_LevelI Current level for this event [A * 216] (16 bit prepoint, 16 bit postpt.) UnbalCurrent_Time Filter time for this event [s] UnbalCurrent_LevelPercent Unbalance level for this event [%]
1st Byte 2nd Byte 3rd Byte 4th Byte 5th Byte 6th Byte 7th Byte 8th Byte

UnbalCurrent_LevelI

UnbalCurrent_Time

UnbalCurrent_ LevelPercent

Dummy

EventNegativeActiveEnegyFlow Type: octetstring [6] Structure to specify the event "Negative Active Energy Flow Unsigned32 NAEF_LevelI Current level for this event [A * 216] (16 bit prepoint, 16 bit postpt.) Unsigned16 NAEF_Time Filter time for this event [s]
1st Byte 2nd Byte 3rd Byte 4th Byte 5th Byte 6th Byte 7th Byte 8th Byte

NAEF_LevelI

NAEF_Time

Dummy

Msm_StrongDCFieldTime Unsigned16 Filter time for this event [s]

Type Unsigned16

NominalVoltage Type: Unsigned16 NominalVoltage defines the nominal voltage at which the meter is specified and tested in the production. This attribute is only used to store the nominal voltage value and is not used by the firmware for calculations.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 100 / 190

Class Description

Compiled for P05.H

PrimaryNominalVoltage Type: Unsigned32 The PrimaryNominalVoltage defines the nominal voltage on the primary side from the external voltage transformer. This attribute is only used to store the primary nominal voltage value and is not used by the firmware for calculations. SecondaryNominalVoltage Type: Unsigned16 The SecondaryNominalVoltage defines the nominal voltage on the secondary side from the external voltage transformer. This attribute is only used to store the secondary nominal voltage value and is not used by the firmware for calculations. VoltageTransformerFactor Type: Unsigned32 The voltage transformer ratio defines the multiplication factor used to compensate the external voltage transformer ratio and corresponds to the ratio of the number of primary to secondary windings: Nprim / Nsec . This attribute holds the value set for the voltage transformer factor. The firmware uses it to calculate the transformer factor for the energy. The value of the present attribute is scaled by 216 in order to cope with fractional ratios with enough resolution. The upper two bytes will contain the integer and the lower two the decimal part. VoltageTransformerFactor = voltage transformer ratio * 216 PrimaryNominalCurrent Type: Unsigned16 The PrimaryNominalCurrent defines the nominal current on the primary side from the external current transformer. This attribute is only used to store the primary nominal current value and is not used by the firmware for calculations. SecondaryNominalCurrent Type: Unsigned8 The SecondaryNominalCurrent defines the nominal current on the secondary side from the external current transformer. This attribute is only used to store the secondary nominal current value and is not used by the firmware for calculations. CurrentTransformerFactor Type: Unsigned32 The current transformer ratio defines the multiplication factor used to compensate the external current transformer ratio and corresponds to the ratio of the number of primary to secondary windings: Nprim / Nsec . This attribute holds the value set for the current transformer factor The firmware uses it to calculate the transformer factor for the energy. The value of the present attribute is scaled by 216 in order to cope with fractional ratios with enough resolution. The upper two bytes will contain the integer and the lower two the decimal part. CurrentTransformerFactor = current transformer ratio * 216 MaximalCurrent Type: Unsigned8 This attribute defines the maximal current on the secondary side. It is only used for displaying the value but it is not used by the firmware.

NormalCurrent Type: Unsigned8 This attribute is not used in FOX/Tianyou. This attribute defines the normal current used to calculate the scaling factors for the SAPPHIRE values. This attribute is used in the calculations within the measurement unit. NormalCurrent is coded as follows:
0= 1= 2= 1A 5A 50A

S0CalculationFactors Type: Octetstring[8] Defines four scaling factors used by the measurement system for the calculation of the S0 Iinputs. The factors are ordered in the string as follows:

Landis+Gyr AG

Revision Date: 09.09.2009

Page 101 / 190

Class Description 1st factor S01 Calculation Factor 2nd factor S02 Calculation Factor

Compiled for P05.H

AllCalculationFactor

Each factor is coded in 3 bytes using a floating point format: MultFactor Unsigned16 ExpFactor Integer8
1st Byte 2nd Byte 3rd Byte 4rd Byte

CalculationFactor

MultFactor

ExpFactor

Not used

Thus the values are represented as: CalculationFactor = MultFactor 2ExpFactor The value of the mantisa (MultFactor) is always chosen as the largest integer whose value is less than 216 (=65536). The factors are calculated as follows:

S01CalculationFactor Factor used for the calculations of the values received by the S0 input channel 1 (expressed in floating point format). S01CalculationFactor = S01NumeratorFactor / S01DenominatorFactor * 216
Example : S01NumeratorFactor = 1 S01DenominatorFactor = 1 S01CalculationFactor = 1 / 1 * 216 = 216 = 32768 * 21

MultFactor = 32768 ExpFactor = 1

S02CalculationFactor Factor used for the calculations of the values received by the S0 input channel 2 (expressed in floating point format). S02CalculationFactor = S0Numerator / S0Denominator * 216
Example : S02NumeratorFactor = 1 S02DenominatorFactor = 1 S02CalculationFactor = 1 / 1 * 216 = 216 = 32768 * 21

MultFactor = 32768 ExpFactor = 1

CustomerCalibration

Type: Octetstring[16]

This attribute allows making small customer adjustments to the calibration values. It is organized as an octet string with the following structure: Array Byte 1 Byte 2 Byte 3 Byte 4 Label Description Element
1st octet string MultFactor[0] MultFactor[1] ExpFactor Not used CA Customer magnitude adjustment in 1/100%

Landis+Gyr AG

Revision Date: 09.09.2009

Page 102 / 190

Class Description element 2nd octet string element 3rd octet string element 4th octet string element (MSB) MultFactor[0] (MSB) MultFactor[0] (MSB) MultFactor[0] (MSB) (LSB) MultFactor[1] (LSB) MultFactor[1] (LSB) MultFactor[1] (LSB) ExpFactor Not used dCA1

Compiled for P05.H Integer16 Customer magnitude adjustment of phase 1

ExpFactor

Not used

dCA2

Customer magnitude adjustment of phase 2

ExpFactor

Not used

dCA3

Customer magnitude adjustment of phase 3

Each value is coded in 3 bytes using floating point format: MultFactor: Unsigned16 ExpFactor: Integer8 The value is represented as: Value = MultFactor * 2ExpFactor Byte No: Wert
1 MultFactor[0] (MSB) 2 MultFactor[1] (LSB) 3 ExpFactor 4 Not used*

*Implementation Note: due to memory alignment problems of the microprocessor, one byte is left unused between the factors. The value ranges corresponds to the data type MultFactor: 0 +65535 ExpFactor: -128 +127 The 1st element (CA) is used to store the value that is set in the tool (MAP). It represents the percentage of desired adjustment and is expressed as 1/100% (Example: the value 3 represents 0.03% of adjustment). The firmware does not use this value. It is always coded with ExpFactor=0. The rest of the elements (dCAx) have the value of the desired adjustment per phase, which is the same for all phases. MAP calculates the floating point number for the elements (dCAx) from the given value entered in %. The calculation is done as follows: The number is shifted left until the highest possible value smaller than 2^16 (=65536). This value is set as the MultFactor. The number of shifts is set as the ExpFactor. Examples: Input Value 0.25 % 0.8 % -0.04% MultFactor 32768 52428 41943 ExpFactor -17 -16 -20

CtVtCompensation

Type: Octetstring

These attributes are used to compensate for differences when the measurement point is far away from the current and voltage transformers. The customer sets the values MCx and PCx (x = phase No.) using MAP. The first 6 array elements (1st -6th) are used for storing the MAP values. Array Byte 1 Byte 2 Label Description Element

Landis+Gyr AG

Revision Date: 09.09.2009

Page 103 / 190

Class Description 1 2 3 4 3 4 Value Value Value Value Value Value MC1 PC1 MC2 PC2 MC3 PC3 Magnitude adjustment of phase 1 in 1/100% Angle adjustment of phase 1 in 1/100% Magnitude adjustment of phase 2 in 1/100% Angle adjustment of phase 2 in 1/100% Magnitude adjustment of phase 3 in 1/100% Angle adjustment of phase 3 in 1/100%

Compiled for P05.H

The rest of the array elements (7th 15th) are used for storing the meter values. Array Byte 1 Byte 2 Byte 3 Byte 4 Label Element
7 8 9 10 11 12 MultFactor[0] (MSB) MultFactor[0] (MSB) MultFactor[0] (MSB) MultFactor[0] (MSB) MultFactor[0] (MSB) MultFactor[0] (MSB) MultFactor[1] (LSB) MultFactor[1] (LSB) MultFactor[1] (LSB) MultFactor[1] (LSB) MultFactor[1] (LSB) MultFactor[1] (LSB) ExpFactor ExpFactor ExpFactor ExpFactor ExpFactor ExpFactor Not used Not used Not used Not used Not used Not used dMC1 dPC1 dMC2 dPC2 dMC3 dPC3

Description
Customer CT/VT magnitude correction for phase 1 in [%] Customer phase angle correction for phase 1 in [mrad] Customer CT/VT magnitude correction for phase 2 in [%] Customer phase angle correction for phase 2 in [mrad] Customer CT/VT magnitude correction for phase 3 in [%] Customer phase angle correction for phase 3 in [mrad]

This attribute allows making small customer corrections to the calibration values. The last values are coded in 3 bytes using floating point format: MultFactor: Unsigned16 ExpFactor: Integer8 The value is represented as: Value = MultFactor * 2ExpFactor MultFactor[0] MultFactor[1] ExpFactor Not used* (MSB) (LSB) Byte No: 1 2 3 4 *Implementation Note: due to memory alignment problems of the microprocessor, one byte is left unused between the factors. The value ranges corresponds to the data type MultFactor: 0 +65535 ExpFactor: -128 +127 The values for the CT/VT magnitude correction are in [%], the values for the customer phase angle correction in [mrad]! MAP calculates the floating point number from the given value entred in % and mrad. For this the input value (in % mrad) is coded as a floating point value. The input value is shifted left until the highest possible value smaller than 2^16 (=65536). Examples: Input Value 0.25 % 0.8 %
Landis+Gyr AG

Wert

MultFactor 32768 52428

ExpFactor -17 -16


Page 104 / 190

Revision Date: 09.09.2009

Class Description

Compiled for P05.H

-0.04%

41943

-20

Reserve1 Type: Unsigned32 Attribute reserved for future use. Reserve2 Type: Unsigned32 Attribute reserved for future use. Reserve3 Type: Unsigned32 Attribute reserved for future use. Reserve4 Type: Unsigned32 Attribute reserved for future use.

3.35.1

Measurement System Calibration Data

The default values for the calibration values are defined in [24] D000029423 - Calibration and Test Specification Z.G300/400. At coldstart, the firmware sets the values for the meter type DC (Iref: 20 < Ib 40 [A]).
Elements of Msm_CalibrationData PhaseCalibrationData_Low[ 3 ]
CalibrationValue_A CalibrationValue_R OffsetCorrection_A OffsetCorrection_R CalibrationValue_I CalibrationValue_U CalibrationValue_A CalibrationValue_R OffsetCorrection_A OffsetCorrection_R CalibrationValue_I CalibrationValue_U CalibrationValue_A CalibrationValue_R OffsetCorrection_A OffsetCorrection_R CalibrationValue_I CalibrationValue_U CalibrationValue_A CalibrationValue_R OffsetCorrection_A OffsetCorrection_R CalibrationValue_I CalibrationValue_U CalibrationValue_A CalibrationValue_R OffsetCorrection_A OffsetCorrection_R CalibrationValue_I CalibrationValue_U CalibrationValue_A CalibrationValue_R OffsetCorrection_A OffsetCorrection_R CalibrationValue_I L1 L1 L1 L1 L1 L1 L2 L1 L2 L2 L2 L2 L3 L1 L3 L3 L3 L3 L1 L1 L1 L1 L1 L1 L2 L1 L2 L2 L2 L2 L3 L1 L3 L3 L3

Msm_PhaseCalibrationDataType
Unsigned16 Unsigned16 Integer8 Integer8 Unsigned16 Unsigned16 Unsigned16 Unsigned16 Integer8 Integer8 Unsigned16 Unsigned16 Unsigned16 Unsigned16 Integer8 Integer8 Unsigned16 Unsigned16 2 2 1 1 2 2 2 2 1 1 2 2 2 2 1 1 2 2

dByte 30

Byte Nr 0

PhaseCalibrationData_High [ 3 ]

Msm_PhaseCalibrationDataType
Unsigned16 Unsigned16 Integer8 Integer8 Unsigned16 Unsigned16 Unsigned16 Unsigned16 Integer8 Integer8 Unsigned16 Unsigned16 Unsigned16 Unsigned16 Integer8 Integer8 Unsigned16 2 2 1 1 2 2 2 2 1 1 2 2 2 2 1 1 2

30

30

Landis+Gyr AG

Revision Date: 09.09.2009

Page 105 / 190

Class Description CalibrationValue_U L3 Unsigned16 2

Compiled for P05.H

Cal_Current_Offset_Low Cal_Current_Offset_High I_min_S_Base_VI CalBitParameter (see below) Msm_ScaleFactors


VoltageFactor.MultFactor VoltageFactor.ExpFactor CurrentFactor.MultFactor CurrentFactor.ExpFactor EnergyFactor.MultFactor EnergyFactor.ExpFactor EnergyTransformerFactor.MultFacto r EnergyTransformerFactor.ExpFacto r

Unsigned16 Unsigned16 Unsigned32 Msm_CalBitParameterDataType CalScalingFactorsDataType


Unsigned16 Integer8 Unsigned16 Integer8 Unsigned16 Integer8 Unsigned16 Integer8 2 1 2 1 2 1 2 1

2 2 4 2 16

60 62 64 68 70
70 72 74 76 78 80 82 84

CreepStartLimit
[0], Active Energy [1], Reactive Energy

Msm_CreepStartLimitDataType
Unsigned32 Unsigned32 4 4

8 18 18 18 4 4 4 4 1 1 1 4 4 4 4 4
2 1

88 96 114 132 152 156 160 164 168 169 170 172 176 180 184 188
188 190

Msm_ComWrParam_Low[ 18 ] Msm_ComWrParam_High [ 18 ] Msm_ComWrParamBatt [ 18 ] StartLimitAmpere StartLimitAmpereHours I_GainSwitch_LowLimit I_GainSwitch_HighLimit GainSwitch_Timeout MagneticCorrection_Low MagneticCorrection_High I_Ref_Mag_Corr_Low I_Ref_Mag_Corr_High I_min_Mag_Corr I_Limit_Mag_Corr PhaseCorrection
PhaseCorrection.MultFactor PhaseCorrrection.ExpFactor

Unsigned8 * 18 Unsigned8 * 18 Unsigned8 * 18 Unsigned32 Unsigned32 Unsigned32 Unsigned32 Unsigned8 Unsigned8 Unsigned8 Unsigned32 Unsigned32 Unsigned32 Unsigned32
Unsigned16 Integer8

I_HighLimit_Phase_Corr U_LowLimit_Energy Reserve4 Reserve3 Reserve2 Reserve1

Unsigned32 Unsigned32 Unsigned32 Unsigned32 Unsigned32 Unsigned32

4 4 4 4 4 4

192 196 200 204 208 212

PhaseCalibrationData_Low and PhaseCalibrationData_High containing the calibration values for the two gain ranges. Cal_Current_Offset_Low and Cal_Current_Offset_High are the current offset correction applied in the calibration routine. I_min_S_Base_VI is the minimum current for calculation the apparent energy with RMS values. If the current is below this limit, the apparent energy is always calculated with the active and reactive energy. Msm_CalBitParameterData is a parameter that controls some features in the handling and calculations of the measurement values. It is defined bitwise as follows:
Bit 0 1 2 3 4 5 6 7 8 9 Name Polarity P Polarity Q Polarity PhiV Polarity PhiI Phi_V_Round_30 Filter_Phi_V Filter_f Unused Q_FreqComp PolarityPhaseCorr Definition Bit used to reverse the polarity of the active energy Bit used to reverse the polarity of the reactive energy Selects the sense of the rotation used in the calculations Defines the reference used in the calculation of the angles between V and I. Defines if angles are rounded to the nearest 30 limit or not If enabled (1), the angles are updated only after two consecutive equal results of their calculation. Otherwise each value is used as update If set to 1, the frequency is filtered, otherwise not Is set to 1, frequency compensation is enabled for the reactive measurement: otherwise disabled Bit used to reverse the polarity of the phase correction Values 1=normal; 0=reverse 1=normal; 0=reverse 0 for L1L2L3; 1 for L3L2L1 1 for VI 0 for IV 1=on; 0=off 1=on; 0=off 1=on; 0=off 0 1=on; 0=off 0=normal; 1=reverse

Landis+Gyr AG

Revision Date: 09.09.2009

Page 106 / 190

Class Description 10-15 Reserved

Compiled for P05.H

Msm_ScaleFactors are the calculation factors for adapting to the used current loop. The attribute EneryTransformatorFactor is calulcated at startup. CreepStartLimit is the creep limit for the energy. Msm_ComWrParam_Low, Msm_ComWrParam_High and Msm_ComWrParamBatt are octet strings containing the parameters for configuring the MMI sensors in Normal Operating smaller Gain, Normal Operating higher Gain and Battery Mode.

Each octet string has 18 bytes: 6 for each sensor. The content of each byte is described below. The column FOX3 shows the bit value used in the FOX3 meter:
Byte Bit
7 6 5 4 3 2 1 0

Parameter
LP EXT_REF OFFSET VDDH TM

Byte Bit
7 6 5 4 3 2 1 0

Parameter
IC_DELAY

Byte Bit
7 6 5 4 3 2 1 0

Parameter
TC

IS_A IS2

IC_SD

Byte Bit
7 6 5 4 3 2 1 0

Parameter
IS_DELAY

Byte Bit
7 6 5 4 3 2 1 0

Parameter
LSB_FIRST Gap EXT_COIL Q IC_A*) IC2

Byte Bit
7 6 5 4 3 2 1 0

Parameter
CHOP P_LP MODE

PRE_DIV

IS_SD

*)

IC_A depends on the gain range

Where:

Landis+Gyr AG

Revision Date: 09.09.2009

Page 107 / 190

Class Description

Compiled for P05.H

Parameter
EXT_COIL EXT_REF CHOP GAP IC_A

Nr. bits
1 1 1 1 3

Description
Selection of the external sensor 0 Shunt or CT 1 Embedded coil (Digital integrator in the signal path) Source for the voltage reference: 0 internal 1 external Chopper Mode 0 Preamp and A-to-D converter are chopped ( as in MMI3B) 1 Only Preamp is chopped Produces a delay of 64 cycles all 512 samples. Active high. Should not be used yet (set to 0). Analog amplification for coil channel 000 50 001 100 010 150 011 200 100 15 101 30 110 45 111 60 (60 with MMI3C corresponds to a gain of 200 with MMI3B) Delay IC to V sampling. (Attention: the value of bits 6 and 7 must be inverted!) Single delay of 1 TS for both current channels. Integrator amplification increased by a factor of 2. Active high. Analog amplification. Same definition as for IC_A. Delay IS to V sample. (Attention: the value of bits 6 and 7 must be inverted!) No impact. Is set internally to IC_SD. Eventually future use. Integrator amplification increased by a factor of 2. Active high. Low Power mode 0 Normal 1 low power (fS 600kHz) Setting for selecting which bit is sent first. The bytes remain in the same order. This setting has only an impact on the data-read operation; write commands are always transferred MSB first. 0 MSB first 1 LSB first Mode Selection 00 3-channel measurement 10 not defined 01 2-channel, IS and V 11 2-channel, IC and V Low pass filter in the energy channels. 1= activated; 0= deactivated Value for the frequency divider. Reactive power calculated for 0 IC 1 IS Temperature coefficient of the voltage reference. Test modes (should be set to 0000) Reference for VIN: 0 Vref 1 VDD/2

IC_DELAY IC_SD IC2 IS_A IS_DELAY IS_SD IS2 LP LSB_FIRST

7 1 1 3 7 1 1 1 1

MODE

Offset P_LP PRE_DIV Q TC TM VDDH

1 1 4 1 4 4 1

StartLimitAmpere: All current values below this limit are set to 0. StartLimitAmpereHour : The current value must be over this limit to perform the ampere hour calculation. U_LowLimit_Energy : The energy is only measured if the phase voltage is over this limit

3.36 Object List [10010-0-1-0]


General class for display objects. Used for menus and for lists. Following objects belog to this class: ReadoutList, DisplayList, DisplayMenu4, DisplayMenu3, DisplayMenu2, DisplayMenu1, DisplayMenu and ServiceMenu. Object List 0..n class_id=10010, version=1 Attributes 1 LogicalName
Landis+Gyr AG

(static)

Data Type octetstring


Revision Date: 09.09.2009

Min

Max

Def
00 00 F0 0E xx FF

Page 108 / 190

Class Description

Compiled for P05.H

2 IdString 3 MaxNrOfObjects 4 VirtualNameList 5 AttrVaaAccList Specific Method(s)

(static) (const) (static) (static) m/o

octetstring Unsigned16 octetstring octetstring

Attribute Description MaxNrOfObjects Type: Unsigned16 Constant. Determines the maximun number of objects in a list. Implementation Note: Maximum number of entries Diacom:
Software version B08, C06 B09, B10, B11, B12, B13, B14, B21, B22, C07, C08 Number of entries 100 180

Maximum number of entries Diafire:


Object DisplayList DisplayMenu1 ReadoutList DisplayMenu DisplayMenu2 DisplayMenu3 DisplayMenu4 DisplayMenu5 DisplayMenu6 ServiceMenu MaxNrEntr 150 150 150 40 40 40 40 40 40 40 Virt.Name 901 903 900 902 904 905 906 914 915 908 use Autoscroll List Manual scroll list internal use (for test) User Menu Load Profile Eventlog Intermediate values Energy Losses reserve Service Menu Name bILLIng

LoAdProF EuEntLog SnAPShot LOSSES diSP6

VirtualNameList Type: octetstring A list organized as an array of Unsigned16 containing references to the objects that are displayed. The virtual names are used as references (usually the current value of the selected object). The numbers of the virtual names are found in the symbol file of the corresponding firmware version (e.g. B09.sym). The tables below show some of the most used virtual names, but they may differ for some existent versions of firmware.
0 NoVirtualName

Energy and total registers


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 EnergyRegister1 EnergyRegister2 EnergyRegister3 EnergyRegister4 EnergyRegister5 EnergyRegister6 EnergyRegister7 EnergyRegister8 EnergyRegister9 EnergyRegister10 EnergyRegister11 EnergyRegister12 EnergyRegister13 EnergyRegister14 EnergyRegister15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 EnergyRegister16 EnergyRegister17 EnergyRegister18 EnergyRegister19 EnergyRegister20 EnergyRegister21 EnergyRegister22 EnergyRegister23 EnergyRegister24 EnergyRegister25 EnergyRegister26 EnergyRegister27 EnergyRegister28 EnergyRegister29 EnergyRegister30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 EnergyRegister31 EnergyRegister32 EnergyRegister33 EnergyRegister34 EnergyRegister35 EnergyRegister36 EnergyRegister37 EnergyRegister38 EnergyRegister39 EnergyRegister40 EnergyRegister41 EnergyRegister42 EnergyRegister43 EnergyRegister44 EnergyRegister45 46 47 48 51 52 53 54 55 56 57 58 59 60 EnergyRegister46 EnergyRegister47 EnergyRegister48 EnergyTotalRegisterM1 EnergyTotalRegisterM2 EnergyTotalRegisterM3 EnergyTotalRegisterM4 EnergyTotalRegisterM5 EnergyTotalRegisterM6 EnergyTotalRegisterM7 EnergyTotalRegisterM8 EnergyTotalRegisterM9 EnergyTotalRegisterM10

P05 (Fox3) specific: 1 EnergyRegister1 2 EnergyRegister2 3 EnergyRegister3 4 EnergyRegister4 5 EnergyRegister5 6 EnergyRegister6 7 EnergyRegister7 8 EnergyRegister8 9 EnergyRegister9 10 EnergyRegister10

16 17 18 19 20 21 22 23 24 25

EnergyRegister16 EnergyRegister17 EnergyRegister18 EnergyRegister19 EnergyRegister20 EnergyRegister21 EnergyRegister22 EnergyRegister23 EnergyRegister24 EnergyRegister25

31 32 33 34 35 36 37 38 39 40

EnergyRegister31 EnergyRegister32 EnergyRegister33 EnergyRegister34 EnergyRegister35 EnergyRegister36 EnergyRegister37 EnergyRegister38 EnergyRegister39 EnergyRegister40

46 47 48 49 50 51

EnergyRegister46 EnergyRegister47 EnergyRegister48 EnergyRegister49 EnergyRegister50 EnergyRegister51

55

EnergyTotalRegisterM1

Landis+Gyr AG

Revision Date: 09.09.2009

Page 109 / 190

Class Description 11 12 13 14 15 EnergyRegister11 EnergyRegister12 EnergyRegister13 EnergyRegister14 EnergyRegister15 26 27 28 29 30 EnergyRegister26 EnergyRegister27 EnergyRegister28 EnergyRegister29 EnergyRegister30 41 42 43 44 45 EnergyRegister41 EnergyRegister42 EnergyRegister43 EnergyRegister44 EnergyRegister45 56 57 58 59 60 61 62 63 64

Compiled for P05.H EnergyTotalRegisterM2 EnergyTotalRegisterM3 EnergyTotalRegisterM4 EnergyTotalRegisterM5 EnergyTotalRegisterM6 EnergyTotalRegisterM7 EnergyTotalRegisterM8 EnergyTotalRegisterM9 EnergyTotalRegisterM10

Demand (Prunning) and LastAverage (Pfrozzen) registers


101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 DemandRegister1 DemandRegister2 DemandRegister3 DemandRegister4 DemandRegister5 DemandRegister6 DemandRegister7 DemandRegister8 DemandRegister9 DemandRegister10 DemandRegister11 DemandRegister12 DemandRegister13 DemandRegister14 DemandRegister15 DemandRegister16 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 DemandFrozenValueDisplayRegister1 DemandFrozenValueDisplayRegister2 DemandFrozenValueDisplayRegister3 DemandFrozenValueDisplayRegister4 DemandFrozenValueDisplayRegister5 DemandFrozenValueDisplayRegister6 DemandFrozenValueDisplayRegister7 DemandFrozenValueDisplayRegister8 DemandFrozenValueDisplayRegister9 DemandFrozenValueDisplayRegister10 DemandFrozenValueDisplayRegister11 DemandFrozenValueDisplayRegister12 DemandFrozenValueDisplayRegister13 DemandFrozenValueDisplayRegister14 DemandFrozenValueDisplayRegister15 DemandFrozenValueDisplayRegister16

Maximum Demand (Pmax) and Cummulated max. demand (PcumMax) registers


141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 DemandPmaxRegister1 DemandPmaxRegister2 DemandPmaxRegister3 DemandPmaxRegister4 DemandPmaxRegister5 DemandPmaxRegister6 DemandPmaxRegister7 DemandPmaxRegister8 DemandPmaxRegister9 DemandPmaxRegister10 DemandPmaxRegister11 DemandPmaxRegister12 DemandPmaxRegister13 DemandPmaxRegister14 DemandPmaxRegister15 DemandPmaxRegister16 DemandPmaxRegister17 DemandPmaxRegister18 DemandPmaxRegister19 DemandPmaxRegister20 DemandPmaxRegister21 DemandPmaxRegister22 DemandPmaxRegister23 DemandPmaxRegister24 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 DemandCumMaxValueDisplayRegister1 DemandCumMaxValueDisplayRegister2 DemandCumMaxValueDisplayRegister3 DemandCumMaxValueDisplayRegister4 DemandCumMaxValueDisplayRegister5 DemandCumMaxValueDisplayRegister6 DemandCumMaxValueDisplayRegister7 DemandCumMaxValueDisplayRegister8 DemandCumMaxValueDisplayRegister9 DemandCumMaxValueDisplayRegister10 DemandCumMaxValueDisplayRegister11 DemandCumMaxValueDisplayRegister12 DemandCumMaxValueDisplayRegister13 DemandCumMaxValueDisplayRegister14 DemandCumMaxValueDisplayRegister15 DemandCumMaxValueDisplayRegister16 DemandCumMaxValueDisplayRegister17 DemandCumMaxValueDisplayRegister18 DemandCumMaxValueDisplayRegister19 DemandCumMaxValueDisplayRegister20 DemandCumMaxValueDisplayRegister21 DemandCumMaxValueDisplayRegister22 DemandCumMaxValueDisplayRegister23 DemandCumMaxValueDisplayRegister24 199 DemandSystem

String registers, simple value registers, monitor registers and counter registers
201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 StringRegisterID1 = 201 StringRegisterID1_1 StringRegisterID1_2 StringRegisterID1_3 StringRegisterID1_4 StringRegisterID2 StringRegisterID2_1 StringRegisterID2_2 StringRegisterDateLastParam StringRegisterDateLastCalib StringRegisterDateLastTimeSwitch StringRegisterDateLastRCR EepromCheckId StringRegisterSoftwareId StringRegisterParamId StringRegisterCircuitNr StringRegisterConfigId StringRegisterDLMSDeviceId 301 302 303 304 305 306 307 320 451 452 453 454 455 456 457 458 459 460 MeterConstantActivePulseRegister MeterConstantReactivePulseRegister MeterConstantScaleFactorDemandRegister MeterConstantScaleFactorEnergyRegister MeterConstantCurrentTransformerRegister MeterConstantVoltageTransformerRegister MeterConstantRelaisOutputRegister Mab_MeterUseRelaisForS0orCS MonitorThresholdDisplayRegister1 MonitorThresholdDisplayRegister2 MonitorThresholdDisplayRegister3 MonitorThresholdDisplayRegister4 MonitorThresholdDisplayRegister5 MonitorThresholdDisplayRegister6 MonitorThresholdDisplayRegister7 MonitorThresholdDisplayRegister8 MonitorThresholdDisplayRegister9 MonitorThresholdDisplayRegister10 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 MonitorRegister1 MonitorRegister2 MonitorRegister3 MonitorRegister4 MonitorRegister5 MonitorRegister6 MonitorRegister7 MonitorRegister8 MonitorRegister9 MonitorRegister10 MonitorRegister11 MonitorRegister12 MonitorRegister13 MonitorRegister14 MonitorRegister15 MonitorRegister16 MonitorRegister17 MonitorRegister18

Landis+Gyr AG

Revision Date: 09.09.2009

Page 110 / 190

Class Description 219 220 221 222 223 224 225 226 227 250 251 252 StringRegisterDLMSDeviceIdOption2 StringRegisterASWHardwareInfo StringRegisterOPDataBlock StringRegisterASWDataBlock StringRegisterSRDataBlock StringRegisterRcrId StringRegisterStandardDataSatz StringRegisterConnectionId StringRegisterIecDeviceAddress StringRegisterDgcDeviceAddress StringRegisterHardwareIdent StringRegisterTimeOrDateOfLastReset *May be for future use OperatingMinutesRegister1 OperatingMinutesRegister2 OperatingMinutesRegister3 OperatingMinutesRegister4 OperatingMinutesRegister5 OperatingMinutesRegister6 OperatingMinutesRegister7 OperatingMinutesRegister8 OperatingMinutesTotalRegister CountRegisterStatusParam CountRegisterNumberParam ReconfigurationCounter ResetCountRegister1 ResetCountRegister2 ResetCountRegister3 ResetCountRegister4 ResetCountRegister5 ResetDayCountRegister SeasonCountRegister BatteryMinutesCountRegister PhaseFailCountRegisterL1 PhaseFailCountRegisterL2 PhaseFailCountRegisterL3 PhaseFailCountRegisterL1L2L3 461 462 463 464 465 466 467 468 469 470 MonitorThresholdDisplayRegister11 MonitorThresholdDisplayRegister12 MonitorThresholdDisplayRegister13 MonitorThresholdDisplayRegister14 MonitorThresholdDisplayRegister15 MonitorThresholdDisplayRegister16 MonitorThresholdDisplayRegister17 MonitorThresholdDisplayRegister18 MonitorThresholdDisplayRegister19 MonitorThresholdDisplayRegister20

Compiled for P05.H 419 MonitorRegister19 420 MonitorRegister20

Counters, display lists, pulse and static outputs


501 502 503 504 505 506 507 508 509 521 522 523 551 552 553 554 555 556 557 591 601 602 603 604 699 LastCountRegister 1000 700 TariffApplication 1001 701 MatrixRelaysMatrix ##needed ? 1002 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 919 920 921 922 923 924 925 926 ReadoutList DisplayList DisplayMenuList DisplayMenuList1 DisplayMenuList2 DisplayMenuList3 DisplayMenuList4 ServiceList ServiceMenuList ServiceMenuList1 ServiceMenuList2 ServiceMenuList3 BackupList ScrollModeList MmiList_xy MenuEnd CalibrationModeActivate BatteryMonitoringActivate BmmStaticList1 BmmStaticList2 BmmDynamicList BmmOtherList1 BmmOtherList2 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1201 1202 1203 1204 1205 1206 1207 1208 StateRegisterTerminalBlock StateRegisterInternalSignals StateRegisterInternalStatus PulseOutput1 PulseOutput2 PulseOutput3 PulseOutput4 PulseOutput5 PulseOutput6 PulseOutput7 PulseOutput8 PulseInput1 PulseInput2 StatusOutput1 StatusOutput2 StatusOutput3 StatusOutput4 StatusOutput5 StatusOutput6 StatusOutput7 StatusOutput8

Diagnostic Registers, control status, miscelaneous


1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 DiagnosticRegister1 DiagnosticRegister2 DiagnosticRegister3 DiagnosticRegister4 DiagnosticRegister5 DiagnosticRegister6 DiagnosticRegister7 DiagnosticRegister8 DiagnosticRegister9 DiagnosticRegister10 DiagnosticRegister11 DiagnosticRegister12 DiagnosticRegister13 DiagnosticRegister14 DiagnosticRegister15 1501 1502 1503 1504 1505 1551 1552 1571 1572 1591 2000 2010 2015 2020 2021 2022 2023 2024 2025 2026 2028 2029 ControlStatus1 ControlStatus2 ControlStatus3 ControlStatus4 ControlStatus5 Mab_PowerFactorFrozen Mab_PowerFactorRunningAverage Mab_PFminRegister1 Mab_PFminRegister2 Mab_ThresholdPowerFactorValueDis playRegister MeasurementSystem ErrorRegister1 EventRegister SystemTime WeekDay Cts ActivityCalendarInstance SpecialDaysTableInstance Mab_PassiveCalendarName Mab_PassiveCalendarActivationDate ProtocolSelector ICCommData 2030 2031 2032 2033 2035 Iep_CommunicationData Iep_CommunicationData2 Hdl_CommunicationData Hdl_CommunicationData2 ModemInitData

2036 2037 2038

AutoAnswerInitData AutoDialInitData GSMInformation

1316 1317 1318

DiagnosticRegister16 DiagnosticRegister17 DiagnosticRegister18

2040 2050 2060 2070 2080 2090 2095 2098 2099

Ioh_Parameters Battery DlmsAssociationView ObjectOfRubishRegister ExceptionHandler TemperaturCalibrationRegister ControlInputCalibrationStoreRegister MeterFunctionRegister SapAssignment

2310 Mab_SMSController Security, reset control, profiles and other special


2100 SecurityAccess 2130 ResetControl 4007 ProfileRowMask7

Landis+Gyr AG

Revision Date: 09.09.2009

Page 111 / 190

Class Description 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 VaaDefinition1 VaaDefinition2 VaaDefinition3 VaaDefinition4 VaaDefinition5 VaaDefinition6 VaaDefinition7 VaaDefinition8 VaaDefinition9 VaaDefinition10 VaaDefinition11 VaaDefinition12 VaaDefinition13 VaaDefinition14 VaaDefinition15 VaaDefinition16 2131 2200 2300 2302 2303 2304 ResetActionSchedulerInstance HdlcDestinationLowerMacAddress BaseIdent Option1IdentReference Option1IdentCopy Option2Ident 4008 4009 4010 4011 4012 4013 4014 4015 4016 4033 ProfileRowMask8 ProfileRowMask9 ProfileRowMask10 ProfileRowMask11 ProfileRowMask12 ProfileRowMask13 ProfileRowMask14 ProfileRowMask15 ProfileRowMask16 ProfileOwnFlags

Compiled for P05.H

2400

Dgp_CommunicationData (USA)

0x1000 EventLog1 (*) 4001 ProfileRowMask1 0x2000 LoadProfile1 (*) 4002 ProfileRowMask2 0x3000 IntermediateValue (*) 4003 ProfileRowMask3 4004 ProfileRowMask4 0xFFFD DummyObjectForLcdTest 4005 ProfileRowMask5 0xFFFE StartOfList 4006 ProfileRowMask6 0xFFFF EndOfList (*) These numbers are used as basis to which the virtual name of the desired object is added. E.g. if the intermediate values of EnergyRegister7 are to be displayed, then the value: 0x3000 + 0x0007 = 0x3007 is set in the attribute VirtualNameList of the corresponding ObjecList object.

3.37 Set Mode List [10011-0-1-0]


Class used for the set mode list. It allows to editor (set) values with the buttons. Object name in the firmware: ServiceMenu1 Set Mode List 0..n class_id=10011, version=1 Attributes 1 LogicalName 2 IdString 3 MaxNrOfObjects 4 VirtualNameList 5 AttrVaaAccList Specific Method(s) Data Type
(static) (static) (const) (static) (static) m/o
octetstring

Min

Max

Def
00 00 F0 0E 31 FF

octetstring Unsigned16 octetstring octetstring

180

Attribute Description MaxNrOfObjects Type: Unsigned16 Constant. Determines the maximun number of objects in a list. Implementation Note: Maximum number of entries Diacom:
Software version B08, C06 B09, B10, B11, B12, B13, B14, B21, B22, C07, C08 Number of entries 100 180

Maximum number of entries Diafire:


Object ServiceMenu1 MaxNrEntr 40 Virt.Name use 909 Set mode list Name SEt

VirtualNameList Type: octetstring A list organized as an array of Unsigned16 containing references to the objects that are displayed. The virtual names are used as references (usually the current value of the selected object). The numbers of the virtual names are found in the symbol file of the corresponding firmware version (e.g. B09.sym). The tables below show some of the most used virtual names, but they may differ for some existent versions of firmware.
0 NoVirtualName

Energy and total registers


1 2 3 4 5 6 EnergyRegister1 EnergyRegister2 EnergyRegister3 EnergyRegister4 EnergyRegister5 EnergyRegister6 16 17 18 19 20 21 EnergyRegister16 EnergyRegister17 EnergyRegister18 EnergyRegister19 EnergyRegister20 EnergyRegister21 31 32 33 34 35 36 EnergyRegister31 EnergyRegister32 EnergyRegister33 EnergyRegister34 EnergyRegister35 EnergyRegister36 46 47 48 51 52 EnergyRegister46 EnergyRegister47 EnergyRegister48 EnergyTotalRegisterM1 EnergyTotalRegisterM2

Landis+Gyr AG

Revision Date: 09.09.2009

Page 112 / 190

Class Description 7 8 9 10 11 12 13 14 15 EnergyRegister7 EnergyRegister8 EnergyRegister9 EnergyRegister10 EnergyRegister11 EnergyRegister12 EnergyRegister13 EnergyRegister14 EnergyRegister15 22 23 24 25 26 27 28 29 30 EnergyRegister22 EnergyRegister23 EnergyRegister24 EnergyRegister25 EnergyRegister26 EnergyRegister27 EnergyRegister28 EnergyRegister29 EnergyRegister30 37 38 39 40 41 42 43 44 45 EnergyRegister37 EnergyRegister38 EnergyRegister39 EnergyRegister40 EnergyRegister41 EnergyRegister42 EnergyRegister43 EnergyRegister44 EnergyRegister45 53 54 55 56 57 58 59 60

Compiled for P05.H EnergyTotalRegisterM3 EnergyTotalRegisterM4 EnergyTotalRegisterM5 EnergyTotalRegisterM6 EnergyTotalRegisterM7 EnergyTotalRegisterM8 EnergyTotalRegisterM9 EnergyTotalRegisterM10

Demand (Prunning) and LastAverage (Pfrozzen) registers


101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 DemandRegister1 DemandRegister2 DemandRegister3 DemandRegister4 DemandRegister5 DemandRegister6 DemandRegister7 DemandRegister8 DemandRegister9 DemandRegister10 DemandRegister11 DemandRegister12 DemandRegister13 DemandRegister14 DemandRegister15 DemandRegister16 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 DemandFrozenValueDisplayRegister1 DemandFrozenValueDisplayRegister2 DemandFrozenValueDisplayRegister3 DemandFrozenValueDisplayRegister4 DemandFrozenValueDisplayRegister5 DemandFrozenValueDisplayRegister6 DemandFrozenValueDisplayRegister7 DemandFrozenValueDisplayRegister8 DemandFrozenValueDisplayRegister9 DemandFrozenValueDisplayRegister10 DemandFrozenValueDisplayRegister11 DemandFrozenValueDisplayRegister12 DemandFrozenValueDisplayRegister13 DemandFrozenValueDisplayRegister14 DemandFrozenValueDisplayRegister15 DemandFrozenValueDisplayRegister16

Maximum Demand (Pmax) and Cummulated max. demand (PcumMax) registers


141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 DemandPmaxRegister1 DemandPmaxRegister2 DemandPmaxRegister3 DemandPmaxRegister4 DemandPmaxRegister5 DemandPmaxRegister6 DemandPmaxRegister7 DemandPmaxRegister8 DemandPmaxRegister9 DemandPmaxRegister10 DemandPmaxRegister11 DemandPmaxRegister12 DemandPmaxRegister13 DemandPmaxRegister14 DemandPmaxRegister15 DemandPmaxRegister16 DemandPmaxRegister17 DemandPmaxRegister18 DemandPmaxRegister19 DemandPmaxRegister20 DemandPmaxRegister21 DemandPmaxRegister22 DemandPmaxRegister23 DemandPmaxRegister24 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 DemandCumMaxValueDisplayRegister1 DemandCumMaxValueDisplayRegister2 DemandCumMaxValueDisplayRegister3 DemandCumMaxValueDisplayRegister4 DemandCumMaxValueDisplayRegister5 DemandCumMaxValueDisplayRegister6 DemandCumMaxValueDisplayRegister7 DemandCumMaxValueDisplayRegister8 DemandCumMaxValueDisplayRegister9 DemandCumMaxValueDisplayRegister10 DemandCumMaxValueDisplayRegister11 DemandCumMaxValueDisplayRegister12 DemandCumMaxValueDisplayRegister13 DemandCumMaxValueDisplayRegister14 DemandCumMaxValueDisplayRegister15 DemandCumMaxValueDisplayRegister16 DemandCumMaxValueDisplayRegister17 DemandCumMaxValueDisplayRegister18 DemandCumMaxValueDisplayRegister19 DemandCumMaxValueDisplayRegister20 DemandCumMaxValueDisplayRegister21 DemandCumMaxValueDisplayRegister22 DemandCumMaxValueDisplayRegister23 DemandCumMaxValueDisplayRegister24 199 DemandSystem

String registers, simple value registers, monitor registers and counter registers 201 StringRegisterID1 = 201 301 MeterConstantActivePulseRegister 202 StringRegisterID1_1 302 MeterConstantReactivePulseRegister 203 StringRegisterID1_2 303 MeterConstantScaleFactorDemandRegister 204 StringRegisterID1_3 304 MeterConstantScaleFactorEnergyRegister 205 StringRegisterID1_4 305 MeterConstantCurrentTransformerRegister 206 StringRegisterID2 306 MeterConstantVoltageTransformerRegister 207 StringRegisterID2_1 307 MeterConstantRelaisOutputRegister 208 StringRegisterID2_2 209 StringRegisterDateLastParam 451 MonitorThresholdDisplayRegister1 210 StringRegisterDateLastCalib 452 MonitorThresholdDisplayRegister2 211 StringRegisterDateLastTimeSwitch 453 MonitorThresholdDisplayRegister3 212 StringRegisterDateLastRCR 454 MonitorThresholdDisplayRegister4 213 EepromCheckId 455 MonitorThresholdDisplayRegister5 214 StringRegisterSoftwareId 456 MonitorThresholdDisplayRegister6 215 StringRegisterParamId 457 MonitorThresholdDisplayRegister7 216 StringRegisterCircuitNr 458 MonitorThresholdDisplayRegister8 217 StringRegisterConfigId 459 MonitorThresholdDisplayRegister9 218 StringRegisterDLMSDeviceId 460 MonitorThresholdDisplayRegister10 219 StringRegisterDLMSDeviceIdOption2 461 MonitorThresholdDisplayRegister11

401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419

MonitorRegister1 MonitorRegister2 MonitorRegister3 MonitorRegister4 MonitorRegister5 MonitorRegister6 MonitorRegister7 MonitorRegister8 MonitorRegister9 MonitorRegister10 MonitorRegister11 MonitorRegister12 MonitorRegister13 MonitorRegister14 MonitorRegister15 MonitorRegister16 MonitorRegister17 MonitorRegister18 MonitorRegister19

Landis+Gyr AG

Revision Date: 09.09.2009

Page 113 / 190

Class Description StringRegisterASWHardwareInfo 462 MonitorThresholdDisplayRegister12 StringRegisterOPDataBlock 463 MonitorThresholdDisplayRegister13 StringRegisterASWDataBlock 464 MonitorThresholdDisplayRegister14 StringRegisterSRDataBlock 465 MonitorThresholdDisplayRegister15 StringRegisterRcrId 466 MonitorThresholdDisplayRegister16 StringRegisterStandardDataSatz 467 MonitorThresholdDisplayRegister17 StringRegisterConnectionId 468 MonitorThresholdDisplayRegister18 StringRegisterIecDeviceAddress 469 MonitorThresholdDisplayRegister19 StringRegisterDgcDeviceAddress 470 MonitorThresholdDisplayRegister20 StringRegisterHardwareIdent StringRegisterTimeOrDateOfLastReset *May be for future use Counters, display lists, pulse and static outputs 501 OperatingMinutesRegister1 699 LastCountRegister 1000 502 OperatingMinutesRegister2 700 TariffApplication 1001 503 OperatingMinutesRegister3 701 MatrixRelaysMatrix ##needed ? 1002 504 OperatingMinutesRegister4 505 OperatingMinutesRegister5 900 ReadoutList 1101 506 OperatingMinutesRegister6 901 DisplayList 1102 507 OperatingMinutesRegister7 902 DisplayMenuList 1103 508 OperatingMinutesRegister8 903 DisplayMenuList1 1104 509 OperatingMinutesTotalRegister 904 DisplayMenuList2 1105 905 DisplayMenuList3 1106 521 CountRegisterStatusParam 906 DisplayMenuList4 1107 522 CountRegisterNumberParam 907 ServiceList 1108 523 ReconfigurationCounter 908 ServiceMenuList 1109 551 ResetCountRegister1 909 ServiceMenuList1 1110 552 ResetCountRegister2 910 ServiceMenuList2 553 ResetCountRegister3 911 ServiceMenuList3 1201 554 ResetCountRegister4 912 BackupList 1202 555 ResetCountRegister5 913 ScrollModeList 1203 556 ResetDayCountRegister 914 MmiList_xy 1204 557 SeasonCountRegister 919 MenuEnd 1205 920 CalibrationModeActivate 1206 591 BatteryMinutesCountRegister 921 BatteryMonitoringActivate 1207 922 BmmStaticList1 1208 601 PhaseFailCountRegisterL1 923 BmmStaticList2 602 PhaseFailCountRegisterL2 924 BmmDynamicList 603 PhaseFailCountRegisterL3 925 BmmOtherList1 604 PhaseFailCountRegisterL1L2L3 926 BmmOtherList2 Diagnostic Registers, control status, miscelaneous 1301 DiagnosticRegister1 1501 1302 DiagnosticRegister2 1502 1303 DiagnosticRegister3 1503 1304 DiagnosticRegister4 1504 1305 DiagnosticRegister5 1505 1306 DiagnosticRegister6 1307 DiagnosticRegister7 2000 1308 DiagnosticRegister8 1309 DiagnosticRegister9 2010 1310 DiagnosticRegister10 2015 1311 DiagnosticRegister11 2020 1312 DiagnosticRegister12 2021 1313 DiagnosticRegister13 2022 1314 DiagnosticRegister14 2023 1315 DiagnosticRegister15 2024 1316 DiagnosticRegister16 1317 DiagnosticRegister17 2028 1318 DiagnosticRegister18 2029 ControlStatus1 ControlStatus2 ControlStatus3 ControlStatus4 ControlStatus5 MeasurementSystem ErrorRegister1 EventRegister SystemTime WeekDay Cts ActivityCalendarInstance SpecialDaysTableInstance ProtocolSelector ICCommData 2030 2031 2032 2033 2035 2036 2037 2038 2040 2050 2060 2070 2080 2090 2095 2098 2099 220 221 222 223 224 225 226 227 250 251 252

Compiled for P05.H 420 MonitorRegister20

StateRegisterTerminalBlock StateRegisterInternalSignals StateRegisterInternalStatus PulseOutput1 PulseOutput2 PulseOutput3 PulseOutput4 PulseOutput5 PulseOutput6 PulseOutput7 PulseOutput8 PulseInput1 PulseInput2 StatusOutput1 StatusOutput2 StatusOutput3 StatusOutput4 StatusOutput5 StatusOutput6 StatusOutput7 StatusOutput8

Iep_CommunicationData Iep_CommunicationData2 Hdl_CommunicationData Hdl_CommunicationData2 ModemInitData AutoAnswerInitData AutoDialInitData GSMInformation Ioh_Parameters Battery DlmsAssociationView ObjectOfRubishRegister ExceptionHandler TemperaturCalibrationRegister ControlInputCalibrationStoreRegister MeterFunctionRegister SapAssignment

Security, reset control, profiles and other special


2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 SecurityAccess VaaDefinition1 VaaDefinition2 VaaDefinition3 VaaDefinition4 VaaDefinition5 VaaDefinition6 VaaDefinition7 VaaDefinition8 VaaDefinition9 VaaDefinition10 2130 2131 2200 2300 2302 2303 2304 ResetControl ResetActionSchedulerInstance HdlcDestinationLowerMacAddress BaseIdent Option1IdentReference Option1IdentCopy Option2Ident 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4033 ProfileRowMask7 ProfileRowMask8 ProfileRowMask9 ProfileRowMask10 ProfileRowMask11 ProfileRowMask12 ProfileRowMask13 ProfileRowMask14 ProfileRowMask15 ProfileRowMask16 ProfileOwnFlags

2400

Dgp_CommunicationData (USA)

Landis+Gyr AG

Revision Date: 09.09.2009

Page 114 / 190

Class Description 2111 2112 2113 2114 2115 2116 VaaDefinition11 VaaDefinition12 VaaDefinition13 VaaDefinition14 VaaDefinition15 VaaDefinition16

Compiled for P05.H

0x1000 EventLog1 (*) 4001 ProfileRowMask1 0x2000 LoadProfile1 (*) 4002 ProfileRowMask2 0x3000 IntermediateValue (*) 4003 ProfileRowMask3 4004 ProfileRowMask4 0xFFFD DummyObjectForLcdTest 4005 ProfileRowMask5 0xFFFE StartOfList 4006 ProfileRowMask6 0xFFFF EndOfList (*) These numbers are used as basis to which the virtual name of the desired object is added. E.g. if the intermediate values of EnergyRegister7 are to be displayed, then the value: 0x3000 + 0x0007 = 0x3007 is set in the attribute VirtualNameList of the corresponding ObjecList object.

3.38 Battery [10014-0-80-0]


This class is used for defining the levels at which the battery control is done and it allows also to read the present value of the battery. Version 80 is enhanced to allow two instances of the class (2 batteries). Battery 12 class_id= 10014 version=0 OwnClassVersion=80 Attributes 1 LogicalName 2 AdcValue 3 UnitScale 4 OwnClassVersion 5 IdString 6 AttrVaaAccList 7 DisplayUnitScale 8 HighLimit 9 LowLimit 10 PortAddress 11 MatrixInput 12 BatteryStatus Specific Method(s)
(static) (dynamic)

(static) (static) (static) (static) (static) (static) (static) (static) (Static) (static)
m/o

Data Type octetstring Unsigned8 UnitScaleType Unsigned8 octetstring octetstring UnitScaleType Unsigned8 Unsigned8 Enum Enum Enum

Min

Max

Def
00 00 F0 ## xx FF

80

Attribute Description AdcValue Type: Unsigned8 This attribute is set by the firmware and is the result of the Analog to Digital conversion of the battery voltage. HighLimit Type: Unsigned8 Upper hysteresis limit. The battery voltage is considered sufficient if it is above this level. This value is set by production and shall not be changed afterwards. LowLinit Type: Unsigned8 Lower hysteresis limit. The battery considered as empty when its voltage is below this level. This value is set by production and shall not be changed afterwards. PortAddress Type: Enum Virtual name of ADC channel for testing the battery:
ADC channel Virtual IO number Ioh_BatteryVoltageAnalogInput 66 Ioh_RTCBatteryVoltageAnalogInput 98

BatteryStatus Status of the Battery : BatteryOk = 0x00 BatteryLow = 0x01

Type: Enum

Landis+Gyr AG

Revision Date: 09.09.2009

Page 115 / 190

Class Description

Compiled for P05.H

MatrixInput Type: Enum Input of the matrix to which the information "BatteryLow" must be sent:
Mta impus Number 112 119

GF4 - BatMonitor1 GF11 - BatMonitor2

3.39 End List [10016-0-1-0]


Class used for the End entry in menus or display lists. It has special behaviour when the buttons are pressed. Object name in the firmware: MenuEnd End List 0..n class_id=10016, version=1 Attributes 1 LogicalName 2 IdString 3 MaxNrOfObjects 4 VirtualNameList 5 AttrVaaAccList Specific Method(s) Data Type
(static) (static) (const) (static) (static) m/o
octetstring

Min

Max

Def
00 00 F0 0E 60 FF

octetstring Unsigned16 octetstring octetstring

10

Attribute Description MaxNrOfObjects Type: Unsigned16 Constant. Determines the maximun number of objects in a list. Implementation Note: Maximum number of entries
Software version B08, C06 B09, B10, B11, B12, B13, C07, C08 Number of entries 100 180

VirtualNameList Type: octetstring A list organized as an array of Unsigned16 containing references to the objects that are displayed. The virtual names are used as references (usually the current value of the selected object). The numbers of the virtual names are found in the symbol file of the corresponding firmware version (e.g. B09.sym). The tables below show some of the most used virtual names, but they may differ for some existent versions of firmware.
0 NoVirtualName

Energy and total registers


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 EnergyRegister1 EnergyRegister2 EnergyRegister3 EnergyRegister4 EnergyRegister5 EnergyRegister6 EnergyRegister7 EnergyRegister8 EnergyRegister9 EnergyRegister10 EnergyRegister11 EnergyRegister12 EnergyRegister13 EnergyRegister14 EnergyRegister15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 EnergyRegister16 EnergyRegister17 EnergyRegister18 EnergyRegister19 EnergyRegister20 EnergyRegister21 EnergyRegister22 EnergyRegister23 EnergyRegister24 EnergyRegister25 EnergyRegister26 EnergyRegister27 EnergyRegister28 EnergyRegister29 EnergyRegister30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 EnergyRegister31 EnergyRegister32 EnergyRegister33 EnergyRegister34 EnergyRegister35 EnergyRegister36 EnergyRegister37 EnergyRegister38 EnergyRegister39 EnergyRegister40 EnergyRegister41 EnergyRegister42 EnergyRegister43 EnergyRegister44 EnergyRegister45 46 47 48 51 52 53 54 55 56 57 58 59 60 EnergyRegister46 EnergyRegister47 EnergyRegister48 EnergyTotalRegisterM1 EnergyTotalRegisterM2 EnergyTotalRegisterM3 EnergyTotalRegisterM4 EnergyTotalRegisterM5 EnergyTotalRegisterM6 EnergyTotalRegisterM7 EnergyTotalRegisterM8 EnergyTotalRegisterM9 EnergyTotalRegisterM10

Demand (Prunning) and LastAverage (Pfrozzen) registers


101 102 103 104 DemandRegister1 DemandRegister2 DemandRegister3 DemandRegister4 121 122 123 124 DemandFrozenValueDisplayRegister1 DemandFrozenValueDisplayRegister2 DemandFrozenValueDisplayRegister3 DemandFrozenValueDisplayRegister4

Landis+Gyr AG

Revision Date: 09.09.2009

Page 116 / 190

Class Description 105 106 107 108 109 110 111 112 113 114 115 116 DemandRegister5 DemandRegister6 DemandRegister7 DemandRegister8 DemandRegister9 DemandRegister10 DemandRegister11 DemandRegister12 DemandRegister13 DemandRegister14 DemandRegister15 DemandRegister16 125 126 127 128 129 130 131 132 133 134 135 136 DemandFrozenValueDisplayRegister5 DemandFrozenValueDisplayRegister6 DemandFrozenValueDisplayRegister7 DemandFrozenValueDisplayRegister8 DemandFrozenValueDisplayRegister9 DemandFrozenValueDisplayRegister10 DemandFrozenValueDisplayRegister11 DemandFrozenValueDisplayRegister12 DemandFrozenValueDisplayRegister13 DemandFrozenValueDisplayRegister14 DemandFrozenValueDisplayRegister15 DemandFrozenValueDisplayRegister16

Compiled for P05.H

Maximum Demand (Pmax) and Cummulated max. demand (PcumMax) registers


141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 DemandPmaxRegister1 DemandPmaxRegister2 DemandPmaxRegister3 DemandPmaxRegister4 DemandPmaxRegister5 DemandPmaxRegister6 DemandPmaxRegister7 DemandPmaxRegister8 DemandPmaxRegister9 DemandPmaxRegister10 DemandPmaxRegister11 DemandPmaxRegister12 DemandPmaxRegister13 DemandPmaxRegister14 DemandPmaxRegister15 DemandPmaxRegister16 DemandPmaxRegister17 DemandPmaxRegister18 DemandPmaxRegister19 DemandPmaxRegister20 DemandPmaxRegister21 DemandPmaxRegister22 DemandPmaxRegister23 DemandPmaxRegister24 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 DemandCumMaxValueDisplayRegister1 DemandCumMaxValueDisplayRegister2 DemandCumMaxValueDisplayRegister3 DemandCumMaxValueDisplayRegister4 DemandCumMaxValueDisplayRegister5 DemandCumMaxValueDisplayRegister6 DemandCumMaxValueDisplayRegister7 DemandCumMaxValueDisplayRegister8 DemandCumMaxValueDisplayRegister9 DemandCumMaxValueDisplayRegister10 DemandCumMaxValueDisplayRegister11 DemandCumMaxValueDisplayRegister12 DemandCumMaxValueDisplayRegister13 DemandCumMaxValueDisplayRegister14 DemandCumMaxValueDisplayRegister15 DemandCumMaxValueDisplayRegister16 DemandCumMaxValueDisplayRegister17 DemandCumMaxValueDisplayRegister18 DemandCumMaxValueDisplayRegister19 DemandCumMaxValueDisplayRegister20 DemandCumMaxValueDisplayRegister21 DemandCumMaxValueDisplayRegister22 DemandCumMaxValueDisplayRegister23 DemandCumMaxValueDisplayRegister24 199 DemandSystem

String registers, simple value registers, monitor registers and counter registers 201 StringRegisterID1 = 201 301 MeterConstantActivePulseRegister 401 MonitorRegister1 202 StringRegisterID1_1 302 MeterConstantReactivePulseRegister 402 MonitorRegister2 203 StringRegisterID1_2 303 MeterConstantScaleFactorDemandRegister 403 MonitorRegister3 204 StringRegisterID1_3 304 MeterConstantScaleFactorEnergyRegister 404 MonitorRegister4 205 StringRegisterID1_4 305 MeterConstantCurrentTransformerRegister 405 MonitorRegister5 206 StringRegisterID2 306 MeterConstantVoltageTransformerRegister 406 MonitorRegister6 207 StringRegisterID2_1 307 MeterConstantRelaisOutputRegister 407 MonitorRegister7 208 StringRegisterID2_2 408 MonitorRegister8 209 StringRegisterDateLastParam 451 MonitorThresholdDisplayRegister1 409 MonitorRegister9 210 StringRegisterDateLastCalib 452 MonitorThresholdDisplayRegister2 410 MonitorRegister10 211 StringRegisterDateLastTimeSwitch 453 MonitorThresholdDisplayRegister3 411 MonitorRegister11 212 StringRegisterDateLastRCR 454 MonitorThresholdDisplayRegister4 412 MonitorRegister12 213 EepromCheckId 455 MonitorThresholdDisplayRegister5 413 MonitorRegister13 214 StringRegisterSoftwareId 456 MonitorThresholdDisplayRegister6 414 MonitorRegister14 215 StringRegisterParamId 457 MonitorThresholdDisplayRegister7 415 MonitorRegister15 216 StringRegisterCircuitNr 458 MonitorThresholdDisplayRegister8 416 MonitorRegister16 217 StringRegisterConfigId 459 MonitorThresholdDisplayRegister9 417 MonitorRegister17 218 StringRegisterDLMSDeviceId 460 MonitorThresholdDisplayRegister10 418 MonitorRegister18 219 StringRegisterDLMSDeviceIdOption2 461 MonitorThresholdDisplayRegister11 419 MonitorRegister19 220 StringRegisterASWHardwareInfo 462 MonitorThresholdDisplayRegister12 420 MonitorRegister20 221 StringRegisterOPDataBlock 463 MonitorThresholdDisplayRegister13 222 StringRegisterASWDataBlock 464 MonitorThresholdDisplayRegister14 223 StringRegisterSRDataBlock 465 MonitorThresholdDisplayRegister15 224 StringRegisterRcrId 466 MonitorThresholdDisplayRegister16 225 StringRegisterStandardDataSatz 467 MonitorThresholdDisplayRegister17 226 StringRegisterConnectionId 468 MonitorThresholdDisplayRegister18 227 StringRegisterIecDeviceAddress 469 MonitorThresholdDisplayRegister19 250 StringRegisterDgcDeviceAddress 470 MonitorThresholdDisplayRegister20 251 StringRegisterHardwareIdent 252 StringRegisterTimeOrDateOfLastReset *May be for future use Counters, display lists, pulse and static outputs 501 OperatingMinutesRegister1 699 LastCountRegister 1000 StateRegisterTerminalBlock 502 OperatingMinutesRegister2 700 TariffApplication 1001 StateRegisterInternalSignals

Landis+Gyr AG

Revision Date: 09.09.2009

Page 117 / 190

Class Description 503 504 505 506 507 508 509 521 522 523 551 552 553 554 555 556 557 591 601 602 603 604 OperatingMinutesRegister3 OperatingMinutesRegister4 OperatingMinutesRegister5 OperatingMinutesRegister6 OperatingMinutesRegister7 OperatingMinutesRegister8 OperatingMinutesTotalRegister CountRegisterStatusParam CountRegisterNumberParam ReconfigurationCounter ResetCountRegister1 ResetCountRegister2 ResetCountRegister3 ResetCountRegister4 ResetCountRegister5 ResetDayCountRegister SeasonCountRegister BatteryMinutesCountRegister PhaseFailCountRegisterL1 PhaseFailCountRegisterL2 PhaseFailCountRegisterL3 PhaseFailCountRegisterL1L2L3 701 MatrixRelaysMatrix ##needed ? 1002 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 919 920 921 922 923 924 925 926 ReadoutList DisplayList DisplayMenuList DisplayMenuList1 DisplayMenuList2 DisplayMenuList3 DisplayMenuList4 ServiceList ServiceMenuList ServiceMenuList1 ServiceMenuList2 ServiceMenuList3 BackupList ScrollModeList MmiList_xy MenuEnd CalibrationModeActivate BatteryMonitoringActivate BmmStaticList1 BmmStaticList2 BmmDynamicList BmmOtherList1 BmmOtherList2 ControlStatus1 ControlStatus2 ControlStatus3 ControlStatus4 ControlStatus5 MeasurementSystem ErrorRegister1 EventRegister SystemTime WeekDay Cts ActivityCalendarInstance SpecialDaysTableInstance ProtocolSelector ICCommData 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1201 1202 1203 1204 1205 1206 1207 1208 StateRegisterInternalStatus PulseOutput1 PulseOutput2 PulseOutput3 PulseOutput4 PulseOutput5 PulseOutput6 PulseOutput7 PulseOutput8 PulseInput1 PulseInput2 StatusOutput1 StatusOutput2 StatusOutput3 StatusOutput4 StatusOutput5 StatusOutput6 StatusOutput7 StatusOutput8

Compiled for P05.H

Diagnostic Registers, control status, miscelaneous 1301 DiagnosticRegister1 1501 1302 DiagnosticRegister2 1502 1303 DiagnosticRegister3 1503 1304 DiagnosticRegister4 1504 1305 DiagnosticRegister5 1505 1306 DiagnosticRegister6 1307 DiagnosticRegister7 2000 1308 DiagnosticRegister8 1309 DiagnosticRegister9 2010 1310 DiagnosticRegister10 2015 1311 DiagnosticRegister11 2020 1312 DiagnosticRegister12 2021 1313 DiagnosticRegister13 2022 1314 DiagnosticRegister14 2023 1315 DiagnosticRegister15 2024 1316 DiagnosticRegister16 1317 DiagnosticRegister17 2028 1318 DiagnosticRegister18 2029

2030 2031 2032 2033 2035 2036 2037 2038 2040 2050 2060 2070 2080 2090 2095 2098 2099

Iep_CommunicationData Iep_CommunicationData2 Hdl_CommunicationData Hdl_CommunicationData2 ModemInitData AutoAnswerInitData AutoDialInitData GSMInformation Ioh_Parameters Battery DlmsAssociationView ObjectOfRubishRegister ExceptionHandler TemperaturCalibrationRegister ControlInputCalibrationStoreRegister MeterFunctionRegister SapAssignment

Security, reset control, profiles and other special


2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 SecurityAccess VaaDefinition1 VaaDefinition2 VaaDefinition3 VaaDefinition4 VaaDefinition5 VaaDefinition6 VaaDefinition7 VaaDefinition8 VaaDefinition9 VaaDefinition10 VaaDefinition11 VaaDefinition12 VaaDefinition13 VaaDefinition14 VaaDefinition15 VaaDefinition16 2130 2131 2200 2300 2302 2303 2304 ResetControl ResetActionSchedulerInstance HdlcDestinationLowerMacAddress BaseIdent Option1IdentReference Option1IdentCopy Option2Ident 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4033 ProfileRowMask7 ProfileRowMask8 ProfileRowMask9 ProfileRowMask10 ProfileRowMask11 ProfileRowMask12 ProfileRowMask13 ProfileRowMask14 ProfileRowMask15 ProfileRowMask16 ProfileOwnFlags

2400

Dgp_CommunicationData (USA)

0x1000 EventLog1 (*) 4001 ProfileRowMask1 0x2000 LoadProfile1 (*) 4002 ProfileRowMask2 0x3000 IntermediateValue (*) 4003 ProfileRowMask3 4004 ProfileRowMask4 0xFFFD DummyObjectForLcdTest 4005 ProfileRowMask5 0xFFFE StartOfList 4006 ProfileRowMask6 0xFFFF EndOfList (*) These numbers are used as basis to which the virtual name of the desired object is added. E.g. if the intermediate values of EnergyRegister7 are to be displayed, then the value: 0x3000 + 0x0007 = 0x3007 is set in the attribute VirtualNameList of the corresponding ObjecList object.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 118 / 190

Class Description

Compiled for P05.H

3.40 Object of Rubbish [10017-0-82-0]


ObjectOfRubish Attributes 1 2 3 4 5 6 7 8 9 LogicalName DigitsLcdForDemand DigitsForMaxCumDemand Indication1 Indication2 Indication3 Indication4 Indication5 AttrVaaAccList
(static) (static) (static) (static) (mixed) (static) (static) (mixed) (static) (static) (static) (static) (static) (static) (static) (static) (static) (static) (static) (dynamic) (static) m/o

1 Data Type octetstring unsigned8 unsigned8 unsigned8 unsigned8 unsigned8 unsigned8 unsigned8 octetstring[22] unsigned16 unsigned16 unsigned16 unsigned16 unsigned16 unsigned8 integer16 integer16 octetstring[6] unsigned8 unsigned8 Unsigned16

class_id=10017 version=82 Min Max Def


00 00 F0 0A FF FF

10 NormalScrollTimeout 11 MenuTimeout 12 BacklightSwitchOffTimeout 13 CalibrationModeTimeout 14 DoubleClickTimeout 15 PulseLEDcontrol 16 ScaleFactorEnergy 17 ScaleFactorDemand 18 HardwareVariants 19 TemperatureLimitLCD 20 LogicalNamesTableStatus 21 FeatureFlags Specific Method(s)

Attribute Description
DigitsForDemand Type: unsigned8 Defines the number of digits used to display and readout demand registers in normal mode. The information is coded in the two nibbles of the byte. The pre-point digits refer to the digits to the left of the decimal point (integer part) and the post-point to the digits to the right of the decimal point (fractional part)
Upper nibble Lower nibble

Number of post-point digits

Number of pre-point digits

DigitsForMaxCumDemand Type: unsigned8 Defines the number of digits used to display and readout the values of PmaxCum of the demand Pmax registers in normal mode. The information is coded in the two nibbles of the byte. The pre-point digits refer to the digits to the left of the decimal point (integer part) and the post-point to the digits to the right of the decimal point (fractional part)
Upper nibble Lower nibble

Number of post-point digits

Number of pre-point digits

Implemetation note: The firmware does not use this parameter. It takes the value of DigitsForDemand and add 2 digits (hard coded). Indication1 Type: unsigned8 Byte containing display options for the indicators. Structured bit wise as follows:

Landis+Gyr AG

Revision Date: 09.09.2009

Page 119 / 190

Class Description

Compiled for P05.H

Show Negative Active Energy Arrow


in calibration mode
Bit 7

Show Positive Active Energy Arrow


in calibration mode
Bit 5

Show Field Rotation


in calibration mode
Bit 3

Show Voltage Indications


in calibration mode
Bit 1

in normal mode
Bit 6

in normal mode
Bit 4

in normal mode
Bit 2

in normal mode
Bit 0

Selections are made for each indicator individually: 1= show, 0= do not show Indication2 Type: unsigned8 Second byte containing display options for the indicators and options for the meter. Bits 4 and 5 are written by the firmware and indicate the mode in which the meter is running (calibration or normal mode). It is structured bit wise as follows:
Display Arrow
Line frequency
Bit 7

Current Mode Status


in calibration mode
Bit 5

Show Negative Reactive Energy Arrow


in calibration mode
Bit 3

Show Positive Reactive Energy Arrow


in calibration mode
Bit 1

in calibration mode
Bit 6

in normal mode
Bit 4

in normal mode
Bit 2

in normal mode
Bit 0

Bits 0 to 5 : Selections are made for each indicator individually: 1= show, 0= do not show Bit 6: One arrow used for showing if the meter is in calibration mode. When this bit is set to 1 the arrow is shown in case of calibration mode. Bit 7: Line frequency selection: (used for field rotation detection). 0= 50Hz, 1= 60 Hz Indication3
Calibration ModeStartUp
Bit 7

Type: unsigned8
ShowFieldB
Bit 6

Third byte containing options for the meter. Structured bit wise as follows:
NoTimeDate Separators
Bit 5

ShowOnly ActiveRates
Bit 4

SeasonFlagIs EventNotStatus
Bit 3

IsTianyouCali brationMode
Bit 2

IsTianyou Meter
Bit 1

IsOnlyActive Meter
Bit 0

Bit 0: IsOnlyActiveMeter : All reactive features on display are disabled when this bit is set to 1. Bit 1: IsTianyouMeter : Defines the type of meter : FOX or Tianyou meter. 1 = Tianyou, 0 = FOX. Bit 2: IsTianyouCalibrationMode : When we enter in calibration mode, this bit defines which type of calibration mode we will used : normal calibration mode or Tianyou calibration mode. 1 = Tianyou calibration mode, 0 = normal calibration mode. Bit 3: SeasonFlagIsEventNotStatus: This bit defines whether the season change bit operates as an event or a status in the load profile. When this bit is set to 0 the flag is shown as a status meaning that the bit remains set during summer and remains clear during winter. If the bit is set to one, the flag is only set in each entry corresponding to a season change (twice a year). Bit 4: ShowOnlyActiveRates: When this bit is set, registers are shown in the auto-scroll list only if they are active; otherwise all registers of the list are shown. For normal lists (such as the standard data list) this bit shall have no effect. Bit 5: NoTimeDateSeparators: Used to select if the time and date information uses separators (characters - and :) in readout. 1 = without separators, 0 = with separators. Bit 6: ShowFieldB: Defines whether the Group B (refer to OBIS codes) is shown on the display for all objects or not. 1 = shown, 0 = not shown. Implementation note: this bit must be set to 0 Bit 7: CalibrationModeStartUp: Defines the mode in which the meter starts after power up: When set to 1 it remains in calibration mode (if it was in this mode at power down). When set to 0 it starts in normal mode independently of the mode at power down. Indication4
ShowBattery2 Low
Bit 5

Type: unsigned8
ShowBattery1 Low
Bit 4

Byte containing control bit for different purposes. Structured bit wise as follows:
not used
Bit 7

not used
Bit 6

DateFormat ForDisplayAn dReadout


Bit 3

S0Scale Factor1 not used


Bit 2

9040 disabled
Bit 1

PW5 for R5&R6


Bit 0

Bit 0: PW5 for R5&R6: Selects the use of password_5 for R5 and R6 commands: When set to 1, R5 and R6 formatted commands require a PW_5 in order to be accepted. When set to 0, R5 and R6 formatted commands does not require a PW_5. Implementation note: For VDEW2 this bit must be set to 0. Bit 1: 9040CommandDisabled: Selects the use of IEC formated command R2 9040: When set to 0 the command is performed when requested. When set to 1, the command is not performed and an error message is sent to the client. Bit 2: S0ScaleFactor1: determines which scaling factor applies for the total energy registers of the external channels (9 and 10). When this bit is set to 0, channels 9 and 10 have the same scaling factor as the other
Landis+Gyr AG Revision Date: 09.09.2009 Page 120 / 190

Class Description

Compiled for P05.H

channels (18); if the bit is set to 1, then channels 9 and 10 have the factor 1 irrespective of what the other channels have. It is not allowed to connect any energy register to the channels 9 and 10. The MAP must ensure that this bit is correctly parametrized: its value must be 0 in case that channels 9 and 10 measure electrical energy; if their use is different (e.g. water, pulses, gas,...) it must be set to 1. Independently of the use of the external channels, the number of digits (pre-point and post-point) is the same as specified in the attribute DigitsEnergyCumNormalMode in ObjectOfRubbish. Not used for the moment. Bit 3: DateFormatForDisplayAndReadout: selects the date format for display and readout. When set to 0, the date format on display and in a readout is "YY-MM-DD". When set to 1, the date format on display and in a readout is "DD.MM.YYYY". Note : The date format in a R5, R6 readout isn't influenced from this parameter. The date format for this readout is always YY-MM-DD. Bit 4: ShowBattery1Low: When the main battery is low, this bit defines whether the main battery low symbol is shown on the display or not. 1 = show, 0 = do not show. Bit 5: ShowBattery2Low: When the RTC battery is low, this bit defines whether the main battery low symbol is shown on the display or not. 1 = show, 0 = do not show. Bit 6: reserved Bit 7: reserved Indication5 Type: unsigned8 Byte containing display options for the indicators. Structured bit wise as follows:
Show Alert Indicator
AntiTamperAn dClockEnable
Bit 7

Show Communication Indicator


in calibration mode
Bit 3

Show Current Indications


in calibration mode
Bit 1

DisplaySymbo lsInsteadIDs
Bit 6

in calibration mode
Bit 5

in normal mode
Bit 4

in normal mode
Bit 2

in normal mode
Bit 0

Bit 0 5: Selections are made for each indicator individually: 1= shown, 0= not shown Bit 6: DisplaySymbolsInsteadIDs: (Used for Turkey to display the symbols (T, T1, T2, T3, T4, P, Rc, Ri) instead of their corresponding Id) 1= enable, 0 = disable ID 1.8.0 2.8.0 1.8.1 1.6.0 2.6.0 5.8.0 7.8.0 6.8.0 8.8.0 Symbol T -T T1 P -P +Ri -Ri +Rc -Rc

Bit 7: AntiTamperAndClockEnable: 1 enable Enable s1,s2,s3,s4s display 0: disable s1,s2,s3,s4s display.according to LCD layout v3s requirement NormalScrollTimeout type: unsigned16

Used to select the display scrolling time while in normal mode. Its value is given in seconds (1..3600s). MenuTimeout type: unsigned16

Selects the timeout (in seconds) to go back to the normal mode if no button is pressed. BacklightSwitchOffTime type: unsigned16

Landis+Gyr AG

Revision Date: 09.09.2009

Page 121 / 190

Class Description

Compiled for P05.H

Selects timeout (in seconds) to turn backlight off if no button is pressed. CalibrationModeTimeout type: unsigned16

Selects the timeout (in minutes) to go back to the normal mode after entering in calibration mode. Remark : Duration of power cuts occurring during calibration mode are taken into account. DoubleClickTimeout type: unsigned16

Selects the maximum time (in ms) for a double click. PulseLEDcontrol Not used. HardwareVariants type: octetstring[6] type: unsigned8

HardwareVariants defines the hardware configuration of the meter. The first two bytes define the configuration of the Inputs/Outputs. The two other bytes define the interface configuration. Byte 1 : IO Assembly
8th I/O
Bit 7

7th I/O
Bit 6

6th I/O
Bit 5

5th I/O
Bit 4

4th I/O
Bit 3

3rd I/O
Bit 2

2nd I/O
Bit 1

1st I/O
Bit 0

If bit = 0, I/O not assembled If bit = 1, I/O assembled Byte 2 : IO Configuration Input/Output
8th I/O
Bit 7

7th I/O
Bit 6

6th I/O
Bit 5

5th I/O
Bit 4

4th I/O
Bit 3

3rd I/O
Bit 2

2nd I/O
Bit 1

1st I/O
Bit 0

If bit = 0, I/O acts as input (or not used) If bit = 1, I/O acts as output Byte 3 : IO Configuration S0Input
8th I/O
Bit 7

7th I/O
Bit 6

6th I/O
Bit 5

5th I/O
Bit 4

4th I/O
Bit 3

3rd I/O
Bit 2

2nd I/O
Bit 1

1st I/O
Bit 0

If bit = 0, default, not configured If bit = 1, I/O acts as S0 input Byte 4 : IO Input/Output Inverter
8th I/O
Bit 7

7th I/O
Bit 6

6th I/O
Bit 5

5th I/O
Bit 4

4th I/O
Bit 3

3rd I/O
Bit 2

2nd I/O
Bit 1

1st I/O
Bit 0

If bit = 0, I/O not inverted If bit = 1, I/O is inverted

Landis+Gyr AG

Revision Date: 09.09.2009

Page 122 / 190

Class Description

Compiled for P05.H

Byte 5 : Meter Configuration Part 1 (base + extension board interfaces)


Extension Board (Interface 2) Not used
Bit 7

RS422
Bit 6

RS485
Bit 5

CS
Bit 4

Not used
Bit 3

Base Board (Interface 1) Not RS485 used


Bit 2 Bit 1

RS232
Bit 0

Bit 0 : Bit 1 : Bit 2 : Bit 3 : Bit 4 : Bit 5 : Bit 6 : Bit 7 :

RS232 base board interface: 1 = used, 0 = not used RS485 base board interface: 1 = used, 0 = not used Not used Not used CS extension board interface: 1 = used, 0 = not used RS485 extension board interface: 1 = used, 0 = not used RS422 extension board interface: 1 = used, 0 = not used Not used

Byte 6: Meter Configuration Part 2


Extension board interface assembly
Bit 4 Bit 3

not used
Bit 7

not used
Bit 6

not used
Bit 5

Power Supply
Bit 2

RTC battery assembly


Bit 1

Main battery assembly


Bit 0

Bit 0 : Main battery assembly: 1 = assembled, 0 = not assembled Bit 1 : RTC battery assembly: 1 = assembled, 0 = not assembled Bit 2+3 : Power Supply (Isolated voltage ISOVCC and ISOVUNREG). 00: Always deactivated 01: Power supply only active if 2 phases are connected and phase angle >= 90 degree 10: Always activated Remark: Electrical interfaces are only working if the power supply is not deactivated. Bit 4 : Extension board interface assembly: , 1 = assembled, 0 = not assembled Bit 5 : reserved Bit 6 : reserved Bit 7 : reserved

TemperatureLimitLCD

type: unsigned8

This attribute holds the threshold value for the temperature at which the interrupt frequency of the LCD will be adjusted. This feature is used for meters exposed to environments with high temperatures. The parameterized value has to be defined above 40C because the LCD shows irregularities at high temperatures and this value helps compensate these problems. The value is given in C. LogicalNamesTableStatus type: enum

This attribute defines the status of the logical names table. This byte is written by the firmware. Each time logical names are modified using dlms protocol, the firmware updates the corresponding states defined below. If the logical names are modified through IEC unformatted commands, (e.g. in the production) then the user has to set the state to 0. State definition: 0 = the logical names table must be rebuilt 1 = the logical names table build is in progress 2 = the logical names tables is ready

Landis+Gyr AG

Revision Date: 09.09.2009

Page 123 / 190

Class Description

Compiled for P05.H

FeatureControl

Type: unsigned16

This two bytes are for the identification of country specific requirements. This flag is not allowed to change after the production!
not used
Bit 15

not used
Bit 14

not used
Bit 13

not used
Bit 12

not used
Bit 11

not used
Bit 10

not used
Bit 8

not used
Bit 8

not used
Bit 7

not used
Bit 6

not used
Bit 5

not used
Bit 4

not used
Bit 3

not used
Bit 2

IsTurkeyMeter
Bit 1

MalaysiaTNBMaxLoadCond ition
Bit 0

MalaysiaTNBMaxLoadCondition: IsTurkeyMeter: not used:

Reserved for MalaysiaTNBMaxLoadCondition: Enables maximum load condition feature as long as a strong dc field is detected (Special mode for Malaysia TNB). 1=enabled, 0=disabled Indicates if the meter is for the Turkey market. This flag enables those Turkey specific requirements which are not parameterizable in other registers. 1=enabled, 0=disabled reserved

3.41 Temperature Calibration [10018-0-80-0]


This class allows to set a temperature value which has to be provided to the meter during production, so that it can calibrate its temperature compensation system (for RTC and the control inputs). Only used in the production. TemperaturCalibration 1 class_id= 10018 version=0 Attributes 1 LogicalName 2 CalibrationTemperatur 3 AttrVaaAccList Specific Method(s)
(static) (static)

(static)
m/o

Data Type octetstring Integer8 octetstring

Min

Max

Def
00 00 F0 03 xx FF

Attribute Description CalibrationTemperatur Type: Integer8 Temperature value expressed in C used as reference for compensation purposes. This value is set by production during the temperature calibration process.

3.42 Exception Handler [10020-0-81-0]


This class is for internal use only. It reports occurrences of unexpected states during program execution and is mainly used by the developers. Exception Handler Attributes 1 LogicalName 2 AttrVaaAccList 3 Entry Specific Method(s) Attribute Description Entry Type: array[10] ] of exception_entry (static) (static) (dynamic) m/o 1 Data Type octetstring octetstring array class_id=10020 version=0 OwnClassVersion=81 Min Max Def
00 00 F0 0C FF FF

Read-only

Landis+Gyr AG

Revision Date: 09.09.2009

Page 124 / 190

Class Description

Compiled for P05.H

Attribute used to report unexpected states. This attribute is set by the firmware. Entry is a ring buffer holding the last 10 entries. Each entry reports an unexpected state. The structure of an entry is as follows: array exception_entry exception_entry::= structure { ErrorSource: Unsigned32, ErrorCode: Unsigned16, DateTime: octet-string, formatted as set in 4.1.4.1of Blue Book for date_time } ErrorSource: Pointer to the object (ThisPointer) which triggered the exception. Some exception entries hold an important value instead of the ErrorSource.

ErrorCode
Low Byte Error Number High Byte Subsystem Number

- Subsystem Nr: Reference to the subsystem in which the unexpected state occurred. - Error Number: This contains information concerning the type of error. It is specific to the subsystem. ErrorTimeStamp. Time in seconds at which the unexpected state occurred. The following table shows the list of the subsystem numbers. More information can be found in a document in SourceSafe: Documents SsafeDSWLowCost / Functionality_And_Requirements / Exceptions \ Exception Codes.xls or directly in the source code (inc\BaseType.h). Nr.
1 2 3 4 5 6 7 8 9 10 11 12 30 31 50 51 52 53 54 66 67 68 69 70 71 72 73 74 75 76 77 78

Subsystem name
BASETYPES_SUBSYSTEM KERNEL_SUBSYSTEM EXCEPTIONHANDLING_SUBSYSTEM CONFIGURATION_SUBSYSTEM IOHANDLING_SUBSYSTEM DIAGNOSTIC_SUBSYSTEM POWERSTATETRANSITION_SUBSYSTEM MAINTASK_SUBSYSTEM METERCONFIGURATION_SUBSYSTEM SPIHANDLER_SUBSYSTEM EXTERNALMEMORYDRIVER_SUBSYSTEM TEMPERATURCALIBRATION_SUBSYSTEM LOCALMMI_SUBSYSTEM LCDDRIVER_SUBSYSTEM MEASUREMENTSYSTEMBASE_SUBSYSTEM MEASUREMENTSYSTEMLINDA_SUBSYSTEM MEASUREMENTSYSTEMHMC_SUBSYSTEM MEASUREMENTSYSTEMSAPPHIRE_SUBSYSTEM MEASUREMENTSYSTEM_MMI_ SUBSYSTEM INSTANTPULSEOUTPUT_SUBSYSTEM PULSE_SUBSYSTEM PULSESHORTINTERRUPT_SUBSYSTEM PULSEINTERPOLATION_SUBSYSTEM RS232INTERFACE_SUBSYSTEM CSINTERFACE_SUBSYSTEM INFRAREDDRIVER_SUBSYSTEM SCIPROTOCOL_SUBSYSTEM IECSERVICES_SUBSYSTEM IECPROTOCOL_SUBSYSTEM HDLC_SUBSYSTEM DLMS_SUBSYSTEM SECURITY_SUBSYSTEM

Landis+Gyr AG

Revision Date: 09.09.2009

Page 125 / 190

Class Description

Compiled for P05.H

Nr.
79 80 81 82 100 101 102 103 104 105 200 255

Subsystem name
MCO_SUBSYSTEM CODINGAXDR_SUBSYSTEM DLSERVICES_SUBSYSTEM DLPROTOCOL_SUBSYSTEM METERAPPLICATIONBASE_SUBSYSTEM METERREGISTERAPPLICATION_SUBSYSTEM METERCLOCKAPPLICATION_SUBSYSTEM METERTARIFFAPPLICATION_SUBSYSTEM METERCTSAPPLICATION_SUBSYSTEM METERPROFILEAPPLICATION_SUBSYSTEM DEDICATEDEVENTLOG_SUBSYSTEM LAST_AVAILABLE_SUBSYSTEM

The errors are subsystem specific; i.e. each subsystem has its own list of errors. Here is an example for the METERCLOCKAPPLICATION_SUBSYSTEM presented. References to the error numbers can be found in the corresponding header files with the name convention: Subsystem Name_Err.h (e.g. Mca_Err.h for the meter clock application subsystem or in Exception Codes.xls (mentioned above) Example: Error codes of the meter clock application subsystem Nr. Error type 3 Invalid start status 4 Unsupported Cosem Type 5 Here the next

3.43 VAA Definition [10022-0-80-0]


This class allows to define some configurable parameters such as password, security keys, etc. for each Virtual Application Association (VAA). Vaa Definition Class 0..16 class_id= 10022 version=80 Attributes 1 LogicalName 2 Password 3 SourceAddress 4 PasswordAlgorithm 5 SecurityKeys 6 SecurityKeyMasks 7 AttrVaaAccList Specific Method(s)
(static) (static) (static) (static) (static) (static)

(static)
m/o

Data Type octetstring octetstring Unsigned8 Unsigned8 Unsigned8 Unsigned8 octetstring

Min

Max

Def
00 00 F0 08 xx FF

Password Type: Octetstring [24] This attribute contains the password string defined for each VAA. Its maximal length is 24 Bytes (IEC password 2 [encrypted] requires 7 bytes and password 1 [plain text] 8 bytes). The string can only use ASCII characters 0..9 and A..F.
Implementation note: pass_1 and pass_2 according to IEC are assigned in the corresponding Vaa Definition Objects (VaaDefinition2 and VaaDefinition3 respectively)

SourceAddress Type: Unsigned8 Defines the client upper MAC address as required by HDLC. This address is used to define a client. Some possible values have been reserved by COSEM as follows:
0x00 no station 0x10 public client (low security level) 0x7F all stations

Landis+Gyr AG

Revision Date: 09.09.2009

Page 126 / 190

Class Description

Compiled for P05.H

For the CIMA meter the SourceAddress value has been fixed (according to the COSEM definitions) as follows:
VAA Group name Manufacturer service Distributor service Utility Administrator Read Administrator reserved reserved reserved reserved Remote service Remote data collection Extended consumer Extended utility service Utility service Utility field service Data collection public access VAA Vaa16 Vaa15 Vaa14 Vaa13 Vaa12 Vaa11 Vaa10 Vaa9 Vaa8 Vaa7 Vaa6 Vaa5 Vaa4 Vaa3 Vaa2 Vaa1 SourceAddress 0x68 0x64 0x61 0x60 0x17 0x16 0x15 0x14 0x13 0x12 0x11 0x50 0x40 0x30 0x20 0x10 Password Algorithm selectable selectable selectable selectable selectable selectable selectable selectable selectable selectable selectable 0 0 2 1 0

This selection corresponds to the present choice but it may be changed without notice. Every VAA is mapped to one client address. Vaa1 is accessible without any security know how and corresponds to the public client of the COSEM definition. Vaa16 is only accessible by the manufacturer.

PasswordAlgorithm Type: Unsigned8 Defines the password algorithm used for access validation. The selection of the algorithm is done as follows: 0 = no password 1 = static password P1 according to IEC1107 2 = coded password P2 with manufacturer specific algorithm according to IEC1107 SecurityKeys Type: Unsigned8 Defines additional (hardware) keys to get access. Each possible key is represented with a bit. If the bit is set, the key will be proved during the security validation, otherwise not. During the security validation process, access is granted only if all the selected keys are fulfilled; i.e. corresponds to a functional AND of all keys. The first three bits correspond to channels which are used for communication. If the bit is set, the corresponding channel is enabled for communication in the VAA; otherwise it is not enabled.
Bit

0 Optical Interface Electrical Interface 1 Electrical Interface 2 Set Mode Security Switch Not used = must be set to 0 Not used = must be set to 0 Not used = must be set to 0

SecurityKeyMasks Type: Unsigned8 Defines masks that enable or disable the use of the keys defined in attribute SecurityKeys during the security validation. Each possible key mask is represented with a bit, which is related to its equivalent bit in attribute SecurityKeys. If the bit in the mask is set, the corresponding key will be proved during the security validation, otherwise not (dont care).
Bit

0 Not used Not used Not used Set Mode Security Switch Not used Not used

Landis+Gyr AG

Revision Date: 09.09.2009

Page 127 / 190

Class Description

Compiled for P05.H

Not used

The unused bits mean, that there is no mask available, i.e. the corresponding security key is always checked (e.g. communication channel).

3.44 Control Status [10025-0-80-0]


This class allows to readout and display the status of the input and output control signals. Control Status 0..5 class_id=10025 version=0 OwnClassVersion=80 Attributes 1 LogicalName 2 UnitScale 3 ControlStatus 4 StatusType 5 UsedElements 6 IdString 7 DisplayUnitAndScale 8 AttrVaaAccList Specific Method(s)
(static) (static) (dynamic) (static) (static) (static) (static) (static) m/o

Data Type octetstring UnitScaleType Unsigned8 Unsigned8 Unsigned8 OctetString UnitScaleType OctetString

Min

Max

Def
00 00 F0 ## xx FF

0 0 0

0xFF 4 0x3F

Attribute Description ControlStatus Type: Unsigned8 This attribute is set by the firmware and holds the current state of the control signals being monitored. The firmware samples the state once per second. Each bit of the ControlStatus represents the state of one control signal (see the table in UsedElements). If the bit is set (1), it means that the corresponding signal is active; if the bit is reset (0), it means that the signal is inactive. The selection of the signal groups is done with StatusType. StatusType Type: Unsigned8 This attribute specifies the status of the monitored signals (signal group).
< 2: 2: 3: 4: > 4: Unused Auxiliary board Inputs Unused Auxiliary board Outputs Unused

UsedElements Type: Unsigned8 Indicates which signals from the signal group are monitored (if the bit is set to 1, the signal is monitored). The value of this attribute is deduced at startup from information in MOR subsystem (HardwareVariants). Information available in MOR HarwareVariants is about whether the auxiliary board is installed or not (MeterConfig), about the number of connections with the auxiliary board (IOAssembled) and about whether these connections are inputs from or outputs to the auxiliary board (IOConfigurated).The following table shows, for each group, the maximum number of connections with the auxiliary board (actual number depends on the type of auxiliary board installed) and the bits used to define them FOX:
Instance ControlStatus1 ControlStatus2 T1-zz: x: Describtion Aux Inputs (4 max) Aux Outputs (6 max) Bit 7 x x Bit 6 x x Bit 5 x TI-14 Bit 4 x TI-13 Bit 3 T1-5 TI-11 Bit 2 T1-4 TI-10 Bit 1 T1-3 TI-8 Bit 0 T1-2 TI-7

corresponds to the terminal notation (zz: position 1 to 14) as given in the table below not used (or not existent)

Landis+Gyr AG

Revision Date: 09.09.2009

Page 128 / 190

Class Description Terminal T1-7 T1-8 T1-10 T1-11 T1-13 T1-14 Output Extension board output one Extension board output two Extension board output three Extension board output four Extension board output five Extension board output six Terminal T1-2 T1-3 T1-4 T1-5 Input Extension board input one Extension board input two Extension board input three Extension board input four

Compiled for P05.H

3.45 Pulse Input [10026-0-80-0]


This class is used to handle and configure the functionality a S0 input. There is one object for each S0 inputs. PulsInput Attribute 1. Logical_name 2. Pulslength 3. ExecuteOn 4. IdString 5. AttrVaaAccList 6. PortAddress 7. PulseCounter Specific Service(s)
0x3A98 0x3AA0 0x3AA8 0x3AB0 0x3AB8 0x3AC0 0x3AC0

0..n Data_Type octetstring[6] unsigned 32 Enum octetstring[12] octetstring[5] unsigned 8 unsigned 32

Class_id=10026, OwnClassVersion=80 Min. Max. Def.


01 02 52 08 00 FF

0 0

m/o

PulsInput2 Attribute 1. Logical_name 2. Pulslength 3. ExecuteOn 4. IdString 5. AttrVaaAccList 6. PortAddress 7. PulseCounter Specific Service(s)
0x3B60 0x3B68 0x3B70 0x3B78 0x3B80 0x3B80 0x3B80

0..n Data_Type octetstring[6] unsigned 32 Enum octetstring[12] octetstring[5] unsigned 8 unsigned 32

Class_id=10026, OwnClassVersion=80 Min. Max. Def.


01 03 52 08 00 FF

0 0

m/o

PulseLength Type: Unsigned32 Defines the minimum length of a pulse. ExecuteOn Selects the edge detection.
Physical Relay No detection Rising Edge Falling Edge Both edge Virtual IO name 0x00 0x01 0x02 0x04

Type: Enum

PortAddress

Type: Unsigned8

Landis+Gyr AG

Revision Date: 09.09.2009

Page 129 / 190

Class Description

Compiled for P05.H

Defines the assignment of the flexible inputs to act as S0 input. The assignment is done by selecting the appropriated virtual IO name of the inputs (according to the following table). If the S0 input is not used, it is set to 0. All other numbers are banned.
Extension Board:
Input Ioh_I1 Ioh_I2 Ioh_I3 Ioh_I4 Ioh_I5 Ioh_I6 Ioh_I7 Ioh_I8 Virtual IO name 21 22 23 24 25 26 27 28

PulseCounter Type: Unsigned32 Counter for the number of pulses. Since this is an attribute of a manufacturer specific class, a separate counter of type register must be assigned to ensure interoperability.

3.46 Battery Mode [10035-0-0-0]


This class is used to parameterize the battery mode. Battery 1 Attributes 13 LogicalName 14 OwnClassVersion 15 AttrVaaAccList 16 MaxNbOfAhMeasure ment 17 Status 18 DisplayTime 19 CurrentNbOfAhMeas urement Specific Method(s)
(static)

class_id= 10035 version=0 Min Max Def


00 00 60 06 04 FF

(static) (static) (static) (static) (static) (static)


m/o

Data Type octetstring Unsigned8 octetstring Unsigned16 Unsigned8 Unsigned8 Unsigned16

Attribute Description MaxNbOfAhMeasurement Type: Unsigned8 Maximum allowed number of Ah anti tampering measurements in battery mode. Once this maximum value has been reached, the measurement of current without voltage is stopped. Status Type: Unsigned8 Defines the parameterization of battery mode:
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

IR enabled

LCD enabled

Ah measurement enabled

IR enabled: If set to 1 the IR interface is enabled in battery mode; otherwise is disabled LCD enabled: If set to 1 the LCD display is enabled in battery mode; otherwise is disabled Ah measurement enabled: If set to 1 Ah measurement is enabled in battery mode; otherwise is disabled

unused

Landis+Gyr AG

Revision Date: 09.09.2009

Page 130 / 190

Class Description

Compiled for P05.H

DisplayTime Type: Unsigned8 Time (in minutes) during which the meter remains awakened (display on) after a Keypress (Fox meter) or after the detection of a 38 kHz 5s-long signal on the IR channel (TianYou). CurrentNbOfAhMeasurement Type: Unsigned8 Number of Ah anti tampering measurements already done in battery mode. This value is reset to 0 if a battery replacement is done.

3.47 Reset Control System [10040-0-81-0]


This class is used to set the lock out duration of the reset function. The lock out duration is the time during which the reset function is inhibited after a reset occurred. ResetControlSystem 1 class_id=10040 version=81 Attributes 1 LogicalName 2 AttrVaaAccList 3 LockoutDuration 4 ControlStatusFlags 5 MaxResetsPerMonth Specific Method(s)
(static) (static) (static) (static) (static) m/o

Data Type octetstring octetstring Unsigned16 Unsigned8 Unsigned8

Min

Max

Def
00 00 F0 07 00 FF

Attribute Description LockoutDuration Type: Unsigned16 Defines the time the reset function is inhibited after a reset occurred. The time is given in minutes. ControlStatusFlags Type: Unsigned8 Allows to configure some properties of the reset control system. The configurable properties are bit coded in one byte.
Bit 7 LockoutAllCha nnels Bit 6 Res_ClearAlFi rstOpReading Bit 5 NoRecoveryAf terPowerFail Bit 4 ClearAlOc Bit 3 ShowTime Bit 2 ShowDate Bit 1 SynchToMeas Period Bit 0 ResetKeyEna ble

ResetKeyEnable:

When ResetKeyEnable is set to 1, the reset key can be used to perform the reset function; otherwise the key is just used for display manipulations. SynchToMeasPeriod: When SynchToMeasPeriod is set to 1, the reset is done synchronously with the demand measuring period. When set to 0 is done asynchronously. ShowDate: If this bit is set to one, the date part of the TimeOrDateOfLastReset is shown on display and readout; when set to 0 the date part is not shown. Note: if neither ShowDate nor ShowTime is set (both = 0) then the date part of TimeOrDateOfLastReset is shown on display and readout. ShowTime: If this bit is set to one, the time part of the TimeOrDateOfLastReset is shown on display and readout; when set to 0 the date part is not shown. Note: if neither ShowDate nor ShowTime is set (both =0) then the date part of TimeOrDateOfLastReset is shown on display and readout. ClearAlOc: Clear AlertOccurred. When this bit is set to 1, the state of the event bit AlertOccurred (see class Event Register) is cleared on each billing period reset; otherwise it is not cleared. NoRecoveryAfterPowerFail: If this bit is set to 0 then the last reset will be recovered (as in previous versions). If it is set to 1, then no resets will be recovered. ClearAlFirstOpReading: If this bit is set to 1 then the following alerts are cleared on a first optical reading: Clock invalid, Terminal cover open, Meter cover open, Strong magnetic field. (Need to be set to 1 for Turkey meter)
Landis+Gyr AG Revision Date: 09.09.2009 Page 131 / 190

Class Description

Compiled for P05.H

LockoutAllChannels

If this bit is set all reset sources are inhibited during the LockoutDuration time when a demand reset occurs. If the bit is 0 then only the source of the reset is inhibited, i.e. any other source will produce a new reset. (Used in EOS and FOX).

MaxResetsPerMonth Type: Unsigned8 Defines the maximum number of allowed resets per month. A value of 0 (default value) indicated no limit for number of resets. (Need to be set to 2 for Turkey meter)

3.48 Service Mode List [10051-0-0-0]


Class used for the service scroll list. The resolution when displaying register values is higher as in other modes. Object name in the firmware: ServiceMenu2 Service Mode List 0..n class_id=10051, version=0 Attributes 1 LogicalName 2 IdString 3 MaxNrOfObjects 4 VirtualNameList 5 AttrVaaAccList Specific Method(s) Data Type
(static) (static) (const) (static) (static) m/o
octetstring

Min

Max

Def
00 00 F0 0E 32 FF

octetstring Unsigned16 octetstring octetstring

180

Attribute Description MaxNrOfObjects Type: Unsigned16 Constant. Determines the maximun number of objects in a list. Implementation Note: Maximum number of entries Diacom:
Software version B08, C06 B09, B10, B11, B12, B13, B14, B21, B22, C07, C08 Number of entries 100 180

Maximum number of entries Diafire:


Object ServiceMenu2 MaxNrEntr 150 Virt.Name use 910 Service scroll list Name Ser

VirtualNameList Type: octetstring A list organized as an array of Unsigned16 containing references to the objects that are displayed. The virtual names are used as references (usually the current value of the selected object). The numbers of the virtual names are found in the symbol file of the corresponding firmware version (e.g. B09.sym). The tables below show some of the most used virtual names, but they may differ for some existent versions of firmware.
0 NoVirtualName

Energy and total registers


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 EnergyRegister1 EnergyRegister2 EnergyRegister3 EnergyRegister4 EnergyRegister5 EnergyRegister6 EnergyRegister7 EnergyRegister8 EnergyRegister9 EnergyRegister10 EnergyRegister11 EnergyRegister12 EnergyRegister13 EnergyRegister14 EnergyRegister15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 EnergyRegister16 EnergyRegister17 EnergyRegister18 EnergyRegister19 EnergyRegister20 EnergyRegister21 EnergyRegister22 EnergyRegister23 EnergyRegister24 EnergyRegister25 EnergyRegister26 EnergyRegister27 EnergyRegister28 EnergyRegister29 EnergyRegister30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 EnergyRegister31 EnergyRegister32 EnergyRegister33 EnergyRegister34 EnergyRegister35 EnergyRegister36 EnergyRegister37 EnergyRegister38 EnergyRegister39 EnergyRegister40 EnergyRegister41 EnergyRegister42 EnergyRegister43 EnergyRegister44 EnergyRegister45 46 47 48 51 52 53 54 55 56 57 58 59 60 EnergyRegister46 EnergyRegister47 EnergyRegister48 EnergyTotalRegisterM1 EnergyTotalRegisterM2 EnergyTotalRegisterM3 EnergyTotalRegisterM4 EnergyTotalRegisterM5 EnergyTotalRegisterM6 EnergyTotalRegisterM7 EnergyTotalRegisterM8 EnergyTotalRegisterM9 EnergyTotalRegisterM10

Demand (Prunning) and LastAverage (Pfrozzen) registers

Landis+Gyr AG

Revision Date: 09.09.2009

Page 132 / 190

Class Description 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 DemandRegister1 DemandRegister2 DemandRegister3 DemandRegister4 DemandRegister5 DemandRegister6 DemandRegister7 DemandRegister8 DemandRegister9 DemandRegister10 DemandRegister11 DemandRegister12 DemandRegister13 DemandRegister14 DemandRegister15 DemandRegister16 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 DemandFrozenValueDisplayRegister1 DemandFrozenValueDisplayRegister2 DemandFrozenValueDisplayRegister3 DemandFrozenValueDisplayRegister4 DemandFrozenValueDisplayRegister5 DemandFrozenValueDisplayRegister6 DemandFrozenValueDisplayRegister7 DemandFrozenValueDisplayRegister8 DemandFrozenValueDisplayRegister9 DemandFrozenValueDisplayRegister10 DemandFrozenValueDisplayRegister11 DemandFrozenValueDisplayRegister12 DemandFrozenValueDisplayRegister13 DemandFrozenValueDisplayRegister14 DemandFrozenValueDisplayRegister15 DemandFrozenValueDisplayRegister16

Compiled for P05.H

Maximum Demand (Pmax) and Cummulated max. demand (PcumMax) registers


141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 DemandPmaxRegister1 DemandPmaxRegister2 DemandPmaxRegister3 DemandPmaxRegister4 DemandPmaxRegister5 DemandPmaxRegister6 DemandPmaxRegister7 DemandPmaxRegister8 DemandPmaxRegister9 DemandPmaxRegister10 DemandPmaxRegister11 DemandPmaxRegister12 DemandPmaxRegister13 DemandPmaxRegister14 DemandPmaxRegister15 DemandPmaxRegister16 DemandPmaxRegister17 DemandPmaxRegister18 DemandPmaxRegister19 DemandPmaxRegister20 DemandPmaxRegister21 DemandPmaxRegister22 DemandPmaxRegister23 DemandPmaxRegister24 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 DemandCumMaxValueDisplayRegister1 DemandCumMaxValueDisplayRegister2 DemandCumMaxValueDisplayRegister3 DemandCumMaxValueDisplayRegister4 DemandCumMaxValueDisplayRegister5 DemandCumMaxValueDisplayRegister6 DemandCumMaxValueDisplayRegister7 DemandCumMaxValueDisplayRegister8 DemandCumMaxValueDisplayRegister9 DemandCumMaxValueDisplayRegister10 DemandCumMaxValueDisplayRegister11 DemandCumMaxValueDisplayRegister12 DemandCumMaxValueDisplayRegister13 DemandCumMaxValueDisplayRegister14 DemandCumMaxValueDisplayRegister15 DemandCumMaxValueDisplayRegister16 DemandCumMaxValueDisplayRegister17 DemandCumMaxValueDisplayRegister18 DemandCumMaxValueDisplayRegister19 DemandCumMaxValueDisplayRegister20 DemandCumMaxValueDisplayRegister21 DemandCumMaxValueDisplayRegister22 DemandCumMaxValueDisplayRegister23 DemandCumMaxValueDisplayRegister24 199 DemandSystem

String registers, simple value registers, monitor registers and counter registers 201 StringRegisterID1 = 201 301 MeterConstantActivePulseRegister 202 StringRegisterID1_1 302 MeterConstantReactivePulseRegister 203 StringRegisterID1_2 303 MeterConstantScaleFactorDemandRegister 204 StringRegisterID1_3 304 MeterConstantScaleFactorEnergyRegister 205 StringRegisterID1_4 305 MeterConstantCurrentTransformerRegister 206 StringRegisterID2 306 MeterConstantVoltageTransformerRegister 207 StringRegisterID2_1 307 MeterConstantRelaisOutputRegister 208 StringRegisterID2_2 209 StringRegisterDateLastParam 451 MonitorThresholdDisplayRegister1 210 StringRegisterDateLastCalib 452 MonitorThresholdDisplayRegister2 211 StringRegisterDateLastTimeSwitch 453 MonitorThresholdDisplayRegister3 212 StringRegisterDateLastRCR 454 MonitorThresholdDisplayRegister4 213 EepromCheckId 455 MonitorThresholdDisplayRegister5 214 StringRegisterSoftwareId 456 MonitorThresholdDisplayRegister6 215 StringRegisterParamId 457 MonitorThresholdDisplayRegister7 216 StringRegisterCircuitNr 458 MonitorThresholdDisplayRegister8 217 StringRegisterConfigId 459 MonitorThresholdDisplayRegister9 218 StringRegisterDLMSDeviceId 460 MonitorThresholdDisplayRegister10 219 StringRegisterDLMSDeviceIdOption2 461 MonitorThresholdDisplayRegister11 220 StringRegisterASWHardwareInfo 462 MonitorThresholdDisplayRegister12 221 StringRegisterOPDataBlock 463 MonitorThresholdDisplayRegister13 222 StringRegisterASWDataBlock 464 MonitorThresholdDisplayRegister14 223 StringRegisterSRDataBlock 465 MonitorThresholdDisplayRegister15 224 StringRegisterRcrId 466 MonitorThresholdDisplayRegister16 225 StringRegisterStandardDataSatz 467 MonitorThresholdDisplayRegister17 226 StringRegisterConnectionId 468 MonitorThresholdDisplayRegister18 227 StringRegisterIecDeviceAddress 469 MonitorThresholdDisplayRegister19 250 StringRegisterDgcDeviceAddress 470 MonitorThresholdDisplayRegister20 251 StringRegisterHardwareIdent 252 StringRegisterTimeOrDateOfLastReset

401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420

MonitorRegister1 MonitorRegister2 MonitorRegister3 MonitorRegister4 MonitorRegister5 MonitorRegister6 MonitorRegister7 MonitorRegister8 MonitorRegister9 MonitorRegister10 MonitorRegister11 MonitorRegister12 MonitorRegister13 MonitorRegister14 MonitorRegister15 MonitorRegister16 MonitorRegister17 MonitorRegister18 MonitorRegister19 MonitorRegister20

Landis+Gyr AG

Revision Date: 09.09.2009

Page 133 / 190

Class Description *May be for future use Counters, display lists, pulse and static outputs 501 OperatingMinutesRegister1 699 502 OperatingMinutesRegister2 700 503 OperatingMinutesRegister3 701 504 OperatingMinutesRegister4 505 OperatingMinutesRegister5 900 506 OperatingMinutesRegister6 901 507 OperatingMinutesRegister7 902 508 OperatingMinutesRegister8 903 509 OperatingMinutesTotalRegister 904 905 521 CountRegisterStatusParam 906 522 CountRegisterNumberParam 907 523 ReconfigurationCounter 908 551 ResetCountRegister1 909 552 ResetCountRegister2 910 553 ResetCountRegister3 911 554 ResetCountRegister4 912 555 ResetCountRegister5 913 556 ResetDayCountRegister 914 557 SeasonCountRegister 919 920 591 BatteryMinutesCountRegister 921 922 601 PhaseFailCountRegisterL1 923 602 PhaseFailCountRegisterL2 924 603 PhaseFailCountRegisterL3 925 604 PhaseFailCountRegisterL1L2L3 926 Diagnostic Registers, control status, miscelaneous 1301 DiagnosticRegister1 1501 1302 DiagnosticRegister2 1502 1303 DiagnosticRegister3 1503 1304 DiagnosticRegister4 1504 1305 DiagnosticRegister5 1505 1306 DiagnosticRegister6 1307 DiagnosticRegister7 2000 1308 DiagnosticRegister8 1309 DiagnosticRegister9 2010 1310 DiagnosticRegister10 2015 1311 DiagnosticRegister11 2020 1312 DiagnosticRegister12 2021 1313 DiagnosticRegister13 2022 1314 DiagnosticRegister14 2023 1315 DiagnosticRegister15 2024 1316 DiagnosticRegister16 1317 DiagnosticRegister17 2028 1318 DiagnosticRegister18 2029

Compiled for P05.H

LastCountRegister 1000 TariffApplication 1001 MatrixRelaysMatrix ##needed ? 1002 ReadoutList DisplayList DisplayMenuList DisplayMenuList1 DisplayMenuList2 DisplayMenuList3 DisplayMenuList4 ServiceList ServiceMenuList ServiceMenuList1 ServiceMenuList2 ServiceMenuList3 BackupList ScrollModeList MmiList_xy MenuEnd CalibrationModeActivate BatteryMonitoringActivate BmmStaticList1 BmmStaticList2 BmmDynamicList BmmOtherList1 BmmOtherList2 ControlStatus1 ControlStatus2 ControlStatus3 ControlStatus4 ControlStatus5 MeasurementSystem ErrorRegister1 EventRegister SystemTime WeekDay Cts ActivityCalendarInstance SpecialDaysTableInstance ProtocolSelector ICCommData 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1201 1202 1203 1204 1205 1206 1207 1208

StateRegisterTerminalBlock StateRegisterInternalSignals StateRegisterInternalStatus PulseOutput1 PulseOutput2 PulseOutput3 PulseOutput4 PulseOutput5 PulseOutput6 PulseOutput7 PulseOutput8 PulseInput1 PulseInput2 StatusOutput1 StatusOutput2 StatusOutput3 StatusOutput4 StatusOutput5 StatusOutput6 StatusOutput7 StatusOutput8

2030 2031 2032 2033 2035 2036 2037 2038 2040 2050 2060 2070 2080 2090 2095 2098 2099

Iep_CommunicationData Iep_CommunicationData2 Hdl_CommunicationData Hdl_CommunicationData2 ModemInitData AutoAnswerInitData AutoDialInitData GSMInformation Ioh_Parameters Battery DlmsAssociationView ObjectOfRubishRegister ExceptionHandler TemperaturCalibrationRegister ControlInputCalibrationStoreRegister MeterFunctionRegister SapAssignment

Security, reset control, profiles and other special


2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 SecurityAccess VaaDefinition1 VaaDefinition2 VaaDefinition3 VaaDefinition4 VaaDefinition5 VaaDefinition6 VaaDefinition7 VaaDefinition8 VaaDefinition9 VaaDefinition10 VaaDefinition11 VaaDefinition12 VaaDefinition13 VaaDefinition14 VaaDefinition15 VaaDefinition16 2130 2131 2200 2300 2302 2303 2304 ResetControl ResetActionSchedulerInstance HdlcDestinationLowerMacAddress BaseIdent Option1IdentReference Option1IdentCopy Option2Ident 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4033 ProfileRowMask7 ProfileRowMask8 ProfileRowMask9 ProfileRowMask10 ProfileRowMask11 ProfileRowMask12 ProfileRowMask13 ProfileRowMask14 ProfileRowMask15 ProfileRowMask16 ProfileOwnFlags

2400

Dgp_CommunicationData (USA)

0x1000 EventLog1 (*) 4001 ProfileRowMask1 0x2000 LoadProfile1 (*) 4002 ProfileRowMask2 0x3000 IntermediateValue (*) 4003 ProfileRowMask3 4004 ProfileRowMask4 0xFFFD DummyObjectForLcdTest 4005 ProfileRowMask5 0xFFFE StartOfList 4006 ProfileRowMask6 0xFFFF EndOfList (*) These numbers are used as basis to which the virtual name of the desired object is added. E.g. if the intermediate values of EnergyRegister7 are to be displayed, then the value: 0x3000 + 0x0007 = 0x3007 is set in the attribute VirtualNameList of the corresponding ObjecList object.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 134 / 190

Class Description

Compiled for P05.H

3.49 BatteryMonitoringActivate [10056-0-0-20040]


BatteryMonitoringActivate is a class of the type SwitchObject and is used for activating the voltage monitoring of the battery including its battery low symbol in the display. BatteryMonitoringActivate 1 class_id=10056, version=0 Attributes 1 LogicalName 2 Subtype 3 IdString 4 AttrVaaAccList Specific Method(s)
(static) (const) (static) (static) m/o

Data Type octetstring Unsigned16 octetstring octetstring

Min

Max

Def
00 00 F0 06 xx FF

20040

3.50 CalibrationModeActivate [10056-0-0-20041]


CalibrationModeActivate is a class of the type SwitchObject and allows to activate the calibration mode. The calibration mode shows exactly the same elements as selected for the normal autoscroll mode but with the following differences: the display does not scrolls automaticaly (manual scroll) the values of the registers are shown using high resolution the active energy LED may emit pulses corresponding to reactive energy as described in attribute PulseLEDcontrol of ObjectOfRubbish (see Error: Reference source not found). CalibrationModeActivate Attributes 1 LogicalName 2 Subtype 3 IdString 4 AttrVaaAccList Specific Method(s)
(static) (const) (static) (static) m/o

1 Data Type octetstring Unsigned16 octetstring octetstring

class_id=10056, version=0 Min Max Def


00 00 F0 06 xx FF

20041

3.51 AlertIndicatorActivate [10056-0-0-20047]


AlertIndicatorActivate is a class of the type SwitchObject and is used to clear the internal state of alert and event bits associated to the AlertOccured Event. This can be used to reset the status of AlertOccured and thus its alert symbol on the display. AlertIndicatorActivate 1 class_id=10056, version=0 Attributes 1 LogicalName 2 Subtype 3 IdString 4 AttrVaaAccList Specific Method(s)
(static) (const) (static) (static) M/o

Data Type octetstring Unsigned16 octetstring octetstring

Min

Max

Def 00 00 F0 06 07 FF 20047 41 4C 45 72 74 (ALErt)

This element is usually placed in the service menu. If an alert is on, this element is displayed as: ALErt - - - - - - 1 If the display button is pressed for more than 2 seconds, then the status bit of the event AlertOccured is cleared, the alert symbol disappears and if selected, an event is generated. The display shows then: ALErt - - - - - - 0

Landis+Gyr AG

Revision Date: 09.09.2009

Page 135 / 190

Class Description

Compiled for P05.H

The digit at the end (1 or 0) reflects the state of the alert (1 = on). Pressing the display button once the alert is already cleared has no effect.

3.52 SignalStrengthActivate [10056-0-0-20048]


SignalStrengthActivate is a class of the type SwitchObject and is used to activating the reading of the antenna field strength out of the modem. AlertIndicatorActivate Attributes 1 LogicalName 2 Subtype 3 IdString 4 AttrVaaAccList Specific Method(s)
(static) (const) (static) (static) M/o

1 Data Type octetstring Unsigned16 octetstring octetstring

class_id=10056, version=0 Min Max Def 00 00 F0 06 08 FF 20048 41 6E 74 46 53 74 72 45 (AntFStr)

This element is usually placed in the service menu.

3.53 Demand Configuration Register [10080-0-2-0]


Firmware name: Mda_DemandSystemConfiguration This class allows to configure common settings required by all the demand registers and the demand calculation registers as defined by the classes Demand Register and Demand Calculation Register. Note: two attributes of this class (IntegrationPeriodDuration and NumberIntegrationPeriod) are the same as those in the Demand Register class (Period and Number of Periods). This means that modifications in either class will affect their content. Demand Configuration Register 1 class_id=10080, version=2 Attributes 1 LogicalName 2 IdString 3 IntegrationPeriodDuration 4 IntegrationPeriodType 5 NumberIntegrationPeriod 6 CaptureTime 7 StartTimeCurrent 8 AttrVaaAccList 9 Control 10 ThresholdPowerFactor 11 TimeSynchWindow 12 eRelayPulseLength Specific Service(s)
(static) (static) (static) (static) (static) (dynamic) (dynamic) (static) (static) (static) (static) (static) m/o

Data Type octetstring octetstring Unsigned32 Enum Unsigned16 UTC UTC octetstring Unsigned16 Unsigned32 Unsigned8 Unsigned8

Min

Max

Def
00 00 F0 0F xx FF

60 1

3600 15

900 1

Attribute Description IntegrationPeriodDuration Unsigned32 This value defines the duration of the sub-interval during which the running demand is calculated. The duration is given in seconds. Note: This attribute is the same as the attribute period of all instances of the Demand Register. The value selected for the period is physically stored in the attribute IntegrationPeriodDuration. The period for all instances is affected by changing the value of IntegrationPeriodDuration or changing the value of period in any of the Demand Register instances. IntegrationPeriodType Enum

Landis+Gyr AG

Revision Date: 09.09.2009

Page 136 / 190

Class Description

Compiled for P05.H

This value describes how the integration period is controlled. There are 4 cases which can be selected as follows:
0 1 2 3 Internal synchronous Internal asynchronous external with internal surveillance external without internal surveillance

NumberIntegrationPeriod Unsigned16 This value defines the number of the sub intervals required to calculate the average demand value. Implementation note: number_of_periods is one and the same for all instances of the Demand Register. This attribute is stored in the attribute NumberIntegrationPeriod of the Demand Configuration Register class. Changing the value of number_of_periods in anyone of the Demand Register instances or the value of NumberIntegrationPeriod of the Demand Configuration Register will modify the number of periods for all instances. CaptureTime Type: UTC Provides the date and time when the last_average_value was calculated. This value is written by the firmware. Implementation note: This attribute is the same as the attribute capture_time of all instances of the Demand Register. StartTimeCurrent Type: UTC Provides the date and time when the measurement of the current_average_value has been started. This value is written by the firmware. Implementation note: This attribute is the same as the attribute start_time_current of all instances of the Demand Register. Control Type: Unsigned16 This value is used to configurate some features of the of the demand calculation.
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

ShowPFT
Bit 15

SupprEn
Bit 14

EOIforPFail
Bit 13

eRelay
Bit 12

SynchRate
Bit 11

SynchRes
Bit 10

ShowT
Bit 9

TrigRegPer
Bit 8

Thermal

NoResidual Handling

TrigRegPer: Trigger Registration Period. When set to 1 the load profile is triggered (ie. its capture service is called) at the end of each demand integrating period. When set to 0 there is no triggering of profiles. ShowT: Show Pmax with time. When set to 1 all Demand PmaxValues are shown (display and readout) with their corresponding PmaxTime. When set to 0 all Demand PmaxValues are shown without their corresponding PmaxTime. SynchRes: End the integrating period after reset (cumulation). When set to 1 the integrating period restarts after a demand reset (cumulation). When set to 0 the integrating period is not finished at demand reset (see figure below). SynchRate: End the integrating period at rate switching. When set to 1 the integrating period is finished just before rate switching. Rate switching is produced only those CS signals in the tariff matrix which are selected for integrating period synchronization with the attribute OrOutputSynch of class TariffApplication. When set to 0 the integrating period is not finished at rate switching (see figure and notes below). eRelay: This bit defines the idle state used for the e-Relay. When set to 1 the idle state is high (and the active state low). When set to 0 the idle state is low. EOIforPFail: End of interval for every power fail: When set to 1 an end of interval will be issued for every power fail (independent of its length or position); when set to 0 no end of interval is issued if a power fail ocurrs within a demand measurement period. SupprEn: SuppresionEnable. This bit selects the behaviour of the external signal used for demand suppresion (signal B) and measuring period control (signal m) when they are used together (signal mB). When SupprEn is set to 1 the suppresion is active (behavoiur as signal mB). When set to 0 the suppresion is inactive (behavoiur as signal m). ShowPFT: ShowPFminWithTime . When set to 1 The PFminValues are shown in display and readout with their corresponding PFminTime. When set to 0 all PFminValues are shown without their corresponding PfminTime. NoResidualHandling: This bit is used to select if the residuals of the energy register are handled. The attributes : DigitsEnergyCumNormalMode and DigitsEnergyDeltaNormalMode of ObjectOfRubbish determine the resolution used for the residual handling. When this bit is set to 0 the residuals are handled; when set to 1 they are not handled.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 137 / 190

Class Description

Compiled for P05.H

X: Not used. Reserved. Thermal: When set to 1 the demand calculation is based on a thermal behaviour (US feature). When set to 0 the calculation is done in the normal way.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 138 / 190

Class Description

Compiled for P05.H

Synchronisation of integration period to rate switching (examples shown for internal synchronous operation) Rate switching Bit state
End integration period (before rate switching) Class: DemandConfigRegister Attr.: Control Bit: [SynchRate]

Bit state

Class: TarifApplication Attr.: OrOutputSynch

Rate Switching Command

Integration period Immediate 1 No 0 Rate 1 Rate 2

Synchronized

Yes

1 Rate 1 Rate 2

Synchronized 0
(default Diafire)

No

0 Rate 1 Rate 2

Immediate

Yes

Not recommended
Rate1 Rate2

Notes to Synchronization of integration period to rate switching: - The fourth case shown in the figure above is contradictory because, according to the text in the description of bit SynchRate: Ending of the integrating period at rate switching has only effect on those CS signals in the tariff matrix which are selected for integrating period synchronization with the attribute OrOutputSynch of class TariffApplication . As in this case the OrOutputSynch bit is selected for immediate action, the meter behaves like in the first case. The fourth case is therefore not recommended and was sparely tested. - In the second case (synchronized rate switching and with ending of integration period) the integration period is ended due to the rate switching command. Then the rate switching is synchronized to the EIO of the irregular (short) integration period. The following integration period is also irregular (short). Thereafter the periods are regular. Beware: any matrix CS signal (independent of its use) which has the bit OrOutputSynch selected for synchronized action will produce an end of the integration period. Thus select as synchronized only real tariff signals - The (cumulative) energy is stored in the rate registers up to the point of the rate switching as shown in the figure above. - Pmax demand registration takes place at the end of the integration period and the value is processed in the corresponding rate register which is active at the registration time. E.g. in the first case (immediate rate switching and no end of integration period) the Pmax demand is processed in the Rate 2registers. - Delta-energy registration (with integration period interval) behaves as depicted in the figure above for synchronous operation (cases 2 and 3); for immediate tariff switching (case 1) the energy is cumulated in the rate registers according to the point of the rate switching as shown in the figure above. At the end of the integration
Landis+Gyr AG Revision Date: 09.09.2009 Page 139 / 190

Class Description

Compiled for P05.H

period, both registers are reset, but only the rate 2 energy is entered in the profile (and that of rate 1 is not registered in the profile). Thus case 1 is not recommended for delta energy registration. Synchronisation of integration period to billing period reset (cumulation) End integration Bit state Bit state Billing period reset (Cumulation)
ResetControlSyste m ControlStatus [SynchToMeasPer]

period
(after Cumulation) DemandConfig Register. Control Bit: [SynchRes]

Cumulation

Integration period 0

Immediate

No

Immediate (Default Diafire)

Yes

Synchronised

No

Synchronised

Yes

Not recommended

ThresholdPowerFactor Type: Unsigned32 A threshold for the apparent power is used for the minimum power factor calculation and for power factor monitoring. The last integration period PF value is only used for minimum detection (or monitoring) if the apparent power used in the PF calculation is higher than this threshold. The TresholdPowerFactor value is displayed through Drd_PFThresholdPowerFactorDisplayRegister. Its format is the following:
Higher bytes Lower bytes

Unsigned16
pre-point Decimal point

Unsigned16
post-point

The scaling of this value must correspond the setting of the attribute UnitMeter in the Measuring system used: If UnitMeter is set to 0 (KWh) then the decimal point corresponds to K VA and the lower word shows 1/65536 of KVA, if UnitMeter is set to 1 (MWh) then the decimal point corresponds to M VA and the lower word shows 1/65536 of MVA. Implementation Note: The external access to this parameter shall be done through the CurrentValue of class PFThresholdPowerFactorDisplayRegister. The latter class takes into consideration the scaling set in the attributes

Landis+Gyr AG

Revision Date: 09.09.2009

Page 140 / 190

Class Description

Compiled for P05.H

DisplayUnitScale and UnitScale. When accessing to this attribute via DLMS, its scaling is given by the difference between the settings of DisplayUnitScale and UnitScale.
Example: Assuming UnitMeter is set to 0 and a value of ThresholdPowerFactor = 123VA is desired. Then - DisplayUnitScale shall be scaled to Kilo = 103 (due to UnitMeter = 0) - A threshold of 123VA will be internally written as 0x00001F7C ie: pre-point =0x0000 post-point = 0x1F7C

- The 123VA will be displayed as 0.123 KVA (also in readout) - If the DLMS UnitScale is scaled to units (100 ) then a DLMS read will result in 123 (VA) = 0x7B - If the DLMS UnitScale is scaled to units (10-1 ) then a DLMS read will result in 1229 (VA * 10-1 ) = 0x4CE Writing to or reading from TresholdPowerFactor directly, is not affected by the settings of DisplayUnitScale nor UnitScale and thus should be avoided.

TimeSynchWindow Type: Unsigned8 Defines the upper limit used to distinguish between a time synchronisation and a time setting. The time synchronisation window is given in seconds and must be between 2 and 9 seconds.If the time is synchronised or set within this window, then the time is modified but no Time Set event is set. If the synchronisation or a Time-Set Command is outside this window, then the Time Set event is triggered. In one capture period only one synchronisation may be performed!

eReleayPulseLength Type: Unsigned8 This attribute defines the length of eRelay pulse in seconds. If this parameter is set to 0, then the pulse length is set to 1% of the integration period length. The eRelay function sends a pulse at the end of every integration period. In order to use the eRelay function, the attributes OutputAssignment and OutputRelayAssignements of class TariffAplication shall be correctly selected.

3.54 Meter Function [10100-0-81-0]


Firmware name: Emf_MeterFunction This class is not agreed by the COSEM UA. The Meter Function (called before Electricity Metering Device) interface class provides a collection of services which are specific for an electricity meter, such as: set the device into the calibration or normal mode, execution of the cumulation service, reset the value of all or only some registers, etc. MeterFunction 0..1 class_id=10100, version=81 Min Max Def
00 00 F0 01 FF FF

Attributes Data Type (static) octet-string 1 LogicalName (static) enum 2 DeviceMode (static) 3 res_attribute1 (static) 4 res_attribute2 Specific Methods 5 reset() 6 cumulate() Proprietary Methods 7 NeutraliseCumulationInputs() 8 TemperatureAndRTCCalibrationStart() 9 TemperatureAndRTCCalibrationEnd() 10 ActivateNewParameters() 11 StopUnusedFunctionsForParam() 12 StartUpdatingFirmwareService() Proprietary Attributes 13 AttrVaaAccList (static) octetstring 14 CommunicationInputs (static) octetstring Proprietary Methods 15 ResetAlertOccurred
Landis+Gyr AG

m/o o o

Revision Date: 09.09.2009

Page 141 / 190

Class Description

Compiled for P05.H

Attribute Description DeviceMode Type: DeviceMode: enum (details, see below) This attribute is implemented as a service. When writing to it, the meter will be switched to the selected mode of operation. It is not possible to read this attribute; i.e. reading this parameter will show unpredictable values. The service is called by making a DLMS WriteRequest to the attribute DeviceMode with data category = enum; the value of the data selects the device mode as shown in the next table. Data type Data value Device mode Description
Enum Enum [0] [1] DisableCalibration mode EnableCalibration mode Disable certification mode (set normal resolution) Enable certification mode (high resolution)

CommunicationInputs Type: octetstring[8] This attribute is used to read or to set the matrix inputs that can be set by communications. Each value in the octetstring represents an input. The order of the inputs addressed in the octetstring is as follows:
Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8

CI1

CI2

CI3

CI4

CI5

CI6

CI7

CI8

When the inputs are read, their state is given in ASCII format: input state value read 0 0x30 1 0x31 When the inputs are written, their value is given in ASCII format and the following rules apply: Value written input state set to 0x30 0 0X31 1 any other value no change
Example: Value written: 31 31 30 88 31 30 30 88 sets inputs 1, 2 and 5, clears inputs 3, 6 and 7. Inputs 4 and 8 remain unchanged.

Methods Description reset() This method is used to reset all or only some group of the registers. The service is called by making a DLMS WriteRequest to the DLMS address of the method reset() with data category = enum and the data value according to the table below.
Data type Enum Enum Enum Enum Enum Enum Enum Enum Enum Enum Enum Enum
Landis+Gyr AG

Data value [0] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42]

Reset all registers Energy registers Energy total registers

Comment
Reset all energy tariff registers Reset all energy total registers Reset content of the error register Reset all diagnostic registers. Not very usful. Except battery count registers Reset all pulse output registers. Not very usful. Not implemented! Resets demand, Pmax and coincidental registers Resets Stored values profile Resets Load profile Resets Event Log profile
Revision Date: 09.09.2009

Event Nr
59 2, 128 128 45 104

Error register Diagnostic registers General count registers Pulse output registers Status output registers Demand registers Stored values Load profile Event Log

2 3 3 4
Page 142 / 190

Class Description

Compiled for P05.H

Data type Enum Enum Enum

Data value [44] [50] [51]

Reset

Comment

Event Nr
4

Dedicated event logs combination 32, 33, 39 2nd Load profile


Resets energy (tariff+total) and demand registers Resets 2nd Load profile

2, 128 192

With the reset services above only groups of registers can get reset (e.g. for reset EnergieRegister_1 ... EnergieRegister_n). For reset a several register, the reset service of its own object is to call (e.g. for reset the EnergieRegister1). When this service is called, an event is logged depending on the type of reset (see Event Nr column).

cumulate() This method performs a cumulation. The service is called by making a DLMS WriteRequest to the DLMS address of the method cumulate() with data category = integer and a data value of 0. NeutraliseCumulationInputs() This method neutralizes the cumulation inputs. The service is called by making a DLMS WriteRequest to the DLMS address of the method NeutraliseCumulationInputs() with data category = integer and a data value of 0.

TemperatureAndRTCCalibrationStart() This method enables the RTC calibration mode. The service is called by making a DLMS WriteRequest to the DLMS address of the method Temperature and RTC CalibrationStart() with data category = integer and a data value of 0.

TemperatureAndRTCCalibrationEnd() This method finishes the RTC calibration mode. The service is called by making a DLMS WriteRequest to the DLMS address of the method Temperature and RTC CalibrationEnd() with data category = integer and a data value of 0.

ActivateNewParameters() This method activates all parameters after a parameterization. The service is called by making a DLMS WriteRequest to the DLMS address of the method ActivateNewParameters() with data category = integer and a data value of 0. Beware: This method imitates a power fail; i.e. if this method is called, the meter behaves as after a power fail. - The energy during the running time of this method is lost. - The demand is handled like in a power fail. - EventLog and LoadProfile register a PowerFail. - Dlms and Iec communications are stopped (There is no "Acknowledgement" from meter ). - etc.

StopUnusedFunctionsForParam() This is not a DLMS method, this is a production attribute which is not usable by making a DLMS WriteRequest.

StartUpdatingFirmwareService() This is not a DLMS method, this is a production attribute which is not usable by making a DLMS WriteRequest.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 143 / 190

Class Description

Compiled for P05.H

ResetAlertOccurred() This method clears the event bit AlertOccurred (class EventRegister) as well as its input in the matrix (input bit Nr. 124 AlertOcc) and its state in the StateOfOperating (class MeterStateRegister) This service is called by making a DLMS WriteRequest to the DLMS address of the method ResetAlertOccurred() with data category = integer8 and a data value of 0.

3.55 Readable items [10110-0-0-0]


This class allows to display or readout secondary attributes of other classes. Each class has a main value (ussually the current value) which is displayed and readout using the Idstring and LogicalName of the class. A problem arises for classes having more than one value that has to be displayed. The class ReadableItems can be used for this purpose. Each instance has an own Idstring and LogicalName. Objects of this class are shown in chapter Description of special Objects. Readable Items 0..n class_id=10110, version=0 Attributes 1 LogicalName 2 IdString 3 AttrVaaAccList Specific Method(s)
(static) (static) (static) m/o

Data Type octetstring octetstring octetstring

Min

Max

Def
00 00 F0 ## xx FF

3.56 GPRS CSD Modem Setup [10133-0-80-0]


An instance of the GPRS Modem Setup contains the necessary information to initialize a GPRS modem. To preserve memory the common modem commands are used from the Modem Configuration object. The GPRS modem setup class contains only the additional properties for a GPRS modem. GPRS CSD Modem Setup Attributes 1 2 3 4 5 6 7 8 9 LogicalName APN UserNamePPP PasswordPPP OwnClassVersion AttrVaaAccList CSDToGRPS_co mmand GPRSToCSD_co mmand CSD_GPRS_wind ow (static) (static) (static) (static) (static) (static) (static) (static) (static) (static) 0..1 Data_Type Octetstring[6] Octetstring[80] Octetstring[20] Octetstring[20] Unsigned8 Octetstring[10] Octetstring[40] Octetstring[40] Array[2] of time Unsigned16 80 0 ~~~~~~~~~~~~~~~~~~~~\CR\LF (20x ~) 0 Class_id=10133, OwnClassVersion=80 Min. Max. Def.
00 00 F0 3B FF FF

10 ControlFlags

ExternalDevice: Defines the operational mode used by the channel:

Landis+Gyr AG

Revision Date: 09.09.2009

Page 144 / 190

Class Description

Compiled for P05.H

0= 1= 2= 3= 4= 5=

Channel not used D TE direct: connected to a PC External Modem DCE: connected to any PSTN modem GSM: connected to a GSM modem GSM/GPRS: connected to a transparent GPRS modem GSM/GPRS: connected to a GSM/GPRS modem (Dedicated mode for UK market)

Attribute Description
APN Type: Octetstring[80] Modem string to setup the GPRS connection. This string is additionally to the common modem commands if a GPRS modem is initialized. The modem string must always be terminated by \CR\LF. The string depends on the provider. Examples for the modem string: - +CGDCONT=1, "IP", "gprs.swisscom.ch"\CR\LF - +CGDCONT=1, "IP", "VIP.SUNRISE"\CR\LF Remark: Although the APN is 80 bytes long the CU can only handle modem commands up to 60 characters including CR and LF. If the CU is parameterized with a string longer than 60 bytes it will no longer restart. UserNamePPP Type: Octetstring[20] Username for the GPRS login. The user name is transmitted with PPP, identifying the CU at the mobile provider. PasswordPPP Type: Octetstring[20] Password for the GPRS login. The user name is transmitted with PPP, identifying the CU at the mobile provider.

CSDToGPRS_command Type: octectstring[40] Contains the string command and response for switching from CSD to GPRS mode. The command and response are terminated by \CR\LF. The complete octetstring must have a \0 termination. Default for ASL modem: AT+G3\CR\LF\OK\CR\LF\0 GPRSToCSD_command Type: octectstring[40] Contains the string command for switching the from GPRS to CSD mode. .(Default: 20 ~). The string must always be terminated by \CR\LF CSD_GPRS_window Type: array[2] of time Contains the start and end instand when the modem operates in GSM mode. The information in the array is organized in a structure with two elements each of type UTC, but only the hour and minutes attributes are considered: start_time: end_time: device time (time) device time (time)

time Time is an octet string whose format is defined by the COSEM time type [Ref. 2]. The resolution of the time window internally is minutes, thus the seconds and hundredths are ignored and set to 00 (i.e. writing to these fields is disregarded and the values are read as 00). It is coded as follows: octet-string {hour, minute, second, hundredths}

Landis+Gyr AG

Revision Date: 09.09.2009

Page 145 / 190

Class Description

Compiled for P05.H

Attribute hour: minute: second: hundredths:

Type Unsigned8 Unsigned8 Unsigned8 Unsigned8

Range 0..23 0..59 Not used. Read as 00 Not used. Read as 00

ControlFlags Type: Unsigned8 Contains options for modem behaviour.


InitialMode mState
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1

ResetForCS DToGPRS
Bit 0

Bit 15

Bit 14

Bit 13

Bit 12

Bit 11

Bit 10

Bit 9

Bit 8

Bit 0:

ResetForCSDToGPRS: If this bit is set to 1, then a modem reset is perform for switching from CSD to GPRS mode. Otherwise the command string CSDToGPRS_command is sent to the modem.

Implementation note: Only modem reset via power down/up supported. Switching with command string not implemented yet. Bit 1: InitialModemState: This bit defines the modem state after a power up: 0: Modem is in GPRS mode, 1: Modem in in CSD Bit 2-15: Not used .

3.57 Security Access light [10166-0-80-0]


This is a simpler version of class 10021 which is required by some simple residential meters. In the security system of class 10021, the attribute AttrVaaAccList points to an entry of a read write list and the read write list defines the access of the individual VAAs. It is the same here. Because the ligth security system (classes 10166 and 10022) have only 8 VAAs to support we can reduce the read write list to 1 Byte each. Security Access Class Attributes 1 LogicalName 2 AttrVaaAccList 3 SecurityActive 4 PasswordAttempts 5 LockoutTime 6 SecSecurityID 7 ReadWriteList0 ReadWriteList1 ....................... ReadWriteList127 Specific Method(s)
(static)

0 Data Type octetstring Octetstring[4] boolean Unsigned8 Unsigned8 Octetstring[32] Struct {Read; Write} Struct {Read; Write} Struct {Read; Write} Struct {Read; Write}

class_id= 10166 version=80 Min Max Def


00 00 F0 09 FF FF

(static) (static) (static) (static) (static)


(static) (static) (static) (static) m/o

Implementation Note concerning attribute AttrVaaAccList: The access to this attribute is restricted to the highest Vaa ->Vaa16.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 146 / 190

Class Description

Compiled for P05.H

SecurityActive Type: boolean Defines if the security attributes (e.g. password, security keys, etc.) will be tested when establishing a DLMS communication.When SecurityActive is set to TRUE the security attributes will be tested; when set to FALSE the security attributes are not tested and thus there is unrestricted access all parameters. ReadWriteList0 .. 127 Type: Struct {Read; Write} Defines the read and write access for every VAA (see also class VaaDefinition). Every list has two parts (each coded in one byte Unsigned8): one for the read access rights and the second for the write access rights.
1st Byte 2nd Byte

Read access definition

Write access definition

There is 1 bit in each part for every VAA. When bit is set to 1 the corresponding VAA has access; otherwise it has no access. The following table shows an entry of the AttrVaaAccLists:
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

Vaa16

Vaa8

Vaa7

Vaa5

Vaa4

Vaa3

Vaa2

Vaa1

Implementation Note: The access to this attribute is restricted to the highest Vaa (Vaa16). A modification can be made only if the Vaa that makes the change has itself access to the part (read or write) which will be modified. For the Fox meter the read write list is copied at startup into RAM. Be aware after a change of this parameter that a power down is made before testing the attribute and functionality. PasswordAttempts Type: Unsigned8 This attribute specifies the maximum number of communication attempts with wrong password after what the lockout function locks the communication channels. Its value must be in the range of 1..15. The 0 value means that the lockout function is disabled. The lock of communication channels ends : - with each power down or - at the next full hour change coming after the first wrong attempt (see LockoutTime below) or - at every day change (at midnight), whatever comes first. LockoutTime Type: Unsigned8 It specifies the period of a real clock calendar based timer which starts with the first wrong attempt, and ends the lock when the period is elapsed. e.g. a LockoutTime of 3 means that the lock ends time corresponds to the third hour change after the first wrong communication attempt. SecSecurityID This attribute can be written by DLMS. When it fits with another attribute and the first character is 0x63 the security system is opened until the next power down. Implementation note: The other attribute the SecSecurityID2, which is not visible by DLMS must be set in production correctly. We have several possibilities in production: Do nothing -> We can never activate this function in field Write 0x63 and a random value for each meter that is logged in the production database Put this under a level 1 in the security system -> We can remote access the meter with open security Put it under High security level -> We have to break the seal to come into this Level

We recommend low security level and 0x63 plus random value by production.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 147 / 190

Class Description

Compiled for P05.H

3.58 ASW Specific Attribute [10610-0-1-0]


This class is used for ASW only. In the available attributes the ASW can write information about the meter and the parameterisation. The ASW can also read these Attributes. ASW Specific Attribute 0..n class_id=10610, version=0 Attributes 1 LogicalName 2 Integer8Number1 3 Integer8Number2 4 Integer8Number3 5 Integer8Number4 6 Integer8Number5 7 Integer8Number6 8 Integer8Number7 9 Integer8Number8 10 String8Number1 11 String8Number2 12 String8Number3 13 String8Number4 14 String8Number5 15 String8Number6 16 String8Number7 17 String8Number8 18 String32 19 Array7OfString32 20 AttrVaaAccList Specific Method(s)
(static)

(static) m/o

Data Type Octetstring Integer8 Integer8 Integer8 Integer8 Integer8 Integer8 Integer8 Integer8 OctetString[8] OctetString[8] OctetString[8] OctetString[8] OctetString[8] OctetString[8] OctetString[8] OctetString[8] OctetString[32] Array[7] of String[32] OctetString

Min

Max

Def
00 00 F0 ## xx FF

Integer8Number1...Integer8Number8 Type: Integer8 Eight Integer8 values that can be defined by ASW. String8Number1...String8Number8 Type: OctetString[8] Eight Strings with a length of 8 bytes. The value can be defined by ASW. String32 Type: OctetString[32] One String with a length of 32 bytes. The value can be defined by ASW. Array7OfString32 Type: Array[7] of String[32] One Array of 7 OctetStrings with the length of 32 bytes each. The values can be defined by ASW.

3.59 ESW Specific Attribute [10611-0-80-0]


This class is used for ESW internally only.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 148 / 190

Class Description

Compiled for P05.H

ESW Specific Attribute Attributes 1 LogicalName 2 Unsigned32Number1 3 Unsigned32Number2 4 Unsigned32Number3 5 Unsigned32Number4 6 Unsigned32Number5 7 Unsigned32Number6 8 Unsigned32Number7 9 Unsigned32Number8 10 Unsigned32Number9 11 Unsigned32Number10 12 String8Number1 13 String8Number2 14 String8Number3 15 String8Number4 16 String8Number5 17 String32Number1 18 String32Number2 19 Array7OfString32 20 AttrVaaAccList Specific Method(s)
(static)

0..n Data Type Octetstring Unsigned32 Unsigned32 Unsigned32 Unsigned32 Unsigned32 Unsigned32 Unsigned32 Unsigned32 Unsigned32 Unsigned32 OctetString[8] OctetString[8] OctetString[8] OctetString[8] OctetString[8] OctetString[32] OctetString[32] Array[7] of String[32] OctetString

class_id=10611, version=80 Min Max Def


00 00 F0 ## xx FF

(static) m/o

Unsigned32Number1...Unsigned32Number10 Type: Unsigned32 Ten Unsigned32 values that can be defined by ESW. Implementation note: This values are locate in the RamBackup Area. String8Number1...String8Number5 Type: OctetString[8] Five Strings with a length of 8 bytes. The value can be defined by ESW. Implementation note: This values are locate in the Eeprom Area String32Number1...String32Number2 Type: OctetString[32] Two Strings with a length of 32 bytes. The value can be defined by ESW. Implementation note: This values are locate in the Eeprom Area Array7OfString32 Type: Array[7] of String[32] One Array of 7 OctetStrings with the length of 32 bytes each. The values can be defined by ESW. Implementation note: This value is locate in the Eeprom Area

3.60 Instantaneous Pulse Output [10630-0-81-0]


This class is used to accumulate energy and to generate pulses proportional to the accumulated energy. It can drive up to two output ports (usually connected to relays) to transmit the pulses, or to show the energy direction represented by the pulses. This class is defined like an energy register i.e. it accumulates energy from one or two measurement channels but the final output is in the form of pulses to a relay. The pulses produced by this new version (2) are equidistant in time. The previous versions produced the pulses as packages, one after the other at regular intervals Pulse Output 0..n class_id=10630version=0
Landis+Gyr AG Revision Date: 09.09.2009 Page 149 / 190

Class Description

Compiled for P05.H

OwnClassVersion=81 Attributes 1 LogicalName 2 UnitScale 3 AccumulatorValue 4 Threshold 5 PulseConstant 6 PulsesPerPrimaryUnit 7 PulseDuration 8 PulsePause 9 StatusFlags 10 MValueNumber 11 IOPortNumber 12 IDString 13 DisplayUnitScale 14 AttrVaaAccList 15 ConfiguredAndActivated 16 TypeOfSummationForOu tputs Specific Method(s)
(static) (static) (dynamic) (dynamic) (static) (static) (static) (static) (mixed) (static) (static) (static) (static) (static) (static) (static) m/o

Data Type Octetstring[6] UnitScaleType Integer32 Integer32 Ipo_Impulseconstant Type Unsigned32 Unsigned8 Unsigned8 Unsigned16 Unsigned16 Unsigned8 OctetString OctetString OctetString Boolean Unsigned8

Min

Max

Def
00 00 F0 05 xx FF

Attribute Description AccumulatorValue Type: Integer32 Internal dynamic value written by the firmware. It is used to detect when a pulse must be sent (AccumulatorValue >= ThresholdValue). The AccumulatorValue may be modified externally (e.g. by the test environment) to force a pulse output. This value has to be set to 0 in the production parameterization file. ThresholdValue Type: Integer32 This value is internally calculated by the firmware on power up. It shows the threshold value used to detect when a pulse must be sent out. During production tests, this value may be read in order to set a proper value of AccumulatorValue. PulseConstant Type: Ipo_ImpulseconstantType It defines the number of pulses that must be sent out per kWh or MWh [imp/unit] (depending on the setting of UnitMeter of the corresponding MeasurementSystem class used). The value of PulseConstant is calculated by the MAP tool and is used by the firmware to calculate output pulses. The attribute PulseValue (see below) is used to store the original value entered in the MAP tool, as a reconstruction of the original value from PulseConstant would be not exact. Notice that PulseConstant = 1 / PulseValue The factor is coded in 3 bytes using a floating point format: MultFactor Unsigned16 ExpFactor Integer8
1st Byte 2nd Byte 3rd Byte 4rd Byte

CalculationFactor

MultFactor

ExpFactor

unused

*Implementation note: Due to memory alignment problems of the processor, one byte is left unused at the end of the structure. Thus the values are represented as: CalculationFactor = MultFactor 2ExpFactor The value of the mantisa (MultFactor) is always chosen as the largest integer whose value is less than 216 (=65536). The factors are calculated as follows:
Example ImpulseConstant = 123,456 = 63209 * 2-9

Landis+Gyr AG

Revision Date: 09.09.2009

Page 150 / 190

Class Description MultFactor = 63209 ExpFactor = -9

Compiled for P05.H

PulsesPerPrimaryUnit Type: Unsigned32 It defines the so called pulse constant. It defines the number of pulses that must be sent out per primary unit (kWh or MWh). The primary unit is selected with the attribute UnitMeter of the corresponding Measurement System class used. Its maximal value is 65535 Pulses/PrimaryUnit. Implementation note: Actual (September 05) we are using PulsesPerPrimaryUnit for the LED and PulseConstant for the pulses. The software can be improved to handle this parts only with PulseConstant. PulseDuration Type: Unsigned8 Sets the duration of the pulses. Its value is given in milliseconds. Implementation note: PulseDuration has a resolution of 1ms, but due to the internal processing resolution it will be truncated to the next lower internal tic rate (2.0ms for current FOX / EOS implementation for relays, 1ms for LED). The values for the current FOX implementation are 10ms. 20ms, 40ms, 80ms and duty-cycle for relays, 2ms, 40ms and duty-cycle for LED. Duty-cycle is selected with a pulse duration of 0ms. PulsePause Type: Unsigned8 Sets the minimum time between pulses. The pulse pause cannot be shorter than the pulse duration. For duty-cycle pulses is this parameter not used. Note: 40ms pulses to the LED have a minimum pulse pause of 30ms. Implementation note: PulsePause has a resolution of 1ms, but due to the internal processing resolution it will be truncated to the next lower internal tic rate (2.0ms for current FOX implementation for relays, 1ms for LED). StatusFlags Type: Unsigned16 Sets some configuration and activation bits for the pulse output.
Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8

StatusFlags

Test mode

not used

ChOverState
Bit 2

Enabled

Ch Over

Bit 7

Bit 6

Bit 5

Bit 4

Bit 3

Bit 1

Bit 0

StatusFlags0

Energy Dir Dir Polarity

IO Port Configuration

A/S

Active

Active: When set to 1 the pulse accumulator is active, i.e. it counts the energy and can produce pulses; otherwise it is inhibited, i.e. it can not be used. If the pulse output is not used all this bit shall be set to 0. A/S: This flag is used in conjunction with MvalueNumber. When set to 0, the values of the measuring channels referenced by the nibbles of MvalueNumber are added to the value in CurrentValue; when set to 1, the value referenced by the lower nibble is added and the value referenced by the upper nibble is subtracted from the value in AccumulatorValue. IO Port Configuration: This class can handle up to two output ports for transmitting the pulses and / or for showing their energy direction. These bits (2 .. 5) are used to select one of four possible output configurations. Only one of these bits should be set: Bit 2 = 1: positive and negative pulses to 1st port. Bit 3 = 1: pulses to 1st port; direction indicator to 2nd port. Bit 4 = 1: positive pulses to 1st port negative to 2nd port. Bit 5 = 1: direction indicator to 2nd port. Dir Polarity: Used to select the polarity of the energy indication at the output channel. Settings to this bit have only an influence if either bit 3 or bit 5 is set to 1. If Dir Polarity is set to 1, the output signal has the same polarity as provided by the bit Energy Dir (see below); if set to 0 it is inverted: Reverse Direction Indicator. Note that the setting of this bit does not influence the state of the bit Energy Dir, it acts only upon the output signal. Energy Dir: Shows the energy direction. This bit is written by the firmware. When this bit is 1 it indicates negative energy (also called delivered or export energy); when this bit is 0 it indicates positive energy (also called consumed or import energy). ChangeOver: The class uses the two IO ports as change-over contact. The pulses are delivered to the IO port selected in the lower nibble. The other IO port is active while no pulse is delivered. The other IO port
Landis+Gyr AG Revision Date: 09.09.2009 Page 151 / 190

Class Description

Compiled for P05.H

is closed An exception is thrown when only one IO port is configured in IOPortNumber. ChangeOver is implemented only for relay outputs. Enabled: When set to 1 pulses are sent to the output. This bit is written by the firmware. This bit is only used for LED outputs. For LEDs exist 4 instances (active and reactive energy, squared voltage and current) but only two are allowed to pulse to the two LEDs. In normal operation mode are the active and reactive energy pulsed out. In the calibration mode for the Tianyou meter if the bit Ipo_UsedForCertificationMode is set the corresponding instances are enabled. ChangeOverState: This bit is set to 1 when the normally open contact of the changeover switch is closed. This bit is only used with changeover switches. On startup are the changeover switches set according to the state of this bit. Test mode This bit defines if this instance is in certification mode is used. Actually only for Tianyou meter implemented. 0 means normal used, 1 means in certification mode used. Internally named
Ipo_UsedForCertificationMode.

MValueNumber Type: Unsigned16 Selects up to two of the measurement channels M1..M10 as sources for the register. For the definition of the measurement channels refer to the used measurement system. The number of the selected channels (1 for M1, 2 for M2 ..10 for M10) is given in each of the bytes. The lower byte is used is used for selecting one channel and the upper for selecting a second one. A value of 0 in a byte indicates that no channel is selected for that byte. This attribute is used together with StatusFlags (see above) for adding or subtracting values to the contents of the accumulator (AccumulatorValue). For using the LED outputs the following MvalueNumbers are to parameterised: 252 = LED gives out active energy 253 = LED gives out reactive energy
Upper byte Lower byte

Reference to channel

Reference to channel

IOPortNumber Type: Unsigned8 Sets which output port(s) is/are used to deliver the output pulses or the direction indicators. The numbers of the selected ports are written in each of the nibbles:
Upper nibble Lower nibble

Reference to 2nd IO port number


Extension Board Fox :
Physical Relay Ioh_O1 Ioh_O2 Ioh_O3 Ioh_O4 Ioh_O5 Ioh_O6 Ioh_O7 Ioh_O8 Port number 1 2 3 4 5 6 7 8

Reference to 1st IO port number


LEDs :
Physical LEDs Port number LED1 (middle) Active 10 LED2 (left) Reactive 11

The correspondence between the number of the ports and the physical devices is given as follows:
Extension Board test mode TianYou :
Physical test Relay Ioh_OX Ioh_OX Port number Test mode bit 18 Test mode bit 1 ...8

Please note that the configuration for an instance allows only relays or only LED. Mixing of LED and relay is not supported. ConfiguredAndActivated Type: BOOLEAN Indicates if the register is not only configured (a static handling at compilation time), but also active (not in the meaning of a tariff activation). If it is false, the register is also not visible by the get object list service. It may be set only under producer access (by special L&G tool). TypeOfSummationForOutputs Type: Unsigned8

Landis+Gyr AG

Revision Date: 09.09.2009

Page 152 / 190

Class Description

Compiled for P05.H

It defines the exact energy value which is used as source for the active test LED. In all cases the source is the active energy. This attribute is coded as follows:
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

ReverseStop

Export

SumationMethod

Export: Defines the main direction of the energy flow. When set to 1 the energy is considered as export; when set ReverseStop:

SumationMethod:

to 0 as import. When set to 1 the registration of the energy in the opposite direction is stopped (e.g. if the main direction is import, then the export energy is not taken into consideration). When set to 0 the energy in both directions is registered. Defines how the energy is added before it is sent to the output LED and to the bar-graph indicator.

The following table shows the coding of these bits required to achieve the different summation methods. Definitions used in the notation: +ALx import energy in phase Lx; -ALx export energy in phase Lx.
Value Method 0x03 0x83 0x85 0xC3 0xC6 0x03 0x04 I1 I2 I3 E2 E3 IE1 IE2 Symbol
+A -A

Definition of the summations used Import Export Import with reverse stop as Ferraris Import with reverse stop per phase Export with reverse stop as Ferraris Export with reverse stop per phase Import + Export Sum of absolute values per phase

Formula
( +AL1 - -AL1 + +AL2 - -AL2 + +AL3 AL3 ) - -

+A

( If Pos{ +AL1 - -AL1 + +AL2 - -AL2 + +AL3 -AL3 } else 0 ) ( +AL1 + +AL2 + +AL3 ) ( If Pos{ -AL1 - +AL1 + -AL2 - +AL2 + -AL3 +AL3 } else 0 ) ( -AL1 + -AL2 + -AL3 ) ( +AL1 - -AL1 + +AL2 - -AL2 + +AL3 AL3 ) - -

+ALX

-A ALX +A + -A ALX

( +AL1 + +AL2 + +AL3 + -AL1 + -AL2 + AL3 )

See examples of the summation methods below.

The appropriated value that has to be parameterized depends on the selection made for the measurement channels M1 and M2. The following table shows the recommended values (within the cells): To do: Review with Tomas Kauer / BSI: This is an example for the measurement channels one and two for valid combinations. The principle is valid for all other 15 measurement channels. M1 / M2 I1 I2 I3 E2 E3 IE1 IE2 I1 I2 I3 I1 IE1 IE1 I2 I3 I3 I3 IE1 IE1 IE2 IE2 IE1 IE2 IE2 IE2 E2 E3 IE1 IE2 IE1 IE1 IE2 IE1 IE1 IE2 IE2 IE2 E2 E3 IE1 IE2 E3 E3 IE2 IE1 IE1 IE2 IE2 IE2 IE2 IE2

Valid combinations Unsupported combinations

Landis+Gyr AG

Revision Date: 09.09.2009

Page 153 / 190

Class Description

Compiled for P05.H

These combinations are not valid due to repeated definition of LogicalNames. Important Note: the measurement system must be parameterized accordingly! Example of method I1 (and also E1):
1h 2 5 -3 4 4 2h 2 5 3 10 14 3h 2 -5 -3 -6 8 15 10 5 0 -5 -10
2 5 -3 4 2 5 1 0 3 2 -5 -3 -6

1h

2h

3h 8

L1 L2 L3 M ethod I1 R egistration:

Example of method I2:


1h 2 5 -3 4 4 2h 2 5 3 10 14 3h 2 -5 -3 0 14 15 10 5 0 -5 -10
2

L1 L3 R egistration:

L2 M ethod I1

1h

2h

3h

L1 L2 L3 Method I2 R egistration:

14

1 0 5 -3 4 2 5 3 2 -5 -3 0

L1 L3

L2 Method I2

Example of method I3:


1h 2 5 -3 7 7 2h 2 5 3 10 17 3h 2 -5 -3 2 19

R egistration:

20 15 10 5 0 -5 -10
2 5 -3 7 2 5 1 0 3 2 -5

L1 L2 L3 Method I3 R egistration:

19

2 -3

1h L1 L3

2h L2 Method I3

3h

Example of method E2:


1h 2 5 -3 0 0 2h 2 5 3 0 0 3h 2 -5 -3 6 6 10 5 0 -5 -10
2

R egistration:

L1 L2 L3 Method E 2 R egistration:

6
5 -3 0 2 5 3 0 2 -5 -3 6

1h L1 L3

2h L2 Method E2

3h

Example of method E3:


1h 2 5 -3 3 3 2h 2 5 3 0 3 3h 2 -5 -3 8 11 10 5 0 -5 -10
2

R egistration: 1h 2h 3h

11
8

L1 L2 L3 Method E 3 R egistration:

5 -3

2 -5 -3

1h L1 L3 Registration:

2h L2

3h

Method E3

Landis+Gyr AG

Revision Date: 09.09.2009

Page 154 / 190

Class Description

Compiled for P05.H

Example of method IE1:


1h 2 5 -3 4 4 2h 2 5 3 10 14 3h 2 -5 -3 6 20 20 15 10 5 0 -5 -10
2 5 -3 4 2 5 1 0 3 2 -5 -3 6

20

L1 L2 L3 M ethod IE 1 R egistration:

1h

2h

3h

Example of method IE2:


1h 2 5 -3 10 10 2h 2 5 3 10 20 3h 2 -5 -3 10 30 30 20 10 0 -10
2

L1 L3 R egistration:

L2 M ethod IE1

30

L1 L2 L3 Me thod IE2 Registration:

5 -3

1 0 2

1 0 3 2 -5 -3

1 0

1h L1

2h L2

3h

Implementation remark:

L3 Registration:

Method IE 2

Special Instances 9 and 10 used in certification mode is only available for Tianyou meters. In the code there is a protection in Fox meters against using a specific instance in calibration mode only.

3.61 SmsController [10660-0-80-0]


This class is used to send SMS messages from a meter. It requests one or more SMS transmissions when an SmsAlert is received (see class Event Register). It sets the event bit SmsFail (event Nr. 105) in the event register when the transmission is faulty; otherwise it resets this bit. SmsController Class 0..1 class_id= 10660 version=80
Attributes 1 LogicalName 2 AtInitialisationString 3 AtMessageString 4 NumberOfSmsPerAlert 5 TimeBetweenSms 6 MaxNrOfTransmissionTrials 7 SmsStatus 8 SmsControl 9 AttrVaaAccList Specific Method(s) 10 SendTestSms(TestMessageString) (static) (static) (static) (static) (static) (dyn) (static) (static) (static) m/o o Data Type Octetstring[6] Octetstring[40] Octetstring[60] Unsigned8 Unsigned8 Unsigned8 Enum Unsigned8 octetstring Acc 0x7C 0x50 0x50 0x50 0x50 0x50 0x50 0x50 0X77 0x4F Min Max Def
00 00 60 32 00 FF

1 1

5 255

1 2

Attribute Description AtInitialisationString Type: Octetstring [40] String containing AT commands used as initialisation of the GSM for handling a message string. This string may contain several AT commands, each of which is terminated using Carriage Return characters (CTRL-D = 0x0D = <0D>). Unused characters at the end of the string have to be filled up with 0 (Null terminator). The firmware sends one command after the other to the GSM module and waits for acknowledge (OK). The firmware places the AT part of each command by itself: i.e. the string has only to provide the rest. (e.g.: Z corresponds to ATZ). Examples: for SMS strings, the tool has to provide:
1) Meters with CU: (either with RS232 or with integrated GSM) Z<0D>+CMGF=1<0D> [in ASCII: 5A 0D 2B 43 4D 47 46 3D 31 0D] 2) Meters with integrated communication in the base:
Landis+Gyr AG Revision Date: 09.09.2009 Page 155 / 190

Class Description

Compiled for P05.H

Z<0D>E0<0D>+CMGF=1<0D>

[in ASCII: 5A 0D 45 30 0D 2B 43 4D 47 46 3D 31 0D]

AtMessageString Type: Octetstring [60] AT command string including telephone number of the GSM receiver and the message text. AtMessageString can contain only one AT command. The firmware places the AT part of each command by itself: i.e. the string has only to provide the rest (e.g.: +CMGS=....... corresponds to AT+CMGS=.......). Example of an AtMessageString is: +CMGS= 0791234567 <0D> 74403759 <1A>
Telephone Nr. Message text (e.g. Meter Nr.)

NumberOfSmsPerAlert Type: Unsigned8 Selects the number of SMS messages that are sent when an alert (class EventRegister) occurs. It has usually the value 1 or 2 (ENEL case). The parameterisation tool shall restrict it to a max. of 5 and a minimum of 1. TimeBetweenSms Type: Unsigned8 Defines the time between transmissions of consecutive SMS messages originated by one alert. It is expressed in minutes. Range 1 to 255. MaxNrOfTransmissionTrials Type: Unsigned8 Determines the maximum number of transmission trials in case that the GSM module is busy. This attribute is internally calculated by the firmware from the attribute TimeBetweenSms; thus it is not parameterisable but readable. It is calculated to provide at least one repetition after one hour as follows: MaxNrOfTransmissionTrials = MaxNrOfTransmissionTrials = (60 divTimeBetweenSms +1) 2 if TimeBetweenSms 60, if TimeBetweenSms > 60

SmsStatus Type: Enum This attribute indicates the status of the SMS transmissions according to the following key:
0 = SmsTransmissionFailed 1 = SmsTransmissionOk 2 = GsmModuleBusy 3 = ProcessingSms 4 = IncompatibleCuForSms 5 = SpiChannelBusy

SmsControl Type: Unsigned8 This attribute is used to select operational modes, options or functions of this class. It is coded bitwise as follows:
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

X
SmsServiceEnabled

SmsServiceEnabled

Sets a bit (labelled SmsServiceEnabled of attribute SmsControl) to indicate the block Send SMS that the SMS service is enabled in the present meter. This information is necessary for active communication units. not used

Methods Description SendTestSms(TestMessageString) Service that allows to send test SMS. The functions parameter (TestMessageString) is a string of the same type as AtMessageString. It contains the telephone number to be called and the message.

3.62 Dedicated Event Log Config Class [10900-0-0-0]


Firmware name: DelConfig

Landis+Gyr AG

Revision Date: 09.09.2009

Page 156 / 190

Class Description

Compiled for P05.H

The Dedicated Event Log Config Class object defines a generalised concept to store parameter values for the configuration of the all dedicated event log profiles. Event Log Attributes
29 30 31 32 33 34 35 36 37 38 39 40 41 LogicalName Reserved1 CaptureObjects SortMethod SortObject Reserved2 Reserved3 ProfileEnabled SnapshotBufferControl Subtype OwnClassVersion AttrVaaAccList IdString (static) (static) (const) (const) (static) (static) (const) (const) (static) (static)

1 Data Type
Octet-string Array Enum ObjectDefinition Unsigend32 Unsigned8 Unsigned16 Unsigned8 Octetstring Octetstring

Class_id=10900, version=0, OwnClassVersion=0 Min


r/w r/w r r r/w r/w r r r/w r/w

Max

Def

0 0

Specific Methods
42 ResetAllDedEvLogs()

m/o
o

Attribute Description CaptureObjects Type: Array of ObjectDefinition A list of object definitions, which contains the logical name, the class_id and the attribute index of each capture object. This list is used to define which attributes have to be stored in the buffer during the capture process. Each entry in this list has the following parameters, which correspond to the type of ObjectDefinition: Class_id: unsigned16 LogicalName: octetstring[6] Attribute_Index: integer8 Data_Index: unsigned16 Implementation notes: a) The firmware uses the virtual name of the CaptureObjects instead of its logical name and class_id, but at interface level (DLMS communication or pre-processing for production with the DLMS converter) the logical names and the class_id are used. b) After changing the value of any attribute which influences the capturing behaviour the method ResetAllDedEvLogs() is called. c) The CaptureObject contains 28 objects where only the three first objects are configurable by DLMS. The other 25 objects are hidden and used internally. IMPORTANT: Never fill up the left 25 objects with 0. This writes LogicalName = Mab_NoVirtualName and Attribute_Index = 0 in each Object, which then would cause side effects for all other Dedicated Event Logs. SortMethod Type: Enum Defines the sorting method used to store capture entries into the buffer when it is full.
1 2 3 4 5 6 First in first out Last in first out Largest Smallest Nearest to zero Farthest to zero Overwrite the first stored entry Overwrite the last stored entry Overwrite the entry with the smallest value of the sort object definition Overwrite the entry with the largest value of the sort object definition Overwrite the entry with farthest value to zero of the sort object definition Overwrite the entry with nearest value to zero of the sort object definition (not supported) (not supported) (not supported) (not supported) (not supported)

All dedicated event logs use the 3rd method which keeps the entries sorted. SortObject Type: ObjectDefinition Defines the attribute (of a capture object), which will be used for sorting the captured entries when the buffer is full. This attribute is only relevant if SortMethod is one of the last four methods (3...6). The sort object is selected by specifying the same parameters as for CaptureObjects above.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 157 / 190

Class Description

Compiled for P05.H

ProfileEnabled Type: Unsigned 32 Defines which instances of the dedicated event logs are enabled or disabled. It is coded in an unsigned32 bit-wise. If the value of the corresponding bit of an instance is 1 then the object is activated; else (0) the object is deactivated and thus does not work. The state of each bit is shown with the attribute ProfileEnabled of the corresponding instance of the dedicated event logs.
Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 FirmwareName DedEvLogNormal1 DedEvLogNormal2 DedEvLogNormal3 DedEvLogNormal4 DedEvLogNormal5 DedEvLogNormal6 DedEvLogNormal7 DedEvLogNormal8 DedEvLogNormal9 DedEvLogNormal10 DedEvLogHighestMaxDemand11 DedEvLogExtended12 DedEvLogExtended13 DedEvLogSimple14 DedEvLogSimple15 DedEvLogSimple16 DedEvLogSimple17 DedEvLogSimple18 DedEvLogExtended19 DedEvLogVoltageQuality20 DedEvLogParameterChange21 Name Strong DC-Field Detected Front-Cover Opened Terminal-Cover Opened Power-Losses Phase-Sequence Reversal Over-Current in Neutral Demand Monitoring 1 Demand Monitoring 2 Demand Monitoring 3 Demand Monitoring 4 10 Highest MD's Swells (Over-voltage) Sags (Under-voltage) Phase-Losses Negative-Active-Energy-Flow Under-Voltage with Current Open / Shortened CT Under-Current Over-Current in Phase Voltage Quality Logging of Parameter change Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Reserved Description 0= disabled, 1 = enabled 0= disabled, 1 = enabled 0= disabled, 1 = enabled 0= disabled, 1 = enabled 0= disabled, 1 = enabled 0= disabled, 1 = enabled 0= disabled, 1 = enabled 0= disabled, 1 = enabled 0= disabled, 1 = enabled 0= disabled, 1 = enabled 0= disabled, 1 = enabled 0= disabled, 1 = enabled 0= disabled, 1 = enabled 0= disabled, 1 = enabled 0= disabled, 1 = enabled 0= disabled, 1 = enabled 0= disabled, 1 = enabled 0= disabled, 1 = enabled 0= disabled, 1 = enabled 0= disabled, 1 = enabled 0= disabled, 1 = enabled

SnapshotBufferControl Type: Unsigned8 Defines if the Snapshot Buffer of all Dedicated Event Logs uses the Instantaneous Values. If the value of SnapshotBufferControl is 1 then the Snapshot Buffer instantaneous values are enabled; else (0) the Snapshot Buffer instantaneous values are disabled.
Bit 0 1 2 3 4 5 6 7 Name SnapshotBufferControl Reserved Reserved Reserved Reserved Reserved Reserved Reserved Description 0= disabled, 1 = enabled Remarks -

Implementation notes: After changing this attribute which influences the capturing behaviour the method ResetAllDedEvLogs() is called.

3.63 Dedicated Event Log Normal [10910-0-0-0]


Firmware name: DedEvLogNormal The dedicated event log Normal class is used for the detection of events related to anti tampering and demand monitoring.
Landis+Gyr AG Revision Date: 09.09.2009 Page 158 / 190

Class Description

Compiled for P05.H

The dedicated event log records events and exceptions a periodically. The dedicated event log inherits all attributes from the profile generic class. A dedicated event log entry is made when the state of one or more of the selected events bits in the Event Register changes. For the description of the event selection and event filtering refer to Event Register. Note: The configuration of the Dedicated Event Log Normal Class is done in the Dedicated Event Log Config Class. Thus the attributes CapturedObjects, ProfileEnabled and SnapshotBufferControl are controlled from the Dedicated Event Log Config Class. If this class is to be used as stand alone application, these attributes shall be defined as static (r/w). Event Log Attributes
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 LogicalName Buffer CaptureObjects SortMethod SortObject EntriesInUse ProfileEntries ProfileEnabled SnapshotBufferControl Subtype OwnClassVersion AttrVaaAccList IdString ActualState DateOfLastReset CurrentVaa TotalNoOfEvents TotalNoOfSeconds BufferHint (static) (dyn.) (const) (const) (const) (dyn.) (const) (const) (const) (const) (const) (static) (static) (dyn.) (dyn.) (dyn.) (dyn.) (dyn.) (dyn.)

10 Data Type
Octet-string Array Array Enum ObjectDefinition Unsigned32 Unsigned32 BOOLEAN Unsigned8 Unsigned16 Unsigned8 Octetstring Octetstring Unsigned8 UTC Unsigned8 Unsigned16 Unsigned32 Integer8

Class_id=10910, version=0, OwnClassVersion=0 Min


r/w r r r r r r r r r r r/w r/w r r r r r

Max

Def

10 0 0

Specific Methods
62 ResetDedEvLog()

m/o
o

Objects of this class This class has the following objects labelled DedEvLogNormalX (X = 1...10):
X 1 2 3 4 5 6 7 8 9 10 Dedicated Event Log Name Strong DC-Field Detected Front-Cover Opened Terminal-Cover Opened Power-Losses Phase-Sequence Reversal Over-Current in Neutral Demand Monitoring 1 Demand Monitoring 2 Demand Monitoring 3 Demand Monitoring 4

Attribute Description Buffer Type: Array of Octetstring The buffer attribute contains a sequence of entries. Each entry contains values of the captured objects. The sequence of the values of the captured objects within the structure corresponds to the order defined in the attribute CaptureObjects. The sequence of the entries within the array is as shown by the following figure. The order of the entries named longest 1 longest 10 is given according to the specified sort method. The shows the capture objects used for the present class.
Snapshot Buffer Start Instantaneous values V1 V2 V3 I1 I2 I3 V1 V2 V3 I1 I2 I3 V1 V2 V3 I1 I2 I3 V1 V2 V3 I1 I2 I3 Snapshot Buffer End Instantaneous values V1 V2 V3 I1 I2 I3 V1 V2 V3 I1 I2 I3 V1 V2 V3 I1 I2 I3 V1 V2 V3 I1 I2 I3

entry first longest 1 longest longest 10 last

occured time/date time/date time/date time/date

Energy val. E1 E2 E3 E1 E2 E3 E1 E2 E3 E1 E2 E3

In In In In

PF PF PF PF

restored time/date time/date time/date time/date

Energy val. E1 E2 E3 E1 E2 E3 E1 E2 E3 E1 E2 E3

In In In In

PF PF PF PF

duration seconds seconds seconds seconds

The following special objects are captured:

Landis+Gyr AG

Revision Date: 09.09.2009

Page 159 / 190

Class Description

Compiled for P05.H

Entry: is a tag used to identify the correspondent entry according to the following table:
Integer8 0 1 2 10 120 Meaning first longest 1 longest 2 longest longest 10 last

Occurred and Restored: are timestamps in UTC format that indicate the time at which the event started (occurred) and when it finished (restored). Duration: is indicates the time duration of the event. This object is used for sorting the entries longest 1 10. The group of instantaneous values (of snapshot buffer start and snapshot buffer end) can be included or excluded with the attribute SnapshotBufferControl in the Dedicated Event Log Config class. CaptureObjects Type: Array of ObjectDefinition A list of object definitions, which contains the logical name, the class_id and the attribute index of each capture object. This list is used to define which attributes have to be stored in the buffer during the registration process. Each entry in this list has the following parameters, which correspond to the type ObjectDefinition: Class_id: unsigned16; LogicalName: octetstring[6]; Attribute_Index: integer8; Data_Index: unsigned16 Implementation note: Internally (in the code) the CaptureObjects use the virtual name instead of the logical name and the class_id, but at interface level (DLMS communication or pre-processing for production with the DLMS converter) the logical names and the class_id are used.
Nr. entry time/date E1 E2 E3 V1 V2 V3 I1 I2 I3 In Pf time/date E1 E2 E3 V1 V2 V3 I1 I2 I3 In Pf duration Virtual name Mab_Del_ProfileEntryNumber Mab_SystemTime Mab_EnergyRegister Mab_EnergyRegister Mab_EnergyRegister Mab_DiagnosticRegister1 Mab_DiagnosticRegister2 Mab_DiagnosticRegister3 Mab_DiagnosticRegister5 Mab_DiagnosticRegister6 Mab_DiagnosticRegister7 Mab_DiagnosticRegister4 Mab_DiagnosticRegister27 Mab_SystemTime Mab_EnergyRegister Mab_EnergyRegister Mab_EnergyRegister Mab_DiagnosticRegister1 Mab_DiagnosticRegister2 Mab_DiagnosticRegister3 Mab_DiagnosticRegister5 Mab_DiagnosticRegister6 Mab_DiagnosticRegister7 Mab_DiagnosticRegister4 Mab_DiagnosticRegister27 DedEventDuration Class_id 1 8 Configurable Configurable Configurable 3 3 3 3 3 3 3 3 8 Configurable Configurable Configurable 3 3 3 3 3 3 3 3 1 Logical name 00 00 F0 1E 0D FF 00 00 01 00 00 FF Configurable Configurable Configurable 01 01 20 07 00 FF 01 01 34 07 00 FF 01 01 48 07 00 FF 01 01 1F 07 00 FF 01 01 33 07 00 FF 01 01 47 07 00 FF 01 01 5B 07 00 FF 01 01 0D 07 00 FF 00 00 01 00 00 FF Configurable Configurable Configurable 01 01 20 07 00 FF 01 01 34 07 00 FF 01 01 48 07 00 FF 01 01 1F 07 00 FF 01 01 33 07 00 FF 01 01 47 07 00 FF 01 01 5B 07 00 FF 01 01 0D 07 00 FF 00 00 F0 1E 0E FF Attribute index 2 2 Configurable Configurable Configurable 2 2 2 2 2 2 2 2 2 Configurable Configurable Configurable 2 2 2 2 2 2 2 2 2 Data index 0 0 Configurable Configurable Configurable 0 0 0 0 0 0 0 0 0 Configurable Configurable Configurable 0 0 0 0 0 0 0 0 0

SortMethod Type: Enum Defines the sorting method used to store capture entries into the buffer when it is full.
1 2 3 4 First in first out Last in first out Largest Smallest Overwrite the first stored entry Overwrite the last stored entry Overwrite the entry with the smallest value of the sort object definition Overwrite the entry with the largest value of the sort object definition (not supported) (not supported) (not supported)

Landis+Gyr AG

Revision Date: 09.09.2009

Page 160 / 190

Class Description 5 6 Nearest to zero Farest to zero

Compiled for P05.H Overwrite the entry with farest value to zero of the sort object definition (not supported) Overwrite the entry with nearest value to zero of the sort object definition (not supported)

This class uses the third method. SortObject Type: ObjectDefinition Indicates the attribute (of a capture object), which will be used for sorting the captured entries when the buffer is full. This attribute is only relevant if SortMethod is one of the last four methods (3...6). The sort object is selected by specifying the same parameters as for CaptureObjects above. Implementation note: The SortObject for this class is set to DedEventDuration by the firmware. EntriesInUse Type: Unsigned32 This attribute is set by the firmware. It counts the number of entries stored in the buffer. After a call of the reset () service the buffer is empty, and this value is zero. Upon each subsequent call of capture (), this value will be incremented up to the maximum number of entries that will get stored as defined by ProfileEntries. Implementation note: This attribute is internally handled as Unsigned8. With DLMS it is always read as Unsigned32. ProfileEntries Type: Unsigned32 Indicates the maximum number of entries, which may be stored in the buffer. One entry contains one or more values of the captured objects. The value of ProfileEntries shall be selected in accordance to the size of the memory used. A value of zero disables the profile. Implementation note: This attribute is internally handled as Unsigned8. With DLMS it is always read as Unsigned32. For Dedicated Event Log Normal, the attribute ProfileEntries is fixed defined to 10 entries per log by the firmware. ProfileEnabled Type: BOOLEAN Indicates if the instance of the Dedicated Event Log Normal is enabled. If the value of ProfileEnabled is TRUE then the object is activated; else (False) the object is deactivated and thus does not work. This attribute can only be set (globally for all dedicated event logs) with the attribute ProfileEnabled in the class Dedicated Event Log Config. SnapshotBufferControl Type: Unsigned8 Indicates if the snapshot buffer of all dedicated event logs uses the instantaneous values. If the value of SnapshotBufferControl is 1 then the Snapshot Buffer instantaneous values are enabled; else (0) the Snapshot Buffer instantaneous values are disabled. This attribute can only be set (globally for all dedicated event logs) with the attribute DedEventLogControl in the class Dedicated Event Log Config.
Bit 0 1 2 3 4 5 6 7 Name SnapshotBufferControl Reserved Reserved Reserved Reserved Reserved Reserved Reserved Description 0= disabled, 1 = enabled Remarks -

ActualState Type: Unsigned8 This attribute is modified by the firmware. It indicates the actual state of the event which triggers this profile.
Bit 0 1 2 3 4 5 6 7 Name DedEventActualStatus1 Reserved Reserved Reserved Reserved Reserved Reserved Reserved Description 0 = inactive 1 = active Not used. Not used. Not used. Not used. Not used. Not used. Not used. Remarks -

Landis+Gyr AG

Revision Date: 09.09.2009

Page 161 / 190

Class Description

Compiled for P05.H

DateOfLastReset Type: UTC The attribute holds the timestamp when the profile was reset. Implementation note: The time is internally coded in an Unsigned32 as the number of seconds after 1.1.1990. Dates before 1.01.2000 (Gregorian calendar) are shown as 1.01.2000 (this was made in order to avoid unambiguity when reading dates with 2-digits year format e.g. IEC). For DLMS communication purposes, the UTC format is used. CurrentVaa (Last Reset By) Type: Unsigned8 It holds the security access level used to reset this class or the Dedicated Event Log ConfigClass. It is coded as follows: CurrentVaa Corresponding access level 1 [0] Public Access 2 [1] Data Collection 4 [2] Utility Field Service 8 [3] Utility Service 16 [4] Extended Utility Service 32 [6] Remote Data Collection 64 [7] Remote Service 128 [16] Manufacturer Access TotalNoOfEvents Type: Unsigned16 This is the total number of the events, which happened since the last reset of the dedicated event log. TotalNoOfSeconds Type: Unsigned32 This is the accumulated time in seconds of the duration of all events that triggered the present object. It also starts with the value 0 after a reset has been done. BufferHint (BufferUpdatedDuringAccess) Type: Integer8 The dedicated event log must be able to log an event when it occurs. In some cases an event happens simultaneous while an external tool reads out the event log. In this case the event log buffer will be sorted again (top down: longest event duration shortest event duration) and the shortest entry will be kicked out of the event log buffer. After the event log buffer is sorted the external tool could get the same entry twice. This attribute shows if the buffer was re-sorted (due to the occurrence of a new event) while it was accessed (e.g. readout). Its value will be held until the next readout is started. Implementation note: during communication access to the buffer, BufferHint is set to -1 and at the end of the access it will be set to the proper state. BufferHint 0 -1 Meaning ok Profile Sorted
New event Profile OK 0 Profile sorted

BufferHint

-1

3.64 Dedicated Event Log Simple [10920-0-0-0]


Readout start Readout end Readout start Readout end

Firmware name: DedEvLogSimple The dedicated event log records events and exceptions a periodically. The dedicated event log inherits all attributes from the profile generic class. A dedicated event log entry is made when the state of one or more of the selected events bits in the Event Register changes. For the description of the event selection and event filtering refer to Event Register. Note: The configuration of the Dedicated Event Log Simple Class is done in the Dedicated Event Log Config Class. Thus the attributes CapturedObjects, ProfileEnabled and SnapshotBufferControl are controlled from the Dedicated

Landis+Gyr AG

Revision Date: 09.09.2009

Page 162 / 190

Class Description

Compiled for P05.H

Event Log Config Class. If this class is to be used as stand alone application, these attributes shall be defined as static (r/w). Event Log Attributes 63 LogicalName 64 Buffer 65 CaptureObjects 66 SortMethod 67 SortObject 68 EntriesInUse 69 ProfileEntries 70 ProfileEnabled
71 SnapshotBufferControl

20 Data Type Octet-string Array Array Enum ObjectDefinition Unsigned32 Unsigned32 BOOLEAN Unsigned8 Unsigned16 Unsigned8 Octetstring Octetstring Unsigned8 UTC Unsigned8 Integer16 Unsigned32
Integer16 Unsigned32 Integer16 Unsigned32 Integer16 Unsigned32

Class_id=10920, version=0, OwnClassVersion=0 Min r/w r r r r r r r r r/w r/w r r r r r r r r r r r r Max Def

72 73 74 75 76 77 78 79 80
81 82 83 84 85 86

Subtype OwnClassVersion AttrVaaAccList IdString ActualState DateOfLastReset CurrentVaa TotalNoOfEvents TotalNoOfSeconds


TotalNoOfPhA TotalSecondsOfPhA TotalNoOfPhB TotalSecondsOfPhB TotalNoOfPhC TotalSecondsOfPhC

87 BufferHint Specific Methods 88 ResetDedEvLog()

(static) (dyn.) (static) (static) (static) (dyn.) (static) (const) (const) (const) (const) (static) (static) (dyn.) (dyn.) (dyn.) (dyn.) (dyn.) (dyn.) (dyn.) (dyn.) (dyn.) (dyn.) (dyn.) (dyn.)

3 30 0 0

Integer8

m/o o

Objects of this class This class has the following objects labelled DedEvLogSimpleX (X = 14 ... 18):
X 14 15 16 17 18 Dedicated Event Log Name Phase-Losses Negative-Active-Energy-Flow IwithoutU Open / Shortened CT Under-Current

Attribute Description Buffer Type: Array of Octetstring The buffer attribute contains a sequence of entries. Each entry contains values of the captured objects. The sequence of the values of the captured objects within the structure corresponds to the order defined in the attribute captureobjects. The sequence of the entries within the array is ordered according to the specified sort method. The following figure shows the capture objects used for the present class. The group of instantaneous values (at start and end) can be included or excluded with the attribute SnapshotBufferControl in the Dedicated Event Log Config class.
Snapshot Buffer Start entry first ph1 first ph2 first ph3 longest 1 longest longest 30 last ph1 last ph2 last ph3 occured time/date time/date time/date time/date time/date time/date time/date time/date Energy val. E1 E2 E3 E1 E2 E3 E1 E2 E3 E1 E2 E3 ... E1 E2 E3 E1 E2 E3 E1 E2 E3 E1 E2 E3 Instantaneous values V2 V3 I1 I2 I3 In V2 V3 I1 I2 I3 In V2 V3 I1 I2 I3 In V2 V3 I1 I2 I3 In V2 V3 I1 I2 I3 In V2 V3 I1 I2 I3 In V2 V3 I1 I2 I3 In V2 V3 I1 I2 I3 In restored time/date time/date time/date time/date time/date time/date time/date time/date Energy val. E1 E2 E3 E1 E2 E3 E1 E2 E3 E1 E2 E3 E1 E2 E3 E1 E2 E3 E1 E2 E3 E1 E2 E3 Snapshot Buffer End Instantaneous values V2 V3 I1 I2 I3 In V2 V3 I1 I2 I3 In V2 V3 I1 I2 I3 In V2 V3 I1 I2 I3 In V2 V3 I1 I2 I3 In V2 V3 I1 I2 I3 In V2 V3 I1 I2 I3 In V2 V3 I1 I2 I3 In duratio n seconds seconds seconds seconds seconds seconds seconds seconds phase 1 2 3 1,2 or 3 1,2 or 3 1 2 3

V1 V1 V1 V1 V1 V1 V1 V1

PF PF PF PF PF PF PF PF

V1 V1 V1 V1 V1 V1 V1 V1

PF PF PF PF PF PF PF PF

Landis+Gyr AG

Revision Date: 09.09.2009

Page 163 / 190

Class Description

Compiled for P05.H

The following special objects are captured: Entry: is a tag used to identify the correspondent entry according to the following table:
Integer8 -3 -2 -1 1 2 30 121 122 123 Meaning first ph1 first ph2 first ph3 longest 1 longest longest 30 last ph1 last ph2 last ph3

Occurred and Restored: are timestamps in UTC format that indicate the time at which the event started (occurred) and when it finished (restored). Duration: indicates the time duration (in seconds) of the event. It is coded as unsigned32.This object is used for sorting the entries longest 1 30. Phase: indicates the phase which is registered in each entry. It is coded as unsigned8 and its number (1, 2 or 3) correspond to the phase number: 1 for L1 (phase a), 2 for L2 (phase b) and 3 for L3 (phase c). This object is used for sorting the entries longest 1 30. The group of instantaneous values (of snapshot buffer start and snapshot buffer end) can be included or excluded with the attribute SnapshotBufferControl in the Dedicated Event Log Config class. The entries labelled first phX hold the first values captured for each phase X. If only few entries have been registered, then these values may also appear within the longest n entries. The entries labelled last phX hold the newest values captured of phase X. Here also, if only few entries have been registered, then these values may also appear within the longest n entries. The entries labelled longest 130 hold the values present at the longest durations registered. In these cases the object phase indicates which was the corresponding phase.

CaptureObjects Type: Array of ObjectDefinition A list of object definitions, which contains the logical name, the class_id and the attribute index of each capture object. This list is used to define which attributes have to be stored in the buffer during the capture process. Each entry in this list has the following parameters, which correspond to the type of ObjectDefinition: Class_id: unsigned16; LogicalName: octetstring[6]; Attribute_Index: integer8; Data_Index: unsigned16 Implementation notes: - The firmware uses the virtual name instead of the logical name and the class_id for the CaptureObjects, but at interface level (DLMS communication or pre-processing for production with the DLMS converter) the logical names and the class_id are used. - Objects of this class require the following objects to be captured:
entry time/date E1 E2 E3 V1 V2 V3 I1 I2 I3 In Pf time/date E1 VirtualName Mab_Del_ProfileEntryNumber Mab_SystemTime Mab_EnergyRegister Mab_EnergyRegister Mab_EnergyRegister Mab_DiagnosticRegister1 Mab_DiagnosticRegister2 Mab_DiagnosticRegister3 Mab_DiagnosticRegister5 Mab_DiagnosticRegister6 Mab_DiagnosticRegister7 Mab_DiagnosticRegister4 Mab_DiagnosticRegister27 Mab_SystemTime Mab_EnergyRegister Class_id: 1 8 Configurable Configurable Configurable 3 3 3 3 3 3 3 3 8 Configurable LogicalName: 0000F01E0DFF 0000010000FF Configurable Configurable Configurable 0101200700FF 0101340700FF 0101480700FF 01011F0700FF 0101330700FF 0101470700FF 01015B0700FF 01010D0700FF 0000010000FF Configurable Attribute_Index: 2 2 Configurable Configurable Configurable 2 2 2 2 2 2 2 2 2 Configurable Data_Index: 0 0 Configurable Configurable Configurable 0 0 0 0 0 0 0 0 0 Configurable

Landis+Gyr AG

Revision Date: 09.09.2009

Page 164 / 190

Class Description E2 E3 V1 V2 V3 I1 I2 I3 In Pf duration phase Mab_EnergyRegister Mab_EnergyRegister Mab_DiagnosticRegister1 Mab_DiagnosticRegister2 Mab_DiagnosticRegister3 Mab_DiagnosticRegister5 Mab_DiagnosticRegister6 Mab_DiagnosticRegister7 Mab_DiagnosticRegister4 Mab_DiagnosticRegister27 Mab_Del_EventDuration Mab_Del_EventPhaseNumber Configurable Configurable 3 3 3 3 3 3 3 3 1 1 Configurable Configurable 0101200700FF 0101340700FF 0101480700FF 01011F0700FF 0101330700FF 0101470700FF 01015B0700FF 01010D0700FF 0000F01E0EFF 0000F01E0FFF Configurable Configurable 2 2 2 2 2 2 2 2 2 2

Compiled for P05.H Configurable Configurable 0 0 0 0 0 0 0 0 0 0

Exception for Dedicated EventLog 16 (I without U): The energy registers E1, E2 and E3 are not configurable. The CaptureObject list is fixed initialized with the registers Mab_EnergyTotalRegister13, EnergyTotalRegister14 and EnergyTotalRegister15

SortMethod Type: Enum Defines the sorting method used to store capture entries into the buffer when it is full.
1 2 3 4 5 6 First in first out Last in first out Largest Smallest Nearest to zero Farest to zero Overwrite the first stored entry Overwrite the last stored entry Overwrite the entry with the smallest value of the sort object definition Overwrite the entry with the largest value of the sort object definition Overwrite the entry with farest value to zero of the sort object definition Overwrite the entry with nearest value to zero of the sort object definition (not supported) (not supported) (not supported) (not supported) (not supported)

This class uses the third sort method. SortObject Type: ObjectDefinition Indicates the attribute (of a capture object), which will be used for sorting the captured entries when the buffer is full. This attribute is only relevant if SortMethod is one of the last four methods (3...6). The sort object is selected by specifying the same parameters as for CaptureObjects above. Implementation note: The SortObject for this class is set to DedEventDuration by the firmware. EntriesInUse Type: Unsigned32 This attribute is set by the firmware. It counts the number of entries stored in the buffer. After a call of the reset () service the buffer is empty, and this value is zero. Upon each subsequent call of capture (), this value will be incremented up to the maximum number of entries that will get stored as defined by ProfileEntries. Implementation note: This attribute is internally handled as Unsigned8. With DLMS it is always read as Unsigned32. ProfileEntries Type: Unsigned32 Indicates the maximum number of entries, which may be stored in the buffer. One entry contains one or more values of the captured objects. The value of ProfileEntries shall be selected in accordance to the size of the memory used. A value of zero disables the profile. Implementation note: This attribute is internally handled as Unsigned8. With DLMS it is always read as Unsigned32. For Dedicated Event Log Simple, the attribute ProfileEntries is fixed defined to 30 entries per log by the firmware. ProfileEnabled Type: BOOLEAN Indicates if the instance of the Dedicated Event Log Simple is enabled. If the value of ProfileEnabled is TRUE then the object is activated; else (False) the object is deactivated and thus does not work. This attribute can only be set (globally for all dedicated event logs) with the attribute ProfileEnabled in the class Dedicated Event Log Config. SnapshotBufferControl Type: Unsigned8 Indicates if the snapshot buffer of all dedicated event logs uses the instantaneous values. If the value of SnapshotBufferControl is 1 then the Snapshot Buffer instantaneous values are enabled; else (0) the Snapshot Buffer instantaneous values are disabled. This attribute can only be set (globally for all dedicated event logs) with the attribute DedEventLogControl in the class Dedicated Event Log Config.
Bit Name Description Remarks

Landis+Gyr AG

Revision Date: 09.09.2009

Page 165 / 190

Class Description 0 1 2 3 4 5 6 7 SnapshotBufferControl Reserved Reserved Reserved Reserved Reserved Reserved Reserved 0= disabled, 1 = enabled -

Compiled for P05.H

ActualState Type: Unsigned8 This attribute is modified by the firmware. It indicates the actual state of the event which triggers this profile.
Bit 0 1 2 3 4 5 6 7 Name DedEventActualStatus 1 DedEventActualStatus 2 DedEventActualStatus 3 Reserved Reserved Reserved Reserved Reserved Description Event in phase 1: Event in phase 2: Event in phase 3: Not used. Not used. Not used. Not used. Not used. Remarks -

0 = inactive 1 = active 0 = inactive 1 = active 0 = inactive 1 = active

DateOfLastReset Type: UTC The attribute holds the timestamp when the profile was last reset. Implementation note: The time is internally coded in an Unsigned32 as the number of seconds after 1.1.1990. Dates before 1.01.2000 (Gregorian calendar) are shown as 1.01.2000 (this was made in order to avoid unambiguity when reading dates with 2-digits year format e.g. IEC). For DLMS communication purposes, the UTC format is used. CurrentVaa (Last Reset By) Type: Unsigned8 It holds the security access level used to reset this class or the Dedicated Event Log ConfigClass. It is coded as follows:
CurrentVaa 1 2 4 8 16 32 64 128 Corresponding access level [0] Public Access [1] Data Collection [2] Utility Field Service [3] Utility Service [4] Extended Utility Service [6] Remote Data Collection [7] Remote Service [16] Manufacturer Access

TotalNoOfEvents, TotalNoOfPhX Type: Integer16 These attributes are written by the firmware and show the total number of the events, which happened since the last reset of the dedicated event log. TotalNoOfEvents is the sum of the number of events of all three phases (TotalNoOfPh1 to TotalNoOfPh3) TotalNoOfPhX is the individual count per phase.
Where X = 1 for L1 (phase a), 2 for L2 (phase b) and 3 for L3 (phase c)

TotalNoOfSeconds, TotalSecondsOfPhX Type: Unsigned32 These attributes are written by the firmware and show the accumulated time in seconds of the duration of the events that triggered the present object. Each attribute starts with the value 0 after the dedicated event log is reset. TotalNoOfSeconds is the sum of the accumulated time of all three Phases (TotalSecondsOfPh1 to TotalSecondsOfPh3) TotalSecondsOfPhX is the individual accumulation per phase.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 166 / 190

Class Description Where X = 1 for L1 (phase a), 2 for L2 (phase b) and 3 for L3 (phase c)

Compiled for P05.H

BufferHint (BufferUpdatedDuringAccess) Type: Integer8 The dedicated event log must be able to log an event when it occurs. In some cases an event happens simultaneous while an external tool reads out the event log. In this case the event log buffer will be sorted again (top down: longest event duration shortest event duration) and the shortest entry will be kicked out of the event log buffer. After the event log buffer is sorted the external tool could get the same entry twice. This attribute shows if the buffer was re-sorted (due to the occurrence of a new event) while it was accessed (e.g. readout). Its value will be held until the next readout is started. Implementation note: during communication access to the buffer, BufferHint is set to -1 and at the end of the access it will be set to the proper state. BufferHint 0 -1 Meaning ok Profile Sorted
New event Profile OK 0 Profile sorted

BufferHint

-1

Readout start

Readout end

Readout start

Readout end

3.65 Dedicated Event Log Extended [10930-0-0-0]


Firmware name: DedEvLogExtended The dedicated event log records events and exceptions a periodically. The dedicated event log inherits all attributes from the profile generic class. A dedicated event log entry is made when the state of one or more of the selected events bits in the Event Register changes. For the description of the event selection and event filtering refer to Event Register. Note: Most part of the configuration of the Dedicated Event Log Extended class is done in the Dedicated Event Log Config Class. If this class is to be used as stand alone application, these attributes shall be defined as static (r/w). Event Log Attributes
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 LogicalName Buffer CaptureObjects SortMethod SortObject EntriesInUse ProfileEntries ProfileEnabled SnapshotBufferControl Subtype OwnClassVersion AttrVaaAccList IdString ActualState DateOfLastReset CurrentVaa TotalNoOfEvents TotalNoOfSeconds TotalNoOfPhA TotalSecondsOfPhA TotalNoOfPhB TotalSecondsOfPhB TotalNoOfPhC TotalSecondsOfPhC BufferHint (static) (dyn.) (static) (static) (static) (dyn.) (static) (const) (const) (const) (const) (static) (static) (dyn.) (dyn.) (dyn.) (dyn.) (dyn.) (dyn.) (dyn.) (dyn.) (dyn.) (dyn.) (dyn.) (dyn.)

3 Data Type
Octet-string Array Array Enum ObjectDefinition Unsigned32 Unsigned32 BOOLEAN Unsigned8 Unsigned16 Unsigned8 Octetstring Octetstring Unsigned8 UTC Unsigned8 Integer16 Unsigned32 Integer16 Unsigned32 Integer16 Unsigned32 Integer16 Unsigned32 Integer8

Class_id=10930, version=0, OwnClassVersion=0 Min


r/w r r r r r r r r r/w r/w r r r r r r r r r r r r
Page 167 / 190

Max

Def

3 30 0 0

Landis+Gyr AG

Revision Date: 09.09.2009

Class Description

Compiled for P05.H

Specific Methods
114 ResetDedEvLog()

m/o
o

Objects of this class This class has the following objects labelled DedEvLogExtendedX (X = 12, 13, 19):
X 12 13 19 Dedicated Event Log Name Swells (Over-voltage) Sags (Under-voltage) Over-Current in Phase

Attribute Description Important implementation note: After changing the value of any attribute which influences the capturing behaviour the firmware automatically calls the method ResetDedEvLog(); otherwise the previously recorded information can not be interpreted correctly and/or the modifications may get corrupted. Buffer Type: Array of Octetstring The buffer attribute contains a sequence of entries. Each entry contains values of the captured objects. The sequence of the values of the captured objects within the structure corresponds to the order defined in the attribute captureobjects. The sequence of the entries within the array is ordered according to the specified sort method. The following figure shows the capture objects used for the present class. The group of instantaneous values (at start and end) can be included or excluded with the attribute SnapshotBufferControl in the Dedicated Event Log Config class.
Snapshot Buffer Start Instantaneous values V1 V2 V3 I1 I2 I3 In V1 V2 V3 I1 I2 I3 In V1 V2 V3 I1 I2 I3 In V1 V2 V3 I1 I2 I3 In V1 V2 V3 I1 I2 I3 In V1 V2 V3 I1 I2 I3 In V1 V2 V3 I1 I2 I3 In V1 V2 V3 I1 I2 I3 In Snapshot Buffer End Instantaneous values V1 V2 V3 I1 I2 I3 In V1 V2 V3 I1 I2 I3 In V1 V2 V3 I1 I2 I3 In V1 V2 V3 I1 I2 I3 In V1 V2 V3 I1 I2 I3 In V1 V2 V3 I1 I2 I3 In V1 V2 V3 I1 I2 I3 In V1 V2 V3 I1 I2 I3 In

entry first ph1 first ph2 first ph3 longest 1 longest longest 30 last ph1 last ph2 last ph3

occurred time/date time/date time/date time/date time/date time/date time/date time/date

Energy val. E1 E2 E3 E1 E2 E3 E1 E2 E3 E1 E2 E3 ... E1 E2 E3 E1 E2 E3 E1 E2 E3 E1 E2 E3

PF PF PF PF PF PF PF PF

restored time/date time/date time/date time/date time/date time/date time/date time/date

Energy val. E1 E2 E3 E1 E2 E3 E1 E2 E3 E1 E2 E3 E1 E2 E3 E1 E2 E3 E1 E2 E3 E1 E2 E3

PF PF PF PF PF PF PF PF

duration seconds seconds seconds seconds seconds seconds seconds seconds

phase 1 2 3 1,2 or 3 1,2 or 3 1 2 3

ertrema value value value value value value value value value

Entry: is a tag used to identify the correspondent entry according to the following table:
Integer8 -3 -2 -1 1 2 30 121 122 123 Meaning first ph1 first ph2 first ph3 longest 1 longest longest 30 last ph1 last ph2 last ph3

Occurred and Restored: are timestamps in UTC format that indicate the time at which the event started (occurred) and when it finished (restored). Duration: indicates the time duration (in seconds) of the event. It is coded as an unsigned32.This object is used for sorting the entries longest 1 30. Phase: indicates the phase which is registered in each entry. It is coded as unsigned8 and its number (1, 2 or 3) corresponds to the phase number: 1 for L1 (phase a), 2 for L2 (phase b) and 3 for L3 (phase c). Extrema: shows the maximum or minimum value of the profile quantity (voltage for sags or swells; current for overcurrent) which was registered while the event was active. It is coded as an unsigned32. Here a list of the registered extrema value depending on the profile and the phase number of the event:
Dedicated Event Log 12: Swells (Over-voltage) Mab_ExtremaRegister1

Phase 1

13: Sags (Under-voltage) Mab_ExtremaRegister4

19: Over-Current in Phase Mab_ExtremaRegister7

Landis+Gyr AG

Revision Date: 09.09.2009

Page 168 / 190

Class Description 2 3 Mab_ExtremaRegister2 Mab_ExtremaRegister3 Mab_ExtremaRegister5 Mab_ExtremaRegister6

Compiled for P05.H Mab_ExtremaRegister8 Mab_ExtremaRegister9

The group of instantaneous values (of snapshot buffer start and snapshot buffer end) can be included or excluded with the attribute SnapshotBufferControl in the Dedicated Event Log Config class. The entries labelled first phX hold the first values captured for each phase X. If only few entries have been registered, then these values may also appear within the longest n entries. The entries labelled last phX hold the newest values captured of phase X. Here also, if only few entries have been registered, then these values may also appear within the longest n entries. The entries labelled longest 130 hold the values present at the longest durations registered. In these cases the object phase indicates which the corresponding phase was.

CaptureObjects Type: Array of ObjectDefinition A list of object definitions, which contains the logical name, the class_id and the attribute index of each capture object. This list is used to define which attributes have to be stored in the buffer during the capture process. Each entry in this list has the following parameters, which correspond to the type of ObjectDefinition: Class_id: unsigned16; LogicalName: octetstring[6]; Attribute_Index: integer8; Data_Index: unsigned16 Implementation notes: - The firmware uses the virtual name instead of the logical name and the class_id for the CaptureObjects, but at interface level (DLMS communication or pre-processing for production with the DLMS converter) the logical names and the class_id are used. - Objects of this class require the following objects to be captured:
Nr entry time/date E1 E2 E3 V1 V2 V3 I1 I2 I3 In Pf time/date E1 E2 E3 V1 V2 V3 I1 I2 I3 In Pf duration phase extrema VirtualName Mab_Del_ProfileEntryNumber Mab_SystemTime Mab_EnergyRegister Mab_EnergyRegister Mab_EnergyRegister Mab_DiagnosticRegister1 Mab_DiagnosticRegister2 Mab_DiagnosticRegister3 Mab_DiagnosticRegister5 Mab_DiagnosticRegister6 Mab_DiagnosticRegister7 Mab_DiagnosticRegister4 Mab_DiagnosticRegister27 Mab_SystemTime Mab_EnergyRegister Mab_EnergyRegister Mab_EnergyRegister Mab_DiagnosticRegister1 Mab_DiagnosticRegister2 Mab_DiagnosticRegister3 Mab_DiagnosticRegister5 Mab_DiagnosticRegister6 Mab_DiagnosticRegister7 Mab_DiagnosticRegister4 Mab_DiagnosticRegister27 Mab_Del_EventDuration Mab_Del_EventPhaseNumber Mab_Del_EventMaxMinValue Class_id: 1 8 Configurable Configurable Configurable 3 3 3 3 3 3 3 3 8 Configurable Configurable Configurable 3 3 3 3 3 3 3 3 1 1 1 LogicalName: 0000F01E0DFF 0000010000FF Configurable Configurable Configurable 0101200700FF 0101340700FF 0101480700FF 01011F0700FF 0101330700FF 0101470700FF 01015B0700FF 01010D0700FF 0000010000FF Configurable Configurable Configurable 0101200700FF 0101340700FF 0101480700FF 01011F0700FF 0101330700FF 0101470700FF 01015B0700FF 01010D0700FF 0000F01E0EFF 0000F01E0FFF 0000F01E10FF Attribute_Index: 2 2 Configurable Configurable Configurable 2 2 2 2 2 2 2 2 2 Configurable Configurable Configurable 2 2 2 2 2 2 2 2 2 2 2 Data_Index: 0 0 Configurable Configurable Configurable 0 0 0 0 0 0 0 0 0 Configurable Configurable Configurable 0 0 0 0 0 0 0 0 0 0 0

The return value for the extrema entry Mab_Del_EventMaxMinValue depends on the dedicated event log. The firmware always returns the captured object for the first phase:
Dedicated Event Log 12: Swells (Over-voltage) Mab_ExtremaRegister1 13: Sags (Under-voltage) Mab_ExtremaRegister4 19: Over-Current in Phase Mab_ExtremaRegister7

Landis+Gyr AG

Revision Date: 09.09.2009

Page 169 / 190

Class Description

Compiled for P05.H

SortMethod Type: Enum Defines the sorting method used to store capture entries into the buffer when it is full.
1 2 3 4 5 6 First in first out Last in first out Largest Smallest Nearest to zero Farest to zero Overwrite the first stored entry Overwrite the last stored entry Overwrite the entry with the smallest value of the sort object definition Overwrite the entry with the largest value of the sort object definition Overwrite the entry with farest value to zero of the sort object definition Overwrite the entry with nearest value to zero of the sort object definition (not supported) (not supported) (not supported) (not supported) (not supported)

The first two SortMethod (First in first out and Last in first out) are used if the entries are not sorted. The last four methods will keep the entries sorted. SortObject Type: ObjectDefinition Indicates the attribute (of a capture object), which will be used for sorting the captured entries when the buffer is full. This attribute is only relevant if SortMethod is one of the last four methods (3...6). The sort object is selected by specifying the same parameters as for CaptureObjects above. Implementation note: The SortObject for this class is set to DedEventDuration by the firmware. EntriesInUse Type: Unsigned32 This attribute is set by the firmware. It counts the number of entries stored in the buffer. After a call of the reset () service the buffer is empty, and this value is zero. Upon each subsequent call of capture (), this value will be incremented up to the maximum number of entries that will get stored as defined by ProfileEntries. Implementation note: This attribute is internally handled as Unsigned8. With DLMS it is always read as Unsigned32. ProfileEntries Type: Unsigned32 Indicates the maximum number of entries, which may be stored in the buffer. One entry contains one or more values of the captured objects. The value of ProfileEntries shall be selected in accordance to the size of the memory used. A value of zero disables the profile. Implementation note: This attribute is internally handled as Unsigned8. With DLMS it is always read as Unsigned32. For Dedicated Event Log Extended, the attribute ProfileEntries is fixed defined to 30 entries per log. ProfileEnabled Type: BOOLEAN Indicates if the instance of the Dedicated Event Log Extended is activated. If the value of ProfileEnabled is True then the object is activated; else (False) the object is deactivated and thus does not work. This attribute can only be set (globally for all dedicated event logs) with the attribute ProfileEnabled in the class Dedicated Event Log Config. SnapshotBufferControl Type: Unsigned8 Indicates if the snapshot buffer of all dedicated event logs uses the instantaneous values. If the value of SnapshotBufferControl is 1 then the Snapshot Buffer instantaneous values are enabled; else (0) the Snapshot Buffer instantaneous values are disabled. This attribute can only be set (globally for all dedicated event logs) with the attribute DedEventLogControl in the class Dedicated Event Log Config.
Bit 0 1 2 3 4 5 6 7 Name SnapshotBufferControl Reserved Reserved Reserved Reserved Reserved Reserved Reserved Description 0= disabled, 1 = enabled Remarks -

ActualState Type: Unsigned8 This attribute is modified by the firmware. It indicates the actual state of the event which triggers this profile.
Bit 0 1 Name DedEventActualStatus1 DedEventActualStatus2 Description 0 = inactive 1 = active 0 = inactive 1 = active Remarks Phase 1 Phase 2

Landis+Gyr AG

Revision Date: 09.09.2009

Page 170 / 190

Class Description 2 3 4 5 6 7 DedEventActualStatus3 Reserved Reserved Reserved Reserved Reserved 0 = inactive 1 = active Not used. Not used. Not used. Not used. Not used.

Compiled for P05.H Phase 3 -

DateOfLastReset Type: UTC The attribute holds the timestamp when the profile was last reset. Implementation note: The time is internally coded in an Unsigned32 as the number of seconds after 1.1.1990. Dates before 1.01.2000 (Gregorian calendar) are shown as 1.01.2000 (this was made in order to avoid unambiguity when reading dates with 2-digits year format e.g. IEC). For DLMS communication purposes, the UTC format is used. CurrentVaa (Last Reset By) Type: Unsigned8 It holds the security access level used to reset this class or the Dedicated Event Log ConfigClass. It is coded as follows:
CurrentVaa 1 2 4 8 16 32 64 128 Corresponding access level [0] Public Access [1] Data Collection [2] Utility Field Service [3] Utility Service [4] Extended Utility Service [6] Remote Data Collection [7] Remote Service [16] Manufacturer Access

TotalNoOfEvents, TotalNoOfPhX Type: Integer16 These attributes are written by the firmware and show the total number of the events, which happened since the last reset of the dedicated event log. TotalNoOfEvents is the sum of the number of events of all three phases (TotalNoOfPh1 to TotalNoOfPh3) TotalNoOfPhX is the individual count per phase.
Where X = 1 for L1 (phase a), 2 for L2 (phase b) and 3 for L3 (phase c)

TotalNoOfSeconds, TotalSecondsOfPhX Type: Unsigned32 These attributes are written by the firmware and show the accumulated time in seconds of the duration of the events that triggered the present object. Each attribute starts with the value 0 after the dedicated event log is reset. TotalNoOfSeconds is the sum of the accumulated time of all three Phases (TotalSecondsOfPh1 to TotalSecondsOfPh3) TotalSecondsOfPhX is the individual accumulation per phase.
Where X = 1 for L1 (phase a), 2 for L2 (phase b) and 3 for L3 (phase c)

BufferHint (BufferUpdatedDuringAccess) Type: Integer8 The dedicated event log must be able to log an event when it occurs. In some cases an event happens simultaneous while an external tool reads out the event log. In this case the event log buffer will be sorted again (top down: longest event duration shortest event duration) and the shortest entry will be kicked out of the event log buffer. After the event log buffer is sorted the external tool could get the same entry twice. This attribute shows if the buffer was re-sorted (due to the occurrence of a new event) while it was accessed (e.g. readout). Its value will be held until the next readout is started. Implementation note: during communication access to the buffer, BufferHint is set to -1 and at the end of the access it will be set to the proper state. BufferHint 0 -1 Meaning ok Profile Sorted
New event Profile OK 0 Profile sorted

BufferHint

-1

Landis+Gyr AG

Readout start

Readout end

Revision Date: 09.09.2009 Readout start

Readout end

Page 171 / 190

Class Description

Compiled for P05.H

3.66 Dedicated Event Log HighestMaximumDemand [10940-0-0-0]


Firmware name: DedEvLogHighestMaxDemand This class is used to record the 10 highest maximum demand values occurred in a billing period. The maximum demand values and their corresponding time stamps are found by the class ExtremaExtendedRegister [4-x-x20081]. This class registers the 10 highest maximum demand values and keeps them sorted. This class keeps also a copy of the records corresponding to the previous two billing periods. The type and number of capture objects per entry and the number of entries is fixed defined. Note: Most part of the configuration of the Dedicated Event Log HighestMaximumDemand is done in the Dedicated Event Log Config Class. If this class is to be used as stand alone application, these attributes shall be defined as static (r/w). Event Log Attributes
115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 LogicalName Buffer CaptureObjects SortMethod SortObject EntriesInUse ProfileEntries ProfileEnabled Reserved1 Subtype OwnClassVersion AttrVaaAccList IdString WindowStatus DateOfLastLogReset CurrentVaa BufferLastPeriod BufferBeforeLastPeriod MonitoredValue BufferHint (static) (dyn.) (static) (const) (const) (dyn.) (const) (static) (const) (const) (static) (static) (dyn.) (dyn.) (dyn.) (dyn.) (dyn.) (dyn.) (dyn.)

1 Data Type
Octet-string Array Array Enum ObjectDefinition Unsigned32 Unsigned32 BOOLEAN Unsigned16 Unsigned8 Octetstring Octetstring Unsigned8 UTC Unsigned8 Array Array Value_definition Integer8

Class_id=10940, version=0, OwnClassVersion=0 Min


r/w r r r r r r r r r r/w r/w r r r r r r r 0 0

Max

Def

Specific Methods
135 ResetDedEvLog()

m/o
o

Attribute Description Important implementation note: After changing the value of any attribute which influences the capturing behaviour, the firmware automatically calls the method ResetDedEvLog(); otherwise the previously recorded information can not be interpreted correctly and/or the modifications may get corrupted. Buffer Type: Array of Octetstring The buffer attribute contains a sequence of entries. Each entry contains values of the captured objects. The sequence of the values of the captured objects within the structure corresponds to the order defined in the attribute CaptureObjects. The sequence of the entries within the array is ordered according to the specified sort method. The buffer gets filled by a function, which is triggered at every billing period reset. The following table shows the capture objects used for the present class.
entry occurred highest 1 Timestamp highest n highest 10 Timestamp demand value maximum demand maximum demand power factor instantaneous power factor instantaneous power factor

Landis+Gyr AG

Revision Date: 09.09.2009

Page 172 / 190

Class Description

Compiled for P05.H

Entry: is a tag used to identify the correspondent entry according to the following table:
Integer8 1 2 9 10 Meaning Highest 1 Highest Highest Highest 10

Occurred: is a timestamp in UTC format that indicates the time at which the maximum demand was recorded. Demand Value: holds the maximum demand value. It is coded as unsigned32. Its corresponding scale and units are given by those of the captured object. This object is used for sorting the entries Highest 110. Power Factor: shows the current value of the instantaneous power factor present at the time when the maximum demand is recorded. It is coded as unsigned32. Its corresponding scale and units are given by those of the captured object. The entries labelled Highest 110 hold the values present at the highest maximum demand values registered.

CaptureObjects Type: Array of ObjectDefinition A list of object definitions, which contains the logical name, the Class_id and the attribute index of each capture object. This list is used to define which attributes have to be stored in the buffer during the capture process. Each entry in this list has the following parameters, which correspond to the type of ObjectDefinition: Class_id: unsigned16; LogicalName: octetstring[6]; Attribute_Index: integer8; Data_Index: unsigned16 Implementation notes: - The firmware uses the virtual name of the CaptureObjects instead of the logical name and the class_id, but at interface level (DLMS communication or pre-processing for production with the DLMS converter) the logical names and the class_id are used. - Objects of this class require the following objects to be captured:
VirtualName Mab_Del_ProfileEntryNumber Mab_ExtremaRegister16** Mab_ExtremaRegister16** Mab_DiagnosticRegister27 Nr Class_id: 1 4 4 3 LogicalName: 0000F01E0DFF 0101018000FF 0101018000FF 01010D0700FF Attribute_Index: 2 5 2 2 Data_Index: 0 0 0 0

** The ExtremaRegister16 [4-x-x-20081] must be selected according to the list above. SortMethod Type: Enum Defines the sorting method used to store capture entries into the buffer when it is full.
1 2 3 4 5 6 First in first out Last in first out Largest Smallest Nearest to zero Farthest to zero Overwrite the first stored entry Overwrite the last stored entry Overwrite the entry with the smallest value of the sort object definition Overwrite the entry with the largest value of the sort object definition Overwrite the entry with farthest value to zero of the sort object definition Overwrite the entry with nearest value to zero of the sort object definition (not supported) (not supported) (not supported) (not supported) (not supported)

This class uses the third sort method. SortObject Type: ObjectDefinition Indicates the attribute (of a capture object), which will be used for sorting the captured entries when the buffer is full. This attribute is only relevant if SortMethod is one of the last four methods (3...6). The sort object is selected by specifying the same parameters as for CaptureObjects above. Implementation note: The third entry of the CaptureObjects list (maximum demand) is used by the firmware to sort the entries.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 173 / 190

Class Description

Compiled for P05.H

EntriesInUse Type: Unsigned32 This attribute is written by the firmware. It counts the number of entries stored in the buffer. After a call of the reset () service the buffer is empty, and this value is zero. Upon each subsequent call of capture (), this value will be incremented up to the maximum number of entries that will get stored as defined by ProfileEntries. Implementation note: This attribute is internally handled as Unsigned8. With DLMS it is always read as Unsigned32. ProfileEntries Type: Unsigned32 Indicates the maximum number of entries, which may be stored in the buffer. One entry contains one or more values of the captured objects. The value of ProfileEntries shall be selected in accordance to the size of the memory used. A value of zero disables the profile. Implementation note: This attribute is internally handled as Unsigned8. With DLMS it is always read as Unsigned32. For this class, the attribute ProfileEntries is fixed defined to 10 entries per log by the firmware. ProfileEnabled Type: BOOLEAN Indicates if the instance of the dedicated event log HighestMaxDemand is enabled. If the value of ProfileEnabled is TRUE then the object is activated; else (False) the object is deactivated and thus does not work. This attribute can only be set (globally for all dedicated event logs) with the attribute ProfileEnabled in the class Dedicated Event Log Config. Implementation note: At power up the firmware checks the subtype of the 2nd and 3rd objects of the CaptureObjects list above. If they are not equal to that of an ExtremaExtendedRegister (20081) then this log will be automatically disabled. WindowStatus Type: Unsigned8 This attribute is written by the firmware. Its value is a copy of the attribute StatusFlags of the ExtremaRegister16 [4x-x-20081] object which defines the recording mode and the duration of the time window used for the calculation of the maxima. Modifications of the value must be done in the original object.
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

X WindowDuration:

WindowDuration

Duration in hours from 0 to 4 of the time window used for the calculation of the local maximum. If it is set to 0, the ten highest maxima are recorded regardless of their occurrence time (i.e. they may be very close together e.g. within 5 min.). If it is set to 1...4 then the ten highest maxima are recorded by selecting only one maximum value (if there is one) per time window (with the selected duration). Not used. Reserved.

DateOfLastReset Type: UTC The attribute holds the timestamp when the profile was last reset. Implementation note: The time is internally coded in an Unsigned32 as the number of seconds after 1.1.1990. Dates before 1.01.2000 (Gregorian calendar) are shown as 1.01.2000 (this was made in order to avoid unambiguity when reading dates with 2-digits year format e.g. IEC). For DLMS communication purposes, the UTC format is used. CurrentVaa (Last Reset By) Type: Unsigned8 It holds the security access level used to reset this class or the Dedicated Event Log ConfigClass. It is coded as follows:
CurrentVaa 1 2 4 8 16 32 64 128 Corresponding access level [0] Public Access [1] Data Collection [2] Utility Field Service [3] Utility Service [4] Extended Utility Service [6] Remote Data Collection [7] Remote Service [16] Manufacturer Access

BufferLastPeriod Type: Array of Octetstring This attribute holds the recording of the 2nd last billing period. The array has the same structure as attribute Buffer. A billing period reset will store the values of this attribute (2nd last period log) into attribute

Landis+Gyr AG

Revision Date: 09.09.2009

Page 174 / 190

Class Description

Compiled for P05.H

BufferBeforeLastPeriod (3rd last period log), then store the values of the Buffer (last period log) into this attribute and finally fill the Buffer contents with the values registered for the last billing period. BufferBeforeLastPeriod Type: Array of Octetstring This attribute holds the recording of the 3rd last billing period. The array has the same structure as attribute Buffer. A billing period reset will store the values of attribute BufferLastPeriod (2nd last period log) into this attribute. The data which was stored in this attribute (before the billing period reset) gets lost. MonitoredValue Type: Value_definition This attribute is used to show which demand Pmax register is monitored (and thus responsible for the 10 highest maximum demands). Its value is a mirror of the attribute MonitoredValue set in the ExtremaRegister16 [4-0-020081] which must be selected in the CaptureObjects list. The MonitoredValue is referenced by the following items (Value_definition): Class_id: unsigned16; LogicalName: octetstring[6]; Attribute_Index: integer8; Implementation notes: - The firmware uses the virtual name of the CaptureObjects instead of the logical name and the Class_id, but at interface level (DLMS communication or pre-processing for production with the DLMS converter) the logical names and the Class_id are used. BufferHint (BufferUpdatedDuringAccess) Type: Integer8 The dedicated event log must be able to log an event when it occurs. In some cases an event happens simultaneous while an external tool reads out the event log. In this case the event log buffer will be sorted again (top down: longest event duration shortest event duration) and the shortest entry will be kicked out of the event log buffer. After the event log buffer is sorted the external tool could get the same entry twice. This attribute shows if the buffer was re-sorted (due to the occurrence of a new event) while it was accessed (e.g. readout). Its value will be held until the next readout is started. Implementation note: during communication access to the buffer, BufferHint is set to -1 and at the end of the access it will be set to the proper state.
BufferHint 0 -1 Meaning ok Profile Sorted
New event Profile OK 0 Profile sorted

BufferHint

-1

Readout start

Readout end

Readout start

Readout end

Method Description ResetDedEvLog() It is used to clear the dedicated event log. When ResetDedEvLog() is called the attributes Buffer, BufferLastPeriod and BufferBeforeLastPeriod are cleared. This method is called by making a write access with any value as parameter and its type set to Integer8.

3.67 Dedicated Event Log VoltageQuality [10950-0-0-0]


Firmware name:
Landis+Gyr AG

DedEvLogVoltageQuality
Revision Date: 09.09.2009 Page 175 / 190

Class Description

Compiled for P05.H

This class is used to survey the voltage quality of the supply network. This is done by recording the time for which the voltage value is within different ranges of quality. There are three quality ranges: qualified (within specifications) above/below (outside specifications but tolerable) and outside (bad quality). The data of this class permits to build up a histogram of the voltage quality. This class keeps also a copy of the records corresponding to the previous two billing periods. The type and number of capture objects per entry and the number of entries is fixed defined. Note: Most part of the configuration of the Dedicated Event Log DedicatedEventLogVoltageQuality is done in the Dedicated Event Log Config Class. If this class is to be used as stand alone application, these attributes shall be defined as static (r/w). Event Log Attributes
136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 LogicalName Buffer CaptureObjects SortMethod Reserve1 EntriesInUse ProfileEntries ProfileEnabled Reserve2 Subtype OwnClassVersion AttrVaaAccList IdString DateOfLastLogReset CurrentVaa BufferLastPeriod BufferBeforeLastPeriod BufferHint (static) (dyn.) (static) (const) (dyn.) (static) (const) (const) (const) (static) (static) (dyn.) (dyn.) (dyn.) (dyn.) (dyn.)

1 Data Type
Octet-string Array Array Enum Unsigned8 Unsigned8 BOOLEAN Unsigned16 Unsigned8 Octetstring Octetstring UTC Unsigned8 Array Array Integer8

Class_id=10950, version=0, OwnClassVersion=0 Min


r/w r r r r r r r rs r/w r/w r r r r r

Max

Def

1 3 0 0

Specific Methods
154 ResetDedEvLog()

m/o
o

Attribute Description Important implementation note: After changing the value of any attribute which influences the capturing behaviour the firmware automatically calls the method ResetDedEvLog(); otherwise the previously recorded information can not be interpreted correctly and/or the modifications may get corrupted. Buffer Type: Array of Octetstring The buffer attribute contains a sequence of entries. Each entry contains values of the captured objects. The sequence of the values of the captured objects within the structure corresponds to the order defined in the attribute CaptureObjects. The sequence of the entries within the array is fixed and is never sorted. The buffer gets filled by a function, which is triggered at every billing period reset. A billing period reset will store the values of attribute BufferLastPeriod (2nd last period log) into attribute BufferBeforeLastPeriod (3rd last period log), then store the values of this attribute (Buffer) into attribute BufferLastPeriod (2nd last period log) and finally fill the Buffer contents with the values registered for the last billing period. The following table shows the capture objects used for the present class.
Above Below occurred maximum timestamp minimum timestamp Acc. Min. voltage MMDDhhmm voltage MMDDhhmm Acc. Min. voltage MMDDhhmm voltage MMDDhhmm Acc. Min. voltage MMDDhhmm voltage MMDDhhmm

Phase 1 2 3

Qualified Below Above Acc. Min. Acc. Min. Acc. Min. Acc. Min. Acc. Min. Acc. Min. Acc. Min. Acc. Min. Acc. Min.

Phase: indicates the phase which is registered in each entry. It is coded as unsigned8 and its number (1, 2 or 3) corresponds to the phase number: 1 for L1 (phase a), 2 for L2 (phase b) and 3 for L3 (phase c). Qualified, below, above and outside: indicates the accumulated time (in minutes) for which the measured value (voltage or current) has been in the corresponding range (see figure below):
Qualified: between maximum and minimum qualification Below: between minimum qualification and lower limit Above: between maximum qualification and upper limit
Landis+Gyr AG Revision Date: 09.09.2009 Page 176 / 190

Class Description

Compiled for P05.H

Outside: either below lower limit or above upper limit.

These values are coded as an unsigned16.

Maximum, minimum: shows the maximum or minimum value of the measured quantity (voltage or current) that was found during the last billing period. The values are coded as an integer32. Timestamp: are timestamps in UTC format that indicate the time at which the maximum or minimum of the corresponding measured value (voltage or current) was found.

CaptureObjects Type: Array of ObjectDefinition A list of object definitions, which contains the logical name, the class_id and the attribute index of each capture object. This list is used to define which attributes have to be stored in the buffer during the capture process; i.e. when the service capture() is called. Each entry in this list has the following parameters, which correspond to the type of ObjectDefinition: Class_id: long-unsigned; LogicalName: octet-string; Attribute_Index: integer; Data_Index: long-unsigned Implementation notes: The firmware uses the virtual name of the CaptureObjects instead of the logical name and the class_id, but at interface level (DLMS communication or pre-processing for production with the DLMS converter) the logical names and the class_id are used. - Objects of this class require the following objects to be captured:
VirtualName Mab_Del_EventPhaseNumber Mab_Del_VoltageQualityQualified Mab_Del_VoltageQualityBelow Mab_Del_VoltageQualityMaxAbov e Mab_Del_VoltageQualityOutside Mab_ExtremaRegister10** Mab_ExtremaRegister10** Mab_ExtremaRegister13** Mab_ExtremaRegister13** Nr Class_id: 1 3 3 3 3 4 4 4 4 LogicalName: 0000F01E0DFF 0000F01E04FF 0000F01E05FF 0000F01E07FF 0000F01E06FF 0101200600FF 0101200600FF 0101200300FF 0101200300FF Attribute_Index: 2 2 2 2 2 5 2 5 2 Data_Index: 0 0 0 0 0 0 0 0 0

The CaptureObject contains 17 objects where only the 9 first objects are readable by DLMS. The other 8 objects are hidden and used internally. IMPORTANT: Never fill up the left 8 objects with 0. This would write the LogicalName = Mab_NoVirtualName and Attribute_Index = 0 in each Object, which then would cause side effects for this Dedicated Event Log. SortMethod Type: Enum

Landis+Gyr AG

Revision Date: 09.09.2009

Page 177 / 190

Class Description

Compiled for P05.H

This attribute is not used by the firmware. SortObject Type: ObjectDefinition This attribute is not used by the firmware. EntriesInUse Type: Unsigned32 This attribute is set by the firmware. It counts the number of buffers, which contain data. After a call of the reset () service the buffer is empty, and this value is zero. Upon each subsequent call of capture (), this value will be incremented up to the maximum number of entries that will get stored as defined by ProfileEntries. Implementation note: This attribute is internally handled as Unsigned8. With DLMS it is always read as Unsigned32.
EntriesInUse 0 1 2 Buffers which contains data Buffer (always contains data if log is enabled) Buffer + BufferLastPeriod Buffer + BufferLastPeriod + BufferBeforeLastPeriod

ProfileEntries Type: Unsigned32 It defines the maximum number of buffers, which contain data. For this class, the attribute ProfileEntries is fixed defined to 3 entries per log by the firmware. Implementation note: This attribute is internally handled as Unsigned8. With DLMS it is always read as Unsigned32. ProfileEnabled Type: BOOLEAN Indicates if the instance of the Dedicated Event Log Voltage Quality is enabled. If the value of ProfileEnabled is TRUE then the object is activated; else (False) the object is deactivated and thus does not work. This attribute can only be set (globally for all dedicated event logs) with the attribute ProfileEnabled in the class Dedicated Event Log Config. DateOfLastReset Type: UTC The attribute holds the timestamp when the profile was last reset. Implementation note: The time is internally coded in an Unsigned32 as the number of seconds after 1.1.1990. Dates before 1.01.2000 (Gregorian calendar) are shown as 1.01.2000 (this was made in order to avoid unambiguity when reading dates with 2-digits year format e.g. IEC). For DLMS communication purposes, the UTC format is used. CurrentVaa (Last Reset By) Type: Unsigned8 It holds the security access level used to reset this class or the Dedicated Event Log ConfigClass. It is coded as follows:
CurrentVaa 1 2 4 8 16 32 64 128 Corresponding access level [0] Public Access [1] Data Collection [2] Utility Field Service [3] Utility Service [4] Extended Utility Service [6] Remote Data Collection [7] Remote Service [16] Manufacturer Access

BufferLastPeriod Type: Array of Octetstring This attribute holds the recording of the 2nd last billing period. The array has the same structure as attribute Buffer. A billing period reset will store the values of this attribute (2nd last period log) into attribute BufferBeforeLastPeriod (3rd last period log), then store the values of the Buffer (last period log) into this attribute and finally fill the Buffer contents with the values registered for the last billing period. BufferBeforeLastPeriod Type: Array of Octetstring This attribute holds the recording of the 3rd last billing period. The array has the same structure as attribute Buffer. A billing period reset will store the values of attribute BufferLastPeriod (2nd last period log) into this attribute. The data which was stored in this attribute (before the billing period reset) gets lost.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 178 / 190

Class Description

Compiled for P05.H

BufferHint (BufferUpdatedDuringAccess) Type: Integer8 The dedicated event log must be able to log an event when it occurs. In some cases an event happens simultaneous while an external tool reads out the event log. In this case the event log buffer will be sorted again (top down: longest event duration shortest event duration) and the shortest entry will be kicked out of the event log buffer. After the event log buffer is sorted the external tool could get the same entry twice. This attribute shows if the buffer was re-sorted (due to the occurrence of a new event) while it was accessed (e.g. readout). Its value will be held until the next readout is started. Implementation note: during communication access to the buffer, BufferHint is set to -1 and at the end of the access it will be set to the proper state. BufferHint 0 -1 Meaning ok Profile Sorted
New event Profile OK 0 Profile sorted

BufferHint

-1

Readout start

Readout end

Readout start

Readout end

Method Description ResetDedEvLog() It is used to clear the dedicated event log. When ResetDedEvLog() is called the attributes Buffer, BufferLastPeriod and BufferBeforeLastPeriod are cleared. This method is called by making a write access with any value as parameter and its type set to Integer8.

3.68 Dedicated Event Log Parameter Change [10960-0-1-0]


Firmware name: DedEvLogParameterChange21 This class is used to log parameter changes through the communication channels. For each entry is logged the channel number, the protocol used, the user (i.e. its corresponding Vaa number) and the number of data and parameter changes. Event Log 50 Class_id=10960, version=0, OwnClassVersion=1 Attributes
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 LogicalName Buffer CaptureObjects SortMethod Reserved1 EntriesInUse ProfileEntries ProfileEnabled Reserved2 Subtype OwnClassVersion AttrVaaAccList IdString DateOfLastLogReset CurrentVaa BufferHint (static) (dyn.) (const) (const) (dyn.) (const) (const) (const) (const) (static) (static) (dyn.) (dyn.) (dyn.)

Data Type
Octet-string Array Array Enum Unsigned32 Unsigned32 BOOLEAN Unsigned16 Unsigned8 Octetstring Octetstring UTC Unsigned8 Integer8 r/w r r r r r r r r r/w r/w r r r

Min

Max

Def

1 100 0 1

Specific Methods
17 ResetDedEvLog()

m/o
o

Landis+Gyr AG

Revision Date: 09.09.2009

Page 179 / 190

Class Description

Compiled for P05.H

Attribute Description Buffer Type: Array of Octetstring The buffer attribute contains a sequence of entries. Each entry contains values of the captured objects. The sequence of the values of the captured objects within the structure corresponds to the order defined in the attribute captureobjects. The sequence of the entries within the array is ordered according to the specified sort method. The buffer gets filled by a function, which either has been triggered because the next event has occurred or a power down happens.
Date/time Protocol ch1 Protocol ch2 oldest Oldest entry protocol protocol Newest Newest entry protocol protocol Entry Protocol User ch1 User ch2 User ch3 ch3 protocol User (Vaa) User (Vaa) User (Vaa) protocol User (Vaa) User (Vaa) User (Vaa) Nr. parameter changes Nr. changes Nr. changes Number data changes. Nr. changes Nr. changes

CaptureObjects Type: Array of ObjectDefinition A list of object definitions, which contains the logical name, the class_id and the attribute index of each capture object. This list is used to define which attributes have to be stored in the buffer during the capture process; i.e. when the service capture() is called. Each entry in this list has the following parameters, which correspond to the type of ObjectDefinition: Class_id: long-unsigned; LogicalName: octet-string; Attribute_Index: integer; Data_Index: long-unsigned Implementation notes: The firmware uses the virtual name of the CaptureObjects instead of the logical name and the class_id, but at interface level (DLMS communication or pre-processing for production with the DLMS converter) the logical names and the class_id are used. - Objects of this class require the following objects to be captured:
VirtualName Nr Mab_Del_ProfileEntryNumber Mab_SystemTime ActiveProtocolOnCommunicationChannelOne ActiveProtocolOnCommunicationChannelTwo ActiveProtocolOnCommunicationChannelThree ActiveVAAOnCommunicationChannelOne ActiveVAAOnCommunicationChannelTwo ActiveVAAOnCommunicationChannelThree CountRegisterStatusParam CountRegisterNumberDataReparam Class_id: 1 8 1 1 1 1 1 1 3 3 LogicalName: 0000F01E0DFF 0000010000FF 0101000404FF 0101000405FF 0000F01E12FF 0101000408FF 0101000409FF 0000F01E13FF 0000600200FF 0000600201FF Attribute_Index: 2 2 2 2 2 2 2 2 2 2 Data_Index: 0 0 0 0 0 0 0 0 0 0

SortMethod Type: Enum Defines the sorting method used to store capture entries into the buffer when it is full. This class uses method 1.
1 2 3 4 5 6 First in first out Last in first out Largest Smallest Nearest to zero Farest to zero Overwrite the first stored entry Overwrite the last stored entry Overwrite the entry with the smallest value of the sort object definition Overwrite the entry with the largest value of the sort object definition Overwrite the entry with farest value to zero of the sort object definition Overwrite the entry with nearest value to zero of the sort object definition (not supported) (not supported) (not supported) (not supported) (not supported)

EntriesInUse Type: Unsigned32 This attribute is set by the firmware. It counts the number of entries stored in the buffer. After a call of the reset () service the buffer is empty, and this value is zero. Upon each subsequent call of capture (), this value will be incremented up to the maximum number of entries that will get stored as defined by ProfileEntries. Implementation note: This attribute is internally handled as Unsigned8. With DLMS it is always read as Unsigned32.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 180 / 190

Class Description

Compiled for P05.H

ProfileEntries Type: Unsigned32 Defines the maximum number of entries, which may be stored in the buffer. One entry contains one or more values of the captured objects. The value of ProfileEntries shall be selected in accordance to the size of the memory used. A value of zero disables the profile. Implementation note: This attribute is internally handled as Unsigned8. With DLMS it is always read as Unsigned32. ProfileEnabled Type: BOOLEAN Defines if the instance of the Dedicated Event Log Extended is activated. If the value of ProfileEnabled is True then the object is activated; else (False) the object is deactivated and thus does not work. This attribute is set globally for all dedicated event logs with the attribute DedEventLogControl in the class Dedicated Event Log Config. DateOfLastReset Type: UTC The attribute holds the timestamp when the profile was last reset. Implementation note: The time is internally coded in an Unsigned32 as the number of seconds after 1.1.1990. Dates before 1.01.2000 (Gregorian calendar) are shown as 1.01.2000 (this was made in order to avoid unambiguity when reading dates with 2-digits year format e.g. IEC). For DLMS communication purposes, the UTC format is used. CurrentVaa (Last Reset By) Type: Unsigned8 It holds the security access level used to reset this class or the Dedicated Event Log ConfigClass. It is coded as follows:
CurrentVaa 1 2 4 8 16 32 64 128 Corresponding access level [0] Public Access [1] Data Collection [2] Utility Field Service [3] Utility Service [4] Extended Utility Service [6] Remote Data Collection [7] Remote Service [16] Manufacturer Access

BufferHint (BufferUpdatedDuringAccess) Type: Integer8 The dedicated event log must be able to log an event when it occurs. In some cases an event happens simultaneous while an external tool reads out the event log. In this case the event log buffer will be sorted again (top down: longest event duration shortest event duration) and the shortest entry will be kicked out of the event log buffer. After the event log buffer is sorted the external tool could get the same entry twice. This attribute shows if the buffer was re-sorted (due to the occurrence of a new event) while it was accessed (e.g. readout). Its value will be held until the next readout is started. Implementation note: during communication access to the buffer, BufferHint is set to -1 and at the end of the access it will be set to the proper state. BufferHint 0 -1 Meaning ok Profile Sorted
New event Profile OK 0 Profile sorted

BufferHint

-1

Readout start

Readout end

Readout start

Readout end

Method Description ResetDedEvLog() It is used to clear the dedicated event log. When ResetDedEvLog() is called the attributes Buffer, BufferLastPeriod and BufferBeforeLastPeriod are cleared. This method is called by making a write access with any value as parameter and its type set to Integer8.
Landis+Gyr AG Revision Date: 09.09.2009 Page 181 / 190

Class Description

Compiled for P05.H

3.69 Object GSM-Information [20052-0-80-0]


Dieses Objekt dient dazu, Informationen ber ein angeschlossenes GSM-Modul (z.B. Siemens TC35) und die Verbindung zu einzelnen GSM-Zellen und Providern zu speichern. Die Information in den Attributten dieses Objekts werden nur temporr gespeichert. D.h. whrend das GSMModem auf eine Verbindung wartet werden die entsprechenden Attribute periodisch (z.B. alle 2 sek.) neu gesetzt. Nach Beenden der GSM-Modem Verbindung bleiben die zuletzt gespeicherten Werte im flchtigen Speicher stehen. Bei einem Neustart der CU mssen die Attributte wieder neu eingelesen werden. GSM Information Attribute 1. logical_name 2. GSM_ModemType 3. LoggedCellPLMN 4. LoggedCellSignalStrength 5. NeighbourCellList 6. NeighbourCellListSize 7. IMSI 8. IMEI 9. SIM_ID 10. OwnTelNumber 11. PINState 12. OwnClassVersion 13. AttrVaaAccList Specific Service(s) 14. ReadModemData
0x3C28 x+8 x+16 x+24 x+32 x+40 x+48 x+56 x+64 x+72 x+80 x+88 x+96

0..n Data_Type octetstring[6] enum visiblestring[6] unsigned8 octetstring[80] unsigned8 visiblestring[16] visiblestring[16] visiblestring[22] visiblestring[30] enum unsigned8 octetstring[14]

Class_id=20052, OwnClassVersion=80 Min. Max. Def.


00 00 F0 14 FF FF

80

m/o
x+104

Attribute Description GSM_ModemType ::= enum (1) Siemens M20 (2) Siemens TC35 (3) Siemens TC63 (4) GSM Standard (5) GPRS UK LoggedCellPLMN ::= visiblestring[6] Gibt an in welches PLMN (public land mobile network) das GSM-Modem momentan eingeloggt ist. Die PLMN ist eine Identifikations-Nr. fr den entsprechenden GSM-Provider. z.B: 22801 = SWISS GSM / 22802 = DIAX / 22803 = ORANGE Auf die momentan eingeloggte Zelle kann mit dem Kommando AT^MONI zugegriffen werden. LoggedCellSignalStrength ::= unsigned8 Gibt die Feldstrke an mit der momentan Funksignale empfangen werden. Die Signalstrke gilt fr die momentan eingeloggte Zelle LoggedCellPLMN Auf die Signalstrke der momentan eingeloggte Zelle kann mit dem Kommando AT+CSQ zugegriffen werden. LoggedCellSignalStrength 99 0 ... 6
Landis+Gyr AG

Reception level Unknown Level 1 (inadequate)


Revision Date: 09.09.2009

Field strength level Unknown <99 dBm


Page 182 / 190

Class Description

Compiled for P05.H

7 ... 11 12 ... 15 16 ... 31

Level 2 (sufficient) Level 3 (good) Level 4 (very good)

99 dBm ... 90 dBm 89 dBm ... 80 dBm >80 dBm

NeighbourCellList ::= octetstring[80] In einer Liste werden die Nachbarzellen mit PLMN-Identifikation und Signalstrke (rssi) abgespeichert. Die Liste hat max. 10 Eintrge und wird als Octetstring abgespeichert.
1. Array Element NeighbourCellList rssi 3 Byte PLMN 5 Byte 2. Array Element rssi 3 Byte PLMN 5 Byte 3. Array Element rssi 3 Byte PLMN 5 Byte 10. Array Element rssi 3 Byte PLMN 5 Byte

Auf die Liste der Nachbarzellen kann mit dem Kommando AT^MONP zugegriffen werden. NeighbourCellListSize ::= unsigned8 Definiert wieviele gltige Eintrge in der NeighbourCellList vorhanden sind. Auf die Liste der Nachbarzellen kann mit dem Kommando AT^MONP zugegriffen werden. IMSI ::= visiblestring[16] Die IMSI (international mobile subscriber identity) identifiziert die SIM-Karte welche im Modem eingesetzt ist eindeutig. Der Zugriff auf IMSI erfolg mit dem Kommando AT+CGSN oder AT+GSN IMEI ::= visiblestring[16] (eindeutige internationale Kennung) Die IMEI (international mobile equipement identity) gibt die Serien-Nr. des Modems an. Diese Serien-Nr. informiert den Benutzer ber die Identitt seines Gertes. Der Zugriff auf IMEI erfolg mit dem Kommando AT+CIMI. SIM_ID ::= visiblestring[22] Im Attribut SIM_ID wird die Kennzahl der SIM-Karte abgespeichert. Die SIM_ID kann mit den AT-Kommandos AT^SCID oder AT+CXXCID ausgelesen werden. OwnTelNumber ::= visiblestring[30] Im Attribut OwnTelNumber wird die Telefon-Nr. der eingesetzten SIM-Karte abgespeichert. Diese kann nicht aus der SIM-Karte ausgelesen werden, sondern muss explizit parametriert werden wenn sie in diesem Attribut abgespeichert werden soll. PINState Der PINState gibt whrend dem Initialisieren des GSM-Modems an, ob das GSM-Modem korrekt initialisiert werden konnte und ob der PIN-Code akzeptiert worden ist. (0) NoInit GSM-Modem ist noch nicht initialisiert (1) WrongSIM es konnte nicht abgefragt werden ob SIM-Karte PIN-Code hat oder nicht (evtl. keine SIM-Karte eingesetzt) (2) WrongPIN der parametrierte PIN-Code ist falsch (3) NoPIN Initialisierung korrekt erfolgt (SIM-Karte ohne PIN) (4) PINOk Initialisierung korrekt erfolgt (SIM-Karte mit PIN)

Specific Services Description ReadModemData Diese Service-Routine liest Informationen aus dem GSM-Modem und setzt den Inhalt der Attribute auf die neu eingelesenen Werte. Dieser Service kann nur ausgefhrt werden wenn GSM-Modem nicht kommuniziert.

Landis+Gyr AG

Revision Date: 09.09.2009

Page 183 / 190

Class Description

Compiled for P05.H

4 Description of special Objects


This chapter describes some objects which belong to general classes such as General Value Register, General Counter Register or Readable Items but the coding of some of their attributes is special.

4.1 Hardware Identification


Objects used for storing the hardware identification features of the base plate and the extension boards. There are three objects belonging to the class General Value Register: BaseIdent: Stores the hardware identification features of the base plate Option1IdentReference: Stores the hardware identification features of the extension board (Option 1) in the base plate Option1IdentCopy: a copy made from the the hardware identification features of extension board (Option 1) stored in the extension board at power up.

The current value of these objects has a string with the identification number. The number is coded according to Ref 5. Part of the coding is given here.
1st Byte 2nd Byte 3rd Byte 4th Byte 5th Byte 6th Byte 16th Byte 17th Byte 18th Byte

BaseIdent

Memory
1st Byte

Sensor
2nd Byte

CTS
3rd Byte 4th Byte

I/O Signal 1
17th Byte

I/O Signal 5
18th Byte 19th Byte

Option1Ident

Memory

I/O Signal 1

I/O Signal 6

Memory: Defines the type of memory used in the base plate according to the following list:
1 2 3 4 5 6 255 Mem. Type AT25128 AT25010 AT45D041 AT25020 AT25160 AT25320 no Memory Used in: CIMA CT / AT EEPROM OP1 FLASH OP1 old Option2 Option2 PICO

Sensor: Type and version of the used sensor according to the following list:
1 2 3 4 5 255 Linda 2 Linda 3 HMC 1 HMC 2 HMC 3 no sensor

CTS: Version of the CTS chip


1 2 3 4 255 CTS Version 1 CTS Version 2 CTS Version 3 CTS Version 4 no CTS

I/O Signal: defines the type of signal and how is connected.


1st Byte 2nd Byte 3rd Byte

I/O Signal

I/OType

connection

The type of signal (I/OType) is related to the device used as driver (relay, voltage at the input, ). It is coded as follows: Outputs: 1-127
1 2 3 4 5 6 7 Dev. Type r14 r14a r53 / r58 r44 e a u

Inputs: 128-254
129 130 131 132 133 255 voltage 58-64 V 100-120 V 220-240 V 58-240 V S0 not used

Landis+Gyr AG

Revision Date: 09.09.2009

Page 184 / 190

Class Description 8 c

Compiled for P05.H

The connection defines the terminal used for the input or output. Its coding is quite special and can be read in the document given as Ref 5.

4.2 Storage of Dates


Objects used for storing dates of some relevant events. There are five objects belonging to the class General Value Register: StringRegisterDateLastRCR: Date of last RCR parameterisation. A register that must be updated by the external application. (could be generated by the meter) StringRegisterTOULastActivation: StringRegisterDateLastParam: Date of last time switch (TOU). A register that must be updated by the external application. (could be generated by the meter) Date of last parameterisation. The date is updated by the meter whenever a parameter is modified. The update is done at the time the DLMS session is closed. Date of last meter calibration. A register that must be updated by the external application.

StringRegisterDateLastCalib:

StringRegisterTimeOrDateOfLastReset: Time or date of last meter reset (cumulation). This register is updated by the frimware at every meter reset. The register shows the time, or the date or both, depending on the settings of attribute ControlStatusFlags in the class ResetControlSystem.

All these registers are read only. The current value of these objects has the date coded as the number of seconds after 1.1.1990. For DLMS communication purposes, UTC format as shown in class Clock (ClassId=8) is used. The status byte is set to invalid status (0xFF).

4.3 Identification Numbers


Objects used for storing and displaying information of some customer identification numbers as well as the identification of relevant elements of the meter. There are twenty objects belonging to the class Data subtype DataRegister plus one (HdlcDestinationLowerMacAddress) belonging to the class Register subtype General value register
StringRegisterID1 StringRegisterID1_1 StringRegisterID1_2 StringRegisterID1_3 StringRegisterID1_4 StringRegisterID2 StringRegisterID2_1 StringRegisterID2_2 EepromCheckId StringRegisterSoftwareId WeekDay StringRegisterConnectionId StringRegisterRCRId StringRegisterParamId StringRegisterStandardDatensatz StringRegisterCircuitNr StringRegisterConfigId StringRegisterDLMSDeviceId StringRegisterASWHardwareInfo StringRegisterIECDeviceAddress

StringRegisterID1: Customer defined data used for identification purposes. This number is split into 4 fields. The fields correspond to the registers StringRegisterID1_1 .. StringRegisterID1_4 which map directly into StringRegisterID1. Each StringRegisterID1_x has 8 bytes which correspond to the 8 digits in the display.
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8

StringRegisterID1_1

StringRegisterID1_2 StringRegisterID1_3 StringRegisterID1

StringRegisterID1_4

StringRegisterID2: Customer defined data used for identification purposes. This number is split into 2 fields. The fields correspond to the registers StringRegisterID2_1 and StringRegisterID2_2 which map directly into StringRegisterID2. Each StringRegisterID2_x has 8 bytes which correspond to the 8 digits in the display.
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8

StringRegisterID2_1 StringRegisterID2_2 StringRegisterID2

EepromCheckId:

type: string[17]

Landis+Gyr AG

Revision Date: 09.09.2009

Page 185 / 190

Class Description

Compiled for P05.H

Shows the actual complete version number of the firmware followed by its date (e.g. B01.3 00-11-10). It is stored in the ROM of the firmware. The current value of this register points to the corresponding value in ROM, thus it is a read only value. This number is used as reference for setting the proper test parameterisation in the production. StringRegisterSoftwareId: type: string[3] Shows the actual version of the firmware as reported externaly (e.g. B01). It is stored in the ROM of the firmware. The current value of this register points to the corresponding value in ROM, thus it is a read only value. The short_name of this object is fixed within the COSEM context. It is: 0xFF00 (proposal given to the COSEM group). WeekDay: type: string[1] Indicates the current day of the week numericaly (1 = Monday, 7 = Sunday) for display purposes. StringRegisterConnectionId: type: string[8] Identifies the actual connection of the meter according to DIN43856. This number is used as a reference by the utility to quick check the installation and the general type of meter StringRegisterCircuitNr: Not used ! (same as StringRegisterConnectionId) StringRegisterRCRId: type: string[16] Identifies the actual program of the RCR in the meter. This number is used as a reference by the utility to quick check the functionality of the RCR StringRegisterParamId: type: string[8] Identifies the actual parameterisation of the meter. This number is used as a reference by the utility to quick check the actual parameterisation StringRegisterStandardDatensatz: type: string[8] Identifies the actual parameterisation of the Standard Datensatz. The Standard Datensatz is a standard readout list defined by VDEW. This number is used as a reference by the utility to quick check the actual parameterisation of the Standard Datensatz StringRegisterConfigId: type: string[16] Identifies the functionality of the meter. This functionality is coded through the identifier of the appropriate logical device model. With this ID an external tool can determine the actual configuration and functionality of the meter. The model itself is stored in an external database. StringRegisterASWHardwareInfo: Not used ! (same function as StringRegisterConfigId) StringRegisterDLMSDeviceId: type: string[16] Stores athe DLMS device address of the meter. Unique world-wide. Address: "LGZ" + device production number. The short_name of this object is fixed within the COSEM context. It is given in Ref. 6 as: 0xFD00. The contents of this attribute is also accessible (read only) through attribute SapAssignmentList of class SAP Assignment. StringRegisterIECDeviceAddress: type: string[32] It stores the IEC device address of the meter. Used at communication opening. The contents of this register is the same as that of attribute device_addr in class IECSetUp (class_id: 19). HdlcDestinationLowerMacAddress: type: Unsigned16 It stores the IEC lower mac address of the meter. This address is usually coded as: 1000 + least four digits of the meter number (in hexadecimal). Example: meter number 74 403 163, then device_address = 1000+3163 = 4163 = 0x1043. Used to identify a meter when they are daisy-chained and accessed via hdlc. The contents of this register is also accessible (read only) through attribute SapAssignmentList of class SAP Assignment.

4.4 Measurement Constants


Objects used for visualising the values some measurement constants. The objects are required so that the values may have an own identifier for visualisation purposes. There are six objects belonging to the class General Value Register: MeterConstantActivePulseRegister MeterConstantReactivePulseRegister MeterConstantScaleFactorDemandRegister MeterConstantScaleFactorEnergyRegister MeterConstantCurrentTransformerRegister MeterConstantVoltageTransformerRegister The current value of these objects points to the following attributes:
Object points to: MeterConstantActivePulseRegister: MeterConstantReactivePulseRegister: MeterConstantScaleFactorDemandRegister: MeterConstantScaleFactorEnergyRegister: MeterConstantCurrentTransformerRegister: Class LindaMeasurementSystem LindaMeasurementSystem LindaMeasurementSystem LindaMeasurementSystem LindaMeasurementSystem Attribute ActivePulseNb ReactivePulseNb ScaleFactorDemand ScaleFactorEnergy CurrentTransformerFactor

Landis+Gyr AG

Revision Date: 09.09.2009

Page 186 / 190

Class Description

Compiled for P05.H

MeterConstantVoltageTransformerRegister:

LindaMeasurementSystem

VoltageTransformerFactor

4.5 Counter Registers


Objects used for counting either events or time, and for displaying this information. There are twenty seven objects belonging to the class General Count Register. The current value of all registers have the same type: Unsigned16.

4.5.1 Time Counting Registers


OperatingMinutesTotalRegister OperatingMinutesRegister4 OperatingMinutesRegister3 OperatingMinutesRegister2 OperatingMinutesRegister1 BatteryMinutesCountRegister

OperatingMinutesTotalRegister: Counts the minutes of operation of the meter. The counter is increased after each minute of operation. OperatingMinutesRegister1 .. 4: Counts the minutes of operation when the register is activated. These registers can be activated in the same way as the tariffication registers. The counter is increased after each minute of operation while it is activated. BatteryMinutesCountRegister: Counts the minutes of operation of the battery. The counter is increased after each minute of operation.

4.5.2 Event Counting Registers


ResetCountRegister1 CountRegisterStatusParam CountRegisterNumberParam SeasonCountRegister ResetDayCountRegister PhaseFailCountRegisterL1L2L3 PhaseFailCountRegisterL3 PhaseFailCountRegisterL2 PhaseFailCountRegisterL1 OverVoltageCountRegisterL1L2L3 OverVoltageCountRegisterL3 OverVoltageCountRegisterL2 OverVoltageCountRegisterL1 UnderVoltageCountRegisterL1L2L3 UnderVoltageCountRegisterL3 UnderVoltageCountRegisterL2 UnderVoltageCountRegisterL1 OverCurrentCountRegisterL1L2L3 OverCurrentCountRegisterL3 OverCurrentCountRegisterL2 OverCurrentCountRegisterL1

ResetCountRegister1: Counts the number of cumulation resets (internal or external) of the meter. CountRegisterStatusParam: Defined but [not used in VDEW0) ## function not clear (REQUIRED????) CountRegisterNumberParam: (Defined but not used in VDEW0) Counts the number of parameterisations. Who increments it? The short_name of this object is fixed within the COSEM context as: 0xFE00 SeasonCountRegister: (Implemented but not used in VDEW0) Register used internally for selecting the seasons when the meter works with seasonal schedules. The seasons are numbered from 1 to 6 (see Single Action Schedule). ResetDayCountRegister: (Implemented but not used in VDEW0) Register used internally for counting the days between seasons when the meter works with seasonal schedules. (see Single Action Schedule). PhaseFailCountRegisterL1 .. L1L2L3: (Implemented but not active in VDEW0) Counts the number of power failures (power loss) in the corresponding phase (L1 .. L3, L1L2L3 = all phases) OverVoltageCountRegisterL1L2L3: (Implemented but not active in VDEW0) Counts the number of overvoltage crossings (one count per crossing) of the corresponding phase (L1 .. L3, L1L2L3 = all phases) UnderVoltageCountRegisterL1L2L3: (Implemented but not active in VDEW0) Counts the number of undervoltage crossings (one count per crossing) of the corresponding phase (L1 .. L3, L1L2L3 = all phases)
Landis+Gyr AG Revision Date: 09.09.2009 Page 187 / 190

Class Description

Compiled for P05.H

OverCurrentCountRegisterL1L2L3: (Implemented but not active in VDEW0) Counts the number of overcurrent crossings (one count per crossing) of the corresponding phase (L1 .. L3, L1L2L3 = all phases)

4.6 Readable Items


(not used in VDEW0) All classes that have readable attributes have an IdString and a LogicalName to identify the attribute. A problem exists for classes having more than one attribute that has to be displayed or readout. The class ReadableItems provides an own Idstring and LogicalName to those secondary attributes that have to be displayed or read out. This chapter has the list of all objects of the class Readable Items indicating their purpose and the value that they represent. There are three categories of objects belonging to the class ReadableItems: DemandFrozenValueDisplayRegister [1 .. 8] (not used in VDEW0) DemandCumMaxValueDisplayRegister [1 .. 24] (not used in VDEW0) MonitorThresholdDisplayRegister [1 .. 20] (not used in VDEW0) The value of these objects points to the following attributes:
Object points to: Class Attribute

DemandFrozenValueDisplayRegister [1 .. 8] DemandCumMaxValueDisplayRegister [1 .. 24] MonitorThresholdDisplayRegister [1 .. 20]

DemandRegister [1 .. 8] DemandPmaxRegister [1 .. 24] MonitorRegister [1 .. 20]

last_average_value PmaxCum Thresholds

4.7 Display Objects


The following table shows the use of the objects from the display list classes.
Object DisplayMenu ServiceMenu Class Nr. of Virtual Id Entries name 10010 10010 10 10 902 908 Name (IdString) [empty] [empty] Typical Use / Contents User Menu: Manual scroll list, Load Profile Service Menu: Set mode list, Service scroll list, Event log, BatteryMonitorActivate, CalibrationModeActivate Event log Load Profile Diagnostic registers "End" [empty] Autoscroll list Manual scroll list Readout list Set mode list Service scroll list

DisplayMenu2 DisplayMenu3 ServiceMenu3 MenuEnd DisplayMenu4 DisplayList DisplayMenu1 ReadoutList ServiceMenu1 ServiceMenu2

10010 10010 10050 10016 10010 10010 10010 10010 10011 10051

10 10 10 10 10 180 180 180 180 180

904 905 911 919 906 901 903 900 909 910

"P.98" "P.01" "DIAG" [empty] [empty] [empty] "Std_dAtA" [empty] "Set" "Ser_dAtA"

4.8 Logical names of CIMA Objects


The following list shows the existing objects and their corresponding LogicalName values. All values are given in hexadecimal. If an application has objects whose current value is not used (e.g. a meter that has 6 energy registers but only four are used and configured), then the generic logical name for IdleObjects (as shown at the end of the following list)can be used to identify these unused objects.
Object ID1 ID1.1 ID1.2 LogicalName 01000000FFFF 0100000000FF 0100000001FF Object LogicalName

SeasonCountRegister

010000F00BFF

Landis+Gyr AG

Revision Date: 09.09.2009

Page 188 / 190

Class Description

Compiled for P05.H

ID1.3 ID1.4 ID2 ID2.1 ID2.2 DLMSDeviceAddress ConfigurationID IECDeviceAddress SoftwareID ParametrisationID ConnectionID TOUID ErrorHandler ResetCounter DateAndTimeOfResets EnergyRegister1 EnergyRegister... EnergyRegister24 DaysSinceLastReset Time Date Weekday&WeekNumber BatteryHourCounter BatteryCapacityIndication InputStatesBaseMeter OutputStatesBaseMeter InputStatesOption1 OutputStatesOption1 MeterStatusSignals DV1 DV... DV16 SecuritySwitchState PhaseFailCountRegisterL123 PhaseFailCountRegisterL1 PhaseFailCountRegisterL2 PhaseFailCountRegisterL3 UnderVoltageCountRegisterL123 UnderVoltageCountRegisterL1 UnderVoltageCountRegisterL2 UnderVoltageCountRegisterL3 OverVoltageCountRegisterL123 OverVoltageCountRegisterL1 OverVoltageCountRegisterL2 OverVoltageCountRegisterL3 OverCurrentCountRegisterL123 OverCurrentCountRegisterL1 OverCurrentCountRegisterL2 OverCurrentCountRegisterL3 NumberOfParametrisations DateAndTimeOfLastParametrisation DateAndTimeOfLastCalibration MeterConstantActiveEnergy MeterConstantReactiveEnergy ReadingConstantForEnergyDisplay ReadingConstantForDemandDisplay CurrentTransformerRatio

0100000002FF 0100000003FF 00006001FFFF 0000600100FF 0000600101FF 0000605AFFFF 0000140000FF 0100000200FF 0100000201FF 0100000204FF 000000000000 0000616100FF 0100000100FF 0101010801FF 0101010802FF 0100000900FF 0000010000FF 0000010300FF 0000600600FF 0000600603FF 0000600301FF 0000600302FF 0001600301FF 0001600302FF 01012007FFFF 000000000000 0000600700FF 0000600701FF 0000600702FF 0000600703FF 010120200000 010134200000 010148200000 010120240001 010134240001 010148240001 01011F240001 010133240001 010147240001 0000600200FF 0000600201FF 0101600205FF 0101000300FF 0101000301FF 0100000401FF 0101000402FF

Option1IdentCopy Option1IdentReference BaseIdent ControlStatus5 (RCR) Mra_DemandAlert1 Mra_CurrentAlert1 Mra_VoltageLowAlert Mra_VoltageHighAlert Mtr_DemandThreshold1 Mtr_CurrentThreshold1 Mtr_VoltageThreshold1 DiagnosticRegister13 DiagnosticRegister12 DiagnosticRegister11 CountRegisterStatusParam StatusOutput8 StatusOutput7 StatusOutput6 StatusOutput5 StatusOutput4 StatusOutput3 StatusOutput2 StatusOutput1 PulseOutput8 PulseOutput7 PulseOutput6 PulseOutput5 PulseOutput4 PulseOutput3 PulseOutput2 PulseOutput1 Emf_MeterFunction ControlInputCalibrationStore TemperaturCalibration

000260F008FF 000260F009FF 000160F008FF 0002600301FF 010101F004FF 01010BF005FF 01010CF006FF 01010CF007FF 0100011400FF 01000A1400FF 01000B1400FF 01016107FFFF 01016107FFFF 01016107FFFF 0000600204FF 0000F00408FF 0000F00407FF 0000F00406FF 0000F00405FF 0000F00404FF 0000F00403FF 0000F00402FF 0000F00401FF 0000F00508FF 0000F00507FF 0000F00506FF 0000F00505FF 0000F00504FF 0000F00503FF 0000F00502FF 0000F00501FF 0000F00100FF 0000F00200FF 0000F00300FF

VaaDefinition1 VaaDefinition2 VaaDefinition3 VaaDefinition4 VaaDefinition5 VaaDefinition6 VaaDefinition7 VaaDefinition8 VaaDefinition9 VaaDefinition10 VaaDefinition11 VaaDefinition12 VaaDefinition13 VaaDefinition14 VaaDefinition15 VaaDefinition16 StringRegisterDateLastRCR StringRegisterDateLastTimeSwitch EepromCheckId StringRegisterRCRId

0000F00800FF 0000F00801FF 0000F00802FF 0000F00803FF 0000F00804FF 0000F00805FF 0000F00806FF 0000F00807FF 0000F00808FF 0000F00809FF 0000F0080AFF 0000F0080BFF 0000F0080CFF 0000F0080DFF 0000F0080EFF 0000F0080FFF 010000F002FF 010000F003FF 000060F000FF 0100000203FF

Landis+Gyr AG

Revision Date: 09.09.2009

Page 189 / 190

Class Description

Compiled for P05.H

VoltageTransformerRatio NonDSW_AllSegmentPlaceHolder CounterS0Input1 CounterS0Input2 StringRegisterSoftwareIdO2 OTT1 OTT... OTT8 OTTTotal MeasurementUnit1 MeasurementUnit... MeasurementUnit8 ExternalMeasuring1 ExternalMeasuring2

0101000403FF 0102603201FF 0103603201FF 0000000200FF 0100600801FF 0100600808FF 0000600800FF 0101010800FF

StringRegisterTOUId StringRegisterCircuitNr StringRegisterDLMSDeviceId StringRegisterASWHardwareInfo MeterConstantScaleFactorDemandRegister

0100000202FF 000060F001FF 0000600000FF 000060F00DFF 0101000400FF

0103010800FF 0101010800FF

ReadoutList DisplayList DisplayMenu4 DisplayMenu3 DisplayMenu2 DisplayMenu1 DisplayMenu

0000F00E00FF 0000F00E10FF 0000F00E24FF 0000F00E23FF 0000F00E22FF 0000F00E21FF 0000F00E20FF

IepCommunicationData StringRegisterDeviceAddress

0000140000FF 0000140000FF

IdleObjects

00007F0000FF

Landis+Gyr AG

Revision Date: 09.09.2009

Page 190 / 190