FW_F112A_v1702_02_EN
Page 41
APPENDIX C: COMMUNICATION VARIABLES
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 rea
d our ’General Modbus
Communication Protocol’ and ‘Modbus troubleshooting guide’ that are available through our website
or your distributor.
Runtime variables
PDU ADDRESS REGISTER VARIABLE
NO. REGISTERS
R/W
TYPE
VALUE / REMARKS
[d] 572
[h] 0x23C
40573
flow rate
2
r
uint32
0…9999999, Representation: unit, time,
decimals depending on variables 48, 49, 50
[d] 566
[h] 0x236
40567
total
3
r*
uint48
0…9999999999, Representation: unit,
decimals depending on variables 32, 33
[d] 560
[h] 0x230
40561
accumulated total
3
r
uint48
0…99999999999999, Representation: unit,
decimals depending on variables 32, 33
[d] 516
[h] 0x204
40517
error status (bitfield)
1
r
uint16 0x0001=Display error
0x0002=EEPROM error
0x0004=EEPROM initialization error
0x0010=Linearization error
(calculated M-factor out of range)
Reading flow rate, total or accumulated total
: The returned values are given including the
decimals and represent the actual value. The given value may differ from the value that is shown on
the display
– this is due to the fact that the display is limited in the number of digits and may have a
slower update rate set.
For example when two decimals are selected for total and total has a value of 123456,78 the display
will show 23456,78 while
communication will read a “total” of 12345678 (note that the decimals
should be adapted according the setting in “total decimals” which is in this case 2).
* Clearing total:
It is possible to clear the total counter by means of writing a value of 0 to all the 3
registers of total/flow rate in a single write action. Writing any other value will result in the reply of an
error message because the registers of total/flow rate are during operation read-only.