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.