Escolar Documentos
Profissional Documentos
Cultura Documentos
Landis+Gyr AG
Page 1 / 190
Class Description
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
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
Page 3 / 190
Class Description
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.
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
Landis+Gyr AG
Page 4 / 190
Class Description
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
Mab_PropertyDescr ReadVAAs WriteVAAs Id(DLMSoffset) StorageLocation DataType DataSize DataOffset .......... Next : Mab_PropertyDescr
Mer_EnergyRegister
Mer_EepromData ConfiguredAndActivated : BOOLEAN RamBackup : Mer_RamData RamBackup Mer_RamData CurrentValue : Signed48 Active : BOOLEAN MValueNumber : Unsigned8
Landis+Gyr AG
Page 5 / 190
Class Description
Landis+Gyr AG
Page 6 / 190
Class Description
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
Page 7 / 190
Class Description
Landis+Gyr AG
Page 8 / 190
Class Description
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)
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
m 3 /(60*60s)
(17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31)
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
W*(60*60s) VA*(60*60s)
(32)
varh
var-hour
var*(60*60s)
A C V V/m F m 2 /m Wb T
Landis+Gyr AG
Page 9 / 190
Class Description
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
volt-squared-hours
V 2 (60*60s)
(49)
A2h
A 2 (60*60s)
(50) (51) (52) (53) (54) (55) (56) (57) (60) (61) (62) (63)
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
Pa s
dynamic viscosity
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
Page 10 / 190
Class Description
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
Landis+Gyr AG
Page 11 / 190
Class Description
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
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
Page 12 / 190
Class Description
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.
Landis+Gyr AG
Page 13 / 190
Class Description
Landis+Gyr AG
Page 14 / 190
Class Description
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)
10122 80
0x06 00 02 02
ProtocolAssignmentList
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
Page 15 / 190
Class Description
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.
m/o O
(const)
Unsigned16
20009
Landis+Gyr AG
Page 16 / 190
Class Description
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
Page 17 / 190
Class Description
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
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
The following table shows the values that must be used for the selected demand measuring periods:
Landis+Gyr AG
Page 18 / 190
Class Description
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
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
Page 19 / 190
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
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
Page 20 / 190
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
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
Page 21 / 190
Class Description
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
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
1
(static) (dyn.)
Page 22 / 190
Class Description
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
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.
Checksum category:
7 6 5 Bits 4 3 2 1 0 Error Nr 100 ROM (NEC P)
Landis+Gyr AG
Page 23 / 190
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
Mask
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
Page 24 / 190
Class Description
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
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
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.
20013 0
Landis+Gyr AG
Page 25 / 190
Class Description
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.
m/o O
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
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
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
m/o O
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
Page 27 / 190
Class Description
b1 b0
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
0..n
Class Description
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
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
Page 29 / 190
Class Description
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
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
Page 30 / 190
Class Description
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
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
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
Page 32 / 190
Class Description
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
Page 33 / 190
Class Description
4 3 2 1 0
Billing period reset Season (1 = Summer 0 = Winter) Corrupted Measurement Battery Low (invalid date/time) Fatal Error
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
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
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
Page 34 / 190
Class Description
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
Page 35 / 190
Class Description
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.
(static) (dyn.) (static) m/o O (const) (const) (static) (static) (static) (static) (static) (static)
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
Page 36 / 190
Class Description
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
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.
Landis+Gyr AG
Page 37 / 190
Class Description
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
M/o O
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
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
Page 38 / 190
Class Description
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.
Landis+Gyr AG
Page 39 / 190
Class Description
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
M/o O
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
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
Page 40 / 190
Class Description
X:
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
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
Landis+Gyr AG
Page 41 / 190
Class Description
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 :
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
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:
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
Page 42 / 190
Class Description
0..24
(static) (dyn.) (static) (static) (dyn.)
M/o O
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
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
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.
Landis+Gyr AG
Page 44 / 190
Class Description
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.)
M/o O
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
Page 45 / 190
Class Description
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;
(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
20050 1
Page 46 / 190
Class Description
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
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
Page 47 / 190
Class Description
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
Page 48 / 190
Class Description
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
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
Page 50 / 190
Class Description
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
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)
20031 5
0 1 1 1 0
1 * * * 2
0 1 1 1 0
Page 51 / 190
Class Description
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
Page 52 / 190
Class Description
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
Page 53 / 190
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
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
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
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
Page 55 / 190
Class Description
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
Page 56 / 190
Class Description
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
Page 57 / 190
Class Description
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
Page 58 / 190
Class Description
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
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)
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
Reserved
Reserved
Reserved
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
Page 60 / 190
Class Description
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
Page 61 / 190
Class Description
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, .).
Landis+Gyr AG
Page 62 / 190
Class Description
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.
0 10800
Landis+Gyr AG
Page 63 / 190
Class Description
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.
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
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 ).
(static) (static)
unsigned octet-string[15]
Landis+Gyr AG
Page 65 / 190
Class Description
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
Attribute Description Only LogicalName, OwnClassVersion and AttrVaaAccList attributes are available.
1
Landis+Gyr AG Revision Date: 09.09.2009 Page 66 / 190
Class Description
(static) (static)
Min
Max
Def
m/o o
(dyn) (const) (static)
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.
Landis+Gyr AG
Page 67 / 190
Class Description
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
80
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
Class Description
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.
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
Page 69 / 190
Class Description
* 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.
(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
81
Class Description
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
Page 71 / 190
Class Description
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
Page 72 / 190
Class Description
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
Page 73 / 190
Class Description
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.
Class Description
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
Min
Max
Def
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
Page 75 / 190
Class Description
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
Page 76 / 190
Class Description
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.
Min
Max
Def
00 00 0F 00 00 FF
m/o
(const) (static) (static)
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
Page 77 / 190
Class Description
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
dayOfMonth:
Unsigned8
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
Page 79 / 190
Class Description
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:
Landis+Gyr AG
Page 80 / 190
Class Description
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
m/o
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
Page 81 / 190
Class Description
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.
Min 0
Max 9
Def
00 00 02 00 00 FF
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
"ATDT"
Landis+Gyr AG
Page 82 / 190
Class Description
(static)
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
Page 83 / 190
Class Description
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
Page 84 / 190
Class Description
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
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
Page 85 / 190
Class Description
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
Page 86 / 190
Class Description
0 0x00
255 0xAA
0 0x22
m/o
(const) (static)
unsigned octet-string
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
Page 87 / 190
Class Description
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.)
Landis+Gyr AG
Page 88 / 190
Class Description
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
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 .
Byte 8 Byte 8
Byte 9 Byte 9
Byte 10 Byte 10
Landis+Gyr AG
Page 89 / 190
Class Description
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
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
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
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
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
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 -
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
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
- 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
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
polarity
- 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
Page 94 / 190
Class Description
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.
1
(static) (mixed) (mixed) (mixed) (mixed) (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
Page 95 / 190
Class 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
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:
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:
Landis+Gyr AG
Page 96 / 190
Class Description
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
Physical Unit
Physical Unit:
Landis+Gyr AG
Page 97 / 190
Class Description
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
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
Page 98 / 190
Class Description
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-
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
Page 99 / 190
Class Description
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
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
Class Description
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
Class Description 1st factor S01 Calculation Factor 2nd factor S02 Calculation Factor
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
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
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
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
ExpFactor
Not used
dCA2
ExpFactor
Not used
dCA3
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
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%
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
Class Description
-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
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
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
4 4 4 4 4 4
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
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
*)
Where:
Landis+Gyr AG
Class Description
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
7 1 1 3 7 1 1 1 1
MODE
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
(static)
Min
Max
Def
00 00 F0 0E xx FF
Class Description
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
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
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
55
EnergyTotalRegisterM1
Landis+Gyr AG
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
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
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
Landis+Gyr AG
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
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.
Min
Max
Def
00 00 F0 0E 31 FF
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
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
Landis+Gyr AG
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
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
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
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
2400
Dgp_CommunicationData (USA)
Landis+Gyr AG
Class Description 2111 2112 2113 2114 2115 2116 VaaDefinition11 VaaDefinition12 VaaDefinition13 VaaDefinition14 VaaDefinition15 VaaDefinition16
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.
(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
Type: Enum
Landis+Gyr AG
Class Description
MatrixInput Type: Enum Input of the matrix to which the information "BatteryLow" must be sent:
Mta impus Number 112 119
Min
Max
Def
00 00 F0 0E 60 FF
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
Landis+Gyr AG
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
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
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
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
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
Class Description
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
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
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
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
Class Description
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
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
9040 disabled
Bit 1
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
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
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
Class Description
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
Landis+Gyr AG
Class Description
RS422
Bit 6
RS485
Bit 5
CS
Bit 4
Not used
Bit 3
RS232
Bit 0
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
not used
Bit 7
not used
Bit 6
not used
Bit 5
Power Supply
Bit 2
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
Class Description
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
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
(static)
m/o
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.
Read-only
Landis+Gyr AG
Class Description
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
Class Description
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
(static)
m/o
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
Class Description
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
Class Description
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).
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
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
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 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
Class Description
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.
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
Class Description
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.
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
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)
Min
Max
Def
00 00 F0 0E 32 FF
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
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
Landis+Gyr AG
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
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
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
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
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
Class Description
Min
Max
Def
00 00 F0 06 xx FF
20040
20041
Min
Max
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
Class Description
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.
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
Class Description
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
Class Description
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
Class Description
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
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
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
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
Class Description
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.
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
Class Description
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]
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
Reset
Comment
Event Nr
4
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
Class Description
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.
Min
Max
Def
00 00 F0 ## xx FF
10 ControlFlags
Landis+Gyr AG
Class Description
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
Class Description
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 .
0 Data Type octetstring Octetstring[4] boolean Unsigned8 Unsigned8 Octetstring[32] Struct {Read; Write} Struct {Read; Write} Struct {Read; Write} Struct {Read; Write}
Implementation Note concerning attribute AttrVaaAccList: The access to this attribute is restricted to the highest Vaa ->Vaa16.
Landis+Gyr AG
Class Description
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
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
Class Description
(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.
Landis+Gyr AG
Class Description
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
(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
Class Description
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
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
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
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
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
Class Description
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
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
Landis+Gyr AG
Class Description
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:
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
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
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
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
Class Description
20
L1 L2 L3 M ethod IE 1 R egistration:
1h
2h
3h
L1 L3 R egistration:
L2 M ethod IE1
30
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.
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
Z<0D>E0<0D>+CMGF=1<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.
Landis+Gyr AG
Class Description
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
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
Class Description
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.
Class Description
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
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
Energy val. E1 E2 E3 E1 E2 E3 E1 E2 E3 E1 E2 E3
In In In In
PF PF PF PF
Energy val. E1 E2 E3 E1 E2 E3 E1 E2 E3 E1 E2 E3
In In In In
PF PF PF PF
Landis+Gyr AG
Class Description
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
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
Class Description
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
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
Class Description
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
72 73 74 75 76 77 78 79 80
81 82 83 84 85 86
(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
Class Description
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
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
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
Class Description 0 1 2 3 4 5 6 7 SnapshotBufferControl Reserved Reserved Reserved Reserved Reserved Reserved Reserved 0= disabled, 1 = enabled -
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 -
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
Class Description 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
Readout start
Readout end
Readout start
Readout end
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
Max
Def
3 30 0 0
Landis+Gyr AG
Class Description
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
PF PF PF PF PF PF PF PF
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
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
Landis+Gyr AG
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
Class Description
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
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.
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
Readout end
Class Description
1 Data Type
Octet-string Array Array Enum ObjectDefinition Unsigned32 Unsigned32 BOOLEAN Unsigned16 Unsigned8 Octetstring Octetstring Unsigned8 UTC Unsigned8 Array Array Value_definition Integer8
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
Class Description
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
Class Description
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
Class Description
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.
DedEvLogVoltageQuality
Revision Date: 09.09.2009 Page 175 / 190
Class Description
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
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
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
Class Description
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
Class Description
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.
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
Class Description
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
Class Description
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
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]
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
Class Description
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
Class Description
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
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
Class Description 8 c
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.
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).
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_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
EepromCheckId:
type: string[17]
Landis+Gyr AG
Class Description
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.
Landis+Gyr AG
Class Description
MeterConstantVoltageTransformerRegister:
LindaMeasurementSystem
VoltageTransformerFactor
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.
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
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)
DisplayMenu2 DisplayMenu3 ServiceMenu3 MenuEnd DisplayMenu4 DisplayList DisplayMenu1 ReadoutList ServiceMenu1 ServiceMenu2
10010 10010 10050 10016 10010 10010 10010 10010 10011 10051
904 905 911 919 906 901 903 900 909 910
"P.98" "P.01" "DIAG" [empty] [empty] [empty] "Std_dAtA" [empty] "Set" "Ser_dAtA"
SeasonCountRegister
010000F00BFF
Landis+Gyr AG
Class Description
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
Class Description
VoltageTransformerRatio NonDSW_AllSegmentPlaceHolder CounterS0Input1 CounterS0Input2 StringRegisterSoftwareIdO2 OTT1 OTT... OTT8 OTTTotal MeasurementUnit1 MeasurementUnit... MeasurementUnit8 ExternalMeasuring1 ExternalMeasuring2
0103010800FF 0101010800FF
IepCommunicationData StringRegisterDeviceAddress
0000140000FF 0000140000FF
IdleObjects
00007F0000FF
Landis+Gyr AG