Modbus configuration
The ModBus Setup menu allows the configuration of the ModBus node address and
channel registers. Node Address should be set to the required 'Slave ID'. The following six
boxes are for specifying addresses of holding registers for reporting the transmitter
information. The value in each of these boxes must be greater than that in the previous
box. Note the both the 'Reg' address boxes (Raw and Scaled) are only the start addresses
for those registers, and gaps must be left after each of at least the number of channels
configured in the RC250.
Field
Description
Node Address
ModBus slave ID
Raw Reg Address
Base address of Holding Registers for raw value from the sensor
Scaled Reg
Address
Base address of Holding Registers for range-scaled value from the
sensor
Scaling Address
Address of Holding Register for scaling factor
Battery Address
Address of Holding Register with the most recent battery level
Nbr Tx Address
Address of Holding Register containing transmitter serial number
Age Address
Base address of Holding Registers containing age of each value.
When reading the values from the RC250, the only Function Code that can be used is 'Read
Holding Registers' (0x03). The registers containing the data start at the respective ‘Base
Addresses' described above. When reading channel values, it is possible to read several at a
time using the 'Quantity of Registers' field, but note that RC250 is limited to 50 registers at a
time.
There was a convention that is still sometimes used with ModBus which refers to the
Holding Registers in the form 4xxxx. With this scheme, what is referred to as 'Holding
Register 40001' is actually addressed within the protocol as register address 0000 - not
register address 0001. We always use the actual register address number that is encoded in
the Modbus message (in this case 0000), and we do not use the '4xxxx' prefix. Occasionally
you may come accross other manufacturer's systems that do not even correctly handle this
offset of 1.
Example request to retrieve holding register 100 (set up to contain the raw value from
channel 1) from node address 6:
Slave Address
06
Function
03
Starting Address Hi
00
Starting Address Lo
64
No. of Registers Hi
00
No. of Registers Lo
01
Page 6 of 8