Modbus Communication Protocol 5.10
Modbus Communication Protocol 5.10
Modbus Communication Protocol 5.10
Communication Protocol
Version 5.10
RDO® PRO
RDO® PRO-X
RDO® TITAN,
ConTROLL® PRO
Aqua TROLL® 400, 600
(Instruments developed with System Spec 3)
Contents
1 Introduction ................................................................................................................. 6
2 Modbus Tutorial.......................................................................................................... 6
2.1 Modbus Description ............................................................................................ 6
2.2 Modbus Modes.................................................................................................... 7
2.3 Protocol Overview .............................................................................................. 7
General Message Formats ........................................................................................... 7
Data Addresses (Registers) ....................................................................................... 10
Function Codes ......................................................................................................... 11
Standard Message Formats ....................................................................................... 11
3 In-Situ Data Types .................................................................................................... 14
3.1 Short .................................................................................................................. 14
3.2 Unsigned Short.................................................................................................. 14
3.3 Long .................................................................................................................. 14
3.4 Unsigned Long .................................................................................................. 14
3.5 Float .................................................................................................................. 14
3.6 Double ............................................................................................................... 14
3.7 Character ........................................................................................................... 15
3.8 String ................................................................................................................. 15
3.9 Time .................................................................................................................. 15
4 Exception Codes ....................................................................................................... 16
5 Probe Register Map Layout ...................................................................................... 16
6 Probe Common Registers ......................................................................................... 17
6.1 Register Map Template Id ................................................................................ 19
6.2 Device Id ........................................................................................................... 19
6.3 Device Serial Number ....................................................................................... 19
6.4 Manufacture Date .............................................................................................. 19
6.5 Firmware, Boot Code, Hardware Versions ....................................................... 19
6.6 Max Data Logs .................................................................................................. 19
6.7 Total Data Log Memory ................................................................................... 19
6.8 Total Battery Ticks............................................................................................ 19
6.9 Last Battery Change .......................................................................................... 19
6.10 Device Name ..................................................................................................... 19
6.11 Site Name .......................................................................................................... 20
6.12 Coordinates ....................................................................................................... 20
6.13 Current Time ..................................................................................................... 20
6.14 Device Status .................................................................................................... 21
6.15 Used Battery Ticks ............................................................................................ 21
6.16 Serial Communication Configuration ............................................................... 22
Baud Rates ................................................................................................................ 22
RTU Settings ............................................................................................................. 23
ASCII Settings .......................................................................................................... 23
6.17 Max Message/Response Size ............................................................................ 23
6.18 Message Counters ............................................................................................. 23
6.19 Probe Connection Registers .............................................................................. 24
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 2 of 62
Max Probe Connections ............................................................................................ 24
Probe Connection Status ........................................................................................... 24
Controller/Probe Addressing .................................................................................... 24
6.20 Sensor Connection Registers ............................................................................ 24
Max Sensor Connections .......................................................................................... 24
Sensor Connection Status ......................................................................................... 24
6.21 Sensor Map Registers ....................................................................................... 24
Sensor Id Registers ................................................................................................... 24
Sensor Status Register............................................................................................... 25
Sensor Command Register ........................................................................................ 25
Sensor Data Register Map Version Registers ........................................................... 25
Sensor Data Register Map Offsets ............................................................................ 25
Sensor Data Cache Timeout (SIS-3 Only) ................................................................ 26
6.22 Current Loop Configuration (SIS-3 Only) ........................................................ 26
6.23 Logged Record Registers (SIS-3 Only) ............................................................ 27
Number of Logged Records ...................................................................................... 27
Requested Log Record Number ................................................................................ 27
Record Time Stamp .................................................................................................. 27
Parameter Measured Value and Data Quality ........................................................... 27
7 Sensor Common Registers ........................................................................................ 28
7.1 Sensor Id Register ............................................................................................. 29
7.2 Sensor Status Register....................................................................................... 29
7.3 Calibration Times.............................................................................................. 29
7.4 Warm-up Time .................................................................................................. 29
7.5 Fast Sample Rate ............................................................................................... 29
7.6 Alarm Parameter Number ................................................................................. 29
7.7 Alarm Enable Bits ............................................................................................. 29
7.8 Alarm Set Points ............................................................................................... 30
7.9 Parameter Blocks .............................................................................................. 30
8 Level TROLL / BaroTROLL Registers .................................................................... 31
8.1 Pressure Units Id ............................................................................................... 31
8.2 Temperature Units Id ........................................................................................ 32
8.3 Level Parameter Id ............................................................................................ 32
8.4 Level Units Id ................................................................................................... 32
8.5 Sensor Calibration Registers ............................................................................. 32
Specific Gravity ........................................................................................................ 33
Pressure Offset .......................................................................................................... 33
Level Reference ........................................................................................................ 33
8.6 Other Level TROLL Registers .......................................................................... 34
Total Measurements Counter .................................................................................... 34
Battery Measurements Counter ................................................................................. 34
Analog Control Registers .......................................................................................... 34
9 Aqua TROLL 200 Registers ..................................................................................... 35
9.1 Pressure Units Id ............................................................................................... 37
9.2 Temperature Units Id ........................................................................................ 37
9.3 Level Parameter Id ............................................................................................ 37
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 3 of 62
9.4 Level Units Id ................................................................................................... 37
9.5 Sensor Calibration Registers ............................................................................. 38
Specific Gravity ........................................................................................................ 38
Pressure Offset .......................................................................................................... 38
Level Reference ........................................................................................................ 39
Cell Offset and Cell Constant ................................................................................... 39
Local Gravity Constant ............................................................................................. 39
9.6 Other Aqua TROLL 200 Registers ................................................................... 40
Total Measurements Counter .................................................................................... 40
Battery Measurements Counter ................................................................................. 40
Parameter Buffer Timeout ........................................................................................ 40
Analog Control Registers .......................................................................................... 40
10 Aqua TROLL 100 Registers ..................................................................................... 41
10.1 Sensor Calibration Registers ............................................................................. 43
10.2 Other Aqua TROLL 100 Registers ................................................................... 44
Total Measurements Counter .................................................................................... 44
Battery Measurements Counter ................................................................................. 44
Parameter Buffer Timeout ........................................................................................ 44
Analog Control Registers .......................................................................................... 44
11 Aqua TROLL 400 and 600 Registers ....................................................................... 45
12 RDO PRO / RDO PRO-X / RDO TITAN Registers ................................................ 45
12.1 RDO PRO / RDO PRO-X Calibration Registers. ............................................. 46
Live Salinity Value ................................................................................................... 46
Default Salinity Value ............................................................................................... 46
Live Barometric Pressure .......................................................................................... 46
Default Barometric Pressure ..................................................................................... 46
100% Saturation Calibration Values ......................................................................... 46
0% Saturation Calibration Values ............................................................................. 47
Calibration Slope and Offset ..................................................................................... 47
Calibration Procedure ............................................................................................... 47
13 ConTROLL PRO ...................................................................................................... 49
13.1 Probe Measurement Cache................................................................................ 50
13.2 Control PRO Measurement Registers ............................................................... 52
13.3 Other Registers.................................................................................................. 52
14 RS485 Network Guidelines ...................................................................................... 53
Appendix A: Exception Codes ......................................................................................... 54
Appendix B: Device Ids ................................................................................................... 56
Appendix C: Sensor Ids ................................................................................................... 57
Appendix D: Parameter Ids .............................................................................................. 58
Appendix E: Unit Ids ....................................................................................................... 59
Appendix F: Data Quality Ids .......................................................................................... 61
Appendix G: DB-9 pin Pinout ......................................................................................... 62
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 4 of 62
Revision History
Date Revision Description
08/09/2005 Draft Initial draft
08/29/2005 000 Initial release
09/29/2005 1.0 Added DB-9 pin out (Appendix D)
01/30/2006 2.0 Added section numbers, added Level TROLL 300 device ID, added RS485
Network Guidelines
3/16/2006 3.0 Added Revision History, added Level TROLL 300 & BaroTROLL fast
sampling to device register table
4/3/2006 4.0 Added Modbus Tutorial
11/16/2006 5.0 Updated for the Aqua TROLL 200
8/25/2008 5.1 Updated for the LevelTROLL 100
10/8/2008 5.2 Corrected RDO partial pressure parameter id.
Added Aqua TROLL 100.
Added Level TROLL 200.
11/05/2008 5.3 Added unit conversions for pressure
06/17/2009 5.4 Added sensor connection registers, SIS3 logging and analog configuration
registers, ConTROLL PRO
10/16/2009 5.5 Added clarification for register map designation 4XXXX
05/07/2010 5.6 Updated for Rugged TROLL product line
02/15/2011 5.7 Updated Slave-Id format to include device address.
01/03/2011 5.8 Updated for RDO TITAN.
09/10/2013 5.9 Updated for RDO PRO-X
07/02/2015 5.10 Updated Data Quality IDs, common registers 0005 and 0008 to show the
differences between Sys. 1 and Sys 3 instruments. Removed references to
obsolete products.
In-Situ, the In-Situ logo, TROLL, BaroTROLL, RDO PRO, RDO PRO-X and
ConTROLL PRO are registered trademarks of In-Situ Inc. © 2015 by In-Situ Inc. All
rights reserved.
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 5 of 62
1 Introduction
The In-Situ Rugged TROLL 200 and Rugged BaroTROLL support Modbus with their
direct connect cable accessory. All other instruments referenced in this document
support Modbus as their primary communication protocol.
The remaining sections of this document provide the information required to program a
PLC/DCS and/or SCADA system to poll data from an In-Situ Modbus device. The user is
expected to have a working knowledge of Modbus (or refer to Section 2 below).
This document is not an official protocol document. More information about Modbus,
including protocol specifications, can be downloaded from www.modbus.org.
2 Modbus Tutorial
2.1 Modbus Description
Modbus is a lightweight communication protocol developed in the late 1970’s by
Modicon as a digital communication protocol for its PLC’s. The protocol requires very
little code space and processing power to implement and has become a worldwide
favorite for embedded devices. Modbus is royalty free and the specifications and
standards can be downloaded from the web.
Modbus is a transport protocol. What this means is that Modbus does not have any
protocol features that indicate what types of data are being transported in a message
packet. This is similar to TCP/IP, the internet protocol standard. If we use TCP/IP as an
example, consider that when a person connects to a web site, the primary data content
being moved via TCP/IP is HTML. When a person downloads an instrument manual
from an FTP site, typically the data content being moved is an Adobe PDF file. In both
cases, TCP/IP is used as the protocol. The TCP/IP protocol simply ensures all the bytes
(whatever they represent) are transferred from point A to point B correctly. Modbus is
similar in concept. It provides a transport mechanism to move data safely over a
communication link from a device to a computer.
Modbus can be used on a wide variety of communication links. In most applications, the
protocol is used over an RS485 or RS232 link. This is because these types of
communication links are inexpensive and efficient, perfectly suited for communication
with embedded devices. Modbus can also be used over wireless radios, satellites, TCP/IP
(Ethernet, token ring, etc.) and any other protocol-independent communication link.
Modbus is designed to be a Master/Slave protocol. This means that the protocol assumes
that a single Master computer will initiate control and commands to the slave devices.
The slave devices do not send any data on the communication link unless specifically
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 6 of 62
asked for that data by the Master. This is very different from a typical computer network
like Ethernet which is peer-to-peer. In a peer-to-peer network, any device can
communicate with any other device. A peer-to-peer network requires that network
arbitration takes place so that there is only one device transmitting a message at a time.
This requires more costly hardware usually not available in a small device network.
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 7 of 62
• Device Address: 1 byte field with a value ranging from 1 to 247. Broadcast
address is 0.
• Function Code: 1 byte field with a value range 1-127 representing the standard or
extended function code. The function code tells the device what operation is to
take place (i.e. Read/Write).
• Data Payload: 0-N bytes with information required to complete the requested
function code operation.
• CRC: 2 bytes with a value computed mathematically from the message bytes.
This value can be computed on both sides of the link and verified to ensure that
the bits of the message were transmitted and received correctly.
• Device Address: Echo of device address sent in the message to the device. A
broadcast message will not generate a response.
• Function Code: Echo of the function code sent to the device in the message packet.
If an error occurs, the top bit of the byte is set and the data payload is the 1 byte
error code from the device.
• Data Payload: 0-N bytes with response data from the device. For an error
response, the payload will be a 1 byte value 1-255.
• CRC: 2 bytes with a value computed mathematically from the message bytes.
This value can be computed on both sides of the link and verified to ensure that
the bits of the message were transmitted and received correctly.
The contents of the packet are converted to 2 byte hex characters 0-9 and A-F. For
example, the 1 byte device address 25 would be two bytes 0x3235 where 0x32 is the
ASCII character ‘2’ and 0x35 is the ASCII character ‘5’. This ensures that the message
contents never contain SOP or EOP characters.
The check value uses a different mathematical algorithm and is called an LRC.
• Start Packet: the ‘:’ character signals the start of an ASCII packet.
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 8 of 62
• Device Address: 2 byte field containing the device address 1-247 in hex
characters.
• Function Code: 2 byte field with a value range 1-127 representing the standard or
extended function code in hex characters.
• Data Payload: 0-N bytes with information required to complete the requested
function code operation. Each data byte is represented in its two byte hex
character format.
• LRC: 2 bytes represented in hex characters with a value computed mathematically
from the message bytes. This value can be computed on both sides of the link and
verified to ensure that the bits of the message were transmitted and received
correctly.
• End Packet: the <CR><LF> characters.
• Start Packet: the ‘:’ character signals the start of an ASCII packet.
• Device Address: 2 byte field containing the device address 1-247 in hex
characters.
• Function Code: 2 byte field with a value range 1-127 representing the standard or
extended function code in hex characters.
• Data Payload: 0-N bytes with response data from the device in hex characters.
For an error response, the payload will be a 1 byte value 1-255.
• LRC: 2 bytes represented in hex characters with a value computed mathematically
from the message bytes. This value can be computed on both sides of the link and
verified to ensure that the bits of the message were transmitted and received
correctly.
• End Packet: the <CR><LF> characters.
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 9 of 62
• Xac Id: 2 byte transaction id to provide for asynchronous messages.
• Protocol Id: 2 byte field – always 0.
• Length: 2 byte field represents number of bytes following.
• Device Address: 1 byte field with a value ranging from 1 to 247. Broadcast
address is 0.
• Data Payload: 0-N bytes with information required to complete the requested
function code operation.
Note: Register Maps typically use 1-based numbering system whereas the protocol
requires that the data address/register number passed to a device to be 0-based. In this
document, the register maps are 1-based.
Data addresses are associated with two atomic sizes of memory, 1 bit and 2 bytes (word).
These are divided into Read-Only Bits, Read/Write Bits, Read-Only Words and
Read/Write Words each with their own associated name as follows:
• Discretes: Read Only Bits
• Coils: Read/Write Bits
• Input Register: Read Only Word
• Holding Register: Read/Write Word
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 10 of 62
Function Codes
Function codes in a message packet tell the device what operation to perform. The
function code is always in the byte following the device address. Some of the standard
function codes are as follows:
01: Read Coil
02: Read Discrete
03: Read Holding Registers
04: Read Input Registers
05: Write Coil
06: Write single Holding Register
15: Write multiple Coils
16: Write multiple Holding Registers
17: Read slave device id
22: Mask write Holding Register
The slave id is an implementation defined response that will vary with manufacturer
and/or device.
Function codes from 65 to 72 and 100 to 110 can be used as custom function codes.
• Where Byte Count is the #bytes in the Data Payload (does not include CRC bytes).
Byte Count = 2 * Register Count.
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 11 of 62
2.3.1.6 Write Holding Registers
This command sets one or more registers in a device.
Message (9 + N bytes): Response (8 bytes):
Address 1 Byte 1-247 Address 1 Byte 1-247
Function Code 1 Byte 0x10 Function Code 1 Byte 0x10
Data Address 2 Bytes 0 to 0xFFFF Data Address 2 Bytes 0 to 0xFFFF
Register Count 2 Bytes 1 to 0x7B Register Count 2 Bytes 0 to 0x78
Byte Count 1 Byte 2 to 0xF0 CRC 2 Bytes
Data Payload N Bytes
CRC 2 Bytes
• Where Byte Count is the #bytes in the Data Payload (does not include CRC bytes).
Byte Count = 2*Register Count.
• The register count is limited to a single data format field. If an attempt is made ot
write a data field with an incorrect register count, the device will return a Modbus
exception response with error code 0x80.
Message : Response:
Address 1 Byte 1-247 Address 1 Byte 1-247
Function Code 1 Byte 0x16 Function Code 1 Byte 0x16
Data Address 2 Bytes 0 to 0xFFFF Data Address 2 Bytes 0 to 0xFFFF
And_Mask 2 Bytes 0 to 0xFFFF And_Mask 2 Bytes 0 to 0xFFFF
Or_Mask 2 Bytes 0 to 0xFFFF Or_Mask 2 Bytes 0 to 0xFFFF
CRC 2 Bytes CRC 2 Bytes
Example: - set bit 1 (LSB), clear bit 2, leave remaining bits unchanged
Old Value: 0x007E 0000 0000 0111 1110
And_Mask: 0xFFFC 1111 1111 1111 1100
Or_Mask: 0x0001 0000 0000 0000 0001
New Value: 0x007D 0000 0000 0111 1101
This command is useful in a bit mapped register where the Master wants to set some bits
of a register that are mapped to a feature without disturbing the other bits of the register
that might be mapped to a different feature.
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 12 of 62
2.3.1.8 Report Slave Id
This command query’s a device for id information.
Message (4 bytes): Response (N bytes):
Address 1 Byte 1-247 Address 1 Byte 1-247
Function Code 1 Byte 0x11 Function Code 1 Byte 0x11
CRC 2 Bytes Byte Count 1 Byte 0 to 0xFF
Slave Id 1 Byte 0 to 0xFF
Run Status 1 Byte 0 to 0xFF
Data Payload N Bytes
CRC 2 Bytes
The specific field values such as device id, baud id…etc are documented in the sections
that follow.
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 13 of 62
3 In-Situ Data Types
Modbus defines all I/O in terms of 2 byte blocks called registers. Modbus does not
formally define blocks for floating point values or strings. In the In-Situ implementation,
these fundamental types and others are handled by combining two or more registers. The
In-Situ data type implementations are defined in the following sections.
3.1 Short
A 2 byte signed integer contained in a single register data address. IEEE standard.
MSB SXXX XXXX XXXX XXXX LSB
Byte 0 Byte 1
where ‘S’ = sign bit.
3.5 Float
IEEE 4 byte numeric standard – 1 sign bit, 8-bit exponent, 23-bit mantissa.
MSB SXXX XXXX XMMM MMMM MMMM MMMM MMMM MMMM LSB
Byte 0 Byte 1 Byte 2 Byte 3
where ‘S’ = sign bit, ‘X’ = exponent bits and ‘M’ = mantissa bits.
3.6 Double
IEEE 8 byte numeric standard – 1 sign bit, 11-bit exponent, 64-bit mantissa.
MSB SXXX XXXX XXXX MMMM MMMM MMMM … MMMM MMMM LSB
Byte 0 Byte 1 Byte 2 Byte 7
where ‘S’ = sign bit, ‘X’ = exponent bits and ‘M’ = mantissa bits.
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 14 of 62
3.7 Character
A 2 byte Unicode character contained with a single register data address.
3.8 String
The number of consecutive registers in the register map will represent the maximum
string length in Unicode characters excluding any termination characters. For example, a
6 register string can have 6 Unicode characters. When reading/writing a string, all
register values must be transmitted. If the string to be written does not require the full
defined field length, the extra bytes must be padded with the value 0x0000 to reach full
length. A string termination character is not required, all registers may contain a character.
Failure of the Master device to transmit or request all registers of a string field will be
rejected by the Slave device with the Modbus exception error code 0x80.
3.9 Time
Represented by a 6 byte (3 register) number. The first 4 bytes represent the number of
seconds since 00:00:00 January 1, 1970 UTC, MSB first, not adjusted for DST. The 5 th
and 6th bytes are fractions of a second represented by the bits in powers of 2 starting with
the MSB. If a device does not have the ability to support the full fractions of a second
resolution available in the time format, unused bits must be set to 0.
Register (N) Register (N+1) Register (N+2)
Time Example: For a time value of 0x001A5E00C000, the bytes 0x001A5E00 represent
the whole number of seconds from the reference time. The bytes 0xC000 represent the
additional fractional number of seconds as shown in the diagram above. In this example,
the whole number of seconds represents 20 days and the fractional seconds represents
750ms.
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 15 of 62
4 Exception Codes
In-Situ supports the standard modbus exception codes but also provides additional
exception codes to assist with troubleshooting problems. The exception codes are listed
in Appendix A.
Parameter
1 Registers
38 - 45
Parameter
2 Registers
46 - 53
Parameter N
Registers
Registers
xx – –xx+8
490xx 400xx
All registers in this document are 1-based. This means the actual packets sent to the
devices must have a data address 1 less than what the register number is in this
document.
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 16 of 62
6 Probe Common Registers
The new In-Situ communication system implemented by the Level TROLL and
BaroTROLL provides for a set of data fields that are to be at the same register address for
all devices. These common holding registers are defined in the table below:
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 17 of 62
Probe Connection Registers
Register Size Mode Data Description
XXXX (registers) (R/W) Type
9297 1 R1 ushort Max Probe Connections (1-32)
9298-299 2 R1 32 bits Probe Connection Status
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 18 of 62
6.1 Register Map Template Id
This is a number that represents the version of the reserved register map supported by the
device. This provides for the modification of the reserved register map at a future date
and detection of this difference by the Master. This register is commonly referred to as
the System Interface Specification Level or (SIS Level).
6.2 Device Id
This is the id number for the device. Each device in the system will receive a unique id
number. See Appendix B for device ids.
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 19 of 62
• If an attempt is made to change the device name while logging, the device will
return an exception response with error code 0xA0 (Illegal write with running log).
6.12 Coordinates
These registers are used by the computer to store the coordinates of a device when taking
measurements. The device expects coordinates in meters and degrees.
• A negative latitude value represents south, a negative longitude value represents
east.
• If an attempt is made to change the coordinates while logging, the device will
return an exception response with error code 0xA0 (Illegal write with running log).
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 20 of 62
6.14 Device Status
The device status register holds general status information. Each set bit represents a
status value. There are a limited number of standardized predefined status values that all
devices will support. These predefined status values are contained in the lower register.
The upper register is reserved for device specific status values.
Bits 0-7 of the device status register are reserved for sensor status. These bits are the
logical OR of bits 0-7 of the sensor status register in each sensor connection.
Bits 8-15 of the device status register are reserved for common device status. Any bit in
this range that is not applicable to a device will be set to zero.
Bits 16-31 of the device status register are available for device-specific status. Any bit in
this range that is not utilized by a device will be set to zero.
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 21 of 62
6.16 Serial Communication Configuration
The 16 bits in this register are mapped to the communication parameters. The bits are
mapped as follows:
Bits Description
0 Modbus Transmission Mode
0 = RTU (default)
1=ASCII
1,2 & 3 Baud Rate Id
0 = 9600 (mandatory)
1 = 19200 (default)
2 = 38400
3 = 57600
4 = 115200
5 = 128000
6 = 230400
7 = 256000
4 Data Bits
0 = 7 data bits
1 = 8 data bits (default)
5,6 Parity Bits
0 = Even (default)
1 = Odd
2 = None
7 Stop Bits
0 = 1 Stop Bit (default)
1 = 2 Stop Bits
8-15 Unassigned
When the communication configuration register is changed, the Modbus response will be
sent to the Master at the current configuration (mode, baud, parity, data bits…etc). After
the response has been sent to the Master, the device will switch to the new settings.
The Master software must switch communications to the new settings after receiving a
positive Modbus response to the write message. The Master software should confirm the
new settings by reading back the device address and communication configuration
register.
Baud Rates
All devices will support 9600 and 19200 baud rates. A device will support all baud rates
from 9600 up to and including the maximum baud rate as specified by the Max Baud
Rate Id register.
• If the Master attempts to set the baud rate of a device to a non-supported value,
the device will respond with a Modbus exception error code 3 (Illegal Data
Value).
• Baud rates will be referenced in this document by the id 0-7.
• The Level TROLL and BaroTROLL support baud rates up to 3 (57600).
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 22 of 62
RTU Settings
Every device supporting serial communications will implement Modbus RTU. The
device will at a minimum support the standard settings defined below.
• 1 Start Bit
• 8 Data Bits
• 1 Parity Bit
• 1 Stop Bit
• Even Parity
Note: 7 data bits is not a valid setting for Modbus RTU communication. If an attempt is
made to write RTU mode with 7 data bits, the device will return an exception with error
code 0x84 (Write Illegal Value).
ASCII Settings
When implementing Modbus ASCII, the device will at a minimum support the standard
settings defined below.
• 1 Start Bit
• 7 Data Bits
• 1 Parity Bit
• 1 Stop Bit
• Even Parity
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 23 of 62
6.19 Probe Connection Registers
Max Probe Connections
Each controller can have attached to it up to 32 probes. For the attached probes, the
controller acts as a gateway, passing thru messages to the connected probes. The
controller maps unique addresses to each connected probe starting at the next higher
modbus address than the controller (if controller is at address 5, first probe is at address
6). Messages sent to the controller for a probe will be remapped to the protocol and
address of the attached probe. Responses from a probe to the Modbus master are
protocol and address converted before being sent back to the master.
Controller/Probe Addressing
Since controllers will map virtual device addresses to the connected probes, the
controller’s modbus address range must be less than the max 247 by the number of
allowed probes. For example, if a controller supports two probes, the max allows address
for the controller is 245 where address 246 is mapped to the first probe and address 247 is
mapped to the second probe.
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 24 of 62
Sensor Status Register
These registers duplicate the sensor status register provided in each sensor’s Sensor Data
Header Block (refer to the Sensors section). If a sensor connection is open, the probe
shall return a zero. If an attempt is made to access a sensor status register that is not
mapped to a sensor (one that exceeds the maximum number of sensors supported by the
probe), the probe will return an exception response with error code 0x02 (illegal data
address).
If an attempt is made to access a sensor command register that is not mapped to a sensor
(one that exceeds the maximum number of sensors supported by the probe), the probe
will return an exception response with error code 0x02 (illegal data address).
If an attempt is made to access a sensor status register that is not mapped to a sensor (one
that exceeds the maximum number of sensors supported by the probe), the probe will
return an exception response with error code 0x02 (illegal data address).
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 25 of 62
If a sensor connection is open (the sensor is not plugged in or is not part of the current
configuration) the probe shall return 0. This permits a valid block read of the mapped
sensor status registers regardless of the current configuration of the probe and sensors.
If an attempt is made to access a sensor connection register that is not mapped to a sensor
(one that exceeds the maximum number of sensors supported by the probe), the probe
will return an exception response with error code 0x02 (illegal data address).
The end of session timeout supersedes the cache timeout – if an end of session timeout
occurs, the cache for all sensors shall be cleared.
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 26 of 62
Where Parameter is the sensor parameter value determined by the Current Loop Sensor
Number and Current Loop Parameter Number registers. The device shall not allow the
Current Loop 20 mA Setpoint (I20) and Current Loop 4 mA Setpoint (I4) registers to be
set equal to one another.
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 27 of 62
7 Sensor Common Registers
All sensors expose a common set of registers to support basic information and common
settings such as alarming, calibration dates…etc. The sensor common register set
precedes the device specific measurement holding registers and is always located in the
same block as described in the following table:
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 28 of 62
0042 1 R1 ushort Data Quality Id
0043 2 R1/W3 float Off line sentinel value
0045 1 R1 16 bits Available Units
Parameter Block 2-N
Bit Description
0 Sensor high alarm
1 Sensor high warning
2 Sensor low warning
3 Sensor low alarm
4 Sensor calibration warning
5 Sensor malfunction
6-7 Reserved for future standard OR’ed sensor status bits (always return 0)
8, 9 Sensor mode (00 = Disabled, 01 = Enabled, 10 = Enabled-Continuous, 11 = Cal-Continuous)
10-15 Reserved for sensor-specific status (always return 0)
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 29 of 62
7.8 Alarm Set Points
Alarms and Warnings have trigger points called the “set value” and reset points called the
“clear value”.
• High clear set points cannot exceed their respective trigger set points (i.e., the
High Alarm clear value cannot be larger than the High Alarm set point).
• Low clear set points cannot be lower than their respective trigger set points.
• No restrictions exist on the relationships between the high/low alarm/warning set
points.
Measured Value – the value of the sensor parameter in the units specified in the
parameters Units Id register. The measured value might be cached for sensors that
require a long cycle time for a measurement.
Parameter Id – the id that is associated with the measured parameter from Appendix A.
This is not to be confused with the parameter number which represents the order of
parameters within the sensor block. The ability to write to the Parameter Id register is
device and parameter dependent.
Units Id – the id of the units used to represent the measured value. The entire range of
available units for a parameter do not have to be supported by a sensor. The ability to
write to the Units Id register is device and parameter dependent. If writing to the Units Id
register is supported, the device will convert the values in the Sentinel Value register and
Alarm Set Point registers (if the parameter is specified for alarm) to the specified units.
Data Quality Id – a value that contains additional information about the measured value.
For example, if the sensor is out of calibration, the quality value will indicate that the
measured value cannot be trusted. Quality ids are defined in Appendix C. Quality ids
cannot be OR’d together. The Quality value will represent only one possible quality state.
Sentinel Value – if the sensor is offline (i.e. for maintenance or calibration purposes) the
sensor will return the sentinel values for its parameters. These values can be defined by
the user such that they can be recognized as illegal values for the customers application.
The sentinel value allows the sensor and probe to continue to respond to requests for data
from a PLC or SCADA system while the sensor is offline which helps eliminate
numerous problems associated with reporting and alarming.
Available Units – Unit Ids are grouped in blocks of 16 with each block corresponding to
a measurement type. Each bit in the Available Units register corresponds to a unit id,
with bit 0 corresponding to the first unit id in the measurement block assigned to the
Parameter Id (see Appendix B). For example, if the Parameter Id is 5 (Level), bit 0
corresponds to unit id 33 (mm) and bit 15 corresponds to unit id 48. Each bit that is set
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 30 of 62
indicates that the corresponding unit id is available to be written to the parameter’s Units
Id register.
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 31 of 62
Pressure is factory calibrated in PSI. Conversion to other units is as follows.
F = 1.8 * C + 32
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 32 of 62
0100 2 R1/W3 float Specific Gravity (default = 1.0)
0102 2 R1/W3 float Pressure Offset, Po (default = 0.0)
0104 2 R1/W3 float Level Reference, Lr (default = 0.0)
0106 2 R1/W3 Float Pressure Reference (default = 0.0)
Specific Gravity
Pressures (PSI) are converted to level (meters) accounting for the specific gravity (SG) of
the fluid according to the following equation. Values will be in the range 0.1 to 10.0
inclusive. This register can be changed only when the device is not logging. If an
attempt is made to change this register while logging, the device will return an exception
response with error code 0xA0.
L(P) = (P * 0.70307) / SG
Pressure Offset
The pressure offset is subtracted from the pressure reading (P) to correct for offset errors
in the pressure sensor. This register can be changed only by using the WinSitu software
or 3rd party software using the In-Situ Software Development Kit (SDK). The measured
pressure is presented as:
Pm = P - Po
Level Reference
This value is used to reference a level reading to an independently established value.
Master software must ensure that the level value is written in the currently selected units.
When this register is written, the device will measure and record the current pressure
reading P m as reference pressure Pr in the currently selected pressure units. This value
will be converted to the appropriate units when the Level Units Id register is written. The
following equations are used to calculate level based on the level parameter id selection.
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 33 of 62
8.6 Other Level TROLL Registers
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 34 of 62
9 Aqua TROLL 200 Registers
The device specific measurement registers for the Aqua TROLL 200 are as follows:
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 35 of 62
Parameter # 4 – Actual Conductivity
0062 2 R1 float Measured value, AC
0064 1 R1 ushort Parameter Id = 9 (actual conductivity)
0065 1 R1/W2 ushort Units Id
65 = microsiemens per centimeter (default)
66 = millisiemens per centimeter
0066 1 R1 ushort Data Quality Id
0067 2 R1/W3 float Off line sentinel value (default = 0.0)
0069 1 R1 16 bits Available Units = 0x0003 (3)
Parameter # 5 – Specific Conductivity
0070 2 R1 float Measured value, SC
0072 1 R1 ushort Parameter Id = 10 (specific conductivity)
0073 1 R1/W2 ushort Units Id
65 = microsiemens per centimeter (default)
66 = millisiemens per centimeter
0074 1 R1 ushort Data Quality Id
0075 2 R1/W3 float Off line sentinel value (default = 0.0)
0077 1 R1 16 bits Available Units = 0x0003 (3)
Parameter # 6 – Salinity
0078 2 R1 float Measured value, S
0080 1 R1 ushort Parameter Id = 12 (salinity)
0081 1 R1/W2 ushort Units Id
97 = Practical Salinity Units PSU (default)
0082 1 R1 ushort Data Quality Id
0083 2 R1/W3 float Off line sentinel value (default = 0.0)
0085 1 R1 16 bits Available Units = 0x0001 (1)
Parameter # 7 – Total Dissolved Solids
0086 2 R1 float Measured value, TDS
0088 1 R1 ushort Parameter Id = 13 (TDS)
0089 1 R1/W2 ushort Units Id
113 = parts per million
114 = parts per thousand (default)
0090 1 R1 ushort Data Quality Id
0091 2 R1/W3 float Off line sentinel value (default = 0.0)
0093 1 R1 16 bits Available Units = 0x0003 (3)
Parameter # 8 – Resistivity
0094 2 R1 float Measured value, R
0096 1 R1 ushort Parameter Id = 11 (resistivity)
0097 1 R1/W2 ushort Units Id
81 = ohm-cm (default)
0098 1 R1 ushort Data Quality Id
0099 2 R1/W3 float Off line sentinel value (default = 0.0)
0101 1 R1 16 bits Available Units = 0x0001 (1)
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 36 of 62
Parameter # 9 – Density of Water
0102 2 R1 float Measured value, p
0104 1 R1 ushort Parameter Id = 14 (density of water)
0105 1 R1/W2 ushort Units Id
129 = g/cm3 (default)
0106 1 R1 ushort Data Quality Id
0107 2 R1/W3 float Off line sentinel value (default = 0.0)
0109 1 R1 16 bits Available Units = 0x0001 (1)
F = 1.8 * C + 32
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 37 of 62
9.5 Sensor Calibration Registers
Values in the configuration registers determine how the sensor parameters are calculated.
Specific Gravity
Pressures (PSI) are converted to level (meters) accounting for the specific gravity (SG) of
the fluid according to the following equation. Values will be in the range 0.1 to 10.0
inclusive. This register can be changed only when the device is not logging. If an
attempt is made to change this register while logging, the device will return an exception
response with error code 0xA0.
L(P) = (P * 0.70307) / SG
Pressure Offset
The pressure offset is subtracted from the pressure reading (P) to correct for offset errors
in the pressure sensor. This register can be changed only by using the WinSitu software
or 3rd party software using the In-Situ Software Development Kit (SDK). The measured
pressure is presented as:
Pm = P - Po
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 38 of 62
Level Reference
This value is used to reference a level reading to an independently established value.
Master software must ensure that the level value is written in the currently selected units.
When this register is written, the device will measure and record the current pressure
reading P m as reference pressure Pr in the currently selected pressure units. This value
will be converted to the appropriate units when the Level Units Id register is written. The
following equations are used to calculate level based on the level parameter id selection.
AC = K0 + K * ACf
Where ACf is the actual conductivity value computed using the factory calibrated cell
constant. For a single point calibration, K0 is set to zero.
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 39 of 62
9.6 Other Aqua TROLL 200 Registers
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 40 of 62
10 Aqua TROLL 100 Registers
The Aqua TROLL 100 does not support the pressure and level parameters. Its device
specific measurement registers are arranged as follows:
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 41 of 62
Parameter # 4 – Salinity
0062 2 R1 float Measured value, S
0064 1 R1 ushort Parameter Id = 12 (salinity)
0065 1 R1/W2 ushort Units Id
97 = Practical Salinity Units PSU (default)
0066 1 R1 ushort Data Quality Id
0067 2 R1/W3 float Off line sentinel value (default = 0.0)
0069 1 R1 16 bits Available Units = 0x0001 (1)
Parameter # 5 – Total Dissolved Solids
0070 2 R1 float Measured value, TDS
0072 1 R1 ushort Parameter Id = 13 (TDS)
0073 1 R1/W2 ushort Units Id
113 = parts per million
114 = parts per thousand (default)
0074 1 R1 ushort Data Quality Id
0075 2 R1/W3 float Off line sentinel value (default = 0.0)
0077 1 R1 16 bits Available Units = 0x0003 (3)
Parameter # 6 – Resistivity
0078 2 R1 float Measured value, R
0080 1 R1 ushort Parameter Id = 11 (resistivity)
0081 1 R1/W2 ushort Units Id
81 = ohm-cm (default)
0082 1 R1 ushort Data Quality Id
0083 2 R1/W3 float Off line sentinel value (default = 0.0)
0085 1 R1 16 bits Available Units = 0x0001 (1)
Parameter # 7 – Density of Water
0086 2 R1 float Measured value, p
0088 1 R1 ushort Parameter Id = 14 (density of water)
0089 1 R1/W2 ushort Units Id
129 = g/cm3 (default)
0090 1 R1 ushort Data Quality Id
0091 2 R1/W3 float Off line sentinel value (default = 0.0)
0093 1 R1 16 bits Available Units = 0x0001 (1)
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 42 of 62
10.1 Sensor Calibration Registers
Values in the configuration registers determine how the sensor parameters are calculated.
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 43 of 62
10.2 Other Aqua TROLL 100 Registers
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 44 of 62
11 Aqua TROLL 400 and 600 Registers
See the instrument manuals for device specific registers.
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 45 of 62
12.1 RDO PRO / RDO PRO-X Calibration Registers.
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 46 of 62
Writes to these registers are only accepted if the probe is in the calibration mode. The
probe will return exception 0x85 (invalid device command sequence) if an attempt is
made to write these registers when the calibration mode is off.
Writes to these registers are only accepted if the probe is in the calibration mode. The
probe will return exception 0x85 (invalid device command sequence) if an attempt is
made to write these registers when the calibration mode is off.
Calibration Procedure
The probe is calibrated using the following procedure.
4. Read the oxygen concentration and temperature parameters. When these values
have reached equilibrium, record them in their respective 100% saturation
calibration registers. Write the current live salinity and barometric pressure
readings to their respective calibration registers.
5. Prompt the user to place the probe in a 0% saturation environment. When these
registers have reached equilibrium, record them in their respective 0% saturation
calibration registers. If a zero calibration is not to be performed, these registers
can be set to zero or left at their previous values.
6. Write the Calibration Update command (0xE001) to the sensor command register.
The sensor will calculate a new slope and offset, will write the current time to the
last user calibration time register, and set the next user calibration time register to
zero (disabled). If the concentrations at 100% and 0% saturation are equal the
probe will return an exception response with code 0x97 (invalid calibration) and
not attempt to compute a new slope and offset due to possible division by zero. If
the slope does not calculate between 0.85 and 1.20 inclusive, or the offset does
not calculate between -0.2 and +0.2 inclusive, the probe will return an exception
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 47 of 62
response with code 0x97 (invalid calibration) The slope and offset will be
available for read but will not be committed to flash.
7. Optional: read the last user calibration time register, add the next calibration
interval, and write the result to the next user calibration time register.
8. Write the Calibration Mode Off command (0xE002) to the sensor command
register to place the sensor in normal operation. If the calibration mode is turned
off without a calibration update command, or the calibration command returned
an exception, the previous calibration shall be restored.
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 48 of 62
13 ConTROLL PRO
This series of devices act as both controllers and modbus gateways to the attached probes.
The controllers are vented and have an internal virtual sensor that supports Barometer
and Temperature parameters. The controller can support up to two attached probes at
factory default communication settings. A diagram of the physical configuration is
shown below:
Physical Layout
PLC/SCADA
ConTROLL PRO
Address N
Connection 1 Connection 2
Terminated Terminated
RS485 network RS485 network
Up To 1250 m Up To 1250 m
Probe A Probe B
Address 1 Address 1
The Controller will have a contiguous address block associated with it that begins at the
controller’s assigned device address and ends at the controller’s device address plus the
maximum number of connections supported by the controller. The Controller will
always occupy the same number of contiguous addresses regardless of the number of
probes actually connected.
For example, a controller that supports two probes and is set to address 5 will occupy
three network addresses assigned as follows:
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 49 of 62
The logical or network representation from a SCADA perspective is as shown below:
Physical Layout
PLC/SCADA
Modbus Network
The Controller will pass through any messages sent between the SCADA/PLC and Probe
A or B. The Controller must also poll the probes for measured values to control the
analog outputs, relays and internal log as well as the local display. When the Controller is
polling the probes for measured values, the SCADA/PLC will get a modbus exception
0x06 (slave device busy).
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 50 of 62
Example 2 – two RDO PRO’s attached to Probe A and B ports:
Register Size Mode & Data Description
XXXX (registers) Access Level Type
(R/W)
7100 2 R1 float Probe A: RDO PRO DO Concentration
7102 2 R1 float Probe A: RDO PRO Temperature
7104 2 R1 float Probe A: RDO PRO DO % Saturation
7106 2 R1 float Probe A: RDO PRO Oxygen Partial Pressure
7108 2 R1 float Probe B: RDO PRO DO Concentration
7110 2 R1 float Probe B: RDO PRO Temperature
7112 2 R1 float Probe B: RDO PRO DO % Saturation
7114 2 R1 float Probe B: RDO PRO Oxygen Partial Pressure
7116 2 R1 float ConTROLL PRO: Baro Pressure
7118 2 R1 float ConTROLL PRO: Temperature
7120-158 2 R1 float NOT USED
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 51 of 62
13.2 Control PRO Measurement Registers
The device specific measurement registers are as follows:
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 52 of 62
14 RS485 Network Guidelines
In-Situ uses RS485 as its main digital communications link. RS485/422 is often used in
an industrial setting as a small device network. There are some installation guidelines to
follow when configuring an RS485 network with implications to use with the Level
TROLL or Aqua TROLL.
RS485 Rule#1:
RS485 is a bus network. It does not work when configured in a star network topology.
This means that a user can have a network that looks like 1 long wire (up to 4000 ft) with
short stubs hanging off the main branch with a device. Each stub must be less than 1
meter in length. See picture below:
RS485 Rule#2
There should only be a 100 ohm terminating resistor at the end of the network. The bus is
terminated on the long main bus wire at the opposite end from the Master.
RS485 Rule#3
This rule is not really specific to RS485; rather it applies to any situation where you have
long wires running across the ground or in the ground connected back to a computer.
Always add an optical isolator to the link between the main bus wire and the Master
device. This reduces the chance that a nearby lightning strike will damage the Master
device.
RS485 Rule#4
Only 32 devices per network, including the Master.
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 53 of 62
Appendix A: Exception Codes
Standard Modbus Exception Codes
Code Name Description
1 Illegal Function The function code received in the query is not an allowable action
for the slave. If a Poll Program Complete command was issued,
this code indicates that no program function preceded it.
2 Illegal Data Address The data address received in the query is not an allowable address
for the slave.
3 Illegal Data Value A value contained in the query data field is not an allowable value
for the slave.
4 Slave Device Failure An unrecoverable error occurred while the slave was attempting to
perform the requested action.
5 Acknowledge The slave has accepted the request and is processing it, but a long
duration of time will be required to do so. This response is returned
to prevent a timeout error from occurring in the master. The master
can next issue a Poll Program Complete message to determine if
processing is completed.
This exception code may not be supported by the devices
6 Slave Device Busy The slave is engaged in processing a long–duration program
command. The master should retransmit the message
later when the slave is free.
This exception code may not be supported by the devices
8 Memory Parity Error Specialized use in conjunction with function codes 20 and 21
and reference type 6, to indicate that the extended file area
failed to pass a consistency check.
The server (or slave) attempted to read record file, but
detected a parity error in the memory. The client (or master)
can retry the request, but service may be required on the
server (or slave) device.
This exception code may not be supported by the devices
0x0A Gateway Path Specialized use in conjunction with gateways, indicates that
Unavailable the gateway was unable to allocate an internal communication
path from the input port to the output port for processing the
request. Usually means that the gateway is misconfigured or
overloaded.
This exception code may not be supported by the devices.
0x0B Gateway Target Device Specialized use in conjunction with gateways, indicates that no
Failed To Respond response was obtained from the target device. Usually means
that the device is not present on the network.
This exception code may be used by controllers, but is not used
by probes.
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 54 of 62
Extended Modbus Exception Codes
Code Name Description
0x80 Field Mismatch Mismatch between register number, count and field size.
0x81 Write Only Register Attempting to read a Write Only register.
0x82 Read Only Register Attempting to write a Read Only register.
0x83 Access Level Attempting to Read/Write a register with invalid access level.
0x84 Write Value Attempting to write an illegal field value.
0x85 Command Sequence Invalid device command register sequence.
0x86 File Sequence Invalid file command register sequence.
0x87 File Command Invalid file command.
0x88 File Number Invalid file number.
0x89 File Size Invalid file size.
0x8A File Data The file data block transferred to device is invalid.
0x8B File Interval Invalid file interval.
0x90 Gateway Error Invalid probe command on controller gateway.
0x91 Sensor Sequence Invalid sensor command register sequence.
0x92 Sensor Mode Invalid change to sensor mode, or attempting to read/write with an
invalid sensor mode set.
0x93 Sensor Config Attempting a sensor operation on a sensor port that is not part of the
current configuration.
0x94 Sensor Missing Attempting a sensor operation on a sensor port with no sensor
connected.
0x95 Sensor Invalid Attempting a sensor operation on a sensor port that has a sensor that is
not compatible with the sensor that was originally configured.
0x96 Sensor Firmware Attempting a sensor operation on a sensor with no application code.
0xA0 Data Log Register Attempting to write a register that is read-only during logging.
0xA1 Data Log Memory Data log memory is full.
0xA2 Data Log Directory Data log directory is full.
0xA3 Data Log Edit Log configuration cannot be edited.
0xA4 Data Log Sequence Invalid data log command sequence.
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 55 of 62
Appendix B: Device Ids
Device Ids
Device Id Description
1-32767 Reserved for probes
1 Level TROLL® 500
2 Level TROLL® 700
3 BaroTROLL® 500
4 Level TROLL® 300
5 Aqua TROLL® 200
7 Aqua TROLL® 600
10 Aqua TROLL® 100
11 Flow TROLL® 500
12 RDO® PRO
16 Rugged TROLL® 200
17 Rugged BaroTROLL®
18 Aqua TROLL® 400
19 RDO® TITAN
21 smarTROLL
26 Aqua TROLL® 600 Vented
30 Level TROLL® 400
31 RDO® PRO-X
33 Aqua TROLL® 500
34 Aqua TROLL® 500 Vented
32768- Reserved for controllers
65534
32768 Con TROLL PRO ACL
32769 Con TROLL PRO AC
32770 Con TROLL PRO DCL
32771 Wireless TROLL Com/smarTROLL Power Pack/Wireless Rugged TROLL Com
65535 Reserved for factory use
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 56 of 62
Appendix C: Sensor Ids
Sensor Ids
Sensor Id Description
1 Temperature
2 5 PSI full-scale gauge pressure with level and temperature (3.5m/11.5ft)
3 15 PSI full-scale gauge pressure with level and temperature (11m/35ft)
4 30 PSI full-scale gauge pressure with level and temperature (21m/69ft)
5 100 PSI full-scale gauge pressure with level and temperature (70m/231ft)
6 300 PSI full-scale gauge pressure with level and temperature (211m/692ft)
7 500 PSI full-scale gauge pressure with level and temperature (351m/1153ft)
8 1000 PSI full-scale absolute pressure with level and temperature (703m/2306.4 ft)
9 30 PSI full-scale absolute pressure with level and temperature (10.9m/35.8ft)
10 100 PSI full-scale absolute pressure with level and temperature (60.1m/197.3ft)
11 300 PSI full-scale absolute pressure with level and temperature (200.7m/658.7ft)
12 500 PSI full-scale absolute pressure with level and temperature (341.3m/1120ft)
13 30 PSI full-scale absolute pressure with temperature (barometric)
14 5 PSI full-scale gauge pressure with level, temperature, and conductivity (3.5m/11.5ft)
15 15 PSI full-scale gauge pressure with level, temperature, and conductivity (11m/35ft)
16 30 PSI full-scale gauge pressure with level, temperature, and conductivity (21m/69ft)
17 100 PSI full-scale gauge pressure with level, temperature, and conductivity (70m/231ft)
18 300 PSI full-scale gauge pressure with level, temperature, and conductivity (211m/692ft)
19 500 PSI full-scale gauge pressure with level, temperature, and conductivity (351m/1153ft)
20 Not Used
21 30 PSI full-scale absolute pressure with level, temperature, and conductivity (10.9m/35.8ft)
22 100 PSI full-scale absolute pressure with level, temperature, and conductivity (60.1m/197.3ft)
23 300 PSI full-scale absolute pressure with level, temperature, and conductivity (200.7m/658.7ft)
24 500 PSI full-scale absolute pressure with level, temperature, and conductivity (341.3m/1120ft)
25 16.5 PSI full-scale absolute pressure (barometric)
26 pH analog sensor
27 pH/ORP analog sensor
28 Dissolved Oxygen Clark Cell analog sensor
29 Nitrate (NO3-) analog sensor
30 Ammonium (NH4+) analog sensor
31 Chloride (Cl-) analog sensor
32 100 foot full-scale level with absolute pressure and temperature (30m/100ft)
33 250 foot full-scale level with absolute pressure and temperature (90m/250ft)
34 30 foot full-scale level with absolute pressure and temperature (9m/30ft)
35 Conductivity and temperature
36 5 PSI full-scale gauge pressure with temperature, head, and flow.
37 15 PSI full-scale gauge pressure with temperature, head, and flow.
38 30 PSI full-scale gauge pressure with temperature, head, and flow.
39 100 PSI full-scale gauge pressure with temperature, head, and flow.
40 300 PSI full-scale gauge pressure with temperature, head, and flow.
41 500 PSI full-scale gauge pressure with temperature, head, and flow.
42 Optical dissolved oxygen with temperature.
43 1 Bar (15 PSI) full-scale gauge pressure with level and temperature (11m/35ft)
44 2 Bar (30 PSI) full-scale gauge pressure with level and temperature (21m/70ft)
45 5 Bar (75 PSI) full-scale gauge pressure with level and temperature (52m/173ft)
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 57 of 62
Appendix D: Parameter Ids
Parameter Ids
Id Parameters
1 Temperature
2 Pressure
3 Depth
4 Level, Depth to Water
5 Level, Surface Elevation
6 Latitude
7 Longitude
8 Elevation
9 Actual Conductivity
10 Specific Conductivity
11 Resistivity
12 Salinity
13 Total Dissolved Solids
14 Density of Water
15 Specific Gravity
16 Barometric Pressure
17 pH
18 pH mV
19 ORP
20 Dissolved Oxygen concentration
21 Dissolved Oxygen % saturation
22 Nitrate (NO3-)
23 Ammonium (NH4+)
24 Chloride (Cl-)
25 Turbidity
26 Battery Voltage
27 Head
28 Flow
29 Total Flow
30 Oxygen Partial Pressure
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 58 of 62
Appendix E: Unit Ids
Unit Ids
Id Abbreviation Units
0 None
Temperature (1-16)
1 C Celsius
2 F Fahrenheit
3 K Kelvin
Pressure, Barometric Pressure (17-32)
17 PSI Pounds per square inch
18 Pa Pascals
19 kPa Kilopascals
20 Bar bars
21 mBar millibars
22 mmHg Millimeters of Mercury (0C)
23 inHg Inches of Mercury (0C)
24 cmH2O Centimeters of water (4C)
25 inH2O Inches of water (4C)
26 Torr Torr
Distance/Length (33-48)
33 mm millimeters
34 cm Centimeters
35 m Meters
36 km Kilometer
37 in Inches
38 ft Feet
Coordinates (49-64)
49 deg Degrees
50 min Minutes
51 sec Seconds
Conductivity (65-80)
65 uS/cm Microsiemens per centimeter
66 mS/cm Millisiemens per centimeter
Resistivity (81-96)
81 ohm-cm Ohm-centimeters
Salinity (97-112)
97 PSU Practical Salinity Units
Concentration (113-128)
113 ppm Parts per million
114 ppt Parts per thousand
115 ppm N Parts per million Nitrogen
116 ppm Cl Parts per million Chloride
117 mg/L milligrams per liter
118 µg/L micrograms per liter
119 µM/L micromoles per liter
Density (129-144)
129 g/cm3 Grams per cubic centimeter
pH (145-160)
145 pH pH
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 59 of 62
Id Abbreviation Units
Voltage (161-176)
161 µV micro Volts
162 mV milli Volts
163 V Volts
Dissolved Oxygen (DO) % Saturation (177-192)
177 % sat Percent saturation
Turbidity (193-208)
193 FNU formazin nephelometric units
194 NTU nephelometric turbidity units
195 FTU formazin turbidity units
Flow (209-224)
209 ft3/s Cubic feet per second
3
210 ft /min Cubic feet per minute
211 ft3/hr Cubic feet per hour
212 ft3/day Cubic feet per day
213 gal/s Gallons per second
214 gal/min Gallons per minute
215 gal/hr Gallons per hour
216 MGD Millions of gallons per day
217 m3/sec Cubic meters per second
218 m3/min Cubic meters per minute
219 m3/hr Cubic meters per hour
220 m3/day Cubic meters per day
221 l/s Liters per second
222 acre-ft/day Acre feet per day
Volume (225-240)
225 ft3 Cubic feet
226 gal Gallons
227 mgal Millions of gallons
228 m3 Cubic meters
229 l Liters
230 acre-ft Acre feet
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 60 of 62
Appendix F: Data Quality Ids
Instruments developed using System Spec. 1
Level TROLL® 700, 500, 400
BaroTROLL® 500
Aqua TROLL® 100, 200
Rugged TROLL® 200
Rugged BaroTROLL®
Data Quality Ids
Id Name Description
0 Normal Parameter measured without errors using a current calibration.
1 User Uncal Parameter measured without errors using an expired user calibration.
2 Factory Uncal Parameter measured without errors using an expired factory calibration.
3 Error Parameter measured with error, sentinel value supplied.
4 Warm-up Sensor is warming up, sentinel value supplied.
5 Disabled Sensor is disabled, sentinel value supplied.
6 Calibrating Sensor is calibrating, calibration value supplied.
7 Off Line Device is off line, sentinel value supplied.
8 Warning Parameter measured without errors but does not meet normal quality criteria.
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 61 of 62
Appendix G: DB-9 pin Pinout
Modbus Networking - Level TROLL, BaroTROLL, Aqua TROLL & RDO PRO-X Page 62 of 62