www.krohne.com07/2010 - 4000410703 - AD Modbus IFC 300 R03 en
Page 3
IFC 300
IMPORTANT INFORMATION 1
The flow converter with the RS485 interface card fitted, is able to communicate with an external
device (PC or other suitable computer system) using the Modbus protocol. This option allows
data exchange between PC or computer and single or multiple devices.
The bus configuration consists of one external device as a master and one or more converters as
slaves. For bus operation the device address (menu C5.8.1), baudrate (menu C5.8.2) and settings
(menu C5.8.3, C5.8.4, C5.8.5 & C5.8.6) must be set in the converter.
All devices connected to the bus, must have different unique addresses but the same baud rate
and settings.
www.krohne.com07/2010 - 4000410703 - AD Modbus IFC 300 R03 en
3
Page 4
2 TECHNICAL DATA
2.1 General technical data
InterfaceRS485, galvanically isolated
Baud rate1200, 2400, 4800, 9600, 19200, 38400, 57600 or 115200
ProtocolModbus RTU (available as a separate document on request)
Maximum participants on bus32 per line, master included (may be extended by repeaters)
CodingNRZ bit coding
Address rangeModbus: 1...247
Transmission procedureHalf duplex, asynchronous
Bus accessMaster / slave
CableScreened twisted pair
DistancesMaximum 1.2 km / 3937 ft without repeater (dependant on
baud rate and cable specifications)
2.2 Technical data of the Modbus interface (acc. to EIA standards)
Kind of signal transmissionDifferential, 2-wire topology
Maximum number of
transmitter/receivers
Voltage range on converter input-7...+12 V
Maximum voltage on converter output5V
Minimum voltage on driver output, max.
load
Maximum input current (off state)-20...+20 μA
Receiver input voltage-7...+12 V
Sensitivity of the receiver-200...+200 mV
Receiver input resistance>12kΩ
Short circuit current< 250 mA
Termination / polarization resistors
(if activated by the jumpers X5/X6)
32
U
>1.5V
diff
120 Ω / 560 Ω
IFC 300
4
www.krohne.com07/2010 - 4000410703 - AD Modbus IFC 300 R03 en
Page 5
IFC 300
CONNECTION IN BUS SYSTEMS 3
For proper operation of Modbus in half duplex mode in single or multi-drop communication, it is
recommended that a termination resistor is applied to both ends of the data line. The simplest
form of termination is line-to-line resistor across the differential input.
In RTU mode the Modus protocol requires quiet periods on the communications bus for
synchronisation. It is therefore important that the Modbus is not allowed to "float", i.e.
unreferenced to 0 V, as this could lead to spurious signals due to noise pick-up. It is therefore
necessary to employ biasing resistors at one point on the bus network, normally the "end".
The Modbus converter has two conditions. Default is without termination and polarization. To get
the active termination and polarization the settings of jumper X5 and X6 on Modbus board must
be changed then. For detailed information see chapter "Electrical Connection".
www.krohne.com07/2010 - 4000410703 - AD Modbus IFC 300 R03 en
5
Page 6
4 LOCAL CONFIGURATION
IFC 300
Converter Fct.
DisplayDescription and settings
No.
C5.8.1Slave AddressSelects the Modbus address of the device.
C5.8.2Baud RateSelects the baud rate of the device.
C5.8.3ParitySelects the parity.
C5.8.4Data FormatSelects the data format.
C5.8.5Transmission DelaySelects the delay between receiving the last byte of a request and
C5.8.6Stop BitsSelects the number of stop bits.
C5.8.7InformationDisplays information about the device.
sending the first byte of the response.
Range: 0..40ms (default = 0ms)
Options:
1 (default) / 2
6
www.krohne.com07/2010 - 4000410703 - AD Modbus IFC 300 R03 en
Page 7
IFC 300
ELECTRICAL CONNECTION 5
Terminals A and B of the converter are dependant on the options selected at order. Refer to the
standard handbook of the converter for connection details.
Modbus connections
TerminalsDescription
D-Signal A (D 0)
DSignal B (D 1)
C-Common 0 V
CNot connected
Jumper settings on the Modbus printed circuit board
Jumper positionDescription
X5X6
1-21-2With termination and polarization
2-32-3Without termination and polarization
www.krohne.com07/2010 - 4000410703 - AD Modbus IFC 300 R03 en
7
Page 8
6 MODBUS PROTOCOL
6.1 General information concerning the protocol
Using RTU (Remote Terminal Unit) format, data is transmitted as 8 bit binary characters. There
are no special characters to determine the start and end of a message frame.
Synchronization is achieved by a minimum silent period of at least 3.5 character times before the
start of each frame transmission and a maximum silent period of 1.5 character times between
characters in the same frame.
6.2 RTU frame format
The format of the query and response frames vary slightly depending upon the command
function. The basic form is outlined below.
Command functionFrame formatDescription
IFC 300
Silent period3.5 x TAll transmissions must be preceded by a minimum silent
Slave address8bitsThis is a single byte slave address which is transmitted
Function code8bitsThis is an eight bit code in the range of 1...255 although
Register start address or
byte count when required
Number of points or data
bytes when required
8 bit byte count
16 bit address
n×8bitsNumber of points:
period of 3.5 x T, where T is the transmission time of a
single character. This can be calculated from the baud
rate, e.g. at 19.2 kb no parity with 1 stop bit (10 bits),
T=520µs.
first and must be in the range of 1...247. Address 0 is
reserved for a broadcast address which all slaves should
recognize, and therefore requires no response.
only 126 functions exist as the codes 129...255 represent
an error condition. An error condition occurs when the
addressed slave does not accept the command, in which
case it responds with the function code + 128, i.e. with its
MSB set to 1.
Register start address:
Register start address: for a query command that requires
Register start address:Register start address:
data to be returned, this field will contain the 16 bit start
address of the register (or data) to be returned.
Note that the converter uses protocol addresses.
Therefore the register address listed is the actual number
required in the Modbus command.
E.g:
E.g: to access input register 30006, the register start
E.g:E.g:
address is 30006dec = 7536hex.
Byte count:
Byte count: In general this is only present in frames that
Byte count:Byte count:
are transferring data, and has a value equal to the number
of bytes contained in the data field. The data field is limited
to a maximum of 250 bytes.
Number of points: for a query command that requires data
Number of points:Number of points:
to be returned, this field will contain the number of
registers to be returned regardless of their bit size.
Data bytes:
Data bytes: contains the data requested. The converter can
Data bytes:Data bytes:
use big endian format (MSB first) or little endian
format (LSB first).
CRC16 bitsThis field contains a 16 bit CRC which is calculated on all
8
www.krohne.com07/2010 - 4000410703 - AD Modbus IFC 300 R03 en
the data bits of the message bytes.
Page 9
IFC 300
6.3 Addressing
In the following tables the Modbus protocol addresses / data addresses are listed.
Some systems cannot use addresses above 9999. For these systems there is the possibility to
use the listed addresses but
• for Input Registers omit the leading 3 of 3xxxx;
• for Holding Registers omit the leading 4 of 4xxxx;
• for Input Registers replace the leading 20 of 20xxx by 9xxx.
MODBUS PROTOCOL 6
Sometimes register numbers are asked for. The register numbers
1 to the protocol address and using a prefix according to the block:
• prefix 1 for coils
• prefix 3 for Input Registers
• prefix 4 for Holding Registers
register numbers can be calculated by adding a
register numbersregister numbers
6.4 Overview of supported functions
The following table shows Modbus functions supported by RS485 interface.
Function codeNameAccess to
hexdec
0101Read Single CoilStatus of calibration functions, counter
www.krohne.com07/2010 - 4000410703 - AD Modbus IFC 300 R03 en
9
Page 10
6 MODBUS PROTOCOL
IFC 300
6.5 Device identification on the Modbus interface
The device identification is according to the category "Regular" according to the Modbus
Application Protocol Specification V1.1a. Function code 43 / 14 (0x2B / 0x0E).
Modbus object IdObject name / DescriptionTypeContent
0x00VendorName16 byte ASCII StringKROHNE
0x01ProductCode10 byte ASCII StringCG number; order code for the
0x02MajorMinorRevision7 byte ASCII StringV1.2.xx
0x03Vendor URL32 byte ASCII Stringwww.krohne.com
0x04ProductName16 byte ASCII StringIFC300
0x05ModelName16 byte ASCII StringModbus
0x06UserApplicationName16 byte ASCII StringUser tag, displayed on the
converter assembly
header of the local screen
6.6 Coil registers
These function codes are used for access:
• 0x01 = read input coil
• 0x05 = write single coil
6.6.1 Converter controls
Coil addressFunction
1000Write 1 generates a cold start, write 0 is ignored
1001Write 1 generates a warm start, write 0 is ignored
1002Write 1 generates an error reset, write 0 is ignored
10
www.krohne.com07/2010 - 4000410703 - AD Modbus IFC 300 R03 en
Page 11
IFC 300
6.6.2 Counter controls
MODBUS PROTOCOL 6
Modbus protocol
DescriptionSettingsConverter Fct. No.
address
3000Start / Stop
Counter 1
3001Start / Stop
Counter 2
3002Start / Stop
Counter 3 1
3003Reset Counter 1Write1reset counterC3.1.6
3004Reset Counter 2Write1reset counterC3.2.6
3005Reset Counter 3 1Write1reset counterC3.3.6
1 Only available in converters with IO2. A write attempt to a non-existing counter will cause an error response.
Write1start counterC3.1.8 / C3.1.9
Write0stop counter
Read1counter is running
Read0counter is stopped
Write1start counterC3.2.8 / C3.2.9
Write0stop counter
Read1counter is running
Read0counter is stopped
Write1start counterC3.3.8 / C3.3.9
Write0stop counter
Read1counter is running
Read0counter is stopped
Write0-
Read0-
Write0-
Read0-
Write0-
Read0-
6.6.3 Start calibration functions
Modbus protocol
address
2000Zero CalibrationWrite1start functionC1.1.1
2001Coil Temperature
2002Electrode Factor
DescriptionSettingsConverter Fct. No.
Write0-
Read0-
Calibration
Calibration
Write1start functionC1.1.8
Write0-
Read0-
Write1start functionC1.1.11
Write0-
Read0-
www.krohne.com07/2010 - 4000410703 - AD Modbus IFC 300 R03 en
11
Page 12
6 MODBUS PROTOCOL
6.7 Input registers
Measurement and status values are read only and can be accessed as Modbus "Input Registers".
Also the result of a calibration procedure is accessed by an input register at Modbus Protocol
Address 20000 or 9000. The type are one or more float values.
Function code is 04 (0x04).
1: not available for senor option PF (partly filled)
2: not available for senor option CAP (capacitive)
3: only available for senor option PF (partly filled)
IFC 300
Modbus protocol
Description and settingsTypeNumber of registers
address
1st2nd
300000flow speed
300022
300044mass flow
300044level
300066coil temperature
300088conductivity
3001010diagnosis value
3001212Display Channel 1
3001414Display Channel 2
3001616Operating time
3001818Not used, returns zerofloat2
3002020
3002424
flow speed [m/s]float2
flow speedflow speed
volume flow
volume flow [m3/s]
volume flowvolume flow
mass flow [kg/s] (1)float2
mass flowmass flow
level [%] (3)float2
levellevel
coil temperature [K]float2
coil temperaturecoil temperature
conductivity [S/m]
conductivityconductivity
This value may not be measured.
Depending on register (4)2003.
0 = off (not measured)
1 = conductivity [S/m]
2 = cond. + empty pipe (S) [S/m]
3 = cond. + empty pipe (F) [S/m]
4 = cond. + empty pipe (I) [S/m]
For the sensor option PF and CAP this
value is only used for empty pipe
detection.
diagnosis value
diagnosis valuediagnosis value
This value may not be measured.
Depending on register (4)2011.
25 = off (not measured)
31 = electrode noise [m/s]
28 = flow profile [no unit] (1, 2)
21 = linearity [no unit] (1, 2)
8 = terminal 2 DC [Volt] (2)
9 = terminal 3 DC [Volt] (2)
Display Channel 1
Display Channel 1Display Channel 1
Represents the value on the first line of
the first measurement screen in SI units
Display Channel 2
Display Channel 2Display Channel 2
Represents the value on the first line of
the second measurement screen in SI
units
Operating time [s]float2
Operating timeOperating time
Counter 1
Counter 1 [m3] or [kg]
Counter 1Counter 1
Counter 2
Counter 2 [m3] or [kg]
Counter 2Counter 2
float2
float2
float2
float2
float2
double float4
double float4
12
www.krohne.com07/2010 - 4000410703 - AD Modbus IFC 300 R03 en
Page 13
IFC 300
MODBUS PROTOCOL 6
Modbus protocol
Description and settingsTypeNumber of registers
address
1st2nd
3002828
3003232long status sensor
3003434long status device
3003636long status sensor option PF
Counter 3
Counter 3 [m3] or [kg]
Counter 3Counter 3
Note: this counter is only available for
converter with IO 2!
long status sensorbyte [4]2
long status sensorlong status sensor
long status devicebyte [4]2
long status devicelong status device
long status sensor option PF (3)byte [4]2
long status sensor option PFlong status sensor option PF
Input register (3)0018 is not used up to now. This is included to fill the gap between the float and
double float values and allows to read the full range of registers.
double float4
www.krohne.com07/2010 - 4000410703 - AD Modbus IFC 300 R03 en
13
Page 14
6 MODBUS PROTOCOL
6.8 Holding registers
Some parameters of the device can be accessed as Modbus holding registers.
Function code 03 (0x03) for "Read" operations and function code 16 (0x10) for "Write" operations.
The holding registers are grouped into the following different sections.
6.8.1 Counter parameters
INFORMATION!
Counter 3 parameters are only available for converter with IO 2.
1: not available for senor option PF (partly filled)
2: not available for senor option CAP (capacitive)
3: only available for senor option PF (partly filled)
low flow cutoff value Cnt1low flow cutoff value Cnt1
time constant Cnt1 [s]C3.1.4float2
time constant Cnt1time constant Cnt1
TypeNumber of
No.
C3.1.1byte1
C3.1.2word1
C3.1.2word1
C3.2.1byte1
C3.2.2word1
C3.2.2word1
C3.3.1byte1
C3.3.2word1
C3.3.2word1
C3.1.3float2
registers
14
www.krohne.com07/2010 - 4000410703 - AD Modbus IFC 300 R03 en
Page 15
IFC 300
MODBUS PROTOCOL 6
Modbus protocol
Description and settingsConverter Fct.
address
1st2nd
410041004
410061006
410081008time constant Cnt2
410101010
410121012
410141014time constant Cnt3
410161016
410181018
410201020
410221022
set counter Cnt1 or read Cnt1
set counter Cnt1 or read Cnt1 [m3] or [kg]
set counter Cnt1 or read Cnt1set counter Cnt1 or read Cnt1
low flow cutoff value Cnt2
low flow cutoff value Cnt2 [m3/s] or [kg/s]
low flow cutoff value Cnt2low flow cutoff value Cnt2
time constant Cnt2 [s]C3.2.4float2
time constant Cnt2time constant Cnt2
set counter Cnt2 or read Cnt2
set counter Cnt2 or read Cnt2 [m3] or [kg]
set counter Cnt2 or read Cnt2set counter Cnt2 or read Cnt2
low flow cutoff value Cnt3
low flow cutoff value Cnt3 [m3/s] or [kg/s]
low flow cutoff value Cnt3low flow cutoff value Cnt3
time constant Cnt3 [s]C3.3.4float2
time constant Cnt3time constant Cnt3
set counter Cnt3 or read Cnt3
set counter Cnt3 or read Cnt3 [m3] or [kg]
set counter Cnt3 or read Cnt3set counter Cnt3 or read Cnt3
preset counter 1
preset counter 1 [m3] or [kg]
preset counter 1preset counter 1
preset counter 2
preset counter 2 [m3] or [kg]
preset counter 2preset counter 2
preset counter 3
preset counter 3 [m3] or [kg]
preset counter 3preset counter 3
6.8.2 Process input filter parameters
1: not available for senor option PF (partly filled)
2: not available for senor option CAP (capacitive)
3: only available for senor option PF (partly filled)
4: only available for senor option CAP (capacitive)
TypeNumber of
No.
C3.1.7float2
C3.2.3float2
C3.2.7float2
C3.3.3float2
C3.3.7float2
C3.1.5float2
C3.2.5float2
C3.3.5float2
registers
Modbus protocol
Description and settingsConverter Fct.
address
1st2nd
420002000flow direction
420012001pulse filter
42002noise filter
420032003empty pipe
420032003empty pipe
420042004full pipe
flow direction
flow directionflow direction
0=normal direction
1 = reverse direction