Appendix
OxyDetect Oxygen Deficiency Gas Detector
68
05311001B / Revision 4
This does NOT mean that a value to be stored in
a register is incorrect as Modbus has no means
of determining what is legal for any particular
register.
04
Slave device failure
An unrecoverable error occurred while the unit
was attempting to perform the requested action.
A3.5 Addressing
Addresses in Modbus ADU (application data unit), run from 1 – N, whereas addresses
in the Modbus PDU (protocol data unit) run from 0 – N. This appendix gives addresses
in the ADU model. Depending on the particular Modbus master, addresses may have
to be entered as they are given or have 1 subtracted from them. For example to read
register 101 an address of 100 may be needed.
A3.6 Floating point numbers
Floating point numbers (e.g. 12.34, –1012.32, etc.), are digitally represented using the
IEEE–754 format. Single precision floating point numbers are used throughout, and
they require 32 bits of data. Since a Modbus register holds 16 bits it takes 2 registers
to represent a floating-point number. We default to having the most significant word of
the float, bits 16 – 31, in the first register, and the least significant word, bits 0 – 15, in
the next register. This order can be reversed by setting a coil in the system control
mapping (Appendix A3.13).
A3.7 System data mapping
Read-only access to system data will be provided in a block of 100 registers. These
can be accessed as input registers using function code 04.
Register
Name
Comments
1 – 7
Serial number
ASCII text, 14 characters max,
terminated by a zero.
8 – 15
Software version
ASCII text, 16 characters max,
terminated by a zero.
A3.8 Transducer data mapping
The transducer will provide read-only access to its measurements and associated data
in blocks of input registers that can be read with function code 04.
The first block of registers provides just the measurement data from all transducers
allowing all measurements to be obtained with a single request. Each register provides
2 bytes of data, so it takes 2 registers each to store a 4 byte floating point
measurement value.