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

RIF300 - Modbus Protocol User Manual v4.0

The document describes the Modbus communication protocol for a vortex flowmeter. It provides an overview of the protocol including serial parameters and data formats. It also describes the input and holding registers including addresses, data types and usage.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
66 views

RIF300 - Modbus Protocol User Manual v4.0

The document describes the Modbus communication protocol for a vortex flowmeter. It provides an overview of the protocol including serial parameters and data formats. It also describes the input and holding registers including addresses, data types and usage.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Modbus Protocol

Vortex / Swirl Flowmeter


Communication Protocol (ModBus)
1 Protocol Overview
Vortex / Swirl flowmeter communication protocol is the standard MODBUS-RTU mode.
 Communication interface:RS-485.
 Support standard Modbus-RTU :Support functions codes 03, 04, 06, 16.
 Register length limit:Supports max 8 registers.

1.1 Serial Communication Parameters

Parameter Ranges Default Value


Address 1--247 1
Baud rate 9600, 4800, 2400, 1200, 600 9600
Data Length 8 8
Parity None None
Stop Bits 1 1

1.2 Communication Data Format

H880BR/TBR supports data format types:


1) Float:Floating point data
The float data is 4-byte floating-point number in standard IEEE-754 format.
For example, in the case of 100.0 (hexadecimal representation: 0x42, 0xC8, 0x00, 0x00), the order
of transmission is: 0x42, 0xC8, 0x00, 0x00.
2) Unsigned short:2-byte unsigned integer
For example, in the case of 4660 (hexadecimal representation: 0x12, 0x34), the order of
transmission is: 0x12, 0x34.
3) Unsigned char:Single-byte unsigned number

1.3 Communication Interface Functions Format

1.3.1 Function 03 (Read Holding Registers)

Example: Read the upper range value (assuming the current value is 100.0), the corresponding register
starting address: 524 (0x020C in hexadecimal).
Request frame:
Address Function Code Register Address Register Numbers CRC Check
0x01 0x03 0x02,0x0C 0x00,0x02 0x05,0xB0
The correct response frame:
Address Function Code Data Length Data CRC Check
0x01 0x03 0x04 0x42,0xC8,0x00,0x00 0x6F,0xB5
Page 1
Modbus Protocol

1.3.2 Function 04(Read the Input Register)

Example: To read accumulation (assuming its current value is 100.0), the corresponding register starting
address: 1034 (0x040A in hexadecimal).
Request frame:
Address Function Code Register Address Register Numbers CRC Check
0x01 0x04 0x04,0x0A 0x00,0x02 0x50,0xF9
The correct response frame:
Address Function Code Data Length Data CRC Check
0x01 0x04 0x04 0x42,0xC8,0x00,0x00 0x6E,0x02

1.3.3 Function 16(Write Holding Registers)

Example: Set the upper range value to 100.0, the corresponding register starting address is: 524 (0x020C
in hexadecimal)
Request frame:
Address Function Code Register Address Register Data Data CRC Check
Numbers Length
0x01 0x10 0x02,0x0C 0x00,0x02 0x04 0x42,0xC8,x00,0x00 0x7F,0x1C
The correct response frame:
Address Function Code Register Address Register Numbers CRC Check
0x01 0x10 0x02,0x0C 0x00,0x02 0x80,0x73

2 Registers Description

2.1 Input Registers Table (Variables)

Register Data
Access Data
Address Parameter Name Length Description
Type Type
(Hexadecimal) (word)
0x0402 Percentage R 2 float
Register 0x021C holds the unit of
0x0404 Instantaneous Flow R 2 float
instantaneous flow
0x0408 Sensor Value R 2 float Sensor output frequency value
Register 0x021D holds the unit of total
0x040A Total Flow R 2 float
flow
Overflows Number
0x040C R 2 float
of Total
0x0414 Signal Gain R 2 float
unsigned
0x041C Signal Channel R 1
short
0x0421 Current R 2 float
0x0423 Pressure R 2 float
0x0425 Temperature R 2 float

Page 2
Modbus Protocol

0x0427 Density R 2 float


Pressure Sensor
0x0429 R 2 float
Value
Temperature Sensor
0x042B R 2 float
Value

2.2 Holding Register List(Configuration Data)

Register Data
Access Data
Address Parameter Name Length Description
Type Type
(Hexadecimal) (word)
unsigned
0x0200 Modbus Addr. R/W 1
short Value range:1 ~ 247
{ 0, "Liquid_QV Liquid Volume "},
{1, "Liquid_QM Liquid Mass"},
{2, "Gas_QV Gas Volume"},
{3, "Gas_QM Gas Mass"},
{4, "Steam_QV Steam Volume"},
unsigned
0x0201 Flow Mode R/W 1 {5,"Steam_PT Steam Pressure and
short
Temperature Compensation "},
{6,"Steam_SAT_T Saturated Vapor
(Temperature Compensation)"},
{7,"Steam_SAT_P Saturated Vapor
(Pressure Compensation)"}
{ 0x0000, "Liquid N15" },
{ 0x0001, "Liquid DN20" },
{ 0x0002, "Liquid DN25" },
{ 0x0003, "Liquid DN32" },
{ 0x0004, "Liquid DN40" },
{ 0x0005, "Liquid DN50" },
{ 0x0006, "Liquid DN65" },
{ 0x0007, "Liquid DN80" },
{ 0x0008, "Liquid DN100"},
Meter Size and Fluid unsigned { 0x0009, "Liquid DN125"},
0x0202 R/W 1
Type. short { 0x000A, "Liquid DN150"},
{ 0x000B, "Liquid DN200"},
{ 0x000C, "Liquid DN250"},
{ 0x000D, "Liquid DN300"},
{ 0x000E, "Liquid DN350"},
{ 0x000F, "Liquid DN400"},
{ 0x0010, "Liquid DN450"},
{ 0x0011, "Liquid DN500"},
{ 0x0012, "Liquid DN600"},
{ 0x0100, "Gas DN15" },

Page 3
Modbus Protocol

{ 0x0101, "Gas DN20" },


{ 0x0102, "Gas DN25" },
{ 0x0103, "Gas DN32" },
{ 0x0104, "Gas DN40" },
{ 0x0105, "Gas DN50" },
{ 0x0106, "Gas DN65" },
{ 0x0107, "Gas DN80" },
{ 0x0108, "Gas DN100"},
{ 0x0109, "Gas DN125"},
{ 0x010A, "Gas DN150"},
{ 0x010B, "Gas DN200"},
{ 0x010C, "Gas DN250"},
{ 0x010D, "Gas DN300"},
{ 0x010E, "Gas DN350"},
{ 0x010F, "Gas DN400"},
{ 0x0110, "Gas DN450"},
{ 0x0111, "Gas DN500"},
{ 0x0112, "Gas DN600"},
Maximum Signal 0~1500
0x0204 R/W 2 float
Magnification
0x0206 Minimum Frequency R 2 float
Maximum
0x0208 R 2 float
Frequency
0x020A K-Factor R/W 2 float >0
0x020C Upper Range Value R/W 2 float >0
0x020E Damping R/W 2 float 0 ~ 32.0
0x0210 High Alarm Limit R/W 2 float
0x0212 Low Alarm Limit R/W 2 float
0x0214 Gas Density(kg/ m3) R/W 2 float
Gas Pressure
0x0216 R/W 2 float
(Gauge)
Gas Temperature
0x0218 R/W 2 float
(℃)
Liquid Density (g/c
0x021A R/W 2 float
m3)
{ 188 , "Nm3/h" },
{ 189 , "Nm3/min" },
{ 190 , "Nm3/s" },
{ 29 , "m3/d" },
unsigned
0x021C Flow Unit R/W 1 { 19 , "m3/h" },
short
{ 131 , "m3/min"},
{ 28 ,"m3/s" },
{ 138, "l/h" },
{ 17, "l/min" },
Page 4
Modbus Protocol

{ 24, "l/s" },
{ 185, "Scf/h" },
{ 123, "Scf/m" },
{ 186, "Scf/s" },
{ 130, "cf/h" },
{ 15 , "cf/m" },
{ 26 , "cf/s" },
{ 136, "USG/h" },
{ 16 , "USG/m" },
{ 22 , "USG/s" },
{ 30 , "UKG/h" },
{ 18 , "UKG/m" },
{ 137, "UKG/s" },
{ 135, "bbl/d" },
{ 134, "bbl/h" },
{ 253, "special_Qv" }
{ 79, "t/d" },
{ 78, "t/h" },
{ 77, "t/min" },
{ 76, "kg/d" },
{ 75, "kg/h" },
{ 74, "kg/min"},
{ 73, "kg/s" },
{ 72, "g/h" },
{ 71, "g/min" },
{ 70, "g/s" },
{ 83, "lb/d" },
{ 82, "lb/h" },
{ 254, "special_Qm" }
{ 43, "m3" },
{ 41, "l" },
{ 172, "Nm3"},
{ 168, "Scf" },
{ 112, "cf" },
{ 40, "USGal" },
unsigned { 42, "UKgal" },
0x021D Total Flow Unit R 1
short { 46, "bbl"},
{ 61, "kg" },
{ 60, "g" },
{ 62, "ton"},
{ 63, "lb"},
{ 253, "special"},
{ 254, "special"},

Page 5
Modbus Protocol

unsigned { 0, "Three-line Display" },


0x0250 Display Mode R/W 1
short { 1, "Two-line Display" },
{ 0, "Current" },
{ 1, "Percentage" },
{ 4, "Frequency" },
The Third Line unsigned
0x021E R/W 1 { 6, "Density" },
Shows Setting short
{ 7, "Pressure" },
{ 8, "Temperature" },
{ 9, "Pressure and Temperature" },
{ 0, "0" },
unsigned { 1, "1" },
0x021F Flow Display Point R/W 1
short { 2, "2" },
{ 3, "3" },
unsigned { 0, " Write Enable " },
0x0220 Write Protection R/W 1
short { 1, "Write Disable" }
{ 0x00, "0" }:No User Trim
{ 0x02, "2" },
K-Factor User Trim unsigned
0x0221 R/W 1 { 0x03, "3" },
Points short
{ 0x04, "4" },
{ 0x05, "5" }
K-Factor User Trim:
0x0222 R/W 2 float
Frequency Value 1
K-Factor User Trim:
0x0224 R/W 2 float
Frequency Value 2
K-Factor User Trim:
0x0226 R/W 2 float
Frequency Value 3
K-Factor User Trim:
0x0228 R/W 2 float
Frequency Value 4
K-Factor User Trim:
0x022A R/W 2 float
Frequency Value 5
K-Factor User Trim:
0x022C R/W 2 float
Correction factor 1
K-Factor User Trim:
0x022E R/W 2 float
Correction factor 2
K-Factor User Trim:
0x0230 R/W 2 float
Correction factor 3
K-Factor User Trim:
0x0232 R/W 2 float
Correction factor 4
K-Factor User Trim:
0x0234 R/W 2 float
Correction factor 5
0x0236 PV Cutoff (%) R/W 2 float 0 ~ 20.0

0x023B Function Operation R/W 1 unsigned { 0x0100, "Total Flow Reset" },

Page 6
Modbus Protocol

Code short

{ 43, "m3" },
{ 172, "Nm3"}
{ 61, "kg" },
{ 62, "ton"},
unsigned { 168, "Scf" },
0x0247 Output Pulse Unit R/W 1
short { 112, "cf" },
{ 40, "USGal" },
{ 42, "UKgal" },
{ 46, "bbl"},
{ 63, "lb"},
The number of >0
0x023F output pulses per R/W 2 float
pulse unit.

{ 0x0000, "F1: Anti-vibration Mode " },


unsigned { 0x0001, "F2: Normal Mode " },
0x0244 Work Mode R/W 1
short { 0x0002, "F3: Turbine Mode },
{ 0x0003, "F4: Test Mode " },

{ 0x0000, " Pressure Manual Input,


Temperature Manual Input "},
Temperature and { 0x0001, " Pressure Manual Input,
Pressure Acquisition unsigned Temperature Auto Acquisition "},
0x0245 R/W 1
Mode Setting. short { 0x0010, " Pressure Auto Acquisition,
Temperature Manual Input "},
{ 0x0011, " Pressure Auto Acquisition,
Temperature Auto Acquisition "},
{ 0, "9600bps,8bits,1stop, No parity " },
{ 1, "4800bps,8bits,1stop, No parity " },
unsigned
0x0246 Baud Rate R/W 1 { 2, "2400bps,8bits,1stop, No parity " },
short
{ 3, "1200bps,8bits,1stop, No parity " },
{ 4, "600bps,8bits,1stop, No parity " }
According to the meter size and measuring
media, set the corresponding low limit of
the flow.
0x024A Low Flow Limit R/W 2 float The unit of ‘Low Flow Limit’ is fixed as
m3/h.
The actual measurement of the lower limit
of about 50% of ‘Low Flow Limit’.
The ‘High Flow Limit’ defaults to 10
0x024C High Flow Limit R/W 2 float times the ‘Low Flow Limit’, the actual
measurement of the upper limit of 2.5
Page 7
Modbus Protocol

times the set value.


The unit of ‘High Flow Limit’ is fixed as
m3/h.
When the actual required range ratio
exceeds 20: 1, you can manually modify
the ‘High Flow Limit’.
0~20
The reference frequency value of the
five-point correction is multiplied by the
0x024E Frequency Factor R/W 2 float Frequency Factor, and then the new
reference frequency value of the
correction point is obtained.
Normally, this value should be 1.

Pressure Sensor Low Unit:mV


0x2400 Trim: Internal ADC R/W 2 float
Measurements
Pressure Sensor Unit: :mV
0x2402 High Trim: Internal R/W 2 float
ADC Measurements
Temperature Sensor Unit: :Ohm
0x2404 Low Trim: Internal R/W 2 float
ADC Measurements
Temperature Sensor Unit: :Ohm
0x2406 High Trim: Internal R/W 2 float
ADC Measurements
Pressure Sensor Low Unit: :Kpa
0x2408 Trim: Input R/W 2 float
Calibration Value
Pressure Sensor Unit: :Kpa
0x240A High Trim: Input R/W 2 float
Calibration Value
Temperature Sensor Unit: :Ohm
Low Trim: Input
0x240C R/W 2 float
Calibration
Resistance Value
Temperature Sensor Unit: :Ohm
High Trim: Input
0x240E R/W 2 float
Calibration
Resistance Value
0x2410 Pressure Cutoff R/W 2 float Unit: :Kpa
0x2412 Pressure Bias Value R/W 2 float Unit: :Kpa

Page 8

You might also like