![background image](http://html.mh-extra.com/html/flomec/f116-p/f116-p_owners-manual_2306730044.webp)
Page 44
FL_F116P_v1702_01_EN
COMMUNICATION
General
The product is fitted with the Modbus communication protocol and can be equipped with various
physical interfaces like RS485 and RS232 (please see device datasheet for available options).
The tables below show the various variables that can be accessed through the communication.
Currently, the function codes supported are:
function code 3 “Read Holding Registers” (4x references);
function code 16 “Preset Multiple Registers” (4x references).
The table below shows the Modbus PDU addresses in a decimal format, followed by its hexadecimal
representation (0x0000). When the PLC address range is required (4x references are typically used
by PLCs), please add a value of 40001 to the Modbus PDU address. E.g. reading the serial number
of the product with PLC-based addressing means: 165 + 40001 = register 40166.
The variables that consist of a multiple register must always read/write in 1 single action!
Refer to the illustration:
For this example it is assumed that the variable accumulated total has 3 registers (words) with
address 566, 567 and 568. When a transmission is done, register 566, which acts as the MSW,
arrives first with bit 15 which is the MSB of the lowest addressed word, but is also the MSB (bit 47)
of the complete variable that represents the Accumulated total.
Although most Modbus Masters will support variables that span 2 registers, variables spanning more
registers sometimes require you to manually calculate the resulting value.
For additional information
regarding using your Modbus device, please read our ’General Modbus
Communication Protocol’ and ‘Modbus troubleshooting guide’ that are available through our website
or your distributor.
Runtime variables
PDU
ADDRESS
REGISTER VARIABLE
RUN TIME
NO.
REGISTERS
R/W
TYPE
VALUE / REMARKS
[d] 1596
[h] 0x63C
41597
(differential or sum)
flow rate
2
r
uint32 0…9999999
Representation: unit, time, decimals depending
on variables 48, 49, 50
[d] 1590
[h] 0x636
41591
(differential or sum)
total
3
r*
uint48 0…9999999999
Representation: unit, decimals
depending on variables 32, 33
[d] 1584
[h] 0x630
41585
(differential or sum)
accumulated total
3
r*
uint48 0…9999999999
Representation: unit, decimals
depending on variables 32, 33
[d] 560
[h] 0x230
40561
accumulated total A
3
r*
uint48 0…99999999999999
Representation: unit, decimals
depending on variables 32, 33
[d] 1072
[h] 0x430
41073
accumulated total B
3
r*
uint48 0…99999999999999
Representation: unit, decimals
depending on variables 32, 33
[d] 572
[h] 0x23C
40573
Flow rate-A
2
r
uint32 0…9999999; Representation: unit, time, decimals
depending on variables 48, 49, 50
[d] 588
[h] 0x24C
40589
Flow rate-B
2
r
uint32 0…9999999; Representation: unit, time, decimals
depending on variables 48, 49, 50
[d] 516
[h] 0x204
40517
error status (bitfield)
1
R uint16
[d] 0 = no error
[d] 1 = display error
[d] 2 = data-storage error
[d] 3 = error 1 + error 2 simultaneously
[d] 4 =: initialization error