Visiferm RS485 ProgrammersManual ODOUM102 11100430201

Download as pdf or txt
Download as pdf or txt
You are on page 1of 97

VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

VisiFerm RS485
Arc Sensors

Modbus RTU
Programmer’s Manual
Firmware version:

ODOUM102

111004302/01 page 1 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

Important Notice

All rights reserved. No part of this document may be reproduced, stored in a retrieval system, or
transmitted in any form without written permission from Hamilton Bonaduz AG.

The contents of this manual are subject to change without notice. Technical changes reserved.

All efforts have been made to ensure the accuracy of the contents of this manual. However, should any
errors be detected, Hamilton Bonaduz AG would greatly appreciate being informed of them.

The above notwithstanding, Hamilton Bonaduz AG can assume no responsibility for any errors in this
manual or their consequences.

Copyright © 2022 Hamilton Bonaduz AG, Switzerland.

Rev. Revision Date Author Change Description


00 29.06.2022 CS Initial version Modbus
01 10.08.2022 CS Update to ODOUM102

111004302/01 page 2 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

Table of Content

1 MODBUS RTU GENERAL INFORMATION ................................................................................... 5


1.1 INTRODUCTION........................................................................................................................... 5
1.2 HAMILTON ARC SENSORS: MODBUS COMMAND STRUCTURE ........................................................ 5
1.2.1 Modbus RTU: Definitions According to Modbus IDA ....................................................... 5
1.2.2 Command Structure ......................................................................................................... 6
1.2.3 Modbus RTU Transmission Mode ................................................................................... 6
1.2.4 Modbus RTU Message Framing ...................................................................................... 7
1.2.5 Modbus RTU CRC Checking ........................................................................................... 8
1.3 IMPLEMENTATION OF MODBUS RTU IN HAMILTON ARC SENSORS ................................................. 9
1.4 MODBUS RTU FUNCTION CODES USED FOR ARC SENSORS ........................................................ 9
1.4.1 Modbus function code #3: Read Holding Registers ........................................................ 9
1.4.2 Modbus function code #4: Read Input Registers........................................................... 10
1.4.3 Modbus Function Code #16: Write Multiple Registers .................................................. 11
1.5 DATA FORMATS USED IN ARC SENSORS ................................................................................... 12
1.5.1 Float ............................................................................................................................... 12
1.5.2 Character ....................................................................................................................... 13
1.5.3 Decimal .......................................................................................................................... 13
1.6 MODBUS RTU ERROR MESSAGES ............................................................................................ 14
2 VISIFERM RS485 COMMANDS IN MODBUS RTU ..................................................................... 15
2.1 GENERAL................................................................................................................................. 15
2.2 OPERATOR LEVELS AND PASSWORDS ....................................................................................... 15
2.2.1 Reading / Setting Operator Level .................................................................................. 15
2.2.2 Changing Passwords for Operator Level ....................................................................... 16
2.3 CONFIGURATION OF THE SERIAL RS485 INTERFACE .................................................................. 16
2.3.1 Device Address .............................................................................................................. 16
2.3.2 Baud Rate ...................................................................................................................... 17
2.3.3 Parity and Stop Bits ....................................................................................................... 17
2.4 CONFIGURATION OF THE ANALOG INTERFACES (4-20 MA AND ECS) ........................................... 18
2.4.1 Available Analog Interfaces ........................................................................................... 18
2.4.2 Available Analog Interface Modes ................................................................................. 18
2.4.3 Description of the Analog Interface ............................................................................... 19
2.4.4 Selection of an Analog Interface Mode .......................................................................... 19
2.4.5 Configuration of the 4-20 mA Interface .......................................................................... 20
2.4.6 Reading the Internally Calculated Output Current ......................................................... 25
2.4.7 Configuration of the ECS Interface ................................................................................ 25
2.4.8 Reading the Internally Measured Output Current .......................................................... 29
2.5 MEASUREMENT ........................................................................................................................ 30
2.5.1 Definition of Measurement Channels and Physical Units .............................................. 30
2.5.2 Primary Measurement Channel 1 (Oxygen) .................................................................. 32
2.5.3 Primary Measurement Channel 6 (Temperature) .......................................................... 35
2.5.4 Definition of the Measurement Status for PMC1 / PMC6 .............................................. 38
2.6 MEASUREMENT HOLD MODE .................................................................................................... 39
2.7 CONFIGURATION OF THE MEASUREMENT ................................................................................... 40
2.7.1 Available Parameters ..................................................................................................... 40
2.7.2 PA1: Salinity................................................................................................................... 41
2.7.3 PA2: Pressure ................................................................................................................ 43
2.7.4 PA3: Humidity ................................................................................................................ 45
2.7.5 PA9: Moving Average .................................................................................................... 46
2.7.6 PA10: Number of Sub-Measurements (Resolution) ...................................................... 48
2.7.7 PA13: Measurement Interval ......................................................................................... 50
2.7.8 PA14: Sensor Cap Part Number ................................................................................... 51
2.8 SENSOR CAP HISTORY ............................................................................................................. 53
2.8.1 Number of Cap replacements ........................................................................................ 53
2.8.2 Reading the sensor cap history ..................................................................................... 53

111004302/01 page 3 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.8.3 Store sensor cap history ................................................................................................ 54


2.9 VERIFICATION........................................................................................................................... 56
2.9.1 VPA1 – Salinity .............................................................................................................. 56
2.9.2 VPA2 – Pressure ............................................................................................................ 57
2.9.3 VPA3 – Humidity ............................................................................................................ 58
2.10 CALIBRATION ........................................................................................................................... 59
2.10.1 Available Calibration Points ........................................................................................... 59
2.10.2 Definitions of Calibration Points ..................................................................................... 60
2.10.3 Calibration Procedure .................................................................................................... 72
2.10.4 Reading the Calibration Status ...................................................................................... 79
2.11 SENSOR STATUS ...................................................................................................................... 80
2.11.1 Temperature Ranges ..................................................................................................... 80
2.11.2 Operating Hours, Counters and System Time ............................................................... 81
2.11.3 Warnings ........................................................................................................................ 82
2.11.4 Errors.............................................................................................................................. 84
2.11.5 PMCs output in case of sensor error / warning .............................................................. 86
2.11.6 Reading Definition of SIP and CIP ................................................................................. 88
2.11.7 Quality Indicator ............................................................................................................. 89
2.12 SENSOR IDENTIFICATION AND INFORMATION .............................................................................. 90
2.12.1 General Information ....................................................................................................... 90
2.12.2 Sensor Identification ....................................................................................................... 90
2.12.3 Free User Memory Space .............................................................................................. 91
2.13 SYSTEM COMMANDS ................................................................................................................ 92
2.13.1 Recall Sensor’s Factory Settings ................................................................................... 92
3 APPENDIX ..................................................................................................................................... 93
3.1 LIST OF TABLES ........................................................................................................................ 93
3.2 LIST OF FIGURES ...................................................................................................................... 95

111004302/01 page 4 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

1 Modbus RTU General Information

1.1 Introduction
This document describes in detail the VisiFerm RS485 (Arc) Modbus RTU interface. It is addressed to
software programmers.
The general information about Modbus command structures and its implementation in the Hamilton Arc
Sensor family is described in detail in chapter 1.

1.2 Hamilton Arc Sensors: Modbus Command Structure


In the present manual, only the specific command structure for the VisiFerm RS485 Sensor is
described. It is valid for the firmware:

ODOUM102

Please check by reading register 1032 (see chapter 2.12.1).

This present definition of the command structure is an additional document to the Operating
Instructions of the specific VisiFerm RS485 sensors. Before reading this manual, the operating
instructions of the sensors should be read and understood.

1.2.1 Modbus RTU: Definitions According to Modbus IDA


The definitions in chapter 1.2 are an excerpt from the document:

• “Modbus over serial line - Specification and Implementation Guide V1.02“ and
• “Modbus Application Protocol Specification V1.1b”

For more detailed information please consult http://www.modbus.org.

Attention:
• In this manual the register counting starts per definition at address 1. Some Modbus client
protocols operate with register-count starting at address 0. Usually, the Modbus client software
translates the addressing. Thus, the register address of 2088 will be translated by Modbus
client software to 2087 which is sent to the sensor (Modbus server). This must be observed
during programming. Please check the specifications of the Modbus client that you are using.
• Representation of data formats in this document:
- decimal values are displayed as numbers without any prefix, for example 256
- hexadecimal values are displayed as: 0x2A
- ASCII-characters or ASCII strings are displayed as: “Text”

111004302/01 page 5 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

1.2.2 Command Structure


The Modbus application protocol defines a simple Protocol Data Unit (PDU) independent of the
underlying communication layers:

Figure 1 Modbus Protocol Data Unit.

The mapping of Modbus protocol on a specific bus or network introduces some additional fields on the
Protocol Data Unit. The client that initiates a Modbus transaction builds the Modbus PDU, and then
adds fields in order to build the appropriate communication PDU.

Figure 2 Modbus frame over Serial Line.

• On Modbus Serial Line, the Address field only contains the server address.

i Note:
Arc Sensors support only server addresses 1 to 32.

A client addresses a server by placing the server address in the address field of the message. When
the server returns its response, it places its own address in the response address field to let the client
know which server is responding.

• The function code indicates to the server what kind of action to perform. The function code can be
followed by a data field that contains request and response parameters.

• The CRC field is the result of a “Redundancy Checking” calculation that is performed on the
message contents.

1.2.3 Modbus RTU Transmission Mode


When devices communicate on a Modbus serial line using the RTU (Remote Terminal Unit) mode,
each 8-bit byte in a message contains two 4-bit hexadecimal characters. The main advantage of this
mode is that its greater character density allows better data throughput than ASCII mode for the same
baud rate. Each message must be transmitted in a continuous stream of characters.

The format (11bits) for each byte in RTU mode is:


Coding System: 8 bit binary
Bits per Byte: 1 start bit
8 data bits, least significant bit sent first
1 bit for parity completion
1 stop bit

Remark: The use of no parity requires 2 stop bits.

111004302/01 page 6 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

How characters are transmitted serially:


Each character or byte is sent in this order (left to right):
Least Significant Bit (LSB)…Most Significant Bit (MSB)

Figure 3 Bit sequence in RTU mode.

Frame Checking Field:


Cyclical Redundancy Checking (CRC)

Frame description:

Figure 4 RTU Message Frame.

=> The maximum size of a Modbus RTU frame is 256 bytes.

1.2.4 Modbus RTU Message Framing


A Modbus message is placed by the transmitting device into a frame that has a known beginning and
ending point. This allows devices that receive a new frame to begin at the start of the message, and to
know when the message is completed. Partial messages must be detected and errors must be set as a
result.

In RTU mode, message frames are separated by a silent interval of at least 3.5 character times.

Figure 5 Valid frames with silent intervals.

Figure 6 RTU Message Frame.

The entire message frame must be transmitted as a continuous stream of characters.

111004302/01 page 7 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

If a silent interval of more than 1.5 character times occurs between two characters, the message frame
is declared incomplete and should be discarded by the receiver.

Figure 7 Data transmission of a frame.

1.2.5 Modbus RTU CRC Checking


The RTU mode includes an error-checking field that is based on a Cyclical Redundancy Checking
(CRC) method performed on the message contents.

The CRC field checks the contents of the entire message. It is applied regardless of any parity
checking method used for the individual characters of the message.

The CRC field contains a 16-bit value implemented as two 8-bit bytes.

The CRC field is appended to the message as the last field in the message. When this is done, the low-
order byte of the field is appended first, followed by the high-order byte. The CRC high-order byte is the
last byte to be sent in the message.

The CRC value is calculated by the sending device, which appends the CRC to the message. The
receiving device recalculates a CRC during receipt of the message and compares the calculated value
to the current value it received in the CRC field. If the two values are not equal, an error results.

The CRC calculation is started by first pre-loading a 16-bit register to all 1’s. Then a process begins of
applying successive 8-bit bytes of the message to the current contents or the register. Only the eight
bits of data in each character are used for generating the CRC. Start and stop bits and the parity bit do
not apply to the CRC.

During generation of the CRC, each 8-bit character is exclusive OR-ed with the register contents. Then
the result is shifted in the direction of the least significant bit (LSB), with a zero filled into the most
significant bit (MSB) position. The LSB is extracted and examined. If the LSB was a 1, the register is
then exclusive OR-ed with a preset, fixed value. If the LSB was a 0, no exclusive OR takes place.

This process is repeated until eight shifts have been performed. After the last (eight) shift, the next 8-bit
byte is exclusive OR-ed with the register’s current value, and the process repeats for eight more shifts
as described above. The final content of the register, after all the bytes of the message have been
applied, is the CRC value.

When the CRC is appended to the message, the low-order byte is appended first, followed by the high-
order byte.

A detailed introduction to CRC generation can be found in the manual


“MODBUS over Serial Line, Specification and Implementation Guide, V1.02”
in chapter 6.2 “Appendix B - LRC/CRC Generation” form http://www.modbus.org.

111004302/01 page 8 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

1.3 Implementation of Modbus RTU in Hamilton Arc Sensors


According to the official Modbus definition, the start of a command is initiated with a pause of  3.5
characters. Also, the end of a command is indicated with a pause of  3.5 char.
The device address and the Modbus function code have 8 bits.
The data string consists of n*8 bits. The data string contains the starting address of the register and the
number of registers to read/write.
The checksum CRC is 16 bits long.

Table 1 Modbus definition for data transmission


start device function data Checksum end
address
value no signal 1-32 function code data according to CRC L CRC H No signal
during  according to Modbus specs during 
3.5 char Modbus 3.5 char
specs
bytes  3.5 1 1 n 1 1  3.5

The RS485 interface is configured as follows:

Table 2 RS485 definitions for Arc Sensors


Modbus RTU implementation in Hamilton Arc Sensors
Start Bits 1
Data Bits 8
Parity none
Stop Bit 2
String length 11 Bits
Baud Rate 19200 (default), other baud rate can be configured

1.4 Modbus RTU Function Codes Used for Arc Sensors


Arc Sensors use only 3 Modbus function codes:

# 3: Read Holding Registers


# 4: Read Input Registers
# 16: Write Multiple Registers

These three function codes are described below in detail using excerpts from “Modbus Application
Protocol Specification V1.1b “(http://www.modbus.org).

1.4.1 Modbus function code #3: Read Holding Registers


This function code is used to read the contents of a contiguous block of holding registers in a remote
device. The Request PDU specifies the starting register address and the number or registers. The PDU
Registers are addressed starting at zero. Therefore, registers numbered 1 – 16 are addressed as 0 –
15.

The register data in the response message are packed as two bytes per register. For each register, the
first byte contains the high order bits and the second contains the low order bits.

111004302/01 page 9 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

Figure 8 Definition of Holding Registers.

Figure 9 Example of reading holding registers 108 – 110. The contents of register 108 are read as the two-byte
values 0x022B. The contents of registers 109 – 110 are 0x00 00 and 0x0064.

1.4.2 Modbus function code #4: Read Input Registers


The function code is used to read from 1 to 125 contiguous input registers in a remote device. The
Request PDU specifies the starting register address and the number of registers. The PDU Registers
are addressed starting at zero. Therefore, input registers numbered 1 – 16 are addressed as 0 – 15.

The register data in the response message are packed as two bytes per register. For each register, the
first byte contains the high order bits and the second contains the low order bits.

Figure 10 Definition of Input Registers.

111004302/01 page 10 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

Figure 11 Example of reading input register 9. The contents of input register 9 are read as the two-byte value
0x000A.

1.4.3 Modbus Function Code #16: Write Multiple Registers


This function code is used to write a block of contiguous registers (1 to 123 registers) in a remote
device. The requested values are specified in the request data field. Data is packed as two bytes per
register. The response returns the function code, starting address, and quantity of registers written.

Figure 12 Definition of Write Multiple Registers.

Figure 13 Example of writing the value 0x000A and 0x0102 to two registers starting at address 2.

111004302/01 page 11 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

1.5 Data Formats Used in Arc Sensors

1.5.1 Float
Definition: Floating point according to IEEE 754 (Single Precision)

Table 3 Definition Floating point Single Precision (4 bytes resp. 2 Modbus registers)
Explanation: sign exponent mantissa total
Bit: 31 30 to 23 22 to 0 32
Exponent bias 127

Example: translate the decimal value 62.85 into binary

Step 1: Conversion of the decimal value into binary fixed-point number

62 / 2 = 31 residue 0 LSB 0.85 * 2 = 1.70 => 1 MSB


31 / 2 = 15 residue 1 0.70 * 2 = 1.40 => 1
15 / 2 =7 residue 1 0.40 * 2 = 0.80 => 0
7/2 =3 residue 1 0.80 * 2 = 1.60 => 1
3/2 =1 residue 1 0.60 * 2 = 1.20 => 1
1/2 =0 residue 1 MSB 0.20 * 2 = 0.40 => 0
= 111110 0.40 * 2 = 0.80 => 0 LSB

= 0.110110011001100110011001100…
62.85 = 111110.110110011001100110011001100…

Step 2: Normalizing (in order to obtain 1 bit on the left side of the fraction point)

111110.110110011001100110011001100… *2^0 = 1.11110110110011001100110011001100… *2^5

Sep 3: Calculation of the dual exponent

2^5 => Exponent 5


Exponent + Exponent bias = 5 + 127 = 132
132 / 2 = 66 residue 0 LSB
66 / 2 = 33 residue 0
33 / 2 = 16 residue 1
16 / 2 = 8 residue 0
8/2 = 4 residue 0
4/2 = 2 residue 0
2/2 = 1 residue 0
1/2 = 0 residue 1 MSB
= 10000100

Sep 4: Definition of the sign bit

Positive = 0
Negative = 1
=0

Step 5: conversion into floating-point

1 Bit Sign + 8 Bit Exponent + 23 Bit Mantissa


0 10000100 11110110110011001100110 (corresponds to 0x427B6666)

One important note for the 23 Bit Mantissa: The first bit (so-called hidden bit) is not represented. The
hidden bit is the bit to the left of the fraction point. This bit is per definition always 1 and therefore
suppressed.

111004302/01 page 12 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

Example: translate the binary float 0100 0010 0111 1011 0110 0110 0110 0110 to a decimal value

Step 1: Separating the binary value into Sign, Exponent and Mantissa

0 10000100 11110110110011001100110
1 Bit Sign + 8 Bit Exponent + 23 Bit Mantissa

S: 0 binary = 0 (positive sign)


E: 10000100 binary = 1*27 + 0*26 + 0*25 + 0*24 + 0*23 + 1*22 + 0*21 + 0*20
= 128 + 0 + 0 + 0 + 0 + 4 + 0 + 0
= 132
M: 11110110110011001100110 binary = 8087142

Step 2: Calculate the decimal value

D = (-1)S * (1.0 + M/223) * 2E-127


= (-1)0 * (1.0 + 8087142/223) * 2132-127
= 1 * 1.964062452316284 * 32
= 62.85

1.5.2 Character
Definition: The numerical representation of characters is defined in 8-Bit ASCII-Code-Table (ANSI
X3.4-1986). Accordingly, each Modbus register in Arc Sensors can store two ASCII characters.

Example: translate the ASCII-string “2076” to Hex representation

The following interpretation is made according to the ASCII Codes-Table:

“2” => ASCII code table => 0x32 Low Byte


“0” => ASCII code table => 0x30
“7” => ASCII code table => 0x37
“6” => ASCII code table => 0x36 High Byte

“2076” => 0x36373032

1.5.3 Decimal
Example: translate Decimal 2227169 to Hex

2227169 / 16 = 139198 residue 1 Low Byte


139198 / 16 = 8699 residue 14 => E
8699 / 16 = 543 residue 11 => B
543 / 16 = 33 residue 15 => F
33/16 =2 residue 1
2 / 16 =0 residue 2 High Byte
= 0x21FBE1

111004302/01 page 13 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

1.6 Modbus RTU Error Messages


Here are listed the Modbus standard error-codes we have implemented in Arc Sensors.

Table 4 Implemented Error-Codes


Error-Code Status-Text
Hex
0x00 OK
0x01 Illegal function
0x02 Illegal data address
0x03 Illegal data value
0X04 Server device failure

See “Modbus_Application_Protocol_V1.1b” (www.modbus.org) for details.

If a server device failure exception occurs, try to repeat the command that has thrown the exception. If
the exception remains, check the sensor status.

111004302/01 page 14 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2 VisiFerm RS485 Commands in Modbus RTU

2.1 General
In order to communicate with a VisiFerm RS485 sensor over Modbus RTU protocol a Modbus client
terminal application software is needed. The Modbus RTU is an open standard and a number of free
and commercial application toolkits are available.

This manual contains examples and illustrations from WinTECH Modbus client ActiveX Control tool:
WinTECH (www.win-tech.com) “Modbus Master OCX for Visual Basic”. The Modbus Organization
(www.modbus.org/tech.php) provides other links to a wide variety of Modbus terminal software.

In the present manual the addressing of the Modbus registers starts at 1. But the Modbus client
protocol operates with register addresses starting at 0. Usually, the Modbus client software translates
the addressing. Thus, the register address of 2090 will be translated by the Modbus client software to
2089 which is sent to the sensor (Modbus server).

Attention:
When configuring and calibrating the sensor, please limit write operations to a reasonable number.
More than 100’000 write operations will physically damage the memory of the sensor.

2.2 Operator levels and Passwords

2.2.1 Reading / Setting Operator Level

VisiFerm RS485 can be operated in three different operator levels. Each operator level allows a defined
access to a specific set of commands.

Table 5 Definition of operator level and default passwords


Abbreviation Description Code (hex) Password (default)
(decimal) (hex)
U User (lowest level) 0x03 0 0x00000000
A Administrator 0x0C 18111978 0x01145DEA
S Specialist 0x30 16021966 0x00F479CE

At each power up or processor reset, the operator level falls back to the default level U.

The active operator level can be read and written in register 4288.
The Password itself can’t be read, the information in Reg 3/ Reg 4 is always read as zero.

Start Number of Reg1 / Reg2 Reg3 / Reg4 Modbus Read Write


register registers (bitwise defined) (uint) function code access access
4288 4 Operator Level Password 3, 4, 16 U/A/S U/A/S

Attention:
If the password is wrong, the operator level falls back to operator level U. To make sure that the
operator level switch was successful, read back register 4288.

111004302/01 page 15 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.2.2 Changing Passwords for Operator Level


The passwords for accessing the operator levels A and S can be modified by S (Specialist) only. U
(User) and A (Administrator) have no right to change any password. If they try anyway, an illegal data
address exception (0x02) is returned.
The new password will remain stored after power down.

Start Number of Reg1 / Reg2 Reg3 / Reg4 Modbus Read Write


register registers (bitwise defined) (uint) function code access access
4292 4 Level New password 16 None S

2.3 Configuration of the serial RS485 Interface


Factory settings for the RS485 interface:
Table 6 RS485 factory settings
Start Bits 1
Data Bits 8
Parity None
Stop Bits 2
Baud Rate 19200

2.3.1 Device Address

2.3.1.1 Reading and Writing the Device Address


The sensor specific device address can be read and written in register 4096.

Start Number of Reg1 / Reg2 Modbus Read Write


register registers (uint) function code access access
4096 2 device address 3, 4, 16 U/A/S S

The device address can be set by S (Specialist), default value is 1. If the address limits are not met
when setting a new address, the former address stays active.

Attention:
The device address changes immediately, what means that the next Modbus access must be done
using the new address.

2.3.1.2 Reading the Device Address Limits


The device address limits can be read in register 4098.

Start Number of Reg1 / Reg2 Reg3 / Reg4 Modbus Read Write


register registers (uint) (uint) function code access access
4098 4 Min. device Max. device 3, 4 U/A/S none
address address

Device address limits are:


Minimal device address: 1
Maximal device address: 32

2.3.1.3 Broadcast
Independent from the selected device address, the sensor responds to broadcasted Modbus
commands (address 0).

111004302/01 page 16 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.3.2 Baud Rate

2.3.2.1 Reading and Writing the Baud Rate


The baud rate can be read and written in register 4102.

Start Number of Reg1 / Reg2 Modbus Read Write


register registers (uint) function code access access
4102 2 Baud rate code 3, 4, 16 U/A/S S
(definition see below)

The code for the baud rate is defined as follows:


Table 7 Code for the baud rates.
Baud rate 4800 9600 19200 38400 57600 115200
Code 2 3 4 5 6 7

Attention:
If the baud rate limits are not met when setting a new baud rate, the former baud rate stays active.
If the baud rate is valid, it will change immediately, which means that the next Modbus access must be
done using the new baud rate.

2.3.2.2 Reading the Baud Rate Limits


The baud rate limits can be read in register 4104.

Start Number of Reg1 / Reg2 Reg3 / Reg4 Modbus Read Write


register registers (uint) (uint) function code access access
4104 4 Min. Baud rate Max. Baud rate 3, 4 U/A/S none
code code

The baud rate limits are:


Minimal baud rate code: 2
Maximal baud rate code: 7

2.3.3 Parity and Stop Bits


Start Number of Reg1 / Reg2 Modbus Read Write
register registers (bitwise defined) function code access access
4108 2 Interface 3, 4, 16 U/A/S S
parameter

The interface parameter is coded as following:


0xAABBCCDD where
AA = no meaning (reading: 0x00)
BB = Parity (0x00: no parity, 0x01: even, 0x02: odd)
CC = Stop bits (0x00: 1 stop bit, 0x04: 2 stop bits)
DD = no meaning (reading 0x00)

The interface parameters do not change before the next power up!
When writing to register 4108 set Bytes AA and DD to 0x00.

111004302/01 page 17 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

Attention:
If one of the parameter limits is not met, the old configuration stays active! Parity option (even or odd) is
only available with one stop bit (max. string length of 11 bits).
The configuration changes immediately, what means that the next Modbus access must be done using
the new baud rate.

2.4 Configuration of the Analog Interfaces (4-20 mA and ECS)


i Note:
VisiFerm RS485 has one single physical analog output interface (AO1) that can only be used as an
ECS - electrochemical sensor interface (Hamilton proprietary). The 4-20mA analog interface is only
provided by an Arc Wi 2G Adapter BT, but the registers to configure these interfaces are available on
the sensor. That means, that these registers can be read and written with or without Arc Wi 2G Adapter
BT. Therefore, the sensor has no error or warning information if the measurement values is below or
above the limit of the analog interface.

2.4.1 Available Analog Interfaces


Equipped with an Arc Wi 2G Adapter BT, the VisiFerm RS485 Sensor has two individual physical
analog interfaces that have identical functionalities, but can be configured independently from each
other.
• Analog Output Interface 1 (AO1)
• Analog Output Interface 2 (AO2)

The number of analog interfaces is defined in register 4320.

Start Number of Reg1 / Reg2 Modbus Read Write


register registers (bitwise defined) function code access access
4320 2 Available analog outputs 3, 4 U/A/S none

The answer always is “0x03” meaning that there exists an Analog Interface 1 (AO1) and an Analog
Interface 2 (AO2).

2.4.2 Available Analog Interface Modes


With register 4322, the available analog interface modes for AO1 and AO2 are defined

Start Number Reg1 / Reg2 Reg3 / Reg4 Reg5 / Reg7 / Modbus Read Write
register of (bitwise (bitwise Reg6 Reg8 function access access
registers defined) defined) code
4322 8 Available Available reserved reserved 3,4 U/A/S none
Analog Analog
Interface Interface
Modes for AO1 Modes for AO2

Register 4322 defines the analog interface modes available for AO1 and AO2. The analog interface
modes are described in Table 8.

111004302/01 page 18 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

Table 8 Definition of the analog interface modes


Code Analog Interface Description
(Hex) Mode
0x0000 4-20 mA inactive Analog interface is deactivated
0x0001 4-20 mA fixed Set to a constant output value for current loop testing
See 2.4.5.7
0x0002 4-20 mA linear Linear output of measurement (PMC1 / 6)
0x0004 4-20 mA bilinear Bilinear output of measurement (PMC1 / 6)
0x0100 ECS fixed Set to a constant output value for current loop testing
0x0200 ECS linear nA output linked to oxygen reading (PMC1)

The answer is a bitwise combination (OR) of the available modes defined in Table 8.
Reg1/Reg2 return “0x0307” meaning that 4-20 mA fixed, 4-20 mA linear, 4-20 mA bilinear, ECS fixed
and ECS linear mode are available.
Reg3/Reg4 return “0x0007” meaning that 4-20 mA fixed, 4-20 mA linear and 4-20 mA bilinear mode are
available.
Reg5 to Reg8 return always zero.
How to select or change the analog interface mode, see 2.4.4.

2.4.3 Description of the Analog Interface


Register 4352 / 4480 contain the descriptions of AO1 / AO2 as plain text ASCII. AO1 for VisiFerm
RS485 is called “mA/ECS interface”. AO2 for VisiFerm RS485 is called “mA interface”.

Start Number of Reg1 to Reg8 Modbus Read Write


register registers 16 ASCII characters function code access access
4352 8 Description of the analog interface AO1 3, 4 U/A/S none
4480 8 Description of the analog interface AO2 3, 4 U/A/S none

2.4.4 Selection of an Analog Interface Mode


The analog interface mode of AO1 / AO2 is selected by programming the analog interface mode in
register 4360 / 4488.

Start Number of Reg1 / Reg2 Modbus Read Write


register registers (bitwise defined) function code access access
4360 2 Analog interface mode for AO1 3, 4, 16 U/A/S S
4488 2 Analog interface mode for AO2 3, 4, 16 U/A/S S

For available analog interface modes are see register 4322.

Only one bit can be set. Using not allowed interface mode codes will leave the selection unchanged.

Attention:
VisiFerm RS485 has one single physical analog output interface (AO1) that can only be used as an
ECS - electrochemical sensor interface (Hamilton proprietary).
When the sensor is programmed to ECS mode (0x0100/0x0200) and an Arc Wi 2G Adapter BT is
attached at the same time, the ECS interface is not available.
When the sensor is programmed to ECS mode (0x0100/0x0200) and an Arc Wi 1G Adapter BT is
attached at the same time, the ECS interface will be disturbed by RS485 communication. Therefore, it
is recommended by using the ECS interface, not use an Arc Wi xG Adapter at any time.
In general, the ECS interface will be disturbed by RS485 communication.

111004302/01 page 19 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.4.5 Configuration of the 4-20 mA Interface


i Note:
The configuration of the 4-20 mA interface is only effective if register 4360 (analog interface mode) is
set to the value 0x01, 0x02 or 0x04 (see chapter 2.4.4).

2.4.5.1 Reading the Available Primary Measurement Channels to be Mapped to the Analog
Output
Start Number of Reg1 / Reg2 Modbus Read Write
register registers (bitwise defined) function code access access
4362 2 Available Primary Measurement Channels 3, 4 U/A/S none
for AO1
4490 2 Available Primary Measurement Channels 3, 4 U/A/S none
for AO2

Table 9 Code for selection of the primary measurement channel


Code Primary Measurement Channel (PMC)
(Hex)
0x01 PMC1
0x20 PMC6

Reading the available Primary Measurement Channels (PMC) always return the hexadecimal value of
“0x21” meaning that PMC1 or PMC6 can be mapped to AO1 respectively AO2.

2.4.5.2 Selecting the Primary Measurement Channel to be Mapped to the Analog Interface
Start Number of Reg1 / Reg2 Modbus Read Write
register registers (bitwise defined) function code access access
4364 2 Selected PMC for AO1 3, 4, 16 U/A/S S
4492 2 Selected PMC for AO2 3, 4, 16 U/A/S S

Write this register to change the mapped measurement channel to AO1 respectively AO2. Make sure
that only one bit is set, according to Table 9. Writing 0 or an illegal code will leave the selection
unchanged. Only one bit can be set!
Reading this register returns the selected PMC for AO1 respectively AO2 according to Table 9.

The factory setting for register 4364 is “0x01” mapping PMC1 to AO1.
The factory setting for register 4492 is “0x20” mapping PMC6 to AO2.

2.4.5.3 Reading the Minimal and Maximal Possible Physical Output Current
Register 4366/4494 delivers the limits of the physical output current for AO1/AO2.

Start Number of Reg1 / Reg2 Reg3 / Reg4 Modbus Read Write


register registers (float) (float) function code access access
4366 4 Min physical Max physical 3, 4 U/A/S none
output current output current
for AO1 [mA] for AO1 [mA]
4494 4 Min physical Max physical 3, 4 U/A/S none
output current output current
for AO2 [mA] for AO2 [mA]

The limits are fixed to:


Minimum is 3.5mA
Maximum is 22 mA

111004302/01 page 20 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

i Note:
Currents above 20 and below 4 mA indicate erroneous measurements or errors.

2.4.5.4 Reading the Minimum, Maximum and Mid Current for Measurement Value Output
Start Number of Reg1 / Reg2 Reg3 / Reg4 Reg5 / Reg6 Modbus Read Write
register registers (float) (float) (float) function access access
code
4370 6 Min output for Max output for Mid output for 3, 4 U/A/S none
measurement measurement measurement
value for AO1 values for AO1 values for
[mA] [mA] AO1 [mA]
4498 6 Min output for Max output for Mid output for 3, 4 U/A/S none
measurement measurement measurement
value for AO2 values for AO2 values for
[mA] [mA] AO2 [mA]

These registers deliver the minimal, maximal and middle output current for AO1 respectively AO2 in
mA during normal operation. They are fixed to 4, 20 and 12 mA.

i Note:
Mid current must always be defined. However, in linear output mode, the mid current value has no
physical meaning and will not affect the 4-20 mA output.

2.4.5.5 Reading the Selected Physical Unit for Analog Interface


Start Number of Reg1 / Reg2 Modbus Read Write
register registers (bitwise defined) function code access access
4376 2 Selected physical unit of AO1 3, 4 U/A/S none
(see Table 15)
4504 2 Selected physical unit of AO2 3, 4 U/A/S none
(see Table 15)

Read the selected unit of the selected PMC of AO1 respectively AO2. The value returned has to be
interpreted as a hex value that represents the unit according to Table 15.
The physical unit for the PMC is defined in Reg. 2090 or 2410 and applies automatically for 4-20 mA
output.

2.4.5.6 Defining the Measurement Values for 4, 12 and 20 mA Output


Start Number of Reg1 / Reg2 Reg3 / Reg4 Reg5 / Reg6 Modbus Read Write
register registers (float) (float) (float) function access access
code
4378 6 Measurement Measurement Measurement 3, 4, 16 U/A/S S
value at value at value at
Min Output Max Output Mid Output
Current (4 mA) Current (20 Current (12
for AO1 mA) for AO1 mA) for AO1
4506 6 Measurement Measurement Measurement 3, 4, 16 U/A/S S
value at value at value at
Min Output Max Output Mid Output
Current (4 mA) Current (20 Current (12
for AO2 mA) for AO2 mA) for AO2

111004302/01 page 21 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

These registers define the relation between measurement value and output current in linear mode.
Reg1/Reg2 define the measurement value at 4mA and Reg3/Reg4 define the measurement value at
20mA. Reg5/Reg6 do not affect the 4-20mA output. When writing, write 0 or any random value. When
reading, Reg5/Reg6 return half of Min + Max.
The corresponding physical unit can be read in register 4376 / 4504 respectively in the corresponding
PMC register (2090 for PMC1 and 2410 for PMC6).

Attention:
When assigning measurement values to 4-20 mA analog output by using register 4378 / 4506, you
need to consider the following:
• The PMC you have mapped to AO1 / AO2 (register 4364 / 4492)
• The physical unit currently in use for the selected PMC (register 2090 for PMC1and register
2410 for PMC6.
• The measurement parameter 2 Air Pressure when %-vol or %-sat is selected as physical unit
and PMC1 is mapped to AO1 or AO2.
• The measurement parameter 3 Humidity when %-vol is selected as physical unit and PMC1 is
mapped to AO1 or AO2.
Therefore, when the operator redefines any of the above-mentioned register, the definitions of the
register 4378 / 4506 should be reviewed. If not, the current output at the 4-20 mA interfaces may
suddenly be unexpected!

i Note:
Mid current must always be defined. However, in linear output mode, the mid current value has no
physical meaning and will not affect the 4-20 mA output.

Example 1:
Register 4364 is set to 1 (PMC1 is mapped to AO1).
Register 2090 is set to 0x00000010 (the unit “%-vol” is assigned to PMC1).
Register 4360 is set to 0x00000002 (linear analog output of PMC1).
Register 4378 is set to 0 and 62.85 (4 mA = 0 %-vol, 20 mA = 62.85 %-vol) as shown in Figure 14.
The measurement parameter 2 Air Pressure is set to 1000 mbar.
The sensor is placed in air and currently reads a value of 20.95 %-vol oxygen, the output at the 4-20
mA accordingly is 9.33 mA (20.95 %-vol).
The operator now re-assigns register 2090 to the value of 0x00000020 (%-sat) but does not modify all
other registers. The sensor reads now 100 %-sat. At the analog output, as 20 mA is programmed to a
value of 62.85 by register 4378, the current will go to the maximum value of 20 mA. This will not
generate an interface warning.

Figure 14 Example of linear 4-20mA output characteristics

111004302/01 page 22 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

Example 2:
Register 4364 is set to 1 (PMC1 is mapped to AO1).
Register 2090 is set to 0x00000010 (the unit “%-vol” is assigned to PMC1).
Register 4360 is set to 0x00000004 (bilinear analog output of PMC1).
Register 4378 is set to 0, 62.85 and 10.0 (4 mA = 0 %-vol, 20 mA = 62.85 %-vol, 12 mA = 10.0 %-vol)
as shown in Figure 15.
The measurement parameter 2 Air Pressure is set to 1000 mbar.
The sensor is placed in air and currently reads a value of 20.95 %-vol oxygen, the output at the 4-20
mA accordingly is 13.66 mA (20.95 %-vol).

Figure 15 Example of bilinear 4-20mA output characteristics

Attention:
When assigning measurement values to 4-20 mA analog output by using register 4378, you need to
consider the following:
• The PMC you have mapped to 4-20 mA analog output (register 4364)
• The unit currently in use for the selected PMC (register 2090 for PMC1 (oxygen) and register
2410 for PMC6 (temperature).
Therefore, when the operator redefines one of the registers 4364, 2090 or 2410, the definitions of the
register 4378 should be reviewed. If not, the current output at the 4-20 mA interface may be wrong.

The 4-20 mA analog output freezes if


• the measure mode is in Hold Mode, see chapter 2.6
or
• the current temperature is outside the user defined measurement temperature range (reg.
4624).

Note:
The physical unit of the analog output corresponds always to the unit that is set for the selected PMC
(register 2090 for PMC1 or register 2410 for PMC6). Accordingly, not only oxygen partial pressure
(mbar, %-vol, %-sat) is selectable at the 4-20 mA interface, but also oxygen concentration (mg/l, μg/l,
ppb, ppm, ppm gas).

111004302/01 page 23 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.4.5.7 Defining a Constant Current Output for Testing

i Note:
For constant current output, the AO1 / AO2 must be set to analogue interface mode 4-20 mA fixed
(0x01) (see Table 8):

Start Number Reg1 / Reg2 Modbus Read Write


register of (float) function code access access
registers
4384 2 Constant current output value for AO1 3, 4, 16 U/A/S S
[mA]
4512 2 Constant current output value for AO2 3, 4, 16 U/A/S S
[mA]

Values lower than 4mA respectively higher than 20mA will automatically be set within the limits.

2.4.5.8 Defining the Error and Warning Output of the 4-20 mA Interface
Errors and warnings can be mapped to the AO1 / AO2.

Start Number Reg1 / Reg3 / Reg5 / Reg7 / Modbus Read Write


register of Reg2 Reg4 Reg6 Reg8 function access access
registers (bitwise (float) (float) (float) code
defined)
4386 8 Code of Current in Current in Current in 3, 4, 16 U/A/S S
warnings case of case of case of
and errors “warning” “error” for “T exceed”
for AO1 for AO1 AO1 [mA] for AO1
[mA] [mA]
4514 8 Code of Current in Current in Current in 3, 4, 16 U/A/S S
warnings case of case of case of
and errors “warning” “error” for “T exceed”
for AO2 for AO2 AO2 [mA] for AO2
[mA] [mA]

Table 10 Code for the 4-20 mA interface in case of errors and warnings.
Code Behavior of the 4-20 mA interface in case of errors and warnings
(Hex)
0x000001 Error continuous output
0x010000 Warning continuous output

If the corresponding bits for the errors and warnings are not set (=0), the respective options are
inactive.
“T exceed” is always active. What means that in case of a measurement temperature limit violation, the
output current will be as the specified value. “T exceed” values lower than 3.5mA respectively higher
than 4mA will automatically be set within the limits.

The “T exceeds” limits are:


Minimal current value: 3.5 mA
Maximal current value: 4 mA

The default settings are:


• Code 0x01
• current in case of warnings: 3.5 mA
• current in case of errors: 3.5 mA
• current in case of measurement
temperature limits violation: 3.5 mA

111004302/01 page 24 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

Table 11 Example: Read the settings for AO1 in case of warnings and errors
Command: ErrorWarnings AO1 Modbus address: 4386 Length: 8 Type: 3 Read
Parameter: Warning code Current in case Current in case of Current in case of
of warning error temperature exceed
[mA] [mA] [mA]
Format: Hex Float Float Float
Value: 0x010001 3.5 3.5 3.5

Warning code 0x010001 corresponds to the continuous output current in case of warning (0x010000)
and continuous output current in case of error (0x01) of 3.5 mA. The output current in case of
temperature exceed is 3.5 mA.

For more information about warnings, errors and temperature limits, see chapter 2.11.

2.4.6 Reading the Internally Calculated Output Current


Reg. 4414 / 4542 provides internal calculated output current of AO1 / AO2. These values are helpful to
compare against the externally measured electrical current.

Start Number of Reg1 / Reg2 Reg3 / Reg4 Modbus Read Write


register registers (float) (float) function code access access
4414 4 Set point Internally measured 3, 4 U/A/S none
[mA] [mA]
AO1 AO1
4542 4 Set point Internally measured 3, 4 U/A/S none
[mA] [mA]
AO2 AO2

Attention:
The current outputs are provided by the Arc Wi 2G Adapter BT. Therefore, the sensor cannot internally
measure any output currents. Reg3/Reg4 always deliver the same value as Reg1/Reg2 even though
there is no Arc Wi 2G Adapter BT connected. This is due to compatibility to other Arc Sensors.

2.4.7 Configuration of the ECS Interface


The ECS interface is used to emulate a classical electrochemical DO sensor, having a cathode and an
anode, and a 22 kOhm NTC (temperature sensor). The 22 kOhm NTC is realized in the VisiFerm
RS485 hardware and cannot be modified by software settings. The current on the cathode, however,
can be modified by using the registers described below.

Attention
• The configuration of the ECS interface is only effective if register 4360 (analog interface mode)
is set to the value of 0x0100 or 0x0200 (see chapter 2.4.4).
• Please note that – unlike to the 4-20 mA analog output – only PMC1 (“oxygen”) can be mapped
to the ECS output.

The ECS interface freezes if


• the measure mode is in Hold Mode, see chapter 2.6
or
• the current temperature is outside the user defined measurement temperature range (reg.
4624).

111004302/01 page 25 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.4.7.1 Reading the Minimum and Maximum Possible Output Current at the ECS Interface
Register 4394 delivers the limits of the physical output current for the ECS interface.

Start Number of Reg1 / Reg2 Reg3 / Reg4 Modbus Read Write


register registers (float) (float) function code access access
4394 4 Min physical Max physical 3, 4 U/A/S none
output current output current
[nA] [nA]

The limits are fixed to:


Minimum is 0.0nA
Maximum is 500.0 nA

i Note:
A current at 499 nA indicates, that the temperature is outside the sensor operating area.

2.4.7.2 Defining the Characteristics of the Emulated Electrochemical Sensor

Figure 16 Typical characteristic of an electrochemical dissolved oxygen sensor at fixed temperature

In Figure 16 a typical characteristic of an electrochemical dissolved oxygen sensor at fixed temperature


(here 25 °C) the current generated at the cathode by the reduction of oxygen is proportional to the
oxygen partial pressure, here expressed as %-vol in a gas mixture. If no oxygen is present, the current
is zero. The linear curve is defined by the current at zero oxygen and the current in air (20.95 %-vol).
For a typical sensor, these values are 0 and 60 nA at 25 °C.

111004302/01 page 26 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

Figure 17 Measurement current of a typical electrochemical DO sensor as a function of temperature

In Figure 17 the measurement current of a typical electrochemical DO sensor as a function of


temperature, at fixed oxygen partial pressure (here 20.95 %-vol). The current generated at the cathode
is an exponential function of temperature. At 25 °C, the current is typically 60 nA.

The exponential function is defined as:

I Teff = I 25°C * EXP(0.0306*( Teff -25))

with:
I 25°C : electrical current at 25 °C
I Teff : electrical current at effective temperature
Teff : effective temperature in °C

The value of 3.06 (unit %/°C) is the temperature coefficient for Hamilton DO sensors (Oxyferm,
OxyGold, Oxysens). It can be different for sensors of other manufacturers.

Register 4398 defines the characteristics of the electrochemical sensor to be simulated with the ECS
interface.

Start Number of Reg1 / Reg2 Reg3 / Reg4 Reg5 / Reg6 Modbus Read Write
register registers (float) (float) (float) function access access
code
4398 6 Electrical Electrical Temperature 3, 4, 16 U/A/S S
Current in Current in air coefficient
zero oxygen at 25°C [%/°C]
at 25°C [nA] [nA]

The factory setting for register 4398 is:


• the current in zero oxygen: 0 nA
• the current in air: 60 nA
• the temperature coefficient: 3.06 %/°C.

111004302/01 page 27 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

The ECS output current is calculated by VisiFerm RS485 sensor as follows:

I ECS = I Reg.4398/99 + I Reg.4400/01 * {(PMC1 / 20.95) * EXP(TC Reg.4402/03 *( PMC6 -25))}

I Reg.4398/99 : current defined in register 4398/99


I Reg.4400/01 : current defined in register 4400/01
TC Reg.4402/03 : temperature coefficient defined in register 4402/03
PMC1 : value of PMC1 in %-vol
PMC6 : value of PMC6 in °C

i Note:
• It is not mandatory to program a temperature coefficient above 0. If set to 0, the current at the
ECS output will be directly proportional to PMC1. No temperature compensation.
• The current at zero oxygen can be higher than 0.
• Changing the physical units for PMC1 (register 2090) has no effect on the current output at the
ECS.

2.4.7.3 Defining a Constant Current Output for Testing

i Note:
For constant ECS output current, VisiFerm RS485 must be set to the analog interface mode 0x0100
(see Table 8).
The constant output current is a test value and completely independent from oxygen reading and
temperature.

Start Number of Reg1 / Reg2 Modbus Read Write


register registers (float) function code access access
4404 2 Constant current ECS [nA] 3, 4, 16 U/A/S S

111004302/01 page 28 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.4.7.4 Defining Error and Warning Output of ECS


Errors and warnings can be mapped to the ECS.

Start Number Reg1 / Reg3 / Reg5 / Reg7 / Modbus Read Write


register of Reg2 Reg4 Reg6 Reg8 function access access
registers (bitwise (float) (float) (float) code
defined)
4406 8 Code of Current in Current in Current in 3, 4, 16 U/A/S S
warnings case of case of case of
and “warning” “error” “T exceed”
errors [nA] [nA] [nA]
(Table
12)

Table 12 Code for the ECS interface in case of errors and warnings.
Code (Hex) 4-20 mA interface in case of errors and warnings
0x000001 Error continuous output
0x010000 Warning continuous output

i Note:
If the corresponding bit for the errors and warnings is not set (0), the respective Option is not active.

The default settings are:


• code 0x00
• current in case of “warnings”: 433 nA
• current in case of “errors”: 466 nA
• current in case of “T exceed”: 499 nA

2.4.8 Reading the Internally Measured Output Current


Reg. 4414 provides internal parameters of the ECS output interface AO1:
• the setpoint to which the current is regulated in a closed loop control
• the electrical current the sensor is measuring to feed the closed loop control

These values are helpful to compare against the externally measured electrical current.

Start Number of Reg1 / Reg2 Reg3 / Reg4 Modbus Read Write


register registers (float) (float) function code access access
4414 4 Set point AO1 Internally measured 3, 4 U/A/S none
[nA] current AO1
[nA]

To know which current loop is active, please refer to chapter 2.4.4.

111004302/01 page 29 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.5 Measurement

2.5.1 Definition of Measurement Channels and Physical Units


The Arc Modbus register structure allows the definition of 6 individual Primary Measurement Channels
(PMC), and 16 individual Secondary Measurement Channels (SMC).

Table 13 Definition of PMC1 to 6 and SMC1 to 16


Code Description Definition
(Hex)
0x000001 PMC1 Oxygen
0x000020 PMC6 Temperature

In Register 2048, the available PMC and SMC are defined for a specific sensor and a specific operator
level.

Start Number of Reg1 / Reg2 Modbus Read Write


register registers (bitwise defined) function code access access
2048 2 Available measurement channels 3, 4 U/A/S none
PMC and SMC (bitwise set)

Table 14 Example to read Reg. 2048


Command: Avail. meas. channels Modbus address: 2048 Length: 2 Type: 3 Read
Parameter: Avail. meas. ch.
PMC and SMC
Format: Hex
Value: 0x21

In case of operator level U, A or S, the value 0x21 is returned. In other words: PMC1 and PMC6 are
available to the operator U, A or S.

111004302/01 page 30 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

The VisiFerm RS485 Modbus register structure uses the following physical units used for Primary or
Secondary Measurement Channels.

Table 15 Definition of physical units


Code Physical Start register. (8 ASCII characters, length 4 registers, Type 3, read
(Hex) unit for U/A/S)
0x00000001 none 1920
0x00000002 K 1924
0x00000004 °C 1928
0x00000008 °F 1932
0x00000010 %-vol 1936
0x00000020 %-sat 1940
0x00000040 ug/l ppb 1944
0x00000080 mg/l ppm 1948
0x00000100 g/l 1952
0x00000200 uS/cm 1956
0x00000400 mS/cm 1960
0x00000800 1/cm 1964
0x00001000 pH 1968
0x00002000 mV/pH 1972
0x00004000 kOhm 1976
0x00008000 MOhm 1980
0x00010000 pA 1984
0x00020000 nA 1988
0x00040000 uA 1992
0x00080000 mA 1996
0x00100000 uV 2000
0x00200000 mV 2004
0x00400000 V 2008
0x00800000 mbar 2012
0x01000000 Pa 2016
0x02000000 Ohm 2020
0x04000000 %/°C 2024
0x08000000 ° 2028
0x10000000 not used 2032
0x20000000 not used 2036
0x40000000 not used 2040
0x80000000 SPECIAL 2044

Table 16 Example to read the physical unit in plain text ASCII in register 1952
Command: Unit text Modbus address: 1952 Length: 4 Type: 3 Read
Parameter: Text
Format: 8 ASCII characters
Value: “g/l”

111004302/01 page 31 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.5.2 Primary Measurement Channel 1 (Oxygen)

2.5.2.1 Definition of PMC1


Start Data size Function Data type Modbus Read Write
register (registers) function access access
code
2080 8 Description of PMC1 ASCII 3, 4 U/A/S none
chars
2088 2 Available physical units of PMC1 uint 3, 4 U/A/S none
2090 2 Selected physical unit for PMC1 uint 16 none S

In register 2080, a plain text ASCII description of PMC1 is given. PMC1 for VisiFerm RS485 is called
“DO”.

In register 2088, the available physical units for this channel are defined. The available physical units
for Calibration: 0x108000F0 → ppm gas, mbar, mg/l ppm, ug/l ppb, %-sat and %-vol

In register 2090, the active physical unit for this channel can be selected, by choosing one of the
physical units that are defined in register 2088.
Selecting an invalid unit code will leave the current unit unchanged.

Table 17 Example to set the physical unit of PMC1 to %-vol (0x00000010)


Command: PMC1 set unit Modbus address: 2090 Length: 2 Type: 16 Write
Parameter: Unit
Format: Hex
Value: 0x00000010

i Note:
A change of the PMC1 unit will also automatically change the calibration unit, see chapter 2.10.2.1.

Attention:
Changing the physical unit of PMC1 has also an influence on the output of the 4-20 mA analog output,
as the same physical unit is active for 4-20 mA. All limits of the 4-20 mA analog output must be
redefined after changing the physical unit! See chapter 2.4.5 for more details.

Example 1: Reading the available physical units of PMC1 (Oxygen)

Read the available physical units of PMC1 at register 2088 with length 2 and function-code 3.

Request:

The command in HEX-format sent to the sensor:


0x 01 03 08 27 00 02 76 60

0x 01 Server address (decimal “01”)


0x 03 Function code “Read Holding Registers”
0x 08 27 Starting address (decimal “2087”)
0x 00 02 Number of registers (decimal “02”)
0x 76 60 CRC

111004302/01 page 32 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

Response:

The answer received in HEX-format from the sensor:


0x 01 03 04 00 F0 00 80 FB A0

0x 01 Server address (decimal “01”)


0x 03 Function code “Read Holding Registers”
0x 04 Data-Byte count (decimal “04”)
0x 00 F0 Register 1 (decimal “240”) Available physical unit – low register
0x 00 80 Register 2 (decimal “128”) Available physical unit – high register
0x FB A0 CRC
Registers 2 and 1 together result in 0x 008000F0 which represents the available physical units %-vol
(0x00000010), %-sat (0x00000020), ug/l ppb (0x00000040), mg/l ppm (0x00000080) and mbar
(0x00800000), see chapter 2.5.1

Example 2: Writing the physical unit of PMC1 (Oxygen)

Writing to register 2090 with length 2 and function-code 16:

Request:

The command in HEX-format sent to the sensor:


0x 01 10 08 29 00 02 04 00 20 00 00 57 D7

0x 01 Server address (decimal “01”)


0x 10 Function code “Write Multiple Registers”
0x 08 29 Starting address (decimal “2089”)
0x 00 02 Quantity of registers (decimal “2”)
0x 04 Byte count (decimal “4”)
0x 00 20 Register 1 (hex) Physical unit – low register
0x 00 00 Register 2 (hex) Physical unit – high register
0x 57 D7 CRC

Response:

The answer received in HEX-format from the sensor:


0x 01 10 08 29 00 02 92 60

0x 01 Server address (decimal “01”)


0x 10 Function code “Write Multiple Registers”
0x 08 29 Starting address (decimal “2089”)
0x 00 02 Quantity of registers (decimal “2”)
0x 92 60 CRC

111004302/01 page 33 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.5.2.2 Reading the measurement value of PMC1


Register 2090 is also used to read the measurement values of PMC1.

Start Num- Reg1 / Reg3 / Reg5 / Reg7 / Reg9 / Modbus Read Write
reg. ber of Reg2 Reg4 Reg6 Reg8 Reg10 function access access
reg. (bitwise (float) (bitwise (float) (float) code
defined) defined)
2090 10 Selected Measure Measure Min Max 3, 4 U/A/S none
physical -ment -ment allowed allowed
unit value of status (2) value (1) value (1)
PMC1 (1)
(1) Value is always in the physical unit defined in register 2090.
(2) Definition of the status see chapter 2.5.4. All bits set to zero means: no problem.

Attention:
You cannot read selectively the registers 3 and 4 for the measurement value only. You must read the
entire length of the command (10 registers) and extract the desired information.
For the definition of the Measurement Status see chapter 2.5.4.

Example: Reading PMC1 (Oxygen)

Reading register 2090 with length 10 and function-code 3 the five different values at once:
• Physical unit (registers 1 and 2) interpret as hex value
• Measurement value PMC1 (registers 3 and 4) transform to a floating-point value
• Status (registers 5 and 6) interpret as hex value
• Min allowed value (registers 7 and 8) transform to a floating-point value
• Max allowed value (registers 9 and 10) transform to a floating-point value

Request:

The command in HEX-format send to the sensor:


0x 01 03 08 29 00 0A 16 65

0x 01 Server address (decimal “01”)


0x 03 Function code “Read Holding Registers”
0x 08 29 Starting address (decimal “2089”)
0x 00 0A Number of registers (decimal “10”)
0x 16 65 CRC

Response:

The answer received in HEX-format from the sensor:


0x 01 03 14 00 10 00 00 7B C4 41 A8 00 00 00 00 00 00 00 00 CF 8D 42 7B C0 30

0x 01 Server address (decimal “01”)


0x 03 Function code “Read Holding Registers”
0x 14 Data-Byte count (decimal “20”)
0x 00 10 Register 1 (hex) Physical unit – low register
0x 00 00 Register 2 (hex) Physical unit – high register
0x 7B C4 Register 3 (floating point) Measurement value PMC1 – low register
0x 41 A8 Register 4 (floating point) Measurement value PMC1 – high register
0x 00 00 Register 5 (hex) Status – low register
0x 00 00 Register 6 (hex) Status – high register
0x 00 00 Register 7 (floating point) Min allowed value – low register
0x 00 00 Register 8 (floating point) Min allowed value – high register
0x CF 8D Register 9 (floating point) Max allowed value – low register
0x 42 7B Register 10 (floating point) Max allowed value – high register
0x C0 30 CRC

111004302/01 page 34 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

Now extract the desired information:


• The physical unit 0x00000010 of registers 2 and 1 represents %-vol, see chapter 2.5.1.
• The measurement value 0x41A87BC4 of registers 4 and 3 transformed to a floating-point figure
results in the decimal value 21.06043.
• The status 0x00000000 of registers 6 and 5 indicate that there is no error or warning.
• The min allowed value 0x00000000 in registers 8 and 7 transformed to a floating-point figure
results in the decimal value 0.
• The max allowed value 0x427BCF8D in registers 10 and 9 transformed to a floating-point
figure results in the decimal value 62.95269.

2.5.3 Primary Measurement Channel 6 (Temperature)


The VisiFerm RS485 sensor has a built-in temperature sensor (NTC22kΩ). This temperature sensor is
to be used only for monitoring the sensor conditions, not for controlling the process temperature.

2.5.3.1 Definition of PMC6


Start Data size Function Data type Modbus Read Write
register (registers) function access access
code
2400 8 Description of PMC6 ASCII 3, 4 U/A/S none
chars
2408 2 Available physical units of PMC6 uint 3, 4 U/A/S none
2410 2 Selected physical unit for PMC6 uint 16 none S

In register 2400, a plain text ASCII description of PMC6 is given. PMC6 is called “T”.

In register 2408, the available physical units for this channel are defined. The available physical units
for PMC6: 0x0000000E => K, °C and °F

In register 2410, the active physical unit for this channel can be selected, by choosing one of the
physical units that are defined in register 2408.
Selecting an invalid unit code will leave the current unit unchanged.

Attention:
Changing the physical unit of PMC6 has also an influence on the output of AO1 / AO2, as the same
physical unit is active for the analog outputs. All limits of the 4-20 mA analog output must be redefined
after changing the physical unit! See chapter 2.4.5 for more details.

2.5.3.2 Reading the measurement value of PMC6


Register 2410 is also used to read the measurement values of PMC6.

Start Num- Reg1 / Reg3 / Reg5 / Reg7 / Reg9 / Modbus Read Write
reg. ber of Reg2 Reg4 Reg6 Reg8 Reg10 function access access
reg. (bitwise (float) (bitwise (float) (float) code
defined) defined)
2410 10 Selected Measure Measure Min Max 3, 4 U/A/S none
physical -ment -ment allowed allowed
unit value of status (2) value (1) value (1)
PMC6 (1)
(1) Value is always in the physical unit defined in register 2410, length 2.
(2) For definition of the status see chapter 2.5.4. All bits set to zero means: no problem.

111004302/01 page 35 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

Table 18 Example to read register 2410


Command: PMC6 read Modbus address: 2410 Length: 10 Type: 3 Read
Parameter: Unit Value Status Min limit Max limit
Format: Hex Float Hex Float Float
Value: 0x04 27.42447 0x00 -20 140

Physical unit is set to °C, PMC6 is 27.42 (°C), Status is 0x00, Min allowed value is -20 °C, Max allowed
value is 140 °C.

Attention:
You cannot read selectively the registers 3 and 4 for the measurement value only. You must read the
entire length of the command (10 registers) and extract the desired information.

Example: Reading PMC6 (Temperature)

Reading register 2410 with length 10 and function-code 3:


• Physical unit (registers 1 and 2) interpret as hex value
• Measurement value PMC6 (registers 3 and 4) transform to a floating-point value
• Status (registers 5 and 6) interpret as hex value
• Min allowed value (registers 7 and 8) transform to a floating-point value
• Max allowed value (registers 9 and 10) transform to a floating-point value

Request:

The command in HEX-format send to the sensor:


0x 01 03 09 69 00 0A 16 4D

0x 01 Server address (decimal “01”)


0x 03 Function code “Read Holding Registers”
0x 09 69 Starting address (decimal “2409”)
0x 00 0A Number of registers (decimal “10”)
0x 16 4D CRC

Response:

The answer received in HEX-format from the sensor:


0x 01 03 14 00 04 00 00 2A E0 41 D1 00 00 00 00 00 00 C2 20 00 00 43 02 70 E5

0x 01 Server address (decimal “01”)


0x 03 Function code “Read Holding Registers”
0x 14 Data-Byte count (decimal “20”)
0x 00 04 Register 1 (hex) Physical unit – low register
0x 00 00 Register 2 (hex) Physical unit – high register
0x 2A E0 Register 3 (floating point) Measurement value PMC6 – low register
0x 41 D1 Register 4 (floating point) Measurement value PMC6 – high register
0x 00 00 Register 5 (hex) Status – low register
0x 00 00 Register 6 (hex) Status – high register
0x 00 00 Register 7 (floating point) Min allowed value – low register
0x C2 20 Register 8 (floating point) Min allowed value – high register
0x 00 00 Register 9 (floating point) Max allowed value – low register
0x 43 02 Register 10 (floating point) Max allowed value – high register
0x 70 E5 CRC

111004302/01 page 36 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

Now extract the desired information:


• The physical unit 0x00000004 of registers 2 and 1 represents °C, see chapter 2.5.1.
• The measurement value 0x41D12AE0 in registers 4 and 3 transformed to a floating-point figure
represents the decimal value 26.14594.
• The status 0x00000000 of registers 6 and 5 indicates that there is no error or warning
• The min allowed value 0xC2200000 in registers 8 and 7 transformed to a floating-point figure
represents the decimal value -40.
• The max allowed value 0x43020000 in registers 10 and 9 transformed into a floating-point
figure represents the decimal value 130.

2.5.3.3 Input of an Externally Measured Temperature


The VisiFerm RS485 sensor offers the possibility to preset the temperature value PMC6 externally for
the sensor.

External temperature data can be written into register 2410. The value must be within the range of
“measurement temperature min” and “measurement temperature max”, see chapter 2.8.1 (register
4612). External temperature data will then be used for the internal calculations instead of the internally
measured temperature. If the external reading exceeds the min-max measurement temperature range,
the sensor will automatically fall back to the internal measurement. The same switch to internal
temperature measurement will happen after sensor power on!
As soon as Reg. 2410 is written, the external temperature data is used for all calculation, interface and
calibration procedures, except for warnings and errors.

Start Number of Reg1 / Reg2 Reg3 / Reg4 Modbus Read Write


register Register (bitwise defined) (float) function code access access
2410 4 Physical unit External 16 none S
(bitwise defined) temperature

Table 19 Example to set the physical unit to °C (0x04) and the value of the external temperature
Command: PMC6 set Modbus address: 2410 Length: 4 Type: 16 Write
Parameter: Unit Value
Format: Hex Float
Value: 0x04 25

Attention:
The operator needs to guarantee regular data update, once external temperature data has been written
to register 2410.

111004302/01 page 37 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.5.4 Definition of the Measurement Status for PMC1 / PMC6


This is the definition of the status registers read in registers 2090 (PMC1) and 2410 (PMC6):

Table 20 Definition of measurement status for Primary Measurement Channels


Code Description
(Hex)
Temperature out of user defined measurement temperature range
0x01 (see chapter 2.11.1)
Temperature out of operating range
0x02 (see chapter 2.11.1)

0x04 Not available


Warning not zero
0x08 (see chapter 2.11.3)
Error not zero
0x10 (see chapter 2.11.4)

111004302/01 page 38 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.6 Measurement Hold Mode


The measurement hold mode is not persistently stored in the VisiFerm RS485, therefore on every
sensor start up, the measurement hold mode is in the “on” mode (default mode).
A detailed description of the measurement hold mode is described in Figure 18.

Figure 18: Description of the measurement hold mode functionality

The measurement hold mode for PMC1 and PMC6 is selected by programming the mode in register
2064.

Start Number of Reg1 / Reg2 Modbus Read Write


register registers (bitwise defined) function code access access
2064 2 Measurement Hold Mode, see Table 21 3, 4, 16 S S

Table 21 Code for selection of the measurement hold mode


Code Description
(Hex)
0x00 Off
• PMC1 and PMC6 values set to -999
• Measurement status “Temperature out of operating
range” is set, see chapter 2.5.4
• Measurement warning “Measurement not running” is
set, see chapter 2.11.3

0x01 On
• current measured value output of PMC1 and PMC6

0x02 Hold Value


• PMC1 and PMC6 values are frozen
• Measurement warning “Measurement not running” is
set, see chapter 2.11.3

111004302/01 page 39 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.7 Configuration of the Measurement


This chapter describes the configuration of PMC1 and PMC6 by means of measurement parameters
(PA).

2.7.1 Available Parameters


In register 3072, all available parameters (PA) are given.

Start Number of Reg1 / Reg2 Modbus Read Write


register registers (bitwise defined) function code access access
3072 2 Available parameters (see Table 22) 3, 4 U/A/S none

Table 22 Bitwise definition of all parameters PA1 to PA16


Code Description Definition in VisiFerm RS485
(Hex)
0x0001 PA1 Salinity
0x0002 PA2 Atmospheric pressure
0x0004 PA3 Humidity
0x0100 PA9 Moving average
0x0200 PA10 Number of sub-measurements
0x1000 PA13 Measurement interval
0x2000 PA14 Sensor cap part number

Table 23 Example to read the available Parameters with operator level S


Command: Available parameters Modbus address: 3072 Length: 2 Type: 3 Read
Parameter: Measurement
parameters
Format: Hex
Value: 0x3307

The hex value 0x3307 corresponds to 0x01 (PA1) + 0x02 (PA2) + 0x04 (PA3) + 0x0100 (PA9) +
0x0200 (PA10) + 0x1000 (PA13) + 0x2000 (PA14).

i Note:
• PA1 to PA8 use FLOAT as data format for its values
• PA9 to PA16 use UNSIGNED INT as data format for its values

111004302/01 page 40 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.7.2 PA1: Salinity


The physical measurement of VisiFerm RS485 is responding to the partial pressure of oxygen. For a
given partial pressure of oxygen in air, the concentration of dissolved oxygen in saturated water is
strongly dependent on temperature, as well as on its salinity. By measuring the partial pressure of
oxygen and correcting for temperature and salinity, VisiFerm RS485 can determine the concentration of
oxygen in a sample.
At 25°C and in air saturated, pure water, the concentration of dissolved oxygen is 8.2 mg/l. The more
salt, the lower the solubility.

Solubility of oxygen in aqueous solutions,


as a function of temperature and salinity
14
0 mS/cm

12 10 mS/cm
dissolved oxygen / mg/l

20 mS/cm
10
40 mS/cm
50 mS/cm
8

2
0 10 20 30 40 50 60 70 80

temperature / °C

Figure 19 Solubility of oxygen as a function of temperature and salinity, in air saturated aqueous solution.
Temperature range is from 0-85 °C.

2.7.2.1 Description of PA1 (Salinity)


In register 3104, a plain text ASCII description of PA1 is given. It returns “Salinity”.

Start Number of Reg1 to Reg8 Modbus Read Write


register registers 16 ASCII characters function code access access
3104 8 Description of PA1 3, 4 U/A/S none

2.7.2.2 Selecting the Physical Unit and Writing the Value for PA1
In register 3112, the available physical units for PA1 are defined. The only one available unit here is
mS/cm (0x400). For the definition of the physical units see Table 15.

Start Number of Reg1 / Reg2 Modbus Read Write


register registers (bitwise defined) function code access access
3112 2 Available physical units for PA1 3, 4 U/A/S none

111004302/01 page 41 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

By writing to register 3114, the active physical unit for PA1 can be selected, by choosing one of the
physical units that are defined in register 3112. According to register 3112 only one bit for the physical
unit can be set. The value of the parameter can be set as well.

Start Number of Reg1 / Reg2 Reg3 / Reg4 Modbus Read Write


register registers (bitwise defined) (float) function code access access
3114 4 Select physical unit Value for PA1 16 none S
for PA1 (0-50mS/cm)

2.7.2.3 Reading all Values for PA1


By reading register 3114, the active physical unit, the selected value, and the min and max allowed
values can be read.
The unit is always mS/cm (0x400), the min is 0 (mS/cm) and the max is 50 (mS/cm).

Start Number of Reg1 / Reg3 / Reg5 / Reg7 / Modbus Read Write


register registers Reg2 Reg4 Reg6 Reg8 function access access
(bitwise (float) (float) (float) code
defined)
3114 8 Physical Current Min Max 3, 4 U/A/S none
unit value value value

The default settings are:


• Physical unit of PA1: 0x400 (mS/cm)
• Current value of PA1: 0.0 (mS/cm)
• Min value of PA1: 0.0 (mS/cm)
• Max value of PA1: 50.0 (mS/cm)

111004302/01 page 42 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.7.3 PA2: Pressure


The VisiFerm RS485 sensor measures the partial pressure of oxygen. The partial pressure of oxygen is
proportional to the atmospheric pressure or the pressure of the air supply to the process. To
compensate for changes in atmospheric pressure or pressure of air supply in the process, one can use
parameter PA2.

PA2 defines the current air pressure, the value of which is used for internal calculation.

Relationship between Oxygen Partial Pressure and Air Pressure


2500
Air Pressure / Partial Pressure [mbar]

2000 Other gases

1500

Nitrogen
1000 Other gases

Nitrogen
500

Oxygen
Oxygen
0
Air at Pressurized Air
atmospheric at 2 bar
condition

Figure 20 Influence of air pressure on the partial pressure of oxygen. Doubling the air pressure also doubles the
oxygen partial pressure.

2.7.3.1 Description of PA2 (Air Pressure)


In register 3136, a plain text ASCII description of PA2 is given. It returns “Pressure”.

Start Number of Reg1 to Reg8 Modbus Read Write


register registers 16 ASCII characters function code access access
3136 8 Description of PA2 3, 4 U/A/S none

2.7.3.2 Selecting the Physical Unit and Writing the Value for PA2
In register 3144, the available physical units for PA2 are defined. The only available unit here is mbar
(0x800000). For the definition of the physical units see Table 15.

Start Number of Reg1 / Reg2 Modbus Read Write


register registers (bitwise defined) function code access access
3144 2 Available physical units for PA2 3, 4 U/A/S none

111004302/01 page 43 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

By writing to register 3146, the active physical unit for parameter 2 can be selected, by choosing one of
the physical units that are defined in register 3144. According to register 3144 only one bit for the
physical unit can be set. The value of the parameter can be set as well.

Start Number of Reg1 / Reg2 Reg3 / Reg4 Modbus Read Write


register registers (bitwise defined) (float) function code access access
3146 4 Select physical unit Value for PA2 16 none S
for PA2 (10-12000 mbar)

2.7.3.3 Reading All Values for PA2


By reading register 3146/8 the active physical unit, the current value, and the min and max allowed
values can be read.
The unit is always mbar (0x800000), the min is 10 (mbar) and the max is 12000 (mbar).

Start Number of Reg1 / Reg3 / Reg5 / Reg7 / Modbus Read Write


register registers Reg2 Reg4 Reg6 Reg8 function access access
(bitwise (float) (float) (float) code
defined)
3146 8 Physical Current Min Max 3, 4 U/A/S none
unit value value value

The default settings are:


• Physical unit of PA2: 0x800000 (mbar)
• Current value of PA2: 1013.0 (mbar)
• Min value of PA2: 10.0 (mbar)
• Max value of PA2: 12000.0 (mbar)

111004302/01 page 44 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.7.4 PA3: Humidity


The measuring parameter 3 (PA3) Humidity defines the current humidity and is used to calculate the
volume fraction in %-vol of dissolved oxygen in gas phase.
The physical unit’s mbar, µg/l ppb, mg/l ppm and ppm gas should not be used for liquid media. The
measuring parameter 3 Humidity has no influence on these units.

2.7.4.1 Description of PA3 (Humidity)


In register 3168, a plain text ASCII description of PA3 is given. It returns “Humidity”.

Start Number of Reg1 to Reg8 Modbus Read Write


register registers 16 ASCII characters function code access access
3168 8 Description of PA3 3, 4 U/A/S none

2.7.4.2 Selecting the Physical Unit and Writing the Value for PA3
In register 3176, the available physical units for PA3 are defined. The only one available here is %
(0x20000000). For the definition of the physical units see Table 15.

Start Number of Reg1 / Reg2 Modbus Read Write


register registers (bitwise defined) function code access access
3176 2 Available physical units for PA3 3, 4 U/A/S none

By writing to register 3178/4, the active physical unit for parameter 3 can be selected, by choosing one
of the physical units that are defined in register 3176. According to register 3176 only one bit for the
physical unit can be set. The value of the parameter can be set as well.

Start Number of Reg1 / Reg2 Reg3 / Reg4 Modbus Read Write


register registers (bitwise defined) (float) function code access access
3178 4 Select physical unit Value for PA3 16 none S
for PA3 (0-100)

2.7.4.3 Reading all Values for PA3


By reading register 3178/8, the active physical unit, the current value, and the min and max allowed
values can be read.
The unit is always % (0x20000000), the min is 0 (%) and the max is 100 (%).

Start Number of Reg1 / Reg3 / Reg5 / Reg7 / Modbus Read Write


register registers Reg2 Reg4 Reg6 Reg8 function access access
(bitwise (float) (float) (float) code
defined)
3178 8 Physical Current Min Max 3, 4 U/A/S none
unit value value value

The default settings are:


• Physical unit of PA3: 0x20000000 (%)
• Current value of PA3: 0.0 (%)
• Min value of PA3: 0.0 (%)
• Max value of PA3: 100.0 (%)

111004302/01 page 45 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.7.5 PA9: Moving Average


VisiFerm RS485 calculates new oxygen readings with a measurement interval defined in PA13. One
has the possibility to smoothen the oxygen and temperature reading (PMC1 and PMC6) by means of a
moving average.
Figure 21 shows a comparison between no moving average (n=1) and a moving average over 50
readings at a measurement interval of 3 second.

Figure 21 Comparison of the response of VisiFerm RS485 to a change from air to zero oxygen

Using moving average, the short-term signal stability can be improved; on the other hand, the response
time of the sensor increases with increasing moving average. A moving average over 50 samples
results in a response time of at least 50 times the measurement interval defined in PA13.

i Note:
The moving average defined by PA9 is applied to both PMC1 and PMC6

111004302/01 page 46 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.7.5.1 Description of PA9 (Moving Average)


In register 3360, a plain text ASCII description of PA9 is given. It returns “Moving average”.

Start Number of Reg1 to Reg8 Modbus Read Write


register registers 16 ASCII characters function code access access
3360 8 Description of PA9 3, 4 U/A/S none

2.7.5.2 Selecting the Physical Unit and Writing the Value for PA9
In register 3368, the available physical units for PA9 are defined. The only one available here is “none”
(0x01). For the definition of the physical units see Table 15.

Start Number of Reg1 / Reg2 Modbus Read Write


register registers (bitwise defined) function code access access
3368 2 Available physical units for PA9 3, 4 U/A/S none

By writing to register 3370/4, the active physical unit for PA9 can be selected, by choosing one of the
physical units that are defined in register 3368. According to register 3368 only one bit for the physical
unit can be set. The value of the parameter can be set as well.

Start Number of Reg1 / Reg2 Reg3 / Reg4 Modbus Read Write


register registers (bitwise defined) (uint) function code access access
3370 4 Select physical unit Value for PA9 16 none S
for PA9 (1-150, default: 50)

PA9 can take values between 1 and 150. The value of 1 does not influence the response time of the
sensor, the value of 50 increases the response time 50 times the value of the measurement interval.

2.7.5.3 Reading all Values for PA9


By reading register 3370/8, the active physical unit of measurement, the current value, and the min and
max values can be read.
The unit is always none (0x01), the min is 1 and the max is 150.

Start Number of Reg1 / Reg3 / Reg5 / Reg7 / Modbus Read Write


register registers Reg2 Reg4 Reg6 Reg8 function access access
(bitwise (uint) (uint) (uint) code
defined)
3370 8 Physical Current Min Max 3, 4 U/A/S none
unit value value value

The default settings are:


• Physical unit of PA9: 0x00000001 (none)
• Current value of PA9: 50
• Min value of PA9: 1
• Max value of PA9: 150

111004302/01 page 47 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.7.6 PA10: Number of Sub-Measurements (Resolution)


The measurement value of VisiFerm RS485 in each measurement interval is on itself an average over
16 (or less) individual sub-measurements. With PA10, the number of sub-measurements can be set
between 1 and 16. The advantage of using a smaller amount of sub-measurements is a shorter
exposure of the luminophore to the excitation light. Photo bleaching of the luminophore will be reduced.
The disadvantage is a reduced signal quality.
In case of a measurement interval (PA13) of 1 or 2 seconds, the resolution has a maximum of 3 sub-
measurements. The number of sub-measurements will be automatically set if the measurement interval
is set to 1 or 2 seconds and the resolution was greater than 3.

Figure 22 Comparison of the signal stability of VisiFerm RS485

2.7.6.1 Description of PA10 (Number of Sub-Measurements)


In register 3392, a plain text ASCII description of PA10 is given. It returns “Resolution”.

Start Number of Reg1 to Reg8 Modbus Read Write


register registers 16 ASCII characters function code access access
3392 8 Description of PA10 3, 4 U/A/S none

2.7.6.2 Selecting the Physical Unit and Writing the Value for PA10
In register 3400, the available physical units for PA10 are defined. The only one available here is
“none” (0x01). For the definition of the physical units see Table 15.

Start Number of Reg1 / Reg2 Modbus Read Write


register registers (bitwise defined) function code access access
3400 2 Available physical units for PA10 3, 4 U/A/S none

111004302/01 page 48 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

By writing to register 3402/4, the active physical unit of PA10 can be selected, by choosing one of the
physical units that are defined in register 3400. According to register 3400 only one bit for the physical
unit can be set. The value of the parameter can be set as well.

Start Number of Reg1 / Reg2 Reg3 / Reg4 Modbus Read Write


register registers (bitwise defined) (uint) function code access access
3402 4 Select physical unit Value for PA10 16 none S
for PA10 (1-16, default: 8)

PA10 can take values between 1 and 16.

2.7.6.3 Reading all Values for PA10


By reading register 3402/8, the active physical unit, the current value, and the min and max values can
be read.
The unit is always none (0x01), the min is 1 and the max is 16.

Start Number of Reg1 / Reg3 / Reg5 / Reg7 / Modbus Read Write


register registers Reg2 Reg4 Reg6 Reg8 function access access
(bitwise (uint) (uint) (uint) code
defined)
3402 8 Physical Current Min Max 3, 4 U/A/S none
unit value value value

The default settings are:


• Physical unit of PA10: 0x00000001 (none)
• Current value of PA10: 8
• Min value of PA10: 1
• Max value of PA10: 16

Attention:
If PA13 (Measurement Interval) is set to one or two, PA10 (Number of sub-measurements) will be
limited from one to three.

Table 24 The limits for the minimum number of sub-measurements in dependency of the measurement interval
PA13 (Measurement Interval) PA13 (Measurement Interval)
<3 ≥3
PA10 1 to 3 1 to 16
(Number of sub-measurements)

111004302/01 page 49 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.7.7 PA13: Measurement Interval


The measurement interval for the VisiFerm RS485 can be set between 1s and 300s (5min). The
dissolved oxygen measurement cannot be deactivated by writing a 0 to the measurement interval
register. When increasing the interval, the sensor cap respectively the luminophore is preserved better,
but the reaction time for an oxygen change is slower.

i Note:
1) When a CP1/CP2 calibration is initiated and the current measurement interval is greater than
3s or equals 0s, the measurement interval is temporarily set to 3s. The measurement interval is
automatically reset to the original value 10 min after the last calibration command, or after
power up. See chapter 2.10.3 for more details.
2) When a CP6 calibration is performed, the measurement interval is not changed by the sensor.

2.7.7.1 Description of PA13 (Measurement Interval)


In register 3488, a plain text ASCII description of PA13 is given. It returns “Meas. interval”.

Start Number of Reg1 to Reg8 Modbus Read Write


register registers 16 ASCII characters function code access access
3488 8 Description of PA13 3, 4 U/A/S none

2.7.7.2 Selecting the Physical Unit and Writing the Value for PA13
In register 3496, the available physical units for PA13 are defined. The only one available here is
“none” (0x01). For the definition of the physical units see Table 15.

Start Number of Reg1 / Reg2 Modbus Read Write


register registers (bitwise defined) function code access access
3496 2 Available physical units for PA13 3, 4 U/A/S none

By writing to register 3498/4, the active physical unit of PA13 can be selected, by choosing one of the
physical units that are defined in register 3496. According to register 3496 only one bit for the physical
unit can be set. The value of the parameter can be set as well.

Start Number of Reg1 / Reg2 Reg3 / Reg4 Modbus Read Write


register registers (bitwise defined) (uint) function code access access
3498 4 Select physical unit Value for PA13 16 none S
for PA13 (1-300; default: 3)

PA13 can take values between 1 and 300.

111004302/01 page 50 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.7.7.3 Reading all Values for PA13


By reading register 3498/8, the active physical unit of measurement, the current value, and the min and
max values can be read.
The unit is always none (0x01), the min is 1 and the max is 300.

Start Number of Reg1 / Reg3 / Reg5 / Reg7 / Modbus Read Write


register registers Reg2 Reg4 Reg6 Reg8 function access access
(bitwise (uint) (uint) (uint) code
defined)
3498 8 Physical Current Min Max 3, 4 U/A/S none
unit value value value

The default settings are:


• Physical unit of PA13: 0x00000001 (none)
• Current value of PA13: 3
• Min value of PA13: 1
• Max value of PA13: 300

i Note:
If the PA13 (measurement interval) is set to 1s or 2s, the current value of PA10 will internally be set to
3.
If the PA13 (measurement interval) is set to a value greater than 2s, PA10 remains unchanged.

2.7.8 PA14: Sensor Cap Part Number


The VisiFerm RS485 can be used with different sensor cap types. Each sensor cap type has its specific
measurement characteristics. The measurement parameter PA14 allows configuring the sensor cap
type used by entering the corresponding part number which can be found engraved on the sensor cap.

2.7.8.1 Description of PA14 (Sensor Cap Part Number)


In register 3520, a plain text ASCII description of PA14 is given. It returns “SensorCap PartNr”.

Start Number of Reg1 to Reg8 Modbus Read Write


register registers 16 ASCII characters function code access access
3520 8 Description of PA14 3, 4 U/A/S none

2.7.8.2 Selecting the Physical Unit and Writing the Value for PA14
In register 3528, the available physical units for PA14 are defined. The only one available here is
“none” (0x01). For the definition of the physical units see Table 15.

Start Number of Reg1 / Reg2 Modbus Read Write


register registers (bitwise defined) function code access access
3528 2 Available physical units for PA14 3, 4 U/A/S none

By writing to register 3530/4, the active physical unit of PA14 can be selected, by choosing one of the
physical units that are defined in register 3528. According to register 3530 only one bit for the physical
unit can be set. The value of the parameter can be set as well. Only valid sensor cap part numbers are
accepted by the sensor.

111004302/01 page 51 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

By default, the following sensor cap part numbers are defined:


- 243515: ODO cap H0
- 243505: ODO cap H2
- 10068400: ODO cap H3
- 10078261: ODO cap H4

Start Number of Reg1 / Reg2 Reg3 / Reg4 Modbus Read Write


register registers (bitwise defined) (uint) function access access
code
3530 4 Select physical unit Value for PA14 16 none S
for PA14 (0-1000000;
default: depends
on the order
code)

PA14 can take values between 0 and 1000000.

2.7.8.3 Reading all Values for PA14


By reading register 3530/8, the active physical unit, the current value, and the min and max values can
be read.
The unit is always none (0x01), the min is 0 and the max is 1000000.

Start Number of Reg1 / Reg3 / Reg5 / Reg7 / Modbus Read Write


register registers Reg2 Reg4 Reg6 Reg8 function access access
(bitwise (uint) (uint) (uint) code
defined)
3530 8 Physical Current Min Max 3, 4 U/A/S none
unit value value value

111004302/01 page 52 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.8 Sensor Cap History


The VisiFerm RS485 sensor offers the functionality, to track sensor cap replacements within the
sensor. The history has a depth of max. 10 sensor caps, if exceeded the oldest sensor caps entry in
the history is overwritten.

A sensor cap history dataset consists of:


- Sensor Cap part number
- Sensor Cap serial number
- Time stamp of sensor cap replacement

A replacement of a new sensor cap must be manually communicated to the sensor, by using Reg
8220.
The latest manually communicated sensor cap replacement always occupies the first element (index 0)
and the oldest always occupies the last element (index 9) of the cap history.

2.8.1 Number of Cap replacements


The manually communicated sensor cap replacement event is counted by the sensor and can be read
out with Reg 3648.

Start Number of Reg1 / Reg2 Modbus Read Write


register registers (uint) function access access
code
3648 2 Number of Sensor 3, 4 U/A/S none
Cap Replacements

2.8.2 Reading the sensor cap history


The history has a depth of max. 10 sensor caps. Reading the sensor cap history out from the sensor, at
first the desired history index must be written to the sensor with Reg 3650.

Start Number of Reg1 / Reg2 Modbus Read Write


register registers (uint) function access access
code
3650 2 Cap history index 3, 4 U/A/S U/A/S
(0-9), see Table 25

Table 25 Sensor Cap history - dataset


Sensor Cap history Sensor Cap history dataset
index
(Reg 3650/2)

0 Dataset of the latest sensor cap


replacement
- Sensor Cap part number Reg 3652/4
- Sensor Cap serial number Reg 3652/4
- Time stamp of sensor cap Reg 3656/8
replacement
… …
9 Dataset of the oldest sensor cap
replacement
- Sensor Cap part number Reg 3652/4
- Sensor Cap serial number Reg 3652/4
- Time stamp of sensor cap Reg 3656/8
replacement

111004302/01 page 53 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

After setting the desired cap history index, the requested history dataset can now be accessed with
Reg 3652, reading sensor cap reference number and serial number and with Reg 3656, reading the
time stamp of the cap replacement.

Start Number of Reg1 / Reg2 Reg3 / Reg4 Modbus Read Write


register registers (uint) (uint) function access access
code
3652 4 Sensor cap Sensor cap 16 U/A/S None
replacement replacement
history: history:

Sensor Cap part Sensor Cap serial


number number

Start Number of Reg1 to Reg8 Modbus Read Write


register registers 16 ASCII characters function access access
code
3656 8 Sensor cap replacement history: 3, 4 U/A/S None

Time stamp of sensor cap replacement

2.8.3 Store sensor cap history


The VisiFerm RS485 can be used with different sensor cap types. Each sensor cap type has its specific
measurement characteristics. The measurement parameter PA14 allows configuring the sensor cap
type used by entering the corresponding part number which can be found engraved on the sensor cap.

In case another sensor cap type replaced the old sensor cap and screwed on the sensor, the part
number of the new sensor must be written with Reg 3530/4 into the sensor, see chapter 2.7.8.

The corresponding sensor cap serial number, of the new sensor cap, which can be found engraved on
the sensor cap, must entered by using Reg 3626.

Start Number of Reg1 / Reg2 Modbus Read Write


register registers (uint) function access access
code
3626 2 Sensor Cap serial 3, 4 S S
number

Time stamp of the current ongoing sensor cap replacement in 16 ASCII character format with Reg
8224, should be written into the sensor.

Start Number of Reg1 to Reg8 Modbus Read Write


register registers 16 ASCII characters function access access
code
8224 8 Time stamp of sensor cap replacement 3, 4 U/A/S S

111004302/01 page 54 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

The replacement of a new sensor cap must be manually communicated to the sensor, by using Reg
8220.
To complete a sensor cap replacement successfully, the correct password (Reg1/Reg2 = 86974214)
and command (Reg3/Reg4 = 1) must be sent within Reg 8220.

Start Number of Reg1 / Reg2 Reg3 / Reg4 Modbus Read Write


register registers (uint) (uint) function access access
code
8220 4 Password = Store cap 16 none S
86974214 replacement
command = 1

111004302/01 page 55 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.9 Verification
The main idea of the verification parameter (VPA) is to verify the current sensor measurement value
with the last sensor calibration.
When performing such a verification, measurement parameters that are also defined within the
standard calibration points must be adjust in the same way as in the last valid standard calibration
point.
After adjusting the measurement parameters, the current measurement value can be compared with
the last valid standard calibration value.

The verification process can be done by adjusting the measurement parameter via the measurement
parameter command, the value is stored persistently into the sensor. In case that the connection
between sensor and host is interrupted, the current measurement parameter is modified, and a
possible fermentation process can run with wrong measurement parameter, even after a power up of
the sensor.

The feature of verification parameter must be switched on or off with the command in register 3684.
The verification command is not stored persistently into the sensor, a restart of the sensor the
verification command is automatically switched off.

To activate the verification feature, it must be switched on in register 3684 with the verification
command code 0x00000001 (Start Verification) as shown in Table 26. After the activation of the
verification feature, only then a write process for VPA2 (Air Pressure) and VPA3 (Humidity) is possible.
If this is not the case, a Modbus exception with the error code illegal function 0x01 is generated.

By sending the verification command code 0x00000000 (Stop Verification) in register 3684 the
verification feature is deactivated, and the sensor parameter values are restored again from the sensor
memory.

Start Number of Reg1 / Reg2 Modbus Read Write


register registers (bitwise defined) function code access access
3684 2 Verification Command (see 3, 4, 16 U/A/S/ S/D/H
Table 26) D/H

Table 26: Bitwise definition of the verification command


Hex value Description
0x00000000 Stop Verification
0x00000001 Start Verification

2.9.1 VPA1 – Salinity


In register 3686, a plain text ASCII description of Verification Parameter VPA1 is given. It returns
“Salinity”.

Start Number of Reg1 to Reg8 Modbus Read Write


register registers 16 ASCII characters function code access access
3686 8 Description of Verification Parameter 3, 4 U/A/S None

In register 3694, Verification Parameter Salinity value is given.


By reading register 3694/6 the active physical unit and the current value values can be read.

In register 3112, the available physical units for PA1 are defined. The only one available unit here is
mS/cm (0x00000400). For the definition of the physical units see Table 15.
Therefore, the unit for VPA1 is the same as defined for PA1.
The unit is always mS/cm (0x00000400) and the first parameter is always zero and is not relevant.

111004302/01 page 56 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

By writing to register 3694/6, a selection of an incorrect unit has no influence on the written value. An
incorrect unit is in no case stored and is ignored by the sensor.
The value of the verification parameter can be set as well. The limits of the verification parameter VPA1
are the same as defined in register 3114/8, the min is 0 (mS/cm) and the max is 50 (mS/cm).

The first parameter in register 3694/6 is not relevant and is ignored by the sensor.

VPA1 can take values between 0 and 50.

Start Number of Reg1 / Reg2 Reg3 / Reg4 Reg5 / Reg6 Modbus Read Write
register registers (bitwise (bitwise (float) function code access access
defined) defined)
3694 6 Not relevant Unit Verification 3, 4, 16 U/A/S S
Parameter
Air Pressure
value

Table 27 Example to set the value of the verification parameter 1 to 10 mS/cm


Command: VPA1 – Set Value Modbus address: 3708 Length: 6 Type: 16 Write
Parameter: VPA1 - VPA1 - VPA1 –
Not relevant Unit Value
Format: Hex Hex Float
Value: 0x00000000 0x00000400 10

2.9.2 VPA2 – Pressure


In register 3700, a plain text ASCII description of Verification Parameter VPA2 is given. It returns
“Pressure”.

Start Number of Reg1 to Reg8 Modbus Read Write


register registers 16 ASCII characters function code access access
3700 8 Description of Verification Parameter 3, 4 U/A/S None

In register 3708, Verification Parameter Pressure value is given.


By reading register 3708/6 the active physical unit and the current value values can be read.

In register 3144, the available physical units for PA2 are defined. The only one available unit here is
mbar (0x00800000). For the definition of the physical units see Table 15.
Therefore, the unit for VPA2 is the same as defined for PA2.
The unit is always mbar (0x00800000) and the first parameter is always zero and is not relevant

By writing to register 3708/6, a selection of an incorrect unit has no influence on the written value and is
in no case stored and is ignored by the sensor.
The value of the verification parameter can be set as well. The limits of the verification parameter VPA2
are the same as defined in register 3146/8, the min is 10 (mbar) and the max is 12000 (mbar).

The first parameter in register 3708/6 is not relevant and is ignored by the sensor.

VPA2 can take values between 10 and 12000.

Start Number of Reg1 / Reg2 Reg3 / Reg4 Reg5 / Reg6 Modbus Read Write
register registers (bitwise (bitwise (float) function code access access
defined) defined)
3708 6 Not relevant Unit Verification 3, 4, 16 U/A/S S
Parameter
Air Pressure
value

111004302/01 page 57 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

Table 28 Example to set the value of the verification parameter 2 to 200 mbar
Command: VPA2 – Set Value Modbus address: 3708 Length: 6 Type: 16 Write
Parameter: VPA2 - VPA2 - VPA2 –
Not relevant Unit Value
Format: Hex Hex Float
Value: 0x00000000 0x00800000 200

2.9.3 VPA3 – Humidity


In register 3714, a plain text ASCII description of Verification Parameter VPA3 is given. It returns
“Humidity”.

Start Number of Reg1 to Reg8 Modbus Read Write


register registers 16 ASCII characters function code access access
3714 8 Description of Verification Parameter 3, 4 U/A/S none

In register 3722, Verification Parameter Humidity value is given.


By reading register 3722/6 the active physical unit and the current value values can be read.

In register 3176, the available physical units for PA3 are defined. The only one available unit here is
percent (0x20000000). For the definition of the physical units see Table 15.
Therefore, the unit for VPA3 is the same as defined for PA3.
The unit is always percent (0x20000000) and the first parameter is always zero and is not relevant

By writing to register 3722/6, a selection of an incorrect unit has no influence on the written value and is
in no case stored and is ignored by the sensor.
The value of the verification parameter can be set as well. The limits of the verification parameter VPA3
are the same as defined in register 3178/8, the min is 0 (%) and the max is 100 (%).

The first parameter in register 3722/6 is not relevant and is ignored by the sensor.

VPA3 can take values between 0 and 100.

Start Number of Reg1 / Reg2 Reg3 / Reg4 Reg5 / Reg6 Modbus Read Write
register registers (bitwise (bitwise (float) function code access access
defined) defined)
3722 6 Not relevant Unit Verification 3, 4, 16 U/A/S S
Parameter
Humidity
value

Table 29 Example to set the value of the verification parameter 3 to 10 %


Command: VPA3 – Set Value Modbus address: 3708 Length: 6 Type: 16 Write
Parameter: VPA3 - VPA3 - VPA3 –
Not relevant Unit Value
Format: Hex Hex Float
Value: 0x00000000 0x20000000 10

111004302/01 page 58 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.10 Calibration

2.10.1 Available Calibration Points


In register 10256, the available number of Calibration Points (CP) for Primary Measurement Channel 1
(PMC1) are defined.

Start Number of Reg1 / Reg2 Modbus Read Write


register registers (bitwise defined) function code access access
10256 2 Available number of CP for PMC1 3, 4 U/A/S none
(see Table 30)

Table 30 Bitwise definition of CP1 to CP6


Code Description Definition in VisiFerm RS485
(Hex)
0x02 CP1 Calibration low point
0x04 CP2 Calibration high point
0x40 CP6 Product calibration

Table 31 Example to read the available CPs


Command: Available cali points Modbus address: 10256 Length: 2 Type: 3 Read
Parameter: Points
Format: Hex
Value: 0x46

The hex value 0x46 in Table 31 corresponds to 0x02 (CP1) + 0x04 (CP2) + 0x40 (CP6).

As shown in Figure 23 the VisiFerm RS485 sensor allow 2 calibration points (CP1 and CP2) for the
standard calibration.
As shown in Figure 24 the product calibration with CP6 is used to adjust the standard calibration
function to specific process conditions.

Calibration at 2 calibration points


80
CP1
70
luminescence phase shift [°]

60

50
CP2
40

30

20
0 10 20 30 40 50 60
oxygen [%-vol]

Figure 23 Standard 2-Point Calibration

111004302/01 page 59 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.10.2 Definitions of Calibration Points

2.10.2.1 Calibration Unit


The available calibration units for CP1, CP2 and CP6 is defined in register 10272.

Start Number of Reg1 / Reg2 Modbus Read Write


register registers (bitwise defined) function code access access
10272 2 Available calibration units, see chapter 2.5.1 3, 4 U/A/S none
10274 2 Selected physical unit for calibration, see 3, 4 U/A/S S
chapter 2.5.1

In register 10272, the available physical units for calibration are defined. The available physical units for
Calibration: 0x108000F0 → ppm gas, mbar, mg/l ppm, ug/l ppb, %-sat and %-vol

In register 10274, the active physical unit for the calibration can be selected, by choosing one of the
physical units that are defined in register 10272.
Selecting an invalid unit code will leave the current unit unchanged.

Table 32 Example to set the physical calibration unit to %-vol (0x00000010)


Command: Calibration unit Modbus address: 10274 Length: 2 Type: 16 Write
Parameter: Unit
Format: Hex
Value: 0x00000010

i Note:
A change of the calibration unit has no impact on the PMC1 unit.

2.10.2.2 Calibration limits


The min and max limits for calibration point CP1, CP2 and CP6 are defined in register 10318, 11038
and 13918.

Start Number of Reg1 / Reg2 Reg3 / Reg4 Modbus Read Write


register registers (float) (float) function code access access
10318 4 Min value for CP1 (in Max value for CP1 (in 3, 4 U/A/S none
the physical unit as the physical unit as
defined in register defined in register
10274) 10274)
11038 4 Min value for CP2 (in Max value for CP2 (in 3, 4 U/A/S none
the physical unit as the physical unit as
defined in register defined in register
10274) 10274)
13918 4 Min value for CP6 (in Max value for CP6 (in 3, 4 U/A/S none
the physical unit as the physical unit as
defined in register defined in register
10274) 10274)

i Note:
When changing the active physical unit for PMC1 (using register 2090) or the calibration unit (using
register 10274), the min and max value in register 10318, 11038 and 13918 will be updated
automatically to the new physical unit. Temperature, atmospheric pressure and salinity are
compensated.

111004302/01 page 60 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.10.2.3 Calibration stability criteria


When initiating the calibration at CP1 and CP2, the measured phase and temperature must be stable
for at least 100 seconds. The stability criteria are defined in register 10278:

Start Number of Reg1 / Reg2 Reg3 / Reg4 Modbus Read Write


register registers (float) (float) function code access access
10278 4 Max. Drift PMC1 Max. Drift PMC6 3, 4, 16 U/A/S S
CO2 Temperature
[mbar/min] [K/min]

Attention:
The stability criteria defined in register 10278 is valid for CP1 and CP2 only, but NOT for CP6.

2.10.2.4 Calibration Parameters and Coefficients


In register 10276, available calibration parameters and calibration coefficients are defined. Bitmask is
valid for calibration point CP1, CP2 and CP6.

Start Number of Reg1 / Reg2 Modbus Read Write


register registers (bitwise defined) function code access access
10276 2 Available calibration parameters and 3, 4 U/A/S none
calibration coefficients, see Table 33

The available calibration parameters and calibration coefficients has a bit mask of 0x01C001FF:
• CPA1 (Calibration parameter index 1) – CPA9 (Calibration parameter index 9)
• CCO1 (Calibration coefficient index 1) – CCO3 (Calibration coefficient index 3)

Table 33 Bitwise definition of available calibration parameters and calibration coefficients.


Code Definition
(Hex)
0x00000001 CPA1 (Calibration parameter index 1)
0x00000002 CPA2 (Calibration parameter index 2)
0x00000004 CPA3 (Calibration parameter index 3)
0x00000008 CPA4 (Calibration parameter index 4)
0x00000010 CPA5 (Calibration parameter index 5)
0x00000020 CPA6 (Calibration parameter index 6)
0x00000040 CPA7 (Calibration parameter index 7)
0x00000080 CPA8 (Calibration parameter index 8)
0x00000100 CPA9 (Calibration parameter index 9)
0x00400000 CCO1 (Calibration coefficient index 1)
0x00800000 CCO2 (Calibration coefficient index 2)
0x01000000 CCO3 (Calibration coefficient index 3)

111004302/01 page 61 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.10.2.4.1 CPA1 - Measured value


At the time of a valid CP1, CP2 or CP6 calibration, the current luminescence shift value is stored within
CPA1.

Start Number Reg1 to Reg8 Calibration Modbus Read Write


register of (16 ASCII characters) point function access access
registers code
10328 8 Description of CPA1 CP1 3, 4 U/A/S none
11048 8 Description of CPA1 CP2 3, 4 U/A/S none
13928 8 Description of CPA1 CP6 3, 4 U/A/S none

In register 10328 for CP1, register 11048 for CP2 and register 13928 for CP6, a plain text ASCII
description of CPA1 is given. CPA1 for VisiFerm RS485 is called “Measured value”.

Start Number Reg1 / Reg3 / Reg5 / Calibration Modbus Read Write


register of Reg2 Reg4 Reg6 point function access access
registers (bitwise (bitwise (float) code
defined) defined)
10336 6 Not Unit Value CP1 3, 4 U/A/S none
relevant
11056 6 Not Unit Value CP2 3, 4 U/A/S none
relevant
13936 6 Not Unit Value CP6 3, 4 U/A/S none
relevant

From the last valid CP1, CP2 or CP6 calibration, register 10336 for CP1, register 11056 for CP2 and
register 13936 for CP6 can be used to read the Phase values at that time with the fixed unit °
(0x08000000).

i Note:
The first parameter is not relevant and is always zero.

2.10.2.4.2 CPA2 - Assigned value


At the time of a valid CP1, CP2 or CP6 calibration, the assigned calibration value (oxygen
concentration) is stored within CPA2.

Start Number Reg1 to Reg8 Calibration Modbus Read Write


register of (16 ASCII characters) point function access access
registers code
10360 8 Description of CPA2 CP1 3, 4 U/A/S none
11080 8 Description of CPA2 CP2 3, 4 U/A/S none
13960 8 Description of CPA2 CP6 3, 4 U/A/S none

In register 10360 for CP1, register 11080 for CP2 and register 13960 for CP6, a plain text ASCII
description of CPA2 is given. CPA2 for VisiFerm RS485 is called “Assigned value”.

111004302/01 page 62 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

Start Number Reg1 / Reg3 / Reg5 / Calibration Modbus Read Write


register of Reg2 Reg4 Reg6 point function access access
registers (bitwise (bitwise (float) code
defined) defined)
10368 6 Not Unit Value CP1 3, 4 U/A/S none
relevant
11088 6 Not Unit Value CP2 3, 4 U/A/S none
relevant
13968 6 Not Unit Value CP6 3, 4 U/A/S none
relevant

From the last valid CP1, CP2 or CP6 calibration, register 10368 for CP1, register 11088 for CP2 and
register 13968 for CP6 can be used to read the assigned values with the calibration unit, set at that
time.
In register 10272, the available physical units for calibration are defined, see chapter 2.10.2.1.

i Note:
The first parameter is not relevant and is always zero.

2.10.2.4.3 CPA3 - Temperature


At the time of a valid CP1, CP2 or CP6 calibration, the current temperature value is stored within CPA3.

Start Number Reg1 to Reg8 Calibration Modbus Read Write


register of (16 ASCII characters) point function access access
registers code
10392 8 Description of CPA3 CP1 3, 4 U/A/S none
11112 8 Description of CPA3 CP2 3, 4 U/A/S none
13992 8 Description of CPA3 CP6 3, 4 U/A/S none

In register 10392 for CP1, register 11112 for CP2 and register 13992 for CP6, a plain text ASCII
description of CPA3 is given. CPA3 for VisiFerm RS485 is called “Temperature”.

Start Number Reg1 / Reg3 / Reg5 / Calibration Modbus Read Write


register of Reg2 Reg4 Reg6 point function access access
registers (bitwise (bitwise (float) code
defined) defined)
10400 6 Not Unit Value CP1 3, 4 U/A/S none
relevant
11120 6 Not Unit Value CP2 3, 4 U/A/S none
relevant
14000 6 Not Unit Value CP6 3, 4 U/A/S none
relevant

From the last valid CP1, CP2 or CP6 calibration, register 10400 for CP1, register 11120 for CP2 and
register 14000 for CP6 can be used to read the temperature values with the PMC6 unit, set at that time.
In register 2408, the available physical units for PMC6 are defined, see chapter 2.5.3.1.

i Note:
The first parameter is not relevant and is always zero.

111004302/01 page 63 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.10.2.4.4 CPA4 - Number of calib.


At the time of a valid CP1, CP2 or CP6 calibration, the Amount of calibration value is stored within
CPA4.

Start Number Reg1 to Reg8 Calibration Modbus Read Write


register of (16 ASCII characters) point function access access
registers code
10424 8 Description of CPA4 CP1 3, 4 U/A/S none
11144 8 Description of CPA4 CP2 3, 4 U/A/S none
14024 8 Description of CPA4 CP6 3, 4 U/A/S none

In register 10328 for CP1, register 11048 for CP2 and register 13928 for CP6, a plain text ASCII
description of CPA4 is given. CPA4 for VisiFerm RS485 is called “Number of calib.”.

Start Number Reg1 / Reg3 / Reg5 / Calibration Modbus Read Write


register of Reg2 Reg4 Reg6 point function access access
registers (bitwise (bitwise (uint) code
defined) defined)
10432 6 Not Unit Value CP1 3, 4 U/A/S none
relevant
11152 6 Not Unit Value CP2 3, 4 U/A/S none
relevant
14032 6 Not Unit Value CP6 3, 4 U/A/S none
relevant

From the last valid CP1, CP2 or CP6 calibration, register 10336 for CP1, register 11056 for CP2 and
register 13936 for CP6 can be used to read the Amount of calibration values at that time with no unit
(0x00000001).

i Note:
The first parameter is not relevant and is always zero.

i Note:
The calibration counter is only incremented when CP1 and CP2 are calibrated. In case of CP6 the
counter value will be incremented after a successful assign step (second step of CP6).

2.10.2.4.5 CPA5 - Operating hours


At the time of a valid CP1, CP2 or CP6 calibration, the sensor operating hours value is stored within
CPA5.

Start Number Reg1 to Reg8 Calibration Modbus Read Write


register of (16 ASCII characters) point function access access
registers code
10456 8 Description of CPA5 CP1 3, 4 U/A/S none
11176 8 Description of CPA5 CP2 3, 4 U/A/S none
14056 8 Description of CPA5 CP6 3, 4 U/A/S none

In register 10456 for CP1, register 11176 for CP2 and register 14056 for CP6, a plain text ASCII
description of CPA5 is given. CPA5 for VisiFerm RS485 is called “Operating hours”.

111004302/01 page 64 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

Start Number Reg1 / Reg3 / Reg5 / Calibration Modbus Read Write


register of Reg2 Reg4 Reg6 point function access access
registers (bitwise (bitwise (uint) code
defined) defined)

10432 6 Not Unit Value CP1 3, 4 U/A/S none


relevant
11152 6 Not Unit Value CP2 3, 4 U/A/S none
relevant
14032 6 Not Unit Value CP6 3, 4 U/A/S none
relevant

From the last valid CP1, CP2 or CP6 calibration, register 10432 for CP1, register 11152 for CP2 and
register 14032 for CP6 can be used to read the sensor operating hours values at that time with no unit
(0x00000001).

i Note:
The first parameter is not relevant and is always zero.

i Note:
The “operating hour” for CP6 is the moment of the “initial measurement” (first step of CP6).

2.10.2.4.6 CPA6 - Time stamp


At the time of a valid CP1, CP2 or CP6 calibration, the sensor Time stamp (the current system time,
see chapter 2.11.2) value is stored within CPA6.

Start Number Reg1 to Reg8 Calibration Modbus Read Write


register of (16 ASCII characters) point function access access
registers code
10488 8 Description of CPA6 CP1 3, 4 U/A/S none
11208 8 Description of CPA6 CP2 3, 4 U/A/S none
14088 8 Description of CPA6 CP6 3, 4 U/A/S none

In register 10488 for CP1, register 11208 for CP2 and register 14088 for CP6, a plain text ASCII
description of CPA6 is given. CPA6 for VisiFerm RS485 is called “Time stamp”.

Start Number Reg1 / Reg3 / Reg5 / Calibration Modbus Read Write


register of Reg2 Reg4 Reg6 point function access access
registers (bitwise (bitwise (uint) code
defined) defined)

10496 6 Not Unit Value CP1 3, 4 U/A/S none


relevant
11216 6 Not Unit Value CP2 3, 4 U/A/S none
relevant
14096 6 Not Unit Value CP6 3, 4 U/A/S none
relevant

From the last valid CP1, CP2 or CP6 calibration, register 10496 for CP1, register 11216 for CP2 and
register 14096 for CP6 can be used to read the sensor Time stamp values at that time with no unit
(0x00000001).

111004302/01 page 65 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

i Note:
The first parameter is not relevant and is always zero.

i Note:
For CP6, the system time is set during the action “initial measurement”. The system time is explained in
chapter 2.11.2.

According to Table 34 the Time Stamp value has no unit (0x00000001), the value is 1614089002 (no
unit), means the initial measurement of the product calibration has been performed on February 23th
2021 at 15:03.

Table 34 Example to read the unit and value of CPA6 (Time Stamp) of CP6
Command: Time Stamp CP6 Modbus address: 14096 Length: 6 Type: 3 Read
Parameter: Cali. Par.6 - Cali. Par.6 - Cali. Par.6 - Value
Not relevant Unit
Format: Hex Hex Decimal
Value: 0x00000000 0x00000001 1614089002

2.10.2.5 CPA7 - Salinity


At the time of a valid CP1, CP2 or CP6 calibration the current adjusted PA1 value is stored within
CPA7.

Start Number Reg1 to Reg8 Calibration Modbus Read Write


register of (16 ASCII characters) point function access access
registers code
10520 8 Description of CPA7 CP1 3, 4 U/A/S none
11240 8 Description of CPA7 CP2 3, 4 U/A/S none
14120 8 Description of CPA7 CP6 3, 4 U/A/S none

In register 10520 for CP1, register 11240 for CP2 and register 14120 for CP6, a plain text ASCII
description of CPA7 is given. CPA7 for VisiFerm RS485 is called “Salinity”.

Start Number Reg1 / Reg3 / Reg5 / Calibration Modbus Read Write


register of Reg2 Reg4 Reg6 point function access access
registers (bitwise (bitwise (float) code
defined) defined)
10528 6 Not Unit Value CP1 3, 4 U/A/S none
relevant
11248 6 Not Unit Value CP2 3, 4 U/A/S none
relevant
14128 6 Not Unit Value CP6 3, 4 U/A/S none
relevant

From the last valid CP1, CP2 or CP6 calibration, register 10528 for CP1, register 11248 for CP2 and
register 14128 for CP6 can be used to read the measurement parameter salinity values with the fixed
unit mS/cm (0x00000400) set at that time.

i Note:
The first parameter is not relevant and is always zero.

111004302/01 page 66 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.10.2.5.1 CPA8 - Pressure


At the time of a valid CP1, CP2 or CP6 calibration the current adjusted PA8 value is stored within
CPA8.

When a new CPA8 value is entered, it is stored directly in the calibration point CP1, CP2 or CP6 and
temporarily assigned to the regular Pressure value PA2 of the measurement parameter set. So that the
dissolved oxygen measurement runs with the calibration parameter setting. The PA2 value in the
measurement parameter set, is automatically reset to the original Pressure value after a calibration or
after a sensor restart (see Example CPA8: Pressure).

Start Number Reg1 to Reg8 Calibration Modbus Read Write


register of (16 ASCII characters) point function access access
registers code
10552 8 Description of CPA8 CP1 3, 4 U/A/S none
11272 8 Description of CPA8 CP2 3, 4 U/A/S none
14152 8 Description of CPA8 CP6 3, 4 U/A/S none

In register 10552 for CP1, register 11272 for CP2 and register 14152 for CP6, a plain text ASCII
description of CPA8 is given. CPA8 for VisiFerm RS485 is called “Pressure”.

Start Number Reg1 / Reg3 / Reg5 / Calibration Modbus Read Write


register of Reg2 Reg4 Reg6 point function access access
registers (bitwise (bitwise (float) code
defined) defined)
10560 6 Not Unit Value CP1 3, 4 U/A/S S
relevant
11280 6 Not Unit Value CP2 3, 4 U/A/S S
relevant
14160 6 Not Unit Value CP6 3, 4 U/A/S S
relevant

From the last valid CP1, CP2 or CP6 calibration, register 10560 for CP1, register 11280 for CP2 and
register 14160 for CP6 can be used to read the measurement parameter pressure values with the fixed
unit mbar (0x00800000) set at that time.

i Note:
The first parameter is not relevant and is always zero.

Example CPA8: Pressure


As shown in Table 35 the physical unit for calibration parameter 8 is mbar (0x00800000) and is fixed
and cannot be changed and the value is 1013 (mbar).

Table 35 Example to read the unit and the value of CPA8 (pressure) of CP1
Command: CP1 – CPA8 Pressure Modbus address: 10560 Length: 6 Type: 3 Read
value
Parameter: Cali. Par.8 - Cali. Par.8 - Cali. Par.8 - Value
Not relevant Unit
Format: Hex Hex Float
Value: 0x00000000 0x00800000 1013

111004302/01 page 67 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

As shown in Table 36 the unit is mbar (0x00800000), the value is 1013 (mbar), the min is 10 (mbar)
and the max is 12000 (mbar).

Table 36 Example to read PA2


Command: PA2 – Pressure value Modbus address: 3146 Length: 8 Type: 3 Read
Parameter: Unit Value Min value Max value
Format: Hex Float Float Float
Value: 0x00800000 1013 10 12000

Before a new CP1 calibration is initiated, the momentary environmental pressure must be assigned to
the CPA8 (pressure) and PA2 (pressure) is temporary assigned to this value. From that point on the
dissolved oxygen measurement is using this setting.

As shown in Table 37, the unit for CP1 is set to mbar (0x00800000) and the value to 900 (mbar).

Table 37 Example to set the physical unit of CPA8 value (pressure) of CP 1


Command: CP1 – CPA8 Pressure Modbus address: 10560 Length: 6 Type: 16 Write
value
Parameter: Cali. Par.8 - Cali. Par.8 - Cali. Par.8 - Value
Not relevant Unit
Format: Hex Hex Float
Value: 0x00000000 0x00800000 900

As shown in Table 38 the unit is mbar (0x00800000), the value is 900 (mbar), the min is 10 (mbar) and
the max is 12000 (mbar).

Table 38 Example to read PA2


Command: PA2 – Pressure value Modbus address: 3146 Length: 8 Type: 3 Read
Parameter: Unit Value Min value Max value
Format: Hex Float Float Float
Value: 0x00800000 900 10 12000

A new calibration is initiated at CP1 by writing to register 10314, whether successful or not, the PA2
(pressure) is reset to the origin value of 1013 mbar.

As shown in Table 39 the physical unit is mbar (0x00800000) and is fixed and cannot be changed and
the value is 900 (mbar).

Table 39 Example to read the unit and value of CPA8 (pressure) of CP1
Command: CP1 – CPA8 Pressure Modbus address: 10560 Length: 6 Type: 3 Read
value
Parameter: Cali. Par.8 - Cali. Par.8 - Cali. Par.8 - Value
Not relevant Unit
Format: Hex Hex Float
Value: 0x00000000 0x00800000 900

As shown in Table 40, PA2 is automatically reset to the original Pressure value. The unit is mbar
(0x00800000), the value is 1013 (mbar), the min is 10 (mbar) and the max is 12000 (mbar).

Table 40 Example to read PA2


Command: PA2 – Pressure value Modbus address: 3146 Length: 8 Type: 3 Read
Parameter: Unit Value Min value Max value
Format: Hex Float Float Float
Value: 0x00800000 1013 10 12000

111004302/01 page 68 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.10.2.5.2 CPA9 - Humidity


At the time of a valid CP1, CP2 or CP6 calibration the currently adjusted PA3 value is stored within
CPA9.

When a new CPA9 value is entered, it is stored directly in the calibration point CP1, CP2 or CP6 and
temporarily assigned to the regular humidity value PA3 of the measurement parameter set. So that the
dissolved oxygen measurement runs with the calibration parameter setting. The PA3 value in the
measurement parameter set, is automatically reset to the original humidity value after a calibration or
after a sensor restart (see Example Calibration Parameter 9: Humidity).

Start Number Reg1 to Reg8 Calibration Modbus Read Write


register of (16 ASCII characters) point function access access
registers code
10584 8 Description of CPA9 CP1 3, 4 U/A/S none
11304 8 Description of CPA9 CP2 3, 4 U/A/S none
14184 8 Description of CPA9 CP6 3, 4 U/A/S none

In register 10584 for CP1, register 11304 for CP2 and register 14184 for CP6, a plain text ASCII
description of CPA9 is given. CPA9 for VisiFerm RS485 is called “Humidity”.

Start Number Reg1 / Reg3 / Reg5 / Calibration Modbus Read Write


register of Reg2 Reg4 Reg6 point function access access
registers (bitwise (bitwise (float) code
defined) defined)
10592 6 Not Unit Value CP1 3, 4 U/A/S S
relevant
11312 6 Not Unit Value CP2 3, 4 U/A/S S
relevant
14192 6 Not Unit Value CP6 3, 4 U/A/S S
relevant

From the last valid CP1, CP2 or CP6 calibration, register 10592 for CP1, register 11312 for CP2 and
register 14192 for CP6 can be used to read the measurement parameter humidity values with the fixed
unit % (0x20000000) set at that time.

i Note:
The first parameter is not relevant and is always zero.

Example Calibration Parameter 9: Humidity


As shown in Table 41 the physical unit for CPA9 is percent (0x20000000) and is fixed and cannot be
changed and the value is 100 (percent).

Table 41 Example to read the unit and value of CPA9 (humidity) of CP2
Command: CP2 – CPA9 Humidity Modbus address: 11312 Length: 6 Type: 3 Read
value
Parameter: Cali. Par.9 - Cali. Par.9 - Cali. Par.9 - Value
Not relevant Unit
Format: Hex Hex Float
Value: 0x00000000 0x20000000 100

111004302/01 page 69 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

As shown in Table 42 the unit for PA3 is percent (0x20000000), the value is 100 (percent), the min is 0
(percent) and the max is 100 (percent).

Table 42 Example to read PA3


Command: PA3 – Humidity value Modbus address: 3178 Length: 8 Type: 3 Read
Parameter: Unit Value Min value Max value
Format: Hex Float Float Float
Value: 0x20000000 100 0 100

Before a new CP2 calibration is initiated, the momentary environmental humidity must be assigned to
the CPA9 humidity and also the PA3 humidity is temporary assigned with this value. From that point on
the dissolved oxygen measurement is using this setting.

As shown in Table 43 the physical unit is set to percent (0x20000000) and the value to 0 (percent).

Table 43 Example to set the unit and value of CPA9 (humidity) of CP2
Command: CP2 – CPA9 Humidity Modbus address: 11312 Length: 6 Type: 16 Write
value
Parameter: Cali. Par.9- Cali. Par.9 - Cali. Par.9 - Value
Not relevant Unit
Format: Hex Hex Float
Value: 0x00000000 0x20000000 0

As shown in Table 44 the unit is percent (0x20000000), the value is 0 (percent), the min is 0 (percent)
and the max is 100 (percent).

Table 44 Example to read PA3


Command: PA3 – Humidity value Modbus address: 3178 Length: 8 Type: 3 Read
Parameter: Unit Value Min value Max value
Format: Hex Float Float Float
Value: 0x20000000 0 0 100

A new calibration is initiated at CP2 by writing to register 11312, whether successful or not, the PA3
humidity must be reset to the origin value of 100 %.

As shown in Table 45 the physical unit is percent (0x20000000) and is fixed and cannot be changed
and the value is 0 (percent).

Table 45 Example to read the unit and value of CPA9 (humidity) of CP2
Command: CP2 – CPA9 Humidity Modbus address: 11312 Length: 6 Type: 3 Read
value
Parameter: Cali. Par.9 - Cali. Par.9 - Cali. Par.9 - Value
Not relevant Unit
Format: Hex Hex Float
Value: 0x00000000 0x20000000 0

As shown in Table 46, PA3 is automatically reset to the original humidity value. The unit is percent
(0x20000000), the value is 100 (percent), the min is 0 (percent) and the max is 100 (percent).

Table 46 Example to read PA3


Command: PA3 – Humidity value Modbus address: 3178 Length: 8 Type: 3 Read
Parameter: Unit Value Min value Max value
Format: Hex Float Float Float
Value: 0x20000000 100 0 100

111004302/01 page 70 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.10.2.5.3 CCO1…CCO3 – Calibration Coefficients


At the time of a valid CP1, CP2 or CP6 calibration the calibration coefficients Phi0 at 25°C (CCO1) and
the corresponding Stern-Volmer (CCO2) values are stored.
The calibration coefficient Reference temperature (CCO3) is fixed to 25°C.

Start Number Reg1 to Reg8 Modbus Read Write


register of (16 ASCII characters) function access access
registers code
14632 8 Description of CCO1 3, 4 U/A/S none
14664 8 Description of CCO2 3, 4 U/A/S none
14696 8 Description of CCO3 3, 4 U/A/S none

In register 14632 a plain text ASCII description of CCO1 is given. CCO1 for VisiFerm RS485 is called
“Phase 0”.

In register 14664 a plain text ASCII description of CCO2 is given. CCO2 for VisiFerm RS485 is called
“Stern-Volmer”.

In register 14696 a plain text ASCII description of CCO3 is given. CCO3 for VisiFerm RS485 is called
“Ref. Temperature”.

Start Number Reg1 / Reg3 / Reg5 / Calibration Modbus Read Write


register of Reg2 Reg4 Reg6 Coefficient function access access
registers (bitwise (bitwise (float) Index code
defined) defined)
14640 6 Not Unit Value CCO1 3, 4 U/A/S none
relevant
14672 6 Not Unit Value CCO2 3, 4 U/A/S none
relevant
14704 6 Not Unit Value CCO3 3, 4 U/A/S none
relevant

From the last valid CP1, CP2 or CP6 calibration, register 14640 can be used to read the calibration
coefficient Phase 0 value with the fixed unit ° (0x08000000).

From the last valid CP1, CP2 or CP6 calibration, register 14672 can be used to read the calibration
coefficient Stern-Volmer value with the fixed unit none (0x00000001).

Register 14704 can be used to read the calibration coefficient Reference Temperature value with the
fixed unit °C (0x00000004). The calibration coefficient Reference temperature (CCO3) is fixed to 25°C.

i Note:
The first parameter is not relevant and is always zero.

111004302/01 page 71 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.10.3 Calibration Procedure

2.10.3.1 Calibration at CP1 and CP2 (Standard Calibration)


VisiFerm RS485 has a unique calibration routine. When initiating the calibration, the data set of the
VisiFerm RS485 is automatically traced back within the last 100 seconds and a decision is made
immediately if the calibration is successful or not. The operator therefore gets an immediate result. The
criteria for a successful calibration are:
• the stability of phase and temperature over the last 100 seconds
• the phase is in a reasonable phase window
• the oxygen content is in the limits defined for CP1 / CP2

Attention:
If the Measurement Hold Mode is in Hold Mode or Off, see chapter 2.6, the initial measurement
command has no effect.

Attention:
It is important that VisiFerm RS485 is in a defined calibration media at least 100 seconds BEFORE the
calibration is started.

If the sensor has a measurement interval greater than 3 and / or the temperature is out of the user
defined measurement temperature range, the procedure is as follows:
1. Send calibration command to the sensor. The sensor will return “drift oxygen” (0x2000 for CP1
and CP2 in the calibration status register)
2. Send calibration command after at least 100s again to the sensor. If the stability is ok, the
sensor returns “calibration successful” (0x00 in the calibration status register), if the stability is
not ok, the sensor sets the corresponding bit in the calibration status register (register 10312
for CP1 or register 11032 for CP2).

In the previous case, the sensor temporarily expands the measurement temperature range to the
maximum allowed for the sensor and sets the measurement interval to 3 if greater than 3. 10 minutes
after the last calibration command or after a power up, these settings are reset and the sensor runs
with the originally entered values.

The calibration is initiated at CP1 by writing to register 10314 and at CP2 by writing to register 11034.

The calibration value (dissolved oxygen value) must be given in the physical unit defined within register
10274.

Automatic Mode:
By entering 0 as calibration value the automatic calibration for the respecting calibration point will be
started, which calibrates at CP1 by 0 %-vol oxygen (low point) and at CP2 by 20.95 %-vol oxygen = in
air (high point).

Manual Mode:
By entering a calibration value of unequal zero, the manual calibration for the respecting calibration
point will be started. The entered calibration value for the respecting calibration point must be inside the
defined limits, for CP1 it is defined in register 10318 and for CP2 it is defined in register 11038. If the
entered calibration value is not within the defined limits, the sensor will return either “below calibration
range” (0x40) or “above calibration range” (0x80) in the calibration status register for the respecting
calibration point.

111004302/01 page 72 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

Start Number of Reg1 / Reg2 Reg3 / Reg4 Modbus Read Write


register registers (bitwise defined) (float) function code access access
10314 4 Not relevant Calibration value 3, 4, 16 none S

11034 4 Not relevant Calibration value 3, 4, 16 none S

Attention:
CP1 is fixed to a calibration in an oxygen-free medium (0 %-vol oxygen) – low point, and CP2 is fixed to
a calibration between 2.045 %-vol (20mbar) and 56.242 %-vol (550mbar) oxygen – high point.
There is an automatic mode for both CP1 and CP2 when using 0 as parameter. In this mode, the
operator declares that CP1 is performed in oxygen-free media, and CP2 in air or air-saturated water.
The operator does not need to care about the physical units that are currently active.

2.10.3.2 Calibration Point 6 (Product Calibration)


The product calibration is a process to adjust the measurement of a correctly calibrated VisiFerm
RS485 sensor to specific process conditions.
Product calibration is a two-stage process:

1. An initial measurement is performed while the operator takes a sample of the process solution.
At that time point the VisiFerm RS485 sensor stores its raw measurement value, temperature
and operating hour in the memory.

While the operator takes the sample to the analytics lab for reference analysis the VisiFerm
RS485 sensor is still running on its prior standard calibration (CP1 and CP2) while the initial
measurement data for the ongoing product calibration is kept in the VisiFerm RS485 sensors
memory.

2. When the result of the reference analysis is available, this value is assigned to a second time
point to the former initial measurement data, which is stored in the VisiFerm RS485 sensor.

The sensor is now, after valid assignment, running on a calibration function which is
compensated for the correct process conditions. The product calibration (CP6) is now active.

Performing a cancel command for the product calibration (CP6) brings the sensor back to its stored
standard calibration (CP1 and CP2).
If a product calibration is active and a standard calibration (CP1 or CP2) is performed, then the product
calibration (CP6) is cancelled.
If the operator needs to adjust an active product calibration (old CP6) by a new product calibration (new
CP6) the above process applies in the same way. After initial measurement the VisiFerm RS485
sensor is running on the first product calibration (old CP6) until a valid assignment has been done (new
CP6).

What happens to the VisiFerm RS485 calibration function upon product calibration (CP6)?
A product calibration for VisiFerm RS485 sensor corresponds to a manual calibration at CP2. On active
product calibration (CP6) the VisiFerm RS485 calibration function is calculated from the data of CP1
and from the data of the product calibration (CP6).
The product calibration procedure allows larger measurement deviations compared to the standard
calibration.

111004302/01 page 73 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

Effect of Product Calibration CP6 on CP1 / CP2


80

CP1
Luminescence Phase Shift [°]

70
after Standard Calibration CP1/CP2
after Product Calibration CP6
60 CP1
CP2
CP6
50
CP6
40

CP2
30

20
0 50 100 150 200 250 300 350 400 450 500
Oxygen Partial Pressure [mbar]

Figure 24 Effect of the product calibration CP6 on an existing standard calibration function defined by CP1 and
CP2.

Example:
The operator starts with a standard calibration with calibration points CP1 and CP2:

Calibration point Oxygen value Temperature in °C Measured phase in °


in mbar
CP1 0 27.77 70.7
CP2 203.92 28.71 37.98

The sensor internally calculates the calibration function, using the calibration points CP1 and CP2. The
resulting calibration function, compensated to the standard temperature 25°C, is shown as a straight
line. The calibration function is described by two parameters: the phase at zero oxygen and the Stern-
Volmer coefficient (these two values can be read in register 14640 and register 14672, see chapter
2.10.2.5.3).
Some weeks later, the operator believes that the standard calibration function is not correct anymore.
As the process is running and he is not able to perform a standard calibration under defined conditions
in the lab, he decides to perform a product calibration CP6, in other words adjusting the standard
calibration function to the process conditions:

Calibration point Oxygen value Temperature in °C Measured phase in °


in mbar
CP6 332 28.79 37.99

The sensor internally recalculates the calibration function at 25°C, using the calibration points CP1 and
CP6. The new calibration function, compensated to the standard temperature 25°C, is shown as a
dotted line.

111004302/01 page 74 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

Another special feature of this calibration point is to switch off and back on again a product calibration.
These functions are called “restore standard calibration” and “restore product calibration”.

The sensor’s internal criteria for a successful product calibration are:


• the sensor is currently in an environment corresponding to the VisiFerm RS485 measurement
range.
• the oxygen content is within the calibration limits defined for CP6 (see above)
• the parameters for the product calibration defined by CP1 and CP6 are in the following range:
• the phase at zero oxygen remains the same (since it is defined by CP1)
• the Stern-Volmer coefficient does not deviate from the one defined by prior (e.g. CP1/CP2)
calibration by more than ±40 %.

The different functionalities of product calibration (CP6) are accessible through the following sensor
commands:
• Initial measurement
• Assignment
• Cancel
• Restore standard calibration
• Restore product calibration

All commands are executed by writing a command to the register 13914. The command codes are
defined according to Table 47.

Start Number of Reg1 / Reg2 Reg3 / Reg4 Modbus Read Write


register registers (bitwise defined) (float) function code access access
13914 2 Code as defined Calibration value 3, 4, 16 U/A/S S
in Table 47

Table 47 Definition of the commands related to the product calibration


Code Definition of commands
(Hex)
0x0010 Perform initial measurement
0x0020 Assign product calibration
0x0040 Cancel an active product calibration
0x0080 Restore a standard calibration from an active product calibration
0x0100 Restore a product calibration from an active standard calibration

2.10.3.2.1 Product calibration: Initial measurement

Upon process sample collection for laboratory analysis the command for initial measurement is sent to
the sensor.
This is achieved by writing the command 0x0010 to register 13914 which performs the initial
measurement and stores the corresponding measurement values in the sensor.

Table 48 Example to start the product calibration procedure


Command: CP6: Initial measurement Modbus address: 13914 Length: 4 Type: 16 Write
Parameter: Command Value
Format: Hex Float
Value: 0x00000010 0.0

i Note:
The second parameter is for the product calibration initialisation not relevant and is ignored by the
sensor. As default value during a product calibration initialisation, it is recommended to set the value to
zero.

111004302/01 page 75 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

As shown in Table 49, after successful initial measurement the corresponding calibration status is
“CP6: Initial measurement” (0x20000000, see also Table 47).

The sensor continues the measurement with the previous standard calibration.

Table 49 Example to read the current product calibration status


Command: CP6: Initial measurement Modbus address: 13912 Length: 2 Type: 3 Read
Parameter: Command
Format: Hex
Value: 0x20000000

Attention:
If the Measurement Hold Mode is in Hold Mode or Off, see chapter 2.6, the initial measurement
command has no effect.

2.10.3.2.2 Product calibration: Assignment

After successful initial measurement a correct value must be assigned to the initially stored
measurement data. As shown in Table 50, this is achieved by writing the dissolved oxygen value in the
unit of PMC1 during initial measurement (here 195 mbar) to 13914.

Table 50 Example to assign a calibration value to the above performed initial measurement
Command: CP6: Assignment Modbus address: 13914 Length: 4 Type: 16 Write
Parameter: Command Value
Format: Hex Float
Value: 0x00000020 195

From now on the sensor is measuring using the here performed product calibration.

According to Table 51 the calibration status of the sensor is 0x50000000 meaning that a correct value
has been assigned and that the product calibration is active (see Table 58).

Table 51 Example to read the current product calibration status, after performing a product calibration.
Command: CP6: Initial measurement Modbus address: 13912 Length: 2 Type: 3 Read
Parameter: Command
Format: Hex
Value: 0x50000000

2.10.3.2.3 Product calibration: Cancel

To cancel an active product calibration or an active initial measurement the command 0x00000040 is
written to register 13914 (see Table 52). The calibration value is not considered in this product
calibration cancel phase and the value is not saved within the sensor.
Table 52 Example to cancel an active product calibration or an initial measurement
Command: CP6: Cancel Modbus address: 13914 Length: 4 Type: 16 Write
Parameter: Command Value
Format: Hex Float
Value: 0x00000040 0.0

111004302/01 page 76 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

Performing this action, the product calibration or any initial measurements are canceled. The values of
the prior product calibration are removed from the sensor’s memory. From now on the sensor is
measuring using its prior CP1 / CP2 standard calibration.

As shown in Table 53 after cancelling a product calibration the sensors calibration status will be reading
0x00000000 again (see Table 58).

Table 53 Example to read the current product calibration status


Command: CP6: Initial measurement Modbus address: 13912 Length: 2 Type: 3 Read
Parameter: Command
Format: Hex
Value: 0x00000000

2.10.3.2.4 Product calibration: Restore standard calibration

If a product calibration is active this product calibration can be temporarily switched off by writing the
command “restore standard calibration” (0x00000080) (see Table 58) to register 13914 (see Table 54).
The calibration value is not considered in this restore standard calibration phase and the value is not
saved within the sensor.
Performing this action, the values of the product calibration remain stored in the sensor’s memory.
Table 54 Example to restore a standard calibration from an active product calibration
Command: CP6: Restore standard Modbus address: 13914 Length: 4 Type: 16 Write
Parameter: Command Value
Format: Hex Float
Value: 0x00000080 0.0

From now on the sensor is measuring using its prior CP1 / CP2 standard calibration.
As shown in Table 55 the sensor’s calibration status will be reading “CP6 assigned” (0x40000000) (see
Table 58) meaning that a valid assignment for a product calibration is available in the sensor’s memory.
Table 55 Example to read the current product calibration status after a restoring a standard calibration
Command: CP6: Initial measurement Modbus address: 13912 Length: 2 Type: 3 Read
Parameter: Command
Format: Hex
Value: 0x40000000

2.10.3.2.5 Product calibration: Restore product calibration

If a valid but inactive product calibration is available in the sensors memory, the calibration status is
reading 0x40000000 (“CP 6 assigned”, see Table 55). This stored product calibration can be restored
or reactivated by writing command “restore product calibration” 0x00000100 (see Table 58) to register
13914 according to Table 56. The calibration value is not considered in this restore product calibration
phase and the value is not saved within the sensor.
Table 56 Example to restore an available product calibration from an active standard calibration
Command: CP6: Restore product Modbus address: 13914 Length: 4 Type: 16 Write
Parameter: Command Value
Format: Hex Float
Value: 0x00000100 0.0

111004302/01 page 77 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

If this command is performed without available product calibration in the sensors memory the sensor
will respond with a Modbus exception since this command is not valid.

From now on the sensor is measuring using its prior CP6 product calibration. As shown in Table 57 the
sensors calibration status will be reading 0x50000000 (corresponding to “CP6 assigned” and “CP6
active”) again. (see Table 58)

Table 57 Example to read the current product calibration status, after a restoring a product calibration
Command: CP6: Initial measurement Modbus address: 13912 Length: 2 Type: 3 Read
Parameter: Command
Format: Hex
Value: 0x50000000

111004302/01 page 78 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.10.4 Reading the Calibration Status


A calibration is not always successful. To analyze what has gone wrong, three different calibration
status registers can be read:
• Register 10312 for CP1
• Register 11032 for CP2
• Register 13912 for CP6

Start Number of Reg1 / Reg2 Modbus Read Write


register registers (bitwise defined) function access access
code
10312 2 Status CP1 3, 4 U/A/S none
(see Table 58)
11032 2 Status CP2 3, 4 U/A/S none
(see Table 58)
13912 2 Status CP6 3, 4 U/A/S none
(see Table 58)

Table 58 Definition of the calibration status for registers 10312, 11032 and 13912
Code Calibration Point Definition
(Hex) relevant
CP1 CP2 CP6
0x00000000 X X X calibration successful
0x00000040 X X Dissolved oxygen value to be calibrated at is too
low (see register 10318 or register 11038)
0x00000080 X X Dissolved oxygen value to be calibrated at is too
high (see register 10318 or register 11038)
0x00000100 X X current temperature reading is too low (see
register 4616)
0x00000200 X X current temperature reading is too high (see
register 4616)
0x00000400 X X The current luminescence shift value is too low for
the carbon dioxide value to be calibrated.
0x00000800 X X The current luminescence shift value is too high
for the carbon dioxide value to be calibrated.
0x00001000 X X Temperature reading during calibration is not
stable (see register 10278)
0x00002000 X X Luminescence shift reading during calibration is
not stable (see register 10278)
0x00004000 X out of calibration range (wrong dissolved oxygen
value entered)
0x00008000 X out of range (luminescence shift value out of
range)
0x10000000 X active
0x20000000 X initial measurement
0x40000000 X assigned

i Note:
Registers 10312 and 11032 contain the same information!

111004302/01 page 79 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.11 Sensor Status

2.11.1 Temperature Ranges


In registers 4608, 4612, 4616 and 4624 four different temperature ranges are defined:
• Operation is the maximum temperature range to which the sensor can be exposed to during
operation and storage. If the current temperature is out of this range, the corresponding bit in
the measurement status register is set, see chapter 2.5.4.
• Measurement – is the maximum allowable range where dissolved oxygen measurement is
possible.
• Calibration – in this range the sensor can be calibrated.
• User defined measurement – the specialist can adjust the range in which dissolved oxygen
reading is active. The user defined measurement temperature range is a sub range of the
measurement temperature range.

Note: When performing a calibration i.e. CP1 or CP2, not CP6, the user defined measurement
temperature range is temporarily set to the values of the measurement temperature range from register
4612. After 10 minutes after the last calibration command or after a power up, the user defined
measurement temperature range in register 4624 is reset to the values the user has defined.

Start Number of Reg1 / Reg2 Reg3 / Reg4 Modbus Read Write


register registers (float) (float) function access access
code
4608 4 Operating Operating 3, 4 U/A/S none
temperature min temperature max
4612 4 Measurement Measurement 3, 4 U/A/S none
temperature min temperature max)
4616 4 Calibration Calibration 3, 4 U/A/S none
temperature min temperature max
4624 4 User defined User defined 3, 4, 16 U/A/S S
measurement measurement
temperature min temperature max

The unit of the temperatures is according to the selected unit of PMC6 (see 2.5.3.1 Definition of
PMC6).

If operating- or the measurement temperature range is exceeded, the measurement status will be set
accordingly (see chapter 2.5.4).

For VisiFerm RS485 the ranges are as follows:


- Operating temperature: -20 .. +140°C
- Measurement temperature: -20 .. +85°C
- Calibration temperature: +5 .. +50°C
- User defined measurement temperature: -20 .. +85°C (default values)

i Note:
Temperature reading is active at any time, regardless of the current temperature.

111004302/01 page 80 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.11.2 Operating Hours, Counters and System Time

Start Number Reg1 / Reg2 Reg3 / Reg4 Reg5 / Reg6 Modbus Read Write
register of function access access
registers code
4676 6 Operating Operating Operating 3, 4 U/A/S none
hours hours above hours above
[h] (float) max max operating
measurement temperature
temperature [h] (float)
[h] (float)
4682 6 Number of Number of Heartbeat 3, 4 U/A/S none
Power ups Watchdog (uint)
(uint) resets
(uint)
4688 4 Number of Number of 3, 4 U/A/S none
SIP cycles CIP cycles
(uint) (uint)
4692 2 Number of 3, 4, 16 U/A/S S
autoclavings
(uint)
8232 2 System Time 3, 4, 16 U/A/S S
Counter [s]
(uint)

In register 4676 are stored:


• total operating hours
• operating hours above max measurement temperature (see chapter 2.11.1)
• the operating hours above max operating temperature (see chapter 2.11.1)

In register 4682 are stored:


• number of power ups
• number of watchdog resets
• number of heartbeats

In register 4688 are stored:


• number of sterilizations in place (SIP) (see chapter 2.11.6)
• number of cleanings in place (CIP) (see chapter 2.11.6)

In register 4692 is stored


• number of autoclavings
This register has no effect on the sensor and is only for the user to store the number of
autoclavings.

In register 8232 is stored


• system time counter.
When the sensor is powered up, the system time is set to 0. A value between 0 and 232 - 1 can
be written into this register. From this value, the sensor increments this value every second.
We recommend using as base date the so-called UNIX timestamp (hint:
www.epochconverter.com) which starts at 1st of January 1970 GMT. Be sure to update this
register if needed after every power up of the sensor.

i Note:
Accuracy of the system time, if not updated by the operator: The deviation of the system time is less
than one minute per week.

111004302/01 page 81 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.11.3 Warnings
A “Warning” is a notification message which still allows further functioning of the system. This message
alerts the operator of a possible problem that could lead to uncertain results.

2.11.3.1 Currently Active Warnings


The currently active warnings are stored in register 4736. For the definition of warnings, see chapter 0.

Start Number of Reg1 / Reg2 Reg3 / Reg4 Reg5 / Reg7 / Modbus Read Write
register registers (bitwise (bitwise Reg6 Reg8 function access access
defined) defined) (bitwise (bitwise code
defined) defined)
4736 8 Active Active Active Active 3, 4 U/A/S none
warnings warnings warnings warnings
measurement calibration and interface hardware
membrane

2.11.3.2 Definition of Warnings

Table 59 Definition of warnings “measurement”.


Bit # Code Description
(Hex)
0 (LSB) 0x01 PMC1 DO reading below lower limit
The oxygen reading is too low (DO < 0%-sat). Make a new zero-point calibration.
1 0x02 PMC1 DO reading above upper limit
The oxygen reading is too high (DO > 300%-sat). Either make a new calibration at
CP2. If not successful, replace the sensor cap.
25 0x02000000 PMC6 T reading below lower limit
The temperature is below the user defined measurement temperature range. If
outside this range, the sensor will not perform DO readings.
26 0x04000000 PMC6 T reading above upper limit
The temperature is above the user defined measurement temperature range. If
outside this range, the sensor will not perform DO readings.
31 0x80000000 Measurement not running
Causes that trigger this warning:
• Measurement Hold Mode is in Hold- or Off mode, see chapter 2.6.
• Sensor operating voltage range is not between 10-27 VDC
• The temperature measurement is outside the user defined temperature
range, see chapter 2.11.1.

111004302/01 page 82 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

Table 60 Definition of warnings “calibration and membrane”.


Bit # Code Description
(Hex)
0 (LSB) 0x01 PMC1 DO calibration recommended
Perform a calibration to ensure reliable measurement.
2 0x04 PMC1 DO replace sensor cap
The sensor cap of VisiFerm RS485 must be replaced and the sensor needs to be
recalibrated with the new cap. This warning is active if the sensor cap quality is
below 40%

Table 61 Definition of warnings “interface”.


Bit # Code Description
(Hex)
5 0x20 ECS value above upper limit
Reconfigure the ECS interface.
6 0x40 ECS current set-point not met
Check the wiring of the ECS interface.

Table 62 Definition of warnings “hardware”.


Bit # Code Description
(Hex)
0 (LSB) 0x01 Sensor supply voltage too low
The sensor supply voltage is too low for the sensor to operate correctly. Ensure
stable supply voltage within the sensor’s specifications.
1 0x02 Sensor supply voltage too high
The sensor supply voltage is too high for the sensor to operate correctly. Ensure
stable supply voltage within the sensor’s specifications.
9 0x0200 Replace Sensor recommended
The Sensor Quality Indicator is below 40%. The quality of the sensor is sufficient for
reliable measurement, but replacement of the sensor will be needed in near future

111004302/01 page 83 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.11.4 Errors
An “Error” message indicates a serious problem of the sensor which does not allow further proper
functioning of the sensor. This problem must be solved.

2.11.4.1 Currently Active Errors


The currently active errors are stored in register 4800.

Start Number Reg1 / Reg3 / Reg5 / Reg7 / Modbus Read Write


register of Reg2 Reg4 Reg6 Reg8 function access access
registers (bitwise (bitwise (bitwise (bitwise code
defined) defined) defined) defined)
4800 8 Active Active Active Active 3, 4 U/A/S none
errors errors errors errors
measure- calibration interface hardware
ment and
membrane

2.11.4.2 Definition of Errors

Table 63 Definition of errors “measurement”.


Bit # Code Description
(Hex)
0 (LSB) 0x00000001 PMC1 dissolved oxygen reading failure
Sensor cap is missing or the PMC1 has failed. In latter case, please call our
Technical support.
1 0x00000002 PMC1 DO p(O2) exceeds air pressure
Measured partial pressure of oxygen is higher than the air pressure set by the
operator. Reconfigure the air pressure parameter (PA2).
25 0x02000000 PMC6 T sensor defective
The internal temperature sensor is defective.

Table 64 Definition of errors “calibration and membrane”.


Bit # Code Description
(Hex)
0 (LSB) 0x01 PMC1 DO sensor cap missing
The DO sensor cap has been removed. Do not place a sensor showing this error in
a measurement solution. The sensor needs to be equipped with a sensor cap and
calibrated to perform reliable measurement.
1 0x02 Sensor failure (Sensor Cap Quality value < 10%)
Sensor Cap is defective or Sensor Cap Quality Indicator is below 10%. The quality
of the sensor cap is not sufficient for reliable measurement. Sensor cap needs to be
replaced.

111004302/01 page 84 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

Table 65 Definition of errors “interface”.


Bit # Code Description
(Hex)
Not available

Table 66 Definition of errors “hardware”.


Bit # Code Description
(Hex)
0 (LSB) 0x000001 Sensor supply voltage far too low
The sensor supply voltage is below 10V. Please check your power supply.
1 0x000002 Sensor supply voltage far too high
The sensor supply voltage is above 27V. Please check your power supply.
2 0x000004 Temperature reading far below min
The measured temperature is below the operation temperature (Reg. 4608)
3 0x000008 Temperature reading far above max
The measured temperature is above the operation temperature (Reg. 4608)
9 0x000200 Sensor Defective
Sensor is defective or Sensor Quality Indicator is below 10%. The quality of the
sensor is not sufficient for reliable measurement. Sensor needs to be replaced.
16 0x010000 Red channel failure
Measurement channel failure. Please call our Technical Support.
22 0x400000 EEPROM comm. (I2C) error Userend
Internal I2C communication error
Reset the sensor and try again. Please call our Technical Support.
24 0x01000000 Internal communication (I2C) failure Userend
Internal I2C communication error
Reset the sensor and try again. Please call our Technical Support.
25 0x02000000 Internal communication failure (frontend)
No communication between Frontend and Userend.
Reset the sensor and try again. Please call our Technical Support.
26 0x04000000 Stackoverflow
Internal memory failure
Reset the sensor and try again. Please call our Technical Support.

i Note:
If an internal error occurs, reset the sensor and try again or get in contact with our Technical Support.

111004302/01 page 85 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.11.5 PMCs output in case of sensor error / warning

2.11.5.1 Measurement values - Exceeds Temperature range, and DO measurement errors


In case that the current measurement temperature exceeds the user defined temperature range,
following warning bits are set:

Category Code Description


(Hex)
Measurement Warning 0x02000000 T reading below lower limit
0x04000000 T reading above upper limit
0x80000000 Measurement not running

In case that the current measurement temperature exceeds the operating temperature range or the
dissolved oxygen measurements is erroneous, following error bits must be set:

Category Code Description


(Hex)
Hardware Error 0x00000004 Temperature reading far below min
0x00000008 Temperature reading far above max
0x00010000 Red channel failure
Calibration Error 0x00000001 DO sensor cap missing
Measurement Error 0x00000001 DO reading failure

The measurement output values for these cases are defined in Table 67.
Table 67 Measurement values (PMCs) - Exceeds Temperature range, and DO measurement errors
Bit # Code Description Definition Measurement output values
(Hex) (float)
0 (LSB) 0x00000001 PMC1 DO -999.0
5 0x00000020 PMC6 T (temperature Current temp. value
measurement value)

2.11.5.2 Measurement values – no measurement within the frontend is running


In case that the current supply voltage is not within the defined supply voltage range, following warning
bits are set:

Category Code Description


(Hex)
Hardware Warning 0x00000001 Sensor supply voltage too low
0x00000002 Sensor supply voltage too high
Measurement Warning 0x80000000 Measurement not running

The measurement output values for these cases, are defined in Table 68.
Table 68 Measurement values (PMCs) in case no communication within the frontend is running
Bit # Code Description Definition Measurement output values
(Hex) (float)
0 (LSB) 0x00000001 PMC1 TCD -999.0
5 0x00000020 PMC6 T (temperature -999.0
measurement value)

111004302/01 page 86 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.11.5.3 Measurement values – Hardware related errors


In case that the current measurement temperature exceeds the operating temperature range or the
dissolved oxygen measurements is erroneous, following error bits must be set:

Category Code Description


(Hex)
Hardware Error 0x00000200 Sensor Defective
0x00400000 EEPROM comm. (I2C) error
0x01000000 Internal communication (I2C) failure
0x02000000 Internal communication failure (frontend)
0x04000000 Stackoverflow
Measurement Error 0x02000000 T sensor defective

The measurement output values for these cases, are defined in Table 69.
Table 69 Measurement values (PMCs) in case Hardware errors
Bit # Code Description Definition Measurement output values
(Hex) (float)
0 (LSB) 0x00000001 PMC1 TCD -999.0
5 0x00000020 PMC6 T (temperature -999.0
measurement value)

111004302/01 page 87 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.11.6 Reading Definition of SIP and CIP


VisiFerm RS485 is counting special cleaning events such as sterilizations or cleaning cycles by means
of tracking typical temperature profiles (see chapter 2.11.2).

Register 4988 defines the temperature profile for SIP (sterilization in place) and register 4996 the
temperature profile for CIP (cleaning in place). For the explanation the following values are given:

CIP temperature min: 80 °C CIP temperature max: 100 °C CIP time min: 30 minutes
SIP temperature min: 120 °C SIP temperature max: 140 °C SIP time min: 30 minutes

CIP / SIP time maximum values: 180 min

Figure 25: Definition of CIP and SIP cycles.


1) no SIP-cycle counted, because time too short less than 30 minutes.
2) CIP-cycle counted, because time greater than 30 minutes and in CIP temperature range.
3) SIP-cycle counted, because time greater than 30 minutes and in SIP temperature range.
4) no CIP-cycle counted, because of reaching the SIP-min limit.

Start Number Reg1 / Reg3 / Reg5 / Reg7 / Modbus Read Write


register of Reg2 Reg4 Reg6 Reg8 function access access
registers (float) (float) (float) code
4988 8 SIP SIP SIP Empty 3, 4 U/A/S S
Tempera- Tempera- Process
ture min ture max time min
[°C] [°C] [min]
4996 8 CIP CIP CIP Empty 3, 4 U/A/S S
Tempera- Tempera- Process
ture min -ture max time min
[°C] [°C] [min]

The unit of the temperatures is according to the selected unit of PMC6 (see 2.5.3.1 Definition of
PMC6).

111004302/01 page 88 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.11.7 Quality Indicator

2.11.7.1 Reading the Sensor Cap Quality


In register 5472 with a command length of 2, the sensor cap quality (0-100%) is given in 10% percent
steps. Hamilton recommends the replacement of the sensor at a value less than 40 % (see Table 60).

Start Number of Reg1 / Reg2 Modbus Read Write


register registers (float) function access access
code
5472 2 Sensor Cap Quality [%] 3, 4 U/A/S none

2.11.7.2 Reading the Measurement Quality Indicator


In register 5472 with a command length of 6, the sensor cap quality (0-100%) in 10% percent steps, the
sensor quality (0-100%) in 10% percent steps and the measurement quality is given.
Hamilton recommends the replacement of the sensor if the sensor cap quality (see Table 60) or the
sensor quality is less than 40 % (see Table 62).

Start Number Reg1 / Reg2 Reg3 / Reg4 Reg5 / Reg6 Modbus Read Write
register of (float) (float) (float) function access access
registers code
5472 6 Sensor Cap Sensor Measurement 3, 4 U/A/S none
Quality [%] quality [%] quality, see
Table 70

Table 70 Definition of measurement quality values


Value Description
100 Good: => 40 % sensor quality (no actions)
50 Bad: < 40 % sensor quality (maintenance required)
0 Defect: < 10 % sensor quality (senser defective)

111004302/01 page 89 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.12 Sensor Identification and Information

2.12.1 General Information


General information about the sensor is available as shown in the Table below.

Start Number Reg1 to Reg8 Example of content Modbus Read Write


register of 16 ASCII characters function access access
registers code
1024 8 Userend FW Date 2022-08-04 3, 4 U/A/S none
1032 8 Userend FW ODOUM102 3, 4 U/A/S none
1040 8 Userend BL Date 2022-05-16 3, 4 U/A/S none
1048 8 Userend BL BL5UX101 3, 4 U/A/S none
1056 8 Userend Ref 10104849 3, 4 U/A/S none
1064 8 Userend SN 1234 3, 4 U/A/S none
1072 8 Userend (space holder) not available 3, 4 U/A/S none
1080 8 Userend (space holder) not available 3, 4 U/A/S none
1088 8 Frontend FW Date 2013-02-08 3, 4 U/A/S none
1096 8 Frontend FW ODOFJ001 3, 4 U/A/S none
1104 8 Frontend BL Date not available 3, 4 U/A/S none
1112 8 Frontend BL not available 3, 4 U/A/S none
1120 8 Frontend Ref not available 3, 4 U/A/S none
1128 8 Frontend SN not available 3, 4 U/A/S none
1136 8 Frontend (space holder) not available 3, 4 U/A/S none
1144 8 Frontend (space holder) not available 3, 4 U/A/S none

2.12.2 Sensor Identification


Definition of registers containing sensor identification:

Start Number Reg1 to Reg8 Example of content Modbus Read Write


register of 16 ASCII characters function access access
registers code
1280 8 Sensor Ref 10118255/00 3, 4 U/A/S none
1288 8 Sensor name VisiFerm RS485 3, 4 U/A/S none
1296 8 Sensor Lot 1354271 3, 4 U/A/S none
1304 8 Sensor Lot date 2022-05-17 3, 4 U/A/S none
1312 8 Sensor SN 2076 3, 4 U/A/S none
1320 8 Manufacturer part 1 HAMILTON Bonaduz 3, 4 U/A/S none
1328 8 Manufacturer part 2 AG Switzerland 3, 4 U/A/S none
1336 8 Sensor type ARC ODO Sensor 3, 4 U/A/S none
1344 8 Power supply 10 - 27V 1.5W 3, 4 U/A/S none
1352 8 Pressure range 10 - 12000mbar 3, 4 U/A/S none
1360 8 Sensor ID 10118255-2076 3, 4 U/A/S none
1368 8 a-length 120 3, 4 U/A/S none
1376 8 (space holder) not available 3, 4 U/A/S none
1384 8 Electrical connection VP 8.0 3, 4 U/A/S none
1392 8 Process connection PG 13.5 3, 4 U/A/S none
1400 8 Sensing material ODO H3 3, 4 U/A/S none

111004302/01 page 90 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.12.3 Free User Memory Space


These registers can be used to store any customer specific information in the sensor. There are
different registers which can be read by everybody, but only specific operators can write them.

Start Number Reg1 to Reg8 Example of content Modbus Read Write


register of 16 ASCII characters function access access
registers code
1536 8 Userspace *FREE_USERSPACE* 3, 4, 16 U/A/S U/A/S
1544 8 Userspace *FREE_USERSPACE* 3, 4, 16 U/A/S U/A/S
1552 8 Userspace *FREE_USERSPACE* 3, 4, 16 U/A/S U/A/S
1560 8 Userspace *FREE_USERSPACE* 3, 4, 16 U/A/S U/A/S
1568 8 Userspace *FREE_USERSPACE* 3, 4, 16 U/A/S A/S
1576 8 Userspace *FREE_USERSPACE* 3, 4, 16 U/A/S A/S
1584 8 Userspace *FREE_USERSPACE* 3, 4, 16 U/A/S A/S
1592 8 Userspace *FREE_USERSPACE* 3, 4, 16 U/A/S A/S
1600 8 Measuring Point 10118255-2076 3, 4, 16 U/A/S S
1608 8 Userspace *FREE_USERSPACE* 3, 4, 16 U/A/S S
1616 8 Userspace *FREE_USERSPACE* 3, 4, 16 U/A/S S
1624 8 Userspace *FREE_USERSPACE* 3, 4, 16 U/A/S S
1632 8 Userspace *FREE_USERSPACE* 3, 4 U/A/S none
1640 8 Userspace *FREE_USERSPACE* 3, 4 U/A/S none
1648 8 Userspace *FREE_USERSPACE* 3, 4 U/A/S none
1656 8 Userspace *FREE_USERSPACE* 3, 4 U/A/S none
1664 8 ext. OEM Sensor Name *FREE_USERSPACE* 3, 4 U/A/S none
1672 8 ext. OEM PartNumber *FREE_USERSPACE* 3, 4 U/A/S none
1680 8 ext. OEM Customer 1 *FREE_USERSPACE* 3, 4 U/A/S none
1688 8 ext. OEM Customer 2 *FREE_USERSPACE* 3, 4 U/A/S none
1696 8 Userspace *FREE_USERSPACE* 3, 4 U/A/S none
1704 8 Userspace *FREE_USERSPACE* 3, 4 U/A/S none
1712 8 Userspace *FREE_USERSPACE* 3, 4 U/A/S none
1720 8 Userspace *FREE_USERSPACE* 3, 4 U/A/S none
1728 8 Userspace *FREE_USERSPACE* 3, 4 U/A/S none
1736 8 Userspace *FREE_USERSPACE* 3, 4 U/A/S none
1744 8 Userspace *FREE_USERSPACE* 3, 4 U/A/S none
1752 8 Userspace *FREE_USERSPACE* 3, 4 U/A/S none

An important register is 1600, as it is the description of the measuring point. This information is used by
ArcAir to identify individual sensors.

Attention:
The Free User Memory Space is located in a memory which allows in total max 1’000’000 write
operations.

111004302/01 page 91 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

2.13 System Commands

2.13.1 Recall Sensor’s Factory Settings


Using register 8192 you can recall the sensor manufacturer values (interfaces, calibration data and
passwords), except:
• SIP counter,
• CIP counter,
• Power up counter,
• Number of Watchdog Resets,
• Number of autoclaving’s,
• Operating hours,
• Operating hours above max measurement temperature,
• Operating hours above max operating temperature and
• all calibration counter values
• measuring point
remains unchanged.

By sending the recall value “911”, all configuration values will be set to default.

Start Number of Reg1 / Reg2 Modbus Read Write


register registers function code access access
8192 2 Recall by value 911 16 none S

111004302/01 page 92 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

3 Appendix

3.1 List of tables


Table 1 Modbus definition for data transmission ....................................................................................... 9
Table 2 RS485 definitions for Arc Sensors ............................................................................................... 9
Table 3 Definition Floating point Single Precision (4 bytes resp. 2 Modbus registers) ........................... 12
Table 4 Implemented Error-Codes .......................................................................................................... 14
Table 5 Definition of operator level and default passwords .................................................................... 15
Table 6 RS485 factory settings ............................................................................................................... 16
Table 7 Code for the baud rates. ............................................................................................................. 17
Table 8 Definition of the analog interface modes .................................................................................... 19
Table 9 Code for selection of the primary measurement channel ........................................................... 20
Table 10 Code for the 4-20 mA interface in case of errors and warnings. .............................................. 24
Table 11 Example: Read the settings for AO1 in case of warnings and errors....................................... 25
Table 12 Code for the ECS interface in case of errors and warnings. .................................................... 29
Table 13 Definition of PMC1 to 6 and SMC1 to 16 ................................................................................. 30
Table 14 Example to read Reg. 2048 ...................................................................................................... 30
Table 15 Definition of physical units ........................................................................................................ 31
Table 16 Example to read the physical unit in plain text ASCII in register 1952 ..................................... 31
Table 17 Example to set the physical unit of PMC1 to %-vol (0x00000010) .......................................... 32
Table 18 Example to read register 2410 ................................................................................................. 36
Table 19 Example to set the physical unit to °C (0x04) and the value of the external temperature ....... 37
Table 20 Definition of measurement status for Primary Measurement Channels ................................... 38
Table 21 Code for selection of the measurement hold mode.................................................................. 39
Table 22 Bitwise definition of all parameters PA1 to PA16 ..................................................................... 40
Table 23 Example to read the available Parameters with operator level S ............................................. 40
Table 24 The limits for the minimum number of sub-measurements in dependency of the measurement
interval ..................................................................................................................................................... 49
Table 25 Sensor Cap history - dataset .................................................................................................... 53
Table 26: Bitwise definition of the verification command ......................................................................... 56
Table 27 Example to set the value of the verification parameter 1 to 10 mS/cm .................................... 57
Table 28 Example to set the value of the verification parameter 2 to 200 mbar ..................................... 58
Table 29 Example to set the value of the verification parameter 3 to 10 % ............................................ 58
Table 30 Bitwise definition of CP1 to CP6 ............................................................................................... 59
Table 31 Example to read the available CPs .......................................................................................... 59
Table 32 Example to set the physical calibration unit to %-vol (0x00000010) ........................................ 60
Table 33 Bitwise definition of available calibration parameters and calibration coefficients. .................. 61
Table 34 Example to read the unit and value of CPA6 (Time Stamp) of CP6 ........................................ 66
Table 35 Example to read the unit and the value of CPA8 (pressure) of CP1 ........................................ 67
Table 36 Example to read PA2 ................................................................................................................ 68
Table 37 Example to set the physical unit of CPA8 value (pressure) of CP 1 ........................................ 68
Table 38 Example to read PA2 ................................................................................................................ 68
Table 39 Example to read the unit and value of CPA8 (pressure) of CP1 .............................................. 68
Table 40 Example to read PA2 ................................................................................................................ 68
Table 41 Example to read the unit and value of CPA9 (humidity) of CP2 .............................................. 69
Table 42 Example to read PA3 ................................................................................................................ 70
Table 43 Example to set the unit and value of CPA9 (humidity) of CP2 ................................................. 70
Table 44 Example to read PA3 ................................................................................................................ 70
Table 45 Example to read the unit and value of CPA9 (humidity) of CP2 .............................................. 70
Table 46 Example to read PA3 ................................................................................................................ 70
Table 47 Definition of the commands related to the product calibration ................................................. 75
Table 48 Example to start the product calibration procedure .................................................................. 75
Table 49 Example to read the current product calibration status ............................................................ 76
Table 50 Example to assign a calibration value to the above performed initial measurement ............... 76
Table 51 Example to read the current product calibration status, after performing a product calibration.
................................................................................................................................................................. 76
Table 52 Example to cancel an active product calibration or an initial measurement ............................ 76

111004302/01 page 93 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

Table 53 Example to read the current product calibration status ........................................................... 77


Table 54 Example to restore a standard calibration from an active product calibration ......................... 77
Table 55 Example to read the current product calibration status after a restoring a standard calibration
................................................................................................................................................................ 77
Table 56 Example to restore an available product calibration from an active standard calibration ....... 77
Table 57 Example to read the current product calibration status, after a restoring a product calibration
................................................................................................................................................................ 78
Table 58 Definition of the calibration status for registers 10312, 11032 and 13912 .............................. 79
Table 59 Definition of warnings “measurement”. .................................................................................... 82
Table 60 Definition of warnings “calibration and membrane”. ................................................................ 83
Table 61 Definition of warnings “interface”. ............................................................................................ 83
Table 62 Definition of warnings “hardware”. ........................................................................................... 83
Table 63 Definition of errors “measurement”. ......................................................................................... 84
Table 64 Definition of errors “calibration and membrane”. ..................................................................... 84
Table 65 Definition of errors “interface”. ................................................................................................. 85
Table 66 Definition of errors “hardware”. ................................................................................................ 85
Table 67 Measurement values (PMCs) - Exceeds Temperature range, and DO measurement errors . 86
Table 68 Measurement values (PMCs) in case no communication within the frontend is running ........ 86
Table 69 Measurement values (PMCs) in case Hardware errors ........................................................... 87
Table 70 Definition of measurement quality values ................................................................................ 89

111004302/01 page 94 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

3.2 List of figures


Figure 1 Modbus Protocol Data Unit. ........................................................................................................ 6
Figure 2 Modbus frame over Serial Line. .................................................................................................. 6
Figure 3 Bit sequence in RTU mode. ........................................................................................................ 7
Figure 4 RTU Message Frame. ................................................................................................................. 7
Figure 5 Valid frames with silent intervals. ................................................................................................ 7
Figure 6 RTU Message Frame. ................................................................................................................. 7
Figure 7 Data transmission of a frame. ..................................................................................................... 8
Figure 8 Definition of Holding Registers. ................................................................................................. 10
Figure 9 Example of reading holding registers 108 – 110. The contents of register 108 are read as the
two-byte values 0x022B. The contents of registers 109 – 110 are 0x00 00 and 0x0064. ...................... 10
Figure 10 Definition of Input Registers. ................................................................................................... 10
Figure 11 Example of reading input register 9. The contents of input register 9 are read as the two-byte
value 0x000A. .......................................................................................................................................... 11
Figure 12 Definition of Write Multiple Registers. ..................................................................................... 11
Figure 13 Example of writing the value 0x000A and 0x0102 to two registers starting at address 2. ...... 11
Figure 14 Example of linear 4-20mA output characteristics .................................................................... 22
Figure 15 Example of bilinear 4-20mA output characteristics ................................................................. 23
Figure 16 Typical characteristic of an electrochemical dissolved oxygen sensor at fixed temperature .. 26
Figure 17 Measurement current of a typical electrochemical DO sensor as a function of temperature . 27
Figure 18: Description of the measurement hold mode functionality ...................................................... 39
Figure 19 Solubility of oxygen as a function of temperature and salinity, in air saturated aqueous
solution. Temperature range is from 0-85 °C. ......................................................................................... 41
Figure 20 Influence of air pressure on the partial pressure of oxygen. Doubling the air pressure also
doubles the oxygen partial pressure........................................................................................................ 43
Figure 21 Comparison of the response of VisiFerm RS485 to a change from air to zero oxygen .......... 46
Figure 22 Comparison of the signal stability of VisiFerm RS485 ............................................................ 48
Figure 23 Standard 2-Point Calibration ................................................................................................... 59
Figure 24 Effect of the product calibration CP6 on an existing standard calibration function defined by
CP1 and CP2. .......................................................................................................................................... 74
Figure 25: Definition of CIP and SIP cycles. 1) no SIP-cycle counted, because time too short less
than 30 minutes. 2) CIP-cycle counted, because time greater than 30 minutes and in CIP temperature
range. 3) SIP-cycle counted, because time greater than 30 minutes and in SIP temperature range. 4)
no CIP-cycle counted, because of reaching the SIP-min limit. ............................................................... 88

111004302/01 page 95 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

Abbreviations

AO Analog Output Interface


DO Dissolved Oxygen
CP Calibration Point
ECS Electrochemical Sensor Interface
PA Parameter
VPA Verification Parameter
CPA Calibration Parameter
CCO Calibration Coefficient
PMC Primary Measurement Channel
SMC Secondary Measurement Channel
MC Measurement Channel
SIP Sterilization In Place
CIP Cleaning In Place

111004302/01 page 96 / 97
VisiFerm RS485 Arc Sensors Modbus RTU Programmer’s Manual (ODOUM102)

Hamilton Bonaduz AG
Via Crusch 8
CH-7402 Bonaduz
Switzerland

Tel. +41 58 610 10 10


Fax +41 58 610 00 10

[email protected] August 10th 2022


www.hamiltoncompany.com P/N: 111004302/01

111004302/01 page 97 / 97

You might also like