0% found this document useful (0 votes)
628 views

Corus: Gas Volume Converter

CORUS_protocol_Modbus_EN_client

Uploaded by

Victor Arrabal
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
628 views

Corus: Gas Volume Converter

CORUS_protocol_Modbus_EN_client

Uploaded by

Victor Arrabal
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 38

CORUS

Gas Volume Converter

Communication Protocol and Data Exchanged


Modbus RTU® Protocol supplement

Revision AA
November 2006

1/38
TABLE OF CONTENTS

1 INTRODUCTION .................................................................................................... 5
2 REFERENCE DOCUMENTS .................................................................. 7
2.1 I-FLAG Protocol ..........................................................................................................................7
2.2 Modbus RTU Protocol.............................................................................................................7
3 DESCRIPTION OF THE ACCESS IN MODBUS............ 8
3.1 Access to the parameters .....................................................................................................8
3.1.1 Parameters .................................................................................................................................8

4 DATABASE LOGS READING............................................................ 10


4.1 Definition of the address spaces for database and logs ..................................10
4.2 Reading with direct access ................................................................................................11
4.3 Reading with extended access........................................................................................11
4.3.1 Frame mode.............................................................................................................................14
4.3.2 Page Mode ...............................................................................................................................18

5 SPECIAL FUNCTIONS ................................................................................ 22


5.1 Address reading of the “addresses table” .................................................................22
5.2 Priority of the “addresses table” ......................................................................................22
5.3 Reset of the “addresses table” ........................................................................................23
5.4 CORUS : Main parameters format and description ............................................24
ANNEX 1 : PARAMETERS ID NUMBER LIST......................... 31
ANNEX 2 : CORUS EVENT LOG : EVENT NUMBER &
VALUE ......................................................................................................................................... 35
ANNEX 3 : PARAMETER LOG : PARAMETERS
NUMBER .................................................................................................................................. 37

2/38
3/38
Revision Sheet
Revision Date Author Description of the modification
AA October-2006 M.TSIRKINIDIS Creation of the document

4/38
1 INTRODUCTION

This document is a complement of the « Communication pack » that Actaris provides after
the signature of a non-disclosure agreement (NDA) that ensures confidentiality of provided
data and information. It completes the description of the communication possibilities of the
Corus with the description of the Modbus protocol.

The “communication pack” also includes :

• Description of data and protocol (document for the I-FLAG protocol)


• Drivers for integration of I-FLAG protocol law layers (DLL,…)
• Document that explain how to use the DLL

General information concerning CORUS protocols

The first protocol to have been implemented into the Corus is based on SEVC-D one,
called I-FLAG (based on IEC61107). This allows to warranty a compatibility of law-layers of
the protocol.

To complete the offer of Actaris and achieve compatibility with some AMR and SCADA
systems the Modbus RTU protocol has also been integrated since the firmware version
V0.74.
The Modbus does not replace the I-FLAG protocol, both are present in the Corus on the
same time.

Result is a full flexible communication system that usually reduce communication length
and improve reliability, with a large choice of compatible AMR or SCADA softwares.

The Corus is able to answer alternatively to request in both protocols. However the
Modbus protocol hasn’t a wake-up phase so the communication port must be set to
the communication speed (no auto-bauding function as for IFLAG protocol).

The current document includes mainly two parts :

• Description of new functions and detection of the communication protocol


• Description of Corus data in Modbus RTU protocol

5/38
CORUS Communication structure

PROTOCOL
DETECTION
I-FLAG (Connection Phase Modbus
DETECTION Acknowledgement) detection

DATA EXCHANGE PHASE


I-FLAG CONNECTION
PHASE
(Power_On, Sign_On, Identification,
Acknowledgement)

FRAME MODE SAM MODE


SEVC-D Single addressee
compatibility (*) mode

DATA EXCHANGE PHASE DATA EXCHANGE PHASE


Ctrl –bit 7 = 0 Read command BF.. or BE… for Reading
Ctrl –bit 7 = 1 Write command FF… for Programming

END OF END OF
CONNECTION CONNECTION
PHASE PHASE
(Break) Time-out

(*) : According level of compatibility with SEVC-D

6/38
2 REFERENCE DOCUMENTS

2.1 I-FLAG Protocol


The communication protocol of SEVC-D and the description of data exchanged is
described in the document :
• « Communication protocol and Data exchanged « from L.Garidi ; Reference
A59/ST/95
The last version (dated 18/04/01) of this document includes data description of all existing
SEVC-D standard version (V2.0 , V3.0 and V4.0)

The I-FLAG protocol for Corus is described in the document:


• CORUS_protocol_074.pdf (version AB date 06/12/2006)

2.2 Modbus RTU Protocol


The reference documents for Modbus protocol are:

• [DG1] MODBUS Application protocol specification V1.1 (04/06/04)

• [DG2] MODBUS over Serial Line V1.0 (02/12/02)

• [DG3] MODBUS messaging on TCP/IP implementation guide V1.0a

These documents are available at www. modbus.org

7/38
3 Description of the access in Modbus
The access with Modbus protocol can be split in two:
Reading and programming the parameters of CORUS.
Database reading (event, parameters, calendar, interval, logs).

3.1 Access to the parameters


The Ver0.73 firmware version of the CORUS has a zone of parameters of 2101 bytes.
The Modbus addressing is made in WORD format (2 bytes), and all parameters of BYTE
or FLAG format are using a complete address meaning a WORD.
The size of MODBUS address area used to manage all the parameters of the V0.73 is
1089 ( 0x441 ).

The management of Modbus protocol in Corus is requiring new parameters :


• Modbus address table for parameters.(1 address per parameter).
• Description of the structure for database logs.
• Etc..

3.1.1 Parameters
A table is giving to the user the possibility to configure the address for each parameter.
The table also contains the format of reading and the access level.

Example :
Param_ID Param_Add_Mb Param_Format Param_Acces
0 0x0000 FLOAT R/W | LEVEL0
1 0x0002 FLOAT R | LEVEL1
2 0x0004 BYTE R/W | LEVEL 5
3 0x0005 FLAG R
4 0x0006 ULONG R
5 0x0008 INDEX R
6 0x000C

Rows description:

Param_ID ID of the parameter (same as for IFLAG protocol


mapping)
Param_Add_Mb Modbus address
Param_Format Format of the reading in MODBUS
Param_Acces Access ( Read/Write) + Level of access

Param_ID is the same ID as in the IFLAG mapping file.

8/38
Param_Add_Mb is the address of the first Word of the parameter.
Param_Format it can be used to include adaptation mechanisms to the format required by
the user.
Example : Conversion of an INDEX to ULONG( integer part ).
Param_Acces it indicates if the parameter is only accessible for reading or
reading/programming, and defines the level of access (the mechanisms for the
authentication in each level are not defined in V0.74. For the moment the table_protect
used in IFLAG protocol remains active and determines the level of access).
It will possible to make a parameter not accessible in Modbus and to recover its address
for an other parameter.

9/38
4 Database logs reading
The Mobdus address table do not give access to all data on the same time, so a specific
mechanism must be defined to read the database.
The basic idea is to have a part of the database (the most recent) always visible in direct
access. The size of this part is configurable.
The rest of the database remains accessible with two modes “Pages” and “Frames”.

The “Frames” mode allows the reading of a restricted address zone (125 words) et use the
same principle with the reading in IFLAG protocol.

The “Pages” mode gives access to the integrality of the addresses zone reserved for
database separated in “pages”. The number of “page” must be specified to load in the
visible part the corresponding data.

4.1 Definition of the address spaces for database and logs


Each database or log has a structure defining its direct addressable zone. The format of
this structure is the following:

Name Function Type


DB_Start_Add Starting address of the database R/W WORD
DB_Nb_Record Number of directly visible records R/W WORD
DB_Mask_Data Mask for the fields of the database (option) R/W ULONG
DB_Record_Size Size of records in words R BYTE

These structures are parameters that can be accessed via Modbus.

Example : The interval database must present 720 records, composed by all data of the
database (with DIM mask full), starting from address 0x10000.
The structure of the database is the following:

Name Value
DB_Start_Add 0x10000
DB_Nb_Record 720
DB_Mask_Data 0xFFFF
DB_Record_Size 38

By consequence the space of Modbus addresses space reserved for the interval database
will be :
0x10000 0x16AE0

The minimal size of this space is one record.


Warning: The address space must contain at least 252 bytes (126 words) to make possible
the reading in “Frame” mode.

10/38
4.2 Reading with direct access
If data are in the direct access space, the reading is done with the standard Modbus
commands for the reading of registers (0x03).
A mechanism is “locking” is activated to block recording of new data in the database
during the reading. The mechanism is activated immediately after receiving the reading
request for this specific space, and remains active until the reading is complete for this
space.

4.3 Reading with extended access


As indicated previously there are two modes of extended access

Frame Mode
Page Mode

These two modes are accessible through a programming command on the following
structure:

Name Function RW Type


Num_DB Number of the dbase RW WORD
Mode Reading mode RW WORD
Num_Page Page number RW WORD
Num_Start/Date_Start Number and date of the first record RW ULONG
Num_End/Date_End Number and date of the last record RW ULONG
Total_Nb_Record Total number of records associated to the R WORD
reading request
Nb_Record Number of records on the actual page R WORD
Nb_Pages Number of pages on the request R WORD
Record_Size Size of one record R WORD

Num_DB
Bit 7 6 5 4 3 2 1 0
Number of the database

Num_DB Dbase/Log
0 Interval
1 Hourly
2 Daily
3 Monthly
4 Events log
5 Programming log

11/38
Mode
Bit 7 6 5 4 3 2 1 0
Current session Rfu1 Date/Num Reading mode

Bit 15 14 13 12 11 10 9 8
Error code

• Current session = If the value of this bit is 0 the “lock” of the database is
activated. During the reading of the other pages this bit should be set to 1 to
maintain the coherence between pages.

• Error code = Following a programming command of the structure (reading


command of database) it’s possible to detect if the command is correct by
reading again this field.

The following error codes are managed :

Code Error
0 OK
30 Empty selection ( Database empty or error on start/end )
31 Programming command of a DB structure not correct ( num_db,type,etc..)
32 PAGE: Page number not included on selected range
64 FRAME : No previous frame ( start_add on frame 0 )
65 FRAME : size > than 124
66 FRAME : address different from start_add or start_add+1
67 FRAME : end of selection
(*)
Data are available but do not cover the total requested range.

• Date/Num = Reading mode


0 Date = filter Date_Start et Date_End
1 Num = filter Num_Start et Num_End

• Reading mode
Used to select the « Page » or « Frame » mode
Reading mode
0 Direct mode (End of reading UNLOCK)
1 Mode Page
2 Mode Frame
3 RFU
4 RFU
5 RFU
6 RFU
7 RFU

1
Reserved for future use

12/38
Num_Page
Number of the page to be read.

Num_Start/Date_Start
Number of the first record or starting date of the selection.

Num_End/Date_End
Number of the last record or ending date of the selection.

13/38
4.3.1 Frame mode

The principle of the frame mode is to read the complete database by frames of 246
bytes, always on the same Modbus address. It allows the reduction of the direct
addresses space of a database to its minimal size and to be able to read all data.

Frame 0
Frame 1
Frame 2

Direct
Frame 3
Frame 4 Frame X
Frame 5
Modbus
addresses space
Hidden zone

Frame N

The principle is the following :

1) Programming of the reading structure (Selection request).

This action defines the zone of the database that we wish to read.

Name Function
Num_DB Number of the data base
Mode 0x02
Num_Page Not used
Num_Start/Date_Start Number or date of the first record
Num_End/Date_End Number or date of the last record

14/38
2) Check of the reading structure.

Name Function
Num_DB Number of the database
Mode Reading Mode
Num_Page 0x00
Num_Start/Date_Start Number or date of the first record
Num_End/Date_End Number or date of the last record
Total_Nb_Record Total number of records associated to the
reading request
Nb_Record Not used
Nb_Pages Number of frames on the request
Record_Size Size of one record

The error code of the mode determines if the previous command has been
acknowledged correctly.

The Total_Nb_Record gives the total number of records selected by the request.

The Nb_Pages gives the number of frames of the selection.

The Record_Size gives the size of a record.

3) Frame reading
The reading of frames is made to the first Modbus address of direct access
space (Start_Add ) + 1.

If the reading of the frame is correct the next reading at address Start_Add+1
increments automatically the pointer on the database.
If there is an error during the reading, the next reading is done at the address
Start_Add, and in this case the pointer is not incremented so that we can read
again the same frame.

15/38
The reading of the structure is the following :

Format of PDU only, Header and CRC must be add.


Word 0 1 2 3 4 5 6 7 124
Num Data
Frame

Num_Frame : number of frame in the selection.

If the last frame is not complete, the remaining space will be filled with
0xFF.

4) Example

Case: Interval database reading, records 10 to 100 in frame mode.

The structure describing the database is the following :

Name Value
DB_Start_Add 0x10000
DB_Nb Record 720
DB_Record_Size ( bytes ) 38

Remark : In this example the direct access to data is possible. The direct addresses
area zone contains 720 records.

Programming of the reading request

Name Value
Num_DB 0x00
Mode 0x0A
Num_Page 0x00 ( not used )
Num_Start/Date_Start 10
Num_End/Date_End 100

16/38
Check of the request

Name Value
Num_DB 0x00
Mode 0x0A ( no error )
Num_Page 0x00
Num_Start/Date_Start 10
Num_End/Date_End 100
Total_Nb_Record 91
Nb_Record 0x00
Nb_Pages 15
Record_Size 38

Frames reading :

Reading of 125 words at address 0x10001

Answer
Word 0 1 2 3 4 5 6 7 124
0 Frame 0

Reading of 125 words at address 0x10001


Answer
Word 0 1 2 3 4 5 6 7 124
1 Frame 1

Reading of 125 words at address 0x10001


Answer
Word 0 1 2 3 4 5 6 7 124
1 Frame 1

Reading of 125 words at address 0x10001


Answer
Word 0 1 2 3 4 5 6 7 124
2 Frame 2

Programming of the « reading end » request

Name Value
Num_DB 0x00
Mode 0x00

This operation returns to the direct access mode.

17/38
4.3.2 Page Mode

The reading of the database is made on the complete associated memory space.
The access to the “non accessible” data via direct reading is possible through pages.

Page 0

Direct Page 1
Modbus
addresses
space
Page 2
Non accessible space

Page 4
Page 3

Page 4

The process is the following:

1) Programming of the reading structure (Selection request).

This action defines the area of the data base that we wish to read. By the same the
database is “locked” and new data can’t modify the selected area.

Name Function
Num_DB Data base number
Mode 0x01
Num_Page 0x00
Num_Start/Date_Start Number or date of the first record
Num_End/Date_End Number or date of the last record

18/38
2) Check of the reading structure.

The Check is not mandatory but gives the size of the zone covered by the request.

Name Function
Num_DB Number of the database
Mode Reading mode
Num_Page 0x00
Num_Start/Date_Start Number or date of the first record
Num_End/Date_End Number or date of the last record
Total_Nb_Record Total number of records associated to the
reading request
Nb_Record Number of records in a page
Nb_Pages Number pf pages in the request
Record_Size Size of a record

The error code of the mode determines if the previous command has been
acknowledged correctly.

The Total_Nb_Record gives the total number of records selected by the request.

The Nb_Record gives the number of records in a page.

The Nb_Pages gives the number of pages in the selection.

The Record_Size gives the size of a record.

3) Pages reading
Once that the selection is done, the reading of data is made with Modbus frames
( register 0x03.).

To change the page the user must send a selection request where the bit
Session en cours of mode field is set to TRUE. The number of the new page is
in field Num_Page of the same request.
After sending a request to change the page, it’s possible to read again and check
the field Nb_Record to know the number of records that contains the page.
The sequence of the pages reading has no importance and the same for a
reading inside the page.

19/38
4) Example

Case: Interval database reading, records 0 to 1000 in page mode.

The structure describing the database is the following :

Name Value
DB_Start_Add 0x10000
DB_Nb Record 128
DB_Record_Size ( bytes ) 38

The real size of the database is :


Number of records 3200
Size ( bytes ) 121600
Size of a page (bytes ) 4864

Programming of the reading request

Name Value
Num_DB 0x00
Mode 0x01
Num_Page 0x00 ( not used )
Num_Start/Date_Start 0
Num_End/Date_End 1000

Check of the request

Name Value
Num_DB 0x00
Mode 0x01 ( no error )
Num_Page 0x00
Num_Start/Date_Start 0
Num_End/Date_End 1000
Total_Nb_Record 1001
Nb_Record 128
Nb_Pages 8
Record_Size 38

20/38
Reading of a page
Reading of N ( 1 ≤ N ≤ 125 ) words at address Add_Read = 0x10000

Answer
Word 0 1 2 3 4 5 6 7 N
Address_réelle from 0x0000 to 0x0000+N

Reading of M ( 1 ≤ M ≤ 125 ) words at address Add_Read = 0x10000+N+1

Answer
Word 0 1 2 3 4 5 6 7 N
Adresse_réelle from 0x0000+N+1 to 0x0000+N+M+1

The real address is the position of data is the position of data insed the selection
done on the database.
Adresse_réelle =
(Num_Page x DB_Nb Record x (DB_Record_Size/2)) + Add_Read-DB_Start_Add.

Add_Read = Reading address of Modbus frame.

Page change( Page 1 )

Name Value
Num_DB 0x00
Mode 0x81
Num_Page 0x01

Lecture de la page 0x01


Reading of N ( 1 ≤ N ≤ 125 ) words at address Add_Read = 0x10000

Answer
Word 0 1 2 3 4 5 6 7 N
Adresse_réelle from 0x0980 to 0x0980+N

Reading of M ( 1 ≤ M ≤ 125 ) words at address Add_Read = 0x10000+N+1

Answer
Word 0 1 2 3 4 5 6 7 N
Adresse_réelle from 0x0980+N+1 to 0x0980+N+M+1

Programming of “end of reading” request

Name Value
Num_DB 0x00
Mode 0x00

This operation restores the direct access ( page 0 ).

21/38
5 Special Functions
The Modbus addresses table is configurable by the user. For that reason it’s possible that
an error on it could make the reading with Modbus impossible. In order to overcome the
problem some special functions have been added to the protocol:
• Address reading of the “addresses table” .
• Priority to the “addresses table” in case of address incoherence (overlap).
• Possibility to reset the table to default settings.

5.1 Address reading of the “addresses table”


The addresses table is a table containing all the Modbus addresses of the parameters
used in Corus. The table contains also its own address. If the table must be modified in
case of problem we need two information:
The Modbus address of the table.
The position of this address inside the table.

It’s possible to access to these information with a reading request of two WORD at the
address 0xFFFF. This operation is normally prohibited as we are outside the valid range of
addresses for Modbus, but this limits the conflicts with other existing applications.

Reading request
0x01 0x03 0xFF 0xFF 0x00 0x00 0xC4 0x2F

Answer
Id XCMD0 Add XCMD0
0x01 0x03 0x00 0x00 0xF2 0x04 0x85 0x98 0xA3

Remark: The values are coded in « little endian ».


Id XCMD0 = 0xF2 ( 242 ).
Add XCMD0 = 0x485 ( 1157 ).

5.2 Priority of the “addresses table”


It’s possible to know the status of the Modbus memory mapping by reading the parameter
XCMDF.
XCMDF = 1 Mapping OK
XCMDF = 0 Overlap in addresses

In case of Overlap XCMDF = 0 the priority for the address is given to the “addresses
table”.

22/38
5.3 Reset of the “addresses table”
In case of a major problem in the Modbus addresses coherence it’s possible to reset the
addresses to default values.

The user must program the value 0xDD100867 to the address 0xFFFF.

23/38
5.4 CORUS : Main parameters format and description
Name of the parameter : XPCFV
ID n° of the parameter :0
Description : Main firmware version
Type :R
Format / Size : String / 8 bytes
Remark/ Example : “Ver0.71”

Name of the parameter : MVW1


ID n° of the parameter :1
Description : Input pulse weight
Type : R/W
Format / Size : Float / 4 bytes
Structure : possible values : 0,001 / 0,01 / 0,1 / 1 / 10 / 100 / 1000

Name of the parameter : MCF


ID n° of the parameter : 15
Description : Compressibility formula
Type : R/W
Format / Size : BYTE / 1 byte
Structure :
0 : AGANX19 Standard
1 : S-GERG88
2 : PT
3 : AGANX19 modified
4 : Not used
5:T
6 : 16 Coefficients
7 : AGA8

Name of the parameter : MCRP


ID n° of the parameter : 19
Description : Base pressure
Type : R/W
Format / Size : Float / 4 bytes
Structure : To be programmed in the selected pressure unit (XUP)

Name of the parameter : MCRT


ID n° of the parameter : 24
Description : Base temperature
Type : R/W
Format / Size : Float / 4 bytes
Structure : To be programmed in Kelvin

Name of the parameter : MPTL


ID n° of the parameter : 30
Description : Pressure low threshold (Pmin)
Type : R/W
Format / Size : Float / 4 bytes
Structure : To be programmed in the selected pressure unit (XUP)

Name of the parameter : MPTH


ID n° of the parameter : 31
Description : Pressure high threshold (Pmax)
Type : R/W
Format / Size : Float / 4 bytes
Structure : To be programmed in the selected pressure unit (XUP)

24/38
Name of the parameter : MTTL
ID n° of the parameter : 40
Description : Temperature low threshold (Tmin)
Type : R/W
Format / Size : Float / 4 bytes
Remark : To be programmed in the selected temperature unit (XUT)

Name of the parameter : MTTH


ID n° of the parameter : 41
Description : Temperature high threshold (Tmax)
Type : R/W
Format / Size : Float / 4 bytes
Remark : To be programmed in the selected temperature unit (XUT)

Name of the parameter : XOM1


ID n° of the parameter : 57
Description : On/Off Output n°1 : configuration & operation mode
Type : R/W
Format / Size : BYTE / 1 byte
Structure :
0 : OFF
1 : Unconverted Pulse
2: Converted Pulse
3 : Alarm limited
4: Alarm standard
5: 4/20 mA (available only if Corus is external powered supply => XSM=1)

Name of the parameter : XOVW1


ID n° of the parameter : 59
Description : On/Off Output n°1 : Pulse weight when output n°1 is configured in ‘Pulse’ mode
Type : R/W
Format / Size : Float / 4 bytes
Structure : possible values : 0,001 / 0,01 / 0,1 / 1 / 10 / 100 / 1000
XOVW1 has to be higher or equal than MVW1

Name of the parameter : XOM2


ID n° of the parameter : 67
Description : On/Off Output n°1 : configuration & operation mode
Type : R/W
Format / Size : BYTE / 1 byte
Structure :
0 : OFF
1 : Unconverted Pulse
2: Converted Pulse
3 : Alarm limited
4: Alarm standard
5: 4/20 mA (available only if Corus is external powered supply => XSM=1)

Name of the parameter : XOVW2


ID n° of the parameter : 69
Description : On/Off Output n°2 : Pulse weight when output n°2 is configured in ‘Pulse’ mode
Type : R/W
Format / Size : Float / 4 bytes
Structure : possible values : 0,001 / 0,01 / 0,1 / 1 / 10 / 100 / 1000
XOVW2 has to be higher or equal than MVW1

Name of the parameter : XPCD


ID n° of the parameter : 78
Description : Date of Corus manufacturing
Type :R
Format / Size : DATE/ 4 bytes
Remark : Programmed by the factory test bench

25/38
Name of the parameter : XPCFD
ID n° of the parameter : 89
Description : Date of the main firmware version
Type :R
Format / Size : DATE/ 4 bytes
Structure : Included inside Corus firmware

Name of the parameter : XIM


ID n° of the parameter : 96
Description : Inputs (On/Off 1, On/Off 2 , Tamper) : configuration & operation mode
Type : R/W
Format / Size : BYTE / 1 byte
Structure : Mask for configuring binary inputs. The bits of this mask are assigned as follows:

00000001 : On/Off 1 used if bit set


00000010 : Normal On/Off state = High
00000100 : On/Off 2 used if bit set
00001000 : Normal On/Off 2 state = High
00010000 : Tampering input used if bit set
00100000 : Normal tampering state = High

Name of the parameter : XDZ


ID n° of the parameter : 97
Description : Compressibility factor display mode
Type : R/W
Format / Size : Boolean / 1 byte
Structure :
0 : Display of Z/Zb
1 : Display of Zb/Z

Name of the parameter : XUP


ID n° of the parameter : 98
Description : Pressure unit
Type : R/W
Format / Size : BYTE / 1 byte
Structure :
0 : bar
1 : psi
2 : kPa

Name of the parameter : XUT


ID n° of the parameter : 99
Description : Temperature unit
Type : R/W
Format / Size : BYTE / 1 byte
Structure :
0 : °C
1 : °F

Name of the parameter : XUV


ID n° of the parameter : 100
Description : Volume unit
Type : R/W
Format / Size : BYTE / 1 byte
Structure :
0 : m3
1 : ft3

Name of the parameter : XUN


ID n° of the parameter : 101
Description : Converted volume unit ; Allows to display a letter (usually ‘N’ or ‘S’ front-of the volume unit)
Type : R/W
Format / Size : BYTE / 1 byte
Structure : ASCII character
‘N’ : 0x4E
‘S’ : 0x53
‘‘ : 0x20

26/38
Name of the parameter : XUE
ID n° of the parameter : 102
Description : Unit of the Caloriifc value ( used only in GERG formula)
Type : R/W
Format / Size : BYTE / 1 byte
Structure :
0 : kWh
1 : MJ

Name of the parameter : XSM


ID n° of the parameter : 105
Description : Power supply mode
Type : R/W
Format / Size : Boolean / 1 byte
Structure :
0 : Battery
1 : External power supply

Name of the parameter : XDC


ID n° of the parameter : 106
Description : Current Date and Time
Type : R/W
Format / Size : DATE / 4 bytes
Structure : see DATE format in Annex 5
Corus checks the conformity of its date (leap year,…)

Name of the parameter : XSBR


ID n° of the parameter : 107
Description : Battery autoNamey counter
Type : R/W
Format / Size : WORD / 2 bytes
Structure : Expressed in days

Name of the parameter : XTSM


ID n° of the parameter : 107
Description : Winter/Summer time management mode
Type : R/W
Format / Size : WORD / 2 bytes
Structure :
0 : Disabled
1 : Auto
2 : Manual

Name of the parameter : XIS


ID n° of the parameter : 114
Description : Digital Inputs & switches status
Type :R
Format / Size : BYTE / 1 byte
Structure : Mask
Bit 0 : status of Prog. Switch ( 0 : On / 1 : Off)
Bit 1 : rfu
Bit 2 : status of On/Off Input n°1 ( 0 : Close / 1 : Open)
Bit 3 : status of On/Off Input n°2 ( 0 : Close / 1 : Open)
Bit 4 : rfu
Bit 5 : status of Tamper Input n°1 ( 0 : Close / 1 : Open)
Bit 6 : status of Client. Switch ( 0: On / 1 : Off)
Bit 7 : rfu

Name of the parameter : ARS


ID n° of the parameter : 115
Description : Standard alarms reset
Type :W
Format / Size : Boolean / 1 byte
Structure : 1 for reset

27/38
Name of the parameter : ARM
ID n° of the parameter : 116
Description : Metrological alarms reset
Type :W
Format / Size : Boolean / 1 byte
Structure : 1 for reset

Name of the parameter : APL to AVC


ID n° of the parameter : 117 to 135
Description : Alarm
Type :R
Format / Size : ALARM / 22 bytes
Structure : ALARM type described in Annex 5

Name of the parameter : AXA


ID n° of the parameter : 136
Description : Active alarms status word
Type :R
Format / Size : AL_MASK / 4 bytes
Structure : AL_MASK type described in Annex 5

Name of the parameter : AXM


ID n° of the parameter : 137
Description : Memorized alarms status word
Type :R
Format / Size : AL_MASK / 4 bytes
Structure : AL_MASK type described in Annex 5

Name of the parameter : DIL


ID n° of the parameter : 138
Description : Database : Interval log length
Type : R/W
Format / Size : BYTE / 1 byte
Structure : Expressed in minutes ; Possible values are : 1,2,3,4,5,10,15,20,30,60

Name of the parameter : DIM


ID n° of the parameter : 139
Description : Database : Interval log configuration
Type : R/W
Format / Size : DB_MASK / 2 bytes
Structure : DB_MASK type described in Annex 5

Name of the parameter : DGH


ID n° of the parameter : 140
Description : Gas Hour
Type : R/W
Format / Size : BYTE / 1 byte
Structure : From 0 to 23

Name of the parameter : DGD


ID n° of the parameter : 141
Description : Gas Day
Type : R/W
Format / Size : BYTE / 1 byte
Structure : From 0 to 31 ; If Prog.value > last day of the current month, the gas day is forced by Corus equal to
the last day of the month

Name of the parameter : DM


ID n° of the parameter : 142
Description : Database activation
Type : R/W
Format / Size : Boolean / 1 byte
Structure :
0 : Disabled
1: Enabled

28/38
Name of the parameter : DRC
ID n° of the parameter : 144
Description : Database : Calendars logs reset
Type :W
Format / Size : Boolean / 1 byte
Structure : 1 for reset

Name of the parameter : DRI


ID n° of the parameter : 145
Description : Database : Interval log reset
Type :W
Format / Size : Boolean / 1 byte
Structure : 1 for reset

Name of the parameter : MVRI


ID n° of the parameter : 148
Description : Unconverted Index
Type : R/W
Format / Size : INDEX / 8 bytes
Structure : INDEX format described in Annex 5

Name of the parameter : MVBI


ID n° of the parameter : 149
Description : Converted Index
Type : R/W
Format / Size : INDEX / 8 bytes
Structure : INDEX format described in Annex 5

Name of the parameter : MVRC


ID n° of the parameter : 150
Description : Unconverted counter under alarm
Type : R/W
Format / Size : INDEX / 8 bytes
Structure : INDEX format described in Annex 5

Name of the parameter : MVBC


ID n° of the parameter : 151
Description : Converted counter (totalisation with backup values when P or T alarm)
Type : R/W
Format / Size : INDEX / 8 bytes
Structure : INDEX format described in Annex 5

Name of the parameter : MFRG


ID n° of the parameter : 152
Description : Unconverted instantaneous flow-rate
Type :R
Format / Size : Float / 4 bytes
Structure : -

Name of the parameter : MFBG


ID n° of the parameter : 153
Description : Converted instantaneous flow-rate
Type :R
Format / Size : Float / 4 bytes
Structure : -

Name of the parameter : MTG


ID n° of the parameter : 158
Description : Gas Temperature
Type :R
Format / Size : Float / 4 bytes
Structure : Expressed in the selected unit (XUT)

29/38
Name of the parameter : MPG
ID n° of the parameter : 159
Description : Gas Pressure
Type :R
Format / Size : Float / 4 bytes
Structure : Expressed in the selected unit (XUP)

Name of the parameter : MCM


ID n° of the parameter : 160
Description : Conversion factor
Type :R
Format / Size : Float / 4 bytes
Structure : -

Name of the parameter : MZR


ID n° of the parameter : 162
Description : Compressibility factor (Zb/Z or Z/Zb according XDZ)
Type :R
Format / Size : Float / 4 bytes
Structure :-
Note : MZR is the compressibility factor available as Read only parameter ; When, T or PT conversion is used,
compressibility has to be introduced as constant through MZF parameter (ID n°29)

30/38
ANNEX 1 : Parameters ID Number list

NAME DESCRIPTION R/W TYPE MIN VALUE MAX VALUE UNIT

ELEMENT

ELEMENT
NUMBER
ID_Nb

SIZE

OF
XPCFV Main firmware version 0 R STRING 8 1 - - -
MVW1 input pulse weight 1 R/W FLOAT 4 1 0,001 / 0,01/ 0,1 / 1 / 10 / XUV/pulse
100 / 1000
XICP pulse inputs coherence interval period 2 R/W WORD 2 1 0 1825 days
XICH pulse inputs coherence high threshold 3 R/W WORD 2 1 0 65535 pulses
XICM pulse inputs coherence control activation 4 R/W FLAG 1 1 - - -
flag
MVBI_CT base consumption high threshold 5 R/W ULONG 4 1 0 XUV/period
MVBI_CP base consumption measure period 6 R/W BYTE 1 1 0 4 -
MFRTF raw flow alarms activation flag 7 R/W FLAG 1 1 - - -
MFBTF base flow alarms activation flag 8 R/W FLAG 1 1 - - -
MFRTL raw flow low threshold 9 R/W FLOAT 4 1 0 999999 XUV / hour
MFRTH raw flow high threshold 10 R/W FLOAT 4 1 0 999999 XUV / hour
MFBTL base flow low threshold 11 R/W FLOAT 4 1 0 999999 XUV / hour
MFBTH base flow high threshold 12 R/W FLOAT 4 1 0 999999 XUV / hour
MPA converter'
s altitude 13 R/W FLOAT 4 1 0 8000 m
MCP conversion period 14 R/W BYTE 1 1 1 30 s
MCF conversion formula 15 R/W BYTE 1 1 0 8 -
Restricted access 16
Restricted access 17
MZDR gas relative density under normal 18 R/W FLOAT 4 1 0,55 0,9 -
conditions
MCRP base pressure 19 R/W FLOAT 4 1 0 90 bar XUP
MZP gas superior heating value under normal 20 R/W FLOAT 4 1 5,27 13,33 XUE/XUV
conditions kWh/m3 kWh/m3
MZAP AGA8 reference pressure 21 R/W FLOAT 4 1 0 90 bar XUP
MZAT AGA8 reference temperature 22 R/W FLOAT 4 1 233 344 K
MPF gas fixed relative pressure 23 R/W FLOAT 4 1 0 90 bar XUP
MCRT base temperature 24 R/W FLOAT 4 1 233 344 K
MZC gas Z array coefficients 25 R/W FLOAT 4 16 - - -
MZCO2 gas CO2 mole fraction 26 R/W FLOAT 4 1 0 30 %
MZH2 gas H2 mole fraction 27 R/W FLOAT 4 1 0 10 %
MZN2 gas N2 mole fraction 28 R/W FLOAT 4 1 0 50 %
MZF fixed gas compressibility ratio 29 R/W FLOAT 4 1 0 80 -
MPTL pressure low threshold 30 R/W FLOAT 4 1 0 90 bar XUP
MPTH pressure high threshold 31 R/W FLOAT 4 1 0 90 bar XUP
MPSC pressure sensor model coefficients (16) 32 R/W FLOAT 4 16 - - -
Restricted access 33
MPB pressure back-up value 34 R/W FLOAT 4 1 0 90 bar XUP
MPSS pressure sensor serial number 35 R/W STRING 10 1 - - -
Restricted access 36
Restricted access 37
MPST pressure sensor serial type 38 R/W BYTE 1 1 - - -
MTSS temperature sensor serial number 39 R/W STRING 10 1 - - -
MTTL temperature low threshold 40 R/W FLOAT 4 1 -45°C 75°C XUT

31/38
NAME DESCRIPTION R/W TYPE MIN VALUE MAX VALUE UNIT

ELEMENT

ELEMENT
NUMBER
ID_Nb

SIZE

OF
MTTH temperature high threshold 41 R/W FLOAT 4 1 -45°C 75°C XUT
MTB temperature backup values 42 R/W FLOAT 4 12 -45°C 75°C XUT
Restricted access 43
Restricted access 44
MCTF conversion factor alarms activation flag 45 R/W FLAG 1 1 - - -
MCTL conversion factor low threshold 46 R/W FLOAT 4 1 0.001 1000 -
MCTH conversion factor high threshold 47 R/W FLOAT 4 1 0.001 1000 -
MXBE backup values enable flag 48 R/W FLAG 1 1 - - -
MXBA backup values auto-update flag 49 R/W FLAG 1 1 - - -
Restricted access 50
Restricted access 51
Restricted access 52
Restricted access 53
Restricted access 54
Restricted access 55
Restricted access 56
XOM1 on/off output #1 operation mode 57 R/W BYTE 1 1 0 5 -
XOVC1 volume output #1 time closed 58 R/W BYTE 1 1 1 250 ms
XOVW1 volume output #1 pulse weight 59 R/W FLOAT 4 1 0,001 / 0,01/ 0,1 / 1 / 10 / XUV/pulse
100 / 1000
XOAM1 on/off output #1 alarm mask 60 R/W AL_MASK 4 1 0 0xFFFFFF -
XOAC1 alarm output #1 time closed 61 R/W BYTE 1 1 1 250 ms
XODD1 4-20mA output #1 tracked data 62 R/W BYTE 1 1 0 3
XODL1 4-20mA output #1 tracked data level 63 R/W FLOAT 4 1 -999 999 999 999 acc.XODD1
@4mA
XODH1 4-20mA output #1 tracked data level 64 R/W FLOAT 4 1 -999 999 999 999 acc.XODD1
@20mA
Restricted access 65
Restricted access 66
XOM2 on/off output #2 operation mode 67 R/W BYTE 1 1 0 5 -
XOVC2 volume output #2 time closed 68 R/W BYTE 1 1 1 250 Ms
XOVW2 volume output #2 pulse weight 69 R/W FLOAT 4 1 0,001 / 0,01/ 0,1 / 1 / 10 / XUV/pulse
100 / 1000
XOAM2 on/off output #2 alarm mask 70 R/W AL_MASK 4 1 0 0xFFFFFF -
XOAC2 alarm output #2 time closed 71 R/W BYTE 1 1 1 250 Ms
XODD2 4-20mA output #2 tracked data 72 R/W BYTE 1 1 0 3
XODL2 4-20mA output #2 tracked data level 73 R/W FLOAT 4 1 -999 999 999 999 acc.XODD2
@4mA
XODH2 4-20mA output #2 tracked data level 74 R/W FLOAT 4 1 -999 999 999 999 acc.XODD2
@20mA
Restricted access 75
Restricted access 76
Restricted access 77
XPCD Manufacturing date 78 R DATE 4 1 - - -
XPCI Converter commissioning date 79 R/W DATE 4 1 - - -
XPCS Converter serial number 80 R STRING 20 1 - - -
XPMS Associated meter serial number 81 R/W STRING 20 1 - - -
XPC1 Customer data#1 82 R/W STRING 32 1 - - -
Restricted access 83
XPC2 Customer data#2 84 R/W STRING 32 1 - - -

32/38
NAME DESCRIPTION R/W TYPE MIN VALUE MAX VALUE UNIT

ELEMENT

ELEMENT
NUMBER
ID_Nb

SIZE

OF
Restricted access 85
XPC3 Customer data#3 86 R/W STRING 32 1 - - -
Restricted access 87
XPDB Free Access Buffer 88 R/W STRING 250 1 - - -
XPCFD Date of the main firmware version 89 R DATE 4 1 - - -
XPCMV Metrology firmware version 90 R STRING 8 1 - - -
XPCMD Date of the metrology firmware version 91 R DATE 4 1 - - -
XPLF Manufacturer label 92 R STRING 25 1 - - -
XPLP Product label 93 R STRING 20 1 - - -
Restricted access 94
Restricted access 95
XIM Input mode 96 R/W BYTE 1 1 0 0x3F -
XDZ Compressibility ratio (display of Z/Zb or 97 R/W FLAG 1 1 - - -
Zb/Z)
XUP Pressure Unit 98 R/W BYTE 1 1 0 2 -
XUT Temperature Unit 99 R/W BYTE 1 1 0 1 -
XUV Volume Unit 100 R/W BYTE 1 1 0 1 -
XUN Standard or Normal unit for MVBI 101 R/W BYTE 1 1 {0x53 ; 0x4E ; 0x20}
XUE Energy unit (used only for Cv in GERG 102 R/W BYTE 1 1 0 1 -
formula)
XD0 Flag display remaining '0'at the left of 103 R/W FLAG 1 1 - - -
index
XDM Selection of display mode 104 R/W BYTE 1 1 - - -
XSM Flag configuration battery / External 105 R/W FLAG 1 1 - - -
XDC current date and time 106 R/W DATE 4 1 - - -
XSBR Battery autoNamey counter 107 R/W WORD 2 1 0 3650 days
Restricted access 108
XNSC Next summer date/time change 109 R DATE 4 1 - - -
XNWC Next winter date/time change 110 R DATE 4 1 - - -
XTSM winter/summer time management mode 111 R/W BYTE 1 1 0 2 -
XTSS summer time switching date/time 112 R/W DATE 4 1 - - -
XTSW winter time switching date/time 113 R/W DATE 4 1 - - -
XIS inputs status 114 R BYTE 1 1 - - -
ARS Standard alarms reset 115 W FLAG 1 1 - - -
ARM Metrological alarms reset 116 W FLAG 1 1 - - -
APL pressure low threshold alarm 117 R ALARM 22 1 - - -
APH pressure high threshold alarm 118 R ALARM 22 1 - - -
APF pressure failure alarm 119 R ALARM 22 1 - - -
ATL Temperature low threshold alarm 120 R ALARM 22 1 - - -
ATH Temperature high threshold alarm 121 R ALARM 22 1 - - -
ATF Temperature failure alarm 122 R ALARM 22 1 - - -
AIC pulse inputs coherence alarm 123 R ALARM 22 1 - - -
AIT tamper input coherence alarm 124 R ALARM 22 1 - - -
AIO1 on/off input #1 alarm 125 R ALARM 22 1 - - -
AIO2 on/off input #2 alarm 126 R ALARM 22 1 - - -
AFRL raw flow low threshold alarm 127 R ALARM 22 1 - - -
AFRH raw flow high threshold alarm 128 R ALARM 22 1 - - -
AFBL base flow low threshold alarm 129 R ALARM 22 1 - - -
AFBH base flow high threshold alarm 130 R ALARM 22 1 - - -

33/38
NAME DESCRIPTION R/W TYPE MIN VALUE MAX VALUE UNIT

ELEMENT

ELEMENT
NUMBER
ID_Nb

SIZE

OF
ACL conversion factor low threshold alarm 131 R ALARM 22 1 - - -
ACH conversion factor high threshold alarm 132 R ALARM 22 1 - - -
ASB battery life alarm 133 R ALARM 22 1 - - -
ASE external power supply alarm 134 R ALARM 22 1 - - -
AVC base consumption threshold alarm 135 R ALARM 22 1 - - -
AXA active alarms status word 136 R AL_MASK 4 1 - - -
AXM Memorised alarms status word 137 R AL_MASK 4 1 - - -
DIL Database interval value 138 R/W BYTE 1 1 {1,2,3,4,5,10,15,20,30,60} minutes
DIM Configuration of Interval log optional part 139 R/W DB_MASK 2 1 0 0xFFFF
DGH gas hour 140 R/W BYTE 1 1 0 23 h
DGD gas day 141 R/W BYTE 1 1 1 31
DM Database activation 142 R/W FLAG 1 1 - - -
Restricted access 143 - -
DRC Calendar log reset 144 W FLAG 1 1 - - -
DRI Interval log reset 145 W FLAG 1 1 - - -
XICC pulse inputs coherence counter 146 R WORD 2 1 - - pulses
XICT pulse inputs coherence counter running 147 R WORD 2 1 - - days
time
MVRI raw index 148 R/W INDEX 8 1 0 99999999.999 XUV
MVBI base index 149 R/W INDEX 8 1 0 99999999.999 XUV
MVRC under alarm raw counter 150 R/W INDEX 8 1 0 99999999.999 XUV
MVBC total base counter 151 R/W INDEX 8 1 0 99999999.999 XUV
MFRG gas instantaneous raw flow 152 R FLOAT 4 1 0 999999 XUV/h
MFBG gas instantaneous base flow 153 R FLOAT 4 1 0 999999 XUV/h
Restricted access 154
Restricted access 155
Restricted access 156
Restricted access 157
MTG gas temperature 158 R FLOAT 4 1 - - XUT
MPG gas pressure 159 R FLOAT 4 1 - - XUP
MCM gas conversion factor 160 R FLOAT 4 1 - - -
Restricted access 161
MZR gas compressibility ratio 162 R FLOAT 4 1 - - -
MVBI_C base consumption 163 R ULONG 4 1 - - XUV

34/38
ANNEX 2 : CORUS EVENT LOG : Event number & value

Event CORUS Event Type Value Format


Number of the
value
0 Reset CORUS -
1 Reset XEMICS (I/O µC) -
2 Prog. Switch ON -
3 Prog. Switch OFF -
4 Client Switch ON -
5 Client Switch OFF -
6 Standard Alarms Reset -
7 Metrol. Alarms reset -
8 Database : Interval log reset -
9 Database : Calendar logs reset -
10 RFU -
11 Under alarm counters reset -
12 P_min alarm P value when alarm appears Float
13 P_max alarm P value when alarm appears Float
14 P sensor alarm -
15 T_min alarm T value when alarm appears Float
16 T_max alarm T value when alarm appears Float
17 T sensor alarm -
18 LF Coherence alarm -
19 Tamper alarm -
20 On/Off 1 alarm -
21 On/Off 2 alarm -
22 QU_min alarm Qu value when alarm appears Float
23 QU_max alarm Qu value when alarm appears Float
24 QB_min alarm Qb value when alarm appears Float
25 QB_max alarm Qb value when alarm appears Float
26 C_min alarm C value when alarm appears Float
27 C_max alarm C value when alarm appears Float
28 Battery alarm -
29 External power supply alarm -
30 Converted consumption alarm -
31 P_min alarm disappearance P value when alarm disappears Float
32 P_max alarm disappearance P value when alarm disappears Float
33 P sensor alarm disappearance -
34 T_min alarm disappearance T value when alarm disappears Float
35 T_max alarm disappearance T value when alarm disappears Float
36 T sensor alarm disappearance -
37 LF Coherence alarm disappearance -
38 Tamper alarm disappearance -
39 On/Off 1 alarm disappearance -
40 On/Off 2 alarm disappearance -
41 QU_min alarm disappearance Qu value when alarm disappears Float
42 QU_max alarm disappearance Qu value when alarm disappears Float
43 QB_min alarm disappearance Qb value when alarm disappears Float
44 QB_max alarm disappearance Qb value when alarm disappears Float
45 C_min alarm disappearance C value when alarm disappears Float
46 C_max alarm disappearance C value when alarm disappears Float
47 Battery alarm disappearance -

35/38
48 External power supply alarm disappearance -
49 Converted consumption alarm disappearance -
50 New firmware Old firmware version number Float
51 Database activation -
52 Database deactivation - Float

36/38
ANNEX 3 : PARAMETER LOG : Parameters number

Num Param Identification Param. ID n°


Corus name
0 Input pulse weight, MVW1 1
1 Altitude, MPA 13
2 Conversion formula, MCF 15
3 RFU - -
4 RFU - -
5 Gaz rel. density, MZDR 18
6 Base pressure MCRP 19
7 Calorific value MZP 20
8 Prd AGA8, MZAP 21
9 Trd AGA8, MZAT 22
10 Relative pressure MPF 23
11 Base temperature MCRT 24
12 Z-array coef0, MZC[0] 25
13 Z-array coef1, MZC[1] 25
14 Z-array coef2, MZC[2] 25
15 Z-array coef3, MZC[3] 25
16 Z-array coef4, MZC[4] 25
17 Z-array coef5, MZC[5] 25
18 Z-array coef6, MZC[6] 25
19 Z-array coef7, MZC[7] 25
20 Z-array coef8, MZC[8] 25
21 Z-array coef9, MZC[9] 25
22 Z-array coef10, MZC[10] 25
23 Z-array coef11, MZC[11] 25
24 Z-array coef12, MZC[12] 25
25 Z-array coef13, MZC[13] 25
26 Z-array coef14, MZC[14] 25
27 Z-array coef15, MZC[15] 25
28 CO2, MZCO2 26
29 H2, MZH2 27
30 N2, MZN2 28
31 Gas Compressibility MZF 29
32 P min., MPTL 30
33 P max., MPTH 31
34 P sensor coef0, MPSC[0] 32
35 P sensor coef1, MPSC[1] 32
36 P sensor coef2, MPSC[2] 32
37 P sensor coef3, MPSC[3] 32
38 P sensor coef4, MPSC[4] 32
39 P sensor coef5, MPSC[5] 32
40 P sensor coef6, MPSC[6] 32
41 P sensor coef7, MPSC[7] 32
42 P sensor coef8, MPSC[8] 32
43 P sensor coef9, MPSC[9] 32
44 P sensor coef10, MPSC[10] 32
45 P sensor coef11, MPSC[11] 32
46 P sensor coef12, MPSC[12] 32
47 P sensor coef13, MPSC[13] 32

37/38
48 P sensor coef14, MPSC[14] 32
49 P sensor coef15, MPSC[15] 32
50 P sensor serial num., MPSS 35
51 T probe serial num., MTSS 39
52 T min., MTTL 40
53 T max., MTTH 41
54 Date and Time, XDC 106
55 Interval log length, DIL 138
56 Gaz Hour, DGH 140
57 Gaz Day, DGD 141
58 Unconverted Index, MVRI 148
59 Converted Index, MVBI 149

38/38

You might also like