This section helps with the syntax for Modbus RTU Commands and Responses for the mostly used Rheonics parameters.
Reading the parameter 2, Temperature median, in float data type, from the SMET
Device Address= 01 = 0x01 (byte).
Address 40057-40001=56 = 0x0038 (word) (Address in Hex of the first register)
Functional code= 04=0x0004 (word)-Read input registers
Number of registers = 02=0x0002 (word)
CRC = CRC16 (Word) (Little Endian)
Command Structure:
Device Address 01 | Functional Code 04 | Address of the first register (Hi byte) 00 | Address of the first register (Lo Byte) 38 | Number of registers (Hi byte) 00 | Number of registers (Lo byte) 02 | CRC (Lo Byte) F0 | CRC (Hi Byte) 06 |
Command Response
Device Address 01 | Functional Code 04 | Number of Bytes 04 | Value of the first register (Hi Byte) 41 | Value of the first register (Lo Byte) B1 | Value of the second register (Hi Byte) 5C | Value of the second register (Lo Byte) 29 | CRC (Lo Byte) 47 | CRC (Hi Byte) 41 |
Data = 0x41B15C29 = 22.17 (Float)
Temperature median = 22.17 °C (default unit)
Reading the Parameter 1, Viscosity median, status
Device Address= 01 = 0x01 (byte).
Address 40044-40001=43 = 0x002B (word) (Address in Hex of the first register)
Functional code= 04=0x0004 (word)-Read input registers
Number of registers = 01=0x0001 (word)
CRC = CRC16 (Word) (Little Endian)
Command Structure:
Device Address 01 | Functional Code 04 | Address of the first register (Hi byte) 00 | Address of the first register (Lo Byte) 2B | Number of registers (Hi byte) 00 | Number of registers (Lo byte) 01 | CRC (Lo Byte) 41 | CRC (Hi Byte) C2 |
Command Response
Device Address 01 | Functional Code 04 | Number of Bytes 02 | Value of the first register (Hi Byte) 00 | Value of the first register (Lo Byte) 01 | CRC (Lo Byte) 78 | CRC (Hi Byte) F0 |
Data = 0x0001 = 1 (Uint16) Referring to the parameter status, this value means a general error occurred.
Reading the Parameter 8, Temperature raw, Int16 value
Device Address= 01 = 0x01 (byte).
Address 40099-40001=98 = 0x0062 (word) (Address in Hex of the first register)
Functional code= 04=0x0004 (word)-Read input registers
Number of registers = 01=0x0001 (word)
CRC = CRC16 (Word) (Little Endian)
Command Structure:
Device Address 01 | Functional Code 04 | Address of the first register (Hi byte) 00 | Address of the first register (Lo Byte) 62 | Number of registers (Hi byte) 00 | Number of registers (Lo byte) 01 | CRC (Lo Byte) 90 | CRC (Hi Byte) 14 |
Command Response
Device Address 01 | Functional Code 04 | Number of Bytes 02 | Value of the first register (Hi Byte) 08 | Value of the first register (Lo Byte) 9E | CRC (Lo Byte) 3F | CRC (Hi Byte) 58 |
Data = 0x089E = 2206 (Int16)
Since the register value is the temperature scaled by 100. The actual raw temperature value is 22.06 °C.
This register is useful for devices in which single point conversion requires too much computation.